: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}#app{width:100%;max-width:480px;height:100dvh;margin:0 auto;position:relative;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}#game{display:block;width:100%;height:100%}.ovl{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;z-index:5;background:#080b1ea8;backdrop-filter:blur(3px);transition:opacity .18s ease}.ovl.hidden{opacity:0;pointer-events:none}#title{pointer-events:none}#title .logo{font-size:96px;font-weight:800;color:#37c08a;text-shadow:0 0 38px rgba(0,201,167,.45);line-height:1}#title .sub{font-size:18px;letter-spacing:.5em;color:var(--text-dim, #8d96b8);margin-left:.5em}#title .hint{margin-top:22px;font-size:15px;color:#ffe9b0}#title .tapstart{margin-top:30px;font-size:14px;color:var(--text-dim, #8d96b8);animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.45}50%{opacity:1}}#over .panel{background:var(--surface, #131836);border:1px solid var(--border, #262e55);border-radius:var(--radius, 14px);padding:26px 34px;min-width:250px;display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:0 18px 50px #00000080}.ovr-title{font-size:15px;color:var(--text-dim, #8d96b8)}.ovr-score{font-size:44px;font-weight:800;color:#ffe9b0;line-height:1}.ovr-rows{width:100%;display:flex;flex-direction:column;gap:5px;margin-top:4px}.ovr-rows .row{display:flex;justify-content:space-between;font-size:14px;color:var(--text-dim, #8d96b8)}.ovr-rows .row span:last-child{color:var(--text, #e4e7f1);font-weight:700}.ovr-rows .row.best span:last-child{color:#ffb830}#retry{margin-top:12px;width:100%;padding:13px 18px;font-size:16px;font-weight:700;color:#06281f;background:var(--accent, #00c9a7);border:none;border-radius:var(--radius-sm, 8px);cursor:pointer;transition:transform .08s ease;touch-action:manipulation}#retry:active{transform:scale(.95)}@media (prefers-reduced-motion: reduce){#title .tapstart{animation:none}}
