.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.pt2-lede-one .lede-inner .lede-day ~ p{margin-block:0!important}
.pt2-models-lede{padding-bottom:clamp(40px,8svh,90px)}
.pt2-models-lede p{margin-bottom:.6em}
.pt2-models-lede p:nth-last-child(2){margin-top:2.2em}
.pt2-lede-two{padding-top:clamp(40px,8svh,90px)}
.post-title{font:12px var(--mono);color:var(--muted)}
.scene.models{height:300svh;--axis-inset:100px}
.scene.models>.sticky{min-height:0;padding-top:76px;padding-bottom:24px}
.scene.models .plot-wrap{min-height:0;flex:1}
.scene.models .chart-title{text-align:center;font:14px/1.4 var(--mono);margin:0 0 16px;color:#fff}
.scene.models .legend{padding-left:80px}
.scene.models .legend i{border-top-width:3px}
.scene.models .meme-frame img{width:min(850px,90vw);height:auto;image-rendering:auto;max-height:80svh;object-fit:contain}
.scene.models.meme{height:180svh}
.scene.models .fallback{width:100%;height:100%;object-fit:contain}
.scene.models svg[hidden]{display:none}
.scene.models .plot-wrap,.scene.models .plot-wrap *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.scene.models .passage{max-height:75%}
.all-mode .scene.models{height:auto}
.all-mode .scene.models>.sticky{height:auto;min-height:0;overflow:visible;gap:16px}
.all-mode .scene.models .plot-wrap{height:540px;flex:auto}
.all-mode .scene.models .passage{max-height:none}
.all-mode .scene.models .meme-frame{min-height:50svh}
@media(max-width:760px){.post-title{font-size:10px}.scene.models{--axis-inset:58px}.scene.models>.sticky{padding-top:65px;padding-bottom:20px}.scene.models .legend{padding-left:40px;gap:6px 12px}.scene.models .chart-title{font-size:11px;margin-bottom:8px}.scene.models .passage h2{font-size:18px}.all-mode .scene.models .plot-wrap{height:400px}}
@media print{.scene.models{height:auto!important}.scene.models .sticky{height:auto!important;min-height:0;overflow:visible}.scene.models .plot-wrap{height:480px;flex:auto}.scene.models .passage{position:relative!important;left:0!important;transform:none!important}.track{display:none!important}}

/* Consecutive passages share one pinned visual. */
.scene.models.business{height:960svh}
.scene.models.expansion{height:520svh}
.scene.models.compute{height:920svh}
.scene.models.spiral{height:420svh}
.scene.models .legend span{transition:opacity .2s ease}
.scene.models.business:is([data-stage="1"],[data-stage="2"]) .passage{width:min(390px,calc(100% - 80px));max-height:80%}
.business-sentence{display:block;opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease}
.business-sentence+.business-sentence{margin-top:1em}
.business-sentence.is-visible,.all-mode .business-sentence{opacity:1;transform:none}
.scene.models.compute .legend{padding-left:40px}
.scene.models .plot-wrap g{transition:opacity .25s ease}
.scene.models.tweet-scene{height:auto;min-height:100svh}
.scene.models.tweet-scene>.sticky{position:relative;top:0;height:auto;min-height:100svh;align-items:center;justify-content:center;padding-block:100px;overflow:visible}
.tweet-heading{width:min(100%,750px);margin-bottom:32px}
.tweet-heading h2{font-size:clamp(28px,4vw,48px);text-align:center}
.tweet-panel{width:min(100%,550px)}
.tweet-panel blockquote:not(.twitter-tweet-rendered){margin:0;padding:24px;border:1px solid #526777;background:#101820;border-radius:16px}
.tweet-panel .twitter-tweet-rendered{margin:0!important;overflow:hidden;border-radius:16px}
.spiral-frame{flex:1;min-height:0;display:grid;place-items:center;overflow:hidden}
.scene.models.math-illustration{height:200svh}
.math-frame{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.math-frame img{display:block;width:100%;height:100%;object-fit:contain}
body:not(.all-mode) .scene.models.math-illustration>.sticky{top:0;height:100svh;padding:0;overflow:hidden}
body:not(.all-mode) .math-frame{position:absolute;inset:0}
body:not(.all-mode) .math-frame img{object-fit:cover}
@media(max-width:760px){body:not(.all-mode) .math-frame img{object-position:70% center}}
.all-mode .scene.models.math-illustration{height:auto}
.all-mode .math-frame{flex:none;min-height:0;overflow:visible}
.all-mode .math-frame img{height:auto}
.spiral-image{width:min(70svh,85vw);height:min(70svh,85vw);object-fit:contain;border-radius:50%;animation:spiral-spin 28s linear infinite;animation-play-state:paused}
.spiral.is-visible:not(.paused) .spiral-image{animation-play-state:running}
.spin-toggle{position:absolute;right:24px;top:76px;z-index:4;background:#101820}
@keyframes spiral-spin{to{transform:rotate(360deg)}}
.scene.models.chapter{height:100svh}
.scene.models.chapter>.sticky{position:relative!important;height:100svh!important;align-items:center;justify-content:center}
.scene.models.chapter .passage{transform:none!important;position:static!important;background:none;border:0;box-shadow:none;width:100%;max-width:none;max-height:none;padding:0;margin:auto;overflow:visible}
.scene.models.chapter h2{font-size:clamp(80px,16vw,200px);font-weight:450;letter-spacing:-.065em;text-align:center}
.all-mode .scene.models.business,.all-mode .scene.models.expansion,.all-mode .scene.models.compute,.all-mode .scene.models.spiral{height:auto}
.all-mode .scene.models .passage [data-passage]+[data-passage]{margin-top:24px}
.all-mode .spiral-image{animation:none!important}
.all-mode .spin-toggle{display:none}
@media(max-width:760px){.scene.models.business:is([data-stage="1"],[data-stage="2"]) .passage{width:calc(100% - 90px)}.scene.models.business .passage h2{font-size:17px}.scene.models.compute .legend{padding-left:8px}.spin-toggle{right:16px;top:66px}.scene.models.tweet-scene>.sticky{padding-inline:18px}.tweet-heading h2{font-size:30px}.spiral-image{width:88vw;height:88vw}}
@media(prefers-reduced-motion:reduce){.spiral-image{animation:none!important}.spin-toggle{display:none}.scene.models .plot-wrap g{transition:none}}
@media(prefers-reduced-motion:reduce){.business-sentence{transition:none}}
@media print{.spiral-image{animation:none!important}.spin-toggle{display:none}.scene.models .passage [hidden]{display:block!important}}

.scene.models .passage[hidden]{display:none}
.all-mode .scene.models [data-passage][hidden]{display:block}

.scene.models.margins{height:720svh}
.scene.models.margins svg rect,.scene.models.margins svg text{transition:opacity .25s ease}
.all-mode .scene.models.margins{height:auto}
@media(prefers-reduced-motion:reduce){.scene.models.margins svg rect,.scene.models.margins svg text{transition:none}}

.scene.models.compute{height:1140svh}
.all-mode .scene.models.compute{height:auto}
.scene.models.tweet-scene>.sticky{padding-block:40px;min-height:0;height:auto;overflow:visible}
body:not(.all-mode) .scene.models.tweet-scene>.sticky{height:auto;min-height:100svh;justify-content:flex-start}
.tweet-panel{width:min(100%,550px);zoom:.65}
.tweet-panel .twitter-tweet-rendered{overflow:visible!important}
.vortex-canvas{display:block;width:100%;height:100%;min-height:360px}
.all-mode .spiral-frame{height:650px;flex:none}
@media(max-width:760px){.tweet-panel{zoom:1;min-width:0;max-width:100%}.vortex-canvas{min-height:300px}.all-mode .spiral-frame{height:500px}}
@media(max-width:760px){body:not(.all-mode) .scene.models.tweet-scene>.sticky{padding:32px 16px}}

.scene.models.chapter .chapter-copy{width:min(100%,850px);margin:auto;text-align:center;padding:32px 20px}
.scene.models.chapter .chapter-copy p{font-size:clamp(18px,2vw,24px);line-height:1.6;max-width:650px;margin:0 auto 32px;color:#e6edf3}
.scene.models.chapter .chapter-copy h2{color:#fff;margin:0}

/* Long-form continuation: prose flows normally; only graphs pin. */
.body-copy{width:min(740px,calc(100% - 48px));margin:0 auto;padding:28px 0;color:#e6edf3;font-size:17px;line-height:1.55}
.body-copy p{margin:0}.body-copy p+p{margin-top:1.4em}
.body-copy a{color:inherit;text-decoration:underline;text-underline-offset:4px}
.jev-demo{margin-top:32px}
.jev-demo video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#f5f5f5;pointer-events:none}
.jev-demo .jev-demo-caption{margin-top:8px;color:#9aafbf;font:11px/1.4 var(--mono)}
.scene.models.chapter.prose-bridge{height:auto}
.scene.models.chapter.prose-bridge>.sticky{position:relative!important;display:block;height:auto!important;min-height:0;padding:0;overflow:visible;background:transparent}
.article-visual{width:min(1050px,calc(100% - 40px));margin:28px auto 70px}
.article-visual img{display:block;width:100%;height:auto;max-height:75svh;object-fit:contain}
.article-visual img[src$="3838.png"]{max-height:480px}
.article-heading{min-height:70svh;display:grid;place-items:center;padding:70px 24px}
.article-heading h2{font-size:clamp(60px,12vw,145px);font-weight:450;letter-spacing:-.06em;line-height:1.04;text-align:center;color:white;margin:0}
.agent-loop{white-space:pre-wrap;font:16px/1.65 var(--mono);color:#39ffc1;border-left:2px solid #39ffc1;padding:22px 26px;background:#101820}
/* Matches .quoted-source below; the element selector keeps the inset padding
   from being flattened by the .body-copy override in the mobile block. */
blockquote.pullquote{border-left:2px solid #526777;padding:28px 32px;margin-block:28px;font-size:20px;color:#fff}
@media(max-width:760px){blockquote.pullquote{padding:22px 24px;font-size:17px}}
blockquote.quoted-source{border-left:2px solid #526777;padding:28px 32px;margin-block:28px}
@media(max-width:760px){blockquote.quoted-source{padding:22px 24px}}
.quoted-source cite{display:block;font:13px var(--mono);margin-top:24px}
.article-embed{width:min(550px,calc(100% - 40px));margin:36px auto 70px;min-height:180px}
.article-embed blockquote:not(.twitter-tweet-rendered){padding:24px;border:1px solid #334351;border-radius:12px}
.scene.models.source-graph{height:320svh}
.scene.models.source-graph[data-steps*=',']{height:500svh}
.scene.models.source-graph figure{min-height:0;width:100%;gap:12px}
.source-chart{width:100%;flex:1;min-height:0;overflow:hidden}
.source-graph .passage{max-width:450px}
.source-graph .passage h2{font-size:17px;line-height:1.55}
.source-graph figcaption{flex:none}
.all-mode .scene.models.source-graph{height:auto}
.all-mode .source-chart{height:70svh;flex:none}
.closing-signoff{width:min(740px,calc(100% - 48px));max-width:none;padding-inline:0}
@media(max-width:760px){.body-copy{padding:24px 0;font-size:15px;line-height:24px}.source-graph .passage{width:calc(100% - 80px)}.source-graph .passage h2{font-size:15px;line-height:24px}.scene.models.source-graph>.sticky{padding-inline:8px}.source-chart{min-height:260px}.article-visual{width:calc(100% - 24px)}}
@media(max-width:760px){body:not(.all-mode) #anthropic-rd-automation .passage{width:min(260px,calc(100% - 112px))}}
@media print{.body-copy{padding:20px 0}.scene.models.source-graph{height:auto!important}.source-chart{height:500px;flex:none}.source-reveal{width:100%}.article-heading{min-height:0}.article-embed{break-inside:avoid}}
.scene.models.source-graph svg.source-chart{overflow:hidden;height:100%;min-height:0}
.scene.models.source-graph svg.source-chart text{font-size:22px;fill:#b7c8d4}
#chinchilla .source-chart image,#china-frontier .source-chart image{filter:invert(1) hue-rotate(180deg)}

/* Scroll-driven jagged capability frontier. */
.scene.intelligence-frontier{height:360svh}
.scene.intelligence-frontier>.sticky{top:0;height:100svh;min-height:0;padding:0;background:#080a10;overflow:hidden}
.intelligence-frontier .plot-wrap{width:100%;height:100%;min-height:0}
.intelligence-frontier svg{width:100%;height:100%;overflow:hidden}
.all-mode .scene.intelligence-frontier{height:auto}
.all-mode .scene.intelligence-frontier>.sticky{position:relative;height:80svh;min-height:400px}

.scene[data-kind="native-continuation"] .plot-wrap{width:100%;min-height:260px}
.scene[data-kind="native-continuation"] .legend{padding-left:70px;gap:8px 18px}
.scene[data-kind="native-continuation"] .model-name{fill:#e6edf3;paint-order:stroke;stroke:#0b1015;stroke-width:3px;stroke-linejoin:round}
@media(max-width:600px){.scene[data-kind="native-continuation"] .legend{padding-left:30px;font-size:10px;gap:5px 12px}}

/* Tweet embeds, matching part 1's .tweet-inline treatment. The clip-path is
   what actually rounds the cross-origin iframe: overflow:hidden on the parent
   does not reliably clip it, and .tweet-panel forces overflow:visible above.
   #15202b is X's own dark-theme background, so nothing shows through behind
   the rounded corner. Any border/radius on the wrapper would stack a second
   corner underneath, which is what made these look ragged. */
.tweet-panel .twitter-tweet-rendered,
.article-embed .twitter-tweet-rendered{margin:0!important;border-radius:16px;background:#15202b}
.tweet-panel iframe,
.article-embed iframe{display:block;border:0;border-radius:16px;clip-path:inset(0 round 16px);background:#15202b}

/* Workforce stages reveal one series or benchmark per passage. */
#machine-tiers.scene{height:800svh}
.all-mode #machine-tiers.scene{height:auto}
.scene.labor-graph .figure-heading h3{font:14px/1.35 var(--mono);color:#e6edf3}
.scene.labor-graph .legend:empty{display:none}
.scene.labor-graph svg .tier-endpoint{font-size:12px;font-weight:600;paint-order:stroke;stroke:#080d12;stroke-width:3px}
.scene.labor-graph svg .workforce-axis-label{fill:#d5e1e8;font:12px var(--mono)}
.scene.labor-graph svg .workforce-reference{fill:#9dafbb;font:10px var(--mono);paint-order:stroke;stroke:#080d12;stroke-width:3px}
@media(max-width:760px){.scene.labor-graph .figure-heading h3{font-size:11px}.scene.labor-graph svg .tier-endpoint{font-size:10px}}

/* Slides 66–71 keep all six passages on the same linear two-bar chart. */
#rl-labor-intro.scene{height:700svh}
#rl-labor-intro .plot-wrap{min-height:280px}
#rl-labor-intro .passage a{text-decoration:underline;text-underline-offset:3px}
#rl-labor-intro svg .labor-value-amount{fill:#fff;font-size:16px;font-weight:700;paint-order:stroke;stroke:#0b1015;stroke-width:4px}
#rl-labor-intro svg .labor-value-name{fill:#e6edf3;font-size:13px}
#rl-labor-intro svg .labor-value-tick{fill:#9aafbf;font-size:11px}
.all-mode #rl-labor-intro.scene{height:auto}
@media(max-width:760px){#rl-labor-intro svg .labor-value-name{font-size:10px}#rl-labor-intro svg .labor-value-amount{font-size:12px}#rl-labor-intro svg .labor-value-tick{font-size:9px}}

/* Match the larger narrative scale across the series. */
.body-copy,.quoted-source,.scene.models.source-graph .passage h2{font-size:22px;line-height:1.5}
blockquote.pullquote{font-size:24px;line-height:1.5}
.scene.models.chapter .chapter-copy p{font-size:clamp(22px,2vw,24px)}
@media(max-width:760px){
 .body-copy,.quoted-source,.scene.models.source-graph .passage h2{font-size:20px;line-height:1.5}
 blockquote.pullquote{font-size:22px}
}

/* Four scroll boxes: revenue comparison, Nvidia focus, allocation, employees. */
.scene.models.margins-story{height:920svh}
.scene.models.margins-story .legend{padding-left:24px}
.scene.models.margins-story figcaption{font-size:10px;line-height:1.5}
.scene.models.margins-story .revenue-source-note{display:block;max-width:850px;margin:auto}
.all-mode .scene.models.margins-story{height:auto}

.scene.models.openai-business{height:1550svh}
.scene.models.openai-business .legend{padding-left:24px}
.scene.models.openai-business figcaption{font-size:10px;line-height:1.5}
.all-mode .scene.models.openai-business{height:auto}

.scene.models.rsi-index{height:520svh}
.all-mode .scene.models.rsi-index{height:auto}

.jev-demo-mobile{display:none}
.jev-demo-mobile img{display:block;width:100%;height:auto;aspect-ratio:16/9}
@media(max-width:760px){.jev-demo video{display:none}.jev-demo-mobile{display:block}}
