/* ==========================================================================
   aCULT "night sky" design layer for the app.

   Loaded after the app's own stylesheet. It changes only colours, type,
   radii, shadows and a few surfaces; it never changes what an element is or
   where the app's code expects to find it. To switch back to the classic look
   for one browser, open the app with ?design=classic (and ?design=nova to
   return). Removing the two <link>/<script> lines from index.html removes it
   for everyone.
   ========================================================================== */

/* ---- tokens: light --------------------------------------------------------- */
html.nova{
  --mark:#16183A;
  --bg:#F3F2FA; --surface:#FFFFFF; --surface-2:#F7F6FC; --surface-3:#EEECF8;
  --ink:#16183A; --ink-body:#393C62; --muted:#686C95;
  --brand:#D72E47; --brand-deep:#B81F3C; --gold:#B87400;
  --learn-ink:#9A6300; --learn-line:rgba(184,116,0,.34);
  --brand-soft:rgba(215,46,71,.10); --gold-soft:rgba(244,184,96,.18);
  --sel:#1B1F4B; --sel-deep:#16183A; --on-sel:#fff; --sel-soft:rgba(27,31,75,.08);
  --ok:#1E9A6B;
  --bg-glass:rgba(243,242,250,.78);
  --fill-strong:#16183A; --on-strong:#fff;
  --line:rgba(22,24,58,.10); --line-strong:rgba(22,24,58,.20); --void:#A3A6C6;
  --sh-1:0 1px 2px rgba(22,24,58,.05);
  --sh-2:0 4px 12px -4px rgba(22,24,58,.08),0 16px 36px -18px rgba(22,24,58,.18);
  --sh-3:0 12px 36px -12px rgba(22,24,58,.22),0 28px 60px -30px rgba(22,24,58,.25);
  --r-sm:12px; --r:16px; --r-lg:22px;
  --font-display:'Unbounded','Noto Sans Devanagari','Tiro Devanagari Hindi',sans-serif;
  --font-body:'Manrope','Noto Sans Devanagari','Tiro Devanagari Hindi',system-ui,sans-serif;
  --font-mono:'Manrope','Noto Sans Devanagari','Tiro Devanagari Hindi',system-ui,sans-serif;
  --nova-glow:rgba(215,46,71,.55);
  --nova-star:transparent;
}
/* ---- tokens: dark (the night sky) ------------------------------------------ */
html.nova[data-theme="dark"]{
  --mark:#EF3D57;
  --bg:#0A0E28; --surface:#141A3F; --surface-2:#1B2250; --surface-3:#232B62;
  --ink:#EEF0FF; --ink-body:#C9CDEE; --muted:#A0A8D2;
  --brand:#EF3D57; --brand-deep:#D42A48; --gold:#F4B860;
  --learn-ink:#F4B860; --learn-line:rgba(244,184,96,.34);
  --brand-soft:rgba(239,61,87,.16); --gold-soft:rgba(244,184,96,.16);
  --sel:#EF3D57; --sel-deep:#C9234A; --on-sel:#fff; --sel-soft:rgba(239,61,87,.16);
  --ok:#4FD8C4;
  --bg-glass:rgba(10,14,40,.74);
  --fill-strong:#EEF0FF; --on-strong:#0A0E28;
  --line:rgba(160,170,235,.14); --line-strong:rgba(160,170,235,.26); --void:#6E76A6;
  --sh-1:0 1px 2px rgba(0,0,0,.4);
  --sh-2:0 14px 34px -18px rgba(0,0,0,.7);
  --sh-3:0 24px 60px -24px rgba(0,0,0,.8);
  --nova-glow:rgba(239,61,87,.8);
}

/* ---- ground ---------------------------------------------------------------- */
html.nova body{font-variant-numeric:tabular-nums;letter-spacing:-.003em}
html.nova[data-theme="dark"] body{
  background-color:var(--bg);
  background-image:
    radial-gradient(1.2px 1.2px at 12% 18%,rgba(255,255,255,.55),transparent 60%),
    radial-gradient(1px 1px at 33% 72%,rgba(255,255,255,.45),transparent 60%),
    radial-gradient(1.4px 1.4px at 58% 26%,rgba(255,255,255,.6),transparent 60%),
    radial-gradient(1px 1px at 78% 62%,rgba(255,255,255,.4),transparent 60%),
    radial-gradient(1px 1px at 88% 12%,rgba(255,255,255,.5),transparent 60%),
    radial-gradient(1.2px 1.2px at 46% 88%,rgba(255,255,255,.35),transparent 60%),
    radial-gradient(1000px 560px at 88% -8%,rgba(239,61,87,.16),transparent 62%),
    radial-gradient(900px 640px at 5% 108%,rgba(157,140,255,.15),transparent 62%);
  background-attachment:fixed;
}
html.nova:not([data-theme="dark"]) body{
  background-image:radial-gradient(900px 500px at 90% -10%,rgba(215,46,71,.07),transparent 60%),
                   radial-gradient(900px 600px at 0% 110%,rgba(109,91,208,.07),transparent 60%);
  background-attachment:fixed;
}

/* ---- type ------------------------------------------------------------------ */
html.nova .panel h2{font-weight:600;letter-spacing:-.02em;font-size:17px}
html.nova[lang="hi"] .panel h2,html.nova[lang="hi"] h1,html.nova[lang="hi"] h2,html.nova[lang="hi"] h3{letter-spacing:0;font-weight:700}
html.nova label{letter-spacing:.02em;text-transform:none;font-size:12.5px;font-weight:700}

/* ---- surfaces -------------------------------------------------------------- */
html.nova .panel{border-radius:var(--r-lg)}
html.nova[data-theme="dark"] .panel{
  background:linear-gradient(180deg,rgba(29,36,84,.92),rgba(20,26,63,.94));
  border-color:var(--line)}
html.nova[data-theme="dark"] .panel:hover{border-color:var(--line-strong)}
html.nova .appbar.stuck{box-shadow:0 10px 30px -18px rgba(10,14,40,.6)}

/* the section rail across the top */
html.nova .mode-btn{font-weight:700;border-radius:12px 12px 0 0}
html.nova .mode-btn[aria-selected="true"]{background:linear-gradient(180deg,transparent 0%,var(--sel-soft) 100%)}
html.nova .mode-btn[aria-selected="true"]::after{height:3px;background:var(--brand);box-shadow:0 0 14px var(--nova-glow)}
html.nova[data-theme="dark"] .mode-btn[aria-selected="true"] .mode-ico{color:var(--brand)}

/* sub-tabs: a pill bar */
html.nova .subtabs{border-radius:16px;padding:5px;gap:4px;background:var(--surface-2)}

/* the main action */
html.nova .calc-btn{background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  box-shadow:0 12px 28px -12px var(--nova-glow);font-weight:800;letter-spacing:0}
html.nova .calc-btn:hover{background:linear-gradient(135deg,var(--brand),var(--brand-deep));filter:brightness(1.07)}

/* fields */
html.nova input,html.nova select,html.nova textarea{border-radius:var(--r-sm)}
html.nova[data-theme="dark"] input,html.nova[data-theme="dark"] select,html.nova[data-theme="dark"] textarea{background:rgba(10,14,40,.55)}
html.nova[data-theme="dark"] input:focus,html.nova[data-theme="dark"] select:focus,html.nova[data-theme="dark"] textarea:focus{background:rgba(10,14,40,.75)}
html.nova[data-theme="dark"] input[type="date"],html.nova[data-theme="dark"] input[type="time"]{color-scheme:dark}

/* ---- insight cards (nova-insights.js) --------------------------------------- */
html.nova .nv-card{margin:0 0 20px;padding:16px;border-radius:18px;border:1px solid var(--line);
  background:linear-gradient(135deg,var(--brand-soft),transparent 55%),var(--surface-2)}
html.nova[data-theme="dark"] .nv-card{background:radial-gradient(420px 220px at 100% 0%,rgba(244,184,96,.14),transparent 70%),linear-gradient(160deg,rgba(42,35,96,.85),rgba(23,29,72,.85))}
html.nova .nv-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
html.nova .nv-stat{padding:12px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--line);min-width:0}
html.nova[data-theme="dark"] .nv-stat{background:rgba(10,14,40,.45)}
html.nova .nv-stat span{display:block;font:700 12px var(--font-body);color:var(--muted)}
html.nova .nv-stat b{display:block;font:600 18px/1.25 var(--font-display);color:var(--ink);margin:4px 0 2px;letter-spacing:-.01em}
html.nova .nv-stat i{display:block;font-style:normal;font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}
html.nova .nv-explain{display:flex;gap:10px;margin-top:12px;padding:12px 14px;border-radius:14px;font-size:14px;line-height:1.55;color:var(--ink-body);
  background:rgba(157,140,255,.10);border:1px solid rgba(157,140,255,.28)}
html.nova .nv-explain b{color:var(--ink)}
html.nova .nv-explain svg{width:20px;height:20px;flex:none;fill:none;stroke:#9D8CFF;stroke-width:1.8;stroke-linecap:round;margin-top:1px}
html.nova .nv-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:6px}
html.nova .nv-head b{font:600 15px var(--font-display);color:var(--ink)}
html.nova .nv-head span{font-size:12.5px;color:var(--muted)}
html.nova .nv-tl{position:relative;padding-top:26px;margin-bottom:14px}
html.nova .nv-segs{display:flex;gap:3px}
html.nova .nv-seg{min-width:0;height:44px;border-radius:9px;display:flex;align-items:center;justify-content:center;overflow:hidden;
  background:color-mix(in srgb,var(--c) 30%,transparent);color:var(--ink);font:700 11.5px var(--font-body);white-space:nowrap}
