@font-face{font-family:Lilita One;src:url(fonts/LilitaOne.woff2) format("woff2");font-display:swap}@font-face{font-family:Fredoka;src:url(fonts/Fredoka.woff2) format("woff2");font-weight:300 700;font-display:swap}:root{--ink:#2b1058;--pur:#6b2fa8;--pink:#ff5fa2;--gold:#ffd23a;--mint:#7dffb2;--card:rgba(34,12,76,.72);--line:rgba(255,255,255,.22);--ui:"Fredoka","Segoe UI",system-ui,sans-serif;--hd:"Lilita One","Fredoka",system-ui,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:#2a1060;color:#fff;font-family:var(--ui);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;overscroll-behavior:none}body{position:fixed;inset:0}canvas{display:block}#bg{position:fixed;left:0;top:0;z-index:0}#fx{position:fixed;left:0;top:0;z-index:30;pointer-events:none}#app{position:fixed;inset:0;z-index:5}#app>*{position:absolute}#stage{will-change:transform}body.boot #app,body.boot #fx{opacity:0}button{font-family:inherit;color:inherit;cursor:pointer;touch-action:manipulation}.panel{background:var(--card);border:2px solid var(--line);border-radius:16px;box-shadow:0 4px #0f032d73,inset 0 0 18px #ffffff0f;padding:6px 8px;overflow:hidden}.panel h3{margin:0 0 2px;font:400 11px/1 var(--hd);letter-spacing:.12em;color:#d9c2ff;text-align:center;opacity:.9}.mini canvas{width:100%;height:calc(100% - 14px)}.tapfull{position:absolute;inset:0;background:none;border:0;z-index:2}#p-stats{display:grid;grid-template-columns:1fr 1fr;gap:2px 8px;align-content:center}.st{display:flex;flex-direction:column;min-width:0;line-height:1.05}.st span{font:400 10px/1 var(--hd);letter-spacing:.1em;color:#cdb4ff}.st b{font:400 clamp(15px,calc(var(--u)*.78),30px)/1.1 var(--hd);color:#fff;text-shadow:0 2px 0 rgba(43,16,88,.9);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.st.sc{grid-column:1/3}.st.sc b{font-size:clamp(20px,calc(var(--u)*1.2),44px);color:var(--gold)}#st-time{display:none}body.m-contrarreloj #st-time{display:flex}body.m-contrarreloj #st-mode{display:none}body.lay-v #p-stats{grid-template-columns:1fr 1fr;padding:4px 8px}body.lay-v .st span{font-size:9px}body.lay-v .st b{font-size:clamp(13px,calc(var(--u)*.58),22px)}body.lay-v .st.sc b{font-size:clamp(18px,calc(var(--u)*.95),32px)}#p-brain{display:flex;flex-direction:column;align-items:center;padding:4px;gap:3px;border-radius:14px}#p-brain .bi{width:100%;height:auto;aspect-ratio:1;flex:none}#p-brain .tube{position:relative;flex:1;width:56%;min-height:30px;border-radius:12px;background:#0a0028a6;border:2px solid rgba(255,255,255,.25);overflow:hidden}#brain-fill{position:absolute;left:0;right:0;bottom:0;height:0;background:linear-gradient(0deg,#ff2f86,#ff8fc6 70%,#ffd0e6);box-shadow:0 0 12px #ff5fa2;transition:height .25s cubic-bezier(.3,1.6,.5,1);border-radius:10px}#brain-fill:after{content:"";position:absolute;left:12%;top:6%;bottom:6%;width:18%;border-radius:8px;background:#ffffff59}#p-brain b{font:400 12px/1 var(--hd);color:#ffc2dc}#p-brain.horiz{flex-direction:row;padding:3px 8px}#p-brain.horiz .bi{width:auto;height:100%;aspect-ratio:1}#p-brain.horiz .tube{width:auto;height:70%;min-height:0}#p-brain.horiz #brain-fill{inset:0 auto 0 0;height:auto;width:0;transition:width .25s cubic-bezier(.3,1.6,.5,1);background:linear-gradient(90deg,#ff2f86,#ff8fc6 70%,#ffd0e6)}#p-brain.horiz #brain-fill:after{inset:14% 6% auto;width:auto;height:22%}#p-brain.pulse .bi{animation:pul .3s}@keyframes pul{50%{transform:scale(1.35) rotate(-8deg)}}#p-brain.full #brain-fill{animation:glow .7s infinite alternate}@keyframes glow{to{filter:brightness(1.4) saturate(1.3)}}#p-powers{display:grid;gap:6px;grid-template-columns:1fr;grid-auto-rows:1fr;padding:0}body.lay-h #p-powers{grid-template-columns:repeat(3,1fr)}.pw{position:relative;display:flex;align-items:center;justify-content:center;border-radius:16px;border:2px solid var(--line);background:linear-gradient(180deg,#5d2bb0,#3a177a);box-shadow:0 4px #0f032d8c;padding:0;min-width:40px;min-height:40px;transition:transform .12s,filter .2s,box-shadow .12s}.pw .ic{font-size:clamp(20px,calc(var(--pw,50px)*.5),34px);filter:drop-shadow(0 2px 0 rgba(0,0,0,.35));line-height:1}.pw small{position:absolute;right:3px;bottom:2px;font:400 11px/1 var(--hd);padding:1px 5px;border-radius:9px;background:#ff5fa2;color:#fff;box-shadow:0 1px #0006}.pw kbd{position:absolute;left:4px;top:2px;font:600 9px/1 var(--ui);opacity:.6}body.touch .pw kbd{display:none}.pw.off{filter:grayscale(.85) brightness(.65)}.pw.ready{background:linear-gradient(180deg,#8c4bff,#5b25c9);border-color:#ffe27a;animation:rdy 1.1s infinite alternate}@keyframes rdy{to{box-shadow:0 4px #0f032d8c,0 0 16px #ffe27ad9;transform:translateY(-2px)}}.pw:active{transform:translateY(3px);box-shadow:0 1px #0f032d8c}.pw.on{border-color:#7dffb2;box-shadow:0 0 18px #7dffb2;animation:none}.pw.shake{animation:nope .35s}@keyframes nope{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.ctl{display:none;gap:8px;align-items:stretch;justify-content:center}body.ctl-on .ctl{display:grid;grid-template-columns:repeat(var(--cc,3),1fr)}body.lay-v .ctl{grid-template-columns:repeat(var(--cc),1fr)}body.lay-h .ctl{grid-auto-rows:1fr;align-content:end}.ctl button{border-radius:18px;border:2px solid var(--line);background:linear-gradient(180deg,#7b3fd0,#4a1f9a);box-shadow:0 5px #0f032d8c;font:400 clamp(20px,calc(var(--u)*1.1),34px)/1 var(--hd);min-height:44px;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.35)}.ctl button:active,.ctl button.down{transform:translateY(4px);box-shadow:0 1px #0f032d8c;filter:brightness(1.2)}.ctl button[data-a=hard]{background:linear-gradient(180deg,#ff7a9c,#d93a6c)}.ctl button[data-a=hold]{background:linear-gradient(180deg,#3fc5d9,#1f87a0)}#p-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end}body.lay-h #p-actions{justify-content:center}.ib{flex:1;max-width:52px;min-width:34px;height:100%;max-height:46px;border-radius:14px;border:2px solid var(--line);background:linear-gradient(180deg,#5d2bb0,#3a177a);box-shadow:0 3px #0f032d80;font:700 17px/1 var(--ui);color:#fff;padding:0}.ib:active{transform:translateY(2px);box-shadow:0 1px #0f032d80}.ib.on{background:linear-gradient(180deg,#32c07a,#198a52)}#ui{position:fixed;inset:0;z-index:50;pointer-events:none}.scr{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:auto;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));background:#14053700;animation:fi .25s both}.scr.dim{background:#120432b8;backdrop-filter:blur(3px)}@keyframes fi{0%{opacity:0}}.card{position:relative;max-width:min(560px,100%);max-height:100%;width:100%;display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,#461c8cf5,#260e58f7);border:3px solid rgba(255,255,255,.3);border-radius:26px;padding:clamp(12px,2.4vmin,22px);box-shadow:0 10px #0a002880,0 20px 60px #00000080;animation:pop .35s cubic-bezier(.3,1.5,.5,1) both}@keyframes pop{0%{transform:scale(.8) translateY(20px);opacity:0}}.card.wide{max-width:min(900px,100%)}.card h2{margin:0;font:400 clamp(24px,5vmin,40px)/1.05 var(--hd);text-align:center;color:var(--gold);text-shadow:0 3px 0 var(--ink)}.card p{margin:0;font-size:clamp(14px,2.4vmin,18px);line-height:1.35;color:#eadcff;text-align:center}.scroll{overflow:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain;min-height:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:18px;padding:clamp(10px,2vmin,15px) clamp(14px,3vmin,22px);font:400 clamp(17px,3vmin,24px)/1 var(--hd);color:#fff;background:linear-gradient(180deg,#7b3fd0,#4a1f9a);box-shadow:0 5px #0f032d99,inset 0 2px #ffffff40;text-shadow:0 2px 0 rgba(0,0,0,.3);min-height:46px;transition:transform .1s,filter .15s}.btn:hover{filter:brightness(1.12)}.btn:active{transform:translateY(4px);box-shadow:0 1px #0f032d99}.btn.pri{background:linear-gradient(180deg,#52e08c,#1fa65c)}.btn.hot{background:linear-gradient(180deg,#ff7a9c,#d93a6c)}.btn.gold{background:linear-gradient(180deg,#ffd23a,#e08a00);color:#3b1d00;text-shadow:0 1px 0 rgba(255,255,255,.4)}.btn.blue{background:linear-gradient(180deg,#4fc3ff,#2878d6)}.btn.sm{font-size:clamp(14px,2.4vmin,18px);padding:8px 14px;min-height:38px;border-radius:14px}.btn:focus-visible,.ib:focus-visible,.pw:focus-visible,.ctl button:focus-visible{outline:3px solid #fff;outline-offset:2px}.row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.col{display:flex;flex-direction:column;gap:10px}#menu .card{background:none;border:0;box-shadow:none;align-items:center;max-width:min(520px,100%);gap:clamp(6px,1.6vmin,14px)}.logo{font:400 clamp(40px,12vmin,92px)/.9 var(--hd);letter-spacing:.01em;text-align:center;color:#a8ff8a;-webkit-text-stroke:0;text-shadow:0 5px 0 #1d6b2b,0 8px 0 var(--ink),0 0 30px rgba(120,255,140,.45);transform:rotate(-3deg);animation:bob 2.4s ease-in-out infinite}.logo small{display:block;font:400 clamp(14px,3.6vmin,26px)/1.1 var(--hd);color:#ffd23a;text-shadow:0 3px 0 var(--ink);letter-spacing:.14em;margin-top:6px}@keyframes bob{50%{transform:rotate(-1deg) translateY(-6px)}}#menu canvas.mascots{width:min(100%,380px);height:clamp(80px,17vmin,150px)}.modes{display:grid;gap:clamp(6px,1.4vmin,10px);width:100%}.modes .btn{justify-content:space-between;width:100%}.modes .btn small{font:500 clamp(11px,2vmin,14px)/1.1 var(--ui);opacity:.85;text-shadow:none}.modes .btn i{font-style:normal;font-size:1.3em}.brand{display:flex;align-items:center;gap:8px;font:400 15px/1 var(--hd);letter-spacing:.14em;color:#d9c2ff;opacity:.9}.brand svg{width:22px;height:22px}.menu-foot{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}#count{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:45;pointer-events:none;font:400 min(30vmin,220px)/1 var(--hd);color:#fff;text-shadow:0 8px 0 var(--ink),0 0 40px #ff5fa2}#count span{animation:cd .9s both}@keyframes cd{0%{transform:scale(2.2);opacity:0}25%{transform:scale(1);opacity:1}80%{opacity:1}to{transform:scale(.7);opacity:0}}#toasts{position:fixed;left:0;right:0;top:calc(env(safe-area-inset-top) + 8px);z-index:70;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;max-width:min(94vw,520px);background:linear-gradient(180deg,#ffe27a,#ffb300);color:#3b1d00;border:3px solid #fff;border-radius:20px;padding:8px 14px;box-shadow:0 6px #3c140066,0 0 30px #ffd23cb3;animation:tin .5s cubic-bezier(.3,1.6,.5,1) both,tout .4s 2.5s both;font:600 15px/1.2 var(--ui)}.toast .e{font-size:30px}.toast b{display:block;font:400 18px/1.1 var(--hd)}.toast i{font-style:normal;font-size:13px;opacity:.85}.toast.plain{background:linear-gradient(180deg,#fff,#e6dcff);border-color:#b79cff;box-shadow:0 5px #1e005059}@keyframes tin{0%{transform:translateY(-60px) scale(.7);opacity:0}}@keyframes tout{to{transform:translateY(-30px);opacity:0}}.dex-head{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.bar{flex:1;min-width:120px;height:16px;border-radius:10px;background:#00000059;overflow:hidden;border:2px solid rgba(255,255,255,.25)}.bar i{display:block;height:100%;background:linear-gradient(90deg,#7dffb2,#ffe27a);border-radius:10px}.tabs{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.tab{border:2px solid var(--line);background:#ffffff14;border-radius:14px;padding:6px 12px;font:400 15px/1 var(--hd);color:#e6d6ff}.tab.on{background:#ffd23a;color:#3b1d00;border-color:#fff}.dex{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;padding:2px 2px 6px}.dc{position:relative;background:linear-gradient(180deg,#ffffff24,#ffffff0d);border:2px solid rgba(255,255,255,.2);border-radius:18px;padding:10px 8px;text-align:center;display:flex;flex-direction:column;gap:4px;align-items:center;min-height:128px}.dc .em{font-size:34px;line-height:1.1}.dc b{font:400 16px/1.1 var(--hd);color:#fff}.dc p{font-size:12.5px!important;line-height:1.25;color:#e6d6ff}.dc.lock{filter:saturate(.3) brightness(.8)}.dc.lock .em{filter:grayscale(1) brightness(.4)}.dc.new{border-color:#ffe27a;box-shadow:0 0 14px #ffe27ab3}.dc .star{position:absolute;right:8px;top:6px;font-size:11px;letter-spacing:1px;color:#ffd23a}.dc canvas{width:72px;height:72px}.hint{margin-top:4px;font-style:italic;color:#ffe9a8!important}.dc .btn{margin-top:auto}.rk{width:100%;border-collapse:collapse}.rk td,.rk th{padding:6px 8px;text-align:left;font-size:15px}.rk th{color:#cdb4ff;font:400 12px var(--hd);letter-spacing:.1em}.rk tr:nth-child(2n){background:#ffffff0f}.rk td:first-child{font:400 18px var(--hd);color:var(--gold);width:2.2em}.rk td:last-child{text-align:right;font:400 17px var(--hd)}.rk tr.me{background:#ffd23a38}input[type=text]{width:100%;font:500 20px var(--ui);padding:10px 14px;border-radius:14px;border:3px solid #b79cff;background:#fff;color:#2b1058;text-align:center;-webkit-user-select:text;user-select:text;touch-action:manipulation}.setrow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 6px;border-bottom:1px solid rgba(255,255,255,.12);font-size:17px}.sw{display:flex;gap:6px}.sw .btn{min-height:38px;padding:6px 12px;font-size:15px;border-radius:12px;background:#ffffff1f;box-shadow:none}.sw .btn.on{background:linear-gradient(180deg,#52e08c,#1fa65c)}.tut canvas{width:100%;height:clamp(110px,26vmin,190px);border-radius:18px;background:#0003}.dots{display:flex;gap:6px;justify-content:center}.dots i{width:10px;height:10px;border-radius:50%;background:#ffffff4d}.dots i.on{background:#ffd23a;transform:scale(1.25)}.kbd{display:inline-block;background:#fff;color:#2b1058;border-radius:7px;padding:1px 7px;font:600 .85em var(--ui);box-shadow:0 2px #b79cff;margin:0 1px}.tag{display:inline-block;background:#ffffff26;border-radius:10px;padding:2px 8px;font-size:13px}.score-big{font:400 clamp(40px,10vmin,72px)/1 var(--hd);color:#ffd23a;text-shadow:0 4px 0 var(--ink);text-align:center}.newrec{color:#7dffb2;font:400 22px var(--hd);text-align:center;animation:bob 1s infinite}.chips{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.chip{background:#ffffff24;border-radius:12px;padding:4px 10px;font-size:14px}#fs-aviso{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translate(-50%,40px);opacity:0;pointer-events:none;z-index:90;display:flex;align-items:center;gap:10px;background:#1e0a46f2;border:2px solid #fff;border-radius:18px;padding:8px 12px;transition:.3s;font-size:15px}#fs-aviso.show{transform:translate(-50%);opacity:1;pointer-events:auto}#fs-aviso .x{background:none;border:0;font-size:18px}body.is-fs [data-fs]{background:linear-gradient(180deg,#32c07a,#198a52)}body.nofs [data-fs],[data-fs].nofs{display:none}.hide{display:none!important}@media(prefers-reduced-motion:reduce){.logo,.newrec,.pw.ready{animation:none}}.toast.plain{padding:4px 12px;gap:8px;font-size:12px}.toast.plain .e{font-size:22px}.toast.plain b{font-size:14px}@media(max-width:600px),(max-height:480px){.toast{padding:5px 10px;font-size:12px;max-width:88vw}.toast .e{font-size:22px}.toast b{font-size:14px}.toast i{font-size:11px}#toasts{gap:4px;top:calc(env(safe-area-inset-top) + 4px)}}.vers{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;max-width:420px;margin:2px auto 4px}.vers .vsel{display:flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:4px 10px;font-size:clamp(15px,3.6vw,18px);opacity:.78;background:linear-gradient(180deg,#4a2a8a,#2d1560);border:2px solid var(--line)}.vers .vsel i{font-style:normal;font-size:1.2em}.vers .vsel.on{opacity:1;background:linear-gradient(180deg,#8c4bff,#5b25c9);border-color:#ffe27a;box-shadow:0 0 16px #ffe27a73}.vers .vsel:nth-child(2).on{background:linear-gradient(180deg,#ff7a2a,#c2410c);border-color:#ffd9a0;box-shadow:0 0 18px #ff8c3c8c}.vdesc{display:none;margin:0;font-size:13px;opacity:.9;text-align:center;line-height:1.25}@media(min-height:900px){.vdesc{display:block}}#menu .card{overflow-y:auto;scrollbar-width:none}body.ver-h .logo small{color:#ffb070;letter-spacing:.18em}.pw-split{display:none}body.ver-h .pw-split{display:flex}body.ver-h .pw-split{background:linear-gradient(180deg,#ff8a3a,#c2410c)}body.ver-h .pw-split.ready{background:linear-gradient(180deg,#ffa05a,#e0520e);border-color:#fff3b0}body.ver-h .pw-split small{background:#7a2cff}@media(max-height:520px){.vers .vsel{min-height:32px;padding:2px 8px}#menu canvas.mascots{display:none}#menu .card{gap:5px}.logo{font-size:clamp(34px,11vmin,56px)}.logo small{margin-top:2px;font-size:13px}.modes{grid-template-columns:1fr 1fr}.modes .btn{min-height:40px;padding:4px 10px}.modes .btn small{display:none}}body.ver-h .pw{min-width:min(40px,var(--pw,40px));min-height:min(40px,var(--pw,40px))}
