@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-ext-wght-normal-C8S-KRRz.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-ext-wght-normal-EocZY2iu.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-ui: "Manrope Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono Variable", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--bg: #f5f6f8;--card: #ffffff;--surface: #e9ebf0;--hover: #f1f3f7;--border: #dfe2e8;--divider: #e6e8ec;--t1: #0f172a;--t2: #334155;--t3: #475569;--t4: #52607a;--primary: #1f2937;--on-primary: #ffffff;--danger-text: #b91c1c;--pass-text: #166534;--warn-text: #92400e;--pass: #22c55e;--pass-bg: rgba(34, 197, 94, .12);--fail: #ef4444;--fail-bg: rgba(239, 68, 68, .12);--warn: #f59e0b;--warn-bg: rgba(245, 158, 11, .12);--ease: cubic-bezier(.2, .7, .1, 1);color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #0d1117;--card: #151b23;--surface: #1e2631;--hover: #19212b;--border: #2f3a4b;--divider: #263040;--t1: #e6edf3;--t2: #c9d2dd;--t3: #aab5c3;--t4: #97a3b3;--primary: #e5e7eb;--on-primary: #111827;--danger-text: #f87171;--pass-text: #22c55e;--warn-text: #f59e0b;color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--t1);font:400 15px/1.55 var(--font-ui)}a{color:var(--t1)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bar{background:var(--card);border-bottom:1px solid var(--divider)}.bar-inner{max-width:1120px;margin:0 auto;padding:12px 16px;display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;justify-content:space-between}.brand{font-weight:700;text-decoration:none}.bar nav{display:flex;gap:20px}.nav-link{color:var(--t4);text-decoration:none;font-size:13px;padding:4px 0;border-bottom:2px solid transparent}.nav-link.current{color:var(--t1);border-bottom-color:var(--primary)}.page{max-width:1120px;margin:0 auto;padding:24px 16px 64px}.foot{max-width:1120px;margin:0 auto;padding:16px;border-top:1px solid var(--divider);color:var(--t4);font-size:12px}.entry{max-width:420px;margin:24px auto 0;text-align:center}.entry h1{margin-top:16px}.entry .lede{margin:0 auto 24px}.mark{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:10px;background:var(--primary);color:var(--on-primary)}.entry-card{display:flex;flex-direction:column;gap:12px;text-align:left}.entry-card p{margin:0}.entry-card button{width:100%}h1{font-size:28px;line-height:1.2;margin:0 0 4px;letter-spacing:-.01em}h2{font-size:16px;margin:0 0 12px}p{max-width:68ch}.lede{color:var(--t3);margin:0 0 24px;max-width:62ch}.note{color:var(--t4);font-size:13px}.problem{color:var(--danger-text);font-size:13px}.verdict-bad{color:var(--danger-text)}section+section{margin-top:24px}.card{background:var(--card);border:1px solid var(--divider);border-radius:10px;padding:16px}.grid{display:grid;gap:16px;grid-template-columns:minmax(0,380px) minmax(0,1fr);align-items:start}@media(max-width:860px){.grid{grid-template-columns:minmax(0,1fr)}}button{font:inherit;font-size:15px;line-height:1.3;min-height:40px;padding:8px 16px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--t1);cursor:pointer;transition:background .12s var(--ease)}button:hover:not(:disabled){background:var(--hover)}button.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:700}button.primary:hover:not(:disabled){background:var(--primary);opacity:.9}button:disabled{opacity:.55;cursor:default}.field{display:inline-flex;flex-direction:column;gap:4px;font-size:12px;color:var(--t4);margin-bottom:12px}select{font:inherit;font-size:15px;min-height:40px;padding:6px 32px 6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--t1);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--t4) 50%),linear-gradient(135deg,var(--t4) 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.block{background:var(--surface);border-radius:6px;padding:10px 12px;overflow-wrap:anywhere;max-width:none;font-size:13px}table{width:100%;border-collapse:collapse;margin:8px 0 16px;font-size:13px}th,td{text-align:left;padding:8px 12px 8px 0;border-bottom:1px solid var(--divider);overflow-wrap:anywhere}th[scope=col]{font-size:12px;color:var(--t4);font-weight:600}.num{text-align:right;font-variant-numeric:tabular-nums;padding-right:0}.stack>*+*{margin-top:20px}fieldset{border:0;margin:0;padding:0;min-width:0}legend{font-size:16px;font-weight:700;padding:0;margin-bottom:8px}.vopt{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;cursor:pointer}.vopt input{position:absolute;opacity:0;pointer-events:none}.vopt:hover{background:var(--hover)}.vopt:has(input:checked){border:2px solid var(--primary);padding:7px 11px;background:var(--hover);font-weight:600}.vopt:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:2px}.vopt:has(input:disabled){cursor:default;opacity:.6}.vcorrect{flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;font-size:15px}.vcorrect small{display:block;color:var(--t4);font-size:13px;font-weight:400}.vlabel{margin:16px 0 8px}.vgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cases-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.cases-head h2{margin:0}.pick-tools{display:flex;align-items:center;gap:8px}.pick-tools button{padding:4px 12px}.pick-tools .note{margin-left:4px}.pick-group{border-top:1px solid var(--divider);padding:4px 0 8px}.pick-group:first-of-type{border-top:0}.group-row{display:flex;gap:8px;align-items:center}.gname{display:flex;align-items:center;gap:10px;flex:1;min-height:44px;font-weight:600;cursor:pointer}.gtext{display:flex;align-items:baseline;gap:8px}.gtext .mono{font-size:13px}.gtext small{color:var(--t4);font-size:13px;font-weight:400}.fold{flex:none;width:44px;padding:0;font-size:22px;line-height:1}.pick-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding-left:28px}.crow{display:flex;align-items:flex-start;gap:10px;min-height:40px;padding:8px 4px;border-radius:6px;cursor:pointer}.crow:hover{background:var(--hover)}.vopt input,.crow input,.gname input{accent-color:var(--primary)}.crow input,.gname input{margin:2px 0 0;flex:none}@media(max-width:860px){.pick-list{grid-template-columns:minmax(0,1fr);padding-left:0}}.run-bar{position:sticky;bottom:0;margin-top:16px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;padding:12px 16px;background:var(--card);border:1px solid var(--border);border-radius:10px}.run-summary{margin:0;min-width:0;color:var(--t3)}.run-summary .mono{color:var(--t1);font-size:13px}.run-bar .primary{flex:none}.run-bar .problem{flex:1 0 100%;margin:0}@media(max-width:520px){.card{padding:12px}.vgrid{gap:6px}.vopt{font-size:12px;padding:6px 8px}.vopt:has(input:checked){padding:5px 7px}.run-bar{flex-wrap:nowrap;padding:8px 12px}.run-bar .problem{flex-basis:auto}.run-summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-summary .long{display:none}}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.st{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;border-radius:999px;padding:2px 10px 2px 8px;white-space:nowrap}.st.pass{color:var(--pass-text);background:var(--pass-bg)}.st.fail{color:var(--danger-text);background:var(--fail-bg)}.st.warn{color:var(--warn-text);background:var(--warn-bg)}.st.err{color:var(--danger-text);box-shadow:inset 0 0 0 1px var(--fail)}.st.idle{color:var(--t4);background:var(--surface)}.st.run{color:var(--t1);background:var(--surface)}.spin{width:10px;height:10px;border-radius:50%;border:2px solid var(--t4);border-top-color:var(--t1);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spin{animation:none}button{transition:none}}.lanes{margin-top:16px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1000px){.lanes{grid-template-columns:minmax(0,1fr)}}.lane{border:1px solid var(--divider);border-radius:10px;overflow:hidden}.lane header{padding:10px 12px;background:var(--surface);display:flex;justify-content:space-between;align-items:baseline;font-size:13px;font-weight:700}.lane header span{font-weight:400;color:var(--t4);font-size:12px}.lane .row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:8px 12px;border-top:1px solid var(--divider);font-size:13px}.lane .lane-title{flex:1 1 10rem;min-width:0}.lane .row .st{flex:none}.lane .row.now{background:var(--hover)}.lane .id{font-size:12px;overflow-wrap:normal}.lane .lane-note{padding:8px 12px;border-top:1px solid var(--divider);font-size:12px;color:var(--t4)}.lane progress{display:block;width:100%;height:4px;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface);color:var(--primary)}.lane progress::-webkit-progress-bar{background:var(--surface)}.lane progress::-webkit-progress-value{background:var(--primary);transition:width .2s var(--ease)}.lane progress::-moz-progress-bar{background:var(--primary)}.counts{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.live-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.verdict{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between}.verdict h1{margin-top:4px}.split{display:grid;gap:16px;grid-template-columns:minmax(0,320px) minmax(0,1fr);grid-template-areas:"side detail";align-items:start;margin-top:16px}.split .side{grid-area:side}.split .detail{grid-area:detail}@media(max-width:860px){.split{grid-template-columns:minmax(0,1fr);grid-template-areas:"detail" "side"}}.list{padding:0;overflow:hidden}.list .grp{padding:8px 12px;font-size:12px;font-weight:700;color:var(--t4);background:var(--surface)}.list .it{display:flex;gap:8px;justify-content:space-between;align-items:center;padding:8px 12px;min-height:44px;border-top:1px solid var(--divider);font-size:13px;text-decoration:none}.list .it:hover{background:var(--hover)}.list .it[aria-current=true]{background:var(--hover);box-shadow:inset 3px 0 0 var(--primary)}.list .it .nm{overflow-wrap:anywhere}.list .it small{display:block;color:var(--t4);font-size:12px}.callout{border:1px solid var(--divider);border-radius:10px;padding:12px 16px;margin:12px 0 16px}.callout p{margin:0}.callout ul{margin:4px 0 0;padding-left:20px}.callout.bad{border-color:var(--fail);background:var(--fail-bg)}.callout.ok{border-color:var(--pass);background:var(--pass-bg)}.step{border:1px solid var(--divider);border-radius:10px;margin-top:12px;overflow:hidden}.step>header{display:flex;gap:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--surface);font-size:13px}.pane{padding:10px 12px;border-top:1px solid var(--divider);min-width:0}.step-title{font-size:15px;font-weight:700;margin:0}.pane h4{margin:0 0 6px;font-size:12px;font-weight:600;color:var(--t4)}.pane p{margin:0}.req{font-size:12px;overflow-wrap:anywhere}.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.two .pane+.pane{border-left:1px solid var(--divider)}@media(max-width:640px){.two{grid-template-columns:minmax(0,1fr)}.two .pane+.pane{border-left:0}}pre.json{margin:0;font-family:var(--font-mono);font-size:12px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.ln{display:block;padding:0 6px;margin:0 -6px;border-radius:3px}.ln.bad{background:var(--fail-bg);box-shadow:inset 3px 0 0 var(--fail)}.matcher{color:var(--t4);font-family:var(--font-ui)}details{font-size:12px;color:var(--t4)}details>summary{cursor:pointer;min-height:24px;padding:8px 12px}.step details{border-top:1px solid var(--divider)}details.setup{border:1px solid var(--divider);border-radius:10px;margin-top:12px;color:var(--t1);font-size:13px}details.setup>summary{color:var(--t3);font-weight:600}details.setup .step{margin:0 12px 12px}.reveal{margin-top:16px}.reveal dl{margin:12px 0 0;display:grid;grid-template-columns:minmax(0,120px) minmax(0,1fr);gap:8px 16px;font-size:13px}.reveal dt{color:var(--t4)}.reveal dd{margin:0}.reveal ul{margin:0;padding-left:20px}@media(max-width:640px){.reveal dl{grid-template-columns:minmax(0,1fr);gap:2px}.reveal dd{margin-bottom:8px}}.runs{list-style:none;margin:0;padding:0;display:grid;gap:8px}.run-row{display:grid;gap:6px;padding:12px 16px;min-height:44px;border:1px solid var(--divider);border-radius:10px;background:var(--card);color:var(--t1);text-decoration:none}.run-row:hover{background:var(--hover)}.run-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.run-row .counts{margin:0}@media(pointer:coarse){button,select,.vopt,.crow{min-height:44px}.fold{min-width:44px}}.demo{background:var(--surface);border-bottom:1px solid var(--divider)}.demo p{max-width:1120px;margin:0 auto;padding:8px 16px;font-size:13px;color:var(--t3)}.demo a{text-decoration:underline;text-underline-offset:3px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.card-head h2{margin:0}.demo-chip{font-size:12px;font-weight:700;padding:2px 10px;border:1px solid var(--border);border-radius:999px;color:var(--t3)}.last-run a{text-decoration:underline;text-underline-offset:3px}.figure{margin:0 0 16px;padding:16px;background:var(--card);border:1px solid var(--divider);border-radius:10px}.figure figcaption{margin-top:8px}.dg{width:100%;height:auto;display:block}.dg-life{stroke:var(--border);stroke-width:1;stroke-dasharray:4 4}.dg-box{fill:var(--surface);stroke:var(--border)}.dg-name{fill:var(--t1);font-size:13px;font-weight:700}.dg-arrow{stroke:var(--t3);stroke-width:1.5}.dg-return{stroke-dasharray:5 4}.dg-tip{fill:var(--t3)}.dg-label{fill:var(--t1);font-size:13px}.dg-frame{fill:none;stroke:var(--border)}.dg-frame-label{fill:var(--t4);font-size:13px}.steps{max-width:68ch;padding-left:20px}.steps li{margin-bottom:8px}@media(max-width:640px){.figure{display:none}}
