@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/HTxwL3I-JCGChYJ8VI-L6OO_au7B4873_3E.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/HTxwL3I-JCGChYJ8VI-L6OO_au7B46r2_3E.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/HTxwL3I-JCGChYJ8VI-L6OO_au7B47b1_3E.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/fonts/HTxwL3I-JCGChYJ8VI-L6OO_au7B45L0_3E.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfMZg.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuI6fMZg.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuGKYMZg.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuFuYMZg.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuDyYMZg.ttf) format('truetype');
}

:root{color-scheme:dark;--bg:#080e20;--gold:#ffcd68;--muted:#99a8c5;--ink:#f6f8ff}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 43%,#14264b 0, #0a132b 45%,var(--bg) 80%);color:var(--ink);font-family:Inter,Arial,sans-serif;min-height:100vh}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid #fff;outline-offset:4px}main{max-width:1160px;margin:auto;padding:28px 40px 22px}header{display:flex;justify-content:space-between;align-items:center}.club{font-size:23px;letter-spacing:-1px;font-weight:800}.club span{font-size:12px;letter-spacing:2px;color:var(--muted);border-left:1px solid #45516b;margin-left:12px;padding-left:14px;vertical-align:middle}.quiet{color:var(--muted);background:transparent;border:0;padding:10px 0;font-size:14px}.quiet:hover{color:white}.game{max-width:900px;margin:24px auto 0}.masthead{display:flex;align-items:center;justify-content:center;position:relative;min-height:112px}.brand{text-align:center;transform:rotate(-3deg);font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-weight:900;line-height:.78;text-shadow:0 4px 0 #855723;letter-spacing:2px;color:var(--gold)}.brand span{display:block;font-size:30px;letter-spacing:9px;padding-left:8px;margin-bottom:9px;color:white;text-shadow:0 3px 0 #435784}.brand strong{font-size:70px}.scorebox{position:absolute;right:0;text-align:center;background:#0a1329;border:1px solid #334461;border-radius:12px;padding:12px 24px}.scorebox span{display:block;font-size:11px;font-weight:700;letter-spacing:1.8px;color:var(--muted)}.scorebox strong{font-family:'Barlow Condensed',sans-serif;font-size:40px;color:var(--gold);font-variant-numeric:tabular-nums}.roundline{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700;letter-spacing:1.6px;color:var(--gold);margin-top:27px}.roundline>span:last-child{color:var(--muted)}#progress{display:flex;gap:7px}#progress i{width:22px;height:4px;border-radius:3px;background:#33415b}#progress i.active{background:var(--gold)}h1{text-align:center;font-size:clamp(22px,2.7vw,31px);line-height:1.3;letter-spacing:-.7px;max-width:760px;margin:18px auto 24px;font-weight:700;min-height:80px;display:flex;justify-content:center;align-items:center}.boardframe{padding:15px;border:2px solid #dca952;border-radius:19px;background:#101b34;box-shadow:0 0 0 5px #172440,0 0 0 6px #35425a,0 16px 65px #0006;position:relative}.board{display:grid;grid-auto-flow:column;grid-template-rows:repeat(var(--rows),1fr);grid-template-columns:1fr 1fr;gap:10px}.tile{min-height:66px;border:1px solid #4b68a1;border-radius:7px;background:linear-gradient(180deg,#244983,#193565);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 2px 0 #ffffff0b;overflow:hidden}.number{background:#0c2147;border:1px solid #7087ad;border-radius:50%;font-family:'Barlow Condensed',sans-serif;font-size:27px;font-weight:700;width:42px;height:42px;display:grid;place-items:center;box-shadow:0 2px 3px #0006}.tile.revealed{justify-content:space-between;background:linear-gradient(110deg,#31568f,#244476);animation:reveal .45s ease}.answer{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:24px;line-height:1.1;font-weight:700;text-transform:uppercase;letter-spacing:.3px;padding:12px 15px}.points{align-self:stretch;display:grid;place-items:center;min-width:54px;background:#0c2349;border-left:1px solid #6481ae;font-family:'Barlow Condensed',sans-serif;font-size:28px;color:var(--gold)}.tile.host .answer{color:#b4c2d8}.tile.empty{visibility:hidden}.boardmeta{display:flex;align-items:center;justify-content:space-between;margin:17px 0;color:var(--muted);font-size:13px}.boardmeta b{color:white}.strikes{display:flex;gap:8px}.strikes span{font-size:27px;line-height:1;width:31px;height:31px;text-align:center;border:1px solid #37415a;color:#43516d;border-radius:5px}.strikes span.hit{color:#ff797b;border-color:#ba4a58;background:#6d203c40}form{display:flex;gap:10px;margin-top:20px}input{width:100%;min-width:0;background:#101c34;border:1px solid #3b4b68;border-radius:9px;padding:19px 20px;color:white;font-size:16px}input::placeholder{color:#8e9db8}form button{white-space:nowrap;background:var(--gold);border:0;border-radius:9px;padding:0 27px;font-weight:800;color:#192035;box-shadow:0 3px 0 #a57931}form button:hover{background:#ffda90}form button span{padding-left:15px;font-size:22px}button:disabled,input:disabled{opacity:.5;cursor:default}#feedback{font-size:14px;min-height:22px;text-align:center;color:var(--muted);margin:16px 0 9px}#feedback.success{color:#92e4c0}#feedback.error{color:#ff9899}.controls{display:flex;justify-content:space-between;align-items:center}.next{background:transparent;border:1px solid #4b5872;color:white;padding:10px 15px;border-radius:7px;font-size:14px}.next:hover{background:#24324e}.next span{margin-left:16px}footer{border-top:1px solid #25304a;margin-top:35px;padding-top:18px;display:flex;justify-content:space-between;gap:15px;font-size:11px;letter-spacing:1px;color:#8391aa}footer span:last-child{letter-spacing:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes reveal{from{transform:rotateX(85deg);opacity:.2}to{transform:rotateX(0);opacity:1}}@media(max-width:640px){main{padding:20px 18px}.game{margin-top:15px}.scorebox{padding:9px 12px}.scorebox span{font-size:9px}.scorebox strong{font-size:31px}.brand{margin-right:25px}.brand strong{font-size:58px}.brand span{font-size:24px}.roundline{font-size:10px;letter-spacing:1px}h1{min-height:84px;font-size:23px;margin:13px auto 20px}.boardframe{padding:9px;border-radius:12px}.board{gap:7px}.tile{min-height:62px}.answer{font-size:18px;padding:9px}.points{min-width:32px;font-size:23px}.number{width:34px;height:34px;font-size:23px}.boardmeta{font-size:11px}.strikes{gap:4px}.strikes span{width:24px;height:26px;font-size:23px}input{padding:16px 12px;font-size:15px}form button{padding:0 15px;font-size:14px}form button span{display:none}footer{flex-direction:column;text-align:center;font-size:10px}.quiet,.next{font-size:12px}#feedback{font-size:13px}#progress i{width:15px}}@media(prefers-reduced-motion:reduce){*{animation:none!important}} 
[hidden]{display:none!important}#source-note{font-size:12px;color:var(--muted);line-height:1.5;text-align:center;margin:-12px 0 22px}a{color:var(--gold)}.answer small{display:block;font:11px Inter,Arial,sans-serif;letter-spacing:0;color:#c6d2e6;text-transform:none;margin-top:5px}.buzzer-panel{border:1px solid #394965;background:#0c162c;border-radius:12px;padding:20px;margin-top:26px}.buzzer-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.buzzer-heading h2{font-size:18px;margin:0}.buzzer-heading p,.fine{font-size:13px;color:var(--muted);line-height:1.5}.join-link{display:flex;gap:10px;margin:15px 0}.join-link input{font-size:13px;padding:12px}.teams{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.team-card{background:#172641;border:1px solid #3e5070;border-radius:8px;padding:12px;min-width:0}.team-card strong{display:block;font-size:13px;color:var(--gold)}.team-card span{display:block;font-size:14px;overflow-wrap:anywhere;margin-top:6px}.team-card.winner{border-color:var(--gold);background:#3c3325}.team-card button{font-size:11px}.buzz-controls{display:flex;gap:18px}.player-game{max-width:470px;margin:55px auto;text-align:center}.player-game .brand{margin:0 auto 35px}.player-game form{display:flex;flex-direction:column;text-align:left;gap:12px}.player-game form label{font-size:14px;color:var(--muted)}.player-game form button{padding:18px}.player-game select{font:inherit;background:#172641;color:white;padding:14px;border:1px solid #3b4b68;border-radius:9px}#room-code{text-transform:uppercase;letter-spacing:4px}#buzz-button{width:min(76vw,310px);height:min(76vw,310px);border-radius:50%;border:8px solid #8c6630;background:var(--gold);color:#1a2132;font-size:48px;font-weight:900;box-shadow:0 10px 0 #66471e;margin:20px auto;touch-action:manipulation}#buzz-button:not(:disabled):active{transform:translateY(6px);box-shadow:0 4px 0 #66471e}#player-status,#buzz-result{font-size:18px;font-weight:600}#host-net,#player-net{font-size:14px;color:#ff9899}#host-net:empty,#player-net:empty{display:none}@media(max-width:640px){.teams{grid-template-columns:repeat(2,1fr)}.join-link{flex-direction:column}.buzzer-heading{align-items:flex-start}.buzzer-panel{padding:14px}.buzzer-heading .next{white-space:nowrap}.answer small{font-size:10px}}
.lobby{max-width:940px;margin:35px auto}.lobby>.brand{margin:20px auto 30px}.lobby-header{text-align:center}.lobby-header h1{min-height:0;margin:25px auto 12px;font-size:36px}.lobby-header p{color:var(--muted);font-size:16px}.lobby-join{display:flex;align-items:center;justify-content:center;gap:55px;margin:32px auto}.qr-frame{width:264px;min-height:264px;display:grid;place-items:center;background:white;border-radius:16px;padding:12px;color:#172440}.qr-frame img{max-width:100%;height:auto;image-rendering:pixelated}.qr-frame p{text-align:center;font-size:15px}.eyebrow{font-size:13px;letter-spacing:3px;color:var(--muted)}#lobby-code{display:block;font-family:'Barlow Condensed',sans-serif;font-size:60px;letter-spacing:5px;color:var(--gold);margin:8px 0}.lobby-details p{line-height:1.7;color:#b7c4dc;font-size:15px}.lobby-link{display:block;text-align:center;font-size:13px;margin:0 auto 25px;overflow-wrap:anywhere}.lobby .team-card{padding:20px;min-height:110px}.lobby .team-card span{font-size:20px;font-weight:700}.team-card.joined{border-color:#bb9350}.lobby-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:22px;gap:20px}.lobby-bottom p{color:var(--muted);font-size:16px}.ready-button{background:var(--gold);color:#192035;border:0;border-radius:9px;font:700 17px Inter,Arial,sans-serif;padding:19px 25px}.ready-button:hover:not(:disabled){background:#ffdf99}#lobby-net{color:#ff9899;font-size:14px;text-align:center}#return-lobby{margin-right:20px}@media(max-width:640px){.lobby{margin-top:20px}.lobby-header h1{font-size:28px}.lobby-join{gap:20px;flex-direction:column;text-align:center}.lobby-details p{margin:4px auto}#lobby-code{font-size:44px}.lobby-bottom{flex-direction:column}.ready-button{width:100%}.lobby .team-card{padding:14px}.lobby .team-card span{font-size:16px}}

#sound-toggle{margin-right:20px}#round-intro{position:fixed;inset:0;z-index:50;background:#080e20f5;display:grid;place-items:center;text-align:center;color:var(--gold)}#round-intro[hidden],#strike-flash[hidden]{display:none}#round-intro span{font:800 28px 'Barlow Condensed',sans-serif;letter-spacing:5px}#round-intro strong{display:block;font:900 clamp(64px,14vw,140px) 'Barlow Condensed',sans-serif}#round-intro p{font-size:22px;color:white}#strike-flash{position:fixed;inset:0;z-index:60;display:grid;place-items:center;pointer-events:none;font:900 clamp(180px,38vw,430px) Arial,sans-serif;color:#ff303c;text-shadow:0 0 12px #000,0 8px 0 #730812;background:#080e2080}

button.tile{width:100%;font:inherit;color:inherit;text-align:inherit}button.tile:disabled{opacity:1;cursor:default}button.tile:not(:disabled):hover{border-color:var(--gold)}button.tile:focus-visible{outline:3px solid var(--gold);outline-offset:3px}#add-strike{color:#ff6d76}

.scoreboard{margin:25px 0 16px}.team-score{display:block;font-size:27px;color:var(--gold);margin-top:12px}.team-strikes{color:#ff8b92!important;font-size:14px!important}.team-card.eliminated{opacity:.65;border-color:#b1535f}.podium{border:2px solid #455b7f;border-radius:12px;padding:18px;text-align:center;background:#101f38;margin:16px 0 28px}.podium.occupied{border-color:var(--gold);background:#30291e}.podium>span{font-size:14px;letter-spacing:3px;color:var(--gold)}.podium h2{font-size:30px;margin:8px 0}.podium p{margin:6px 0;font-size:17px}.team-card.winner{box-shadow:0 0 0 2px var(--gold)}
/* Game-show lobby and shared finishing touches. */
body{background:radial-gradient(ellipse at 50% 0,#254f99 0,#101f43 48%,#080e20 90%);background-attachment:fixed}
main{max-width:1220px;padding:24px 36px}header{gap:16px;flex-wrap:wrap}header>div:last-child{display:flex;align-items:center;gap:16px}header .quiet{margin:0!important}button{transition:background .15s,border-color .15s,box-shadow .15s}button:not(:disabled){touch-action:manipulation}button:disabled{cursor:not-allowed}.quiet,.next{font-size:14px;min-height:44px}.next:disabled:hover{background:transparent}
.lobby{max-width:1080px;margin:28px auto 0;padding:30px 32px 20px;border:1px solid #7694ca66;border-radius:24px;background:linear-gradient(145deg,#183c78dd,#0d1c3aee);box-shadow:0 18px 65px #0005,inset 0 1px #dbe8ff33;position:relative}
.lobby-stage{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:46px}.lobby-show{text-align:center}.marquee{position:relative;box-sizing:border-box;width:min(100%,440px);min-height:244px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:15px auto 24px!important;padding:35px 30px;transform:rotate(-5deg);border:7px solid #ffcd68;border-radius:50%;background:radial-gradient(ellipse,#2458a4,#122c68 75%);box-shadow:0 0 0 5px #815722,0 0 0 8px #f9d785,0 14px 0 7px #07142d,0 18px 45px #0007;text-shadow:0 4px #87531c}
.marquee::after{content:'';position:absolute;inset:9px;border:4px dotted #ffe6a2;border-radius:50%;pointer-events:none}.marquee span{font-size:38px;letter-spacing:10px;line-height:1;margin:0 0 1px;padding:0;color:#fff6d7}.marquee strong{font-size:108px;line-height:.9;letter-spacing:3px;color:#ffce67}.lobby-header h1{font-family:'Barlow Condensed',sans-serif;font-size:40px;margin:22px auto 8px;color:white;letter-spacing:0}.lobby-header p{line-height:1.6;color:#c3d3ee;margin:0;font-size:16px}
.join-panel{text-align:center;background:#0a1936;border:1px solid #5d7bab;border-radius:16px;padding:20px}.join-panel h2{font:700 28px 'Barlow Condensed',sans-serif;margin:0 0 8px;color:#ffdc8b}.join-panel>p{font-size:14px;color:#bccce7;margin:8px 0 16px;line-height:1.5}.join-panel .qr-frame{width:240px;min-height:240px;max-width:100%;margin:auto;padding:8px;border-radius:8px;box-shadow:0 0 0 4px #233e66}.qr-frame img{width:224px;height:224px}.join-panel .next{margin-top:18px;width:100%;background:#ffce68;color:#162445;font-weight:700;border-color:#ffda8d}.join-panel .next:hover:not(:disabled){background:#ffe3a0}.join-panel .join-hint{margin:14px 0 0}
.lineup-label{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:30px 0 12px}.lineup-label h2{font:700 24px 'Barlow Condensed',sans-serif;letter-spacing:1px;margin:0}.lineup-label>span{font-size:14px;color:#b6c7e1}.lobby .teams{gap:12px}.lobby .team-card{min-height:112px;padding:0 14px 14px;background:linear-gradient(#204a87,#122d58);border:2px solid #567caf;border-radius:9px;text-align:center;overflow:hidden}.lobby .team-card>strong{background:#0a2046;margin:0 -14px 14px;padding:9px;font:700 17px 'Barlow Condensed',sans-serif;letter-spacing:2px;border-bottom:1px solid #567caf}.lobby .team-card>span{font-size:16px;line-height:1.5}.lobby .team-card.joined{border-color:#ffcd68}.lobby .team-score,.lobby .team-strikes{display:none}.lobby .team-card button{font-size:14px}.lobby-bottom{margin-top:22px;padding-top:18px;border-top:1px solid #5874a34d}.ready-button{background:linear-gradient(#ffdc8d,#efb844);box-shadow:0 4px 0 #8c5e1f;font-size:17px;min-width:270px}.ready-button:disabled{background:#304568;color:#a8b9d4;box-shadow:none;opacity:1}
.game{max-width:1040px}.masthead{min-height:85px}.masthead .brand strong{font-size:58px}.masthead .brand span{font-size:23px}.scoreboard{margin:20px 0 12px}.scoreboard .team-score{font-size:26px;margin-top:8px}.scoreboard .team-card span{font-size:16px}.podium{margin:12px 0;padding:12px 18px}.podium h2{font-size:26px;overflow-wrap:anywhere}.podium>span{font-size:14px}.podium p{font-size:16px;overflow-wrap:anywhere}.buzzer-panel{margin:12px 0 20px;padding:14px 18px}.buzzer-heading{align-items:center}.buzzer-heading p{margin:6px 0;font-size:14px}.buzz-controls{gap:12px;flex-wrap:wrap}.buzz-controls .next{background:#ffcd68;color:#172542;border-color:#ffcd68;font-weight:700;min-width:170px}#buzz-result{font-size:16px;margin:8px 0 12px}.fine{margin:10px 0 0;font-size:12px}.roundline{font-size:14px;margin-top:20px}.roundline #progress{margin:0 10px}#question{font-size:clamp(25px,2.8vw,34px);min-height:0;margin:20px auto 24px;max-width:920px}.boardmeta{font-size:14px}.tile{min-height:72px}.answer{overflow-wrap:anywhere}.points{flex-shrink:0}#source-note{font-size:14px;margin-top:-12px}.answer small{font-size:12px}#feedback{font-size:16px;line-height:1.5;min-height:24px}.controls{gap:16px}.player-game{margin-top:32px}.player-game h1{min-height:0;margin-bottom:22px;font-size:30px}.player-game .brand{margin-right:auto}.player-game form button{min-height:54px}#player-team{font-size:18px;line-height:1.6;overflow-wrap:anywhere}#player-status{line-height:1.6}#buzz-button{margin:24px auto 30px;background:linear-gradient(#ffdc86,#efb744);border-color:#c18c35}#buzz-button:disabled{opacity:1;background:#334563;color:#a3b5d3;border-color:#526582;box-shadow:0 8px 0 #192840}.player-game~footer{margin-top:28px}footer{font-size:12px;line-height:1.5}
@media(max-width:720px){main{padding:18px 16px}.lobby{padding:24px 18px;margin-top:22px}.lobby-stage{grid-template-columns:1fr;gap:24px}.marquee{width:290px;min-height:176px;padding:30px 20px;border-width:5px}.marquee span{font-size:26px;letter-spacing:7px}.marquee strong{font-size:74px}.lobby-header h1{font-size:32px}.join-panel{max-width:350px;width:100%;margin:auto}.lineup-label{align-items:flex-start;flex-direction:column;gap:6px}.lobby .teams{grid-template-columns:repeat(2,minmax(0,1fr))}.lobby-bottom{flex-direction:column;gap:10px}.ready-button{width:100%;min-width:0}.lobby .team-card>span{font-size:15px}.scoreboard{grid-template-columns:repeat(2,minmax(0,1fr))}.roundline{font-size:12px;letter-spacing:.5px}#progress i{width:12px}.masthead{justify-content:flex-start}.masthead .brand{margin-left:12px}.scorebox span{font-size:12px}.boardmeta{font-size:12px}.answer{font-size:20px;padding:10px}.answer small{font-size:12px}.tile{min-height:72px}#source-note{font-size:14px}.podium h2{font-size:24px}.quiet,.next{font-size:14px}.fine{font-size:12px}footer{font-size:12px}.club{font-size:22px}}
@media(max-width:420px){header>div:last-child{gap:10px;flex-wrap:wrap}.lobby{padding:20px 14px}.marquee{width:250px;min-height:158px}.marquee strong{font-size:66px}.marquee span{font-size:24px}#guessform{flex-direction:column}#guessform button{min-height:48px}.board{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-flow:row}.tile{min-height:58px}.scorebox{padding:10px}.scorebox strong{font-size:30px}.boardmeta{flex-wrap:wrap;gap:10px}}
