.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:-moz-fit-content;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/botgineer/assets/nunito-cyrillic-ext-700-normal-BuR0mlCG.woff2)format("woff2"),url(/botgineer/assets/nunito-cyrillic-ext-700-normal-DfoqN4Gs.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:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/botgineer/assets/nunito-cyrillic-700-normal-DP36NgGt.woff2)format("woff2"),url(/botgineer/assets/nunito-cyrillic-700-normal-DfHRUDv-.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/botgineer/assets/nunito-vietnamese-700-normal-Ch8EUCfz.woff2)format("woff2"),url(/botgineer/assets/nunito-vietnamese-700-normal-C9SQsXvj.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:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/botgineer/assets/nunito-latin-ext-700-normal-BWeMsAzO.woff2)format("woff2"),url(/botgineer/assets/nunito-latin-ext-700-normal-D4woHhbd.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:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/botgineer/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/botgineer/assets/nunito-latin-700-normal-OcDqTBcA.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:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/botgineer/assets/nunito-cyrillic-ext-800-normal-B-cvGohL.woff2)format("woff2"),url(/botgineer/assets/nunito-cyrillic-ext-800-normal-pjRatrRO.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:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/botgineer/assets/nunito-cyrillic-800-normal-D3igD7Kl.woff2)format("woff2"),url(/botgineer/assets/nunito-cyrillic-800-normal-DymMgApb.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/botgineer/assets/nunito-vietnamese-800-normal-D_CZYdm9.woff2)format("woff2"),url(/botgineer/assets/nunito-vietnamese-800-normal-Dz0hZPb5.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:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/botgineer/assets/nunito-latin-ext-800-normal-CtU8tJOV.woff2)format("woff2"),url(/botgineer/assets/nunito-latin-ext-800-normal-CDcxIxx8.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:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/botgineer/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/botgineer/assets/nunito-latin-800-normal-D-J0wlBY.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:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/botgineer/assets/nunito-cyrillic-ext-900-normal-BLeVovcl.woff2)format("woff2"),url(/botgineer/assets/nunito-cyrillic-ext-900-normal-DKFql_-q.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:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/botgineer/assets/nunito-cyrillic-900-normal-CWPcV0_V.woff2)format("woff2"),url(/botgineer/assets/nunito-cyrillic-900-normal-Dr1fjxoU.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/botgineer/assets/nunito-vietnamese-900-normal-D6LWQAy_.woff2)format("woff2"),url(/botgineer/assets/nunito-vietnamese-900-normal-WV2-fBew.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:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/botgineer/assets/nunito-latin-ext-900-normal-Dllsvgjo.woff2)format("woff2"),url(/botgineer/assets/nunito-latin-ext-900-normal-CTBZd6bf.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:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/botgineer/assets/nunito-latin-900-normal-BVB1fGs6.woff2)format("woff2"),url(/botgineer/assets/nunito-latin-900-normal-CVn49sIn.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:#f3f6fd;--surface:#fff;--ink:#16203a;--ink-soft:#5b6784;--line:#dde3f2;--brand:#4b6ef5;--brand-soft:#eef2ff;--brand-line:#c9d4ff;--brand-deep:#3453cc;--brand-ink:#fff;--mira:#b84c0f;--good:#1f9d55;--warn:#9a5b00;--warn-bg:#fdf1dc;--bad:#c0392b;--bad-bg:#fdeceb;--value:#2f7f6a;--value-deep:#1f6b57;--value-bg:#eaf7f2;--value-line:#b6ded1;--ref:#9a6a12;--ref-deep:#7d5409;--ref-bg:#fff8e8;--ref-line:#f0d9a8;--radius:14px;--shadow:0 1px 2px #16203a0f, 0 6px 20px #16203a0f;--gutter:10px;--mono:ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);margin:0;font:15px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}body.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.quiet{color:var(--ink-soft);font-size:12px}.none{color:var(--ink-soft);margin:0;font-size:13px}.app{flex-direction:column;height:100%;min-height:0;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:10px;padding:9px 14px;display:flex}.topbar h1{letter-spacing:-.01em;margin:0;font-size:17px}.spacer{flex:1}.routes{gap:4px;display:flex}.badge{color:var(--ink-soft);background:var(--bg);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px}.alert{background:var(--bad-bg);color:var(--bad);border-bottom:1px solid var(--line);flex:none;margin:0;padding:10px 16px}button{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:999px;padding:5px 13px;font-size:14px}button:hover:not(:disabled){border-color:var(--brand)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink);font-weight:600}button.route{color:var(--ink-soft);background:0 0;border-color:#0000;padding:4px 12px;font-size:13px}button.route.current{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand);font-weight:600}.workbench{grid-template-columns:var(--scene-w,560px) var(--gutter) minmax(360px, 1fr);flex:1;grid-template-rows:minmax(0,1fr);min-height:0;padding:12px;display:grid}.pane{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;min-height:0;box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.pane-head{border-bottom:1px solid var(--line);background:linear-gradient(var(--surface), var(--bg));flex:none;align-items:baseline;gap:8px;padding:7px 12px;display:flex}.pane-title{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);font-size:12.5px;font-weight:600}.pane-note{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.gutter{background:0 0;border:0;flex:none;padding:0;position:relative}.gutter:after{content:"";background:var(--line);border-radius:999px;margin:auto;transition:background .12s;position:absolute;inset:0}.gutter.vertical{cursor:col-resize;width:var(--gutter)}.gutter.vertical:after{width:3px;height:46px}.gutter.horizontal{cursor:row-resize;height:var(--gutter)}.gutter.horizontal:after{width:46px;height:3px}.gutter:hover:after,.gutter:focus-visible:after{background:var(--brand)}.gutter:focus-visible{outline:2px solid var(--brand);outline-offset:-2px;border-radius:4px}.scene-panel{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.stage{background:radial-gradient(120% 80% at 50% 8%,#fff 0%,#eef3ff 55%,#e4ebfb 100%);flex:1;min-height:0;position:relative;overflow:hidden;container:stage/inline-size}.stage>.props-slot{left:var(--prop-x);width:var(--prop-w);bottom:var(--prop-b)}.actor{transition:transform .26s cubic-bezier(.2,.9,.3,1.2),filter .2s;position:absolute;transform:translate(-50%,-50%)}.actor .character{width:100%;height:auto;display:block}.actor.crate.picked{filter:drop-shadow(0 10px 12px #b98b1d66);transform:translate(-50%,-50%)translateY(-22px)rotate(-3deg)}.crate-body{text-align:center;background:#f0d9a8;border:2px solid #c9a86a;border-radius:10px;padding:12px 6px}.actor.crate.picked .crate-body{background:#ffd166;border-color:#b98b1d}.crate-label{font-weight:700;font-family:var(--mono);font-size:13px}.plinth-top{background:linear-gradient(#d7def3,#c3cde9);border:1px solid #b3bedd;border-radius:8px;height:16px}.bulb{aspect-ratio:1;background:#d9dfef;border:2px solid #b9c3de;border-radius:999px;place-items:center;transition:background .2s,box-shadow .2s;display:grid}.actor.lamp.lit .bulb{background:#ffd166;border-color:#e0a500;box-shadow:0 0 0 6px #ffd1664d,0 0 22px #ffbe28bf}.bulb .glow{opacity:.45;background:#fff;border-radius:999px;width:42%;height:42%}.battery{position:relative}.gauge-cap{background:#e4eaf7;border:2px solid #b9c3de;border-bottom:0;border-radius:4px 4px 0 0;width:34%;height:7px;margin:0 auto;display:block}.gauge-body{aspect-ratio:.55;background:#eef2fb;border:2px solid #b9c3de;border-radius:8px;place-items:end center;width:100%;display:grid;position:relative;overflow:hidden}.gauge-scale{background:repeating-linear-gradient(0deg,#0000 0 19%,#7888af38 19% calc(19% + 1px));position:absolute;inset:0}.gauge-body[data-level=none]{background:repeating-linear-gradient(-45deg,#7888af1a 0 5px,#0000 5px 11px),#eef2fb;border-style:dashed}.gauge-body .fill{background:linear-gradient(#5fd39a,#1f9d55);transition:height .32s cubic-bezier(.2,.8,.3,1);position:absolute;bottom:0;left:0;right:0}.gauge-text{font-family:var(--mono);color:#16203a;padding:2px 0 3px;font-size:11px;font-weight:700;position:relative}.gauge-body[data-level=none]{place-items:center}.gauge-body[data-level=none] .gauge-text{color:#5b6784;padding:0;font-size:22px}.stage .actor.act-hop>:is(.bulb,.battery,.sign-body,.crate-body,.plinth-top){transform-origin:50% 100%;animation:.7s cubic-bezier(.3,.7,.4,1) both hop-small}.stage .actor.act-wave>:is(.bulb,.battery,.sign-body,.crate-body,.plinth-top){transform-origin:50% 90%;animation:1s ease-in-out both wave}.sign-body{color:#eaf0ff;font-family:var(--mono);text-align:center;text-overflow:ellipsis;white-space:nowrap;background:#16203a;border-radius:8px;padding:6px 10px;font-size:13px;overflow:hidden}@container stage (width<=480px){.sign-body{padding:5px 4px;font-size:11px}}.stage-foot{z-index:2;border-top:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:none;background:#ffffffed;padding:7px 12px 8px;position:absolute;bottom:0;left:0;right:0}.waiting{color:var(--warn);margin:0;padding-left:18px;font-size:12.5px}.robot-panel{flex-direction:column;flex:1;min-height:0;display:flex}.views{flex-direction:column;flex:auto;min-height:0;display:flex}.views .view{flex-direction:column;min-width:0;min-height:0;display:flex}.views .instrument{flex:auto}.views .memory-view{height:var(--memory-h,280px);border-top:1px solid var(--line);flex:none;max-height:calc(100% - 96px)}.robot-panel[data-mode=console] .views .memory-view{height:var(--memory-h,62%)}.robot-panel .editor{flex-direction:column;flex:1;min-height:0;display:flex}.cm-host{flex:1;min-height:0;overflow:hidden}.cm-host .cm-editor{height:100%}kbd{font-family:var(--mono);background:var(--surface);border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:0 4px;font-size:11px}.transport{border-top:1px solid var(--line);background:var(--surface);flex:none;align-items:center;gap:8px;padding:7px 12px;display:flex}.transport .scrub{flex:1;min-width:60px;display:flex}.transport .scrub input{width:100%}.step-label{white-space:nowrap}.transcript{color:#dfe6f5;height:108px;font-family:var(--mono);border-top:1px solid var(--line);background:#131a2a;flex:none;padding:8px 12px;font-size:12.5px;overflow:auto}.transcript .none{color:#7f8db0}.t-line{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.t-line.err{color:#ff9a8f}.t-line.note{color:#7f8db0}.memory{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.memory-empty{color:var(--ink-soft);pointer-events:none;margin:0;padding:14px;position:absolute;inset:0}.graph{touch-action:pan-y;background:radial-gradient(120% 90% at 30% 0,#fff 0%,#f8faff 55%,#f3f6fd 100%);flex:auto;min-height:0;position:relative;overflow:hidden}.graph .edges,.graph .world{position:absolute;inset:0}.graph .edges{pointer-events:none;width:100%;height:100%;overflow:visible}.graph .world{transform-origin:0 0}.graph-more{z-index:3;box-sizing:border-box;pointer-events:none;visibility:hidden;opacity:0;align-items:flex-end;width:56px;padding-bottom:10px;transition:opacity .18s,visibility 0s .18s;display:flex;position:absolute;top:0;bottom:0}.graph-more.right{background:linear-gradient(90deg,#f3f6fd00,#f3f6fd 85%);justify-content:flex-end;right:0}.graph-more.left{background:linear-gradient(270deg,#f8faff00,#f8faff 85%);justify-content:flex-start;width:40px;left:0}.graph[data-more-right=yes] .graph-more.right,.graph[data-more-left=yes] .graph-more.left{visibility:visible;opacity:1;transition:opacity .18s}.graph-more button{pointer-events:auto;border:1px solid var(--brand-line);background:var(--surface);box-shadow:0 2px 0 var(--brand-line);color:var(--brand-deep);white-space:nowrap;cursor:pointer;border-radius:999px;margin:0 6px;padding:4px 9px;font:800 12px/1.2 Nunito,ui-rounded,system-ui,sans-serif}.graph-more button:focus-visible{outline:2px solid var(--brand-deep);outline-offset:2px}.edge path{stroke:#b9c4de;stroke-width:1.6px;fill:none;transition:stroke .16s,stroke-width .16s}.edge marker path,.edges marker path{fill:#b9c4de}.has-pick .edge path{stroke:#dde3f2}.has-pick .edge.lit path{stroke:var(--brand);stroke-width:2.4px}.edge-label{font-family:var(--mono);fill:#6f7ea3;paint-order:stroke;stroke:#fff;stroke-width:3.5px;stroke-linejoin:round;font-size:11px;transition:fill .16s}.has-pick .edge .edge-label{fill:#c3cbe0}.has-pick .edge.lit .edge-label{fill:var(--brand);font-size:12px;font-weight:700}.node{white-space:nowrap;font-family:var(--mono);border:1px solid var(--line);background:var(--surface);cursor:pointer;will-change:transform;border-radius:999px;align-items:baseline;gap:6px;padding:3px 12px;font-size:12.5px;transition:opacity .2s,box-shadow .2s,padding .2s,font-size .2s;display:inline-flex;position:absolute;top:0;left:0}.node .scope{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);font-size:10px}.node.name{background:var(--brand-soft);border-color:var(--brand-line);color:#2b47b8;font-weight:600}.node.object{border-radius:10px;flex-direction:column;align-items:stretch;gap:1px;padding:3px 8px 5px}.node.object .meta{justify-content:space-between;align-items:center;gap:7px;min-height:11px;line-height:1;display:flex}.node.object .repr{text-align:center;font-size:1.18em;font-weight:700;line-height:1.2;display:block}.node.object .type{font-size:.72em}.node.object .handle{opacity:0;font-size:.68em;font-weight:700;transition:opacity .12s}.node.object:hover .handle,.node.object:focus-visible .handle,.node.object.picked .handle{opacity:1}.node.object .repr{text-overflow:ellipsis;max-width:24ch;overflow:hidden}.node.object.picked .repr{max-width:46ch}.node.object.value{background:var(--value-bg);border-color:var(--value-line);color:var(--value-deep)}.node.object.reference{background:var(--ref-bg);border-color:var(--ref-line);color:var(--ref-deep)}.node.picked{z-index:2;padding:7px 16px;font-size:15px;box-shadow:0 0 0 3px #4b6ef547,0 10px 24px #16203a29}.node.dimmed{opacity:.28}@media (prefers-reduced-motion:no-preference){.node{animation:.26s ease-out node-in}.edge path{animation:.32s ease-out edge-in}@keyframes node-in{0%{opacity:0;scale:.86}}@keyframes edge-in{0%{opacity:0}}}.node.ghost{pointer-events:none;cursor:default;opacity:0;z-index:0}@media (prefers-reduced-motion:no-preference){.node.ghost{animation:1.1s ease-in forwards node-out}@keyframes node-out{0%{opacity:1}18%{opacity:.55}55%{opacity:.5;translate:0;scale:1}to{opacity:0;translate:0 12px;scale:.88}}}.node .partial{text-transform:uppercase;letter-spacing:.05em;color:var(--warn);font-size:10px}.node.marked:after{content:"";border-radius:inherit;pointer-events:none;box-shadow:0 0 0 2.5px var(--mark,var(--brand)), 0 0 14px 3px var(--mark-glow,#4b6ef566);position:absolute;inset:-4px}.node.object.marked:after{border-radius:13px}.edge.marked path{stroke:var(--mark,var(--brand));stroke-width:2.4px}.edges .tip-marked path{fill:var(--mark,var(--brand))}@media (prefers-reduced-motion:no-preference){.node.marked:after{animation:1.3s ease-in-out infinite mark-pulse}@keyframes mark-pulse{50%{opacity:.45}}}.views .memory-view{position:relative}.memory-demo-frame{z-index:4;pointer-events:none;border:1.5px dashed #9aa7c7;border-radius:10px;position:absolute;inset:12px 8px 8px}.memory-demo-frame .demo-tag{color:var(--ink);letter-spacing:.02em;background:#e8eefc;border-radius:6px;align-items:center;gap:4px;padding:0 7px 0 5px;font:800 10.5px/18px Nunito,ui-rounded,system-ui,sans-serif;display:inline-flex;position:absolute;top:-10px;right:10px}.memory-demo-frame .demo-tag .mark{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px;margin:0}.memory-tools{z-index:5;gap:6px;display:flex;position:absolute;top:7px;right:7px}.memory-reset{border:1px solid var(--line);background:var(--surface);height:28px;color:var(--ink-soft);opacity:.8;cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:0 10px 0 8px;font:700 12px/1 Nunito,ui-rounded,system-ui,sans-serif;transition:opacity .14s,color .14s,border-color .14s;display:inline-flex}.memory-reset svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.memory-reset:hover:not(:disabled),.memory-reset:focus-visible{opacity:1;color:var(--brand-deep);border-color:var(--brand-line)}.memory-reset:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.memory-reset:disabled{opacity:.3;cursor:default}.memory-view:has(.memory.demo) .memory-tools{display:none}.memory-tools.pulse{outline:3px solid var(--brand);outline-offset:3px;border-radius:999px}@media (prefers-reduced-motion:no-preference){.memory-tools.pulse{animation:1.3s ease-in-out infinite tools-pulse}@keyframes tools-pulse{50%{outline-color:var(--brand-line);outline-offset:5px}}.memory-reset:hover:not(:disabled) svg{transition:rotate .22s;rotate:-40deg}}.character{display:block;overflow:visible}.robot .body{fill:var(--brand)}.robot .visor{fill:#101a36}.robot .antenna-stem{stroke:#8fa6ff;stroke-width:5px;stroke-linecap:round}.robot .antenna-tip{fill:#ffd166}.robot .foot{fill:#3552c9}.robot .eye-white{fill:#fff}.robot .eye-pupil{fill:#101a36}.robot .eye-line{stroke:#fff;stroke-width:4px;fill:none;stroke-linecap:round}.robot .mouth{stroke:#8fa6ff;fill:none;stroke-linecap:round}.robot .mouth-open{fill:#2a3a7a}.courier .skin{fill:#f4c6a0}.courier .hair{fill:#3a2a24}.courier .cap{fill:#1f9d55}.courier .torso{fill:#ff8b5e}.courier .eye-white{fill:#fff}.courier .eye-pupil{fill:#2b1f1a}.courier .eye-line{stroke:#2b1f1a;stroke-width:4px;fill:none;stroke-linecap:round}.courier .mouth{stroke:#9c4a3a;fill:none;stroke-linecap:round}.courier .mouth-open{fill:#7a3326}.crow .body{fill:#2b3350}.crow .wing{fill:#3d4870}.crow .feather{fill:#232a43}.crow .beak{fill:#f0b429}.crow .feet{stroke:#f0b429;stroke-width:4px;fill:none;stroke-linecap:round}.crow .eye-white{fill:#fff}.crow .eye-pupil{fill:#101a36}.crow .eye-line{stroke:#fff;stroke-width:4px;fill:none;stroke-linecap:round}.actor.robot,.actor.courier{container-type:inline-size}.character .mouth{vector-effect:non-scaling-stroke;stroke-width:2.85714cqw}.character .blink,.character .eye-open,.character .pupil,.character .eye-happy,.character .mouth-shape,.character .mouth-open{transform-box:fill-box;transform-origin:50%}.character .eye-open,.character .pupil,.character .eye-happy,.character .mouth-shape,.character .face,.crow .head{transition:transform .28s cubic-bezier(.2,.9,.3,1.2),opacity .18s}.character .eye-happy{opacity:0;transform:translateY(2px)scaleY(.4)}.character.mood-attentive .eye-open,.character.mood-confused .eye-open{transform:scale(1.14)}.character.mood-attentive .pupil,.character.mood-confused .pupil{transform:translateY(-1px)}.character.mood-thinking .eye-open{transform:scaleY(.22)}.character.mood-pleased .eye-open,.character.mood-celebrate .eye-open{opacity:0;transform:scaleY(.2)}.character.mood-pleased .eye-happy,.character.mood-celebrate .eye-happy{opacity:1;transform:none}.character .mouth-shape{transform:scale(.78,.25)}.character.mood-attentive .mouth-shape{transform:scale(.78,.4)}.character.mood-pleased .mouth-shape{transform:scaleY(1.1)}.character.mood-celebrate .mouth-shape{transform:scale(1.22,1.75)}.character.mood-thinking .mouth-shape{transform:translate(2px)scale(.8,-.45)}.character.mood-confused .mouth-shape{transform:rotate(-6deg)scale(.9,-.85)}.robot.mood-thinking .face{transform:translate(3px,-2px)}.crow .head,.crow .head-idle{transform-box:view-box;transform-origin:0 -24px}.crow.mood-thinking .head{transform:rotate(-6deg)}.crow.mood-pleased .head{transform:rotate(-3deg)}.crow.mood-celebrate .head{transform:rotate(-8deg)}.crow.mood-confused .head{transform:rotate(7deg)}.character .blink{animation:blink var(--blink-dur,9s) linear var(--blink-delay,0s) infinite}@keyframes blink{0%,11.4%,12.6%,37.4%,38.6%,40.6%,41.8%,76.4%,77.6%,to{transform:none}12%,38%,41.2%,77%{transform:scaleY(.1)}}.character .breathe,.character .react,.robot .antenna,.crow .tail,.crow .wing,.crow .beak-lower{transform-box:view-box}.robot .breathe,.robot .react{transform-origin:0 62px}.crow .breathe,.crow .react{transform-origin:0 76px}.courier .breathe,.courier .react{transform-origin:0 72px}.character .breathe{animation:breathe var(--breathe-dur,3.8s) ease-in-out var(--breathe-delay,0s) infinite}@keyframes breathe{0%,to{transform:none}50%{transform:scale(1.012,1.024)}}.robot .antenna{transform-origin:0 -62px;animation:bob var(--breathe-dur,3.8s) ease-in-out calc(var(--breathe-delay,0s) + 90ms) infinite}@keyframes bob{0%,to{transform:none}30%{transform:rotate(-3deg)}70%{transform:rotate(2.5deg)}}.crow .tail{transform-origin:26px 40px;animation:tail var(--breathe-dur,3.8s) ease-in-out calc(var(--breathe-delay,0s) + 80ms) infinite}@keyframes tail{0%,to{transform:none}50%{transform:rotate(-4deg)}}.crow .head-idle{animation:glance 11s ease-in-out var(--glance-delay,0s) infinite}@keyframes glance{0%,58%,72%,to{transform:none}62%,68%{transform:rotate(-10deg)translateY(-1px)}}.crow .beak-lower{transform-origin:28px -20px}.crow .beak-lower.talking{animation:.15s ease-in-out 10 alternate peck}@keyframes peck{to{transform:rotate(18deg)}}.character .mouth-open{opacity:0}.character .mouth-open.talking{animation:.17s ease-in-out 8 alternate jaw}@keyframes jaw{0%{opacity:0;transform:scaleY(.2)}to{opacity:1;transform:none}}.actor.cheer .react{animation:.82s cubic-bezier(.3,.7,.4,1) both hop}.actor.crow.cheer .react,.actor.courier.cheer .react{animation:.7s cubic-bezier(.3,.7,.4,1) .16s both hop-small}.crow .wing{transform-origin:-26px 18px}.actor.crow.cheer .wing{animation:.12s ease-in-out .3s 6 alternate flap}@keyframes hop{40%{translate:0 -8px}}@keyframes hop-small{0%{transform:none}20%{transform:scale(1.06,.9)}46%{animation-timing-function:ease-in;transform:translateY(-14px)scale(.96,1.05)}78%{transform:scale(1.05,.94)}to{transform:none}}@keyframes flap{50%{transform:rotate(-28deg)}}.stage{animation:.32s ease-out both stage-in}@keyframes stage-in{0%{opacity:0}}.actor .character{animation:step-in .52s cubic-bezier(.2, .9, .3, 1.2) calc(var(--order,0) * 70ms + 80ms) both}@keyframes step-in{0%{opacity:0;transform:translateY(-6px)}}.actor.robot.standing:before,.actor.crow.standing:before,.actor.courier.standing:before{animation:stage-in .36s ease-out calc(var(--order,0) * 70ms + 80ms) both}.glued{white-space:nowrap}code.inline{font-family:var(--mono);background:#16203a0f;border-radius:5px;padding:1px 5px;font-size:.92em}@media (max-width:1000px){body{overflow:auto}.app{height:auto;min-height:100%}.workbench{grid-template-rows:auto auto;grid-template-columns:1fr;gap:12px}.workbench>.gutter{display:none}.scene-pane{height:clamp(480px,30vw + 360px,640px)}@media (max-width:506px){.scene-pane:has(.stage[data-props]){height:max(764px,92vw + 404px)}}.robot-pane{height:640px}.robot-panel[data-mode=console] .views .memory-view{height:var(--memory-h,calc(100% - 176px))}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.gauge-body .fill{transition:height .18s ease-out!important}.bulb{transition:background .16s,box-shadow .16s!important}.actor{transition:filter .16s!important}.actor.standing:before,.character .eye-open,.character .eye-happy{transition:opacity .16s!important}.stage,.actor .character,.stage>.advance{animation:.2s ease-out both fade-in!important}.actor.crate.picked{transform:translate(-50%,-50%)translateY(-22px)}.prop-layer[data-role=current]{animation:prop-ask-in .2s linear var(--beat,0s) both!important}.prop-layer[data-role=leaving]{animation:prop-leave-calm var(--beat-len) linear both!important}.stage .prop-ask{animation:prop-ask-in .2s linear var(--beat,0s) both!important}}button.tidy{float:right;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);background:0 0;border-color:#0000;padding:0 8px;font-size:10px}button.tidy:hover{background:var(--surface);border-color:var(--line)}.chip.element.value{background:var(--value-bg);border-color:var(--value-line);color:var(--value)}.chip.element.reference{background:var(--ref-bg);border-color:var(--ref-line);color:var(--ref)}.chip.element .to{opacity:.55;font-size:11px}.chip .handle{letter-spacing:.01em;font-weight:700}.chip.element .preview{opacity:.62;font-size:11.5px}.focus-pill .handle{opacity:.85;font-size:15px;font-weight:800}.floor{background:linear-gradient(#d8e0f4,#c9d3ec);border-top:1px solid #bdc8e4;position:absolute;bottom:0;left:0;right:0}.floor:before{content:"";pointer-events:none;background:linear-gradient(#34467000,#34467013);height:56px;position:absolute;bottom:100%;left:0;right:0}.floor[data-look=belt]:before{display:none}.floor[data-look=belt]{background:repeating-linear-gradient(90deg,#b9c5e4 0 2px,#0000 2px 20px),linear-gradient(#e6ebfa,#ccd6ee);border:1px solid #b3bedd;border-radius:7px;height:30px;bottom:auto;box-shadow:0 6px 14px #283a641a}.actor.standing:before{content:"";background:#3446702b;border-radius:50%;width:62%;height:7px;transition:opacity .26s,width .26s;position:absolute;bottom:0;left:50%;transform:translate(-50%,55%)}.actor.standing.crate.picked:before{opacity:.4;width:42%}.actor.standing{transform:translate(-50%)}.actor.standing.crate.picked{transform:translate(-50%)translateY(-22px)rotate(-3deg)}.topbar .brand{color:inherit;font-family:Nunito,ui-rounded,system-ui,sans-serif;font-size:19px;font-weight:900;text-decoration:none}.whereabouts{align-items:center;gap:12px;min-width:0;display:flex}.whereabouts-level{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft);font-size:13px;font-weight:600;overflow:hidden}.to-map{border:2px solid var(--brand-line);background:var(--surface);box-shadow:0 3px 0 var(--brand-line);color:var(--brand-deep);cursor:pointer;border-radius:12px;flex:none;align-items:center;gap:6px;padding:5px 12px 5px 10px;font:800 13.5px/1.2 Nunito,ui-rounded,system-ui,sans-serif;transition:translate 80ms,box-shadow 80ms;display:inline-flex}.to-map:active{box-shadow:0 1px 0 var(--brand-line);translate:0 2px}.to-map:focus-visible{outline:2px solid var(--brand-deep);outline-offset:2px}.backdrop{pointer-events:none;background:linear-gradient(#f8fafe 0%, #f1f5fb calc(var(--floor-at,76%) * .55), #e6eef6 var(--floor-at,76%));position:absolute;inset:0;overflow:hidden}.backdrop svg{display:block;position:absolute;overflow:visible}.backdrop .bd-far,.backdrop .bd-near,.backdrop .bd-pines,.backdrop .bd-rock{bottom:calc(100% - var(--floor-at,76%))}.backdrop .bd-clouds{width:100%;height:min(18cqw, calc(var(--floor-at,76%) * .4));top:0;left:0}.backdrop .bd-cloud{fill:#fff;opacity:.85}.backdrop .bd-far{width:100%;height:min(24cqw, calc(var(--floor-at,76%) * .5));left:0}.backdrop .bd-far-1{fill:#e3e9f3}.backdrop .bd-snow{fill:#f6f8fc}.backdrop .bd-far-2{fill:#d7e0ec}.backdrop .bd-near{width:100%;height:min(9cqw, calc(var(--floor-at,76%) * .2));left:0}.backdrop .bd-hill{fill:#c9d8cc}.backdrop .bd-pines{width:13cqw;height:11.9167cqw;left:1.5%}.backdrop .bd-pine path{fill:#9db3a1}.backdrop .bd-trunk{fill:#a8968a}.backdrop .bd-rock{width:26cqw;height:19.9333cqw;right:0}.backdrop .bd-rock-face{fill:#c3bcb3}.backdrop .bd-rock-shade{fill:#b3aba1}.backdrop .bd-rock-ledge{fill:none;stroke:#ada59b;stroke-width:3px;stroke-linecap:round}.backdrop .bd-cave{fill:#4b4655}.backdrop .bd-cave-rim{fill:none;stroke:#a39a90;stroke-width:4px;stroke-linecap:round}.backdrop .bd-rock .bd-pine path{fill:#8fa894}.backdrop .bd-ground{left:0;top:var(--floor-at,76%);width:100%;height:calc(100% - var(--floor-at,76%))}.backdrop .bd-ground-fill{fill:#d9dcc4}.backdrop .bd-trail{fill:#ece2c7}.backdrop .bd-grass{stroke:#c3c9aa;stroke-width:1.4px;stroke-linecap:round;vector-effect:non-scaling-stroke}.backdrop[data-backdrop=cave]{background:radial-gradient(70% 55% at 50% 30%, #fffaf1 0%, #fffaf100 100%), linear-gradient(#f6efe6 0%, #f1e8dc calc(var(--floor-at,76%) * .6), #e6dacb var(--floor-at,76%))}.backdrop .bd-lantern-glow{top:calc(var(--floor-at,76%) * .42);background:radial-gradient(closest-side,#ffc86e8c,#ffc86e00);border-radius:50%;width:34cqw;height:34cqw;position:absolute;translate:-50% -50%}.backdrop .bd-lantern-glow[style*=right]{translate:50% -50%}.backdrop .bd-cave-back,.backdrop .bd-tunnel,.backdrop .bd-crystals{bottom:calc(100% - var(--floor-at,76%))}.backdrop .bd-cave-back{width:100%;height:min(16cqw, calc(var(--floor-at,76%) * .3));left:0}.backdrop .bd-back-rock{fill:#e3d8cd}.backdrop .bd-back-rock-near{fill:#d8ccc1}.backdrop .bd-tunnel{width:11cqw;height:13.2cqw;translate:-50%}.backdrop .bd-tunnel-rim{fill:#b9adb0}.backdrop .bd-tunnel-dark{fill:#5e5260}.backdrop .bd-tunnel-deep{fill:#3f3646}.backdrop .bd-ceiling{width:100%;height:11cqw;top:0;left:0}.backdrop .bd-ceiling-rock{fill:#d6ccc9}.backdrop .bd-wall-crack{fill:none;stroke:#ada2a9;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.backdrop .bd-wall{height:var(--floor-at,76%);width:15cqw;top:0}.backdrop .bd-wall.left{left:0}.backdrop .bd-wall.right{right:0}.backdrop .bd-wall-rock{fill:#cdc3c6}.backdrop .bd-wall-shade{fill:#bdb2b8}.backdrop .bd-crystals{width:9cqw;height:9cqw}.backdrop .bd-crystals.left{left:.5cqw}.backdrop .bd-crystals.right{right:.5cqw}.backdrop .bd-crystals.high{bottom:auto;top:calc(var(--floor-at,76%) * .2);width:7cqw;height:7cqw;right:1.5cqw;rotate:-18deg}.backdrop .bd-crystal path{fill:#8fdbe6;stroke:#4aa9b8;stroke-width:1px;stroke-linejoin:round}.backdrop .bd-crystal.b path{fill:#c9b6f2;stroke:#8c72cf}.backdrop .bd-crystal .bd-crystal-face{fill:#fff6;stroke:none}.backdrop .bd-crystals{filter:drop-shadow(0 0 .8cqw #8fdbe699)}.backdrop .bd-lantern{top:calc(var(--floor-at,76%) * .42 - 5.5cqw);width:7.5cqw;height:11.25cqw}.backdrop .bd-lantern.left{left:3cqw}.backdrop .bd-lantern.right{right:3cqw}.backdrop .bd-bracket{fill:none;stroke:#6f5f58;stroke-width:2.5px;stroke-linecap:round}.backdrop .bd-lantern-top,.backdrop .bd-lantern-base{fill:#6f5f58}.backdrop .bd-lantern-glass{fill:#ffe6a8;stroke:#6f5f58;stroke-width:2px}.backdrop .bd-lantern-flame{fill:#ff9f40}.backdrop[data-backdrop=cave] .bd-ground-fill{fill:#d9cdbd}.backdrop[data-backdrop=cave] .bd-trail{fill:#e8dece}.backdrop .bd-pebbles{stroke:#bfb09d;stroke-width:2.5px;stroke-linecap:round;vector-effect:non-scaling-stroke}.stage[data-backdrop] .floor{background:0 0;border-top-color:#96a08273}.stage[data-backdrop] .floor:before{display:none}@media (prefers-reduced-motion:no-preference){.backdrop .bd-cloud{animation:bd-drift 160s linear var(--d,0s) infinite alternate}@keyframes bd-drift{0%{translate:-60px}to{translate:60px}}}.memory-demo-frame .demo-tag .demo-note{opacity:.75;font-weight:700}.joining{color:var(--ink-soft);flex:1;place-items:center;font-size:15px;display:grid}.app[data-full=yes] .topbar,.app[data-full=yes] .robot-panel .room-bar{display:none}.exit-full{z-index:50;cursor:pointer;background:0 0;border:0;width:72px;height:12px;margin-left:-36px;padding:0;position:fixed;top:0;left:50%}.exit-full:after{content:"";background:var(--line);border-radius:999px;height:5px;transition:background .12s;position:absolute;top:3px;left:18px;right:18px}.exit-full:hover:after,.exit-full:focus-visible:after{background:var(--brand)}.exit-full:focus-visible{outline:2px solid var(--brand);outline-offset:1px;border-radius:6px}.console{cursor:text;background:var(--surface);flex:1;min-height:0;display:flex}.console .scrollback{min-height:0;font-family:var(--mono);flex:1;padding:14px 16px 18px;font-size:13px;line-height:1.7;overflow-y:auto}.console .says{color:var(--ink-soft);margin:0 0 12px;font-family:inherit;font-size:12.5px}.console .thinking{opacity:.8;margin:6px 0 0;font-style:italic}.console .exchange{margin-bottom:4px}.console pre{white-space:pre-wrap;word-break:break-word;font:inherit;margin:0}.console .prompt{white-space:nowrap;-webkit-user-select:none;user-select:none;width:3.4ch;color:var(--brand-deep);flex:none;display:inline-block}.console .typed{color:var(--ink)}.console .said{padding-left:3.4ch}.console .said.value{color:var(--value)}.console .said.out{color:var(--ink-soft)}.console .said.err{color:var(--bad)}.console .prompt-row{align-items:flex-start;display:flex}.console .line{resize:none;min-width:0;color:var(--ink);font:inherit;caret-color:var(--brand);background:0 0;border:0;flex:1;margin:0;padding:0;overflow:hidden}.console .line:focus{outline:none}.console .line:disabled{opacity:.5}.robot-panel[data-mode=console] .transport{justify-content:flex-end}.stage .bubble-rail{pointer-events:none;z-index:3;flex-direction:column;min-height:0;display:flex;position:absolute;top:0;left:0;right:0}.stage .bubble-rail.with-speech{padding-bottom:14px}.stage .bubble-rail{padding-top:10px}.scene-panel:not(.compact) .stage:has(>.beat-bar)>.bubble-rail{top:16px}.scene-panel:not(.compact) .stage:has(>.practice-meter)>.bubble-rail{top:24px}.stage .bubble-rail>:first-child{margin-top:auto}.stage .bubble-rail{--bubble-bg:var(--surface);--bubble-line:var(--line)}.stage .bubble-rail[data-kind=ask]{--bubble-line:var(--brand-line)}.stage .bubble-rail[data-kind=reply]{--bubble-bg:var(--ref-bg);--bubble-line:var(--ref-line)}.stage .bubble{left:calc(var(--shift,0) * 1% + var(--push,0px));pointer-events:auto;background:var(--bubble-bg);border:2px solid var(--bubble-line);width:max-content;max-width:min(300px,52%);box-shadow:0 4px 0 var(--bubble-line), 0 10px 22px #16203a14;color:var(--ink);z-index:3;transform-origin:50% 100%;border-radius:20px;margin-top:13px;margin-left:auto;margin-right:auto;padding:13px 18px 11px;font:700 17px/1.5 Nunito,ui-rounded,system-ui,sans-serif;transition:left .25s cubic-bezier(.2,.8,.3,1),background .2s,border-color .2s;position:relative}.stage .bubble.telling{padding-right:28px}.stage .bubble-name{background:var(--speaker,var(--ink));color:#fff;letter-spacing:.02em;white-space:nowrap;border-radius:999px;padding:1px 10px;font:800 12px/19px Nunito,ui-rounded,system-ui,sans-serif;transition:background .25s;position:absolute;top:-12px;left:14px;box-shadow:0 2px #16203a24}.stage .bubble-who{background:var(--surface);border:2px solid var(--brand-line);color:var(--brand-deep);letter-spacing:.02em;white-space:nowrap;border-radius:999px;padding:0 9px;font:800 11px/16px Nunito,ui-rounded,system-ui,sans-serif;position:absolute;top:-11px;right:14px}.stage .bubble-who[data-tag=robot]{border-color:var(--brand);background:var(--brand-soft)}.stage .bubble-text{display:block}.stage .bubble .tw{animation:type-in 60ms ease-out var(--d,0s) backwards}@keyframes type-in{0%{opacity:0}}.stage .bubble-cue{color:var(--brand);animation:cue-in .16s ease-out var(--type-ms,0s) backwards, cue-bob .9s ease-in-out calc(var(--type-ms,0s) + .16s) infinite;font-size:17px;line-height:1;position:absolute;bottom:6px;right:10px}@keyframes cue-in{0%{opacity:0}}@keyframes cue-bob{50%{translate:3px}}.stage .bubble-tail{z-index:4;pointer-events:none;position:absolute}.stage .bubble-tail svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.stage .bubble-tail .tail-fill{fill:var(--bubble-bg);transition:fill .2s}.stage .bubble-tail .tail-edge{fill:none;stroke:var(--bubble-line);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;transition:stroke .2s}.stage .bubble code{white-space:nowrap;background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--brand-deep);font-family:var(--mono);border-radius:6px;padding:1px 6px;font-size:.84em;font-weight:600}.stage .bubble .tw.chip{animation-name:chip-in;animation-duration:.14s;display:inline-block}@keyframes chip-in{0%{opacity:0;scale:.85}}.stage .actor .character .mouth-open.talking{animation-iteration-count:var(--talk-jaw,8)}.stage .actor .crow .beak-lower.talking{animation-iteration-count:var(--talk-peck,10)}.stage .actor .pupil{transition:translate .24s}.stage .actor[data-look=left] .pupil{translate:-1.6px}.stage .actor[data-look=right] .pupil{translate:1.6px}.stage .beat-bar{z-index:4;pointer-events:none;gap:4px;display:flex;position:absolute;top:10px;left:14px;right:14px}.stage .beat-seg{background:#16203a1a;border-radius:999px;flex:1;height:6px;position:relative;overflow:hidden}.stage .beat-seg:after{content:"";border-radius:inherit;background:var(--brand);transform:scaleX(var(--fill,0));transform-origin:0;transition:transform .32s;position:absolute;inset:0}.stage .beat-seg.done:after{background:#4cbf2a}.stage .beat-controls{left:50%;bottom:calc(14px + var(--foot,0px));z-index:5;align-items:center;gap:8px;display:flex;position:absolute;transform:translate(-50%)}.stage .beat-next,.stage .beat-back,.stage .takeaway-replay{cursor:pointer;font-family:Nunito,ui-rounded,system-ui,sans-serif;transition:translate 80ms,box-shadow 80ms}.stage .beat-next{border:2px solid var(--brand-deep);background:var(--brand);box-shadow:0 4px 0 var(--brand-deep);color:var(--brand-ink);letter-spacing:.02em;border-radius:16px;padding:10px 30px;font-size:17px;font-weight:900;line-height:1}.stage .beat-back{border:2px solid var(--brand-line);background:var(--surface);width:36px;height:36px;box-shadow:0 3px 0 var(--brand-line);color:var(--brand-deep);border-radius:12px;padding:0;font-size:14px;font-weight:900}.stage .beat-next:active,.stage .beat-back:active,.stage .takeaway-replay:active{box-shadow:0 1px 0 var(--brand-deep);translate:0 3px}.stage .beat-next:focus-visible,.stage .beat-back:focus-visible,.stage .takeaway-replay:focus-visible{outline:2px solid var(--brand-deep);outline-offset:3px}.stage .takeaway{left:14px;right:128px;bottom:calc(12px + var(--foot,0px));z-index:4;border:2px solid var(--line);background:var(--surface);box-shadow:0 3px 0 var(--line);color:var(--ink);border-radius:16px;align-items:center;gap:10px;padding:7px 8px 7px 14px;font:700 13.5px/1.35 Nunito,ui-rounded,system-ui,sans-serif;display:flex;position:absolute}.stage .takeaway p{flex:1;min-width:0;margin:0}.stage .takeaway-replay{border:2px solid var(--brand-line);background:var(--surface);box-shadow:0 3px 0 var(--brand-line);color:var(--brand-deep);border-radius:11px;flex:none;padding:5px 11px;font-size:13px;font-weight:800}@media (prefers-reduced-motion:no-preference){.stage .takeaway{animation:.26s ease-out both advance-in}}@container stage (width<=480px){.scene-panel:not(.compact) .stage .bubble{max-width:min(400px,94%);left:calc(clamp(-3%, calc(var(--shift,0) * 1%), 3%) + var(--push,0px));padding:10px 14px 8px;font-size:15px;line-height:1.4}.scene-panel:not(.compact) .stage .bubble.telling{padding-right:24px}.stage .beat-controls{bottom:calc(8px + var(--foot,0px))}.stage .beat-next{padding:8px 24px;font-size:15px}.stage .beat-back{width:32px;height:32px}.stage .takeaway{padding:6px 8px 6px 12px;font-size:12.5px;top:26px;bottom:auto;right:14px}.stage>.advance{bottom:calc(10px + var(--foot,0px))}.scene-panel:not(.compact) .stage>.props-slot{width:84%;left:50%;top:var(--props-top,30px);bottom:auto;transform:translate(-50%)}.scene-panel:not(.compact) .stage:has(>.props-slot)>.bubble-rail{top:calc(var(--props-top,30px) + 84cqw * 162 / 200)}.scene-panel:not(.compact) .stage:has(>.props-slot>.prop-ask)>.bubble-rail{top:calc(var(--props-top,30px) + 84cqw * 162 / 200 + 44px)}.scene-panel:not(.compact) .stage:has(>.props-slot)>.takeaway{top:calc(var(--floor-at,76%) + 6px);bottom:auto}}.stage .actor{transition:transform .26s cubic-bezier(.2,.9,.3,1.2),filter .2s,opacity .36s,visibility .36s}.stage .actor .character{transition:translate .46s cubic-bezier(.2,.9,.3,1.1)}.stage .actor.offstage{opacity:0;visibility:hidden;pointer-events:none}.stage .actor.offstage .character{translate:36px}.stage .actor.robot .eye,.stage .actor.robot .mouth-shape,.stage .actor.robot .antenna-tip{transition:opacity .42s,fill .42s}.stage .actor.robot.asleep .eye,.stage .actor.robot.asleep .mouth-shape{opacity:.06}.stage .actor.robot.asleep .antenna-tip{fill:#8a93ad}.stage .actor.robot.asleep .character{filter:saturate(.55)brightness(.94)}.stage .actor.act-hop .react{animation:.7s cubic-bezier(.3,.7,.4,1) both hop-small}.stage .actor.act-wave .react{transform-origin:50% 90%;animation:1s ease-in-out both wave}.stage .actor.crow.act-wave .wing,.stage .actor.crow.act-hop .wing{animation:.12s ease-in-out 6 alternate flap}@keyframes wave{15%{transform:rotate(-7deg)}35%{transform:rotate(6deg)}55%{transform:rotate(-5deg)}75%{transform:rotate(3deg)}}.console[data-listening=yes] .line:disabled{opacity:1}.console .line::placeholder{color:var(--ink-soft);font-style:italic}.robot-panel .view.instrument.glow{outline:2px solid var(--brand-line);outline-offset:-2px}@media (prefers-reduced-motion:no-preference){.robot-panel .view.pulse{animation:1.3s ease-in-out infinite focus-pulse}.robot-panel .transport .pulse{animation:1.3s ease-in-out infinite focus-pulse-button}@keyframes focus-pulse{50%{outline:3px solid var(--brand);outline-offset:-3px}}@keyframes focus-pulse-button{50%{box-shadow:0 0 0 4px var(--brand-line)}}}@media (prefers-reduced-motion:reduce){.robot-panel .view.pulse{outline:3px solid var(--brand);outline-offset:-3px}}.stage>.advance{right:14px;bottom:calc(14px + var(--foot,0px));z-index:4;border:1px solid var(--brand);background:var(--brand);color:var(--brand-ink);font-family:var(--sans,inherit);cursor:pointer;border-radius:999px;padding:7px 16px;font-size:13px;font-weight:600;position:absolute;box-shadow:0 4px 14px #4b6ef557}.stage>.advance:hover{filter:brightness(1.07)}@media (prefers-reduced-motion:no-preference){.stage>.advance{animation:.22s ease-out advance-in}@keyframes advance-in{0%{opacity:0;transform:translateY(8px)}}}.stage .thought{margin:0 auto calc(42px - var(--beside,0px));translate:var(--aside,0px) 0;isolation:isolate;filter:drop-shadow(0 5px 8px #16203a1a);width:max-content;min-width:2.4em;max-width:38%;font-family:var(--mono);text-align:center;color:var(--brand-deep);transform-origin:50% 100%;padding:5px 12px;font-size:16px;font-weight:600;line-height:1.35;position:relative}.stage .thought-shape{z-index:-1;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.stage .thought-shape path,.stage .thought-shape circle{fill:var(--surface);stroke:var(--brand-line);stroke-width:1.5px;stroke-linejoin:round}.stage .thought-value{white-space:nowrap;text-overflow:ellipsis;display:block;position:relative;overflow:hidden}.stage .thought .dots{text-align:left;width:2.2em;display:inline-block}.stage .thought .dots:after{content:"·";animation:1.1s step-end infinite thinking}@keyframes thinking{0%{content:"·"}33%{content:"· ·"}66%{content:"· · ·"}}@media (prefers-reduced-motion:reduce){.stage .thought .dots:after{content:"· · ·";animation:none}}.console .exchange.given{opacity:.62;position:relative}.console .given-tag{background:var(--brand-soft);color:var(--brand-deep);letter-spacing:.05em;text-transform:uppercase;border-radius:6px;padding:0 6px;font:700 10px/16px system-ui,sans-serif;position:absolute;top:1px;right:0}.stage .practice-meter{z-index:4;pointer-events:none;grid-template-columns:1fr auto;align-items:center;gap:6px 10px;display:grid;position:absolute;top:12px;left:14px;right:14px}.practice-track{gap:5px;display:flex}.practice-seg{background:#16203a1a;border-radius:999px;flex:1;height:12px;transition:background .3s;box-shadow:inset 0 -2px #0000000d}.practice-seg.right{background:#4cbf2a}.practice-seg.recovered{background:#ffb020}.practice-seg.now{background:var(--brand-line)}.practice-count{color:var(--ink-soft);font:800 13px/1 Nunito,ui-rounded,system-ui,sans-serif}.practice-task{border:1.5px solid var(--line);max-width:100%;color:var(--ink);background:#ffffffe6;border-radius:12px;grid-column:1/-1;justify-self:start;margin:2px 0 0;padding:7px 12px;font-size:13.5px;line-height:1.4}.practice-task code{background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--brand-deep);font-family:var(--mono);border-radius:5px;padding:1px 5px;font-size:.92em}@media (prefers-reduced-motion:no-preference){.practice-seg.now{animation:1.4s ease-in-out infinite seg-now}@keyframes seg-now{50%{background:var(--brand)}}}.stage .choices{left:50%;bottom:calc(14px + var(--foot,0px));z-index:5;flex-wrap:wrap;justify-content:center;gap:8px;width:min(96%,640px);display:flex;position:absolute;transform:translate(-50%)}.stage:has(>.choices) .props-slot .prop-ask{display:none}.stage .choice{--c:var(--brand-deep);--c-bg:var(--surface);--c-line:var(--brand-line);border:2px solid var(--c-line);background:var(--c-bg);min-width:0;box-shadow:0 4px 0 var(--c-line);color:var(--c);cursor:pointer;border-radius:14px;align-items:center;gap:8px;padding:7px 12px 7px 7px;font:800 16px/1.2 Nunito,ui-rounded,system-ui,sans-serif;transition:translate 80ms,box-shadow 80ms;animation:.22s cubic-bezier(.2,.8,.3,1) backwards choice-in;display:inline-flex}.stage .choice:nth-child(2){animation-delay:50ms}.stage .choice:nth-child(3){animation-delay:.1s}.stage .choice:nth-child(4){animation-delay:.15s}@keyframes choice-in{0%{opacity:0;translate:0 8px}}.stage .choice:hover:not([disabled]){border-color:var(--c-line)}@media (hover:hover){.stage .choice:hover:not([disabled]){translate:0 -1px}}.stage .choice:active:not([disabled]){box-shadow:0 1px 0 var(--c-line);translate:0 3px}.stage .choice:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.stage .choice.kind-bool{--c:var(--k-bool);--c-bg:var(--k-bool-bg);--c-line:var(--k-bool-soft)}.stage .choice.kind-int{--c:var(--k-int);--c-bg:var(--k-int-bg);--c-line:var(--k-int-soft)}.stage .choice.kind-float{--c:var(--k-float);--c-bg:var(--k-float-bg);--c-line:var(--k-float-soft)}.stage .choice.kind-str{--c:var(--k-str);--c-bg:var(--k-str-bg);--c-line:var(--k-str-soft)}.stage .choice-key{background:color-mix(in srgb, var(--c) 14%, transparent);border-radius:7px;place-items:center;width:22px;height:22px;font-size:12px;font-weight:900;display:inline-grid}.stage .choice-label{text-align:left;min-width:0}.stage .choice{white-space:normal}.stage .choice-label code{font-family:var(--mono);overflow-wrap:anywhere;font-weight:700}.stage .choice.tried{--c:#9a6512;--c-bg:#fdf3e0;--c-line:#f0d6a6;cursor:default;box-shadow:none;opacity:.85;translate:0 4px}.stage .choice.tried .choice-label{text-decoration:line-through;text-decoration-thickness:2px}.stage .choices[data-held=yes] .choice{cursor:default;opacity:.45}.stage .choices:not([data-held]) .choice:not(.tried){transition:translate 80ms,box-shadow 80ms,opacity .2s}@container stage (width<=480px){.stage .choices{bottom:calc(8px + var(--foot,0px));gap:6px}.stage .choice{flex:40%;min-width:0;padding:6px 10px 6px 6px;font-size:15px}}@media (prefers-reduced-motion:reduce){.stage .choice{animation:none}}.scene-panel:not(.compact) .stage[data-raised=yes]>.props-slot.raised{width:var(--raised-w);left:50%;top:var(--props-top,30px);aspect-ratio:200/130;bottom:auto;transform:translate(-50%)}.scene-panel:not(.compact) .stage[data-raised=yes]>.props-slot.raised .prop-ask{display:none}.scene-panel:not(.compact) .stage[data-raised=yes]:has(>.props-slot.raised)>.bubble-rail{top:calc(var(--props-top,30px) + var(--raised-w) * 130 / 200 + 16px)}:root{--k-bool:#6a3fc9;--k-bool-bg:#f1ecfd;--k-bool-soft:#ddd0fb;--k-int:#3453cc;--k-int-bg:#eaf0ff;--k-float:#1f6b57;--k-float-bg:#e3f4ed;--k-str:#8f4700;--k-str-bg:#fff0e0;--k-str-soft:#ffdcb5;--k-char:#b0306a;--k-char-bg:#fdeaf3;--k-char-soft:#f8cfe2;--k-int-soft:#cbd7ff;--k-float-soft:#bfe6d6;--beat-len:1.7s;--unworked:#9a5a00;--unworked-bg:#fff4e0}.stage .props-slot{aspect-ratio:200/162;position:absolute;transform:translate(-50%,19.7531%);container-type:inline-size}.prop-layer{cursor:pointer;width:100%;height:100%;font:inherit;color:inherit;background:0 0;border:0;border-radius:12px;padding:0;display:block;position:absolute;inset:0}.prop-layer:focus-visible{outline:2px solid var(--brand);outline-offset:4px}.prop-layer svg{aspect-ratio:200/130;width:100%;height:auto;display:block;overflow:visible}.prop-layer[data-role=current]{animation:prop-enter .42s cubic-bezier(.2, .8, .3, 1) var(--beat,0s) both}.prop-layer[data-role=leaving]{pointer-events:none;animation:prop-leave var(--beat-len) ease-in both}@container stage (width>=481px){.stage>.props-slot:has(>.prop-layer[data-verdict=right]){min-width:min(220px,40cqw)}}@keyframes prop-enter{0%{opacity:0;transform:translateY(10px)scale(.97)}}@keyframes prop-leave{0%,80%{opacity:1;transform:none}to{opacity:0;transform:translateY(8px)scale(.96)}}.stage .prop-ask{border:1px solid var(--line);background:var(--surface);width:max-content;max-width:300px;color:var(--ink);text-align:center;box-shadow:var(--shadow);animation:prop-ask-in .3s ease-out var(--beat,0s) both;border-radius:999px;margin:0;padding:4px 12px;font-size:13px;font-weight:700;line-height:1.35;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}@keyframes prop-ask-in{0%{opacity:0}}.answer-tag{box-sizing:border-box;background:var(--surface);width:max-content;max-width:100%;font-family:var(--mono);white-space:nowrap;box-shadow:var(--shadow);border:1.5px solid;border-radius:999px;align-items:baseline;gap:.45em;margin:0 auto;padding:max(1px,.9cqw) max(6px,4cqw);font-size:clamp(12px,6.5cqw,14px);font-weight:700;line-height:1.25;animation:.28s cubic-bezier(.2,.9,.3,1.3) both tag-pop;display:flex;position:absolute;top:calc(100% - 8cqw);left:0;right:0;translate:0 -50%}.answer-tag[data-at]{margin:0;top:calc(50% + 27.5cqw);translate:none}.answer-tag[data-at=slot]{left:calc(var(--tag-x) * .5cqw);translate:calc(var(--tag-x) / -200 * 100%) 0;right:auto}.answer-tag[data-at=slot]:before{content:"";bottom:100%;left:calc(var(--tag-x) / 200 * 100%);border:4px solid #0000;border-top:0;border-bottom:4.5px solid;position:absolute;translate:-50%}.answer-tag[data-at=corner]{left:auto;right:0}.answer-tag .answer-value{text-overflow:ellipsis;min-width:0;overflow:hidden}.answer-tag .answer-kind{letter-spacing:.02em;font-family:ui-sans-serif,system-ui,sans-serif;font-size:max(10px,.84em);font-weight:800}.answer-tag .answer-right{color:var(--good);font-weight:900}.answer-tag[data-kind=bool]{color:var(--k-bool);background:var(--k-bool-bg)}.answer-tag[data-kind=int]{color:var(--k-int);background:var(--k-int-bg)}.answer-tag[data-kind=float]{color:var(--k-float);background:var(--k-float-bg)}.answer-tag[data-kind=str]{color:var(--k-str);background:var(--k-str-bg)}.answer-tag[data-kind=char]{color:var(--k-char);background:var(--k-char-bg)}.answer-tag[data-kind=other]{color:var(--ink-soft)}.answer-tag.unworked{border-color:var(--unworked);border-style:dashed}.answer-tag .answer-unworked{color:var(--unworked);font-weight:900}@keyframes tag-pop{0%{opacity:0;transform:scale(.7)}}.prop text{fill:var(--ink-soft);text-anchor:middle;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:9px}.prop .tick-label{font-size:11px;font-weight:700}.prop .tick-label.end{text-anchor:end}.prop .tick{stroke:#9aa4bf;stroke-width:1.5px}.prop .tick.minor{stroke-width:1px}.prop .apple-drop,.prop .fish-wings,.prop .bird-wing,.prop .hollow,.prop .egg,.prop .figure,.prop .half,.prop .reach rect,.prop .ring,.prop .dot,.prop .tile,.prop .phone-shake,.prop .dome,.prop .card-flip,.prop .face,.prop .letter-wiggle,.prop .liquid,.prop .stamp,.prop .counter-roll,.prop .half-apple-fly,.prop .cubby,.prop .chip,.prop .q,.prop .measured,.prop .letter-float,.prop .char-tile,.prop .clasp,.prop .side-card,.prop .bead,.prop .one-lamp .as-one,.prop .sum,.prop .code-tile,.prop .parcel,.prop .door-leaf,.prop .wheel,.prop .car-bob,.prop .robot-tag-pop,.prop .value-card,.prop .made,.prop .key-top,.prop .clash-tile,.prop .clash-stop,.prop .item{transform-box:fill-box}.lamp .pole{stroke:#5b6784;stroke-width:3px}.lamp .lamp-base{fill:#5b6784}.lamp .cable{fill:none;stroke:#9aa4bf;stroke-width:1.5px}.lamp .shade{fill:var(--brand)}.lamp .bulb-glass{fill:#e7eaf3;stroke:#9aa4bf;stroke-width:1.5px;transition:fill .3s}.lamp .lamp-glow{fill:#ffd84a;opacity:0;transition:opacity .35s}.lamp.on .lamp-glow{opacity:.55}.lamp.on .bulb-glass{fill:#ffe066}.lamp .plate-switch{fill:#fff;stroke:#c4cbe0;stroke-width:1.5px}.lamp .pill-true,.lamp .pill-false{fill:var(--k-bool-soft);stroke:var(--k-bool);opacity:0;transition:opacity .25s}.lamp.on .pill-true,.lamp:not(.on) .pill-false{opacity:1}.lamp .switch-label{font-family:var(--mono);fill:var(--k-bool);font-size:10px;font-weight:800}.lamp .lever rect{fill:#5b6784}.lamp .lever{transition:transform .25s cubic-bezier(.3,1.4,.6,1);transform:translateY(4px)}.lamp.on .lever{transform:translateY(-12px)}.lamp .note rect,.fishbowl .note rect{fill:#fff6b8;stroke:#e0cf6a}.lamp .note text,.fishbowl .note text{font-family:var(--mono);fill:var(--k-str);font-size:9px;font-weight:800}.lamp .note,.fishbowl .note{animation:.32s cubic-bezier(.2,.9,.3,1.3) backwards note-stick}.prop-layer:not([data-told]) .lamp:not(.demo-on):not(.demo-off) .lamp-glow{animation:flick-glow 2.6s linear calc(var(--beat,0s) + .5s) backwards}.prop-layer:not([data-told]) .lamp:not(.demo-on):not(.demo-off) .lever{animation:flick-lever 2.6s linear calc(var(--beat,0s) + .5s) backwards}.prop-layer:not([data-told]) .lamp:not(.demo-on):not(.demo-off) .pill-true{animation:flick-on 2.6s linear calc(var(--beat,0s) + .5s) backwards}.prop-layer:not([data-told]) .lamp:not(.demo-on):not(.demo-off) .pill-false{animation:flick-off 2.6s linear calc(var(--beat,0s) + .5s) backwards}.lamp.demo-on .lamp-glow{animation:from-dark .45s ease-out calc(var(--beat,0s) + .55s) backwards}.lamp.demo-on .lever{animation:from-down .3s cubic-bezier(.3, 1.4, .6, 1) calc(var(--beat,0s) + .4s) backwards}.lamp.demo-on .pill-true{animation:from-dark .25s linear calc(var(--beat,0s) + .45s) backwards}.lamp.demo-on .pill-false{animation:from-lit .25s linear calc(var(--beat,0s) + .45s) backwards}.lamp.demo-off .lamp-glow{animation:from-glow .45s ease-in calc(var(--beat,0s) + .45s) backwards}.lamp.demo-off .lever{animation:from-up .3s cubic-bezier(.3, 1.4, .6, 1) calc(var(--beat,0s) + .4s) backwards}.lamp.demo-off .pill-true{animation:from-lit .25s linear calc(var(--beat,0s) + .45s) backwards}.lamp.demo-off .pill-false{animation:from-dark .25s linear calc(var(--beat,0s) + .45s) backwards}@keyframes from-dark{0%{opacity:0}}@keyframes from-lit{0%{opacity:1}}@keyframes from-glow{0%{opacity:.55}}@keyframes from-down{0%{transform:translateY(4px)}}@keyframes from-up{0%{transform:translateY(-12px)}}@keyframes flick-glow{0%,12%{opacity:0}16%,34%{opacity:.55}38%,56%{opacity:0}60%,78%{opacity:.55}82%{opacity:0}}@keyframes flick-lever{0%,12%{transform:translateY(4px)}16%,34%{transform:translateY(-12px)}38%,56%{transform:translateY(4px)}60%,78%{transform:translateY(-12px)}82%{transform:translateY(4px)}}@keyframes flick-on{0%,12%{opacity:0}16%,34%{opacity:1}38%,56%{opacity:0}60%,78%{opacity:1}82%{opacity:0}}@keyframes flick-off{0%,12%{opacity:1}16%,34%{opacity:0}38%,56%{opacity:1}60%,78%{opacity:0}82%{opacity:1}}@keyframes note-stick{0%{opacity:0;translate:20px 60px;rotate:-30deg;scale:.6}}.fishbowl .water{fill:#d8ecfb}.fishbowl .wave{fill:none;stroke:#9cc9ee;stroke-width:2px}.fishbowl .fish-body{fill:#ff9f43}.fishbowl .fish-tail{fill:#f08a24}.fishbowl .fish-fin{fill:none;stroke:#f08a24;stroke-width:3px;stroke-linecap:round}.fishbowl .fish-eye{fill:#16203a}.fishbowl .fish-wings path{fill:#fff;stroke:#9aa4bf}.fishbowl .fish-wings{opacity:0;transform-origin:50% 100%;transition:opacity .3s,transform .4s cubic-bezier(.3,1.5,.6,1);transform:scale(.3)}.fishbowl.said-true .fish-wings{opacity:1;transform:none}.fishbowl .same-sign{fill:var(--ink-soft);font-size:22px;font-weight:800}.fishbowl.said-false .same-sign,.fishbowl.said-true .same-sign{fill:var(--k-bool)}.fishbowl .bird-body{fill:#7fb2ff}.fishbowl .beak{fill:#ffc53d}.fishbowl .bird-wing path{fill:#4b8df0}.fishbowl .bird-wing{transform-origin:0 100%}.fishbowl .legs{stroke:#e0a020;stroke-width:2px}.fishbowl .fish-swim{animation:swim-in 1.4s cubic-bezier(.3, .8, .4, 1) calc(var(--beat,0s) + .3s) backwards}.fishbowl .bird-wing{animation:flap .36s ease-in-out calc(var(--beat,0s) + .6s) 4}@keyframes swim-in{0%{transform:translate(-70px)}50%{transform:translate(-20px,-4px)}}.basket .apple-skin{fill:#e8453c}.basket .stalk{fill:none;stroke:#6b4a2b;stroke-width:2px}.basket .leaf{fill:#3fae5a}.basket .apple-drop{animation:drop .52s cubic-bezier(.3, 1.4, .6, 1) calc(var(--beat,0s) + .3s + var(--i) * .32s) backwards}.basket .basket-body{fill:#c98b4b;stroke:#9c6630;stroke-width:2px}.basket .weave{fill:none;stroke:#9c6630;stroke-width:1.5px}.prop .token circle,.prop .token path{fill:var(--k-int-bg);stroke:var(--k-int);stroke-width:1.5px}.prop .token text{font-family:var(--mono);fill:var(--k-int);font-size:9.5px;font-weight:800}.prop .token.extra circle{fill:#fff;stroke:var(--bad);stroke-dasharray:3 2}.prop .token.extra text{fill:var(--bad)}.prop .token.half path{fill:var(--k-float-bg);stroke:var(--k-float)}.prop .token-more{font-family:var(--mono);fill:var(--ink-soft);text-anchor:start;font-size:11px;font-weight:800}@keyframes drop{0%{opacity:0;transform:translateY(-70px)}}.lift .earth{fill:#eadfcd}.lift .storeys{fill:#fff;stroke:#c4cbe0}.lift .storeys.under{fill:#f3ede3}.lift .floor-line{stroke:#dde3f2}.lift .floor-num{font-family:var(--mono);text-anchor:end;fill:var(--ink-soft);font-size:11px;font-weight:800}.lift .floor-num.here{fill:var(--k-int);font-size:11.5px}.lift .park{fill:#7d6a4e;font-size:9px;font-weight:900}.lift .grass{stroke:#3fae5a;stroke-width:3px}.lift .ground-label{fill:#2f6b3c;font-size:10px;font-weight:700}.lift .shaft{fill:#eef1f8;stroke:#c4cbe0}.lift .car{fill:var(--brand)}.lift .car.stuck{fill:#e0a020}.lift .car-door{stroke:#ffffffb3;stroke-width:1.5px}.lift .car-move{transition:transform .9s cubic-bezier(.45,0,.2,1)}.lift .car-demo{animation:ride 1.8s cubic-bezier(.45, 0, .2, 1) calc(var(--beat,0s) + .4s) backwards}.lift .warn path{fill:#ffd24d;stroke:#9a5b00}.lift .warn text{fill:#5a3a00;font-size:10px;font-weight:900}.lift .no-floor{fill:var(--bad);font-size:10px;font-weight:800}@keyframes ride{0%{transform:translateY(var(--from))}}.glasses .glass-edge{fill:#ffffff59;stroke:#8fa0c4;stroke-width:2px}.glasses .liquid{fill:#6fb8f2;transform-origin:50% 100%;transition:transform .8s cubic-bezier(.3,.8,.4,1)}.glasses .yours .glass-edge{stroke-dasharray:4 3}.glasses .yours .liquid{fill:#7fcfb3}.glasses .given .liquid{animation:fill-up 1.3s ease-out calc(var(--beat,0s) + .5s) backwards}.glasses .pour{stroke:#6fb8f2;stroke-width:4px;opacity:0;animation:pour 1.5s linear calc(var(--beat,0s) + .4s) backwards}.glasses .spill{fill:none;stroke:#7fcfb3;stroke-width:3px;stroke-linecap:round}.glasses .glass-caption{font-family:var(--mono);font-size:11px;font-weight:800}@keyframes fill-up{0%{transform:scaleY(0)}}@keyframes pour{0%{opacity:0}8%,88%{opacity:1}to{opacity:0}}.height .ruler{stroke:#5b6784;stroke-width:2px}.height .major{stroke:#5b6784;stroke-width:1.5px}.height .minor{stroke:#9aa4bf}.height .mark{animation:mark-in .2s ease-out calc(var(--beat,0s) + .3s + var(--i) * 45ms) backwards}.height .door-frame{fill:#f4efe6;stroke:#a58b62;stroke-width:2px}.height .ref-label{font-size:9.5px}.height .cat path{fill:#5b6784}.height .figure-at{transition:transform .8s cubic-bezier(.3,.8,.4,1)}.height .figure circle,.height .figure path{fill:var(--k-float)}.height .figure.ghost circle,.height .figure.ghost path{fill:none;stroke:#9aa4bf;stroke-dasharray:3 2;vector-effect:non-scaling-stroke}.height .figure{transform-origin:50% 100%;animation:grow .9s cubic-bezier(.3, 1.2, .5, 1) calc(var(--beat,0s) + 1.2s) backwards}.height .height-mark line{stroke:var(--k-float);stroke-dasharray:3 2}.height .height-mark text{font-family:var(--mono);fill:var(--k-float);text-anchor:start;font-size:11px;font-weight:800}@keyframes mark-in{0%{opacity:0}}@keyframes grow{0%{transform:scaleY(.1)}}.carton .lid{fill:#d9c3a0;stroke:#b39469}.carton .box{fill:#e8d5b5;stroke:#b39469;stroke-width:2px}.carton .cup{fill:#d4bc93}.carton .egg{fill:#fffaf0;stroke:#d8c7a6;transform-origin:50% 100%;animation:egg-in .32s cubic-bezier(.3, 1.4, .6, 1) calc(var(--i) * 40ms) backwards}.carton .hollow{transform-origin:50%;animation:pop-in .26s cubic-bezier(.3, 1.5, .6, 1) calc(var(--beat,0s) + .3s + var(--i) * 70ms) backwards}@keyframes egg-in{0%{opacity:0;transform:translateY(-14px)}}@keyframes pop-in{0%{opacity:0;scale:.2}}.breakfast .table{stroke:#b39469;stroke-width:3px}.breakfast .cutlery{fill:none;stroke:#9aa4bf;stroke-width:2.5px;stroke-linecap:round}.breakfast .dish{fill:#fff;stroke:#c4cbe0;stroke-width:1.5px}.breakfast .dish-well{fill:#f3f6fd}.breakfast .toast{fill:#e2a857;stroke:#b87a2c;stroke-width:2px}.breakfast .egg-white{fill:#fff;stroke:#e0e4ef}.breakfast .yolk{fill:#ffc53d}.breakfast .steam{fill:none;stroke:#c4cbe0;stroke-width:2px;stroke-linecap:round}.breakfast .food{opacity:0;transition:opacity .3s .3s}.breakfast.full .food{opacity:1}.breakfast .dome-body{fill:#dfe5f3;stroke:#9aa4bf;stroke-width:2px}.breakfast .dome-knob{fill:#9aa4bf}.breakfast .dome{transform-origin:50% 100%;animation:wiggle .7s ease-in-out calc(var(--beat,0s) + .5s) 2;transition:transform .6s cubic-bezier(.3,1.2,.5,1),opacity .4s .2s}.breakfast:not(.covered) .dome{opacity:0;transform:translateY(-46px)rotate(-14deg)}@keyframes wiggle{25%{rotate:-5deg}75%{rotate:5deg}}.match .ball-skin{fill:#fff;stroke:#16203a;stroke-width:1.5px}.match .ball-patch{fill:#16203a}.match .ball-roll{transform:translateX(var(--to)) rotate(360deg);animation:roll 1.6s ease-in-out calc(var(--beat,0s) + 1.6s) backwards}.match .half{stroke-width:1.5px;transform-origin:0%}.match .half.first{fill:#c3e6cb;stroke:#3f9e5a;animation:grow-x .6s ease-out calc(var(--beat,0s) + .4s) backwards}.match .half.second{fill:#a9d9b5;stroke:#3f9e5a;animation:grow-x .6s ease-out calc(var(--beat,0s) + 1s) backwards}.match .half-label{fill:#1e5a31;font-size:9.5px;font-weight:800}.match .axis{stroke:#5b6784;stroke-width:2px}.match .reach rect{fill:var(--k-float);transform-origin:0%;animation:.6s ease-out backwards grow-x}.match .reach text{font-family:var(--mono);fill:var(--k-float);text-anchor:start;font-size:9px;font-weight:800}@keyframes grow-x{0%{transform:scaleX(0)}}@keyframes roll{0%{transform:none}}.kinds .ring rect{stroke-width:1.5px}.kinds .ring text{text-anchor:start;font-size:10px;font-weight:800}.kinds .ring.float rect{fill:var(--k-float-bg);stroke:var(--k-float)}.kinds .ring.float text{fill:var(--k-float)}.kinds .ring.int rect{fill:var(--k-int-bg);stroke:var(--k-int)}.kinds .ring.int text{fill:var(--k-int)}.kinds .ring.bool rect{fill:var(--k-bool-bg);stroke:var(--k-bool)}.kinds .ring.bool text{fill:var(--k-bool)}.kinds .ring{transform-origin:50%;animation:ring-in .5s cubic-bezier(.2, .9, .3, 1.2) calc(var(--beat,0s) + .3s + var(--i) * .45s) backwards}.kinds .chip rect{fill:#fff;stroke-width:1.2px}.kinds .chip text{font-family:var(--mono);font-size:9px;font-weight:800}.kinds .chip[data-kind=bool] rect{stroke:var(--k-bool)}.kinds .chip[data-kind=bool] text{fill:var(--k-bool)}.kinds .chip[data-kind=int] rect{stroke:var(--k-int)}.kinds .chip[data-kind=int] text{fill:var(--k-int)}.kinds .chip[data-kind=float] rect{stroke:var(--k-float)}.kinds .chip[data-kind=float] text{fill:var(--k-float)}.kinds .chip.fixed rect{stroke-dasharray:2 2}.kinds .chip.fixed.said rect{stroke-dasharray:none;fill:var(--k-bool-soft)}.kinds .chip.latest rect{stroke-width:2.6px}@keyframes ring-in{0%{opacity:0;transform:scale(.88)}}.tiles .block{fill:var(--k-int-bg);stroke:var(--k-int);stroke-width:2px}.tiles .block-num{font-family:var(--mono);fill:var(--k-int);font-size:20px;font-weight:800}.tiles .plus{font-size:22px;font-weight:800}.tiles .dot{fill:var(--k-int);transform-origin:50%;animation:pop-in .22s ease-out calc(var(--i) * 35ms) backwards}.tiles .tile rect{fill:var(--k-str-bg);stroke:var(--k-str);stroke-width:1.5px}.tiles .tile text{font-family:var(--mono);fill:var(--k-str);font-weight:800}.tiles .tile{animation:tile-in .32s cubic-bezier(.3, 1.4, .6, 1) calc(var(--i) * 90ms) backwards}.tiles .tiles-caption{font-size:10px;font-weight:700}.tiles .block-left{animation:slide-right .7s cubic-bezier(.3, 1.2, .5, 1) calc(var(--beat,0s) + .3s) backwards}.tiles .block-right{animation:slide-left .7s cubic-bezier(.3, 1.2, .5, 1) calc(var(--beat,0s) + .3s) backwards}@keyframes tile-in{0%{opacity:0;translate:0 -14px}}@keyframes slide-right{0%{opacity:0;transform:translate(-24px)}}@keyframes slide-left{0%{opacity:0;transform:translate(24px)}}.phone .phone-body{fill:#2b3350}.phone .screen{fill:#e9f0ff;transition:fill .3s}.phone.calling .screen{fill:#e3f6ea}.phone .screen-cursor{fill:#5b6784;animation:1.1s step-end infinite cursor-blink}@keyframes cursor-blink{50%{opacity:0}}.phone .screen-text{font-family:var(--mono);font-size:9.5px;font-weight:800}.phone .screen-text.text{fill:var(--k-str)}.phone .screen-text.num{fill:var(--k-int)}.phone .screen-call{fill:#1c6e3d;font-size:9px;font-weight:800}.phone .ghost-zero rect{fill:var(--bad-bg);stroke:var(--bad);stroke-dasharray:2 1.5}.phone .ghost-zero text{font-family:var(--mono);fill:var(--bad);font-size:10px;font-weight:800}.phone .key{fill:#4a5578}.phone .phone-shake{transform-origin:50%;animation:buzz .48s ease-in-out calc(var(--beat,0s) + .4s) 2}.phone.calling .phone-shake{animation:.48s ease-in-out 3 buzz}.phone .rings path{fill:none;stroke:#1f9d55;stroke-width:2.5px;stroke-linecap:round;animation:.9s ease-in-out 4 backwards ring-pulse}@keyframes buzz{20%{transform:rotate(-5deg)}40%{transform:rotate(5deg)}60%{transform:rotate(-3deg)}80%{transform:rotate(3deg)}}@keyframes ring-pulse{0%,to{opacity:.2}50%{opacity:1}}.door .frame{fill:#8a6a45}.door .panel{fill:#b98b5a}.door .knob{fill:#ffd24d}.door .shackle{fill:none;stroke:#7c87a6;stroke-width:3px;animation:click-shut .36s cubic-bezier(.5, 0, .7, 1.4) calc(var(--beat,0s) + .7s) backwards}.door .lock-body{fill:#ffc53d;stroke:#9a5b00}.door .knows rect{fill:var(--k-bool-soft);stroke:var(--k-bool)}.door .knows text{font-family:var(--mono);fill:var(--k-bool);font-size:11px;font-weight:800}.door .note rect{fill:#fff;stroke:#c4cbe0;stroke-width:1.5px}.door .note:not(.blank) rect{stroke:var(--k-str)}.door .note text{fill:var(--k-str);font-size:9.5px;font-weight:800}.prop .blank-lines{stroke:#dde3f2;stroke-width:2px;stroke-linecap:round}@keyframes click-shut{0%{transform:translateY(-7px)}}.doorway .floor{stroke:#c4cbe0;stroke-width:2px}.doorway .frame{fill:#8a6a45}.doorway .sky{fill:#cfe8ff}.doorway .sun{fill:#ffd84a}.doorway .hill{fill:#8fd18f}.doorway .leaf-face{fill:#c28f5c;stroke:#9c6630;stroke-width:1.2px;transition:fill .5s}.doorway .leaf-inset{fill:none;stroke:#9c6630;stroke-width:1.4px}.doorway .knob{fill:#ffd24d;stroke:#9a5b00;stroke-width:.8px}.doorway .door-leaf{transform-origin:0%;transition:scale .65s cubic-bezier(.35,1.35,.5,1)}.doorway.open .door-leaf{scale:.16 1}.doorway.open .leaf-face{fill:#a8763f}.doorway .door-q{fill:var(--ink-soft);font-size:10px;font-weight:800}.doorway .plate-switch{fill:#fff;stroke:#c4cbe0;stroke-width:1.5px}.doorway .pill-true,.doorway .pill-false{fill:var(--k-bool-soft);stroke:var(--k-bool);opacity:0;transition:opacity .25s}.doorway.open .pill-true,.doorway:not(.open) .pill-false{opacity:1}.doorway .switch-label{font-family:var(--mono);fill:var(--k-bool);font-size:10px;font-weight:800}.doorway .note rect,.car-prop .note rect{fill:#fff6b8;stroke:#e0cf6a}.doorway .note text,.car-prop .note text{font-family:var(--mono);fill:var(--k-str);font-size:9px;font-weight:800}.doorway .note,.car-prop .note{animation:.32s cubic-bezier(.2,.9,.3,1.3) backwards note-stick}.prop-layer:not([data-told]) .doorway:not(.demo-open):not(.demo-closed) .door-leaf{animation:door-swing 2s ease-in-out calc(var(--beat,0s) + .5s) backwards}.prop-layer:not([data-told]) .doorway:not(.demo-open):not(.demo-closed) .pill-true{animation:door-pill-on 2s linear calc(var(--beat,0s) + .5s) backwards}.prop-layer:not([data-told]) .doorway:not(.demo-open):not(.demo-closed) .pill-false{animation:door-pill-off 2s linear calc(var(--beat,0s) + .5s) backwards}.doorway.demo-open .door-leaf{animation:door-from-shut .65s cubic-bezier(.35, 1.35, .5, 1) calc(var(--beat,0s) + .45s) backwards}.doorway.demo-closed .door-leaf{animation:door-from-open .65s cubic-bezier(.35, 1.35, .5, 1) calc(var(--beat,0s) + .45s) backwards}.doorway.demo-open .pill-true,.doorway.demo-closed .pill-false{animation:from-dark .25s linear calc(var(--beat,0s) + .5s) backwards}.doorway.demo-open .pill-false,.doorway.demo-closed .pill-true{animation:from-lit .25s linear calc(var(--beat,0s) + .5s) backwards}@keyframes door-from-shut{0%{scale:1}}@keyframes door-from-open{0%{scale:.16 1}}@keyframes door-swing{0%,10%{scale:1}30%,60%{scale:.16 1}80%,to{scale:1}}@keyframes door-pill-on{0%,20%{opacity:0}24%,66%{opacity:1}70%,to{opacity:0}}@keyframes door-pill-off{0%,20%{opacity:1}24%,66%{opacity:0}70%,to{opacity:1}}.car-prop .road{fill:#dfe3ee}.car-prop .road-line{stroke:#fff;stroke-width:2px}.car-prop .car-paint{fill:#ff7a59;stroke:#d65a3a;stroke-width:1.2px}.car-prop .car-glass{fill:#e9f0ff}.car-prop .car-light{fill:#ffe066}.car-prop .wheel circle{fill:#2b3350}.car-prop .wheel path{stroke:#9aa4bf;stroke-width:1.6px}.car-prop .speed-lines path{stroke:#9aa4bf;stroke-width:2px;stroke-linecap:round;opacity:0;transition:opacity .3s}.car-prop.moving .speed-lines path{opacity:1}.car-prop .wheel{transform-origin:50%}.car-prop.moving .wheel{animation:.5s linear 6 wheel-spin}.car-prop.moving .car-bob{animation:.5s ease-in-out 6 car-bob}@keyframes wheel-spin{to{rotate:360deg}}@keyframes car-bob{50%{translate:0 -1px}}.car-prop .dial-face{fill:#fff;stroke:#c4cbe0;stroke-width:2.5px}.car-prop .dial-track,.car-prop .dial-reach{fill:none;stroke-width:5px;stroke-linecap:round}.car-prop .dial-track{stroke:#eef1f8}.car-prop .dial-reach{stroke:var(--k-float-soft);stroke-dasharray:100 100;transition:stroke-dashoffset 1.2s cubic-bezier(.45,0,.2,1)}.car-prop .dial-tick{stroke:#9aa4bf;stroke-width:1px}.car-prop .dial-tick.major{stroke:#5b6784;stroke-width:1.6px}.car-prop .dial-num{fill:var(--ink-soft);font-size:8.5px;font-weight:800}.car-prop .needle path{fill:#e0452f}.car-prop .needle{transition:rotate 1.2s cubic-bezier(.45,0,.2,1)}.car-prop .hub{fill:#2b3350}.car-prop .needle{animation:needle-from-zero 1.4s cubic-bezier(.45, 0, .2, 1) calc(var(--beat,0s) + .35s) backwards}.car-prop .dial-reach{animation:reach-from-zero 1.4s cubic-bezier(.45, 0, .2, 1) calc(var(--beat,0s) + .35s) backwards}@keyframes needle-from-zero{0%{rotate:-120deg}}@keyframes reach-from-zero{0%{stroke-dashoffset:100px}}.car-prop .readout rect{fill:var(--kb,#f1f3f9);stroke:var(--kc,#c4cbe0);stroke-width:1.4px}.car-prop .readout text{font-family:var(--mono);fill:var(--kc,var(--ink-soft));font-weight:800}.car-prop .readout-value{font-size:14px}.car-prop .readout-unit{font-family:ui-sans-serif,system-ui,sans-serif;font-size:8px}.note-prop .sticky-paper{fill:#fff6b8;stroke:#e0cf6a;stroke-width:1.2px}.note-prop .sticky-tape{fill:#c4cbe08c}.note-prop .sticky-title{fill:#8a7a2a;text-anchor:start;letter-spacing:.04em;text-transform:uppercase;font-size:9.5px;font-weight:800}.note-prop .sticky-hand{fill:#2b3350;font-family:Bradley Hand,Segoe Print,Comic Sans MS,Chalkboard SE,cursive;font-weight:700}.note-prop .sticky{animation:note-stick .42s cubic-bezier(.2, .9, .3, 1.3) calc(var(--beat,0s) + .1s) backwards}.note-prop .robot-tag rect{fill:var(--kb,#fff);stroke:var(--kc,#9aa4bf);stroke-width:1.8px}.note-prop .robot-tag.empty rect{fill:#f5f7fc;stroke:#b3bbd3;stroke-dasharray:4 3}.note-prop .robot-tag-text{font-family:var(--mono);fill:var(--kc,#9aa4bf);font-weight:800}.note-prop .robot-tag-pop{transform-origin:50%}.note-prop .robot-tag:not(.empty) .robot-tag-pop{animation:.3s cubic-bezier(.2,.9,.3,1.3) backwards tag-pop}.note-prop.refused .robot-tag rect{stroke:var(--unworked);stroke-dasharray:5 3}.note-prop.refused .robot-tag-text{fill:var(--unworked)}.value .value-shadow{fill:#dde3f2}.value .value-face{fill:#fff;stroke:#c4cbe0;stroke-width:1.6px}.value .value-text{font-family:var(--mono);fill:var(--ink);white-space:pre;font-weight:800}.value .value-card{transform-origin:50%;animation:value-in .42s cubic-bezier(.3, 1.3, .5, 1) calc(var(--beat,0s) + .1s) backwards}@keyframes value-in{0%{opacity:0;translate:0 -16px;scale:.85}}.card .easel{stroke:#a58b62;stroke-width:3px;stroke-linecap:round}.card .card-face{fill:#fff;stroke:#c4cbe0;stroke-width:1.5px}.card .card-text{fill:var(--k-str);font-size:19px;font-weight:800}.card .card-flip{transform-origin:50%;animation:flip-in .5s cubic-bezier(.3, 1.2, .5, 1) calc(var(--beat,0s) + .3s) backwards}@keyframes flip-in{0%{transform:scaleX(0)}}.letter .face rect{stroke-width:2px}.letter .front rect{fill:var(--k-str-bg);stroke:var(--k-str)}.letter .front text{font-family:var(--mono);fill:var(--k-str);font-size:40px;font-weight:800}.letter .back rect{fill:var(--k-int-bg);stroke:var(--k-int)}.letter .back text{font-family:var(--mono);fill:var(--k-int);font-size:28px;font-weight:800}.letter .face{transform-origin:50%;transition:transform .3s ease-in}.letter .back{transform:scaleX(0)}.letter:not(.turned) .front,.letter.turned .back{transition:transform .3s ease-out .3s}.letter.turned .front{transform:scaleX(0)}.letter.turned .back{transform:none}.letter .letter-caption{font-family:var(--mono);font-size:11px;font-weight:800}.letter .letter-wiggle{transform-origin:50% 100%;animation:wiggle .7s ease-in-out calc(var(--beat,0s) + .5s) 2}.crates .crate-box{fill:#e8d5b5;stroke:#b39469;stroke-width:1.5px}.crates .crate{animation:pop-up .36s cubic-bezier(.3, 1.4, .6, 1) calc(var(--beat,0s) + .2s + var(--i) * .12s) backwards}.crates .bolt{fill:#c4cbe0;transition:fill .2s calc(var(--i) * 18ms)}.crates .bolt.lit{fill:var(--k-int)}.crates .crates-label{font-family:var(--mono);fill:var(--k-int);font-size:10px;font-weight:800}@keyframes pop-up{0%{opacity:0;translate:0 14px}}.share .jug-body{fill:#ffffff80;stroke:#8fa0c4;stroke-width:2px}.share .jug-handle{fill:none;stroke:#8fa0c4;stroke-width:3px}.share .oil{fill:#f2b544;transform-box:fill-box;transform-origin:50% 100%;transition:transform .9s cubic-bezier(.3,.8,.4,1)}.share .jug-label{font-family:var(--mono);font-size:11px;font-weight:800}.share .tank-body{fill:#fff;stroke:#8fa0c4;stroke-width:1.5px}.share .tank-label{font-family:var(--mono);fill:var(--k-float);font-size:9px;font-weight:800}.share .jug{animation:wiggle .7s ease-in-out calc(var(--beat,0s) + .4s) 2;transform-box:fill-box;transform-origin:50% 100%}.bolts .bolt-shape path,.bolts .bolt-shape rect{fill:#7c87a6}.bolts .used .bolt-shape{opacity:.25;animation:used-up .5s ease-in calc(var(--beat,0s) + .6s + var(--i) * .15s) backwards}.bolts .ringed .bolt-shape path,.bolts .ringed .bolt-shape rect{fill:var(--k-int)}.bolts .used.ringed .bolt-shape path,.bolts .used.ringed .bolt-shape rect{fill:var(--bad)}.bolts .ring{fill:none;stroke:var(--k-int);stroke-width:1.5px}.bolts .used .ring{stroke:var(--bad);stroke-dasharray:3 2}.bolts .bolts-label{font-family:var(--mono);fill:var(--ink-soft);font-size:10px;font-weight:800}@keyframes used-up{0%{opacity:1;transform:none}60%{opacity:1;transform:translateY(-10px)}}.balance .stand{fill:#c4cbe0}.balance .beam{transform-box:view-box;transform-origin:100px 69px;transform:rotate(var(--tilt));animation:swing 1.4s cubic-bezier(.3, 1.6, .5, 1) calc(var(--beat,0s) + .4s) backwards}.balance .beam-bar{fill:#5b6784}.balance .pan{fill:#9aa4bf}.balance .weight{fill:var(--k-int)}.balance .weight.other{fill:#7d97f0}.balance .pivot{fill:#16203a}.balance .pan-label{font-family:var(--mono);fill:var(--k-int);font-size:12px;font-weight:800}.balance .question rect{fill:#fff;stroke:#c4cbe0}.balance .question text{font-family:var(--mono);fill:var(--ink);font-size:11px;font-weight:800}.balance .question.answered rect{fill:var(--k-bool-bg);stroke:var(--k-bool)}.balance .question.answered text{fill:var(--k-bool)}@keyframes swing{0%{transform:rotate(0)}}.expr .expr-text{font-family:var(--mono);font-size:inherit;fill:var(--ink);font-weight:800}.expr .expr-text.result{fill:var(--k-int)}.expr .first{fill:#fff3c4;stroke:#e0b400;animation:glow-in .5s ease-out calc(var(--beat,0s) + .6s) backwards}.expr .step{opacity:0}.expr.shown .step{opacity:1;animation:step-in .4s ease-out calc(var(--i) * .5s) backwards}.expr .step-arrow{stroke:#9aa4bf;stroke-width:2px}.expr .expr-hint{font-family:var(--mono);font-size:inherit;font-weight:800}@keyframes glow-in{0%{opacity:0}}.expr.working .step{opacity:1;animation:step-in .36s ease-out calc(var(--beat,0s) + .3s + var(--s) * .6s) backwards}.expr.working .work{fill:#fff3c4;stroke:#e0b400;stroke-width:1.4px;animation:glow-in .36s ease-out calc(var(--beat,0s) + .3s + var(--s) * .6s + .25s) backwards}.expr.working .made{fill:#fff3c4;transform-origin:0 0;animation:collapse .52s cubic-bezier(.45, 0, .2, 1) calc(var(--beat,0s) + .3s + var(--s) * .6s) backwards}.expr.working .expr-text.result{fill:var(--kc,var(--k-int))}@keyframes collapse{0%{translate:var(--dx,0px) var(--dy,0px);scale:var(--sx,1) 1;stroke:#e0b400}}.ops .key-base{fill:#b7c0da}.ops .key-face{fill:#fff;stroke:#c4cbe0;stroke-width:1.5px;transition:fill .25s,stroke .25s}.ops .key-sym{font-family:var(--mono);fill:var(--ink);font-size:26px;font-weight:800}.ops .key-word{fill:var(--ink-soft);font-size:9.5px;font-weight:800}.ops .key-top{transition:translate .22s cubic-bezier(.3,1.4,.6,1)}.ops .pressed .key-top{translate:0 5px}.ops .pressed .key-face{fill:#fff1c9;stroke:#e0a526;stroke-width:2px}.ops .pressed .key-word{fill:var(--ink)}.ops .op-key{animation:pop-up .36s cubic-bezier(.3, 1.4, .6, 1) calc(var(--beat,0s) + .1s + var(--i) * .1s) backwards}.ops .pressed .key-top{animation:key-from-up .26s cubic-bezier(.3, 1.4, .6, 1) calc(var(--beat,0s) + .6s) backwards}.prop-layer[data-told] .ops .pressed .key-top{animation:none}@keyframes key-from-up{0%{translate:0}}.clash .clash-tile rect{fill:var(--kb);stroke:var(--kc);stroke-width:2px}.clash .clash-text{font-family:var(--mono);fill:var(--kc);font-weight:800}.clash .clash-kind{fill:var(--kc);font-size:9.5px;font-weight:800}.clash .clash-op{font-family:var(--mono);fill:var(--ink-soft);font-size:20px;font-weight:800}.clash .clash-tile{transform-origin:50%}.clash .clash-tile.left{animation:clash-left 1.1s cubic-bezier(.4, 0, .3, 1) calc(var(--beat,0s) + .4s) backwards}.clash .clash-tile.right{animation:clash-right 1.1s cubic-bezier(.4, 0, .3, 1) calc(var(--beat,0s) + .4s) backwards}@keyframes clash-left{0%{translate:0}40%{translate:22px;rotate:0deg}55%{translate:4px;rotate:-8deg}75%{translate:-6px;rotate:2deg}}@keyframes clash-right{0%{translate:0}40%{translate:-22px;rotate:0deg}55%{translate:-4px;rotate:8deg}75%{translate:6px;rotate:-2deg}}.clash .clash-stop rect{fill:#fff0eb;stroke:#c44b28;stroke-width:1.8px}.clash .clash-x{fill:#c44b28;font-size:14px;font-weight:900}.clash .clash-error{font-family:var(--mono);fill:#b03f1f;font-size:12.5px;font-weight:800}.clash .clash-stop{transform-origin:50%;animation:stop-in .32s cubic-bezier(.2, .9, .3, 1.3) calc(var(--beat,0s) + 1.05s) backwards}@keyframes stop-in{0%{opacity:0;scale:.6}}.packs .floor{stroke:#c4cbe0;stroke-width:2px}.packs .pack-box{fill:#e8d5b5;stroke:#b39469;stroke-width:1.5px}.packs .pack{animation:pop-up .36s cubic-bezier(.3, 1.4, .6, 1) calc(var(--beat,0s) + .2s + var(--i) * .12s) backwards}.packs .loose{animation:pop-up .36s cubic-bezier(.3, 1.4, .6, 1) calc(var(--beat,0s) + .8s) backwards}.packs .item.a{fill:#f6c89a;stroke:#d58a45;stroke-width:1px;transition:fill .2s calc(var(--i) * 20ms)}.packs .item.b{fill:#b9dff0;stroke:#4f9cc0;stroke-width:1px;transition:fill .2s calc(var(--i) * 20ms)}.packs .item.a.lit{fill:#e0782a}.packs .item.b.lit{fill:#2f86b4}.packs .packs-label{font-family:var(--mono);fill:var(--ink-soft);font-size:10px;font-weight:800}.packs.refused .item.lit{fill:#e6a94a;stroke:var(--unworked);stroke-dasharray:2 1.5}.packs.refused .packs-label,.packs .unworked-q,.packs.unworked .packs-label{fill:var(--unworked)}.basket .counter-face{fill:var(--k-int-bg);stroke:var(--k-int);stroke-width:2px}.basket .counter-num{font-family:var(--mono);fill:var(--k-int);font-size:16px;font-weight:800}.basket.demo-count .counter-roll{animation:count-up calc(var(--n) * .32s) steps(var(--n), jump-start) calc(var(--beat,0s) + .72s) backwards}@keyframes count-up{0%{translate:0 calc(var(--n) * 22px)}}.basket.demo-half .apple-drop{animation:none}.basket .apple-cut{stroke:#fff3e8;stroke-width:2px}.basket .half-apple-fly{opacity:0;animation:bounce-off 1.9s cubic-bezier(.3, .6, .5, 1) calc(var(--beat,0s) + .5s) backwards}@keyframes bounce-off{0%{opacity:0;translate:0 -64px;rotate:0deg}8%{opacity:1}34%{opacity:1;translate:0;rotate:0deg}52%{opacity:1;translate:34px -26px;rotate:70deg}82%{opacity:1;translate:70px 36px;rotate:160deg}to{opacity:0;translate:80px 52px;rotate:190deg}}.basket.demo-half .counter{animation:refuse .38s ease-in-out calc(var(--beat,0s) + 1.15s) backwards}@keyframes refuse{25%{translate:-3px}75%{translate:3px}}@property --count{syntax:"<integer>";inherits:false;initial-value:0}.basket .tally-roll{translate:0 calc(var(--count) * -22px);transition:--count .9s linear .15s}.basket.demo-tally .tally-roll{animation:tally-up calc(var(--n) * .32s + 10ms) linear calc(var(--beat,0s) + .62s) backwards}@keyframes tally-up{0%{--count:0}}.basket .apple-lift{transition:translate .48s cubic-bezier(.3, 1.4, .6, 1) calc(var(--i) * .14s), opacity .2s linear calc(var(--i) * .14s)}.basket .apple-lift.out{opacity:0;transition:translate .42s cubic-bezier(.5, 0, .8, .4) calc((5 - var(--i)) * .14s), opacity .24s linear calc((5 - var(--i)) * .14s + .18s);translate:0 -58px}.glasses .given.slow .liquid{animation:fill-up 3s cubic-bezier(.45, 0, .55, 1) calc(var(--beat,0s) + .5s) backwards}.glasses .pour.slow{animation-duration:3.4s}.tiles .stamp-tile rect{fill:var(--k-str-bg);stroke:var(--k-str);stroke-width:1.5px}.tiles .stamp-tile text{font-family:var(--mono);fill:var(--k-str);font-weight:800}.tiles .stamp{transform-origin:50%;animation:stamp-down .36s cubic-bezier(.5, 0, .7, 1.3) calc(var(--beat,0s) + 1.1s + var(--i) * .5s) backwards}@keyframes stamp-down{0%{opacity:0;translate:0 -30px;scale:1.6}70%{opacity:1;scale:.94}}.tiles .stamp-caption{font-family:var(--mono);fill:var(--k-str)}.balance .verdict-lamp .lamp-glow{fill:#ffd84a;opacity:0}.balance .verdict-lamp.on .lamp-glow{opacity:.55}.balance .verdict-lamp .shade{fill:var(--brand)}.balance .verdict-lamp .bulb-glass{fill:#e7eaf3;stroke:#9aa4bf;stroke-width:1.2px}.balance .verdict-lamp.on .bulb-glass{fill:#ffe066}.balance .verdict-pill{fill:var(--k-bool-bg);stroke:var(--k-bool)}.balance .verdict-lamp text{font-family:var(--mono);fill:var(--k-bool);font-size:10px;font-weight:800}.balance .verdict-lamp.on .lamp-glow,.balance .verdict-lamp.on .bulb-glass{animation:from-dark .4s ease-out calc(var(--beat,0s) + 1.6s) backwards}.balance .verdict-lamp .verdict-pill,.balance .verdict-lamp text{animation:from-dark .3s ease-out calc(var(--beat,0s) + 1.7s) backwards}.shelf .plank{fill:#c98b4b}.shelf .cubby-box{fill:#f5f7fc;stroke:#c4cbe0;stroke-width:1.2px;stroke-dasharray:3 2;transition:fill .4s,stroke .4s}.shelf .q,.shelf .chip{transform-origin:50%}.shelf .q{fill:#b3bbd3;font-size:22px;font-weight:900}.shelf .q.small{font-size:12px}.shelf .slot-label{font-family:var(--mono);font-size:11.5px;font-weight:800}.shelf .chip rect{fill:#fff;stroke-width:1.1px}.shelf .chip text{letter-spacing:-.02em;font-weight:800}.shelf .chip.said rect,.shelf .chip.heard rect{stroke-width:1.6px}.shelf .chip.latest rect{stroke-width:2.4px}.shelf .char-tag text{letter-spacing:-.04em;fill:var(--k-str);font-size:10.2px;font-weight:600}.shelf .shelf-title text{fill:var(--ink);letter-spacing:.02em;font-size:11px;font-weight:900}.shelf .shelf-title path{stroke:#9aa4bf;stroke-width:1.2px}.shelf .shelf-title{animation:settle .6s cubic-bezier(.3, 1.3, .5, 1) calc(var(--beat,0s) + .2s) backwards}.shelf .cubby.named .cubby-box{stroke-dasharray:none;stroke-width:1.6px}.shelf .cubby.fresh .slot-label,.shelf .cubby.fresh .chip.example,.shelf .cubby.fresh .char-tag,.shelf .chip.latest{animation:fly-in .52s cubic-bezier(.3, 1.3, .5, 1) calc(var(--beat,0s) + .25s + var(--j,0) * .14s) backwards}.shelf .cubby.fresh .slot-label{animation-delay:calc(var(--beat,0s) + .1s)}.shelf .cubby.fresh .cubby-box{animation:from-plain .5s ease-out calc(var(--beat,0s) + .1s) backwards}.shelf.pulse .q{animation:q-pulse .52s ease-in-out calc(var(--beat,0s) + .3s + var(--i) * .4s) 2 backwards}.shelf.cheer .cubby.named{animation:hop .46s cubic-bezier(.3, 1.5, .6, 1) calc(var(--beat,0s) + .2s + var(--i) * .16s) backwards}.shelf .later .bracket{font-family:var(--mono);fill:#9aa4bf;font-size:13px;font-weight:800}.shelf .later .ghost{fill:none;stroke:#9aa4bf;stroke-width:1.2px;stroke-dasharray:2.5 2;animation:fly-in .42s ease-out calc(var(--beat,0s) + .3s + var(--j) * .18s) backwards}.shelf .later-tag rect{fill:#f1f3f9;stroke:#c4cbe0}.shelf .later-tag text{fill:var(--ink-soft);font-size:10.6px;font-style:italic;font-weight:800}.shelf .later .bracket,.shelf .later-tag{animation:from-dark .3s ease-out calc(var(--beat,0s) + .2s) backwards}@keyframes settle{0%{opacity:0;translate:0 -12px}}@keyframes fly-in{0%{opacity:0;translate:0 -34px;scale:.7}}@keyframes from-plain{0%{fill:#f5f7fc;stroke:#c4cbe0}}@keyframes q-pulse{50%{fill:var(--brand);scale:1.35}}.prop [data-kind=bool]{--kc:var(--k-bool);--kb:var(--k-bool-bg)}.prop [data-kind=int]{--kc:var(--k-int);--kb:var(--k-int-bg)}.prop [data-kind=float]{--kc:var(--k-float);--kb:var(--k-float-bg)}.prop [data-kind=char]{--kc:var(--k-char);--kb:var(--k-char-bg)}.prop [data-kind=str]{--kc:var(--k-str);--kb:var(--k-str-bg)}.shelf .cubby.named .cubby-box{fill:var(--kb);stroke:var(--kc)}.shelf .slot-label,.shelf .chip text{fill:var(--kc)}.shelf .chip rect{stroke:var(--kc)}.shelf .chip.said rect,.shelf .chip.heard rect{fill:var(--kb)}.numberline .track{fill:#eef1f8;stroke:#c4cbe0}.numberline .measured{fill:var(--k-float-soft);transform-origin:0%;animation:grow-x 1.4s cubic-bezier(.45, 0, .2, 1) calc(var(--beat,0s) + .4s) backwards;transition:transform 1s cubic-bezier(.45,0,.2,1)}.numberline .whole-label{font-family:var(--mono);fill:var(--ink);font-size:11px;font-weight:800}.numberline .marker path{fill:var(--k-float)}.numberline .marker{animation:slide-from 1.4s cubic-bezier(.45, 0, .2, 1) calc(var(--beat,0s) + .4s) backwards;transition:translate 1s cubic-bezier(.45,0,.2,1)}.numberline .mark-value{font-family:var(--mono);fill:var(--k-float);animation:from-dark .3s ease-out calc(var(--beat,0s) + .2s) backwards;font-size:15px;font-weight:800}@keyframes slide-from{0%{translate:var(--from-x) 0}}.letters rect{fill:var(--k-char-bg);stroke:var(--k-char);stroke-width:1.5px}.letters text{font-family:var(--mono);fill:var(--k-char);font-weight:800}.letters .letter-float{animation:float-up 1.3s cubic-bezier(.2, .7, .3, 1) calc(var(--beat,0s) + .2s + var(--i) * .22s) backwards}@keyframes float-up{0%{opacity:0;translate:0 80px;rotate:12deg}60%{opacity:1}}.char-prop .char-tile rect{fill:var(--k-char-bg);stroke:var(--k-char);stroke-width:2px}.char-prop .char-tile text{font-family:var(--mono);fill:var(--k-char);font-size:40px;font-weight:800}.char-prop .char-tile{transform-origin:50%;animation:pop-in .38s cubic-bezier(.3, 1.5, .6, 1) calc(var(--beat,0s) + .2s) backwards}.char-prop .plain-quote{font-family:var(--mono);fill:#9aa4bf;font-size:30px;font-weight:800}.char-prop .clasp rect{fill:var(--k-char);stroke:#fff;stroke-width:1.5px}.char-prop .clasp.left{animation:clasp-left .42s cubic-bezier(.5, 0, .6, 1.5) calc(var(--beat,0s) + .35s) backwards}.char-prop .clasp.right{animation:clasp-right .42s cubic-bezier(.5, 0, .6, 1.5) calc(var(--beat,0s) + .35s) backwards}.char-prop .char-caption{fill:var(--k-char);font-size:10px;font-weight:800}@keyframes clasp-left{0%{opacity:0;translate:-18px}}@keyframes clasp-right{0%{opacity:0;translate:18px}}.contrast .side-card rect{fill:var(--kb);stroke:var(--kc);stroke-width:2px}.contrast .side-card text{font-family:var(--mono);fill:var(--kc);font-weight:800}.contrast .side-card{transform-origin:50%;animation:pop-in .42s cubic-bezier(.3, 1.5, .6, 1) calc(var(--beat,0s) + .25s + var(--i) * .5s) backwards}.contrast .side-card.result{animation:drop-in .42s cubic-bezier(.3, 1.4, .6, 1) calc(var(--beat,0s) + 1.4s + var(--i) * .5s) backwards}.contrast .makes{fill:none;stroke:#9aa4bf;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.contrast .versus{fill:#9aa4bf;font-size:18px;font-weight:800}.contrast .side-kind{font-family:var(--mono);fill:var(--kc);font-size:9.5px;font-weight:800}.contrast .side-label{font-size:11px;font-weight:700}@keyframes drop-in{0%{opacity:0;translate:0 -16px}}.beads .thread{fill:none;stroke:#9aa4bf;stroke-width:1.6px}.beads .bead circle{fill:var(--k-char-bg);stroke:var(--k-char);stroke-width:1.6px}.beads .bead text{font-family:var(--mono);fill:var(--k-char);font-weight:800}.beads .bead{animation:bead-on .7s cubic-bezier(.3, .8, .4, 1) calc(var(--beat,0s) + .3s + var(--i) * .3s) backwards}@keyframes bead-on{0%{opacity:0;translate:var(--dx) -4px}20%{opacity:1}}.beads .clasp rect{fill:var(--k-str);stroke:#fff;stroke-width:1px}.beads .clasp .halo{fill:#ffd84a;opacity:0;transition:opacity .4s}.beads.glow .clasp .halo{opacity:.5}.beads .clasp{animation:clip-on .36s cubic-bezier(.5, 0, .6, 1.5) calc(var(--beat,0s) + .6s + var(--n) * .3s) backwards}.beads.glow .clasp .halo{animation:glow-pulse .7s ease-in-out calc(var(--beat,0s) + .2s) 2 backwards}.beads .clasp-word{fill:var(--k-str);animation:from-dark .3s ease-out calc(var(--beat,0s) + .3s) backwards;font-size:10px;font-weight:800}.beads .beads-caption{font-family:var(--mono);fill:var(--k-str);font-size:11px;font-weight:800}@keyframes clip-on{0%{opacity:0;translate:0 -22px}}@keyframes glow-pulse{0%,to{opacity:.5}50%{opacity:.95}}.pointer .pointer-tag rect{fill:#fff;stroke:var(--brand);stroke-width:2px}.pointer .pointer-tag text{fill:var(--ink);font-size:11px;font-weight:800}.pointer .pointer-tag{animation:from-dark .3s ease-out calc(var(--beat,0s) + .2s) backwards}.pointer .chevron{fill:none;stroke:var(--brand);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;opacity:.7;animation:chevron-run 1.1s ease-in-out calc(var(--beat,0s) + .4s + var(--i) * 50ms) 3 backwards}@keyframes chevron-run{0%,to{opacity:.7}30%{opacity:.15}}.lamps .lamp-glow{fill:#ffd84a;opacity:.55}.lamps .shade{fill:var(--brand)}.lamps .bulb-glass{fill:#ffe066;stroke:#9aa4bf;stroke-width:1.5px}.lamps .true-pill{fill:var(--k-bool-bg);stroke:var(--k-bool)}.lamps .true-text{font-family:var(--mono);fill:var(--k-bool);font-size:10px;font-weight:800}.lamps .one-block{fill:var(--k-int-bg);stroke:var(--k-int);stroke-width:1.8px}.lamps .one-text,.lamps .sum-text{font-family:var(--mono);fill:var(--k-int);font-size:14px;font-weight:800}.lamps .sum-text{font-size:17px}.lamps .sum-kind{font-family:var(--mono);fill:var(--k-int);font-size:11px;font-weight:800}.lamps .op{font-size:16px;font-weight:800}.lamps .one-lamp .lamp-glow,.lamps .one-lamp .bulb-glass{animation:from-dark .38s ease-out calc(var(--beat,0s) + .3s + var(--i) * .45s) backwards}.lamps .one-lamp .as-one{animation:drop-in .42s cubic-bezier(.3, 1.4, .6, 1) calc(var(--beat,0s) + 1.4s + var(--i) * .35s) backwards}.lamps .as-one-op{animation:from-dark .3s ease-out calc(var(--beat,0s) + 1.5s + var(--n) * .35s) backwards}.lamps .sum{transform-origin:50%;animation:pop-in .42s cubic-bezier(.3, 1.5, .6, 1) calc(var(--beat,0s) + 1.8s + var(--n) * .35s) backwards}.codes .axis{stroke:#5b6784;stroke-width:2px}.codes .code-num{font-family:var(--mono);fill:var(--k-int);animation:from-dark .3s ease-out calc(var(--beat,0s) + 1s + var(--i) * .55s) backwards;font-size:11px;font-weight:800}.codes .code-tile rect{fill:var(--k-char-bg);stroke:var(--k-char);stroke-width:1.6px}.codes .code-tile text{font-family:var(--mono);fill:var(--k-char);font-size:17px;font-weight:800}.codes .code-tile .drop{stroke:var(--k-char);stroke-width:1.2px;stroke-dasharray:2 2}.codes .code-tile{animation:slide-on .8s cubic-bezier(.3, .8, .4, 1) calc(var(--beat,0s) + .3s + var(--i) * .55s) backwards}@keyframes slide-on{0%{opacity:0;translate:var(--dx) 0}30%{opacity:1}}.scale .floor{stroke:#b39469;stroke-width:2px}.scale .post,.scale .platform{fill:#7c87a6}.scale .base{fill:#4a5578}.scale .readout{fill:#dff3e6}.scale .reading{font-family:var(--mono);fill:#5b6784;font-size:15px;font-weight:800}.scale.weighed .reading{fill:var(--k-int);animation:from-dark .3s ease-out calc(var(--beat,0s) + .6s + var(--n) * .14s) backwards}.scale.off .readout{fill:#ffe9c2}.scale.off .reading{fill:#8a4b00}.scale.unworked .readout{fill:var(--unworked-bg);stroke:var(--unworked);stroke-width:1.5px;stroke-dasharray:4 3}.scale.unworked .reading,.crates.unworked .crates-label,.bolts.unworked .bolts-label,.share .unworked-q,.expr.unworked .expr-hint,.letter.unworked .letter-caption{fill:var(--unworked)}.crates.unworked .crate-box,.share.unworked .tank-body{stroke:var(--unworked);stroke-dasharray:4 3}.share .unworked-q{font-size:14px}.numberline .unworked-q,.tiles .unworked-q{fill:var(--unworked)}.tiles .unworked-q{font-size:14px;font-weight:800}.answer-tag.refused{border-color:var(--unworked);border-style:dashed}.lamp.refused .lamp-glow{fill:#f0a534}.lamp.refused.on .lamp-glow{opacity:.4}.lamp.refused.on .bulb-glass{fill:var(--unworked-bg);stroke:var(--unworked);stroke-dasharray:3 2}.lamp.refused .shade{stroke:var(--unworked);stroke-width:2px;stroke-dasharray:4 3}.doorway.refused .leaf-face{stroke:var(--unworked);stroke-width:2px;stroke-dasharray:5 3}.doorway.refused .pill-true,.doorway.refused .pill-false{fill:var(--unworked-bg);stroke:var(--unworked);stroke-dasharray:3 2}.doorway.refused .switch-label,.fishbowl.refused .same-sign{fill:var(--unworked)}.prop .token.refused circle,.prop .token.refused path{fill:var(--unworked-bg);stroke:var(--unworked);stroke-dasharray:3 2}.prop .token.refused text{fill:var(--unworked)}.lift .car.refused{fill:var(--unworked-bg);stroke:var(--unworked);stroke-width:1.5px;stroke-dasharray:4 3}.lift .car.refused+.car-door{stroke:var(--unworked);opacity:.6}.lift .refused-floor{font-family:var(--mono);fill:var(--unworked);text-anchor:start;font-size:10px;font-weight:800}.glasses.refused .yours .liquid{fill:#f3c77e}.glasses.refused .yours .glass-edge{stroke:var(--unworked)}.glasses.refused .glass-caption{fill:var(--unworked)}.height.refused .figure circle,.height.refused .figure path{fill:var(--unworked-bg);stroke:var(--unworked);stroke-dasharray:3 2;vector-effect:non-scaling-stroke}.height.refused .height-mark line{stroke:var(--unworked)}.height.refused .height-mark text{fill:var(--unworked)}.carton.refused .egg{fill:var(--unworked-bg);stroke:var(--unworked);stroke-width:1.5px;stroke-dasharray:3 2}.breakfast.refused .dish{stroke:var(--unworked);stroke-width:2px;stroke-dasharray:4 3}.match.refused .reach rect{fill:var(--unworked-bg);stroke:var(--unworked);stroke-dasharray:3 2}.match.refused .reach text{fill:var(--unworked)}.card.refused .card-face,.door .note.refused rect{stroke:var(--unworked);stroke-width:2px;stroke-dasharray:5 3}.phone.refused .screen-text.text,.phone.refused .screen-text.num{fill:var(--unworked)}.tiles.refused .tile rect,.tiles.refused .block{stroke:var(--unworked);stroke-dasharray:4 3}.tiles.refused .tiles-caption{fill:var(--unworked)}.crates.refused .bolt.lit{fill:#e6a94a}.crates.refused .crates-label,.bolts.refused .bolts-label,.share.refused .jug-label,.share.refused .tank-label,.letter.refused .letter-caption{fill:var(--unworked)}.bolts.refused .ring{stroke:var(--unworked);stroke-dasharray:3 2}.bolts.refused .ringed:not(.used) .bolt-shape path,.bolts.refused .ringed:not(.used) .bolt-shape rect{fill:#c98a2a}.scale .parcel rect{fill:#e2b77a;stroke:#9c6630;stroke-width:1.2px}.scale .parcel text{font-family:var(--mono);fill:#5a3a10;font-size:10px;font-weight:800}.scale.weighed .parcel{animation:drop-in .38s cubic-bezier(.3, 1.4, .6, 1) calc(var(--beat,0s) + .2s + var(--i) * .14s) backwards}.code .code-card{fill:#fbfcff;stroke:#c4cbe0;stroke-width:1.4px}.code .code-line{font-family:var(--mono);text-anchor:start;fill:var(--ink);white-space:pre;font-weight:600}.code .tok-keyword{fill:#6a3fc9;font-weight:800}.code .tok-string{fill:var(--k-str)}.code .tok-number{fill:var(--k-int)}.code .tok-comment{fill:#5f6780;font-style:italic}.code .code-guide{stroke:#b7c0da;stroke-width:1.2px;stroke-dasharray:2 2.5}.code .code-mark{fill:#fff1c9;stroke:#e0a526;stroke-width:1.2px;transition:y .32s cubic-bezier(.3,1.2,.5,1)}.code .code-line{animation:code-in .26s ease-out calc(var(--beat,0s) + .12s + var(--i,0) * 90ms) backwards}.code .code-mark{animation:from-dark .3s ease-out calc(var(--beat,0s) + .3s) backwards}.prop-layer[data-told] .code .code-line,.prop-layer[data-told] .code .code-mark{animation:none}@keyframes code-in{0%{opacity:0;translate:-6px}}.goal .goal-wash{fill:#eef4ff}.goal .goal-grid line{stroke:#d6e2fb;stroke-width:.6px}.goal .goal-frame{fill:none;stroke:#7d9be3;stroke-width:1.3px;stroke-dasharray:5 3.5;transition:stroke .3s}.goal .goal-title{letter-spacing:.1em;fill:#3a57b8;text-anchor:start;font-family:Nunito,ui-rounded,system-ui,sans-serif;font-size:9.5px;font-variant-caps:all-small-caps;font-weight:800}.goal .goal-done{fill:var(--good);text-anchor:end;font-family:Nunito,ui-rounded,system-ui,sans-serif;font-size:8.5px;font-weight:800}.goal .goal-name{fill:#ffffffb3;stroke:#8fa3ea;stroke-width:1.1px;stroke-dasharray:3 2.2;transition:fill .26s,stroke .26s}.goal .goal-name-text{font-family:var(--mono);fill:#2b47b8;text-anchor:middle;font-weight:700}.goal .goal-arrow{stroke:#8fa0c8;stroke-width:1.3px;stroke-dasharray:2.5 2}.goal .goal-tip{fill:#8fa0c8}.goal .goal-card{fill:#ffffffb3;stroke-width:1.2px;stroke-dasharray:3.2 2.2;transition:fill .26s,stroke-dasharray}.goal .goal-value{font-family:var(--mono);text-anchor:middle;white-space:pre;font-weight:800}.goal .goal-card[data-kind=bool]{stroke:var(--k-bool)}.goal .goal-card[data-kind=int]{stroke:var(--k-int)}.goal .goal-card[data-kind=float]{stroke:var(--k-float)}.goal .goal-card[data-kind=str]{stroke:var(--k-str)}.goal .goal-value[data-kind=bool]{fill:var(--k-bool)}.goal .goal-value[data-kind=int]{fill:var(--k-int)}.goal .goal-value[data-kind=float]{fill:var(--k-float)}.goal .goal-value[data-kind=str]{fill:var(--k-str)}.goal .goal-row.ok .goal-name{fill:var(--brand-soft);stroke:var(--brand-line);stroke-dasharray:none}.goal .goal-row.ok .goal-arrow{stroke:#7d8fbd;stroke-dasharray:none}.goal .goal-row.ok .goal-card{stroke-dasharray:none}.goal .goal-row.ok .goal-card[data-kind=bool]{fill:var(--k-bool-bg)}.goal .goal-row.ok .goal-card[data-kind=int]{fill:var(--k-int-bg)}.goal .goal-row.ok .goal-card[data-kind=float]{fill:var(--k-float-bg)}.goal .goal-row.ok .goal-card[data-kind=str]{fill:var(--k-str-bg)}.goal .goal-tick circle{fill:none;stroke:#a9b8de;stroke-width:1px;stroke-dasharray:2 1.8}.goal .goal-row.ok .goal-tick circle{fill:var(--good);stroke:var(--good);stroke-dasharray:none}.goal .goal-tick path{fill:none;stroke:#fff;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.goal .goal-now,.goal .goal-extra{font-family:var(--mono);fill:var(--unworked);text-anchor:middle;font-weight:700}.goal .goal-extra{font-size:9px}.goal.met .goal-frame{stroke:var(--good)}.goal.refused .goal-frame{stroke:var(--unworked)}.goal .goal-not-so{fill:var(--unworked)}.goal.refused .goal-row.ok .goal-tick circle{fill:var(--unworked);stroke:var(--unworked)}.goal .goal-row{animation:goal-row-in .28s ease-out calc(var(--beat,0s) + .1s + var(--i,0) * .1s) backwards}.prop-layer[data-told] .goal .goal-row{animation:none}.goal .goal-row.ok .goal-tick{animation:.32s cubic-bezier(.3,1.5,.5,1) backwards goal-tick-in;scale:1}.goal .goal-row.ok .goal-tick path{stroke-dasharray:10;animation:.26s ease-out .12s backwards goal-check-in}.goal .goal-settle{transform-box:view-box;transform-origin:100px 65px}.goal.met .goal-settle{animation:.7s cubic-bezier(.3,1.4,.5,1) backwards goal-settle}.goal.met .goal-wash{animation:.9s ease-out backwards goal-glow}@keyframes goal-row-in{0%{opacity:0;translate:-6px}}@keyframes goal-tick-in{0%{opacity:0;scale:.2}}@keyframes goal-check-in{0%{stroke-dashoffset:10px}}@keyframes goal-settle{0%{scale:1.06}}@keyframes goal-glow{0%{fill:#dcf5e6}}.prop .slot-strip{fill:#ffffffbf;stroke:var(--ref);stroke-width:1.2px}.prop .slot-divider{stroke:var(--ref-line);stroke-width:1px}.prop .slot-index{font-family:var(--mono);fill:var(--ref-deep);text-anchor:middle;font-size:7.5px;font-weight:800}.goal .goal-list-card{stroke-dasharray:3.2 2.2}.goal .goal-row.ok .goal-list-card{fill:var(--ref-bg);stroke-dasharray:none}.goal .goal-chip,.goal .goal-slot-arrow{stroke-width:1px}.goal .goal-alias,.goal .goal-elbow{fill:none}.goal .goal-row.ok .goal-slot-arrow,.goal .goal-row.ok .goal-elbow,.goal .goal-row.ok .goal-alias{stroke-dasharray:none}.hotbar .hotbar-frame{fill:#27324d;stroke:#16203a;stroke-width:1.2px}.hotbar .hotbar-cell{fill:#3b4868;stroke:#1b2440;stroke-width:1px;transition:fill .22s,stroke .22s}.hotbar .hotbar-bevel{fill:none;stroke:#ffffff2e;stroke-width:1.2px;stroke-linecap:round}.hotbar .hotbar-name{fill:#e3e9f7;text-anchor:middle;font-family:Nunito,ui-rounded,system-ui,sans-serif;font-weight:800}:is(.hotbar,.backpack) .hotbar-tile{fill:#f4f6fb;stroke:#a9b4cf;stroke-width:.8px}:is(.hotbar,.backpack) .hotbar-word{font-family:var(--mono);fill:var(--k-str);text-anchor:middle;font-weight:800}.hotbar .hotbar-lift{transition:translate .3s cubic-bezier(.3,1.4,.5,1)}.hotbar .hotbar-slot.marked .hotbar-lift{translate:0 -3px}.hotbar .hotbar-slot.marked .hotbar-cell{fill:#4a5a80}.hotbar .hotbar-select{fill:none;stroke:#ffd166;stroke-width:2.4px;filter:drop-shadow(0 0 3px #ffd166b3);pointer-events:none;transition:x .3s cubic-bezier(.3,1.2,.5,1),width .3s;translate:0 -3px}.hotbar .hotbar-number .slot-strip{transition:fill .22s,stroke .22s}.hotbar .hotbar-slot.marked .hotbar-number .slot-strip{fill:#fff1c9;stroke:#e0a526;stroke-width:1.6px}.hotbar .hotbar-slot.lit .hotbar-cell{fill:var(--k-str-bg);stroke:var(--k-str);stroke-width:2px}.hotbar .hotbar-slot.lit .hotbar-name{fill:var(--k-str)}.hotbar.refused .hotbar-slot.lit .hotbar-cell{fill:var(--unworked-bg);stroke:var(--unworked);stroke-dasharray:3 2}.hotbar.refused .hotbar-slot.lit .hotbar-name{fill:var(--unworked)}.hotbar .icon *{stroke-linecap:round;stroke-linejoin:round}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-steel{fill:#cfd8e8;stroke:#7d8aa6;stroke-width:.8px}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-wood{fill:#b07a45;stroke:#6f4a26;stroke-width:.7px}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-grip{stroke:#6f4a26;stroke-width:2.6px}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-gold{fill:#f5c542;stroke:#b3861b;stroke-width:.8px}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-blue{fill:#5b8def;stroke:#2f4fa8;stroke-width:.9px}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-blue-dark{fill:#3f6fd1}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-mark{fill:none;stroke:#f5c542;stroke-width:1.8px}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-glass{fill:#e8f1ff;stroke:#8fa3c9;stroke-width:.8px}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-red{fill:#e5484d;stroke:#a8262b;stroke-width:.7px}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-shine{fill:#ffffffbf}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-bow{fill:none;stroke:#b07a45;stroke-width:2.4px}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-string{fill:none;stroke:#e3e9f7;stroke-width:.7px}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-shaft{fill:none;stroke:#d9b88a;stroke-width:1.3px}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-paper{fill:#f3e2b8;stroke:#a8874a;stroke-width:.8px}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-fold{fill:none;stroke:#c9ad74;stroke-width:.7px}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-route{fill:none;stroke:#8f4700;stroke-width:1px;stroke-dasharray:1.6 1.4}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-x{fill:none;stroke:#e5484d;stroke-width:1.5px}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-gem{fill:#52d6e0;stroke:#1f8793;stroke-width:.8px}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-facet{fill:none;stroke:#ffffffb3;stroke-width:.6px}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-key{fill:#f5c542;stroke:#b3861b;stroke-width:.8px}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-hole{fill:#3b4868}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-key-line{fill:none;stroke:#f5c542;stroke-width:2.2px}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-stem{fill:none;stroke:#6f4a26;stroke-width:1.3px}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-leaf{fill:#52b35f;stroke:#2e7a39;stroke-width:.6px}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-flame{fill:#ff9f40;stroke:#d9651a;stroke-width:.6px}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-flame-core{fill:#ffe27a}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-visor{fill:#27324d}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-ridge{fill:none;stroke:#7d8aa6;stroke-width:1px}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-coin-rim{fill:none;stroke:#b3861b;stroke-width:.8px}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-coin-star{fill:#fff3c4}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-handle{fill:none;stroke:#b07a45;stroke-width:2.2px}.hotbar .hotbar-item{transform-box:fill-box;transform-origin:50%;animation:hotbar-pop .36s cubic-bezier(.3, 1.6, .5, 1) calc(var(--beat,0s) + .15s + var(--i,0) * 70ms) backwards}.prop-layer[data-told] .hotbar .hotbar-item{animation-delay:0s}.hotbar .hotbar-number{animation:from-dark .3s ease-out calc(var(--beat,0s) + .2s + var(--i,0) * 70ms) backwards}.prop-layer[data-told] .hotbar .hotbar-number{animation:none}@keyframes hotbar-pop{0%{opacity:0;scale:.3}}.backpack .pack-handle{fill:none;stroke:#8a6a43;stroke-width:5px;stroke-linecap:round}.backpack .pack-body{fill:#c98f4e;stroke:#8a5d2c;stroke-width:1.4px}.backpack .pack-base{fill:#a8733b}.backpack .pack-flap{fill:#b57a3c;stroke:#8a5d2c;stroke-width:1.2px}.backpack .pack-strap{fill:#8a5d2c}.backpack .pack-buckle{fill:#f2c94c;stroke:#a77f17;stroke-width:1px}.backpack .pack-buckle-hole{fill:#8a5d2c}.backpack .pack-seam{stroke:#e3b57b;stroke-width:1px;stroke-dasharray:3 2.5}.backpack .pocket-back{fill:#6f4a26}.backpack .pocket-front{fill:#e0a965;stroke:#8a5d2c;stroke-width:1.1px;transition:fill .22s,stroke .22s}.backpack .pocket-stitch{stroke:#fff2dc;stroke-width:.9px;stroke-dasharray:2 1.8}.backpack .pocket-name{fill:#4a2f12;text-anchor:middle;font-family:Nunito,ui-rounded,system-ui,sans-serif;font-weight:800}.backpack .pocket-lift{transition:translate .3s cubic-bezier(.3,1.4,.5,1)}.backpack .pack-pocket.marked .pocket-lift{translate:0 -9px}.backpack .pack-pocket.marked .pocket-front{fill:#ffe7a8;stroke:#e0a526;stroke-width:2px}.backpack .pack-pocket .pocket-number .slot-strip{transition:fill .22s,stroke .22s}.backpack .pack-pocket.marked .pocket-number .slot-strip{fill:#fff1c9;stroke:#e0a526;stroke-width:1.6px}.backpack .pack-pocket.lit .pocket-front{fill:var(--k-str-bg);stroke:var(--k-str);stroke-width:2px}.backpack .pack-pocket.lit .pocket-name{fill:var(--k-str)}.backpack.refused .pack-pocket.lit .pocket-front{fill:var(--unworked-bg);stroke:var(--unworked);stroke-dasharray:3 2}.backpack .pocket-tick circle{fill:var(--good)}.backpack .pocket-tick path{fill:none;stroke:#fff;stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round}.backpack .pack-count rect{fill:var(--k-int-bg);stroke:var(--k-int);stroke-width:1.2px}.backpack .pack-count text{font-family:var(--mono);fill:var(--k-int);text-anchor:middle;font-size:8.5px;font-weight:800}.backpack .pack-count.all rect{stroke:var(--good)}.backpack .pack-count.waiting rect{fill:var(--unworked-bg);stroke:var(--unworked);stroke-dasharray:3 2}.backpack .pack-count.waiting text{fill:var(--unworked)}.backpack.refused .pack-count rect{stroke:var(--unworked);stroke-dasharray:3 2}.backpack .icon *{stroke-linecap:round;stroke-linejoin:round}.backpack .pocket-item{transform-box:fill-box;transform-origin:bottom;animation:hotbar-pop .36s cubic-bezier(.3, 1.6, .5, 1) calc(var(--beat,0s) + .15s + var(--i,0) * 70ms) backwards}.prop-layer[data-told] .backpack .pocket-item{animation-delay:0s}.backpack .pocket-tick{animation:goal-tick-in .28s cubic-bezier(.3, 1.5, .5, 1) calc(var(--i,0) * .12s) backwards}.backpack .pocket-number{animation:from-dark .3s ease-out calc(var(--beat,0s) + .2s + var(--i,0) * 70ms) backwards}.prop-layer[data-told] .backpack .pocket-number{animation:none}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-tile{fill:#e9edf6;stroke:#9aa4bf;stroke-width:.9px;stroke-dasharray:2.2 1.6}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-tile-dot{fill:#9aa4bf}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-smoke{fill:none;stroke:#9aa4bf;stroke-width:1px;stroke-dasharray:1.4 1.2}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-speed{fill:none;stroke:#9aa4bf;stroke-width:1.2px}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-print{fill:#7d6a8f}:is(.hotbar,.backpack,.hud,.paths,.coin-tally) .i-logs{fill:none;stroke:#8a5d2c;stroke-width:2.6px}:is(.hud,.paths,.coin-tally) .icon *{stroke-linecap:round;stroke-linejoin:round}.hud .hud-panel{transition:translate .36s cubic-bezier(.3,1.2,.5,1)}.hud .hud-frame{fill:#27324d;stroke:#16203a;stroke-width:1.2px}.hud .hud-title{letter-spacing:.08em;text-transform:uppercase;fill:#ffd166;font-family:Nunito,ui-rounded,system-ui,sans-serif;font-size:9.5px;font-weight:900}.hud .hud-cell{fill:#34405f;stroke:none;transition:fill .22s,stroke .22s}.hud .hud-row.marked .hud-cell{fill:#4a5a80;stroke:#ffd166;stroke-width:2px;filter:drop-shadow(0 0 2.5px #ffd166a6)}.hud .hud-name{font-family:var(--mono);fill:#e3e9f7;text-anchor:start;font-weight:700}.hud .hud-row.marked .hud-name{fill:#ffe7a8}.hud .hud-icon.ghost{opacity:.35}.hud .hud-bar-track{fill:#1b2440}.hud .hud-bar-fill{fill:#e5484d;transition:width .4s}.hud .hud-value rect{fill:#fff;stroke:#9aa4bf;stroke-width:1px}.hud .hud-value text{font-family:var(--mono);fill:var(--ink);text-anchor:middle;font-weight:800}.hud .hud-value[data-kind=bool] rect{fill:var(--k-bool-bg);stroke:var(--k-bool)}.hud .hud-value[data-kind=bool] text{fill:var(--k-bool)}.hud .hud-value[data-kind=int] rect{fill:var(--k-int-bg);stroke:var(--k-int)}.hud .hud-value[data-kind=int] text{fill:var(--k-int)}.hud .hud-value[data-kind=float] rect{fill:var(--k-float-bg);stroke:var(--k-float)}.hud .hud-value[data-kind=float] text{fill:var(--k-float)}.hud .hud-value[data-kind=str] rect{fill:var(--k-str-bg);stroke:var(--k-str)}.hud .hud-value[data-kind=str] text{fill:var(--k-str)}.hud .hud-item-word{font-family:var(--mono);fill:var(--k-str);text-anchor:middle;font-size:8px;font-weight:800}.hud .hud-value,.hud .hud-items{transform-box:fill-box;transform-origin:50%;animation:hotbar-pop .34s cubic-bezier(.3, 1.6, .5, 1) calc(var(--beat,0s) + .1s + var(--i,0) * 70ms) backwards}.prop-layer[data-told] .hud .hud-value,.prop-layer[data-told] .hud .hud-items{animation-delay:0s}.hud .hud-badge rect{fill:var(--k-bool-bg);stroke:var(--k-bool);stroke-width:2.4px}.hud .hud-badge text{font-family:var(--mono);fill:var(--k-bool);text-anchor:middle;font-size:12.5px;font-weight:900}.hud .hud-badge{transform-box:fill-box;transform-origin:50%;animation:.38s cubic-bezier(.3,1.6,.5,1) backwards hotbar-pop}.hud .hud-badge.refused rect{fill:var(--unworked-bg);stroke:var(--unworked);stroke-dasharray:4 3}.hud .hud-badge.refused text{fill:var(--unworked)}.hud .hud-badge.waiting rect{fill:#fffc;stroke:#9aa4bf;stroke-width:1.6px;stroke-dasharray:4 3}.hud .hud-badge.waiting text{fill:var(--ink-soft);font-family:ui-sans-serif,system-ui,sans-serif;font-size:22px}.gate-prop .gate-source path{fill:#b99cf5;stroke:var(--k-bool);stroke-width:1.2px;filter:drop-shadow(0 0 3px #6a3fc98c)}.gate-prop .gate-wire{fill:none;stroke:#9aa4bf;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.gate-prop .gate-wire.live{stroke:#f5b81f;stroke-width:3px;stroke-dasharray:5 3;filter:drop-shadow(0 0 2px #f5b81fcc);animation:gate-current .3s ease-out calc(var(--beat,0s) + var(--at,0s)) backwards}@keyframes gate-current{0%{opacity:0}}@media (prefers-reduced-motion:no-preference){.gate-prop .gate-wire.live{animation:gate-current .3s ease-out calc(var(--beat,0s) + var(--at,0s)) backwards, gate-flow .6s linear infinite}@keyframes gate-flow{to{stroke-dashoffset:-8px}}}.gate-prop .gate-label{font-family:var(--mono);fill:var(--ink);text-anchor:end;font-weight:800}.gate-prop .gate-truth{font-family:var(--mono);fill:var(--ink-soft);text-anchor:end;font-size:9px;font-weight:800}.gate-prop .gate-lock.on .gate-truth{fill:var(--k-bool)}.gate-prop .gate-lamp{fill:#e4e8f2;stroke:#7d8aa6;stroke-width:1.6px}.gate-prop .gate-halo{fill:none}.gate-prop .gate-filament{fill:none;stroke:#9aa4bf;stroke-width:1.1px}.gate-prop .gate-lock.on .gate-lamp{fill:#c9b2fa;stroke:var(--k-bool);stroke-width:2px}.gate-prop .gate-lock.on .gate-halo{fill:#6a3fc929}.gate-prop .gate-lock.on .gate-filament{stroke:#fff}.gate-prop .gate-op rect{fill:#fff;stroke:var(--k-bool);stroke-width:1.2px}.gate-prop .gate-op text{font-family:var(--mono);fill:var(--k-bool);text-anchor:middle;font-size:8.5px;font-weight:900}.gate-prop .gate-stone{fill:#b7aea6;stroke:#8c837b;stroke-width:1.4px}.gate-prop .gate-joints{stroke:#9a9189;stroke-width:1.2px;stroke-linecap:round}.gate-prop .gate-beyond{fill:#4b4252}.gate-prop .gate-treasure ellipse{fill:#f5c542;opacity:.7}.gate-prop .gate-treasure .gate-gem{fill:#52d6e0;stroke:#1f8793;stroke-width:.8px}.gate-prop .gate-bar{fill:#5b6784;stroke:#3b4868;stroke-width:.6px}.gate-prop .portcullis{transition:translate .7s cubic-bezier(.4,0,.3,1)}.gate-prop .gate-padlock{display:none}.gate-prop .gate-padlock path{fill:none;stroke:#7d8aa6;stroke-width:2px}.gate-prop .gate-padlock rect{fill:#f5c542;stroke:#b3861b;stroke-width:1px}.gate-prop.shut .gate-padlock{display:inline}.gate-prop .gate-socket{fill:#e4e8f2;stroke:#7d8aa6;stroke-width:1.4px}.gate-prop .gate-plaque rect{fill:#fbf6ec;stroke:#8c837b;stroke-width:1.2px}.gate-prop .gate-plaque text{font-family:var(--mono);fill:var(--ink-soft);text-anchor:middle;font-size:11px;font-weight:900}.gate-prop.open .gate-socket{fill:#ffe27a;stroke:#d99a00;filter:drop-shadow(0 0 3px #f5b81fe6)}.gate-prop.open .portcullis{animation:gate-lift .8s cubic-bezier(.4, 0, .3, 1) calc(var(--beat,0s) + var(--opens-at,0s)) backwards;translate:0 -84px}@keyframes gate-lift{0%{translate:0}}.gate-prop:is(.open,.shut) .gate-plaque rect{fill:var(--k-bool-bg);stroke:var(--k-bool);stroke-width:1.6px}.gate-prop:is(.open,.shut) .gate-plaque text{fill:var(--k-bool)}.gate-prop .gate-plaque .gate-plaque-was{opacity:0;fill:var(--ink-soft);animation:from-bright .2s linear calc(var(--beat,0s) + var(--opens-at,0s)) backwards}.gate-prop .gate-plaque .gate-plaque-now{animation:gate-current .25s ease-out calc(var(--beat,0s) + var(--opens-at,0s)) backwards}.gate-prop.shut .portcullis{animation:gate-rattle .42s ease-in-out calc(var(--beat,0s) + var(--opens-at,0s)) backwards}@keyframes gate-rattle{0%{translate:0}25%{translate:0 -5px}50%{translate:0}75%{translate:0 -3px}}.gate-prop.refused .gate-plaque rect{fill:var(--unworked-bg);stroke:var(--unworked);stroke-width:1.6px;stroke-dasharray:3 2}.gate-prop.refused .gate-plaque text{fill:var(--unworked)}.gate-prop.refused .gate-stone{stroke:var(--unworked);stroke-dasharray:4 3}.paths .paths-lane{fill:#e6dccd;stroke:#c9b9a3;stroke-width:1px}.paths .paths-on{fill:none;stroke:#b8a78f;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.paths .paths-on.lit{stroke:#d99a00;stroke-width:2.2px}.paths .paths-tunnel{fill:#efe7da;stroke:#d4c5b0;stroke-width:1px;transition:fill .3s,stroke .3s}.paths .paths-arrow{fill:none;stroke:#c9b9a3;stroke-width:1.4px;stroke-dasharray:2.5 2.5}.paths .paths-board{fill:#fff7e6;stroke:#a8733b;stroke-width:1.6px}.paths .paths-test{font-family:var(--mono);fill:var(--ink);text-anchor:middle;font-weight:800}.paths .paths-test.else{fill:var(--k-bool)}.paths .paths-result{font-family:var(--mono);fill:var(--ink);text-anchor:start;font-weight:800}.paths .paths-result[data-kind=str]{fill:var(--k-str)}.paths .paths-mark circle{fill:#ffffffd9;stroke:#c9b9a3;stroke-width:1.2px;stroke-dasharray:2 1.6}.paths .paths-mark path{fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.paths .paths-branch.yes .paths-mark circle{fill:var(--good);stroke:var(--good);stroke-dasharray:none}.paths .paths-branch.yes .paths-mark path{stroke:#fff}.paths .paths-branch.no .paths-mark circle{fill:#5b6784;stroke:#5b6784;stroke-dasharray:none}.paths .paths-branch.no .paths-mark path{stroke:#fff}.paths .paths-branch.skipped .paths-mark path{stroke:#9aa4bf}.paths .paths-tunnel-lit{fill:#ffe7a8;stroke:#e0a526;stroke-width:1.6px}.paths .paths-board-lit{fill:none;stroke:var(--good);stroke-width:2.2px}.paths :is(.paths-tunnel-lit,.paths-board-lit){animation:gate-current .3s ease-out calc(var(--beat,0s) + var(--when,0s)) backwards}.paths .paths-branch.no :is(.paths-icon,.paths-result){animation:from-bright .3s ease calc(var(--beat,0s) + var(--when,0s)) backwards}.paths .paths-branch.yes .paths-arrow{stroke:#d99a00;stroke-dasharray:none}.paths .paths-branch.no .paths-icon,.paths .paths-branch.no .paths-result{opacity:.55}.paths .paths-branch.skipped{opacity:.4}.paths .paths-branch.skipped .paths-board{stroke-dasharray:3 2.5}.paths .paths-mark{transform-box:fill-box;transform-origin:50%;animation:goal-tick-in .28s cubic-bezier(.3, 1.5, .5, 1) calc(var(--beat,0s) + var(--when,0s)) backwards}.paths .paths-branch.skipped{animation:from-bright .4s ease calc(var(--beat,0s) + var(--walk,0s) * .92) backwards}.paths:not(.walking) .paths-branch.skipped{animation-delay:calc(var(--beat,0s) + .3s)}@keyframes from-bright{0%{opacity:1}}.paths .paths-robot{transition:translate .5s cubic-bezier(.4,0,.3,1)}.paths.walking .paths-robot{animation-duration:var(--walk,2s);animation-timing-function:ease-in-out;animation-fill-mode:backwards;animation-delay:var(--beat,0s)}.paths .pr-head{fill:#4f7cf7;stroke:#2f4fa8;stroke-width:1px}.paths .pr-screen{fill:#16203a}.paths .pr-eye{fill:#fff}.paths .pr-antenna{stroke:#2f4fa8;stroke-width:1.2px}.paths .pr-bulb{fill:#ffd166}.coin-tally .tally-rim{fill:#f5c542;stroke:#b3861b;stroke-width:1.4px}.coin-tally .tally-inner{fill:#fff3c4;stroke:#e0b43a;stroke-width:.9px}.coin-tally .tally-gem{fill:#9fe8ee;stroke:#1f8793;stroke-width:1.4px;stroke-linejoin:round}.coin-tally .tally-value{font-family:var(--mono);fill:var(--k-int);text-anchor:middle;font-weight:900}.coin-tally .coin-face{transform-box:fill-box;transform-origin:50%;animation:hotbar-pop .34s cubic-bezier(.3, 1.6, .5, 1) calc(var(--beat,0s) + .1s + var(--i,0) * 70ms) backwards;transition:opacity .26s,scale .26s cubic-bezier(.3,1.4,.5,1)}.prop-layer[data-told] .coin-tally .coin-face{animation:none}.coin-tally .tally-coin.marked .coin-face{filter:drop-shadow(0 0 4px #ffbe28e6);scale:1.1}.coin-tally .tally-coin.counted .coin-face{opacity:.45}.coin-tally .tally-tick circle{fill:var(--good)}.coin-tally .tally-tick path{fill:none;stroke:#fff;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.coin-tally .tally-coin.kept .coin-face{opacity:.7}.coin-tally .tally-coin.skipped .coin-face{opacity:.32}.coin-tally .tally-coin.marked .coin-face{opacity:1}.coin-tally .tally-cross circle{fill:#8a94ad}.coin-tally .tally-tick{transform-box:fill-box;transform-origin:50%;animation:.28s cubic-bezier(.3,1.5,.5,1) backwards goal-tick-in}.coin-tally .tally-pointer{transition:translate .34s cubic-bezier(.3,1.2,.5,1)}.coin-tally .tally-pointer>path:first-child{fill:#ffd166;stroke:#d99a00;stroke-width:1.2px;stroke-linejoin:round}.coin-tally .tally-into{fill:none;stroke:#d99a00;stroke-width:1.4px;stroke-dasharray:3 2.5}.coin-tally .tally-name{fill:#ffffffe6;stroke:#8fa3ea;stroke-width:1.3px}.coin-tally .tally-name-text{font-family:var(--mono);fill:#2b47b8;text-anchor:middle;font-weight:800}.coin-tally .tally-arrow{fill:none;stroke:#8fa0c8;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.coin-tally .tally-card rect{fill:#fff;stroke:#9aa4bf;stroke-width:1.6px}.coin-tally .tally-card.empty rect{fill:#ffffffb3;stroke-dasharray:4 3}.coin-tally .tally-card text{font-family:var(--mono);fill:var(--ink);text-anchor:middle;transform-box:fill-box;transform-origin:50%;font-weight:900;animation:.3s cubic-bezier(.3,1.6,.5,1) backwards hotbar-pop}.coin-tally .tally-card[data-kind=int] rect{fill:var(--k-int-bg);stroke:var(--k-int)}.coin-tally .tally-card[data-kind=int] text{fill:var(--k-int)}.coin-tally .tally-card[data-kind=float] rect{fill:var(--k-float-bg);stroke:var(--k-float)}.coin-tally .tally-card[data-kind=float] text{fill:var(--k-float)}.coin-tally .tally-card.refused rect{fill:var(--unworked-bg);stroke:var(--unworked);stroke-dasharray:4 3}.coin-tally .tally-card.refused text{fill:var(--unworked)}.cases .cases-head{letter-spacing:.06em;text-transform:uppercase;fill:var(--ink-soft);font-family:Nunito,ui-rounded,system-ui,sans-serif;font-size:8px;font-weight:900}.cases .cases-name{font-family:var(--mono);fill:#2b47b8;text-anchor:middle;font-weight:800}.cases .cases-card{fill:#fbf6ec;stroke:#d9c7a6;stroke-width:1.2px;transition:fill .22s,stroke .22s}.cases .cases-row.ok .cases-card{fill:#e9f7ee;stroke:var(--good)}.cases .cases-row.wrong .cases-card{fill:var(--unworked-bg);stroke:var(--unworked);stroke-dasharray:4 3}.cases .cases-split{stroke:#d9c7a6;stroke-width:1px}.cases .cases-slime path{fill:#7ccf8a;stroke:#3f8f4d;stroke-width:1px}.cases .cases-slime .eye{fill:#16203a}.cases .cases-given{font-family:var(--mono);fill:var(--ink);text-anchor:start;font-weight:700}.cases :is(.cases-want,.cases-got){font-family:var(--mono);fill:var(--ink);text-anchor:middle;font-weight:800}.cases :is(.cases-want,.cases-got)[data-kind=str]{fill:var(--k-str)}.cases :is(.cases-want,.cases-got)[data-kind=int]{fill:var(--k-int)}.cases :is(.cases-want,.cases-got)[data-kind=float]{fill:var(--k-float)}.cases :is(.cases-want,.cases-got)[data-kind=bool]{fill:var(--k-bool)}.cases .cases-got.none,.cases .cases-got.nothing{fill:var(--ink-soft);font-style:italic}.cases .cases-got.error{fill:#c2412d}.cases .cases-mark circle{fill:var(--good)}.cases .cases-row.wrong .cases-mark circle{fill:var(--unworked)}.cases .cases-mark path{fill:none;stroke:#fff;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.cases .cases-mark,.cases .cases-got{transform-box:fill-box;transform-origin:50%;animation:goal-tick-in .28s cubic-bezier(.3, 1.5, .5, 1) calc(var(--i,0) * .12s) backwards}@media (prefers-reduced-motion:reduce){.prop,.prop *,.answer-tag{transition:none!important;animation:none!important}.stage .prop-layer[data-role=current]{animation:prop-ask-in .2s linear var(--beat,0s) both!important}.stage .prop-layer[data-role=leaving]{animation:prop-leave-calm var(--beat-len) linear both!important}.stage .prop-ask{animation:prop-ask-in .2s linear var(--beat,0s) both!important}@keyframes prop-leave-calm{0%,85%{opacity:1}to{opacity:0}}}.map{--map-font:"Nunito", ui-rounded, system-ui, sans-serif;--locked:#e4e8f0;--locked-lip:#c4cbd9;--locked-ink:#a3adc1;min-height:0;font-family:var(--map-font);background:radial-gradient(circle at 1px 1px, #4b6ef512 1.2px, transparent 1.6px) 0 0 / 22px 22px, linear-gradient(#f7f9ff, var(--bg));scroll-behavior:smooth;flex:1;overflow:hidden auto}.map [data-theme=sky],.map[data-theme=sky]{--u:#3d8bfd;--u-lip:#2466cc;--u-soft:#d9e8ff;--u-deep:#1d4fa3}.map [data-theme=grass]{--u:#4cbf2a;--u-lip:#36931b;--u-soft:#dcf5d0;--u-deep:#2b7414}.map [data-theme=sun]{--u:#ff9d1c;--u-lip:#d27800;--u-soft:#ffe9cc;--u-deep:#a65c00}.map [data-theme=berry]{--u:#b56cf5;--u-lip:#8a45cc;--u-soft:#f0e2ff;--u-deep:#6a2fa6}.map-layout{grid-template-columns:minmax(0,1fr);justify-content:center;gap:32px;padding:0 16px;display:grid}.map-column{width:100%;max-width:560px;margin:0 auto;padding:18px 0 72px;position:relative}.map-side{display:none}@media (min-width:1080px){.map-layout{grid-template-columns:minmax(0,560px) 300px}.map-side{align-self:start;margin-top:18px;display:block;position:sticky;top:18px}.map-column .map-tally{display:none}}.map-next{background:var(--surface);border:2px solid var(--line);box-shadow:0 4px 0 var(--line);border-radius:20px;padding:18px 18px 20px}.map-next p,.map-next h3{margin:0}.map-next-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--u);font-size:12.5px;font-weight:800}.map-next h3{color:var(--ink);font-size:21px;font-weight:900;line-height:1.2;margin-top:2px!important}.map-next-brief{color:var(--ink-soft);font-size:14.5px;font-weight:700;line-height:1.4;margin-top:4px!important}.map-next-go{background:var(--u);color:#fff;width:100%;box-shadow:0 4px 0 var(--u-lip);font:900 16px/1 var(--map-font);letter-spacing:.07em;text-transform:uppercase;cursor:pointer;border:0;border-radius:14px;margin-top:16px;padding:12px 0 11px;transition:translate 80ms,box-shadow 80ms,filter .14s;display:block}.map-next-go:hover{filter:brightness(1.06)}.map-next-go:active{box-shadow:0 1px 0 var(--u-lip);translate:0 3px}.map-next-go:focus-visible{outline:3px solid var(--u-deep);outline-offset:3px}.map-bar{border-top:2px solid var(--line);margin-top:18px;padding-top:16px}.map-bar-label{color:var(--ink-soft);justify-content:space-between;font-size:13.5px;font-weight:800;display:flex}.map-bar-track{background:var(--locked);border-radius:999px;height:14px;margin-top:8px;overflow:hidden}.map-bar-fill{background:linear-gradient(#ffd24a,#ffb800);border-radius:999px;height:100%;transition:width .6s cubic-bezier(.2,.8,.3,1);box-shadow:inset 0 -3px #00000014}.map-bar-fill:before{content:"";background:#ffffff73;border-radius:999px;height:4px;margin:3px 8px 0;display:block}.map-tally{background:var(--surface);border:2px solid var(--line);width:-moz-fit-content;width:fit-content;box-shadow:0 3px 0 var(--line);color:var(--ink-soft);border-radius:999px;align-items:center;gap:6px;margin:0 auto 18px;padding:6px 16px 6px 12px;font-size:14px;font-weight:800;display:flex}.map-tally:before{content:"";clip-path:polygon(50% 4%,61% 36%,96% 37%,68% 58%,78% 92%,50% 72%,22% 92%,32% 58%,4% 37%,39% 36%);background:#ffc21c;width:18px;height:18px}.map-tally-count{color:var(--ink)}.map-unit{margin-bottom:18px;position:relative}.map-banner{z-index:6;background:var(--u);color:#fff;box-shadow:0 5px 0 var(--u-lip);border-radius:18px;align-items:center;gap:12px;padding:14px 20px 15px;display:flex;position:sticky;top:10px}.map-banner-text{flex:1;min-width:0}.map-banner p,.map-banner h2{margin:0}.map-banner-count{background:#ffffff24;border:2px solid #ffffff59;border-radius:12px;flex:none;align-items:center;gap:5px;padding:7px 13px;font-size:16px;font-weight:900;display:flex}.map-banner-count svg{width:20px;height:20px}.map-banner-count .cup,.map-banner-count .cup-stem,.map-banner-count .cup-base{fill:#fff}.map-banner-count .cup-handles{stroke:#fff}.map-banner-count .cup-shine{stroke:none}.map-banner-kicker{letter-spacing:.08em;text-transform:uppercase;opacity:.85;font-size:12.5px;font-weight:800}.map-banner h2{letter-spacing:-.01em;font-size:23px;font-weight:900;line-height:1.15}.map-banner-blurb{opacity:.95;font-size:15px;font-weight:700;margin-top:2px!important}.map-stretch{margin-top:46px;position:relative}.map-stretch:before{content:"";background:radial-gradient(ellipse 50% 50% at 50% 50%, var(--u-soft) 62%, transparent 100%);opacity:.6;pointer-events:none;position:absolute;inset:-30px -4% -24px}.map-trail{pointer-events:none;width:400px;position:absolute;top:0;left:50%;overflow:visible;translate:-50%}.map-trail path{fill:none;stroke:var(--u-soft);stroke-width:9px;stroke-linecap:round;stroke-dasharray:.1 19}.map-stop,.map-trophy,.map-mascot{left:calc(50% + var(--x,0px));position:absolute;translate:-50% -50%}.map-stop{z-index:2}.map-stop.open{z-index:7}.map-node{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;width:76px;height:76px;padding:0;display:block;position:relative}.map-node-face{background:var(--u);box-shadow:0 7px 0 var(--u-lip), inset 0 -3px 0 #0000000f;border-radius:50%;place-items:center;transition:translate 90ms,box-shadow 90ms,filter .14s;display:grid;position:absolute;inset:0 0 7px}.map-node-face:before{content:"";background:#ffffff52;border-radius:50%;width:34%;height:16%;position:absolute;top:9%;left:22%;rotate:-18deg}.map-node-face svg{fill:#fff;stroke:#fff;width:36px;height:36px;position:relative}.map-stop.current .map-node-face svg{stroke:none}.map-stop.current .map-node-face svg path[fill=none]{stroke:#fff}.map-node:hover .map-node-face{filter:brightness(1.06)}.map-node:active .map-node-face{box-shadow:0 2px 0 var(--u-lip), inset 0 -3px 0 #0000000f;translate:0 5px}.map-node:focus-visible{outline:3px solid var(--u-deep);outline-offset:6px}.map-stop.locked .map-node-face{background:var(--locked);box-shadow:0 7px 0 var(--locked-lip)}.map-stop.locked .map-node-face:before{background:#ffffff8c}.map-stop.locked .map-node-face svg{fill:var(--locked-ink);stroke:var(--locked-ink)}.map-stop.locked .map-node:active .map-node-face{box-shadow:0 2px 0 var(--locked-lip)}.map-ring{border:6px solid var(--u-soft);border-radius:50%;position:absolute;inset:-9px -9px -2px}.map-start{background:var(--surface);border:2px solid var(--line);color:var(--u);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;pointer-events:none;border-radius:12px;padding:8px 14px 7px;font-size:15px;font-weight:900;position:absolute;bottom:calc(100% + 16px);left:50%;translate:-50%}.map-start:after{content:"";background:var(--surface);border-right:2px solid var(--line);border-bottom:2px solid var(--line);width:12px;height:12px;position:absolute;top:100%;left:50%;translate:-50% -50%;rotate:45deg}.map-card{translate:calc(-50% - var(--x,0px) * .7) 0;background:var(--u);color:#fff;width:264px;box-shadow:0 6px 0 var(--u-lip), 0 14px 30px #16203a2e;text-align:left;border-radius:18px;padding:16px 16px 18px;position:absolute;top:calc(100% + 16px);left:50%}.map-card:before{content:"";bottom:100%;left:calc(50% + var(--x,0px) * .7);background:var(--u);border-radius:3px;width:16px;height:16px;position:absolute;translate:-50% 50%;rotate:45deg}.map-stop.locked .map-card{background:var(--surface);color:var(--ink);border:2px solid var(--line);box-shadow:0 6px 0 var(--line), 0 14px 30px #16203a1f}.map-stop.locked .map-card:before{background:var(--surface);border-left:2px solid var(--line);border-top:2px solid var(--line)}.map-card p,.map-card h3{margin:0}.map-card-kicker{letter-spacing:.08em;text-transform:uppercase;opacity:.85;font-size:12px;font-weight:800}.map-card h3{font-size:21px;font-weight:900;line-height:1.2;margin-top:1px!important}.map-card-brief{opacity:.95;font-size:14.5px;font-weight:700;line-height:1.4;margin-top:6px!important}.map-card-locked{color:var(--ink-soft);font-size:14px;font-weight:700;margin-top:10px!important}.map-card-go{width:100%;color:var(--u);font:900 16px/1 var(--map-font);letter-spacing:.07em;text-transform:uppercase;cursor:pointer;background:#fff;border:0;border-radius:14px;margin-top:14px;padding:11px 0 10px;transition:translate 80ms,box-shadow 80ms;display:block;box-shadow:0 4px #00000029}.map-card-go:active{translate:0 3px;box-shadow:0 1px #00000029}.map-card-go:focus-visible{outline-offset:3px;outline:3px solid #fff}.map-card-skills{flex-wrap:wrap;gap:5px;margin:10px 0 0;padding:0;list-style:none;display:flex}.map-card-skills li{background:#ffffff2e;border-radius:999px;align-items:center;gap:5px;padding:3px 9px 3px 7px;font-size:12.5px;font-weight:800;display:inline-flex}.chip-dots{gap:2px;display:inline-flex}.chip-dots i{background:#ffffff59;border-radius:50%;width:5px;height:5px}.chip-dots i.on{background:#ffd24a}.map-stop.locked .map-card-skills li{background:var(--bg)}.map-stop.locked .chip-dots i{background:var(--locked)}.map-trophy{z-index:1;width:84px;height:84px}.map-trophy svg{width:100%;height:100%;overflow:visible}.map-trophy .cup,.map-trophy .cup-stem,.map-trophy .cup-base{fill:var(--locked)}.map-trophy .cup-handles{stroke:var(--locked-lip)}.map-trophy .cup-base{fill:var(--locked-lip)}.map-trophy .cup-shine{stroke:#fff9}.map-trophy.earned .cup,.map-trophy.earned .cup-stem{fill:#ffc21c}.map-trophy.earned .cup-handles{stroke:#e89f00}.map-trophy.earned .cup-base{fill:#e89f00}.map-mascot{z-index:1;pointer-events:none;width:118px;container-type:inline-size}.map-mascot.mascot-crow{width:96px}.map-mascot .character{width:100%;height:auto;display:block;overflow:visible}.map-mascot:after{content:"";width:70%;height:10px;margin:var(--foot,0px) auto 0;background:#16203a1a;border-radius:50%;display:block}.map-mascot.mascot-robot{--foot:-18px}@media (max-width:460px){.map-mascot{left:calc(50% + var(--x,0px) * .8);width:92px}.map-mascot.mascot-crow{width:78px}.map-banner h2{font-size:21px}}.map-end{text-align:center;flex-direction:column;align-items:center;margin-top:18px;display:flex}.map-end p{margin:0}.map-end-title{color:var(--ink);font-size:18px;font-weight:900;margin-top:6px!important}.map-end-note{color:var(--ink-soft);font-size:14.5px;font-weight:700}.map-sign{width:96px;height:96px}.map-sign .ground{fill:#16203a14}.map-sign .post{fill:#b98b5a}.map-sign .board{fill:#e6b57a;stroke:#b98b5a;stroke-width:2.5px}.map-sign .board-low{fill:#edc795}.map-sign .board-line{stroke:#b98b5a}@media (prefers-reduced-motion:no-preference){.map-stop,.map-trophy{animation:stop-in .46s cubic-bezier(.2, .9, .3, 1.35) calc(var(--order,0) * 70ms + 60ms) both}@keyframes stop-in{0%{opacity:0;scale:.4}}.map-start{animation:1.5s ease-in-out infinite start-bob}@keyframes start-bob{50%{translate:-50% -6px}}.map-ring{animation:2.4s ease-in-out infinite ring}@keyframes ring{50%{opacity:.7;scale:1.06}}.map-card{transform-origin:50% 0;animation:.2s cubic-bezier(.2,.9,.3,1.2) both card-in}@keyframes card-in{0%{opacity:0;scale:.9}}.map-trophy.earned svg{animation:3.2s ease-in-out infinite trophy-shine}@keyframes trophy-shine{0%,86%,to{rotate:0deg}90%{rotate:-7deg}95%{rotate:6deg}}}.map-burst{pointer-events:none;position:absolute;inset:0 0 7px}.map-burst i{clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);width:12px;height:12px;rotate:var(--a);opacity:0;background:#ffc21c;margin:-6px 0 0 -6px;position:absolute;top:50%;left:50%}@media (prefers-reduced-motion:no-preference){.map-stop.just-done .map-node-face{animation:.64s cubic-bezier(.2,.9,.3,1.5) .32s both done-pop}@keyframes done-pop{35%{scale:.82}}.map-burst i{animation:.72s cubic-bezier(.1,.7,.3,1) .52s both burst}@keyframes burst{0%{opacity:1;transform:translateY(0)scale(.4)}70%{opacity:1}to{opacity:0;transform:translateY(-62px)scale(1.2)}}.map-stop.just-unlocked .map-node-face{animation:.76s cubic-bezier(.2,.9,.3,1.4) 1s both unlock}@keyframes unlock{0%{filter:grayscale()brightness(1.05)}40%{filter:grayscale(0)brightness(1.15);scale:1.16}to{filter:none}}.map-stop.just-unlocked .map-ring{animation:.5s ease-out 1.3s both ring-in,2.4s ease-in-out 1.8s infinite ring}@keyframes ring-in{0%{opacity:0;scale:.7}}.map-stop.just-unlocked .map-start{animation:.42s cubic-bezier(.2,.9,.3,1.4) 1.45s both start-in,1.5s ease-in-out 1.87s infinite start-bob}@keyframes start-in{0%{opacity:0;translate:-50% 10px;scale:.7}}.map-trophy.just-earned svg{animation:.9s cubic-bezier(.2,.9,.3,1.3) 1.1s both trophy-lift}@keyframes trophy-lift{0%{filter:grayscale()}45%{filter:grayscale(0);translate:0 -10px;rotate:-10deg;scale:1.35}70%{rotate:8deg}}}@media (prefers-reduced-motion:reduce){.map{scroll-behavior:auto}}@media (max-width:1000px){:is(body:has(.app[data-route=map]),body:has(.app[data-route=skills])){overflow:hidden}.app[data-route=map],.app[data-route=skills]{height:100%}}.skills-column{max-width:720px;margin:0 auto;padding:22px 16px 64px}.skills-head h2{color:var(--ink);margin:0;font-size:28px;font-weight:900}.skills-head p{color:var(--ink-soft);margin:2px 0 18px;font-size:15.5px;font-weight:700}.skills-head strong{color:var(--ink)}.skills-unit{background:var(--surface);border:2px solid var(--line);box-shadow:0 4px 0 var(--line);border-radius:20px;margin-bottom:20px;overflow:hidden}.skills-unit-head{background:var(--u);color:#fff;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.skills-unit-head p,.skills-unit-head h3{margin:0}.skills-unit-head h3{font-size:21px;font-weight:900}.skills-go{color:var(--u);font:900 14px/1 var(--map-font);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#fff;border:0;border-radius:12px;flex:none;padding:9px 16px 8px;box-shadow:0 4px #00000029}.skills-go:active{translate:0 3px;box-shadow:0 1px #00000029}.skills-list{margin:0;padding:4px 0;list-style:none}.skill{grid-template-columns:1fr 190px;align-items:center;gap:14px;padding:12px 18px;display:grid}.skill+.skill{border-top:2px solid var(--line)}.skill p{margin:0}.skill-title{color:var(--ink);flex-wrap:wrap;align-items:center;gap:8px;font-size:16.5px;font-weight:900;display:flex}.skill-can{color:var(--ink-soft);font-size:14px;font-weight:700}.skill-review{color:#9a5b00;letter-spacing:.04em;text-transform:uppercase;background:#fff1d6;border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:900}.skill-level{color:var(--u-deep);font-size:13px;font-weight:900}.skill[data-level=new] .skill-level{color:var(--ink-soft)}.skill-bar{gap:4px;margin:5px 0 4px;display:flex}.skill-bar i{background:var(--locked);border-radius:999px;flex:1;height:10px}.skill-bar i.on{background:var(--u)}.skill[data-level=mastered] .skill-bar i.on{background:linear-gradient(#ffd24a,#ffb800)}.skill-stats{color:var(--ink-soft);font-size:12.5px;font-weight:700}@media (max-width:520px){.skill{grid-template-columns:1fr;gap:6px}}.to-map.here{background:var(--brand-soft);box-shadow:0 1px 0 var(--brand-line);translate:0 2px}a.to-map{text-decoration:none}.map .map-stop.review{--u:#f2a93b;--u-lip:#c9801a;--u-soft:#fdeccc;--u-deep:#8a5200}.map-stop .map-node-face svg path[fill=none]{fill:none}.skills-note{margin:8px 0 0;font-size:14px;line-height:1.55}.skills-note a,.mis-links a{color:var(--brand-deep);font-weight:700}.err-bars{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.err-bars li{grid-template-columns:9.5em 1fr 2.5em;align-items:center;gap:10px;font-size:14px;font-weight:700;display:grid}.err-track{background:var(--locked);border-radius:999px;height:12px;overflow:hidden}.err-fill{background:#f2a93b;border-radius:999px;height:100%;display:block}.err-count{text-align:right}.mis-list{gap:10px;margin:10px 0 0;padding:0;list-style:none;display:grid}.mis{background:var(--surface);border:2px solid var(--locked);border-radius:12px;padding:10px 12px}.mis p{margin:0 0 4px}.mis-links{font-size:13px}.skills-unit>.skills-note,.skills-unit>.err-bars,.skills-unit>.mis-list{margin:14px 18px}.map-stop.unlocked .map-node-face{filter:saturate(.75)brightness(1.04)}.progress-controls{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;display:flex}.progress-controls.compact{border-top:2px solid var(--locked);flex-direction:column;justify-content:stretch;margin-top:16px;padding-top:14px}.progress-button{border:2px solid var(--locked-lip);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;border-radius:12px;padding:8px 14px;font-size:14px;font-weight:800}.progress-button[aria-pressed=true]{color:#1d4fa3;border-color:#3d8bfd}.progress-button.quiet-button{color:var(--ink-soft);border-color:#0000}.progress-button.danger{border-color:var(--bad);background:var(--bad);color:#fff}.progress-confirm{background:var(--bad-bg);text-align:left;border-radius:12px;flex-basis:100%;padding:12px}.progress-confirm p{color:var(--ink);margin:0 0 10px;font-size:14px}.progress-confirm-row{flex-wrap:wrap;gap:8px;display:flex}.versions{border:2px solid var(--brand-line);background:var(--surface);border-radius:12px;flex:none;padding:2px;font:800 13px/1.2 Nunito,ui-rounded,system-ui,sans-serif;display:inline-flex}.versions a{color:var(--brand-deep);border-radius:9px;padding:3px 10px;text-decoration:none}.versions a.here{background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand-line)}.versions a:focus-visible{outline:2px solid var(--brand-deep);outline-offset:1px}.scene-panel.compact .stage{flex:none;height:clamp(214px,30vh + 14px,254px)}.scene-panel.compact .stage>.advance{padding:5px 14px;font-size:12.5px;bottom:6px;right:10px}.scene-panel.compact .stage:has(>.advance) .beat-bar{display:none}.scene-panel.compact .bubble{max-width:min(340px,62%);font-size:13.5px}.scene-panel.compact .beat-bar{top:auto;bottom:5px}.scene-panel.compact .beat-seg{height:4px}.scene-panel.compact .beat-controls{bottom:16px;left:55%}.scene-panel.compact .beat-next{padding:8px 20px;font-size:15px}.scene-panel.compact .beat-back{width:32px;height:32px}.sheet-scroll{border-top:1px solid var(--line);background:var(--bg);flex:auto;min-height:0;position:relative;overflow-y:auto}.read-sheet{flex-direction:column;gap:12px;padding:12px 14px 28px;display:flex}.sheet-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.sheet-kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:12px;font-weight:700}.sheet-meter{gap:5px;margin:0;padding:0;list-style:none;display:flex}.sheet-meter li{background:var(--line);border:2px solid #0000;border-radius:999px;width:12px;height:12px}.sheet-meter li.now{border-color:var(--brand);background:var(--brand-soft)}.sheet-meter li.right{background:var(--good)}.sheet-meter li.wrong{background:var(--warn)}.card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.55}.card p{margin:0 0 8px}.card p:last-child{margin-bottom:0}.card-kicker{letter-spacing:.05em;text-transform:uppercase;color:var(--brand-deep);font-size:11.5px;font-weight:700;margin:0 0 6px!important}.card-aside{font-size:12.5px}.card h4,.card h5{margin:10px 0 4px;font-size:13.5px}.card ul,.card ol{margin:0 0 8px;padding-left:20px}.card blockquote{border-left:3px solid var(--brand-line);color:var(--ink-soft);margin:0 0 8px;padding:4px 10px}.card .table-wrap{margin:0 0 8px;overflow-x:auto}.card table{border-collapse:collapse;font-size:13px}.card th,.card td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:4px 8px}.card th{background:var(--bg)}.block-text{color:#dfe6f5;font:12.5px/1.5 var(--mono);white-space:pre;background:#131a2a;border-radius:8px;margin:0 0 8px;padding:8px 10px;overflow-x:auto}.block-code{margin:0 0 10px}.block-code .code-view{border:1px solid var(--line);border-radius:8px}.try-it{margin-top:6px;font-size:12.5px}.try-it.on{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand-deep)}.key-card{border-color:var(--brand-line)}.key-section h4{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);font-size:12px}.key-section h4 code{text-transform:none;letter-spacing:0}.key-reasoning,.key-explanation,.key-diagnosis{background:var(--brand-soft);border-radius:8px;margin:6px -4px;padding:2px 10px 8px}.go-back{font-weight:600}.go-back a,a.term{color:var(--brand-deep)}a.term{text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.authoring summary{cursor:pointer;color:var(--ink-soft);font-size:12.5px}.authoring p{color:var(--ink-soft);margin-top:6px;font-size:12.5px}.error-chip{background:var(--warn-bg);color:var(--warn);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block;margin:0 0 8px!important}.error-chip.err-vocabulary{background:var(--value-bg);color:var(--value-deep)}.finish-card{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.ideas-title{margin:0 0 4px;font-size:18px}.ideas-move{font-weight:600}.idea-title{margin-top:0!important}.ideas-end{color:var(--ink-soft);padding:8px 4px;font-size:13px}.idea-block{border-radius:6px;transition:background-color .2s;position:relative}.idea-block>:last-child{margin-bottom:0}.idea-block+.idea-block{margin-top:10px}.idea-block.now{background:var(--brand-soft);box-shadow:-8px 0 0 var(--brand-soft), 8px 0 0 var(--brand-soft), -11px 0 0 var(--brand-line);animation:.26s ease-out backwards idea-arrive}@keyframes idea-arrive{0%{opacity:0;translate:0 6px}}@media (prefers-reduced-motion:reduce){.idea-block.now{animation:none}}.idea-terms{flex-wrap:wrap;gap:6px;margin:6px 0 10px;display:flex}.idea-term{border:1px solid var(--brand-line);background:var(--brand-soft);color:var(--brand-deep);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}.idea-term:last-child{animation:.26s ease-out backwards idea-arrive}.code-view{background:var(--surface);font:13px/1.6 var(--mono);overflow-x:auto}.code-lines{margin:0;padding:6px 0;list-style:none}.code-line{position:relative}.code-line-body,.code-line-button{text-align:left;width:100%;min-height:1.6em;font:inherit;color:inherit;background:0 0;border:0;border-radius:0;align-items:baseline;gap:0;padding:0 10px 0 0;display:flex}.code-line-button{cursor:pointer}.code-line-button:hover{background:var(--brand-soft)}.code-line-button:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.code-view.picking .ln{color:var(--brand-deep)}.code-line .ln{text-align:right;color:#9aa6c2;-webkit-user-select:none;user-select:none;flex:none;width:3.2em;padding-right:10px}.code-line .src{white-space:pre;font:inherit;background:0 0;flex:1;padding:0}.code-line.traced{background:#fff4cc;box-shadow:inset 3px 0 #e0a500}.code-line.pick{background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand)}.code-line.body{background:var(--value-bg);box-shadow:inset 3px 0 0 var(--value)}.code-line.right{background:var(--value-bg);box-shadow:inset 3px 0 0 var(--good)}.code-line.wrong{background:var(--bad-bg);box-shadow:inset 3px 0 0 var(--bad)}.code-marker{color:var(--warn);font-style:italic}.badge-slot{flex:none;margin-left:8px}.order-badge{background:var(--brand);color:var(--brand-ink);border-radius:999px;padding:0 7px;font:700 11px/1.7 ui-sans-serif,system-ui,sans-serif;display:inline-block}.tok-keyword{color:#8250df;font-weight:600}.tok-string,.tok-string2{color:#0a7d4c}.tok-number,.tok-bool,.tok-atom{color:#b3541e}.tok-comment{color:#6b7794;font-style:italic}.tok-variableName.tok-definition{color:#16203a}.tok-operator,.tok-punctuation{color:#5b6784}.tok-propertyName,.tok-function{color:#1a5fd0}.read-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.read-code{border-bottom:1px solid var(--line);flex:none;max-height:min(34vh,400px);overflow-y:auto}.read-editor{flex-direction:column;height:clamp(160px,30vh,320px);display:flex}.read-editor .editor{flex-direction:column;flex:1;min-height:0;display:flex}.read-nocode{margin:0;padding:14px}.snippet-tabs{background:var(--bg);border-bottom:1px solid var(--line);gap:4px;padding:6px 8px 0;display:flex}.snippet-tabs button{border-bottom:0;border-radius:8px 8px 0 0;padding:4px 12px;font-size:12.5px}.snippet-tabs button.on{background:var(--surface);color:var(--brand-deep);font-weight:700}.read-parts{flex-direction:column;flex:1 0 auto;gap:10px;padding:12px;display:flex}.read-part{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:10px 12px}.read-part.picking{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.read-part.act{border-color:var(--brand-line);background:var(--brand-soft)}.form{border:0;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;display:flex}.form-label{margin:0;padding:0;font-size:13.5px;font-weight:600}.form-hint{color:var(--ink-soft);margin:0;font-size:12.5px;font-weight:400}.form-value{margin:0;font-size:13.5px}.form-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.output-input,.rule-form textarea{width:100%;font:13px/1.5 var(--mono);border:1px solid var(--line);resize:vertical;background:var(--surface);color:var(--ink);border-radius:8px;padding:7px 9px}.rule-form textarea{font-family:inherit}.output-input:focus,.rule-form textarea:focus,.number-input:focus,.trace-table input:focus,.count-table input:focus{outline:2px solid var(--brand);outline-offset:1px}.raises{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.raises label{align-items:center;gap:6px;display:flex}.number-input{border:1px solid var(--line);width:8em;font:inherit;border-radius:8px;padding:5px 8px}.choice{border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:flex-start;gap:8px;padding:6px 8px;font-size:13.5px;display:flex}.choice input{margin-top:3px}.choice.picked{border-color:var(--brand);background:var(--brand-soft)}.choice.key{border-color:var(--good);background:var(--value-bg)}.choice.miss{border-color:var(--bad);background:var(--bad-bg)}.pick-toggle{align-self:flex-start;font-size:12.5px}.pick-toggle.on{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.order-chips{flex-wrap:wrap;gap:5px;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex}.order-chip{background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:999px;padding:1px 8px}.order-n{color:var(--brand-deep);font-weight:700}.mono{font-family:var(--mono);font-size:12.5px}.trace-table,.count-table{border-collapse:collapse;font-size:13px}.trace-table th,.trace-table td,.count-table th,.count-table td{border:1px solid var(--line);text-align:left;padding:3px 6px}.trace-table input,.count-table input{border:1px solid var(--line);width:7em;font:12.5px var(--mono);border-radius:6px;padding:3px 6px}.count-table caption{text-align:left;color:var(--ink-soft);padding-bottom:4px;font-size:12.5px}.count-table .ln{color:#9aa6c2;width:1.6em;font-family:var(--mono);display:inline-block}.diagram-options{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;display:grid}.diagram-option{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.diagram-option.picked{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.diagram-option.key{border-color:var(--good);box-shadow:0 0 0 3px var(--value-bg)}.diagram-option.miss{border-color:var(--bad)}.diagram-pick{border:0;border-bottom:1px solid var(--line);border-radius:0;font-size:12.5px;font-weight:700}.diagram-option.picked .diagram-pick{background:var(--brand);color:var(--brand-ink)}.diagram-graph{pointer-events:none;height:210px;display:flex;position:relative}.diagram-graph .graph{flex:1}.diagram-says{color:var(--ink-soft);border-top:1px solid var(--line);margin:0;padding:6px 8px;font-size:12px}.labels-line{background:var(--bg);font:13.5px var(--mono);border-radius:8px;margin:0;padding:6px 10px}.role-chips{flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none;display:flex}.role-chip{border:1px dashed var(--brand-line);background:var(--surface);cursor:grab;border-radius:999px;padding:2px 9px;font-size:12.5px}.role-chip.used{opacity:.55}.role-chip.dragging{border-style:solid;border-color:var(--brand)}.spans{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.span-row{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(70px,auto) 1fr;align-items:center;gap:8px;padding:4px 6px;display:grid}.span-row.right{border-color:var(--good)}.span-row.wrong{border-color:var(--bad)}.span-text{font:13px var(--mono);color:var(--brand-deep)}.span-row select{width:100%;min-width:0;font-size:12.5px}.span-key{color:var(--ink-soft);grid-column:1/-1;margin:0;font-size:12.5px}.self-mark{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.self-mark .form-hint{flex-basis:100%}.verdict{border-radius:8px;margin-top:4px;padding:6px 10px;font-size:13px}.verdict p{margin:0}.verdict.right{background:var(--value-bg);color:var(--value-deep)}.verdict.wrong{background:var(--bad-bg);color:var(--bad)}.verdict.soft{background:var(--warn-bg);color:var(--warn)}.verdict-head{font-weight:700}.verdict-expected{color:var(--ink);margin-top:4px}.verdict-expected pre{font:12.5px/1.5 var(--mono);white-space:pre-wrap;margin:2px 0 0}.verdict-label{margin-right:4px;font-weight:600}.verdict-inline{margin:0;font-size:13px;font-weight:600}.verdict-inline.right{color:var(--good)}.verdict-inline.soft{color:var(--warn)}.verdict-inline.wrong{color:var(--bad)}.commit-row{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.commit-note{margin:0;font-size:12px}.block-text,.table-wrap,.code-view{--scroll-bg:var(--surface);--scroll-shade:#141e324d;background:linear-gradient(to right, var(--scroll-bg) 40%, transparent) left / 24px 100% no-repeat local, linear-gradient(to left, var(--scroll-bg) 40%, transparent) right / 24px 100% no-repeat local, radial-gradient(farthest-side at 0 50%, var(--scroll-shade), transparent) left / 12px 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, var(--scroll-shade), transparent) right / 12px 100% no-repeat scroll, var(--scroll-bg)}.block-text{--scroll-bg:#131a2a;--scroll-shade:#ffffff59}.form .table-wrap{max-width:100%;overflow-x:auto}.glossary-bridge{color:var(--ink-soft);margin:0}@media (max-width:560px){.glossary table,.glossary tbody,.glossary tr,.glossary td{width:100%;display:block}.glossary thead{display:none}.glossary tr{border:1px solid var(--line);border-radius:8px;margin:0 0 10px;padding:6px 10px}.glossary .card td{border:0;padding:2px 0}.glossary td:before{content:attr(data-label);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);font-size:11px;font-weight:700;display:block}}.glossary{overflow-y:auto}.glossary-column{max-width:900px;margin:0 auto;padding:18px 16px 48px}.glossary-column h2{margin:0 0 6px}.glossary-group{margin-top:18px}.glossary-term:target{outline:3px solid var(--brand);outline-offset:2px;border-radius:6px}@media (max-width:700px){.diagram-options{grid-template-columns:1fr}.read-sheet{padding:10px 10px 24px}}.robot-panel[data-mode=read] .transcript{height:64px}@media (max-width:1000px){.workbench:has(.scene-panel.compact) .scene-pane{height:auto}.scene-panel.compact .sheet-scroll{overflow:visible}.workbench:has(.scene-panel.compact) .robot-pane{height:760px}.scene-panel.compact .sheet-scroll:has(.ideas-sheet){height:max(260px,100svh - 380px);overflow-y:auto}.workbench:has(.ideas-sheet) .robot-pane{height:min(760px,100svh - 16px)}.ideas-panel .ideas-said{display:block}}.ideas-said{border-bottom:1px solid var(--line);background:var(--surface);margin:0;padding:8px 12px;font-size:13px;line-height:1.4;display:none}.ideas-said b{background:var(--ink);color:var(--surface);border-radius:999px;margin-right:6px;padding:1px 8px;font-size:11.5px}.ideas-note{background:var(--brand-soft);color:var(--brand-deep);border-bottom:1px solid var(--brand-line);margin:0;padding:8px 12px;font-size:12.5px}@media (max-width:480px){.topbar .nav-word{display:none}.topbar .whereabouts{gap:6px}}.capstone-steps{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;font-size:12.5px;list-style:none;display:grid;margin:10px 0 0!important;padding:0!important}.capstone-steps li{border:1px solid var(--line);color:var(--ink-soft);border-radius:8px;align-items:center;gap:6px;padding:4px 8px;display:flex}.capstone-steps li.now{border-color:var(--brand);color:var(--ink);font-weight:700}.capstone-steps li.right{border-color:var(--good);background:var(--value-bg)}.capstone-steps li.wrong{border-color:var(--warn);background:var(--warn-bg)}.capstone-id{font-family:var(--mono);color:var(--brand-deep);font-weight:700}.key-note{background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:10px;margin:0 0 10px;padding:8px 12px;font-size:14px;line-height:1.45}.key-note-who{margin-right:4px;font-weight:800}.robot-panel[data-look=v2]{--t-bg:#07101d;--t-bg-2:#0c1a2c;--t-edge:#1c2c44;--t-phos:#5dffa8;--t-ink:#e8f4ee;--t-soft:#a9bdd3;--t-dim:#7c90a8;--t-answer:#7df0c9;--t-err:#ff9d8e;--t-amber:#ffc861;--t-cyan:#5ad8ff;--t-ghost:#c9d6ea;background:var(--t-bg)}.robot-panel[data-look=v2] .views{background:#050b15}.robot-panel[data-look=v2] .gutter:after{background:#2a3a55}.robot-panel[data-look=v2] .gutter:hover:after,.robot-panel[data-look=v2] .gutter:focus-visible:after{background:var(--t-phos)}.robot-panel[data-look=v2] .views .memory-view{border-top-color:var(--t-edge)}.robot-panel[data-look=v2] :is(.view.instrument,.view.memory-view){isolation:isolate;position:relative}.robot-panel[data-look=v2] :is(.view.instrument,.view.memory-view):after{content:"";z-index:10;pointer-events:none;position:absolute;inset:0}.robot-panel[data-look=v2] .view.instrument.glow{outline:none}.robot-panel[data-look=v2] .view.instrument.glow:after{box-shadow:inset 0 0 0 2px #5dffa88c,inset 0 0 22px #5dffa81f}.robot-panel[data-look=v2] :is(.view.instrument,.view.memory-view).pulse{outline:none;animation:none}@media (prefers-reduced-motion:no-preference){.robot-panel[data-look=v2] :is(.view.instrument,.view.memory-view).pulse:after{animation:1.3s ease-in-out infinite v2-focus-pulse}@keyframes v2-focus-pulse{50%{box-shadow:inset 0 0 0 3px #5dffa8d9,inset 0 0 26px #5dffa838}}}@media (prefers-reduced-motion:reduce){.robot-panel[data-look=v2] :is(.view.instrument,.view.memory-view).pulse:after{box-shadow:inset 0 0 0 3px #5dffa8d9,inset 0 0 26px #5dffa838}}.robot-panel[data-look=v2] .transport{background:var(--t-bg-2);border-top-color:var(--t-edge)}.robot-panel[data-look=v2] .transport button{color:#ffd9d3;background:#3a1016;border-color:#ff7a6b;font-weight:700}.console.v2{color:var(--t-ink);background:repeating-linear-gradient(0deg, #ffffff06 0 1px, transparent 1px 3px), radial-gradient(130% 80% at 50% 0%, #5dffa80f, transparent 70%), linear-gradient(var(--t-bg-2), var(--t-bg));position:relative}.console.v2 .scrollback{scrollbar-color:#2a3a55 transparent;padding:14px 30px 18px 16px;font-size:14px}.console.v2 ::selection{background:#5dffa84d}.console.v2 .lamp{z-index:1;background:var(--t-phos);width:9px;height:9px;box-shadow:0 0 8px var(--t-phos);pointer-events:none;border-radius:50%;position:absolute;top:10px;right:11px}.console.v2[data-state=locked] .lamp,.console.v2[data-state=demo] .lamp{background:var(--t-amber);box-shadow:0 0 7px #ffc861b3}.console.v2[data-state=busy] .lamp{background:var(--t-cyan);box-shadow:0 0 9px var(--t-cyan)}.console.v2 .prompt{color:var(--t-phos);text-shadow:0 0 6px #5dffa88c}.console.v2 .typed{color:var(--t-ink)}.console.v2 .prompt-row{border-left:2px solid #0000;border-radius:4px;margin:2px -8px 0;padding:2px 8px;transition:background .2s,border-color .2s;position:relative}.console.v2[data-state=open] .prompt-row{border-left-color:var(--t-phos);background:#5dffa812}.console.v2[data-state=open][data-asked=yes] .prompt-row{background:#5dffa81c}.console.v2[data-state=locked] .prompt,.console.v2[data-state=demo] .prompt,.console.v2[data-state=busy] .prompt{color:var(--t-dim);text-shadow:none}.console.v2 .line-wrap{flex:1;min-width:0;display:flex;position:relative}.console.v2 .line{color:var(--t-ink);caret-color:var(--t-phos);caret-shape:block}.console.v2[data-empty=yes] .line{caret-color:#0000}.console.v2 .line:disabled{opacity:1;color:var(--t-dim)}.console.v2 .cursor{background:var(--t-phos);pointer-events:none;border-radius:1px;width:.62em;height:1.2em;position:absolute;top:.24em;left:0;box-shadow:0 0 8px #5dffa899}.console.v2[data-state=locked] .cursor,.console.v2[data-state=demo] .line-wrap>.cursor{box-shadow:none;border:1.5px solid var(--t-dim);background:0 0}.console.v2 .lock-mark{width:15px;height:15px;stroke:var(--t-amber);flex:none;align-self:center;margin-left:6px}.console.v2 .demo-typing{white-space:pre-wrap;word-break:break-word;min-width:0;color:var(--t-ghost);flex:1}.console.v2 .demo-typing .cursor{background:var(--t-ghost);vertical-align:top;margin-left:1px;display:inline-block;position:relative;top:.22em;box-shadow:0 0 6px #c9d6ea80}.console.v2 .working{gap:3px;height:1.2em;display:inline-flex;position:absolute;top:.24em;left:0}.console.v2 .working .cell{background:var(--t-cyan);border-radius:1px;width:.5em;height:100%;box-shadow:0 0 6px #5ad8ff99}.console.v2 .said{margin-left:3.4ch;padding-left:0}.console.v2 .mark{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:14px;height:14px;margin-top:.3em}.console.v2 .mark .fill{fill:currentColor;stroke:none}.console.v2 .said.value{border-left:2px solid var(--t-answer);width:-moz-fit-content;width:fit-content;max-width:calc(100% - 3.4ch);color:var(--t-answer);background:#7df0c917;border-radius:0 4px 4px 0;gap:8px;margin-top:2px;margin-bottom:2px;padding:1px 10px 1px 7px;font-weight:700;display:flex}.console.v2 .said-text{min-width:0}.console.v2 .said.out{color:var(--t-soft)}.console.v2 .said.err{color:var(--t-err);gap:8px;display:flex}.console.v2 .exchange.given{opacity:.8}.console.v2 .given-tag{color:#c9d6ff;background:#1d2c47}.console.v2 .exchange.demo{background:#c9d6ea0a;border:1px dashed #c9d6ea73;border-radius:8px;margin:12px 0 8px -8px;padding:5px 8px 4px;position:relative}.console.v2 .exchange.demo .typed,.console.v2 .exchange.demo .prompt{color:var(--t-ghost);text-shadow:none}.console.v2 .demo-tag{z-index:1;float:right;color:var(--ink);letter-spacing:.02em;background:#e8eefc;border-radius:6px;align-items:center;gap:4px;margin:-15px 0 -3px 8px;padding:0 7px 0 5px;font:800 10.5px/18px Nunito,ui-rounded,system-ui,sans-serif;display:inline-flex;position:sticky;top:2px}.console.v2 .demo-tag .mark{width:12px;height:12px;margin:0}.robot-panel[data-look=v2] .graph{background:radial-gradient(circle,#78a0dc33 1px,#0000 1.6px) 0 0/18px 18px,linear-gradient(90deg,#5ad8ff0b 1px,#0000 1px) 0 0/108px 100%,linear-gradient(#0b1628,#081221)}.robot-panel[data-look=v2] .graph-more.right{background:linear-gradient(90deg,#08122100,#081221 85%)}.robot-panel[data-look=v2] .graph-more.left{background:linear-gradient(270deg,#0b162800,#0b1628 85%)}.robot-panel[data-look=v2] .edge path{stroke:#7186ab}.robot-panel[data-look=v2] .edge marker path,.robot-panel[data-look=v2] .edges marker path{fill:#7186ab}.robot-panel[data-look=v2] .has-pick .edge path{stroke:#2a3953}.robot-panel[data-look=v2] .has-pick .edge.lit path{stroke:#9db2ff}.robot-panel[data-look=v2] .edge-label{fill:#c3d0ea;stroke:#0a1526}.robot-panel[data-look=v2] .has-pick .edge .edge-label{fill:#53627f}.robot-panel[data-look=v2] .has-pick .edge.lit .edge-label{fill:#b4c4ff}.robot-panel[data-look=v2] .node.name:not(.picked){box-shadow:0 0 12px #7896ff47}.robot-panel[data-look=v2] .node.object.value:not(.picked){box-shadow:0 0 12px #7df0c938}.robot-panel[data-look=v2] .node.object.reference:not(.picked){box-shadow:0 0 12px #ffc86133}.robot-panel[data-look=v2] .graph{--mark:#ffd166;--mark-glow:#ffd16673}.robot-panel[data-look=v2] .edge.marked path{stroke:var(--mark)}.robot-panel[data-look=v2] .edges .tip-marked path{fill:var(--mark)}.robot-panel[data-look=v2] .memory-demo-frame{background:#c9d6ea09;border-color:#c9d6ea80}.robot-panel[data-look=v2] .memory-reset{color:#a9bdd3;opacity:.7;background:#0f1d33;border-color:#2a3a55}.robot-panel[data-look=v2] .memory-reset:hover:not(:disabled),.robot-panel[data-look=v2] .memory-reset:focus-visible{opacity:1;color:var(--t-phos);border-color:#5dffa899;box-shadow:0 0 10px #5dffa840}.robot-panel[data-look=v2] .memory-reset:focus-visible{outline-color:var(--t-phos)}.robot-panel[data-look=v2] .memory-reset:disabled{opacity:.3;box-shadow:none}.robot-panel[data-look=v2] .memory-tools.pulse{outline-offset:3px;outline:2px solid #5dffa8d9;animation:none;box-shadow:0 0 0 4px #5dffa81f,0 0 18px 4px #5dffa838}@media (prefers-reduced-motion:no-preference){.robot-panel[data-look=v2] .memory-tools.pulse{animation:1.3s ease-in-out infinite v2-tools-pulse}@keyframes v2-tools-pulse{50%{outline-color:#5dffa866;box-shadow:0 0 0 4px #5dffa80a,0 0 26px 8px #5dffa852}}}.bank-empty{pointer-events:none;padding:18px 16px;position:absolute;inset:0;overflow:hidden}.bank-empty .sockets{flex-direction:column;gap:14px;display:flex}.bank-empty .socket-row{opacity:calc(1 - var(--i) * .28);align-items:center;display:flex}.bank-empty .socket{background:#ffffff05;border:1.5px dashed;flex:none}.bank-empty .socket.name{border-color:#9db2ff80;border-radius:999px;width:64px;height:24px}.bank-empty .socket.object{border-color:#7df0c973;border-radius:10px;width:58px;height:40px}.bank-empty .wire{border-top:1.5px dashed #7186ab99;flex:none;width:40px;height:0;margin:0 4px;position:relative}.bank-empty .wire:after{content:"";border:4px solid #0000;border-left:6px solid #7186ab99;border-right:0;position:absolute;top:-5px;right:-2px}@media (prefers-reduced-motion:no-preference){.console.v2[data-state=open] .line-wrap>.cursor{animation:1.06s step-end infinite v2-blink}.console.v2[data-state=busy] .lamp{animation:.5s step-end infinite v2-blink}.console.v2 .working .cell{animation:.9s ease-in-out infinite v2-cell}.console.v2 .working .cell:nth-child(2){animation-delay:.15s}.console.v2 .working .cell:nth-child(3){animation-delay:.3s}.console.v2 .exchange.demo{animation:.22s ease-out backwards v2-demo-in}.bank-empty .socket{animation:3.2s ease-in-out infinite v2-socket;animation-delay:calc(var(--i) * .35s)}.bank-empty .socket.object{animation-delay:calc(var(--i) * .35s + .2s)}@keyframes v2-blink{50%{opacity:0}}@keyframes v2-cell{0%,to{opacity:.18}40%{opacity:1}}@keyframes v2-demo-in{0%{opacity:0;translate:0 4px}}@keyframes v2-socket{0%,to{background:#ffffff05}50%{background:#9db2ff1a}}}@media (prefers-reduced-motion:reduce){.console.v2 .working .cell:nth-child(2){opacity:.55}.console.v2 .working .cell:nth-child(3){opacity:.25}}.console.v2 .line-wrap>.lock-mark{margin:0;position:absolute;top:.32em;left:.95em}.editor.v2{min-height:0;color:var(--t-ink);background:repeating-linear-gradient(0deg, #ffffff05 0 1px, transparent 1px 3px), radial-gradient(130% 70% at 50% 0%, #5dffa80d, transparent 70%), linear-gradient(var(--t-bg-2), var(--t-bg));flex-direction:column;flex:1;display:flex;position:relative}.editor.v2 .cm-host{flex:1;min-height:0}.editor.v2 .cm-editor{height:100%;font-size:14.5px}@media (max-width:480px){.editor.v2 .cm-editor{font-size:13.5px}}.editor.v2 .cm-gutters{padding-left:4px;box-shadow:inset -1px 0 #2a3a5599}.editor.v2 .cm-line{position:relative}.editor.v2 .cm-guided:before{content:"";width:calc(var(--guides) * 4ch);pointer-events:none;background:repeating-linear-gradient(90deg,#7c90a852 0 1px,#0000 1px 4ch);position:absolute;top:0;bottom:0;left:10px}.editor.v2 .cm-run-gutter .cm-gutterElement{min-width:18px;padding:0 1px}.editor.v2 .run-mark-box{justify-content:center;align-items:center;height:1.65em;display:flex}.editor.v2 .run-mark{font:800 10px/1 var(--mono);justify-content:center;align-items:center;display:inline-flex}.editor.v2 .run-mark.ran{background:var(--t-phos);border-radius:50%;width:6px;height:6px;box-shadow:0 0 6px #5dffa8b3}.editor.v2 .run-mark.ran.count{width:auto;min-width:15px;height:15px;color:var(--t-phos);background:#5dffa829;border-radius:8px;padding:0 3px;box-shadow:inset 0 0 0 1px #5dffa88c}.editor.v2 .run-mark.now{color:var(--t-cyan);text-shadow:0 0 8px var(--t-cyan);font-size:11px}.editor.v2 .run-mark.error{color:var(--t-err);text-shadow:0 0 6px #ff9d8e99;font-size:11px}.editor.v2 .cm-line.cm-now{box-shadow:inset 3px 0 0 var(--t-cyan), inset 0 1px 0 #5ad8ff2e, inset 0 -1px 0 #5ad8ff2e;background:linear-gradient(90deg,#5ad8ff33,#5ad8ff12 60%,#5ad8ff08)}.editor.v2 .cm-line.cm-ran{box-shadow:inset 2px 0 #5dffa859}.editor.v2 .cm-line.cm-skipped{opacity:.38;filter:grayscale(.85)}.editor.v2 .cm-line.cm-errline{box-shadow:inset 3px 0 0 var(--t-err);background:#ff9d8e14}.editor.v2 .cm-err-text{-webkit-text-decoration:underline wavy var(--t-err);text-decoration:underline wavy var(--t-err);text-underline-offset:4px;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:1.5px}.editor.v2 .cm-err-chip{color:#ffd9d3;font:700 11.5px/1.6 var(--mono);vertical-align:1px;white-space:nowrap;background:#3a1016;border-radius:5px;margin-left:12px;padding:0 8px;display:inline-block;box-shadow:inset 0 0 0 1px #ff7a6bb3}.editor.v2 .cm-err-chip:before{content:"✕ ";color:var(--t-err)}.editor.v2 .lamp{z-index:2;background:var(--t-phos);width:9px;height:9px;box-shadow:0 0 8px var(--t-phos);pointer-events:none;border-radius:50%;position:absolute;top:10px;right:11px}.editor.v2[data-state=locked] .lamp,.editor.v2[data-state=demo] .lamp{background:var(--t-amber);box-shadow:0 0 7px #ffc861b3}.editor.v2[data-state=busy] .lamp{background:var(--t-cyan);box-shadow:0 0 9px var(--t-cyan)}.editor.v2>.lock-mark{z-index:2;fill:none;width:15px;height:15px;stroke:var(--t-amber);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;position:absolute;top:7px;right:26px}.editor.v2[data-state=locked] .cm-content{opacity:.86}.editor.v2[data-state=locked] .cm-activeLine,.editor.v2[data-state=busy] .cm-activeLine{background:0 0}.editor.v2[data-state=demo]:after{content:"";pointer-events:none;background:#c9d6ea08;border:1.5px dashed #c9d6ea73;border-radius:10px;position:absolute;inset:6px}.editor.v2>.demo-tag{z-index:3;color:var(--ink);letter-spacing:.02em;background:#e8eefc;border-radius:6px;align-items:center;gap:4px;padding:0 7px 0 5px;font:800 10.5px/18px Nunito,ui-rounded,system-ui,sans-serif;display:inline-flex;position:absolute;top:-3px;right:40px}.editor.v2>.demo-tag .mark{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.editor.v2[data-state=demo] .cm-scroller{padding-top:8px}.editor.v2 .cm-crow-cursor{vertical-align:-.2em;background:var(--t-ghost);border-radius:1px;width:.6em;height:1.15em;margin-left:1px;display:inline-block;box-shadow:0 0 6px #c9d6ea80}.robot-panel[data-look=v2] .editor-transport{gap:10px;padding:8px 10px}.robot-panel[data-look=v2] .editor-transport button{align-items:center;gap:6px;font:800 14px/1 Nunito,ui-rounded,system-ui,sans-serif;display:inline-flex}.robot-panel[data-look=v2] .editor-transport svg{flex:none;width:14px;height:14px}.robot-panel[data-look=v2] .editor-transport .run-key{border:1px solid var(--t-phos);color:#eafff3;background:linear-gradient(#1c5a3c,#12402b);border-radius:9px;padding:8px 12px;box-shadow:0 0 14px #5dffa840,inset 0 1px #ffffff1f}.robot-panel[data-look=v2] .editor-transport .run-key .run-icon{fill:var(--t-phos);filter:drop-shadow(0 0 3px #5dffa8cc)}.robot-panel[data-look=v2] .editor-transport .run-key:hover:not(:disabled){background:linear-gradient(#216b47,#164d33);box-shadow:0 0 18px #5dffa866,inset 0 1px #ffffff24}.robot-panel[data-look=v2] .editor-transport .run-key:active:not(:disabled){translate:0 1px}.robot-panel[data-look=v2] .editor-transport .run-key:focus-visible{outline:2px solid var(--t-phos);outline-offset:2px}.robot-panel[data-look=v2] .editor-transport .run-key:disabled{opacity:1;color:#7c90a8;box-shadow:none;cursor:default;background:#0f1d33;border-color:#2a3a55}.robot-panel[data-look=v2] .editor-transport .run-key:disabled .run-icon{fill:#7c90a8;filter:none}.robot-panel[data-look=v2] .editor-transport .key-hint{color:#eafff3b8;font:600 11px/1.3 var(--mono);background:#0000002e;border:1px solid #eafff347;border-radius:4px;margin-left:2px;padding:1px 5px}.robot-panel[data-look=v2] .editor-transport .run-key:disabled .key-hint{color:#5f7491;border-color:#2a3a55}.robot-panel[data-look=v2] .editor-transport .working{gap:2px;height:12px;display:inline-flex}.robot-panel[data-look=v2] .editor-transport .working .cell{background:var(--t-cyan);border-radius:1px;width:4px;height:100%;box-shadow:0 0 5px #5ad8ff99}.robot-panel[data-look=v2] .editor-transport .stop-key{color:#ffd9d3;background:#3a1016;border:1px solid #ff7a6b;border-radius:9px;padding:8px 11px}.robot-panel[data-look=v2] .editor-transport .stop-key svg{fill:#ff7a6b}.robot-panel[data-look=v2] .stepper{flex:1;align-items:center;gap:2px;min-width:0;display:flex}.robot-panel[data-look=v2] .editor-transport .step-key{width:30px;height:30px;color:var(--t-soft);background:0 0;border:1px solid #0000;border-radius:7px;flex:none;justify-content:center;padding:0}.robot-panel[data-look=v2] .editor-transport .step-key svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.robot-panel[data-look=v2] .editor-transport .step-key svg .fill{fill:currentColor;stroke-width:1px}.robot-panel[data-look=v2] .editor-transport .step-key:hover:not(:disabled){color:var(--t-cyan);background:#5ad8ff14;border-color:#5ad8ff73}.robot-panel[data-look=v2] .editor-transport .step-key:focus-visible{outline:2px solid var(--t-cyan);outline-offset:0}.robot-panel[data-look=v2] .editor-transport .step-key:disabled{color:#34465f;cursor:default}.robot-panel[data-look=v2] .editor-transport .scrub{flex:1;min-width:48px;margin:0 4px}.robot-panel[data-look=v2] .scrub input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:22px;margin:0}.robot-panel[data-look=v2] .scrub input[type=range]:disabled{cursor:default}.robot-panel[data-look=v2] .scrub input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--t-cyan) var(--pct), #22334d var(--pct));border-radius:2px;height:4px}.robot-panel[data-look=v2] .scrub input[type=range]::-moz-range-track{background:linear-gradient(90deg, var(--t-cyan) var(--pct), #22334d var(--pct));border-radius:2px;height:4px}.robot-panel[data-look=v2] .scrub input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#dff7ff;border-radius:50%;width:14px;height:14px;margin-top:-5px;box-shadow:0 0 0 3px #5ad8ff59,0 0 10px #5ad8ff99}.robot-panel[data-look=v2] .scrub input[type=range]::-moz-range-thumb{background:#dff7ff;border:0;border-radius:50%;width:14px;height:14px;box-shadow:0 0 0 3px #5ad8ff59,0 0 10px #5ad8ff99}.robot-panel[data-look=v2] .scrub input[type=range]:disabled::-webkit-slider-runnable-track{background:#1a2940}.robot-panel[data-look=v2] .scrub input[type=range]:disabled::-webkit-slider-thumb{box-shadow:none;background:#34465f}.robot-panel[data-look=v2] .scrub input[type=range]:disabled::-moz-range-thumb{box-shadow:none;background:#34465f}.robot-panel[data-look=v2] .scrub input[type=range]:focus-visible{outline:2px solid var(--t-cyan);outline-offset:2px;border-radius:4px}.robot-panel[data-look=v2] .editor-transport .step-label{min-width:6ch;color:var(--t-soft);font:600 12.5px/1 var(--mono);font-variant-numeric:tabular-nums;text-align:right;margin-left:6px}.robot-panel[data-look=v2] .editor-transport[data-has-run=no] .step-label{color:#34465f}@media (max-width:480px){.robot-panel[data-look=v2] .editor-transport .key-hint,.robot-panel[data-look=v2] .editor-transport .step-key[data-testid=step-first],.robot-panel[data-look=v2] .editor-transport .step-key[data-testid=step-last]{display:none}.robot-panel[data-look=v2] .editor-transport{gap:6px}}.robot-panel[data-look=v2] .output-log{border-top:1px solid var(--t-edge);height:84px;color:var(--t-soft);font:13px/1.5 var(--mono);scrollbar-color:#2a3a55 transparent;background:repeating-linear-gradient(0deg,#ffffff05 0 1px,#0000 1px 3px),#050b15;padding:7px 12px 8px 14px}.robot-panel[data-look=v2] .output-log .t-line.out{color:var(--t-ink)}.robot-panel[data-look=v2] .output-log .t-line.err{color:var(--t-err)}.robot-panel[data-look=v2] .output-log .t-line.note{width:-moz-fit-content;width:fit-content;color:var(--t-dim);background:#7c90a81f;border-radius:4px;margin-top:3px;padding:0 7px;font-size:11.5px}.robot-panel[data-look=v2] .output-log .t-line.err:last-child{background:#ff9d8e1a;border-radius:4px;width:-moz-fit-content;width:fit-content;margin-top:3px;padding:0 7px}.robot-panel[data-look=v2] .output-log .log-idle{color:#34465f;font-weight:700}@media (prefers-reduced-motion:no-preference){.editor.v2[data-state=busy] .lamp{animation:.5s step-end infinite v2-blink}.editor.v2 .cm-crow-cursor{animation:.9s step-end infinite v2-blink}.robot-panel[data-look=v2] .editor-transport .working .cell{animation:.9s ease-in-out infinite v2-cell}.robot-panel[data-look=v2] .editor-transport .working .cell:nth-child(2){animation-delay:.15s}.robot-panel[data-look=v2] .editor-transport .working .cell:nth-child(3){animation-delay:.3s}.editor.v2 .cm-line.cm-now:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(90deg,#0000,#5ad8ff47,#0000) -60% 0/35% 100% no-repeat;animation:.48s ease-out v2-now;position:absolute;inset:0}.editor.v2 .cm-line.cm-skipped{transition:opacity .4s}@keyframes v2-now{0%{opacity:1;background-position:-60% 0}to{opacity:0;background-position:160% 0}}.robot-panel[data-look=v2] .editor-transport .run-key.pulse{animation:1.3s ease-in-out infinite v2-run-pulse}@keyframes v2-run-pulse{50%{box-shadow:0 0 0 4px #5dffa859,0 0 22px #5dffa88c}}}@media (prefers-reduced-motion:reduce){.robot-panel[data-look=v2] .editor-transport .run-key.pulse{box-shadow:0 0 0 3px #5dffa880}}.workbench.sandbox{grid-template-columns:minmax(0,1fr)}.sandbox .robot-panel .views{flex-direction:row}.sandbox .sandbox-code{width:var(--code-w,46%);flex-direction:column;flex:none;min-width:0;max-width:calc(100% - 280px);display:flex}.sandbox .views .view.instrument{flex:auto}.sandbox .views .memory-view{border-top:0;border-left:1px solid var(--t-edge);flex:auto;height:auto;max-height:none}@media (max-width:1000px){.sandbox .robot-panel .views{flex-direction:column}.sandbox .sandbox-code{width:auto;max-width:none;height:520px}.sandbox .views .memory-view{border-left:0;border-top:1px solid var(--t-edge);flex:none;height:460px}}.robot-panel[data-look=v2] .room-bar{background:var(--t-bg-2);border-bottom:1px solid var(--t-edge);min-height:40px;color:var(--t-soft);flex:none;align-items:center;gap:10px;padding:5px 10px;font-size:13px;display:flex}.room-bar .spacer{flex:1}.room-bar .room-hint{color:var(--t-dim)}.room-bar .room-hint.warn{color:var(--t-amber)}.room-bar>.room-hint.warn{white-space:normal;flex:12em;min-width:0}.robot-panel[data-look=v2] .room-bar button{min-height:30px;color:var(--t-ink);font:inherit;cursor:pointer;background:#10203a;border:1px solid #2a3a55;border-radius:8px;align-items:center;gap:6px;padding:3px 12px;font-weight:700;display:inline-flex}.robot-panel[data-look=v2] .room-bar button:hover{border-color:var(--t-cyan)}.robot-panel[data-look=v2] .room-bar button:focus-visible{outline:2px solid var(--t-cyan);outline-offset:2px}.robot-panel[data-look=v2] .room-bar .room-share{color:#d6f4ff;border-color:#5ad8ff8c}.room-people{scrollbar-width:none;flex:0 auto;gap:6px;min-width:0;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.room-people li{white-space:nowrap;color:var(--t-ink);background:#ffffff0d;border-radius:999px;flex:none;align-items:center;gap:6px;padding:3px 10px 3px 8px;display:inline-flex}.room-people .dot{background:var(--peer);border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 2px #00000059}.room-bar>button,.room-bar .room-hint{white-space:nowrap;flex:none}.room-bar .room-count{color:var(--t-soft);display:none}@media (max-width:600px){.room-people .who,.room-bar [data-testid=room-busy]{display:none}.room-people li{padding:6px}.room-bar .room-count{display:inline}.room-bar .room-hint{white-space:normal}}.cm-peer-caret{vertical-align:text-bottom;border-left:2px solid var(--peer);pointer-events:auto;width:0;height:1.2em;margin:0 -1px;display:inline-block;position:relative}.cm-peer-name{background:var(--peer);color:#07101d;font:700 11px/1.4 var(--sans,system-ui), sans-serif;white-space:nowrap;pointer-events:none;opacity:0;z-index:5;border-radius:4px 4px 4px 0;padding:1px 6px;animation:1.6s ease-out peer-name;position:absolute;bottom:100%;left:-2px}.cm-peer-name.quiet{animation:none}.cm-peer-caret:hover .cm-peer-name{opacity:1;animation:none}@media (prefers-reduced-motion:reduce){.cm-peer-name{opacity:.85}}@keyframes peer-name{0%,70%{opacity:1}to{opacity:0}}.cm-peer-selection{background:color-mix(in srgb, var(--peer) 22%, transparent);border-bottom:1px solid color-mix(in srgb, var(--peer) 70%, transparent)}.robot-panel[data-look=v2] .console-box{flex:none;min-height:0}.program-console{border-top:1px solid var(--t-edge,#1c2c44);box-sizing:border-box;background:repeating-linear-gradient(0deg,#ffffff05 0 1px,#0000 1px 3px),#050b15;height:170px;padding:6px 4px 4px 12px}.program-console-term{width:100%;height:100%}.program-console .xterm,.program-console .xterm .xterm-viewport{background:0 0!important}.program-console .xterm .xterm-viewport{scrollbar-color:#2a3a55 transparent}
