@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--gray-1:#151718;--gray-2:#1a1d1e;--gray-3:#202425;--gray-4:#26292b;--gray-5:#2b2f31;--gray-6:#313538;--gray-7:#3a3f42;--gray-8:#4c5155;--gray-9:#697177;--gray-10:#787f85;--gray-11:#9ba1a6;--gray-12:#ecedee;--teal-subtle:#0f2e29;--teal-ui:#123b34;--teal-solid:#14574b;--teal-solid-hover:#17685a;--teal-border:#1f7a68;--teal-9:#1abc9c;--teal-10:#2fcbab;--teal-text:#1abc9c;--red-subtle:#2f1513;--red-border:#ee0979;--red-text:#f76190;--bg-app:var(--gray-1);--bg-subtle:var(--gray-2);--bg-ui:var(--gray-3);--border-subtle:var(--gray-6);--border-hover:var(--gray-8);--text-high:var(--gray-12);--text-body:#d9dadc;--text-low:var(--gray-11);--link:var(--teal-text);--font-sans:"Inter", -apple-system, "Segoe UI", sans-serif;--text-xs:12px;--text-sm:13px;--text-base:14px;--text-md:16px;--text-lg:20px;--text-xl:24px;--text-2xl:32px;--text-3xl:44px;--leading-tight:1.15;--leading-normal:1.55;--tracking-caps:.04em;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-full:9999px;--control-h-md:36px;--control-h-lg:48px;--transition-fast:.12s ease}html{background:var(--bg-app)}body{background:var(--bg-app);color:var(--text-body);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--link);text-decoration:none}a:hover{color:var(--teal-10)}.wrap{max-width:880px;margin:0 auto;padding:0 32px}.site-header{flex-wrap:wrap;justify-content:space-between;align-items:center;height:72px;display:flex}.site-header img{height:30px}.status{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--red-text);border:1px solid var(--red-border);background:var(--red-subtle);border-radius:var(--radius-full);padding:5px 14px;font-weight:600}.hero{border-bottom:1px solid var(--border-subtle);padding:88px 0 56px}h1{font-size:var(--text-3xl);font-weight:800;line-height:var(--leading-tight);color:var(--text-high);text-wrap:pretty;margin:0 0 20px}.lede{font-size:var(--text-lg);color:var(--text-body);text-wrap:pretty;margin:0 0 32px;font-weight:400}.cta-row{flex-wrap:wrap;gap:12px;display:flex}.btn{height:var(--control-h-lg);border-radius:var(--radius-md);background:var(--teal-solid);border:1px solid var(--teal-border);color:var(--gray-12);font-weight:500;font-size:var(--text-md);transition:background var(--transition-fast);align-items:center;gap:8px;padding:0 24px;text-decoration:none;display:inline-flex}.btn:hover{background:var(--teal-solid-hover);color:var(--gray-12)}.btn.ghost{border-color:var(--border-hover);background:0 0}.btn.ghost:hover{background:var(--bg-ui)}section{border-bottom:1px solid var(--border-subtle);padding:56px 0}h2{font-size:var(--text-xl);color:var(--text-high);margin:0 0 8px;font-weight:700}.sub{color:var(--text-low);max-width:60ch;margin:0 0 32px}.facts{grid-template-columns:1fr 1fr;gap:12px 24px;margin:0;padding:0;list-style:none;display:grid}.facts li{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);font-size:var(--text-base);padding:18px 20px}.facts b{color:var(--text-high);margin-bottom:4px;font-weight:600;display:block}.timeline{margin-top:28px;display:flex}.tl-step{border-top:2px solid var(--border-hover);flex:1;padding:14px 18px 0;position:relative}.tl-step:before{content:"";background:var(--teal-9);border-radius:50%;width:8px;height:8px;position:absolute;top:-5px;left:0}.tl-date{font-size:var(--text-xs);color:var(--teal-text);text-transform:uppercase;letter-spacing:var(--tracking-caps);margin-bottom:4px;font-weight:600;display:block}.tl-what{font-size:var(--text-sm);color:var(--text-body)}.published{font-size:var(--text-sm);color:var(--text-low);margin:-8px 0 20px}.parts{grid-template-columns:1fr 1fr;gap:16px;display:grid}.part{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:22px 24px}.part h3{font-size:var(--text-md);color:var(--text-high);margin:0 0 6px;font-weight:600}.part p{font-size:var(--text-base);color:var(--text-body);margin:0}.part .mods{font-size:var(--text-sm);color:var(--text-low);margin-top:10px}.part .mods b{color:var(--text-body);font-weight:600}.part .stack{font-size:var(--text-xs);color:var(--teal-text);text-transform:uppercase;letter-spacing:var(--tracking-caps);margin-top:10px;font-weight:600}.note{font-size:var(--text-sm);color:var(--text-low);margin:16px 0 0}.hl{flex-direction:column;gap:10px;margin:32px 0 0;padding:0;list-style:none;display:flex}.hl li{font-size:var(--text-base);gap:12px;display:flex}.hl li:before{content:"";background:var(--teal-9);border-radius:50%;flex:none;width:6px;height:6px;margin-top:8px}.media{grid-template-columns:1fr 1fr;gap:16px;display:grid}.media figure{margin:0}.media img,.media .placeholder{object-fit:cover;border-radius:var(--radius-lg);width:100%;height:240px;display:block}.media .placeholder{border:1px dashed var(--border-hover);background:var(--bg-subtle);color:var(--text-low);font-size:var(--text-sm);box-sizing:border-box;justify-content:center;align-items:center;display:flex}.media figcaption{font-size:var(--text-xs);color:var(--text-low);margin-top:8px}details{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-subtle);margin-bottom:12px}summary{cursor:pointer;color:var(--text-high);font-weight:600;font-size:var(--text-base);justify-content:space-between;align-items:center;padding:16px 20px;list-style:none;display:flex}summary:after{content:"+";color:var(--text-low);font-size:18px}details[open] summary:after{content:"–"}details div{font-size:var(--text-base);color:var(--text-body);padding:0 20px 16px}.site-footer{font-size:var(--text-sm);color:var(--text-low);justify-content:space-between;align-items:center;padding:40px 0 56px;display:flex}.site-footer .btn{height:var(--control-h-md);font-size:var(--text-base);padding:0 16px}@media (width<=720px){.facts,.parts,.media{grid-template-columns:1fr}h1{font-size:var(--text-2xl)}.timeline{flex-direction:column;gap:16px}.tl-step{border-top:none;border-left:2px solid var(--border-hover);padding:0 0 0 18px}.tl-step:before{top:4px;left:-5px}}video{object-fit:cover;border-radius:var(--radius-lg);width:100%;height:240px}.tag{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--teal-text);background:var(--teal-subtle);border:1px solid var(--teal-ui);border-radius:var(--radius-sm);margin-bottom:12px;padding:2px 8px;display:inline-block}
