@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#0b1727;--panel:#122339;--line:#27384c;--ink:#ecf1f6;--muted:#8c9caf;--gold:#f3c56b;--mint:#9fd5c4}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:1px solid var(--line);color:var(--ink);background:transparent;border-radius:7px;padding:10px 15px;transition:background .18s,transform .18s}button:hover{background:#233a53}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--mint);outline-offset:4px}button:disabled{opacity:.35;cursor:default}a{color:var(--mint)}header{min-height:94px;padding:22px 4.4%;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--ink);font-weight:700;font-size:15px;letter-spacing:2px}.brand small{display:block;font-size:8px;letter-spacing:2.2px;color:var(--muted);margin-top:5px}.brand-icon{display:grid;place-items:center;font-size:27px;color:var(--gold);width:44px;height:44px;border:1px solid #756440;border-radius:50%;transform:rotate(-12deg)}.header-actions{display:flex;align-items:center;gap:23px}.live{font-size:9px;letter-spacing:1.5px;color:var(--mint)}.live i,.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--mint);margin-right:7px}.quiet{border-color:transparent;padding:8px;color:#b4c0ce;font-size:12px}.quiet span{margin-left:8px}.square{font-size:21px;padding:4px 10px;min-height:36px}main{max-width:1500px;margin:auto;padding:0 4.4%}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:44px 0 34px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:2px;color:var(--muted);margin:0 0 13px}h1{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:clamp(42px,5vw,68px);font-weight:600;letter-spacing:-.6px;margin:0;line-height:1.08}h1 em{color:var(--gold);font-style:normal}.subtitle{color:var(--muted);font-size:13px;margin-top:16px}.flight-stamp{width:110px;height:110px;border:1px solid #344659;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(10deg);color:#63788d;gap:5px;flex-shrink:0}.flight-stamp strong{font-family:'Barlow Condensed',sans-serif;font-size:36px;letter-spacing:3px}.flight-stamp span{font-size:7px;letter-spacing:1px}.game-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 20px;padding:8px 0}.round-tabs{display:flex;gap:7px}.round-tabs button{font-size:10px;letter-spacing:1px;color:var(--muted);padding:11px 16px;border-color:transparent}.round-tabs button span{font-size:12px;letter-spacing:0;margin-left:9px}.round-tabs .active{border-color:#455166;background:#1d2d41;color:var(--gold)}.board-options{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:11px}.timer-option{display:flex;align-items:center;gap:6px;cursor:pointer}input[type=checkbox]{accent-color:var(--gold)}.board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.category{background:#172a40;border:1px solid #30435a;border-radius:7px;display:flex;justify-content:center;align-items:center;text-align:center;gap:10px;min-height:65px;padding:12px;font-size:12px;letter-spacing:1.3px;text-transform:uppercase;font-weight:700}.category span{font-size:18px;color:var(--mint);font-weight:400}.clue{min-height:91px;position:relative;overflow:hidden;background:linear-gradient(110deg,#173c68,#153259);border:1px solid #2c4b71;font-size:clamp(30px,3vw,44px);font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-weight:600;color:var(--gold);letter-spacing:.3px;border-radius:6px;text-shadow:0 2px 1px #071b30;box-shadow:inset 0 1px 0 #ffffff06}.clue:after{content:'';position:absolute;width:45%;height:200%;background:#ffffff02;transform:rotate(35deg);right:-12%;top:-50%;pointer-events:none}.clue:hover:not(:disabled){background:#235083;transform:translateY(-2px);border-color:var(--gold)}.clue:disabled{opacity:1;background:#0e1d2e;border-color:#1a2b3e;color:#40556b;text-shadow:none;font-size:23px}.board-caption{display:flex;justify-content:space-between;margin:17px 0 34px;color:var(--muted);font-size:10px;letter-spacing:.5px}.board-caption>span:last-child{font-size:9px;letter-spacing:1.5px}.muted{color:#42556a;margin:0 7px}.crew-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.crew-heading .eyebrow{font-size:8px;margin-bottom:7px}h2{font-size:19px;font-weight:500;margin:0}.teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.team{border:1px solid var(--line);background:#101f31;border-radius:8px;padding:17px 20px;position:relative;border-top:2px solid var(--team-color)}.team-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.team label{font-size:8px;letter-spacing:1.5px;color:var(--team-color)}.team input{display:block;width:100%;max-width:230px;color:var(--ink);border:0;border-bottom:1px solid transparent;background:transparent;font-size:13px;padding:6px 0;margin:0}.team input:hover,.team input:focus{border-color:var(--line)}.score{font-size:34px;font-family:'Barlow Condensed',sans-serif;letter-spacing:1px;margin:7px 0 2px;font-weight:500}.team-tools{display:flex;gap:3px}.team-tools button{padding:3px 6px;color:var(--muted);font-size:10px;border:0}.negative{color:#efa69d}footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:30px;padding:22px 0;border-top:1px solid var(--line);color:#62778e;font-size:9px;letter-spacing:.6px}footer .quiet{font-size:10px}dialog{color:var(--ink);background:#10243e;border:1px solid #47617e;border-radius:14px;padding:30px;width:min(790px,calc(100% - 28px));max-height:90vh;overflow:auto;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#050d18dc;backdrop-filter:blur(8px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px}.dialog-top .eyebrow{margin:0;color:var(--gold)}#clue-heading{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:clamp(28px,4vw,40px);line-height:1.25;text-align:center;font-weight:500;margin:30px 0}#response{background:#0a1b2c;border:1px solid #2a465c;padding:22px;border-radius:8px;margin-bottom:24px}#response .eyebrow{color:var(--mint)}#answer{font-size:17px;line-height:1.7;margin:0 0 12px}#source{font-size:11px}.primary{background:var(--gold);border-color:var(--gold);color:#192538;font-weight:700;padding:13px 22px}.primary:hover{background:#ffdc99}#clue-actions{text-align:center}kbd{margin-left:15px;border:1px solid #665833;border-radius:3px;font-size:9px;padding:3px}#judge-teams{display:grid;gap:9px;margin:15px 0 20px}.judge-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#182e46;padding:10px 14px;border-radius:7px}.judge-row div{display:flex;gap:7px}.correct{border-color:#6b9b8b;color:var(--mint)}.incorrect{border-color:#995e61;color:#efa69d}.hint{font-size:11px;color:var(--muted);line-height:1.7}#clock{color:var(--gold);text-align:center;font-size:15px}progress{display:block;width:100%;height:4px;accent-color:var(--gold);margin-top:10px}#info-content{font-size:14px;line-height:1.8;color:#bac8d8}#info-content ol{padding-left:22px}#info-content li{margin:10px 0}#info-title{font-family:'Barlow Condensed',sans-serif;font-size:34px;margin-bottom:20px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--gold);color:#152239;padding:12px 22px;border-radius:8px;font-size:13px;box-shadow:0 4px 30px #0005;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10}#toast.show{opacity:1}[hidden]{display:none!important}@media(min-width:1500px){.clue{min-height:110px}}@media(max-width:800px){header{min-height:75px}.live,.flight-stamp{display:none}.header-actions{gap:8px}.intro{padding:30px 0 20px}.game-toolbar{flex-wrap:wrap}.board-options{width:100%;justify-content:space-between;gap:5px}.category{font-size:9px;letter-spacing:.4px;gap:5px;min-height:65px}.category span{display:none}.board{gap:6px}.clue{min-height:80px}.board-caption{font-size:9px;gap:12px}.board-caption>span:last-child{font-size:7px}.crew-heading h2{font-size:16px}.teams{grid-template-columns:1fr 1fr}.team{padding:12px}.score{font-size:30px}footer{flex-wrap:wrap}footer>span:last-child{display:none}dialog{padding:20px}.judge-row{flex-wrap:wrap}.judge-row button{font-size:12px;padding:9px}.subtitle{font-size:12px}.eyebrow{font-size:8px;letter-spacing:1.3px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.game-title{font-family:inherit;font-size:22px;font-weight:600;letter-spacing:0;line-height:1.3}.game-toolbar{margin-top:24px}@media(max-width:800px){.game-title{font-size:19px}.header-actions{gap:8px}}

