/* home.css -- the homepage's styles (newsite/index.php), moved out of the page so browsers keep them (#492).
   The star field's shadows are the fixed values the page's seeded generator gave. */
    *,
    *::before,
    *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0
    }

    html {
      font-size: 18px;
      scroll-behavior: smooth
    }

    :root {
      --ih-bg: #060010;
      --ih-text: #fff;
      --ih-muted: rgba(255,255,255,0.6);
      --ih-dim: rgba(255,255,255,0.35);
      --ih-hr-a: #060010; --ih-hr-b: #0e0120; --ih-hr-c: #180408; --ih-hr-d: #361004; --ih-hr-e: #4e1c0a;
      --ih-surface: rgba(255,255,255,0.04);
      --ih-border: rgba(255,255,255,0.08);
      --ih-nav: rgba(255,255,255,0.1);
      --ih-nav-b: rgba(255,255,255,0.2);
      --ih-chat-in: rgba(8,2,18,0.94);
      --ih-chat-text: #fff;
      --ih-chat-ph: rgba(255,255,255,0.38);
      --ih-sheet: #180C2C;
      --ih-footer: #04000C;
      --ih-footer-text: rgba(255,255,255,0.4);
      --ih-chip-in: rgba(255,255,255,0.07);
      --ih-chip-bo: rgba(255,255,255,0.16);
      --ih-chip-tx: rgba(255,255,255,0.8);
      --ih-city-in: rgba(255,255,255,0.08);
      --ih-city-text: #fff;
      --ih-time-row: rgba(0,0,0,0.2);
      --ih-cal-in: rgba(255,255,255,0.06);
      --ih-stars-vis: 1;
      --ih-orb1: rgba(180,40,140,0.45);
      --ih-orb2: rgba(40,80,200,0.38);
      --ih-orb3: rgba(200,100,20,0.32);
      --ih-ch-amber-a:#160900; --ih-ch-amber-b:#221200;
      --ih-ch-crimson-a:#1C0600; --ih-ch-crimson-b:#130316;
      --ih-ch-indigo-a:#03001E; --ih-ch-indigo-b:#010115;
      --ih-ch-forest-a:#001508; --ih-ch-forest-b:#001E08;
      --ih-dg-hover: rgba(245,166,35,0.09);
      --ih-tool-hover: rgba(245,166,35,0.09);
      --ih-fpill-bg: rgba(255,255,255,0.05);
      --ih-horizon-glow: rgba(200,100,30,0.18);
      --ih-sec-label: rgba(245,166,35,0.6);
      --ih-ch-head: #fff;
      --ih-lpg-bg: rgba(0,0,0,0.58);
    }

    [data-theme="light"] {
      --ih-bg: #FEF3E2;
      --ih-text: #1A0800;
      --ih-muted: rgba(26,8,0,0.65);
      --ih-dim: rgba(26,8,0,0.42);
      --ih-hr-a: #FFF6EA; --ih-hr-b: #FFECD6; --ih-hr-c: #FFD8A8; --ih-hr-d: #EE8840; --ih-hr-e: #C45010;
      --ih-surface: rgba(180,80,10,0.05);
      --ih-border: rgba(180,80,10,0.13);
      --ih-nav: rgba(255,255,255,0.38);
      --ih-nav-b: rgba(180,80,10,0.26);
      --ih-chat-in: rgba(255,250,240,0.97);
      --ih-chat-text: #1A0800;
      --ih-chat-ph: rgba(26,8,0,0.38);
      --ih-sheet: #FFF5E6;
      --ih-footer: #3A1000;
      --ih-footer-text: rgba(255,255,255,0.6);
      --ih-chip-in: rgba(255,255,255,0.55);
      --ih-chip-bo: rgba(180,80,10,0.28);
      --ih-chip-tx: rgba(26,8,0,0.85);
      --ih-city-in: rgba(255,255,255,0.55);
      --ih-city-text: #1A0800;
      --ih-time-row: rgba(0,0,0,0.05);
      --ih-cal-in: rgba(180,80,10,0.06);
      --ih-stars-vis: 0;
      --ih-orb1: rgba(255,200,80,0.5);
      --ih-orb2: rgba(255,140,40,0.4);
      --ih-orb3: rgba(220,80,10,0.3);
      --ih-ch-amber-a:#FFFAE0; --ih-ch-amber-b:#FFF0C0;
      --ih-ch-crimson-a:#FFF0F0; --ih-ch-crimson-b:#FFE4E8;
      --ih-ch-indigo-a:#F2F4FF; --ih-ch-indigo-b:#E4E8FF;
      --ih-ch-forest-a:#F0FFF4; --ih-ch-forest-b:#E0F8E8;
      --ih-dg-hover: rgba(180,80,10,0.08);
      --ih-tool-hover: rgba(180,80,10,0.08);
      --ih-fpill-bg: rgba(180,80,10,0.04);
      --ih-horizon-glow: rgba(240,160,60,0.28);
      --ih-sec-label: rgba(180,80,10,0.7);
      --ih-ch-head: #1A0800;
      --ih-lpg-bg: rgba(0,0,0,0.45);
    }

    body {
      font-family: 'DM Sans', system-ui, sans-serif;
      background: var(--ih-bg);
      color: var(--ih-text);
      min-height: 100vh;
      overflow-x: hidden
    }

    /* ── HEADER ───────────────────────────────────────────────────────── */
    .ih-hdr {
      position: sticky;
      top: 0;
      z-index: 200;
      background: linear-gradient(90deg, #5a0e0e 0%, #8a3e0e 100%);
      height: 56px;
      display: flex;
      align-items: center;
      padding: 0 18px;
      gap: 10px;
      box-shadow: 0 2px 20px rgba(0, 0, 0, 0.6);
    }

    .ih-brand {
      display: flex;
      align-items: center;
      gap: 9px;
      flex: 1;
      text-decoration: none;
      color: #fff;
      min-width: 0
    }

    .ih-brand-icon {
      font-size: 24px;
      line-height: 1;
      flex-shrink: 0
    }

    .ih-brand-name {
      display: inline-block;
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      font-size: 17px;
      font-weight: 700;
      letter-spacing: 0.02em;
      color: #fff;
      white-space: nowrap
    }

    /* Phones (owner 2026-10-05): the settings (festival filter, theme, time,
       numerals, Amanta | Purnimanta) live in Preferences (⚙️, _prefs_panel.php),
       so the header is one row again: brand, language, sign-in, ⚙️, ☰. (Before,
       it wrapped to a second row so the sect button never disappeared, owner
       2026-07-31 -- it is now in Preferences instead.) */
    /* The off-screen side menu and a decorative orb made the page wider than
       a phone (it panned sideways on iPhone); clip, which keeps the sticky header. */
    html { overflow-x: clip; }
    @media (max-width: 600px) {
      .ih-hdr {
        flex-wrap: nowrap;
        padding: 0 10px;
        gap: 8px;
      }
      .ih-hbtn { padding: 6px 11px; }
    }

    .ih-hbtn {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      padding: 7px 14px;
      background: rgba(255, 255, 255, 0.12);
      border: 1px solid rgba(255, 255, 255, 0.3);
      border-radius: 22px;
      color: #fff;
      font-size: 13px;
      font-weight: 500;
      cursor: pointer;
      white-space: nowrap;
      transition: background 0.15s;
      font-family: 'DM Sans', sans-serif;
    }

    .ih-hbtn:hover {
      background: rgba(255, 255, 255, 0.24)
    }

    .ih-menu-btn {
      background: none;
      border: none;
      color: #fff;
      font-size: 24px;
      cursor: pointer;
      line-height: 1;
      display: flex;
      align-items: center;
      padding: 4px;
      flex-shrink: 0;
    }

    /* ── HERO ─────────────────────────────────────────────────────────── */
    .ih-mcy-card.ih-mcy-major { border-color: rgba(245,166,35,.75); box-shadow: 0 0 0 1px rgba(245,166,35,.35) inset; }
    .ih-greet { text-align: center; font-size: 1.12em; font-weight: 600; color: #F5A623; margin: .1em 0 .35em; text-wrap: balance; }
    .ih-greet a { color: inherit; text-decoration: none; }
    .ih-greet a:hover { text-decoration: underline; }
    [data-theme="light"] .ih-greet { color: #7A3000; }
    .ih-hero {
      position: relative;
      min-height: calc(100vh - 56px);
      background: linear-gradient(175deg, var(--ih-hr-a) 0%, var(--ih-hr-b) 25%, var(--ih-hr-c) 55%, var(--ih-hr-d) 80%, var(--ih-hr-e) 100%);
      display: flex;
      flex-direction: column;
      align-items: center;
      padding: 28px 16px 0;
      overflow: hidden;
    }

    /* ── STARS ────────────────────────────────────────────────────────── */
    .ih-stars-s,
    .ih-stars-m,
    .ih-stars-l {
      position: absolute;
      top: 0;
      left: 0;
      width: 1px;
      height: 1px;
      background: transparent;
      border-radius: 50%;
      pointer-events: none;
    }

    .ih-stars-s {
      box-shadow: 770px 113px #fff,1540px 59px #fff,1430px 161px #fff,1528px 107px #fff,874px 205px #fff,108px 203px #fff,766px 309px #fff,1504px 179px #fff,914px 65px #fff,1300px 255px #fff,38px 93px #fff,1160px 83px #fff,1018px 73px #fff,1276px 159px #fff,1102px 237px #fff,368px 159px #fff,610px 273px #fff,868px 115px #fff,54px 17px #fff,984px 11px #fff,1034px 97px #fff,652px 19px #fff,350px 225px #fff,1152px 11px #fff,818px 21px #fff,1140px 231px #fff,6px 197px #fff,552px 187px #fff,602px 301px #fff,1564px 27px #fff,1518px 45px #fff,656px 147px #fff,770px 237px #fff,1220px 143px #fff,534px 141px #fff,632px 39px #fff,938px 129px #fff,1132px 235px #fff,1086px 105px #fff,1376px 207px #fff,146px 21px #fff,1492px 311px #fff,1574px 277px #fff,72px 271px #fff,570px 329px #fff,1596px 7px #fff,654px 229px #fff,1392px 91px #fff,162px 233px #fff,548px 303px #fff,438px 309px #fff,1304px 27px #fff,778px 293px #fff,652px 31px #fff,158px 101px #fff,896px 275px #fff,242px 193px #fff,884px 255px #fff,902px 85px #fff,552px 183px #fff,1370px 113px #fff,1436px 299px #fff,110px 257px #fff,272px 127px #fff,1154px 333px #fff,516px 335px #fff,22px 249px #fff,1528px 175px #fff,1258px 129px #fff,1196px 119px #fff,1278px 189px #fff,1184px 3px #fff,1298px 1px #fff,20px 335px #fff,934px 217px #fff,264px 95px #fff,954px 221px #fff,828px 131px #fff,718px 17px #fff,944px 331px #fff,674px 157px #fff,612px 195px #fff,118px 149px #fff,280px 115px #fff,586px 253px #fff,460px 111px #fff,350px 125px #fff,256px 223px #fff,1522px 113px #fff,1524px 63px #fff,646px 241px #fff,680px 75px #fff,538px 1px #fff,28px 51px #fff,494px 69px #fff,592px 295px #fff,2px 61px #fff,644px 183px #fff,1494px 233px #fff,824px 55px #fff,1130px 149px #fff,364px 175px #fff,702px 41px #fff,224px 263px #fff,1426px 149px #fff,340px 315px #fff,1446px 145px #fff,1416px 175px #fff,1594px 177px #fff,1468px 315px #fff,1486px 245px #fff,752px 231px #fff,482px 161px #fff,292px 135px #fff,502px 337px #fff,728px 315px #fff,1162px 37px #fff,1548px 143px #fff,1502px 21px #fff,192px 199px #fff;
      animation: ihTwinkle 4s ease-in-out infinite alternate;
      opacity: var(--ih-stars-vis);
    }

    .ih-stars-m {
      width: 2px;
      height: 2px;
      box-shadow: 1330px 81px rgba(255,255,200,0.9),628px 35px rgba(255,255,200,0.9),1478px 69px rgba(255,255,200,0.9),936px 159px rgba(255,255,200,0.9),1498px 129px rgba(255,255,200,0.9),796px 139px rgba(255,255,200,0.9),878px 157px rgba(255,255,200,0.9),1552px 271px rgba(255,255,200,0.9),514px 81px rgba(255,255,200,0.9),4px 67px rgba(255,255,200,0.9),1174px 149px rgba(255,255,200,0.9),248px 79px rgba(255,255,200,0.9),618px 81px rgba(255,255,200,0.9),172px 59px rgba(255,255,200,0.9),446px 101px rgba(255,255,200,0.9),416px 175px rgba(255,255,200,0.9),1362px 1px rgba(255,255,200,0.9),276px 203px rgba(255,255,200,0.9),614px 5px rgba(255,255,200,0.9),1544px 151px rgba(255,255,200,0.9),186px 177px rgba(255,255,200,0.9),1532px 219px rgba(255,255,200,0.9),1230px 221px rgba(255,255,200,0.9),368px 135px rgba(255,255,200,0.9),1506px 1px rgba(255,255,200,0.9),548px 251px rgba(255,255,200,0.9),374px 53px rgba(255,255,200,0.9),792px 199px rgba(255,255,200,0.9),138px 33px rgba(255,255,200,0.9),716px 43px rgba(255,255,200,0.9),1566px 101px rgba(255,255,200,0.9),1088px 199px rgba(255,255,200,0.9),562px 193px rgba(255,255,200,0.9),1588px 43px rgba(255,255,200,0.9),1414px 77px rgba(255,255,200,0.9);
      animation: ihTwinkle 3s ease-in-out 1s infinite alternate;
      opacity: var(--ih-stars-vis);
    }

    .ih-stars-l {
      width: 3px;
      height: 3px;
      box-shadow: 1192px 119px rgba(255,240,150,1),1306px 97px rgba(255,240,150,1),220px 187px rgba(255,240,150,1),942px 5px rgba(255,240,150,1),1168px 95px rgba(255,240,150,1),770px 41px rgba(255,240,150,1),516px 83px rgba(255,240,150,1),406px 109px rgba(255,240,150,1),56px 55px rgba(255,240,150,1),618px 177px rgba(255,240,150,1),1132px 187px rgba(255,240,150,1),126px 229px rgba(255,240,150,1);
      animation: ihTwinkle 5s ease-in-out 0.5s infinite alternate;
      opacity: var(--ih-stars-vis);
    }

    @keyframes ihTwinkle {
      from {
        opacity: 0.3
      }

      to {
        opacity: 1
      }
    }

    .ih-horizon {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 220px;
      pointer-events: none;
      background: radial-gradient(ellipse at bottom center, var(--ih-horizon-glow) 0%, transparent 70%);
    }

    /* ── SCROLL HINT ────────────────────────────────────────────────── */
    .ih-scroll-hint {
      margin-top: auto;
      padding: 20px 0 24px;
      align-self: center;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 5px;
      color: var(--ih-dim);
      font-size: 11px;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      animation: ihBob 2s ease-in-out infinite;
      cursor: pointer;
      background: none;
      border: none;
      font-family: inherit;
      transition: color 0.2s;
    }
    .ih-scroll-hint:hover { color: #F5A623; }

    @keyframes ihBob {
      0%, 100% { transform: translateY(0) }
      50%       { transform: translateY(6px) }
    }

    /* ── CONTENT COLUMN ───────────────────────────────────────────────── */
    .ih-content {
      position: relative;
      z-index: 10;
      width: 100%;
      max-width: 740px;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 20px;
    }

    /* ── TOP ROW: OM + CITY ───────────────────────────────────────────── */
    .ih-top-row {
      display: flex;
      align-items: center;
      gap: 12px;
      flex-wrap: wrap;
      justify-content: center
    }

    .ih-om {
      font-family: 'Tiro Devanagari Sanskrit', serif;
      font-size: 34px;
      color: #F5A623;
      text-shadow: 0 0 24px rgba(245, 166, 35, 0.9), 0 0 48px rgba(245, 166, 35, 0.4);
      animation: ihOmGlow 3s ease-in-out infinite alternate;
      line-height: 1;
    }

    @keyframes ihOmGlow {
      from {
        text-shadow: 0 0 12px rgba(245, 166, 35, 0.6), 0 0 24px rgba(245, 166, 35, 0.3)
      }

      to {
        text-shadow: 0 0 26px rgba(245, 166, 35, 1), 0 0 52px rgba(245, 166, 35, 0.6), 0 0 72px rgba(255, 180, 50, 0.3)
      }
    }

    .ih-city-pill {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      background: rgba(255, 255, 255, 0.1);
      border: 1px solid rgba(245, 166, 35, 0.4);
      border-radius: 24px;
      padding: 8px 16px;
      cursor: pointer;
      transition: background 0.15s, border-color 0.15s;
      max-width: 280px;
    }

    .ih-city-pill:hover {
      background: rgba(245, 166, 35, 0.15);
      border-color: rgba(245, 166, 35, 0.7)
    }

    .ih-city-name {
      font-size: 14px;
      font-weight: 500;
      color: #fff;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap
    }

    .ih-city-edit {
      font-size: 12px;
      opacity: 0.6;
      color: #F5A623;
      flex-shrink: 0
    }

    /* ── DATE + NAV ───────────────────────────────────────────────────── */
    .ih-date-block {
      text-align: center;
      width: 100%
    }

    .ih-day-nav {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 20px
    }

    .ih-date-center {
      flex: 1;
      text-align: center
    }

    .ih-nav-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 42px;
      height: 42px;
      border-radius: 50%;
      background: var(--ih-nav);
      color: #fff;
      font-size: 20px;
      text-decoration: none;
      border: 1px solid var(--ih-nav-b);
      transition: background 0.2s;
      flex-shrink: 0;
    }

    .ih-nav-btn:hover {
      background: rgba(245, 166, 35, 0.35);
      border-color: #F5A623
    }

    .ih-chandra {
      font-size: clamp(22px, 5vw, 36px);
      font-weight: 700;
      color: #F5A623;
      text-shadow: 0 0 24px rgba(245, 166, 35, 0.5);
      letter-spacing: 0.01em;
      line-height: 1.25;
    }

    .ih-greg {
      font-size: 15px;
      color: var(--ih-muted);
      margin-top: 6px;
      font-weight: 400
    }

    .ih-tamil {
      font-size: 13px;
      color: rgba(245, 166, 35, 0.65);
      margin-top: 4px;
      font-weight: 400;
      letter-spacing: 0.02em;
    }

    /* ── FESTIVAL SECTION OVERLAY (index.php) ────────────────────────── */
    .ih-fsect-overlay {
      display: none;
      position: fixed;
      inset: 0;
      z-index: 500;
      background: var(--ih-lpg-bg);
      backdrop-filter: blur(5px);
      -webkit-backdrop-filter: blur(5px);
      align-items: flex-start;
      justify-content: flex-start;
    }
    .ih-fsect-overlay.open { display: flex; }
    .ih-fsect-sheet {
      background: var(--ih-sheet);
      border: 1px solid rgba(245, 166, 35, 0.3);
      border-radius: 0 0 16px 16px;
      padding: 20px 18px;
      min-width: 240px;
      max-width: 92vw;
      margin-top: 56px;
      margin-left: 0;
      box-shadow: 0 10px 36px rgba(0, 0, 0, 0.65);
    }
    .ih-fsect-title {
      font-size: 15px;
      font-weight: 700;
      color: #F5A623;
      margin-bottom: 14px;
    }
    [data-theme="light"] .ih-fsect-title { color: #C05000; }
    .ih-fsect-cells {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .ih-fsect-cell {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 11px 14px;
      background: rgba(255,255,255,0.05);
      border: 1px solid rgba(255,255,255,0.1);
      border-radius: 10px;
      cursor: pointer;
      font-family: 'DM Sans', sans-serif;
      font-size: 14px;
      color: rgba(255,255,255,0.8);
      text-align: left;
      transition: all 0.15s;
    }
    [data-theme="light"] .ih-fsect-cell { background: rgba(180,80,10,0.05); border-color: rgba(180,80,10,0.12); color: var(--ih-text); }
    .ih-fsect-cell:hover { background: rgba(245,166,35,0.12); border-color: rgba(245,166,35,0.35); }
    .ih-fsect-cell.on { background: rgba(245,166,35,0.18); border-color: rgba(245,166,35,0.55); color: #F5A623; }
    [data-theme="light"] .ih-fsect-cell.on { background: rgba(180,80,10,0.14); border-color: rgba(180,80,10,0.45); color: #C05000; }

    /* ── FESTIVAL BADGES ──────────────────────────────────────────────── */
    .ih-fests {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 8px
    }

    .ih-fbadge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 6px 15px;
      background: linear-gradient(135deg, rgba(245, 166, 35, 0.18), rgba(224, 123, 42, 0.12));
      border: 1px solid rgba(245, 166, 35, 0.5);
      border-radius: 22px;
      font-size: 14px;
      font-weight: 600;
      color: #F5A623;
      animation: ihFestPulse 2.2s ease-in-out infinite alternate;
    }

    .ih-fbadge-nil {
      opacity: 0.38;
      font-weight: 400;
      font-style: italic;
      animation: none;
      background: none;
      border-color: rgba(245, 166, 35, 0.2);
    }
    .ih-fbadge-good {
      background: linear-gradient(135deg, rgba(80,200,120,0.18), rgba(50,160,80,0.12));
      border-color: rgba(80,200,120,0.55);
      color: #4ACA78;
      animation: none;
    }
    .ih-fbadge-bad {
      background: linear-gradient(135deg, rgba(220,80,60,0.18), rgba(180,50,40,0.12));
      border-color: rgba(220,80,60,0.45);
      color: #E05040;
      animation: none;
    }

    @keyframes ihFestPulse {
      from {
        box-shadow: 0 0 4px rgba(245, 166, 35, 0.1)
      }

      to {
        box-shadow: 0 0 18px rgba(245, 166, 35, 0.5)
      }
    }

    /* ── SUN + MOON ───────────────────────────────────────────────────── */
    .ih-luminary-row {
      display: flex;
      gap: 14px;
      width: 100%
    }

    .ih-sun-card,
    .ih-moon-card {
      flex: 1;
      border-radius: 18px;
      padding: 18px;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 11px;
      position: relative;
      overflow: hidden;
    }

    .ih-sun-card {
      background: linear-gradient(145deg, #3d1a00 0%, #7a3300 40%, #B8540A 100%);
      border: 1px solid rgba(255, 165, 0, 0.35);
      box-shadow: 0 4px 28px rgba(255, 120, 0, 0.25), inset 0 1px 0 rgba(255, 200, 100, 0.1);
    }

    .ih-moon-card {
      background: linear-gradient(145deg, #050520 0%, #0d0d3a 40%, #1a1a5e 100%);
      border: 1px solid rgba(150, 150, 255, 0.3);
      box-shadow: 0 4px 28px rgba(100, 100, 255, 0.15), inset 0 1px 0 rgba(200, 200, 255, 0.08);
    }

    .ih-sun-card[role="button"],
    .ih-moon-card[role="button"] {
      cursor: pointer;
      transition: transform 0.18s, box-shadow 0.18s;
    }
    .ih-sun-card[role="button"]:hover {
      transform: translateY(-3px);
      box-shadow: 0 10px 36px rgba(255,120,0,0.45), inset 0 1px 0 rgba(255,200,100,0.15);
    }
    .ih-moon-card[role="button"]:hover {
      transform: translateY(-3px);
      box-shadow: 0 10px 36px rgba(100,100,255,0.35), inset 0 1px 0 rgba(200,200,255,0.12);
    }
    .ih-sun-card[role="button"]:active,
    .ih-moon-card[role="button"]:active {
      transform: scale(0.98);
      transition: transform 0.08s;
    }
    .ih-fbadge[role="button"] {
      cursor: pointer;
      transition: filter 0.15s, transform 0.15s;
    }
    .ih-fbadge[role="button"]:hover {
      filter: brightness(1.2);
      transform: translateY(-1px);
    }
    .ih-fbadge[role="button"]:active {
      transform: scale(0.94);
      filter: brightness(0.9);
    }

    .ih-sun-card::before,
    .ih-moon-card::before {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: 18px;
      pointer-events: none;
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.06) 0%, transparent 60%);
    }

    .ih-card-label {
      font-size: 11px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      opacity: 0.8;
      align-self: flex-start;
    }

    .ih-sun-card .ih-card-label {
      color: #FFD080
    }

    .ih-moon-card .ih-card-label {
      color: #B0B8FF
    }

    .ih-lum-body {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 11px;
      width: 100%
    }

    .ih-lum-left {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 7px;
      width: 100%
    }

    .ih-lum-center {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 7px
    }

    .ih-img-wrap {
      width: 76px;
      height: 76px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .ih-sun-img-wrap {
      animation: ihSunGlow 2.5s ease-in-out infinite alternate
    }

    .ih-moon-img-wrap {
      animation: ihMoonGlow 3.5s ease-in-out infinite alternate
    }

    @keyframes ihSunGlow {
      from {
        box-shadow: 0 0 18px 6px rgba(255, 160, 0, 0.45), 0 0 36px 12px rgba(255, 100, 0, 0.2)
      }

      to {
        box-shadow: 0 0 32px 14px rgba(255, 200, 50, 0.7), 0 0 64px 26px rgba(255, 130, 0, 0.35)
      }
    }

    @keyframes ihMoonGlow {
      from {
        box-shadow: 0 0 14px 5px rgba(150, 150, 255, 0.3), 0 0 28px 10px rgba(100, 100, 200, 0.12)
      }

      to {
        box-shadow: 0 0 26px 10px rgba(200, 200, 255, 0.55), 0 0 50px 20px rgba(150, 150, 255, 0.25)
      }
    }

    .ih-lum-img {
      width: 62px;
      height: 62px;
      object-fit: contain;
      filter: drop-shadow(0 0 10px rgba(255, 180, 0, 0.6))
    }

    .ih-moon-img-wrap .ih-lum-img {
      filter: drop-shadow(0 0 12px rgba(240,200,60,.55)) drop-shadow(0 0 24px rgba(240,180,30,.3))
    }

    .ih-rashi {
      font-size: 14px;
      font-weight: 600;
      text-align: center;
      line-height: 1.3;
      margin-top: 2px
    }

    .ih-sun-card .ih-rashi {
      color: #FFD080
    }

    .ih-moon-card .ih-rashi {
      color: #C0C8FF
    }

    .ih-rashi-sub {
      font-size: 11px;
      opacity: 0.55;
      margin-top: 2px
    }

    .ih-lum-times {
      display: flex;
      flex-direction: column;
      gap: 6px;
      width: 100%
    }

    .ih-time-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 8px 12px;
      border-radius: 10px;
      background: var(--ih-time-row);
      border: 1px solid rgba(255, 255, 255, 0.07);
    }

    .ih-time-icon {
      font-size: 16px;
      flex-shrink: 0
    }

    .ih-time-info {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 2px
    }

    .ih-time-label {
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      opacity: 0.5
    }

    .ih-time-val {
      font-size: 15px;
      font-weight: 700;
      font-variant-numeric: tabular-nums;
      letter-spacing: 0.02em
    }

    .ih-sun-card .ih-time-val {
      color: #FFE0A0
    }

    .ih-moon-card .ih-time-val {
      color: #C8D0FF
    }

    /* ── PANCHANG 4-CARD GRID ─────────────────────────────────────────── */
    .ih-pg-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      width: 100%
    }

    .ih-pg-card {
      border-radius: 16px;
      padding: 16px;
      display: flex;
      align-items: center;
      gap: 14px;
      border: 1px solid;
      position: relative;
      overflow: hidden;
      cursor: pointer;
      transition: transform 0.15s, box-shadow 0.15s;
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    }

    .ih-pg-card:hover {
      transform: translateY(-3px)
    }
    .ih-pg-card:active {
      transform: scale(0.97);
      box-shadow: none !important;
      transition: transform 0.08s;
    }

    .ih-pg-card::before {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: 16px;
      pointer-events: none;
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.07) 0%, transparent 50%);
    }

    .ih-pg-tithi {
      background: linear-gradient(145deg, rgba(80, 10, 20, 0.85), rgba(120, 20, 30, 0.7));
      border-color: rgba(255, 100, 120, 0.3)
    }

    .ih-pg-tithi:hover {
      box-shadow: 0 8px 28px rgba(220, 50, 80, 0.35)
    }

    .ih-pg-naksha {
      background: linear-gradient(145deg, rgba(10, 20, 80, 0.85), rgba(20, 40, 120, 0.7));
      border-color: rgba(100, 140, 255, 0.3)
    }

    .ih-pg-naksha:hover {
      box-shadow: 0 8px 28px rgba(80, 120, 255, 0.35)
    }

    .ih-pg-yoga {
      background: linear-gradient(145deg, rgba(5, 50, 30, 0.85), rgba(10, 80, 50, 0.7));
      border-color: rgba(80, 200, 130, 0.3)
    }

    .ih-pg-yoga:hover {
      box-shadow: 0 8px 28px rgba(50, 180, 110, 0.35)
    }

    .ih-pg-karana {
      background: linear-gradient(145deg, rgba(60, 40, 5, 0.85), rgba(100, 70, 10, 0.7));
      border-color: rgba(245, 200, 50, 0.3)
    }

    .ih-pg-karana:hover {
      box-shadow: 0 8px 28px rgba(230, 180, 40, 0.35)
    }

    .ih-pg-icon {
      font-size: 32px;
      flex-shrink: 0;
      line-height: 1;
      color: #F0CC50
    }
    .ih-pg-icon svg { filter: drop-shadow(0 0 7px rgba(240,200,60,.9)) drop-shadow(0 0 18px rgba(240,180,30,.6)); }

    .ih-pg-info {
      display: flex;
      flex-direction: column;
      gap: 3px;
      min-width: 0
    }

    .ih-pg-element-label {
      font-size: 10px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      opacity: 0.55
    }

    .ih-pg-name {
      font-size: 17px;
      font-weight: 700;
      line-height: 1.2;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis
    }

    .ih-pg-till {
      font-size: 11px;
      opacity: 0.5;
      white-space: nowrap;
      margin-top: 2px
    }

    .ih-pg-tithi .ih-pg-name {
      color: #FFB0C0
    }

    .ih-pg-naksha .ih-pg-name {
      color: #B0C8FF
    }

    .ih-pg-yoga .ih-pg-name {
      color: #90FFCC
    }

    .ih-pg-karana .ih-pg-name {
      color: #FFE080
    }

    /* Hero special timings (Parana, Mahapata, Sankranti Punyakala) */
    .ih-hero-timings {
      display: flex;
      flex-direction: column;
      gap: 6px;
      width: 100%;
      max-width: 480px;
      margin: 0 auto;
    }
    .ih-ht-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 7px 12px;
      border-radius: 10px;
      font-size: 13px;
      font-weight: 600;
      gap: 8px;
    }
    .ih-ht-good {
      background: rgba(80,220,120,0.12);
      border: 1px solid rgba(80,220,120,0.3);
      color: #6EFFA0;
    }
    .ih-ht-bad {
      background: rgba(220,80,80,0.12);
      border: 1px solid rgba(220,80,80,0.3);
      color: #FFB0B0;
    }
    .ih-ht-lbl { opacity: 0.8; font-weight: 500; }
    .ih-ht-val { font-variant-numeric: tabular-nums; }

    /* multi-entry panchang cards */
    .ih-pg-entries {
      display: flex;
      flex-direction: column;
      gap: 4px
    }

    .ih-pg-entry {
      display: flex;
      flex-direction: column;
      gap: 1px
    }

    .ih-pg-entry+.ih-pg-entry {
      padding-top: 6px;
      border-top: 1px solid var(--ih-border);
      margin-top: 2px
    }

    .ih-pg-entry .ih-pg-name {
      white-space: normal;
      overflow: visible;
      text-overflow: unset
    }

    /* Rashi-change badge on luminary cards */
    .ih-lum-rc {
      display: flex;
      align-items: center;
      gap: 6px;
      padding: 6px 10px;
      background: rgba(255, 215, 60, 0.12);
      border: 1px solid rgba(255, 215, 60, 0.38);
      border-radius: 8px;
      font-size: 11px;
      color: #FFD840;
      font-weight: 600;
      width: 100%;
      margin-top: 4px;
    }

    .ih-lum-rc-moon {
      background: rgba(180, 195, 255, 0.1);
      border-color: rgba(180, 195, 255, 0.38);
      color: #C0CFFF
    }

    .ih-rc-dot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      flex-shrink: 0;
      background: currentColor;
      animation: ihRCpulse 1.2s ease-in-out infinite;
    }

    @keyframes ihRCpulse {

      0%,
      100% {
        opacity: 1;
        transform: scale(1)
      }

      50% {
        opacity: 0.35;
        transform: scale(0.65)
      }
    }

    /* ── CHAT INPUT ───────────────────────────────────────────────────── */
    .ih-chat-wrap {
      width: 100%;
      position: relative
    }

    .ih-chat-border {
      border-radius: 32px;
      padding: 2px;
      background: linear-gradient(90deg, #F5A623 0%, #E07B2A 40%, #F5A623 80%, #FFD700 100%);
      background-size: 200% 100%;
      animation: ihChatBorderAnim 4s linear infinite;
      box-shadow: 0 0 26px rgba(245, 166, 35, 0.4);
    }

    @keyframes ihChatBorderAnim {
      0% {
        background-position: 0% 0%
      }

      100% {
        background-position: 200% 0%
      }
    }

    .ih-chat-inner {
      border-radius: 30px;
      background: var(--ih-chat-in);
      display: flex;
      align-items: center;
      padding: 4px 6px 4px 22px;
      gap: 8px;
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
    }

    .ih-chat-input {
      flex: 1;
      background: none;
      border: none;
      outline: none;
      color: var(--ih-chat-text);
      font-family: 'DM Sans', sans-serif;
      font-size: 16px;
      padding: 12px 0;
      min-width: 0;
    }

    .ih-chat-input::placeholder {
      color: var(--ih-chat-ph)
    }

    .ih-chat-submit {
      width: 46px;
      height: 46px;
      border-radius: 24px;
      border: none;
      cursor: pointer;
      background: linear-gradient(135deg, #F5A623, #E07B2A);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      font-size: 20px;
      transition: transform 0.12s;
      box-shadow: 0 2px 12px rgba(245, 166, 35, 0.4);
    }

    .ih-chat-submit:hover {
      transform: scale(1.1)
    }

    /* ── SUGGESTION CHIPS ─────────────────────────────────────────────── */
    .ih-chips {
      display: flex;
      gap: 9px;
      flex-wrap: wrap;
      justify-content: center
    }

    .ih-chip {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 9px 16px;
      background: var(--ih-chip-in);
      border: 1px solid var(--ih-chip-bo);
      border-radius: 22px;
      font-size: 13px;
      font-weight: 500;
      color: var(--ih-chip-tx);
      cursor: pointer;
      transition: all 0.15s;
      white-space: nowrap;
    }

    a.ih-chip, a.ih-dg-card { text-decoration: none; }
    a.ih-dg-card { color: inherit; }
    .ih-chip:hover {
      background: rgba(245, 166, 35, 0.2);
      border-color: rgba(245, 166, 35, 0.5);
      color: #F5A623
    }
    .ih-chip.ih-chip-all { font-weight: 700; border-color: rgba(245, 166, 35, 0.6); color: #F5A623; }

    /* ── WAVE DIVIDERS ────────────────────────────────────────────────── */
    /* ── Eclipse preview strip ─────────────────────────────────────────── */
    .ih-ecl-strip {
      background: linear-gradient(135deg, #0a0a22 0%, #12102e 100%);
      border-top: 1px solid rgba(130,90,240,0.18);
      border-bottom: 1px solid rgba(130,90,240,0.18);
      padding: 20px 16px;
    }
    .ih-ecl-inner { max-width: 960px; margin: 0 auto; }
    .ih-ecl-hd {
      text-align: center;
      font-size: 11px;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: rgba(210,190,255,0.88);
      margin-bottom: 13px;
    }
    .ih-ecl-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .ih-ecl-card {
      display: flex;
      align-items: center;
      gap: 11px;
      background: rgba(255,255,255,0.03);
      border: 1px solid rgba(130,90,240,0.16);
      border-radius: 10px;
      padding: 12px 14px;
      text-decoration: none;
      color: inherit;
      transition: background 0.2s, border-color 0.2s;
    }
    .ih-ecl-card:hover { background: rgba(255,255,255,0.07); border-color: rgba(160,120,255,0.38); }
    .ih-ecl-icon { font-size: 26px; flex-shrink: 0; line-height: 1; }
    .ih-ecl-body { flex: 1; min-width: 0; }
    .ih-ecl-kind { font-size: 10px; letter-spacing: 0.09em; text-transform: uppercase; color: rgba(200,178,255,0.78); margin-bottom: 2px; }
    .ih-ecl-name { font-size: 14px; font-weight: 600; color: #ede5ff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .ih-ecl-date { font-size: 12px; color: rgba(220,205,255,0.88); margin-top: 3px; }
    .ih-ecl-not  { font-size: 12px; color: rgba(195,178,220,0.72); margin-top: 3px; font-style: italic; }
    .ih-ecl-arr  { font-size: 13px; color: rgba(200,178,255,0.65); margin-left: 3px; flex-shrink: 0; }
    @media (max-width: 560px) { .ih-ecl-grid { grid-template-columns: 1fr; } }
    /* Light theme */
    [data-theme="light"] .ih-ecl-strip { background: linear-gradient(135deg, #f2eeff 0%, #ece4ff 100%); border-color: rgba(100,60,200,0.12); }
    [data-theme="light"] .ih-ecl-card  { background: rgba(100,60,200,0.04); border-color: rgba(100,60,200,0.14); }
    [data-theme="light"] .ih-ecl-card:hover { background: rgba(100,60,200,0.09); border-color: rgba(100,60,200,0.28); }
    [data-theme="light"] .ih-ecl-hd   { color: rgba(80,45,160,0.82); }
    [data-theme="light"] .ih-ecl-kind  { color: rgba(80,45,160,0.72); }
    [data-theme="light"] .ih-ecl-name  { color: #2e1070; }
    [data-theme="light"] .ih-ecl-date  { color: rgba(50,15,120,0.88); }
    [data-theme="light"] .ih-ecl-not   { color: rgba(100,80,130,0.45); }
    [data-theme="light"] .ih-ecl-arr   { color: rgba(80,45,160,0.28); }

    /* ── Astha / Modhyami preview strip ──────────────────────────────────── */
    .ih-ast-strip {
      background: linear-gradient(135deg, #0e0900 0%, #1a1100 100%);
      border-top: 1px solid rgba(220,165,50,0.18);
      border-bottom: 1px solid rgba(220,165,50,0.18);
      padding: 20px 16px;
    }
    .ih-ast-inner { max-width: 960px; margin: 0 auto; }
    .ih-ast-hd {
      text-align: center;
      font-size: 11px;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: rgba(252,218,118,0.88);
      margin-bottom: 13px;
    }
    .ih-ast-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; }
    .ih-ast-card {
      display: flex;
      align-items: center;
      gap: 11px;
      background: rgba(255,255,255,0.03);
      border: 1px solid rgba(210,155,50,0.16);
      border-radius: 10px;
      padding: 12px 14px;
      text-decoration: none;
      color: inherit;
      transition: background 0.2s, border-color 0.2s;
    }
    .ih-ast-card:hover { background: rgba(255,255,255,0.07); border-color: rgba(230,180,80,0.38); }
    .ih-ast-icon { font-size: 26px; flex-shrink: 0; line-height: 1; }
    .ih-ast-body { flex: 1; min-width: 0; }
    .ih-ast-kg { font-size: 10px; letter-spacing: 0.09em; text-transform: uppercase; color: rgba(250,200,88,0.78); margin-bottom: 2px; }
    .ih-ast-ks { font-size: 10px; letter-spacing: 0.09em; text-transform: uppercase; color: rgba(200,222,255,0.78); margin-bottom: 2px; }
    .ih-ast-kb { font-size: 10px; letter-spacing: 0.09em; text-transform: uppercase; color: rgba(184,224,232,0.78); margin-bottom: 2px; }
    .ih-ast-km { font-size: 10px; letter-spacing: 0.09em; text-transform: uppercase; color: rgba(255,138,107,0.78); margin-bottom: 2px; }
    .ih-ast-ksn { font-size: 10px; letter-spacing: 0.09em; text-transform: uppercase; color: rgba(168,160,216,0.78); margin-bottom: 2px; }
    .ih-ast-kag { font-size: 10px; letter-spacing: 0.09em; text-transform: uppercase; color: rgba(255,215,150,0.78); margin-bottom: 2px; }
    .ih-ast-name { font-size: 14px; font-weight: 600; color: #f5e8c5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .ih-ast-date { font-size: 12px; color: rgba(242,216,155,0.88); margin-top: 3px; }
    .ih-ast-not  { font-size: 12px; color: rgba(200,185,140,0.72); margin-top: 3px; font-style: italic; }
    .ih-ast-arr  { font-size: 13px; color: rgba(220,185,90,0.65); margin-left: 3px; flex-shrink: 0; }
    @media (max-width: 560px) { .ih-ast-grid { grid-template-columns: 1fr; } }
    [data-theme="light"] .ih-ast-strip { background: linear-gradient(135deg, #fffdf0 0%, #fff8dc 100%); border-color: rgba(170,110,0,0.12); }
    [data-theme="light"] .ih-ast-card  { background: rgba(170,110,0,0.04); border-color: rgba(170,110,0,0.14); }
    [data-theme="light"] .ih-ast-card:hover { background: rgba(170,110,0,0.09); border-color: rgba(170,110,0,0.28); }
    [data-theme="light"] .ih-ast-hd   { color: rgba(110,65,0,0.82); }
    [data-theme="light"] .ih-ast-kg   { color: rgba(130,75,0,0.72); }
    [data-theme="light"] .ih-ast-ks   { color: rgba(40,70,130,0.72); }
    [data-theme="light"] .ih-ast-kb   { color: rgba(42,107,120,0.72); }
    [data-theme="light"] .ih-ast-km   { color: rgba(168,48,0,0.72); }
    [data-theme="light"] .ih-ast-ksn  { color: rgba(58,47,112,0.72); }
    [data-theme="light"] .ih-ast-kag  { color: rgba(150,100,0,0.72); }
    [data-theme="light"] .ih-ast-name  { color: #3a1f00; }
    [data-theme="light"] .ih-ast-date  { color: rgba(80,40,0,0.88); }
    [data-theme="light"] .ih-ast-not   { color: rgba(130,105,60,0.45); }
    [data-theme="light"] .ih-ast-arr   { color: rgba(130,80,0,0.28); }

    /* ── Guru Purnima upcoming tile ── */
    .ih-gp-strip {
      background: linear-gradient(135deg, #060214 0%, #0b0422 100%);
      border-top: 1px solid rgba(180,140,255,0.14);
      border-bottom: 1px solid rgba(180,140,255,0.14);
      padding: 14px 16px;
    }
    .ih-gp-inner { max-width: 960px; margin: 0 auto; }
    .ih-gp-card {
      display: flex;
      align-items: center;
      gap: 18px;
      background: rgba(180,140,255,0.06);
      border: 1px solid rgba(180,140,255,0.2);
      border-radius: 14px;
      padding: 18px 22px;
      text-decoration: none;
      color: inherit;
      transition: background .2s, border-color .2s;
      position: relative;
      overflow: hidden;
    }
    .ih-gp-card::after { content:'🌕'; position:absolute; right:55px; top:50%; transform:translateY(-50%); font-size:60px; opacity:.05; pointer-events:none; line-height:1; }
    .ih-gp-card:hover { background: rgba(180,140,255,0.12); border-color: rgba(200,168,255,0.38); }
    .ih-gp-moon { font-size:38px; flex-shrink:0; line-height:1; filter:drop-shadow(0 0 10px rgba(200,168,255,0.55)); }
    .ih-gp-body { flex:1; min-width:0; }
    .ih-gp-kd   { font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:rgba(200,168,255,0.62); margin-bottom:3px; }
    .ih-gp-name { font-size:17px; font-weight:700; color:#fff; margin-bottom:4px; }
    .ih-gp-date { font-size:13px; color:rgba(200,168,255,0.88); }
    .ih-gp-loc  { font-size:12px; color:rgba(255,255,255,0.42); margin-top:2px; }
    .ih-gp-right { display:flex; flex-direction:column; align-items:flex-end; gap:8px; flex-shrink:0; }
    .ih-gp-badge { font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; background:rgba(180,140,255,0.2); color:rgba(210,185,255,0.9); padding:3px 9px; border-radius:5px; white-space:nowrap; }
    .ih-gp-arr  { font-size:20px; color:rgba(200,168,255,0.38); }
    [data-theme="light"] .ih-gp-strip { background: linear-gradient(135deg, #f5f0ff 0%, #ede5ff 100%); border-color: rgba(100,40,200,0.10); }
    [data-theme="light"] .ih-gp-card  { background: rgba(100,40,200,0.04); border-color: rgba(100,40,200,0.14); }
    [data-theme="light"] .ih-gp-card:hover { background: rgba(100,40,200,0.09); border-color: rgba(100,40,200,0.28); }
    [data-theme="light"] .ih-gp-name  { color: #0C001E; }
    [data-theme="light"] .ih-gp-kd    { color: rgba(74,29,176,0.58); }
    [data-theme="light"] .ih-gp-date  { color: rgba(74,29,176,0.85); }
    [data-theme="light"] .ih-gp-loc   { color: rgba(12,0,30,0.42); }
    [data-theme="light"] .ih-gp-badge { background: rgba(74,29,176,0.12); color: rgba(74,29,176,0.85); }
    [data-theme="light"] .ih-gp-arr   { color: rgba(74,29,176,0.3); }

    /* ── Ratha Yatra upcoming tile ── */
    .ih-ry-strip{background:linear-gradient(135deg,#0e0700 0%,#1a0e00 100%);border-top:1px solid rgba(240,168,64,.14);border-bottom:1px solid rgba(240,168,64,.14);padding:14px 16px}
    .ih-ry-inner{max-width:960px;margin:0 auto}
    .ih-ry-card{display:flex;align-items:center;gap:18px;background:rgba(240,168,64,.06);border:1px solid rgba(240,168,64,.2);border-radius:14px;padding:18px 22px;text-decoration:none;color:inherit;transition:background .2s,border-color .2s;position:relative;overflow:hidden}
    .ih-ry-card::after{content:'🎡';position:absolute;right:55px;top:50%;transform:translateY(-50%);font-size:60px;opacity:.05;pointer-events:none;line-height:1}
    .ih-ry-card:hover{background:rgba(240,168,64,.12);border-color:rgba(240,168,64,.38)}
    .ih-ry-icon{font-size:38px;flex-shrink:0;line-height:1;filter:drop-shadow(0 0 10px rgba(240,168,64,.55))}
    .ih-ry-body{flex:1;min-width:0}
    .ih-ry-kd{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(240,168,64,.62);margin-bottom:3px}
    .ih-ry-name{font-size:17px;font-weight:700;color:#fff;margin-bottom:4px}
    .ih-ry-date{font-size:13px;color:rgba(240,168,64,.88)}
    .ih-ry-loc{font-size:12px;color:rgba(255,255,255,.42);margin-top:2px}
    .ih-ry-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}
    .ih-ry-badge{font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;background:rgba(240,168,64,.2);color:rgba(245,190,90,.9);padding:3px 9px;border-radius:5px;white-space:nowrap}
    .ih-ry-arr{font-size:20px;color:rgba(240,168,64,.38)}
    [data-theme="light"] .ih-ry-strip{background:linear-gradient(135deg,#fffbf0 0%,#fff5dd 100%);border-color:rgba(184,80,0,.10)}
    [data-theme="light"] .ih-ry-card{background:rgba(184,80,0,.04);border-color:rgba(184,80,0,.14)}
    [data-theme="light"] .ih-ry-card:hover{background:rgba(184,80,0,.09);border-color:rgba(184,80,0,.28)}
    [data-theme="light"] .ih-ry-name{color:#1A0800}
    [data-theme="light"] .ih-ry-kd{color:rgba(184,80,0,.58)}
    [data-theme="light"] .ih-ry-date{color:rgba(184,80,0,.85)}
    [data-theme="light"] .ih-ry-loc{color:rgba(26,8,0,.42)}
    [data-theme="light"] .ih-ry-badge{background:rgba(184,80,0,.12);color:rgba(184,80,0,.85)}
    [data-theme="light"] .ih-ry-arr{color:rgba(184,80,0,.30)}

    /* ── Dev Diwali (Kartika Deepotsavam) upcoming tile ── */
    .ih-dd-strip{background:linear-gradient(135deg,#1a0700 0%,#2a0d00 100%);border-top:1px solid rgba(255,120,60,.16);border-bottom:1px solid rgba(255,120,60,.16);padding:14px 16px}
    .ih-dd-inner{max-width:960px;margin:0 auto}
    .ih-dd-card{display:flex;align-items:center;gap:18px;background:rgba(255,120,60,.07);border:1px solid rgba(255,120,60,.22);border-radius:14px;padding:18px 22px;text-decoration:none;color:inherit;transition:background .2s,border-color .2s;position:relative;overflow:hidden}
    .ih-dd-card::after{content:'🪔';position:absolute;right:55px;top:50%;transform:translateY(-50%);font-size:60px;opacity:.06;pointer-events:none;line-height:1}
    .ih-dd-card:hover{background:rgba(255,120,60,.13);border-color:rgba(255,120,60,.4)}
    .ih-dd-icon{font-size:38px;flex-shrink:0;line-height:1;filter:drop-shadow(0 0 10px rgba(255,150,80,.55))}
    .ih-dd-body{flex:1;min-width:0}
    .ih-dd-kckr{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,150,80,.65);margin-bottom:3px}
    .ih-dd-name{font-size:17px;font-weight:700;color:#fff;margin-bottom:4px}
    .ih-dd-date{font-size:13px;color:rgba(255,170,110,.88)}
    .ih-dd-loc{font-size:12px;color:rgba(255,255,255,.42);margin-top:2px}
    .ih-dd-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}
    .ih-dd-badge{font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;background:rgba(255,120,60,.22);color:rgba(255,190,150,.9);padding:3px 9px;border-radius:5px;white-space:nowrap}
    .ih-dd-arr{font-size:20px;color:rgba(255,120,60,.4)}
    [data-theme="light"] .ih-dd-strip{background:linear-gradient(135deg,#fff6f0 0%,#ffe9dd 100%);border-color:rgba(200,70,0,.12)}
    [data-theme="light"] .ih-dd-card{background:rgba(200,70,0,.05);border-color:rgba(200,70,0,.16)}
    [data-theme="light"] .ih-dd-card:hover{background:rgba(200,70,0,.10);border-color:rgba(200,70,0,.3)}
    [data-theme="light"] .ih-dd-name{color:#240800}
    [data-theme="light"] .ih-dd-kckr{color:rgba(200,70,0,.62)}
    [data-theme="light"] .ih-dd-date{color:rgba(200,70,0,.88)}
    [data-theme="light"] .ih-dd-loc{color:rgba(36,8,0,.42)}
    [data-theme="light"] .ih-dd-badge{background:rgba(200,70,0,.14);color:rgba(200,70,0,.88)}
    [data-theme="light"] .ih-dd-arr{color:rgba(200,70,0,.32)}

    /* ── Timely Articles strip ── */
    .ih-hta-strip {
      background: linear-gradient(135deg, #040a12 0%, #07101d 100%);
      border-top: 1px solid rgba(80,140,220,0.14);
      border-bottom: 1px solid rgba(80,140,220,0.14);
      padding: 20px 16px;
    }
    .ih-hta-inner { max-width: 960px; margin: 0 auto; }
    .ih-hta-hd {
      text-align: center;
      font-size: 11px;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: rgba(140,195,255,0.75);
      margin-bottom: 13px;
    }
    .ih-hta-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; }
    .ih-hta-card {
      display: flex;
      align-items: center;
      gap: 11px;
      background: rgba(255,255,255,0.03);
      border: 1px solid rgba(90,145,220,0.16);
      border-radius: 10px;
      padding: 13px 14px;
      padding-top: 18px;
      text-decoration: none;
      color: inherit;
      transition: background 0.2s, border-color 0.2s;
      position: relative;
    }
    .ih-hta-card:hover { background: rgba(255,255,255,0.07); border-color: rgba(110,170,255,0.35); }
    .ih-hta-badge {
      position: absolute;
      top: -8px;
      left: 12px;
      font-size: 9px;
      font-weight: 700;
      letter-spacing: 0.07em;
      text-transform: uppercase;
      background: rgba(215,90,30,0.9);
      color: #fff;
      padding: 2px 7px;
      border-radius: 4px;
    }
    .ih-hta-badge-g { background: rgba(30,155,100,0.9); }
    .ih-hta-badge-n { background: rgba(65,110,200,0.82); }
    .ih-hta-icon { font-size: 26px; flex-shrink: 0; line-height: 1; }
    .ih-hta-body { flex: 1; min-width: 0; }
    .ih-hta-title { font-size: 14px; font-weight: 600; color: #ddeeff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .ih-hta-sub { font-size: 12px; color: rgba(175,208,245,0.68); margin-top: 3px; line-height: 1.35; }
    .ih-hta-arr { font-size: 13px; color: rgba(120,175,240,0.50); margin-left: 3px; flex-shrink: 0; }
    @media (max-width: 560px) { .ih-hta-grid { grid-template-columns: 1fr; } }
    [data-theme="light"] .ih-hta-strip { background: linear-gradient(135deg, #f0f6ff 0%, #e8f0fd 100%); border-color: rgba(60,100,200,0.10); }
    [data-theme="light"] .ih-hta-card  { background: rgba(60,100,200,0.04); border-color: rgba(60,100,200,0.12); }
    [data-theme="light"] .ih-hta-card:hover { background: rgba(60,100,200,0.09); border-color: rgba(60,100,200,0.28); }
    [data-theme="light"] .ih-hta-hd    { color: rgba(40,80,160,0.72); }
    [data-theme="light"] .ih-hta-title { color: #0a2050; }
    [data-theme="light"] .ih-hta-sub   { color: rgba(30,60,130,0.72); }
    [data-theme="light"] .ih-hta-arr   { color: rgba(40,80,170,0.35); }

    .ih-wave {
      line-height: 0;
      overflow: hidden;
      pointer-events: none;
      display: block
    }

    .ih-wave svg {
      display: block;
      width: 100%
    }

    /* ── CHAPTERS: scroll-reveal ──────────────────────────────────────── */
    .ih-chapter {
      position: relative;
      padding: 52px 16px;
      opacity: 0;
      transform: translateY(36px);
      transition: opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1), transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
    }

    .ih-chapter.on {
      opacity: 1;
      transform: none
    }

    /* Day-slide transitions */
    .ih-content._ihSiR { animation: _ihFwd 0.4s cubic-bezier(0.22,1,0.36,1) both }
    .ih-content._ihSiL { animation: _ihBk  0.4s cubic-bezier(0.22,1,0.36,1) both }
    .ih-content._ihSoR { animation: _ihOtR 0.2s ease-in forwards; pointer-events: none }
    .ih-content._ihSoL { animation: _ihOtL 0.2s ease-in forwards; pointer-events: none }
    @keyframes _ihFwd  { from { transform: translateX(36px); opacity: 0 } to { transform: none; opacity: 1 } }
    @keyframes _ihBk   { from { transform: translateX(-36px); opacity: 0 } to { transform: none; opacity: 1 } }
    @keyframes _ihOtR  { to { transform: translateX(-36px); opacity: 0 } }
    @keyframes _ihOtL  { to { transform: translateX(36px); opacity: 0 } }

    /* Color chapters */
    .ih-ch-amber {
      background: linear-gradient(180deg, var(--ih-ch-amber-a) 0%, var(--ih-ch-amber-b) 100%)
    }

    .ih-ch-crimson {
      background: linear-gradient(180deg, var(--ih-ch-crimson-a) 0%, var(--ih-ch-crimson-b) 100%)
    }

    .ih-ch-indigo {
      background: linear-gradient(180deg, var(--ih-ch-indigo-a) 0%, var(--ih-ch-indigo-b) 100%)
    }

    .ih-ch-forest {
      background: linear-gradient(180deg, var(--ih-ch-forest-a) 0%, var(--ih-ch-forest-b) 100%)
    }

    .ih-section-inner {
      max-width: 960px;
      margin: 0 auto
    }

    /* Section labels + headings */
    .ih-sec-title {
      font-size: 11px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.16em;
      color: var(--ih-sec-label);
      margin-bottom: 8px;
    }

    .ih-ch-heading {
      font-size: clamp(22px, 4vw, 30px);
      font-weight: 700;
      color: var(--ih-ch-head);
      line-height: 1.2;
      margin-bottom: 22px;
    }

    .ih-ch-heading em {
      font-style: normal;
      background: linear-gradient(90deg, #F5A623, #FFD580);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

    /* ── UPCOMING PLANETARY MOVEMENTS TIMELINE ───────────────────────── */
    .ih-pmv-cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; align-items: start; }
    @media (max-width: 1200px) { .ih-pmv-cols { grid-template-columns: 1fr 1fr; } }
    @media (max-width: 800px) { .ih-pmv-cols { grid-template-columns: 1fr; gap: 8px; } }
    .ih-pm-col-hd { font-size: 15px; font-weight: 700; color: #E6E8FF; margin-bottom: 12px; }
    [data-theme="light"] .ih-pm-col-hd { color: rgba(25,15,65,0.92); }
    .ih-pm-group { margin-bottom: 14px; }
    .ih-pm-group-hd {
      cursor: pointer;
      font-size: 13px;
      font-weight: 700;
      letter-spacing: 0.04em;
      color: rgba(220,225,255,0.85);
      padding: 8px 0;
      list-style: none;
    }
    .ih-pm-group-hd::-webkit-details-marker { display: none; }
    .ih-pm-group-hd::before { content: '▶'; display: inline-block; margin-right: 8px; font-size: 10px; transition: transform 0.2s; }
    .ih-pm-group[open] > .ih-pm-group-hd::before { transform: rotate(90deg); }
    .ih-pm-count { font-weight: 400; opacity: 0.6; }
    .ih-pm-list { position: relative; padding-left: 22px; border-left: 2px solid rgba(150,160,255,0.18); margin-left: 6px; }
    .ih-pm-item { position: relative; display: flex; gap: 14px; padding: 10px 0; align-items: flex-start; }
    .ih-pm-item:not(:last-child) { border-bottom: 1px solid rgba(150,160,255,0.08); }
    .ih-pm-dot {
      position: absolute;
      left: -33px;
      top: 11px;
      width: 20px;
      height: 20px;
      border-radius: 50%;
      background: rgba(150,160,255,0.12);
      border: 1px solid rgba(150,160,255,0.3);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 12px;
      color: rgba(210,215,255,0.85);
      flex-shrink: 0;
    }
    .ih-pm-item.ih-pm-rashi .ih-pm-dot { background: rgba(245,166,35,0.18); border-color: rgba(245,166,35,0.5); color: #FFD580; }
    .ih-pm-when { flex-shrink: 0; width: 94px; text-align: center; }
    .ih-pm-date { font-size: 13px; font-weight: 700; color: rgba(230,232,255,0.92); line-height: 1.25; overflow-wrap: break-word; }
    .ih-pm-time { font-size: 10px; color: rgba(200,205,240,0.6); margin-top: 2px; }
    .ih-pm-body { flex: 1; min-width: 0; }
    .ih-pm-planet { font-size: 13px; font-weight: 600; color: #E6E8FF; }
    .ih-pm-desc { font-size: 12px; color: rgba(200,205,240,0.72); margin-top: 1px; }
    .ih-pm-rashi-badge { display: inline-block; margin-top: 4px; font-size: 11px; font-weight: 600; color: #FFD580; background: rgba(245,166,35,0.12); border: 1px solid rgba(245,166,35,0.3); border-radius: 6px; padding: 2px 8px; }
    .ih-pm-empty { font-size: 13px; color: rgba(200,205,240,0.65); padding: 12px 0; }
    .ih-pm-more-link { display: block; margin-top: 10px; font-size: 13px; font-weight: 600; color: #F5A623; text-decoration: none; }
    .ih-pm-more-link:hover { text-decoration: underline; }
    .ih-pm-more-sub { font-weight: 400; font-size: 11.5px; color: rgba(200,205,240,0.55); }
    [data-theme="light"] .ih-pm-more-link { color: #B85000; }
    [data-theme="light"] .ih-pm-more-sub { color: rgba(50,40,100,0.55); }
    [data-theme="light"] .ih-pm-group-hd { color: rgba(30,20,80,0.82); }
    [data-theme="light"] .ih-pm-list { border-left-color: rgba(60,50,140,0.18); }
    [data-theme="light"] .ih-pm-dot { background: rgba(60,50,140,0.08); border-color: rgba(60,50,140,0.25); color: rgba(40,30,110,0.85); }
    [data-theme="light"] .ih-pm-item.ih-pm-rashi .ih-pm-dot { background: rgba(200,110,0,0.14); border-color: rgba(200,110,0,0.4); color: #8A4500; }
    [data-theme="light"] .ih-pm-date { color: rgba(30,20,70,0.9); }
    [data-theme="light"] .ih-pm-time { color: rgba(50,40,100,0.55); }
    [data-theme="light"] .ih-pm-planet { color: rgba(25,15,65,0.92); }
    [data-theme="light"] .ih-pm-desc { color: rgba(50,40,100,0.68); }
    [data-theme="light"] .ih-pm-rashi-badge { color: #8A4500; background: rgba(200,110,0,0.1); border-color: rgba(200,110,0,0.3); }
    [data-theme="light"] .ih-pm-empty { color: rgba(50,40,100,0.6); }
    [data-theme="light"] .ih-pm-item:not(:last-child) { border-bottom-color: rgba(60,50,140,0.08); }

    /* ── FESTIVAL STRIP ───────────────────────────────────────────────── */
    .ih-fstrip {
      display: flex;
      gap: 12px;
      overflow-x: auto;
      padding-bottom: 6px;
      scrollbar-width: none
    }

    .ih-fstrip::-webkit-scrollbar {
      display: none
    }

    .ih-fpill {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 12px 18px;
      background: var(--ih-fpill-bg);
      border: 1px solid rgba(245, 166, 35, 0.22);
      border-radius: 14px;
      cursor: pointer;
      white-space: nowrap;
      flex-shrink: 0;
      transition: all 0.15s;
    }

    .ih-fpill:hover {
      background: rgba(245, 166, 35, 0.12);
      border-color: rgba(245, 166, 35, 0.55)
    }

    .ih-fpill-icon {
      font-size: 20px;
      flex-shrink: 0
    }

    .ih-fpill-info {
      display: flex;
      flex-direction: column;
      gap: 2px
    }

    .ih-fpill-name {
      font-size: 14px;
      font-weight: 600;
      color: var(--ih-text)
    }

    .ih-fpill-date {
      font-size: 11px;
      color: rgba(245, 166, 35, 0.7)
    }

    .ih-fstrip-more {
      display: inline-flex;
      align-items: center;
      padding: 12px 18px;
      color: rgba(245, 166, 35, 0.7);
      font-size: 13px;
      cursor: pointer;
      white-space: nowrap;
      flex-shrink: 0;
      text-decoration: none;
      font-weight: 500;
    }

    .ih-fstrip-more:hover {
      color: #F5A623
    }

    /* ── DISCOVERY GRID ───────────────────────────────────────────────── */
    .ih-dg-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px
    }

    .ih-dg-card {
      background: var(--ih-surface);
      border: 1px solid var(--ih-border);
      border-radius: 14px;
      padding: 18px;
      cursor: pointer;
      transition: all 0.2s;
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    .ih-dg-card:hover {
      background: var(--ih-dg-hover);
      border-color: rgba(245, 166, 35, 0.35);
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
    }

    .ih-dg-icon {
      font-size: 24px
    }

    .ih-dg-query {
      font-size: 14px;
      font-weight: 500;
      color: rgba(255, 255, 255, 0.75);
      line-height: 1.5;
      font-style: italic
    }

    /* ── CALENDAR ─────────────────────────────────────────────────────── */
    .ih-cal-toggle {
      display: block;
      width: 100%;
      min-height: 44px;
      min-width: 44px;
      padding: 14px 18px;
      background: var(--ih-cal-in);
      border: 1px solid rgba(245, 166, 35, 0.25);
      border-radius: 12px;
      color: rgba(255, 255, 255, 0.85);
      font-family: 'DM Sans', sans-serif;
      font-size: 15px;
      font-weight: 500;
      cursor: pointer;
      margin-bottom: 14px;
      transition: background 0.15s;
      text-align: left;
    }

    .ih-cal-toggle:hover {
      background: rgba(245, 166, 35, 0.12)
    }

    .ih-cal-frame {
      width: 100%;
      border: none;
      border-radius: 14px;
      min-height: 420px;
      display: block
    }

    .ih-wid-frame {
      width: 100%;
      max-width: 540px;
      border: none;
      border-radius: 14px;
      min-height: 380px;
      display: block;
      margin: 0 auto
    }

    .ih-cal-hidden {
      display: none
    }

    .ih-cal-hidden.open {
      display: block
    }

    /* ── TOOLS GRID ───────────────────────────────────────────────────── */
    .ih-tools-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 12px
    }

    @media(min-width:640px) {
      .ih-tools-grid {
        grid-template-columns: repeat(5, 1fr)
      }
    }

    .ih-tool {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 10px;
      padding: 20px 8px;
      background: var(--ih-surface);
      border: 1px solid var(--ih-border);
      border-radius: 16px;
      text-decoration: none;
      transition: all 0.18s;
      cursor: pointer;
    }

    .ih-tool:hover {
      background: var(--ih-tool-hover);
      border-color: rgba(245, 166, 35, 0.35);
      transform: translateY(-3px);
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
    }

    .ih-tool-icon {
      font-size: 32px
    }

    .ih-tool-name {
      font-size: 13px;
      font-weight: 600;
      color: var(--ih-muted);
      text-align: center
    }

    .ih-tool:hover .ih-tool-name {
      color: #F5A623
    }

    /* ── CREDIBILITY ──────────────────────────────────────────────────── */
    .ih-cred {
      background: linear-gradient(90deg, #5a0e0e 0%, #8a3e0e 100%);
      padding: 18px 16px;
      text-align: center;
      font-size: 14px;
      color: rgba(255, 255, 255, 0.82);
      letter-spacing: 0.03em;
      line-height: 1.8;
    }

    .ih-cred span {
      color: #FFD080;
      font-weight: 600
    }

    /* ── FOOTER ───────────────────────────────────────────────────────── */
    .ih-footer {
      background: var(--ih-footer);
      padding: 32px 16px;
      color: var(--ih-footer-text);
      font-size: 13px
    }

    .ih-footer-inner {
      max-width: 960px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 28px
    }

    .ih-footer-col-title {
      font-size: 10px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: rgba(245, 166, 35, 0.6);
      margin-bottom: 12px;
    }

    .ih-footer-links {
      display: flex;
      flex-direction: column;
      gap: 7px
    }

    .ih-footer-links a {
      color: var(--ih-footer-text);
      text-decoration: none;
      font-size: 13px;
      transition: color 0.1s
    }

    .ih-footer-links a:hover {
      color: rgba(245, 166, 35, 0.85)
    }

    .ih-footer-bottom {
      border-top: 1px solid rgba(255, 255, 255, 0.06);
      margin-top: 22px;
      padding-top: 18px;
      text-align: center;
      font-size: 12px;
      color: rgba(255, 255, 255, 0.28)
    }

    .ih-footer-om {
      font-family: 'Tiro Devanagari Sanskrit', serif;
      font-size: 18px;
      color: rgba(245, 166, 35, 0.5);
      margin-bottom: 8px
    }

    /* ── CITY SEARCH OVERLAY ──────────────────────────────────────────── */
    .ih-city-search {
      display: none;
      position: fixed;
      inset: 0;
      z-index: 500;
      background: rgba(0, 0, 0, 0.75);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      align-items: center;
      justify-content: center;
      padding: 24px;
    }

    .ih-city-search.open {
      display: flex
    }

    .ih-city-box {
      background: var(--ih-sheet);
      border: 1px solid rgba(245, 166, 35, 0.35);
      border-radius: 20px;
      padding: 24px;
      width: 100%;
      max-width: 500px;
      display: flex;
      flex-direction: column;
      gap: 14px;
    }

    .ih-city-title {
      font-size: 17px;
      font-weight: 700;
      color: #F5A623
    }

    .ih-city-inp {
      width: 100%;
      padding: 14px 16px;
      background: var(--ih-city-in);
      border: 1px solid rgba(245, 166, 35, 0.3);
      border-radius: 12px;
      color: var(--ih-city-text);
      font-family: 'DM Sans', sans-serif;
      font-size: 16px;
      outline: none;
    }

    .ih-city-inp:focus {
      border-color: rgba(245, 166, 35, 0.7)
    }

    .ih-city-inp::placeholder {
      color: var(--ih-chat-ph)
    }

    .ih-city-results {
      max-height: 260px;
      overflow-y: auto
    }

    .ih-city-item {
      padding: 12px 16px;
      cursor: pointer;
      border-bottom: 1px solid rgba(255, 255, 255, 0.05);
      font-size: 15px;
      transition: background 0.1s;
    }

    .ih-city-item:hover {
      background: rgba(245, 166, 35, 0.12)
    }

    .ih-city-close {
      align-self: flex-end;
      padding: 9px 20px;
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(255, 255, 255, 0.2);
      border-radius: 10px;
      color: rgba(255, 255, 255, 0.7);
      font-family: 'DM Sans', sans-serif;
      font-size: 14px;
      cursor: pointer;
      transition: background 0.15s;
    }

    .ih-city-close:hover {
      background: rgba(255, 255, 255, 0.16)
    }

    /* ── LANGUAGE PICKER ──────────────────────────────────────────────── */
    .ih-lpg-overlay {
      display: none;
      position: fixed;
      inset: 0;
      z-index: 500;
      background: var(--ih-lpg-bg);
      backdrop-filter: blur(5px);
      -webkit-backdrop-filter: blur(5px);
      align-items: flex-start;
      justify-content: flex-end;
    }

    .ih-lpg-overlay.open {
      display: flex
    }

    .ih-lpg-sheet {
      background: var(--ih-sheet);
      border: 1px solid rgba(245, 166, 35, 0.3);
      border-radius: 0 0 16px 16px;
      padding: 20px 18px;
      min-width: 260px;
      max-width: 92vw;
      margin-top: 56px;
      margin-right: 14px;
      box-shadow: 0 10px 36px rgba(0, 0, 0, 0.65);
    }

    .ih-lpg-title {
      font-size: 15px;
      font-weight: 700;
      color: #F5A623;
      margin-bottom: 16px
    }

    .ih-lpg-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 9px
    }

    .ih-lb {
      padding: 12px 8px;
      background: rgba(255, 255, 255, 0.05);
      border: 1px solid rgba(255, 255, 255, 0.1);
      border-radius: 11px;
      color: #fff;
      font-family: 'DM Sans', sans-serif;
      font-size: 13px;
      cursor: pointer;
      transition: all 0.15s;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 4px;
    }

    .ih-lb:hover {
      background: rgba(245, 166, 35, 0.15);
      border-color: rgba(245, 166, 35, 0.4)
    }

    .ih-lb.on {
      background: rgba(245, 166, 35, 0.2);
      border-color: rgba(245, 166, 35, 0.6);
      color: #F5A623
    }

    .ih-lb-s {
      font-size: 18px;
      font-family: 'Tiro Devanagari Sanskrit', serif
    }

    .ih-lb-n {
      font-size: 11px;
      opacity: 0.75
    }

    /* ── AURORA ORBS ──────────────────────────────────────────────────── */
    .ih-orb {
      position: absolute;
      border-radius: 50%;
      pointer-events: none;
      filter: blur(70px);
    }
    .ih-orb1 {
      width: 520px; height: 520px;
      background: radial-gradient(ellipse, var(--ih-orb1) 0%, transparent 70%);
      top: -160px; left: -140px;
      animation: ihOrb1 20s ease-in-out infinite alternate;
    }
    .ih-orb2 {
      width: 420px; height: 420px;
      background: radial-gradient(ellipse, var(--ih-orb2) 0%, transparent 70%);
      bottom: 5%; right: -110px;
      animation: ihOrb2 26s ease-in-out infinite alternate;
    }
    .ih-orb3 {
      width: 320px; height: 320px;
      background: radial-gradient(ellipse, var(--ih-orb3) 0%, transparent 70%);
      top: 35%; left: 25%;
      animation: ihOrb3 18s ease-in-out infinite alternate;
    }
    @keyframes ihOrb1 {
      from { transform: translate(0,0) scale(1); }
      to { transform: translate(90px,110px) scale(1.3); }
    }
    @keyframes ihOrb2 {
      from { transform: translate(0,0) scale(1.1); }
      to { transform: translate(-70px,-90px) scale(0.8); }
    }
    @keyframes ihOrb3 {
      from { transform: translate(0,0) scale(1); }
      to { transform: translate(-50px,70px) scale(1.2); }
    }

    /* ── THEME TOGGLE BUTTON ─────────────────────────────────────────── */
    .ih-thm-btn {
      background: none;
      border: 1px solid rgba(255,255,255,0.28);
      border-radius: 50%;
      width: 36px;
      height: 36px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 18px;
      cursor: pointer;
      color: #F0CC50;
      flex-shrink: 0;
      transition: background 0.15s, border-color 0.15s;
      padding: 0;
    }
    .ih-thm-btn svg { filter: drop-shadow(0 0 6px rgba(240,200,60,.9)) drop-shadow(0 0 14px rgba(240,180,30,.6)); }
    .ih-thm-btn:hover { background: rgba(255,255,255,0.15); }
    [data-theme="light"] .ih-thm-btn { border-color: rgba(255,255,255,0.3); color: #fff; }

    /* 12h/24h time-format switch — electric-switch style toggle (same
       design as panchang.php's header switch) */
    .ampm-switch {
      -webkit-appearance: none;
      appearance: none;
      display: inline-flex;
      align-items: center;
      border: none;
      background: none;
      padding: 0;
      margin: 0;
      cursor: pointer;
      flex-shrink: 0;
    }
    .ampm-switch .ampm-track {
      position: relative;
      display: inline-flex;
      align-items: center;
      width: 58px;
      height: 28px;
      border-radius: 16px;
      background: rgba(255,255,255,0.15);
      border: 1px solid rgba(255,255,255,0.35);
      transition: background 0.25s, border-color 0.25s, box-shadow 0.25s;
      overflow: hidden;
    }
    .ampm-switch:hover .ampm-track { background: rgba(255,255,255,0.24); }
    .ampm-switch.on .ampm-track {
      background: linear-gradient(135deg, #F5A623 0%, #E8871E 100%);
      border-color: rgba(255,255,255,0.55);
      box-shadow: 0 0 10px rgba(245,166,35,0.65), inset 0 0 4px rgba(255,255,255,0.4);
    }
    .ampm-switch .ampm-lbl {
      position: absolute;
      font-size: 9px;
      font-weight: 800;
      letter-spacing: 0.02em;
      color: rgba(255,255,255,0.85);
      transition: opacity 0.2s;
    }
    .ampm-switch .ampm-lbl-24 { right: 6px; }
    .ampm-switch .ampm-lbl-12 { left: 7px; opacity: 0; }
    .ampm-switch.on .ampm-lbl-24 { opacity: 0; }
    .ampm-switch.on .ampm-lbl-12 { opacity: 1; color: #2a1400; }
    .ampm-switch .ampm-thumb {
      position: absolute;
      top: 2px;
      left: 2px;
      width: 22px;
      height: 22px;
      border-radius: 50%;
      background: #fff;
      box-shadow: 0 1px 3px rgba(0,0,0,0.4);
      transition: transform 0.25s cubic-bezier(.4,1.5,.6,1);
    }
    .ampm-switch.on .ampm-thumb { transform: translateX(30px); }
    /* Numerals choice: two-segment pill "123 | native", the digits in
       use highlighted (owner found a one-label switch confusing). */
    .nm-seg { -webkit-appearance: none; appearance: none; display: inline-flex; align-items: center; gap: 2px; height: 28px; box-sizing: border-box; padding: 2px; margin: 0; border: 1px solid rgba(255,255,255,0.35); border-radius: 16px; background: rgba(255,255,255,0.15); cursor: pointer; flex-shrink: 0; }
    .nm-seg:hover { background: rgba(255,255,255,0.24); }
    .nm-seg span { display: inline-flex; align-items: center; height: 100%; padding: 0 7px; border-radius: 13px; font-size: 11px; font-weight: 800; line-height: 1; color: rgba(255,255,255,0.8); transition: background 0.2s, color 0.2s; }
    .nm-seg:not(.on) .nm-a, .nm-seg.on .nm-b { background: linear-gradient(135deg, #F5A623 0%, #E8871E 100%); color: #2a1400; box-shadow: 0 0 6px rgba(245,166,35,0.55); }

    /* ── LIGHT THEME misc overrides ─────────────────────────────────── */
    [data-theme="light"] .ih-city-name { color: var(--ih-text); }
    [data-theme="light"] .ih-city-edit { color: #C05000; }
    [data-theme="light"] .ih-brand-name { color: #fff; }
    [data-theme="light"] .ih-chandra { color: #7A3000; text-shadow: 0 0 16px rgba(120,48,0,0.35); }
    [data-theme="light"] .ih-nav-btn { color: var(--ih-text); }
    [data-theme="light"] .ih-nav-btn:hover { background: rgba(180,80,10,0.2); border-color: #C05000; }
    [data-theme="light"] .ih-footer-bottom { border-color: rgba(255,255,255,0.1); color: rgba(255,255,255,0.55); }
    [data-theme="light"] .ih-footer-col-title { color: rgba(255,220,100,0.8); }
    [data-theme="light"] .ih-footer-links a { color: rgba(255,255,255,0.55); }
    [data-theme="light"] .ih-footer-links a:hover { color: #FFD080; }
    [data-theme="light"] .ih-footer-om { color: rgba(255,200,80,0.7); }
    [data-theme="light"] .ih-cred { background: linear-gradient(90deg, #C05000 0%, #E07800 100%); }
    [data-theme="light"] .ih-dg-query { color: var(--ih-muted); }
    [data-theme="light"] .ih-ch-heading em { background: linear-gradient(90deg, #C05000, #E09000); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
    [data-theme="light"] .ih-sec-title { color: var(--ih-sec-label); }
    [data-theme="light"] .ih-cal-toggle { color: var(--ih-text); border-color: rgba(180,80,10,0.28); }
    [data-theme="light"] .ih-cal-toggle:hover { background: rgba(180,80,10,0.1); }
    [data-theme="light"] .ih-city-title { color: #C05000; }
    [data-theme="light"] .ih-lpg-title { color: #C05000; }
    [data-theme="light"] .ih-city-item { border-bottom: 1px solid rgba(0,0,0,0.06); color: var(--ih-text); }
    [data-theme="light"] .ih-city-item:hover { background: rgba(180,80,10,0.08); }
    [data-theme="light"] .ih-city-close { background: rgba(0,0,0,0.06); border-color: rgba(0,0,0,0.12); color: var(--ih-text); }
    [data-theme="light"] .ih-lb { background: rgba(180,80,10,0.05); border-color: rgba(180,80,10,0.12); color: var(--ih-text); }
    [data-theme="light"] .ih-lb:hover { background: rgba(180,80,10,0.12); border-color: rgba(180,80,10,0.35); }
    [data-theme="light"] .ih-lb.on { background: rgba(180,80,10,0.18); border-color: rgba(180,80,10,0.5); color: #C05000; }
    [data-theme="light"] .ih-fpill { border-color: rgba(180,80,10,0.22); }
    [data-theme="light"] .ih-fpill:hover { background: rgba(180,80,10,0.1); border-color: rgba(180,80,10,0.45); }
    [data-theme="light"] .ih-fpill-date { color: rgba(180,80,10,0.75); }
    [data-theme="light"] .ih-fstrip-more { color: rgba(180,80,10,0.75); }
    [data-theme="light"] .ih-fstrip-more:hover { color: #C05000; }
    [data-theme="light"] .ih-tool:hover .ih-tool-name { color: #C05000; }
    [data-theme="light"] .ih-chip:hover { background: rgba(180,80,10,0.18); border-color: rgba(180,80,10,0.45); color: #C05000; }
    [data-theme="light"] .ih-chip.ih-chip-all { border-color: rgba(150,60,0,0.6); color: #963C00; }
    [data-theme="light"] .ih-scroll-hint { color: rgba(26,8,0,0.38); }
    [data-theme="light"] .ih-pg-entry+.ih-pg-entry { border-top: 1px solid rgba(0,0,0,0.1); }
    [data-theme="light"] .ih-hbtn:hover { background: rgba(255,255,255,0.3); }
    /* Sun/moon cards are always dark — force white text inheritance so labels don't go dark-on-dark */
    [data-theme="light"] .ih-sun-card,
    [data-theme="light"] .ih-moon-card { color: rgba(255,255,255,0.9); }
    [data-theme="light"] .ih-om { color: #8A3A00; text-shadow: 0 0 20px rgba(138,58,0,0.28), 0 0 40px rgba(138,58,0,0.12); }
    [data-theme="light"] .ih-tamil { color: rgba(138,58,0,0.7); }
    [data-theme="light"] .ih-city-pill { background: rgba(180,80,10,0.08); border-color: rgba(180,80,10,0.32); }
    [data-theme="light"] .ih-fbadge { color: #C05000; background: linear-gradient(135deg, rgba(192,80,0,0.1), rgba(224,120,40,0.07)); border-color: rgba(192,80,0,0.42); }
    [data-theme="light"] .ih-fbadge-good { color: #1A7236; background: linear-gradient(135deg, rgba(26,114,54,0.1), rgba(26,114,54,0.06)); border-color: rgba(26,114,54,0.42); }
    [data-theme="light"] .ih-fbadge-bad { color: #A81808; background: linear-gradient(135deg, rgba(168,24,8,0.1), rgba(168,24,8,0.06)); border-color: rgba(168,24,8,0.38); }
    [data-theme="light"] .ih-ht-good { background: rgba(26,138,60,0.1); border-color: rgba(26,138,60,0.3); color: #1A7236; }
    [data-theme="light"] .ih-ht-bad { background: rgba(168,24,8,0.08); border-color: rgba(168,24,8,0.28); color: #A81808; }
    [data-theme="light"] .ih-pg-tithi { background: linear-gradient(145deg, rgba(180,40,60,0.1), rgba(140,20,40,0.07)); border-color: rgba(180,40,60,0.26); }
    [data-theme="light"] .ih-pg-tithi:hover { box-shadow: 0 8px 28px rgba(180,40,60,0.2); }
    [data-theme="light"] .ih-pg-tithi .ih-pg-name { color: #8A1020; }
    [data-theme="light"] .ih-pg-naksha { background: linear-gradient(145deg, rgba(40,60,180,0.09), rgba(30,48,150,0.06)); border-color: rgba(40,60,180,0.24); }
    [data-theme="light"] .ih-pg-naksha:hover { box-shadow: 0 8px 28px rgba(40,60,180,0.2); }
    [data-theme="light"] .ih-pg-naksha .ih-pg-name { color: #1C30A0; }
    [data-theme="light"] .ih-pg-yoga { background: linear-gradient(145deg, rgba(20,120,60,0.09), rgba(16,96,48,0.06)); border-color: rgba(20,120,60,0.24); }
    [data-theme="light"] .ih-pg-yoga:hover { box-shadow: 0 8px 28px rgba(20,120,60,0.2); }
    [data-theme="light"] .ih-pg-yoga .ih-pg-name { color: #146030; }
    [data-theme="light"] .ih-pg-karana { background: linear-gradient(145deg, rgba(160,90,0,0.1), rgba(130,72,0,0.07)); border-color: rgba(160,90,0,0.24); }
    [data-theme="light"] .ih-pg-karana:hover { box-shadow: 0 8px 28px rgba(160,90,0,0.2); }
    [data-theme="light"] .ih-pg-karana .ih-pg-name { color: #804800; }
    /* ── RESPONSIVE ───────────────────────────────────────────────────── */
    @media(max-width:640px) {
      .ih-luminary-row {
        flex-direction: column
      }

      .ih-lum-body {
        flex-direction: row;
        align-items: center;
        gap: 14px
      }

      .ih-lum-left {
        width: auto;
        flex-shrink: 0
      }

      .ih-lum-left .ih-lum-rc {
        width: auto;
        font-size: 10px
      }

      .ih-lum-center {
        flex-direction: row;
        gap: 12px
      }

      .ih-img-wrap {
        width: 60px;
        height: 60px
      }

      .ih-lum-img {
        width: 50px;
        height: 50px
      }

      .ih-lum-times {
        flex: 1
      }

      .ih-time-row {
        padding: 7px 10px
      }

      .ih-pg-icon {
        font-size: 28px
      }

      .ih-pg-name {
        font-size: 15px
      }

      .ih-tools-grid {
        grid-template-columns: repeat(3, 1fr)
      }

      .ih-footer-inner {
        grid-template-columns: 1fr
      }

      .ih-dg-grid {
        grid-template-columns: repeat(2, 1fr)
      }

      .ih-chapter {
        padding: 40px 16px
      }

      .ih-ch-heading {
        font-size: 20px
      }
    }

    @media(max-width:380px) {
      .ih-pg-grid {
        grid-template-columns: 1fr 1fr
      }

      .ih-tools-grid {
        grid-template-columns: repeat(2, 1fr)
      }

      .ih-dg-grid {
        grid-template-columns: 1fr 1fr
      }
    }

    /* ── CHAPTER ENTRANCE: add scale for depth ─────────────────────── */
    .ih-chapter { transform: translateY(36px) scale(0.985); }
    .ih-chapter.on { transform: translateY(0) scale(1); }

    /* ── OM: subtle heartbeat pulse ─────────────────────────────────── */
    .ih-om { animation: ihOmGlow 3s ease-in-out infinite alternate, _ihOmP 5s ease-in-out infinite; }
    @keyframes _ihOmP { 0%,100% { transform: scale(1); } 50% { transform: scale(1.07); } }

    /* ── CHILD STAGGER ENTRANCE ─────────────────────────────────────── */
    .ih-fpill, .ih-dg-card, .ih-tool {
      opacity: 0;
      transform: translateY(14px) scale(0.97);
      transition: opacity 0.42s cubic-bezier(0.22,1,0.36,1), transform 0.42s cubic-bezier(0.22,1,0.36,1);
    }
    .ih-fpill._aon  { opacity: 1; transform: none; transition: all 0.15s; }
    .ih-dg-card._aon{ opacity: 1; transform: none; transition: all 0.2s; }
    .ih-tool._aon   { opacity: 1; transform: none; transition: all 0.18s; }

    /* ── REDUCED MOTION ─────────────────────────────────────────────── */
    @media (prefers-reduced-motion: reduce) {
      .ih-om { animation: none; }
      .ih-chapter { opacity: 1; transform: none; transition: none; }
      .ih-fpill,.ih-dg-card,.ih-tool { opacity: 1 !important; transform: none !important; transition: all 0.15s !important; }
    }
    /* ── MARK YOUR CALENDAR ──────────────────────────────────────────── */
    .ih-mcy-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 14px;
    }
    @media(min-width:640px) {
      .ih-mcy-grid { grid-template-columns: repeat(4, 1fr); }
    }
    .ih-mcy-card {
      background: rgba(255,255,255,0.04);
      border: 1px solid rgba(245,166,35,0.2);
      border-radius: 14px;
      padding: 16px;
      display: flex;
      flex-direction: column;
      gap: 8px;
      transition: background 0.18s, border-color 0.18s, transform 0.18s;
    }
    .ih-mcy-card:hover {
      background: rgba(245,166,35,0.09);
      border-color: rgba(245,166,35,0.45);
      transform: translateY(-2px);
    }
    .ih-mcy-date {
      font-size: 11px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: rgba(245,166,35,0.75);
    }
    .ih-mcy-name {
      font-size: 15px;
      font-weight: 600;
      color: var(--ih-text);
      line-height: 1.3;
      margin: 0;
    }
    .ih-mcy-btn {
      display: inline-block;
      padding: 11px 26px;
      background: rgba(245,166,35,0.12);
      border: 1px solid rgba(245,166,35,0.45);
      border-radius: 26px;
      color: #F5A623;
      font-size: 14px;
      font-weight: 600;
      text-decoration: none;
      transition: background 0.18s, border-color 0.18s;
    }
    .ih-mcy-btn:hover {
      background: rgba(245,166,35,0.22);
      border-color: rgba(245,166,35,0.7);
    }
    [data-theme="light"] .ih-mcy-card { background: rgba(180,80,10,0.04); border-color: rgba(180,80,10,0.16); }
    [data-theme="light"] .ih-mcy-card:hover { background: rgba(180,80,10,0.09); border-color: rgba(180,80,10,0.38); }
    [data-theme="light"] .ih-mcy-date { color: rgba(180,80,10,0.7); }
    [data-theme="light"] .ih-mcy-btn { background: rgba(180,80,10,0.09); border-color: rgba(180,80,10,0.4); color: #C05000; }
    [data-theme="light"] .ih-mcy-btn:hover { background: rgba(180,80,10,0.18); border-color: rgba(180,80,10,0.65); }

    /* ── WHAT IS A PANCHANG ───────────────────────────────────────────── */
    .ih-ch-panch {
      background: linear-gradient(180deg, #050028 0%, #0A0050 100%);
    }
    .ih-panch-intro {
      font-size: 16px;
      color: rgba(255,255,255,0.7);
      line-height: 1.7;
      max-width: 680px;
      margin: 0 0 28px;
    }
    [data-theme="light"] .ih-panch-intro { color: rgba(26,8,0,0.65); }
    .ih-limbs-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 14px;
    }
    @media(min-width:640px) {
      .ih-limbs-grid { grid-template-columns: repeat(3, 1fr); }
    }
    .ih-limb-card {
      background: rgba(255,255,255,0.05);
      border: 1px solid rgba(200,180,255,0.15);
      border-radius: 16px;
      padding: 20px 16px;
      display: flex;
      flex-direction: column;
      gap: 8px;
      transition: background 0.18s, border-color 0.18s, transform 0.18s;
    }
    .ih-limb-card:hover {
      background: rgba(200,180,255,0.09);
      border-color: rgba(200,180,255,0.35);
      transform: translateY(-2px);
    }
    .ih-limb-ico {
      font-size: 28px;
      line-height: 1;
      color: #F0CC50
    }
    .ih-limb-ico svg { filter: drop-shadow(0 0 7px rgba(240,200,60,.9)) drop-shadow(0 0 18px rgba(240,180,30,.6)); }
    .ih-limb-title {
      font-size: 15px;
      font-weight: 700;
      color: #D8CFFF;
      display: flex;
      align-items: baseline;
      gap: 8px;
      flex-wrap: wrap;
    }
    .ih-limb-dev {
      font-family: 'Tiro Devanagari Sanskrit', serif;
      font-size: 14px;
      color: rgba(200,180,255,0.55);
      font-weight: 400;
    }
    .ih-limb-text {
      font-size: 13px;
      color: rgba(255,255,255,0.55);
      line-height: 1.6;
      margin: 0;
    }
    .ih-limb-today {
      margin-top: 4px;
      padding: 5px 10px;
      background: rgba(200,180,255,0.1);
      border: 1px solid rgba(200,180,255,0.22);
      border-radius: 8px;
      font-size: 12px;
      font-weight: 600;
      color: #C0B0FF;
      align-self: flex-start;
    }
    [data-theme="light"] .ih-limb-card { background: rgba(60,20,160,0.04); border-color: rgba(60,20,160,0.12); }
    [data-theme="light"] .ih-limb-card:hover { background: rgba(60,20,160,0.08); border-color: rgba(60,20,160,0.28); }
    [data-theme="light"] .ih-limb-title { color: #2A1880; }
    [data-theme="light"] .ih-limb-dev { color: rgba(42,24,128,0.5); }
    [data-theme="light"] .ih-limb-text { color: rgba(26,8,0,0.6); }
    [data-theme="light"] .ih-limb-today { background: rgba(60,20,160,0.08); border-color: rgba(60,20,160,0.2); color: #2A1880; }

    /* NAV DRAWER */
    .ih-nd-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:600;backdrop-filter:blur(2px)}
    .ih-nd-ov.open{display:block}
    .ih-nd{position:fixed;top:0;right:0;bottom:0;width:260px;max-width:85vw;background:#120028;border-left:1px solid rgba(255,255,255,.1);z-index:601;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .25s cubic-bezier(.4,0,.2,1)}
    .ih-nd.open{transform:none}
    .ih-nd-hd{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08)}
    .ih-nd-brand{flex:1;font-size:15px;font-weight:700;color:#fff}
    .ih-nd-close{background:none;border:none;color:rgba(255,255,255,.6);font-size:22px;cursor:pointer;line-height:1;padding:2px 6px}
    .ih-nd-close:hover{color:#fff}
    .ih-nd nav{flex:1;overflow-y:auto;padding:8px 0}
    .ih-nd nav a{display:flex;align-items:center;gap:10px;padding:12px 18px;color:rgba(255,255,255,.8);text-decoration:none;font-size:14px;transition:background .15s,color .15s}
    .ih-nd nav a:hover{background:rgba(255,255,255,.07);color:#F5A623}
    .ih-nd nav a .ne{font-size:16px;width:22px;text-align:center;flex-shrink:0}
    .ih-nd-sep{height:1px;background:rgba(255,255,255,.07);margin:6px 16px}
    .ih-nd-foot{padding:14px 18px;font-size:11px;color:rgba(255,255,255,.3);border-top:1px solid rgba(255,255,255,.07)}

    /* ── Scriptural Foundation (Sloka) section ────────────────────── */
    .ih-slk-sec{background:linear-gradient(180deg,#06040F 0%,#080512 55%,#06040F 100%);padding:60px 16px 64px;position:relative;overflow:hidden}
    .ih-slk-sec::before{content:'ॐ';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:300px;color:rgba(212,169,64,.022);pointer-events:none;user-select:none;line-height:1;font-weight:700}
    .ih-slk-inner{max-width:960px;margin:0 auto;position:relative;z-index:1}
    .ih-slk-eye{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(212,169,64,.55);text-align:center;margin-bottom:9px}
    .ih-slk-hdg{font-size:clamp(17px,3vw,23px);font-weight:700;color:rgba(255,248,228,.88);text-align:center;margin-bottom:38px;line-height:1.35}
    .ih-slk-hdg em{color:rgba(212,169,64,.9);font-style:normal}
    .ih-slk-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
    .ih-slk-cp{border-color:rgba(212,169,64,.28);background:rgba(212,169,64,.035)}
    [data-theme="light"] .ih-slk-cp{border-color:rgba(130,85,15,.28);background:rgba(212,169,64,.06)}
    @media(max-width:680px){.ih-slk-grid{grid-template-columns:1fr}}
    .ih-slk-card{background:rgba(255,248,220,.022);border:1px solid rgba(212,169,64,.13);border-radius:14px;padding:26px 22px 22px;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden}
    .ih-slk-card::before{content:'';position:absolute;top:0;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent,rgba(212,169,64,.4),transparent)}
    .ih-slk-num{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:rgba(212,169,64,.38);line-height:1.5}
    .ih-slk-dev{font-size:clamp(14px,2.2vw,18px);line-height:1.85;color:rgba(218,178,72,.88);font-weight:500}
    .ih-slk-dev strong{color:rgba(240,200,80,.97)}
    .ih-slk-iast{font-size:11.5px;line-height:1.75;color:rgba(200,155,50,.42);font-style:italic;border-left:2px solid rgba(212,169,64,.14);padding-left:10px}
    .ih-slk-iast strong{color:rgba(200,155,50,.62);font-style:normal}
    .ih-slk-rule{height:1px;background:linear-gradient(90deg,transparent,rgba(212,169,64,.1),transparent);margin:2px 0}
    .ih-slk-mean{font-size:13px;line-height:1.78;color:rgba(255,248,228,.65)}
    .ih-slk-mean em{color:rgba(218,178,72,.85);font-style:normal;font-weight:600}
    .ih-slk-src{font-size:10px;letter-spacing:.05em;color:rgba(176,150,255,.38);text-align:right;margin-top:auto;padding-top:2px}
    /* light theme */
    [data-theme="light"] .ih-slk-sec{background:linear-gradient(180deg,#F7F2E8 0%,#F0E8D5 55%,#F7F2E8 100%)}
    [data-theme="light"] .ih-slk-sec::before{color:rgba(130,85,15,.045)}
    [data-theme="light"] .ih-slk-eye{color:rgba(130,85,15,.65)}
    [data-theme="light"] .ih-slk-hdg{color:rgba(55,30,8,.88)}
    [data-theme="light"] .ih-slk-hdg em{color:rgba(130,85,15,.92)}
    [data-theme="light"] .ih-slk-card{background:rgba(255,255,255,.5);border-color:rgba(130,85,15,.16)}
    [data-theme="light"] .ih-slk-card::before{background:linear-gradient(90deg,transparent,rgba(130,85,15,.28),transparent)}
    [data-theme="light"] .ih-slk-num{color:rgba(130,85,15,.48)}
    [data-theme="light"] .ih-slk-dev{color:rgba(105,60,8,.88)}
    [data-theme="light"] .ih-slk-dev strong{color:rgba(90,45,5,.97)}
    [data-theme="light"] .ih-slk-iast{color:rgba(105,60,8,.45);border-left-color:rgba(130,85,15,.2)}
    [data-theme="light"] .ih-slk-iast strong{color:rgba(105,60,8,.65)}
    [data-theme="light"] .ih-slk-rule{background:linear-gradient(90deg,transparent,rgba(130,85,15,.14),transparent)}
    [data-theme="light"] .ih-slk-mean{color:rgba(40,18,4,.7)}
    [data-theme="light"] .ih-slk-mean em{color:rgba(110,60,8,.88)}
    [data-theme="light"] .ih-slk-src{color:rgba(70,40,110,.42)}

    /* ── 3D TILT + CURSOR GLOW ─────────────────────────────────────────── */
    .ih-dg-card,.ih-tool,.ih-ecl-card,.ih-mcy-card,
    .ih-chip,.ih-fsect-cell,.ih-lb,.ih-chat-submit{position:relative;overflow:hidden}
    ._ihGl{
      position:absolute;inset:0;border-radius:inherit;
      pointer-events:none;opacity:0;
      transition:opacity 0.28s;
      z-index:0;
    }
