:root{--g1:#1B5E20;--g2:#2E7D32;--g3:#4CAF50;--g4:#66BB6A;--gold:#FFD700;--goldd:#FFA000;--font:'Nunito','Segoe UI',sans-serif;--sb:env(safe-area-inset-bottom,0px);--st:env(safe-area-inset-top,0px)}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
html,body{width:100%;height:100%;overflow:hidden;font-family:var(--font);background:#060a04;position:fixed;touch-action:none;overscroll-behavior:none}
#app{width:100%;max-width:480px;height:100%;margin:0 auto;display:flex;flex-direction:column;position:relative;overflow:hidden;background:linear-gradient(180deg,#5da3e6 0%,#81c7f5 8%,#7CB342 8.5%,#558B2F 35%,#33691E 65%,#1B5E20 100%)}

/* --- HUD --- */
.hud{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;padding-top:calc(8px + var(--st));background:linear-gradient(180deg,rgba(0,0,0,.8),rgba(0,0,0,.55));backdrop-filter:blur(20px);z-index:60;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.06)}
.hud-l{display:flex;align-items:center;gap:6px}
.hud-lv{font-size:12px;font-weight:900;color:#fff;background:linear-gradient(135deg,#43A047,#2E7D32);padding:3px 10px;border-radius:10px;box-shadow:0 2px 6px rgba(76,175,80,.35)}
.hud-xp-wrap{width:55px}
.hud-xp{width:100%;height:5px;background:rgba(255,255,255,.08);border-radius:3px;overflow:hidden}
.hud-xp div{height:100%;background:linear-gradient(90deg,#66BB6A,#AED581);border-radius:3px;transition:width .4s}
.hud-weather{font-size:16px}
.hud-r{display:flex;align-items:center;gap:5px}
.hud-coin,.hud-gem{display:flex;align-items:center;gap:3px;font-size:13px;font-weight:900;padding:3px 10px;border-radius:12px;border:none;cursor:pointer;font-family:var(--font);transition:transform .1s}
.hud-coin:active,.hud-gem:active{transform:scale(.95)}
.hud-coin{color:var(--gold);background:rgba(255,215,0,.1);border:1px solid rgba(255,215,0,.15)}
.hud-gem{color:#90CAF9;background:rgba(100,181,246,.1);border:1px solid rgba(100,181,246,.15);font-size:11px}
.hud-coin-icon,.hud-gem-icon{font-size:12px}

/* --- WEATHER FX --- */
.weather-fx{position:absolute;inset:0;pointer-events:none;z-index:5}
.weather-fx.rain{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='40'%3E%3Cline x1='10' y1='0' x2='8' y2='40' stroke='rgba(150,200,255,0.15)' stroke-width='1'/%3E%3C/svg%3E");animation:rainFall .4s linear infinite}
.weather-fx.storm{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='30'%3E%3Cline x1='8' y1='0' x2='4' y2='30' stroke='rgba(150,180,255,0.2)' stroke-width='1.5'/%3E%3C/svg%3E");animation:rainFall .25s linear infinite}
@keyframes rainFall{from{background-position:0 0}to{background-position:-5px 40px}}

/* --- MAIN SCROLL --- */
.main-scroll{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-bottom:68px;z-index:10}
.main-scroll::-webkit-scrollbar{display:none}
.view{padding:0 10px 16px}
.view.hidden{display:none}
.view-head{font-size:18px;font-weight:900;color:#fff;padding:10px 4px 12px;display:flex;align-items:center;gap:6px}

/* --- FARM MAP (Canvas) --- */
.farm-map-wrap{position:relative;border-radius:16px;overflow:hidden;height:320px;margin-bottom:8px;border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 24px rgba(0,0,0,.3);touch-action:none}
#farm-canvas{width:100%;height:100%;display:block;cursor:pointer;image-rendering:pixelated}
.map-hud-bottom{position:absolute;bottom:8px;left:8px;right:8px;display:flex;gap:6px;z-index:10}
.map-btn{flex:1;padding:8px 6px;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#fff;font-family:var(--font);font-size:10px;font-weight:800;cursor:pointer;text-align:center;transition:transform .1s}
.map-btn:active{transform:scale(.95)}
.map-btn-ad{color:#FFB74D;border-color:rgba(255,152,0,.15)}
.hidden{display:none!important}

/* --- FARM INFO STRIP --- */
.farm-info{display:flex;gap:4px;margin-bottom:8px;flex-wrap:wrap}
.fi-item{flex:1;min-width:70px;background:rgba(0,0,0,.4);border-radius:10px;padding:6px 4px;text-align:center;border:1px solid rgba(255,255,255,.04);backdrop-filter:blur(6px)}
.fi-item.boost{background:rgba(255,152,0,.15);border-color:rgba(255,152,0,.2);animation:boostPulse 1s infinite}
@keyframes boostPulse{0%,100%{box-shadow:none}50%{box-shadow:0 0 8px rgba(255,152,0,.3)}}
.fi-label{display:block;font-size:7px;font-weight:700;color:rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:.8px}
.fi-val{display:block;font-size:10px;font-weight:900;color:#fff;margin-top:1px}
.fi-val.gold{color:var(--gold)}

/* --- BANNERS --- */
.farm-banners{margin-bottom:8px}
.banner{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;margin-bottom:6px;cursor:pointer;transition:transform .1s;border:1px solid transparent}
.banner:active{transform:scale(.98)}
.banner-icon{font-size:22px;flex-shrink:0}
.banner-info{flex:1;font-size:10px;color:rgba(255,255,255,.4)}.banner-info strong{display:block;font-size:12px;color:#fff;margin-bottom:1px}
.banner-action{font-size:11px;font-weight:800;color:var(--gold)}
.banner-reward{font-size:12px;font-weight:900;color:var(--gold)}
.banner-prog{width:100%;height:4px;background:rgba(0,0,0,.3);border-radius:2px;margin:3px 0;overflow:hidden}
.banner-prog div{height:100%;background:linear-gradient(90deg,#AB47BC,#CE93D8);border-radius:2px;transition:width .5s}
.banner-daily{background:linear-gradient(135deg,rgba(255,152,0,.12),rgba(255,87,34,.08));border-color:rgba(255,152,0,.15);animation:dailyPulse 2s infinite}
@keyframes dailyPulse{0%,100%{border-color:rgba(255,152,0,.15)}50%{border-color:rgba(255,152,0,.35)}}
.banner-quest{background:linear-gradient(135deg,rgba(156,39,176,.12),rgba(103,58,183,.08));border-color:rgba(156,39,176,.12)}
.banner-event{background:linear-gradient(135deg,rgba(33,150,243,.1),rgba(13,71,161,.08));border-color:rgba(33,150,243,.12)}

/* --- FARM GRID --- */
.farm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px}
.plot{background:linear-gradient(145deg,rgba(121,85,72,.8),rgba(93,64,55,.9));border-radius:14px;padding:6px;min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.05);cursor:pointer;transition:transform .1s,border-color .3s,box-shadow .3s;position:relative;overflow:hidden;box-shadow:0 3px 10px rgba(0,0,0,.2)}
.plot:active{transform:scale(.95)}
.plot-soil{position:absolute;inset:0;border-radius:12px;overflow:hidden}.plot-soil img{width:100%;height:100%;object-fit:cover;opacity:.45;image-rendering:pixelated}
.plot-crop{width:48px;height:48px;image-rendering:pixelated;position:relative;z-index:2;filter:drop-shadow(0 3px 5px rgba(0,0,0,.3));transition:transform .3s}
.rdy-anim{animation:rdyBounce .5s ease-in-out infinite}
@keyframes rdyBounce{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.05)}}
.plot.rdy{border-color:rgba(255,215,0,.4);box-shadow:0 0 18px rgba(255,215,0,.12)}
.plot.rdy::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 60%,rgba(255,215,0,.07),transparent 70%);pointer-events:none;z-index:1;animation:rdyGlow 1.5s ease-in-out infinite}
@keyframes rdyGlow{0%,100%{opacity:.4}50%{opacity:1}}
.plot.empty{background:linear-gradient(145deg,rgba(78,52,46,.3),rgba(62,39,35,.35));border-style:dashed;border-color:rgba(255,255,255,.08)}
.plot-label{font-size:8px;font-weight:700;color:rgba(255,255,255,.55);margin-top:2px;position:relative;z-index:2}
.plot-bar{width:85%;height:4px;background:rgba(0,0,0,.35);border-radius:2px;margin-top:3px;overflow:hidden;position:relative;z-index:2}
.plot-bar div{height:100%;background:linear-gradient(90deg,#43A047,#66BB6A,#AED581);border-radius:2px;transition:width .6s linear}
.plot-time{font-size:9px;font-weight:700;color:rgba(255,255,255,.4);margin-top:2px;position:relative;z-index:2}
.plot-btn{background:linear-gradient(135deg,var(--gold),var(--goldd));color:#3E2723;font-size:10px;font-weight:900;font-family:var(--font);padding:4px 14px;border-radius:8px;border:none;margin-top:4px;cursor:pointer;box-shadow:0 2px 8px rgba(255,165,0,.3);animation:harvestPulse 1.2s infinite;position:relative;z-index:2;text-transform:uppercase;letter-spacing:.5px}
@keyframes harvestPulse{0%,100%{box-shadow:0 2px 8px rgba(255,165,0,.3)}50%{box-shadow:0 2px 16px rgba(255,165,0,.5)}}
.plot-plus{font-size:24px;color:rgba(255,255,255,.12);position:relative;z-index:2}
.harvest-flash{animation:flashHarvest .4s ease}
@keyframes flashHarvest{0%{filter:brightness(1)}50%{filter:brightness(2)}100%{filter:brightness(1)}}

/* --- FARM ACTIONS --- */
.farm-actions{display:flex;gap:6px;margin-bottom:12px}
.action-btn{flex:1;padding:10px 6px;border:1px solid rgba(255,255,255,.06);border-radius:12px;background:rgba(0,0,0,.35);color:#fff;font-family:var(--font);font-size:10px;font-weight:800;cursor:pointer;text-align:center;transition:transform .1s;backdrop-filter:blur(4px)}
.action-btn:active{transform:scale(.97)}
.action-btn span{display:block;font-size:16px;margin-bottom:2px}
.action-btn.disabled{opacity:.3;pointer-events:none}
.harvest-all{border-color:rgba(255,215,0,.15);background:rgba(255,215,0,.06)}
.watch-ad{border-color:rgba(255,152,0,.15);background:rgba(255,152,0,.06);color:#FFB74D}
.gem-ad{border-color:rgba(100,181,246,.15);background:rgba(100,181,246,.06);color:#90CAF9}

/* --- MARKET CARDS --- */
.market-scroll{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:12px}
.mkt-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.04);border-radius:12px;padding:8px;display:flex;align-items:center;gap:6px;position:relative;overflow:hidden}
.mkt-card.high{border-color:rgba(76,175,80,.25);background:rgba(76,175,80,.06)}
.mkt-card.low{border-color:rgba(239,83,80,.15);background:rgba(239,83,80,.04)}
.mkt-img{width:32px;height:32px;image-rendering:pixelated;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2))}
.mkt-name{font-size:10px;font-weight:800;color:#fff}.mkt-price{font-size:11px;font-weight:900;color:var(--gold)}
.mkt-trend{position:absolute;top:4px;right:6px;font-size:8px;font-weight:800;color:rgba(255,255,255,.3)}
.mkt-card.high .mkt-trend{color:#66BB6A}.mkt-card.low .mkt-trend{color:#ef5350}
.section-title{font-size:12px;font-weight:700;color:rgba(255,255,255,.25);padding:10px 4px 6px;text-transform:uppercase;letter-spacing:1.5px}

/* --- SHOP ITEMS --- */
.shop-item{display:flex;align-items:center;gap:10px;padding:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.04);border-radius:12px;margin-bottom:6px}
.shop-item.locked{opacity:.3}
.shop-icon{font-size:28px;min-width:36px;text-align:center}
.shop-info{flex:1;font-size:10px;color:rgba(255,255,255,.4)}.shop-info strong{display:block;font-size:12px;color:#fff;margin-bottom:1px}
.shop-btn{background:linear-gradient(135deg,var(--g3),var(--g1));color:#fff;font-size:10px;font-weight:900;font-family:var(--font);padding:5px 12px;border-radius:8px;border:none;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.shop-btn.no{background:linear-gradient(135deg,#555,#333);box-shadow:none}
.shop-btn:active{transform:scale(.95)}
.shop-lock{font-size:9px;font-weight:800;color:#ef5350}
.own-count{color:#66BB6A;font-weight:700}
.animal-row{display:flex;align-items:center;gap:8px;padding:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.04);border-radius:12px;margin-bottom:5px}
.animal-row.animal-ready{border-color:rgba(255,215,0,.2);background:rgba(255,215,0,.05);cursor:pointer}
.animal-icon{font-size:28px}.animal-info{flex:1;font-size:10px;color:rgba(255,255,255,.4)}.animal-info strong{display:block;color:#fff;font-size:12px;margin-bottom:2px}
.animal-bar{width:100%;height:3px;background:rgba(0,0,0,.2);border-radius:2px;margin:3px 0;overflow:hidden}
.animal-bar div{height:100%;background:linear-gradient(90deg,#FF9800,#FFC107);border-radius:2px}
.animal-earn{font-size:11px;font-weight:900;color:var(--gold)}

/* --- WHEEL --- */
.wheel-container{position:relative;width:300px;height:300px;margin:0 auto 16px}
.wheel-pointer{position:absolute;top:-8px;left:50%;transform:translateX(-50%);font-size:28px;z-index:10;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));color:var(--gold)}
#wheel-canvas{border-radius:50%;box-shadow:0 0 30px rgba(0,0,0,.3),0 0 0 6px rgba(255,215,0,.15);transition:transform 4s cubic-bezier(.17,.67,.12,.99)}
.wheel-info{text-align:center;margin-bottom:16px}
.wheel-spins{font-size:13px;font-weight:700;color:var(--gold);margin-bottom:8px}
.spin-btn{width:80%;max-width:280px;padding:14px;background:linear-gradient(135deg,var(--gold),var(--goldd));color:#3E2723;font-family:var(--font);font-size:16px;font-weight:900;border:none;border-radius:14px;cursor:pointer;box-shadow:0 4px 16px rgba(255,165,0,.3);transition:transform .1s;text-transform:uppercase;letter-spacing:1px}
.spin-btn:active{transform:scale(.97)}
.spin-btn.gem-spin{background:linear-gradient(135deg,#42A5F5,#1E88E5);color:#fff}
.spin-btn:disabled{opacity:.5;pointer-events:none}
.spin-hint{font-size:11px;color:rgba(255,255,255,.3);margin-top:6px}
.spin-ad-btn{margin-top:8px;padding:10px 20px;background:rgba(255,152,0,.1);border:1px solid rgba(255,152,0,.15);border-radius:10px;color:#FFB74D;font-family:var(--font);font-size:12px;font-weight:700;cursor:pointer}

/* --- UPGRADES --- */
.upg-card{display:flex;align-items:center;gap:10px;padding:10px 12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.04);border-radius:12px;margin-bottom:6px}
.upg-icon{font-size:26px;min-width:34px;text-align:center}
.upg-info{flex:1}.upg-name{font-size:12px;font-weight:800;color:#fff}.upg-lv{color:rgba(255,255,255,.25);font-weight:700}
.upg-desc{font-size:10px;color:rgba(255,255,255,.35);margin-top:1px}
.upg-bar{width:60px;height:3px;background:rgba(255,255,255,.06);border-radius:2px;margin-top:3px;overflow:hidden}
.upg-bar div{height:100%;background:linear-gradient(90deg,#FF9800,#FFC107);border-radius:2px}
.upg-btn{background:linear-gradient(135deg,var(--g3),var(--g1));color:#fff;font-size:10px;font-weight:900;font-family:var(--font);padding:5px 12px;border-radius:8px;border:none;cursor:pointer}
.upg-btn.no{background:linear-gradient(135deg,#555,#333)}.upg-btn:active{transform:scale(.95)}
.upg-max{font-size:10px;font-weight:900;color:var(--gold)}
.upg-lock{font-size:9px;font-weight:800;color:#ef5350}
.prestige-card{background:rgba(156,39,176,.1)!important;border-color:rgba(156,39,176,.15)!important}
.prestige-name{color:#CE93D8!important}
.prestige-btn{background:linear-gradient(135deg,#9C27B0,#7B1FA2)!important}

/* --- MORE / STATS --- */
.stat-list{margin-bottom:8px}
.stat-row{display:flex;align-items:center;gap:8px;padding:9px 10px;background:rgba(255,255,255,.05);border-radius:10px;margin-bottom:4px}
.stat-row.clickable{cursor:pointer}.stat-row.clickable:active{transform:scale(.98)}
.stat-icon{font-size:16px;min-width:22px;text-align:center}.stat-label{flex:1;font-size:11px;color:rgba(255,255,255,.45)}.stat-val{font-size:12px;font-weight:900;color:var(--gold)}
.quest-row{display:flex;align-items:center;gap:6px;padding:8px;background:rgba(255,255,255,.04);border-radius:8px;margin-bottom:3px}.quest-row.done{opacity:.4}
.q-icon{font-size:14px;min-width:20px;text-align:center}.q-info{flex:1;font-size:10px;color:rgba(255,255,255,.5)}
.q-bar{width:100%;height:3px;background:rgba(0,0,0,.2);border-radius:2px;margin-top:2px;overflow:hidden}.q-bar div{height:100%;background:linear-gradient(90deg,#AB47BC,#CE93D8);border-radius:2px}
.q-reward{font-size:9px;font-weight:800;color:rgba(255,255,255,.3);min-width:40px;text-align:right}
.footer-ver{text-align:center;padding:16px;color:rgba(255,255,255,.08);font-size:9px}

/* --- TAB BAR --- */
.tabbar{display:flex;background:linear-gradient(180deg,rgba(0,0,0,.7),rgba(0,0,0,.85));backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.05);padding:3px 3px calc(3px + var(--sb));z-index:60;flex-shrink:0;gap:1px}
.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;padding:5px 0;background:none;border:none;border-radius:8px;color:rgba(255,255,255,.28);font-family:var(--font);font-size:8px;font-weight:700;cursor:pointer;position:relative;transition:all .2s}
.tab-i{font-size:18px;transition:transform .2s}.tab-l{transition:color .2s}
.tab.on{color:#fff;background:rgba(76,175,80,.12)}
.tab.on .tab-i{transform:scale(1.15)}
.tab.on::after{content:'';position:absolute;top:0;left:25%;right:25%;height:2px;background:linear-gradient(90deg,transparent,var(--g4),transparent);border-radius:2px}

/* --- MODAL --- */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:300;display:none;align-items:flex-end;justify-content:center;backdrop-filter:blur(6px)}
.modal-overlay.show{display:flex;animation:fadeIn .2s}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.modal-sheet{width:100%;max-width:480px;max-height:80vh;background:linear-gradient(180deg,#1e2530,#151a22);border-radius:20px 20px 0 0;overflow:hidden;animation:slideUp .3s cubic-bezier(.34,1.2,.64,1);box-shadow:0 -4px 30px rgba(0,0,0,.4)}
@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
.modal-handle{width:36px;height:4px;background:rgba(255,255,255,.12);border-radius:2px;margin:10px auto 0}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;font-size:16px;font-weight:900;color:#fff}
.modal-title{flex:1}
.modal-close{background:none;border:none;color:#666;font-size:20px;cursor:pointer;padding:4px 8px;border-radius:8px}
.modal-close:active{background:rgba(255,255,255,.05)}
.modal-body{padding:0 16px 24px;max-height:60vh;overflow-y:auto}.modal-body::-webkit-scrollbar{display:none}

/* Crop picker */
.pick-item{display:flex;align-items:center;gap:10px;padding:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.04);border-radius:10px;margin-bottom:5px;cursor:pointer;transition:background .12s}
.pick-item:active{background:rgba(76,175,80,.12)}
.pick-item.locked{opacity:.3;pointer-events:none}
.pick-img{width:38px;height:38px;image-rendering:pixelated;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2))}
.pick-info{flex:1}.pick-name{font-size:12px;font-weight:800;color:#fff}.pick-meta{font-size:10px;color:#888;margin-top:1px}
.pick-cost{font-size:11px;font-weight:900;color:var(--gold)}.pick-cost.free{color:#66BB6A}

/* Daily grid */
.daily-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0}
.daily-day{background:rgba(255,255,255,.05);border-radius:10px;padding:8px;text-align:center;border:1px solid rgba(255,255,255,.03);transition:transform .1s}
.daily-day:active{transform:scale(.95)}
.daily-day.claimed{background:rgba(76,175,80,.15);border-color:rgba(76,175,80,.2)}
.daily-day.today{background:rgba(255,152,0,.15);border-color:rgba(255,152,0,.3);animation:dailyPulse 1.5s infinite;cursor:pointer}
.dd-num{font-size:8px;color:rgba(255,255,255,.35);font-weight:700}.dd-icon{font-size:20px;margin:3px 0}.dd-val{font-size:10px;font-weight:900;color:var(--gold)}

/* --- GEM SHOP --- */
.gem-shop{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}
.gem-pack{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:14px 10px;text-align:center;cursor:pointer;transition:transform .1s;position:relative;overflow:hidden}
.gem-pack:active{transform:scale(.97)}
.gem-amount{font-size:18px;font-weight:900;color:#90CAF9;margin-bottom:4px}
.gem-price{font-size:12px;font-weight:700;color:rgba(255,255,255,.5)}
.gem-tag{position:absolute;top:6px;right:6px;font-size:7px;font-weight:800;padding:2px 6px;border-radius:4px;background:rgba(100,181,246,.15);color:#90CAF9;text-transform:uppercase;letter-spacing:.5px}
.gem-tag.free{background:rgba(76,175,80,.15);color:#66BB6A}
.gem-tag.best{background:rgba(255,215,0,.15);color:var(--gold)}
.starter-pack{background:linear-gradient(135deg,rgba(255,87,34,.12),rgba(255,152,0,.08));border:1px solid rgba(255,87,34,.2);border-radius:14px;padding:14px;cursor:pointer}
.starter-badge{font-size:11px;font-weight:900;color:#FF7043;margin-bottom:6px}
.starter-content{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.5)}
.starter-price{font-weight:900;color:#fff}.starter-price s{color:rgba(255,255,255,.3);margin-right:4px}

/* --- AD VIEW --- */
.ad-view{text-align:center}
.ad-screen{width:100%;height:140px;background:linear-gradient(135deg,#0f1923,#162033);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:12px;border:1px solid rgba(255,255,255,.04)}
.ad-play{font-size:36px;color:rgba(255,255,255,.15);margin-bottom:6px}
.ad-cd{font-size:14px;font-weight:800;color:rgba(255,255,255,.5)}
.ad-reward{font-size:14px;font-weight:800;color:var(--gold);margin-bottom:8px}
.ad-bar{width:100%;height:6px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden}
.ad-bar div{height:100%;width:0;background:linear-gradient(90deg,#FF9800,#FFC107);border-radius:3px;transition:width 1s linear}

/* --- TUTORIAL --- */
.tutorial{text-align:center;padding:8px 0}
.tut-hero{height:60px;image-rendering:pixelated;margin-bottom:12px;filter:drop-shadow(0 3px 6px rgba(0,0,0,.3));animation:tutBounce 1s ease-in-out infinite}
@keyframes tutBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.tut-steps{text-align:left;margin-bottom:14px}
.tut-step{display:flex;align-items:center;gap:8px;padding:8px 0;font-size:13px;color:rgba(255,255,255,.6);border-bottom:1px solid rgba(255,255,255,.04)}
.tut-num{width:24px;height:24px;background:linear-gradient(135deg,var(--g3),var(--g1));color:#fff;font-size:11px;font-weight:900;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tut-btn{width:100%;padding:14px;background:linear-gradient(135deg,var(--gold),var(--goldd));color:#3E2723;font-family:var(--font);font-size:15px;font-weight:900;border:none;border-radius:14px;cursor:pointer;box-shadow:0 4px 14px rgba(255,165,0,.3)}

/* --- OFFER POPUP --- */
.offer-popup{position:fixed;inset:0;z-index:400;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.7);backdrop-filter:blur(8px)}
.offer-popup.show{display:flex;animation:fadeIn .3s}
.offer-card{width:90%;max-width:340px;background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:20px;padding:24px;text-align:center;border:2px solid rgba(255,87,34,.3);box-shadow:0 8px 40px rgba(0,0,0,.5);position:relative}
.offer-close{position:absolute;top:10px;right:12px;background:none;border:none;color:#666;font-size:20px;cursor:pointer}
.offer-badge{font-size:12px;font-weight:900;color:#FF7043;margin-bottom:8px;letter-spacing:1px}
.offer-title{font-size:24px;font-weight:900;color:#fff;margin-bottom:6px}
.offer-items{font-size:14px;color:rgba(255,255,255,.6);margin-bottom:10px}
.offer-price{font-size:18px;margin-bottom:6px;color:#fff}.offer-price s{color:rgba(255,255,255,.3);margin-right:4px}
.offer-timer{font-size:11px;color:rgba(255,255,255,.3);margin-bottom:14px}
.offer-buy{width:100%;padding:14px;background:linear-gradient(135deg,#FF7043,#F4511E);color:#fff;font-family:var(--font);font-size:15px;font-weight:900;border:none;border-radius:14px;cursor:pointer;box-shadow:0 4px 16px rgba(255,87,34,.3);margin-bottom:8px}
.offer-skip{background:none;border:none;color:rgba(255,255,255,.25);font-size:12px;cursor:pointer;font-family:var(--font)}

/* --- TOAST --- */
.toast-wrap{position:fixed;top:50px;left:0;right:0;display:flex;justify-content:center;z-index:200;pointer-events:none}
.toast{background:linear-gradient(135deg,rgba(46,125,50,.95),rgba(27,94,32,.95));color:#fff;font-size:12px;font-weight:800;padding:8px 20px;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.35);opacity:0;transform:translateY(-20px);transition:all .3s cubic-bezier(.34,1.56,.64,1);border:1px solid rgba(255,255,255,.08);white-space:nowrap}
.toast.show{opacity:1;transform:translateY(0)}
.t-gold{background:linear-gradient(135deg,rgba(255,160,0,.95),rgba(230,130,0,.95))!important}
.t-red{background:linear-gradient(135deg,rgba(211,47,47,.95),rgba(183,28,28,.95))!important}
.t-green{background:linear-gradient(135deg,rgba(46,125,50,.95),rgba(27,94,32,.95))!important}
.t-purple{background:linear-gradient(135deg,rgba(123,31,162,.95),rgba(106,27,154,.95))!important}

/* --- ACHIEVEMENT POPUP --- */
.ach-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.7);z-index:250;pointer-events:none;opacity:0;transition:all .4s cubic-bezier(.34,1.56,.64,1)}
.ach-popup.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.ach-inner{background:rgba(0,0,0,.92);border:2px solid var(--gold);border-radius:18px;padding:20px 32px;text-align:center;box-shadow:0 0 50px rgba(255,215,0,.12);backdrop-filter:blur(16px)}
.ach-title{font-size:18px;font-weight:900;color:var(--gold);margin-bottom:4px}
.ach-desc{font-size:12px;color:rgba(255,255,255,.5)}

/* --- PARTICLES --- */
.particle{position:fixed;pointer-events:none;z-index:500;font-size:13px;font-weight:900;color:var(--gold);text-shadow:0 2px 6px rgba(0,0,0,.5);animation:particleUp 1s ease-out forwards;white-space:nowrap}
@keyframes particleUp{0%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-70px) scale(1.3)}}

/* --- SPLASH --- */
.splash{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .6s,transform .6s;overflow:hidden}
.splash.hide{opacity:0;pointer-events:none;transform:scale(1.05)}
.splash-bg{position:absolute;inset:0;background:linear-gradient(135deg,#0D3311 0%,#1B5E20 25%,#2E7D32 50%,#1B5E20 75%,#0D3311 100%);background-size:200% 200%;animation:splashGrad 4s ease infinite}
@keyframes splashGrad{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.splash-content{position:relative;z-index:2;text-align:center}
.splash-art{position:relative;display:inline-block;margin-bottom:8px}
.splash-barn{height:110px;image-rendering:pixelated;filter:drop-shadow(0 8px 16px rgba(0,0,0,.4))}
.splash-hero{height:55px;image-rendering:pixelated;position:absolute;bottom:0;left:-35px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3));animation:heroIdle 1.5s ease-in-out infinite}
@keyframes heroIdle{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.splash-title{font-size:40px;font-weight:900;background:linear-gradient(135deg,#FFD700,#FFA000,#FFD700);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% 100%;animation:goldShine 3s ease infinite;margin-top:8px;letter-spacing:-1px}
@keyframes goldShine{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.splash-sub{font-size:14px;color:rgba(255,255,255,.4);margin:4px 0 28px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.splash-bar{width:220px;height:8px;background:rgba(0,0,0,.35);border-radius:5px;overflow:hidden;margin:0 auto}
.splash-bar div{height:100%;width:0;background:linear-gradient(90deg,var(--g3),var(--g4),#AED581);border-radius:5px;transition:width .3s;box-shadow:0 0 8px rgba(102,187,106,.4)}
.splash-pct{font-size:12px;color:rgba(255,255,255,.3);margin-top:10px;font-weight:700}