:root{--kumkum:#8e1b3a;--kumkum-d:#5e0f26;--haldi:#e8a317;--haldi-l:#fdf0d2;--cream:#fbf6ec;--sandal:#f3e6cf;--ink:#2a1a12;--muted:#6b5a4e;--teal:#0f6b6b;--line:#e2cfae;--good:#1f7a3d;--bad:#b3261e}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:15px/1.5 "Segoe UI",system-ui,-apple-system,Roboto,sans-serif;color:var(--ink);background:var(--cream)}
a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}
.top{background:linear-gradient(90deg,var(--kumkum-d),var(--kumkum));color:#fff;border-bottom:4px solid var(--haldi);position:sticky;top:0;z-index:40}
.topbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 14px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;min-width:0}
.brand img{height:40px;display:block;background:#fff8ea;border-radius:8px;padding:2px 6px}
.tag{font-size:12px;line-height:1.25;opacity:.88}
.toptools{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;min-width:0}
#langSwitch{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
#liveClock{font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.04em;background:rgba(0,0,0,.22);padding:6px 10px;border-radius:6px;min-width:5.5em;text-align:center}
.topdate{font-size:13px;opacity:.9;white-space:nowrap}
.locbar{background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}
.locbar-in{display:flex;align-items:center;gap:12px;padding:8px 14px;flex-wrap:wrap}
.curloc{min-width:0;flex:1 1 180px}
.locname{display:block;font-weight:700;color:var(--kumkum-d);font-size:16px;overflow-wrap:anywhere}
.loctz{display:block;font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.locbox{margin-left:auto;display:flex;gap:6px;align-items:center;position:relative;flex:1 1 280px;max-width:560px;min-width:0;flex-wrap:wrap}
.locbox input{padding:8px 10px;border-radius:6px;border:1px solid var(--line);min-width:0;flex:1 1 180px;width:auto;font-size:14px;background:#fff}
.locbox button,.btn{background:var(--haldi);color:var(--ink);border:0;border-radius:6px;padding:8px 12px;font-weight:600;cursor:pointer;min-height:40px}
.btn.alt{background:var(--kumkum);color:#fff}
.sugg,.city-dropdown{position:absolute;top:100%;left:0;right:0;width:auto;margin-top:4px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:6px;z-index:60;max-height:280px;overflow:auto;box-shadow:0 8px 22px #0003}
.sugg div,.city-dropdown div{padding:8px 10px;cursor:pointer;font-size:14px;white-space:normal}.sugg div:hover,.city-dropdown div:hover{background:var(--haldi-l)}
nav.main{background:var(--sandal);border-bottom:1px solid var(--line);overflow:visible;white-space:normal;position:relative;z-index:35}
nav.main .wrap{display:flex;flex-wrap:wrap;align-items:stretch}
nav.main .drop{position:relative}
nav.main .drop>a{display:block;padding:10px 12px;color:var(--kumkum-d);font-weight:700;font-size:14px}
nav.main .panel{display:none;position:absolute;top:100%;left:0;min-width:230px;max-width:280px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 28px #0002;padding:6px;z-index:50}
nav.main .drop:hover .panel,nav.main .drop:focus-within .panel{display:block}
nav.main .panel a{display:block;padding:7px 8px;color:var(--ink);font-weight:600;font-size:13px;white-space:normal;border-radius:6px}
nav.main .panel a:hover{background:var(--haldi-l);text-decoration:none}
.deepak{flex:0 0 auto;filter:drop-shadow(0 1px 0 rgba(0,0,0,.25))}
.ornament{pointer-events:none}
.edge{position:fixed;top:0;bottom:0;left:0;width:18px;z-index:3;
  background:
    repeating-linear-gradient(180deg,#7a142c 0 10px,#e8a317 10px 13px,#5c1020 13px 24px,#f6d98a 24px 27px,#8e1b3a 27px 40px),
    radial-gradient(circle at 50% 8px,#f6d98a 0 3px,transparent 4px);
  background-size:18px 40px,18px 40px;
  box-shadow:inset -3px 0 0 #5c1020}
.edge.r{left:auto;right:0;box-shadow:inset 3px 0 0 #5c1020}
.diya{flex:0 0 auto;line-height:0;align-self:center}
.diya img{width:22px;height:34px;object-fit:contain;display:block;filter:drop-shadow(0 1px 1px rgba(0,0,0,.4));animation:lamp 1.1s ease-in-out infinite alternate}
@keyframes lamp{from{filter:brightness(.95)}to{filter:brightness(1.15) drop-shadow(0 0 4px rgba(255,160,40,.8))}}
@media (max-width:1320px){.ornament{display:none}}
@media (prefers-reduced-motion:reduce){.diya img{animation:none}}
.festmark{width:36px;height:36px;object-fit:cover;border-radius:6px;display:block;margin:3px 0;box-shadow:0 1px 3px #0003}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.gallery figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.gallery img{width:100%;height:180px;object-fit:cover;display:block}
.gallery figcaption{padding:8px;font-size:13px}
.wrap{max-width:1200px;margin:0 auto}
.layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;padding:16px 14px}
aside.side{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;align-self:start}
aside.side h4{margin:6px 6px 4px;color:var(--kumkum);font-size:13px;text-transform:uppercase;letter-spacing:.04em}
aside.side a{display:block;padding:5px 8px;border-radius:6px;color:var(--ink);font-size:14px}
aside.side a:hover,aside.side a.on{background:var(--haldi-l);text-decoration:none}
main h1{font-family:Georgia,"Iowan Old Style",Palatino,serif;color:var(--kumkum);margin:0;font-size:34px;line-height:1.05}
.dayhead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 12px}
.daydate{margin:2px 0 0;color:var(--ink);font-weight:600}
.lunar{margin:2px 0 0;color:var(--kumkum-d);font-weight:600}
.dayjumps{display:flex;gap:8px}
.daynav{width:44px;height:44px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--kumkum);font-size:26px;line-height:40px;text-align:center;text-decoration:none}
.daynav:hover{background:var(--haldi-l);text-decoration:none}
.suntimes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 14px}
.suntimes div{background:#fff;border:1px solid var(--line);border-top:3px solid var(--kumkum);border-radius:8px;padding:8px 10px}
.suntimes span{display:block;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:700}
.suntimes b{font-size:18px;color:var(--kumkum-d)}
.range-note{color:var(--muted);font-size:13px;margin:0 0 10px}
.vedic{margin:-6px 0 14px;color:var(--kumkum-d);font-variant-numeric:tabular-nums;font-weight:650}
.verdict{font-size:18px;font-weight:700;margin:0 0 6px}
.syllable{font-family:Georgia,serif;font-size:64px;line-height:1;color:var(--kumkum);margin:0}
.syllable span{font-family:"Segoe UI",system-ui,sans-serif;font-size:28px;color:var(--ink);margin-left:8px}
.sub{color:var(--muted);margin:0 0 14px}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:16px;overflow:visible;box-shadow:0 2px 8px rgba(94,15,38,.04)}
.card>h2,.card>h3{margin:0;padding:9px 14px;background:linear-gradient(90deg,var(--haldi-l),#fff);border-bottom:1px solid var(--line);color:var(--kumkum-d);font-size:16px;border-radius:10px 10px 0 0}
.card .body{padding:12px 14px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
table.kv,table.t{width:100%;border-collapse:collapse;font-size:14px}
table.kv td{padding:6px 10px;border-bottom:1px solid #f1e5cf;vertical-align:top}table.kv td:first-child{color:var(--muted);width:42%;font-weight:600}
table.t th{background:var(--kumkum);color:#fff;text-align:left;padding:7px 9px;font-weight:600;font-size:13px}
table.t td{padding:6px 9px;border-bottom:1px solid #f1e5cf}table.t tr:nth-child(even) td{background:#fffaf1}
.good{color:var(--good);font-weight:600}.bad{color:var(--bad);font-weight:600}.neutral{color:var(--muted)}
.pill{display:inline-block;padding:1px 8px;border-radius:12px;font-size:12px;background:var(--haldi-l);color:var(--kumkum-d);margin:1px}
.datebar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.datebar input{padding:6px 8px;border:1px solid var(--line);border-radius:6px;max-width:100%}
form.f,.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px;align-items:end}
form.f > div,form.f > fieldset,form.f > section,form.f > p,form.f > ul,form.f > ol,form.f > h2,form.f > h3{grid-column:1 / -1;min-width:0}
label{display:flex;flex-direction:column;font-size:13px;color:var(--muted);font-weight:600;gap:3px;min-width:0;max-width:100%;position:relative}
label:has(input[type=checkbox]),label:has(input[type=radio]){flex-direction:row;align-items:center;font-weight:500}
form.f input:not([type=checkbox]):not([type=radio]):not([type=hidden]),form.f select,form.f textarea,.fields input:not([type=hidden]),.fields select,.fields textarea,label > input:not([type=checkbox]):not([type=radio]):not([type=hidden]),label > select,label > textarea{width:100%;max-width:100%;min-width:0;padding:7px 8px;border:1px solid var(--line);border-radius:6px;font-size:14px;background:#fff}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal .h{font-weight:700;text-align:center;color:var(--kumkum);padding:4px}
.cal .d{background:#fff;border:1px solid var(--line);border-radius:8px;min-height:96px;padding:5px;font-size:12px}
.cal .d.today{outline:2px solid var(--kumkum)}.cal .d .n{font-size:18px;font-weight:700;color:var(--kumkum-d)}
.cal .d.purnima{background:#fff7dd}.cal .d.amavasya{background:#f1ece6}.cal .d .ev{color:var(--teal);font-weight:600}
.charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;align-items:start}
.charts figure{margin:0;text-align:center;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px;max-width:420px}
.charts svg{width:100%;max-width:340px;height:auto;aspect-ratio:1/1;display:block;margin:0 auto}
.charts figcaption{font-weight:700;color:var(--kumkum-d);margin-top:6px;font-size:13px}
.ws-section{display:none}
#ws-birth{display:block}
.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}
.big{font-size:20px;font-weight:700;color:var(--kumkum-d)}
footer{background:var(--kumkum-d);color:#f7e7cf;padding:18px 14px;margin-top:30px;font-size:13px}footer a{color:var(--haldi)}
.tabs a{display:inline-block;padding:6px 12px;border:1px solid var(--line);border-radius:16px;margin:2px;background:#fff}
.tabs a.on{background:var(--kumkum);color:#fff;border-color:var(--kumkum)}
details summary{cursor:pointer;font-weight:600;color:var(--kumkum-d)}
@media (max-width:860px){.layout{grid-template-columns:1fr}aside.side{position:static;display:none;max-height:none}.grid2,.grid3,.hero,.suntimes{grid-template-columns:1fr 1fr}.locbox{margin-left:0;width:100%;max-width:none}.toptools{width:100%;margin-left:0;justify-content:flex-start}.dayhead{flex-wrap:wrap}main h1{font-size:28px}}
@media (max-width:640px){.grid2,.grid3,.hero,.suntimes,.cal{grid-template-columns:1fr}.cal{grid-template-columns:repeat(7,minmax(0,1fr))}.locbox button{width:100%}.syllable{font-size:42px}}
@media print{.top,nav.main,aside.side,footer,form.f,.datebar,.ornament{display:none}.layout{display:block}}

.langsel{margin-left:8px;padding:5px 6px;border-radius:6px;border:1px solid var(--line);background:#fff;color:var(--ink,#3a2418);font-size:13px}
.langreset{margin-left:6px;padding:5px 8px;border-radius:6px;border:1px solid #fff;background:#fff;color:var(--kumkum-d,#5e0f26);font-size:13px;font-weight:700;cursor:pointer;text-decoration:none}
.cloth{background:radial-gradient(ellipse at 50% 20%, #4a2d6e 0%, #1a1030 62%, #120b22 100%);border-radius:0 0 10px 10px;padding:22px 14px 18px}
.spread{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:28px 18px;justify-items:center}
.tcard{width:min(100%,220px);margin:0;perspective:900px}
.tcard img{width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;display:block;border-radius:8px;background:#140e22}
.slab{position:relative;padding:9px 9px 36px;border-radius:16px;background:linear-gradient(155deg,#fff6dc 0%,#f0d7a2 32%,#c9a15a 68%,#7a5820 100%);box-shadow:0 1px 0 rgba(255,255,255,.85) inset,0 -12px 16px rgba(80,40,8,.2) inset,0 18px 26px rgba(0,0,0,.48),4px 7px 0 #4e3514}
.slab img{box-shadow:0 0 0 1px #6d5218}
.slab .plaque{position:absolute;left:10px;right:10px;bottom:7px;text-align:center;font-family:Georgia,serif;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#2a1c08;line-height:1.2}
.tcard.rev .slab{transform:rotate(180deg)}
.deck-shuffle{position:relative;height:210px;width:128px;margin:8px auto 4px}
.deck-shuffle i{position:absolute;inset:0;border-radius:12px;border:2px solid #e0b44a;background:radial-gradient(circle at 50% 46%,#6a4a16 0 16%,transparent 17%),repeating-linear-gradient(45deg,#1a1030 0 7px,#2c1848 7px 14px);box-shadow:0 12px 18px #0008;animation:riffle .55s ease-in-out infinite}
.deck-shuffle i:nth-child(2){animation-delay:.07s}.deck-shuffle i:nth-child(3){animation-delay:.14s}.deck-shuffle i:nth-child(4){animation-delay:.21s}.deck-shuffle i:nth-child(5){animation-delay:.28s}
@keyframes riffle{0%{transform:translate(0,0) rotate(-8deg)}50%{transform:translate(36px,-18px) rotate(10deg)}100%{transform:translate(0,4px) rotate(-4deg)}}
.tcard.rev > img{transform:rotate(180deg)}
.tcard figcaption{color:#f6edd8;text-align:center;margin-top:10px}
.tcard figcaption span{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.72}
.tcard figcaption b{display:block;font-family:Georgia,serif;font-size:15px;font-weight:700;margin:3px 0 2px}
.tcard figcaption p{margin:0;font-size:12px;line-height:1.35;opacity:.88}
.bars{display:flex;flex-direction:column;gap:4px}.bar{display:flex;align-items:center;gap:6px;font-size:12px}.bar i{display:block;height:10px;background:var(--kumkum,#8e1b3a);border-radius:3px}
.hex{font-family:monospace;line-height:1.05;font-size:20px;letter-spacing:2px}
.reading p{margin:.35em 0;line-height:1.5}

main,.card,.grid2,.grid3,.hero,.layout,.wrap{min-width:0}
img,svg,video,canvas{max-width:100%;height:auto}
fieldset{min-width:0;max-width:100%;box-sizing:border-box}
.charts figure{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px;margin:0}
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px;margin:18px 0}
.feature-card{background:linear-gradient(145deg,#fff,#fffbf2);border:1px solid var(--line);border-top:4px solid var(--haldi);border-radius:10px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;color:inherit}
.feature-card h3{margin:0 0 6px;color:var(--kumkum-d);font-size:17px}
.feature-card p{margin:0 0 12px;font-size:13px;color:var(--muted)}
.pill-exalted{background:#e8f5e9;color:#1b5e20;border:1px solid #c8e6c9}
.pill-own{background:#e0f2f1;color:#004d40;border:1px solid #b2dfdb}
.pill-debilitated{background:#ffebee;color:#b71c1c;border:1px solid #ffcdd2}
.pill-retro{background:#f3e5f5;color:#4a148c;border:1px solid #e1bee7}
.pill-combust{background:#fff3e0;color:#e65100;border:1px solid #ffe0b2}
.pill-vargottama{background:var(--haldi-l);color:#5d4037;border:1px solid var(--haldi)}
.quick-nav{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 18px}
.quick-nav a{background:#fff;border:1px solid var(--line);padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600;color:var(--ink)}
.worksheet-bar{background:#fff;border:1px solid var(--line);border-radius:12px;margin:16px 0 20px;padding:12px 16px}
.ws-header{margin-bottom:10px}
.ws-title{display:block;font-size:15px;font-weight:700;color:var(--kumkum-d)}
.ws-subtitle{display:block;font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.ws-nav{display:flex;gap:6px;flex-wrap:wrap}
.ws-tab{background:#fffdfa;border:1px solid var(--line);border-radius:6px;padding:7px 12px;font-size:12.5px;font-weight:600;color:var(--ink);cursor:pointer}
.ws-tab.active{background:var(--kumkum);border-color:var(--kumkum-d);color:#fff}
.ws-pane{display:none}
.ws-pane.active{display:block}
.chakra-container{display:flex;flex-direction:column;align-items:center;margin:12px 0}
.chakra-table{margin-top:14px;width:100%;overflow-x:auto}
.pinda-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:10px;margin:10px 0}
.pinda-card{background:#fffbf2;border:1px solid var(--line);border-top:3px solid var(--haldi);border-radius:8px;padding:10px;text-align:center}
.pinda-card .title{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--muted);display:block}
.pinda-card .val{font-size:20px;font-weight:700;color:var(--kumkum-d);display:block;margin:3px 0}
.tajika-badge{display:inline-block;padding:3px 9px;border-radius:12px;font-size:11px;font-weight:700}
.tajika-ithasala{background:#e8f5e9;color:#1b5e20}
.tajika-ishrafa{background:#ffebee;color:#b71c1c}
.tajika-nakta{background:#e1f5fe;color:#01579b}
.tajika-yamaya{background:#fff8e1;color:#f57f17}
.tajika-kamboola{background:#f3e5f5;color:#4a148c}
.sloka-card{background:#fffdfa;border:1px solid var(--line);border-left:4px solid var(--kumkum);border-radius:8px;padding:12px 14px;margin-bottom:12px}
.sloka-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.sloka-title{font-size:13.5px;font-weight:700;color:var(--kumkum-d)}
.sloka-verse{font-size:13px;color:var(--kumkum-d);font-style:italic;line-height:1.6;background:#fff8f0;padding:8px 12px;border-radius:6px;margin:6px 0;overflow-wrap:anywhere}
.sloka-trans{font-size:13px;line-height:1.55;margin:4px 0 0}
.house-lord-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin-bottom:8px}
.varga-inspector-box{background:#fffaf3;border:1px solid var(--line);border-radius:8px;padding:14px;margin-top:14px}

.jumps{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.jumps a{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;color:var(--kumkum-d);text-decoration:none}
.jumps a:hover{background:var(--haldi-l);border-color:var(--haldi)}
.card[id]{scroll-margin-top:12px}
.goodcard{border-top:4px solid var(--good)}
.badcard{border-top:4px solid var(--bad)}
.bazi-pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:8px}
@media (max-width:640px){
  .grid2,.grid3,.hero,.suntimes{grid-template-columns:1fr}
  main h1{font-size:26px}
  .locbox button{flex:1 1 100%}
}
