:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:#0a0a0a;color:#fafafa}.shell{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.farm-shell{background:linear-gradient(180deg,#87ceeb,#98d8a0 40%,#5a8f3c);align-items:flex-start;padding-top:2rem}.farm-container{display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:420px;width:100%}.farm-header{display:flex;justify-content:space-between;align-items:center;width:100%}.farm-title{margin:0;font-size:1.8rem;font-weight:700;color:#2d5016;text-shadow:0 1px 2px rgba(255,255,255,.3)}.farm-coins{display:flex;align-items:center;gap:.3rem;background:#ffffffd9;padding:.3rem .75rem;border-radius:2rem;font-weight:700;color:#92400e;font-size:1.1rem;box-shadow:0 2px 6px #00000026}.coin-icon{font-size:1.2rem}.farm-msg{background:#ffffffd9;color:#1a3a0a;padding:.4rem 1rem;border-radius:2rem;font-size:.9rem;font-weight:600;animation:msgPop .3s ease;box-shadow:0 2px 6px #0000001a}@keyframes msgPop{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.section-label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#1e3c0a99;align-self:flex-start}.garden-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;width:100%}.plot-wrapper{display:flex;flex-direction:column;align-items:center;gap:.25rem}.plot-btn{width:100%;aspect-ratio:1;border:3px dashed rgba(139,99,49,.5);border-radius:.75rem;cursor:pointer;transition:transform .12s,border-color .2s,background .2s;display:flex;align-items:center;justify-content:center;font-size:2rem}.plot-btn:hover{transform:scale(1.05)}.plot-btn:active{transform:scale(.95)}.plot-planted{border-style:solid}.plot-grown{animation:cropBounce 1s ease-in-out infinite}@keyframes cropBounce{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.plot-plus{font-size:2rem;color:#8b633199;font-weight:700}.crop-emoji{font-size:2rem}.grown-emoji{font-size:2.5rem;animation:grownPop .4s ease}@keyframes grownPop{0%{transform:scale(0)}70%{transform:scale(1.2)}to{transform:scale(1)}}.plot-label{font-size:.65rem;font-weight:700;text-transform:uppercase}.crop-selector{background:#ffffffd9;padding:1rem;border-radius:1rem;display:flex;flex-direction:column;align-items:center;gap:.6rem;width:100%;animation:slideUp .25s ease;box-shadow:0 4px 12px #00000026}.crop-selector .section-label{color:#1e3c0acc}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.crop-options{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.crop-option{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem .6rem;background:#ffffffe6;border:2px solid;border-radius:.6rem;cursor:pointer;transition:transform .12s;color:#1a3a0a}.crop-option:hover{transform:scale(1.1)}.crop-opt-emoji{font-size:1.6rem}.crop-opt-name{font-size:.6rem;font-weight:700}.cancel-btn{background:none;border:none;color:#1e3c0a99;font-size:.8rem;cursor:pointer;font-weight:600}.cancel-btn:hover{color:#1e3c0ae6}.animal-row{display:flex;gap:.6rem;width:100%;justify-content:center}.animal-card{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.75rem .5rem;background:#ffffffb3;border-radius:.75rem;min-width:95px;box-shadow:0 2px 6px #0000001a}.animal-emoji{font-size:2.2rem;transition:transform .3s}.animal-ready{animation:animalJump .6s ease-in-out infinite}@keyframes animalJump{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.animal-name{font-size:.7rem;font-weight:700;color:#1a3a0a}.animal-btn{border:none;padding:.25rem .6rem;border-radius:1rem;font-size:.7rem;font-weight:700;cursor:pointer;transition:transform .12s,background .15s}.animal-btn:hover:not(:disabled){transform:scale(1.08)}.animal-btn:disabled{cursor:not-allowed}.feed-btn{background:#22c55e;color:#fff}.feed-btn.fed{background:#94a3b8;color:#fff}.collect-btn{background:#f59e0b;color:#fff;animation:collectPulse 1s ease-in-out infinite}@keyframes collectPulse{0%,to{box-shadow:0 0 #f59e0b66}50%{box-shadow:0 0 0 6px #f59e0b00}}
