/* Blueberry farm modal (berry tree / Harvest) */
#berry-tree-modal .modal-content.farm-card{width:min(560px,96vw);padding:0;overflow:hidden;border:4px solid #6b4423;border-radius:20px;background:#17331a;box-shadow:0 0 0 3px #2a1a0c,0 12px 40px rgba(0,0,0,.7);max-height:92vh;overflow-y:auto;}
.fm-sky{position:relative;height:190px;background:linear-gradient(180deg,#5cc4ff 0%,#a7e3ff 55%,#ffe7b0 100%);overflow:hidden;}
.fm-sun{position:absolute;right:46px;top:20px;width:46px;height:46px;border-radius:50%;background:#fff3b0;box-shadow:0 0 0 8px rgba(255,243,176,.35),0 0 30px #ffe070;}
.fm-cloud{position:absolute;height:16px;width:64px;border-radius:20px;background:#fff;opacity:.9;box-shadow:18px -8px 0 -2px #fff,38px 0 0 0 #fff;animation:fm-drift 40s linear infinite;}
.fm-cloud.c1{top:34px;left:-80px}.fm-cloud.c2{top:70px;left:-200px;animation-duration:60s;opacity:.7}
@keyframes fm-drift{to{transform:translateX(780px)}}
.fm-hills{position:absolute;left:-10%;right:-10%;bottom:-30px;height:110px;background:radial-gradient(ellipse at 20% 100%,#5ea24b 0 48%,transparent 49%),radial-gradient(ellipse at 70% 100%,#4a8f3d 0 52%,transparent 53%),radial-gradient(ellipse at 100% 100%,#6bb054 0 40%,transparent 41%);}
.fm-barn{position:absolute;left:28px;bottom:16px;width:70px;height:50px;background:#b23a2e;border:2px solid #6e1f17;border-radius:3px;}
.fm-barn::before{content:"";position:absolute;left:-6px;right:-6px;top:-22px;height:24px;background:#8a2a21;clip-path:polygon(0 100%,50% 0,100% 100%);}
.fm-barn i{position:absolute;left:22px;top:14px;width:24px;height:34px;background:#f4e4c8;border:2px solid #6e1f17;border-bottom:0;background-image:linear-gradient(45deg,transparent 46%,#6e1f17 46% 54%,transparent 54%),linear-gradient(-45deg,transparent 46%,#6e1f17 46% 54%,transparent 54%);}
.fm-sign{position:absolute;left:50%;top:26px;transform:translateX(-50%) rotate(-1.5deg);padding:9px 22px;background:repeating-linear-gradient(180deg,#a9733a 0 14px,#8f5f2d 14px 16px);border:3px solid #5a3818;border-radius:8px;box-shadow:0 5px 0 #3a230d,0 8px 14px rgba(0,0,0,.4);white-space:nowrap;}
.fm-sign::before,.fm-sign::after{content:"";position:absolute;top:-22px;width:3px;height:22px;background:#6b4423;}
.fm-sign::before{left:22px}.fm-sign::after{right:22px}
.fm-sign span{font-family:'Arial Black',sans-serif;font-size:clamp(14px,3.8vw,20px);letter-spacing:2px;color:#fff3d6;text-shadow:0 2px 0 #3a230d;}
.fm-x{position:absolute;right:10px;top:10px;width:32px;height:32px;border-radius:50%;border:2px solid #5a3818;background:#f0d9a8;color:#5a3818;font-weight:bold;cursor:pointer;z-index:3;}
.fm-field{position:relative;margin-top:-6px;padding:14px 18px 18px;text-align:center;background:repeating-linear-gradient(0deg,#3f7a33 0 22px,#376d2c 22px 44px);border-top:6px solid #2d5a24;}
.fm-plot{position:relative;width:170px;height:150px;margin:0 auto;}
.fm-mound{position:absolute;left:10px;right:10px;bottom:0;height:46px;border-radius:50% 50% 12px 12px/70% 70% 12px 12px;background:radial-gradient(ellipse at 50% 20%,#7a4a28,#4a2a14);box-shadow:inset 0 6px 8px rgba(0,0,0,.35),0 6px 10px rgba(0,0,0,.35);}
.fm-plant{position:absolute;left:0;right:0;bottom:22px;z-index:2;font-size:84px;line-height:1;filter:drop-shadow(0 6px 4px rgba(0,0,0,.35));animation:fm-sway 3.6s ease-in-out infinite;transform-origin:50% 100%;}
.fm-plant[data-stage="0"]{font-size:46px;bottom:34px}.fm-plant[data-stage="1"]{font-size:64px}.fm-plant[data-stage="2"]{font-size:78px}.fm-plant[data-stage="3"]{font-size:96px}.fm-plant[data-stage="4"]{font-size:110px;bottom:18px}
@keyframes fm-sway{50%{transform:rotate(2.5deg)}}
.fm-berry{position:absolute;width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#8fa8ff,#2c3fb0 60%,#1b2670);box-shadow:0 2px 3px rgba(0,0,0,.5);animation:fm-pop .5s both;}
.fm-berry::after{content:"";position:absolute;left:5px;top:-2px;width:5px;height:3px;border-radius:2px;background:#2d5a24;}
@keyframes fm-pop{from{transform:scale(0)}to{transform:scale(1)}}
.fm-plot.ready::after{content:"";position:absolute;inset:-6px;border-radius:50%;background:radial-gradient(circle,rgba(255,243,176,.35),transparent 65%);animation:fm-glow 1.4s ease-in-out infinite alternate;}
@keyframes fm-glow{to{opacity:.35}}
.fm-stage-name{font-family:'Arial Black',sans-serif;letter-spacing:3px;font-size:18px;color:#fff3d6;text-shadow:0 2px 0 #1d3c17;margin:8px 0 10px;}
.fm-tags{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;}
.fm-tag{min-width:96px;padding:7px 12px;border-radius:8px;background:#f3dfb4;border:2px solid #6b4423;box-shadow:0 3px 0 #3a230d;}
.fm-tag small{display:block;font:9px sans-serif;letter-spacing:1px;color:#6b4423}
.fm-tag b{font-family:'Arial Black',sans-serif;font-size:15px;color:#2b4a8a}
.fm-water{height:14px;margin:14px auto 6px;max-width:380px;border-radius:8px;background:#1d3c17;border:2px solid #5a3818;overflow:hidden;}
.fm-water span{display:block;height:100%;background:repeating-linear-gradient(90deg,#4ab8ff 0 10px,#7ad0ff 10px 20px);transition:width .6s;}
.fm-bonus{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;min-height:22px;}
.fm-bonus em{font:normal 9px sans-serif;letter-spacing:.5px;padding:3px 9px;border-radius:999px;background:#17331a;border:1px solid #9be37a;color:#c9f5b3;}
.fm-harvest{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:12px;padding:13px 34px;border-radius:12px;border:3px solid #5a3818;background:repeating-linear-gradient(180deg,#d9a35b 0 12px,#c48f48 12px 14px);color:#3a230d;font-family:'Arial Black',sans-serif;font-size:15px;letter-spacing:2px;cursor:pointer;box-shadow:0 5px 0 #3a230d;transition:transform .1s,box-shadow .1s;}
.fm-harvest:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 7px 0 #3a230d,0 0 18px rgba(255,243,176,.6);}
.fm-harvest:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 #3a230d;}
.fm-harvest:disabled{filter:grayscale(.7) brightness(.8);cursor:not-allowed;}
.fm-basket{font-size:22px}
.fm-rows-wrap{padding:14px 18px 18px;background:#1b3f1e;border-top:4px solid #5a3818;}
.fm-rows-title{display:flex;justify-content:space-between;gap:10px;align-items:center;font-family:'Arial Black',sans-serif;font-size:11px;letter-spacing:2px;color:#f3dfb4;margin-bottom:8px;}
.fm-rows-title span{font:11px sans-serif;letter-spacing:0;color:#9be37a}
.fm-progress{height:9px;border-radius:6px;background:#0f240f;overflow:hidden;margin-bottom:12px;}
.fm-progress span{display:block;height:100%;background:linear-gradient(90deg,#5aa8ff,#9be37a);transition:width .5s;}
.fm-rows{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;}
.fm-row{position:relative;padding:10px 4px 8px;border-radius:10px;text-align:center;background:#12290f;border:2px dashed #3d6b36;opacity:.55;filter:grayscale(.8);}
.fm-row.open{opacity:1;filter:none;border-style:solid;border-color:#7ab35e;background:#1d4a1b;}
.fm-row.cur{border-color:#ffe070;box-shadow:0 0 12px rgba(255,224,112,.5);}
.fm-row-ico{font-size:26px}.fm-row-name{font:bold 10px 'Arial Black',sans-serif;color:#f3dfb4;margin-top:3px;letter-spacing:.5px}.fm-row-info{font:9px sans-serif;color:#a9d49a;margin-top:2px}
.fm-here{position:absolute;top:-8px;left:50%;transform:translateX(-50%);padding:1px 7px;border-radius:6px;background:#ffe070;color:#3a230d;font:bold 8px 'Arial Black',sans-serif;}
@media(max-width:520px){.fm-rows{grid-template-columns:repeat(3,1fr)}.fm-sky{height:170px}.fm-barn{display:none}}
