:root{--ink:#1f2a14;--cream:#fffbea;--leaf:#5fc94a;--sun:#ffd23f;--round:ui-rounded, "SF Pro Rounded", "Nunito", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:#3f7a32;height:100%;margin:0;overflow:hidden}body{font:15px/1.4 var(--round);color:var(--cream);-webkit-font-smoothing:antialiased;overscroll-behavior:none}canvas{touch-action:none;cursor:crosshair;display:block;position:fixed;inset:0}.hud{pointer-events:none;padding:12px max(14px, env(safe-area-inset-left));position:fixed;left:0;right:0}.hud>*{pointer-events:auto}.top{padding-top:max(12px, env(safe-area-inset-top));flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex;top:0}h1{letter-spacing:-.01em;text-shadow:0 2px #0004;margin:0;font-size:1.25rem;font-weight:900}.pill{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-variant-numeric:tabular-nums;background:#0006;border-radius:999px;padding:4px 12px;font-size:.85rem;font-weight:800}.pill.today{background:var(--sun);color:var(--ink);animation:1.2s ease-in-out infinite bounce}.stats{text-shadow:0 1px 2px #0008;font-variant-numeric:tabular-nums;margin-left:auto;font-size:.8rem;font-weight:700}@keyframes bounce{50%{transform:translateY(-2px)scale(1.03)}}.help{width:min(560px,100% - 28px);color:var(--ink);pointer-events:none;background:#fffbeaee;border-radius:16px;padding:12px 16px;font-size:.9rem;transition:opacity .4s ease-out,translate .4s ease-out;position:fixed;top:64px;left:50%;translate:-50%;box-shadow:0 10px 30px #0004}.help p{margin:0}.help p+p{margin-top:6px}.help.gone{opacity:0;translate:-50% -10px}.toast{text-align:center;pointer-events:none;background:#1f2a14e6;border-radius:14px;max-width:min(520px,100% - 28px);padding:10px 16px;font-size:.9rem;font-weight:700;position:fixed;bottom:150px;left:50%;translate:-50%;box-shadow:0 8px 24px #0005}.dock{padding-bottom:max(10px, env(safe-area-inset-bottom));gap:8px;padding-right:120px;display:grid;bottom:0}.chips{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{color:var(--cream);font:800 .8rem/1 var(--round);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0007;border:0;border-radius:999px;flex:none;align-items:center;gap:7px;padding:6px 10px 6px 7px;transition:transform .12s ease-out,background-color .12s ease-out;display:inline-flex}.chip:active{transform:scale(.96)}.chip[aria-pressed=true]{background:var(--cream);color:var(--ink)}.chip .dot{border-radius:50%;width:14px;height:14px;box-shadow:inset 0 -2px #0003}.chip .n{font-variant-numeric:tabular-nums;opacity:.9}.chip .of{opacity:.6;font-weight:600}.row{gap:8px;display:flex}.invent{flex:1;gap:6px;min-width:0;display:flex}.invent input{width:0;min-width:0;color:var(--ink);font:700 .95rem var(--round);background:#fffbeaf2;border:2px solid #fff6;border-radius:14px;flex:1;padding:10px 14px}.invent input:focus{border-color:var(--sun);outline:none;box-shadow:0 0 0 3px #ffd23f55}button[type=submit],.ghost{background:var(--sun);color:var(--ink);font:900 .95rem var(--round);cursor:pointer;border:0;border-radius:14px;padding:10px 16px;transition:transform .12s ease-out;box-shadow:0 3px #b88a00}button[type=submit]:active,.ghost:active{transform:translateY(2px);box-shadow:0 1px #b88a00}.ghost{background:#fffbea;box-shadow:0 3px #b8b090}.fine{opacity:.75;text-shadow:0 1px 2px #0008;margin:0;font-size:.7rem}.fine a{color:inherit}.whistle{right:max(14px, env(safe-area-inset-right));bottom:max(14px, env(safe-area-inset-bottom));width:92px;height:92px;color:var(--ink);font:900 .85rem var(--round);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 35% 30%,#fff3b0,#ffb400 60%,#d48a00);border:0;border-radius:50%;transition:transform .1s ease-out;position:fixed;box-shadow:0 6px #a86c00,0 10px 24px #0005}.whistle.on{transform:translateY(4px)scale(.97);box-shadow:0 2px #a86c00,0 0 0 10px #fff3b055}:focus-visible{outline:3px solid var(--sun);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=640px){h1{font-size:1.05rem}.stats{flex-basis:100%;margin-left:0}.help{font-size:.82rem;top:86px}.dock{padding-right:max(14px, env(safe-area-inset-right))}.whistle{width:76px;height:76px;bottom:calc(max(10px, env(safe-area-inset-bottom)) + 104px)}.toast{bottom:200px}.fine{display:none}}
