:root{--bark: #2f2113;--bark-2: #3f2d1a;--wood: #a3703c;--wood-dark: #6d4823;--parch: #f7ead0;--gold: #efc04c;--gold-dark: #b98a1e;--leaf: #5ba33c;--leaf-dark: #3c7326;--ink: #241809;--danger: #c4362e;--tap: 48px;--radius: 14px;--shadow: 0 6px 22px rgb(0 0 0 / 35%)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bark);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--parch);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#app{position:fixed;inset:0}button{font:inherit;color:inherit;cursor:pointer;border:none;background:none}button:disabled{cursor:default}img{display:block}.shell{position:absolute;inset:0;display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr) auto;padding-top:env(safe-area-inset-top)}.stage{grid-row:1}.hud-slot{grid-row:2}.farms{grid-row:3}.modes{grid-row:4}.content{grid-row:5}.tabs{grid-row:6}.stage{position:relative;background:#6ba24a;border-bottom:3px solid var(--wood-dark);height:27vh;min-height:150px;max-height:260px;overflow:hidden}.farm-canvas{width:100%;height:100%;display:block;touch-action:manipulation}.hud-slot{background:linear-gradient(#3f2d1a,#2f2113);border-bottom:2px solid #1d1409}.hud{display:flex;align-items:center;gap:10px;padding:8px 12px;flex-wrap:wrap}.purse{flex:none}.cash{font-size:26px;font-weight:800;line-height:1.05;color:var(--gold);letter-spacing:-.5px;font-variant-numeric:tabular-nums}.rate{font-size:13px;font-weight:700;color:#9fd47c;font-variant-numeric:tabular-nums}.hud .chips{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto;justify-content:flex-end}.chip{display:inline-flex;align-items:center;gap:5px;background:#0000004d;border:1px solid rgb(255 255 255 / 12%);border-radius:10px;padding:5px 9px;font-size:12px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.chip img{width:18px;height:18px;object-fit:contain}.chip.mult{color:var(--gold)}.chip.seeds{color:#c7e56b}.chip.boost{color:#ffe27a;background:#c88c1459;animation:pulse 1s infinite}.chip.market{color:#ffd7d2;background:#c4362e66}@keyframes pulse{50%{opacity:.6}}.farms{display:flex;gap:6px;padding:8px 12px 0;background:#241809}.farms.hidden{display:none}.farm-tab{flex:1;min-height:40px;border-radius:11px 11px 0 0;background:#ffffff0f;border:1px solid transparent;border-bottom:none;font-weight:800;font-size:13px;color:#b9a684}.farm-tab.gone{display:none}.farm-tab.on{background:linear-gradient(#4a351f,#3a2917);color:var(--gold);border-color:#5c4425}.shell[data-farm=dairy] .farm-tab.on{color:#a9dcef;border-color:#3f6675}.shell[data-farm=dairy] .venture-art{background:radial-gradient(circle at 50% 40%,#8fc46a,#5f9440)}.modes{display:flex;gap:6px;padding:8px 12px;background:#241809;border-bottom:2px solid #16100a}.modes.hidden{display:none}.mode{flex:1;min-height:38px;border-radius:10px;background:#ffffff12;font-weight:800;font-size:14px;color:#d8c4a0;border:1px solid transparent}.mode.on{background:var(--leaf);color:#fff;border-color:#9fe07a}.content{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:10px 10px 14px;background:radial-gradient(120% 60% at 50% 0%,rgb(255 255 255 / 4%),transparent 70%),var(--bark)}.content>*{max-width:720px;margin:0 auto}h3{margin:16px 4px 6px;font-size:15px;color:var(--gold);letter-spacing:.4px}.blurb{margin:2px 4px 12px;font-size:12.5px;line-height:1.45;color:#c0ab8c}.blurb.small{font-size:12px}.empty{text-align:center;color:#9a8a70}.ventures{display:flex;flex-direction:column;gap:9px}.venture{--art: 74px;display:grid;grid-template-columns:var(--art) minmax(0,1fr) 116px;gap:9px;align-items:center;padding:9px;border-radius:var(--radius);background:linear-gradient(#4a351f,#3a2917);border:1px solid #241809;box-shadow:0 2px #1d1409}.venture.on-market{border-color:var(--gold);box-shadow:0 0 0 2px #efc04c59}.venture.locked{opacity:.55;grid-template-columns:var(--art) minmax(0,1fr)}.venture-art{position:relative;width:var(--art);height:var(--art);border-radius:12px;background:radial-gradient(circle at 50% 40%,#7fb356,#55833a);border:2px solid #2b1e10;display:grid;place-items:center;padding:4px;overflow:hidden}.venture-art img{width:100%;height:100%;object-fit:contain}.venture.idle-manual .venture-art{animation:nudge 2.4s ease-in-out infinite;box-shadow:0 0 0 2px #efc04c8c}.venture-art:active{transform:scale(.95)}@keyframes nudge{0%,88%,to{transform:none}94%{transform:scale(1.05)}}.venture-count{position:absolute;right:2px;bottom:2px;background:#000000b3;color:var(--gold);font-size:12px;font-weight:800;padding:1px 6px;border-radius:8px;font-variant-numeric:tabular-nums}.venture-body{min-width:0;display:flex;flex-direction:column;gap:5px}.venture-head{display:flex;align-items:baseline;gap:8px}.venture-name{font-weight:800;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.venture-pay{margin-left:auto;font-size:13px;font-weight:800;color:var(--gold);font-variant-numeric:tabular-nums;flex:none}.bar{position:relative;height:16px;border-radius:8px;background:#0006;overflow:hidden}.bar-fill{height:100%;width:0;background:linear-gradient(#ffbe4d,#e08a1f);border-radius:8px}.venture.managed .bar-fill{background:linear-gradient(#8ddf6a,#4f9c33)}.venture.on-market .bar-fill{background:linear-gradient(#ffe27a,#e0a81f)}.bar-fill.unlock{background:linear-gradient(#8fb8e8,#4a7ab5)}.bar-fill.quest{background:linear-gradient(#8ddf6a,#4f9c33)}.bar-text{position:absolute;inset:0;display:grid;place-items:center;font-size:10.5px;font-weight:800;letter-spacing:.3px;color:#fff;text-shadow:0 1px 2px rgb(0 0 0 / 80%)}.venture-foot{display:flex;align-items:center;gap:8px}.milestone{font-size:10.5px;color:#b9a684;white-space:nowrap}.milestone-bar{height:5px;flex:1;min-width:40px}.bar-fill.ms{background:linear-gradient(#c9a4ea,#8a63c0)}.buy{min-height:60px;border-radius:12px;background:linear-gradient(#63b23f,#45802b);border:1px solid #2c5a1a;box-shadow:0 3px #2c5a1a;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:6px 8px;font-weight:800}.buy:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #2c5a1a}.buy:disabled{background:linear-gradient(#5b5044,#463e34);border-color:#322c25;box-shadow:0 3px #322c25;opacity:.75}.buy-label{font-size:12px;opacity:.9}.buy-cost{font-size:14px;color:#fff;font-variant-numeric:tabular-nums}.list{display:flex;flex-direction:column;gap:9px}.card{--portrait: 62px;--action: 116px;display:grid;grid-template-columns:var(--portrait) minmax(0,1fr) var(--action);gap:10px;align-items:center;padding:9px;border-radius:var(--radius);background:linear-gradient(#4a351f,#3a2917);border:1px solid #241809}.card.locked{opacity:.5}.card.done{background:linear-gradient(#3d5230,#2f4025);border-color:#22301b}.portrait{width:var(--portrait);height:var(--portrait);border-radius:11px;overflow:hidden;background:radial-gradient(circle at 50% 35%,#8a6b47,#5a4229);border:2px solid #2b1e10;display:grid;place-items:center}.portrait img{width:100%;height:100%;object-fit:contain}.card-body{min-width:0;display:flex;flex-direction:column;gap:4px}.card-name{font-weight:800;font-size:14px;overflow-wrap:anywhere}.card-blurb{font-size:11.5px;line-height:1.35;color:#bda98a}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px;margin-top:4px}.badge{aspect-ratio:1;border-radius:12px;background:#00000052;border:1px solid #241809;display:grid;place-items:center;padding:6px;filter:grayscale(1) brightness(.5)}.badge img{width:100%;height:100%;object-fit:contain}.badge.got{filter:none;background:#efc04c2e;border-color:var(--gold-dark)}.legacy-hero{text-align:center;padding:10px 0 4px}.legacy-hero img{width:86px;height:86px;object-fit:contain;margin:0 auto 4px}.legacy-seeds{font-size:34px;font-weight:800;color:#c7e56b;line-height:1;font-variant-numeric:tabular-nums}.legacy-sub{font-size:12px;color:#a8977a}.legacy-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin:4px 0 14px}.stat{background:#00000047;border-radius:12px;padding:9px 6px;text-align:center}.stat-value{font-weight:800;font-size:15px;color:var(--gold);font-variant-numeric:tabular-nums}.stat-label{font-size:10.5px;color:#a8977a;margin-top:2px}.big-buy{display:block;width:100%;min-height:54px;border-radius:14px;background:linear-gradient(#63b23f,#45802b);border:1px solid #2c5a1a;box-shadow:0 4px #2c5a1a;font-weight:800;font-size:16px}.big-buy:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #2c5a1a}.big-buy:disabled{background:linear-gradient(#5b5044,#463e34);border-color:#322c25;box-shadow:0 4px #322c25;opacity:.7}.legacy.ready .big-buy{animation:glow 1.6s ease-in-out infinite}@keyframes glow{50%{box-shadow:0 4px #2c5a1a,0 0 22px #c7e56bb3}}.ghost{min-height:48px;padding:0 18px;border-radius:12px;background:#ffffff1a;font-weight:700}.card.estate-item{align-items:start}.card.estate-item .portrait{width:68px;height:68px}.card-blurb.detail{margin-top:4px;color:#9d8b6e;font-size:11px}.card.estate-item.done{background:linear-gradient(#3d5230,#2f4025);border-color:#22301b}.tabs{display:flex;background:linear-gradient(#3f2d1a,#241809);border-top:2px solid #16100a;padding-bottom:env(safe-area-inset-bottom)}.tab{position:relative;flex:1;min-height:var(--tap);padding:7px 2px 8px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10.5px;font-weight:700;color:#9d8a6d}.tab img{width:24px;height:24px;object-fit:contain;opacity:.55}@media(max-width:420px){.tab{font-size:9.5px;padding-left:0;padding-right:0}.tab img{width:21px;height:21px}.tab .dot{margin-right:-15px;width:8px;height:8px}}.tab.on{color:var(--gold);background:#ffffff0f}.tab.on img{opacity:1}.tab .dot{position:absolute;top:6px;right:50%;margin-right:-18px;width:9px;height:9px;border-radius:50%;background:var(--danger);border:1.5px solid #241809;display:none}.tab.nudge .dot{display:block;animation:pulse 1.4s infinite}.toasts{position:absolute;left:50%;bottom:calc(70px + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;flex-direction:column;gap:6px;align-items:center;pointer-events:none;width:min(94vw,420px);z-index:5}.toast{background:#140d06f0;border:1px solid var(--wood-dark);border-radius:11px;padding:8px 13px;font-size:12.5px;font-weight:700;text-align:center;box-shadow:var(--shadow);transition:opacity .5s,transform .5s}.toast.out{opacity:0;transform:translateY(-8px)}.overlay{position:absolute;inset:0;background:#000000a6;display:none;place-items:center;padding:20px;z-index:10}.overlay.on{display:grid}.modal{width:min(94vw,400px);background:linear-gradient(#4a351f,#33240f);border:2px solid var(--wood-dark);border-radius:18px;padding:18px;text-align:center;box-shadow:var(--shadow)}.modal>img{width:92px;height:92px;object-fit:contain;margin:0 auto 6px}.modal h2{margin:0 0 6px;font-size:21px;color:var(--gold)}.modal p{margin:0 0 14px;font-size:13.5px;line-height:1.5;color:#ddcbaa}.modal-actions{display:flex;gap:8px}.modal-actions>*{flex:1}.modal.advert{width:min(96vw,460px);padding:12px 12px 16px;display:flex;flex-direction:column;height:min(100%,100dvh - 40px);max-height:860px}.advert-label{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:#9d8b6e;text-align:left;margin-bottom:6px}.advert-frame{border-radius:12px;overflow:hidden;border:2px solid #241809;background:#6ba24a url(/assets/advert/farm-life-poster.jpg) center / cover no-repeat;flex:1 1 auto;min-height:190px}.advert-demo{width:100%;height:100%;display:block;border:0}.advert-copy{margin:10px 0 8px}.advert-copy h2{margin:0 0 2px;font-size:22px;color:var(--gold)}.advert-copy p{margin:0;font-size:12.5px;line-height:1.4;color:#ddcbaa}.advert-cta{display:block;padding:11px;border-radius:12px;background:linear-gradient(#e8b53c,#b98a1e);color:#2f2113;font-weight:800;font-size:14px;text-decoration:none;margin-bottom:10px}.advert-reward{display:flex;align-items:baseline;justify-content:center;gap:10px;margin:2px 0 4px;font-weight:800;font-variant-numeric:tabular-nums}.advert-reward{font-size:19px}.reward-from{color:#b9a684;text-decoration:line-through;text-decoration-thickness:2px}.reward-arrow{color:#9d8b6e;font-weight:700}.reward-to{color:#9fd47c}.advert-note{margin:0 0 12px;font-size:11.5px;color:#9d8b6e}@keyframes pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.15)}}.advert .big-buy.ready{animation:glow 1.4s ease-in-out infinite}@media(max-height:620px){.advert-copy{margin:8px 0 6px}.advert-copy h2{font-size:19px}.advert-cta{padding:9px;margin-bottom:8px}.advert-note{display:none}}@media(max-height:620px)and (min-width:640px){.modal.advert{width:min(96vw,780px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);grid-template-rows:auto auto auto auto 1fr;grid-template-areas:"frame label" "frame copy" "frame cta" "frame reward" "frame actions";column-gap:12px}.advert-label{grid-area:label}.advert-frame{grid-area:frame;min-height:0}.advert-copy{grid-area:copy;text-align:left;margin:6px 0}.advert-cta{grid-area:cta}.advert-reward{grid-area:reward;justify-content:flex-start;font-size:17px}.modal-actions{grid-area:actions;align-self:end}}@media(min-width:760px){.stage{height:34vh;max-height:340px}.cash{font-size:32px}.rate{font-size:15px}.venture{--art: 88px;grid-template-columns:var(--art) minmax(0,1fr) 150px;padding:11px}.venture-name{font-size:16px}.tab{font-size:12px}.tab img{width:26px;height:26px}.modes{max-width:740px;margin:0 auto;width:100%;background:none;border:none}.farms{max-width:740px;margin:0 auto;width:100%;padding-left:0;padding-right:0}.farm-tab{min-height:36px;font-size:14px}}@media(max-width:380px){.content{padding-left:6px;padding-right:6px}.venture{--art: 62px;grid-template-columns:var(--art) minmax(0,1fr) 96px;gap:7px;padding:7px}.card{--portrait: 50px;--action: 92px;gap:7px;padding:7px}.venture-name{font-size:13.5px}.buy-cost{font-size:13px}.buy-label{font-size:11px}}@media(max-height:560px){.stage{height:22vh;min-height:110px}}.house-overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:12px;background:#0a0703c7}.hud .gear{border:0;background:#ffffff0f;border-radius:8px;color:#d9c7a4;font-size:16px;width:30px;height:30px;margin-left:6px;cursor:pointer;flex:none}.hud .gear:hover{background:#ffffff1f}.modal.settings{text-align:left}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid rgb(255 255 255 / 7%)}.setting-label{font-size:14px;color:#e8d9b8}.setting-toggle{border:1px solid #6b5636;background:#2c2113;color:#9d8b6e;border-radius:999px;padding:5px 16px;font-size:13px;cursor:pointer;min-width:62px}.setting-toggle.on{background:var(--gold, #efc04c);border-color:var(--gold, #efc04c);color:#2a1d0c;font-weight:700}.setting-button{width:100%;margin-top:8px}.setting-button.danger.armed{border-color:#c0392b;color:#e74c3c}.modal.settings .modal-actions{margin-top:12px}.card.offer .card-name{font-size:13.5px}.card.offer.locked{opacity:.62}.card.offer .buy{min-width:74px}.bar-fill.show-bar{background:linear-gradient(90deg,#d8a03e,#f5d06e)}.card.shop-item.locked{opacity:.62}.card.promo .card-name{color:var(--gold, #efc04c)}.buy.promo-link{display:grid;place-items:center;text-decoration:none;min-width:74px}.ghost.restore{width:100%;margin:8px 0 4px}.fake-ad-overlay{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:16px;background:#0a0703d9}.fake-ad-card{background:#241a0e;border:2px solid #6b5636;border-radius:14px;padding:18px;max-width:340px;width:100%;display:grid;gap:10px;text-align:center}.fake-ad-card h2{margin:0;font-size:19px;color:var(--gold, #efc04c)}.fake-ad-card .note{margin:0;font-size:12px;color:#9d8b6e}.fake-ad-card button{border:1px solid #6b5636;background:#2c2113;color:#e8d9b8;border-radius:10px;padding:11px;font-size:14px;cursor:pointer}.fake-ad-card button:last-child{background:var(--gold, #efc04c);color:#2a1d0c;font-weight:700}[data-reduce-motion=true] .advert .big-buy.ready,[data-reduce-motion=true] .legacy-panel.ready .big-buy{animation:none}
