/* This essay shares the Journal header, type families and theme preference. */
.century-page { --essay-text:#c7cbc5; }
.century-page .site-nav a[aria-current="location"] { color:var(--ink); }
.century-page .site-nav a[aria-current="location"]:after { content:"";height:1px;background:var(--accent);position:absolute;bottom:0;left:0;right:0; }
html[data-theme="light"] .century-page { --essay-text:#41463e; }
.skip-link { position:absolute;left:24px;top:-80px;padding:12px;background:var(--bg);z-index:80; }
.skip-link:focus { top:12px; }
.century-hero { padding:58px 0 0; }
.essay-brow,.essay-meta,.figure-no,.figure-credit,.diagram-top,.margin-label,.toc-label { font:10px/1.5 var(--sans);letter-spacing:.1em;text-transform:uppercase; }
.essay-brow { display:flex;justify-content:space-between;gap:20px;color:var(--muted); }
.essay-brow a { color:var(--ink); }
.title-row { display:grid;grid-template-columns:1.65fr 1fr;gap:45px;align-items:end;margin:35px 0 37px; }
.century-hero h1 { font-size:clamp(58px,8.5vw,112px);line-height:.94;letter-spacing:-.065em; }
.title-aside { padding:0 0 5px 28px;border-left:1px solid var(--line); }
.title-aside .dek { font:21px/1.45 var(--serif);letter-spacing:-.015em;color:var(--essay-text);max-width:310px; }
.essay-meta { margin-top:25px;letter-spacing:0;line-height:1.8;color:var(--muted); }
.hero-image { background:#050505; }
.hero-image img { width:100%;height:auto;aspect-ratio:2 / 1;object-fit:cover; }
.century-caption { display:grid;grid-template-columns:55px minmax(0,1fr) auto;gap:18px;margin-top:14px;color:var(--muted);font:12px/1.55 var(--sans); }
.century-caption p { max-width:650px; }
.figure-no { color:var(--accent);letter-spacing:0; }
.figure-credit { font-size:9px;letter-spacing:.025em;text-align:right; }
.figure-credit a { border-bottom:1px solid var(--line); }
.essay-nav { display:flex;gap:16px 28px;flex-wrap:wrap;align-items:center;padding:24px 0;border-bottom:1px solid var(--line);margin:25px 0 72px;font-size:12px; }
.toc-label { color:var(--muted);margin-right:8px; }
.century-article { counter-reset:section; }
.century-article > p,.century-article > h2,.century-article > h3,.century-article > ul,.century-article > .anchor { max-width:680px;margin-left:auto;margin-right:auto; }
.century-article > p { color:var(--essay-text);font-size:18px;line-height:1.85;margin-bottom:25px; }
.century-article > p:first-child { color:var(--ink);font:27px/1.48 var(--serif);letter-spacing:-.015em;margin-bottom:28px; }
.century-article h2 { position:relative;font-size:51px;line-height:1.06;margin-top:112px;margin-bottom:31px;counter-increment:section;scroll-margin-top:40px; }
.century-article h2:before { content:"0" counter(section);position:absolute;left:-90px;top:9px;font:11px var(--sans);letter-spacing:0;color:var(--accent); }
.century-article h3 { font-size:31px;line-height:1.2;margin-top:52px;margin-bottom:22px; }
.century-article ul { padding-left:22px;color:var(--essay-text);font-size:17px;line-height:1.75;margin-top:28px;margin-bottom:28px; }
.century-article li { margin-bottom:15px;padding-left:6px; }
.century-article li::marker { color:var(--accent); }
.century-article sup { font:10px var(--sans);margin-left:3px;white-space:nowrap; }
.century-article sup a { padding:5px 2px;color:var(--accent);border-bottom:1px solid var(--line); }
.anchor { display:block;scroll-margin-top:40px; }
.photo-spread { margin:50px 0 62px; }
.photo-spread > img { width:100%;height:auto;max-height:650px;object-fit:cover; }
.lab-photo > img { max-height:575px;object-position:50% 58%; }
.photo-pair { display:grid;grid-template-columns:1.28fr .9fr;gap:34px;align-items:start;margin:52px 0 66px; }
.photo-pair > figure:last-child { padding-top:82px; }
.photo-pair img { aspect-ratio:1.15;object-fit:cover; }
.photo-pair > figure:last-child img { aspect-ratio:1.2; }
.photo-pair figcaption { margin-top:13px;font:12px/1.6 var(--sans);color:var(--muted);max-width:440px; }
.photo-pair .figure-credit { display:block;margin-top:7px;text-align:left; }
.biology-pair { grid-template-columns:.9fr 1.28fr; }
.biology-pair > figure:last-child { padding-top:60px; }
.biology-pair > figure:first-child img { object-fit:contain;background:#fff; }
.power-triptych { display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:22px;margin:42px 0 55px;align-items:start; }
.power-triptych img { height:270px;object-fit:cover; }
.power-triptych figure:nth-child(2) { padding-top:58px; }
.power-triptych figure:nth-child(3) img { height:360px; }
.power-triptych figcaption { font:12px/1.6 var(--sans);color:var(--muted);margin-top:12px; }
.power-triptych strong { display:block;color:var(--ink);font-weight:400;font-size:14px;margin-bottom:5px; }
.power-triptych .figure-credit { display:block;text-align:left;margin-top:8px; }
.quantum-spread { display:grid;grid-template-columns:1fr .8fr;gap:56px;align-items:center;margin:54px 0 60px; }
.quantum-spread img { max-height:520px;object-fit:contain; }
.quantum-spread figcaption { max-width:300px; }
.quantum-spread .large-caption { font:30px/1.2 var(--serif);color:var(--ink);margin:16px 0; }
.quantum-spread p { font-size:14px;line-height:1.7; }
.quantum-spread .figure-credit { display:block;text-align:left;margin-top:25px; }
.sail-photo img { aspect-ratio:1.93;object-fit:cover; }
.brain-photo { max-width:920px;margin-left:auto;margin-right:auto; }
.diagram { border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0 24px;margin:43px 0 50px; }
.diagram-top { display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--muted);margin-bottom:28px; }
.diagram-top span:first-child { color:var(--accent); }
.diagram h3 { font:30px/1.15 var(--serif);color:var(--ink);margin:0 0 26px;letter-spacing:-.035em; }
.diagram figcaption { color:var(--muted);font-size:12px;line-height:1.7;max-width:770px;margin-top:25px; }
.diagram button { border:1px solid var(--line);background:transparent;padding:9px 14px;font:11px var(--sans);color:var(--ink); }
.diagram button:hover { border-color:var(--accent); }
.diagram button:disabled { cursor:default;color:var(--muted); }
.loop-track { display:grid;grid-template-columns:repeat(4,1fr);list-style:none!important;padding:0!important;margin:0!important;gap:0; }
.loop-track li { position:relative;padding:24px 20px 0 0;margin:0;border-top:1px solid var(--line);font-size:14px;line-height:1.5;transition:border-color .3s; }
.loop-track li:before { content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:var(--muted);transition:background .3s,box-shadow .3s; }
.loop-track li.active:before { background:var(--accent);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 15%,transparent); }
.loop-track li.active { border-color:var(--accent); }
.loop-track strong { display:block;font:23px/1.2 var(--serif);letter-spacing:-.03em;margin-bottom:10px; }
.loop-track small { display:block;color:var(--muted);font:12px/1.6 var(--sans);max-width:195px; }
.return-path { border:1px solid var(--line);border-top:0;margin:27px 11% 0 0;padding:13px 20px;text-align:center;font-size:12px;color:var(--muted);position:relative; }
.return-path:before { content:"↑";position:absolute;left:-5px;top:-9px;background:var(--bg);color:var(--accent); }
.loop-status { margin-top:18px!important;font-size:12px;line-height:1.5;min-height:36px;color:var(--muted); }
.reliability-grid { display:grid;grid-template-columns:1fr 1.12fr;gap:60px;align-items:start; }
.sim-controls { display:grid;gap:24px; }
.sim-controls label { display:flex;justify-content:space-between;gap:20px;font-size:13px;margin-bottom:10px; }
.sim-controls output { color:var(--accent);font-variant-numeric:tabular-nums; }
.sim-controls input { width:100%;margin:0;accent-color:var(--accent);cursor:pointer;height:32px; }
.sim-result output { font:68px/1 var(--serif);letter-spacing:-.06em;display:block;font-variant-numeric:tabular-nums;color:var(--ink); }
.sim-result p { margin:10px 0 15px;font-size:13px; }
.prob-track { height:5px;background:var(--line);margin-top:22px; }
.prob-track span { display:block;width:36.4%;height:100%;background:var(--accent);transition:width .2s; }
.sim-formula { font:12px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--muted);margin-top:14px; }
.sim-explain { margin-top:24px;max-width:820px;color:var(--muted);font-size:12px;line-height:1.7; }
.delivery-grid { display:grid;grid-template-columns:1fr 1fr;gap:48px; }
.delivery-route + .delivery-route { border-left:1px solid var(--line);padding-left:48px; }
.route-label { font-size:11px;color:var(--muted);margin-bottom:17px; }
.delivery-route h4 { font:26px/1.2 var(--serif);letter-spacing:-.035em;margin:0 0 20px;color:var(--ink); }
.route-steps { list-style:none;padding:0;margin:0; }
.route-steps li { position:relative;border-left:1px solid var(--line);padding:0 0 22px 20px;margin:0;font-size:14px;line-height:1.55; }
.route-steps li:before { content:"";position:absolute;width:5px;height:5px;border-radius:50%;left:-3px;top:8px;background:var(--accent); }
.route-steps li:last-child { padding-bottom:0;border-color:transparent; }
.route-steps small { display:block;font-size:12px;color:var(--muted);margin-top:4px; }
.energy-chain { display:grid;grid-template-columns:repeat(4,1fr);gap:24px;list-style:none;padding:0;margin:0; }
.energy-chain li { margin:0;padding:20px 0 0;border-top:1px solid var(--line);position:relative; }
.energy-chain li:not(:last-child):after { content:"→";position:absolute;right:-20px;top:-12px;color:var(--accent);background:var(--bg); }
.energy-chain strong { font:24px/1.2 var(--serif);display:block;margin-bottom:12px; }
.energy-chain small { color:var(--muted);font-size:12px;line-height:1.6;display:block; }
.brain-gap { display:grid;grid-template-columns:1fr 50px 1fr 50px 1fr;gap:14px;align-items:start; }
.brain-gap strong { font:25px/1.2 var(--serif);display:block;margin-bottom:12px; }
.brain-gap small { display:block;font-size:12px;line-height:1.6;color:var(--muted); }
.gap-symbol { text-align:center;font:25px var(--serif);color:var(--accent); }
.horizons { display:grid;grid-template-columns:repeat(3,1fr);gap:0; }
.horizon { padding:23px 28px 0 0;border-top:1px solid var(--line);position:relative; }
.horizon + .horizon { padding-left:25px; }
.horizon:before { content:"";position:absolute;left:0;top:-3px;width:5px;height:5px;background:var(--accent);border-radius:50%; }
.horizon .years { font:30px/1.15 var(--serif);letter-spacing:-.045em;color:var(--ink); }
.horizon h4 { font-size:12px;font-weight:400;margin:20px 0 10px;color:var(--accent); }
.horizon p { font-size:13px;line-height:1.7; }
.horizon small { display:block;font-size:11px;line-height:1.6;color:var(--muted);margin-top:18px; }
.horizon:last-child { border-top-style:dashed; }
.source-section { margin:90px 0 50px;border-top:1px solid var(--line);padding-top:25px; }
.source-heading { display:flex;justify-content:space-between;gap:25px;align-items:baseline; }
.source-heading h2 { font-size:28px; }
.source-heading a { font-size:12px;color:var(--muted); }
.source-list { list-style:none;padding:0;margin:28px 0;display:grid;grid-template-columns:1fr 1fr;gap:22px 42px;counter-reset:source; }
.source-list li { counter-increment:source;position:relative;padding:0 0 18px 28px;border-bottom:1px solid var(--line);font-size:12px;line-height:1.65;scroll-margin-top:35px; }
.source-list li:before { content:counter(source,decimal-leading-zero);position:absolute;left:0;color:var(--accent);font-size:10px; }
.source-list p { margin:5px 0; }
.source-list .source-return { color:var(--muted);font-size:10px;margin-right:12px; }
.source-list a:not(.source-return) { text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px; }
.source-list li:target { outline:1px solid var(--accent);outline-offset:8px; }
.image-credits { font-size:12px;line-height:1.8;color:var(--muted); }
.image-credits summary { cursor:pointer;color:var(--ink);padding:8px 0; }
.image-credits ul { columns:2;column-gap:45px;padding-left:18px; }
.image-credits li { break-inside:avoid;margin:8px 0; }
.image-credits a { text-decoration:underline;text-underline-offset:3px; }
.century-footer { padding-bottom:50px; }
.reveal.visible { animation:century-enter .65s ease both; }
@keyframes century-enter { from { transform:translateY(9px); } to { transform:translateY(0); } }
@media(max-width:1000px) {
 .title-row { grid-template-columns:1.5fr 1fr;gap:25px; }
 .century-hero h1 { font-size:80px; }
 .title-aside .dek { font-size:19px; }
 .century-article h2:before { position:static;display:block;margin-bottom:18px; }
 .power-triptych img { height:220px; }
 .power-triptych figure:nth-child(3) img { height:285px; }
}
@media(max-width:700px) {
 .century-hero { padding-top:32px; }
 .essay-brow { font-size:9px;letter-spacing:.05em; }
 .title-row { grid-template-columns:1fr;gap:25px;margin:30px 0; }
 .century-hero h1 { font-size:clamp(48px,11.5vw,78px); }
 .title-aside { padding:0;border:0; }
 .title-aside .dek { max-width:450px;font-size:21px; }
 .essay-meta { margin-top:18px;font-size:9px; }
 .hero-image img { aspect-ratio:1.5;object-position:52% 50%; }
 .century-caption { grid-template-columns:24px 1fr;gap:10px;font-size:11px; }
 .century-caption .figure-credit { grid-column:2;text-align:left; }
 .essay-nav { margin:16px 0 44px;gap:15px 21px;font-size:11px;padding:20px 0; }
 .toc-label { width:100%; }
 .century-article > p { font-size:17px;line-height:1.82;margin-bottom:24px; }
 .century-article > p:first-child { font-size:25px;line-height:1.5; }
 .century-article h2 { font-size:39px;margin-top:74px;margin-bottom:24px; }
 .century-article h3 { font-size:28px; }
 .photo-spread { margin:36px 0 44px; }
 .photo-pair { gap:17px;margin:35px 0 43px; }
 .photo-pair > figure:last-child { padding-top:43px; }
 .photo-pair img,.photo-pair > figure:last-child img { aspect-ratio:.9; }
 .photo-pair figcaption { font-size:11px;line-height:1.5; }
 .photo-pair .figure-credit { font-size:8px; }
 .power-triptych { grid-template-columns:1fr 1fr;gap:24px 17px;margin:30px 0 38px; }
 .power-triptych figure:nth-child(2) { padding-top:30px; }
 .power-triptych figure:nth-child(3) { grid-column:1/-1; }
 .power-triptych img { height:210px; }
 .power-triptych figure:nth-child(3) img { height:auto;aspect-ratio:1.8; }
 .quantum-spread { grid-template-columns:1fr;gap:23px;margin:38px 0; }
 .quantum-spread img { max-height:430px; }
 .quantum-spread figcaption { max-width:none; }
 .quantum-spread .large-caption { font-size:27px; }
 .quantum-spread .figure-credit { margin-top:15px; }
 .diagram { margin:33px 0 38px;padding:18px 0 22px; }
 .diagram-top { font-size:9px;letter-spacing:.05em;margin-bottom:25px; }
 .diagram h3 { font-size:26px; }
 .loop-track { grid-template-columns:1fr 1fr;gap:32px 20px; }
 .loop-track li { padding:18px 0 0; }
 .loop-track strong { font-size:22px; }
 .return-path { margin:24px 0 0;font-size:11px; }
 .reliability-grid { grid-template-columns:1fr;gap:30px; }
 .sim-controls { gap:14px; }
 .sim-result output { font-size:62px; }
 .delivery-grid { grid-template-columns:1fr;gap:30px; }
 .delivery-route + .delivery-route { padding:25px 0 0;border-left:0;border-top:1px solid var(--line); }
 .energy-chain { grid-template-columns:1fr 1fr;gap:30px 23px; }
 .energy-chain li:nth-child(2):after { display:none; }
 .energy-chain strong { font-size:23px; }
 .brain-gap { grid-template-columns:1fr;gap:18px; }
 .gap-symbol { text-align:left; }
 .brain-gap strong { font-size:25px;margin-bottom:7px; }
 .horizons { grid-template-columns:1fr;gap:28px; }
 .horizon,.horizon + .horizon { padding:20px 0 0; }
 .horizon h4 { margin-top:12px; }
 .horizon small { margin-top:12px; }
 .source-section { margin-top:65px; }
 .source-list { grid-template-columns:1fr;gap:18px; }
 .image-credits ul { columns:1; }
}
@media(prefers-reduced-motion:reduce) { .reveal.visible { animation:none; } }
