*{margin:0;padding:0;box-sizing:border-box;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
  html{height:100%;-webkit-text-size-adjust:100%;touch-action:manipulation}
  html,body{height:100%;overscroll-behavior:none;background:#0a1a0a;font-family:'Courier New','Segoe UI',monospace;color:#e8ffe8;overflow:hidden;position:fixed;inset:0;width:100%}
  body{display:flex;align-items:center;justify-content:center}
  svg{display:block}
  body[data-season="spring"]{background:#0d1a0a}
  body[data-season="summer"]{background:#081a08}
  body[data-season="autumn"]{background:#1a0e05}
  body[data-season="winter"]{background:#0a0e1a}

  #farmBg{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;image-rendering:pixelated;shape-rendering:crispEdges}
  #farmBg>svg{display:block;width:100%;height:100%;image-rendering:pixelated;shape-rendering:crispEdges}
  @keyframes cloudDrift{from{transform:translateX(-160px)}to{transform:translateX(960px)}}
  @keyframes sunGlow{0%,100%{opacity:.9}50%{opacity:1}}
  @keyframes grassWave{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.5px)}}
  @keyframes smokeRise{0%{transform:translateY(0);opacity:.85}100%{transform:translateY(-32px);opacity:0}}
  @keyframes sheepBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-1px)}}
  #farmBg .cloud{animation:cloudDrift 140s linear infinite}
  #farmBg .cloud.d2{animation-duration:200s;animation-delay:-80s}
  #farmBg .cloud.d3{animation-duration:110s;animation-delay:-40s}
  #farmBg .sun-glow{animation:sunGlow 6s ease-in-out infinite}
  #farmBg .grass-tuft{animation:grassWave 3.2s ease-in-out infinite}
  #farmBg .grass-tuft:nth-child(2n){animation-delay:-1.6s}
  #farmBg .grass-tuft:nth-child(3n){animation-delay:-0.9s}
  #farmBg .smoke-1{animation:smokeRise 4s linear infinite}
  #farmBg .smoke-2{animation:smokeRise 4s linear infinite 1.3s}
  #farmBg .smoke-3{animation:smokeRise 4s linear infinite 2.6s}
  #farmBg .sheep{animation:sheepBob 2.6s ease-in-out infinite}
  #farmBg .sheep:nth-child(2n){animation-delay:-1.3s}

  @keyframes butterflyFloat{0%,100%{transform:translate(0,0) rotate(0)}25%{transform:translate(14px,-18px) rotate(15deg)}50%{transform:translate(28px,-8px) rotate(0)}75%{transform:translate(14px,10px) rotate(-15deg)}}
  #farmBg .butterfly{animation:butterflyFloat 6s ease-in-out infinite}
  #farmBg .butterfly.b2{animation-duration:8s;animation-delay:-3s}
  #farmBg .butterfly.b3{animation-duration:7s;animation-delay:-1.5s}
  @keyframes birdFly{0%{transform:translate(0,0)}100%{transform:translate(900px,-20px)}}
  #farmBg .birds-flying{animation:birdFly 40s linear infinite}
  #farmBg .birds-flying.slow{animation-duration:60s;animation-delay:-20s}
  @keyframes petalFall{0%{transform:translate(0,-20px) rotate(0);opacity:0}10%{opacity:1}100%{transform:translate(60px,900px) rotate(540deg);opacity:0}}
  #farmBg .petal{animation:petalFall 12s linear infinite}
  #farmBg .petal.p2{animation-duration:15s;animation-delay:-4s}
  #farmBg .petal.p3{animation-duration:18s;animation-delay:-8s}
  #farmBg .petal.p4{animation-duration:14s;animation-delay:-6s}
  @keyframes auroraShift{0%,100%{opacity:.45;transform:translateX(-15px)}50%{opacity:.8;transform:translateX(15px)}}
  #farmBg .aurora{animation:auroraShift 8s ease-in-out infinite}
  @keyframes fallLeaf{0%{transform:translate(0,-20px) rotate(0);opacity:0}10%{opacity:1}100%{transform:translate(-100px,900px) rotate(720deg);opacity:0}}
  #farmBg .fall-leaf{animation:fallLeaf 14s linear infinite}
  #farmBg .fall-leaf.l2{animation-duration:18s;animation-delay:-5s}
  #farmBg .fall-leaf.l3{animation-duration:11s;animation-delay:-9s}
  @keyframes campfireFlicker{0%,100%{transform:scaleY(1) scaleX(1)}25%{transform:scaleY(1.15) scaleX(.95)}50%{transform:scaleY(.9) scaleX(1.05)}75%{transform:scaleY(1.1) scaleX(.98)}}
  #farmBg .campfire{animation:campfireFlicker .6s ease-in-out infinite;transform-origin:center bottom}
  @keyframes skaterGlide{0%{transform:translateX(0)}50%{transform:translateX(80px) scaleX(1)}51%{transform:translateX(80px) scaleX(-1)}100%{transform:translateX(0) scaleX(-1)}}
  #farmBg .skater{animation:skaterGlide 8s ease-in-out infinite}
  @keyframes starTwinkle{0%,100%{opacity:.4}50%{opacity:1}}
  #farmBg .star{animation:starTwinkle 3s ease-in-out infinite}
  #farmBg .star.s2{animation-delay:-1s}
  #farmBg .star.s3{animation-delay:-2s}
  @keyframes fishJump{0%,100%{transform:translate(0,0) rotate(0);opacity:0}10%,30%{opacity:1}20%{transform:translate(0,-25px) rotate(-25deg)}40%{transform:translate(0,0) rotate(0);opacity:0}}
  #farmBg .fish{animation:fishJump 7s ease-in-out infinite}
  @keyframes fireflyFloat{0%,100%{transform:translate(0,0);opacity:.3}50%{transform:translate(-15px,-20px);opacity:1}}
  #farmBg .firefly{animation:fireflyFloat 4s ease-in-out infinite}
  #farmBg .firefly.f2{animation-delay:-1.3s}
  #farmBg .firefly.f3{animation-delay:-2.6s}
  @keyframes fallingStar{0%{transform:translate(0,0);opacity:0}5%{opacity:1}15%{transform:translate(120px,60px);opacity:0}100%{transform:translate(120px,60px);opacity:0}}
  #farmBg .shooting-star{animation:fallingStar 8s ease-in-out infinite}

  .sprite,.icon{image-rendering:pixelated;image-rendering:crisp-edges;shape-rendering:crispEdges;display:block;-webkit-user-drag:none;user-drag:none;pointer-events:none}
  .sprite{width:100%;height:100%}
  .icon{width:16px;height:16px}

  #game{position:relative;width:100%;max-width:480px;height:100vh;height:100dvh;max-height:100dvh;display:flex;flex-direction:column;gap:6px;padding:calc(6px + env(safe-area-inset-top,0px)) calc(8px + env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) calc(8px + env(safe-area-inset-left,0px));overflow:hidden;z-index:1}
  @media (min-width:560px) and (min-height:720px){
    #game{height:min(900px,calc(100dvh - 40px));max-height:calc(100dvh - 40px);border:1px solid rgba(125,255,176,0.22);border-radius:20px;box-shadow:0 24px 80px rgba(0,0,0,.8),0 0 60px rgba(125,255,176,.08),inset 0 0 60px rgba(0,0,0,.3);padding:10px;background:linear-gradient(180deg,rgba(6,16,8,.7),rgba(2,8,4,.75));backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
  }

  .topbar{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:5px;padding:8px 10px;background:rgba(6,14,8,.75);border:2px solid rgba(125,255,176,.18);border-radius:10px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 8px 24px rgba(0,0,0,.4);min-width:0}
  .essence,.gems{font-size:15px;font-weight:700;display:flex;align-items:center;gap:4px;letter-spacing:.5px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .essence .icon{color:#7dffb0;filter:drop-shadow(0 0 4px rgba(125,255,176,.6));width:17px;height:17px;flex-shrink:0}
  .gems .icon{color:#4fc3f7;filter:drop-shadow(0 0 4px rgba(79,195,247,.7));width:17px;height:17px;flex-shrink:0}
  .stars{color:#ffd54f;font-size:13px;font-weight:700;display:flex;align-items:center;gap:3px;white-space:nowrap}
  .stars .icon{color:#ffd54f;width:12px;height:12px;filter:drop-shadow(0 0 5px rgba(255,213,79,.8))}
  .season-badge{font-size:10px;font-weight:700;padding:3px 6px;border-radius:6px;white-space:nowrap;display:flex;align-items:center;gap:3px;border:1px solid;cursor:pointer}
  .season-badge.hint{animation:seasonHintPulse 1.2s infinite}
  .weather-badge.hint{animation:seasonHintPulse 1.2s infinite}
  @keyframes seasonHintPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,224,140,0)}50%{box-shadow:0 0 0 3px rgba(255,224,140,.55)}}
  body[data-season="spring"] .season-badge{background:rgba(240,120,180,.15);color:#ffb8d0;border-color:rgba(240,120,180,.4)}
  body[data-season="summer"] .season-badge{background:rgba(255,220,80,.15);color:#ffe9a0;border-color:rgba(255,220,80,.4)}
  body[data-season="autumn"] .season-badge{background:rgba(255,140,60,.15);color:#ffbe88;border-color:rgba(255,140,60,.4)}
  body[data-season="winter"] .season-badge{background:rgba(150,220,255,.15);color:#c8eaff;border-color:rgba(150,220,255,.4)}
  #incomeLabel{font-size:10px;color:#9db89d;white-space:nowrap}
  #soundBtn{background:none;border:none;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;touch-action:manipulation}
  #soundBtn .icon{color:#7dffb0}
  #soundBtn.muted .icon{color:#555}
  #langBtn{background:rgba(125,255,176,.1);border:1px solid rgba(125,255,176,.35);border-radius:6px;padding:3px 7px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;touch-action:manipulation;color:#7dffb0;font-size:10px;font-weight:700;font-family:inherit;letter-spacing:.5px;line-height:1}
  #langBtn:active{transform:translateY(1px)}
  .weather-badge{font-size:10px;font-weight:700;padding:3px 6px;border-radius:6px;white-space:nowrap;display:flex;align-items:center;gap:3px;background:rgba(255,255,255,.08);border:1px solid var(--wc,rgba(255,213,79,.4));color:var(--wc,#ffd54f);transition:color .3s,border-color .3s;cursor:pointer}

  .btnrow{flex-shrink:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
  .btn{border:none;color:white;padding:9px 3px;border-radius:8px;font-size:11px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:3px;line-height:1;font-family:inherit;letter-spacing:.3px;position:relative;overflow:hidden;transition:filter .18s,transform .18s,box-shadow .18s;touch-action:manipulation;min-width:0}
  .btn:active{transform:translateY(2px)}
  .btn:disabled{opacity:.4;cursor:default}
  .btn>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .btn.water.active{animation:waterBtnGlow .9s infinite}
  @keyframes waterBtnGlow{0%,100%{box-shadow:0 3px 0 #01579b}50%{box-shadow:0 3px 0 #01579b,0 0 14px rgba(79,195,247,.7)}}
  .btn.hint{animation:btnHintPulse 1.2s infinite}
  @keyframes btnHintPulse{0%,100%{box-shadow:0 0 0 0 rgba(125,255,176,0)}50%{box-shadow:0 0 0 4px rgba(125,255,176,.55)}}
  .btn .icon{color:#fff;width:18px;height:18px;flex-shrink:0}
  .btn .badge{display:inline-block;background:#ff5252;color:#fff;font-size:9px;border-radius:6px;padding:1px 4px;margin-left:1px;font-weight:700;min-width:12px;text-align:center}
  .nav-btn .nav-badge{display:none;position:absolute;top:2px;right:8px;background:#ff5252;color:#fff;font-size:9px;border-radius:6px;padding:1px 4px;font-weight:700;min-width:12px;text-align:center;line-height:1.3}
  .nav-btn .nav-badge.show{display:inline-block}
  @media (hover:hover){.btn::after{content:"";position:absolute;top:-70%;left:-45%;width:28%;height:240%;background:rgba(255,255,255,.22);transform:rotate(25deg);transition:left .5s;pointer-events:none}.btn:hover::after{left:120%}.btn:hover{filter:brightness(1.12)}}

  #gardenStage{flex:1 1 auto;min-height:0;min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;overflow:hidden;width:100%}
  #gardenLevel{flex-shrink:0;width:100%;max-width:430px;margin-bottom:6px;padding:7px 10px;border:1px solid rgba(125,255,176,.16);border-radius:9px;background:rgba(6,14,8,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
  .level-row{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:9px;color:#8faa95;margin-bottom:4px;white-space:nowrap}
  .level-row b{color:#d9ffe5;font-size:11px}
  .stats-icon-btn{flex-shrink:0;width:18px;height:18px;padding:2px;margin-left:auto;border:1px solid rgba(125,255,176,.3);border-radius:5px;background:rgba(125,255,176,.08);display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation}
  .stats-icon-btn .icon{width:12px;height:12px;color:#a5ffc8}
  .stats-icon-btn:active{transform:translateY(1px);background:rgba(125,255,176,.18)}
  .xpbar{height:6px;background:#081008;border-radius:4px;overflow:hidden;border:1px solid rgba(125,255,176,.12)}
  .xpbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#4caf50,#a5ffc8);box-shadow:0 0 9px rgba(125,255,176,.45);transition:width .3s}

  #grid{flex-shrink:0;display:grid;gap:6px;background:rgba(4,10,6,.55);border:2px solid rgba(125,255,176,.14);border-radius:12px;padding:8px;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);position:relative;overflow:visible;touch-action:none;width:320px;height:320px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
  .cell{background:rgba(255,255,255,.04);border-radius:8px;border:2px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;overflow:hidden;transition:transform .16s,filter .16s,box-shadow .16s,border-color .3s;min-width:0;min-height:0}
  body[data-season="winter"] .cell{background:rgba(200,230,255,.05);border-color:rgba(200,230,255,.1)}
  body[data-season="spring"] .cell{background:rgba(255,220,235,.05);border-color:rgba(255,200,220,.1)}
  body[data-season="autumn"] .cell{background:rgba(255,220,180,.05);border-color:rgba(255,180,120,.1)}
  .cell.planted{cursor:grab}
  .cell.growing-cell{cursor:pointer;border-color:rgba(255,213,79,.35);box-shadow:inset 0 0 10px rgba(255,213,79,.15)}
  .cell.dragover{background:rgba(125,255,176,.18);border-color:#7dffb0}
  .cell.selected{border-color:#ffd54f;box-shadow:inset 0 0 0 2px rgba(255,213,79,.45),0 0 10px rgba(255,213,79,.22);animation:selectedPulse .7s ease-in-out infinite alternate;z-index:2}
  .cell.merge-target{border-color:#7dffb0;background:rgba(125,255,176,.12);animation:targetPulse .55s ease-in-out infinite alternate}
  .cell.hint{animation:hintPulse 1.2s infinite}
  .cell.water-target{border-color:#4fc3f7;background:rgba(79,195,247,.12);cursor:crosshair;animation:waterPulse 1s infinite}
  @keyframes selectedPulse{to{box-shadow:0 0 0 3px rgba(125,255,176,.25),0 0 22px rgba(125,255,176,.4)}}
  @keyframes targetPulse{to{box-shadow:0 0 0 3px rgba(255,213,79,.35),0 0 25px rgba(255,213,79,.28)}}
  @keyframes hintPulse{0%,100%{box-shadow:inset 0 0 0 0 rgba(125,255,176,0)}50%{box-shadow:inset 0 0 0 3px rgba(125,255,176,.6)}}
  @keyframes waterPulse{0%,100%{box-shadow:0 0 0 0 rgba(79,195,247,0)}50%{box-shadow:0 0 0 5px rgba(79,195,247,.45)}}
  @media (hover:hover){.cell:hover{transform:translateY(-2px) scale(1.025);filter:brightness(1.12)}}

  .plant{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:8px;position:relative;padding:4px}
  .plant .sprite{filter:drop-shadow(0 2px 0 rgba(0,0,0,.5));transform-origin:bottom center;transition:filter .3s}
  body[data-season="spring"] .plant .sprite{filter:drop-shadow(0 2px 0 rgba(0,0,0,.5)) brightness(1.08) saturate(1.15) hue-rotate(-8deg)}
  body[data-season="summer"] .plant .sprite{filter:drop-shadow(0 2px 0 rgba(0,0,0,.5)) brightness(1.15) saturate(1.3)}
  body[data-season="autumn"] .plant .sprite{filter:drop-shadow(0 2px 0 rgba(0,0,0,.5)) hue-rotate(-30deg) saturate(1.4) brightness(1.05)}
  body[data-season="winter"] .plant .sprite{filter:drop-shadow(0 2px 0 rgba(0,0,0,.5)) hue-rotate(180deg) saturate(.7) brightness(.92)}
  .cell.planted .sprite{animation:plantFloat 2.8s ease-in-out infinite}
  .cell.growing-cell .sprite{animation:plantBreathe 2s ease-in-out infinite}
  @keyframes plantFloat{50%{transform:translateY(-2px)}}
  @keyframes plantBreathe{0%,100%{transform:scale(calc(.5 + .5*var(--grow-p,0))) translateY(calc(6px - 6px*var(--grow-p,0)))}50%{transform:scale(calc(.55 + .5*var(--grow-p,0))) translateY(calc(6px - 6px*var(--grow-p,0) - 1px))}}
  .plant .lvl{position:absolute;bottom:2px;right:4px;font-size:9px;background:rgba(0,0,0,.7);padding:1px 4px;border-radius:4px;font-weight:700;color:#e8ffe8}
  .plant.spawn{animation:pop .3s ease}
  @keyframes pop{0%{transform:scale(.3)}80%{transform:scale(1.15)}100%{transform:scale(1)}}
  body[data-season="winter"] .plant::before{content:"";position:absolute;top:2px;left:12%;right:12%;height:14%;background:linear-gradient(180deg,#fff,rgba(255,255,255,.4) 70%,transparent);border-radius:50% 50% 40% 40%/60% 60% 40% 40%;pointer-events:none;filter:blur(.4px);z-index:3}
  body[data-season="spring"] .plant::after{content:"";position:absolute;top:5px;right:14%;width:8%;height:8%;background:radial-gradient(circle,#ffb8d0,#ec407a);border-radius:50%;box-shadow:-12px -2px 0 -1px #ffb8d0,4px 3px 0 -1px #ec407a;pointer-events:none;z-index:3;animation:budGlow 2.2s ease-in-out infinite}
  @keyframes budGlow{0%,100%{opacity:.85}50%{opacity:1;transform:scale(1.15)}}
  body[data-season="autumn"] .plant::before{content:"";position:absolute;top:6px;left:15%;width:10%;height:10%;background:#e67e22;border-radius:60% 0 60% 0;transform:rotate(-25deg);pointer-events:none;z-index:3;opacity:.8;animation:leafSway 3s ease-in-out infinite}
  @keyframes leafSway{0%,100%{transform:rotate(-25deg) translate(0,0)}50%{transform:rotate(-15deg) translate(1px,-1px)}}
  .plant.growing .sprite{transform:scale(calc(.5 + .5*var(--grow-p,0))) translateY(calc(6px - 6px*var(--grow-p,0)));opacity:calc(.55 + .45*var(--grow-p,0));filter:drop-shadow(0 2px 0 rgba(0,0,0,.5)) drop-shadow(0 0 calc(4px + 6px*var(--grow-p,0)) rgba(125,255,176,calc(.35 + .35*var(--grow-p,0))));transition:transform .25s linear,opacity .25s linear,filter .25s linear}
  .plant.growing .lvl{background:rgba(60,40,0,.85);color:#ffd54f}
  .plant.ready-done::after{content:"";position:absolute;top:-4px;right:-4px;width:20px;height:20px;background:url("../assets/svg/ui/check.svg") no-repeat center/62% 62%,radial-gradient(circle at 30% 30%,#b3ffd0,#4caf50 70%,#1b5e20);border-radius:50%;box-shadow:0 0 12px rgba(125,255,176,.95),0 0 20px rgba(125,255,176,.5),0 2px 4px rgba(0,0,0,.5);animation:readyPop .45s cubic-bezier(.2,.8,.2,1),readyFloat 1.5s ease-in-out infinite .45s;z-index:5;pointer-events:none}
  @keyframes readyPop{0%{transform:scale(0) rotate(-180deg);opacity:0}70%{transform:scale(1.3) rotate(0);opacity:1}100%{transform:scale(1) rotate(0);opacity:1}}
  @keyframes readyFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.08)}}
  .grow-timer{position:absolute;top:2px;left:3px;font-size:9px;background:rgba(0,0,0,.75);padding:1px 4px;border-radius:4px;font-weight:700;color:#ffd54f;border:1px solid rgba(255,213,79,.4);letter-spacing:.3px}
  .grow-bar{position:absolute;bottom:0;left:3px;right:3px;height:4px;background:rgba(0,0,0,.7);border-radius:2px;overflow:hidden}
  .grow-bar>i{display:block;height:100%;width:0;background:linear-gradient(90deg,#ffd54f,#7dffb0);transition:width .15s linear;box-shadow:0 0 6px rgba(125,255,176,.6)}
  .plant.ready{animation:readyPopBig .5s ease}
  @keyframes readyPopBig{0%{transform:scale(1)}40%{transform:scale(1.18);filter:brightness(1.6)}100%{transform:scale(1)}}
  .plant.mutant .sprite{filter:drop-shadow(0 0 8px rgba(255,215,0,.85)) drop-shadow(0 0 16px rgba(255,140,0,.5));animation:mutantGlow 1.6s ease-in-out infinite}
  @keyframes mutantGlow{0%,100%{filter:drop-shadow(0 0 6px rgba(255,215,0,.7)) drop-shadow(0 0 12px rgba(255,140,0,.4))}50%{filter:drop-shadow(0 0 12px rgba(255,215,0,1)) drop-shadow(0 0 22px rgba(255,140,0,.7))}}
  .plant .mutant-star{position:absolute;top:2px;right:4px;width:11px;height:11px;color:#ffd54f;filter:drop-shadow(0 0 4px #ffb300) drop-shadow(0 0 8px #ff8f00);animation:mutantRot 3s linear infinite}
  .plant .mutant-star svg,.plant .gold-star svg,.plot-plant .mutant-star svg,.plot-plant .gold-star svg{width:100%;height:100%;display:block}
  @keyframes mutantRot{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.3)}100%{transform:rotate(360deg) scale(1)}}
  .plant.golden .sprite{filter:drop-shadow(0 0 10px #ffd54f) drop-shadow(0 0 22px rgba(255,180,0,.9)) brightness(1.35) saturate(1.4)!important;animation:goldenShine 2s ease-in-out infinite}
  @keyframes goldenShine{0%,100%{filter:drop-shadow(0 0 8px #ffd54f) drop-shadow(0 0 18px rgba(255,180,0,.7)) brightness(1.3) saturate(1.3)}50%{filter:drop-shadow(0 0 14px #fff3a0) drop-shadow(0 0 30px rgba(255,200,0,1)) brightness(1.5) saturate(1.6)}}
  .plant .gold-star{position:absolute;top:2px;left:4px;width:12px;height:12px;color:#ffe082;filter:drop-shadow(0 0 4px #ffb300) drop-shadow(0 0 8px #ff8f00) drop-shadow(0 0 14px rgba(255,140,0,.8));z-index:4;animation:goldStarSpin 2.4s linear infinite}
  @keyframes goldStarSpin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.25)}100%{transform:rotate(360deg) scale(1)}}

  #spaceArrow{position:absolute;right:0;top:50%;transform:translateY(-50%);width:32px;height:56px;border:2px solid rgba(125,255,176,.4);border-radius:12px 0 0 12px;background:linear-gradient(180deg,#2a5630,#0f2412);color:#a5ffc8;font-size:22px;font-weight:900;z-index:30;cursor:pointer;touch-action:manipulation;box-shadow:-4px 0 20px rgba(0,0,0,.4)}
  #spaceArrow.locked{filter:grayscale(.85);color:#555;border-color:#333}

  #zone2{position:absolute;top:-2px;right:0;bottom:-2px;width:min(96%,440px);transform:translateX(105%);transition:transform .35s cubic-bezier(.2,.8,.2,1);z-index:40;padding:12px 12px calc(16px + env(safe-area-inset-bottom,0px)) 12px;background:linear-gradient(180deg,rgba(10,26,14,.985),rgba(4,12,7,.985));border-left:2px solid rgba(125,255,176,.22);box-shadow:-20px 0 50px rgba(0,0,0,.6);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;border-radius:12px 0 0 12px}
  #zone2.open{transform:translateX(0)}
  .zone-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}
  .zone-head h2{font-size:15px;color:#a5ffc8;letter-spacing:1.5px}
  .zone-lock{font-size:9px;color:#9db89d;margin-top:2px}
  #closeZone{padding:7px 12px;border-radius:8px;border:none;background:linear-gradient(180deg,#4caf50,#2e7d32);color:#fff;font-weight:700;font-size:11px;cursor:pointer;font-family:inherit;box-shadow:0 2px 0 #1b5e20;white-space:nowrap;flex-shrink:0}
  .bonus-banner{margin:0 0 12px;padding:9px 10px;border:1px solid rgba(255,213,79,.3);border-radius:8px;background:linear-gradient(180deg,rgba(255,213,79,.08),rgba(255,213,79,.02));color:#ffd86b;font-size:10px;text-align:center;line-height:1.4}
  .meadow-scene{position:relative;margin-bottom:14px;height:130px;border-radius:10px;border:2px solid rgba(75,45,32,.6);background:linear-gradient(180deg,#6ea85e 0 8px,#4f8a48 8px 12px,#5d9752 12px 100%);overflow:hidden;box-shadow:inset 0 0 0 3px rgba(0,0,0,.15),0 6px 0 rgba(0,0,0,.3)}
  .meadow-scene::before{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;background:repeating-linear-gradient(90deg,#4d8a3f 0 2px,#3f7332 2px 4px)}
  body[data-season="winter"] .meadow-scene{background:linear-gradient(180deg,#d8e8f0 0 8px,#a8c8e0 8px 12px,#c8dcea 12px 100%)}
  body[data-season="autumn"] .meadow-scene{background:linear-gradient(180deg,#d8a860 0 8px,#a87038 8px 12px,#c08848 12px 100%)}
  .meadow-scene .sun-svg{position:absolute;top:10px;right:14px;width:34px;height:34px;image-rendering:pixelated;filter:drop-shadow(0 0 8px rgba(255,200,90,.4))}
  .meadow-scene .scarecrow-svg{position:absolute;left:12px;bottom:6px;width:56px;height:90px;image-rendering:pixelated;filter:drop-shadow(3px 4px 0 rgba(0,0,0,.35))}
  .meadow-scene .barn-svg{position:absolute;right:8px;bottom:6px;width:76px;height:62px;image-rendering:pixelated;filter:drop-shadow(3px 4px 0 rgba(0,0,0,.35))}
  .meadow-scene .chicken-svg{position:absolute;left:50%;transform:translateX(-50%);bottom:8px;width:44px;height:40px;image-rendering:pixelated;filter:drop-shadow(2px 3px 0 rgba(0,0,0,.35));animation:chickenBob 2.4s ease-in-out infinite;cursor:pointer}
  @keyframes chickenBob{50%{transform:translateX(-50%) translateY(-2px)}}
  .meadow-scene .egg-ready{position:absolute;left:50%;transform:translateX(40%);bottom:30px;width:14px;height:18px;image-rendering:pixelated;animation:eggBob 1s ease-in-out infinite;pointer-events:none}
  @keyframes eggBob{50%{transform:translateX(40%) translateY(-3px)}}
  .meadow-scene .grass-tufts{position:absolute;left:0;right:0;bottom:8px;height:20px;pointer-events:none}
  .plot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 16px}
  .plot{position:relative;aspect-ratio:1/1;border:3px solid #4a2d1e;border-radius:6px;background:repeating-linear-gradient(0deg,#7a4a2c 0 3px,#6a3d24 3px 6px),#6a3d24;box-shadow:inset 0 0 0 2px rgba(255,220,160,.12),inset 0 -6px 0 rgba(0,0,0,.22),0 4px 0 #1a0f08,0 6px 12px rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;transition:transform .14s,filter .14s}
  body[data-season="winter"] .plot{background:repeating-linear-gradient(0deg,#c8dce8 0 3px,#a8c0d0 3px 6px),#a8c0d0;border-color:#5a7080}
  body[data-season="autumn"] .plot{background:repeating-linear-gradient(0deg,#a07038 0 3px,#885a28 3px 6px),#885a28}
  .plot::before{content:"";position:absolute;left:6px;right:6px;top:10px;height:2px;background:repeating-linear-gradient(90deg,rgba(50,26,15,.55) 0 3px,transparent 3px 8px);box-shadow:0 8px 0 repeating-linear-gradient(90deg,rgba(50,26,15,.55) 0 3px,transparent 3px 8px)}
  .plot::after{content:"";position:absolute;left:6px;right:6px;bottom:10px;height:2px;background:repeating-linear-gradient(90deg,rgba(50,26,15,.55) 0 3px,transparent 3px 8px)}
  .plot.empty .plot-empty-icon{width:40px;height:40px;opacity:.55;z-index:1;filter:drop-shadow(0 2px 0 rgba(0,0,0,.4))}
  .plot-plant{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:6px;z-index:1}
  .plot-plant .sprite{filter:drop-shadow(0 2px 0 rgba(0,0,0,.5));transform-origin:bottom center}
  .plot-plant .lvl{position:absolute;bottom:4px;right:5px;font-size:9px;background:rgba(0,0,0,.75);padding:1px 4px;border-radius:4px;font-weight:700;color:#e8ffe8;border:1px solid rgba(125,255,176,.3)}
  .plot-plant.growing .sprite{transform:scale(calc(.5 + .5*var(--grow-p,0))) translateY(calc(6px - 6px*var(--grow-p,0)));opacity:calc(.55 + .45*var(--grow-p,0));filter:drop-shadow(0 2px 0 rgba(0,0,0,.5)) drop-shadow(0 0 calc(4px + 6px*var(--grow-p,0)) rgba(125,255,176,calc(.35 + .35*var(--grow-p,0))));transition:transform .25s linear,opacity .25s linear,filter .25s linear}
  .plot-plant.growing .lvl{background:rgba(60,40,0,.85);color:#ffd54f}
  .plot-plant.mutant .sprite{filter:drop-shadow(0 0 8px rgba(255,215,0,.85)) drop-shadow(0 0 16px rgba(255,140,0,.5));animation:mutantGlow 1.6s ease-in-out infinite}
  .plot .grow-timer{position:absolute;top:3px;left:4px;font-size:9px;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,.78);font-weight:700;color:#ffd54f;border:1px solid rgba(255,213,79,.4);z-index:2}
  .plot .grow-bar{position:absolute;bottom:3px;left:4px;right:4px;height:4px;background:rgba(0,0,0,.75);border-radius:2px;overflow:hidden;z-index:2}
  .plot .grow-bar>i{display:block;height:100%;width:0;background:linear-gradient(90deg,#ffd54f,#7dffb0);transition:width .15s linear;box-shadow:0 0 6px rgba(125,255,176,.6)}
  .plot.water-target{border-color:#4fc3f7;animation:waterPulse 1s infinite}
  .plot-plant.ready-done::after{content:"";position:absolute;top:-4px;right:-4px;width:20px;height:20px;background:url("../assets/svg/ui/check.svg") no-repeat center/62% 62%,radial-gradient(circle at 30% 30%,#b3ffd0,#4caf50 70%,#1b5e20);border-radius:50%;box-shadow:0 0 12px rgba(125,255,176,.95),0 0 20px rgba(125,255,176,.5),0 2px 4px rgba(0,0,0,.5);animation:readyPop .45s cubic-bezier(.2,.8,.2,1),readyFloat 1.5s ease-in-out infinite .45s;z-index:5;pointer-events:none}

  .section-title{display:flex;align-items:center;gap:7px;color:#a5ffc8;font-size:11px;letter-spacing:1.5px;margin:12px 0 8px}
  .section-title::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(125,255,176,.3),transparent)}
  .collection{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
  .collection-card{padding:5px 3px;min-height:68px;border:1px solid rgba(125,255,176,.14);border-radius:7px;background:rgba(255,255,255,.035);text-align:center;position:relative;cursor:pointer;transition:.15s}
  .collection-card.locked{opacity:.3;filter:grayscale(1)}
  .collection-card .mini{width:34px;height:34px;margin:auto}
  .collection-card span{display:block;font-size:7px;color:#9db89d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .collection-card b{font-size:7px;color:#a5ffc8}
  .collection-card .info-i{position:absolute;top:2px;right:3px;font-size:9px;color:#4fc3f7;font-weight:900}

  .bottom-nav{flex-shrink:0;width:100%;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:6px;background:rgba(6,14,8,.9);border:1px solid rgba(125,255,176,.15);border-radius:14px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 12px 35px rgba(0,0,0,.5)}
  .nav-btn{border:0;background:transparent;color:#76907c;border-radius:9px;padding:7px 2px;font:700 8px inherit;font-family:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;transition:.18s;touch-action:manipulation;min-width:0}
  .nav-btn .icon{width:19px;height:19px}
  .nav-btn>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}

  #toast{position:fixed;top:40%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.92);border:2px solid rgba(125,255,176,.5);color:#7dffb0;padding:10px 20px;border-radius:10px;font-weight:700;opacity:0;pointer-events:none;transition:opacity .3s;z-index:2000;font-size:15px;text-align:center;font-family:inherit;letter-spacing:.5px;max-width:min(90vw,400px)}
  .inline-ico{width:1em;height:1em;vertical-align:-0.15em;display:inline-block;flex-shrink:0}
  #toast.show{opacity:1}

  .dragging{position:fixed;z-index:1000;pointer-events:none;transform:translate(-50%,-50%) scale(1.15);filter:drop-shadow(0 6px 12px rgba(0,0,0,.55));display:flex;align-items:center;justify-content:center;padding:4px;image-rendering:pixelated;will-change:left,top}

  .modal{position:fixed;inset:0;background:rgba(0,0,0,.78);display:none;align-items:center;justify-content:center;z-index:3000;padding:calc(12px + env(safe-area-inset-top,0px)) 12px calc(12px + env(safe-area-inset-bottom,0px)) 12px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);overflow:hidden}
  .modal.show{display:flex}
  .modal-card{background:linear-gradient(180deg,#1e3320,#0f1a12);border:2px solid #7dffb0;border-radius:14px;padding:16px;width:100%;max-width:420px;max-height:100%;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.85);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;animation:modalIn .22s cubic-bezier(.2,.8,.2,1)}
  @keyframes modalIn{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}
  .modal-card h2{font-size:15px;margin-bottom:12px;color:#7dffb0;letter-spacing:1px;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px}
  .modal-card h2 .icon{color:#7dffb0}
  .modal-card .big{font-size:24px;font-weight:800;margin:12px 0;color:#a5ffc8;letter-spacing:1px}
  .modal-card p{font-size:12px;color:#b0d0b0;margin-bottom:14px}
  .modal-btn{display:block;width:100%;padding:11px;border-radius:10px;border:none;font-size:13px;font-weight:700;cursor:pointer;margin-top:8px;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:6px;letter-spacing:.5px;touch-action:manipulation}
  .modal-btn.primary{background:linear-gradient(180deg,#4caf50,#2e7d32);color:#fff;box-shadow:0 3px 0 #1b5e20}
  .modal-btn.reward{background:linear-gradient(180deg,#ffb300,#ef6c00);color:#fff;box-shadow:0 3px 0 #b34700}
  .modal-btn.danger{background:linear-gradient(180deg,#ab47bc,#7b1fa2);color:#fff;box-shadow:0 3px 0 #4a148c}
  .modal-btn.ghost{background:transparent;color:#9db89d;box-shadow:none;border:1px solid rgba(157,184,157,.35)}
  .modal-btn.ghost:active{background:rgba(255,255,255,.05)}
  .modal-btn:active{transform:translateY(2px);box-shadow:none}

  .welcome-points{list-style:none;text-align:left;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}
  .welcome-points li{display:flex;align-items:center;gap:10px;font-size:12px;color:#cfe8cf;background:rgba(125,255,176,.06);border:1px solid rgba(125,255,176,.12);border-radius:10px;padding:8px 10px}
  .welcome-points .icon{flex-shrink:0;width:18px;height:18px;color:#7dffb0}

  .upgrade-item,.quest{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.05);padding:10px;border-radius:10px;margin-bottom:8px;text-align:left;border:1px solid rgba(125,255,176,.1)}
  .upgrade-item .ico{flex-shrink:0;width:26px;height:26px;display:flex;align-items:center;justify-content:center;color:#7dffb0}
  .upgrade-item .ico .icon{width:22px;height:22px}
  .upgrade-item .info,.quest .info{flex:1;min-width:0}
  .upgrade-item .info h4,.quest .info h4{font-size:12px;margin-bottom:2px;letter-spacing:.5px}
  .upgrade-item .info p{font-size:10px;color:#9db89d;margin:0;line-height:1.3}
  .upgrade-item .buy{padding:7px 10px;border-radius:6px;border:none;background:linear-gradient(180deg,#4caf50,#2e7d32);color:#fff;font-weight:700;font-size:11px;cursor:pointer;white-space:nowrap;min-width:78px;font-family:inherit;touch-action:manipulation}
  .upgrade-item .buy:disabled{background:#333;color:#666;cursor:default}
  .quest .info .bar{height:6px;background:rgba(0,0,0,.5);border-radius:3px;overflow:hidden;margin-top:4px;border:1px solid rgba(125,255,176,.1)}
  .quest .info .bar>div{height:100%;background:linear-gradient(90deg,#7dffb0,#4caf50);transition:width .3s}
  .quest .info .prog{font-size:10px;color:#9db89d;margin-top:3px}
  .quest .claim{padding:7px 10px;border-radius:6px;border:none;background:linear-gradient(180deg,#4caf50,#2e7d32);color:#fff;font-weight:700;font-size:11px;cursor:pointer;white-space:nowrap;min-width:68px;font-family:inherit;touch-action:manipulation}
  .quest .claim:disabled{background:#333;color:#666;cursor:default}
  .quest .claim.done{animation:claimPulse 1.2s infinite}
  .quest .claim-group{display:flex;flex-direction:column;gap:4px}
  .quest .claim-ad{padding:5px 8px;border-radius:6px;border:none;background:linear-gradient(180deg,#ffb300,#ef6c00);color:#fff;font-weight:700;font-size:10px;cursor:pointer;white-space:nowrap;min-width:68px;font-family:inherit;touch-action:manipulation;display:flex;align-items:center;justify-content:center;gap:3px}
  .quest .claim-ad .icon{width:10px;height:10px;flex-shrink:0}
  .quest .claim-ad:disabled{background:#333;color:#666;cursor:default}
  @keyframes claimPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,179,0,0)}50%{box-shadow:0 0 0 5px rgba(255,179,0,.35)}}

  .daily{background:rgba(255,213,79,.08);border:2px solid rgba(255,213,79,.35);border-radius:10px;padding:12px;margin-bottom:12px;text-align:left}
  .daily h4{font-size:12px;margin-bottom:4px;color:#ffd54f;letter-spacing:.5px}
  .daily p{font-size:11px;color:#d0c090;margin:0 0 8px}
  .daily .row{display:flex;gap:8px}
  .daily button{flex:1;padding:9px;border-radius:6px;border:none;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;touch-action:manipulation}
  .daily button.primary{background:linear-gradient(180deg,#4caf50,#2e7d32);color:#fff}
  .daily button.reward{background:linear-gradient(180deg,#ffb300,#ef6c00);color:#fff}
  .daily button:disabled{background:#333;color:#666;cursor:default}

  .tabs{display:flex;gap:5px;margin-bottom:10px}
  .tab{flex:1;padding:8px;border:1px solid rgba(125,255,176,.2);background:rgba(255,255,255,.03);color:#9db89d;border-radius:7px;font:700 10px inherit;font-family:inherit;cursor:pointer;transition:.15s;touch-action:manipulation}

  .ach-row{display:flex;align-items:center;gap:9px;padding:8px;background:rgba(79,195,247,.05);border:1px solid rgba(79,195,247,.15);border-radius:9px;margin-bottom:6px;text-align:left;transition:.2s}
  .ach-row.locked{opacity:.55}
  .ach-row .ico{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#4fc3f7}
  .ach-row.locked .ico{color:#555}
  .ach-row.done .ico{color:#7dffb0}
  .ach-row .info{flex:1;min-width:0}
  .ach-row .info h4{font-size:11px;margin-bottom:1px;color:#d8ecff}
  .ach-row .info p{font-size:9px;color:#8faa95;margin:0}
  .ach-row .prog{font-size:9px;color:#c8e8ff;font-weight:700;white-space:nowrap}
  .ach-row .prog .icon{display:inline-block;vertical-align:-2px;width:10px;height:10px;color:#4fc3f7}

  .plant-fact{font-size:11px;color:#e8ffe8;line-height:1.55;padding:12px;background:rgba(125,255,176,.06);border-left:3px solid #7dffb0;border-radius:6px;text-align:left;margin-top:8px}
  .plant-fact b{color:#7dffb0;display:block;font-size:9px;letter-spacing:1px;margin-bottom:4px;text-transform:uppercase}

  .stats-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:8px}
  .stat-box{padding:6px;text-align:center;border-radius:8px;background:rgba(125,255,176,.06);border:1px solid rgba(125,255,176,.1);min-width:0}
  .stat-box b{display:block;font-size:12px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .stat-box span{font-size:8px;color:#76907c;text-transform:uppercase}

  .shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .shop-item{position:relative;text-align:left;padding:10px;border:1px solid rgba(125,255,176,.14);border-radius:10px;background:linear-gradient(145deg,rgba(20,45,28,.9),rgba(9,20,13,.9))}
  .shop-item h4{font-size:11px;margin-bottom:3px;color:#e8ffe8}
  .shop-item p{font-size:9px;color:#8faa95;min-height:24px;line-height:1.35}
  .shop-item button{width:100%;margin-top:8px;border:0;border-radius:7px;padding:7px;font:700 10px inherit;font-family:inherit;color:#071008;background:linear-gradient(180deg,#a5ffc8,#4caf80);box-shadow:0 2px 0 #245f3c;cursor:pointer;touch-action:manipulation}
  .shop-item button:disabled{opacity:.4;cursor:default}

  .ach-popup{position:fixed;left:50%;top:15%;transform:translateX(-50%) translateY(-30px);z-index:5000;display:flex;align-items:center;gap:10px;padding:12px 16px;background:linear-gradient(135deg,#2a3d55,#1a2838);border:2px solid #4fc3f7;border-radius:12px;box-shadow:0 0 30px rgba(79,195,247,.5),0 12px 40px rgba(0,0,0,.55);opacity:0;transition:all .4s cubic-bezier(.2,.8,.2,1);pointer-events:none;max-width:min(90vw,400px)}
  .ach-popup.show{opacity:1;transform:translateX(-50%) translateY(0)}
  .ach-popup .ico{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:#4fc3f7;flex-shrink:0}
  .ach-popup .ico .icon{width:28px;height:28px}
  .ach-popup .txt{font-size:11px;line-height:1.35;min-width:0}
  .ach-popup .txt b{color:#4fc3f7;display:block;font-size:12px;letter-spacing:.5px}
  .ach-popup .txt span{color:#b8d0e0}
  .ach-popup .gems{color:#c8e8ff;font-size:11px;display:flex;align-items:center;gap:3px;margin-top:2px;font-weight:700}
  .mutant-popup{position:fixed;left:50%;top:28%;transform:translateX(-50%) scale(.6);z-index:5000;padding:10px 18px;background:linear-gradient(135deg,#4a2a10,#2a1408);border:2px solid #ffb300;border-radius:10px;box-shadow:0 0 30px rgba(255,179,0,.7),0 12px 40px rgba(0,0,0,.55);color:#ffd54f;font-weight:800;font-size:13px;letter-spacing:1px;text-align:center;opacity:0;transition:all .35s cubic-bezier(.2,.8,.2,1);pointer-events:none}
  .mutant-popup.show{opacity:1;transform:translateX(-50%) scale(1)}

  #tutorialTip{position:fixed;bottom:calc(96px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%) translateY(120%);background:linear-gradient(180deg,#2c4a2c,#16241a);border:2px solid #7dffb0;color:#e8ffe8;padding:12px 18px;border-radius:10px;font-size:13px;font-weight:700;max-width:90%;width:max-content;text-align:center;z-index:150;box-shadow:0 10px 30px rgba(0,0,0,.6);transition:transform .35s ease;pointer-events:none;letter-spacing:.5px;display:flex;align-items:center;gap:10px}

  .prestige-hero{font-size:64px;font-weight:900;text-align:center;color:#ffd54f;text-shadow:0 0 20px #ffb300,0 0 40px rgba(255,140,0,.5);margin:8px 0;letter-spacing:2px;animation:starPulse 2s ease-in-out infinite}
  @keyframes starPulse{50%{text-shadow:0 0 30px #ffd54f,0 0 60px rgba(255,180,0,.8);transform:scale(1.04)}}
  .prestige-row{display:flex;justify-content:space-between;padding:8px 10px;background:rgba(255,213,79,.08);border-radius:8px;margin-bottom:6px;font-size:12px;border:1px solid rgba(255,213,79,.2)}
  .prestige-row b{color:#ffd54f}
  .prestige-row span{color:#e8ffe8}
  .pshop-item{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid rgba(255,213,79,.22);border-radius:10px;margin-bottom:8px;background:linear-gradient(135deg,rgba(255,213,79,.08),rgba(255,140,0,.04));text-align:left;transition:.2s}
  .pshop-item.owned{background:linear-gradient(135deg,rgba(125,255,176,.12),rgba(125,255,176,.04));border-color:rgba(125,255,176,.4)}
  .pshop-item .ico{width:34px;height:34px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#ffd54f}
  .pshop-item.owned .ico{color:#7dffb0}
  .pshop-item .info{flex:1;min-width:0}
  .pshop-item .info h4{font-size:12px;margin-bottom:2px;color:#e8ffe8}
  .pshop-item .info p{font-size:10px;color:#9db89d;margin:0;line-height:1.3}
  .pshop-item .buy{padding:7px 10px;border-radius:6px;border:none;background:linear-gradient(180deg,#ffd54f,#f57c00);color:#2a1400;font-weight:800;font-size:11px;cursor:pointer;white-space:nowrap;min-width:76px;font-family:inherit;box-shadow:0 2px 0 #b34700;touch-action:manipulation}
  .pshop-item .buy:disabled{background:#333;color:#666;cursor:default;box-shadow:none}
  .pshop-item.owned .buy{background:#1e4a28;color:#7dffb0;box-shadow:none}

  .season-card,.weather-card{padding:12px;border-radius:12px;margin-bottom:8px;border:2px solid;display:flex;align-items:center;gap:12px;cursor:pointer;transition:.2s}
  .season-card.active,.weather-card.active{box-shadow:0 0 20px;transform:scale(1.02)}
  .season-card .icon,.weather-card .icon{width:34px;height:34px;flex-shrink:0}
  .season-card .meta,.weather-card .meta{flex:1;text-align:left}
  .season-card .meta h4,.weather-card .meta h4{font-size:13px;margin-bottom:2px}
  .season-card .meta p,.weather-card .meta p{font-size:9px;color:#9db89d;margin:0}

  #weatherLayer{position:fixed;inset:0;pointer-events:none;z-index:5;display:none;transition:opacity .6s}
  #lightningFlash{position:fixed;inset:0;pointer-events:none;z-index:6;background:#fff;opacity:0;transition:opacity .05s}
  #lightningFlash.flash{animation:flashAnim .35s ease-out}

  #nightOverlay{position:fixed;inset:0;pointer-events:none;z-index:7;opacity:0;
    background:linear-gradient(180deg,#050912 0%,#0a1024 55%,#0d1428 100%);
    transition:opacity 1s linear}
  #nightOverlay.active{display:block}
  #nightHaze{position:absolute;inset:0;background:radial-gradient(ellipse 90% 55% at 50% 82%,rgba(20,30,54,.35),transparent 70%);mix-blend-mode:screen;opacity:0;transition:opacity 2.4s ease}
  #nightOverlay.peak #nightHaze{opacity:1}
  #nightStars{position:absolute;inset:0}
  .night-star{position:absolute;width:2px;height:2px;background:#eef4ff;opacity:0;
    box-shadow:0 0 0 1px rgba(238,244,255,.18);image-rendering:pixelated;shape-rendering:crispEdges;
    transition:opacity 1.6s ease}
  .night-star.big{width:3px;height:3px;box-shadow:0 0 0 1px rgba(210,226,255,.22),0 0 5px 1px rgba(200,220,255,.35)}
  #nightStars.show .night-star{opacity:.85;animation:starTwinkle 2.8s ease-in-out infinite}
  #nightStars.show .night-star.s2{animation-delay:-1s}
  #nightStars.show .night-star.s3{animation-delay:-1.9s}
  @keyframes flashAnim{0%{opacity:0}15%{opacity:.55}30%{opacity:.08}45%{opacity:.45}100%{opacity:0}}
  body[data-weather="rain"] #weatherLayer{display:block;background:linear-gradient(180deg,rgba(40,70,110,.14),rgba(30,50,80,.22));animation:rainMoodDrift 20s ease-in-out infinite alternate}
  @keyframes rainMoodDrift{from{opacity:.75}to{opacity:1}}
  body[data-weather="rainbow"] #weatherLayer{display:block;background:linear-gradient(120deg,rgba(255,100,180,.12) 0%,rgba(255,220,100,.1) 25%,rgba(100,220,255,.12) 50%,rgba(180,120,255,.1) 75%,rgba(255,140,220,.12) 100%);animation:rainbowShift 6s ease-in-out infinite}
  @keyframes rainbowShift{0%,100%{opacity:.7}50%{opacity:1}}
  body[data-weather="storm"] #weatherLayer{display:block;background:radial-gradient(ellipse at 50% 0%,rgba(30,20,60,.35),transparent 60%),linear-gradient(180deg,rgba(20,10,40,.15),rgba(20,10,40,.05))}
  body[data-weather="frost"] #weatherLayer{display:block;background:radial-gradient(ellipse at 50% 30%,rgba(200,230,255,.15),transparent 70%),linear-gradient(180deg,rgba(180,220,255,.1),rgba(220,240,255,.2))}

  .bee{position:fixed;pointer-events:none;z-index:1400;image-rendering:pixelated;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35));transition:opacity .3s}
  .bee::after{content:"";position:absolute;inset:-3px;border-radius:50%;background:radial-gradient(circle,rgba(255,220,80,.35),transparent 70%);animation:beeGlow 1.5s ease-in-out infinite}
  @keyframes beeGlow{50%{transform:scale(1.3);opacity:.5}}

  #comboBox{position:fixed;top:22%;right:20px;z-index:1900;padding:6px 12px;background:linear-gradient(135deg,#ff8a65,#d84315);border:2px solid #ffcc80;border-radius:12px;color:#fff;font-weight:900;font-size:18px;letter-spacing:1px;text-align:center;box-shadow:0 0 24px rgba(255,120,60,.7),0 6px 16px rgba(0,0,0,.4);opacity:0;transform:translateX(50px) scale(.5);transition:all .25s cubic-bezier(.2,.8,.2,1);pointer-events:none}
  #comboBox .lbl{font-size:9px;display:block;letter-spacing:2px;opacity:.85}
  #comboBox.pop{animation:comboPop .35s ease}
  @keyframes comboPop{0%{transform:translateX(0) scale(1)}40%{transform:translateX(0) scale(1.25)}100%{transform:translateX(0) scale(1)}}

  .stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
  .stats-tile{padding:10px;border:1px solid rgba(125,255,176,.18);border-radius:9px;background:rgba(125,255,176,.05);text-align:left}
  .stats-tile .lbl{font-size:9px;color:#8faa95;letter-spacing:1px;text-transform:uppercase}
  .stats-tile .val{font-size:15px;font-weight:800;color:#e8ffe8;margin-top:3px;letter-spacing:.5px}
  .stats-tile .sub{font-size:9px;color:#7dffb0;margin-top:2px}
  .discover-meter{margin:8px 0 12px}
  .discover-meter-head{display:flex;justify-content:space-between;align-items:baseline;font-size:10px;color:#9db89d;margin-bottom:4px}
  .discover-meter-head b{font-size:13px;color:#7dffb0;letter-spacing:.5px}
  .discover-bar{height:10px;border-radius:2px}
  .discover-bar i{box-shadow:0 0 6px rgba(125,255,176,.4)}

  .help-section{display:flex;gap:11px;padding:11px;background:rgba(125,255,176,.05);border:1px solid rgba(125,255,176,.14);border-radius:10px;margin-bottom:8px;text-align:left}
  .help-section .h-ico{width:30px;height:30px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#7dffb0;background:rgba(125,255,176,.1);border-radius:8px}
  .help-section .h-ico .icon{width:22px;height:22px}
  .help-section .h-txt{flex:1;min-width:0}
  .help-section .h-txt h4{font-size:12px;margin-bottom:3px;color:#d8ffe0;letter-spacing:.5px}
  .help-section .h-txt p{font-size:10.5px;color:#b0d0b0;line-height:1.5;margin:0}
  .help-section .h-txt p+p{margin-top:4px}
  .help-section .h-txt b{color:#7dffb0;font-weight:700}
  .help-section .h-txt .tag{display:inline-block;padding:1px 6px;border-radius:5px;background:rgba(125,255,176,.15);color:#7dffb0;font-size:9px;font-weight:700;letter-spacing:.5px;margin-right:4px}
  .help-section .h-txt .tag.gold{background:rgba(255,213,79,.15);color:#ffd54f}
  .help-section .h-txt .tag.blue{background:rgba(79,195,247,.15);color:#c8e8ff}
  .help-section .h-txt .tag.red{background:rgba(255,82,82,.15);color:#ff8a8a}
  .help-section .h-txt .tag.purple{background:rgba(171,71,188,.18);color:#d8a0e8}
  .help-toc{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;margin-bottom:12px}
  .help-toc-btn{padding:5px 9px;border:1px solid rgba(125,255,176,.2);background:rgba(125,255,176,.05);border-radius:7px;color:#a5ffc8;font:700 9.5px inherit;font-family:inherit;cursor:pointer;letter-spacing:.5px;touch-action:manipulation}
  .help-hero{text-align:center;margin-bottom:14px;padding:12px;background:radial-gradient(circle at 50% 0%,rgba(125,255,176,.15),transparent 70%);border-radius:12px}
  .help-hero .title{font-size:22px;font-weight:900;color:#7dffb0;letter-spacing:2px;text-shadow:0 0 12px rgba(125,255,176,.5);margin-bottom:4px}
  .help-hero .sub{font-size:10px;color:#9db89d;letter-spacing:1.5px;text-transform:uppercase}


.icon-img{display:inline-block;width:16px;height:16px;flex:0 0 auto;vertical-align:middle;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges;}
span.icon-img{background-size:contain;background-repeat:no-repeat;background-position:center}
.inline-ico.icon-img{width:1em;height:1em;vertical-align:-0.15em;}
.sprite{object-fit:contain;}

.sprite{image-rendering:pixelated;image-rendering:crisp-edges;filter:drop-shadow(0 2px 0 rgba(0,0,0,.55));}
.plant .sprite,.plot-plant .sprite{outline:1px solid rgba(0,0,0,.10);}
.icon-img{image-rendering:pixelated;image-rendering:crisp-edges;}
.ach-popup .ico .icon-img{width:28px;height:28px;}

.plant .sprite,.plot-plant .sprite{rotate:var(--plant-tilt,0deg);translate:0 var(--plant-lean,0);transition:rotate .22s ease-out,translate .22s ease-out,filter .3s;}
.plant.watered-reaction .sprite,.plot-plant.watered-reaction .sprite{animation:wateredWiggle .52s cubic-bezier(.2,.8,.25,1)!important;}
@keyframes wateredWiggle{0%{transform:translateY(0) rotate(0)}18%{transform:translateY(-3px) rotate(-5deg)}38%{transform:translateY(1px) rotate(4deg)}58%{transform:translateY(-2px) rotate(-2deg)}78%{transform:translateY(0) rotate(1deg)}100%{transform:translateY(0) rotate(0)}}
body[data-weather="storm"] .cell.planted .plant:not(.growing) .sprite,body[data-weather="storm"] .plot-plant:not(.growing) .sprite{animation:stormSway 1.15s ease-in-out infinite;}
@keyframes stormSway{0%,100%{transform:rotate(-1deg) translateX(0)}50%{transform:rotate(3deg) translateX(2px)}}
#comboBox{background:rgba(93,46,24,.94);border:0;box-shadow:0 5px 0 rgba(45,24,12,.8),0 0 20px rgba(255,150,70,.35);border-radius:7px;transform:translateX(50px) rotate(-2deg) scale(.5);overflow:visible;padding:9px 15px;}
#comboBox b{font-size:21px;display:inline-block;position:relative;z-index:2}
#comboBox .combo-brush{position:absolute;display:block;pointer-events:none;background:#ffb45f;opacity:.75;filter:blur(.2px);}
#comboBox .brush-a{width:28px;height:7px;left:-10px;top:7px;transform:rotate(-18deg);clip-path:polygon(0 35%,18% 0,35% 45%,54% 10%,72% 55%,100% 20%,88% 85%,58% 60%,30% 100%,8% 70%);}
#comboBox .brush-b{width:9px;height:9px;right:-7px;top:2px;border-radius:55% 45% 60% 40%;transform:rotate(20deg);}
#comboBox .brush-c{width:18px;height:5px;right:-9px;bottom:6px;transform:rotate(12deg);clip-path:polygon(0 50%,22% 10%,44% 60%,68% 0,100% 45%,76% 100%,48% 70%,20% 100%);}
.gold-star{filter:drop-shadow(0 0 4px #ffcf55)!important;}
.plant.golden::before,.plot-plant.golden::before{content:"";position:absolute;inset:7px;border:2px dashed rgba(255,224,120,.55);border-radius:47% 53% 45% 55%;transform:rotate(-7deg);animation:goldHandHalo 1.8s ease-in-out infinite;pointer-events:none;z-index:2;}
@keyframes goldHandHalo{0%,100%{opacity:.35;transform:rotate(-7deg) scale(.96)}50%{opacity:.8;transform:rotate(5deg) scale(1.04)}}

.cell.planted .plant .sprite, .plot-plant .sprite{
  transition: transform .18s cubic-bezier(.2,.9,.25,1), filter .25s ease;
}
.cell.planted:hover .sprite, .cell.planted:focus-within .sprite{
  transform: translateX(1px) rotate(-1deg) scale(1.015);
}
.cell.selected .sprite{ filter: drop-shadow(0 2px 0 rgba(0,0,0,.55)) drop-shadow(2px 0 0 rgba(255,241,168,.16)); }
.water-target .sprite{ animation:waterReady .9s ease-in-out infinite; }
@keyframes waterReady{0%,100%{transform:rotate(-1deg) translateY(0)}35%{transform:rotate(1.5deg) translateY(-1px)}70%{transform:rotate(-2deg) translateY(0)}}

#keeperNote{
  position:absolute; left:50%; bottom:10px; transform:translate(-50%,12px) rotate(-1deg);
  z-index:80; max-width:min(420px,82vw); padding:7px 11px 7px 9px;
  display:flex; gap:7px; align-items:flex-start; pointer-events:none;
  background:rgba(255,248,214,.94); color:#4a3724; border:1px solid rgba(86,57,29,.35);
  border-radius:4px 7px 5px 6px; box-shadow:2px 3px 0 rgba(48,31,18,.2);
  font:700 10px/1.35 system-ui,sans-serif; opacity:0;
  transition:opacity .22s ease, transform .22s cubic-bezier(.2,.9,.25,1);
}
#keeperNote.show{opacity:1; transform:translate(-50%,0) rotate(-1deg)}
#keeperNote .keeper-pencil{display:inline-block;width:13px;height:13px;line-height:1;transform:rotate(-12deg);opacity:.75;vertical-align:middle}
#keeperNote .keeper-pencil .icon-img{width:100%;height:100%;display:block}

.plant.golden::after,.plot-plant.golden::after{
  content:""; position:absolute; width:5px; height:2px; right:4px; top:7px;
  background:#fff0a6; opacity:.75; transform:rotate(23deg); border-radius:55% 35% 60% 40%;
  box-shadow:-5px 5px 0 rgba(255,221,111,.5), 3px 6px 0 rgba(255,245,173,.35);
}
.plant.mutant::after,.plot-plant.mutant::after{
  content:""; position:absolute; width:4px; height:3px; left:5px; top:8px;
  background:#ffe08a; opacity:.55; transform:rotate(-17deg); border-radius:45% 60% 35% 55%;
}

.plant .mood-badge,.plot-plant .mood-badge{position:absolute;bottom:2px;left:4px;width:11px;height:11px;z-index:3;filter:drop-shadow(0 1px 0 rgba(0,0,0,.6))}
.plant .mood-badge svg,.plant .mood-badge img,.plot-plant .mood-badge svg,.plot-plant .mood-badge img{width:100%;height:100%;display:block}
.mood-badge.mood-healthy{animation:moodPulse 2.4s ease-in-out infinite}
.mood-badge.mood-storm{animation:moodFlicker 1.8s ease-in-out infinite}
.mood-badge.mood-rain{opacity:.92}
.mood-badge.mood-overwater{opacity:.8}
@keyframes moodPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
@keyframes moodFlicker{0%,100%{opacity:.55}50%{opacity:1}}

#keeperNote.diary-entry{background:rgba(240,230,200,.97);border:1px solid rgba(58,42,24,.5);border-radius:2px 6px 2px 6px;box-shadow:2px 3px 0 rgba(30,18,8,.3),0 0 0 3px rgba(199,162,91,.18);font-style:italic;max-width:min(460px,86vw)}
#keeperNote.diary-entry .keeper-pencil{transform:none;opacity:.9}

.plant-personality:nth-of-type(2){margin-top:4px;border-left-color:#5a8ac7;color:#c9d8e8;font-style:normal}

.cell.planted:not(.growing) .sprite[data-plant-level="0"], .plot-plant:not(.growing) .sprite[data-plant-level="0"]{animation:idlePip 2.7s ease-in-out infinite}
.cell.planted:not(.growing) .sprite[data-plant-level="1"], .plot-plant:not(.growing) .sprite[data-plant-level="1"]{animation:idlePatch 3.2s ease-in-out infinite}
.cell.planted:not(.growing) .sprite[data-plant-level="2"], .plot-plant:not(.growing) .sprite[data-plant-level="2"]{animation:idleSunny 2.4s ease-in-out infinite}
.cell.planted:not(.growing) .sprite[data-plant-level="3"], .plot-plant:not(.growing) .sprite[data-plant-level="3"]{animation:idleRuby 3.4s ease-in-out infinite}
.cell.planted:not(.growing) .sprite[data-plant-level="4"], .plot-plant:not(.growing) .sprite[data-plant-level="4"]{animation:idlePrickles 4s ease-in-out infinite}
.cell.planted:not(.growing) .sprite[data-plant-level="5"], .plot-plant:not(.growing) .sprite[data-plant-level="5"]{animation:idleOak 4.8s ease-in-out infinite}
.cell.planted:not(.growing) .sprite[data-plant-level="6"], .plot-plant:not(.growing) .sprite[data-plant-level="6"]{animation:idleMira 3.8s ease-in-out infinite}
.cell.planted:not(.growing) .sprite[data-plant-level="7"], .plot-plant:not(.growing) .sprite[data-plant-level="7"]{animation:idleMossy 4.4s ease-in-out infinite}
.cell.planted:not(.growing) .sprite[data-plant-level="8"], .plot-plant:not(.growing) .sprite[data-plant-level="8"]{animation:idleWhisper 3.1s ease-in-out infinite}
.cell.planted:not(.growing) .sprite[data-plant-level="9"], .plot-plant:not(.growing) .sprite[data-plant-level="9"]{animation:idleGoldie 2.9s ease-in-out infinite}
.cell.planted:not(.growing) .sprite[data-plant-level="10"], .plot-plant:not(.growing) .sprite[data-plant-level="10"]{animation:idleBluebell 3.6s ease-in-out infinite}
.cell.planted:not(.growing) .sprite[data-plant-level="11"], .plot-plant:not(.growing) .sprite[data-plant-level="11"]{animation:idleEmber 2.6s ease-in-out infinite}
.cell.planted:not(.growing) .sprite[data-plant-level="12"], .plot-plant:not(.growing) .sprite[data-plant-level="12"]{animation:idleOrbit 4s linear infinite}
.cell.planted:not(.growing) .sprite[data-plant-level="13"], .plot-plant:not(.growing) .sprite[data-plant-level="13"]{animation:idleRed 3.3s ease-in-out infinite}
.cell.planted:not(.growing) .sprite[data-plant-level="14"], .plot-plant:not(.growing) .sprite[data-plant-level="14"]{animation:idleGrandroot 5.2s ease-in-out infinite}
@keyframes idlePip{0%,100%{transform:rotate(-1deg) translateY(0)}50%{transform:rotate(1.8deg) translateY(-1px)}}
@keyframes idlePatch{0%,100%{transform:rotate(1deg)}50%{transform:rotate(-2deg) translateY(-1px)}}
@keyframes idleSunny{0%,100%{transform:scale(1) rotate(-1deg)}50%{transform:scale(1.025) rotate(1deg)}}
@keyframes idleRuby{0%,100%{transform:rotate(-.8deg)}45%{transform:rotate(1.4deg)}70%{transform:rotate(.2deg) translateY(-1px)}}
@keyframes idlePrickles{0%,100%{transform:rotate(0)}50%{transform:rotate(1deg)}}
@keyframes idleOak{0%,100%{transform:rotate(-.35deg)}50%{transform:rotate(.7deg)}}
@keyframes idleMira{0%,100%{transform:rotate(-2deg) translateX(0)}50%{transform:rotate(2.5deg) translateX(1px)}}
@keyframes idleMossy{0%,100%{transform:translateY(0)}50%{transform:translateY(-1px) rotate(-1deg)}}
@keyframes idleWhisper{0%,100%{transform:rotate(-1deg)}30%{transform:rotate(2deg)}65%{transform:rotate(-2deg)}}
@keyframes idleGoldie{0%,100%{transform:rotate(-1deg)}50%{transform:rotate(1deg) scale(1.018)}}
@keyframes idleBluebell{0%,100%{transform:rotate(-1deg) translateY(0)}50%{transform:rotate(1deg) translateY(-2px)}}
@keyframes idleEmber{0%,100%{transform:scale(1) rotate(-1deg)}50%{transform:scale(1.02) rotate(1deg)}}
@keyframes idleOrbit{0%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}100%{transform:rotate(-2deg)}}
@keyframes idleRed{0%,100%{transform:rotate(0)}50%{transform:rotate(-1.8deg) translateX(-1px)}}
@keyframes idleGrandroot{0%,100%{transform:rotate(-.4deg)}50%{transform:rotate(.55deg)}}

.season-mark{transform-box:fill-box;transform-origin:center;opacity:.9}
.spring-mark{animation:seasonSpring 6s ease-in-out infinite}
.summer-mark{animation:seasonSummer 7s ease-in-out infinite}
.autumn-mark{animation:seasonAutumn 5s ease-in-out infinite}
.winter-mark{animation:seasonWinter 6.5s ease-in-out infinite}
@keyframes seasonSpring{50%{transform:translateY(-2px) rotate(1deg)}}
@keyframes seasonSummer{50%{transform:translateY(1px)}}
@keyframes seasonAutumn{50%{transform:translateX(2px) rotate(-2deg)}}
@keyframes seasonWinter{50%{transform:translateY(2px)}}


#gardenLevel::before{
  content:""; position:absolute; width:26px; height:7px; left:9px; top:-4px;
  background:rgba(210,170,98,.55); transform:rotate(-2deg);
  box-shadow:0 2px 0 rgba(40,25,12,.25); pointer-events:none;
}
#gardenLevel{position:relative;}
#gardenLevel .level-row span:first-child{font-family:Georgia,serif;letter-spacing:.7px;}
.modal-card,.shop-item,.upgrade-item,.quest,.achievement-row,.collection-card{
  background-image:linear-gradient(transparent 96%,rgba(255,238,190,.025) 96%);
}

.topbar .icon-img,.btn .icon-img,.nav-btn .icon-img,.inline-ico.icon-img{image-rendering:pixelated;image-rendering:crisp-edges;}
.topbar .icon-img{filter:drop-shadow(1px 1px 0 rgba(24,20,13,.45));}



.topbar{position:relative;overflow:hidden;background:#31432a;border:2px solid #8d7448;border-radius:8px;box-shadow:inset 0 2px 0 rgba(255,244,201,.14),inset 0 -4px 0 rgba(20,13,8,.32),0 4px 0 #17100b,0 8px 18px rgba(0,0,0,.28);backdrop-filter:none}
.topbar::before{content:"";position:absolute;inset:3px;pointer-events:none;border:1px dashed rgba(239,213,155,.12);border-radius:5px}
.topbar::after{content:"";position:absolute;left:18%;right:18%;bottom:2px;height:1px;background:rgba(255,224,160,.16);box-shadow:-70px 0 rgba(255,224,160,.08),70px 0 rgba(255,224,160,.08)}
.essence,.gems,.stars{position:relative;z-index:1;text-shadow:1px 1px 0 #1b120c}
.essence{color:#d7e59e}.gems{color:#b8d7d8}.stars{color:#f1c86b}
#incomeLabel{font-style:italic;color:#b6ad8c}

.btn{border:0;border-radius:5px 5px 7px 7px;padding:9px 3px;box-shadow:inset 0 2px 0 rgba(255,255,255,.16),inset 0 -2px 0 rgba(0,0,0,.25),0 3px 0 rgba(24,15,8,.8);text-shadow:1px 1px 0 rgba(35,20,10,.55);transition:transform .12s ease,filter .12s ease;letter-spacing:.15px}
.btn::after{content:"";position:absolute;left:7px;right:7px;top:3px;height:1px;background:rgba(255,244,205,.16);pointer-events:none}
.btn.primary{background:#5f8249;box-shadow:inset 0 2px 0 #91ad70,inset 0 -3px 0 #3b5730,0 3px 0 #203019}
.btn.journal{background:#9a7035;box-shadow:inset 0 2px 0 #c79d59,inset 0 -3px 0 #694a23,0 3px 0 #3a2815}
.btn.water{background:#527d89;box-shadow:inset 0 2px 0 #82aab0,inset 0 -3px 0 #365964,0 3px 0 #20353c}
.btn.prestige{background:#725f78;box-shadow:inset 0 2px 0 #95809a,inset 0 -3px 0 #4c3e51,0 3px 0 #2b202e}
.btn.reward{background:#b2863b;box-shadow:inset 0 2px 0 #e0bd70,inset 0 -3px 0 #75561e,0 3px 0 #3b2a10}
.btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}

.garden-title{font-family:Georgia,'Times New Roman',serif;font-size:15px;color:#f0dfb0;letter-spacing:1px;text-shadow:2px 2px 0 #3a2416,0 0 1px #fff2c8;position:relative}
.garden-title::before{content:url(../assets/svg/icons/icon-star.svg);display:inline-block;width:8px;height:8px;margin-right:6px;vertical-align:middle}
.garden-title::after{content:"";display:inline-block;width:22px;height:5px;margin-left:6px;border-bottom:1px solid #8f7549;border-radius:50%;vertical-align:middle;transform:rotate(-2deg)}

.garden-panel{background:#30442b;border:2px solid #806b47;border-radius:9px 12px 8px 11px;box-shadow:inset 0 2px 0 rgba(255,240,195,.08),inset 0 -7px 0 rgba(17,12,7,.18),0 5px 0 #17100b}
.panel{background:#263a27;border:2px solid #6e7650;border-radius:6px 11px 8px 7px;box-shadow:inset 0 0 0 1px rgba(239,224,173,.08),0 5px 0 #17120d}
.shop-panel{background:#3a3021;border:2px solid #9b7742;border-radius:11px 7px 12px 6px;box-shadow:inset 0 2px 0 rgba(255,232,171,.12),0 5px 0 #1d140c}
.quest-panel{background:#2b3a2b;border:2px solid #657856;border-radius:8px 6px 12px 9px;box-shadow:inset 0 2px 0 rgba(220,238,187,.08),0 5px 0 #17120d}
.achievement-panel{background:#28343a;border:2px solid #667d82;border-radius:12px 7px 9px 10px;box-shadow:inset 0 2px 0 rgba(213,239,238,.08),0 5px 0 #12191b}

.plot-area{background:#4d673f;border:1px solid #75855a;border-radius:10px 7px 12px 8px;padding:6px;box-shadow:inset 0 3px 0 rgba(213,230,169,.08),inset 0 -6px 0 rgba(22,30,15,.2)}
.plot{border:3px solid #50331f;border-radius:5px 7px 4px 6px;background:repeating-linear-gradient(0deg,#765033 0 3px,#69452b 3px 6px);box-shadow:inset 2px 2px 0 rgba(255,217,153,.1),inset -2px -4px 0 rgba(27,16,8,.3),0 3px 0 #2a190e,0 5px 8px rgba(0,0,0,.3)}
.plot::before{opacity:.7;transform:rotate(-.5deg)}
.plot::after{left:9px;right:9px;bottom:12px;opacity:.55;transform:rotate(.7deg)}
.plot:nth-child(2n){border-radius:7px 4px 6px 5px}
.plot:nth-child(3n){transform:rotate(.15deg)}
.plot:nth-child(3n+1){transform:rotate(-.15deg)}
.plot:active{transform:translateY(2px) rotate(0)}

.meadow-scene{border:3px solid #60412a;border-radius:7px 12px 8px 10px;box-shadow:inset 0 0 0 2px rgba(242,222,170,.09),inset 0 -8px 0 rgba(38,52,24,.16),0 4px 0 #25170d}
.meadow-scene::after{content:"";position:absolute;left:9px;top:9px;width:3px;height:3px;background:#d9c06f;box-shadow:18px 8px #82975b,48px 4px #b6a86a,90px 13px #728c56,142px 7px #d0b66d;opacity:.45;pointer-events:none}

.collection{gap:7px}
.collection-card{padding:6px 3px 5px;min-height:72px;border:1px solid #77694b;border-radius:4px 8px 5px 7px;background:#394331;box-shadow:inset 0 1px 0 rgba(255,243,198,.1),0 3px 0 #1c1810;transform:none}
.collection-card:nth-child(3n){transform:rotate(.45deg)}
.collection-card:nth-child(4n){transform:rotate(-.35deg)}
.collection-card:nth-child(5n){background:#41483a;border-radius:7px 4px 8px 5px}
.collection-card::before{content:"";position:absolute;top:3px;left:6px;width:12px;height:1px;background:#c6aa6d;opacity:.25;transform:rotate(-4deg)}
.collection-card span{color:#b9b89a}.collection-card b{color:#e2c67e}

.section-title{font-family:Georgia,'Times New Roman',serif;color:#d8c28b;letter-spacing:.8px;text-transform:none;position:relative}
.section-title::before{content:"";width:6px;height:6px;background:#c39850;border:1px solid #e1c77f;display:inline-block;transform:rotate(45deg);margin-right:1px;box-shadow:0 0 0 2px rgba(195,152,80,.12)}
.section-title::after{height:2px;background:repeating-linear-gradient(90deg,#826d46 0 12px,transparent 12px 17px);opacity:.65}

.quest{background:#35442f;border:1px solid #77835e;border-left:4px solid #b08b4e;border-radius:2px 8px 5px 7px;box-shadow:2px 3px 0 rgba(20,13,8,.35);position:relative}
.quest:nth-child(2n){transform:rotate(.25deg)}
.quest:nth-child(3n){transform:rotate(-.2deg)}
.quest .info h4{font-family:Georgia,serif;color:#e6d6a8}
.quest .info p,.quest .info .prog{color:#adb398}
.quest .info .bar{height:5px;border:0;border-radius:1px;background:#20281b}.quest .info .bar>div{background:#8ea95f;box-shadow:inset 0 1px 0 rgba(231,244,185,.3)}
.quest .claim,.quest .claim-ad{border-radius:3px;box-shadow:0 2px 0 #3b2816}.quest .claim{background:#657e49}.quest .claim-ad{background:#a87536}

.daily{background:#51442b;border:1px solid #b29154;border-radius:3px 9px 4px 8px;padding:11px;box-shadow:inset 0 1px 0 rgba(255,238,181,.14),3px 4px 0 rgba(22,13,7,.28);position:relative}
.daily::after{content:"DAILY";position:absolute;right:8px;top:5px;font:700 7px Georgia,serif;color:#d7b76f;letter-spacing:1px;opacity:.55;transform:rotate(3deg)}
.daily h4{font-family:Georgia,serif;color:#f0cf82}.daily p{color:#d2c59f}.daily button{border-radius:4px}.daily button.primary{background:#637e4b}.daily button.reward{background:#a97637}

.shop-grid{gap:9px}
.shop-item{background:#4a3927;border:2px solid #80603b;border-radius:5px 8px 4px 9px;box-shadow:inset 0 2px 0 rgba(255,229,177,.1),inset 0 -5px 0 rgba(34,19,9,.22),0 4px 0 #24160c}
.shop-item:nth-child(2n){border-radius:9px 4px 7px 5px;background:#443626}
.shop-item::before{content:"";position:absolute;left:8px;right:8px;top:5px;height:1px;background:#d0a968;opacity:.2;transform:rotate(-1deg)}
.shop-item h4{font-family:Georgia,serif;color:#ead5a2}.shop-item p{color:#b5a887}.shop-item button{border-radius:3px;background:#718e50;box-shadow:0 2px 0 #3a5029}.shop-item.gem-item{background:#304149;border-color:#637e85}.shop-item.gem-item button{background:#709aa2;box-shadow:0 2px 0 #365b62;color:#f1f0d7}

.tabs{gap:6px}.tab{border:1px solid #746947;border-bottom:3px solid #453b27;background:#30382c;border-radius:5px 5px 2px 2px;color:#b2b49a;box-shadow:inset 0 1px 0 rgba(255,239,190,.08)}
.tab:nth-child(2){background:#333b34}.tab:nth-child(3){background:#38382f}
.tab.active{background:#657d4d;border-color:#a3a86c;color:#fff0c4;box-shadow:inset 0 2px 0 rgba(236,242,192,.18),0 2px 0 #26351e}

.ach-row{background:#303d42;border:1px solid #536b70;border-radius:9px 4px 8px 5px;box-shadow:inset 0 1px 0 rgba(223,242,238,.08),0 2px 0 #172025}
.ach-row:nth-child(2n){border-radius:4px 9px 5px 8px}.ach-row.done{background:#35483b;border-color:#788e62}.ach-row .info h4{color:#d6dfc7}.ach-row.done .info h4{color:#e2d08a}.ach-row .info p{color:#9eaaa0}

.stats-grid{gap:6px}.stats-tile{background:#303b2e;border:1px solid #657052;border-radius:2px;box-shadow:inset 0 1px 0 rgba(235,235,188,.08)}
.stats-tile:nth-child(2){background:#303a3b}.stats-tile:nth-child(3){background:#3c382b}.stats-tile:nth-child(4){background:#38302f}
.stats-tile .lbl{font-family:Georgia,serif;color:#aaa887}.stats-tile .val{color:#e9ddb3}.stats-tile .sub{color:#91a56e}

.bottom-nav{padding:5px 5px 6px;background:#30251a;border:2px solid #72563a;border-radius:7px 10px 6px 9px;box-shadow:inset 0 2px 0 rgba(255,235,188,.08),0 5px 0 #17100a;backdrop-filter:none}
.nav-btn{border-radius:3px;color:#9a9278;padding:6px 2px;background:transparent;position:relative}.nav-btn:nth-child(2){transform:rotate(-.4deg)}.nav-btn:nth-child(4){transform:rotate(.35deg)}
.nav-btn.active,.nav-btn:hover{color:#ead39a;background:#4d603d;box-shadow:inset 0 2px 0 rgba(231,239,186,.12),0 2px 0 #253018}
.nav-btn .icon{filter:drop-shadow(1px 1px 0 #1b120b)}

.modal{background:rgba(11,9,6,.72);backdrop-filter:blur(2px)}
.modal-card{background:#35422e;border:3px solid #8e7447;border-radius:6px 12px 7px 10px;padding:15px;box-shadow:inset 0 2px 0 rgba(255,242,198,.1),inset 0 -8px 0 rgba(20,12,7,.2),0 12px 0 #17100b,0 22px 45px rgba(0,0,0,.55)}
.modal-card h2,.shop-title,.quest-title,.achievement-title{font-family:Georgia,'Times New Roman',serif;color:#ead39b;text-shadow:2px 2px 0 #332316}
.modal-card h2::after{content:"";width:30px;height:2px;background:#9c7e4b;margin-left:4px;transform:rotate(1deg)}
.modal-btn{border-radius:4px;box-shadow:0 3px 0 #2b1a0e}.modal-btn.primary{background:#66814c}.modal-btn.reward{background:#aa7939}.modal-btn.danger{background:#87564e}
.modal-btn.ghost{background:transparent;border:1px solid #786748;color:#b7ad8d}
.welcome-points{list-style:none}
.welcome-points li{background:#3b4132;border:1px solid #777052;border-radius:2px 7px 5px 3px;box-shadow:2px 3px 0 rgba(20,12,7,.25);color:#c9c2a4}

.upgrade-item{background:#303b2c;border:1px solid #687252;border-radius:4px;box-shadow:inset 0 1px 0 rgba(240,236,189,.08),0 2px 0 rgba(22,14,8,.3)}
.upgrade-item:nth-child(2n){background:#34382d}.upgrade-item .ico{color:#c4a15c}.upgrade-item .info h4{font-family:Georgia,serif;color:#dfd2a7}.upgrade-item .info p{color:#a9ad91}.upgrade-item .buy{background:#6e894e;border-radius:3px;box-shadow:0 2px 0 #394c29}

.season-card{border-width:2px;border-radius:5px 9px 6px 8px;box-shadow:0 3px 0 rgba(24,14,8,.3),inset 0 1px 0 rgba(255,255,255,.1)}
.season-card.spring{background:#4b5438;border-color:#a58d68}.season-card.summer{background:#4f5431;border-color:#b69a51}.season-card.autumn{background:#563d2c;border-color:#a56e42}.season-card.winter{background:#394950;border-color:#77919a}
.season-card.active{transform:rotate(-.4deg) translateY(-1px);box-shadow:0 0 0 2px rgba(224,201,132,.12),0 4px 0 rgba(24,14,8,.35)}

.weather-card{border-width:2px;border-radius:5px 9px 6px 8px;box-shadow:0 3px 0 rgba(24,14,8,.3),inset 0 1px 0 rgba(255,255,255,.1)}
.weather-card.sunny{background:#565a34;border-color:#a5a568}.weather-card.rain{background:#334a56;border-color:#6893a5}.weather-card.frost{background:#3c4f56;border-color:#7fb0c2}.weather-card.storm{background:#453b56;border-color:#8a72a5}.weather-card.rainbow{background:#563c50;border-color:#c273a8}
.weather-card.active{transform:rotate(-.4deg) translateY(-1px);box-shadow:0 0 0 2px rgba(224,201,132,.12),0 4px 0 rgba(24,14,8,.35)}

.help-section{background:#3b4132;border:1px solid #777052;border-left:3px solid #b18b50;border-radius:2px 7px 5px 3px;box-shadow:2px 3px 0 rgba(20,12,7,.25)}
.help-section:nth-child(2n){transform:rotate(.18deg)}.help-section .h-ico{background:#51553b;border-radius:3px;color:#d2b56e}.help-section .h-txt h4{font-family:Georgia,serif;color:#e2d4aa}.help-section .h-txt p{color:#b7b39a}.help-section .h-txt b{color:#d9c078}
.help-toc-btn{background:#343a2e;border:1px solid #706b50;border-radius:3px;color:#c9bd94}.help-toc-btn.active{background:#61764a;border-color:#9c9a62;color:#fff0c3}
.help-hero{background:#3c4731;border-radius:4px 10px 5px 8px;border:1px solid #796a48;box-shadow:inset 0 2px 0 rgba(255,239,189,.08)}
.help-hero .title{font-family:Georgia,serif;color:#e6ce8f;text-shadow:2px 2px 0 #302014}.help-hero .sub{color:#aaa98c}

#toast{background:#3d432f;border:1px solid #a28a56;border-radius:3px 8px 4px 7px;color:#f0ddb0;box-shadow:3px 4px 0 rgba(16,10,6,.45),inset 0 1px 0 rgba(255,244,200,.1)}
#toast.gem{border-color:#79959a;color:#d2e4d8}
#keeperNote{background:#e2d1a1;color:#46331e;border:1px solid #9b8151;border-radius:2px 7px 3px 5px;box-shadow:3px 4px 0 rgba(15,9,5,.35)}
#keeperNote::before{background:#b99a5e}
#tutorialTip{background:#3d4932;border:2px solid #8d774c;border-radius:4px;box-shadow:4px 5px 0 rgba(15,9,5,.4)}

#comboBox{background:#7a472c;border:2px solid #c18a4d;border-radius:4px 11px 5px 8px;box-shadow:4px 5px 0 #2b180d,0 0 18px rgba(190,112,55,.22);transform:translateX(50px) rotate(-2deg) scale(.5)}
#comboBox.show{transform:translateX(0) rotate(-2deg) scale(1)}
#comboBox b{font-family:Georgia,serif;text-shadow:2px 2px 0 #3b2114}

@media (prefers-reduced-motion:reduce){.btn:hover:not(:disabled),.collection-card,.quest,.help-section,.season-card.active{transform:none}.btn,.plot,.nav-btn{transition:none}}

#game{background-image:repeating-linear-gradient(0deg,rgba(255,244,201,.018) 0 1px,transparent 1px 5px)}
#grid{border-color:#6e5332;background:#21180f;box-shadow:inset 0 0 0 3px #3b2a1a,inset 0 0 0 5px rgba(232,198,126,.08),0 6px 0 #120b06,0 12px 22px rgba(0,0,0,.38);border-radius:7px 10px 8px 6px}
.cell{background:#31432c;border-color:#526a43;border-radius:5px 7px 4px 6px;box-shadow:inset 0 2px 0 rgba(218,236,171,.06),inset 0 -3px 0 rgba(0,0,0,.2)}
.cell:nth-child(3n){border-radius:7px 4px 6px 5px}.cell:nth-child(5n){background:#35482e}
.level-row{padding:5px 7px 4px;border-left:3px solid #8d7141;background:rgba(47,61,37,.65);box-shadow:inset 0 1px 0 rgba(255,238,180,.08)}
.xpbar{border-radius:1px;background:#182116;border-color:#665537}

#shopModal{background:rgba(24,17,9,.78)}
#shopModal .modal-card{background:#493722;border-color:#a57a43;border-width:4px;border-radius:4px 13px 5px 9px;box-shadow:inset 0 8px 0 rgba(246,211,143,.06),inset 0 -12px 0 rgba(38,20,7,.25),0 7px 0 #1b1008,0 25px 45px rgba(0,0,0,.55)}
#shopModal .modal-card::before{content:"MARKET STALL";display:block;text-align:center;margin:-7px auto 9px;padding:3px 9px;width:max-content;font:700 8px Georgia,serif;letter-spacing:2px;color:#ead09a;background:#6f4c29;border:1px solid #b18a50;transform:rotate(-1deg);box-shadow:2px 2px 0 #2a180c}
#shopModal .shop-grid{grid-template-columns:repeat(2,1fr);gap:10px 8px}
#shopModal .shop-item{position:relative;min-height:112px;padding:10px 8px 9px;background:#60482b;border-color:#9c7441;border-radius:3px 8px 4px 7px}
#shopModal .shop-item:nth-child(3n){background:#564027;transform:rotate(.35deg)}
#shopModal .shop-item:nth-child(4n){transform:rotate(-.3deg)}
#shopModal .shop-item::after{content:"";position:absolute;right:7px;bottom:6px;width:18px;height:5px;border-top:1px dashed rgba(245,211,144,.28);transform:rotate(-5deg)}
#shopModal .modal-btn.primary{background:#80603a;border-color:#b58a4d}

#upgradesModal .modal-card{background:#34402d;border-color:#806340;border-radius:8px 5px 11px 6px}
#upgradesModal .modal-card h2{padding-bottom:7px;border-bottom:2px dashed #786345;letter-spacing:.4px}
#upgradesModal .upgrade-item{position:relative;padding-left:12px;background:#2b3528;border-left:4px solid #806640;border-radius:3px 6px 5px 2px}
#upgradesModal .upgrade-item:nth-child(2n){border-left-color:#6d8451;background:#313b2c}
#upgradesModal .upgrade-item::before{content:"•";position:absolute;left:3px;top:4px;color:#c29a5b;font-size:13px}
#upgradesModal .upgrade-item .buy{background:#657b48;border-radius:2px;border:1px solid #91a96a}

#rewardsModal .modal-card{background:#3b3327;border-color:#a0824e;border-radius:3px 10px 4px 8px}
#rewardsModal .modal-card::before{content:"PINBOARD";display:block;text-align:center;color:#d5b56f;font:700 8px Georgia,serif;letter-spacing:2px;margin:-3px 0 9px;padding:0 14px;background:url(../assets/svg/icons/icon-star.svg) left center/8px 8px no-repeat,url(../assets/svg/icons/icon-star.svg) right center/8px 8px no-repeat}
#rewardsModal .daily{background:#5b492d;border-color:#c09a58;transform:rotate(-.45deg)}
#rewardsModal .daily:nth-child(2n){transform:rotate(.35deg);background:#51432d}
#rewardsModal .achievement-row{border-radius:3px 8px 5px 4px;background:#344044;border-color:#66777a}
#rewardsModal .achievement-row:nth-child(3n){transform:rotate(.25deg)}

#plantModal .modal-card{background:#273626;border-color:#718653;border-radius:10px 4px 8px 5px}
#plantModal .modal-card::before{content:"FIELD SPECIMEN";display:block;color:#9eaf7d;font:700 7px Georgia,serif;letter-spacing:2px;margin-bottom:5px;opacity:.75}
#plantModal .modal-card h2{color:#d6e0ad;text-shadow:1px 2px 0 #172116}
#plantDetail{background:#202c21;border:1px dashed #6f8057;padding:10px;border-radius:2px 6px 3px 7px;box-shadow:inset 0 0 18px rgba(137,167,90,.05)}

#prestigeModal{background:rgba(13,10,5,.84)}
#prestigeModal .modal-card{background:#29251d;border-color:#9a783e;border-width:4px;border-radius:12px 3px 10px 4px;box-shadow:inset 0 0 0 2px rgba(223,188,109,.1),inset 0 -10px 0 rgba(0,0,0,.25),0 8px 0 #120d08,0 30px 55px rgba(0,0,0,.65)}
#prestigeModal .modal-card h2{color:#f0d287;text-align:center;letter-spacing:2px}
#prestigeModal .prestige-row{background:#332d21;border-color:#80633a;border-radius:2px;border-left:3px solid #c19a50}
#prestigeModal .pshop-item{background:#302b22;border-color:#765d36;border-radius:4px 9px 4px 7px}
#prestigeModal .pshop-item.owned{background:#2e3a2b;border-color:#728e52}
#prestigeModal .modal-btn.danger{background:#74463b;border-color:#9b6554}

#seasonModal .modal-card{background:#40372b;border-color:#91764a;border-radius:5px 11px 4px 9px}
#seasonModal .season-card,#weatherModal .weather-card{min-height:74px;padding:10px 12px;position:relative;overflow:hidden}
#seasonModal .season-card::after,#weatherModal .weather-card::after{content:"";position:absolute;right:-8px;top:7px;width:42px;height:1px;background:rgba(255,240,190,.28);transform:rotate(24deg);box-shadow:0 5px 0 rgba(255,240,190,.13)}
#seasonModal .season-card.spring{background:#55503b;border-color:#b79b82}
#seasonModal .season-card.summer{background:#5a512f;border-color:#c2a45b}
#seasonModal .season-card.autumn{background:#594032;border-color:#b7794b}
#seasonModal .season-card.winter{background:#3d4a50;border-color:#8099a1}

#statsModal .modal-card{background:#3e3a2e;border-color:#8a7048;border-radius:2px 9px 3px 7px}
#statsModal .modal-card h2{font-size:16px;letter-spacing:1px}
#statsModal .stats-grid{gap:0;border-top:1px solid #7c6a49;border-left:1px solid #7c6a49}
#statsModal .stats-tile{min-height:62px;padding:9px 8px;border:0;border-right:1px solid #7c6a49;border-bottom:1px solid #7c6a49;border-radius:0;background:#39372d}
#statsModal .stats-tile:nth-child(2n){background:#3f3c31}
#statsModal .stats-tile .val{font-family:Georgia,serif;font-size:16px;color:#ead59c}
#statsModal .discover-meter{margin-top:4px;margin-bottom:14px}

#helpModal .modal-card{background:#4a4335;border-color:#9b8051;border-radius:2px 12px 3px 8px}
#helpModal .help-hero{background:#554a36;border-bottom:2px solid #806845;border-radius:1px 8px 2px 5px;padding:14px 10px}
#helpModal .help-hero .title{font-family:Georgia,serif;color:#f0d99d;text-shadow:2px 2px 0 #302518}
#helpModal .help-toc{justify-content:flex-start;padding:4px 0;border-bottom:1px dashed #806d4c}
#helpModal .help-toc-btn{background:#5a503d;border-color:#8c7955;border-radius:2px}
#helpModal .help-toc-btn:nth-child(3n){transform:rotate(-.5deg)}
#helpModal .help-section{background:#504937;border-left:4px solid #a27e49;border-radius:1px 5px 2px 6px;padding:10px}
#helpModal .help-section:nth-child(2n){background:#4b4536}
#helpModal .help-section::before{content:"";position:absolute;left:7px;top:7px;width:4px;height:4px;background:#c49b58;box-shadow:0 0 0 1px #74572f;transform:rotate(45deg)}
#helpModal .help-section .h-txt p{line-height:1.55}

#offlineModal .modal-card{background:#d8c797;color:#3f2f1b;border-color:#8b6d3e;border-radius:2px 7px 3px 5px;box-shadow:5px 6px 0 rgba(21,12,6,.5),inset 0 0 0 2px rgba(255,248,207,.25)}
#offlineModal .modal-card h2{color:#4a361e;text-shadow:1px 1px 0 #f2e6bb}
#offlineModal .modal-card p,#offlineAmount{color:#594322}
#offlineModal .modal-btn.primary{background:#63784a;color:#f8f0cf}
#offlineModal .modal-btn.reward{background:#9a6d35;color:#fff1c9}

#shopModal .modal-btn{border-radius:3px 6px 2px 5px}
#upgradesModal .modal-btn,#rewardsModal .modal-btn,#plantModal .modal-btn,#statsModal .modal-btn{border-radius:3px 7px 4px 2px}
#seasonModal .modal-btn{border-radius:7px 3px 5px 4px}
#helpModal .modal-btn{border-radius:2px 8px 3px 6px}

#game::before{content:"";position:absolute;left:12px;bottom:78px;width:18px;height:28px;border:2px solid #5d4127;background:#765334;box-shadow:inset 2px 0 0 rgba(238,201,130,.13),inset -3px 0 0 rgba(28,16,8,.3),42px 7px 0 -1px #68482b,84px 2px 0 -1px #6d4a2a;opacity:.8;transform:rotate(-2deg);pointer-events:none;z-index:1}
#game::after{content:"GROW • MERGE • HARVEST";position:absolute;right:12px;bottom:81px;font:700 7px Georgia,serif;letter-spacing:1px;color:#c4aa70;opacity:.42;transform:rotate(-1deg);pointer-events:none;z-index:1}
#seasonBadge{border-radius:3px 8px 2px 6px;border-style:dashed;letter-spacing:.6px}
#weatherBadge{border-radius:8px 3px 6px 2px}
#soundBtn,#langBtn{border-radius:3px 7px 4px 2px}
#seedBtn,#waterBtn{position:relative}
#seedBtn::after{content:"SEED";position:absolute;right:4px;bottom:2px;font:700 5px Arial,sans-serif;letter-spacing:.7px;opacity:.28}
#waterBtn::after{content:"H2O";position:absolute;right:4px;bottom:2px;font:700 5px Arial,sans-serif;letter-spacing:.7px;opacity:.28}

#shopModal .shop-item h4::first-letter{font-size:1.08em}
#shopModal .shop-item button{min-height:30px;border-radius:2px 6px 2px 5px}
#shopModal .shop-item:nth-child(2n)::before{transform:rotate(2deg);opacity:.13}
#shopModal .shop-item:nth-child(3n)::after{content:"STOCKED";width:auto;height:auto;border:0;right:6px;bottom:7px;font:700 5px Arial,sans-serif;letter-spacing:.8px;color:#d6bf8a;opacity:.4;transform:rotate(-2deg);padding-left:8px;background:url(../assets/svg/icons/icon-check-mini.svg) left center/6px 6px no-repeat}

#upgradesModal .upgrade-item::after{content:"USED";position:absolute;right:7px;top:5px;font:700 5px Arial,sans-serif;letter-spacing:1px;color:#a89265;opacity:.28;transform:rotate(-4deg)}
#upgradesModal .upgrade-item:nth-child(3n)::after{content:"OAK";transform:rotate(3deg)}
#upgradesModal .upgrade-item:nth-child(4n)::after{content:"FITTED"}

#rewardsModal .achievement-row{position:relative;overflow:hidden}
#rewardsModal .achievement-row::before{content:"";position:absolute;left:-3px;top:7px;width:11px;height:7px;background:#8c7146;clip-path:polygon(0 0,100% 0,72% 50%,100% 100%,0 100%);opacity:.65}
#rewardsModal .achievement-row.done::after{content:"EARNED";position:absolute;right:7px;top:6px;font:700 5px Arial,sans-serif;letter-spacing:1px;color:#b8c98c;opacity:.55}

#plantModal .modal-card::after{content:"leaf • stem • soil";display:block;margin-top:8px;text-align:right;font:italic 8px Georgia,serif;color:#899a70;opacity:.55;letter-spacing:.5px}
#plantDetail::before{content:"01";position:absolute;right:8px;top:7px;font:700 7px Georgia,serif;color:#8d9d73;opacity:.35}

#prestigeModal .modal-card::before{content:"RESET THE GARDEN";display:block;text-align:center;color:#aa8a4d;font:700 7px Georgia,serif;letter-spacing:2px;margin:-2px 0 8px;opacity:.72;padding:0 14px;background:url(../assets/svg/icons/icon-star.svg) left center/7px 7px no-repeat,url(../assets/svg/icons/icon-star.svg) right center/7px 7px no-repeat}
#prestigeModal .prestige-row:nth-child(2n){transform:translateX(2px)}
#prestigeModal .prestige-row:nth-child(3n){transform:translateX(-2px)}

#seasonModal .season-card::before{position:absolute;left:8px;bottom:6px;font:700 6px Georgia,serif;letter-spacing:1px;color:rgba(255,238,185,.55)}
#seasonModal .season-card.spring::before{content:"FIELD NOTE 01"}
#seasonModal .season-card.summer::before{content:"FIELD NOTE 02"}
#seasonModal .season-card.autumn::before{content:"FIELD NOTE 03"}
#seasonModal .season-card.winter::before{content:"FIELD NOTE 04"}

#statsModal .stats-tile:nth-child(4n){background:#464133;transform:rotate(-.2deg)}
#statsModal .stats-tile:nth-child(5n){background:#37372f;transform:rotate(.18deg)}

#helpModal .help-section{counter-increment:help-section}
#helpModal .help-section::after{content:"§ " counter(help-section);position:absolute;right:8px;bottom:5px;font:700 6px Georgia,serif;color:#b49a68;opacity:.4}

#offlineModal .modal-card::before{content:"DELIVERED";position:absolute;right:12px;top:12px;padding:3px 5px;border:1px solid #9c7442;font:700 7px Arial,sans-serif;letter-spacing:1px;color:#8b5f32;opacity:.58;transform:rotate(7deg)}
#offlineModal .modal-card{position:relative;overflow:hidden}
#offlineModal .modal-card::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:7px;background:linear-gradient(135deg,transparent 0 7px,#d8c797 7px 14px,transparent 14px 21px);opacity:.7}

@media (max-width:600px){
  #game::before,#game::after{display:none}
  #shopModal .modal-card::before{font-size:7px}
  #offlineModal .modal-card::before{right:8px;top:8px}
  #seasonModal .season-card,#weatherModal .weather-card{min-height:68px}
}

#tutorialTip{
  display:flex;align-items:center;gap:10px;
  padding:9px 10px 9px 13px;
  bottom:calc(82px + env(safe-area-inset-bottom,0px));
  max-width:min(92vw,430px);width:auto;
  pointer-events:none;
  z-index:2400;

  transform:translateX(-50%);
  opacity:0;
  visibility:hidden;
  transition:opacity .2s ease,visibility 0s linear .2s;
}
#tutorialTip.show{
  pointer-events:auto;
  transform:translateX(-50%);
  opacity:1;
  visibility:visible;
  transition:opacity .2s ease,visibility 0s linear 0s;
}
#tutorialText{display:block;min-width:0;line-height:1.35}
.tutorial-step{flex:0 0 auto;font-size:9px;font-weight:800;color:#3d2e18;background:#e6ce8f;border-radius:3px;padding:2px 6px;letter-spacing:.5px}
#tutorialClose{
  flex:0 0 24px;width:24px;height:24px;padding:0;
  border:1px solid #b49a65;border-radius:4px;
  background:#5a452b;color:#f5e2b1;
  font:700 18px/20px Georgia,serif;cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,240,190,.15),0 2px 0 #24160c;
  touch-action:manipulation;
}
#tutorialClose:active{transform:translateY(1px);box-shadow:inset 0 1px 0 rgba(255,240,190,.1),0 1px 0 #24160c}

#farmBg{z-index:0;opacity:1;filter:none}
#farmBg>svg{width:100%;height:100%;display:block}
.topbar{background:#3a442f;border-color:#806945}
#gardenLevel{background:#35412f;border-color:#776442;box-shadow:inset 0 2px 0 rgba(255,240,195,.08),inset 0 -4px 0 rgba(17,12,7,.2),0 3px 0 #20150d}
#grid{background:rgba(51,57,38,.72);border-color:#796644;box-shadow:inset 0 0 0 2px rgba(246,220,158,.07),0 5px 0 #20150d}
.cell{background:rgba(96,77,45,.25);border-color:rgba(223,191,124,.16)}
.cell.dragover{background:rgba(132,157,87,.35);border-color:#a9bf75}
.cell.selected{border-color:#d6ae58;box-shadow:inset 0 0 0 2px rgba(235,200,112,.42),0 0 12px rgba(214,174,88,.28)}
.cell.merge-target{border-color:#9eb56d;background:rgba(126,153,83,.25)}
.xpbar{background:#272b1e!important;border-color:#76613f!important}
.xpbar i{background:linear-gradient(90deg,#6c984f,#d2e996,#f0cd65)!important;box-shadow:none!important}

#farmBg .windmill-blades,
#farmBg g.windmill-blades,
#farmBg .windmill .blades,
#farmBg .windmill,
#farmBg g.windmill{
  animation:none!important;
  transform:none!important;
}

@media (max-width:420px){
  #game{padding-left:6px;padding-right:6px;gap:5px}
  .topbar{padding:7px 8px;gap:4px}
  .essence,.gems{font-size:13px}
  .btnrow{gap:4px}
  .btn{padding:8px 2px;font-size:10px}
  #grid{width:min(82vw,320px);height:min(82vw,320px);padding:6px;gap:4px}
  #tutorialTip{font-size:11px;bottom:calc(78px + env(safe-area-inset-bottom,0px))}
}

.meadow-scene > svg.sun-svg,.meadow-scene > svg.scarecrow-svg,.meadow-scene > svg.barn-svg,.meadow-scene > svg.chicken-svg,.meadow-scene > svg.egg-ready{display:block}
.meadow-scene .grass-tufts svg{display:block;width:100%;height:20px}

@keyframes pressBounce{0%{transform:scale(.94)}55%{transform:scale(1.02)}100%{transform:scale(1)}}
@keyframes pressBounceY{0%{transform:translateY(3px)}55%{transform:translateY(-1px)}100%{transform:translateY(0)}}

.btn.js-pressed,.btn:active{transform:translateY(3px)!important;filter:brightness(.9)!important;box-shadow:inset 0 2px 4px rgba(0,0,0,.35)!important;transition:transform .05s ease,filter .05s ease,box-shadow .05s ease!important}
.btn.js-released{animation:pressBounceY .22s ease-out}

.modal-btn.js-pressed,.modal-btn:active,
#closeZone.js-pressed,#closeZone:active,
.upgrade-item .buy.js-pressed,.upgrade-item .buy:active,
.quest .claim.js-pressed,.quest .claim:active,
.quest .claim-ad.js-pressed,.quest .claim-ad:active,
.shop-item button.js-pressed,.shop-item button:active,
.pshop-item .buy.js-pressed,.pshop-item .buy:active,
.daily button.js-pressed,.daily button:active{transform:translateY(2px)!important;filter:brightness(.88)!important;box-shadow:none!important;transition:transform .05s ease,filter .05s ease!important}
.modal-btn.js-released,#closeZone.js-released,.upgrade-item .buy.js-released,.quest .claim.js-released,
.quest .claim-ad.js-released,.shop-item button.js-released,.pshop-item .buy.js-released,.daily button.js-released{animation:pressBounceY .2s ease-out}

.plot.js-pressed,.plot:active{transform:translateY(2px) scale(.97)!important;filter:brightness(1.06)!important}
.plot.js-released{animation:pressBounce .22s ease-out}

.cell.js-pressed,.cell:active{transform:scale(.92)!important;filter:brightness(1.18)!important;transition:transform .05s ease,filter .05s ease!important}
.cell.js-released{animation:pressBounce .2s ease-out}

.nav-btn.js-pressed,.nav-btn:active{transform:scale(.88)!important;background:rgba(125,255,176,.16)!important}
.nav-btn.js-released{animation:pressBounce .2s ease-out}

.tab.js-pressed,.tab:active{transform:scale(.95)!important;filter:brightness(.9)!important}
.tab.js-released{animation:pressBounce .18s ease-out}

.season-badge.js-pressed,.season-badge:active,
.weather-badge.js-pressed,.weather-badge:active,
.help-toc-btn.js-pressed,.help-toc-btn:active,
#langBtn.js-pressed,#soundBtn.js-pressed{transform:scale(.88)!important;filter:brightness(.92)!important}
.season-badge.js-released,.weather-badge.js-released,.help-toc-btn.js-released,
#langBtn.js-released,#soundBtn.js-released{animation:pressBounce .18s ease-out}

.collection-card.js-pressed,.collection-card:active,
.season-card.js-pressed,.season-card:active{transform:scale(.95)!important;filter:brightness(.92)!important}
.collection-card.js-released,.season-card.js-released{animation:pressBounce .2s ease-out}

#spaceArrow.js-pressed,#spaceArrow:active{transform:translateY(-50%) scale(.86)!important}
#spaceArrow.js-released{animation:none}

.chicken-svg.js-pressed,.chicken-svg:active{transform:translateX(-50%) scale(.86)!important}
.chicken-svg.js-released{animation:pressBounce .2s ease-out}

@media (prefers-reduced-motion:reduce){
  .js-pressed{transition:none!important}
  .js-released{animation:none!important}
}

.season-badge,.weather-badge,#langBtn,#soundBtn,.help-toc-btn,.chicken-svg,#closeZone,#spaceArrow{transition:transform .16s ease,filter .16s ease}


.plant .sprite{image-rendering:pixelated;image-rendering:crisp-edges;object-fit:contain;}

.journal-entry{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;margin-bottom:7px;border:1px solid rgba(180,154,101,.24);border-radius:7px;background:rgba(255,255,255,.025);font-size:11px;line-height:1.35;color:#e8e0c8;text-align:left}.journal-entry b{flex:0 0 auto;color:#b49a65;font:700 10px Georgia,serif;letter-spacing:.5px}.journal-entry span{min-width:0}


.btn:focus-visible,.nav-btn:focus-visible,.modal-btn:focus-visible,.tab:focus-visible,.help-toc-btn:focus-visible,#soundBtn:focus-visible,#langBtn:focus-visible,.season-badge:focus-visible,.weather-badge:focus-visible,.cell:focus-visible{outline:2px solid #ffe7a3;outline-offset:2px;filter:brightness(1.12)}


#gameGlow{position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:linear-gradient(115deg,rgba(255,246,204,.025),transparent 35%,rgba(94,139,72,.025) 70%,transparent)}

.current-effects{display:flex;flex-direction:column;gap:4px;margin:3px auto 5px;max-width:760px;padding:0 8px;pointer-events:none}.effects-title{font-size:8px;letter-spacing:1px;text-align:center;color:#9db89d;text-transform:uppercase}.effects-list{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.effect-chip,.effect-none{display:inline-flex;align-items:center;gap:3px;padding:3px 6px;border-radius:999px;font-size:8px;line-height:1.15;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.22)}.effect-chip.buff{color:#a5ffc8;border-color:rgba(125,255,176,.28)}.effect-chip.debuff{color:#ffaaa0;border-color:rgba(255,138,128,.28)}.effect-none{color:#829282}.current-effects .inline-ico{width:11px;height:11px;vertical-align:middle}@media(max-width:520px){.effect-chip,.effect-none{font-size:7px;padding:3px 5px}}

.ad-item{border-color:rgba(255,213,79,.55)!important;background:linear-gradient(180deg,rgba(255,213,79,.08),rgba(255,255,255,.035));}.ad-item h4{color:#ffe082}.ad-item button{border-color:#ffd54f}.ad-item button:not(:disabled){box-shadow:0 0 12px rgba(255,213,79,.18)}

/* Support-the-developer modal (crypto tip wallets) */
.wallet-list{display:flex;flex-direction:column;gap:10px;margin:12px 0;text-align:left}
.wallet-row{background:rgba(255,255,255,.04);border:1px solid rgba(125,255,176,.18);border-radius:8px;padding:8px 10px}
.wallet-label{display:block;font-size:9px;font-weight:700;letter-spacing:1px;color:#9db89d;text-transform:uppercase;margin-bottom:4px}
.wallet-addr-row{display:flex;align-items:center;gap:6px}
.wallet-addr{flex:1;font:11px/1.4 'Courier New',monospace;color:#e8ffe8;word-break:break-all;user-select:all}
.wallet-copy{flex-shrink:0;width:26px;height:26px;border-radius:6px;border:1px solid rgba(125,255,176,.3);background:rgba(125,255,176,.08);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;touch-action:manipulation}
.wallet-copy .icon-img{width:13px;height:13px}
.wallet-copy:active{transform:scale(.92)}
