@media (prefers-reduced-motion:reduce){:root{--bu-fill:0s;--bu-refuse:0s;--bu-lift:0s;--bu-dead-end:0s;--bu-grow:0s;--bu-ghost:0s;--bu-verdict:0s;--bu-strike-clear:0s;--bu-test-gap:0s;--bu-beat-own:0s;--bu-beat-no-undo:0s;--bu-beat-undo:0s;--bu-beat-crowded:0s;--bu-beat-buggy-queens:0s;--bu-beat-queens:0s;--bu-beat-fast:0s;--bu-hold:0s;--bu-sheet:0s;--bu-snap:0s}}@font-face{font-family:Inter;src:url(/fonts/inter-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Inter Fallback;src:local(Arial),local(Helvetica),local(Segoe UI);size-adjust:107.4%;ascent-override:90.2%;descent-override:22.5%;line-gap-override:0%}@font-face{font-family:JetBrains Mono Fallback;src:local(Consolas);size-adjust:109.1%;ascent-override:93.5%;descent-override:27.5%;line-gap-override:0%}@font-face{font-family:JetBrains Mono Fallback Wide;src:local(Menlo),local(Courier New);size-adjust:100%;ascent-override:102%;descent-override:30%;line-gap-override:0%}:root{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--c-rule:#1e40af;--c-slate:#475569;--c-code-region:#fbf9f4;--c-code-locked:#f1eee6;--c-surface:#f7f3ea;--c-panel:#ede8dc;--c-ink:#1c1b19;--c-muted:#57534e;--c-line:#d6cfc0;--c-line-strong:#a8a090;--c-pill:#1c1b19;--c-pill-ink:#f7f3ea;--c-pill-off:#e4ded1;--c-pill-off-ink:#57534e;--c-focus:#1e40af;--c-stage-border:#d6cfc0;--c-backdrop:#1c1b1973;--font-ui:Inter, "Inter Fallback", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "JetBrains Mono Fallback", "JetBrains Mono Fallback Wide", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-prompt:19px;--fs-label:16px;--fs-chip:16px;--fs-stream:16px;--lh-prompt:1.32;--gutter:max(16px, env(safe-area-inset-left), env(safe-area-inset-right));--col-w:min(100cqw - 2 * var(--gutter), 480px);--frame-top:0px;--bar-h:44px;--prompt-pad:8px;--gap:8px;--pill-h:52px;--bottom-min:24px;--split-gap:40px;--stage-max:560px;--dock-h:160px;--vb-h:388;--stage-floor:264px;--radius:14px;--radius-pill:999px;--target:44px;--frame-max:512px}.frame[data-short]:not([data-layout=split]){--fs-prompt:18px;--lh-prompt:1.3;--prompt-pad:4px;--gap:6px;--pill-h:48px;--bottom-min:8px}.frame[data-layout=wide]{--col-w:min(600px, 100cqw - 2 * var(--gutter));--frame-top:24px;--fs-prompt:22px;--lh-prompt:1.3;--stage-max:calc(var(--col-w) * var(--vb-h) / 343)}.frame[data-layout=wide][data-short]{--frame-top:8px;--fs-prompt:18px}.frame[data-layout=split]{--gutter:max(32px, env(safe-area-inset-left), env(safe-area-inset-right));--frame-top:24px;--fs-prompt:22px;--lh-prompt:1.3;--prompt-pad:8px;--gap:8px;--pill-h:52px;--bottom-min:0px;--split-gap:40px}@media (max-height:639px){.frame[data-layout=split]{--gutter:max(16px, env(safe-area-inset-left), env(safe-area-inset-right));--frame-top:8px;--fs-prompt:18px;--prompt-pad:0px;--gap:6px;--pill-h:48px;--split-gap:24px}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--c-surface:#12141a;--c-panel:#1b1f27;--c-ink:#ece8df;--c-muted:#a8a29e;--c-line:#2c313c;--c-line-strong:#4b5262;--c-pill:#ece8df;--c-pill-ink:#12141a;--c-pill-off:#232833;--c-pill-off-ink:#a8a29e;--c-focus:#8ab4ff;--c-stage-border:#2c313c;--c-backdrop:#04060a99;--c-rule:#8ab4ff;--c-slate:#94a3b8;--c-code-region:#0e1116;--c-code-locked:#171c24}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--c-surface:#12141a;--c-panel:#1b1f27;--c-ink:#ece8df;--c-muted:#a8a29e;--c-line:#2c313c;--c-line-strong:#4b5262;--c-pill:#ece8df;--c-pill-ink:#12141a;--c-pill-off:#232833;--c-pill-off-ink:#a8a29e;--c-focus:#8ab4ff;--c-stage-border:#2c313c;--c-backdrop:#04060a99;--c-rule:#8ab4ff;--c-slate:#94a3b8;--c-code-region:#0e1116;--c-code-locked:#171c24}*,:before,:after{box-sizing:border-box}html,body{background:var(--c-surface);color:var(--c-ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;padding:0;font-size:16px;line-height:1.4}body{overflow-x:clip}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--c-focus);outline-offset:2px}.frame{width:100%;min-height:100vh;min-height:100svh;position:relative;container-type:inline-size}.frame-main{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(calc(var(--stage-floor) + var(--gap)), 1fr) auto;width:var(--col-w);min-height:100vh;min-height:100svh;padding:var(--frame-top) 0 0;margin:0 auto;display:grid}.prompt-zone{height:auto;overflow:visible}.stage{height:auto;min-height:0;max-height:var(--stage-max);margin-top:var(--gap)}.dock{margin-top:var(--gap);padding-bottom:calc(var(--bottom-min) + env(safe-area-inset-bottom))}.dock-content{height:var(--dock-h)}.pill-row{position:relative}.frame[data-layout=split]{--side-w:clamp(360px, 38cqw, 480px);--stage-area-h:min(100svh - 2 * var(--frame-top), 760px);--stage-w:min(600px, 100cqw - var(--side-w) - var(--split-gap) - 2 * var(--gutter), var(--stage-area-h) * 343 / var(--vb-h));--stage-h:calc(var(--stage-w) * var(--vb-h) / 343);place-items:center;display:grid}.frame[data-layout=split] .frame-main{grid-template-columns:var(--stage-w) var(--side-w);grid-template-rows:var(--bar-h) auto minmax(0, 1fr) auto;column-gap:var(--split-gap);width:auto;min-height:0;padding:var(--frame-top) var(--gutter);grid-template-areas:"stage bar""stage prompt""stage.""stage dock"}.frame[data-layout=split] .bar{grid-area:bar}.frame[data-layout=split] .prompt-zone{grid-area:prompt}.frame[data-layout=split] .stage{width:var(--stage-w);height:var(--stage-h);grid-area:stage;align-self:start;max-height:none;margin-top:0}.frame[data-layout=split] .dock{grid-area:dock}.frame[data-layout=split][data-short] .stage{top:var(--frame-top);position:sticky}.frame[data-typing] .frame-main{min-height:calc(100vh + var(--kb,0px));min-height:calc(100svh + var(--kb,0px));padding-bottom:var(--kb,0px)}.sheet-layer{z-index:100;position:fixed;inset:0}.sheet-backdrop{touch-action:none;position:fixed;inset:0}.sheet{width:min(100%,560px);max-height:min(80vh,100vh - 48px);max-height:min(80svh,100svh - 48px);padding-bottom:env(safe-area-inset-bottom);border-radius:18px 18px 0 0;margin:0 auto;position:absolute;bottom:0;left:0;right:0}.sheet-layer[data-layout=split] .sheet{width:min(560px,100vw - 64px);max-height:min(80vh,640px);max-height:min(80svh,640px);animation:sheet-pop var(--bu-sheet) var(--bu-ease);border-radius:18px;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.sheet-body{overscroll-behavior:contain;overflow:auto}@keyframes sheet-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.98)}}.bar{height:calc(var(--bar-h) + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);align-items:center;gap:12px;display:flex}.ticks{flex:1;grid-template-columns:repeat(12,1fr);gap:3px;height:6px;display:grid}.tick{background:var(--c-line);border-radius:3px}.tick[data-state=done]{background:var(--c-ink)}.tick[data-state=current],.tick[data-state=complete]{background:var(--c-rule)}.count{color:var(--c-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:16px}.more{width:var(--target);height:var(--target);color:var(--c-ink);cursor:pointer;background:0 0;border:0;border-radius:50%;margin-right:-10px;font-size:22px;line-height:1}.more:hover{background:var(--c-pill-off)}.back{width:var(--target);height:var(--target);color:var(--c-ink);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;margin-left:-12px;margin-right:-6px;padding:0 0 3px;font-size:30px;line-height:1}.back:hover{background:var(--c-pill-off)}.back:active{transform:scale(.94)}.back--spacer{cursor:default;display:block}.back--spacer:hover{background:0 0}.more:active{transform:scale(.94)}.prompt-zone{padding-top:var(--prompt-pad);align-items:flex-start;display:flex}.prompt{font-size:var(--fs-prompt);line-height:var(--lh-prompt);letter-spacing:-.01em;text-wrap:pretty;margin:0;font-weight:600}.stage{border-radius:var(--radius);background:var(--c-panel);position:relative;overflow:hidden}.stage:after{content:"";border:1px solid var(--c-stage-border);border-radius:inherit;pointer-events:none;position:absolute;inset:0}.dock{gap:var(--gap);flex-direction:column;display:flex}.dock-content{flex:none;min-height:0;position:relative;overflow:clip}.dock-input{flex-direction:column;justify-content:flex-end;height:100%;display:flex}.dock-input[inert]{opacity:0;transition:opacity var(--bu-sheet) var(--bu-ease)}.feedback{border-radius:var(--radius);background:var(--c-panel);border:1px solid var(--c-line);opacity:0;visibility:hidden;max-height:100%;transition:transform var(--bu-sheet) var(--bu-ease), opacity var(--bu-sheet) var(--bu-ease), visibility 0s linear var(--bu-sheet);flex-direction:column;justify-content:flex-start;gap:2px;padding:10px 14px 4px;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(105%)}.feedback[data-risen=true]{opacity:1;visibility:visible;transition:transform var(--bu-sheet) var(--bu-ease), opacity var(--bu-sheet) var(--bu-ease);transform:translateY(0)}.feedback:focus{outline:none}.feedback[data-verdict=right]{border:1.5px solid var(--c-rule);background:var(--c-surface);color:var(--c-ink)}.feedback[data-verdict=right] .feedback-glyph{color:var(--c-rule)}.feedback[data-verdict=notYet],.feedback[data-verdict=missed]{border:1.5px solid var(--c-slate);background:var(--c-panel);color:var(--c-ink)}.feedback[data-verdict=notYet] .feedback-glyph,.feedback[data-verdict=missed] .feedback-glyph{color:var(--c-slate)}.feedback-text{--lh:20.8px;font-size:16px;line-height:var(--lh);gap:10px;margin:0;display:flex}.feedback-glyph{flex:none;font-weight:700}.links{flex-wrap:wrap;align-items:center;gap:4px 16px;display:flex}.link{min-height:var(--target);color:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;border-radius:6px;margin-left:-4px;padding:0 4px;font-weight:600;text-decoration:underline}.link:hover{text-decoration-thickness:2px}.link:active{opacity:.7}.up-nowrap{white-space:nowrap}.pill-row{flex:0 0 var(--pill-h);background:var(--c-surface);display:flex}.pill-row:before{content:"";background:var(--c-line);height:1px;transition:opacity var(--bu-sheet) var(--bu-ease);position:absolute;top:-6px;left:0;right:0}.dock[data-empty] .pill-row:before{opacity:0}.pill{width:100%;height:var(--pill-h);border-radius:var(--radius-pill);background:var(--c-pill);color:var(--c-pill-ink);font-size:var(--fs-label);cursor:pointer;transition:transform var(--bu-snap) var(--bu-ease), opacity var(--bu-snap) var(--bu-ease);border:0;flex:auto;padding:0 28px;font-weight:600}.pill:hover:not([aria-disabled=true]){box-shadow:0 2px 10px #0f172a40}.pill:active:not([aria-disabled=true]){transform:scale(.98)}.pill[aria-disabled=true]{border:1.5px solid var(--c-line-strong);color:var(--c-muted);opacity:1;cursor:default;background:0 0}.pill[aria-disabled=true] .ring{color:var(--c-muted)}.pill--link{justify-content:center;align-items:center;text-decoration:none;display:flex}.dock-result{position:absolute;top:0;left:0;right:0}.feedback-body{text-wrap:pretty;flex:1;display:block}.links--corner{float:right;height:calc(2 * var(--lh));align-items:flex-start;margin:0 -6px 0 8px}.links--corner .link{margin-top:max(calc((var(--lh) - var(--target)) / 2), -10px)}.recap{flex-direction:column;gap:4px;display:flex}.recap-line{margin:0;font-size:16px;line-height:1.3}.done-card{border:1.5px solid var(--c-rule);background:var(--c-surface);color:var(--c-ink);animation:rise var(--bu-sheet) var(--bu-ease);border-radius:14px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.done-title{align-items:baseline;gap:10px;margin:0;font-size:16px;font-weight:600;line-height:1.3;display:flex}.done-title:focus{outline:none}.done-title:focus-visible{outline:3px solid var(--c-focus);outline-offset:4px;border-radius:4px}.done-glyph{color:var(--c-rule);font-weight:700}.done-numbers{font-variant-numeric:tabular-nums;margin:0;font-size:16px;line-height:1.4}.done-link{color:var(--c-rule);align-self:flex-start;align-items:center;margin-top:-6px;margin-bottom:-10px;display:inline-flex}.sheet-backdrop{background:var(--c-backdrop);animation:fade var(--bu-sheet) var(--bu-ease)}.sheet{background:var(--c-panel);color:var(--c-ink);animation:rise var(--bu-sheet) var(--bu-ease);flex-direction:column;display:flex;box-shadow:0 -8px 30px #0f172a33}.sheet:focus{outline:none}.sheet-head{padding:8px 8px 0 var(--gutter);justify-content:space-between;align-items:center;display:flex}.sheet-title{font-size:var(--fs-label);margin:0}.sheet-close{min-height:var(--target);min-width:var(--target);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0 12px;font-weight:600}.sheet-close:hover{background:var(--c-pill-off)}.sheet-close:active{transform:scale(.97)}.sheet-body{padding:4px var(--gutter) 24px}.sheet-text{margin:0 0 8px;font-size:16px}.sheet-action{width:100%;min-height:var(--target);border:1.5px solid var(--c-line-strong);cursor:pointer;background:0 0;border-radius:12px;font-weight:600}.sheet-action:hover{border-color:var(--c-ink)}.sheet-action:active{transform:scale(.98)}.menu{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.sheet-action--close{margin-top:8px}.sheet-action--switch{justify-content:center;align-items:center;gap:12px;display:flex}.switch{background:var(--c-line-strong);width:36px;height:20px;transition:background var(--bu-snap) var(--bu-ease);border-radius:10px;flex:none;position:relative}.switch[data-on=true]{background:var(--c-rule)}.switch-knob{background:var(--c-panel);width:16px;height:16px;transition:transform var(--bu-snap) var(--bu-ease);border-radius:50%;position:absolute;top:2px;left:2px}.switch[data-on=true] .switch-knob{transform:translate(16px)}.sources{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.source-title{margin:0 0 4px;font-size:16px}.source-links{flex-wrap:wrap;gap:0 16px;margin:0;display:flex}.source-links a{min-height:var(--target);color:var(--c-rule);text-underline-offset:3px;align-items:center;display:inline-flex}.about-links{margin-top:4px}@keyframes rise{0%{transform:translateY(100%)}}@keyframes fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.frame[data-kind=code],.frame[data-kind=program]{--dock-h:236px;--vb-h:312;--stage-floor:208px}.frame[data-kind=recap]{--dock-h:256px;--vb-h:292;--stage-floor:196px}.frame[data-kind=recap] .dock-content{height:auto;min-height:var(--dock-h)}.frame[data-kind=recap][data-short] .dock-content{min-height:0}.frame[data-short] .recap-line{font-size:15px;line-height:1.25}.frame[data-short] .recap .links{margin-top:-10px}.done-hold{flex-direction:column;justify-content:flex-end;display:flex}.frame[data-short] .done-card{gap:4px;padding:10px 14px}.frame[data-short] .done-numbers{font-size:15px;line-height:1.35}.code-dock{flex-direction:column;gap:4px;height:100%;min-height:0;display:flex}.editor{flex-direction:column;flex:auto;gap:2px;min-height:0;display:flex}.bu-tray:focus-visible,.ed-scroll:focus-visible{outline:2px solid var(--c-focus);outline-offset:-2px}.bu-tray--code[data-peek]>.bu-chip{animation:.6s ease-in-out bu-peek}@keyframes bu-peek{50%{transform:translate(-40px)}}.ed-scroll{overflow-anchor:none;border:1px solid var(--c-line);background:var(--c-code-locked);cursor:text;border-radius:10px;flex:auto;min-height:0;max-height:148px;position:relative;overflow:hidden auto}.editor[data-locked] .ed-scroll{cursor:default}.ed-line{display:flex}.ed-num,.ed-code,.ed-region,.ed-error,.number-input{font-variant-ligatures:none;font-feature-settings:"calt" 0, "liga" 0}.ed-num,.ed-code,.ed-region{font-family:var(--font-mono);font-variant-numeric:tabular-nums;tab-size:4;letter-spacing:0;margin:0;font-size:16px;font-weight:400;line-height:24px}.ed-num{text-align:right;color:var(--c-muted);-webkit-user-select:none;user-select:none;flex:0 0 26px;padding-right:4px}.ed-code{white-space:pre-wrap;overflow-wrap:anywhere;flex:1 1 0;min-width:0;padding:0 6px}.ed-locked .ed-code{padding-left:calc(6px + var(--ed-hang,2ch));text-indent:calc(-1 * var(--ed-hang,2ch));color:var(--c-muted)}.ed-region-row{background:var(--c-code-region);min-height:44px;box-shadow:inset 2px 0 0 var(--c-rule);align-items:center;display:flex}.ed-region-box{flex:auto;min-width:0;position:relative}.ed-mirror .ed-code{color:#0000}.ed-region{width:calc(100% - 26px);height:100%;color:var(--c-ink);white-space:pre-wrap;overflow-wrap:anywhere;resize:none;background:0 0;border:0;border-radius:0;outline:none;padding:0 6px;position:absolute;inset:0 0 0 26px;overflow:hidden}.ed-region:focus-visible{outline:2px solid var(--c-focus);outline-offset:-2px}.editor[data-locked] .ed-region-row{min-height:0;box-shadow:inset 2px 0 0 var(--c-slate)}.editor[data-above] .ed-scroll:before{content:"";z-index:1;background:var(--c-slate);pointer-events:none;height:2px;margin-bottom:-2px;display:block;position:sticky;top:0}.ed-status{min-height:24px;color:var(--c-muted);align-items:center;gap:8px;margin:0;font-size:16px;display:flex}.ed-error{max-height:88px;font-family:var(--font-mono);color:var(--c-slate);white-space:pre-wrap;overflow-wrap:anywhere;flex:none;margin:0;font-size:16px;line-height:22px;overflow:auto}.ed-error-msg{color:var(--c-ink)}.ed-error[data-more]{-webkit-mask-image:linear-gradient(#000 calc(100% - 8px),#0000);mask-image:linear-gradient(#000 calc(100% - 8px),#0000)}.ed-error-code{vertical-align:top;white-space:pre;word-break:normal;max-width:100%;display:inline-block;overflow-x:auto}.ed-error-code:focus-visible{outline:2px solid var(--c-focus);outline-offset:-2px}.dock-result .ed-error{background:var(--c-surface);padding:0 4px}.ring{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:14px;height:14px;animation:.9s linear infinite spin;display:inline-block}.ring--pill{vertical-align:-2px;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ring{animation:none}}.number-dock{flex-direction:column;justify-content:flex-end;gap:6px;height:100%;display:flex}.number{flex-direction:column;gap:4px;display:flex}.number-label{font-size:var(--fs-label);font-weight:600}.number-input{border:1px solid var(--c-line-strong);border-left:3px solid var(--c-rule);background:var(--c-code-region);width:100%;height:48px;color:var(--c-ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;border-radius:10px;padding:0 12px;font-size:20px}.number-input:focus-visible{outline:3px solid var(--c-focus);outline-offset:1px}.number[data-locked] .number-input{border-left-color:var(--c-slate)}.number--compact{background:var(--c-surface);flex-direction:row;align-items:center;gap:10px}.number--compact .number-input{flex:1;width:auto;height:44px}.program-dock{flex-direction:column;gap:4px;height:100%;min-height:0;display:flex}.editor--program{flex:0 auto}.ed-scroll--program{max-height:100px}.frame[data-layout=wide]:not([data-short]) .ed-scroll--program,.frame[data-layout=split] .ed-scroll--program{max-height:148px}@media (max-height:639px){.frame[data-layout=split] .ed-scroll--program{max-height:100px}}.editor--program[data-more] .ed-scroll--program{box-shadow:inset 0 -2px 0 var(--c-slate)}.editor--program[data-above] .ed-scroll--program{box-shadow:inset 0 2px 0 var(--c-slate)}.editor--program[data-above][data-more] .ed-scroll--program{box-shadow:inset 0 2px 0 var(--c-slate), inset 0 -2px 0 var(--c-slate)}.ed-scroll--program:focus-visible{outline:2px solid var(--c-focus);outline-offset:1px}.build-dock{justify-content:center;display:flex}.dock[data-kind=build]{--tray-h:48px}.dock[data-kind=build] .feedback[data-note]{bottom:calc(var(--tray-h) + 4px);max-height:100px;overflow-y:auto}.feedback[data-note=hint]{border:1px solid var(--c-line);background:var(--c-panel);color:var(--c-ink)}.dock[data-kind=code][data-note] .dock-input{height:calc(100% - var(--sheet-h,0px) - 4px)}.dock[data-kind=code][data-note] .ed-status{display:none}.dock[data-kind=code][data-risen] .dock-input{height:calc(100% - var(--sheet-h,0px) - 4px);justify-content:flex-start;overflow:hidden}.dock[data-kind=code][data-risen] .code-dock>:not(.editor),.dock[data-kind=code][data-risen] .ed-status{display:none}.dock[data-kind=code][data-risen] .editor{flex:none;gap:4px}.dock[data-kind=code][data-risen] .ed-scroll{height:var(--ed-h,calc(3 * 24px + 4px));flex:none;min-height:76px;max-height:none}.dock[data-kind=code][data-risen] .ed-error{flex:none}.dock[data-kind=code][data-risen] .feedback{max-height:calc(100% - 80px);overflow-y:auto}@media (max-height:430px){.frame[data-layout=split][data-short]{align-items:start}.frame[data-layout=split][data-short] .dock[data-kind=code]:not([data-risen]):not([data-note]) .dock-content{height:calc(var(--dock-h) - 50px)}.frame[data-layout=split][data-short] .dock[data-kind=code]:not([data-risen]) .editor{position:relative}.frame[data-layout=split][data-short] .dock[data-kind=code]:not([data-risen]) .ed-scroll{max-height:124px}.frame[data-layout=split][data-short] .dock[data-kind=code]:not([data-risen]) .ed-status{background:var(--c-code-locked);pointer-events:none;border-radius:6px;max-width:calc(100% - 12px);min-height:22px;padding:0 6px;font-size:14px;line-height:1.3;position:absolute;bottom:5px;right:6px}}.number--compact{height:40px}.number--compact .number-label{white-space:nowrap;flex:none;font-size:16px;font-weight:600}.number--compact .number-input{flex:1 1 0;width:auto;min-width:0;height:36px;font-size:18px}.dock[data-kind=number] .feedback,.dock[data-kind=program] .feedback{max-height:calc(100% - 44px);padding:8px 14px;overflow-y:auto}.dock[data-kind=program][data-risen] .dock-input{justify-content:flex-start}.dock[data-kind=program][data-risen] .program-dock>:not(.editor--program){display:none}.dock[data-kind=program] .dock-result{top:78px}.dock[data-kind=program] .feedback{max-height:calc(100% - 120px)}.dock[data-kind=program][data-risen] .ed-scroll--program{max-height:76px}.bu-chip--code:active{border-color:var(--c-rule);box-shadow:inset 0 0 0 1.5px var(--c-rule)}.frame[data-phase=committed] .bu-chip--code,.frame[data-phase=checking] .bu-chip--code{opacity:.45;pointer-events:none}.boot{width:min(100vw - 32px,480px);min-height:100vh;min-height:100svh;padding:env(safe-area-inset-top) 0 calc(24px + env(safe-area-inset-bottom));grid-template-rows:44px auto minmax(196px,1fr) 160px 52px;grid-template-columns:minmax(0,1fr);row-gap:8px;margin:0 auto;display:grid}.boot-bar{background:var(--c-line);border-radius:3px;align-self:center;height:6px;margin:0 44px}.boot-title{color:var(--c-muted);margin:0;padding-top:8px;font-size:19px;font-weight:600;line-height:1.32}.boot-stage{border-radius:var(--radius);background:var(--c-panel);box-shadow:inset 0 0 0 1px var(--c-stage-border);max-height:560px}.boot-pill{border-radius:var(--radius-pill);border:1.5px solid var(--c-line-strong);grid-row:5}@media (min-width:600px){.boot{width:min(600px,100vw - 32px);padding-top:24px}.boot-title{font-size:22px;line-height:1.3}}@media (min-width:900px) and (min-aspect-ratio:5/4),(min-width:640px) and (max-height:500px){.boot{width:auto;height:100vh;padding:max(24px,50vh - 363.5px) 0;grid-template:"stage bar"44px"stage title""stage."1fr"stage."160px"stage pill"52px/min(600px,100vw - 104px - clamp(360px,38vw,480px)) clamp(360px,38vw,480px);justify-content:center;column-gap:40px;height:100svh;min-height:0;margin:0;padding:max(24px,50svh - 363.5px) 0}.boot-bar{grid-area:bar}.boot-title{grid-area:title}.boot-stage{grid-area:stage;max-height:none}.boot-pill{grid-area:pill}}:root{--bu-fill:.2s;--bu-refuse:.16s;--bu-lift:.24s;--bu-dead-end:.28s;--bu-grow:.12s;--bu-ghost:.3s;--bu-verdict:.6s;--bu-strike-clear:.12s;--bu-test-gap:.4s;--bu-beat-own:.28s;--bu-beat-no-undo:.2s;--bu-beat-undo:.16s;--bu-beat-crowded:.16s;--bu-beat-buggy-queens:.24s;--bu-beat-queens:.1s;--bu-beat-fast:.12s;--bu-hold:.6s;--bu-sheet:.22s;--bu-snap:.16s;--bu-ease:cubic-bezier(.22, 1, .36, 1);--bu-ease-snap:cubic-bezier(.34, 1.56, .64, 1)}@media (prefers-reduced-motion:reduce){:root{--bu-fill:0s;--bu-refuse:0s;--bu-lift:0s;--bu-dead-end:0s;--bu-grow:0s;--bu-ghost:0s;--bu-verdict:0s;--bu-strike-clear:0s;--bu-test-gap:0s;--bu-beat-own:0s;--bu-beat-no-undo:0s;--bu-beat-undo:0s;--bu-beat-crowded:0s;--bu-beat-buggy-queens:0s;--bu-beat-queens:0s;--bu-beat-fast:0s;--bu-hold:0s;--bu-sheet:0s;--bu-snap:0s}}:root{--bu-paper:#f7f3ea;--bu-ink:#1c1b19;--bu-panel:#ede8dc;--bu-sea:#dce6ea;--bu-ripple:#c3d3d9;--bu-red:#c8442b;--bu-blue:#2b5fb8;--bu-green:#3f8f4a;--bu-blue-tex:#12336e;--bu-green-tex:#1d5226;--bu-rule:#1e40af;--bu-slate:#475569;--bu-fold:#e4ddcd;--bu-fold-shadow:#1c1b1959;--bu-ghost-alpha:.4;--bu-font-ui:var(--font-ui);--bu-font-mono:var(--font-mono);--bu-fs:16px;--bu-dead:var(--bu-dead-end);--bu-ghosting:var(--bu-ghost);--bu-fade:var(--bu-strike-clear);--bu-bounce:var(--bu-ease-snap)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bu-paper:#12141a;--bu-ink:#ece8df;--bu-panel:#1b1f27;--bu-sea:#0e1a22;--bu-ripple:#1b3140;--bu-red:#f07a5f;--bu-blue:#7fa8f5;--bu-green:#79c784;--bu-blue-tex:#2c4f93;--bu-green-tex:#2f6b3a;--bu-rule:#8ab4ff;--bu-slate:#94a3b8;--bu-fold:#2a303b;--bu-fold-shadow:#0009}}:root[data-theme=dark]{--bu-paper:#12141a;--bu-ink:#ece8df;--bu-panel:#1b1f27;--bu-sea:#0e1a22;--bu-ripple:#1b3140;--bu-red:#f07a5f;--bu-blue:#7fa8f5;--bu-green:#79c784;--bu-blue-tex:#2c4f93;--bu-green-tex:#2f6b3a;--bu-rule:#8ab4ff;--bu-slate:#94a3b8;--bu-fold:#2a303b;--bu-fold-shadow:#0009}.bu-stage{background:var(--bu-paper);color:var(--bu-ink);font-family:var(--bu-font-ui);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;position:absolute;inset:0;overflow:hidden}.bu-stage-inner{position:absolute;inset:0}.bu-svg{width:100%;height:100%;display:block;overflow:visible}.bu-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.bu-svg text{font-family:var(--bu-font-ui);font-size:var(--bu-fs);text-anchor:middle;dominant-baseline:central;fill:var(--bu-ink);pointer-events:none;font-weight:500}.bu-sea{fill:var(--bu-sea)}.bu-ripple{fill:none;stroke:var(--bu-ripple);stroke-width:1px;stroke-linecap:round}.bu-land{fill:var(--bu-paper)}.bu-borders{fill:none;stroke:var(--bu-ink);stroke-width:1.5px;stroke-linecap:square}.bu-coast{fill:none;stroke:var(--bu-ink);stroke-width:2px;stroke-linecap:square}.bu-paint--red{fill:var(--bu-red)}.bu-paint--blue{fill:var(--bu-blue)}.bu-paint--green{fill:var(--bu-green)}.bu-paint--other{fill:var(--bu-slate)}.bu-tex--blue{stroke:var(--bu-blue-tex);stroke-width:1.1px}.bu-tex--green{fill:var(--bu-green-tex)}.bu-stroke--red{stroke:var(--bu-red)}.bu-stroke--blue{stroke:var(--bu-blue)}.bu-stroke--green{stroke:var(--bu-green)}.bu-stroke--other{stroke:var(--bu-slate)}.bu-fillgroup{transition:opacity var(--bu-ghosting) var(--bu-ease)}.bu-fillgroup.is-ghost{opacity:var(--bu-ghost-alpha)}.bu-pour{transform-box:fill-box}.bu-pour.is-new{animation:bu-pour var(--bu-fill) var(--bu-ease) both}@keyframes bu-pour{0%{opacity:.6;transform:scale(.08)}to{opacity:1;transform:scale(1)}}.bu-peel{transform-box:fill-box;animation:bu-peel var(--bu-lift) var(--bu-ease) both;pointer-events:none}@keyframes bu-peel{0%{opacity:.95;transform:scale(1)}to{opacity:0;transform:scale(.05)}}.bu-ghost-outline{fill:none;stroke:var(--bu-slate);stroke-width:1.5px;stroke-dasharray:5 3;animation:bu-appear var(--bu-ghosting) var(--bu-ease) both}.bu-split{stroke:var(--bu-slate);stroke-width:1.5px;stroke-dasharray:4 3}.bu-tag rect{fill:var(--bu-paper);stroke:var(--bu-slate);stroke-width:1.25px}.bu-svg .bu-tag text{fill:var(--bu-slate);font-weight:600}.bu-tag-leader{stroke:var(--bu-slate);stroke-width:1.25px;stroke-linecap:round}.bu-tag--ghost{animation:bu-appear var(--bu-ghosting) var(--bu-ease) both}.bu-tag--named rect{stroke:var(--bu-ink);stroke-width:1.5px}.bu-svg .bu-tag--named text{fill:var(--bu-ink)}.bu-open{fill:none;stroke:var(--bu-ink);stroke-width:2.5px;animation:bu-pulse .56s var(--bu-ease) 2}.bu-open--hand{stroke:var(--bu-rule);stroke-width:3px;animation:1.6s ease-in-out infinite bu-open-hand}@keyframes bu-open-hand{0%,to{opacity:1}50%{opacity:.35}}.bu-ring{fill:none;stroke:var(--bu-slate);stroke-width:3px;animation:bu-ring var(--bu-dead) var(--bu-ease) both}@keyframes bu-ring{0%{opacity:0}to{opacity:1}}.bu-queried{fill:none;stroke:var(--bu-ink);stroke-width:3px}.bu-fold-cut{fill:var(--bu-paper)}.bu-fold-flap{fill:var(--bu-fold);stroke:var(--bu-ink);stroke-width:1px;stroke-linejoin:round}.bu-fold-shadow{fill:none;stroke:var(--bu-fold-shadow);stroke-width:1px}.bu-fold{animation:bu-appear var(--bu-lift) var(--bu-ease) both}.bu-flash{fill:none;pointer-events:none;animation:bu-flash var(--bu-refuse) linear both}.bu-flash--border{stroke-width:4px;stroke-linecap:round}.bu-flash--region,.bu-flash--square{stroke:var(--bu-slate);stroke-width:3px;fill:var(--bu-slate);fill-opacity:.18}@keyframes bu-flash{0%{opacity:0}25%{opacity:1}70%{opacity:1}to{opacity:0}}.bu-mark{fill:none;pointer-events:none}.bu-mark--pulse{stroke:var(--bu-ink);stroke-width:3px;animation:bu-pulse-out .56s var(--bu-ease) 2 both}.bu-mark--ring{stroke:var(--bu-slate);stroke-width:3px;animation:bu-pulse .56s var(--bu-ease) 2}.bu-mark--flash,.bu-mark--strike{stroke:var(--bu-slate);stroke-width:3px;fill:var(--bu-slate);fill-opacity:.18;animation:bu-flash var(--bu-refuse) linear both}.bu-mark--lit{stroke:var(--bu-rule);stroke-width:3px}.bu-mark--ghost{stroke:var(--bu-slate);stroke-width:1.5px;stroke-dasharray:5 3}@keyframes bu-pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes bu-pulse-out{0%{opacity:0}40%{opacity:1}to{opacity:0}}@keyframes bu-appear{0%{opacity:0}to{opacity:1}}.bu-letter rect{fill:var(--bu-paper);stroke:var(--bu-ink);stroke-width:1.5px}.bu-svg .bu-letter text{font-weight:500}.bu-ordnum circle,.bu-ordnum path{fill:var(--bu-ink)}.bu-svg .bu-ordnum text{fill:var(--bu-paper);font-family:var(--bu-font-mono);font-weight:600}.bu-candidate-tile{fill:var(--bu-paper);stroke:var(--bu-ink);stroke-width:1.5px}.bu-candidate circle{stroke:none}.bu-svg .bu-candidate-word{font-weight:500}.bu-target{cursor:pointer;touch-action:manipulation;outline:none}.bu-target[aria-disabled=true]{cursor:default}.bu-hit,.bu-hit-reach{fill:#0000}.bu-focus{fill:none;stroke:var(--bu-rule);stroke-width:3px;opacity:0}.bu-target:focus-visible .bu-focus{opacity:1}@media (hover:hover){.bu-target:not([aria-disabled=true]):hover .bu-hit{fill:var(--bu-ink);fill-opacity:.06}}.bu-target:not([aria-disabled=true]):active .bu-hit{fill:var(--bu-ink);fill-opacity:.1}.bu-tile{fill:var(--bu-paper);stroke:var(--bu-ink);stroke-width:1.5px}.bu-svg .bu-tile-mono{font-family:var(--bu-font-mono);font-variant-numeric:tabular-nums;font-weight:500}.bu-svg .bu-tile-label{font-weight:600}.bu-counter{transform-box:fill-box;animation:bu-tick var(--bu-dead) var(--bu-ease)}@keyframes bu-tick{0%{transform:scale(.92)}60%{transform:scale(1.04)}to{transform:scale(1)}}.bu-verdict{transform-box:fill-box;animation:bu-land var(--bu-verdict) var(--bu-ease) both}.bu-verdict--slate .bu-tile{stroke:var(--bu-slate);stroke-width:2px}.bu-verdict--rule .bu-tile{stroke:var(--bu-rule);stroke-width:2px}@keyframes bu-land{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bu-svg .bu-foot-line{fill:var(--bu-slate);font-weight:600}.bu-numbers{animation:bu-land var(--bu-verdict) var(--bu-ease) both}.bu-test-disc{fill:var(--bu-paper);stroke:var(--bu-slate);stroke-width:1.5px;stroke-dasharray:3 2}.bu-test.is-pass .bu-test-disc{stroke:var(--bu-rule);stroke-dasharray:none;stroke-width:2px}.bu-test.is-fail .bu-test-disc{stroke:var(--bu-slate);stroke-dasharray:none;stroke-width:2px}.bu-test.is-featured .bu-test-disc{stroke-width:3.5px}.bu-test-glyph{fill:none;stroke:var(--bu-rule);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.is-fail .bu-test-glyph,.is-fail>.bu-test-glyph{stroke:var(--bu-slate)}.bu-test.is-pass,.bu-test.is-fail{animation:bu-appear var(--bu-fade) var(--bu-ease) both}.bu-edge{stroke:var(--bu-ink);stroke-width:1.5px}.bu-edge--path{stroke:var(--bu-rule);stroke-width:3px;stroke-linecap:round}.bu-node-refused{fill:var(--bu-paper);stroke:var(--bu-slate);stroke-width:1.5px}.bu-node-cross{stroke:var(--bu-slate);stroke-width:2px;stroke-linecap:round}.bu-node-hollow{fill:var(--bu-paper)}.bu-node-ring{fill:none;stroke-width:3px;stroke-linecap:round}.bu-node-edge{fill:none;stroke:var(--bu-ink);stroke-width:1px}.bu-node-edge--path{stroke:var(--bu-rule);stroke-width:2px}.bu-node-lit{fill:none;stroke:var(--bu-rule);stroke-width:2.5px}.bu-node.is-lit .bu-node-lit{transform-box:fill-box;transform-origin:50%;animation:bu-grow var(--bu-grow) var(--bu-ease) both}.bu-node-picked{fill:none;stroke:var(--bu-rule);stroke-width:3px}.bu-node-picked.is-missed{stroke:var(--bu-slate);stroke-dasharray:3 3}.bu-node.is-grown .bu-node-body{transform-box:fill-box;transform-origin:50%;animation:bu-grow var(--bu-grow) var(--bu-ease) both}@keyframes bu-grow{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}.bu-svg .bu-tree-label{font-weight:600}.bu-frame{fill:none;stroke:var(--bu-slate);stroke-width:1.25px;stroke-dasharray:4 4}.bu-square{fill:var(--bu-paper)}.bu-square.is-dark{fill:var(--bu-panel)}.bu-board-edge{fill:none;stroke:var(--bu-ink);stroke-width:1.5px}.bu-svg .bu-board-nums text{font-family:var(--bu-font-mono);fill:var(--bu-ink)}.bu-attacked{fill:var(--bu-slate);opacity:.55}.bu-crown{fill:var(--bu-ink)}.bu-queen.is-solution .bu-crown{fill:var(--bu-rule)}.bu-queen .bu-land-queen{transition:opacity var(--bu-ghosting) var(--bu-ease)}.bu-queen.is-ghost .bu-land-queen{opacity:var(--bu-ghost-alpha)}.bu-land-queen.is-new .bu-crown{transform-box:fill-box;transform-origin:50%;animation:bu-grow var(--bu-fill) var(--bu-ease) both}.bu-tray{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.bu-tray--paints{flex-wrap:nowrap;gap:10px}.bu-tray--code{overscroll-behavior-x:contain;scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;padding:4px 2px;overflow-x:auto}.bu-tray--code .bu-chip{scroll-snap-align:start;flex:none}.bu-tray--code{scroll-snap-type:x proximity;scroll-padding-inline:2px}.bu-tray--code[data-fade=right]{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000)}.bu-tray--code[data-fade=left]{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 24px),#0000);mask-image:linear-gradient(270deg,#000 calc(100% - 24px),#0000)}.bu-tray--code[data-fade=both]{-webkit-mask-image:linear-gradient(90deg,#0000,#000 24px calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#0000,#000 24px calc(100% - 24px),#0000)}.bu-chip{border:1.5px solid var(--bu-slate);background:var(--bu-paper);min-width:44px;min-height:44px;color:var(--bu-ink);font-family:var(--bu-font-ui);font-size:var(--bu-fs);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:999px;justify-content:center;align-items:center;margin:0;padding:0 14px;font-weight:500;display:inline-flex;position:relative}.bu-chip:focus-visible{outline:3px solid var(--bu-rule);outline-offset:2px}.bu-chip[aria-disabled=true]{cursor:default}@media (hover:hover){.bu-chip:not([aria-disabled=true]):hover{background:var(--bu-panel)}}.bu-chip:not([aria-disabled=true]):active .bu-chip-face{transform:scale(.96)}.bu-chip--paint{flex:1 1 0;max-width:108px;padding:0 10px}.bu-chip--paint.is-next{border-color:var(--bu-ink);box-shadow:0 0 0 1px var(--bu-ink), inset 0 0 0 .5px var(--bu-ink)}.bu-chip-face{align-items:center;gap:8px;display:inline-flex;position:relative}.bu-chip-face.is-bounce{animation:bu-bounce var(--bu-refuse) var(--bu-bounce)}@keyframes bu-bounce{0%{transform:translateY(0)}45%{transform:translateY(-5px)}to{transform:translateY(0)}}.bu-swatch{flex:0 0 22px;width:22px;height:22px}.bu-swatch-edge{fill:none;stroke:var(--bu-ink);stroke-width:1px}.bu-chip--paint.is-refused .bu-chip-word,.bu-chip--paint.is-lifted .bu-chip-word{color:var(--bu-slate)}.bu-chip--paint.is-spent .bu-swatch{opacity:.45}.bu-strike{background:var(--bu-slate);opacity:0;height:2px;transition:opacity var(--bu-fade) var(--bu-ease);border-radius:1px;margin-top:-1px;position:absolute;top:50%;left:-3px;right:-3px;transform:rotate(-10deg)}.bu-strike.is-on{opacity:1}.bu-chip-mark{border-radius:inherit;border:3px solid var(--bu-ink);pointer-events:none;opacity:0;position:absolute;inset:-5px}.bu-chip-mark.bu-mark--pulse,.bu-chip-mark.bu-mark--ring{animation:bu-pulse-out .56s var(--bu-ease) 2 both}.bu-chip-mark.bu-mark--flash,.bu-chip-mark.bu-mark--strike{border-color:var(--bu-slate);animation:bu-flash var(--bu-refuse) linear both}.bu-chip--code{font-family:var(--bu-font-mono);white-space:pre;padding:0 12px}.bu-chip--code[aria-pressed=true]{border-color:var(--bu-rule);box-shadow:inset 0 0 0 1.5px var(--bu-rule)}.bu-stage[data-reduced] *,.bu-tray-wrap[data-reduced] *{transition:none!important;animation:none!important}.bu-stage[data-reduced] .bu-peel,.bu-stage[data-reduced] .bu-flash{display:none}@media (prefers-reduced-motion:reduce){.bu-stage *,.bu-tray-wrap *{transition:none!important;animation:none!important}.bu-stage .bu-peel,.bu-stage .bu-flash{display:none}}
