*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{display:flex;justify-content:center;align-items:flex-start;min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary)}#app{width:100%;max-width:480px;min-height:100vh;display:flex;flex-direction:column}button{cursor:pointer;border:none;background:none;font-family:inherit}a{color:inherit;text-decoration:none}:root{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-surface: #fafafa;--text-primary: #1a1a1a;--text-secondary: #666666;--text-muted: #999999;--border-color: #e0e0e0;--accent-primary: #6366f1;--accent-secondary: #818cf8;--danger: #ef4444;--success: #22c55e;--warning: #f59e0b;--rank-s: #fbbf24;--rank-a: #c084fc;--rank-b-plus: #60a5fa;--rank-b: #4ade80;--rank-c: #fb923c;--rank-d: #9ca3af;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 16px;--font-size-lg: 20px;--font-size-xl: 24px;--font-size-2xl: 32px;--font-size-3xl: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--arcade-h: 320;--arcade-accent: hsl(var(--arcade-h), 95%, 60%);--arcade-accent-deep: hsl(var(--arcade-h), 85%, 40%);--arcade-accent-glow: hsla(var(--arcade-h), 95%, 60%, .5);--arcade-cyan: #00e0ff;--arcade-yellow: #ffd23f;--arcade-green: #6bff8c;--arcade-bg: #0e0b2e;--arcade-panel: rgba(10, 5, 40, .55);--arcade-panel-strong: rgba(10, 5, 40, .85);--arcade-line: rgba(0, 224, 255, .4);--arcade-line-soft: rgba(0, 224, 255, .15);--arcade-muted: rgba(255, 255, 255, .55);--arcade-ink-faint: rgba(255, 255, 255, .18);--font-display: "DynaPuff", system-ui, sans-serif;--font-ja-display: "Reggae One", "DynaPuff", system-ui, sans-serif;--font-body: "M PLUS Rounded 1c", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-mono-label: ui-monospace, "SF Mono", "Roboto Mono", monospace}@media (prefers-color-scheme: dark){:root{--bg-primary: #0f0f0f;--bg-secondary: #1a1a1a;--bg-surface: #242424;--text-primary: #f0f0f0;--text-secondary: #a0a0a0;--text-muted: #666666;--border-color: #333333;--accent-primary: #818cf8;--accent-secondary: #6366f1;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5)}}body.arcade-bg{background:radial-gradient(ellipse 90% 60% at 50% 0%,hsla(var(--arcade-h),95%,50%,.28),transparent 65%),radial-gradient(ellipse 90% 60% at 50% 100%,rgba(0,200,255,.2),transparent 65%),var(--arcade-bg);background-size:100% 100%,100% 100%,100% 100%;background-attachment:local;color:#fff;font-family:var(--font-body)}.t-label{font-family:var(--font-mono-label);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--arcade-cyan);font-weight:700}.t-label-muted{color:var(--arcade-muted)}.t-mono{font-family:var(--font-display);font-weight:700;line-height:1}.brand-logo{font-family:var(--font-display);font-weight:700;background:linear-gradient(180deg,#ffe9f8 0%,var(--arcade-accent) 55%,var(--arcade-accent-deep) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;filter:drop-shadow(0 0 24px var(--arcade-accent-glow));letter-spacing:-.01em;line-height:.95}.brand-logo[data-lang=ja]{font-family:var(--font-ja-display);letter-spacing:.02em}.glow-cyan{color:var(--arcade-cyan);text-shadow:0 0 10px var(--arcade-cyan)}.glow-yellow{color:var(--arcade-yellow);text-shadow:0 0 10px rgba(255,210,63,.8)}.glow-pink{color:var(--arcade-accent);text-shadow:0 0 12px var(--arcade-accent-glow)}.ja-display{font-family:var(--font-ja-display);letter-spacing:0}.panel{position:relative;background:var(--arcade-panel);border:1.5px solid var(--arcade-line);border-radius:16px;padding:16px 18px;box-shadow:inset 0 0 30px #00e0ff14,0 0 16px #ff40b41f}.panel-tab{position:absolute;top:-1px;left:14px;transform:translateY(-50%);background:var(--arcade-bg);padding:3px 10px;font-family:var(--font-mono-label);font-size:12px;letter-spacing:.22em;color:var(--arcade-cyan);text-transform:uppercase;font-weight:700}.btn-arcade{appearance:none;cursor:pointer;border:0;font-family:var(--font-display);font-weight:700;letter-spacing:.06em;transition:transform .12s,box-shadow .12s,filter .12s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-arcade:active{transform:translateY(2px) scale(.98)}.btn-primary{background:linear-gradient(180deg,var(--arcade-accent),var(--arcade-accent-deep));color:#fff;padding:20px 28px;border-radius:14px;font-size:24px;box-shadow:0 0 32px var(--arcade-accent-glow),inset 0 1.5px #fff6,inset 0 -2px #0000002e;text-shadow:0 1px 2px rgba(0,0,0,.3)}.btn-primary:hover{filter:brightness(1.08)}.btn-cyan{background:#00e0ff1a;border:1.5px solid var(--arcade-cyan);color:var(--arcade-cyan);padding:14px 16px;border-radius:12px;font-size:15px;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 0 8px rgba(0,224,255,.6);box-shadow:inset 0 0 16px #00e0ff14}.btn-cyan:hover{background:#00e0ff2e}.btn-ghost{background:transparent;border:1.5px solid var(--arcade-line-soft);color:var(--arcade-muted);padding:12px 16px;border-radius:12px;font-size:14px;letter-spacing:.18em;text-transform:uppercase;font-family:var(--font-display);font-weight:700}.chip-btn{appearance:none;cursor:pointer;width:44px;height:44px;border-radius:12px;background:var(--arcade-panel);border:1.5px solid var(--arcade-line-soft);color:var(--arcade-cyan);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:20px;line-height:1;flex-shrink:0;transition:all .15s}.chip-btn:hover{border-color:var(--arcade-cyan);background:#00e0ff14}.tabbar-wrap{padding:0 22px 16px;flex-shrink:0;position:relative;z-index:2}.tabbar{display:flex;justify-content:space-around;background:var(--arcade-panel-strong);backdrop-filter:blur(6px);border:1.5px solid var(--arcade-line);border-radius:18px;padding:10px 6px;box-shadow:inset 0 0 16px #00e0ff0f,0 0 14px #ff40b41f}.tab-btn{appearance:none;cursor:pointer;background:transparent;border:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px;font-family:var(--font-mono-label);font-weight:700;font-size:12px;letter-spacing:.2em;color:var(--arcade-muted);flex:1;border-radius:12px;transition:all .15s}.tab-btn:hover{color:var(--arcade-cyan)}.tab-btn[data-active=true]{color:var(--arcade-cyan);background:#00e0ff14;text-shadow:0 0 8px var(--arcade-cyan)}.tab-btn .ico{font-family:var(--font-display);font-size:18px;line-height:1}@keyframes pop-in{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:1}}@keyframes glow-pulse{0%,to{filter:brightness(1) drop-shadow(0 0 8px currentColor)}50%{filter:brightness(1.15) drop-shadow(0 0 24px currentColor)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes burst{0%{transform:scale(.5);opacity:1}to{transform:scale(2.4);opacity:0}}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:.2}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.anim-glow{animation:glow-pulse 1.6s ease-in-out infinite}.anim-blink{animation:blink 1s steps(2) infinite}.anim-shake{animation:shake .4s}.anim-float{animation:float 3s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.anim-glow,.anim-blink,.anim-shake,.anim-float{animation:none!important}}:root[data-zen=true]{--bg-primary: hsl(0, 0%, 18%);--bg-secondary: hsl(0, 0%, 14%);--bg-surface: hsl(0, 0%, 22%);--text-primary: hsl(0, 0%, 88%);--text-secondary: hsl(0, 0%, 60%);--text-muted: hsl(0, 0%, 45%);--border-color: hsl(0, 0%, 28%);--accent-primary: hsl(0, 0%, 75%);--accent-secondary: hsl(0, 0%, 60%);--shadow-sm: none;--shadow-md: none;--shadow-lg: none}:root[data-zen=true],:root[data-zen=true] body{background-color:#2e2e2e!important;color:#e0e0e0}:root[data-zen=true] #level-label,:root[data-zen=true] #score-label,:root[data-zen=true] .hud-meta{opacity:.3;transition:opacity .25s ease}:root[data-zen=true] *,:root[data-zen=true] *:before,:root[data-zen=true] *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}:root[data-zen=true] button{background-color:var(--bg-surface)!important;color:var(--text-primary)!important;border-color:var(--border-color)!important}
