/* DMFW223.EXE V28 warehouse alignment + high-resolution room pass */
.dashboard .hotspot:not(.v28-hotspot){pointer-events:none!important}
.v28-hotspot{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);z-index:160;border:1px solid transparent;background:transparent;padding:0;cursor:pointer}
.v28-hotspot:hover,.v28-hotspot:focus-visible{outline:none;border-color:rgba(216,114,255,.84);background:rgba(138,38,178,.055);box-shadow:inset 0 0 0 1px rgba(216,114,255,.24),0 0 18px rgba(184,70,231,.22)}
.v28-hotspot:after{content:attr(data-tip);position:absolute;left:50%;bottom:100%;transform:translate(-50%,-6px);white-space:nowrap;padding:5px 8px;background:rgba(8,6,12,.94);border:1px solid #69417c;color:#eee;font-size:9px;opacity:0;pointer-events:none}
.v28-hotspot:hover:after{opacity:1}
.v28-hotspot.secret:hover{border-color:#5cdb91;box-shadow:0 0 22px rgba(72,219,139,.35)}
body.v28-embedded{background:#050507}
body.v28-embedded .dashboard{width:100vw;height:100vh}
.radio-bar.v28-parent-radio{box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 24px rgba(182,83,226,.12)}
.radio-bar.v28-parent-radio:before{content:'PERSISTENT';position:absolute;right:10px;bottom:-12px;font-size:7px;color:#58d68a;letter-spacing:.12em}
.safe-window{width:min(1580px,98vw)!important}
.safe-layout{grid-template-columns:minmax(0,1fr) 310px!important}
#safeCanvas{width:100%;height:auto;max-height:82vh;cursor:pointer;background:#050507}
.safe-controls{max-height:82vh!important}
.motor-window,.race-window{width:min(1480px,98vw)!important}
#motorCanvas,#raceCanvas{cursor:pointer}
.scene-window{width:min(1600px,98vw)!important}
.scene-image{background-position:center!important}
.v28-connection{position:fixed;left:14px;bottom:12px;z-index:6800;padding:7px 10px;background:rgba(6,5,9,.88);border:1px solid #403047;color:#8f8395;font-size:8px;pointer-events:none}
.v28-connection b{color:#58d68a}
@media(max-width:900px){.safe-layout{grid-template-columns:1fr!important}.safe-controls{max-height:none!important}.v28-hotspot:after{display:none}}
.v28-dashboard-preview{position:absolute;z-index:90;pointer-events:none;border:1px solid rgba(112,68,132,.5);box-shadow:0 8px 26px rgba(0,0,0,.48)}
.v28-dash-motor{left:29.25%;top:56.7%;width:21.85%;height:11.8%;background:#08080b}
.v28-dash-safe{left:61.0%;top:55.0%;width:26.4%;height:21.2%;background:#08080b}
