.portal-shell,.auth-page,.route-shell,.dashboard-theme-scope,.portal-loading,.pilot-page,.pilot-admin{--portal-canvas:#f5f7fb;--portal-surface:#fff;--portal-surface-soft:#f8fafc;--portal-text:#152139;--portal-muted:#5b677a;--portal-faint:#657084;--portal-line:#e2e7ef;--portal-accent:#2f62d8;--portal-accent-soft:#eaf0ff;--portal-success:#187a58;--portal-primary:#2f62d8;--portal-primary-hover:#2556c3;color:var(--portal-text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-dashboard-theme=dark] :is(.portal-shell,.auth-page,.route-shell,.dashboard-theme-scope,.portal-loading){--portal-canvas:#101722;--portal-surface:#17202d;--portal-surface-soft:#1d2838;--portal-text:#e8edf5;--portal-muted:#b1bed0;--portal-faint:#9aaac0;--portal-line:#344257;--portal-accent:#a4c1ff;--portal-accent-soft:#263b60;--portal-success:#87dfb6;--portal-primary:#3568da;--portal-primary-hover:#3b6dd9;--portal-input-line:#526278;--portal-line-hover:#6b7e9b;--portal-neutral-text:#bac5d5;--portal-neutral-soft:#293448;--portal-info-line:#536f9f;--portal-success-text:#87dfb6;--portal-success-soft:#173a30;--portal-success-line:#326850;--portal-warning-text:#f2c27d;--portal-warning-soft:#3c2d1d;--portal-warning-line:#846540;--portal-purple-text:#d0b4ff;--portal-purple-soft:#332746;--portal-danger-text:#ffafb5;--portal-danger-soft:#43252e;--portal-danger-line:#99545f;--portal-danger-hover:#54303b;--portal-info-gradient:linear-gradient(135deg, #20314c, #17202d);--portal-backdrop:#050b16b3;--portal-shadow-color:#0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-dashboard-theme=dark] :is(.portal-shell,.auth-page,.dashboard-theme-scope) :is(input,textarea)::placeholder{color:var(--portal-faint);opacity:1}[data-dashboard-theme=dark] :is(.portal-shell,.auth-page,.dashboard-theme-scope) :is(input,select,textarea){accent-color:var(--portal-primary)}:focus-visible{outline:2px solid var(--accent,Highlight);outline-offset:3px}[hidden]{display:none!important}button{min-width:24px;min-height:24px}.primary-button,.secondary-button{min-height:44px}.editor-surface{flex-direction:column;display:flex}.editor-surface>.monaco-host{flex:1;height:auto;min-height:0;position:relative}.explorer-file-item{align-items:center;min-width:0;display:flex}.explorer-file-item>.file-row{flex:1;min-width:0}.explorer-file-item>.tree-action{opacity:1;min-width:24px;min-height:24px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dialog{max-height:calc(100dvh - 32px);overflow:auto}.dialog-actions{flex-wrap:wrap}.accessibility-settings,.editor-preference-controls{gap:12px;min-width:0;display:grid}.accessibility-settings fieldset,.editor-preference-controls fieldset{border:1px solid var(--border,currentColor);min-width:0;padding:12px}.accessibility-settings .setting-row,.editor-preference-controls .setting-row{flex-wrap:wrap;gap:12px}.accessibility-settings select,.editor-preference-controls select{max-width:100%}.editor-preferences-settings>.accessibility-settings{border-top:2px solid var(--border,currentColor);margin-top:24px;padding-top:24px}.accessible-resizer{position:relative;overflow:visible}.accessible-resizer>[role=separator]{width:100%;min-width:5px;height:100%;min-height:5px;cursor:inherit}.resize-options{z-index:12;border:1px solid var(--border);background:var(--surface-raised);min-width:24px;min-height:24px;color:var(--text);opacity:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.accessible-resizer:hover .resize-options,.accessible-resizer:focus-within .resize-options{opacity:1}.resize-actions{z-index:30;background:var(--surface-raised);border:1px solid var(--border);gap:4px;padding:8px;display:flex;position:absolute;inset:50% auto auto 50%}.resize-actions button{min-width:28px;min-height:28px}.resize-actions button,.serial-sample-table button,.component-runtime-notice button{background:var(--surface-raised);color:var(--text);border:1px solid var(--border);padding:6px}.plain-code-editor{resize:none;border:1px solid var(--border);background:var(--surface-base);width:100%;height:100%;color:var(--text);font-family:var(--font-code);tab-size:2;flex:1;padding:16px}.serial-output,.java-terminal-screen pre{white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;font-size:var(--accessible-output-size,13px)!important;line-height:var(--accessible-line-height,1.75)!important}.java-terminal-screen .java-terminal-keyboard{opacity:1;pointer-events:auto;width:100%;height:44px;color:var(--text);background:var(--surface-base);border:1px solid var(--border);padding:8px;position:static}.circuit-review{gap:12px;padding:12px;display:grid;overflow:auto}.circuit-review pre{white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.circuit-review table{border-collapse:collapse;width:100%}.circuit-review :is(th,td){text-align:left;border:1px solid var(--border);padding:6px}.circuit-review-actions{flex-wrap:wrap;gap:8px;display:flex}.circuit-review-actions button{border:1px solid var(--border);background:var(--surface-raised);padding:8px}.serial-sample-table{flex-shrink:0;max-height:50%;padding:8px;overflow:auto}.serial-sample-table :is(th,td){text-align:left;border:1px solid var(--border);padding:6px}.assignment-accommodations{border-top:1px solid var(--portal-line);gap:16px;padding-top:20px;display:grid}.assignment-accommodations fieldset{border:1px solid var(--portal-line);gap:16px;min-width:0;padding:12px;display:grid}.assignment-accommodations details{overflow-wrap:anywhere}.lcd1602-screen{-webkit-user-select:text;user-select:text}.component-editor{border:0;min-width:0}.component-layout-controls{padding:8px}.component-layout-controls label{gap:4px;margin-top:8px;display:grid}.component-layout-controls input{background:var(--surface-base);max-width:100%;color:var(--text);border:1px solid var(--border);padding:6px}.markdown-content :is(p,li,td,th),.instruction-document :is(p,li,label){font-size:max(1em, var(--accessible-output-size,13px));line-height:var(--accessible-line-height,1.75)}html[data-text-spacing=true] :is(p,li,label,td,th,.instruction-content){letter-spacing:.12em;word-spacing:.16em;line-height:1.75}html[data-text-spacing=true] p{margin-bottom:1em}html[data-reduced-motion=true] *,html[data-reduced-motion=true] :before,html[data-reduced-motion=true] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}html[data-high-contrast=true]{--surface-base:#000;--surface-raised:#101010;--text:#fff;--text-secondary:#eee;--text-muted:#ccc;--border:#aaa;--accent:#ffdc00}html[data-high-contrast=true] :is(.portal-shell,.auth-page,.portal-page,.portal-card,.portal-dialog,.dashboard-theme-scope,.ide-shell,.dialog){--portal-canvas:#000;--portal-surface:#000;--portal-surface-soft:#101010;--portal-text:#fff;--portal-muted:#eee;--portal-faint:#ccc;--portal-line:#aaa;--portal-accent:#ffdc00;--portal-primary:#355bd0;color:#fff!important;background-color:#000!important}html[data-high-contrast=true] :is(button,input,textarea,select){color:#fff!important;background-color:#000!important;border:1px solid #aaa!important}html[data-high-contrast=true] :is(.primary-button,.skip-link){color:#000!important;background:#ffdc00!important}html[data-high-contrast=true] :is([aria-selected=true],[aria-pressed=true],[aria-current=page],.is-active){outline:2px solid #ffdc00}@media (forced-colors:active){:focus-visible{outline:3px solid highlight!important}:is(button,input,select,textarea,[role=tab],[role=separator]){border:1px solid buttontext!important}:is([aria-selected=true],[aria-pressed=true],[aria-current=page]){outline:2px solid highlight}.entry-dot{border:2px solid highlight}.skip-link{color:linktext;background:canvas;border:2px solid highlight}}@media (pointer:coarse){.icon-button,.tree-action,.tree-toggle{min-width:44px;min-height:44px}}@media (max-width:400px){.dialog{padding:12px}.setting-row{flex-direction:column;align-items:start}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-base:#0d0f12;--surface-panel:#15181d;--surface-raised:#20242b;--surface-editor:#111317;--border:#30343b;--border-subtle:#252930;--text:#e3e6eb;--text-secondary:#a9afb9;--text-muted:#747c88;--accent:#4c8dff;--accent-hover:#6aa1ff;--accent-dim:#1d2b43;--brand-accent:#9be15d;--font-ui:"Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;--font-code:"Cascadia Code", "SFMono-Regular", Consolas, monospace}*{box-sizing:border-box}html{background:var(--surface-base)}body{background:var(--surface-base);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0;font-size:13px}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.35}button,a,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button{border:none}a{color:inherit}h1,h2,h3,p{margin:0}svg{flex-shrink:0}::selection{color:#fff;background:#274a7a}button{transition:background-color .12s,color .12s,border-color .12s}.icon-button{width:28px;height:28px;color:var(--text-secondary);background:0 0;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover:not(:disabled){color:var(--text);background:#ffffff0d}.primary-button,.secondary-button{border-radius:6px;justify-content:center;align-items:center;gap:10px;padding:10px 16px;font-weight:600;display:inline-flex}.primary-button{color:#fff;background:var(--accent)}.primary-button:hover{background:var(--accent-hover)}.secondary-button{border:1px solid var(--border);background:var(--surface-raised)}.dialog{width:min(470px,100vw - 32px);color:var(--text);background:#181b20;border:1px solid #3a4648;border-radius:12px;padding:25px;box-shadow:0 24px 100px #0009}.dialog::backdrop{background:#070c0fbf}.dialog>header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.dialog-heading{align-items:center;gap:9px;min-width:0;display:flex}.dialog-heading h2{min-width:0}.dialog h2{letter-spacing:-.35px;font-size:18px;font-weight:600}.dialog p{color:var(--text-secondary);font-size:13px;line-height:1.7}.dialog input:not([type=checkbox]):not([hidden]){background:var(--surface-base);width:100%;color:var(--text);border:1px solid #445355;border-radius:6px;padding:11px;display:block}.field-label{margin:22px 0 8px;font-weight:600;display:block}.dialog .field-help,.dialog .form-error{margin-top:9px;font-size:12px}.dialog .form-error{color:#ffb59c}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:25px;display:flex}.setting-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 0;display:flex}.setting-row select{background:var(--surface-base);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:6px 12px}.setting-row input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px}.guide-step{margin-top:24px}.guide-step h3{margin-bottom:5px;font-size:13px}.guide-step p{font-size:12px}.shortcut-list{border-top:1px solid var(--border);color:var(--text-secondary);gap:10px;margin-top:25px;padding-top:20px;font-size:12px;display:grid}.shortcut-list>span{justify-content:space-between;display:flex}kbd{font:11px var(--font-code);color:#d5dfdb}.fatal-error{gap:20px;max-width:500px;margin:20vh auto;padding:24px;display:grid}.skip-link{z-index:100;background:var(--accent);color:#fff;padding:12px;position:absolute;top:-100px;left:12px}.skip-link:focus{top:12px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.route-shell{min-height:100vh;color:var(--portal-text);background:var(--portal-canvas);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;grid-template-columns:240px minmax(0,1fr);display:grid}.route-shell-sidebar{border-right:1px solid var(--portal-line);background:var(--portal-surface);padding:28px 24px;font-weight:700}.route-shell-main{padding:36px}.route-shell-main h1{font-size:24px}.route-shell-main>div{border:1px solid var(--portal-line);background:var(--portal-surface);border-radius:12px;min-height:180px;margin-top:24px}@media (max-width:720px){.route-shell{grid-template-columns:1fr}.route-shell-sidebar{border-right:0;border-bottom:1px solid var(--portal-line)}.route-shell-main{padding:24px}}
