@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-weight:100 800;font-display:swap;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2")}@font-face{font-family:JetBrains Mono Variable;font-style:italic;font-weight:100 800;font-display:swap;src:url(/assets/jetbrains-mono-latin-wght-italic-B2M6KQje.woff2)format("woff2")}@font-face{font-family:Fira Code Variable;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fira-code-latin-wght-normal-CHoedHDv.woff2)format("woff2")}@font-face{font-family:Source Code Pro Variable;font-style:normal;font-weight:200 900;font-display:swap;src:url(/assets/source-code-pro-latin-wght-normal-BP8Zz55n.woff2)format("woff2")}@font-face{font-family:Source Code Pro Variable;font-style:italic;font-weight:200 900;font-display:swap;src:url(/assets/source-code-pro-latin-wght-italic-eALmlzX7.woff2)format("woff2")}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.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:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ui-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI Variable", "Segoe UI", "DM Sans Variable", sans-serif;font-family:var(--ui-font-family);color:var(--text);background:var(--canvas);font-synthesis:none;--surface:#fff;--canvas:#f6f6f6;--line:#dddddf;--text:#29292c;--muted:#606066;--accent:#45454c;--accent-soft:#ebebed;--control-border:#85858c;--button-fill:#45454c;--button-hover:#323238;--button-text:#fff;--run-fill:#18703c;--run-hover:#12582e;--debug-fill:#7544a2;--debug-hover:#603386;--danger:#a52b40;--success:#316d55;--warning:#8a5a08;--focus:#52525b;--breakpoint:#b93249;--console-font-size:14px;--target-size:32px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,summary,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;justify-content:center;align-items:center;gap:7px;display:inline-flex}button:disabled,input:disabled,select:disabled{cursor:default;opacity:.45}button{background:0 0;border:0}button:hover:not(:disabled){background-color:var(--accent-soft)}button:focus-visible,summary:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:3px}input:focus,select:focus{outline:2px solid var(--focus);outline-offset:1px}svg{flex-shrink:0}button svg{pointer-events:none}h1,h2,h3,p{margin:0}input,select{color:var(--text)}.app-shell{flex-direction:column;height:100dvh;min-height:max(640px,40rem);display:flex}.app-header{border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap;flex:none;align-items:center;gap:20px;min-height:76px;padding:0 28px;display:flex}.brand{color:var(--text);letter-spacing:-.8px;white-space:nowrap;align-items:center;gap:12px;font-size:1.3125rem;font-weight:450;text-decoration:none;display:flex}.brand strong{font-weight:700}.brand-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:12px;place-items:center;display:grid}.header-message{color:var(--muted);font-size:.8125rem}.header-actions{align-items:center;gap:17px;margin-left:auto;display:flex}.text-button{border-radius:6px;padding:8px 10px;font-size:.8125rem;font-weight:500}.icon-button{width:var(--target-size);height:var(--target-size);color:var(--muted);border-radius:5px;flex-shrink:0;padding:6px}.project-toolbar{border-bottom:1px solid var(--line);background:var(--canvas);flex-wrap:wrap;flex:none;align-items:center;gap:12px;min-height:61px;padding:8px 25px 8px 18px;display:flex}.sidebar-toggle{margin-right:7px}.sidebar-toggle.selected{color:var(--accent)}.project-name{text-overflow:ellipsis;background:0 0;border:1px solid #0000;border-radius:4px;width:210px;max-width:30vw;padding:5px 4px;font-size:.9375rem;font-weight:650}.project-name:hover{border-color:var(--line)}.save-indicator{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:.75rem;display:flex}.save-indicator svg{color:var(--success)}.project-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.project-menu{position:relative}summary{cursor:pointer;border-radius:5px;padding:5px;list-style:none;display:flex}summary::-webkit-details-marker{display:none}.dropdown{background:var(--surface);border:1px solid var(--control-border);z-index:20;border-radius:9px;width:min(290px,100vw - 24px);padding:6px;position:absolute;top:38px;right:0;box-shadow:0 8px 35px #0000001a}.dropdown button{white-space:normal;border-radius:5px;justify-content:flex-start;width:100%;padding:10px;font-size:.8125rem}.dropdown hr{border:0;border-top:1px solid var(--line);margin:5px}.workspace{flex:1;grid-template-columns:226px minmax(0,1fr);min-height:0;display:grid;position:relative}.workspace.with-debugger{grid-template-columns:226px minmax(0,1fr) 275px}.workspace.hide-sidebar{grid-template-columns:minmax(0,1fr)}.workspace.hide-sidebar.with-debugger{grid-template-columns:minmax(0,1fr) 275px}.hide-sidebar .file-sidebar{display:none}.file-sidebar{border-right:1px solid var(--line);background:var(--canvas);flex-direction:column;min-height:0;padding:12px;display:flex}.panel-heading{justify-content:space-between;align-items:center;gap:10px;min-height:39px;padding:0 9px;display:flex}.panel-heading h2{align-items:center;gap:7px;font-size:.8125rem;font-weight:650;display:flex}.file-list{min-height:44px;margin-top:8px;overflow-y:auto}.file-row{border-radius:6px;align-items:center;min-height:38px;margin:2px 0;display:flex}.file-row.active{background:var(--accent-soft);color:var(--accent)}.file-select{text-align:left;border-radius:5px;flex:1;justify-content:flex-start;gap:9px;min-width:0;padding:10px;font-size:.8125rem}.file-select span:not(.entry-dot){overflow-wrap:anywhere;min-width:0}.file-select svg{color:var(--accent)}.entry-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-left:auto}.file-options{width:var(--target-size);margin-right:3px}.file-row:hover .file-options,.file-options:focus-visible{opacity:1}.sidebar-add{color:var(--muted);border-radius:5px;justify-content:flex-start;margin-top:6px;padding:9px 10px;font-size:.75rem}.sidebar-tip{margin:auto 5px 23px;padding:24px 6px 0}.tip-icon{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:9px;place-items:center;margin-bottom:12px;display:grid}.sidebar-tip h3{margin-bottom:7px;font-size:.8125rem;font-weight:600}.sidebar-tip p{color:var(--muted);max-width:155px;font-size:.75rem;line-height:1.7}.sidebar-tip button{color:var(--accent);margin-top:12px;padding:0;font-size:.75rem}.local-note{color:var(--muted);border-top:1px solid var(--line);padding:16px 2px 5px;font-size:.75rem;line-height:1.5}.local-note small{margin-left:12px;font-size:.75rem;display:block}.local-dot{background:var(--success);vertical-align:1px;border-radius:50%;width:5px;height:5px;margin-right:7px;display:inline-block}.editor-workspace{background:var(--surface);flex-direction:column;min-width:0;min-height:0;display:flex}.run-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:10px;min-height:56px;padding:8px 17px 8px 23px;display:flex}.file-breadcrumb{align-items:center;gap:8px;min-width:40px;font-size:.75rem;display:flex}.file-breadcrumb span{overflow-wrap:anywhere}.file-breadcrumb svg{color:var(--accent)}.run-actions{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.entry-label{color:var(--muted);align-items:center;gap:6px;margin-right:8px;font-size:.75rem;display:flex}.entry-label select{background:var(--canvas);border:none;border-radius:4px;max-width:125px;padding:5px;font-size:.75rem}.debug-button{border:1px solid var(--control-border);border-radius:5px;padding:8px 12px;font-size:.75rem;font-weight:500}.run-button,.stop-button{background:var(--button-fill);color:var(--button-text);border-radius:6px;gap:7px;min-width:114px;padding:9px 13px;font-size:.75rem;font-weight:600}.primary-button:hover:not(:disabled){background:var(--button-hover)}.run-button{background:var(--run-fill)}.run-button:hover:not(:disabled){background:var(--run-hover)}.debug-button{color:var(--button-text);background:var(--debug-fill);border:1px solid #0000;border-radius:6px}.debug-button:hover:not(:disabled){background:var(--debug-hover)}.run-button kbd{background:#ffffff1f;border:1px solid #ffffff26;border-radius:3px;margin-left:4px;padding:0 3px;font-family:inherit;font-size:.75rem}.stop-button{background:#a23e44}.stop-button:hover{background:#842d33!important}.editor-area{flex:1;min-height:100px;position:relative;overflow:hidden}.code-editor{position:absolute;inset:0}.editor-loading{height:100%;color:var(--muted);place-items:center;font-size:.8125rem;display:grid}.monaco-editor .breakpoint-dot{background:var(--breakpoint);margin-left:6px;margin-top:calc((var(--editor-line-height) - 12px) / 2);border-radius:50%;width:12px!important;height:12px!important}.monaco-editor .debug-current-line{background:#f4c35b38;border-top:1px solid #d9a43a55;border-bottom:1px solid #d9a43a55}.monaco-editor .debug-line-arrow:before{content:"▶";color:#b8861b;font-size:.8125rem}.console-resizer{cursor:ns-resize;background:var(--canvas);border-top:1px solid var(--line);touch-action:none;flex:0 0 24px}.console-resizer:hover,.console-resizer:focus{background:var(--accent-soft)}.console-panel{background:var(--surface);flex-direction:column;flex-shrink:0;min-height:150px;max-height:65dvh;display:flex}.console-heading{border-bottom:1px solid var(--line);padding:0 19px 0 23px;flex-wrap:wrap;flex:none;align-items:center;gap:12px;min-height:46px;padding-block:6px;display:flex}.console-heading h2{align-items:center;gap:8px;font-size:.75rem;font-weight:650;display:flex}.console-heading h2 svg{color:var(--muted)}.console-heading>button{margin-left:auto}.runtime-state{color:var(--muted);align-items:center;gap:6px;font-size:.75rem;display:flex}.runtime-state>span{background:var(--success);border-radius:50%;width:5px;height:5px}.runtime-state.input>span,.runtime-state.paused>span{background:var(--warning)}.runtime-state.running>span,.runtime-state.loading>span{background:var(--accent)}.runtime-state.error>span{background:var(--danger)}.console-output{flex:1;min-height:0;padding:16px 24px;overflow:auto}.console-output pre{font:var(--console-font-size)/1.7 var(--console-font-family,"Cascadia Code", "SFMono-Regular", Consolas, monospace);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);margin:0}.output-stderr{color:var(--danger)}.output-input{color:var(--accent)}.output-system{color:var(--muted)}.console-placeholder{align-items:flex-start;gap:14px;margin:5px 0;display:flex}.console-caret{color:var(--muted);margin-top:-6px;font:1.75rem monospace}.console-placeholder strong{color:var(--muted);font-size:.75rem;font-weight:500}.console-placeholder p{color:var(--muted);margin-top:7px;font-size:.75rem;line-height:1.6}.console-input{border:1px solid var(--control-border);background:var(--canvas);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;min-height:44px;margin:0 20px 15px;padding:4px 10px;display:flex}.console-input.waiting{border-color:var(--control-border);background:var(--surface);box-shadow:0 0 0 2px #00000010}.console-input>span{color:var(--muted);font:1.25rem monospace}.console-input input{width:auto;min-width:0;font-size:var(--console-font-size);background:0 0;border:none;flex:120px;padding:8px 0}.console-input input:disabled{opacity:1}.console-input input::placeholder{color:var(--muted)}.console-input button{background:var(--surface);border:1px solid var(--control-border);border-radius:4px;flex-shrink:0;gap:5px;padding:4px 7px;font-size:.75rem}.console-input .eof-button{font-size:.75rem}.run-result{color:var(--success);align-items:center;gap:5px;margin-top:12px;font-size:.75rem;display:flex}.run-result span{color:var(--muted);margin-left:8px}.run-result.failed{color:var(--danger)}.runtime-error{color:var(--danger);max-height:80px;padding:4px 22px 8px;font-size:.75rem;overflow:auto}.debug-panel{border-left:1px solid var(--line);background:var(--canvas);min-width:0;padding:12px;overflow:auto}.debug-controls{gap:9px;padding:14px 8px 7px;display:flex}.debug-controls button{border:1px solid var(--control-border);background:var(--surface);color:var(--accent);border-radius:5px;padding:7px}.debug-location{color:var(--muted);overflow-wrap:anywhere;padding:8px;font-size:.75rem;line-height:1.6}.debug-section{border-top:1px solid var(--line);margin-top:15px;padding:16px 8px 0}.debug-section h3{align-items:center;gap:8px;margin-bottom:12px;font-size:.75rem;font-weight:600;display:flex}.debug-section h3>span{background:var(--accent-soft);border-radius:4px;padding:1px 5px;font-size:.75rem;font-weight:400}.debug-section h3 button{height:var(--target-size);margin-left:auto}.muted{color:var(--muted);font-size:.75rem;line-height:1.7}.variables{margin:0;font-size:.75rem}.variables>div{border-bottom:1px solid var(--line);padding:8px 0}.variables dt{color:var(--accent);overflow-wrap:anywhere;justify-content:space-between;gap:8px;font-family:Consolas,monospace;display:flex}.variables small{font:.75rem var(--ui-font-family);color:var(--muted)}.variables dd{overflow-wrap:anywhere;white-space:pre-wrap;margin:5px 0 0;font:.75rem/1.5 Consolas,monospace}.call-stack{margin:0;padding:0;font-size:.75rem;list-style:none}.call-stack li{overflow-wrap:anywhere;flex-direction:column;gap:4px;padding:7px 0;display:flex}.call-stack strong{font-weight:500}.call-stack span{color:var(--muted);font-size:.75rem}.breakpoint-row{align-items:center;gap:6px;font-size:.75rem;display:flex}.breakpoint-row>button:not(.icon-button){text-align:left;overflow-wrap:anywhere;min-width:0}.breakpoint-row .icon-button{margin-left:auto}.breakpoint-marker{background:var(--breakpoint);border-radius:50%;flex-shrink:0;width:7px;height:7px}.statusbar{background:var(--canvas);border-top:1px solid var(--line);padding-block:4px;min-height:40px;color:var(--muted);flex-wrap:wrap;flex:none;align-items:center;gap:8px 18px;padding:0 20px;font-size:.75rem;display:flex}.statusbar>span:first-child{align-items:center;gap:7px;display:flex}.statusbar button{border-radius:3px;gap:5px;padding:3px 5px;font-size:.75rem}.statusbar button.active{color:var(--accent);background:var(--accent-soft)}.status-dot{background:var(--success);border-radius:50%;width:5px;height:5px}.status-dot.error{background:var(--danger)}.statusbar-spacer{flex:1}.toast{z-index:40;background:var(--surface);border:1px solid var(--control-border);border-radius:8px;align-items:center;gap:20px;max-width:min(600px,90vw);padding:12px 14px;font-size:.8125rem;line-height:1.5;display:flex;position:fixed;bottom:48px;left:50%;transform:translate(-50%);box-shadow:0 8px 36px #00000024}dialog{border:1px solid var(--control-border);background:var(--surface);width:min(640px,100vw - 24px);max-height:90dvh;color:var(--text);border-radius:14px;padding:25px;overflow:auto;box-shadow:0 18px 90px #00000030}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0005}.dialog-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.dialog-header h2{letter-spacing:-.5px;font-size:1.25rem;font-weight:650}dialog p{font-size:.8125rem;line-height:1.7}.field-label{flex-direction:column;gap:9px;margin:14px 0;font-size:.8125rem;font-weight:500;display:flex}.field-label input,.field-label select{background:var(--canvas);border:1px solid var(--control-border);border-radius:6px;width:100%;padding:10px 12px;font-size:.875rem}.field-label small{color:var(--muted);font-size:.75rem;font-weight:400}.form-error{color:var(--danger);margin-top:12px}.dialog-actions{justify-content:flex-end;gap:9px;margin-top:25px;display:flex}.primary-button,.secondary-button,.danger-button{border-radius:6px;padding:10px 15px;font-size:.75rem;font-weight:600}.primary-button{background:var(--button-fill);color:var(--button-text)}.secondary-button{background:var(--canvas);border:1px solid var(--control-border)}.danger-button{color:#fff;background:#a52b40}.danger-button:hover:not(:disabled){background:#94303d}.danger-text{color:var(--danger)}.file-dialog-tools{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;margin-top:25px;padding-top:12px;display:flex}.setting-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding:17px 0;font-size:.8125rem;display:flex}.setting-row strong{font-weight:550}.setting-row small{color:var(--muted);margin-top:7px;font-size:.75rem;line-height:1.5;display:block}.setting-row input{width:18px;height:18px;accent-color:var(--accent)}.setting-row select{border:1px solid var(--control-border);background:var(--canvas);border-radius:5px;padding:7px;font-size:.75rem}.settings-note{color:var(--muted);background:var(--canvas);border-radius:6px;margin-top:20px;padding:13px 15px;line-height:1.7;font-size:.75rem!important}.help-intro{color:var(--muted);margin-top:-8px;margin-bottom:24px}.help-item{gap:14px;margin-top:22px;display:flex}.help-item>svg{color:var(--accent);margin-top:2px}.help-item h3{margin-bottom:5px;font-size:.8125rem;font-weight:600}.help-item p{color:var(--muted);font-size:.75rem;line-height:1.8}.help-item kbd,.help-item code{color:var(--text);background:var(--canvas);border:1px solid var(--control-border);border-radius:3px;padding:1px 4px;font:.75rem Consolas,monospace}dialog.guide-dialog{width:min(62rem,100vw - 24px);padding:0;overflow:hidden}dialog.guide-dialog[open]{flex-direction:column;display:flex}.guide-dialog .dialog-header{border-bottom:1px solid var(--control-border);flex-shrink:0;margin:0;padding:18px 24px}.help-body{flex-direction:column;min-height:0;display:flex}.help-content{overscroll-behavior:contain;min-height:0;padding:24px;overflow:auto}.help-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,23rem),1fr));gap:24px;display:grid}.help-list .help-item{min-width:0;margin:0}.help-item>svg{flex-shrink:0}.help-item p{overflow-wrap:anywhere}.help-footer{border-top:1px solid var(--control-border);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;display:flex}.help-footer small{color:var(--muted);font-size:.75rem;line-height:1.5}@media (width>=1600px){.workspace{grid-template-columns:245px minmax(0,1fr)}.workspace.with-debugger{grid-template-columns:245px minmax(0,1fr) 300px}}@media (width<=1050px){.header-message{display:none}.workspace,.workspace.with-debugger{grid-template-columns:185px minmax(0,1fr)}.workspace.with-debugger{grid-template-columns:170px minmax(0,1fr) 230px}.workspace.hide-sidebar.with-debugger{grid-template-columns:minmax(0,1fr) 230px}.save-indicator{font-size:.75rem}.run-toolbar{padding:0 12px}.with-debugger .file-breadcrumb{display:none}.with-debugger .run-actions{justify-content:flex-end;width:100%}.run-button kbd{display:none}.entry-label{margin-right:0}.local-note{font-size:.75rem}.local-note small{margin-left:0;font-size:.75rem}}@media (width<=760px){.app-header{flex-basis:auto;padding:0 16px}.brand{gap:9px;font-size:1.125rem}.brand-icon{border-radius:10px;width:34px;height:34px}.header-actions{gap:4px}.header-actions .text-button span{display:none}.project-toolbar{flex-basis:auto;gap:5px;padding:0 13px 0 10px}.project-name{width:190px;max-width:45vw;font-size:.8125rem}.save-indicator{display:none}.download-current{font-size:.75rem}.workspace,.workspace.with-debugger{grid-template-columns:150px minmax(0,1fr)}.workspace.hide-sidebar{grid-template-columns:minmax(0,1fr)}.workspace.with-debugger .file-sidebar{display:none}.workspace.with-debugger,.workspace.hide-sidebar.with-debugger{grid-template-columns:minmax(0,1fr) 210px}.file-sidebar{padding:8px}.file-select{gap:5px;padding:9px 6px;font-size:.75rem}.file-options{width:var(--target-size)}.sidebar-tip,.local-note{display:none}.run-toolbar{flex-shrink:0;gap:4px;height:auto;min-height:56px}.file-breadcrumb{display:none}.run-actions{justify-content:flex-end;gap:5px;width:100%}.entry-label{margin-right:auto}.entry-label>span{display:none}.entry-label select{max-width:100px;font-size:.75rem}.run-button,.stop-button{min-width:85px;padding:9px;font-size:.75rem}.debug-button{padding:8px;font-size:.75rem}.console-panel{max-height:48dvh}.console-heading{gap:10px;padding:0 12px}.console-output{padding:12px}.console-input{margin:0 10px 10px}.console-placeholder p{max-width:250px}.console-input input{font-size:var(--console-font-size)}.statusbar{gap:11px;padding:0 12px;font-size:.75rem}.runtime-mode,.encoding{display:none}.debug-panel{padding:8px}}@media (width<=500px){.workspace .file-sidebar{display:none}.workspace,.workspace.with-debugger,.workspace.hide-sidebar.with-debugger{grid-template-columns:minmax(0,1fr)}.workspace:not(.hide-sidebar) .file-sidebar{z-index:10;width:190px;display:flex;position:absolute;top:0;bottom:0;left:0;box-shadow:6px 0 20px #00000017}.workspace.with-debugger .debug-panel{z-index:11;width:min(255px,80vw);position:absolute;top:0;bottom:0;right:0;box-shadow:-6px 0 20px #00000017}.download-current{padding:7px 5px;font-size:.75rem}.project-actions{gap:3px}.project-name{max-width:42vw}.run-toolbar{padding:0 10px}.file-dialog-tools{flex-wrap:wrap}.console-placeholder p{font-size:.75rem}}@media (height<=650px){.app-header,.project-toolbar,.run-toolbar{flex-basis:auto}.console-panel{max-height:43dvh}.sidebar-tip{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root[data-theme=dark]{--surface:#262628;--canvas:#1d1d1f;--line:#505054;--text:#ededee;--muted:#bebec3;--accent:#e0e0e4;--accent-soft:#39393d;--control-border:#909096;--button-fill:#45454c;--button-hover:#323238;--button-text:#fff;--danger:#ff9eae;--success:#a0d5bc;--warning:#f3d18a;--focus:#f1f1f4;--breakpoint:#ff9eae}:root[data-contrast=high]{--surface:#fff;--canvas:#f5f5f5;--line:#555;--text:#000;--muted:#202020;--accent:#242428;--accent-soft:#e7e7e9;--control-border:#222;--button-fill:#242428;--button-hover:#111114;--danger:#970019;--success:#004b29;--warning:#704400;--focus:#303036;--breakpoint:#970019;--run-fill:#12582e;--run-hover:#0b4020;--debug-fill:#603386;--debug-hover:#4c246e}:root[data-theme=dark][data-contrast=high]{--surface:#0a0a0a;--canvas:#000;--line:#aaa;--text:#fff;--muted:#e6e6e6;--accent:#f1f1f4;--accent-soft:#252529;--control-border:#fff;--button-fill:#39393f;--button-hover:#252529;--danger:#ffadbc;--success:#acf3c8;--warning:#ffe49a;--focus:#fff;--breakpoint:#ffadbc}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root[data-theme=dark] .monaco-editor .debug-current-line{background:#f4c35b16}.skip-links{z-index:100;background:var(--surface);border:2px solid var(--focus);border-radius:6px;padding:10px;position:fixed;top:8px;left:8px;transform:translateY(calc(-100% - 16px))}.skip-links:focus-within{transform:none}.skip-links a{color:var(--accent);padding:8px;display:block}.settings-group{border:0;min-width:0;margin:24px 0 0;padding:0}.settings-group legend{padding:0;font-size:1rem;font-weight:700}.settings-intro,.settings-save-state{color:var(--muted);font-size:.875rem;line-height:1.7}.settings-save-state{margin-top:18px}.syntax-settings{border:1px solid var(--control-border);border-radius:6px;margin-top:14px;padding:10px}.syntax-settings summary{cursor:pointer;font-size:.875rem;font-weight:650}.syntax-color-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,175px),1fr));gap:8px 14px;margin-block:12px;display:grid}.syntax-color{justify-content:space-between;align-items:center;gap:8px;font-size:.8125rem;display:flex}.syntax-color input{border:1px solid var(--control-border);background:var(--surface);cursor:pointer;width:48px;height:32px;padding:2px}.syntax-preview{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--control-border);border-radius:5px;margin-block:12px;padding:12px;font:14px/1.7 monospace}.syntax-contrast-note{color:var(--warning);margin-bottom:12px;font-size:.8125rem;line-height:1.6}dialog{max-width:calc(100vw - 24px);padding:clamp(12px,3vw,25px)}.dialog-header{align-items:flex-start}.dialog-header h2{overflow-wrap:anywhere;min-width:0}.settings-group legend{overflow-wrap:anywhere;max-width:100%}.setting-row>span{flex:230px;min-width:0}.setting-row select{max-width:100%}.setting-row input[type=checkbox]{flex-shrink:0}.dialog-actions{flex-wrap:wrap}button,summary,select{min-height:var(--target-size);min-width:var(--target-size)}button.icon-button{min-width:var(--target-size)}.app-header{padding-block:10px}.app-header,.project-toolbar,.run-toolbar,.console-heading,.statusbar{height:auto}.brand,.project-actions,.entry-label{min-width:0}.brand{white-space:normal}.project-name{min-width:80px}.entry-label select{max-width:min(12rem,40vw)}.console-input button{min-width:var(--target-size)}.console-heading .runtime-state{overflow-wrap:anywhere}.console-output pre,.console-input input{font-size:var(--console-font-size)}.console-input input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.console-output:focus-visible,.console-resizer:focus-visible{outline-offset:-3px}.debug-panel .debug-controls,.breakpoint-row{flex-wrap:wrap}.runtime-error{flex-shrink:0;max-height:none}.file-sidebar,.debug-panel{overflow-y:auto}.toast{max-height:min(18rem,60dvh);overflow:auto}:root[data-controls=large]{--target-size:44px}@media (pointer:coarse){:root{--target-size:44px}}@media (width<=760px){.run-toolbar{padding-block:8px}.statusbar{padding-block:4px}.tab-mode-button{white-space:normal;max-width:100%}}@media (width<=500px){.app-header{gap:8px}.brand{flex:160px}.project-name{flex:110px;width:auto;max-width:none}.project-actions{flex-wrap:wrap;flex:0 auto}.download-current{white-space:normal}.console-panel{min-height:220px}.debug-panel{width:min(300px,90vw)!important}}:root[data-motion=reduce] *,:root[data-motion=reduce] :before,:root[data-motion=reduce] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}@media (forced-colors:active){:root{--surface:Canvas;--canvas:Canvas;--text:CanvasText;--muted:CanvasText;--accent:LinkText;--accent-soft:Canvas;--line:CanvasText;--control-border:ButtonText;--button-fill:ButtonFace;--button-hover:ButtonFace;--button-text:ButtonText;--run-fill:ButtonFace;--run-hover:ButtonFace;--debug-fill:ButtonFace;--debug-hover:ButtonFace;--focus:Highlight;--danger:CanvasText;--success:CanvasText;--warning:CanvasText;--breakpoint:LinkText}:focus-visible{outline:3px solid highlight!important}.file-row.active{outline-offset:-2px;outline:2px solid highlight}.monaco-editor .breakpoint-dot{forced-color-adjust:none;background:linktext}.monaco-editor .debug-current-line{outline-offset:-2px;outline:2px solid highlight}button,select,summary,.debug-button{border:1px solid buttontext}}[hidden]{display:none!important}.compact-workspace{min-height:max(540px,34rem)}.workspace-toolbar{background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;min-height:48px;padding:6px 12px;display:flex}.workspace-toolbar .brand{white-space:nowrap;gap:7px;margin-right:6px;font-size:1rem}.workspace-toolbar .brand-icon{border-radius:7px;width:28px;height:28px}.workspace-toolbar .brand-logo{object-fit:contain;width:140px;height:28px;display:block}@media (width<=1200px){.workspace-toolbar .brand-logo{width:115px;height:23px}}.workspace-toolbar .sidebar-toggle{margin:0}.workspace-toolbar .save-indicator{flex-shrink:0;justify-content:center;width:18px}.save-indicator[data-state=pending] svg{color:var(--muted)}.save-indicator[data-state=warning] svg{color:var(--danger)}.dialog-busy{color:var(--muted);margin-left:auto;font-size:.8125rem}.workspace-toolbar .project-menu summary{min-height:var(--target-size);min-width:var(--target-size);justify-content:center;align-items:center}.workspace-toolbar .dropdown{overscroll-behavior:contain;max-width:calc(100vw - 24px);max-height:70dvh;top:calc(100% + 6px);left:auto;right:0;overflow-y:auto}.workspace-view-controls{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.workspace-toolbar .run-actions{gap:5px;margin-left:5px}.workspace-toolbar .header-actions{gap:3px;margin:0}.workspace-toolbar .run-button,.workspace-toolbar .stop-button{min-width:94px;padding:7px 10px}.workspace-toolbar .debug-button{padding:6px 9px}.workspace-toolbar .entry-label{margin:0}.workspace-toolbar .entry-label select{max-width:115px}.view-switch{border:1px solid var(--control-border);border-radius:5px;align-items:stretch;display:inline-flex;overflow:clip}.view-switch button{border-right:1px solid var(--line);padding:4px 8px;font-size:.75rem}.view-switch button:last-child{border-right:0}.view-switch button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);font-weight:650}.view-switch button:focus-visible{outline-offset:-3px}.save-conflict{background:var(--surface);border-bottom:2px solid var(--warning);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;font-size:.8125rem;display:flex}.save-conflict p{max-width:65em;line-height:1.6}.save-conflict>div{flex-wrap:wrap;gap:8px;display:flex}.recovery-create{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:16px;display:flex}.recovery-create label{flex-direction:column;flex:200px;gap:6px;font-size:.8125rem;display:flex}.recovery-create input{color:var(--text);background:var(--surface);border:1px solid var(--control-border);border-radius:5px;width:100%;padding:8px}.recovery-list{border-block:1px solid var(--line);max-height:260px;margin:10px 0;overflow:auto}.recovery-row>button{text-align:left;border-bottom:1px solid var(--line);overflow-wrap:anywhere;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:10px 5px;font-size:.8125rem}.recovery-row>button[aria-pressed=true]{background:var(--accent-soft)}.recovery-row time,.recovery-row span{color:var(--muted);font-size:.75rem}.recovery-message{min-height:1.5em;color:var(--success);margin-top:8px;font-size:.8125rem}.recovery-preview h3{font-size:.875rem}.recovery-preview ul{max-height:130px;font-size:.8125rem;line-height:1.8;overflow:auto}.recovery-preview li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:5px;padding-block:3px;display:flex}.recovery-preview li>span{overflow-wrap:anywhere;flex:1;min-width:100px}.problem-help{border:1px solid var(--control-border);background:var(--canvas);border-radius:5px;margin-top:8px;padding:7px 9px;font-size:.8125rem;line-height:1.65}.problem-help summary{cursor:pointer;font-weight:650}.problem-help p{margin-top:7px}.problem-help button{margin-top:5px;padding:4px;font-size:.8125rem}.compiled-source-note{background:var(--accent-soft);color:var(--text);flex-shrink:0;padding:5px 10px;font-size:.75rem;line-height:1.5}.run-settings-body textarea{resize:vertical;width:100%;min-width:0;color:var(--text);background:var(--surface);border:1px solid var(--control-border);border-radius:5px;padding:8px;font:.875rem/1.7 Cascadia Code,Consolas,monospace}.prepared-input-note{color:var(--muted);font-size:.6875rem}.panel-failure{background:var(--surface);width:100%;height:100%;min-height:130px;padding:18px;line-height:1.7;overflow:auto}.panel-failure h2{font-size:1rem}.panel-failure p{max-width:55em;margin-top:10px;font-size:.875rem}.panel-failure>div{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.panel-failure button{font-size:.8125rem}.offline-status{margin-block:14px;font-size:.875rem;line-height:1.7}.offline-body progress{width:100%;accent-color:var(--accent)}.compact-workspace .workspace{min-height:0;display:flex}.compact-workspace .file-sidebar{flex:0 0 var(--sidebar-width);width:var(--sidebar-width);border-right:0;min-width:0;padding:6px}.compact-workspace .panel-heading{min-height:32px;padding:0 5px}.compact-workspace .panel-heading .collapse-files{margin-left:auto}.file-count{color:var(--muted);font-size:.75rem;font-weight:400}.compact-workspace .file-list{flex:1;margin-top:4px}.folder-tree,.tree-children{margin:0;padding:0;list-style:none}.tree-row{margin-inline-start:calc(var(--tree-depth) * 8px)}.folder-row{align-items:center;min-height:32px;margin-block:2px;display:flex}.folder-toggle{text-align:left;flex:1;justify-content:flex-start;gap:4px;min-width:0;padding:6px 2px;font-size:.8125rem;display:flex}.folder-toggle span{overflow-wrap:anywhere;min-width:0}.folder-toggle svg,.folder-tree .file-select svg{flex-shrink:0}.folder-toggle:hover{background:var(--accent-soft);border-radius:5px}.file-tree-tools{justify-content:space-between;align-items:center;gap:4px;display:flex}.file-tree-tools .text-button{padding:2px 5px;font-size:.75rem}.console-output pre{font-variant-ligatures:var(--console-font-ligatures,none)}.inline-input{font-variant-ligatures:inherit;font-feature-settings:inherit}.compact-workspace .file-row{min-height:32px}.compact-workspace .file-select{gap:6px;padding:6px}.compact-workspace .file-options{width:var(--target-size)}.file-sidebar-actions{padding-block:4px;display:flex}.file-sidebar-actions .text-button{justify-content:flex-start}.compact-workspace .local-note{padding:10px 5px 5px}.compact-workspace .local-note small{margin:2px 0 0}.workspace-content{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.code-panel{background:var(--surface);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.code-console-layout{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.code-console-layout[data-console-position=right]{flex-direction:row}.code-console-layout[data-console-position=right] .console-panel{min-width:0;min-height:0;max-height:none}.code-console-layout .editor-area{min-width:0}.code-surface{position:absolute;inset:0}.compact-workspace .editor-area{min-height:110px}.resize-handle{background:var(--canvas);touch-action:none;-webkit-user-select:none;user-select:none;flex-shrink:0;position:relative}.resize-vertical{cursor:ew-resize;border-inline:1px solid var(--line);flex-basis:7px;width:7px}.resize-horizontal{cursor:ns-resize;border-block:1px solid var(--line);flex-basis:7px;height:7px}.resize-handle:hover,.resize-handle:focus-visible{background:var(--accent-soft);outline:2px solid var(--focus);outline-offset:-2px;z-index:2}.resize-handle>span{background:var(--control-border);border-radius:3px;display:block;position:absolute}.resize-vertical>span{width:2px;height:24px;top:calc(50% - 12px);left:2px}.resize-horizontal>span{width:28px;height:2px;top:2px;left:calc(50% - 14px)}.compact-workspace .console-panel{min-height:100px;max-height:calc(100% - 117px)}.compact-workspace .console-heading{flex-wrap:wrap;gap:9px;min-height:32px;padding:1px 10px}.compact-workspace .console-heading h2{gap:6px;font-size:.75rem}.compact-workspace .console-heading .icon-button{height:var(--target-size)}.compact-workspace .console-heading>button{margin-left:0}.compact-workspace .console-heading .clear-console{margin-left:auto}.console-command{padding:2px 5px;font-size:.75rem}.compact-workspace .console-output{padding:8px 14px}.compact-workspace .console-placeholder{color:var(--muted);margin:2px 0;font-size:.8125rem;display:block}.console-form{margin:0}.inline-input{font:inherit;color:var(--accent);caret-color:var(--text);min-width:2ch;max-width:100%;line-height:inherit;vertical-align:baseline;background:0 0;border:0;border-radius:0;outline:none;padding:0}.inline-input::placeholder{color:var(--text)}.inline-input{font-synthesis:style;font-style:italic}.inline-input::placeholder{opacity:.82}:root[data-contrast=high] .inline-input::placeholder{opacity:1}.console-copy-message{color:var(--muted);padding:5px 12px;font-size:.75rem}.problem-message{overflow-wrap:anywhere;font-family:Cascadia Code,Consolas,monospace}@media (forced-colors:active){.inline-input::placeholder{opacity:1}}.inline-input:focus-visible{outline:1px dashed var(--focus);outline-offset:2px}.compact-workspace .run-result{margin-top:5px}.compact-workspace .debug-panel{flex:0 0 265px;width:265px;padding:6px}.compact-workspace .debug-controls{padding:8px 6px 3px}.compact-workspace .debug-section{margin-top:10px;padding-top:10px}.compact-workspace .statusbar{gap:6px 14px;min-height:30px;padding:0 12px}.active-file-status{color:var(--muted);overflow-wrap:anywhere}.binary-preview{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:15px;height:100%;padding:24px;display:flex}.binary-preview h2{overflow-wrap:anywhere;font-size:1rem}.binary-preview p{color:var(--muted);font-size:.875rem}.pdf-pane{flex-direction:column;flex-shrink:0;min-width:0;min-height:0;display:flex}.workspace-content[data-view=pdf] .pdf-pane{flex:1}.workspace-content[data-view=split][data-stacked=true]{flex-direction:column;overflow-y:auto}.workspace-content[data-view=split][data-stacked=true] .code-panel{flex-shrink:0;min-height:300px}.workspace-content[data-view=split][data-stacked=true] .pdf-pane{min-height:240px}.pdf-panel{background:var(--canvas);flex-direction:column;height:100%;min-height:0;display:flex}.pdf-toolbar{border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap;align-items:center;gap:2px;padding:3px 6px;display:flex}.pdf-filename{overflow-wrap:anywhere;flex:130px;align-items:center;gap:5px;min-width:0;font-size:.75rem;display:flex}.pdf-fit,.pdf-text-toggle,.pdf-layout-toggle{padding:3px 5px;font-size:.75rem}.pdf-text-toggle[aria-pressed=true],.pdf-layout-toggle[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.pdf-scroll{overflow-anchor:none;flex:1;min-height:0;padding:12px;position:relative;overflow:auto}.pdf-virtual-pages{margin-inline:auto;position:relative}.pdf-page-row{gap:var(--pdf-gap,12px);display:grid;position:absolute;left:0}.pdf-scroll[data-hand=true],.pdf-scroll[data-hand=true] .textLayer{cursor:grab;-webkit-user-select:none;user-select:none}.pdf-scroll[data-dragging=true],.pdf-scroll[data-dragging=true] .textLayer{cursor:grabbing}.pdf-hand-toggle[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.pdf-cell{min-width:0}.pdf-paper-space{justify-content:center;align-items:center;min-width:0;display:flex;position:relative}.pdf-page-caption{height:var(--pdf-caption,24px);color:var(--muted);justify-content:center;align-items:center;font-size:.75rem;display:flex}.pdf-page-caption[aria-current=page]{color:var(--text);font-weight:700}.pdf-page{background:#fff;margin-inline:auto;position:relative;box-shadow:0 1px 8px #0002}.pdf-page canvas{display:block}.pdf-page-loading{background:var(--surface);padding:4px 8px;position:absolute;top:8px}.pdf-loading{color:var(--muted);padding-block:4px;font-size:.75rem}.pdf-readable-text{background:var(--surface);color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;width:100%;height:100%;padding:16px;font-size:1rem;line-height:1.8;overflow:auto}@media (width<=1200px){.workspace-toolbar .brand>span:last-child{display:none}.compact-workspace .debug-panel{flex-basis:230px;width:230px}}@media (width<=760px){.workspace-toolbar{gap:4px;padding:5px 7px}.workspace-view-controls{margin-left:auto}.workspace-toolbar .toolbar-right{flex-basis:100%}.compact-workspace .file-sidebar{display:flex}.compact-workspace .debug-panel{z-index:11;width:min(265px,80vw);position:absolute;top:0;bottom:0;right:0;box-shadow:-4px 0 15px #0002}.active-file-status{display:none}}@media (width<=500px){.compact-workspace .file-sidebar{width:min(var(--sidebar-width), 80vw);z-index:12;position:absolute;inset:0 auto 0 0}.compact-workspace .file-sidebar+.resize-vertical{left:min(var(--sidebar-width), 80vw);z-index:13;position:absolute;top:0;bottom:0}.workspace-toolbar .dropdown{width:auto;position:fixed;top:60px;left:12px;right:12px}.compact-workspace .statusbar{gap:4px 8px}}.workspace-toolbar .run-actions{flex:0 auto;justify-content:flex-start;width:auto;margin:0}.toolbar-divider{background:var(--control-border);flex-shrink:0;width:1px;height:24px;margin-inline:5px}.toolbar-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;min-width:0;margin-left:auto;display:flex}.toolbar-right .workspace-view-controls{margin:0}.file-project-heading{border-bottom:1px solid var(--line);margin-bottom:4px;padding:4px 3px 8px}.file-project-heading .project-name{width:100%;min-width:0;max-width:100%;padding:6px 4px;font-size:.875rem}.sidebar-upload{flex-shrink:0;justify-content:flex-start;padding:7px;font-size:.8125rem}.import-conflicts{background:var(--canvas);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:5px;max-height:25dvh;margin-block:10px;padding:8px 8px 8px 28px;overflow:auto}.pdf-title-group{flex:140px;align-items:center;gap:2px;min-width:0;display:flex}.pdf-title-group>button,.pdf-filename svg{flex-shrink:0}.pdf-filename>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pdf-stage{flex:1;min-width:0;min-height:0;display:flex;position:relative}.pdf-page-overlay{z-index:3;background:color-mix(in srgb, var(--surface) 88%, transparent);color:var(--text);border:1px solid var(--control-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:7px;align-items:center;gap:2px;padding:2px;display:flex;position:absolute;top:8px;right:24px;box-shadow:0 2px 8px #0002}.pdf-page-count{font-variant-numeric:tabular-nums;white-space:nowrap;padding-inline:4px;font-size:.8125rem}.pdf-empty{background:var(--canvas);flex:1;min-width:0;min-height:200px;display:flex;position:relative;overflow:auto}.pdf-empty[data-dragging=true]{background:var(--accent-soft);outline:2px dashed var(--focus);outline-offset:-5px}.pdf-empty-close{position:absolute;top:6px;left:6px}.pdf-empty-content{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:27rem;margin:auto;padding:45px 20px;display:flex}.pdf-empty-content>svg{color:var(--muted)}.pdf-empty-content p,.pdf-empty-content small{color:var(--muted);font-size:.8125rem;line-height:1.6}.pdf-empty-content small{font-size:.75rem}:root[data-contrast=high] .pdf-page-overlay{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}@media (forced-colors:active){.pdf-page-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:canvas;border-color:canvastext}}.learning-toggle{border-radius:5px;padding:4px 7px;font-size:.75rem}.learning-toggle[aria-pressed=true]{color:var(--accent);background:var(--accent-soft)}.learning-pane{background:var(--canvas);flex-shrink:0;min-width:0;min-height:0;display:flex}.learning-panel{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow-y:auto}.learning-heading{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:3px 10px;display:flex}.learning-heading h2{align-items:center;gap:6px;font-size:.8125rem;display:flex}.learning-tabs{background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;padding:0 7px;display:flex}.learning-tabs button{min-height:var(--target-size);border-bottom:2px solid #0000;padding:8px;font-size:.8125rem}.learning-tabs button[aria-pressed=true]{border-bottom-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.learning-tabs button>span{font-size:.75rem}.learning-tools{background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:5px;padding:5px 9px;display:flex}.learning-tools label{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;font-size:.75rem;display:flex}.learning-tools select{background:var(--surface);min-width:0;max-width:100%;color:var(--text);border:1px solid var(--control-border);border-radius:4px;padding:4px}.learning-tools button{min-height:var(--target-size);font-size:.75rem}.learning-tools .text-button{padding:4px 6px}.learning-zoom{font-size:.75rem}.learning-hint,.learning-footnote{color:var(--muted);flex-shrink:0;padding:7px 10px;font-size:.75rem;line-height:1.6}.learning-warning,.learning-error{border-inline-start:3px solid var(--warning);background:var(--surface);overflow-wrap:anywhere;flex-shrink:0;margin:6px 9px;padding:7px 10px;font-size:.8125rem;line-height:1.5}.learning-error{color:var(--danger);border-color:var(--danger);white-space:pre-wrap;max-height:180px;overflow:auto}.learning-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;margin:auto;padding:28px;display:flex}.learning-empty strong{font-size:.9375rem}.learning-empty p{color:var(--muted);max-width:32em;font-size:.8125rem;line-height:1.7}.learning-auto-note{color:var(--muted);flex-shrink:0;padding:4px 10px;font-size:.75rem}.flow-viewport{flex:200px;min-width:0;min-height:180px;display:flex;position:relative}.flow-stale-overlay{pointer-events:none;z-index:2;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.flow-stale-overlay p{border:2px solid var(--warning);background:var(--surface);max-width:32em;color:var(--text);overflow-wrap:anywhere;border-radius:6px;padding:14px 18px;font-size:.875rem;line-height:1.6;box-shadow:0 3px 12px #0002}.flow-scroll,.trace-scroll{flex:200px;min-width:0;min-height:180px;position:relative;overflow:auto}.flow-diagram{background:var(--canvas);margin:auto;font-family:Cascadia Code,Consolas,monospace;font-size:14px;display:block;overflow:visible}.flow-node{cursor:pointer}.flow-node rect,.flow-node polygon{fill:var(--surface);stroke:var(--control-border);stroke-width:1.5px}.flow-node text{fill:var(--text);pointer-events:none;white-space:pre}.flow-node.flow-decision polygon{fill:var(--accent-soft);stroke:var(--accent)}.flow-node.flow-summary rect{stroke-dasharray:5 3;fill:var(--accent-soft)}.flow-node.flow-start rect,.flow-node.flow-end rect{fill:var(--accent-soft)}.flow-node .flow-line-number{fill:var(--text);font-size:14px;font-weight:700}.flow-node:hover rect,.flow-node:hover polygon{stroke-width:3px}.flow-node:focus{outline:none}.flow-node:focus-visible rect,.flow-node:focus-visible polygon{stroke:var(--focus);stroke-width:4px;stroke-dasharray:6 3}.flow-node.is-current rect,.flow-node.is-current polygon{stroke:var(--warning);stroke-width:4px}.flow-node.is-current text{font-weight:700}.flow-edge{stroke:var(--muted);fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.flow-edge-back{stroke-dasharray:6 4}.flow-arrow{fill:var(--muted)}.flow-edge-label{fill:var(--text);stroke:var(--canvas);stroke-width:6px;paint-order:stroke;font-size:14px;font-family:var(--ui-font-family)}.flow-outline{margin:12px 12px 18px 30px;font-size:.875rem;line-height:1.6}.flow-outline>li{margin-bottom:15px}.flow-outline button{text-align:left;color:var(--accent);overflow-wrap:anywhere;white-space:pre-wrap;justify-content:flex-start;padding:3px}.flow-outline ul{color:var(--muted);padding-left:18px;font-size:.8125rem}.flow-outline [aria-current=step]{outline:2px solid var(--warning)}.trace-table{border-collapse:collapse;background:var(--surface);min-width:100%;font-size:.8125rem}.trace-table caption{text-align:left;color:var(--muted);padding:8px 10px;font-size:.75rem}.trace-table th,.trace-table td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:7px 10px}.trace-table thead th{background:var(--surface);z-index:1;position:sticky;top:0}.trace-table code{white-space:pre-wrap;overflow-wrap:anywhere;min-width:2em;max-width:20em;display:block}.trace-table button{color:var(--accent);padding:0 4px;text-decoration:underline}.trace-table td.trace-changed{background:var(--accent-soft);box-shadow:inset 3px 0 var(--accent);font-weight:650}.workspace-content[data-view=split][data-stacked=true] .learning-pane{min-height:360px}.objects-view{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.object-history{border-block:1px solid var(--line);padding:8px 12px;font-size:.8125rem;line-height:1.7}.object-history label{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.object-history input{min-width:120px;accent-color:var(--accent);flex:1}.object-history button{padding:3px 5px;font-size:.8125rem}.object-history button[aria-pressed=true]{background:var(--accent-soft)}.objects-scroll{flex:1;min-height:120px;padding:12px;overflow:auto}.object-roots{border-collapse:collapse;background:var(--surface);width:100%;margin-bottom:16px;font-size:.8125rem}.object-roots caption{text-align:left;padding-bottom:8px;font-size:.875rem;font-weight:650}.object-roots th,.object-roots td{border:1px solid var(--line);text-align:left;overflow-wrap:anywhere;padding:7px}.object-roots small{color:var(--muted);margin-top:4px;font-size:.6875rem;display:block}.object-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));align-items:start;gap:12px;display:grid}.object-card{background:var(--surface);border:1px solid var(--control-border);border-radius:6px;min-width:0;overflow:hidden}.object-card:focus{outline:3px solid var(--focus);outline-offset:1px}.object-card h3{background:var(--accent-soft);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px;font-size:.875rem;display:flex}.object-card h3 span{color:var(--muted);font-size:.75rem;font-weight:400}.object-card table{border-collapse:collapse;width:100%;font-size:.8125rem}.object-card th,.object-card td{text-align:left;border-top:1px solid var(--line);overflow-wrap:anywhere;vertical-align:top;padding:7px}.object-card code,.object-roots code{white-space:pre-wrap;overflow-wrap:anywhere}.object-card p{padding:10px;font-size:.8125rem;line-height:1.7}.object-reference{color:var(--accent);background:var(--accent-soft);border:1px solid var(--control-border);text-align:left;overflow-wrap:anywhere;border-radius:4px;max-width:100%;padding:4px 6px;font-size:.75rem}.object-limits{border-top:1px solid var(--line);flex-shrink:0;font-size:.75rem;line-height:1.7}.object-limits summary{padding:7px 12px}@media (forced-colors:active){.flow-node rect,.flow-node polygon{fill:canvas;stroke:canvastext}.flow-node text,.flow-edge-label{fill:canvastext}.flow-node.is-current rect,.flow-node.is-current polygon{stroke:highlight}.flow-edge{stroke:canvastext}.flow-arrow{fill:canvastext}}.classroom-pane{background:var(--canvas);flex-shrink:0;min-width:0;min-height:0;display:flex}.classroom-panel{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.classroom-scroll{flex:1;min-height:0;padding:10px 12px 18px;overflow:auto}.classroom-note{color:var(--muted);margin-bottom:12px;font-size:.8125rem;line-height:1.65}.classroom-actions{flex-wrap:wrap;gap:7px;margin-bottom:12px;display:flex}.classroom-actions button{min-height:var(--target-size);font-size:.8125rem}.assignment-title{margin:16px 0 10px;font-size:1.125rem}.assignment-directions{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface);border:1px solid var(--line);border-radius:6px;margin-bottom:18px;padding:14px;font-size:.9375rem;line-height:1.8}.lesson-editor fieldset{border:1px solid var(--control-border);border-radius:6px;min-width:0;margin:0 0 16px;padding:12px}.lesson-editor legend{padding:0 6px;font-size:.875rem;font-weight:650}.lesson-editor label{flex-direction:column;gap:5px;min-width:0;margin-bottom:12px;font-size:.8125rem;display:flex}.lesson-editor input,.lesson-editor textarea,.lesson-editor select{color:var(--text);background:var(--surface);border:1px solid var(--control-border);border-radius:4px;width:100%;min-width:0;padding:7px}.lesson-editor textarea{resize:vertical;font-family:Cascadia Code,Consolas,monospace;font-size:.875rem;line-height:1.6}.lesson-editor textarea[aria-label=Assignment\ instructions]{font-family:inherit}.check-editor{border-block-start:1px solid var(--line);margin-bottom:12px;padding-top:12px}.check-editor-heading{align-items:center;gap:7px;display:flex}.check-editor-heading label{flex:1}.check-options{flex-wrap:wrap;gap:10px;display:flex}.check-options label{flex:140px}.check-columns{flex-wrap:wrap;gap:10px;min-width:0;display:flex}.check-columns>div,.check-columns>label{flex:180px;min-width:0}.check-summary{color:var(--text);min-height:1.6em;font-size:.8125rem;line-height:1.6}.whitespace-option{align-items:center;gap:7px;margin:12px 0;font-size:.75rem;display:flex}.practice-check{background:var(--surface);border:1px solid var(--control-border);border-radius:6px;margin-bottom:14px;padding:12px}.practice-check>h3{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;font-size:.875rem;display:flex}.practice-check>h3 span{color:var(--muted);margin-left:auto;font-size:.75rem;font-weight:400}.practice-check h4{margin:8px 0 5px;font-size:.75rem;font-weight:650}.practice-check pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--canvas);border:1px solid var(--line);max-height:220px;margin:0;padding:8px;font:.8125rem/1.7 Cascadia Code,Consolas,monospace;overflow-y:auto}.practice-check details{margin-bottom:8px}.practice-check summary{cursor:pointer;padding:4px 0;font-size:.8125rem}.check-passed{border-inline-start:4px solid var(--success)}.check-failed,.check-error,.check-timeout{border-inline-start:4px solid var(--danger)}.check-difference{color:var(--danger);margin:8px 0;font-size:.8125rem}.check-stderr{margin-top:8px}.check-stderr pre{color:var(--danger)}.example-list{gap:12px;display:grid}.example-list article{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:14px}.example-list article>span{color:var(--accent);font-size:.75rem}.example-list h3{margin:4px 0 8px;font-size:.9375rem}.example-list p{color:var(--muted);margin-bottom:12px;font-size:.8125rem;line-height:1.7}.example-list button{font-size:.8125rem}.workspace-content[data-view=split][data-stacked=true] .classroom-pane{min-height:420px}.drawing-pane{background:var(--canvas);flex-shrink:0;min-width:0;min-height:0;display:flex}.drawing-panel{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow-y:auto}.drawing-canvas-host{background:#fff;flex:250px;min-width:0;min-height:200px;position:relative}.drawing-canvas-host canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.drawing-placeholder{text-align:center;color:var(--muted);font-size:.875rem;line-height:1.8;position:absolute;inset:30% 20px auto}.drawing-replay{background:var(--surface);border-top:1px solid var(--line);flex-shrink:0;padding:6px 10px}.drawing-replay>div{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.drawing-replay span,.drawing-replay>p{font-size:.75rem;line-height:1.6}.drawing-replay label{align-items:center;gap:8px;margin:5px 0;font-size:.75rem;display:flex}.drawing-replay input{min-width:0;accent-color:var(--accent);flex:1}.drawing-replay .text-button{padding:3px 5px;font-size:.75rem}.drawing-replay button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.drawing-text{flex:1;min-height:200px;padding:10px;overflow:auto}.drawing-text .trace-table td{overflow-wrap:anywhere;max-width:30em}.drawing-text .classroom-actions{align-items:center;font-size:.8125rem}.workspace-content[data-view=split][data-stacked=true] .drawing-pane{min-height:460px}.code-editor-shell{flex-direction:column;min-height:0;display:flex;position:absolute;inset:0}.code-editor-shell>.code-editor{flex:1;height:auto;min-height:0;position:relative;inset:auto}.editor-notices{flex-shrink:0;max-height:42%;overflow:auto}.editor-infobar{border-top:1px solid var(--control-border);border-inline-start:3px solid var(--accent);color:var(--text);background:var(--surface);align-items:flex-start;gap:9px;padding:9px 10px;font-size:.8125rem;line-height:1.6;display:flex}.editor-infobar>svg{color:var(--accent);flex-shrink:0;margin-top:3px}.editor-infobar.infobar-warning{border-inline-start-color:var(--warning)}.editor-infobar.infobar-warning>svg{color:var(--warning)}.infobar-body{overflow-wrap:anywhere;flex:1;min-width:0}.infobar-body p{margin:3px 0}.infobar-actions{flex-wrap:wrap;gap:6px;display:flex}.infobar-actions .text-button{font-size:inherit;padding:3px 5px}.infobar-dismiss{flex-shrink:0}.ide-context-menu{z-index:1000;border:1px solid var(--control-border);background:var(--surface);min-width:230px;max-width:min(360px,100vw - 16px);max-height:calc(100dvh - 16px);color:var(--text);border-radius:7px;padding:5px;position:fixed;overflow:auto;box-shadow:0 6px 24px #0004}.ide-context-menu button{width:100%;min-height:var(--target-size);text-align:left;white-space:normal;border-radius:3px;justify-content:space-between;align-items:center;gap:20px;padding:7px 9px;font-size:.8125rem;display:flex}.ide-context-menu button:focus{background:var(--accent-soft);outline:2px solid var(--focus);outline-offset:-2px}.ide-context-menu kbd{color:var(--muted);flex-shrink:0;font-size:.6875rem}.ide-context-menu hr{border:0;border-top:1px solid var(--line);margin:4px}.ui-language{max-width:60px;min-height:var(--target-size);background:var(--surface);border:1px solid var(--control-border);color:var(--text);border-radius:4px;padding:4px;font-size:.75rem;font-weight:700}.ide-tooltip{z-index:1200;pointer-events:none;border:1px solid var(--control-border);background:var(--surface);width:max-content;max-width:min(340px,100vw - 16px);color:var(--text);overflow-wrap:anywhere;border-radius:5px;padding:7px 10px;font-size:.75rem;line-height:1.5;position:fixed;box-shadow:0 3px 10px #0003}@media (forced-colors:active){.editor-infobar,.ide-context-menu,.ide-tooltip{border-color:canvastext}.ide-context-menu button:focus{outline-color:highlight}}
