/* The live room is a camera backdrop, not a content block. */
.garage-room[data-view=inside] .gr-stage{aspect-ratio:1600/1000;overflow:hidden}
.gr-interior-illustration{filter:none;overflow:hidden}
.garage-room[data-view=inside] .gr-resident-nico{left:12.5%;top:30.5%;width:12.5%;height:29%}
.garage-room[data-view=inside] .gr-resident-lola{left:28%;top:28.3%;width:12.8%;height:29.5%}
.garage-room[data-view=inside] .gr-resident-milo{left:12.7%;top:55%;width:13%;height:32.5%}
.garage-room[data-view=inside] .gr-resident-jota{left:64%;top:55%;width:14%;height:30%}
.garage-room[data-view=inside] .gr-hit-tv{left:64.7%;top:12.8%;width:21.3%;height:19.3%;transform:skewY(12deg)}
.garage-room[data-view=inside] .gr-hit-tv span,.garage-room[data-view=inside] .gr-hit-tv:hover span,.garage-room[data-view=inside] .gr-hit-tv:focus-visible span{transform:translateX(-50%) skewY(-12deg)}
.garage-room[data-view=inside] .gr-hit-console{left:85%;top:34.5%;width:8%;height:19%}
.garage-room[data-view=inside] .gr-hit-light{left:40%;top:3%;width:9%;height:15%}
.garage-room[data-view=inside] .gr-hit-cup{left:52%;top:63%;width:13%;height:16%}
.room-scene .garage-main-room{position:fixed;inset:0;width:100vw;height:100svh;margin:0;z-index:0;overflow:hidden}
.garage-main-room .garage-room{height:100%;width:100%;overflow:hidden}
.garage-main-room .gr-stage{position:absolute;left:50%;top:50%;width:max(100vw,160svh);height:max(62.5vw,100svh);max-width:none;transform:translate(-50%,-50%) scale(calc(.94 + var(--garage-entry,1)*.06));transition:transform .7s cubic-bezier(.2,.75,.2,1)}
.garage-main-room::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:6;background:radial-gradient(ellipse at 50% 43%,#040a1230,#01070d50 90%),linear-gradient(#02060a20,#02060a08 35%,#01060d54);}
.garage-main-room .gr-controls{position:absolute;left:20px;top:82px;bottom:auto;margin:0;padding:0;border:0;max-width:none;z-index:7;pointer-events:auto}
.garage-main-room .gr-room-caption{display:none}
.garage-main-room .gr-control-buttons{gap:7px}
.garage-main-room .gr-control-buttons button{background:#101c2abf;backdrop-filter:blur(10px);padding:9px 11px}
.garage-main-room .gr-status{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.room-scene .universe.crew{position:relative;z-index:2;pointer-events:none;justify-content:center;padding-top:90px}
.room-scene .crew-heading{margin:0 0 24px;pointer-events:none}
.room-scene .crew-grid{pointer-events:none}
.room-scene .crew-slot,.room-scene .crew-star-secret,.room-scene .crew-player,.room-scene a.scene-footer{pointer-events:auto}
.room-scene .crew-wordmark{font-size:clamp(34px,4.4vw,57px);text-shadow:0 3px 22px #000c}
.room-scene:not(.entered) .universe{opacity:0}
.garage-door-active{overflow:hidden}
.gr-exterior-camera{position:absolute;inset:0;transform-origin:50% 51%;transform:scale(calc(1 + var(--door-progress,0)*1.3));transition:transform .65s cubic-bezier(.2,.75,.2,1),opacity .8s;will-change:transform}
.gr-exterior-surface{position:absolute;left:50%;top:50%;width:100%;height:100%;transform:translate(-50%,-50%)}
.gr-exterior-illustration{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}
.gr-door-fullscreen .gr-exterior-surface{width:max(100vw,160svh);height:max(62.5vw,100svh)}
.gr-entrance-aperture{position:absolute;left:23.75%;top:16%;width:52.5%;height:67%;overflow:hidden;border:2px solid #060e18;background:transparent}
.gr-entrance-aperture .gr-door-panel{position:absolute;inset:0;border:0;transform:translateY(calc(var(--door-progress,0)*-105%));transition:transform .65s cubic-bezier(.2,.75,.2,1);background:repeating-linear-gradient(to bottom,#3d4b58 0,#3d4b58 31px,#172734 32px,#6a7a89 34px,#293b4b 36px);box-shadow:0 14px 34px #000a}
.gr-entrance-aperture .gr-door-panel::before{background:linear-gradient(90deg,#101a25aa,transparent 24%,#95aabb0a 55%,#09152470),linear-gradient(#111e2b10,#111e2b60)}
.gr-entrance-aperture .gr-door-mark{top:25%}
.gr-entrance-aperture .gr-door-mark>span{font-size:clamp(76px,13vw,160px);color:#d1dbe3;text-shadow:6px 7px 0 #b82442;-webkit-text-stroke:3px #101c2b}
.gr-entrance-aperture .gr-door-mark>small{font-size:9px;letter-spacing:3px;color:#adc0cf}
.gr-entrance-shadow{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 12px 25px #000b;background:linear-gradient(#03111b50,transparent 65%);opacity:calc(1 - var(--door-progress,0)*.75)}
.gr-door-overlay .gr-door-instructions{z-index:9;bottom:4%;gap:8px;text-shadow:0 2px 12px #000}
.gr-door-instructions strong{font-size:clamp(14px,1.6vw,21px)}
.gr-door-instructions small{color:#a2b9ca}
.gr-door-is-dragging .gr-exterior-camera,.gr-door-is-dragging .gr-door-panel{transition:none}
.gr-door-is-dragging .gr-door-instructions{opacity:calc(1 - var(--door-progress,0)*.85)}
.gr-door-opened .gr-exterior-camera{transform:scale(2.8);opacity:0;transition:transform 1s cubic-bezier(.2,.75,.2,1),opacity .95s .08s}
.gr-door-opened .gr-door-instructions{opacity:0;transition:opacity .25s}
.gr-door-opened .gr-entrance-aperture .gr-door-panel{transform:translateY(-105%)}
@keyframes gr-controller{50%{transform:translate(1173px,867px) rotate(-8deg)}}
@media(max-width:700px){.garage-main-room .gr-stage{left:calc(50% - clamp(0px,calc(44.8svh - 28vw),280px))}.garage-main-room .gr-controls{left:15px;top:72px}.garage-main-room .gr-control-buttons{gap:5px}.garage-main-room .gr-control-buttons button{padding:8px;font-size:8px}.garage-main-room .gr-control-buttons button span{font-size:8px}.room-scene .universe.crew{padding-top:118px}.room-scene .crew-wordmark{font-size:clamp(28px,7vw,40px)}.gr-door-overlay .gr-door-instructions{bottom:6%;gap:8px}.gr-entrance-aperture .gr-door-mark{top:31%}.gr-facade-sign text:first-of-type{font-size:30px;letter-spacing:1px}.gr-door-opened .gr-exterior-camera{transform:scale(2.6)}}
@media(max-width:560px){.room-scene .crew-slot>.character-display:not(.pose-lying){width:150px;height:175px;margin-left:-75px;top:-112px}.room-scene .tile-copy{top:75px}.room-scene .tile-name{font-size:20px}.room-scene .tile-bio{font-size:9px;line-height:1.5}.room-scene .owner-slot .tile-badges{flex-wrap:wrap;gap:4px}.room-scene .owner-rank{flex-shrink:0;white-space:nowrap;font-size:8px;padding:4px 6px}.room-scene .tile-badges .badge-name{display:none}}
@media(prefers-reduced-motion:reduce){.gr-exterior-camera,.gr-entrance-aperture .gr-door-panel,.garage-main-room .gr-stage,.gr-door-instructions{transition:none!important}.gr-door-opened .gr-exterior-camera{opacity:0}}
