:root{--color-bg-base: #0d1117;--color-bg-surface: #161b22;--color-bg-elevated: #1c2128;--color-bg-overlay: #21262d;--color-bg-hover: #30363d;--color-border: #30363d;--color-border-subtle: #21262d;--color-border-muted: #484f58;--color-text-primary: #e6edf3;--color-text-secondary: #8b949e;--color-text-muted: #6e7681;--color-text-disabled: #484f58;--color-blue-50: #cae8ff;--color-blue-100: #a5d6ff;--color-blue-200: #79c0ff;--color-blue-300: #58a6ff;--color-blue-400: #388bfd;--color-blue-500: #1f6feb;--color-blue-600: #1158c7;--color-blue-700: #0d419d;--color-cyan-300: #39d5ff;--color-cyan-400: #00b4d8;--color-cyan-500: #0096b7;--color-green-300: #7ee787;--color-green-400: #3fb950;--color-green-500: #238636;--color-yellow-300: #f0c040;--color-yellow-400: #d29922;--color-orange-300: #ffa657;--color-orange-400: #e3811e;--color-red-300: #ff7b72;--color-red-400: #f85149;--color-red-500: #da3633;--color-purple-300: #d2a8ff;--color-purple-400: #bc8cff;--color-primary: var(--color-blue-400);--color-secondary: var(--color-cyan-400);--color-success: var(--color-green-400);--color-warning: var(--color-orange-300);--color-error: var(--color-red-400);--sidebar-width: 240px;--sidebar-width-collapsed: 64px;--topnav-height: 60px;--content-max-width: 1600px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--font-sans: "Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", 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;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .6);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-dropdown: 100;--z-modal: 200;--z-toast: 300;--z-topnav: 50;--z-sidebar: 40}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background-color:var(--color-bg-base);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold);line-height:1.3;color:var(--color-text-primary)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}h5{font-size:var(--text-base)}h6{font-size:var(--text-sm)}p{color:var(--color-text-secondary)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-blue-300)}code,pre{font-family:var(--font-mono);font-size:var(--text-sm)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-bg-surface)}::-webkit-scrollbar-thumb{background:var(--color-border-muted);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--color-blue-700);color:var(--color-blue-50)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono{font-family:var(--font-mono)}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--color-border-subtle)}.recharts-tooltip-wrapper .recharts-default-tooltip{background:var(--color-bg-elevated)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-lg)!important}.recharts-default-tooltip .recharts-tooltip-label{color:var(--color-text-secondary)!important;font-size:var(--text-xs)!important}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-fade-in{animation:fadeIn .2s ease forwards}.page-enter{animation:fadeIn .15s ease forwards}
