/* One vertical route; only the site owner can update statuses. */
:root{color-scheme:only light;--ink:#050505;--muted:#626262;--line:#ddd;--pad:clamp(22px,3.2vw,54px)}
*{box-sizing:border-box}html{background:#fff;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid currentColor;outline-offset:6px}::selection{background:#000;color:#fff}
.site-head{padding:28px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;font-weight:700;letter-spacing:.08em}.brand{font-size:15px;letter-spacing:.12em;white-space:nowrap}.site-head nav a{display:inline-block;padding:8px 0}
main{width:min(100% - 44px,880px);margin:70px auto 100px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;line-height:1.5}.intro .eyebrow{display:flex;align-items:center;gap:12px}.pixel{width:9px;height:9px;background:#050505;box-shadow:12px 0 #d8d8d8,0 12px #d8d8d8;margin-right:10px}
h1{font-size:clamp(44px,7vw,88px);letter-spacing:-.065em;line-height:.96;margin:30px 0}.lead{max-width:570px;font-size:17px;line-height:1.7;color:#555;margin:0}.progress-box{margin:42px 0 54px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.progress-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}#progress-text{font-size:15px;font-weight:700;margin:0}.progress-heading .eyebrow{color:var(--muted)}progress{display:block;appearance:none;-webkit-appearance:none;width:100%;height:8px;border:0;background:#ededed;color:#050505}progress::-webkit-progress-bar{background:#ededed}progress::-webkit-progress-value{background:#050505}progress::-moz-progress-bar{background:#050505}
.route{list-style:none;padding:0;margin:48px 0 0}.step{position:relative;padding:0 0 30px 64px}.step:not(:last-child)::before{content:"";position:absolute;top:32px;bottom:0;left:15px;width:1px;background:var(--line)}.marker{position:absolute;top:0;left:0;width:32px;height:32px;border:1px solid #b8b8b8;display:grid;place-items:center;font-size:18px;background:#fff}.marker::after{content:"·"}.step[data-status=done] .marker{background:#050505;color:#fff;border-color:#050505}.step[data-status=done] .marker::after{content:"✓"}.step article{border-bottom:1px solid var(--line);padding:4px 0 30px}.step:last-child article{border-bottom:0}.step-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;font-size:10px;letter-spacing:.12em;font-weight:700;color:var(--muted);text-transform:uppercase;min-height:24px}.status{letter-spacing:.03em;text-transform:none;font-size:12px}.step[data-status=done] .status:empty::after{content:"Completed"}.step[data-status=todo] .status:empty::after{content:"To do"}.step h3{font-size:clamp(20px,2.5vw,26px);letter-spacing:-.035em;line-height:1.22;margin:13px 0 10px}.step p{font-size:15px;line-height:1.65;color:#555;max-width:630px;margin:0}.step.is-next .marker{border:2px solid #050505}.step.is-next .marker::after{content:"→"}.is-next .status{background:#050505;color:#fff;padding:5px 9px}.is-next article{border-bottom-color:#050505}
footer{border-top:1px solid #eee;padding:28px var(--pad)}footer a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:11px;font-weight:700;letter-spacing:.12em}footer a:hover{text-decoration:underline;text-underline-offset:5px}[hidden]{display:none!important}
@media(max-width:600px){.site-head{padding-top:22px}main{margin-top:42px;margin-bottom:56px}.progress-heading{align-items:flex-start;flex-direction:column;gap:8px}.progress-box{margin-top:30px;margin-bottom:36px}.step{padding-left:46px;padding-bottom:24px}.step article{padding-bottom:24px}.lead{font-size:16px}.step p{font-size:14px}.step h3{overflow-wrap:break-word}.site-head nav{font-size:10px}}

/* Shared Pixel navigation layout. */
.site-head{flex-wrap:wrap;row-gap:12px}.site-head .nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,38px);font-size:12px;min-height:18px}.site-head .nav a{display:inline-block;padding:8px 0}.site-head .nav a:hover{text-decoration:underline;text-underline-offset:5px}@media(max-width:760px){.site-head .nav{font-size:11px}}

/* Compact roadmap grouped by release. */
main{margin-top:38px;margin-bottom:64px}
h1{font-size:clamp(40px,6vw,64px);margin:20px 0 18px;line-height:1}
.lead{font-size:16px;line-height:1.6;max-width:660px}
.release{margin-top:36px}
.release-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px 18px}
.release-heading h2{font-size:24px;letter-spacing:-.04em;margin:0}
.release-status{font-size:12px;color:#626262}
.progress-box{margin:18px 0 26px;padding:16px 0}
.progress-heading{margin-bottom:12px}
#progress-text{font-size:13px}
progress{height:5px}
.route{margin-top:26px}
.step{padding:0 0 16px 46px}
.marker{width:25px;height:25px;font-size:16px}
.step:not(:last-child)::before{left:12px;top:25px}
.step article{padding:0 0 16px}
.step-meta{min-height:20px;gap:8px 14px}
.step h3{font-size:19px;line-height:1.3;margin:7px 0 6px}
.step p{font-size:14px;line-height:1.55;max-width:720px}
.is-next .status{padding:3px 7px}
@media(max-width:600px){main{margin-top:28px}.release{margin-top:28px}.release-heading h2{font-size:22px}.progress-box{margin:16px 0 22px}.step{padding-left:38px}.step h3{font-size:18px}.progress-heading{flex-direction:row;align-items:center;flex-wrap:wrap}}

/* Public pre-launch statuses also remain readable without JavaScript. */
.status{text-transform:uppercase;font-size:10px;letter-spacing:.08em}
.step[data-status=done] .status:empty::after{content:"Complete"}
.step[data-status=active] .status:empty::after{content:"In progress"}
.step[data-status=active] .marker{border:2px solid #050505}
.step[data-status=active] .marker::after{content:"→"}
.step[data-status=active] .status{background:#050505;color:#fff;padding:3px 7px}
.guide-link{display:inline-block;font-size:12px;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