html.nova .nv-seg.on{background:var(--c);color:#1C1300;box-shadow:0 0 0 2px var(--ink),0 0 20px var(--c)}
html.nova .nv-seg .s{display:none}
@media (max-width:980px){ html.nova .nv-seg .l{display:none} html.nova .nv-seg .s{display:inline} }
html.nova .nv-now{position:absolute;top:0;bottom:20px;border-left:2px dashed var(--ink);z-index:1}
html.nova .nv-now span{position:absolute;top:-2px;left:6px;white-space:nowrap;font:800 11.5px var(--font-body);color:var(--ink)}
html.nova .nv-now[style*="left:8"] span,html.nova .nv-now[style*="left:9"] span{left:auto;right:6px}
html.nova .nv-ticks{display:flex;justify-content:space-between;margin-top:6px;font:700 11px var(--font-body);color:var(--muted)}
html.nova .nv-lvl{padding:12px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--line);min-width:0}
html.nova[data-theme="dark"] .nv-lvl{background:rgba(10,14,40,.45)}
html.nova .nv-lvl>span{font:700 12px var(--font-body);color:var(--muted)}
html.nova .nv-lh{display:flex;align-items:center;gap:10px;margin:8px 0}
html.nova .nv-lh i{width:32px;height:32px;border-radius:50%;flex:none;background:radial-gradient(circle at 35% 30%,#fff9,var(--c) 58%);box-shadow:0 0 16px color-mix(in srgb,var(--c) 60%,transparent)}
html.nova .nv-lh b{display:block;font:600 16px var(--font-display);color:var(--ink)}
html.nova .nv-lh em{display:block;font-style:normal;font-size:12px;color:var(--muted)}
html.nova .nv-bar{height:6px;border-radius:6px;background:var(--line);overflow:hidden}
html.nova .nv-bar i{display:block;height:100%;border-radius:6px;background:var(--c)}
html.nova .nv-lvl small{display:block;margin-top:5px;font:700 11px var(--font-body);color:var(--muted)}
@media (max-width:640px){
  html.nova .nv-grid3{grid-template-columns:1fr}
  html.nova .nv-kundli .nv-grid3{grid-template-columns:repeat(2,minmax(0,1fr))}
  html.nova .nv-kundli .nv-grid3 .nv-stat:last-child{grid-column:1/-1}
  html.nova .nv-seg{height:38px;font-size:10.5px}
}


/* ==========================================================================
   The shell: side rail, Home, phone bar (nova-app.js)
   ========================================================================== */
.nova-rail,.nova-home,.nova-bn,.nova-sheet,.nova-scrim{display:none}

/* ---- rail: desktop and tablet ---- */
@media (min-width:761px){
  html.nova.nova-railed .nova-rail{display:flex;flex-direction:column;gap:1px;position:fixed;left:0;top:0;bottom:0;z-index:65;
    width:var(--nova-rail);padding:18px 12px 22px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;
    background:var(--surface);border-right:1px solid var(--line)}
  html.nova.nova-railed[data-theme="dark"] .nova-rail{background:rgba(9,11,34,.86);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
  html.nova.nova-railed body{padding-left:var(--nova-rail)}
  /* with the rail folded away completely, the app's own top bar comes back */
  html.nova.nova-railed:not([data-rail="hidden"]) .appbar .modes{display:none}
  html.nova.nova-railed:not([data-rail="hidden"]) .appbar .brand{visibility:hidden;width:0;min-width:0;overflow:hidden;margin:0;padding:0}
  html.nova.nova-railed .wrap{max-width:1320px}
  html.nova.nova-railed .install-bar{left:var(--nova-rail) !important}
  /* (the free bar is centred in the content area — see "See paid plans" at the end) */
}
/* The rail has three widths, chosen by nova-app.js from the screen size and
   the collapse button: full (labels), icons, hidden. */
html.nova.nova-railed[data-rail="full"]{--nova-rail:248px}
html.nova.nova-railed[data-rail="icons"]{--nova-rail:84px}
html.nova.nova-railed[data-rail="hidden"]{--nova-rail:0px}
@media (min-width:761px){
  /* The full rail lists every section's sub-tabs, so the in-page bars would
     only repeat them. With the rail folded to icons they come back. */
  html.nova.nova-railed[data-rail="full"] #jsubtabs,
  html.nova.nova-railed[data-rail="full"] #vsubtabs,
  html.nova.nova-railed[data-rail="full"] #kpsubtabs,
  html.nova.nova-railed[data-rail="full"] #bnnsubtabs,
  html.nova.nova-railed[data-rail="full"] #nu-tabs{display:none}
  html.nova.nova-railed[data-rail="hidden"] .nova-rail{display:none}
  html.nova.nova-railed .nova-rail{transition:width .2s ease}
}

html.nova .nv-logo{display:flex;align-items:center;padding:4px 10px 16px}
html.nova .nv-logo a{display:flex;align-items:center;min-width:0}
html.nova .nv-logo img{height:28px;width:auto;max-width:150px}
html.nova[data-theme="dark"] .nv-logo img.l,html.nova:not([data-theme="dark"]) .nv-logo img.d{display:none}
html.nova .nv-grp{font:700 11.5px var(--font-body);color:var(--muted);opacity:.85;padding:14px 12px 4px;letter-spacing:.02em}
html.nova .nv-nav{display:flex;align-items:center;gap:11px;width:100%;padding:8px 12px;border:0;border-radius:12px;background:none;
  color:var(--ink-body);font:600 14px/1.25 var(--font-body);text-align:left;cursor:pointer}
html.nova .nv-nav .ico{width:19px;height:19px;flex:none;display:inline-flex;opacity:.85}
html.nova .nv-nav .ico svg{width:19px;height:19px}
html.nova .nv-nav .tx{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html.nova .nv-nav:hover{background:var(--surface-2);color:var(--ink)}
html.nova .nv-nav.on{color:var(--ink);background:linear-gradient(90deg,var(--brand-soft),transparent);box-shadow:inset 3px 0 0 var(--brand)}
html.nova .nv-nav.on .ico{color:var(--brand);opacity:1}
/* Sections open one at a time. The open section's heading carries the colour;
   its sub-tabs hang from it on a thread in the same colour. */
html.nova .nv-sec{margin:1px 0}
html.nova .nv-shead .chev{margin-left:auto;display:inline-flex;color:var(--muted);opacity:.7;transition:transform .2s ease}
html.nova .nv-shead .chev svg{width:14px;height:14px}
html.nova .nv-sec.open .nv-shead .chev{transform:rotate(90deg);color:var(--brand);opacity:1}
html.nova .nv-sec.open>.nv-shead,html.nova .nv-sec.open>.nv-shead.on{
  background:linear-gradient(100deg,var(--brand-soft),var(--gold-soft) 70%,transparent);box-shadow:inset 3px 0 0 var(--brand)}
html.nova .nv-sec.open>.nv-shead .tx{font-weight:750;color:var(--brand);
  background:linear-gradient(90deg,var(--brand),var(--gold));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
html.nova .nv-sec.open>.nv-shead .ico{color:var(--brand);opacity:1}
html.nova .nv-subs{position:relative;margin:4px 0 8px 21px;padding-left:8px}
html.nova .nv-subs::before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:2px;border-radius:2px;
  background:linear-gradient(var(--brand),var(--gold));opacity:.45}
html.nova .nv-subs.anim{animation:nvSubsIn .22s ease-out}
@keyframes nvSubsIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){html.nova .nv-subs.anim{animation:none}html.nova .nv-shead .chev{transition:none}}
html.nova .nv-sub{padding:6px 10px;font-size:13.5px;font-weight:550}
html.nova .nv-sub.on{box-shadow:none;background:var(--brand-soft);color:var(--ink);font-weight:650}
html.nova .nv-sub .ico,html.nova .nv-sub .ico svg{width:16px;height:16px}
html.nova .nv-nav:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}
@media (min-width:761px){
  html.nova[data-rail="icons"] .nv-logo{justify-content:center;padding:0 0 10px;flex-direction:column;gap:10px}
  html.nova[data-rail="icons"] .nv-logo img.d{content:url(/logo-a.png);height:32px}
  html.nova[data-rail="icons"] .nv-logo img.l{content:url(/logo-a-blue.png);height:32px}
  html.nova[data-rail="icons"] .nv-grp,html.nova[data-rail="icons"] .nv-nav .tx,html.nova[data-rail="icons"] .nv-subs,html.nova[data-rail="icons"] .nv-shead .chev{display:none}
  html.nova[data-rail="icons"] .nv-nav{justify-content:center;padding:11px}
  html.nova[data-rail="icons"] .nv-nav.on{box-shadow:inset 0 -3px 0 var(--brand)}
}
@media (min-width:761px) and (max-width:1100px){
  /* the rail carries Learn, Consult, Community, Install and Saved kundlis here */
  html.nova.nova-railed:not([data-rail="hidden"]) .tb-right .learn-btn{display:none !important}
}
/* the collapse button, and the tab that brings a hidden rail back */
html.nova .nv-logo{position:relative}
html.nova .nv-fold{margin-left:auto;width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:10px;cursor:pointer;
  border:1px solid var(--line-strong);background:var(--surface-2);color:var(--muted)}
html.nova .nv-fold:hover{color:var(--ink);border-color:var(--brand)}
html.nova .nv-fold svg{width:16px;height:16px}
html.nova[data-rail="icons"] .nv-fold{margin-left:0}
.nova-railtab{display:none}
@media (min-width:761px){
  html.nova[data-rail="hidden"] .nova-railtab{display:grid;place-items:center;position:fixed;left:0;top:50%;margin-top:-26px;z-index:66;width:30px;height:52px;
    border-radius:0 14px 14px 0;border:1px solid var(--line-strong);border-left:0;cursor:pointer;
    background:var(--surface);color:var(--ink);box-shadow:var(--sh-2)}
  html.nova[data-rail="hidden"] .nova-railtab svg{width:16px;height:16px}
  html.nova[data-rail="hidden"] .nova-railtab:hover{color:var(--brand)}
}

/* ---- Home ---- */
html.nova.nova-on-home #ioGrid{display:none}
html.nova.nova-on-home .nova-home{display:flex;flex-direction:column;gap:18px;margin-top:8px}
html.nova .nh-head h1{font:600 27px/1.2 var(--font-display);color:var(--ink);letter-spacing:-.02em;margin:0}
html.nova .nh-head p{margin:4px 0 0;color:var(--muted);font-size:14px}
html.nova .nh-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-radius:22px;overflow:hidden;border:1px solid var(--line);
  background:linear-gradient(120deg,#3B1240 0%,#1E1A55 55%,#101640 100%);color:#EEF0FF}
html.nova .nh-hero-tx{padding:26px 28px}
html.nova .nh-title{font:600 26px/1.25 var(--font-display);max-width:480px;letter-spacing:-.02em}
html.nova[lang="hi"] .nh-title{letter-spacing:0}
html.nova .nh-hero p{color:#C9CDEE;margin:8px 0 0;max-width:460px}
html.nova .nh-btns{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
html.nova .nh-btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 18px;border-radius:13px;border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.06);color:#fff;font:800 14px var(--font-body);cursor:pointer}
html.nova .nh-btn.pri{border:0;background:linear-gradient(135deg,#EF3D57,#C9234A);box-shadow:0 10px 26px -10px rgba(239,61,87,.8)}
html.nova .nh-mini{padding:14px 26px 14px 0;border:0;background:none;cursor:pointer}
html.nova .nh-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
html.nova .nh-card{display:block;width:100%;text-align:left;padding:18px 20px;border-radius:20px;border:1px solid var(--line);cursor:pointer;
  background:var(--surface);color:var(--ink-body);font:inherit;box-shadow:var(--sh-2)}
html.nova[data-theme="dark"] .nh-card{background:linear-gradient(180deg,rgba(29,36,84,.92),rgba(20,26,63,.94))}
html.nova .nh-period{background:radial-gradient(420px 220px at 100% 0%,rgba(255,194,77,.20),transparent 70%),var(--surface)}
html.nova[data-theme="dark"] .nh-period{background:radial-gradient(420px 220px at 100% 0%,rgba(255,194,77,.22),transparent 70%),linear-gradient(160deg,#2A2360,#171D48)}
html.nova .nh-ct{font:600 15.5px var(--font-display);color:var(--ink);margin-bottom:12px}
html.nova .nh-per{display:flex;align-items:center;gap:14px}
html.nova .nh-per i{width:56px;height:56px;border-radius:50%;flex:none}
html.nova .nh-per b{display:block;font:600 21px var(--font-display);color:var(--ink);letter-spacing:-.02em}
html.nova .nh-per span{display:block;color:var(--muted);font-size:13px;margin-top:3px}
html.nova .nh-bar{height:7px;border-radius:7px;background:var(--line);overflow:hidden;margin:16px 0 8px}
html.nova .nh-bar i{display:block;height:100%;border-radius:7px;background:linear-gradient(90deg,#FFD99A,#F4B860)}
html.nova .nh-card p{margin:10px 0 0;font-size:13.5px;line-height:1.55}
html.nova .nh-cells{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
html.nova .nh-cells div{padding:11px 12px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line)}
html.nova[data-theme="dark"] .nh-cells div{background:rgba(255,255,255,.04)}
html.nova .nh-cells span{display:block;font:700 12px var(--font-body);color:var(--muted)}
html.nova .nh-cells b{display:block;margin-top:3px;color:var(--ink);font-weight:800}
html.nova .nh-sun{color:var(--muted)}
html.nova .nh-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;color:var(--brand);font-weight:800}
html.nova .nh-sec h2{font:600 17px var(--font-display);color:var(--ink);margin:6px 0 12px;letter-spacing:-.01em}
html.nova .nh-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:10px}
html.nova .nh-tile{display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:16px;border:1px solid var(--line);background:var(--surface);
  color:var(--ink);font:700 13.5px/1.3 var(--font-body);text-align:left;cursor:pointer;min-width:0}
html.nova[data-theme="dark"] .nh-tile{background:rgba(29,36,84,.7)}
html.nova .nh-tile:hover{border-color:var(--brand)}
html.nova .nh-tile .ico{width:36px;height:36px;border-radius:11px;flex:none;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}
html.nova .nh-tile .ico svg{width:20px;height:20px}
html.nova .nh-tile span:last-child{min-width:0;overflow-wrap:break-word;hyphens:auto}
@media (max-width:760px){
  html.nova .nh-hero{grid-template-columns:1fr}
  html.nova .nh-mini{display:none}
  html.nova .nh-hero-tx{padding:22px 20px}
  html.nova .nh-title{font-size:22px}
  html.nova .nh-grid{grid-template-columns:1fr;gap:14px}
  html.nova .nh-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---- phone: bottom bar and the everything sheet ---- */
@media (max-width:760px){
  html.nova.nova-has-bn body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  html.nova .nova-bn{display:flex;align-items:flex-end;position:fixed;left:0;right:0;bottom:0;z-index:70;
    padding:6px 6px calc(8px + env(safe-area-inset-bottom,0px));background:var(--bg-glass);
    -webkit-backdrop-filter:saturate(1.5) blur(14px);backdrop-filter:saturate(1.5) blur(14px);border-top:1px solid var(--line)}
  html.nova .nova-bn button{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border:0;background:none;
    color:var(--muted);font:700 11px/1.2 var(--font-body);cursor:pointer}
  html.nova .nova-bn button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  html.nova .nova-bn button.on{color:var(--brand)}
  html.nova .nova-bn .cta i{width:54px;height:54px;margin-top:-26px;border-radius:50%;display:grid;place-items:center;color:#fff;
    background:linear-gradient(135deg,var(--brand),var(--brand-deep));box-shadow:0 10px 24px -8px var(--nova-glow);border:4px solid var(--bg)}
  html.nova.nova-has-bn .free-bar{bottom:calc(66px + env(safe-area-inset-bottom,0px)) !important}
  html.nova.nova-has-bn .install-bar{bottom:calc(72px + env(safe-area-inset-bottom,0px)) !important}
  html.nova.nova-has-bn body.has-free-bar .install-bar{bottom:calc(130px + env(safe-area-inset-bottom,0px)) !important}
  html.nova .nova-scrim{display:block;position:fixed;inset:0;z-index:71;background:rgba(5,6,26,.5);opacity:0;pointer-events:none;transition:opacity .2s}
  html.nova .nova-sheet{display:block;visibility:hidden;position:fixed;left:0;right:0;bottom:0;z-index:72;transform:translateY(105%);
    transition:transform .24s cubic-bezier(.22,1,.36,1);background:var(--surface);border-radius:24px 24px 0 0;border-top:1px solid var(--line-strong);
    padding:10px 16px calc(18px + env(safe-area-inset-bottom,0px));max-height:82vh;overflow:auto;box-shadow:0 -20px 50px -20px rgba(0,0,0,.5)}
  html.nova.nova-sheet-open .nova-sheet{transform:none;visibility:visible}
  html.nova.nova-sheet-open .nova-scrim{opacity:1;pointer-events:auto}
  html.nova .nova-sheet .grab{width:40px;height:5px;border-radius:5px;background:var(--line-strong);margin:0 auto 6px;cursor:pointer}
  html.nova .nova-sheet .sh-head{display:flex;align-items:center;gap:10px;position:sticky;top:-10px;z-index:1;margin:0 -16px;padding:6px 16px 8px;background:var(--surface)}
  html.nova .nova-sheet .sh-head b{font:600 16px var(--font-display);color:var(--ink)}
  html.nova .nova-sheet .sh-x{margin-left:auto;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;cursor:pointer;
    border:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink)}
  /* the bar stays above the open sheet, so More (now Close) is always there */
  html.nova.nova-sheet-open .nova-bn{z-index:74}
  html.nova .nova-sheet{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px)) !important}
  html.nova .nova-sheet h4{margin:10px 0 10px;font:600 15px var(--font-display);color:var(--ink)}
  html.nova .nova-sheet .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  html.nova .nova-sheet .grid button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;border-radius:14px;
    border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font:700 12px/1.25 var(--font-body);cursor:pointer;text-align:center;min-width:0}
  html.nova .nova-sheet .grid button.on{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}
  html.nova .nova-sheet .grid svg,html.nova .nova-sheet .grid .mode-ico,html.nova .nova-sheet .grid .mode-ico svg{width:22px;height:22px;display:inline-flex}
  html.nova .nova-sheet .grid span:last-child{overflow-wrap:break-word;hyphens:auto}
}
@media print{ .nova-rail,.nova-bn,.nova-sheet,.nova-scrim,.nova-home{display:none !important} html.nova.nova-railed body{padding-left:0} }

/* ---- the birth-details column stays put while results scroll (PC, tablet) ---- */
@media (min-width:761px){
  html.nova.nova-railed #input-col{
    position:sticky;top:calc(var(--nova-appbar,76px) + 12px);
    max-height:calc(100vh - var(--nova-appbar,76px) - 24px);
    overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
    scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;
    /* room for the panels' shadows and focus rings inside the scroll box */
    padding:6px 8px 14px;margin:-6px -8px 0}
  html.nova.nova-railed #input-col::-webkit-scrollbar{width:6px}
  html.nova.nova-railed #input-col::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:6px}
}
/* a tablet keeps the form beside the results instead of above them */
@media (min-width:761px) and (max-width:860px){
  html.nova.nova-railed .grid:not(.io-hidden){grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:18px}
  /* narrow column: one field per line so dates and coordinates are not cut off */
  html.nova.nova-railed #input-col .row-2,html.nova.nova-railed #input-col .row-3{grid-template-columns:minmax(0,1fr) !important;gap:0 !important}
}

/* ---- retrograde / combust / upagraha marks (nova-app.js) ---- */
html.nova{--nm-r:#E23A55;--nm-c:#E89A1C;--nm-u:#6D5BD0}
html.nova[data-theme="dark"]{--nm-r:#EF3D57;--nm-c:#F2A93B;--nm-u:#A99BFF}
html.nova svg .nm-dot.nm-r{fill:var(--nm-r)}
html.nova svg .nm-dot.nm-c{fill:var(--nm-c)}
html.nova svg tspan.nm-l{fill:#fff !important;font-size:8.6px !important;font-weight:800 !important;font-family:var(--font-body) !important}
html.nova svg tspan.nm-lc{fill:#2A1700 !important}
html.nova svg .nm-upa{fill:color-mix(in srgb,var(--nm-u) 12%,transparent);stroke:var(--nm-u);stroke-width:.8;stroke-dasharray:2 1.6}
html.nova svg tspan.pl-up{fill:var(--nm-u) !important;font-style:italic}
html.nova .nm-chip{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 4px;margin:1px 2px;border-radius:999px;
  font:800 11px/1 var(--font-body);font-style:normal;text-decoration:none;color:#fff;background:var(--nm-r);vertical-align:middle}
html.nova .nm-chip.nm-c{background:var(--nm-c);color:#2A1700}
html.nova .nm-upchip{display:inline-block;padding:1px 7px;border-radius:999px;border:1px dashed var(--nm-u);color:var(--nm-u);
  background:color-mix(in srgb,var(--nm-u) 12%,transparent);font:italic 700 11px/1.4 var(--font-body);text-decoration:none;vertical-align:middle}
html.nova td.retro{text-align:center}
html.nova .gc-state[data-nm]{background:none !important;border:0 !important;padding:0 !important;display:inline-flex;gap:3px}

/* ---- plan tags in the app's plan picker: the same light sweep and pulse ---- */
@keyframes novaShine{0%{transform:translateX(-160%) skewX(-22deg)}60%,100%{transform:translateX(340%) skewX(-22deg)}}
@keyframes novaPulseGold{0%,100%{box-shadow:0 4px 12px -5px rgba(244,184,96,.75),0 0 0 0 rgba(244,184,96,.45)}50%{box-shadow:0 6px 18px -5px rgba(244,184,96,.95),0 0 0 6px rgba(244,184,96,0)}}
@keyframes novaPulseRed{0%,100%{box-shadow:0 4px 12px -5px rgba(239,61,87,.75),0 0 0 0 rgba(239,61,87,.45)}50%{box-shadow:0 6px 18px -5px rgba(239,61,87,.95),0 0 0 6px rgba(239,61,87,0)}}
html.nova .pw-plan-badge,html.nova .pw-plan-ultra{overflow:hidden;isolation:isolate;padding:4px 11px !important;font-size:9.5px !important}
html.nova .pw-plan-ultra{background:linear-gradient(135deg,#FFE3A8,#F4B860 55%,#D9942E) !important;color:#2A1700 !important;animation:novaPulseGold 2.8s ease-in-out infinite}
html.nova .pw-plan-badge{background:linear-gradient(135deg,#FF7A8C,#EF3D57 45%,#F4B860) !important;color:#fff !important;animation:novaPulseRed 2.8s ease-in-out infinite}
html.nova .pw-plan-badge::after,html.nova .pw-plan-ultra::after{content:"";position:absolute;top:0;bottom:0;left:0;width:38%;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);animation:novaShine 3.4s ease-in-out infinite}
html.nova .pw-plan-badge::after{animation-delay:1.2s}
@media (prefers-reduced-motion:reduce){ html.nova .pw-plan-badge,html.nova .pw-plan-ultra,html.nova .pw-plan-badge::after,html.nova .pw-plan-ultra::after{animation:none !important} }

/* A section with nothing in the left column (Vastu keeps its inputs with its
   results) uses the whole width, centred, instead of sitting to the right of
   an empty column. */
html.nova.nova-io-empty #ioGrid{grid-template-columns:minmax(0,1fr)}
html.nova.nova-io-empty #input-col{display:none}
html.nova.nova-io-empty #ioGrid>#input-col+div{width:100%;max-width:1080px;margin-inline:auto}

/* The loading line under the app bar: thicker so it reads at a glance. */
html.nova .loadbar{height:4px}
html.nova .loadbar i{border-radius:0 4px 4px 0}

/* ---- My Kundli ------------------------------------------------------------ */
html.nova .nh-myk-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;border-radius:999px;
  font:800 12px var(--font-body);color:#fff;background:linear-gradient(120deg,var(--brand),#E0782F 60%,var(--gold));width:max-content}
html.nova .nh-myk-badge svg{width:13px;height:13px;fill:currentColor;stroke:none}
html.nova .nh-myk{padding:20px;border-radius:22px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--sh-2)}
html.nova[data-theme="dark"] .nh-myk{background:linear-gradient(180deg,rgba(29,36,84,.92),rgba(20,26,63,.94))}
html.nova .nh-myk-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
html.nova .nh-myk-who{min-width:0}
html.nova .nh-myk-who h2{font:600 24px/1.2 var(--font-display);color:var(--ink);margin:10px 0 4px;letter-spacing:-.02em;overflow-wrap:anywhere}
html.nova .nh-myk-who p{margin:0;display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--muted);font-size:13.5px}
html.nova .nh-myk-acts{display:flex;gap:8px;flex-wrap:wrap}
html.nova .nh-btn2{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 16px;border-radius:12px;cursor:pointer;
  border:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink);font:800 13.5px var(--font-body)}
html.nova .nh-btn2:hover{border-color:var(--brand)}
html.nova .nh-btn2.pri{border:0;color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand-deep))}
html.nova .nh-btn2 svg{width:15px;height:15px}
html.nova .nh-myk .nv-card{margin:14px 0 0}
html.nova .nh-myk-wait{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 16px;border-radius:14px;
  background:var(--surface-2);border:1px dashed var(--line-strong)}
html.nova .nh-myk-wait p{margin:0;font-size:13.5px;color:var(--ink-body);max-width:560px}
html.nova .nh-myk-empty{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 18px;border-radius:18px;border:1px dashed var(--line-strong);background:var(--surface)}
html.nova[data-theme="dark"] .nh-myk-empty{background:rgba(29,36,84,.5)}
html.nova .nh-myk-empty p{margin:0;flex:1 1 280px;font-size:13.5px;color:var(--ink-body)}
@media (max-width:760px){ html.nova .nh-myk{padding:16px} html.nova .nh-myk-who h2{font-size:21px} }

/* the tag and its button in the saved-kundli lists */
html.nova .nv-myk-tag{color:#fff !important;border-color:transparent !important;background:linear-gradient(120deg,var(--brand),var(--gold)) !important;font-weight:800}
html.nova .nv-myk-btn{display:inline-flex;align-items:center;gap:6px;cursor:pointer;border-radius:10px;padding:6px 10px;
  border:1px solid var(--line-strong);background:transparent;color:var(--muted);font:700 12.5px var(--font-body);white-space:nowrap}
html.nova .nv-myk-btn svg{width:14px;height:14px;fill:none;stroke:currentColor}
html.nova .nv-myk-btn:hover{color:var(--brand);border-color:var(--brand)}
html.nova .nv-myk-btn.on{color:#fff;border-color:transparent;background:linear-gradient(120deg,var(--brand),var(--gold))}
html.nova .nv-myk-btn.on svg{fill:currentColor}
html.nova .nv-myk-btn.icon{padding:0;width:30px;height:30px;justify-content:center}
html.nova .nv-myk-row{box-shadow:inset 3px 0 0 var(--brand)}
html.nova .nv-myk-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
html.nova .acct-item-info .nv-myk-btn{margin-top:8px;padding:4px 10px;font-size:12px}
html.nova .nh-grid.one{grid-template-columns:minmax(0,1fr)}

/* ---- Home: the full reading of My Kundli ---------------------------------- */
html.nova .nh-myk>*+*{margin-top:14px}
html.nova .nh-snap{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface-2)}
html.nova .nh-snap div{padding:11px 13px;min-width:0;border-left:1px solid var(--line)}
html.nova .nh-snap div:first-child{border-left:0}
html.nova .nh-snap span{display:block;font:700 11.5px var(--font-body);color:var(--muted)}
html.nova .nh-snap b{display:block;margin-top:3px;color:var(--ink);font:700 14px/1.3 var(--font-body);overflow-wrap:anywhere}
html.nova .nh-keys{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
html.nova .nh-key{padding:13px 14px;border-radius:14px;border:1px solid var(--line);background:var(--surface);position:relative;overflow:hidden}
html.nova[data-theme="dark"] .nh-key{background:rgba(10,14,40,.45)}
html.nova .nh-key::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand),var(--gold))}
html.nova .nh-key span{display:block;font:700 11.5px var(--font-body);color:var(--muted)}
html.nova .nh-key b{display:block;font:600 19px/1.25 var(--font-display);color:var(--ink);margin:5px 0 2px;letter-spacing:-.01em}
html.nova .nh-key i{display:block;font-style:normal;font-size:12.5px;color:var(--muted)}
html.nova .nh-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
html.nova .nh-panel{padding:16px;border-radius:18px;border:1px solid var(--line);background:var(--surface)}
html.nova[data-theme="dark"] .nh-panel{background:rgba(10,14,40,.35)}
html.nova .nh-ph{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
html.nova .nh-ph h3{margin:0;font:600 16px var(--font-display);color:var(--ink);letter-spacing:-.01em}
html.nova .nh-note{font:700 11px var(--font-body);color:var(--muted);padding:3px 8px;border-radius:999px;border:1px solid var(--line);cursor:help}
html.nova .nh-count{font:800 13px var(--font-body);color:#fff;padding:4px 10px;border-radius:999px;background:linear-gradient(120deg,var(--brand),var(--gold))}
html.nova .nh-pw{display:flex;align-items:center;gap:10px;padding:6px 0}
html.nova .nh-pw .pl{width:32px;height:32px;flex:none;border-radius:10px;display:grid;place-items:center;font:800 12px var(--font-body);color:#fff;
  background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.55),var(--c) 62%);text-shadow:0 1px 2px rgba(0,0,0,.35)}
html.nova .nh-pw .pwb{flex:1;min-width:0}
html.nova .nh-pw .pwt{display:flex;justify-content:space-between;gap:8px;margin-bottom:5px}
html.nova .nh-pw .pwt b{font:700 13.5px var(--font-body);color:var(--ink)}
html.nova .nh-pw em{font:800 11px var(--font-body);font-style:normal;padding:1px 8px;border-radius:999px}
html.nova .nh-pw em.mighty{color:#0E7A4F;background:rgba(40,190,120,.16)}
html.nova .nh-pw em.strong{color:#2D5FC2;background:rgba(80,130,255,.15)}
html.nova .nh-pw em.steady{color:#9A6400;background:rgba(244,184,96,.2)}
html.nova .nh-pw em.weak{color:var(--brand-deep);background:var(--brand-soft)}
html.nova[data-theme="dark"] .nh-pw em.mighty{color:#6BE3AA}
html.nova[data-theme="dark"] .nh-pw em.strong{color:#9DB8FF}
html.nova[data-theme="dark"] .nh-pw em.steady{color:#F4C77E}
html.nova[data-theme="dark"] .nh-pw em.weak{color:#FF8FA0}
html.nova .nh-pw .bar{height:8px;border-radius:8px;background:var(--line);overflow:hidden}
html.nova .nh-pw .bar i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,color-mix(in srgb,var(--c) 55%,transparent),var(--c))}
html.nova .nh-pw .sc{width:30px;text-align:right;font:800 13px var(--font-body);color:var(--ink);font-variant-numeric:tabular-nums}
html.nova .nh-yogas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
html.nova .nh-yg{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;padding:9px 10px;border-radius:12px;border:1px dashed var(--line-strong);color:var(--muted);opacity:.75}
html.nova .nh-yg .yi{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--surface-2)}
html.nova .nh-yg .yi svg{width:15px;height:15px}
html.nova .nh-yg b{font:700 13px var(--font-body);min-width:0;overflow-wrap:anywhere}
html.nova .nh-yg small{grid-column:1/-1;margin-top:6px;font-size:12px;line-height:1.45;color:var(--ink-body)}
html.nova .nh-yg.on{opacity:1;border-style:solid;border-color:transparent;color:var(--ink);
  background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(120deg,var(--brand),var(--gold)) border-box}
html.nova[data-theme="dark"] .nh-yg.on{background:linear-gradient(#1A2150,#1A2150) padding-box,linear-gradient(120deg,var(--brand),var(--gold)) border-box}
html.nova .nh-yg.on .yi{color:#fff;background:linear-gradient(135deg,var(--brand),var(--gold))}
html.nova .nh-yg.on .yi svg{fill:currentColor;stroke:none}
html.nova .nh-sub{margin:16px 0 8px;font:700 12.5px var(--font-body);color:var(--muted)}
html.nova .nh-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
html.nova .nh-ck{padding:9px 11px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);min-width:0}
html.nova .nh-ck b{display:block;font:700 12.5px var(--font-body);color:var(--ink)}
html.nova .nh-ck em{display:inline-block;margin-top:4px;font:800 11px var(--font-body);font-style:normal;padding:1px 8px;border-radius:999px;color:#0E7A4F;background:rgba(40,190,120,.14)}
html.nova .nh-ck.on em{color:#9A6400;background:rgba(244,184,96,.22)}
html.nova[data-theme="dark"] .nh-ck em{color:#6BE3AA}
html.nova[data-theme="dark"] .nh-ck.on em{color:#F4C77E}
html.nova .nh-ck small{display:block;margin-top:4px;font-size:11.5px;color:var(--muted);line-height:1.4}
html.nova .nh-fine{margin:10px 0 0;font-size:12px;color:var(--muted);line-height:1.5}
html.nova .nh-more{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:0;border:0;background:none;cursor:pointer;color:var(--brand);font:800 13px var(--font-body)}
html.nova .nh-more svg{width:14px;height:14px}
html.nova .nh-tbl-wrap{overflow-x:auto;margin:0 -4px}
html.nova .nh-tbl{width:100%;border-collapse:collapse;font-size:13.5px;min-width:560px}
html.nova .nh-tbl th{text-align:left;text-transform:none;letter-spacing:0;font:700 11.5px var(--font-body);color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line)}
html.nova .nh-tbl td{padding:9px 10px;border-bottom:1px solid var(--line);color:var(--ink-body);white-space:nowrap}
html.nova .nh-tbl tr:last-child td{border-bottom:0}
html.nova .nh-tbl td:first-child{font-weight:700;color:var(--ink)}
html.nova .nh-tbl .num{font-variant-numeric:tabular-nums}
html.nova .nh-tbl .dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--c);margin-right:8px;box-shadow:0 0 8px var(--c)}
html.nova .nh-tbl .flag{font:800 10px var(--font-body);font-style:normal;padding:1px 5px;border-radius:5px;color:#fff;background:#7B6CF0;vertical-align:1px}
html.nova .nh-tbl .flag.c{background:#E0782F}
html.nova .dg{font:700 11.5px var(--font-body);padding:2px 9px;border-radius:999px;background:var(--surface-2);color:var(--ink-body)}
html.nova .dg.ex,html.nova .dg.mt,html.nova .dg.own{color:#0E7A4F;background:rgba(40,190,120,.15)}
html.nova .dg.fr{color:#2D5FC2;background:rgba(80,130,255,.13)}
html.nova .dg.en{color:#9A6400;background:rgba(244,184,96,.2)}
html.nova .dg.deb{color:var(--brand-deep);background:var(--brand-soft)}
html.nova[data-theme="dark"] .dg.ex,html.nova[data-theme="dark"] .dg.mt,html.nova[data-theme="dark"] .dg.own{color:#6BE3AA}
html.nova[data-theme="dark"] .dg.fr{color:#9DB8FF}
html.nova[data-theme="dark"] .dg.en{color:#F4C77E}
html.nova[data-theme="dark"] .dg.deb{color:#FF8FA0}

/* ---- Home: the journey ---------------------------------------------------- */
html.nova .nh-jr{padding:20px;border-radius:22px;color:#EEF0FF;border:1px solid rgba(255,255,255,.08);
  background:radial-gradient(500px 240px at 0% 0%,rgba(239,61,87,.28),transparent 70%),radial-gradient(420px 220px at 100% 100%,rgba(244,184,96,.22),transparent 70%),linear-gradient(135deg,#231556,#131A4A)}
html.nova .nh-jr-top{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
html.nova .nh-lv{position:relative;width:72px;height:72px;flex:none}
html.nova .nh-lv svg{width:72px;height:72px;transform:rotate(-90deg)}
html.nova .nh-lv circle{fill:none;stroke-width:6}
html.nova .nh-lv .tr{stroke:rgba(255,255,255,.12)}
html.nova .nh-lv .fg{stroke:#F4B860;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(244,184,96,.6));transition:stroke-dashoffset .6s ease}
html.nova .nh-lv b{position:absolute;inset:0;display:grid;place-items:center;font:700 24px var(--font-display);color:#fff}
html.nova .nh-jr-who{flex:1 1 220px;min-width:0}
html.nova .nh-jr-who span{font:700 12px var(--font-body);color:#C9CDEE}
html.nova .nh-jr-who h2{margin:2px 0 8px;font:600 24px/1.2 var(--font-display);color:#fff;letter-spacing:-.02em}
html.nova .nh-xpbar{height:9px;border-radius:9px;background:rgba(255,255,255,.12);overflow:hidden;max-width:420px}
html.nova .nh-xpbar i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#EF3D57,#F4B860)}
html.nova .nh-jr-who p{margin:7px 0 0;font-size:13px;color:#C9CDEE}
html.nova .nh-jr-stats{display:flex;gap:10px;flex-wrap:wrap}
html.nova .nh-st{min-width:92px;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);text-align:center}
html.nova .nh-st b{display:block;font:700 22px var(--font-display);color:#fff;font-variant-numeric:tabular-nums}
html.nova .nh-st span{font:700 11.5px var(--font-body);color:#C9CDEE}
html.nova .nh-st.fire b{background:linear-gradient(180deg,#FFD99A,#EF3D57);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
html.nova .nh-quest{display:flex;align-items:center;gap:12px;width:100%;margin-top:16px;padding:12px 14px;border-radius:16px;cursor:pointer;text-align:left;
  border:1px solid rgba(244,184,96,.45);background:rgba(244,184,96,.1);color:#fff;font:inherit}
html.nova .nh-quest:hover{background:rgba(244,184,96,.18)}
html.nova .nh-quest .q-ico{width:40px;height:40px;flex:none;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#EF3D57,#F4B860)}
html.nova .nh-quest .q-tx{flex:1;min-width:0}
html.nova .nh-quest small{display:block;font:700 11.5px var(--font-body);color:#F4C77E}
html.nova .nh-quest b{display:block;font:700 15px var(--font-body)}
html.nova .nh-quest .q-xp{font:800 13px var(--font-body);padding:5px 11px;border-radius:999px;background:#F4B860;color:#2A1A00}
html.nova .nh-badges{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin-top:14px}
html.nova .nh-badge{padding:12px 10px;border-radius:14px;text-align:center;background:rgba(255,255,255,.04);border:1px dashed rgba(255,255,255,.16);opacity:.6}
html.nova .nh-badge .bi{width:40px;height:40px;margin:0 auto 7px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#C9CDEE;filter:grayscale(1)}
html.nova .nh-badge .bi svg{width:19px;height:19px}
html.nova .nh-badge b{display:block;font:700 12.5px var(--font-body);color:#fff}
html.nova .nh-badge small{display:block;margin-top:2px;font-size:11px;color:#AEB3DA;line-height:1.35}
html.nova .nh-badge.on{opacity:1;border:1px solid rgba(244,184,96,.5);background:rgba(244,184,96,.09)}
html.nova .nh-badge.on .bi{filter:none;color:#2A1A00;background:radial-gradient(circle at 35% 30%,#FFE9B8,#F4B860 60%,#E0782F);box-shadow:0 0 18px rgba(244,184,96,.5)}

/* the "+XP" pop */
.nv-xp-pop{position:fixed;left:50%;bottom:96px;z-index:900;display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;pointer-events:none;
  color:#2A1A00;background:linear-gradient(120deg,#FFE3A6,#F4B860);box-shadow:0 12px 30px -10px rgba(224,120,47,.7);font:800 14px var(--font-body,system-ui);
  opacity:0;transform:translate(-50%,12px) scale(.96)}
.nv-xp-pop svg{fill:currentColor;stroke:none}
.nv-xp-pop.show{animation:nvXp 1.8s ease forwards}
@keyframes nvXp{0%{opacity:0;transform:translate(-50%,12px) scale(.96)}15%{opacity:1;transform:translate(-50%,0) scale(1)}80%{opacity:1;transform:translate(-50%,-6px)}100%{opacity:0;transform:translate(-50%,-14px)}}
@media (prefers-reduced-motion:reduce){.nv-xp-pop.show{animation:none;opacity:1;transform:translate(-50%,0)} html.nova .nh-lv .fg{transition:none}}

@media (max-width:1100px){
  html.nova .nh-snap{grid-template-columns:repeat(3,minmax(0,1fr))}
  html.nova .nh-snap div:nth-child(4){border-left:0}
  html.nova .nh-snap div:nth-child(n+4){border-top:1px solid var(--line)}
  html.nova .nh-keys{grid-template-columns:repeat(2,minmax(0,1fr))}
  html.nova .nh-two{grid-template-columns:1fr}
}
@media (max-width:560px){
  html.nova .nh-snap{grid-template-columns:repeat(2,minmax(0,1fr))}
  html.nova .nh-snap div{border-left:0;border-top:1px solid var(--line)}
  html.nova .nh-snap div:nth-child(-n+2){border-top:0}
  html.nova .nh-snap div:nth-child(even){border-left:1px solid var(--line)}
  html.nova .nh-checks{grid-template-columns:1fr}
  html.nova .nh-yg.on{grid-column:1/-1}
  html.nova .nh-jr-stats{width:100%}
  html.nova .nh-st{flex:1;min-width:0}
}
@media (max-width:560px){
  html.nova .nh-badges{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;margin:14px -20px 0;padding:0 20px 4px;scrollbar-width:none}
  html.nova .nh-badges::-webkit-scrollbar{display:none}
  html.nova .nh-badge{flex:0 0 112px;scroll-snap-align:start}
}

/* ---- Home in light mode ------------------------------------------------------
   The greeting banner and the journey panel were drawn for night only (dark
   fills, white text). In daylight they now take the page's own light palette:
   soft white-to-lavender panels with faint red and gold glows, deep ink text,
   white stat boxes and badges, and a mini chart with dark lines. */
html.nova[data-theme="light"] .nh-hero{color:#1B1640;border-color:rgba(40,30,110,.10);
  background:radial-gradient(520px 260px at 0% 0%,rgba(239,61,87,.12),transparent 70%),
             radial-gradient(460px 240px at 100% 100%,rgba(139,124,255,.14),transparent 70%),
             linear-gradient(120deg,#FFF6F7 0%,#F5F2FF 55%,#EEF2FF 100%);
  box-shadow:0 18px 40px -30px rgba(40,30,110,.35)}
html.nova[data-theme="light"] .nh-title{color:#1B1640}
html.nova[data-theme="light"] .nh-hero p{color:#4F4B72}
html.nova[data-theme="light"] .nh-btn{color:#1B1640;background:#fff;border-color:rgba(40,30,110,.16)}
html.nova[data-theme="light"] .nh-btn:hover{border-color:rgba(214,42,69,.45)}
html.nova[data-theme="light"] .nh-btn.pri{color:#fff;border:0;background:linear-gradient(135deg,#EF3D57,#C9234A)}
/* the mini chart: dark lines, and the pastel planet colours deepened for white */
html.nova[data-theme="light"] .nh-mini svg rect{fill:rgba(107,92,224,.05);stroke:rgba(40,30,110,.28)}
html.nova[data-theme="light"] .nh-mini svg path:first-of-type{stroke:rgba(40,30,110,.28)}
html.nova[data-theme="light"] .nh-mini svg text{filter:brightness(.55) saturate(1.6)}

html.nova[data-theme="light"] .nh-jr{color:#1B1640;border-color:rgba(40,30,110,.10);
  background:radial-gradient(500px 240px at 0% 0%,rgba(239,61,87,.10),transparent 70%),
             radial-gradient(420px 220px at 100% 100%,rgba(244,184,96,.16),transparent 70%),
             linear-gradient(135deg,#FFFFFF,#F6F3FF);
  box-shadow:0 18px 40px -30px rgba(40,30,110,.35)}
html.nova[data-theme="light"] .nh-lv .tr{stroke:rgba(40,30,110,.12)}
html.nova[data-theme="light"] .nh-lv .fg{stroke:#E0892A;filter:drop-shadow(0 0 5px rgba(224,137,42,.35))}
html.nova[data-theme="light"] .nh-lv b{color:#1B1640}
html.nova[data-theme="light"] .nh-jr-who span{color:#6E6A92}
html.nova[data-theme="light"] .nh-jr-who h2{color:#1B1640}
html.nova[data-theme="light"] .nh-xpbar{background:rgba(40,30,110,.10)}
html.nova[data-theme="light"] .nh-jr-who p{color:#5E5A80}
html.nova[data-theme="light"] .nh-st{background:#fff;border-color:rgba(40,30,110,.10);box-shadow:0 8px 20px -16px rgba(40,30,110,.4)}
html.nova[data-theme="light"] .nh-st b{color:#1B1640}
html.nova[data-theme="light"] .nh-st span{color:#6E6A92}
html.nova[data-theme="light"] .nh-st.fire b{background:linear-gradient(180deg,#F08A2E,#D42A45);-webkit-background-clip:text;background-clip:text}
html.nova[data-theme="light"] .nh-quest{color:#1B1640;border-color:rgba(200,130,20,.35);background:rgba(244,184,96,.12)}
html.nova[data-theme="light"] .nh-quest:hover{background:rgba(244,184,96,.2)}
html.nova[data-theme="light"] .nh-quest small{color:#9A6400}
html.nova[data-theme="light"] .nh-quest .q-ico{color:#fff}
html.nova[data-theme="light"] .nh-badge{background:rgba(40,30,110,.025);border-color:rgba(40,30,110,.18);opacity:.75}
html.nova[data-theme="light"] .nh-badge .bi{background:rgba(40,30,110,.06);color:#77739A}
html.nova[data-theme="light"] .nh-badge b{color:#1B1640}
html.nova[data-theme="light"] .nh-badge small{color:#6E6A92}
html.nova[data-theme="light"] .nh-badge.on{opacity:1;background:#FFF8EC;border-color:rgba(214,150,40,.45)}
html.nova[data-theme="light"] .nh-badge.on .bi{color:#2A1A00;box-shadow:0 0 14px rgba(244,184,96,.45)}
html.nova[data-theme="light"] .nh-badge.on .bi{color:#2A1A00;background:radial-gradient(circle at 35% 30%,#FFE9B8,#F4B860 60%,#E0782F);filter:none}

/* ---- Home: your sky today ------------------------------------------------------
   Today's transits against the natal chart, the running dasha and what the two
   say together, as a weather gauge, alert "achievements", planet cards and a
   daily reveal. Night first; daylight below. */
html.nova .nk{padding:20px;border-radius:22px;color:#EEF0FF;border:1px solid rgba(255,255,255,.08);
  background:radial-gradient(520px 260px at 100% 0%,rgba(90,160,255,.20),transparent 70%),radial-gradient(460px 240px at 0% 100%,rgba(139,124,255,.22),transparent 70%),linear-gradient(135deg,#141B4E,#1B1450)}
html.nova .nk-top{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
html.nova .nk-gauge{position:relative;width:80px;height:80px;flex:none}
html.nova .nk-gauge svg{width:80px;height:80px;transform:rotate(-90deg)}
html.nova .nk-gauge circle{fill:none;stroke-width:7}
html.nova .nk-gauge .tr{stroke:rgba(255,255,255,.12)}
html.nova .nk-gauge .fg{stroke:#F4B860;stroke-linecap:round;transition:stroke-dashoffset .8s ease}
html.nova .nk-part .fg{stroke:#FFD27A} html.nova .nk-cloud .fg{stroke:#8FB2FF} html.nova .nk-storm .fg{stroke:#FF8FA0}
html.nova .nk-wx{position:absolute;inset:0;display:grid;place-items:center;color:#FFD99A}
html.nova .nk-cloud .nk-wx{color:#B9CCFF} html.nova .nk-storm .nk-wx{color:#FFB3BF}
html.nova .nk-wx svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
html.nova .nk-who{flex:1 1 240px;min-width:0}
html.nova .nk-who span{font:700 12px var(--font-body);color:#C9CDEE}
html.nova .nk-who h2{margin:2px 0 4px;font:600 22px/1.25 var(--font-display);letter-spacing:-.02em;color:#fff}
html.nova .nk-who h2 em{font-style:normal;font:800 13px var(--font-body);padding:3px 9px;border-radius:999px;vertical-align:4px;background:rgba(255,255,255,.12);color:#fff}
html.nova .nk-who p{margin:0;font-size:13.5px;color:#C9CDEE;max-width:560px}
html.nova .nk-wait h2{font-size:17px;opacity:.8}

html.nova .nk-alerts{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;margin-top:16px}
html.nova .nk-alert{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05)}
html.nova .nk-alert i{width:38px;height:38px;flex:none;border-radius:12px;display:grid;place-items:center;font-style:normal;font-size:19px;color:#fff}
html.nova .nk-alert b{display:block;font:800 13.5px var(--font-body);color:#fff}
html.nova .nk-alert p{margin:3px 0 0;font-size:12.8px;line-height:1.5;color:#C9CDEE}
html.nova .nk-alert.good{border-color:rgba(64,210,150,.35);background:rgba(64,210,150,.08)} html.nova .nk-alert.good i{background:linear-gradient(135deg,#2FC7A0,#1E9A6B)}
html.nova .nk-alert.bad{border-color:rgba(255,120,140,.35);background:rgba(255,120,140,.08)} html.nova .nk-alert.bad i{background:linear-gradient(135deg,#EF3D57,#9D2B6B)}
html.nova .nk-alert.warn{border-color:rgba(244,184,96,.4);background:rgba(244,184,96,.08)} html.nova .nk-alert.warn i{background:linear-gradient(135deg,#F4B860,#E0782F)}
html.nova .nk-alert.star{border-color:rgba(255,210,120,.5);background:linear-gradient(120deg,rgba(244,184,96,.14),rgba(139,124,255,.12))}
html.nova .nk-alert.star i{background:radial-gradient(circle at 35% 30%,#FFE9B8,#F4B860 60%,#E0782F);color:#2A1A00;box-shadow:0 0 18px rgba(244,184,96,.5)}

html.nova .nk-planets{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:10px;margin-top:16px}
html.nova .nk-pl{position:relative;padding:12px 13px;border-radius:16px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.045);overflow:hidden}
html.nova .nk-pl::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c)}
html.nova .nk-pl-h{display:flex;align-items:center;gap:9px}
html.nova .nk-orb{width:32px;height:32px;flex:none;border-radius:50%;display:grid;place-items:center;font:800 12px var(--font-body);color:#140E2E;
  background:radial-gradient(circle at 35% 30%,#fff,var(--c) 62%);box-shadow:0 0 14px color-mix(in srgb,var(--c) 55%,transparent)}
html.nova .nk-pl-h > div{flex:1;min-width:0}
html.nova .nk-pl-h b{display:block;font:800 13.5px var(--font-body);color:#fff}
html.nova .nk-pl-h sup{font-size:9.5px;color:#FF9FB0;margin-left:2px}
html.nova .nk-pl-h small{display:block;font-size:12px;color:#C9CDEE}
html.nova .nk-chip{font:800 10.5px var(--font-body);padding:3px 8px;border-radius:999px;white-space:nowrap}
html.nova .nk-pl.good .nk-chip{color:#0E5A40;background:#7EE6BF}
html.nova .nk-pl.test .nk-chip{color:#5A3A00;background:#F4C77E}
html.nova .nk-pos{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0 6px}
html.nova .nk-pos span{font:700 11px var(--font-body);padding:2px 7px;border-radius:7px;background:rgba(255,255,255,.08);color:#DDE0FA}
html.nova .nk-pl p{margin:0;font-size:12.5px;line-height:1.45;color:#C9CDEE}
html.nova .nk-next{display:inline-block;margin-top:8px;font:700 11px var(--font-body);padding:3px 8px;border-radius:999px;color:#FFE3B0;background:rgba(244,184,96,.14)}

html.nova .nk-reveal{display:flex;align-items:center;gap:14px;width:100%;margin-top:16px;padding:14px 16px;border-radius:16px;cursor:pointer;text-align:left;font:inherit;color:#fff;
  border:1px solid rgba(244,184,96,.55);background:linear-gradient(120deg,rgba(239,61,87,.22),rgba(139,124,255,.22));box-shadow:0 0 0 0 rgba(244,184,96,.4);animation:nkPulse 2.6s ease-in-out infinite}
html.nova .nk-reveal span{flex:1}
html.nova .nk-reveal b{display:block;font:800 15px var(--font-body)}
html.nova .nk-reveal small{font:600 12px var(--font-body);color:#F4C77E}
html.nova .nk-reveal em{font-style:normal;font:800 13px var(--font-body);padding:5px 11px;border-radius:999px;background:#F4B860;color:#2A1A00}
@keyframes nkPulse{0%,100%{box-shadow:0 0 0 0 rgba(244,184,96,.0)}50%{box-shadow:0 0 0 6px rgba(244,184,96,.12)}}

html.nova .nk-dasha{margin-top:16px;padding:16px;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05)}
html.nova .nk-dhead{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
html.nova .nk-dhead h3{margin:0;font:600 17px var(--font-display);letter-spacing:-.01em;color:#fff}
html.nova .nk-out{font:800 12px var(--font-body);padding:4px 10px;border-radius:999px}
html.nova .nk-out.good{color:#0E5A40;background:#7EE6BF} html.nova .nk-out.mid{color:#5A3A00;background:#F4C77E} html.nova .nk-out.low{color:#fff;background:#C8395A}
html.nova .nk-chain{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
html.nova .nk-chain span{display:flex;flex-direction:column;padding:8px 12px 8px 14px;border-radius:12px;background:rgba(255,255,255,.06);border-left:3px solid var(--c);min-width:120px}
html.nova .nk-chain small{font:700 11px var(--font-body);color:#AEB3DA}
html.nova .nk-chain b{font:800 14px var(--font-body);color:#fff}
html.nova .nk-chain em{font-style:normal;font-size:11.5px;color:#C9CDEE}
html.nova .nk-dl{padding:10px 0;border-top:1px solid rgba(255,255,255,.08)}
html.nova .nk-dl b{font:800 13.5px var(--font-body);color:#fff}
html.nova .nk-dl p{margin:4px 0 0;font-size:13.5px;line-height:1.6;color:#C9CDEE}
html.nova .nk-dl strong{color:#fff}
html.nova .nk-confirm{display:flex;gap:10px;align-items:flex-start;margin-top:10px;padding:11px 13px;border-radius:14px;border:1px solid rgba(244,184,96,.45);background:rgba(244,184,96,.1)}
html.nova .nk-confirm i{font-style:normal;font-size:18px;color:#F4B860;line-height:1.3}
html.nova .nk-confirm p{margin:0;font-size:13.2px;line-height:1.55;color:#E7E9FB}
html.nova .nk-confirm.off{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.04)} html.nova .nk-confirm.off i{color:#AEB3DA}
html.nova .nk-note{margin:12px 0 0;font-size:11.8px;color:#AEB3DA}
@media (max-width:600px){ html.nova .nk{padding:16px} html.nova .nk-planets{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px} html.nova .nk-pl{padding:11px} }
@media (prefers-reduced-motion:reduce){ html.nova .nk-reveal{animation:none} }

/* daylight */
html.nova[data-theme="light"] .nk{color:#1B1640;border-color:rgba(40,30,110,.10);box-shadow:0 18px 40px -30px rgba(40,30,110,.35);
  background:radial-gradient(520px 260px at 100% 0%,rgba(90,140,255,.12),transparent 70%),radial-gradient(460px 240px at 0% 100%,rgba(139,124,255,.12),transparent 70%),linear-gradient(135deg,#FFFFFF,#F3F5FF)}
html.nova[data-theme="light"] .nk-gauge .tr{stroke:rgba(40,30,110,.1)}
html.nova[data-theme="light"] .nk-gauge .fg{stroke:#E0892A} html.nova[data-theme="light"] .nk-part .fg{stroke:#E8A93A}
html.nova[data-theme="light"] .nk-cloud .fg{stroke:#5B7BE0} html.nova[data-theme="light"] .nk-storm .fg{stroke:#D42A45}
html.nova[data-theme="light"] .nk-wx{color:#D7801F} html.nova[data-theme="light"] .nk-cloud .nk-wx{color:#4F6BCB} html.nova[data-theme="light"] .nk-storm .nk-wx{color:#C8243E}
html.nova[data-theme="light"] .nk-who span,html.nova[data-theme="light"] .nk-who p{color:#5E5A80}
html.nova[data-theme="light"] .nk-who h2{color:#1B1640}
html.nova[data-theme="light"] .nk-who h2 em{background:#1B1640;color:#fff}
html.nova[data-theme="light"] .nk-alert{background:#fff;border-color:rgba(40,30,110,.10)}
html.nova[data-theme="light"] .nk-alert b{color:#1B1640} html.nova[data-theme="light"] .nk-alert p{color:#5E5A80}
html.nova[data-theme="light"] .nk-alert.good{background:#F0FBF6;border-color:rgba(30,154,107,.3)}
html.nova[data-theme="light"] .nk-alert.bad{background:#FFF3F5;border-color:rgba(212,42,69,.28)}
html.nova[data-theme="light"] .nk-alert.warn{background:#FFF8EC;border-color:rgba(214,150,40,.35)}
html.nova[data-theme="light"] .nk-alert.star{background:linear-gradient(120deg,#FFF6E6,#F3F0FF);border-color:rgba(214,150,40,.4)}
html.nova[data-theme="light"] .nk-pl{background:#fff;border-color:rgba(40,30,110,.10);box-shadow:0 8px 20px -18px rgba(40,30,110,.5)}
html.nova[data-theme="light"] .nk-pl-h b{color:#1B1640} html.nova[data-theme="light"] .nk-pl-h small,html.nova[data-theme="light"] .nk-pl p{color:#5E5A80}
html.nova[data-theme="light"] .nk-pl-h sup{color:#C8243E}
html.nova[data-theme="light"] .nk-orb{filter:saturate(1.3) brightness(.92)}
html.nova[data-theme="light"] .nk-pos span{background:#F1EEFB;color:#3F3A68}
html.nova[data-theme="light"] .nk-next{color:#8A5A00;background:#FFF1D6}
html.nova[data-theme="light"] .nk-reveal{color:#1B1640;border-color:rgba(214,150,40,.5);background:linear-gradient(120deg,#FFF1F3,#F1EEFF)}
html.nova[data-theme="light"] .nk-reveal small{color:#9A6400}
html.nova[data-theme="light"] .nk-dasha{background:#fff;border-color:rgba(40,30,110,.10)}
html.nova[data-theme="light"] .nk-dhead h3,html.nova[data-theme="light"] .nk-chain b,html.nova[data-theme="light"] .nk-dl b,html.nova[data-theme="light"] .nk-dl strong{color:#1B1640}
html.nova[data-theme="light"] .nk-chain span{background:#F6F4FC}
html.nova[data-theme="light"] .nk-chain small,html.nova[data-theme="light"] .nk-chain em,html.nova[data-theme="light"] .nk-dl p{color:#5E5A80}
html.nova[data-theme="light"] .nk-dl{border-color:rgba(40,30,110,.08)}
html.nova[data-theme="light"] .nk-confirm{background:#FFF8EC;border-color:rgba(214,150,40,.4)} html.nova[data-theme="light"] .nk-confirm p{color:#3F3A68}
html.nova[data-theme="light"] .nk-confirm i{color:#D7801F}
html.nova[data-theme="light"] .nk-confirm.off{background:#F6F4FC;border-color:rgba(40,30,110,.1)}
html.nova[data-theme="light"] .nk-note{color:#77739A}
html.nova .nk-gauge .nk-wx svg{transform:none;width:28px;height:28px}
html.nova .nk-pl-h b{white-space:nowrap}
/* phones: the tag sits under the name, so it never collides with it */
@media (max-width:600px){
  html.nova .nk-pl-h{flex-wrap:wrap;row-gap:6px}
  html.nova .nk-chip{order:3;margin-left:41px}
}

/* ---- planet discs: solid, not glossy ------------------------------------------
   Flat fills in each graha's own colour with a fine ring, instead of the white
   highlight and glow. Applies to the sky cards, the dasha level dots and the
   "your period" orb. */
html.nova .nk-orb{background:var(--c) !important;box-shadow:inset 0 0 0 1.5px rgba(0,0,0,.14) !important;filter:none !important;color:#15102E}
html.nova .nv-lh i{background:var(--c) !important;box-shadow:inset 0 0 0 1.5px rgba(0,0,0,.14) !important}
html.nova .nh-per > i{background:var(--nh-per-c, #F4B860) !important;box-shadow:inset 0 0 0 1.5px rgba(0,0,0,.14) !important}
html.nova[data-theme="light"] .nk-orb,html.nova[data-theme="light"] .nv-lh i,html.nova[data-theme="light"] .nh-per > i{box-shadow:inset 0 0 0 1.5px rgba(40,30,110,.18) !important}

/* sky cards: the Favourable/Testing tag now leads the row of position pills,
   so a long planet name never runs into it */
html.nova .nk-pos .nk-chip{padding:2px 8px;font-size:11px}
html.nova .nk-pl-h b{white-space:normal}
@media (max-width:600px){ html.nova .nk-chip{order:0;margin-left:0} }

/* Planet power: solid discs and solid bars, like the rest of Home */
html.nova .nh-pw .pl{border-radius:50%;background:var(--c) !important;color:#15102E !important;text-shadow:none !important;
  box-shadow:inset 0 0 0 1.5px rgba(0,0,0,.14)}
html.nova[data-theme="light"] .nh-pw .pl{box-shadow:inset 0 0 0 1.5px rgba(40,30,110,.18)}
html.nova .nh-pw .bar i{background:var(--c) !important}

/* ---- Panchang: Sky Horizon -------------------------------------------------------
   The day drawn as its sky: the sun's path from sunrise to sunset with the
   muhurta windows on it, the sun where it is now, the moon, and a sky that
   turns night, golden or day with the hour. Around it: now and next, what is
   coming up, sun and moon, the five limbs, the windows and the calendar.
   Night first; daylight below. */
html.nova .ns{--ink:#EEF0FF;--body:#C3C7E6;--mute:#8F94BD;--line:rgba(255,255,255,.09);--card:#11164A;--gold:#F2C46D;--good:#3FD1A0;--bad:#F2667D;
  --num:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;margin:6px 0 18px;color:var(--ink)}
html.nova .ns h3{margin:0 0 4px;font:600 15.5px var(--font-display);letter-spacing:-.01em}
html.nova .ns-card{padding:18px 20px;border-radius:20px;border:1px solid var(--line);background:var(--card)}

/* the sky */
html.nova .ns-hero{position:relative;height:360px;border-radius:24px;overflow:hidden;isolation:isolate;border:1px solid var(--line)}
html.nova .ns-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#1E3A8A 0%,#3B63B8 45%,#8FB4E6 78%,#F2D3A0 100%)}
html.nova .ns-hero.ns-golden::before{background:linear-gradient(180deg,#1B2A6B 0%,#3B3C8E 38%,#B0668A 70%,#F2A365 90%,#F6C27A 100%)}
html.nova .ns-hero.ns-night::before{background:linear-gradient(180deg,#070A26 0%,#111848 55%,#22235E 100%)}
html.nova .ns-svg{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
html.nova .ns-stars circle{fill:#fff;opacity:0}
html.nova .ns-golden .ns-stars circle{opacity:.45} html.nova .ns-night .ns-stars circle{opacity:.85}
html.nova .ns-path{fill:none;stroke:rgba(255,255,255,.55);stroke-width:1.6;stroke-dasharray:2 7;stroke-linecap:round}
html.nova .ns-win{fill:none;stroke-width:7;stroke-linecap:round;opacity:.95}
html.nova .ns-win.live{stroke-width:10;filter:drop-shadow(0 0 6px rgba(255,255,255,.6))}
html.nova .ns-abhijit{stroke:#34D39E} html.nova .ns-brahma{stroke:#A994FF}
html.nova .ns-rahu{stroke:#F2566F} html.nova .ns-yama{stroke:#F68A55} html.nova .ns-gulika{stroke:#E4BD4E}
html.nova .ns-noon{stroke:rgba(255,255,255,.55);stroke-width:1.4}
html.nova .ns-sun{fill:#FFF3CF;filter:drop-shadow(0 0 10px rgba(255,220,140,.9))}
html.nova .ns-moon-dark{fill:rgba(20,24,70,.55);stroke:rgba(255,255,255,.35);stroke-width:.8}
html.nova .ns-moon-lit{fill:#F5F3FF;filter:drop-shadow(0 0 6px rgba(245,243,255,.6))}
html.nova .ns-moon-wait{opacity:.8}
html.nova .ns-top{display:flex;justify-content:space-between;gap:16px;padding:22px 26px}
html.nova .ns-title > span{font:700 12.5px var(--font-body);color:rgba(255,255,255,.85);text-shadow:0 1px 8px rgba(0,0,0,.35)}
html.nova .ns-title h2{margin:4px 0 2px;font:600 30px/1.15 var(--font-display);letter-spacing:-.03em;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.35)}
html.nova .ns-title p{margin:0 0 12px;font:600 13.5px var(--font-body);color:rgba(255,255,255,.85);text-shadow:0 1px 8px rgba(0,0,0,.35)}
html.nova .ns-pill{display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border-radius:14px;color:#fff;
  background:rgba(8,10,40,.45);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}
html.nova .ns-pill b{font:500 15px var(--num)} html.nova .ns-pill span{font:600 13px var(--font-body)}
html.nova .ns-pill.bad{border-color:rgba(242,102,125,.6)} html.nova .ns-pill.bad span{color:#FFC9D1}
html.nova .ns-pill.good{border-color:rgba(63,209,160,.6)} html.nova .ns-pill.good span{color:#B8F2DD}
html.nova .ns-grade{text-align:right;color:#fff;flex:none}
html.nova .ns-grade span{display:block;font:700 12px var(--font-body);opacity:.85}
html.nova .ns-grade b{display:block;font:600 44px/1.05 var(--font-display);letter-spacing:-.04em;text-shadow:0 2px 14px rgba(0,0,0,.35)}
html.nova .ns-grade em{font-style:normal;font:800 12px var(--font-body);padding:3px 11px;border-radius:999px;background:rgba(255,255,255,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
html.nova .ns-g-hi em{background:linear-gradient(135deg,#F6D48F,#C98B3A);color:#2A1A00} html.nova .ns-g-low em{background:rgba(242,102,125,.8)}
html.nova .ns-horizon{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:space-between;padding:0 26px;font:600 12px var(--num);color:#E6E4FF}
html.nova .ns-horizon span{display:inline-flex;align-items:center;gap:5px}
html.nova .ns-horizon svg{fill:none;stroke:#F2C46D;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* now / next / next change */
html.nova .ns-nnrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
html.nova .ns-nn{padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:var(--card);border-left:3px solid var(--mute)}
html.nova .ns-nn.good{border-left-color:var(--good)} html.nova .ns-nn.bad{border-left-color:var(--bad)} html.nova .ns-nn.limb{border-left-color:var(--gold)}
html.nova .ns-nn span{display:block;font:700 11.5px var(--font-body);color:var(--mute)}
html.nova .ns-nn b{display:block;margin:2px 0;font:600 17px var(--font-display);letter-spacing:-.01em}
html.nova .ns-nn small{font-size:12.5px;color:var(--body)}

/* coming up + sun & moon */
html.nova .ns-row3{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:12px;margin-top:12px}
html.nova .ns-ev{list-style:none;margin:10px 0 0;padding:0;position:relative}
html.nova .ns-ev::before{content:"";position:absolute;left:67px;top:6px;bottom:6px;width:1px;background:var(--line)}
html.nova .ns-ev li{display:grid;grid-template-columns:58px 18px 1fr;align-items:center;gap:0;padding:6px 0;font-size:13px;color:var(--body)}
html.nova .ns-ev time{font:500 12px var(--num);color:var(--mute);text-align:right;padding-right:6px}
html.nova .ns-ev i{justify-self:center;width:9px;height:9px;border-radius:50%;background:var(--mute);box-shadow:0 0 0 3px var(--card);position:relative}
html.nova .ns-ev-good i{background:var(--good)} html.nova .ns-ev-bad i{background:var(--bad)} html.nova .ns-ev-sun i{background:var(--gold)}
html.nova .ns-ev-moon i{background:#D9DCFF} html.nova .ns-ev-limb i{background:#A994FF} html.nova .ns-ev-mute i{background:transparent;border:1.5px solid var(--mute)}
html.nova .ns-ev b{color:var(--ink);font-weight:700} html.nova .ns-ev-k{font-style:normal;font-size:11.5px;color:var(--mute);margin-left:4px}
html.nova .ns-ev-mute span{color:var(--mute)}
html.nova .ns-sm-moon{display:flex;align-items:center;gap:14px;margin:10px 0 12px}
html.nova .ns-sm-moon svg{width:58px;height:58px;flex:none}
html.nova .ns-sm-moon b{display:block;font:500 22px var(--num)} html.nova .ns-sm-moon span{font-size:12.5px;color:var(--mute)}
html.nova .ns-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
html.nova .ns-grid div{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px solid var(--line)}
html.nova .ns-grid span{font-size:12.5px;color:var(--mute)} html.nova .ns-grid b{font:500 12.5px var(--num);text-align:right}

/* the constellation quest and rewards */
html.nova .ns-row2{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:12px;margin-top:12px}
html.nova .ns-quest{background:radial-gradient(420px 220px at 20% 0%,rgba(242,196,109,.12),transparent 70%),var(--card);border-color:rgba(242,196,109,.28)}
html.nova .ns-quest.complete{border-color:rgba(63,209,160,.4)}
html.nova .ns-quest p,html.nova .ns-rew p{margin:0;font-size:13px;color:var(--body)}
html.nova .ns-const{width:100%;height:auto;display:block;margin-top:6px}
html.nova .ns-const line.off{stroke:rgba(255,255,255,.14);stroke-width:1.4;stroke-dasharray:4 5}
html.nova .ns-const line.on{stroke:rgba(242,196,109,.75);stroke-width:1.6}
html.nova .ns-const .star{fill:none;stroke:var(--mute);stroke-width:1.5}
html.nova .ns-const .star.on{fill:#FFD98F;stroke:none;filter:drop-shadow(0 0 8px #FFD27A)}
html.nova .ns-const .halo{fill:rgba(255,210,122,.14)}
html.nova .ns-const text{fill:var(--body);font:700 11.5px var(--font-body);text-anchor:middle}
html.nova .ns-sk{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;margin-top:8px}
html.nova .ns-sk b{font:500 30px var(--num);color:var(--gold)} html.nova .ns-sk > span{font-size:12.5px;color:var(--mute)}
html.nova .ns-dots{display:flex;gap:6px;width:100%}
html.nova .ns-dots span{flex:1;height:30px;border-radius:9px;background:rgba(255,255,255,.05)}
html.nova .ns-dots span.on{background:linear-gradient(135deg,#F6D48F,#C98B3A)}
html.nova .ns-dots span.today:not(.on){border:1.5px dashed var(--gold);background:transparent}
html.nova .ns-badge{margin-top:12px} html.nova .ns-badge span{font:700 12px var(--font-body);color:var(--mute)}
html.nova .ns-bar{height:6px;margin-top:6px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}
html.nova .ns-bar i{display:block;height:100%;background:linear-gradient(90deg,#F6D48F,#C98B3A)}
html.nova .ns-bqs{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
html.nova .ns-bq{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;border:1px solid var(--line)}
html.nova .ns-bq i{width:9px;height:9px;flex:none;border-radius:50%;border:1.5px solid var(--mute)}
html.nova .ns-bq div{flex:1;min-width:0} html.nova .ns-bq b{display:block;font:700 12.5px var(--font-body)} html.nova .ns-bq small{font-size:11.5px;color:var(--mute)}
html.nova .ns-bq em{font-style:normal;font:500 11.5px var(--num);color:var(--mute)}
html.nova .ns-bq.live{border-color:rgba(63,209,160,.55);background:rgba(63,209,160,.08)} html.nova .ns-bq.live i{border-color:var(--good);background:var(--good)}
html.nova .ns-bq.done i{background:var(--gold);border-color:var(--gold)} html.nova .ns-bq.done em{color:var(--gold)} html.nova .ns-bq.gone{opacity:.55}
html.nova .ns-claim{padding:5px 10px;border-radius:999px;border:0;cursor:pointer;font:800 11.5px var(--font-body);color:#2A1A00;background:linear-gradient(135deg,#F6D48F,#C98B3A)}

/* the five limbs */
html.nova .ns-limbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px}
html.nova .ns-limb{--jt:#F2C46D;position:relative;display:flex;flex-direction:column;gap:3px;padding:16px;border-radius:18px;text-align:left;cursor:pointer;font:inherit;color:inherit;
  border:1px solid var(--line);background:var(--card);overflow:hidden;transition:border-color .2s,transform .2s}
html.nova .ns-limb:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--jt) 45%,transparent)}
html.nova .ns-l-tithi{--jt:#8F96F0} html.nova .ns-l-nak{--jt:#A283F5} html.nova .ns-l-yoga{--jt:#37C2D6} html.nova .ns-l-karana{--jt:#EE7C92}
html.nova .ns-li{position:relative;width:38px;height:38px;margin-bottom:8px;border-radius:12px;display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,color-mix(in srgb,var(--jt) 85%,#fff),color-mix(in srgb,var(--jt) 72%,#000))}
html.nova .ns-l-vaar .ns-li{color:#2A1A00}
html.nova .ns-li svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html.nova .ns-ok{position:absolute;right:-6px;top:-6px;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:10px;font-weight:900;color:#2A1A00;background:linear-gradient(135deg,#F6D48F,#C98B3A)}
html.nova .ns-limb > span{font:700 11.5px var(--font-body);color:var(--mute)}
html.nova .ns-limb > b{font:600 16px/1.25 var(--font-display);letter-spacing:-.01em}
html.nova .ns-limb small{font-size:12px;color:var(--body)}
html.nova .ns-end{font-style:normal;margin-top:6px;font:500 11.5px var(--num);color:var(--jt)}
html.nova .ns-nx{font-style:normal;font-size:12px;color:var(--mute)}
html.nova .ns-tap{margin:10px 0 0;padding-top:9px;border-top:1px dashed var(--line);font:700 11.5px var(--font-body);color:var(--jt)}
html.nova .ns-mean{margin:10px 0 0;padding-top:9px;border-top:1px solid color-mix(in srgb,var(--jt) 35%,transparent);font-size:12.5px;line-height:1.5;color:var(--body)}
html.nova .ns-limb.open{box-shadow:inset 0 2px 0 var(--jt);background:linear-gradient(180deg,color-mix(in srgb,var(--jt) 10%,var(--card)),var(--card))}

/* windows */
html.nova .ns-win-card,html.nova .ns-cal{margin-top:12px}
html.nova .ns-wcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px 26px;margin-top:10px}
html.nova .ns-wcols h4{margin:0 0 4px;font:700 12px var(--font-body);color:var(--mute)} html.nova .ns-wcols h4.good{color:var(--good)} html.nova .ns-wcols h4.bad{color:var(--bad)}
html.nova .ns-wl{list-style:none;margin:0;padding:0}
html.nova .ns-wl li{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line)}
html.nova .ns-wl div{flex:1;min-width:0} html.nova .ns-wl b{display:block;font:700 13px var(--font-body)} html.nova .ns-wl span{font:500 12px var(--num);color:var(--body)}
html.nova .ns-wl em{font-style:normal;font:500 11px var(--num);white-space:nowrap}
html.nova .ns-wl em.live{padding:2px 7px;border-radius:999px;border:1px solid currentColor;color:var(--good)} html.nova .ns-wl li.bad em.live{color:var(--bad)}
html.nova .ns-wl em.soon{color:var(--gold)} html.nova .ns-wl em.past{color:var(--mute);opacity:.7}
html.nova .ns-wl li.live{background:linear-gradient(90deg,rgba(63,209,160,.1),transparent);border-radius:8px;padding-left:8px;padding-right:8px}
html.nova .ns-wl li.bad.live{background:linear-gradient(90deg,rgba(242,102,125,.12),transparent)}
html.nova .ns-sw{width:10px;height:10px;flex:none;border-radius:3px}
html.nova .ns-sw.ns-abhijit{background:#34D39E} html.nova .ns-sw.ns-brahma{background:#A994FF} html.nova .ns-sw.ns-rahu{background:#F2566F}
html.nova .ns-sw.ns-yama{background:#F68A55} html.nova .ns-sw.ns-gulika{background:#E4BD4E}
html.nova .ns-sw.star{border-radius:50%;background:var(--gold)} html.nova .ns-sw.warn{border-radius:50%;background:var(--bad)}

/* calendar */
html.nova .ns-cells{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:10px}
html.nova .ns-cells div{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid var(--line)}
html.nova .ns-cells span{display:block;font:700 11px var(--font-body);color:var(--mute)} html.nova .ns-cells b{font:700 13.5px var(--font-body)}
html.nova .ns-note{margin:12px 2px 0;font-size:11.8px;line-height:1.55;color:var(--mute)}

/* the classic table, folded */
html.nova .np-classic{margin-top:6px;border-radius:14px;border:1px solid rgba(255,255,255,.09)}
html.nova .np-classic > summary{cursor:pointer;padding:12px 14px;font:700 13px var(--font-body);list-style:none}
html.nova .np-classic > summary::-webkit-details-marker{display:none}
html.nova .np-classic > summary::after{content:"\25BE";float:right;opacity:.6}
html.nova .np-classic[open] > summary{border-bottom:1px solid rgba(255,255,255,.09)}
html.nova .np-classic > :not(summary){margin-left:14px;margin-right:14px}

@media (max-width:1100px){ html.nova .ns-limbs{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:900px){ html.nova .ns-row3,html.nova .ns-row2{grid-template-columns:1fr} }
@media (max-width:760px){
  html.nova .ns-hero{height:380px}
  html.nova .ns-top{flex-direction:column;padding:18px}
  html.nova .ns-grade{text-align:left;display:flex;align-items:baseline;gap:10px}
  html.nova .ns-grade b{font-size:32px} html.nova .ns-grade span{display:inline}
  html.nova .ns-title h2{font-size:24px}
  html.nova .ns-nnrow{grid-template-columns:1fr}
  html.nova .ns-limbs{grid-template-columns:repeat(2,minmax(0,1fr))}
  html.nova .ns-limb:first-child{grid-column:1/-1}
  html.nova .ns-horizon{padding:0 16px;font-size:11px}
}

/* daylight: the sky stays a picture; the cards go light */
html.nova[data-theme="light"] .ns{--ink:#1B1640;--body:#4F4B72;--mute:#7C789C;--line:rgba(40,30,110,.10);--card:#FFFFFF;--gold:#B7801F;--good:#1E9A6B;--bad:#C8374F}
html.nova[data-theme="light"] .ns-card,html.nova[data-theme="light"] .ns-nn,html.nova[data-theme="light"] .ns-limb{box-shadow:0 12px 28px -24px rgba(40,30,110,.45)}
html.nova[data-theme="light"] .ns-quest{background:radial-gradient(420px 220px at 20% 0%,rgba(242,196,109,.18),transparent 70%),#fff;border-color:rgba(183,128,31,.3)}
html.nova[data-theme="light"] .ns-const line.off{stroke:rgba(40,30,110,.18)}
html.nova[data-theme="light"] .ns-const .star.on{fill:#F2B64F;filter:drop-shadow(0 0 6px rgba(242,182,79,.7))}
html.nova[data-theme="light"] .ns-const .halo{fill:rgba(242,182,79,.16)}
html.nova[data-theme="light"] .ns-dots span,html.nova[data-theme="light"] .ns-bar{background:rgba(40,30,110,.07)}
html.nova[data-theme="light"] .ns-cells div{background:#FAF9FF}
html.nova[data-theme="light"] .ns-ev i{box-shadow:0 0 0 3px #fff}
html.nova[data-theme="light"] .ns-ev-moon i{background:#8F96F0}
html.nova[data-theme="light"] .ns-sm-moon .ns-moon-dark{fill:rgba(40,30,110,.1);stroke:rgba(40,30,110,.3)}
html.nova[data-theme="light"] .ns-sm-moon .ns-moon-lit{fill:#fff;stroke:rgba(40,30,110,.35);stroke-width:.8;filter:drop-shadow(0 0 4px rgba(242,196,109,.6))}
html.nova[data-theme="light"] .ns-limb.open{background:linear-gradient(180deg,color-mix(in srgb,var(--jt) 10%,#fff),#fff)}
html.nova[data-theme="light"] .ns-end,html.nova[data-theme="light"] .ns-tap{color:color-mix(in srgb,var(--jt) 72%,#000)}
html.nova[data-theme="light"] .np-classic{border-color:rgba(40,30,110,.1)}
html.nova .ns-svg{overflow:visible}
html.nova .ns-ev li{grid-template-columns:72px 18px 1fr}
html.nova .ns-ev::before{left:81px}
html.nova .ns-ev time{white-space:nowrap}
html.nova .ns-ev-k{font-style:normal}
html.nova .ns-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
html.nova .ns-grid b{white-space:nowrap}
html.nova .ns-pill b{white-space:nowrap}
@media (max-width:760px){
  html.nova .ns-hero{height:auto;display:flex;flex-direction:column}
  html.nova .ns-top{order:1}
  html.nova .ns-svg{order:2;position:relative;inset:auto;height:auto;aspect-ratio:1000/300;margin-top:-6px}
  html.nova .ns-horizon{order:3;position:static;padding:4px 16px 14px;background:#0B0E2E}
  html.nova .ns-horizon span:nth-child(2){display:none}
}


/* ===================================================================== */
/* "See paid plans" — the free-account button                             */
/* It is centred with left:50% + translateX(-50%). With the left rail the  */
/* old rule moved its LEFT EDGE to the rail but kept the half-width shift, */
/* so half of it slid under the rail ("D PLANS"). It is now centred in the */
/* content area beside the rail — wide rail on a PC, icon rail on a        */
/* tablet, none on a phone (where it sits above the bottom bar).           */
/* Icons are drawn here, around the text the app writes into the button,   */
/* so the English / Hindi label can change freely.                        */
/* ===================================================================== */
html.nova .free-bar{
  left:calc(var(--nova-rail, 0px) + (100vw - var(--nova-rail, 0px)) / 2) !important;
  bottom:calc(22px + env(safe-area-inset-bottom, 0px));
  width:auto !important; min-width:300px;
  max-width:min(420px, calc(100vw - var(--nova-rail, 0px) - 32px));
  border-radius:999px; overflow:hidden; isolation:isolate;
  filter:drop-shadow(0 18px 30px rgba(170, 24, 52, .32));
}
/* the light that sweeps across, now on the container */
html.nova .free-bar::after{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:2;
  background:linear-gradient(105deg, transparent 38%, rgba(255,255,255,.38) 50%, transparent 62%);
  transform:translateX(-120%); animation:fbSweep 5.2s ease-in-out infinite;
}
html.nova .free-bar button{
  display:flex; align-items:center; justify-content:center; gap:10px;
  width:100%; min-height:58px; padding:0 66px 0 66px !important;
  border:1px solid rgba(255,255,255,.28) !important; border-radius:999px;
  font:800 15px/1 var(--font-body) !important; letter-spacing:.09em !important;
  text-transform:uppercase; color:#fff;
  background:linear-gradient(115deg, #c81e45 0%, #e8364f 34%, #ff6e4e 62%, #d42a55 100%) !important;
  background-size:200% 100% !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38), inset 0 -2px 0 rgba(90,0,30,.18) !important;
  animation:fbSheen 6s linear infinite !important;
  transition:transform .18s cubic-bezier(.3,1.5,.6,1), filter .18s !important;
}
html.nova .free-bar button:hover{ transform:translateY(-2px); filter:brightness(1.05) saturate(1.05); }
html.nova .free-bar button:active{ transform:translateY(0) scale(.985); }
html.nova .free-bar button:focus-visible{ outline:3px solid #ffd479; outline-offset:3px; }
/* crown, on the left */
html.nova .free-bar button::before{
  content:""; position:absolute; left:10px; top:50%; transform:translateY(-50%);
  width:38px; height:38px; border-radius:50%;
  background:rgba(255,255,255,.2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8l4.5 4L12 5l4.5 7L21 8l-2 10H5L3 8z'/%3E%3Cpath d='M5 21h14'/%3E%3C/svg%3E") center/20px 20px no-repeat;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);
}
/* arrow, on the right */
html.nova .free-bar button::after{
  content:"" !important; position:absolute;
  /* the old stylesheet stretches this across the whole button (inset:0) */
  top:50% !important; right:10px !important; bottom:auto !important; left:auto !important;
  transform:translateY(-50%) !important; animation:none !important;
  width:38px; height:38px; border-radius:50%;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d22a4a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M13 6l6 6-6 6'/%3E%3C/svg%3E") center/18px 18px no-repeat !important;
  box-shadow:0 4px 12px -4px rgba(120,0,30,.45);
  transition:transform .2s cubic-bezier(.3,1.5,.6,1);
}
html.nova .free-bar button:hover::after{ transform:translate(3px, -50%) !important; }
/* a soft glow that breathes under the button (a drop-shadow, so the
   rounded clip that keeps the sweep inside does not cut it off) */
html.nova .free-bar{ animation:fbIn .45s cubic-bezier(.34,1.4,.64,1) both, fbBreathe 3.6s ease-in-out .5s infinite; }
@keyframes fbBreathe{
  0%,100%{ filter:drop-shadow(0 16px 26px rgba(170,24,52,.30)) }
  50%    { filter:drop-shadow(0 20px 38px rgba(210,40,70,.52)) } }
html.nova[lang="hi"] .free-bar button, html.nova .free-bar button:lang(hi){ letter-spacing:.02em !important; font-size:16px !important; }

/* room under the content so the bar never covers the last cards */
html.nova body.has-free-bar .wrap, html.nova body.has-free-bar main{ padding-bottom:108px; }

/* phones: full width, just above the bottom navigation */
@media (max-width: 760px){
  html.nova .free-bar{
    left:50% !important; min-width:0;
    width:calc(100vw - 24px) !important; max-width:none;
  }
  html.nova .free-bar button{ min-height:54px; font-size:14px !important; letter-spacing:.07em !important; padding:0 58px !important; }
  html.nova .free-bar button::before, html.nova .free-bar button::after{ width:34px; height:34px; }
  html.nova body.has-free-bar .wrap, html.nova body.has-free-bar main{ padding-bottom:90px; }
}
@media (prefers-reduced-motion: reduce){
  html.nova .free-bar, html.nova .free-bar::after, html.nova .free-bar button{ animation:none !important; }
}

/* ---- Home: Your reading now ------------------------------------------------ */
html.nova .nh-now{margin:14px 0 18px;padding:22px 20px 18px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-2)}
html.nova .nn-top{padding-bottom:14px;border-bottom:1px solid var(--line)}
html.nova .nn-k{display:block;font:700 13px var(--font-body);color:var(--gold)}
html.nova .nn-top h2{margin:6px 0 6px;font:600 21px/1.35 var(--font-display);color:var(--ink);letter-spacing:-.015em;max-width:44ch}
html.nova[lang="hi"] .nn-top h2{font:700 21px/1.5 var(--font-body)}
html.nova .nn-for{margin:0;font:600 13.5px var(--font-body);color:var(--muted)}
html.nova .nn-dasha{display:grid;gap:10px;margin:16px 0}
html.nova .nn-per-h{display:flex;align-items:baseline;gap:8px;font:600 13px var(--font-body);color:var(--muted)}
html.nova .nn-per-h b{font:700 15px var(--font-body);color:var(--ink)}
html.nova .nn-per-h em{margin-left:auto;font-style:normal;font-variant-numeric:tabular-nums}
html.nova .nn-track{height:7px;margin-top:5px;border-radius:99px;background:var(--surface-3);overflow:hidden}
html.nova .nn-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--brand),var(--gold))}
html.nova .nn-lords{display:grid;gap:12px}
@media (min-width:860px){html.nova .nn-lords{grid-template-columns:1fr 1fr}}
html.nova .nn-lord{padding:14px 15px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line)}
html.nova .nn-lord-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
html.nova .nn-lord-h span{font:700 12.5px var(--font-body);color:var(--muted)}
html.nova .nn-lord-h b{font:600 17px var(--font-display);color:var(--ink)}
html.nova .nn-lord > p{margin:8px 0 10px;font:500 14px/1.55 var(--font-body);color:var(--ink-body)}
html.nova .nn-row{display:grid;grid-template-columns:104px 1fr;gap:10px;align-items:start;padding:7px 0;border-top:1px dashed var(--line)}
html.nova .nn-row p{margin:0;font:500 13.5px/1.5 var(--font-body);color:var(--ink-body)}
html.nova .nn-lab{font:700 12.5px var(--font-body);color:var(--muted);padding-top:3px}
html.nova .nn-chip{display:inline-block;margin:0 6px 6px 0;padding:4px 10px;border-radius:99px;background:var(--gold-soft);color:var(--ink);font:600 12.5px var(--font-body)}
html.nova .nn-note{margin:8px 0 0;font:500 12.5px/1.5 var(--font-body);color:var(--muted)}
html.nova .nn-pill{margin-left:auto;padding:3px 10px;border-radius:99px;font:700 11.5px var(--font-body);font-style:normal;white-space:nowrap}
html.nova .nn-pill.good{background:rgba(30,154,107,.14);color:var(--ok)}
html.nova .nn-pill.mixed{background:var(--gold-soft);color:var(--gold)}
html.nova .nn-pill.hard{background:var(--brand-soft);color:var(--brand)}
html.nova .nn-pill.quiet{background:var(--surface-3);color:var(--muted)}
html.nova .nn-rel{margin:12px 0 0;padding:10px 13px;border-radius:var(--r-sm);font:600 13.5px/1.5 var(--font-body);color:var(--ink-body);background:var(--surface-2);border-left:3px solid var(--gold)}
html.nova .nn-rel.good{border-left-color:var(--ok)} html.nova .nn-rel.hard{border-left-color:var(--brand)}
html.nova .nn-h{margin:22px 0 10px;font:600 15px var(--font-display);color:var(--ink);letter-spacing:-.01em}
html.nova[lang="hi"] .nn-h{font:700 16px var(--font-body)}
html.nova .nn-areas{display:grid;gap:10px;grid-template-columns:1fr}
@media (min-width:560px){html.nova .nn-areas{grid-template-columns:1fr 1fr}}
html.nova .nn-area{padding:12px 14px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line)}
html.nova .nn-area-h{display:flex;align-items:center;gap:8px}
html.nova .nn-area-h .ico{font-size:18px}
html.nova .nn-area-h b{font:700 14.5px var(--font-body);color:var(--ink)}
html.nova .nn-area p{margin:7px 0 0;font:500 13px/1.5 var(--font-body);color:var(--muted)}
html.nova .nn-alert{margin:0 0 8px;padding:11px 13px;border-radius:var(--r-sm);background:var(--gold-soft);border:1px solid var(--line)}
html.nova .nn-alert.bad{background:var(--brand-soft)} html.nova .nn-alert.good{background:rgba(30,154,107,.12)}
html.nova .nn-alert b{font:700 13.5px var(--font-body);color:var(--ink)}
html.nova .nn-alert p{margin:4px 0 0;font:500 13px/1.5 var(--font-body);color:var(--ink-body)}
html.nova .nn-gochar{display:grid;gap:2px}
html.nova .nn-g{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 2px;border-bottom:1px solid var(--line)}
html.nova .nn-g:last-child{border-bottom:0}
html.nova .nn-orb{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font:700 13px/1 var(--font-body);color:#16183A;background:var(--c,var(--surface-3));box-shadow:0 0 0 3px color-mix(in srgb,var(--c,#fff) 25%,transparent)}
html.nova .nn-g b{font:700 14px var(--font-body);color:var(--ink)}
html.nova .nn-g b small{font:600 11.5px var(--font-body);color:var(--gold)}
html.nova .nn-g p{margin:3px 0 0;font:500 13px/1.45 var(--font-body);color:var(--muted)}
html.nova .nn-coming{list-style:none;margin:0;padding:0;display:grid;gap:8px}
html.nova .nn-coming li{display:grid;grid-template-columns:96px 1fr;gap:12px;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface-2);border-left:3px solid var(--gold)}
html.nova .nn-coming li.good{border-left-color:var(--ok)}
html.nova .nn-coming time{font:700 13px/1.3 var(--font-body);color:var(--ink)}
html.nova .nn-coming time small{display:block;font:600 11.5px var(--font-body);color:var(--muted)}
html.nova .nn-coming p{margin:0;font:500 13.5px/1.5 var(--font-body);color:var(--ink-body)}
html.nova .nn-brief{margin:0;padding-left:18px;display:grid;gap:7px}
html.nova .nn-brief li{font:500 14px/1.55 var(--font-body);color:var(--ink-body)}
html.nova .nn-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
html.nova .nn-wait{font:500 13.5px var(--font-body);color:var(--muted)}
html.nova .nn-fine{margin:14px 0 0;font:500 12px/1.5 var(--font-body);color:var(--muted)}
@media (max-width:420px){html.nova .nh-now{padding:18px 14px 14px} html.nova .nn-row{grid-template-columns:1fr;gap:4px} html.nova .nn-coming li{grid-template-columns:1fr;gap:4px}}

/* ---- Home: whose kundli this is (always first) ------------------------------ */
html.nova .nh-who{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;align-items:center;margin:14px 0 0;padding:18px 20px;border-radius:var(--r-lg);
  background:linear-gradient(135deg,var(--surface) 0%,var(--surface-2) 100%);border:1px solid var(--line);box-shadow:var(--sh-2)}
html.nova .nw-av{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font:600 24px var(--font-display);color:#fff;
  background:linear-gradient(135deg,var(--brand),var(--gold));box-shadow:0 0 0 4px var(--brand-soft)}
html.nova .nh-who.open .nw-av{background:linear-gradient(135deg,#5B6BB5,#8C97D6);box-shadow:0 0 0 4px var(--sel-soft)}
html.nova .nw-badge{display:inline-flex;align-items:center;gap:6px;font:700 12.5px var(--font-body);color:var(--brand)}
html.nova .nh-who.open .nw-badge{color:var(--muted)}
html.nova .nw-tx h2{margin:2px 0 3px;font:600 22px/1.25 var(--font-display);color:var(--ink);letter-spacing:-.015em}
html.nova[lang="hi"] .nw-tx h2{font:700 22px/1.35 var(--font-body)}
html.nova .nw-tx p{margin:0;font:600 13.5px/1.5 var(--font-body);color:var(--ink-body)}
html.nova .nw-place::before{content:"";display:inline-block;width:4px;height:4px;margin:0 8px 3px;border-radius:50%;background:var(--muted)}
html.nova .nw-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
html.nova .nw-chips span{padding:4px 10px;border-radius:99px;background:var(--surface-3);color:var(--ink);font:600 12.5px var(--font-body)}
html.nova .nw-acts{grid-column:1 / -1;display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
html.nova .nw-note{grid-column:1 / -1;margin:6px 0 0;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface-3);font:500 13px/1.5 var(--font-body);color:var(--ink-body)}
@media (min-width:860px){html.nova .nh-who{grid-template-columns:auto 1fr auto} html.nova .nw-acts{grid-column:auto;margin:0;align-self:center} html.nova .nw-note{grid-column:1 / -1}}
@media (max-width:420px){html.nova .nh-who{padding:16px 14px} html.nova .nw-av{width:48px;height:48px;font-size:20px} html.nova .nw-tx h2{font-size:19px} html.nova .nw-place{display:block} html.nova .nw-place::before{display:none}}
/* the reading sits right under the person, joined to it */
html.nova .nh-who + .nh-now{margin-top:10px}
/* the details section heading */
html.nova .nh-detail-h h2{margin:0 0 12px;font:600 18px var(--font-display);color:var(--ink);letter-spacing:-.01em}
html.nova[lang="hi"] .nh-detail-h h2{font:700 19px var(--font-body)}

/* ==== Home: your living kundli ============================================== */
html.nova .hm{--hm-card:var(--surface);--hm-glass:color-mix(in srgb,var(--surface) 82%,transparent);--hm-hi:rgba(255,255,255,.06);
  display:grid;gap:18px;margin:12px 0 22px}
html.nova[data-theme="dark"] .hm{--hm-card:linear-gradient(180deg,rgba(30,37,88,.82),rgba(18,23,58,.9));--hm-hi:rgba(255,255,255,.07)}
html.nova .hm h3{margin:0;font:600 17px/1.3 var(--font-display);color:var(--ink);letter-spacing:-.01em}
html.nova .hm-k{display:block;font:700 11.5px var(--font-body);color:var(--gold);letter-spacing:.08em;text-transform:uppercase}
html.nova[lang="hi"] .hm-k{letter-spacing:0;text-transform:none;font-size:12.5px}
html.nova .hm-sh{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:14px}
html.nova .hm-sh>span{font:600 12.5px var(--font-body);color:var(--muted)}

/* every card: a soft surface, a hairline of light on top, and a glow that follows the pointer */
html.nova .hm>section{position:relative;isolation:isolate;border-radius:24px;background:var(--hm-card);border:1px solid var(--line);box-shadow:var(--sh-2);overflow:hidden}
html.nova .hm>section::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;
  background:radial-gradient(420px circle at var(--mx,-999px) var(--my,-999px),color-mix(in srgb,var(--gold) 10%,transparent),transparent 60%);transition:opacity .3s}
html.nova .hm>section::after{content:"";position:absolute;left:24px;right:24px;top:0;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--gold) 55%,transparent),transparent);opacity:.55}
html.nova .hm>section.hm-pillars{background:none;border:0;box-shadow:none;overflow-x:auto;overflow-y:hidden;border-radius:0}
html.nova .hm>section.hm-pillars::before,html.nova .hm>section.hm-pillars::after{display:none}
/* sections drift up into view */
html.nova .hm>.hm-rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
html.nova .hm>.hm-rv.in{opacity:1;transform:none}

/* ---- header: who, the level ring, the three pillars as chips ---- */
html.nova .hm-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px 20px;padding:24px 26px 20px}
html.nova .hm-aura{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(520px 260px at 0% 0%,color-mix(in srgb,var(--brand) 26%,transparent),transparent 70%),
             radial-gradient(420px 240px at 100% 0%,color-mix(in srgb,var(--gold) 22%,transparent),transparent 70%),
             radial-gradient(1.2px 1.2px at 12% 30%,var(--hm-star,rgba(255,255,255,.7)),transparent 60%),radial-gradient(1px 1px at 28% 78%,var(--hm-star,rgba(255,255,255,.6)),transparent 60%),
             radial-gradient(1.4px 1.4px at 46% 18%,var(--hm-star,rgba(255,255,255,.75)),transparent 60%),radial-gradient(1px 1px at 63% 64%,var(--hm-star,rgba(255,255,255,.55)),transparent 60%),
             radial-gradient(1.2px 1.2px at 74% 28%,var(--hm-star,rgba(255,255,255,.7)),transparent 60%),radial-gradient(1px 1px at 88% 82%,var(--hm-star,rgba(255,255,255,.6)),transparent 60%),
             radial-gradient(1px 1px at 55% 90%,var(--hm-star,rgba(255,255,255,.5)),transparent 60%)}
html.nova:not([data-theme="dark"]) .hm-aura{--hm-star:rgba(184,116,0,.35)}
html.nova .hm-id{display:flex;gap:18px;align-items:center;min-width:0}
html.nova .hm-av{position:relative;flex:none;width:68px;height:68px;border-radius:50%;display:grid;place-items:center;font:600 28px var(--font-display);color:#fff;
  background:conic-gradient(from 210deg,var(--brand),var(--gold),#FFD99A,var(--brand));box-shadow:0 12px 30px -10px color-mix(in srgb,var(--brand) 70%,transparent),inset 0 0 0 3px rgba(255,255,255,.18)}
html.nova .hm-av>span{position:relative;z-index:1;text-shadow:0 2px 8px rgba(0,0,0,.25)}
html.nova .hm-av .orbit{position:absolute;inset:-9px;border-radius:50%;border:1px dashed color-mix(in srgb,var(--gold) 55%,transparent);animation:hmSpin 18s linear infinite}
html.nova .hm-av .orbit b{position:absolute;top:-4px;left:50%;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold)}
@keyframes hmSpin{to{transform:rotate(360deg)}}
html.nova .hm-idt{min-width:0}
html.nova .hm-id h2{margin:4px 0 4px;font:600 clamp(24px,3.4vw,34px)/1.1 var(--font-display);letter-spacing:-.03em;overflow-wrap:anywhere;
  background:linear-gradient(100deg,var(--ink) 30%,color-mix(in srgb,var(--gold) 80%,var(--ink)) 70%,var(--ink));-webkit-background-clip:text;background-clip:text;color:transparent}
html.nova .hm-id p{margin:0;font:600 13.5px var(--font-body);color:var(--ink-body)}
html.nova .hm-sum{display:none}
html.nova .hm-born{display:flex;align-items:center;gap:6px;margin:6px 0 0!important;font:500 13px var(--font-body)!important;color:var(--muted)!important}
html.nova .hm-born svg{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8}
html.nova .hm-lv{position:relative;flex:none;display:flex;align-items:center;gap:12px;padding:10px 16px 10px 10px;border-radius:20px;cursor:pointer;color:var(--ink);text-align:left;
  background:color-mix(in srgb,var(--surface-2) 70%,transparent);border:1px solid var(--line);backdrop-filter:blur(8px);transition:transform .2s,border-color .2s,box-shadow .2s}
html.nova .hm-lv:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--gold) 60%,transparent);box-shadow:0 12px 28px -14px color-mix(in srgb,var(--gold) 70%,transparent)}
html.nova .hm-lvr{position:relative;width:64px;height:64px;display:grid;place-items:center}
html.nova .hm-lv svg{position:absolute;inset:0;width:64px;height:64px;transform:rotate(-90deg)}
html.nova .hm-lv .trk{fill:none;stroke:var(--surface-3);stroke-width:5.5}
html.nova .hm-lv .arc{fill:none;stroke:url(#hmLvG);stroke-width:5.5;stroke-linecap:round;transition:stroke-dasharray .8s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 0 5px color-mix(in srgb,var(--gold) 70%,transparent));animation:hmArc 1.2s cubic-bezier(.2,.8,.2,1) backwards}
@keyframes hmArc{from{stroke-dasharray:0 200}}
html.nova .hm-lv .n{position:relative;font:700 22px var(--font-display);color:var(--ink)}
html.nova .hm-lvt{display:grid;gap:1px}
html.nova .hm-lvt small{font:700 10.5px var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
html.nova .hm-lv .nm{font:600 16px var(--font-display);color:var(--gold)}
html.nova .hm-lv .xp{font:600 11.5px var(--font-body);color:var(--muted)}
html.nova .hm-lv .st{justify-self:start;margin-top:4px;padding:2px 9px;border-radius:999px;font:700 11.5px var(--font-body);color:#FFB47A;background:rgba(255,120,60,.14);border:1px solid rgba(255,140,80,.25)}
html.nova:not([data-theme="dark"]) .hm-lv .st{color:#B4501A}
html.nova .hm-chips{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
html.nova .hm-chip{display:flex;align-items:center;gap:11px;min-width:0;padding:10px 12px;border-radius:16px;background:color-mix(in srgb,var(--surface-2) 75%,transparent);border:1px solid var(--line);transition:border-color .2s,transform .2s}
html.nova .hm-chip:hover{border-color:color-mix(in srgb,var(--gold) 50%,transparent);transform:translateY(-1px)}
html.nova .hm-chip>i{flex:none;width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font:400 19px/1 var(--font-body);font-style:normal;color:var(--gold);
  background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--gold) 30%,transparent),color-mix(in srgb,var(--gold) 8%,transparent));border:1px solid color-mix(in srgb,var(--gold) 30%,transparent)}
html.nova .hm-chip>span{display:grid;min-width:0;font:700 14px/1.25 var(--font-body);color:var(--ink);overflow-wrap:anywhere}
html.nova .hm-chip small{font:600 11.5px var(--font-body);color:var(--muted)}
html.nova .hm-acts{grid-column:1/-1;display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--line)}
html.nova .hm-acts .nw-acts{display:flex;gap:10px;flex-wrap:wrap}
html.nova .hm-acts .nh-btn2{height:44px;padding:0 18px;border-radius:14px;font-weight:800;transition:transform .2s,box-shadow .2s,border-color .2s}
html.nova .hm-acts .nh-btn2.pri{position:relative;overflow:hidden;background:linear-gradient(135deg,#F2506A,var(--brand) 45%,var(--brand-deep));box-shadow:0 12px 26px -12px color-mix(in srgb,var(--brand) 90%,transparent)}
html.nova .hm-acts .nh-btn2.pri::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);animation:hmSweep 4.5s ease-in-out 1.5s infinite}
@keyframes hmSweep{0%,70%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
html.nova .hm-acts .nh-btn2:hover{transform:translateY(-2px)}
html.nova .hm-acts .nh-btn2 svg{transition:transform .2s}html.nova .hm-acts .nh-btn2.pri:hover svg{transform:translateX(3px)}
html.nova .hm-acts .nw-note{margin:0;font:500 13px/1.5 var(--font-body);color:var(--ink-body)}

/* ---- the chart ---- */
html.nova .hm-chart{padding:20px 20px 16px}
html.nova .hm-ch{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
html.nova .hm-chs{display:block;margin-top:3px;font:600 12px var(--font-body);color:var(--muted)}
html.nova .hm-seg2{position:relative;display:inline-flex;padding:4px;gap:2px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line)}
html.nova .hm-seg2 button{border:0;background:none;cursor:pointer;padding:8px 14px;border-radius:999px;font:700 12.5px var(--font-body);color:var(--ink-body);transition:background .25s,color .25s,box-shadow .25s}
html.nova .hm-seg2 button:hover:not(:disabled):not([aria-pressed=true]){color:var(--ink);background:var(--surface-3)}
html.nova .hm-seg2 button[aria-pressed=true]{background:linear-gradient(135deg,#F2506A,var(--brand-deep));color:#fff;box-shadow:0 6px 16px -6px color-mix(in srgb,var(--brand) 80%,transparent)}
html.nova .hm-seg2 button[data-sky="1"][aria-pressed=true]{background:linear-gradient(135deg,#FFD99A,#F4B860);color:#2A1A00;box-shadow:0 6px 16px -6px rgba(244,184,96,.8)}
html.nova .hm-seg2 button:disabled{opacity:.45;cursor:default}
html.nova .hm-board{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
@media (min-width:860px){html.nova .hm-board{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:stretch}}
html.nova .hm-cw{position:relative;display:grid;place-items:center;padding:6px}
html.nova .hm-cw::before{content:"";position:absolute;width:78%;aspect-ratio:1;border-radius:50%;z-index:-1;pointer-events:none;
  background:radial-gradient(circle,color-mix(in srgb,var(--gold) 22%,transparent),transparent 65%);filter:blur(30px);animation:hmBreath 6s ease-in-out infinite}
@keyframes hmBreath{50%{opacity:.55;transform:scale(.92)}}
html.nova .hm-svg{width:100%;height:auto;display:block;max-width:470px;margin:0 auto;overflow:visible}
html.nova .hm-svg .b0{stop-color:#F9F7FF}html.nova .hm-svg .b1{stop-color:#ECE9F8}
html.nova[data-theme="dark"] .hm-svg .b0{stop-color:#28307A}html.nova[data-theme="dark"] .hm-svg .b1{stop-color:#121741}
html.nova .hm-stars circle{fill:var(--gold);opacity:.35;animation:hmTw 4s ease-in-out infinite}
html.nova[data-theme="dark"] .hm-stars circle{fill:#fff}
@keyframes hmTw{50%{opacity:.08}}
html.nova .hm-frame{fill:none;stroke:url(#hmFrameG);stroke-width:2.4;opacity:.9;filter:drop-shadow(0 0 6px rgba(244,184,96,.45))}
html.nova .hm-frame2{fill:none;stroke:color-mix(in srgb,var(--gold) 40%,transparent);stroke-width:.6;stroke-dasharray:2 3}
html.nova .hm-h{fill:transparent;stroke:color-mix(in srgb,var(--gold) 34%,var(--line-strong));stroke-width:1;cursor:pointer;transition:fill .25s ease,stroke .25s ease}
html.nova .hm-h.lg{fill:color-mix(in srgb,var(--gold) 7%,transparent)}
html.nova .hm-h:hover{fill:color-mix(in srgb,var(--gold) 13%,transparent)}
html.nova .hm-h.on{fill:color-mix(in srgb,var(--gold) 22%,transparent);stroke:var(--gold);stroke-width:1.6;filter:drop-shadow(0 0 8px rgba(244,184,96,.5))}
html.nova .hm-h:focus-visible{outline:none;stroke:var(--brand);stroke-width:2.5}
html.nova .hm-sn{fill:var(--muted);font:700 10px var(--font-body);pointer-events:none;opacity:.85}
html.nova .hm-asc{fill:var(--gold);font:800 8.5px var(--font-body);letter-spacing:.14em;text-transform:uppercase;pointer-events:none}
html.nova .hm-mid circle{fill:var(--gold);pointer-events:none}
html.nova .hm-mid .pulse{fill:none;stroke:var(--gold);stroke-width:1;transform-origin:150px 150px;animation:hmPulse 2.8s ease-out infinite}
@keyframes hmPulse{from{transform:scale(1);opacity:.9}to{transform:scale(3.4);opacity:0}}
html.nova .hm-p{cursor:pointer;outline:none}
html.nova .hm-p>.fl{transition:transform .25s cubic-bezier(.2,.8,.2,1);animation:hmPop .6s cubic-bezier(.3,1.5,.5,1) backwards;animation-delay:var(--d,0ms)}
html.nova .hm-again .hm-p>.fl{animation:none}
@keyframes hmPop{from{transform:scale(0);opacity:0}}
html.nova .hm-p:hover>.fl,html.nova .hm-p.hov>.fl,html.nova .hm-p:focus-visible>.fl{transform:scale(1.22)}
html.nova .hm-p .halo{fill:var(--pc);opacity:.32;transition:opacity .25s}
html.nova .hm-p:hover .halo,html.nova .hm-p.hov .halo,html.nova .hm-p.sel .halo{opacity:.75}
html.nova .hm-p .dot{fill:color-mix(in srgb,var(--pc) 34%,#141A3F);stroke:var(--pc);stroke-width:1.6}
html.nova:not([data-theme="dark"]) .hm-p .dot{fill:color-mix(in srgb,var(--pc) 40%,#2A2F66)}
html.nova .hm-p .sheen{pointer-events:none}
html.nova .hm-p text{fill:#fff;font:800 8.8px var(--font-body);pointer-events:none;paint-order:stroke;stroke:rgba(0,0,0,.25);stroke-width:1.5px}
html.nova .hm-p.run .dot{stroke:#FFD99A;stroke-width:2}
html.nova .hm-p .ring{fill:none;stroke:#FFC24D;stroke-width:1.3;stroke-dasharray:3 2.6;animation:hmSpin 9s linear infinite}
html.nova .hm-p.sel .dot{fill:var(--pc);stroke:#fff;stroke-width:2}
html.nova .hm-p.sel text{fill:#14112b;stroke:none}
html.nova .hm-p.tr{cursor:default}
html.nova .hm-p.tr .dot{fill:color-mix(in srgb,var(--pc) 10%,transparent);stroke-dasharray:2.4 2;stroke-width:1.4}
html.nova .hm-p.tr text{fill:var(--muted);stroke:none}
html.nova .hm-p.tr>.fl{transform:none!important}
html.nova .hm-p:focus-visible .dot{stroke:var(--brand);stroke-width:3}
html.nova .hm-legend{display:flex;gap:16px;align-items:center;justify-content:center;margin:10px 0 0;font:600 12px var(--font-body);color:var(--muted)}
html.nova .hm-legend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;vertical-align:-1px;border:2px solid var(--gold);box-shadow:0 0 6px var(--gold)}
html.nova .hm-legend i.tr{border-style:dashed;border-color:var(--muted);box-shadow:none}

/* ---- the side panel ---- */
html.nova .hm-side{min-width:0;display:flex;flex-direction:column}
html.nova .hm-panel{position:relative;flex:1;padding:16px 18px;border-radius:20px;background:color-mix(in srgb,var(--surface-2) 80%,transparent);border:1px solid var(--line);animation:hmIn .35s cubic-bezier(.2,.8,.2,1)}
html.nova .hm-pp,html.nova .hm-hp{background:radial-gradient(360px 200px at 0% 0%,color-mix(in srgb,var(--pc,var(--gold)) 18%,transparent),transparent 70%),color-mix(in srgb,var(--surface-2) 85%,transparent);
  border-color:color-mix(in srgb,var(--pc,var(--gold)) 30%,var(--line))}
@keyframes hmIn{from{opacity:0;transform:translateY(8px) scale(.99)}}
/* the nine grahas */
html.nova .hm-rh{display:grid;gap:3px;margin-bottom:12px}
html.nova .hm-rh b{font:600 15.5px var(--font-display);color:var(--ink)}
html.nova .hm-rh span{font:500 12.5px/1.45 var(--font-body);color:var(--muted)}
html.nova .hm-rl{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:7px}
html.nova .hm-rp{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:8px 10px 9px 8px;
  border-radius:14px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 60%,transparent);cursor:pointer;color:inherit;text-align:left;
  transition:transform .2s,border-color .2s,background .2s,box-shadow .2s;animation:hmIn .45s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:var(--d,0ms)}
html.nova .hm-rp:hover,html.nova .hm-rp.hov,html.nova .hm-rp:focus-visible{transform:translateY(-2px);border-color:color-mix(in srgb,var(--pc) 60%,transparent);
  background:color-mix(in srgb,var(--pc) 10%,var(--surface));box-shadow:0 10px 22px -14px var(--pc);outline:none}
html.nova .hm-rp .o{grid-row:1/3;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:800 11.5px var(--font-body);color:#fff;
  background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.5),transparent 45%),color-mix(in srgb,var(--pc) 70%,#1B2250);box-shadow:0 0 0 2px color-mix(in srgb,var(--pc) 40%,transparent),0 0 14px -2px var(--pc)}
html.nova .hm-rp.run .o{box-shadow:0 0 0 2px #FFC24D,0 0 16px -1px #FFC24D}
html.nova .hm-rp .tx{display:grid;min-width:0}
html.nova .hm-rp .tx b{font:700 13.5px var(--font-body);color:var(--ink)}
html.nova .hm-rp .tx b small{font-size:11px;color:var(--gold)}
html.nova .hm-rp .tx>small{font:600 11.5px var(--font-body);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.nova .hm-rp .m{grid-column:2;height:3px;margin-top:5px;border-radius:9px;background:var(--surface-3);overflow:hidden}
html.nova .hm-rp .m i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,color-mix(in srgb,var(--pc) 50%,transparent),var(--pc))}
html.nova .hm-rp em{position:absolute;top:6px;right:8px;font-style:normal;font-size:12px;color:#FFC24D;text-shadow:0 0 8px #FFC24D}
html.nova .hm-rf{display:flex;align-items:center;gap:8px;margin:12px 0 0;font:500 12px/1.4 var(--font-body);color:var(--muted)}
html.nova .hm-rf i{flex:none;width:12px;height:12px;border-radius:50%;border:2px solid #FFC24D;box-shadow:0 0 8px #FFC24D}
/* a planet or a house, opened */
html.nova .hm-nav{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:-4px -6px 12px}
html.nova .hm-back,html.nova .hm-step button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 60%,transparent);color:var(--ink-body);cursor:pointer;
  border-radius:999px;font:700 12px var(--font-body);transition:border-color .2s,color .2s,background .2s}
html.nova .hm-back{height:30px;padding:0 12px 0 10px}
html.nova .hm-back:hover,html.nova .hm-step button:hover{border-color:var(--gold);color:var(--ink)}
html.nova .hm-back svg,html.nova .hm-step svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
html.nova .hm-step{display:inline-flex;align-items:center;gap:6px}
html.nova .hm-step button{width:30px;height:30px;justify-content:center;padding:0}
html.nova .hm-step em{font:700 11.5px var(--font-body);font-style:normal;color:var(--muted);min-width:34px;text-align:center}
html.nova .hm-ph{display:flex;align-items:center;gap:14px}
html.nova .hm-ph>div:not(.hm-ring){min-width:0;flex:1}
html.nova .hm-ph b{display:block;font:600 19px/1.2 var(--font-display);color:var(--ink);letter-spacing:-.01em}
html.nova .hm-ph b small{font:700 11.5px var(--font-body);color:var(--gold);vertical-align:2px}
html.nova .hm-ph span{font:600 13px var(--font-body);color:var(--ink-body)}
html.nova .hm-orb{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font:800 16px var(--font-body);color:#14112b;text-shadow:0 1px 0 rgba(255,255,255,.4);
  background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.45),transparent 38%),var(--pc,var(--gold));
  box-shadow:0 0 0 5px color-mix(in srgb,var(--pc,var(--gold)) 22%,transparent),0 0 30px -4px var(--pc,var(--gold));animation:hmOrb 3.5s ease-in-out infinite}
@keyframes hmOrb{50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--pc,var(--gold)) 12%,transparent),0 0 40px 0 var(--pc,var(--gold))}}
html.nova .hm-ph .hm-orb{color:#14112b}
html.nova .hm-orb.house{font:700 20px var(--font-display);background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.7),transparent 45%),linear-gradient(135deg,#FFD99A,#F4B860)}
html.nova .hm-bigsign{flex:none;font:400 40px/1 var(--font-body)!important;color:color-mix(in srgb,var(--gold) 70%,transparent)!important}
html.nova .hm-ring{position:relative;flex:none;width:56px;height:56px;display:grid;place-items:center;align-content:center}
html.nova .hm-ring svg{position:absolute;inset:0;width:56px;height:56px;transform:rotate(-90deg)}
html.nova .hm-ring .trk{fill:none;stroke:var(--surface-3);stroke-width:4}
html.nova .hm-ring .arc{fill:none;stroke:var(--pc,var(--gold));stroke-width:4;stroke-linecap:round;animation:hmArc 1s cubic-bezier(.2,.8,.2,1) backwards}
html.nova .hm-ring b{position:relative;display:block;font:700 15px/1 var(--font-display);color:var(--ink)}
html.nova .hm-ring small{position:relative;font:700 8px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
html.nova .hm-run{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:4px 12px;border-radius:999px;background:linear-gradient(90deg,rgba(255,194,77,.22),rgba(255,194,77,.06));
  border:1px solid rgba(255,194,77,.35);color:var(--gold);font:700 12px var(--font-body);font-style:normal}
html.nova .hm-facts{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 10px}
html.nova .hm-facts span{padding:5px 11px;border-radius:999px;background:color-mix(in srgb,var(--pc,var(--gold)) 12%,var(--surface-3));border:1px solid color-mix(in srgb,var(--pc,var(--gold)) 22%,transparent);font:600 12px var(--font-body);color:var(--ink)}
html.nova .hm-says{margin:4px 0 10px;font:500 14px/1.6 var(--font-body);color:var(--ink-body)}
html.nova .hm-row{display:grid;grid-template-columns:100px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line);font:500 13px var(--font-body)}
html.nova .hm-row span{color:var(--muted)}html.nova .hm-row b{color:var(--ink);font-weight:700}
html.nova .hm-row>b:nth-child(2){grid-column:2 / -1}
html.nova .hm-meter{height:8px;border-radius:99px;background:var(--surface-3);overflow:hidden}
html.nova .hm-meter i{display:block;height:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--pc,var(--gold)) 45%,transparent),var(--pc,var(--gold)));border-radius:99px;box-shadow:0 0 10px var(--pc,var(--gold));animation:hmGrow .9s cubic-bezier(.2,.8,.2,1) backwards;transform-origin:left}
@keyframes hmGrow{from{transform:scaleX(0)}}
/* explorer progress */
html.nova .hm-ex{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font:600 13px var(--font-body);color:var(--muted)}
html.nova .hm-ex.all>span{color:var(--gold)}
html.nova .hm-exdots{display:flex;gap:5px}
html.nova .hm-exdots i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font:800 8.5px var(--font-body);font-style:normal;color:var(--muted);background:var(--surface-3);border:1px dashed var(--line-strong)}
html.nova .hm-exdots i.on{color:#2A1A00;border:0;background:radial-gradient(circle at 32% 28%,#FFF1CF,#F4B860 60%,#D9922E);box-shadow:0 0 10px -1px rgba(244,184,96,.8);animation:hmPop .5s cubic-bezier(.3,1.5,.5,1) backwards;animation-delay:var(--d,0ms)}

/* ---- quests ---- */
html.nova .hm-quests{padding:18px 20px 20px}
html.nova .hm-quests.all{border-color:color-mix(in srgb,var(--ok) 40%,var(--line))}
html.nova .hm-qh{display:flex;align-items:center;gap:14px;margin-bottom:14px}
html.nova .hm-qh>div:nth-child(2){flex:1;min-width:0;display:grid;gap:2px}
html.nova .hm-qh b{font:600 17px var(--font-display);color:var(--ink)}
html.nova .hm-qh>div>span{font:500 12.5px var(--font-body);color:var(--muted)}
html.nova .hm-qn{font:700 12.5px var(--font-body);color:var(--gold);padding:4px 11px;border-radius:999px;background:var(--gold-soft)}
html.nova .hm-qr{position:relative;flex:none;width:46px;height:46px;display:grid;place-items:center}
html.nova .hm-qr svg{position:absolute;inset:0;transform:rotate(-90deg)}
html.nova .hm-qr .trk{fill:none;stroke:var(--surface-3);stroke-width:3.5}
html.nova .hm-qr .arc{fill:none;stroke:var(--gold);stroke-width:3.5;stroke-linecap:round;transition:stroke-dasharray .6s ease}
html.nova .hm-quests.all .hm-qr .arc{stroke:var(--ok)}
html.nova .hm-qr b{position:relative;font:800 11.5px var(--font-body);color:var(--ink)}
html.nova .hm-qbar{display:none}
html.nova .hm-ql{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
html.nova .hm-q{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;gap:12px 12px;align-items:start;padding:16px;border-radius:18px;cursor:pointer;
  background:color-mix(in srgb,var(--surface-2) 80%,transparent);border:1px solid var(--line);font:600 14px var(--font-body);color:var(--ink);overflow:hidden;
  transition:transform .25s cubic-bezier(.2,.8,.2,1),border-color .25s,box-shadow .25s}
html.nova .hm-q::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 12%,transparent),transparent 55%);opacity:0;transition:opacity .25s}
html.nova .hm-q:hover,html.nova .hm-q:focus-visible{transform:translateY(-3px);border-color:color-mix(in srgb,var(--gold) 55%,transparent);box-shadow:0 16px 30px -18px color-mix(in srgb,var(--gold) 80%,transparent);outline:none}
html.nova .hm-q:hover::before{opacity:1}
html.nova .hm-q .qi{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;color:var(--gold);background:var(--gold-soft);border:1px solid color-mix(in srgb,var(--gold) 28%,transparent);transition:transform .3s}
html.nova .hm-q:hover .qi{transform:rotate(-8deg) scale(1.06)}
html.nova .hm-q .qi svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
html.nova .hm-q .qt{display:grid;gap:3px;min-width:0;padding-right:24px}
html.nova .hm-q .qt>span{font:700 14px/1.35 var(--font-body)}
html.nova .hm-q .qt small{font:500 12px var(--font-body);color:var(--muted)}
html.nova .hm-q em{grid-column:1/-1;justify-self:start;font:800 11.5px var(--font-body);font-style:normal;color:var(--gold);padding:3px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--gold) 35%,transparent)}
html.nova .hm-q>i{position:absolute;top:14px;right:14px;width:24px;height:24px;border-radius:50%;border:2px solid var(--line-strong);display:grid;place-items:center;font:800 12px var(--font-body);font-style:normal;color:#fff}
html.nova .hm-q.ok{border-color:color-mix(in srgb,var(--ok) 35%,var(--line));background:color-mix(in srgb,var(--ok) 7%,var(--surface-2))}
html.nova .hm-q.ok>i{background:var(--ok);border-color:var(--ok);box-shadow:0 0 12px -2px var(--ok);animation:hmPop .45s cubic-bezier(.3,1.5,.5,1) backwards}
html.nova .hm-q.ok .qi{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}
html.nova .hm-q.ok .qt>span{color:var(--muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--ok) 70%,transparent)}
html.nova .hm-q.ok em{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,transparent)}

/* ---- pillars: flip cards that tilt ---- */
html.nova .hm-pillars{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 10px;margin:0 -4px;scrollbar-width:thin}
html.nova .hm-card{scroll-snap-align:start;border:0;padding:0;background:none;cursor:pointer;perspective:1000px;text-align:left;min-height:206px;color:inherit;
  transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s ease-out}
html.nova .hm-card .in{position:relative;display:block;height:100%;min-height:206px;transition:transform .7s cubic-bezier(.2,.8,.2,1);transform-style:preserve-3d}
html.nova .hm-card.flip .in{transform:rotateY(180deg)}
html.nova .hm-card .fr,html.nova .hm-card .bk{position:absolute;inset:0;padding:18px;border-radius:22px;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;overflow:hidden;
  border:1px solid var(--line);box-shadow:var(--sh-2)}
html.nova .hm-card .fr{--cc:var(--brand);background:radial-gradient(240px 170px at 100% 0%,color-mix(in srgb,var(--cc) 30%,transparent),transparent 70%),var(--hm-card);transition:border-color .3s,box-shadow .3s}
html.nova .hm-card.k-moon .fr{--cc:#9DB8FF}html.nova .hm-card.k-nak .fr{--cc:var(--gold)}html.nova .hm-card.k-dasha .fr{--cc:#B07CFF}
html.nova .hm-card .fr::after{content:"";position:absolute;right:-30px;bottom:-30px;width:130px;height:130px;border-radius:50%;border:1px dashed color-mix(in srgb,var(--cc) 40%,transparent);pointer-events:none}
html.nova .hm-card:hover .fr{border-color:color-mix(in srgb,var(--cc) 55%,transparent);box-shadow:0 24px 40px -24px color-mix(in srgb,var(--cc) 90%,transparent)}
html.nova .hm-card .bk{background:linear-gradient(160deg,color-mix(in srgb,var(--gold) 14%,var(--surface-2)),var(--surface-2));transform:rotateY(180deg);overflow:auto;border-color:color-mix(in srgb,var(--gold) 35%,var(--line))}
html.nova .hm-card .gl{width:52px;height:52px;margin:12px 0 10px;border-radius:16px;display:grid;place-items:center;font:400 28px/1 var(--font-body);color:var(--gold);
  background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--cc) 40%,transparent),color-mix(in srgb,var(--cc) 10%,transparent));border:1px solid color-mix(in srgb,var(--cc) 35%,transparent);
  box-shadow:0 10px 24px -14px var(--cc);transition:transform .4s cubic-bezier(.3,1.5,.5,1)}
html.nova .hm-card:hover .gl{transform:scale(1.08) rotate(-6deg)}
html.nova .hm-card .gl .dd{display:flex}
html.nova .hm-card .gl .dd i{width:26px;height:26px;margin:0 -3px;border-radius:50%;display:grid;place-items:center;font:800 9.5px var(--font-body);font-style:normal;color:#fff;
  background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.5),transparent 45%),color-mix(in srgb,var(--pc) 75%,#1B2250);box-shadow:0 0 0 2px var(--surface),0 0 10px -2px var(--pc)}
html.nova .hm-card .fr b{font:600 18px/1.25 var(--font-display);color:var(--ink);letter-spacing:-.01em}
html.nova .hm-card .sub{margin-top:3px;font:500 12.5px var(--font-body);color:var(--muted)}
html.nova .hm-pbar{display:block;height:5px;margin-top:10px;border-radius:9px;background:var(--surface-3);overflow:hidden}
html.nova .hm-pbar i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#B07CFF,var(--gold))}
html.nova .hm-card .fr small{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:12px;font:700 11.5px var(--font-body);color:var(--muted);transition:color .2s}
html.nova .hm-card:hover .fr small{color:var(--gold)}
html.nova .hm-card .fr small svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
html.nova .hm-card .bk p{margin:8px 0 0;font:500 13.5px/1.6 var(--font-body);color:var(--ink-body)}

/* ---- this month ---- */
html.nova .hm-month,html.nova .hm-life,html.nova .hm-coming{padding:20px}
html.nova .hm-tone{padding:4px 12px;border-radius:999px;font:700 12px var(--font-body);border:1px solid currentColor}
html.nova .hm-tone.good{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok)}html.nova .hm-tone.mixed{background:var(--gold-soft);color:var(--gold)}html.nova .hm-tone.hard{background:var(--brand-soft);color:var(--brand)}
html.nova .hm-head{margin:0 0 16px;font:600 clamp(16px,2vw,20px)/1.4 var(--font-display);color:var(--ink);max-width:62ch;letter-spacing:-.01em}
html.nova .hm-areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}
html.nova .hm-area{position:relative;display:grid;justify-items:center;gap:2px;padding:16px 8px 12px;border-radius:18px;cursor:pointer;color:inherit;overflow:hidden;
  background:color-mix(in srgb,var(--surface-2) 80%,transparent);border:1px solid var(--line);transition:transform .25s cubic-bezier(.2,.8,.2,1),border-color .25s,box-shadow .25s}
html.nova .hm-area::before{content:"";position:absolute;inset:auto 0 0 0;height:60%;background:linear-gradient(0deg,color-mix(in srgb,var(--tc) 14%,transparent),transparent);opacity:0;transition:opacity .25s;pointer-events:none}
html.nova .hm-area:hover,html.nova .hm-area.on{transform:translateY(-3px);border-color:color-mix(in srgb,var(--tc) 55%,transparent);box-shadow:0 16px 28px -18px var(--tc)}
html.nova .hm-area:hover::before,html.nova .hm-area.on::before{opacity:1}
html.nova .hm-area svg{width:96px;height:55px}
html.nova .hm-area .trk{fill:none;stroke:var(--surface-3);stroke-width:7;stroke-linecap:round}
html.nova .hm-area .arc{fill:none;stroke-width:7;stroke-linecap:round;filter:drop-shadow(0 0 4px var(--tc));animation:hmArc 1.3s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:var(--d,0ms)}
html.nova .hm-area .ic{margin-top:-34px;font-size:20px;transition:transform .3s cubic-bezier(.3,1.5,.5,1)}
html.nova .hm-area:hover .ic{transform:scale(1.2)}
html.nova .hm-area b{margin-top:10px;font:700 13.5px var(--font-body);color:var(--ink)}html.nova .hm-area small{font:700 11.5px var(--font-body)}
html.nova .hm-why{min-height:1em;margin:12px 0 0}
html.nova .hm-whyh{display:block;font:500 12.5px var(--font-body);color:var(--muted);text-align:center}
html.nova .hm-whyc{padding:13px 16px;border-radius:16px;background:color-mix(in srgb,var(--surface-2) 85%,transparent);border:1px solid var(--line);animation:hmIn .3s ease}
html.nova .hm-whyc b{font:700 14px var(--font-body);color:var(--ink)}
html.nova .hm-whyc b small{margin-left:6px;font:700 11.5px var(--font-body);padding:2px 9px;border-radius:999px}
html.nova .hm-whyc small.good{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent)}html.nova .hm-whyc small.mixed{color:var(--gold);background:var(--gold-soft)}html.nova .hm-whyc small.hard{color:var(--brand);background:var(--brand-soft)}
html.nova .hm-whyc ul{margin:8px 0 0;padding:0 0 0 18px;font:500 13px/1.6 var(--font-body);color:var(--ink-body)}
html.nova .hm-whyc li::marker{color:var(--gold)}
html.nova .hm-more{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
html.nova .hm-more>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;font:700 14px var(--font-body);color:var(--brand)}
html.nova .hm-more>summary::-webkit-details-marker{display:none}
html.nova .hm-more>summary em{font:800 11.5px var(--font-body);font-style:normal;color:var(--gold);padding:2px 9px;border-radius:999px;background:var(--gold-soft)}
html.nova .hm-more>summary i{margin-left:auto;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);transition:transform .3s,border-color .2s}
html.nova .hm-more>summary:hover i{border-color:var(--brand)}
html.nova .hm-more[open]>summary i{transform:rotate(90deg)}
html.nova .hm-more>summary i svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
html.nova .hm-more .nh-now{box-shadow:none;border:0;padding:12px 0 0;margin:0;background:none}

/* ---- the life in dashas ---- */
html.nova .hm-track{position:relative;display:flex;gap:3px;height:52px;margin:30px 0 8px}
html.nova .hm-lived{position:absolute;left:0;top:-6px;bottom:-6px;border-radius:10px;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--brand) 12%,transparent) 0 6px,transparent 6px 12px);pointer-events:none;z-index:0}
html.nova .hm-seg{position:relative;z-index:1;min-width:4px;border:0;cursor:pointer;border-radius:10px;padding:0;overflow:hidden;
  background:linear-gradient(180deg,color-mix(in srgb,var(--pc) 55%,var(--surface-2)),color-mix(in srgb,var(--pc) 30%,var(--surface-2)));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.15);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,filter .25s;animation:hmGrowY .6s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:var(--d,0ms)}
@keyframes hmGrowY{from{transform:scaleY(0)}}
html.nova .hm-seg:hover{transform:translateY(-4px);filter:brightness(1.15);box-shadow:0 10px 20px -10px var(--pc)}
html.nova .hm-seg span{font:800 11px var(--font-body);color:var(--ink)}
html.nova .hm-seg.now{background:linear-gradient(180deg,color-mix(in srgb,var(--pc) 100%,#fff 20%),var(--pc));box-shadow:0 0 18px -4px var(--pc)}
html.nova .hm-seg.now span{color:#14112b}
html.nova .hm-seg.sel{outline:2px solid var(--ink);outline-offset:2px;transform:translateY(-4px)}
html.nova .hm-you{position:absolute;top:-26px;bottom:-6px;width:2px;margin-left:-1px;background:linear-gradient(var(--brand),color-mix(in srgb,var(--brand) 30%,transparent));font-style:normal;pointer-events:none;z-index:2}
html.nova .hm-you::after{content:"";position:absolute;bottom:-4px;left:50%;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 0 var(--brand);animation:hmPing 2s ease-out infinite}
@keyframes hmPing{to{box-shadow:0 0 0 10px transparent}}
html.nova .hm-you b{position:absolute;top:-4px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:2px 9px;border-radius:999px;background:var(--brand);color:#fff;font:700 11px var(--font-body);box-shadow:0 6px 14px -6px var(--brand)}
html.nova .hm-ages{display:flex;justify-content:space-between;font:600 11.5px var(--font-body);color:var(--muted)}
html.nova .hm-dsel{display:flex;align-items:center;gap:14px;margin-top:16px;padding:14px 16px;border-radius:18px;animation:hmIn .3s ease;
  background:radial-gradient(300px 120px at 0% 50%,color-mix(in srgb,var(--pc) 22%,transparent),transparent 70%),color-mix(in srgb,var(--surface-2) 85%,transparent);border:1px solid color-mix(in srgb,var(--pc) 35%,var(--line))}
html.nova .hm-dsel .o{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font:800 13px var(--font-body);color:#14112b;
  background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.7),transparent 45%),var(--pc);box-shadow:0 0 22px -4px var(--pc)}
html.nova .hm-dsel>div{flex:1;min-width:0}
html.nova .hm-dsel b{display:block;font:600 16px var(--font-display);color:var(--ink)}
html.nova .hm-dsel b em{margin-left:6px;font:700 11px var(--font-body);font-style:normal;color:#fff;background:var(--brand);padding:2px 8px;border-radius:999px;vertical-align:2px}
html.nova .hm-dsel>div>span{font:600 12.5px var(--font-body);color:var(--ink-body)}
html.nova .hm-dp{display:block;height:5px;margin-top:9px;border-radius:9px;background:var(--surface-3);overflow:hidden}
html.nova .hm-dp i{display:block;height:100%;border-radius:9px;background:var(--pc);box-shadow:0 0 8px var(--pc);animation:hmGrow 1s cubic-bezier(.2,.8,.2,1) backwards;transform-origin:left}

/* ---- coming up: a timeline ---- */
html.nova .hm-cl{position:relative;display:grid;gap:10px;padding-left:22px}
html.nova .hm-cl::before{content:"";position:absolute;left:6px;top:10px;bottom:10px;width:2px;border-radius:2px;background:linear-gradient(var(--gold),color-mix(in srgb,var(--gold) 10%,transparent))}
html.nova .hm-ci{--cc:var(--gold);position:relative;display:grid;grid-template-columns:104px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 14px;border-radius:16px;
  background:color-mix(in srgb,var(--surface-2) 80%,transparent);border:1px solid var(--line);transition:transform .25s cubic-bezier(.2,.8,.2,1),border-color .25s}
html.nova .hm-ci.good{--cc:var(--ok)}
html.nova .hm-ci::before{content:"";position:absolute;left:-21px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:var(--surface);border:2px solid var(--cc);box-shadow:0 0 10px -1px var(--cc)}
html.nova .hm-ci:hover{transform:translateX(4px);border-color:color-mix(in srgb,var(--cc) 45%,transparent)}
html.nova .hm-ci time{font:700 13.5px/1.3 var(--font-body);color:var(--ink)}html.nova .hm-ci time small{display:block;color:var(--muted);font-weight:600;font-size:12px}
html.nova .hm-ci p{margin:0;font:500 13.5px/1.55 var(--font-body);color:var(--ink-body)}
html.nova .hm-ci .tag{font:700 11px var(--font-body);color:var(--cc);padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--cc) 13%,transparent);white-space:nowrap}
html.nova .nh-fold{margin:6px 0 18px;padding:12px 16px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line)}
html.nova .nh-fold>summary{cursor:pointer;font:700 14px var(--font-body);color:var(--ink)}

/* ---- smaller screens ---- */
@media (max-width:760px){
  html.nova .hm-top{grid-template-columns:1fr;padding:20px 18px 18px}
  html.nova .hm-lv{justify-self:stretch}
  html.nova .hm-av{width:56px;height:56px;font-size:23px}
  html.nova .hm-chips{grid-template-columns:1fr}
  html.nova .hm-chart,html.nova .hm-month,html.nova .hm-life,html.nova .hm-coming,html.nova .hm-quests{padding:16px}
  html.nova .hm-ql{grid-template-columns:1fr}
  html.nova .hm-q{grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto;align-items:center;padding:12px 14px}
  html.nova .hm-q em{grid-column:auto;margin-right:30px}
  html.nova .hm-q>i{top:50%;margin-top:-12px}
  html.nova .hm-q .qt{padding-right:0}
  html.nova .hm-ci{grid-template-columns:1fr;gap:6px}
  html.nova .hm-ci .tag{justify-self:start}
  html.nova .hm-ages span:nth-child(2),html.nova .hm-ages span:nth-child(4){display:none}
}
@media (max-width:420px){html.nova .hm-row{grid-template-columns:80px 1fr auto} html.nova .hm-rl{grid-template-columns:1fr 1fr} html.nova .hm-rp .tx>small{white-space:normal}}
@media (prefers-reduced-motion:reduce){
  html.nova .hm *,html.nova .hm *::before,html.nova .hm *::after{animation:none!important;transition:none!important}
  html.nova .hm>.hm-rv{opacity:1;transform:none}
  html.nova .hm-card{transform:none}
}
html.nova .hm-id{flex:1 1 0}                     /* the name block shrinks, so the level ring stays beside it */

/* Home: today's panchang, always open */
html.nova .nh-card.nh-pan{cursor:default}
html.nova .nh-pan-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
html.nova .nh-pan-sub{margin:4px 0 0 !important;color:var(--muted);font-weight:600}
html.nova .nh-pan-t{margin:16px 0 8px;font:700 12.5px var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
html.nova .nh-pan-t.good{color:var(--ok,#2FB487)} html.nova .nh-pan-t.bad{color:#E2546B}
html.nova .nh-pan-cells{grid-template-columns:repeat(4,minmax(0,1fr))}
html.nova .nh-pan-cells .good{border-color:rgba(47,180,135,.45)} html.nova .nh-pan-cells .bad{border-color:rgba(226,84,107,.45)}
@media (max-width:760px){html.nova .nh-pan-cells{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Panchang page: the full table and the muhurtas are always open */
html.nova .np-classic-h{margin:0;padding:12px 0 4px;font:700 13px var(--font-body);color:var(--ink)}
html.nova .np-classic > :not(.np-classic-h){margin-left:14px;margin-right:14px}
html.nova .np-classic{padding-bottom:14px}
.pdet.pdet-open>summary{pointer-events:none;cursor:default}
.pdet.pdet-open>summary::before{content:"" !important}
/* the upagraha list under the chart: its abbreviations in the chart's dashed pill (v149) */
html.nova .upa-legend .nm-upchip{margin:0 3px 0 0;font-style:italic}
/* the graha names under the chart sit in the middle, however wide the chart area is (v149) */
html.nova #legend.legend,html.nova .legend{justify-content:center}
