:root{--bg: #070C17;--bg-2: #0F1623;--elevated: #161D2E;--border: #1E2A3D;--accent: #6366F1;--accent-deep: #4F46E5;--accent-light: #818CF8;--text: #EFF3F9;--text-2: #8FA3BE;--success: #10B981;--warning: #F59E0B;--danger: #EF4444;--text-3: #3D5A7A;--border-2: #2A4067;--surface: #0D1828;--font-sans: "Inter", system-ui, sans-serif;--font-serif: "Fraunces", Georgia, serif;--font-mono: "JetBrains Mono", monospace;--radius: 12px;--radius-sm: 8px;--radius-lg: 20px;--shadow-card: 0 4px 24px rgba(0, 0, 0, .4);--shadow-glow: 0 0 24px rgba(99, 102, 241, .3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--accent-light);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-2)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}.grad-text{background:linear-gradient(135deg,var(--accent-light),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:14px;font-weight:600;cursor:pointer;border:none;transition:opacity .15s,transform .1s,box-shadow .15s}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff;box-shadow:0 0 #6366f100}.btn-primary:hover{box-shadow:var(--shadow-glow)}.btn-outline{background:transparent;color:var(--text);border:1.5px solid var(--border)}.btn-outline:hover{border-color:var(--accent);color:var(--accent-light)}.btn-ghost{background:transparent;color:var(--text-2)}.btn-ghost:hover{color:var(--text);background:var(--elevated)}.btn-danger{background:var(--danger);color:#fff}.topbar-btn{display:inline-flex;align-items:center;height:32px;padding:0 14px;background:transparent;border:1px solid #1C2E47;border-radius:8px;font-size:12.5px;font-weight:600;color:#8fa3be;cursor:pointer;font-family:var(--font-sans);transition:border-color .15s,color .15s;gap:6px}.topbar-btn:hover{border-color:#2a4067;color:var(--text)}.topbar-btn-primary{display:inline-flex;align-items:center;height:32px;padding:0 14px;background:#6366f11a;border:1px solid rgba(99,102,241,.2);border-radius:8px;font-size:12.5px;font-weight:600;color:#818cf8;cursor:pointer;font-family:var(--font-sans);transition:background .15s,box-shadow .15s;gap:6px}.topbar-btn-primary:hover{background:#6366f12e;box-shadow:0 0 0 1px #6366f14d}.card{background:var(--elevated);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;border:1px solid currentColor}.input-field{width:100%;background:var(--bg-2);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;color:var(--text);font-family:var(--font-sans);font-size:14px;transition:border-color .15s;outline:none}.input-field::placeholder{color:var(--text-2)}.input-field:focus{border-color:var(--accent)}.pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;border-radius:24px;border:1.5px solid var(--border);background:var(--elevated);color:var(--text-2);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;white-space:nowrap;font-family:var(--font-sans)}.pill:hover{border-color:var(--accent);color:var(--accent-light)}.pill.sel{background:linear-gradient(135deg,var(--accent),var(--accent-deep));border-color:transparent;color:#fff;box-shadow:0 0 16px #6366f159}.domain-tag{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:8px;border:1.5px solid var(--border);background:var(--elevated);color:var(--text-2);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.domain-tag .dot{width:6px;height:6px;border-radius:50%;background:var(--text-2);transition:background .15s,box-shadow .15s}.domain-tag.sel{background:#6366f126;border-color:var(--accent);color:var(--accent-light)}.domain-tag.sel .dot{background:var(--accent);box-shadow:0 0 6px var(--accent)}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes wave{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.waveform-bar{width:3px;border-radius:3px;background:var(--accent);animation:wave .8s ease-in-out infinite}@keyframes pulse-ring{0%{transform:scale(1);opacity:.6}to{transform:scale(1.7);opacity:0}}.pulse-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#ef44444d;animation:pulse-ring 1.5s ease-out infinite}.progress-bar{height:3px;background:var(--border);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-light));border-radius:2px;transition:width .4s ease}@media (max-width: 640px){.mobile-hidden{display:none!important}.topbar-btn,.topbar-btn-primary{padding:0 10px;font-size:11.5px}.mobile-stack{flex-direction:column!important}.mobile-full{width:100%!important}.mobile-center{text-align:center!important;justify-content:center!important}.mobile-pad{padding:20px 16px!important}.section-px{padding-left:16px!important;padding-right:16px!important}.card{padding:14px}}.grad-border{position:relative;border-radius:var(--radius);background:var(--elevated)}.grad-border:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius);padding:1.5px;background:linear-gradient(135deg,var(--accent),var(--accent-deep));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
