.town-exploration{padding-top:12px;color:#304c3d}.town-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:21px}.town-kicker{display:block;font-size:10px!important;font-weight:650;letter-spacing:1.4px!important;color:#88998a;margin-bottom:7px}.town-heading h1,.town-room-welcome h1{font-size:25px;font-weight:650;letter-spacing:-.4px!important;line-height:1.3}.town-heading p,.town-room-welcome p{font-size:12px;color:#849084;margin:8px 0 0}.town-starlight{display:flex;align-items:center;gap:7px;justify-content:center;min-height:44px;min-width:60px;border:1px solid #eadfbb;border-radius:100px;background:#fbf6e7;color:#8f763f;padding:9px 12px}.town-starlight strong{font-size:13px}.town-map-scroll{overflow-x:auto;overflow-y:hidden;border-radius:18px;border:1px solid #d4dfc9;background:#d9e5c8;scrollbar-width:thin;scrollbar-color:#a9b99a transparent;overscroll-behavior-x:contain;scroll-behavior:auto;touch-action:pan-x pan-y;isolation:isolate}.town-map-scroll:focus-visible{outline:3px solid #91b39c;outline-offset:4px}.town-map-world{position:relative;width:100%;min-width:660px;aspect-ratio:3/2;isolation:isolate}.town-landscape{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;display:block;image-rendering:pixelated;user-select:none;pointer-events:none}.town-door{position:absolute;z-index:5;left:var(--door-x);top:var(--door-y);width:64px;height:66px;transform:translate(-50%,-65%);border:0!important;background:transparent!important;border-radius:12px;display:grid;place-items:end center;cursor:pointer;padding:7px}.town-door-glow{position:absolute;bottom:8px;width:38px;height:11px;background:#fff6b54d;box-shadow:0 0 19px 7px #fff5a231;border:1px solid #fff5ce77;border-radius:50%;transform:rotate(-6deg);transition:background .2s,box-shadow .2s}.town-door-dot{width:5px;height:5px;background:#fff5c8;border-radius:50%;box-shadow:0 0 9px #fff6b4;position:absolute;bottom:14px;animation:town-door-light 3s ease-in-out infinite}.town-door:hover .town-door-glow,.town-door:focus-visible .town-door-glow,.town-door.is-destination .town-door-glow{background:#ffefb4c9;box-shadow:0 0 16px 8px #fff1a875}.town-door:focus-visible{outline:2px solid #fff7d2!important;outline-offset:2px}.town-place-label{position:absolute;z-index:6;transform:translate(-50%,-50%);display:flex;align-items:center;gap:3px;min-height:44px;padding:5px 9px;border:0;background:transparent;color:#324331;font-size:12px;white-space:nowrap;font-weight:600;cursor:pointer;text-shadow:0 1px 3px #fff9df,0 0 7px #fff9df}.town-place-label>span{padding:4px 6px;border:1px solid #fff7dfa8;border-radius:6px;background:#fbf5dfc7;box-shadow:0 2px 4px #45513914}.town-place-label>svg{width:12px;height:12px;background:#fff5dcbb;border-radius:50%;box-sizing:content-box;padding:2px}.town-place-label:hover>span,.town-place-label:focus-visible>span{background:#fff8df}.town-place-label:focus-visible{outline:2px solid #fff7d2;outline-offset:-4px;border-radius:7px}.town-player{position:absolute;z-index:8;width:54px;height:68px;transform:translate(-50%,-87%);pointer-events:none;will-change:left,top}.town-player-shadow{position:absolute;left:14%;bottom:5px;width:72%;height:9px;border-radius:50%;background:#29463136;filter:blur(1px)}.town-player-body{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;transform-origin:50% 100%}.town-player-body .map-character,.town-player-body .map-sprite{--map-character-size:54px;--character-width:54px;width:54px!important}.town-walking{animation:var(--town-walk-name) var(--town-walk-duration) linear forwards}.town-walking .town-player-body{animation:town-footstep .24s steps(2,end) infinite}.town-player-fallback{position:relative;display:block;width:27px;height:40px;background:linear-gradient(#5d7852 0 10px,#eac398 10px 22px,#476c5a 22px 34px,#6a5946 34px);clip-path:polygon(20% 0,80% 0,80% 10%,100% 10%,100% 70%,80% 70%,80% 100%,58% 100%,58% 85%,42% 85%,42% 100%,20% 100%,20% 70%,0 70%,0 10%,20% 10%)}.town-player-fallback i{position:absolute;top:16px;left:7px;width:3px;height:3px;background:#39483a;box-shadow:10px 0 #39483a}.town-firefly{position:absolute;width:3px;height:3px;background:#fffbc2;box-shadow:0 0 7px 2px #fff5b1b0;z-index:2;pointer-events:none;animation:town-firefly 6s ease-in-out infinite}.town-firefly-one{left:46%;top:43%}.town-firefly-two{left:86%;top:81%;animation-delay:-3s}.town-water-shimmer{display:none}.town-map-caption{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:10px;color:#93a08f;margin-top:11px;min-height:23px}.town-map-caption>span{display:flex;align-items:center;gap:4px}.town-local-state{color:#7d8f7b;font-size:9px;white-space:nowrap}.town-destination-dock{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:11px 3px 17px;border-bottom:1px solid #edf0e6;margin-bottom:20px}.town-destination-dock button{flex:1;min-height:46px;display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;color:#5a705b;font-size:12px;border-radius:10px}.town-destination-dock button:hover,.town-destination-dock button:focus-visible,.town-destination-dock button[aria-current=true]{background:#edf3e6;color:#2e543f}.town-objective{padding:19px 16px;display:flex;align-items:flex-start;gap:11px;border:1px solid #e5ebdc;border-radius:15px;background:#fbfcf8;margin:0 0 20px}.town-objective-symbol{flex:0 0 35px;height:35px;border-radius:10px;display:grid;place-items:center;background:#edf3e3;color:#6f8a5e}.town-objective-copy{flex:1;min-width:0}.town-objective small{display:block;color:#8b9b7d;font-size:10px;margin:0 0 5px}.town-objective h2{font-size:14px;font-weight:650;line-height:1.5;margin:0}.town-objective p{font-size:11px;line-height:1.8;color:#84917e;margin:5px 0 0}.town-objective-action{align-self:center;display:flex;gap:4px;align-items:center;justify-content:center;padding:9px 0 9px 6px;min-height:44px;white-space:nowrap;background:transparent;border:0;color:#57724c;font-size:12px}.town-growth-track{width:90px;height:3px;border-radius:5px;background:#e6eddc;overflow:hidden;margin-top:11px}.town-growth-track span{display:block;height:100%;background:#8ba774}.town-objective.is-complete{flex-wrap:wrap}.town-growth-details{border-top:1px solid #eaf0e4;padding:5px 0 12px}.town-growth-details summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;cursor:pointer;color:#809074;font-size:12px;list-style:none}.town-growth-details summary>span{display:flex;align-items:center;gap:8px;color:#a0ac97;font-size:10px}.town-growth-details summary::-webkit-details-marker{display:none}.town-growth-details[open] summary svg{transform:rotate(90deg)}.town-growth-details ol{list-style:none;padding:0;margin:5px 0 13px}.town-growth-details li{display:flex;gap:11px;align-items:center;padding:13px 0;border-top:1px solid #eff2e9}.town-growth-details li>span{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;border-radius:50%;color:#819a72;background:#edf3e7}.town-growth-details li>div{flex:1}.town-growth-details strong{display:block;font-size:12px;font-weight:550}.town-growth-details small{font-size:10px;color:#94a089;display:block;margin-top:3px}.town-growth-details .is-later{color:#99a490}.town-growth-details .is-later>span{background:#f2f5ec;color:#acb7a5}.town-growth-details p{font-size:11px;line-height:1.8;color:#8d9a83}.town-growth-details .quiet-link{font-size:10px;max-width:110px}.town-room{padding:2px 0 25px}.town-room-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px;min-height:44px}.town-room-heading>span{display:flex;align-items:center;gap:6px;font-size:11px;color:#8b987e}.town-back{display:flex;align-items:center;gap:7px;min-height:44px;border:0;background:transparent;color:#6f8369;padding:4px 4px 4px 0;font-size:12px}.town-back>svg{transform:rotate(180deg)}.town-room-art{width:100%;aspect-ratio:3/2;border-radius:17px;background-color:#e0d2b2;background-image:url('./assets/v5/rooms.png');background-repeat:no-repeat;background-size:200% 200%;image-rendering:pixelated;box-shadow:inset 0 0 0 1px #474d3d0c}.town-room-art.room-0{background-position:0 0}.town-room-art.room-1{background-position:100% 0}.town-room-art.room-2{background-position:0 100%}.town-room-art.room-3{background-position:100% 100%}.town-room-welcome{padding:24px 0 16px}.town-room-welcome .town-kicker{font-size:9px!important}.town-room-welcome h1{font-size:23px}.town-room-welcome p{font-size:12px;line-height:1.7}.town-room-stats{display:flex;gap:15px;padding:16px 0 21px;border-bottom:1px solid #edf0e7}.town-room-stats>div{flex:1;display:flex;flex-direction:column;gap:4px}.town-room-stats strong{font-size:22px;font-weight:550;color:#4e6a4c}.town-room-stats small{font-size:10px;color:#94a089;line-height:1.6}.town-room-links{display:grid;margin:7px 0 16px}.town-room-link{display:flex;align-items:center;gap:12px;padding:17px 0;min-height:82px;text-align:left;border:0;border-bottom:1px solid #eef1e9;background:transparent;color:#3a533f}.town-room-link>span:nth-child(2){flex:1;min-width:0}.town-room-link>svg{color:#9daa93}.town-room-link-icon{display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;background:#f0f4e9;border-radius:12px;color:#6c8861}.town-room-link strong{display:block;font-size:14px;font-weight:600}.town-room-link small{display:block;font-size:11px;color:#8b9982;line-height:1.65;margin-top:6px}.town-room-link:hover .town-room-link-icon{background:#e2edda}.town-boss-entry{display:flex;gap:12px;align-items:center;min-height:90px;padding:18px 15px;background:#fbf6e9;border:1px solid #eee4cb;border-radius:14px;color:#89724c;text-align:left;width:100%}.town-boss-entry>div{flex:1}.town-boss-entry small{display:block;font-size:10px;color:#a48f63;margin-bottom:5px}.town-boss-entry strong{font-size:13px;font-weight:600}.town-room-footnote{font-size:10px;line-height:1.7;color:#a2ad99}.town-room .town-objective{margin-top:9px}.town-room button:focus-visible,.town-destination-dock button:focus-visible,.town-objective-action:focus-visible{outline:2px solid #729b6a;outline-offset:3px}.town-room button:active,.town-destination-dock button:active{transform:translateY(1px)}
@keyframes town-footstep{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes town-door-light{0%,100%{opacity:.5}50%{opacity:1}}@keyframes town-firefly{0%,100%{opacity:0;transform:translate(0,0)}35%{opacity:.85}60%{transform:translate(12px,-8px);opacity:.4}}
@media(max-width:359px){.town-heading h1{font-size:23px}.town-map-world{min-width:610px}.town-map-caption{font-size:9px}.town-local-state{display:none}.town-destination-dock button{gap:5px;font-size:11px}.town-objective{padding:15px 11px;gap:8px}.town-objective-symbol{flex-basis:29px;width:29px;height:29px}.town-objective h2{font-size:13px}.town-objective p{font-size:10px}.town-room-link small{font-size:10px}.town-room-heading>span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.town-player,.town-player-body,.town-firefly,.town-door-dot{animation:none!important}.town-map-scroll{scroll-behavior:auto}.town-firefly{display:none}}body[data-reduced-motion="true"] .town-player,body[data-reduced-motion="true"] .town-player-body,body[data-reduced-motion="true"] .town-firefly,body[data-reduced-motion="true"] .town-door-dot{animation:none!important}body[data-reduced-motion="true"] .town-map-scroll{scroll-behavior:auto}
.town-room-art{position:relative;overflow:hidden}.town-room-visitor{position:absolute;left:50%;top:85%;width:42px;height:56px;transform:translate(-50%,-100%);display:flex;align-items:flex-end;justify-content:center}.town-room-visitor:after{content:"";position:absolute;bottom:0;left:6px;right:6px;height:6px;background:#25291933;border-radius:50%;filter:blur(1px);z-index:0}.town-room-visitor>span{position:relative;z-index:1;--map-character-size:42px;--character-width:42px}.scene-guild .town-room-visitor{left:48%;top:88%}.scene-workshop .town-room-visitor{left:43%;top:85%}.scene-square .town-room-visitor{left:49%;top:84%}
.town-door{transform:translate(-50%,-100%);padding:0}.town-door.door-bounty{width:22%;height:28%}.town-door.door-guild{width:32%;height:32%}.town-door.door-workshop{width:29%;height:28%}.town-door.door-square{width:29%;height:25%}.town-door-glow{bottom:-4px}.town-door-dot{bottom:0}
