*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--accent: #7c3aed;--accent-light: #ede9fe;--accent-dark: #5b21b6;--text: #111827;--text-secondary: #374151;--text-muted2: #9ca3af;--muted: #6b7280;--border: #e5e7eb;--bg: #f5f3ff;--surface: #ffffff;--bg-accent-subtle: #f5f3ff;--border-accent: #ddd6fe;--color-tag: #7c3aed;--radius: 12px;--shadow: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -2px rgba(0,0,0,.1)}.dark{--text: #f0f0f8;--text-secondary: #c4b5fd;--text-muted2: #6b7280;--muted: #8888aa;--border: rgba(139,92,246,.18);--bg: #0a0a0f;--surface: #1c1c28;--accent: #8b5cf6;--accent-light: #a78bfa;--accent-dark: #7c3aed;--bg-accent-subtle: #1e1b2e;--border-accent: #3b2d6b;--color-tag: #a78bfa;--shadow: 0 1px 3px rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.4), 0 2px 4px -2px rgba(0,0,0,.3)}body{font-family:DM Sans,system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}button{cursor:pointer;border:none;background:none;font-family:inherit}input,textarea{font-family:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#6d28d9;border-radius:3px}.dark ::-webkit-scrollbar-thumb{background:#4c1d95}.btn-primary{background:var(--accent);color:#fff;padding:10px 20px;border-radius:8px;font-weight:600;font-size:.95rem;transition:background .15s}.btn-primary:hover{background:var(--accent-dark)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{color:var(--muted);padding:8px 16px;border-radius:8px;font-size:.9rem;transition:background .15s}.btn-ghost:hover{background:var(--surface)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);transition:border-color .15s,box-shadow .15s,transform .15s}.card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.input{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:.95rem;outline:none;transition:border-color .15s,box-shadow .15s;background:var(--surface);color:var(--text)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #8b5cf61f}.btn-ghost:disabled{opacity:.35;cursor:not-allowed}@media (max-width: 768px){.hide-mobile{display:none!important}}@media (min-width: 769px){.hide-desktop{display:none!important}}
