:root{--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;color:#fff;overscroll-behavior:none;background:#e8d6b4;height:100%;margin:0;font-family:ui-rounded,SF Pro Rounded,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;overflow:hidden}#app,canvas{touch-action:none;width:100%;height:100%;display:block;position:fixed;top:0;bottom:0;left:0;right:0}#title{z-index:20;cursor:pointer;text-align:center;background:radial-gradient(at 50% 45%,#281e140d,#3c281473);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;transition:opacity .5s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}#title.gone{opacity:0;pointer-events:none}#title h1{letter-spacing:.12em;text-shadow:0 4px #78502859,0 10px 30px #50321459;margin:0;font-size:clamp(38px,11vw,84px);font-weight:900}#title h1 small{letter-spacing:.5em;opacity:.9;margin-top:4px;font-size:.26em;font-weight:600;display:block}#title .tap{letter-spacing:.3em;background:#ffffff2e;border:1.5px solid #fff9;border-radius:999px;margin-top:18px;padding:12px 26px;font-size:15px;font-weight:800;animation:1.6s ease-in-out infinite pulse}#title .hint{opacity:.9;text-shadow:0 1px 6px #3c281480;font-size:13px;line-height:1.6}.touch .kb,body:not(.touch) .tc{display:none}@keyframes pulse{50%{background:#ffffff4d;transform:scale(1.05)}}.hud{z-index:10;pointer-events:none;text-shadow:0 1px 8px #462d1480;opacity:0;transition:opacity .4s;position:fixed}.playing .hud{opacity:1}#hudl{left:calc(14px + var(--sal));top:calc(10px + var(--sat))}#speed{font-variant-numeric:tabular-nums;font-size:34px;font-weight:900}#hudl i{opacity:.85;margin-left:4px;font-size:12px;font-style:normal;font-weight:700}#best{opacity:.8;font-size:12px;font-weight:700}#drift{left:50%;top:calc(18% + var(--sat));letter-spacing:.12em;opacity:0;z-index:10;pointer-events:none;text-shadow:0 2px 10px #50321480;font-size:26px;font-weight:900;transition:opacity .25s,transform .25s;position:fixed;transform:translate(-50%)scale(.8)}#drift.on{opacity:1;transform:translate(-50%)scale(1)}#topbtns{z-index:15;right:calc(12px + var(--sar));top:calc(10px + var(--sat));gap:8px;display:flex;position:fixed}.rb{color:#fff;-webkit-backdrop-filter:blur(6px);cursor:pointer;background:#281e1452;border:0;border-radius:14px;place-items:center;width:44px;height:44px;font-size:20px;display:grid}#joyzone{z-index:5;touch-action:none;width:55%;display:none;position:fixed;top:0;bottom:0;left:0}.touch.playing #joyzone{display:block}#joy{opacity:0;pointer-events:none;z-index:6;background:#ffffff1f;border:2px solid #ffffff8c;border-radius:50%;width:124px;height:124px;margin:-62px 0 0 -62px;transition:opacity .15s;position:fixed}#joy.on{opacity:1}#knob{background:#ffffffd9;border-radius:50%;width:54px;height:54px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 14px #3c28144d}#joyhint{left:calc(28px + var(--sal));bottom:calc(30px + var(--sab));opacity:.8;z-index:6;pointer-events:none;font-size:12px;font-weight:700;display:none;position:fixed}.touch.playing #joyhint{display:block}.touch.playing.joyused #joyhint{display:none}#hb{z-index:15;right:calc(22px + var(--sar));bottom:calc(26px + var(--sab));color:#fff;letter-spacing:.1em;touch-action:none;background:#dc5a288c;border:2px solid #ffffffb3;border-radius:50%;width:92px;height:92px;font-size:14px;font-weight:900;display:none;position:fixed}#hb.down{background:#f06e32d9;transform:scale(.94)}.touch.playing #hb{display:block}#panel{z-index:30;right:calc(10px + var(--sar));top:calc(62px + var(--sat));width:min(320px,100vw - 20px);max-height:calc(100% - 80px - var(--sat) - var(--sab));-webkit-backdrop-filter:blur(10px);touch-action:pan-y;background:#1e1812d1;border-radius:16px;padding:12px 14px;font-size:13px;display:none;position:fixed;overflow:auto}#panel.open{display:block}#panel header{letter-spacing:.08em;justify-content:space-between;align-items:center;margin-bottom:6px;font-weight:800;display:flex}#panel header button{color:#fff;cursor:pointer;background:0 0;border:0;font-size:18px}.row{grid-template-columns:96px 1fr 38px;align-items:center;gap:8px;margin:6px 0;display:grid}.row b{text-align:right;font-variant-numeric:tabular-nums}.row input{accent-color:#f2a65a;touch-action:pan-x;width:100%}.btns{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.btns button{color:#fff;cursor:pointer;background:#ffffff24;border:0;border-radius:10px;flex:45%;padding:8px;font-weight:700}.stats{opacity:.75;white-space:pre-wrap;margin:10px 0 0;font-size:11px}#toast{left:50%;bottom:calc(22% + var(--sab));z-index:12;letter-spacing:.1em;opacity:0;pointer-events:none;text-shadow:0 1px 8px #462d1499;font-weight:800;position:fixed;transform:translate(-50%)}#toast.show{animation:1.4s ease-out toast}@keyframes toast{10%,70%{opacity:1}to{opacity:0}}
