/* ================= light mode: the same page on a cream festive ground =================
   Loaded last by index.html; every rule waits for html[data-theme="light"] (set by the head script and js/theme.js).
   The :where() prefix adds no specificity, so each override wins or loses exactly as it did as a plain light-only sheet.
   Remaps the colour tokens, then overrides the colours the other sheets hard-code.
   --gold becomes an amber INK (AA on cream and white); filled accents use --saff. --deep stays a dark maroon: it is the ink on
   filled accents. The splash keeps its own dark night look and hands over to the cream page when it fades. */
html[data-theme="light"]{
  --cream:#fff8ec;--cream2:#fcebd0;--white:#fff;
  --gold:#8a4b00;--gold2:#e08a00;--saff:#f5a000;--saff-l:#ffc94a;--red:#b3122b;--crimson:#c8102e;--maroon:#5e0b1c;
  --deep:#3d0712;--ink:#3d0712;--ink2:#6b3a2e;
  --glass:rgba(255,255,255,.9);--line:rgba(150,70,30,.24);
  --fill:linear-gradient(135deg,#ffd36b,#f5a000);
}
html[data-theme="light"]{background:var(--cream)}
html[data-theme="light"] body{background:var(--cream);color:var(--ink)}
:where(html[data-theme="light"]) #splash{--ink:#fff4e0;--gold:#ffd27a;--deep:#2a0410}

/* ---------- photo background behind a cream veil ---------- */
:where(html[data-theme="light"]) #bg{background:radial-gradient(circle at 50% 30%,#fff1d6,var(--cream) 70%)}
:where(html[data-theme="light"]) .slide .pan{opacity:.55;filter:saturate(.9)}
:where(html[data-theme="light"]) .slide .pan.f{filter:blur(16px) saturate(.9)}
:where(html[data-theme="light"]) #veil{background:
  radial-gradient(ellipse at 50% 32%,rgba(255,190,90,.22),transparent 55%),
  linear-gradient(180deg,rgba(255,248,236,.72),rgba(255,248,236,.5) 35%,rgba(255,248,236,.88))}

