/* Shared pixel-art roll-up doors. The aperture clips moving slats at the housing. */
.garage-door{outline:none;cursor:pointer}
.garage-door .roller-door-art{transition:filter .18s}
.garage-door .roller-title{font:bold 13px monospace;letter-spacing:1px}
.garage-door .roller-subtitle{font:7px monospace;letter-spacing:.7px}
.garage-door .roller-prompt{font:bold 9px monospace;letter-spacing:.6px;transition:opacity .15s}
.garage-door .door-shutter{transform:translateY(0);transition:transform 1050ms cubic-bezier(.42,0,.2,1);will-change:transform}
.garage-door .roller-status{filter:drop-shadow(0 0 3px #a1dbff70)}
.garage-door:hover .roller-door-art,.garage-door:focus-visible .roller-door-art{filter:drop-shadow(0 0 5px #7be4ff) drop-shadow(0 0 10px #77d9fb66)}
.garage-door:hover .roller-rail,.garage-door:focus-visible .roller-rail{stroke-opacity:1}
.garage-door.is-opening{cursor:progress}
.garage-door.is-opening .door-shutter{transform:translateY(var(--door-lift,-171px))}
.garage-door.is-opening .roller-prompt{opacity:0}
.garage-door.is-opening .roller-status{fill:#8cf0b3;filter:drop-shadow(0 0 5px #67f3ac)}
.garage-door.is-opening .roller-rail{stroke:#93eacf;stroke-opacity:1}
.door-status-message{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){.garage-door *{transition:none!important}}

/* The new bays use the room's existing masonry and tracks; only the slats move. */
.integrated-door text{font-family:monospace;pointer-events:none}
.integrated-door .bay-label{font-size:16px;font-weight:700;letter-spacing:2px}
.integrated-door .bay-prompt{font-size:13px;letter-spacing:1px}
.integrated-door .bay-chevron{fill:none;stroke:#ffd28c;stroke-width:4}

/* The inspiration room has hinged personnel doors fitted inside physical jambs. */
.swing-door .door-shutter{transform:scaleX(1);transform-box:fill-box;transform-origin:0 50%;transition:transform 1050ms cubic-bezier(.42,0,.2,1)}
.swing-door.is-opening .door-shutter{transform:scaleX(.025)}
.inspiration-door text{font-family:monospace;pointer-events:none}
@media(prefers-reduced-motion:reduce){.swing-door .door-shutter{transition:none}}
