:root{--ink:#eef2f6;--muted:#9fb0c0;--panel:#0a10189e;--line:#ffffff1f;--accent:#ffcf4a;--danger:#ff6b57;--ok:#6ee7a8;--mono:"JetBrains Mono", "Cascadia Mono", ui-monospace, monospace;--sans:"Inter", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;background:#05080c;margin:0;overflow:hidden}canvas#scene{touch-action:none;-webkit-tap-highlight-color:transparent;width:100%;height:100%;display:block;position:fixed;inset:0}#hud{pointer-events:none;z-index:6;transition:opacity .35s;position:fixed;inset:0}#hud.hidden{opacity:0}.panel{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:var(--mono);letter-spacing:.02em;border-radius:12px;padding:10px 14px;font-size:12px;position:absolute}.top-left{min-width:132px;top:18px;left:18px}.top-right{text-align:right;min-width:148px;top:18px;right:18px}.bottom-left{max-width:640px;color:var(--muted);font-size:11px;line-height:1.9;bottom:18px;left:18px}.stat{justify-content:space-between;gap:16px;display:flex}.top-right .stat{justify-content:flex-end}.stat+.stat{margin-top:4px}.label{color:var(--muted)}.value{color:var(--ink);font-variant-numeric:tabular-nums}#cash{color:var(--accent)}kbd{color:var(--ink);font-family:var(--mono);background:#ffffff0f;border:1px solid #ffffff38;border-radius:5px;padding:1px 5px;font-size:10px;display:inline-block}#crosshair{border:1px solid #ffffff47;border-radius:50%;width:26px;height:26px;margin:-13px 0 0 -13px;transition:border-color .12s,transform .12s;position:absolute;top:50%;left:50%}#crosshair span{background:#ffffffe6;border-radius:50%;width:3px;height:3px;margin:-1.5px 0 0 -1.5px;position:absolute;top:50%;left:50%}#crosshair.active{border-color:var(--accent);transform:scale(1.22)}#crosshair.holding{border-color:var(--ok)}#prompt{border:1px solid var(--line);color:var(--ink);white-space:nowrap;opacity:0;background:#060a10b8;border-radius:8px;padding:6px 12px;font-size:12px;transition:opacity .15s;position:absolute;top:calc(50% + 34px);left:50%;transform:translate(-50%)}#prompt.show{opacity:1}#charge{opacity:0;background:#ffffff26;border-radius:2px;width:120px;height:3px;margin-left:-60px;position:absolute;top:calc(50% + 68px);left:50%;overflow:hidden}#charge.show{opacity:1}#charge-bar{background:var(--ok);width:0%;height:100%;transition:width 80ms linear}#charge.throw #charge-bar{background:linear-gradient(90deg,#ffcf4a,#ff8a3d)}#banner{border:1px solid var(--line);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;opacity:0;background:#060a10c7;border-radius:10px;padding:9px 20px;font-size:13px;transition:opacity .25s,transform .25s;position:absolute;top:92px;left:50%;transform:translate(-50%,-8px)}#banner.show{opacity:1;transform:translate(-50%)}#banner.danger{color:var(--danger);border-color:#ff6b5773}#banner.ok{color:var(--ok);border-color:#6ee7a866}#banner.gold{color:var(--accent);border-color:#ffcf4a66}.progress-track{background:#ffffff1f;border-radius:3px;width:min(46vw,460px);height:4px;margin-left:min(-23vw,-230px);position:absolute;bottom:26px;left:50%;overflow:hidden}#progress-bar{background:linear-gradient(90deg,#6ee7a8,#ffcf4a);width:0%;height:100%}.overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10;background:radial-gradient(120% 90% at 50% 20%,#101c2a8c,#03060af0);place-items:center;transition:opacity .35s;display:grid;position:fixed;inset:0}.overlay.gone{opacity:0;pointer-events:none}.card{border:1px solid var(--line);background:linear-gradient(#121a24eb,#090e14f0);border-radius:20px;width:min(680px,100vw - 48px);padding:34px 38px 30px;box-shadow:0 40px 120px #0009}.eyebrow{font-family:var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;font-size:10px}.card h1{letter-spacing:-.02em;margin:0 0 12px;font-size:clamp(30px,5.4vw,50px);font-weight:800;line-height:1}.card h1 span{color:var(--accent)}.lede{color:var(--muted);margin:0 0 20px;font-size:14px;line-height:1.7}.bullets{gap:10px;margin:0 0 24px;padding:0;list-style:none;display:grid}.bullets li{color:#c7d3df;padding-left:16px;font-size:12.5px;line-height:1.65;position:relative}.bullets li:before{content:"";background:var(--accent);border-radius:1px;width:6px;height:6px;position:absolute;top:8px;left:0}.bullets b{color:var(--ink)}button#start,button#restart,button#resume{background:var(--accent);color:#14181f;width:100%;font-family:var(--sans);letter-spacing:.04em;cursor:pointer;border:none;border-radius:11px;padding:14px;font-size:15px;font-weight:700;transition:transform .12s,filter .12s}button#start:hover,button#restart:hover,button#resume:hover{filter:brightness(1.06);transform:translateY(-1px)}button#start:active,button#restart:active,button#resume:active{transform:translateY(0)}.hint{text-align:center;font-family:var(--mono);letter-spacing:.08em;color:#74879a;margin-top:14px;font-size:10.5px}.scoreline{font-family:var(--mono);align-items:baseline;gap:10px;margin:6px 0 18px;display:flex}.scoreline strong{color:var(--accent);font-variant-numeric:tabular-nums;font-size:40px}.scoreline small{color:var(--muted);font-size:12px}@media (width<=720px){.bottom-left{display:none}.card{padding:24px}}#touch{z-index:5;pointer-events:none;position:fixed;inset:0}#touch.hidden{display:none}#stick{left:max(22px, env(safe-area-inset-left));bottom:max(22px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;background:#0a101857;border:1px solid #ffffff38;border-radius:50%;place-items:center;width:132px;height:132px;display:grid;position:absolute}#stick-knob{will-change:transform;background:#ffffff42;border:1px solid #ffffff6b;border-radius:50%;width:56px;height:56px}#touch-actions{right:max(18px, env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom));pointer-events:none;align-items:flex-end;gap:12px;display:flex;position:absolute}.tbtn{pointer-events:auto;width:66px;height:66px;color:var(--ink);font-family:var(--sans);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#0c121a8c;border:1px solid #ffffff42;border-radius:50%;font-size:16px;font-weight:700;transition:transform 80ms,filter 80ms}.tbtn-main{color:#171b21;background:#ffcf4ad9;border-color:#ffcf4af2;width:84px;height:84px}.tbtn.pressed{filter:brightness(1.12);transform:scale(.93)}body.touch .bottom-left{display:none}body.touch .top-left,body.touch .top-right{padding:8px 10px;font-size:11px}body.touch .card{padding:24px}body.touch .bullets li{font-size:12px}body.touch #prompt{font-size:11px;top:calc(50% + 26px)}#rotate{display:none}@media (orientation:portrait) and (pointer:coarse){#rotate{z-index:30;color:var(--muted);font-family:var(--mono);letter-spacing:.2em;background:#05080c;place-items:center;font-size:13px;display:grid;position:fixed;inset:0}}
