/* Schnurrhavn erstrahlt · presentation only · no changes to tile geometry. */
.farm-expanded.farm-cel[data-farm-season] .farm-tile:not(.farm-tile-soil):not(.farm-tile-path){background-color:var(--farm-grass);background-image:url('/art/farm/erstrahlt/meadow.svg?v=1.64.43');background-size:calc(var(--farm-step,50px)*6) calc(var(--farm-step,50px)*6);background-position:var(--surface-x,0px) var(--surface-y,0px)}
.farm-expanded.farm-cel[data-farm-season] .farm-tile-soil{background:#886746 url('/art/farm/erstrahlt/earth.svg?v=1.64.43');background-size:calc(var(--farm-step,50px)*4) calc(var(--farm-step,50px)*4);background-position:var(--surface-x,0px) var(--surface-y,0px)}
.farm-cel .farm-tile-soil::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;border-style:solid;border-color:#58463199;border-width:var(--soil-edge-n,0px) var(--soil-edge-e,0px) var(--soil-edge-s,0px) var(--soil-edge-w,0px)}
.farm-cel .farm-tile-soil>.farm-icon{z-index:1}
.farm-cel .farm-tile-ready .farm-tile-tag{background:#fff0bd;color:#244b35;border:1px solid #685022;font-weight:800;box-shadow:0 1px 2px #283d3633}
.farm-cel .farm-tile .farm-water-mark{width:17px;height:21px;display:block;left:2px;right:auto;top:2px;font-size:0;line-height:0;filter:drop-shadow(0 1px 1px #173b3144);background:none}
.farm-cel .farm-water-mark svg{width:100%;height:100%}
/* Keep object art inside its existing footprint; decorative layers cannot catch clicks. */
.farm-cel .farm-monument-anchor .farm-icon{margin:0!important;filter:none}
.farm-cel .farm-monument-art .farm-cel-atlas-crop{transform-origin:50% 90%}
.farm-cel .farm-tile:not([data-breeze=true]):has(.farm-tile-tag)>.farm-icon{animation:none}
.farm-cel .farm-tile[data-breeze=true]>.farm-icon{animation-delay:var(--water-delay,-1.7s)}
.farm-cel .farm-tile:not([data-breeze=true]) :is(.farm-water-ripple,.farm-water-current){animation:none}
.farm-cel .farm-tile:not([data-breeze=true]) .farm-water-ripple{opacity:0}
.farm-cel .farm-lily{transform-origin:27px 51px;animation:farm-lily-drift 13s ease-in-out infinite}
.farm-cel .farm-tile:not([data-breeze=true]) .farm-lily{animation:none}
.farm-cel .farm-tile:not([data-breeze=true]) .farm-lily-cluster{display:none}
@keyframes farm-lily-drift{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-1px) rotate(2deg)}}
.farm-atmosphere{position:absolute;inset:0;pointer-events:none!important;z-index:6;overflow:hidden;contain:paint}
.farm-atmosphere>*{position:absolute;pointer-events:none!important;opacity:0;animation:erstrahlt-drift var(--ambient-duration) linear var(--ambient-delay) infinite}
.farm-atmosphere-bird{width:26px;height:13px;color:#24493c;filter:drop-shadow(4px 12px 1px #314d3222)}
.farm-atmosphere-bird svg{width:100%;height:100%}
.farm-atmosphere-mote{width:4px;height:4px;border-radius:50%;background:#ffecc1;box-shadow:0 0 5px #ffe9a0;animation-name:erstrahlt-mote}
.farm-atmosphere-leaf{width:6px;height:10px;border-radius:2px 80% 2px 80%;background:#b6c677;animation-name:erstrahlt-leaf}
[data-farm-season=autumn] .farm-atmosphere-leaf{background:#d4a051}
[data-farm-season=winter] .farm-atmosphere-leaf{width:4px;height:4px;background:#fff9de;border-radius:50%}
.farm-classic .farm-atmosphere{display:none}
@keyframes erstrahlt-drift{0%,72%,100%{opacity:0;transform:translate(-70px,30px)}76%,89%{opacity:.65}94%{opacity:0;transform:translate(90px,-35px)}}
@keyframes erstrahlt-mote{0%,60%,100%{opacity:0;transform:translate(0,0)}70%,86%{opacity:.7}95%{opacity:0;transform:translate(19px,-25px)}}
@keyframes erstrahlt-leaf{0%,68%,100%{opacity:0;transform:translate(0,-20px) rotate(-40deg)}73%,87%{opacity:.6}94%{opacity:0;transform:translate(40px,34px) rotate(120deg)}}
.farm-cel .farm-cat-station .cat-eyes{animation-delay:var(--cat-idle-delay,0s)}
.farm-cel .farm-cat-station .cat-cel-ears{transform-origin:62px 39px;animation:erstrahlt-ears 17s ease-in-out var(--cat-idle-delay,0s) infinite}
@keyframes erstrahlt-ears{0%,78%,86%,100%{transform:rotate(0)}81%{transform:rotate(-1.8deg)}84%{transform:rotate(.8deg)}}
/* Faster scanning without hiding purchase prerequisites. */
.farm-cozy .farm-shop-sheet .farm-product-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));align-content:start}
.farm-cozy .farm-shop-item{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:start;text-align:left;gap:8px 12px;padding:12px}
.farm-cozy .farm-shop-detail{grid-column:2;grid-row:1;gap:4px}
.farm-cozy .farm-shop-item .farm-shop-actions{grid-column:1/-1;width:100%;align-self:end}
.farm-cozy .farm-product-more{margin-top:4px;border-top:1px solid var(--ui-border);width:100%}
.farm-cozy .farm-product-more summary{min-height:44px;display:list-item;align-content:center;padding:8px 0;cursor:pointer;font-size:12px;font-weight:700;color:var(--ui-green)}
.farm-cozy .farm-product-more small{display:block;font-size:12px;line-height:1.5;margin:5px 0}
.farm-cozy .farm-product-more[open]{padding-bottom:6px}
.farm-cozy .farm-shop-detail>.farm-cultivation-level{font-weight:700;color:var(--ui-text)}
.farm-cozy .farm-shop-item .farm-stock{font-variant-numeric:tabular-nums}
.farm-cozy .farm-shop-item .farm-price-button{min-height:44px;width:100%;text-align:left;display:flex;flex-wrap:wrap;gap:2px 4px}
.farm-cozy .farm-shop-item .farm-price-detail{font-size:12px;line-height:1.5}
.farm-cozy .farm-shop-tabs>button{min-height:44px}
.farm-cozy .farm-product-category{font-size:11px;letter-spacing:.025em}
.farm-cel :is(.farm-inventory-item,.farm-campus-card,.farm-worker-card){border-color:#bda679}
.farm-cel .farm-shop-selected{outline:2px solid #397458;outline-offset:-2px}
.farm-cel .monument-shop-card{grid-template-columns:100px minmax(0,1fr);background:#fff6df;border:1px solid #b79b65;border-radius:10px;color:#284736;box-shadow:inset 0 1px #fffdf2,0 2px 0 #bba47730}
.farm-cel .monument-shop-art{width:100px;height:100px;align-self:start;background:radial-gradient(ellipse at 50% 72%,#d1dab6,transparent 70%);border-radius:9px}
.farm-cel .monument-shop-card strong{font:700 16px/1.35 Georgia,serif}
.farm-cel .monument-shop-card .monument-bonus{font:700 13px/1.5 system-ui,sans-serif}
.farm-cel .monument-origin{color:#58664b;font-size:12px}
.farm-cel .monument-collection-count{color:#315f45}
.farm-atmosphere-paused .farm-atmosphere *, .farm-atmosphere-paused .farm-field :is(.cat-cel-ears,.cat-eyes,.farm-lily){animation-play-state:paused!important}
:is(.game-pref-reduced,.ui-reduced-motion) :is(.farm-atmosphere,.farm-lily,.cat-cel-ears){animation:none!important}
:is(.game-pref-reduced,.ui-reduced-motion) .farm-atmosphere{display:none}
.game-no-confetti .farm-atmosphere{display:none}
@media(prefers-reduced-motion:reduce){.farm-atmosphere{display:none}.farm-cel :is(.farm-lily,.cat-cel-ears){animation:none!important}}
@media(max-width:620px){.farm-cozy .farm-shop-item{grid-template-columns:56px minmax(0,1fr);padding:10px;gap:8px}.farm-cozy .farm-shop-item .farm-product-art{width:56px;height:56px}.farm-cel .monument-shop-card{grid-template-columns:76px minmax(0,1fr)}.farm-cel .monument-shop-art{width:76px;height:76px}.farm-atmosphere-bird{display:none}}
@media(forced-colors:active){.farm-atmosphere{display:none}.farm-cozy .farm-shop-selected{outline:2px solid Highlight}.farm-cel .farm-tile-ready .farm-tile-tag{color:CanvasText;background:Canvas;border-color:CanvasText}}
/* The old companion rule targeted .farm-worker-art, but workerIcon returns
   .farm-cat-art. The resulting unbounded SVG filled the whole sidebar. */
.farm-cozy .farm-companion-card>.farm-cat-art{display:block;width:84px;height:112px;max-width:100%;margin:0 auto}
.farm-cozy .farm-companion-card>.farm-cat-art svg{display:block;width:100%;height:100%}
.farm-cel .farm-research-tech.is-locked{opacity:1;background:#f2f0e3}
.farm-cel .farm-research-tech>small{font-size:12px;color:#4b5c43}
.farm-cel .farm-research-tech strong{font-family:Georgia,serif;color:#284b3a}
.farm-cel .farm-research-tech button:disabled{opacity:1;color:#625c4d;background:#e6e1d2}
/* Square illustrations remain square on 2×1 monuments; the full footprint stays clickable. */
.farm-monument-anchor .farm-monument-art .farm-cel-atlas{width:calc(100% * var(--monument-h,1) / var(--monument-w,1));max-width:100%;height:100%;margin-inline:auto}
