/* 第四版：清楚的建筑招牌、整套造型、适应横竖屏的作品操作。 */
.forest-doors{position:fixed;inset:0;z-index:7;pointer-events:none;display:block;overflow:hidden}
.forest-door{font-size:18px;letter-spacing:.3px;padding:12px 15px;gap:8px;background:linear-gradient(120deg,#294837f5,#18382df5);border:1px solid #ddc48a;border-radius:12px;box-shadow:0 4px 16px #142b2545;text-shadow:0 1px 2px #0003}
.forest-door:before{top:100%;bottom:auto;height:20px;background:linear-gradient(#e7cb91,transparent)}
.forest-door.is-near{background:linear-gradient(120deg,#f4dfab,#d6b571);color:#29412f;border-color:#fff0c9;box-shadow:0 3px 16px #f6d48135}
.forest-door.is-near .door-number,.forest-door.is-near .door-arrow{color:#685331}
.bench-sign{font-size:16px;background:#315448f2;white-space:nowrap}
.interaction-card.place-left{left:30px;right:auto;bottom:180px}
.resident-name{font-size:18px;font-weight:600;letter-spacing:2px}
.outfit-visual #avatar-preview{animation:none;object-fit:contain}
.avatar-caption>span{font-size:20px;letter-spacing:1px}
.preset-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:12px}
.preset-options button{position:relative;padding:10px 4px 12px;background:#f0ecdd;border:1px solid #dcd6c0;overflow:hidden;transition:background .2s,box-shadow .2s}
.preset-options img{display:block;height:128px;width:100%;object-fit:contain;filter:drop-shadow(0 3px 2px #483a2220)}
.preset-options strong{display:block;font-size:14px;font-weight:500;letter-spacing:.6px;margin-top:8px}
.preset-options small{display:block;font-size:14px;letter-spacing:2px;color:#8e9278;margin-top:6px}
.preset-options i{position:absolute;right:7px;top:7px;background:#507347;color:#fff4d6;border-radius:50%;width:17px;height:17px;line-height:17px;font-size:14px;font-style:normal;opacity:0}
.preset-options button[aria-pressed=true]{border-color:#718d59;background:#e3e9cf;box-shadow:inset 0 0 0 1px #718d5950}
.preset-options button[aria-pressed=true] i{opacity:1}
.outfit-details{font-size:14px;line-height:1.8;color:#82866b;min-height:19px;text-align:center;margin:10px 0}
.gender-options{margin-bottom:18px}.gender-options img{object-fit:contain}
.outfit-controls{padding-top:25px;padding-bottom:23px}.outfit-controls h2{font-size:28px}.outfit-confirm{margin-top:12px}
@media(max-width:900px) and (min-height:501px){.forest-door{font-size:16px;padding:10px 12px}.outfit-controls{padding:17px 20px}.preset-options img{height:105px}.preset-options strong{font-size:14px}.outfit-details{font-size:14px}.avatar-caption>span{font-size:20px;max-width:170px;display:block;line-height:1.8}.outfit-visual #avatar-preview{width:120px;height:157px;right:17px;top:0}.gender-options{margin-bottom:14px}.outfit-controls h2{font-size:25px}}
@media(max-height:500px){.modal-overlay{padding:66px 14px 8px;align-items:center}.outfit-dialog{grid-template-columns:29% 71%;max-height:100%;max-width:850px;overflow:auto}.outfit-visual{min-height:300px;padding:18px 8px;align-items:center}.outfit-visual #avatar-preview{position:relative;width:135px;height:200px;top:auto;right:auto;margin:12px 0 0}.outfit-visual .avatar-caption{margin-top:10px}.avatar-caption>span{font-size:16px}.avatar-caption small{display:none}.outfit-visual .avatar-platform{top:221px;width:90px;height:18px}.visual-coordinate{bottom:13px;font-size:14px}.outfit-controls{padding:14px 19px}.outfit-controls h2{font-size:22px;margin:6px 0}.dialog-description{font-size:14px;margin-bottom:8px}.gender-options{margin-bottom:9px}.gender-options img{height:32px}.gender-options button>span>span{font-size:14px;margin-top:2px}.resident-name{font-size:16px}.control-label{margin-bottom:7px}.preset-options{margin:0;gap:7px}.preset-options button{display:grid;grid-template-columns:42px 1fr;grid-template-rows:1fr 1fr;padding:5px}.preset-options img{height:62px;grid-row:1/3}.preset-options strong{font-size:14px;align-self:end;margin:0 0 5px}.preset-options small{font-size:14px;letter-spacing:1px;margin:0}.preset-options i{right:3px;top:3px;width:11px;height:11px;line-height:11px;font-size:14px}.outfit-details{font-size:14px;margin:5px 0;min-height:0}.outfit-confirm{min-height:33px;padding:7px 12px;margin-top:5px}.outfit-tip{display:none}.forest-door{font-size:16px;padding:8px 10px}.forest-door .door-number{display:none}.workbench-ui{top:73px}.model-links button{padding:6px 8px}.model-links{bottom:0}.bench-sign{font-size:14px}}
@media(prefers-reduced-motion:reduce){.forest-door,.preset-options button{transition:none}}
@media(max-height:500px){.interaction-card.place-left{left:150px;right:auto;bottom:20px}}