/* ---------- hero + countdown ---------- */
:where(html[data-theme="light"]) .om{color:var(--red)}
:where(html[data-theme="light"]) h1{background:linear-gradient(180deg,#7a0f26,#b3122b 55%,#9c2f0a);-webkit-background-clip:text;background-clip:text;
   filter:drop-shadow(0 3px 14px rgba(255,170,60,.45))}
:where(html[data-theme="light"]) .sub,:where(html[data-theme="light"]) #greet,:where(html[data-theme="light"]) #status{text-shadow:0 1px 10px rgba(255,248,236,.9)}
:where(html[data-theme="light"]) .sub{color:var(--ink);font-weight:400}
:where(html[data-theme="light"]) #greet{color:var(--gold)}
:where(html[data-theme="light"]) #status{color:var(--red);font-weight:600}
:where(html[data-theme="light"]) .stage .halo{background:radial-gradient(circle,rgba(255,170,60,.42),transparent 62%)}
:where(html[data-theme="light"]) .portrait{background-color:var(--cream2);border-color:var(--saff);
  box-shadow:0 0 0 8px rgba(255,255,255,.7),0 0 0 9px var(--line),0 0 50px rgba(245,160,0,.55),inset 0 0 30px rgba(0,0,0,.25)}
:where(html[data-theme="light"]) .portrait::after{box-shadow:inset 0 0 22px rgba(60,10,20,.35)}
:where(html[data-theme="light"]) .unit{background:var(--glass);border-color:var(--line);box-shadow:0 10px 26px rgba(120,50,20,.14),inset 0 1px 0 #fff}
:where(html[data-theme="light"]) .unit::before{background:linear-gradient(115deg,transparent 35%,rgba(255,200,110,.28) 50%,transparent 65%)}
:where(html[data-theme="light"]) .unit b{color:var(--red);text-shadow:none}
:where(html[data-theme="light"]) .unit span{color:var(--ink2);opacity:1}
:where(html[data-theme="light"]) .btn{color:var(--deep);background:var(--fill);box-shadow:0 6px 22px rgba(245,160,0,.38)}
:where(html[data-theme="light"]) .btn:hover{box-shadow:0 12px 30px rgba(245,160,0,.5)}
:where(html[data-theme="light"]) .btn.ghost{background:var(--white);color:var(--ink);border-color:var(--line);box-shadow:0 4px 14px rgba(120,50,20,.1)}
/* keyframes cannot be scoped: the light glow gets its own name and only the light theme points at it */
@keyframes glowLight{50%{box-shadow:0 6px 36px rgba(245,160,0,.6)}}
:where(html[data-theme="light"]) .day.now{animation-name:glowLight}

/* ---------- nav + logo ---------- */
:where(html[data-theme="light"]) .topnav{background:var(--white);border-bottom:3px solid var(--red);box-shadow:0 6px 18px rgba(120,50,20,.12)}
:where(html[data-theme="light"]) .brand{background:var(--cream);box-shadow:0 0 0 1px var(--line);padding:4px 10px;border-radius:12px}
:where(html[data-theme="light"]) .brand img{filter:none}
@media (max-width:640px){:where(html[data-theme="light"]) .brand{padding:3px 8px;border-radius:10px}}
@media (max-width:420px){:where(html[data-theme="light"]) .brand{padding:2px 3px;border-radius:7px}}
:where(html[data-theme="light"]) .navlinks a{color:var(--red);border-color:rgba(179,18,43,.3);background:var(--cream)}
:where(html[data-theme="light"]) .navlinks a:hover{background:#ffeccc}
:where(html[data-theme="light"]) .brand:focus-visible,:where(html[data-theme="light"]) .topnav a:focus-visible{outline-color:var(--red)}
:where(html[data-theme="light"]) .themetog{color:var(--red);border-color:rgba(179,18,43,.3);background:var(--cream)}
:where(html[data-theme="light"]) .themetog:hover{background:#ffeccc}
:where(html[data-theme="light"]) .themetog:focus-visible{outline-color:var(--red)}

/* ---------- section heads, timeline, shared fields ---------- */
:where(html[data-theme="light"]) .eyebrow{color:var(--red)}
:where(html[data-theme="light"]) h2.title{color:var(--maroon);text-shadow:0 1px 0 #fff}
:where(html[data-theme="light"]) .orn{color:var(--saff)}
:where(html[data-theme="light"]) .orn::before,:where(html[data-theme="light"]) .orn::after{background:linear-gradient(90deg,transparent,var(--saff))}
:where(html[data-theme="light"]) .day{background:var(--glass);border-color:var(--line);box-shadow:0 6px 18px rgba(120,50,20,.08)}
:where(html[data-theme="light"]) .day:hover{border-color:var(--saff)}
:where(html[data-theme="light"]) .day .n{color:var(--red);text-shadow:none}
:where(html[data-theme="light"]) .day .mo,:where(html[data-theme="light"]) .day .wk{color:var(--ink2);opacity:1}
:where(html[data-theme="light"]) .day.now{background:var(--fill);color:var(--deep);border-color:#fff;box-shadow:0 0 36px rgba(245,160,0,.55)}
:where(html[data-theme="light"]) .day.now .n{color:var(--maroon)}
:where(html[data-theme="light"]) .panel{background:var(--glass);box-shadow:0 16px 40px rgba(120,50,20,.12)}
:where(html[data-theme="light"]) input,:where(html[data-theme="light"]) select,:where(html[data-theme="light"]) .gmhelp textarea,:where(html[data-theme="light"]) .rvsheet textarea{background:var(--white);color:var(--ink);border-color:var(--line)}
:where(html[data-theme="light"]) input:focus,:where(html[data-theme="light"]) .gmhelp textarea:focus,:where(html[data-theme="light"]) .rvsheet textarea:focus{border-color:var(--saff);box-shadow:0 0 0 3px rgba(245,160,0,.22)}
:where(html[data-theme="light"]) input::placeholder,:where(html[data-theme="light"]) .gmhelp textarea::placeholder,:where(html[data-theme="light"]) .rvsheet textarea::placeholder{color:#8a6a5c}
:where(html[data-theme="light"]) .gmhelp{background:var(--white);border-color:var(--line)}
:where(html[data-theme="light"]) .gmadd{color:var(--red)}
:where(html[data-theme="light"]) .note{color:var(--ink2);opacity:1}
:where(html[data-theme="light"]) footer .wish{color:var(--ink);text-shadow:0 1px 10px rgba(255,248,236,.9)}
:where(html[data-theme="light"]) footer .big{color:var(--red);text-shadow:0 0 18px rgba(255,190,90,.5)}
:where(html[data-theme="light"]) #toast{background:var(--maroon);color:#fff4e0}

/* ---------- finder: controls, map, chips, the line deck ---------- */
:where(html[data-theme="light"]) #finder{--fs:#fff;--fs2:#fff1dc;--fr:#ecd3b4;--fm:#6b3a2e;--ground:#f3e9da}
:where(html[data-theme="light"]) .fpill{background:var(--white);color:var(--ink)}
:where(html[data-theme="light"]) .fpill:hover{border-color:var(--saff)}
:where(html[data-theme="light"]) .fpill-on{color:#fff}
:where(html[data-theme="light"]) .ffield:focus-within{border-bottom-color:var(--saff)}
:where(html[data-theme="light"]) .ffield input::placeholder{color:#8a6a5c}
:where(html[data-theme="light"]) .fgo{background:var(--red);color:#fff}
:where(html[data-theme="light"]) .fstat{border-left-color:var(--saff)}
:where(html[data-theme="light"]) .fstat.bad{border-left-color:var(--red);color:var(--red)}
:where(html[data-theme="light"]) .fcount b{color:var(--red)}
:where(html[data-theme="light"]) .fstage .leaflet-tile{filter:grayscale(1) sepia(.18) brightness(1.04) contrast(.92)}
:where(html[data-theme="light"]) .fstage .leaflet-control-attribution{background:rgba(255,255,255,.85);color:var(--ink2)}
:where(html[data-theme="light"]) .fstage .leaflet-control-attribution a{color:var(--red)}
:where(html[data-theme="light"]) .fhint{border-color:var(--saff)}
:where(html[data-theme="light"]) .ffail,:where(html[data-theme="light"]) .fbig{color:var(--red)}
:where(html[data-theme="light"]) .fbadge{color:#fff}
:where(html[data-theme="light"]) .fchip{background:var(--white)}
:where(html[data-theme="light"]) .fchip[aria-pressed="true"]{color:#fff}
:where(html[data-theme="light"]) .fchip[aria-pressed="true"] .fbadge{background:#fff;color:var(--lc)}
:where(html[data-theme="light"]) .fchip[aria-pressed="true"] b,:where(html[data-theme="light"]) .fchip[aria-pressed="true"]>.ph{color:#fff}
:where(html[data-theme="light"]) .fln{box-shadow:0 8px 24px rgba(120,50,20,.1);border:1px solid var(--fr)}
:where(html[data-theme="light"]) .fdot{background:#fff}
:where(html[data-theme="light"]) .fst:hover .fsn,:where(html[data-theme="light"]) .fst.active .fsn{color:var(--red)}
:where(html[data-theme="light"]) .pin span{box-shadow:0 0 0 2px #fff,0 1px 4px rgba(60,10,20,.35)}
:where(html[data-theme="light"]) .pin.apwait span{background:var(--cream)}
:where(html[data-theme="light"]) .pin b,:where(html[data-theme="light"]) .pin em{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(60,10,20,.25)}
:where(html[data-theme="light"]) .fcluster span{color:#fff;border-color:#fff;box-shadow:0 1px 5px rgba(60,10,20,.35)}
/* the five line colours, made deep enough for white numbers and for text on white (the JS sets them inline; important wins) */
:where(html[data-theme="light"]) [style*="ffd27a"]{--lc:#9a5b00!important}
:where(html[data-theme="light"]) [style*="ff6a3d"]{--lc:#c2410c!important}
:where(html[data-theme="light"]) [style*="ff8fa3"]{--lc:#b8185a!important}
:where(html[data-theme="light"]) [style*="ffb347"]{--lc:#b3122b!important}
:where(html[data-theme="light"]) [style*="fff4e0"]{--lc:#5e0b1c!important}
:where(html[data-theme="light"]) path.froute[stroke="#ffd27a"]{stroke:#9a5b00}
:where(html[data-theme="light"]) path.froute[stroke="#ff6a3d"]{stroke:#c2410c}
:where(html[data-theme="light"]) path.froute[stroke="#ff8fa3"]{stroke:#b8185a}
:where(html[data-theme="light"]) path.froute[stroke="#ffb347"]{stroke:#b3122b}
:where(html[data-theme="light"]) path.froute[stroke="#fff4e0"]{stroke:#5e0b1c}

/* ---------- reviews ---------- */
:where(html[data-theme="light"]) .rvsum .avg{color:var(--red);text-shadow:none}
:where(html[data-theme="light"]) .rvmeter{color:rgba(224,138,0,.28)}
:where(html[data-theme="light"]) .rvmeter span,:where(html[data-theme="light"]) .rstar{color:#e08a00}
:where(html[data-theme="light"]) .rvn{color:var(--ink2);opacity:1}
:where(html[data-theme="light"]) .rvrank .rvrow{background:var(--white);color:var(--ink);box-shadow:0 2px 8px rgba(120,50,20,.06)}
:where(html[data-theme="light"]) .rvrank .rvrow[aria-pressed="true"]{border-color:var(--saff);background:#fff4e0;box-shadow:0 0 0 1px var(--saff)}
:where(html[data-theme="light"]) .rvrank em{color:var(--ink2);opacity:1}
:where(html[data-theme="light"]) .rvclear{background:var(--white);border-color:var(--saff);color:var(--ink)}
:where(html[data-theme="light"]) .rvcard{background:linear-gradient(180deg,#fff,#fffaf2);border-color:var(--line);box-shadow:0 10px 28px rgba(120,50,20,.1);backdrop-filter:none}
:where(html[data-theme="light"]) .rvcard::before{background:radial-gradient(circle at calc(100% - 25px) 24px,rgba(255,170,60,.2),transparent 55%);box-shadow:0 0 0 1px var(--saff),0 14px 34px rgba(120,50,20,.14)}
:where(html[data-theme="light"]) .rvcard::after{background:repeating-radial-gradient(circle at 34px 30px,rgba(200,16,46,.07) 0 1px,transparent 1px 9px)}
:where(html[data-theme="light"]) .rvq{color:var(--saff)}
:where(html[data-theme="light"]) .rvcard blockquote,:where(html[data-theme="light"]) .rvby b{color:var(--ink)}
:where(html[data-theme="light"]) .rvby{border-top-color:var(--line)}
:where(html[data-theme="light"]) .rvby time{color:var(--ink2)}
:where(html[data-theme="light"]) .rvinit{color:var(--red);background:linear-gradient(#fff8ec,#fcebd0) padding-box,linear-gradient(135deg,#ffc94a,#f5a000 55%,#b5673a) border-box}
:where(html[data-theme="light"]) .rvtag{background:#fff4e0;color:var(--ink)}
:where(html[data-theme="light"]) .rvcard.skeleton i{background:linear-gradient(90deg,rgba(224,138,0,.08),rgba(224,138,0,.2),rgba(224,138,0,.08)) 0 0/200% 100%}
:where(html[data-theme="light"]) .rvmore small{color:var(--ink2);opacity:1}
:where(html[data-theme="light"]) .rvprog{background:rgba(224,138,0,.18)}
:where(html[data-theme="light"]) .rvprog i{background:var(--saff)}
:where(html[data-theme="light"]) .rvcta,:where(html[data-theme="light"]) .apcta{box-shadow:0 8px 26px rgba(245,160,0,.35)}
:where(html[data-theme="light"]) .rvnav{background:var(--white);color:var(--red);box-shadow:0 4px 14px rgba(120,50,20,.12)}

/* ---------- the two sheets (review, add-puja) and the map dock ---------- */
:where(html[data-theme="light"]) .rvsheet,:where(html[data-theme="light"]) .apsheet{background:linear-gradient(180deg,#fff,var(--cream) 70%);box-shadow:0 -20px 50px rgba(60,10,20,.22)}
:where(html[data-theme="light"]) .rvsheet::backdrop,:where(html[data-theme="light"]) .apsheet::backdrop{background:rgba(61,7,18,.38)}
:where(html[data-theme="light"]) .rvhandle,:where(html[data-theme="light"]) .aphandle{background:rgba(150,70,30,.35)}
:where(html[data-theme="light"]) .rvx:hover,:where(html[data-theme="light"]) .rvx:focus-visible,:where(html[data-theme="light"]) .apx:hover,:where(html[data-theme="light"]) .apx:focus-visible{background:rgba(61,7,18,.07)}
:where(html[data-theme="light"]) .rvsheet h3,:where(html[data-theme="light"]) .apsheet h3{color:var(--red)}
:where(html[data-theme="light"]) .rvlbl,:where(html[data-theme="light"]) .aplbl,:where(html[data-theme="light"]) .rvdone p,:where(html[data-theme="light"]) .apdone p.serif,:where(html[data-theme="light"]) .apmsg,:where(html[data-theme="light"]) .apopt b,:where(html[data-theme="light"]) .apsum dd{color:var(--ink)}
:where(html[data-theme="light"]) .rvstar{color:rgba(224,138,0,.3)}
:where(html[data-theme="light"]) .rvstar.sel{color:#e08a00;text-shadow:0 0 10px rgba(245,160,0,.4)}
:where(html[data-theme="light"]) .rvprob,:where(html[data-theme="light"]) .rvfail,:where(html[data-theme="light"]) .approb,:where(html[data-theme="light"]) .apfail,:where(html[data-theme="light"]) .apmsg.bad,:where(html[data-theme="light"]) .apdel,:where(html[data-theme="light"]) .apask button,:where(html[data-theme="light"]) .apask .apyes{color:var(--red)}
:where(html[data-theme="light"]) .aprail li{border-top-color:rgba(224,138,0,.22);color:var(--ink2)}
:where(html[data-theme="light"]) .aprail li[aria-current],:where(html[data-theme="light"]) .aprail li.done{color:var(--ink)}
:where(html[data-theme="light"]) .aprail li[aria-current]{border-color:var(--saff)}
:where(html[data-theme="light"]) .aprail li.done{border-color:rgba(224,138,0,.6)}
:where(html[data-theme="light"]) .aprail li[aria-current] b{background:var(--fill);color:var(--deep);box-shadow:0 0 12px rgba(245,160,0,.45)}
:where(html[data-theme="light"]) .apdup,:where(html[data-theme="light"]) .apchosen{background:#fff4e0;color:var(--ink)}
:where(html[data-theme="light"]) .apopt,:where(html[data-theme="light"]) .apsum{background:var(--white);box-shadow:0 2px 8px rgba(120,50,20,.06)}
:where(html[data-theme="light"]) .apopt:hover,:where(html[data-theme="light"]) .apopt[aria-expanded="true"]{border-color:var(--saff);background:#fff4e0}
:where(html[data-theme="light"]) .apask{color:var(--ink)}
:where(html[data-theme="light"]) .apdock{background:linear-gradient(180deg,#fff,var(--cream));border-color:var(--saff);color:var(--ink);box-shadow:0 12px 34px rgba(60,10,20,.2)}

/* ---------- music bar, playlist panel, the floating pin ---------- */
:where(html[data-theme="light"]) #musicbar{background:rgba(255,250,242,.96);border-color:var(--line);box-shadow:0 8px 24px rgba(60,10,20,.16)}
:where(html[data-theme="light"]) #musicbar .ytposter{background:var(--cream2)}
:where(html[data-theme="light"]) #musicbar .mtitle{color:var(--red)}
:where(html[data-theme="light"]) #musicbar .martist,:where(html[data-theme="light"]) #musicbar .voltag{color:var(--ink2);opacity:1}
:where(html[data-theme="light"]) #musicbar .mctrls button,:where(html[data-theme="light"]) #musicbar .snd,:where(html[data-theme="light"]) #musicbar #volClose{background:var(--white);color:var(--ink);border-color:var(--line)}
:where(html[data-theme="light"]) #musicbar .snd{color:var(--red)}
:where(html[data-theme="light"]) #musicbar #mPlay,:where(html[data-theme="light"]) #musicbar .snd.on{background:var(--fill);color:var(--deep);border:0}
:where(html[data-theme="light"]) #musicbar .volpct{color:var(--red)}
:where(html[data-theme="light"]) #musicbar .volpopup input[type=range]{background:linear-gradient(to right,#f5a000 0%,#ffc94a var(--pct,100%),rgba(150,70,30,.18) var(--pct,100%));box-shadow:inset 0 1px 2px rgba(60,10,20,.2)}
:where(html[data-theme="light"]) #mPanel{background:rgba(255,250,242,.98);box-shadow:0 -12px 34px rgba(60,10,20,.18)}
:where(html[data-theme="light"]) #mPanel .mpanelhead h3{color:var(--red)}
:where(html[data-theme="light"]) #mPanel .mtab{background:var(--white)}
:where(html[data-theme="light"]) #mPanel .mtab.on{background:var(--fill);color:var(--deep)}
:where(html[data-theme="light"]) #mPanel .mrow:hover{background:rgba(224,138,0,.08)}
:where(html[data-theme="light"]) #mPanel .mrow.cur{background:rgba(245,160,0,.18)}
:where(html[data-theme="light"]) #mPanel .mrow.cur .mrt b{color:var(--red)}
:where(html[data-theme="light"]) #mPanel .mrow .mn,:where(html[data-theme="light"]) #mPanel .mrow .mrt small,:where(html[data-theme="light"]) #mPanel .mrow .md{color:var(--ink2);opacity:1}
:where(html[data-theme="light"]) #splash.gone ~ .sndmute{color:var(--red);border-color:rgba(179,18,43,.3);background:var(--cream)}
:where(html[data-theme="light"]) #splash.gone ~ .sndmute:hover{background:#ffeccc}
