.farm-fishing-layer{position:absolute;inset:0;pointer-events:none;z-index:14}.farm-fish-shadow{position:absolute;border:1px solid #c7e1d66b;border-radius:50%;background:#b1d8d122;color:#fbf3dc;pointer-events:auto;min-width:44px;min-height:44px;padding:0;cursor:pointer;touch-action:manipulation;filter:drop-shadow(0 1px 2px #244e55)}.farm-fish-shadow svg{width:100%;height:100%;animation:fish-shadow-sway 3s ease-in-out infinite}.farm-fish-shadow span{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);font:600 9px system-ui;background:#3f6665e8;border-radius:8px;padding:1px 5px;white-space:nowrap}.farm-fish-shadow:focus-visible{outline:3px solid #f6d277;outline-offset:3px}.farm-fish-shadow:disabled{opacity:.55;cursor:default}.farm-fishing-cast{position:absolute;pointer-events:none;filter:drop-shadow(0 2px 2px #33505255)}.farm-fishing-cast>svg{width:100%;height:100%}.farm-fishing-caption{position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#fff3d9ee;color:#5c6152;padding:4px 9px;border-radius:10px;font:600 11px system-ui}.fishing-cast-rod{transform-origin:24px 136px;animation:fish-rod-tug .65s ease-in-out infinite alternate}.farm-fishing-cast[data-phase=cast] .fishing-cast-rod{animation:fish-cast .85s ease-out}.fishing-underwater{animation:fish-shadow-sway .45s ease-in-out infinite alternate}.fishing-water-rings{animation:fish-rings .9s ease-out infinite}.farm-fishing-sheet{position:absolute;inset:0;z-index:110;background:#24434777;display:grid;place-items:center;padding:16px;backdrop-filter:blur(3px)}.farm-fishing-sheet[hidden],.farm-fishing-cast[hidden]{display:none}.farm-catch-card{width:min(330px,100%);max-height:calc(100% - 12px);overflow:auto;padding:22px;border:2px solid #dec69e;border-radius:24px;background:linear-gradient(160deg,#fff9e9,#e4f0e8);color:#4c5d53;text-align:center;box-shadow:0 14px 48px #173d4966;animation:fish-card-in .4s ease-out}.farm-catch-card h3{font-size:22px;margin:4px 0 12px}.farm-catch-card p{font-size:14px;line-height:1.5}.farm-catch-art{height:120px;margin:8px 0}.farm-catch-art svg{width:100%;height:100%;filter:drop-shadow(0 6px 5px #50656533)}.farm-catch-value{display:block;margin:14px 0}.farm-catch-card[data-rarity=rare]{border-color:#83a6bf}.farm-catch-card[data-rarity=epic]{border-color:#b194d0}.farm-catch-card[data-rarity=legendary]{border-color:#d0b24f;background:linear-gradient(150deg,#fff2b9,#faf6ea)}.farm-catch-card[data-rarity=prismatic]{border-color:#b39dcc;background:linear-gradient(120deg,#f6dce5,#e2e0f9,#d1eee5,#f9e8bb);box-shadow:0 0 35px #e6ddaf,0 14px 48px #173d4966}.farm-fish-pull,.farm-fish-escape{position:absolute;pointer-events:none;animation:fish-pull .9s ease-out forwards}.farm-fish-escape{animation:fish-escape .9s ease-in forwards}.farm-cat-station.farm-angler-boat{width:calc(var(--farm-cell,48px)*1.8);z-index:12}.fishing-boat-body{transform-origin:90px 150px;animation:fish-boat-rock 4.2s ease-in-out infinite alternate}.fishing-rod{transform-origin:112px 120px}.cat-fishing-tug .fishing-rod{animation:fish-rod-tug .65s ease-in-out infinite alternate}.cat-action-fish .fishing-rod{animation:fish-rod-tug .4s ease-in-out 3}.farm-fish-guide{padding:12px;border-radius:12px;background:#edf3e6;margin:8px 0}.farm-inventory-art.fish-art{width:60px;height:52px}.farm-fishing-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.farm-fishing-catalog article{border:1px solid #d3dec9;padding:8px;border-radius:12px;text-align:center}.farm-fishing-catalog svg{height:65px;width:100%}
@keyframes fish-shadow-sway{50%{transform:translate(3px,-2px) rotate(5deg)}}@keyframes fish-rod-tug{to{transform:rotate(7deg)}}@keyframes fish-cast{from{transform:rotate(-60deg)}to{transform:rotate(0)}}@keyframes fish-rings{from{opacity:.85;transform:translate(15px,17px) scale(.88)}to{opacity:.1;transform:translate(-9px,-9px) scale(1.06)}}@keyframes fish-boat-rock{to{transform:translateY(3px) rotate(2deg)}}@keyframes fish-card-in{from{opacity:0;transform:translateY(12px) scale(.92)}}@keyframes fish-pull{to{transform:translateY(-65px) rotate(-18deg);opacity:0}}@keyframes fish-escape{to{transform:translate(45px,25px) scale(.4);opacity:0}}
@media(prefers-reduced-motion:reduce){.farm-fishing-layer *,.farm-angler-boat *,.farm-catch-card{animation:none!important}}.game-pref-reduced .farm-fishing-layer *,.game-pref-reduced .farm-angler-boat *,.game-pref-reduced .farm-catch-card{animation:none!important}

.farm-boat-art,.farm-boat-art>svg{display:block;width:100%;height:100%}.cat-action-escape .fishing-rod{animation:fish-cast .7s ease-out}.cat-action-escape .fishing-boat-body{animation:fish-boat-rock .5s ease-in-out 2}

.farm-fishing-active .farm-ui-tooltip{display:none!important}.farm-catch-close,.farm-fish-sell,.farm-fish-deliver{min-height:44px}.fishing-boat-catch{animation:fish-pull .9s ease-out forwards}

.farm-fishing-offscreen,.farm-fishing-offscreen *,.farm-fishing-inactive .farm-angler-boat *,.farm-fishing-inactive .farm-fishing-layer *{animation-play-state:paused!important}
