@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,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}.drawer-scrim{z-index:90;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity var(--duration-base) var(--ease-out);background:#0e132052;position:fixed;inset:0}.drawer-scrim[data-open]{opacity:1;pointer-events:auto}.drawer{--drawer-hue:var(--accent);--drawer-soft:var(--accent-soft);z-index:91;background:var(--bg-surface);border-left:1px solid var(--border-default);width:min(460px,100vw);box-shadow:var(--shadow-lg);transition:transform var(--duration-slow) var(--ease-out);outline:none;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.drawer[data-open]{transform:translate(0)}.drawer[data-category=variables]{--drawer-hue:var(--hue-variable);--drawer-soft:var(--hue-variable-soft)}.drawer[data-category=io]{--drawer-hue:var(--hue-io);--drawer-soft:var(--hue-io-soft)}.drawer[data-category=conditionals]{--drawer-hue:var(--hue-conditional);--drawer-soft:var(--hue-conditional-soft)}.drawer[data-category=loops]{--drawer-hue:var(--hue-loop);--drawer-soft:var(--hue-loop-soft)}.drawer__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-3);background:linear-gradient(to bottom, var(--drawer-soft), transparent);display:flex}.drawer__heading{flex-direction:column;gap:2px;min-width:0;display:flex}.drawer__eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--drawer-hue);font-weight:700}.drawer__title{font-size:var(--text-2xl);letter-spacing:-.02em;color:var(--text-primary);font-weight:680;line-height:1.15}.drawer__time{font-size:var(--text-xs);color:var(--text-muted)}.drawer__close svg{width:17px;height:17px}.drawer__close{width:32px;height:32px;color:var(--text-muted);border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;font-size:22px;line-height:1;display:flex}.drawer__close:hover{background:var(--bg-sunken);color:var(--text-primary)}.drawer__nav{gap:var(--space-1);padding:0 var(--space-5) var(--space-4);flex-wrap:wrap;display:flex}.drawer__nav::-webkit-scrollbar{display:none}.drawer__nav-item{--chip-hue:var(--slate-400);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);white-space:nowrap;color:var(--text-muted);border:1px solid var(--border-default);border-radius:var(--radius-full);transition:color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);font-weight:600}.drawer__nav-item[data-category=variables]{--chip-hue:var(--hue-variable)}.drawer__nav-item[data-category=io]{--chip-hue:var(--hue-io)}.drawer__nav-item[data-category=conditionals]{--chip-hue:var(--hue-conditional)}.drawer__nav-item[data-category=loops]{--chip-hue:var(--hue-loop)}.drawer__nav-item:hover{color:var(--chip-hue);border-color:var(--chip-hue)}.drawer__nav-item[data-current]{color:var(--text-inverse);background:var(--chip-hue);border-color:var(--chip-hue)}.drawer__scroll{min-height:0;padding:var(--space-4) var(--space-5) var(--space-6);font-size:var(--text-md);flex:1;line-height:1.7;overflow-y:auto}.drawer__summary{font-size:var(--text-lg);color:var(--text-secondary);margin-bottom:var(--space-4);font-weight:450;line-height:1.5}.drawer__key-idea{gap:var(--space-1);padding:var(--space-4);margin-bottom:var(--space-5);background:var(--drawer-soft);border-left:3px solid var(--drawer-hue);border-radius:0 var(--radius-md) var(--radius-md) 0;flex-direction:column;display:flex}.drawer__key-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.07em;color:var(--drawer-hue);font-weight:700}.drawer__key-idea p{font-size:var(--text-md);color:var(--text-primary);line-height:1.6}.drawer__paragraph{margin-bottom:var(--space-4);color:var(--text-secondary)}.drawer__paragraph code,.drawer__key-idea code{font-family:var(--font-mono);color:var(--drawer-hue);background:var(--drawer-soft);border-radius:var(--radius-xs);padding:1px 5px;font-size:.88em}.drawer__section{align-items:baseline;gap:var(--space-2);margin:var(--space-6) 0 var(--space-3);padding-bottom:var(--space-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.07em;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;font-weight:700;display:flex}.drawer__section-hint{font-size:var(--text-xs);text-transform:none;letter-spacing:0;color:var(--text-muted);font-weight:400}.drawer__mistakes{gap:var(--space-3);flex-direction:column;display:flex}.drawer__mistakes li{padding-left:var(--space-5);font-size:var(--text-base);color:var(--text-secondary);line-height:1.6;position:relative}.drawer__mistake-icon{width:15px;height:15px;color:var(--hue-conditional);flex-shrink:0;position:absolute;top:4px;left:0}.drawer__references{gap:var(--space-2);flex-direction:column;display:flex}.drawer__references a{padding:var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);flex-direction:column;gap:2px;text-decoration:none;display:flex}.drawer__references a:hover{background:var(--drawer-soft);border-color:var(--drawer-hue);transform:translate(2px)}.drawer__ref-label{font-size:var(--text-base);color:var(--text-primary);font-weight:600;line-height:1.4}.drawer__ref-meta{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-muted);display:flex}.drawer__ref-lang{text-transform:uppercase;letter-spacing:.04em;color:var(--drawer-hue);background:var(--drawer-soft);border-radius:var(--radius-xs);padding:0 5px;font-size:10px;font-weight:700}.drawer__ref-arrow{width:14px;height:14px;color:var(--drawer-hue);opacity:0;transition:opacity var(--duration-fast) var(--ease-out);margin-left:auto}.drawer__references a:hover .drawer__ref-arrow{opacity:1}@media (width<=640px){.drawer{width:100vw}}@media (prefers-reduced-motion:reduce){.drawer{transition:none}}.console{background:var(--bg-surface);flex-direction:column;height:100%;min-height:0;display:flex}.console--empty{font-size:var(--text-sm);color:var(--text-muted);text-align:center;padding:var(--space-5);justify-content:center;align-items:center}.console__vars{align-items:baseline;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;flex-shrink:0;display:flex}.console__vars-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:700}.console__vars-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.console__var{align-items:center;gap:var(--space-2);padding:2px var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);background:var(--bg-inset);border:1px solid var(--border-default);border-radius:var(--radius-sm);transition:border-color var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out);display:inline-flex}.console__var[data-changed]{border-color:var(--accent);background:var(--accent-soft)}.console__var-name{color:var(--hue-variable);font-weight:650}.console__var-value[data-kind=text]{color:var(--success)}.console__var-value[data-kind=boolean]{color:var(--hue-conditional)}.console__list{min-height:0;padding:var(--space-3) var(--space-4);flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.console__entry{align-items:baseline;gap:var(--space-3);padding:var(--space-1) var(--space-2);font-family:var(--font-mono);font-size:var(--text-sm);border-radius:var(--radius-sm);overflow-wrap:anywhere;line-height:1.6;display:flex}.console__entry[data-clickable]{cursor:pointer}.console__entry[data-clickable]:hover{background:var(--bg-sunken)}.console__marker{background:var(--border-strong);border-radius:2px;flex-shrink:0;align-self:stretch;width:3px}.console__entry[data-kind=say] .console__marker{background:var(--hue-io)}.console__entry[data-kind=ask] .console__marker{background:var(--accent)}.console__entry[data-kind=answer] .console__marker{background:var(--success)}.console__entry[data-kind=error] .console__marker{background:var(--danger)}.console__entry[data-kind=ask] .console__text{color:var(--text-secondary)}.console__entry[data-kind=answer] .console__text{color:var(--success);font-weight:600}.console__entry[data-kind=error] .console__text{color:var(--danger)}.console__clear{z-index:2;padding:3px var(--space-2);font-size:var(--text-xs);color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-full);transition:color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);align-self:flex-end;align-items:center;gap:5px;margin-left:auto;font-weight:600;display:inline-flex;position:sticky;top:0}.console__clear svg{width:13px;height:13px}.console__clear:hover{color:var(--danger);background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 30%, transparent)}.resize-handle{z-index:20;transition:background var(--duration-fast) var(--ease-out);touch-action:none;background:0 0;justify-content:center;align-items:center;display:flex;position:absolute}.resize-handle[data-edge=left],.resize-handle[data-edge=right]{cursor:col-resize;width:11px;top:0;bottom:0}.resize-handle[data-edge=left]{left:-5px}.resize-handle[data-edge=right]{right:-5px}.resize-handle[data-edge=top]{cursor:row-resize;height:11px;top:-5px;left:0;right:0}.resize-handle__grip{border-radius:var(--radius-full);transition:background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);background:0 0}.resize-handle[data-edge=left] .resize-handle__grip,.resize-handle[data-edge=right] .resize-handle__grip{width:3px;height:36px}.resize-handle[data-edge=top] .resize-handle__grip{width:36px;height:3px}.resize-handle:hover .resize-handle__grip,.resize-handle:focus-visible .resize-handle__grip,.resize-handle[data-dragging] .resize-handle__grip{background:var(--accent)}.resize-handle[data-dragging] .resize-handle__grip{transform:scaleY(1.4)}.resize-handle[data-edge=top][data-dragging] .resize-handle__grip{transform:scaleX(1.4)}.resize-handle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.codework{gap:var(--space-3);height:100%;min-height:0;padding:var(--space-3);background:var(--bg-app);grid-template-columns:minmax(0,1fr) auto;display:grid}.codework__main{gap:var(--space-3);grid-template-rows:auto minmax(0,1fr) auto auto;min-width:0;min-height:0;display:grid}.codework__stop{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--text-inverse);background:var(--danger);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);font-weight:650;display:inline-flex}.codework__stop svg{width:15px;height:15px}.codework__editor{min-height:0}.codework__loading{height:100%;padding:var(--space-3);background:var(--code-bg);border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden}.codework__loading .skeleton{padding:var(--space-3);background:0 0;border:none}.codework__console{height:var(--drawer-size,300px);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);min-height:0;position:relative;overflow:hidden}.codework__robot{width:var(--robot-size,330px);gap:var(--space-3);min-width:0;min-height:0;padding:var(--space-3);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);flex-direction:column;align-content:start;display:flex;position:relative;overflow-y:auto}.codework__answer{gap:var(--space-2);display:flex}.codework__answer input{min-width:0;padding:var(--space-2);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-inset);border:1px solid var(--border-default);border-radius:var(--radius-md);flex:1}.codework__answer input:focus{border-color:var(--accent);box-shadow:var(--shadow-focus);outline:none}.codework__answer button{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-inverse);background:var(--accent);border-radius:var(--radius-md);font-weight:650}@media (width<=960px){.codework{grid-template-columns:1fr;overflow-y:auto}.codework__robot{width:auto}}.codework__tools{align-items:center;gap:var(--space-1);display:flex}.codework__tool{width:30px;height:30px;color:var(--text-secondary);border-radius:var(--radius-md);transition:color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.codework__tool svg{width:16px;height:16px}.codework__tool-small{width:12px!important;height:12px!important}.codework__tool:hover:not(:disabled){color:var(--text-primary);background:var(--bg-inset)}.codework__tool[data-active]{color:var(--accent-strong);background:var(--accent-soft)}.codework__tool:disabled{opacity:.4;cursor:not-allowed}.codework__tool-divider{width:1px;height:18px;margin:0 var(--space-1);background:var(--border-subtle)}.codework__status{justify-content:space-between;gap:var(--space-3);padding:0 var(--space-1);font-size:var(--text-xs);color:var(--text-muted);display:flex}.codework__running{font-size:var(--text-xs);text-align:center;color:var(--text-muted)}.codework__reference{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border-subtle);flex-direction:column;display:flex}.codework__reference h2{font-size:var(--text-xs);color:var(--text-secondary);font-weight:650}.codework__reference ul{gap:var(--space-1);flex-wrap:wrap;list-style:none;display:flex}.codework__reference li{align-items:center;gap:3px;display:inline-flex}.codework__reference button{padding:2px var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--hue,var(--text-secondary));background:var(--bg-inset);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out)}.codework__reference button[data-category=variables]{--hue:var(--hue-variable)}.codework__reference button[data-category=io]{--hue:var(--hue-io)}.codework__reference button[data-category=conditionals]{--hue:var(--hue-conditional)}.codework__reference button[data-category=loops]{--hue:var(--hue-loop)}.codework__reference button[data-category=lists]{--hue:var(--hue-list)}.codework__reference button[data-category=functions]{--hue:var(--hue-function)}.codework__reference button:hover:not(:disabled){background:color-mix(in srgb, var(--hue) 12%, var(--bg-inset));border-color:var(--hue)}.codework__reference button:focus-visible{box-shadow:var(--shadow-focus);outline:none}.codework__reference button:disabled{opacity:.5;cursor:not-allowed}.codework__reference p{font-size:var(--text-xs);color:var(--text-muted);line-height:1.5}.codework__controls{align-items:center;gap:var(--space-2);display:flex}.codework__run,.codework__stop{flex:1}.codework__run{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--text-inverse);background:var(--accent);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:background var(--duration-fast) var(--ease-out);font-weight:650;display:inline-flex}.codework__run svg{width:15px;height:15px}.codework__run:hover:not(:disabled){background:var(--accent-strong)}.codework__run:disabled{opacity:.5;cursor:not-allowed}.codework__warning{font-size:var(--text-xs);color:var(--danger);font-weight:650}.codework__warning:hover{text-decoration:underline}.codework__robot .robot__body{width:min(88%,240px);max-height:min(250px,30vh)}.codework__keys{gap:var(--space-1) var(--space-3);padding:var(--space-3) var(--space-4);font-size:var(--text-xs);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);grid-template-columns:auto 1fr;display:grid}.codework__keys dt{font-family:var(--font-mono);color:var(--text-primary);white-space:nowrap;font-weight:650}.codework__keys dd{color:var(--text-secondary)}.canvas-menu__host{display:contents}.canvas-menu{z-index:60;min-width:186px;padding:var(--space-2);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:canvas-menu-in var(--duration-fast) var(--ease-out);flex-direction:column;gap:1px;display:flex;position:fixed}.canvas-menu__head{padding:var(--space-1) var(--space-3) var(--space-2);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:10px;font-weight:700}.canvas-menu__item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);text-align:left;color:var(--text-primary);border-radius:var(--radius-md);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);font-weight:550;display:flex}.canvas-menu__item svg{width:16px;height:16px;color:var(--text-muted);flex-shrink:0}.canvas-menu__item:hover:not(:disabled){background:var(--bg-inset)}.canvas-menu__item:disabled{color:var(--text-faint);cursor:default}.canvas-menu__item:disabled svg{color:var(--text-faint)}.canvas-menu__item--danger,.canvas-menu__item--danger svg{color:var(--danger)}.canvas-menu__item--danger:hover{background:var(--danger-soft)}.canvas-menu__item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.canvas-menu__hint{max-width:190px;padding:2px var(--space-3) var(--space-1);font-size:var(--text-xs);color:var(--text-muted);line-height:1.4}.canvas-menu__shortcut{padding-left:var(--space-3);font-family:var(--font-mono);color:var(--text-faint);margin-left:auto;font-size:10px;font-weight:600}.canvas-menu__item:disabled .canvas-menu__shortcut{color:var(--border-default)}.canvas-menu__rule{height:1px;margin:var(--space-1) var(--space-2);background:var(--border-subtle)}@keyframes canvas-menu-in{0%{opacity:0;transform:scale(.97)}}@media (prefers-reduced-motion:reduce){.canvas-menu{animation:none}}.canvas-toolbar{bottom:var(--space-4);z-index:20;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-full);box-shadow:var(--shadow-lg);max-width:calc(100vw - var(--space-6));gap:2px;padding:4px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.canvas-toolbar__group{flex-shrink:0}@container (width<=620px){.canvas-toolbar__button-label{display:none}}.canvas-toolbar__group{position:relative}.canvas-toolbar__button{--group-hue:var(--slate-500);align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);border-radius:var(--radius-full);white-space:nowrap;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);font-weight:620;display:flex}.canvas-toolbar__button svg{width:18px;height:18px;color:var(--group-hue)}.canvas-toolbar__button:hover,.canvas-toolbar__button[data-open]{color:var(--group-hue);background:color-mix(in srgb, var(--group-hue) 12%, transparent)}.canvas-toolbar__group[data-category=variables] .canvas-toolbar__button{--group-hue:var(--hue-variable)}.canvas-toolbar__group[data-category=io] .canvas-toolbar__button{--group-hue:var(--hue-io)}.canvas-toolbar__group[data-category=conditionals] .canvas-toolbar__button{--group-hue:var(--hue-conditional)}.canvas-toolbar__group[data-category=loops] .canvas-toolbar__button{--group-hue:var(--hue-loop)}.canvas-toolbar__menu{bottom:calc(100% + var(--space-2));min-width:232px;padding:var(--space-2);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:toolbar-menu-in var(--duration-fast) var(--ease-out);flex-direction:column;gap:2px;display:flex;position:absolute;left:50%;transform:translate(-50%)}@keyframes toolbar-menu-in{0%{opacity:0;transform:translate(-50%,4px)}}.canvas-toolbar__item{align-items:flex-start;gap:var(--space-3);padding:var(--space-2) var(--space-3);text-align:left;border-radius:var(--radius-md);transition:background var(--duration-fast) var(--ease-out);display:flex}.canvas-toolbar__item:hover{background:var(--bg-app)}.canvas-toolbar__item svg{width:19px;height:19px;color:var(--text-muted);flex-shrink:0;margin-top:1px}.canvas-toolbar__item-text{flex-direction:column;min-width:0;display:flex}.canvas-toolbar__item-label{font-size:var(--text-base);color:var(--text-primary);font-weight:620}.canvas-toolbar__item-hint{font-size:var(--text-xs);color:var(--text-muted);text-wrap:pretty;line-height:1.4}@media (width<=860px){.canvas-toolbar__button-label{display:none}.canvas-toolbar__button{padding:var(--space-2)}}@media (prefers-reduced-motion:reduce){.canvas-toolbar__menu{animation:none}}body[data-dragging] .canvas-toolbar__menu{opacity:0;transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);transform:translate(-50%,8px)scale(.96)}.canvas-toolbar__item{cursor:grab}.canvas-toolbar__item:active{cursor:grabbing}.canvas-toolbar__item[data-lifted]{opacity:0;transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);transform:translateY(-10px)scale(1.02)}@media (prefers-reduced-motion:reduce){body[data-dragging] .canvas-toolbar__menu,.canvas-toolbar__item[data-lifted]{transition:none;transform:none}}.canvas-toolbar--selection{gap:var(--space-1);padding:4px var(--space-2)}.canvas-toolbar__count{padding-inline:var(--space-2);font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;align-items:center;font-weight:650;display:flex}.canvas-toolbar__rule{background:var(--border-subtle);align-self:stretch;width:1px;margin-block:3px}.canvas-toolbar__action{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);border-radius:var(--radius-full);white-space:nowrap;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);font-weight:620;display:flex}.canvas-toolbar__action svg{width:17px;height:17px;color:var(--text-muted)}.canvas-toolbar__action:hover{color:var(--text-primary);background:var(--bg-app)}.canvas-toolbar__action--danger:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent)}.canvas-toolbar__action--danger:hover svg{color:var(--danger)}@media (width<=860px){.canvas-toolbar__action{padding:var(--space-2)}.canvas-toolbar__action-label,.canvas-toolbar__count{display:none}}.code-panel{background:var(--bg-surface);flex-direction:column;height:100%;min-height:0;display:flex}.code-panel__tabs{padding:var(--space-2) var(--space-3) 0;border-bottom:1px solid var(--border-subtle);gap:2px;display:flex}.code-panel__tab{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-muted);border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:color var(--duration-fast) var(--ease-out);white-space:nowrap;font-weight:550;position:relative}.code-panel__tab:hover{color:var(--text-secondary)}.code-panel__tab[data-selected]{color:var(--text-primary);font-weight:650}.code-panel__tab[data-selected]:after{content:"";left:var(--space-2);right:var(--space-2);background:var(--accent);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px}.code-panel__toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);display:flex}.code-panel__hint{font-size:var(--text-xs);color:var(--text-muted)}.code-panel__lang{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);color:var(--text-secondary);background:var(--bg-inset);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;font-weight:600}.code-panel__toolbar-actions{gap:var(--space-1);display:flex}.code-panel__button{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);font-weight:600}.code-panel__button:hover{background:var(--bg-sunken);color:var(--text-primary)}.code-panel__body{min-height:0;padding:var(--space-3) 0;background:var(--code-bg);flex:1;overflow:auto}.code-panel__body[data-syntax=natural]{background:var(--bg-surface);padding:var(--space-4)}.code-panel__empty{padding:var(--space-6) var(--space-4);font-size:var(--text-sm);color:var(--text-muted);text-align:center}.code-panel__body:not([data-syntax=natural]) .code-panel__empty{color:var(--code-muted)}.code-panel__lines{font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.75}.code-panel__body[data-syntax=natural] .code-panel__lines{font-family:var(--font-ui);font-size:var(--text-md);line-height:1.7}.code-panel__body[data-syntax=natural] .code-line{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.code-line{align-items:baseline;gap:var(--space-3);padding:1px var(--space-4);transition:background var(--duration-fast) var(--ease-out);border-left:2px solid #0000;display:flex}.code-line[data-clickable]{cursor:pointer}.code-line[data-clickable]:hover{background:#ffffff0a}.code-panel__body[data-syntax=natural] .code-line[data-clickable]:hover{background:var(--bg-sunken)}.code-line[data-active]{background:var(--code-active);border-left-color:var(--accent)}.code-panel__body[data-syntax=natural] .code-line[data-active]{background:var(--accent-soft)}.code-line[data-errored]{border-left-color:var(--danger);background:#dc262629}.code-line__number{text-align:right;min-width:2ch;font-size:var(--text-xs);color:var(--code-comment);-webkit-user-select:none;user-select:none;flex-shrink:0}.code-line__text{white-space:pre-wrap;overflow-wrap:anywhere}.code-panel__body:not([data-syntax=natural]) .code-line__text{color:var(--code-text)}.tok--keyword{color:var(--code-keyword);font-weight:600}.tok--string{color:var(--code-string)}.tok--number{color:var(--code-number)}.tok--name{color:var(--code-name)}.tok--operator{color:var(--code-text);opacity:.75}.tok--comment{color:var(--code-comment);font-style:italic}.code-panel__body[data-syntax=natural] .tok--string{color:var(--hue-io);font-weight:500}.code-panel__body[data-syntax=natural] .tok--number{color:var(--text-muted);font-variant-numeric:tabular-nums;font-weight:600}.code-panel__body[data-syntax=natural] .tok--plain{color:var(--text-primary)}.code-panel__body[data-syntax=natural] .tok--variable{color:var(--hue-variable);font-weight:600}.expr{vertical-align:middle;flex-wrap:wrap;align-items:center;gap:4px 3px;min-width:0;display:inline-flex}.expr__value{align-items:center;min-width:0;display:inline-flex;position:relative}.expr[data-kind=binary]{flex-wrap:wrap;align-items:center;gap:4px 3px;min-width:0;display:inline-flex}.expr__chain-item>.expr[data-kind=binary],.expr[data-kind=binary]>.expr[data-kind=binary]{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--block-hue,var(--slate-400)) 8%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--block-hue,var(--slate-400)) 16%, transparent);padding:1px 5px}.expr__chain-item{align-items:center;gap:3px;min-width:0;display:inline-flex}.expr__literal{min-width:2.5ch;max-width:min(46ch,100%);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);padding:2px 6px}.expr__literal:hover{border-color:var(--border-strong)}.expr__literal:focus{border-color:var(--accent);box-shadow:var(--shadow-focus);outline:none}.expr__literal--text:before{content:"\""}.expr__literal--number{text-align:left;appearance:textfield}.expr__literal--number::-webkit-outer-spin-button{appearance:none;margin:0}.expr__literal--number::-webkit-inner-spin-button{appearance:none;margin:0}.expr .picker[data-variant=boolean] .picker__trigger{color:var(--hue-boolean);background:var(--hue-boolean-soft);border-color:var(--hue-boolean-border);font-weight:600}.expr__op{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--text-secondary);padding:0 1px;font-weight:600}.expr__tools{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--block-hue,var(--slate-400)) 10%, transparent);align-self:stretch;align-items:center;gap:1px;min-height:26px;margin-left:6px;padding:1px 3px;display:none}.statement-block:hover .expr__tools,.statement-block:focus-within .expr__tools{display:inline-flex}.expr__tool svg{width:12px;height:12px;position:relative;top:.5px}.expr__tool{min-width:16px;font-family:var(--font-mono);color:var(--text-muted);border-radius:var(--radius-xs);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);justify-content:center;align-self:stretch;align-items:center;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.expr__tool:hover{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-xs)}.expr__tool--remove:hover{background:var(--danger-soft);color:var(--danger)}.expr__tool--add{gap:2px;padding:0 5px 0 3px}.expr__tool-label{font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:.01em;font-weight:600}.expr[data-first]{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--hue-loop) 10%, transparent);box-shadow:inset 0 -1.5px 0 color-mix(in srgb, var(--hue-loop) 38%, transparent);margin:0 -1px;padding:1px 5px}.expr__grouped{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--hue-loop) 9%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--hue-loop) 26%, transparent);align-items:center;gap:2px;padding:2px 4px;display:inline-flex}.expr__bracket{font-family:var(--font-mono);color:color-mix(in srgb, var(--bracket-hue,var(--hue-loop)) 75%, var(--text-muted));font-size:1.05em;font-weight:700;line-height:1}.expr__list{--bracket-hue:var(--hue-list);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--hue-list) 9%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--hue-list) 26%, transparent);flex-wrap:wrap;align-items:center;gap:2px;padding:2px 5px;display:inline-flex}.expr__list-item{align-items:center;gap:2px;display:inline-flex}.expr__insert{width:16px;color:color-mix(in srgb, var(--hue-list) 70%, var(--text-muted));flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;margin-left:2px;transition:none;display:inline-flex;position:relative}.expr__insert-mark{width:16px;height:16px;font-family:var(--font-mono);border-radius:var(--radius-xs);background:color-mix(in srgb, var(--hue-list) 18%, var(--bg-surface));box-shadow:0 0 0 1px color-mix(in srgb, var(--hue-list) 30%, transparent);opacity:0;transition:opacity var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;font-size:12px;font-weight:700;line-height:1;display:flex;position:absolute;left:50%;transform:translate(-50%)}.expr__insert:hover .expr__insert-mark,.expr__insert:focus-visible .expr__insert-mark{opacity:1}@media (prefers-reduced-motion:reduce){.expr__insert-mark{transition:none}}.expr__list{gap:4px}.expr__comma{font-family:var(--font-mono);color:color-mix(in srgb, var(--hue-list) 60%, var(--text-muted));font-weight:700}.expr__indexed{--bracket-hue:var(--hue-list);align-items:center;gap:1px;display:inline-flex}.expr__length{align-items:center;gap:3px;display:inline-flex}.expr__ungroup{width:20px;height:20px;color:color-mix(in srgb, var(--hue-loop) 55%, var(--text-muted));border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;margin-left:1px;display:inline-flex}.expr__ungroup svg{width:12px;height:12px}.expr__ungroup:hover{background:color-mix(in srgb, var(--hue-loop) 18%, transparent);color:var(--hue-loop)}.expr__ungroup:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.expr__chain-item[data-grouping]{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--hue-loop) 10%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--hue-loop) 32%, transparent);cursor:pointer;animation:1.6s ease-in-out infinite expr-shiver}body[data-grouping] .editor__canvas,body[data-grouping] .canvas-toolbar{pointer-events:none;cursor:default}body[data-grouping] .canvas-toolbar{opacity:.55;transition:opacity var(--duration-fast) var(--ease-out)}body[data-grouping] .expr__chain-item[data-grouping]{pointer-events:auto;cursor:pointer}body[data-grouping] .expr__chain-item[data-grouping] .expr__literal,body[data-grouping] .expr__chain-item[data-grouping] .picker,body[data-grouping] .expr__chain-item[data-grouping] .expr__tools,body[data-grouping] .expr__chain-item[data-grouping] .expr__ungroup{pointer-events:none}body[data-grouping] .expr__grouped .expr__chain-item[data-grouping]{pointer-events:auto}body[data-grouping] .statement-block:hover>.statement-block__row .statement-block__action,body[data-grouping] .statement-block:focus-within>.statement-block__row .statement-block__action{opacity:0}body[data-grouping] .statement-block:hover .expr__tools,body[data-grouping] .statement-block:focus-within .expr__tools{display:none}body[data-grouping] .statement-block:not(:has(.expr__chain-item[data-grouping])){opacity:.55;transition:opacity var(--duration-fast) var(--ease-out)}.expr__chain-item[data-grouping] .expr__literal,.expr__chain-item[data-grouping] .picker__trigger{background:0 0;border-color:#0000}.expr__chain-item[data-grouping]:nth-child(2n){animation-delay:.2s}.expr__chain-item[data-grouping]:nth-child(3n){animation-delay:.4s}.expr__chain-item[data-in-span]:not([data-in-span=end]):not([data-in-span=only]){margin-right:-3px;padding-right:3px}.expr__chain-item[data-in-span]{background:color-mix(in srgb, var(--hue-loop) 20%, transparent);box-shadow:inset 0 1.5px 0 var(--hue-loop), inset 0 -1.5px 0 var(--hue-loop);border-radius:0;animation:none}.expr__chain-item[data-in-span=start],.expr__chain-item[data-in-span=only]{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm);box-shadow:inset 1.5px 0 0 var(--hue-loop), inset 0 1.5px 0 var(--hue-loop), inset 0 -1.5px 0 var(--hue-loop)}.expr__chain-item[data-in-span=end],.expr__chain-item[data-in-span=only]{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);box-shadow:inset -1.5px 0 0 var(--hue-loop), inset 0 1.5px 0 var(--hue-loop), inset 0 -1.5px 0 var(--hue-loop)}.expr__chain-item[data-in-span=only]{border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1.5px var(--hue-loop)}@keyframes expr-shiver{0%,to{transform:rotate(-.6deg)}50%{transform:rotate(.6deg)}}@media (prefers-reduced-motion:reduce){.expr__chain-item[data-grouping]{animation:none}}.expr__call{align-items:center;gap:var(--space-1);display:inline-flex}.expr__call-args{align-items:center;gap:var(--space-2);display:inline-flex}.expr__call-arg{align-items:center;gap:2px;display:inline-flex}.expr__call-label{font-size:var(--text-xs);color:var(--text-muted)}.expr__call-label:after{content:":";opacity:.6}.statement-block{--block-hue:var(--slate-400);--block-soft:var(--bg-surface);--block-border:var(--border-default);border-radius:var(--radius-md);background:var(--block-soft);border:1px solid var(--block-border);box-shadow:var(--shadow-xs);transition:box-shadow var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);position:relative}.statement-block[data-category=variables]{--block-hue:var(--hue-variable);--block-soft:var(--hue-variable-soft);--block-border:var(--hue-variable-border)}.statement-block[data-category=io]{--block-hue:var(--hue-io);--block-soft:var(--hue-io-soft);--block-border:var(--hue-io-border)}.statement-block[data-category=conditionals]{--block-hue:var(--hue-conditional);--block-soft:var(--hue-conditional-soft);--block-border:var(--hue-conditional-border)}.statement-block[data-category=notes]{--block-hue:var(--slate-500);--block-soft:color-mix(in srgb, var(--slate-400) 9%, var(--bg-surface));--block-border:var(--border-default);box-shadow:none}:root[data-theme=dark] .statement-block[data-category=notes]{--block-soft:color-mix(in srgb, var(--slate-0) 5%, var(--bg-surface))}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .statement-block[data-category=notes]{--block-soft:color-mix(in srgb, var(--slate-0) 5%, var(--bg-surface))}}.statement-block[data-category=notes]:hover{border-color:var(--border-strong)}.statement-block__comment{min-width:0;color:var(--text-secondary);font-family:inherit;font-size:var(--text-sm);resize:none;background:0 0;border:none;flex:1;padding:2px 0;font-style:italic;line-height:1.5;overflow:hidden}.statement-block__comment:focus{color:var(--text-secondary);outline:none}.statement-block[data-category=loops]{--block-hue:var(--hue-loop);--block-soft:var(--hue-loop-soft);--block-border:var(--hue-loop-border)}.statement-block[data-category=lists]{--block-hue:var(--hue-list);--block-soft:var(--hue-list-soft);--block-border:var(--hue-list-border)}.statement-block[data-category=functions]{--block-hue:var(--hue-function);--block-soft:var(--hue-function-soft);--block-border:var(--hue-function-border)}.statement-block[data-kind=ask]{--block-hue:color-mix(in oklch, var(--hue-io) 72%, var(--hue-variable));--block-soft:color-mix(in oklch, var(--hue-io) 16%, var(--bg-surface));--block-border:color-mix(in oklch, var(--hue-io) 42%, var(--hue-variable-border))}.statement-block[data-kind=while]{--block-hue:color-mix(in oklch, var(--hue-loop) 70%, var(--hue-conditional));--block-soft:color-mix(in oklch, var(--hue-loop) 15%, var(--bg-surface));--block-border:color-mix(in oklch, var(--hue-loop) 40%, var(--hue-conditional-border))}.statement-block[data-kind=assign]{--block-hue:color-mix(in oklch, var(--hue-variable) 74%, var(--hue-io));--block-soft:color-mix(in oklch, var(--hue-variable) 15%, var(--bg-surface));--block-border:color-mix(in oklch, var(--hue-variable) 42%, var(--hue-io-border))}.statement-block:hover{border-color:var(--block-hue);box-shadow:var(--shadow-sm)}.statement-block[data-active]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft), var(--shadow-md);animation:block-pulse 1.4s var(--ease-out) infinite}@keyframes block-pulse{0%,to{box-shadow:0 0 0 2px var(--accent-soft), var(--shadow-md)}50%{box-shadow:0 0 0 5px var(--accent-soft), var(--shadow-md)}}.statement-block[data-errored]{border-color:var(--danger);box-shadow:0 0 0 2px var(--danger-soft)}.statement-block[data-problem=error]{border-color:color-mix(in srgb, var(--danger) 45%, var(--block-border))}.statement-block[data-problem=warning]{border-color:color-mix(in srgb, var(--warning) 40%, var(--block-border))}.statement-block[data-flash]{animation:block-reveal 1.4s var(--ease-out)}.statement-block[data-selected]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft), var(--shadow-xs)}@keyframes block-reveal{0%,70%{box-shadow:0 0 0 3px var(--accent-soft);border-color:var(--accent)}to{box-shadow:var(--shadow-xs)}}.statement-block__row{align-items:stretch;gap:var(--space-3);padding:0 var(--space-2) 0 0;display:flex;position:relative}.statement-block__handle{border-radius:var(--radius-md) 0 0 var(--radius-md);background:color-mix(in srgb, var(--block-hue) 14%, transparent);cursor:grab;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;width:30px;min-height:42px;display:flex}.statement-block__handle:active{cursor:grabbing}.statement-block__handle{position:relative}.statement-block__icon{color:var(--block-hue);transition:opacity var(--duration-fast) var(--ease-out);display:flex}.statement-block__icon svg{width:17px;height:17px}.statement-block__grip{width:16px;height:16px;color:var(--block-hue);opacity:0;transition:opacity var(--duration-fast) var(--ease-out);position:absolute}.statement-block:hover>.statement-block__row>.statement-block__handle .statement-block__grip{opacity:1}.statement-block:hover>.statement-block__row>.statement-block__handle .statement-block__icon{opacity:0}.statement-block__content{min-width:0;padding:var(--space-3) 0;transition:padding-right var(--duration-fast) var(--ease-out);flex-wrap:wrap;flex:1;align-items:center;gap:6px 5px;display:flex}.statement-block__keyword{font-size:var(--text-sm);color:var(--block-hue);letter-spacing:-.01em;white-space:nowrap;font-weight:650}.statement-block__keyword[data-muted]{color:var(--text-muted);font-weight:500}.statement-block__name{min-width:3ch;max-width:18ch;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--hue-variable);background:var(--bg-surface);border:1px solid var(--hue-variable-border);border-radius:var(--radius-sm);padding:2px 6px;font-weight:600}.statement-block__name:focus{border-color:var(--accent);box-shadow:var(--shadow-focus);outline:none}.statement-block__type{--type-hue:var(--slate-500);min-height:26px;font-size:var(--text-xs);color:var(--type-hue);background:color-mix(in srgb, var(--type-hue) 12%, transparent);border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out);align-items:center;padding:2px 9px 2px 7px;font-weight:600;display:inline-flex;position:relative}.statement-block__type:hover{background:color-mix(in srgb, var(--type-hue) 22%, transparent)}.statement-block__type[data-kind=number]{--type-hue:var(--hue-loop)}.statement-block__type[data-kind=text]{--type-hue:var(--success)}.statement-block__type[data-kind=boolean]{--type-hue:var(--hue-conditional)}.statement-block__type svg{flex-shrink:0;width:12px;height:12px}.statement-block__type .picker__trigger{height:26px;font-family:var(--font-ui);font-size:var(--text-xs);color:inherit;background:0 0;border:0;gap:3px;margin:-2px -9px;padding:0 9px 0 7px;font-weight:600}.statement-block__type .picker__current{text-overflow:ellipsis;max-width:11ch;overflow:hidden}.statement-block__type .picker__caret{color:currentColor;opacity:.65}.statement-block__type:focus-within{outline:2px solid var(--accent);outline-offset:1px}.statement-block__actions{border-radius:var(--radius-md);flex-shrink:0;align-self:flex-start;align-items:center;gap:2px;min-width:min-content;margin-top:7px;padding:2px;display:flex}.statement-block:hover>.statement-block__row>.statement-block__actions,.statement-block:focus-within>.statement-block__row>.statement-block__actions{background:color-mix(in srgb, var(--block-soft) 88%, var(--bg-surface))}.statement-block__action{opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}.statement-block:hover>.statement-block__row .statement-block__action,.statement-block:focus-within>.statement-block__row .statement-block__action{opacity:1}.statement-block__badge svg{width:15px;height:15px}.statement-block__badge{border-radius:var(--radius-full);cursor:help;flex:0 0 20px;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:800;display:flex}.statement-block__badge[data-severity=error]{color:var(--danger);background:var(--danger-soft)}.statement-block__badge[data-severity=warning]{color:var(--warning);background:var(--warning-soft)}.statement-block__actions{opacity:1}.statement-block__action svg{width:14px;height:14px}.statement-block__action{width:24px;height:24px;color:var(--text-muted);border-radius:var(--radius-sm);opacity:0;transition:opacity var(--duration-fast) var(--ease-out), width var(--duration-fast) var(--ease-out), flex-basis var(--duration-fast) var(--ease-out);flex:0 0 24px;justify-content:center;align-items:center;font-size:13px;line-height:1;display:flex;overflow:hidden}.statement-block:not(:hover):not(:focus-within) .statement-block__action{flex-basis:0;width:0}.statement-block:hover>.statement-block__row .statement-block__action,.statement-block:focus-within>.statement-block__row .statement-block__action,.statement-block__action:focus-visible{opacity:1}.statement-block__action:hover{background:var(--bg-sunken);color:var(--text-primary)}.statement-block__action--danger:hover{background:var(--danger-soft);color:var(--danger)}.statement-block__branches{padding:0 var(--space-2) var(--space-3) var(--space-6)}.branch{padding-left:var(--space-3);position:relative}.branch:before{content:"";background:color-mix(in srgb, var(--block-hue) 26%, transparent);border-radius:1px;width:2px;position:absolute;top:0;bottom:10px;left:0}.branch__label{align-items:center;gap:var(--space-2);padding:var(--space-1) 0;font-size:var(--text-xs);text-transform:lowercase;letter-spacing:.02em;color:var(--block-hue);font-weight:600;display:flex}.branch__remove svg{width:12px;height:12px}.branch__remove{color:var(--text-muted);opacity:0;border-radius:var(--radius-xs);align-items:center;padding:0 3px;font-size:13px;line-height:1;display:inline-flex}.branch:hover .branch__remove{opacity:1}.branch__remove:hover{color:var(--danger);background:var(--danger-soft)}.branch__list,.branch__item{flex-direction:column;display:flex}.statement-block__add-else{margin-left:var(--space-3);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);color:var(--text-muted);border:1px dashed var(--border-default);border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);font-weight:500}.statement-block__add-else:hover{color:var(--hue-conditional);border-color:var(--hue-conditional-border);background:var(--hue-conditional-soft)}.drop-zone{height:10px;transition:height var(--duration-base) var(--ease-out), background var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);position:relative;overflow:hidden}body[data-dragging] .drop-zone{height:14px}.statement-block[data-lifted]{opacity:.4}.drop-zone[data-own] .drop-zone__hint{opacity:0}.drop-zone[data-empty]{height:32px;padding-left:var(--space-2);border:1px dashed var(--border-default);border-radius:var(--radius-sm);margin:var(--space-1) 0;align-items:center;display:flex}.drop-zone__hint{left:var(--space-2);font-size:var(--text-xs);color:var(--text-muted);opacity:0;transition:opacity var(--duration-fast) var(--ease-out);line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.drop-zone[data-empty] .drop-zone__hint{opacity:1}body[data-dragging] .drop-zone[data-over],.drop-zone[data-over]{height:52px;padding-left:var(--space-3);margin:var(--space-2) 0;background:color-mix(in srgb, var(--accent) 9%, transparent);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:var(--radius-md);box-shadow:inset 4px 0 0 0 var(--accent);align-items:center;display:flex}.drop-zone[data-over] .drop-zone__hint{opacity:1;color:var(--accent-strong);animation:drop-slot-label var(--duration-base) var(--ease-out);font-weight:650}@keyframes drop-slot-label{0%{opacity:0;transform:translateY(-50%)translate(-6px)}}@media (prefers-reduced-motion:reduce){.drop-zone,.drop-zone[data-over] .drop-zone__hint{transition:none;animation:none}}.statement-block--landed{animation:statement-landed .48s var(--ease-out)}@keyframes statement-landed{0%{box-shadow:0 6px 18px -8px var(--block-hue,var(--accent));transform:translateY(-7px)scale(.985)}35%{box-shadow:0 0 0 3px color-mix(in srgb, var(--block-hue,var(--accent)) 45%, transparent)}to{transform:none;box-shadow:0 0 #0000}}.drop-zone[data-over]:after{content:"";border-radius:var(--radius-sm);background:repeating-linear-gradient(-45deg, color-mix(in srgb, var(--accent) 12%, transparent) 0 6px, transparent 6px 12px);animation:drop-ghost-in var(--duration-base) var(--ease-out);pointer-events:none;position:absolute;inset:8px 16px 8px 96px}@keyframes drop-ghost-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.statement-block--landed,.drop-zone[data-over]:after{animation:none}}.statement-block__badge{outline-offset:2px;position:relative}.statement-block__badge>svg{pointer-events:none}.statement-block__problems{z-index:50;width:max-content;min-width:200px;max-width:300px;font-size:var(--text-xs);text-align:left;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);cursor:default;animation:problem-in var(--duration-fast) var(--ease-out);flex-direction:column;padding:0;font-weight:500;line-height:1.55;display:none;position:absolute;top:calc(100% + 10px);right:-4px;overflow:hidden}.statement-block__badge:hover>.statement-block__problems,.statement-block__badge:focus-within>.statement-block__problems{display:flex}.statement-block__problems:before{content:"";background:inherit;border-left:1px solid var(--border-subtle);border-top:1px solid var(--border-subtle);width:9px;height:9px;position:absolute;top:-5px;right:12px;transform:rotate(45deg)}.statement-block__problem{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);display:flex}.statement-block__problem+.statement-block__problem{border-top:1px solid var(--border-subtle)}.statement-block__problem svg{flex-shrink:0;width:14px;height:14px;margin-top:1px}.statement-block__problem[data-severity=error] svg{color:var(--danger)}.statement-block__problem[data-severity=warning] svg{color:var(--warning)}.statement-block__problems[data-severity=error]{border-color:color-mix(in srgb, var(--danger) 30%, var(--border-subtle));box-shadow:inset 3px 0 0 var(--danger), var(--shadow-lg)}.statement-block__problems[data-severity=warning]{border-color:color-mix(in srgb, var(--warning) 35%, var(--border-subtle));box-shadow:inset 3px 0 0 var(--warning), var(--shadow-lg)}@keyframes problem-in{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.statement-block__problems{animation:none}}.statement-block__arm{gap:var(--space-1);flex-direction:column;display:flex}.statement-block__arm-head{align-items:center;gap:var(--space-2);padding-left:var(--space-3);flex-wrap:wrap;display:flex}.statement-block__arm-label{font-size:var(--text-sm);color:var(--block-hue);white-space:nowrap;font-weight:700}.statement-block__arm-remove{width:24px;height:24px;color:var(--text-muted);border-radius:var(--radius-sm);opacity:0;transition:opacity var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;display:flex}.statement-block__arm-remove svg{width:14px;height:14px}.statement-block:hover .statement-block__arm-remove,.statement-block__arm-remove:focus-visible{opacity:1}.statement-block__arm-remove:hover{background:var(--danger-soft);color:var(--danger)}.statement-block__branch-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.statement-block__type .picker__current{display:none}body[data-marquee] .editor__canvas{pointer-events:none;cursor:crosshair}body[data-marquee] .statement-block:hover .expr__tools,body[data-marquee] .statement-block:focus-within .expr__tools{display:none}body[data-marquee] .statement-block:hover>.statement-block__row .statement-block__action,body[data-marquee] .statement-block:focus-within>.statement-block__row .statement-block__action,body[data-marquee] .statement-block:hover>.statement-block__row>.statement-block__handle .statement-block__grip{opacity:0}body[data-marquee] .statement-block:hover>.statement-block__row>.statement-block__handle .statement-block__icon{opacity:1}body[data-marquee] .statement-block:hover .statement-block__arm-remove,body[data-marquee] .drop-zone{opacity:0}.statement-block__param{align-items:center;gap:2px;display:inline-flex}.statement-block__param-remove{width:16px;height:16px;color:var(--text-muted);border-radius:var(--radius-full);opacity:0;transition:opacity var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;font-size:13px;line-height:1;display:flex}.statement-block__param:hover .statement-block__param-remove,.statement-block__param:focus-within .statement-block__param-remove{opacity:1}.statement-block__param-remove:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.statement-block__param-add{padding:2px var(--space-2);font-size:var(--text-xs);color:var(--text-muted);border-radius:var(--radius-full);opacity:0;transition:opacity var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);font-weight:600}.statement-block:hover .statement-block__param-add,.statement-block:focus-within .statement-block__param-add{opacity:1}.statement-block__param-add:hover{color:var(--hue-function);background:color-mix(in srgb, var(--hue-function) 12%, transparent)}.statement-block__arg{align-items:center;gap:var(--space-1);display:inline-flex}.statement-block__arg-label{font-size:var(--text-xs);color:var(--text-muted)}.statement-block__arg-label:after{content:":";opacity:.6}.statement-block__hint{font-size:var(--text-xs);color:var(--text-muted);font-style:italic}.statement-block__param-remove svg{width:12px;height:12px}.statement-block__param-add svg{vertical-align:-1px;width:12px;height:12px;margin-right:2px}.statement-block__async{padding:2px var(--space-2);font-size:var(--text-xs);color:var(--text-muted);border:1px dashed var(--border-subtle);border-radius:var(--radius-full);transition:color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);font-weight:620}.statement-block__async:hover{color:var(--hue-function);border-color:var(--hue-function-border)}.statement-block__async[data-on]{color:var(--hue-function);background:var(--hue-function-soft);border-style:solid;border-color:var(--hue-function-border)}.editor{--rule-line:color-mix(in srgb, var(--hue-variable) 9%, transparent);--rule-margin:color-mix(in srgb, var(--accent) 26%, transparent);background-color:var(--bg-inset);background-image:linear-gradient(var(--rule-line) 1px, transparent 1px), linear-gradient(90deg, var(--rule-line) 1px, transparent 1px);background-position:-1px -1px;background-size:26px 26px;flex-direction:column;height:100%;min-height:0;display:flex}:root[data-theme=dark] .editor{--rule-line:#ffffff0b}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .editor{--rule-line:#ffffff0b}}.editor__canvas{min-height:0;padding:var(--space-5) var(--space-5) 220px;flex:1;position:relative;overflow-y:auto}.editor__empty{inset:var(--space-7) var(--space-5) auto;text-align:center;pointer-events:none;position:absolute}.editor__empty-title{font-size:var(--text-lg);color:var(--text-secondary);font-weight:600}.editor__empty-hint{margin-top:var(--space-2);font-size:var(--text-base);color:var(--text-muted)}.editor__list{max-width:820px;padding-left:var(--space-5);flex-direction:column;margin:0 auto;display:flex;position:relative}.editor__list:before{content:"";background:var(--rule-margin);opacity:.55;border-radius:1px;width:2px;position:absolute;top:-8px;bottom:-8px;left:0}.editor__canvas:has(.editor__empty) .editor__list{padding-top:110px}.editor__item{flex-direction:column;display:flex}.editor__marquee{z-index:30;pointer-events:none;background:color-mix(in srgb, var(--accent) 10%, transparent);border:1px solid var(--accent);border-radius:var(--radius-xs)}.editor__list[inert] .statement-block__add-else,.editor__list[inert] .statement-block__actions{display:none}.editor__list[inert] .drop-zone{visibility:hidden}.flowchart{--fc-surface:var(--bg-surface);--fc-terminal:var(--bg-sunken);background:var(--bg-inset);background-image:radial-gradient(circle at 1px 1px, var(--border-subtle) 1px, transparent 0);background-size:18px 18px;flex-direction:column;height:100%;min-height:0;display:flex}.flowchart--empty{font-size:var(--text-sm);color:var(--text-muted);justify-content:center;align-items:center}.flowchart__toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;display:flex}.flowchart__legend{gap:var(--space-3);flex-wrap:wrap;display:flex}.flowchart__legend-item{align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--text-muted);display:inline-flex}.flowchart__legend-item svg{fill:none;stroke-width:1.6px;width:22px;height:13px}.flowchart__legend-item[data-shape=terminal] svg{stroke:var(--slate-500)}.flowchart__legend-item[data-shape=process] svg{stroke:var(--hue-variable)}.flowchart__legend-item[data-shape=decision] svg{stroke:var(--hue-conditional)}.flowchart__legend-item[data-shape=io] svg{stroke:var(--hue-io)}.flowchart__zoom{gap:2px;display:flex}.flowchart__zoom button{min-width:30px;padding:2px var(--space-2);font-size:var(--text-xs);color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-weight:600}.flowchart__zoom button:hover{background:var(--bg-sunken);color:var(--text-primary)}.flowchart__canvas{min-height:0;padding:var(--space-4);flex:1;justify-content:center;display:flex;overflow:hidden}.flowchart__svg{flex-shrink:0;overflow:visible}.fc-shape rect,.fc-shape path,.fc-shape line{fill:var(--fc-surface);stroke-width:2px;transition:stroke var(--duration-fast) var(--ease-out), fill var(--duration-fast) var(--ease-out)}.fc-shape--terminal rect{fill:var(--fc-terminal);stroke:var(--slate-500)}.fc-shape--subprocess rect,.fc-shape--subprocess line{stroke:var(--hue-function)}.fc-shape--subprocess line{fill:none}.fc-shape--process rect{stroke:var(--hue-variable)}.fc-shape--decision path{stroke:var(--hue-conditional)}.fc-shape--io path{stroke:var(--hue-io)}.fc-shape--note path{stroke:var(--slate-400);stroke-dasharray:4 3}.fc-label{font-family:var(--font-mono);fill:var(--text-primary);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:12.5px}.fc-node[data-clickable]{cursor:pointer}.fc-node[data-clickable]:hover .fc-shape rect,.fc-node[data-clickable]:hover .fc-shape path{fill:var(--bg-sunken)}.fc-node[data-active] .fc-shape rect,.fc-node[data-active] .fc-shape path{fill:var(--accent-soft);stroke:var(--accent);stroke-width:3px;animation:fc-pulse 1.4s var(--ease-out) infinite}@keyframes fc-pulse{0%,to{stroke-width:2.5px}50%{stroke-width:4px}}.fc-node[data-errored] .fc-shape rect,.fc-node[data-errored] .fc-shape path{fill:var(--danger-soft);stroke:var(--danger);stroke-width:3px}.fc-edge{fill:none;stroke:var(--border-strong);stroke-width:1.6px;stroke-linejoin:round}.fc-arrow-head{fill:var(--border-strong)}.fc-edge-label{font-family:var(--font-ui);fill:var(--text-muted);paint-order:stroke;stroke:var(--bg-inset);stroke-width:3px;stroke-linejoin:round;-webkit-user-select:none;user-select:none;font-size:11px;font-weight:600}@media (prefers-reduced-motion:reduce){.fc-node[data-active] .fc-shape rect,.fc-node[data-active] .fc-shape path{animation:none}}.flowchart__canvas{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.flowchart__canvas[data-dragging]{cursor:grabbing}.flowchart__node{cursor:pointer}.dialog-backdrop{z-index:100;padding:var(--space-4);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:backdrop-in var(--duration-base) var(--ease-out);background:#0e132080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.dialog{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:min(560px,100%);max-height:min(80vh,700px);box-shadow:var(--shadow-lg);animation:dialog-in var(--duration-base) var(--ease-spring);flex-direction:column;display:flex}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.dialog__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--border-subtle);display:flex}.dialog__title{font-size:var(--text-lg);font-weight:650}.dialog__subtitle{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.dialog__close svg{width:17px;height:17px}.dialog__close{width:28px;height:28px;color:var(--text-muted);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;font-size:20px;line-height:1;display:flex}.dialog__close:hover{background:var(--bg-sunken);color:var(--text-primary)}.dialog__body{min-height:0;padding:var(--space-4);gap:var(--space-5);flex-direction:column;flex:1;display:flex;overflow-y:auto}.export-section__head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.export-section__head h3{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-weight:700}.export-section__head select{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);color:var(--text-secondary);background:var(--bg-inset);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;font-weight:600}.export-preview{max-height:190px;padding:var(--space-3);margin-bottom:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--code-text);background:var(--code-bg);border-radius:var(--radius-md);white-space:pre;line-height:1.6;overflow:auto}.export-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.export-button{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);background:var(--bg-inset);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);font-weight:600}.export-button:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.export-note{padding:var(--space-3);font-size:var(--text-xs);color:var(--text-secondary);background:var(--hue-conditional-soft);border:1px solid var(--hue-conditional-border);border-radius:var(--radius-md)}.inspector{gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;max-height:45%;display:flex;overflow-y:auto}.inspector__title{--category-hue:var(--slate-500);align-items:center;gap:var(--space-2);font-size:var(--text-base);color:var(--text-primary);margin:0;font-weight:650;display:flex}.inspector__title svg{width:19px;height:19px;color:var(--category-hue);flex-shrink:0}.inspector__hint{font-size:var(--text-xs);color:var(--text-muted);text-wrap:pretty;margin:0;line-height:1.45}.inspector__kinds{flex-direction:column;gap:1px;display:flex}.inspector__kind{--category-hue:var(--slate-500);align-items:center;gap:var(--space-2);padding:var(--space-1) 0;font-size:var(--text-sm);color:var(--text-secondary);min-width:0;display:flex}.inspector__kind svg{width:16px;height:16px;color:var(--category-hue);flex-shrink:0}.inspector__kind-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inspector__kind-count{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;margin-left:auto;font-weight:650}.inspector__note{align-items:flex-start;gap:var(--space-2);padding:var(--space-2);font-size:var(--text-xs);border-radius:var(--radius-md);text-wrap:pretty;margin:0;line-height:1.45;display:flex}.inspector__note svg{flex-shrink:0;width:14px;height:14px;margin-top:1px}.inspector__note[data-severity=error]{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent)}.inspector__note[data-severity=warning]{color:var(--warning-strong,var(--text-secondary));background:color-mix(in srgb, var(--warning,var(--slate-500)) 14%, transparent)}.inspector__learn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-full);transition:color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);align-self:flex-start;font-weight:620;display:flex}.inspector__learn:hover{color:var(--accent-strong);background:var(--accent-soft)}.inspector__title[data-category=variables],.inspector__kind[data-category=variables]{--category-hue:var(--hue-variable)}.inspector__title[data-category=io],.inspector__kind[data-category=io]{--category-hue:var(--hue-io)}.inspector__title[data-category=conditionals],.inspector__kind[data-category=conditionals]{--category-hue:var(--hue-conditional)}.inspector__title[data-category=loops],.inspector__kind[data-category=loops]{--category-hue:var(--hue-loop)}.palette{background:var(--bg-surface);border-right:1px solid var(--border-subtle);flex-direction:column;height:100%;min-height:0;display:flex}.palette__header{padding:var(--space-3);border-bottom:1px solid var(--border-subtle)}.palette[data-collapsed] .palette__header{padding:var(--space-3) var(--space-2)}.palette__title-row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.palette[data-collapsed] .palette__title-row{justify-content:center}.palette__toggle{width:26px;height:26px;color:var(--text-muted);border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.palette__toggle:hover{background:var(--bg-sunken);color:var(--text-primary)}.palette__title{font-size:var(--text-md);color:var(--text-primary);font-weight:650}.palette__subtitle{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px;line-height:1.45}.palette__search{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);background:var(--bg-inset);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out)}.palette__search:focus{border-color:var(--accent);box-shadow:var(--shadow-focus);outline:none}.palette__search::-webkit-search-cancel-button{cursor:pointer}.palette__groups{min-height:0;padding:var(--space-3);gap:var(--space-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.palette__empty{padding:var(--space-5) var(--space-3);font-size:var(--text-sm);color:var(--text-muted);text-align:center}.palette__group{--group-hue:var(--slate-400)}.palette__group[data-category=variables]{--group-hue:var(--hue-variable);--group-soft:var(--hue-variable-soft);--group-border:var(--hue-variable-border)}.palette__group[data-category=io]{--group-hue:var(--hue-io);--group-soft:var(--hue-io-soft);--group-border:var(--hue-io-border)}.palette__group[data-category=conditionals]{--group-hue:var(--hue-conditional);--group-soft:var(--hue-conditional-soft);--group-border:var(--hue-conditional-border)}.palette__group[data-category=loops]{--group-hue:var(--hue-loop);--group-soft:var(--hue-loop-soft);--group-border:var(--hue-loop-border)}.palette__group[data-category=lists]{--group-hue:var(--hue-list);--group-soft:var(--hue-list-soft);--group-border:var(--hue-list-border)}.palette__group[data-category=notes]{--group-hue:var(--slate-500)}.palette__group[data-category=functions]{--group-hue:var(--hue-function);--group-soft:var(--hue-function-soft);--group-border:var(--hue-function-border)}.palette__group-title{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);padding-left:var(--space-1);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--group-hue);font-weight:650;display:flex}.palette__group-title:after{content:"";background:color-mix(in srgb, var(--group-hue) 22%, transparent);flex:1;height:1px}.palette__items{gap:var(--space-1);flex-direction:column;display:flex}.palette__item{align-items:flex-start;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);text-align:left;border-radius:var(--radius-md);cursor:grab;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);border:1px solid #0000;display:flex}.palette__item:hover{background:var(--group-soft);border-color:var(--group-border)}.palette__item:active{cursor:grabbing;transform:scale(.985)}.palette__item-icon svg{width:17px;height:17px}.palette__item-icon{width:28px;height:28px;color:var(--group-hue);background:var(--group-soft);border:1px solid var(--group-border);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;font-size:13px;display:flex}.palette__item-text{flex-direction:column;min-width:0;display:flex}.palette__item-label{font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.palette__item-hint{font-size:var(--text-xs);color:var(--text-muted);line-height:1.4}.palette[data-collapsed] .palette__groups{padding:var(--space-2);gap:var(--space-3);align-items:center}.palette[data-collapsed] .palette__items{gap:var(--space-1)}.palette[data-collapsed] .palette__item{padding:var(--space-1);justify-content:center}.palette[data-collapsed] .palette__item-icon{width:32px;height:32px;font-size:15px}.palette[data-collapsed] .palette__group+.palette__group{padding-top:var(--space-3);border-top:1px solid var(--border-subtle);width:100%}.palette__item[data-lifted]{opacity:.25;transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);transform:translate(10px)scale(.98)}@media (prefers-reduced-motion:reduce){.palette__item[data-lifted]{transition:none;transform:none}}.palette__group--vars{max-height:34vh;padding:var(--space-3) var(--space-3) var(--space-2);border-bottom:1px solid var(--border-subtle);flex-shrink:0;overflow-y:auto}.palette__group--vars .palette__group-title{z-index:1;margin:0 0 var(--space-2);background:var(--bg-surface);padding-block:2px;position:sticky;top:0}.palette__vars{flex-direction:column;gap:1px;display:flex}.palette__var{--var-hue:var(--text-muted);align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);min-width:0;display:flex}.palette__var svg{width:15px;height:15px;color:var(--var-hue);flex-shrink:0}.palette__var-unknown{width:15px;font-size:var(--text-xs);color:var(--text-muted);text-align:center;flex-shrink:0;font-weight:700}.palette__var-name{font-family:var(--font-mono,ui-monospace, monospace);font-size:var(--text-sm);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.palette__var-kind{font-size:var(--text-xs);color:var(--text-muted);flex-shrink:0;margin-left:auto}.palette__var[data-kind=number]{--var-hue:var(--hue-variable)}.palette__var[data-kind=text]{--var-hue:var(--hue-io)}.palette__var[data-kind=boolean]{--var-hue:var(--hue-conditional)}.palette__var[data-kind=list]{--var-hue:var(--hue-loop)}.tour{z-index:200;position:fixed;inset:0}.tour__scrim{animation:tour-fade var(--duration-base) var(--ease-out);position:absolute;inset:0}.tour__scrim[data-plain]{background:#0e132066}@keyframes tour-fade{0%{opacity:0}to{opacity:1}}.tour__spotlight{border-radius:var(--radius-md);box-shadow:0 0 0 9999px #0e132066, 0 0 0 3px var(--accent), 0 0 0 9px color-mix(in srgb, var(--accent) 28%, transparent), 0 0 34px 6px color-mix(in srgb, var(--accent) 30%, transparent);pointer-events:none;transition:top var(--duration-base) var(--ease-out), left var(--duration-base) var(--ease-out), width var(--duration-base) var(--ease-out), height var(--duration-base) var(--ease-out);position:absolute}.tour__card{width:340px;max-width:calc(100vw - 32px);padding:var(--space-5);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);animation:tour-card-in var(--duration-base) var(--ease-spring);position:absolute}.tour__card[data-centred]{width:420px;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes tour-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1}}.tour__card[data-centred]{animation:none}.tour__count{margin-bottom:var(--space-2);font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--text-muted);font-weight:600}.tour__title{font-size:var(--text-lg);letter-spacing:-.015em;color:var(--text-primary);margin-bottom:var(--space-2);font-weight:680}.tour__body{font-size:var(--text-base);color:var(--text-secondary);margin-bottom:var(--space-5);line-height:1.6}.tour__actions{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.tour__skip{font-size:var(--text-sm);color:var(--text-muted);padding:var(--space-2) 0;font-weight:500}.tour__skip:hover{color:var(--text-secondary)}.tour__nav{align-items:center;gap:var(--space-2);display:flex}.tour__button{justify-content:center;align-items:center;gap:var(--space-2);min-width:34px;height:34px;padding:0 var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);font-weight:650;display:flex}.tour__button svg{width:14px;height:14px}.tour__button:hover{border-color:var(--border-strong);color:var(--text-primary)}.tour__button--primary{color:var(--text-inverse);background:var(--accent);border-color:var(--accent)}.tour__button--primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--text-inverse)}.tour__close{top:var(--space-3);right:var(--space-3);width:26px;height:26px;color:var(--text-muted);border-radius:var(--radius-sm);justify-content:center;align-items:center;display:flex;position:absolute}.tour__close svg{width:14px;height:14px}.tour__close:hover{background:var(--bg-sunken);color:var(--text-primary)}@media (prefers-reduced-motion:reduce){.tour__spotlight,.tour__card{transition:none;animation:none}}.run-panel{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.run-panel__bar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);background:var(--bg-inset);flex-shrink:0;display:flex}.run-panel__status{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.run-panel__status[data-status=running]{color:var(--accent-strong)}.run-panel__status[data-status=awaitingInput]{color:var(--hue-io)}.run-panel__status[data-status=finished]{color:var(--success)}.run-panel__status[data-status=error]{color:var(--danger)}.run-panel__steps{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.run-panel__clear{width:24px;height:24px;color:var(--text-muted);border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;display:flex}.run-panel__clear svg{width:14px;height:14px}.run-panel__clear:hover:not(:disabled){background:var(--bg-sunken);color:var(--text-primary)}.run-panel__clear:disabled{opacity:.28;cursor:not-allowed}.run-panel__icon-button{width:22px;height:22px;color:var(--text-muted);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;font-size:14px;line-height:1;display:flex}.run-panel__icon-button:first-of-type{margin-left:auto}.run-panel__icon-button:hover{background:var(--bg-sunken);color:var(--text-primary)}.run-panel__robot{padding:var(--space-3) var(--space-3) 0;background:radial-gradient(ellipse 70% 60% at 50% 45%, color-mix(in srgb, var(--accent) 9%, transparent), transparent);flex:1 0 auto;justify-content:center;align-items:center;display:flex}.run-panel__robot .robot__body{width:min(88%,240px);max-height:min(250px,30vh)}.app__robot[data-crowded] .run-panel__robot .robot__body{max-height:min(130px,15vh)}.run-panel__robot .robot__bubble-slot{min-height:42px}.run-panel__robot .robot__bubble{padding:var(--space-2) var(--space-3)}.run-panel__robot .robot__bubble-text{font-size:var(--text-sm);max-height:4.5em}.run-panel__answer{gap:var(--space-2);padding:var(--space-2) var(--space-3);animation:answer-in var(--duration-base) var(--ease-spring);flex-shrink:0;display:flex}@keyframes answer-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.run-panel__answer-input{min-width:0;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);background:var(--bg-inset);border:1px solid var(--accent);border-radius:var(--radius-md);flex:1}.run-panel__answer-input:focus{box-shadow:var(--shadow-focus);outline:none}.run-panel__answer-send{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-inverse);background:var(--accent);border-radius:var(--radius-md);white-space:nowrap;font-weight:600}.run-panel__answer-send:hover{background:var(--accent-strong)}.run-panel__controls{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-3) var(--space-3);flex-shrink:0;display:flex}.run-panel__controls>*{animation:run-control-in var(--duration-base) var(--ease-spring) backwards}.run-panel__controls>:nth-child(2){animation-delay:40ms}.run-panel__controls>:nth-child(3){animation-delay:80ms}@keyframes run-control-in{0%{opacity:0;transform:scale(.72)}}.run-panel__button--quiet{color:var(--text-muted);box-shadow:none;background:0 0}.run-panel__button--quiet:hover:not(:disabled){color:var(--danger);background:var(--danger-soft)}@media (prefers-reduced-motion:reduce){.run-panel__controls>*{animation:none}}.run-panel__button{width:38px;height:38px;color:var(--text-secondary);background:var(--bg-inset);border-radius:var(--radius-full);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.run-panel__button svg{width:17px;height:17px}.run-panel__button:hover:not(:disabled){background:var(--bg-sunken);color:var(--text-primary)}.run-panel__button:active:not(:disabled){transform:scale(.92)}.run-panel__button--primary{width:52px;height:52px;color:var(--text-inverse);background:var(--accent);box-shadow:0 2px 10px color-mix(in srgb, var(--accent) 38%, transparent)}.run-panel__button--primary svg{width:21px;height:21px}.run-panel__button--primary:hover:not(:disabled){color:var(--text-inverse);background:var(--accent-strong)}.run-panel__button:hover:not(:disabled){border-color:var(--border-strong);color:var(--text-primary)}.run-panel__button:disabled{opacity:.4;cursor:not-allowed}.run-panel__button--primary{color:var(--text-inverse);background:var(--accent);border-color:var(--accent)}.run-panel__button--primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong);color:var(--text-inverse)}.run-panel__speed-row{align-items:center;gap:var(--space-2);padding:0 var(--space-3) var(--space-3);flex-direction:column;flex-shrink:0;display:flex}.run-panel__speed-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-size:10px;font-weight:700}.run-panel__segmented{background:var(--bg-sunken);border-radius:var(--radius-full);gap:2px;padding:3px;display:flex}.run-panel__segment{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);color:var(--text-muted);border-radius:var(--radius-full);white-space:nowrap;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);font-weight:600}.run-panel__segment:hover:not([data-selected]){color:var(--text-secondary)}.run-panel__segment[data-selected]{color:var(--text-primary);background:var(--bg-surface);box-shadow:var(--shadow-xs)}.run-panel__now{min-height:68px;padding:0 var(--space-4) var(--space-4);text-align:center;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 22% 78%,#0000);mask-image:linear-gradient(#0000,#000 22% 78%,#0000)}.run-panel__now-line{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-secondary);overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;animation:now-in var(--duration-slow) var(--ease-out);-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}@keyframes now-in{0%{opacity:0;filter:blur(3px);transform:translateY(6px)}to{opacity:1;filter:blur();transform:translateY(0)}}.run-panel__now-line[data-kind=answer]{color:var(--success);font-weight:600}.run-panel__now-line[data-kind=error]{color:var(--danger)}.run-panel__now-line[data-kind=ask]{color:var(--accent-strong)}.run-panel__now-idle{font-size:var(--text-xs);color:var(--text-muted);max-width:30ch;line-height:1.5}@media (prefers-reduced-motion:reduce){.run-panel__now-line{animation:none}}.save-status{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);color:var(--text-muted);border-radius:var(--radius-full);white-space:nowrap;font-weight:600;display:inline-flex}.save-status[data-state=saving],.save-status[data-state=saved],.save-status[data-state=error]{animation:save-status-in var(--duration-base) var(--ease-out)}.save-status svg{width:14px;height:14px}.save-status[data-state=idle]{color:var(--text-muted);font-weight:500}.save-status[data-state=idle] svg{opacity:.7}.save-status[data-state=saving] svg{animation:.9s linear infinite save-status-spin}.save-status[data-state=saved]{color:var(--success)}.save-status[data-state=error]{color:var(--danger);background:var(--danger-soft)}@keyframes save-status-in{0%{opacity:0}}@keyframes save-status-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.save-status,.save-status[data-state=saving],.save-status[data-state=saved],.save-status[data-state=error],.save-status[data-state=saving] svg{animation:none}}.brief{gap:var(--space-2);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle);flex-direction:column;display:flex}.brief__eyebrow{font-size:var(--text-xs);color:var(--accent-strong);font-weight:650}.brief__title{font-size:var(--text-md,1rem);color:var(--text-primary);overflow-wrap:anywhere;font-weight:700;line-height:1.3}.brief__points{padding:1px var(--space-2);font-size:var(--text-xs);color:var(--accent-strong);background:var(--accent-soft);border-radius:999px;align-self:flex-start;font-weight:650}.brief__text{font-size:var(--text-sm);color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.brief__hint{font-size:var(--text-xs);color:var(--text-muted);line-height:1.5}.brief__muted{font-size:var(--text-xs);color:var(--text-muted)}.brief__subhead{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--text-secondary);font-weight:650}.brief__fault{font-size:var(--text-xs);color:var(--danger)}.app__robot>.brief{min-height:0;max-height:45%;padding:var(--space-3);flex:none;overflow-y:auto}.app__robot>.brief--author{max-height:72%}.brief__primary,.brief__quiet{justify-content:center;align-items:center;gap:var(--space-1);font-size:var(--text-sm);border-radius:var(--radius-md);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);font-weight:650;display:inline-flex}.brief__primary svg,.brief__quiet svg{width:14px;height:14px}.brief__primary{padding:var(--space-2) var(--space-3);color:var(--text-inverse);background:var(--accent);box-shadow:var(--shadow-sm)}.brief__primary:hover:not(:disabled){background:var(--accent-strong)}.brief__quiet{padding:var(--space-1) var(--space-2);color:var(--text-secondary);align-self:flex-start}.brief__quiet:hover:not(:disabled){color:var(--text-primary);background:var(--bg-inset)}.brief__icon{width:28px;height:28px;color:var(--text-muted);border-radius:var(--radius-md);justify-content:center;align-items:center;display:inline-flex}.brief__icon svg{width:14px;height:14px}.brief__icon:hover:not(:disabled){color:var(--danger);background:var(--danger-soft)}.brief button:disabled{opacity:.45;cursor:not-allowed}.brief button:focus-visible{box-shadow:var(--shadow-focus);outline:none}.brief__mark{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.brief__score{font-size:var(--text-sm);color:var(--text-primary);font-weight:700}.brief__field{flex-direction:column;gap:3px;min-width:0;display:flex}.brief__field>span{font-size:var(--text-xs);color:var(--text-secondary);font-weight:650}.brief__field input,.brief__field textarea,.brief__field select,.brief__part input{width:100%;padding:var(--space-2);font:inherit;font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-inset);border:1px solid var(--border-default);border-radius:var(--radius-md);resize:vertical}.brief__case textarea{font-family:var(--font-mono);font-size:var(--text-xs)}.brief__field input:focus,.brief__field textarea:focus,.brief__field select:focus,.brief__part input:focus{border-color:var(--accent);box-shadow:var(--shadow-focus);outline:none}.brief__field--short{max-width:8rem}.brief__case{align-items:start;gap:var(--space-2);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.brief__case-fields{gap:var(--space-2);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.brief__case-n{text-align:right;width:2ch;font-size:var(--text-xs);color:var(--text-muted);padding-top:22px;font-weight:700}.brief__case .brief__icon{margin-top:20px}.brief__cases{gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.brief__cases>li{gap:var(--space-1);padding:var(--space-2);background:var(--bg-inset);border:1px solid var(--border-subtle);border-radius:var(--radius-md);border-left-width:3px;flex-direction:column;display:flex}.brief__cases>li[data-state=pass]{border-left-color:var(--success)}.brief__cases>li[data-state=fail]{border-left-color:var(--danger)}.brief__case-head{align-items:center;gap:var(--space-1) var(--space-2);font-size:var(--text-xs);color:var(--text-primary);flex-wrap:wrap;display:flex}.brief__case-head svg{width:14px;height:14px}li[data-state=pass] .brief__case-head svg{color:var(--success)}li[data-state=fail] .brief__case-head svg{color:var(--danger)}.brief__io{gap:2px var(--space-2);font-size:var(--text-xs);grid-template-columns:auto minmax(0,1fr);display:grid}.brief__io dt{color:var(--text-muted)}.brief__io code{font-family:var(--font-mono);color:var(--text-primary);white-space:pre-wrap;overflow-wrap:anywhere}.brief__kinds{background:var(--bg-inset);border:1px solid var(--border-subtle);border-radius:var(--radius-md);align-self:flex-start;padding:2px;display:inline-flex}.brief__kinds button{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);color:var(--text-secondary);border-radius:calc(var(--radius-md) - 2px);font-weight:650}.brief__kinds button[data-active]{color:var(--text-primary);background:var(--bg-surface);box-shadow:var(--shadow-sm)}.brief__world{gap:var(--space-2);padding:var(--space-3);background:var(--bg-inset);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;display:flex}.brief__world .brief__field input,.brief__world .brief__field select,.brief__part input{background:var(--bg-surface)}.brief__parts{gap:var(--space-1);flex-direction:column;display:flex}.brief__part{align-items:center;gap:var(--space-2);grid-template-columns:4.5rem minmax(0,1fr) auto;display:grid}.brief__part>span{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.brief__part input{width:100%;padding:var(--space-1) var(--space-2);font:inherit;font-size:var(--text-sm);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md)}.brief__part code{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.brief__io dd{gap:2px var(--space-2);flex-wrap:wrap;display:flex}.brief__moment[data-missed]{color:var(--danger);-webkit-text-decoration:underline wavy var(--danger);text-decoration:underline wavy var(--danger);text-underline-offset:3px}:root{--scene-lit:#f59e0b;--scene-lit-glow:#f59e0b8c;--scene-panel:var(--bg-inset)}:root[data-theme=dark]{--scene-lit:#fbbf24;--scene-lit-glow:#fbbf2480}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--scene-lit:#fbbf24;--scene-lit-glow:#fbbf2480}}.scene{gap:var(--space-2);flex-direction:column;flex-shrink:0;display:flex}.app__robot>.scene{padding:var(--space-3);border-bottom:1px solid var(--border-subtle)}.scene__head{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.scene__head h2{font-size:var(--text-xs);color:var(--text-secondary);font-weight:650}.scene__replay{margin-left:var(--space-2);color:var(--accent-strong);font-weight:500}.scene__clock{font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--text-muted)}.scene__clock[data-ended]{color:var(--text-primary)}.scene__progress{background:var(--border-subtle);border-radius:var(--radius-full);height:3px;overflow:hidden}.scene__progress span{background:var(--accent);border-radius:inherit;height:100%;display:block}.scene__board{gap:var(--space-3);padding:var(--space-3);background:var(--scene-panel);border:1px solid var(--border-default);border-radius:var(--radius-md);display:flex}.scene__column{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.scene__column+.scene__column{padding-left:var(--space-3);border-left:1px dashed var(--border-default)}.scene__column h3{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.scene__parts{gap:var(--space-2);flex-wrap:wrap;display:flex}.scene__part{width:64px;padding:var(--space-1) 0;color:var(--text-muted);border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:2px;display:flex}button.scene__part{cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}button.scene__part:hover{background:var(--bg-surface)}button.scene__part:focus-visible{box-shadow:var(--shadow-focus);outline:none}.scene__label{max-width:100%;font-size:var(--text-xs);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.scene__id{max-width:100%;font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.scene__hint{font-size:var(--text-xs);color:var(--text-muted);line-height:1.45}.part{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:40px;height:40px;overflow:visible}.part__cap,.part__knob,.part__hub{fill:currentColor;stroke:none}.part__bulb,.part__dome{fill:var(--bg-surface)}.part__rotor{transform-origin:24px 24px}.part *{transition:fill var(--duration-base) var(--ease-out), stroke var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out)}.scene__part[data-state=on][data-skin=pushbutton],.scene__part[data-state=on][data-skin=switch],.scene__part[data-state=on][data-skin=sensor]{color:var(--accent)}.scene__part[data-state=on][data-skin=pushbutton] .part__cap{transform-origin:24px 24px;transform:scale(.85)}.scene__part[data-state=on][data-skin=switch] .part__knob{transform:translate(14px)}.scene__part[data-state=on][data-skin=lamp]{color:var(--scene-lit)}.scene__part[data-state=on][data-skin=lamp] .part__bulb{fill:var(--scene-lit);filter:drop-shadow(0 0 8px var(--scene-lit-glow))}.scene__part[data-state=on][data-skin=motor]{color:var(--success)}.scene__part[data-state=on][data-skin=motor] .part__rotor{animation:.9s linear infinite scene-spin}.scene__part[data-state=on][data-skin=siren]{color:var(--danger)}.scene__part[data-state=on][data-skin=siren] .part__dome{fill:var(--danger);animation:.7s steps(2,jump-none) infinite scene-flash}@keyframes scene-spin{to{transform:rotate(360deg)}}@keyframes scene-flash{50%{fill:var(--danger-soft)}}@media (prefers-reduced-motion:reduce){.scene__part .part__rotor,.scene__part .part__dome{animation:none!important}}.app--loading{background:var(--bg-app)}.app{background:var(--bg-app);flex-direction:column;height:100%;display:flex}.app__header{align-items:center;gap:var(--space-3);height:var(--header-height);padding:0 var(--space-3);background:var(--bg-surface);border-bottom:1px solid var(--border-default);flex-shrink:0;display:flex}.app__brand{align-items:center;gap:var(--space-2);font-size:inherit;font-weight:inherit;flex-shrink:0;display:flex}.app__brand-button{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);margin-left:calc(var(--space-2) * -1);border-radius:var(--radius-md);transition:background var(--duration-fast) var(--ease-out);display:flex}.app__brand-button:hover{background:var(--bg-sunken)}.app__name{font-size:var(--text-base);letter-spacing:-.02em;color:var(--text-primary);font-weight:700}.app__doc-title-wrap{min-width:0;max-width:320px;transition:max-width var(--duration-base) var(--ease-out);flex:0 auto;display:inline-grid;position:relative}.app__doc-title-wrap:focus-within{max-width:min(620px,46vw)}.app__doc-title-wrap[data-clipped=true]:not(:focus-within) .app__doc-title{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 22px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 22px),#0000)}.app__doc-title-mirror,.app__doc-title{padding:var(--space-1) var(--space-3);font-family:inherit;font-size:var(--text-base);letter-spacing:inherit;border:1px solid #0000;grid-area:1/1;font-weight:600}.app__doc-title-mirror{white-space:pre;visibility:hidden;pointer-events:none;min-width:3ch;overflow:hidden}.app__doc-title{width:100%;min-width:0;color:var(--text-primary);border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);background:0 0}@media (prefers-reduced-motion:reduce){.app__doc-title-wrap{transition:none}}.app__doc-title:hover{background:var(--bg-inset)}.app__doc-title:focus{background:var(--bg-inset);border-color:var(--accent);outline:none}.app__header-actions{align-items:center;gap:var(--space-2);flex-shrink:0;margin-left:auto;display:flex}.app__history,.app__toggles{gap:2px;display:flex}.app__icon-button svg,.app__toggle svg{width:16px;height:16px}.app__run svg{width:14px;height:14px}.app__icon-button{width:28px;height:28px;color:var(--text-muted);border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;font-size:15px;display:flex}.app__icon-button:hover:not(:disabled){background:var(--bg-sunken);color:var(--text-primary)}.app__icon-button:disabled{opacity:.3;cursor:not-allowed}.app__toggle{width:28px;height:28px;color:var(--text-muted);border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;font-size:14px;display:flex}.app__toggle:hover{background:var(--bg-sunken);color:var(--text-secondary)}.app__toggle[data-active]{color:var(--accent-strong);background:var(--accent-soft)}.app__divider{background:var(--border-default);width:1px;height:20px}.app__ghost-button{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);border-radius:var(--radius-md);white-space:nowrap;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);font-weight:600}.app__ghost-button:hover{background:var(--bg-sunken);color:var(--text-primary)}.app__settings{background:var(--bg-sunken);border-radius:var(--radius-md);align-items:center;gap:2px;padding:3px;display:inline-flex}.app__select{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);color:var(--text-secondary);background:var(--bg-inset);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;font-weight:600}.app__select:hover{border-color:var(--border-strong)}.app__run{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--text-inverse);background:var(--accent);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);white-space:nowrap;transition:background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);font-weight:650;display:flex}.app__run:hover{background:var(--accent-strong)}.app__run:active{transform:scale(.97)}.app__main{flex:1;grid-template-columns:auto minmax(0,1fr) auto;min-height:0;display:grid}.app__palette{grid-column:1}.app__center{grid-column:2}.app__robot{grid-column:3}.app__main--home,.app__main--code{display:block;overflow:hidden}.app__icon-button[data-active]{color:var(--accent-strong);background:var(--accent-soft)}.app__palette,.app__robot{min-height:0;position:relative;overflow:hidden}.app__palette{width:var(--palette-size,244px);border-right:1px solid var(--border-subtle)}.app__robot{width:var(--robot-size,330px);border-left:1px solid var(--border-subtle);background:var(--bg-surface);flex-direction:column;display:flex}.app__center{flex-direction:column;min-width:0;min-height:0;display:flex}.app__canvas{flex:1;min-height:0;position:relative}.app__canvas-pane{visibility:hidden;pointer-events:none;position:absolute;inset:0}.app__canvas-pane[data-visible]{visibility:visible;pointer-events:auto;height:100%;position:relative;container-type:inline-size}.app__canvas-tabs{padding:var(--space-2) var(--space-3) 0;background:var(--bg-base);flex-shrink:0;gap:2px;display:flex}.app__canvas-tab{padding:6px var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);border-radius:var(--radius-md) var(--radius-md) 0 0;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);align-items:center;gap:6px;font-weight:600;display:inline-flex}.app__canvas-tab svg{width:15px;height:15px}.app__canvas-tab:hover{color:var(--text-primary);background:var(--bg-inset)}.app__canvas-tab[data-active]{color:var(--accent-strong);background:var(--bg-surface)}.app__drawer{background:var(--bg-surface);border-top:1px solid var(--border-default);flex-direction:column;flex-shrink:0;display:flex;position:relative}.app[data-drawer=open] .app__drawer{height:var(--drawer-size,300px)}.app[data-drawer=closed] .app__drawer{height:auto}.app__drawer-tabs{padding:var(--space-2) var(--space-2) 0;border-bottom:1px solid var(--border-subtle);scrollbar-width:none;flex-shrink:0;align-items:center;gap:2px;display:flex;overflow-x:auto}.app__drawer-tabs::-webkit-scrollbar{display:none}.app[data-drawer=closed] .app__drawer-tabs{padding-bottom:var(--space-2);border-bottom:none}.app__drawer-tab{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap;border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:color var(--duration-fast) var(--ease-out);font-weight:550;position:relative}.app__drawer-tab:hover{color:var(--text-secondary)}.app__drawer-tab[data-selected]{color:var(--text-primary);font-weight:650}.app__drawer-tab[data-selected]:after{content:"";left:var(--space-2);right:var(--space-2);background:var(--accent);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px}.app__drawer-collapse{flex-shrink:0;margin-left:auto}.app__drawer-body{flex:1;min-height:0;position:relative}.app__drawer-pane{min-height:0;position:absolute;inset:0}.app__drawer-pane[data-hidden]{visibility:hidden;pointer-events:none}@media (width<=1180px){.app__doc-title-wrap{max-width:180px}}@media (width<=960px){.app__main{grid-template-columns:1fr}.app__palette,.app__robot,.app__doc-title-wrap{display:none}}.app__user{align-items:center;gap:var(--space-2);min-width:0;padding-right:var(--space-1);display:flex}.app__user-avatar{letter-spacing:.01em;width:26px;height:26px;color:var(--text-inverse);background:var(--accent);border-radius:var(--radius-full);flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.app__user-name{font-size:var(--text-xs);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-weight:600;overflow:hidden}@media (width<=900px){.app__user-name{display:none}}.app__desk{align-items:center;gap:var(--space-2);min-width:0;display:inline-flex}.app__desk-label{font-size:var(--text-sm);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:650;overflow:hidden}.app__desk-tag{padding:1px var(--space-2);font-size:var(--text-xs);color:var(--text-secondary);background:var(--bg-inset);border:1px solid var(--border-subtle);border-radius:var(--radius-full);flex-shrink:0;font-weight:650}.app__back{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);border-radius:var(--radius-full);white-space:nowrap;font-weight:650;display:inline-flex}.app__back svg{width:15px;height:15px}.app__back:hover{color:var(--text-primary);background:var(--bg-inset)}.app__hand-in{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--accent-strong);background:var(--accent-soft);border-radius:var(--radius-full);font-weight:650;display:inline-flex}.app__hand-in svg{width:15px;height:15px}.app__hand-in:hover:not(:disabled){color:var(--text-inverse);background:var(--accent)}.app__hand-in:disabled{opacity:.7;cursor:default}:root{--slate-0:#fff;--slate-25:#fbfbfd;--slate-50:#f4f5f9;--slate-100:#e8eaf2;--slate-200:#d4d8e6;--slate-300:#b3bad0;--slate-400:#8a93af;--slate-500:#656e8c;--slate-600:#4b5470;--slate-700:#363e57;--slate-800:#232a3f;--slate-900:#171d2e;--slate-950:#0e1320;--hue-variable:#6366f1;--hue-variable-soft:#eef0ff;--hue-variable-border:#c7cbff;--hue-io:#0891b2;--hue-io-soft:#e0f6fb;--hue-io-border:#a5e3ef;--hue-conditional:#d97706;--hue-conditional-soft:#fdf0dc;--hue-conditional-border:#f6d6a3;--hue-loop:#7c3aed;--hue-loop-soft:#f2ebfe;--hue-loop-border:#d9c6fb;--hue-list:#db2777;--hue-list-soft:#fdeaf3;--hue-list-border:#f7bcd8;--hue-function:#4d7c0f;--hue-function-soft:#eef7e0;--hue-function-border:#c5e39a;--accent:#e8873a;--accent-strong:#d4722a;--accent-soft:#fdefe2;--success:#059669;--success-soft:#d9f5ea;--danger:#dc2626;--danger-soft:#fdeaea;--warning:#b45309;--warning-soft:#fdf3e3;--hue-boolean:#0f766e;--hue-boolean-soft:#dcf5f1;--hue-boolean-border:#9fdcd3;--bg-app:var(--slate-50);--bg-surface:var(--slate-0);--bg-raised:var(--slate-0);--bg-sunken:var(--slate-100);--bg-inset:var(--slate-25);--text-primary:var(--slate-900);--text-secondary:var(--slate-600);--text-muted:var(--slate-400);--text-inverse:var(--slate-0);--border-subtle:var(--slate-100);--border-default:var(--slate-200);--border-strong:var(--slate-300);--code-bg:var(--slate-950);--code-surface:#161d2f;--code-text:#d8def0;--code-muted:#6f79a0;--code-keyword:#c4a3ff;--code-string:#8fd4a8;--code-number:#ffb86b;--code-name:#7dd3fc;--code-comment:#5a6484;--code-active:#e8873a29;--code-hue-variable:#a5b0ff;--code-hue-io:#5fd4ec;--code-hue-conditional:#fbbf5a;--code-hue-loop:#c4a3ff;--code-hue-list:#f9a8d4;--code-hue-function:#a3d55e;--shadow-xs:0 1px 2px #0f14230f;--shadow-sm:0 1px 3px #0f142314, 0 1px 2px #0f14230a;--shadow-md:0 4px 12px #0f142314, 0 2px 4px #0f14230a;--shadow-lg:0 12px 32px #0f14231f, 0 4px 8px #0f14230f;--shadow-focus:0 0 0 3px #e8873a52;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--font-ui:"Plus Jakarta Sans Variable", "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.12s;--duration-base:.2s;--duration-slow:.34s;--header-height:56px;--panel-min-width:320px}:root[data-theme=dark]{--bg-app:var(--slate-950);--bg-surface:var(--slate-900);--bg-raised:var(--slate-800);--bg-sunken:#0a0f1a;--bg-inset:var(--slate-900);--text-primary:var(--slate-50);--text-secondary:var(--slate-300);--text-muted:var(--slate-400);--text-inverse:var(--slate-950);--border-subtle:#ffffff0f;--border-default:#ffffff1c;--border-strong:#ffffff2e;--hue-variable:#a5b0ff;--hue-variable-soft:#6366f129;--hue-variable-border:#818cf857;--hue-io:#5fd4ec;--hue-io-soft:#0891b22e;--hue-io-border:#22d3ee52;--hue-conditional:#fbbf5a;--hue-conditional-soft:#d977062e;--hue-conditional-border:#fbbf2452;--hue-function:#a3d55e;--hue-function-soft:#4d7c0f33;--hue-function-border:#84bb3a57;--hue-list:#f9a8d4;--hue-list-soft:#db27772e;--hue-list-border:#f472b652;--hue-loop:#c4a3ff;--hue-loop-soft:#7c3aed33;--hue-loop-border:#a78bfa57;--accent:#f59e4c;--accent-strong:#e8873a;--accent-soft:#e8873a29;--success:#34d399;--success-soft:#0596692e;--danger:#f87171;--danger-soft:#dc26262e;--warning:#fbbf24;--warning-soft:#b4530938;--hue-boolean:#5eead4;--hue-boolean-soft:#0b3d3a;--hue-boolean-border:#5eead46b;--code-bg:#0a0f1a;--code-surface:#121a2a;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 1px 3px #0006, 0 1px 2px #0000003d;--shadow-md:0 4px 12px #0006, 0 2px 4px #0000003d;--shadow-lg:0 12px 32px #00000080, 0 4px 8px #0000004d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-app:var(--slate-950);--bg-surface:var(--slate-900);--bg-raised:var(--slate-800);--bg-sunken:#0a0f1a;--bg-inset:var(--slate-900);--text-primary:var(--slate-50);--text-secondary:var(--slate-300);--text-muted:var(--slate-400);--text-inverse:var(--slate-950);--border-subtle:#ffffff0f;--border-default:#ffffff1c;--border-strong:#ffffff2e;--hue-variable:#a5b0ff;--hue-variable-soft:#6366f129;--hue-variable-border:#818cf857;--hue-io:#5fd4ec;--hue-io-soft:#0891b22e;--hue-io-border:#22d3ee52;--hue-conditional:#fbbf5a;--hue-conditional-soft:#d977062e;--hue-conditional-border:#fbbf2452;--hue-loop:#c4a3ff;--hue-loop-soft:#7c3aed33;--hue-loop-border:#a78bfa57;--hue-list:#f9a8d4;--hue-list-soft:#db27772e;--hue-list-border:#f472b652;--hue-function:#a3d55e;--hue-function-soft:#4d7c0f33;--hue-function-border:#84bb3a57;--accent:#f59e4c;--accent-strong:#e8873a;--accent-soft:#e8873a29;--success:#34d399;--success-soft:#0596692e;--danger:#f87171;--danger-soft:#dc26262e;--warning:#fbbf24;--warning-soft:#b4530938;--hue-boolean:#5eead4;--hue-boolean-soft:#0b3d3a;--hue-boolean-border:#5eead46b;--code-bg:#0a0f1a;--code-surface:#121a2a;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 1px 3px #0006, 0 1px 2px #0000003d;--shadow-md:0 4px 12px #0006, 0 2px 4px #0000003d;--shadow-lg:0 12px 32px #00000080, 0 4px 8px #0000004d}}*,:before,:after{box-sizing:border-box}*{margin:0}html,body,#root{height:100%}body{font-family:var(--font-ui);font-size:var(--text-base);color:var(--text-primary);background:var(--bg-app);-webkit-font-smoothing:antialiased;font-variant-ligatures:no-contextual;text-rendering:optimizelegibility;line-height:1.55}h1,h2,h3,h4{letter-spacing:-.014em;font-weight:600;line-height:1.25}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}ul,ol{padding:0;list-style:none}a{color:var(--accent-strong);-webkit-text-decoration-color:color-mix(in srgb, var(--accent-strong) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--accent-strong) 40%, transparent);text-underline-offset:2px}a:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-xs)}:focus:not(:focus-visible){outline:none}::selection{background:var(--accent-soft);color:var(--text-primary)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-full);background-clip:padding-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--border-strong);background-clip:padding-box;border:3px solid #0000}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
