:root{color-scheme:dark;--bg:#151c20;--panel:#1b2529;--line:#354147;--text:#ece8df;--muted:#96a5aa;--accent:#d2b17d;--mint:#8fc5b9;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}
*{box-sizing:border-box}body{margin:0}button,select,input,textarea{font:inherit}button,select,summary{cursor:pointer}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--mint);outline-offset:3px}[hidden]{display:none!important}
.workspace.stage-wide{grid-template-columns:minmax(0,1fr)}.stage-wide .tuning{display:none}.stage-wide .play-column{position:static}
#helpDialog{width:min(820px,94vw);max-height:85vh;overflow:auto;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:22px}#helpDialog::backdrop{background:#080e13bb}.help-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.help-heading h2{margin:0;font-size:22px}#helpDialog p,#helpDialog dd{font-size:13px;line-height:1.6;color:#bdc9cb}#helpModes{display:grid;grid-template-columns:1fr 1fr;gap:12px}#helpModes article{border:1px solid var(--line);padding:14px;border-radius:4px}#helpModes h3{margin:0;color:var(--accent);font-size:14px}#helpModes p{margin-bottom:0}.key-guide{display:grid;grid-template-columns:170px 1fr;gap:10px 18px}.key-guide dt{font-size:12px;color:var(--mint);padding-top:2px}.key-guide dd{margin:0}#helpDialog details{border-top:1px solid var(--line)}@media(max-width:600px){#helpModes{grid-template-columns:1fr}#helpDialog{padding:16px}.key-guide{grid-template-columns:1fr;gap:4px}.key-guide dd{margin-bottom:10px}}
main{max-width:1800px;margin:auto;padding:16px 22px}header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 14px;font-size:11px;letter-spacing:.1em}header a{color:var(--accent);text-decoration:none;font-weight:650}header a span{color:var(--muted);font-weight:400}.device{font-size:9px;color:var(--mint)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start}.play-column{position:sticky;top:12px;min-width:0}.modes{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}.modes button{border:1px solid var(--line);background:transparent;border-radius:4px;padding:12px 6px;font-size:12px}.modes button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:#302e27}.bench{border:1px solid var(--line);border-radius:5px;overflow:hidden}.toolbar{display:flex;align-items:center;gap:8px;padding:10px;background:var(--panel);flex-wrap:wrap}.toolbar label{font-size:10px;color:var(--muted);display:flex;gap:5px;align-items:center}select{color:var(--text);background:#172024;border:1px solid var(--line);padding:7px;border-radius:3px;font-size:11px}.quiet{background:transparent;color:var(--text);border:1px solid var(--line);border-radius:3px;padding:7px 9px;font-size:11px}.quiet:hover{background:#2b383d}button:disabled{opacity:.4;cursor:default}kbd{font-size:10px;color:var(--muted)}.stage{position:relative;background:#141e22}.stage canvas{display:block;width:100%;height:auto;touch-action:none;cursor:crosshair;outline:none}.stage-top,.stage-bottom{position:absolute;left:14px;right:14px;display:flex;justify-content:space-between;gap:12px;pointer-events:none;font-size:9px;color:var(--muted)}.stage-top{top:14px;letter-spacing:.08em}.stage-top span:first-child{color:var(--accent)}#stance{color:var(--mint)}.stage-bottom{bottom:12px;font-size:10px}#targetHint{display:none}.readouts{display:grid;grid-template-columns:repeat(5,1fr);padding:12px;background:var(--panel);gap:10px;border-top:1px solid var(--line)}.readouts small{display:block;font-size:8px;color:var(--muted);margin-bottom:6px}.readouts strong{font-size:16px;font-weight:500;font-variant-numeric:tabular-nums}.readouts em{font-size:10px;font-style:normal}.quick-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 0;font-size:10px;color:var(--muted)}.check{display:inline-flex;align-items:center;gap:4px}.check input{accent-color:var(--accent)}.paused{position:absolute;inset:0;background:#132027de;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px}.paused strong{font-size:30px;font-weight:400}.paused span{font-size:12px;color:var(--muted)}
.tuning{border:1px solid var(--line);border-radius:5px;background:var(--panel);overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 14px 4px}h1{font-size:17px;font-weight:550;margin:0}#settingsStatus{color:var(--muted);font-size:10px;margin:6px 14px 14px;line-height:1.5;min-height:15px}.parameter-group,.presets{border-top:1px solid var(--line);padding:0 14px}summary{font-size:12px;font-weight:550;padding:13px 0;user-select:none}summary::marker{color:var(--accent)}.group-reset{display:block;margin:0 0 12px auto;border:0;background:none;color:var(--muted);font-size:10px;padding:0}.parameter{display:grid;grid-template-columns:minmax(0,1fr) 70px;align-items:center;gap:6px 10px;margin:0 0 17px}.parameter label{font-size:11px}.parameter small{font-size:9px;color:var(--muted);text-align:right}.parameter input[type=range]{width:100%;min-width:0;margin:0;accent-color:var(--accent);height:22px}.parameter input[type=number]{width:70px;font-size:11px;text-align:right;padding:4px;background:#121d21;color:var(--text);border:1px solid var(--line);border-radius:3px;font-variant-numeric:tabular-nums}.preset-row{display:flex;gap:6px;margin-bottom:10px}.preset-row>input,.preset-row>select{min-width:0;flex:1;width:100%;padding:7px;border:1px solid var(--line);background:#121d21;color:var(--text);font-size:11px;border-radius:3px}.import{position:relative;overflow:hidden;cursor:pointer}.import input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.help{border-top:1px solid var(--line);color:var(--muted);font-size:12px}.help h2{font-size:14px;color:var(--text)}.help p{line-height:1.5}.help summary{font-size:11px}.feedback textarea{display:block;width:100%;margin:8px 0;resize:vertical;background:#192226;color:var(--text);border:1px solid var(--line);padding:8px}.feedback label{font-size:11px}
.touch{display:flex;align-items:center;justify-content:space-between;padding:12px 8px 20px;gap:10px;touch-action:none;user-select:none}.stick{width:110px;height:110px;border:1px solid #60777c;border-radius:50%;position:relative;background:#23343b;touch-action:none}.stick i{position:absolute;width:42px;height:42px;top:34px;left:34px;border-radius:50%;background:#799f9b;border:1px solid #bdd8d0;pointer-events:none}.stick span{position:absolute;top:117px;width:100%;text-align:center;font-size:9px;color:var(--muted);letter-spacing:.1em;pointer-events:none}.touch-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}.touch-actions button{background:#2e3e42;border:1px solid #60777c;border-radius:6px;min-height:48px;padding:8px 12px;font-size:11px;touch-action:none}.touch-actions button.held{background:#696047;border-color:var(--accent)}
@media(max-width:1000px){main{padding:12px}.workspace{grid-template-columns:minmax(0,1fr) 290px;gap:12px}.modes button{font-size:10px}.readouts{grid-template-columns:repeat(3,1fr)}.toolbar label{font-size:9px}.quick-controls>span{flex-basis:100%}}
@media(max-width:760px){main{padding:10px}.workspace{grid-template-columns:1fr}.play-column{position:static}.device{font-size:8px}header{font-size:9px}.modes button{font-size:11px}.tuning{margin-bottom:20px}.readouts{grid-template-columns:repeat(5,1fr);gap:5px}.readouts small{font-size:7px}.readouts strong{font-size:12px}.stage-bottom{font-size:8px}.stage-top{font-size:8px}.touch{position:sticky;bottom:0;background:#151c20f5;z-index:2;padding:10px 0 30px}.stick{width:85px;height:85px}.stick i{top:23px;left:23px;width:38px;height:38px}.stick span{top:90px}.touch-actions{gap:5px;max-width:155px}.touch-actions button{padding:6px 8px;min-height:42px;font-size:9px}}
#driveDescription{margin:0;padding:8px 12px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.5}.parameter input:disabled{opacity:.35;cursor:not-allowed}
.parameter{position:relative}.parameter label{display:flex;align-items:center;gap:6px}.parameter-help{flex:none;width:18px;height:18px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--mint);font-size:10px;cursor:help}.parameter-help:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.parameter-tooltip{display:none;position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;padding:12px;background:#28383e;border:1px solid #6d9695;border-radius:5px;color:#e1ecea;font-size:12px;line-height:1.6;box-shadow:0 8px 24px #0008;pointer-events:auto}.parameter:not(.tip-dismissed):hover>.parameter-tooltip,.parameter:not(.tip-dismissed):focus-within>.parameter-tooltip{display:block}.parameter:focus-within{outline:1px solid #718e8870;outline-offset:5px}
.logic-section{margin-top:28px;border:1px solid var(--line);border-radius:6px;background:var(--panel);min-width:0}.logic-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:18px 20px 0}.logic-heading h2{margin:0;font-size:18px}.logic-heading span,.logic-caption{font-size:11px;color:var(--muted);line-height:1.6}.logic-caption{margin:8px 20px 0}.logic-scroll{overflow-x:auto;overscroll-behavior-x:contain;background-color:#142126;background-image:radial-gradient(#304349 1px,transparent 1px);background-size:16px 16px;margin-top:16px;border-block:1px solid var(--line)}.logic-board{position:relative;width:1460px;height:426px}.logic-board>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.logic-board>svg>path{fill:none;stroke:#526e77;stroke-width:1.8}.logic-board>svg>path[data-kind=feedback]{stroke-dasharray:6 5;stroke:#b19565}.logic-board>svg>path.active{stroke:var(--accent);stroke-width:2.8}.logic-node{position:absolute;width:180px;height:96px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;justify-content:center;gap:8px;padding:12px;background:#1c2c33;border:1px solid #52656b;border-radius:7px;color:var(--text);cursor:pointer;box-shadow:0 4px 10px #0003}.logic-node small{font-size:8px;letter-spacing:.06em;color:var(--mint)}.logic-node strong{font-size:13px;font-weight:600}.logic-node span{font-size:10px;color:#a9bdc0;line-height:1.3}.logic-node.selected,.logic-node:hover,.logic-node:focus-visible{border-color:var(--accent);background:#34352c;outline:none}.logic-feedback{position:absolute;left:640px;top:408px;font-size:9px;color:#c2ac85}.logic-detail{padding:18px 20px}.logic-detail h3{font-size:14px;color:var(--mint);margin:0 0 8px}.logic-detail p{font-size:12px;color:#bdcccf;line-height:1.7;margin:0 0 14px;max-width:1000px}.logic-fields{display:flex;gap:8px;flex-wrap:wrap}.logic-parameter{border:1px solid var(--line);border-radius:4px;padding:8px 10px;background:#18252a;color:var(--text);font-size:11px;text-align:left;cursor:pointer}.logic-parameter:hover,.logic-parameter:focus-visible{border-color:var(--accent);outline:none}@media(max-width:760px){.logic-heading{align-items:flex-start;flex-direction:column}.logic-detail{padding:14px}.logic-node{box-shadow:none}}
.parameter-track{position:relative;min-width:0}.recommended-marker{position:absolute;bottom:-3px;width:2px;height:5px;background:var(--accent);pointer-events:none;transform:translateX(-1px)}.parameter-baseline{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:9px;color:var(--muted)}.parameter-baseline button{font:inherit;color:var(--mint);background:transparent;border:0;padding:4px 0;cursor:pointer}.parameter-baseline button:focus-visible{outline:1px solid var(--accent)}.parameter-baseline button:hover{color:var(--accent)}
.parameter>.parameter-tooltip{position:fixed;right:auto;z-index:100;max-height:calc(100vh - 16px);overflow:auto}
.encounter-status{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:8px 12px;border-top:1px solid var(--line);font-size:10px;color:#b9c9c9}.encounter-status #ammoReadout{color:var(--accent);font-variant-numeric:tabular-nums}.modes button:disabled{opacity:.45;cursor:default}
/* Keep the node dock visible while the workspace scrolls independently. */
html,body{height:100%;overflow:hidden}
main{height:100vh;height:100dvh;max-width:none;padding:10px 14px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px}
header{padding:0;min-height:24px}
.workspace{min-height:0;overflow:hidden;align-items:stretch;gap:10px;grid-template-columns:minmax(0,1fr) 310px}
.play-column,.stage-wide .play-column{position:static;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.tuning{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.panel-heading{padding:10px 12px 4px}
#settingsStatus{margin:4px 12px 8px}
.parameter-group,.presets{padding:0 12px}
summary{padding:10px 0}
.parameter{margin-bottom:10px;gap:3px 8px}
.group-reset{margin-bottom:8px}
.modes{gap:4px;margin-bottom:6px}
.modes button{padding:8px 6px}
.toolbar{gap:6px;padding:8px}
.toolbar select{max-width:190px}
select,.quiet{padding:6px 8px}
#driveDescription{padding:6px 10px;font-size:10px;line-height:1.4}
.encounter-status{padding:5px 10px}
.readouts{padding:8px 10px;gap:8px;grid-template-columns:repeat(5,minmax(0,1fr))}
.readouts small{margin-bottom:3px}
.readouts strong{font-size:14px}
.quick-controls{gap:8px;padding:7px 0}
.quick-controls>span{flex:1;min-width:220px;line-height:1.5}
.logic-section{margin:0;overflow:hidden;height:clamp(190px,32dvh,290px);display:flex;flex-direction:column}
.logic-section.collapsed{height:auto}
.logic-heading{padding:7px 12px;align-items:center;flex:none;gap:12px;border-bottom:1px solid var(--line)}
.logic-heading h2{font-size:13px;white-space:nowrap}
.logic-heading>span{flex:1;font-size:10px}
.logic-heading button{margin-left:auto;min-width:90px}
#logicGraph{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,28%);min-height:0;flex:1}
.logic-scroll{margin:0;border:0;overflow:auto;min-height:0}
.logic-detail{padding:10px 12px;overflow:auto;border-left:1px solid var(--line);min-width:0}
.logic-detail h3{font-size:13px;margin-bottom:5px}
.logic-detail p{font-size:11px;line-height:1.5;margin-bottom:8px}
.logic-fields{gap:5px}
.logic-parameter{padding:6px 8px;font-size:10px}
.logic-node:focus-visible{outline:2px solid var(--mint);outline-offset:2px}
.logic-board{width:1300px;height:200px}
.logic-node{width:164px;height:66px;gap:4px;padding:8px}
.logic-node strong{font-size:11px}
.logic-node span{font-size:9px}
.logic-node small{font-size:7px}
.logic-feedback{left:390px;top:183px;font-size:8px}
@media(max-width:1000px){.workspace{grid-template-columns:minmax(0,1fr) 280px}.quick-controls>span{flex-basis:100%}}
@media(max-width:760px){
 main{padding:6px;gap:6px}
 .workspace{grid-template-columns:1fr;overflow:auto;display:block}
 .play-column,.stage-wide .play-column,.tuning{overflow:visible;scrollbar-gutter:auto}
 .tuning{margin:8px 0 0}
 .stage-wide .tuning{display:none}
 .logic-heading{flex-direction:row;gap:6px;padding:6px 8px}
 .logic-heading h2{font-size:11px}
 .logic-heading>span{display:none}
 #logicGraph{grid-template-columns:minmax(0,1fr) minmax(150px,38%)}
 .logic-detail{padding:8px}
 .logic-detail p{font-size:10px}
 .toolbar label{font-size:10px}
 .readouts strong{font-size:12px}
 .touch{position:static}
}
@media(max-height:500px){.logic-section{height:150px}.logic-section.collapsed{height:auto}}

/* Three-level experiment editor. The graph and inspector share one schema. */
.stage canvas{height:clamp(170px,calc(100dvh - 520px),480px);width:100%}
.block-notes summary{font-size:10px;padding:7px 0}
[hidden]{display:none!important}
.architectures{grid-template-columns:repeat(3,minmax(0,1fr))}
.architecture-heading{font-size:11px;color:var(--accent);margin:2px 0 8px;display:flex;gap:14px;align-items:center}
.architecture-heading span{font-size:9px;color:var(--muted)}
.block-path{margin:5px 12px;color:var(--accent);font-size:10px}
.block-editor{padding:10px 12px;border-block:1px solid var(--line)}
.block-editor label{display:block;font-size:11px;color:var(--mint);margin-bottom:6px}
.block-editor label small{display:block;color:var(--muted);font-size:9px;margin-top:3px}
.block-editor select{width:100%;font-size:12px}
.block-editor p{font-size:11px;line-height:1.5;color:var(--muted);margin:8px 0 12px}
.block-editor #variantDescription{margin-bottom:0;color:#c7d7d5}
.parameter-group h3{font-size:12px;color:var(--mint);margin:12px 0 8px}
.inactive-reason{grid-column:1/-1;color:#d8b788;font-size:9px;line-height:1.4}
.inactive-reason:empty{display:none}
.panel-heading h1{font-size:15px}
.panel-heading button{font-size:9px}
#logicGraph{display:flex;flex-direction:column}
.logic-scroll{flex:1}
.logic-board{height:180px}
.logic-node{width:136px;height:60px;padding:6px;gap:4px}
.logic-node strong{font-size:11px}
.logic-node span{font-size:9px}
.logic-node small{font-size:7px}
.logic-feedback{left:12px;top:166px;font-size:8px}
.logic-live{flex:none;padding:5px 12px;border-top:1px solid var(--line);font-size:10px;color:var(--mint);font-variant-numeric:tabular-nums}
.logic-section{height:clamp(230px,34dvh,320px)}
.logic-section.collapsed{height:auto}
@media(max-width:760px){.architecture-heading span{display:none}.block-editor{padding:10px 12px}.logic-section{height:250px}.logic-heading>span{display:none}}
@media(max-height:600px){.logic-section{height:190px}.logic-section.collapsed{height:auto}}
/* One editor: architecture above the graph, selected node beside it. */
.workspace{display:block;overflow:hidden}
.play-column{height:100%;overflow:auto}
.logic-section{height:clamp(300px,43dvh,440px)}
.logic-section.collapsed{height:auto}
.architecture-picker{padding:8px 12px;border-bottom:1px solid var(--line);flex:none}
.architecture-heading{margin:0 0 6px}
.architecture-picker .modes{margin:0}
.architecture-picker .modes button{padding:7px 10px}
.editor-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;flex:1;min-height:0}
.editor-body #logicGraph{min-width:0;min-height:0}
.editor-body .tuning{margin:0;border:0;border-left:1px solid var(--line);border-radius:0;overflow:auto;min-height:0;scrollbar-gutter:stable}
.editor-body .panel-heading{position:sticky;top:0;background:var(--panel);z-index:2;padding-bottom:8px}
.logic-section.collapsed .architecture-picker{display:none}
.stage canvas{height:clamp(170px,calc(55dvh - 180px),480px)}
main:has(.logic-section.collapsed) .stage canvas{height:clamp(170px,calc(100dvh - 240px),640px)}
.logic-node.selected{border-color:var(--accent);box-shadow:inset 0 3px var(--accent)}
@media(max-width:760px){
 .editor-body{grid-template-columns:minmax(0,1fr) 240px}
 .logic-section{height:clamp(290px,46dvh,400px)}
 .logic-section.collapsed{height:auto}
 .architecture-picker{padding:6px 8px}
 .architecture-picker .modes button{font-size:10px;padding:7px 4px}
 .editor-body .tuning{overflow:auto}
}
@media(max-width:520px){
 .editor-body{grid-template-columns:minmax(0,1fr) minmax(180px,52%)}
 .architecture-heading{font-size:10px}
 .architecture-picker .modes button{font-size:9px}
 .editor-body .panel-heading{flex-wrap:wrap;gap:4px}
 .logic-live{font-size:9px;padding:4px 6px}
}
@media(max-height:600px){
 .logic-section{height:48dvh;min-height:200px}
 .logic-section.collapsed{height:auto;min-height:0}
 .architecture-heading{display:none}
 .architecture-picker{padding:4px 8px}
}
/* Editable nodes own their controls; no separate inspector. */
.editor-body{display:flex;min-height:0}
.editor-body #logicGraph{flex:1}
.logic-section{height:clamp(320px,52dvh,580px)}
.logic-section.collapsed{height:auto}
.logic-board{height:720px}
.logic-board .logic-node{width:280px;height:330px;padding:0;gap:0;display:flex;justify-content:flex-start;cursor:default;overflow:hidden}
.logic-board .logic-node:hover{background:#1c2c33;border-color:#52656b}
.logic-board .logic-node.selected{border-color:var(--accent);background:#1c2c33}
.node-heading{width:100%;flex:none;text-align:left;border:0;border-bottom:1px solid var(--line);background:#25363c;color:var(--text);padding:10px 12px;font-size:12px;font-weight:600}
.node-heading[aria-pressed=true]{color:var(--accent);background:#34352c}
.node-content{width:100%;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.node-content .parameter-group{border:0;padding:10px}
.node-content .parameter-group>label{display:block;font-size:10px;color:var(--mint);margin-bottom:5px}
.node-content select{width:100%;font-size:11px}
.node-content details{font-size:10px;color:var(--muted);line-height:1.5}
.node-content details p{margin:0 0 8px}
.node-content .parameter label{font-size:10px}
.node-content .parameter-baseline{font-size:8px}
.logic-feedback{top:702px}
.editor-tools{display:flex;align-items:center;gap:10px;flex:none;padding:5px 10px;border-top:1px solid var(--line)}
.editor-tools #settingsStatus{margin:0;flex:1}
.editor-tools .presets{border:0;padding:0}
.editor-tools .presets[open]{position:absolute;bottom:40px;right:24px;z-index:40;width:min(340px,90vw);background:var(--panel);border:1px solid var(--line);padding:10px}
.logic-section.collapsed .editor-tools{display:none}
.node-content .parameter>.parameter-tooltip{display:none}
.node-content .parameter:has(.parameter-help:focus)>.parameter-tooltip{display:block}
.node-content .parameter.tip-dismissed>.parameter-tooltip{display:none}
@media(max-height:600px){.logic-section{height:52dvh;min-height:200px}.logic-section.collapsed{min-height:0;height:auto}}
.logic-zoom{display:flex;align-items:center;gap:4px;flex:none}
.logic-heading .logic-zoom button{margin:0;min-width:30px;white-space:nowrap}
.logic-heading .logic-zoom button:nth-child(2){min-width:54px;font-variant-numeric:tabular-nums}
.logic-section.collapsed .logic-zoom{display:none}
@media(max-width:600px){.logic-heading{flex-wrap:wrap}.logic-heading .logic-zoom{order:3;flex-basis:100%}}
/* Vertical controls reserve the right side for the scene and editable graph. */
main{padding:8px;gap:8px;grid-template-columns:220px minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr)}
.workshop-sidebar{grid-column:1;grid-row:1 / -1;min-height:0;overflow:auto;overscroll-behavior:contain;background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:10px}
.workshop-sidebar header{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding-bottom:12px;font-size:10px;letter-spacing:.04em}
.workshop-sidebar header a span{display:block;margin-top:5px}
.sidebar-section{border-top:1px solid var(--line);padding:10px 0}
.sidebar-section h2{font-size:12px;color:var(--mint);margin:0 0 8px}
.workshop-sidebar .toolbar{display:flex;flex-direction:column;align-items:stretch;padding:0;gap:7px}
.workshop-sidebar .toolbar label{display:flex;flex-direction:column;align-items:stretch;gap:4px;font-size:10px}
.workshop-sidebar .toolbar label.check{flex-direction:row;align-items:center}
.workshop-sidebar select{max-width:none;width:100%;min-width:0}
.workshop-sidebar .toolbar button{text-align:left}
.workshop-sidebar .quick-controls{display:flex;flex-direction:column;align-items:flex-start;padding-bottom:0}
.workshop-sidebar .quick-controls>span{display:none}
.workshop-sidebar .architecture-picker{padding:0;border:0}
.workshop-sidebar .architecture-heading{display:none}
.workshop-sidebar .architectures{grid-template-columns:1fr}
.workshop-sidebar .architectures button{text-align:left;font-size:11px}
.workshop-sidebar .editor-tools{padding:8px 0 0;border:0;flex-direction:column;align-items:stretch;gap:7px}
.workshop-sidebar .editor-tools .presets[open]{position:static;width:auto;border:0;padding:0;background:transparent}
.workshop-sidebar .preset-row{flex-wrap:wrap}
.workshop-sidebar .editor-tools #settingsStatus{font-size:9px;line-height:1.5}
.workshop-sidebar .readouts{grid-template-columns:1fr;padding:8px 0;background:none}
.workshop-sidebar .readouts>div{display:flex;align-items:center;justify-content:space-between;gap:6px}
.workshop-sidebar .encounter-status{padding:8px 0;line-height:1.5}
.workshop-sidebar #driveDescription{padding:0;border:0}
.workshop-sidebar .logic-live{padding:6px 0;line-height:1.5}
.workshop-sidebar .logic-zoom{display:grid;grid-template-columns:32px 1fr 32px;gap:4px;margin-top:8px}
.workshop-sidebar .logic-zoom button:last-child{grid-column:1 / -1}
.workspace{grid-column:2;grid-row:1;min-width:0;min-height:0}
.play-column,.stage-wide .play-column{height:100%;display:flex;flex-direction:column;overflow:auto;scrollbar-gutter:auto}
.bench{flex:1;min-height:0;display:flex;flex-direction:column}
.stage{flex:1;min-height:0}
.stage canvas,main:has(.logic-section.collapsed) .stage canvas{height:100%;width:100%}
.logic-section{grid-column:2;grid-row:2;height:auto;min-height:0}
.logic-heading{padding:5px 10px;flex-wrap:nowrap}
.logic-heading>span{display:none}
.logic-heading h2{font-size:11px;overflow:hidden;text-overflow:ellipsis}
.logic-heading button{padding:4px 8px}
main:has(.logic-section.collapsed){grid-template-rows:minmax(0,1fr) auto}
.logic-section.collapsed{height:auto;min-height:0}
@media(max-width:760px){main{grid-template-columns:180px minmax(0,1fr);padding:4px;gap:4px}.workshop-sidebar{padding:7px}.workspace{display:block;overflow:hidden}.logic-section{height:auto;min-height:0}}
@media(max-width:480px){main{grid-template-columns:140px minmax(0,1fr)}.workshop-sidebar{padding:5px}.workshop-sidebar .architectures button{font-size:10px}.logic-heading{padding:4px;gap:4px}.logic-heading h2{white-space:normal}.logic-heading button{min-width:0}.device{font-size:7px}}
.graph-lane-label{position:absolute;left:32px;font-size:12px;color:var(--mint);pointer-events:none}
.logic-board>svg>path.muted{opacity:.22}
.logic-board>svg>path.active{opacity:1;stroke-width:3}
.logic-board>svg>path[data-kind=feedback].active{stroke:#e3b56b;stroke-dasharray:7 5}
.node-connections{display:flex;flex-direction:column;gap:5px;margin-top:10px;font-size:11px}
.node-connections>small{margin-top:5px;color:var(--muted)}
.node-connections>button{text-align:left;font-size:10px}
