:root { --rcp-bg:#090d11; --rcp-panel:#111820; --rcp-panel-2:#18222c; --rcp-line:#2d3a45; --rcp-text:#edf4f7; --rcp-muted:#8ea0aa; --rcp-cyan:#22d3ee; --rcp-amber:#f59e0b; --rcp-green:#48d597; --rcp-red:#fb7185; }
body { background:#070a0d; color:var(--rcp-text); }
.shading-shell { width:min(1500px,calc(100% - 32px)); margin:0 auto; padding:64px 0 80px; }
.tool-header { display:flex; justify-content:space-between; gap:32px; align-items:flex-end; padding:34px 0 28px; }
.tool-header h1 { margin:12px 0 8px; font-size:clamp(2.25rem,5vw,4.8rem); letter-spacing:-.045em; }
.tool-header p { max-width:760px; color:var(--rcp-muted); font-size:1.08rem; }
.trust-panel { min-width:330px; display:grid; gap:5px; padding:18px 20px; border:1px solid rgba(34,211,238,.25); background:rgba(34,211,238,.05); border-radius:8px; font-family:var(--font-mono); font-size:.72rem; color:var(--rcp-muted); }
.trust-panel strong { color:var(--rcp-cyan); letter-spacing:.12em; }
.operator-bar { position:sticky; top:74px; z-index:10; display:flex; justify-content:space-between; gap:24px; padding:13px; background:rgba(9,13,17,.95); backdrop-filter:blur(16px); border:1px solid var(--rcp-line); border-radius:10px; box-shadow:0 14px 40px rgba(0,0,0,.35); }
.toolbar-actions,.operator-status,.dialog-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.panel-button,.fine-button,.file-button,.icon-button,.danger-button,.text-button { min-height:44px; border:1px solid var(--rcp-line); background:var(--rcp-panel-2); color:var(--rcp-text); border-radius:6px; padding:0 15px; font:600 .8rem var(--font-mono); cursor:pointer; }
.panel-button:hover,.fine-button:hover { border-color:var(--rcp-cyan); }
.file-button { display:inline-flex; align-items:center; }
.file-button input { position:absolute; width:1px; height:1px; opacity:0; }
.operator-status > div { min-width:190px; padding:4px 12px; display:grid; gap:3px; border-left:1px solid var(--rcp-line); }
.operator-status small,.fine-button small { color:var(--rcp-muted); font:600 .61rem var(--font-mono); letter-spacing:.12em; }
.operator-status strong,.fine-button strong { font:700 .78rem var(--font-mono); color:var(--rcp-cyan); }
.fine-button { display:grid; text-align:left; gap:2px; }
.fine-button[aria-pressed="true"] { background:rgba(245,158,11,.13); border-color:var(--rcp-amber); }
.fine-button[aria-pressed="true"] strong { color:var(--rcp-amber); }
.hardware-warning { margin:18px 0 36px; display:flex; justify-content:space-between; gap:20px; align-items:center; padding:14px 18px; border:1px solid rgba(245,158,11,.36); background:rgba(245,158,11,.07); border-radius:8px; }
.hardware-warning div { display:grid; gap:3px; color:var(--rcp-muted); }
.hardware-warning strong { color:#ffd28a; }
.hardware-warning > span { white-space:nowrap; color:var(--rcp-amber); font:700 .7rem var(--font-mono); letter-spacing:.12em; }
.section-heading,.rack-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; }
.section-heading h2,.rack-heading h2 { margin:5px 0 0; }
.section-heading p { color:var(--rcp-muted); }
.eyebrow { color:var(--rcp-cyan); font:700 .67rem var(--font-mono); letter-spacing:.15em; }
.camera-bank { display:grid; grid-template-columns:repeat(10,minmax(88px,1fr)); gap:8px; margin:16px 0 30px; }
.camera-slot { position:relative; min-height:112px; padding:12px 10px; display:grid; align-content:space-between; gap:8px; text-align:left; color:var(--rcp-muted); background:#0e141a; border:1px solid var(--rcp-line); border-radius:7px; cursor:pointer; }
.camera-slot:hover { border-color:#587080; }
.camera-slot.configured { color:var(--rcp-text); background:linear-gradient(180deg,#15212b,#0d1318); }
.camera-slot.active { border-color:var(--rcp-cyan); box-shadow:inset 0 0 0 1px rgba(34,211,238,.24),0 0 22px rgba(34,211,238,.09); }
.camera-slot strong { font:700 .72rem var(--font-mono); }
.camera-slot b { font-size:.9rem; line-height:1.15; overflow-wrap:anywhere; }
.camera-slot small { font:500 .61rem var(--font-mono); color:var(--rcp-muted); }
.slot-led { position:absolute; top:10px; right:10px; width:7px; height:7px; border-radius:50%; background:#59656c; }
.camera-slot.connected .slot-led { background:var(--rcp-green); box-shadow:0 0 9px var(--rcp-green); }
.camera-slot.error .slot-led { background:var(--rcp-red); }
.empty-workspace { min-height:390px; border:1px dashed var(--rcp-line); border-radius:12px; display:grid; place-items:center; align-content:center; gap:12px; text-align:center; color:var(--rcp-muted); }
.empty-workspace[hidden],.workspace[hidden] { display:none; }
.empty-workspace h2 { color:var(--rcp-text); margin:0; }
.empty-workspace p { max-width:540px; }
.empty-control { width:82px; height:82px; display:grid; place-items:center; border:2px solid var(--rcp-line); border-radius:50%; box-shadow:inset 0 0 0 12px #0d141a; }
.empty-control span { font:700 .72rem var(--font-mono); color:var(--rcp-cyan); }
.workspace { grid-template-columns:minmax(0,1fr) 330px; gap:18px; align-items:start; }
.workspace:not([hidden]) { display:grid; }
.rcp-console,.rack-panel { border:1px solid var(--rcp-line); background:var(--rcp-bg); border-radius:10px; overflow:hidden; }
.camera-display { min-height:150px; padding:22px 24px; display:grid; grid-template-columns:1fr auto; gap:16px; align-content:center; background:linear-gradient(135deg,#0d2730,#0b171d 55%,#13191e); border-bottom:1px solid var(--rcp-line); }
.camera-display .display-label { color:var(--rcp-cyan); font:700 .68rem var(--font-mono); letter-spacing:.14em; }
.camera-display h2 { margin:5px 0; font-size:2rem; }
.display-meta { display:flex; flex-wrap:wrap; gap:8px 18px; color:var(--rcp-muted); font:500 .72rem var(--font-mono); }
.display-state { min-width:190px; display:grid; place-items:center; align-content:center; gap:5px; padding:14px; border:1px solid rgba(255,255,255,.1); background:rgba(0,0,0,.2); border-radius:6px; text-align:center; }
.display-state strong { color:var(--rcp-muted); font:700 .8rem var(--font-mono); }
.display-state.connected strong { color:var(--rcp-green); }
.display-state.error strong { color:var(--rcp-red); }
.camera-actions { grid-column:1/-1; display:flex; gap:8px; flex-wrap:wrap; }
.comparison-strip { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:1px; background:var(--rcp-line); border-bottom:1px solid var(--rcp-line); }
.compare-cell { padding:13px 15px; background:#0e151b; display:grid; gap:4px; }
.compare-cell small { color:var(--rcp-muted); font:600 .6rem var(--font-mono); letter-spacing:.1em; }
.compare-cell strong { font:700 .76rem var(--font-mono); }
.compare-cell .reported { color:var(--rcp-green); }
.compare-cell .requested { color:var(--rcp-amber); }
.control-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--rcp-line); }
.control-group { padding:20px; background:#0d1318; }
.control-group h3 { margin:0 0 15px; color:#c7d6dd; font:700 .72rem var(--font-mono); letter-spacing:.14em; text-transform:uppercase; }
.control-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; }
.control-unit { min-height:144px; padding:14px; display:grid; align-content:space-between; gap:10px; border:1px solid #26343e; border-radius:7px; background:linear-gradient(180deg,#17212a,#111820); }
.control-unit.primary { border-color:#3e5968; box-shadow:inset 0 0 28px rgba(34,211,238,.035); }
.control-title { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.control-title label,.control-title strong { font-size:.84rem; }
.value-source { color:var(--rcp-muted); font:600 .56rem var(--font-mono); letter-spacing:.1em; white-space:nowrap; }
.value-source.reported { color:var(--rcp-green); }
.value-source.requested { color:var(--rcp-amber); }
.control-readout { min-height:42px; display:flex; justify-content:center; align-items:baseline; gap:5px; padding:8px; background:#071015; border:1px solid #23343e; border-radius:4px; color:var(--rcp-cyan); font:700 1rem var(--font-mono); }
.control-readout small { color:var(--rcp-muted); font-size:.58rem; }
.adjust-row { display:grid; grid-template-columns:44px 1fr 44px; gap:7px; align-items:center; }
.adjust-row button,.toggle-control,.momentary-control { min-height:44px; border:1px solid #40515c; border-radius:5px; background:#202c35; color:var(--rcp-text); font:700 .82rem var(--font-mono); cursor:pointer; }
.adjust-row button:active,.momentary-control:active { background:rgba(34,211,238,.18); border-color:var(--rcp-cyan); }
.adjust-row input[type="range"] { width:100%; min-height:44px; accent-color:var(--rcp-cyan); }
.control-unit select,.control-unit input[type="number"] { width:100%; min-height:44px; border:1px solid #40515c; border-radius:5px; background:#0b1217; color:var(--rcp-text); padding:0 10px; font:600 .78rem var(--font-mono); }
.toggle-control[aria-pressed="true"] { border-color:var(--rcp-green); color:var(--rcp-green); background:rgba(72,213,151,.1); }
.control-note { color:var(--rcp-muted); font-size:.7rem; line-height:1.35; }
.momentary-row { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.side-rack { display:grid; gap:12px; position:sticky; top:150px; }
.rack-panel { padding:17px; }
.rack-panel summary { cursor:pointer; font-weight:700; }
.rack-note,.dialog-note { color:var(--rcp-muted); font-size:.76rem; line-height:1.55; }
.scene-list { display:grid; gap:8px; margin-top:14px; }
.scene-item { padding:11px; border:1px solid var(--rcp-line); border-radius:6px; background:#111820; display:grid; gap:8px; }
.scene-item header { display:flex; justify-content:space-between; gap:8px; }
.scene-item small { color:var(--rcp-muted); font:500 .62rem var(--font-mono); }
.scene-actions { display:flex; gap:6px; }
.scene-actions button { min-height:38px; flex:1; }
.limitation-list { margin:14px 0 0; padding-left:18px; color:var(--rcp-muted); font-size:.77rem; line-height:1.55; }
.diagnostic-log { max-height:260px; overflow:auto; margin:12px 0 0; padding-left:20px; color:var(--rcp-muted); font:500 .64rem/1.5 var(--font-mono); overflow-wrap:anywhere; }
.runtime-notice { margin-bottom:20px; padding:18px; border:1px solid var(--rcp-red); border-radius:8px; display:flex; justify-content:space-between; gap:20px; align-items:center; background:rgba(251,113,133,.08); }
.runtime-notice[hidden] { display:none; }
.runtime-notice div { display:grid; gap:4px; }
.runtime-notice span { color:var(--rcp-muted); }
.tool-dialog { width:min(680px,calc(100% - 28px)); border:1px solid var(--rcp-line); border-radius:10px; background:#10171d; color:var(--rcp-text); padding:0; box-shadow:0 30px 100px rgba(0,0,0,.65); }
.tool-dialog::backdrop { background:rgba(0,0,0,.72); backdrop-filter:blur(4px); }
.tool-dialog form { padding:24px; }
.dialog-heading { display:flex; justify-content:space-between; gap:20px; margin-bottom:20px; }
.dialog-heading h2 { margin:5px 0 0; }
.icon-button { width:44px; padding:0; font-size:1.4rem; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-grid label { display:grid; gap:6px; color:var(--rcp-muted); font:600 .72rem var(--font-mono); }
.full-field { grid-column:1/-1; }
.form-grid input,.form-grid select { min-height:46px; border:1px solid #40515c; border-radius:5px; background:#080d11; color:var(--rcp-text); padding:0 12px; }
.runtime-label { color:var(--rcp-amber); font-size:.58rem; }
.dialog-actions { justify-content:flex-end; margin-top:20px; }
.danger-button { border-color:rgba(251,113,133,.55); color:#ffc0ca; background:rgba(251,113,133,.12); }
.confirm-body { color:var(--rcp-muted); line-height:1.55; }
.toast { position:fixed; left:50%; bottom:28px; z-index:50; transform:translate(-50%,20px); opacity:0; pointer-events:none; padding:13px 18px; color:var(--rcp-text); background:#17212a; border:1px solid var(--rcp-cyan); border-radius:6px; box-shadow:0 12px 45px rgba(0,0,0,.55); transition:.2s ease; }
.toast.show { transform:translate(-50%,0); opacity:1; }
@media (max-width:1120px) { .camera-bank { grid-template-columns:repeat(5,1fr); } .workspace:not([hidden]) { grid-template-columns:1fr; } .side-rack { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); } .side-rack .rack-panel:first-child { grid-column:1/-1; } }
@media (max-width:760px) { .shading-shell { width:min(100% - 20px,1500px); padding-top:36px; } .tool-header,.operator-bar,.section-heading { align-items:stretch; flex-direction:column; } .trust-panel { min-width:0; } .operator-bar { position:static; } .operator-status { justify-content:space-between; } .camera-bank { grid-template-columns:repeat(2,1fr); } .camera-display { grid-template-columns:1fr; } .display-state { min-width:0; place-items:start; text-align:left; } .control-groups { grid-template-columns:1fr; } .side-rack { grid-template-columns:1fr; } .side-rack .rack-panel:first-child { grid-column:auto; } .form-grid { grid-template-columns:1fr; } .full-field { grid-column:auto; } }

/* v0.2 compact virtual-RCP family */
* { box-sizing:border-box; }
[hidden] { display:none !important; }
button,input,select { font:inherit; }
button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline:2px solid var(--rcp-cyan); outline-offset:2px; }
.shading-shell { width:min(1680px,calc(100% - 32px)); padding:78px 0 58px; }
.tool-header { align-items:flex-end; padding:14px 2px 12px; }
.tool-header h1 { margin:7px 0 4px; font-size:clamp(1.8rem,3vw,3.15rem); line-height:1; }
.tool-header p { margin:0; font-size:.88rem; }
.trust-panel { min-width:310px; padding:9px 12px; border-radius:7px; font-size:.61rem; text-align:right; }
.operator-bar { top:70px; padding:8px; border-radius:9px; background:rgba(8,14,20,.95); box-shadow:0 10px 30px rgba(0,0,0,.25); }
.toolbar-actions { flex-wrap:nowrap; }
.panel-button,.fine-button,.file-button,.icon-button,.danger-button,.text-button { border-radius:4px; background:linear-gradient(180deg,#27343f,#121c24); box-shadow:inset 0 1px rgba(255,255,255,.09),inset 0 -3px rgba(0,0,0,.28),0 1px 2px rgba(0,0,0,.5); text-transform:uppercase; }
.local-state strong { color:var(--rcp-green); }
.hardware-warning { margin:10px 0 16px; padding:9px 13px; border-left:3px solid var(--rcp-amber); border-radius:6px; font-size:.76rem; }
.section-heading h2 { margin:2px 0 0; font-size:1.15rem; }
.section-heading p { margin:0; font:500 .68rem var(--font-mono); }
.camera-bank { grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); gap:7px; margin:9px 0 13px; }
.camera-module { position:relative; min-width:0; overflow:hidden; border:1px solid #3a4854; border-radius:4px; background-color:#13202a; background-image:radial-gradient(circle at 8px 8px,#020407 0 1.5px,#56636d 2px 2.6px,transparent 3px),radial-gradient(circle at calc(100% - 8px) 8px,#020407 0 1.5px,#56636d 2px 2.6px,transparent 3px),linear-gradient(180deg,#293741,#101922 14px,#091017); box-shadow:inset 0 1px rgba(255,255,255,.1),inset 0 -2px 3px #05080b,0 4px 9px rgba(0,0,0,.36); }
.camera-module.active { border-color:var(--rcp-cyan); box-shadow:inset 0 1px rgba(255,255,255,.11),inset 0 -2px 3px #05080b,0 0 0 2px rgba(34,211,238,.1),0 5px 12px rgba(0,0,0,.42); }
.camera-select { width:100%; min-height:92px; padding:12px 10px 7px; display:grid; gap:2px; text-align:left; border:0; background:transparent; color:var(--rcp-text); cursor:pointer; }
.camera-key,.module-state { color:#8395a3; font:600 .52rem var(--font-mono); letter-spacing:.09em; }
.camera-select strong { overflow:hidden; margin-top:3px; font:700 .77rem var(--font-mono); text-overflow:ellipsis; white-space:nowrap; }
.camera-select small { overflow:hidden; color:#a9b7c0; font:500 .55rem var(--font-mono); text-overflow:ellipsis; white-space:nowrap; }
.module-state { color:#657883; }
.camera-module.live .module-state,.camera-module.partial .module-state { color:var(--rcp-green); }
.camera-module.stale .module-state { color:var(--rcp-amber); }
.camera-module.error .module-state { color:var(--rcp-red); }
.copy-module-button { width:100%; min-height:44px; border:0; border-top:1px solid #31404b; background:linear-gradient(#1d2b35,#0d171f); color:var(--rcp-cyan); font:700 .58rem var(--font-mono); letter-spacing:.12em; cursor:pointer; }
.copy-module-button:hover { background:#12303a; }
.add-camera-module { min-height:137px; display:grid; place-content:center; gap:5px; border:1px dashed #40515d; border-radius:4px; background:#0b1218; color:#7f919e; font:600 .57rem var(--font-mono); letter-spacing:.08em; cursor:pointer; }
.add-camera-module span { font-size:1.4rem; color:var(--rcp-cyan); }
.add-camera-module strong { color:#b8c6cf; }
.workspace { grid-template-columns:minmax(0,1fr) 305px; gap:12px; }
.rcp-console,.rack-panel { position:relative; border-radius:4px; border-color:#354551; background:#091018; box-shadow:inset 0 1px rgba(255,255,255,.06),0 12px 28px rgba(0,0,0,.3); }
.rcp-console { background-image:radial-gradient(circle at 11px 11px,#020407 0 2px,#53606a 2.5px 3.5px,transparent 4px),radial-gradient(circle at calc(100% - 11px) 11px,#020407 0 2px,#53606a 2.5px 3.5px,transparent 4px),linear-gradient(180deg,#23313b,#0a1118 22px); }
.camera-display { min-height:0; padding:9px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; background:transparent; border-bottom:1px solid #030608; }
.display-glass { position:relative; min-width:0; padding:12px 14px; border:6px solid #070c10; border-radius:3px; background-color:#04110f; background-image:repeating-linear-gradient(0deg,rgba(113,236,201,.018) 0 1px,transparent 1px 3px),radial-gradient(ellipse at 42% 24%,rgba(45,212,168,.1),transparent 66%),linear-gradient(180deg,rgba(27,72,62,.28),rgba(2,10,9,.65)); box-shadow:0 1px rgba(255,255,255,.11),0 4px 8px rgba(0,0,0,.55),inset 0 0 0 1px rgba(114,205,180,.27),inset 0 0 25px rgba(45,212,168,.07); font-family:var(--font-mono); }
.display-glass::after { position:absolute; inset:1px; background:linear-gradient(112deg,rgba(255,255,255,.07),transparent 28% 75%,rgba(255,255,255,.02)); content:""; pointer-events:none; }
.display-topline,.display-model { position:relative; z-index:1; display:flex; justify-content:space-between; gap:12px; color:#9be9cf; font:700 .61rem var(--font-mono); letter-spacing:.12em; }
.display-connection { color:#748a83; }
.display-connection i { display:inline-block; width:7px; height:7px; margin-right:6px; border-radius:50%; background:#68766f; }
.display-connection.live,.display-connection.partial { color:var(--rcp-green); }
.display-connection.live i,.display-connection.partial i { background:var(--rcp-green); box-shadow:0 0 8px var(--rcp-green); }
.display-connection.stale { color:var(--rcp-amber); }
.display-connection.stale i { background:var(--rcp-amber); box-shadow:0 0 8px rgba(245,158,11,.45); }
.display-connection.error { color:var(--rcp-red); }
.display-connection.error i { background:var(--rcp-red); }
.camera-display h2 { position:relative; z-index:1; overflow:hidden; margin:8px 0 0; color:#d9fff2; font:700 1.45rem var(--font-mono); letter-spacing:.07em; text-overflow:ellipsis; text-shadow:0 0 10px rgba(45,212,168,.22); text-transform:uppercase; white-space:nowrap; }
.display-ip { position:relative; z-index:1; margin:1px 0 5px; color:#91b8ab; font:500 .67rem var(--font-mono); }
.display-model { color:#718f86; font-size:.54rem; letter-spacing:.05em; }
.display-sync { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:6px 16px; margin-top:7px; color:#6f8f85; font:500 .49rem var(--font-mono); letter-spacing:.07em; }
.display-sync b { color:#a9dbcb; }
.display-sync .sync-error { color:#f4b0b9; }
.live-readouts { position:relative; z-index:1; display:grid; grid-template-columns:repeat(4,minmax(80px,1fr)); gap:1px; margin-top:9px; border:1px solid rgba(103,179,159,.15); background:rgba(103,179,159,.13); }
.live-readouts > div { min-width:0; padding:6px 8px; display:grid; gap:1px; background:rgba(2,12,10,.84); }
.live-readouts small,.live-readouts span { color:#658079; font:500 .48rem var(--font-mono); letter-spacing:.08em; }
.live-readouts strong { overflow:hidden; color:#c7f7e8; font:700 .74rem var(--font-mono); text-overflow:ellipsis; white-space:nowrap; }
.camera-actions { grid-column:auto; width:145px; align-content:start; display:grid; gap:5px; padding:0; }
.camera-actions button { width:100%; min-height:44px; padding:6px; font-size:.56rem; }
.copy-main-button { border:1px solid rgba(34,211,238,.62); border-radius:3px; background:linear-gradient(#173a43,#0b242b); color:#e7fdff; box-shadow:inset 0 -3px rgba(0,0,0,.28),0 0 10px rgba(34,211,238,.08); font:700 .58rem var(--font-mono); letter-spacing:.05em; cursor:pointer; }
.rack-label { display:flex; justify-content:space-between; gap:12px; padding:6px 10px; border-top:1px solid rgba(255,255,255,.04); border-bottom:1px solid #030608; background:linear-gradient(#18242d,#0d161e); color:#b8c7d0; font:700 .57rem var(--font-mono); letter-spacing:.11em; }
.rack-label small { color:#6f818e; font:500 .52rem var(--font-mono); letter-spacing:.03em; }
.comparison-rack { border-bottom:1px solid #030608; }
.comparison-strip { display:flex; overflow-x:auto; border:0; scrollbar-color:rgba(139,169,199,.35) transparent; scrollbar-width:thin; }
.compare-cell { flex:1 0 150px; min-height:50px; padding:8px 10px; }
.compare-cell.active { box-shadow:inset 0 -2px var(--rcp-cyan); }
.compare-cell strong { font-size:.67rem; }
.compare-cell .unreported { color:#64757f; }
.value-source.unknown,.value-source.no-readback { color:#73838d; }
.primary-rack { border-bottom:1px solid #030608; }
.primary-controls { display:grid; grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); gap:7px; padding:9px; background:linear-gradient(180deg,#121d26,#081017); }
.control-unit { min-height:128px; padding:10px; gap:7px; border-radius:3px; border-color:#30404c; background:linear-gradient(180deg,#1c2a34,#0d171f); box-shadow:inset 0 1px rgba(255,255,255,.07),inset 0 -2px rgba(0,0,0,.45),0 2px 4px rgba(0,0,0,.3); }
.control-unit.primary { min-height:178px; border-color:#425564; background-image:radial-gradient(circle at calc(100% - 7px) calc(100% - 7px),#55636d 0 1.5px,transparent 2px),linear-gradient(180deg,#22313b,#0d171f); }
.control-title label,.control-title strong { font:700 .65rem var(--font-mono); letter-spacing:.07em; text-transform:uppercase; }
.control-readout { min-height:34px; padding:5px; border-radius:2px; font-size:.82rem; }
.rotary-stage { display:grid; grid-template-columns:44px 70px 44px; justify-content:center; align-items:center; gap:5px; }
.rotary-stage > button { min-height:44px; border:1px solid #465865; border-radius:3px; background:linear-gradient(#2b3a45,#101a22); color:#fff; box-shadow:inset 0 1px rgba(255,255,255,.1),inset 0 -3px rgba(0,0,0,.36); cursor:pointer; }
.rotary-control { position:relative; display:block; width:68px; height:68px; margin:0; border:1px solid #526675; border-radius:50%; background:radial-gradient(circle,#101a22 0 46%,#050a0e 48% 58%,#30414d 60% 68%,#090f14 70%); box-shadow:inset 0 -8px 13px rgba(0,0,0,.65),0 4px 7px rgba(0,0,0,.6); }
.rotary-control input { position:absolute; inset:0; z-index:2; width:100%; min-height:0; margin:0; opacity:.001; cursor:grab; }
.knob-cap { position:absolute; inset:12px; border:1px solid #637783; border-radius:50%; background:radial-gradient(circle at 38% 27%,#526673,#263946 38%,#101c25 70%,#050a0e); box-shadow:inset 0 2px rgba(255,255,255,.1),inset 0 -6px rgba(0,0,0,.42); transform:rotate(var(--knob-angle)); }
.knob-cap::after { position:absolute; top:3px; left:50%; width:2px; height:14px; background:var(--rcp-cyan); box-shadow:0 0 5px rgba(34,211,238,.5); content:""; transform:translateX(-50%); }
.selector-unit select { background:#08110f; border-color:#39554d; color:#bdebdc; }
.iris-wheel { width:72px; height:72px; margin:auto; display:grid; place-items:center; border:1px solid #5a6c78; border-radius:50%; background:repeating-conic-gradient(#243541 0 6deg,#101a22 6deg 12deg); box-shadow:inset 0 0 0 12px #0b141b,inset 0 -5px 10px #000,0 4px 7px #000; }
.iris-wheel span { color:#a8bbc6; font:700 .55rem var(--font-mono); letter-spacing:.09em; }
.white-reference { min-height:72px; display:grid; place-content:center; gap:2px; border:1px solid #42515c; border-radius:3px; background:#d8d6ce; color:#17212a; box-shadow:inset 0 0 0 5px #aeadad,inset 0 0 12px rgba(0,0,0,.3); text-align:center; }
.white-reference span { font:800 .85rem var(--font-mono); }
.white-reference small { font:700 .45rem var(--font-mono); }
.advanced-controls { background:#080f15; }
.advanced-controls > summary { min-height:48px; padding:8px 11px; display:flex; align-items:center; justify-content:space-between; border-top:1px solid rgba(255,255,255,.035); color:#c4d1d8; font:700 .61rem var(--font-mono); letter-spacing:.1em; cursor:pointer; }
.advanced-controls > summary small { color:#71828e; font:500 .54rem var(--font-mono); letter-spacing:.03em; }
.control-groups { grid-template-columns:repeat(3,minmax(0,1fr)); }
.control-group { padding:10px; }
.control-group h3 { margin:0 0 8px; font-size:.59rem; }
.control-grid { grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:7px; }
.side-rack { top:138px; gap:8px; }
.rack-panel { padding:13px; }
.rack-heading h2 { font-size:1rem; }
.scene-actions button { min-height:44px; }

.copy-dialog { width:min(980px,calc(100% - 28px)); max-height:calc(100vh - 28px); overflow:auto; }
.copy-dialog fieldset { margin:12px 0 0; padding:11px; border:1px solid var(--rcp-line); border-radius:4px; }
.copy-dialog legend { padding:0 6px; color:#b8c7d0; font:700 .62rem var(--font-mono); letter-spacing:.09em; text-transform:uppercase; }
.copy-source { padding:11px 13px; display:grid; grid-template-columns:auto 1fr; gap:2px 12px; border:1px solid rgba(34,211,238,.36); border-left:4px solid var(--rcp-cyan); background:#0a1a21; }
.copy-source > span { grid-row:1/3; align-self:center; color:var(--rcp-cyan); font:700 .58rem var(--font-mono); letter-spacing:.12em; }
.copy-source strong { font:700 .83rem var(--font-mono); }
.copy-source small { color:var(--rcp-muted); font:500 .61rem var(--font-mono); }
.copy-destinations { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:7px; }
.copy-camera-choice,.check-row { min-height:44px; display:flex; align-items:center; gap:8px; margin:0; padding:7px 9px; border:1px solid #344551; border-radius:3px; background:#0b141b; color:#c8d5dc; font:600 .63rem var(--font-mono); cursor:pointer; }
.copy-camera-choice input,.check-row input { width:18px; height:18px; min-height:0; margin:0; accent-color:var(--rcp-cyan); }
.copy-camera-choice span { min-width:0; display:grid; gap:2px; }
.copy-camera-choice strong,.copy-camera-choice small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.copy-camera-choice small { color:var(--rcp-muted); font-size:.55rem; }
.copy-groups { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.copy-advanced { margin-top:10px; padding:9px 11px; border:1px solid rgba(245,158,11,.3); border-radius:4px; background:rgba(245,158,11,.045); }
.copy-advanced summary { min-height:30px; color:#e4c68b; font:700 .62rem var(--font-mono); cursor:pointer; }
.copy-advanced p { margin:7px 0 0; color:var(--rcp-muted); font-size:.7rem; }
.copy-preview,.copy-result { margin-top:12px; border:1px solid #354650; background:#081016; }
.copy-preview > header,.copy-result > header { display:flex; justify-content:space-between; gap:12px; padding:8px 10px; border-bottom:1px solid #354650; background:#13202a; font:700 .58rem var(--font-mono); letter-spacing:.08em; }
.copy-preview > header span,.copy-result > header span { color:var(--rcp-muted); }
.copy-destination-preview { border-bottom:1px solid #283842; }
.copy-preview-heading { display:flex; justify-content:space-between; gap:12px; padding:8px 10px; }
.copy-preview-heading span { display:grid; }
.copy-preview-heading strong { font:700 .71rem var(--font-mono); }
.copy-preview-heading small { color:var(--rcp-muted); font:500 .55rem var(--font-mono); }
.copy-preview-heading b { color:var(--rcp-cyan); font:700 .57rem var(--font-mono); }
.copy-destination-preview ul,.copy-result ul { margin:0; padding:0; list-style:none; }
.copy-destination-preview li { display:grid; grid-template-columns:minmax(150px,.7fr) minmax(230px,1.3fr); gap:12px; padding:6px 10px; border-top:1px solid rgba(139,169,199,.08); font:500 .59rem var(--font-mono); }
.copy-destination-preview li strong { color:var(--rcp-muted); font-weight:500; text-align:right; }
.copy-destination-preview li.compatible span { color:var(--rcp-green); }
.copy-destination-preview li.incompatible span { color:#98a7b0; }
.copy-guidance { margin:0; padding:18px; color:var(--rcp-muted); text-align:center; }
.copy-guidance.error { color:var(--rcp-red); }
.copy-freshness-warning { margin:10px; padding:10px; display:grid; grid-template-columns:1fr auto; gap:3px 12px; align-items:center; border:1px solid rgba(245,158,11,.48); border-left:4px solid var(--rcp-amber); background:rgba(245,158,11,.07); }
.copy-freshness-warning strong { color:#ffd28a; font:700 .64rem var(--font-mono); letter-spacing:.08em; }
.copy-freshness-warning span { color:var(--rcp-muted); font-size:.67rem; }
.copy-freshness-warning button { grid-column:2; grid-row:1/3; min-height:44px; }
.unavailable-source { padding:8px 10px; color:var(--rcp-muted); font-size:.66rem; }
.unavailable-source summary { cursor:pointer; }
.unavailable-source ul { margin:7px 0 0; padding-left:18px; }
.copy-result > section { padding:10px; border-bottom:1px solid #283842; }
.copy-result > section > div { display:flex; justify-content:space-between; gap:12px; font:600 .66rem var(--font-mono); }
.copy-result > section span { color:var(--rcp-muted); }
.copy-result details { margin-top:7px; color:var(--rcp-red); font-size:.65rem; }
.scene-dialog { width:min(620px,calc(100% - 28px)); padding:22px; }
.scene-picker { display:grid; gap:7px; }
.scene-pick { min-height:54px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 10px; border:1px solid #3b4c58; border-radius:3px; background:linear-gradient(#1d2b35,#0d161e); color:#fff; text-align:left; cursor:pointer; }
.scene-pick span { display:grid; gap:2px; }
.scene-pick small { color:var(--rcp-muted); }
.scene-pick b { color:var(--rcp-cyan); font:700 .57rem var(--font-mono); }

@media (max-width:1260px) { .control-groups { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:900px) { .workspace:not([hidden]) { grid-template-columns:1fr; } .side-rack { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); } .side-rack .rack-panel:first-child { grid-column:1/-1; } .operator-bar { position:static; align-items:stretch; flex-direction:column; } .toolbar-actions { flex-wrap:wrap; } .operator-status { justify-content:space-between; } }
@media (max-width:700px) { .tool-header,.section-heading { align-items:stretch; flex-direction:column; } .trust-panel { min-width:0; text-align:left; } .camera-display { grid-template-columns:1fr; } .camera-actions { grid-column:1; width:auto; grid-template-columns:repeat(2,1fr); } .copy-main-button { grid-column:1/-1; } .live-readouts { grid-template-columns:repeat(2,1fr); } .primary-controls,.control-groups { grid-template-columns:1fr; } .copy-groups { grid-template-columns:1fr 1fr; } .copy-destination-preview li { grid-template-columns:1fr; gap:2px; } .copy-destination-preview li strong { text-align:left; } .copy-freshness-warning { grid-template-columns:1fr; } .copy-freshness-warning button { grid-column:1; grid-row:auto; } .side-rack { grid-template-columns:1fr; } .side-rack .rack-panel:first-child { grid-column:auto; } }
@media (max-width:480px) { .shading-shell { width:min(100% - 14px,1680px); } .toolbar-actions > * { flex:1; } .operator-status { align-items:stretch; flex-direction:column; } .operator-status > div { border-left:0; border-top:1px solid var(--rcp-line); } .camera-bank { grid-template-columns:1fr 1fr; } .copy-groups { grid-template-columns:1fr; } .copy-result > section > div { flex-direction:column; } }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto !important; transition:none !important; } }
