:root{--ink: #ffffff;--pill-bg: rgba(28, 32, 64, .82);--gold: #ffd23f;--heat: #ff8a3c;--green: #4dff88;--red: #ff3b3b;--blue: #3b8bff;--font: "Arial Rounded MT Bold", "Hiragino Maru Gothic ProN", "Yu Gothic UI", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}#game-root{position:fixed;top:0;left:0;overflow:hidden;background:radial-gradient(120% 90% at 50% 110%,#3a3f6e,#3a3f6e00 55%),linear-gradient(180deg,#14162e,#1c2040 55%,#23274d);font-family:var(--font);user-select:none;-webkit-user-select:none}#view-rect{position:absolute;overflow:hidden}#view-rect canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none}#ui{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}#ui>*{pointer-events:auto}#ui .hud,#ui .float-text,#ui .fx-vignette,#ui .fx-edgeglow,#ui .tut-overlay{pointer-events:none}#ui .hud button,#ui .tut-skip{pointer-events:auto}.hud{position:absolute;top:0;right:0;bottom:0;left:0;display:none;padding:calc(10px + env(safe-area-inset-top)) calc(10px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left))}.hud.visible{display:block}.hud-left{position:absolute;top:calc(10px + env(safe-area-inset-top));left:calc(10px + env(safe-area-inset-left));display:flex;flex-direction:column;gap:6px;align-items:flex-start}.hud-right{position:absolute;top:calc(10px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));display:flex;flex-direction:row;gap:8px;align-items:flex-start}.pill{display:inline-flex;align-items:center;gap:6px;background:var(--pill-bg);color:var(--ink);font-weight:900;font-size:15px;padding:6px 12px;border-radius:999px;text-shadow:0 1px 0 rgba(0,0,0,.4);box-shadow:0 2px #00000040;white-space:nowrap}.pill.carried .val{color:var(--gold)}.pill.rows{font-size:17px;letter-spacing:1px}.ico{display:inline-block;width:14px;height:14px;border-radius:50%}.ico-coin{background:radial-gradient(circle at 35% 35%,#ffe98a,var(--gold) 60%,#c9a015)}.ico-sack{background:radial-gradient(circle at 35% 30%,#d8a860,#b08040 65%,#7a5525);border-radius:40% 40% 50% 50%}.mult-chip{background:var(--heat);color:#2a1400;font-weight:900;font-size:14px;padding:3px 10px;border-radius:999px;box-shadow:0 2px #0000004d;animation:chipPulse .5s ease-in-out infinite alternate}@keyframes chipPulse{0%{transform:scale(1)}to{transform:scale(1.08)}}.pause-btn{width:40px;height:40px;border-radius:50%;border:none;background:var(--pill-bg);color:var(--ink);font-size:17px;cursor:pointer;box-shadow:0 2px #00000040;touch-action:none}.pause-btn:active{transform:scale(.92)}.screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:20px;text-align:center}.screen.dim{background:#0a0c1c9e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.logo{line-height:.9;margin-bottom:4px}.logo-line1,.logo-line2{font-size:clamp(44px,12vw,84px);font-weight:900;letter-spacing:4px;color:var(--ink);text-shadow:0 4px 0 rgba(0,0,0,.35),0 8px 24px rgba(0,0,0,.4)}.logo-line2{color:var(--gold)}.tagline{max-width:420px;color:#c9cfee;font-size:14px;font-weight:700}.title-stats{display:flex;gap:10px}.hint{color:#8a90b8;font-size:12px;font-weight:700;margin-top:8px;animation:hintBlink 1.6s ease-in-out infinite}@keyframes hintBlink{0%,to{opacity:.55}50%{opacity:1}}@media (max-height: 500px){.screen{gap:8px;padding:10px}.logo-line1,.logo-line2{font-size:clamp(30px,7vw,44px)}.tagline{display:none}.title-stats .pill{font-size:12px;padding:4px 10px}.btn.big{font-size:16px;padding:10px 28px}.hint{display:none}}.panel{background:#1c2040f0;border-radius:20px;padding:22px 24px;display:flex;flex-direction:column;gap:10px;align-items:stretch;min-width:min(320px,86vw);max-width:92vw;max-height:88vh;overflow-y:auto;box-shadow:0 10px 40px #00000080}.panel h2{margin:0;color:var(--ink);font-size:26px;letter-spacing:2px;text-align:center}.panel h3{margin:6px 0 0;color:#9aa2cc;font-size:13px;letter-spacing:2px;text-align:left}.btn{border:none;border-radius:14px;background:#39406b;color:var(--ink);font-family:var(--font);font-weight:900;font-size:16px;letter-spacing:1px;padding:12px 18px;cursor:pointer;box-shadow:0 3px #0000004d;touch-action:manipulation;transition:transform .06s ease}.btn:active{transform:scale(.95)}.btn.primary{background:linear-gradient(180deg,#ffd94a,#ff9d3c);color:#3a2000}.btn.gold{background:linear-gradient(180deg,#ffe98a,#ffd23f);color:#3a2000}.btn.ghost{background:#ffffff14}.btn.big{font-size:22px;padding:16px 42px;border-radius:18px}.btn.small{font-size:13px;padding:8px 12px}.btn.danger{background:#7a2a3a}.btn.disabled,.btn:disabled{opacity:.45;pointer-events:none}.btn.loading{opacity:.6;pointer-events:none}.row{display:flex;gap:10px;justify-content:center}.btn-col{display:flex;flex-direction:column;gap:10px}.busted-title{color:var(--red)!important;font-size:40px!important;letter-spacing:4px;text-shadow:0 3px 0 rgba(0,0,0,.4);transform:rotate(-2deg)}.record-badge{background:var(--gold);color:#3a2000;font-weight:900;border-radius:999px;padding:4px 14px;align-self:center;animation:chipPulse .5s ease-in-out infinite alternate}.near-best{color:var(--heat);font-weight:900;font-size:14px}.stat-row{display:flex;justify-content:space-between;color:#c9cfee;font-weight:700;font-size:15px}.stat-row b{color:var(--ink)}.kept{color:#9aa2cc;font-size:12px;font-weight:700}.shop-balance{display:flex;align-items:center;gap:8px;color:var(--gold);font-weight:900;font-size:20px;justify-content:center}.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.shop-item{display:flex;align-items:center;gap:8px;background:#ffffff0f;border-radius:12px;padding:8px 10px;flex-wrap:wrap}.shop-item.equipped{outline:2px solid var(--green)}.shop-item-name{color:var(--ink);font-weight:700;font-size:12px;flex:1;text-align:left}.skin-swatch{width:34px;height:34px;border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:20px}.skin-crook{background:linear-gradient(135deg,#e8ecf4 50%,#2a2d45 50%)}.skin-ninja{background:linear-gradient(135deg,#2a2d45 50%,#14161f 50%)}.skin-clown{background:linear-gradient(135deg,#ff5c5c 50%,#ffd23f 50%)}.skin-suit{background:linear-gradient(135deg,#1a1c2e 50%,#3a3f6e 50%)}.skin-mayor{background:linear-gradient(135deg,#3a3f6e 40%,#ffd23f 40%)}.ride-swatch{background:#2a2d45}.warn{color:var(--red);font-weight:900;font-size:13px}.warn.shake{animation:shakeX .4s ease}@keyframes shakeX{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.set-row{display:flex;justify-content:space-between;align-items:center;gap:14px;color:var(--ink);font-weight:700;font-size:14px}.set-row select{background:#39406b;color:var(--ink);border:none;border-radius:8px;font-family:var(--font);font-weight:700;padding:8px}.tut-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:18vh}.tut-card{background:#1c2040e6;border-radius:16px;padding:14px 18px;display:flex;align-items:center;gap:12px;box-shadow:0 6px 24px #0006;animation:tutPop .25s ease}@keyframes tutPop{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.tut-text{color:var(--ink);font-weight:900;font-size:16px;max-width:60vw}.tut-skip{border:none;background:#ffffff1f;color:#9aa2cc;font-family:var(--font);font-weight:900;font-size:11px;border-radius:999px;padding:6px 12px;cursor:pointer}.float-text{position:absolute;top:0;left:0;font-weight:900;font-size:18px;color:var(--gold);text-shadow:0 2px 0 rgba(0,0,0,.5);white-space:nowrap;will-change:transform,opacity}.float-text.gem{color:#3fe3d0}.float-text.closecall{color:#ff8a3c;font-size:20px}.float-text.heat{color:var(--heat)}.float-text.bank{color:var(--green);font-size:22px}.float-text.warn{color:var(--red);font-size:20px}.fx-vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center,#f000 55%,#ff1e1e73)}.fx-vignette.show{animation:vignetteFlash .5s ease-out}@keyframes vignetteFlash{0%{opacity:0}15%{opacity:1}to{opacity:0}}.fx-edgeglow{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;transition:opacity .3s ease}.fx-edgeglow.show{opacity:1}.fx-edgeglow.show.dragnet{background:linear-gradient(0deg,#ff3b3b4d,#3b8bff00 25%),linear-gradient(0deg,#3b8bff4d,#3b8bff00 18%);animation:edgePulse .5s ease-in-out infinite alternate}.fx-edgeglow.show.chopper{background:radial-gradient(ellipse at 50% 40%,#fff2c038,#fff2c000 55%);animation:edgePulse .4s ease-in-out infinite alternate}@keyframes edgePulse{0%{filter:brightness(.8)}to{filter:brightness(1.25)}}.countdown{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:96px;font-weight:900;color:var(--ink);text-shadow:0 6px 0 rgba(0,0,0,.4);pointer-events:none}.countdown.tick{animation:cdTick .6s ease}@keyframes cdTick{0%{transform:scale(1.6);opacity:0}30%{transform:scale(1);opacity:1}to{transform:scale(.9);opacity:.2}}.toast{position:absolute;bottom:calc(24px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%,20px);background:#1c2040f2;color:var(--ink);font-weight:900;font-size:14px;border-radius:999px;padding:10px 20px;opacity:0;transition:all .3s ease;pointer-events:none;max-width:86vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%)}.modal{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0a0c1cb3;z-index:50}.modal .panel{max-width:min(380px,90vw)}.modal p{color:#c9cfee;font-size:13px;font-weight:700;margin:0}
