/* Compact instrument surfaces. Motion communicates interaction, never scan timing. */
:root { --control-radius: 8px; }
.studio-shell { font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.studio-shell .topbar { background:#171d21; border-bottom:1px solid #303b42; }
.studio-shell button,.studio-shell .button { border-radius:var(--control-radius); transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease; }
.studio-shell button:active { filter:brightness(.94); }
.studio-shell button:focus-visible,.studio-shell a:focus-visible { outline:2px solid #138278; outline-offset:3px; }
.studio-shell .workspace-tabs { background:#f6f8fa; }
.studio-shell .sidebar { background:#f5f7f8; }
.studio-shell .library-tool { display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;padding:8px;min-height:58px;height:auto;text-align:left;border-radius:9px; }
.studio-shell .library-tool>span:last-child { white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.4;font-weight:500; }
.studio-shell .library-entry .library-tool>span:last-child { overflow-wrap:normal;word-break:normal;hyphens:none; }
.studio-shell .library-symbol { width:48px;font-size:17px; }
.studio-shell .library-symbol svg { width:48px;max-width:48px;display:block; }
.studio-shell .plant-library-item { border-radius:9px;padding-block:8px; }
.studio-shell .library-tool:hover,.studio-shell .plant-library-item:hover { background:#e5efed;border-color:#b5cec9; }
.studio-shell dialog { border:1px solid #dce3e7;border-radius:18px;box-shadow:0 30px 100px #0d202c40;max-width:calc(100vw - 24px); }
.studio-shell dialog::backdrop { background:#15262d66;backdrop-filter:blur(5px); }
.studio-shell .dialog-heading { margin-bottom:16px; }
.studio-shell .dialog-heading h2 { font-size:22px;letter-spacing:-.6px;line-height:1.25; }
.studio-shell input,.studio-shell select { border-radius:7px; }
.graph-node .ladder-cell[data-timer="true"] .cell-pin { top:68px;left:-27px;width:154px;font:9px/1.4 var(--mono);color:#395c68; }
.graph-node .timer-progress { top:46px;left:24px;height:4px;border-radius:2px;background:#168276;box-shadow:0 0 0 1px #16827615; }
.graph-node .ladder-cell[data-timing="true"] .electrical-symbol { color:#ae640b; }
.graph-node .ladder-cell[data-timing="true"] .timer-progress { background:#c88625; }
.is-simulating .continuous-board .wire { stroke:#65747d;stroke-width:2.2;transition:stroke .08s linear,stroke-width .08s linear,filter .08s linear; }
.is-simulating .continuous-board .wire.live { stroke:#00a86b;stroke-width:4;filter:drop-shadow(0 0 3px #00a86b99); }
.graph-node .logic-state { display:none;position:absolute;right:2px;top:2px;min-width:25px;padding:2px 4px;border:1px solid #9ca8ae;border-radius:3px;background:#eef1f3;color:#43515a;font:700 8px/1 var(--mono);letter-spacing:.04em;text-align:center; }
.graph-node .ladder-cell[data-timer="true"] .logic-state { min-width:54px; }
.is-simulating .graph-node .logic-state { display:block; }
.is-simulating .graph-node .ladder-cell { background:#f1f3f4;color:#52616a;box-shadow:inset 0 0 0 1px #c4cdd2;transition:background-color .08s linear,color .08s linear,box-shadow .08s linear; }
.is-simulating .graph-node .ladder-cell.activo { background:#d6f8e8;color:#005a38;box-shadow:inset 0 0 0 2px #00a86b,0 0 0 3px #00a86b24,0 3px 10px #006b4533; }
.is-simulating .graph-node .ladder-cell.activo .electrical-symbol { stroke-width:2.5;filter:drop-shadow(0 0 1px #00a86b55); }
.is-simulating .graph-node .ladder-cell.activo .logic-state { border-color:#005c3a;background:#006b44;color:#fff; }
.is-simulating .graph-node .ladder-cell.stored-on { background:#fff2cf;color:#704000;box-shadow:inset 0 0 0 2px #d58b18,0 0 0 3px #d58b1824; }
.is-simulating .graph-node .ladder-cell.stored-on .logic-state { min-width:72px;border-color:#8b5708;background:#a86500;color:#fff; }
.is-simulating .graph-node .ladder-cell.stored-on .electrical-symbol { filter:drop-shadow(0 0 1px #d58b1866); }
.program-credit { color:#50616e;font-size:10px;white-space:nowrap;text-decoration:none; }
.program-credit:hover { color:#11695f;text-decoration:underline; }
@media(max-width:1000px) { .statusbar .program-credit { display:none; } }
@media(max-width:600px) { .studio-shell dialog { padding:18px;border-radius:14px; } .studio-shell .dialog-heading h2 {font-size:19px;} }
@media(prefers-reduced-motion:reduce) { .studio-shell *, .studio-shell *::before,.studio-shell *::after { transition:none!important;animation:none!important; } }
@media(prefers-reduced-transparency:reduce) { .studio-shell dialog::backdrop {backdrop-filter:none;} }

/* Shared Zolvek brand; process signals and warning colors remain distinct. */
:root{--ink:#142036;--muted:#48566b;--wash:#f2f5fb;--navy:#101b30;--line:#d7e0ee;}
.studio-shell .topbar{background:#101b30;border-color:#344668;}
.studio-shell .workspace-tabs{background:#f2f5fb;}
.studio-shell .sidebar{background:#f5f7fc;}
.studio-shell .workspace-tabs button[aria-selected=true]{color:#2347d9;background:#e7edff;border-color:#b3c3ee;}
.studio-shell :is(button,a):focus-visible{outline-color:#2856ec;}
.studio-shell :is(.library-tool,.plant-library-item):hover{background:#e7edff;border-color:#b3c3ee;}
