.town-map{position:absolute;inset:102px 0 0;overflow:hidden;background:#e3edd6;color:#38584b}
.town-map>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.town-map h1{position:absolute;left:445px;top:0;width:390px;margin:12px 0;font-size:39px;text-align:center;color:#38584b;letter-spacing:-1px}
.town-map .town-place.world-location{position:absolute;width:218px;height:206px;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:24px;display:flex;gap:0;flex-direction:column;align-items:center;justify-content:flex-start;transition:transform .2s;z-index:2}
.town-map .town-place>svg{width:218px;height:173px;flex-shrink:0;filter:drop-shadow(0 5px 2px #55705718)}
.town-place span{padding:5px 15px;border-radius:16px;background:#fff8e7;box-shadow:0 3px 0 #c4c8a7;color:#35594d;font-size:21px;font-weight:900;line-height:26px;white-space:nowrap}
.town-place[data-place="islam"] span{font-size:17px}
.town-map .town-place:hover{transform:translateY(-5px)}
.town-map .town-place:active{transform:translateY(3px)}
.town-place:focus-visible,.town-visit:focus-visible,.care-room button:focus-visible{outline:5px solid #d3a649;outline-offset:3px}
.town-visit{position:absolute;left:523px;top:289px;width:234px;height:78px;z-index:4;display:flex;align-items:center;background:none}
.town-person{width:59px;height:78px;flex-shrink:0}.town-person svg{height:100%;width:100%}
.town-bubble{font-size:18px;font-weight:850;background:#fff9e9;padding:14px;border-radius:23px 23px 23px 3px;box-shadow:0 4px 0 #bad0ad}
.town-story{position:absolute;left:295px;bottom:18px;width:670px;height:70px;padding:8px 25px;border-radius:28px;display:flex;justify-content:center;align-items:center;gap:18px;background:#fff7e5;box-shadow:0 5px 0 #bdcda8;color:#456b54;font-size:27px;font-weight:850;z-index:3}
.town-story>svg{width:44px;height:44px}
.care-room{position:absolute;inset:102px 0 0;background:linear-gradient(#ede9da 0 72%,#dbbd91 72%);color:#3c5e51;overflow:hidden}
.care-room h1{text-align:center;font-size:40px;margin:16px 0}
.care-window{position:absolute;left:50px;top:65px;width:170px;height:140px;background:linear-gradient(#c1dfe4 65%,#adc998 65%);border:12px solid #fffbef;border-radius:25px}
.care-window:after{content:'';position:absolute;height:100%;width:8px;left:70px;background:#fffbef}
.care-resident{position:absolute;left:275px;top:105px;width:220px;height:290px}.care-resident svg{width:100%;height:100%}
.care-table{position:absolute;left:210px;top:340px;width:510px;height:35px;border-radius:40%;background:#bb9166;box-shadow:0 15px 0 #976e4d}
.care-table:before,.care-table:after{content:'';position:absolute;top:35px;width:24px;height:100px;background:#a9825d}.care-table:before{left:55px}.care-table:after{right:55px}
.care-plate{position:absolute;left:360px;top:263px;width:200px;height:120px;display:grid;place-items:center;pointer-events:none}.care-plate svg{max-height:145px}
.care-drink{position:absolute;left:560px;top:235px;width:135px;height:135px;border-radius:28px;background:#fff8e6;display:flex;flex-direction:column;align-items:center;font-size:20px}
.care-status{position:absolute;left:50px;top:478px;width:680px;height:52px;text-align:center;font-size:26px;font-weight:800}
.care-counter{position:absolute;left:70px;bottom:130px;width:620px;text-align:center;font-size:18px}
.care-foods{position:absolute;right:30px;top:90px;width:490px;max-height:370px;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:5px 8px 14px}
.care-foods>p{grid-column:1/-1;text-align:center;font-size:25px;padding:45px 25px;line-height:1.5;background:#fff8e9;border-radius:28px}
.care-meal{position:relative;min-height:146px;background:#fff8e8;border-radius:24px;display:flex;flex-direction:column;align-items:center;padding:8px;gap:5px;font-size:18px;font-weight:800;color:#43664d}
.care-meal b{position:absolute;right:12px;top:12px;font-size:20px}
.care-pantry{position:absolute;right:40px;bottom:124px;width:465px;min-height:73px;border-radius:20px;background:#e5eed8;display:flex;align-items:center;justify-content:center;gap:14px;padding:8px;font-size:17px}
.care-pantry button{display:flex;align-items:center;font-size:20px}.care-pantry strong{white-space:nowrap}
.care-routes{position:absolute;bottom:24px;left:220px;right:220px;display:flex;justify-content:center;gap:28px}
.care-button{height:96px;min-width:240px;padding:10px 28px;border-radius:26px;background:#f7edcf;color:#3e604e;font-size:26px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 5px 0 #bdac85}
.care-room.is-fed .care-resident{animation:town-thanks .6s ease-in-out}
.kd-garden-tag{position:absolute;left:7px;bottom:5px;right:7px;font-size:17px;padding:4px;border-radius:10px;background:#dbecc7;color:#476939;font-style:normal}
.care-serve-link{position:absolute;right:35px;top:385px;min-width:235px;height:80px;background:#668f75;border-radius:26px;color:white;font-size:26px;font-weight:850;padding:10px 25px;z-index:36;box-shadow:0 6px 0 #496d55}
.care-recipe-stock{position:absolute;left:0;right:0;top:75px;text-align:center;color:#4f7951;font-size:21px}
.speech-next{z-index:40}
@keyframes town-thanks{50%{transform:translateY(-12px) rotate(-4deg)}}
@media(prefers-reduced-motion:reduce){.care-room.is-fed .care-resident{animation:none}.town-map .town-place{transition:none}}
