/* Whole-area gathering view; wardrobe, economy and audio remain independent. */
.world{height:clamp(340px,55vw,560px);background:url('assets/forest.png') center/100% 100%;border-color:#a2cf9e;border-radius:18px}
.world:after{display:none}
.world .scene{inset:0;height:100%;width:100%}
.world .sign{font-size:.85rem;padding:7px 12px;top:12px;left:12px}
.scene canvas#hero{left:44%;bottom:37%;width:72px;height:96px;pointer-events:none}
.world .dress-up{top:14px;right:12px}
.world .house{right:auto;left:50%;transform:translateX(-50%);bottom:67%;font-size:54px;pointer-events:none}
.world .field-hint{bottom:10px;top:auto;max-width:70%;overflow:hidden;text-overflow:ellipsis;left:10px;transform:none;font-size:.65rem}
.world .sound-toggles{right:8px;bottom:8px}
@media(max-width:520px){.world{height:400px}.scene canvas#hero{width:57px;height:76px;left:44%;bottom:39%}.world .house{font-size:40px}.world .field-hint{max-width:52%}}

/* Movement stays in the compositor; left/top no longer change every frame. */
.world .scene canvas#hero{left:0;top:0;bottom:auto;will-change:transform;z-index:3}
