@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root,[data-theme=dark]{--bg-main:#090d16;--bg-card:#111827;--bg-card-subtle:#162032;--bg-card-hover:#172033;--bg-subtle:#ffffff08;--border-color:#1f293d;--border-subtle:#ffffff14;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--card-shadow:0 4px 20px -2px #0006;--color-green:#10b981;--color-red:#ef4444;--color-blue:#3b82f6;--color-cyan:#06b6d4;--color-amber:#f59e0b;--color-purple:#8b5cf6;--badge-green-bg:#10b98126;--badge-green-text:#34d399;--badge-green-border:#10b9814d;--badge-red-bg:#ef444426;--badge-red-text:#f87171;--badge-red-border:#ef44444d;--badge-blue-bg:#3b82f626;--badge-blue-text:#60a5fa;--badge-blue-border:#3b82f64d;--badge-cyan-bg:#06b6d426;--badge-cyan-text:#22d3ee;--badge-cyan-border:#06b6d44d;--badge-amber-bg:#f59e0b26;--badge-amber-text:#fbbf24;--badge-amber-border:#f59e0b4d;--badge-purple-bg:#8b5cf626;--badge-purple-text:#a78bfa;--badge-purple-border:#8b5cf64d;--code-bg:#050811;--code-text:#cbd5e1;--progress-track:#ffffff0f;--dropzone-bg:#11182780;--dropzone-hover-bg:#3b82f60d;--table-header-bg:#ffffff08;--table-border:#1f293d99;--table-row-hover:#ffffff05;--loading-ara-bg:linear-gradient(135deg, #2563eb1f, #0f172af2);--loading-fpa-bg:linear-gradient(135deg, #8b5cf61f, #0f172af2);--wme-card-bg:linear-gradient(135deg, #06b6d414, #3b82f60d);--kbd-bg:#ffffff1a;--alert-red-bg:#ef44441f;--alert-red-border:#ef444466}[data-theme=light]{--bg-main:#f1f5f9;--bg-card:#fff;--bg-card-subtle:#f8fafc;--bg-card-hover:#f1f5f9;--bg-subtle:#f8fafc;--border-color:#cbd5e1;--border-subtle:#e2e8f0;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--card-shadow:0 4px 16px -2px #0000000f, 0 1px 3px #0000000a;--color-green:#059669;--color-red:#dc2626;--color-blue:#2563eb;--color-cyan:#0891b2;--color-amber:#d97706;--color-purple:#7c3aed;--badge-green-bg:#ecfdf5;--badge-green-text:#047857;--badge-green-border:#a7f3d0;--badge-red-bg:#fef2f2;--badge-red-text:#b91c1c;--badge-red-border:#fecaca;--badge-blue-bg:#eff6ff;--badge-blue-text:#1d4ed8;--badge-blue-border:#bfdbfe;--badge-cyan-bg:#ecfeff;--badge-cyan-text:#0e7490;--badge-cyan-border:#a5f3fc;--badge-amber-bg:#fffbeb;--badge-amber-text:#b45309;--badge-amber-border:#fde68a;--badge-purple-bg:#f5f3ff;--badge-purple-text:#6d28d9;--badge-purple-border:#ddd6fe;--code-bg:#0f172a;--code-text:#e2e8f0;--progress-track:#e2e8f0;--dropzone-bg:#f8fafc;--dropzone-hover-bg:#2563eb0d;--table-header-bg:#f8fafc;--table-border:#e2e8f0;--table-row-hover:#f1f5f9;--loading-ara-bg:linear-gradient(135deg, #2563eb14, #f8fafcfa);--loading-fpa-bg:linear-gradient(135deg, #7c3aed14, #f8fafcfa);--wme-card-bg:linear-gradient(135deg, #0891b214, #2563eb0f);--kbd-bg:#e2e8f0;--alert-red-bg:#fef2f2;--alert-red-border:#fca5a5}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-main);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;transition:background-color .2s,color .2s}code,pre,.mono{font-family:JetBrains Mono,monospace}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.app-container{max-width:1440px;margin:0 auto;padding:1.25rem}.card{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--card-shadow);border-radius:.75rem;padding:1.25rem;transition:background-color .2s,border-color .2s,box-shadow .2s}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);transform:translateY(-1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.75rem;font-weight:600;transition:all .2s;display:inline-flex}.badge-green{background:var(--badge-green-bg);color:var(--badge-green-text);border:1px solid var(--badge-green-border)}.badge-red{background:var(--badge-red-bg);color:var(--badge-red-text);border:1px solid var(--badge-red-border)}.badge-blue{background:var(--badge-blue-bg);color:var(--badge-blue-text);border:1px solid var(--badge-blue-border)}.badge-cyan{background:var(--badge-cyan-bg);color:var(--badge-cyan-text);border:1px solid var(--badge-cyan-border)}.badge-amber{background:var(--badge-amber-bg);color:var(--badge-amber-text);border:1px solid var(--badge-amber-border)}.badge-purple{background:var(--badge-purple-bg);color:var(--badge-purple-text);border:1px solid var(--badge-purple-border)}.grid-2{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}@media (width<=1024px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.custom-table{border-collapse:collapse;width:100%;font-size:.875rem}.custom-table th{background:var(--table-header-bg);color:var(--text-muted);text-align:left;border-bottom:1px solid var(--border-color);padding:.75rem 1rem;font-weight:600}.custom-table td{border-bottom:1px solid var(--table-border);padding:.75rem 1rem}.custom-table tr:hover td{background:var(--table-row-hover)}.dropzone{border:2px dashed var(--border-color);text-align:center;background:var(--dropzone-bg);cursor:pointer;border-radius:.75rem;padding:2rem 1.5rem;transition:all .2s}.dropzone:hover,.dropzone.active{border-color:var(--color-blue);background:var(--dropzone-hover-bg)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1.2s linear infinite spin}@keyframes pulseGlow{0%,to{opacity:.6;transform:scale(.99)}50%{opacity:1;transform:scale(1.01)}}.pulse-glow{animation:2s ease-in-out infinite pulseGlow}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer-bar{background:linear-gradient(90deg,#3b82f626 0%,#60a5facc 50%,#3b82f626 100%) 0 0/200% 100%;animation:1.8s infinite shimmer}
