@charset "UTF-8";@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-400-normal-BuGn0gnm.woff) format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-ext-400-normal-CiZNW1ec.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-400-normal-DYBYyMQr.woff) format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-400-normal-bXgqVju9.woff) format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-vietnamese-500-normal-DREgrEoJ.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-500-normal-CfdwVo8-.woff) format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-ext-500-normal-h0Fp6aX0.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-500-normal-CK0UkkKf.woff) format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-500-normal-B6LVzGNe.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-500-normal-BJkVuMHw.woff) format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-vietnamese-600-normal-nyU-ZL2p.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-600-normal-DkpCIyan.woff) format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-ext-600-normal-BNd8euf0.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-600-normal-BeUwKxhG.woff) format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-600-normal-BZDkUTrt.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-600-normal-5IO4e7bK.woff) format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-vietnamese-700-normal-Csr0PCuG.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-700-normal-By_5yT39.woff) format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-ext-700-normal-C8_gqRu2.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-700-normal-4Hjo2OtD.woff) format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-700-normal-DlW1Zbsh.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-700-normal-C2EtzaOi.woff) format("woff");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,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA) 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{color-scheme:light dark;--bg: light-dark(#ffffff, #0e1520);--panel: light-dark(#ffffff, #161f2c);--panel-2: light-dark(#f3f5f9, #1c2635);--hover: light-dark(#e6ebf2, #243042);--border: light-dark(#e3e8ee, #1b2b3e);--row: light-dark(#eef2f6, #1f2a38);--handle: light-dark(#c3cddb, #34445a);--editor-bg: light-dark(#ffffff, #121a26);--text: light-dark(#13202e, #dbe5ef);--muted: light-dark(#556273, #93a4b7);--faint: light-dark(#8a96a5, #6b7c90);--nav-text: light-dark(#3c4a5a, #b4c3d3);--brand: light-dark(#0d2238, #ffffff);--accent: light-dark(#0b6fb8, #1f72c4);--accent-hover: light-dark(#08548c, #1a63ad);--link: light-dark(#0b6fb8, #6cb6f5);--accent-soft: light-dark(#dcebfa, #173a5e);--accent-soft-text: light-dark(#08508a, #cfe6fb);--secondary: light-dark(#dfe9f4, var(--panel-2));--tertiary: light-dark(#5b4bc4, #6a5ae0);--tertiary-soft: light-dark(#efecfd, #241d4a);--tertiary-text: light-dark(#2a1f6e, #f1eeff);--ok: light-dark(#0f7b55, #4fd08f);--warn: light-dark(#a85d00, #f2b35b);--warn-soft: light-dark(#fdf6ea, #2e2412);--error: light-dark(#c42b2b, #ff8a80);--error-soft: light-dark(#fdf1f1, #2e1719);--ac-soft: light-dark(#e3f4ec, #133024);--wa-soft: light-dark(#fbe6e6, #3a1a1d);--tle-soft: light-dark(#fbefdc, #36270f);--ce-soft: light-dark(#eceff3, var(--panel-2));--overlay: light-dark(rgb(15 23 42 / .4), rgb(0 0 0 / .6));--shadow-card: inset 0 1px 0 light-dark(transparent, rgb(255 255 255 / .04)), 0 1px 2px light-dark(rgb(15 23 42 / .06), rgb(0 0 0 / .5)), 0 8px 24px light-dark(rgb(15 23 42 / .08), rgb(0 0 0 / .35));--shadow: inset 0 1px 0 light-dark(transparent, rgb(255 255 255 / .05)), 0 16px 48px light-dark(rgb(15 23 42 / .18), rgb(0 0 0 / .55));--font: 15px/1.55 "Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "JetBrains Mono Variable", Consolas, "SF Mono", Menlo, monospace;--radius-sm: 6px;--radius: 10px;--radius-lg: 16px}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:var(--font)}h1{font-size:22px;line-height:1.3;font-weight:700;margin:0 0 16px}h2{font-size:18px;font-weight:600;margin:0 0 8px}a{color:var(--link)}button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;background:var(--accent);color:#fff;border:0;border-radius:var(--radius);padding:0 16px;font:inherit;font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer}button:hover:not(:disabled){background:var(--accent-hover)}button:focus-visible{outline:2px solid var(--link);outline-offset:2px}button:disabled{opacity:.5;cursor:default}button.secondary{background:var(--secondary);color:var(--text)}button.secondary:hover:not(:disabled){background:var(--hover)}button.link{min-height:0;background:none;color:var(--link);padding:0 4px;font-weight:500}button.link:hover:not(:disabled){background:none;text-decoration:underline}input,textarea,select{background:var(--panel-2);color:var(--text);border:1px solid transparent;border-radius:var(--radius);padding:7px 10px;font:inherit;font-size:14px}select{min-height:36px}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}pre{margin:0;white-space:pre-wrap;word-break:break-word;font:13px/1.5 var(--mono)}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:var(--mono)}.error{color:var(--error)}.center{height:100%;display:grid;place-items:center}.label{font-size:12px;color:var(--muted);margin-bottom:4px}.dialog{background:var(--panel);border-radius:var(--radius-lg);padding:24px;width:min(440px,100vw - 32px);box-shadow:var(--shadow)}.dialog .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.dialog input{width:100%}.field{display:block;margin-bottom:12px;color:var(--muted)}.field input,.field select,.field textarea{display:block;width:100%;margin-top:4px;color:var(--text)}.field-error{display:block;margin-top:4px;font-size:12px;color:var(--error)}.text-input{position:relative;display:block;margin-top:4px}.field .text-input input{margin-top:0}.text-input input:focus,.text-input input[aria-invalid=true]{border-color:transparent;outline:none}.text-input-frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.text-input-frame rect{x:1px;y:1px;width:calc(100% - 2px);height:calc(100% - 2px);rx:calc(var(--radius) - 1px);fill:none;stroke:var(--accent);stroke-width:2px;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--accent) 65%,transparent));transition:opacity .45s ease-out}.text-input input:focus+.text-input-frame rect{stroke-dasharray:none;stroke-dashoffset:0;opacity:1}.text-input input[aria-invalid=true]+.text-input-frame rect{stroke:var(--error);stroke-dasharray:none;stroke-dashoffset:0;opacity:1;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--error) 65%,transparent))}@starting-style{.text-input input:focus+.text-input-frame rect,.text-input input[aria-invalid=true]+.text-input-frame rect{opacity:0}}@media(prefers-reduced-motion:reduce){.text-input-frame rect{transition:none}}.overlay{position:fixed;inset:0;background:var(--overlay);display:grid;place-items:center;z-index:100}.overlay.top{z-index:200}.badge{display:inline-block;background:var(--warn-soft);color:var(--warn);border-radius:var(--radius-sm);padding:2px 8px;font-weight:600;font-size:12px;margin:0 0 12px}.toolbar{display:flex;align-items:center;gap:8px;padding:8px;border-bottom:1px solid var(--border);min-height:48px}.toolbar .spacer{flex:1}.tabs{display:flex;align-items:center;gap:2px;padding:0 8px;border-bottom:1px solid var(--border)}.tabs button{min-height:38px;padding:0 10px;background:none;border-radius:0;color:var(--muted);font-weight:400}.tabs button.active{color:var(--text);font-weight:600;box-shadow:inset 0 -2px 0 var(--accent)}.tabs button:hover:not(:disabled){background:none;color:var(--text)}.banner{position:fixed;bottom:16px;left:50%;transform:translate(-50%);background:var(--warn);color:var(--bg);padding:8px 16px;border-radius:var(--radius);box-shadow:var(--shadow-card);font-weight:600;z-index:50}.logo{display:block;flex:none;height:33px;aspect-ratio:35/11;background:url(/assets/upcoder-lockup-7qRKR62x.png) no-repeat center/contain}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .logo{background-image:url(/assets/upcoder-lockup-dark-D_JaAOTs.png)}}:root[data-theme=dark] .logo,.logo.on-dark{background-image:url(/assets/upcoder-lockup-dark-D_JaAOTs.png)}button.ms-button{gap:10px;background:var(--panel-2);color:var(--text)}button.ms-button:hover:not(:disabled){background:var(--hover)}.or-line{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--muted);font-size:13px}.or-line:before,.or-line:after{content:"";flex:1;height:1px;background:var(--border)}html,body,#root{height:100%}.dialog.auth{width:min(420px,100vw - 32px)}.spacer{flex:1 1 0}.strong{font-weight:700}.ellipsis{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a:not(.button-link):hover{text-decoration:underline}a{text-decoration:none}.button-link{display:inline-flex;align-items:center;height:40px;padding:0 20px;border-radius:var(--radius);background:var(--accent);color:#fff;font-size:14px;font-weight:600;white-space:nowrap}.button-link:hover{background:var(--accent-hover)}.button-link.big{height:52px;padding:0 26px;font-size:16px}.button-link.soft{background:light-dark(#ffffff,var(--panel-2));color:var(--text);box-shadow:var(--shadow-card)}.button-link.soft:hover{background:var(--hover)}.button-link.tall{height:44px}.button-link.outline{height:36px;padding:0 14px;background:none;border:1px solid light-dark(var(--accent),#3d8fd6);color:var(--link)}.button-link.outline:hover{background:var(--accent-soft)}.site{position:relative;isolation:isolate;min-height:100%;display:flex;flex-direction:column;overflow-x:clip}.site>.site-header,.site>.site-row,.site>.site-footer{width:100%}.site>main{flex:1 0 auto}.site-header,.site-row,.site-footer{max-width:1240px;margin:0 auto;padding:0 20px}.site-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;padding-top:12px;padding-bottom:12px}.site-logo{height:40px}.site-nav{display:flex;flex-wrap:wrap;gap:4px;font-size:14px;font-weight:500}.site-nav a{padding:8px 14px;border-radius:var(--radius);color:var(--nav-text)}.site-nav a:hover{background:var(--hover);text-decoration:none}.site-nav a.active{background:var(--accent-soft);color:var(--accent-soft-text);font-weight:700;box-shadow:0 1px 2px light-dark(rgba(11,111,184,.12),rgba(0,0,0,.4)),0 4px 12px light-dark(rgba(11,111,184,.12),rgba(0,0,0,.3))}.site-search{position:relative;display:flex;flex:0 1 260px;height:40px;border-radius:var(--radius);background:light-dark(#e8edf3,var(--panel-2));color:var(--muted)}.site-search:focus-within{outline:2px solid var(--accent)}.site-search svg{position:absolute;top:12px;left:12px;pointer-events:none}.site-search input{flex:1;min-width:0;padding:0 14px 0 38px;border:0;background:transparent;outline:none}@media(min-width:721px)and (max-width:1180px){.site-header{column-gap:16px}.site-nav a{padding-inline:10px}.site-search{z-index:1;flex:0 0 40px;width:40px;overflow:hidden}.site-search input{cursor:pointer}.site-search:focus-within,.site-search:has(input:not(:placeholder-shown)){width:280px;flex-basis:280px;margin-left:-240px}.site-search:focus-within input,.site-search:has(input:not(:placeholder-shown)) input{cursor:text}}@media(min-width:721px)and (max-width:1180px)and (prefers-reduced-motion:no-preference){.site-search{transition:width .22s cubic-bezier(.2,.8,.2,1),flex-basis .22s cubic-bezier(.2,.8,.2,1),margin-left .22s cubic-bezier(.2,.8,.2,1)}}.account{position:relative}.avatar{width:40px;height:40px;padding:0;border-radius:50%;background:var(--secondary);color:light-dark(#0d2238,var(--text));font-size:13px;font-weight:700}.avatar:hover:not(:disabled){background:var(--hover)}.avatar.open,.avatar.open:hover:not(:disabled),.avatar.big{background:var(--accent);color:#fff}.avatar.open{box-shadow:0 0 0 3px var(--accent-soft)}.avatar.big{display:grid;place-items:center;flex:none;width:44px;height:44px;font-size:15px}.account-menu{position:absolute;top:50px;right:0;z-index:20;width:300px;padding:8px;border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow)}.account-who{display:flex;align-items:center;gap:12px;padding:10px 12px 12px;line-height:1.35}.account-who>span:last-child{display:grid;min-width:0}.account-who .small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu hr{height:1px;margin:6px 8px;border:0;background:var(--border)}.menu-item,.menu-item:hover:not(:disabled){width:100%;justify-content:flex-start;padding:0 12px;background:none;color:var(--text);font-weight:400}.menu-item:hover:not(:disabled){background:var(--hover)}a.menu-item{display:flex;align-items:center;min-height:40px;border-radius:var(--radius);text-decoration:none}a.menu-item.active{background:var(--accent-soft);color:var(--accent-soft-text);font-weight:700}.site-footer{display:flex;flex-wrap:wrap;gap:8px 24px;padding-top:20px;padding-bottom:32px;border-top:1px solid light-dark(#dbe2ea,#243042);color:var(--muted);font-size:13px}.card{border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow-card)}.card h2{color:light-dark(#0d2238,#ffffff)}.verdict{flex:none;min-width:38px;padding:2px 8px;border-radius:4px;font:700 12px/1.5 var(--mono);text-align:center}.verdict.AC{background:var(--ac-soft);color:var(--ok)}.verdict.WA{background:var(--wa-soft);color:var(--error)}.verdict.TLE{background:var(--tle-soft);color:var(--warn)}.verdict.CE{background:var(--ce-soft);color:var(--muted)}.contest-list{margin:0;padding:0;list-style:none}.contest-list li{display:flex;gap:12px;padding:8px 0}.contest-list li+li{border-top:1px solid var(--row)}.contest-list a{color:var(--text);font-weight:500}.date-chip{flex:none;width:44px;padding:4px 0;border-radius:var(--radius);background:light-dark(#f1f4f8,var(--panel-2));color:var(--muted);font-size:11px;line-height:1.15;text-align:center}.date-chip b{display:block;color:var(--text);font-size:16px}.date-chip.tertiary{width:48px;padding:6px 0;background:light-dark(var(--tertiary-soft),#2a2356);color:light-dark(#4b4380,#c3bce8)}.date-chip.tertiary b{color:var(--tertiary-text);font-size:18px}@media(max-width:720px){.site-header,.site-row,.site-footer{padding-right:16px;padding-left:16px}.site-header{gap:8px 12px}.site-header{flex-wrap:wrap}.site-header>.spacer{display:none}.site-nav{order:3;width:100%;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap}.site-search{flex:1 1 0;min-width:0}}.bg-code{position:absolute;top:50%;left:-4%;z-index:-1;transform:translateY(-50%);color:light-dark(rgba(100,116,139,.1),rgba(148,163,184,.11));font:500 52px/1.5 var(--mono);white-space:pre;word-break:normal;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,#000,#00000040 24% 70%,#000 92%);mask-image:linear-gradient(90deg,#000,#00000040 24% 70%,#000 92%)}.hero{position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-items:center;gap:48px;padding:72px 64px;border-radius:28px;background:linear-gradient(125deg,light-dark(#eaf2fd,#14243b) 0%,light-dark(#f0ecfd,#211b44) 100%);box-shadow:inset 0 1px 0 light-dark(transparent,rgba(255,255,255,.05)),0 1px 2px light-dark(rgba(42,31,110,.06),rgba(0,0,0,.5)),0 12px 32px light-dark(rgba(42,31,110,.08),rgba(0,0,0,.4))}.hero-text{flex:1 1 440px;min-width:0}.hero h1{max-width:12ch;margin:0;color:light-dark(#0d2238,#ffffff);font-size:56px;font-weight:800;line-height:1.08;letter-spacing:-.02em}.hero-text>p{max-width:46ch;margin:20px 0 32px;color:light-dark(#33506e,#c3cfdc);font-size:18px;line-height:1.6}.hero-actions{display:flex;flex-wrap:wrap;gap:12px 20px}.hero-preview{position:relative;flex:1 1 480px;min-width:0;height:400px}.hero-preview>div{position:absolute;border-radius:14px}.preview-code{top:20px;right:20px;left:40px;overflow:hidden;background:var(--editor-bg);box-shadow:0 20px 50px light-dark(rgba(13,34,56,.14),rgba(0,0,0,.5))}.preview-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:light-dark(#0d2238,#0a1018);color:light-dark(#c9d6e4,#93a4b7);font:12px var(--mono)}.preview-bar i{width:9px;height:9px;border-radius:50%;background:#2f8fe0}.preview-bar i:nth-child(2){background:#5cc3ff}.preview-bar i:nth-child(3){background:light-dark(#9fb3c8,#5b6e84)}.preview-bar span{margin-left:8px}.preview-code pre{padding:14px 18px 18px;color:var(--text);font-size:13px;line-height:1.7;white-space:pre}.preview-code b{color:light-dark(#6d28d9,#b7a8ff)}.preview-code em{color:light-dark(#c2410c,#f2a679);font-style:normal}.preview-verdict{bottom:18px;left:0;width:250px;padding:14px 16px;background:var(--panel);box-shadow:0 16px 40px light-dark(rgba(13,34,56,.16),rgba(0,0,0,.5))}.preview-verdict>div:first-child{display:flex;align-items:center;gap:10px;color:light-dark(#0d2238,#f1f5f9)}.preview-verdict .verdict{font-size:13px}.ticks{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;margin:12px 0 8px}.ticks i{height:18px;border-radius:3px;background:light-dark(#0f7b55,#2fa86f)}.preview-rank{right:0;bottom:70px;width:210px;padding:14px 16px;background:light-dark(#0d2238,#1f3350);color:#c9d6e4;font-size:13px;box-shadow:0 16px 40px light-dark(rgba(13,34,56,.22),rgba(0,0,0,.5))}.preview-rank>div:first-child{color:light-dark(#9fb3c8,#b4c3d3);font-size:12px}.preview-rank b{margin-right:4px;color:#fff;font-size:30px;line-height:1}.preview-rank .bar{height:6px;margin-top:10px;overflow:hidden;border-radius:3px;background:light-dark(#22344a,#2a4466)}.preview-rank .bar i{display:block;width:82%;height:100%;background:#5cc3ff}.guest-grid{display:flex;flex-wrap:wrap;align-content:flex-start;gap:40px;padding-top:56px;padding-bottom:48px}.guest-grid h2{margin:0 0 6px;font-size:24px}.guest-grid .card>p{margin:0 0 18px;max-width:56ch}.guest-courses{flex:2 1 520px;min-width:0;padding:24px 24px 28px}.guest-courses ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:0;padding:0;list-style:none}.guest-courses a{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:12px;background:var(--panel-2)}.guest-courses a:hover{background:var(--hover);text-decoration:none}.guest-courses b{color:light-dark(#0d2238,#ffffff);font-size:16px}.guest-courses span{color:var(--muted);font-size:13px}.guest-contests{flex:1 1 300px;min-width:0;padding:24px 24px 16px}.guest-contests li{gap:14px;padding:12px 0}.guest-contests a{font-weight:600}@media(max-width:720px){.hero{padding:40px 24px}.hero h1{font-size:40px}.hero-preview{display:none}}.dl-eyebrow{margin:0 0 12px;color:light-dark(#4a3fa8,#c3b8ff);font:500 13px var(--mono);letter-spacing:.06em}.dl-actions{align-items:center}.dl-actions .button-link{gap:10px}.dl-meta{color:light-dark(#33506e,#c3cfdc);font-size:13px;line-height:1.5}.dl-meta code{color:var(--muted);font-size:12px}.dl-preview{height:360px}.dl-preview .preview-bar .dl-timer{margin-left:auto;padding:1px 8px;border-radius:6px;background:#1f3350;color:#5cc3ff}.dl-preview-body{display:flex}.dl-preview-body>div{flex:none;display:flex;flex-direction:column;gap:6px;width:128px;padding:12px;background:var(--panel-2);color:var(--muted);font-size:12px}.dl-preview-body span{padding:6px 10px}.dl-preview-body .on{border-radius:8px;background:var(--accent-soft);color:var(--accent-soft-text);font-weight:600}.dl-lock{bottom:12px;left:0;display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--panel);color:light-dark(#0d2238,#f1f5f9);font-size:14px;box-shadow:0 16px 40px light-dark(rgba(13,34,56,.16),rgba(0,0,0,.5))}.dl-lock svg{color:light-dark(#0f7b55,#2fa86f)}.dl-save{right:0;bottom:64px;width:200px;padding:12px 16px;background:light-dark(#0d2238,#1f3350);color:#fff;font-size:14px;box-shadow:0 16px 40px light-dark(rgba(13,34,56,.22),rgba(0,0,0,.5))}.dl-save div{color:#9fb3c8;font-size:12px}.download-main{display:flex;flex-direction:column;gap:40px;padding-top:56px;padding-bottom:48px}.download-main h2{margin:0 0 4px;color:light-dark(#0d2238,#ffffff);font-size:24px}.download-main h3{margin:0 0 2px;font-size:18px}.download-main ol,.download-main ul{margin:0;padding:0;list-style:none}.dl-os{display:flex;flex-direction:column;gap:16px}.dl-os .segmented button,.dl-os .segmented button:hover:not(:disabled){min-height:40px;padding:0 18px;font-size:14px}.dl-os-head,.dl-os-body{display:flex;flex-wrap:wrap;gap:12px 24px}.dl-os-head{align-items:flex-end;justify-content:space-between}.dl-os-head p{margin:0}.dl-os-body{align-items:stretch}.dl-files{flex:999 1 560px;min-width:0;padding:24px}.dl-files>p{margin:0 0 16px;font-size:14px}.dl-files ul{display:flex;flex-direction:column;gap:12px}.dl-files li{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:14px 16px;border-radius:12px;background:var(--panel-2)}.dl-file{flex:1 1 280px;min-width:0}.dl-file>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.dl-mono{margin-top:2px;color:var(--muted);font:12px var(--mono);overflow-wrap:anywhere}.dl-sha{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:6px;font-size:11.5px}.dl-copy{height:28px;padding:0 10px;border-radius:8px;background:var(--panel);color:var(--accent);font-size:12px;font-weight:600}.dl-secondary{height:44px;border:1px solid var(--accent);background:none;color:var(--accent)}.dl-secondary:hover{background:var(--accent-soft)}.dl-steps{flex:1 1 340px;min-width:0;padding:24px;border-radius:var(--radius-lg);background:light-dark(#0d2238,#14243b);color:#c9d6e4;box-shadow:var(--shadow-card)}.dl-steps h3{margin-bottom:14px;color:#fff}.dl-steps ol{display:flex;flex-direction:column;gap:12px}.dl-steps li{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.6}.dl-steps li>span{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#1f3350;color:#5cc3ff;font:700 12px var(--mono)}.dl-steps code{display:block;margin-top:16px;padding:10px 14px;border-radius:10px;background:#1f3350;color:#9fd3ff;font-size:12px;overflow-wrap:anywhere}.dl-before{padding:24px}.dl-before h2{margin-bottom:16px}.dl-before ol{display:flex;flex-wrap:wrap;gap:12px}.dl-before li{flex:1 1 260px;min-width:0;padding:16px;border-radius:12px;background:var(--panel-2);font-size:14px}.dl-before li>span:first-child{color:var(--accent);font:700 13px var(--mono)}.dl-before b{display:block;margin:4px 0 2px;font-size:16px}.dl-faq{display:flex;flex-wrap:wrap;gap:16px 40px}.dl-faq>div:first-child{flex:1 1 300px;min-width:0}.dl-faq>div:first-child p{margin:0}.dl-faq>div:last-child{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:8px}.dl-faq details{padding:14px 18px;border-radius:12px;background:var(--panel-2)}.dl-faq summary{cursor:pointer;font-weight:600}.dl-faq details p{margin:8px 0 0;font-size:14px}@media(max-width:720px){.download-main{padding-top:32px}}.guest-download{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding:24px}.guest-download>div>p{margin:0}.live{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:8px;padding:20px 24px;border-radius:var(--radius-lg);background:linear-gradient(120deg,light-dark(#efecfd,#241d4a) 0%,light-dark(#e9f1fc,#172a45) 100%);box-shadow:inset 0 1px 0 light-dark(transparent,rgba(255,255,255,.05)),0 1px 2px light-dark(rgba(42,31,110,.08),rgba(0,0,0,.5)),0 8px 24px light-dark(rgba(42,31,110,.08),rgba(0,0,0,.35));color:light-dark(#4b4380,#c3bce8)}.live-text{flex:999 1 420px;min-width:0}.live p{margin:2px 0 0}.live h1{margin:2px 0 0;color:var(--tertiary-text);font-size:28px;line-height:1.2}.live-status{display:inline-flex;align-items:center;gap:8px;color:light-dark(#4a3fa8,#b7adff);font-size:13px;font-weight:600}.live-status i{width:8px;height:8px;border-radius:50%;background:var(--ok)}.live-actions{display:flex;align-items:center;gap:20px}.live-actions p{margin:0;font-size:13px;line-height:1.2;text-align:right}.live-actions b{color:var(--tertiary-text);font-size:28px}.news{margin-top:24px;overflow:hidden}.news-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;padding:16px 20px 10px}.news-head h2{margin:0;font-weight:700}.news-head a{font-size:14px;font-weight:500}.news ul{margin:0;padding:0;list-style:none}.news li{display:flex;align-items:flex-start;gap:14px;padding:12px 20px;border-top:1px solid var(--row)}.news li.pinned{background:light-dark(#fffbf2,#1d1c1a)}.dot{flex:none;width:8px;height:8px;margin-top:8px;border-radius:50%}.dot.unread{background:var(--link)}.news-body{flex:1 1 auto;min-width:0}.news-title{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.news-title a{color:var(--text);font-weight:500}.news-title a.strong{font-weight:700}.role{padding:1px 8px;border-radius:var(--radius-sm);font-size:12px;font-weight:600}.role.teacher{background:light-dark(var(--tertiary-soft),#2a2356);color:light-dark(#4a3fa8,#d4ccff)}.role.admin{background:var(--secondary);color:light-dark(#0d2238,var(--text))}.pin{display:inline-flex;align-items:center;gap:4px;color:light-dark(#8a4b00,var(--warn));font-size:12px;font-weight:600}.news-body p{margin:2px 0 0;overflow:hidden;color:var(--muted);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.news-meta{flex:none;color:var(--muted);font-size:12px;line-height:1.4;text-align:right}.home-grid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:24px;padding-top:28px;padding-bottom:64px}.home-courses{flex:999 1 620px;min-width:0}.section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:14px}.section-head h2{margin:0;font-size:24px;font-weight:700}.section-head a{font-size:14px;font-weight:500}.course{padding:18px 20px}.course+.course{border-top:1px solid light-dark(#dbe2ea,#243042)}.course-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.course h3{margin:0;font-size:17px;font-weight:600}.course h3 a{color:var(--text)}.chapters{display:flex;gap:4px;margin:12px 0 10px}.chapters a{flex:1 1 0;min-width:28px;display:flex;flex-direction:column;gap:4px;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.track{height:8px;overflow:hidden;border-radius:2px;background:light-dark(#dbe7f3,#243042)}.track span{display:block;height:100%;background:light-dark(var(--accent),#3d9be9)}.course-next{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:14px}.course-next span a{font-weight:500}.home-side{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:20px}.home-side>p{margin:0;font-size:13px}.side-card{padding:16px 18px}.side-card h2{margin:0 0 8px;font-size:16px}.side-card ul{margin:0;padding:0;list-style:none}.side-card li{display:flex;align-items:center;gap:10px;padding:8px 0}.side-card li+li{border-top:1px solid var(--row)}.side-card li>a{flex:1;color:var(--text);font-size:14px}.side-card li>.small{white-space:nowrap}.side-card .contest-list li{align-items:flex-start}@media(max-width:720px){.news-meta{display:none}}.course-next .button-link{margin-left:auto}.auth-page{position:relative;isolation:isolate;min-height:100%;display:flex;flex-wrap:wrap;overflow-x:clip}.verify-page{position:relative;isolation:isolate;overflow-x:clip}.auth-about{flex:1 1 520px;display:flex;flex-direction:column;margin:20px 0 20px 20px;padding:40px 56px 32px;border-radius:28px;background:linear-gradient(125deg,light-dark(#eaf2fd,#14243b) 0%,light-dark(#f0ecfd,#211b44) 100%);box-shadow:var(--shadow-card);color:light-dark(#33506e,#c3cfdc)}.auth-logo{height:45px}.auth-about-body{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;padding:40px 0}.auth-about h2{max-width:16ch;margin:0;color:light-dark(#0d2238,#ffffff);font-size:44px;font-weight:800;line-height:1.12;letter-spacing:-.02em}.auth-about-body>p{max-width:47ch;margin:16px 0 36px;font-size:17px;line-height:1.6}.auth-about ul{display:grid;gap:20px;max-width:52ch;margin:0;padding:0;list-style:none}.auth-about li{display:flex;align-items:flex-start;gap:14px}.auth-about li b{display:block;color:light-dark(#0d2238,#ffffff);font-size:16px}.auth-icon{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:light-dark(#ffffff,rgba(255,255,255,.08));box-shadow:0 1px 2px light-dark(rgba(15,23,42,.08),rgba(0,0,0,.5)),0 2px 6px light-dark(rgba(15,23,42,.06),transparent);color:var(--link)}.auth-about>p{margin:0}.auth-main{flex:1 1 400px;display:grid;place-items:center;padding:32px 20px}.auth-card{width:100%;max-width:440px;padding:24px 32px 32px}.auth-card h1{margin:0;font-size:24px}.auth-card p{margin:8px 0 6px}.auth-card .auth-sub{margin:6px 0 20px;font-size:14px}.auth-card label{display:block;margin:14px 0 6px;font-size:14px;font-weight:600}.auth-card form>label:first-of-type{margin-top:0}.auth-card input{display:block;width:100%;height:44px;padding:0 12px;font-size:15px}.auth-card input[hidden]{display:none}.auth-card input[aria-invalid=true]{box-shadow:inset 0 0 0 2px var(--error)}.auth-card button{height:44px}.auth-submit{width:100%;margin-top:20px;font-size:15px}.auth-card .auth-pair+p{margin:6px 0 0}.auth-card .center-text{margin-top:12px;text-align:center}.auth-email{display:flex;align-items:center;gap:8px;height:44px;margin-bottom:16px;padding:0 4px 0 12px;border-radius:var(--radius);background:var(--panel-2);font-size:15px;font-weight:600}.auth-email .ellipsis{flex:1}.auth-card .auth-email button{height:36px}.pw{position:relative}.auth-card .pw input{padding-right:64px}.auth-card .pw button{position:absolute;top:4px;right:4px;height:36px;padding:0 10px;font-size:13px;font-weight:600}.auth-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-error{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;padding:10px 12px;border-radius:var(--radius);background:var(--error-soft);color:var(--error);font-size:14px;font-weight:600}.auth-error svg{flex:none;margin-top:2px}.auth-mail{width:52px;height:52px;display:grid;place-items:center;margin:4px 0 16px;border-radius:14px;background:var(--accent-soft);color:var(--accent-soft-text)}.auth-actions{display:flex;gap:8px}.auth-actions button{flex:1}@media(max-width:720px){.auth-about{margin:12px 12px 0;padding:24px}.auth-about-body{padding:24px 0 8px}.auth-about h2{font-size:30px}.auth-about ul{display:none}.auth-main{padding:20px 12px 32px}.auth-card{padding:20px}}.pw input::-ms-reveal{display:none}.auth-card .ms-login-button{width:100%}.header-actions{display:flex;align-items:center;gap:8px}.notify{position:relative}.bell{position:relative;width:40px;height:40px;padding:0;background:transparent;color:var(--nav-text)}.bell:hover:not(:disabled){background:var(--hover)}.bell.open,.bell.open:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-soft-text)}.bell-count{position:absolute;top:4px;right:4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--error);color:light-dark(#fff,#2e1719);font-size:11px;font-weight:700;line-height:18px;box-shadow:0 0 0 2px var(--bg)}.notify-menu{position:absolute;top:50px;right:-48px;z-index:20;width:400px;max-width:calc(100vw - 32px);overflow:hidden;border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow-card),0 20px 48px light-dark(rgba(0,0,0,.16),rgba(0,0,0,.5))}.notify-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 10px}.notify-head h2{margin:0;font-size:16px;font-weight:700}.notify-menu ul{display:grid;gap:2px;margin:0;padding:0 8px 8px;list-style:none}.notify-row{display:flex;gap:12px;padding:10px;border-radius:var(--radius);color:var(--text)}.notify-row.unread{background:light-dark(#f2f7fd,#172231)}.notify-row:hover{background:var(--hover);text-decoration:none}.notify-icon{flex:none;width:36px;height:36px;display:grid;place-items:center;border-radius:var(--radius);background:var(--panel-2);color:var(--muted);font:700 11px var(--mono)}.notify-icon.teacher,.notify-icon.admin{background:light-dark(var(--tertiary-soft),#241d4a);color:var(--tertiary-text)}.notify-icon.contest{background:var(--accent-soft);color:var(--accent-soft-text)}.notify-icon.AC{background:var(--ac-soft);color:var(--ok)}.notify-icon.WA{background:var(--wa-soft);color:var(--error)}.notify-icon.TLE{background:var(--tle-soft);color:var(--warn)}.notify-text{flex:1;min-width:0;display:grid;gap:2px}.notify-line{display:flex;align-items:baseline;gap:8px}.notify-title{flex:1;min-width:0;font-size:14px;font-weight:500;line-height:1.4}.notify-row.unread .notify-title{font-weight:700}.notify-time,.notify-sub{color:var(--muted);font-size:12px}.notify-sub{overflow:hidden;font-size:13px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.notify-row .dot{align-self:center;margin:0}.notify-row.unread .dot{background:var(--accent)}.notify-all{display:block;padding:12px 16px;border-top:1px solid var(--border);font-size:14px;font-weight:600;text-align:center}.notify-dialog{width:min(560px,100vw - 32px);max-height:min(600px,100dvh - 120px);margin:104px auto auto;padding:0;border:0;border-radius:18px;background:var(--panel);color:var(--text);box-shadow:var(--shadow-card),0 24px 56px light-dark(rgba(0,0,0,.16),rgba(0,0,0,.5))}.notify-dialog[open]{display:flex;flex-direction:column}.notify-dialog::backdrop{background:light-dark(rgba(13,34,56,.42),rgba(3,7,13,.62))}.nd-head{display:flex;align-items:center;gap:12px;padding:16px 16px 12px 20px}.nd-avatar{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:light-dark(var(--tertiary-soft),#241d4a);color:var(--tertiary-text);font-size:13px;font-weight:700}.nd-who{flex:1;min-width:0;display:grid;line-height:1.35;font-size:14px}.nd-who>span{color:var(--muted);font-size:13px}.nd-audience{padding:0 6px;border-radius:4px;background:light-dark(var(--tertiary-soft),#241d4a);color:var(--tertiary-text);font-size:12px;font-weight:600}.nd-close,.nd-close:hover:not(:disabled){flex:none;width:40px;height:40px;padding:0;background:transparent;color:var(--muted)}.nd-close:hover:not(:disabled){background:var(--hover)}.notify-dialog h2{margin:0;padding:0 20px 12px;font-size:20px;line-height:1.35;font-weight:700}.nd-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:grid;align-content:start;gap:12px;padding:0 20px 16px}.nd-body p{margin:0}.nd-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px 12px 20px;border-top:1px solid var(--border);font-size:14px}.nd-foot button,.nd-foot .button-link{height:44px}@media(max-width:720px){.header-actions{gap:4px}.notify-menu{position:fixed;top:64px;right:16px;left:16px;width:auto;max-width:none}.notify-dialog{width:100%;max-width:none;max-height:85dvh;margin:auto 0 0;border-radius:18px 18px 0 0}}.nf-main{display:flex;flex-wrap:wrap;align-items:center;gap:48px;padding-top:56px;padding-bottom:72px}.nf-text{flex:1 1 420px;min-width:0}.nf-code{margin:0;color:var(--link);font:700 120px/1 var(--mono);letter-spacing:-.04em}.nf-text h1{margin:20px 0 8px;color:light-dark(var(--text),#ffffff);font-size:32px;line-height:1.25}.nf-text>p.muted{max-width:480px;margin:0 0 28px}.nf-search{display:flex;flex-wrap:wrap;gap:8px;max-width:520px;margin:0 0 20px}.nf-search label{flex:1 1 240px;display:flex;align-items:center;gap:8px;height:44px;padding:0 12px;border:1px solid light-dark(#c7d1dc,transparent);border-radius:var(--radius);background:light-dark(#ffffff,var(--panel-2));color:var(--muted)}.nf-search label:focus-within{outline:2px solid var(--accent);outline-offset:-1px}.nf-search input{flex:1;min-width:0;padding:0;border:0;background:transparent;outline:none;font-size:15px}.nf-search-btn,.nf-search-btn:hover:not(:disabled){height:44px;padding:0 18px;border:1px solid light-dark(var(--accent),#3d8fd6);background:transparent;color:var(--link)}.nf-search-btn:hover:not(:disabled){background:var(--accent-soft)}.nf-actions{display:flex;flex-wrap:wrap;gap:8px}.button-link.big-ish{gap:8px;height:44px}.button-link.tonal{background:var(--panel-2);color:var(--text)}.button-link.tonal:hover{background:var(--hover)}.nf-verdict{flex:1 1 440px;min-width:0;overflow:hidden}.nf-verdict-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--row);font-size:14px;font-weight:600}.nf-verdict-name{display:inline-flex;align-items:center;gap:8px;color:light-dark(var(--tertiary-text),#c9c1ff)}.verdict.NF{background:light-dark(var(--tertiary-soft),#241d4a);color:var(--tertiary-text)}.nf-verdict dl{display:grid;grid-template-columns:max-content 1fr;gap:10px 20px;margin:0;padding:16px 20px 20px;font-size:14px}.nf-verdict dt{color:var(--muted)}.nf-verdict dd{margin:0;font-size:13px;word-break:break-all}.nf-verdict dd.ok{color:var(--ok)}.nf-verdict dd.bad{color:var(--error)}@media(max-width:720px){.nf-main{gap:32px;padding-top:32px;padding-bottom:48px}.nf-code{font-size:88px}.nf-text h1{font-size:26px}}.site-header{view-transition-name:site-header}::view-transition-old(root),::view-transition-new(root){animation-duration:.18s;animation-timing-function:ease-out}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none}}a.menu-item{display:flex;align-items:center;min-height:36px;border-radius:var(--radius);font-size:14px;text-decoration:none}a.menu-item:hover{background:var(--hover);text-decoration:none}.account-page{display:flex;flex-wrap:wrap;align-items:flex-start;gap:24px;padding-top:12px;padding-bottom:48px}.account-side{flex:0 0 250px}.account-side h1{margin:4px 0 14px 12px;font-size:26px;line-height:1.25}.account-nav{display:grid;gap:2px}.account-nav a{display:flex;align-items:center;gap:12px;height:42px;padding:0 12px;border-radius:var(--radius);color:var(--text);font-size:14px;font-weight:500}.account-nav a svg{color:var(--muted)}.account-nav a:hover{background:var(--hover);text-decoration:none}.account-nav a.active{background:var(--accent-soft);color:var(--accent-soft-text);font-weight:700;box-shadow:0 1px 2px light-dark(rgba(11,111,184,.12),rgba(0,0,0,.4)),0 4px 12px light-dark(rgba(11,111,184,.12),rgba(0,0,0,.3))}.account-nav a.active svg{color:inherit}.account-body{flex:1 1 560px;min-width:0;max-width:820px;display:grid;gap:20px}.account-card{padding:22px 24px}.account-card h2{display:flex;align-items:center;gap:10px;margin:0 0 4px;font-size:18px}.account-card>p.muted{margin:0 0 18px;max-width:64ch}.account-card>p.muted.small{margin:-8px 0 0}.soon{padding:1px 8px;border-radius:var(--radius-sm);background:var(--warn-soft);color:var(--warn);font-size:12px;font-weight:600}.profile-head{display:flex;align-items:center;gap:16px;margin-bottom:22px}.profile-head p.muted{margin:0;font-size:14px}.profile-avatar{flex:none;width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font-size:22px;font-weight:700}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.account-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.account-grid label{display:block;margin-bottom:6px;font-size:14px;font-weight:600}.account-grid input,.account-grid select{width:100%;height:44px;padding:0 12px;font-size:15px}.account-grid input[readonly]{color:var(--muted)}.account-grid input[aria-invalid=true]{box-shadow:inset 0 0 0 2px var(--error)}.account-grid p.small{margin:6px 0 0}.verified{margin-left:6px;padding:1px 6px;border-radius:4px;background:var(--ac-soft);color:var(--ok);font-size:12px;font-weight:600}.account-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;margin-top:22px}.account-actions button{height:44px}.saved{margin-right:auto;color:var(--ok);font-size:14px;font-weight:600}.theme-picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.theme-pick,.theme-pick:hover:not(:disabled){display:grid;justify-content:stretch;justify-items:stretch;gap:10px;height:auto;padding:10px 10px 12px;border-radius:14px;background:var(--panel-2);color:var(--text);font-size:14px;font-weight:600}.theme-pick[aria-checked=true]{box-shadow:0 0 0 2px var(--accent)}.theme-preview{display:flex;width:100%;gap:6px;height:64px;padding:8px;border-radius:var(--radius);background:#fff}.theme-preview>span:first-child{width:26%;border-radius:4px;background:#e8edf3}.theme-preview>span:last-child{flex:1;display:grid;align-content:start;gap:6px}.theme-preview i{height:8px;border-radius:4px;background:#0b6fb8}.theme-preview i+i{width:70%;background:#c3cddb}.theme-pick.dark .theme-preview{background:#0e1520}.theme-pick.dark .theme-preview>span:first-child{background:#1c2635}.theme-pick.dark .theme-preview i{background:#1f72c4}.theme-pick.dark .theme-preview i+i{background:#34445a}.theme-pick.system .theme-preview{background:linear-gradient(110deg,#fff 50%,#0e1520 50%)}@media(max-width:720px){.account-side{flex-basis:100%}.account-nav{display:flex;overflow-x:auto;white-space:nowrap}.account-nav a{flex:none}.account-grid,.account-grid.three{grid-template-columns:minmax(0,1fr)}.theme-picks{gap:8px}}.class-join{margin-bottom:18px}.class-join div{display:flex;gap:8px;margin-top:6px}.class-join input{flex:0 1 240px;min-width:0}.class-join button{height:44px}.class-join .saved{margin:8px 0 0}.class-list{margin:0;padding:0;list-style:none}.class-list li{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--border)}.class-list li div{flex:1 1 auto;min-width:0}.toasts{position:fixed;top:64px;right:max(16px,(100vw - 1240px) / 2 + 20px);z-index:40;display:grid;gap:8px;width:360px;max-width:calc(100vw - 32px);pointer-events:none}.toast{display:flex;align-items:flex-start;gap:2px;padding:6px;border-radius:14px;background:var(--panel);box-shadow:var(--shadow-card),0 16px 40px light-dark(rgba(0,0,0,.16),rgba(0,0,0,.5));pointer-events:auto;animation:toast-in .26s cubic-bezier(.2,.9,.3,1.1)}.toast.leaving{animation:toast-out .2s ease-in forwards}@keyframes toast-in{0%{opacity:0;transform:translate(32px) scale(.98)}}@keyframes toast-out{to{opacity:0;transform:translate(32px)}}.toast-body{flex:1;min-width:0;display:flex;gap:12px;padding:6px;border-radius:var(--radius);color:var(--text)}.toast-body:hover{background:var(--hover);text-decoration:none}.toast-body .notify-title{font-weight:700}.toast-close,.toast-close:hover:not(:disabled){flex:none;width:32px;height:32px;min-height:0;padding:0;background:transparent;color:var(--muted)}.toast-close:hover:not(:disabled){background:var(--hover)}@media(max-width:720px){.toasts{top:8px;right:8px;left:8px;width:auto;max-width:none}.toast{animation-name:toast-down}.toast.leaving{animation-name:toast-up}@keyframes toast-down{0%{opacity:0;transform:translateY(-110%)}}@keyframes toast-up{to{opacity:0;transform:translateY(-110%)}}}@media(prefers-reduced-motion:reduce){.toast,.toast.leaving{animation-name:toast-fade}@keyframes toast-fade{0%{opacity:0}}.toast.leaving{animation-direction:reverse}}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.small-text{font-size:13px}.ok-text{color:var(--ok)}.warn-text{color:var(--warn);font-weight:600}.nowrap{white-space:nowrap}.right{text-align:right}.normal{font-weight:400}.load-state{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px 20px}.load-state p{margin:0}.card-pad{padding:16px 20px}.card-pad-x{margin:0;padding:0 20px 10px}.card-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:16px 20px 12px}.card-head.flush{padding:0}.card-head h1,.card-head h2{margin:0;font-size:18px;font-weight:700}.page-main{padding-top:12px;padding-bottom:56px}.page-main.narrow{max-width:860px}.page-title{margin:4px 0;font-size:26px;line-height:1.25}.page-intro{max-width:70ch;margin:0 0 20px}.table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th{padding:10px 8px;background:light-dark(#f6f8fb,var(--panel-2));color:var(--muted);font-size:13px;font-weight:600;text-align:left;white-space:nowrap}.data-table td{padding:10px 8px;border-top:1px solid var(--row)}.data-table th:first-child,.data-table td:first-child{padding-left:20px}.data-table th:last-child,.data-table td:last-child{padding-right:20px}.data-table .num{text-align:right}.data-table.compact th:first-child,.data-table.compact td:first-child{padding-left:0}.data-table.compact th:last-child,.data-table.compact td:last-child{padding-right:0}.data-table.compact th{background:none}.data-table tr.me{background:var(--accent-soft);color:var(--accent-soft-text)}.cell-sub{display:block;color:var(--muted);font-size:12px;font-weight:400}.problem-name{color:var(--text);font-weight:500}.empty-row{margin:0;padding:16px 20px}.table-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;padding:12px 20px;border-top:1px solid var(--row);color:var(--muted);font-size:14px}.pager{display:inline-flex;align-items:center;gap:8px}.pager button{min-height:34px;padding:0 12px;font-weight:500}.segmented{display:inline-grid;grid-auto-flow:column;gap:2px;padding:3px;border-radius:var(--radius);background:var(--panel-2)}.segmented button,.segmented button:hover:not(:disabled){min-height:30px;padding:0 12px;border-radius:8px;background:transparent;color:var(--muted);font-size:13px;font-weight:500}.segmented button[aria-checked=true]{background:var(--panel);color:var(--text);font-weight:700;box-shadow:0 1px 2px light-dark(rgba(15,23,42,.08),rgba(0,0,0,.4)),0 2px 6px light-dark(rgba(15,23,42,.06),transparent)}.tag{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:var(--radius-sm);background:var(--panel-2);color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap}.tag.teacher{background:light-dark(var(--tertiary-soft),#2a2356);color:light-dark(var(--tertiary-text),#d4ccff)}.tag.accent{background:var(--accent-soft);color:var(--accent-soft-text)}.tag.solved{background:light-dark(#eaf6f0,#133024);color:var(--ok)}.outline-button,.outline-button:hover:not(:disabled){height:40px;border:1px solid light-dark(var(--accent),#3d8fd6);background:transparent;color:var(--link)}.outline-button:hover:not(:disabled){background:var(--accent-soft)}.search-box{display:flex;align-items:center;gap:8px;flex:1 1 240px;height:40px;padding:0 12px;border-radius:var(--radius);background:var(--panel-2);color:var(--muted)}.search-box.white{flex:0 1 240px;background:var(--panel)}.search-box:focus-within{outline:2px solid var(--accent)}.search-box input{flex:1;min-width:0;padding:0;border:0;background:transparent;outline:none}.check{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;cursor:pointer}.check input{width:16px;height:16px;margin:0;accent-color:var(--accent)}.tonal-check{height:36px;padding:0 12px;border-radius:var(--radius);background:var(--panel-2);color:var(--text)}.form-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 12px;margin-top:8px}.io-box{max-height:220px;overflow:auto;padding:8px 10px;border-radius:var(--radius-sm);background:var(--panel-2);white-space:pre-wrap;word-break:break-all}.io-box.error-box{background:var(--error-soft);color:light-dark(#8f1f1f,#ffb3ab)}.io-box.ok-box{background:var(--ac-soft);color:light-dark(#0b5a3f,#9fe3c0)}.io-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.verdict.none{background:none;color:var(--faint)}.verdict.RE,.verdict.MLE{background:var(--tle-soft);color:var(--warn)}.verdict.IE{background:var(--ce-soft);color:var(--muted)}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.status-pill.live{background:var(--ac-soft);color:var(--ok)}.status-pill.live:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.status-pill.upcoming{background:light-dark(var(--tertiary-soft),#241d4a);color:light-dark(#4a3fa8,#c9c1ff)}.status-pill.draft{background:var(--ce-soft);color:var(--muted)}.status-pill.finished{background:var(--accent-soft);color:var(--accent-soft-text)}.warn-pill{flex:none;padding:0 7px;border-radius:999px;background:var(--error-soft);color:var(--error);font-size:11px;font-weight:700}.button-link.small{height:34px;padding:0 12px;font-size:13px}.button-link.white{background:#fff;color:#0d2238}.button-link.white:hover{background:#e8edf3}.big-button{height:44px;padding:0 18px}.icon-button,.icon-button:hover:not(:disabled){width:32px;min-height:32px;padding:0;background:transparent;color:var(--muted)}.icon-button:hover:not(:disabled){background:var(--hover)}.dashed-button,.dashed-button:hover:not(:disabled){width:100%;height:40px;border:1px dashed light-dark(#b7c3d2,#3a4a60);background:transparent;color:var(--link)}.splitter{flex:0 0 14px;display:grid;place-items:center;touch-action:none}.splitter.x{cursor:col-resize}.splitter.y{cursor:row-resize}.splitter span{border-radius:2px;background:var(--handle)}.splitter.x span{width:4px;height:44px}.splitter.y span{width:44px;height:4px}.splitter:hover span,.splitter:focus-visible span{background:var(--accent)}.splitter:focus-visible{outline:none}.problems-page{display:flex;flex-wrap:wrap;align-items:flex-start;gap:24px;padding-top:24px;padding-bottom:64px}.course-nav{flex:1 1 240px;min-width:0;padding:16px 12px;font-size:14px}.course-nav h2{margin:0 0 8px;padding:0 10px;color:var(--muted);font-size:13px;font-weight:600}.course-nav ul{margin:0;padding:0;list-style:none}.course-nav a{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--text)}.course-nav a:hover{background:var(--hover);text-decoration:none}.course-nav a span{color:var(--muted);font-weight:400}.course-nav .course-link[aria-expanded=true]{font-weight:600}.course-nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-soft-text);font-weight:600}.course-nav .chapter-list{margin:0 0 4px 10px;padding-left:10px;border-left:2px solid light-dark(#dbe2ea,#243042)}.chapter-list a{padding:6px 10px}.problems-card{flex:999 1 640px;min-width:0;overflow:hidden}.problems-head{padding:18px 20px 16px}.problems-head>p:first-child{margin:0}.problems-head h1{margin:2px 0 4px;font-size:26px}.problems-text{max-width:640px;margin:0 0 16px}.problems-filter{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.problems-filter select{height:40px}.problems-table{min-width:700px}.level{display:inline-flex;align-items:center;gap:6px}.level-bars{display:inline-flex;gap:2px}.level-bars i{width:6px;height:12px;border-radius:1px;background:light-dark(#dbe2ea,#2a3646)}.level-bars i:first-child,.level-bars.medium i:nth-child(2),.level-bars.hard i{background:light-dark(var(--accent),#3d9be9)}.workspace{position:relative;isolation:isolate;height:100%;min-height:560px;display:flex;flex-direction:column;overflow:clip}.ws-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;min-height:48px;padding:6px 14px 0}.ws-home{display:flex}.ws-logo{height:33px}.ws-nav{position:relative;margin-left:-8px}.ws-nav-menu{top:46px;right:auto;left:0;width:220px}.confirm-dialog{width:min(440px,100vw - 32px);margin:104px auto auto;padding:20px;border:0;border-radius:18px;background:var(--panel);color:var(--text);box-shadow:var(--shadow-card),0 24px 56px light-dark(rgba(0,0,0,.16),rgba(0,0,0,.5))}.confirm-dialog::backdrop{background:light-dark(rgba(13,34,56,.42),rgba(3,7,13,.62))}.confirm-dialog h2{margin:0 0 8px;font-size:20px}.confirm-dialog p{margin:0;color:var(--muted)}.confirm-dialog .pad-bad{margin-top:12px}.confirm-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:20px}.confirm-actions button{height:44px}.ws-where{display:flex;align-items:center;gap:6px;min-width:0;color:var(--faint);font-size:14px}.ws-where a{color:var(--muted)}.ws-where [aria-current]{color:var(--text);font-weight:600}.ws-actions{display:flex;align-items:center;gap:8px}.ws-actions select{height:36px;border:0;background:var(--panel-2)}.ws-actions .secondary{background:var(--secondary);color:light-dark(#0d2238,var(--text))}.ws-title{color:light-dark(#0d2238,#ffffff);font-size:14px;font-weight:600}.ws-file,.ws-file:not(:focus){width:160px;height:28px;margin:0;padding:0 8px;border-radius:8px;background:transparent;color:var(--text);font-size:13px}.ws-file:hover,.ws-file:focus{background:var(--panel-2)}.lang-picker{position:relative}.lang-button,.lang-button:hover:not(:disabled){min-height:28px;gap:7px;padding:0 8px 0 10px;border-radius:8px;background:var(--secondary);color:var(--text);font-size:13px}.lang-button:hover:not(:disabled){background:var(--hover)}.lang-button[aria-expanded=true],.lang-button[aria-expanded=true]:hover{background:var(--accent-soft);color:var(--accent-soft-text)}.lang-dot{flex:none;width:8px;height:8px;border-radius:2px}.lang-menu{position:absolute;top:34px;left:0;z-index:30;width:240px;padding:6px;border-radius:14px;background:var(--panel);box-shadow:var(--shadow)}.lang-menu button,.lang-menu button:hover:not(:disabled){width:100%;min-height:38px;justify-content:flex-start;gap:10px;padding:0 10px;border-radius:9px;background:transparent;color:var(--text);font-size:14px;font-weight:400}.lang-menu button:hover:not(:disabled),.lang-menu button:focus-visible{background:var(--panel-2);outline:none}.lang-menu button[aria-checked=true]{font-weight:600}.lang-tick{width:14px;color:var(--accent)}.ws-body{flex:1 1 auto;min-height:0;display:flex;padding:12px 14px 14px}.ws-empty{flex:1;display:grid;place-items:center}.ws-panel{flex:0 0 42%;min-width:280px;display:flex;flex-direction:column;overflow:hidden}.ws-panel .tabs{overflow-x:auto}.ws-panel .tabs button{min-height:40px}.ws-panel .tabs button:disabled{opacity:1;color:var(--faint)}.tabs .tab-hide{min-height:32px;font-size:13px}.ws-panel-scroll{flex:1 1 auto;min-height:0;overflow:auto}.ws-panel-body{padding:18px 22px 28px}.ws-show{align-self:flex-start;margin-right:14px}.ws-main{flex:1 1 0;min-width:0;display:flex;flex-direction:column}.ws-editor{flex:64 1 0;min-height:140px;display:flex;flex-direction:column;overflow:hidden;background:var(--editor-bg)}.ws-editor-bar{display:flex;align-items:center;gap:8px;height:42px;padding:0 8px 0 12px;border-bottom:1px solid var(--border);color:var(--muted);font-size:13px}.ws-editor-bar .mono{color:var(--text)}.ws-editor-bar .link{color:var(--muted)}.code-editor{flex:1 1 auto;min-height:0}.ws-bottom{flex:36 1 0;min-height:120px;overflow:auto}.ws-bottom-body{padding:12px 14px}.ws-bottom-body>p:first-child{margin-top:0}.ws-status{display:flex;flex-wrap:wrap;gap:4px 18px;padding:4px 14px;border-top:1px solid var(--border);background:var(--panel);color:var(--muted);font-size:12px}.problem-title{margin:0;font-size:22px}.problem-meta{margin:6px 0 16px}.problem-origin{margin:0 0 4px}.problem-origin a{color:inherit;text-decoration:underline}.statement{max-width:70ch;overflow-wrap:break-word}.statement>:first-child{margin-top:0}.statement p,.statement ul,.statement ol,.statement blockquote,.statement table,.statement pre{margin:0 0 12px}.statement h1,.statement h2,.statement h3,.statement h4{margin:18px 0 6px;font-size:16px}.statement ul,.statement ol{padding-left:22px}.statement li+li{margin-top:4px}.statement code{padding:1px 5px;border-radius:6px;background:var(--panel-2);font-family:var(--mono);font-size:.9em}.statement pre{overflow-x:auto;padding:10px 12px;border-radius:var(--radius-sm);background:var(--panel-2)}.statement pre code{padding:0;background:none}.statement blockquote{padding:2px 12px;border-left:3px solid var(--accent);color:var(--muted)}.statement table{display:block;overflow-x:auto;border-collapse:collapse}.statement th,.statement td{padding:6px 10px;border:1px solid light-dark(#d3dbe4,#243042);text-align:left}.statement th{background:var(--panel-2)}.statement img{max-width:100%;height:auto;border-radius:var(--radius-sm)}.statement a{color:var(--link)}.statement .katex-display{overflow-x:auto;overflow-y:hidden;padding:2px 0}.example h2{margin:18px 0 8px;font-size:16px}.example-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));overflow:hidden;border-radius:12px;background:light-dark(#f6f8fb,var(--panel-2))}.example-grid>div+div{border-left:1px solid light-dark(#d3dbe4,#243042)}.example-head{display:flex;justify-content:space-between;align-items:center;padding:2px 10px;background:light-dark(#f4f6f9,#1f2a3a);font-size:13px;font-weight:600}.example-head .link{min-height:30px}.example pre{padding:8px 10px}.io-input{width:100%;margin-bottom:10px;resize:vertical}.sample-results{display:grid;gap:12px;margin:0;padding:0;list-style:none}.sample-result-head,.run-status{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0 0 6px;font-size:14px}.run-status .ok-text,.run-status .error,.sample-result-head>span{font-weight:700}.run-output{display:grid;gap:6px}.run-output .label{margin:4px 0 0}.verdict-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:0 0 10px;font-size:14px}.verdict-big{font-size:18px;font-weight:700}.test-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px;margin:0;padding:0;list-style:none}.test-grid .test-cell{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid light-dark(#dbe2ea,#243042);border-radius:var(--radius-sm);font-size:12px;line-height:1.3}.test-grid .test-cell b{width:30px;color:var(--ok)}.test-grid .test-cell.WA{border-color:light-dark(#f0b9b9,#5a2a2e);background:var(--error-soft)}.test-grid .test-cell.WA b{color:var(--error)}.test-grid .test-cell.TLE,.test-grid .test-cell.MLE,.test-grid .test-cell.RE{border-color:light-dark(#f0d2a1,#4f3a17);background:var(--warn-soft)}.test-grid .test-cell.TLE b,.test-grid .test-cell.MLE b,.test-grid .test-cell.RE b{color:var(--warn)}.test-grid .test-cell.CE b,.test-grid .test-cell.IE b{color:var(--muted)}@media(max-width:900px){.workspace{height:auto;overflow:visible}.ws-body{flex-direction:column;gap:14px}.ws-body>.splitter{display:none}.ws-body>.ws-panel,.ws-body>.pad-io{flex:none;min-width:0;max-height:70vh}.ws-main{min-height:640px}}.discussion-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 18px 10px}.discussion-rules{margin:0 18px 8px;padding:8px 12px;border-radius:var(--radius);background:light-dark(var(--tertiary-soft),#241d4a);color:var(--tertiary-text);font-size:13px}.discussion-empty{padding:8px 18px}.ask-form{display:grid;gap:6px;margin:0 18px 12px;padding:12px;border-radius:12px;background:var(--panel-2)}.ask-form textarea,.ask-form input,.ask-form select{width:100%;background:var(--panel)}.ask-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.ask-form .label{display:grid;gap:4px;margin:0}.threads{margin:0;padding:0 0 12px;list-style:none}.thread{display:flex;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border)}.vote,.vote:hover:not(:disabled){flex:none;align-self:flex-start;flex-direction:column;gap:0;width:40px;min-height:0;padding:6px 0;background:var(--panel-2);color:var(--muted);font-size:13px;font-weight:700}.vote.on,.vote.on:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-soft-text)}.vote:disabled{opacity:1}.thread-body{flex:1;min-width:0}.thread-tags{display:flex;flex-wrap:wrap;gap:6px}.thread h3{margin:6px 0 4px;font-size:15px;line-height:1.4}.thread-title,.thread-title:hover:not(:disabled){display:inline;min-height:0;padding:0;background:none;color:var(--text);font-size:15px;font-weight:600;text-align:left;white-space:normal}.thread-text{max-width:64ch;margin:0;font-size:14px;white-space:pre-wrap}.author-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;color:var(--muted);font-size:13px}.author-line b{color:var(--text);font-weight:600}.author-avatar{flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--panel-2);color:var(--text);font-size:11px;font-weight:700}.author-avatar.staff{background:var(--tertiary);color:#fff}.replies{margin-top:14px;padding-left:14px;border-left:2px solid var(--border)}.replies ol{display:grid;gap:14px;margin:0;padding:0;list-style:none}.replies .author-line{margin-top:0}.reply-text{max-width:62ch;margin:6px 0 0;font-size:14px;white-space:pre-wrap}.reply-text.hint,.reply-hint{padding:10px 12px;border-radius:var(--radius);background:var(--panel-2)}.reply-hint{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;font-size:14px}.reply-hint>span{color:var(--muted);filter:blur(5px);-webkit-user-select:none;user-select:none}.reply-hint button{min-height:30px;background:var(--panel)}.reply-locked{display:flex;align-items:center;gap:10px;margin:6px 0 0;padding:10px 12px;border:1px dashed var(--handle);border-radius:var(--radius);color:var(--muted);font-size:13px}.reply-form{margin-top:14px}.reply-form textarea{width:100%;resize:vertical}.pad-editor{flex:1 1 0;min-width:280px;min-height:320px}.pad-io{flex:0 0 32%;min-width:260px;display:flex;flex-direction:column;gap:14px}.pad-stdin{overflow:hidden}.pad-stdin label{display:block;padding:8px 12px;border-bottom:1px solid var(--border);font-size:13px;font-weight:600}.pad-stdin textarea{display:block;width:100%;border:0;border-radius:0;background:var(--panel);resize:vertical}.pad-output{flex:1 1 auto;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-lg);background:#0f1b2a;color:#dce6f0;box-shadow:0 1px 2px #0f172a1a,0 8px 24px #0f172a24}.pad-output-head{display:flex;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid #22344a;font-size:13px}.pad-output-head .mono{color:#9fb3c8}.pad-ok{color:#9df2c8}.pad-bad{color:#ffb3ab}.pad-output-body{flex:1 1 auto;overflow:auto;padding:12px}.pad-output-body p{margin:0;color:#9fb3c8;font-size:13px}.pad-output-body pre{line-height:1.6}.pad-output-foot{margin:0;padding:8px 12px;border-top:1px solid #22344a;color:#9fb3c8;font-size:12px}.saved-menu{position:relative}.saved-menu>.link{color:var(--nav-text);font-size:14px}.saved-list{position:absolute;top:40px;right:0;z-index:20;width:300px;max-height:360px;overflow:auto;padding:8px;border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow)}.saved-list ul{margin:0;padding:0;list-style:none}.saved-list a{display:grid;padding:8px 10px;border-radius:var(--radius);color:var(--text)}.saved-list a:hover{background:var(--hover);text-decoration:none}.saved-list .load-state,.saved-list>p{padding:8px 10px}@media(max-width:900px){.ws-keys,.ws-copy{display:none}}.contest-group{margin-bottom:20px;padding:18px 20px 8px}.contest-group h2{margin:0 0 4px;font-size:18px}.contest-info{flex:1;min-width:0;display:grid}.contest-head-row{padding-top:12px}.contest-head{padding:22px 24px 18px}.contest-head-top{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 32px}.contest-name{flex:999 1 420px;min-width:0}.contest-name p{margin:0}.contest-name h1{margin:2px 0 0;font-size:26px}.contest-time{flex:1 1 320px;min-width:0}.contest-time p{margin:4px 0 0}.contest-time-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.contest-time-labels b{color:var(--text);font-size:15px}.time-bar{position:relative;height:8px;margin-top:4px;overflow:hidden;border-radius:4px;background:light-dark(#e3e8ee,#243042)}.time-bar span{position:absolute;inset:0 auto 0 0;background:var(--accent)}.time-bar i{position:absolute;top:0;right:0;bottom:0;background:repeating-linear-gradient(135deg,transparent 0 4px,light-dark(#c7d1dc,#3a4a60) 4px 6px)}.contest-head-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px}.pill-tabs{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:12px;background:light-dark(#eef1f6,var(--panel-2));font-size:14px;font-weight:500}.pill-tabs a{padding:8px 16px;border-radius:9px;color:light-dark(#2f3b4a,#c3cfdc)}.pill-tabs a:hover{background:var(--hover);text-decoration:none}.pill-tabs a.active{background:var(--panel);color:var(--accent-soft-text);font-weight:700;box-shadow:0 1px 2px light-dark(rgba(15,23,42,.1),rgba(0,0,0,.4)),0 2px 8px light-dark(rgba(15,23,42,.06),transparent)}.contest-main{padding-top:20px;padding-bottom:64px}.contest-main>.card{overflow:hidden}.contest-overview .statement{padding:20px 20px 4px}.board-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 24px;padding:18px 20px 16px}.board-text{flex:1 1 460px;min-width:0}.board-text h2{margin:0;font-size:18px}.board-text p{margin:2px 0 10px}.legend{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--nav-text);font-size:12px}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:14px;height:14px;border-radius:4px}.board-frozen{margin:0 20px 12px;color:var(--muted);font-size:13px}.scoreboard{min-width:820px}.data-table .cell-col{text-align:center}.cell-col span{display:block;font-size:11px;font-weight:400}.data-table .cell-td{padding:4px}.score-cell{height:40px;min-width:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:11px;line-height:1.15}.score-cell b{font-size:14px}.cell-full{background:var(--ac-soft);color:light-dark(#0f6146,#8fe0b5)}.cell-partial{background:light-dark(#fdf3e2,#36270f);color:light-dark(#8a4b00,#f2b35b)}.cell-zero{background:var(--wa-soft);color:light-dark(#a32121,#ff8a80)}.cell-none{background:var(--panel-2)}.questions .ask-form{margin:12px 0 16px}.questions>p:first-child{margin:0}.question-list{display:grid;gap:14px;margin:16px 0 0;padding:0;list-style:none}.question-list li{padding-top:14px;border-top:1px solid var(--border)}.question-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}.question-text{margin:6px 0;white-space:pre-wrap}.question-answer{margin:0;padding:8px 12px;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent-soft-text);white-space:pre-wrap}.ranking-page{display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px;padding-top:8px;padding-bottom:48px}.ranking-card{flex:1 1 640px;min-width:0;overflow:hidden}.ranking-head{padding:22px 24px 16px}.ranking-head h1{margin:0;font-size:26px}.ranking-head>p{max-width:70ch;margin:6px 0 16px;font-size:14px}.ranking-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px}.filter-group{display:inline-flex;align-items:center;gap:8px}.ranking-filters .segmented button{min-height:32px;padding:0 14px;font-size:14px}.ranking-filters select{height:38px}.rank-badge{display:inline-grid;place-items:center;min-width:30px;height:26px;padding:0 6px;border-radius:8px;color:var(--muted);font:700 13px var(--mono)}.rank-badge.top{background:light-dark(var(--tertiary-soft),#241d4a);color:var(--tertiary-text)}tr.me .rank-badge{background:var(--panel);color:inherit}.player{display:flex;align-items:center;gap:10px}.player b{font-weight:600}.player-avatar{flex:none;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--panel-2);color:var(--text);font-size:11px;font-weight:700}.player-avatar.me{background:var(--accent);color:#fff}tr.me .cell-sub{color:inherit}.gap-row td{padding:6px 24px;color:var(--faint);font-size:13px;text-align:center}.ranking-side{flex:0 1 320px;min-width:280px;display:grid;gap:20px}.ranking-side .side-card{padding:20px 22px}.ranking-side .side-card p{margin:0;font-size:14px}.ranking-side .me-rank{margin:10px 0 8px}.me-rank .mono{font-size:32px;font-weight:800;line-height:1.1}.week-list{display:grid;gap:10px;margin:0;padding:0;list-style:none;font-size:14px}.week-list li{display:flex;align-items:center;gap:10px}.week-list b{flex:1;font-weight:500}.side-note{margin:0 4px}.notify-page .news-head{align-items:center}.teacher{min-height:100%;display:flex;flex-wrap:wrap;background:light-dark(#f3f5f9,var(--bg))}.teacher-side{flex:1 1 248px;display:flex;flex-direction:column;gap:22px;padding:20px 14px;background:#0d2238;color:#c9d4e1}.teacher-brand{display:flex;align-items:center;gap:10px;padding:0 8px}.teacher-logo{height:34px}.teacher-badge{white-space:nowrap;padding:3px 8px;border-radius:var(--radius-sm);background:#5b4bc4;color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em}.teacher-nav{display:flex;flex-direction:column;gap:2px;font-size:14px}.teacher-nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius);color:#c9d4e1;font-weight:500}.teacher-nav a>span:first-of-type{flex:1 1 auto}.teacher-nav a:hover{background:#ffffff14;text-decoration:none}.teacher-nav a.active{background:#ffffff1f;color:#fff;font-weight:700}.live-badge{padding:0 8px;border-radius:999px;background:#4fd08f2e;color:#8fe0b5;font-size:12px;font-weight:600}.teacher-live{padding:14px;border-radius:12px;background:#ffffff0f;font-size:13px}.teacher-live p{margin:0 0 10px}.teacher-live .mono{color:#fff}.teacher-live .live-label{display:flex;align-items:center;gap:8px;margin:0;color:#8fe0b5;font-size:12px;font-weight:600}.live-label i{width:8px;height:8px;border-radius:50%;background:#4fd08f}.teacher-live .teacher-live-name{margin:4px 0 2px;color:#fff;font-size:14px;font-weight:600}.to-practice{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);color:#c9d4e1;font-size:14px}.to-practice:hover{background:#ffffff14;text-decoration:none}.teacher-user{display:flex;align-items:center;gap:10px;padding:0 4px}.teacher-user>span:last-child{display:grid;min-width:0;font-size:12px;line-height:1.3}.teacher-user b{color:#fff;font-size:14px}.teacher-avatar{flex:none;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#5b4bc4;color:#fff;font-size:13px;font-weight:700}.teacher-main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column}.teacher-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:22px 32px 0}.teacher-hello{flex:999 1 280px;min-width:0}.teacher-hello p{margin:0}.teacher-hello h1,.teacher-title{margin:0;color:light-dark(#0d2238,#ffffff);font-size:26px;line-height:1.25}.teacher-pad{margin:12px 32px 0}.teacher-body{display:flex;flex-direction:column;gap:24px;padding:20px 32px 48px}.teacher-top{padding-top:24px}.teacher-top>p.muted{margin:-16px 0 0}.teacher-live-card{margin:0}.teacher-live-card h2{margin:2px 0 0;color:var(--tertiary-text);font-size:24px}.teacher-live-card .live-text>p:not(.live-status){margin:2px 0 12px}.live-chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--panel);color:var(--muted);font-size:13px;font-weight:600}.chip:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.chip.ok{color:var(--ok)}.chip.warn{color:var(--warn)}.chip.bad{color:var(--error)}.teacher-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:24px}.teacher-alerts{flex:999 1 480px;min-width:0;overflow:hidden}.teacher-classes{flex:1 1 320px;min-width:0}.alert-list,.class-list{margin:0;padding:0;list-style:none}.alert-list li{display:flex;align-items:center;gap:14px;padding:12px 20px;border-top:1px solid var(--row)}.alert-icon{flex:none;width:32px;height:32px;display:grid;place-items:center;border-radius:8px}.alert-icon.violation{background:var(--error-soft);color:var(--error)}.alert-icon.offline{background:var(--warn-soft);color:var(--warn)}.alert-icon.judge{background:var(--accent-soft);color:var(--accent-soft-text)}.alert-icon.class{background:light-dark(var(--tertiary-soft),#241d4a);color:light-dark(#4a3fa8,#c9c1ff)}.alert-text{flex:1 1 auto;min-width:0;display:grid}.class-list li{display:flex;align-items:center;gap:12px;padding:10px 20px;border-top:1px solid var(--row)}.class-list li>span:first-child{flex:1;display:grid}.join-code{display:grid;font-size:11px;line-height:1.25;text-align:right}.join-code b,.join-code-cell{color:light-dark(#0d2238,#ffffff);font-size:15px;letter-spacing:.06em}.exam-head{padding:18px 32px 0}.crumbs{display:flex;flex-wrap:wrap;gap:6px}.exam-head-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 24px;margin-top:6px}.exam-head-text{flex:999 1 420px;min-width:0}.exam-head-text h1{margin:6px 0 0;color:light-dark(#0d2238,#ffffff);font-size:26px}.exam-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0;color:var(--muted);font-size:13px}.exam-meta b{color:var(--text)}.exam-clock{margin:0;padding:8px 14px;border-radius:12px;background:light-dark(var(--tertiary-soft),#241d4a);color:light-dark(#4b4380,#c3bce8);font-size:12px;line-height:1.2;text-align:right}.exam-clock b{color:var(--tertiary-text);font-size:24px}.exam-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-top:14px;border-bottom:1px solid light-dark(#dbe2ea,#243042);font-size:14px}.exam-tabs a{margin-bottom:-1px;padding:10px 14px;border-bottom:2px solid transparent;color:var(--nav-text);font-weight:500}.exam-tabs a:hover{color:var(--text);text-decoration:none}.exam-tabs a.active{border-bottom-color:var(--accent);color:var(--accent-soft-text);font-weight:700}@media(max-width:720px){.teacher-head,.exam-head,.teacher-body{padding-right:16px;padding-left:16px}}.monitor,.results{display:flex;flex-wrap:wrap;align-items:flex-start;gap:24px}.monitor-room{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:14px}.monitor-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.chip-filters{display:flex;flex-wrap:wrap;gap:8px}.filter-chip,.filter-chip:hover:not(:disabled){gap:8px;height:36px;padding:0 14px;border:1px solid light-dark(#dbe2ea,#2a3646);border-radius:999px;background:var(--panel);color:var(--text);font-weight:500}.filter-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.filter-chip i{width:8px;height:8px;border-radius:50%;background:var(--text)}.filter-chip.active i{background:var(--ok)}.filter-chip.offline i{background:var(--warn)}.filter-chip.warn i{background:var(--error)}.filter-chip.finished i{background:var(--faint)}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:0;padding:0;list-style:none}.tile,.tile:hover:not(:disabled){width:100%;height:auto;flex-direction:column;align-items:stretch;gap:8px;padding:12px 14px;border:2px solid transparent;border-radius:12px;background:var(--panel);color:var(--text);font-weight:400;text-align:left;white-space:normal;box-shadow:var(--shadow-card)}.tile.offline,.tile.offline:hover:not(:disabled){background:var(--warn-soft)}.tile[aria-pressed=true]{border-color:var(--accent)}.tile-top{display:flex;align-items:center;gap:8px}.tile-top b{flex:1;font-size:14px}.state-dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--ok)}.state-dot.offline{background:var(--warn)}.state-dot.finished{background:var(--faint)}.tile-probs{display:flex;gap:4px}.tile-probs .verdict{flex:1 1 0;min-width:0;padding:2px 0;font-size:11px}.tile-probs .verdict.none{background:var(--panel-2)}.tile-seen{font-size:12px}.monitor-side{flex:1 1 340px;min-width:0;display:flex;flex-direction:column;gap:16px}.monitor-side .card{overflow:hidden}.side-title{margin:0 0 6px;font-size:14px;font-weight:700}.state-line{display:flex;align-items:center;gap:8px;margin:0;color:var(--muted);font-size:13px;font-weight:600}.state-line.offline{color:var(--warn)}.detail-name{margin:2px 0 0;color:light-dark(#0d2238,#ffffff);font-size:20px}.monitor-side .card-pad>p{margin:0 0 12px}.unlock-box{padding:12px 18px 14px;border-top:1px solid var(--border);background:light-dark(#fbfaff,#1a1835)}.unlock-box p{margin:0}.unlock-title{color:var(--tertiary-text);font-size:13px;font-weight:600}.unlock-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.unlock-code{flex:1 1 140px;color:var(--tertiary-text);font-size:18px;font-weight:700;letter-spacing:.08em}.monitor-side .card-pad+.card-pad{border-top:1px solid var(--border)}.event-list{margin:0;padding:0;list-style:none}.event-list li{display:flex;gap:10px;padding:6px 0}.event-list li+li{border-top:1px solid var(--row)}.event-dot{flex:none;width:8px;height:8px;margin-top:7px;border-radius:50%;background:var(--faint)}.event-dot.bad{background:var(--error)}.event-dot.warn{background:var(--warn)}.event-dot.ok{background:var(--ok)}.event-text{flex:1 1 auto;min-width:0;display:grid;font-size:14px}.event-text>b{font-weight:600}.event-what.bad{color:var(--error);font-weight:600}.event-what.warn{color:var(--warn);font-weight:600}.results-board{flex:999 1 600px;min-width:0;overflow:hidden}.results-board .search-box{flex:0 1 220px;height:36px}.results-board .outline-button{height:36px}.results-table{min-width:720px}.results-table .state-line{white-space:nowrap}.results-table tr.picked{background:light-dark(#fafcff,#172231)}.score-button,.score-button:hover:not(:disabled){width:100%;min-width:84px;min-height:44px;flex-direction:column;gap:0;padding:4px 6px;border:2px solid transparent;border-radius:8px;background:transparent;color:var(--text);font-weight:400;line-height:1.25}.score-button:hover:not(:disabled){background:var(--hover)}.score-button[aria-pressed=true]{border-color:var(--accent);background:light-dark(#eef5fd,#173a5e)}.score-button b{font-size:15px}.score-button .verdict{min-width:0;padding:0 5px;font-size:11px}.results-table .total{color:light-dark(#0d2238,#ffffff);font-size:16px}.results-side{flex:1 1 400px;min-width:0;overflow:hidden}.results-side .card-pad p{margin:0}.attempts{display:flex;flex-wrap:wrap;gap:6px;padding:0 20px 12px}.attempts button,.attempts button:hover:not(:disabled){min-height:30px;padding:0 10px;border:1px solid light-dark(#dbe2ea,#2a3646);border-radius:8px;background:var(--panel);color:var(--nav-text);font-size:12px}.attempts button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-soft-text)}.review-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:12px 20px;border-top:1px solid var(--border);background:light-dark(#fafbfd,#141c28);font-size:14px}.review-source{max-height:360px;overflow:auto;padding:14px 20px;border-top:1px solid var(--border);background:light-dark(#f7f9fc,var(--editor-bg));line-height:1.6;white-space:pre}.review-tests{margin:0;padding:0;list-style:none}.review-tests li+li{border-top:1px solid var(--row)}.test-row,.test-row:hover:not(:disabled){width:100%;justify-content:flex-start;gap:8px;padding:0;background:none;color:var(--text);font-size:13px;font-weight:400}.test-io{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-bottom:10px}.test-io .label{margin:0 0 2px;font-size:11px;font-weight:600}.test-io .io-box{font-size:12px}@media(max-width:720px){.test-io{grid-template-columns:minmax(0,1fr)}}.edit{display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px 24px}.edit-bar{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.edit-side{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:20px}.edit-main{flex:999 1 600px;min-width:0;display:flex;flex-direction:column;gap:20px}.form-card{display:flex;flex-direction:column;gap:12px}.form-card h2{margin:0;font-size:16px;font-weight:700}.field{display:flex;flex-direction:column;gap:4px;min-width:0;margin:0;padding:0;border:0;font-size:13px;font-weight:600}.field legend{margin-bottom:6px;padding:0}.field input:not([type=checkbox],[type=radio]),.field select,.field textarea{min-height:40px;font-weight:400}.field textarea{line-height:1.6;resize:vertical}.field-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 24px}.field-row>.field{flex:1 1 140px}.field-check{height:40px}.code-box{display:flex;align-items:center;height:40px;padding:0 12px;border-radius:var(--radius);background:var(--panel-2);font-size:15px;letter-spacing:.06em}.unit{display:flex;align-items:center;gap:8px;font-weight:400}.unit input{width:100%}.plist ol{display:flex;flex-direction:column;gap:2px;margin:0;padding:0 8px;list-style:none}.plist ol button,.plist ol button:hover:not(:disabled){width:100%;justify-content:flex-start;gap:10px;padding:10px;background:transparent;color:var(--text);font-weight:500;text-align:left;white-space:normal}.plist ol button:hover:not(:disabled){background:var(--hover)}.plist ol button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-soft-text);font-weight:700}.plist ol button>span:nth-child(2){flex:1;min-width:0;display:grid;line-height:1.3}.letter{flex:none;width:26px;height:26px;display:grid;place-items:center;border-radius:7px;background:var(--panel);color:light-dark(#0d2238,#ffffff);font-size:13px;box-shadow:0 1px 2px light-dark(rgba(15,23,42,.1),rgba(0,0,0,.4))}.plist .warn-pill{background:var(--warn-soft);color:var(--warn)}.check-row{display:flex;flex-wrap:wrap;gap:8px}.check-pill{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;border:1px solid light-dark(#dbe2ea,#2a3646);border-radius:var(--radius);font-size:14px;font-weight:400;cursor:pointer}.check-pill:has(input:checked),.radio-card:has(input:checked){border-color:var(--accent);background:light-dark(#f4f9fe,#173a5e)}.check-pill input,.radio-card input{flex:none;width:16px;height:16px;margin:0;padding:0;accent-color:var(--accent)}.radio-card input{margin-top:3px}.radio-cards{display:flex;flex-wrap:wrap;gap:10px}.radio-card{flex:1 1 240px;display:flex;gap:10px;padding:12px 14px;border:2px solid light-dark(#dbe2ea,#2a3646);border-radius:12px;font-weight:400;cursor:pointer}.radio-card>span{display:grid;line-height:1.4}.radio-card b{font-size:14px}.tests-table{min-width:640px}.tests-table td{vertical-align:top}.kind-pill,.kind-pill:hover:not(:disabled){min-height:28px;padding:0 10px;border-radius:999px;font-size:12px}.kind-pill.sample,.kind-pill.sample:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-soft-text)}.kind-pill.hidden,.kind-pill.hidden:hover:not(:disabled){background:light-dark(var(--tertiary-soft),#241d4a);color:light-dark(#4a3fa8,#c9c1ff)}textarea.test-cell{width:100%;min-width:160px;font-size:12px;resize:vertical}.inline-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.inline-form .grow{flex:1 1 260px}.inline-form button{height:40px}.inline-form .full{flex:1 1 100%;margin:0}
