@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+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,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+1EE??}@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+1-C,U+E-1F,U+7F-9F,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+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,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+1F0??,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+1F7??,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+1FB??}@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+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,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+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,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+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--fg:#10233a;--muted:#4f6275;--bg:#f3f7fb;--sheet:#fff;--surface:#eaf1f8;--border:#d3dfeb;--accent:#1360aa;--accent-soft:#d0dfee;--action:#137a47;--on-action:#fff;--action-hover:#0f6139;--mint:#e8f5ef;--success:#137a47;--danger:#b42318;--danger-soft:#fdecea;--hero:#1360aa;--hero-fg:#fff;--hero-muted:#d8e6f5;--radius:12px;--radius-lg:20px;--leaf:32px 6px 32px 6px;--leaf-alt:6px 32px 6px 32px;--font-text:"Onest Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Unbounded Variable", "Onest Variable", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-text);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:16px;line-height:1.55}:root[data-theme=dark]{--fg:#e6eef7;--muted:#9db0c5;--bg:#0a1726;--sheet:#11233a;--surface:#152b45;--border:#22405f;--accent:#7db6f2;--accent-soft:#163150;--action:#3dc487;--on-action:#062515;--action-hover:#5fd39f;--mint:#10301f;--success:#5fd39f;--danger:#ff8a80;--danger-soft:#3a1a1a;--hero:#0f3a68;--hero-fg:#fff;--hero-muted:#c4d7ec;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{min-height:100vh;margin:0}img{max-width:100%}.container{max-width:1160px;margin:0 auto;padding:0 clamp(1rem,3vw,2rem)}main.container{padding-block:2rem 4rem}.narrow{max-width:440px}h1,h2{font-family:var(--font-display);letter-spacing:-.01em;line-height:1.2}h1{margin:0 0 1rem;font-size:clamp(1.6rem,1.15rem + 1.5vw,2.3rem);font-weight:600}h2{margin:0 0 .75rem;font-size:1.3rem;font-weight:500}h3{margin:0 0 .5rem;font-size:1.1rem;font-weight:600}h4{font-size:1rem;font-weight:600}p{max-width:72ch}a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}code{font-size:.9em}.md{max-width:72ch}.muted{color:var(--muted)}.success{color:var(--success)}.center{text-align:center}.app-header{z-index:20;background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0}.nav{flex-wrap:wrap;align-items:center;gap:1.25rem;min-height:4rem;display:flex}.nav a{color:var(--fg);font-weight:500;text-decoration:none;position:relative}.nav a:hover,.nav a.router-link-active:not(.brand){color:var(--accent)}.nav a.router-link-active:not(.brand):after{content:"";background:currentColor;border-radius:2px;height:2px;position:absolute;bottom:-.45rem;left:0;right:0}.brand{font-family:var(--font-display);align-items:center;gap:.6rem;font-size:1.1rem;font-weight:600;display:inline-flex;color:var(--fg)!important}.logo-mark{flex:none;width:2.1rem;height:2.1rem}.logo-mark .leaf{fill:var(--accent)}.logo-mark text{fill:var(--bg);font-family:var(--font-text);font-size:24px;font-weight:700}.spacer{flex:1}.subnav{flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem;display:flex}.banner{background:var(--danger);color:#fff;text-align:center;padding:.5rem 1rem}.banner .link-button{color:inherit}.theme-toggle{border:1px solid var(--border);width:2.5rem;height:2.5rem;color:var(--fg);background:0 0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.theme-toggle:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:0 0}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:1.2rem;height:1.2rem}.theme-toggle svg .fill{fill:currentColor;stroke:none}form{gap:1rem;display:grid}.field{gap:.3rem;display:grid}label{font-weight:500}input,select,textarea{font:inherit;border:1.5px solid var(--border);background:var(--sheet);color:var(--fg);border-radius:10px;width:100%;padding:.6rem .8rem;transition:border-color .15s}input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent);outline:none}textarea{resize:vertical}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--action)}input[type=file]{border-style:dashed}fieldset{border:1px solid var(--border);border-radius:var(--radius);gap:.5rem;padding:.75rem 1rem;display:grid}legend{padding:0 .25rem;font-weight:600}.checkbox{align-items:center;gap:.5rem;font-weight:400;display:flex}.checkbox input{width:auto}.hint{color:var(--muted);font-size:.925rem}.field-error,.error-message{color:var(--danger)}.error-message{margin:0}.filters{grid-template-columns:2fr 1fr 1fr;align-items:end;margin-bottom:1.25rem}.filters label{gap:.3rem;display:grid}@media (width<=640px){.filters{grid-template-columns:1fr}}button,a.button{font:inherit;background:var(--action);min-height:2.6rem;color:var(--on-action);cursor:pointer;border:1.5px solid #0000;border-radius:999px;justify-content:center;justify-self:start;align-items:center;gap:.5rem;padding:.55rem 1.25rem;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}button:hover:not(:disabled),a.button:hover{background:var(--action-hover)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary,a.button.secondary{color:var(--accent);background:0 0;border-color:currentColor}button.secondary:hover:not(:disabled),a.button.secondary:hover{background:var(--accent-soft)}button.danger{background:var(--danger);color:#fff}button.danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 85%, #000)}button.icon{min-height:2.1rem;color:var(--fg);border-color:var(--border);background:0 0;padding:.2rem .8rem;font-weight:500}button.icon:hover:not(:disabled){background:var(--surface)}.link-button{color:var(--accent);background:0 0;border:none;border-radius:0;min-height:0;padding:0;font-weight:500;text-decoration:underline}.link-button:hover:not(:disabled){background:0 0;text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.panel{background:var(--sheet);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:1.5rem;padding:1.25rem 1.5rem}.panel>*+*{margin-top:.75rem}.panel>h2:first-child,.panel>h3:first-child{margin-top:0}.props{grid-template-columns:max-content 1fr;gap:.35rem 1.25rem;display:grid}.props dt{color:var(--muted)}.props dd{margin:0}.table-scroll{overflow-x:auto}table{border-collapse:separate;border-spacing:0;background:var(--sheet);border:1px solid var(--border);border-radius:var(--radius);width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.6rem .75rem}tr:last-child>td{border-bottom:none}th{background:var(--surface);color:var(--muted);font-size:.925rem;font-weight:600}table[aria-busy=true]{opacity:.6}.pagination{align-items:center;gap:1rem;margin-top:1.25rem;display:flex}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lead{font-size:1.125rem}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.actions{flex-wrap:wrap;align-items:center;gap:1rem;margin:1rem 0;display:flex}.badge{border:1px solid var(--border);color:var(--muted);border-radius:999px;margin-left:.5rem;padding:0 .55rem;font-size:.85rem;line-height:1.6;display:inline-block}.chip{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:.1rem .65rem;font-size:.85rem;font-weight:600;display:inline-block}.chip.free{background:var(--mint);color:var(--success)}.notice{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:var(--radius);gap:.5rem;margin-bottom:1rem;padding:.85rem 1.1rem;display:grid}.search{max-width:520px;margin-bottom:1.25rem}.mono,pre.code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem}progress{width:100%;max-width:320px;accent-color:var(--action)}.cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.card{background:var(--sheet);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:.35rem;padding:1.1rem 1.25rem;display:flex}.card h2{font-family:var(--font-text);letter-spacing:0;margin:0 0 .25rem;font-size:1.15rem;font-weight:650}.card h2 a{color:var(--fg);text-decoration:none}.card h2 a:hover{color:var(--accent);text-decoration:underline}.card p{margin:.25rem 0}.outline-section h3{margin-bottom:.25rem}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.learn-layout{grid-template-columns:280px 1fr;align-items:start;gap:2rem;display:grid}.learn-outline{gap:.5rem;display:grid;position:sticky;top:1rem}.learn-outline h3{margin:.75rem 0 .25rem;font-size:.95rem}.learn-outline ol{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.learn-outline li{gap:.25rem;display:flex}.learn-outline li.current a{font-weight:600}.check{width:1.2em;color:var(--success);flex:none}.learn-content{min-width:0}.lesson-nav{border-top:1px solid var(--border);gap:.5rem;margin-top:2rem;padding-top:1rem;display:flex}@media (width<=800px){.learn-layout{grid-template-columns:1fr}.learn-outline{position:static}}.lesson{gap:1rem;max-width:72ch;display:grid}.md :where(h1,h2,h3){margin:1rem 0 .5rem}.md img{max-width:100%}.video{margin:0}.video iframe,.video video{aspect-ratio:16/9;background:#000;border:0;width:100%}.video figcaption{color:var(--muted);font-size:.9rem}pre.code{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:.75rem 1rem;overflow-x:auto}.studio-section{border-top:1px solid var(--border);gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:grid}.studio-section h3{margin:0}.studio-items{gap:.25rem;margin:0;padding-left:1.25rem;display:grid}form.inline{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}form.inline input{flex:1;width:auto;min-width:200px}.problems{color:var(--danger);margin:0}.editor-bar{background:var(--bg);border-bottom:1px solid var(--border);z-index:1;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem 0;display:flex;position:sticky;top:0}.save-status.saved{color:var(--success)}.save-status.error,.save-status.invalid,.save-status.conflict{color:var(--danger)}.title-input{font-size:1.25rem}.block-editor{border:1px solid var(--border);border-radius:var(--radius);gap:.5rem;margin:.75rem 0;padding:.75rem;display:grid}.add-blocks{margin:1rem 0}.offers{gap:.5rem;max-width:640px;margin:1rem 0;display:grid}.offer{border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.price,.amount{font-size:1.25rem;font-weight:700}.amount{margin:.5rem 0 1.5rem;font-size:2rem}.banner-test{color:#5c4400;border-radius:var(--radius);background:#fff3cd;border:1px solid #e6c65c;margin-bottom:1rem;padding:.5rem .75rem}.order-status{font-size:1.25rem}tr.muted td{color:var(--muted)}.heading-row{align-items:baseline;gap:.75rem}.heading-row h1{margin-bottom:.5rem}.status-pill{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.1rem .6rem;font-size:.85rem;display:inline-block}.status-registration{border-color:var(--accent);color:var(--accent)}.status-running{background:var(--success);border-color:var(--success);color:var(--bg)}.status-cancelled{color:var(--muted);text-decoration:line-through}.champion{font-size:1.1rem}.tabs{background:var(--surface);border-radius:999px;gap:.25rem;margin-top:1.5rem;padding:.3rem;display:inline-flex}.tab{color:var(--fg);background:0 0;min-height:2.2rem;padding:.35rem 1rem;font-weight:600}.tab:hover:not(:disabled){background:var(--sheet)}.tab[aria-pressed=true],.tab[aria-pressed=true]:hover:not(:disabled){background:var(--accent);color:var(--bg)}.auto-width{width:auto}.seed-input{width:5rem}.invite-link{flex:1;width:auto;min-width:240px}.team-box{border:1px dashed var(--border);border-radius:var(--radius);padding:.75rem 1rem}.team-box h3{margin:0 0 .5rem}.team-box ul{margin:0 0 .5rem;padding-left:1.25rem}.participants{gap:.35rem;display:grid}.participants li.mine,.standings tr.mine td{font-weight:600}.match{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);min-width:200px;display:grid}.match.ready{border-color:var(--accent)}.match.selected{outline:2px solid var(--accent)}.match.cancelled{opacity:.55}.match-slot{justify-content:space-between;gap:.75rem;padding:.3rem .6rem;display:flex}.match-slot+.match-slot{border-top:1px solid var(--border)}.match-slot.winner{font-weight:700}.match-slot.mine{background:var(--surface)}.match-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.match-score{font-variant-numeric:tabular-nums}.match-note{margin:0;padding:0 .6rem .3rem;font-size:.8rem}.match-action{margin:.25rem .5rem .5rem;font-size:.85rem}.bracket-section+.bracket-section{margin-top:1.5rem}.bracket{gap:1.5rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.bracket-round{flex-direction:column;min-width:210px;display:flex}.bracket-round h4{color:var(--muted);margin:0 0 .5rem;font-size:.9rem}.bracket-matches{flex-direction:column;flex:1;justify-content:space-around;gap:.75rem;display:flex}.round-block{margin-bottom:1.25rem}.round-block h3{margin:0 0 .5rem}.round-matches{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.75rem;display:grid}.result-form{max-width:520px}.result-form h3{margin:0}.score-inputs{align-items:end;gap:.75rem;display:flex}.score-inputs label{gap:.25rem;font-weight:400;display:grid}.score-inputs input{width:6rem}.title-input{margin:.5rem 0;font-size:1.4rem;font-weight:600}.points-input{width:6rem}.question-editor{border:1px solid var(--border);border-radius:var(--radius);gap:.5rem;margin:1rem 0;padding:.75rem 1rem;display:grid}.question-editor legend{padding:0 .25rem;font-weight:600}.question-editor .row{align-items:center}.option-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.option-list input:not([type=radio]):not([type=checkbox]){flex:1;width:auto}.quiz-question{border:1px solid var(--border);border-radius:var(--radius);margin:0 0 1rem;padding:.75rem 1rem}.quiz-question legend{padding:0 .25rem;font-weight:600}.quiz-question .md :first-child,.quiz-result h2{margin-top:0}.quiz-review{gap:.75rem;padding-left:1.25rem;display:grid}.quiz-review li{border-left:3px solid var(--border);padding-left:.75rem}.quiz-review li.right{border-left-color:var(--success)}.quiz-review li.wrong{border-left-color:var(--danger)}.quiz-review .explanation{color:var(--muted)}.task-list{gap:.4rem;padding-left:0;list-style:none;display:grid}.task-form{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.contest-task.solved{border-color:var(--success)}.contest-task h3{margin-top:0}.contest-answer{gap:.5rem;max-width:520px;display:grid}.success-badge{border-color:var(--success);color:var(--success)}.task-col,.task-cell{text-align:center;min-width:3rem}.task-cell.solved{color:var(--success);font-weight:600}.task-cell.tried{color:var(--danger)}.task-cell small{color:var(--muted);font-weight:400;display:block}.verify-banner{background:var(--surface);color:var(--fg,inherit);border-bottom:1px solid var(--border)}.verify-banner .link-button{color:var(--accent)}.avatar{object-fit:cover;border-radius:50%;flex:none}.avatar-sm{vertical-align:middle;width:1.6rem;height:1.6rem;margin-right:.35rem}.avatar-lg{width:5rem;height:5rem}.avatar-empty{background:var(--surface);border:1px solid var(--border);text-transform:uppercase;justify-content:center;align-items:center;font-size:2rem;display:inline-flex}.avatar-row{align-items:center;gap:1rem}.profile-link{align-items:center;display:inline-flex}.cover-preview,.course-cover{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);width:100%;max-width:640px;margin-bottom:.75rem;display:block}.card-cover{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius) var(--radius) 0 0;width:calc(100% + 2.5rem);max-width:none;margin:-1.1rem -1.25rem .75rem;display:block}.image-preview{border-radius:var(--radius);max-width:100%;max-height:240px;display:block}.image-picker{flex-direction:column;gap:.25rem;display:inline-flex}.lesson-image{margin:1rem 0}.lesson-image img{border-radius:var(--radius);max-width:100%;height:auto;display:block}.lesson-image figcaption{color:var(--muted);margin-top:.35rem;font-size:.9rem}.attempt{border-left:3px solid var(--border);margin:.75rem 0}.attempt.accepted{border-left-color:var(--success)}.attempt.returned{border-left-color:var(--danger)}.attempt h3,.attempt h4{margin:0 0 .25rem}.answer{background:var(--surface);border-radius:var(--radius);padding:.5rem .75rem}.review-comment{border:1px dashed var(--border);border-radius:var(--radius);margin-top:.5rem;padding:.5rem .75rem}.review-layout{grid-template-columns:minmax(240px,1fr) 2fr;align-items:start;gap:1rem;display:grid}@media (width<=800px){.review-layout{grid-template-columns:1fr}}.review-list{gap:.35rem;padding:0;list-style:none;display:grid}.review-item{text-align:left;width:100%;color:inherit;border:1px solid var(--border);background:0 0}.review-item[aria-pressed=true]{border-color:var(--accent);outline:2px solid var(--accent)}.grade-form{border-top:1px solid var(--border);gap:.5rem;margin-top:1rem;padding-top:1rem;display:grid}.audit td{vertical-align:top}.audit-details>td{background:var(--surface)}.audit-diff{width:auto;font-size:.9rem}.audit-diff td{word-break:break-word;max-width:420px}.moderation-notice{border-color:var(--danger)}.number-fields{gap:.5rem;display:grid}.number-field{border:1px dashed var(--border);border-radius:var(--radius);gap:.4rem;padding:.5rem .75rem;display:grid}.number-field legend{padding:0 .25rem;font-weight:600}.bands{gap:.3rem;margin:0;padding-left:1.25rem;display:grid}.bands .row{align-items:center;gap:.35rem}.number-answer{align-items:center;gap:.5rem;margin:.25rem 0;display:flex}.number-answer input{max-width:14rem}.field-review{margin:.25rem 0;padding-left:1.25rem}.hero{isolation:isolate;background:var(--hero);color:var(--hero-fg);border-radius:40px 8px;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:clamp(1.5rem,4vw,3.5rem);margin:0 0 3rem;padding:clamp(1.75rem,5vw,4rem);display:grid;position:relative;overflow:hidden}.hero-waves{z-index:-1;fill:none;stroke:#fff;stroke-opacity:.14;stroke-width:1.5px;width:70%;height:100%;position:absolute;inset:auto 0 0 auto}.hero h1{max-width:16ch;color:var(--hero-fg);margin:0 0 1.25rem;font-size:clamp(1.9rem,1.2rem + 2.6vw,3.2rem);font-weight:600;line-height:1.12}.hero-lead{color:var(--hero-muted);max-width:46ch;margin:0 0 2rem;font-size:1.125rem}.hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.hero a.button{min-height:3rem;padding-inline:1.6rem}a.button.secondary.on-hero{color:var(--hero-fg);border-color:#ffffff8c}a.button.secondary.on-hero:hover{background:#ffffff1f}.next-event{background:var(--sheet);color:var(--fg);border-radius:8px 36px;flex-direction:column;justify-content:center;gap:.6rem;min-height:15rem;padding:clamp(1.25rem,3vw,2rem);display:flex}.next-event-label{color:var(--success);margin:0;font-weight:600}.next-event h2{margin:0;font-size:1.35rem}.next-event h2 a{color:var(--fg);text-decoration:none}.next-event h2 a:hover{color:var(--accent)}.next-event-date{color:var(--muted);margin:0}.next-event .button{margin-top:.5rem}.countdown{grid-template-columns:repeat(4,1fr);gap:.4rem;margin:.35rem 0;display:grid}.countdown-cell{background:var(--accent-soft);color:var(--accent);justify-items:center;padding:.6rem .25rem .5rem;display:grid}.countdown-cell:first-child{border-radius:22px 4px 4px 22px}.countdown-cell:nth-child(2){border-radius:4px 22px}.countdown-cell:nth-child(3){border-radius:22px 4px}.countdown-cell:nth-child(4){border-radius:4px 22px 22px 4px}.countdown-num{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:clamp(1.4rem,1rem + 1.4vw,2rem);font-weight:500;line-height:1.1}.countdown-unit{color:var(--muted);font-size:.8rem}.catalog-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.catalog-head h2{margin:0;font-size:clamp(1.4rem,1.1rem + 1vw,1.9rem)}.catalog-head .search{flex:0 360px;margin:0}.course-card{border-top:4px solid var(--accent)}.course-card.is-free{border-top-color:var(--action)}.course-summary{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.course-author{font-size:.925rem;margin-top:auto!important}.course-chips{align-items:center;gap:.25rem;display:flex;margin:.35rem 0 0!important}.course-chips .badge{margin-left:.25rem}@media (width<=820px){.hero{border-radius:28px 6px;grid-template-columns:1fr}.next-event{min-height:0}}.cover-placeholder{aspect-ratio:16/9;background:var(--accent-soft);width:calc(100% + 2.5rem);color:color-mix(in srgb, var(--accent) 45%, transparent);border-radius:16px 16px 0 0;place-items:center;margin:-1.1rem -1.25rem .75rem;font-size:4.5rem;font-weight:300;line-height:1;display:grid}.course-card .card-cover{border-radius:16px 16px 0 0}.course-head{grid-template-columns:minmax(0,1fr) minmax(0,440px);align-items:center;gap:clamp(1.5rem,4vw,3rem);margin-bottom:2.5rem;display:grid}.course-head h1{font-size:clamp(1.7rem,1.2rem + 1.8vw,2.6rem)}.course-head .course-cover{aspect-ratio:16/10;object-fit:cover;border-radius:var(--leaf-alt);width:100%;max-width:none;margin:0}.course-byline{margin:.5rem 0}.course-facts{flex-wrap:wrap;gap:.4rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.course-facts li{background:var(--surface);border-radius:999px;padding:.15rem .75rem;font-size:.9rem}@media (width<=820px){.course-head{grid-template-columns:1fr}.course-head .course-cover{order:-1}}.hl-text{background:var(--sheet);border:1px solid var(--border);border-radius:var(--radius-lg);max-height:70vh;padding:1.25rem 1.5rem;overflow-y:auto}.hl-p{border-left:4px solid #0000;border-radius:8px;max-width:none;margin:0 0 .35rem;padding:.35rem .6rem;line-height:1.6}.hl-p .b{font-weight:700}.hl-p .i{font-style:italic}.hl-p .u{text-decoration:underline}.hl-select .hl-p{cursor:pointer}.hl-select .hl-p:hover{background:var(--surface)}.hl-p.selected{background:color-mix(in srgb, var(--accent) 16%, transparent);border-left-color:var(--accent)}.hl-p.hit{background:var(--mint);border-left-color:var(--success)}.hl-p.missed{border-left-color:var(--success);background:repeating-linear-gradient(135deg, transparent 0 8px, color-mix(in srgb, var(--success) 10%, transparent) 8px 16px);border-left-style:dashed}.hl-p.extra{background:var(--danger-soft);border-left-color:var(--danger)}.hl-legend{color:var(--muted);flex-wrap:wrap;gap:.5rem 1rem;font-size:.9rem;display:flex}.hl-key:before{content:"";vertical-align:-.1rem;border-left:3px solid;border-radius:3px;width:.9rem;height:.9rem;margin-right:.35rem;display:inline-block}.hl-key.hit:before{background:var(--mint);border-color:var(--success)}.hl-key.missed:before{border-color:var(--success);border-left-style:dashed}.hl-key.extra:before{background:var(--danger-soft);border-color:var(--danger)}.paste-zone{border:2px dashed var(--border);border-radius:var(--radius-lg);min-height:8rem;color:var(--muted);background:var(--sheet);padding:1rem}.paste-zone:focus{border-color:var(--accent);outline:none}.settings-row{align-items:end;gap:1rem}.settings-row>label{gap:.25rem;display:grid}.bell-wrap,.bell{position:relative}.bell-count{background:var(--danger);color:#fff;text-align:center;border:2px solid var(--bg);border-radius:999px;min-width:1.25rem;height:1.25rem;padding:0 .3rem;font-size:.72rem;font-weight:700;line-height:1.25rem;position:absolute;top:-.3rem;right:-.35rem}.notifications{z-index:30;background:var(--sheet);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(26rem,100vw - 2rem);max-height:min(32rem,75vh);padding:.75rem;position:absolute;top:calc(100% + .6rem);right:0;overflow-y:auto;box-shadow:0 12px 32px #0000002e}.notifications-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.notifications-head .tabs{margin:0}.notifications-empty{margin:0;padding:1rem .5rem}.notifications-list{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.notification{text-align:left;width:100%;color:var(--fg);border-radius:var(--radius);background:0 0;border:none;justify-items:start;gap:.15rem;min-height:0;padding:.6rem .75rem;font-weight:400;display:grid}.notification:hover:not(:disabled){background:var(--surface)}.notification.unread{background:var(--accent-soft)}.notification.unread .notification-title{font-weight:650}.notification-body{color:var(--muted);font-size:.9rem}.notification-time{color:var(--muted);font-size:.8rem}.notifications .more{width:100%;margin-top:.5rem}@media (width<=640px){.notifications{width:auto;position:fixed;top:4.5rem;left:1rem;right:1rem}}.hl-select .hl-p.readonly{cursor:default}.hl-p.readonly{color:var(--muted)}.hl-edit .hl-p.readonly{cursor:pointer;border-left:4px dotted var(--border)}.exam-stage h3{margin:1rem 0 .35rem}.exam-task-list{gap:.35rem;margin:0;padding-left:1.25rem;display:grid}.exam-task-actions{margin-left:.5rem;display:inline-flex}.exam-answer{white-space:pre-wrap}.exam-review h3{margin-top:0}.settings-row .grow{flex:16rem}.hl-marking{border:none;gap:1rem;padding:0}.exam-bar{z-index:5;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex;position:sticky;top:4.25rem}.exam-task h3{margin-top:0}.exam-statement{border-bottom:1px solid var(--border);max-height:60vh;margin-bottom:.75rem;padding-right:.5rem;overflow-y:auto}.question-text{font-weight:600}.number-answer>span:first-child{flex:0 0 min(45%,22rem)}.exam-stages{flex-wrap:wrap;gap:.4rem;margin:.5rem 0 1rem;scroll-margin-top:9rem;display:flex}.exam-stage-tab{background:var(--sheet);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius);text-align:left;justify-items:start;gap:.1rem;min-height:0;padding:.5rem .8rem;font-weight:600;display:grid}.exam-stage-tab:hover:not(:disabled){background:var(--surface)}.exam-stage-tab small{color:var(--muted);font-weight:400}.exam-stage-tab[aria-current=step],.exam-stage-tab[aria-current=step]:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--bg)}.exam-stage-tab[aria-current=step] small{color:inherit;opacity:.85}.exam-pager{margin-top:1rem}
