@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff)format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff)format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff)format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-700-normal-DhIzd8Tb.woff)format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-700-normal-BIHFfxf0.woff)format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2)format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff)format("woff");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:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/caveat-cyrillic-ext-600-normal-DDEJyoof.woff2)format("woff2"),url(/assets/caveat-cyrillic-ext-600-normal-BLVNc-Ct.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/caveat-cyrillic-600-normal-Ba_MyzgW.woff2)format("woff2"),url(/assets/caveat-cyrillic-600-normal-CqH0c_uj.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/caveat-latin-ext-600-normal-DDJRD6ps.woff2)format("woff2"),url(/assets/caveat-latin-ext-600-normal-shBvSnoU.woff)format("woff");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:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/caveat-latin-600-normal-zlTlWIYU.woff2)format("woff2"),url(/assets/caveat-latin-600-normal-DUjB8dgm.woff)format("woff");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:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/caveat-cyrillic-ext-700-normal-CrK2-ngJ.woff2)format("woff2"),url(/assets/caveat-cyrillic-ext-700-normal-DjFGiEhD.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/caveat-cyrillic-700-normal-BIyejhEL.woff2)format("woff2"),url(/assets/caveat-cyrillic-700-normal-Bhcx9qBB.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/caveat-latin-ext-700-normal-DFbRgDry.woff2)format("woff2"),url(/assets/caveat-latin-ext-700-normal-DjJQd59I.woff)format("woff");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:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/caveat-latin-700-normal-D8_1Nw6V.woff2)format("woff2"),url(/assets/caveat-latin-700-normal-cPyBTTZN.woff)format("woff");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{--bg:#f4f4f1;--fg:#1c2230;--muted:#5d6676;--panel:#fdfdfb;--border:#d5dbe5;--accent:#1e3966;--accent-hover:#162b4f;--accent-fg:#fdfdfb;--accent-soft:#e4eaf4;--pencil:#3b3b3e;--code-bg:#eef0f3;--ac:#1a7f37;--wa:#b35900;--ce:#cf222e;--ie:#6e7781;--added:#dafbe1;--removed:#ffebe9;--focus:#0969da;--slot:#cfd6e0;--editor-bg:#fff;--editor-active-line:#f6f8fa;--editor-selection:#cfe4ff;--editor-bracket:#d8e8d8;--syn-keyword:#cf222e;--syn-function:#6639ba;--syn-macro:#0550ae;--syn-type:#953800;--syn-string:#0a3069;--syn-number:#0550ae;--syn-comment:#6e7781;--syn-lifetime:#116329;--syn-property:#1f2328;--syn-meta:#6e7781;--step--1:.8rem;--step-0:1rem;--step-1:1.25rem;--step-2:1.563rem;--step-3:1.953rem;--step-4:2.441rem;--step-5:3.052rem;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--display:"Barlow Condensed", "Arial Narrow", "Hiragino Sans", "Noto Sans JP", sans-serif;--hand:"Caveat", "Segoe Print", "Bradley Hand", cursive;--radius:6px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f1319;--fg:#e3e8ef;--muted:#8e99aa;--panel:#161b23;--border:#2b3542;--accent:#9fbaea;--accent-hover:#b8ccf2;--accent-fg:#0f1319;--accent-soft:#1f2c42;--pencil:#d9dee6;--code-bg:#1d232c;--ac:#3fb950;--wa:#d29922;--ce:#f85149;--ie:#8b949e;--added:#12361f;--removed:#42181a;--focus:#58a6ff;--slot:#343e4c;--editor-bg:#15181d;--editor-active-line:#1c2128;--editor-selection:#264f78;--editor-bracket:#2f4a35;--syn-keyword:#ff7b72;--syn-function:#d2a8ff;--syn-macro:#79c0ff;--syn-type:#ffa657;--syn-string:#a5d6ff;--syn-number:#79c0ff;--syn-comment:#8b949e;--syn-lifetime:#7ee787;--syn-property:#e6edf3;--syn-meta:#8b949e}}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);margin:0;font-family:system-ui,-apple-system,Segoe UI,Hiragino Sans,Noto Sans JP,sans-serif;font-size:15px;line-height:1.6}#app{flex-direction:column;height:100%;display:flex}a{color:var(--accent)}code,pre,kbd{font-family:var(--mono)}pre{white-space:pre-wrap;word-break:break-word;margin:0}h1,h2,h3{font-family:var(--display);color:var(--accent);font-weight:700;line-height:1.2}.hand{font-family:var(--hand);color:var(--pencil);font-weight:700}h1{font-size:var(--step-3)}h2{font-size:var(--step-2)}h3{font-size:var(--step-0)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button,.button{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--fg);cursor:pointer;white-space:nowrap;align-items:center;gap:.4em;padding:.35em .9em;text-decoration:none;display:inline-flex}button:hover:not(:disabled),.button:hover{border-color:var(--muted)}button:disabled{opacity:.45;cursor:default}button.primary,.button.primary,.icon-button.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);font-weight:600}button.primary:hover:not(:disabled),.button.primary:hover,.icon-button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.button.large,button.large{padding:.6em 1.2em;font-size:1.05em}.icon-button{color:var(--fg);align-items:center;gap:.4em;text-decoration:none;display:inline-flex}.icon-button.icon-only{color:var(--muted);background:0 0;border-color:#0000;padding:.4em}.icon-button.icon-only:hover:not(:disabled){color:var(--fg);background:var(--code-bg);border-color:#0000}kbd{background:#fff3;border-radius:4px;padding:.05em .35em;font-size:.75em;font-weight:500}.chip{border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:.25em;padding:.1em .6em;font-size:.82em;text-decoration:none;display:inline-flex}button.chip{font:inherit;background:0 0;font-size:.82em}button.chip:disabled{opacity:1}a.chip:hover,button.chip:hover:not(:disabled){color:var(--fg);border-color:var(--muted)}.chip.strong{color:var(--fg);font-weight:600}.badge{font-size:var(--step--1);background:var(--code-bg);color:var(--muted);vertical-align:middle;white-space:nowrap;border-radius:4px;align-items:center;gap:.25em;padding:0 .5em;display:inline-flex}.badge.level{box-shadow:inset 0 0 0 1px var(--border);color:var(--fg);font-family:var(--display);font-size:var(--step-0);background:0 0;gap:.4em;font-weight:600}.marks{align-items:flex-end;gap:2px;display:inline-flex}.marks i{background:var(--slot);border-radius:1px;display:block}.marks i.on{background:var(--fg)}.badge .marks i{width:3px;height:.9em}.dim{color:var(--muted)}.app-header{border-bottom:1px solid var(--border);background:var(--panel);align-items:center;gap:1em;padding:.4em 1em .4em 1.2em;display:flex}.logo{font-family:var(--display);color:var(--accent);align-items:center;gap:.35em;font-size:1.35em;font-weight:700;text-decoration:none;display:inline-flex}.logo-mark{color:var(--accent);font-size:1.2em}.app-header nav{align-items:center;gap:.5em;margin-left:auto;display:flex}.app-header nav .icon-button:not(.icon-only){color:var(--muted);background:0 0;border-color:#0000}.app-header nav .icon-button:not(.icon-only):hover{color:var(--fg);background:var(--code-bg)}.toolchain-status{background:var(--accent-soft);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.2em 1em;padding:.3em 1.2em;font-size:.85em;display:flex}.toolchain-status progress{max-width:20em;accent-color:var(--accent);flex:8em}.toolchain-status.error{color:var(--ce)}main{flex:1;min-height:0;overflow:auto}main>section{max-width:60em;margin:0 auto;padding:1.5em 1.5em 4em}.fatal{color:var(--ce);padding:2em}.section-head{flex-wrap:wrap;align-items:center;gap:.6em .8em;margin:2em 0 .6em;display:flex}.section-head h1,.section-head h2{margin:0}.section-head .chip,.section-head>.button:last-child{margin-left:auto}main>section.home{flex-direction:column;max-width:68em;min-height:100%;display:flex}.home .hero{flex:1;align-content:center}.hero{grid-template-columns:minmax(16em,5fr) 7fr;align-items:center;gap:2.5em;padding:2.5em 0 2em;display:grid}.hero h1{font-size:calc(var(--step-5) * 1.2);margin:0 0 .3em;line-height:1}.tagline{color:var(--muted);margin:0;font-size:1.15em}.hero-text{word-break:auto-phrase}.credit{text-align:center;color:var(--muted);margin-top:3em;font-size:.85em}.credit a{color:inherit}.credit a:hover{color:var(--accent)}.demo{border:1px solid var(--border);background:var(--editor-bg);border-radius:12px;overflow:hidden;box-shadow:0 12px 40px #0000001a}.demo-bar{border-bottom:1px solid var(--border);background:var(--panel);align-items:center;gap:.8em;padding:.5em .9em;font-size:.85em;display:flex}.demo-file{color:var(--muted);font-family:var(--mono);flex:1}.demo .code-view{min-height:7em;padding:1em 0;font-size:.95em}.demo-result{border-top:1px solid var(--border);background:var(--panel);min-height:3.2em;font-family:var(--mono);align-items:center;padding:.6em 1em;font-size:.85em;animation:.35s ease-out fade-in;display:flex}.demo-result .verdict{margin-right:.6em}.demo-submit{color:var(--muted);align-items:center;gap:.4em;display:inline-flex}.demo-submit kbd{background:var(--code-bg)}.demo-title{color:var(--accent);margin-left:.8em;font-family:system-ui,sans-serif;font-size:1.15em;animation:.4s ease-out pop}@keyframes fade-in{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.6)}}.launcher{flex-wrap:wrap;align-items:center;gap:.9em 1.2em;margin-top:2em;display:flex}.launcher-strip{flex-basis:100%;margin-bottom:.6em;font-size:1.4em}.round-ladder{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.4em;margin:0;font-size:.9em;display:inline-flex}.ladder-step{align-items:center;gap:.4em;display:inline-flex}.link-button.abandon-round{color:var(--muted);font-size:.9em;text-decoration:none}.link-button.abandon-round:hover{color:var(--ce);text-decoration:underline}main>section.round-start{max-width:44em}.code-view{white-space:pre;font-family:var(--mono);color:var(--fg);margin:0;line-height:1.6;overflow-x:auto}.code-line{padding-right:1em;display:flex}.code-line.error{background:var(--removed);-webkit-text-decoration:underline wavy var(--ce);text-decoration:underline wavy var(--ce);-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-underline-offset:3px}.code-line-number{text-align:right;width:2.8em;color:var(--muted);-webkit-user-select:none;user-select:none;flex:none;padding-right:1em;text-decoration:none}.syn-keyword{color:var(--syn-keyword)}.syn-function{color:var(--syn-function)}.syn-macro{color:var(--syn-macro)}.syn-type{color:var(--syn-type)}.syn-string{color:var(--syn-string)}.syn-number{color:var(--syn-number)}.syn-comment{color:var(--syn-comment);font-style:italic}.syn-lifetime{color:var(--syn-lifetime)}.syn-property{color:var(--syn-property)}.syn-meta{color:var(--syn-meta)}.round-progress{vertical-align:middle;border:1.5px solid var(--accent);background:var(--panel);display:inline-flex}.round-progress .hole{border-left:1px solid var(--border);justify-content:center;align-items:center;width:2em;height:1.9em;font-size:.95em;display:inline-flex;position:relative}.round-progress .hole:first-child{border-left:none}.round-progress .hole.current{background:var(--accent-soft)}.round-progress .hole .score-mark{font-size:1.1em}.round-progress .hole .marks{justify-content:center;gap:.15em;position:absolute;bottom:-.65em;left:0;right:0}.round-progress .hole .marks i{width:.4em;height:.25em}.score-mark{width:1.4em;height:1.4em;font-family:var(--hand);color:var(--pencil);vertical-align:middle;place-items:center;font-size:1em;font-weight:700;line-height:1;display:inline-grid;position:relative}.score-digit{font-size:1.15em;transform:translateY(-.04em)}.score-mark svg{pointer-events:none;width:calc(100% + .6em);height:calc(100% + .6em);position:absolute;inset:-.3em;overflow:visible}.score-mark path{fill:none;stroke:var(--pencil);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;opacity:.9}.score-mark.fresh path{stroke-dasharray:1;stroke-dashoffset:1px;animation:.5s ease-out .35s forwards pencil}.score-mark.fresh path:nth-child(2){animation-delay:.8s}@keyframes pencil{to{stroke-dashoffset:0}}.shot-meter{vertical-align:middle;align-items:center;gap:4px;display:inline-flex}.shot-meter .slot{border:2px solid var(--muted);opacity:.55;border-radius:50%;width:12px;height:12px}.shot-meter .slot.over{border-style:dashed;border-color:var(--ce)}.shot-meter .slot.ac,.shot-meter .slot.ce,.shot-meter .slot.miss,.shot-meter .slot.ie,.shot-meter .slot.done{opacity:1;border-color:#0000}.shot-meter .slot.ac{background:var(--ac)}.shot-meter .slot.ce{background:var(--ce)}.shot-meter .slot.miss{background:var(--wa)}.shot-meter .slot.ie{background:var(--ie)}.shot-meter .slot.done{background:var(--accent)}.shot-chip{border:1px solid var(--border);border-radius:999px;align-items:center;gap:.45em;padding:.1em .6em;display:inline-flex}.shot-count{font-family:var(--hand);color:var(--pencil);font-size:1.1em;font-weight:700;line-height:1}.best-record{align-items:center;gap:.5em;display:inline-flex}.problem-table{border-collapse:separate;border-spacing:0;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:100%;overflow:hidden}.problem-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:.6em .8em}.problem-table tr:last-child td{border-bottom:none}.problem-table tbody tr:hover{background:var(--code-bg)}.problem-table .status{text-align:center;width:2.2em}.problem-table .title{width:100%}.problem-link{color:var(--fg);font-weight:600;text-decoration:none}.problem-link:hover{color:var(--accent);text-decoration:underline}.status-icon{vertical-align:middle}.status-icon.solved{color:var(--ac)}.status-icon.failed{color:var(--ce)}.status-icon.in-progress{color:var(--wa)}.best{white-space:nowrap;font-size:.9em}.play{flex-direction:column;height:100%;display:flex}.play-header{border-bottom:1px solid var(--border);background:var(--panel);flex-wrap:wrap;align-items:center;gap:.5em;padding:.45em 1em;display:flex}.play-header h1{font-size:var(--step-2);margin:0 .2em}.play-actions{align-items:center;gap:.5em;margin-left:auto;display:flex}.play-body{flex:auto;grid-template-columns:minmax(18em,2fr) 3fr;min-height:0;display:grid}.statement{border-right:1px solid var(--border);padding:.2em 1.4em 1.2em;overflow:auto}.statement .tabs{gap:.3em;padding-top:.8em;display:flex}.statement .tabs button[aria-selected=true]{border-color:var(--accent);color:var(--accent)}.markdown code{background:var(--code-bg);border-radius:4px;padding:.1em .3em;font-size:.9em}.markdown pre{background:var(--code-bg);border-radius:var(--radius);padding:.7em 1em;font-size:.88em}.markdown pre code{background:0 0;padding:0;font-size:1em}.markdown table{border-collapse:collapse}.markdown th,.markdown td{border:1px solid var(--border);padding:.2em .7em}.harness{background:var(--code-bg);border-radius:var(--radius);margin-top:.8em;padding:.7em 0;font-size:.85em}.editor-pane{background:var(--editor-bg);min-height:0;overflow:hidden}.editor{height:100%}.statement .tabs button{align-items:center;gap:.3em;display:inline-flex}.solution{flex-direction:column;gap:.8em;padding-top:.8em;display:flex}.solution-note,.practice-note{color:var(--muted);margin:0;font-size:.9em}.result{border-top:1px solid var(--border);background:var(--panel);padding:.7em 1.2em 1.2em;overflow:auto}.play>.result{flex:0 0 34%;min-height:7em}.play>.result:empty{display:none}.verdict-line{align-items:center;gap:.6em;font-weight:600;display:flex}.verdict{text-align:center;min-width:3em;font-family:var(--mono);color:var(--panel);border-radius:6px;padding:.05em .5em;font-weight:800;display:inline-block}.verdict.AC{background:var(--ac)}.verdict.WA,.verdict.RE,.verdict.UB,.verdict.TLE{background:var(--wa)}.verdict.CE{background:var(--ce)}.verdict.IE{background:var(--ie)}.summary{font-family:var(--mono);margin:.4em 0;font-size:.88em}.diagnostic{background:var(--code-bg);border-radius:var(--radius);margin:.5em 0;padding:.6em .9em;font-size:.84em}.cases{margin:.6em 0;padding:0;font-size:.9em;list-style:none}.cases li{align-items:baseline;gap:.6em;padding:.1em 0;display:flex}.case-status{flex:none;align-self:center}.cases .pass .case-status{color:var(--ac)}.cases .fail .case-status{color:var(--ce)}.cases .not-run .case-status{color:var(--muted)}.case-id{font-family:var(--mono);flex:none;align-items:center;gap:.3em;display:inline-flex}.hidden-case{color:var(--muted)}.case-message{color:var(--muted);overflow-wrap:anywhere}.output summary{cursor:pointer;color:var(--muted);font-size:.85em}.output pre{background:var(--code-bg);border-radius:var(--radius);max-height:16em;margin-top:.3em;padding:.5em .9em;font-size:.84em;overflow:auto}.output .stderr{color:var(--ce)}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:.9em;height:.9em;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}dialog{border:1px solid var(--border);background:var(--panel);color:var(--fg);border-radius:12px;max-width:30em;padding:1.4em 1.8em;box-shadow:0 10px 40px #00000040}dialog:focus{outline:none}dialog::backdrop{background:#0006}dialog .actions{flex-wrap:wrap;gap:.5em;margin-top:1.2em;display:flex}.link-button{color:var(--accent);background:0 0;border:none;padding:0;text-decoration:underline;display:inline}.dialog-close{position:absolute;top:.6em;right:.6em}.finished h2{font-size:var(--step-4);margin:0}.finished h2.failed{color:var(--fg)}.finished-shots{align-items:center;gap:1em;margin:.6em 0 .2em;display:flex}.finished-shots .score-mark{margin-left:.2em;font-size:2.2em}.finished-verdicts{flex-direction:column;gap:.3em;display:inline-flex}.finished-shots .shot-meter{gap:5px}.finished-shots .shot-meter .slot{width:14px;height:14px}.finished-shots .tries{color:var(--muted);font-weight:600}.new-best{color:var(--ac);margin:.2em 0;font-weight:700}.history details{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);margin:.6em 0;padding:.5em .9em}.history summary{cursor:pointer;align-items:center;gap:.6em;display:flex}.history summary:before{content:"";border-block:.3em solid #0000;border-left:.45em solid var(--muted);flex:none;transition:transform .15s}.history details[open]>summary:before{transform:rotate(90deg)}.history .model-solution summary{font-weight:600}.history .model-solution[open] summary{margin-bottom:.8em}.history .model-solution .code-view{font-size:.9em}.history .model-solution .segmented{margin-bottom:.6em}.history .run-date{margin-left:auto}.run-date{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9em}.run-detail{grid-template-columns:10em 1fr;gap:1em;margin-top:.7em;display:grid}.run-detail>.actions{flex-wrap:wrap;grid-column:1/-1;gap:.5em;display:flex}.attempts{margin:0;padding:0;list-style:none}.attempts button{width:100%;font-family:var(--mono);margin-bottom:.3em;font-size:.85em}.attempts .verdict{min-width:3.4em;font-size:.9em}.attempts button[aria-pressed=true]{border-color:var(--accent)}.attempt h3{margin:0 0 .3em}.attempt h4{font-size:var(--step--1);color:var(--muted);margin:.9em 0 .3em}.diff{background:var(--code-bg);border-radius:var(--radius);padding:.5em 0;font-size:.84em}.diff-line{padding:0 .9em}.diff-line.added{background:var(--added)}.diff-line.removed{background:var(--removed)}.segmented{gap:.3em;display:inline-flex}.segmented button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.scorecard-result{font-size:var(--step-4);margin:.1em 0 .6em}.card-scroll{max-width:40em;overflow-x:auto}.card{border-collapse:collapse;border:2px solid var(--accent);background:var(--panel);width:100%;font-family:var(--display);font-size:var(--step-1);color:var(--fg)}.card th,.card td{border:1px solid var(--border);text-align:center;vertical-align:middle;padding:.3em .5em}.card thead th{border-color:var(--accent);background:var(--accent);color:var(--accent-fg);font-weight:600}.card tbody th{text-align:left;white-space:nowrap;font-weight:600}.card td.name{font-family:inherit;font-size:.8em;line-height:1.25}.card td.name a{color:var(--fg)}.card .marks{vertical-align:middle}.card .marks i{width:3px;height:.9em}.card td.score{height:3.6em;padding-bottom:.4em}.card td.score .score-mark{font-size:1.5em}.card td.score .shot-meter{justify-content:center;gap:3px;margin-top:.35em;display:flex}.card td.score .shot-meter .slot{border-width:1.5px;width:8px;height:8px}.card .total{background:var(--accent-soft);font-weight:700}.scorecard .actions{flex-wrap:wrap;gap:.5em;margin:1.2em 0;display:flex}.problems h2{margin:1.6em 0 .4em}.empty-rounds{flex-wrap:wrap;align-items:center;gap:.6em 1em;display:flex}.empty-rounds p{margin:0}.round-history{margin:0;padding:0;list-style:none}.round-history a{border-radius:var(--radius);color:var(--fg);flex-wrap:wrap;align-items:center;gap:.8em;padding:.35em .5em;text-decoration:none;display:flex}.round-history a:hover{background:var(--code-bg)}.round-total{font-variant-numeric:tabular-nums;min-width:1.6em;font-size:1.15em}@media (width<=760px){.nav-text{display:none}.hero{grid-template-columns:1fr;gap:1.5em;padding-top:1em}.home .hero{align-content:start}.hero h1{font-size:var(--step-4)}.demo .code-view{font-size:.8em}.play-header kbd{display:none}.problem-table,.problem-table tbody{display:block}.problem-table tr{border-bottom:1px solid var(--border);grid-template:"status title best""status difficulty best"/2.6em 1fr auto;align-items:center;display:grid}.problem-table tr:last-child,.problem-table td{border-bottom:none}.problem-table .status{grid-area:status;width:auto;padding-right:0}.problem-table .title{grid-area:title;width:auto}.problem-table .difficulty{grid-area:difficulty;padding-top:0}.problem-table .best{grid-area:best}.run-detail{grid-template-columns:1fr}h1{font-size:var(--step-2)}h2{font-size:var(--step-1)}.scorecard-result{font-size:var(--step-3)}.card{font-size:var(--step-0)}}@media (width<=760px),(height<=500px){.play{height:auto;min-height:100%}.play-header{z-index:1;position:sticky;top:0}.play-body{grid-template-rows:auto 1fr;grid-template-columns:1fr}.statement{border-right:none;border-bottom:1px solid var(--border)}.editor{height:auto}.editor-pane .cm-content,.editor-pane .cm-gutter{min-height:14em}.play>.result{flex:none;min-height:0}}@media (prefers-reduced-motion:reduce){.demo-result,.demo-title,.score-mark.fresh path{animation:none}.score-mark.fresh path{stroke-dashoffset:0}.history summary:before{transition:none}}@media (pointer:coarse){kbd{display:none}.editor{font-size:16px}}
