@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-latin-wght-normal.DLoelf7F.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(./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(./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(./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(./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{--paper:#fff7e6;--surface:#fff;--ink:#0a0a0f;--muted:#66635e;--line:#d9d3c7;--pink:#ff5c8a;--yellow:#fe6;--lime:#c7e466;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--body:"Bricolage Grotesque Variable", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;--motion:.18s;--heading:"Unbounded Variable", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;font-family:var(--body);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background-image:linear-gradient(#0a0a0f0e 1px,#0000 0),linear-gradient(90deg,#0a0a0f0e 1px,#0000 0);background-size:64px 64px;font-size:14px}*{box-sizing:border-box}body,h1,h2,h3,p{margin:0}.workspace.is-tracing{--cursor-line-background:transparent}a,button,input{font:inherit}a{color:inherit;text-decoration:none}button{border:2px solid var(--ink);background:var(--surface);min-height:36px;color:var(--ink);cursor:pointer;border-radius:3px;justify-content:center;align-items:center;gap:8px;padding:6px 14px;font-weight:700;transition:transform .12s,box-shadow .12s,background .12s;display:inline-flex}button:hover:not(:disabled){background:var(--paper)}button:active:not(:disabled){box-shadow:none;transform:translate(2px,2px)}button:disabled{cursor:not-allowed;color:#8b877f;box-shadow:none;background:#f2eee5;border-color:#d4cfc3}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline-offset:5px;outline:3px solid #7765db}code,pre{font-family:var(--mono)}.runner-frame{display:none}.skip-link{background:var(--yellow);border:2px solid var(--ink);z-index:100;padding:14px 20px;position:fixed;top:-80px;left:24px}.skip-link:focus{top:20px}.stale-banner{border-bottom:1px solid var(--line);background:#fff3b4;align-items:center;gap:10px;padding:8px 14px;font-size:13px;display:flex}.stale-banner svg{flex-shrink:0}.error-banner{color:#913b2e;overflow-wrap:anywhere;background:#ffede9;border-bottom:1px solid #dfb9ad;align-items:flex-start;gap:12px;padding:10px 14px;display:flex}.error-banner>svg{flex-shrink:0;margin-top:2px}.error-banner strong{font-size:14px}.error-banner p{margin-top:4px;font-size:13px;line-height:1.65}.text-button{min-height:30px;color:inherit;text-underline-offset:4px;background:0 0;border:none;padding:8px 0 0;font-size:13px;text-decoration:underline}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(1turn)}}.help-dialog{background:var(--paper);border:2px solid var(--ink);width:min(620px,100% - 40px);max-height:calc(100vh - 64px);color:var(--ink);box-shadow:8px 8px 0 var(--ink);padding:40px;overflow:auto}.help-dialog::backdrop{background:#0a0a0f66}.help-dialog h2{margin-bottom:12px;font-size:34px;font-weight:850}.help-dialog h3{margin-bottom:10px;font-size:20px}.help-dialog p{color:#55524b;font-size:16px;line-height:1.85}.help-dialog section{margin-top:28px}.help-dialog details{border-top:1px solid #c7bfb0;margin-top:28px;padding-top:20px}.help-dialog summary{cursor:pointer;font-size:16px;font-weight:650}.help-dialog details p{margin-top:16px}.close-dialog{background:0 0;border:none;min-height:42px;padding:8px;position:absolute;top:16px;right:16px}.dialog-done{width:100%;min-height:54px;margin-top:32px;font-size:18px}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}}select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--ink);border-radius:2px;max-width:220px;padding:3px 6px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #7765db}.speed-control{gap:8px}.observation-settings{margin:8px 0 0}.observation-settings summary{cursor:pointer}.observation-settings>div{flex-wrap:wrap;gap:12px;padding-top:12px;display:flex}.observation-settings label{align-items:center;gap:6px;display:flex}.candidate-note{color:var(--muted);margin:12px 0}.array-slot rect{transition:fill var(--motion) ease}.array-slot,.value-transition,.variable-card strong{animation:value-appear var(--motion) ease-out}@keyframes value-appear{0%{opacity:.3}to{opacity:1}}@media (prefers-reduced-motion:reduce){.array-slot,.value-transition,.variable-card strong{animation:none}.array-slot rect{transition:none}}.removed-slot{pointer-events:none;opacity:0;animation:slot-leave var(--motion) ease-out}@keyframes slot-leave{0%{opacity:.65}to{opacity:0}}@media (prefers-reduced-motion:reduce){.removed-slot{animation:none}}.pointer-notes{color:var(--muted);margin:6px 0 0;padding-left:18px;font-size:12px;line-height:1.7}.observation-settings small{background:var(--lime);border:1px solid var(--ink);margin-left:4px;padding:0 4px;font-size:12px}.pointer-marker{transition:transform var(--motion) ease}.range-band{pointer-events:none;transition:transform var(--motion) ease,width var(--motion) ease}.timeline{width:100%;accent-color:var(--pink);cursor:pointer;margin:0;display:block}.timeline:disabled{cursor:default}.step-explanation p{margin:0}.change-list{color:var(--muted);font-size:12px}.timeline-row{padding-bottom:10px;position:relative}.timeline-error{bottom:0;left:calc(8px + var(--at) * (100% - 16px));border:6px solid #0000;border-top:0;border-bottom:9px solid var(--pink);pointer-events:none;width:0;height:0;margin-left:-6px;position:absolute}.is-instant .scene *,.is-instant .variables-section *{transition:none!important;animation:none!important}.quick-start{text-align:left;color:var(--muted);margin:0;padding-left:22px;font-size:13px;line-height:1.9}kbd{font-family:var(--mono);border:1px solid var(--ink);background:var(--surface);border-radius:2px;padding:0 5px;font-size:13px}.array-frame{position:relative}.edge-hints{z-index:1;flex-direction:column;gap:4px;display:flex;position:absolute;top:6px}.edge-hints button{min-height:28px;font:700 13px var(--mono);box-shadow:2px 2px 0 var(--ink);padding:2px 8px}.edge-left{align-items:flex-start;left:-4px}.edge-right{align-items:flex-end;right:-4px}body,html{height:100%}.app-shell{flex-direction:column;gap:14px;height:100dvh;min-height:640px;padding:14px 20px 18px;display:flex;overflow:hidden}.topbar{flex:none;align-items:center;gap:24px;display:flex}h1{font-family:var(--heading);letter-spacing:-1.2px;white-space:nowrap;font-size:calc(clamp(24px,2vw,32px));font-weight:900;line-height:1.2}.title-highlight{z-index:0;margin-left:4px;display:inline-block;position:relative}.title-highlight:after{content:"";z-index:-1;background:var(--pink);height:38%;position:absolute;bottom:2px;left:-3px;right:-4px}.tagline{border-left:2px solid var(--ink);color:#58564f;padding-left:18px;font-size:14px;line-height:1.6}.topbar-actions{align-items:center;gap:14px;margin-left:auto;display:flex}.nav-help{background:0 0;border-color:#0000;gap:8px;min-height:36px;padding:8px 12px;font-weight:500}.blog-link{background:var(--surface);border:2px solid var(--ink);min-height:38px;box-shadow:3px 3px 0 var(--ink);align-items:center;gap:8px;padding:0 14px;font-weight:700;transition:transform .12s,box-shadow .12s;display:inline-flex}.blog-link:hover{box-shadow:5px 5px 0 var(--ink);transform:translate(-1px,-1px)}.workspace{grid-template-columns:minmax(200px,var(--left-width,16%)) 14px minmax(0,1fr) 14px minmax(200px,var(--right-width,13.5%));flex:1;min-height:0;display:grid}.workspace.is-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.column-handle{cursor:col-resize;touch-action:none;position:relative}.column-handle:after{content:"";background:var(--line);border-radius:2px;width:4px;height:44px;margin:-22px 0 0 -2px;transition:background .12s;position:absolute;top:50%;left:50%}.column-handle:focus-visible:after,.column-handle:hover:after,.is-resizing .column-handle:after{background:var(--ink)}.column-handle:focus-visible{outline:none}.panel{background:var(--surface);border:2px solid var(--ink);min-width:0;min-height:0;box-shadow:4px 4px 0 var(--ink);flex-direction:column;display:flex}.panel-header{border-bottom:1px solid var(--line);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:4px 12px;min-height:44px;margin:0 14px;padding:8px 0;display:flex}.panel-header h2{letter-spacing:-.3px;white-space:nowrap;font-size:15px;font-weight:800}.panel-meta{font-size:13px;font-weight:650}.language-tag{font-family:var(--mono);border:2px solid var(--ink);background:var(--yellow);padding:1px 7px;font-size:12px}.run-button{white-space:nowrap;min-height:38px;box-shadow:3px 3px 0 var(--ink);gap:8px;padding:0 16px}.button-primary{background:var(--pink);box-shadow:4px 4px 0 var(--ink)}.button-primary:hover:not(:disabled){box-shadow:5px 5px 0 var(--ink);background:#ff78a0;transform:translate(-1px,-1px)}.button-primary:active:not(:disabled){box-shadow:1px 1px 0 var(--ink);transform:translate(3px,3px)}.stop-button{background:var(--yellow)}.status{color:#44463a;white-space:nowrap;align-items:center;gap:8px;font-size:13px;display:inline-flex}.status-dot{background:var(--lime);border:2px solid var(--ink);border-radius:50%;width:10px;height:10px}.workspace.is-tracing .status-dot{background:var(--yellow)}.status-warning{color:#8d362c}.workspace .status-warning .status-dot{background:var(--pink)}.editor{flex:1;min-height:0;overflow:hidden}.stdin-panel{border-top:1px solid var(--line);flex:none;margin:0 14px;padding:10px 0 12px}.stdin-panel summary,.variables-heading{cursor:pointer;font-size:14px;font-weight:750}.stdin-panel textarea{resize:none;width:100%;height:60px;font:12px/1.5 var(--mono);border:2px solid var(--line);color:var(--ink);background:#fffbea;margin-top:8px;padding:6px 8px;display:block}.playback{border-bottom:1px solid var(--line);flex-wrap:wrap;flex:none;align-items:center;gap:10px;margin:0 14px;padding:10px 0;display:flex}.step-buttons{gap:6px;display:flex}.step-buttons button{white-space:nowrap;min-height:32px;box-shadow:3px 3px 0 var(--ink);gap:5px;padding:4px 10px}.step-buttons button:disabled{box-shadow:none}.speed-control{border-left:2px solid var(--line);white-space:nowrap;align-items:center;gap:6px;padding-left:12px;font-weight:650;display:flex}.speed-control select{border-width:2px;padding:2px 6px}.step-count{border-left:2px solid var(--line);align-items:baseline;gap:10px;margin-left:auto;padding-left:12px;display:flex}.step-count>span{font-size:13px;font-weight:650}.step-count strong{font-family:var(--mono);white-space:nowrap;font-size:20px;font-weight:800;line-height:1}.step-count strong>span{color:var(--muted);font-size:13px;font-weight:400}.timeline-row{flex:100%}.timeline{appearance:none;background:0 0;height:22px}.timeline::-webkit-slider-runnable-track{border:2px solid var(--ink);background:linear-gradient(90deg,var(--pink) var(--progress,0),var(--surface) 0);border-radius:8px;height:8px}.timeline::-moz-range-track{border:2px solid var(--ink);background:linear-gradient(90deg,var(--pink) var(--progress,0),var(--surface) 0);border-radius:8px;height:4px}.timeline::-webkit-slider-thumb{appearance:none;border:2px solid var(--ink);background:#4a4a52;border-radius:50%;width:18px;height:18px;margin-top:-7px}.timeline::-moz-range-thumb{border:2px solid var(--ink);background:#4a4a52;border-radius:50%;width:14px;height:14px}.timeline:disabled::-webkit-slider-thumb{background:#c9c4b9}.scene{flex-direction:column;flex:1;min-height:0;padding:10px 14px;display:flex;overflow:auto}.scene-heading{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.scene-heading h3,.variables-heading h3{font-size:14px;font-weight:750}.scene-heading select{font-family:var(--mono);border-width:2px;padding:2px 6px}.scene-heading>.range-summary{color:var(--ink);border:1px solid var(--ink);background:#ffe3ea;margin-left:0;padding:2px 8px;font-size:12px}.scene-heading>span{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:13px}.array-scroll{scrollbar-width:thin;scrollbar-color:#999288 var(--paper);background-color:#fffdf7;background-image:linear-gradient(#0a0a0f08 1px,#0000 0),linear-gradient(90deg,#0a0a0f08 1px,#0000 0);background-size:24px 24px;align-items:center;min-height:190px;margin:12px 0 0;display:flex;overflow-x:auto}.array-scroll svg{flex-shrink:0;margin:auto}.empty-scene{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:210px;display:flex}.empty-symbol{border:2px solid var(--ink);width:96px;height:90px;box-shadow:5px 5px 0 var(--ink);background:var(--yellow);place-items:center;display:grid;transform:rotate(-4deg)}.empty-scene p{color:var(--muted);font-size:13px;line-height:1.7}.empty-list{font-size:64px;font-weight:700}.scene-legend{color:var(--muted);align-items:center;gap:9px;margin-top:6px;font-size:12px;display:flex}.scene-legend i{background:var(--yellow);border:1px solid var(--ink);width:12px;height:12px}.scene>.array-frame,.scene>.empty-scene{flex-direction:column;flex:1 0 auto;display:flex}.array-frame>.array-scroll{flex:1}.scene-footer{flex-wrap:wrap;align-items:flex-start;gap:4px 24px;margin-top:6px;display:flex}.scene-footer .scene-legend{margin-top:8px}.scene-settings{flex-wrap:wrap;gap:0 24px;display:flex}.scene-settings .observation-settings{margin-bottom:0}.variables-section{border-top:1px solid var(--line);flex:none;margin:0 14px;padding:8px 0 12px}.variables-heading{align-items:center;gap:10px;list-style:none;display:flex}.variables-heading::-webkit-details-marker{display:none}.variables-heading:before{font-size:13px}.stdin-panel summary::marker{font-size:13px}.variables-heading:before{content:"▶";transition:transform .12s}.variables-section[open]>.variables-heading:before{transform:rotate(90deg)}.variables-heading>span{color:var(--muted);margin-left:auto;font-size:12px;font-weight:400}.variables-section .observation-settings{margin:6px 0 0}.variables-grid{flex-wrap:wrap;gap:8px 12px;margin-top:8px;display:flex}.variable-card{align-items:stretch;min-width:0;max-width:100%;display:flex}.variable-card code{white-space:nowrap;background:#f2eee5;align-items:center;padding:0 10px;font-size:13px;font-weight:700;display:flex}.variable-card strong{border:2px solid var(--ink);min-width:48px;max-width:320px;font-family:var(--mono);text-align:center;text-overflow:ellipsis;white-space:nowrap;padding:3px 12px;font-size:14px;font-weight:600;overflow:hidden}.variable-card.variable-changed strong{background:var(--yellow)}.variable-card strong.unsupported-value{font:12px/1.5 var(--body)}.variables-empty{color:var(--muted);font-size:13px}.side-column{flex-direction:column;gap:14px;min-width:0;min-height:0;display:flex}.stack-panel,.step-panel{flex:none}.step-body{overflow-wrap:anywhere;max-height:34vh;padding:10px 14px 12px;overflow:auto}.step-line{background:#ffe3ea;margin-bottom:10px;padding:8px 10px}.step-line strong{margin-bottom:4px;font-size:13px;display:block}.step-line code{color:#c2185b;white-space:pre-wrap;font-size:12px}.step-explanation h3{margin-bottom:4px;font-size:13px;font-weight:750}.step-explanation{font-size:13px;line-height:1.6}.call-stack{flex-direction:column;gap:6px;max-height:22vh;margin:0;padding:10px 14px 12px;list-style:none;display:flex;overflow:auto}.call-stack li{font-family:var(--mono);background:#f7f3ea;padding:5px 10px;font-size:12px}.call-stack li.stack-current{background:#ffe3ea}.call-stack li span{color:var(--muted);margin-right:12px}.panel-empty{color:var(--muted);padding:10px 14px 12px;font-size:12px}.console{flex:1}.console pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f2eee5;flex:1;min-height:60px;margin:10px 14px 14px;padding:8px 10px;font-size:12px;line-height:1.6;overflow:auto}.console .console-empty{color:var(--muted);font-family:var(--body)}.error-banner,.stale-banner{flex:none}.error-banner{max-height:30%;overflow:auto}@media (height<=640px),(width<=1180px){.app-shell{height:auto;min-height:0;overflow:visible}.workspace{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:14px}.column-handle{display:none}.code-panel{height:620px}.visual-panel{min-height:620px}.side-column{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}}@media (width<=1180px){.tagline{display:none}}@media (width<=760px){.app-shell{padding:16px 14px 24px}.topbar{flex-wrap:wrap;gap:12px}.nav-help{gap:0;font-size:0}.side-column,.workspace{grid-template-columns:minmax(0,1fr)}.code-panel{height:480px}.step-buttons{flex-wrap:wrap}.step-count{margin-left:0}.help-dialog{padding:30px 24px}}.matrix-index{fill:var(--muted);font:12px var(--mono)}.map-scene ul{flex-wrap:wrap;gap:10px;margin:8px 0;padding:0;list-style:none;display:flex}.map-scene li{border:2px solid var(--ink);background:var(--surface);box-shadow:3px 3px 0 var(--ink);font:700 15px var(--mono);transition:background var(--motion) ease;align-items:stretch;display:flex}.map-scene code,.pile code{padding:6px 10px}.map-entries .map-key{background:var(--paper);border-right:2px solid var(--ink)}.map-entries .map-key:after{content:" →";color:var(--muted)}.map-scene li.map-changed,.map-scene li.map-changed .map-key{background:var(--yellow)}.map-scene small,.pile small{font:12px var(--mono);color:var(--muted);align-self:center;padding:0 6px}.map-scene li.map-removed{box-shadow:none;color:var(--muted);background:0 0;border-style:dashed;text-decoration:line-through}.pile{align-items:center;gap:10px;margin:8px 0;display:flex;overflow-x:auto}.pile-stack{flex-direction:column;align-items:flex-start}.pile ol{gap:8px;margin:0;padding:0 6px 6px 0;list-style:none;display:flex}.pile-stack ol{flex-direction:column;min-width:120px}.pile li{border:2px solid var(--ink);background:var(--surface);min-width:64px;min-height:44px;box-shadow:3px 3px 0 var(--ink);font:700 17px var(--mono);transition:background var(--motion) ease;justify-content:space-between;align-items:center;display:flex}.pile code{white-space:nowrap}.pile li.pile-changed{background:var(--yellow)}.pile li.pile-gone{box-shadow:none;color:var(--muted);opacity:0;animation:slot-leave var(--motion) ease-out;background:0 0;border-style:dashed}.pile-end{color:var(--muted);font:700 12px var(--mono);flex:none}.other-structures{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.other-structures h4{margin:0 0 8px;font-size:13px}.other-structure h5 span,.other-structures h4 span{color:var(--muted);font-weight:400}.other-structure h5{align-items:baseline;gap:8px;margin:12px 0 4px;font-size:13px;display:flex}@media (prefers-reduced-motion:reduce){.pile li.pile-gone{animation:none}}
