:root,[data-theme=dark]{--bg:#0a0a0f;--bg-gradient:linear-gradient(135deg, #0a0a0f 0%, #12101f 50%, #0a0a0f 100%);--surface:#ffffff0a;--surface-2:#ffffff12;--border:#ffffff14;--border-hover:#ffffff24;--text:#f0f0f5;--text-muted:#6b6b80;--primary:#7c3aed;--primary-hover:#6d28d9;--primary-glow:#7c3aed40;--primary-subtle:#7c3aed1f;--success:#22c55e;--success-glow:#22c55e33;--warning:#f59e0b;--warning-glow:#f59e0b33;--danger:#ef4444;--danger-glow:#ef444440;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--transition:.2s ease}[data-theme=light]{--bg:#f8f9fa;--bg-gradient:linear-gradient(135deg, #fff 0%, #f3f4f6 50%, #fff 100%);--surface:#0000000a;--surface-2:#00000012;--border:#00000014;--border-hover:#00000024;--text:#1a1a2e;--text-muted:#6b6b80;--primary:#7c3aed;--primary-hover:#6d28d9;--primary-glow:#7c3aed40;--primary-subtle:#7c3aed1f;--success:#22c55e;--success-glow:#22c55e33;--warning:#f59e0b;--warning-glow:#f59e0b33;--danger:#ef4444;--danger-glow:#ef444440;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--transition:.2s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{background:var(--bg);background-image:var(--bg-gradient);color:var(--text);min-height:100vh;padding-bottom:env(safe-area-inset-bottom);overscroll-behavior:none;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5}button,a,[role=button]{-webkit-tap-highlight-color:transparent}button,[role=button]{touch-action:manipulation}nav,.navbar,button,[role=button]{-webkit-user-select:none;user-select:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}.card{background:var(--surface);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-lg);border:1px solid var(--border);transition:border-color var(--transition), box-shadow var(--transition);padding:20px}.card:hover{border-color:var(--border-hover)}.btn{border-radius:var(--radius-md);cursor:pointer;min-height:44px;transition:all var(--transition);border:none;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-family:inherit;font-size:.875rem;font-weight:600;line-height:1.4;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 0 20px var(--primary-glow)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 0 30px var(--primary-glow);transform:translateY(-1px)}.btn-danger{background:var(--danger);color:#fff;box-shadow:0 0 20px var(--danger-glow)}.btn-danger:hover:not(:disabled){box-shadow:0 0 30px var(--danger-glow);background:#dc2626;transform:translateY(-1px)}.btn-success{background:var(--success);color:#fff;box-shadow:0 0 20px var(--success-glow)}.btn-success:hover:not(:disabled){box-shadow:0 0 30px var(--success-glow);background:#16a34a;transform:translateY(-1px)}.btn-ghost{border:1px solid var(--border);color:var(--text-muted);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface);border-color:var(--border-hover);color:var(--text)}.btn-sm{border-radius:var(--radius-sm);padding:6px 14px;font-size:.8rem}.navbar{padding:max(14px, env(safe-area-inset-top)) 20px 14px;-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--border);z-index:100;background:#0a0a0fb3;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.badge{letter-spacing:.02em;border-radius:100px;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{color:var(--success);background:#22c55e26}.badge-warning{color:var(--warning);background:#f59e0b26}.badge-danger{color:var(--danger);background:#ef444426}.badge-primary{background:var(--primary-subtle);color:#a78bfa}.badge-muted{background:var(--surface-2);color:var(--text-muted)}.avatar{background:linear-gradient(135deg, var(--primary), #a855f7);color:#fff;text-transform:uppercase;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:.95rem;font-weight:700;display:flex}.avatar-sm{width:32px;height:32px;font-size:.8rem}.avatar-lg{width:52px;height:52px;font-size:1.25rem}input,select,textarea{border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);transition:all var(--transition);outline:none;padding:12px 16px;font-family:inherit;font-size:16px}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}select{appearance:none;cursor:pointer}textarea{resize:vertical;min-height:80px}.loading{justify-content:center;align-items:center;min-height:200px;display:flex}.loading:after{content:"";border:2.5px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes glow-pulse{0%,to{box-shadow:0 0 20px var(--danger-glow)}50%{box-shadow:0 0 40px var(--danger-glow), 0 0 60px #ef44441a}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.4s ease-out fade-in}.text-gradient{background:linear-gradient(135deg,#7c3aed,#a855f7,#c084fc);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.theme-toggle{border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);width:44px;height:44px;color:var(--text);cursor:pointer;transition:all var(--transition);z-index:1000;justify-content:center;align-items:center;padding:0;font-size:1.5rem;display:flex;position:fixed;top:1rem;right:1rem}.theme-toggle:hover{background:var(--surface-2);border-color:var(--border-hover);transform:scale(1.05)}.theme-toggle:active{transform:scale(.95)}@media (width<=768px){.theme-toggle{top:auto;bottom:1rem}}
