@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(./fraunces-latin-var-DihXLNYH.woff2) format("woff2")}@font-face{font-family:Work Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(./worksans-latin-var-Bl-S9Xys.woff2) format("woff2")}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{--paper: #f4ecd8;--paper-warm: #eee1bd;--paper-deep: #e4d3a6;--ink: #2a3825;--ink-muted: #5a6a52;--olive: #6a7a3a;--olive-dark: #3f4f20;--bark: #5a3f22;--accent: #c85a2a;--accent-soft: #e4a373;--gold: #d9a63c;--shadow: 0 10px 30px rgba(20, 30, 15, .35), 0 2px 6px rgba(20, 30, 15, .25);--radius: 14px;--serif: "Fraunces", Georgia, serif;--sans: "Work Sans", system-ui, sans-serif}html,body{width:100%;height:100%;overflow:hidden;background:#2f4a26;font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased;touch-action:none;overscroll-behavior:none;user-select:none;-webkit-user-select:none}#app{position:fixed;inset:0}#app canvas{display:block;width:100%;height:100%}#ui{position:fixed;inset:0;pointer-events:none;z-index:10}#ui>*{pointer-events:auto}#boot{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 40%,#4a6d3a,#2f4a26 55%,#1f3219);transition:opacity .6s ease}#boot.hide{opacity:0;pointer-events:none}.boot-card{text-align:center;color:#f4ecd8}.boot-leaf{width:96px;height:96px;animation:sway 2.4s ease-in-out infinite;transform-origin:50% 90%}@keyframes sway{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}.boot-card h1{font-family:var(--serif);font-weight:600;font-size:2.4rem;letter-spacing:.01em;margin:.4rem 0 1.2rem}.boot-bar{width:220px;height:6px;border-radius:3px;background:#ffffff26;margin:0 auto .6rem;overflow:hidden}#boot-fill{height:100%;width:0%;background:#8bb560;border-radius:3px;transition:width .25s ease}#boot-label{font-size:.8rem;opacity:.7}.panel{background:linear-gradient(180deg,var(--paper),var(--paper-warm));border-radius:var(--radius);box-shadow:var(--shadow);color:var(--ink)}.panel h2{font-family:var(--serif);font-weight:600;font-size:1.25rem;letter-spacing:.005em}.panel h3{font-family:var(--serif);font-weight:600;font-size:.95rem;color:var(--ink-muted)}button{font-family:var(--sans);font-size:.9rem;color:var(--ink);background:var(--paper-deep);border:0;border-radius:10px;padding:.5rem .8rem;cursor:pointer;transition:transform .08s ease,background .15s ease,box-shadow .15s ease;box-shadow:inset 0 -2px #00000014}button:hover{background:#dcc78f}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--olive);color:var(--paper);font-weight:600}button.primary:hover{background:var(--olive-dark)}button.accent{background:var(--accent);color:var(--paper);font-weight:600}button.accent:hover{background:#a94a20}.key{display:inline-block;min-width:1.35em;padding:0 .3em;border-radius:5px;font-size:.7rem;font-weight:600;background:#2a38251f;color:var(--ink-muted);text-align:center;line-height:1.5}#hud{position:absolute;inset:0;pointer-events:none}#hud>*{pointer-events:auto}#hud.hidden{display:none}#rail{position:absolute;left:14px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;padding:10px}.tool{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;width:172px;padding:6px 10px 6px 6px;border-radius:10px;background:transparent;box-shadow:none;text-align:left}.tool .ico{font-size:1.35rem;width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#2a382514}.tool .name{font-family:var(--serif);font-weight:600;font-size:.95rem}.tool .sub{font-size:.7rem;color:var(--ink-muted);display:block;margin-top:1px}.tool.active{background:var(--olive);color:var(--paper)}.tool.active .ico{background:#ffffff2e}.tool.active .sub{color:#f4ecd8cc}.tool.active .key{background:#fff3;color:var(--paper)}#coins{position:absolute;right:16px;top:14px;display:flex;align-items:center;gap:10px;padding:8px 14px 8px 10px;cursor:pointer;font-family:var(--serif);font-weight:700;font-size:1.25rem}#coins .c{width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ffe08a,var(--gold) 60%,#a87a20);box-shadow:inset 0 -2px 3px #00000040;display:grid;place-items:center;font-size:.8rem;color:#6b4a10}#coins .chev{font-size:.8rem;color:var(--ink-muted)}#coins.bump{animation:bump .35s ease}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}#clock{position:absolute;left:50%;top:14px;transform:translate(-50%);padding:6px 14px;font-size:.85rem;color:var(--ink-muted);display:flex;gap:10px;align-items:center}#clock b{font-family:var(--serif);color:var(--ink);font-size:1rem}#skord-btn{position:absolute;right:16px;bottom:16px;display:flex;align-items:center;gap:10px;padding:10px 16px;font-family:var(--serif);font-weight:600;font-size:1.05rem}#skord-btn .badge{background:var(--accent);color:var(--paper);border-radius:999px;font-size:.75rem;padding:2px 8px;font-family:var(--sans)}#skord-btn.bump{animation:bump .35s ease}#marken-btn{position:absolute;right:16px;bottom:72px;padding:8px 14px;font-size:.85rem}#charges{position:absolute;left:16px;bottom:16px;display:flex;gap:8px}.charge{padding:8px 12px;font-size:.85rem;display:flex;align-items:center;gap:8px}.charge .dots{display:flex;gap:3px}.charge .dots i{width:8px;height:8px;border-radius:50%;background:#2a382526}.charge .dots i.on{background:var(--olive)}.charge.water .dots i.on{background:#3f8fc6}.charge.manure .dots i.on{background:#6b4a2a}#prompt{position:absolute;left:50%;bottom:96px;transform:translate(-50%);padding:10px 18px;font-size:.95rem;display:flex;gap:10px;align-items:center;max-width:80vw;text-align:center;transition:opacity .15s ease}#prompt:empty{opacity:0}#prompt .key{font-size:.8rem}#prompt.warn{color:var(--accent)}#crosshair{position:absolute;left:50%;top:50%;width:10px;height:10px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid rgba(255,255,255,.85);box-shadow:0 0 0 1px #00000059,0 0 8px #0000004d;pointer-events:none;transition:transform .12s ease,background .12s ease}#crosshair.hot{transform:translate(-50%,-50%) scale(1.4);background:#ffffffb3}#hint{position:absolute;left:16px;top:14px;padding:8px 12px;font-size:.78rem;color:var(--ink-muted);line-height:1.5}#hint .key{margin-right:2px}#toasts{position:absolute;left:50%;top:64px;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{padding:8px 16px;font-size:.9rem;animation:toastIn .25s ease;display:flex;gap:8px;align-items:center}.toast.out{opacity:0;transform:translateY(-8px);transition:all .3s ease}@keyframes toastIn{0%{opacity:0;transform:translateY(-10px) scale(.96)}to{opacity:1;transform:none}}.toast.badge-toast{padding:12px 20px;background:linear-gradient(180deg,#fff7e0,var(--paper-warm));border:2px solid var(--gold)}.toast.badge-toast .ico{font-size:1.8rem;animation:popIn .5s cubic-bezier(.2,1.6,.4,1)}.toast.badge-toast .t{display:flex;flex-direction:column;text-align:left}.toast.badge-toast .t small{color:var(--ink-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.toast.badge-toast .t b{font-family:var(--serif);font-size:1.05rem}@keyframes popIn{0%{transform:scale(.2) rotate(-30deg)}to{transform:none}}.fly{position:fixed;z-index:30;font-size:1.4rem;pointer-events:none;will-change:transform;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}#overlay{position:absolute;inset:0;background:#141e0f59;backdrop-filter:blur(2px);opacity:0;transition:opacity .2s ease;pointer-events:none}#overlay.show{opacity:1;pointer-events:auto}.drawer{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.97);opacity:0;width:min(560px,92vw);max-height:86vh;display:flex;flex-direction:column;overflow:hidden;transition:opacity .18s ease,transform .18s ease;pointer-events:none}.drawer.show{opacity:1;transform:translate(-50%,-50%) scale(1);pointer-events:auto}.drawer header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 10px}.drawer header .x{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:1rem;padding:0}.drawer .body{overflow-y:auto;padding:0 20px 18px}.drawer footer{padding:12px 20px 16px;display:flex;gap:8px;justify-content:flex-end;border-top:1px solid rgba(42,56,37,.1)}.drawer .body::-webkit-scrollbar{width:8px}.drawer .body::-webkit-scrollbar-thumb{background:#2a382533;border-radius:4px}.acc{border-top:1px solid rgba(42,56,37,.1)}.acc>button.head{width:100%;display:flex;justify-content:space-between;align-items:center;background:transparent;box-shadow:none;padding:10px 4px;font-family:var(--serif);font-weight:600;font-size:1rem}.acc>button.head .n{color:var(--ink-muted);font-size:.75rem;font-family:var(--sans)}.acc .items{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;padding:2px 0 12px}.acc.closed .items{display:none}.seed{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 6px 8px;border-radius:12px;background:#ffffff59;box-shadow:0 1px #0000000d;text-align:center}.seed:hover{background:#fff9}.seed .e{font-size:1.6rem}.seed .n{font-family:var(--serif);font-weight:600;font-size:.9rem}.seed .p{font-size:.7rem;color:var(--ink-muted)}.seed .z{font-size:.65rem;color:var(--accent)}.seed.sel{outline:2px solid var(--olive);background:#6a7a3a2e}.row{display:grid;grid-template-columns:40px 1fr auto auto;align-items:center;gap:10px;padding:8px 0;border-top:1px solid rgba(42,56,37,.08)}.row .e{font-size:1.5rem;text-align:center}.row .n{font-family:var(--serif);font-weight:600}.row .n small{display:block;font-family:var(--sans);font-weight:400;color:var(--ink-muted);font-size:.75rem}.row .cnt{font-family:var(--serif);font-weight:700;font-size:1.15rem;min-width:2.2em;text-align:right}.row .cnt.bump{animation:bump .3s ease;color:var(--accent)}.empty{padding:30px 0;text-align:center;color:var(--ink-muted)}.shop-item{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid rgba(42,56,37,.08)}.shop-item .e{font-size:1.7rem;text-align:center}.shop-item .n{font-family:var(--serif);font-weight:600}.shop-item .n small{display:block;font-family:var(--sans);font-weight:400;color:var(--ink-muted);font-size:.75rem}.shop-item .tier{font-size:.72rem;color:var(--olive-dark);font-weight:600;margin-top:2px}.price{display:flex;align-items:center;gap:6px}.price .c{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ffe08a,var(--gold) 60%,#a87a20);display:inline-block}.badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;padding-bottom:8px}.bd{aspect-ratio:1;display:grid;place-items:center;font-size:1.7rem;border-radius:14px;background:#fff6;cursor:pointer;transition:transform .1s}.bd:hover{transform:scale(1.06)}.bd.locked{filter:grayscale(1);opacity:.35;background:#2a38250f}.bd.sel{outline:2px solid var(--olive)}.caption{min-height:3.2em;padding:10px 4px 0;font-size:.9rem;color:var(--ink);border-top:1px solid rgba(42,56,37,.1)}.caption b{font-family:var(--serif)}.caption small{color:var(--ink-muted)}.setting{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid rgba(42,56,37,.08);gap:12px}.setting label{font-weight:500}.setting small{display:block;color:var(--ink-muted);font-size:.75rem;font-weight:400}.seg{display:inline-flex;background:#2a382514;border-radius:10px;padding:3px;gap:2px}.seg button{background:transparent;box-shadow:none;padding:6px 12px;border-radius:8px;font-size:.85rem}.seg button.on{background:var(--olive);color:var(--paper)}input[type=range]{width:150px;accent-color:var(--olive)}.controls{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:.85rem;padding:8px 0}.controls .k{text-align:right}#start{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(180deg,#141e0f40,#141e0f8c);transition:opacity .4s ease}#start.hide{opacity:0;pointer-events:none}.start-card{width:min(520px,92vw);padding:28px 30px 24px;text-align:center}.start-card h1{font-family:var(--serif);font-weight:700;font-size:2.6rem;letter-spacing:-.01em;line-height:1}.start-card .sub{color:var(--ink-muted);margin:8px 0 20px;font-size:.95rem}.start-card .modes{display:flex;gap:10px;justify-content:center;margin-bottom:18px}.start-card .modes button{flex:1;padding:12px 10px;display:flex;flex-direction:column;gap:4px;align-items:center;background:#fff6;box-shadow:0 1px #0000000f}.start-card .modes button b{font-family:var(--serif);font-size:1.05rem}.start-card .modes button small{color:var(--ink-muted);font-size:.75rem}.start-card .modes button.on{background:var(--olive);color:var(--paper)}.start-card .modes button.on small{color:#f4ecd8cc}.start-card .go{width:100%;padding:14px;font-size:1.1rem;font-family:var(--serif)}.start-card .controls{text-align:left;margin:14px auto 0;max-width:360px}.start-card .tiny{font-size:.72rem;color:var(--ink-muted);margin-top:12px}#touch{position:absolute;inset:0;pointer-events:none;display:none}body.touch #touch,body.touch #crosshair{display:block}body.touch #hint{display:none}#joy{position:absolute;left:30px;bottom:100px;width:130px;height:130px;border-radius:50%;background:#f4ecd82e;border:2px solid rgba(244,236,216,.4);pointer-events:auto}#joy .knob{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px;border-radius:50%;background:#f4ecd8b3}#look{position:absolute;right:0;top:0;width:55%;height:100%;pointer-events:auto}#tbtns{position:absolute;right:24px;bottom:120px;display:flex;flex-direction:column;gap:10px;pointer-events:auto}#tbtns button{width:72px;height:72px;border-radius:50%;font-size:1.6rem;background:#f4ecd8d9}#tbtns button.small{width:56px;height:56px;font-size:1.1rem}body.touch #rail{transform:translateY(-50%) scale(.85);transform-origin:left center}body.touch #charges{left:180px}@media(max-width:900px){.tool{width:148px}#hint{display:none}}#vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,#0000 55%,#0a140859);mix-blend-mode:multiply}body.touch #rail{top:64px;left:10px;transform:none;padding:6px;gap:4px}body.touch .tool{width:auto;grid-template-columns:34px auto;padding:4px 10px 4px 4px}body.touch .tool .sub,body.touch .tool .key{display:none}body.touch #clock{left:auto;right:170px;transform:none}body.touch #charges{left:180px;bottom:16px}body.touch #marken-btn .key{display:none}
