/* Art remains the saved PNG look; only registered body joints move. Feet never inherit an idle float. */
#player-art,#player.walking #player-art{animation:none;translate:none;rotate:none}
.paper-character,.paper-character.watering{transform:translateY(var(--sink,0px));transform-origin:50% 97%}
.rig-joint,.rig-torso,.rig-head{display:block;position:absolute;inset:0;pointer-events:none}
.rig-torso{transform-origin:50% 72%;transform:translateY(var(--hip,0px)) rotate(var(--torso,0deg))}
.rig-head{transform-origin:50% 34%;transform:rotate(var(--head,0deg))}
.arm-left{transform:rotate(var(--arm-l,0deg))}.arm-right{transform:rotate(var(--arm-r,0deg))}
.leg-left{transform:rotate(var(--leg-l,0deg))}.leg-right{transform:rotate(var(--leg-r,0deg))}
.shin-left{transform:rotate(var(--knee-l,0deg))}.shin-right{transform:rotate(var(--knee-r,0deg))}
.paper-character .paper-water{display:none;animation:none;transform:rotate(var(--can,0deg));transform-origin:27% 9%}
.paper-character[data-motion*="water"] .paper-water{display:block}
#player-state{position:absolute;left:50%;top:-30px;transform:translateX(-50%);background:#315c7be8;color:#fff9e9;white-space:nowrap;padding:6px 12px;border-radius:16px;font-size:11px;line-height:1.5}
#farm-tools{width:min(390px,calc(100vw - 24px));transition:opacity .15s;touch-action:manipulation}
.tool-title>button{min-width:44px;min-height:44px}.tool-buttons button{border-radius:17px;min-height:70px;min-width:70px;touch-action:manipulation}
.tool-buttons button:not(:disabled):active{background:#cee1eb;transform:scale(.96)}
.tool-status{font-size:11px;min-height:18px;line-height:1.6;margin:2px 6px 0;color:#426d86}
.field{touch-action:none}.field.selected{filter:drop-shadow(0 0 5px #fff1a8)}.field.selected .plot-label{display:flex;background:#e2f2f9;border-color:#4d8cac;box-shadow:0 0 0 2px #fff9edaa}
.camera-controls button{width:46px;height:46px;min-width:44px;min-height:44px}
#world-effects{position:absolute;inset:0;z-index:12;pointer-events:none}.care-effect{position:absolute;transform:translate(-50%,-100%);width:130px;height:130px}
.care-effect .crop-art{position:absolute;width:72px;height:auto;left:18px;bottom:5px;animation:harvest-to-bag 1.3s ease-in-out forwards;transform-origin:50% 100%}
.care-effect>b{position:absolute;left:50%;top:0;white-space:nowrap;background:#fff7dbed;color:#486947;border-radius:18px;padding:6px 11px;font-size:12px;animation:care-result 1.5s ease-out forwards}
.care-effect.water{transform:none;width:100px;height:80px}.care-effect.water>span{position:absolute;width:11px;height:18px;left:0;top:0;animation:pour-drop .6s ease-in infinite;animation-delay:calc(var(--i)*-.13s);opacity:0}
.care-effect.water>span .sprite-window{width:100%;height:100%}
.care-effect.water>b{top:70%;font-size:11px;background:#e4f4ffef;color:#2e698b}
.walk-mark{position:absolute;transform:translate(-50%,-50%);width:35px;height:35px;animation:walk-arrival .65s ease-out forwards}.walk-mark .ui-icon{width:100%;height:100%;filter:brightness(0) invert(1);opacity:.85}
@keyframes harvest-to-bag{0%{transform:translate(-20px,15px) scale(1);opacity:1}40%{transform:translate(10px,-50px) rotate(-12deg) scale(.88);opacity:1}100%{transform:translate(100px,-15px) rotate(15deg) scale(.2);opacity:0}}
@keyframes care-result{0%{translate:-50% 12px;opacity:0}15%,70%{translate:-50% 0;opacity:1}100%{translate:-50% -22px;opacity:0}}
@keyframes pour-drop{0%{translate:0 -5px;rotate:-14deg;opacity:0}15%{opacity:1}100%{translate:32px 46px;rotate:12deg;opacity:0}}
@keyframes walk-arrival{from{scale:.6;opacity:.8}to{scale:1.4;opacity:0}}
@media(max-width:1100px),(pointer:coarse){#farm-tools{top:150px!important;bottom:auto!important;transform:none;width:min(350px,calc(100vw - 24px));max-height:38dvh;overflow:auto;padding:10px 14px}.tool-title{font-size:13px}.tool-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.tool-buttons button{min-width:0;min-height:64px;font-size:11px}.tool-note{font-size:10px;line-height:1.5}.tool-status{font-size:11px}body.care-open .dock-cta{visibility:hidden}#farm-tools .tool-buttons:has(>button:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){#farm-tools{left:50%!important;transform:translateX(-50%);width:calc(100vw - 24px);top:145px!important;bottom:auto!important;padding:8px 11px;max-height:35dvh}.tool-title{font-size:12px}.tool-buttons button{min-height:60px;font-size:10px}.tool-buttons img{width:25px;height:25px}.tool-status{font-size:10px}.tool-note{font-size:9px}.passport button{min-height:44px}.secondary-actions button{min-height:44px}#player-state{font-size:10px}}
@media(prefers-reduced-motion:reduce){.care-effect .crop-art,.care-effect>b,.care-effect.water>span,.walk-mark{animation:none}.care-effect.water>span,.walk-mark{display:none}.care-effect .crop-art{transform:scale(.65)}.care-effect>b{transform:translateX(-50%)}}

body.care-open .mail-notice{visibility:hidden}

#world{-webkit-user-select:none;-webkit-touch-callout:none;overscroll-behavior:none}#farm-tools{touch-action:pan-y}

#player .rig-joint,#player .rig-torso,#player .rig-head{will-change:transform}
