:root{--color-bg-top: #eaf6e4;--color-bg-bottom: #dcefe0;--color-card: #ffffff;--color-primary: #4a8f5c;--color-primary-dark: #356b42;--color-accent: #f5b942;--color-accent-dark: #d99a1f;--color-text: #23392a;--color-text-muted: #6f8577;--color-danger: #d9714e;--radius-lg: 18px;--radius-md: 14px;--radius-sm: 10px;--shadow-card: 0 2px 10px rgba(35, 57, 42, .08);--shadow-elevated: 0 10px 30px rgba(35, 57, 42, .18)}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(180deg,var(--color-bg-top) 0%,var(--color-bg-bottom) 100%);color:var(--color-text);-webkit-tap-highlight-color:transparent}button{font-family:inherit;cursor:pointer}.app{padding:12px 14px 92px;max-width:480px;margin:0 auto;min-height:100vh}.loading{padding:60px 16px;text-align:center;font-size:16px;color:var(--color-text-muted)}.tab-content{animation:fadeInUp .28s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.currency-gain{position:fixed;top:60px;left:50%;transform:translate(-50%);background:#fff3d6;color:#7a5a10;font-weight:700;font-size:14px;padding:6px 14px;border-radius:999px;box-shadow:var(--shadow-elevated);z-index:70;animation:floatUpFade 1.6s ease forwards;pointer-events:none}@keyframes floatUpFade{0%{opacity:0;transform:translate(-50%,8px) scale(.9)}15%{opacity:1;transform:translate(-50%) scale(1.05)}30%{transform:translate(-50%) scale(1)}75%{opacity:1;transform:translate(-50%,-18px) scale(1)}to{opacity:0;transform:translate(-50%,-28px) scale(1)}}.top-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;background:var(--color-card);border-radius:var(--radius-lg);margin-bottom:14px;box-shadow:var(--shadow-card);position:sticky;top:8px;z-index:5}.beta-badge{background:var(--color-accent);color:#4a3105;font-size:10px;font-weight:800;letter-spacing:.04em;padding:3px 7px;border-radius:999px}.support-button{border:none;background:none;font-size:18px;padding:2px 4px;line-height:1}.feedback-textarea{width:100%;min-height:100px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid #d6e3d8;font-family:inherit;font-size:14px;margin-bottom:14px;box-sizing:border-box;resize:vertical}.top-bar span{display:flex;align-items:center;gap:4px;font-weight:700;font-size:14px}.tab-bar{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--color-card);box-shadow:0 -4px 16px #23392a1a;padding:8px max(10px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));z-index:20}.tab-bar button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;border:none;background:none;padding:6px 4px;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:11px;font-weight:600;transition:color .15s ease,transform .15s ease}.tab-bar button .tab-icon{font-size:22px;line-height:1}.tab-bar button.tab-active{color:var(--color-primary-dark);transform:translateY(-2px)}.tab-bar button{position:relative}.tab-badge{position:absolute;top:2px;right:22%;width:9px;height:9px;border-radius:50%;background:var(--color-danger)}.garden-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.slot{position:relative;aspect-ratio:1;border:none;border-radius:var(--radius-md);background:var(--color-card);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 6px;box-shadow:var(--shadow-card);transition:transform .12s ease,box-shadow .12s ease}.bug-badge{position:absolute;top:4px;right:4px;font-size:16px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}.bug-badge-clickable{cursor:pointer;padding:2px}.fertilizer-badge{position:absolute;top:4px;left:4px;font-size:13px}.fertilize-button{position:absolute;bottom:4px;right:4px;font-size:13px;cursor:pointer;padding:2px;opacity:.7}.inventory-section-title{margin:14px 0 8px;font-size:13px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.inventory-section-title:first-child{margin-top:0}.gacha-row{display:flex;gap:10px;margin-bottom:8px}.gacha-card{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;border:none;border-radius:var(--radius-md);background:linear-gradient(160deg,#fff3d6,#ffe1a8);padding:14px 10px;box-shadow:var(--shadow-card)}.gacha-card:disabled{opacity:.5}.gacha-card-emoji{font-size:30px}.gacha-card-title{font-weight:700;font-size:13px}.gacha-card-price{font-size:12px;color:var(--color-text-muted)}.gacha-modal{text-align:center;min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center}.gacha-spinner{font-size:48px;animation:spin .7s linear infinite}@keyframes spin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.15)}to{transform:rotate(360deg) scale(1)}}.gacha-emoji{font-size:52px;margin-bottom:6px;animation:gachaBounce .5s cubic-bezier(.34,1.56,.64,1)}@keyframes gachaBounce{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1)}}.gacha-name{font-weight:700;margin:4px 0 0}.gacha-subtitle{color:var(--color-text-muted);font-size:13px;margin:2px 0 14px}.battle-label{font-size:12px;font-weight:700;color:var(--color-text-muted);margin:12px 0 6px}.picker-item-selected{outline:2px solid var(--color-primary);background:#eef8ec}.battle-type-tag{margin-left:auto;font-size:16px}.stake-input{width:100%;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid #d6e3d8;font-size:15px;margin-bottom:14px;box-sizing:border-box}.challenges-box{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.challenge-item{background:linear-gradient(160deg,#ffe9e2,#ffd7c9);border-radius:var(--radius-md);padding:12px 14px;box-shadow:var(--shadow-card);font-size:13px}.challenge-meta{color:var(--color-text-muted);font-size:12px;margin-top:2px}.challenge-actions{display:flex;gap:8px;margin-top:8px}.challenge-accept,.challenge-decline{flex:1;border:none;border-radius:var(--radius-sm);padding:8px;font-weight:700;font-size:13px}.challenge-accept{background:var(--color-primary);color:#fff}.challenge-decline{background:#00000014;color:var(--color-text)}.battle-arena{max-width:420px}.battle-fighters-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.battle-vs{font-weight:700;color:var(--color-text-muted);font-size:12px}.battle-fighter{flex:1;background:#f3f8f1;border-radius:var(--radius-sm);padding:10px;text-align:center;transition:box-shadow .2s ease}.battle-fighter-hit{animation:battleShake .4s ease}@keyframes battleShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.slot-ready .slot-emoji{animation:readyBounce 1.4s ease-in-out infinite}@keyframes readyBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.battle-fighter-turn{box-shadow:0 0 0 2px var(--color-accent)}.battle-fighter-name{font-weight:700;font-size:12px;margin-bottom:6px}.battle-hp-track{height:8px;background:#00000014;border-radius:4px;overflow:hidden}.battle-hp-fill{height:100%;background:linear-gradient(90deg,#d9714e,#e8a23f);transition:width .3s ease}.battle-hp-text{font-size:11px;margin-top:4px;color:var(--color-text-muted)}.battle-type-name{font-size:10px;color:var(--color-text-muted)}.battle-status-text{text-align:center;font-size:13px;font-weight:600;margin:4px 0 10px}.battle-result{text-align:center;font-weight:700;font-size:16px;margin:6px 0 10px}.battle-result-win{color:var(--color-primary-dark)}.battle-result-lose{color:var(--color-danger)}.battle-log{max-height:130px;overflow-y:auto;background:#f7f9f6;border-radius:var(--radius-sm);padding:8px 10px;margin-bottom:12px;font-size:12px;line-height:1.6}.battle-log-entry{border-bottom:1px solid rgba(0,0,0,.05);padding:2px 0}.battle-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:8px}.battle-card{display:flex;flex-direction:column;align-items:center;gap:4px;border:none;border-radius:var(--radius-sm);padding:10px 6px;font-weight:700;font-size:12px;background:#eef4ec}.battle-card:disabled{opacity:.45}.battle-card-defend{background:#e2edf7}.battle-card-heal{background:#e6f7ea}.battle-card-power{font-size:11px;font-weight:600;color:var(--color-text-muted)}.slot:active{transform:scale(.96)}.slot-empty{background:repeating-linear-gradient(135deg,rgba(74,143,92,.06),rgba(74,143,92,.06) 8px,transparent 8px,transparent 16px),#f3f8f1;border:2px dashed #c3dcc6;color:var(--color-text-muted)}.slot-plantable{background:#e2f3e0;border-color:var(--color-primary);color:var(--color-primary-dark)}.slot-plus{font-size:26px;font-weight:300;color:var(--color-primary)}.slot-withered{background:#f8ece2;color:#a5643a}.slot-locked{background:#eceeec;color:#a9b0ab;border:none}.slot-ready{background:linear-gradient(160deg,#fff6da,#ffedb0);animation:pulse 1.6s infinite}@keyframes pulse{0%{box-shadow:0 0 #f5b94280}70%{box-shadow:0 0 0 10px #f5b94200}to{box-shadow:0 0 #f5b94200}}.slot-emoji{font-size:30px;line-height:1}.slot-stage{font-size:11px;font-weight:700;color:var(--color-text-muted)}.slot-hint{font-size:10px;font-weight:600;opacity:.8}.slot-hint-ready{color:var(--color-accent-dark)}.slot-countdown{font-size:10px;color:var(--color-text-muted)}.slot-bars{width:82%;display:flex;flex-direction:column;gap:3px;margin-top:2px}.bar-row{display:flex;align-items:center;gap:4px}.bar-icon{font-size:9px}.bar-track{flex:1;height:5px;background:#00000014;border-radius:3px;overflow:hidden}.bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.bar-fill-growth{background:var(--color-primary)}.bar-fill-moisture{background:#4a90d9}.inventory-list,.shop-list{display:flex;flex-direction:column;gap:8px}.inventory-item,.shop-item{display:flex;align-items:center;gap:12px;background:var(--color-card);border:none;border-radius:var(--radius-md);padding:12px 14px;text-align:left;box-shadow:var(--shadow-card)}.inventory-item{transition:outline .12s ease,transform .12s ease}.inventory-item:active{transform:scale(.98)}.inventory-name{font-weight:600}.inventory-item-selected{outline:2px solid var(--color-primary);background:#eef8ec}.inventory-qty{margin-left:auto;font-weight:700;color:var(--color-primary-dark)}.shop-item-info{flex:1}.shop-item-name{font-weight:600}.shop-item-meta{font-size:12px;color:var(--color-text-muted);margin-top:2px}.buy-button{border:none;border-radius:var(--radius-sm);background:var(--color-accent);color:#4a3105;padding:9px 14px;font-weight:700;white-space:nowrap}.buy-button:disabled{background:#dcdcdc;color:#8a8a8a}.empty-hint{text-align:center;color:var(--color-text-muted);padding:30px 10px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#141e148c;display:flex;align-items:center;justify-content:center;padding:20px;z-index:40}.modal{background:var(--color-card);border-radius:var(--radius-lg);padding:22px;max-width:360px;width:100%;box-shadow:var(--shadow-elevated)}.modal h3{margin-top:0}.offline-events{padding-left:18px;line-height:1.5}.picker-list{display:flex;flex-direction:column;gap:8px;margin-bottom:6px}.picker-item{display:flex;align-items:center;gap:12px;background:#f3f8f1;border:none;border-radius:var(--radius-sm);padding:12px 14px;text-align:left}.picker-item:active{transform:scale(.98)}.friends-tab{display:flex;flex-direction:column;gap:14px}.invite-card{background:linear-gradient(160deg,#eaf6e4,#d8ecd0);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-card)}.invite-title{font-weight:700;margin-bottom:6px}.invite-text{font-size:13px;color:var(--color-text-muted);line-height:1.5;margin:0 0 12px}.invite-button{width:100%;border:none;border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;font-weight:700;padding:11px}.invite-button-secondary{background:#fff9;color:var(--color-primary-dark);margin-top:8px}.challenge-item-friend{background:linear-gradient(160deg,#e2f3e0,#cfe9c9)}.friends-list{display:flex;flex-direction:column;gap:8px}.friend-item{display:flex;align-items:center;gap:12px;background:var(--color-card);border:none;border-radius:var(--radius-md);padding:12px 14px;text-align:left;box-shadow:var(--shadow-card)}.friend-level{margin-left:auto;font-size:12px;font-weight:700;color:var(--color-primary-dark)}.modal-wide{max-width:420px}.friend-garden-grid{margin-bottom:10px}.friend-garden-grid .slot{aspect-ratio:auto;min-height:92px}.friend-plot-actions{display:flex;gap:6px;margin-top:2px}.friend-plot-actions button{border:none;background:#0000000f;border-radius:8px;padding:4px 8px;font-size:13px}.friend-hint{font-size:12px;color:var(--color-text-muted);text-align:center;margin:0 0 10px}.modal-close{width:100%;padding:12px;border:none;border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;font-weight:700;margin-top:12px}.welcome-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#4a8f5c59,#141e148c);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.welcome-card{background:var(--color-card);border-radius:22px;padding:28px 24px;max-width:380px;width:100%;max-height:88vh;overflow-y:auto;text-align:center;box-shadow:var(--shadow-elevated)}.welcome-mascot{font-size:64px;line-height:1;animation:sway 2.4s ease-in-out infinite}@keyframes sway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}.welcome-card h1{font-size:20px;margin:10px 0 6px}.welcome-lead{color:var(--color-text-muted);font-size:14px;line-height:1.5;margin-bottom:14px}.welcome-list{list-style:none;padding:0;margin:0 0 16px;text-align:left;display:flex;flex-direction:column;gap:8px;font-size:14px}.welcome-list li{background:#f3f8f1;border-radius:var(--radius-sm);padding:8px 12px}.welcome-gift{font-size:13px;color:var(--color-primary-dark);font-weight:600;margin-bottom:18px}.welcome-button{width:100%;padding:13px;border:none;border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;font-weight:700;font-size:15px}.tour-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.tour-highlight{position:fixed;border-radius:16px;box-shadow:0 0 0 9999px #0f190fad;border:2px solid var(--color-accent);transition:top .25s ease,left .25s ease,width .25s ease,height .25s ease;pointer-events:none}.tour-tooltip{position:fixed;width:270px;max-width:calc(100vw - 24px);background:var(--color-card);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-elevated);z-index:61}.tour-tooltip p{margin:0 0 10px;font-size:14px;line-height:1.5}.tour-progress{font-size:11px;color:var(--color-text-muted);margin-bottom:10px}.tour-actions{display:flex;justify-content:space-between;gap:8px}.tour-skip{border:none;background:none;color:var(--color-text-muted);font-weight:600;font-size:13px;padding:8px 4px}.tour-next{border:none;border-radius:var(--radius-sm);background:var(--color-accent);color:#4a3105;font-weight:700;padding:9px 18px;font-size:13px}
