/* V36: a real door below the existing illustrated room. Zero hitbox overlap. */
.garden-door-portal{position:relative;max-width:100%;display:grid;grid-template-columns:145px minmax(0,1fr);align-items:center;gap:16px;margin:13px 6px 13px;padding:13px 16px 14px;border:1px solid #f2ceaa75;border-radius:23px;background:radial-gradient(circle at 15% 40%,#84617b77,#392640 67%);color:#fff4e9;isolation:isolate;overflow:hidden;box-shadow:0 10px 22px #24182e29}.garden-door-portal::before{content:'✦  ✧  ✦';position:absolute;right:15px;top:6px;font-size:12px;letter-spacing:6px;color:#f4daa6aa;pointer-events:none}.v36-garden-door{display:block;border:0;background:transparent;padding:0;position:relative;width:125px;margin:0 auto;filter:drop-shadow(0 7px 9px #0006);transition:filter .3s}.v36-garden-door svg{display:block;width:100%;height:auto}.v36-garden-door:focus-visible{outline:3px solid #ffe9bc;border-radius:13px}.v36-garden-door:hover{filter:drop-shadow(0 0 15px #ffdd988a)}.v36-garden-door .v36-door-lock{transform-origin:50% 68%;transition:transform .5s}.garden-door-portal.is-open .v36-garden-door .v36-door-lock{transform:rotate(23deg) translateY(-2px)}.garden-door-portal.is-open .v36-door-glow{opacity:1}.v36-door-glow{opacity:.25;transition:opacity .6s}.v36-door-kicker{font-size:10px;letter-spacing:.16em;font-weight:900;color:#ffdaa4}.garden-door-info h3{font:700 clamp(24px,3vw,33px) Georgia,serif;margin:1px 0}.garden-door-info p{margin:4px 0 10px;color:#e8d5e6;font-size:13px}.garden-door-label{font-size:12px;font-weight:800;color:#ffe2b3}.garden-door-progress{height:9px;max-width:310px;border:1px solid #efcca877;background:#1e162e7f;border-radius:999px;overflow:hidden;margin:8px 0}.garden-door-progress>span{display:block;height:100%;width:0%;background:linear-gradient(90deg,#f6cd91,#f5adbc);transition:width .7s ease;border-radius:999px}.garden-door-actions{display:flex;gap:8px;flex-wrap:wrap}.garden-door-actions button,.garden-door-actions a{display:inline-flex;justify-content:center;align-items:center;min-height:40px;padding:9px 13px;border:1px solid #f6d2a4af;border-radius:999px;background:linear-gradient(90deg,#eecba8,#f0b6c7);text-decoration:none;color:#3b2542;font-size:12px;font-weight:900}.garden-door-actions a{background:#ffffff12;color:#fff2e2;border-color:#e6c7ad77}.garden-door-actions button:disabled{opacity:.6;cursor:not-allowed}.garden-door-setting{display:flex;align-items:center;gap:6px;color:#f1dace;flex-wrap:wrap;font-size:11px;margin-top:9px}.garden-door-setting select{max-width:185px;color:#fff6e6;background:#422e50;border:1px solid #edd3bc69;border-radius:9px;padding:5px 7px}.garden-door-setting option{background:#422e50}.garden-door-portal.unlock-animation .v36-garden-door{animation:v36-door-earning 2.6s ease-in-out 1}.garden-door-portal.unlock-animation .garden-door-info h3{animation:v36-title-unlock 2.6s ease}.garden-door-portal.unlock-animation::after{content:'✦ ✧ ✨ ✧ ✦';position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;color:#fff2c7;font-size:35px;text-shadow:0 0 18px #ffd99b;animation:v36-particles 3.2s ease forwards}@keyframes v36-door-earning{0%,100%{filter:drop-shadow(0 7px 9px #0006)}50%{filter:drop-shadow(0 0 33px #fff7c7) brightness(1.4);transform:translateY(-4px) scale(1.055)}}@keyframes v36-title-unlock{45%{color:#ffeba9;text-shadow:0 0 18px #ffe6a6}}@keyframes v36-particles{0%{opacity:0;transform:scale(.5)}36%{opacity:1;transform:scale(1.25)}100%{opacity:0;transform:scale(2.2)}}
@media(max-width:630px){.garden-door-portal{grid-template-columns:92px minmax(0,1fr);margin:9px 3px 12px;padding:12px 9px;gap:10px;border-radius:18px}.v36-garden-door{width:88px}.garden-door-info h3{font-size:20px}.garden-door-info p{font-size:11px}.garden-door-actions button,.garden-door-actions a{font-size:11px;min-height:36px;padding:7px 10px}.garden-door-setting{font-size:10px}.garden-door-setting select{max-width:125px}.garden-door-label{font-size:11px}.garden-door-progress{margin:5px 0}}
@media(prefers-reduced-motion:reduce){.garden-door-portal *,.garden-door-portal::after{animation:none!important;transition:none!important}}
