#interiorScene{position:fixed;inset:0;z-index:65;background:#182e34;color:#fff4d7;padding:16px;display:flex;flex-direction:column;gap:12px}#interiorScene[hidden]{display:none}#interiorScene header,#interiorScene footer{display:flex;align-items:center;justify-content:space-between;gap:12px}#interiorScene h1{font-size:22px;margin:3px 0}#interiorScene button{font:inherit;padding:9px 15px;cursor:pointer;border:2px solid #bba16c;border-radius:6px;background:#f0dfb5;color:#2d493d}#interiorScene footer p{font-size:13px;margin:0}#interiorRoom{position:relative;flex:1;min-height:180px;width:min(100%,1000px);margin:auto;background:repeating-conic-gradient(#a38e68 0% 25%,#af9b75 0% 50%) 0 0/52px 52px;border:8px solid #504437;overflow:hidden}.interior-wall{position:absolute;inset:0 0 58%;background:#e1d3ad;display:flex;align-items:center;justify-content:space-around;border-bottom:10px solid #846a4e}#interiorScene .interior-picture{font-size:clamp(24px,5vw,65px);background:#81a9b7;padding:7px 16px;border:7px solid #715435}.interior-sign{color:#476455;font-weight:bold;font-size:clamp(12px,2vw,24px)}.interior-counter{position:absolute;left:27%;top:40%;width:46%;height:13%;background:#79553e;border-top:12px solid #b08859;box-shadow:0 8px #493f3580}#interiorNPC{position:absolute;left:50%;top:32%;transform:translate(-50%,-50%);display:grid;justify-items:center;background:transparent!important;border:0!important;padding:0!important}#interiorNPCArt svg,#interiorPlayer svg{width:42px;height:56px}#interiorNPC b,#interiorNPC small{background:#153d43;color:#ffe9b8;padding:2px 6px;font-size:12px}#interiorPlayer{position:absolute;transform:translate(-50%,-50%);pointer-events:none}#interiorDoor{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:100px}#interiorScene[data-kind=fish] .interior-wall{background:#9fc9cd}#interiorScene[data-kind=museum] .interior-wall{background:#f2eee4}#interiorScene[data-kind=cityhall] .interior-wall{background:#b3c8bb}.interior-active #mmoCanvas,.interior-active #chatBubbles,.interior-active .mmo-pad,.interior-active #mobileToolbar,.interior-active .mmo-bar,.interior-active .mmo-top{visibility:hidden!important}.interior-active dialog{z-index:100}#districtShops{display:none}#interiorScene[data-district=true] #districtShops{display:grid;position:absolute;inset:8% 6% 25%;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;overflow:auto;align-content:start}#interiorScene[data-district=true] .interior-wall,#interiorScene[data-district=true] .interior-counter{display:none}#interiorScene[data-district=true] #interiorRoom{background:repeating-linear-gradient(90deg,#759478 0 36%,#d6c9a8 36% 64%,#759478 64% 100%)}#interiorScene[data-district=true] #interiorNPC{left:18%;top:83%}#interiorScene .district-shop{min-height:88px;background:#e5c391;border-top:12px solid #846656;display:grid;font-size:12px;word-break:keep-all}#interiorScene .district-shop small{font-size:10px}#interiorScene footer #districtStatus{max-width:65%}@media(max-width:600px){#interiorScene[data-district=true] #districtShops{grid-template-columns:repeat(2,minmax(0,1fr))}#interiorScene h1{font-size:17px}}@media(max-height:500px){#interiorScene{padding:7px;gap:5px}#interiorScene h1{font-size:17px}#interiorScene footer p{font-size:11px}#interiorNPCArt svg,#interiorPlayer svg{width:30px;height:40px}#interiorScene .district-shop{min-height:66px}}
.interior-active .game-window{z-index:80!important}
.interior-active #rotateHint{display:none!important}
/* Full viewport rooms, rendered with static CSS and small vector furniture. */
#interiorScene{--wall:#dfcfad;--floor:#a88d6a;--floor-light:#b79d78;--frame:#6a5340;--accent:#456e64;background:var(--frame);padding:12px;gap:8px}
#interiorScene[data-kind=fish],#interiorScene[data-kind=maritime]{--wall:#a9d0d0;--floor:#6c9299;--floor-light:#7e9fa4;--frame:#284d5b;--accent:#2c657a}
#interiorScene[data-kind=agriculture]{--wall:#d5dfb9;--floor:#9eac7d;--floor-light:#b2bc90;--frame:#455e40;--accent:#577244}
#interiorScene[data-kind=academy],#interiorScene[data-kind=bakery]{--wall:#eddbb8;--floor:#b99a79;--floor-light:#cbb08b;--frame:#705442;--accent:#946c46}
#interiorScene[data-kind=tailor]{--wall:#decad3;--floor:#aa8b98;--floor-light:#bd9faa;--frame:#614b60;--accent:#8d5879}
#interiorScene[data-kind=salon]{--wall:#d4e3dc;--floor:#9bb9b0;--floor-light:#b4c9be;--frame:#3e605b;--accent:#4d7c73}
#interiorScene[data-kind=garage]{--wall:#bdcbd3;--floor:#85929c;--floor-light:#97a3ab;--frame:#344957;--accent:#466a80}
#interiorScene[data-kind=museum]{--wall:#f1eee5;--floor:#c7c4b5;--floor-light:#d7d3c7;--frame:#615f59;--accent:#797669}
#interiorScene[data-kind=cityhall]{--wall:#cbded5;--floor:#9eb7a8;--floor-light:#b7c9bc;--frame:#3c5c52;--accent:#52796a}
#interiorScene>header{padding:4px 14px;min-height:48px}#interiorScene>header h1{font:600 clamp(16px,2vw,24px)/1.4 system-ui,sans-serif;letter-spacing:0}
#interiorRoom{width:100%;border:5px solid var(--frame);border-radius:12px;background:repeating-conic-gradient(var(--floor) 0% 25%,var(--floor-light) 0% 50%) 0 0/80px 80px;box-shadow:inset 0 -15px #0000000d}
#interiorScene .interior-wall{background:var(--wall);inset:0 0 62%;border-bottom:12px solid var(--frame);box-shadow:0 10px #00000012}
#interiorScene .interior-sign{display:none}#interiorScene .interior-picture{visibility:hidden}#interiorScene[data-kind=museum] .interior-picture{visibility:visible;font-size:clamp(26px,5vh,56px);margin:0 9%;border-width:5px}
#interiorScene .interior-counter{top:49%;left:36%;width:28%;height:12%;background:var(--accent);border-top:10px solid var(--wall);border-radius:3px}
#interiorScene #interiorNPC{top:46%}#interiorNPC b,#interiorNPC small{font-size:14px;line-height:1.4;border-radius:3px}#interiorNPCArt svg,#interiorPlayer svg{width:48px;height:64px}
#interiorDecor{position:absolute;inset:0;pointer-events:none}.room-intro{position:absolute;top:3%;left:25%;width:50%;text-align:center;color:#273d39}.room-intro h2{font:700 clamp(18px,2.6vw,32px)/1.4 system-ui,sans-serif;letter-spacing:0;margin:0 0 7px}.room-intro p{font-size:14px;line-height:1.6;margin:0}.room-intro small{display:inline-block;font-size:13px;line-height:1.5;margin-top:10px;padding:5px 12px;border-radius:20px;background:#fff9e9ce;color:#334c42}
.room-prop{position:absolute;display:grid;justify-items:center;width:22%;max-width:280px;top:40%;left:5%;filter:drop-shadow(0 8px 0 #23372d20)}.room-prop svg{width:100%;height:clamp(80px,23vh,220px)}.room-prop span{font:600 14px/1.4 system-ui,sans-serif;color:#fff7e5;background:var(--frame);padding:4px 10px;border-radius:4px}.room-prop:nth-of-type(3){left:auto;right:5%;top:38%}.room-prop:nth-of-type(4){left:auto;right:6%;top:69%;width:16%;max-width:180px}.room-prop:nth-of-type(4) svg{height:clamp(55px,13vh,110px)}
#interiorScene[data-district=true] #interiorDecor{display:none}#interiorScene[data-district=true] #interiorNPC{top:83%}#interiorScene>footer{min-height:48px;padding:0 12px}#interiorScene>footer p{font-size:14px;line-height:1.5}#interiorScene #interiorTalk{background:#f8e4ae;font-weight:700;min-width:170px}
#interiorScene[data-kind=agriculture] .room-intro:after,#interiorScene[data-kind=maritime] .room-intro:after{content:'게임 속 생활기술 교육관';display:block;font-size:12px;margin-top:6px;color:#40574e}
#facilityList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#facilityList button{text-align:left;font-size:14px;line-height:1.5}
/* Dialogue sits beside the themed room, and retains the existing action handlers. */
body.interior-active #modal{width:min(680px,94vw);max-width:94vw;max-height:88dvh;padding:30px;background:#fcf8ed;border:3px solid #789083;box-shadow:0 16px 60px #10282277}
body.interior-active #modal p,body.interior-active #modal button{font-size:14px}body.interior-active #modal::backdrop{background:#142c344a;backdrop-filter:none}
/* Ordinary shops use a bounded catalogue dialog and preserve the surrounding map. */
#modal:has(.member-store){width:min(860px,calc(100vw - 32px));max-width:calc(100vw - 32px);height:auto;max-height:85dvh;margin:auto;border:1px solid #a9bba4;border-radius:12px;padding:clamp(18px,3vw,30px);background:#f6f1e5;box-shadow:0 12px 48px #10282255}#modal:has(.member-store) #closeModal{position:absolute;right:15px;top:8px;width:42px;height:42px;background:#203f37;color:#fff5dd;border-radius:50%;z-index:1}.member-store{max-width:1400px;margin:auto}.member-store-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-right:30px;border-bottom:1px solid #b9c4ac;padding-bottom:20px;margin-bottom:24px}.member-store-heading h2{margin:7px 0;font-size:clamp(22px,4vw,36px)}.member-store-heading p{margin:0;font-size:15px}.member-store-heading button{width:auto;min-width:130px;background:#e2e8d8;font-size:14px}.member-store .product-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}.member-store .product-card{padding:18px}.member-store .product-card h4{font-size:17px;line-height:1.5}.member-store .product-card button{font-size:14px}
@media(max-width:600px){.room-intro{left:10%;width:80%;top:3%}.room-intro p{font-size:12px}.room-intro small{font-size:12px;padding:3px 7px;margin-top:6px}.room-prop{width:25%;left:2%}.room-prop:nth-of-type(3){right:2%}.room-prop span{font-size:12px;padding:3px 5px}#interiorScene .interior-counter{left:32%;width:36%}#interiorScene>footer{padding:0;gap:6px}#interiorScene>footer p{font-size:12px}#interiorScene #interiorTalk{min-width:120px;font-size:13px;padding:9px}#facilityList{grid-template-columns:1fr}.member-store-heading{align-items:flex-start;flex-direction:column;gap:10px}#interiorScene[data-kind=museum] .interior-picture{margin-top:50px;font-size:25px}}
@media(max-height:500px){#interiorScene{padding:5px;gap:3px}#interiorScene>header,#interiorScene>footer{min-height:35px;padding:0 7px}#interiorScene button{padding:5px 9px}#interiorScene>header h1{font-size:16px}.room-intro{top:2%}.room-intro h2{font-size:19px;margin:0}.room-intro p{font-size:12px}.room-intro small{margin-top:3px;font-size:12px;padding:2px 7px}.room-intro:after{display:none!important}.room-prop svg{height:75px}.room-prop:nth-of-type(4) svg{height:42px}.room-prop span{font-size:12px}#interiorNPCArt svg,#interiorPlayer svg{width:30px;height:40px}#interiorNPC b{font-size:12px}#interiorNPC small{display:none}#interiorScene>footer p{font-size:12px}}

#interiorScene>footer p{color:#f4e9d3}#interiorScene>footer button{font-size:14px}
/* Each facility now uses its own complete floor plan, rather than a common counter room. */
#facilityBackdrop{position:absolute;inset:0;pointer-events:none}#facilityBackdrop svg{width:100%;height:100%;display:block}
#interiorScene:not([data-district=true]) .interior-wall,#interiorScene:not([data-district=true]) .interior-counter,#interiorScene .room-prop{display:none}
#interiorScene .room-intro{top:2%;left:29%;width:42%;padding:7px 10px;background:#fff5ddeb;border:1px solid #6a877a;border-radius:6px}
#interiorScene .room-intro h2{font-size:clamp(15px,1.8vw,24px)}#interiorScene .room-intro p{font-size:13px}#interiorScene .room-intro small{margin-top:3px;font-size:12px}
#interiorScene[data-kind=salon] #interiorNPC{left:47%;top:58%}#interiorScene[data-kind=agriculture] #interiorNPC{left:50%;top:48%}#interiorScene[data-kind=museum] #interiorNPC{left:69%;top:63%}
#interiorScene[data-kind=museum] .interior-wall{display:flex;inset:18% 0 57%;background:none;border:0;box-shadow:none;pointer-events:none}#interiorScene[data-kind=museum] .interior-picture{pointer-events:auto;opacity:0.01;width:20%;height:100%}#interiorScene[data-kind=museum] .interior-picture:focus-visible{opacity:1}
#interiorScene[data-district=true] #facilityBackdrop{display:none}
.journey-steps{display:grid;gap:8px;padding-left:22px}.journey-steps li{padding:10px;background:#e8e9dc;color:#49614f;border:1px solid #c6cfb9;border-radius:5px}.journey-steps small{display:block;margin-top:5px;font-size:13px}.journey-steps .current{border:2px solid #4e806a;background:#f6edcc}.journey-steps .complete{background:#d4e5d1}.journey-actions{display:grid;gap:10px}.journey-actions select{display:block;width:100%;padding:10px}.master-title{font-size:20px!important;color:#856225!important}.life-meals,.hobby-choices{display:grid;gap:12px}.life-meals article,.hobby-choices article{padding:14px;border:1px solid #bccab0;border-radius:6px;background:#f1eedc}.life-meals .product-pixel{float:left;margin:0 12px 8px 0}#leisureTargets{display:flex;gap:6px;margin-bottom:12px}#leisureTargets button{font-size:13px}
@media(max-height:500px){#interiorScene .room-intro{left:30%;width:40%;padding:3px 8px}#interiorScene .room-intro p,#interiorScene .room-intro small{display:none}#interiorScene .room-intro h2{font-size:16px}}
@media(max-width:600px) and (min-height:501px){#interiorScene .room-intro{left:12%;width:76%}#interiorScene .room-intro small{display:none}}
