html,body{margin:0;padding:0}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
img{max-width:100%}
/* Layout: masthead + sticky section nav; a birth-details rail on the left, live results on the right (stacks on phones). South-Indian charts drawn as 4x4 grids with a teal heart; kumkum red marks transits. */
:root{
  --ground:#F2F4EF; --surface:#FFFFFF; --surface-2:#E8EEE9; --ink:#10282A; --muted:#5A6B66; --line:#D5DDD7;
  --teal:#0B3B3C; --teal-2:#135A57; --gold:#B8891A; --gold-soft:#F4E6BF; --kumkum:#C0392B; --lagna:#1D4ED8; --ok:#2F7D4F;
  --on-teal:#F4F1E4;
  --f-display:"Noto Serif Tamil","Catamaran",Georgia,serif;
  --f-ui:"Catamaran","Noto Sans Tamil",system-ui,sans-serif;
  --f-body:"Noto Sans Tamil","Nirmala UI","Latha",system-ui,sans-serif;
  --r:10px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ground:#0D1717; --surface:#142222; --surface-2:#1B2E2D; --ink:#E4ECE8; --muted:#97AAA4; --line:#28403E;
  --teal:#0A2E2F; --teal-2:#1F6B66; --gold:#D9AE4A; --gold-soft:#3A3220; --kumkum:#F07062; --lagna:#7FA6FF; --ok:#5CC48A; --on-teal:#F4F1E4; color-scheme:dark}}
:root[data-theme="dark"]{
  --ground:#0D1717; --surface:#142222; --surface-2:#1B2E2D; --ink:#E4ECE8; --muted:#97AAA4; --line:#28403E;
  --teal:#0A2E2F; --teal-2:#1F6B66; --gold:#D9AE4A; --gold-soft:#3A3220; --kumkum:#F07062; --lagna:#7FA6FF; --ok:#5CC48A; --on-teal:#F4F1E4; color-scheme:dark}
html,body{background:var(--ground);color:var(--ink)}
body{font-family:var(--f-body);font-size:15px;line-height:1.6}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--teal)}
.wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));max-width:1400px;margin-inline:auto;box-sizing:border-box}
.num{font-variant-numeric:tabular-nums}
/* masthead */
.mast{background:var(--teal);color:var(--on-teal)}
.mast .wrap{padding-block:14px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px}
.mastmid{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;justify-content:space-between;min-width:0}
.deity{width:84px;height:84px;object-fit:contain;background:#fff;border:2px solid #E8C66A;border-radius:14px;padding:3px;box-shadow:0 2px 10px rgba(0,0,0,.25)}
@media (max-width:640px){.mast .wrap{gap:10px}.deity{width:56px;height:56px;border-radius:10px;padding:2px}.brand .seal{display:none}.brand h1{font-size:1.1rem}}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.seal{width:46px;height:46px;flex:none}
.brand h1{margin:0;font-family:var(--f-ui);font-weight:800;font-size:1.5rem;letter-spacing:.07em;color:#E8C66A;line-height:1.1}
.brand p{margin:2px 0 0;font-family:var(--f-ui);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#B9CFCA}
.contact{font-family:var(--f-ui);font-size:.85rem;color:#D6E2DE;display:flex;flex-wrap:wrap;gap:4px 18px}
.contact span{user-select:all}
/* nav */
.navbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--surface);border-bottom:1px solid var(--line)}
.navbar .wrap{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;padding-block:6px}
#nav{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;min-width:0;flex:1}
#nav a{font-family:var(--f-ui);font-weight:700;font-size:.95rem;color:var(--muted);text-decoration:none;padding:8px 12px;border-bottom:3px solid transparent;white-space:nowrap}
#nav a:hover{color:var(--ink)}
#nav a.on{color:var(--ink);border-bottom-color:var(--gold)}
#nav a:focus-visible,.btn:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.status{font-family:var(--f-ui);font-size:.82rem;color:var(--muted);display:flex;align-items:center;gap:6px;white-space:nowrap}
.status::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--muted)}
.status.ok::before{background:var(--ok)} .status.busy::before{background:var(--gold);animation:pulse 1s infinite}
@keyframes pulse{50%{opacity:.3}}
/* layout */
.layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px;padding-block:24px 48px;align-items:start}
@media (max-width:900px){.layout{grid-template-columns:minmax(0,1fr)}}
aside{display:flex;flex-direction:column;gap:16px;position:sticky;top:calc(env(safe-area-inset-top,0px) + 64px)}
@media (max-width:900px){aside{position:static}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;min-width:0}
.card h3,.rail h2{margin:0 0 12px;font-family:var(--f-ui);font-weight:800;font-size:1.02rem;color:var(--ink)}
.rail h2{display:flex;justify-content:space-between;align-items:baseline}
form{display:grid;gap:12px}
.fld{display:grid;gap:4px}
.fld label,.toolbar label{font-family:var(--f-ui);font-size:.82rem;font-weight:700;color:var(--muted);letter-spacing:.02em}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
input,select{font:inherit;font-size:.95rem;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);width:100%;box-sizing:border-box;min-width:0}
input:focus,select:focus{outline:2px solid var(--gold);outline-offset:0;border-color:var(--gold)}
details#adv summary{cursor:pointer;font-family:var(--f-ui);font-size:.85rem;color:var(--teal-2);font-weight:700}
details#adv[open] summary{margin-bottom:10px}
.hint{font-size:.78rem;color:var(--muted);margin:0}
.btns{display:flex;gap:8px;flex-wrap:wrap}
.btn{font-family:var(--f-ui);font-weight:700;font-size:.92rem;border-radius:7px;padding:8px 16px;cursor:pointer;border:1px solid var(--teal-2);background:var(--teal-2);color:#fff}
.btn:hover{filter:brightness(1.1)}
.btn.ghost{background:transparent;color:var(--teal-2)}
:root[data-theme="dark"] .btn.ghost{color:var(--gold);border-color:var(--gold)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn.ghost{color:var(--gold);border-color:var(--gold)}}
#profiles{display:grid;gap:6px;max-height:280px;overflow:auto}
.prof{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:7px;overflow:hidden}
.pload{flex:1;text-align:left;background:none;border:0;padding:8px 10px;cursor:pointer;color:var(--ink);font:inherit;display:grid;min-width:0}
.pload:hover{background:var(--surface-2)}
.pload b{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .pload small{font-size:.75rem;color:var(--muted)}
.pdel{border:0;border-left:1px solid var(--line);background:none;color:var(--muted);cursor:pointer;padding:0 10px}
.pdel:hover{color:var(--kumkum)}
.empty{font-size:.85rem;color:var(--muted);margin:0}
/* results */
.reshead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:6px 16px;margin-bottom:18px}
#who{margin:0;font-family:var(--f-display);font-weight:700;font-size:clamp(1.25rem,2.4vw,1.75rem);line-height:1.3;text-wrap:balance}
#stamp{font-family:var(--f-ui);font-size:.82rem;color:var(--muted)}
#view{display:flex;flex-direction:column;gap:20px;min-width:0}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.fact{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;display:grid;gap:2px}
.fact span{font-family:var(--f-ui);font-size:.75rem;letter-spacing:.06em;color:var(--muted);font-weight:700}
.fact b{font-family:var(--f-display);font-size:1.05rem;color:var(--ink);font-weight:700}
.charts{display:grid;gap:20px}
.charts.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.charts.one{grid-template-columns:minmax(min(100%,340px),460px) minmax(0,1fr);align-items:start}
@media (max-width:1100px){.charts.one{grid-template-columns:minmax(0,1fr)}}
figure{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;min-width:0}
figcaption{font-family:var(--f-ui);font-weight:800;margin-bottom:10px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.lg{color:var(--ink);font-size:.8rem} .lg.tr{color:var(--kumkum)}
/* South-Indian chart */
.si{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);aspect-ratio:1;max-width:100%;border:2px solid var(--gold);background:var(--gold);gap:1px}
.hs{background:var(--surface);position:relative;padding:18px 4px 4px;display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden}
.sg{position:absolute;top:3px;left:5px;font-size:.62rem;color:var(--muted);font-family:var(--f-ui);letter-spacing:.02em}
.pls{display:flex;flex-wrap:wrap;gap:1px 6px;justify-content:center;align-items:center}
.pl{font-weight:700;font-size:.8rem;color:var(--ink);line-height:1.25}
.pl.lag{color:var(--lagna)} .pl.tr{color:var(--kumkum);font-weight:600;font-size:.72rem}
.siwrap{display:grid;grid-template-columns:42px repeat(4,1fr) 42px;grid-template-rows:minmax(22px,auto) repeat(4,1fr) minmax(22px,auto);max-width:100%}
.sicore{grid-row:2/6;grid-column:2/6;min-width:0}
.trx{display:flex;flex-wrap:wrap;gap:0 5px;color:var(--kumkum);font-weight:600;font-size:.72rem;line-height:1.25;padding:2px}
.trx.t{align-items:flex-end;justify-content:center;align-content:flex-end}
.trx.b{align-items:flex-start;justify-content:center;align-content:flex-start}
.trx.l{flex-direction:column;align-items:flex-end;justify-content:center;text-align:right}
.trx.r{flex-direction:column;align-items:flex-start;justify-content:center}
.ctr{grid-row:2/4;grid-column:2/4;background:var(--teal);color:var(--on-teal);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2px;padding:8px}
.ctr b{font-family:var(--f-display);color:#E8C66A;font-size:1.15rem}
.ctr span{font-size:.82rem;color:#D6E2DE} .ctr b.sub{font-size:.95rem;margin-top:6px} .ctr .tr{color:#FFB4A8}
.si.sm .pl{font-size:.7rem;line-height:1.15} .si.sm .pls{gap:0 4px} .si.sm .sg{display:none} .si.sm .hs{padding:2px} .si.sm .ctr b{font-size:.85rem} .si.sm .ctr span{font-size:.68rem}
.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.vgrid figure{padding:10px} .vgrid figcaption{font-size:.85rem;margin-bottom:6px}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:20px;align-items:start}
.kvs{margin:0;display:grid}
.kv{display:grid;grid-template-columns:minmax(110px,40%) 1fr;gap:10px;padding:7px 0;border-bottom:1px solid var(--line)}
.kv:last-child{border-bottom:0}
.kv dt{color:var(--muted);font-size:.86rem} .kv dd{margin:0;font-weight:500;min-width:0}
.tscroll{overflow-x:auto}
.tbl{border-collapse:collapse;width:100%;font-size:.9rem}
.tbl th,.tbl td{padding:7px 10px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl thead th{font-family:var(--f-ui);font-size:.78rem;color:var(--muted);letter-spacing:.04em;font-weight:700;background:var(--surface-2)}
.tbl tbody th{font-weight:700}
.tbl td.num{font-variant-numeric:tabular-nums}
.tbl tr.cur td{background:var(--gold-soft);font-weight:700}
.tbl tr.pre td{color:var(--muted)}
.pill{display:inline-block;font-family:var(--f-ui);font-size:.72rem;font-weight:800;letter-spacing:.05em;background:var(--gold);color:#1B1300;border-radius:99px;padding:1px 9px}
/* predictions */
.note{font-size:.85rem;color:var(--muted);margin:0;max-width:80ch}
.pred{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.pred h3{margin:0;padding:12px 18px;font-family:var(--f-display);font-size:1.08rem;background:var(--surface-2);border-bottom:1px solid var(--line)}
.items{display:grid}
.item{padding:12px 18px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(160px,28%) 1fr;gap:6px 20px}
.item:last-child{border-bottom:0}
.item h4{margin:0;font-family:var(--f-ui);font-size:.95rem;font-weight:800;color:var(--teal-2)}
:root[data-theme="dark"] .item h4{color:var(--gold)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .item h4{color:var(--gold)}}
.item p{margin:0;max-width:75ch}
@media (max-width:640px){.item{grid-template-columns:1fr}}
/* dasa */
.mdbar{position:relative;padding-top:26px}
.segs{display:flex;height:42px;border-radius:7px;overflow:hidden;border:1px solid var(--line)}
.seg{min-width:0;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border-right:1px solid var(--line);font-size:.78rem;font-weight:700;overflow:hidden}
.seg:nth-child(even){background:var(--surface)}
.seg span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 2px}
.seg.cur{background:var(--gold);color:#1B1300}
.nowmk{position:absolute;top:0;bottom:0;width:2px;background:var(--kumkum)}
.nowmk span{position:absolute;top:0;left:50%;transform:translateX(-50%);font-family:var(--f-ui);font-size:.72rem;font-weight:800;color:var(--kumkum);white-space:nowrap}
.mdaxis{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted);margin-top:4px}
.dlist{display:grid;gap:8px}
.dasa{background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.dasa summary{cursor:pointer;padding:12px 16px;display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center}
.dasa summary b{font-family:var(--f-display);min-width:8em}
.dasa summary .num{color:var(--muted);font-size:.88rem}
.dasa.cur{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.dasa.past summary b{color:var(--muted)}
.dasa .tscroll{padding:0 8px 10px}
/* toolbar + paper (sheet view) */
.toolbar{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.toolbar input,.toolbar select{width:auto;max-width:100%}
.toolbar .sp{flex:1}
#more{font-size:.8rem;color:var(--gold)}
.paper{overflow:auto;max-height:75vh;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
table.xl{border-collapse:collapse;table-layout:fixed;font-family:var(--f-body);font-size:13.4px;color:#000;background:#fff;line-height:1.3}
table.xl td{padding:1px 3px;overflow:hidden;vertical-align:bottom}
table.xl.grid td{border:1px solid #E4E7E5}
table.xl td .nw{white-space:nowrap;overflow:hidden}
table.xl td:has(.nw){overflow:visible}
table.xl td.wr{white-space:pre-wrap;word-break:break-word}
td.edc{padding:2px 4px;background:#FFF7D1 !important;outline:2px solid #C9A227;outline-offset:-2px}
.ed{display:flex;gap:4px;align-items:center}
.ed input,.ed select{font-size:13px;padding:3px 6px;background:#fff;color:#000;border-color:#CDB45A}
.ed .reset{font-size:11px;border:1px solid #CDB45A;background:#fff;color:#000;border-radius:3px;padding:2px 6px;cursor:pointer}
#toast{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);background:var(--teal);color:var(--on-teal);padding:10px 18px;border-radius:8px;font-family:var(--f-ui);font-weight:700;z-index:40}
footer{border-top:1px solid var(--line);color:var(--muted);font-size:.8rem}
footer .wrap{padding-block:18px}

/* PDF report (rendered off-screen, fixed light colours) */
#report{background:#fff;color:#14282A;font-family:var(--f-body);font-size:13px;line-height:1.5;letter-spacing:0;
  --surface:#fff;--surface-2:#EEF3EF;--ink:#14282A;--muted:#5A6B66;--line:#D5DDD7;--gold:#B8891A;--teal:#0B3B3C;--kumkum:#C0392B;--lagna:#1D4ED8}
#report *{letter-spacing:0!important;text-transform:none!important}
#report .rhead{display:flex;justify-content:space-between;align-items:center;background:#0B3B3C;color:#F4F1E4;padding:14px 18px}
#report .rhead b{display:block;font-family:var(--f-ui);font-size:20px;color:#E8C66A}
#report .rhead span{font-size:11px;color:#B9CFCA}
#report .rc{font-size:11px;text-align:right;color:#D6E2DE}
#report h1{font-family:var(--f-display);font-size:19px;margin:14px 0 10px;line-height:1.35}
#report h2{font-family:var(--f-ui);font-size:15px;margin:0;padding:16px 0 6px;color:#0B3B3C;border-bottom:2px solid #B8891A}
#report h3{font-family:var(--f-display);font-size:14px;margin:0;padding:14px 0 4px;color:#0B3B3C}
#report .rfacts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
#report .rfacts div{border:1px solid #D5DDD7;padding:6px 10px;border-radius:6px}
#report .rfacts span{display:block;font-size:10.5px;color:#5A6B66}
#report .rfacts b{font-size:14px}
#report .rcharts{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-top:12px}
#report figure{margin:0;padding:0;border:0}
#report figcaption{font-family:var(--f-ui);font-weight:800;font-size:13px;margin-bottom:6px;display:flex;gap:8px;align-items:center}
#report figcaption i{font-style:normal;font-size:11px;font-weight:600} #report figcaption i.tr{color:#C0392B}
#report .hs{background:#fff} #report .pl{font-size:13px} #report .pl.tr{font-size:11.5px} #report .sg{font-size:9px}
#report .ctr{background:#0B3B3C}
#report .rt{width:100%;border-collapse:collapse;font-size:12.5px}
#report .rt th,#report .rt td{text-align:left;padding:4px 8px;border-bottom:1px solid #E1E7E3;font-weight:400}
#report .rt tr:first-child th{font-weight:700;color:#5A6B66;font-size:11.5px;background:#EEF3EF}
#report .rt th{font-weight:700}
#report .rt.kv th{width:36%;color:#5A6B66;font-weight:500}
#report .rt.kv tr:first-child th{background:none;font-size:12.5px;font-weight:500}
#report .rt tr.cur td,#report .rt tr.cur th{background:#F4E6BF;font-weight:700}
#report .vrow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding-top:10px}
#report .vrow figcaption{font-size:11.5px}
#report .si.sm .pl{font-size:10px}
#report .pi{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:6px 0;border-bottom:1px solid #EEF1EE}
#report .pi h4{margin:0;font-size:12.5px;color:#135A57}
#report .pi p{margin:0}
#report .note{font-size:11px;color:#5A6B66;margin:8px 0 0}

.dlband{padding-block:0 32px}
.dlcard{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between;background:var(--teal);color:var(--on-teal);border-radius:var(--r);padding:22px 24px}
.dlcard h2{margin:0 0 4px;font-family:var(--f-ui);font-size:1.15rem;color:#E8C66A}
.dlcard p{margin:0;font-size:.88rem;color:#D6E2DE;max-width:70ch}
.btn.big{font-size:1.05rem;padding:12px 26px;background:#E8C66A;border-color:#E8C66A;color:#1B1300}
.btn:disabled{opacity:.6;cursor:progress}
#report .rpage{width:714px;box-sizing:border-box;overflow:hidden;background:#fff;display:flow-root}
#report .rr{display:grid;gap:8px;padding:4px 8px;border-bottom:1px solid #E1E7E3;font-size:12.5px}
#report .rr.rh{background:#EEF3EF;font-weight:700;color:#5A6B66;font-size:11.5px}
#report .rr .k{font-weight:700}
#report .rr.cur{background:#F4E6BF;font-weight:700}
#report .rcharts{padding-bottom:6px}
#report .vrow{padding-bottom:4px}
#report .pi:last-child{border-bottom:0}

.themepick{border:0;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.themepick legend{font-family:var(--f-ui);font-size:.78rem;font-weight:700;color:#B9CFCA;margin-bottom:6px;padding:0}
.dlbtns{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.opt{display:flex;align-items:center;gap:10px;border:1px solid rgba(232,198,106,.5);border-radius:8px;padding:9px 14px;cursor:pointer;min-width:0;background:rgba(255,255,255,.04);font:inherit;text-align:left;color:inherit}
.opt:hover{border-color:#E8C66A;background:rgba(232,198,106,.14)}
.opt:focus-visible{outline:2px solid #E8C66A;outline-offset:2px}
.opt:has(input:checked){border-color:#E8C66A;background:rgba(232,198,106,.12)}
.opt input{accent-color:#E8C66A;width:auto;margin:0}
.opt b{display:block;font-family:var(--f-ui);font-size:.9rem;color:#fff}
.opt small{display:block;font-size:.74rem;color:#B9CFCA}
.sw{width:26px;height:34px;border-radius:4px;flex:none;border:1px solid rgba(255,255,255,.4)}
.sw.dark{background:linear-gradient(#0B3B3C 0 22%,#0D1717 22%)}
.sw.light{background:linear-gradient(#0B3B3C 0 22%,#F2F4EF 22%)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}
@media (max-width:640px){#nav{flex:1 0 100%;order:2}.navbar .pdfbtn{padding:6px 12px;font-size:.85rem}}

/* logo + contact card */
.brand .seal.logo{width:auto;height:60px;border-radius:8px}
.contactband{padding-block:8px 24px}
.contactcard{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:28px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px}
.vcard{width:100%;height:auto;border-radius:12px;box-shadow:0 8px 24px rgba(11,59,60,.25);display:block}
.cinfo{min-width:0}
.eyebrow{margin:0;font-family:var(--f-ui);font-size:.8rem;font-weight:800;letter-spacing:.12em;color:var(--gold)}
.cinfo h2{margin:2px 0 0;font-family:var(--f-ui);font-weight:800;font-size:1.7rem;letter-spacing:.04em}
.role{margin:0 0 14px;color:var(--muted);font-family:var(--f-ui)}
.clist{margin:0;display:grid}
.clist div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.clist dt{color:var(--muted);font-size:.88rem}.clist dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;min-width:0;overflow-wrap:anywhere}
.sel{user-select:all}
.cnote{margin:14px 0;max-width:60ch;color:var(--muted)}
.cbtns{display:flex;gap:10px;flex-wrap:wrap}
a.btn{text-decoration:none;display:inline-block}
.btn.ghost.light{background:transparent}
@media (max-width:700px){.contactcard{grid-template-columns:minmax(0,1fr);padding:16px}.vcard{max-width:300px;margin-inline:auto}.brand .seal.logo{height:44px}}

/* marriage matching */
.pforms{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
.pform{display:grid;gap:10px}
.pform h3,.pres h3{display:flex;align-items:center;gap:8px}
.dot{width:10px;height:10px;border-radius:50%;flex:none}.dot.boy{background:var(--teal-2)}.dot.girl{background:var(--kumkum)}
.pform.boy{border-top:3px solid var(--teal-2)}.pform.girl{border-top:3px solid var(--kumkum)}
.row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}
.pform details summary{cursor:pointer;font-family:var(--f-ui);font-size:.85rem;color:var(--teal-2);font-weight:700}
.btn.small{font-size:.8rem;padding:5px 10px;justify-self:start}
.pact{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.btn.big2{font-size:1.05rem;padding:11px 28px;background:var(--gold);border-color:var(--gold);color:#1B1300}
.pscore{display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px;background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--muted);border-radius:var(--r);padding:20px 22px}
.pscore.good{border-left-color:var(--ok)}.pscore.mid{border-left-color:var(--gold)}.pscore.bad{border-left-color:var(--kumkum)}
.pscore h3{margin:2px 0 4px;font-family:var(--f-display);font-size:1.3rem}
.pscore p{margin:0}
.ring{width:92px;height:92px;border-radius:50%;border:6px solid var(--gold);display:flex;align-items:baseline;justify-content:center;padding-top:22px;box-sizing:border-box;flex:none}
.ring b{font-family:var(--f-ui);font-size:2rem;line-height:1}.ring span{font-size:.85rem;color:var(--muted);margin-left:3px}
.pres .phead{margin:0 0 8px;color:var(--muted);font-size:.86rem}
.pcharts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.pcharts figure{padding:8px;border:0}
.pcharts .pl{font-size:.68rem}.pcharts .sg{font-size:.5rem}.pcharts .ctr b{font-size:.85rem}.pcharts .ctr span{font-size:.7rem}
.ptbl td{white-space:normal;min-width:120px}
.res{display:inline-block;font-family:var(--f-ui);font-weight:800;font-size:.78rem;border-radius:99px;padding:2px 10px;white-space:nowrap}
.res.good{background:#DCF2E4;color:#1D6B3E}.res.mid{background:var(--gold-soft);color:#7A5A0C}.res.bad{background:#FBE0DC;color:#A3291C}
.crit{font-size:.66rem;font-weight:800;color:var(--kumkum);border:1px solid var(--kumkum);border-radius:4px;padding:0 4px;margin-left:4px}
@media (max-width:640px){.pcharts{grid-template-columns:1fr}}

/* services */
.contactcard{grid-template-columns:minmax(0,520px) minmax(0,1fr)}
.cards2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.svh{margin:18px 0 8px;font-family:var(--f-ui);font-size:1.05rem;font-weight:800}
.svlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}
.svlist li{border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:7px;padding:8px 12px;display:grid}
.svlist b{font-size:.92rem}.svlist span{font-size:.78rem;color:var(--muted);font-family:var(--f-ui)}
@media (max-width:1100px){.contactcard{grid-template-columns:minmax(0,1fr)}.cards2{max-width:560px}}
@media (max-width:700px){.cards2{grid-template-columns:1fr 1fr;gap:8px}.contactcard .vcard{max-width:none}}

/* ashtakavarga */
.pl.av{font-size:1.05rem;font-variant-numeric:tabular-nums}
.si.sm .pl.av{font-size:.85rem}
.pl.av-hi{color:var(--ok)} .pl.av-lo{color:var(--kumkum)}
.avbar{display:block;width:140px;height:8px;border-radius:4px;background:var(--surface-2);overflow:hidden}
.avbar i{display:block;height:100%;background:var(--gold)} .avbar i.hi{background:var(--ok)} .avbar i.lo{background:var(--kumkum)}
.sech{margin:6px 0 0;font-family:var(--f-ui);font-weight:800;font-size:1.05rem}
.muted{color:var(--muted);font-weight:600}
.avgrid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}

/* mantra band */
.mantra{background:#072829;border-bottom:1px solid rgba(232,198,106,.35)}
.mantra .wrap{padding-block:8px}
.mantra p{margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:2px 0;font-family:"Noto Serif Tamil",var(--f-display);font-weight:600;font-size:.98rem;color:#E8C66A;text-align:center;line-height:1.6}
.mantra span{padding:0 14px;position:relative}
.mantra span+span::before{content:"✦";position:absolute;left:-6px;font-size:.6rem;top:.45em;color:rgba(232,198,106,.6)}
@media (max-width:760px){.mantra p{flex-direction:column}.mantra span+span::before{display:none}.mantra p{font-size:.92rem}}

.bhava .tbl td,.bhava .tbl th{white-space:nowrap}

/* welcome quote banner (centre of the screen) */
.qmodal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:rgba(5,12,24,.55);opacity:0;transition:opacity .4s}
.qmodal.show{opacity:1}
.qbanner{position:relative;width:min(900px,100%);max-height:100%;overflow:auto;box-sizing:border-box;background:radial-gradient(120% 140% at 50% 0%,#14284A 0%,#0C1A33 55%,#091428 100%);border:2.5px solid #D9A52A;border-radius:22px;box-shadow:0 0 0 6px rgba(9,20,40,.9),0 0 0 7.5px rgba(217,165,42,.45),0 30px 80px rgba(0,0,0,.55);padding:26px clamp(18px,4vw,48px) 22px;text-align:center;color:#fff;transform:scale(.94) translateY(10px);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.qmodal.show .qbanner{transform:none}
.qtitle{margin:0;display:flex;align-items:center;justify-content:center;gap:.5em;font-family:"Noto Serif Tamil",var(--f-display);font-weight:700;font-size:clamp(1.6rem,4.6vw,2.7rem);line-height:1.25;color:#F2C230;text-shadow:0 2px 0 rgba(0,0,0,.35)}
.qstar{font-size:.6em;color:#F2C230}
.qrule{display:flex;align-items:center;justify-content:center;gap:10px;margin:10px auto 14px;width:min(60%,520px)}
.qrule.wide{width:min(96%,820px);margin:16px auto 12px}
.qrule i{flex:1;height:2px;background:linear-gradient(90deg,transparent,#D9A52A)}
.qrule i:last-child{background:linear-gradient(90deg,#D9A52A,transparent)}
.qrule b{width:10px;height:10px;background:#F2C230;transform:rotate(45deg);flex:none}
.lotus{width:56px;height:34px;flex:none}
.qtext{margin:0 auto;max-width:34ch;font-family:"Noto Sans Tamil",var(--f-body);font-weight:700;font-size:clamp(1.15rem,3.2vw,1.85rem);line-height:1.55;color:#fff;text-wrap:balance}
.qhouse{margin:0;font-family:"Noto Serif Tamil",var(--f-display);font-weight:700;font-size:clamp(1.25rem,3.4vw,2rem);color:#F2C230;line-height:1.35}
.qom{margin:6px 0 0;font-family:"Noto Sans Tamil",var(--f-body);font-weight:700;font-size:clamp(1rem,2.4vw,1.3rem);color:#fff}
.qnum{margin:12px 0 0;font-family:var(--f-ui);font-size:.75rem;letter-spacing:.06em;color:#9FB0C8}
.qclose{position:absolute;top:12px;right:12px;background:rgba(9,20,40,.6);border:1px solid rgba(217,165,42,.6);color:#F2C230;border-radius:50%;width:34px;height:34px;cursor:pointer;font-size:.9rem}
.qclose:hover{background:rgba(217,165,42,.18)}
.qclose:focus-visible{outline:2px solid #F2C230;outline-offset:2px}
.qbar{height:3px;background:rgba(217,165,42,.2);margin:14px auto 0;width:min(60%,420px);border-radius:2px;overflow:hidden}
.qbar i{display:block;height:100%;width:100%;background:#F2C230;transform-origin:left}
.qmodal.show .qbar i{animation:qtimer 12s linear forwards}
@keyframes qtimer{to{transform:scaleX(0)}}
@media (prefers-reduced-motion:reduce){.qmodal,.qbanner{transition:none}.qmodal.show .qbar i{animation:none}}
@media (max-width:560px){.qbanner{padding-top:48px}.qclose{top:10px;right:10px;width:30px;height:30px}}

/* ===== interactive layer ===== */
.mast{position:relative;overflow:hidden;background:radial-gradient(120% 160% at 50% 0%,#135A57 0%,#0B3B3C 55%,#072829 100%)}
.mast .wrap{position:relative;z-index:1}
.mast canvas.sky{position:absolute;inset:0;z-index:0;pointer-events:none}
.zwheel{position:absolute;z-index:0;left:50%;top:50%;width:420px;height:420px;margin:-210px 0 0 -210px;opacity:.13;pointer-events:none;animation:zspin 240s linear infinite}
.zwheel svg{width:100%;height:100%;font-family:"Segoe UI Symbol","Noto Sans Symbols 2","Apple Symbols",serif}
@keyframes zspin{to{transform:rotate(360deg)}}
.deity{transition:transform .35s ease, box-shadow .35s ease}
.deity:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 0 0 3px rgba(232,198,106,.35),0 8px 22px rgba(0,0,0,.35)}

/* nav underline slides */
#nav a{position:relative;border-bottom-color:transparent!important}
#nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;border-radius:2px;background:var(--gold);transform:scaleX(0);transition:transform .3s ease}
#nav a:hover::after{transform:scaleX(.5)} #nav a.on::after{transform:scaleX(1)}

/* cards + tiles lift */
.fact,.card,figure,.dasa,.pred{transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease}
.fact:hover,.vgrid figure:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(11,59,60,.12);border-color:var(--gold)}

/* page change */
.rise{animation:rise .5s cubic-bezier(.2,.8,.2,1) both}
@keyframes rise{from{transform:translateY(14px);opacity:.35}to{transform:none;opacity:1}}

/* planets on charts */
[data-p]{cursor:pointer;border-radius:4px;transition:background .15s, transform .15s}
[data-p]:hover,[data-p].hl{background:rgba(232,198,106,.28);transform:scale(1.12)}
.hs{transition:background .2s}
.hs:hover{background:color-mix(in srgb, var(--gold-soft) 55%, var(--surface))}
.ptip{position:fixed;z-index:70;max-width:240px;background:#0C1A33;color:#fff;border:1px solid #D9A52A;border-radius:10px;padding:9px 12px;font-size:.84rem;line-height:1.45;box-shadow:0 12px 30px rgba(0,0,0,.35);display:grid;gap:1px;pointer-events:none}
.ptip b{color:#F2C230;font-size:.95rem} .ptip em{font-style:normal;font-size:.72rem;color:#FFB4A8;margin-left:4px}
.ptip .k{font-size:.7rem;letter-spacing:.05em;color:#9FB0C8;font-family:var(--f-ui)}

/* today card */
.todaycard{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;background:linear-gradient(120deg,#0B3B3C,#135A57);color:#F4F1E4;border-radius:var(--r);padding:16px 18px;border:1px solid rgba(232,198,106,.5);position:relative;overflow:hidden}
.todaycard::after{content:"";position:absolute;inset:-40% -10% auto auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(242,194,48,.22),transparent 70%);pointer-events:none}
.tc-k{display:block;font-family:var(--f-ui);font-size:.72rem;font-weight:800;letter-spacing:.08em;color:#E8C66A}
.todaycard b{display:block;font-family:var(--f-display);font-size:1.15rem;color:#fff;line-height:1.35}
.todaycard span{font-size:.8rem;color:#C9DAD5}
#tc-time{font-family:var(--f-ui);font-size:1.6rem;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.ring-wrap{display:flex;gap:12px;align-items:center}
.pring{width:52px;height:52px;flex:none;transform:rotate(-90deg)}
.pring circle{fill:none;stroke-width:5}
.pring .bg{stroke:rgba(255,255,255,.15)}
.pring .fg{stroke:#F2C230;stroke-linecap:round;stroke-dasharray:113.1;stroke-dashoffset:calc(113.1 - 113.1*var(--p)/100);animation:ringin 1.2s ease-out both}
@keyframes ringin{from{stroke-dashoffset:113.1}}

/* calculating */
.calcwheel{position:fixed;z-index:65;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);display:flex;align-items:center;gap:10px;background:#0B3B3C;color:#F2C230;border:1px solid #D9A52A;border-radius:99px;padding:8px 18px 8px 10px;font-family:var(--f-ui);font-weight:700;opacity:0;pointer-events:none;transition:opacity .2s, transform .2s}
.calcwheel svg{width:28px;height:28px;animation:zspin 1s linear infinite}
body.calc .calcwheel{opacity:1;transform:translate(-50%,0)}
body.calc #view{opacity:.6;transition:opacity .2s}

/* back to top */
.totop{position:fixed;z-index:40;right:max(18px,env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));width:46px;height:46px;border-radius:50%;border:1.5px solid #D9A52A;background:#0B3B3C;color:#F2C230;font-size:1.3rem;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.25);transition:transform .2s}
.totop:hover{transform:translateY(-3px)}
.totop:focus-visible{outline:2px solid #F2C230;outline-offset:3px}

/* buttons glow */
.btn{transition:filter .2s, transform .15s, box-shadow .2s}
.btn:active{transform:scale(.97)}
.btn.big2:hover,.btn.big:hover{box-shadow:0 0 0 4px rgba(232,198,106,.3)}

@media (prefers-reduced-motion:reduce){.zwheel,.calcwheel svg{animation:none}.rise{animation:none}.pring .fg{animation:none}}
@media (max-width:640px){.zwheel{width:300px;height:300px;margin:-150px 0 0 -150px}}
body.calc .calcwheel,body.calc #view{transition:none}

/* navagraha sky wheel */
.skycard{background:linear-gradient(160deg,#0B3B3C,#072829);border-color:rgba(232,198,106,.5);color:#F4F1E4}
.skycard h3{color:#F2C230}
.skycard .note{color:#B9CFCA;margin:0}
.skyhead{display:flex;flex-wrap:wrap;gap:10px 18px;justify-content:space-between;align-items:flex-start;margin-bottom:12px}
.skyctl{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.skydate{font-family:var(--f-ui);font-weight:700;color:#F2C230;font-variant-numeric:tabular-nums;min-width:9em;text-align:right}
.skycard .btn{background:#F2C230;border-color:#F2C230;color:#1B1300}
.skycard .btn.ghost{background:transparent;color:#F2C230}
.skybody{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:20px;align-items:center}
.skybody canvas{display:block;max-width:100%}
.skylegend{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 14px;font-size:.9rem}
.skylegend li{display:flex;align-items:center;gap:8px}
.skylegend i{width:12px;height:12px;border-radius:50%;flex:none;box-shadow:0 0 8px currentColor}
.skylegend span{color:#B9CFCA;font-size:.82rem}
@media (max-width:900px){.skybody{grid-template-columns:minmax(0,1fr)}.skydate{text-align:left;min-width:0}}

.cards2{align-items:start}
/* keep the sky controls in one fixed place */
.skyhead{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.skyctl{display:grid;grid-template-columns:auto auto auto;justify-content:start;align-items:center;gap:10px}
.skydate{order:3;min-width:10.5em;text-align:left;white-space:nowrap}
#sky-play{min-width:8.5em;text-align:center;white-space:nowrap}
#sky-today{white-space:nowrap}
@media (max-width:420px){.skyctl{grid-template-columns:auto auto}.skydate{grid-column:1 / -1;order:0}}
/* sky controls on the right, fixed positions */
.skyhead{grid-template-columns:minmax(0,1fr) auto;align-items:start}
.skyctl{justify-content:end}
.skydate{order:0;text-align:right}
@media (max-width:760px){.skyhead{grid-template-columns:minmax(0,1fr)}.skyctl{justify-content:end}}
@media (max-width:420px){.skydate{text-align:right}}
.dlist{grid-template-columns:minmax(0,1fr)}.dasa{min-width:0;max-width:100%}.dasa .tscroll{max-width:100%}

/* varga detail */
a.vglink{text-decoration:none;color:inherit;display:block;border-radius:var(--r)}
a.vglink:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.vgmore{display:block;margin-top:6px;font-family:var(--f-ui);font-size:.8rem;font-weight:800;color:var(--teal-2);text-align:right}
a.vglink:hover .vgmore{color:var(--gold)}
.vtop{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}
.vchips{display:flex;flex-wrap:wrap;gap:6px}
.vchip{font-family:var(--f-ui);font-weight:800;font-size:.82rem;text-decoration:none;color:var(--ink);border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:4px 11px}
.vchip:hover{border-color:var(--gold)} .vchip.on{background:var(--teal);color:#F2C230;border-color:var(--teal)}
.vhero{background:linear-gradient(120deg,#0B3B3C,#135A57);color:#F4F1E4;border-color:rgba(232,198,106,.5)}
.vhero h3{margin:2px 0 6px;font-family:var(--f-display);font-size:1.35rem;color:#fff}
.vhero p{margin:0;max-width:70ch} .vhero .eyebrow{color:#F2C230}
.vlines{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.vlines li{padding:10px 14px;border-radius:8px;border-left:4px solid var(--line);background:var(--surface-2);line-height:1.6}
.vlines li.good{border-left-color:var(--ok)} .vlines li.bad{border-left-color:var(--kumkum)}
.dg{display:inline-block;font-family:var(--f-ui);font-weight:800;font-size:.75rem;border-radius:99px;padding:1px 9px;white-space:nowrap}
.d-ex{background:#DCF2E4;color:#1D6B3E}.d-own{background:#E3F0FF;color:#1E4E9A}.d-fr{background:#EEF6E8;color:#3E6B1D}
.d-ne{background:var(--surface-2);color:var(--muted)}.d-en{background:#FCEBD9;color:#9A4A12}.d-de{background:#FBE0DC;color:#A3291C}
.hs-t{color:var(--muted);font-size:.85rem;white-space:normal!important;min-width:180px}
/* varga palan extras */
.vsum p{margin:0;line-height:1.8;max-width:90ch}
.vlines li.keyh{font-weight:600}
.hbars{display:grid;gap:6px}
.hbar{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(120px,40%);gap:10px;align-items:center;font-size:.86rem}
.hbar .hn{font-family:var(--f-ui);font-weight:800;text-align:right}
.hbar .ht{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hbar.key .ht{color:var(--ink);font-weight:700}
.hbar .track{position:relative;height:10px;border-radius:5px;background:var(--surface-2)}
.hbar .track::after{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:var(--muted)}
.hbar .track i{position:absolute;top:0;bottom:0;border-radius:5px}
.hbar .track i.pos{background:var(--ok)} .hbar .track i.neg{background:var(--kumkum)}
ul.rem{margin:0;padding-left:20px;display:grid;gap:6px;line-height:1.7}
/* place picker */
.placefld{position:relative}
.placelist{position:absolute;z-index:30;left:0;right:0;top:calc(100% - 4px);margin:0;padding:4px;list-style:none;background:var(--surface);border:1px solid var(--gold);border-radius:8px;box-shadow:0 12px 30px rgba(11,59,60,.18);max-height:300px;overflow:auto}
.placelist li{padding:7px 10px;border-radius:6px;cursor:pointer;display:grid;gap:1px}
.placelist li b{font-size:.9rem;font-weight:600}
.placelist li small{font-size:.74rem;color:var(--muted);font-family:var(--f-ui)}
.placelist li:hover,.placelist li.on{background:var(--gold-soft)}
.placeinfo{margin:4px 0 0;font-size:.8rem;color:var(--teal-2);font-family:var(--f-ui);font-weight:700;overflow-wrap:anywhere}
.pwrap{position:relative}.placefld{position:static}.pwrap .placelist{top:calc(100% + 4px)}
.lblrow{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.linkbtn{background:none;border:0;padding:0;font:inherit;font-family:var(--f-ui);font-size:.8rem;font-weight:800;color:var(--teal-2);cursor:pointer}
.linkbtn:hover{text-decoration:underline}
.linkbtn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* Sri Mahalakshmi in the centre of the header */
.mastmid{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px 24px}
.mastmid .contact{justify-self:end}
.deity.lakshmi{width:auto;height:96px;aspect-ratio:3/4;object-fit:cover;object-position:center 32%;padding:0;border-width:2.5px;box-shadow:0 0 0 4px rgba(232,198,106,.25),0 0 26px rgba(242,194,48,.45),0 6px 16px rgba(0,0,0,.35)}
@media (max-width:900px){.mastmid{grid-template-columns:minmax(0,1fr) auto}.mastmid .contact{grid-column:1 / -1;justify-self:start}}
@media (max-width:640px){.mastmid{grid-template-columns:minmax(0,1fr)}.deity.lakshmi{grid-row:1;justify-self:center;height:110px}.mastmid .contact{grid-column:auto}}
/* degree chart */
.si.deg .pls{flex-direction:column;gap:1px}
.si.deg .pl{font-size:.74rem;white-space:nowrap;font-variant-numeric:tabular-nums}
@media (max-width:640px){.si.deg .pl{font-size:.62rem}}
/* சந்திர நாடி & ஓரை */
.tbl td.wrap{white-space:normal;min-width:220px;line-height:1.6}
.cnyoga th{white-space:nowrap}
.hdot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}
.horabar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.horabar label{display:flex;gap:8px;align-items:center;font-weight:700;font-family:var(--f-ui)}
.horabar input[type=date]{padding:6px 8px;border:1px solid var(--line);border-radius:8px;font:inherit;background:var(--surface);color:var(--ink)}
.horawheel{width:100%;max-width:420px;display:block;margin:0 auto}
.hlegend{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;margin-top:10px;max-width:none}
.horatbl tr.night td,.horatbl tr.night th{background:color-mix(in srgb,var(--surface-2) 70%,#1b2a4a 6%)}
.horatbl tr.cur td,.horatbl tr.cur th{background:var(--gold-soft);font-weight:700}
/* Sri Mahalakshmi with Perumal in the centre of the header */
.godpair{display:flex;align-items:center;justify-content:center;gap:10px}
.deity.perumal{width:auto;height:96px;aspect-ratio:600/467;object-fit:cover;padding:0;border-width:2.5px;box-shadow:0 0 0 4px rgba(232,198,106,.25),0 0 26px rgba(242,194,48,.45),0 6px 16px rgba(0,0,0,.35)}
@media (max-width:640px){.godpair{grid-row:1;justify-self:center}.godpair .deity.lakshmi{grid-row:auto}.deity.perumal{height:110px}}
/* nav: tabs wrap instead of hiding behind the PDF buttons */
@media (min-width:641px){#nav{flex-wrap:wrap;overflow:visible;row-gap:0}#nav a{padding:8px 10px}}
.fact b{overflow-wrap:anywhere}
/* weekly hora table */
.hwsub{margin:12px 0 6px;font-family:var(--f-ui);font-size:.9rem;font-weight:800;color:var(--ink)}
.hweek{font-size:.86rem}
.hweek th,.hweek td{text-align:center;padding:6px 6px;white-space:nowrap}
.hweek tbody th{text-align:left}
.hweek td{font-weight:700;border-left:1px solid var(--line)}
.hweek td.hq-good{color:#1D7A45}.hweek td.hq-bad{color:#B8321F}.hweek td.hq-mid{color:#B5760E}
.hweek tr.today th,.hweek tr.today td{background:var(--gold-soft)}
.hweek th.nowc{background:#F2C230;color:#1b1b1b}
.hweek td.nowc{background:#F2C230!important;color:#1b1b1b!important;outline:2px solid #B8860B;outline-offset:-2px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hweek td.hq-good{color:#6FD39A}:root:not([data-theme="light"]) .hweek td.hq-bad{color:#FF8A78}:root:not([data-theme="light"]) .hweek td.hq-mid{color:#F2C230}}
:root[data-theme="dark"] .hweek td.hq-good{color:#6FD39A}:root[data-theme="dark"] .hweek td.hq-bad{color:#FF8A78}:root[data-theme="dark"] .hweek td.hq-mid{color:#F2C230}
.hmode{display:inline-flex;gap:6px;flex-wrap:wrap;margin-left:auto}
/* விரிவான PDF (paid) */
.premiumbtn{background:linear-gradient(135deg,#E8C66A,#C9971F);color:#1B1300;border-color:#C9971F;font-weight:800}
.premiumbtn:hover{filter:brightness(1.05)}
.sw.star{display:grid;place-items:center;background:linear-gradient(135deg,#E8C66A,#C9971F);color:#1B1300;font-size:1.1rem;font-weight:800}
.premopt{border-color:#E8C66A;background:rgba(232,198,106,.12)}
.pmodal{position:fixed;inset:0;z-index:100;background:rgba(5,15,15,.62);display:grid;place-items:center;padding:16px;overflow:auto}
.pmodal[hidden]{display:none}
.pbox{position:relative;background:var(--surface);color:var(--ink);border:1px solid var(--gold);border-radius:14px;max-width:720px;width:100%;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.4);display:grid;gap:12px}
.pbox h3{margin:0;font-family:var(--f-display);font-size:1.35rem}
.pbox .eyebrow{margin:0}
.pclose{position:absolute;top:10px;right:12px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font-size:1.3rem;cursor:pointer}
.ptheme{display:flex;flex-wrap:wrap;gap:8px 18px;font-weight:700;font-family:var(--f-ui)}
.ptheme label{display:flex;gap:6px;align-items:center;cursor:pointer}
.pgrid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:start}
.pqr{display:grid;gap:6px;justify-items:center;text-align:center;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:12px}
.pqr .qr{width:190px;height:190px;border-radius:6px}
.pqr b{font-size:1.4rem;font-family:var(--f-display)}
.pqr .upi{font-size:.85rem;font-family:var(--f-ui);overflow-wrap:anywhere}
.psteps ol{margin:0 0 10px;padding-left:20px;display:grid;gap:4px;line-height:1.6;font-size:.92rem}
.psteps .fld{margin-bottom:8px}
.psteps input,.padmin input{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:8px;font:inherit;background:var(--surface);color:var(--ink)}
.hint.err{color:var(--kumkum,#B8321F);font-weight:700}
.pok{display:grid;gap:2px;padding:12px 14px;border-radius:10px;background:#DCF2E4;color:#1D6B3E}
.pok span{font-size:.88rem}
.padmin summary{cursor:pointer;font-size:.85rem;color:var(--muted);font-family:var(--f-ui)}
.padmin .row2{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:8px}
.upiapp{display:none}
@media (max-width:640px){.pgrid{grid-template-columns:minmax(0,1fr)}.upiapp{display:inline-flex}.pbox{padding:18px 14px}}
.ptheme input{width:auto;margin:0;accent-color:var(--gold)}
.pmodal{display:flex;align-items:flex-start;justify-content:center}
.pmodal[hidden]{display:none}
.pbox{margin:auto}
.pqr .upiapp{display:none}
@media (max-width:640px){.pqr .upiapp{display:inline-flex}}
.navbar .pdfbtn,.navbar .premiumbtn{padding:7px 12px;font-size:.88rem}
@media (max-width:1180px){.navbar .pdfbtn{display:none}}
.adminpanel{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:12px}
.adminpanel h4{margin:0;font-family:var(--f-ui);font-size:.95rem}
.adminpanel .tbl{font-size:.82rem}
.adminlink{font-size:.8rem;opacity:.75;margin-left:8px}
@media (max-width:640px){.si.deg .pl.wrap{white-space:normal;text-align:center;line-height:1.15}.si.deg .pl{font-size:.6rem}}
@media (max-width:640px){.si.deg .pls.tight .pl{font-size:.52rem}}
/* பகுப்பாய்வு — aspect charts */
.anaspgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}
@media (max-width:1100px){.anaspgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.anaspgrid{grid-template-columns:minmax(0,1fr)}}
.anasp .siwrap,.anasp .si{width:100%;max-width:340px;margin:10px auto}
.anasp .vlines li{font-size:.9rem}
.anasp .muted{color:var(--muted);font-size:.85rem}
.si .hs.aspc{position:relative}
.si .hs.asp-Ma{background:linear-gradient(rgba(192,57,43,.18),rgba(192,57,43,.18)),var(--surface)}
.si .hs.asp-Sa{background:linear-gradient(rgba(74,90,140,.22),rgba(74,90,140,.22)),var(--surface)}
.si .hs.asp-Ju{background:linear-gradient(rgba(212,160,23,.26),rgba(212,160,23,.26)),var(--surface)}
.si .hs[class*="src-"]{box-shadow:inset 0 0 0 2px var(--gold)}
.asptag{position:absolute;right:3px;top:3px;min-width:17px;height:17px;display:grid;place-items:center;font-size:.66rem;font-weight:800;font-family:var(--f-ui);border-radius:50%;background:var(--surface);color:var(--ink);border:1.5px solid var(--line);line-height:1}
.aspkey{display:flex;gap:8px;align-items:flex-start;font-size:.82rem}.akey{flex:none;width:14px;height:14px;border-radius:3px;margin-top:3px}.a-Ma{background:rgba(192,57,43,.35)}.a-Sa{background:rgba(74,90,140,.4)}.a-Ju{background:rgba(212,160,23,.45)}
.an-Ma .asptag{color:#B8321F;border-color:#E8A79D}
.an-Sa .asptag{color:#3D4D80;border-color:#A9B4D6}
.an-Ju .asptag{color:#8A6400;border-color:#E8C66A}
.si .pl.src{color:var(--gold-ink,#8A6400);text-decoration:underline;text-underline-offset:3px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .si .pl.src{color:#F2C230}}
:root[data-theme="dark"] .si .pl.src{color:#F2C230}
.anasp h3{margin-bottom:4px}
.arw{position:relative;width:100%;max-width:300px;margin:10px auto}
.arw{aspect-ratio:1}
.arw .si{width:100%;height:100%;max-width:none;margin:0;aspect-ratio:auto}
.aarrows{position:absolute;inset:2px;width:calc(100% - 4px);height:calc(100% - 4px);pointer-events:none;overflow:hidden}
.anasp .si .pl{font-size:.68rem}
.anasp .si .ctr b{font-size:.95rem}.anasp .si .ctr span{font-size:.7rem}
.antables{grid-template-columns:minmax(0,1fr)}
.tbl td.chain{font-weight:800;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.anthod .tbl{font-size:.86rem}.anthod .tbl td.chain{font-size:.95rem}
.an-Ma.anthod{border-top:3px solid #C0392B}.an-Sa.anthod{border-top:3px solid #3D4D80}.an-Ju.anthod{border-top:3px solid #B5860B}
.anthodgrid{display:grid;gap:16px;margin-bottom:16px}
/* பகுப்பாய்வு arrows — bright sky blue, flowing */
.aarrows .aline{stroke-dasharray:12 7;animation:aflow 1s linear infinite}
@keyframes aflow{to{stroke-dashoffset:-19}}
@media (prefers-reduced-motion:reduce){.aarrows .aline,.aarrows{animation:none}}
/* இன்றைய வானம் — live sun / moon timeline */
.skytl{background:linear-gradient(180deg,#0B2A2C,#0E3436);color:#EAF4F2;border-bottom:1px solid rgba(232,198,106,.35)}
.tlwrap{padding-top:10px;padding-bottom:10px}
.tlhead{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;font-family:var(--f-ui);font-size:.85rem}
.tlhead b{color:#E8C66A;font-size:.95rem}
.tlhead span{opacity:.85}
.tlclock{margin-left:auto;font-weight:800;font-variant-numeric:tabular-nums;color:#FFD66B;opacity:1!important}
.tlsvg{width:100%;height:auto;display:block;margin-top:4px;overflow:visible}
.tlday{fill:rgba(135,206,250,.10)}
.tlhor{stroke:rgba(232,198,106,.55);stroke-width:1.2}
.tlsunp{fill:none;stroke:#FFC93C;stroke-width:2.4}
.tlsunp.dim{stroke-dasharray:3 5;opacity:.35}
.tlmoonp{fill:none;stroke:#CFE3FF;stroke-width:1.6;stroke-dasharray:6 5;opacity:.75}
.tlnow{stroke:#38BDF8;stroke-width:1.6;stroke-dasharray:4 4}
.tlm line{stroke-width:2}.tlm.sun line{stroke:#FFC93C}.tlm.moon line{stroke:#CFE3FF}
.tlm text{font-size:12px;font-family:var(--f-ui);font-weight:700}.tlm.sun text{fill:#FFD66B}.tlm.moon text{fill:#CFE3FF}
.tlh{font-size:11px;fill:rgba(234,244,242,.55);font-family:var(--f-ui)}
.tlglow{fill:rgba(255,201,60,.28);animation:tlpulse 2.6s ease-in-out infinite}
@keyframes tlpulse{50%{r:19;fill:rgba(255,201,60,.12)}}
.tlsunico.below{opacity:.35}
.tlmoon{fill:#F4F1E4}.tlmoonsh{fill:#0E3436;opacity:.92}
g.below .tlmoon{opacity:.45}
.tlchips{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.82rem;font-family:var(--f-ui);margin-top:2px;opacity:.95}
.tlchips b{color:#FFD66B;font-variant-numeric:tabular-nums}
.ic{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:middle}
.ic.sun{background:#FFC93C}.ic.moon{background:#CFE3FF}.ic.set{opacity:.45}
@media (max-width:640px){.tlm text{font-size:10.5px}.tlh{font-size:10px}.tlchips{font-size:.76rem;gap:4px 12px}.tlhead{font-size:.78rem}}
@media (prefers-reduced-motion:reduce){.tlglow{animation:none}}
/* இன்றைய பஞ்சாங்கம் */
.panchang{margin-bottom:16px;border-top:3px solid var(--gold)}
.pc-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 20px;align-items:flex-end;margin-bottom:12px}
.pc-head h3{margin:2px 0;font-family:var(--f-display);font-size:1.3rem}
.pc-head span{font-size:.88rem;color:var(--muted)}
.pc-head .eyebrow{margin:0}
.pc-sun{display:flex;gap:16px;flex-wrap:wrap;font-family:var(--f-ui);font-size:.88rem}
.pc-sun b{color:var(--ink)}
.pc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.pc-times{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.pc-row{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:9px 12px;display:grid;gap:2px}
.pc-k{font-size:.76rem;color:var(--muted);font-family:var(--f-ui);font-weight:700}
.pc-row b{font-size:1rem}
.pc-row small{font-size:.78rem;color:var(--muted);line-height:1.4}
.pc-times .pc-row:first-child{border-color:#E8A79D}
@media (max-width:640px){.pc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pc-row{padding:8px 10px}.pc-row b{font-size:.92rem}.pc-times .pc-row b{font-size:.85rem}}
.pc-tl{margin-bottom:12px}
.pc-tl td{white-space:nowrap;vertical-align:top}
.pc-tl td b{display:block;font-size:.95rem}
.pc-tl td small{font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums}
.pc-tl td.pc-cur{background:var(--gold-soft)}
.pc-tl td.pc-cur small{color:var(--ink)}
.pc-tl td.pc-prev b{opacity:.75}
.pc-d{font-weight:700}
@media (max-width:640px){
  .pc-tl{overflow:visible}
  .pc-tl table,.pc-tl tbody,.pc-tl tr,.pc-tl td,.pc-tl th{display:block;width:100%}
  .pc-tl thead{display:none}
  .pc-tl tr{border:1px solid var(--line);border-radius:10px;margin-bottom:8px;overflow:hidden}
  .pc-tl tbody th{background:var(--surface-2);padding:6px 10px;font-size:.9rem}
  .pc-tl td{white-space:normal;padding:6px 10px;display:grid;grid-template-columns:62px minmax(0,1fr);column-gap:8px;border-top:1px solid var(--line)}
  .pc-tl td::before{content:attr(data-l);grid-row:1 / span 2;font-size:.72rem;color:var(--muted);font-weight:700;padding-top:2px}
}
.anasp .vspan{display:block;font-size:.8rem;color:var(--muted);margin-top:3px;font-variant-numeric:tabular-nums}
.anasp .vspan b{color:var(--ink);font-weight:700}
.aarrows .vspark{fill:#F2FCFF;animation:vtw 2.4s ease-in-out infinite}
@keyframes vtw{0%,100%{opacity:0}50%{opacity:1}}
.aarrows .vdeg{font-size:12.5px;font-weight:800;fill:#F6FDFF;stroke:#0A3A52;stroke-width:3px;paint-order:stroke;font-family:var(--f-ui);letter-spacing:.2px}
@media (prefers-reduced-motion:reduce){.aarrows .vspark{animation:none;opacity:.7}.aarrows .vglint{display:none}}
.aarrows .vring{filter:drop-shadow(0 0 3px rgba(56,189,248,.9));animation:vringp 2.2s ease-in-out infinite}
@keyframes vringp{50%{stroke-opacity:.55}}
.aarrows .vdeg{font-size:11.5px}
@media (prefers-reduced-motion:reduce){.aarrows .vring{animation:none}}
/* பகுப்பாய்வு — round charts */
.wheelwrap{max-width:360px;margin:10px auto}
svg.wheel{width:100%;height:auto;display:block;overflow:visible}
.wheel .wsec{fill:var(--surface-2);stroke:var(--line);stroke-width:1}
.wheel .wsec.own{stroke:var(--gold);stroke-width:2}
.wheel .wsign{font-size:13px;font-weight:700;fill:var(--muted);font-family:var(--f-ui)}
.wheel .wsec.on + .wsign{fill:var(--ink)}
.wheel .wspoke{stroke:var(--line);stroke-width:1}
.wheel .wtick{stroke:var(--line);stroke-width:1}
.wheel .wrim{fill:none;stroke:var(--gold);stroke-width:2.2}
.wheel .wrim2{fill:none;stroke:var(--gold);stroke-width:1;opacity:.6}
.wheel .wbadge{fill:var(--surface);stroke:var(--line);stroke-width:1.2}
.wheel .wbadgeT{font-size:11px;font-weight:800;fill:var(--ink);font-family:var(--f-ui)}
.wheel .wlag{stroke:#4A7BD0;stroke-width:1.6;stroke-dasharray:4 3}
.wheel .wlagc{fill:#4A7BD0}
.wheel .wlagT{font-size:11px;font-weight:800;fill:#fff}
.wheel .wdot{fill:var(--muted)}
.wheel .wpl{font-size:13px;font-weight:800;fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:3px;font-family:var(--f-ui)}
.wheel .wpl.me{fill:var(--gold-ink,#8A6400)}
.wheel .whub{fill:var(--surface);stroke:var(--gold);stroke-width:1.5}
.wheel .whubT{font-size:17px;font-weight:800;fill:var(--ink);font-family:var(--f-display)}
.wheel .whubS{font-size:10.5px;fill:var(--muted);font-family:var(--f-ui)}
.wheel .vspark{fill:#F2FCFF;animation:vtw 2.4s ease-in-out infinite}
.wheel .vdeg{font-size:11px;font-weight:800;fill:#F6FDFF;stroke:#0A3A52;stroke-width:3px;paint-order:stroke;font-family:var(--f-ui)}
.wheel .vring{filter:drop-shadow(0 0 3px rgba(56,189,248,.9));animation:vringp 2.2s ease-in-out infinite}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .wheel .wpl.me{fill:#F2C230}}
:root[data-theme="dark"] .wheel .wpl.me{fill:#F2C230}
@media (prefers-reduced-motion:reduce){.wheel .vspark,.wheel .vring{animation:none}.wheel .vglint{display:none}}
/* thin glittering middle arrow */
.aarrows .aglit{stroke:#F2FCFF;stroke-width:1.6;stroke-dasharray:3 14;stroke-linecap:round;animation:aglit 1.1s linear infinite;filter:drop-shadow(0 0 2px #7FDBFF)}
@keyframes aglit{to{stroke-dashoffset:-17}}
@media (prefers-reduced-motion:reduce){.aarrows .aglit{animation:none}}
.aarrows .vdeg{font-size:10.5px}
.si .hs.asp-Su{background:linear-gradient(rgba(224,123,31,.20),rgba(224,123,31,.20)),var(--surface)}
.si .hs.asp-Mo{background:linear-gradient(rgba(150,170,200,.22),rgba(150,170,200,.22)),var(--surface)}
.si .hs.asp-Me{background:linear-gradient(rgba(46,139,87,.20),rgba(46,139,87,.20)),var(--surface)}
.si .hs.asp-Ve{background:linear-gradient(rgba(194,24,91,.16),rgba(194,24,91,.16)),var(--surface)}
.si .hs.asp-Ra{background:linear-gradient(rgba(90,90,110,.26),rgba(90,90,110,.26)),var(--surface)}
.si .hs.asp-Ke{background:linear-gradient(rgba(140,100,60,.22),rgba(140,100,60,.22)),var(--surface)}
.anasp .aspn{font-size:.8rem;color:var(--muted);font-weight:600}
.anasp .asnat{font-size:.82rem;margin-top:2px}
.shapebar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:-4px 0 14px;font-family:var(--f-ui);font-size:.88rem}
.shapebar span{color:var(--muted);font-weight:700}
.shapebar .vleg{font-weight:500;color:var(--muted);font-size:.8rem;display:inline-flex;align-items:center;gap:5px}
.shapebar .vleg i{display:inline-block;width:16px;height:11px;border-radius:2px;background:rgba(56,189,248,.25);border:1px solid #38BDF8}
.shapebar .vleg i.d{background:rgba(56,189,248,.65)}
/* பாலினம் — three choices shown as buttons (no typing) */
.flbl{font-family:var(--f-ui);font-size:.82rem;font-weight:700;color:var(--muted);letter-spacing:.02em}
.gchips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.gchips label{position:relative;cursor:pointer}
.gchips input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.gchips span{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6px 4px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);font-family:var(--f-ui);font-weight:700;font-size:.9rem;line-height:1.2;min-height:44px}
.gchips small{font-weight:500;font-size:.68rem;color:var(--muted)}
.gchips input:checked+span{background:var(--teal-2);border-color:var(--teal-2);color:#fff}
.gchips input:checked+span small{color:rgba(255,255,255,.85)}
.gchips input:focus-visible+span{outline:2px solid var(--gold);outline-offset:1px}
/* website colour switch */
.skinpick{display:flex;gap:4px;align-items:center}
.skinpick button{display:inline-flex;align-items:center;gap:5px;font-family:var(--f-ui);font-weight:700;font-size:.8rem;padding:4px 9px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;white-space:nowrap}
.skinpick button[aria-pressed="true"]{border-color:var(--gold);color:var(--ink);box-shadow:0 0 0 1px var(--gold) inset}
.skinpick i{width:13px;height:13px;border-radius:50%;display:inline-block;border:1px solid rgba(0,0,0,.2)}
.skinpick i.g{background:linear-gradient(135deg,#135A57 50%,#E8C66A 50%)}
.skinpick i.s{background:linear-gradient(135deg,#7A1F12 50%,#F59E3B 50%)}
@media (max-width:640px){.skinpick button{font-size:0;gap:0;padding:6px}.skinpick i{width:16px;height:16px}}

/* ===== சந்தனம் theme (cream, maroon, saffron, gold — like the reference image) ===== */
:root[data-skin="saffron"]{
  --ground:#FFFBF0; --surface:#FFFFFF; --surface-2:#FBF1DC; --ink:#2B2416; --muted:#6B5A3A; --line:#E6CF9C;
  --teal:#7A1F12; --teal-2:#B4461F; --gold:#C8902A; --gold-soft:#FFE7B8; --kumkum:#D63A22; --lagna:#1D4ED8; --ok:#1E5AA8; --on-teal:#FFF6E4; color-scheme:light}
:root[data-skin="saffron"] .mast{background:radial-gradient(120% 160% at 50% 0%,#A8361D 0%,#7A1F12 55%,#5A150B 100%)}
:root[data-skin="saffron"] .mantra{background:#5A150B}
:root[data-skin="saffron"] .brand p,:root[data-skin="saffron"] .contact,:root[data-skin="saffron"] .dlcard p{color:#F6DEC2}
:root[data-skin="saffron"] .todaycard,:root[data-skin="saffron"] .vhero{background:linear-gradient(120deg,#7A1F12,#B4461F);color:#FFF6E4}
:root[data-skin="saffron"] .skycard{background:linear-gradient(160deg,#7A1F12,#5A150B)}
:root[data-skin="saffron"] .skycard .note,:root[data-skin="saffron"] .skylegend span{color:#F6DEC2}
:root[data-skin="saffron"] .calcwheel,:root[data-skin="saffron"] .totop{background:#7A1F12}
:root[data-skin="saffron"] .card{border-color:#E6CF9C}
:root[data-skin="saffron"] .card h3,:root[data-skin="saffron"] .rail h2,:root[data-skin="saffron"] .sech{color:#7A1F12}
:root[data-skin="saffron"] .vhero h3,:root[data-skin="saffron"] .skycard h3{color:#FFE7B8}
:root[data-skin="saffron"] .btn.ghost{color:#B4461F;border-color:#B4461F}
:root[data-skin="saffron"] #nav a.on{border-bottom-color:#F59E3B}
:root[data-skin="saffron"] .skytl{background:linear-gradient(180deg,#6A1B10,#8A2A16)}
:root[data-skin="saffron"] .dlcard{background:#7A1F12}

/* சந்தனம்: no green anywhere; every text readable */
.sk-s{display:none} :root[data-skin="saffron"] .sk-g{display:none} :root[data-skin="saffron"] .sk-s{display:inline}
.sk-g,.sk-s{font-weight:inherit}
:root[data-skin="saffron"] .todaycard span,:root[data-skin="saffron"] .opt small,:root[data-skin="saffron"] .themepick legend{color:#F6DEC2}
:root[data-skin="saffron"] .tlmoonsh{fill:#6A1B10}
:root[data-skin="saffron"] #sky-today.btn.ghost{color:#FFE7B8;border-color:#FFE7B8}
:root[data-skin="saffron"] .eyebrow{color:#9A4A12}
:root[data-skin="saffron"] .vhero .eyebrow{color:#F2C230}
:root[data-skin="saffron"] .vgmore{color:#B4461F} :root[data-skin="saffron"] a.vglink:hover .vgmore{color:#7A1F12}
:root[data-skin="saffron"] .res.good,:root[data-skin="saffron"] .d-ex,:root[data-skin="saffron"] .pok{background:#E3EDFB;color:#1E4E9A}
:root[data-skin="saffron"] .d-fr{background:#FFF0D6;color:#8A4B0C}
:root[data-skin="saffron"] .hweek td.hq-good{color:#1E5AA8}
:root[data-skin="saffron"] .si .hs.asp-Me{background:linear-gradient(rgba(245,158,59,.22),rgba(245,158,59,.22)),var(--surface)}
:root[data-skin="saffron"] .mast,:root[data-skin="saffron"] .skytl{border-color:rgba(255,214,140,.4)}

:root[data-skin="saffron"] .sw.dark{background:linear-gradient(#7A1F12 0 22%,#FFFBF0 22%)}
:root[data-skin="saffron"] .sw.light{background:linear-gradient(#7A1F12 0 22%,#FFFFFF 22%)}
/* சந்தனம்: aspect shading in saffron instead of sky blue */
:root[data-skin="saffron"] .aarrows .vspark,:root[data-skin="saffron"] .wheel .vspark{fill:#FFF4E0}
:root[data-skin="saffron"] .aarrows .vdeg,:root[data-skin="saffron"] .wheel .vdeg{fill:#FFF8EC;stroke:#6A1B10}
:root[data-skin="saffron"] .aarrows .vring,:root[data-skin="saffron"] .wheel .vring{filter:drop-shadow(0 0 3px rgba(232,137,42,.9))}
:root[data-skin="saffron"] .shapebar .vleg i{background:rgba(232,137,42,.25);border-color:#E8892A}
:root[data-skin="saffron"] .shapebar .vleg i.d{background:rgba(232,137,42,.65)}
/* ஆய்வுப் பகுதி — numbered sections */
.ansec{display:flex;align-items:center;gap:10px;margin:26px 0 12px}
.ansn{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--teal);color:var(--on-teal);font-family:var(--f-ui);font-size:.9rem;font-weight:800;flex:none}
.ansub{margin:16px 0 10px}
.anjump{display:flex;flex-wrap:wrap;gap:6px 8px;margin-top:12px}
.anjump a{font-family:var(--f-ui);font-weight:700;font-size:.82rem;color:inherit;text-decoration:none;border:1px solid rgba(255,255,255,.35);border-radius:99px;padding:3px 11px;background:rgba(255,255,255,.08)}
.anjump a:hover{background:rgba(255,255,255,.18)}
.anstr td,.anstr th{vertical-align:top}
.anstr .why{display:block;margin-top:3px;font-size:.74rem;color:var(--muted);line-height:1.35}
.pvlist{margin:0;padding-left:18px;display:grid;gap:4px;font-size:.92rem}
.anstr td.vcol{min-width:170px;max-width:240px;white-space:normal}
.anstr .why{white-space:normal}
.fact .fsub{display:block;font-family:var(--f-body);font-size:.76rem;font-weight:500;color:var(--muted);margin-top:2px}
/* opening banner — smaller */
.qbanner{width:min(560px,100%);padding:26px 22px 18px;border-radius:18px}
.qtitle{font-size:clamp(1.25rem,3.4vw,1.75rem)}
.qrule{margin:8px auto 10px}
.qrule.wide{width:min(90%,480px);margin:10px auto 8px}
.lotus{width:42px;height:26px}
.qtext{font-size:clamp(1rem,2.4vw,1.25rem);line-height:1.5}
.qhouse{font-size:clamp(1.05rem,2.6vw,1.35rem)}
.qom{font-size:clamp(.9rem,2vw,1.05rem);margin-top:4px}
.qbar{margin-top:10px}
.qclose{width:30px;height:30px;top:10px;right:10px}
@media (max-width:560px){.qbanner{width:min(340px,100%);padding:40px 16px 14px}}
/* ===== top bar: status · colour · PDF download menu ===== */
.topbar{background:#061F20;color:#D6E2DE;border-bottom:1px solid rgba(232,198,106,.25);position:relative;z-index:25}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:8px 14px;flex-wrap:wrap;padding-block:6px}
.topbar .status{color:#B9CFCA}
.tbright{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-left:auto}
.tblbl{font-family:var(--f-ui);font-size:.78rem;font-weight:700;color:#B9CFCA;margin-right:2px}
.topbar .skinpick button{background:rgba(255,255,255,.06);border-color:rgba(232,198,106,.35);color:#D6E2DE}
.topbar .skinpick button[aria-pressed="true"]{background:rgba(232,198,106,.16);border-color:#E8C66A;color:#F2C230;box-shadow:none}
.dlmenu{position:relative}
.dltoggle{background:linear-gradient(135deg,#E8C66A,#C9971F);color:#1B1300;border-color:#C9971F;font-weight:800;padding:6px 14px;font-size:.88rem;display:inline-flex;align-items:center;gap:6px}
.dltoggle .caret{font-size:.75em;transition:transform .2s}
.dlmenu.open .caret{transform:rotate(180deg)}
.dllist{display:none;position:absolute;right:0;top:calc(100% + 6px);min-width:280px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 34px rgba(0,0,0,.28);padding:6px;z-index:70}
.dllist::before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}
.dlmenu.open .dllist{display:grid}
@media (hover:hover){.dlmenu:not(.shut):hover .dllist{display:grid}.dlmenu:not(.shut):hover .caret{transform:rotate(180deg)}}
.dlitem{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;border-radius:8px;padding:9px 10px;cursor:pointer;color:var(--ink);font:inherit}
.dlitem:hover,.dlitem:focus-visible{background:var(--surface-2);outline:none}
.dlitem b{display:block;font-family:var(--f-ui);font-weight:800;font-size:.92rem}
.dlitem small{display:block;font-size:.74rem;color:var(--muted)}
.dlitem .sw{width:26px;height:26px;border-radius:6px;flex:none;border:1px solid var(--line)}
.dlitem .sw.prem{display:grid;place-items:center;background:linear-gradient(135deg,#E8C66A,#C9971F);color:#1B1300;font-size:.85rem;border-color:#C9971F}
.dlprem{border-top:1px solid var(--line);border-radius:0 0 8px 8px;margin-top:4px;padding-top:11px}
.dlitem:disabled{opacity:.6;cursor:wait}
@media (max-width:640px){.topbar .wrap{gap:6px 8px}.tblbl{display:none}.dltoggle{padding:6px 10px;font-size:.82rem}.dllist{min-width:250px}.topbar .status{font-size:.75rem}}
/* tabs now have the whole bar: one neat row */
.navbar .wrap{flex-wrap:nowrap}
#nav{flex-wrap:nowrap!important;overflow-x:auto!important;justify-content:flex-start}
@media (min-width:1100px){#nav{justify-content:space-between}}
#nav a{padding:10px 12px}
:root[data-skin="saffron"] .topbar{background:#4A1109;border-bottom-color:rgba(255,214,140,.3)}
:root[data-skin="saffron"] .topbar .status,:root[data-skin="saffron"] .tblbl{color:#F6DEC2}
:root[data-skin="saffron"] .topbar .skinpick button{color:#F6DEC2}
/* opening banner follows the website colour */
.qbanner{background:radial-gradient(120% 140% at 50% 0%,#135A57 0%,#0B3B3C 55%,#072829 100%);box-shadow:0 0 0 6px rgba(7,40,41,.9),0 0 0 7.5px rgba(217,165,42,.45),0 30px 80px rgba(0,0,0,.55)}
.qclose{background:rgba(7,40,41,.6)}
.qmodal{background:rgba(4,20,20,.55)}
:root[data-skin="saffron"] .qbanner{background:radial-gradient(120% 140% at 50% 0%,#A8361D 0%,#7A1F12 55%,#5A150B 100%);box-shadow:0 0 0 6px rgba(90,21,11,.9),0 0 0 7.5px rgba(242,194,48,.5),0 30px 80px rgba(0,0,0,.5)}
:root[data-skin="saffron"] .qclose{background:rgba(90,21,11,.6)}
:root[data-skin="saffron"] .qmodal{background:rgba(40,10,4,.5)}
/* live moon phase */
.mdark{fill:#24323A;stroke:none}
.mlit{fill:#F6F3E6}
.mrim{fill:none;stroke:rgba(207,227,255,.75);stroke-width:1}
.mglow{fill:#CFE3FF;filter:blur(3px)}
.tlmoonico.below .mdisc{opacity:.5}
.tlphase{display:inline-flex;align-items:center;gap:8px;opacity:1!important}
.tlphase svg{flex:none;overflow:visible}
.tlphase b{display:block;color:#F4F1E4!important;font-size:.9rem}
.tlphase small{display:block;font-size:.75rem;opacity:.85}
.mdisc.big .mrim{stroke-width:1.2}
:root[data-skin="saffron"] .mdark{fill:#3A1A12}

/* ===================== GLASS EFFECT ===================== */
:root{ --glow1:rgba(19,90,87,.22); --glow2:rgba(217,165,42,.20); --glow3:rgba(31,107,102,.16);
  --glass:rgba(255,255,255,.46); --glass-2:rgba(255,255,255,.28); --glass-line:rgba(255,255,255,.75); --glass-edge:rgba(19,90,87,.16); --glass-shadow:0 8px 28px rgba(11,59,60,.10) }
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){ --glow1:rgba(31,107,102,.35); --glow2:rgba(217,174,74,.14); --glow3:rgba(127,166,255,.10);
  --glass:rgba(20,34,34,.58); --glass-2:rgba(27,46,45,.50); --glass-line:rgba(255,255,255,.10); --glass-edge:rgba(217,174,74,.14); --glass-shadow:0 10px 30px rgba(0,0,0,.35) }}
:root[data-theme="dark"]{ --glow1:rgba(31,107,102,.35); --glow2:rgba(217,174,74,.14); --glow3:rgba(127,166,255,.10);
  --glass:rgba(20,34,34,.58); --glass-2:rgba(27,46,45,.50); --glass-line:rgba(255,255,255,.10); --glass-edge:rgba(217,174,74,.14); --glass-shadow:0 10px 30px rgba(0,0,0,.35) }
:root[data-skin="saffron"]{ --glow1:rgba(232,137,42,.22); --glow2:rgba(122,31,18,.14); --glow3:rgba(242,194,48,.20);
  --glass:rgba(255,255,255,.46); --glass-2:rgba(255,248,236,.30); --glass-line:rgba(255,255,255,.85); --glass-edge:rgba(200,144,42,.28); --glass-shadow:0 8px 28px rgba(122,31,18,.10) }

/* coloured light behind the glass */
body{background:
  radial-gradient(900px 600px at 8% 12%, var(--glow1), transparent 60%),
  radial-gradient(800px 560px at 92% 30%, var(--glow2), transparent 60%),
  radial-gradient(900px 700px at 40% 95%, var(--glow3), transparent 60%),
  var(--ground);
  background-attachment:fixed}

@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .card:not(.vhero):not(.skycard),.fact{background:linear-gradient(160deg,var(--glass) 0%,var(--glass-2) 100%);
    -webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%);
    border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow), inset 0 1px 0 var(--glass-line)}
  /* sticky menu: frosted, page shows through softly while scrolling */
  .navbar{background:color-mix(in srgb, var(--surface) 72%, transparent);
    -webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);
    box-shadow:0 6px 20px rgba(0,0,0,.06), inset 0 -1px 0 var(--glass-line)}
  .topbar{background:rgba(6,31,32,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
  :root[data-skin="saffron"] .topbar{background:rgba(74,17,9,.82)}
  .dllist{background:color-mix(in srgb, var(--surface) 80%, transparent);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);
    border:1px solid var(--glass-edge);box-shadow:0 18px 40px rgba(0,0,0,.25), inset 0 1px 0 var(--glass-line)}
  .qbanner{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
  .qmodal{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
  .pmodal{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
}
/* glossy sheen on the dark panels and the welcome banner */
.vhero,.todaycard,.skycard,.qbanner,.dlcard{position:relative;overflow:hidden}
.vhero::after,.todaycard::after,.skycard::after,.qbanner::after,.dlcard::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:linear-gradient(125deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,.05) 28%,transparent 46%,transparent 70%,rgba(255,255,255,.06) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22), inset 0 0 0 1px rgba(255,255,255,.06)}
/* glass buttons */
.btn{box-shadow:inset 0 1px 0 rgba(255,255,255,.28), 0 2px 8px rgba(0,0,0,.08)}
.dltoggle{box-shadow:inset 0 1px 0 rgba(255,255,255,.55), 0 4px 14px rgba(201,151,31,.30)}
.gchips span{background:color-mix(in srgb, var(--surface) 70%, transparent);box-shadow:inset 0 1px 0 var(--glass-line)}
/* tables inside glass cards: keep text crisp */
.card .tbl th{background:color-mix(in srgb, var(--surface-2) 85%, transparent)}
@media (prefers-reduced-transparency:reduce){ .card,.fact,.navbar,.dllist{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--surface)} }

/* ===================== கண்ணாடி (dark glass) THEME ===================== */
:root[data-skin="glass"]{
  --ground:#121826; --surface:#1B2333; --surface-2:#242E40; --ink:#F2F4F8; --muted:#AAB3C3; --line:rgba(255,255,255,.13);
  --teal:#2C3550; --teal-2:#6E5BD6; --gold:#FBDF72; --gold-soft:rgba(251,223,114,.16); --kumkum:#FF8A78; --lagna:#8FD8FF; --ok:#B6F36A; --on-teal:#F2F4F8;
  --glass:rgba(255,255,255,.085); --glass-2:rgba(255,255,255,.045); --glass-line:rgba(255,255,255,.16); --glass-edge:rgba(255,255,255,.14); --glass-shadow:0 22px 50px rgba(0,0,0,.38);
  --t-yellow:#FBDF72; --t-orange:#FFA05C; --t-purple:#C9A9FF; --t-green:#B9F26C; --t-blue:#93D9FF; --t-ink:#16181E;
  --r:20px; color-scheme:dark }
/* misty night background (no photo — pure colour light) */
:root[data-skin="glass"] body{background:
  radial-gradient(1100px 700px at 15% -5%, rgba(160,176,205,.40), transparent 60%),
  radial-gradient(900px 600px at 90% 10%, rgba(110,91,214,.30), transparent 60%),
  radial-gradient(800px 600px at 70% 75%, rgba(43,179,163,.20), transparent 60%),
  radial-gradient(900px 700px at 5% 90%, rgba(255,160,92,.16), transparent 60%),
  linear-gradient(180deg,#2A3346 0%,#151C2A 45%,#0E131E 100%);
  background-attachment:fixed}
/* glass panels */
:root[data-skin="glass"] .card,:root[data-skin="glass"] .fact,:root[data-skin="glass"] .pc-row,:root[data-skin="glass"] .todaycard,:root[data-skin="glass"] .dlcard{
  background:linear-gradient(160deg,rgba(255,255,255,.065),rgba(255,255,255,.015));
  -webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);
  border:1px solid rgba(255,255,255,.14);box-shadow:var(--glass-shadow), inset 0 1px 0 rgba(255,255,255,.16);border-radius:22px;color:var(--ink)}
:root[data-skin="glass"] .vhero,:root[data-skin="glass"] .skycard{background:linear-gradient(150deg,rgba(255,255,255,.09),rgba(255,255,255,.02));
  -webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);border:1px solid rgba(255,255,255,.18);border-radius:24px;color:var(--ink)}
:root[data-skin="glass"] .vhero h3,:root[data-skin="glass"] .skycard h3{color:#fff}
:root[data-skin="glass"] .vhero .eyebrow{color:var(--t-yellow)}
/* header, mantra, sky strip, top bar, menu */
:root[data-skin="glass"] .mast{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.01));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.10)}
:root[data-skin="glass"] .mantra{background:rgba(10,14,22,.22);border-bottom-color:rgba(255,255,255,.10)}
:root[data-skin="glass"] .skytl{background:rgba(10,14,22,.16);border-bottom-color:rgba(255,255,255,.10);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
:root[data-skin="glass"] .topbar{background:rgba(10,14,22,.30);border-bottom-color:rgba(255,255,255,.10)}
:root[data-skin="glass"] .navbar{background:rgba(22,28,42,.32);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);border-bottom:1px solid rgba(255,255,255,.10)}
:root[data-skin="glass"] #nav a{border-radius:999px;margin:6px 2px;padding:7px 14px;color:#C9D0DC}
:root[data-skin="glass"] #nav a::after{display:none}
:root[data-skin="glass"] #nav a:hover{background:rgba(255,255,255,.08);color:#fff}
:root[data-skin="glass"] #nav a.on{background:rgba(255,255,255,.18);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
:root[data-skin="glass"] .dllist{background:rgba(30,38,56,.80)}
:root[data-skin="glass"] .qbanner{background:linear-gradient(160deg,rgba(60,70,100,.75),rgba(20,26,40,.80));box-shadow:0 0 0 1px rgba(255,255,255,.18),0 30px 80px rgba(0,0,0,.55)}
:root[data-skin="glass"] .qmodal{background:rgba(8,10,18,.45)}
:root[data-skin="glass"] .calcwheel,:root[data-skin="glass"] .totop{background:rgba(40,48,70,.75);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
/* bright colour tiles, like the reference */
:root[data-skin="glass"] .facts .fact{border:0;box-shadow:0 14px 30px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.45);color:var(--t-ink)}
:root[data-skin="glass"] .facts .fact:nth-child(5n+1){background:var(--t-yellow)}
:root[data-skin="glass"] .facts .fact:nth-child(5n+2){background:var(--t-orange)}
:root[data-skin="glass"] .facts .fact:nth-child(5n+3){background:var(--t-purple)}
:root[data-skin="glass"] .facts .fact:nth-child(5n+4){background:var(--t-green)}
:root[data-skin="glass"] .facts .fact:nth-child(5n+5){background:var(--t-blue)}
:root[data-skin="glass"] .facts .fact span,:root[data-skin="glass"] .facts .fact .fsub{color:rgba(22,24,30,.68)}
:root[data-skin="glass"] .facts .fact b{color:var(--t-ink)}
:root[data-skin="glass"] .pc-times .pc-row:nth-child(5n+1){background:var(--t-yellow);color:var(--t-ink)}
:root[data-skin="glass"] .pc-times .pc-row:nth-child(5n+2){background:var(--t-orange);color:var(--t-ink)}
:root[data-skin="glass"] .pc-times .pc-row:nth-child(5n+3){background:var(--t-purple);color:var(--t-ink)}
:root[data-skin="glass"] .pc-times .pc-row:nth-child(5n+4){background:var(--t-green);color:var(--t-ink)}
:root[data-skin="glass"] .pc-times .pc-row:nth-child(5n+5){background:var(--t-blue);color:var(--t-ink)}
:root[data-skin="glass"] .pc-times .pc-row .pc-k,:root[data-skin="glass"] .pc-times .pc-row small{color:rgba(22,24,30,.68)}
:root[data-skin="glass"] .pc-times .pc-row b{color:var(--t-ink)}
/* forms, buttons, tables */
:root[data-skin="glass"] input,:root[data-skin="glass"] select,:root[data-skin="glass"] textarea{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.16);color:var(--ink);border-radius:12px}
:root[data-skin="glass"] .btn{border-radius:999px}
:root[data-skin="glass"] .btn.ghost{color:#fff;border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.06)}
:root[data-skin="glass"] .gchips span{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);border-radius:12px}
:root[data-skin="glass"] .gchips input:checked+span{background:#fff;color:#16181E;border-color:#fff}
:root[data-skin="glass"] .gchips input:checked+span small{color:rgba(22,24,30,.65)}
:root[data-skin="glass"] .card .tbl th,:root[data-skin="glass"] .tbl th{background:rgba(255,255,255,.06)}
:root[data-skin="glass"] .pc-tl td.pc-cur{background:rgba(251,223,114,.16)}
:root[data-skin="glass"] .res.good,:root[data-skin="glass"] .d-ex,:root[data-skin="glass"] .pok{background:rgba(185,242,108,.18);color:#C9F79A}
:root[data-skin="glass"] .res.bad,:root[data-skin="glass"] .d-de{background:rgba(255,138,120,.18);color:#FFB3A6}
:root[data-skin="glass"] .res.mid{background:rgba(251,223,114,.16);color:#FBE7A0}
:root[data-skin="glass"] .d-own{background:rgba(147,217,255,.16);color:#BFE7FF} :root[data-skin="glass"] .d-fr{background:rgba(185,242,108,.12);color:#D7F7B4}
:root[data-skin="glass"] .d-en{background:rgba(255,160,92,.16);color:#FFC9A0}
:root[data-skin="glass"] .item h4,:root[data-skin="glass"] .card h3,:root[data-skin="glass"] .sech{color:#fff}
:root[data-skin="glass"] .eyebrow{color:var(--t-yellow)}
:root[data-skin="glass"] .ansn{background:#fff;color:#16181E}
:root[data-skin="glass"] .anjump a{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.08)}
:root[data-skin="glass"] .hweek td.hq-good{color:#B9F26C}:root[data-skin="glass"] .hweek td.hq-bad{color:#FF8A78}
:root[data-skin="glass"] .si .pl.src{color:#FBDF72}
:root[data-skin="glass"] .wheel .wpl.me{fill:#FBDF72}
:root[data-skin="glass"] .shapebar span{color:var(--muted)}
.skinpick i.gl{background:linear-gradient(135deg,#2A3346 0 50%,#93D9FF 50% 70%,#FBDF72 70%)}
:root[data-skin="glass"] .tlphase b{color:#fff!important}

/* கண்ணாடி: see-through charts — gold lines drawn on each box instead of a gold backing */
:root[data-skin="glass"] .si{background:transparent;gap:0}
:root[data-skin="glass"] .si .hs{background:rgba(255,255,255,.035);box-shadow:inset 0 0 0 .5px rgba(251,223,114,.75)}
:root[data-skin="glass"] .si .ctr{background:rgba(110,91,214,.16);box-shadow:inset 0 0 0 .5px rgba(251,223,114,.75)}
:root[data-skin="glass"] .tbl td,:root[data-skin="glass"] .tbl th{background-color:transparent}
:root[data-skin="glass"] .card .tbl th,:root[data-skin="glass"] .tbl th{background:rgba(255,255,255,.05)}
:root[data-skin="glass"] .facts .fact{opacity:.96}
/* PDF menu label follows the theme */
.pdf-s,.pdf-gl{display:none}
:root[data-skin="saffron"] .pdf-g,:root[data-skin="glass"] .pdf-g{display:none}
:root[data-skin="saffron"] .pdf-s{display:inline} :root[data-skin="glass"] .pdf-gl{display:inline}
:root[data-skin="glass"] .sw.dark,:root[data-skin="glass"] .dlitem .sw.dark{background:linear-gradient(135deg,#2A3346,#6E5BD6 60%,#93D9FF)}
/* chart boxes (figure) are glass too */
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  figure:not(#report figure){background:linear-gradient(160deg,var(--glass) 0%,var(--glass-2) 100%);-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%);
    border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow), inset 0 1px 0 var(--glass-line)}
  :root[data-skin="glass"] figure:not(#report figure){background:linear-gradient(160deg,rgba(255,255,255,.065),rgba(255,255,255,.015));-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);
    border:1px solid rgba(255,255,255,.14);border-radius:22px}
  .pcharts figure{border:0;box-shadow:none;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}
}
/* logo: gold on transparent — sits on every theme's header */
.brand .seal.logo{background:none;border-radius:0;box-shadow:none;border:0;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}
/* contact section without the visiting-card pictures */
.contactcard.nocards{grid-template-columns:minmax(0,1fr)}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .contactcard{background:linear-gradient(160deg,var(--glass) 0%,var(--glass-2) 100%);-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%);
    border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow), inset 0 1px 0 var(--glass-line)}
  :root[data-skin="glass"] .contactcard{background:linear-gradient(160deg,rgba(255,255,255,.065),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.14);border-radius:22px}
  :root[data-skin="glass"] .svlist li{background:rgba(255,255,255,.05)}
}
/* round logo (drawn in the page, so the full name is never cut and the colour follows the theme) */
:root{--lg1:#16625E;--lg2:#072829}
:root[data-skin="saffron"]{--lg1:#A8361D;--lg2:#5A150B}
:root[data-skin="glass"]{--lg1:rgba(120,130,170,.55);--lg2:rgba(20,26,40,.75)}
.brand .rlogo{width:64px;height:64px;border-radius:50%;flex:none;display:block;filter:drop-shadow(0 3px 8px rgba(0,0,0,.35))}
.lg-text{font-family:"Catamaran","Noto Sans Tamil",sans-serif;font-weight:800;font-size:15.5px;letter-spacing:1.6px;fill:#F2C230}
.lg-star{font-size:12px;fill:#F2C230}
@media (max-width:640px){.brand .seal.rlogo{display:block;width:46px;height:46px}}

/* ===== visiting cards (drawn in the page, colour follows the theme) ===== */
:root{--vc1:#0E5552;--vc2:#052224;--vcgold:#F2C230;--vctext:#F4F1E4}
:root[data-skin="saffron"]{--vc1:#A8361D;--vc2:#4A1109}
:root[data-skin="glass"]{--vc1:rgba(150,160,200,.30);--vc2:rgba(14,19,30,.55)}
.vcards{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
.vc{position:relative;overflow:hidden;container-type:inline-size;border-radius:14px;color:var(--vctext);
  background:radial-gradient(120% 80% at 35% 45%,var(--vc1) 0%,var(--vc2) 85%);box-shadow:0 12px 30px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.12);font-family:"Catamaran","Noto Sans Tamil",sans-serif}
:root[data-skin="glass"] .vc{-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);border:1px solid rgba(255,255,255,.16)}
.vc::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(125deg,rgba(255,255,255,.14),transparent 35%,transparent 70%,rgba(255,255,255,.05))}
.vcfront{aspect-ratio:635/1085}
.vcback{aspect-ratio:635/560}
.vcback>*:not(.vclion):not(.vclogo){margin-inline:6cqw}
.vcstripes{position:absolute;top:0;right:0;width:46%;height:42%;
  background:repeating-linear-gradient(135deg,transparent 0 9cqw,rgba(242,194,48,.85) 9cqw 16cqw,transparent 16cqw 19cqw,rgba(242,194,48,.45) 19cqw 21cqw);
  clip-path:polygon(18% 0,100% 0,100% 100%);opacity:.9}
.vclogo{position:absolute;top:5cqw;left:6cqw;width:22cqw;height:22cqw;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}
.vcmid{position:absolute;left:7cqw;right:7cqw;top:43%;display:grid;grid-template-columns:minmax(0,1fr);gap:2.2cqw}
.vcbrand{color:var(--vcgold);font-weight:800;font-size:6.6cqw;letter-spacing:.02em;line-height:1.1;text-align:center;white-space:nowrap}
.vcname{font-weight:500;font-size:8.6cqw;letter-spacing:.06em;text-align:center;line-height:1.15}
.vcrole{display:flex;justify-content:space-between;align-items:center;color:var(--vcgold);margin-bottom:4cqw}
.vcrole b{font-size:5.4cqw;letter-spacing:.22em;font-weight:800}
.vcz{font-size:7.5cqw;line-height:1;font-family:"Segoe UI Symbol","Noto Sans Symbols","DejaVu Sans",sans-serif}
.vcline{display:flex;align-items:center;gap:3cqw;font-size:5.2cqw;line-height:1.3;white-space:nowrap}
.vcline svg{width:6cqw;height:6cqw;color:var(--vcgold);flex:none}
.vclion{position:absolute;right:7cqw;bottom:5cqw;width:21cqw;height:auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}
.vcback .vclion.sm{left:5cqw;right:auto;top:5cqw;bottom:auto;width:14cqw}
.vcback .vclogo.sm{left:auto;right:5cqw;top:5cqw;width:15cqw;height:15cqw}
.vcarc{display:block;width:60cqw;margin:4cqw auto 0!important;overflow:visible}
.vcarc text{fill:var(--vcgold);font-family:"Catamaran",sans-serif;font-weight:800;font-size:30px}
.vcarc text.aq{font-size:34px}
.vcoc{text-align:center;font-weight:800;font-size:6.2cqw;letter-spacing:.02em;margin-top:1cqw}
.vcorn{display:flex;align-items:center;gap:2cqw;justify-content:center;color:var(--vcgold);margin:1cqw 0 2cqw}
.vcorn i{height:1px;width:24cqw;background:linear-gradient(90deg,transparent,var(--vcgold),transparent)}
.vcorn b{font-size:4cqw}
.vcsv{list-style:none;margin:0;padding:0 0 5cqw;display:grid;gap:1.6cqw;text-align:center;font-variant:small-caps;font-size:5.4cqw;letter-spacing:.03em}
@media (max-width:700px){.vcards{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}}
.ppend{display:grid;gap:4px;padding:12px 14px;border-radius:10px;background:var(--gold-soft);border:1px solid var(--gold);margin-bottom:10px}
.ppend span{font-size:.9rem}
.adsteps{margin:0;padding-left:18px;display:grid;gap:3px}
.adminpanel textarea{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:.85rem;background:var(--surface);color:var(--ink)}
.row2b{display:flex;gap:8px;flex-wrap:wrap}
.adreq{display:grid;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);margin-top:6px}
.adreq .err,.hint.err{color:var(--kumkum)}
.ponline{display:grid;gap:6px;margin-bottom:12px}
.btn.big{font-size:1.02rem;padding:12px 18px;justify-self:start}
.pmanual{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:10px}
.pmanual summary{cursor:pointer;font-family:var(--f-ui);font-weight:700;font-size:.88rem;color:var(--muted)}
.pmanual[open] summary{margin-bottom:10px}
