.door-scene{width:100%;max-width:520px;margin-left:auto}.door-wall{aspect-ratio:5/6;background:var(--stone-2);perspective:1600px;border-radius:22px;position:relative;overflow:hidden}.door-wall:before{content:"";background:linear-gradient(90deg,#0000 0 79%,#00000009 79% 80%,#0000 80%);position:absolute;inset:0 0 9%}.door-floor{background:#8c7a66;border-top:6px solid #d6d3ca;height:9%;position:absolute;bottom:0;left:0;right:0}.door-frame{width:50%;transform-style:preserve-3d;border:10px solid #fbfaf7;border-bottom:0;border-radius:4px 4px 0 0;position:absolute;top:9%;bottom:9%;left:13%;box-shadow:0 0 0 1px #0000000f}.door-room{background:#ddd;position:absolute;inset:0;overflow:hidden}.door-room img{object-fit:cover;object-position:60% 50%;width:100%;height:100%;transition:transform 1.6s .4s;transform:scale(1.12)}.door-scene.s3 .door-room img{transform:scale(1)}.door-leaf{transform-origin:0;transform-style:preserve-3d;background:var(--oak);transition:transform 1.3s cubic-bezier(.3,.1,.2,1);position:absolute;inset:0;box-shadow:inset -2px 0 #00000014}.door-scene.s3 .door-leaf{transform:rotateY(-78deg)}.door-grain{background:repeating-linear-gradient(90deg,#ffffff12 0 3px,#0000 3px 11px,#00000009 11px 13px,#0000 13px 23px);position:absolute;inset:0}.door-lever{background:#4a4a4a;border-radius:4px;width:22%;height:7px;position:absolute;top:52%;right:9%}.door-lever:before{content:"";background:#4a4a4a;border-radius:50%;width:18px;height:18px;position:absolute;top:-7px;right:-4px}.door-hanger{transform-origin:84% 6%;text-align:center;background:#fff;border-radius:10px 10px 6px 6px;width:34%;padding:30px 8px 12px;animation:4s ease-in-out infinite sway;position:absolute;top:calc(52% - 4px);right:4%;box-shadow:0 8px 16px -8px #00000059}.door-hanger .hole{background:var(--oak);border-radius:50%;width:22px;height:22px;position:absolute;top:7px;right:10%;box-shadow:inset 0 0 0 2px #0000000f}.door-hanger img{width:100%;height:auto}.hanger-txt{font-family:var(--head);color:var(--green-ink);margin-top:8px;font-size:clamp(.68rem,1.2vw,.85rem);font-weight:600;display:block}@keyframes sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2.5deg)}}.door-reader{aspect-ratio:1/1.7;background:#2b2b2b;border-radius:6px;place-items:center;gap:4px;width:8%;padding:6px 0;display:grid;position:absolute;top:47%;left:68%}.door-reader .led{aspect-ratio:1;background:#a8322b;border-radius:50%;width:30%;transition:background .2s}.door-scene.s2 .led,.door-scene.s3 .led{background:var(--green);box-shadow:0 0 10px var(--green)}.door-reader .slot{border:1.5px solid #555;border-radius:3px;width:60%;height:40%}.door-card{aspect-ratio:1.58;background:#fff;border-radius:6px;width:20%;padding:12% 8% 0;transition:transform .9s cubic-bezier(.4,.1,.2,1),left .9s cubic-bezier(.4,.1,.2,1),top .9s cubic-bezier(.4,.1,.2,1),opacity .4s;position:absolute;top:64%;left:77%;transform:rotate(-10deg);box-shadow:0 10px 22px -10px #0006}.door-card img{width:100%}.door-card .stripe{background:var(--green);height:12%;position:absolute;bottom:14%;left:0;right:0}.door-scene.s1 .door-card,.door-scene.s2 .door-card{top:49%;left:64%;transform:rotate(0)scale(.85)}.door-scene.s2 .door-card{transform:rotate(0)scale(.82)translate(3px)}.door-scene.s3 .door-card{opacity:.9;top:72%;left:76%;transform:rotate(8deg)}.door-caption{font-family:var(--head);justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin-top:14px;font-size:.95rem;font-weight:500;display:flex}.door-caption a{border-bottom:2px solid var(--green);text-decoration:none}.door-caption button{border:1.5px solid var(--ink);cursor:pointer;font-family:var(--head);background:0 0;border-radius:999px;min-height:40px;padding:8px 16px;font-size:.85rem;font-weight:600}.door-caption button:disabled{opacity:.4;cursor:default}@media (prefers-reduced-motion:reduce){.door-hanger{animation:none}.door-leaf,.door-card,.door-room img{transition:none}}@media (max-width:900px){.door-scene{max-width:460px;margin:0 auto}}
