.luna-door-stage{isolation:isolate;perspective:none;background:#b09574}.luna-door-exterior,.luna-door-interior,.luna-door-veil{position:absolute;inset:0}.luna-door-exterior{transform-style:preserve-3d;perspective:none}.luna-door-room{position:absolute;inset:0 0 0 49%;overflow:hidden;background:#a88c67}.luna-door-stage .luna-door-room img{position:absolute;left:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}.luna-door-jamb{position:absolute;inset:0 auto 0 0;width:49%;overflow:hidden;z-index:2}.luna-door-stage .luna-door-jamb img{width:204.081633%;height:100%;max-width:none;object-fit:fill}.luna-door-leaf{position:absolute;inset:0 0 0 49%;transform-origin:100% 50%;transform-style:preserve-3d;backface-visibility:hidden;overflow:hidden;z-index:3;box-shadow:-1px 0 2px #22160e33}.luna-door-stage .luna-door-leaf img{position:absolute;inset:0 auto 0 -96.078431%;width:196.078431%;height:100%;max-width:none;object-fit:fill}.luna-door-interior{opacity:0;z-index:4;pointer-events:none}.luna-door-stage .luna-door-interior img{width:100%;height:100%;object-fit:cover;max-width:none}.luna-door-veil{z-index:5;background:#e6dbc8;opacity:0;pointer-events:none}.luna-door-view-label{position:absolute;z-index:6;left:18px;bottom:17px;padding:7px 11px;background:#30271bc4;color:#fff;font-size:10px;letter-spacing:1px;border:1px solid #fff3;border-radius:2px;pointer-events:none}.luna-door-stage.is-inside .luna-door-exterior{opacity:0}.luna-door-stage.is-inside .luna-door-interior{opacity:1}.luna-door-stage.is-entering .luna-door-leaf{animation:luna-door-swing 1.7s cubic-bezier(.25,.1,.2,1) forwards}.luna-door-stage.is-entering .luna-door-exterior{animation:luna-door-travel 2.8s cubic-bezier(.3,0,.2,1) forwards}.luna-door-stage.is-entering .luna-door-interior{animation:luna-door-arrive 2.8s cubic-bezier(.2,.7,.3,1) forwards}.luna-door-stage.is-entering .luna-door-veil{animation:luna-door-soften 2.8s ease forwards}
.luna-door-controls{padding:20px 0 0}.luna-door-side-tabs{display:flex;gap:8px;margin-bottom:13px}.luna-door-side-tabs button{flex:1;background:transparent;font-size:12px;padding:12px 10px;border:1px solid #d0c9bc;color:#796b56}.luna-door-side-tabs button[aria-pressed=true]{border-color:#8e7b5d;color:#493d2c;background:#eae3d6}.luna-door-enter{width:100%;display:flex;align-items:center;justify-content:space-between;background:#443c2e;border:1px solid #443c2e;color:#fff;padding:17px 20px;font-size:13px;border-radius:3px}.luna-door-enter>span{font-size:20px;line-height:1}.luna-door-enter:disabled{opacity:.65;cursor:wait}.luna-door-side-tabs button:disabled{cursor:wait}.luna-door-controls button:focus-visible{outline:2px solid #a0804e;outline-offset:4px}.luna-door-caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px 15px;font-size:10px;line-height:1.8;color:#958875;margin:13px 0 0}.luna-door-caption small{font-size:9px;color:#ab9d89}
@keyframes luna-door-swing{from{transform:rotateY(0deg)}to{transform:rotateY(-75deg)}}
@keyframes luna-door-travel{0%,12%{transform:scale(1);opacity:1;filter:blur(0)}55%{transform:scale(1.12) translateX(-2%);opacity:1;filter:blur(0)}85%,100%{transform:scale(1.65) translateX(-6%);opacity:0;filter:blur(7px)}}
@keyframes luna-door-arrive{0%,54%{opacity:0;transform:scale(1.18) translateX(3%);filter:blur(8px)}82%{opacity:1;filter:blur(2px)}100%{opacity:1;transform:none;filter:blur(0)}}
@keyframes luna-door-soften{0%,44%,100%{opacity:0}64%{opacity:.22}}
@media(max-width:600px){.luna-door-controls{padding-top:15px}.luna-door-view-label{left:12px;bottom:12px;font-size:9px}.luna-door-caption{font-size:9px}.luna-door-enter{font-size:12px;padding:15px 16px}}
@media(prefers-reduced-motion:reduce){.luna-door-stage *{animation:none!important;transition:none!important}}

/* WebGL solids replace the photographic leaf only during the opening. */
.luna-door-webgl{position:absolute;inset:0;z-index:3;opacity:0;pointer-events:none}.luna-door-webgl canvas{display:block;width:100%;height:100%}.luna-door-stage.is-entering .luna-door-leaf{visibility:hidden;animation:none}.luna-door-stage.is-entering .luna-door-exterior{animation:none}.luna-door-stage.is-entering .luna-door-webgl{animation:luna-solid-travel 2.8s linear both}.luna-door-stage.is-inside .luna-door-webgl{opacity:0}
@keyframes luna-solid-travel{0%,63%{opacity:1}88%,100%{opacity:0}}
