:root{--ink: #f3f8ff;--dim: rgba(243, 248, 255, .7);font-family:Helvetica Neue,Hiragino Kaku Gothic ProN,Yu Gothic,system-ui,sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#d4eeff;color:var(--ink)}#scene{position:fixed;inset:0;width:100vw;height:100vh;display:block;touch-action:none}#loading{position:fixed;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#2b6cb0;color:#fff;transition:opacity .6s ease}#loading span{font-size:22px;letter-spacing:.5em;font-weight:700}#loading small{font-size:12px;letter-spacing:.2em;opacity:.8}#loading.hidden{opacity:0;pointer-events:none}.brand,.hud,.help,.credit{text-shadow:0 2px 10px rgba(0,30,60,.45)}.brand{position:fixed;top:clamp(16px,3vw,36px);left:clamp(16px,3vw,42px);z-index:3;display:flex;align-items:baseline;gap:12px;pointer-events:none}.brand-en{font-size:clamp(16px,1.6vw,21px);letter-spacing:.34em;font-weight:700}.brand-jp{font-size:clamp(13px,1.2vw,15px);letter-spacing:.3em;color:var(--dim)}.hud{position:fixed;top:clamp(16px,3vw,34px);right:clamp(16px,3vw,42px);z-index:3;display:flex;gap:18px;align-items:center;pointer-events:none}.hud .stat{display:flex;align-items:baseline;gap:6px;font-size:clamp(18px,2vw,26px);font-weight:700}.hud .ic{color:#ffd23f;font-size:.9em}.hud .sep,.hud #coins-total{color:var(--dim);font-weight:500;font-size:.7em}.hud .unit{font-size:.5em;letter-spacing:.15em;color:var(--dim);font-weight:500}.race{position:fixed;top:clamp(56px,8vw,84px);right:clamp(16px,3vw,42px);z-index:3;display:flex;flex-direction:column;gap:4px;text-align:right;pointer-events:none;text-shadow:0 2px 10px rgba(0,30,60,.45)}.race-row{display:flex;align-items:baseline;justify-content:flex-end;gap:8px}.race .lbl{font-size:10px;letter-spacing:.24em;color:var(--dim)}.race b{font-size:clamp(15px,1.7vw,20px);font-weight:700;font-variant-numeric:tabular-nums;min-width:84px}#banner{position:fixed;top:28%;left:50%;transform:translate(-50%,-10px);z-index:5;display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 40px;border-radius:16px;pointer-events:none;background:#0a1e3c52;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.25);opacity:0;transition:opacity .4s ease,transform .4s ease}#banner.show{opacity:1;transform:translate(-50%)}#banner b{font-size:clamp(26px,4vw,46px);font-weight:800;letter-spacing:.04em;color:#fff;text-shadow:0 3px 20px rgba(0,0,0,.4)}#banner span{font-size:clamp(13px,1.4vw,16px);letter-spacing:.1em;color:#ffe9a8}.nitro{position:fixed;left:clamp(16px,3vw,42px);bottom:clamp(50px,8vw,76px);z-index:3;display:flex;align-items:center;gap:10px;pointer-events:none;text-shadow:0 2px 10px rgba(0,30,60,.45)}.nitro .nlbl{font-size:10px;letter-spacing:.26em;color:var(--dim)}.nitro .nbar{width:clamp(120px,16vw,210px);height:10px;border-radius:6px;overflow:hidden;background:#ffffff29;border:1px solid rgba(255,255,255,.28)}.nitro .nbar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#49e0ff,#7af0c0);transition:width .08s linear}.nitro.boosting .nbar i{background:linear-gradient(90deg,#ffd23f,#ff5a52);box-shadow:0 0 14px #ff8a3d}#btn-nitro{background:#ffaa504d;border-color:#ffcd828c;font-size:22px}#btn-nitro:active{background:#ffaa508c}.help{position:fixed;bottom:clamp(14px,3vw,26px);left:50%;transform:translate(-50%);z-index:3;font-size:clamp(11px,1.2vw,13px);letter-spacing:.04em;color:var(--dim);white-space:nowrap;pointer-events:none}.help kbd{background:#ffffff29;border:1px solid rgba(255,255,255,.25);border-radius:5px;padding:2px 7px;font-family:inherit;font-size:.92em;color:#fff}.credit{position:fixed;bottom:clamp(12px,2.5vw,22px);right:clamp(14px,3vw,38px);z-index:3;font-size:11px;letter-spacing:.18em;color:#f3f8ff99}.credit a{color:#f3f8ffd9;text-decoration:none}.credit a:hover{color:#fff}.touch{position:fixed;bottom:26px;left:0;right:0;z-index:4;display:none;justify-content:space-between;align-items:center;padding:0 22px;pointer-events:none}.touch-col{display:flex;flex-direction:column;gap:12px}.touch button{pointer-events:auto;width:64px;height:64px;border-radius:50%;background:#ffffff38;border:1.5px solid rgba(255,255,255,.4);color:#fff;font-size:22px;backdrop-filter:blur(6px);touch-action:none}.touch button:active{background:#ffffff6b}@media(hover:none)and (pointer:coarse){.touch{display:flex}.help{display:none}}
