:root{
  --navy:#0f1a33; --navy2:#17264a; --ink:#0b1326; --gold:#f2c46d; --gold2:#d9a441;
  --cream:#f7efdf; --cream2:#efe3c8; --muted:#c9bfa8;
  --top:56px; --bar:58px; --safe-b:env(safe-area-inset-bottom,0px);
  --serif: Georgia, "Iowan Old Style", "Palatino Linotype", "Times New Roman", serif;
  --sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--ink);color:var(--cream);font-family:var(--sans);-webkit-text-size-adjust:100%}
body{overflow:hidden;overscroll-behavior:none}
button{font:inherit;color:inherit;cursor:pointer}
a{color:var(--gold)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
[hidden]{display:none!important}

/* top bar */
.top{position:fixed;inset:0 0 auto 0;height:calc(var(--top) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 10px 0;
  display:flex;align-items:center;gap:8px;z-index:20;
  background:linear-gradient(180deg,rgba(11,19,38,.92),rgba(11,19,38,.55) 75%,rgba(11,19,38,0));}
.brand{display:flex;align-items:center;gap:8px;min-width:0;flex:1}
.brand-text{display:flex;flex-direction:column;line-height:1.05;min-width:0}
.brand-text b{font-family:var(--serif);font-size:16px;letter-spacing:.1px;color:var(--cream);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-text small{font-size:10.5px;color:var(--gold);letter-spacing:.6px;text-transform:uppercase;white-space:nowrap}
.candle{position:relative;width:12px;height:30px;flex:none}
.candle::before{content:"";position:absolute;bottom:0;left:2px;width:8px;height:16px;border-radius:2px;background:linear-gradient(90deg,#fffaf0,#e9dcc0)}
.candle i{position:absolute;bottom:16px;left:1px;width:10px;height:13px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;
  background:radial-gradient(circle at 50% 70%,#fff6d6 0 25%,var(--gold) 55%,#e8892c 100%);
  box-shadow:0 0 12px 4px rgba(242,196,109,.55),0 0 26px 10px rgba(242,196,109,.18);animation:flick 2.6s ease-in-out infinite;transform-origin:50% 100%}
@keyframes flick{0%,100%{transform:scale(1) rotate(-1deg)}40%{transform:scale(1.06,.95) rotate(2deg)}70%{transform:scale(.96,1.05) rotate(-2deg)}}
@media (prefers-reduced-motion:reduce){.candle i{animation:none}}
.top-actions{display:flex;gap:2px;flex:none}
.icon-btn{width:36px;height:36px;border-radius:50%;border:0;background:transparent;display:grid;place-items:center;color:var(--cream)}
.icon-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.icon-btn:hover{background:rgba(247,239,223,.1)}

/* feed */
main{position:fixed;inset:0 0 calc(var(--bar) + var(--safe-b)) 0}
[hidden]{display:none!important}
.feed{position:absolute;inset:0;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;overscroll-behavior:contain}
.feed::-webkit-scrollbar{display:none}
.slide{position:relative;height:100%;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;
  display:flex;justify-content:center;background:var(--ink)}
.stage{position:relative;height:100%;width:100%;max-width:min(100%,calc((100dvh - var(--bar) - var(--safe-b)) * .5625));aspect-ratio:auto;overflow:hidden}
.bgblur{position:absolute;inset:-20px;background-size:cover;background-position:center;filter:blur(22px) brightness(.45) saturate(1.1);transform:scale(1.1)}
.poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.player{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.tapzone{position:absolute;inset:0;z-index:3;background:transparent;border:0;padding:0}
.shade{position:absolute;inset:auto 0 0 0;height:62%;z-index:4;pointer-events:none;
  background:linear-gradient(180deg,rgba(11,19,38,0),rgba(11,19,38,.55) 35%,rgba(11,19,38,.94))}
.info{position:absolute;left:0;right:0;bottom:0;z-index:5;padding:0 18px 16px;pointer-events:none}
.info > *{pointer-events:auto}
.daytag{display:inline-flex;align-items:center;gap:6px;background:var(--gold);color:var(--navy);font-weight:800;font-size:13px;
  letter-spacing:.5px;text-transform:uppercase;padding:4px 10px;border-radius:999px}
.daytag .len{font-weight:600;opacity:.75;text-transform:none;letter-spacing:0}
.title{font-family:var(--serif);font-size:clamp(24px,6.6vw,30px);line-height:1.12;margin:8px 0 8px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.sum{margin:0;padding:0;list-style:none;font-size:15px;line-height:1.4;color:var(--cream)}
.sum li{position:relative;padding-left:16px;margin:4px 0}
.sum li::before{content:"";position:absolute;left:2px;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 6px var(--gold)}
.sum.clamped li:nth-child(n+2){display:none}
.more{border:0;background:none;color:var(--gold);font-weight:700;padding:6px 0 0;font-size:14px}
.soon{position:absolute;top:calc(var(--top) + 14px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);z-index:5;
  background:rgba(11,19,38,.78);border:1px solid rgba(242,196,109,.5);color:var(--cream);padding:7px 14px;border-radius:999px;font-size:13px;white-space:nowrap;
  box-shadow:0 0 18px rgba(242,196,109,.25)}
.soon b{color:var(--gold)}
.sound{position:absolute;right:14px;top:calc(var(--top) + 12px + env(safe-area-inset-top,0px));z-index:6;border:1px solid rgba(242,196,109,.6);
  background:rgba(11,19,38,.8);color:var(--cream);border-radius:999px;padding:8px 14px;font-weight:700;font-size:14px;display:flex;gap:6px;align-items:center}
.paused-ind{position:absolute;inset:0;margin:auto;width:76px;height:76px;border-radius:50%;background:rgba(11,19,38,.6);z-index:4;display:grid;place-items:center;pointer-events:none}
.paused-ind::after{content:"";margin-left:6px;border-left:24px solid var(--cream);border-top:15px solid transparent;border-bottom:15px solid transparent}
.hint{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;font-size:13px;color:var(--muted)}
.hint .chev{width:18px;height:18px;border-right:2px solid var(--gold);border-top:2px solid var(--gold);transform:rotate(-45deg);animation:bob 1.6s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(3px) rotate(-45deg)}50%{transform:translateY(-3px) rotate(-45deg)}}
.dedic{font-family:var(--serif);font-style:italic;font-size:13px;color:var(--gold);margin:0 0 8px;opacity:.95}
.side-nav{position:absolute;right:10px;top:50%;transform:translateY(-50%);z-index:6;display:none;flex-direction:column;gap:10px}
.side-nav button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(242,196,109,.5);background:rgba(11,19,38,.7);color:var(--gold);font-size:20px}

/* end slide */
.end{background:radial-gradient(120% 70% at 50% 0%,rgba(242,196,109,.28),rgba(15,26,51,0) 55%),linear-gradient(180deg,var(--navy2),var(--ink))}
.end .end-inner{max-width:440px;margin:auto;padding:calc(var(--top) + 24px) 24px 24px;text-align:center;display:flex;flex-direction:column;justify-content:center;height:100%}
.end h2{font-family:var(--serif);font-size:28px;margin:12px 0 6px}
.end p{color:var(--cream2);line-height:1.45;margin:8px 0}
.end .bigcandle{margin:0 auto;transform:scale(1.6);transform-origin:50% 100%}
.wa-btn{display:block;text-align:center;background:var(--gold);color:var(--navy);font-weight:800;text-decoration:none;padding:13px 18px;border-radius:14px;margin:14px 0 4px;box-shadow:0 6px 24px rgba(242,196,109,.25)}
.ghost{display:block;width:100%;background:transparent;border:1px solid rgba(242,196,109,.5);color:var(--cream);padding:12px;border-radius:14px;font-weight:700;margin-top:10px}
.credits{list-style:none;padding:0;margin:12px 0;color:var(--cream2);font-size:14.5px;line-height:1.45}
.credits li{margin:6px 0}
.dedication{font-family:var(--serif);font-style:italic;color:var(--gold);margin-top:18px;line-height:1.4}

/* sheets */
.sheet{position:fixed;inset:0;z-index:40;background:rgba(5,9,20,.6);display:flex;align-items:flex-end;justify-content:center;backdrop-filter:blur(3px)}
.sheet-card{width:100%;max-width:520px;max-height:86dvh;overflow:auto;background:linear-gradient(180deg,var(--navy2),var(--navy));border-radius:22px 22px 0 0;
  border-top:1px solid rgba(242,196,109,.4);padding:6px 16px calc(18px + var(--safe-b));box-shadow:0 -10px 40px rgba(0,0,0,.5)}
.sheet-head{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--navy2);padding:10px 0 8px;z-index:1}
.sheet-head h2{font-family:var(--serif);margin:0;font-size:22px}
.day-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.day-list button{width:100%;display:flex;gap:12px;align-items:center;text-align:left;border:1px solid rgba(247,239,223,.12);background:rgba(247,239,223,.05);border-radius:12px;padding:10px 12px}
.day-list button[aria-current="true"]{border-color:var(--gold);background:rgba(242,196,109,.14)}
.day-list .n{flex:none;width:38px;height:38px;border-radius:10px;background:var(--gold);color:var(--navy);display:grid;place-items:center;font-weight:800}
.day-list .t{font-weight:600;line-height:1.25}
.day-list .s{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:2px}
.about-body{padding:4px 2px 6px;color:var(--cream)}
.about-body .lead{font-size:16px;line-height:1.45}

/* trivia */
.trivia{position:absolute;inset:0;overflow-y:auto;padding:calc(var(--top) + env(safe-area-inset-top,0px) + 8px) 16px 24px;
  background:radial-gradient(120% 50% at 50% 0%,rgba(242,196,109,.2),rgba(15,26,51,0) 60%),linear-gradient(180deg,var(--navy2),var(--ink))}
.trivia-inner{max-width:520px;margin:0 auto}
.t-head{font-family:var(--serif);font-size:26px;margin:8px 0 2px}
.t-sub{color:var(--cream2);margin:0 0 12px;font-size:14.5px}
.weeks{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.week-chip{flex:none;border:1px solid rgba(242,196,109,.45);background:transparent;color:var(--cream);border-radius:999px;padding:7px 13px;font-weight:600;font-size:14px}
.week-chip[aria-selected="true"]{background:var(--gold);color:var(--navy)}
.week-meta{color:var(--gold);font-size:13.5px;margin:10px 0 8px}
.keywords{background:rgba(247,239,223,.06);border:1px solid rgba(247,239,223,.14);border-radius:12px;padding:10px 12px;margin-bottom:14px}
.keywords summary{font-weight:700;cursor:pointer}
.keywords dl{margin:8px 0 0}
.keywords dt{font-weight:800;color:var(--gold);margin-top:8px}
.keywords dd{margin:2px 0 0;color:var(--cream2);font-size:14px;line-height:1.4}
.qcard-wrap{perspective:1000px}
.qcard{display:flex;flex-direction:column;gap:12px;width:100%;min-height:300px;text-align:left;border:0;border-radius:20px;padding:22px 20px;
  background:var(--cream);color:var(--navy);box-shadow:0 10px 40px rgba(0,0,0,.35),0 0 0 1px rgba(242,196,109,.6) inset}
.q-round{font-size:12px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:#9a6b12}
.q-text{font-family:var(--serif);font-size:21px;line-height:1.32}
.q-choices{display:flex;flex-direction:column;gap:6px}
.q-answer{display:none;background:var(--navy);color:var(--cream);border-radius:12px;padding:12px 14px;font-size:16px;line-height:1.4}
.q-answer::before{content:"Answer";display:block;font-size:11.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--gold);margin-bottom:4px}
.qcard.revealed .q-answer{display:block;animation:pop .25s ease-out}
.qcard.revealed .q-hint{display:none}
@keyframes pop{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.q-hint{margin-top:auto;font-size:13.5px;color:#7a6a48;font-weight:600}
.q-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0}
.pill-btn{border:1px solid rgba(242,196,109,.5);background:transparent;color:var(--cream);border-radius:999px;padding:10px 16px;font-weight:700;min-width:96px}
.pill-btn.gold{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.pill-btn:disabled{opacity:.35}
.q-count{color:var(--cream2);font-size:14px}
.t-foot{text-align:center;color:var(--gold);font-family:var(--serif);font-style:italic}

@media (min-width:700px){
  .side-nav{display:flex}
  .stage{border-left:1px solid rgba(242,196,109,.12);border-right:1px solid rgba(242,196,109,.12)}
  .slide{background:radial-gradient(80% 60% at 50% 0%,rgba(242,196,109,.12),transparent 60%),var(--ink)}
}
@media (max-width:400px){.brand-text b{font-size:14.5px}.brand-text small{font-size:9.5px;letter-spacing:.3px}.top{gap:6px;padding-left:8px;padding-right:6px}}
@media (max-width:350px){.candle{display:none}}

/* ---------- bottom tabs ---------- */
.bottombar{position:fixed;left:0;right:0;bottom:0;z-index:30;height:calc(var(--bar) + var(--safe-b));padding-bottom:var(--safe-b);
  display:flex;background:linear-gradient(180deg,#13203f,var(--navy));border-top:1px solid rgba(242,196,109,.28)}
.bottombar .tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:none;
  color:var(--muted);font-size:11.5px;font-weight:700;letter-spacing:.3px;padding:0;-webkit-tap-highlight-color:transparent}
.bottombar .tab svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bottombar .tab[data-view="shorts"] svg{fill:currentColor;stroke-width:1.5}
.bottombar .tab.is-on{color:var(--gold)}
.bottombar .tab.is-on span{border-bottom:2px solid var(--gold);padding-bottom:1px}
/* ---------- shorts ---------- */
.shorttag{display:inline-flex;align-items:center;gap:6px;background:rgba(11,19,38,.72);color:var(--gold);border:1px solid rgba(242,196,109,.65);
  font-weight:800;font-size:12.5px;letter-spacing:.5px;text-transform:uppercase;padding:4px 10px;border-radius:999px}
.shorttag i{width:0;height:0;border-left:8px solid var(--gold);border-top:5px solid transparent;border-bottom:5px solid transparent}
.shorts .title{font-size:clamp(23px,6.2vw,29px)}
.from{margin:0 0 12px;color:var(--cream2);font-size:14px;line-height:1.35}
.watch-full{display:inline-flex;align-items:center;gap:8px;border:0;background:var(--gold);color:var(--navy);font-weight:800;font-size:15px;
  padding:11px 18px;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.35)}
.watch-full::after{content:"›";font-size:20px;line-height:0;margin-top:-2px}
.shorts .shade{height:58%;background:linear-gradient(180deg,rgba(11,19,38,0),rgba(11,19,38,.78) 38%,rgba(11,19,38,.96))}

/* ---------- lessons: tile grid ---------- */
.lessons{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;
  padding:calc(var(--top) + env(safe-area-inset-top,0px) + 6px) 12px 28px;
  background:radial-gradient(120% 40% at 50% 0%,rgba(242,196,109,.18),rgba(15,26,51,0) 60%),linear-gradient(180deg,var(--navy2),var(--ink) 70%)}
.lessons-inner{max-width:1100px;margin:0 auto}
.lessons .dedic{text-align:center;margin:4px 0 2px}
.l-head{font-family:var(--serif);font-size:28px;margin:4px 0 2px;text-align:center}
.l-sub{color:var(--cream2);font-size:14.5px;margin:0 0 14px;text-align:center}
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (min-width:600px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}
@media (min-width:880px){.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1150px){.tiles{grid-template-columns:repeat(5,minmax(0,1fr))}}
.tile{display:flex;flex-direction:column;padding:0;border:1px solid rgba(242,196,109,.22);background:rgba(247,239,223,.06);border-radius:16px;overflow:hidden;
  text-align:left;-webkit-tap-highlight-color:transparent;transition:transform .15s ease,border-color .15s ease;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.tile:active{transform:scale(.97)}
@media (hover:hover){.tile:not(.is-soon):hover{border-color:var(--gold);transform:translateY(-2px)}}
.tile[aria-current="true"]{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold),0 6px 18px rgba(0,0,0,.3)}
.thumb{position:relative;display:block;aspect-ratio:4/5;background:var(--navy) center/cover}
.thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.thumb::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(180deg,rgba(11,19,38,0),rgba(11,19,38,.75))}
.dnum{position:absolute;top:8px;left:8px;z-index:1;background:var(--gold);color:var(--navy);font-weight:800;font-size:12.5px;letter-spacing:.4px;text-transform:uppercase;padding:3px 9px;border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.tlen{position:absolute;right:8px;bottom:8px;z-index:1;font-size:12px;font-weight:700;color:var(--cream);background:rgba(11,19,38,.7);padding:2px 7px;border-radius:999px}
.playdot{position:absolute;left:8px;bottom:8px;z-index:1;width:30px;height:30px;border-radius:50%;background:rgba(11,19,38,.72);border:1.5px solid var(--gold);display:grid;place-items:center}
.playdot::after{content:"";margin-left:3px;border-left:10px solid var(--gold);border-top:6px solid transparent;border-bottom:6px solid transparent}
.ttl{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding:9px 10px 11px;font-weight:700;font-size:14.5px;line-height:1.25;color:var(--cream);min-height:calc(2 * 1.25em + 20px)}
.tile.is-soon{cursor:default;opacity:.55}
.tile.is-soon img{filter:grayscale(.85) brightness(.7)}
.soonlbl{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;white-space:nowrap;background:rgba(11,19,38,.82);border:1px solid rgba(242,196,109,.6);color:var(--gold);font-weight:800;font-size:12.5px;padding:5px 10px;border-radius:999px}
.l-foot{max-width:440px;margin:30px auto 0;text-align:center;scroll-margin-top:calc(var(--top) + 10px)}
.l-foot h2{font-family:var(--serif);font-size:24px;margin:14px 0 4px}
.l-foot p{color:var(--cream2);line-height:1.45;margin:8px 0}
.l-foot .bigcandle{margin:0 auto;display:block;transform:scale(1.4);transform-origin:50% 100%}

/* ---------- lesson player ---------- */
.lesson{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;
  padding:calc(var(--top) + env(safe-area-inset-top,0px)) 12px 24px;
  background:radial-gradient(120% 40% at 50% 0%,rgba(242,196,109,.16),rgba(15,26,51,0) 60%),linear-gradient(180deg,var(--navy2),var(--ink) 70%)}
.lesson-inner{max-width:1000px;margin:0 auto}
.l-bar{display:flex;align-items:center;gap:10px;min-height:44px;margin-bottom:6px}
.back{border:1px solid rgba(242,196,109,.55);background:rgba(11,19,38,.6);color:var(--gold);font-weight:800;font-size:15px;padding:8px 14px;border-radius:999px}
.l-pos{color:var(--muted);font-size:13.5px;flex:1;white-space:nowrap;text-align:center}
.l-sound .sound{position:static;padding:7px 12px;font-size:13.5px}
.l-player{position:relative;margin:0 auto;border-radius:16px;overflow:hidden;background:#000;box-shadow:0 10px 30px rgba(0,0,0,.45);
  height:max(320px,calc(100dvh - var(--top) - var(--bar) - var(--safe-b) - env(safe-area-inset-top,0px) - 150px));aspect-ratio:9/16;max-width:100%}
.l-player .poster{object-fit:cover}
.l-info{padding:12px 4px 0;max-width:520px;margin:0 auto}
.l-info .title{font-size:clamp(22px,6vw,28px);margin:8px 0 6px;text-shadow:none}
.l-nav{display:flex;justify-content:space-between;gap:10px;margin-top:16px}
@media (min-width:860px){
  .l-body{display:grid;grid-template-columns:auto minmax(0,440px);gap:28px;justify-content:center;align-items:start}
  .l-player{height:calc(100dvh - var(--top) - var(--bar) - var(--safe-b) - 90px);margin:0}
  .l-info{padding-top:20px;margin:0}
}

/* trivia modes */
.t-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:rgba(247,239,223,.08);border:1px solid rgba(242,196,109,.35);border-radius:999px;padding:4px;margin:0 0 14px}
.t-mode{border:0;background:transparent;color:var(--cream);border-radius:999px;padding:9px 6px;font-weight:700;font-size:14.5px}
.t-mode[aria-selected="true"]{background:var(--gold);color:var(--navy)}
.lesson-meta{display:flex;flex-direction:column;gap:2px;margin:12px 0 12px}
.lm-day{font-size:12px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--gold)}
.lm-title{font-family:var(--serif);font-size:20px;font-weight:600;line-height:1.2}
.lm-row{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--cream2);font-size:14px;margin-top:2px}
.link-btn{border:0;background:none;color:var(--gold);font-weight:700;font-size:14px;padding:4px 0;text-decoration:underline;text-underline-offset:3px}
.shuffle-bar{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px}
.score{background:rgba(242,196,109,.16);border:1px solid rgba(242,196,109,.45);border-radius:999px;padding:6px 12px;font-weight:800;color:var(--gold);font-size:14px}
.qcard{cursor:pointer;-webkit-tap-highlight-color:transparent}
.qcard.right{box-shadow:0 10px 40px rgba(0,0,0,.35),0 0 0 3px #3f9d5a inset}
.qcard.wrong{box-shadow:0 10px 40px rgba(0,0,0,.35),0 0 0 3px #c0573f inset}
.choice{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;background:#fff8ea;border:1px solid #ead9b1;border-radius:10px;padding:9px 10px;font-size:15.5px;line-height:1.3;color:var(--navy)}
.choice b{flex:none;width:24px;height:24px;border-radius:50%;background:var(--navy);color:var(--gold);display:grid;place-items:center;font-size:13px}
.choice.is-right{background:#e3f3e6;border-color:#3f9d5a}
.choice.is-right b{background:#3f9d5a;color:#fff}
.choice.is-picked{background:#f8e3dc;border-color:#c0573f}
.choice.is-picked b{background:#c0573f;color:#fff}
.q-self{display:flex;gap:8px}
.self-btn{flex:1;border:1px solid #c9b48a;background:#fff8ea;color:var(--navy);border-radius:999px;padding:9px 8px;font-weight:700;font-size:14.5px}
.self-btn.yes{background:var(--navy);color:var(--gold);border-color:var(--navy)}
.print-intro{color:var(--cream2);font-size:14.5px;margin:0 0 12px}
.print-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.print-item{display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(247,239,223,.06);border:1px solid rgba(247,239,223,.16);border-radius:14px;padding:12px 14px}
.print-item div{display:flex;flex-direction:column;gap:2px;min-width:0}
.print-item b{font-family:var(--serif);font-size:18px}
.print-item span{color:var(--cream2);font-size:13px}
.print-item .pill-btn{min-width:0;flex:none;padding:9px 13px;font-size:14px}

/* printable sheet (on screen: a white page over the app; on paper: only this) */
.print-sheet{position:fixed;inset:0;z-index:100;overflow-y:auto;background:#e9e6df;-webkit-overflow-scrolling:touch}
.ps-bar{position:sticky;top:0;display:flex;justify-content:space-between;gap:10px;padding:calc(env(safe-area-inset-top,0px) + 10px) 14px 10px;background:var(--navy);z-index:1}
.ps-paper{background:#fff;color:#000;max-width:720px;margin:14px auto 40px;padding:26px 22px;font-family:var(--serif);font-size:15.5px;line-height:1.4;box-shadow:0 2px 14px rgba(0,0,0,.18)}
.ps-paper h1{font-size:26px;margin:4px 0 6px;text-align:center}
.ps-paper h2{font-size:17px;margin:18px 0 8px;padding-bottom:3px;border-bottom:1.5px solid #000;text-transform:uppercase;letter-spacing:.8px;font-family:var(--sans)}
.pp-head{text-align:center;border-bottom:2px solid #000;padding-bottom:10px}
.pp-series{font-family:var(--sans);font-weight:800;font-size:12.5px;letter-spacing:.6px;text-transform:uppercase}
.pp-week{font-weight:700;font-size:16px}
.pp-sub{font-size:13.5px}
.pp-kw dl{margin:0}
.pp-kw dt{font-weight:700;margin-top:6px}
.pp-kw dd{margin:0 0 0 14px}
.pp-qs>ol,.pp-ans>ol{padding-left:24px;margin:0}
.pp-qs>ol>li{margin:0 0 14px;break-inside:avoid;page-break-inside:avoid}
.pp-qs p{margin:2px 0 4px}
.pp-round{font-family:var(--sans);font-size:11.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#444}
.pp-choices{margin:2px 0 0;padding-left:22px}
.pp-ans{margin-top:30px;padding-top:16px;border-top:2px dashed #000;break-before:page;page-break-before:always}
.pp-ans>ol>li{margin:0 0 8px}
.pp-ded{text-align:center;font-style:italic;font-size:13.5px;margin:18px 0 0}
.pp-rav{text-align:center;font-weight:700;margin:16px 0 0}
@media print{
  @page{margin:14mm}
  html,body{height:auto!important;overflow:visible!important;background:#fff!important;color:#000!important}
  body.printing>*:not(#printSheet){display:none!important}
  .no-print{display:none!important}
  .print-sheet{position:static!important;overflow:visible!important;background:#fff!important}
  .ps-paper{box-shadow:none!important;margin:0!important;max-width:none!important;padding:0!important;font-size:12pt}
  .pp-ans{border-top:0;margin-top:0;padding-top:0}
}
