/* Tool Experience V3.1: shared workbench chrome, never electrical state. */
:is(.forge-page,.generator-page){--bench-paper:#f3f1eb;--bench-ink:#e8e2d5;--bench-muted:#b5ad9c;--bench-rule:#48473e;--bench-accent:#c5ab77}
:is(.forge-page,.generator-page) :is(.forge-presentation-modes,.presentation-modes){display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}
:is(.forge-page,.generator-page) :is(.forge-presentation-modes,.presentation-modes) button{flex:0 1 auto;min-width:80px;min-height:44px;border:1px solid var(--bench-rule);border-radius:2px;background:#24251f;color:var(--bench-ink);padding:9px 16px;font:500 14px 'Space Grotesk',sans-serif}
:is(.forge-page,.generator-page) :is(.forge-presentation-modes,.presentation-modes) button[aria-pressed=true]{background:#403b2e;border-color:var(--bench-accent);box-shadow:inset 0 -3px var(--bench-accent);color:#fff}
:is(.forge-page,.generator-page) :is(.forge-viewport,.generator-viewport){box-sizing:border-box;background:var(--bench-paper);border:1px solid #666052;border-radius:2px;box-shadow:inset 0 0 0 4px #ddd9cf;overflow:auto;scrollbar-color:#8e816b #ddd9cf}
:is(.forge-page,.generator-page) :is(#forge-diagram,#generator-mount){min-width:0;margin:0;flex-shrink:0}
:is(.forge-page,.generator-page) :is(.forge-viewport,.generator-viewport).is-fit :is(#forge-diagram,#generator-mount){margin-inline:auto}
:is(.forge-page,.generator-page) :is(.forge-mobile-zoom,.zoom-tools){display:flex;align-items:center;flex-wrap:wrap;gap:4px}
:is(.forge-page,.generator-page) :is(.forge-mobile-zoom,.zoom-tools) button{min-height:44px;min-width:44px;border:1px solid var(--bench-rule);border-radius:2px;background:#24251f;color:var(--bench-ink);padding:8px 12px;font:14px 'JetBrains Mono',monospace;cursor:pointer}
:is(.forge-page,.generator-page) :is(.forge-mobile-zoom,.zoom-tools) button:disabled{opacity:.4;cursor:default}
:is(.forge-page,.generator-page) :is(#forge-zoom-value,#zoom-level){min-width:58px;text-align:center;color:var(--bench-muted);font:13px 'JetBrains Mono',monospace}
:is(.forge-page,.generator-page) :is(.forge-build-key,.build-key){font-size:13px;line-height:1.65;border:0;padding:0;margin:10px 0;color:var(--bench-muted)}
.diagram-guidance{margin:0 0 10px;border:0;color:var(--bench-muted);font-size:13px;line-height:1.65}.diagram-guidance>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--bench-accent)}
.explanation-section{border:0;margin:16px 0}.explanation-section :is(h3,h5){font:500 13px 'Space Grotesk',sans-serif;color:var(--bench-accent);margin:0 0 6px}.explanation-section p{margin:6px 0;font-size:14px;line-height:1.65}.explanation-section ul{columns:1!important;padding-left:18px;font:14px/1.65 Inter,sans-serif!important}.explanation-section li{margin:7px 0;overflow-wrap:anywhere}.inspection-empty{padding:4px 0 12px}.inspection-empty p{font-size:14px;line-height:1.65}.inspection-empty small{display:block;color:var(--bench-muted);font-size:13px;line-height:1.6}
@media(max-width:850px){:is(.forge-page,.generator-page) :is(.forge-presentation-modes,.presentation-modes) button{flex:1 1 80px;padding-inline:10px}.diagram-guidance{font-size:13px}}
@media print{.diagram-guidance,.forge-mobile-zoom{display:none!important}.diagram-paper{fill:#fff}.wire-clear{stroke:#fff}:is(.forge-page,.generator-page) :is(.forge-viewport,.generator-viewport){box-shadow:none;border:0;background:#fff}}

#inspection-content>small{font-size:13px;line-height:1.6;color:var(--bench-muted)}

/* Composition V2.1: compact controls, generous drawing, progressive guidance. */
.bench-control-region{display:flex;flex-wrap:wrap;align-items:end;gap:6px 16px;margin:0 0 8px;min-width:0;border-bottom:1px solid var(--bench-rule);padding-bottom:8px}.bench-control-region .circuit-state-console{flex:1 1 100%;border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;align-items:start;gap:6px 16px;background:transparent}.bench-control-region .circuit-state-console h3{font-size:11px;margin:0;padding:18px 0 0;letter-spacing:.06em}.bench-control-region .circuit-state-controls{gap:8px 18px;flex:1}.bench-control-region .circuit-state-controls legend{margin-bottom:3px;font-size:11px}.bench-control-region .circuit-state-controls button{padding:7px 10px}.bench-modebar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 14px;min-width:0}.bench-control-region .bench-modebar{flex:1 1 100%}.bench-modebar :is(.forge-presentation-modes,.presentation-modes,.forge-mobile-zoom,.zoom-tools){margin:0}.forge-workspace-modes{margin:0!important}.bench-guidance{margin:0;font-size:12px}.bench-guidance>summary{min-height:44px}.bench-overview h4{font-size:17px;line-height:1.5;margin:4px 0 14px;color:var(--bench-ink)}.bench-overview dl{display:grid!important;grid-template-columns:1fr!important;gap:4px;margin:0}.bench-overview dt{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--bench-accent)}.bench-overview dd{font-size:13px;line-height:1.6;margin:0 0 12px;overflow-wrap:anywhere}.bench-overview p{font-size:12px;color:var(--bench-muted)}.bench-inventory>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--bench-accent)}.bench-inventory>summary::before{content:'+';margin-right:12px}.bench-inventory[open]>summary::before{content:'−'}.bench-modebar button,.bench-inventory summary{min-height:44px}.bench-modebar :focus-visible,.bench-inventory summary:focus-visible{outline:2px solid var(--bench-accent);outline-offset:3px}
.forge-workbench-heading{margin:0!important;padding:0!important;border:0!important;min-height:0}.forge-workbench-heading>div:first-child{display:none}.forge-workbench-heading #forge-status{font-size:11px;max-width:none;margin:2px 0 6px}.forge-workbench-heading #forge-status:empty{display:none}.forge-workbench .forge-source-context{position:relative;margin:0}.forge-workbench .forge-source-context>summary{min-height:44px}.forge-workbench .forge-import-note:empty{display:none}.forge-workbench .forge-instruction{font-size:12px;margin:6px 0}.forge-workbench .forge-explore{margin:4px 0}.forge-workbench .forge-explore>summary{min-height:44px;padding-block:0}.forge-workbench .forge-explore-controls{padding:0 0 8px}.forge-workbench .forge-explore-controls>.forge-control-eyebrow{display:none}.forge-workbench .forge-role-views,.forge-workbench .forge-path-actions{margin:4px 0}.forge-workbench .forge-inspector{max-height:none}.generator-page .workshop-identity{font-size:12px;margin:0 0 6px}.generator-page #presentation-description{font-size:12px;margin:4px 0 6px}.generator-page .canvas-hint{display:none}.generator-page .wire-filters{display:flex;flex-wrap:wrap;gap:4px;flex:1 1 100%;margin:0}.generator-page .wire-filters button{min-height:44px;padding:8px 12px}.generator-page .inspection-panel details>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--bench-accent)}
@media(min-width:851px){.forge-layout{grid-template-columns:224px minmax(0,1fr) 238px}.forge-workbench{padding:12px 16px}.forge-workbench .forge-source-context:not([open]){display:inline-block}.forge-workbench .forge-source-context>summary{font-size:11px}.forge-workbench .forge-instruction{display:none}.forge-inspector{max-height:none}.forge-panel h2{margin-bottom:12px}.forge-inspector>.forge-limit{font-size:12px}.generator-page .generator-viewport{height:clamp(500px,74vh,810px);max-height:810px}}
@media(min-width:851px) and (max-width:1450px){.forge-layout{grid-template-columns:224px minmax(0,1fr)}.forge-inspector{position:static;grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.forge-inspector>.forge-step,.forge-inspector>h2,.forge-inspector>.forge-inspector-section:first-of-type{grid-column:1/-1}}
@media(max-width:850px){.bench-control-region{gap:6px}.bench-control-region .circuit-state-console{display:block}.bench-control-region .circuit-state-console h3{padding:6px 0}.bench-control-region .circuit-state-controls{display:flex;flex-wrap:wrap;gap:8px}.bench-modebar{gap:6px;width:100%}.bench-modebar :is(.forge-presentation-modes,.presentation-modes){flex:1 1 100%}.bench-modebar :is(.forge-mobile-zoom,.zoom-tools){justify-content:flex-end;margin-left:auto}.bench-control-region .circuit-state-controls button{font-size:12px}.forge-workbench-heading #forge-status{font-size:11px}.bench-overview dd{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){.bench-control-region *{transition:none;animation:none}}
@media print{.bench-control-region,.bench-modebar,.bench-guidance{display:none!important}.bench-inventory>*{display:block!important}}

/* Guided Build: one reachable checkpoint, same diagram, no new canvas scroll owner. */
.guided-workshop{order:0;min-width:0;margin:10px 0 16px}.guided-build{padding:18px;border:1px solid var(--bench-rule);background:#1d1f1a;overflow:visible;max-width:100%;box-sizing:border-box}.guided-build h3{font:500 20px/1.4 'Space Grotesk',sans-serif;overflow-wrap:anywhere}.guided-build p,.guided-build dd{font-size:14px;line-height:1.6;overflow-wrap:anywhere}.guided-build output{display:block;color:var(--bench-accent);font:12px/1.6 'JetBrains Mono',monospace}.guided-build button,.guided-build select{min-height:44px;max-width:100%;white-space:normal;padding:10px 14px;margin:4px 6px 4px 0;background:#282b23;border:1px solid var(--bench-rule);color:var(--bench-ink);font:14px/1.4 'Space Grotesk',sans-serif;cursor:pointer}.guided-build button:disabled{opacity:.45;cursor:default}.guided-build :is(button,select):focus-visible,.guided-build h3:focus-visible{outline:2px solid var(--bench-accent);outline-offset:3px}.guided-controls{display:flex;flex-wrap:wrap}.guided-build dt{font-size:12px;text-transform:uppercase;color:var(--bench-accent)}.guided-build dd{margin:0 0 10px}.guided-build small{display:block;font-size:12px;line-height:1.6}.guided-build [hidden]{display:none!important}
#generator-mount svg[data-guided-build=active] [data-build-focus=context]{opacity:.38}#generator-mount svg[data-guided-build=active] [data-build-focus=active]{opacity:1}#generator-mount [data-terminal][data-build-focus=active]{stroke:#926b24;stroke-width:5;fill:#ead8a6}#generator-mount .wire[data-build-focus=active] .wire-line{stroke-width:5;stroke-dasharray:8 3}#generator-mount .component[data-build-focus=active] :is(.metal,.pickup-base,.blade-frame,.switch-frame){stroke:#926b24;stroke-width:3}
@media(max-width:850px){.guided-build{padding:12px}.guided-build h3{font-size:17px}.guided-controls button{flex:1 1 100px}.guided-workshop{width:100%;height:auto;overflow:visible}}
@media print{.guided-workshop{display:none!important}}
.guided-diagram-link{display:inline-flex;align-items:center;min-height:44px;color:var(--bench-accent);text-decoration:underline;font-size:14px}.guided-diagram-link:focus-visible{outline:2px solid var(--bench-accent);outline-offset:3px}
