:root{--font-sans: "Inter var", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Menlo, Consolas, monospace;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.25rem;--text-xl: 1.75rem;--text-2xl: 2.25rem;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--sp-12: 3rem;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-full: 999px;--shell-sidebar: 244px;--shell-topbar: 60px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .12s;--dur: .22s;--dur-slow: .42s;--viz-1: #6366f1;--viz-2: #06b6d4;--viz-3: #f59e0b;--viz-4: #ec4899;--viz-5: #10b981;--viz-6: #8b5cf6;--viz-7: #f43f5e;--viz-8: #14b8a6}:root,:root[data-theme=dark]{color-scheme:dark;--bg: #08090c;--bg-elevated: #0d0f14;--surface: #111318;--surface-hover: #16191f;--surface-active: #1b1f27;--border: #1e232c;--border-strong: #2a303b;--fg: #eef1f6;--fg-muted: #9aa3b2;--fg-subtle: #626b7b;--accent: #6366f1;--accent-hover: #7c7ff3;--accent-fg: #ffffff;--accent-soft: rgba(99, 102, 241, .14);--positive: #34d399;--positive-soft: rgba(52, 211, 153, .13);--negative: #fb7185;--negative-soft: rgba(251, 113, 133, .13);--warning: #fbbf24;--warning-soft: rgba(251, 191, 36, .13);--grid-line: rgba(255, 255, 255, .055);--shadow-card: 0 1px 2px rgba(0, 0, 0, .5);--shadow-pop: 0 16px 40px -12px rgba(0, 0, 0, .75);--glow: radial-gradient( 600px circle at var(--mx, 50%) var(--my, 0%), rgba(99, 102, 241, .09), transparent 42% )}:root[data-theme=light]{color-scheme:light;--bg: #f7f8fa;--bg-elevated: #ffffff;--surface: #ffffff;--surface-hover: #f4f5f8;--surface-active: #eceef3;--border: #e4e7ec;--border-strong: #d2d7e0;--fg: #11151c;--fg-muted: #5b6472;--fg-subtle: #8b94a3;--accent: #4f46e5;--accent-hover: #4338ca;--accent-fg: #ffffff;--accent-soft: rgba(79, 70, 229, .09);--positive: #059669;--positive-soft: rgba(5, 150, 105, .1);--negative: #e11d48;--negative-soft: rgba(225, 29, 72, .09);--warning: #d97706;--warning-soft: rgba(217, 119, 6, .1);--grid-line: rgba(17, 21, 28, .07);--shadow-card: 0 1px 2px rgba(17, 21, 28, .05), 0 1px 3px rgba(17, 21, 28, .04);--shadow-pop: 0 16px 40px -12px rgba(17, 21, 28, .18);--glow: radial-gradient( 600px circle at var(--mx, 50%) var(--my, 0%), rgba(79, 70, 229, .05), transparent 42% )}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums;transition:background-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}h1,h2,h3,h4,p,figure{margin:0}button{font:inherit;color:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid transparent;background-clip:content-box;border-radius:var(--radius-full)}*::-webkit-scrollbar-thumb:hover{background:var(--fg-subtle);background-clip:content-box}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border)}.card-title{font-size:var(--text-sm);font-weight:600;letter-spacing:.01em}.card-subtitle{font-size:var(--text-xs);color:var(--fg-subtle)}.section-label{font-size:var(--text-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-subtle)}.delta{display:inline-flex;align-items:center;gap:3px;padding:2px var(--sp-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;font-variant-numeric:tabular-nums}.delta.is-up{color:var(--positive);background:var(--positive-soft)}.delta.is-down{color:var(--negative);background:var(--negative-soft)}.delta.is-flat{color:var(--fg-subtle);background:var(--surface-active)}.chip{display:inline-flex;align-items:center;gap:var(--sp-2);padding:3px var(--sp-3);border-radius:var(--radius-full);border:1px solid var(--border);font-size:var(--text-xs);font-weight:500;color:var(--fg-muted);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:32px;padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--fg-muted);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.btn:hover{background:var(--surface-hover);color:var(--fg);border-color:var(--border-strong)}.btn.is-active{background:var(--accent-soft);border-color:transparent;color:var(--accent)}.btn-icon{width:32px;padding:0}.skeleton{position:relative;overflow:hidden;background:var(--surface-active);border-radius:var(--radius-sm)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--surface-hover),transparent);animation:shimmer 1.4s infinite}@keyframes shimmer{to{transform:translate(100%)}}@keyframes rise{0%{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:none}}.rise{animation:rise var(--dur-slow) var(--ease-out) both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}::view-transition-old(root){animation:vt-out 90ms var(--ease-in-out) both}::view-transition-new(root){animation:vt-in .2s var(--ease-out) both}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0;transform:translate3d(0,6px,0)}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
