:root{--font-sans: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;--font-serif: "Noto Serif TC", "Songti TC", "Source Han Serif TC", serif;--font-mono: "IBM Plex Mono", "Roboto Mono", ui-monospace, monospace;--w-light: 300;--w-regular: 400;--w-medium: 500;--w-bold: 700;--brand-navy: #002855;--brand-blue: #004987;--brand-sky: #61B3E4;--brand-sky-light: #8FC6E8;--brand-sky-faint: #C4D5EC;--brand-teal: #007A89;--brand-mint: #7ADED4;--brand-slate: #263645;--party-kmt: #003DA5;--party-dpp: #1B9431;--party-tpp: #28C8C8;--party-npp: #FBBE01;--bg: #FFFFFF;--bg-elevated: #F4F7FA;--bg-navy: var(--brand-navy);--text: #263645;--text-dim: #425363;--text-muted: #7E8E9C;--accent: var(--brand-blue);--accent-hover: var(--brand-navy);--positive: var(--brand-mint);--rule: #D6DEE6;--rule-soft: rgba(38, 54, 69, .12);--heading: var(--brand-navy);--accent-strong: var(--brand-teal);--warn: #C8102E;--surface-chart: var(--bg-elevated);--text-root: 18px;--text-2xs: .72rem;--text-xs: .83rem;--text-base: 1rem;--text-md: 1.22rem;--text-lg: 1.44rem;--text-xl: 1.72rem;--text-2xl: 2.06rem;--text-display: 2.72rem;--text-page-title: var(--text-2xl);--text-callout: var(--text-xl);--text-stat: var(--text-2xl);--text-footnote-ref: .7em;--card-h2: var(--text-md);--lh-tight: 1.2;--lh-heading: 1.32;--lh-snug: 1.5;--lh-body: 1.7;--lh-prose: 1.9;--tracking-body: 0;--tracking-prose: 0;--tracking-tight: 0;--tracking-label: 0;--space-1: .222rem;--space-2: .444rem;--space-3: .667rem;--space-4: .889rem;--space-5: 1.333rem;--space-6: 1.778rem;--space-7: 2.667rem;--space-8: 3.556rem;--space-9: 5.333rem;--measure-prose: 40rem;--measure-text: 34rem;--tap-min: 44px;--glass-blur-light: 14px;--glass-blur-medium: 20px;--glass-blur-heavy: 28px;--glass-saturate: 180%;--glass-tint-light: color-mix(in srgb, #ffffff 58%, transparent);--glass-tint-light-strong: color-mix(in srgb, #ffffff 72%, transparent);--glass-tint-navy: color-mix(in srgb, var(--brand-navy) 78%, transparent);--glass-tint-navy-strong: color-mix(in srgb, var(--brand-navy) 90%, transparent);--glass-border-light: 1px solid color-mix(in srgb, #ffffff 55%, transparent);--glass-border-navy: 1px solid color-mix(in srgb, var(--brand-sky) 28%, transparent);--glass-highlight-top: inset 0 1px 0 color-mix(in srgb, #ffffff 85%, transparent);--glass-highlight-edge: inset 0 0 0 1px color-mix(in srgb, #ffffff 22%, transparent);--glass-shade-bottom: inset 0 -1px 0 color-mix(in srgb, var(--brand-navy) 14%, transparent);--glass-thickness-light: var(--glass-highlight-top), var(--glass-highlight-edge), var(--glass-shade-bottom);--glass-highlight-top-navy: inset 0 1px 0 color-mix(in srgb, var(--brand-sky) 50%, transparent);--glass-highlight-edge-navy: inset 0 0 0 1px color-mix(in srgb, var(--brand-sky) 18%, transparent);--glass-shade-bottom-navy: inset 0 -1px 0 rgba(0, 0, 0, .3);--glass-thickness-navy: var(--glass-highlight-top-navy), var(--glass-highlight-edge-navy), var(--glass-shade-bottom-navy);--glass-inset-light: var(--glass-highlight-top);--glass-inset-navy: var(--glass-highlight-top-navy);--glass-spec-x: 30%;--glass-spec-y: 0%;--glass-spec-size: 140%;--glass-spec-alpha: .42;--glass-shadow-soft: 0 10px 28px -10px rgba(0, 40, 85, .22), 0 2px 8px -2px rgba(0, 40, 85, .12);--glass-shadow-lifted: 0 22px 48px -16px rgba(0, 40, 85, .34), 0 6px 14px -4px rgba(0, 40, 85, .16);--glass-radius-sm: 10px;--glass-radius-md: 14px;--glass-radius-lg: 20px;--glass-radius-pill: 999px;--glass-radius-icon: 12px;--glass-press-scale: .985;--glass-focus-ring: 0 0 0 2px var(--bg), 0 0 0 4px color-mix(in srgb, var(--brand-blue) 70%, transparent);--glass-tint-button-primary: color-mix(in srgb, var(--brand-teal) 88%, transparent);--glass-tint-button-primary-hover: color-mix(in srgb, var(--brand-teal) 96%, transparent);--glass-tint-button-ghost: color-mix(in srgb, var(--brand-navy) 6%, transparent);--glass-tint-button-ghost-hover: color-mix(in srgb, var(--brand-navy) 10%, transparent);--glass-tint-tag: color-mix(in srgb, var(--brand-navy) 5%, transparent);--glass-tint-input: color-mix(in srgb, #ffffff 60%, transparent);--glass-tint-input-focus: color-mix(in srgb, #ffffff 80%, transparent);--glass-fg-on-light: var(--text);--glass-fg-on-primary: #ffffff;--glass-fg-on-ghost-dark: rgba(255, 255, 255, .92);--glass-lift: .2s cubic-bezier(.2, .7, .2, 1)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){:root{--glass-tint-light: #FFFFFF;--glass-tint-light-strong: #FFFFFF;--glass-tint-navy: var(--brand-navy);--glass-tint-navy-strong: var(--brand-navy);--glass-spec-alpha: 0;--glass-tint-button-primary: var(--brand-teal);--glass-tint-button-primary-hover: var(--brand-navy);--glass-tint-button-ghost: transparent;--glass-tint-button-ghost-hover: color-mix(in srgb, currentColor 8%, transparent);--glass-tint-tag: var(--bg-elevated);--glass-tint-input: var(--bg);--glass-tint-input-focus: var(--bg)}}@media(prefers-reduced-transparency:reduce){:root{--glass-tint-light: #FFFFFF;--glass-tint-light-strong: #FFFFFF;--glass-tint-navy: var(--brand-navy);--glass-tint-navy-strong: var(--brand-navy);--glass-spec-alpha: 0;--glass-tint-button-primary: var(--brand-teal);--glass-tint-button-primary-hover: var(--brand-navy);--glass-tint-button-ghost: transparent;--glass-tint-button-ghost-hover: color-mix(in srgb, currentColor 8%, transparent);--glass-tint-tag: var(--bg-elevated);--glass-tint-input: var(--bg);--glass-tint-input-focus: var(--bg)}}[data-theme=dark]{--bg: #0B1220;--bg-elevated: #131C2E;--text: #E8EEF7;--text-dim: #A9B6C8;--text-muted: #7E8E9C;--accent: var(--brand-sky);--accent-hover: color-mix(in oklch, var(--brand-sky) 76%, white 24%);--positive: var(--brand-mint);--rule: color-mix(in srgb, var(--brand-sky) 14%, transparent);--rule-soft: color-mix(in srgb, var(--brand-sky) 7%, transparent);--heading: #F2F6FC;--accent-strong: color-mix(in oklch, var(--brand-mint) 78%, var(--brand-sky) 22%);--warn: #F08A95;--surface-chart: #F4F7FA;--glass-tint-light: color-mix(in srgb, #1F2A40 78%, transparent);--glass-tint-light-strong: color-mix(in srgb, #1F2A40 92%, transparent);--glass-border-light: 1px solid color-mix(in srgb, var(--brand-sky) 16%, transparent);--glass-highlight-top: inset 0 1px 0 color-mix(in srgb, var(--brand-sky) 30%, transparent);--glass-highlight-edge: inset 0 0 0 1px color-mix(in srgb, var(--brand-sky) 12%, transparent);--glass-shade-bottom: inset 0 -1px 0 rgba(0, 0, 0, .5);--glass-thickness-light: var(--glass-highlight-top), var(--glass-highlight-edge), var(--glass-shade-bottom);--glass-inset-light: var(--glass-highlight-top);--glass-spec-alpha: .22;--glass-shadow-soft: 0 10px 28px -10px rgba(0, 0, 0, .6), 0 2px 8px -2px rgba(0, 0, 0, .38);--glass-shadow-lifted: 0 22px 48px -16px rgba(0, 0, 0, .7), 0 6px 14px -4px rgba(0, 0, 0, .48);--glass-focus-ring: 0 0 0 2px var(--bg), 0 0 0 4px color-mix(in srgb, var(--brand-sky) 70%, transparent);--glass-tint-button-primary: color-mix(in srgb, var(--brand-teal) 80%, transparent);--glass-tint-button-primary-hover: color-mix(in srgb, var(--brand-mint) 70%, transparent);--glass-tint-button-ghost: color-mix(in srgb, var(--brand-sky) 10%, transparent);--glass-tint-button-ghost-hover: color-mix(in srgb, var(--brand-sky) 18%, transparent);--glass-tint-tag: color-mix(in srgb, var(--brand-sky) 9%, transparent);--glass-tint-input: color-mix(in srgb, var(--brand-sky) 7%, transparent);--glass-tint-input-focus: color-mix(in srgb, var(--brand-sky) 14%, transparent)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){[data-theme=dark]{--glass-tint-light: #1B2533;--glass-tint-light-strong: #1B2533;--glass-spec-alpha: 0;--glass-tint-button-primary: var(--brand-teal);--glass-tint-button-primary-hover: var(--brand-mint);--glass-tint-button-ghost: transparent;--glass-tint-button-ghost-hover: color-mix(in srgb, currentColor 14%, transparent);--glass-tint-tag: #161E29;--glass-tint-input: #161E29;--glass-tint-input-focus: #1B2533}}@media(prefers-reduced-transparency:reduce){[data-theme=dark]{--glass-tint-light: #1B2533;--glass-tint-light-strong: #1B2533;--glass-spec-alpha: 0;--glass-tint-button-primary: var(--brand-teal);--glass-tint-button-primary-hover: var(--brand-mint);--glass-tint-button-ghost: transparent;--glass-tint-button-ghost-hover: color-mix(in srgb, currentColor 14%, transparent);--glass-tint-tag: #161E29;--glass-tint-input: #161E29;--glass-tint-input-focus: #1B2533}}[data-theme=dark] :where(a,button,[role=button],.pill,summary,input,select,textarea,[tabindex]):focus-visible{outline-color:var(--brand-sky)}[data-theme=light]{--bg: #FFFFFF;--bg-elevated: #F4F7FA;--text: #263645;--text-dim: #425363;--text-muted: #7E8E9C;--accent: var(--brand-blue);--accent-hover: var(--brand-navy);--positive: var(--brand-mint);--rule: #D6DEE6;--rule-soft: rgba(38, 54, 69, .12);--heading: var(--brand-navy);--accent-strong: var(--brand-teal);--warn: #C8102E;--surface-chart: var(--bg-elevated);--glass-tint-light: color-mix(in srgb, #ffffff 58%, transparent);--glass-tint-light-strong: color-mix(in srgb, #ffffff 72%, transparent);--glass-border-light: 1px solid color-mix(in srgb, #ffffff 55%, transparent);--glass-highlight-top: inset 0 1px 0 color-mix(in srgb, #ffffff 85%, transparent);--glass-highlight-edge: inset 0 0 0 1px color-mix(in srgb, #ffffff 22%, transparent);--glass-shade-bottom: inset 0 -1px 0 color-mix(in srgb, var(--brand-navy) 14%, transparent);--glass-thickness-light: var(--glass-highlight-top), var(--glass-highlight-edge), var(--glass-shade-bottom);--glass-inset-light: var(--glass-highlight-top);--glass-spec-alpha: .42;--glass-shadow-soft: 0 10px 28px -10px rgba(0, 40, 85, .22), 0 2px 8px -2px rgba(0, 40, 85, .12);--glass-shadow-lifted: 0 22px 48px -16px rgba(0, 40, 85, .34), 0 6px 14px -4px rgba(0, 40, 85, .16);--glass-focus-ring: 0 0 0 2px var(--bg), 0 0 0 4px color-mix(in srgb, var(--brand-blue) 70%, transparent);--glass-tint-button-primary: color-mix(in srgb, var(--brand-teal) 88%, transparent);--glass-tint-button-primary-hover: color-mix(in srgb, var(--brand-teal) 96%, transparent);--glass-tint-button-ghost: color-mix(in srgb, var(--brand-navy) 6%, transparent);--glass-tint-button-ghost-hover: color-mix(in srgb, var(--brand-navy) 10%, transparent);--glass-tint-tag: color-mix(in srgb, var(--brand-navy) 5%, transparent);--glass-tint-input: color-mix(in srgb, #ffffff 60%, transparent);--glass-tint-input-focus: color-mix(in srgb, #ffffff 80%, transparent)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-weight:var(--w-regular);font-size:var(--text-root);line-height:var(--lh-body);letter-spacing:var(--tracking-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .16s ease,color .16s ease}a:hover{color:var(--accent-hover);border-bottom-color:var(--accent-hover)}:where(a,button,[role=button],.pill,summary,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--brand-navy);outline-offset:2px;border-radius:2px}:where(a,button):focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}::view-transition-old(root),::view-transition-new(root){animation-duration:.22s}@keyframes pdata-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pdata-fade-in{0%{opacity:0}to{opacity:1}}@keyframes pdata-signal-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes pdata-dot-pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes pdata-peak-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.78)}}@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}}:where(.glass-nav,.glass-card,.glass-pill,.glass-step,.glass-tooltip,.glass-button,.glass-tag,.glass-input,.glass-segmented){position:relative;isolation:isolate;backdrop-filter:blur(var(--glass-blur-medium)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur-medium)) saturate(var(--glass-saturate));border-radius:var(--glass-radius-md);transition:transform var(--glass-lift),box-shadow var(--glass-lift),background-color var(--glass-lift),border-color var(--glass-lift)}:where(.glass-card,.glass-pill,.glass-step,.glass-tooltip,.glass-button,.glass-tag,.glass-input,.glass-segmented):before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(var(--glass-spec-size) 80% at var(--glass-spec-x) var(--glass-spec-y),color-mix(in srgb,#ffffff calc(var(--glass-spec-alpha) * 100%),transparent) 0%,transparent 60%);mix-blend-mode:screen;z-index:0;transition:background var(--glass-lift),opacity var(--glass-lift)}:where(.glass-card,.glass-pill,.glass-step,.glass-tooltip,.glass-button,.glass-tag,.glass-input,.glass-segmented)>*{position:relative;z-index:1}.glass-nav{background:var(--glass-tint-light);border-bottom:var(--glass-border-light);box-shadow:var(--glass-thickness-light);backdrop-filter:blur(var(--glass-blur-light)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur-light)) saturate(var(--glass-saturate))}.glass-nav.is-scrolled{background:var(--glass-tint-light-strong);box-shadow:var(--glass-thickness-light),var(--glass-shadow-soft)}.glass-card{background:var(--glass-tint-light);border:var(--glass-border-light);border-radius:var(--glass-radius-lg);box-shadow:var(--glass-thickness-light),var(--glass-shadow-soft)}@media(hover:hover){.glass-card:hover{transform:translateY(-3px);background:var(--glass-tint-light-strong);box-shadow:var(--glass-thickness-light),var(--glass-shadow-lifted);will-change:transform;--glass-spec-x: 70%;--glass-spec-y: -10%;--glass-spec-alpha: .55}}.glass-card:focus-within{transform:translateY(-3px);background:var(--glass-tint-light-strong);box-shadow:var(--glass-focus-ring),var(--glass-thickness-light),var(--glass-shadow-lifted)}.glass-card:active{transform:scale(var(--glass-press-scale))}.glass-pill{background:var(--glass-tint-light);border:var(--glass-border-light);border-radius:var(--glass-radius-pill);box-shadow:var(--glass-thickness-light);backdrop-filter:blur(var(--glass-blur-light)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur-light)) saturate(var(--glass-saturate))}@media(hover:hover){.glass-pill:hover{background:var(--glass-tint-light-strong);box-shadow:var(--glass-thickness-light),var(--glass-shadow-soft);--glass-spec-alpha: .55}}.glass-step{background:var(--glass-tint-light-strong);border:var(--glass-border-light);border-radius:var(--glass-radius-lg);box-shadow:var(--glass-thickness-light),var(--glass-shadow-soft);padding:var(--space-5)}.glass-step.is-active{box-shadow:var(--glass-thickness-light),var(--glass-shadow-lifted)}.glass-tooltip{background:var(--glass-tint-navy-strong);color:#fff;border:var(--glass-border-navy);border-radius:var(--glass-radius-md);box-shadow:var(--glass-thickness-navy),var(--glass-shadow-lifted);backdrop-filter:blur(var(--glass-blur-heavy)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur-heavy)) saturate(var(--glass-saturate))}.glass-card.on-dark,.glass-step.on-dark{background:var(--glass-tint-navy);border:var(--glass-border-navy);box-shadow:var(--glass-thickness-navy),var(--glass-shadow-soft);color:#ffffffeb}.glass-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap-min);padding:var(--space-3) var(--space-5);border-radius:var(--glass-radius-md);border:var(--glass-border-light);background:var(--glass-tint-button-ghost);box-shadow:var(--glass-thickness-light),var(--glass-shadow-soft);color:var(--glass-fg-on-light);font:inherit;font-weight:var(--w-medium);font-size:var(--text-xs);letter-spacing:var(--tracking-body);cursor:pointer;text-decoration:none;backdrop-filter:blur(var(--glass-blur-light)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur-light)) saturate(var(--glass-saturate))}@media(hover:hover){.glass-button:hover{background:var(--glass-tint-button-ghost-hover);box-shadow:var(--glass-thickness-light),var(--glass-shadow-lifted);transform:translateY(-1px);--glass-spec-x: 65%;--glass-spec-alpha: .55}}.glass-button:active{transform:scale(var(--glass-press-scale));box-shadow:var(--glass-thickness-light)}.glass-button:focus-visible{outline:none;box-shadow:var(--glass-focus-ring),var(--glass-thickness-light),var(--glass-shadow-soft)}.glass-button.is-primary{background:var(--glass-tint-button-primary);color:var(--glass-fg-on-primary);border-color:color-mix(in srgb,var(--brand-teal) 60%,transparent)}.glass-button.is-primary:hover{background:var(--glass-tint-button-primary-hover)}.glass-button.on-dark{color:var(--glass-fg-on-ghost-dark);background:color-mix(in srgb,#ffffff 14%,transparent);border-color:color-mix(in srgb,#ffffff 28%,transparent);box-shadow:var(--glass-thickness-navy),var(--glass-shadow-soft)}.glass-button.on-dark:hover{background:color-mix(in srgb,#ffffff 22%,transparent);color:#fff}.glass-button.glass-icon{width:40px;min-height:40px;height:40px;padding:0;border-radius:var(--glass-radius-icon)}@media(max-width:420px){.glass-button.glass-icon{width:36px;height:36px;min-height:36px}}.glass-tag{display:inline-flex;align-items:center;gap:.25em;padding:.25rem .7rem;border-radius:var(--glass-radius-pill);background:var(--glass-tint-tag);border:var(--glass-border-light);box-shadow:var(--glass-thickness-light);color:var(--text-dim);font-size:var(--text-2xs);line-height:1.4;backdrop-filter:blur(var(--glass-blur-light)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur-light)) saturate(var(--glass-saturate));text-decoration:none}@media(hover:hover){.glass-tag:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent);--glass-spec-alpha: .55}}.glass-tag:focus-visible{outline:none;box-shadow:var(--glass-focus-ring),var(--glass-thickness-light)}.glass-input{display:block;width:100%;min-height:var(--tap-min);padding:var(--space-3) var(--space-4);border-radius:var(--glass-radius-md);border:var(--glass-border-light);background:var(--glass-tint-input);box-shadow:var(--glass-thickness-light);color:var(--text);font:inherit;font-size:var(--text-base);-webkit-appearance:none;appearance:none;backdrop-filter:blur(var(--glass-blur-light)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur-light)) saturate(var(--glass-saturate))}.glass-input::placeholder{color:var(--text-muted)}.glass-input:hover{background:var(--glass-tint-input-focus)}.glass-input:focus,.glass-input:focus-visible{outline:none;background:var(--glass-tint-input-focus);box-shadow:var(--glass-focus-ring),var(--glass-thickness-light)}.glass-input.is-search{padding-left:calc(var(--space-4) + 1.25rem)}.glass-segmented{display:inline-flex;gap:2px;padding:3px;border-radius:var(--glass-radius-pill);border:var(--glass-border-light);background:var(--glass-tint-light);box-shadow:var(--glass-thickness-light);backdrop-filter:blur(var(--glass-blur-light)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur-light)) saturate(var(--glass-saturate))}.glass-segmented>.glass-button{min-height:32px;padding:var(--space-2) var(--space-4);border:none;background:transparent;box-shadow:none;border-radius:var(--glass-radius-pill)}.glass-segmented>.glass-button[aria-pressed=true],.glass-segmented>.glass-button.is-active{background:var(--glass-tint-light-strong);box-shadow:var(--glass-thickness-light)}.glass-segmented>.glass-button:before{display:none}@media(prefers-reduced-motion:reduce){:where(.glass-nav,.glass-card,.glass-pill,.glass-step,.glass-tooltip,.glass-button,.glass-tag,.glass-input,.glass-segmented){transition:none}:where(.glass-card,.glass-pill,.glass-step,.glass-tooltip,.glass-button,.glass-tag,.glass-input,.glass-segmented):before{transition:none}.glass-card:hover,.glass-card:focus-within,.glass-card:active,.glass-button:hover,.glass-button:active{transform:none}}@media(prefers-reduced-transparency:reduce){:where(.glass-card,.glass-pill,.glass-step,.glass-tooltip,.glass-button,.glass-tag,.glass-input,.glass-segmented):before{display:none}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){:where(.glass-card,.glass-pill,.glass-step,.glass-tooltip,.glass-button,.glass-tag,.glass-input,.glass-segmented):before{display:none}}.breadcrumb{max-width:720px;margin:1.6rem auto 0;padding:0 1.25rem;font-size:var(--text-xs);color:var(--text-muted)}.breadcrumb a{color:var(--text-muted);border:none}.breadcrumb a:hover{color:var(--accent)}.breadcrumb span{margin:0 .4rem}.article-header{max-width:var(--measure-prose);margin:0 auto;padding:var(--space-4) 1.25rem 0}.article-header .cat{color:var(--accent-strong);font-weight:500;font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.article-header h1{font-size:var(--text-page-title);color:var(--heading);line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);margin:var(--space-3) 0 var(--space-3);view-transition-name:pdata-article-title}.site-nav{view-transition-name:pdata-nav}.site-nav .brand-logo{view-transition-name:pdata-brand}.site-footer{view-transition-name:pdata-footer}@media(prefers-reduced-motion:reduce){.article-header h1,.site-nav,.site-nav .brand-logo,.site-footer{view-transition-name:none}}.article-header .subtitle{color:var(--text-dim);font-size:var(--text-md);line-height:var(--lh-snug);margin:0 0 var(--space-4);font-weight:400}.byline{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;font-size:var(--text-xs);color:var(--text-muted);padding-bottom:var(--space-5);border-bottom:1px solid var(--rule);font-variant-numeric:tabular-nums}.byline .author{color:var(--text-dim);font-weight:500}.byline .dot:before{content:"·";margin-right:var(--space-3)}.article-body{max-width:var(--measure-prose);margin:0 auto;padding:var(--space-6) 1.25rem 1rem;font-family:var(--font-serif);line-height:var(--lh-prose);letter-spacing:var(--tracking-prose)}.article-body h2{font-family:var(--font-sans);color:var(--heading);font-size:var(--text-lg);margin:var(--space-7) 0 var(--space-3);line-height:var(--lh-heading);letter-spacing:var(--tracking-tight)}.article-body h3{font-family:var(--font-sans);color:var(--heading);font-size:var(--text-md);margin:var(--space-6) 0 var(--space-2);line-height:var(--lh-heading)}.article-body p{margin:0 0 var(--space-5)}.article-body strong{color:var(--heading)}.article-body em{color:var(--accent-strong);font-style:normal;font-weight:500}.article-body blockquote{margin:var(--space-6) 0;padding:.2rem 0 .2rem var(--space-4);border-left:3px solid var(--accent-strong);color:var(--text-dim)}.pull-quote{font-family:var(--font-sans);font-size:var(--text-callout);line-height:var(--lh-snug);color:var(--heading);font-weight:500;margin:var(--space-7) 0;padding-left:var(--space-4);border-left:4px solid var(--brand-mint)}.story-hook{font-family:var(--font-sans);margin:0 0 var(--space-7);padding:0 0 var(--space-1)}.story-hook p{font-size:var(--text-callout);line-height:var(--lh-snug);color:var(--heading);font-weight:500;margin:0 0 var(--space-4)}.story-hook p.sub{font-size:var(--text-base);line-height:var(--lh-body);color:var(--text-dim);font-weight:400;font-family:var(--font-serif)}.stat-row{display:flex;flex-wrap:wrap;gap:var(--space-5) var(--space-6);margin:var(--space-6) 0;padding:var(--space-4) 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.stat{font-family:var(--font-sans);min-width:6rem}.stat .stat-num{display:block;font-size:var(--text-stat);font-weight:700;color:var(--heading);font-variant-numeric:tabular-nums;line-height:var(--lh-tight);letter-spacing:var(--tracking-tight)}.stat .stat-label{display:block;margin-top:var(--space-1);font-size:var(--text-2xs);line-height:1.4;color:var(--text-muted)}.media-claim{font-family:var(--font-sans);background:var(--bg-elevated);border-left:3px solid var(--warn);border-radius:2px;padding:var(--space-4) var(--space-4);margin:var(--space-6) 0}.media-claim .mc-label{font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--warn);font-weight:700;margin:0 0 var(--space-2)}.media-claim .mc-headline{margin:var(--space-1) 0;padding:0;border:none;color:var(--text-dim);font-size:var(--text-xs);line-height:1.6}.media-claim .mc-headline:before{content:"「";color:var(--text-muted)}.media-claim .mc-headline:after{content:"」";color:var(--text-muted)}.media-claim .mc-headline a{color:var(--text-dim);border-bottom:1px dotted var(--rule)}.media-claim .mc-headline a:hover{color:var(--accent);border-bottom-color:var(--accent)}.media-claim .mc-turn{margin:var(--space-3) 0 0;font-size:var(--text-xs);color:var(--accent-strong);text-align:right;font-weight:500}.marginalia{font-family:var(--font-sans);background:var(--bg-elevated);border-radius:2px;padding:var(--space-4) var(--space-4);font-size:var(--text-xs);line-height:1.7;color:var(--text-dim);margin:var(--space-6) 0}.marginalia b{color:var(--accent-strong);font-weight:500}.sidenote{font-family:var(--font-sans);font-size:var(--text-xs);line-height:1.7;color:var(--text-dim);border-left:2px solid var(--brand-sky);padding-left:var(--space-3);margin:var(--space-5) 0}.sidenote b{color:var(--accent-strong);font-weight:500}@media(min-width:1080px){.article-body:has(>.sidenote){display:grid;grid-template-columns:minmax(0,720px) minmax(0,15rem);column-gap:2.5rem;justify-content:center;max-width:none}.article-body:has(>.sidenote)>*{grid-column:1}.article-body>.sidenote{grid-column:2;align-self:start;margin:var(--space-1) 0 var(--space-4);border-left:none;padding-left:0;font-size:var(--text-2xs);color:var(--text-muted)}}.fn-ref{font-size:var(--text-footnote-ref);line-height:0}.fn-ref a{border:none;font-weight:700;padding:0 .15em}.footnotes{font-family:var(--font-sans);font-size:var(--text-xs);line-height:1.7;color:var(--text-dim);margin:var(--space-7) 0 0;padding-top:var(--space-4);border-top:1px solid var(--rule)}.footnotes-title{font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent-strong);margin:0 0 var(--space-3)}.footnotes ol{margin:0;padding-left:var(--space-4)}.footnotes li{margin:var(--space-2) 0}.footnotes li:target{background:color-mix(in srgb,var(--accent-strong) 14%,transparent);border-radius:3px}.fn-back{border:none;margin-left:var(--space-1);color:var(--accent-strong)}:where(.footnotes li,[id^=fnref-]){scroll-margin-top:80px}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.article-body .term{border-bottom:1px dotted var(--rule)}.code{font-family:var(--font-sans);font-weight:700}.code-j{color:#6b7680}.code-k{color:#0084ad}.code-l{color:#007a89}.code-m{color:#002855}.code-n{color:#004a97}.code-o{color:#00833d}.code-p{color:#008995}[data-theme=dark] .code-j{color:#b4bec8}[data-theme=dark] .code-k{color:#4dc7ee}[data-theme=dark] .code-l{color:#61d6cd}[data-theme=dark] .code-m{color:#8fc6e8}[data-theme=dark] .code-n{color:#61b3e4}[data-theme=dark] .code-o{color:#5dd49c}[data-theme=dark] .code-p{color:#61d6cd}.note-illustrative{font-family:var(--font-sans);font-size:var(--text-xs);line-height:1.7;color:var(--text-dim);background:var(--bg-elevated);border-left:3px solid var(--brand-mint);padding:var(--space-2) var(--space-3);margin:0 0 var(--space-4);border-radius:2px}.note-illustrative strong{color:var(--accent-strong)}.formula{font-family:var(--font-sans);background:var(--bg-elevated);border-radius:2px;padding:var(--space-3) var(--space-3);font-size:var(--text-base);line-height:var(--lh-prose)}.formula .term{border-bottom:none}.article-body details.data-appendix{margin:0 0 1.9rem}.article-body details.data-appendix>summary{cursor:pointer;list-style:revert;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-label);color:var(--accent-strong);padding:.4rem 0}.article-body details.data-appendix>summary:hover{color:var(--heading)}.article-body details.data-appendix[open]>summary{margin-bottom:.4rem}.article-body details.data-appendix .table-cap{display:none}.article-body .table-cap{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-label);color:var(--accent-strong);margin:1.8rem 0 .55rem}.article-body .data-table{margin:0 0 1.9rem;overflow-x:auto}.article-body table{width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:var(--text-xs);line-height:1.5;font-variant-numeric:tabular-nums;color:var(--text-dim)}.article-body thead th{color:var(--heading);font-weight:600;text-align:left;font-size:var(--text-xs);letter-spacing:var(--tracking-label);white-space:nowrap;padding:.5rem .85rem;border-bottom:2px solid var(--heading)}.article-body td{padding:.52rem .85rem;border-bottom:1px solid var(--rule);vertical-align:middle}.article-body tbody tr:last-child td{border-bottom:none}.article-body th.num,.article-body td.num{text-align:right;font-variant-numeric:tabular-nums}.article-body tbody tr:hover{background:color-mix(in srgb,var(--accent-strong) 6%,transparent)}.article-body table a{color:var(--accent);border-bottom-color:transparent}.article-body table a:hover{color:var(--accent-hover);border-bottom-color:var(--accent-hover)}.article-body .data-table:not(.numeric) th:first-child,.article-body .data-table:not(.numeric) td:first-child{white-space:nowrap;width:1%;color:var(--text-muted);font-variant-numeric:tabular-nums}.article-body .data-table.numeric table{width:auto;min-width:min(420px,100%);margin-inline:auto;border:1px solid var(--rule);border-radius:6px;overflow:hidden}.article-body .data-table.numeric thead th{background:var(--bg-elevated);border-bottom-width:1px}.article-body .data-table.numeric td{white-space:nowrap}.article-body .data-table.numeric td:first-child{color:var(--text);font-weight:500}.article-body .data-table.numeric td.num{color:var(--heading);font-weight:600;font-size:var(--text-base);padding-left:2.2rem}.article-body .data-table.numeric tbody tr:nth-child(2n){background:color-mix(in srgb,var(--heading) 4%,transparent)}.article-body .data-table.numeric tbody tr:hover{background:color-mix(in srgb,var(--accent-strong) 8%,transparent)}@media(max-width:640px){.article-body .data-table.numeric td.num{padding-left:1.2rem}.tag-row a{min-height:var(--tap-min);display:inline-flex;align-items:center}.breadcrumb a{display:inline-flex;align-items:center;min-height:var(--tap-min)}}.fig-legend{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--text-dim);display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;margin:.7rem 0 0}.fig-legend span{display:inline-flex;align-items:center;gap:.35rem}.fig-legend i{width:1.1rem;height:0;border-top-width:3px;border-top-style:solid;display:inline-block}.fig-legend i.band{height:.7rem;border:none;opacity:.5;border-radius:1px}.fig-legend i.dash{border-top-style:dashed}.article-toc{max-width:var(--measure-prose);margin:var(--space-3) auto var(--space-2);padding:var(--space-3) 1.25rem 0;font-family:var(--font-sans);font-size:var(--text-xs);line-height:1.55;color:var(--text-dim)}.article-toc .toc-label{margin:0 0 var(--space-2);font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent-strong);font-weight:600}.article-toc ol{list-style:none;padding:0;margin:0;counter-reset:toc;display:grid;gap:var(--space-1)}.article-toc li.toc-l2{counter-increment:toc}.article-toc li.toc-l2:before{content:counter(toc,decimal-leading-zero) " ";color:var(--text-muted);font-variant-numeric:tabular-nums;margin-right:.4rem}.article-toc li.toc-l3{padding-left:1.6rem;color:var(--text-muted)}.article-toc a{color:var(--text-dim);border-bottom:1px solid transparent;padding-bottom:1px;transition:color .16s ease,border-color .16s ease}.article-toc a:hover{color:var(--accent);border-bottom-color:var(--accent)}.article-toc li.is-active a{color:var(--heading);border-bottom-color:var(--accent-strong)}@media(min-width:1280px){.article-toc{position:fixed;top:96px;right:max(1.5rem,calc((100vw - var(--measure-prose) - 1.25rem * 2) / 2 - 18rem));width:16rem;max-height:calc(100vh - 140px);overflow-y:auto;padding:var(--space-4);margin:0;background:var(--bg-elevated);border:1px solid var(--rule-soft);border-radius:4px;z-index:10}}@media(prefers-reduced-motion:reduce){.article-toc a{transition:none}}.figure{margin:var(--space-7) 0}.figure .fig-title{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:500;color:var(--heading);margin:0 0 var(--space-1)}.figure .fig-note{font-family:var(--font-sans);font-size:var(--text-2xs);color:var(--text-muted);margin:var(--space-2) 0 0;line-height:1.6}.figure .chart{background:var(--surface-chart);border-radius:2px;padding:var(--space-4);position:relative;min-height:120px}[data-theme=dark] .figure .chart{color-scheme:light;--text: #263645;--text-dim: #425363;--text-muted: #7E8E9C;--rule: #D6DEE6;--rule-soft: rgba(38, 54, 69, .12);--heading: var(--brand-navy);--accent-strong: var(--brand-teal);--accent: var(--brand-blue);--accent-hover: var(--brand-navy);--bg-elevated: #F4F7FA;--glass-tint-light: color-mix(in srgb, #ffffff 72%, transparent);--glass-tint-light-strong: color-mix(in srgb, #ffffff 88%, transparent);--glass-border-light: 1px solid color-mix(in srgb, #ffffff 55%, transparent);--glass-inset-light: inset 0 1px 0 color-mix(in srgb, #ffffff 75%, transparent)}.figure svg{display:block;width:100%;height:auto;font-family:var(--font-sans)}.tag-row{max-width:720px;margin:2rem auto 0;padding:0 1.25rem;display:flex;flex-wrap:wrap;gap:.5rem}.series-nav{max-width:720px;margin:2.4rem auto 0;padding:1.2rem 1.25rem;background:var(--bg-elevated);border-radius:2px;font-family:var(--font-sans)}.series-nav .label{font-size:var(--text-2xs);letter-spacing:var(--tracking-label);color:var(--accent-strong);text-transform:uppercase;margin:0 0 .6rem}.series-nav ol{margin:0;padding-left:1.4rem}.series-nav li{margin:.3rem 0;color:var(--text-dim)}.series-nav li.current{color:var(--heading);font-weight:500}.series-nav li.current::marker{color:var(--accent-strong)}.related{max-width:720px;margin:3rem auto 0;padding:2rem 1.25rem 0;border-top:1px solid var(--rule);font-family:var(--font-sans)}.related h2{font-size:var(--text-base);letter-spacing:var(--tracking-label);color:var(--heading);margin:0 0 1rem}.related ul{list-style:none;padding:0;margin:0;display:grid;gap:1rem}.related a{display:block;border:none;border-left:2px solid var(--rule-soft);padding-left:.9rem}.related a:hover{border-left-color:var(--accent-strong)}.related .r-meta{font-size:var(--text-2xs);color:var(--text-muted)}.related .r-title{color:var(--heading);font-weight:500;margin:.2rem 0 0}@media(prefers-reduced-motion:no-preference){.figure.scrolly .scrolly-track{position:relative}.figure.scrolly .scrolly-graphic{position:sticky;top:80px;height:calc(100vh - 100px);display:flex;align-items:center;justify-content:center;margin:0}.figure.scrolly .scrolly-steps{position:relative;z-index:2;margin-top:calc(-100vh + 100px);pointer-events:none}.figure.scrolly .scrolly-step{min-height:92vh;display:flex;align-items:center;justify-content:flex-end}.figure.scrolly .scrolly-step p{pointer-events:auto;max-width:22rem;margin:0;padding:1rem 1.2rem;background:#ffffffe6;background:color-mix(in srgb,var(--bg, #fff) 90%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-left:3px solid var(--rule);border-radius:2px;box-shadow:0 2px 14px #00285514;opacity:.5;transition:opacity .24s ease,border-color .24s ease}.figure.scrolly .scrolly-step.is-active p{opacity:1;border-left-color:var(--brand-teal)}}@media(prefers-reduced-motion:no-preference)and (max-width:720px){.figure.scrolly .scrolly-graphic{top:60px;height:64vh;display:block}.figure.scrolly .scrolly-steps{margin-top:-64vh}.figure.scrolly .scrolly-step{min-height:78vh;justify-content:center}.figure.scrolly .scrolly-step p{max-width:100%;background:#fffffff5;background:color-mix(in srgb,var(--bg, #fff) 96%,transparent)}}@media(prefers-reduced-motion:reduce){.figure.scrolly .scrolly-track{display:block}.figure.scrolly .scrolly-graphic{position:static;height:auto}.figure.scrolly .scrolly-steps{margin-top:1rem;pointer-events:auto}.figure.scrolly .scrolly-step{min-height:0;opacity:1;justify-content:flex-start}.figure.scrolly .scrolly-step p{opacity:1;max-width:none;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}}@supports (animation-timeline: scroll()){body:before{content:"";position:fixed;top:0;left:0;height:3px;width:100%;z-index:100;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--brand-teal),var(--brand-mint));animation:pdata-progress linear;animation-timeline:scroll(root)}@keyframes pdata-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}}@supports (animation-timeline: view()){.article-body h2,.article-body .figure,.article-body .pull-quote,.article-body .marginalia{animation:pdata-reveal linear both;animation-timeline:view();animation-range:entry 0% entry 25%}}@media(prefers-reduced-motion:reduce){body:before{animation:none;transform:scaleX(0)}.article-body h2,.article-body .figure,.article-body .pull-quote,.article-body .marginalia{animation:none;opacity:1;transform:none}}
