:root{--bg: #090b0c;--bg-raised: #11161a;--bg-sunk: #0c1013;--line: #222c32;--text: #eef2f3;--muted: #a9b6bb;--accent: #4d8feb;--ok: #46d49b;--warn: #f0b44c;--warn-bg: color-mix(in srgb, var(--warn) 14%, var(--bg-raised));--accent-text: #8fb8ff;--brand-a: #006fa8;--brand-b: #00806f;--glow: rgb(0 184 160 / .14);--shadow: 0 30px 80px rgb(0 0 0 / .55);--radius: 18px;--font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: ui-monospace, "JetBrains Mono", "Cascadia Code", monospace;--wrap: 1200px;color-scheme:dark}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg: #f7f9fa;--bg-raised: #ffffff;--bg-sunk: #eef3f5;--line: #c3d0d5;--text: #14202a;--muted: #51636a;--accent-text: #1f5fc4;--ok: #0b7a53;--warn: #8a5300;--glow: rgb(0 136 204 / .12);--shadow: 0 30px 80px rgb(20 40 60 / .22);color-scheme:light}}:root[data-theme=light]{--bg: #f7f9fa;--bg-raised: #ffffff;--bg-sunk: #eef3f5;--line: #c3d0d5;--text: #14202a;--muted: #51636a;--accent-text: #1f5fc4;--ok: #0b7a53;--warn: #8a5300;--glow: rgb(0 136 204 / .12);--shadow: 0 30px 80px rgb(20 40 60 / .22);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:65px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:1.0625rem;line-height:1.55;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}img[data-zoom]{aspect-ratio:var(--ar, auto)}a{color:var(--accent-text);text-underline-offset:.18em}:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px;border-radius:6px}h1,h2,h3{letter-spacing:-.02em;line-height:1.25;text-wrap:balance;margin:0}p{margin:0 0 1em}code,kbd,pre{font-family:var(--mono);font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}.skip{position:absolute;left:12px;top:12px;z-index:30}.skip:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.skip:focus{padding:10px 16px;background:var(--text);color:var(--bg);border-radius:10px}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}@media(min-width:900px){.wrap{padding:0 56px}}section.band{padding:44px 0}@media(min-width:900px){section.band{padding:68px 0}}section.band:not(.tint):not(.slim)+section.band:not(.tint),section.band.tint+section.band.tint{padding-top:24px}@media(min-width:900px){section.band:not(.tint):not(.slim)+section.band:not(.tint),section.band.tint+section.band.tint{padding-top:40px}}@media(max-width:700px){.hide-sm{display:none!important}}.eyebrow{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 14px}.h2{font-size:clamp(2rem,3.6vw,3rem);line-height:1.08;font-weight:600}.sub{font-size:1.25rem;line-height:1.45;color:var(--muted);max-width:40rem;overflow-wrap:break-word}.center{text-align:center}.center .sub{margin-inline:auto}.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid var(--line)}.top .wrap{display:flex;align-items:center;gap:20px;height:64px}.brand{min-height:44px;display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:1.05rem;color:var(--text);text-decoration:none;margin-right:auto}.brand img{width:24px;height:24px}.nav{display:none;gap:6px}.nav a{color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:10px;font-size:.95rem}.nav a:hover,.nav a[aria-current=page]{color:var(--text);background:color-mix(in srgb,var(--text) 8%,transparent)}@media(min-width:860px){.nav{display:flex}.menu{display:none}}.menu{position:relative}.menu summary{list-style:none;cursor:pointer;padding:10px 14px;border-radius:10px;color:var(--text);font-size:.95rem;border:1px solid var(--line);min-height:44px;display:inline-flex;align-items:center}.menu summary::-webkit-details-marker{display:none}.menu[open] summary{background:color-mix(in srgb,var(--text) 8%,transparent)}.menu nav{position:absolute;right:0;top:calc(100% + 10px);min-width:220px;display:grid;padding:8px;background:var(--bg-raised);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.menu nav a{color:var(--text);text-decoration:none;padding:13px 14px;border-radius:10px}.menu nav a:hover{background:color-mix(in srgb,var(--text) 8%,transparent)}.theme{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer;display:grid;place-items:center;font-size:1.1rem}.theme:hover{background:color-mix(in srgb,var(--text) 8%,transparent)}.top .lang{display:none;align-items:center;min-height:44px;padding:0 12px;border-radius:12px;border:1px solid var(--line);color:var(--text);text-decoration:none;font-size:.9rem}.top .lang:hover{background:color-mix(in srgb,var(--text) 8%,transparent)}@media(min-width:860px){.top .lang{display:inline-flex}.menu nav a[hreflang]{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border-radius:999px;font-weight:600;font-size:1rem;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .2s ease-out,background .2s ease-out}.btn.primary{background:linear-gradient(135deg,var(--brand-a),var(--brand-b));color:#fff}.btn.primary:hover{transform:translateY(-1px)}.btn.ghost{color:var(--text);border-color:color-mix(in srgb,var(--text) 28%,transparent)}.btn.ghost:hover{background:color-mix(in srgb,var(--text) 8%,transparent)}.btn.small{min-height:40px;padding:0 18px;font-size:.95rem}.actions{display:flex;flex-wrap:wrap;gap:12px}.center .actions{justify-content:center}.hero{position:relative;padding:56px 0 0;text-align:center;overflow:hidden}.hero:before{content:"";position:absolute;inset:-20% -10% auto;height:80%;background:radial-gradient(60% 60% at 50% 30%,var(--glow),transparent 70%);pointer-events:none}.hero h1{position:relative;font-size:clamp(2.5rem,5.4vw,4.25rem);line-height:1.06;font-weight:650;max-width:32ch;margin:0 auto 20px}.hero h1 em{font-style:normal;background:linear-gradient(135deg,#3aa8e6,#2fd3b8);-webkit-background-clip:text;background-clip:text;color:transparent}.hero .sub{position:relative;margin:0 auto 28px;max-width:46rem}.status-line{color:var(--muted);font-size:.95rem;margin:18px 0 0}.stage{position:relative;max-width:1280px;margin:56px auto 0;padding:0 16px}.frame{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow),0 0 0 1px color-mix(in srgb,var(--text) 14%,transparent);background:var(--bg-sunk)}.frame img{width:100%}.stage:after{content:"";position:absolute;left:0;right:0;bottom:0;height:22%;background:linear-gradient(transparent,var(--bg));pointer-events:none}:root[data-theme=light] .hero h1 em{background-image:linear-gradient(135deg,#0a6fae,#087a6a)}@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .hero h1 em{background-image:linear-gradient(135deg,#0a6fae,#087a6a)}}.shot{display:block}figure.shotfig{margin:0}.sw{position:relative}.sw img{width:100%}.sw .sw-l{display:none}:root[data-theme=light] .sw:not([data-sw=dark]) .sw-d{display:none}:root[data-theme=light] .sw:not([data-sw=dark]) .sw-l{display:block}@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .sw:not([data-sw=dark]) .sw-d{display:none}:root:not([data-theme=dark]) .sw:not([data-sw=dark]) .sw-l{display:block}}.sw[data-sw=dark] .sw-d{display:block}.sw[data-sw=dark] .sw-l,.sw[data-sw=light] .sw-d{display:none}.sw[data-sw=light] .sw-l{display:block}.sw-ctl{position:absolute;right:16px;bottom:16px;display:flex;padding:4px;gap:2px;border-radius:999px;background:color-mix(in srgb,var(--bg-raised) 78%,transparent);border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.sw-ctl[hidden]{display:none}.sw-ctl button{min-width:64px;min-height:44px;padding:0 16px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer}.sw-ctl button[aria-pressed=true]{background:var(--text);color:var(--bg)}figure.shotfig figcaption{margin-top:14px;color:var(--muted);font-size:.95rem}figure.shotfig figcaption b{color:var(--text);font-weight:600;display:block}.two{display:grid;gap:40px;align-items:center}@media(min-width:900px){.two{grid-template-columns:1fr 1.25fr;gap:72px}.two.flip{grid-template-columns:1.25fr 1fr}.two.flip>:first-child{order:2}}.cards{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(17rem,100%),1fr))}.card{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);padding:26px}.card h3,.prose .card h3{font-size:1.2rem;font-weight:600;margin:0 0 .4em}.card p{color:var(--muted);margin:0}.card .tag,.phead .tag{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:999px;border:1px solid var(--line);color:var(--muted);margin-bottom:14px}.card .tag.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent)}.next,.card a.more{font-weight:600;text-decoration:none}a.next,.card a.more{display:inline-block;box-sizing:border-box;min-height:44px;padding-block:10px}.card a.more{margin-top:8px}.next:after,.card a.more:after{content:" →";white-space:pre}a.next:hover,.card a.more:hover{text-decoration:underline}.card.raised{background:var(--bg-raised)}.pillars .card{padding:0;overflow:hidden}.pillars .card .body{padding:22px 26px 28px}.pillars .card .frame{border-radius:0;box-shadow:none}.keys{display:grid;gap:14px;margin:28px 0 0;padding:0;list-style:none}.keys li{display:flex;gap:16px;align-items:baseline}.keys .caps{flex:0 0 11.5rem;display:inline-flex;gap:6px;flex-wrap:wrap}kbd{display:inline-block;min-width:2em;text-align:center;padding:3px 9px;border-radius:8px;border:1px solid var(--line);border-bottom-width:3px;background:var(--bg-raised);color:var(--text);font-size:.85rem}pre.code{margin:0;padding:22px 24px;border-radius:var(--radius);background:var(--bg-sunk);border:1px solid var(--line);overflow-x:auto;font-size:.9rem;line-height:1.6;color:var(--text)}.cmd{position:relative;display:block;background:var(--bg-sunk);border:1px solid var(--line);border-radius:12px;overflow:hidden}.cmd code,.prose .cmd code{display:block;min-width:0;padding:16px;white-space:pre-wrap;overflow-wrap:normal;word-break:normal;hyphens:none;overflow-x:auto;font-size:.9rem;line-height:1.6;background:var(--bg-sunk);border-radius:0}.cmd code:before{content:"";float:right;width:96px;height:44px;margin:-12px -12px 0 0}.cmd button{position:absolute;top:4px;right:4px;z-index:1;display:inline-flex;justify-content:center;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:0 14px;border:0;background:transparent;color:var(--text);cursor:pointer;font:inherit;font-size:.9rem;line-height:1;white-space:nowrap}.cmd button:before{content:"";position:absolute;inset:7px 4px;z-index:-1;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--text) 7%,var(--bg-sunk));transition:background .15s}.cmd button:hover:before{background:color-mix(in srgb,var(--text) 14%,var(--bg-sunk))}.cmd button .ic{display:none}.cmd button[data-state=failed]{color:var(--warn)}@media(max-width:700px){.cmd code:before{width:52px}.cmd button{padding:0}.cmd button:before{inset:6px}.cmd button .ic-copy{display:block}.cmd button[data-state] .ic-copy{display:none}.cmd button[data-state=done] .ic-ok{display:block;color:var(--ok)}.cmd button[data-state=failed] .ic-copy{display:block}.cmd button .lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.cmd code,.prose .cmd code{padding:14px 12px}}@media(max-width:520px){.cmd code,.prose .cmd code{font-size:.8125rem}}.fit{display:grid;gap:20px}@media(min-width:800px){.fit{grid-template-columns:1fr 1fr}}.fit ul{margin:0;padding-left:1.2em;color:var(--muted)}.fit li{margin:.45em 0}.fit h3{margin-bottom:.6em}.editions{display:grid;gap:20px}@media(min-width:900px){.editions{grid-template-columns:repeat(3,1fr)}}.editions .card.on{border-color:color-mix(in srgb,var(--accent) 60%,transparent)}.editions .card{display:flex;flex-direction:column}.editions .card .tag{align-self:flex-start}.editions .card p:not(.plus){margin-bottom:14px}.editions .plus{color:var(--text);font-weight:600;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}.release{display:grid;gap:8px}.release a{text-decoration:none;color:var(--text);display:flex;flex-wrap:wrap;gap:6px 18px;padding:16px 0;border-top:1px solid var(--line)}.release a:last-child{border-bottom:1px solid var(--line)}.release time{color:var(--muted);font-variant-numeric:tabular-nums;min-width:7rem}.page{padding:56px 0 96px}.page h1{font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.06;font-weight:650;margin-bottom:.4em}.prose{max-width:46rem}.prose h2{font-size:1.5rem;margin:2em 0 .4em;font-weight:600}.prose h3{font-size:1.15rem;margin:1.6em 0 .3em}.prose p,.prose li{max-width:62ch}.prose>p,.prose>ul>li,.prose>ol>li{color:color-mix(in srgb,var(--text) 88%,var(--bg))}.prose ul,.prose ol{padding-left:1.3em}.prose .note{color:var(--muted);font-size:.95rem}.prose table{border-collapse:collapse;width:100%;font-size:.95rem}.prose th,.prose td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}.prose.wide{max-width:none}.foot{border-top:1px solid var(--line);padding:56px 0 40px;color:var(--muted);font-size:.95rem;background:var(--bg-sunk)}.foot .cols{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));margin-bottom:36px}.foot h2{font-size:.8125rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text);margin-bottom:12px}.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:0}.foot a{color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;min-height:44px}.foot a:hover{color:var(--text);text-decoration:underline}.foot .fine{max-width:62ch;font-size:.85rem;margin:0}.foot .cols .fine{max-width:24rem}@media(min-width:860px){.foot .cols{grid-template-columns:repeat(3,minmax(9rem,1fr)) minmax(16rem,1.7fr);gap:40px}}@media(max-width:700px){.foot{padding:36px 0 28px}.foot .cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;margin-bottom:20px}.foot .cols .fine{grid-column:1 / -1;max-width:none}.foot .cols>section:nth-child(3){grid-column:1 / -1}.foot .cols>section:nth-child(3) ul{display:flex;flex-wrap:wrap;gap:0 24px}.foot h2{margin-bottom:4px}}.theme .i-moon{display:none}:root[data-theme=light] .theme .i-sun{display:none}:root[data-theme=light] .theme .i-moon{display:block}@media(prefers-color-scheme:light){:root:not([data-theme]) .theme .i-sun{display:none}:root:not([data-theme]) .theme .i-moon{display:block}}.menu summary{width:44px;padding:0;justify-content:center}@media(max-width:520px){.top .wrap{gap:8px;padding:0 16px}.btn.small{padding:0 14px;white-space:nowrap}}section.tint{background:var(--bg-sunk);border-block:1px solid var(--line)}section.slim{padding:48px 0}@media(min-width:900px){section.slim{padding:56px 0}}section.slim:not(.tint)+section.slim:not(.tint){padding-top:0}.band .center+.cards,.band .center+.pair,.band .center+.editions,.band .center+.fit{margin-top:40px}.after{margin-top:32px}.fine{color:var(--muted);font-size:.9rem;margin-top:12px}.pair{display:grid;gap:24px;margin-top:48px}@media(min-width:800px){.pair{grid-template-columns:1fr 1fr}}.pillars .card{display:flex;flex-direction:column}.pillars .frame img{aspect-ratio:16 / 10;object-fit:cover;object-position:top left}.keys .plus{color:var(--muted)}.keysalone .keys{grid-template-columns:1fr;gap:14px}.keys .caps{align-items:center}.h3{font-size:1.5rem;font-weight:600;margin:0 0 18px}.h4{font-size:1.1rem;font-weight:600;margin:28px 0 10px}.cards.three{grid-template-columns:repeat(auto-fit,minmax(min(17rem,100%),1fr))}.page .sub{margin-bottom:32px}.card.start{margin:8px 0 48px;max-width:46rem}.card.start h2{font-size:1.6rem;margin-bottom:.3em}.group{margin-top:48px}.fit-list{padding-left:1.3em;max-width:46rem;color:var(--muted)}.fit-list li{margin:.5em 0}.fit-list b{color:var(--text);font-weight:600}.phead{padding:56px 0 24px}.phead h1{font-size:clamp(2rem,5.4vw,3.1rem);line-height:1.05;font-weight:650;margin-bottom:.3em}@media(min-width:900px){.phead .two{grid-template-columns:minmax(0,1fr) 22rem;gap:48px}.phead h1{font-size:clamp(2rem,3.5vw,3.1rem)}}.facts{margin:0;display:grid;gap:14px;align-content:start}.facts div{display:grid;gap:2px}.facts dt{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.facts dd{margin:0}.shotgrid{display:grid;gap:20px}.shotgrid .first{grid-column:1 / -1}@media(min-width:800px){.shotgrid{grid-template-columns:1fr 1fr}}ol.steps{padding-left:1.3em;display:grid;gap:14px}ol.steps li{max-width:62ch}.install .needs{color:var(--muted);font-size:.95rem}.install .cmd{margin-top:8px}.install ol.steps li::marker{color:var(--muted)}.two.alignstart{align-items:start}.two>*{min-width:0}.install .isteps{display:grid;gap:12px;margin-top:12px}.install .isteps .cmd{margin-top:0}.install .note{font-size:.95rem;color:var(--muted);max-width:62ch}.install .fine{margin:14px 0 0}.chapter{padding:32px 0}.chapter .two{align-items:center}.chapter+.chapter{border-top:1px solid var(--line)}.chapter p{max-width:62ch;color:var(--muted)}.chapter .more{margin-top:.6em;display:flex;flex-wrap:wrap;gap:0 28px}.chapter .more a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;text-decoration:none}.chapter .more a:after{content:" →";white-space:pre}.chapter .more a:hover{text-decoration:underline}.scroll{overflow-x:auto;margin:1em 0}.scroll table{min-width:36rem}.scroll td code{white-space:nowrap}.prose .note,.note{color:var(--muted);font-size:.95rem;max-width:62ch}.editions-table{min-width:46rem;border-collapse:separate;border-spacing:0;font-size:1.05rem;line-height:1.5;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.editions-table th,.editions-table td{padding:22px 24px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.editions-table tbody tr:last-child>*{border-bottom:0}.editions-table thead th{padding:28px 24px 20px;border-bottom:2px solid var(--line)}.editions-table thead th:last-child{border-bottom-color:var(--brand-a)}.editions-table .ed-name{display:block;font-size:1.7rem;font-weight:650;letter-spacing:-.01em;color:var(--text)}.editions-table .ed-tag{display:block;margin-top:4px;font-size:.85rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.editions-table tbody th[scope=row]{width:11rem;background:var(--bg-sunk);border-right:1px solid var(--line);color:var(--accent-text);font-size:1.05rem;font-weight:700;letter-spacing:.01em}.editions-table td{color:var(--text)}.editions-table tr.group th{padding:14px 24px;background:var(--bg-sunk);border-top:2px solid var(--line);font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.editions-table td.all{font-size:inherit}.editions-table .none{color:var(--muted);font-size:1.4rem;line-height:1}@media(max-width:700px){.editions-table .none{font-size:1rem;line-height:inherit}}.editions-table .req{display:inline-block;margin-left:10px;padding:1px 10px;border-radius:999px;border:1px solid var(--accent-text);color:var(--accent-text);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;vertical-align:.1em}@media(min-width:900px){.editions-table{font-size:1.1rem}.editions-table tbody th[scope=row]{width:13rem;font-size:1.15rem}}.editions-table{table-layout:auto;width:100%}.editions-table thead td{width:11rem}.editions-table thead th:not(:last-child){width:13rem}@media(min-width:900px){.editions-table thead td{width:13rem}.editions-table thead th:not(:last-child){width:15.5rem}.editions-table thead th:last-child{width:24rem}}@media(max-width:700px){.scroll:has(.editions-table){overflow:visible}.scroll .editions-table{min-width:0;display:block}.editions-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.editions-table tbody,.editions-table tr{display:block}.editions-table tr+tr{border-top:1px solid var(--line)}.editions-table tbody th[scope=row]{display:block;width:auto;border-right:0;border-bottom:1px solid var(--line);padding:14px 16px;font-size:1.15rem}.editions-table td{display:grid;grid-template-columns:5.6rem 1fr;gap:12px;padding:12px 16px;border-bottom:0}.editions-table td:before{content:attr(data-ed);font-weight:600;font-size:.9rem;color:var(--muted)}.editions-table td.all{display:block}.editions-table td.all:before{content:none}.editions-table tr.group th{display:block;padding:12px 16px}}.prose .cmd{margin:1em 0;max-width:100%}.prose code{background:var(--bg-sunk);padding:1px 6px;border-radius:6px;font-size:.9em}.h2+.sub,.h2+p{margin-top:16px}.slim .h2+.cards,.slim .h2+ol.steps{margin-top:36px}@media(min-width:900px){.two.keysrow{grid-template-columns:1.1fr 1fr}.two.flip.codeleft{grid-template-columns:1.3fr 1fr}}.keys .caps{flex:0 0 16rem;flex-wrap:nowrap;white-space:nowrap}@media(max-width:520px){.keys li{flex-direction:column;gap:6px}.keys .caps{flex-basis:auto}}pre.code{font-size:.85rem}.hero .actions{justify-content:center}.steps,.steps>*,ol.big,ol.big>li,.installgrid,.installgrid>*{min-width:0}.chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0 0 48px;padding:0}.chips li{padding:6px 14px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-size:.9rem}ol.big{list-style:none;margin:0 0 64px;padding:0;counter-reset:step;display:grid;gap:20px;max-width:52rem}ol.big>li{counter-increment:step;position:relative;padding:28px 28px 28px 84px;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius)}ol.big>li:before{content:counter(step);position:absolute;left:24px;top:26px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--brand-a),var(--brand-b))}ol.big h2{margin:0 0 .3em;font-size:1.35rem;font-weight:600}ol.big p{color:var(--muted);max-width:62ch}ol.big .cmd{margin:14px 0}@media(max-width:600px){ol.big>li{padding:16px 14px 20px}ol.big>li:before{left:14px;top:16px;width:28px;height:28px;font-size:.9rem}ol.big h2{font-size:1.25rem;text-wrap:balance;margin:0 0 .5em;padding-left:40px;min-height:28px;display:flex;align-items:center}}.card.start{display:grid;gap:28px;max-width:none}@media(min-width:900px){.card.start{padding:36px}.card.start .startbody{max-width:46rem}}.card.start .frame{box-shadow:0 0 0 1px var(--line)}.card .actions{margin-top:26px}.card.withshot .frame{margin:-26px -26px 20px;border-radius:var(--radius) var(--radius) 0 0;box-shadow:none;border-bottom:1px solid var(--line)}.card.withshot .frame img{aspect-ratio:16 / 9;object-fit:cover;object-position:top left}.cards{grid-template-columns:repeat(auto-fill,minmax(min(17rem,100%),1fr))}@media(min-width:612px)and (max-width:967px){.cards:not(.paths):not(.edge)>.card:last-child:nth-child(odd){grid-column:1 / -1}}ol.big>li{max-width:none}.btn.small{min-height:44px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0}.strip{margin-top:72px}.strip h3{font-size:1.35rem;font-weight:600;letter-spacing:-.01em}.strip>p{color:var(--muted);max-width:62ch;margin-top:6px}.strip .tiles{display:grid;gap:16px;margin-top:28px;grid-template-columns:repeat(auto-fit,minmax(min(9.5rem,100%),1fr))}.strip .tiles:is(.two,.three){grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr))}.strip .frame img{aspect-ratio:4 / 3;object-fit:cover;width:100%;height:auto}.strip .tiles.three .frame img{aspect-ratio:16 / 10}img[data-zoom]{cursor:zoom-in}.frame .zoom{position:absolute;bottom:12px;right:12px;z-index:2;display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--bg-raised) 78%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--text);cursor:pointer;opacity:0;transition:opacity .15s}.frame:has(.sw) .zoom{bottom:auto;top:12px}.frame:has(img[data-desk]) .zoom{top:auto;bottom:12px}.frame:has(.sw img[data-desk]) .zoom{right:auto;left:12px}.frame:has(.sw img[data-desk]) .zoom:after{right:auto;left:0}.frame:hover .zoom,.frame .zoom:focus-visible{opacity:1}@media(hover:none){.frame .zoom{opacity:.92}}.frame .vpause{position:absolute;bottom:12px;left:12px;z-index:2;display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--bg-raised) 78%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--text);cursor:pointer;opacity:.92;transition:opacity .15s}.frame .vpause[hidden]{display:none}.frame:hover .vpause,.frame .vpause:focus-visible{opacity:1}.vpause .i-play,.vpause[aria-pressed=true] .i-pause{display:none}.vpause[aria-pressed=true] .i-play{display:block}.lightbox{border:0;padding:0;margin:0;width:100%;height:100%;max-width:none;max-height:none;background:transparent;color:#fff;overflow:hidden}.lightbox[open]{display:grid;place-items:center;align-content:center;gap:14px;padding:56px 20px 20px;cursor:zoom-out}.lightbox::backdrop{background:#04080ad1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.lightbox img{width:auto;height:auto;max-width:min(96vw,1800px);max-height:calc(100vh - 130px);border-radius:12px;box-shadow:0 30px 90px #0009,0 0 0 1px #ffffff29}.lightbox .lb-cap{max-width:60rem;margin:0;text-align:center;font-size:.95rem;color:#d3dcdf}.lightbox .lb-cap[hidden]{display:none}.lightbox form{position:fixed;top:12px;right:12px;margin:0}.lb-close{display:grid;place-items:center;width:48px;height:48px;padding:0;border-radius:999px;border:1px solid rgb(255 255 255 / .28);background:#141c20b3;color:#fff;cursor:pointer}body:has(.lightbox[open]){overflow:hidden}.stage.tabbed{margin-top:36px}.stage.tabbed:after{display:none}.hero:has(.tabbed){padding-bottom:56px}@media(max-width:700px){.hero:has(.tabbed){padding-bottom:8px}}.vpanels{display:grid}.vframe img{aspect-ratio:2200 / 963;height:auto}.vpanel{grid-area:1 / 1;transition:opacity .4s ease,visibility 0s linear 0s}.vpanel[data-on=true]{position:relative;z-index:1}.vpanel[data-on=false]{opacity:0;visibility:hidden;transition:opacity 0s linear .4s,visibility 0s linear .4s}.variants .vtabs{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;width:max-content;max-width:100%;margin:0 auto 14px;padding:4px;border-radius:999px;background:var(--bg-raised);border:1px solid var(--line)}.variants .vtabs[hidden]{display:none}.vtabs button{min-height:44px;padding:0 16px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s}.vtabs button:hover{color:var(--text)}.vtabs button[aria-selected=true]{background:color-mix(in srgb,var(--text) 14%,transparent);color:var(--text)}.vnote{display:grid;margin:12px auto 0;text-align:center;max-width:40rem;color:var(--text);font-size:1rem;text-wrap:balance}.vnote .vmore{display:block;margin-top:2px;color:var(--muted);font-size:.95rem}.vnote>span{grid-area:1 / 1;transition:opacity .22s ease .18s,visibility 0s linear 0s}.vnote>span[data-on=false]{opacity:0;visibility:hidden;transition:opacity .18s ease,visibility 0s linear .18s}@media(prefers-reduced-motion:reduce){.vpanel,.vpanel[data-on=false],.vnote>span,.vnote>span[data-on=false]{transition:none}}@media(max-width:700px){.variants .vtabs{border-radius:22px}.vtabs button{min-height:44px;padding:0 11px;font-size:.9rem;color:var(--text);border-color:var(--line)}.vtabs button[aria-selected=true]{border-color:color-mix(in srgb,var(--text) 40%,transparent)}.vnote .vmore{display:none}}@media(max-width:30rem){.variants .vtabs{position:relative;display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:4px;width:auto;max-width:100%;margin:0 0 14px;padding:4px;border-radius:999px;overflow-x:auto;scrollbar-width:none}.vtabs button{flex:none;min-height:44px;padding:0 16px;font-size:.9rem;white-space:nowrap}}@media(max-width:520px){.variants{display:flex;flex-direction:column}.variants .vframe{order:1}.variants .vtabs{order:2;margin:12px 0 0}.variants .vnote{order:3}.stage{padding:0}.stage .frame{border-radius:0;box-shadow:0 1px 0 var(--line),0 -1px 0 var(--line)}.variants .vtabs{margin-inline:12px}.variants .vnote{margin-inline:max(12px,calc((100% - 46ch)/2))}}.cards.edge{grid-template-columns:1fr}.cards.edge .card{display:flex;flex-direction:column;padding:22px}.cards.edge .card p{flex:1;font-size:1rem}.chapter.lead .chapterhead{display:grid;gap:0 72px;align-items:start;margin-bottom:36px}@media(min-width:900px){.chapter.lead .chapterhead{grid-template-columns:1fr 1.25fr}}.chapter.lead .chapterhead p{max-width:62ch;color:var(--muted)}.chapter.lead .chapterhead .eyebrow{color:var(--accent-text)}.chapter.lead .variants .vnote{margin-top:14px}.prose .chapter.lead .chapterhead h2.h2{margin-bottom:0}.steplabel{margin:18px 0 8px;font-size:.9rem;font-weight:600;color:var(--muted)}.steplabel:first-child{margin-top:0}.nav a.ext:after,.menu nav a.ext:after{content:" ↗";font-size:.85em}.slim .h2{font-size:clamp(1.6rem,2.4vw,2.1rem)}.two .h2{font-size:clamp(1.75rem,2.6vw,2.25rem)}:root[data-theme=light] .card .tag.ok{color:color-mix(in srgb,var(--ok) 100%,black 15%);background:color-mix(in srgb,var(--ok) 10%,transparent);font-size:.78rem}:root[data-theme=light] .sw .sw-l,.sw[data-sw=light] .sw-l{filter:contrast(1.06)}@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .card .tag.ok{color:color-mix(in srgb,var(--ok) 100%,black 15%);background:color-mix(in srgb,var(--ok) 10%,transparent);font-size:.78rem}:root:not([data-theme=dark]) .sw .sw-l{filter:contrast(1.06)}}.chips{gap:8px 24px}.chips li{padding:0;border:0;border-radius:0;font-size:.95rem}.chips li:before{content:"✓";color:var(--ok);margin-right:8px;font-weight:700}@media(max-width:520px){.eyebrow{font-size:.875rem}.card .tag,.phead .tag{font-size:.8125rem}.foot .fine{font-size:.9rem}kbd{font-size:.95rem}.h2{font-size:1.75rem}.sub{font-size:1.1rem}.sw-ctl{position:static;margin:10px auto;width:max-content}}@media(max-width:700px){section.band{padding:40px 0}section.slim{padding:40px 0}.band .center+.cards,.band .center+.pair,.band .center+.editions,.band .center+.fit{margin-top:28px}.pair{margin-top:32px;gap:20px}.strip{margin-top:44px}.strip .tiles,.after{margin-top:20px}.sw-ctl button{min-height:44px}}.prose :is(p,li,dd,dt,td,summary,h2,h3) code,:is(p,li,dd,dt,td,summary)>code,.installband .needs code{padding:.1em .3em;margin:0;white-space:nowrap}.prose :is(p,li,dd,dt,td,summary,h2,h3) code.lng,:is(p,li,dd,dt,td,summary)>code.lng,.installband .needs code.lng{white-space:normal;overflow-wrap:anywhere}.next:after,.card a.more:after,.chapter .more a:after,.editions .plus a:after{content:" →";white-space:normal}.chapter .more a{display:inline-block;min-height:44px;padding-block:10px;line-height:1.5}.chapter .more{column-gap:24px}.langtag{display:inline-block;margin-inline-start:.4em;padding:0 .45em;border:1px solid currentColor;border-radius:999px;font-size:.75rem;font-weight:600;font-style:normal;letter-spacing:.06em;line-height:1.6;text-transform:uppercase;text-decoration:none;white-space:nowrap;vertical-align:middle;color:var(--muted);opacity:.9}a:hover .langtag{text-decoration:none}.vnote,.prose .vnote{max-width:46ch;text-wrap:balance}.vnote .vmore{font-size:1rem}@media(max-width:700px){.variants .vframe img{aspect-ratio:2200 / 963;object-fit:contain}.vnote{margin-inline:auto}}.editions-table tr.sub{margin:0;max-width:none}.editions-table tbody th[scope=row],.editions-table tbody tr th[scope=row]{font-size:.9375rem;font-weight:600}@media(max-width:700px){.editions-table tbody th[scope=row],.editions-table tbody tr th[scope=row]{font-size:1rem}}@media(max-width:700px){.foot ul,.foot .cols>section:nth-child(3) ul{display:grid;gap:12px}.foot .cols>section:nth-child(3) ul{grid-template-columns:minmax(0,1fr)}.foot a{min-height:40px}.foot h2{margin-bottom:12px}}@media(min-width:900px){.editions>.card{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0}.editions>.card .plus{align-self:start;margin-top:0}.editions>.card .tag{justify-self:start}}.fit,.fitnote{align-items:start}@media(max-width:700px){.chapter .shotfig .frame img{aspect-ratio:3 / 2;object-fit:cover;object-position:left top}}.cmd .tk{display:inline-block;max-width:100%;white-space:normal;overflow-wrap:anywhere;vertical-align:top}@media(max-width:640px){.cmd code,.prose .cmd code{white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:visible;margin-right:52px;padding-right:8px}.cmd code:before{display:none}}.btn{text-align:center;line-height:1.25;padding-block:12px}@media(max-width:520px){.btn:not(.small){border-radius:26px;padding-inline:22px}.contact .btn{width:100%}}.prose :is(p,li,dd,dt,td,summary,h2,h3) code,:is(p,li,dd,dt,td,summary)>code,.installband .needs code{padding-inline:.2em;margin:0}.prose :is(p,li,dd,dt)>code:not(.fpr),:is(p,li,dd,dt)>code:not(.fpr),.installband .needs code{padding-inline:.2em .1em}.card :is(p,li)>code:not(.fpr){background:var(--bg-sunk);border-radius:6px}.card h3,.h3,.h4,.grouphead,.strip h3,.safeband b{text-wrap:balance}.fit,.fitnote{align-items:stretch}@media(min-width:900px){.fitnote{grid-template-columns:1fr 1fr}}@supports (grid-template-rows: subgrid){@media(min-width:900px){.cards.paths{grid-template-rows:none}.cards.paths>.card{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0;align-content:start}.cards.paths>.card .links{margin-top:0;align-self:start}}}@media(max-width:700px){.variants .vtabs{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 32px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 32px),transparent)}}.frame .zoom{opacity:.9}.frame .zoom:after{content:attr(aria-label);position:absolute;right:0;bottom:calc(100% + 6px);white-space:nowrap;padding:3px 10px;border-radius:999px;font-size:.8rem;font-weight:600;background:color-mix(in srgb,var(--bg-raised) 90%,transparent);border:1px solid var(--line);opacity:0;pointer-events:none;transition:opacity .15s}.frame .zoom:hover:after,.frame .zoom:focus-visible:after{opacity:1}.shotgrid .frame .zoom{width:36px;height:36px;top:8px;right:8px;bottom:auto}.shotgrid .frame .zoom:after{bottom:auto;top:calc(100% + 6px)}.shotgrid .frame:has(img[data-desk]) .zoom{top:auto;bottom:8px}.shotgrid .frame:has(img[data-desk]) .zoom:after{top:auto;bottom:calc(100% + 6px)}code.fpr,.prose :is(p,li,dd,dt) code.fpr{display:block;width:fit-content;max-width:100%;margin:.4rem 0;white-space:nowrap}@media(max-width:640px){code.fpr,.prose :is(p,li,dd,dt) code.fpr{max-width:20ch;box-sizing:content-box;white-space:normal;overflow-wrap:anywhere;word-break:break-all}}.editions-table .ed-tag,.editions-table .req{display:inline-block;margin:8px 0 0;padding:3px 10px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:.75rem;font-weight:600;letter-spacing:.06em;line-height:1.4;text-transform:uppercase;vertical-align:baseline}.editions-table tr.group th .req{margin:0 0 0 10px;vertical-align:.1em}@media(max-width:700px){.editions-table tr.group th .req{margin:6px 0 0}}.editions-table .ed-tag.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent)}:root[data-theme=light] .editions-table .ed-tag.ok{color:color-mix(in srgb,var(--ok) 100%,black 15%);background:color-mix(in srgb,var(--ok) 10%,transparent)}@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .editions-table .ed-tag.ok{color:color-mix(in srgb,var(--ok) 100%,black 15%);background:color-mix(in srgb,var(--ok) 10%,transparent)}}@media(max-width:700px){.scroll .editions-table tr.tool td.all{padding:.6rem 1rem .8rem}}@media(min-width:600px){p,li,dd,figcaption{text-wrap:pretty}}.cmd .ln{display:block;padding-left:calc(var(--h, 0) * 1ch);text-indent:calc(var(--h, 0) * -1ch)}.cmd .tk{text-indent:0}.cmd .tk.keep{white-space:nowrap;overflow-wrap:normal}.langtag{display:inline;padding:0 .45em}.langtag:before{content:"⁠"}@media(max-width:700px){.foot ul,.foot .cols>section:nth-child(3) ul{gap:0}.foot .cols>section:nth-child(3) ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.foot a{min-height:44px}.foot h2{margin-bottom:4px}}@media(max-width:700px){.editions-table td{grid-template-columns:6.8rem 1fr}.editions-table td:before{font-size:1em;color:var(--text)}}@media(max-width:700px){.groupnav ul,.variants .vtabs{scroll-snap-type:x proximity;scroll-padding-inline:4px}.groupnav li,.vtabs button{scroll-snap-align:start}nav.groupnav ul{padding-right:56px}}.center .sub,.hero .sub,.page .wrap>.sub{text-wrap:balance}:is(p,li,dd,td,summary) kbd{line-height:1;vertical-align:baseline;padding:.05rem .35rem}.keys kbd{padding:3px 9px}.foot a{align-items:flex-start;padding-block:10px}:is(p,li,dd,dt,td,summary,figcaption) code{font-size:.9em}.nw{white-space:nowrap}ol.big h2+.warn{margin-top:.75rem}@media(max-width:480px){.install.card{padding-inline:12px}.install .cmd code{margin-right:44px;padding-right:4px;font-size:.78rem}}@media(max-width:700px){.page:has(.chapter){padding-bottom:24px}.chapter .more{margin-bottom:0}}.card p,.card li{text-wrap:pretty}@property --gn-fade{syntax: "<length>"; inherits: true; initial-value: 40px;}@media(max-width:700px){nav.groupnav{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - var(--gn-fade)),transparent);mask-image:linear-gradient(to right,#000 calc(100% - var(--gn-fade)),transparent)}}@supports (animation-timeline: scroll()){@keyframes gn-fade{0%,92%{--gn-fade: 40px}to{--gn-fade: 0px}}@media(max-width:700px){nav.groupnav{timeline-scope:--gn;animation:gn-fade linear both;animation-timeline:--gn}nav.groupnav ul{scroll-timeline:--gn x}}}.fit-list li,.fitcard li{text-wrap:pretty}.chapter .chapterhead>.eyebrow{font-size:.9375rem;font-weight:700;letter-spacing:.1em;color:var(--accent-text)}p.after.center a:not(.next){font-weight:600}body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}body>main{flex:1 0 auto}body>.foot{flex:none}figcaption,.prose td{text-wrap:pretty}.prose p.closing{max-width:none;margin-top:56px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 24px}@media print{.skip,.top .nav,.top .btn,.top .theme,.top .lang,.top .menu,.hero .tabbed .vtabs,main button{display:none!important}.top{position:static;border-bottom:0}.hero h1 em{background:none!important;color:#087a6a!important;-webkit-text-fill-color:#087a6a}.btn.primary{background:none!important;color:#006fa8!important;border:1px solid #006fa8!important}ol.big>li:before{background:none!important;color:#006fa8!important;border:1px solid #006fa8}}@media(forced-colors:active){.vtabs button[aria-selected=true],.sw-ctl button[aria-pressed=true]{forced-color-adjust:none;background:Highlight;color:HighlightText}.nav a[aria-current=page]{text-decoration:underline}}
