@font-face{font-family:Riffic;src:url(../fonts/RifficFree-Bold.ttf) format("truetype");font-weight:700;font-display:swap}:root{--bg: #0a0e18;--bg-shell-top: #141d31;--bg-shell-bottom: #0a0e18;--ink: #e8eef7;--ink-soft: #93a1b8;--accent: #6ee7ff;--accent-ink: #06263040;--card: #182337;--card-line: #2a3a58;--danger: #fb5a6a;--rounded: ui-rounded, "SF Pro Rounded", "Segoe UI", system-ui, sans-serif;--display: "Riffic", var(--rounded)}*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;height:100%;width:100%}body{font-family:var(--rounded);color:var(--ink);background-color:var(--bg);overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}.app-root{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;background-color:#05070d}.app-shell{position:relative;width:100%;max-width:480px;height:100%;overflow:hidden;background:linear-gradient(180deg,var(--bg-shell-top),var(--bg-shell-bottom));box-shadow:0 0 60px #0009}.page{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.btn{font-family:var(--rounded);font-weight:800;border:none;border-radius:16px;padding:14px 20px;font-size:17px;color:var(--ink);background:var(--card);border:2px solid var(--card-line);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:filter .12s ease}.btn:active{filter:brightness(.94)}.btn-play{min-width:180px;color:#06121a;background:linear-gradient(180deg,#8af0ff,var(--accent));border-color:#49c6e6;box-shadow:0 6px #2f9fbf,0 0 24px #6ee7ff66}.btn-ghost{background:transparent;color:var(--ink-soft);border-color:var(--card-line)}.menu{flex:1;display:flex;flex-direction:column;align-items:center;padding:24px 24px calc(env(safe-area-inset-bottom) + 8vh)}.menu-brand{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.menu-mark svg{filter:drop-shadow(0 8px 18px rgba(110,231,255,.35))}.menu-title{font-family:var(--display);font-size:58px;margin:0;color:var(--ink);letter-spacing:4px;text-shadow:0 0 26px rgba(110,231,255,.45)}.menu-sub{margin:0;color:var(--ink-soft);font-size:15px;letter-spacing:.5px}.menu-foot{display:flex;flex-direction:column;align-items:center;gap:14px}.menu-best{margin:0;color:var(--ink-soft);font-weight:800;letter-spacing:1px}.play{position:absolute;top:0;right:0;bottom:0;left:0}.game-canvas{display:block;width:100%;height:100%;touch-action:none}.hud{position:absolute;top:calc(env(safe-area-inset-top) + 12px);left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 18px;pointer-events:none}.hud-lives{display:flex;gap:5px}.hud-heart{fill:var(--danger);filter:drop-shadow(0 0 6px rgba(251,90,106,.5))}.hud-heart.spent{fill:#33405e;filter:none}.hud-score{font-family:var(--display);font-size:34px;color:var(--ink);text-shadow:0 0 18px rgba(110,231,255,.35);min-width:44px;text-align:right}.end{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.end-card{width:100%;max-width:320px;border-radius:24px;border:2px solid var(--card-line);background:var(--card);box-shadow:0 20px 50px #00000080;padding:28px 22px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}.end-title{font-family:var(--display);margin:0;font-size:34px;letter-spacing:1px}.end-sub{margin:0;color:var(--accent);font-weight:800;letter-spacing:1px}.end-stats{display:flex;gap:14px;margin:2px 0}.end-stat{display:flex;flex-direction:column;align-items:center;gap:2px;background:#0f1626;border:2px solid var(--card-line);border-radius:16px;padding:12px 20px;min-width:96px}.end-stat-val{font-family:var(--display);font-size:26px}.end-stat-label{font-size:12px;color:var(--ink-soft);letter-spacing:1px;text-transform:uppercase}.end .btn{width:100%}
