@font-face{font-family:Digital-7;src:url(/fonts/digital-7.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#fff;background:#07091c;min-height:100vh;font-family:Nunito,Arial Black,Arial,sans-serif}#root{text-align:left;border:none;flex-direction:column;align-items:center;width:100%;max-width:100%;min-height:100vh;display:flex}.app{background:#07091c;width:100%;height:100vh;display:flex;overflow:hidden}.board-pane{border:18px solid #dce8f4;border-color:#dce8f4 #1252cc;flex:auto;justify-content:center;align-items:center;min-width:0;height:100%;padding:4px;display:flex}.board-svg{width:100%;height:100%}.side-pane{background:#0b0d28;border-left:3px solid #1a2060;flex-direction:column;flex:0 0 340px;gap:18px;height:100%;padding:24px 22px;display:flex;overflow-y:auto}.title{letter-spacing:5px;text-transform:uppercase;color:#fff;text-align:center;text-shadow:0 0 16px #508cffe6,0 0 40px #3264f080;font-size:1.6rem;font-weight:900}.score-board{gap:12px;display:flex}.score-card{border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:10px 8px;transition:box-shadow .2s;display:flex}.score-card.blue{background:#1252cc40;border:2px solid #1252cc}.score-card.blue.active{border-color:#5090ff;box-shadow:0 0 18px #3c82ffb3}.score-card.white{background:#dce8f41a;border:2px solid #8aaac8}.score-card.white.active{border-color:#dce8f4;box-shadow:0 0 18px #c8dcff80}.score-card .team-name{letter-spacing:2.5px;text-transform:uppercase;opacity:.75;font-size:.65rem;font-weight:700}.score-card .team-score{font-size:2.2rem;font-weight:900;line-height:1.1}.score-card .team-goal{letter-spacing:1px;text-transform:uppercase;opacity:.5;font-size:.6rem;font-weight:700}.score-card.blue .team-score{color:#6aadff}.score-card.white .team-score{color:#dce8f4}.turn-indicator{letter-spacing:2px;text-transform:uppercase;color:#ffffffb3;justify-content:center;align-items:center;gap:10px;font-size:.8rem;font-weight:700;display:flex}.turn-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px;animation:1.4s ease-in-out infinite pulse}.turn-dot.blue{background:#1252cc;box-shadow:0 0 8px #3a80ff}.turn-dot.white{background:#b0c8e4;box-shadow:0 0 8px #dce8f4}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.question-panel{background:#0b0f2a;border:2px solid #1e2860;border-radius:10px;flex-direction:column;gap:14px;padding:16px 18px;display:flex}.question-panel.idle{opacity:.45;text-align:center}.question-header{align-items:flex-start;gap:12px;display:flex}.q-badge{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.4rem;font-weight:900;display:flex}.q-badge.blue{color:#fff;background:#1252cc;border:2px solid #4a88ff}.q-badge.white{color:#0e1828;background:#dce8f4;border:2px solid #9abcd8}.question-text{color:#ccdaee;padding-top:2px;font-size:.98rem;font-weight:700;line-height:1.5}.answer-display{letter-spacing:1px;color:#ffd34d;text-align:center;background:#ffc83214;border:2px solid #ffc83259;border-radius:8px;padding:10px 12px;font-size:1.5rem;font-weight:900;animation:.25s popIn}.btn-reveal{color:#ffd34d;background:#ffc8321f;border:2px solid #ffc83266;align-self:center;padding:10px 32px}.btn-reveal:hover{background:#ffc83238}.question-actions{flex-wrap:wrap;gap:8px;display:flex}.btn{letter-spacing:1.2px;text-transform:uppercase;cursor:pointer;border:none;border-radius:8px;padding:9px 16px;font-family:Nunito,Arial Black,Arial,sans-serif;font-size:.76rem;font-weight:900;transition:transform .12s,box-shadow .12s}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-blue{color:#e0eaff;background:#1252cc;border:2px solid #4a88ff;box-shadow:0 0 10px #4a88ff59}.btn-blue:hover{background:#1a64e8;box-shadow:0 0 18px #4a88ff99}.btn-white{color:#0a1422;background:#c8d8ea;border:2px solid #9abcd8;box-shadow:0 0 10px #c8d8ea40}.btn-white:hover{background:#dce8f4;box-shadow:0 0 18px #c8d8ea73}.btn-pass{color:#ffffff80;background:#ffffff12;border:2px solid #ffffff1f}.btn-pass:hover{color:#fff;background:#ffffff1f}.btn-reset{color:#ff7070;background:#c828281f;border:2px solid #c828284d}.btn-reset:hover{background:#c8282838}.winner-banner{text-align:center;border-radius:12px;padding:20px;animation:.4s popIn}.winner-banner.blue{background:linear-gradient(135deg,#1252cc73,#1252cc26);border:3px solid #4a88ff;box-shadow:0 0 40px #4a88ff59}.winner-banner.white{background:linear-gradient(135deg,#b4c8dc4d,#b4c8dc1a);border:3px solid #9abcd8;box-shadow:0 0 40px #b4c8dc40}.winner-banner h2{letter-spacing:3px;text-transform:uppercase;margin-bottom:8px;font-size:1.6rem;font-weight:900}.winner-banner.blue h2{color:#82b8ff}.winner-banner.white h2{color:#dce8f4}.winner-banner p{opacity:.65;margin-bottom:16px;font-size:.85rem;font-weight:700}@keyframes popIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.side-footer{justify-content:center;gap:10px;margin-top:auto;display:flex}@media (width<=900px){.app{flex-direction:column;height:auto;overflow:visible}.board-pane{height:auto;padding:4px}.board-svg{height:auto}.side-pane{border-top:3px solid #1a2060;border-left:none;flex:none;width:100%;height:auto}}.btn-admin{color:#c0a0ff;background:#643cb433;border:2px solid #8c50dc66}.btn-admin:hover{background:#643cb459}.admin-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#040614d9;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.admin-panel{background:#0d1030;border:2px solid #2a3470;border-radius:14px;flex-direction:column;width:100%;max-width:680px;max-height:90vh;display:flex;overflow:hidden}.admin-header{border-bottom:2px solid #1e2860;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px 14px;display:flex}.admin-title{letter-spacing:3px;text-transform:uppercase;color:#c0a0ff;font-size:1.2rem;font-weight:900}.admin-saved{color:#60d080;letter-spacing:1px;font-size:.75rem;font-weight:700}.admin-letter-tabs{border-bottom:2px solid #1e2860;flex-wrap:wrap;gap:4px;padding:12px 16px;display:flex}.admin-tab{color:#ffffff80;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;align-items:center;gap:4px;padding:5px 10px;font-family:Digital-7,Nunito,Arial,sans-serif;font-size:1rem;font-weight:900;transition:background .1s;display:flex}.admin-tab.active{color:#fff;background:#1252cc;border-color:#4a88ff}.admin-tab:hover:not(.active){color:#fff;background:#ffffff1f}.admin-tab-count{background:#0000004d;border-radius:8px;padding:1px 5px;font-family:Nunito,Arial,sans-serif;font-size:.6rem}.admin-question-list{flex-direction:column;flex:1;gap:8px;padding:12px 16px;display:flex;overflow-y:auto}.admin-q-row{background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.admin-q-text{flex-direction:column;flex:1;gap:3px;display:flex}.admin-q{color:#ccdaee;font-size:.85rem;font-weight:700;line-height:1.4}.admin-a{color:#fff6;font-size:.75rem}.admin-q-actions{flex-shrink:0;gap:6px;display:flex}.admin-btn-sm{padding:5px 10px!important;font-size:.7rem!important}.admin-edit-form{flex-direction:column;flex:1;gap:8px;display:flex}.admin-new-form{border:1px dashed #ffffff26;border-radius:8px;padding:12px}.admin-input{color:#fff;resize:vertical;background:#ffffff0f;border:1px solid #ffffff26;border-radius:6px;width:100%;padding:7px 10px;font-family:Nunito,Arial,sans-serif;font-size:.85rem}.admin-input:focus{border-color:#4a88ff;outline:none}.admin-add-btn{align-self:flex-start;margin-top:4px}.admin-saving{color:#fc6;letter-spacing:1px;font-size:.75rem;font-weight:700}.admin-error{color:#ff7070;letter-spacing:1px;font-size:.75rem;font-weight:700}.admin-gate{max-width:380px}.admin-gate-form{flex-direction:column;gap:12px;padding:20px;display:flex}.admin-gate-label{color:#ccdaee;font-size:.85rem;font-weight:700}.score-card{cursor:pointer}.team-qr-hint{letter-spacing:1px;text-transform:uppercase;opacity:.45;margin-top:2px;font-size:.55rem;font-weight:700}.qr-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:200;background:#040614e0;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.qr-modal{background:#0d1030;border:2px solid #2a3470;border-radius:16px;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:340px;padding:28px 28px 22px;display:flex}.qr-team-label{letter-spacing:3px;text-transform:uppercase;font-size:1.1rem;font-weight:900}.qr-team-blue{color:#6aadff}.qr-team-white{color:#dce8f4}.qr-instruction{color:#ffffff80;text-align:center;font-size:.8rem;font-weight:700}.qr-code-wrap{background:#fff;border-radius:12px;padding:14px}.qr-url{color:#ffffff40;word-break:break-all;text-align:center;font-family:monospace;font-size:.6rem}.qr-close{margin-top:4px}.buzz-notice{z-index:300;cursor:pointer;justify-content:center;align-items:center;animation:.25s bzFadeIn;display:flex;position:fixed;inset:0}.buzz-notice-blue{background:#1252cceb}.buzz-notice-white{background:#c8d8eaf2}.buzz-notice-inner{flex-direction:column;align-items:center;gap:8px;display:flex}.buzz-notice-label{letter-spacing:6px;font-size:3rem;font-weight:900}.buzz-notice-text{letter-spacing:4px;font-size:4rem;font-weight:900}.buzz-notice-tap{letter-spacing:2px;text-transform:uppercase;opacity:.55;font-size:.8rem;font-weight:700}.buzz-notice-blue .buzz-notice-label,.buzz-notice-blue .buzz-notice-text{color:#fff}.buzz-notice-white .buzz-notice-label,.buzz-notice-white .buzz-notice-text{color:#0a1422}@keyframes bzFadeIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.buzzer-status{letter-spacing:1.5px;text-transform:uppercase;color:#fff6;justify-content:center;align-items:center;gap:8px;font-size:.65rem;font-weight:700;display:flex}.conn-dot{border-radius:50%;width:8px;height:8px}.conn-connected{background:#40d070;box-shadow:0 0 6px #40d070}.conn-reconnecting,.conn-connecting{background:#ffb020;animation:1.2s infinite pulse;box-shadow:0 0 6px #ffb020}.bz-scan-page,.bz-interface{flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100svh;font-family:Nunito,Arial Black,Arial,sans-serif;display:flex;overflow:hidden}.bz-scan-page{background:#07091c;gap:20px;padding:24px}.bz-title{letter-spacing:5px;text-transform:uppercase;color:#fff;text-shadow:0 0 20px #508cffcc;font-size:2rem;font-weight:900}.bz-subtitle{color:#ffffff8c;text-align:center;letter-spacing:.5px;max-width:260px;font-size:.9rem;font-weight:700}.bz-scanner-wrap{aspect-ratio:1;border-radius:16px;width:min(80vw,320px);position:relative;overflow:hidden}.bz-video{object-fit:cover;width:100%;height:100%}.bz-scan-frame{pointer-events:none;border:3px solid #64a0ffcc;border-radius:12px;position:absolute;inset:12px;box-shadow:0 0 0 9999px #00000073}.bz-scanner-fallback{text-align:center;color:#ffffffb3;background:#ffffff12;border:2px solid #ffffff26;border-radius:12px;flex-direction:column;gap:8px;max-width:280px;padding:24px;font-size:.9rem;font-weight:700;line-height:1.5;display:flex}.bz-interface{gap:24px;padding:32px 24px}.bz-interface.bz-blue{background:#0a1a4a}.bz-interface.bz-white{background:#c8d8ea}.bz-team-label{letter-spacing:6px;text-transform:uppercase;font-size:2rem;font-weight:900}.bz-blue .bz-team-label{color:#6aadff}.bz-white .bz-team-label{color:#0a1422}.bz-buzz-btn{aspect-ratio:1;letter-spacing:3px;text-transform:uppercase;cursor:pointer;touch-action:manipulation;border:none;border-radius:50%;width:min(72vw,300px);font-family:Nunito,Arial Black,Arial,sans-serif;font-size:2.6rem;font-weight:900;transition:transform .1s,box-shadow .2s}.bz-buzz-btn:active{transform:scale(.94)}.bz-blue .bz-buzz-btn{color:#fff;background:radial-gradient(circle at 38% 35%,#4a8fff,#1040c0);box-shadow:0 0 40px #4a8fff99,0 8px 30px #0006}.bz-white .bz-buzz-btn{color:#0a1422;background:radial-gradient(circle at 38% 35%,#fff,#c0ccd8);box-shadow:0 0 40px #c8d8ea80,0 8px 30px #00000040}.bz-buzz-btn.bz-buzzed{animation:.5s bz-flash}.bz-blue .bz-buzz-btn.bz-buzzed,.bz-white .bz-buzz-btn.bz-buzzed{color:#1a0e00;background:radial-gradient(circle at 38% 35%,#fd6,#e09a00);box-shadow:0 0 60px #ffc832cc}.bz-buzz-btn.bz-passed{opacity:.4}@keyframes bz-flash{0%{transform:scale(1)}40%{transform:scale(1.12)}70%{transform:scale(.96)}to{transform:scale(1)}}.bz-pass-btn{letter-spacing:2px;text-transform:uppercase;cursor:pointer;touch-action:manipulation;border:none;border-radius:50px;padding:12px 36px;font-family:Nunito,Arial Black,Arial,sans-serif;font-size:1rem;font-weight:900;transition:opacity .15s}.bz-pass-btn:disabled{opacity:.3}.bz-blue .bz-pass-btn{color:#fff9;background:#ffffff1a;border:2px solid #fff3}.bz-white .bz-pass-btn{color:#00000080;background:#0000001a;border:2px solid #00000026}.bz-pass-btn:active{opacity:.6}.bz-conn{justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;top:14px;left:0;right:0}.bz-interface{position:relative}.bz-conn-dot{border-radius:50%;width:9px;height:9px}.bz-conn-connected{background:#40d070;box-shadow:0 0 6px #40d070}.bz-conn-reconnecting,.bz-conn-connecting{background:#ffb020;animation:1.2s infinite pulse;box-shadow:0 0 6px #ffb020}.bz-conn-text{letter-spacing:1.5px;text-transform:uppercase;opacity:.6;font-size:.7rem;font-weight:700}.bz-blue .bz-conn-text{color:#fff}.bz-white .bz-conn-text{color:#0a1422}.bz-send-fail{letter-spacing:1px;text-transform:uppercase;color:#ff5050;background:#ff50501f;border:2px solid #ff505066;border-radius:8px;padding:8px 18px;font-size:.85rem;font-weight:900}
