.exhibit-model.customer-model{position:relative;isolation:isolate;width:100%;height:100%;min-height:260px;background:radial-gradient(ellipse at 50% 35%,#fff,#efedf2);overflow:hidden;border-radius:14px}
.cv-canvas{position:absolute;inset:0}.cv-canvas canvas{display:block;width:100%;height:100%;outline-offset:-3px}
.cv-status{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;background:#f6f3f9e8;color:#665173;text-align:center;padding:24px}.cv-status strong{font-size:20px}.cv-status span{font-size:13px}.cv-status progress{width:min(300px,80%);height:8px;accent-color:#a587b2}
.cv-tools{position:absolute;top:16px;left:16px;right:16px;z-index:2;display:flex;align-items:center;gap:8px;flex-wrap:wrap;pointer-events:none}
.cv-tools>*{pointer-events:auto}.cv-views{display:flex;gap:4px;padding:4px;background:#ffffffed;border:1px solid #ddd5e5;border-radius:13px;box-shadow:0 4px 18px #45334d0c}
.customer-model button,.cv-tools label{font-family:inherit;font-size:13px;color:#574461;background:#ffffffee;border:1px solid #ddd5e5;border-radius:10px;min-height:40px;box-sizing:border-box;padding:10px 13px;cursor:pointer}.cv-views button{border:0;background:transparent}.customer-model button[aria-pressed=true]{background:#796087;color:#fff}.customer-model button:hover{box-shadow:0 3px 15px #79608730}.customer-model :focus-visible{outline:2px solid #a082b3}
.cv-tools label{display:flex;align-items:center;flex-direction:row;gap:7px;margin:0}.cv-tools input[type=checkbox]{width:16px;height:16px;padding:0;margin:0;accent-color:#896a99}.cv-tools input[type=range]{width:100px;margin:0;padding:0;accent-color:#896a99}.cv-tools output{min-width:34px;font-size:12px}
.cv-help{position:absolute;bottom:15px;left:20px;right:20px;margin:0;color:#6f6378;font-size:12px;line-height:1.6;pointer-events:none;text-shadow:0 1px 4px white}.customer-model [hidden]{display:none!important}
@media(max-width:700px){.cv-tools{top:8px;left:8px;right:8px;gap:5px}.customer-model button,.cv-tools label{font-size:12px;padding:8px 10px}.cv-help{left:12px;bottom:10px;font-size:11px}.cv-views{padding:2px}.cv-tools input[type=range]{width:75px}}

.customer-model .cv-canvas{bottom:74px}
.cv-scene-bar{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 16px;height:74px;box-sizing:border-box;padding:8px 16px;border-top:1px solid #ffffffb0;background:#f8f7f9;}
.cv-scene-options{display:flex;gap:5px}.cv-scene-options button{display:inline-flex;gap:7px;align-items:center;padding:9px 11px}.cv-scene-options i{width:12px;height:12px;border-radius:50%;border:1px solid #0001}.customer-model .cv-scene-bar label{display:flex;flex-direction:row;align-items:center;gap:5px;font-size:12px;white-space:nowrap;color:#675c70;margin:0}.cv-scene-bar input{width:15px;height:15px;margin:0;accent-color:#796087}.cv-scene-bar small{width:100%;text-align:center;color:#7f7486;font-size:10px}.customer-model .cv-help{right:auto;bottom:84px;max-width:calc(100% - 40px);box-sizing:border-box;padding:8px 12px;border:1px solid #ffffff40;border-radius:8px;background:#202a32ed;color:#fff;font-size:13px;font-weight:500;line-height:1.65;white-space:pre-line;text-shadow:none;box-shadow:0 2px 10px #0002}
@media(max-width:700px){.customer-model .cv-canvas{bottom:96px}.cv-scene-bar{height:96px;padding:6px;gap:4px 10px}.customer-model .cv-help{left:12px;right:auto;max-width:calc(100% - 24px);bottom:104px;font-size:13px;padding:7px 10px}.cv-scene-options button{font-size:11px;padding:7px}.cv-scene-bar small{font-size:9px}}
/* Quiet architectural controls; the building owns the visual emphasis. */
.customer-model .cv-scene-bar{background:#f5f2ec;border-color:#e3ded5;gap:5px 18px}
.customer-model .cv-scene-options button{border:1px solid #d9d2c7;background:#fffdf8;color:#655e51;border-radius:6px;letter-spacing:.04em}
.customer-model .cv-scene-options button[aria-pressed=true]{background:#635746;color:#fff;border-color:#635746;box-shadow:0 3px 10px #493c2520}
.cv-strip-controls{display:flex;align-items:center;gap:14px;padding-left:16px;border-left:1px solid #d9d2c7}
.cv-strip-controls select{font:inherit;color:#655e51;background:#fffdf8;border:1px solid #d9d2c7;border-radius:6px;padding:7px 5px;min-height:36px}
.customer-model .cv-strip-controls input[type=range]{width:105px;height:28px;accent-color:#9b7950;cursor:pointer}
.cv-strip-controls output{min-width:34px;font-variant-numeric:tabular-nums;text-align:right}
.cv-strip-controls :disabled{opacity:.45;cursor:default}
@media(max-width:900px){.cv-strip-controls{border-left:0;padding-left:0;gap:12px}.customer-model .cv-scene-bar{height:104px}.customer-model .cv-canvas{bottom:104px}.customer-model .cv-help{bottom:112px}}
.customer-model[data-environment="nocturne"] .cv-scene-bar{background:#222b37;border-color:#39434f}
.customer-model[data-environment="nocturne"] .cv-scene-options button{background:#303b49;border-color:#4a535e;color:#ddd8cf}
.customer-model[data-environment="nocturne"] .cv-scene-options button[aria-pressed=true]{background:#c0a27b;color:#202734;border-color:#c0a27b}
.customer-model[data-environment="nocturne"] .cv-scene-bar label,.customer-model[data-environment="nocturne"] .cv-scene-bar small{color:#aaaeb6}

.exhibit-stage:has(.customer-model)>header{padding:9px 28px;background:#f5f2ec}
.exhibit-stage:has(.customer-model)>header small{display:none}
.exhibit-stage:has(.customer-model)>header h2{font-size:18px}
.exhibit-stage:has(.customer-model)>.case-view-tabs{padding:6px 28px 8px;background:#f5f2ec;border-color:#e3ded5}
.exhibit-stage:has(.customer-model)>.case-view-tabs button{min-height:36px;padding:7px 16px;font-size:12px}
.exhibit-stage:has(.customer-model)>.exhibit-stage-body{padding:0}
.exhibit-stage:has(.customer-model)>.exhibit-stage-body>.customer-model{border-radius:0}
.exhibit-stage:has(.customer-model)>footer{padding:5px 20px;background:#f5f2ec}
.exhibit-stage:has(.customer-model)>footer button{min-height:34px;padding:6px 14px;font-size:12px}
.exhibit-stage:has(.customer-model)>footer span{font-size:11px}
@media(max-width:700px){.exhibit-stage:has(.customer-model)>header{padding:8px 12px}.exhibit-stage:has(.customer-model)>.case-view-tabs{padding:6px 12px}.exhibit-stage:has(.customer-model)>header h2{font-size:15px}}
