:root{--bg:#101318;--panel:#171b22;--panel2:#1d222b;--line:#2b313d;--muted:#8993a3;--text:#d8dee9;--accent:#2bc4c9;--blue:#4b9fff;--danger:#f05f65;--warn:#e7b75b;--editor-pct:52%;--sidebar:248px;--bottom:220px;--bottom-open:clamp(120px,30dvh,220px);--bottom-row:31px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark}
*{box-sizing:border-box}html,body{height:100%;margin:0;background:var(--bg);color:var(--text);overflow:hidden}button,select,input{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.app{display:grid;grid-template-rows:35px 42px minmax(0,1fr) var(--bottom-row) 24px;height:100dvh;min-height:0}.app.bottom-open{--bottom-row:var(--bottom-open)}.menubar{display:flex;align-items:center;background:#0d0f13;border-bottom:1px solid var(--line);padding:0 8px;gap:2px;font-size:13px;min-width:0}.brand{display:flex;align-items:center;gap:8px;font-weight:650;margin-right:10px;white-space:nowrap}.brand-mark{width:18px;height:18px;border:2px solid var(--accent);border-radius:4px;position:relative}.brand-mark:after{content:"";position:absolute;inset:4px;background:var(--accent);border-radius:2px}.menu-wrap{position:relative}.menu-button{height:30px;padding:0 8px;border-radius:4px}.menu-button:hover{background:#242a33}.menu-popover{position:absolute;top:30px;left:0;z-index:50;min-width:250px;background:#20252e;border:1px solid #3a4250;border-radius:6px;box-shadow:0 12px 35px #0008;padding:5px}.menu-popover button{display:flex;width:100%;padding:7px 10px;justify-content:space-between;border-radius:4px;text-align:left}.menu-popover button:hover{background:#2d3541}.shortcut{color:var(--muted);font-size:12px}.menu-sep{height:1px;background:var(--line);margin:5px}.menubar-spacer{flex:1}.mode-chip{font-size:11px;border:1px solid #38545a;background:#142529;color:#9ce8ea;padding:4px 8px;border-radius:999px;white-space:nowrap}
.toolbar{display:flex;align-items:center;background:#161a21;border-bottom:1px solid var(--line);padding:4px 8px;gap:5px;min-width:0;overflow:hidden}.toolbar button,.toolbar select{height:32px;border-radius:5px;background:#222832;border:1px solid #303846;padding:0 10px;white-space:nowrap}.toolbar button:hover:not(:disabled),.toolbar select:hover{background:#29313d}.toolbar button:disabled{opacity:.45;cursor:default}.toolbar .primary{background:#157a7e;border-color:#279fa3;color:#fff;font-weight:650}.toolbar .danger{background:#442126;border-color:#743139;color:#ffb5b9}.toolbar-sep{width:1px;height:24px;background:var(--line);margin:0 3px;flex:0 0 1px}.robot-title{font-size:12px;color:var(--muted);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.robot-title strong{color:var(--text)}
.workspace{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:0;overflow:hidden}.workspace.sidebar-collapsed{--sidebar:42px}.sidebar{background:#14181e;border-right:1px solid var(--line);display:grid;grid-template-columns:42px minmax(0,1fr);min-width:0}.workspace.sidebar-collapsed .side-content{display:none}.activity{border-right:1px solid var(--line);padding-top:7px;display:flex;flex-direction:column;align-items:center;gap:5px}.activity button{width:36px;height:36px;border-radius:5px;color:#aab3c0;font-size:18px}.activity button:hover,.activity button.active{background:#222832;color:#fff}.side-content{overflow:auto;background:#14181e}.side-view[hidden]{display:none!important}.robot-side-card{padding:10px 8px;color:#aab3c0;font-size:12px;line-height:1.45}.robot-side-card p{margin:2px 4px 10px}.robot-side-card button{display:block;width:100%;min-height:32px;margin:5px 0;padding:6px 8px;border:1px solid var(--line);border-radius:4px;background:#202630;text-align:left}.robot-side-card button:hover{background:#29313d;color:#fff}.side-heading{height:34px;display:flex;align-items:center;padding:0 12px;font-size:11px;letter-spacing:.08em;color:#aab3c0}.files-list{padding:2px 5px}.file-item{width:100%;height:28px;display:flex;align-items:center;gap:7px;padding:0 8px;text-align:left;border-radius:3px;color:#c7ced8;font-size:12px}.file-item:hover,.file-item.active{background:#222832}.py-icon{font-size:9px;color:#f1c75b;font-weight:800}.task-panel{padding:12px;font-size:12px;line-height:1.45;border-top:1px solid var(--line);margin-top:8px}.task-panel h2{font-size:14px;margin:0 0 6px}.task-panel p{color:#aab3c0}.task-panel ol{padding-left:20px}.task-panel li{margin:6px 0}.task-panel details{border-top:1px solid var(--line);padding-top:8px}.task-current{color:#9ce8ea}
.main-panes{display:grid;grid-template-columns:minmax(0,var(--editor-pct)) 5px minmax(0,calc(100% - var(--editor-pct) - 5px));min-width:0;min-height:0;background:#11151a;overflow:hidden}.editor-pane,.sim-pane{min-width:0;min-height:0;display:grid;grid-template-rows:34px minmax(0,1fr);overflow:hidden}.editor-tabs{display:flex;overflow:auto;background:#12161c;border-bottom:1px solid var(--line)}.editor-tab{height:34px;padding:0 12px;display:flex;align-items:center;gap:7px;border-right:1px solid var(--line);font-size:12px;color:#aeb7c5;white-space:nowrap}.editor-tab.active{background:#1b2028;color:#fff;border-top:1px solid var(--accent)}#editor{min-height:0;overflow:hidden}.CodeMirror{height:100%!important;font:13px/1.55 "SFMono-Regular",Consolas,"Liberation Mono",monospace;background:#11151a}.CodeMirror-gutters{background:#11151a;border-right:1px solid #242a33}.CodeMirror-linenumber{color:#606a78}.cm-executing-line{background:rgba(43,196,201,.14)!important;box-shadow:inset 3px 0 var(--accent)}.splitter{cursor:col-resize;background:#252b34;position:relative}.splitter:hover,.resizing .splitter{background:var(--accent)}.sim-head{height:34px;display:flex;align-items:center;padding:0 8px;gap:6px;background:#12161c;border-bottom:1px solid var(--line);font-size:12px}.sim-head strong{margin-right:4px}.sim-action-label{color:#8f9aaa;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:auto}.sim-head button{height:25px;padding:0 8px;border:1px solid var(--line);border-radius:4px;background:#202630}.sim-viewport{min-height:0;position:relative;background:radial-gradient(circle at 50% 30%,#d9ddde,#b9c1c4 60%)}.sim-viewport canvas{width:100%;height:100%;display:block;touch-action:none}.sim-badge{position:absolute;left:10px;bottom:10px;background:#111a1ddd;border:1px solid #315258;color:#9ce8ea;padding:5px 8px;border-radius:4px;font-size:10px;pointer-events:none;max-width:calc(100% - 20px)}
.bottom-panel{height:100%;grid-row:4;grid-column:1;position:relative;z-index:30;display:grid;grid-template-rows:31px minmax(0,1fr);border-top:1px solid var(--line);background:#12161c;min-height:0;overflow:hidden}.bottom-panel.collapsed{height:100%}.bottom-panel.collapsed .panel-view{display:none!important}.bottom-tabs{height:31px;display:flex;align-items:center;gap:2px;padding:0 7px;background:#14181e;overflow-x:auto}.bottom-tab{height:30px;padding:0 10px;font-size:11px;color:#9ca6b4;border-bottom:2px solid transparent;white-space:nowrap}.bottom-tab.active{color:#fff;border-color:var(--accent)}.bottom-close{margin-left:auto;position:sticky;right:0;background:#14181e}.panel-view{overflow:auto;padding:8px 12px;font:12px/1.45 "SFMono-Regular",Consolas,monospace}.panel-note{color:#80dadd;margin-bottom:8px}.panel-view table{border-collapse:collapse;width:100%;max-width:920px}.panel-view td,.panel-view th{border-bottom:1px solid #282e38;text-align:left;padding:4px 8px}.command-row{display:grid;grid-template-columns:54px 110px minmax(0,1fr) 58px;gap:8px;padding:5px 7px;border-bottom:1px solid #252b34;align-items:start}.command-row.active{background:#183437}.command-row code{white-space:normal;color:#b9c7d8}.problem{display:grid;grid-template-columns:78px 1fr;gap:8px;padding:6px;border-bottom:1px solid #272e38}.problem.error strong{color:#ff7d82}.problem.warning strong{color:#e7b75b}.problem.info strong{color:#65b8ff}.console-block{margin-top:10px;border-top:1px solid var(--line);padding-top:7px}.console-line.stderr{color:#ff9296}.empty-state{color:#7e8998;padding:14px}.metric-grid{display:grid;grid-template-columns:220px 1fr;max-width:720px;gap:4px 12px}.metric-grid strong{color:#dce6ef}
.statusbar{display:flex;align-items:center;background:#0f7478;color:#fff;font-size:10px;padding:0 8px;gap:10px;white-space:nowrap;overflow:hidden}.statusbar span{overflow:hidden;text-overflow:ellipsis}.statusbar .right{margin-left:auto}.dirty-dot{width:6px;height:6px;border-radius:50%;background:#f1c75b;display:inline-block}
.command-palette{position:fixed;z-index:100;inset:0;background:#0006;display:flex;justify-content:center;align-items:flex-start;padding-top:72px}.command-palette[hidden]{display:none}.command-box{width:min(680px,90vw);background:#20252e;border:1px solid #44505f;border-radius:7px;box-shadow:0 18px 70px #000c;overflow:hidden}.command-input-row{display:flex}.command-box input{width:100%;height:42px;background:#171b22;border:0;padding:0 12px;outline:none}.command-box .close{width:42px}.command-list{max-height:360px;overflow:auto}.command-list button{display:block;width:100%;text-align:left;padding:8px 12px;border-top:1px solid #2a3039}.command-list button:hover{background:#2a3340}.mobile-pane{display:none!important}.mobile-pane.active{border-color:var(--accent)!important;color:#fff}
@media(max-width:1179px){:root{--sidebar:220px}.main-panes{grid-template-columns:1fr}.splitter{display:none}.editor-pane,.sim-pane{grid-column:1;grid-row:1}.sim-pane{display:none}.workspace.show-sim .editor-pane{display:none}.workspace.show-sim .sim-pane{display:grid}.workspace:not(.show-sim) .editor-pane{display:grid}.toolbar .robot-title{display:none}.mobile-pane{display:inline-flex!important;align-items:center}}
@media(max-width:800px){:root{--sidebar:42px;--bottom:190px;--bottom-open:clamp(110px,36dvh,190px)}.sidebar{position:relative;overflow:visible}.sidebar .side-content{display:none;position:absolute;left:42px;top:0;bottom:0;width:min(280px,calc(100vw - 42px));z-index:45;box-shadow:10px 0 28px #0009}.workspace.side-drawer-open .sidebar .side-content{display:block}.workspace.sidebar-collapsed .sidebar .side-content{display:none!important}.toolbar{overflow-x:auto}.toolbar button,.toolbar select{flex:0 0 auto}.menubar .menu-wrap:nth-of-type(n+5){display:none}.mode-chip{display:none}.bottom-tab{padding:0 7px}.app{grid-template-rows:35px 42px minmax(0,1fr) var(--bottom-row) 24px}.statusbar .right{display:none}.brand{font-size:12px}}
@media(max-height:620px){:root{--bottom:150px;--bottom-open:clamp(110px,34dvh,170px)}.app{min-height:0}.task-panel{font-size:11px}.toolbar{padding-block:2px}.toolbar button,.toolbar select{height:30px}}

/* The active state distinguishes the configured accessibility overlay from normal view controls. */
.sim-head .scene-contrast-toggle.active{border-color:#3b9897;background:#153c40;color:#ecffff}

.about-dialog{width:min(472px,calc(100vw - 32px));max-height:calc(100vh - 32px);margin:auto;padding:0;overflow:hidden;border:1px solid #40515f;border-radius:14px;background:#182028;color:#e5edf5;box-shadow:0 28px 100px #000a}.about-dialog::backdrop{background:rgb(7 12 16 / .58);backdrop-filter:blur(4px)}.about-dialog[open]{animation:about-dialog-in 180ms cubic-bezier(.16,1,.3,1)}.about-dialog-shell{position:relative;isolation:isolate;overflow:hidden;padding:26px;background:linear-gradient(135deg,#1d2b35,#141c24 70%)}.about-dialog-shell::before{position:absolute;z-index:-1;inset:0;content:"";background-image:linear-gradient(rgb(137 174 181 / .12) 1px,transparent 1px),linear-gradient(90deg,rgb(137 174 181 / .12) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(135deg,#000,transparent 72%);pointer-events:none}.about-close{position:absolute;z-index:1;top:12px;right:12px;display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid rgb(220 235 245 / .2);border-radius:8px;background:rgb(7 12 16 / .28);color:#dceaf0;font-size:20px;line-height:1;cursor:pointer}.about-close:hover,.about-close:focus-visible{border-color:#75d7d4;background:#24464b;color:#fff;outline:none}.about-head{position:relative;display:flex;align-items:center;gap:14px}.about-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid #5bc6c2;border-radius:11px;background:linear-gradient(145deg,#2d7d80,#183e48);box-shadow:inset 0 1px rgb(255 255 255 / .16);color:#f5ffff;font-size:13px;font-weight:800;letter-spacing:.08em}.about-eyebrow{margin:0 0 3px;color:#82bdbc;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.about-dialog h2{margin:0;color:#f1f7fa;font-size:22px;letter-spacing:-.025em}.about-copy{position:relative;margin:20px 0 0;color:#b9c8d0;font-size:13px;line-height:1.55}.about-rule{height:1px;margin:20px 0;border:0;background:linear-gradient(90deg,#55b9b8,rgb(85 185 184 / 0))}.about-license{display:grid;gap:4px;position:relative;padding:12px 14px;border:1px solid rgb(135 167 177 / .24);border-radius:10px;background:rgb(4 11 16 / .24);color:#b8c7cf;font-size:11px;line-height:1.45}.about-license::before{position:absolute;top:12px;bottom:12px;left:0;width:2px;border-radius:2px;background:#61cbc8;content:""}.about-license-label{color:#7aa6a8;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.about-license strong{color:#f1f7fa;font-size:13px}.about-copyright{margin:20px 0 0;color:#91a5b1;font-size:11px}.about-dialog button{font:inherit}@keyframes about-dialog-in{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:420px){.about-dialog-shell{padding:22px}.about-copy{font-size:12px}}@media(prefers-reduced-motion:reduce){.about-dialog[open]{animation:none}}
