@font-face{font-family:Plex;src:url('assets/fonts/ibm-plex-sans-condensed-400.woff2')}@font-face{font-family:Plex;src:url('assets/fonts/ibm-plex-sans-condensed-600.woff2');font-weight:600}@font-face{font-family:Serif;src:url('assets/fonts/source-serif-4-400.woff2')}@font-face{font-family:Mono;src:url('assets/fonts/ibm-plex-mono-500.woff2');font-weight:500}
:root{font:18px/1.45 Plex,Arial,sans-serif;color:#171819;--red:#b52d27;--blue:#275d7c;--rule:#ccd0d3;--soft:#f3f4f5;--muted:#555d64;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{min-height:44px;border:1px solid var(--rule);background:#fff;padding:.55rem .95rem;cursor:pointer;font-weight:600}button:hover{background:#e9edf0}button:disabled{opacity:.45;cursor:default}input,select,textarea{background:white;border:1px solid var(--rule);padding:.6rem .75rem;min-height:44px;width:100%;border-radius:0}textarea{resize:vertical}select{appearance:none;padding-right:2.8rem;background:white url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='m1 1 6 6 6-6' fill='none' stroke='%23171819' stroke-width='2'/%3E%3C/svg%3E") right 16px center/14px no-repeat}label{display:block;font-weight:600}label input,label textarea,label select{display:block;margin-top:.35rem;font-weight:400}label+label{margin-top:1rem}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #217bb1;outline-offset:3px}.primary{background:var(--red);border-color:var(--red);color:white}.primary:hover{background:#92241f}.dark{background:#202326;color:#fff;border-color:#202326}.dark:hover{background:#444}.eyebrow{font:500 .68rem/1.5 Mono,monospace;letter-spacing:.1em;color:var(--muted)}h1,h2,h3{font-family:Serif,Georgia,serif;font-weight:400;line-height:1.15}h1{font-size:clamp(2.2rem,4vw,3.3rem);margin:.5rem 0}h2{font-size:1.7rem;margin:0 0 1rem}h3{font-size:1.3rem}p{margin:.7rem 0}header{max-width:1440px;margin:auto;padding:1rem 2.5rem;display:flex;justify-content:space-between;border-bottom:1px solid var(--rule);align-items:center}header a{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:inherit;font-family:Serif}main{max-width:1440px;margin:auto;padding:2rem 2.5rem}.intro{margin-bottom:1.8rem}.intro>p:last-child{color:var(--muted);font-size:1.2rem}.sample-bar{display:flex;align-items:end;gap:.8rem;background:var(--soft);padding:1.2rem}.sample-bar label{width:260px}.sample-bar p{margin:auto 0 auto 1rem;color:var(--muted);max-width:42ch}.setup-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:2.5rem;margin:2rem 0}.setup-grid>section+section{border-left:1px solid var(--rule);padding-left:2.5rem}.hint,.muted{color:var(--muted);font-size:.93rem;font-weight:400}.actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}textarea+.actions{margin-top:.8rem}details{border-top:1px solid var(--rule);padding-top:.8rem;margin-top:1.2rem}summary{cursor:pointer;font-weight:600}details p{font-size:.94rem}details label{margin-top:1rem}.review-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:3px solid #202326;padding-top:1.4rem;margin-top:1rem}.review-head h2{margin-bottom:.4rem}#count{color:var(--muted);font-family:Plex;font-size:1rem}#editor{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.8rem;margin:1.2rem 0}.category{min-width:0;background:var(--soft);padding:.8rem;border-top:4px solid var(--blue)}.category h3{font-family:Plex;font-weight:600;margin:0 0 .6rem;overflow-wrap:anywhere}.edit-tile{display:flex;gap:.6rem;text-align:left;width:100%;margin:.4rem 0;align-items:baseline}.edit-tile b{color:var(--blue);font-size:.85rem;min-width:30px}.edit-tile span{font-weight:400;overflow-wrap:anywhere}.empty{padding:2rem;border:1px dashed var(--rule);text-align:center;grid-column:1/-1;color:var(--muted)}.start-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;border-top:1px solid var(--rule)}.start-bar .primary{font-size:1.2rem;padding:.7rem 1.6rem}.files{border-top:1px solid var(--rule);padding-top:1.5rem;margin-top:1.6rem}footer{margin-top:1.6rem;color:var(--muted);font-size:.85rem}#notice:not(:empty){padding:1rem;background:#edf3f6;border-left:4px solid var(--blue);margin-bottom:1rem}#notice.error,.error{color:#92241f}.error:empty{display:none}#game{background:var(--soft);border:1px solid var(--rule);padding:1.4rem}.game-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1rem}.game-head h2{margin:0;overflow-wrap:anywhere}#scoreboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.65rem;margin:1.2rem 0}.score-card{background:white;border:1px solid var(--rule);border-top:5px solid var(--team);padding:.7rem;text-align:center;min-width:0}.score-card h3{font:600 1.1rem Plex;margin:0;overflow-wrap:anywhere}.score-card strong{display:block;font:600 2.4rem/1.2 Plex;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}#board{display:grid;grid-template-columns:repeat(var(--cols),minmax(145px,1fr));gap:.65rem;overflow-x:auto;padding-bottom:.6rem}.board-col{display:flex;flex-direction:column;gap:.6rem;min-width:0}.board-col h3{font:600 1.15rem Plex;margin:0;text-align:center;min-height:3rem;display:grid;place-items:center;overflow-wrap:anywhere;border-bottom:2px solid #171819;padding:.4rem}.tile{background:var(--blue);color:white;border:0;min-height:90px;font:600 2rem Plex}.tile:hover{background:#19435c}.tile.used{background:#e2e6e9;color:#525a60;font-size:1.1rem}.tile small{display:block;font:400 .8rem Plex}.game-foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem}.game-foot p{color:var(--muted)}#result{border-left:5px solid var(--red);background:white;padding:1rem;margin:1rem 0;font:400 1.6rem Serif;overflow-wrap:anywhere}dialog{border:1px solid var(--rule);padding:1.5rem;width:min(640px,94vw);max-height:90dvh;overflow:auto;color:#171819}dialog::backdrop{background:#17181999}.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:1rem}.dialog-head button{font-size:1.4rem;padding:.15rem .75rem}.dialog-head h2{margin-top:.4rem}dialog label{margin-top:.7rem}dialog .actions{margin-top:1.2rem}#question-dialog{width:min(1000px,95vw);padding:2rem}#question-title{font:600 clamp(1.6rem,3.4vw,2.5rem)/1.3 Plex;margin:1rem 0 1.5rem;overflow-wrap:anywhere;white-space:pre-wrap}#answer{font-size:clamp(1.5rem,3vw,2.2rem);margin:.4rem 0 1.4rem;overflow-wrap:anywhere;white-space:pre-wrap}#answer-area{border-top:1px solid var(--rule);padding-top:1rem}fieldset{border:0;padding:0;margin:0}legend{font-size:.95rem;color:var(--muted);margin-bottom:.6rem}.award-buttons{display:flex;gap:.6rem;flex-wrap:wrap}#award button,#deduct button{margin:0 .5rem .5rem 0;max-width:100%;overflow-wrap:anywhere}#award button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:white}#deduct button[aria-pressed=true]{background:var(--red);color:white}.question-foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid var(--rule);padding-top:1rem;margin-top:1.4rem}.timer-bar{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;flex-wrap:wrap}#time{font:600 1.6rem Mono;min-width:80px}body.large{overflow:hidden}body.large #game{position:fixed;inset:0;z-index:10;overflow:auto;margin:0;padding:1.2rem 2rem;border:0}body.large #board .tile{min-height:clamp(70px,12vh,140px)}#print-sheet{display:none}.skip{position:absolute;left:-10000px}.skip:focus{left:10px;top:10px;background:white;z-index:50;padding:1rem}
@media(max-width:700px){header,main{padding:1rem}.intro h1{font-size:2.2rem}.setup-grid{grid-template-columns:1fr;gap:1.5rem}.setup-grid>section+section{border-left:0;border-top:1px solid var(--rule);padding:1.5rem 0 0}.sample-bar{flex-wrap:wrap}.sample-bar label{flex:1;min-width:180px}.sample-bar p{margin:0;width:100%}.review-head,.game-head,.game-foot{align-items:start;flex-direction:column}#game{padding:.8rem}#board{grid-template-columns:repeat(var(--cols),minmax(130px,1fr))}.tile{min-height:75px}#question-dialog{padding:1rem}.question-foot{align-items:start;flex-direction:column}.start-bar{align-items:start;flex-direction:column}.start-bar button{width:100%}body.large #game{padding:1rem}header .eyebrow{font-size:.55rem}#editor{grid-template-columns:1fr}}
@media print{body>*{display:none!important}#print-sheet{display:block!important;font:12pt/1.5 Arial;color:black}#print-sheet h1{font:24pt Georgia}#print-sheet article{break-inside:avoid;border-bottom:1px solid #ccc;margin:0 0 12pt;padding-bottom:8pt}#print-sheet p{white-space:pre-wrap} @page{margin:18mm}}
/* Keep the full sample board and host controls together on a classroom screen. */
@media(min-width:701px){body.large #game{display:flex;flex-direction:column;gap:.6rem}body.large .game-head{margin:0;flex-shrink:0}body.large .game-head .eyebrow{margin:0 0 .2rem}body.large #scoreboard{margin:0;flex-shrink:0}body.large .score-card{padding:.35rem .7rem}body.large .score-card strong{font-size:2rem}body.large #board{flex:1;min-height:0;padding-bottom:0}body.large .board-col h3{min-height:2.5rem;flex-shrink:0}body.large #board .tile{min-height:48px;flex:1}body.large .game-foot{margin:0;flex-shrink:0}body.large .game-foot p{margin:0}body.large #result{margin:0;padding:.6rem;font-size:1.4rem;flex-shrink:0}}
/* Question cards: strong invitation to play, a clear recorded state afterward. */
#board{gap:.85rem;padding:3px 3px .5rem}.board-col{gap:.65rem}.board-col h3{border-bottom:0;text-align:left;justify-items:start;padding:.25rem .15rem .6rem;font-size:1.05rem}
.tile{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 32px;grid-template-rows:auto auto;align-content:center;align-items:center;column-gap:.5rem;text-align:left;padding:.6rem 1rem;background:#275d7c;color:#fff;border:1px solid #204d68;border-radius:6px;box-shadow:0 3px 0 #193d53;transition:background .16s,box-shadow .16s,transform .16s;min-height:90px}
.tile-value{font:600 clamp(1.8rem,3vw,2.4rem)/1 Plex;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.tile-caption{grid-column:1;font:500 .57rem/1.3 Mono,monospace;letter-spacing:.09em;text-transform:uppercase;margin-top:.3rem;color:#e2edf4}.tile-symbol{grid-column:2;grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border:1px solid #ffffff59;border-radius:50%;color:#fff}.tile-symbol svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tile:hover:not(:disabled){background:#204d68;box-shadow:0 4px 0 #193d53;transform:translateY(-1px)}.tile:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #193d53}
.tile.used{background:#fff;color:#35434d;border:1px solid #b9c7d0;box-shadow:0 1px 0 #d5dde2}.tile.used .tile-value{color:#4f606c}.tile.used .tile-caption{font-family:Plex;font-size:.72rem;text-transform:none;letter-spacing:0;color:#53636f}.tile.used .tile-symbol{background:#edf2f5;border-color:#d4dfe6;color:#275d7c}.tile.used:hover:not(:disabled){background:#f7fafc;border-color:#275d7c;box-shadow:0 2px 0 #c5d4dd}.tile.used:active:not(:disabled){box-shadow:none}.tile:disabled{opacity:.8;box-shadow:none}
@media(min-width:701px){body.large #board{padding:2px 3px 5px}body.large #board .tile{min-height:65px;padding:.4rem 1rem}body.large .tile-value{font-size:clamp(1.7rem,4.5vh,2.6rem)}body.large .board-col h3{min-height:2.2rem}}
@media(max-width:700px){.tile{padding:.6rem .65rem;grid-template-columns:minmax(0,1fr) 25px}.tile-symbol{width:25px;height:25px}.tile-caption{letter-spacing:.04em}.tile.used .tile-caption{font-size:.65rem}}
@media(prefers-reduced-motion:reduce){.tile{transition:none}.tile:hover:not(:disabled){transform:none}}
/* Short landscape screens scroll the game instead of collapsing its board. */
@media(min-width:701px) and (max-height:550px){body.large #game{display:block;overflow:auto}body.large #scoreboard{margin:.8rem 0}body.large #board{min-height:300px;overflow-x:auto}body.large #board .tile{min-height:65px}body.large .game-foot{margin-top:1rem}}
