/* Only .sam-garage descendants are styled. Safe to use behind another app. */
.sam-garage{position:absolute;inset:0;overflow:hidden;background:#0a0b0d;isolation:isolate;contain:layout paint;--sam-accent:#ff7539}
.sam-garage::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 30%,#282a2a 0,transparent 48%),linear-gradient(180deg,#0a0b0d 0%,#0c0d0e 58%,#202021 85%,#101113 100%)}
.sam-garage::after{content:"";position:absolute;left:30%;right:3%;height:1px;top:19%;background:linear-gradient(90deg,transparent,#e1e3e3,transparent);box-shadow:0 0 28px #ffffff35;transform:rotate(-6deg);pointer-events:none;opacity:.25}
.sam-garage .sam-poster{position:absolute;width:75%;max-width:1500px;left:25%;top:13%;height:81%;object-fit:contain;object-position:center;filter:drop-shadow(0 30px 12px #000c);transition:opacity .75s;user-select:none;pointer-events:none;z-index:2}
.sam-garage .sam-poster:not(.sam-ready){opacity:0}
.sam-garage .sam-poster.sam-arrive{animation:sam-arrival 2.6s cubic-bezier(.16,.68,.2,1) both}
@keyframes sam-arrival{0%{transform:translate3d(52%,0,0) scale(.91);opacity:0}12%{opacity:1}80%{transform:translate3d(-.5%,0,0) scale(1)}90%{transform:translate3d(.15%,.25%,0) scale(1)}100%{transform:translate3d(0,0,0) scale(1);opacity:1}}
.sam-garage .sam-canvas-wrap{position:absolute;inset:7% -8% 1% 25%;opacity:0;transition:opacity .75s;z-index:1;touch-action:pan-y}
.sam-garage.sam-3d .sam-canvas-wrap{opacity:1}
.sam-garage.sam-3d .sam-poster{opacity:0}
.sam-garage canvas{width:100%;height:100%;display:block;touch-action:pan-y}
.sam-garage .sam-marker{position:absolute;left:0;top:0;z-index:3;display:none;align-items:center;gap:16px;pointer-events:none;font:600 10px/1.5 monospace;color:#fff;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;text-shadow:0 2px 5px #000}
.sam-garage.sam-3d .sam-marker[data-visible="true"]{display:flex}
.sam-garage .sam-marker i{width:13px;height:13px;border:1px solid var(--sam-accent);border-radius:50%;background:#ff743930;box-shadow:0 0 0 7px #ff743912,0 0 20px #ff743950}
.sam-garage .sam-marker span{border-bottom:1px solid #ff743970;padding:5px 0}
.sam-garage .sam-fallback{position:absolute;bottom:22%;right:7%;color:#aaa;font:11px/1.5 monospace;z-index:5;max-width:250px;background:#0a0b0dd9;padding:12px}
@media(max-width:760px){.sam-garage .sam-poster{left:0;width:100%;top:13%;height:54%}.sam-garage .sam-canvas-wrap{inset:13% -10% 48% -10%}.sam-garage .sam-marker{font-size:8px;gap:10px}.sam-garage::after{left:0;top:18%}}
@media(prefers-reduced-motion:reduce){.sam-garage .sam-poster.sam-arrive{animation:none}.sam-garage .sam-poster,.sam-garage .sam-canvas-wrap{transition:none}}
