:root{--bg:#0c0c12;--bg-panel:#111119;--bg-raised:#1a1a24;--line:#2b2b39;--line-bright:#45455a;--text:#e6e6f0;--text-dim:#9494ab;--text-faint:#61617a;--pink:#ff5fa2;--purple:#a98bff;--cyan:#4fe3d2;--lime:#cdfa54;--amber:#ffc861;--green:#45dd8b;--red:#ff6b6b;--blue:#6fa8ff;--canvas-bg:var(--bg);--grain:#9696be0d;--ok:var(--green);--warn:var(--amber);--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", "Cascadia Mono", Menlo, Consolas, monospace;--sw-charm-bg:#0c0c12;--sw-charm-a:#ff5fa2;--sw-charm-b:#4fe3d2;--sw-matte-bg:#000;--sw-matte-a:#ff5fa2;--sw-matte-b:#a98bff;--sw-ember-bg:#1b1a17;--sw-ember-a:#fe8019;--sw-ember-b:#b8bb26;--sw-paper-bg:#f2efe7;--sw-paper-a:#c2255c;--sw-paper-b:#0b7285}[data-theme=matte]{--bg:#000;--bg-panel:#0a0a0a;--bg-raised:#151515;--line:#1e1e1e;--line-bright:#333;--text:#f4f4f4;--text-dim:#9e9e9e;--text-faint:#616161;--pink:#ff5fa2;--purple:#a98bff;--cyan:#4fe3d2;--lime:#cdfa54;--amber:#ffc861;--green:#45dd8b;--red:#ff6b6b;--blue:#6fa8ff;--canvas-bg:var(--bg);--grain:#aaaaaa0a}[data-theme=ember]{--bg:#1b1a17;--bg-panel:#232120;--bg-raised:#322e2b;--line:#423b36;--line-bright:#665c54;--text:#ebdbb2;--text-dim:#b3a288;--text-faint:#857b6c;--pink:#fe8019;--purple:#d3869b;--cyan:#8ec07c;--lime:#b8bb26;--amber:#fabd2f;--green:#b8bb26;--red:#fb4934;--blue:#83a598;--canvas-bg:var(--bg);--grain:#dcbe8c0d}[data-theme=paper]{--bg:#f2efe7;--bg-panel:#f9f7f1;--bg-raised:#e7e2d6;--line:#cec7b7;--line-bright:#a79e8b;--text:#23211c;--text-dim:#5b564b;--text-faint:#8a8375;--pink:#c2255c;--purple:#6741a5;--cyan:#0b7285;--lime:#5c7a10;--amber:#9c6a06;--green:#216e39;--red:#b02525;--blue:#1864ab;--canvas-bg:var(--bg);--grain:#5046320d}*,:before,:after{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--mono);font-variant-ligatures:none;-webkit-font-smoothing:antialiased;margin:0;font-size:13px;line-height:1.55}.grain{z-index:9999;pointer-events:none;opacity:.5;background-image:radial-gradient(circle at 1px 1px, var(--grain) 1px, transparent 0);background-size:4px 4px;position:fixed;inset:0}button{font:inherit;color:inherit;cursor:pointer;border-radius:0}::selection{background:var(--pink);color:var(--bg)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.box-title,.panel-title{background:var(--bg);letter-spacing:.16em;text-transform:uppercase;color:var(--pink);white-space:nowrap;pointer-events:none;z-index:2;padding:0 6px;font-size:10.5px;font-weight:700;position:absolute;top:0;left:9px;transform:translateY(-50%)}.box-note,.panel-note{text-overflow:ellipsis;background:var(--bg);letter-spacing:.04em;max-width:52%;color:var(--text-faint);white-space:nowrap;pointer-events:none;z-index:2;padding:0 6px;font-size:10px;position:absolute;top:0;right:9px;overflow:hidden;transform:translateY(-50%)}.masthead{border-bottom:1px solid var(--line);align-items:center;gap:20px;min-width:0;height:42px;padding:0 14px;display:flex}.identity{flex:none;align-items:center;gap:10px;min-width:0;display:flex}.wordmark{background:var(--pink);color:var(--bg);letter-spacing:.14em;padding:2px 8px;font-size:12px;font-weight:700}.subtitle{letter-spacing:.11em;text-transform:uppercase;color:var(--text-faint);font-size:10.5px}@media (max-width:940px){.subtitle{display:none}}.channels{scrollbar-width:none;flex:1;gap:4px;min-width:0;display:flex;overflow-x:auto}.channels::-webkit-scrollbar{display:none}.channel-label{white-space:nowrap}.channel{color:var(--text-dim);letter-spacing:.02em;background:0 0;border:1px solid #0000;flex:none;align-items:center;gap:7px;padding:3px 10px;font-size:12px;transition:color .1s,background .1s,border-color .1s;display:flex}.channel:hover{color:var(--text);border-color:var(--line)}.channel .index{color:var(--text-faint);font-size:10px;transition:color .1s}.channel .index:before{content:"["}.channel .index:after{content:"]"}.channel[aria-selected=true]{background:var(--purple);border-color:var(--purple);color:var(--bg);font-weight:700}.channel[aria-selected=true] .index{color:var(--bg);opacity:.62}.masthead-end{flex:none;align-items:center;gap:10px;display:flex}.themes{align-items:center;gap:5px;display:flex}.themes-label{letter-spacing:.13em;text-transform:uppercase;color:var(--text-faint);font-size:10px}@media (max-width:1180px){.themes-label{display:none}}.theme-swatch{border:1px solid var(--line);background:0 0;width:20px;height:15px;padding:0;transition:border-color .1s,transform .1s;position:relative;overflow:hidden}.theme-swatch:before,.theme-swatch:after{content:"";height:6px;position:absolute;inset:auto 0 0}.theme-swatch:before{right:50%}.theme-swatch:after{left:50%}.theme-swatch:hover{border-color:var(--line-bright)}.theme-swatch[aria-pressed=true]{border-color:var(--text);transform:scale(1.12)}.theme-swatch[data-theme=charm]{background:var(--sw-charm-bg)}.theme-swatch[data-theme=charm]:before{background:var(--sw-charm-a)}.theme-swatch[data-theme=charm]:after{background:var(--sw-charm-b)}.theme-swatch[data-theme=matte]{background:var(--sw-matte-bg)}.theme-swatch[data-theme=matte]:before{background:var(--sw-matte-a)}.theme-swatch[data-theme=matte]:after{background:var(--sw-matte-b)}.theme-swatch[data-theme=ember]{background:var(--sw-ember-bg)}.theme-swatch[data-theme=ember]:before{background:var(--sw-ember-a)}.theme-swatch[data-theme=ember]:after{background:var(--sw-ember-b)}.theme-swatch[data-theme=paper]{background:var(--sw-paper-bg)}.theme-swatch[data-theme=paper]:before{background:var(--sw-paper-a)}.theme-swatch[data-theme=paper]:after{background:var(--sw-paper-b)}.ghost-button{border:1px solid var(--line);color:var(--text-dim);background:0 0;align-items:center;gap:7px;padding:3px 9px;font-size:11.5px;transition:color .1s,border-color .1s,background .1s;display:inline-flex}.ghost-button:hover{color:var(--bg);background:var(--text-dim);border-color:var(--text-dim)}.key-cap{background:var(--line);color:var(--text);padding:0 4px;font-size:10px}.ghost-button:hover .key-cap{background:var(--bg);color:var(--text)}.viewport{border:1px solid var(--line);background:var(--bg);min-height:0;position:relative;overflow:visible}.viewport canvas{clip-path:inset(0);touch-action:none;cursor:crosshair;width:100%;height:100%;display:block}.transport{gap:4px;display:flex}.transport-button{border:1px solid var(--line);color:var(--text-dim);background:0 0;align-items:center;gap:7px;padding:3px 10px;font-size:11.5px;transition:color .1s,border-color .1s,background .1s;display:inline-flex}.transport-button .glyph{letter-spacing:-.05em;font-size:9px}.transport-button:hover:not(:disabled){color:var(--text);border-color:var(--line-bright)}.transport-button:disabled{color:var(--text-faint);border-color:var(--line);opacity:.45;cursor:not-allowed}.transport-button.primary{border-color:var(--cyan);color:var(--cyan);min-width:96px}.transport-button.primary:hover:not(:disabled){background:var(--cyan);color:var(--bg)}.rate{align-items:center;gap:8px;display:flex}.rate-label{letter-spacing:.13em;text-transform:uppercase;color:var(--text-faint);font-size:10px}.rate-options{border:1px solid var(--line);display:flex}.rate-option{border:none;border-right:1px solid var(--line);color:var(--text-faint);background:0 0;padding:3px 8px;font-size:11px;transition:color .1s,background .1s}.rate-option:last-child{border-right:none}.rate-option:hover{color:var(--text)}.rate-option[aria-pressed=true]{background:var(--amber);color:var(--bg);font-weight:700}.toggle{color:var(--text-faint);background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:3px 9px;font-size:11.5px;transition:color .1s,border-color .1s;display:inline-flex}.toggle:before{content:"[ ]";color:var(--line-bright);letter-spacing:-.06em}.toggle:hover{color:var(--text-dim);border-color:var(--line)}.toggle[aria-pressed=true]{color:var(--text);border-color:var(--line)}.toggle[hidden]{display:none}.panel{border:1px solid var(--line);background:var(--bg-panel);min-width:0;position:relative}.panel-body{padding:12px 11px 10px}.metrics{gap:2px;display:grid}.metric{grid-template-columns:auto minmax(10px,1fr) auto;align-items:baseline;gap:6px;display:grid}.metric:after{content:"";border-bottom:1px dotted var(--line);grid-column:2;transform:translateY(-3px)}.metric-label{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.metric-label em{color:var(--text);font-style:normal}.metric-value{font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap;grid-column:3;font-size:12px}.metric-value .unit{color:var(--text-faint);margin-left:3px;font-size:10px}.metric-value.good{color:var(--ok)}.metric-value.warn{color:var(--warn)}.metric-value.bad{color:var(--red)}.metric-value.muted{color:var(--text-faint)}@keyframes value-touched{0%,55%{background:var(--amber);color:var(--bg)}to{background:0 0}}.metric-value.touched{animation:.45s steps(2,end) value-touched}.control{gap:3px;padding:6px 0;display:grid}.control+.control{border-top:1px dotted var(--line);padding-top:8px}.control-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.control-name{color:var(--text-dim);font-size:12px}.control-name em{color:var(--cyan);font-style:normal}.control-value{font-variant-numeric:tabular-nums;color:var(--amber);font-size:12px}.control-value .unit{color:var(--text-faint);margin-left:3px;font-size:10px}input[type=range]{appearance:none;cursor:ew-resize;background:0 0;width:100%;height:14px}input[type=range]::-webkit-slider-runnable-track{background:var(--line-bright);height:1px}input[type=range]::-moz-range-track{background:var(--line-bright);height:1px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--amber);border:none;border-radius:0;width:9px;height:13px;margin-top:-6px}input[type=range]::-moz-range-thumb{background:var(--amber);border:none;border-radius:0;width:9px;height:13px}input[type=range]:hover::-webkit-slider-thumb{background:var(--lime)}input[type=range]:focus-visible::-webkit-slider-thumb{background:var(--lime)}.control-ticks{color:var(--text-faint);justify-content:space-between;margin-top:-2px;font-size:9.5px;display:flex}.list{gap:1px;display:grid}.list-row{width:100%;color:var(--text-dim);text-align:left;background:0 0;border:none;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;padding:3px 6px;font-size:11.5px;transition:background .1s,color .1s;display:grid}.list-row:hover{background:var(--bg-raised);color:var(--text)}.list-row[aria-pressed=true]{background:var(--text);color:var(--bg);font-weight:500}.list-swatch{flex:none;width:8px;height:8px}.list-name{letter-spacing:.06em;font-weight:700}.list-detail{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.preset-row{flex-wrap:wrap;gap:4px;display:flex}.preset-row .list-action{flex:auto;min-width:58px}.list-actions{border-top:1px dotted var(--line);gap:4px;margin-top:9px;padding-top:8px;display:flex}.list-action{border:1px solid var(--line);color:var(--text-dim);background:0 0;flex:1;padding:3px 8px;font-size:11px;transition:color .1s,border-color .1s,background .1s}.list-action:hover:not(:disabled){color:var(--bg);background:var(--cyan);border-color:var(--cyan)}.list-action:disabled{color:var(--text-faint);border-color:var(--line);opacity:.45;cursor:not-allowed}.statusbar{border-top:1px solid var(--line);background:var(--bg-panel);height:24px;color:var(--text-faint);flex-wrap:wrap;align-items:center;gap:16px;padding:0 14px;font-size:10.5px;display:flex}.hint b{color:var(--text-dim);margin-right:4px;font-weight:500}.statusbar-end{background:var(--green);color:var(--bg);letter-spacing:.09em;text-transform:uppercase;margin-left:auto;padding:0 7px;font-weight:700}.statusbar-end[data-state=paused]{background:var(--amber)}.statusbar-end[data-state=stepping]{background:var(--cyan)}.statusbar-end[data-state=done]{background:var(--purple)}.statusbar-end[data-state=error]{background:var(--red)}.statusbar-end[data-state=edit]{background:var(--amber)}.about{border:1px solid var(--line-bright);background:var(--bg-panel);color:var(--text);border-radius:0;width:calc(100% - 32px);max-width:660px;margin:auto;padding:0;position:fixed;inset:0}.about::backdrop{background:#08080dcc}.about-body{padding:16px 20px 20px}.about-body header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;padding-bottom:10px;display:flex}.about-body h2{letter-spacing:.16em;text-transform:uppercase;color:var(--pink);margin:0;font-size:13px;font-weight:700}.about-body h3:before{content:"▌ "}.about-body p{color:var(--text-dim);margin:0 0 8px;font-size:12.5px;line-height:1.7}.about-body em{color:var(--cyan);font-style:normal}.about-body strong{color:var(--text);font-weight:700}.about-body ul{color:var(--text-dim);margin:0;padding-left:0;font-size:12.5px;line-height:1.75;list-style:none}.about-body li:before{content:"· ";color:var(--pink)}@keyframes paint{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:none}}.masthead,.viewport,.console,.statusbar,.readout>*{animation:.22s steps(4,end) backwards paint}.viewport{animation-delay:60ms}@media (max-width:760px){.masthead{flex-wrap:wrap;gap:8px 12px;height:auto;padding:8px 12px}.channels{flex:1 0 100%;order:3;-webkit-mask-image:linear-gradient(90deg,#000 88%,#0000);mask-image:linear-gradient(90deg,#000 88%,#0000)}.masthead-end{margin-left:auto}}@media (max-width:620px){.toggles{width:100%;margin-left:0}.transport-button span:not(.glyph),.rate-label{display:none}.transport-button.primary{min-width:0}.hint:nth-child(n+4){display:none}}.toggle[aria-pressed=true]:before{content:"[X]";color:var(--green)}.statusbar-end{background:var(--line-bright)}.statusbar-end[data-state=running]{background:var(--green)}.masthead,.strip,.guide,.gallery,.editor,.problems,.viewport,.console,.palette,.statusbar,.readout>*{animation:.22s steps(4,end) backwards paint}.masthead{animation-delay:20ms}.strip,.guide,.gallery{animation-delay:40ms}.editor,.viewport{animation-delay:60ms}.problems{animation-delay:.12s}.console{animation-delay:.14s}.statusbar{animation-delay:.18s}.readout>:first-child{animation-delay:.16s}.readout>:nth-child(2){animation-delay:.2s}.readout>:nth-child(3){animation-delay:.24s}.readout>:nth-child(4){animation-delay:.28s}.readout>:nth-child(5){animation-delay:.32s}:root{--grid:#24243a;--canvas-label:#8686a4;--karel:#ff5fa2;--beeper:#4fe3d2;--beeper-label:#08080e;--wall:#b9b9d6;--cursor:#ffc861;--editor-active:#ffffff09;--editor-exec:#ff5fa229;--editor-sel:#a98bff47;--scrim:#0c0c12db;--editor-rail:500px;--guide-rail:360px;--leading:1.55}[data-theme=matte]{--grid:#1c1c1c;--canvas-label:#7d7d7d;--karel:#ff5fa2;--beeper:#4fe3d2;--beeper-label:#000;--wall:#c8c8c8;--cursor:#ffc861;--editor-active:#ffffff0a;--editor-exec:#ff5fa229;--editor-sel:#a98bff47;--scrim:#000000db}[data-theme=ember]{--grid:#35302b;--canvas-label:#9b8f7c;--karel:#fb4934;--beeper:#8ec07c;--beeper-label:#1b1a17;--wall:#d5c4a1;--cursor:#fabd2f;--editor-active:#fbf1c70a;--editor-exec:#fb49342e;--editor-sel:#d3869b4d;--scrim:#1b1a17db}[data-theme=paper]{--grid:#d7d0c0;--canvas-label:#6d6553;--karel:#c2255c;--beeper:#0b7285;--beeper-label:#f4f2ec;--wall:#3a352c;--cursor:#9c6a06;--editor-active:#23211c0b;--editor-exec:#c2255c24;--editor-sel:#6741a538;--scrim:#f2efe7e0}body{overflow:hidden}.box-tabs{z-index:2;background:var(--bg);align-items:center;gap:4px;padding:0 2px;display:flex;position:absolute;top:0;left:6px;transform:translateY(-50%)}.box-tab{letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);white-space:nowrap;background:0 0;border:1px solid #0000;padding:0 6px;font-size:10.5px;font-weight:700;transition:color .1s,background .1s,border-color .1s}.box-tabs[data-choice=false]{pointer-events:none}.box-tab[aria-selected=true]{color:var(--pink)}.box-tabs[data-choice=true] .box-tab:hover{color:var(--text);border-color:var(--line)}.box-tabs[data-choice=true] .box-tab[aria-selected=true]{background:var(--pink);border-color:var(--pink);color:var(--bg)}.box-actions{z-index:2;background:var(--bg);align-items:center;gap:8px;min-width:0;max-width:52%;padding:0 6px;display:flex;position:absolute;top:0;right:9px;transform:translateY(-50%)}.box-actions .box-note{background:0 0;max-width:none;padding:0;position:static;transform:none}.box-action{border:1px solid var(--line);color:var(--text-faint);letter-spacing:.08em;white-space:nowrap;background:0 0;padding:0 5px;font-size:10px;transition:color .1s,border-color .1s}.box-action:hover{color:var(--text);border-color:var(--line-bright)}.frame{grid-template-rows:auto minmax(0,1fr) auto;min-width:0;height:100dvh;display:grid;position:relative}.frame.dropping:after{content:"drop a .klm world or a .kli program";z-index:60;pointer-events:none;background:var(--scrim);outline:1px dashed var(--cyan);outline-offset:-7px;color:var(--cyan);letter-spacing:.16em;text-transform:uppercase;place-items:center;font-size:11.5px;font-weight:700;display:grid;position:absolute;inset:0}.skins{align-items:center;gap:5px;display:flex}.skins-label{letter-spacing:.13em;text-transform:uppercase;color:var(--text-faint);font-size:10px}@media (max-width:1180px){.skins-label{display:none}}.skin-swatch{background:0 0;border:1px solid #0000;width:24px;height:18px;padding:0;line-height:0;transition:border-color .1s,transform .1s;display:block}.skin-swatch canvas{display:block}.skin-swatch:hover{border-color:var(--line)}.skin-swatch[aria-pressed=true]{border-color:var(--text);transform:scale(1.1)}.langs{align-items:center;gap:5px;display:flex}.langs-label{letter-spacing:.13em;text-transform:uppercase;color:var(--text-faint);font-size:10px}@media (max-width:1180px){.langs-label{display:none}}.lang-option{border:1px solid var(--line);color:var(--text-faint);letter-spacing:.08em;background:0 0;border-right-width:0;padding:2px 6px;font-size:10px;font-weight:500;transition:color .1s,background .1s,border-color .1s}.lang-option+.lang-option{margin-left:-1px}.lang-option:last-child{border-right-width:1px}.lang-option:hover{color:var(--text);border-color:var(--line-bright)}.lang-option[aria-pressed=true]{background:var(--cyan);border-color:var(--cyan);color:var(--bg);font-weight:700}.bench{grid-template-columns:minmax(320px, var(--editor-rail)) minmax(0, 1fr);min-width:0;min-height:0;display:grid}.workshop{grid-template-rows:minmax(0,1fr);grid-auto-rows:auto;gap:12px;min-width:0;min-height:0;padding:9px 0 10px 14px;display:grid}.stage{grid-template-rows:minmax(0,1fr);grid-auto-rows:auto;gap:10px;min-width:0;min-height:0;padding:9px 14px 10px 12px;display:grid}.bench[data-layout=learn]{--editor-rail:560px;grid-template-columns:minmax(320px, var(--editor-rail)) minmax(0, 1fr);grid-template-rows:auto minmax(0,1fr)}.bench[data-layout=learn] .strip{grid-area:1/1/2/3}.bench[data-layout=learn] .workshop{grid-area:2/1}.bench[data-layout=learn] .stage{grid-area:2/2}.bench[data-layout=level]{--editor-rail:520px;grid-template-columns:minmax(320px, var(--editor-rail)) minmax(0, 1fr);grid-template-rows:auto minmax(0,1fr)}.bench[data-layout=level] .guide{grid-area:1/1;max-height:calc(33.3333dvh - 24.6667px);margin:9px 0 0 14px}.bench[data-layout=level] .workshop{grid-area:2/1;padding-top:18px}.bench[data-layout=level] .stage{grid-area:1/2/3/3}.bench[data-layout=level] .guide-scroll{padding:12px 14px 14px}.bench[data-layout=level] .guide-task{margin-bottom:0}.bench[data-layout=level] .guide-actions{margin:10px 0 0}.bench[data-layout=level] .guide-note{margin:8px 0 0}.bench[data-layout=guide]{--editor-rail:430px;grid-template-columns:minmax(260px, var(--guide-rail)) minmax(260px, var(--editor-rail)) minmax(0, 1fr)}.bench[data-layout=gallery]{grid-template-columns:minmax(0,1fr)}.bench[data-layout=guide] .workshop{padding-left:12px}.editor{border:1px solid var(--line);background:var(--bg-panel);grid-template:minmax(0,1fr)/minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative}.editor-host{grid-area:1/1;min-width:0;min-height:0;overflow:hidden}.editor-host.is-off{visibility:hidden;pointer-events:none}.lesson-host{grid-area:1/1;grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.lesson-host[hidden]{display:none}.cm-editor{background:var(--bg-panel);height:100%;color:var(--text);font-size:12.5px}.cm-editor.cm-focused,.cm-editor .cm-content:focus-visible{outline:none}.cm-editor .cm-scroller{font-family:var(--mono);line-height:var(--leading);scrollbar-width:thin;scrollbar-color:var(--line-bright) transparent;overflow:auto}.cm-editor .cm-scroller::-webkit-scrollbar{width:8px;height:8px}.cm-editor .cm-scroller::-webkit-scrollbar-thumb{background:var(--line)}.cm-editor .cm-scroller::-webkit-scrollbar-thumb:hover{background:var(--line-bright)}.cm-editor .cm-content{caret-color:var(--karel);padding:9px 0 44px}.cm-editor .cm-line{padding:0 12px 0 8px}.cm-editor .cm-gutters{border-right:1px solid var(--line);background:var(--bg);color:var(--text-faint);font-size:11px}.cm-editor .cm-lineNumbers .cm-gutterElement{font-variant-numeric:tabular-nums;min-width:30px;padding:0 8px 0 10px}.cm-editor .cm-activeLine{background:var(--editor-active)}.cm-editor .cm-activeLineGutter{background:var(--editor-active);color:var(--text-dim)}.cm-editor .cm-selectionBackground,.cm-editor.cm-focused .cm-selectionBackground{background:var(--editor-sel)!important}.cm-editor .cm-content ::selection{background:var(--editor-sel)!important}.cm-editor .cm-cursor,.cm-editor .cm-dropCursor{border-left:2px solid var(--karel)}.cm-editor .cm-matchingBracket,.cm-editor.cm-focused .cm-matchingBracket{outline:1px solid var(--line-bright);color:var(--text);background:0 0}.cm-editor .cm-nonmatchingBracket{outline:1px solid var(--red)}.cm-editor .cm-placeholder{color:var(--text-faint)}.cm-editor .cm-line.cm-activeKarelLine{background:var(--editor-exec);outline:1px solid var(--karel);outline-offset:-1px}.cm-editor .cm-line.cm-activeKarelLine.cm-activeLine{background:var(--editor-exec)}.cm-editor .cm-lintRange{background-image:none;padding-bottom:1px}.cm-editor .cm-lintRange-error{border-bottom:1px dotted var(--red)}.cm-editor .cm-lintRange-warning{border-bottom:1px dotted var(--warn)}.cm-editor .cm-lintRange-info,.cm-editor .cm-lintRange-hint{border-bottom:1px dotted var(--line-bright)}.cm-editor .cm-lint-marker{width:11px;height:11px;font-size:11px;line-height:1}.cm-editor .cm-lint-marker-error,.cm-editor .cm-lint-marker-warning,.cm-editor .cm-lint-marker-info{content:none}.cm-editor .cm-lint-marker-error:after{content:"×";color:var(--red)}.cm-editor .cm-lint-marker-warning:after{content:"!";color:var(--warn)}.cm-editor .cm-lint-marker-info:after{content:"·";color:var(--text-faint)}.cm-editor .cm-tooltip{border:1px solid var(--line-bright);background:var(--bg-raised);color:var(--text);border-radius:0;font-size:11.5px}.cm-editor .cm-tooltip.cm-tooltip-lint{padding:0}.cm-editor .cm-tooltip-lint .cm-diagnostic{border-left:2px solid var(--line-bright);font-family:var(--mono);padding:4px 9px}.cm-editor .cm-tooltip-lint .cm-diagnostic-error{border-left-color:var(--red)}.cm-editor .cm-tooltip-lint .cm-diagnostic-warning{border-left-color:var(--warn)}.cm-editor .cm-panels{border-color:var(--line);background:var(--bg-raised);color:var(--text)}.cm-karel-program{color:var(--pink);font-weight:700}.cm-karel-define{color:var(--purple);font-weight:700}.cm-karel-control{color:var(--blue)}.cm-karel-block{color:var(--text-dim)}.cm-karel-condition{color:var(--cyan)}.cm-karel-builtin{color:var(--green)}.cm-karel-defined{color:var(--amber)}.cm-karel-name{color:var(--text)}.cm-karel-number{color:var(--lime);font-variant-numeric:tabular-nums}.cm-karel-punctuation{color:var(--text-faint)}.cm-karel-comment{color:var(--text-faint);font-style:italic}.problems{flex-direction:column;min-height:0;max-height:148px;display:flex}.problems[hidden]{display:none}.problems .panel-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-bright) transparent;overflow-y:auto}.problems .panel-body::-webkit-scrollbar{width:8px}.problems .panel-body::-webkit-scrollbar-thumb{background:var(--line)}.problem-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.problem{width:100%;color:var(--text-dim);text-align:left;background:0 0;border:none;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:8px;padding:2px 4px;font-size:11.5px;transition:background .1s,color .1s;display:grid}button.problem:hover{background:var(--bg-raised);color:var(--text)}.problem-at{font-variant-numeric:tabular-nums;color:var(--text-faint);white-space:nowrap;font-size:11px}.problem-text{min-width:0;line-height:1.5}.problem.error .problem-at{color:var(--red)}.problem.warning .problem-at{color:var(--warn)}.problems-empty{color:var(--text-faint);margin:0;padding:1px 4px;font-size:11.5px}.problems-empty:before{content:"· ";color:var(--green)}.viewport{display:flex}.viewport canvas{clip-path:inset(0);touch-action:none;cursor:auto;width:auto;height:auto;margin:auto;display:block}.viewport canvas.editable{cursor:crosshair}.console{flex-wrap:wrap;align-items:center;gap:14px;min-width:0;display:flex}.toggles{flex-wrap:wrap;gap:4px;margin-left:0;display:flex}.files{flex-wrap:wrap;order:1;align-items:center;gap:5px;min-width:0;display:flex}.file-note{color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:10.5px;overflow:hidden}.file-note[data-flash=true]{color:var(--green)}.palette{border:1px solid var(--line);background:var(--bg-panel);gap:9px;min-width:0;padding:13px 11px 11px;display:grid;position:relative}.palette[hidden]{display:none}.palette-row{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.palette-label{letter-spacing:.13em;text-transform:uppercase;color:var(--text-faint);font-size:10px}.palette-times{color:var(--text-faint)}.palette-spacer{flex:1}.palette-hint{color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;min-width:0;margin-left:auto;font-size:10.5px;overflow:hidden}.tools{border:1px solid var(--line);display:flex}.tool{border:none;border-right:1px solid var(--line);color:var(--text-faint);background:0 0;align-items:center;gap:6px;padding:3px 9px;font-size:11.5px;transition:color .1s,background .1s;display:inline-flex}.tool:last-child{border-right:none}.tool .glyph{letter-spacing:-.05em;font-size:9px}.tool:hover{color:var(--text)}.tool[aria-pressed=true]{background:var(--pink);color:var(--bg);font-weight:700}.stepper{border:1px solid var(--line);align-items:stretch;display:inline-flex}.stepper-button{width:20px;color:var(--text-faint);background:0 0;border:none;padding:0;font-size:12px;line-height:1;transition:color .1s,background .1s}.stepper-button:hover{background:var(--bg-raised);color:var(--text)}.number{border:none;border-left:1px solid var(--line);border-right:1px solid var(--line);width:46px;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;text-align:center;appearance:textfield;background:0 0;border-radius:0;padding:3px 4px;font-size:11.5px}.number::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.palette-button{border:1px solid var(--line);color:var(--text-dim);background:0 0;padding:3px 10px;font-size:11.5px;transition:color .1s,border-color .1s,background .1s}.palette-button:hover{color:var(--text);border-color:var(--line-bright)}.palette-button.primary{border-color:var(--cyan);color:var(--cyan)}.palette-button.primary:hover{background:var(--cyan);color:var(--bg)}.share-url{border:1px solid var(--amber);background:var(--bg);width:100%;color:var(--text-dim);font:inherit;border-radius:0;padding:4px 6px;font-size:11px}.share-url[hidden]{display:none}.palette .box-note[data-flash=true]{color:var(--green)}.source-host .cm-editor{font-size:12px}.map-problems .problem-text{-webkit-user-select:text;user-select:text}.cm-json-key{color:var(--cyan)}.cm-json-string{color:var(--amber)}.cm-json-number{color:var(--lime);font-variant-numeric:tabular-nums}.cm-json-atom{color:var(--purple)}.cm-json-punctuation{color:var(--text-faint)}.readout{grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:14px 12px;min-width:0;margin-top:4px;display:grid}.metric-value .compass{color:var(--karel);margin-right:5px}.about{border:1px solid var(--line-bright);background:var(--bg-panel);color:var(--text);width:min(820px,100% - 32px);max-width:none;height:min(88vh,780px);border-radius:0;height:min(88dvh,780px);margin:auto;padding:0;position:fixed;inset:0;overflow:hidden}.about[open]{flex-direction:column;display:flex}.about-body{flex:1;grid-template-rows:auto minmax(0,1fr);min-height:0;padding:0;display:grid}.about-body .about-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-bottom:0;padding:13px 16px 11px;display:flex}.about-scroll{grid-template-columns:auto minmax(0,1fr);min-height:0;display:grid}.help-index{border-right:1px solid var(--line);background:var(--bg);scrollbar-width:none;flex-direction:column;align-items:stretch;gap:1px;padding:12px 10px;display:flex;overflow-y:auto}.help-tab{text-align:left;color:var(--text-faint);letter-spacing:.1em;text-transform:uppercase;background:0 0;border:1px solid #0000;flex:none;padding:3px 9px;font-size:11px;transition:color .1s,background .1s,border-color .1s}.help-tab:hover{color:var(--text);border-color:var(--line)}.help-tab[aria-selected=true]{background:var(--purple);border-color:var(--purple);color:var(--bg);font-weight:700}.help-doc{--help-measure:74ch;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-bright) transparent;padding:18px 26px 32vh 18px;overflow-y:auto}.help-doc::-webkit-scrollbar{width:8px}.help-doc::-webkit-scrollbar-thumb{background:var(--line)}.help-doc:focus-visible{outline:1px solid var(--line-bright);outline-offset:-1px}.help-brief{max-width:var(--help-measure);border:1px solid var(--line-bright);background:var(--bg-raised);margin:5px 0 4px;padding:13px 14px 12px;position:relative}.help-brief .box-title{color:var(--amber);background:var(--bg-panel)}.help-brief .box-note{background:var(--bg-panel);color:var(--text-dim)}.help-brief p{color:var(--text);margin:0;font-size:13px;line-height:1.65}.help-section{scroll-margin-top:10px}.about-body h3{letter-spacing:.14em;text-transform:uppercase;color:var(--lime);margin:26px 0 8px;font-size:10.5px;font-weight:700}.about-body h4{letter-spacing:.01em;color:var(--text);margin:0 0 3px;font-size:12px;font-weight:700}.help-lead{letter-spacing:.01em;color:var(--text);margin:18px 0 6px;font-size:12px;font-weight:700}.about-body p{max-width:var(--help-measure);color:var(--text-dim);margin:0 0 9px;font-size:12.5px;line-height:1.7}.about-body code{font-family:var(--mono);color:var(--amber);font-size:.94em}.about-body .help-chips{font-size:inherit;line-height:inherit;color:inherit}.about-body .help-chips li:before{content:none}.help-figure{max-width:var(--help-measure);margin:0 0 12px}.help-figure figcaption{letter-spacing:.06em;color:var(--text-faint);margin-bottom:4px;font-size:10.5px}.help-figure figcaption code{color:var(--text-dim)}.help-code{border:1px solid var(--line);border-left:2px solid var(--line-bright);background:var(--bg);font-family:var(--mono);color:var(--text);tab-size:4;margin:0;padding:10px 12px;font-size:12px;line-height:1.6;overflow-x:auto}.help-table{width:100%;max-width:var(--help-measure);border-collapse:collapse;font-variant-numeric:tabular-nums;margin:0 0 10px;font-size:12.5px}.help-table th,.help-table td{text-align:left;vertical-align:baseline;border-bottom:1px solid var(--line);padding:6px 10px 6px 0}.help-table thead th{white-space:nowrap;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);border-bottom-color:var(--line-bright);padding-bottom:4px;font-size:10px;font-weight:700}.help-table tbody th{white-space:nowrap;color:var(--text);font-weight:400}.help-table td{color:var(--text-dim);line-height:1.65}.help-table tbody tr:last-child th,.help-table tbody tr:last-child td{border-bottom:none}.help-families{max-width:var(--help-measure);gap:14px;margin-bottom:6px;display:grid}.help-family{border-left:1px solid var(--line);padding-left:11px}.help-family p{margin-bottom:6px}.help-chips{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.help-chips code{border:1px solid var(--line);background:var(--bg);color:var(--cyan);padding:1px 7px;font-size:11.5px;display:inline-block}.help-keys{max-width:var(--help-measure);grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:6px 14px;margin:0 0 12px;font-size:12.5px;display:grid}.help-keys dt{white-space:nowrap;justify-self:end;align-items:center;gap:3px;display:flex}.help-keys .key-cap{padding:1px 5px;font-size:11px}.help-key-join{color:var(--text-faint);font-size:10px}.help-keys dd{color:var(--text-dim);margin:0;line-height:1.5}@media (max-width:720px){.about{max-height:90dvh}.about-scroll{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.help-index{border-right:none;border-bottom:1px solid var(--line);flex-direction:row;gap:4px;padding:8px 10px;overflow-x:auto}.help-doc{padding:14px 14px 40vh}.help-keys{grid-template-columns:minmax(0,1fr);gap:2px}.help-keys dt{justify-self:start;margin-top:8px}}.strip{flex-direction:column;align-items:stretch;gap:8px;min-width:0;padding:10px 14px 4px;display:flex}.strip[hidden]{display:none}.strip-where{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.strip-label{letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);font-size:10px;font-weight:700}.strip-count{letter-spacing:.1em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--text-faint);font-size:10px}.strip-name{letter-spacing:.01em;color:var(--text);margin:0 0 3px;font-size:15px;font-weight:700}.strip-brief{gap:4px;min-width:0;max-width:92ch;display:grid}.strip-verdict:empty{min-height:19px}.strip-task{border-left:2px solid var(--cyan);color:var(--text);margin:0;padding-left:10px;font-size:12px;line-height:1.5}.strip-verdict .guide-note,.strip-verdict .verdict{max-width:none;margin:0}.strip-verdict .guide-note{border-left:2px solid #0000;padding:5px 10px}.strip-verdict .verdict{flex-wrap:wrap;align-items:center;gap:4px 10px;padding:5px 10px;display:flex}.strip-verdict .verdict-mark{margin-bottom:0}.strip-verdict .verdict p{font-size:11.5px}.strip-verdict .guide-actions{margin:0}.chapter-rail{flex-wrap:wrap;gap:3px;display:flex}.chapter-chip{border:1px solid var(--line);min-width:24px;color:var(--text-faint);font-variant-numeric:tabular-nums;background:0 0;padding:2px 4px;font-size:10.5px;transition:color .1s,border-color .1s,background .1s}.chapter-chip:hover{color:var(--text);border-color:var(--line-bright)}.chapter-chip[data-solved=true]{color:var(--green);border-color:color-mix(in srgb, var(--green) 45%, transparent)}.chapter-chip[aria-current=true]{background:var(--purple);border-color:var(--purple);color:var(--bg);font-weight:700}.guide{border:1px solid var(--line);background:var(--bg-panel);grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;margin:9px 0 10px 14px;display:grid;position:relative}.guide[hidden]{display:none}.guide-scroll{--guide-measure:72ch;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-bright) transparent;padding:16px 15px 24px;overflow-y:auto}.guide-scroll::-webkit-scrollbar{width:8px}.guide-scroll::-webkit-scrollbar-thumb{background:var(--line)}.guide-scroll::-webkit-scrollbar-thumb:hover{background:var(--line-bright)}.guide-scroll:focus-visible{outline-offset:-2px}.guide-head{letter-spacing:.04em;color:var(--text);margin:0 0 3px;font-size:14px;font-weight:700}.guide-tags{letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);flex-wrap:wrap;gap:4px 10px;margin-bottom:12px;font-size:10.5px;display:flex}.guide-tags b{color:var(--text-dim);font-weight:700}.guide-task{max-width:var(--guide-measure);border:1px solid var(--line);border-left:2px solid var(--cyan);background:var(--bg);margin:0 0 14px;padding:9px 11px}.guide-task-label{letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);margin-bottom:4px;font-size:10px;font-weight:700;display:block}.guide-task p{color:var(--text);margin:0;font-size:12px;line-height:1.55}.guide-prose{max-width:var(--guide-measure);font-size:12px;line-height:var(--leading);color:var(--text-dim);margin:0 0 11px}.guide-code{max-width:var(--guide-measure);border:1px solid var(--line);border-left:2px solid var(--line-bright);background:var(--bg);font-family:var(--mono);color:var(--text);tab-size:4;margin:0 0 12px;padding:9px 11px;font-size:11.5px;line-height:1.55;overflow-x:auto}.guide-rule{border:none;border-top:1px dotted var(--line);margin:14px 0}.guide-actions{flex-wrap:wrap;gap:5px;margin:12px 0;display:flex}.guide-button{border:1px solid var(--line);color:var(--text-dim);background:0 0;padding:4px 10px;font-size:11.5px;transition:color .1s,border-color .1s,background .1s}.guide-button:hover:not(:disabled){color:var(--text);border-color:var(--line-bright)}.guide-button.primary{border-color:var(--cyan);color:var(--cyan)}.guide-button.primary:hover:not(:disabled){background:var(--cyan);color:var(--bg)}.guide-button:disabled{color:var(--text-faint);opacity:.45;cursor:not-allowed}.guide-hint{max-width:var(--guide-measure);border-left:2px solid var(--amber);background:var(--bg);color:var(--text-dim);grid-template-columns:auto minmax(0,1fr);gap:8px;margin:0 0 7px;padding:7px 10px;font-size:11.5px;line-height:1.5;display:grid}.guide-hint b{color:var(--amber);font-variant-numeric:tabular-nums;font-weight:700}.guide-note{max-width:var(--guide-measure);color:var(--text-faint);margin:8px 0 12px;font-size:11px;line-height:1.5}.guide-note[data-tone=good]{color:var(--green)}.guide-note[data-tone=warn]{color:var(--amber)}.verdict{max-width:var(--guide-measure);border:1px solid var(--line);border-left:2px solid var(--line-bright);background:var(--bg);margin:14px 0 12px;padding:10px 12px}.verdict[data-tone=solved]{border-left-color:var(--green)}.verdict[data-tone=miss]{border-left-color:var(--amber)}.verdict-mark{letter-spacing:.16em;text-transform:uppercase;background:var(--green);color:var(--bg);margin-bottom:7px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.verdict[data-tone=miss] .verdict-mark{background:var(--amber)}.verdict p{color:var(--text);margin:0;font-size:12px;line-height:1.55}.guide-steps{max-width:var(--guide-measure);counter-reset:step;margin:0 0 14px;padding:0;list-style:none}.guide-steps li{color:var(--text-dim);counter-increment:step;margin-bottom:8px;padding-left:24px;font-size:11.5px;line-height:1.5;position:relative}.guide-steps li:before{content:counter(step);text-align:center;width:16px;color:var(--bg);background:var(--text-faint);font-size:10px;font-weight:700;position:absolute;top:0;left:0}.guide-steps li[data-done=true]:before{background:var(--green)}.guide-form{max-width:var(--guide-measure);gap:10px;display:grid}.guide-form>.toggle,.guide-form .tools{justify-self:start}.field{gap:4px;min-width:0;display:grid}.field-label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);font-size:10px;font-weight:700}.text-input{border:1px solid var(--line);background:var(--bg);width:100%;min-width:0;color:var(--text);font:inherit;border-radius:0;padding:5px 7px;font-size:11.5px;line-height:1.5}textarea.text-input{resize:vertical;min-height:58px}.text-input::placeholder{color:var(--text-faint)}.guide-errors{gap:2px;margin:10px 0 0;padding:0;list-style:none;display:grid}.guide-errors li{border-left:2px solid var(--red);background:var(--bg);color:var(--text-dim);padding:3px 8px;font-size:11px;line-height:1.45}.guide-file{border:1px solid var(--line);background:var(--bg);max-height:220px;font-family:var(--mono);color:var(--text-dim);-webkit-user-select:all;user-select:all;white-space:pre;margin:10px 0 0;padding:8px 10px;font-size:10.5px;line-height:1.45;overflow:auto}.guide-link{color:var(--cyan);word-break:break-all;margin-top:8px;font-size:11px;display:inline-block}.gallery{border:1px solid var(--line);background:var(--bg-panel);grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;margin:9px 14px 10px;display:grid;position:relative}.gallery[hidden]{display:none}.gallery-scroll{scrollbar-width:thin;scrollbar-color:var(--line-bright) transparent;padding:18px 18px 26px;overflow-y:auto}.gallery-scroll::-webkit-scrollbar{width:8px}.gallery-scroll::-webkit-scrollbar-thumb{background:var(--line)}.gallery-scroll:focus-visible{outline-offset:-2px}.gallery-head{grid-template-columns:minmax(0,1fr) minmax(0,360px);align-items:start;gap:18px;margin-bottom:20px;display:grid}@media (max-width:900px){.gallery-head{grid-template-columns:minmax(0,1fr)}}.gallery-lead{max-width:68ch;font-size:12px;line-height:var(--leading);color:var(--text-dim);margin:0}.gallery-group{margin-bottom:22px}.gallery-group-head{border-bottom:1px dotted var(--line);align-items:baseline;gap:10px;margin-bottom:9px;padding-bottom:5px;display:flex}.gallery-group-name{letter-spacing:.18em;text-transform:uppercase;color:var(--pink);font-size:11px;font-weight:700}.gallery-group-count{font-variant-numeric:tabular-nums;color:var(--text-faint);font-size:10.5px}.level-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:7px;display:grid}.level-card{border:1px solid var(--line);background:var(--bg);text-align:left;align-content:start;gap:5px;padding:10px 12px;transition:border-color .1s,background .1s;display:grid}.level-card:hover{border-color:var(--line-bright);background:var(--bg-raised)}.level-card-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.level-card-title{letter-spacing:.03em;color:var(--text);font-size:12.5px;font-weight:700}.level-tick{color:var(--text-faint);flex:none;font-size:11px}.level-card[data-solved=true] .level-tick{color:var(--green)}.level-card[data-solved=true]{border-left:2px solid var(--green)}.level-card-brief{color:var(--text-dim);margin:0;font-size:11.5px;line-height:1.5}.level-card-meta{letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);font-size:10px}.gallery-contribute{border:1px dashed var(--line-bright);background:var(--bg);gap:8px;padding:12px 14px;display:grid}.gallery-contribute p{max-width:68ch;color:var(--text-dim);margin:0;font-size:11.5px;line-height:1.5}.workshop[hidden],.stage[hidden],.toggle[hidden],.guide-errors[hidden],.guide-hint[hidden],.guide-link[hidden]{display:none}@property --focus-ring{syntax:"<color>";inherits:true;initial-value:#e6e6f0}:root{--focus-ring:var(--text)}:focus-visible{outline:1px solid var(--focus-ring);outline-offset:-1px}.channel[aria-selected=true]:focus-visible,.lang-option[aria-pressed=true]:focus-visible,.rate-option[aria-pressed=true]:focus-visible,.tool[aria-pressed=true]:focus-visible,.list-row[aria-pressed=true]:focus-visible,.ghost-button:hover:focus-visible,.transport-button.primary:hover:focus-visible,.palette-button.primary:hover:focus-visible,.list-action:hover:focus-visible{outline-color:var(--bg)}.skin-swatch:focus-visible,.theme-swatch:focus-visible{outline-offset:2px}.editor:has(.cm-editor.cm-focused){border-color:var(--text)}.problems .panel-body:focus-visible,.cm-editor .cm-scroller:focus-visible{outline-offset:-1px}.visually-hidden{white-space:nowrap;clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:1120px){body{overflow:auto}.frame{height:auto;min-height:100dvh}.bench{grid-template-columns:minmax(0,1fr)}.bench[data-layout=guide],.bench[data-layout=learn],.bench[data-layout=level]{grid-template-rows:none;grid-template-columns:minmax(0,1fr)}.bench[data-layout=learn] .strip,.bench[data-layout=learn] .workshop,.bench[data-layout=learn] .stage,.bench[data-layout=level] .guide,.bench[data-layout=level] .workshop,.bench[data-layout=level] .stage{grid-area:auto}.workshop,.bench[data-layout=guide] .workshop,.bench[data-layout=level] .workshop{padding:9px 12px 0}.bench[data-layout=level] .guide{max-height:none;margin:9px 12px 0}.lesson-host{overflow:visible}.editor:has(>.lesson-host:not([hidden])){min-height:0}.guide,.gallery{grid-template-rows:auto;margin:9px 12px 0}.guide-scroll,.gallery-scroll{overflow-y:visible}.editor{min-height:320px}.stage{padding:18px 12px 0}.viewport{aspect-ratio:5/4}.readout{padding-bottom:14px}.statusbar{position:sticky;bottom:0}}@media (max-width:620px){.palette-hint{display:none}}
