@charset "UTF-8";
:root{--ink:#354e3d;--muted:#8a9282;--green:#547b50;--paper:#fffef6;--line:#e7e9db;--peach:#df9d6e;font-family:"Pretendard","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:#eff0e6}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{cursor:default;opacity:.5}button{border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #d59a4e;outline-offset:4px}button:active:not(:disabled){transform:translateY(1px)}svg{display:block;width:22px;height:22px}span[data-icon]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}button{transition:background .18s,box-shadow .18s}button:hover:not(:disabled){filter:brightness(1.025)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.topbar{height:82px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#faf9f1;border-bottom:1px solid #dfe4d3;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:12px;font-size:25px;letter-spacing:-1.4px;font-weight:850;white-space:nowrap}.brand-symbol{width:43px;height:43px;border-radius:16px 16px 20px 12px;background:#477651;color:#f5f1cb;transform:rotate(-7deg)}.brand-symbol svg{width:28px;height:28px}.brand small{display:block;font-size:8px;color:#91a083;font-weight:600;letter-spacing:2.5px;margin:5px 0 0 1px}.top-nav{display:flex;align-items:center;gap:7px;background:#efefe4;padding:5px;border-radius:16px}.top-nav button{display:flex;align-items:center;gap:8px;background:none;padding:11px 18px;border-radius:11px;font-size:12px;font-weight:750;white-space:nowrap}.top-nav button.selected{background:#fffef8;box-shadow:0 2px 8px #48563e0d;color:#52774e}.top-nav svg{width:18px;height:18px}.top-nav small{font-size:7px;letter-spacing:.7px;background:#e3e5d7;color:#9a9d88;padding:4px 5px;border-radius:5px}.header-right{display:flex;align-items:center;gap:22px}.preview-tag{font-size:8px;letter-spacing:1.5px;color:#a3a68e;white-space:nowrap}.preview-tag b{border:1px solid #dce0cf;border-radius:4px;padding:3px 4px;letter-spacing:0;margin-left:3px;font-weight:600}.neighbor-button{display:flex;align-items:center;gap:10px;background:none;font-size:11px;white-space:nowrap}.neighbor-button>b{font-size:10px;color:#708a62;background:#e8eddc;border-radius:7px;padding:4px 6px}.neighbor-dots{display:flex;padding-left:5px}.neighbor-dots i{width:24px;height:24px;border-radius:50%;background:#e1b295;border:2px solid #faf9f1;margin-left:-6px}.neighbor-dots i:nth-child(2){background:#a6bfad}.neighbor-dots i:nth-child(3){background:#e5d1a2}
.stage{position:relative;height:calc(100dvh - 82px);min-height:650px;overflow:hidden;background:#94b65b;isolation:isolate}.map-viewport{position:absolute;inset:0;overflow:hidden;cursor:crosshair;touch-action:none}.world{position:absolute;left:50%;top:50%;width:1536px;height:1024px;transform-origin:center;will-change:transform;user-select:none}.village-art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.world-shade{position:absolute;inset:0;z-index:1;background:#20334e;opacity:0;pointer-events:none;mix-blend-mode:multiply;transition:opacity 1.8s,background 1.8s}.stage[data-time="night"] .world-shade{opacity:.83}.stage[data-time="sunset"] .world-shade{opacity:.3;background:#bb5a31}.stage[data-time="morning"] .world-shade{opacity:.15;background:#e6dd9f}.stage[data-weather="rain"] .world-shade{opacity:.37;background:#4b6671}.stage[data-time="night"][data-weather="rain"] .world-shade{opacity:.85;background:#1a2d43}.water-glint{position:absolute;border-top:3px solid #f3f9cf77;width:60px;height:20px;border-radius:50%;left:78%;top:60%;animation:glint 4s ease-in-out infinite;pointer-events:none}.glint-two{left:89%;top:49%;width:38px;animation-delay:1.5s}.fireflies{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity 2s}.stage[data-time="night"] .fireflies{opacity:1}.fireflies i{position:absolute;width:5px;height:5px;background:#fff5ac;border-radius:50%;box-shadow:0 0 15px 4px #f5e99f77;animation:firefly 4s ease-in-out infinite}.rain-layer{pointer-events:none;position:absolute;inset:0;z-index:3;opacity:0;background-image:repeating-linear-gradient(105deg,transparent 0,transparent 69px,#ffffff40 70px,transparent 72px);background-size:220px 130px;transition:opacity .8s}.stage[data-weather="rain"] .rain-layer{opacity:.65;animation:rain .45s linear infinite}
.glass{background:#fffef6ed;border:1px solid #fffdf2bd;box-shadow:0 7px 28px #314b3723,0 1px 3px #26463708;backdrop-filter:blur(14px)}.profile-card{position:absolute;top:24px;left:25px;width:247px;border-radius:20px;z-index:4;overflow:hidden}.profile-main{display:flex;align-items:center;gap:11px;background:none;padding:17px 16px;width:100%;text-align:left}.portrait{display:flex;align-items:flex-end;justify-content:center;overflow:hidden;width:51px;height:55px;border-radius:18px;background:#e5e9d3;flex-shrink:0}.portrait svg{width:53px;height:67px;transform:translateY(7px)}.profile-main small{display:block;font-size:9px;color:#a0a58e;margin-bottom:5px}.profile-main strong{display:block;font-size:17px;letter-spacing:-.5px}.level-label{font-size:8px;color:#68825c;display:block;margin-top:6px}.level-label i{font-style:normal;color:#9ca38b;margin-left:5px}.edit-profile{margin-left:auto;color:#9bA78c}.edit-profile svg{width:14px;height:14px}.profile-bottom{border-top:1px solid #e4e8d7;padding:11px 15px;display:flex;align-items:center;justify-content:space-between;font-size:8px;color:#92a080}.profile-bottom>span{display:flex;align-items:center;gap:4px}.profile-bottom svg{width:12px;height:12px}.heart-row{color:#d9957c;font-size:10px;letter-spacing:1px}
.world-status{position:absolute;right:25px;top:24px;z-index:4;display:flex;align-items:flex-end;flex-direction:column;gap:10px}.clock-card{display:flex;align-items:center;gap:12px;padding:15px 18px;border-radius:18px;text-align:left;min-width:258px}.clock-card small{font-size:9px;color:#8b947e;display:block;margin-bottom:6px}.clock-card strong{display:block;font-size:18px;letter-spacing:-.3px;line-height:1.1;font-variant-numeric:tabular-nums}.weather-symbol{color:#d5a454;margin-right:2px}.weather-symbol svg{width:35px;height:35px}.weather-label{font-size:10px;margin-left:6px;color:#89957c}.clock-card>span:last-child svg{width:13px;height:13px;color:#a3aa91}.money-chip{display:flex;gap:8px;align-items:center;padding:10px 15px;border-radius:13px}.coin{border-radius:50%;background:#e9c16c;color:#8e692a;border:2px solid #f5d992;width:22px;height:22px;display:grid;place-items:center;font-size:10px;font-weight:800}.money-chip strong{font-size:15px;font-variant-numeric:tabular-nums}.money-chip small{font-size:9px;color:#9b9f88;margin-left:3px}
.place-pin{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;background:#fffdf3f2;color:#486443;border-radius:12px;padding:10px 14px;box-shadow:0 4px 13px #27472d26;font-size:13px;font-weight:700;z-index:3;border:1px solid #fffef3eb;white-space:nowrap;pointer-events:auto}.place-pin:after{content:"";position:absolute;top:100%;left:calc(50% - 5px);width:10px;height:10px;background:#fffdf3e8;clip-path:polygon(0 0,100% 0,50% 80%)}.place-pin:active:not(:disabled){transform:translate(-50%,-48%)}.place-pin:hover{box-shadow:0 6px 22px #26452d45}.place-pin svg{width:19px;height:19px}.place-pin i{font-style:normal;font-size:7px;letter-spacing:1px;padding:4px 5px;border-radius:4px;background:#e8eedc;color:#86a16c}.place-pin b{display:grid;place-items:center;border-radius:50%;background:#d69467;color:#fff8ea;min-width:22px;height:22px;font-size:11px}.small-pin{font-size:11px;padding:9px 12px}.forest-pin{background:#3f5849e8;color:#f7f1cb;border-color:#5e785d}.forest-pin:after{background:#3f5849}.forest-pin>span:last-child svg{width:12px;height:12px;color:#bdc8a8;margin-left:4px}.lot-pin{color:#71835a;font-size:11px;background:#fffbe4df}.mail-marker{position:absolute;background:#fffdf2;width:37px;height:37px;border-radius:50%;display:grid;place-items:center;box-shadow:0 5px 15px #325c3d33;z-index:4;color:#a4754e;animation:mailBob 3s ease-in-out infinite}.mail-marker svg{width:19px;height:19px}.mail-marker b{position:absolute;right:-3px;top:-3px;background:#d78766;color:white;border-radius:50%;font-size:9px;width:17px;height:17px;display:grid;place-items:center;border:2px solid #fffbe8}
.walker{position:absolute;z-index:3;width:72px;height:95px;transform:translate(-50%,-100%);background:none;padding:0;border:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.character-art{display:block;width:72px;height:85px;filter:drop-shadow(0 3px 2px #39512e44);transform-origin:50% 85%;animation:idle 4s ease-in-out infinite}.character-art svg{width:100%;height:100%}.walker.walking .character-art{animation:walk .32s ease-in-out infinite}.nameplate{display:flex;align-items:center;justify-content:center;gap:4px;background:#fffdf4ec;border-radius:7px;box-shadow:0 3px 6px #3e593124;color:#5b6c4b;padding:4px 9px;font-size:10px;font-weight:700;white-space:nowrap;line-height:1.1;position:absolute;bottom:-13px}.nameplate.me{background:#577e4e;color:#fffbe0}.nameplate i{font-size:7px;font-style:normal;border-left:1px solid #c4d3b288;padding-left:5px;margin-left:2px;color:#dae6be}.nameplate svg{width:11px;height:11px;color:#7e9b8a}.bubble{position:absolute;bottom:101%;font-size:10px;white-space:nowrap;background:#fffef8ed;color:#788565;padding:8px 11px;border-radius:12px 12px 12px 2px;box-shadow:0 5px 13px #23492b18;animation:idle 5s ease-in-out infinite}.destination{position:absolute;width:26px;height:14px;border:2px solid #fffce4;border-radius:50%;z-index:2;transform:translate(-50%,-50%);box-shadow:0 0 0 7px #fffbe744;pointer-events:none;animation:glint .8s infinite}
.quest-card{position:absolute;bottom:104px;left:25px;width:247px;border-radius:20px;padding:20px 17px 13px;z-index:4}.section-top{display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:8px;font-weight:700;letter-spacing:1.6px;color:#a1ac8d}.section-top svg{width:18px;height:18px;color:#b7bb8d}.quest-card h2{font-size:18px;letter-spacing:-.8px;margin:9px 0 6px}.quest-card>p{font-size:10px;color:#9ba18b;margin:0 0 16px}.quest-card>button{background:none;display:flex;align-items:center;gap:9px;text-align:left;padding:12px 0;width:100%;border-top:1px solid #e8eadf;font-size:10px;font-weight:700}.quest-check{width:20px;height:20px;border-radius:50%;border:1px solid #d7dfca;background:#f7f8eb;display:grid;place-items:center;flex-shrink:0;color:#f7fae8;font-size:11px}.quest-check.done{background:#779568;border-color:#779568}.quest-card small{display:block;font-size:8px;font-weight:400;color:#a1a68f;margin-top:6px}.quest-card>button>b{margin-left:auto;color:#b69c65;font-size:9px;font-weight:600}.quest-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e4e8d8;padding-top:12px;margin-top:3px;font-size:8px;color:#9ca58a}.quest-foot>span:last-child{display:flex;align-items:center;gap:4px;font-size:7px;color:#b2b69f}.quest-foot svg{width:11px;height:11px}
.chat-card{position:absolute;bottom:104px;right:25px;width:290px;border-radius:18px;z-index:4;overflow:hidden}.chat-heading{display:flex;align-items:center;justify-content:space-between;background:none;width:100%;padding:15px 16px;border-bottom:1px solid #e4e9d9}.chat-heading>span:first-child{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700}.chat-heading i{width:6px;height:6px;border-radius:50%;background:#8ca875}.chat-heading small{font-size:7px;font-weight:400;color:#a7af99;margin-left:6px}.chat-heading svg{width:14px;height:14px;color:#a3ad91;transform:rotate(90deg)}.chat-lines{padding:8px 15px;max-height:134px;overflow-y:auto;scrollbar-width:thin}.chat-lines p{font-size:10px;line-height:1.9;margin:5px 0;overflow-wrap:anywhere}.chat-lines b{font-size:9px;color:#8c9c78;margin-right:8px}.chat-lines .momo-name{color:#bc8a74}.chat-lines .haru-name{color:#7d9e9b}.chat-content form{display:flex;border-top:1px solid #e9ecdf;padding:9px 10px;gap:5px}.chat-content input{min-width:0;flex:1;background:none;border:0;color:#607853;font-size:9px;padding:4px}.chat-content input::placeholder{color:#aeb49c}.chat-content form button{background:#e9efdf;border-radius:8px;width:29px;height:29px;display:grid;place-items:center;color:#729264}.chat-content form svg{width:15px;height:15px}.chat-card.collapsed .chat-content{display:none}.chat-card.collapsed .chat-heading{border:0}.chat-card.collapsed .chat-heading svg{transform:rotate(-90deg)}
.bottom-dock{display:flex;align-items:center;position:absolute;bottom:25px;left:50%;transform:translateX(-50%);z-index:5;border-radius:23px;padding:10px 12px;gap:4px}.bottom-dock>button{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;background:transparent;min-width:67px;padding:5px 12px 4px;border-radius:13px;font-size:9px;font-weight:700;color:#798b69}.bottom-dock>button:hover{background:#eaf0df}.bottom-dock svg{width:24px;height:24px}.bottom-dock kbd{position:absolute;right:7px;top:0;font:6px system-ui;color:#afb79f;border:1px solid #e1e7d5;border-radius:3px;padding:1px 3px}.dock-divider{height:32px;width:1px;background:#e1e6d6;margin:0 5px}.notification{position:absolute;top:0;right:16px;background:#db9675;border:2px solid #fffcf1;width:16px;height:16px;border-radius:50%;font-size:7px;color:#fff;display:grid;place-items:center}.scene-tools{position:absolute;bottom:27px;right:25px;display:flex;gap:9px;z-index:5}.scene-tools button,.map-tools button{display:grid;place-items:center;border-radius:13px;width:42px;height:42px;color:#7b9069}.scene-tools svg{width:19px;height:19px}.map-tools{position:absolute;right:25px;top:50%;display:flex;flex-direction:column;gap:7px;z-index:4}.map-tools button{width:34px;height:34px;border-radius:10px}.map-tools svg{width:17px;height:17px}.demo-notice{position:absolute;left:25px;bottom:31px;z-index:4;color:#fbfce8;text-shadow:0 1px 5px #2b482b66;font-size:8px;letter-spacing:.1px}.world-title{position:absolute;left:50%;bottom:111px;transform:translateX(-50%);text-align:center;color:#fffbe9;text-shadow:0 2px 10px #254425aa;pointer-events:none;z-index:3;white-space:nowrap}.world-title>span{font-size:7px;letter-spacing:3px;font-weight:600;opacity:.9}.world-title strong{display:block;font-size:19px;font-weight:650;letter-spacing:-.8px;margin:6px 0}.world-title small{font-size:9px;opacity:.9}.toasts{position:absolute;z-index:20;bottom:120px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;width:min(460px,90%);pointer-events:none}.toast{background:#3f604dee;color:#fffce9;border:1px solid #ffffff45;padding:13px 19px;border-radius:13px;font-size:12px;line-height:1.7;text-align:center;box-shadow:0 10px 30px #283c4422;animation:arrive .2s ease-out}
.modal{padding:0;border:1px solid #fffdf1;border-radius:27px;width:min(540px,calc(100% - 28px));max-height:87dvh;overflow:auto;background:#faf8ee;color:var(--ink);box-shadow:0 30px 100px #183c3e44}.modal::backdrop{background:#1f3a304a;backdrop-filter:blur(5px)}.modal-heading{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:25px 28px 20px;background:#faf8eef5;border-bottom:1px solid #e8e9db}.modal h2{font-size:25px;letter-spacing:-1px;margin:7px 0 0}.round-button{background:#edf0e2;border:1px solid #e0e5d4;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;color:#8b9b7c}.round-button svg{width:17px;height:17px}.modal-body{padding:24px 28px 28px}.intro{font-size:12px;line-height:1.9;color:#8a967d;margin:0 0 20px}.primary,.secondary{border:0;border-radius:12px;padding:13px 18px;font-size:12px;font-weight:700;background:#587d51;color:#fffce8;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:43px}.secondary{background:#e7ecda;color:#6d855b}.primary svg,.secondary svg{width:17px;height:17px}.wide{width:100%}.action-row{display:flex;gap:10px;margin-top:20px}.action-row>*{flex:1}.note{font-size:10px;line-height:1.8;color:#98a087;margin:15px 0 0}.pill{display:inline-flex;font-size:9px;border-radius:8px;background:#e9eddc;color:#84946f;padding:6px 9px}.farm-stats{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:11px;color:#82926c}.farm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#e9edda;padding:15px;border-radius:20px}.plot{min-height:98px;background:#b49062;border:3px solid #ceb38a;border-radius:14px;box-shadow:inset 0 -5px 0 #8f6d4c25;color:#fff4d5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:10px}.plot svg{width:40px;height:40px}.plot small{font-size:8px;opacity:.8}.plot.ready{background:#9ea75f;border-color:#c2c88b}.plot.growing{background:#a68c60}.plot.empty{background:#ad8b63;color:#dfcaa4}.inventory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.inventory-item{background:#fffdf5;border:1px solid #e4e7d8;border-radius:17px;padding:17px 10px;text-align:center}.inventory-item svg{width:45px;height:45px;margin:auto}.inventory-item strong{display:block;font-size:12px;margin-top:10px}.inventory-item small{font-size:10px;color:#94a080;display:block;margin-top:6px}.inventory-item>span{display:block}.friend-row{display:flex;gap:13px;align-items:center;padding:15px 0;border-bottom:1px solid #e4e8d9}.friend-row:last-of-type{border:0}.friend-row .portrait{width:50px;height:52px}.friend-row strong{font-size:13px}.friend-row small{display:block;font-size:10px;color:#97a384;margin-top:6px}.friend-row>button{margin-left:auto;font-size:10px;padding:9px 13px;min-height:34px}.friend-hero{display:flex;align-items:center;gap:17px;margin-bottom:20px}.friend-hero .portrait{width:79px;height:84px;border-radius:24px}.friend-hero .portrait svg{width:80px;height:97px}.friend-hero h3{font-size:21px;margin:0 0 10px}.friend-hero p{font-size:11px;line-height:1.8;color:#8b967e;margin:0}.gift-options{display:flex;gap:9px;margin-top:12px}.gift-options button{flex:1;background:#edf0e0;border-radius:12px;padding:13px;font-size:10px;color:#71855e}.gift-options svg{width:29px;height:29px;margin:0 auto 8px}.letter{display:block;width:100%;text-align:left;border:1px solid #e2e6d5;border-radius:15px;background:#fffdf5;padding:17px;margin:10px 0;color:#617653}.letter strong{font-size:13px;display:block;margin-bottom:7px}.letter small{font-size:10px;color:#9ba58c}.letter-paper{padding:24px;background:#fffdf4;border:1px solid #e8e5cf;border-radius:16px;background-image:repeating-linear-gradient(transparent,transparent 31px,#ede9d8 32px);line-height:2.7;font-size:12px;white-space:pre-wrap}.field{display:block;font-size:11px;color:#839472;margin-bottom:16px}.field>input,.field>select,.field>textarea{display:block;width:100%;margin-top:9px;padding:12px;border:1px solid #d8e0c9;border-radius:10px;background:#fffef6;color:#415e43;font-size:13px}.field textarea{min-height:140px;resize:vertical}.room-preview{border-radius:20px;background:radial-gradient(ellipse,#f8edd5,#e9e6d1);overflow:hidden;margin-bottom:15px}.room-preview svg{display:block;width:100%;height:auto}.color-choices{display:flex;gap:10px;align-items:center;margin:14px 0}.color-choice{height:35px;width:35px;border-radius:50%;border:3px solid #fff9e6;box-shadow:0 0 0 1px #dce3cf}.color-choice[aria-pressed="true"]{box-shadow:0 0 0 2px #6a855d}.color-choices>span{font-size:11px;color:#8c997b;margin-right:auto}.fishing-scene{height:175px;background:linear-gradient(180deg,#afd7be 0 30%,#69b4b0 30% 100%);position:relative;border-radius:19px;overflow:hidden;margin-bottom:20px}.fishing-scene:before{content:"";position:absolute;left:-5px;top:75px;width:125px;height:55px;background:repeating-linear-gradient(90deg,#cca478 0,#cca478 22px,#b89166 23px,#b89166 25px);transform:skewY(12deg);border-radius:3px;box-shadow:2px 9px 0 #ac885e}.fishing-scene>svg{position:absolute;width:74px;height:90px;left:53px;top:24px}.bobber{position:absolute;left:55%;top:57%;width:10px;height:19px;background:linear-gradient(#e68164 50%,#fff6d9 50%);border-radius:7px;box-shadow:0 0 0 12px #d2f2d51a;animation:mailBob 2s ease-in-out infinite}.fishing-scene.biting .bobber{animation:mailBob .25s infinite}.fishing-caption{text-align:center;color:#6d8664;font-size:12px;min-height:22px}.fishing-result{text-align:center;padding:15px}.fishing-result svg{width:90px;height:70px;margin:auto}.fishing-result h3{font-size:20px;margin:9px 0}.fishing-result p{font-size:12px;color:#a39061}.map-mini{position:relative;aspect-ratio:1.5;border-radius:17px;overflow:hidden;margin-bottom:14px}.map-mini>img{width:100%;height:100%;object-fit:cover}.map-mini>i{position:absolute;width:12px;height:12px;background:#fff9c7;border:3px solid #5a7c4b;box-shadow:0 0 0 5px #ffffff88;border-radius:50%;transform:translate(-50%,-50%)}.map-locations{display:grid;grid-template-columns:1fr 1fr;gap:8px}.map-locations button{display:flex;align-items:center;gap:9px;border:1px solid #dfe5d1;background:#f3f4e9;padding:12px;border-radius:12px;font-size:11px}.map-locations svg{width:17px;height:17px}.adventure-art{height:170px;background-image:linear-gradient(#173c2d15,#173c2d45),url('assets/village.png');background-size:auto,245%;background-position:center,91% 5%;border-radius:17px;display:flex;align-items:flex-end;justify-content:center;color:#fff8d4;padding:20px;margin-bottom:20px}.adventure-art span{font-size:12px;padding:9px 15px;background:#395440c9;backdrop-filter:blur(10px);border-radius:20px}.party-slots{display:flex;justify-content:center;gap:12px;margin:20px 0}.party-slots>span{display:grid;place-items:center;width:55px;height:64px;border:1px dashed #cbd6bd;background:#f1f3e6;border-radius:15px;color:#b3bea3}.party-slots .portrait{border:1px solid #cbd6bd;background:#e2e9d4}.roadmap{display:flex;gap:9px;margin:16px 0}.roadmap>div{flex:1;padding:13px 9px;border-radius:12px;background:#edf0e1;text-align:center}.roadmap b{font-size:10px;display:block}.roadmap small{font-size:8px;color:#9ca78c;display:block;margin-top:6px}.weather-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.weather-choices button{display:flex;flex-direction:column;align-items:center;gap:10px;padding:17px 4px;border:1px solid #dce3ce;background:#fffdf5;border-radius:14px;font-size:11px}.weather-choices button.active{border:2px solid #7b9b63;background:#eaf0dd}.weather-choices svg{width:29px;height:29px;color:#b7a368}.weather-section{margin:22px 0 12px;font-size:12px}.weather-row{display:flex;gap:8px}.weather-row button{flex:1}.check-row{display:flex;align-items:center;gap:10px;font-size:11px;color:#829372;margin-top:20px}.check-row input{accent-color:#608258;width:17px;height:17px}.welcome-avatar{display:flex;justify-content:center;margin:0 0 17px}.welcome-avatar .portrait{width:90px;height:90px;border-radius:29px}.welcome-avatar svg{width:90px;height:110px}
@keyframes idle{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes walk{0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(5deg) translateY(-5px)}}@keyframes glint{0%,100%{opacity:.2;transform:scale(.8)}50%{opacity:.85;transform:scale(1.15)}}@keyframes mailBob{0%,100%{translate:0 0}50%{translate:0 -5px}}@keyframes firefly{0%,100%{opacity:.2;translate:0 0}50%{opacity:1;translate:6px -10px}}@keyframes rain{to{background-position:-30px 130px}}@keyframes arrive{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@media(min-width:1600px){.topbar{padding:0 40px}.profile-card,.quest-card{left:32px;width:260px}.world-status,.chat-card,.map-tools,.scene-tools{right:32px}.chat-card{width:310px}}
@media(max-width:1100px){.topbar{padding:0 22px;gap:16px}.preview-tag{display:none}.top-nav button{padding:11px 12px}.profile-card{width:215px;left:18px}.profile-main{padding:13px 12px;gap:9px}.profile-main small{font-size:8px}.profile-main strong{font-size:15px}.profile-bottom{padding:10px 12px;font-size:7px}.profile-bottom .heart-row{font-size:8px}.quest-card{width:215px;left:18px;padding:17px 14px 12px}.quest-card h2{font-size:16px}.quest-card>button{font-size:9px;gap:7px}.quest-card small{font-size:7px}.quest-foot>span:last-child{display:none}.chat-card{width:245px;right:18px}.world-status{right:18px}.clock-card{min-width:232px;padding:13px}.world-title{bottom:112px}.world-title strong{font-size:15px}.world-title small{font-size:8px}.scene-tools{right:18px}.demo-notice{left:18px;font-size:7px}.map-tools{right:18px}}
@media(max-width:800px){.topbar{height:72px;padding:0 18px}.brand{font-size:22px;gap:9px}.brand-symbol{width:36px;height:36px;border-radius:13px}.brand-symbol svg{width:23px;height:23px}.brand small{font-size:6px;letter-spacing:1.8px}.top-nav{margin-left:auto}.top-nav button{padding:10px 12px;font-size:10px}.top-nav small,.top-nav button[data-action="home"],.header-right{display:none}.stage{height:calc(100dvh - 72px);min-height:620px}.profile-card{top:17px;width:196px;left:16px}.profile-main{padding:12px}.profile-main .portrait{width:42px;height:44px;border-radius:14px}.profile-main small{font-size:7px}.profile-main strong{font-size:14px}.profile-bottom{display:none}.level-label{font-size:7px}.level-label i{font-size:6px}.world-status{top:17px;right:16px;gap:8px}.clock-card{min-width:0;padding:12px;gap:9px;border-radius:15px}.clock-card small{font-size:7px}.clock-card strong{font-size:15px}.weather-symbol svg{width:27px;height:27px}.clock-card .weather-label,.clock-card>span:last-child{display:none}.money-chip{padding:7px 10px;gap:6px;border-radius:11px}.money-chip strong{font-size:12px}.money-chip small{font-size:7px}.coin{width:18px;height:18px;font-size:8px}.quest-card{display:none}.chat-card{width:245px;bottom:120px;right:16px}.chat-heading{padding:11px 13px}.chat-lines{max-height:90px}.chat-lines p{font-size:9px}.chat-content input{font-size:8px}.world-title{left:18px;transform:none;text-align:left;bottom:125px;max-width:37%;white-space:normal}.world-title>span{font-size:6px;letter-spacing:2px}.world-title strong{font-size:17px;line-height:1.5;margin:6px 0}.world-title small{font-size:8px;line-height:1.6;display:block}.bottom-dock{bottom:32px;padding:9px 10px;gap:3px;border-radius:20px}.bottom-dock>button{min-width:57px;padding:5px 9px;font-size:8px}.bottom-dock svg{width:23px;height:23px}.bottom-dock kbd{display:none}.scene-tools{bottom:34px;right:16px;flex-direction:column;gap:6px}.scene-tools button{width:32px;height:32px;border-radius:10px}.scene-tools svg{width:16px;height:16px}.demo-notice{left:50%;transform:translateX(-50%);bottom:9px;white-space:nowrap;font-size:7px}.map-tools{right:16px;top:40%;gap:6px}}
@media(max-width:560px){.topbar{height:66px;padding:0 15px}.brand{font-size:21px}.top-nav{padding:0;background:none;gap:0}.top-nav button{display:none}.top-nav button[data-action="adventure"]{display:flex;background:#edf0e2;padding:9px 11px;border-radius:12px;font-size:10px}.top-nav button[data-action="adventure"] small{display:block;font-size:6px}.stage{height:calc(100dvh - 66px);min-height:560px}.profile-card{left:12px;top:13px;width:170px;border-radius:16px}.profile-main{gap:8px;padding:10px}.profile-main .portrait{width:37px;height:42px}.profile-main .edit-profile{display:none}.profile-main small{font-size:6px}.profile-main strong{font-size:13px}.level-label{font-size:7px}.level-label i{font-size:6px;margin-left:2px}.world-status{right:12px;top:13px;gap:7px}.clock-card{padding:10px 11px;gap:7px}.clock-card small{font-size:7px}.clock-card strong{font-size:13px}.weather-symbol svg{width:23px;height:23px}.money-chip small{display:none}.chat-card{right:12px;bottom:115px;width:225px;border-radius:14px}.chat-heading{padding:10px 12px}.chat-heading>span:first-child{font-size:9px}.chat-heading small{font-size:6px;margin-left:2px}.chat-lines{max-height:82px;padding:5px 12px}.chat-lines p{font-size:8px}.chat-lines b{font-size:8px}.chat-content form{padding:6px 9px}.chat-content input{font-size:8px}.world-title{display:none}.bottom-dock{bottom:29px;left:12px;right:52px;transform:none;padding:9px 5px;justify-content:space-around;gap:0;border-radius:18px}.bottom-dock>button{min-width:0;padding:4px 9px;font-size:8px;gap:6px}.bottom-dock svg{width:23px;height:23px}.dock-divider{margin:0 2px;height:29px}.scene-tools{bottom:30px;right:12px;gap:5px}.scene-tools button{width:29px;height:29px;border-radius:9px}.scene-tools svg{width:14px;height:14px}.map-tools{right:12px;top:34%}.map-tools button{width:30px;height:30px}.notification{right:9px;width:14px;height:14px;font-size:6px}.demo-notice{font-size:6px;bottom:9px}.modal{width:calc(100% - 20px);border-radius:21px;max-height:90dvh}.modal-heading{padding:21px 21px 17px}.modal h2{font-size:23px}.modal-body{padding:21px}.intro{font-size:11px}.plot{min-height:86px}.farm-grid{padding:11px;gap:8px}.plot svg{width:32px;height:32px}.place-pin{font-size:13px}.toasts{bottom:110px}.weather-choices{gap:6px}.weather-choices button{font-size:10px}.inventory-item{padding:14px 8px}.inventory-item strong{font-size:11px}.inventory-item small{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Live world controls */
.hub-link{font-size:12px;font-weight:750;border:1px solid #dce1ce;border-radius:12px;padding:10px 14px;background:#f1f2e7;white-space:nowrap}.stage{min-height:560px}.scene-back{position:absolute;z-index:5;left:50%;top:20px;transform:translateX(-50%);border-radius:14px;padding:12px 20px;font-size:12px;font-weight:700}.scene-back:active{transform:translateX(-50%) translateY(1px)!important}.demo-notice{color:#fffdf2;text-shadow:0 1px 4px #193e23;font-size:10px}.demo-notice.offline{background:#913b28dd;border-radius:8px;padding:7px 12px;text-shadow:none}.neighbor{cursor:pointer}.walker:active{transform:translate(-50%,-100%)!important}.walker .nameplate{font-size:12px;max-width:160px;white-space:nowrap}.world-crop{position:absolute;transform:translate(-50%,-65%);background:none;padding:8px;width:85px;height:75px;display:grid;place-items:center;filter:drop-shadow(0 5px 3px #4c3b2440)}.world-crop>svg{width:59px;height:59px}.world-crop>svg[fill="none"]{color:#ede7be;width:28px;height:28px;opacity:.7}.world-crop.ready{animation:idle 3s ease-in-out infinite}.world-crop span{position:absolute;bottom:0;font-size:11px;padding:4px 9px;border-radius:12px;background:#fff7da;color:#6b784d;box-shadow:0 2px 8px #392d2a33}.world-crop:active{transform:translate(-50%,-65%)!important}.world-furniture{position:absolute;transform:translate(-50%,-85%);width:190px;height:170px;background:none;padding:0;pointer-events:none;opacity:1!important}.world-furniture>svg{width:100%;height:100%;transform:scaleX(var(--flip,1));filter:drop-shadow(0 5px 5px #4c3b2420)}.world-furniture.floor{width:260px;height:170px}.world-furniture.editable{pointer-events:auto;cursor:grab;touch-action:none}.world-furniture.selected{filter:drop-shadow(0 0 5px #fff6c1)}.world-furniture.selected:after{content:"선택됨 · 끌어서 이동";position:absolute;bottom:0;left:50%;transform:translateX(-50%);font-size:10px;white-space:nowrap;border-radius:9px;background:#fffbea;padding:6px 9px}.world-furniture:active{transform:translate(-50%,-85%)!important}.decor-toolbar{position:absolute;z-index:6;left:50%;bottom:115px;transform:translateX(-50%);border-radius:18px;padding:16px 20px;width:min(620px,94%);text-align:center}.decor-toolbar strong{font-size:15px}.decor-toolbar small{display:block;font-size:11px;color:#879377;margin:8px}.decor-actions{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.decor-actions button{font-size:11px;padding:9px 12px;min-height:35px}.quantity{width:64px;min-height:39px;padding:8px;border:1px solid #d7dfc6;border-radius:9px;background:#fffef8;color:#405e42;flex-shrink:0;text-align:center;font-size:13px}.shop-row{display:grid;grid-template-columns:48px 1fr 60px 90px;gap:10px;align-items:center;border-bottom:1px solid #e1e6d4;padding:15px 0}.shop-row:last-child{border:0}.shop-art svg{width:45px;height:45px}.shop-row strong,.restaurant-row strong{display:block;font-size:13px}.shop-row small,.restaurant-row small{display:block;font-size:10px;color:#839376;margin-top:6px;line-height:1.5}.shop-row button{font-size:11px;padding:10px 9px;min-height:39px}.inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-item>span>svg{margin:auto}.inventory-item form{display:flex;align-items:center;flex-direction:column;gap:8px;margin-top:12px}.inventory-item button{font-size:10px;padding:8px;min-height:34px}.inventory-item>button{margin-top:10px}.inventory-item>svg{width:66px;height:66px;margin:auto}.inventory-item{min-width:0}.primary.wide,.secondary.wide{display:flex;justify-content:center;align-items:center;text-align:center;margin-top:12px;gap:8px}.quantity+.primary{flex:1}.search-row{display:flex;gap:8px;margin:15px 0}.search-row input{min-width:0;flex:1;border:1px solid #d8e0c9;background:#fffef6;border-radius:10px;padding:10px 12px;color:#415e43}.search-row button{font-size:12px}.empty-state{text-align:center;padding:32px 12px;color:#8d987c;font-size:13px;line-height:2;background:#f0f2e6;border-radius:16px;margin:18px 0}.seed-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.seed-choice{border:1px solid #dfe4d2;background:#f2f4e7;padding:18px 12px;border-radius:16px}.seed-choice svg{width:65px;height:65px;margin:auto}.seed-choice strong{font-size:13px;display:block;margin-top:10px}.seed-choice small{display:block;font-size:10px;line-height:1.6;margin-top:8px;color:#8b967d}.crop-hero svg{width:100px;height:100px;margin:15px auto}.tabs{display:flex;gap:8px;margin-bottom:16px}.tabs button{flex:1}.attachment{display:flex;align-items:center;gap:14px;margin:15px 0;padding:15px;border:1px solid #e2e6d5;border-radius:14px;background:#f1f3e4;font-size:12px}.attachment>svg{width:48px;height:48px;flex-shrink:0}.attachment small{display:block;color:#8d997d;margin-top:6px}.attachment button{margin-left:auto;font-size:11px}.text-button{background:none;color:#89947e;font-size:11px;text-decoration:underline;padding:10px}.land-card{display:flex;align-items:center;gap:14px;border:1px solid #dfe4d2;background:#f5f5e9;border-radius:16px;padding:16px;margin:12px 0}.land-icon{padding:12px;background:#e5ead5;border-radius:13px}.land-card strong{font-size:13px;display:block}.land-card small{display:block;font-size:10px;margin-top:6px;color:#879676}.land-card button,.land-card>.pill{margin-left:auto;white-space:nowrap;font-size:11px;padding:10px}.restaurant-row{display:grid;grid-template-columns:60px 1fr;gap:12px;border-bottom:1px solid #e1e6d4;padding:18px 0}.restaurant-row>.action-row{grid-column:1/-1;margin:0;justify-content:flex-end}.restaurant-row .shop-art svg{width:57px;height:57px}.weather-summary{text-align:center;background:#edf1e1;border-radius:18px;padding:26px;margin:18px 0}.weather-summary>svg{width:48px;height:48px;margin:0 auto 16px;color:#b6a16d}.weather-summary strong{display:block;font-size:18px}.weather-summary small{display:block;margin-top:10px;font-size:11px;color:#8b967f}.entry-page{min-height:100dvh;display:grid;place-items:center;background:linear-gradient(#24462d35,#24462d70),url('assets/village.png') center/cover}.entry-card{width:min(440px,90%);background:#fffdf1f5;border-radius:28px;padding:42px;box-shadow:0 30px 90px #1e412d44;text-align:center}.entry-card h1{font-size:42px;letter-spacing:-2px}.entry-card p{line-height:2;color:#859375;font-size:14px}.entry-card small{display:block;margin-top:20px;color:#9ca58b;font-size:11px}.admin-page{min-height:100dvh;padding:35px 20px;background:#e8eddd}.admin-card{max-width:800px;margin:auto;background:#fffef5;border:1px solid #dce4cd;border-radius:24px;padding:35px}.admin-card h1{font-size:27px}.admin-card h2{font-size:18px;margin-top:30px}.admin-card p{line-height:1.8;font-size:14px;color:#788a6a}.admin-card .notice{color:#5b7d4f}.stage[data-scene="home"] .fireflies,.stage[data-scene="home"] .rain-layer{display:none}.stage[data-scene="home"] .world-shade{opacity:.12}.chat-lines p{overflow-wrap:anywhere}.chat-help{color:#8c9c7c}.chat-content input{min-width:0}.my-name{color:#3c7858!important}.bottom-dock>button{min-width:60px}.world-crop.ready{animation:none}.stage[data-scene="yard"] .world-title,.stage[data-scene="home"] .world-title{pointer-events:none}
@media(max-width:800px){.topbar .header-right{display:flex;gap:0}.header-right .neighbor-button{display:none}.hub-link{font-size:10px;padding:9px}.top-nav{display:none}.stage{min-height:0;height:calc(100dvh - 72px)}.scene-back{top:110px;font-size:11px;padding:9px 13px}.bottom-dock>button{min-width:0;padding:5px 10px}.decor-toolbar{bottom:118px}.decor-actions button{font-size:10px}.demo-notice{font-size:8px;max-width:95%;overflow:hidden;text-overflow:ellipsis}.shop-row{grid-template-columns:42px 1fr 53px 75px;gap:7px}.shop-row .quantity{width:53px}.shop-row button{font-size:10px}.shop-row strong{font-size:12px}.shop-row small{font-size:9px}.land-card{padding:12px;gap:10px}.land-icon{padding:9px}.land-card button{font-size:10px;padding:9px}.decor-toolbar small{font-size:10px}.world-furniture{width:190px}.entry-card{padding:30px}.admin-card{padding:24px}.chat-card{bottom:118px}.world-title{display:none}}
@media(max-width:560px){.stage{height:calc(100dvh - 66px)}.topbar{gap:8px}.brand{font-size:20px}.hub-link{font-size:10px}.bottom-dock{right:49px;padding:8px 3px}.bottom-dock>button{padding:4px 6px;font-size:9px;gap:5px}.bottom-dock svg{width:21px;height:21px}.profile-main small{font-size:8px}.level-label{font-size:8px}.clock-card small{font-size:8px}.chat-heading>span:first-child{font-size:11px}.chat-heading small{font-size:8px}.chat-lines p,.chat-lines b{font-size:11px}.chat-content input{font-size:11px}.chat-card{width:245px}.shop-row{grid-template-columns:32px 1fr 50px 66px;gap:6px}.shop-art svg{width:32px}.shop-row strong{font-size:11px}.shop-row small{font-size:9px}.shop-row .quantity{width:50px;font-size:12px}.shop-row button{font-size:10px;padding:7px}.modal-body{padding:19px}.modal h2{font-size:22px}.intro{font-size:13px;line-height:1.8}.note{font-size:11px!important;line-height:1.8!important}.field{font-size:12px}.field>input,.field>select,.field>textarea{font-size:16px}.land-card strong{font-size:12px}.land-card small{font-size:10px}.land-icon{display:none}.scene-back{top:110px}.decor-toolbar{padding:14px 10px}.scene-tools button{width:30px;height:30px}.scene-tools{right:10px}.notification{font-size:8px}.inventory-item strong{font-size:12px}}

.stage[data-weather="snow"] .rain-layer{opacity:.75;background-image:radial-gradient(circle,#fffdf8 2px,transparent 3px),radial-gradient(circle,#fffdf8bb 1px,transparent 3px);background-size:89px 117px,123px 97px;animation:snowfall 8s linear infinite}@keyframes snowfall{to{background-position:40px 351px,-20px 291px}}

@media(max-width:560px){.chat-content input,.quantity{font-size:16px}.shop-row .quantity{font-size:16px}.shop-row button{min-height:42px}.scene-tools button{width:38px;height:38px}.scene-tools svg{width:18px;height:18px}.scene-tools{gap:5px;bottom:29px}}

.stage[data-editing="true"] .quest-card,.stage[data-editing="true"] .chat-card,.stage[data-editing="true"] .world-title,.stage[data-editing="true"] .bottom-dock,.stage[data-editing="true"] .scene-tools{visibility:hidden}.stage[data-editing="true"] .decor-toolbar{bottom:24px}.stage[data-editing="true"] .toasts{bottom:170px}

/* 1.1 — six connected walking regions */
.location-chip{position:absolute;z-index:6;left:50%;top:18px;transform:translateX(-50%);display:flex;align-items:center;gap:9px;border-radius:30px;padding:11px 17px;color:#50664b;max-width:calc(100% - 620px);box-shadow:0 5px 22px #29432d16;font-size:12px;font-weight:750}
.location-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-chip svg{width:17px;height:17px;flex-shrink:0}.location-chip:active{transform:translateX(-50%)!important}
.journey-card{position:absolute;z-index:7;top:70px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:17px;box-shadow:0 8px 25px #28432f25;max-width:320px}.journey-card[hidden]{display:none}.journey-card small{display:block;font-size:9px;color:#8b977e;margin-bottom:4px}.journey-card strong{font-size:12px;color:#4a664c}.journey-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e8eddc;color:#759066}.journey-icon svg{width:18px;height:18px}.journey-card button{width:34px;height:34px;margin-left:6px;display:grid;place-items:center;border-radius:50%;background:#edf0e4;color:#74846b}.journey-card button svg{width:17px;height:17px}
.region-arrival{position:absolute;z-index:4;left:50%;top:28%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;color:#fffce9;text-shadow:0 3px 15px #183e2ca6;opacity:0;white-space:nowrap}.region-arrival small{display:block;font-size:11px;letter-spacing:5px;font-weight:800;margin-bottom:12px}.region-arrival strong{font-size:32px;letter-spacing:-1px}.region-arrival.show{animation:regionWelcome 3s both}@keyframes regionWelcome{0%{opacity:0;translate:0 10px}20%,70%{opacity:1;translate:0 0}100%{opacity:0;translate:0 -5px}}
.road-sign{background:#fff8e6;color:#5e7352;border:2px solid #b7b58b;border-bottom-width:5px;border-radius:10px;gap:8px;z-index:6;padding:10px 12px;box-shadow:0 4px 0 #736a3b45,0 7px 15px #36542d25}.road-sign small{display:block;font-size:9px;color:#959576;text-align:left;margin-top:4px}.road-sign b{background:#e4e8c9;color:#697e57;font-size:16px}.road-sign:after{width:8px;height:25px;left:calc(50% - 4px);clip-path:none;background:#ab9670;border-radius:0 0 3px 3px}.activity-pin{z-index:7;background:#fffaf0;color:#536f4e;box-shadow:0 4px 20px #33583433}.stage[data-scene="forest"] .activity-pin{background:#e7eed8;color:#47634a}
.resident-house{position:absolute;width:260px;height:218px;padding:0;background:none;transform:translate(-50%,-91%);filter:drop-shadow(0 6px 5px #344d2a20);cursor:pointer}.resident-house>svg{width:100%;height:100%;transition:filter .2s}.resident-house:hover>svg{filter:brightness(1.07)}.resident-house:active{transform:translate(-50%,-91%)!important}.house-address{position:absolute;left:50%;top:7px;transform:translateX(-50%);padding:8px 13px;background:#fffdf0ed;border:1px solid #e2dfc1;border-radius:13px;box-shadow:0 4px 8px #37513118;min-width:125px;font-size:12px;font-weight:800;color:#536e4e;white-space:nowrap}.house-address small{display:block;font-size:8px;font-weight:500;margin-top:5px;color:#8a9675}.closed .house-address{background:#edeadd;color:#989681}.door-glow{position:absolute;left:43%;top:58%;width:15%;height:24%;border-radius:20px 20px 3px 3px;box-shadow:0 0 10px #f7e5a866;pointer-events:none}.resident-house:hover .door-glow{background:#ffecad44;box-shadow:0 0 20px #fff2b1}.vacant-garden{position:absolute;transform:translate(-50%,-80%);width:200px;height:90px;border:2px dashed #f5f5c47a;background:#e3e5af20;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#f7f2d2;font-size:10px;text-shadow:0 1px 3px #4e6749;pointer-events:none;z-index:2}.vacant-garden svg{width:24px;height:24px}
.atlas{height:390px;position:relative;margin:10px 0 24px;border:1px solid #dce4ca;border-radius:24px;overflow:hidden;background:radial-gradient(ellipse at 80% 15%,#c4d4aa 0,transparent 32%),radial-gradient(ellipse at 78% 50%,#c0d9d6 0,transparent 32%),radial-gradient(ellipse at 20% 65%,#e4d8aa 0,transparent 32%),#eaf0d9}.atlas>svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#fff9e8;stroke-width:3;stroke-linecap:round;stroke-dasharray:2 2}.atlas-place{position:absolute;transform:translate(-50%,-50%);width:116px;min-height:76px;padding:10px 6px;background:#fffdf2ed;border:1px solid #d8dec5;border-radius:17px;box-shadow:0 4px 12px #4c6e3920;color:#6a7e58;display:flex;flex-direction:column;align-items:center;gap:6px}.atlas-place svg{width:23px;height:23px}.atlas-place strong{font-size:11px;letter-spacing:-.4px}.atlas-place small{font-size:9px;color:#9ba486}.atlas-place.here{background:#647f58;color:#fffbe9;border-color:#647f58}.atlas-place.here small{color:#e4ebd5}.atlas-place:active{transform:translate(-50%,-50%)!important}.atlas-actions{display:flex;gap:10px}.atlas-actions button{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px}.atlas-actions svg{width:18px;height:18px}
.stage[data-scene="neighborhood"] .quest-card,.stage[data-scene="reservoir"] .quest-card,.stage[data-scene="farm"] .quest-card,.stage[data-scene="market"] .quest-card,.stage[data-scene="forest"] .quest-card{display:none}.stage[data-scene="reservoir"] .glint-one{left:76%;top:37%}.stage[data-scene="reservoir"] .glint-two{left:85%;top:48%}.scene-back{top:64px;padding:8px 13px}.stage[data-editing="true"] .location-chip,.stage[data-editing="true"] .journey-card,.stage[data-editing="true"] .scene-back{visibility:hidden}
@media(max-width:1100px){.location-chip{max-width:calc(100% - 480px)}.location-chip span{max-width:145px}}
@media(max-width:800px){.location-chip{top:105px;max-width:85%;padding:9px 13px;font-size:11px}.location-chip span{max-width:220px}.location-chip svg{width:15px;height:15px}.journey-card{top:149px;max-width:90%;padding:8px 10px}.journey-card strong{font-size:11px}.journey-card small{font-size:8px}.journey-icon{width:27px;height:27px}.scene-back{top:146px;font-size:10px}.region-arrival{top:38%}.region-arrival strong{font-size:26px}.region-arrival small{font-size:8px;letter-spacing:3px}.world-title{display:none}.atlas{height:350px}.atlas-place{width:99px;min-height:71px}.atlas-place strong{font-size:10px}.atlas-place small{font-size:8px}.atlas-actions button{font-size:10px;padding:11px 7px}.road-sign{font-size:12px;min-height:42px}}
@media(max-width:420px){.atlas{height:335px;margin-left:-7px;margin-right:-7px}.atlas-place{width:86px;padding:9px 4px}.atlas-place strong{font-size:9px}.atlas-place svg{width:20px;height:20px}.location-chip{top:101px}.journey-card{top:145px}.scene-back{top:145px}}
@media(prefers-reduced-motion:reduce){.region-arrival.show{animation:none;opacity:0}}


.resident-house{width:290px;height:290px;transform:translate(-41%,-84%)}.resident-house:active{transform:translate(-41%,-84%)!important}.cottage-art{width:100%;height:100%;pointer-events:none;transition:filter .2s}.resident-house:hover .cottage-art{filter:brightness(1.07)}.house-address{left:42%;top:0}.door-glow{left:37%;top:57%;width:11%;height:20%}

.stage[data-time="night"] .cottage-art{filter:brightness(.55) saturate(.8)}.stage[data-time="sunset"] .cottage-art{filter:brightness(.85) sepia(.15)}.stage[data-time="morning"] .cottage-art{filter:brightness(.96)}.stage[data-weather="rain"] .cottage-art{filter:brightness(.7)}.stage[data-time="night"][data-weather="rain"] .cottage-art{filter:brightness(.4)}
.activity-pin{margin-top:-108px}.stage:not([data-scene="village"]) .world-title{display:none}
.modal h2{word-break:keep-all;text-wrap:balance}
/* 1.2 · A little home, a growing collection */
.character-choice{border:0;padding:0;margin:20px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.character-choice legend{font-size:12px;font-weight:700;margin-bottom:9px}.character-option{position:relative;cursor:pointer}.character-option input{position:absolute;left:12px;top:12px;accent-color:#73876a}.character-option>span{display:flex;align-items:center;justify-content:center;gap:10px;border:2px solid #e7e4d7;border-radius:18px;background:#f7f4eb;padding:10px}.character-option input:checked+span{border-color:#7d9270;background:#edf0e2;box-shadow:0 0 0 3px #8a9c6e14}.character-option input:focus-visible+span{outline:3px solid #afbd99;outline-offset:3px}.character-option svg{width:58px;height:75px}.character-option strong{font-size:14px}
.shop-heading{display:flex;gap:17px;align-items:center;padding:4px 0 22px}.shop-heading strong{font-size:18px;letter-spacing:-.6px}.shop-heading p{font-size:12px;line-height:1.8;color:#858a73;margin:8px 0 0}.shop-heading b{color:#687e59}.shop-seal{display:grid;place-items:center;width:72px;height:80px;flex:none;border-radius:24px 24px 9px 9px;background:#e6e9d6;color:#7a8e63;font-family:Georgia,serif;font-size:36px;border:1px solid #d5dbc2}.shop-filters{display:flex;flex-wrap:wrap;gap:7px;border-top:1px solid #e9e5d9;padding-top:18px}.filter-chip{padding:9px 13px;border-radius:30px;background:#f0eee5;color:#727961;font-size:12px;border:1px solid transparent}.filter-chip[aria-pressed=true]{background:#76876b;color:#fffaf0;border-color:#66795d}.shop-search{display:flex;gap:12px;align-items:center;margin:17px 0 0}.shop-search>input{min-width:0;flex:1;border:1px solid #dedfd0;border-radius:11px;padding:11px 13px;background:#fffcf4;font-size:12px}.shop-search>label{font-size:11px;white-space:nowrap;display:flex;gap:5px;align-items:center}.shop-search input[type=checkbox]{accent-color:#73876a}.furniture-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.furniture-product{border:1px solid #e7e3d6;background:#fffdf6;border-radius:17px;overflow:hidden;display:flex;flex-direction:column;margin:0;box-shadow:0 5px 10px #625b3b05}.product-image{height:138px;background:radial-gradient(ellipse at 50% 80%,#ece8d5,#f4f1e5 60%);position:relative;display:grid;place-items:center}.product-image>svg{width:130px;height:130px;transition:transform .2s}.furniture-product:hover .product-image>svg{transform:translateY(-3px)}.product-image>span{position:absolute;top:9px;left:10px;font-size:9px;color:#8b927b}.product-copy{padding:11px 12px 0;flex:1}.product-copy strong{font-size:12px;letter-spacing:-.4px}.product-copy p{font-size:10px;line-height:1.6;color:#91917d;min-height:32px;margin:6px 0}.product-copy small{font-size:10px;color:#7d876d}.product-buy{display:flex;gap:6px;padding:12px 10px 0}.product-buy .quantity{width:48px;min-width:0;padding:8px 3px;font-size:12px}.product-buy button{flex:1;font-size:11px;padding:9px 3px;white-space:nowrap}.purchase-total{font-size:10px;color:#8a8065;display:block;padding:7px 10px 12px;min-height:29px}.furniture-shop-grid>.empty-state{grid-column:1/-1}.stage[data-scene=home]{background:radial-gradient(ellipse at 50% 44%,#eae5d1,#c7ccb6)}.stage[data-scene=home] .world{width:960px;height:720px}.stage[data-scene=home] .quest-card,.stage[data-scene=home] .world-title{display:none}.stage[data-scene=home] .scene-art{object-fit:contain}.stage[data-scene=home] .world-furniture{width:var(--size,130px);height:var(--size,130px);transform:translate(-50%,-90%)}.stage[data-scene=home] .world-furniture:active{transform:translate(-50%,-90%)!important}.stage[data-scene=home] .world-furniture.selected:before{content:'';position:absolute;inset:5px;border:2px dashed #78966c;border-radius:9px;background:#f9f2c019}.stage[data-scene=home] .world-furniture.selected:after{content:'선택됨';font-size:12px;bottom:-12px}.stage[data-scene=home] .world-shade{opacity:.04!important}.stage[data-scene=home] .place-pin{font-size:12px}.decor-actions{flex-wrap:wrap;justify-content:center;gap:6px}.decor-actions button[aria-pressed=true]{box-shadow:inset 0 0 0 1px #839773;background:#e7eddb}.stage[data-editing=true] .decor-toolbar{background:#fffbeeef;backdrop-filter:blur(14px);border:1px solid #e6e1ce;box-shadow:0 8px 30px #58614020;width:min(720px,96%);padding:13px 15px}.stage[data-editing=true] .world-status{visibility:hidden}.stage[data-editing=true] .scene-pins{visibility:hidden}.stage[data-editing=true] .profile-card{visibility:hidden}.stage[data-editing=true] .map-tools{bottom:160px}.stage[data-editing=true] .walker{opacity:.35;pointer-events:none}.stage[data-editing=true] .decor-actions button{font-size:11px;padding:9px 11px}.stage[data-scene=home] .world{margin-top:-20px}
@media(max-width:600px){.furniture-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.product-image{height:125px}.product-image>svg{height:120px;width:120px}.product-copy{padding:10px 9px 0}.product-buy{padding:10px 8px 0}.shop-heading strong{font-size:16px}.shop-seal{width:58px;height:69px;font-size:30px}.filter-chip{font-size:11px;padding:8px 10px}.shop-search{gap:7px}.shop-search>label{font-size:10px}.character-option>span{gap:1px;padding:10px 2px}.character-option svg{width:50px}.stage[data-editing=true] .decor-toolbar{bottom:12px;padding:9px 8px}.stage[data-editing=true] .decor-toolbar small{font-size:10px;margin:6px 0}.stage[data-editing=true] .decor-actions button{font-size:10px;padding:8px}.stage[data-scene=home] .chat-card{max-width:210px}.product-copy strong{font-size:11px}.stage[data-scene=home] .world{margin-top:0}}

.modal[data-page=shop],.modal[data-page=furniture]{width:min(780px,calc(100% - 24px))}.modal[data-page=shop] .shop-heading{padding-bottom:14px}.modal[data-page=shop] .shop-search{margin-top:12px}.modal[data-page=shop] .shop-filters{padding-top:12px}.modal[data-page=shop] #shop-count{margin:12px 0}.stage[data-editing=true] #scene-pins{visibility:hidden}.stage[data-scene=home] #scene-art{object-fit:contain}
@media(min-width:700px){.modal[data-page=profile] .welcome-avatar{display:none}.modal[data-page=profile] .intro{margin-top:0}.modal[data-page=profile] .character-option svg{height:66px}}
@media(max-width:600px){.modal[data-page=shop] .modal-body{padding:16px}.modal[data-page=shop] .shop-heading{gap:12px;padding-bottom:10px}.modal[data-page=shop] .shop-seal{width:48px;height:60px;font-size:27px}.modal[data-page=shop] .shop-heading p{font-size:11px;margin-top:5px}.modal[data-page=shop] .shop-filters{gap:5px}.modal[data-page=shop] .filter-chip{padding:7px 9px}}

.decor-nudge{display:flex;justify-content:center;gap:5px;margin:8px 0}.decor-nudge button{min-width:38px;padding:7px 12px;font-size:14px}.stage[data-editing=true] .map-tools{bottom:210px}@media(max-width:600px){.decor-nudge{margin:6px 0}.decor-nudge button{padding:5px 12px;min-height:30px}}
.world-furniture.usable{pointer-events:auto;cursor:pointer}.world-furniture.usable:hover>svg{filter:drop-shadow(0 0 7px #fff2bb)}.world-furniture.usable:focus-visible{outline:3px solid #769b6c;outline-offset:2px;border-radius:15px}.living-panel{position:absolute;z-index:5;left:25px;bottom:125px;width:292px;padding:15px;border:1px solid #fff9e5;border-radius:20px;background:#fffbeded}.energy-line{display:flex;align-items:center;gap:8px}.energy-line strong{font-size:12px;white-space:nowrap}.energy-line small{color:#9c9e86;font-size:9px}.energy-meter{height:7px;flex:1;border-radius:8px;background:#e7e6d5;overflow:hidden}.energy-meter i{display:block;height:100%;border-radius:8px;background:#92ac80;transition:width .3s}.energy-line button{font-size:10px;padding:4px;white-space:nowrap}.living-hint{font-size:10px;color:#8c917b;margin:9px 0 0}.home-activity,.cooking-status{display:flex;align-items:center;gap:9px;margin-top:12px;padding-top:12px;border-top:1px solid #e8e4d4}.home-activity>div,.cooking-status>div{flex:1;min-width:0}.home-activity b,.cooking-status b{display:block;font-size:11px}.home-activity small,.cooking-status small{display:block;font-size:10px;color:#89917b;margin-top:4px;line-height:1.5}.home-activity button,.cooking-status button{font-size:10px;padding:9px;white-space:nowrap}.cooking-status>span{width:40px;height:40px}.cooking-status svg{width:100%;height:100%}.stage[data-editing=true] #living-panel{display:none}.furniture-hero{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:15px;border-radius:20px;background:#eeeadd}.furniture-hero>svg{width:180px;height:180px}.furniture-hero>span{font-size:10px;color:#8d927b}.home-description{font-size:13px;line-height:1.9;color:#7c866d;padding:12px 15px;background:#efefdf;border-radius:13px}.occupied-note{font-size:12px;color:#ab855d}.kitchen-intro{display:flex;gap:16px;align-items:center;margin-bottom:18px}.kitchen-intro>span{width:62px;height:62px;background:#e6ead6;border-radius:20px;display:grid;place-items:center;color:#91a475}.kitchen-intro svg{width:29px;height:29px}.kitchen-intro strong{font-size:17px}.kitchen-intro p{font-size:12px;line-height:1.7;margin:7px 0 0;color:#91957e}.modal[data-page=kitchen]{width:min(780px,calc(100% - 24px))}.recipe-list{display:grid;gap:12px}.home-recipe{display:flex;gap:16px;padding:16px;background:#fffdf5;border:1px solid #e6e2d2;border-radius:18px;margin:0}.recipe-art{width:95px;height:100px;flex:none;align-self:center;border-radius:15px;background:#f2ecdf}.recipe-art>svg{width:100%;height:100%}.recipe-copy{flex:1;min-width:0}.recipe-copy>strong{font-size:14px}.recipe-copy>small{display:block;color:#929681;font-size:11px;line-height:1.7;margin-top:5px}.recipe-needs{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.recipe-needs>span{font-size:10px;background:#eaf0df;color:#718361;border-radius:7px;padding:5px 7px}.recipe-needs>span.missing{background:#f4e8df;color:#b28a70}.recipe-needs b{margin-left:4px}.recipe-controls{display:flex;gap:8px}.recipe-controls .quantity{width:60px;padding:7px}.recipe-controls button{font-size:11px;padding:9px 14px}.walker[data-pose=sleep] .character-art{animation:none;transform:scaleX(var(--pose-mirror,1)) rotate(var(--rest-angle,-75deg)) translateX(10px);transform-origin:50% 70%;height:80px}.walker[data-pose=sit] .character-art,.walker[data-pose=read] .character-art{animation:none;height:72px}.walker[data-pose=cook] .character-art,.walker[data-pose=wash] .character-art{animation:home-work 1.2s ease-in-out infinite}.walker[data-pose=music] .character-art{animation:home-music 1.3s ease-in-out infinite}.player[data-pose]:not([data-pose=""])::before,.pose-bubble{content:attr(data-pose-label);position:absolute;top:-15px;left:50%;transform:translateX(-50%);white-space:nowrap;border-radius:12px;background:#fff9e6;color:#718368;padding:5px 10px;font-size:11px;box-shadow:0 3px 10px #5b694528}.walker[data-pose=sleep] .nameplate{margin-top:8px}.world-furniture[data-use=light]>svg{filter:drop-shadow(0 0 8px #fce6ab66)}@keyframes home-work{50%{transform:translateY(-3px) rotate(4deg)}}@keyframes home-music{50%{transform:rotate(-5deg)}}.world-furniture[data-use=watch] .little-critter{animation:critter 4s ease-in-out infinite}@keyframes critter{50%{transform:translateX(12px)}}
@media(max-width:800px){.living-panel{left:16px;bottom:119px;width:240px;padding:11px}.living-panel .energy-line strong{font-size:11px}.living-hint{font-size:9px}.home-activity,.cooking-status{margin-top:8px;padding-top:8px}.recipe-art{width:70px;height:80px}.home-recipe{padding:12px;gap:11px}.recipe-copy>strong{font-size:13px}.recipe-copy>small{font-size:10px}.recipe-needs>span{font-size:9px}.recipe-controls button{font-size:10px}.kitchen-intro strong{font-size:15px}}
@media(max-width:480px){.living-panel{bottom:115px;left:12px;width:min(280px,calc(100% - 24px))}.stage[data-scene=home]:not([data-editing=true]) .chat-card{bottom:285px}.stage[data-scene=home] .world{top:44%}.stage[data-scene=home][data-editing=true] .world{top:36%}.home-recipe{align-items:flex-start;flex-wrap:wrap}.recipe-art{width:62px;height:70px}.recipe-copy>small{line-height:1.6}.recipe-controls .quantity{width:50px}.furniture-hero>svg{width:140px;height:140px}}
@media(prefers-reduced-motion:reduce){.walker[data-pose] .character-art,.world-furniture .little-critter{animation:none}}

/* Moving water stays beneath world lighting, actors and all pointer interactions. */
.world-water{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.world-water[hidden]{display:none}
.stage[data-scene=riverside] .world{width:2304px;height:1536px}
.cosmetic-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.welcome-avatar{position:sticky;top:-1px;z-index:2;background:#fbf9efed;backdrop-filter:blur(8px);padding:8px;border-radius:20px}.welcome-avatar .portrait{width:110px;height:130px}.welcome-avatar small{display:block;text-align:center;color:#849079;font-size:11px;margin-top:3px}.exterior-preview{display:grid;place-items:center;background:radial-gradient(ellipse at 50% 85%,#dce5c8,transparent 65%),#f1f0df;border-radius:24px;margin:12px 0 20px}.exterior-preview>svg{width:280px;height:235px;max-width:100%}.resident-house{width:285px;height:238px;transform:translate(-50%,-91%)}.resident-house:active{transform:translate(-50%,-91%)!important}.resident-house .house-address{left:50%}
.farm-cell{min-width:0;display:flex;flex-direction:column;gap:5px}.farm-cell .plot{width:100%;flex:1;min-height:116px}.plot-water{display:flex;align-items:center;justify-content:center;gap:4px;padding:11px 3px;border-radius:10px;font-size:11px;background:#dce9e2;color:#436f65;min-height:42px}.plot-water svg{width:17px;height:17px}.plot-water.needs-water{background:#e5f3ef;border:1px solid #8bb9ac;box-shadow:0 2px 0 #719a8b30;font-weight:700}.plot-water:disabled{background:#e1e3d2;color:#8a927c;opacity:1;cursor:default}#water-all{margin-bottom:14px}.world-crop:not(.ready) .water-needed{display:block;font-size:10px;border-radius:9px;background:#e1f1ed;color:#426f67;padding:3px 6px}.camp-fire{position:absolute;transform:translate(-50%,-85%);width:148px;height:148px;z-index:74;pointer-events:none;filter:drop-shadow(0 0 12px #ffcc6870)}.camp-fire svg{width:100%;height:100%}.camp-light{position:absolute;width:420px;height:280px;border-radius:50%;background:radial-gradient(ellipse,#ffd17980,#ffaa4230 42%,transparent 70%);transform:translate(-50%,-50%);z-index:3;pointer-events:none;opacity:.25;mix-blend-mode:screen}.stage[data-time=night] .camp-light{opacity:1}.stage[data-time=night] .camp-fire{filter:drop-shadow(0 0 25px #ffb85dcc)}.camp-seat{position:absolute;transform:translate(-50%,-63%);width:82px;height:57px;padding:0;background:transparent;cursor:pointer}.camp-seat:active{transform:translate(-50%,-63%)!important}.camp-seat svg{width:100%;height:100%}.camp-seat>span{position:absolute;left:50%;top:88%;transform:translateX(-50%);white-space:nowrap;font-size:10px;background:#fff4d9e8;color:#755c42;border-radius:9px;padding:4px 7px}.camp-seat.occupied{opacity:1}.camp-seat.occupied>span{display:none}.camp-seat:hover:not(:disabled){filter:brightness(1.15)}.camp-hero{background:#eee2cb;border-radius:22px;text-align:center;padding:12px}.camp-hero svg{width:120px;height:120px;display:block;margin:auto}.camp-hero>span{font-size:10px;letter-spacing:.2em;color:#9e7d58}.camp-seat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.camp-seat-grid small{display:block;font-size:10px;margin-top:6px}.camp-chat{width:min(440px,calc(100% - 32px));background:#fff7e9f2;border-color:#d6b789}.camp-chat .chat-heading{border-color:#e5d1af}.camp-chat .chat-heading i{background:#e4a451;box-shadow:0 0 10px #e9ad7a}.camp-chat .chat-lines{height:190px;max-height:24dvh}.camp-chat .chat-heading small{font-size:10px;color:#ad8055}.chat-heading b{font:inherit}#camp-chat-footer{padding:7px 12px;border-top:1px solid #eadbc5;font-size:10px;color:#8a795d}#camp-chat-footer[hidden]{display:none}#camp-members{margin:0 0 7px;max-height:34px;overflow:auto;line-height:1.6}#camp-chat-footer button{font-size:11px;padding:7px 10px}.fire-flame{transform-origin:50% 80%;animation:camp-flame 1.1s ease-in-out infinite alternate}.fire-sparks{animation:camp-sparks 2.3s ease-out infinite}@keyframes camp-flame{to{transform:scale(.92,1.08) rotate(2deg)}}@keyframes camp-sparks{to{transform:translate(8px,-18px);opacity:0}}@media(prefers-reduced-motion:reduce){.fire-flame,.fire-sparks{animation:none}}@media(max-width:600px){.cosmetic-grid{gap:0 10px}.cosmetic-grid .field{font-size:12px}.cosmetic-grid select{padding:11px 7px;min-width:0}.welcome-avatar .portrait{width:86px;height:100px}.farm-grid{padding:9px;gap:7px}.farm-cell .plot{min-height:104px}.plot-water{font-size:10px}.camp-chat{right:12px;bottom:101px;width:calc(100% - 24px);max-width:none!important}.camp-chat .chat-lines{height:130px;max-height:20dvh}.camp-chat #chat-form{display:flex}.camp-chat .chat-heading{padding:10px 12px}.stage[data-scene=riverside] .profile-card{max-width:195px}.exterior-preview>svg{width:235px;height:195px}}

.yard-house{position:absolute;left:40%;top:29%;width:430px;height:358px;transform:translate(-50%,-86.8%);background:transparent;padding:0;z-index:38}.yard-house:active{transform:translate(-50%,-86.8%)!important}.yard-house>svg{width:100%;height:100%}
.stage[data-time=night][data-scene=riverside]{background:#263d33}.stage[data-time=sunset][data-scene=riverside]{background:#8d9162}.stage[data-scene=riverside]:has(.camp-chat) .activity-pin[data-stop=camp]{display:none}@media(max-width:600px){.camp-chat #camp-chat-footer{display:flex;gap:8px;align-items:center;justify-content:space-between}.camp-chat #camp-members{margin:0;flex:1}.camp-chat .chat-lines{height:110px}.camp-chat #camp-chat-footer button{flex:none}.camp-chat .chat-content form{padding-top:8px;padding-bottom:8px}}

/* Four-way placement controls remain reachable on narrow screens. */
.decor-toolbar{max-height:42dvh;overflow-y:auto;overscroll-behavior:contain}
.decor-toolbar [data-action^="furniture-rotate-"]{background:#e0ead7;color:#425d3f;font-weight:750}
.decor-toolbar button:disabled{opacity:.4;cursor:default}
#decor-info{min-height:2.6em;line-height:1.5}
@media(max-width:600px){.decor-toolbar{bottom:110px;padding:10px 12px}.decor-actions button{padding:8px 9px;min-height:36px}.decor-nudge{margin:6px 0}.decor-toolbar small{margin:5px}}

/* Announcement actions stay legible on small phones. */
.notice-mail-actions{flex-wrap:wrap}.notice-mail-actions>[data-notice-send]{flex-basis:100%;white-space:normal;word-break:keep-all}

/* The existing front door is a touch target, without an extra map bubble. */
.home-exit-door{position:absolute;width:64px;height:164px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;pointer-events:auto;cursor:pointer;clip-path:polygon(0 0,100% 20.1%,100% 100%,0 79.9%);z-index:220;touch-action:manipulation}.home-exit-door:hover,.home-exit-door:focus-visible{background:#e9cf8150;outline:3px solid #d4b264;outline-offset:0}.home-exit-door:active{background:#e9cf8170;transform:none}
