@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}:root{--bg:#0a0a0f;--bg-elevated:#14141c;--surface:#1a1a24;--surface-hover:#22222e;--fg:#f0f0f5;--fg-secondary:#a0a0b0;--muted:#6b6b80;--accent:#e8462a;--accent-hover:#ff5a3c;--accent-dim:#e8462a22;--border:#2a2a38;--border-light:#353548;--success:#3dd68c;--danger:#ff4757;--shadow:0 4px 24px #0006;--shadow-lg:0 8px 40px #0009;--font-display:"Inter", system-ui, -apple-system, sans-serif;--font-body:"Inter", system-ui, -apple-system, sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-sm:6px;--radius:10px;--radius-lg:16px;--transition:.2s cubic-bezier(.4, 0, .2, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{background:var(--bg);color:var(--fg);font-family:var(--font-body);overscroll-behavior-y:none;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}#root{min-height:100dvh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}.app-header{z-index:100;background:var(--bg);border-bottom:1px solid var(--border);padding:var(--space-4) var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:max(var(--space-4), env(safe-area-inset-top));display:flex;position:sticky;top:0}.app-header h1{letter-spacing:-.02em;font-size:18px;font-weight:700}.app-header .header-actions{gap:var(--space-2);align-items:center;display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--fg);font-family:var(--font-body);cursor:pointer;transition:all var(--transition);white-space:nowrap;min-height:44px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-hover);border-color:var(--border-light)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface)}.btn-danger{border-color:var(--border);color:var(--danger);background:0 0}.btn-danger:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-icon{border-radius:var(--radius);width:44px;height:44px;color:var(--fg);cursor:pointer;transition:all var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.btn-icon:hover{background:var(--surface)}.btn-icon:active{transform:scale(.92)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.input{width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);color:var(--fg);font-family:var(--font-body);transition:border-color var(--transition);min-height:44px;font-size:16px}.input:focus{border-color:var(--accent);outline:none}.input::placeholder{color:var(--muted)}.label{color:var(--fg-secondary);margin-bottom:var(--space-2);font-size:13px;font-weight:600;display:block}.empty-state{text-align:center;padding:var(--space-10) var(--space-6);color:var(--muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state .empty-icon{width:64px;height:64px;margin-bottom:var(--space-4);opacity:.5}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:fadeIn var(--transition)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.safe-bottom{padding-bottom:env(safe-area-inset-bottom)}
