/* One illustrated Connectome, one installed Processor asset and one volumetric projection. */
#processor-clean-patch{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none;visibility:hidden;mask-image:url('assets/processor-clean-mask.svg');mask-size:100% 100%;mask-repeat:no-repeat}
#processor-hardware{position:absolute;z-index:5;pointer-events:none;visibility:hidden}
#processor-hardware canvas{display:block;width:100%;height:100%;pointer-events:none}
.processor-ready #processor-clean-patch,.processor-ready #processor-hardware{visibility:visible}
#studio-monitor{display:none;position:absolute;background:#091b23;overflow:hidden}
#studio-monitor iframe{width:100%;height:100%;border:0;background:#fff;display:block}
.studio-monitor-bar{display:none}
#studio-monitor.expanded{inset:12px;width:auto;height:auto;z-index:20;border:1px solid #b6c0af;border-radius:8px;box-shadow:0 16px 80px #000b;display:flex;flex-direction:column}
#studio-monitor.expanded iframe{flex:1 1 0;min-height:0;height:0}
.expanded .studio-monitor-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;height:48px;flex:0 0 48px;padding:0 16px;background:#0d222a;color:#f1e9d3;font:16px Georgia,serif}
.studio-monitor-bar button{font:12px system-ui;min-height:34px;padding:7px 12px}
#oca-controls{position:absolute;bottom:60px;left:50%;transform:translateX(-50%);z-index:9;width:min(690px,calc(100% - 40px));padding:8px 12px;border:0;border-top:1px solid #b38e5566;border-radius:0;background:linear-gradient(90deg,#081a22ed,#081a22c9);display:flex;gap:18px;align-items:center}
.oca-access-label{flex:1;min-width:0}.oca-access-eyebrow{display:block;font:9px/1.2 system-ui;letter-spacing:.16em;color:#d1b77f;margin-bottom:4px}
.oca-selection{font:12px/1.4 system-ui;color:#c9dcd7;margin:0}.oca-selection strong{color:#edf5ed;font-weight:500}
.oca-actions button{font:12px/1.3 system-ui;padding:9px 12px;white-space:nowrap;border-color:#7caa9b80;background:#102b30;color:#dbeee6;border-radius:3px}
.oca-actions button:hover{background:#193d40;border-color:#b0d9cb}.oca-actions button span{margin-left:10px;color:#c6b27b}
.oca-study-links{font:11px/1.5 system-ui;margin-left:auto;max-width:300px}.oca-study-links summary{cursor:pointer;color:#d5bd89}.oca-study-links p{color:#b8d0d1;margin:8px 0}.oca-study-links nav{display:flex;flex-wrap:wrap;gap:8px 14px}.oca-study-links a{color:#d8eee8;text-underline-offset:3px}#oca-controls:has(.oca-study-links[open]){align-items:flex-start}.oca-study-links[open]{padding:4px 0}
@media(max-width:700px){#oca-controls{flex-wrap:wrap}.oca-study-links{margin-left:0;flex-basis:100%;max-width:none}}
/* The actual volume is Three.js; this is its small, camera-registered caption. */
#oca-hologram{position:absolute;z-index:7;visibility:hidden;pointer-events:none;touch-action:none}
.oca-focused #oca-hologram{visibility:visible;pointer-events:auto}
#oca-hologram canvas{display:block;width:100%;height:100%}
.studio-open #oca-hologram{display:none;visibility:hidden;pointer-events:none}
.oca-error{position:absolute;z-index:10;bottom:80px;left:20px;max-width:700px;background:#401d20;padding:20px}
.oca-shared-state{position:relative;flex:0 0 28px;min-width:0;height:28px;font-size:12px;color:#f1e9d3;display:flex;align-items:center;gap:16px;background:#0c2328;padding:0 12px}
.oca-selected-part{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.oca-return-hint{margin-left:auto;white-space:nowrap;color:#b9c8c1}
@media(max-width:1000px){.oca-return-hint{display:none}}

#oca-owner-status{color:#b9d2c5;margin-left:auto}#replay{margin-left:0}
.hardware-foreground{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:4;clip-path:polygon(9.57% 62.27%,13.16% 57.49%,17.34% 55.26%,17.88% 51.22%,22.97% 46.87%,27.57% 51.22%,28.11% 56.85%,32.00% 57.39%,36.18% 61.85%,34.09% 65.89%,34.09% 79.60%,33.79% 83.00%,29.43% 85.65%,10.17% 81.62%,9.87% 76.20%,11.36% 68.01%)}
.foreground{clip-path:polygon(0 72%,100% 72%,100% 100%,0 100%)}
@media(max-width:600px){#oca-controls{bottom:60px;width:calc(100% - 24px);gap:8px}.oca-actions button{padding:9px}.oca-access-eyebrow{font-size:8px}.oca-selection{font-size:11px}#oca-owner-status{font-size:9px}#studio-monitor.expanded{inset:8px}.studio-monitor-bar{padding:8px!important}.studio-monitor-bar button{padding:7px;font-size:10px}.studio-monitor-bar span{font-size:13px}.oca-shared-state{font-size:11px}}

/* Focused Studio is one modal operating surface, including its real iframe. */
.studio-open header,.studio-open footer,.studio-open #place-menu{visibility:hidden;pointer-events:none}
#oca-hologram canvas:focus{outline:none}#oca-hologram canvas:focus-visible{outline:2px solid #c9e8da;outline-offset:3px;border-radius:12px}
/* The smaller rear assembly conceals the host's cropped lower torso. */
#actor{left:4.5%;top:23%}
.hardware-foreground{clip-path:polygon(9.2% 63%,12.4% 59%,16.5% 55.8%,17.7% 51%,22.9% 46.5%,28.2% 51.5%,28.7% 55.7%,32.2% 56.7%,36.3% 62.6%,34% 66.9%,34% 85.7%,10% 83.6%,9.2% 78%,11% 69%)}
/* Retain the original room pixels; only the changed bench/notebook use the edited plate. */
.original-room{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.plate,.foreground{mask-image:url('assets/bench-region-mask.svg');mask-size:100% 100%;mask-repeat:no-repeat}
#processor-projection{position:absolute;z-index:8;transform-origin:0 0;pointer-events:none;color:var(--selection-color,#b9f3df);padding:5px 10px 12px;font-family:system-ui,sans-serif;text-shadow:0 1px 3px #00160e,0 0 8px #05281ddd}
#processor-projection small{display:block;font:9px/1.3 system-ui;letter-spacing:.13em;color:var(--selection-color,#a9d7c6)}
#processor-projection strong{display:block;font:500 19px/1.12 system-ui;margin:4px 0;color:var(--selection-color,#d0ffe9)}
#processor-projection{box-sizing:border-box}
#processor-projection>*{white-space:nowrap}
#processor-projection>span{display:block;font:11px/1.3 ui-monospace,monospace;letter-spacing:.015em;color:var(--selection-color,#a2e4d2)}
