/* Shared article layout: readable prose, generous figures, quiet navigation. */
.article-site-header .nav {border-color:var(--paper-4);}
.article-site-header .nav a {color:var(--ink-800);}
.article-header {padding-top:32px;padding-bottom:36px;}
.article-back {display:inline-block;font-size:12px;color:var(--ink-500);text-decoration:none;margin-bottom:48px;}
.article-back:hover {text-decoration:underline;}
.article-header-inner {max-width:900px;margin:auto;}
.article-header h1 {font-size:clamp(34px,3.6vw,58px);line-height:1.08;letter-spacing:-.05em;font-weight:500;max-width:900px;}
.article-deck {font-size:18px;line-height:1.6;color:var(--ink-500);max-width:740px;margin-top:24px;}
.article-byline {display:flex;align-items:center;gap:12px;margin-top:28px;font-size:13px;}
.article-byline img {width:40px;height:40px;object-fit:cover;border-radius:50%;}
.article-date {display:flex;gap:8px;font-size:11px;color:var(--ink-400);margin-top:3px;}
.article-cover {margin-bottom:48px;}
.article-cover > img {display:block;width:100%;height:auto;max-height:540px;object-fit:contain;background:var(--paper-2);border-radius:2px;}
.article-reading-layout {display:grid;grid-template-columns:210px minmax(0,720px);gap:56px;justify-content:center;align-items:start;padding-bottom:64px;}
.article-contents {position:sticky;top:28px;}
.article-contents .eyebrow {font-size:10px;margin-bottom:16px;}
.article-contents nav {display:grid;gap:14px;}
.article-contents a {font-size:12px;line-height:1.5;color:var(--ink-500);text-decoration:none;}
.article-contents a:hover {text-decoration:underline;}
.article-prose {min-width:0;font-size:16px;line-height:1.8;color:var(--ink-500);overflow-wrap:anywhere;}
.article-prose > :first-child {margin-top:0;}
.article-prose p,.article-prose ul,.article-prose ol,.article-prose figure {margin:0 0 24px;}
.article-prose h2 {font-size:28px;line-height:1.2;letter-spacing:-.035em;font-weight:500;color:var(--ink-800);margin:44px 0 20px;scroll-margin-top:28px;}
.article-prose h3 {font-size:21px;line-height:1.3;letter-spacing:-.025em;font-weight:500;color:var(--ink-800);margin:32px 0 16px;}
.article-prose strong {font-weight:560;color:var(--ink-800);}
.article-prose li {margin-bottom:8px;}
.article-prose img {display:block;max-width:100%;height:auto;background:var(--paper-0);border:1px solid var(--paper-4);border-radius:2px;margin:32px auto;}
.article-prose hr {border:0;border-top:1px solid var(--paper-4);margin:36px 0;}
.article-prose blockquote {margin:28px 0;padding:4px 0 4px 24px;border-left:2px solid var(--bronze);}
.article-prose blockquote p:last-child {margin-bottom:0;}
.article-prose pre {overflow-x:auto;padding:20px;background:var(--paper-2);border:1px solid var(--paper-4);border-radius:2px;font:12px/1.7 'Geist Mono',monospace;}
.article-prose code {font-family:'Geist Mono',monospace;font-size:.85em;}
.article-prose table {display:block;overflow-x:auto;border-collapse:collapse;max-width:100%;font-size:13px;margin:28px 0;}
.article-prose td,.article-prose th {padding:12px;border:1px solid var(--paper-4);text-align:left;}
.article-prose figcaption {font-size:12px;line-height:1.6;color:var(--ink-400);}
.article-author {border-top:1px solid var(--paper-4);padding-top:28px;margin-top:40px;}
.article-author .eyebrow {margin-bottom:12px;}
.article-author h2 {font-size:18px;margin:0 0 8px;}
.article-author p {font-size:13px;margin:0;}
.article-related {border-top:1px solid var(--paper-4);padding-block:36px 56px;display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.article-related h2 {font-size:28px;}
.article-related > div:last-child {display:grid;align-content:start;gap:14px;font-size:14px;}
@media(max-width:1050px){.article-reading-layout{grid-template-columns:170px minmax(0,1fr);gap:32px;}}
@media(max-width:700px){
 .article-header{padding-top:24px;}.article-back{margin-bottom:32px;}
 .article-deck{font-size:16px;}.article-cover{margin-bottom:28px;}
 .article-reading-layout{grid-template-columns:minmax(0,1fr);gap:32px;padding-bottom:40px;}
 .article-contents{position:static;padding-bottom:24px;border-bottom:1px solid var(--paper-4);}
 .article-contents nav{gap:10px;}.article-prose{font-size:15px;}
 .article-prose h2{font-size:25px;}.article-related{grid-template-columns:minmax(0,1fr);gap:24px;}
}
.article-byline {flex-wrap:wrap;gap:12px 24px;}
.article-person {display:inline-flex;align-items:center;gap:10px;}
.article-author > div + div {margin-top:22px;}
.article-weather-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0;}
.article-prose .article-weather-grid figure {margin:0;min-width:0;}
.article-prose .article-weather-grid img {margin:0;width:100%;}
.article-weather-grid figcaption {padding:10px;background:var(--paper-2);}
.article-prose .article-figure {padding:24px;background:var(--paper-0);border:1px solid var(--paper-4);border-radius:3px;margin:28px 0;}
.article-prose .article-figure h3 {margin:0 0 16px;font-size:20px;}
.article-prose .article-figure p {font-size:14px;line-height:1.65;}
.article-prose .article-figure img {border:0;margin:16px 0;}
.article-figure svg {display:block;width:100%;height:auto;}
.article-figure figcaption {margin-top:20px;}
.tradeoff-axis {display:flex;justify-content:space-between;gap:20px;font-size:12px;line-height:1.5;}
.tradeoff-axis > :last-child {text-align:right;}
.tradeoff-axis strong,.tradeoff-axis span {display:block;}
.tradeoff-rule {height:2px;background:var(--ink-800);margin:22px 0;position:relative;}
.tradeoff-rule:after {content:'';position:absolute;width:12px;height:12px;border:2px solid var(--ink-800);border-radius:50%;background:var(--paper-0);top:-5px;left:50%;}
.article-prose .learning-timeline {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;padding:0;margin:28px 0;border-top:2px solid var(--line-soft);}
.learning-timeline li {padding-top:12px;font-size:12px;}
.learning-timeline span,.learning-timeline strong {display:block;}
.article-metric {border-top:1px solid var(--paper-4);padding-top:24px;margin:32px 0;}
.article-metric .eyebrow {margin-bottom:10px;}
.article-prose .article-metric h3 {margin-top:0;}
.replay-demo label {display:block;font-size:13px;margin-bottom:12px;}
.replay-demo input[type=range] {width:100%;accent-color:var(--signal);margin:0 0 24px;}
.replay-readouts {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.replay-readouts > div > span {font-size:12px;}
.replay-readouts output {display:block;font-size:22px;font-weight:500;color:var(--ink-800);}
.metric-track {height:5px;background:var(--paper-3);position:relative;overflow:hidden;margin-top:8px;}
.metric-track > div {position:absolute;height:100%;background:var(--signal);}
.replay-verdict {background:var(--paper-2);padding:16px;margin-top:24px;font-size:14px;}
.article-prose .replay-verdict p {margin:8px 0 0;font-size:13px;}
.replay-verdict .hidden {display:none;}
@media(max-width:480px){.article-prose .article-figure{padding:16px;}.article-weather-grid{gap:10px;}.learning-timeline li{font-size:10px;}.replay-readouts{gap:18px;}}

/* Scientific illustrations retain a white canvas and their original metric colours. */
.article-prose .article-figure {background:#FFF;}
.article-prose .article-figure img {background:#FFF;}
.replay-demo {--c-plasticity:#f59e0b;--c-forgetting:#ef4444;--c-backward:#38bdf8;--c-forward:#10b981;}
.replay-readouts > div:nth-child(1) {--metric-colour:var(--c-plasticity);}
.replay-readouts > div:nth-child(2) {--metric-colour:var(--c-forgetting);}
.replay-readouts > div:nth-child(3) {--metric-colour:var(--c-backward);}
.replay-readouts > div:nth-child(4) {--metric-colour:var(--c-forward);}
.replay-readouts > div > span,.replay-readouts output {color:var(--metric-colour);}
.replay-readouts .metric-track {background:#F3F4F6;}
.replay-readouts .metric-track > div {background:var(--metric-colour);}
.replay-demo input[type=range] {accent-color:#000;}
.replay-verdict {background:#F9FAFB;border:1px solid #F3F4F6;}

/* Preserve the original continual-learning timeline's visual explanation. */
.original-learning-timeline {--timeline-past:#38bdf8;--timeline-now:#f59e0b;--timeline-future:#10b981;}
.article-prose .original-learning-timeline h3,.timeline-introduction {text-align:center;}
.timeline-stages {display:flex;justify-content:space-between;position:relative;margin:40px 0 48px;}
.timeline-stages::before,.timeline-stages::after {content:'';position:absolute;top:51px;width:46%;pointer-events:none;}
.timeline-stages::before {left:4%;border-top:2px solid var(--timeline-past);}
.timeline-stages::after {left:50%;border-top:2px dashed var(--timeline-future);}
.timeline-stage {position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;color:var(--timeline-past);font:600 12px/1.5 'Geist Mono',monospace;text-transform:uppercase;}
.timeline-phase {height:18px;margin-bottom:16px;}
.timeline-node {display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--timeline-past);color:#fff;}
.timeline-node svg {width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.timeline-domain {margin-top:16px;}
.timeline-stage-2 {color:var(--timeline-now);}
.timeline-stage-2 .timeline-node {background:#fff;color:var(--timeline-now);border:2px solid currentColor;}
.timeline-stage-3,.timeline-stage-4 {color:var(--timeline-future);}
.timeline-stage-3 .timeline-node,.timeline-stage-4 .timeline-node {background:#fff;color:var(--timeline-future);border:2px dashed currentColor;}
.timeline-legend {border-top:1px solid #F3F4F6;padding-top:24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;font:400 10px/1.5 'Geist Mono',monospace;letter-spacing:.06em;text-transform:uppercase;}
.timeline-legend strong {display:block;margin-bottom:8px;}
.article-prose .timeline-legend > div:nth-child(1) strong {color:var(--timeline-past);}
.article-prose .timeline-legend > div:nth-child(2) strong {color:var(--timeline-now);}
.article-prose .timeline-legend > div:nth-child(3) strong {color:var(--timeline-future);}
.timeline-legend span {color:#9CA3AF;}
.timeline-legend > div:nth-child(2) {text-align:center;}
.timeline-legend > div:nth-child(3) {text-align:right;}
@media(max-width:480px){
 .timeline-stage{font-size:9px;}.timeline-node{width:30px;height:30px;}.timeline-node svg{width:16px;height:16px;}
 .timeline-phase{height:14px;}.timeline-stages::before,.timeline-stages::after{top:45px;}
 .timeline-legend{grid-template-columns:1fr;gap:16px;}
 .timeline-legend > div:nth-child(2),.timeline-legend > div:nth-child(3){text-align:left;}
}
/* Locally scoped layout helpers preserve the original authored illustrations. */
.original-illustration {--c-plasticity:#f59e0b;--c-forgetting:#ef4444;--c-backward:#38bdf8;--c-forward:#10b981;}
.original-illustration .fig-wrap {background:#fff;border:1px solid #D8D7CF;border-radius:.35rem;padding:clamp(20px,3vw,32px);width:100%;}
.article-prose .original-illustration h3 {font-size:20px;line-height:1.2;margin:0;letter-spacing:.02em;}
.article-prose .original-illustration h2 {font-size:18px;line-height:1.25;margin:0;}
.article-prose .original-illustration p {font-size:14px;line-height:1.6;margin:0;}
.original-illustration .flex{display:flex}.original-illustration .grid{display:grid}.original-illustration .block{display:block}.original-illustration .hidden{display:none}
.original-illustration .relative{position:relative}.original-illustration .absolute{position:absolute}
.original-illustration .flex-col{flex-direction:column}.original-illustration .items-center{align-items:center}.original-illustration .items-end{align-items:flex-end}.original-illustration .items-start{align-items:flex-start}.original-illustration .justify-between{justify-content:space-between}.original-illustration .justify-center{justify-content:center}.original-illustration .justify-end{justify-content:flex-end}
.original-illustration .w-full{width:100%}.original-illustration .h-auto{height:auto}.original-illustration .h-full{height:100%}.original-illustration .w-4{width:16px}.original-illustration .h-4{height:16px}.original-illustration .h-1{height:4px}.original-illustration .h-2{height:8px}.original-illustration .h-1\.5{height:6px}
.original-illustration .left-1\/2{left:50%}.original-illustration .-translate-x-1\/2{transform:translateX(-50%)}
.original-illustration .text-center{text-align:center}.original-illustration .text-right{text-align:right}.original-illustration .text-left{text-align:left}
.original-illustration .font-mono{font-family:'Geist Mono',monospace}.original-illustration .font-black{font-weight:800}.original-illustration .font-bold{font-weight:700}.original-illustration .font-semibold{font-weight:600}
.original-illustration .text-xs{font-size:12px}.original-illustration .text-sm{font-size:14px}.original-illustration .text-xl{font-size:20px}.original-illustration .text-\[10px\]{font-size:10px}.original-illustration .text-\[9px\]{font-size:9px}
.original-illustration .uppercase{text-transform:uppercase}.original-illustration .tracking-widest{letter-spacing:.1em}.original-illustration .tracking-wider{letter-spacing:.05em}.original-illustration .italic{font-style:italic}
.original-illustration .text-black{color:#000}.original-illustration .text-gray-400{color:#9CA3AF}.original-illustration .text-gray-600{color:#4B5563}
.original-illustration .bg-black{background:#000}.original-illustration .bg-white{background:#fff}.original-illustration .bg-gray-50{background:#F9FAFB}.original-illustration .bg-gray-100{background:#F3F4F6}.original-illustration .bg-base-300{background:#F3F4F6}
.original-illustration .border{border:1px solid #E5E7EB}.original-illustration .border-t{border-top:1px solid #F3F4F6}.original-illustration .border-4{border:4px solid}.original-illustration .border-black{border-color:#000}
.original-illustration .rounded-full{border-radius:999px}.original-illustration .rounded-box{border-radius:5px}.original-illustration .overflow-hidden{overflow:hidden}
.original-illustration .p-4{padding:16px}.original-illustration .p-6{padding:24px}.original-illustration .pt-6{padding-top:24px}.original-illustration .py-2{padding-block:8px}
.original-illustration .my-8{margin-block:32px}.original-illustration .mt-1{margin-top:4px}.original-illustration .mt-2{margin-top:8px}.original-illustration .mt-3{margin-top:12px}.original-illustration .mt-8{margin-top:32px}.original-illustration .mb-1{margin-bottom:4px}.original-illustration .mb-4{margin-bottom:16px}
.original-illustration .space-y-1>*+*{margin-top:4px}.original-illustration .space-y-2>*+*{margin-top:8px}.original-illustration .space-y-3>*+*{margin-top:12px}.original-illustration .space-y-6>*+*{margin-top:24px}.original-illustration .space-y-8>*+*{margin-top:32px}.original-illustration .space-y-10>*+*{margin-top:40px}.original-illustration .space-y-12>*+*{margin-top:48px}
.original-illustration .gap-6{gap:24px}.original-illustration .gap-x-8{column-gap:32px}.original-illustration .gap-y-6{row-gap:24px}.original-illustration .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.original-illustration .max-w-lg{max-width:512px}.original-illustration .max-w-md{max-width:448px}.original-illustration .mx-auto{margin-inline:auto}
.original-illustration .fig-label-plasticity{color:var(--c-plasticity)}.original-illustration .fig-label-forgetting{color:var(--c-forgetting)}.original-illustration .fig-label-backward{color:var(--c-backward)}.original-illustration .fig-label-forward{color:var(--c-forward)}
.original-illustration .badge{display:inline-block;padding:3px 8px;border-radius:3px;font-size:12px;line-height:1.4}.original-illustration .badge-plasticity{background:var(--c-plasticity);color:#000}.original-illustration .badge-forgetting{background:var(--c-forgetting);color:#fff}.original-illustration .badge-backward{background:var(--c-backward);color:#000}.original-illustration .badge-forward{background:var(--c-forward);color:#000}
.original-illustration input[type=range]{width:100%;accent-color:#000;cursor:pointer}.original-illustration svg{display:block;width:100%;height:auto}.original-illustration .illustration-note{font-size:11px;margin-bottom:12px;color:#6B7280}
@media(min-width:640px){.original-illustration .sm\:flex-row{flex-direction:row}.original-illustration .sm\:text-right{text-align:right}.original-illustration .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
