:root{--town-paper:#fff8e9;--town-ink:#294f50;--town-border:#8fa89b;--town-radius:9px}
.world-shell :is(aside,section,[role=status],button,select,textarea){box-sizing:border-box}
.world-shell :is(aside,[role=status]){overflow-wrap:anywhere;word-break:normal}
.world-shell :is(aside,section) p{white-space:normal}
.world-shell button{white-space:normal}
.town-toolbar{gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:min(840px,calc(100vw - 255px))}
.town-toolbar button{font-size:12px;padding:9px 11px;border-radius:8px}
.town-toolbar kbd{font-size:10px}
.town-activity-visible .world-top,.town-activity-visible .madrid-clock{visibility:hidden;pointer-events:none}
.place-tag{opacity:0;transition:opacity .16s;pointer-events:none;max-width:280px;top:72px;white-space:normal;line-height:1.4}
.town-place-reveal .place-tag{opacity:1}
.world-toast{display:none!important}
.interaction{background:#285f56f5;color:#fff8df;border:1px solid #d5dfc4;border-radius:var(--town-radius);min-width:0;max-width:300px;min-height:42px;font:600 13px/1.4 system-ui;padding:10px 14px;white-space:normal}
#interact-detail{display:none!important}.world-version{display:none}
.small-talk{position:absolute;bottom:auto;transform:none;max-width:270px;max-height:115px;overflow:auto;margin:0;padding:10px 13px;border:1px solid var(--town-border);border-radius:12px;background:var(--town-paper);color:var(--town-ink);box-shadow:0 4px 12px #203c4620;pointer-events:none;font:13px/1.4 system-ui}
.small-talk b{font-size:11px}.small-talk p{margin:5px 0 0}.small-talk small{display:none}
#mission-npc-ambient{position:absolute;right:18px;bottom:142px;z-index:12;width:min(245px,calc(100% - 36px));padding:10px 13px;border:1px solid var(--town-border);border-radius:12px;background:var(--town-paper);color:var(--town-ink);box-shadow:0 4px 12px #203c4620;pointer-events:none;font:13px/1.4 system-ui}#mission-npc-ambient b{font-size:11px}#mission-npc-ambient p{margin:5px 0 0}#mission-npc-ambient[hidden]{display:none!important}
#town-notifications{position:absolute;left:50%;transform:translateX(-50%);bottom:88px;width:min(350px,calc(100% - 32px));z-index:22;pointer-events:none}
#town-notifications p{margin:5px 0 0;padding:10px 14px;border:1px solid var(--town-border);border-left:4px solid #cbab62;border-radius:var(--town-radius);background:var(--town-paper);color:var(--town-ink);font:13px/1.4 system-ui;overflow-wrap:anywhere}
#town-notifications[data-priority="2"] p{border-left-color:#4b8675;font-weight:700}#town-notifications[data-priority="3"] p{border-left-color:#b77a42;font-weight:700}
#town-object-info{position:absolute;top:88px;left:14px;width:265px;max-height:230px;overflow:auto;z-index:13;background:var(--town-paper);color:var(--town-ink);border:1px solid var(--town-border);border-radius:var(--town-radius);padding:12px;font:13px/1.45 system-ui;pointer-events:none}
#town-object-info b{display:block;font-size:17px;margin:5px 0}#town-object-info small{font-size:10px;letter-spacing:.08em}#town-object-info p{margin:5px 0}
.town-modal-open :is(#interact,.small-talk,#town-object-info,#town-notifications,#current-activity,#mission-npc-ambient){visibility:hidden!important;pointer-events:none}
:is(#clinic-work,#clinic-patients,#outfitters-work,#outfitters-orders,#market-work,#market-orders,#delivery-work,#delivery-label,#workshop-ticket,#workshop-workbench,#dealership-hud){overscroll-behavior:contain;overflow-wrap:anywhere;border-radius:var(--town-radius)}
:is(#clinic-hud,#outfitters-hud,#market-hud,#delivery-hud,#garden-hud,#workshop-hud,#dealership-hud) button{line-height:1.35}
@media(max-width:1050px){.town-toolbar button{font-size:11px;padding:8px 9px}.town-toolbar kbd{display:none}.town-toolbar{max-width:calc(100vw - 235px)}#town-notifications{left:14px;transform:none;width:min(300px,calc(100% - 28px));bottom:88px}}
@media(max-width:800px){.town-toolbar{max-width:calc(100vw - 205px);gap:4px}.town-toolbar button{padding:7px}.place-tag{max-width:200px}.interaction{max-width:260px}.small-talk{max-width:240px}#town-object-info{top:100px;width:235px}#town-notifications{bottom:215px}}
@media(max-width:800px){#mission-npc-ambient{right:8px;bottom:280px;width:min(220px,calc(100% - 16px))}}
@media(max-width:800px){.town-has-current #mission-npc-ambient{display:none!important}.town-has-current #town-notifications{bottom:390px}}
@media(max-height:550px){#town-notifications{left:50%;transform:translateX(-50%);bottom:78px;width:min(300px,calc(100% - 24px))}}
@media(prefers-reduced-motion:reduce){.place-tag{transition:none}}
