:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Space Grotesk", var(--font-sans);--font-mono: "JetBrains Mono", "SF Mono", "Consolas", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .02em;--space-0: 0;--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;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-bounce: .5s cubic-bezier(.68, -.55, .265, 1.55);--z-base: 0;--z-above: 10;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500;--z-max: 9999}[data-theme=dark]{--color-bg-base: #0a0a0a;--color-bg-subtle: #111111;--color-bg-muted: #1a1a1a;--color-bg-elevated: #222222;--color-bg-overlay: rgba(0, 0, 0, .8);--color-border: #2a2a2a;--color-border-muted: #1f1f1f;--color-border-accent: #3a3a3a;--color-text-primary: #fafafa;--color-text-secondary: #a1a1aa;--color-text-muted: #71717a;--color-text-disabled: #52525b;--color-success: #22c55e;--color-success-muted: #166534;--color-success-text: #4ade80;--color-warning: #f59e0b;--color-warning-muted: #92400e;--color-warning-text: #fbbf24;--color-error: #ef4444;--color-error-muted: #991b1b;--color-error-text: #f87171;--color-info: #3b82f6;--color-info-muted: #1e40af;--color-info-text: #60a5fa;--color-accent: #22c55e;--color-accent-hover: #16a34a;--color-accent-muted: rgba(34, 197, 94, .15);--color-accent-text: #4ade80;--color-focus-ring: rgba(34, 197, 94, .5);--color-hover: rgba(255, 255, 255, .05);--color-active: rgba(255, 255, 255, .1)}[data-theme=light]{--color-bg-base: #ffffff;--color-bg-subtle: #fafafa;--color-bg-muted: #f4f4f5;--color-bg-elevated: #ffffff;--color-bg-overlay: rgba(255, 255, 255, .9);--color-border: #e4e4e7;--color-border-muted: #f4f4f5;--color-border-accent: #d4d4d8;--color-text-primary: #18181b;--color-text-secondary: #52525b;--color-text-muted: #71717a;--color-text-disabled: #a1a1aa;--color-success: #16a34a;--color-success-muted: #dcfce7;--color-success-text: #166534;--color-warning: #d97706;--color-warning-muted: #fef3c7;--color-warning-text: #92400e;--color-error: #dc2626;--color-error-muted: #fee2e2;--color-error-text: #991b1b;--color-info: #2563eb;--color-info-muted: #dbeafe;--color-info-text: #1e40af;--color-accent: #16a34a;--color-accent-hover: #15803d;--color-accent-muted: rgba(22, 163, 74, .1);--color-accent-text: #166534;--color-focus-ring: rgba(22, 163, 74, .4);--color-hover: rgba(0, 0, 0, .03);--color-active: rgba(0, 0, 0, .05)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-primary);background-color:var(--color-bg-base);min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}code,pre{font-family:var(--font-mono)}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.container{width:100%;max-width:1200px;margin-inline:auto;padding-inline:var(--space-4)}.container-wide{width:100%;max-width:1600px;margin-inline:auto;padding-inline:var(--space-4)}.card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.card:hover{border-color:var(--color-border-accent)}.card-interactive{cursor:pointer}.card-interactive:hover{box-shadow:var(--shadow-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;line-height:1;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-secondary{background:var(--color-bg-muted);color:var(--color-text-primary);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-elevated);border-color:var(--color-border-accent)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-hover);color:var(--color-text-primary)}.btn-icon{padding:var(--space-2)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--text-base)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:500;border-radius:var(--radius-full);background:var(--color-bg-muted);color:var(--color-text-secondary)}.badge-success{background:var(--color-success-muted);color:var(--color-success-text)}.badge-warning{background:var(--color-warning-muted);color:var(--color-warning-text)}.badge-error{background:var(--color-error-muted);color:var(--color-error-text)}.badge-info{background:var(--color-info-muted);color:var(--color-info-text)}.data-value{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:700;letter-spacing:var(--tracking-tight);line-height:1}.data-label{font-size:var(--text-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.input{display:block;width:100%;padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-primary);background:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-focus-ring)}.input::placeholder{color:var(--color-text-muted)}.textarea{min-height:100px;resize:vertical}.skeleton{background:linear-gradient(90deg,var(--color-bg-muted) 25%,var(--color-bg-elevated) 50%,var(--color-bg-muted) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.status-dot{width:8px;height:8px;border-radius:var(--radius-full);display:inline-block}.status-dot-success{background:var(--color-success)}.status-dot-warning{background:var(--color-warning)}.status-dot-error{background:var(--color-error)}.status-dot-info{background:var(--color-info)}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:fade-in var(--transition-base) ease-out}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stagger-children>*{animation:fade-in var(--transition-base) ease-out backwards}.stagger-children>*:nth-child(1){animation-delay:0ms}.stagger-children>*:nth-child(2){animation-delay:50ms}.stagger-children>*:nth-child(3){animation-delay:.1s}.stagger-children>*:nth-child(4){animation-delay:.15s}.stagger-children>*:nth-child(5){animation-delay:.2s}.stagger-children>*:nth-child(6){animation-delay:.25s}
