:root{color-scheme:dark;--theme-hue:270;--ink:#f7f5ec;--muted:#b6c0bf;--line:#394645;--accent:hsl(var(--theme-hue) 62% 80%);font:16px/1.45 system-ui,sans-serif;color:var(--ink);background:#101918}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 75% 0%,#20312e,transparent 65%);min-height:100vh}header,main{width:min(1200px,94%);margin:auto}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);min-height:70px;gap:10px}a{color:inherit;text-decoration:none}.brand,nav,.tools,.intro{display:flex;align-items:center;gap:12px}.brand img{width:58px}.brand b{font-size:1.1rem;letter-spacing:-.04em}nav{gap:4px}nav a,button,select,.play{font:inherit;font-size:.88rem;font-weight:650;border-radius:9px}nav a,nav button{padding:8px 13px;color:var(--muted);background:none;border:0}nav a[aria-current]{background:#34423e;color:white}button,select{background:#273734;border:1px solid #55645e;color:var(--ink);padding:9px 13px}button,.play{cursor:pointer}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}main{padding:clamp(15px,3.5vh,40px) 0 24px}.intro{justify-content:space-between;margin-bottom:clamp(12px,2.4vh,26px)}h1,h2,p{margin:0}h1,h2{letter-spacing:-.055em;line-height:1.02;text-wrap:balance}h1{font-size:clamp(2rem,4.6vw,4.1rem)}.kicker{font-size:.71rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#c4dfce;margin-bottom:.5em}.textlink{font-weight:650;color:var(--accent);text-decoration:underline;text-underline-offset:4px}.feature{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;border-radius:20px;border:1px solid #59897b;background:radial-gradient(ellipse at 76% 60%,#287f73,#164b4b 47%,#0c3237 77%);padding:clamp(18px,3vw,44px);min-height:clamp(215px,34vh,370px)}.featurecopy{width:40%;z-index:1}.feature h2{font-size:clamp(2.3rem,4.8vw,4.6rem);line-height:.94;font-weight:850;color:#fff6d9}.feature p:not(.kicker){color:#d5e8df;max-width:32ch;margin:12px 0 18px}.play,.primary{display:inline-flex;gap:20px;align-items:center;border:0;color:#182723;background:#ffdc89;padding:10px 17px}.boardart{position:absolute;width:62%;height:105%;right:0;top:-1%;filter:drop-shadow(0 14px 10px #05292c)}.games{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:15px}.game{position:relative;overflow:hidden;padding:17px 21px 21px;border-radius:16px;border:1px solid #526781;display:flex;flex-direction:column;justify-content:flex-end;gap:12px;min-height:160px;transition:transform .16s}.game:hover,.feature:hover{filter:brightness(1.09)}.game:hover{transform:translateY(-2px)}.game h2,.panel h2{font-size:clamp(1.3rem,2.4vw,2.2rem)}.game p{font-size:.87rem;color:#e1e6e2;margin-top:5px}.game>span{position:absolute;right:16px;top:12px;font-size:1.2rem}.clue{background:linear-gradient(130deg,#284788,#192b56)}.bolt{background:linear-gradient(130deg,#67471d,#3d2d1c);border-color:#846538}.squad{background:linear-gradient(130deg,#573653,#372737);border-color:#775576}.mini{width:96px;height:46px;transform:rotate(-6deg);margin:0 0 2px}.mini i{font-style:normal}.gridart{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.gridart i,.scoreart i{display:grid;place-items:center;background:#1b3972;color:#ffdf88;border:1px solid #59739f;font-size:11px;font-weight:850}.stairart{display:flex;align-items:end;gap:3px}.stairart i{height:22%;width:20%;background:#ffca65;box-shadow:inset -4px -3px #ab772d}.stairart i:nth-child(2){height:46%}.stairart i:nth-child(3){height:72%}.stairart i:nth-child(4){height:100%}.scoreart{display:flex;gap:4px}.scoreart i{width:45%;font-size:23px;border-radius:5px;border-color:#b27b99;background:linear-gradient(#603e57 47%,#251f2d 49%,#51334a 54%);color:#f9dfde}.panel{background:#192523;border:1px solid var(--line);border-radius:18px;padding:clamp(16px,3vw,32px)}.tools{flex-wrap:wrap;align-items:end}.tools label,label{display:grid;gap:5px;color:#c4cec9;font-size:.79rem;font-weight:650}select{max-width:100%;min-width:0}.panel>h2{margin-bottom:18px}.panel p{color:var(--muted)}#card{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}#card h2{max-width:45ch;font-size:clamp(1.3rem,3vw,2.2rem);line-height:1.2;margin:.45em 0}#card .kicker{color:#abd5bf}.answer{background:#233c32;padding:12px;border-left:3px solid #a6daba;margin:12px 0}.choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.choices button{text-align:left}.choices .right{background:#285943}.choices .wrong{background:#713a3d}.resourcegrid{display:grid;grid-template-columns:1.15fr 1fr;gap:16px}.resourcegrid>*{min-width:0}.screen{aspect-ratio:16/9;display:grid;place-items:center;margin:16px 0;background:repeating-radial-gradient(circle at 15% 100%,#1c4441 0 5px,#21514c 6px 8px,#173e3d 9px 16px);border-radius:12px;overflow:hidden}.screen iframe{width:100%;height:100%;border:0}.pdflist{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:16px}.pdflist a{font-size:.83rem;padding:9px;border:1px solid #435951;border-radius:7px}.pdflist a:hover{background:#30473c}.themeSwatches,.themeActions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}dialog{background:#1e302c;color:var(--ink);border:1px solid var(--line);border-radius:16px;max-width:min(94vw,420px)}dialog::backdrop{background:#0009}
@media(max-width:680px){header{min-height:54px}.brand img{width:38px}.brand b{font-size:.88rem}.brand{gap:5px}nav a,nav button{font-size:.75rem;padding:8px 6px}.featurecopy{width:52%}.boardart{width:56%;right:-6%}.feature p:not(.kicker){font-size:.84rem}.games{grid-template-columns:1fr;gap:7px}.game{flex-direction:row;align-items:center;justify-content:flex-start;min-height:68px;padding:10px 32px 10px 14px;gap:14px}.game>span{top:50%;transform:translateY(-50%)}.mini{width:70px;height:36px;flex-shrink:0}.game p{font-size:.78rem}.resourcegrid{grid-template-columns:1fr}.tools{gap:8px}.tools label{max-width:100%}.intro .textlink{font-size:.8rem}.choices{grid-template-columns:1fr}nav{gap:0}}
@media(max-width:370px){.brand b{max-width:53px;line-height:1}.featurecopy{width:63%}.boardart{right:-12%}}
@media(orientation:landscape) and (max-height:510px){header{min-height:39px}.brand img{width:36px}main{padding:6px 0}.intro{margin-bottom:6px}.intro h1{font-size:1.6rem}.intro .kicker{display:none}.feature{min-height:0;height:clamp(115px,38dvh,175px);padding:10px 18px}.feature h2{font-size:1.8rem}.feature h2 br{display:none}.feature h2 br:after{content:' '}.featurecopy{width:50%}.featurecopy .kicker{display:none}.feature p:not(.kicker){font-size:.78rem;margin:4px 0 6px;max-width:55ch}.play{padding:5px 12px}.games{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px}.game{min-height:61px;padding:8px 12px;gap:4px}.mini{display:none}.game h2{font-size:1.04rem}.game p{font-size:.71rem}.game>span{display:none}}

header{flex-wrap:wrap}
header nav{flex-wrap:wrap}
@media(max-width:1000px){header{gap:3px;padding:4px 0}header nav{justify-content:center}header nav a,header nav button{padding:6px 8px}}
@media(max-width:680px){header{justify-content:center}.brand img{width:28px}header nav{width:100%}}
.room-footer{width:min(1200px,94%);margin:0 auto;padding:12px 0;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted);text-align:center}
#setup{display:grid;gap:14px}#setup h1{font-size:clamp(2rem,4vw,3rem)}#setup h2{font-size:1.2rem}#setup button{justify-self:start}#sets{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:8px}#sets fieldset{min-width:0;border:1px solid var(--line);border-radius:9px;padding:6px 10px}#sets label{display:inline-flex;align-items:center;padding:4px;gap:3px}#sets input{accent-color:var(--accent)}#count{color:var(--muted)}
#solo [hidden]{display:none}.test-card{background:linear-gradient(150deg,#1b306a,#0c1634 90%);border:1px solid #43567f;border-radius:18px;padding:clamp(15px,3vw,42px);color:#fff;display:grid;gap:clamp(12px,3vh,30px)}.test-head{display:flex;align-items:center;gap:12px}.test-head img{width:clamp(46px,8vw,100px)}.test-head h2{font-size:clamp(1.4rem,3vw,2.8rem)}.test-clock{margin-left:auto;border:3px solid #90c3ff;border-radius:50%;width:3em;height:3em;display:grid;place-items:center;font-weight:750;font-variant-numeric:tabular-nums}.test-clock.urgent{border-color:#ff9393;color:#ffb0b0}.test-card .prompt{font-size:clamp(1.22rem,2.6vw,2.5rem);line-height:1.28;letter-spacing:-.02em}.test-card progress{width:100%;height:6px;accent-color:#97c3ff}.test-card .tools{flex-wrap:wrap}.test-card .answer{color:#c1f2e3}.test-card .score{font-weight:700;color:#d0e3ff}.test-card h1{font-size:clamp(2rem,5vw,4rem)}
body.testing{overflow:hidden}
body.testing>header,body.testing>.room-footer{display:none}
body.testing #card{--slide-tone:color-mix(in srgb,#203d73 36%,hsl(var(--theme-hue) 48% 27%));position:fixed;inset:0;z-index:20;width:100%;height:100dvh;overflow:auto;overscroll-behavior:contain;margin:0;border:0;border-radius:0;padding:clamp(12px,4vmin,52px) max(4vw,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(4vw,env(safe-area-inset-left));background:linear-gradient(150deg,var(--slide-tone),hsl(var(--theme-hue) 32% 9%));align-content:center;gap:clamp(8px,2.4vmin,24px)}
body.testing #card[data-program="ABE"]{--slide-tone:color-mix(in srgb,#990033 78%,hsl(var(--theme-hue) 48% 27%));background:linear-gradient(155deg,var(--slide-tone),#370d20)}
#card .test-clock{border-color:var(--accent)}#card .test-clock.urgent{border-color:#ff9393}
#card .score{color:#f3edf7}#card progress{accent-color:var(--accent)}
#card .exit-test{font-size:.8rem;background:#0003;color:white;border:1px solid #fff6}
#card .prompt{max-width:65ch}#card .choices button{min-height:42px}
#card>button{justify-self:start}
@media(max-height:520px){body.testing #card{align-content:safe center;padding-block:8px;gap:5px}#card .test-head img{height:42px;width:auto}#card .test-head h2{margin:0}.test-card .choices{margin:0}.test-card .test-clock{width:2.5em;height:2.5em}}
@media(max-width:600px){body.testing #card{align-content:safe center}.test-head{gap:7px}#card .test-head h2{margin:0}#card .choices{margin:0}}
/* The question, reveal and marking states share one presentation master. */
body.testing #card {
  --deck-base:#142d5a;
  --deck-dark:#091529;
  --deck-gold:#f2c56c;
  --deck-light:color-mix(in srgb,var(--deck-base) 75%,hsl(var(--theme-hue) 57% 44%));
  background:
    linear-gradient(130deg,transparent 0 84%,#ffffff06 84% 86%,transparent 86% 87%,#ffffff05 87%),
    radial-gradient(ellipse at 15% 0%,var(--deck-light),transparent 75%),var(--deck-dark);
  padding:clamp(14px,4vmin,56px) max(5vw,env(safe-area-inset-right)) max(14px,3vh,env(safe-area-inset-bottom)) max(5vw,env(safe-area-inset-left));
  grid-template-columns:minmax(0,1fr);
}
body.testing #card[data-program="ABE"] {
  --deck-base:#990033;
  --deck-dark:#310c1c;
  background:linear-gradient(130deg,transparent 83%,#ffffff06 83% 87%,transparent 87%),radial-gradient(ellipse at top left,var(--deck-light),transparent 80%),var(--deck-dark);
}
body.testing #card[data-state="question"] {
  grid-template-rows:auto 3px minmax(0,1fr) auto;
  align-content:stretch;
  gap:clamp(6px,1.5vh,18px);
  overflow:hidden;
}
.test-head{gap:clamp(12px,1.8vw,32px)}
#card .test-head img{width:clamp(55px,9vw,150px);height:clamp(40px,10vh,102px);object-fit:contain}
#card .test-head h2{font-size:clamp(1.5rem,4.1vmin,4rem);margin:0;letter-spacing:-.045em}
#card .test-head p{color:var(--deck-gold);font-size:clamp(.8rem,1.7vmin,1.3rem)}
#card progress{appearance:none;border:0;height:3px;background:#ffffff30}
#card progress::-webkit-progress-bar{background:#ffffff30}
#card progress::-webkit-progress-value{background:var(--deck-gold)}
#card progress::-moz-progress-bar{background:var(--deck-gold)}
.slide-body{min-height:0;overflow:auto;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(8px,2vh,25px);padding-block:8px}
.slide-body>:first-child{margin-top:auto}
.slide-body>:last-child{margin-bottom:auto}
#card .slide-citation{color:var(--deck-gold);font-weight:700;letter-spacing:.08em;font-size:clamp(.95rem,2vmin,1.6rem)}
#card .prompt{font-family:system-ui,sans-serif;font-weight:550;font-size:clamp(1.65rem,min(4.4vw,6.6vh),5.4rem);line-height:1.13;letter-spacing:-.025em;text-wrap:pretty;max-width:34ch}
#card .slide-body .answer{padding:.35em .8em;border-left:3px solid var(--deck-gold);color:#ffe9b5;font-size:clamp(1.1rem,3vmin,2.1rem);max-width:60ch}
#card .choices{align-self:stretch;margin-block:0;max-width:64rem}
.slide-footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;border-top:1px solid #ffffff38;padding-top:clamp(7px,1.6vh,22px)}
.slide-footer .exit-test{justify-self:end}
.slide-footer .score{font-variant-numeric:tabular-nums;font-size:clamp(.78rem,1.7vmin,1.15rem)}
.slide-actions .tools{justify-content:center}
@media(max-width:520px){.slide-footer{grid-template-columns:1fr auto}.slide-actions{grid-column:1/-1;grid-row:1;justify-self:center}.slide-actions:empty{display:none}#card .choices{grid-template-columns:1fr}.slide-body{gap:10px}}
@media(max-height:480px) and (orientation:landscape){#card .test-head img{height:34px;width:56px}#card .test-head h2{font-size:1.15rem}.slide-body{gap:4px;padding:0}#card .choices button{min-height:32px;padding:4px 10px}#card .choices{grid-template-columns:1fr 1fr}.slide-footer{padding-top:4px}}
#card .test-head{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);text-align:center}
#card .test-head h2{font-size:clamp(1.75rem,5.7vmin,5.4rem);line-height:1.06}
#card .test-clock{
  justify-self:end;
  width:clamp(48px,11vmin,144px);
  height:auto;
  aspect-ratio:1;
  font-size:clamp(25px,5.5vmin,72px);
  line-height:1;
  border-width:clamp(3px,.48vmin,6px);
}
#card .slide-body{align-items:center;text-align:center}
#card .prompt{font-size:clamp(1.65rem,min(4.2vw,6.9vh),5.25rem);max-width:38ch;line-height:1.19;text-wrap:balance}
#card .slide-body .answer{font-family:inherit;font-size:clamp(1.55rem,4.8vmin,4.2rem);line-height:1.18;max-width:42ch;border:0;padding:.3em 0 0}
#card .slide-body .answer::before{content:"";display:block;width:2em;height:2px;margin:0 auto .35em;background:var(--deck-gold)}
#card .choices{width:100%;align-self:center}
#card .choices button{text-align:center;font-size:clamp(1rem,2.6vmin,2rem)}
#card kbd{font:500 .72em system-ui;margin-left:.55em;padding:.12em .36em;border:1px solid currentColor;border-radius:.3em}
@media(hover:none){#card kbd{display:none}}
@media(max-height:480px) and (orientation:landscape){#card .test-head h2{font-size:1.5rem}#card .prompt{font-size:clamp(1.55rem,7.5vh,2.3rem)}}
#card .test-head img{width:clamp(74px,13vw,212px);height:clamp(55px,14vh,145px);max-width:100%;object-position:left center}
.slide-status{justify-self:end;display:grid;justify-items:end;gap:4px}
#card .slide-status .score{margin:0;font-size:clamp(.7rem,1.45vmin,1rem);line-height:1.2;text-align:right}
#card .test-clock.urgent{background:#a61f39;border-color:#ff8994;color:white}
#card .slide-body{isolation:isolate;position:relative;justify-content:safe center}
#card .slide-body::before{content:"";position:absolute;inset:4% 8%;z-index:-1;pointer-events:none;background:url(logo.png) center/contain no-repeat;opacity:.055}
#card[data-program="ABE"] .slide-body::before{background-image:url(abe-slide-logo.png)}
#card .slide-body>:first-child,#card .slide-body>:last-child{margin-block:0}
#card .choices{width:min(100%,60rem);gap:clamp(5px,1.1vmin,14px)}
#card .choices button{background:color-mix(in srgb,var(--deck-base) 62%,var(--deck-dark));border:1px solid #ffffff52;color:white;border-radius:10px;line-height:1.2;padding:.6em .8em}
#card .choices button:hover:enabled,#card .choices button:focus-visible{border-color:var(--deck-gold)}
#card .choices button:disabled{opacity:.8}
#card .choices button.right{border:2px solid var(--deck-gold);color:#ffedbf;opacity:1}
#card .choices button.wrong{text-decoration:line-through;border-style:dashed}
#card .slide-actions{grid-column:2}
#card .slide-footer .exit-test{grid-column:3}
@media(max-width:520px){#card .slide-footer{grid-template-columns:minmax(0,1fr) auto}#card .slide-actions{grid-column:1;justify-self:start}#card .slide-footer .exit-test{grid-column:2}}
@media(max-height:480px) and (orientation:landscape){#card .test-head img{height:48px;width:88px}.slide-status{gap:1px}#card .choices button{padding:.28em .6em}}
#card .slide-body .answer{background:transparent}
#card .slide-actions button:not(.primary){background:color-mix(in srgb,var(--deck-base) 62%,var(--deck-dark));border-color:#ffffff52}
#card .prompt-source {
  display:block;
  padding-bottom:clamp(5px,1vh,12px);
  color:var(--deck-gold);
  font-size:.7em;
  font-weight:650;
  line-height:1.2;
}
.solo-exit-dialog{color:white;background:var(--deck-dark);border:1px solid var(--deck-gold);border-radius:14px;width:min(30rem,92vw);padding:clamp(16px,3vw,32px)}
.solo-exit-dialog::backdrop{background:#060714bd}
#card .solo-exit-dialog h2{margin:0;font-size:1.5rem}
.solo-exit-dialog p{margin:12px 0 20px}
.solo-exit-dialog .tools{display:flex;flex-wrap:wrap;gap:8px}
