:root{--ink:#1a1b26;--panel:#1f2335;--panel-raised:#24283b;--frame:#2f334d;--selection:#33467c;--fg:#c0caf5;--muted:#565f89;--family:#9ece6a;--tool:#7aa2f7;--soon:#e0af68;--alarm:#f7768e;--cyan:#7dcfff;--accent:var(--family);--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, "DejaVu Sans Mono", Menlo, Consolas, monospace;--sans:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--measure:68ch;--page:1140px;--radius:10px;--step-0:1rem;--step-1:1.125rem;--step-2:clamp(1.35rem, 1.1rem + 1.1vw, 1.75rem);--step-3:clamp(1.75rem, 1.3rem + 2.2vw, 2.6rem);--step-4:clamp(1.85rem, 1.05rem + 3.6vw, 3.5rem)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body{background:var(--ink);color:var(--fg);font-family:var(--sans);font-size:var(--step-0);-webkit-font-smoothing:antialiased;margin:0;line-height:1.65}::selection{background:var(--selection);color:#fff}a{color:var(--tool);text-decoration-color:color-mix(in srgb, var(--tool) 40%, transparent);text-underline-offset:3px}a:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}h1,h2,h3,h4{font-family:var(--mono);letter-spacing:-.015em;text-wrap:balance;margin:0;font-weight:700;line-height:1.2}p{max-width:var(--measure);margin:0 0 1rem}img{max-width:100%;height:auto;display:block}code,kbd,samp,pre{font-family:var(--mono);font-size:.9em}code{background:var(--panel-raised);border:1px solid var(--frame);color:var(--fg);border-radius:4px;padding:.1em .35em}hr{border:0;border-top:1px solid var(--frame);margin:3rem 0}.page{width:min(100% - 2.5rem, var(--page));margin-inline:auto}.skip{background:var(--panel-raised);color:var(--fg);z-index:20;padding:.75rem 1rem;position:absolute;top:0;left:-9999px}.skip:focus{top:1rem;left:1rem}.section{padding-block:clamp(3rem,6vw,5rem)}.section-head{flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;margin-bottom:1.75rem;display:flex}.section-head h2{font-size:var(--step-2)}.eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 .85rem;font-size:.75rem;font-weight:600}.lede{font-size:var(--step-1);color:color-mix(in srgb, var(--fg) 88%, var(--muted))}.prose>:last-child{margin-bottom:0}.masthead{z-index:10;background:color-mix(in srgb, var(--ink) 88%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--frame);position:sticky;top:0}.masthead-inner{justify-content:space-between;align-items:center;gap:1rem;padding-block:.7rem;display:flex}.brand{font-family:var(--mono);color:var(--fg);letter-spacing:-.02em;align-items:center;gap:.6rem;font-size:1rem;font-weight:700;text-decoration:none;display:inline-flex}.brand img{width:26px;height:26px}.brand .prefix{color:var(--family)}.nav{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.nav a{font-family:var(--mono);color:var(--muted);border-radius:6px;padding:.35rem .6rem;font-size:.82rem;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--fg);background:var(--panel)}.nav a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--accent)}@media (width<=33.999rem){.masthead-inner{flex-direction:column;align-items:stretch;gap:.35rem;padding-block:.55rem .4rem}.nav{overscroll-behavior-x:contain;scrollbar-width:none;flex-wrap:nowrap;margin-inline:-1.25rem;padding-inline:1.25rem;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav a{white-space:nowrap;letter-spacing:-.02em;padding:.3rem .45rem}}.footer{border-top:1px solid var(--frame);color:var(--muted);margin-top:4rem;padding-block:2.5rem 3rem;font-size:.9rem}.footer-grid{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.5rem 3rem;display:grid}.footer h3{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.6rem;font-size:.75rem}.footer ul{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.footer .disclaimer{border-top:1px solid var(--frame);max-width:62ch;margin-top:2rem;padding-top:1.5rem}.footer-hosted{color:var(--muted);opacity:.7;align-items:center;gap:.5rem;margin-top:1.4rem;font-size:.75rem;text-decoration:none;transition:opacity .25s;display:inline-flex}.footer-hosted:hover,.footer-hosted:focus-visible{opacity:1}.footer-hosted img{width:auto;height:16px}.dialog{border:1px solid var(--frame);border-radius:var(--radius);background:var(--panel);overflow:hidden}.dialog-title{font-family:var(--mono);letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--frame);justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .9rem;font-size:.78rem;display:flex}.dialog-title .lhs{align-items:center;gap:.5rem;min-width:0;display:inline-flex}.dialog-title .rhs{flex:none;align-items:center;gap:.5rem;display:inline-flex}.dialog-body{align-items:stretch;gap:0;display:flex}.dialog-body pre{min-width:0;color:var(--fg);tab-size:2;flex:1;margin:0;padding:.9rem 1rem;font-size:.82rem;line-height:1.7;overflow-x:auto}.dialog-body pre .sigil{color:var(--family);user-select:none}.copy{border:0;border-left:1px solid var(--frame);color:var(--muted);font-family:var(--mono);cursor:pointer;background:0 0;flex:none;align-self:stretch;align-items:center;gap:.4rem;padding-inline:.9rem;font-size:.78rem;transition:background .15s,color .15s;display:inline-flex}.copy .key{border:1px solid var(--frame);min-width:1.35rem;height:1.35rem;color:var(--family);border-bottom-width:2px;border-radius:4px;place-items:center;font-weight:700;display:inline-grid}.dialog:hover .copy,.copy:focus-visible{color:var(--fg);background:color-mix(in srgb, var(--family) 10%, transparent)}.copy[data-copied=true]{color:var(--family);background:color-mix(in srgb, var(--family) 16%, transparent)}.copy-in-title{display:none}@media (width<=33.999rem){.copy-in-title{border-left:0;border-radius:6px;align-self:center;margin-right:-.35rem;padding:.2rem .35rem .2rem .5rem;display:inline-flex}.copy-beside{display:none}.dialog-title{padding-block:.45rem}}.dialog.is-soon{border-style:dashed;border-color:color-mix(in srgb, var(--soon) 45%, var(--frame))}.dialog.is-soon .dialog-body pre{color:color-mix(in srgb, var(--fg) 62%, var(--muted))}.chip{font-family:var(--mono);letter-spacing:.04em;border:1px solid var(--frame);background:var(--panel-raised);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .5rem;font-size:.72rem;display:inline-flex}.chip-category{color:var(--cyan);border-color:color-mix(in srgb, var(--cyan) 35%, var(--frame))}.chip-version{color:var(--family);border-color:color-mix(in srgb, var(--family) 35%, var(--frame))}.chip-backend{color:var(--tool);border-color:color-mix(in srgb, var(--tool) 35%, var(--frame))}.chip-unreleased{color:var(--soon);border-color:color-mix(in srgb, var(--soon) 40%, var(--frame))}.chips{flex-wrap:wrap;gap:.4rem;display:flex}.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,21rem),1fr));gap:1.25rem;display:grid}.card{border:1px solid var(--frame);border-radius:var(--radius);background:var(--panel);flex-direction:column;transition:border-color .18s,transform .18s;display:flex;overflow:hidden}.card:hover{border-color:color-mix(in srgb, var(--tool) 55%, var(--frame));transform:translateY(-2px)}.card-head{align-items:center;gap:.75rem;padding:1rem 1.1rem .75rem;display:flex}.card-head img{flex:none;width:34px;height:34px}.card-name{font-family:var(--mono);letter-spacing:-.02em;font-size:1.05rem;font-weight:700}.card-name a{color:var(--fg);text-decoration:none}.card-name a:after{content:"";position:absolute;inset:0}.card-name .prefix{color:var(--family)}.card{position:relative}.card-shot{border-block:1px solid var(--frame);background:var(--ink);aspect-ratio:104/26;overflow:hidden}.card-shot img{object-fit:cover;object-position:top left;width:100%;height:100%}.card-body{flex-direction:column;flex:1;gap:.75rem;padding:.9rem 1.1rem 1rem;display:flex}.card-tagline{color:color-mix(in srgb, var(--fg) 85%, var(--muted));margin:0;font-size:.95rem}.card-meta{font-family:var(--mono);color:var(--muted);flex-wrap:wrap;gap:.4rem;margin-top:auto;font-size:.72rem;display:flex}.card-install{z-index:1;font-family:var(--mono);color:var(--muted);border-top:1px dashed var(--frame);text-overflow:ellipsis;white-space:nowrap;padding-top:.7rem;font-size:.74rem;position:relative;overflow:hidden}.card-install .sigil{color:var(--family)}.hero{grid-template-columns:1fr;align-items:start;gap:clamp(2rem,5vw,3.5rem);padding-block:clamp(3rem,8vw,6rem) clamp(2rem,4vw,3rem);display:grid}@media (width>=62rem){.hero{grid-template-columns:1.05fr 1fr}}.hero h1{font-size:var(--step-4);margin-bottom:1.25rem}.hero h1 .cursor{background:var(--tool);border-radius:2px;width:.5em;height:.85em;margin-left:.12em;animation:1.15s step-end infinite blink;display:inline-block;transform:translateY(.05em)}@keyframes blink{50%{opacity:0}}.hero .lede{max-width:46ch}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;display:flex}.button{font-family:var(--mono);border:1px solid var(--frame);background:var(--panel);color:var(--fg);border-radius:8px;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s;display:inline-flex}.button:hover{border-color:var(--accent);background:var(--panel-raised)}.button-primary{border-color:color-mix(in srgb, var(--family) 55%, var(--frame));color:var(--family)}.hero-aside{gap:.9rem;display:grid}.promise{font-family:var(--mono);color:var(--muted);gap:.55rem;margin:0;padding:0;font-size:.82rem;list-style:none;display:grid}.promise li{gap:.6rem;display:flex}.promise .mark{color:var(--family);flex:none}.tool-header{flex-wrap:wrap;align-items:center;gap:1.25rem;padding-block:clamp(2.5rem,5vw,4rem) 1rem;display:flex}.tool-header img.tool-icon{flex:none;width:64px;height:64px}.tool-header h1{font-size:var(--step-3);margin-bottom:.35rem}.tool-header h1 .prefix{color:var(--family)}.tool-header p{color:color-mix(in srgb, var(--fg) 85%, var(--muted));margin:0}.split{align-items:start;gap:clamp(2rem,4vw,3rem);display:grid}@media (width>=60rem){.split{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}}.panel{border:1px solid var(--frame);border-radius:var(--radius);background:var(--panel);padding:1.25rem}.panel h2,.panel h3{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.9rem;font-size:.8rem}.shots-main{border:1px solid var(--frame);border-radius:var(--radius);background:var(--ink);overflow:hidden}.shots-caption{font-family:var(--mono);color:var(--muted);border-top:1px solid var(--frame);padding:.6rem .9rem;font-size:.78rem}.shots-strip{scrollbar-width:thin;gap:.6rem;margin-top:.75rem;padding-bottom:.35rem;display:flex;overflow-x:auto}.shots-strip button{border:1px solid var(--frame);background:var(--ink);cursor:pointer;aspect-ratio:104/26;border-radius:6px;flex:0 0 8.5rem;padding:0;overflow:hidden}.shots-strip button[aria-current=true]{border-color:var(--tool)}.shots-strip img{object-fit:cover;object-position:top left;width:100%;height:100%}.picker{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.picker button{font-family:var(--mono);border:1px solid var(--frame);background:var(--panel);color:var(--muted);cursor:pointer;border-radius:7px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.8rem;transition:color .15s,border-color .15s;display:inline-flex}.picker button:hover{color:var(--fg)}.picker button[aria-selected=true]{color:var(--fg);border-color:var(--tool);background:var(--panel-raised)}.picker .dot{background:var(--family);border-radius:50%;width:6px;height:6px}.picker .dot[data-soon=true]{background:var(--soon)}.install-pane[hidden]{display:none}.install-note{color:var(--muted);margin:.75rem 0 0;font-size:.88rem}.soon-banner{color:var(--soon);background:color-mix(in srgb, var(--soon) 10%, transparent);border:1px solid color-mix(in srgb, var(--soon) 35%, var(--frame));border-radius:8px;align-items:flex-start;gap:.6rem;margin-bottom:.9rem;padding:.7rem .9rem;font-size:.88rem;display:flex}.soon-banner p{margin:0}.manual-setup>summary{color:var(--muted);cursor:pointer;padding:.35rem 0;font-size:.88rem;list-style-position:outside}.manual-setup>summary:hover{color:var(--fg)}.manual-setup>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.manual-setup .install-note{max-width:62ch;margin:.4rem 0 .8rem}.table-wrap{border:1px solid var(--frame);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--frame);vertical-align:top;padding:.6rem .9rem}thead th{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--panel-raised);font-size:.72rem}tbody tr:last-child td{border-bottom:0}td.mono,th.mono{font-family:var(--mono);font-size:.82rem}td .keycap{font-family:var(--mono);color:var(--tool);border:1px solid var(--frame);white-space:nowrap;border-bottom-width:2px;border-radius:5px;padding:.1rem .4rem;font-size:.78rem}.checklist{gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.checklist li{grid-template-columns:1.5rem 1fr;align-items:start;gap:.75rem;display:grid}.checklist .mark{font-family:var(--mono);font-weight:700;line-height:1.5}.checklist .mark[data-state=yes]{color:var(--family)}.checklist .mark[data-state=no]{color:var(--soon)}.checklist .mark[data-state=info]{color:var(--tool)}.checklist dt,.checklist .label{font-family:var(--mono);color:var(--fg);font-size:.88rem}.checklist .detail{color:var(--muted);max-width:var(--measure);margin:.15rem 0 0;font-size:.9rem}.compat h3{font-family:var(--mono);letter-spacing:-.01em;text-transform:none;color:var(--fg);margin:0;font-size:.95rem}.compat-head{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.compat .dl-inline{grid-template-columns:1fr;gap:.2rem 1rem}.compat .dl-inline dt+dd{margin-bottom:.55rem}@media (width>=34rem){.compat .dl-inline{grid-template-columns:auto 1fr;gap:.55rem 1rem}.compat .dl-inline dt+dd{margin-bottom:0}}.compat-none{color:var(--muted);font-size:.85rem}.compat-block{border-top:1px dashed var(--frame);margin-top:1.1rem;padding-top:.9rem}.compat-block h4{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .7rem;font-size:.78rem}.compat-features,.compat-notes{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.compat-features li{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.88rem;display:flex}.compat-notes li{flex-direction:column;gap:.3rem;display:flex}.compat-notes p{color:color-mix(in srgb, var(--fg) 82%, var(--muted));margin:0;font-size:.88rem}.compat-range{color:var(--soon);align-self:flex-start}.downloads td.sum{font-family:var(--mono);color:var(--muted);word-break:break-all;max-width:24rem;font-size:.7rem}.changelog{gap:1.25rem;display:grid}.release{border:1px solid var(--frame);border-radius:var(--radius);background:var(--panel);padding:1rem 1.15rem}.release-head{flex-wrap:wrap;align-items:baseline;gap:.75rem;margin-bottom:.6rem;display:flex}.release-head h3{font-size:1rem}.release-notes{font-family:var(--mono);color:var(--muted);white-space:pre-wrap;word-break:break-word;max-height:16rem;margin:0;font-size:.78rem;overflow:auto}.filters{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.filters button{font-family:var(--mono);border:1px solid var(--frame);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:.3rem .65rem;font-size:.78rem}.filters button[aria-pressed=true]{color:var(--ink);background:var(--family);border-color:var(--family)}.empty{color:var(--muted);font-family:var(--mono);font-size:.9rem}.stack>*+*{margin-top:1.5rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dl-inline{grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:0;font-size:.88rem;display:grid}.dl-inline dt{font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.dl-inline dd{margin:0}.hero-shot{aspect-ratio:3;overflow:hidden}.hero-shot img{object-fit:cover;object-position:35% center;width:100%;height:100%}.split>*,.grid>*,.hero>*,.stack>*,.hero-aside>*{min-width:0}.brand span{white-space:nowrap}
