:root{color-scheme:light;--bg:#ffffff;--paper:#fffcf7;--ink:#2b1a12;--muted:#6b4f3f;--line:#ead9c0;--saffron:#e8772e;--saffron-d:#b4521a;--maroon:#7a1f2b;--indigo:#2e3a7a;--good:#1f6b3a;--good-bg:#eaf6ee;--bad:#9b1c1c;--bad-bg:#fdeeee;--amber-bg:#fff4dc;--amber:#7a4a07;--shadow:0 6px 24px rgba(122,31,43,.08)}
[data-theme="dark"]{color-scheme:dark;--bg:#1b1210;--paper:#261917;--ink:#f6eadb;--muted:#d4bba6;--line:#4a3029;--saffron:#f28c45;--saffron-d:#f6a66c;--maroon:#f0a3ab;--indigo:#b6c0ff;--good:#8fe0aa;--good-bg:#173022;--bad:#ffaaaa;--bad-bg:#3a1a1a;--amber-bg:#3a2a10;--amber:#ffd58a;--shadow:none}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;top:0!important;position:static!important;font-family:'Noto Sans',system-ui,sans-serif;color:var(--ink);line-height:1.55;background:var(--bg)}
[data-theme="dark"] body{background-image:radial-gradient(circle at 100% 0,rgba(232,119,46,.12),transparent 40%),radial-gradient(circle at 0 100%,rgba(122,31,43,.08),transparent 45%);background-attachment:fixed}
h1,h2,h3{font-family:'Noto Serif',Georgia,serif;color:var(--maroon)}
a{color:var(--saffron-d)}a:hover{color:var(--maroon)}
:focus-visible{outline:3px solid var(--saffron);outline-offset:2px}
.wrap{max-width:1180px;margin:0 auto;padding:0 1rem}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:var(--paper);padding:.5rem;z-index:9}
/* header */
.site-header{background:linear-gradient(135deg,#7a1f2b,#5a1420 60%,#2e3a7a);color:#fff8ec;border-bottom:4px solid var(--saffron);position:relative;overflow:hidden}
.site-header::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;opacity:.14;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%23ffd27a' stroke-width='1'%3E%3Ccircle cx='50' cy='50' r='48'/%3E%3Ccircle cx='50' cy='50' r='36'/%3E%3Ccircle cx='50' cy='50' r='12'/%3E%3Cg id='p'%3E%3Cellipse cx='50' cy='26' rx='7' ry='14'/%3E%3C/g%3E%3Cuse href='%23p' transform='rotate(45 50 50)'/%3E%3Cuse href='%23p' transform='rotate(90 50 50)'/%3E%3Cuse href='%23p' transform='rotate(135 50 50)'/%3E%3Cuse href='%23p' transform='rotate(180 50 50)'/%3E%3Cuse href='%23p' transform='rotate(225 50 50)'/%3E%3Cuse href='%23p' transform='rotate(270 50 50)'/%3E%3Cuse href='%23p' transform='rotate(315 50 50)'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}
.nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding-top:.9rem;padding-bottom:.9rem;position:relative;z-index:1}
.brand{display:flex;align-items:center;gap:.6rem;color:#fff8ec;text-decoration:none}
.brand:hover{color:#fff}
.brand svg{width:44px;height:44px;flex:none}
.brand-name{font-family:'Noto Serif',serif;font-weight:700;font-size:1.45rem;line-height:1.1;display:block}
.brand-name span{color:#ffc27a}
.tagline{display:block;font-size:.82rem;color:#f7dcc0}
/* cards */
.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.sec{padding:1.25rem;margin:1rem 0}.sec h2{margin:1rem 0 .6rem;font-size:clamp(1.05rem,3vw,1.3rem)}.sec h2:first-child{margin-top:0}
.sec p{color:var(--ink);line-height:1.65}
.pg-hero{position:relative;overflow:hidden;border-top:4px solid var(--saffron)}
.pg-hero h1{margin:.2rem 0 .4rem;font-size:clamp(1.6rem,5vw,2.4rem)}
.pg-hero .vp{margin:0;max-width:62ch;color:var(--muted)}
.divider{height:14px;margin:.6rem 0 0;background:radial-gradient(circle,var(--saffron) 3px,transparent 4px) 0 50%/22px 14px repeat-x;opacity:.7}
.row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.hint{color:var(--muted);font-size:.9rem}
.btn{display:inline-flex;align-items:center;gap:.35rem;padding:.65rem 1rem;border-radius:999px;font:inherit;font-weight:600;cursor:pointer;border:1px solid var(--saffron-d);text-decoration:none}
.btn-primary{background:#b4521a;color:#fff;border-color:#b4521a}.btn-primary:hover{background:#7a1f2b}
.btn-ghost{background:transparent;color:var(--saffron-d)}.btn-ghost:hover{background:rgba(232,119,46,.12)}
.fld{display:block;font-weight:600;font-size:.9rem;color:var(--ink);margin:.7rem 0 0}
.fld input,.fld select,.date-row input{display:block;width:100%;margin-top:.3rem;padding:.65rem .8rem;border:1px solid var(--line);border-radius:12px;font:inherit;background:var(--bg);color:var(--ink)}
.date-row input{width:auto;flex:1 1 160px;margin:0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:.6rem}
.manual{margin:.8rem 0 0}.manual summary{cursor:pointer;font-weight:600;color:var(--saffron-d)}
.city-list{list-style:none;margin:.4rem 0 0;padding:0;max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.city-list:empty{display:none}
.city-list li{padding:.55rem .8rem;cursor:pointer;border-bottom:1px solid var(--line);font-size:.95rem}
.city-list li:last-child{border-bottom:0}
.city-list li:hover,.city-list li:focus{background:rgba(232,119,46,.14);outline:0}
.city-list small{color:var(--muted)}
.loc-now{margin:.8rem 0 0;font-weight:600}
.pg-grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.pc{padding:1rem 1.1rem}
.pc h3{margin:0 0 .5rem;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--indigo);font-weight:700}
.it{padding:.45rem 0;border-top:1px dashed var(--line)}.it:first-of-type{border-top:0}
.it b{display:block;font-size:1.02rem}
.it .sub{color:var(--muted);font-size:.85rem}
.it .tm{font-size:.9rem;font-variant-numeric:tabular-nums}
.it
.vaara{font-size:1.25rem;font-weight:700;font-family:'Noto Serif',serif;color:var(--maroon)}
.sm{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.sm div{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:.55rem .7rem}
.sm span{display:block;font-size:.78rem;color:var(--muted);font-weight:600}
.sm strong{font-variant-numeric:tabular-nums}
.good{border-left:4px solid var(--good)}.good h3{color:var(--good)}
.bad{border-left:4px solid var(--bad)}.bad h3{color:var(--bad)}
.prd{display:flex;justify-content:space-between;gap:.6rem;padding:.5rem .7rem;margin:.35rem 0;border-radius:10px;font-size:.93rem}
.good .prd{background:var(--good-bg);color:var(--good)}
.bad .prd{background:var(--bad-bg);color:var(--bad)}
.bad .prd.amber{background:var(--amber-bg);color:var(--amber)}
.prd span:last-child{font-variant-numeric:tabular-nums;text-align:right}
.res-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;margin:1rem 0 .3rem}
.res-head h2{margin:0;font-size:clamp(1.15rem,3vw,1.45rem)}
.share{font-size:.88rem}
.msg{padding:1rem 1.2rem}.msg.err{border-left:4px solid var(--bad)}
.spin{display:inline-block;width:1em;height:1em;border:2px solid var(--line);border-top-color:var(--saffron);border-radius:50%;animation:sp .8s linear infinite;vertical-align:-2px;margin-right:.4rem}
@keyframes sp{to{transform:rotate(360deg)}}
.credit{font-size:.9rem;color:var(--muted)}
#geo-status:empty{display:none}
.pg-periods{margin-top:.8rem}
.site-footer{margin-top:2rem;padding:1.4rem 0;background:#2b1a12;color:#f6eadb;text-align:center;border-top:4px solid var(--saffron)}
.site-footer a{color:#ffc27a}
@media (max-width:640px){.sec{padding:1rem}.row .btn{flex:1 1 auto;justify-content:center}.brand-name{font-size:1.2rem}}
@media (min-width:900px){.pg-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.pg-grid.pg-periods{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){.spin{animation:none}}
.badges{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:1rem 0;padding:0;justify-content:center}
.badges li{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border-radius:999px;background:var(--paper);border:1px solid var(--line);font-size:.85rem;font-weight:600;color:var(--maroon)}
.badges svg{width:18px;height:18px;flex:none;stroke:var(--saffron-d);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.foot-nav{display:flex;justify-content:center;gap:1.2rem;flex-wrap:wrap;margin:0 0 .6rem;padding:0;list-style:none}
.site-footer p{margin:.3rem 0;font-size:.9rem}
.cf{display:grid;gap:.9rem}.cf label{font-weight:600;font-size:.9rem;display:block}
.cf input,.cf textarea{display:block;width:100%;margin-top:.3rem;padding:.65rem .8rem;border:1px solid var(--line);border-radius:12px;font:inherit;background:var(--bg);color:var(--ink)}
.cf textarea{min-height:150px;resize:vertical}.cf .btn{justify-self:start}
.hp{position:absolute;left:-9999px}
.ok{display:none;padding:1rem;border-radius:12px;background:var(--good-bg);color:var(--good);font-weight:600}.ok.show{display:block}
.prose h2{margin-top:1.4rem}.prose li{margin:.3rem 0}
.loc-box{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1rem;margin:.6rem 0 0;padding:.8rem 1rem;background:var(--good-bg);color:var(--good);border:1px solid var(--good);border-left:5px solid var(--good);border-radius:14px}
.loc-box[hidden],#loc-pick[hidden]{display:none}
.loc-txt{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}.loc-lbl{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.loc-txt strong{font-size:1.02rem}
.loc-rm{color:var(--maroon);border-color:var(--maroon);background:var(--paper);min-height:44px}.loc-rm:hover{background:var(--maroon);color:var(--paper)}
@media (max-width:480px){.loc-rm{width:100%;justify-content:center}}

.date-row{align-items:center}.date-row .nav-btn{flex:0 0 auto;flex-direction:column;justify-content:center;gap:1px;min-width:52px;min-height:48px;padding:.3rem .55rem;border-radius:14px;line-height:1}.nav-btn .nav-ic{display:block;width:20px;height:20px}.nav-btn .nav-lb{font-size:11px;font-weight:600;letter-spacing:.02em}.date-row input{flex:1 1 9rem;min-width:0;width:auto;margin-top:0}
@media (max-width:640px){.date-row{flex-wrap:nowrap;gap:.4rem}.row .btn.nav-btn{flex:0 0 auto;min-width:46px;padding:.3rem .35rem}.date-row input{flex:1 1 0;padding:.6rem .5rem}}

.hdr-tools{display:flex;align-items:center;gap:.5rem;margin-left:auto}
.theme-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:0;border-radius:999px;border:1px solid rgba(255,194,122,.6);background:rgba(255,248,236,.12);color:#ffe2bf;cursor:pointer}
.theme-btn:hover{background:rgba(255,248,236,.22)}.theme-btn:focus-visible{outline:3px solid #ffc27a;outline-offset:2px}
.theme-btn svg{width:22px;height:22px}.theme-btn .ic-sun{display:none}
[data-theme="dark"] .theme-btn .ic-sun{display:block}[data-theme="dark"] .theme-btn .ic-moon{display:none}

/* verified badges */
.verified{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;align-items:center;list-style:none;padding:0;margin:.6rem 0;font-size:.8rem}
.verified .vl{font-weight:600;margin-right:.2rem}
.verified a{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:999px;border:1px solid currentColor;text-decoration:none;color:inherit}
.verified a:hover{text-decoration:underline}
.verified svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.4}.it.past,.prd.past{opacity:.5;filter:saturate(.35)}.it.past b,.prd.past b{font-weight:600}.fp-st{font-size:.75rem;font-weight:700;white-space:nowrap}.fp-now{color:var(--good)}.fp-upcoming{color:var(--saffron-d)}[data-theme=dark] .fp-upcoming{color:var(--saffron)}.fp-expired{color:var(--muted);font-weight:600}.prd.now{box-shadow:inset 3px 0 0 var(--saffron)}
.support-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem 1rem;border-radius:999px;background:var(--saffron);color:#fff;font-weight:700;text-decoration:none;border:1px solid var(--saffron-d)}.support-btn:hover{background:var(--saffron-d);color:#fff}.support-btn[hidden]{display:none}
.biz{font-style:normal;line-height:1.6}
.crumbs{font-size:.85rem;margin:.8rem 0 0;color:var(--muted)}.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.3rem;padding:0;margin:0}.crumbs li+li::before{content:"›";margin-right:.3rem}.tbl{width:100%;border-collapse:collapse;font-size:.95rem;margin:.6rem 0}.tbl th,.tbl td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}.tbl th{color:var(--indigo);font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.tbl-wrap{overflow-x:auto}.keyfact{background:var(--amber-bg);color:var(--amber);border-radius:12px;padding:.7rem .9rem;font-weight:600}.faq dt{font-weight:700;margin-top:.8rem;color:var(--maroon)}.faq dd{margin:.3rem 0 0}.src{font-size:.82rem;color:var(--muted)}.steps li{margin:.45rem 0}.mantra{font-family:"Noto Serif",serif;font-size:1.05rem;background:var(--bg);border-left:4px solid var(--saffron);padding:.5rem .8rem;border-radius:8px}.lang-sw{font-size:.88rem;margin:.4rem 0 0}.lang-pill{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 .85rem;border-radius:999px;border:1px solid rgba(255,194,122,.6);background:rgba(255,248,236,.12);color:#ffe2bf;font-weight:700;font-size:.9rem;line-height:1;text-decoration:none;white-space:nowrap;flex:none}.lang-pill:hover{background:rgba(255,248,236,.22);color:#fff}.lang-pill:focus-visible{outline:3px solid #ffc27a;outline-offset:2px}
@media (max-width:480px){.lang-pill{padding:0 .65rem;font-size:.85rem}}

/* ---- Kundli ---- */
.kp-form .grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}
@media (max-width:720px){.kp-form .grid3{grid-template-columns:1fr 1fr}.kp-form .grid3 .kp-span{grid-column:1/-1}}
.kp-form .fld input[type=date],.kp-form .fld input[type=time]{min-height:46px}
.kp-adv{margin:.9rem 0 0}.kp-adv summary{cursor:pointer;font-weight:600;color:var(--saffron-d)}
.kp-adv .grid3{margin-top:.2rem}
.kp-adv .fld small{display:block;font-weight:400;color:var(--muted);margin-top:.2rem}
.kp-acts{margin-top:1rem}
.kp-err{margin:.8rem 0 0;padding:.7rem 1rem;border-radius:12px;background:var(--bad-bg);color:var(--bad);border-left:4px solid var(--bad);font-weight:600}
.kp-err[hidden]{display:none}
.kp-privacy{display:flex;gap:.5rem;align-items:flex-start;margin:.9rem 0 0;padding:.6rem .8rem;border-radius:12px;background:var(--good-bg);color:var(--good);font-size:.9rem}
.kp-privacy svg{width:18px;height:18px;flex:none;margin-top:.15rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#kp-status:empty{display:none}#kp-status{margin:.4rem 0 0}
.kp-out[hidden]{display:none}
.kp-notes p{margin:.4rem 0;padding:.55rem .8rem;border-radius:10px;font-size:.93rem}
.kp-off{background:var(--paper);border:1px solid var(--line)}
.kp-info{background:rgba(46,58,122,.07);color:var(--ink)}
[data-theme="dark"] .kp-info{background:rgba(182,192,255,.1)}
.kp-warn{background:var(--amber-bg);color:var(--amber);border-left:4px solid var(--saffron)}
.kp-sum{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:.5rem;margin:.8rem 0}
.kp-sum div{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:.55rem .75rem}
.kp-sum span{display:block;font-size:.76rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.kp-sum strong{font-variant-numeric:tabular-nums;font-size:1rem}
.kp-tog{display:inline-flex;border:1px solid var(--saffron-d);border-radius:999px;overflow:hidden}
.kp-tog button{font:inherit;font-weight:600;padding:.5rem .95rem;border:0;background:transparent;color:var(--saffron-d);cursor:pointer;min-height:40px}
.kp-tog button[aria-pressed=true]{background:#b4521a;color:#fff}
.kp-charts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:.8rem}
@media (max-width:900px){.kp-charts{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.kp-charts{grid-template-columns:1fr}}
.kp-fig{margin:0;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:.6rem}
.kp-fig figcaption{font-family:'Noto Serif',serif;font-weight:700;color:var(--maroon);text-align:center;margin:0 0 .4rem}
.kc{display:block;width:100%;max-width:360px;height:auto;margin:0 auto;font-family:'Noto Sans',system-ui,sans-serif}
.kc-bg{fill:var(--paper);stroke:var(--maroon);stroke-width:2}
.kc-ln{fill:none;stroke:var(--maroon);stroke-width:1.5}
.kc-cell{fill:var(--paper);stroke:var(--maroon);stroke-width:1.2}
.kc-lag{fill:var(--amber-bg)}
.kc-lm{stroke:var(--saffron-d);stroke-width:2}
.kc-mid{fill:var(--bg);stroke:none}
.kc-num{font-size:11px;fill:var(--muted);text-anchor:middle;font-weight:600}
.kc-sn{font-size:10px;fill:var(--muted);font-weight:600}
.kc-pl{font-size:12.5px;fill:var(--ink);text-anchor:middle;font-weight:600}
.kc-as{fill:var(--saffron-d);font-weight:700}
.kc-title{font-size:16px;fill:var(--maroon);text-anchor:middle;font-family:'Noto Serif',serif;font-weight:700}
.tbl-wrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:.93rem}
.tbl caption{caption-side:bottom;text-align:left;color:var(--muted);font-size:.85rem;padding:.4rem 0}
.tbl th,.tbl td{padding:.5rem .6rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tbl thead th{background:rgba(232,119,46,.1);color:var(--maroon);font-size:.85rem}
.tbl .num{font-variant-numeric:tabular-nums;white-space:nowrap}
.kp-r{color:var(--bad)}
.kp-cur{display:flex;flex-wrap:wrap;gap:.3rem .6rem;align-items:baseline;padding:.75rem 1rem;border-radius:12px;background:var(--good-bg);color:var(--good);border-left:5px solid var(--good)}
.kp-cur span{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.kp-cur strong{font-size:1.15rem}
.kp-dasha>details{border:1px solid var(--line);border-radius:12px;margin:.45rem 0;background:var(--bg)}
.kp-dasha>details>summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.3rem 1rem;padding:.65rem .9rem;cursor:pointer;font-weight:600}
.kp-dasha>details>summary .kp-dd{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:400}
.kp-dasha>details.kp-now{border-color:var(--good);box-shadow:0 0 0 1px var(--good)}
.kp-dasha>details.kp-now>summary{background:var(--good-bg);color:var(--good);border-radius:11px 11px 0 0}
.kp-dasha .tbl-wrap{padding:0 .5rem .5rem}
.kp-atbl tr.kp-now>*{background:var(--good-bg);color:var(--good);font-weight:600}
.kp-pre,.kp-pre>*{color:var(--muted)}
.kp-tag{font-style:normal;font-size:.72rem;font-weight:700;padding:.05rem .45rem;border-radius:999px;background:var(--good);color:var(--paper);margin-left:.3rem;vertical-align:1px}
.kp-tag-pre{background:var(--line);color:var(--muted)}
.kp-pd summary{cursor:pointer}
.kp-pd ul{list-style:none;margin:.4rem 0 0;padding:0;font-weight:400;font-size:.88rem}
.kp-pd li{display:flex;justify-content:space-between;gap:.8rem;padding:.25rem .4rem;border-top:1px dashed var(--line);font-variant-numeric:tabular-nums}
.kp-pd li.kp-now{background:var(--good-bg);color:var(--good);font-weight:600;border-radius:6px}
.kp-share-row{margin-top:.6rem}
#kp-share-msg{margin:.4rem 0 0}
dl.faq dt{font-weight:700;color:var(--maroon);margin-top:1rem}dl.faq dd{margin:.3rem 0 0}
.kp-credits{font-size:.88rem;color:var(--muted)}
@media print{.site-header,.site-footer,.kp-form,.kp-acts,.kp-share-row,.kp-faq,.kp-about,.crumbs,.skip{display:none!important}.card{box-shadow:none;border:0}.kp-dasha>details{break-inside:avoid}}
.skip-h{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.kp-form-card{border-top:4px solid var(--saffron)}

.tbl tbody th{text-transform:none;letter-spacing:0;font-size:.92rem}
@media (max-width:600px){.kp-sum{grid-template-columns:1fr 1fr}.kp-sum strong{font-size:.92rem}}
