*{box-sizing:border-box;margin:0;padding:0}html,body{color:#eef2ff;touch-action:none;-webkit-user-select:none;user-select:none;background:#05070f;height:100%;font-family:ui-rounded,SF Pro Rounded,system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}.stage{position:fixed;inset:0}.gl{width:100%;height:100%;display:block;position:absolute;inset:0}.loading,.error{text-align:center;background:#05070f;place-items:center;padding:2rem;font-size:1.1rem;display:grid;position:absolute;inset:0}.hud{z-index:2;pointer-events:none;position:absolute}.hud.tl{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080c1e8c;border-radius:14px;flex-direction:column;gap:4px;padding:10px 14px;display:flex;top:14px;left:14px}.stat{opacity:.95;font-size:.9rem}.stat b{font-variant-numeric:tabular-nums}.stat.big{font-size:2.2rem;font-weight:800;line-height:1}.stat.big small{opacity:.7;font-size:.9rem;font-weight:500}.stat.combo{color:#ffd45e;font-weight:700}.stat.dim{opacity:.65;font-size:.8rem}.hud.tr{pointer-events:auto;gap:8px;display:flex;top:14px;right:14px}button{font:inherit;color:inherit;cursor:pointer}.hud.tr button,.panel button{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080c1e99;border:0;border-radius:12px;padding:8px 12px}.hud.tr button:hover,.panel button:hover{background:#283c78b3}.badge{z-index:2;color:#2a1a00;letter-spacing:.04em;pointer-events:none;white-space:nowrap;background:#ffbe3ce6;border-radius:999px;padding:6px 14px;font-size:.8rem;font-weight:700;position:absolute;top:14px;left:50%;transform:translate(-50%)}.toasts{z-index:3;pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:90px;left:50%;transform:translate(-50%)}.toast{background:#080c1eb3;border-radius:12px;flex-direction:column;align-items:center;padding:6px 16px;animation:.25s ease-out pop;display:flex}.toast span{opacity:.8;font-size:.75rem}.toast.fish b{color:#8fdcff;font-size:1.3rem}.toast.achievement{color:#2a1200;background:linear-gradient(135deg,#ffbe3cf2,#ff783cf2)}@keyframes pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.help{z-index:2;opacity:.75;pointer-events:none;background:#080c1e73;border-radius:10px;flex-wrap:wrap;justify-content:center;gap:12px;max-width:92vw;padding:6px 12px;font-size:.75rem;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}kbd{background:#ffffff29;border-radius:5px;padding:1px 6px;font-family:inherit;font-weight:700}.perf{z-index:2;opacity:.5;pointer-events:none;font-size:.7rem;position:absolute;bottom:12px;right:14px}.touch{z-index:4;pointer-events:none;height:40%;display:none;position:absolute;inset:auto 0 0}.tbtn{pointer-events:auto;touch-action:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a10288c;border:2px solid #ffffff59;border-radius:50%;width:72px;height:72px;font-size:.8rem;font-weight:700;position:absolute}.tbtn:active{background:#5082ffb3}.tbtn.lane{font-size:1.5rem;bottom:24px}.tbtn.lane:first-child{left:18px}.tbtn.lane:nth-child(2){left:100px}.tbtn.wing{bottom:106px;left:59px}.tbtn.gas{background:#28a05a99;width:88px;height:88px;bottom:24px;right:18px}.tbtn.brake{background:#be3c3c99;bottom:24px;right:118px}.tbtn.jump{bottom:122px;right:30px}@media (pointer:coarse),(hover:none){.touch{display:block}.help{display:none}}.force-touch .touch{display:block}.force-touch .help{display:none}@media (max-width:640px){.hud.tl{padding:6px 10px}.stat.big{font-size:1.6rem}.hud.tr button{padding:6px 9px;font-size:.8rem}.badge{font-size:.7rem;top:auto;bottom:150px}}@media (max-width:480px){.hud.tr{flex-direction:column;align-items:flex-end;gap:6px}.toasts{top:120px}}.panel{z-index:10;background:#02040c99;place-items:center;display:grid;position:absolute;inset:0}.card{background:#0c122cf2;border-radius:18px;width:min(560px,94vw);max-height:88vh;padding:18px;overflow:auto}.card h2{justify-content:space-between;margin-bottom:12px;display:flex}.card ul{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;margin-bottom:14px;list-style:none;display:grid}.card li{opacity:.7;background:#ffffff0f;border-radius:10px;flex-direction:column;padding:8px 10px 12px;display:flex;position:relative;overflow:hidden}.card li.on{opacity:1;background:#ffbe3c2e}.card li span{opacity:.75;font-size:.75rem}.card li i{background:#ffbe3c;height:4px;position:absolute;bottom:0;left:0}
