@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+TC:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--neutral-0:oklch(100% 0 0);--neutral-25:oklch(97.8% .003 248);--neutral-50:oklch(95.9% .006 240);--neutral-100:oklch(92.8% .008 242);--neutral-200:oklch(86.9% .012 240);--neutral-300:oklch(79.1% .015 245);--neutral-400:oklch(72.1% .02 238);--neutral-500:oklch(62.6% .021 241);--neutral-600:oklch(53.9% .021 243);--neutral-700:oklch(46.5% .023 246);--neutral-800:oklch(33% .022 243);--neutral-850:oklch(28.8% .018 242);--neutral-900:oklch(21.8% .013 244);--neutral-925:oklch(20% .012 237);--neutral-950:oklch(17.5% .009 240);--blue-100:oklch(93.2% .022 239);--blue-200:oklch(88.2% .037 241);--blue-300:oklch(80.7% .064 241);--blue-400:oklch(74.6% .082 244);--blue-500:oklch(69.6% .085 245);--blue-600:oklch(64.5% .091 246);--blue-700:oklch(50.7% .098 245);--blue-800:oklch(41.4% .082 246);--otter-100:oklch(93.3% .027 69);--otter-200:oklch(84.5% .07 67);--otter-300:oklch(79.1% .078 61);--otter-400:oklch(72.9% .094 62);--otter-500:oklch(67% .103 59);--otter-600:oklch(62.2% .103 68);--otter-700:oklch(54.8% .087 60);--otter-800:oklch(46.8% .076 59);--green-300:oklch(76% .119 158);--green-700:oklch(48.5% .108 158);--red-300:oklch(71% .14 22);--red-700:oklch(52% .16 25);--font-sans:"Inter", "Noto Sans TC", -apple-system, BlinkMacSystemFont, "PingFang TC", "Microsoft JhengHei", sans-serif;--font-serif:"Source Serif 4", "Noto Serif TC", Georgia, serif;--font-mono:"JetBrains Mono", "SF Mono", ui-monospace, Menlo, 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;--text-6xl:3.75rem;--text-display:clamp(2.5rem, 1.5rem + 4vw, 4.5rem);--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.15;--leading-snug:1.35;--leading-normal:1.6;--leading-relaxed:1.8;--tracking-tight:-.025em;--tracking-normal:0;--tracking-wide:.06em;--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;--space-24:6rem;--space-32:8rem;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;--duration-fast:.12s;--duration-base:.18s;--duration-slow:.26s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--container-prose:960px;--container-figure:960px;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1200px;--container-2xl:1400px;--z-dropdown:1000;--z-sticky:1100;--z-overlay:1200;--z-modal:1300;--z-toast:1400;--z-tooltip:1500;color-scheme:light;--color-bg:var(--neutral-25);--color-bg-subtle:var(--neutral-50);--color-bg-muted:var(--neutral-100);--color-surface:var(--neutral-0);--color-surface-raised:var(--neutral-0);--color-surface-hover:color-mix(in oklch, var(--neutral-950) 4%, transparent);--color-surface-active:color-mix(in oklch, var(--neutral-950) 7%, transparent);--color-overlay:color-mix(in oklch, var(--neutral-950) 45%, transparent);--color-text:var(--neutral-950);--color-text-prose:var(--neutral-800);--color-text-secondary:var(--neutral-700);--color-text-tertiary:var(--neutral-600);--color-text-disabled:var(--neutral-300);--color-text-inverse:var(--neutral-0);--color-text-link:var(--blue-700);--color-border:color-mix(in oklch, var(--neutral-950) 10%, transparent);--color-border-strong:color-mix(in oklch, var(--neutral-950) 18%, transparent);--color-border-subtle:color-mix(in oklch, var(--neutral-950) 6%, transparent);--color-accent:var(--blue-700);--color-accent-hover:var(--blue-800);--color-accent-subtle:color-mix(in oklch, var(--blue-500) 14%, transparent);--color-accent-text:var(--blue-700);--color-on-accent:var(--neutral-0);--color-accent-2:var(--otter-800);--color-focus-ring:color-mix(in oklch, var(--blue-600) 55%, transparent);--color-success:var(--green-700);--color-success-subtle:color-mix(in oklch, var(--green-700) 10%, transparent);--color-warning:var(--otter-800);--color-warning-subtle:color-mix(in oklch, var(--otter-400) 16%, transparent);--color-danger:var(--red-700);--color-danger-subtle:color-mix(in oklch, var(--red-700) 9%, transparent);--color-info:var(--blue-700);--color-info-subtle:color-mix(in oklch, var(--blue-500) 14%, transparent);--color-up:var(--green-700);--color-down:var(--red-700);--color-up-subtle:var(--color-success-subtle);--color-down-subtle:var(--color-danger-subtle);--chart-1:var(--blue-600);--chart-2:var(--otter-600);--chart-3:var(--blue-800);--chart-4:var(--otter-800);--chart-5:var(--neutral-500);--chart-grid:color-mix(in oklch, var(--neutral-950) 7%, transparent);--chart-axis:var(--neutral-600);--chart-heat-max:65%;--shadow-xs:0 1px 2px color-mix(in oklch, var(--neutral-950) 6%, transparent);--shadow-sm:0 1px 2px color-mix(in oklch, var(--neutral-950) 5%, transparent), 0 2px 6px color-mix(in oklch, var(--neutral-950) 6%, transparent);--shadow-md:0 2px 4px color-mix(in oklch, var(--neutral-950) 4%, transparent), 0 8px 24px color-mix(in oklch, var(--neutral-950) 8%, transparent);--shadow-lg:0 4px 8px color-mix(in oklch, var(--neutral-950) 4%, transparent), 0 16px 40px color-mix(in oklch, var(--neutral-950) 10%, transparent);--shadow-xl:0 8px 16px color-mix(in oklch, var(--neutral-950) 6%, transparent), 0 32px 72px color-mix(in oklch, var(--neutral-950) 14%, transparent);--gradient-brand:linear-gradient(135deg, var(--blue-600), var(--blue-800));--gradient-text:linear-gradient(180deg, var(--color-text) 35%, color-mix(in oklch, var(--color-text) 55%, var(--blue-500)));--gradient-border:linear-gradient(135deg, color-mix(in oklch, var(--blue-500) 55%, transparent), color-mix(in oklch, var(--otter-400) 35%, transparent) 50%, transparent 80%);--glow-brand:color-mix(in oklch, var(--blue-500) 30%, transparent);--glow-accent-2:color-mix(in oklch, var(--otter-400) 22%, transparent);--aurora:radial-gradient(60% 50% at 20% 0%, var(--glow-brand), transparent 70%), radial-gradient(50% 45% at 85% 5%, var(--glow-accent-2), transparent 70%);--glass-bg:linear-gradient(180deg, oklch(100% 0 0/.75), oklch(100% 0 0/.55));--glass-border:color-mix(in oklch, var(--neutral-950) 8%, transparent);--glass-highlight:inset 0 1px 0 oklch(100% 0 0/.9);--glass-blur:16px;--spotlight-color:color-mix(in oklch, var(--blue-500) 12%, transparent);--noise-opacity:.025;--action-primary-bg:var(--blue-400);--action-primary-bg-hover:var(--blue-500);--action-primary-fg:var(--neutral-950);--action-primary-border:var(--blue-600);--action-primary-glow:color-mix(in oklch, var(--blue-500) 35%, transparent);--action-contrast-bg:var(--otter-400);--action-contrast-bg-hover:var(--otter-300);--action-contrast-fg:var(--neutral-950);--action-contrast-glow:color-mix(in oklch, var(--otter-400) 40%, transparent);--action-neutral-bg:color-mix(in oklch, var(--neutral-950) 4%, transparent);--action-neutral-bg-hover:color-mix(in oklch, var(--neutral-950) 8%, transparent);--action-danger-fg:var(--red-700);--action-danger-bg:color-mix(in oklch, var(--red-700) 8%, transparent);--action-danger-bg-hover:color-mix(in oklch, var(--red-700) 14%, transparent)}:root[data-theme=dark]{color-scheme:dark;--color-bg:var(--neutral-950);--color-bg-subtle:var(--neutral-925);--color-bg-muted:var(--neutral-900);--color-surface:color-mix(in oklch, var(--neutral-850) 72%, transparent);--color-surface-raised:var(--neutral-850);--color-surface-hover:color-mix(in oklch, var(--neutral-0) 4%, transparent);--color-surface-active:color-mix(in oklch, var(--neutral-0) 7%, transparent);--color-overlay:oklch(0% 0 0/.6);--color-text:var(--neutral-50);--color-text-prose:var(--neutral-200);--color-text-secondary:var(--neutral-400);--color-text-tertiary:var(--neutral-500);--color-text-disabled:var(--neutral-700);--color-text-inverse:var(--neutral-950);--color-text-link:var(--blue-300);--color-border:color-mix(in oklch, var(--neutral-0) 9%, transparent);--color-border-strong:color-mix(in oklch, var(--neutral-0) 16%, transparent);--color-border-subtle:color-mix(in oklch, var(--neutral-0) 5%, transparent);--color-accent:var(--blue-300);--color-accent-hover:var(--blue-200);--color-accent-subtle:color-mix(in oklch, var(--blue-400) 16%, transparent);--color-accent-text:var(--blue-300);--color-on-accent:var(--neutral-950);--color-accent-2:var(--otter-300);--color-focus-ring:color-mix(in oklch, var(--blue-300) 60%, transparent);--color-success:var(--green-300);--color-success-subtle:color-mix(in oklch, var(--green-300) 14%, transparent);--color-warning:var(--otter-300);--color-warning-subtle:color-mix(in oklch, var(--otter-400) 16%, transparent);--color-danger:var(--red-300);--color-danger-subtle:color-mix(in oklch, var(--red-300) 14%, transparent);--color-info:var(--blue-300);--color-info-subtle:color-mix(in oklch, var(--blue-400) 16%, transparent);--color-up:var(--green-300);--color-down:var(--red-300);--chart-1:var(--blue-400);--chart-2:var(--otter-400);--chart-3:var(--blue-200);--chart-4:var(--otter-200);--chart-5:var(--neutral-600);--chart-grid:color-mix(in oklch, var(--neutral-0) 6%, transparent);--chart-axis:var(--neutral-500);--chart-heat-max:42%;--shadow-xs:0 1px 2px oklch(0% 0 0/.4);--shadow-sm:0 1px 3px oklch(0% 0 0/.45);--shadow-md:0 8px 24px oklch(0% 0 0/.4), inset 0 1px 0 oklch(100% 0 0/.05);--shadow-lg:0 20px 50px oklch(0% 0 0/.45), inset 0 1px 0 oklch(100% 0 0/.07);--shadow-xl:0 32px 80px oklch(0% 0 0/.55), inset 0 1px 0 oklch(100% 0 0/.08);--gradient-brand:linear-gradient(135deg, var(--blue-200), var(--blue-500));--glow-brand:color-mix(in oklch, var(--blue-500) 30%, transparent);--glow-accent-2:color-mix(in oklch, var(--otter-400) 18%, transparent);--glass-bg:linear-gradient(180deg, oklch(100% 0 0/.055), oklch(100% 0 0/.015));--glass-border:color-mix(in oklch, var(--neutral-0) 9%, transparent);--glass-highlight:inset 0 1px 0 oklch(100% 0 0/.08);--spotlight-color:color-mix(in oklch, var(--blue-300) 14%, transparent);--noise-opacity:.04;--action-primary-bg:var(--blue-300);--action-primary-bg-hover:var(--blue-200);--action-primary-fg:var(--neutral-950);--action-primary-border:color-mix(in oklch, var(--blue-200) 60%, transparent);--action-primary-glow:color-mix(in oklch, var(--blue-400) 40%, transparent);--action-contrast-bg:var(--otter-300);--action-contrast-bg-hover:var(--otter-200);--action-contrast-fg:var(--neutral-950);--action-contrast-glow:color-mix(in oklch, var(--otter-400) 40%, transparent);--action-neutral-bg:color-mix(in oklch, var(--neutral-0) 5%, transparent);--action-neutral-bg-hover:color-mix(in oklch, var(--neutral-0) 9%, transparent);--action-danger-fg:var(--red-300);--action-danger-bg:color-mix(in oklch, var(--red-300) 12%, transparent);--action-danger-bg-hover:color-mix(in oklch, var(--red-300) 20%, transparent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--color-bg:var(--neutral-950);--color-bg-subtle:var(--neutral-925);--color-bg-muted:var(--neutral-900);--color-surface:color-mix(in oklch, var(--neutral-850) 72%, transparent);--color-surface-raised:var(--neutral-850);--color-surface-hover:color-mix(in oklch, var(--neutral-0) 4%, transparent);--color-surface-active:color-mix(in oklch, var(--neutral-0) 7%, transparent);--color-overlay:oklch(0% 0 0/.6);--color-text:var(--neutral-50);--color-text-prose:var(--neutral-200);--color-text-secondary:var(--neutral-400);--color-text-tertiary:var(--neutral-500);--color-text-disabled:var(--neutral-700);--color-text-inverse:var(--neutral-950);--color-text-link:var(--blue-300);--color-border:color-mix(in oklch, var(--neutral-0) 9%, transparent);--color-border-strong:color-mix(in oklch, var(--neutral-0) 16%, transparent);--color-border-subtle:color-mix(in oklch, var(--neutral-0) 5%, transparent);--color-accent:var(--blue-300);--color-accent-hover:var(--blue-200);--color-accent-subtle:color-mix(in oklch, var(--blue-400) 16%, transparent);--color-accent-text:var(--blue-300);--color-on-accent:var(--neutral-950);--color-accent-2:var(--otter-300);--color-focus-ring:color-mix(in oklch, var(--blue-300) 60%, transparent);--color-success:var(--green-300);--color-success-subtle:color-mix(in oklch, var(--green-300) 14%, transparent);--color-warning:var(--otter-300);--color-warning-subtle:color-mix(in oklch, var(--otter-400) 16%, transparent);--color-danger:var(--red-300);--color-danger-subtle:color-mix(in oklch, var(--red-300) 14%, transparent);--color-info:var(--blue-300);--color-info-subtle:color-mix(in oklch, var(--blue-400) 16%, transparent);--color-up:var(--green-300);--color-down:var(--red-300);--chart-1:var(--blue-400);--chart-2:var(--otter-400);--chart-3:var(--blue-200);--chart-4:var(--otter-200);--chart-5:var(--neutral-600);--chart-grid:color-mix(in oklch, var(--neutral-0) 6%, transparent);--chart-axis:var(--neutral-500);--chart-heat-max:42%;--shadow-xs:0 1px 2px oklch(0% 0 0/.4);--shadow-sm:0 1px 3px oklch(0% 0 0/.45);--shadow-md:0 8px 24px oklch(0% 0 0/.4), inset 0 1px 0 oklch(100% 0 0/.05);--shadow-lg:0 20px 50px oklch(0% 0 0/.45), inset 0 1px 0 oklch(100% 0 0/.07);--shadow-xl:0 32px 80px oklch(0% 0 0/.55), inset 0 1px 0 oklch(100% 0 0/.08);--gradient-brand:linear-gradient(135deg, var(--blue-200), var(--blue-500));--glow-brand:color-mix(in oklch, var(--blue-500) 30%, transparent);--glow-accent-2:color-mix(in oklch, var(--otter-400) 18%, transparent);--glass-bg:linear-gradient(180deg, oklch(100% 0 0/.055), oklch(100% 0 0/.015));--glass-border:color-mix(in oklch, var(--neutral-0) 9%, transparent);--glass-highlight:inset 0 1px 0 oklch(100% 0 0/.08);--spotlight-color:color-mix(in oklch, var(--blue-300) 14%, transparent);--noise-opacity:.04;--action-primary-bg:var(--blue-300);--action-primary-bg-hover:var(--blue-200);--action-primary-fg:var(--neutral-950);--action-primary-border:color-mix(in oklch, var(--blue-200) 60%, transparent);--action-primary-glow:color-mix(in oklch, var(--blue-400) 40%, transparent);--action-contrast-bg:var(--otter-300);--action-contrast-bg-hover:var(--otter-200);--action-contrast-fg:var(--neutral-950);--action-contrast-glow:color-mix(in oklch, var(--otter-400) 40%, transparent);--action-neutral-bg:color-mix(in oklch, var(--neutral-0) 5%, transparent);--action-neutral-bg-hover:color-mix(in oklch, var(--neutral-0) 9%, transparent);--action-danger-fg:var(--red-300);--action-danger-bg:color-mix(in oklch, var(--red-300) 12%, transparent);--action-danger-bg-hover:color-mix(in oklch, var(--red-300) 20%, transparent)}}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--color-bg);min-height:100dvh;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}::selection{background:var(--color-accent-subtle);color:var(--color-text)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-xs)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.display{font-size:var(--text-display);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance}h1,.h1{font-size:var(--text-4xl);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance}h2,.h2{font-size:var(--text-3xl);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance}h3,.h3{font-size:var(--text-2xl);font-weight:var(--weight-semibold);line-height:var(--leading-snug)}h4,.h4{font-size:var(--text-xl);font-weight:var(--weight-semibold);line-height:var(--leading-snug)}h5,.h5{font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-snug)}h6,.h6{font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:var(--leading-snug)}.lead{font-size:var(--text-xl);color:var(--color-text-secondary);line-height:var(--leading-normal);text-wrap:pretty}.body-sm{font-size:var(--text-sm)}.caption{font-size:var(--text-xs);color:var(--color-text-tertiary)}.eyebrow{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);color:var(--color-accent-text)}.muted{color:var(--color-text-secondary)}.numeric{font-variant-numeric:tabular-nums}code,kbd,pre{font-family:var(--font-mono);font-size:.9em}.prose{max-width:var(--container-prose);font-size:1.0625rem;line-height:var(--leading-relaxed);color:var(--color-text-prose)}.prose>*+*{margin-top:1.25em}.prose h2{font-size:var(--text-2xl);margin-top:2.2em}.prose h3{font-size:var(--text-xl);margin-top:1.8em}.prose h2+*,.prose h3+*{margin-top:.75em}.prose a{color:var(--color-text-link);text-underline-offset:3px;text-decoration:underline 1px}.prose a:hover{text-decoration-thickness:2px}.prose blockquote{padding-left:var(--space-5);border-left:2px solid var(--color-border-strong);color:var(--color-text-secondary)}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.4em}.prose :not(pre)>code{border-radius:var(--radius-xs);background:var(--color-bg-muted);border:1px solid var(--color-border-subtle);padding:.15em .4em}.prose pre{padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-bg-muted);border:1px solid var(--color-border);font-size:var(--text-sm);line-height:var(--leading-normal);overflow-x:auto}.prose img{border-radius:var(--radius-lg)}.prose hr{border:0;border-top:1px solid var(--color-border);margin-block:3em}.container{width:100%;max-width:var(--container-xl);padding-inline:clamp(var(--space-4), 4vw, var(--space-8));margin-inline:auto}.container-sm{max-width:var(--container-sm)}.container-md{max-width:var(--container-md)}.container-lg{max-width:var(--container-lg)}.container-2xl{max-width:var(--container-2xl)}.section{padding-block:clamp(var(--space-16), 10vw, var(--space-32))}.section-sm{padding-block:clamp(var(--space-8), 4vw, var(--space-12))}.stack{gap:var(--gap,var(--space-4));flex-direction:column;display:flex}.cluster{align-items:center;gap:var(--gap,var(--space-3));flex-wrap:wrap;display:flex}.cluster--between{justify-content:space-between}.grid{gap:var(--gap,var(--space-6));grid-template-columns:repeat(auto-fit, minmax(min(var(--min,280px), 100%), 1fr));display:grid}.grid-fill{grid-template-columns:repeat(auto-fill, minmax(min(var(--min,280px), 100%), 1fr))}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.bg-aurora{background:var(--aurora), var(--color-bg);background-repeat:no-repeat}.noise{isolation:isolate;position:relative}.noise:after{content:"";pointer-events:none;z-index:-1;border-radius:inherit;opacity:var(--noise-opacity);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.text-gradient{background:var(--gradient-text);color:#0000;-webkit-background-clip:text;background-clip:text}.text-brand{background:var(--gradient-brand);color:#0000;-webkit-background-clip:text;background-clip:text}.bg-grid{background-image:linear-gradient(var(--color-border-subtle) 1px, transparent 1px), linear-gradient(90deg, var(--color-border-subtle) 1px, transparent 1px);background-size:40px 40px;mask-image:radial-gradient(#000 30%,#0000 75%)}.reveal{opacity:0;transition:opacity var(--duration-slow) var(--ease-out), transform var(--duration-slow) var(--ease-out);transform:translateY(12px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}.btn{--btn-h:36px;--btn-px:14px;height:var(--btn-h);padding-inline:var(--btn-px);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:-.005em;white-space:nowrap;cursor:pointer;user-select:none;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), transform var(--duration-fast) var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;line-height:1;text-decoration:none;display:inline-flex;position:relative}.btn:active:not(:disabled):not([aria-disabled=true]){transform:translateY(.5px)scale(.985)}.btn:focus-visible{box-shadow:0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-focus-ring);outline:none}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;box-shadow:none}.btn svg{flex-shrink:0;width:16px;height:16px}.btn [data-icon=trailing]{transition:transform var(--duration-base) var(--ease-out)}.btn:hover [data-icon=trailing]{transform:translate(2px)}.btn-sm{--btn-h:30px;--btn-px:10px;gap:4px;font-size:13px}.btn-sm svg{width:14px;height:14px}.btn-lg{--btn-h:44px;--btn-px:20px;gap:8px;font-size:15px}.btn-icon{width:var(--btn-h);padding:0}.btn-primary{color:var(--action-primary-fg);background-color:var(--action-primary-bg);border-color:var(--action-primary-border);box-shadow:inset 0 1px oklch(100% 0 0/.18),0 1px 2px oklch(0% 0 0/.16)}.btn-primary:hover:not(:disabled){background-color:var(--action-primary-bg-hover);box-shadow:inset 0 1px 0 oklch(100% 0 0/.22), 0 1px 2px oklch(0% 0 0/.16), 0 6px 20px -4px var(--action-primary-glow)}.btn-primary:focus-visible{box-shadow:inset 0 1px 0 oklch(100% 0 0/.18), 0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-focus-ring)}.btn-contrast{color:var(--action-contrast-fg);background-color:var(--action-contrast-bg);box-shadow:0 1px 2px oklch(0% 0 0/.2)}.btn-contrast:hover:not(:disabled){background-color:var(--action-contrast-bg-hover);box-shadow:0 1px 2px oklch(0% 0 0/.2), 0 8px 24px -6px var(--action-contrast-glow)}.btn-secondary{color:var(--color-text);background-color:var(--action-neutral-bg);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--action-neutral-bg-hover);border-color:var(--color-border-strong)}.btn-ghost{color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){color:var(--color-text);background-color:var(--action-neutral-bg)}.btn-danger{color:var(--action-danger-fg);background-color:var(--action-danger-bg);border-color:color-mix(in oklch, var(--action-danger-fg) 25%, transparent)}.btn-danger:hover:not(:disabled){background-color:var(--action-danger-bg-hover);border-color:color-mix(in oklch, var(--action-danger-fg) 40%, transparent)}@media (prefers-reduced-motion:reduce){.btn:active:not(:disabled),.btn:hover [data-icon=trailing]{transform:none}}.badge{border-radius:var(--radius-full);height:22px;font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;color:var(--color-text-secondary);background:var(--color-surface-hover);border:1px solid var(--color-border);align-items:center;gap:6px;padding-inline:8px;display:inline-flex}.badge-accent{color:var(--color-accent-text);background:var(--color-accent-subtle);border-color:color-mix(in oklch, var(--color-accent) 30%, transparent)}.badge-up{color:var(--color-up);background:color-mix(in oklch, var(--color-up) 12%, transparent);border-color:#0000}.badge-down{color:var(--color-down);background:color-mix(in oklch, var(--color-down) 12%, transparent);border-color:#0000}.badge-dot:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px}.card{padding:var(--space-6);border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);position:relative}.card-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.01em}.card-text{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-normal)}.card-glass{background:var(--glass-bg);border-color:var(--glass-border);box-shadow:var(--glass-highlight), var(--shadow-lg);backdrop-filter:blur(var(--glass-blur)) saturate(140%)}.card-gradient{background:linear-gradient(var(--color-bg-subtle), var(--color-bg-subtle)) padding-box, var(--gradient-border) border-box;border-color:#0000}.card-glow{border-color:color-mix(in oklch, var(--color-accent) 25%, var(--color-border));overflow:hidden}.card-glow:before{content:"";background:radial-gradient(50% 50% at 50% 70%, var(--glow-brand), transparent 72%);pointer-events:none;z-index:0;height:100%;position:absolute;bottom:-45%;left:-10%;right:-10%}.card-glow>*{z-index:1;position:relative}.card-interactive{cursor:pointer;transition:border-color var(--duration-base), transform var(--duration-base) var(--ease-out), box-shadow var(--duration-base);overflow:hidden}.card-interactive:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(400px circle at var(--mx,50%) var(--my,50%), var(--spotlight-color), transparent 45%);transition:opacity var(--duration-base);position:absolute;inset:0}.card-interactive:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-interactive:hover:after{opacity:1}@media (prefers-reduced-motion:reduce){.card-interactive:hover{transform:none}}.field{gap:var(--space-2);display:grid}.label{font-size:var(--text-sm);font-weight:var(--weight-medium)}.hint,.field-message{font-size:var(--text-xs);color:var(--color-text-tertiary)}.field-message--success{font-size:var(--text-base);color:var(--color-text)}.field-message--error{color:var(--color-danger)}.input{width:100%;height:36px;padding-inline:var(--space-3);border-radius:var(--radius-md);background:var(--color-bg-subtle);border:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-text);transition:border-color var(--duration-fast), box-shadow var(--duration-fast)}.input::placeholder{color:var(--color-text-tertiary)}.input:hover{border-color:var(--color-border-strong)}.input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.input-group{gap:var(--space-2);display:flex}.input-group .input{flex:1}.param-panel{align-items:flex-end;gap:var(--space-5) var(--space-8);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-5);border-radius:var(--radius-lg);background:var(--color-bg-subtle);border:1px solid var(--color-border-subtle);flex-wrap:wrap;display:flex}.param{gap:var(--space-2);flex:160px;min-width:160px;max-width:260px;display:grid}.param-label{justify-content:space-between;align-items:baseline;gap:var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary);display:flex}.param-label b{font-weight:var(--weight-semibold);color:var(--color-text)}.param-value{font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold);color:var(--color-accent-text);transition:color var(--duration-fast)}.param.is-changed .param-value:after{content:"";background:var(--color-accent);vertical-align:middle;width:5px;height:5px;box-shadow:0 0 6px var(--color-accent);border-radius:50%;margin-left:6px;display:inline-block}.param-actions{gap:var(--space-2);align-items:center;margin-left:auto;display:flex}.param-note{font-size:var(--text-xs);color:var(--color-text-tertiary);flex-basis:100%}@media (width<=640px){.param-panel{gap:var(--space-3);padding:var(--space-3) var(--space-4)}.param{flex-basis:100%;grid-template-columns:5.5em minmax(0,1fr);align-items:center;max-width:none}}.range{--pct:50%;-webkit-appearance:none;appearance:none;cursor:pointer;background:0 0;width:100%;height:20px}.range::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--color-accent) var(--pct), var(--color-border-strong) var(--pct));border-radius:999px;height:4px}.range::-moz-range-track{background:var(--color-border-strong);border-radius:999px;height:4px}.range::-moz-range-progress{background:var(--color-accent);border-radius:999px;height:4px}.range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--color-surface-raised);border:2px solid var(--color-accent);width:16px;height:16px;box-shadow:0 0 0 0 var(--color-focus-ring), var(--shadow-sm);transition:box-shadow var(--duration-fast), transform var(--duration-fast);border-radius:50%;margin-top:-6px}.range::-moz-range-thumb{background:var(--color-surface-raised);border:2px solid var(--color-accent);border-radius:50%;width:12px;height:12px}.range:hover::-webkit-slider-thumb{box-shadow:0 0 0 6px var(--color-accent-subtle), var(--shadow-sm)}.range:active::-webkit-slider-thumb{transform:scale(1.1)}.range:focus-visible{outline:none}.range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--color-focus-ring)}.range:disabled{cursor:not-allowed;opacity:.5}.range:disabled::-webkit-slider-runnable-track{background:var(--color-border-strong)}.range:disabled::-webkit-slider-thumb{border-color:var(--color-border-strong);box-shadow:none;transform:none}.range:disabled::-moz-range-thumb{border-color:var(--color-border-strong)}.range:disabled::-moz-range-progress{background:var(--color-border-strong)}.range-ticks{color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:-2px;font-size:10.5px;display:flex}.select{-webkit-appearance:none;appearance:none;width:100%;height:36px;padding:0 32px 0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface-raised);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);cursor:pointer;transition:border-color var(--duration-fast);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat}.select:hover{border-color:var(--color-border-strong)}.select:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{height:30px;padding-inline:var(--space-3);border-radius:var(--radius-full);border:1px solid var(--color-border);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast);background:0 0;align-items:center;text-decoration:none;display:inline-flex}.chip:hover{color:var(--color-text);border-color:var(--color-border-strong)}.chip[aria-pressed=true],.chip[aria-current=page]{color:var(--action-primary-fg);background:var(--action-primary-bg);border-color:var(--action-primary-bg);font-weight:var(--weight-semibold)}.chip.is-partial:not([aria-pressed=true]){color:var(--color-text-tertiary);border-style:dashed}.chip:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}.chip:disabled:hover{color:var(--color-text-secondary);border-color:var(--color-border)}@media (pointer:coarse){.chip{height:40px;padding-inline:var(--space-4)}}.param-summary{gap:var(--space-2) var(--space-4);font-size:var(--text-xs);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.param-summary b{color:var(--color-text-secondary);font-weight:var(--weight-medium)}.dialog,.sheet,.menu,.popover,.tooltip,.toast{color:var(--color-text);background:var(--color-surface-raised);border:1px solid var(--color-border);--color-text-tertiary:var(--color-text-secondary)}@keyframes tp-fade-in{0%{opacity:0}}@keyframes tp-pop-in{0%{opacity:0;transform:translate(-50%,-48%)scale(.97)}}@keyframes tp-float-in{0%{opacity:0;transform:translateY(4px)}}@keyframes tp-slide-right{0%{transform:translate(100%)}}@keyframes tp-slide-left{0%{transform:translate(-100%)}}@keyframes tp-slide-up{0%{transform:translateY(100%)}}.overlay{z-index:var(--z-overlay);background:var(--color-overlay);backdrop-filter:blur(2px);animation:tp-fade-in var(--duration-base) var(--ease-out);position:fixed;inset:0}.dialog{z-index:var(--z-modal);width:min(520px, calc(100vw - 2 * var(--space-4)));max-height:calc(100dvh - 2 * var(--space-8));border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);animation:tp-pop-in var(--duration-base) var(--ease-out);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.dialog--sm{width:min(400px, calc(100vw - 2 * var(--space-4)))}.dialog--lg{width:min(720px, calc(100vw - 2 * var(--space-4)))}.dialog:focus-visible,.sheet:focus-visible{outline:none}.dialog-header{gap:var(--space-2);padding:var(--space-6) var(--space-12) 0 var(--space-6);display:grid}.dialog-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.01em;line-height:var(--leading-snug)}.dialog-desc{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-normal)}.dialog-body{padding:var(--space-4) var(--space-6);font-size:var(--text-sm);line-height:var(--leading-normal);overflow-y:auto}.dialog-header+.dialog-footer{margin-top:var(--space-4)}.dialog-footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-6) var(--space-6);flex-wrap:wrap;display:flex}.dialog-close{top:var(--space-4);right:var(--space-4);position:absolute}.sheet{z-index:var(--z-modal);box-shadow:var(--shadow-xl);flex-direction:column;display:flex;position:fixed}.sheet--right,.sheet--left{width:min(400px,88vw);top:0;bottom:0}.sheet--right{animation:tp-slide-right var(--duration-slow) var(--ease-out);border-width:0 0 0 1px;right:0}.sheet--left{animation:tp-slide-left var(--duration-slow) var(--ease-out);border-width:0 1px 0 0;left:0}.sheet--bottom{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:85dvh;animation:tp-slide-up var(--duration-slow) var(--ease-out);border-width:1px 0 0;bottom:0;left:0;right:0}.sheet .dialog-body{flex:1}.sheet .dialog-footer{border-top:1px solid var(--color-border-subtle)}.menu{z-index:var(--z-dropdown);min-width:180px;padding:var(--space-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:tp-float-in var(--duration-fast) var(--ease-out)}.menu-item{align-items:center;gap:var(--space-2);min-height:32px;padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-text);cursor:pointer;user-select:none;outline:none;display:flex}.menu-item[data-highlighted]{background:var(--color-surface-active)}.menu-item[data-disabled]{color:var(--color-text-disabled);cursor:not-allowed}.menu-item--danger{color:var(--action-danger-fg)}.menu-item--danger[data-highlighted]{background:var(--action-danger-bg)}.menu-item__label{flex:1}.menu-item__shortcut{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary)}.menu-item__indicator{width:16px;height:16px;display:inline-flex}.menu-item__indicator svg{width:16px;height:16px}.menu-label{padding:var(--space-2) var(--space-3) var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-tertiary)}.menu-separator{height:1px;margin:var(--space-1) calc(-1 * var(--space-1));background:var(--color-border-subtle)}@media (pointer:coarse){.menu-item{min-height:44px}}.popover{z-index:var(--z-dropdown);width:min(320px, calc(100vw - 2 * var(--space-4)));padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-size:var(--text-sm);animation:tp-float-in var(--duration-fast) var(--ease-out)}.popover:focus-visible{outline:none}.tooltip{z-index:var(--z-tooltip);border-radius:var(--radius-sm);max-width:280px;box-shadow:var(--shadow-md);font-size:var(--text-xs);line-height:var(--leading-snug);animation:tp-float-in var(--duration-fast) var(--ease-out);padding:6px 10px}.tabs-list{gap:var(--space-1);border-bottom:1px solid var(--color-border);scrollbar-width:none;display:flex;overflow-x:auto}.tabs-trigger{height:40px;padding:0 var(--space-3);border-radius:var(--radius-sm) var(--radius-sm) 0 0;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;transition:color var(--duration-fast);background:0 0;border:0;flex-shrink:0;position:relative}.tabs-trigger:hover:not(:disabled),.tabs-trigger[data-state=active]{color:var(--color-text)}.tabs-trigger[data-state=active]:after{content:"";left:var(--space-2);right:var(--space-2);background:var(--color-accent);border-radius:2px;height:2px;position:absolute;bottom:-1px}.tabs-trigger:focus-visible{box-shadow:inset 0 0 0 2px var(--color-focus-ring);outline:none}.tabs-trigger:disabled{color:var(--color-text-disabled);cursor:not-allowed}.tabs-content{padding-top:var(--space-5)}.tabs-content:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:4px;border-radius:var(--radius-sm)}.toast-viewport{z-index:var(--z-toast);gap:var(--space-2);width:min(380px,100vw);max-height:100dvh;padding:var(--space-4);outline:none;flex-direction:column;margin:0;list-style:none;display:flex;position:fixed;bottom:0;right:0}.toast{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border-left:3px solid var(--color-info);animation:tp-float-in var(--duration-base) var(--ease-out);display:flex;position:relative}.toast--success{border-left-color:var(--color-success)}.toast--danger{border-left-color:var(--color-danger)}.toast[data-swipe=move]{transform:translateX(var(--radix-toast-swipe-move-x))}.toast[data-swipe=end]{transform:translateX(var(--radix-toast-swipe-end-x));transition:transform var(--duration-base) var(--ease-out)}.toast-text{flex:1;gap:2px;padding-top:5px;display:grid}.toast-title{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.toast-desc{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:var(--leading-normal)}.toast .btn{flex-shrink:0}.pagination{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.pagination-page{min-width:32px;height:32px;padding:0 var(--space-2);border-radius:var(--radius-md);font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--duration-fast), color var(--duration-fast);background:0 0;border:1px solid #0000}.pagination-page:hover{color:var(--color-text);background:var(--action-neutral-bg)}.pagination-page[aria-current=page]{color:var(--action-primary-fg);background:var(--action-primary-bg);border-color:var(--action-primary-border);font-weight:var(--weight-semibold)}.pagination-page:focus-visible{box-shadow:0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-focus-ring);outline:none}.pagination-gap{text-align:center;min-width:24px;color:var(--color-text-tertiary)}@media (pointer:coarse){.pagination-page{min-width:44px;height:44px}.pagination .btn-icon{--btn-h:44px}}@keyframes tp-shimmer{50%{opacity:.5}}.skeleton{vertical-align:middle;border-radius:var(--radius-sm);background:var(--color-bg-muted);max-width:100%;animation:tp-shimmer 1.6s var(--ease-in-out) infinite;display:inline-block}.data-table .th-sort{border-radius:var(--radius-xs);font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;margin:-2px -4px;padding:2px 4px;display:inline-flex}.data-table .num .th-sort{flex-direction:row-reverse}.data-table .th-sort svg{width:12px;height:12px;color:var(--color-text-tertiary)}.data-table [aria-sort=ascending] .th-sort,.data-table [aria-sort=descending] .th-sort{color:var(--color-text)}.data-table [aria-sort=ascending] .th-sort svg,.data-table [aria-sort=descending] .th-sort svg{color:var(--color-accent-text)}.data-table .th-sort:hover{color:var(--color-text)}.data-table .th-sort:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.data-table td.data-table__state{padding:var(--space-8) var(--space-4);text-align:center;white-space:normal;color:var(--color-text-tertiary)}.data-table td.data-table__state--error{color:var(--color-danger)}.data-table tbody tr.data-table__state-row:hover td{background:0 0}@keyframes tp-busy-line{50%{box-shadow:inset 0 -2px 0 var(--color-accent-subtle)}}.data-table.is-busy thead th{box-shadow:inset 0 -2px 0 var(--color-accent);animation:tp-busy-line 1.2s var(--ease-in-out) infinite}.data-table.is-busy tbody{cursor:progress}@media (prefers-reduced-motion:reduce){.overlay,.dialog,.sheet,.menu,.popover,.tooltip,.toast,.skeleton,.data-table.is-busy thead th{animation:none}}.chart-stage{position:relative}.chart-stage svg{touch-action:pan-y;width:100%;height:auto;display:block;overflow:visible}.chart-stage svg text{font:11px var(--font-sans);fill:var(--chart-axis);font-variant-numeric:tabular-nums}.chart-stage .grid line{stroke:var(--chart-grid)}.chart-stage .axis-zero{stroke:var(--color-border-strong)}.series{fill:none;stroke-width:1.75px;stroke-linejoin:round;stroke-linecap:round;transition:opacity var(--duration-base) var(--ease-out), stroke-width var(--duration-base)}.series-area{transition:opacity var(--duration-base) var(--ease-out)}.chart-stage[data-focus] .series:not(.is-focus),.chart-stage[data-focus] .series-area:not(.is-focus),.chart-stage[data-focus] .series-label:not(.is-focus){opacity:.25}.chart-stage .series.is-focus{stroke-width:2.25px}.series-label{transition:opacity var(--duration-base);font-weight:600;font-size:11.5px!important}.crosshair{stroke:var(--color-text-tertiary);stroke-width:1px;stroke-dasharray:2 3;opacity:0;transition:opacity var(--duration-fast);pointer-events:none}.focus-dot{opacity:0;transition:opacity var(--duration-fast);pointer-events:none}.focus-dot circle:first-child{fill:currentColor;opacity:.18}.focus-dot circle:last-child{fill:currentColor;stroke:var(--color-bg);stroke-width:2px}.chart-stage.is-hovering .crosshair,.chart-stage.is-hovering .focus-dot{opacity:1}.axis-badge{opacity:0;transition:opacity var(--duration-fast)}.chart-stage.is-hovering .axis-badge{opacity:1}.axis-badge rect{fill:var(--color-text)}.axis-badge text{font-weight:600;fill:var(--color-bg)!important}.chart-tooltip{z-index:2;min-width:180px;max-width:280px;padding:var(--space-3) var(--space-3) var(--space-2);border-radius:var(--radius-lg);background:color-mix(in oklch, var(--color-surface-raised) 94%, transparent);border:1px solid var(--glass-border);box-shadow:var(--glass-highlight), 0 12px 40px oklch(0% 0 0/.22);backdrop-filter:blur(14px)saturate(140%);font-size:var(--text-xs);pointer-events:none;opacity:0;transform:translate3d(var(--tx,0), var(--ty,0), 0) scale(.97);transition:opacity var(--duration-fast) var(--ease-out), transform 90ms var(--ease-out);will-change:transform;position:absolute;top:0;left:0}.chart-stage.is-hovering .chart-tooltip{opacity:1;transform:translate3d(var(--tx,0), var(--ty,0), 0) scale(1)}.chart-tooltip__title{font-weight:var(--weight-semibold);color:var(--color-text);margin-bottom:var(--space-2);font-variant-numeric:tabular-nums}.chart-tooltip__row{align-items:center;gap:var(--space-2);color:var(--color-text-secondary);grid-template-columns:10px 1fr auto;padding-block:3px;display:grid}.chart-tooltip__row.is-focus{color:var(--color-text)}.chart-tooltip__swatch{background:currentColor;border-radius:2px;width:8px;height:8px}.chart-tooltip__value{font-weight:var(--weight-semibold);color:var(--color-text);font-variant-numeric:tabular-nums;text-align:right}.chart-tooltip__foot{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border-subtle);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.annotation line,.annotation path{stroke:var(--color-text-tertiary);stroke-width:1px;fill:none}.annotation circle{fill:var(--color-bg);stroke:var(--color-text-secondary);stroke-width:1.5px}.annotation text{font-weight:600;fill:var(--color-text)!important}.annotation .annotation-sub{font-weight:400;fill:var(--color-text-tertiary)!important}.band{fill:var(--color-bg-muted);opacity:.55}.band-label{letter-spacing:var(--tracking-wide);text-transform:uppercase;fill:var(--color-text-tertiary)!important;font-size:10.5px!important}.chart-stage.is-computing svg{opacity:.45;transition:opacity var(--duration-fast)}.chart-stage.is-computing:after{content:"";border-radius:var(--radius-md);pointer-events:none;background:linear-gradient(100deg, transparent 30%, var(--spotlight-color) 50%, transparent 70%);background-size:200% 100%;animation:1s linear infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}@media (prefers-reduced-motion:reduce){.chart-tooltip{transition:opacity var(--duration-fast)}.chart-stage.is-computing:after{animation:none}}.chart-stage.is-pending{padding:var(--space-6);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-sm);text-align:center;text-wrap:balance;place-items:center;display:grid}.hist-bar,.box-row{transition:opacity var(--duration-fast)}.scatter-focus{transition:opacity var(--duration-fast);pointer-events:none}.corr-scroll{border-radius:var(--radius-sm);overflow-x:auto}.corr-scroll:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.corr-grid{grid-template-columns:minmax(90px, auto) repeat(var(--n), minmax(44px, 1fr));font-variant-numeric:tabular-nums;gap:3px;min-width:520px;font-size:11px;display:grid}.corr-head{color:var(--color-text-tertiary);text-align:center;justify-content:center;align-items:flex-end;padding:4px 2px;font-weight:500;line-height:1.2;display:flex}.corr-head.corr-row{padding-right:var(--space-2);justify-content:flex-end;align-items:center}.corr-head.is-selected{color:var(--color-accent-text);font-weight:700}.corr-cell{aspect-ratio:1.6;background:color-mix(in oklch, var(--chart-1) calc(var(--v) * var(--chart-heat-max)), var(--color-bg-muted));color:color-mix(in oklch, var(--color-text) 85%, transparent);transition:outline-color var(--duration-fast), opacity var(--duration-fast);border-radius:4px;outline:1px solid #0000;place-items:center;display:grid}.corr-grid:hover .corr-cell:not(.is-cross){opacity:.55}.corr-cell.is-cross{outline-color:var(--color-border-strong)}.inline-bar{justify-content:flex-end;width:100%;min-width:120px;display:inline-flex;position:relative}.data-table--compact .inline-bar{min-width:76px}.inline-bar__fill{height:14px;width:var(--w);opacity:.28;border-radius:3px;position:absolute;top:50%;transform:translateY(-50%)}.inline-bar__fill.pos{background:var(--color-up);left:50%}.inline-bar__fill.neg{background:var(--color-down);right:50%}.inline-bar__text{position:relative}.heatmap-table{font-size:12px}.heatmap-table th,.heatmap-table td{padding:6px!important}.heatmap-table th:first-child,.heatmap-table td:first-child{padding-left:var(--space-3)!important}.article{grid-template-columns:[full-start] minmax(var(--space-4), 1fr) [wide-start] minmax(0, calc((var(--container-figure) - var(--container-prose)) / 2)) [content-start] min(var(--container-prose), 100% - var(--space-8)) [content-end] minmax(0, calc((var(--container-figure) - var(--container-prose)) / 2)) [wide-end] minmax(var(--space-4), 1fr) [full-end];display:grid}.article>*{grid-column:content}.article>.wide{grid-column:wide}.article>.full{grid-column:full}.article--page{padding-bottom:var(--space-32)}.article>.article-crumbs{margin-top:var(--space-6)}.article>.article-banner{margin-top:var(--space-4)}.article>.article-panel{margin-top:var(--space-6)}.article>.article-callout{margin-block:var(--space-12)}.report-toolbar{margin-block:var(--space-6) var(--space-4)}.toc{margin-bottom:var(--space-8);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-subtle);font-size:var(--text-sm)}.toc-title{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);color:var(--color-text-tertiary);margin-bottom:var(--space-3);display:none}.toc-toggle{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-1) 0;color:var(--color-text);font:inherit;font-weight:var(--weight-semibold);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;display:flex}.toc-toggle:after{content:"";width:7px;height:7px;transition:transform var(--duration-fast);border-bottom:1.5px solid;border-right:1.5px solid;transform:rotate(45deg)}.toc.is-open .toc-toggle:after{transform:rotate(-135deg)}.toc-toggle:focus-visible{box-shadow:0 0 0 2px var(--color-focus-ring);outline:none}.toc-count{font-weight:var(--weight-regular);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;margin-left:auto}.toc-list{margin:var(--space-3) 0 0;padding:0;list-style:none;display:none}.toc.is-open .toc-list{display:block}.toc a{padding:var(--space-1) 0 var(--space-1) var(--space-3);border-left:1px solid var(--color-border);color:var(--color-text-secondary);transition:color var(--duration-fast), border-color var(--duration-fast);text-decoration:none;display:block}.toc .toc-sub a{padding-left:var(--space-6)}.toc a:hover{color:var(--color-text)}.toc a:focus-visible{box-shadow:0 0 0 2px var(--color-focus-ring);outline:none}.toc a[aria-current=true]{color:var(--color-text);border-left-color:var(--color-accent)}@media (width>=1440px){.toc{top:var(--space-24);left:max(var(--space-6), calc((100vw - var(--container-figure)) / 2 - 240px));background:0 0;border:0;width:200px;margin:0;padding:0;position:fixed}.toc-title{display:block}.toc-toggle{display:none}.toc-list{margin:0;display:block}}.article-header{padding-block:var(--space-20) var(--space-10)}.article-header .eyebrow{gap:var(--space-2);display:inline-flex}.article-header .category-chip+.article-title{margin-top:var(--space-5)}.article-title{margin-top:var(--space-4);font-size:clamp(2rem,1.4rem + 2.4vw,3rem);font-weight:var(--weight-semibold);letter-spacing:-.022em;text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere;line-height:1.12}.article-dek{margin-top:var(--space-5);font-size:var(--text-xl);line-height:var(--leading-normal);color:var(--color-text-secondary);text-wrap:pretty}.article-meta{gap:var(--space-2) var(--space-6);margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-tertiary);flex-wrap:wrap;display:flex}.article-meta dt{font-size:var(--text-xs);letter-spacing:var(--tracking-wide)}.article-meta dd{color:var(--color-text);font-variant-numeric:tabular-nums;margin:0}.stat-grid{border:1px solid var(--glass-border);border-radius:var(--radius-xl);background:var(--glass-bg);box-shadow:var(--glass-highlight), var(--shadow-md);backdrop-filter:blur(var(--glass-blur));margin-block:var(--space-10);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid;overflow:hidden}.stat{padding:var(--space-5);border-right:1px solid var(--glass-border)}.stat:last-child{border-right:0}.stat-label{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:.02em}.stat-value{margin-top:var(--space-2);font-size:var(--text-3xl);font-weight:var(--weight-semibold);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}.stat-delta{margin-top:var(--space-2);font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--color-text-secondary)}.method{margin-block:var(--space-10);padding:var(--space-6);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--text-sm)}.method-title{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-tertiary);margin-bottom:var(--space-4)}.method dl{gap:var(--space-2) var(--space-6);grid-template-columns:max-content 1fr;margin:0;display:grid}.method dt{color:var(--color-text-tertiary)}.method dd{color:var(--color-text);font-variant-numeric:tabular-nums;margin:0}.callout{margin-block:var(--space-8);padding:var(--space-4) var(--space-5);border-left:2px solid var(--color-accent);background:var(--color-accent-subtle);border-radius:0 var(--radius-md) var(--radius-md) 0;font-size:var(--text-base);color:var(--color-text)}.callout--warning{border-left-color:var(--color-warning);background:var(--color-warning-subtle)}.callout strong{font-weight:var(--weight-semibold)}.chart-card{margin-block:var(--space-12);padding:var(--space-6);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-highlight), var(--shadow-md);backdrop-filter:blur(var(--glass-blur))}.chart-head{justify-content:space-between;align-items:flex-start;gap:var(--space-6);margin-bottom:var(--space-5);display:flex}.chart-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.01em;line-height:var(--leading-snug)}.chart-subtitle{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-normal)}.chart-legend{gap:var(--space-4);margin-bottom:var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.chart-legend span{align-items:center;gap:var(--space-2);display:inline-flex}.chart-legend i{background:currentColor;border-radius:1px;width:12px;height:2px}.chart-body svg{width:100%;height:auto;display:block;overflow:visible}.chart-body svg text{font:11px var(--font-sans);fill:var(--chart-axis);font-variant-numeric:tabular-nums}.chart-body .grid line{stroke:var(--chart-grid)}.chart-foot{justify-content:space-between;gap:var(--space-2) var(--space-6);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle);font-size:var(--text-xs);color:var(--color-text-tertiary);flex-wrap:wrap;display:flex}.segmented{background:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-shrink:0;padding:2px;display:inline-flex}.segmented button{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-secondary);border-radius:calc(var(--radius-md) - 2px);transition:background var(--duration-fast), color var(--duration-fast)}.segmented button[aria-pressed=true]{background:var(--color-surface-raised);color:var(--color-text);box-shadow:var(--shadow-sm)}.table-wrap{max-height:var(--table-max-height,420px);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:auto}.table-wrap:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.chart-card .table-wrap{border-radius:var(--radius-md)}.data-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--text-sm);font-variant-numeric:tabular-nums;line-height:1.4}.data-table th,.data-table td{padding:var(--space-2) var(--space-4);text-align:left;white-space:nowrap;border-bottom:1px solid var(--color-border-subtle)}.data-table thead th{z-index:1;background:var(--color-bg-muted);border-bottom:1px solid var(--color-border);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-secondary);position:sticky;top:0}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover td{background:var(--color-surface-hover)}.data-table tr.is-clickable{cursor:pointer}.data-table tr.is-clickable:hover td{background:var(--color-surface-active)}.data-table tr.is-clickable:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.data-table__link{color:inherit;text-decoration:none}.data-table tr.is-clickable:hover .data-table__link{text-underline-offset:2px;text-decoration:underline}.data-table__link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px;text-decoration:underline}.data-table .num{text-align:right}.data-table tr.is-highlight td{background:var(--color-accent-subtle)}.data-table tr.is-highlight td:first-child{box-shadow:inset 2px 0 0 var(--color-accent)}.data-table caption{caption-side:bottom;padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--text-xs);color:var(--color-text-tertiary)}.data-table--compact th,.data-table--compact td{padding:5px var(--space-3)}.data-table--sticky-first{background:var(--color-bg-subtle)}.data-table--sticky-first th:first-child,.data-table--sticky-first td:first-child{z-index:1;background:var(--color-bg-subtle);box-shadow:inset -1px 0 0 var(--color-border-subtle);position:sticky;left:0}.data-table--sticky-first thead th:first-child{z-index:2;background:var(--color-bg-muted)}.data-table--sticky-first tbody tr:hover td:first-child{background:linear-gradient(var(--color-surface-hover), var(--color-surface-hover)), var(--color-bg-subtle)}.data-table--sticky-first tr.is-highlight td:first-child{background:linear-gradient(var(--color-accent-subtle), var(--color-accent-subtle)), var(--color-bg-subtle);box-shadow:inset 2px 0 0 var(--color-accent), inset -1px 0 0 var(--color-border-subtle)}.up{color:var(--color-up)}.down{color:var(--color-down)}.muted-num{color:var(--color-text-tertiary)}.heat{position:relative}.heat:before{content:"";border-radius:var(--radius-xs);background:color-mix(in oklch, var(--heat-color) calc(var(--strength,0) * 100%), transparent);z-index:-1;position:absolute;inset:2px}.heat{--heat-color:var(--color-up);isolation:isolate}.heat.neg{--heat-color:var(--color-down)}.figure{margin-block:var(--space-10)}.figure img{border-radius:var(--radius-lg);border:1px solid var(--color-border)}.figure figcaption{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-tertiary);line-height:var(--leading-normal)}.footnotes{margin-top:var(--space-16);padding-top:var(--space-6);border-top:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-secondary)}.footnotes ol{padding-left:1.2em}.footnotes li+li{margin-top:var(--space-2)}sup a{color:var(--color-accent-text);padding-inline:1px;font-size:.75em}.article-cover{--c1:var(--blue-500);--c2:var(--otter-400);--c3:var(--blue-200);aspect-ratio:21/9;border-radius:var(--radius-2xl);isolation:isolate;background:radial-gradient(60% 80% at 15% 20%, color-mix(in oklch, var(--c1) 85%, transparent), transparent 70%), radial-gradient(50% 70% at 85% 30%, color-mix(in oklch, var(--c2) 75%, transparent), transparent 70%), radial-gradient(60% 60% at 60% 100%, color-mix(in oklch, var(--c3) 60%, transparent), transparent 70%), var(--neutral-900);border:1px solid var(--color-border);position:relative;overflow:hidden}.article-cover:after{content:"";z-index:1;mix-blend-mode:overlay;opacity:.55;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.article-cover svg{z-index:2;width:100%;height:100%;position:absolute;inset:0}.article-cover--banner{aspect-ratio:5;min-height:96px}.cover-figure{z-index:2;gap:var(--space-1);padding:var(--space-4) var(--space-5);color:oklch(98% 0 0);flex-direction:column;display:flex;position:absolute;inset:0}.cover-figure svg{z-index:-1;width:100%;height:62%;position:absolute;inset:auto 0 0}.cover-figure .sparkline__line{stroke:oklch(100% 0 0/.85)}.cover-figure .sparkline__area{fill:oklch(100% 0 0/.12)}.cover-figure .sparkline__zero{stroke:oklch(100% 0 0/.35)}.cover-figure__label{font-family:var(--font-mono);letter-spacing:.04em;opacity:.8;font-size:11px}.cover-figure__value{font-size:clamp(1.5rem,1rem + 2vw,2.25rem);font-weight:var(--weight-semibold);letter-spacing:-.02em;font-variant-numeric:tabular-nums;text-shadow:0 1px 12px oklch(0% 0 0/.35);line-height:1.1}.article-cover--banner .cover-figure svg{height:80%}.article-cover-caption{margin-top:var(--space-2);font-family:var(--font-mono);color:var(--color-text-tertiary);font-size:11px}.category-chip{border-radius:var(--radius-xs);height:22px;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--action-primary-fg);background:var(--action-primary-bg);align-items:center;padding-inline:8px;font-size:11px;font-weight:500;display:inline-flex}.abstract{margin-block:var(--space-8) var(--space-10);padding:var(--space-6);border-radius:var(--radius-xl);background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-highlight), var(--shadow-sm)}.abstract-title{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-accent-text)}.abstract p{margin-top:var(--space-3);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-text)}.abstract ol{margin-top:var(--space-4);counter-reset:k;gap:var(--space-3);padding:0;list-style:none;display:grid}.abstract li{counter-increment:k;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-normal);grid-template-columns:24px 1fr;display:grid}.abstract li:before{content:counter(k);width:22px;height:22px;color:var(--color-accent-text);background:var(--color-accent-subtle);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-size:11px;font-weight:600;display:grid}.abstract li b{color:var(--color-text);font-weight:var(--weight-semibold)}.sidenote{margin-block:var(--space-3);padding-left:var(--space-3);border-left:2px solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-tertiary);line-height:var(--leading-normal);display:block}@media (width>=1520px){.prose{position:relative}.prose .sidenote{left:calc(100% + var(--space-8));width:220px;margin-top:-1.6em;position:absolute}}.citation{margin-top:var(--space-16);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.citation-title{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-tertiary)}.citation-text{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary)}.citation-code{margin-top:var(--space-3);padding:var(--space-4);padding-right:var(--space-16);border-radius:var(--radius-md);background:var(--color-bg-muted);border:1px solid var(--color-border-subtle);font-family:var(--font-mono);color:var(--color-text-secondary);white-space:pre;font-size:12px;line-height:1.6;position:relative;overflow-x:auto}.citation-code .btn{top:var(--space-2);right:var(--space-2);position:absolute}.related{margin-top:var(--space-16)}.related-title{font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:-.01em;margin:0;margin-bottom:var(--space-5)}.related-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.related-card{gap:var(--space-3);padding:var(--space-4);flex-direction:column;display:flex}.related-card .article-cover{aspect-ratio:16/9;border-radius:var(--radius-lg)}.related-card .card-title{font-size:var(--text-base);line-height:var(--leading-snug)}.appendix{margin-top:var(--space-16);padding:var(--space-8) 0;border-top:1px solid var(--color-border);gap:var(--space-6) var(--space-8);font-size:var(--text-sm);color:var(--color-text-secondary);grid-template-columns:180px 1fr;display:grid}.appendix h3{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-tertiary);padding-top:2px}.appendix ol,.appendix ul{gap:var(--space-2);padding-left:1.2em;display:grid}@media (width<=640px){.appendix{gap:var(--space-2) 0;grid-template-columns:1fr}.appendix h3{margin-top:var(--space-4)}}.data-sources{margin-top:var(--space-6);font-size:var(--text-sm);color:var(--color-text-secondary)}.data-sources>summary{cursor:pointer;width:fit-content;font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-tertiary)}.data-sources>summary:hover{color:var(--color-text)}.data-sources dl{gap:var(--space-2) var(--space-6);margin:var(--space-4) 0 0;grid-template-columns:max-content minmax(0,1fr);display:grid}.data-sources dt{color:var(--color-text-tertiary)}.data-sources dd{overflow-wrap:anywhere;margin:0}.data-sources code{color:var(--color-text-secondary);font-size:12px}@media (width<=640px){.data-sources dl{grid-template-columns:1fr;gap:0}.data-sources dd{margin-bottom:var(--space-2)}}.tier{border-radius:var(--radius-full);height:22px;font-size:11px;font-weight:var(--weight-semibold);letter-spacing:.02em;white-space:nowrap;color:var(--tier-color);background:color-mix(in oklch, var(--tier-color) 12%, transparent);border:1px solid color-mix(in oklch, var(--tier-color) 30%, transparent);align-items:center;gap:6px;padding-inline:8px;display:inline-flex}.tier:before{content:attr(data-level);font-family:var(--font-mono)}.tier[data-level=L1]{--tier-color:var(--color-text-secondary)}.tier[data-level=L2]{--tier-color:var(--color-accent-text)}.tier[data-level=L3]{--tier-color:var(--color-accent-2)}.tier[data-level=L4]{--tier-color:var(--color-text)}.section-head{align-items:baseline;gap:var(--space-3);margin-top:var(--space-20);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.section-head h2{font-size:var(--text-2xl);letter-spacing:-.02em}.section-lead{color:var(--color-text-secondary);max-width:68ch;margin-bottom:var(--space-6)}.metric-groups{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=640px){.metric-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}.metric-group{padding:var(--space-5);border-radius:var(--radius-xl);background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-highlight)}.metric-group h3{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:var(--space-3)}.metric-group dl{grid-template-columns:1fr auto;margin:0;display:grid}.metric-group dt,.metric-group dd{border-bottom:1px solid var(--color-border-subtle);font-size:var(--text-sm);padding-block:7px}.metric-group dt:last-of-type,.metric-group dd:last-of-type{border-bottom:0}.metric-group dt{color:var(--color-text-secondary)}.metric-group dd{text-align:right;font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;margin:0}.term{text-decoration:underline dotted var(--color-text-tertiary);text-underline-offset:3px;cursor:help;position:relative}.term:after{content:attr(data-def);z-index:var(--z-tooltip);width:max-content;max-width:260px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-raised);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);font-size:var(--text-xs);line-height:var(--leading-normal);color:var(--color-text-secondary);white-space:normal;opacity:0;pointer-events:none;transition:opacity var(--duration-fast), transform var(--duration-fast);font-weight:400;position:absolute;bottom:calc(100% + 8px);left:0;transform:translateY(4px)}.term:hover:after,.term:focus-visible:after{opacity:1;transform:none}.has-term-tip .term:after{content:none}.term-tip{z-index:var(--z-tooltip);width:max-content;max-width:260px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-raised);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);font-size:var(--text-xs);line-height:var(--leading-normal);color:var(--color-text-secondary);white-space:normal;pointer-events:none;position:fixed;top:0;left:0}.term-tip[hidden]{display:none}.na-note{gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);border:1px dashed var(--color-border-strong);color:var(--color-text-tertiary);font-size:var(--text-sm);align-items:center;display:flex}.na-note b{color:var(--color-text-secondary);font-weight:var(--weight-semibold)}html:has(.tier-nav){scroll-padding-top:calc(var(--site-header-height,60px) + 72px)}.tier-nav{top:var(--site-header-height,60px);z-index:var(--z-sticky);gap:var(--space-2);padding:var(--space-3) 0;background:color-mix(in oklch, var(--color-bg) 82%, transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border-subtle);flex-wrap:wrap;align-items:center;display:flex;position:sticky}.tier-nav a{align-items:center;gap:var(--space-2);border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--color-text-secondary);transition:background var(--duration-fast), color var(--duration-fast);padding:6px 12px;display:inline-flex}.tier-nav a:hover{color:var(--color-text);background:var(--color-surface-hover)}.tier-nav a[aria-current=true]{color:var(--color-text);background:var(--color-surface-active)}.tier-nav .tier{height:20px;padding-inline:6px}.tier-nav .tier:before{font-size:10px}@media (width<=640px){.tier-nav{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}}@media (pointer:coarse){.tier-nav a{min-height:40px}}.two-col{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));display:grid}.two-col>.chart-card{min-width:0;margin-block:0}@media (width<=480px){.two-col{grid-template-columns:1fr}}.sparkline{width:100%;height:100%;display:block;overflow:visible}.sparkline path{fill:none;stroke-width:1.5px;vector-effect:non-scaling-stroke}.sparkline__line{stroke:var(--chart-1)}.sparkline__area{fill:color-mix(in oklch, var(--chart-1) 14%, transparent);stroke:none}.sparkline__zero{stroke:var(--color-border-strong);stroke-dasharray:3 4}.section-head h1{font-size:var(--text-3xl);letter-spacing:-.02em}.section-head__actions{margin-left:auto}.section-head--flush{margin-top:0}.busy-region{transition:opacity var(--duration-fast)}.busy-region.is-busy{opacity:.55}@media (prefers-reduced-motion:reduce){.busy-region{transition:none}}.faq{max-width:var(--container-prose)}.faq-title{font-size:var(--text-2xl);letter-spacing:-.02em}.faq-item{margin-top:var(--space-6)}.faq-question{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text)}.faq-answer{margin-top:var(--space-2);font-size:1.0625rem;line-height:var(--leading-relaxed);color:var(--color-text-prose)}.faq-answer>*+*{margin-top:.75em}.ad{--ad-radius:var(--radius-xl);margin-block:var(--space-12);border-radius:var(--ad-radius);position:relative}.ad-label{font-size:10.5px;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-tertiary);align-items:center;gap:6px;display:inline-flex}.ad-label:before{content:"";background:currentColor;border-radius:50%;width:4px;height:4px}.ad-native{align-items:center;gap:var(--space-6);padding:var(--space-6);background:linear-gradient(var(--color-bg-subtle), var(--color-bg-subtle)) padding-box, var(--gradient-border) border-box;isolation:isolate;border:1px solid #0000;grid-template-columns:1fr auto;display:grid;overflow:hidden}.ad-native:before{content:"";z-index:-1;background:radial-gradient(closest-side, var(--glow-brand), transparent);pointer-events:none;position:absolute;inset:-40% 40% 30% -20%}.ad-native .ad-title{margin-top:var(--space-2);font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.01em}.ad-native .ad-text{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary)}.ad-native .ad-sponsor{align-items:center;gap:var(--space-2);margin-top:var(--space-4);font-size:var(--text-xs);color:var(--color-text-tertiary);display:flex}.ad-native .ad-logo{background:var(--gradient-brand);border-radius:6px;width:20px;height:20px}@media (width<=640px){.ad-native{grid-template-columns:1fr}}.ad-slot{min-height:var(--ad-h,250px);padding:var(--space-6) var(--space-4) var(--space-4);background:var(--color-bg-subtle);border:1px solid var(--color-border-subtle);place-items:center;display:grid}.ad-slot>.ad-label{top:var(--space-2);left:var(--space-3);position:absolute}.ad-slot--leaderboard{--ad-h:90px}.ad-slot--rectangle{--ad-h:250px}.ad-slot--sidebar{--ad-h:600px}.ad-slot__placeholder{font-size:var(--text-xs);color:var(--color-text-tertiary)}.ad-promo{padding:var(--space-10) var(--space-8);text-align:center;background:var(--aurora), var(--color-bg-subtle);border:1px solid var(--color-border);overflow:hidden}.ad-promo .ad-title{margin-top:var(--space-3);font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:-.02em;text-wrap:balance}.ad-promo .ad-text{margin:var(--space-3) auto 0;max-width:46ch;color:var(--color-text-secondary)}.ad-promo .ad-actions{justify-content:center;gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}:root{--site-header-height:60px}html{scroll-padding-top:calc(var(--site-header-height) + var(--space-4))}.skip-link{top:var(--space-2);left:var(--space-2);z-index:calc(var(--z-sticky) + 2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-raised);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);font-size:var(--text-sm);color:var(--color-text);transform:translateY(calc(-100% - var(--space-4)));position:fixed}.skip-link:focus-visible{transform:none}.site-header{z-index:calc(var(--z-sticky) + 1);height:var(--site-header-height);background:color-mix(in oklch, var(--color-bg) 78%, transparent);backdrop-filter:blur(14px)saturate(140%);border-bottom:1px solid var(--color-border-subtle);position:sticky;top:0}.site-header__inner{align-items:center;gap:var(--space-8);height:100%;display:flex}.site-brand{font-weight:var(--weight-semibold);letter-spacing:-.01em;color:var(--color-text);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.site-brand__mark{background:var(--gradient-brand);width:20px;height:20px;box-shadow:0 0 18px var(--glow-brand), inset 0 1px 0 oklch(100% 0 0/.3);border-radius:6px}.site-brand__sub{color:var(--color-text-tertiary);font-weight:var(--weight-regular)}.site-nav{align-items:center;gap:var(--space-1);display:flex}.site-nav a{border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary);transition:color var(--duration-fast), background-color var(--duration-fast);padding:6px 10px;text-decoration:none;position:relative}.site-nav a:hover{color:var(--color-text);background:var(--action-neutral-bg)}.site-nav a[aria-current=page]{color:var(--color-text)}.site-nav a[aria-current=page]:after{content:"";background:var(--color-accent);border-radius:2px;height:2px;position:absolute;bottom:-13px;left:10px;right:10px}.site-header__actions{align-items:center;gap:var(--space-2);min-width:0;margin-left:auto;display:flex}.site-brand{white-space:nowrap;flex-shrink:0}.site-menu{display:none;position:relative}.site-menu>summary{list-style:none}.site-menu>summary::-webkit-details-marker{display:none}.site-menu__panel{min-width:200px;padding:var(--space-2);border-radius:var(--radius-lg);background:var(--color-surface-raised);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);display:grid;position:absolute;top:calc(100% + 8px);right:0}.site-menu__panel a{border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary);padding:10px 12px;text-decoration:none}.site-menu__panel a:hover,.site-menu__panel a[aria-current=page]{color:var(--color-text);background:var(--action-neutral-bg)}@media (width<=768px){.site-nav{display:none}.site-menu{display:block}.site-header__inner{gap:var(--space-3)}}@media (width<=480px){.site-brand__sub{display:none}.site-header__actions{gap:6px}.site-header__actions .segmented button{padding-inline:var(--space-2)}}@media (pointer:coarse){.site-header__actions .btn,.site-menu>summary{--btn-h:44px;min-width:44px}.site-header__actions .segmented button{min-height:38px}.site-menu__panel a{padding-block:12px}}.site-footer{margin-top:var(--space-24);padding-block:var(--space-16) var(--space-10);border-top:1px solid var(--color-border-subtle);font-size:var(--text-sm)}.site-footer__grid{gap:var(--space-10);grid-template-columns:minmax(220px,1.4fr) repeat(auto-fit,minmax(140px,1fr));display:grid}.site-footer__tagline{margin-top:var(--space-3);max-width:32ch;color:var(--color-text-tertiary);line-height:var(--leading-normal)}.site-footer__title{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:var(--space-3)}.site-footer ul{gap:var(--space-2);padding:0;list-style:none;display:grid}.site-footer ul a{color:var(--color-text-secondary);transition:color var(--duration-fast);text-decoration:none}.site-footer ul a:hover{color:var(--color-text)}.site-footer__legal{justify-content:space-between;gap:var(--space-3);margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--color-border-subtle);color:var(--color-text-tertiary);font-size:var(--text-xs);flex-wrap:wrap;display:flex}@media (width<=640px){.site-footer__grid{grid-template-columns:1fr 1fr}.site-footer__brand{grid-column:1/-1}}.post-card{gap:var(--space-4);padding:var(--space-3);color:inherit;flex-direction:column;text-decoration:none;display:flex}.post-card .article-cover{aspect-ratio:2;border-radius:var(--radius-lg)}.post-card__body{gap:var(--space-2);padding:0 var(--space-2) var(--space-2);flex-direction:column;display:flex}.post-card__title{font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-snug);letter-spacing:-.01em;color:var(--color-text);text-wrap:pretty;word-break:keep-all;overflow-wrap:anywhere}.post-card__excerpt{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-normal);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.post-card__meta{gap:var(--space-2);padding-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;margin-top:auto;display:flex}.post-card__meta>*+:before{content:"·";margin-right:var(--space-2)}.post-card--actions{position:relative}.post-card__link{color:inherit;text-decoration:none}.post-card__link:before{content:"";border-radius:inherit;z-index:1;position:absolute;inset:0}.post-card__link:focus-visible{outline:none}.post-card--actions:has(.post-card__link:focus-visible){box-shadow:0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-focus-ring)}.post-card__actions{z-index:2;gap:var(--space-2);padding-top:var(--space-3);flex-wrap:wrap;display:flex;position:relative}.post-card--featured{align-items:center;gap:var(--space-8);padding:var(--space-4);grid-template-columns:1.15fr 1fr;display:grid}.post-card--featured .article-cover{aspect-ratio:16/10}.post-card--featured .post-card__title{letter-spacing:-.025em;text-wrap:balance;font-size:clamp(1.5rem,1.1rem + 1.4vw,2.25rem);line-height:1.15}.post-card--featured .post-card__excerpt{font-size:var(--text-base);-webkit-line-clamp:3}@media (width<=768px){.post-card--featured{gap:var(--space-4);grid-template-columns:1fr}}.post-card--compact{align-items:baseline;gap:var(--space-6);padding:var(--space-4) var(--space-2);box-shadow:none;background:0 0;border-width:0 0 1px;border-radius:0;flex-direction:row}.post-card--compact:hover{box-shadow:none;transform:none}.post-card--compact .post-card__date{width:96px;font-size:var(--text-xs);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;flex-shrink:0}.post-card--compact .post-card__body{padding:0}.post-card--compact .post-card__title{font-size:var(--text-base)}.breadcrumbs ol{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-tertiary);margin:0;padding:0;list-style:none}.breadcrumbs li{display:inline}.breadcrumbs li+li:before{content:"›";margin-inline:var(--space-2);color:var(--color-text-tertiary)}.breadcrumbs a{color:var(--color-text-secondary);border-radius:var(--radius-sm);text-decoration:none}.breadcrumbs a:hover{color:var(--color-text);text-underline-offset:3px;text-decoration:underline}.breadcrumbs a:focus-visible{box-shadow:0 0 0 2px var(--color-focus-ring);outline:none}.breadcrumbs [aria-current=page]{color:var(--color-text);overflow-wrap:anywhere}.hero__inner{text-align:center}.hero__title{margin-top:var(--space-6)}.hero__lead{margin:var(--space-6) auto 0;max-width:44ch}.hero__actions{max-width:420px;margin:var(--space-8) auto 0}.subscribe .field-message{margin-top:var(--space-3)}
