:root{
  --bg:#070b14;--bg-2:#0b1020;--panel:#101624;--panel-2:#141b2b;--panel-3:#182033;
  --line:#263149;--line-soft:#1b2436;--text:#f0f4fb;--muted:#8e9ab0;--muted-2:#6d7890;
  --accent:#7ea8ff;--accent-2:#7de2c1;--warning:#f0c36b;--danger:#f17c89;--purple:#a98cff;
  --shadow:0 20px 50px rgba(0,0,0,.28);--radius:14px;--radius-sm:9px;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{background:radial-gradient(circle at 50% -10%,rgba(74,101,170,.17),transparent 30%),var(--bg);color:var(--text);overflow:hidden}
button,input,textarea,select{font:inherit}
button{border:0;color:inherit;background:none;cursor:pointer}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid rgba(126,168,255,.65);outline-offset:2px}
.app-shell{height:100vh;display:grid;grid-template-rows:62px 62px 1fr;overflow:hidden}
.topbar{display:flex;align-items:center;padding:0 18px;border-bottom:1px solid var(--line);background:rgba(8,12,22,.93);backdrop-filter:blur(18px);gap:28px;z-index:20}
.brand-wrap{display:flex;align-items:center;gap:11px;min-width:250px}.brand-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#8aaeff,#5b7bea);display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:0 8px 24px rgba(92,123,234,.35)}.brand{font-weight:850;letter-spacing:-.02em;font-size:15px}.brand-sub{font-size:10px;color:var(--muted-2);margin-top:2px;letter-spacing:.03em}
.main-nav{display:flex;align-items:center;gap:4px;flex:1}.nav-item{padding:9px 12px;border-radius:8px;color:#99a6bc;font-size:12px}.nav-item:hover{background:#11192a;color:#e8eef8}.nav-item.active{color:#fff;background:#182136;box-shadow:inset 0 0 0 1px #28365a}
.top-actions{display:flex;align-items:center;gap:8px}.ghost-btn,.tool-btn,.icon-btn{padding:8px 11px;border-radius:8px;color:#aab6ca;background:#11192a;border:1px solid #25314a;font-size:12px}.ghost-btn:hover,.tool-btn:hover,.icon-btn:hover{border-color:#38507e;background:#172238}
.run-btn{padding:9px 14px;border-radius:9px;background:linear-gradient(180deg,#95b9ff,#6f94ef);color:#08101f;font-weight:800;font-size:12px;box-shadow:0 8px 20px rgba(108,145,239,.22)}.run-btn:hover{filter:brightness(1.06)}.run-dot{font-size:10px;margin-right:5px}.stop-btn{padding:9px 12px;border-radius:9px;background:#301d25;color:#f4a2ab;border:1px solid #56303b;font-weight:800;font-size:12px}
.engine-status{display:flex;align-items:center;gap:7px;color:#8e9ab0;font-size:11px;padding-left:8px}.status-dot{width:7px;height:7px;border-radius:50%;background:#69e1b5;box-shadow:0 0 0 4px rgba(105,225,181,.08)}
.contextbar{display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--line-soft);background:#0b1020}.page-title{font-size:15px;font-weight:750;letter-spacing:-.01em}.page-subtitle{font-size:11px;color:var(--muted);margin-top:3px}.context-actions{display:flex;align-items:center;gap:8px}.session-badge,.count-badge,.live-pill{font-size:10px;padding:5px 8px;border:1px solid #2a3650;border-radius:999px;color:#95a4bd;background:#11192a}.live-pill{color:#8ce5c0;border-color:#295943;background:#0d1d1a}.icon-btn{width:32px;height:32px;padding:0;display:grid;place-items:center}
.view{display:none;min-height:0}.view.active{display:block}
.home-view{overflow:auto;padding:34px 40px 60px}.hero-shell{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(350px,.65fr);gap:28px;align-items:stretch;max-width:1420px;margin:0 auto}.hero-copy{padding:20px 0}.eyebrow,.card-kicker{font-size:10px;letter-spacing:.16em;color:#7786a0;font-weight:800}.hero-copy h1{font-size:clamp(42px,5.2vw,72px);line-height:.98;letter-spacing:-.055em;margin:16px 0 20px;max-width:850px}.hero-lede{font-size:18px;line-height:1.65;color:#a8b4c8;max-width:760px;margin:0}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.primary-btn,.secondary-btn{padding:12px 16px;border-radius:10px;font-weight:750;font-size:12px}.primary-btn{background:#edf3ff;color:#0b1220;box-shadow:0 10px 28px rgba(154,184,255,.14)}.secondary-btn{background:#11192a;color:#c5cfdf;border:1px solid #27334b}.primary-btn:hover,.secondary-btn:hover{transform:translateY(-1px)}.hero-note{margin-top:14px;color:#75829a;font-size:11px}.mini-check{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#142820;color:#77ddb4;margin-right:7px}
.system-card{background:linear-gradient(180deg,rgba(22,31,49,.96),rgba(12,18,30,.96));border:1px solid #2a3854;border-radius:18px;padding:22px;box-shadow:var(--shadow);min-height:330px}.system-card-header{display:flex;justify-content:space-between;align-items:flex-start}.system-card h2{font-size:18px;margin:7px 0 0}.status-stack{margin-top:24px}.status-row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid #1c2840;color:#8f9cb3;font-size:12px}.status-row strong{color:#e4eafa;font-weight:650}.system-footer{display:flex;justify-content:space-between;align-items:center;margin-top:18px;color:#70809a;font-size:10px}.text-btn{color:#90b0ff;font-size:11px;padding:0}.text-btn:hover{color:#bfd0ff}
.metric-strip{max-width:1420px;margin:28px auto 42px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #202b41;background:#0d1423;border-radius:13px;overflow:hidden}.metric{padding:16px 18px;border-right:1px solid #202b41}.metric:last-child{border-right:0}.metric span{display:block;font-size:10px;color:#6f7c93;text-transform:uppercase;letter-spacing:.08em}.metric strong{display:block;font-size:22px;margin-top:6px;letter-spacing:-.03em}
.section-head{max-width:1420px;margin:0 auto 14px;display:flex;justify-content:space-between;align-items:end}.section-head h2{font-size:24px;letter-spacing:-.025em;margin:5px 0 0}.feature-grid{max-width:1420px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.feature-card{display:grid;grid-template-columns:38px 1fr 18px;align-items:center;gap:12px;padding:17px;background:linear-gradient(180deg,#101827,#0d1420);border:1px solid #202d43;border-radius:13px;text-align:left;transition:.18s ease}.feature-card:hover{transform:translateY(-2px);border-color:#35486d;background:#111b2e;box-shadow:0 14px 30px rgba(0,0,0,.18)}.static-card{cursor:default}.feature-icon{width:36px;height:36px;border-radius:10px;background:#172139;border:1px solid #27385b;display:grid;place-items:center;color:#9eb9ff;font-weight:800}.feature-card strong{display:block;font-size:12px}.feature-card small{display:block;color:#77849b;font-size:10px;line-height:1.5;margin-top:4px}.feature-arrow{color:#627089}
.workspace{height:100%;grid-template-columns:220px minmax(0,1fr) 260px;background:#080c15}.panel-left,.panel-right{background:#0d1420}.panel-left{border-right:1px solid var(--line)}.panel-right{border-left:1px solid var(--line)}.sidebar,.inspector{padding:14px}.panel-heading{display:flex;align-items:center;justify-content:space-between;color:#78879f;font-size:10px;letter-spacing:.12em;font-weight:800;margin-bottom:13px}.small-icon{font-size:12px;color:#6e7d95}.project-root{display:flex;align-items:center;gap:7px;font-size:12px;padding:7px 6px;color:#e3e9f3}.caret{color:#6f7d94}.folder-icon{color:#728dca}.file-tree{margin-top:4px}.tree-row{padding:7px 8px;border-radius:7px;color:#8e9ab0;font-size:11px}.tree-row:hover{background:#131d2d;color:#dfe7f4}.tree-row.active-file{color:#eaf0fb;background:#182236;box-shadow:inset 2px 0 0 #7ea8ff}.tree-row.folder{color:#6f7f99}.sidebar-footer{margin-top:auto;display:flex;gap:8px;flex-direction:column}.side-action{width:100%;text-align:left;padding:9px 10px;background:#101929;border:1px solid #25324a;border-radius:8px;color:#8fa0bb;font-size:11px}.side-action:hover{background:#152139;color:#c9d7ec}
.editor-panel{min-width:0;min-height:0;display:flex;flex-direction:column}.editor-toolbar{height:44px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:#0f1624}.tabs{display:flex;align-items:center;height:100%}.tabs span{height:100%;display:flex;align-items:center;padding:0 15px;border-right:1px solid var(--line-soft);color:#6f7c92;font-size:11px}.tabs span.active{color:#eef3fb;background:#131d2e}.file-dot{width:7px;height:7px;background:#72a7ff;border-radius:50%;margin-right:7px}.file-dot.purple{background:#a98cff}.file-dot.gold{background:#f0c36b}.toolbar-actions{display:flex;align-items:center;gap:6px;padding-right:9px}.tool-btn{background:#101929}.code-editor{flex:1;min-height:0;width:100%;resize:none;border:0;outline:none;background:#080d16;color:#d9e4f5;padding:24px 28px;font:13px/1.7 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;tab-size:4}.console-panel{min-height:220px;height:clamp(240px,38vh,520px);flex:0 0 clamp(240px,38vh,520px);max-height:none;border-top:1px solid var(--line);background:#070b12;display:flex;flex-direction:column;overflow:hidden}.console-header{height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid #131c2b;color:#6f7d95;font-size:9px;letter-spacing:.12em;font-weight:800}.console-state{color:#78d4b2;letter-spacing:.08em}.console-panel pre{flex:1 1 auto;min-height:72px;overflow:auto;margin:0;padding:14px;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#b6c2d6}.figure-host{min-height:0;max-height:24vh;overflow:auto;border-top:1px solid #121b2a;background:#060a12}.figure-host:empty{display:none}.command-line{display:flex;align-items:center;gap:8px;padding:9px 12px;border-top:1px solid #121b2a}.command-line span{font:12px ui-monospace;color:#6f7f95}.command-line input{flex:1;background:transparent;border:0;outline:none;color:#dfe8f6;font:12px ui-monospace}.command-line button{padding:6px 9px;border-radius:6px;background:#15223a;color:#9fb9ff;font-size:11px}
.inspector{overflow:auto}.inspector-section{margin-bottom:24px}.var{display:flex;justify-content:space-between;gap:8px;padding:8px 7px;border-bottom:1px solid #182237;color:#cad4e4;font-size:11px}.var span:last-child{color:#738099}.empty-state{padding:16px 8px;color:#65728a;font-size:11px;line-height:1.5}.inspector-tool{width:100%;display:flex;align-items:center;gap:9px;padding:10px 8px;color:#a9b5c8;text-align:left;border-radius:7px;font-size:11px}.inspector-tool:hover{background:#131d2e}.inspector-tool span{color:#7ea8ff}.inspector-tool small{margin-left:auto;color:#5d6a80}
.sim-view{height:100%;position:relative;background:#0a0f18}.sim-toolbar{height:52px;display:flex;align-items:center;gap:12px;padding:0 14px;border-bottom:1px solid var(--line);background:#0f1624}.model-title{display:flex;align-items:center;gap:9px;min-width:250px}.model-title strong{display:block;font-size:12px}.model-title small{display:block;color:#66748b;font-size:9px;margin-top:2px}.model-icon{width:30px;height:30px;border-radius:8px;background:#19243a;color:#98b8ff;display:grid;place-items:center}.sim-controls{display:flex;align-items:center;gap:7px}.solver-select{font-size:10px;color:#6f7c93;padding:0 4px}.solver-select select{margin-left:6px;background:#111a2b;border:1px solid #26344f;color:#c8d5e7;border-radius:7px;padding:6px 8px;font-size:10px}.sim-status{margin-left:auto;color:#6f7c92;font-size:10px}.simcanvas{position:absolute;left:0;right:270px;top:52px;bottom:0;overflow:auto;background-color:#0a0f18;background-image:linear-gradient(rgba(35,48,70,.32) 1px,transparent 1px),linear-gradient(90deg,rgba(35,48,70,.32) 1px,transparent 1px);background-size:24px 24px}.canvas-hint{position:absolute;left:18px;top:15px;padding:7px 9px;border:1px solid #202d43;background:rgba(10,15,24,.78);color:#65738a;border-radius:7px;font-size:9px}.blocklib{position:absolute;right:0;top:52px;bottom:0;width:270px;padding:15px;overflow:auto}.blocklib-head{display:flex;justify-content:space-between;align-items:end}.blocklib-head h3{font-size:18px;margin:4px 0 0;color:#f2f5fb}.block-search{width:100%;margin:13px 0 12px;padding:9px 10px;border-radius:8px;border:1px solid #26334a;background:#0f1726;color:#d8e1ef;font-size:11px}.block-group-title{color:#63718a;font-size:9px;letter-spacing:.13em;font-weight:800;text-transform:uppercase;margin:15px 0 7px}.block{padding:9px 10px;border:1px solid #1d2a40;background:#101827;border-radius:7px;margin-bottom:6px;color:#aebbd0;font-size:10px}.block:hover{border-color:#30466b;color:#dde7f5;background:#141f33}.canvas-block{position:absolute;min-width:132px;padding:11px 13px;background:linear-gradient(180deg,#172339,#111a29);border:1px solid #415578;border-radius:9px;box-shadow:0 12px 28px rgba(0,0,0,.28);cursor:move}.canvas-block strong{display:block;font-size:11px}.block-id{display:block;color:#65738a;font-size:8px;margin-top:4px}.canvas-block .port{width:9px;height:9px;border-radius:50%;background:#a9c2ff;position:absolute;right:-5px;top:50%;transform:translateY(-50%);box-shadow:0 0 0 3px rgba(126,168,255,.08)}.canvas-block .inport{left:-5px;right:auto}.canvas-block .delete{position:absolute;top:4px;right:4px;color:#6a7890;font-size:11px;padding:0}.canvas-block.selected-block{border-color:#79d8bb;box-shadow:0 0 0 2px rgba(121,216,187,.15)}.signal-link{fill:none;stroke:#6f95dc;stroke-width:2.3;opacity:.9}
.single-workspace{grid-template-columns:1fr}.stateflow-editor{font-size:12px}.advanced-center{overflow:auto}.advanced-view .sidebar{overflow:auto}.advanced-hero{display:flex;justify-content:space-between;gap:30px;padding:28px 30px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#0e1727,#0b111e)}.advanced-hero h2{font-size:27px;letter-spacing:-.03em;margin:8px 0 10px}.advanced-hero p{max-width:760px;color:#8997ad;font-size:12px;line-height:1.6;margin:0}.advanced-summary{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;min-width:160px}.advanced-summary strong{font-size:38px;letter-spacing:-.05em;color:#dfe8fb}.advanced-summary span{color:#6f7d93;font-size:10px}.advanced-grid{padding:22px 26px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.advanced-card{min-height:150px;padding:17px;background:linear-gradient(180deg,#111a2b,#0e1624);border:1px solid #1f2d46;border-radius:12px;transition:.15s ease}.advanced-card:hover{border-color:#364c73;transform:translateY(-1px)}.advanced-card strong{font-size:12px}.advanced-card p{color:#7b899f;font-size:10px;line-height:1.6;margin:9px 0 18px}.tag{font-size:8px;letter-spacing:.1em;padding:4px 6px;border-radius:999px;border:1px solid #2a3c5b;color:#88a9e9;background:#112039}.advanced-console{margin:0 26px 24px}
.figure-panel{padding:10px 14px 14px}.figure-panel img{max-width:min(760px,100%);height:auto;display:block;border-radius:8px;border:1px solid #24324a;margin:8px 0}.toast{position:fixed;right:18px;bottom:18px;z-index:50;max-width:360px;padding:11px 13px;border-radius:10px;border:1px solid #2f3f5b;background:#111a2b;color:#d7e1ef;box-shadow:var(--shadow);font-size:11px;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s ease}.toast.show{opacity:1;transform:translateY(0)}
@media (max-width:1100px){.main-nav{display:none}.hero-shell{grid-template-columns:1fr}.feature-grid{grid-template-columns:repeat(2,1fr)}.advanced-grid{grid-template-columns:repeat(2,1fr)}.workspace{grid-template-columns:190px minmax(0,1fr)}.panel-right{display:none}.simcanvas{right:0}.blocklib{display:none}.top-actions .ghost-btn{display:none}}
@media (max-width:760px){.app-shell{grid-template-rows:60px 58px 1fr}.topbar{padding:0 12px}.brand-wrap{min-width:auto}.brand-sub{display:none}.engine-status{display:none}.contextbar{padding:0 14px}.home-view{padding:24px 16px 50px}.hero-copy h1{font-size:42px}.metric-strip{grid-template-columns:repeat(2,1fr)}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid #202b41}.feature-grid{grid-template-columns:1fr}.workspace{grid-template-columns:1fr}.sidebar{display:none}.hero-actions{flex-direction:column}.primary-btn,.secondary-btn{width:100%}.advanced-grid{grid-template-columns:1fr;padding:16px}.advanced-hero{padding:20px 16px;display:block}.advanced-summary{align-items:flex-start;margin-top:18px}.advanced-console{margin:0 16px 16px}.sim-controls .tool-btn{display:none}}

/* Contextual workbench navigation */
.view.active.workspace{display:grid}
.context-rail{width:72px;background:#0a101b;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;padding:10px 7px;gap:6px;z-index:4}.rail-brand{width:48px;height:34px;border-radius:9px;background:#111b2d;border:1px solid #273651;color:#8faeff;display:grid;place-items:center;font-size:9px;font-weight:900;letter-spacing:.08em;margin-bottom:6px}.rail-item{width:58px;min-height:56px;border:1px solid transparent;border-radius:9px;color:#70809a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:.15s ease}.rail-item span{font-size:16px;line-height:1}.rail-item small{font-size:8px;letter-spacing:.03em}.rail-item:hover{background:#111b2d;color:#cbd8ee;border-color:#22324d}.rail-item.active{background:#17243a;color:#eef4ff;border-color:#2d4163;box-shadow:inset 2px 0 0 #7ea8ff}.context-panel{min-width:0;overflow:hidden;background:#0d1420;border-right:1px solid var(--line)}.context-panel-head{padding:14px 14px 0}.context-panel-body{height:calc(100% - 52px);padding:0 12px 14px;overflow:auto}.context-panel-body.hidden{display:none}.mini-list{display:flex;flex-direction:column;gap:4px}.mini-list button{width:100%;text-align:left;padding:9px 10px;border-radius:7px;color:#8290a7;font-size:10px;border:1px solid transparent}.mini-list button:hover{background:#121d2f;color:#dce6f5;border-color:#202f49}.mini-list button.active{background:#17243a;color:#e9f0fb;border-color:#2d4163}.context-tip{padding:12px 9px 14px;color:#77869e;font-size:10px;line-height:1.55}.context-tip strong{display:block;color:#d8e2f2;font-size:11px;margin-bottom:5px}.context-tip p{margin:0}.side-select{display:block;padding:9px;color:#7f8da4;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.side-select select{display:block;width:100%;margin-top:7px;padding:8px;border-radius:7px;background:#111a2a;border:1px solid #25344d;color:#d4deed;font-size:10px}.workspace{grid-template-columns:72px 220px minmax(0,1fr) 260px}.stateflow-view,.advanced-view{grid-template-columns:72px 220px minmax(0,1fr)}.stateflow-view .stateflow-panel{min-width:0}.advanced-view .context-panel{overflow:auto}.sim-view.active{display:grid;grid-template-columns:72px 220px minmax(0,1fr) 270px;grid-template-rows:52px minmax(0,1fr);height:100%;background:#0a0f18}.sim-view .context-rail{grid-column:1;grid-row:1 / span 2}.sim-view .sim-context-panel{grid-column:2;grid-row:1 / span 2}.sim-view .sim-toolbar{grid-column:3;grid-row:1;min-width:0}.sim-view .simcanvas{grid-column:3;grid-row:2;position:relative;left:auto;right:auto;top:auto;bottom:auto;width:auto;min-width:0}.sim-view .blocklib{grid-column:4;grid-row:1 / span 2;position:relative;right:auto;top:auto;bottom:auto;width:auto;border-left:1px solid var(--line);padding:15px}.sim-context-panel{border-right:1px solid var(--line)}.advanced-context-panel{border-right:1px solid var(--line)}
@media (max-width:1200px){.workspace{grid-template-columns:68px 200px minmax(0,1fr) 0}.workspace .panel-right{display:none}.stateflow-view,.advanced-view{grid-template-columns:68px 200px minmax(0,1fr)}.sim-view.active{grid-template-columns:68px 200px minmax(0,1fr)}.sim-view .blocklib{display:none}}
@media (max-width:860px){.workspace{grid-template-columns:64px minmax(0,1fr) 0}.workspace .context-panel{display:none}.stateflow-view,.advanced-view{grid-template-columns:64px minmax(0,1fr)}.stateflow-view>.context-panel,.advanced-view>.context-panel{display:none}.sim-view.active{grid-template-columns:64px minmax(0,1fr)}.sim-view .sim-context-panel{display:none}.sim-view .sim-toolbar{grid-column:2}.sim-view .simcanvas{grid-column:2}.context-rail{width:64px}.rail-item{width:52px}}
@media (max-width:760px){.workspace{grid-template-columns:1fr}.workspace .context-rail,.workspace .context-panel{display:none}.stateflow-view,.advanced-view{grid-template-columns:1fr}.sim-view.active{grid-template-columns:1fr;grid-template-rows:52px minmax(0,1fr)}.sim-view .context-rail,.sim-view .sim-context-panel{display:none}.sim-view .sim-toolbar,.sim-view .simcanvas{grid-column:1}}

/* Workspace documents: main.m / Command Window / Result */
.editor-panel{min-height:0;overflow:hidden}
.work-tabs{gap:0;min-width:0;overflow:auto}
.work-tabs .workspace-tab{height:100%;display:flex;align-items:center;gap:7px;padding:0 15px;border:0;border-right:1px solid var(--line-soft);border-radius:0;background:transparent;color:#6f7c92;font-size:11px;white-space:nowrap;cursor:pointer}
.work-tabs .workspace-tab:hover{background:#111a2a;color:#cbd8e9}
.work-tabs .workspace-tab.active{color:#f0f4fb;background:#131d2e;box-shadow:inset 0 -2px 0 #7ea8ff}
.work-tabs .workspace-tab:focus-visible{outline:2px solid #6c97e8;outline-offset:-2px}
.tab-glyph{color:#7284a1;font:10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.result-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 5px;border-radius:999px;background:#19263d;color:#8ea7cf;font-size:8px}
.workspace-tab.active .result-badge{background:#254064;color:#c9dcff}
.workspace-pane{display:none;min-width:0;min-height:0;flex:1;overflow:hidden}
.workspace-pane.active{display:flex}
.workspace-pane[data-workpane="editor"] .code-editor{height:100%;flex:1;min-height:0}
.command-pane{background:#070b12}
.standalone-console{width:100%;height:100%;min-height:0;display:flex;flex-direction:column;background:#070b12}
.standalone-console .console-header{flex:0 0 38px}
.standalone-console pre{flex:1 1 auto;min-height:0;overflow:auto;margin:0;padding:18px 20px;font:13px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#c4d0e4;white-space:pre-wrap;word-break:break-word}
.standalone-console .command-line{flex:0 0 auto;padding:12px 14px;background:#0a111c}
.result-pane{flex-direction:column;background:#0b1019}
.result-toolbar{flex:0 0 58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 18px;border-bottom:1px solid var(--line);background:#0f1624}
.result-toolbar strong{display:block;color:#eef3fb;font-size:11px;letter-spacing:.09em}
.result-toolbar span{display:block;margin-top:4px;color:#6e7c92;font-size:9px}
.result-actions{display:flex;gap:6px}
.result-scroll{flex:1;min-height:0;overflow:auto;padding:18px 20px 28px;scroll-behavior:smooth}
.result-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.result-kpi{padding:12px 14px;border:1px solid #1d2a40;border-radius:10px;background:linear-gradient(180deg,#111a2a,#0e1522)}
.result-kpi span{display:block;color:#62718a;font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.result-kpi strong{display:block;margin-top:7px;color:#e8eef8;font-size:17px}
.result-output-card,.figure-results-card{border:1px solid #1d2a40;border-radius:12px;background:#0d1522;margin-bottom:14px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.14)}
.result-card-head{min-height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;border-bottom:1px solid #18243a;color:#71809a;font-size:9px;letter-spacing:.11em;font-weight:800}
.copy-btn{border:1px solid #263750;background:#101b2b;color:#90a8cb;border-radius:6px;padding:5px 8px;font-size:9px;cursor:pointer}
#resultOutput{margin:0;padding:16px 18px;min-height:86px;max-height:260px;overflow:auto;white-space:pre-wrap;word-break:break-word;color:#c8d4e7;font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.figure-results-card .figure-hint{font-size:8px;letter-spacing:0;color:#56657b;text-transform:none;font-weight:500}
.result-pane .figure-host{max-height:none;min-height:280px;overflow:auto;border:0;background:#090f18;padding:16px}
.figure-panel{padding:0}
.figure-panel img{max-width:100%;width:auto;min-height:220px;object-fit:contain;margin:0 auto 16px;background:#050911;border-radius:10px;border:1px solid #2a3a55;box-shadow:0 12px 28px rgba(0,0,0,.24)}
.empty-result{min-height:260px;display:grid;place-items:center;color:#5e6d85;font-size:11px;border:1px dashed #24334b;border-radius:9px;background:rgba(11,17,28,.55);text-align:center}
.result-pane.result-has-figures .figure-results-card{border-color:#2d456b}

@media (max-width:900px){
  .result-summary{grid-template-columns:1fr}
  .result-toolbar{padding:0 12px}
  .result-scroll{padding:14px}
}

/* Real statement debugger controls */
.debug-label{display:block;color:#a5b5d0;font-size:11px;font-weight:600;margin:14px 0 7px}
.debug-input{display:block;box-sizing:border-box;width:100%;padding:10px;border:1px solid #344765;border-radius:8px;background:#0a121f;color:#d7e6fa;font:12px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.debug-input:focus{outline:2px solid #4f80e6;outline-offset:1px}
.debug-inspector{white-space:pre-wrap;word-wrap:break-word;color:#a8c5e6;font:11px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#0b1524;border:1px solid #263c59;padding:12px;border-radius:8px;margin-top:14px;max-height:220px;overflow:auto}
.debug-note{font-size:10px;line-height:1.5;color:#7b90ab}

/* Readable, interactive engineering figure and signal views */
.figure-controls,.chart-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:10px 12px;background:#101b2b;border-radius:8px;margin:8px 0}
.plot-btn{background:#192b43;border:1px solid #36516e;color:#d9e9ff;border-radius:7px;padding:7px 12px;font-size:11px;font-weight:600;cursor:pointer}
.plot-btn:hover{background:#254263;border-color:#5c91c2}
.figure-item{max-width:100%;margin-bottom:20px;border:1px solid #2a3b56;padding:14px;border-radius:12px;background:#101929}
.figure-index{font-size:12px;color:#a9c1dd;font-weight:650}
.figure-viewport{height:min(63vh,650px);min-height:300px;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none;cursor:grab;background:#f8fbff;border-radius:9px}
.figure-viewport:active{cursor:grabbing}
.figure-transform{width:100%;height:100%;display:flex;align-items:center;justify-content:center;transform-origin:center center;will-change:transform}
.figure-viewport img{width:100%;height:100%;min-height:0;max-width:100%;max-height:100%;object-fit:contain;pointer-events:none;user-select:none;background:#fff;box-shadow:none;margin:0;border:none}
.signal-chart-card{border:1px solid #2b4465;border-radius:12px;padding:14px;background:#101a2a;overflow:auto}
.chart-title{font-size:13px;color:#d6e5fb;font-weight:700;margin-bottom:12px}
.signal-legend{display:flex;flex-wrap:wrap;gap:9px 14px;margin:12px 0}
.signal-entry{display:inline-flex;align-items:center;gap:6px;color:#bfcee3;font-size:11px;cursor:pointer}
.signal-color{display:inline-block;width:12px;height:4px;border-radius:3px}
.chart-cursor{flex:1;font:11px ui-monospace,monospace;color:#90b4da;min-width:160px}
.signal-canvas{display:block;width:100%;max-width:100%;height:auto;min-width:450px;border:1px solid #2b4362;border-radius:9px;cursor:crosshair;background:#0b1423}
@media(max-width:700px){.figure-viewport{height:330px;min-height:220px}.signal-canvas{min-width:0}.chart-toolbar{justify-content:flex-start}}

.project-file{display:block;border:0;background:transparent;text-align:left;color:#9bafcd;white-space:normal;overflow-wrap:anywhere;font:11px/1.45 ui-monospace,monospace;padding:8px 12px;cursor:pointer;width:100%;border-radius:5px}
.project-file:hover{background:#1c2b42;color:#dceaff}
.project-file.active-file{color:#e9f3ff;background:#233957;border-left:3px solid #75aeef}
#projectFilesPanel{max-height:55vh;overflow:auto}

/* OpenMathLab Data Studio — stateless Arrow / Parquet / CSV workspace */
[hidden]{display:none!important}
.data-view.active{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:0;background:#0a101a}
.data-sidebar{border-right:1px solid #243149;background:linear-gradient(180deg,#101b2b,#0c1422);padding:22px 12px;display:flex;flex-direction:column;gap:4px;min-height:0;overflow:auto}
.data-side-head{display:flex;flex-direction:column;gap:8px;padding:6px 14px 28px}
.data-side-kicker{color:#7791bb;font-size:9px;font-weight:800;letter-spacing:.15em}
.data-side-head strong{font-size:21px;letter-spacing:-.035em;color:#f1f6ff}
.data-side-head small,.data-side-footer small{font-size:11px;color:#8297b5;line-height:1.55}
.data-rail-title{font-size:9px;color:#627b9c;letter-spacing:.14em;font-weight:800;margin:0 12px 9px}
.data-nav{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;border-radius:9px;color:#93a9c8;text-align:left;font-size:12px;font-weight:650;border:1px solid transparent}
.data-nav span{font-size:17px;color:#7ca6e6;width:22px;text-align:center}
.data-nav:hover,.data-nav:focus-visible{background:#1b2a40;color:#edf5ff}
.data-nav.active{color:#f2f8ff;background:#223653;border-color:#304a6d}
.data-side-footer{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding:22px 12px 8px;border-top:1px solid #22314a}
.data-no-db{color:#a8d8c7;font-size:11px;font-weight:700;display:flex;align-items:center;gap:9px}
.data-no-db .status-dot{display:inline-block;width:7px;height:7px;background:#5ddcaf;border-radius:50%}
.data-center{padding:30px clamp(20px,3vw,46px) 45px;min-width:0;min-height:0;overflow:auto;scrollbar-gutter:stable}
.data-titlebar{display:flex;justify-content:space-between;align-items:center;gap:24px;max-width:1440px;margin:0 auto 22px}
.data-titlebar h2{font-size:clamp(25px,3vw,36px);letter-spacing:-.055em;margin:9px 0 7px;color:#f2f7ff}
.data-titlebar p{color:#90a3bf;font-size:12px;line-height:1.6;margin:0}
.data-titlebar .primary-btn{white-space:nowrap}
.data-notice{border:1px solid #284367;color:#b9d7fe;background:#122238;padding:12px 15px;border-radius:9px;font-size:12px;max-width:1440px;margin:0 auto 16px;line-height:1.5}
.data-notice.data-error{background:#2a1621;color:#ffc6ce;border-color:#784152}
.data-empty{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:340px;max-width:1440px;margin:0 auto;border:1px dashed #30405b;border-radius:18px;background:radial-gradient(circle at 50% 20%,#172b46,#101824 58%);padding:30px}
.data-empty-icon{width:76px;height:76px;border:1px solid #3c5476;border-radius:20px;display:grid;place-items:center;background:#20334e;font-size:34px;color:#a8c7fc;margin-bottom:22px}
.data-empty h3{font-size:20px;margin:0 0 9px;color:#edf4ff}
.data-empty p{font-size:12px;line-height:1.8;color:#8aa1c0;max-width:470px;margin:0 0 22px}
.data-work{max-width:1440px;margin:0 auto;min-width:0}
.data-file-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#131e2d;border:1px solid #273a54;border-radius:12px;padding:13px 16px;margin-bottom:14px}
.data-file-meta>div{display:flex;align-items:center;gap:12px;min-width:0}
.data-file-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e8f2ff;font-size:14px}
.data-file-type{padding:7px 9px;border-radius:7px;background:#24466c;color:#a9d1ff;font-size:10px;font-weight:900}
.data-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}
.data-kpis>div{background:linear-gradient(155deg,#17263a,#101a2b);border:1px solid #293d56;border-radius:11px;padding:16px;min-width:0}
.data-kpis span{display:block;color:#879bbb;font-size:10px;text-transform:uppercase;letter-spacing:.09em;margin-bottom:10px}
.data-kpis strong{font-size:17px;color:#ecf4ff;overflow-wrap:anywhere}
.data-pane{display:none;background:#101928;border:1px solid #283a54;border-radius:13px;padding:24px;min-height:220px}
.data-pane.active{display:block}
.data-pane h3{font-size:17px;color:#f1f5fd;margin:0 0 9px}
.data-pane p{color:#8fa5c2;font-size:12px;line-height:1.7;margin:0 0 20px}
.data-field-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}
.data-field-tags span{color:#b5cee9;background:#1c304a;border:1px solid #335378;border-radius:7px;padding:7px 10px;font-size:11px}
.data-table-wrap{max-height:min(56vh,640px);overflow:auto;border:1px solid #2b405d;border-radius:9px;scrollbar-gutter:stable}
.data-table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px;text-align:left}
.data-table th,.data-table td{border-bottom:1px solid #24364d;max-width:360px;min-width:92px;padding:13px 15px;vertical-align:top;overflow-wrap:anywhere}
.data-table th{position:sticky;top:0;z-index:1;background:#21334b;color:#deebff;font-size:11px;letter-spacing:.03em}
.data-table td{color:#c4d5ec}
.data-table tr:nth-child(2n) td{background:#131f2e}
.data-table tr:hover td{background:#1b3049}
.data-inline-head{display:flex;align-items:start;justify-content:space-between;gap:15px}
.data-filter{min-width:175px;max-width:280px;width:100%;border:1px solid #36506e;color:#f0f6ff;background:#0c1624;border-radius:8px;padding:10px 12px;font-size:12px}
.data-filter:focus-visible{outline:2px solid #779feb;outline-offset:2px}
.data-export-card{max-width:540px;border:1px solid #314a68;border-radius:12px;background:#152439;padding:22px;display:flex;flex-direction:column;gap:15px}
.data-export-card label{font-size:12px;color:#b7cae8;font-weight:650}
.data-export-card select{background:#0e1a2a;border:1px solid #3c5878;color:#e7f0ff;border-radius:8px;padding:13px 12px;font-size:13px}
.data-export-card .primary-btn{align-self:flex-start}
.data-export-card small{color:#99b0cb;font-size:11px;line-height:1.6}
.main-nav{min-width:0;overflow-x:auto;scrollbar-width:none}
.main-nav::-webkit-scrollbar{display:none}
.main-nav .nav-item{flex-shrink:0}
@media (max-width:1250px){.topbar{gap:12px;padding:0 10px}.brand-sub{display:none}.nav-item{padding:9px 8px;font-size:11px}.main-nav{display:flex}.top-actions .ghost-btn{display:none}}
@media (max-width:1100px){.main-nav{display:flex}.brand-wrap{min-width:0}.topbar{gap:9px}}
@media (max-width:790px){.app-shell{grid-template-rows:56px 55px minmax(0,1fr)}.brand-wrap{flex:0 0 auto}.brand-sub{display:none}.brand{font-size:13px}.topbar{gap:6px}.main-nav{display:flex;flex:1}.nav-item{padding:8px;font-size:10px}.top-actions{display:none}.data-view.active{grid-template-columns:1fr}.data-sidebar{flex-direction:row;overflow-x:auto;gap:4px;padding:9px 12px;align-items:center;border-right:0;border-bottom:1px solid #263951}.data-side-head,.data-rail-title,.data-side-footer{display:none}.data-nav{flex-shrink:0;width:auto;padding:9px 12px;font-size:11px}.data-center{padding:19px 15px 30px}.data-titlebar{gap:10px}.data-titlebar h2{font-size:24px}.data-titlebar .primary-btn{padding:10px;font-size:11px}.data-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.data-pane{padding:15px}.data-inline-head{display:block}.data-filter{margin-bottom:12px}.contextbar .page-subtitle{display:none}}

/* Keep primary navigation and the Run action available on compact screens. */
@media(max-width:790px){
  .top-actions{display:flex!important;flex:0 0 auto}
  .top-actions .ghost-btn,.top-actions .engine-status{display:none!important}
  .top-actions .run-btn{display:flex;padding:8px 10px;font-size:10px}
  .brand-wrap{flex:0 0 auto}
}

/* Mobile workspace navigation: keep project/files/debug accessible via drawer. */
@media(max-width:760px){
  #ide.workspace.active{grid-template-columns:minmax(0,1fr);grid-template-rows:55px minmax(0,1fr)}
  #ide .context-rail{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:5px;overflow-x:auto;grid-column:1;grid-row:1;width:100%;height:55px;min-height:55px;padding:5px 9px;border-right:0;border-bottom:1px solid #263955}
  #ide .context-rail .rail-brand{display:none}
  #ide .context-rail .rail-item{width:66px;min-width:60px;height:45px;min-height:45px;flex:0 0 auto;gap:2px}
  #ide .context-rail .rail-item span{font-size:14px}
  #ide .context-rail .rail-item small{font-size:9px}
  #ide .editor-panel{grid-column:1;grid-row:2}
  #ide .context-panel.mobile-open{display:block;position:fixed;top:112px;left:0;bottom:0;width:min(320px,90vw);height:auto;z-index:100;overflow:auto;box-shadow:16px 6px 36px rgba(0,0,0,.7);border-right:1px solid #365073}
  #ide .context-panel.mobile-open .context-panel-body{height:calc(100% - 60px)}
}

/* OpenMathLab professional Settings / AI Studio */
.settings-view.active{display:grid;grid-template-columns:242px minmax(0,1fr);background:#0a101a;min-height:0;height:100%;color:#eaf2ff}
.settings-rail{background:linear-gradient(180deg,#111e31,#0c1523);border-right:1px solid #2a3a53;padding:26px 13px;min-width:0;display:flex;flex-direction:column;gap:6px;overflow-y:auto}
.settings-rail-head{padding:5px 13px 25px}
.settings-rail-head small,.settings-kicker{font-size:10px;font-weight:800;color:#89aaf2;letter-spacing:.12em}
.settings-rail-head h2{font-size:26px;margin:8px 0 5px;letter-spacing:-.045em}
.settings-rail-head p,.settings-rail-footer,.settings-muted{font-size:11px;color:#94a8c5;line-height:1.65}
.settings-link{display:flex;align-items:center;gap:11px;min-height:43px;border:1px solid transparent;border-radius:10px;padding:9px 13px;text-align:left;color:#aec1dd;font-size:12px;font-weight:650;white-space:nowrap}
.settings-link span{font-size:17px;color:#84aafb;width:22px;text-align:center}
.settings-link:hover,.settings-link:focus-visible{background:#1e3049;color:#fff}
.settings-link.active{background:#253b5b;border-color:#385476;color:#f1f7ff}
.settings-rail-footer{margin-top:auto;padding:20px 12px;border-top:1px solid #293a52}
.settings-main{min-width:0;min-height:0;overflow-y:auto;padding:31px clamp(18px,3.3vw,52px) 70px;scrollbar-gutter:stable}
.settings-pane{display:none;max-width:1420px;margin:auto}
.settings-pane.active{display:block}
.settings-heading{margin:0 0 24px}
.settings-heading h2{font-size:clamp(24px,2.8vw,35px);letter-spacing:-.047em;color:#f3f8ff;margin:11px 0 7px}
.settings-heading p{font-size:12px;color:#a0b6d4;max-width:750px;line-height:1.75}
.settings-two-col{display:grid;grid-template-columns:minmax(300px,.91fr) minmax(340px,1.09fr);gap:20px;align-items:stretch}
.settings-card{background:linear-gradient(145deg,#142239,#101b2c);border:1px solid #2c415d;border-radius:15px;padding:25px;min-width:0;box-shadow:0 8px 28px rgba(0,0,0,.09)}
.settings-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:13px}
.settings-card h3{font-size:17px;color:#f0f6ff;margin:8px 0 13px;letter-spacing:-.025em}
.settings-card label:not(.settings-checkbox){display:block;font-size:11px;font-weight:750;color:#bfcee5;margin:16px 0 8px}
.settings-input,.ai-compose textarea{width:100%;min-width:0;box-sizing:border-box;background:#0b1524;border:1px solid #354d6d;border-radius:9px;padding:12px 13px;color:#f0f6ff;font:inherit;font-size:12px;outline:none}
.settings-input:focus-visible,.ai-compose textarea:focus-visible{border-color:#7eafff;box-shadow:0 0 0 3px rgba(116,160,251,.15)}
.settings-key-row{display:flex;align-items:stretch;gap:7px;min-width:0}
.settings-minibtn{border:1px solid #3a577c;border-radius:8px;padding:9px 12px;color:#d2e6ff;background:#1b3151;font-size:11px;white-space:nowrap;cursor:pointer}
.settings-minibtn:hover{background:#2a466c}
.settings-hint{font-size:11px;color:#94abc9;line-height:1.7;margin:11px 0}
.settings-action-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}
.settings-card .primary-btn,.settings-card .secondary-btn,.settings-card .tool-btn{min-height:37px;font-size:11px;padding:8px 12px}
.settings-chip{font-size:10px;white-space:nowrap;border:1px solid #355275;border-radius:30px;background:#213956;color:#d3e6ff;padding:7px 10px}
.settings-status{min-height:34px;margin-top:17px;font-size:11px;color:#a8ddc6;border:1px solid #2d544b;background:#122d2b;padding:10px 12px;border-radius:8px;line-height:1.6;overflow-wrap:anywhere}
.settings-status.settings-error{color:#ffb7c1;border-color:#744653;background:#311d29}
.settings-models{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px;max-height:120px;overflow:auto}
.settings-narrow{max-width:600px}
.settings-card p{line-height:1.7;font-size:12px;color:#9eb3d0}
.settings-note{border:1px solid #355073;background:#14243b;border-radius:12px;padding:18px 21px;margin-top:18px}
.settings-note strong{font-size:12px;color:#bcd6ff}
.settings-note p{line-height:1.7;color:#91a9c9;font-size:11px;margin:7px 0 0}
.settings-privacy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:19px}
.settings-checkbox{display:flex;gap:9px;align-items:center;color:#b6c9e1;font-size:11px;line-height:1.5;margin-top:14px;cursor:pointer}
.settings-checkbox input{accent-color:#73a7fa}
.ai-playground{display:flex;flex-direction:column;min-height:575px}
.ai-chat-log{flex:1;min-height:180px;max-height:430px;overflow-y:auto;background:#0c1626;border:1px solid #2e4160;border-radius:10px;padding:15px;display:flex;flex-direction:column;gap:13px;scrollbar-gutter:stable}
.settings-chat-empty{margin:auto!important;text-align:center;max-width:280px}
.ai-chat-bubble{border:1px solid #35506f;border-radius:12px;padding:11px 13px;max-width:93%;white-space:pre-wrap;overflow-wrap:anywhere}
.ai-chat-bubble.mine{align-self:flex-end;background:#203c65}
.ai-chat-bubble.theirs{align-self:flex-start;background:#16273f}
.ai-chat-bubble small{font-size:9px;letter-spacing:.11em;color:#a5bff3;font-weight:850}
.ai-chat-bubble p{margin:5px 0 0;color:#e1eeff;font-size:12px;line-height:1.7}
.ai-compose{display:flex;gap:10px;align-items:end;margin-top:15px}
.ai-compose textarea{resize:vertical;max-height:180px;min-height:72px}
.ai-compose .primary-btn{min-height:43px;flex-shrink:0}
:root[data-theme="light"] .settings-view{background:#ecf2fa;color:#21334e}
:root[data-theme="light"] .settings-rail{background:#e3ebf7;border-color:#cbd7e7}
:root[data-theme="light"] .settings-card{background:#fff;border-color:#ced9e8}
:root[data-theme="light"] .settings-heading h2,:root[data-theme="light"] .settings-card h3,:root[data-theme="light"] .settings-rail-head h2{color:#132948}
:root[data-theme="light"] .settings-input,:root[data-theme="light"] .ai-compose textarea,:root[data-theme="light"] .ai-chat-log{background:#f4f8fd;color:#1f3552;border-color:#bacde2}
:root[data-theme="light"] .settings-card label:not(.settings-checkbox),:root[data-theme="light"] .settings-link{color:#25425e}
:root[data-theme="light"] .settings-note{background:#e1edfd;border-color:#bbd1ed}
:root[data-theme="light"] .settings-note strong{color:#244977}
:root[data-theme="light"] .ai-chat-bubble.mine{background:#d1e1fa}
:root[data-theme="light"] .ai-chat-bubble.theirs{background:#e2edfa}
:root[data-theme="light"] .ai-chat-bubble p{color:#203650}
@media(max-width:1180px){.settings-two-col{grid-template-columns:1fr}.ai-playground{min-height:460px}}
@media(max-width:760px){.settings-view.active{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.settings-rail{padding:9px;flex-direction:row;overflow-x:auto;gap:5px;border-right:none;border-bottom:1px solid #293e5b}.settings-rail-head,.settings-rail-footer{display:none}.settings-link{flex-shrink:0;min-height:38px;padding:8px;font-size:10px}.settings-main{padding:19px 14px 42px}.settings-card{padding:17px}.settings-privacy-grid{grid-template-columns:1fr}.settings-two-col{grid-template-columns:minmax(0,1fr)}}

.sql-editor{font:12px/1.65 ui-monospace,Menlo,Consolas,monospace;resize:vertical;max-height:200px;min-height:100px;margin:10px 0 16px}.data-pane[data-datapane="sql"] .data-table-wrap{margin-top:17px;max-height:45vh}

/* Per-user GPU control center */
.gpu-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}
.gpu-mode{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:12px;background:#121e31;border:1px solid #2b3d5a;cursor:pointer;min-width:0}
.gpu-mode:has(input:checked){border-color:#7ca9f9;background:linear-gradient(145deg,#1b3152,#13243e);box-shadow:inset 0 0 0 1px #4877b7}
.gpu-mode input{margin:3px 0 0;accent-color:#89b7ff}
.gpu-mode strong{display:block;font-size:12px;color:#e7effe;line-height:1.5}
.gpu-mode small{display:block;margin-top:4px;color:#9bacbf;line-height:1.55;font-size:10px}
.gpu-input{resize:vertical;min-height:64px;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}
.gpu-output{white-space:pre-wrap;overflow:auto;max-height:300px;min-height:128px;background:#0a1423;border:1px solid #243956;border-radius:9px;padding:14px;color:#c9e5ff;font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;margin-top:12px}
.gpu-device{color:#9fb7d4;font-size:11px;margin-top:13px;line-height:1.6}
.gpu-layout{align-items:start}
@media(max-width:1080px){.gpu-modes{grid-template-columns:1fr}.gpu-layout{grid-template-columns:1fr}}
@media(max-width:640px){.gpu-mode{padding:12px}.gpu-output{max-height:220px}}


/* Authenticated multi-user entry, intentionally independent from the engineering layout */
.auth-overlay[hidden], [hidden].account-button {display:none!important}
.auth-overlay{position:fixed;inset:0;z-index:9999;background:rgba(4,10,20,.92);display:grid;place-items:center;padding:18px;backdrop-filter:blur(14px)}
.auth-panel{width:min(100%,475px);max-height:95vh;overflow:auto;background:linear-gradient(155deg,#172a46,#0c1628);border:1px solid #3e5b7c;border-radius:22px;box-shadow:0 28px 100px #0009;padding:clamp(22px,4vw,40px)}
.auth-logo{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.14em;font-weight:800;color:#acd2ff}
.auth-logo .brand-mark{display:grid;place-items:center;width:41px;height:41px;border-radius:12px;background:#224d7a;color:#e7f3ff;font-size:24px}
.auth-panel h1{font-size:clamp(24px,4vw,32px);letter-spacing:-.035em;margin:26px 0 9px;color:#f0f7ff}
.auth-panel p{font-size:13px;line-height:1.7;color:#a1b6d2;margin-bottom:25px}
.auth-form{display:flex;flex-direction:column;gap:11px}
.auth-form label{font-size:12px;font-weight:650;color:#c5d8f0}
.auth-form input{border:1px solid #3d5574;background:#101e33;border-radius:10px;color:#edf6ff;padding:13px 15px;min-height:45px;outline:none;font:14px inherit}
.auth-form input:focus-visible{border-color:#87b7ff;box-shadow:0 0 0 3px #73aaff27}
.auth-form .primary-btn{justify-content:center;margin-top:12px;min-height:46px}
.auth-panel small{display:block;color:#8ca4c2;line-height:1.6;margin-top:20px}
#authMessage{font-size:12px;color:#ffb5c1;min-height:18px}
.account-button{max-width:165px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){.account-button{max-width:85px;padding-inline:8px}}

/* Mobile containment: the app root must not expand to its children's intrinsic width. */
@media(max-width:760px){
  html,body,#app.app-shell{width:100%;max-width:100%;min-width:0;overflow-x:hidden}
  #app.app-shell{box-sizing:border-box}
  .topbar,.contextbar,.settings-view.active{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
  .topbar{overflow:hidden}
  .main-nav{min-width:0;flex:1 1 0;overflow-x:auto;overscroll-behavior-x:contain}
  .contextbar .context-actions{max-width:44%;overflow:hidden}
  .settings-rail{width:100%;box-sizing:border-box;overflow-x:auto;overscroll-behavior-x:contain}
  .settings-main,.settings-pane,.settings-heading,.settings-two-col{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
  .settings-main{overflow-x:hidden}
  .settings-card{max-width:100%;box-sizing:border-box}
  .settings-action-row .primary-btn,.settings-action-row .secondary-btn{min-width:0;white-space:normal;overflow-wrap:break-word}
}
:focus-visible{outline:2px solid #92c3ff;outline-offset:3px}
.gpu-job-display{font-size:12px;color:#a4bfe0;background:#0b1524;border-radius:10px;border:1px solid #304560;padding:11px;margin-top:13px;overflow-wrap:anywhere}
/* Readable and keyboard-accessible workspace actions, including Isolated Run. */
.editor-toolbar{height:auto;min-height:44px;flex-wrap:wrap;row-gap:4px;padding-block:4px}
.editor-toolbar .work-tabs{min-width:0;overflow-x:auto;scrollbar-width:thin;flex:1 1 320px}
.editor-toolbar .toolbar-actions{min-width:0;flex-wrap:wrap;gap:5px;padding:0 9px 0 4px;justify-content:flex-end}
:is(button,a,input,textarea,select,[role="tab"]):focus-visible{outline:2px solid #7bb7ff;outline-offset:3px}
@media(max-width:650px){
  .editor-toolbar{align-items:flex-start}
  .editor-toolbar .work-tabs{flex-basis:100%;white-space:nowrap}
  .editor-toolbar .toolbar-actions{width:100%;justify-content:flex-start;padding:5px 8px}
  .editor-toolbar .toolbar-actions .tool-btn{min-height:34px}
}

/* OpenMathLab Notebook Studio and Isolated Compute Job Center */
.modern-studio.active{display:grid;grid-template-columns:258px minmax(0,1fr);min-height:0;background:#0a111d;overflow:hidden}
.studio-sidebar{padding:28px 17px;overflow-y:auto;background:linear-gradient(#121f32,#0b1524);border-right:1px solid #283750;display:flex;flex-direction:column;gap:12px}
.studio-label,.studio-eyebrow,.studio-section-title{font-size:10px;font-weight:800;color:#85a4d6;letter-spacing:.13em}
.studio-sidebar h2{font-size:21px;letter-spacing:-.04em;margin:8px 0 0}
.studio-sidebar p,.studio-side-note,.studio-note{font-size:12px;line-height:1.7;color:#95a9c7}
.studio-section-title{margin-top:20px}
.studio-side-action{display:block;padding:11px 12px;text-align:left;border-radius:9px;background:#19283d;border:1px solid #324663;color:#dbe9ff;font-size:12px;font-weight:600}
.studio-side-action:hover,.studio-side-action:focus-visible{background:#223a59;border-color:#5d83b5}
.studio-side-note{background:#101b2b;padding:12px;border:1px solid #283d55;border-radius:10px;margin-top:8px}
.studio-content{overflow-y:auto;min-height:0;padding:34px clamp(18px,3vw,52px) 70px;scrollbar-gutter:stable}
.studio-content>*{max-width:1120px;margin-left:auto;margin-right:auto}
.studio-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.studio-top h2{font-size:clamp(25px,3vw,36px);margin:8px 0;letter-spacing:-.045em}
.studio-top p{margin:0;font-size:12px;color:#8da2c0}
.studio-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.studio-actions button{flex-shrink:0}
.studio-card,.nb-cell{background:#111c2c;border:1px solid #2b3f5a;border-radius:14px;padding:20px;margin-bottom:16px;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.studio-card-head,.nb-cell-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:13px;flex-wrap:wrap}
.studio-card h3{font-size:15px;margin:0;color:#e9f1fe}
.studio-tag{font-size:10px;color:#a5c8f3;background:#1b3755;padding:6px 9px;border:1px solid #32557a;border-radius:50px}
.studio-inline-label,.studio-cell-label{display:block;color:#adc2df;font-size:10px;font-weight:800;letter-spacing:.1em;margin-bottom:10px}
.studio-input,.studio-code{width:100%;border-radius:9px;border:1px solid #334967;background:#080f1a;color:#e6efff;padding:12px 14px;font-size:13px}
.studio-input{font-family:inherit;margin-bottom:12px}
.studio-code{font:13px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical;min-height:110px;max-height:580px;tab-size:2}
.nb-source{min-height:85px}
.nb-result{margin-top:12px;min-height:0}
.nb-result:empty{display:none}
.nb-markdown{background:#152335;color:#c0d2e9;border-radius:10px;padding:17px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}
.nb-output{background:#080e19;color:#c8dbf1;border:1px solid #2c405d;border-radius:10px;padding:16px;white-space:pre-wrap;overflow:auto;max-height:350px;font:12px/1.65 ui-monospace,Consolas,monospace}
.nb-figure{display:block;width:auto;max-width:100%;max-height:630px;object-fit:contain;margin-top:12px;background:#fff;border-radius:10px}
.studio-end{display:flex;justify-content:center;padding:18px}
.job-card{background:#111b2b;border-radius:11px;border:1px solid #2d425f;padding:14px;margin-bottom:10px}
.job-card .studio-card-head{margin:0 0 6px}
.job-card .studio-actions{margin-top:8px}
.job-card .job-details{margin-top:12px}
.studio-error{color:#ff9ca8!important}
@media(max-width:900px){.modern-studio.active{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.studio-sidebar{padding:13px 16px;flex-direction:row;flex-wrap:wrap;gap:7px;overflow:visible;max-height:152px;overflow-y:auto;border-right:0;border-bottom:1px solid #283750}.studio-sidebar h2{font-size:15px}.studio-sidebar p,.studio-sidebar .studio-side-note,.studio-sidebar .studio-section-title{display:none}.studio-side-action{font-size:11px;padding:8px 10px}.studio-content{padding:18px 13px 50px}.studio-card,.nb-cell{padding:13px}.studio-actions .tool-btn{padding:8px}.studio-top{align-items:flex-start}}

.ai-context-preview{white-space:pre-wrap;overflow-wrap:anywhere;max-height:190px;overflow:auto;padding:13px;margin-top:12px;border:1px solid #365174;border-radius:9px;background:#081323;color:#a9c5e8;font:11px/1.55 ui-monospace,Consolas,monospace}
.nb-markdown p{margin:8px 0;white-space:pre-wrap}.nb-markdown h1,.nb-markdown h2,.nb-markdown h3,.nb-markdown h4{margin:14px 0 8px;color:#f0f6ff;letter-spacing:-.02em}.nb-markdown h1{font-size:24px}.nb-markdown h2{font-size:19px}.nb-markdown h3{font-size:15px}

/* Compute Job Center: accessible filters, bounded result output and timeline */
.jobs-filters { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:12px 0; }
.jobs-filters label { font-size:.82rem; font-weight:600; }
.jobs-filters select { width:min(190px,100%); }
.jobs-filters input { width:min(240px,100%); }
.job-details { max-height:490px; overflow:auto; padding:12px; background:var(--panel-bg,rgba(120,130,145,.07)); border-radius:10px; }
.job-details .nb-output { max-height:320px; overflow:auto; overflow-wrap:anywhere; white-space:pre-wrap; }
.job-events { border-top:1px solid rgba(128,128,128,.24); margin-top:12px; padding-top:8px; }
.job-event { margin:5px 0; font-size:.83rem; overflow-wrap:anywhere; }
@media(max-width:640px){ .jobs-filters { align-items:stretch; flex-direction:column; } .jobs-filters input, .jobs-filters select{width:100%;} }

/* AI code review — explicit preview/apply/undo rather than automatic edits */
.ai-patch-tools { border:1px solid rgba(128,128,128,.25);border-radius:12px;padding:14px;margin:14px 0; }
.ai-patch-tools h4 { margin:0 0 8px; }
.ai-patch-preview { display:flex;flex-direction:column;gap:9px;margin-top:12px; }
.ai-patch-preview[hidden] { display:none; }
.ai-patch-preview textarea {width:100%;min-height:190px;max-height:360px;overflow:auto;resize:vertical;font:12px/1.55 ui-monospace,Consolas,monospace;background:var(--panel-bg,rgba(120,130,145,.08));border-radius:8px;padding:10px;}
.ai-patch-preview label {font-size:.8rem;font-weight:600;}
@media(max-width:820px){.ai-patch-preview{grid-template-columns:1fr;}}
/* Secondary tool output: stays inside contextual navigation, never clips editor. */
.context-action-output { white-space:pre-wrap;overflow-wrap:anywhere;max-height:28vh;overflow:auto;margin:10px;padding:12px;border:1px solid var(--border, #344052);border-radius:9px;background:rgba(9,18,31,.55);font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;}
.advanced-example-description,.advanced-example-result{white-space:pre-wrap;overflow-wrap:anywhere;max-height:25rem;overflow:auto;margin:.5rem 0;font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;}
.advanced-example-result{padding:.65rem;border-radius:9px;}
#advancedOutput button{margin:.5rem 0;}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #72bcff;outline-offset:2px;}
@media (max-width:760px){.context-action-output{max-height:22vh}.advanced-example-description,.advanced-example-result{max-height:15rem}}

.advanced-output{white-space:pre-wrap;overflow-wrap:anywhere;min-height:3.5rem;padding:.6rem 0}.advanced-output .tool-btn{white-space:normal;text-align:left}
