.confirm-overlay{position:fixed;inset:0;z-index:1000;background:#0009;display:grid;place-items:center;padding:20px}.confirm-dialog{width:min(440px,100%);background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:22px;box-shadow:0 16px 60px #0006}.confirm-dialog h2{font:600 16px var(--font-body);margin:0 0 12px}.confirm-dialog p{font:400 13px/1.6 var(--font-body);margin:0;white-space:pre-wrap}.confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.confirm-actions button{border:1px solid var(--line);border-radius:5px;padding:8px 14px;background:var(--accent);color:var(--bg);font:500 13px var(--font-body)}.confirm-actions .secondary{background:var(--panel);color:var(--text)}.site-notifications{position:relative}.unread-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--bg);min-width:18px;border-radius:12px;padding:1px 5px;font-size:11px}.notification-popover{position:absolute;z-index:300;right:0;top:calc(100% + 10px);width:min(360px,calc(100vw - 28px));max-height:70vh;overflow:auto;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 30px #0005;padding:12px;font-size:12px}.notification-popover header{display:flex;justify-content:space-between;align-items:center}.notification-popover button{background:none;color:var(--text);border:1px solid var(--line);padding:4px 6px;font-size:11px;border-radius:4px}.notification-actions{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.notification-popover ul{padding:0;list-style:none;margin:0}.notification-popover li{padding:10px 0;border-top:1px solid var(--line)}.notification-popover li.unread{border-left:2px solid var(--accent);padding-left:8px}.notification-popover a{color:var(--text);font-weight:500}.notification-popover p{margin:5px 0;color:var(--muted);line-height:1.5}.notification-popover time{font-size:11px;color:var(--muted);margin-right:8px}.manual-answer{width:100%;font-size:13px}.manual-answer form{display:flex;flex-direction:column;gap:8px}.manual-answer textarea{width:100%;min-height:150px;resize:vertical;font:13px/1.5 var(--font-mono);border:1px solid var(--line);background:var(--panel);color:var(--text);padding:10px;border-radius:5px}.manual-answer form>button{align-self:flex-end}.manual-result{border-left:2px solid var(--accent);padding-left:10px;margin:10px 0}.manual-result span{margin-left:10px}.manual-result p{margin:6px 0}.manual-answer details{margin-top:10px}.manual-answer ul{padding-left:20px}.manual-answer li{padding:5px 0}.manual-table{overflow:auto}.manual-table table{width:100%;border-collapse:collapse;font-size:13px}.manual-table th,.manual-table td{text-align:left;border-bottom:1px solid var(--line);padding:9px 10px}.manual-table th{font-weight:500;color:var(--muted)}.manual-table small{display:block;color:var(--muted)}.manual-toolbar{display:flex;align-items:end;gap:12px;margin-bottom:14px}.manual-toolbar label{display:flex;flex-direction:column;gap:6px;font-size:13px}.manual-review-detail{border-top:1px solid var(--line);margin-top:22px;padding-top:16px}.manual-answer-text{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:12px;max-height:50vh;overflow:auto;font:13px/1.5 var(--font-mono)}.manual-review-detail fieldset{border:0;margin:16px 0 0;padding:0}.manual-ai-advice{font-size:13px;border-left:2px solid var(--accent);padding:8px 12px;margin:12px 0}.manual-ai-advice p{margin:6px 0}.manual-ai-advice small{color:var(--muted)}.manual-flag-fields{display:flex;flex-direction:column;gap:8px;flex:1;min-width:200px}.manual-flag-fields label{font-size:13px}.manual-flag-fields textarea{width:100%;font-size:13px}.manual-flag-fields small{color:var(--muted);font-size:12px}.drawer-foot:has(.manual-answer){max-height:55vh;overflow:auto}@media(max-width:720px){.manual-table th,.manual-table td{padding:7px}.manual-toolbar{flex-wrap:wrap}.manual-flag-fields{min-width:0;width:100%}}.assistant-page{display:flex;flex-direction:column;flex:1;min-height:0;padding:12px 20px;gap:8px}.assistant-page>iframe{width:100%;height:calc(100dvh - 145px);min-height:360px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}.assistant-page>iframe[hidden]{display:none}.assistant-page>p,.assistant-page>div>p{font-size:13px;margin:0}@media(max-width:640px){.assistant-page{padding:8px}.assistant-page>iframe{height:calc(100dvh - 155px)}}.build-versions{margin-left:auto;display:flex;gap:1rem;font-size:.7rem;color:var(--muted);flex-wrap:wrap;justify-content:flex-end}.footer{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.build-versions span{white-space:nowrap}.replay-panel{padding:12px 0}.replay-panel h2{font-size:20px;margin:0 0 8px}.replay-panel header>p{margin:0 0 12px;color:var(--muted);font-size:13px}.replay-deadlines{display:flex;flex-wrap:wrap;gap:12px 28px;margin:0 0 14px}.replay-deadlines dt{font-size:11px;color:var(--muted);margin-bottom:3px}.replay-deadlines dd{margin:0;font-size:13px;font-variant-numeric:tabular-nums}.replay-picker{display:flex;flex-direction:column;gap:7px;font-size:13px;max-width:520px}.replay-picker input{padding:8px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:4px}.replay-picker small,.replay-note{color:var(--muted);font-size:12px}.replay-note{margin:10px 0}.replay-table-scroll{max-width:100%;overflow:auto}.replay-table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}.replay-table th{color:var(--muted);font-weight:500;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.replay-table td{padding:9px 10px;vertical-align:top;border-bottom:1px solid var(--line)}.replay-table td small,.replay-table td strong,.replay-table td time{display:block;margin-bottom:3px}.replay-table small{color:var(--muted)}.replay-hash{display:block;max-width:260px;overflow-wrap:anywhere;line-height:1.5}.replay-table strong{font-weight:500;overflow-wrap:anywhere}.replay-status{display:block;color:var(--muted);font-size:11px;margin:4px 0}.replay-verified{color:var(--ok)}.replay-mismatch,.replay-error,.replay-verification-error{color:var(--danger)!important}.replay-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.replay-actions button,.replay-video-picker{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:5px 8px;color:var(--text);font-size:11px;cursor:pointer}.replay-video-picker input{display:block;max-width:210px;font-size:11px;margin-top:5px}.replay-progress{display:flex;flex-direction:column;gap:3px;min-width:180px;font-size:11px;color:var(--muted)}.replay-progress progress{width:100%;height:6px;accent-color:var(--accent)}.replay-check{display:flex!important;align-items:center;gap:8px}.replay-check input{width:auto!important}.replay-admin h3{font-size:14px;margin:18px 0 8px}.replay-admin .admin-field{margin-bottom:10px}.replay-admin>.admin-field>input{max-width:250px}.replay-loading{padding:16px 0;font-size:13px;color:var(--muted)}.profile-sessions{min-width:0;margin-top:0;padding-top:0}.sessions-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.sessions-heading h3{margin:0;font-size:16px}.profile-sessions button{padding:6px 10px;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--text);font-size:12px;white-space:nowrap}.profile-sessions button:hover:not(:disabled){background:var(--soft)}.profile-sessions button:disabled{opacity:.45;cursor:default}.sessions-table-scroll{max-width:100%;overflow-x:auto}.sessions-table{table-layout:fixed;width:100%;border-collapse:collapse;text-align:left;font-size:12px;line-height:1.45}.sessions-table th{color:var(--muted);font-weight:500;white-space:nowrap}.sessions-table th,.sessions-table td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:middle}.sessions-table th:first-child,.sessions-table td:first-child{padding-left:0}.sessions-table th:last-child,.sessions-table td:last-child{padding-right:0}.sessions-table td small{display:block;color:var(--muted);margin-top:3px}.session-current{display:block;margin-top:3px;color:var(--ok);white-space:nowrap}.session-device{display:block;overflow-wrap:anywhere}.session-nowrap{white-space:nowrap;font-variant-numeric:tabular-nums}.sessions-table .sessions-empty{text-align:center;padding:22px 10px;color:var(--muted)}.sessions-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:10px;color:var(--muted);font-size:12px}.sessions-pagination>div{display:flex;gap:6px}@media(max-width:540px){.sessions-heading{align-items:flex-start;flex-wrap:wrap}.session-device{max-width:110px}}.sessions-table th:last-child{width:92px}.sessions-table td{overflow-wrap:anywhere}.profile-drawer .token-panel{margin-top:0;border-top:0;padding-top:0}.profile-drawer [hidden]{display:none}.profile-drawer .access-secret{overflow-wrap:anywhere}.token-panel .sessions-table th:last-child{width:92px}@media(max-width:540px){.sessions-table th,.sessions-table td{padding:8px 5px}.sessions-table th:last-child{width:78px}.profile-sessions button{padding:6px}.session-device{max-width:none}}:root[data-theme=signal]{color-scheme:dark;--bg:#10122a;--panel:#171a38;--panel-2:#1e2245;--line:#2b3060;--text:#eeedf8;--muted:#9b9dc4;--accent:#ffb547;--accent-ink:#241600;--soft:#242953;--points:#ffb547;--ok:#5fd4a8;--danger:#ff7a85;--backdrop:#07081acc;--graph-0:#ffb547;--graph-1:#7fb2ff;--graph-2:#5fd4a8;--graph-3:#ff7a85;--graph-4:#c9a4ff}:root[data-theme=daylight]{color-scheme:light;--bg:#eef0f6;--panel:#fff;--panel-2:#f6f7fb;--line:#d9dce8;--text:#16183a;--muted:#595d7e;--accent:#3a36c9;--accent-ink:#fff;--soft:#e7e7fb;--points:#a35a00;--ok:#12825b;--danger:#c23848;--backdrop:#16183a66;--graph-0:#3a36c9;--graph-1:#c47b12;--graph-2:#12825b;--graph-3:#c23848;--graph-4:#8a4fd1}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-ext-wght-normal-DOFToQv1.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-wght-normal-DayYxulF.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-math-wght-normal-Bl4ZGkZl.woff2) format("woff2-variations");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-symbols-wght-normal-DxQzqQfC.woff2) format("woff2-variations");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-vietnamese-wght-normal-BBxOatbv.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-ext-wght-normal-QAhDxQuo.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-wght-normal-Dun_Rd-l.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-cyrillic-wght-normal-C627f1f8.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-vietnamese-wght-normal-rat7GD3o.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-latin-ext-wght-normal-D6H-S6MW.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-latin-wght-normal-D5afBTBx.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-body:"Onest Variable",system-ui,sans-serif;--font-display:"Unbounded Variable","Onest Variable",system-ui,sans-serif;--font-mono:"JetBrains Mono Variable",ui-monospace,SFMono-Regular,Menlo,monospace;color-scheme:dark;--bg:#10122a;--panel:#171a38;--panel-2:#1e2245;--line:#2b3060;--text:#eeedf8;--muted:#9b9dc4;--accent:#ffb547;--accent-ink:#241600;--soft:#242953;--points:#ffb547;--ok:#5fd4a8;--danger:#ff7a85;--backdrop:#07081acc;--graph-0:#ffb547;--graph-1:#7fb2ff;--graph-2:#5fd4a8;--graph-3:#ff7a85;--graph-4:#c9a4ff;--gutter:clamp(18px,4vw,48px);font-family:var(--font-body);font-size:15px;line-height:1.5;font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--bg)}body{color:var(--text)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin-top:0}code,pre{font-family:var(--font-mono);font-size:.9em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--accent),transparent 65%)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}input,select,textarea{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px 12px;min-width:0;outline:none;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.75}textarea{resize:vertical;line-height:1.45}.text-button{background:none;border:0;padding:4px 0;color:var(--accent);font-weight:600;font-size:13px}.text-button:hover{text-decoration:underline;text-underline-offset:3px}.chip{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;background:var(--soft);color:var(--text);font-size:12px;font-weight:600}.empty{padding:22px 4px;color:var(--muted);font-size:14px;line-height:1.5;list-style:none}.empty.error,.hint.error{color:var(--danger)}.hint{font-size:13px;color:var(--muted);margin:10px 0 0}.feedback{margin:0 0 12px;padding:11px 14px;border-radius:8px;background:var(--soft);color:var(--text);font-size:14px;font-weight:500}.feedback.ok{background:color-mix(in srgb,var(--ok),transparent 84%);color:var(--ok)}.feedback.bad{background:color-mix(in srgb,var(--danger),transparent 86%);color:var(--danger)}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 var(--gutter);background:color-mix(in srgb,var(--bg),transparent 8%);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;background:none;border:0;padding:0;font:600 20px var(--font-display);letter-spacing:-.02em}.brand-mark{display:inline-flex;align-items:center;gap:3px;color:var(--accent);font-size:20px;letter-spacing:0}.brand-mark i{width:8px;height:8px;border-radius:2px;background:var(--accent)}.topbar-right{display:flex;align-items:center;gap:18px}.network{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.pulse{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px color-mix(in srgb,var(--ok),transparent 82%)}.network.degraded .pulse{background:#f2b84b;box-shadow:0 0 0 4px #f2b84b2e}.network.offline .pulse{background:var(--danger);box-shadow:0 0 0 4px color-mix(in srgb,var(--danger),transparent 82%)}.header-control{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background-color:var(--panel);color:var(--text);font-family:inherit;font-size:13px;font-weight:400;line-height:normal;white-space:nowrap}.header-control:hover{border-color:color-mix(in srgb,var(--accent),transparent 50%)}.header-control:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topbar .text-button{color:var(--text);font-weight:500;font-size:14px}.user-button{display:flex;align-items:center;gap:9px;height:36px;padding:0 12px 0 4px;border:1px solid var(--line);border-radius:999px;background:var(--panel);font-size:14px;font-weight:500}.user-button:hover{border-color:color-mix(in srgb,var(--accent),transparent 50%)}.avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:13px;text-transform:uppercase}.login-providers{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.login{display:inline-flex;align-items:center;height:36px;padding:0 16px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:14px}.login+.login{background:var(--panel);color:var(--text);border:1px solid var(--line)}.notice{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:16px var(--gutter) 0;padding:12px 16px;border-radius:10px;background:var(--soft);font-size:14px}.notice button{background:none;border:0;font-size:20px;line-height:1;color:var(--muted)}.main{flex:1;width:100%;max-width:1480px;margin:0 auto;padding:40px var(--gutter) 80px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 16px}.section-head h2{font:600 22px var(--font-display);letter-spacing:-.02em;margin:0}.section-head span{font-size:13px;color:var(--muted);text-align:right}.footer{padding:22px var(--gutter);border-top:1px solid var(--line);color:var(--muted);font-size:13px}.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:48px;align-items:center;padding:36px 0 56px}.hero h1{position:relative;margin:0 0 24px;font:600 clamp(40px,5.8vw,86px)/1.02 var(--font-display);letter-spacing:-.045em;max-width:13ch}.hero-line{display:block}.brace{color:var(--accent);font-weight:400}.brace.start{position:absolute;right:100%;margin-right:.12em}.brace.end{margin-left:.08em}.hero p{max-width:46ch;margin:0;color:var(--muted);font-size:18px;line-height:1.6}.hero-board{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;transform:rotate(-4deg);opacity:.95}.hero-board>div{display:grid;gap:8px}.hero-board-category{font-size:12px;font-weight:600;color:var(--muted);padding:0 2px 2px}.hero-tile{display:flex;align-items:flex-end;height:64px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);font:600 18px var(--font-display);color:var(--points)}.hero-tile.solved{position:relative;background:color-mix(in srgb,var(--ok),var(--panel) 86%);border-color:color-mix(in srgb,var(--ok),transparent 55%);color:var(--ok)}.hero-tile.solved:after{content:"";position:absolute;top:10px;right:10px;width:14px;height:10px;background:var(--ok);clip-path:polygon(0 0,100% 50%,0 100%)}.contests{max-width:980px}.contest-list{display:grid;gap:10px}.contest-row{width:100%;display:flex;align-items:center;gap:18px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--panel);text-align:left;transition:border-color .15s,background .15s}.contest-row:hover{border-color:color-mix(in srgb,var(--accent),transparent 45%);background:var(--panel-2)}.contest-glyph{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:12px;background:var(--soft);color:var(--accent);font:600 22px var(--font-display)}.contest-copy{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.contest-copy strong{font:600 17px var(--font-display);letter-spacing:-.01em}.contest-copy small{font-size:14px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contest-mode{flex:none;font-size:13px;color:var(--muted)}.row-arrow{flex:none;font-size:20px;color:var(--accent)}.main.contest{padding-top:24px}.contest-header{margin-bottom:16px}.back{display:inline-block;margin:0 0 12px;padding:0;background:none;border:0;color:var(--muted);font-size:13px}.back:hover{color:var(--text)}.contest-header h1{margin:0 0 8px;font:600 clamp(24px,2.2vw,32px)/1.2 var(--font-body);letter-spacing:-.02em}.contest-header p{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;max-width:760px;margin:0;color:var(--muted);font-size:14px}.mode-chip{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;border:1px solid var(--line);color:var(--text);font-size:12px;font-weight:600}.page-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-top:20px}.page-tab{height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:none;color:var(--muted);font-size:13px;font-weight:600}.page-tab:hover{color:var(--text)}.page-tab.current{background:var(--text);border-color:var(--text);color:var(--bg)}.page-body{max-width:760px;margin-top:14px;padding:20px 22px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.page-body h3{font:600 17px var(--font-display);margin:0 0 10px}.page-text{white-space:pre-wrap;color:var(--muted);line-height:1.65}.contest-gate.urgent{order:-2;border-color:color-mix(in srgb,var(--accent),transparent 40%)}.gate-form{display:flex;flex-wrap:wrap;gap:8px}.gate-form input{flex:1 1 100%;height:40px}.gate-form button{flex:1 1 auto}.gate-form button,.clarifications button,.team-forms button,.instance-panel button,.attacker-workspace button,.profile-form button[type=submit],.token-panel button[type=submit]{height:40px;padding:0 16px;border-radius:8px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:14px;white-space:nowrap}button.secondary,.instance-actions button+button{background:transparent!important;border:1px solid var(--line)!important;color:var(--text)!important}.gate-notice{margin:10px 0 0;font-size:13px;color:var(--ok)}.gate-notice.error{color:var(--danger)}.announcements{margin:0 0 28px;padding:16px 20px;border-radius:14px;background:color-mix(in srgb,var(--accent),var(--panel) 90%);border:1px solid color-mix(in srgb,var(--accent),transparent 70%)}.announcements-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.announcements h2{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--accent)}.announcements article+article{border-top:1px solid color-mix(in srgb,var(--accent),transparent 78%);margin-top:12px;padding-top:12px}.announcements article div{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.announcements strong{font-size:16px}.announcements time{flex:none;color:var(--muted);font-size:12px}.announcements p{margin:4px 0 0;white-space:pre-wrap;color:var(--text);opacity:.85;font-size:14px;max-width:80ch}.contest-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:start}.rail{position:sticky;top:88px;display:grid;gap:14px;max-height:calc(100vh - 104px);overflow:auto;scrollbar-width:thin;padding-bottom:4px}.rail-block{padding:16px 18px 18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);min-width:0}.rail-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.rail-head h2{margin:0;font:600 15px var(--font-display);letter-spacing:-.01em}.rail-head span{font-size:12px;color:var(--muted)}.rail-head .frozen{color:var(--accent);font-weight:600}.rail-block>p{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.5}.progress{height:4px;margin:-6px 0 20px;border-radius:4px;background:var(--soft);overflow:hidden}.progress i{display:block;height:100%;background:var(--ok);border-radius:4px;transition:width .6s ease}.board{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:36px 14px}.board-column{display:flex;flex-direction:column;gap:8px;min-width:0}.board-category{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:0 2px 8px;border-bottom:2px solid var(--line)}.board-category h3{margin:0;font-size:15px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-category span{font-size:12px;color:var(--muted);white-space:nowrap}.tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:96px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel);text-align:left;transition:border-color .15s,background .15s}.tile:not(:disabled):hover{border-color:color-mix(in srgb,var(--accent),transparent 40%);background:var(--panel-2)}.tile-points{font:600 24px/1.1 var(--font-display);letter-spacing:-.03em;color:var(--points);font-variant-numeric:tabular-nums}.tile-title{font-size:14px;font-weight:500;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tile-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto;padding-top:4px}.tile-tag{font-size:11px;font-weight:600;color:var(--muted);padding:2px 7px;border-radius:999px;background:var(--soft)}.tile.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.tile.solved{background:color-mix(in srgb,var(--ok),var(--panel) 88%);border-color:color-mix(in srgb,var(--ok),transparent 60%)}.tile.solved .tile-points{color:var(--ok)}.tile.solved .tile-tag.solved{background:color-mix(in srgb,var(--ok),transparent 80%);color:var(--ok)}.tile.solved:after{content:"";position:absolute;top:14px;right:14px;width:16px;height:12px;background:var(--ok);clip-path:polygon(0 0,100% 50%,0 100%)}.tile.locked{border-style:dashed;background:transparent;opacity:.6}.tile.locked .tile-points{color:var(--muted)}.tile.locked:disabled{opacity:.6}.division{width:100%;height:36px;padding:0 10px;margin-bottom:10px;font-size:13px}.score-graph{margin:0 0 12px}.score-graph svg{display:block;width:100%;height:96px;border-radius:8px;background:var(--panel-2)}.score-graph figcaption{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:8px;font-size:12px;color:var(--muted)}.score-graph figcaption span{display:inline-flex;align-items:center;gap:6px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-graph figcaption i{flex:none;width:8px;height:8px;border-radius:2px}.scores{list-style:none;margin:0;padding:0}.score-row{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 6px;border-radius:8px;font-size:14px}.score-row+.score-row{margin-top:2px}.score-row .rank{font:600 13px var(--font-display);color:var(--muted);text-align:center;font-variant-numeric:tabular-nums}.score-row[data-rank] .rank{color:var(--points)}.score-row[data-rank="1"] .rank{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--points);color:var(--accent-ink)}.score-row strong{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-row b{font:600 14px var(--font-display);font-variant-numeric:tabular-nums}.score-row .bar{position:absolute;left:6px;bottom:3px;height:2px;max-width:calc(100% - 12px);border-radius:2px;background:color-mix(in srgb,var(--points),transparent 55%)}.score-row.mine{background:var(--soft)}.you{margin-left:8px;padding:1px 7px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:11px;font-weight:700;vertical-align:1px}.delta{min-width:30px;text-align:right;font-size:12px;color:var(--muted)}.delta.up{color:var(--ok)}.delta.down{color:var(--danger)}.event-feed ol{list-style:none;margin:0;padding:0;display:grid;gap:10px;max-height:320px;overflow:auto;scrollbar-width:thin}.event{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;font-size:13px}.event-kind{grid-column:1;font-size:11px;font-weight:700;color:var(--muted)}.event.blood .event-kind{color:var(--danger)}.event.solve .event-kind{color:var(--ok)}.event.announcement .event-kind{color:var(--accent)}.event strong{grid-column:1;font-weight:600}.event-detail{grid-column:1;color:var(--muted)}.event time{grid-column:2;grid-row:1;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.team-panel.needs-team{order:-1;border-color:color-mix(in srgb,var(--accent),transparent 50%)}.team-id{display:grid;gap:2px;margin-bottom:12px}.team-id strong{font:600 17px var(--font-display);letter-spacing:-.01em}.team-id span{margin-top:6px;font-size:12px;color:var(--muted)}.team-id code{padding:6px 8px;border-radius:6px;background:var(--panel-2);font-size:12px;word-break:break-all}.team-forms{display:grid;gap:8px}.team-forms form{display:flex;flex-wrap:wrap;gap:8px}.team-forms input{flex:1 1 120px;height:40px}.team-or{font-size:12px;color:var(--muted);margin-top:6px}.team-roster{margin:4px 0 10px}.team-roster-title{padding:0 0 6px;color:var(--muted);font-size:12px}.team-member{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;min-height:38px;padding:6px 0;border-top:1px solid var(--line);font-size:14px}.team-member>span{flex:1}.team-member small{margin-left:8px;color:var(--accent);font-size:12px;font-weight:600}.team-member button,.team-quiet{border:0;background:none;color:var(--accent);padding:4px 0;font-size:12px;font-weight:600}.team-message{margin:10px 0 0;font-size:13px;overflow-wrap:anywhere}.clarifications ul{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:10px}.clarify-row{font-size:13px}.clarify-row strong{display:block;font-weight:600}.clarify-row p{margin:4px 0 0;color:var(--muted)}.clarify-row small{color:var(--accent);font-size:12px}.clarifications form{display:grid;gap:8px}.clarifications textarea{width:100%;font-size:14px}.clarifications button{justify-self:start}.drawer-backdrop{position:fixed;inset:0;z-index:50;display:flex;justify-content:flex-end;background:var(--backdrop)}.drawer{position:relative;display:flex;flex-direction:column;width:min(100%,620px);height:100%;background:var(--panel);border-left:1px solid var(--line);box-shadow:-24px 0 80px #0006;outline:none}.drawer-head{flex:none;display:flex;align-items:center;gap:12px;padding:18px 28px;border-bottom:1px solid var(--line)}.drawer-points{font:600 16px var(--font-display);color:var(--points)}.drawer-points small{font:500 13px var(--font-body);color:var(--muted)}.close{margin-left:auto;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:none;font-size:22px;line-height:1;color:var(--muted)}.close:hover{color:var(--text);border-color:var(--muted)}.drawer-body{flex:1;overflow:auto;padding:28px 28px 32px}.drawer h2{margin:0 0 16px;font:600 clamp(26px,3vw,34px)/1.1 var(--font-display);letter-spacing:-.03em}.solved-banner{display:inline-flex;margin:0 0 16px;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--ok),transparent 84%);color:var(--ok);font-size:13px;font-weight:600}.meta{display:flex;flex-wrap:wrap;gap:8px 28px;margin:0 0 20px}.meta div{display:grid;gap:1px}.meta dt{font-size:12px;color:var(--muted)}.meta dd{margin:0;font-size:14px;font-weight:500}.description{margin:0 0 24px;white-space:pre-wrap;line-height:1.7;color:var(--text);opacity:.9;max-width:70ch}.drawer-body h3{margin:0 0 10px;font-size:14px;font-weight:700}.drawer-body>div+div{margin-top:24px}.connection{border:1px solid var(--line);border-radius:10px;overflow:hidden}.connection-head{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--panel-2);font-size:12px;font-weight:600;color:var(--muted)}.copy{background:none;border:0;color:var(--accent);font-size:12px;font-weight:600;padding:2px 0}.connection pre{margin:0;padding:12px 14px;background:var(--bg);white-space:pre-wrap;word-break:break-all;font-size:13px}.file-list{display:flex;flex-wrap:wrap;gap:8px}.challenge-files a{display:inline-flex;align-items:center;gap:10px;height:38px;padding:0 14px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);font-size:14px;font-weight:500}.challenge-files a:hover{border-color:var(--accent)}.challenge-files span{color:var(--muted);font-size:12px}.instance-panel{padding:16px 18px;border-radius:12px;background:var(--panel-2);border:1px solid var(--line)}.instance-panel h3{margin:0 0 4px}.instance-panel p,.attacker-workspace p{margin:0 0 12px;font-size:13px;color:var(--muted)}.instance-panel .instance-status,.attacker-workspace .instance-status{color:var(--text);font-weight:600}.instance-panel a,.attacker-workspace a{display:inline-block;margin:0 0 6px;color:var(--accent);font-weight:700}.instance-panel small,.attacker-workspace small{display:block;color:var(--muted);font-size:12px}.instance-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.instance-panel [role=status],.attacker-workspace [role=status]{margin:12px 0 0;color:var(--text)}.hints details,.hint-locked{border-top:1px solid var(--line);padding:12px 0}.hints>:last-child{border-bottom:1px solid var(--line)}.hints summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--accent)}.hints details p{margin:10px 0 0;font-size:14px;line-height:1.6}.hint-locked{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}.hint-locked button{height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--line);background:var(--soft);color:var(--accent);font-weight:600;font-size:13px}.hint-toast{position:fixed;right:18px;bottom:18px;z-index:200;display:flex;align-items:flex-start;gap:12px;max-width:min(390px,calc(100vw - 36px));padding:12px 14px;background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--danger);border-radius:8px;box-shadow:0 8px 28px #0007;font-size:13px}.hint-toast button{background:none;border:0;color:var(--muted);font-size:18px;line-height:1}.challenge-parts{display:grid;gap:10px}.part-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px;border:1px solid var(--line);border-radius:10px}.part-row strong{grid-column:1/-1;display:flex;justify-content:space-between;font-size:14px}.part-row strong span{color:var(--points);font-weight:600;font-size:13px}.part-row input,.part-row select{height:38px;font-family:var(--font-mono);font-size:13px}.part-row button{height:38px;padding:0 14px;border-radius:8px;border:1px solid var(--line);background:var(--soft);color:var(--text);font-weight:600}.attempts h4,.solution h4{margin:8px 0 6px;font-size:13px;color:var(--muted)}.attempts ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:13px}.attempts li{display:flex;gap:10px;align-items:baseline}.attempts li.ok span{color:var(--ok)}.attempts li.bad span{color:var(--danger)}.attempts code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attempts small{color:var(--muted);font-size:11px}.solution pre{margin:0;padding:12px;background:var(--bg);border-radius:8px;white-space:pre-wrap}.solves ol{list-style:none;margin:0;padding:0;display:grid;gap:6px}.solves li{display:grid;grid-template-columns:118px minmax(0,1fr) auto;gap:10px;align-items:baseline;font-size:13px}.solves span{color:var(--muted)}.solves li:nth-child(-n+3) span{color:var(--danger);font-weight:600}.solves strong{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.solves small{color:var(--muted);font-size:12px}.rating-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:28px;font-size:13px;color:var(--muted)}.rating-row span{margin-right:6px}.rating-row button{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--text);font-weight:600;font-size:13px}.rating-row button:enabled:hover{border-color:var(--accent);color:var(--accent)}.drawer-foot{flex:none;padding:16px 28px 22px;border-top:1px solid var(--line);background:var(--panel-2)}.drawer-foot label{display:block;margin:0 0 8px;font-size:13px;font-weight:600;color:var(--muted)}.flag-input{display:flex;gap:8px}.flag-input input{flex:1;height:48px;padding:0 14px;font-family:var(--font-mono);font-size:15px;background:var(--bg)}.flag-input button{height:48px;padding:0 22px;border:0;border-radius:8px;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:15px;white-space:nowrap}.flag-format{display:block;margin-top:8px;font-size:12px;color:var(--muted)}.flag-format code{color:var(--text)}.drawer-foot .hint{margin-top:10px}.profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:32px}.profile-form label,.token-panel .admin-form>label{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--muted)}.profile-form input,.token-panel input:not([type=checkbox]),.token-panel select{height:40px;color:var(--text);font-weight:400}.profile-form button[type=submit]{grid-column:1/-1;justify-self:start}.profile-form .hint{grid-column:1/-1;margin:0}.token-panel{padding-top:24px;border-top:1px solid var(--line)}.token-panel h3{font:600 17px var(--font-display);margin:0 0 6px}.token-panel .admin-form{display:grid;gap:12px;margin-top:14px}.token-panel .admin-form button{justify-self:start}.token-list{list-style:none;padding:0;margin:14px 0}.token-list li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.token-list button{border:0;background:none;color:var(--danger);font-weight:600}.matrix-section{margin-top:48px}.matrix-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.matrix{border-collapse:collapse;font-size:13px;min-width:100%}.matrix th,.matrix td{padding:9px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.matrix thead th{position:sticky;top:0;background:var(--panel-2);font-size:12px;font-weight:600;color:var(--muted);text-align:center}.matrix thead th:first-child,.matrix tbody th{position:sticky;left:0;text-align:left;background:var(--panel);z-index:1}.matrix thead th:first-child{background:var(--panel-2);z-index:2}.matrix tbody th{font-weight:600}.matrix tbody tr:last-child>*{border-bottom:0}.matrix td{text-align:center;color:var(--muted);font-variant-numeric:tabular-nums}.matrix td.hit span{display:inline-block;min-width:36px;padding:2px 6px;border-radius:6px;background:color-mix(in srgb,var(--ok),transparent 82%);color:var(--ok);font-weight:600}.webhook-box{margin-top:22px;display:grid;gap:10px}.webhook-box h3{font:600 16px var(--font-body);margin:0 0 8px}.webhook-box form,.webhook-row,.export-links{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.webhook-box input{flex:1;min-width:180px;padding:8px 10px;border-radius:7px}.webhook-box button,.export-links a{border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:7px;padding:8px 10px;font-size:12px}.webhook-row span{font-size:12px;word-break:break-all}@media(prefers-reduced-motion:no-preference){.drawer-backdrop{animation:fade .18s ease-out}.drawer{animation:slide-in .24s cubic-bezier(.2,.8,.2,1)}.tile.fresh{animation:capture .7s cubic-bezier(.2,.8,.2,1)}.tile.fresh:after{animation:raise .7s cubic-bezier(.2,.8,.2,1)}}@keyframes fade{0%{opacity:0}}@keyframes slide-in{0%{transform:translate(40px);opacity:0}}@keyframes capture{0%{box-shadow:0 0 color-mix(in srgb,var(--ok),transparent 40%)}to{box-shadow:0 0 0 14px transparent}}@keyframes raise{0%{transform:translateY(10px) scaleY(.2);opacity:0}}@media(max-width:1180px){.contest-layout{grid-template-columns:1fr}.rail{position:static;max-height:none;overflow:visible;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start}}@media(max-width:860px){.hero{grid-template-columns:1fr;gap:32px;padding:16px 0 40px}.hero-board{max-width:420px;transform:none}.brace.start{position:static;margin-right:.08em}.network-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}@media(max-width:640px){:root{font-size:14px}.topbar{height:auto;min-height:56px;padding:8px 12px;gap:8px}.topbar-right{gap:8px;min-width:0;flex-wrap:wrap;justify-content:flex-end}.brand>span:last-child{display:none}.user-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.user-button{padding:0 4px}.login-providers .login{height:32px;padding:0 10px;font-size:12px}.main{padding:24px var(--gutter) 56px}.hero-board{display:none}.hero p{font-size:16px}.contest-row{padding:14px;gap:14px}.contest-glyph{width:42px;height:42px;font-size:18px}.contest-mode{display:none}.board{grid-template-columns:1fr;gap:24px}.board-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.board-category{grid-column:1/-1}.tile{min-height:84px}.drawer-head,.drawer-body,.drawer-foot{padding-left:18px;padding-right:18px}.flag-input{flex-direction:column}.flag-input input{flex:none}.topbar .header-control{height:32px;padding-left:6px;padding-right:6px;font-size:12px}.profile-form{grid-template-columns:1fr}.solves li{grid-template-columns:100px minmax(0,1fr)}.solves small{display:none}}.player-toast{position:fixed;right:20px;bottom:20px;z-index:500;max-width:min(440px,calc(100vw - 40px));display:flex;gap:12px;align-items:center;padding:12px 16px;background:var(--panel);border:1px solid var(--line);box-shadow:0 5px 24px #0004}.player-toast button{margin-left:auto;background:none;border:0;color:inherit;cursor:pointer}.feedback-toast{position:fixed;right:20px;bottom:20px;z-index:10000;display:flex;align-items:center;gap:12px;max-width:min(460px,calc(100vw - 32px));padding:12px 16px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--text, #f4f4f5);box-shadow:0 6px 24px #0004;overflow-wrap:anywhere}.feedback-toast.error{border-left:3px solid var(--danger)}.feedback-toast button{flex:0 0 auto;background:transparent;color:inherit;border:0;cursor:pointer}.webhook-fields,.admin-form-fields{border:0;padding:0;margin:0;min-width:0}.telegram-notifications{padding:12px 0;border-top:1px solid var(--line);font-size:13px}.telegram-notifications h3{margin:0 0 8px}.telegram-notifications fieldset{border:0;margin:12px 0;padding:0;display:grid;gap:10px}.telegram-notifications select{max-width:100%;padding:6px}.telegram-notifications .admin-actions{display:flex;gap:6px;flex-wrap:wrap}.telegram-notifications label{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.telegram-notifications input[type=checkbox]{width:auto;margin:0}.telegram-notifications button,.telegram-notifications select{font:inherit;min-height:30px}.contest-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:12px 0 20px;overflow:auto}.contest-tabs button{padding:9px 14px;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;color:var(--muted);white-space:nowrap}.contest-tabs button[aria-pressed=true]{border-bottom-color:var(--accent);color:var(--text)}.contest-entry{max-width:640px;padding:16px 0;border-top:1px solid var(--line)}.contest-entry .contest-gate{border:0;padding:0;margin:16px 0}.contest-scoreboard,.contest-events,.contest-tools{display:grid;gap:20px;max-width:1000px}.contest-scoreboard .rail-block,.contest-events .rail-block,.contest-tools .rail-block{max-width:none}.admin-button.danger{background:transparent;border-color:var(--danger);color:var(--danger)}select,.theme-switch select,.telegram-notifications select,.admin-layout select{appearance:none;-webkit-appearance:none;padding-right:34px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%23848b98' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:12px!important}select[multiple],select[size]:not([size="1"]){background-image:none!important;padding-right:12px!important}select option{background:var(--panel);color:var(--text)}.secret-field{display:flex;align-items:center;gap:6px;min-width:0}.secret-field input{flex:1;width:100%;font-family:var(--font-mono);min-width:0}.secret-field button{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;padding:6px;border:1px solid var(--line);border-radius:6px}.secret-field svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}.people-search,.people-pagination,.people-actions,.people-edit{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.people-search{margin:12px 0}.people-search input{width:min(420px,100%)}.people-row{flex-wrap:wrap}.people-row>div:first-child{display:grid;gap:4px;flex:1;min-width:180px}.people-row small,.people-row code{color:var(--muted);font-size:12px}.people-edit{width:100%}.people-pagination{justify-content:flex-end;padding-top:12px}.tickets-toolbar{display:flex;align-items:center;gap:16px;margin-bottom:16px}.tickets-toolbar small{color:var(--muted)}.tickets-layout{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:20px}.ticket-list{border-right:1px solid var(--line);padding-right:12px}.ticket-list button{display:grid;text-align:left;width:100%;gap:4px;padding:10px 8px;border-bottom:1px solid var(--line)}.ticket-list .selected{background:var(--panel-2)}.ticket-list small{color:var(--muted)}.ticket-list strong{overflow-wrap:anywhere}.ticket-thread form,.ticket-thread label{display:grid;gap:8px}.ticket-thread form{gap:14px}.ticket-thread input,.ticket-thread textarea{width:100%}.ticket-thread form button{justify-self:start}.ticket-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.ticket-heading h3{font-size:16px;overflow-wrap:anywhere}.ticket-messages{list-style:none;padding:0;max-height:55vh;overflow:auto}.ticket-messages li{border-bottom:1px solid var(--line);padding:12px 0}.ticket-messages li>div{display:flex;justify-content:space-between;gap:12px}.ticket-messages time{font-size:12px;color:var(--muted)}.ticket-messages p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}@media(max-width:650px){.tickets-layout{grid-template-columns:1fr}.ticket-list{border-right:0;max-height:180px;overflow:auto;border-bottom:1px solid var(--line)}}.solved-mark{display:inline-block;vertical-align:middle;width:24px;height:24px;flex:none;margin-left:8px;color:var(--ok);fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.tile-title,.challenge-title{display:flex;align-items:center;gap:4px}.tile-title .solved-mark{width:20px;height:20px}.contest-timer{display:flex;gap:24px;flex-wrap:wrap;margin:12px 0;color:var(--muted);font-size:13px}.contest-timer strong{color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.rules-scroll{max-height:360px;overflow:auto;border:1px solid var(--line);border-radius:6px;padding:16px;background:var(--panel);overscroll-behavior:contain}.rules-check{display:flex!important;align-items:center;gap:10px;margin:12px 0}.rules-check input{width:16px!important;height:16px;flex:none}.rules-consent>small{display:block;color:var(--muted);margin-top:8px}.contest-rules article{margin-bottom:24px}.contest-rules h2{font-size:20px}.markdown{line-height:1.65;font-size:14px;overflow-wrap:anywhere}.markdown h1,.markdown h2,.markdown h3{font-family:var(--font-body);margin:1em 0 .5em;font-size:1.25em}.markdown h1{font-size:1.5em}.markdown p{white-space:normal}.markdown pre{overflow:auto;background:var(--panel-2);padding:12px;border-radius:6px}.markdown code{font-family:var(--font-mono);font-size:.9em}.markdown table{border-collapse:collapse;display:block;overflow:auto}.markdown td,.markdown th{border:1px solid var(--line);padding:6px 10px}.markdown blockquote{border-left:3px solid var(--accent);margin-left:0;padding-left:16px}.markdown img{max-width:100%;height:auto}.markdown a{color:var(--accent)}[hidden]{display:none!important}input:disabled,select:disabled{opacity:.65;cursor:not-allowed}.bracket-selector{grid-column:1/-1;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}.bracket-selector select{width:auto;min-width:180px;max-width:100%;height:36px}.people-actions select{width:auto;max-width:220px;height:34px;font-size:12px}.rating-row button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--bg);opacity:1}.rating-row strong{color:var(--text);font-weight:500}
