@font-face{font-family:Fredoka;src:url(../fonts/fredoka.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Nunito;src:url(../fonts/nunito.woff2) format("woff2");font-weight:400 900;font-display:swap}@font-face{font-family:Digital7;src:url(../fonts/digital7.woff2) format("woff2");font-display:swap}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{height:100%;overflow:hidden;overscroll-behavior:none;background:#070912;font-family:Nunito,system-ui,sans-serif;color:#e7ecff;touch-action:manipulation}#app{height:100%}.stage{height:100%;display:flex;flex-direction:column;background:radial-gradient(1200px 700px at 50% -10%,#1a2246 0%,transparent 60%),radial-gradient(900px 600px at 100% 110%,#241238 0%,transparent 55%),linear-gradient(180deg,#0a0e1f,#070912)}.playfield{position:relative;flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;padding:8px}canvas#game{display:block;image-rendering:auto;filter:drop-shadow(0 18px 40px rgba(0,0,0,.6))}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:16px;z-index:10}.overlay.hidden{display:none}.card{width:min(92%,440px);background:linear-gradient(180deg,#161c38f7,#0c1024fa);border:1px solid rgba(120,140,220,.28);border-radius:22px;box-shadow:0 24px 70px #0009,inset 0 1px #ffffff0f;padding:26px 24px 28px;text-align:center}.hero{width:100%;max-width:300px;margin:0 auto 6px;display:block}.title{font-family:Fredoka,sans-serif;font-size:clamp(38px,9vw,62px);line-height:.95;letter-spacing:1px;background:linear-gradient(180deg,#7de3ff,#4f8bff 55%,#b56bff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 rgba(0,0,0,.25));margin-bottom:2px}.subtitle{font-weight:800;color:#9fb0e6;margin-bottom:16px;font-size:15px}.big-score{font-family:Digital7,monospace;font-size:40px;color:#7de3ff;letter-spacing:3px}.record-line{font-weight:800;color:#ffd479;margin:6px 0 16px}.record-line.new{color:#7bffa1;animation:pop .5s ease}@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.15)}to{transform:scale(1)}}.btn{font-family:Fredoka,sans-serif;font-size:22px;border:none;cursor:pointer;color:#08122a;background:linear-gradient(180deg,#79e0ff,#37a8ff);padding:14px 30px;border-radius:16px;box-shadow:0 8px #1f6fbf,0 14px 24px #00000059;transition:transform .06s,box-shadow .06s;margin-top:6px}.btn:active{transform:translateY(5px);box-shadow:0 3px #1f6fbf}.btn-submit{display:block;margin:14px auto 0;font-size:18px;padding:11px 24px;color:#fff;background:linear-gradient(180deg,#b78aff,#7c4dff);box-shadow:0 8px #5230b0,0 14px 24px #00000059}.btn-submit:active{transform:translateY(5px);box-shadow:0 3px #5230b0}.hint{margin-top:18px;font-size:13px;color:#8ea0d6;line-height:1.6}.hint b{color:#cdd8ff}.touch{flex:0 0 auto;display:none;grid-template-columns:repeat(5,1fr);gap:8px;padding:8px 10px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#0a0e2000,#080b18e6)}.touch button{height:58px;border:1px solid rgba(120,140,220,.28);border-radius:14px;background:linear-gradient(180deg,#28325cf2,#181e3cf2);color:#dbe4ff;font-size:24px;font-weight:900;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.touch button:active{background:linear-gradient(180deg,#3b7bff,#2b5fd6);color:#fff}.touch button.wide{grid-column:span 1}.touch button small{display:block;font-size:9px;font-weight:800;letter-spacing:.5px;opacity:.7;margin-top:2px}@media (hover: none),(pointer: coarse){.touch{display:grid}}.mute{position:fixed;top:10px;right:10px;z-index:20;width:42px;height:42px;border-radius:12px;border:1px solid rgba(120,140,220,.28);background:#121830cc;color:#cdd8ff;font-size:20px;cursor:pointer}
