@font-face{font-family:Fredoka;src:url(../fonts/fredoka-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Nunito;src:url(../fonts/nunito-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Nunito;src:url(../fonts/nunito-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Nunito;src:url(../fonts/nunito-800.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}:root{--paper: #f6efdc;--paper-deep: #ecdfc2;--card: #fffbf0;--card-hi: #ffffff;--ink: #40351d;--ink-soft: #796648;--ink-faint: #bbaa8a;--leaf: #4f9e55;--leaf-deep: #357340;--leaf-soft: #dcebcf;--bed: #c4d8a4;--bed-deep: #a9c186;--soil: #6b452c;--soil-deep: #53341f;--soil-lit: #8a5c3b;--soil-ink: #fbeed8;--gold: #f2b233;--gold-deep: #cf8f10;--gold-hi: #ffd45e;--gold-ink: #5b3c00;--berry: #e0455f;--sky: #8fc7e8;--font-display: "Fredoka", "Nunito", system-ui, sans-serif;--font-body: "Nunito", system-ui, sans-serif;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 26px;--shadow-card: 0 1px 0 #ffffff, 0 10px 24px #57411526, 0 2px 6px #5741151f;--shadow-pop: 0 18px 48px #3d2c0f33;--spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);color-scheme:light;font-family:var(--font-body)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink)}body{min-height:100dvh;display:flex;justify-content:center;background:radial-gradient(130% 44% at 50% -8%,#fff8da 0%,transparent 62%),radial-gradient(90% 24% at 50% 112%,#d8e6bd 0%,transparent 70%),linear-gradient(180deg,#f9f3e3 0%,var(--paper) 34%,var(--paper-deep) 100%);touch-action:manipulation;user-select:none;-webkit-user-select:none}.ico{width:1em;height:1em;display:inline-block;vertical-align:-.12em;flex:0 0 auto}.ico svg{display:block}#app{position:relative;z-index:1;width:100%;max-width:480px;min-height:100dvh;padding:max(14px,env(safe-area-inset-top)) 16px calc(84px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}.scenery{position:fixed;left:0;right:0;bottom:0;z-index:0;height:210px;pointer-events:none;overflow:hidden}.scenery:before{content:"";position:absolute;inset:0;background:radial-gradient(64% 96% at 16% 122%,#d9e7bf 58%,transparent 59.5%),radial-gradient(76% 108% at 82% 130%,#cfdfaf 58%,transparent 59.5%)}.scenery:after{content:"";position:absolute;left:0;right:0;bottom:26px;height:64px;background:radial-gradient(3.5px 3.5px at 9% 34%,#e8a0b4 60%,transparent 63%),radial-gradient(3px 3px at 27% 66%,#f6d47a 60%,transparent 63%),radial-gradient(3.5px 3.5px at 58% 24%,#e8a0b4 60%,transparent 63%),radial-gradient(3px 3px at 74% 60%,#b9a2e8 60%,transparent 63%),radial-gradient(3.5px 3.5px at 91% 30%,#f6d47a 60%,transparent 63%)}#boot{position:fixed;inset:0;z-index:99;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:radial-gradient(130% 44% at 50% -8%,#fff8da 0%,transparent 62%),linear-gradient(180deg,#f9f3e3,#ecdfc2)}#boot .boot-mark{width:54px;height:54px;animation:bootbob 1.1s var(--spring) infinite}#boot .boot-word{font-family:var(--font-display);font-size:22px;color:var(--leaf-deep);letter-spacing:.02em}@keyframes bootbob{50%{transform:translateY(-5px) rotate(-2deg)}}.top{display:flex;align-items:center;justify-content:space-between;gap:8px}.brand{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:21px;letter-spacing:.01em;color:var(--leaf-deep)}.brand .brand-mark{display:flex;width:30px;height:30px}.brand-svg{width:100%;height:100%;filter:drop-shadow(0 2px 3px #3f762b3d)}.top-actions{display:flex;gap:8px;align-items:center}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;font-size:19px;color:var(--ink-soft);background:var(--card);border:1px solid #e6d8b8;border-radius:var(--r-md);box-shadow:0 3px #e3d3b0,0 6px 14px #57411521;cursor:pointer;transition:transform .14s var(--spring),box-shadow .14s ease,color .14s ease}.icon-btn:active{transform:translateY(2px);box-shadow:0 1px #e3d3b0,0 2px 6px #57411521}.stats{display:flex;gap:8px}.stat{display:inline-flex;align-items:center;gap:7px;background:var(--card);border:1px solid #e6d8b8;padding:8px 14px;border-radius:999px;font-family:var(--font-display);font-size:17px;color:var(--ink);box-shadow:0 3px #e3d3b0,0 6px 14px #5741151f}.stat .ico{width:19px;height:19px;font-size:19px}.coins .ico{color:var(--gold)}.stat.coin-bump{transform:scale(1.05);box-shadow:var(--shadow-card),0 0 14px #f2b23355}.stat{transition:transform .16s var(--spring),box-shadow .16s ease}.weather{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12.5px;font-weight:800;letter-spacing:.01em;color:var(--ink);padding:8px 14px;border-radius:999px;white-space:nowrap;overflow:hidden;background:var(--card);border:1px solid #e6d8b8;box-shadow:0 3px #e3d3b0,0 6px 14px #5741151a}.weather .ico{font-size:15px}.weather .crop{width:17px;height:17px;margin:0 1px}.weather b{font-family:var(--font-display);font-weight:600;letter-spacing:.02em}.weather .fx{color:var(--ink-soft);font-weight:700}.weather--sunny{background:#fdf2cf;border-color:#eed997}.weather--sunny b,.weather--sunny .w-ico{color:#a87808}.weather--rainy{background:#e1eefa;border-color:#bcd7ef}.weather--rainy b,.weather--rainy .w-ico{color:#3b6d96}.weather--windy{background:#dff0e6;border-color:#bcdcc8}.weather--windy b,.weather--windy .w-ico{color:#3b7c57}.weather--mystic{background:#ece5fa;border-color:#d3c4f0}.weather--mystic b,.weather--mystic .w-ico{color:#6b5499}.weather--golden{background:#ffedc4;border-color:#f0d489}.weather--golden b,.weather--golden .w-ico{color:#b97c10}.weather--bountiful{background:linear-gradient(90deg,#fde4ee,#fdf2cf,#ddf0d8,#dde9fb,#ece5fa);border-color:#e8d4c4}.weather--bountiful b{background:linear-gradient(90deg,#c2527e,#b97c10,#4f8a3a,#4173ab,#6b5499);-webkit-background-clip:text;background-clip:text;color:transparent}#garden-wrap{--vignette: rgba(70, 60, 20, .18);position:relative;flex:1 1 auto;min-height:380px;border-radius:var(--r-lg);overflow:hidden;border:1px solid #e6d8b8;box-shadow:var(--shadow-card);background:#b8d0a8}#garden-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:pointer}#garden-labels{position:absolute;inset:0;pointer-events:none;z-index:3}.vignette{position:absolute;inset:0;pointer-events:none;z-index:4;background:radial-gradient(130% 96% at 50% 38%,transparent 60%,var(--vignette) 100%);transition:background .4s ease}.wx-badge{position:absolute;left:0;top:0;z-index:3;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px;font-weight:800;color:var(--ink);will-change:transform}.wx-badge.next{z-index:4}.wx-badge .lock{font-size:16px;opacity:.9;filter:drop-shadow(0 1px 2px #00000040)}.wx-badge .cost{background:var(--card);color:var(--gold-ink);border:1px solid #eee0bd;border-radius:999px;padding:2.5px 8px;font-size:11px;box-shadow:0 1.5px #e0ce9f,0 3px 8px #57411526;display:flex;align-items:center;gap:3px}.wx-badge .cost .ico{font-size:11px;color:var(--gold)}.wx-badge.next .cost{animation:badgePulse 1.6s ease-in-out infinite}@keyframes badgePulse{50%{transform:scale(1.12)}}.dock{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,#f6efdccc 38%,#f0e6cbcf 100%);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);display:flex;justify-content:center;pointer-events:none}.dock-btn{pointer-events:auto;width:100%;max-width:448px;display:flex;align-items:center;justify-content:center;gap:12px;background:var(--card);color:var(--ink);border:1px solid #e6d8b8;border-radius:999px;padding:9px 18px;cursor:pointer;box-shadow:0 4px #e3d3b0,0 12px 28px #4b371333,inset 0 1px #fff;transition:transform .16s var(--spring),box-shadow .16s ease}.dock-btn:active{transform:translateY(2.5px);box-shadow:0 1.5px #e3d3b0,0 4px 12px #4b371333}.dock-btn .chip-art{display:flex;width:30px;height:30px}.dock-btn .chip-art .crop{width:100%;height:100%}.dock-btn .chip-info{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;gap:1px}.dock-btn .chip-info .t{font-size:11px;font-weight:800;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.07em}.dock-btn .chip-info .n{font-family:var(--font-display);font-size:15.5px;color:var(--ink);display:inline-flex;align-items:center;gap:5px}.dock-btn .chip-info .n .ico{color:var(--gold);font-size:13px}.dock-btn .chip-caret{margin-left:4px;color:var(--ink-faint);font-size:15px}.sheet{position:fixed;inset:0;z-index:50;background:#2e241199;display:flex;align-items:flex-end;justify-content:center;animation:fadein .18s ease}@keyframes fadein{0%{opacity:0}}.sheet-card{background:linear-gradient(180deg,var(--card-hi) 0%,var(--card) 100%);width:100%;max-width:480px;max-height:78dvh;overflow-y:auto;border-radius:var(--r-xl) var(--r-xl) 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-top:1px solid #f3e7c8;box-shadow:var(--shadow-pop);animation:slideup .24s var(--ease-out);scrollbar-width:thin;scrollbar-color:#d9c9a3 transparent}.sheet-card:before{content:"";display:block;width:42px;height:4.5px;border-radius:999px;background:#e3d3b0;margin:-6px auto 12px}.sheet-card.center{text-align:center;padding:26px 22px calc(26px + env(safe-area-inset-bottom))}.sheet-card.center:before{display:none}@keyframes slideup{0%{transform:translateY(46px);opacity:.4}}.sheet-head{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-display);font-size:19px;color:var(--ink);padding:2px 4px 12px}.sheet-head .icon-btn{width:36px;height:36px;font-size:14px;border-radius:12px;box-shadow:none;border-color:#eee0bd}.hidden{display:none!important}.seed-list{display:flex;flex-direction:column;gap:8px}.seed-row{display:flex;align-items:center;gap:12px;text-align:left;background:var(--card);color:var(--ink);border:1.5px solid #eee0bd;border-radius:var(--r-md);padding:10px 12px;cursor:pointer;font:inherit;box-shadow:0 2px #ecdcb8,0 4px 10px #57411514;transition:transform .14s var(--spring),box-shadow .14s ease,border-color .14s ease,background .14s ease}.seed-row:active{transform:scale(.98)}.seed-row.selected{border-color:var(--gold);background:linear-gradient(180deg,#fff8e3,#fdf0cf55 70%,var(--card) 130%);box-shadow:0 2px #ecd285,0 4px 12px #cf8f1029}.seed-row.cant{opacity:.55;box-shadow:none}.s-art{width:38px;height:38px;border-radius:11px;background:#f4ecd8;border:1px solid #eee0bd;display:flex;align-items:center;justify-content:center}.s-art .crop{width:27px;height:27px}.s-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.s-info b{font-size:14.5px;font-family:var(--font-display);font-weight:600;letter-spacing:.01em}.s-info small{color:var(--ink-soft);font-size:11.5px;font-weight:700;display:flex;flex-wrap:wrap;gap:3px 9px}.s-info small .m{display:inline-flex;align-items:center;gap:3px}.s-info small .ico{font-size:11px;color:var(--ink-faint)}.s-info small .ico.coin-ico{color:var(--gold)}.s-go{display:inline-flex;align-items:center;gap:5px;font-weight:800;font-size:12.5px;color:var(--gold-deep);text-transform:uppercase;letter-spacing:.05em}.s-go .ico{font-size:15px}.seed-row.cant .s-go{color:var(--ink-faint)}.seed-row.selected .s-go{color:var(--leaf)}.offline-art{width:76px;height:76px;margin:0 auto;display:flex}.offline-art svg{width:100%;height:100%}.sheet-card h2{margin:10px 0 6px;font-family:var(--font-display);font-weight:600;font-size:22px;color:var(--ink)}.sheet-card p{margin:0 0 18px;color:var(--ink-soft);font-weight:700;font-size:14.5px;line-height:1.45}.primary{background:linear-gradient(180deg,var(--gold-hi),var(--gold));color:var(--gold-ink);border:0;border-radius:var(--r-md);font-family:var(--font-display);font-size:16px;letter-spacing:.02em;padding:13px 24px;cursor:pointer;min-height:48px;min-width:56%;box-shadow:0 4px 0 var(--gold-deep),0 10px 20px #cf8f1040,inset 0 1px #fff8;transition:transform .14s var(--spring),box-shadow .14s ease,filter .14s ease}.primary:active{transform:translateY(3px);box-shadow:0 1px 0 var(--gold-deep),0 3px 8px #cf8f1033}.jackpot{position:fixed;inset:0;z-index:80;pointer-events:none;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 42%,transparent 22%,#241a0999 100%);animation:fadein .2s ease}.jp-burst{position:relative;text-align:center;animation:jppop .42s var(--spring)}@keyframes jppop{0%{transform:scale(.3) rotate(-9deg);opacity:0}}.jp-rays{position:absolute;left:50%;top:42%;width:150vmin;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:repeating-conic-gradient(#ffffff 0 6deg,transparent 6deg 26deg);opacity:.12;mask:radial-gradient(circle,#000 0%,transparent 62%);-webkit-mask:radial-gradient(circle,#000 0%,transparent 62%);animation:rayspin 9s linear infinite}@keyframes rayspin{to{transform:translate(-50%,-50%) rotate(360deg)}}.jp-emoji{position:relative;width:96px;height:96px;margin:0 auto;filter:drop-shadow(0 0 26px #fff8);animation:cropbob 1.5s ease-in-out infinite}.jp-emoji svg{width:100%;height:100%}.jp-label{position:relative;margin-top:6px;font-family:var(--font-display);font-size:30px;letter-spacing:.05em;color:#fff;text-shadow:0 2px 12px #0009}.jp-coins{position:relative;margin-top:4px;display:inline-flex;align-items:center;gap:7px;font-family:var(--font-display);font-size:21px;color:var(--gold-hi);text-shadow:0 1px 10px #cf8f1088}.jp-coins .ico{font-size:24px;color:var(--gold)}.jp-silver .jp-label{color:#eef4fb;text-shadow:0 0 20px #bcd2ec99,0 2px 12px #000}.jp-golden .jp-label{color:var(--gold-hi);text-shadow:0 0 22px #ffd761aa,0 2px 12px #000}.jp-rainbow .jp-label{background:linear-gradient(90deg,#ff6dd6,#ffd45e,#6dff9e,#6fc8ff,#ff6dd6);-webkit-background-clip:text;background-clip:text;color:transparent}.jp-rainbow .jp-coins{color:#fff}.jp-part{position:absolute;left:50%;top:38%;font-size:20px;color:var(--pc, #ffd45e);animation:confetti 1.4s cubic-bezier(.15,.8,.35,1) forwards;transform:rotate(calc(var(--i) * 52deg));animation-delay:calc(var(--i) * 35ms);width:1em;height:1em;margin:-.5em}@keyframes confetti{to{transform:rotate(calc(var(--i) * 52deg)) translateY(-38dvh) translate(calc((var(--i) - (var(--n, 4) - 1) / 2) * 7dvw)) rotate(200deg);opacity:0}}.toast{position:fixed;left:50%;bottom:calc(88px + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;align-items:center;gap:7px;background:#3a2d17f2;color:#fff7e6;padding:10px 16px;border-radius:999px;font-size:13.5px;font-weight:700;z-index:70;max-width:92vw;text-align:center;border:1px solid #ffffff30;box-shadow:0 8px 22px #241a0966;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:toastup .22s var(--spring)}.toast .tt-ico,.toast .tt-crop{display:flex;flex:0 0 auto}.toast .tt-ico .ico{font-size:17px;color:var(--gold-hi)}.toast .tt-crop .crop{width:19px;height:19px}.toast b{font-weight:800}@keyframes toastup{0%{transform:translate(-50%) translateY(10px) scale(.9);opacity:0}}#floaters{position:fixed;inset:0;pointer-events:none;z-index:60}.floater{position:absolute;transform:translate(-50%,-100%);display:flex;align-items:center;gap:4px;font-family:var(--font-display);font-weight:600;color:var(--gold-hi);font-size:17px;text-shadow:0 2px 6px #241a09;animation:floatup 1.35s var(--ease-out) forwards}.floater .ico{font-size:15px;color:var(--gold)}@keyframes floatup{0%{transform:translate(-50%,-60%) scale(.6);opacity:0}18%{transform:translate(-50%,-110%) scale(1.12);opacity:1}to{transform:translate(-50%,-240%) scale(1);opacity:0}}@media(max-width:360px){#app{padding-left:8px;padding-right:8px}}@media(max-width:340px){.brand{font-size:19px}.stat{font-size:15px;padding:7px 12px}.weather{font-size:11.5px;padding:7px 10px}}:focus-visible{outline:2.5px solid var(--leaf);outline-offset:2px;border-radius:6px}@media(hover:hover){.icon-btn:hover{color:var(--leaf-deep);border-color:#d8c69b}.dock-btn:hover{filter:brightness(1.03)}.seed-row:hover:not(.cant){border-color:#dcc992}.primary:hover{filter:brightness(1.05)}}@media(prefers-reduced-motion:reduce){.jackpot,.jp-rays,.jp-part,.floater,.toast,.sheet-card,.wx-badge.next .cost,#boot .boot-mark{animation:none}*{transition-duration:.01ms}}
