:root{--purple:#241940;--purple-2:#17102b;--violet:#6e36cc;--cyan:#42bdd1;--orange:#ffa30f;--blue:#0866d9;--magenta:#cf2b70;--red:#ff4d4f;--white:#fff;--charcoal:#30302f;--ink:#f8f7fb;--muted:#aaa2be;--line:#ffffff1f;--panel:#ffffff0e;--success:#42d19a}*{box-sizing:border-box}html{background:var(--purple-2)}body{color:var(--ink);background:var(--purple);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}.player-page{background:radial-gradient(circle at 80% 5%,#6e36cc3d,#0000 28rem),linear-gradient(160deg,#241940 0%,#17102b 100%);min-height:100svh}.app-header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:30;background:#17102bad;justify-content:space-between;align-items:center;height:78px;padding:0 clamp(20px,4vw,72px);display:flex;position:sticky;top:0}.brand-lockup{color:#fff;align-items:center;gap:12px;text-decoration:none;display:flex}.brand-lockup img{object-fit:contain;width:108px;height:58px}.brand-copy{letter-spacing:.15em;line-height:1;display:grid}.brand-copy strong{font-size:13px}.brand-copy small{color:var(--cyan);letter-spacing:.28em;margin-top:5px;font-size:9px}.header-side{align-items:center;gap:12px;display:flex}.team-pill{letter-spacing:.15em;color:var(--cyan);background:#42bdd11a;border:1px solid #42bdd152;border-radius:99px;padding:9px 12px;font-size:11px;font-weight:750}.menu-wrap{position:relative}.menu-button{border:1px solid var(--line);cursor:pointer;background:#ffffff0a;border-radius:11px;place-content:center;gap:4px;width:42px;height:42px;display:grid}.menu-button span{background:#fff;width:17px;height:1.5px;display:block}.menu-panel{border:1px solid var(--line);background:#2b2048;border-radius:14px;width:210px;padding:7px;position:absolute;top:49px;right:0;box-shadow:0 18px 50px #00000059}.menu-panel a,.menu-panel button{color:#fff;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;justify-content:space-between;width:100%;padding:12px;font-size:14px;text-decoration:none;display:flex}.menu-panel a:hover,.menu-panel button:hover{background:#ffffff12}.player-hero{justify-content:space-between;align-items:flex-end;gap:40px;max-width:1440px;margin:auto;padding:clamp(42px,7vw,88px) clamp(20px,4vw,72px) 38px;display:flex}.status-chip{color:var(--muted);letter-spacing:.17em;align-items:center;gap:8px;font-size:10px;font-weight:750;display:inline-flex}.status-chip i{background:var(--muted);border-radius:99px;width:7px;height:7px}.status-chip.running{color:var(--cyan)}.status-chip.running i{background:var(--cyan);animation:2s infinite pulse;box-shadow:0 0 0 5px #42bdd121}.status-chip.ended{color:var(--magenta)}.status-chip.ended i{background:var(--magenta)}.player-hero h1{letter-spacing:-.055em;margin:16px 0 8px;font-size:clamp(40px,6vw,76px);line-height:.98}.player-hero>div>p{color:var(--muted);margin:0;font-size:clamp(14px,1.5vw,17px)}.timer-card{background:#42bdd10f;border:1px solid #42bdd138;border-radius:18px;min-width:280px;padding:20px 24px}.timer-card span{color:var(--cyan);letter-spacing:.16em;font-size:9px;font-weight:800}.timer-card strong{font-variant-numeric:tabular-nums;letter-spacing:.06em;margin:3px 0;font-size:38px;display:block}.timer-card small{color:var(--muted);font-size:11px}.stat-strip{border:1px solid var(--line);background:#ffffff09;border-radius:16px;grid-template-columns:repeat(3,minmax(120px,.7fr)) minmax(220px,1.4fr);max-width:calc(1440px - clamp(40px,8vw,144px));margin:0 auto;display:grid;overflow:hidden}.stat-strip>div{border-right:1px solid var(--line);padding:20px 24px}.stat-strip>div:last-child{border:0}.stat-strip span{color:var(--muted);letter-spacing:.14em;font-size:9px;font-weight:800;display:block}.stat-strip strong{font-variant-numeric:tabular-nums;margin-top:5px;font-size:25px;display:block}.stat-strip strong small{color:var(--muted);font-size:12px}.penalty-stat strong{color:var(--white)}.penalty-stat.has-deductions strong,.personal-score .has-deductions{color:var(--orange)}.progress-stat{grid-template-columns:1fr auto;align-items:end;gap:0 18px;display:grid}.progress-stat span{grid-column:1/-1}.progress-bar{background:#ffffff1a;border-radius:99px;height:4px;margin-top:11px}.progress-bar i{border-radius:inherit;background:linear-gradient(90deg,var(--violet),var(--cyan));height:100%;display:block}.challenge-section{max-width:1440px;margin:auto;padding:58px clamp(20px,4vw,72px) 90px}.section-heading{justify-content:space-between;align-items:flex-end;margin-bottom:22px;display:flex}.section-heading h2{letter-spacing:-.03em;margin:7px 0 0;font-size:29px}.section-heading p{color:var(--muted);font-size:12px}.eyebrow{color:var(--cyan);letter-spacing:.2em;font-size:9px;font-weight:800;display:block}.challenge-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.challenge-card{text-align:left;border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:16px;flex-direction:column;min-height:210px;padding:22px;transition:border-color .2s,transform .2s,background .2s;display:flex}.challenge-card:hover{background:#ffffff13;border-color:#42bdd16b;transform:translateY(-3px)}.challenge-card.complete{background:linear-gradient(145deg,#42d19a1a,#ffffff09);border-color:#42d19a40}.card-top,.card-foot{justify-content:space-between;align-items:center;display:flex}.case-number,.points{color:var(--muted);letter-spacing:.16em;font-size:9px;font-weight:750}.points{color:var(--cyan);background:#42bdd11a;border-radius:99px;padding:6px 8px}.challenge-card-title{align-items:center;gap:13px;margin:24px 0 8px;display:flex}.challenge-icon{width:46px;height:46px;color:var(--cyan);background:#42bdd11a;border:1px solid #42bdd12e;border-radius:13px;flex:none;place-items:center;display:grid}.challenge-card.complete .challenge-icon{color:var(--success);background:#42d19a1a;border-color:#42d19a33}.challenge-card h3{letter-spacing:-.02em;margin:0;font-size:20px}.challenge-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.card-foot{margin-top:auto;padding-top:25px}.state{letter-spacing:.12em;color:var(--muted);font-size:9px;font-weight:800}.state.done{color:var(--success)}.arrow{color:var(--cyan);font-size:20px}.empty-state{text-align:center;border:1px dashed var(--line);color:var(--muted);border-radius:16px;padding:70px 20px}.empty-state strong{color:#fff}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#090612c7;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.join-modal,.challenge-modal{text-align:center;background:#2b2048;border:1px solid #ffffff21;border-radius:22px;width:min(460px,100%);padding:clamp(27px,5vw,42px);box-shadow:0 30px 100px #00000080}.join-modal img{object-fit:contain;width:156px;height:104px;margin:-12px auto 18px}.join-modal h2,.challenge-modal h2{letter-spacing:-.04em;margin:8px 0 10px;font-size:30px}.join-modal>p{color:var(--muted);max-width:330px;margin:0 auto 25px;font-size:13px;line-height:1.6}.field-label{text-align:left;color:var(--muted);letter-spacing:.16em;margin:26px 0 9px;font-size:9px;font-weight:800;display:block}.team-input{border:1px solid var(--line);color:#fff;text-align:center;letter-spacing:.16em;background:#0000002e;border-radius:13px;outline:none;width:100%;height:84px;font-size:38px}.team-input:focus,.answer-row input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #42bdd11a}.form-error{color:#ff8baa!important;margin:8px 0 -12px!important}.button{cursor:pointer;border:0;border-radius:10px;min-height:46px;padding:0 18px;font-size:12px;font-weight:750}.button.primary{color:#151027;background:var(--cyan)}.button.primary:hover{filter:brightness(1.08)}.button.secondary{color:#fff;border:1px solid var(--line);background:#ffffff12}.button.danger{color:#ff9ac1;background:#cf2b7024;border:1px solid #cf2b704d}.button:disabled{opacity:.45;cursor:not-allowed}.button.full{justify-content:space-between;align-items:center;width:100%;margin-top:17px;display:flex}.button-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.join-modal>small{color:#77708c;margin-top:15px;font-size:10px;display:block}.detail-backdrop{justify-items:end;padding:0}.challenge-modal{text-align:left;border-radius:0;width:min(620px,100%);height:100%;padding:clamp(34px,6vw,70px);animation:.25s ease-out slideIn;position:relative;overflow-y:auto}.challenge-modal h2{margin-top:13px;font-size:clamp(30px,5vw,47px)}.challenge-modal-heading{align-items:center;gap:15px;margin-top:13px;display:flex}.challenge-modal-heading h2{margin:0}.challenge-icon.large{border-radius:16px;width:58px;height:58px}.close-button{border:1px solid var(--line);cursor:pointer;background:#ffffff0a;border-radius:99px;width:40px;height:40px;font-size:24px;position:absolute;top:20px;right:22px}.question-text{color:#d8d4e3;margin:24px 0 34px;font-size:15px;line-height:1.75}.attachments{border:1px solid var(--line);border-radius:12px;gap:8px;padding:18px;display:grid}.attachments>span{color:var(--muted);letter-spacing:.14em;font-size:9px;font-weight:800}.attachments a{color:var(--cyan);padding-top:8px;font-size:13px;text-decoration:none}.answer-row{gap:9px;display:flex}.answer-row input{border:1px solid var(--line);color:#fff;background:#00000030;border-radius:10px;outline:none;flex:1;min-width:0;height:49px;padding:0 14px}.feedback{border-radius:10px;gap:3px;margin-top:14px;padding:14px;font-size:12px;display:grid}.feedback.correct{color:#82e9bf;background:#42d19a1a;border:1px solid #42d19a33}.feedback.incorrect,.feedback.error{color:#ff8baa;background:#cf2b701a;border:1px solid #cf2b7033}.feedback span{color:#d1cbdc}.submission-closed{color:var(--orange);font-size:11px}.mobile-warning{display:none}@keyframes pulse{50%{opacity:.55}}@keyframes slideIn{0%{opacity:.5;transform:translate(30px)}}@media (max-width:900px){.player-hero{flex-direction:column;align-items:stretch;gap:26px}.timer-card{min-width:0}.stat-strip{grid-template-columns:repeat(3,1fr);margin:0 20px}.progress-stat{border-top:1px solid var(--line);grid-column:1/-1}.stat-strip>div:nth-child(3){border-right:0}.challenge-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){.app-header{height:66px;padding:0 16px}.brand-lockup img{width:88px;height:48px}.brand-copy strong{font-size:11px}.brand-copy small{font-size:8px}.team-pill{padding:8px 9px;font-size:9px}.menu-button{width:38px;height:38px}.player-hero{gap:23px;padding:34px 20px 24px}.player-hero h1{font-size:42px}.timer-card{grid-template-columns:1fr auto;align-items:center;padding:17px 19px;display:grid}.timer-card strong{grid-area:1/2/3;font-size:29px}.timer-card small{margin-top:4px}.stat-strip{border-radius:13px;grid-template-columns:repeat(3,1fr);margin:0 20px}.stat-strip>div{padding:16px 10px}.stat-strip strong{font-size:21px}.stat-strip span{font-size:7.5px}.progress-stat{padding:15px!important}.challenge-section{padding:42px 20px 70px}.section-heading{align-items:flex-start}.section-heading p{margin-top:26px}.challenge-grid{grid-template-columns:1fr}.challenge-card{min-height:180px}.join-modal{padding:29px 24px}.button-row{grid-template-columns:1fr}.challenge-modal{padding:62px 22px 30px}.answer-row{flex-direction:column}.answer-row .button{width:100%}.mobile-warning{z-index:160;text-align:center;background:radial-gradient(circle at 50% 35%,#cf2b7040,#0000 50%),#17102bf5;flex-direction:column;justify-content:center;padding:34px;display:flex;position:fixed;inset:0}.mobile-warning>button:first-child{color:#fff;background:0 0;border:0;font-size:30px;position:absolute;top:20px;right:20px}.mobile-warning>span{color:var(--orange);letter-spacing:.2em;font-size:11px;font-weight:900}.mobile-warning>strong{letter-spacing:-.04em;margin:12px 0;font-size:35px}.mobile-warning p{color:var(--muted);line-height:1.6}.mobile-warning .button{margin-top:20px}}.score-page{background:radial-gradient(circle at 55% -20%,#6e36cc47,#0000 50%),#17102b;min-height:100svh}.score-grid{grid-template:"leaders progress timer"minmax(150px,.5fr)"leaders progress announcements"minmax(330px,1.5fr)"leaders progress logo"minmax(190px,.8fr)/minmax(320px,1.05fr) minmax(430px,1.4fr) minmax(230px,.75fr);gap:clamp(10px,1vw,18px);height:calc(100svh - 78px);padding:clamp(12px,1.3vw,24px);display:grid}.score-tile{border:1px solid var(--line);background:linear-gradient(145deg,#fff1,#ffffff06);border-radius:clamp(14px,1.2vw,22px);padding:clamp(18px,1.7vw,30px);position:relative;overflow:hidden}.leaderboard-tile{grid-area:leaders}.progress-tile{grid-area:progress}.announcements-tile{grid-area:announcements}.display-timer{grid-area:timer}.logo-tile{grid-area:logo}.tile-kicker{color:var(--cyan);letter-spacing:.2em;font-size:clamp(8px,.56vw,11px);font-weight:850;display:block}.tile-kicker.orange,.orange{color:var(--orange)!important}.tile-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.tile-heading h1,.tile-heading h2{letter-spacing:-.045em;margin:8px 0 0;font-size:clamp(22px,2vw,40px)}.tile-heading h2{font-size:clamp(20px,1.55vw,31px)}.live-dot{color:var(--cyan);letter-spacing:.15em;border:1px solid #42bdd13d;border-radius:99px;padding:7px 9px;font-size:9px}.leader-list{margin-top:clamp(15px,1.5vw,28px);display:grid}.leader-row{border-top:1px solid #ffffff13;grid-template-columns:30px 18px minmax(90px,1fr) auto auto;align-items:center;gap:clamp(6px,.7vw,14px);min-height:clamp(39px,4.25vh,58px);animation:.55s ease-out rankShift;display:grid}.leader-row .rank{color:#77708c;font-variant-numeric:tabular-nums;font-size:12px}.leader-row .rank-1{color:var(--orange);font-weight:900}.leader-row .rank-2,.leader-row .rank-3{color:var(--cyan)}.leader-row strong{letter-spacing:.06em;font-size:clamp(11px,.82vw,16px)}.leader-row small{color:var(--muted);font-size:clamp(8px,.55vw,11px)}.leader-row b{text-align:right;color:var(--cyan);font-variant-numeric:tabular-nums;font-size:clamp(13px,1vw,19px)}.movement{text-align:center;font-size:8px}.movement.up{color:var(--success);animation:.7s movePulse}.movement.down{color:var(--magenta);animation:.7s movePulse}.movement.same{color:#5d566d}.leader-extra{display:none}.leaderboard-tile.blurred .leader-list,.leaderboard-tile.blurred .tile-heading{filter:blur(14px);opacity:.4;-webkit-user-select:none;user-select:none}.blur-message{text-align:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#17102b3b;place-content:center;padding:20px;display:grid;position:absolute;inset:0}.blur-message span{color:var(--orange);letter-spacing:.24em;font-size:10px;font-weight:900}.blur-message strong{margin:8px 0;font-size:clamp(25px,2vw,42px)}.blur-message p{color:var(--muted);margin:0;font-size:12px}.legend{color:var(--muted);white-space:nowrap;font-size:9px}.legend i{border-radius:99px;width:7px;height:7px;margin:0 4px 0 8px;display:inline-block}.correct-key{background:var(--cyan)}.wrong-key{background:var(--magenta)}.progress-list{align-content:start;margin-top:clamp(15px,1.5vw,28px);display:grid}.question-progress{border-top:1px solid #ffffff13;grid-template-columns:28px 32px minmax(85px,1.3fr) minmax(70px,1fr) 25px 25px;align-items:center;gap:clamp(5px,.6vw,12px);min-height:clamp(34px,4.3vh,58px);display:grid}.q-number{color:#6e677d;font-size:10px}.scoreboard-challenge-icon{width:30px;height:30px;color:var(--cyan);background:#42bdd117;border-radius:9px;place-items:center;display:grid}.question-progress>strong{white-space:nowrap;text-overflow:ellipsis;font-size:clamp(9px,.7vw,13px);overflow:hidden}.split-bar{background:#ffffff12;border-radius:99px;height:5px;display:flex;overflow:hidden}.split-bar i{background:var(--cyan)}.split-bar b{background:var(--magenta)}.count{text-align:center;font-variant-numeric:tabular-nums;font-size:10px}.correct-count{color:var(--cyan)}.wrong-count{color:#ef679f}.penalty-icon{width:30px;height:30px;color:var(--orange);background:#ffa30f1f;border-radius:9px;place-content:center;font-weight:900;display:grid}.penalty-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(12px,1.2vw,25px);margin-top:12px;display:grid}.penalty-list>div{border-top:1px solid #ffffff12;grid-template-columns:23px 1fr auto;align-items:center;gap:6px;min-height:35px;display:grid}.penalty-list span{color:#6e677d;font-size:9px}.penalty-list strong{font-size:10px}.penalty-list b{color:var(--orange);font-size:10px}.display-timer{text-align:center;background:radial-gradient(circle at 50% 20%,#42bdd121,#0000 70%),#ffffff09;border-color:#42bdd133;flex-direction:column;justify-content:center;align-items:center;display:flex}.display-timer>strong{letter-spacing:.08em;font-variant-numeric:tabular-nums;margin:10px 0;font-size:clamp(35px,4.3vw,78px);line-height:1}.display-timer.time-warning>.tile-kicker,.display-timer.time-warning>strong{color:var(--orange)}.display-timer.time-critical>.tile-kicker,.display-timer.time-critical>strong{color:var(--red)}.game-state{color:var(--muted);letter-spacing:.15em;margin-top:clamp(10px,1vw,18px);font-size:8px;font-weight:800}.game-state i{background:var(--muted);border-radius:99px;width:6px;height:6px;margin-right:6px;display:inline-block}.game-state.running{color:var(--cyan)}.game-state.running i{background:var(--cyan);animation:1.5s ease-in-out infinite liveBulletFade}.game-state.ended{color:var(--magenta)}.game-state.ended i{background:var(--magenta)}.announcements-tile{background:radial-gradient(circle at 90% 0,#ffa30f26,#0000 65%),#ffffff09;border-color:#ffa30f38;flex-direction:column;display:flex}.announcement-slide{flex-direction:column;flex:1;justify-content:center;animation:.55s ease-out announcementFade;display:flex}.announcement-slide>span{color:var(--orange);letter-spacing:.18em;font-size:clamp(9px,.65vw,13px);font-weight:850}.announcement-slide>strong{letter-spacing:-.035em;overflow-wrap:anywhere;margin:clamp(12px,1.2vw,22px) 0;font-size:clamp(22px,2vw,42px);line-height:1.16;display:block}.announcement-slide>small{color:var(--muted);letter-spacing:.14em;font-size:clamp(9px,.6vw,12px)}.announcement-empty-score{color:var(--muted);flex-direction:column;flex:1;justify-content:center;gap:7px;display:flex}.announcement-empty-score strong{color:#fff;font-size:clamp(16px,1.2vw,23px)}.announcement-empty-score span{font-size:11px;line-height:1.5}.logo-tile{background:radial-gradient(circle,#6e36cc2e,#0000 70%),#ffffff06;align-content:center;place-items:center;display:grid}.logo-tile img{object-fit:contain;max-width:min(65%,190px);max-height:70%}.logo-tile p{color:var(--muted);letter-spacing:.2em;text-align:center;margin:7px 0 0;font-size:clamp(7px,.5vw,10px);line-height:1.6}.score-empty{color:var(--muted);place-items:center;min-height:90px;font-size:12px;display:grid}.personal-score-grid{grid-template:"personal timer".55fr"personal announcements"1fr"personal logo".75fr/minmax(520px,1.6fr) minmax(260px,.6fr)}.personal-tile{flex-direction:column;grid-area:personal;justify-content:center;padding:clamp(30px,6vw,100px);display:flex}.personal-tile h1{letter-spacing:-.06em;margin:12px 0 clamp(30px,4vw,65px);font-size:clamp(56px,9vw,150px)}.personal-score{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.personal-score>div{border-right:1px solid var(--line);padding:clamp(18px,2.5vw,38px) 0}.personal-score>div:not(:first-child){padding-left:clamp(18px,2.5vw,38px)}.personal-score>div:last-child{border:0}.personal-score span{color:var(--muted);letter-spacing:.16em;font-size:9px;font-weight:800}.personal-score strong{margin-top:9px;font-size:clamp(32px,4vw,70px);display:block}.personal-score small{color:var(--muted);font-size:.35em}.personal-progress{background:#ffffff17;border-radius:99px;height:7px;margin-top:35px;overflow:hidden}.personal-progress i{background:linear-gradient(90deg,var(--violet),var(--cyan));border-radius:inherit;height:100%;display:block}.personal-tile>p{color:var(--muted);margin-top:18px;font-size:12px}@keyframes rankShift{0%{opacity:.35;transform:translateY(5px)}}@keyframes movePulse{50%{transform:scale(1.5)}}@keyframes liveBulletFade{50%{opacity:.18;transform:scale(.72)}}@keyframes announcementFade{0%{opacity:0;transform:translateY(8px)}}@media (min-width:1600px) and (min-height:900px){.leader-extra{display:grid}.leader-row{min-height:min(3.8vh,52px)}}@media (max-width:1100px){.score-grid{grid-template:"timer announcements""leaders leaders""progress progress""logo logo"/1fr 1fr;height:auto;min-height:calc(100svh - 78px)}.display-timer,.announcements-tile{min-height:250px}.logo-tile{min-height:190px}.leaderboard-tile,.progress-tile{min-height:620px}.personal-score-grid{grid-template-areas:"timer announcements""personal personal""logo logo"}.personal-tile{min-height:600px}}@media (max-width:650px){.score-grid{grid-template-columns:1fr;grid-template-areas:"timer""announcements""leaders""progress""logo";height:auto;padding:10px}.score-tile{padding:20px}.display-timer{min-height:190px}.announcements-tile{min-height:250px}.logo-tile{min-height:230px}.leaderboard-tile,.progress-tile{min-height:auto}.leader-row{grid-template-columns:26px 15px 1fr auto;min-height:47px}.leader-row small{display:none}.question-progress{grid-template-columns:24px 30px minmax(80px,1fr) 62px 22px 22px;min-height:55px}.scoreboard-challenge-icon{width:28px;height:28px}.legend{display:none}.personal-score-grid{grid-template-areas:"timer""announcements""personal""logo"}.personal-tile{min-height:500px;padding:35px 22px}.personal-tile h1{font-size:56px}.personal-score{grid-template-columns:1fr}.personal-score>div{border-right:0;border-bottom:1px solid var(--line);padding:18px 0!important}.personal-score>div:last-child{border-bottom:0}.personal-score strong{font-size:38px}}.admin-page,.admin-login-page{background:radial-gradient(circle at 78% -5%,#ffa30f33,#0000 38rem),radial-gradient(circle at 12%,#6e36cc29,#0000 34rem),#17102b;min-height:100svh}.admin-loading{color:var(--muted);place-items:center;display:grid}.admin-login-page{place-items:center;padding:20px;display:grid}.admin-login{border:1px solid #ffa30f47;border-top:5px solid var(--orange);background:#ffffff0e;border-radius:22px;width:min(430px,100%);padding:42px;box-shadow:0 30px 90px #00000059}.admin-login>img{object-fit:contain;width:180px;height:120px;margin:-12px auto 18px;display:block}.admin-login h1{letter-spacing:-.05em;margin:8px 0;font-size:42px}.admin-login>p{color:var(--muted);font-size:13px}.admin-login input{border:1px solid var(--line);color:#fff;background:#0000002e;border-radius:10px;outline:none;width:100%;height:50px;padding:0 14px}.admin-login>a{color:var(--muted);text-align:center;margin-top:22px;font-size:11px;text-decoration:none;display:block}.admin-header{border-top:4px solid var(--orange);background:linear-gradient(90deg,#ffa30f1f,#17102be6 42%);border-bottom:1px solid #ffa30f3d;justify-content:space-between;align-items:center;min-height:76px;padding:0 clamp(20px,4vw,64px);display:flex}.admin-header .brand-lockup img{width:108px;height:58px}.admin-header>div{align-items:center;gap:14px;display:flex}.admin-header>div>button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:11px}.admin-badge{color:#241940;background:var(--orange);border:1px solid var(--orange);letter-spacing:.17em;border-radius:99px;padding:8px 10px;font-size:8px;font-weight:850}.admin-scoreboard-link{color:var(--orange);border:1px solid #ffa30f47;border-radius:9px;padding:9px 11px;font-size:11px;font-weight:800;text-decoration:none}.admin-page .eyebrow,.admin-login-page .eyebrow{color:var(--orange)}.admin-page .button.primary,.admin-login-page .button.primary{background:var(--orange);color:#241940}.admin-shell{max-width:1500px;margin:auto;padding:clamp(35px,5vw,70px) clamp(18px,4vw,60px) 100px}.admin-title{justify-content:space-between;align-items:flex-end;margin-bottom:35px;display:flex}.admin-title h1{letter-spacing:-.055em;margin:12px 0 8px;font-size:clamp(42px,5.5vw,78px);line-height:1}.admin-title p{color:var(--muted);margin:0}.admin-status{border:1px solid var(--line);letter-spacing:.15em;color:var(--muted);border-radius:99px;align-items:center;gap:8px;padding:10px 13px;font-size:9px;font-weight:850;display:flex}.admin-status i{background:var(--muted);border-radius:50%;width:7px;height:7px}.admin-status.running{color:var(--cyan);border-color:#42bdd14d}.admin-status.running i{background:var(--cyan)}.admin-status.ended{color:var(--magenta);border-color:#cf2b704d}.admin-status.ended i{background:var(--magenta)}.admin-notice{z-index:200;border-radius:11px;justify-content:space-between;width:min(390px,100% - 48px);padding:15px 18px;font-size:12px;display:flex;position:fixed;top:92px;right:24px;box-shadow:0 15px 50px #0000004d}.admin-notice.ok{color:#8de9c4;background:#163d35;border:1px solid #42d19a4d}.admin-notice.error{color:#ff9ac1;background:#481d35;border:1px solid #cf2b7059}.admin-notice button{cursor:pointer;background:0 0;border:0;font-size:20px}.control-grid{grid-template-columns:1.1fr 1.2fr .8fr;gap:15px;display:grid}.admin-panel{background:linear-gradient(145deg,#ffa30f0e,#ffffff08);border:1px solid #ffa30f29;border-radius:17px;flex-direction:column;min-height:250px;padding:24px;display:flex}.admin-panel h2{letter-spacing:-.03em;margin:7px 0 22px;font-size:23px}.duration-picks{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.duration-picks button,.duration-picks label{text-align:center;border:1px solid var(--line);color:#fff;cursor:pointer;background:#0000001f;border-radius:10px;place-content:center;height:72px;font-weight:800;display:grid}.duration-picks button.selected{border-color:var(--cyan);color:var(--cyan);background:#42bdd11a}.duration-picks small{color:var(--muted);letter-spacing:.12em;margin-top:3px;font-size:7px;display:block}.duration-picks input{color:#fff;text-align:center;background:0 0;border:0;outline:none;width:70px;font-weight:800}.timer-control>.button{margin-top:auto!important}.game-buttons{grid-template-columns:1fr 1fr;gap:9px;height:100%;display:grid}.game-buttons button{border:1px solid var(--line);cursor:pointer;text-align:left;background:#ffffff09;border-radius:12px;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:18px;display:flex}.game-buttons button:disabled{opacity:.4;cursor:not-allowed}.game-buttons .start-game{background:#42bdd112;border-color:#42bdd142}.game-buttons span{color:var(--cyan);margin-bottom:auto;font-size:18px}.game-buttons strong{font-size:14px}.game-buttons small{color:var(--muted);margin-top:4px;font-size:9px}.danger-control p{color:var(--muted);font-size:11px;line-height:1.6}.danger-control .button{margin-top:auto!important}.announcement-admin{min-height:0;margin-top:15px}.announcement-admin>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.announcement-admin>header h2{margin:7px 0 5px;font-size:30px}.announcement-admin>header p{color:var(--muted);margin:0;font-size:11px}.announcement-count{color:var(--orange);letter-spacing:.14em;white-space:nowrap;border:1px solid #ffa30f47;border-radius:99px;padding:8px 10px;font-size:9px;font-weight:850}.announcement-admin form{margin-top:22px}.announcement-admin form>label{color:var(--muted);letter-spacing:.15em;margin-bottom:8px;font-size:9px;font-weight:800;display:block}.announcement-admin form>div{grid-template-columns:1fr auto;gap:9px;display:grid}.announcement-admin textarea{resize:vertical;color:#fff;background:#00000029;border:1px solid #ffa30f33;border-radius:10px;outline:none;min-height:82px;padding:13px}.announcement-admin textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px #ffa30f1a}.announcement-admin form .button{min-width:175px}.announcement-admin form>small{text-align:right;color:var(--muted);margin-top:5px;font-size:9px;display:block}.announcement-admin-list{gap:7px;margin-top:16px;display:grid}.announcement-admin-list>article{border:1px solid var(--line);background:#0000001a;border-radius:10px;grid-template-columns:9px 1fr auto auto;align-items:center;gap:12px;padding:11px 13px;display:grid}.announcement-admin-list>article.inactive{opacity:.5}.announcement-admin-list p{margin:0;font-size:12px;line-height:1.45}.announcement-status-dot{background:var(--orange);border-radius:50%;width:7px;height:7px}.announcement-admin-list article.inactive .announcement-status-dot{background:var(--muted)}.announcement-delete{color:#ff83b5;cursor:pointer;background:0 0;border:0;font-size:10px}.announcement-empty{color:var(--muted);padding:10px 0;font-size:11px!important}.question-admin{margin-top:55px}.question-admin-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:19px;display:flex}.question-admin-head h2{margin:8px 0 4px;font-size:30px}.question-admin-head p{color:var(--muted);margin:0;font-size:11px}.question-actions{gap:8px;display:flex}.question-actions a{place-content:center;text-decoration:none;display:grid}.upload-csv{place-content:center;display:grid;position:relative}.upload-csv input{opacity:0;cursor:pointer;position:absolute;inset:0}.question-table{background:#ffffff06;border:1px solid #ffa30f2e;border-radius:15px;overflow:hidden}.question-table-header,.question-row{grid-template-columns:82px minmax(250px,1fr) 80px 90px 80px 120px;align-items:center;gap:12px;padding:0 18px;display:grid}.question-table-header{color:#8f879e;letter-spacing:.15em;background:#ffa30f0e;min-height:42px;font-size:8px;font-weight:800}.question-row{border-top:1px solid var(--line);min-height:82px;transition:opacity .2s}.question-row.inactive{opacity:.48}.question-index{color:var(--orange);font-size:10px}.question-order{align-items:center;gap:9px;display:flex}.question-order>div{gap:3px;display:grid}.question-order button{width:25px;height:22px;color:var(--orange);cursor:pointer;background:#ffa30f12;border:1px solid #ffa30f38;border-radius:5px;line-height:1}.question-order button:disabled{opacity:.25;cursor:not-allowed}.admin-question-title{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid!important}.admin-question-title>span:last-child{gap:5px;min-width:0;display:grid}.admin-question-icon{width:36px;height:36px;color:var(--orange);background:#ffa30f17;border-radius:9px;place-items:center;display:grid}.question-row strong{font-size:13px}.question-row small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.question-row>b{color:var(--orange);font-size:13px}.question-row>span:nth-child(4){color:var(--muted);font-size:10px}.toggle{cursor:pointer;background:#4a4357;border:0;border-radius:99px;width:35px;height:20px;padding:3px}.toggle i{background:#aaa2be;border-radius:50%;width:14px;height:14px;transition:transform .2s;display:block}.toggle.on{background:#ffa30f61}.toggle.on i{background:var(--orange);transform:translate(15px)}.row-actions{gap:5px;display:flex}.row-actions button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#ffffff09;border-radius:7px;padding:7px 9px;font-size:9px}.row-actions .delete{color:#ff83b5}.question-editor{border-left:4px solid var(--orange);background:#2b2048;width:min(680px,100%);height:100%;padding:clamp(55px,6vw,75px) clamp(22px,5vw,62px) 35px;position:relative;overflow-y:auto}.question-editor h2{letter-spacing:-.04em;margin:9px 0 28px;font-size:39px}.question-editor>label,.editor-grid label{gap:8px;margin-bottom:17px;display:grid}.question-editor label>span{color:var(--muted);letter-spacing:.15em;font-size:8px;font-weight:800}.question-editor label>span small{float:right;color:#70697f}.question-editor input,.question-editor textarea{border:1px solid var(--line);color:#fff;resize:vertical;background:#00000029;border-radius:9px;outline:none;width:100%;padding:12px}.question-editor input:focus,.question-editor textarea:focus{border-color:var(--orange)}.editor-grid{grid-template-columns:1fr 120px;gap:12px;display:grid}.icon-picker{border:0;margin:0 0 20px;padding:0}.icon-picker legend{color:var(--muted);letter-spacing:.15em;margin-bottom:9px;font-size:8px;font-weight:800}.icon-picker>div{grid-template-columns:repeat(5,1fr);gap:7px;display:grid}.icon-picker button{border:1px solid var(--line);min-height:69px;color:var(--muted);cursor:pointer;background:#0000001f;border-radius:9px;place-items:center;gap:5px;display:grid}.icon-picker button span{font-size:8px}.icon-picker button.selected{color:var(--orange);border-color:var(--orange);background:#ffa30f1a}.file-drop{border:1px dashed #ffa30f4d;border-radius:10px;margin-top:4px;padding:15px;position:relative}.file-drop input{opacity:0;cursor:pointer;position:absolute;inset:0}.file-drop b{color:var(--orange);font-size:11px;font-weight:650}.existing-files{gap:5px;margin:-7px 0 17px;display:grid}.existing-files>div{color:var(--muted);background:#ffffff0a;border-radius:7px;justify-content:space-between;padding:9px 12px;font-size:10px;display:flex}.existing-files button{color:#ff83b5;cursor:pointer;background:0 0;border:0}.active-check{align-items:center;gap:11px;margin-top:22px;display:flex!important}.active-check input{width:19px;height:19px;accent-color:var(--orange)}.active-check>span{display:grid;font-size:inherit!important;letter-spacing:0!important}.active-check strong{color:#fff;font-size:11px}.active-check small{color:var(--muted);font-size:9px!important}.editor-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;margin-top:25px;padding-top:20px;display:flex}@media (max-width:1000px){.control-grid{grid-template-columns:1fr 1fr}.danger-control{grid-column:1/-1;min-height:190px}.question-admin-head{flex-direction:column;align-items:flex-start}.question-table{overflow-x:auto}.question-table-header,.question-row{min-width:850px}}@media (max-width:650px){.admin-header{min-height:66px;padding:0 15px}.admin-header .brand-lockup img{width:78px;height:52px}.admin-badge{display:none}.admin-header>div{gap:7px}.admin-scoreboard-link{padding:7px;font-size:9px}.admin-shell{padding:35px 15px 70px}.admin-title{align-items:flex-start;gap:20px}.admin-title p{font-size:12px}.admin-title h1{font-size:44px}.control-grid{grid-template-columns:1fr}.danger-control{grid-column:auto}.question-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.question-actions .button.primary{grid-column:1/-1}.admin-panel{min-height:245px}.announcement-admin{min-height:0}.announcement-admin>header{flex-direction:column;align-items:flex-start}.announcement-admin form>div{grid-template-columns:1fr}.announcement-admin form .button{min-width:0}.announcement-admin-list>article{grid-template-columns:9px 1fr auto}.announcement-admin-list .announcement-delete{grid-column:2/-1;justify-self:end}.admin-login{padding:30px 24px}.question-editor{padding:58px 20px 30px}.editor-grid{grid-template-columns:1fr}.icon-picker>div{grid-template-columns:repeat(3,1fr)}.editor-actions{grid-template-columns:1fr 1fr;display:grid}}.status-chip{font-size:15px}.tile-kicker{font-size:clamp(12px,.84vw,16.5px)}.live-dot,.case-number,.points,.state,.eyebrow,.field-label,.stat-strip span{font-size:13.5px}.answer-row input{height:74px;padding:0 20px}.answer-row .button{min-height:74px}.score-grid:not(.personal-score-grid){grid-template-rows:minmax(150px,.55fr) minmax(340px,1.4fr) minmax(170px,.55fr)}.leaderboard-tile .tile-heading h1,.progress-tile .tile-heading h2{margin-top:0;font-size:clamp(44px,4vw,80px)}.leader-row{text-align:left;background:0 0;border-bottom:0;border-left:0;border-right:0;grid-template-columns:42px 28px minmax(160px,1fr) auto auto;width:100%;min-height:clamp(64px,7vh,92px);padding:0;position:relative}.leader-row strong{font-size:clamp(26px,2.2vw,44px)}.leader-row small{font-size:clamp(15px,1.1vw,22px)}.leader-row b{font-size:clamp(26px,1.9vw,38px)}.leader-row .rank{font-size:clamp(18px,1.2vw,24px)}.movement{font-size:14px}.question-progress{grid-template-columns:36px 40px minmax(160px,1.3fr) minmax(90px,1fr) 38px 38px;min-height:clamp(54px,5.6vh,72px)}.question-progress>strong{font-size:clamp(22px,1.75vw,35px)}.q-number,.count{font-size:clamp(15px,1vw,20px)}.split-bar{height:9px}.display-timer .tile-kicker{letter-spacing:.08em;font-size:clamp(48px,3.4vw,68px);line-height:.92}.game-state{font-size:clamp(18px,1.25vw,26px)}.game-state i{width:12px;height:12px;margin-right:10px}.podium-concealed>:not(.podium-cover){visibility:hidden}.podium-cover{color:var(--muted);letter-spacing:.16em;text-align:center;background:linear-gradient(90deg,#6e36cc1f,#ffffff08);place-content:center;font-size:clamp(15px,1.2vw,24px);font-weight:850;display:grid;position:absolute;inset:0}.podium-ready{cursor:pointer;border-color:#ffa30f8c}.podium-ready .podium-cover{color:var(--orange);background:linear-gradient(90deg,#ffa30f29,#6e36cc24);animation:1.6s ease-in-out infinite revealPulse}@keyframes revealPulse{50%{filter:brightness(1.25)}}@media (max-width:1100px){.display-timer,.announcements-tile{min-height:250px}.leaderboard-tile,.progress-tile{min-height:900px}}@media (max-width:650px){.display-timer{min-height:220px}.display-timer .tile-kicker{font-size:44px}.leaderboard-tile,.progress-tile{min-height:auto}.leader-row{grid-template-columns:34px 22px minmax(130px,1fr) auto;min-height:76px}.leader-row strong{font-size:28px}.leader-row b{font-size:24px}.question-progress{grid-template-columns:30px 34px minmax(125px,1fr) 70px 30px 30px;min-height:65px}.question-progress>strong{font-size:24px}}.site-access-page{background:radial-gradient(circle at 50% 20%,#ffa30f29,#0000 34rem),radial-gradient(circle at 78% 72%,#6e36cc38,#0000 30rem),#17102b;place-items:center;min-height:100svh;padding:24px;display:grid}.site-access-card{border:1px solid var(--line);text-align:center;background:#241940e6;border-radius:24px;width:min(480px,100%);padding:clamp(30px,5vw,48px);box-shadow:0 32px 100px #00000073}.site-access-card>img{object-fit:contain;width:220px;height:auto;margin:-22px auto 7px;display:block}.site-access-card h1{letter-spacing:-.055em;margin:10px 0 8px;font-size:clamp(38px,7vw,56px)}.site-access-card>p{color:var(--muted);margin:0 auto 25px;font-size:14px;line-height:1.55}.site-access-card form{text-align:left}.site-access-card input{border:1px solid var(--line);color:#fff;background:#0003;border-radius:11px;outline:none;width:100%;height:62px;padding:0 16px;font-size:18px}.site-access-card input:focus{border-color:var(--orange);box-shadow:0 0 0 3px #ffa30f1f}.site-access-card>small{color:#847d94;margin-top:19px;font-size:11px;display:block}
