:root{--bg: #f4f1ea;--ink: #2b2a27;--muted: #8a867d;--accent: #1f6feb;--gold: #f2b134;--bad: #d64545;--panel: rgba(255, 255, 255, .82);--font: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Helvetica, Arial, sans-serif;--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px)}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font-family:var(--font);overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent}#app{position:fixed;inset:0}#app canvas{display:block}.hud{position:fixed;top:calc(10px + var(--sat));left:12px;right:12px;display:flex;justify-content:space-between;align-items:center;font-size:14px;letter-spacing:.02em;color:var(--muted);pointer-events:none;transition:opacity .3s}.hud-left,.hud-right{display:flex;align-items:center;gap:8px;white-space:nowrap;background:var(--panel);backdrop-filter:blur(8px);border-radius:999px;padding:6px 14px;pointer-events:auto;box-shadow:0 1px 2px #0000000f}.hud-day{color:var(--ink);font-weight:600}.hud-sep{opacity:.5}.hud-cash{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums;min-width:3.5em;text-align:right}.hud-cash.low{color:var(--bad)}.hud.paused .hud-day:after{content:" · paused";color:var(--accent);font-weight:500}.btn{font:inherit;font-size:14px;font-weight:500;color:var(--ink);background:#fff;border:1px solid rgba(43,42,39,.16);border-radius:999px;padding:0 16px;min-height:44px;min-width:44px;cursor:pointer;transition:transform .12s ease,background .15s,opacity .15s;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.btn:hover{background:#f7f5f0}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.45;cursor:default}.btn .cost{color:var(--muted);font-weight:500}.btn:disabled .cost{color:var(--bad)}.btn-icon{padding:0;min-height:34px;min-width:34px;justify-content:center;font-size:12px}.btn.active{background:var(--ink);color:#fff;border-color:var(--ink)}.btn-ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn-danger{color:var(--bad)}.btn-primary{background:var(--ink);color:#fff;border-color:var(--ink)}.shop{position:fixed;left:50%;bottom:calc(14px + var(--sab));transform:translate(-50%);display:flex;gap:8px;align-items:center;padding:8px;background:var(--panel);backdrop-filter:blur(8px);border-radius:999px;box-shadow:0 2px 10px #00000014;max-width:calc(100vw - 24px);overflow-x:auto}.shop-info{color:var(--muted);font-size:13px;padding:0 6px 0 10px;white-space:nowrap}.hint{position:fixed;left:50%;bottom:calc(76px + var(--sab));transform:translate(-50%) translateY(6px);font-size:13px;color:var(--muted);background:var(--panel);padding:6px 12px;border-radius:8px;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none;max-width:calc(100vw - 32px);text-align:center}.hint.show{opacity:1;transform:translate(-50%) translateY(0)}.toast{position:fixed;left:50%;top:calc(64px + var(--sat));transform:translate(-50%) translateY(-6px);background:var(--ink);color:#fff;font-size:13px;padding:8px 14px;border-radius:8px;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.curve{position:fixed;right:12px;bottom:calc(80px + var(--sab));width:min(320px,calc(100vw - 24px));height:86px;background:var(--panel);backdrop-filter:blur(8px);border-radius:12px;box-shadow:0 1px 2px #0000000f;padding:6px 8px 0;box-sizing:border-box;pointer-events:none}.curve canvas{display:block;width:100%}.curve-label{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);line-height:16px;padding-left:2px}@media(max-width:600px){.hud{font-size:12px;left:8px;right:8px}.hud-left,.hud-right{gap:6px;padding:5px 10px}.curve{left:12px;right:12px;width:auto;bottom:calc(112px + var(--sab));height:72px}.hint{bottom:calc(190px + var(--sab))}}.gameover{position:fixed;inset:0;display:grid;place-items:center;background:#141a3300;transition:background .6s;z-index:10}.gameover.show{background:#141a3373}.gameover-card{background:#fff;border-radius:16px;padding:28px 32px;text-align:center;max-width:340px;transform:scale(.96);opacity:0;transition:transform .4s cubic-bezier(.2,.8,.2,1),opacity .4s}.gameover.show .gameover-card{transform:scale(1);opacity:1}.gameover h1{margin:0 0 6px;font-size:22px;font-weight:600}.gameover p{margin:0 0 18px;color:var(--muted)}.gameover-stats{display:flex;gap:16px;justify-content:center;margin-bottom:22px}.gameover-stats div{display:flex;flex-direction:column}.gameover-stats strong{font-size:22px}.gameover-stats span{font-size:11px;color:var(--muted)}
