:root{--bg-0: #f3f6fb;--bg-1: #e8edf7;--bg-2: #dde5f4;--surface: #ffffff;--surface-soft: #f7f9fc;--surface-elevated: #fafbfd;--surface-strong: #0f172a;--ink-1: #0b1220;--ink-2: #334155;--ink-3: #64748b;--ink-4: #94a3b8;--line: #dbe4f1;--line-strong: #c4d0e3;--line-subtle: #e8eef7;--brand: #1769ff;--brand-strong: #0f4fe0;--brand-light: #3b82f6;--brand-subtle: #dbeafe;--accent: #14b8a6;--accent-strong: #0d9488;--accent-light: #2dd4bf;--success: #10b981;--success-light: #34d399;--success-subtle: #d1fae5;--warn: #f59e0b;--warn-light: #fbbf24;--warn-subtle: #fef3c7;--danger: #ef4444;--danger-light: #f87171;--danger-subtle: #fee2e2;--info: #06b6d4;--info-light: #22d3ee;--info-subtle: #cffafe;--chart-1: #2563eb;--chart-2: #dc2626;--chart-3: #f59e0b;--chart-4: #14b8a6;--chart-5: #8b5cf6;--chart-6: #ec4899;--chart-7: #0891b2;--chart-8: #16a34a;--chart-9: #f97316;--chart-10: #7c3aed;--gradient-brand: linear-gradient(135deg, #1769ff 0%, #06b6d4 100%);--gradient-accent: linear-gradient(135deg, #14b8a6 0%, #10b981 100%);--gradient-warm: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);--gradient-cool: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);--gradient-shimmer: linear-gradient(90deg, transparent, rgba(255,255,255,.4), transparent);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 22px;--radius-2xl: 28px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .05);--shadow-sm: 0 2px 8px rgba(15, 23, 42, .08);--shadow-md: 0 8px 20px rgba(15, 23, 42, .12);--shadow-lg: 0 18px 42px rgba(15, 23, 42, .16);--shadow-xl: 0 24px 60px rgba(15, 23, 42, .2);--shadow-2xl: 0 32px 80px rgba(15, 23, 42, .24);--shadow-glow: 0 0 30px rgba(23, 105, 255, .3);--shadow-glow-strong: 0 0 40px rgba(23, 105, 255, .5);--shadow-card: 0 18px 42px rgba(15, 23, 42, .1);--shadow-elevated: 0 8px 24px rgba(15, 23, 42, .14);--font-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Sora", var(--font-sans);--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--text-xs: .625rem;--text-sm: .75rem;--text-base: .875rem;--text-lg: 1rem;--text-xl: 1.125rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .05em;--tracking-wider: .1em;--tracking-widest: .2em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--focus: 0 0 0 3px rgba(23, 105, 255, .24);--focus-strong: 0 0 0 4px rgba(23, 105, 255, .32);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.68, -.55, .265, 1.55);--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-tooltip: 500}*{box-sizing:border-box}html,body,#root{width:100%;height:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--ink-1);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 10% -10%,rgba(23,105,255,.16),transparent 42%),radial-gradient(circle at 100% 0%,rgba(20,184,166,.12),transparent 48%),radial-gradient(circle at 50% 100%,rgba(139,92,246,.08),transparent 50%),linear-gradient(165deg,var(--bg-0),var(--bg-1));background-attachment:fixed}.app-shell{min-height:100%}.glass-nav{background:#0f172aeb;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 4px 24px #0000001f}.panel-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);transition:all var(--transition-base)}.panel-card:hover{box-shadow:var(--shadow-elevated);transform:translateY(-1px)}.panel-soft{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-lg);transition:all var(--transition-base)}.panel-elevated{background:var(--surface-elevated);border:1px solid var(--line-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-elevated)}.panel-glass{background:#ffffffb3;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.8);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.focus-ring:focus-visible{outline:none;box-shadow:var(--focus);transition:box-shadow var(--transition-fast)}.focus-ring-strong:focus-visible{outline:none;box-shadow:var(--focus-strong)}.btn-primary{background:var(--gradient-brand);color:#fff;font-weight:700;padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);border:none;box-shadow:var(--shadow-sm),0 0 20px #1769ff33;transition:all var(--transition-base);cursor:pointer}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-md),0 0 30px #1769ff4d}.btn-primary:active{transform:translateY(0)}.fade-up{animation:fade-up .36s cubic-bezier(.4,0,.2,1)}.fade-in{animation:fade-in .4s cubic-bezier(.4,0,.2,1)}.slide-up{animation:slide-up .45s cubic-bezier(.4,0,.2,1)}.slide-down{animation:slide-down .45s cubic-bezier(.4,0,.2,1)}.scale-in{animation:scale-in .3s cubic-bezier(.4,0,.2,1)}.pulse-glow{animation:pulse-glow 2s cubic-bezier(.4,0,.6,1) infinite}.shimmer{animation:shimmer 2s linear infinite;background:linear-gradient(90deg,var(--surface-soft) 0%,var(--surface-elevated) 50%,var(--surface-soft) 100%);background-size:200% 100%}.bounce-in{animation:bounce-in var(--transition-bounce)}.stagger-fade-up{animation:fade-up .4s cubic-bezier(.4,0,.2,1)}.stagger-fade-up:nth-child(1){animation-delay:0ms}.stagger-fade-up:nth-child(2){animation-delay:50ms}.stagger-fade-up:nth-child(3){animation-delay:.1s}.stagger-fade-up:nth-child(4){animation-delay:.15s}.stagger-fade-up:nth-child(5){animation-delay:.2s}.stagger-fade-up:nth-child(6){animation-delay:.25s}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #1769ff4d}50%{box-shadow:0 0 40px #1769ff99}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bounce-in{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--surface-soft) 25%,var(--surface-elevated) 50%,var(--surface-soft) 75%);background-size:200% 100%;animation:shimmer 2s ease-in-out infinite;border-radius:var(--radius-md)}.skeleton-text{height:1em;margin-bottom:var(--space-2)}.skeleton-circle{border-radius:var(--radius-full)}.hover-lift{transition:all var(--transition-base)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.hover-grow{transition:transform var(--transition-base)}.hover-grow:hover{transform:scale(1.05)}.gradient-text{background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.frosted-glass{background:#fff9;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid rgba(255,255,255,.7)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#b7c4d8,#8ea2c0);border-radius:var(--radius-full);border:2px solid transparent;background-clip:padding-box;transition:background var(--transition-base)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#8ea2c0,#6b8bb3);background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}@media (max-width: 768px){:root{--text-xs: .625rem;--text-sm: .6875rem;--text-base: .8125rem;--text-lg: .9375rem;--text-xl: 1rem;--text-2xl: 1.25rem;--text-3xl: 1.75rem}}@media print{.glass-nav,.panel-card,.panel-soft{box-shadow:none;border:1px solid var(--line-strong)}.fade-up,.fade-in,.slide-up,.scale-in{animation:none}}
