@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap";:root{font-family:DM Sans,sans-serif;color:#f4f6fb;background:#07101f;font-synthesis:none;text-rendering:optimizeLegibility;--navy:#091326;--panel:#101e34;--panel2:#14243d;--red:#e43b49;--gold:#e9bd65;--muted:#98a8bf;--line:rgba(255,255,255,.1);--green:#36c995}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 50% -20%,#1c3153 0,#091326 45%,#060d19);min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1320px)/2));background:#050c18b8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:12px}.brand-icon,.brand-mark{display:grid;place-items:center;background:linear-gradient(145deg,#ff5962,#a9132c);color:#fff;border:1px solid #f1c66c;box-shadow:0 0 24px #e43b4944;border-radius:13px;width:42px;height:42px}.brand b{font:700 17px Space Grotesk;letter-spacing:1.4px}.brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:1.6px;margin-top:3px}.top-right,.live-pill{font-size:10px;letter-spacing:1.4px;color:#b9c7d9}.live-dot,.live-pill i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green);margin-right:7px}.container{max-width:1320px;margin:auto;padding:38px 24px 70px}.welcome-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.welcome-row h1{font:700 clamp(26px,3vw,38px) "Space Grotesk";margin:7px 0}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:800}.muted{color:var(--muted)}.actions,.utility-links{display:flex;gap:9px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:11px 15px;color:#f7f8fc;background:#182842;font-weight:700;font-size:11px;letter-spacing:.4px;text-decoration:none;transition:.18s}.button svg{width:16px;height:16px}.button:hover{transform:translateY(-1px);filter:brightness(1.12)}.button.primary{background:linear-gradient(120deg,#f04b56,#b51e37);border-color:#ff7780;box-shadow:0 8px 24px #d52d4433}.button.ghost{background:#14233a}.button.success{background:#12684f;border-color:#36c995}.button.danger{background:#521e2c;border-color:#a83b4b}.button.full{width:100%}.panel{background:linear-gradient(145deg,#14243df5,#0b1729f5);border:1px solid var(--line);border-radius:17px;padding:23px;box-shadow:0 18px 45px #0002}.create-panel{margin-bottom:24px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;color:var(--gold)}.section-heading h2{color:#f4f6fb;font:700 21px Space Grotesk;margin:5px 0}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}label{display:grid;gap:8px;color:#c5d0df;font-size:12px;font-weight:600}input,select{background:#081426;border:1px solid #31425a;border-radius:9px;padding:12px;color:#f5f7fb;outline:none;min-width:0}input:focus,select:focus{border-color:var(--gold);box-shadow:0 0 0 3px #e9bd6519}.match-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:23px 26px;background:linear-gradient(105deg,#182b49,#101b30);border:1px solid #34435a;border-radius:16px;margin-bottom:18px}.match-banner h2{font:700 24px Space Grotesk;margin:6px 0}.match-banner p{color:var(--muted);font-size:12px;margin:0}.code-box{background:#091426;border:1px solid #8b6838;border-radius:12px;padding:12px 18px;text-align:center;min-width:180px}.code-box small,.code-box button{display:block;color:var(--gold);font-size:9px;letter-spacing:1.4px}.code-box strong{display:block;font:700 23px Space Grotesk;letter-spacing:1.5px;margin:5px 0}.code-box button{background:none;border:0;margin:auto;cursor:pointer}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.stat-card{padding:17px;background:#112139;border:1px solid var(--line);border-radius:13px;display:grid;gap:6px}.stat-card>div{color:var(--gold)}.stat-card small{font-size:9px;letter-spacing:1.3px;color:var(--muted)}.stat-card strong{font:700 23px Space Grotesk}.dashboard-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:18px}.timer-display{text-align:center;padding:16px;border-radius:13px;background:radial-gradient(circle,#243b5b,#0b1729);border:1px solid #344762;margin-bottom:17px}.timer-display small,.timer-display span{display:block;color:var(--muted);font-size:10px;letter-spacing:1.8px}.timer-display strong{display:block;font:700 55px Space Grotesk;color:var(--gold);line-height:1.2;margin:3px}.control-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.control-buttons .button{min-height:45px}.team-list{display:grid;gap:7px}.team-row{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;background:#0b182b;border:1px solid #ffffff0c}.rank{width:25px;height:25px;display:grid;place-items:center;border-radius:7px;background:#273a55;color:var(--gold);font-weight:800}.team-info{flex:1;min-width:0}.team-info b,.team-info small{display:block}.team-info b{font-size:12px}.team-info small{font-size:10px;color:var(--muted);margin-top:3px}.connection{font-size:8px;letter-spacing:.7px;color:var(--green);white-space:nowrap}.connection.offline{color:#ff6872}.score{font:700 18px Space Grotesk;color:var(--gold);min-width:35px;text-align:right}.add-team{border-top:1px solid var(--line);margin-top:17px;padding-top:14px;display:grid;gap:9px}.add-team h3{margin:0 0 2px;font:600 14px Space Grotesk}.utility-panel{margin-top:18px}.notice{position:fixed;bottom:20px;right:20px;background:#1a3451;border:1px solid #e9bd65;border-radius:10px;padding:13px 17px;max-width:420px;box-shadow:0 10px 30px #0008;font-size:12px;z-index:10}.login-page,.setup-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card,.setup{width:min(100%,420px);text-align:center}.login-card{background:#101e34;border:1px solid var(--line);padding:36px;border-radius:20px;box-shadow:0 20px 60px #0006}.login-card .brand-mark,.setup-wrap .brand-mark{margin:0 auto 15px}.login-card h1,.setup-wrap h1{font:700 30px Space Grotesk;letter-spacing:2px;margin:0}.login-card input{width:100%;margin:18px 0 10px;text-align:center;letter-spacing:5px}.login-card small{display:block;color:var(--muted);margin-top:14px;font-size:10px}.setup-wrap{text-align:center}.setup-wrap>p{letter-spacing:2px;color:var(--muted);font-size:10px}.setup{text-align:left;margin-top:20px}.setup h2{font:700 20px Space Grotesk}.setup p,.setup li{font-size:13px;line-height:1.7;color:#c3cfdf}.setup .warning{color:#ffd17c}.student-page{min-height:100vh;max-width:560px;margin:auto;padding:20px 22px 30px;display:flex;flex-direction:column;align-items:center;background:radial-gradient(ellipse at 50% 30%,#1d3151 0,#091326 65%)}.student-head{width:100%;display:flex;align-items:center;gap:10px;font:700 15px Space Grotesk;letter-spacing:1.3px}.student-head .connection{margin-left:auto}.student-match{text-align:center;margin:48px 0 22px}.student-match small{color:var(--gold);letter-spacing:1px}.student-match h2{font:700 29px Space Grotesk;margin:8px 0}.student-match p,.student-status{font-size:10px;letter-spacing:2px;color:var(--muted)}.student-join{width:100%;margin:auto 0;display:grid;gap:14px;text-align:center}.student-join h1{font:700 28px Space Grotesk}.student-join p{color:var(--muted);font-size:13px}.student-join input,.student-join select{width:100%;padding:16px}.student-status{margin:12px 0 18px}.giant-bell{width:min(76vw,330px);height:min(76vw,330px);border-radius:50%;border:9px solid #ff9a9f;background:radial-gradient(circle at 40% 30%,#ff727b,#d51e36 65%,#78132b);box-shadow:0 0 0 12px #f0445230,0 0 75px #f0445266,inset 0 -15px 30px #650c23;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;transition:.12s}.giant-bell:active{transform:scale(.96)}.giant-bell b{font:800 34px Space Grotesk;letter-spacing:2px}.giant-bell small{font-size:9px;letter-spacing:2px}.giant-bell.disabled{filter:grayscale(.8);opacity:.5;box-shadow:none}.student-foot{margin-top:auto;padding-top:35px;width:100%;display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.student-foot span{display:flex;gap:6px;align-items:center}.display-page{min-height:100vh;background:radial-gradient(ellipse at 50% 42%,#1b2c4b,#081326 65%,#050b16);padding:25px 4vw;display:flex;flex-direction:column;overflow:hidden}.display-top,.display-footer{display:flex;justify-content:space-between;align-items:center}.live-pill{border:1px solid #36c99566;padding:8px 13px;border-radius:30px;color:#77e5bd}.arena{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden}.arena-lines{position:absolute;width:min(75vw,700px);height:min(75vw,700px);border:1px solid #e9bd6522;border-radius:50%;box-shadow:0 0 0 50px #e9bd6507,0 0 0 100px #e9bd6505,0 0 80px #e43b4922;pointer-events:none}.arena h1{position:relative;font:700 clamp(25px,5vw,58px) "Space Grotesk";letter-spacing:2px;margin:20px 0;color:#f5f7fb;text-shadow:0 0 30px #e43b4955}.arena-number{font:700 clamp(100px,18vw,190px) "Space Grotesk";line-height:1;color:var(--gold);text-shadow:0 0 50px #e9bd6577}.arena-caption{letter-spacing:4px;color:var(--muted);font-size:10px}.arena-status{margin-top:30px;border:1px solid #e9bd6566;border-radius:30px;padding:11px 24px;color:var(--gold);font-size:10px;letter-spacing:2px}.winner-reveal{display:grid;justify-items:center;gap:7px;color:var(--gold);margin:10px}.winner-reveal strong{font:700 clamp(30px,6vw,60px) "Space Grotesk";color:#fff;text-shadow:0 0 30px #e43b49}.winner-reveal small,.winner-reveal span{font-size:11px;color:var(--muted);letter-spacing:1px}.display-footer{color:var(--muted);font-size:10px;letter-spacing:1.5px}.student-page .button{min-height:48px}@media(max-width:900px){.form-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.welcome-row{align-items:flex-start;flex-direction:column}.stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.topbar{padding:0 16px}.container{padding:25px 14px 55px}.form-grid{grid-template-columns:1fr}.match-banner{align-items:flex-start;flex-direction:column}.code-box{width:100%}.stat-grid{gap:8px}.stat-card{padding:13px}.control-buttons{grid-template-columns:1fr}.panel{padding:17px}.actions{width:100%}.actions .button{flex:1}.display-page{padding:17px}.display-top .brand small{font-size:7px}}.login-links{display:flex;justify-content:space-between;margin:14px 0}.login-links button{background:none;border:0;color:var(--gold);font-size:11px;cursor:pointer}.recovery-code{display:block;background:#081426;border:1px dashed var(--gold);padding:17px;border-radius:10px;font:700 20px Space Grotesk;letter-spacing:2px;color:var(--gold);margin:18px 0}.connection-strip{position:absolute;bottom:15px;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;max-width:90%;z-index:2}.connection-strip span{font-size:9px;letter-spacing:.4px;padding:6px 9px;border:1px solid #36c99555;border-radius:20px;color:#7be5bd;background:#071323bb}.connection-strip span i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#36c995;margin-right:5px}.connection-strip span.offline{border-color:#e43b4966;color:#ff8990}.connection-strip span.offline i{background:#e43b49}.final-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.final-screen h1{font:700 clamp(32px,6vw,64px) "Space Grotesk";margin:12px 0 35px;color:#fff;text-shadow:0 0 30px #e9bd6577}.podium{display:flex;align-items:flex-end;justify-content:center;gap:16px;width:min(100%,900px)}.podium-place{width:30%;min-height:190px;border:1px solid #e9bd6588;border-radius:18px 18px 5px 5px;background:linear-gradient(180deg,#253958,#111d31);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:18px;animation:rise .8s ease both}.podium-place b{font:700 clamp(15px,2.5vw,26px) "Space Grotesk"}.podium-place strong{color:var(--gold);font-size:14px}.podium-place small{font-size:10px;letter-spacing:2px;color:var(--gold)}.place-1{min-height:270px;border-color:#f5d68d;box-shadow:0 0 40px #e9bd6530}.place-2{min-height:220px}.place-3{min-height:180px}@keyframes rise{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.final-table{width:min(100%,900px);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#0b182b}.final-row{display:grid;grid-template-columns:.8fr 2.2fr .7fr .7fr .8fr;gap:12px;align-items:center;padding:13px 18px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.final-row:last-child{border:0}.final-head{background:#1b2d49;color:var(--gold);font-size:9px;letter-spacing:1px}.final-row span small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.final-row strong{color:var(--gold)}@media(max-width:600px){.final-row{font-size:10px;gap:5px;padding:10px 7px}.final-head{font-size:7px}.podium{gap:6px}.podium-place{padding:8px;min-height:140px}.place-1{min-height:195px}.place-2{min-height:165px}.place-3{min-height:130px}.connection-strip{bottom:5px}.connection-strip span{font-size:7px}}
