.studio-page #simulationPage .workspace-grid{grid-template-columns:minmax(0,1fr) 254px;gap:14px;align-items:start}
.studio-page #simulationPage .scene-canvas{height:clamp(620px,calc(100dvh - 210px),960px)}
.studio-page #simulationPage .control-dock{position:relative;top:0;height:var(--control-height,620px);max-height:calc(100dvh - 32px);min-height:0;display:flex;align-items:stretch;gap:0;overflow:hidden;border:1px solid #c6deda;border-top:3px solid #73ceca;border-radius:12px;background:#fff;box-shadow:0 5px 18px #234b4606}
.control-dock-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 15px 13px;flex:none}.control-dock-heading .eyebrow{font-size:8px;letter-spacing:1.3px}.control-dock-heading strong{display:block;margin-top:6px;font-size:13px;line-height:1.35;font-weight:600;color:#2e5c58}.dock-clock{display:flex;align-items:center;gap:7px;font-size:12px;color:#366b65;font-variant-numeric:tabular-nums}.dock-clock button{border:1px solid #bcded8;border-radius:6px;background:#e9f7f4;color:#246c62;width:28px;height:29px}.dock-clock button:disabled{opacity:.4}
.control-tabs{display:grid;grid-template-columns:repeat(4,1fr);padding:0 10px 10px;gap:3px;flex:none;border-bottom:1px solid #dcebe7}.control-tabs button{position:relative;border:0;border-radius:6px;padding:9px 2px;background:#f2f7f5;color:#65807a;font-size:11px;font-weight:550}.control-tabs button[aria-selected=true]{background:#d8f2ed;color:#20685c;box-shadow:inset 0 -2px #61c3b7}.control-tabs button:disabled{opacity:.4}.control-tabs button[data-count]:not([data-count=""]):after{content:attr(data-count);position:absolute;top:2px;right:2px;min-width:12px;padding:1px 2px;border-radius:8px;background:#cf835e;color:white;font-size:8px}.control-tabs button:focus-visible,.control-page:focus-visible{outline:2px solid #3caa99;outline-offset:-2px}
.control-pages{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a2d3ca transparent;padding:0 4px 8px}.control-page[hidden]{display:none!important}.control-page{min-width:0}.studio-page .control-dock .panel{border:0;border-radius:0;box-shadow:none;margin:0;padding:16px 12px;background:white}.studio-page .control-dock .panel+.panel{border-top:1px solid #deebe8}.studio-page .control-dock .section-heading h2{font-size:13px}.studio-page .control-dock .section-heading{margin-bottom:12px}.studio-page .control-dock .field-label{margin:12px 0 7px;font-size:9px}.studio-page .control-dock .dataset-detail{font-size:10px;line-height:1.55;margin:7px 0 12px}.studio-page .control-dock select{font-size:11px}.studio-page .control-dock .checkbox{margin:12px 0;font-size:10px}.studio-page .control-dock .speed-label{margin-top:14px}.studio-page .control-dock .status-message{font-size:10px}.studio-page .control-dock .junction-approaches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.studio-page .control-dock .junction-approach{display:block;padding:8px 5px;background:#f5f9f7;border-radius:6px}.studio-page .control-dock .junction-approach strong{font-size:10px}.studio-page .control-dock .junction-approach small{font-size:8px;min-height:21px}.studio-page .control-dock .junction-light{display:inline-block;font-size:9px;margin-top:5px;padding:3px 7px}.studio-page .control-dock .junction-pedestrians strong{font-size:24px}.studio-page .control-dock .junction-pedestrians span{font-size:9px}.studio-page .control-dock .junction-settings{margin:12px 0}.studio-page .control-dock .junction-selector{margin:12px 0}.studio-page .control-dock .signal-display{gap:9px}
@media(max-width:1100px) and (min-width:951px){.studio-page #simulationPage .workspace-grid{grid-template-columns:minmax(0,1fr) 246px}.control-dock-heading{padding:13px 12px}}
@media(max-width:950px){.studio-page #simulationPage .workspace-grid{grid-template-columns:1fr}.studio-page #simulationPage .control-dock{position:relative;top:auto;width:100%;height:520px;max-height:none}.studio-page .control-dock #controlsPage-run{display:grid;grid-template-columns:1.4fr 1fr;align-items:start}.studio-page .control-dock .panel+.panel{border-top:0}.studio-page #simulationPage .scene-canvas{height:560px}.control-tabs button{font-size:12px}.studio-page .control-dock .junction-approach small{min-height:0}}
@media(max-width:640px){.studio-page #simulationPage .scene-canvas{height:450px}.studio-page .control-dock #controlsPage-run{display:block}.studio-page #simulationPage .control-dock{height:560px}.studio-page .control-dock .panel{padding:16px}.studio-page .control-dock .panel+.panel{border-top:1px solid #deebe8}.control-dock-heading{padding:14px 16px}.control-tabs{padding:0 12px 10px}}

.studio-page #simulationPage .dock-wide-pulse{grid-column:1/-1;margin:0}.studio-page #simulationPage .visual-column{min-width:0}

.control-dock #dockLaneActivity .lane-row{grid-template-columns:8px 58px minmax(20px,1fr) 35px;gap:6px}.control-dock #dockLaneActivity .lane-speed{grid-column:2/5;text-align:left;font-size:10px;margin-top:-3px}.control-dock #dockLaneActivity .lane-name{font-size:11px}.control-dock #dockLaneActivity .lane-occupancy{font-size:11px}

/* A larger default canvas, plus a one-click full-width map workspace. */
@media(min-width:1101px){body.studio-page[data-page=simulation]{--workspace-nav-width:176px}body.studio-page[data-page=simulation] .workspace{padding-left:18px;padding-right:18px}.studio-page[data-page=simulation] .workspace-sidebar .brand{font-size:21px}.studio-page[data-page=simulation] .workspace-sidebar .brand img{width:31px}}
.studio-page #simulationPage .workspace-grid.controls-collapsed{grid-template-columns:minmax(0,1fr)}
.studio-page #simulationPage .control-dock[hidden]{display:none!important}
.studio-page .scene-top-actions .map-space-button{font-size:10px;padding:0 8px;gap:4px;white-space:nowrap}
.studio-page .scene-top-actions .map-space-button[aria-expanded=false]{background:#d3efeb;color:#20695f}
.studio-page #speedValue.speed-status{font-size:18px;line-height:1.2;letter-spacing:-.5px}
.studio-page #impactSpeed{font-size:24px}
.studio-page #simulationPage .scene-card:fullscreen .scene-canvas{height:auto;min-height:0;flex:1}
@media(max-width:950px){.studio-page #simulationPage .scene-canvas{height:650px}}
@media(max-width:640px){.studio-page #simulationPage .scene-canvas{height:570px}.studio-page .map-space-button span{display:none}}
