*,:before,:after{box-sizing:border-box}:root,[data-theme=light]{--bg:#fafafa;--bg-card:#fff;--bg-subtle:#f5f5f5;--bg-hover:#eee;--text:#222;--text-secondary:#666;--text-muted:#888;--text-faint:#aaa;--border:#e5e5e5;--border-light:#eee;--accent:#3b82f6;--accent-bg:#eff6ff;--accent-hover:#2563eb;--danger:#dc2626;--danger-bg:#fef2f2;--danger-border:#991b1b;--success:#22c55e;--success-hover:#16a34a;--warning:#f59e0b;--warning-bg:#fef3c7;--dice-bg:#fff;--dice-border:#333;--dice-dot:#222;--dice-shadow:#00000040;--bar-track:#e5e5e5;--bar-fill:#3b82f6;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}[data-theme=dark]{--bg:#111118;--bg-card:#1c1c26;--bg-subtle:#252530;--bg-hover:#2e2e3a;--text:#e8e8ee;--text-secondary:#a0a0b0;--text-muted:#707080;--text-faint:#505060;--border:#2e2e3a;--border-light:#252530;--accent:#6390f0;--accent-bg:#6390f01f;--accent-hover:#4d7ce8;--danger:#ef4444;--danger-bg:#ef44441a;--danger-border:#b91c1c;--success:#34d399;--success-hover:#10b981;--warning:#fbbf24;--warning-bg:#fbbf241f;--dice-bg:#252530;--dice-border:#555;--dice-dot:#e0e0e8;--dice-shadow:#00000080;--bar-track:#2e2e3a;--bar-fill:#6390f0;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}[data-theme=neon]{--bg:#0a0a1a;--bg-card:#12122a;--bg-subtle:#1a1a35;--bg-hover:#222250;--text:#e0e0ff;--text-secondary:#b0b0d0;--text-muted:#8080a0;--text-faint:#505070;--border:#f0f4;--border-light:#f0f2;--accent:#f0f;--accent-bg:#ff00ff1a;--accent-hover:#f4f;--danger:#f36;--danger-bg:#ff33661f;--danger-border:#f36;--success:#0f8;--success-hover:#0c6;--warning:#ff0;--warning-bg:#ffff001a;--dice-bg:#12122a;--dice-border:#0ff;--dice-dot:#0ff;--dice-shadow:#00ffff4d;--bar-track:#1a1a35;--bar-fill:#f0f;--font:"Courier New", Courier, monospace}html,body{width:100%;overflow-x:hidden}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;margin:0;transition:background .3s,color .3s}#app{height:100dvh;overflow-x:hidden}[data-theme=neon] h1,[data-theme=neon] h2{text-shadow:0 0 10px #f0f,0 0 30px #f0f6}[data-theme=neon] .tab-bar{background:#0a0a1a;border-color:#f0f4}[data-theme=neon] .tab-bar button.active{color:#0ff;text-shadow:0 0 8px #0ff}
