@font-face{font-family:Manrope;src:url(fonts/Manrope.ttf);font-weight:200 800;font-display:swap}
@font-face{font-family:Syne;src:url(fonts/Syne.ttf);font-weight:400 800;font-display:swap}
:root{--bg:#EBEEF5;--surface:#FFFFFF;--surface2:#F3F5FA;--ink:#151A33;--muted:#59618A;--line:#D8DDEB;--accent:#C97A0A;--up:#0B8273;--down:#B2344A;--flat:#8A90AD;--up-bg:#D5EFEA;--down-bg:#F6DCE0;--up-ink:#066357;--accent-ink:#7A4700;color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0D1124;--surface:#171C38;--surface2:#1F2546;--ink:#E9ECF8;--muted:#9AA2C8;--line:#2B3260;--accent:#F0A230;--up:#3CC9B2;--down:#F0707F;--flat:#7C84AE;--up-bg:#12403D;--down-bg:#4A1F2C;--up-ink:#3CC9B2;--accent-ink:#F0A230;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#0D1124;--surface:#171C38;--surface2:#1F2546;--ink:#E9ECF8;--muted:#9AA2C8;--line:#2B3260;--accent:#F0A230;--up:#3CC9B2;--down:#F0707F;--flat:#7C84AE;--up-bg:#12403D;--down-bg:#4A1F2C;--up-ink:#3CC9B2;--accent-ink:#F0A230;color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{overflow-x:clip;margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 Manrope,system-ui,sans-serif;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
.top{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:baseline;gap:12px;background:var(--bg);padding:calc(10px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px));border-bottom:1px solid var(--line)}
.brand{font:700 18px Syne,sans-serif;letter-spacing:.01em}
.asof{font-size:12px;color:var(--muted);text-align:right}
main{padding:16px max(16px,env(safe-area-inset-right,0px)) 24px max(16px,env(safe-area-inset-left,0px));max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.tabs{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);background:var(--surface);border-top:1px solid var(--line);padding:6px max(8px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));z-index:6}
.tabs button{background:none;border:0;color:var(--muted);font:600 12.5px Manrope,sans-serif;padding:12px 2px;border-radius:10px;cursor:pointer;min-height:44px}
.tabs button[aria-current=page]{color:var(--ink);background:var(--surface2);box-shadow:inset 0 -3px 0 var(--accent)}
button:focus-visible,summary:focus-visible,input:focus-visible,.tile:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;min-width:0}
h1,h2,h3{margin:0;font-family:Syne,sans-serif;text-wrap:balance}
h2{font-size:17px;margin-bottom:10px}
h3{font-size:15px}
.muted{color:var(--muted)}
.small{font-size:13px}
.banner{background:var(--down-bg);color:var(--ink);border-radius:12px;padding:12px 14px;font-size:14px}
.hero .label{font:600 13px Manrope;color:var(--muted)}
.hero .big{font:800 34px/1.15 Syne,sans-serif;margin:2px 0 14px}
.big.up{color:var(--up)}.big.down{color:var(--down)}.big.mixed{color:var(--ink)}
.gauge{position:relative;height:14px;border-radius:7px;display:flex;overflow:visible;margin:22px 0 28px}
.gauge i{display:block;height:100%}
.gauge i:first-child{border-radius:7px 0 0 7px}.gauge i:nth-child(3){border-radius:0 7px 7px 0}
.z-dn{background:var(--down-bg)}.z-mx{background:var(--surface2);border-block:1px solid var(--line)}.z-up{background:var(--up-bg)}
.pin{position:absolute;top:-7px;width:4px;height:28px;border-radius:2px;background:var(--ink);transform:translateX(-2px)}
.pin b{position:absolute;top:-20px;left:50%;transform:translateX(-50%);font:700 12px Manrope;white-space:nowrap}
.gl{position:absolute;top:20px;font-size:11px;color:var(--muted);transform:translateX(-50%);white-space:nowrap}
.kv{display:grid;grid-template-columns:1fr auto;gap:6px 12px;font-size:14px}
.kv dt{color:var(--muted)}.kv dd{margin:0;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.row{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}
.row:first-of-type{border-top:0}
.row .n{font-weight:600;font-size:14px}.row .d{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.bar{position:relative;height:18px;background:var(--surface2);border-radius:4px}
.bar::before{content:"";position:absolute;left:50%;top:-2px;bottom:-2px;width:1px;background:var(--line)}
.bar s{position:absolute;top:2px;bottom:2px;border-radius:3px;text-decoration:none}
.bar .p{background:var(--up)}.bar .m{background:var(--down)}
.bar em{position:absolute;top:0;font:700 11px/18px Manrope;font-style:normal;font-variant-numeric:tabular-nums}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:12px;padding:3px 9px;border-radius:99px;background:var(--surface2);border:1px solid var(--line)}
.chip.up{background:var(--up-bg)}.chip.down{background:var(--down-bg)}
details{border-top:1px solid var(--line)}
details:first-of-type{border-top:0}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:10px;padding:12px 0;min-height:44px;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--muted);font-weight:700}
details[open] summary::after{content:"–"}
.dbody{padding:0 0 12px;display:flex;flex-direction:column;gap:8px;font-size:14px}
.pill{font-size:12px;font-weight:700;padding:2px 8px;border-radius:99px;white-space:nowrap}
.pill.up{background:var(--up-bg);color:var(--up-ink)}.pill.down{background:var(--down-bg);color:var(--down)}.pill.mx{background:var(--surface2);color:var(--muted)}
.win{display:grid;grid-template-columns:auto 1fr auto;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:14px;align-items:center}
.win:first-of-type{border-top:0}
.win time{font-variant-numeric:tabular-nums;font-weight:600}
.search{width:100%;font:inherit;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px}
.tile{border:0;border-radius:10px;padding:9px 8px;text-align:left;font:inherit;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;gap:2px;min-height:62px;min-width:0}
.tile b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile span{font:700 15px Manrope;font-variant-numeric:tabular-nums}
.legend{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.legend i{flex:1;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--down),var(--surface2),var(--up))}
.sheet{position:fixed;inset:0;z-index:20;background:rgba(10,12,28,.55);display:flex;align-items:flex-end;justify-content:center}
.sheet[hidden]{display:none}
.sheet .panel{background:var(--surface);width:100%;max-width:640px;max-height:82vh;overflow:auto;border-radius:18px 18px 0 0;padding:18px max(16px,env(safe-area-inset-right,0px)) calc(18px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.sheet .x{float:right;background:var(--surface2);border:0;color:var(--ink);border-radius:99px;min-width:44px;min-height:44px;font:700 16px Manrope;cursor:pointer}
.empty{text-align:center;padding:26px 8px;color:var(--muted)}
.spark{display:flex;align-items:flex-end;gap:3px;height:70px}
.spark i{flex:1;background:var(--accent);border-radius:2px 2px 0 0;min-height:2px}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{padding:8px 6px;border-top:1px solid var(--line);text-align:right;font-variant-numeric:tabular-nums}
th:first-child,td:first-child{text-align:left}
th{font-weight:600;color:var(--muted);border-top:0}
.scroll{overflow-x:auto}
@media (prefers-reduced-motion:no-preference){.sheet .panel{animation:up .18s ease-out}@keyframes up{from{transform:translateY(24px);opacity:.6}}}

/* ---- v2: Day tab, Sky views, chakras */
.lead{margin:-4px 0 10px}
.sub-h{font-size:15px;margin:16px 0 6px}
.kr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 8px;padding:8px 0;border-top:1px solid var(--line);font-size:14px}
.kr:first-child{border-top:0;padding-top:0}
.kr>b{grid-column:1/-1}
.kc{display:flex;flex-direction:column;min-width:0}
.kpt{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.kpc{min-height:36px;padding:0 12px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font:600 13px Manrope,sans-serif;cursor:pointer}
.kpc[aria-pressed=true]{background:var(--surface2);color:var(--ink);box-shadow:inset 0 -3px 0 var(--accent)}
.kpl{max-height:360px;overflow:auto;border-top:1px solid var(--line)}
@media (max-width:430px){.kr{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sub-h:first-child{margin-top:0}
.pill.vol{background:color-mix(in srgb,var(--accent) 22%,var(--surface));color:var(--accent-ink)}
.flag{font-size:12px;font-weight:700;padding:1px 8px;border-radius:99px;background:var(--down-bg);color:var(--down);white-space:nowrap}
.flag.ok{background:var(--up-bg);color:var(--up-ink)}
.win.off,.win.off *{color:var(--muted)}
.win.off .pill{background:var(--surface2)}
ul.plan{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px;font-size:14px}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:12px}
.seg button{border:0;background:none;color:var(--muted);font:600 14px Manrope,sans-serif;min-height:44px;border-radius:9px;cursor:pointer}
.seg button[aria-selected=true]{background:var(--surface2);color:var(--ink);box-shadow:inset 0 -3px 0 var(--accent)}
.pcs{display:grid;gap:10px}
.pc{border:1px solid var(--line);background:var(--surface2);border-radius:12px;padding:10px 12px;min-width:0}
.pc h3{font:600 12px Manrope,sans-serif;color:var(--muted);margin:0 0 4px}
.pc .v{font:700 17px/1.25 Syne,sans-serif}
.pc p{margin:4px 0 0;font-size:13px}
.pc .win{grid-template-columns:auto 1fr;padding:6px 0}
.pc .win:first-of-type{padding-top:0}
.pc .win span:last-child:empty{display:none}
.pd{display:inline-block;width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 35%,transparent);flex:none}
.pl{display:inline-flex;align-items:center;gap:5px;font-weight:600;font-size:13px;margin-right:6px}
.hstrip{display:flex;height:34px;border-radius:8px;overflow:hidden;border:1px solid var(--line)}
.hstrip span{display:grid;place-items:center;font:700 11px Manrope,sans-serif;color:#10132f;min-width:0;overflow:hidden}
.hstrip span.dim{color:var(--ink)}
.axis{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin:4px 0 8px}
.more{border-top:1px solid var(--line);margin-top:10px}
.more .tall{max-height:260px;overflow:auto}
table.tl th,table.tl td{text-align:left;vertical-align:top}
table.sticky th:first-child,table.sticky td:first-child{position:sticky;left:0;background:var(--surface);z-index:1;box-shadow:1px 0 0 var(--line)}
.hs{color:var(--up)}.ls{color:var(--down)}
.stg{display:inline-block;border-radius:99px;padding:0 9px;font-size:12px;font-weight:700;color:#10132f;background:#e6e4ee}
.stg.Yuva{background:#2fb585}.stg.Kumara{background:#bfe3c6}.stg.Vriddha{background:#f4c0c6}.stg.Mrita{background:#e0566b}
table.bnn{width:auto;min-width:100%;table-layout:fixed}
table.bnn th,table.bnn td{padding:0;text-align:center;font-size:10px;height:30px;min-width:30px;border:1px solid var(--surface)}
table.bnn th{background:none;color:var(--muted);font-weight:700}
table.bnn td.self{background:var(--surface2)}
.k159{background:color-mix(in srgb,var(--accent) 45%,var(--surface2))}
.k311{background:color-mix(in srgb,#6b72e8 50%,var(--surface2))}
.k410{background:color-mix(in srgb,var(--up) 40%,var(--surface2))}
.k7{background:color-mix(in srgb,var(--down) 50%,var(--surface2))}
.k212{background:var(--surface2);outline:1px dashed var(--muted);outline-offset:-3px}
.key{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--muted);margin:10px 0 0;align-items:center}
.key span{display:inline-flex;align-items:center;gap:6px}
.key i{display:inline-block;width:14px;height:14px;border-radius:4px;border:1px solid var(--line)}
.key i.pd{width:9px;height:9px;border-radius:50%}
.key .kd{background:color-mix(in srgb,var(--down) 55%,var(--surface2))}.key .kb{background:color-mix(in srgb,var(--up) 55%,var(--surface2))}.key .ka{background:color-mix(in srgb,var(--accent) 55%,var(--surface2))}
.key .km{border:2px solid var(--accent);background:var(--surface2)}
.key .kl{border:1.6px dashed var(--ink);background:var(--surface2)}
.sbc{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:3px}
.sc{position:relative;aspect-ratio:1;border:1px solid var(--line);background:var(--surface2);border-radius:6px;padding:0;color:var(--ink);font:600 10px Manrope,sans-serif;cursor:pointer;display:grid;place-items:center;min-width:0}
.sc.mine{outline:3px solid var(--accent);outline-offset:-2px;z-index:1}
.sc.sel{box-shadow:0 0 0 2px var(--ink)}
.sc.lit{border:1.6px dashed var(--ink)}
.sbcw{position:relative}.sbca{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.sc .dots{position:absolute;top:2px;left:2px;display:flex;gap:2px}
.sc .dots .pd{width:7px;height:7px}
.sc.k-letter .t,.sc.k-corner .t{font-weight:400}
.sc[style*=color-mix] .t{color:var(--ink)}
.sc:focus-visible{outline:3px solid var(--accent);outline-offset:1px;z-index:2}
.scap{min-height:3.2em;margin:10px 0 0}
.compass{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.compass>div{border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--surface2);font-size:13px;min-width:0;overflow-wrap:anywhere}
.compass>div.hot{background:var(--down-bg)}
.compass b{font:700 13px Syne,sans-serif}
.cov{list-style:none;margin:0;padding:0 0 8px;display:flex;flex-direction:column;gap:8px;font-size:14px}
.cov li{display:grid;grid-template-columns:22px 1fr;gap:8px}
.cov i{font-style:normal;font-weight:700}
.cov .y{color:var(--up-ink)}.cov .p{color:var(--accent-ink)}.cov .n{color:var(--muted)}
@media (min-width:520px){.pcs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sm{display:block;font-size:12px;line-height:1.35;color:var(--muted);font-weight:400}
td .flag{white-space:normal;display:inline-block}
.scroll{background:linear-gradient(to right,var(--surface) 30%,transparent),linear-gradient(to left,var(--surface) 30%,transparent) 100% 0,radial-gradient(farthest-side at 0 50%,color-mix(in srgb,var(--ink) 22%,transparent),transparent),radial-gradient(farthest-side at 100% 50%,color-mix(in srgb,var(--ink) 22%,transparent),transparent) 100% 0;background-repeat:no-repeat;background-size:40px 100%,40px 100%,12px 100%,12px 100%;background-attachment:local,local,scroll,scroll}
table.tl th,table.tl td{padding:8px 4px}

.modebar{padding:12px max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px));max-width:640px;margin:0 auto}
.mode{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;background:var(--surface);border:1px solid var(--line);border-radius:11px}
.mode[hidden]{display:none}
.mode button{border:0;background:none;color:var(--muted);font:600 13px Manrope,sans-serif;min-height:44px;border-radius:8px;cursor:pointer}
.mode button[aria-pressed=true]{background:var(--surface2);color:var(--ink);box-shadow:inset 0 -3px 0 var(--accent)}
.win.now{background:var(--surface2);box-shadow:inset 3px 0 0 var(--accent);border-radius:6px;padding-inline:10px;margin-inline:-6px}
.openline{margin:12px 0 0}
.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.hstrip{position:relative}
.nowline{position:absolute;top:0;bottom:0;width:3px;background:var(--ink);transform:translateX(-1.5px);box-shadow:0 0 0 1px var(--bg)}
.update{position:fixed;left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:7;display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:616px;margin:0 auto;padding:10px 12px 10px 16px;background:var(--ink);color:var(--bg);border-radius:12px;font-size:14px}
.update[hidden]{display:none}
.update button{border:0;border-radius:8px;min-height:40px;padding:0 16px;background:var(--accent);color:#10132f;font:700 14px Manrope,sans-serif;cursor:pointer}
.score{font:800 30px Syne,sans-serif;margin:0 0 4px}.score.up{color:var(--up)}.score.down{color:var(--down)}
.asof{white-space:nowrap}
@media (max-width:430px){
  .win{grid-template-columns:minmax(0,1fr) auto;gap:2px 10px}
  .win time{grid-column:1/-1}
  .pc .win{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:360px){.brand{font-size:16px}}
.kc{display:flex;gap:10px;align-items:baseline;padding:8px 0;border-top:1px solid var(--line)}
.kc:first-of-type{border-top:0}
.kc .pill{flex:none;min-width:3.4em;text-align:center}

.rashi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(86px,auto));gap:0;border:1.5px solid var(--ink);border-radius:6px;overflow:hidden}
.rz{border:1px solid var(--ink);padding:4px 4px;min-width:0;overflow:hidden;font-size:11px;position:relative}
.rz>b{font-size:10.5px;color:var(--muted);display:block;overflow-wrap:anywhere}.rz.asc{background:color-mix(in srgb,var(--accent) 12%,var(--surface))}
.rz .lg{display:block;font-size:10px;font-weight:700;color:var(--accent-ink);white-space:nowrap}
.rz .rp{display:flex;flex-wrap:wrap;gap:2px 8px;margin-top:4px}.rz .rp span{display:flex;align-items:center;gap:3px;font-weight:600;white-space:nowrap;font-size:10.5px}
.rc{grid-row:2/4;grid-column:2/4;display:grid;place-content:center;text-align:center;gap:2px}.rc b{font-size:16px}
.hl{color:var(--accent-ink);text-decoration:underline;text-underline-offset:2px}
.sbca path{filter:drop-shadow(0 0 .6px rgba(0,0,0,.6))}

.allc{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.allc .row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;min-height:44px;padding:6px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;min-width:0}
.allc .row span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.allc .more{min-height:44px;border:1px dashed var(--line);border-radius:10px;background:none;color:var(--muted);font:600 14px Manrope,sans-serif;cursor:pointer}
