/* ==========================================================================
   The Night Studio illustration's frame (ENG-07 CP3c, CP3d): shared by the
   app (index.html, the client's MM2 page) and the public site (welcome.html).
   The engine (night-studio-engine.js) appends one canvas per layer to the
   stage. Tokens (--hair, --text-2, --f-mono ...) come from the page's own
   stylesheet: instrument.css in the app, site.css on the public site.
   ========================================================================== */
.studio-figure{margin:20px 0 18px}
.studio-frame{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--hair-2);background:#0b0d13;box-shadow:0 0 0 1px rgba(244,241,234,.03),0 30px 80px -48px rgba(244,241,234,.2)}
.studio-stage{position:relative;height:clamp(280px,44vw,480px);overflow:hidden;isolation:isolate;background:#0b0d13}
.studio-stage .layer{position:absolute;left:0;top:0;transition:filter .75s ease}
.studio-stage .layer-bg{z-index:0}
.studio-stage .layer-dh,.studio-stage .layer-ro{z-index:1}
.studio-stage .layer-gate{z-index:2}
.studio-stage .layer-fx{z-index:3}
.studio-stage .layer-vh,.studio-stage .layer-sf{z-index:4}
.studio-stage .layer-air{z-index:5;filter:blur(.4px)}
.studio-vignette{position:absolute;inset:0;z-index:7;pointer-events:none;background:radial-gradient(120% 90% at 50% 46%,transparent 55%,rgba(5,6,9,.55) 100%)}
.studio-grain{position:absolute;inset:0;z-index:7;pointer-events:none;opacity:.055;mix-blend-mode:overlay;background-repeat:repeat}
.studio-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;min-height:48px;padding:6px 8px 6px 14px;border-top:1px solid var(--hair);background:#0c0f15}
.studio-tag{margin:0;font:500 11px/1.3 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-2)}
.studio-motion{margin-left:auto}
.studio-caption{margin-top:10px;font-size:12.5px;line-height:1.6;color:var(--muted)}
.studio-risk{color:var(--text-2)}
@media (prefers-reduced-motion: reduce){.studio-stage .layer{transition:none}}
.studio-motion[hidden]{display:none}
