@font-face{font-family:PixelTitle;src:url('assets/fonts/pixel-title.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Article;src:url('assets/fonts/charter-roman.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Article;src:url('assets/fonts/charter-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
:root{--ink:#252a2c;--muted:#6e7579;--line:#e4e7e8;--blue:#345b70;--pale:#f6f8f9;--serif:Article,Georgia,'Times New Roman',serif;--sans:var(--serif);--mono:var(--serif)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}::selection{background:#dceaf0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button,select,summary{cursor:pointer}button{color:inherit}button:disabled,select:disabled{cursor:wait}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,canvas:focus-visible{outline:2px solid var(--blue);outline-offset:5px}button{border-radius:0}img,canvas{display:block;max-width:100%}[hidden]{display:none!important}svg{display:block}.skip-link{position:fixed;z-index:100;top:8px;left:8px;background:white;padding:14px;transform:translateY(-180%)}.skip-link:focus{transform:none}
.site-header{height:86px;margin:0 auto;max-width:1512px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.wordmark{display:inline-flex;align-items:center;font-family:PixelTitle,monospace;font-size:22px;line-height:1;font-weight:400;letter-spacing:0;white-space:nowrap}.header-link{font-size:12px;color:var(--blue)}.header-link span{margin-left:15px;font-size:18px}.header-link:hover{text-decoration:underline;text-underline-offset:5px}
.hero{max-width:1240px;margin:0 auto;text-align:center;padding:72px 28px 44px}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(44px,5.1vw,76px);line-height:1.075;letter-spacing:-2.8px;margin:12px 0 28px}.hero h1 .pixel-title{font-family:PixelTitle,monospace;font-size:.92em;font-style:normal;font-weight:400;letter-spacing:-.015em;color:var(--blue);white-space:nowrap}.hero-deck{font-family:var(--serif);font-size:21px;line-height:1.5;color:#676c70;margin:0 auto}
.hero-figure{max-width:1184px;margin:0 auto 100px;padding:0 24px}.specimen-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;padding-top:20px}.specimen-image{position:relative;aspect-ratio:1;overflow:hidden}.specimen-image img{image-rendering:pixelated;width:100%;height:100%;object-fit:contain}.specimen-action{position:absolute;bottom:0;left:0;right:0;transform:translateY(100%);transition:transform .2s;background:#fffffff0;padding:9px 5px;font-size:10px;color:var(--blue);text-align:center}.specimen:hover .specimen-action,.specimen:focus-visible .specimen-action{transform:translateY(0)}.specimen-label{font-size:11px;display:flex;justify-content:space-between;gap:4px;margin-top:13px}.specimen-label>span{font-family:var(--mono);font-size:10px;color:#83888b}.hero-figure figcaption{padding-top:24px;text-align:center;border:0;max-width:760px;margin:auto;font-size:11px}
figcaption{font-size:12px;line-height:1.65;color:var(--muted);padding-top:18px;border-top:1px solid var(--line)}.figure-number{color:var(--ink);font-weight:500}.article-layout{position:relative}.contents-rail{position:absolute;left:max(28px,calc((100vw - 1440px)/2 + 32px));top:0;bottom:0;width:190px}
.contents{position:sticky;top:85px;padding-left:25px}
.contents>a{display:block;position:relative;padding:10px 0;font-size:14px;line-height:1.55;font-weight:400;color:#777;transition:color .2s}
.contents>a.active,.contents>a:hover{color:var(--ink)}
.contents-marker{position:absolute;top:0;left:0;width:6px;height:6px;background:var(--ink);transform:translateY(15px);transition:transform .38s cubic-bezier(.22,.68,0,1);pointer-events:none}
.mobile-contents{display:none}.prose{width:min(640px,calc(100% - 48px));margin:0 auto}.prose h2{font-family:var(--serif);font-size:37px;line-height:1.18;letter-spacing:-.7px;font-weight:400;margin:0 0 25px}.prose>p{font-family:var(--serif);font-size:19px;line-height:1.72;margin:0 0 22px;color:#3f4548}.essay-section{scroll-margin-top:0;margin-bottom:94px}.wide{width:min(944px,calc(100% - 48px));margin:39px auto}.interactive-figure{border-top:1px solid #bdc7cc;border-bottom:1px solid #bdc7cc;padding:22px 0 20px}.figure-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.figure-topline .figure-number{font-size:9px;letter-spacing:1.2px;color:var(--blue)}.figure-topline h3{font-family:var(--serif);font-size:23px;font-weight:400;margin:7px 0 0;letter-spacing:-.3px}.select-label{font-size:9px;letter-spacing:.5px;color:var(--muted);display:flex;flex-direction:column;gap:7px}.select-label select{border:1px solid #d6dcdf;padding:8px 30px 8px 10px;min-width:124px;max-width:190px;color:#354851;background:#fff;font-size:11px;letter-spacing:0;border-radius:2px}.figure-selects{display:flex;gap:13px}.inspector-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:62px;align-items:center;padding:0 37px 25px}.inspector-art{max-width:410px;width:100%;margin:auto}.canvas-axis{display:flex;justify-content:space-between;font-family:var(--mono);font-size:8px;letter-spacing:.2px;color:#939b9f;margin-bottom:9px}.pixel-stage{position:relative;aspect-ratio:1}.pixel-stage canvas,.pixel-stage img{width:100%;height:100%;image-rendering:pixelated;cursor:crosshair}.pixel-stage canvas{touch-action:pan-y}#pixel-selection{position:absolute;border:2px solid #fff;box-shadow:0 0 0 1.5px #1d2f38,inset 0 0 0 1px #1d2f3880;pointer-events:none;z-index:1}.canvas-controls{display:flex;justify-content:space-between;align-items:center;margin-top:16px;gap:8px}.segmented{display:flex;border:1px solid #dbe0e2;border-radius:3px;padding:3px;gap:3px}.segmented button{font-size:10px;border:0;background:white;padding:7px 13px;border-radius:2px;color:#788288}.segmented button[aria-pressed=true]{background:#e9eff2;color:#244a5d}.grid-toggle{font-size:10px;color:var(--muted);display:flex;gap:6px;align-items:center}.grid-toggle input{accent-color:var(--blue);width:12px;height:12px;margin:0}.detail-eyebrow{font-size:9px;letter-spacing:1.3px;color:var(--muted);margin-bottom:18px}.pixel-readout{display:flex;gap:15px;align-items:center}.color-preview{width:49px;height:49px;border:1px solid #0000000d;background:#D62828}.pixel-coordinate{font-family:var(--serif);font-size:32px;letter-spacing:-.5px}.muted{font-size:9px;color:#8b9397}.pixel-facts{margin:22px 0}.pixel-facts>div{display:flex;justify-content:space-between;font-size:11px;border-bottom:1px solid #eef0f1;padding:10px 0}.pixel-facts dt{color:var(--muted)}.pixel-facts dd{font-family:var(--mono);margin:0;font-size:11px}.palette-heading{font-size:9px;letter-spacing:1px;display:flex;justify-content:space-between;margin:0 0 11px}.palette-heading span{font-size:9px;letter-spacing:0;color:var(--muted)}.palette{display:flex;gap:9px;min-height:26px}.palette button{width:27px;height:27px;position:relative;background:var(--swatch);border:1px solid #00000015;border-radius:2px;padding:0}.palette button[aria-pressed=true]{outline:1px solid var(--blue);outline-offset:3px}.palette button:hover{outline:1px solid #8197a2;outline-offset:3px}.code-readout{background:var(--pale);padding:15px 16px;margin-top:22px;border-left:2px solid #d9e3e8;font-family:var(--mono);font-size:11px;line-height:1.9}.code-comment{display:block;font-size:9px;color:#8b9499;margin-bottom:4px}.code-readout code{font-family:inherit}.code-readout mark{background:#dce9ef;color:#294d61;padding:1px 3px}.code-readout #code-hex{color:#345b70}.interaction-hint{font-size:10px;line-height:1.8;color:#858e93;margin:16px 0 0}.sample-meta{font-family:var(--mono);font-size:9px;color:var(--muted);line-height:1.6;margin:14px 0 0}.status{font-size:11px;line-height:1.7;color:var(--blue);margin:8px 0 0}.status:empty{display:none}.task-list{margin:32px 0 0;border-top:1px solid var(--line)}.task-list>div{display:flex;gap:22px;align-items:center;border-bottom:1px solid var(--line);padding:18px 0}.task-index{font-family:var(--mono);font-size:10px;color:var(--blue);width:28px;height:28px;display:grid;place-items:center;border:1px solid #dce4e8}.task-list h3{font-size:13px;font-weight:400;margin:0 0 5px}.task-list p{font-family:var(--serif);font-size:16px;color:var(--muted);margin:0}.comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:32px 0 24px}.image-label{display:flex;gap:9px;align-items:center;font-size:10px;color:#68747a;margin-bottom:12px}.image-label span{color:#a2a9ad;font-family:var(--mono);font-size:9px}.image-column>img,.image-column>canvas{width:100%;aspect-ratio:1;height:auto;background:var(--pale)}.image-column>canvas{image-rendering:pixelated}.image-column>p{font-size:10px;margin:13px 0 0;display:flex;justify-content:space-between;gap:8px}.image-column>p>span{font-family:var(--mono);font-size:9px;color:var(--muted)}.scaling-layout{display:grid;grid-template-columns:210px 360px;gap:80px;align-items:center;justify-content:center;padding:12px 0 25px}.scale-reference>img{width:156px;height:156px;object-fit:cover}.scale-reference>p{font-size:10px;color:var(--muted);margin-top:10px}.scale-stat{margin-top:36px;display:flex;flex-direction:column;gap:5px}.scale-stat>span:first-child{font-family:var(--serif);font-size:40px;letter-spacing:-1px}.scale-stat>span:last-child{font-family:var(--mono);font-size:10px;color:var(--muted)}.scale-reference .scale-model-name{font-size:10px;color:var(--blue);margin-top:16px}.scale-result{aspect-ratio:1;background:var(--pale);position:relative}.scale-result canvas{width:100%;height:100%;image-rendering:pixelated}.unavailable{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column;color:var(--muted)}.unavailable>span{font-family:var(--serif);font-size:40px;color:#a5afb4;margin-bottom:10px}.unavailable strong{font-size:13px;font-weight:400}.unavailable p{font-size:11px;line-height:1.6}.slider-controls{max-width:650px;margin:3px auto 27px}.slider-controls>label{display:block;font-size:9px;letter-spacing:1.1px;color:var(--muted);margin-bottom:14px}.slider-controls input{display:block;width:100%;accent-color:var(--blue);margin:0;height:18px;cursor:ew-resize}.resolution-ticks{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9px;color:#8b9499;margin-top:7px;padding:0 3px}.resolution-ticks span{width:20px;text-align:center}.resolution-ticks span.selected{color:var(--blue);font-weight:bold}.return-link{font-family:var(--sans);font-size:12px;color:var(--blue);display:inline-flex;gap:30px;border-bottom:1px solid #a3b9c4;padding:8px 0}.return-link:hover{border-color:var(--blue)}.article-end{display:flex;gap:5px;justify-content:center;margin:55px auto 0}.article-end i{width:5px;height:5px;background:#a9bcc5}.article-end i:nth-child(2){background:#5b7b8c}.site-footer{border-top:1px solid var(--line);margin:0 48px;padding:32px 0 38px;display:flex;align-items:center;justify-content:space-between;gap:15px}.site-footer .wordmark{font-size:20px}.noscript-note{position:fixed;bottom:0;left:0;right:0;background:#eff4f7;color:var(--blue);text-align:center;font-size:12px;padding:12px;z-index:3}
@media(min-width:1600px){.hero{padding-top:90px}.hero-figure{margin-bottom:112px}.hero h1{font-size:78px}}
@media(max-width:1300px){.wide{width:min(860px,calc(100% - 360px))}.inspector-layout{padding-left:0;padding-right:0;gap:35px;grid-template-columns:minmax(0,1fr) 260px}.contents-rail{width:155px;left:20px}.contents{padding-left:22px}.contents>a{font-size:13px}.scaling-layout{grid-template-columns:170px minmax(0,330px);gap:50px}.comparison-grid{gap:18px}.image-column>p{flex-wrap:wrap}.hero h1{letter-spacing:-2px}.canvas-axis{font-size:7px}}
@media(max-width:1100px){.contents-rail{display:none}.wide{width:min(860px,calc(100% - 64px))}.mobile-contents{display:block;position:sticky;top:0;z-index:5;background:#fffffff5;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:50px;backdrop-filter:blur(10px)}.mobile-contents details{max-width:640px;margin:auto;font-size:12px}.mobile-contents summary{padding:15px 0;display:flex;justify-content:space-between;list-style:none;color:var(--blue)}.mobile-contents summary::-webkit-details-marker{display:none}.mobile-contents a{display:block;padding:11px 0;color:var(--muted)}.mobile-contents a[aria-current="location"]{color:var(--ink)}.mobile-contents a:last-child{padding-bottom:18px}.hero-figure{margin-bottom:60px}.specimen-strip{gap:14px}.specimen-label{font-size:10px}.specimen-label>span{font-size:8px}.site-header{padding:0 30px}.hero{padding-top:60px}.hero h1{font-size:58px}.hero-deck{font-size:20px}}
@media(max-width:720px){html{scroll-padding-top:72px}.site-header{height:68px;padding:0 22px}.wordmark{font-size:20px}.header-link{font-size:10px}.header-link span{margin-left:8px}.hero{padding:47px 22px 30px}.hero h1{font-size:44px;line-height:1.08;letter-spacing:-1.8px;margin:25px 0 23px}.desktop-break{display:none}.hero-deck{font-size:18px;line-height:1.5;max-width:460px}.hero-figure{padding:0 22px;margin-bottom:40px}.specimen-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 14px;padding-top:10px}.specimen-label{font-size:10px;margin-top:9px}.specimen-action{display:none}.hero-figure figcaption{font-size:10px;text-align:left;padding-top:20px}.mobile-contents{margin-bottom:43px}.mobile-contents details{margin:0 24px}.prose{width:calc(100% - 48px)}.prose h2{font-size:31px;margin-bottom:22px}.prose>p{font-size:18px;line-height:1.7;margin-bottom:20px}.essay-section{margin-bottom:68px;scroll-margin-top:0}.wide{width:calc(100% - 40px);margin:30px auto}.interactive-figure{padding:18px 0}.figure-topline{align-items:flex-start;gap:15px;flex-wrap:wrap;margin-bottom:24px}.figure-topline h3{font-size:21px}.figure-topline .figure-number{font-size:8px}.select-label{font-size:8px}.select-label select{padding:8px 26px 8px 9px;min-width:108px;font-size:10px}.inspector-layout{grid-template-columns:1fr;gap:28px;padding:0 0 22px}.inspector-art{max-width:400px}.canvas-axis{font-size:8px}.inspector-detail{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.detail-eyebrow{grid-column:1/-1;margin-bottom:15px}.pixel-readout{grid-column:1;grid-row:2/4;align-self:start}.pixel-coordinate{font-size:28px}.color-preview{width:35px;height:44px}.muted{font-size:8px}.pixel-facts{grid-column:2;grid-row:2/5;margin:0 0 18px}.pixel-facts>div{font-size:10px;padding:7px 0}.pixel-facts dd{font-size:10px}.palette-heading{grid-column:1/-1;font-size:8px}.palette{grid-column:1/-1}.code-readout{grid-column:1/-1;margin-top:17px;font-size:12px}.interaction-hint{grid-column:1/-1;font-size:10px}.sample-meta,.inspector-detail .status{grid-column:1/-1}.interactive-figure figcaption{font-size:11px}.comparison-grid{gap:12px;margin:24px 0}.image-label{font-size:9px;gap:5px;align-items:start;min-height:24px;line-height:1.4}.image-column>p{font-size:9px;line-height:1.5}.image-column>p>span{font-size:8px}.figure-selects{gap:10px;width:100%}.figure-selects>label{flex:1}.figure-selects select{width:100%;max-width:none}.scaling-layout{grid-template-columns:105px minmax(0,1fr);gap:18px;padding:0 0 25px}.scale-reference>img{width:90px;height:90px}.scale-reference>p{font-size:8px;line-height:1.5}.scale-stat{margin-top:17px;gap:4px}.scale-stat>span:first-child{font-size:26px;letter-spacing:-.7px}.scale-stat>span:last-child{font-size:8px}.scale-reference .scale-model-name{font-size:8px;margin-top:10px}.slider-controls{margin-bottom:21px}.slider-controls>label{font-size:8px}.resolution-ticks{font-size:8px}.unavailable>span{font-size:25px;margin-bottom:4px}.unavailable strong{font-size:10px}.unavailable p{font-size:9px;padding:0 5px}.site-footer{margin:0 24px;display:flex;flex-wrap:wrap;padding:26px 0;gap:13px}.task-list p{font-size:15px}.task-list>div{gap:17px}}
@media(max-width:360px){.hero h1{font-size:38px}.specimen-label{font-size:9px;flex-wrap:wrap}.inspector-detail{gap:0 12px}.pixel-readout{gap:8px}.pixel-coordinate{font-size:26px}.scaling-layout{grid-template-columns:85px minmax(0,1fr);gap:12px}.scale-reference>img{width:76px;height:76px}.scale-stat>span:first-child{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.site-header,.contents-rail,.mobile-contents,.canvas-controls,.figure-selects,.select-label,.slider-controls,.return-link{display:none}.hero{padding:25px 0}.hero h1{font-size:40px}.hero-figure{margin-bottom:35px}.prose,.wide{width:90%;max-width:100%}.essay-section{margin-bottom:35px}.interactive-figure{break-inside:avoid}.site-footer{margin:0}.article-layout{display:block}}

.footer-top{font-size:11px;color:var(--muted)}.footer-top:hover{color:var(--blue)}

/* A text-column inspector with adjacent palette and model choices. */
.compact-inspector{width:min(640px,calc(100% - 48px));margin:32px auto 38px;border:0;padding:0;scroll-margin-top:85px;display:grid;grid-template-columns:minmax(0,1fr) 30px 208px;gap:12px 14px;position:relative;align-items:start}
.compact-inspector .pixel-stage{grid-column:1;grid-row:2}
.compact-inspector .compact-palette-panel{grid-column:2;grid-row:2;padding:4px 0;min-width:0}
.compact-palette{display:flex;flex-direction:column;gap:10px;width:100%}
.compact-palette button,.compact-palette .static-swatch{display:block;width:30px;height:30px;flex:none;padding:0;border:1px solid #00000018;border-radius:2px;background:var(--swatch)}
.compact-palette button[aria-pressed=true]{outline:1px solid #53616a;outline-offset:3px}
.compact-palette button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.inspector-options{grid-column:1/-1;grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:12px}
.inspector-options select{min-width:0;max-width:60%;border:0;border-radius:3px;background:#f4f6f6;color:var(--ink);font:13px/1.5 var(--sans);padding:7px 10px;cursor:pointer}
#inspector-resolutions{border:0;padding:2px;background:#f4f6f6}
#inspector-resolutions button{font:12px/1.4 var(--mono);padding:6px 12px;background:transparent;color:#53616a;min-height:30px}
#inspector-resolutions button[aria-pressed=true]{background:#dce8ed;color:#244a5d}
#inspector-resolutions button:disabled{opacity:.4;cursor:default}
#inspector-models{grid-column:3;grid-row:2;display:flex;flex-direction:column;gap:3px;min-width:0}
.inspector-model-option{display:flex;align-items:center;gap:10px;width:100%;min-width:0;padding:4px 6px;border:1px solid transparent;border-radius:3px;background:transparent;color:#39444a;text-align:left;font:12px/1.3 var(--sans);cursor:pointer}
.inspector-model-option:hover{background:#f4f6f6}
.inspector-model-option[aria-pressed=true]{background:#edf2f4;border-color:#d2dfe5;color:#244a5d}
.inspector-model-option:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.inspector-model-option:disabled{opacity:.4;cursor:default}
.inspector-model-thumb{width:38px;height:38px;flex:none;display:grid;place-items:center;background:#f4f6f6}
.inspector-model-thumb canvas{width:100%;height:100%;image-rendering:pixelated}
.compact-pixel-readout{grid-column:1;grid-row:3;display:flex;align-items:center;gap:8px;white-space:nowrap;min-height:22px}
.compact-pixel-readout #color-preview{width:14px;height:14px;flex:none;background:#D62828;border:1px solid #00000012;border-radius:2px}
.compact-pixel-readout code{font:11px/1.5 var(--mono);color:#53616a}
.compact-inspector #pixel-help{grid-column:2/-1;grid-row:3;border:0;padding:0;margin:0;font:11px/1.6 var(--sans);text-align:left;color:var(--muted)}
.compact-inspector>.status{grid-column:1/-1;margin:0}
.inspector-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:600px){
  .compact-inspector{grid-template-columns:minmax(0,1fr) 24px;gap:12px}
  .compact-inspector .pixel-stage{grid-column:1;grid-row:2}
  .compact-inspector .compact-palette-panel{grid-column:2;grid-row:2}
  .compact-palette{gap:6px}
  .compact-palette button,.compact-palette .static-swatch{width:24px;height:24px}
  .compact-pixel-readout{grid-column:1/-1;grid-row:3}
  #inspector-models{grid-column:1/-1;grid-row:4;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 8px}
  .inspector-model-option{font-size:11px;gap:7px;padding:3px}
  .inspector-model-thumb{width:32px;height:32px}
  .compact-inspector #pixel-help{grid-column:1/-1;grid-row:5}
}

/* Opening pose is opt-in, so blocked JavaScript leaves a fully visible article. */
html:is(.intro-pending,.intro-running) :is(.site-header,.hero-deck,.hero-figure,.article-layout,.mobile-contents,.site-footer){opacity:0}
html:is(.intro-pending,.intro-running) .hero h1{opacity:0}
.hero h1{position:relative;z-index:1}
.specimen:is(.is-rendering,.awaiting-render) .specimen-image>img{opacity:0}
.specimen-rendering{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.specimen-action{z-index:2}
.hero-figure figcaption{display:flex;align-items:center;justify-content:center;gap:15px;max-width:860px}
.replay-rendering{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;border:0;background:none;padding:4px 0;color:var(--muted);font-size:10px;cursor:pointer}
.replay-rendering>span{font-size:17px;line-height:1}
.replay-rendering:hover{color:var(--blue)}
.replay-rendering:disabled{cursor:default;opacity:.35}
@media(max-width:720px){.hero-figure figcaption{align-items:flex-start;justify-content:space-between;gap:12px}.replay-rendering{font-size:9px;padding-top:0}}
@media(prefers-reduced-motion:reduce){html:is(.intro-pending,.intro-running) :is(.site-header,.hero h1,.hero-deck,.hero-figure,.article-layout,.mobile-contents,.site-footer){opacity:1;transform:none}.replay-rendering{display:none}}
@media print{.specimen-rendering,.replay-rendering{display:none}.specimen:is(.is-rendering,.awaiting-render) .specimen-image>img{opacity:1}}

/* Bilingual article and figures. Both languages share the same interaction state. */
html:not([lang="zh-CN"]) [data-copy="zh"],html[lang="zh-CN"] [data-copy="en"]{display:none!important}
:root{--serif:Article,'Source Han Serif SC','Noto Serif CJK SC','Songti SC',Georgia,serif}
.header-actions{display:flex;align-items:center;gap:25px;padding-right:92px}
.prose p,.prose li{font-family:var(--serif);font-size:19px;line-height:1.72;color:#3f4548}.prose p{margin:0 0 22px}.prose h3{font-family:var(--serif);font-size:25px;font-weight:400;margin:36px 0 22px}.prose strong{font-weight:600;color:var(--ink)}.prose a{color:var(--blue);text-decoration:underline;text-decoration-color:#b2c4ce;text-underline-offset:3px}.prose code{font-family:var(--mono);font-size:.78em;background:#f3f6f7;padding:2px 4px;border-radius:2px;overflow-wrap:anywhere}.prose sup{font-family:var(--sans);font-size:10px;padding-left:2px}.prose sup a{text-decoration:none}.prose table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.6;margin:26px 0}.prose th,.prose td{padding:11px 9px;text-align:right;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.prose th:first-child,.prose td:first-child{text-align:left}.prose th{font-size:11px;font-weight:500;color:var(--muted)}.prose .footnote{border-top:1px solid var(--line);margin-top:65px;padding-top:20px}.prose .footnote hr{display:none}.prose .footnote li,.prose .footnote p{font-family:var(--sans);font-size:12px;line-height:1.8;overflow-wrap:anywhere}.prose .footnote ol{padding-left:20px}.prose .footnote p{margin-bottom:15px}
html[lang="zh-CN"] .prose p,html[lang="zh-CN"] .prose li{font-size:18px;line-height:1.95;letter-spacing:.015em}html[lang="zh-CN"] .prose h2{line-height:1.45;letter-spacing:0;font-size:32px}html[lang="zh-CN"] .prose .footnote p,html[lang="zh-CN"] .prose .footnote li{font-size:12px;line-height:1.9}
.leaderboard{margin:0 0 30px}.board-controls{display:flex;justify-content:flex-end;gap:12px;margin:0 0 16px}.board-head,.board-row{display:grid;grid-template-columns:minmax(170px,1fr) minmax(160px,1.3fr);align-items:center;gap:24px}.board-head{font-size:10px;color:var(--muted);padding:0 0 10px;border-bottom:1px solid var(--line)}.board-head>span:last-child{text-align:right}.board-row{font-size:12px;min-height:37px;border-bottom:1px solid #eef1f2;padding:5px 0}.board-name{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.board-name small{font-size:9px;color:var(--muted);border:1px solid var(--line);padding:2px 4px}.score-cell{display:block;position:relative;text-align:right;padding:6px 8px;font-family:var(--mono);font-size:11px}.score-bar{position:absolute;left:0;top:0;height:100%;background:#edf2f5;border-left:2px solid #9ab0bd}.score-cell b{position:relative;font-weight:400}.board-row:first-of-type .score-bar{background:#e0eaf0}.board-note{font-size:10px;line-height:1.7;color:var(--muted);margin:12px 0 0}.gallery-toolbar{display:flex;gap:15px;justify-content:space-between;border-top:1px solid var(--line);padding-top:21px;margin-top:27px}.case-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 20px;margin:22px 0 25px}.case-stage{aspect-ratio:1;background:var(--pale)}.case-stage canvas{width:100%;height:100%;image-rendering:pixelated}.case-missing{display:grid;place-items:center;font-size:11px;color:var(--muted)}.case-caption{font-size:10px;line-height:1.6;display:flex;justify-content:space-between;gap:5px;flex-wrap:wrap;margin-top:10px}.case-caption>span{color:var(--muted);font-size:9px}.figure-selects{flex-wrap:wrap}.resolution-extra{font-size:12px;margin-top:-10px;color:var(--blue)}.resolution-extra>summary{padding:12px 0;cursor:pointer}.resolution-extra .wide{width:100%;margin:15px 0 30px}.resolution-extra .figure-number{display:none}
.pipeline-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:30px 0}.pipeline-step{border-left:1px solid #d9e2e7;padding-left:20px}.step-number{font-family:var(--mono);color:#91a9b6;font-size:11px}.pipeline-step h4{font-weight:400;font-family:var(--serif);font-size:21px;margin:18px 0 12px}.pipeline-step p{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 16px}.pipeline-step code{font-family:var(--mono);font-size:10px;color:var(--blue);line-height:1.8;overflow-wrap:anywhere}
.training-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:0 0 24px}.training-legend{font-size:10px;color:var(--muted);display:flex;gap:8px;align-items:center}.baseline-dot,.pixel-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0;border:1px solid #869aa6;background:#fff}.pixel-dot{background:var(--blue);border-color:var(--blue)}.training-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px;font-variant-numeric:tabular-nums}.training-table th,.training-table td{border-bottom:1px solid #e8edf0;padding:11px 9px;text-align:right}.training-table thead th{font-size:10px;font-weight:400;color:var(--muted);vertical-align:bottom}.training-table th:first-child{width:27%;text-align:left;padding-left:0;font-weight:400}.training-table th:nth-child(2),.training-table th:nth-child(3){width:13%;white-space:nowrap}.training-table th:last-child{width:9%;padding-right:0}.training-table tbody td{font-family:var(--mono);font-size:11px}.training-table tbody tr:hover,.training-table tbody tr:focus{background:#f2f6f8;outline:0}.training-table tbody tr:focus-visible{box-shadow:inset 2px 0 var(--blue)}.training-table th.effect-heading{width:38%;padding-left:20px;padding-right:20px}.training-table td.effect-cell{padding-left:20px;padding-right:20px}#effect-scale{display:flex;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:9px;color:#93a2ab}.effect-track{position:relative;height:20px}.zero-line{position:absolute;left:50%;width:1px;background:#bdcbd2;top:-12px;bottom:-12px}.delta-bar{position:absolute;height:9px;top:6px;background:#6f95ab;min-width:0;border-radius:1px}.delta-bar.negative{background:#bc8072}.delta-bar.zero{width:3px!important;margin-left:-1px;height:3px;top:9px;background:#98a8b1}.delta-value{color:var(--blue)}.delta-value.negative{color:#a96353}.delta-value.neutral{color:var(--muted)}.effect-track .baseline-dot,.effect-track .pixel-dot{position:absolute;top:7px;transform:translateX(-50%)}.effect-track .baseline-dot{top:3px}.effect-track .pixel-dot{top:11px}.score-connector{position:absolute;top:10px;height:1px;background:#a0b7c4;min-width:1px}.training-detail{min-height:32px;font-size:11px;line-height:1.8;color:var(--blue);margin:18px 0 13px}.training-table-wrap{width:100%}
@media(max-width:1100px){html{scroll-padding-top:72px}.header-actions{padding-right:92px}.mobile-contents summary{padding-right:108px}.case-gallery{gap:20px 16px}}
@media(max-width:720px){.header-actions{padding-right:44px}.header-link{display:none}.prose p,.prose li{font-size:18px;line-height:1.75}.prose h3{font-size:24px}.prose table{font-size:11px}.prose th,.prose td{padding:9px 5px}.board-head,.board-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:12px}.board-row{font-size:11px}.board-name small{font-size:8px}.score-cell{font-size:10px}.case-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 16px}.gallery-toolbar,.board-controls{flex-wrap:wrap}.pipeline-grid{grid-template-columns:1fr;gap:22px}.pipeline-step{padding-left:18px}.pipeline-step h4{margin:10px 0}.training-table th:first-child{width:40%;font-size:10px;overflow-wrap:anywhere}.training-table th:nth-child(2),.training-table th:nth-child(3){width:23%}.training-table th:last-child{width:14%}.training-table .effect-heading,.training-table .effect-cell{display:none}.training-table th,.training-table td{padding:10px 4px}.training-table thead th{font-size:9px}.training-table tbody td{font-size:10px}.training-toolbar{flex-wrap:wrap}.training-legend{gap:6px}.training-detail{font-size:10px}.training-toolbar .segmented{display:none}html[lang="zh-CN"] .prose h2{font-size:27px}html[lang="zh-CN"] .prose p{font-size:17px;line-height:1.95}.figure-selects>.select-label{min-width:90px}}

/* Editorial margin notes, with readable inline notes as the no-JS fallback. */
.reading-block{position:relative}
.paragraph-notes{margin:0 0 22px}
.prose .sidenote{color:#70777b;margin:10px 0;scroll-margin-top:85px;outline:none}
.prose .sidenote summary{font-family:var(--sans);font-size:12px;line-height:1.65;color:var(--blue);padding:6px 0;cursor:pointer}
.prose .sidenote-content{position:relative;padding:8px 0 3px 16px;border-left:1px solid #dce4e8}
.prose .sidenote p,.prose .sidenote li,html[lang="zh-CN"] .prose .sidenote p,html[lang="zh-CN"] .prose .sidenote li{font-family:var(--serif);font-size:14px;line-height:1.6;letter-spacing:0;color:inherit;margin:0 0 9px;overflow-wrap:anywhere}
.prose .sidenote p:last-child{margin-bottom:0}
.prose .sidenote a{color:inherit;text-decoration-color:#aeb9bf;text-underline-offset:3px}
.prose .sidenote a:hover{color:var(--blue)}
.prose .sidenote-number{display:none}
.prose .sidenote .footnote-backref{font-family:var(--sans);font-size:12px;text-decoration:none;padding:3px 5px;color:var(--blue)}
.prose .sidenote:target .sidenote-content,.prose .sidenote:focus .sidenote-content{border-color:#7e9aab}
.prose a.footnote-ref{display:inline-block;min-width:12px;text-align:center;scroll-margin-top:100px}
@media(min-width:1280px){
  .sidenotes-ready .paragraph-notes{display:contents}
  .sidenotes-ready .prose .sidenote{position:absolute;left:calc(100% + 38px);width:clamp(220px,calc((100vw - 640px)/2 - 64px),300px);margin:0;padding-left:14px}
  .sidenotes-ready .sidenote summary{display:none}
  .sidenotes-ready .prose .sidenote-content{padding:0;border:0}
  .sidenotes-ready .prose .sidenote-number{display:block;position:absolute;left:-14px;top:-2px;font-family:var(--sans);font-size:10px;line-height:1.5;color:#8b9296}
  .sidenotes-ready .sidenote .footnote-backref{display:none}
  .sidenotes-ready .sidenote:target,.sidenotes-ready .sidenote:focus{color:#415965}
}
@media print{
  .reading-block{padding-bottom:0!important}
  .sidenotes-ready .paragraph-notes{display:block}
  .sidenotes-ready .prose .sidenote{position:static;width:auto;padding-left:0;margin:10px 0 20px}
  .sidenotes-ready .sidenote summary{display:block}
  .sidenote-details:not([open]) .sidenote-content{display:block}
  .sidenotes-ready .prose .sidenote-number{display:none}
  .language-switcher{display:none}
}

/* Resolution comparisons keep a shared model order in scores and examples. */
.resolution-figure{min-width:0}
.score-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:10px 0 22px}
.resolution-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:10px;color:var(--muted)}
.resolution-legend>span{display:flex;align-items:center;gap:6px}
.resolution-color{width:10px;height:10px;display:inline-block}
.resolution-16{background:#c8dce7}.resolution-32{background:#91b6cb}.resolution-64{background:#5686a2}.resolution-avg{background:#263f50}
.matrix-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#b9c7cf transparent}
.resolution-chart{display:block;width:100%;height:auto;overflow:visible}
.score-tick{font:10px var(--mono);fill:#839099}
.model-axis-label{font:10px var(--sans);fill:#4b555b}
.algorithm-axis-label{font:9px var(--sans);fill:#929ba0}
.average-label{font:10px var(--mono);fill:#263f50}
.resolution-bar{cursor:crosshair;transition:opacity .12s}
.resolution-bar:hover,.resolution-bar:focus{stroke:#263f50;stroke-width:1.5;outline:none}
.score-readout{font:11px/1.6 var(--mono);min-height:18px;margin:6px 0 12px;color:#63747e}
.exact-scores{font-size:11px;color:var(--muted);margin:0 0 14px}
.exact-scores summary{width:max-content;cursor:pointer;padding:5px 0}
.resolution-matrix{width:100%;min-width:calc(48px + var(--columns) * 88px);table-layout:fixed;border-collapse:separate;border-spacing:0;margin:16px 0 22px;font-size:10px}
.resolution-matrix th{font-weight:400;color:#4b555b;text-align:center;line-height:1.5;padding:8px 5px 12px;overflow-wrap:anywhere}
.resolution-matrix th small{display:block;font-size:9px;color:#939ca2;margin-top:3px}
.resolution-matrix tr>:first-child{width:48px;position:sticky;left:0;z-index:1;background:#fff;text-align:left;font:9px/1.5 var(--mono);padding-left:0;color:#7a858d}
.resolution-matrix td{padding:8px 7px;text-align:center;font-family:var(--mono)}
.resolution-matrix tbody tr+tr td,.resolution-matrix tbody tr+tr th{border-top:1px solid #edf0f2}
.resolution-matrix .algorithm-column{background:#fafbfc}
.matrix-stage{position:relative;width:100%;aspect-ratio:1;background:#f6f8f9}
.matrix-stage canvas{display:block;width:100%;height:100%;image-rendering:pixelated}
.matrix-stage.case-missing{padding:4px;font:10px/1.5 var(--sans)}
.exact-scores .resolution-matrix{margin-top:8px}
.exact-scores .average-row{font-weight:600;color:#263f50}
.resolution-figure .gallery-toolbar{align-items:center;justify-content:flex-end;margin-top:30px;margin-bottom:8px;padding-top:22px}
.resolution-figure .source-toolbar{justify-content:space-between}
.matrix-source{display:flex;align-items:center;gap:12px;font-size:10px;color:var(--muted)}
.matrix-source img{width:72px;height:72px;object-fit:contain}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:720px){.score-toolbar{align-items:flex-end;gap:12px}.resolution-legend{gap:8px;font-size:9px;max-width:190px}.score-toolbar select{max-width:140px;min-width:100px}.resolution-figure .gallery-toolbar{flex-wrap:nowrap}.matrix-source img{width:56px;height:56px}.matrix-source{gap:8px}.score-readout{font-size:10px}.resolution-matrix{margin-bottom:15px}}

/* Keep comparison views focused on data, with all controls in one compact row. */
.resolution-figure{padding:12px 0;margin-top:24px;margin-bottom:26px}
.resolution-figure .resolution-board{margin:0}
.score-toolbar{margin:0 0 8px;gap:12px}
.score-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}
.score-controls .select-label{gap:0}
.score-controls .select-label>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.score-controls select{min-width:110px;max-width:165px;padding:6px 23px 6px 8px;font-size:10px}
.score-readout{position:fixed;z-index:50;width:max-content;max-width:calc(100vw - 16px);min-height:0;margin:0;padding:7px 9px;background:#fff;border:1px solid #dce3e7;box-shadow:0 2px 8px #18344212;border-radius:3px;font:11px/1.5 var(--mono);color:#345363;pointer-events:none}
.resolution-matrix{margin:6px 0 0}
.resolution-matrix th{padding-top:6px;padding-bottom:8px}
.resolution-matrix td{padding-top:6px;padding-bottom:6px}
.resolution-matrix #compare-source{width:42px;height:42px;object-fit:contain}
@media(max-width:720px){.score-toolbar{flex-wrap:wrap;align-items:center;gap:8px}.score-controls{margin-left:auto;gap:8px}.score-controls select{max-width:155px;min-width:108px}.score-readout{font-size:10px}}

/* A single model header and a single scrolling surface align scores with pixels. */
.resolution-figure{border:0}
.comparison-content{width:100%;min-width:calc(64px + var(--columns) * 88px)}
.comparison-content .resolution-chart{min-width:0}
.comparison-content .resolution-matrix{min-width:0;margin-top:0}
.comparison-content .resolution-matrix tr>:first-child{width:var(--row-label)}
.comparison-content .resolution-matrix tbody tr+tr td,.comparison-content .resolution-matrix tbody tr+tr th{border:0}
.comparison-content .resolution-matrix tbody th{color:#202529;font:15px/1.4 var(--sans)}
.comparison-content .resolution-matrix thead th{color:#30373c;font-size:12px;padding-top:8px;padding-bottom:10px}
.resolution-legend{font-size:12px;color:#202529}
.score-tick{font-size:14px;fill:#202529}
@media(max-width:720px){.resolution-legend{font-size:11px}.comparison-content .resolution-matrix tbody th{font-size:14px}}

/* A single labeled source image sits to the right of the I2P matrix. */
.source-references{display:flex;flex-direction:column;align-items:center;gap:7px;width:max-content;margin:12px 0 0 auto}
.source-label{font:12px/1.5 var(--serif);color:var(--muted)}
.source-references img{width:128px;height:128px;object-fit:contain}
.resolution-board[data-task="i2p"]{position:relative}
.source-references.is-aside{position:absolute;left:calc(100% + 20px);top:var(--pixel-source-top);width:var(--pixel-source-size);margin:0}
.source-references.is-aside img{width:var(--pixel-source-size);height:var(--pixel-source-size)}
@media(max-width:600px){.source-references img{width:112px;height:112px}}

/* Resolution sweep: sampled sizes share columns between curves and images. */
.scaling-sweep{position:relative;border:0;padding:0;scroll-margin-top:80px}
.sweep-toolbar,.sweep-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sweep-controls .select-label>span{display:none}
.sweep-controls select{font-size:12px;max-width:180px}
#sweep-play{border:0;background:#edf2f4;color:var(--blue);padding:8px 12px;min-width:64px;font:12px var(--serif);border-radius:2px}
#sweep-play:disabled{opacity:.4;cursor:default}
.sweep-scroll{overflow-x:auto;overscroll-behavior-x:contain}
.sweep-content{min-width:880px}
#sweep-chart svg{width:100%;height:auto;overflow:visible}
.sweep-tick{font:14px var(--serif);fill:#30373c}
.sweep-point{cursor:pointer;stroke:#fff;stroke-width:1;transition:r .12s ease-out,opacity .12s ease-out,stroke .12s ease-out,stroke-width .12s ease-out}
.sweep-point:focus{outline:none;stroke:#202529;stroke-width:2}
.sweep-point.is-active{stroke:#111;stroke-width:1.5}
.sweep-line{pointer-events:none;stroke-linejoin:round;stroke-linecap:round;transition:stroke-width .12s ease-out,opacity .12s ease-out}
.sweep-tooltip{position:fixed;z-index:1000;pointer-events:none;max-width:calc(100vw - 16px);padding:8px 11px;border:1px solid #d6dcdf;border-radius:3px;background:#fff;box-shadow:0 2px 10px #00000012;color:var(--ink);font:12px/1.5 var(--serif);white-space:pre-line}
.sweep-tooltip[hidden]{display:none}
#sweep-images{margin-top:7px}
.sweep-image-row{display:grid;grid-template-columns:14.285714% repeat(10,minmax(0,1fr));margin-bottom:10px;align-items:center}
.sweep-row-label{position:sticky;left:0;z-index:1;display:flex;align-self:stretch;align-items:center;gap:7px;border:0;background:#fff;text-align:left;padding:6px 12px 6px 0;color:var(--muted);font:12px/1.4 var(--serif)}
.sweep-row-label i{width:7px;height:7px;flex:none;background:var(--model-color)}
.sweep-row-label[aria-pressed=true]{color:var(--ink)}
.sweep-row-label.is-active{color:var(--ink)}
.sweep-tile{position:relative;aspect-ratio:1;min-width:0;display:grid;place-items:center;background:#f8f9f9}
.sweep-tile canvas{width:100%;height:100%;image-rendering:pixelated}
.sweep-tile:focus{outline:none}
.inspector-model-thumb{position:relative}
.sweep-tile::after,.matrix-stage::after,.specimen-image::after,.inspector-model-thumb::after,.compact-inspector .pixel-stage::after{content:'';position:absolute;inset:0;border:2px solid #000;z-index:3;pointer-events:none;opacity:0;transition:opacity .12s ease-out}
.sweep-tile.is-selected::after{opacity:1}
.matrix-stage:focus-visible{outline:none}
.matrix-stage:focus-visible::after,.specimen:focus-visible .specimen-image::after,.inspector-model-option:focus-visible .inspector-model-thumb::after,.compact-inspector .pixel-stage:has(:focus-visible)::after{opacity:1}
.sweep-resolution,.pixel-resolution-badge{position:absolute;right:2px;bottom:2px;z-index:1;padding:1px 4px;background:#111;color:#fff;font:11px/1.4 var(--serif);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .12s ease-out,visibility 0s linear .12s}
.sweep-tile.is-selected .sweep-resolution,.matrix-stage:focus-visible .pixel-resolution-badge{opacity:1;visibility:visible;transition-delay:0s}
@media(hover:hover){
  .matrix-stage:not(.case-missing):hover::after,.specimen:hover .specimen-image::after,.inspector-model-option:not(:disabled):hover .inspector-model-thumb::after,.compact-inspector .pixel-stage:hover::after{opacity:1}
  .matrix-stage:hover .pixel-resolution-badge{opacity:1;visibility:visible;transition-delay:0s}
}
.sweep-tile.is-missing{font:11px/1.4 var(--serif);color:var(--muted);text-align:center}
.sweep-footer{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-top:12px;min-height:22px}
#sweep-reference{display:flex;flex-direction:column;align-items:center;gap:7px;margin-left:auto;color:var(--muted);font:12px var(--serif)}
#sweep-reference:empty{display:none}
#sweep-reference img{width:128px;height:128px;object-fit:contain}
@media(max-width:720px){.sweep-toolbar{align-items:flex-start;gap:8px;flex-wrap:wrap}.sweep-controls{gap:8px;flex:1;justify-content:flex-end}.sweep-controls select{min-width:80px;max-width:140px;font-size:11px}#sweep-models{gap:5px 14px}#sweep-models button{font-size:12px}}
@media(prefers-reduced-motion:reduce){.sweep-tile{transition:none}}
@media(max-width:720px){.sweep-controls{min-width:0;flex-basis:260px}.sweep-controls .select-label{min-width:0;flex:1}.sweep-controls select{width:100%}#sweep-play{flex:none}}

#sweep-reference.is-aside{position:absolute;left:calc(100% + 20px);top:var(--pixel-source-top);width:var(--pixel-source-size);margin:0}
#sweep-reference.is-aside img{width:var(--pixel-source-size);height:var(--pixel-source-size)}
.sweep-footer:has(#sweep-reference.is-aside),.sweep-footer:has(#sweep-reference:empty){min-height:0;margin-top:0}
@media(max-width:600px){#sweep-reference img{width:112px;height:112px}}

/* The task control switches the paired curves; only the image matrix scrolls. */
#sweep-chart{margin:14px 0 18px}
.sweep-chart-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;min-width:0}
.sweep-chart-panel{min-width:0}
.sweep-chart-panel h3{font:14px/1.5 var(--serif);color:var(--ink);font-weight:400;margin:0 0 6px}
.sweep-scroll-hint{display:none}
.sweep-size-row{display:grid;grid-template-columns:14.285714% repeat(10,minmax(0,1fr));margin-bottom:9px;text-align:center;font:12px var(--serif);color:var(--ink)}
.sweep-size-row>span:first-child{position:sticky;left:0;z-index:1;background:#fff}
.sweep-controls{flex:0 1 auto}
@media(max-width:1300px){.sweep-scroll-hint{display:block;text-align:right;font:11px/1.4 var(--serif);color:var(--blue);margin:8px 0 -4px}}
@media(max-width:720px){.sweep-controls{flex:0 1 auto;flex-basis:auto}.sweep-controls .select-label{flex:0 1 auto}#sweep-chart{margin-bottom:22px}.sweep-chart-group{grid-template-columns:minmax(0,1fr);gap:16px}.sweep-chart-panel h3{margin-bottom:3px}}

/* Shared model rows keep both pixel-input sources directly comparable. */
#understanding-results{width:min(640px,calc(100% - 48px));border:0;padding:0}
.understanding-table{width:100%;table-layout:fixed;border-collapse:collapse;font-family:var(--serif);font-size:14px;line-height:1.4;font-variant-numeric:tabular-nums;color:var(--ink)}
.understanding-model-column{width:172px}
.understanding-table th{font-weight:400;text-align:left}
.understanding-table thead th{padding:0 0 12px;font-size:16px}
.understanding-table thead th:first-child{font-size:14px}
.understanding-table td,.understanding-table tbody th{padding:7px 0}
.understanding-table th:nth-child(2),.understanding-table td:nth-child(2){padding-right:16px}
.understanding-table th:nth-child(3),.understanding-table td:nth-child(3){padding-left:16px}
.understanding-table tbody th{padding-right:16px}
.understanding-source{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.understanding-source small{font-size:11px;color:var(--muted);white-space:nowrap}
.understanding-score{position:relative;width:calc(100% - 48px)}
.understanding-score>span:last-child{position:absolute;left:var(--score);top:50%;transform:translate(7px,-50%);white-space:nowrap}
.understanding-track{display:block;height:22px}
.understanding-track i{display:block;width:var(--score);height:100%;background:#5686a2}
@media(max-width:720px){
  .understanding-model-column{width:27%}
  .understanding-table{font-size:12px}
  .understanding-table thead th{font-size:14px}
  .understanding-table thead th:first-child{font-size:12px}
  .understanding-table tbody th{padding-right:8px}
  .understanding-table th:nth-child(2),.understanding-table td:nth-child(2){padding-right:8px}
  .understanding-table th:nth-child(3),.understanding-table td:nth-child(3){padding-left:8px}
  .understanding-score{width:calc(100% - 39px)}
  .understanding-score>span:last-child{transform:translate(5px,-50%)}
  .understanding-track{height:20px}
}

/* PRT: all reported changes, followed by the two published averages. */
#training-results{padding:0;border:0}
.training-chart-scroll{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
.training-chart{display:block;width:100%;min-width:920px;height:auto;font-family:var(--serif);color:var(--ink)}
.training-chart text{fill:currentColor;font-size:14px}
.training-chart .training-axis-title{font-size:14px}
.training-chart .training-tick{font-size:12px;fill:var(--muted)}
.training-gridline{stroke:#e8ece9;stroke-width:1}
.training-zero{stroke:#9da7a0}
.training-bar{outline:none;cursor:default}
.training-column{stroke:#111;stroke-opacity:0;stroke-width:1.5;transition:stroke-opacity 120ms ease}
.training-bar:hover .training-column,.training-bar:focus-visible .training-column{stroke-opacity:1}
.training-chart .training-average-label{font-weight:600}
.training-chart-scroll:focus-visible{outline:1px solid var(--blue);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.training-column{transition:none}}

/* Paper byline replaces the introductory deck and shares its entrance timing. */
.hero-authors{max-width:1000px;color:var(--ink)}
.author-list{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;margin:0;font-size:18px;line-height:1.6}
.author-name{white-space:nowrap}
.hero-authors sup{font-size:.65em;line-height:0;vertical-align:super;margin-left:2px}
.author-affiliations{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 20px;margin:10px 0 0;font-size:13px;line-height:1.6;color:var(--muted)}
.author-affiliations>span{white-space:nowrap}
.project-resources{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:22px}
.project-resource{display:inline-flex;align-items:center;gap:10px;min-height:36px;padding:7px 14px;border:1px solid #dfe5e8;border-radius:4px;background:#fff;color:var(--blue);font:14px/1.4 var(--serif);white-space:nowrap;transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease}
.project-resource:not(:disabled):is(:hover,:focus-visible){background:#edf2f4;border-color:#c2cfd6;color:#27485a}
.project-resource:disabled{opacity:1;cursor:default}
.project-resource-status{font-size:12px;color:var(--muted)}
@media(prefers-reduced-motion:reduce){.project-resource{transition:none}}
@media(max-width:720px){.author-list{font-size:15px;gap:5px 16px}.author-affiliations{font-size:12px;gap:4px 14px}}

/* Chapter numbers hang outside the prose; outlines share the compiler's order. */
.prose h2[data-section-number]{position:relative}
.prose h2[data-section-number]::before{content:attr(data-section-number);position:absolute;right:calc(100% + 22px);top:.6em;font-size:.6em;line-height:1;font-weight:400;letter-spacing:0;font-variant-numeric:tabular-nums;color:var(--muted)}
.contents{padding-left:32px}
.contents>a[data-section-number]::before{content:attr(data-section-number);position:absolute;right:calc(100% + 8px);top:10px;width:10px;text-align:right;font-size:12px;font-variant-numeric:tabular-nums;color:inherit}
.mobile-contents a[data-section-number]{position:relative;padding-left:22px}
.mobile-contents a[data-section-number]::before{content:attr(data-section-number);position:absolute;left:0;top:11px;font-variant-numeric:tabular-nums}
@media(max-width:720px){.prose h2[data-section-number]::before{right:calc(100% + 8px)}}

/* A quiet sign-off and editable citation, within the article column. */
#outlook{margin-bottom:32px}
.article-colophon{width:min(640px,calc(100% - 48px));margin:0 auto 64px;scroll-margin-top:90px}
.writing-credit{margin:0 0 28px;font-size:13px;line-height:1.6;font-style:italic;text-align:right}
.author-name a,.writing-credit a{text-decoration:underline;text-decoration-color:#cdd2d5;text-decoration-thickness:1px;text-underline-offset:4px;transition:color 120ms ease}
.author-name a:hover,.writing-credit a:hover,.author-name a:focus-visible,.writing-credit a:focus-visible{color:#8a9094}
.citation-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}
.citation-heading h2{margin:0;font-size:18px;line-height:1.5;font-weight:400}
#copy-citation{font:13px var(--serif);border:1px solid #dce3e7;background:#fff;padding:5px 12px;color:var(--ink)}
#copy-citation:hover{background:var(--pale)}
.citation-code{margin:0;padding:16px 18px;background:var(--pale);white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.7 var(--mono)}
.citation-code code{font:inherit}
.citation-status{font-size:12px;color:var(--muted);line-height:1.6;margin:10px 0 0}
.citation-status:empty{display:none}
@media(max-width:720px){.article-colophon{width:calc(100% - 48px)}.citation-code{padding:14px;font-size:12px}}

/* Keep the prose uninterrupted when there is no room for margin notes. */
.sidenotes-ready .paragraph-notes:empty{display:none}
.endnotes{margin:0 auto 64px}
.prose.endnotes h2{font-size:24px;line-height:1.4;margin:0 0 24px}
.endnotes .sidenote{position:relative;margin:0 0 20px;padding-left:26px}
.endnotes .sidenote summary{display:none}
.endnotes .sidenote-content{padding:0;border:0}
.endnotes .sidenote-number{display:block;position:absolute;left:-26px;top:0;font-size:12px;line-height:1.9}
.endnotes .sidenote .footnote-backref{display:inline-block;padding:4px 6px;margin-left:3px;white-space:nowrap}
.endnotes .sidenote:target,.endnotes .sidenote:focus{color:var(--ink)}

/* A persistent language choice, independent of the animated page header. */
.language-switcher{position:fixed;right:24px;top:24px;z-index:30;display:flex;gap:2px;padding:3px;border:1px solid #e1e5e7;border-radius:20px;background:#fffffff2;box-shadow:0 2px 10px #252a2c08;backdrop-filter:blur(8px)}
.language-switcher button{min-width:36px;height:28px;padding:0 7px;border:0;border-radius:15px;background:transparent;color:#777f83;font:12px/1 var(--serif);transition:background-color 120ms ease,color 120ms ease}
.language-switcher button[aria-pressed="true"]{background:#eaf0f3;color:#254c61}
.language-switcher button:hover{color:var(--ink);background:#f1f4f5}
.language-switcher button[aria-pressed="true"]:hover{background:#e3ebef}
.language-switcher button:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
@media(max-width:1100px){.language-switcher{top:7px;right:17px}}
@media(prefers-reduced-motion:reduce){.language-switcher button{transition:none}}
@media print{.language-switcher{display:none}}

/* Compact reading rhythm on phones, with extra leading for Chinese text. */
@media screen and (max-width:720px){
  .hero{padding:32px 22px 24px}
  .hero h1{font-size:clamp(32px,9.2vw,40px);line-height:1.12;letter-spacing:-1.1px;margin:18px 0 20px}
  .author-list{font-size:14px;line-height:1.5;gap:4px 14px}
  .author-affiliations{margin-top:8px;line-height:1.5}
  .hero-figure{margin-bottom:32px}
  .mobile-contents{margin-bottom:32px}
  .prose h2{font-size:27px;line-height:1.22;margin-bottom:18px}
  .prose h3{font-size:21px;line-height:1.35;margin:28px 0 16px}
  .prose p,.prose li{font-size:16px;line-height:1.65}
  .prose p{margin-bottom:16px}
  .prose ul,.prose ol{margin:0 0 16px;padding-left:22px}
  .prose li+li{margin-top:6px}
  html[lang="zh-CN"] .prose h2{font-size:24px;line-height:1.4}
  html[lang="zh-CN"] .prose h3{line-height:1.45}
  html[lang="zh-CN"] .prose p,html[lang="zh-CN"] .prose li{font-size:16px;line-height:1.8;letter-spacing:0}
  .essay-section{margin-bottom:52px}
  .wide{margin:24px auto}
  .figure-topline h3{font-size:20px}
  .article-colophon,.endnotes{margin-bottom:48px}
  .prose.endnotes h2{font-size:22px;line-height:1.4;margin-bottom:20px}
  .prose .sidenote p,.prose .sidenote li,
  html[lang="zh-CN"] .prose .sidenote p,html[lang="zh-CN"] .prose .sidenote li{font-size:13px;line-height:1.65;margin-bottom:8px}
  html[lang="zh-CN"] .prose .sidenote p,html[lang="zh-CN"] .prose .sidenote li{line-height:1.75}
  .prose .sidenote p:last-child{margin-bottom:0}
  .endnotes .sidenote{margin-bottom:16px}
}
