:root{--ink:#2a1d17;--wood0:#2b1d15;--wood1:#3b2a20;--wood2:#4d3526;--wood3:#6b4a33;--cream:#fff4d6;--paper:#f3e3bd;--paper2:#e6d0a1;--gold:#ffd54a;--brass:#e0b24a;--brass-d:#b8862b;--green:#5cc15a;--green-d:#2f8a3e;--up:#3ddc84;--down:#ff5a5f;--blue:#3a86ff;--board:#141719;--board2:#1f2427;--flap:#e9e2cf;--f-ui:"Pixelify Sans",ui-rounded,system-ui,sans-serif;--f-label:"Silkscreen","Pixelify Sans",ui-monospace,monospace;--f-num:"VT323",ui-monospace,monospace;--safe-top:env(safe-area-inset-top,0px);--safe-bot:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;height:100%;background:#0f150f;color:var(--cream);font-family:var(--f-ui);overscroll-behavior:none}body{touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.boot{place-items:center;font-family:var(--f-label);color:var(--brass);background:#1b2a1c}.boot,.shell{position:fixed;inset:0;display:grid}.shell{place-items:center;background:radial-gradient(ellipse at 50% 30%,#243a24 0,#0f150f 70%)}.shell:before{content:"";position:absolute;inset:0;opacity:.08;background-image:linear-gradient(90deg,#fff 1px,transparent 0),linear-gradient(#fff 1px,transparent 0);background-size:16px 16px;pointer-events:none}.phone{position:relative;width:100vw;height:100dvh;overflow:hidden;display:flex;flex-direction:column;background:#3f8a3a}@media (min-width:560px){.phone{width:402px;height:min(874px,calc(100dvh - 40px));border-radius:44px;border:10px solid #0b0d0c;box-shadow:0 0 0 2px #2c3330,0 30px 80px rgba(0,0,0,.6)}.desk-note{position:absolute;bottom:14px;left:0;right:0;text-align:center;font-family:var(--f-label);font-size:11px;color:#7d9a7a;letter-spacing:.08em}}@media (max-width:559px){.desk-note{display:none}}.ticker{position:relative;z-index:3;flex:none;padding-top:var(--safe-top);background:var(--board);border-bottom:2px solid var(--ink);overflow:hidden;height:calc(24px + var(--safe-top))}.ticker-track{width:max-content;animation:tick 26s linear infinite;height:24px}.ticker-item,.ticker-track{display:flex;align-items:center}.ticker-item{gap:6px;padding:0 14px;font-family:var(--f-num);font-size:19px;color:var(--flap);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ticker-item b{font-family:var(--f-label);font-size:11px;color:var(--paper2);font-weight:400;letter-spacing:.06em}.ticker-item .up{color:var(--up)}.ticker-item .down{color:var(--down)}.ticker-item i{font-style:normal;font-size:12px}.ticker .fresh{position:absolute;right:6px;top:calc(var(--safe-top) + 6px);font-family:var(--f-label);font-size:9px;padding:1px 4px;background:#2d1a1a;color:var(--down)}@keyframes tick{to{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}}.reduced .ticker-track{animation:none}.hud{position:relative;z-index:3;flex:none;background:var(--wood1);border-bottom:2px solid var(--ink);padding:6px 10px 7px;display:grid;grid-gap:5px;gap:5px;box-shadow:inset 0 -3px 0 var(--wood0)}.hud-row{display:flex;gap:8px}.chip,.hud-row{align-items:center}.chip{display:inline-flex;gap:5px;height:26px;padding:0 8px;background:var(--wood0);border:2px solid var(--ink);box-shadow:inset 2px 2px 0 rgba(255,255,255,.07);font-family:var(--f-num);font-size:20px;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chip img{width:18px;height:18px;image-rendering:pixelated}.chip.pts{color:#cfeec0}.chip.tend{color:var(--gold)}.chip small{font-family:var(--f-label);font-size:9px;color:var(--paper2);letter-spacing:.04em}.hud .spacer{flex:1 1}.iconbtn{width:30px;height:26px;display:grid;place-items:center;background:var(--wood0);border:2px solid var(--ink);padding:0}.iconbtn img{width:18px;height:18px;image-rendering:pixelated}.streak{display:inline-flex;align-items:center;gap:3px;height:26px;padding:0 6px 0 4px;background:var(--wood0);border:2px solid var(--ink)}.streak img{image-rendering:pixelated;transition:transform .3s}.streak .days{display:flex;gap:2px}.streak .d{display:block;width:6px;height:12px;background:#2a1f18;border:1px solid var(--ink)}.streak .d.on{background:#f08a3c}.streak .d.today{outline:1px solid var(--cream)}.clock{display:flex;align-items:center;justify-content:space-between;gap:8px;font-family:var(--f-label);font-size:12px;letter-spacing:.04em}.clock .bell{display:inline-flex;align-items:center;gap:6px;color:var(--paper)}.clock .bell img{width:16px;height:16px;image-rendering:pixelated}.clock .bell.live{color:var(--gold);text-shadow:0 0 6px rgba(255,213,74,.5)}.clock .next{color:#b9d6a8}.farm{position:relative;flex:1 1;min-height:0;overflow:hidden;background:#58a84a}.farm canvas{position:absolute;left:50%;top:0;transform:translateX(-50%);image-rendering:pixelated;image-rendering:crisp-edges;touch-action:manipulation}.farm.dim:after{content:"";position:absolute;inset:0;background:rgba(10,14,20,.5);pointer-events:none}.tools{position:absolute;right:8px;top:8px;display:grid;grid-gap:6px;gap:6px;z-index:4}.tool{width:46px;height:46px;display:grid;place-items:center;background:var(--wood1);border:2px solid var(--ink);box-shadow:inset 2px 2px 0 rgba(255,255,255,.1),inset -2px -2px 0 rgba(0,0,0,.3);padding:0;position:relative}.tool img{width:24px;height:24px;image-rendering:pixelated}.tool span{position:absolute;bottom:-1px;left:0;right:0;font-family:var(--f-num);font-size:13px;color:var(--gold);text-align:center;line-height:1}.tool.on{background:var(--brass-d);outline:2px solid var(--gold)}.toolbar-banner{position:absolute;left:8px;right:62px;top:8px;z-index:4;background:var(--wood1);border:2px solid var(--ink);padding:6px 8px;font-size:13px;display:flex;align-items:center;gap:8px}.toolbar-banner button{margin-left:auto;background:var(--wood0);padding:3px 6px}.farmlabel,.toolbar-banner button{font-family:var(--f-label);font-size:10px;border:2px solid var(--ink)}.farmlabel{left:8px;bottom:8px;z-index:3;background:rgba(43,29,21,.75);padding:2px 6px;color:var(--paper)}.farmlabel,.pop{position:absolute}.pop{z-index:6;min-width:188px;max-width:240px;background:var(--paper);color:var(--ink);border:2px solid var(--ink);box-shadow:4px 4px 0 rgba(0,0,0,.35);padding:8px;display:grid;grid-gap:6px;gap:6px;transform:translate(-50%,calc(-100% - 10px))}.pop h4{margin:0;font-family:var(--f-label);font-size:12px}.pop p{margin:0;font-size:13px;line-height:1.3}.pop .row{display:flex;gap:6px}.pop .crop-pick{flex:1 1;display:grid;justify-items:center;grid-gap:2px;gap:2px;padding:5px 2px;background:var(--paper2);border:2px solid var(--ink);font-size:11px;font-family:var(--f-label)}.pop .crop-pick.sel{background:#fff;outline:2px solid var(--green-d)}.pop .crop-pick img{width:36px;height:52px;image-rendering:pixelated}.pbtn{font-family:var(--f-label);font-size:11px;padding:7px 8px;background:var(--green);color:var(--ink);border:2px solid var(--ink);box-shadow:inset -2px -2px 0 rgba(0,0,0,.2),inset 2px 2px 0 rgba(255,255,255,.35)}.pbtn.gold{background:var(--gold)}.pbtn.ghost{background:var(--paper2)}.pbtn:disabled{opacity:.5;cursor:default}.pop .close{top:2px;right:4px;background:none;border:0;font-family:var(--f-label);font-size:12px;color:var(--ink);padding:4px}.fly,.pop .close{position:absolute}.fly{z-index:20;pointer-events:none;font-family:var(--f-num);font-size:26px;line-height:1;color:#e8ffd8;text-shadow:2px 2px 0 var(--ink),-1px -1px 0 var(--ink),1px -1px 0 var(--ink),-1px 1px 0 var(--ink);will-change:transform,opacity;white-space:nowrap}.fly.gold{color:var(--gold)}.fly.blue{color:#bfe0ff}.fly img{width:22px;height:22px;image-rendering:pixelated}.combo{position:absolute;z-index:21;pointer-events:none;font-family:var(--f-label);font-size:22px;color:var(--gold);text-shadow:2px 2px 0 var(--ink);animation:comboIn .5s steps(5) both}@keyframes comboIn{0%{transform:scale(.4);opacity:0}40%{transform:scale(1.25);opacity:1}to{transform:scale(1);opacity:0}}.bell-overlay{position:absolute;inset:0;z-index:12;pointer-events:none;display:grid;justify-items:center;align-content:start;padding-top:min(40%,300px)}.bell-title{margin-top:0;font-size:30px;line-height:1.05;text-align:center;color:var(--gold);text-shadow:3px 3px 0 var(--ink),-2px -2px 0 var(--ink),2px -2px 0 var(--ink),-2px 2px 0 var(--ink);animation:bellTitle 2.2s steps(12) both}.bell-stamp,.bell-title{font-family:var(--f-label);font-weight:700}.bell-stamp{position:relative;margin-top:10px;font-size:20px;color:var(--ink);background:var(--gold);border:3px solid var(--ink);padding:6px 10px;transform:rotate(-6deg);animation:stamp 2.2s both;box-shadow:4px 4px 0 rgba(0,0,0,.35)}@keyframes bellTitle{0%{opacity:0;transform:translateY(8px)}12%{opacity:1;transform:none}85%{opacity:1}to{opacity:0}}@keyframes stamp{0%,22%{opacity:0;transform:rotate(-6deg) scale(2.2)}32%{opacity:1;transform:rotate(-6deg) scale(.92)}38%{transform:rotate(-6deg) scale(1)}85%{opacity:1}to{opacity:0}}.reduced .bell-stamp,.reduced .bell-title{animation-timing-function:linear}.toasts{position:absolute;left:10px;right:10px;top:10px;z-index:30;display:grid;grid-gap:6px;gap:6px;pointer-events:none}.toast{pointer-events:auto;background:var(--paper);color:var(--ink);border:2px solid var(--ink);box-shadow:3px 3px 0 rgba(0,0,0,.35);padding:7px 10px;font-size:14px;animation:toastIn .25s steps(4) both}.toast b{display:block;font-family:var(--f-label);font-size:11px}.toast.error{background:#ffd9d4}.toast.good{background:#dff5cf}.toast.warn{background:#fff0c2}@keyframes toastIn{0%{transform:translateY(-8px);opacity:0}}.notif{position:absolute;left:10px;right:10px;top:10px;z-index:31;background:rgba(245,245,247,.97);color:#111;border-radius:16px;padding:10px 12px;display:grid;grid-template-columns:34px 1fr;grid-gap:10px;gap:10px;align-items:center;box-shadow:0 10px 30px rgba(0,0,0,.35);animation:notifIn .35s ease-out both;font-family:-apple-system,system-ui,sans-serif}.notif img{width:34px;height:34px;border-radius:8px;image-rendering:pixelated;background:#1b2a1c}.notif b{font-size:13px}.notif small{font-size:11px;color:#666;float:right}.notif p{margin:2px 0 0;font-size:14px}@keyframes notifIn{0%{transform:translateY(-120%)}}.actionbar{position:relative;z-index:5;flex:none;padding:8px 10px 6px;background:var(--wood1);border-top:2px solid var(--ink);box-shadow:inset 0 3px 0 var(--wood2)}.primary{position:relative;width:100%;height:60px;border:3px solid var(--ink);background:var(--green);color:var(--ink);font-family:var(--f-label);font-weight:700;font-size:20px;letter-spacing:.02em;box-shadow:inset -4px -5px 0 rgba(0,0,0,.22),inset 4px 4px 0 rgba(255,255,255,.35),0 4px 0 var(--ink);overflow:hidden;transition:transform .06s}.primary:active:not(:disabled){transform:translateY(3px);box-shadow:inset -4px -5px 0 rgba(0,0,0,.22),inset 4px 4px 0 rgba(255,255,255,.35),0 1px 0 var(--ink)}.primary.gold{background:var(--gold)}.primary.bell{background:linear-gradient(90deg,#ffd54a,#ffe890 50%,#ffd54a);background-size:200% 100%;animation:shine 1.6s linear infinite}.primary.claim{background:#ffb86b}.primary.buy{background:var(--paper)}.primary:disabled{background:var(--wood2);color:var(--paper2);cursor:default;box-shadow:inset -4px -5px 0 rgba(0,0,0,.25),inset 4px 4px 0 rgba(255,255,255,.08),0 4px 0 var(--ink)}.primary .fill{position:absolute;left:0;top:0;bottom:0;background:rgba(166,227,110,.18);pointer-events:none}.primary .fill:after{content:"";position:absolute;right:0;top:0;bottom:0;width:3px;background:rgba(166,227,110,.6);animation:blink 1s steps(2) infinite}.primary .lbl,.primary .sub{position:relative}.primary .sub{display:block;font-family:var(--f-ui);font-weight:500;font-size:12px;letter-spacing:0;opacity:.8;margin-top:1px}.primary .pending{position:absolute;right:8px;top:6px;font-family:var(--f-label);font-size:9px;font-weight:400;background:var(--ink);color:var(--gold);padding:1px 4px}@keyframes shine{to{background-position:-200% 0}}@keyframes blink{50%{opacity:.2}}.dock{z-index:5;flex:none;grid-template-columns:repeat(5,1fr);grid-gap:4px;gap:4px;padding:6px 8px calc(6px + var(--safe-bot));background:var(--wood0);border-top:2px solid var(--ink)}.dock,.dock button{position:relative;display:grid}.dock button{justify-items:center;grid-gap:1px;gap:1px;padding:4px 0 2px;background:transparent;border:2px solid transparent;font-family:var(--f-label);font-size:9px;color:var(--paper2)}.dock button img{width:24px;height:24px;image-rendering:pixelated}.dock button.on{background:var(--wood1);border-color:var(--ink);color:var(--gold)}.dock .badge{position:absolute;top:0;right:14%;width:8px;height:8px;background:var(--down);border:1px solid var(--ink)}.sheet-back{position:absolute;inset:0;z-index:40;background:rgba(10,12,10,.45);animation:fade .2s both}.sheet{position:absolute;left:0;right:0;bottom:0;z-index:41;max-height:78%;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);border-top:3px solid var(--ink);box-shadow:0 -4px 0 rgba(0,0,0,.25);animation:up .22s steps(6) both;padding-bottom:var(--safe-bot)}.sheet-head{flex:none;display:flex;align-items:center;gap:8px;padding:10px 12px 8px;border-bottom:2px solid var(--paper2)}.sheet-head h3{margin:0;font-family:var(--f-label);font-size:15px}.sheet-head .x{margin-left:auto;font-family:var(--f-label);background:var(--paper2);border:2px solid var(--ink);width:32px;height:28px}.sheet-body{overflow-y:auto;padding:10px 12px 14px;display:grid;grid-gap:10px;gap:10px;-webkit-overflow-scrolling:touch}.sheet-body p{margin:0;font-size:14px;line-height:1.35}@keyframes up{0%{transform:translateY(40%);opacity:0}}@keyframes fade{0%{opacity:0}}.card{background:#fffaf0;border:2px solid var(--ink);padding:10px;display:grid;grid-gap:6px;gap:6px;box-shadow:3px 3px 0 rgba(0,0,0,.15)}.card h4{margin:0;font-family:var(--f-label);align-items:center;gap:6px}.card h4,.kv{font-size:13px;display:flex}.kv{justify-content:space-between}.kv b{font-family:var(--f-num);font-size:18px;font-weight:400;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tag{display:inline-block;font-family:var(--f-label);font-size:10px;padding:1px 5px;border:2px solid var(--ink);background:var(--paper2)}.tag.best{background:#c9f0b8}.tag.worst{background:#ffd2cc}.tag.gold{background:var(--gold)}.fieldcard{display:grid;grid-template-columns:54px 1fr;grid-gap:10px;gap:10px;align-items:center}.fieldcard img{width:54px;height:78px;image-rendering:pixelated;background:#7a4f31;border:2px solid var(--ink)}.grid2{grid-template-columns:1fr 1fr;grid-gap:8px}.grid2,.shopitem{display:grid;gap:8px}.shopitem{grid-template-columns:1fr auto;grid-gap:8px;align-items:center}.shopitem p{font-size:12px!important;color:#5b4a3a}.muted{color:#6b5a48;font-size:12px}.input{font:inherit;font-size:15px;padding:7px 8px;border:2px solid var(--ink);background:#fff;color:var(--ink);width:100%}.toggle{display:flex;align-items:center;justify-content:space-between;font-size:14px}.board{background:var(--board);border:3px solid var(--ink);box-shadow:inset 0 0 0 2px #2c3236;color:var(--flap);font-family:var(--f-num)}.board-tabs{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:4px;gap:4px}.board-tabs button{font-family:var(--f-label);font-size:10px;padding:6px 2px;border:2px solid var(--ink);background:var(--paper2)}.board-tabs button.on{background:var(--board);color:var(--gold)}.board-head{display:flex;justify-content:space-between;padding:6px 8px;font-family:var(--f-label);font-size:10px;color:var(--paper2);border-bottom:2px solid #2c3236}.board-head b{color:var(--gold);font-family:var(--f-num);font-size:18px;font-weight:400}.brow{display:grid;grid-template-columns:44px 1fr 70px 26px;align-items:center;grid-gap:6px;gap:6px;padding:2px 8px;font-size:19px;line-height:1.15;border-bottom:1px solid #22282b;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.brow .rk{background:var(--board2);text-align:center;border:1px solid #000}.brow .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brow .nm small{font-size:14px;color:#8a9298;margin-left:4px}.brow .pt{text-align:right}.brow .mv{text-align:center;font-size:15px}.brow .mv.up{color:var(--up)}.brow .mv.down{color:var(--down)}.brow.me{background:#3a3212;color:var(--gold);position:-webkit-sticky;position:sticky;bottom:0;border-top:2px solid var(--gold)}.brow.zone{border-bottom:2px dashed var(--brass-d)}.brow .prize{display:inline-block;width:6px;height:6px;background:var(--brass);margin-right:4px;vertical-align:middle}.board-scroll{max-height:290px;overflow-y:auto}.brow.gap{color:#5a646a;font-size:16px;justify-content:center}.flap{animation:flap .35s steps(3)}@keyframes flap{0%{transform:scaleY(.1)}50%{transform:scaleY(1.1)}}.callout{background:#1d2a1b;color:#dff5cf;border:2px solid var(--ink);padding:8px 10px;font-size:14px}.callout b{color:var(--gold)}.chest-back{position:absolute;inset:0;z-index:50;background:rgba(8,10,8,.82);display:grid;place-items:center;animation:fade .3s both}.chest-wrap{display:grid;justify-items:center;grid-gap:10px;gap:10px;text-align:center;padding:20px}.chest-wrap canvas{image-rendering:pixelated;width:216px;height:192px}.chest-wrap .shake{animation:shake .5s steps(4) infinite}@keyframes shake{25%{transform:translateX(-3px) rotate(-2deg)}75%{transform:translateX(3px) rotate(2deg)}}.chest-light{position:absolute;width:260px;height:260px;border-radius:50%;pointer-events:none;animation:glow 2s ease-in-out infinite}@keyframes glow{50%{transform:scale(1.12);opacity:.7}}.prize-amt{font-family:var(--f-num);font-size:44px;color:var(--gold);line-height:1;text-shadow:3px 3px 0 var(--ink)}.prize-usd{font-family:var(--f-label);font-size:14px;color:var(--paper)}.prize-meta{font-size:11px}.linkish,.prize-meta{font-family:var(--f-label);color:var(--paper2)}.linkish{background:none;border:0;font-size:10px;text-decoration:underline;padding:4px}.share-img{width:100%;image-rendering:auto;border:2px solid var(--ink);display:block}.dev{position:absolute;left:6px;right:6px;bottom:6px;z-index:60;background:#111;color:#cfe;border:2px solid #3f3;font-family:ui-monospace,monospace;font-size:11px;padding:8px;display:grid;grid-gap:6px;gap:6px;max-height:60%;overflow:auto}.dev .row{display:flex;flex-wrap:wrap;gap:4px}.dev button{background:#1e2a1e;border:1px solid #3f3;color:#cfe;font:inherit;padding:4px 6px}.dev button.on{background:#3f3;color:#111}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}