:root{--neon: #39ff14;--cyan: #39e6ff;--pink: #ff4fd8;--red: #ff2d3a;--bg: #05060a;--font: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;height:100%;background:var(--bg);color:#fff;font-family:var(--font);overflow:hidden;overscroll-behavior:none}.app{position:fixed;top:0;right:0;bottom:0;left:0;touch-action:none}.app canvas{display:block}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:10;padding:24px;background:radial-gradient(120% 80% at 50% 30%,#39ff140f,#05060adb 70%);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade .3s ease}.overlay.dead{background:radial-gradient(120% 80% at 50% 30%,#ff2d3a1a,#05060ae6 70%)}.panel{width:min(440px,92vw);padding:34px 28px;text-align:center;border:1px solid rgba(57,255,20,.25);border-radius:22px;background:#0a0e168c;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 0 60px #39ff141f,inset 0 0 30px #39ff140a;display:flex;flex-direction:column;align-items:center;gap:14px}.kicker{font-size:11px;letter-spacing:.32em;color:var(--neon);opacity:.85}.title{margin:0;font-size:clamp(44px,14vw,76px);font-weight:900;letter-spacing:.04em;color:#eafff0;text-shadow:0 0 14px var(--neon),0 0 40px rgba(57,255,20,.6)}.sub{margin:0;font-size:13px;line-height:1.5;color:#9fb0c3;max-width:30ch}.btn{margin-top:6px;padding:14px 26px;width:100%;border:none;border-radius:999px;font-family:var(--font);font-weight:800;font-size:18px;letter-spacing:.12em;cursor:pointer;transition:transform .12s ease,box-shadow .2s ease}.btn.primary{color:#04130a;background:linear-gradient(180deg,#7dff5e,var(--neon));box-shadow:0 0 24px #39ff148c}.btn.primary:hover{transform:translateY(-1px) scale(1.02);box-shadow:0 0 36px #39ff14cc}.btn.primary:active{transform:scale(.98)}.btn.ghost{background:transparent;color:#9fb0c3;border:1px solid rgba(255,255,255,.15);font-size:14px;padding:10px}.controls{margin-top:8px;display:flex;flex-direction:column;gap:4px;font-size:11px;letter-spacing:.08em;color:#6b7688}.death{color:var(--red);font-weight:800;letter-spacing:.1em;text-shadow:0 0 12px rgba(255,45,58,.7)}.charged{display:flex;flex-direction:column;gap:2px}.charged span{font-size:11px;letter-spacing:.3em;color:#9fb0c3}.charged strong{font-size:clamp(30px,9vw,44px);color:var(--neon);text-shadow:0 0 18px rgba(57,255,20,.7)}.stats{display:flex;gap:28px;margin:4px 0}.stats div{display:flex;flex-direction:column;gap:2px}.stats span{font-size:10px;letter-spacing:.2em;color:#6b7688}.stats b{font-size:16px;color:#eafff0}.globalrank{color:var(--cyan);font-weight:800;letter-spacing:.14em;font-size:13px;text-shadow:0 0 12px rgba(57,230,255,.7)}.menu{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;animation:fade .4s ease}.menu-hero{position:absolute;top:0;right:0;bottom:0;left:0;background:url(../bull-hero.jpg) center 20% / cover no-repeat}.menu-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#05060a1a,#05060a80 52%,#05060af7)}.menu-content{position:relative;z-index:1;width:100%;max-width:460px;padding:0 24px 38px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.logo{width:min(420px,88vw);height:auto;mix-blend-mode:screen;filter:drop-shadow(0 0 16px rgba(57,255,20,.45));margin:-8px 0 -14px}.menu.cine{justify-content:center}.cine-content{position:relative;z-index:1;flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.cine-line{font-size:clamp(18px,5vw,24px);color:#eafff0;text-align:center;line-height:1.5;max-width:22ch;white-space:pre-line;text-shadow:0 0 16px rgba(57,255,20,.4);animation:cinein .6s ease}.cine-line.big{font-size:clamp(34px,11vw,60px);font-weight:900;color:var(--neon);letter-spacing:.04em;text-shadow:0 0 22px var(--neon),0 0 60px rgba(57,255,20,.7)}.cine-dots{position:absolute;bottom:70px;left:0;right:0;display:flex;gap:8px;justify-content:center;z-index:2}.cine-dots span{width:7px;height:7px;border-radius:50%;background:#2a2f3a}.cine-dots span.on{background:var(--neon);box-shadow:0 0 8px #39ff14cc}.cine-skip{position:absolute;bottom:24px;right:20px;z-index:2;background:transparent;border:1px solid rgba(255,255,255,.2);color:#9fb0c3;border-radius:999px;padding:8px 16px;font-family:var(--font);font-size:12px;letter-spacing:.12em;cursor:pointer}@keyframes cinein{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tabs{display:flex;gap:6px;width:100%}.tabs .tab{flex:1;padding:8px 4px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#8a93a6;font-family:var(--font);font-size:10px;letter-spacing:.06em;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tabs .tab.on{border-color:var(--neon);color:var(--neon);background:#39ff141a;text-shadow:0 0 8px rgba(57,255,20,.6)}.hud{position:absolute;top:0;right:0;bottom:0;left:0;z-index:9;pointer-events:none;padding:18px}.hud-top{display:flex;align-items:flex-start;justify-content:space-between}.hearts{display:flex;align-items:center;gap:6px}.heart{font-size:22px;line-height:1}.heart.on{color:var(--red);text-shadow:0 0 10px rgba(255,45,58,.9)}.heart.off{color:#2a2f3a}.shield-pip{margin-left:6px;font-size:10px;letter-spacing:.15em;color:#7fffd4;text-shadow:0 0 10px rgba(127,255,212,.8)}.distance{font-size:clamp(22px,6vw,30px);font-weight:800;color:var(--neon);text-shadow:0 0 14px rgba(57,255,20,.7)}.spacer{width:80px}.combo{position:absolute;top:64px;left:0;right:0;text-align:center;color:var(--cyan);font-weight:800;letter-spacing:.1em;text-shadow:0 0 12px rgba(57,230,255,.8)}.dash-wrap{position:absolute;bottom:26px;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:5px}.dash-bar{width:min(180px,56vw);height:9px;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);overflow:hidden}.dash-fill{height:100%;background:#6b7688;transition:width .08s linear}.dash-fill.ready{background:var(--neon);box-shadow:0 0 14px #39ff14e6}.dash-label{font-size:10px;letter-spacing:.22em;color:#8a93a6}@keyframes fade{0%{opacity:0}to{opacity:1}}.gate-q{font-size:clamp(16px,5vw,20px);color:var(--neon);line-height:1.45;text-shadow:0 0 12px rgba(57,255,20,.55)}.gate-q.shake{animation:shake .4s ease}.not-ready{color:var(--red);font-size:12px;letter-spacing:.14em;text-shadow:0 0 10px rgba(255,45,58,.7)}.opts{display:flex;flex-direction:column;gap:10px;width:100%}.opt{padding:14px;border-radius:14px;border:1px solid rgba(57,255,20,.32);background:#39ff140d;color:#eafff0;font-family:var(--font);font-size:15px;letter-spacing:.03em;cursor:pointer;transition:transform .12s ease,background .15s ease}.opt:hover{background:#39ff1424;transform:translateY(-1px)}.opt:active{transform:scale(.98)}.opt.bad{border-color:var(--red);background:#ff2d3a2e;animation:shake .4s ease}.qdots{display:flex;gap:8px;margin-top:4px}.qdots span{width:8px;height:8px;border-radius:50%;background:#2a2f3a}.qdots span.on{background:var(--neon);box-shadow:0 0 8px #39ff14cc}.overlay.charging{background:#000}.charge-word{font-size:clamp(56px,19vw,116px);font-weight:900;letter-spacing:.04em;color:#eafff0;text-shadow:0 0 20px var(--neon),0 0 60px rgba(57,255,20,.8);animation:chargein .5s ease}.hitflash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;pointer-events:none;background:radial-gradient(circle at 50% 60%,#ff2d3a00 38%,#ff2d3a8c);animation:flash .36s ease forwards}.mute{position:absolute;top:14px;right:14px;z-index:20;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#0a0e1699;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:16px;cursor:pointer}.musicchip{position:absolute;top:14px;left:14px;z-index:20;height:38px;padding:0 14px;border-radius:999px;border:1px solid rgba(57,255,20,.3);background:#0a0e1699;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--neon);font-family:var(--font);font-size:11px;letter-spacing:.12em;cursor:pointer;text-shadow:0 0 8px rgba(57,255,20,.5)}.musicchip:hover{border-color:var(--neon)}.btn.share{background:#000;color:#fff;border:1px solid rgba(255,255,255,.45);font-size:16px}.btn.share:hover{background:#141414;transform:translateY(-1px)}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@keyframes flash{0%{opacity:1}to{opacity:0}}.cloudburst{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;pointer-events:none;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 50%,#0a0a1400,#05060aeb 72%);animation:cloud 1.6s ease forwards}.cloudburst span{font-size:clamp(28px,9vw,52px);font-weight:900;color:#fff;letter-spacing:.1em;text-shadow:0 0 20px var(--neon),0 0 50px rgba(57,255,20,.7);animation:cloudtext 1.6s ease forwards}@keyframes cloud{0%{opacity:0}18%{opacity:1}80%{opacity:1}to{opacity:0}}@keyframes cloudtext{0%{opacity:0;transform:scale(.7)}25%{opacity:1;transform:scale(1)}80%{opacity:1}to{opacity:0;transform:scale(1.12)}}@keyframes chargein{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.namebox{width:100%;display:flex;flex-direction:column;gap:6px;margin-top:4px}.namelabel{font-size:11px;letter-spacing:.14em;color:var(--neon);text-shadow:0 0 8px rgba(57,255,20,.5)}.nameinput{width:100%;padding:13px;border-radius:12px;background:#39ff140d;border:2px solid rgba(57,255,20,.45);color:#eafff0;font-family:var(--font);font-size:16px;text-align:center;letter-spacing:.14em;text-transform:uppercase}.nameinput::placeholder{color:#5b6678;letter-spacing:.2em}.nameinput:placeholder-shown{animation:namepulse 1.7s ease-in-out infinite}.nameinput:focus{outline:none;border-color:var(--neon);box-shadow:0 0 16px #39ff148c;animation:none}@keyframes namepulse{0%,to{box-shadow:0 0 #39ff1400}50%{box-shadow:0 0 16px #39ff1480}}.row2{display:flex;gap:10px;width:100%}.row2 .btn{flex:1;margin-top:0}.board .rows{list-style:none;margin:4px 0;padding:0;width:100%;display:flex;flex-direction:column;gap:6px;max-height:46vh;overflow-y:auto}.board .rows li{display:grid;grid-template-columns:24px 1fr auto auto;gap:10px;align-items:center;padding:9px 10px;border-radius:10px;background:#ffffff0a;font-size:13px}.board .rows .rk{color:var(--neon);font-weight:800}.board .rows .nm{color:#eafff0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.board .rows .ds{color:var(--neon);font-weight:700}.board .rows .rt{color:#8a93a6;font-size:10px}
