:root{color-scheme:dark;--bg:#0d1114;--surface:#13191e;--ink:#e4e1d8;--muted:#939b9e;--line:#2d373e;--accent:#acb3a3;--error:#d1a39b;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;background:var(--bg);color:var(--ink);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0}button,input,textarea{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #b3c1c7;outline-offset:5px}button{touch-action:manipulation}h1,h2,p{margin:0}button{border:0}input{min-width:0}.eyebrow,.section-number{font-size:10px;letter-spacing:.18em;font-weight:500;color:var(--muted);text-transform:uppercase}.brand{font-family:Georgia,Times New Roman,serif;display:inline-block;font-size:clamp(39px,10vw,64px);letter-spacing:.24em;line-height:1.2;font-weight:400;white-space:nowrap}.brand-x{color:#b6b7a3}.brand-small{font-size:20px;letter-spacing:.18em}.muted{color:var(--muted);line-height:1.7;font-size:14px}.dim{color:#7c878d}.login-page{overflow:hidden}.login-hero{height:100svh;min-height:630px;max-height:1050px;position:relative;isolation:isolate;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;padding:28px 24px 40px;background:radial-gradient(ellipse at 55% 40%,#19212765,transparent 65%)}.hero-top{position:absolute;top:max(28px,env(safe-area-inset-top));left:24px;right:24px;display:flex;justify-content:space-between;align-items:center}.hero-top .eyebrow{font-size:8px;letter-spacing:.16em}.edition{font-size:9px;letter-spacing:.1em;color:#67767f}.math-scene{position:absolute;inset:30px -16% 18%;z-index:-1}.math-scene canvas{width:100%;height:100%;display:block}.scene-poster{position:absolute;inset:0;width:100%;height:100%;transition:opacity 1s}.scene-ready .scene-poster{opacity:0}.scene-placeholder{position:absolute;inset:100px 20px 30%;background:radial-gradient(ellipse,#39434c22,transparent 70%)}.hero-wordmark{text-align:center;margin-bottom:74px;position:relative}.hero-wordmark p{font-size:11px;color:#949d9e;letter-spacing:.05em;margin-top:18px}.scroll-cue{display:grid;justify-items:center;gap:15px;font-family:Georgia,serif;font-size:13px;letter-spacing:.12em;text-decoration:none;color:#b3b8b8;min-height:48px}.scroll-cue span{animation:scroll-hint 2.8s ease-in-out infinite;font-family:system-ui;font-size:22px;color:#7a8c96}@keyframes scroll-hint{0%,to{transform:translateY(0);opacity:.45}50%{transform:translateY(7px);opacity:1}}.skip-link{position:absolute;left:15px;top:-100px;z-index:10;background:var(--ink);color:var(--bg);padding:14px}.skip-link:focus{top:15px}.credential-section{min-height:90svh;padding:80px 26px 32px;border-top:1px solid #283139;background:linear-gradient(180deg,#11171c,var(--bg))}.credential-inner{max-width:420px;margin:auto}.section-number{font-size:10px;letter-spacing:.2em;margin-bottom:28px;color:#9aa394}.credential-section h1{font-family:Georgia,serif;font-weight:400;font-size:36px;line-height:1.2;letter-spacing:-.025em;margin-bottom:18px}.credential-section .muted{margin-bottom:36px}.credential-section form{display:grid;gap:24px}label{font-size:12px;color:#c4c8c7;letter-spacing:.025em}input{display:block;width:100%;background:#10171c;border:1px solid #39454e;border-radius:5px;padding:17px 15px;color:var(--ink);margin-top:10px;line-height:1.4;transition:border-color .2s;font-size:16px}input::placeholder{color:#62707a}input:focus{border-color:#9da8a9;outline:0;box-shadow:0 0 0 1px #9da8a9}.password-wrap{position:relative;display:block}.password-wrap input{padding-right:65px}.password-toggle{position:absolute;right:3px;top:3px;bottom:3px;padding:0 14px;background:transparent;color:#a0aaaf;font-size:12px}.primary{border:1px solid #a7ada0;background:#adb2a4;color:#151a1d;font-weight:550;border-radius:5px;min-height:54px;padding:15px 18px;display:flex;justify-content:space-between;align-items:center;gap:15px;transition:background .2s,transform .15s}.primary:hover:not(:disabled){background:#c0c3b7}.primary:active:not(:disabled){transform:translateY(1px)}.primary span{font-size:20px;font-weight:400}.full{width:100%}.secondary{background:transparent;border:1px solid #48535b;color:#c6cccc;min-height:44px;padding:10px 16px;border-radius:5px}.text-button{background:none;padding:12px 0;color:#a5afb4;font-size:13px;text-underline-offset:4px;min-height:44px}.text-button:hover{text-decoration:underline}.activation-toggle{margin-top:13px}.login-footnote{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:25px;margin-top:60px;font-size:9px;color:#728087;letter-spacing:.08em}.notice{border:1px solid #46534c;background:#1b2421;padding:14px;border-radius:5px;color:#c2c9bd;font-size:13px;line-height:1.6;overflow-wrap:anywhere;margin:15px 0;display:flex;gap:12px;align-items:center;justify-content:space-between}.notice.error{color:#d4b9b2;background:#211d1d;border-color:#5a4441}.notice .text-button{flex-shrink:0}.game-shell{max-width:650px;margin:0 auto;padding:max(22px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));min-height:100svh;display:flex;flex-direction:column}.game-brand-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.session-tools{display:flex;align-items:center;gap:15px}.slot-tag{font-size:9px;color:#7e8d93;letter-spacing:.12em}.icon-button{background:transparent;color:#a9b1b1;border:1px solid #2d373e;border-radius:50%;width:40px;height:40px;font-size:20px}.team-strip{display:grid;grid-template-columns:minmax(80px,1fr) auto auto;align-items:center;gap:13px;font-size:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;color:#a9b0b0}.team-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550;letter-spacing:.06em;color:#c9cdca}.strip-score{font-variant-numeric:tabular-nums;white-space:nowrap}.strip-score small{font-size:9px;color:#7d8a91}.strip-rank{border-left:1px solid var(--line);padding-left:13px;white-space:nowrap;color:#859199;font-size:9px}.strip-rank b{color:#b7bfbd;font-size:11px;font-weight:500;margin-left:5px}.connection-row{display:flex;align-items:center;justify-content:space-between;margin:4px 0 17px;min-height:38px}.connection-label{font-size:10px;color:#7c8a91;display:flex;gap:7px;align-items:center}.status-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:#a18c78;flex-shrink:0}.online .status-dot,.status-dot.saved{background:#9eac91}.offline{color:#c1a792}.tiny{font-size:10px;padding:8px 0;min-height:36px}.round-content{flex:1}.question-panel{animation:question-in .45s ease-out}.question-meta{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:8px 0 34px}.question-meta>.eyebrow{font-size:9px;letter-spacing:.1em}.question-meta .timer{text-align:right;display:flex;flex-direction:column;gap:6px}.timer .eyebrow{font-size:8px;letter-spacing:.1em}.timer-value{font-size:25px;letter-spacing:.025em;font-variant-numeric:tabular-nums;font-weight:400}.time-low .timer-value{color:#c7a398}.question-body{margin:0 0 30px}.question-body h1{font-size:clamp(24px,6.2vw,34px);line-height:1.55;letter-spacing:-.025em;font-weight:450;color:#e5e2da}.rich-text{white-space:pre-wrap;overflow-wrap:anywhere}.rich-text .katex{font-size:1.08em}.katex-display{overflow:auto hidden;max-width:100%;padding:5px 0}.question-image{display:block;width:auto;max-width:100%;max-height:48svh;object-fit:contain;border-radius:4px;margin:25px auto 5px;background:#151b20}.mcq-form fieldset{border:0;padding:0;margin:0;display:grid;gap:12px;min-width:0}.answer-option{position:relative;display:flex;align-items:center;gap:15px;min-height:67px;border:1px solid #343f47;border-radius:6px;padding:15px 16px;cursor:pointer;background:#131a1f60;transition:border-color .2s,background .2s,transform .15s}.answer-option:hover{border-color:#6a7980}.answer-option input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.answer-option:has(input:focus-visible){outline:2px solid #b3c1c7;outline-offset:3px}.answer-option.selected{border-color:#98a295;background:#26302966}.option-letter{font-family:Georgia,serif;color:#a6ad9c;font-size:21px;min-width:22px;flex-shrink:0;border-right:1px solid #384047;padding-right:12px}.option-content{flex:1;font-size:15px;line-height:1.5;min-width:0;color:#d1d4d0}.option-image{max-width:100%;max-height:230px;display:block;object-fit:contain;margin:8px 0}.option-check{color:#b2b9a5;min-width:10px}fieldset:disabled .answer-option{opacity:.6;cursor:default}.submit-answer{margin-top:26px}.micro-copy{color:#849198;font-size:11px;line-height:1.75;margin-top:16px}.numeric-form>label{font-size:12px}.numeric-form input{font-size:24px;letter-spacing:.02em;padding:18px 16px}.save-state{font-size:11px;color:#96a397;margin:13px 0 24px;display:flex;gap:7px;align-items:center;line-height:1.5;min-height:20px}.answer-actions{display:grid;gap:5px}.answer-actions .text-button{text-align:center;margin-top:5px}.game-footer{display:flex;justify-content:space-between;font-size:8px;color:#63737c;letter-spacing:.12em;margin-top:52px;padding-top:20px;border-top:1px solid #222d34}.waiting-panel{text-align:center;padding:30px 0}.waiting-art{max-width:300px;margin:5px auto 35px;opacity:.55}.waiting-art svg{width:100%;fill:none;stroke:#7c909a;stroke-width:.7;animation:waiting-breathe 7s ease-in-out infinite}.waiting-panel h1{font-family:Georgia,serif;font-weight:400;font-size:34px;line-height:1.3;margin:21px 0 18px}.waiting-panel>p{font-size:14px;color:#a0aaad;line-height:1.8;max-width:380px;margin:0 auto 25px}.waiting-panel .timer{margin:25px 0;display:grid;gap:10px}.waiting-panel .timer-value{font-size:33px}.waiting-panel .micro-copy{font-size:11px;color:#829096}.waiting-panel>.primary{margin-top:28px}.relay-steps{display:flex;justify-content:space-between;gap:10px;margin:32px 0;padding:22px 0;border-block:1px solid var(--line)}.relay-steps>span{display:flex;flex-direction:column;gap:9px;flex:1;color:#57656c}.relay-steps b{font-size:18px;font-weight:400}.relay-steps small{font-size:8px;letter-spacing:.09em}.relay-steps .current{color:#ced0c1}.relay-steps .complete{color:#829680}.waiting-panel p.ready-note{font-size:12px;color:#9da998}.connecting{min-height:100svh;max-width:450px;margin:auto;padding:60px 28px;display:flex;flex-direction:column;justify-content:center;gap:24px}.connecting h1{font-family:Georgia,serif;font-weight:400;font-size:32px}.connecting p{font-size:14px;line-height:1.8;color:#a2adb1}.loading-line{height:1px;background:#53656e;animation:waiting-breathe 2s infinite}.score-reveal{position:fixed;inset:0;background:#0c1116;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:40px 24px;animation:reveal-enter .45s ease-out}.reveal-curves{position:absolute;width:min(145vw,700px);height:90svh;opacity:.35;pointer-events:none;animation:reveal-expand 2.8s ease-out both}.reveal-curves svg{width:100%;height:100%;fill:none;stroke:#8b9da7;stroke-width:.6}.reveal-content{position:relative;text-align:center;width:100%;max-width:400px}.reveal-content>.eyebrow{font-size:10px;letter-spacing:.25em;color:#a7b3b7}.earned{font-family:Georgia,serif;font-weight:400;font-size:clamp(78px,22vw,130px);letter-spacing:-.045em;color:#e2dfd2;margin:15px 0 25px;line-height:1.2}.earned.negative{color:#c6aca3}.reveal-divider{width:35px;height:1px;background:#84918e;margin:30px auto 35px}.reveal-total{font-family:Georgia,serif;font-size:52px;margin:15px 0}.reveal-content p{color:#89989f;font-size:12px;margin-top:25px}.reveal-close{position:absolute;bottom:max(38px,env(safe-area-inset-bottom));min-width:160px;font-size:12px;letter-spacing:.08em}.reveal-close span{margin-left:15px}.modal-backdrop{position:fixed;inset:0;background:#070b0fc9;backdrop-filter:blur(7px);z-index:60;display:flex;align-items:center;justify-content:center;padding:25px}.confirm-dialog{width:100%;max-width:410px;background:#172026;border:1px solid #4a575d;padding:28px;border-radius:8px;box-shadow:0 25px 80px #0005}.confirm-dialog h2{font-family:Georgia,serif;font-size:27px;font-weight:400;line-height:1.3}.confirm-dialog p{font-size:14px;line-height:1.7;color:#aeb8ba;margin:18px 0 25px}.dialog-actions{display:flex;gap:12px}.dialog-actions button{flex:1;justify-content:center}.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 question-in{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes waiting-breathe{0%,to{opacity:.35}50%{opacity:.8}}@keyframes reveal-enter{0%{opacity:0}to{opacity:1}}@keyframes reveal-expand{0%{transform:scale(.72) rotate(-10deg);opacity:0}to{transform:scale(1.1) rotate(9deg);opacity:.35}}@media(min-width:700px){.login-hero{max-height:1000px;min-height:750px}.hero-top{max-width:650px;left:50%;transform:translate(-50%);width:calc(100% - 70px)}.math-scene{inset:20px 10% 17%}.credential-section{padding-top:110px}.game-shell{padding-inline:35px}.question-body h1{font-size:32px}.hero-wordmark p{font-size:13px}.game-header{padding-top:15px}.team-strip{font-size:12px}.strip-rank{font-size:10px}}@media(max-width:359px){.game-shell{padding-inline:17px}.team-strip{gap:8px}.strip-rank{padding-left:8px;font-size:8px}.brand-small{font-size:18px}.question-meta{gap:8px}.question-meta>.eyebrow{font-size:8px}.credential-section h1{font-size:31px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.question-leaderboard{padding:30px 0;animation:question-in .4s ease-out}.question-leaderboard h1{font-family:Georgia,serif;font-size:38px;font-weight:400;margin:18px 0 10px}.board-intro{font-size:13px;color:#9ca9af;margin-bottom:27px}.board-table-wrap{border-top:1px solid #354149;border-bottom:1px solid #354149;max-height:min(56svh,480px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.question-leaderboard table{border-collapse:separate;border-spacing:0;width:100%;table-layout:fixed;font-size:13px}.question-leaderboard thead th{position:sticky;top:0;z-index:1;background:#11181d;border-bottom:1px solid #354149;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#86969e;font-weight:400;text-align:left;padding:14px 10px}.question-leaderboard td,.question-leaderboard tbody th{padding:17px 10px;border-top:1px solid #28333b;text-align:left;font-weight:400;overflow-wrap:anywhere}.question-leaderboard tbody tr:first-child td,.question-leaderboard tbody tr:first-child th{border-top:0}.question-leaderboard tbody th{color:#c8cfcc}.question-leaderboard td:first-child,.question-leaderboard thead th:first-child{color:#83949e;width:58px}.question-leaderboard td:last-child,.question-leaderboard thead th:last-child{text-align:right;font-variant-numeric:tabular-nums;width:88px}.question-leaderboard .my-team{background:#232e2966}.question-leaderboard .my-team td,.question-leaderboard .my-team th{color:#c8d0bd}.question-leaderboard th small{display:block;color:#8b9c8d;font-size:9px;margin-top:5px}.own-standing{margin-top:18px;border:1px solid #3b4742;border-radius:5px;padding:14px;display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#bec6b7}.next-question-note{margin-top:30px;padding-top:22px;border-top:1px solid #29343a;font-size:13px;line-height:1.8;color:#a3afb1}
