:root{--bg:#05070f;--cy:#3ef2ff;--vi:#9b5cff;--bl:#2f7bff;--mg:#ff3ea5;--gd:#ffd166;--tx:#cfe8ff}
*{box-sizing:border-box;margin:0;padding:0}
html,body{width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--tx);font-family:Rajdhani,sans-serif;user-select:none;-webkit-user-select:none;touch-action:none}
canvas{position:fixed;inset:0;display:block}
.hidden{display:none!important}
.screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(3,5,14,.55);backdrop-filter:blur(6px);animation:fade .35s ease;z-index:10;padding:16px}
@keyframes fade{from{opacity:0}to{opacity:1}}
.panel{background:linear-gradient(160deg,rgba(20,30,70,.55),rgba(10,10,30,.75));border:1px solid rgba(62,242,255,.3);box-shadow:0 0 40px rgba(62,242,255,.12),inset 0 0 30px rgba(155,92,255,.08);border-radius:14px;padding:28px 30px;max-width:560px;width:100%;max-height:92vh;overflow:auto;text-align:center;display:flex;flex-direction:column;gap:10px;animation:rise .45s cubic-bezier(.2,1.4,.4,1)}
@keyframes rise{from{transform:translateY(20px) scale(.96);opacity:0}}
.title-panel{background:transparent;border:none;box-shadow:none}
h1{font-family:Orbitron;font-weight:900;font-size:clamp(70px,16vw,150px);letter-spacing:.15em;color:#fff;text-shadow:0 0 20px var(--cy),0 0 60px var(--vi);position:relative;line-height:1}
.glitch::before,.glitch::after{content:attr(data-text);position:absolute;inset:0;opacity:.7}
.glitch::before{color:var(--mg);animation:gl 3s infinite;mix-blend-mode:screen}
.glitch::after{color:var(--cy);animation:gl 3s infinite reverse;mix-blend-mode:screen}
@keyframes gl{0%,90%,100%{transform:none}92%{transform:translate(-4px,2px)}95%{transform:translate(4px,-2px)}}
h2{font-family:Orbitron;font-weight:400;letter-spacing:.5em;font-size:clamp(12px,2.6vw,18px);color:var(--cy);margin-bottom:10px}
h3{font-family:Orbitron;letter-spacing:.3em;color:var(--cy);font-size:18px;margin:6px 0}
.best-badge{font-family:Orbitron;font-size:13px;letter-spacing:.2em;color:var(--gd);opacity:.9}
.btns{display:flex;flex-direction:column;gap:10px;align-items:center;margin-top:14px}
.btn{font-family:Orbitron;font-size:14px;letter-spacing:.25em;padding:12px 26px;min-width:220px;background:rgba(47,123,255,.08);color:var(--tx);border:1px solid rgba(62,242,255,.35);border-radius:8px;cursor:pointer;transition:.2s;align-self:center}
.btn:hover{background:rgba(62,242,255,.15);box-shadow:0 0 18px rgba(62,242,255,.35);color:#fff;transform:translateY(-1px)}
.btn.primary{border-color:var(--cy);color:#fff;background:linear-gradient(90deg,rgba(62,242,255,.2),rgba(155,92,255,.25));box-shadow:0 0 20px rgba(62,242,255,.25)}
.flavor{font-weight:300;font-size:17px;opacity:.75;font-style:italic;min-height:1.2em}
.keys{display:flex;flex-direction:column;gap:6px;text-align:left}
.keys div{display:flex;gap:12px;align-items:center}
kbd{font-family:Orbitron;font-size:10px;padding:5px 8px;border:1px solid rgba(62,242,255,.4);border-radius:5px;min-width:120px;text-align:center;color:var(--cy);background:rgba(62,242,255,.05)}
.c-silver{color:#dfe6f0}.c-cyan{color:var(--cy)}.c-grey{color:#8a93a6}.c-violet{color:var(--vi)}.c-gold{color:var(--gd);border-color:var(--gd)}
.tog{display:flex;justify-content:space-between;align-items:center;padding:8px 4px;font-size:18px;border-bottom:1px solid rgba(255,255,255,.06);cursor:pointer}
.tog input{width:20px;height:20px;accent-color:var(--cy)}
#hud{position:fixed;inset:0;pointer-events:none;z-index:5;font-family:Orbitron}
.hud-left{position:absolute;top:10px;left:14px;display:flex;gap:18px}
.stat span{display:block;font-size:9px;letter-spacing:.3em;opacity:.6}
.stat b{font-size:24px;color:#fff;text-shadow:0 0 10px var(--cy)}
.stat.small b{font-size:16px}
.hud-center{position:absolute;top:10px;left:50%;transform:translateX(-50%);text-align:center}
.combo{font-size:22px;color:var(--mg);text-shadow:0 0 14px var(--mg);opacity:0;transition:opacity .2s;position:relative;padding-bottom:4px}
.combo.on{opacity:1;animation:pp .3s}
@keyframes pp{50%{transform:scale(1.3)}}
#combo-bar{height:2px;background:var(--mg);width:100%;margin-top:2px}
#buffs{display:flex;gap:6px;justify-content:center;margin-top:4px}
.buff{font-size:9px;letter-spacing:.15em;padding:3px 7px;border:1px solid var(--gd);color:var(--gd);border-radius:10px;background:rgba(255,209,102,.08)}
.hud-right{position:absolute;top:10px;right:14px;display:flex;gap:8px;pointer-events:auto}
.icon-btn{font-family:Orbitron;font-size:11px;width:42px;height:34px;background:rgba(62,242,255,.08);color:var(--cy);border:1px solid rgba(62,242,255,.35);border-radius:7px;cursor:pointer}
.hud-bottom{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:20px}
.energy{width:180px;height:10px;border:1px solid rgba(62,242,255,.4);border-radius:6px;position:relative;overflow:visible}
#energy-fill{height:100%;background:linear-gradient(90deg,var(--bl),var(--cy));border-radius:6px;box-shadow:0 0 10px var(--cy);width:100%}
.energy span{position:absolute;top:-14px;left:0;font-size:8px;letter-spacing:.3em;opacity:.6}
.abilities{display:flex;gap:10px}
.ab{position:relative;width:52px;height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ab svg{position:absolute;inset:0;transform:rotate(-90deg)}
.ring-bg{fill:rgba(5,10,30,.6);stroke:rgba(255,255,255,.1);stroke-width:2}
.ring{fill:none;stroke:var(--cy);stroke-width:2.5;stroke-dasharray:106.8;stroke-dashoffset:0;transition:stroke-dashoffset .1s}
.ab b{font-size:7px;letter-spacing:.1em;position:relative}
.ab i{font-size:8px;font-style:normal;opacity:.5;position:relative}
.ab.ready .ring{stroke:var(--cy);filter:drop-shadow(0 0 4px var(--cy))}
.ab.cool .ring{stroke:var(--vi)}
.ab.active .ring{stroke:var(--mg);filter:drop-shadow(0 0 5px var(--mg))}
.tip{position:fixed;top:70px;left:50%;transform:translateX(-50%);z-index:6;background:rgba(10,20,50,.85);border:1px solid var(--cy);padding:10px 18px;border-radius:10px;font-size:17px;box-shadow:0 0 24px rgba(62,242,255,.3);max-width:90vw;text-align:center;pointer-events:auto;animation:rise .4s}
.tip small{display:block;opacity:.5;font-size:12px;margin-top:4px;cursor:pointer}
#touch{position:fixed;bottom:90px;right:10px;z-index:6;display:grid;grid-template-columns:1fr 1fr;gap:8px}
#touch button{width:70px;height:54px;font-family:Orbitron;font-size:10px;letter-spacing:.1em;color:var(--cy);background:rgba(62,242,255,.1);border:1px solid rgba(62,242,255,.4);border-radius:12px}
#touch button:active{background:rgba(62,242,255,.35)}
.results{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0}
.results div{border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:8px}
.results span{display:block;font-family:Orbitron;font-size:9px;letter-spacing:.2em;opacity:.6}
.results b{font-family:Orbitron;font-size:22px;color:#fff}
.cmp{font-family:Orbitron;font-size:14px;letter-spacing:.15em}
.cmp.new{color:var(--gd);text-shadow:0 0 14px var(--gd);animation:pp 1s infinite}
.submit{display:flex;gap:8px;justify-content:center}
.submit input{background:rgba(0,0,0,.4);border:1px solid rgba(62,242,255,.3);color:#fff;padding:8px;border-radius:6px;font-family:Rajdhani;font-size:16px;width:150px}
.submit .btn{min-width:0;padding:8px 14px}
#lb-list{font-family:Orbitron;font-size:13px;text-align:left}
.lbr{display:flex;justify-content:space-between;padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.06)}
.lbr.me{color:var(--gd)}
footer{position:fixed;bottom:4px;left:0;right:0;text-align:center;z-index:20;font-size:11px}
footer a{color:#5a6380;text-decoration:none}
@media (max-width:640px){.hud-bottom{bottom:22px;left:10px;transform:none;flex-direction:column;align-items:flex-start;gap:8px}.energy{width:130px}.stat b{font-size:18px}.hud-left{gap:10px}}