:root{--bg: #0a0e27;--surface: #131736;--surface-2: #1b2147;--accent: #00c9a7;--accent-dim: #0a8a76;--text: #e4e7f1;--text-dim: #8a91b8;--danger: #ff5757;--warning: #ffb830;--border: #2a3166;--radius: 14px;--radius-sm: 8px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .25);--shadow-md: 0 8px 24px rgba(0, 0, 0, .35);--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-num: "SF Mono", ui-monospace, "Roboto Mono", monospace;--ease: cubic-bezier(.22, 1, .36, 1);--press-scale: .96;--t-fast: .12s;--t-base: .2s}.fk-num{font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:.02em}.fk-btn{appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);font-family:var(--font-ui);font-weight:600;cursor:pointer;transition:transform var(--t-fast) var(--ease),background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.fk-btn:active{transform:scale(var(--press-scale))}.fk-btn--primary{background:var(--accent);border-color:var(--accent);color:#03150f}.fk-btn--primary:active{background:var(--accent-dim)}@media (prefers-reduced-motion: reduce){.fk-btn{transition:none}}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100dvh;background:var(--bg);color:var(--text);font-family:system-ui,sans-serif;font-variant-numeric:tabular-nums;overflow:hidden;touch-action:none;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}#app{position:relative;width:100%;max-width:480px;height:100dvh;margin:0 auto}#game{display:block;width:100%;height:100%;touch-action:none}#hud{position:absolute;inset:0;pointer-events:none;padding:calc(env(safe-area-inset-top) + 12px) 16px 0;z-index:5}#hud-top{display:flex;justify-content:space-between;align-items:flex-start}.hud-stat{display:flex;flex-direction:column;gap:2px}.hud-stat.right{align-items:flex-end}.hud-label{font-size:11px;letter-spacing:.14em;color:var(--text-dim);font-weight:700}#hud-score{font-size:34px;font-weight:800;line-height:1;color:var(--text);text-shadow:0 2px 10px rgba(0,0,0,.5)}#hud-best{font-size:18px;font-weight:700;color:var(--accent)}.icon-btn{position:absolute;top:calc(env(safe-area-inset-top) + 12px);right:16px;pointer-events:auto;width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:#131736b3;color:var(--text);font-size:18px;display:none;align-items:center;justify-content:center;cursor:pointer}#btn-sound{top:auto;bottom:calc(env(safe-area-inset-bottom) + 14px);right:16px;display:flex}#overlay{position:absolute;inset:0;z-index:10;display:none;align-items:center;justify-content:center;padding:24px;background:#070a1cb8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.card{width:100%;max-width:340px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:26px 22px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-md);text-align:center;animation:pop .24s cubic-bezier(.22,1,.36,1)}@keyframes pop{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.title-card{gap:10px}.logo{font-size:38px;font-weight:900;letter-spacing:.02em;background:linear-gradient(135deg,#00c9a7,#5b8cff);-webkit-background-clip:text;background-clip:text;color:transparent}.logo-sub{font-size:12px;letter-spacing:.4em;color:var(--text-dim);font-weight:700;margin-top:-6px}.card-title{font-size:28px;font-weight:800}.card-sub{font-size:14px;color:var(--text-dim)}.score-big{font-size:46px;font-weight:900;line-height:1}.score-mid{font-size:26px;font-weight:800;color:var(--text)}.score-row{display:flex;justify-content:center;gap:36px;align-items:flex-end;margin:4px 0}.accent-text{color:var(--accent)}.danger-text{color:var(--danger)}.how{display:flex;flex-direction:column;gap:8px;margin:8px 0 6px;text-align:left}.how-row{font-size:14px;color:var(--text);padding:8px 12px;background:var(--surface-2);border-radius:var(--radius-sm)}.how-row b{color:var(--warning)}.how-row.accent-text b{color:var(--accent)}.how-row.danger-text,.how-row.danger-text b{color:var(--danger)}.kbd{display:inline-block;padding:1px 8px;border-radius:6px;background:var(--bg);border:1px solid var(--border);font-weight:700;font-size:12px}.fk-btn.big{padding:14px;font-size:17px;width:100%}.fk-btn.ghost{background:transparent;border-color:transparent;color:var(--text-dim)}.streak-line{font-size:12px;color:var(--warning);font-weight:600;min-height:16px}
