:root{--bg:#f4f4ef;--paper:#fbfbf8;--ink:#121211;--muted:#4a4a45;--line:#d0d0c8;--purple:#6d28d9;--mono:"Geist Mono",ui-monospace,SFMono-Regular,Consolas,monospace;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.7 var(--mono)}a{color:inherit;text-underline-offset:4px}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--purple);outline-offset:5px}::selection{background:#e3d5fa}.wrap{max-width:1160px;margin:auto;padding:0 30px}.skip{position:absolute;left:20px;top:-100px;z-index:10;background:var(--paper);padding:10px}.skip:focus{top:10px}.crumbs{font-size:11px;color:var(--muted);margin:29px 0 0;display:flex;flex-wrap:wrap;gap:10px}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--purple)}.hero{text-align:center;padding:68px 0 46px}.eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--purple);margin:0 0 22px}.eyebrow::before{content:"+ ";font-size:16px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(35px,5.5vw,66px);line-height:1.13;letter-spacing:-.055em;font-weight:650;margin-bottom:24px}.lede{max-width:770px;margin:0 auto 26px;font-size:16px;color:var(--muted);line-height:1.8}.actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;background:var(--purple);border:1px solid var(--purple);color:white;text-decoration:none;cursor:pointer;line-height:1.5;font-size:13px}.button:hover{background:#7c3aed}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button.secondary:hover{border-color:var(--purple);color:var(--purple)}.fine{font-size:11px;color:var(--muted);margin:17px auto 0;max-width:770px}.facts{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 24px;margin:0 0 26px;font-size:11px;color:var(--muted)}.facts span::before{content:"/ ";color:var(--purple)}h2{font-size:clamp(24px,3.1vw,36px);line-height:1.25;letter-spacing:-.045em;font-weight:600}.start{background:var(--paper);border:1px solid var(--purple);padding:34px;margin-top:55px}.start h2{margin-bottom:15px}.start p{font-size:13px;color:var(--muted);max-width:850px}.start .actions{justify-content:flex-start}.copy-status{font-size:11px;color:var(--purple);min-height:20px;margin:8px 0 0}.footer{border-top:1px solid var(--line);padding:28px 0 38px;margin-top:35px;color:var(--muted);font-size:11px}.footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer nav{display:flex;flex-wrap:wrap;gap:18px}.footer a{text-decoration:none}

/* The fixed shared header leaves the content and skip link reachable. */
.catalog-page{padding-top:78px}.catalog-page .skip{z-index:1100}.catalog-page [id]{scroll-margin-top:88px}

/* Months and releases: the version column stays beside its changes on wide screens. */
.months{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 20px;margin-top:26px;font-size:11px}.months a{color:var(--muted);text-decoration:none}.months a:hover{color:var(--purple)}
.month{border-top:1px solid var(--line);padding-top:46px}.month>h2{margin-bottom:6px}
.release{display:grid;grid-template-columns:190px minmax(0,1fr);gap:36px;padding:28px 0;border-bottom:1px dashed var(--line)}.month .release:last-child{border-bottom:0;padding-bottom:46px}
.release-meta{position:sticky;top:96px;align-self:start;display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:12px;color:var(--muted)}.version{font-size:16px;font-weight:600;color:var(--purple);text-decoration:none;font-variant-numeric:tabular-nums}.version:hover{text-decoration:underline}.kind{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--purple);border:1px solid var(--purple);padding:0 8px;margin-top:4px}
.release h3{font-size:19px;line-height:1.4;letter-spacing:-.02em;font-weight:600;margin-bottom:16px}
.changes{list-style:none;margin:0;padding:0;display:grid;gap:12px}.change{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;background:var(--paper);border:1px solid var(--line);padding:18px 20px}.area{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--purple);padding-top:3px;overflow-wrap:anywhere}.change-body>p{font-size:13px;line-height:1.75;margin:0}
.change-body>.refs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;font-size:11px;color:var(--muted)}.refs-label{margin-right:2px}.refs code{font:11px/1.6 var(--mono);color:var(--ink);background:var(--bg);border:1px solid var(--line);padding:0 6px}.docs{color:var(--purple);margin-left:auto;padding-left:8px;white-space:nowrap}
.try{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px 12px;margin-top:12px;border:1px solid var(--line);background:var(--bg);padding:7px 7px 7px 12px;font-size:12px;line-height:1.6}.try-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--purple)}.try-text{overflow-wrap:anywhere}.try-text::before{content:"\201C"}.try-text::after{content:"\201D"}.try-copy{border:1px solid var(--purple);background:var(--paper);color:var(--purple);padding:3px 12px;font-size:11px;cursor:pointer;white-space:nowrap}.try-copy:hover,.try-copy.is-copied{background:var(--purple);color:#fff}

@media(max-width:760px){.wrap{padding:0 20px}.hero{padding:44px 0 32px}.lede{font-size:14px}.month{padding-top:34px}.release{grid-template-columns:1fr;gap:10px;padding:22px 0}.release-meta{position:static;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:4px 14px}.kind{margin-top:0}.release h3{font-size:17px;margin-bottom:12px}.change{grid-template-columns:1fr;gap:6px;padding:16px}.docs{margin-left:0;padding-left:0}.try{grid-template-columns:minmax(0,1fr) auto}.try-text{grid-column:1/-1;grid-row:2}.start{padding:24px 20px;margin-top:36px}.footer{margin-top:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
