/* Scope every rule to the preview or the new scene. */
.garage-room{--gr-cream:#d5dde3;--gr-mauve:#e2404c;position:relative;width:100%;color:var(--gr-cream);font-family:Arial,sans-serif}
.gr-stage{position:relative;width:100%;aspect-ratio:1200/760;isolation:isolate;overflow:visible}
.gr-illustration{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 25px 30px #0003);transition:filter .7s}
.gr-resident{position:absolute;z-index:2;filter:drop-shadow(0 8px 5px #0c111760);transform-origin:50% 88%}
.gr-resident-nico{left:22.6%;top:30.6%;width:12%;height:24.5%;z-index:2}
.gr-resident-lola{left:34.2%;top:27.7%;width:12.5%;height:25.8%;z-index:2}
.gr-resident-milo{left:25.5%;top:46.3%;width:12%;height:26%;z-index:4}
.gr-resident-jota{left:64.5%;top:49.9%;width:13%;height:25%;z-index:4}
.gr-resident .character-display{position:relative;width:100%;height:100%;border:0;background:none;padding:0;display:block;overflow:visible;pointer-events:auto;cursor:pointer;transform-origin:50% 80%;animation:gr-breathe 4.8s ease-in-out infinite}
.gr-resident-lola .character-display{animation-delay:-2s}.gr-resident-jota .character-display{animation-delay:-3s}
.gr-resident .character-vector{display:block;width:100%;height:100%;pointer-events:none;overflow:visible}
.gr-resident .character-laugh-eyes,.gr-resident .character-laugh-mouth,.gr-resident .character-giggle{display:none}
.gr-resident .is-laughing .character-normal-eyes,.gr-resident .is-laughing .character-mouth{display:none}
.gr-resident .is-laughing .character-laugh-eyes,.gr-resident .is-laughing .character-laugh-mouth{display:block}
.gr-resident .is-laughing .character-vector{animation:gr-laugh .22s ease-in-out 6}
.gr-resident .is-laughing .character-giggle{display:block;position:absolute;left:50%;top:8%;white-space:nowrap;color:#f5deb9;font-size:clamp(8px,1vw,13px);text-shadow:0 2px 7px #181420;animation:gr-giggle 1.35s both}
.gr-resident .character-smoke{animation:gr-smoke 3.5s ease-in-out infinite;transform-origin:center}
.gr-hit{position:absolute;z-index:5;border:0;background:transparent;padding:0;color:var(--gr-cream);border-radius:12px;cursor:pointer}
.gr-hit-tv{left:65.17%;top:28.29%;width:14.67%;height:14.74%;transform:skewY(28deg);transform-origin:0 0}
.gr-hit-tv span{transform:translateX(-50%) skewY(-28deg)}
.gr-hit-console{left:76%;top:48%;width:9%;height:17%}
.gr-hit-light{left:36.8%;top:13.5%;width:8%;height:14%}
.gr-hit-cup{left:47.6%;top:57%;width:11%;height:14%}
.gr-hit span{display:block;position:absolute;left:50%;bottom:calc(100% + 7px);transform:translateX(-50%) translateY(4px);padding:7px 10px;background:#24212def;border:1px solid #c9aaca45;border-radius:8px;font-size:11px;white-space:nowrap;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;box-shadow:0 8px 20px #0003}
.gr-hit-tv span{transform:translateX(-50%) skewY(-28deg) translateY(4px)}
.gr-hit:hover span,.gr-hit:focus-visible span{opacity:1;transform:translateX(-50%) translateY(0)}
.gr-hit-tv:hover span,.gr-hit-tv:focus-visible span{transform:translateX(-50%) skewY(-28deg)}
.gr-hit:focus-visible,.gr-resident .character-display:focus-visible{outline:2px dashed #edca9c;outline-offset:3px;background:#ead0ed08}
.gr-fx{position:absolute;inset:0;z-index:7;pointer-events:none;overflow:visible}
.gr-burst{position:absolute;display:block;transform:translate(-50%,-50%);font-family:monospace;font-size:clamp(10px,1.2vw,15px);font-weight:700;color:#f4deb2;text-shadow:0 2px 10px #151321;white-space:nowrap;animation:gr-burst 1.4s both}
.gr-spark{position:absolute;display:block;color:#e8c696;font-style:normal;animation:gr-spark 1s var(--delay) both;font-size:15px}
.gr-controls{margin:-1% auto 0;display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:78%;border-top:1px solid #e3c9e21c;padding-top:20px}
.gr-room-caption{font-family:monospace;font-size:11px;letter-spacing:2px;display:block;white-space:nowrap}.gr-room-caption i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#d4a93c;box-shadow:0 0 10px #aac39260;margin-right:10px;vertical-align:1px}.gr-room-caption small{display:block;color:#887c8d;font-size:10px;letter-spacing:.5px;margin:7px 0 0 17px}
.gr-control-buttons{display:flex;gap:9px}.gr-control-buttons button{color:#d6c7da;border:1px solid #b79dc62b;background:#a994bd09;padding:10px 13px;border-radius:10px;font-size:9px;letter-spacing:1px;cursor:pointer;transition:background .2s,border-color .2s,transform .2s;font-family:monospace}.gr-control-buttons button span{display:block;font-size:9px;margin-top:4px;letter-spacing:0;color:#bfa5c8}.gr-control-buttons button:hover{background:#d7404b1c;border-color:#d7404b77;transform:translateY(-2px)}.gr-control-buttons button:focus-visible{outline:2px solid #e3b442;outline-offset:3px}.gr-control-buttons button[aria-pressed=true]{border-color:#ed4050;background:#ac78c91a}
.gr-status{min-height:20px;text-align:center;color:#8e8096;font-family:monospace;font-size:11px;margin:25px 15px 0;line-height:1.7}
.gr-lamp-cone,.gr-ambient-wash,.gr-tv-spill,.gr-neon,.gr-console-led{transition:opacity .7s,stroke .7s,fill .7s}
.garage-room[data-light=night] .gr-illustration{filter:drop-shadow(0 25px 35px #0006) saturate(.88)}.garage-room[data-light=night] .gr-ambient-wash{opacity:.17}.garage-room[data-light=night] .gr-lamp-cone{fill:#ff3048;opacity:.12}.garage-room[data-light=night] .gr-lamp-bulb{fill:#ff6a47}.garage-room[data-light=night] .gr-tv-spill{opacity:.28}.garage-room[data-light=night] .gr-neon{filter:drop-shadow(0 0 6px #f73849)}.garage-room[data-light=night] .gr-resident{filter:drop-shadow(0 8px 5px #0c111760) drop-shadow(0 0 5px #ff33482b)}
.gr-ash-smoke{animation:gr-room-smoke 4s ease-in-out infinite;transform-origin:bottom}.gr-shisha-smoke{animation:gr-room-smoke 6s -2s ease-in-out infinite;transform-origin:bottom}.gr-equalizer rect{animation:gr-equalizer .8s calc(var(--i)*-.13s) ease-in-out infinite;transform-origin:bottom;transform-box:fill-box}.gr-channel-switch .gr-tv-program{animation:gr-tune .4s steps(3)}.gr-playing .gr-tv-player{animation:gr-game-jump .55s cubic-bezier(.2,.7,.3,1)}.gr-playing .gr-controller-art{animation:gr-controller .25s 2}.gr-cheers .character-lean-cup{animation:gr-cup .65s ease-in-out;transform-origin:center}
@keyframes gr-breathe{50%{transform:translateY(-2px) rotate(.35deg)}}
@keyframes gr-laugh{50%{transform:translateY(-4px) rotate(2deg)}}
@keyframes gr-giggle{0%{opacity:0;transform:translate(-50%,0) scale(.8)}20%,70%{opacity:1;transform:translate(-50%,-10px)}100%{opacity:0;transform:translate(-50%,-20px)}}
@keyframes gr-smoke{50%{opacity:.12;transform:translateY(-7px) scaleX(1.1)}}
@keyframes gr-room-smoke{0%,100%{opacity:.12;transform:translateY(0) scaleX(.85)}50%{opacity:.4;transform:translateY(-15px) scaleX(1.2)}}
@keyframes gr-burst{0%{opacity:0;transform:translate(-50%,0) scale(.8)}20%,65%{opacity:1;transform:translate(-50%,-22px) scale(1)}100%{opacity:0;transform:translate(-50%,-50px)}}
@keyframes gr-spark{0%{opacity:0;transform:translate(0,0) scale(.5)}25%{opacity:1}100%{opacity:0;transform:translate(var(--sx),var(--sy)) rotate(90deg)}}
@keyframes gr-equalizer{50%{transform:scaleY(.35)}}
@keyframes gr-tune{0%,55%{opacity:.3}25%,75%{opacity:1}40%{opacity:.6}}
@keyframes gr-game-jump{50%{transform:translate(28px,-28px)}}
@keyframes gr-controller{50%{transform:translate(771px,557px) rotate(-5deg)}}
@keyframes gr-cup{50%{transform:translateY(-11px) rotate(-10deg)}}
.gr-door-overlay{--door-progress:0;position:absolute;inset:0;z-index:50;overflow:hidden;background:transparent;touch-action:none;border-radius:18px;color:#ebddc7;font-family:Arial,sans-serif;isolation:isolate}
.gr-door-fullscreen{position:fixed;border-radius:0}.gr-door-light{position:absolute;inset:0;background:#ce253c;opacity:calc(var(--door-progress)*.08);transition:opacity .2s}.gr-door-panel{--door-lift:0px;position:absolute;inset:0;background:repeating-linear-gradient(to bottom,#272d34 0,#272d34 43px,#151d25 44px,#424a52 46px,#242c35 48px);border-inline:14px solid #11191f;box-shadow:0 10px 45px #000b;transform:translateY(calc(-1 * var(--door-lift)));transition:transform .6s cubic-bezier(.2,.75,.2,1);will-change:transform;cursor:grab}.gr-door-panel::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#17131c30,transparent 25%,#7c637b12 50%,transparent 75%,#16121c40);pointer-events:none}.gr-door-dragging{transition:none;cursor:grabbing}.gr-door-mark{position:absolute;left:50%;top:17%;transform:translateX(-50%) rotate(-5deg);text-align:center;text-shadow:3px 4px 0 #211b2b}.gr-door-mark>span{display:block;font-size:clamp(55px,9vw,130px);font-weight:900;letter-spacing:-12px;color:#dedee0;-webkit-text-stroke:2px #221b2e}.gr-door-mark>small{display:block;font:9px monospace;letter-spacing:4px;color:#a5adb4;margin-top:7px}.gr-door-instructions{position:absolute;left:15px;right:15px;bottom:24%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.gr-door-instructions>span{font-size:28px;color:#e3c5a0;animation:gr-door-arrow 2.5s ease-in-out infinite}.gr-door-instructions strong{font-size:clamp(14px,2vw,22px);font-weight:500;letter-spacing:-.4px}.gr-door-instructions small{color:#a9b3bb;font:10px monospace;letter-spacing:.3px}.gr-door-open{margin-top:12px;display:flex;gap:30px;align-items:center;font:10px monospace;letter-spacing:.5px;padding:12px 16px;border:1px solid #d9b8cc44;color:#e8d5db;background:#241f2bad;border-radius:8px;cursor:pointer;transition:border-color .2s,background .2s}.gr-door-open:hover{border-color:#e9c49d;background:#3a2c42}.gr-door-open:focus-visible{outline:2px solid #e9c49d;outline-offset:5px}.gr-door-handle{position:absolute;bottom:7%;left:calc(50% - 55px);width:110px;height:20px;border:4px solid #18151f;border-bottom-width:7px;border-radius:6px;background:#766572;box-shadow:0 5px 10px #0006}.gr-door-handle i{position:absolute;inset:3px 8px;background:#322934;border-radius:2px}.gr-door-rail{position:absolute;inset:0;border:3px solid #514555;border-bottom-width:11px;border-radius:inherit;pointer-events:none}.gr-door-opened{background:transparent;pointer-events:none;transition:background .4s}.gr-door-opened .gr-door-panel{transform:translateY(-105%);transition:transform .7s cubic-bezier(.25,.8,.2,1)}.gr-door-opened .gr-door-rail{opacity:0;transition:opacity .4s}
@keyframes gr-door-arrow{50%{transform:translateY(-8px);opacity:.5}}
.gr-preview-page{margin:0;background:#0b0f13;color:#dde2e6;font-family:Arial,sans-serif;min-height:100svh;box-sizing:border-box}.gr-preview-page *{box-sizing:border-box}.gr-preview-shell{max-width:1250px;margin:auto;padding:42px 45px 45px}.gr-preview-header{display:flex;justify-content:space-between;align-items:flex-start;gap:25px}.gr-preview-wordmark{font-weight:800;font-size:17px;letter-spacing:-.6px;color:#dae0e5}.gr-preview-wordmark span{color:#d93947}.gr-preview-badge{display:inline-block;border:1px solid #9a7aa538;border-radius:100px;padding:7px 11px;margin-top:13px;font:9px monospace;letter-spacing:1px;color:#bfa6c9}.gr-preview-note{font:10px/1.8 monospace;color:#8f8297;max-width:240px;text-align:right;margin:0}.gr-preview-title{max-width:620px;margin:42px 0 -30px;position:relative;z-index:2;pointer-events:none}.gr-preview-title p{font:9px monospace;letter-spacing:3px;text-transform:uppercase;color:#a386b2;margin:0 0 11px}.gr-preview-title h1{font-size:clamp(27px,4vw,43px);line-height:1.15;letter-spacing:-1.8px;font-weight:500;margin:0}.gr-preview-title h1 em{font-family:Georgia,serif;font-weight:normal;color:#d93844}.gr-preview-title>small{display:block;margin-top:12px;font-size:12px;color:#95889e;line-height:1.7;max-width:415px}.gr-preview-room{position:relative;margin-top:8px}.gr-preview-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #b89fc61c;margin-top:30px;padding-top:20px}.gr-preview-footer p{font:10px/1.7 monospace;color:#8c7f95;margin:0}.gr-preview-try{display:flex;align-items:center;gap:24px;background:#242c34;color:#dce0e4;border:1px solid #ab87bb40;border-radius:10px;padding:13px 17px;font:11px monospace;cursor:pointer}.gr-preview-try:hover{background:#3a242c;border-color:#c69bd5}.gr-preview-try:focus-visible{outline:2px solid #cda8da;outline-offset:4px}.gr-preview-door-area{position:relative;overflow:hidden;border-radius:18px}.gr-preview-page .gr-door-overlay{bottom:90px}
@media(max-width:700px){.gr-preview-shell{padding:25px 18px 30px}.gr-preview-header{gap:15px}.gr-preview-note{max-width:160px;font-size:8px}.gr-preview-wordmark{font-size:14px}.gr-preview-title{margin:32px 0 0}.gr-preview-title h1{letter-spacing:-1px}.gr-preview-title>small{font-size:11px}.gr-preview-room{margin:14px -10px 0}.gr-controls{max-width:89%;padding-top:17px;align-items:flex-start}.gr-room-caption{font-size:8px;letter-spacing:1px}.gr-room-caption small{font-size:8px;max-width:105px;white-space:normal;line-height:1.5}.gr-control-buttons{gap:5px}.gr-control-buttons button{padding:8px;font-size:8px}.gr-control-buttons button span{font-size:8px}.gr-status{font-size:9px;margin-top:20px;min-height:30px}.gr-preview-footer{align-items:flex-start}.gr-preview-footer p{max-width:160px;font-size:9px}.gr-preview-try{font-size:9px;gap:10px;padding:11px 12px}.gr-hit span{font-size:8px;padding:5px 7px}.gr-door-instructions{bottom:23%;gap:7px}.gr-door-instructions>span{font-size:20px}.gr-door-instructions small{font-size:8px}.gr-door-open{font-size:9px;padding:8px 12px;margin-top:6px}.gr-door-mark{top:8%}.gr-door-mark>span{letter-spacing:-6px}.gr-door-mark>small{font-size:7px;letter-spacing:2px}.gr-door-handle{bottom:5%;height:17px;width:80px;left:calc(50% - 40px)}.gr-preview-page .gr-door-overlay{bottom:100px}}
@media(prefers-reduced-motion:reduce){.garage-room *, .gr-door-overlay *{animation:none!important;transition:none!important}.gr-resident .character-smoke{opacity:.3}.gr-ash-smoke,.gr-shisha-smoke{opacity:.25}.gr-burst{opacity:1}.gr-spark{display:none}.gr-door-opened .gr-door-panel{transform:translateY(-105%)}.gr-preview-try{transition:none}}

/* Midnight garage: concrete, chrome, red paint and street-racing light. */
.gr-swipe-keyboard-hint{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.gr-door-overlay:focus{outline:none}
.gr-preview-page{background:radial-gradient(ellipse at 60% 35%,#251418 0,#0b0f13 60%);color:#dce2e7}
.gr-preview-title{margin-bottom:0}.gr-preview-room{margin-top:24px}.gr-controls{margin-top:12px}
.gr-preview-wordmark span{color:#e24850}.gr-preview-badge{color:#e5999a;border-color:#d7404b55;background:#d7404b0a}.gr-preview-title p{color:#c44b54}.gr-preview-title h1{font-weight:800;letter-spacing:-2px}.gr-preview-title h1 em{font-family:Impact,Arial Black,sans-serif;text-transform:uppercase;color:#e04a52;font-style:normal;letter-spacing:0}.gr-preview-note,.gr-preview-title>small,.gr-preview-footer p{color:#939fa9}
.gr-room-caption i{background:#e3b13c;box-shadow:0 0 10px #e3b13c55}.gr-room-caption small,.gr-status{color:#98a4af}.gr-control-buttons button{background:#172029;color:#dbe1e5;border-color:#69778250}.gr-control-buttons button span{color:#c4555d}.gr-control-buttons button:hover{border-color:#df4551;background:#3b2028}.gr-control-buttons button[aria-pressed=true]{border-color:#e44856;background:#ac273626}
.gr-resident .gr-intimidate .character-vector{animation:gr-stare .7s ease-out}.garage-room[data-light=night] .gr-ambient-wash{fill:#f3243b;opacity:.13}.garage-room[data-light=night] .gr-lamp-cone{fill:#f62944;opacity:.12}.garage-room[data-light=night] .gr-lamp-bulb{fill:#ff664b}.garage-room[data-light=night] .gr-resident{filter:drop-shadow(0 8px 5px #080d14aa) drop-shadow(0 0 6px #d6263840)}
.gr-race-lanes{animation:gr-racing-lanes .5s linear infinite}.gr-race-car{transform-box:fill-box;transform-origin:center;animation:gr-race-drift 2.6s ease-in-out infinite}.gr-playing .gr-nitro-flame{fill:#8deefe;opacity:1}.gr-playing .gr-race-lanes{animation-duration:.18s}.gr-playing .gr-tv-player{animation:gr-nitro .65s ease-out}
.gr-door-mark>span{color:#e2e5e8;-webkit-text-stroke:2px #11171d;text-shadow:4px 5px 0 #c12b3b;transform:skew(-8deg)}.gr-door-open{border-color:#9e374855;background:#15202ac4;color:#dfe5e9}.gr-door-open:hover{background:#41242c;border-color:#e44856}.gr-door-rail{border-color:#4d5965}.gr-door-handle{background:#87929c;border-color:#10181f}.gr-door-light{background:#e12e43}
@keyframes gr-stare{0%,100%{transform:translateY(0)}35%{transform:translateY(-5px) scale(1.04)}65%{transform:translateY(1px) scale(1.01)}}
@keyframes gr-racing-lanes{to{transform:translateY(15px)}}
@keyframes gr-race-drift{0%,100%{transform:translateX(-2px) rotate(-1deg)}50%{transform:translateX(2px) rotate(1deg)}}
@keyframes gr-nitro{40%{transform:translateY(-9px) scale(.94)}100%{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.gr-race-lanes,.gr-race-car,.gr-playing .gr-tv-player,.gr-resident .gr-intimidate .character-vector{animation:none!important}}
