@font-face{font-family:syne;src:url(../media/syne_500-s.p.3ognwoybw1ael.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:syne;src:url(../media/syne_600-s.p.33l8ok1ramhd6.woff2)format("woff2");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:syne;src:url(../media/syne_700-s.p.1z-2jola2kw5z.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:syne Fallback;src:local(Arial);ascent-override:86.16%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:107.36%}.syne_e9ecee43-module__FtXDLq__className{font-family:syne,syne Fallback}.syne_e9ecee43-module__FtXDLq__variable{--font-syne:"syne", "syne Fallback"}
:root{--night-0:#050e1a;--night-1:#061b37;--night-2:#0a3776;--blue:#3a8dff;--blue-deep:#0a5fd8;--blue-tint:#6ba9ff;--blue-light:#bad7ff;--on-night:#fff;--on-night-2:#ffffffc2;--on-night-3:#ffffff8f;--night-line:#ffffff1f;--night-fill:#ffffff0f;--night-add:#5ad987;--night-add-bg:#5ad98721;--night-rem:#ff8a80;--night-rem-bg:#ff8a801f;--live:#30d158;--merged:#a371f7;--paper:#f3f5f9;--paper-2:#e8ecf3;--surface:#fff;--ink:#0a1322;--ink-2:#485267;--ink-3:#626d81;--line:#0a13221a;--line-strong:#0a13222e;--accent:#0b5fd9;--accent-soft:#0b5fd91a;--on-accent:#fff;--add:#197b35;--add-bg:#e3f2e7;--rem:#c52f2b;--rem-bg:#fbe8e7;--warn:#ae5200;--warn-bg:#fff0df;--code-bg:#0a13220e;--shadow:0 1px 0 #0a13220a, 0 18px 40px -18px #0a132238;--font-display:var(--font-syne), "Syne", "SF Pro Display", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-text:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--font-code:ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace;--shell:1180px;--gutter:clamp(16px, 4vw, 40px);--band:clamp(72px, 9vw, 128px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--paper:#060b14;--paper-2:#0a111d;--surface:#0e1625;--ink:#edf2fa;--ink-2:#a8b3c6;--ink-3:#8390a6;--line:#ffffff17;--line-strong:#ffffff2b;--accent:#6ba9ff;--accent-soft:#6ba9ff24;--on-accent:#050e1a;--add:#5ad987;--add-bg:#5ad9871f;--rem:#ff8a80;--rem-bg:#ff8a801f;--warn:#ffb066;--warn-bg:#ffb0661f;--code-bg:#ffffff12;--shadow:0 1px 0 #ffffff08, 0 18px 40px -18px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 var(--font-text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow-x:hidden}img,svg{max-width:100%}a{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-underline-offset:3px}a:hover{text-decoration-color:currentColor}:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}button{font:inherit;color:inherit}code,kbd{font-family:var(--font-mono);background:var(--code-bg);border-radius:6px;padding:.12em .4em;font-size:.86em}kbd{border:1px solid var(--line-strong);background:var(--surface)}h1:where(:not(.sg *)),h2:where(:not(.sg *)),h3:where(:not(.sg *)),h4:where(:not(.sg *)){color:var(--ink);text-wrap:balance;margin:0;font-weight:700}h1:where(:not(.sg *)),h2:where(:not(.sg *)),.h3:where(:not(.sg *)){font-family:var(--font-display);font-weight:700}h3:where(:not(.sg *)),h4:where(:not(.sg *)){font-family:var(--font-text);font-weight:600}p,figure{margin:0}ul,ol{margin:0;padding:0}.shell{width:100%;max-width:calc(var(--shell) + var(--gutter) * 2);padding-inline:var(--gutter);margin:0 auto}.vh{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.mono{font-family:var(--font-code);letter-spacing:0}.eyebrow{font:400 .8125rem/1.3 var(--font-code);color:var(--ink-3);letter-spacing:.02em;align-items:center;gap:10px;display:inline-flex}.night .eyebrow{color:var(--blue-light)}.eyebrow .sep{opacity:.5}.display{letter-spacing:-.045em;font-size:clamp(2rem,1rem + 4vw,4.4rem);line-height:1.04}.h1{letter-spacing:-.04em;font-size:clamp(2.2rem,1.35rem + 3.4vw,4.1rem);line-height:1.02}.h2{letter-spacing:-.035em;font-size:clamp(1.95rem,1.2rem + 2.8vw,3.4rem);line-height:1.04}.h3{letter-spacing:-.02em;font-size:1.375rem;line-height:1.2}.lede{color:var(--ink-2);max-width:60ch;font-size:clamp(1.0625rem,.98rem + .4vw,1.25rem);line-height:1.55}.night h1,.night h2,.night h3{color:var(--on-night)}.night .lede{color:var(--on-night-2)}.fine{color:var(--ink-3);font-size:.875rem}.night .fine{color:var(--on-night-3)}.prose{max-width:68ch;color:var(--ink-2);gap:14px;display:grid}.prose strong{color:var(--ink);font-weight:600}.prose ul,.prose ol{gap:8px;padding-left:1.25em;display:grid}.prose li::marker{color:var(--ink-3)}.btn{min-height:46px;font:600 .9375rem/1 var(--font-text);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:9px;padding:0 22px;text-decoration:none;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn svg{flex:none;width:17px;height:17px}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{border-color:var(--line-strong);color:var(--ink);background:0 0}.btn.ghost:hover{background:var(--code-bg)}.night .btn.primary{background:var(--on-night);color:var(--night-0)}.night .btn.primary:hover{background:var(--blue-light);filter:none}.night .btn.ghost{color:var(--on-night);border-color:#ffffff47}.night .btn.ghost:hover{background:var(--night-fill)}.btn.small{min-height:34px;padding:0 14px;font-size:.8125rem}.cta-row{flex-wrap:wrap;align-items:center;gap:12px 14px;display:flex}.cta-row .fine{flex-basis:100%}@media (min-width:760px){.cta-row .fine{flex-basis:auto;margin-left:6px}}.night{isolation:isolate;color:var(--on-night);background:linear-gradient(162deg, var(--night-0) 0%, var(--night-1) 48%, var(--night-2) 100%);position:relative;overflow:hidden}.night:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(70% 90% at 0 100%,#0a5fd842,#0000 62%),radial-gradient(80% 90% at 100% 100%,#3a8dff4d,#0000 60%);position:absolute;inset:0}.night:after{content:"";z-index:-1;pointer-events:none;background-image:radial-gradient(#ffffff1a 1px,#0000 1.3px);background-position:8px 8px;background-size:16px 16px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0000 72%);mask-image:linear-gradient(#000 0%,#0000 72%)}.night a:not(.btn){color:var(--blue-light)}.sitebar{top:env(safe-area-inset-top,0px);z-index:50;height:64px;margin-bottom:-64px;transition:background .2s,box-shadow .2s;position:sticky}main[data-tone=paper]{padding-top:64px}.sitebar .row{align-items:center;gap:22px;min-height:64px;display:flex}.sitebar[data-tone=paper]{background:color-mix(in srgb, var(--paper) 84%, transparent);-webkit-backdrop-filter:saturate(1.6)blur(18px);backdrop-filter:saturate(1.6)blur(18px);box-shadow:0 1px 0 var(--line)}.sitebar[data-tone=night]{color:var(--on-night);background:0 0}.sitebar[data-tone=night].is-stuck{-webkit-backdrop-filter:saturate(1.4)blur(18px);backdrop-filter:saturate(1.4)blur(18px);box-shadow:0 1px 0 var(--night-line);background:#050e1ac7}.brand{color:inherit;flex:none;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand .appicon{width:30px;height:30px;box-shadow:0 0 0 .5px #ffffff40,0 4px 12px #0a5fd859}.wordmark{font:700 1.25rem/1 var(--font-display);letter-spacing:-.02em}.sitebar nav{align-items:center;gap:4px;margin-left:auto;display:flex}.sitebar nav a{color:inherit;opacity:.84;border-radius:999px;padding:8px 12px;font-size:.9375rem;font-weight:500;text-decoration:none}.sitebar nav a:hover,.sitebar nav a[aria-current=page]{opacity:1;background:var(--code-bg)}.sitebar[data-tone=night] nav a:hover,.sitebar[data-tone=night] nav a[aria-current=page]{background:var(--night-fill)}.sitebar .btn{min-height:38px;padding:0 16px;font-size:.875rem}.sitebar[data-tone=night] .btn.primary{background:var(--on-night);color:var(--night-0)}.sitebar[data-tone=night] .btn.primary:hover{background:var(--blue-light);filter:none}.menu-btn{border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:999px;min-height:38px;margin-left:auto;padding:0 14px;font-size:.875rem;font-weight:600;display:none}.sitebar[data-tone=night] .menu-btn{border-color:#ffffff4d}@media (max-width:820px){.sitebar nav{left:var(--gutter);right:var(--gutter);background:var(--surface);color:var(--ink);box-shadow:var(--shadow), 0 0 0 1px var(--line);border-radius:16px;flex-direction:column;align-items:stretch;padding:8px;display:none;position:absolute;top:60px}.sitebar nav.open{display:flex}.sitebar nav a{opacity:1;padding:12px 14px}.sitebar[data-tone=night] nav a:hover{background:var(--code-bg)}.menu-btn{align-items:center;display:inline-flex}.sitebar .row>.btn{display:none}}.path{font:400 .8125rem/1.4 var(--font-code);color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.path a{color:var(--ink-3);text-decoration:none}.path a:hover{color:var(--accent)}.path .slash{opacity:.45}.path .here{color:var(--ink)}.night .path,.night .path a{color:var(--on-night-3)}.night .path .here{color:var(--on-night)}.night code{background:var(--night-fill);color:var(--on-night)}.hero{padding-block:calc(64px + clamp(36px,6vw,72px)) 0}.hero .shell{gap:26px;display:grid}.hero-diff{text-wrap:pretty;gap:4px;margin-top:6px;display:grid}.hero-diff .dl{border-radius:10px;grid-template-columns:1.1ch minmax(0,1fr);align-items:baseline;column-gap:.32em;margin-left:-.12em;padding:.06em .16em .08em .12em;display:grid;position:relative}.hero-diff .g{font-family:var(--font-code);font-weight:400}.hero-diff .rem{color:var(--on-night-3);background:var(--night-rem-bg)}.hero-diff .rem .g{color:var(--night-rem)}.hero-diff .rem .t{-webkit-text-decoration:line-through #ff8a8099;text-decoration:line-through #ff8a8099;text-decoration-thickness:.05em}.hero-diff .add{color:var(--on-night)}.hero-diff .add:before{content:"";background:var(--night-add-bg);transform-origin:0;z-index:-1;border-radius:10px;animation:1.1s cubic-bezier(.2,.7,.2,1) .25s both sweep;position:absolute;inset:0}.hero-diff .add .g{color:var(--night-add)}.hero-diff .add .t em{background:linear-gradient(90deg, var(--blue-light), var(--blue-tint));color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}@media (min-width:620px){.hero-diff{font-size:min(clamp(2rem, 1rem + 4vw, 4.4rem), calc(min(100vw - var(--gutter) * 2, var(--shell)) / 16.6))}.hero-diff .t{white-space:nowrap}}@keyframes sweep{0%{opacity:.4;transform:scaleX(.02)}to{opacity:1;transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.hero-diff .add:before{animation:none}}.climb{margin-top:clamp(18px,3vw,34px)}.climb-head{border-bottom:1px solid var(--night-line);flex-wrap:wrap;align-items:center;gap:10px 16px;padding-bottom:12px;display:flex}.climb-head .t{font:600 .9375rem/1.2 var(--font-text);color:var(--on-night)}.chip{min-height:26px;font:500 .8125rem/1 var(--font-text);background:var(--night-fill);color:var(--on-night-2);box-shadow:inset 0 0 0 1px var(--night-line);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.chip.kw{color:var(--on-night);font-family:var(--font-code)}.legend{color:var(--on-night-3);flex-wrap:wrap;gap:6px 14px;margin-left:auto;font-size:.8125rem;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{background:var(--blue-light);border-radius:50%;width:9px;height:9px}.legend i.o{box-shadow:inset 0 0 0 1.5px var(--blue-light);background:0 0}.climb-stage{position:relative}.climb-svg{width:100%;display:block;overflow:visible}.climb-svg .grid{stroke:#ffffff12;stroke-width:1px}.climb-svg .tick{fill:var(--on-night-3);font:500 11px var(--font-text);font-variant-numeric:tabular-nums}.climb-svg .month{fill:var(--on-night-3);font:500 11px var(--font-text)}.climb-svg .pole{stroke:#fff3;stroke-width:1px}.climb-svg .pole.sel{stroke:#bad7ffbf}.climb-svg .line{fill:none;stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.climb-svg .glow{fill:none;stroke-width:9px;opacity:.45}.climb-svg .area{opacity:.16}.climb-svg .rdot{fill:var(--night-1);stroke:var(--blue-light);stroke-width:2px}.climb-svg .rdot.build{fill:var(--night-1);stroke:#ffffff8c}.climb-svg .base{stroke:#ffffff59;stroke-width:1.5px}.climb-svg .out{fill:var(--night-rem)}.climb-svg .outline{stroke:var(--night-rem);stroke-width:1.5px;stroke-dasharray:2 4;fill:none}.climb-flags{pointer-events:none;position:absolute;inset:0}.cflag{pointer-events:auto;cursor:pointer;height:24px;font:400 .75rem/1 var(--font-code);white-space:nowrap;background:var(--on-night);color:var(--night-1);border:0;border-radius:7px;align-items:center;gap:5px;padding:0 9px;transition:background .15s,color .15s,transform .15s;display:inline-flex;position:absolute;transform:translate(-50%);box-shadow:0 6px 16px #0000004d}.cflag.build{color:var(--on-night-2);background:0 0;box-shadow:inset 0 0 0 1px #fff6}.cflag:hover{transform:translate(-50%)translateY(-1px)}.cflag[aria-pressed=true]{background:var(--blue);color:#fff;box-shadow:0 0 0 4px #3a8dff47,0 8px 18px #00000059}.cflag svg{flex:none;width:12px;height:12px;margin-left:-1px}.climb-end{pointer-events:none;position:absolute;transform:translate(-50%,-50%)}.climb-end .appicon{width:40px;height:40px;animation:3.2s ease-in-out infinite bob;box-shadow:0 0 0 3px #bad7ffd9,0 0 0 9px #3a8dff38,0 10px 26px #00000073}.climb-end b{font:700 .9375rem/1 var(--font-text);color:var(--on-night);position:absolute;top:-30px;left:50%;transform:translate(-50%)}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.climb-end .appicon{animation:none}}.climb-foot{border-top:1px solid var(--night-line);flex-wrap:wrap;justify-content:space-between;gap:6px 18px;padding:12px 0 0;display:flex}.commit-card{z-index:3;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#061b37eb;border-radius:14px;gap:11px;width:min(390px,100%);padding:14px 16px 16px;display:grid;position:absolute;box-shadow:inset 0 0 0 1px #bad7ff33,0 24px 50px #00000073}.commit-card.stack{width:100%;margin-top:14px;position:relative}.cc-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.cc-head .v{font:700 1.125rem/1 var(--font-code);color:var(--on-night)}.cc-head .d{color:var(--on-night-3);font-size:.8125rem}.cc-head .kind{color:var(--on-night-3);margin-left:auto;font-size:.75rem}.cc-move{background:var(--night-fill);color:var(--on-night-2);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:9px 11px;font-size:.875rem;display:flex}.cc-move .k{font-family:var(--font-code);color:var(--on-night)}.cc-move .r{font-variant-numeric:tabular-nums;color:var(--on-night);margin-left:auto;font-weight:600}.delta{font-variant-numeric:tabular-nums;align-items:center;gap:3px;font-weight:600;display:inline-flex}.delta.up{color:var(--night-add)}.delta.down{color:var(--night-rem)}.delta.flat{color:var(--on-night-3)}.cc-field{grid-template-columns:84px minmax(0,1fr);align-items:start;gap:8px;font-size:.8125rem;display:grid}.cc-field .f{color:var(--on-night-3);padding-top:3px}.diffchips{flex-wrap:wrap;gap:5px;display:flex}.dchip{min-height:22px;font:400 .75rem/1 var(--font-code);border-radius:6px;align-items:center;gap:3px;padding:0 7px;display:inline-flex}.dchip.add{background:var(--night-add-bg);color:var(--night-add)}.dchip.rem{background:var(--night-rem-bg);color:var(--night-rem);-webkit-text-decoration:line-through #ff8a8099;text-decoration:line-through #ff8a8099}.wdiff{color:var(--on-night-2);line-height:1.5}.wdiff del{color:var(--night-rem);background:var(--night-rem-bg);border-radius:4px;padding:0 3px;text-decoration-color:#ff8a8099}.wdiff ins{color:var(--night-add);background:var(--night-add-bg);border-radius:4px;padding:0 3px;text-decoration:none}.iconswap{color:var(--on-night-3);align-items:center;gap:8px;display:inline-flex}.iconswap .appicon{width:26px;height:26px;box-shadow:0 0 0 .5px #ffffff4d}.thumbs{gap:4px;display:inline-flex}.thumbs img,.thumbs svg{border-radius:5px;box-shadow:0 0 0 .5px #ffffff4d}.thumbs.gone img,.thumbs.gone svg{opacity:.5}.cc-quiet{color:var(--on-night-3);font-size:.8125rem}.band{padding-block:var(--band)}.band.tint{background:var(--paper-2)}.band-head{gap:14px;max-width:760px;display:grid}.split{grid-template-columns:minmax(0,1fr);gap:clamp(28px,4vw,56px);display:grid}@media (min-width:980px){.split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}}@media (min-width:980px) and (max-width:1239px){.layout .split{grid-template-columns:minmax(0,1fr)}}@media (min-width:1240px){.layout .split{grid-template-columns:minmax(0,1fr) minmax(0,.95fr)}}.tour-tabs{scrollbar-width:none;background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--line);border-radius:16px;gap:6px;width:fit-content;max-width:100%;margin-top:30px;padding:4px;display:flex;overflow-x:auto}.band.tint .tour-tabs{background:var(--surface)}.tour-tabs::-webkit-scrollbar{display:none}.tour-tab{text-align:left;cursor:pointer;color:var(--ink-2);background:0 0;border:0;border-radius:12px;flex:none;gap:2px;padding:9px 16px 10px;display:grid}.tour-tab .v{font:400 .75rem/1 var(--font-code);color:var(--ink-3)}.tour-tab .n{font:600 .9375rem/1.2 var(--font-text)}.tour-tab[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0a132214, 0 0 0 1px var(--line)}.band.tint .tour-tab[aria-selected=true]{background:var(--paper-2)}.tour-tab[aria-selected=true] .v{color:var(--accent)}.tour-body{gap:22px;margin-top:26px;display:grid}@media (min-width:900px){.tour-body{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:end}}.tour-copy{gap:10px;display:grid}.tour-copy .h3{letter-spacing:-.03em;font-size:clamp(1.4rem,1.1rem + 1vw,1.9rem)}.tour-copy p{color:var(--ink-2);max-width:52ch}.ticks{gap:9px;list-style:none;display:grid}.ticks li{color:var(--ink-2);grid-template-columns:18px minmax(0,1fr);gap:10px;font-size:.9688rem;display:grid}.ticks li:before{content:"+";font-family:var(--font-code);color:var(--add)}.tour-stage{isolation:isolate;width:min(calc(100vw - var(--gutter) * 2), 1320px);margin-top:18px;margin-left:calc(50% - min(50vw - var(--gutter), 660px));position:relative}.tour-stage:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(75% 65% at 50% 55%, color-mix(in srgb, var(--blue) 34%, transparent), color-mix(in srgb, var(--blue-tint) 16%, transparent) 70%, transparent);filter:blur(40px);border-radius:48px;position:absolute;inset:4% -4% -3%}.tour-scale{transform-origin:0 0;position:absolute;top:0;left:0}.tour-scale .sg-win{box-shadow:0 50px 100px -30px #0a132280,0 18px 40px -18px #0a13224d,0 0 0 .5px #0a132238}@media (prefers-color-scheme:dark){.tour-stage:before{background:radial-gradient(75% 65% at 50% 55%, color-mix(in srgb, var(--blue) 50%, transparent), color-mix(in srgb, var(--blue-deep) 24%, transparent) 70%, transparent)}.tour-scale .sg-win{box-shadow:0 50px 110px -30px #000000d9,0 0 0 .5px #ffffff29}}.tour-note{margin-top:4px}.facts{background:var(--line);box-shadow:inset 0 0 0 1px var(--line);border-radius:18px;gap:1px;margin-top:40px;display:grid;overflow:hidden}@media (min-width:760px){.facts{grid-template-columns:repeat(3,minmax(0,1fr))}}.fact{background:var(--surface);align-content:start;gap:8px;padding:22px 22px 24px;display:grid}.fact .k{font:400 .75rem/1.2 var(--font-code);color:var(--ink-3)}.fact h3{letter-spacing:-.005em;font-size:1.0625rem}.fact p{color:var(--ink-2);font-size:.9375rem}.fact .tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.fact .tags span{background:var(--code-bg);color:var(--ink-2);border-radius:6px;padding:3px 8px;font-size:.75rem}.term{background:var(--night-0);color:var(--on-night-2);box-shadow:0 0 0 1px #ffffff0f, var(--shadow);font:400 .875rem/1.7 var(--font-mono);border-radius:16px;overflow:hidden}.term .bar{border-bottom:1px solid var(--night-line);align-items:center;gap:7px;padding:10px 14px;display:flex}.term .bar i{background:#ffffff29;border-radius:50%;width:11px;height:11px}.term .bar span{color:var(--on-night-3);text-overflow:ellipsis;white-space:nowrap;margin-left:8px;font-size:.75rem;overflow:hidden}.term pre{white-space:pre-wrap;word-break:break-word;font:inherit;margin:0;padding:16px 18px 20px}.term .p{color:var(--blue-tint)}.term .c{color:var(--on-night-3)}.term .cur{vertical-align:-.18em;background:var(--blue-light);width:.6em;height:1.1em;animation:1.1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.term .cur{animation:none}}.routes{gap:12px;margin-top:18px;display:grid}.route{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:14px;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:12px;padding:14px 16px;display:grid}.route .ic{width:22px;height:22px;font:400 .75rem/1 var(--font-code);border-radius:7px;place-items:center;display:grid}.route .ic.local{background:var(--accent-soft);color:var(--accent)}.route .ic.apple{background:var(--add-bg);color:var(--add)}.route .ic.svc{background:var(--warn-bg);color:var(--warn)}.route .ic.never{background:var(--rem-bg);color:var(--rem)}.route b{color:var(--ink);font-size:.9688rem;font-weight:600;display:block}.route span{color:var(--ink-2);font-size:.9063rem}.pro-band .shell{gap:clamp(28px,4vw,56px);display:grid}@media (min-width:980px){.pro-band .shell{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}.merge-art{margin-top:26px}.merge-svg{width:100%;display:block;overflow:visible}.merge-svg .grid{stroke:#ffffff12}.merge-svg .main{stroke:#ffffff47;stroke-width:2px;fill:none;stroke-linecap:round}.merge-svg .merged{stroke:var(--blue-light);stroke-width:2.5px;fill:none;stroke-linecap:round}.merge-svg .n{fill:var(--night-1);stroke:#fff6;stroke-width:1.5px}.merge-svg .n.on{fill:var(--blue-light);stroke:var(--blue-light)}.merge-svg .n.pro{fill:var(--blue-tint);stroke:var(--blue-tint)}.merge-svg .flag rect{fill:var(--on-night)}.merge-svg .flag text{fill:var(--night-1);font:600 11.5px var(--font-text)}.merge-svg .flag path{stroke:var(--night-1);fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.merge-svg .pole{stroke:#ffffff59}.merge-svg .halo{fill:#3a8dff4d}.merge-svg .core{fill:var(--on-night)}.merge-svg .chk{stroke:var(--night-1);stroke-width:2.2px;fill:none;stroke-linecap:round;stroke-linejoin:round}.prodiff{box-shadow:inset 0 0 0 1px var(--night-line);background:#050e1a73;border-radius:16px;margin-top:26px;overflow:hidden}.prodiff .dh{border-bottom:1px solid var(--night-line);font:400 .8125rem/1 var(--font-code);color:var(--on-night-2);align-items:center;gap:10px;padding:11px 16px;display:flex}.prodiff .dh .cnt{gap:8px;margin-left:auto;display:inline-flex}.prodiff .dh .a{color:var(--night-add)}.prodiff .dh .r{color:var(--night-rem)}.prodiff .dl{border-top:1px solid #ffffff0a;grid-template-columns:22px minmax(0,1fr);gap:8px;padding:10px 16px 11px 12px;display:grid}.prodiff .dl:first-of-type{border-top:0}.prodiff .dl .g{font-family:var(--font-code);text-align:center}.prodiff .dl .t{color:var(--on-night);font-weight:600;display:block}.prodiff .dl .d{color:var(--on-night-3);margin-top:1px;font-size:.875rem;display:block}.prodiff .dl.add{background:var(--night-add-bg)}.prodiff .dl.add .g{color:var(--night-add)}.prodiff .dl.rem{background:var(--night-rem-bg)}.prodiff .dl.rem .g{color:var(--night-rem)}.prodiff .dl.rem .t{color:var(--on-night-2);-webkit-text-decoration:line-through #ff8a8099;text-decoration:line-through #ff8a8099}.qgrid{gap:12px;margin-top:34px;display:grid}@media (min-width:760px){.qgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}.qcard{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:inherit;border-radius:18px;align-content:start;gap:8px;padding:20px 22px 22px;text-decoration:none;transition:box-shadow .15s,transform .15s;display:grid}.qcard:hover{box-shadow:inset 0 0 0 1px var(--accent), var(--shadow);transform:translateY(-1px)}.qcard .q{font:600 1.0625rem/1.4 var(--font-text);letter-spacing:-.005em;color:var(--ink)}.qcard .a{color:var(--ink-2);font-size:.9375rem}.qcard .go{font:400 .75rem/1 var(--font-code);color:var(--accent)}.closing .shell{gap:24px;display:grid}.first-commit{width:100%;margin-top:18px;display:block;overflow:visible}.first-commit .past{stroke:#ffffff47;stroke-width:2px;stroke-dasharray:2 7;stroke-linecap:round}.first-commit .now{stroke:var(--blue-light);stroke-width:2.5px;stroke-linecap:round}.first-commit .lbl{fill:var(--on-night-3);font:500 12px var(--font-text)}.first-commit .lbl.b{fill:var(--on-night);font-weight:600}.first-commit .snap{fill:var(--blue-light)}.first-commit .halo{fill:#3a8dff47}.first-commit .core{fill:var(--on-night)}.foot{background:var(--night-0);color:var(--on-night-2);padding-block:56px calc(40px + env(safe-area-inset-bottom,0px))}.foot .cols{gap:28px;display:grid}@media (min-width:760px){.foot .cols{grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr))}}.foot h4{font:400 .75rem/1 var(--font-code);color:var(--on-night-3);letter-spacing:.02em;margin-bottom:12px}.foot ul{gap:8px;list-style:none;display:grid}.foot a{color:var(--on-night-2);font-size:.9375rem;text-decoration:none}.foot a:hover{color:var(--on-night)}.foot .tag{color:var(--on-night-3);max-width:34ch;margin-top:10px;font-size:.9375rem}.foot .legal{border-top:1px solid var(--night-line);color:var(--on-night-3);gap:6px;margin-top:40px;padding-top:20px;font-size:.8125rem;display:grid}.foot .brand{color:var(--on-night)}.page-head{gap:16px;padding-block:clamp(36px,6vw,72px) clamp(24px,4vw,40px);display:grid}.page-head .lede{max-width:58ch}.docmeta{color:var(--ink-3);flex-wrap:wrap;gap:8px 18px;font-size:.875rem;display:flex}.docmeta b{color:var(--ink);font-weight:600}.layout{padding-bottom:var(--band);grid-template-columns:minmax(0,1fr);gap:34px;display:grid}@media (min-width:980px){.layout{grid-template-columns:240px minmax(0,1fr);gap:56px}}.toc{display:none}@media (min-width:980px){.toc{top:calc(env(safe-area-inset-top,0px) + 88px);scrollbar-width:thin;align-self:start;max-height:calc(100vh - 120px);display:block;position:sticky;overflow:auto}}.toc h4{font:400 .75rem/1 var(--font-code);color:var(--ink-3);margin-bottom:12px}.toc ol,.toc ul{gap:2px;list-style:none;display:grid}.toc a{color:var(--ink-2);border-radius:8px;justify-content:space-between;gap:10px;padding:6px 10px;font-size:.875rem;line-height:1.35;text-decoration:none;display:flex}.toc a:hover{background:var(--code-bg);color:var(--ink)}.toc a.is-on{background:var(--accent-soft);color:var(--accent);font-weight:600}.toc a .n{font-family:var(--font-code);color:var(--ink-3);font-size:.75rem}.ask{background:var(--surface);max-width:720px;min-height:58px;box-shadow:inset 0 0 0 1px var(--line-strong), var(--shadow);border-radius:16px;align-items:center;gap:12px;padding:0 18px;display:flex}.ask:focus-within{box-shadow:inset 0 0 0 2px var(--accent), var(--shadow)}.ask .p{font:400 1rem/1 var(--font-code);color:var(--accent)}.ask input{min-width:0;height:56px;color:var(--ink);font:400 1.0625rem/1 var(--font-text);background:0 0;border:0;outline:0;flex:1}.ask input::placeholder{color:var(--ink-3)}.ask .count{color:var(--ink-3);white-space:nowrap;font-size:.8125rem}.faq-sec{gap:14px;scroll-margin-top:96px;display:grid}.faq-sec+.faq-sec{margin-top:44px}.faq-sec h2{letter-spacing:-.025em;font-size:1.5rem}.qa-list{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:18px;overflow:hidden}.qa{border-top:1px solid var(--line);scroll-margin-top:96px}.qa:first-child{border-top:0}.qa summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:17px 20px;list-style:none;display:grid}.qa summary::-webkit-details-marker{display:none}.qa summary:hover{background:var(--code-bg)}.qa summary h3{font:600 1.0313rem/1.4 var(--font-text);letter-spacing:0}.qa summary .chev{width:18px;height:18px;color:var(--ink-3);transition:transform .15s}.qa[open] summary .chev{transform:rotate(180deg)}.qa .ans{color:var(--ink-2);gap:12px;max-width:74ch;padding:0 20px 20px;display:grid}.qa .ans ul,.qa .ans ol{gap:6px;padding-left:1.3em;display:grid}.qa .ans strong{color:var(--ink);font-weight:600}.qa .link{cursor:pointer;font:400 .75rem/1 var(--font-code);color:var(--ink-3);background:0 0;border:0;justify-self:start;align-items:center;gap:6px;padding:4px 0;display:inline-flex}.qa .link:hover{color:var(--accent)}mark{background:color-mix(in srgb, var(--blue) 26%, transparent);color:inherit;border-radius:3px;padding:0 1px}.note{border-radius:12px;grid-template-columns:20px minmax(0,1fr);gap:10px;padding:12px 14px;font-size:.9375rem;line-height:1.5;display:grid}.note svg{width:18px;height:18px;margin-top:2px}.note.warn{background:var(--rem-bg);color:var(--ink)}.note.warn svg{color:var(--rem)}.note.info{background:var(--accent-soft);color:var(--ink)}.note.info svg{color:var(--accent)}.faq-empty{color:var(--ink-2);padding:26px 20px}.helpcard{background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--line);border-radius:20px;gap:14px;margin-top:52px;padding:24px;display:grid}@media (min-width:760px){.helpcard{grid-template-columns:minmax(0,1fr) auto;align-items:center}}.helpcard h2{letter-spacing:-.025em;font-size:1.5rem}.helpcard p{color:var(--ink-2);margin-top:6px}.copybox{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-strong);border-radius:999px;align-items:center;gap:4px;max-width:100%;padding:4px 4px 4px 14px;display:inline-flex}.copybox span{font:400 .9375rem/1 var(--font-mono);color:var(--ink);-webkit-user-select:all;user-select:all;text-overflow:ellipsis;overflow:hidden}.copybox button{background:var(--accent);min-height:34px;color:var(--on-accent);cursor:pointer;border:0;border-radius:999px;flex:none;padding:0 14px;font-size:.8125rem;font-weight:600}.builder{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line), var(--shadow);border-radius:24px;gap:18px;padding:clamp(18px,3vw,28px);display:grid}@media (min-width:1240px){.builder{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}}@media (min-width:640px) and (max-width:979px){.builder{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}}.builder h2{letter-spacing:-.025em;font-size:1.5rem}.pick{gap:10px;margin-top:14px;display:grid}.pick label{box-shadow:inset 0 0 0 1px var(--line-strong);cursor:pointer;border-radius:14px;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:12px;padding:14px 16px;transition:box-shadow .15s,background .15s;display:grid}.pick label:hover{background:var(--code-bg)}.pick label.on{box-shadow:inset 0 0 0 2px var(--accent);background:var(--accent-soft)}.pick label.fixed{cursor:default}.pick input{width:20px;height:20px;accent-color:var(--accent);margin:2px 0 0}.pick b{color:var(--ink);font-weight:600;display:block}.pick span{color:var(--ink-2);margin-top:2px;font-size:.9063rem;display:block}.setup{isolation:isolate;color:var(--on-night);background:linear-gradient(160deg, var(--night-0), var(--night-1) 55%, var(--night-2));border-radius:18px;align-content:start;gap:14px;padding:22px;display:grid;position:relative;overflow:hidden}.setup .k{font:400 .75rem/1 var(--font-code);color:var(--blue-light)}.setup h3{font-family:var(--font-display);color:var(--on-night);letter-spacing:-.03em;font-size:clamp(1.4rem,1.15rem + 1vw,1.9rem);font-weight:700}.setup p{color:var(--on-night-2);font-size:.9688rem}.keys{gap:10px;display:grid}.keyrow{background:var(--night-fill);box-shadow:inset 0 0 0 1px var(--night-line);border-radius:14px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:12px;padding:12px 14px;display:grid}.keyrow .kic{width:34px;height:34px;color:var(--blue-light);background:#3a8dff2e;border-radius:10px;place-items:center;display:grid}.keyrow .kic svg{width:18px;height:18px}.keyrow b{color:var(--on-night);font-weight:600;display:block}.keyrow span{color:var(--on-night-3);font-size:.875rem;display:block}.keyrow .role{flex-wrap:wrap;gap:6px;margin-top:6px;display:inline-flex}.keyrow .role i{background:var(--on-night);color:var(--night-1);border-radius:999px;padding:3px 9px;font-size:.8125rem;font-style:normal;font-weight:600}.keyrow .role i.alt{color:var(--on-night-2);background:0 0;font-weight:500;box-shadow:inset 0 0 0 1px #ffffff4d}.setup .or{color:var(--on-night-3);font-size:.875rem}.tablewrap{box-shadow:inset 0 0 0 1px var(--line);background:var(--surface);border-radius:18px;overflow-x:auto}.roles-table{border-collapse:collapse;width:100%;min-width:560px;font-size:.9375rem}.roles-table th,.roles-table td{text-align:left;border-top:1px solid var(--line);padding:13px 16px}.roles-table thead th{font:600 .8125rem/1.3 var(--font-text);color:var(--ink-3);vertical-align:bottom;border-top:0}.roles-table thead th small{font-weight:400;display:block}.roles-table td.c,.roles-table th.c{text-align:center}.roles-table tbody th{color:var(--ink);font-weight:600}.roles-table tbody tr.fit{background:var(--accent-soft)}.roles-table tbody tr.fit th:after{content:"your setup";font:400 .6875rem/1 var(--font-code);color:var(--accent);vertical-align:2px;margin-left:8px}.yes,.no{border-radius:50%;place-items:center;width:24px;height:24px;display:inline-grid}.yes{background:var(--add-bg);color:var(--add)}.no{color:var(--ink-3)}.yes svg{width:13px;height:13px}.cols3{gap:14px;display:grid}@media (min-width:760px){.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}}.cell{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:18px;align-content:start;gap:8px;padding:20px;display:grid}.cell .k{font:400 .75rem/1 var(--font-code);color:var(--ink-3)}.cell h3{letter-spacing:-.005em;font-size:1.0625rem}.cell p{color:var(--ink-2);font-size:.9375rem}.steps{counter-reset:s;gap:14px;list-style:none;display:grid}.steps li{counter-increment:s;color:var(--ink-2);grid-template-columns:34px minmax(0,1fr);gap:12px;display:grid}.steps li:before{content:counter(s);background:var(--accent-soft);width:30px;height:30px;color:var(--accent);font:400 .8125rem/1 var(--font-code);border-radius:50%;place-items:center;display:grid}.steps li b{color:var(--ink);font-weight:600}.asc{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-strong), var(--shadow);font:400 .875rem/1.4 var(--font-text);border-radius:16px;overflow:hidden}.asc .hd{border-bottom:1px solid var(--line);color:var(--ink);padding:14px 18px;font-weight:600}.asc .bd{gap:12px;padding:16px 18px 18px;display:grid}.asc .fld{gap:6px;display:grid}.asc .fld>span{color:var(--ink-3);font-size:.8125rem}.asc .in{min-height:34px;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--ink);background:var(--paper);border-radius:8px;justify-content:space-between;align-items:center;padding:0 12px;display:flex}.asc .in .ch{color:var(--ink-3);font-size:.75rem}.asc .ft{justify-content:flex-end;gap:8px;padding:0 18px 16px;display:flex}.asc .ft span{box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--ink-2);border-radius:8px;padding:7px 14px;font-size:.8125rem;font-weight:600}.asc .ft span.go{background:var(--accent);color:var(--on-accent);box-shadow:none}.asc-cap{margin-top:10px}.sec{gap:18px;padding-top:52px;scroll-margin-top:96px;display:grid}.sec:first-child{padding-top:0}.sec>.h3{letter-spacing:-.03em;font-size:1.625rem}.summary{gap:12px;margin-bottom:44px;display:grid}@media (min-width:760px){.summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.sum{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:18px;align-content:start;gap:8px;padding:18px 20px 20px;display:grid}.sum .k{font:400 .75rem/1 var(--font-code);color:var(--ink-3);align-items:center;gap:8px;display:inline-flex}.sum .k i{border-radius:50%;width:8px;height:8px}.sum h3{letter-spacing:-.005em;font-size:1.0625rem}.sum p,.sum li{color:var(--ink-2);font-size:.9375rem}.sum ul{gap:5px;padding-left:1.15em;display:grid}.changes{box-shadow:inset 0 0 0 1px var(--line);background:var(--surface);border-radius:18px;margin-bottom:44px;overflow:hidden}.changes .dh{border-bottom:1px solid var(--line);font:400 .8125rem/1.3 var(--font-code);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 18px;display:flex}.changes .dh .cnt{gap:8px;margin-left:auto;display:inline-flex}.changes .dh .a{color:var(--add)}.changes .dh .r{color:var(--rem)}.changes .dl{grid-template-columns:26px minmax(0,1fr);gap:6px;padding:10px 18px 11px 12px;font-size:.9375rem;line-height:1.5;display:grid}.changes .dl .g{font-family:var(--font-code);text-align:center}.changes .dl.add{background:var(--add-bg);color:var(--ink)}.changes .dl.add .g{color:var(--add)}.changes .dl.rem{background:var(--rem-bg);color:var(--ink-2)}.changes .dl.rem .g{color:var(--rem)}.doc{counter-reset:clause;grid-template-columns:minmax(0,1fr);gap:0;display:grid}.clause{counter-increment:clause;grid-template-columns:minmax(0,1fr);gap:12px;padding-top:40px;scroll-margin-top:96px;display:grid}.clause:first-child{padding-top:0}.clause>h2{letter-spacing:-.025em;grid-template-columns:2.4em minmax(0,1fr);align-items:baseline;font-size:1.4375rem;display:grid}.clause>h2:before{content:counter(clause);font:400 .9375rem/1 var(--font-code);color:var(--ink-3)}.clause>:not(h2){margin-left:2.4em}@media (max-width:560px){.clause>h2{grid-template-columns:1.8em minmax(0,1fr)}.clause>:not(h2){margin-left:0}}.clause p,.clause li{color:var(--ink-2);max-width:70ch}.clause ul,.clause ol{gap:7px;padding-left:1.25em;display:grid}.clause strong{color:var(--ink);font-weight:600}.clause code{overflow-wrap:anywhere}.clause .caps{text-transform:none}.dtable{border-collapse:collapse;width:100%;min-width:560px;font-size:.9375rem}.dtable th,.dtable td{text-align:left;vertical-align:top;border-top:1px solid var(--line);color:var(--ink-2);padding:11px 14px}.dtable thead th{color:var(--ink-3);border-top:0;font-size:.8125rem;font-weight:600}.dtable tbody th{color:var(--ink);font-weight:600}.placeholder{background:var(--warn-bg);color:var(--warn);border-radius:5px;padding:0 5px;font-weight:600}.lost{min-height:0}.lost .shell{gap:22px;padding-block:calc(64px + clamp(40px,6vw,88px)) clamp(48px,7vw,88px);display:grid}.lost .code{font:700 clamp(4.5rem, 2rem + 12vw, 11rem)/.85 var(--font-display);letter-spacing:-.06em;color:#0000;-webkit-text-stroke:1.5px #bad7ff8c}.lost-svg{width:100%;margin-top:8px;display:block;overflow:visible}.lost-svg .grid{stroke:#ffffff12}.lost-svg .tick{fill:var(--on-night-3);font:500 11px var(--font-text)}.lost-svg .line{fill:none;stroke:var(--blue-light);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.lost-svg .base{stroke:#ffffff59;stroke-width:1.5px}.lost-svg .out{fill:var(--night-rem)}.lost-svg .outline{stroke:var(--night-rem);stroke-width:1.5px;stroke-dasharray:2 4;fill:none}.lost-svg .note{fill:var(--on-night);font:600 13px var(--font-text)}.lost-svg .note2{fill:var(--on-night-3);font:500 12px var(--font-text)}.lost pre{font:400 .875rem/1.6 var(--font-mono);color:var(--on-night-3);white-space:pre-wrap;word-break:break-word;margin:0}.lost pre b{color:var(--night-rem);font-weight:400}.appicon{border-radius:22.5%;flex:none;display:block;overflow:hidden}.appicon svg,.appicon img{width:100%;height:100%;display:block}.climb-stage{min-height:270px}@media (min-width:620px){.climb-stage{min-height:320px}}@media (min-width:980px){.climb-stage{min-height:360px}}.merge-art{min-height:156px}#first-commit{min-height:130px}.lost-chart{min-height:198px}@media (min-width:560px){.lost-chart{min-height:238px}}.support-links{gap:12px;margin-top:12px;display:grid}@media (min-width:760px){.support-links{grid-template-columns:repeat(3,minmax(0,1fr))}}html:has(main.embed){background:0 0}html:has(main.embed) body{background:0 0}main.embed{padding-top:0}main.embed .page-head{padding-block:20px 24px}main.embed .layout{grid-template-columns:minmax(0,1fr)}main.embed .toc{display:none}main.embed .faq-sec,main.embed .qa{scroll-margin-top:16px}.cell{scroll-margin-top:96px}
