@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--canvas-width: 4200px;--active-canvas-height: 680px;--paper: oklch(95.5% .018 83);--paper-light: oklch(98.2% .012 85);--paper-deep: oklch(92% .025 78);--ink: oklch(22% .035 35);--ink-muted: oklch(42% .035 38);--rule: oklch(76% .04 67);--rule-light: oklch(86% .026 73);--indigo: oklch(45% .155 287);--violet: oklch(51% .17 325);--plum: oklch(49% .16 352);--coral: oklch(57% .18 30);--ochre: oklch(64% .145 68);--focus: oklch(43% .17 246);--font-display: "Fraunces Variable", Georgia, serif;--font-body: "Instrument Sans Variable", "Avenir Next", sans-serif;--ease-out: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:1rem;font-kerning:normal;line-height:1.5}a{color:inherit}.skip-link{position:fixed;z-index:50;top:.75rem;left:.75rem;padding:.75rem 1rem;background:var(--ink);color:var(--paper-light);transform:translateY(-180%);transition:transform .16s var(--ease-out)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.site-header,main,footer{width:min(100% - clamp(2rem,7vw,8rem),90rem);margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;min-height:5rem;border-bottom:1px solid var(--rule)}.wordmark{display:inline-flex;gap:.625rem;align-items:center;min-height:2.75rem;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-decoration:none;text-transform:uppercase}.wordmark-mark{display:grid;width:1.625rem;height:1.625rem;place-items:center;border:1px solid currentColor;border-radius:50%;font-family:var(--font-display);font-size:1.2rem}.edition,.eyebrow,.section-number,.legend-title{margin:0;color:var(--ink-muted);font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.intro{display:grid;gap:3rem;padding-block:clamp(4rem,11vw,8.5rem) clamp(4rem,8vw,7rem)}.intro-copy{max-width:66rem}.eyebrow{display:flex;gap:.75rem;align-items:center;margin-bottom:1.5rem}.eyebrow:before{width:2.5rem;height:1px;background:var(--coral);content:""}h1,h2,h3,p{margin-top:0}h1{max-width:11ch;margin-bottom:1.75rem;margin-left:-.045em;font-family:var(--font-display);font-size:clamp(3.4rem,8.5vw,8.5rem);font-variation-settings:"opsz" 96,"SOFT" 20,"WONK" 1;font-weight:650;letter-spacing:-.055em;line-height:.84}h1 em{color:var(--plum);font-weight:420}.dek{max-width:48ch;margin-bottom:0;color:var(--ink-muted);font-family:var(--font-display);font-size:clamp(1.2rem,2vw,1.7rem);line-height:1.4}.intro-note{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:end;align-self:end;padding-top:1.25rem;border-top:1px solid var(--rule)}.intro-note p{margin-bottom:0}.note-number{color:var(--coral);font-family:var(--font-display);font-size:4.5rem;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.07em;line-height:.75}.timeline-section{border-top:1px solid var(--ink);padding-top:1.25rem}.section-heading{display:flex;gap:1.5rem;align-items:end;justify-content:space-between;margin-bottom:1.5rem}.section-heading h2,.method h2{margin:.35rem 0 0;font-family:var(--font-display);font-size:clamp(1.8rem,3vw,3rem);font-weight:560;letter-spacing:-.035em;line-height:1}.chart-instruction{margin:0;color:var(--ink-muted);font-size:.8rem;white-space:nowrap}.year-nav{display:flex;gap:.65rem;align-items:center;margin-bottom:1rem;overflow-x:auto;padding:.25rem}.year-link{display:inline-flex;min-width:2.75rem;min-height:2.75rem;align-items:center;justify-content:center;padding-inline:.75rem;border:1px solid transparent;border-radius:999px;color:var(--ink-muted);font-size:.82rem;font-variant-numeric:tabular-nums;font-weight:700;text-decoration:none}.year-link:hover,.year-link[aria-current=true]{border-color:var(--ink);background:var(--paper-light);color:var(--ink)}.latest-link{margin-left:auto;color:var(--plum)}.timeline-state{display:grid;grid-template-columns:auto minmax(6rem,1fr);gap:1rem;align-items:center;margin-bottom:.75rem}.current-year{margin:0;color:var(--ink-muted);font-size:.74rem}.current-year strong{color:var(--ink);font-variant-numeric:tabular-nums}.timeline-progress{position:relative;height:.3rem;overflow:hidden;border-radius:999px;background:var(--rule-light)}.progress-thumb{position:absolute;inset:0;background:var(--coral);transform:scaleX(var(--scroll-progress, 0));transform-origin:left center}.plot-shell{position:relative}.plot-scroll{width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);scrollbar-color:var(--coral) var(--rule-light);scrollbar-gutter:stable;scrollbar-width:auto;touch-action:pan-x pan-y}.plot-scroll::-webkit-scrollbar{height:.9rem}.plot-scroll::-webkit-scrollbar-track{background:var(--rule-light)}.plot-scroll::-webkit-scrollbar-thumb{border:3px solid var(--rule-light);border-radius:999px;background:var(--coral)}.plot-scroll:focus-visible{outline-offset:5px}.edge-cue{position:absolute;z-index:15;top:1px;right:0;bottom:1rem;width:2.5rem;background:linear-gradient(90deg,transparent,var(--paper));pointer-events:none}.chart-stage{position:relative}.plot-svg,.axis-overlay{display:none}.year-section{padding-block:1.25rem 2rem;border-bottom:1px solid var(--rule)}.year-heading{margin-bottom:.75rem;font-family:var(--font-display);font-size:2rem;font-variant-numeric:tabular-nums;font-weight:560;letter-spacing:-.035em}.release-list{display:grid;max-width:52rem;margin:0 auto;padding:0;list-style:none}.release-item{position:relative;display:grid;grid-template-columns:4.5rem minmax(0,1fr);gap:0 1rem;align-items:center;min-height:8.5rem;padding-block:1.25rem;border-bottom:1px solid var(--rule-light)}.release-item:last-child{border-bottom:0}.release-link{display:grid;width:3.75rem;height:3.75rem;grid-row:1 / span 2;place-items:center;border-radius:50%;color:var(--paper-light);text-decoration:none;transition:transform .18s var(--ease-out),filter .15s linear}.release-item[data-evaluation=not_evaluated] .release-link{width:2.75rem;height:2.75rem;border:0;background:transparent;color:var(--ink)}.release-na-marker{display:block;width:1.125rem;height:1.125rem;border:2px solid currentColor;border-radius:50%;background:var(--paper)}@media(hover:hover){.release-link:hover{transform:translateY(-3px);filter:saturate(1.12)}}.release-link:active{transform:translateY(1px)}.release-score{font-size:1rem;font-variant-numeric:tabular-nums;font-weight:760;letter-spacing:-.03em}.release-heading{align-self:end}.release-name{margin-bottom:.15rem;font-family:var(--font-display);font-size:1.35rem;font-weight:610;letter-spacing:-.025em;line-height:1.1}.release-byline,.release-status,.release-detail,.release-detail p{margin-bottom:0}.release-byline,.release-status{color:var(--ink-muted);font-size:.78rem;font-variant-numeric:tabular-nums}.release-status{color:var(--ink);font-weight:650}.release-detail{grid-column:2;align-self:start;margin-top:.65rem;color:var(--ink-muted);font-size:.88rem}.release-metric{margin-top:.35rem;color:var(--ink);font-variant-numeric:tabular-nums}.evidence-cue{display:block;margin-top:.45rem;color:var(--plum);font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}[data-score-band=indigo]{background:var(--indigo)}[data-score-band=violet]{background:var(--violet)}[data-score-band=plum]{background:var(--plum)}[data-score-band=coral]{background:var(--coral)}[data-score-band=ochre]{background:var(--ochre);color:var(--ink)}.legend{display:grid;gap:.75rem;padding-block:1.5rem 4rem}.legend ul{display:flex;flex-wrap:wrap;gap:.85rem 1.5rem;margin:0;padding:0;list-style:none}.legend li{display:flex;gap:.6rem;align-items:center;color:var(--ink-muted);font-size:.78rem}.legend-bubble{display:grid;width:2rem;height:2rem;place-items:center;border-radius:50%;background:var(--plum);color:var(--paper-light);font-size:.64rem;font-variant-numeric:tabular-nums;font-weight:750}.legend-na{width:1.125rem;height:1.125rem;border:2px solid var(--ink);border-radius:50%;background:var(--paper)}.legend-note{margin:0;color:var(--ink-muted);font-size:.78rem}.method{display:grid;gap:1.5rem 3rem;padding-block:clamp(4rem,9vw,8rem);border-top:1px solid var(--ink)}.method-lead,.method-notes{color:var(--ink-muted)}.method-lead{max-width:35ch;margin-top:1.25rem;margin-bottom:0;font-family:var(--font-display);font-size:1.25rem;line-height:1.4}.method-notes{max-width:56ch;font-size:.94rem}.method-notes strong{color:var(--ink)}.text-link{display:inline-block;min-height:2.75rem;padding-block:.6rem;color:var(--plum);font-weight:700;text-underline-offset:.22em}footer{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding-block:1.5rem;border-top:1px solid var(--ink);color:var(--ink-muted);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}footer p{margin:0}.axis-rule{stroke:var(--ink);stroke-width:1.2}.guide-rule{stroke:var(--rule-light);stroke-width:1}.rail-band-rule{stroke:var(--rule);stroke-dasharray:2 7;stroke-width:1}.na-rail-rule,.leader-line,.rail-leader{stroke:var(--ink-muted);stroke-width:1}.label-leader{stroke:var(--rule);stroke-dasharray:2 3;stroke-width:.8}.true-anchor{fill:var(--ink)}.true-anchor--na{fill:var(--paper);stroke:var(--ink)}.chapter-field{fill:var(--paper-light);opacity:.32}.chapter-field--odd{fill:var(--paper-deep)}.axis-title{fill:var(--ink-muted);font-family:var(--font-body);font-size:11px;font-weight:650}.js .plot-svg{position:absolute;inset:0;display:block;width:var(--canvas-width);height:var(--canvas-height)}.js .chart-stage{width:var(--canvas-width);height:var(--canvas-height)}.js .axis-overlay{position:absolute;z-index:12;top:1px;bottom:1rem;left:0;display:block;width:6rem;background:linear-gradient(90deg,var(--paper) 0 58%,transparent);pointer-events:none}.axis-overlay span{position:absolute;left:.35rem;color:var(--ink-muted);font-size:.64rem;font-variant-numeric:tabular-nums;font-weight:650}.axis-overlay .axis-title{top:.75rem;color:var(--ink);font-size:.58rem;letter-spacing:.04em;line-height:1.15;text-transform:uppercase}.axis-score--100{top:3.65rem}.axis-score--75{top:calc(4rem + (var(--active-canvas-height) - 294px) * .25)}.axis-score--50{top:calc(4rem + (var(--active-canvas-height) - 294px) * .5)}.axis-score--25{top:calc(4rem + (var(--active-canvas-height) - 294px) * .75)}.axis-score--0{top:calc(var(--active-canvas-height) - 14.5rem)}.axis-overlay .axis-na{top:calc(var(--active-canvas-height) - 4.15rem);color:var(--ink)}.js .year-section{position:absolute;top:0;left:var(--chapter-left);width:var(--chapter-width);height:var(--canvas-height);padding:0;border:0}.js .year-heading{position:absolute;z-index:3;top:.55rem;left:6.5rem;margin:0;color:var(--ink);font-size:1.35rem}.js .release-list{position:absolute;inset:0;display:block;max-width:none;margin:0}.js .release-item{position:absolute;top:var(--mark-y);left:var(--mark-x);display:block;width:1px;min-height:1px;padding:0;border:0}.js .release-link{position:absolute;z-index:3;top:-1.875rem;left:-1.875rem;grid-row:auto}.js .release-item[data-evaluation=not_evaluated] .release-link{top:-1.375rem;left:-1.375rem}.js .release-heading{position:absolute;z-index:2;top:var(--label-y);left:var(--label-x);width:9rem;height:2.125rem;overflow:hidden;padding:.18rem .25rem;background:var(--paper);text-align:center;transform:translate(-50%)}.js .release-item[data-evaluation=not_evaluated] .release-heading{width:8.5rem}.js .release-name{margin:0;overflow:hidden;font-family:var(--font-body);font-size:.68rem;font-weight:720;letter-spacing:-.01em;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.js .release-byline{display:none}.js .release-status{overflow:hidden;font-size:.56rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.js .release-item[data-evaluation=not_evaluated] .release-status{font-size:.54rem}.js .release-detail{position:absolute;z-index:20;top:2.6rem;left:50%;display:none;width:min(17rem,calc(100vw - 2.5rem));margin:0;padding:.8rem .9rem;border:1px solid var(--ink);background:var(--paper-light);color:var(--ink-muted);font-size:.78rem;box-shadow:.22rem .26rem 0 var(--ink);transform:translate(-50%)}.js .release-item[data-detail-side=right] .release-detail{left:1rem;transform:none}.js .release-item[data-detail-side=left] .release-detail{right:1rem;left:auto;transform:none}.js .release-item[data-detail-vertical=above] .release-detail{top:auto;bottom:2.6rem}.js .release-item:focus-within,.js .release-item:hover{z-index:25}.js .release-item:focus-within .release-detail,.js .release-item:hover .release-detail{display:block;animation:detail-in .18s var(--ease-out) both}.js .release-item:focus-within .release-heading,.js .release-item:hover .release-heading{z-index:18}.no-js .year-section{scroll-margin-top:1rem}@media(min-width:45rem){.intro{grid-template-columns:minmax(0,1fr) 14rem}.intro-note{grid-template-columns:1fr}.method{grid-template-columns:8rem minmax(15rem,.8fr) minmax(18rem,1.2fr)}}@media(min-width:68.75rem){.intro{grid-template-columns:minmax(0,1fr) 17rem}.intro-note{grid-template-columns:auto 1fr}}@media(max-width:35rem){.section-heading{display:grid}.chart-instruction{white-space:normal}.year-nav{margin-inline:-.25rem}.year-link{padding-inline:.55rem}.latest-link{margin-left:0}.timeline-state{grid-template-columns:1fr;gap:.35rem}}@media(pointer:coarse){.release-link,.year-link{min-width:2.75rem;min-height:2.75rem}}@keyframes detail-in{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js .release-item:focus-within .release-detail,.js .release-item:hover .release-detail{animation:none}}@media print{:root{--paper: oklch(98.2% .006 83)}.site-header,main,footer{width:100%}.intro{padding-block:2rem}.intro h1{font-size:4rem}.year-nav,.timeline-state,.axis-overlay,.edge-cue,.plot-svg{display:none!important}.plot-scroll{overflow:visible!important;border:0}.chart-stage,.js .chart-stage{width:100%!important;height:auto!important}.year-section,.js .year-section{position:static;width:100%;height:auto;padding-block:1rem;break-before:auto}.year-heading,.js .year-heading{position:static;margin-bottom:.5rem}.release-list,.js .release-list{position:static;display:grid;max-width:none;padding:0}.release-item,.js .release-item{position:relative;top:auto;left:auto;display:grid;width:auto;min-height:5rem;grid-template-columns:4.5rem minmax(0,1fr);padding-block:.75rem;break-inside:avoid}.release-link,.js .release-link,.release-heading,.js .release-heading,.release-detail,.js .release-detail{position:static;display:block;width:auto;height:auto;overflow:visible;transform:none;box-shadow:none}.release-link,.js .release-link{display:grid;width:3.75rem;height:3.75rem}.release-heading,.js .release-heading{padding:0;background:transparent;text-align:left}.release-detail,.js .release-detail{grid-column:2;padding:0;border:0}.release-byline,.js .release-byline{display:block}}
