:root{--font-display: "Outfit", sans-serif;--font-body: "Inter", sans-serif;--bg-dark: #f8fafc;--bg-surface: #ffffff;--bg-card: rgba(255, 255, 255, .95);--bg-card-hover: #ffffff;--bg-header: rgba(255, 255, 255, .9);--border-glass: rgba(203, 213, 225, .8);--border-glass-hover: rgba(148, 163, 184, .8);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--accent-cyan: #0284c7;--accent-cyan-hover: #0369a1;--accent-violet: #7c3aed;--accent-emerald: #059669;--accent-amber: #d97706;--accent-rose: #e11d48;--shadow-lg: 0 10px 25px -5px rgba(15, 23, 42, .08), 0 8px 10px -6px rgba(15, 23, 42, .04)}[data-theme=dark]{--bg-dark: #07090e;--bg-surface: #0f172a;--bg-card: rgba(30, 41, 59, .7);--bg-card-hover: rgba(51, 65, 85, .8);--bg-header: rgba(15, 23, 42, .85);--border-glass: rgba(255, 255, 255, .1);--border-glass-hover: rgba(255, 255, 255, .2);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--accent-cyan: #06b6d4;--accent-cyan-hover: #0891b2;--accent-violet: #8b5cf6;--accent-emerald: #10b981;--accent-amber: #f59e0b;--accent-rose: #f43f5e;--shadow-lg: 0 10px 25px -5px rgba(0, 0, 0, .4), 0 8px 10px -6px rgba(0, 0, 0, .3)}*{margin:0;padding:0;box-sizing:border-box}body{min-height:100vh;background-color:var(--bg-dark);color:var(--text-primary);font-family:var(--font-body);background-image:radial-gradient(at 0% 0%,rgba(6,182,212,.08) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(139,92,246,.08) 0px,transparent 50%);background-attachment:fixed;transition:background-color .3s ease,color .3s ease}button{font-family:inherit;cursor:pointer;border:none;outline:none}input,select{font-family:inherit;outline:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172aa6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);WebkitBackdropFilter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal-content{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-glass);border-radius:20px;box-shadow:var(--shadow-lg);width:100%;max-width:520px;padding:28px;position:relative;transition:background-color .3s ease,color .3s ease}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}