#clock{border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin-bottom:16px}.countdown{display:flex;align-items:center;justify-content:space-between;gap:16px}#clock-status{font-size:13px;color:var(--muted)}.countdown-value{font-family:'Barlow Condensed',sans-serif;font-size:40px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1}.countdown-value small{font-family:'DM Sans',sans-serif;font-size:12px;font-weight:400}#clock.urgent{border-color:#e99b92;color:#efa69d}#clock.urgent progress{accent-color:#efa69d}
@media(min-width:1100px) and (min-height:650px){
 body{height:100dvh;display:flex;flex-direction:column;overflow:hidden}
 header{min-height:64px;padding:12px 3%;flex-shrink:0}
 main{width:100%;max-width:1920px;padding:0 3%;flex:1;min-height:0;display:flex;flex-direction:column}
 .game-toolbar{flex-shrink:0;margin:12px 0}
 .board{flex:1;min-height:0;grid-template-rows:54px repeat(5,minmax(0,1fr))}
 .category{min-height:0;font-size:15px}.clue{min-height:0;font-size:clamp(34px,3.3vw,58px)}
 .board-caption{margin:10px 0 16px;flex-shrink:0;font-size:12px}.board-caption>span:last-child{font-size:11px}
 .crew-heading{margin-bottom:10px}.crew-section{flex-shrink:0}.team{padding:10px 16px}.team input{font-size:15px}.team label{font-size:10px}.score{font-size:36px;margin:2px 0}
 footer{margin-top:14px;padding:10px 0;flex-shrink:0}
 .quiet,.board-options,.round-tabs button span{font-size:13px}.header-actions{gap:16px}
}
@media(min-width:1600px) and (min-height:900px){
 dialog{width:min(1100px,calc(100% - 48px));padding:26px}#clue-heading{font-size:42px;margin:20px 0}#answer{font-size:21px;line-height:1.5}.judge-row{padding:8px 14px}#judge-teams{margin:12px 0 16px}.dialog-top{margin-bottom:16px}
}
@media(min-width:1100px) and (min-height:650px) and (max-height:850px){
 header{min-height:56px;padding:8px 3%}.game-toolbar{padding:4px 0;margin:8px 0}.round-tabs button{padding:8px 12px}.board{grid-template-rows:44px repeat(5,minmax(0,1fr))}.category{font-size:12px}.clue{padding:4px 10px;line-height:1;font-size:36px}.board-caption{margin:8px 0 10px}.crew-heading{margin-bottom:6px}.crew-heading h2{font-size:16px}.team{padding:8px 12px}.team input{font-size:13px;padding:3px 0}.team label{font-size:8px}.team-tools button{font-size:9px}.score{font-size:28px;line-height:1;margin:3px 0}footer{margin-top:10px;padding:6px 0}
}

#clock.expired{border-color:#efa69d;background:#392535}#clock.expired #clock-status{color:#efa69d;font-weight:700}
@media(prefers-reduced-motion:no-preference){
 #clock.expired .countdown-value{animation:timer-expired .65s ease-out}
 #clue-dialog.time-up{animation:time-up .4s ease-out}
 @keyframes timer-expired{0%{transform:scale(1)}35%{transform:scale(1.25)}100%{transform:scale(1)}}
 @keyframes time-up{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}
}
