
:root{color-scheme:dark;--bg:#101c2c;--panel:#192b40;--line:#34475c;--muted:#aebdd0;--gold:#ffd37b;--mint:#7fe0ca}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f7f8fc;font:16px system-ui,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:10px;padding:11px 17px;background:#243b55;color:inherit;font-weight:650}button:hover{background:#345474}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{opacity:.35;cursor:default}.primary{background:var(--gold);color:#182438;border-color:var(--gold)}.primary:hover{background:#ffe2a8}.subtle{background:transparent}.danger{color:#ffb5b5}input,select,textarea{background:#101c2c;border:1px solid #54667c;color:white;border-radius:8px;padding:10px;max-width:100%}label{display:grid;gap:7px;color:var(--muted);font-size:14px}header,main,footer{max-width:1500px;margin:auto;padding:24px 36px}header{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line)}.brand{font-size:27px;font-weight:850;letter-spacing:-1px}.brand span{color:var(--gold)}.eyebrow{color:var(--mint);font-size:12px;letter-spacing:2px;font-weight:750;text-transform:uppercase}.tools,.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}h1{font-size:clamp(28px,3vw,42px);margin:7px 0 10px;letter-spacing:-1px}h2{margin:0 0 14px;font-size:27px}h3{margin:18px 0 8px}p{line-height:1.55}.muted{color:var(--muted)}.intro{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:23px}.intro p{margin:0}.badge{border:1px solid var(--line);border-radius:30px;padding:9px 14px;color:var(--mint);white-space:nowrap}.board{display:grid;gap:12px;grid-template-columns:repeat(var(--cols,6),minmax(0,1fr))}.column{display:grid;gap:12px;grid-template-rows:64px repeat(5,clamp(67px,8vh,104px))}.cat{display:grid;place-items:center;text-align:center;font-size:14px;letter-spacing:.8px;text-transform:uppercase;color:#d9e5f6;padding:6px;overflow-wrap:anywhere}.tile{background:linear-gradient(135deg,#284d73,#213e5c);font-size:clamp(25px,3.2vw,46px);color:var(--gold);border-color:#3d5e80;box-shadow:0 4px 0 #0a1522}.tile:hover{transform:translateY(-2px)}.tile.used{font-size:22px;background:#142336;box-shadow:none}.scores{display:flex;gap:12px;margin-top:25px;flex-wrap:wrap}.team{flex:1;min-width:150px;background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--mint);padding:14px 18px;border-radius:12px;overflow-wrap:anywhere}.team strong{font-size:30px;display:block;color:var(--gold)}footer{color:var(--muted);font-size:13px;padding-top:10px}.status{min-height:24px;color:var(--mint);margin:15px 0 0}.overlay{border:1px solid #50657e;border-radius:18px;background:#192b40;color:white;padding:28px;width:min(1000px,94vw);max-height:92vh;overflow:auto;box-shadow:0 30px 100px #0009}.overlay::backdrop{background:#060e1aeb}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}.clue{text-align:center;padding:14px 0 25px}.prompt{font-size:clamp(38px,6vw,78px);font-weight:800;margin:15px 0;overflow-wrap:anywhere}.answer{border:1px solid #507b76;border-radius:14px;background:#173d40;padding:20px;margin:18px 0;font-size:32px;color:var(--mint)}.answer small{display:block;font-size:17px;margin-top:8px;color:#c2dbd7}.clock{font-size:25px;color:var(--gold);font-variant-numeric:tabular-nums}.judges{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.judge{border:1px solid var(--line);padding:12px;border-radius:10px;flex:1;min-width:190px}.judge b{display:block;margin-bottom:10px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.full{grid-column:1/-1}.checks{display:flex;flex-wrap:wrap;gap:12px}.checks label{display:flex;align-items:center;background:#23384f;border-radius:8px;padding:9px}table{width:100%;border-collapse:collapse;font-size:14px}td,th{padding:10px;text-align:left;border-bottom:1px solid var(--line);overflow-wrap:anywhere}th{color:var(--muted)}.table-wrap{overflow:auto;max-height:320px;margin:16px 0}details{margin:18px 0;border:1px solid var(--line);border-radius:10px;padding:14px}summary{cursor:pointer;font-weight:700}textarea{width:100%;min-height:110px}#wordNotice{color:var(--mint)}[hidden]{display:none!important}@media(max-width:800px){header,main,footer{padding:18px}.board{gap:7px;overflow-x:auto;grid-template-columns:repeat(var(--cols),minmax(115px,1fr));padding-bottom:8px}.column{gap:7px}header,.intro{align-items:flex-start;flex-direction:column}.tools button{font-size:13px;padding:9px}.grid{grid-template-columns:1fr}.overlay{padding:18px}.full{grid-column:auto}}

.shell{max-width:1200px;margin:auto;padding:28px}.hero{padding:35px 0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px;margin:20px 0}.join-code{font-size:clamp(50px,9vw,95px);font-weight:850;color:var(--gold);letter-spacing:8px;margin:8px 0}.join-link{color:var(--mint);overflow-wrap:anywhere}.roster{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.student{padding:8px 12px;border:1px solid var(--line);border-radius:30px;display:flex;gap:10px;align-items:center}.student button{padding:2px 8px}.error{color:#ffb5b5;min-height:24px}.team:nth-child(3n+2){border-top-color:#c0a3ff}.team:nth-child(3n+3){border-top-color:var(--gold)}#answerInput{font-size:24px;width:100%;margin:15px 0}.answer-card{padding:10px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.selected{outline:3px solid var(--mint)}.host-actions{margin:20px 0}.connection{font-size:13px;color:var(--muted)}a{color:var(--mint)}.live-board .column{grid-template-rows:64px repeat(5,70px)}#joinForm{max-width:430px;display:grid;gap:18px}.question-panel{text-align:center}.question-panel .prompt{font-size:clamp(35px,5vw,65px)}.join-info{padding:14px 0}.student .muted{font-size:13px}@media(max-width:600px){.shell{padding:15px}.panel{padding:18px}.join-code{letter-spacing:4px}.scores{gap:8px}.team{min-width:125px}}
