* { box-sizing: border-box; }
body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background: #7cb342; margin: 0; padding: 20px; }
.panel { max-width: 500px; margin: 50px auto; background: white; border-radius: 16px; padding: 20px; box-shadow: 0 4px 12px rgba(0,0,0,0.2); }
.tabs { display: flex; gap: 10px; margin-bottom: 20px; }
.tab-btn { flex:1; padding: 10px; background: #e0e0e0; border: none; border-radius: 8px; cursor: pointer; }
.tab-btn.active { background: #5a8f3c; color: white; }
.tab-content { display: none; }
.tab-content.active { display: block; }
input { width: 100%; padding: 10px; margin: 8px 0; border: 1px solid #ccc; border-radius: 8px; }
button { background: #5a8f3c; color: white; border: none; padding: 10px; border-radius: 8px; cursor: pointer; width: 100%; }
.error-msg { color: red; margin-top: 10px; font-size: 14px; }
.avatar-list { display: flex; flex-wrap: wrap; gap: 10px; margin: 10px 0; }
.avatar-item { width: 50px; height: 50px; border-radius: 50%; cursor: pointer; border: 2px solid transparent; }
.avatar-item.selected { border-color: #5a8f3c; }
.avatar-small { width: 40px; height: 40px; border-radius: 50%; vertical-align: middle; margin-right: 8px; }
.top-bar { background: #f5f5f5; padding: 12px; border-radius: 12px; display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.user-info { display: flex; gap: 15px; align-items: center; flex-wrap: wrap; }
.farm-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; background: #8b5a2b; padding: 20px; border-radius: 16px; margin-bottom: 20px; }
.land { background: #c9a87b; border-radius: 12px; aspect-ratio: 1 / 1; display: flex; flex-direction: column; align-items: center; justify-content: center; cursor: pointer; position: relative; font-size: 12px; text-align: center; }
.land.empty { background: #a57c4c; color: white; }
.land.crop { background: #6b8c42; }
.land.mature { background: #f9a825; animation: pulse 1s infinite; }
.land .crop-img { font-size: 32px; }
.land .timer { font-size: 10px; background: rgba(0,0,0,0.6); color: white; padding: 2px 4px; border-radius: 8px; margin-top: 4px; }
.tools { background: white; border-radius: 16px; padding: 15px; }
.items-list { display: flex; gap: 10px; flex-wrap: wrap; }
.item-card { background: #f0f0f0; padding: 8px; border-radius: 8px; text-align: center; width: 100px; cursor: pointer; }
@keyframes pulse { 0% { opacity: 1; } 50% { opacity: 0.7; } }
@media (max-width: 600px) { .farm-grid { gap: 5px; } .land .crop-img { font-size: 24px; } }