@font-face{font-family:manrope;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/manrope-v20-latin-400-600.woff2)format("woff2")}@font-face{font-family:manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/manrope-v20-latin-700.woff2)format("woff2")}@font-face{font-family:dm sans;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/dm-sans-v17-latin-variable.woff2)format("woff2")}@font-face{font-family:inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-v20-latin-regular.woff2)format("woff2")}@font-face{font-family:inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-v20-latin-500.woff2)format("woff2")}@font-face{font-family:inter;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/inter-v20-latin-italic.woff2)format("woff2")}@font-face{font-family:jetbrains mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-v24-latin-regular.woff2)format("woff2")}@font-face{font-family:jetbrains mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-v24-latin-500.woff2)format("woff2")}@font-face{font-family:inter fallback;src:local("Helvetica Neue"),local("Arial");size-adjust:106.12%;ascent-override:91.29%;descent-override:22.73%;line-gap-override:0%}:root{color-scheme:light dark;--surround:light-dark(#F1EAE0, #141312);--canvas:light-dark(#F1EAE0, #1C1A17);--bg:var(--canvas);--plate:light-dark(#FBF8F3, #26231F);--stage:light-dark(#F6F1E9, #211F1B);--ink:light-dark(#2A2521, #EFEAE2);--muted:light-dark(#6E6559, #A79E90);--faint:light-dark(#998F80, #6E6559);--faint-text:light-dark(#766C5F, #948B7C);--line:light-dark(rgba(42, 37, 33, 0.10), rgba(239, 234, 226, 0.09));--line-strong:light-dark(rgba(42, 37, 33, 0.18), rgba(239, 234, 226, 0.16));--mark-top:light-dark(#E6E1D6, #EFEAE2);--pink:#FF4088;--pink-deep:#E62E78;--blue:#0594CB;--green:#33BA91;--gold:#EBB951;--pink-ink:light-dark(#B82E64, #FF6EA6);--pink-soft:light-dark(rgba(255, 64, 136, 0.12), rgba(255, 110, 166, 0.14));--blue-ink:light-dark(#0A6E96, #58BFE8);--blue-soft:light-dark(rgba(5, 148, 203, 0.12), rgba(88, 191, 232, 0.14));--green-ink:light-dark(#1E7F62, #4ECFA4);--green-soft:light-dark(rgba(51, 186, 145, 0.14), rgba(78, 207, 164, 0.14));--gold-ink:light-dark(#8F6A1D, #EBC276);--gold-soft:light-dark(rgba(235, 185, 81, 0.16), rgba(235, 194, 118, 0.14));--add:light-dark(#1E7F62, #4ECFA4);--del:light-dark(#C0325F, #FF6E9E);--card-ink:#17171B;--toolbar-color:var(--surround);--nav-glass:light-dark(rgba(255, 255, 255, 0.72), rgba(23, 23, 27, 0.62));--nav-shadow:0 1px 2px light-dark(rgba(38, 38, 43, 0.05), rgba(0, 0, 0, 0.35)),
    0 10px 30px light-dark(rgba(38, 38, 43, 0.07), rgba(0, 0, 0, 0.42));--glass-lift:0 1px 2px light-dark(rgba(38, 38, 43, 0.06), rgba(0, 0, 0, 0.40)),
    0 16px 40px -12px light-dark(rgba(38, 38, 43, 0.18), rgba(0, 0, 0, 0.65));--panel-lift:0 1px 2px light-dark(rgba(38, 38, 43, 0.05), rgba(0, 0, 0, 0.40)),
    0 12px 32px -14px light-dark(rgba(38, 38, 43, 0.16), rgba(0, 0, 0, 0.65));--panel-lift-hi:0 1px 2px light-dark(rgba(38, 38, 43, 0.06), rgba(0, 0, 0, 0.45)),
    0 18px 44px -16px light-dark(rgba(38, 38, 43, 0.22), rgba(0, 0, 0, 0.75));--icon-moon:light-dark(#5F5C66, transparent);--icon-sun:light-dark(transparent, #9B98A3);--display:'Manrope', -apple-system, system-ui, sans-serif;--sans:'Manrope', -apple-system, system-ui, sans-serif;--mono:'JetBrains Mono', ui-monospace, 'SF Mono', monospace;--radius:8px;--wrap:1020px;--canvas-max:1560px;--deck-side:clamp(16px, 1.6vw, 24px);--t-title:clamp(33.5px, 4.1vw, 48px);--btn-bg:light-dark(#2A2521, #EFEAE2);--btn-bg-hover:light-dark(#3E382F, #DED8CC);--btn-fg:light-dark(#FBF8F3, #141210)}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{margin:0;padding:0;box-sizing:border-box}html,body{background-color:var(--toolbar-color)}html{scroll-behavior:smooth;scroll-padding-top:84px}body{font-family:var(--sans);font-size:17px;line-height:1.55;color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;padding:14px}body:has(main.notfound){padding:0;background-color:var(--canvas)}::selection{background:var(--pink);color:#fff}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}img,svg{display:block;max-width:100%}a{color:inherit}strong{color:var(--ink);font-weight:500}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}.skip-link{position:absolute;left:-9999px;top:0;background:var(--btn-bg);color:var(--btn-fg);padding:10px 18px;border-radius:0 0 8px 0;font-size:15.5px;font-weight:500;text-decoration:none;z-index:100}.skip-link:focus{left:0}.canvas{border-radius:26px;max-width:var(--canvas-max);margin:0 auto;padding:0 var(--deck-side);overflow:clip;position:relative;display:flex;flex-direction:column;min-height:calc(100svh - 28px)}.canvas>main{flex:1 0 auto;width:100%}:root{--grain-o:0.028}:root[data-theme=dark]{--grain-o:0.05}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--grain-o:0.05}}.canvas::after{content:"";position:absolute;inset:0;z-index:90;pointer-events:none;opacity:var(--grain-o);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px}.section-label{font-family:var(--mono);font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:var(--faint-text)}.section-body{font-size:19px;color:var(--muted);max-width:560px}.fine-meta{font-family:var(--mono);font-size:13px;letter-spacing:.04em;color:var(--faint-text)}@supports(text-box:trim-both cap alphabetic){.sheet h2,.hero-heading,.colophon-word,.hub-title,.doc-title,.page-title,.notfound-heading{text-box:trim-both cap alphabetic}}.hero-heading,.sheet h2,.doc-title,.page-title,.mfeat-v{text-wrap:balance}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--btn-bg);color:var(--btn-fg);font-family:inherit;font-size:16px;font-weight:500;text-decoration:none;padding:9px 18px;border:0;border-radius:999px;cursor:pointer;transition:background-color 160ms ease}.btn:hover{background:var(--btn-bg-hover)}.btn svg{width:15px;height:15px}.btn-sm{padding:7px 14px;font-size:15px}.btn-lg{height:42px;padding:0 20px;font-size:17px;gap:9px}.btn-lg svg{width:16px;height:16px}.btn-ghost{display:inline-flex;align-items:center;font-size:17px;font-weight:500;color:var(--muted);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line-strong);transition:color 160ms ease}.btn-ghost:hover{color:var(--ink)}.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:0 0;color:var(--ink);border:1px solid var(--line-strong);font-family:inherit;font-size:16px;font-weight:500;text-decoration:none;padding:8px 17px;border-radius:999px;cursor:pointer;transition:background-color 160ms ease,border-color 160ms ease}.btn-outline:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}.btn-outline svg{width:15px;height:15px}.btn-outline.btn-lg{height:42px;padding:0 19px;font-size:17px}.btn-outline.btn-sm{padding:6px 13px;font-size:15px}.cta-row{display:flex;align-items:center;gap:22px}.centered-row{justify-content:center}.cta-buttons{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.cta-col{display:flex;flex-direction:column;align-items:flex-start}.cta-col .fine-meta{margin-top:14px}.nav-links-mid{display:flex;align-items:center;gap:6px;margin-left:10px;position:relative;z-index:0}.nav-pill{position:absolute;left:0;top:0;border-radius:999px;background:color-mix(in srgb,var(--ink) 8%,transparent);opacity:0;z-index:-1;pointer-events:none;transition:transform 300ms cubic-bezier(.2,.8,.2,1),width 300ms cubic-bezier(.2,.8,.2,1),height 300ms cubic-bezier(.2,.8,.2,1),opacity 160ms ease}.nav-pill.on{opacity:1}.nav-links-mid.has-pill .nav-link[aria-current=location]{background:0 0}.nav-actions{display:flex;align-items:center;gap:14px;margin-left:auto}.nav-link{font-size:15.5px;color:var(--muted);text-decoration:none;padding:7px 13px;border-radius:999px;transition:color 160ms ease,background-color 160ms ease}.nav-link:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 4%,transparent)}.nav-link[aria-current],.nav-version[aria-current]{color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent)}.nav-version{border-radius:999px;padding:6px 11px}.nav-version{font-family:var(--mono);font-size:13px;letter-spacing:.04em;color:var(--faint-text);text-decoration:none;transition:color 160ms ease}.nav-version:hover{color:var(--ink)}.lockup{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.lockup-name{font-family:var(--display);font-weight:600;font-size:19px;letter-spacing:-.015em;color:var(--ink)}.mode-toggle{position:relative;display:inline-flex;width:26px;height:26px;padding:0;background:0 0;border:0;border-radius:5px;cursor:pointer;transition:background-color 160ms ease}.mode-toggle:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.mode-toggle svg{position:absolute;inset:5px;width:16px;height:16px}.nav-actions .btn{height:32px;padding:0 14px;font-size:15px}.i-moon{color:var(--icon-moon)}.i-sun{color:var(--icon-sun)}:root{--rail:152px;--rail-gap:34px;--sect:80px;--tick:7px}.sheet{width:100%;margin:0 auto}:root{--deck-gap:18px;--pane-r:22px}main.sheet{display:flex;flex-direction:column;gap:var(--deck-gap);padding:18px 0}main.sheet>section,main.sheet>.mast{background:var(--plate);border-radius:var(--pane-r);padding:clamp(28px,4vw,52px)}main.sheet>.get{background:var(--stage)}.lc{display:grid;grid-template-columns:var(--rail)minmax(0,1fr);gap:0 var(--rail-gap)}.lab{font-family:var(--mono);font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--faint-text);padding-top:5px}.rule{position:relative;margin-bottom:26px}.rule span{font-family:var(--mono);font-size:12.5px;letter-spacing:.13em;text-transform:uppercase}.rule .ix{color:var(--faint-text);margin-right:14px}.rule .nm{color:var(--muted)}.prose{font-size:17px;line-height:1.62;color:var(--muted);max-width:62ch;text-wrap:pretty}.prose+.prose{margin-top:11px}.sheet h2{font-family:var(--display);font-weight:400;font-size:clamp(31px,3.6vw,41px);line-height:1.15;letter-spacing:-.02em}.sheet h3{font-family:var(--display);font-weight:500;font-size:20.5px;letter-spacing:-.012em}.sheet code{font-family:var(--mono);font-size:.88em;color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent);border-radius:3px;padding:1px 4px;font-variant-ligatures:none}.pts{list-style:none;margin-top:14px}.pts li{position:relative;padding-left:17px;margin-top:7px;font-size:15.5px;line-height:1.55;color:var(--muted);text-wrap:pretty}.pts li::before{content:"";position:absolute;left:2px;top:8px;width:5px;height:1px;background:var(--line-strong)}.mast .hero-heading{font-family:var(--display);font-weight:400;font-size:clamp(45.5px,5.2vw,70px);line-height:1.05;letter-spacing:-.026em;max-width:11.5ch}.hh-dim{color:var(--muted)}.mast-grid{display:grid;grid-template-columns:minmax(0,.88fr)minmax(440px,1.12fr);gap:clamp(34px,4.5vw,68px);align-items:center}.mast-grid .lab{margin-bottom:22px}.mast-media{min-width:0}.mast-shot{width:100%;overflow:hidden;border-radius:1.25%/1.75%;background:var(--plate);clip-path:inset(0 round 1.25%/1.75%)}.mast-shot .shot{display:block;width:100%;height:auto;border-radius:inherit;transform:scale(1.012);transform-origin:center}.hero-release{width:fit-content;margin:0 8px 12px auto;display:flex;align-items:center;gap:10px;padding:6px 11px;border-radius:999px;background:var(--pink-soft);color:var(--pink-ink);font-family:var(--mono);font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;transition:background-color 160ms ease}.hero-release:hover{background:color-mix(in srgb,var(--pink) 18%,var(--stage))}.hero-release b{font-weight:500;letter-spacing:.02em}.hero-lead{margin-top:20px;font-size:18.5px;line-height:1.55;color:var(--muted);max-width:56ch;text-wrap:pretty}.mast-act{margin-top:26px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.mast-meta{display:block;margin-top:13px}main.sheet>.facts-pane{background:var(--stage)}.facts{display:grid;grid-template-columns:repeat(3,1fr)}.fact{position:relative;padding:4px 22px 4px 0}.fact+.fact{padding-left:26px}.fact+.fact::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:1px;background:var(--line)}.fact-v{font-family:var(--display);font-weight:400;font-size:clamp(27.5px,3vw,38.5px);letter-spacing:-.018em;line-height:1.1}.fact-ic{display:block;margin-bottom:13px;color:var(--muted)}.fact-ic .feature-glyph{width:24px;height:24px}.fact-l{margin-top:7px;font-size:15px;line-height:1.45;color:var(--muted)}.hugo-split{display:grid;grid-template-columns:minmax(0,1fr)340px;gap:0 56px;align-items:start}.hugo-h{margin-bottom:14px}.hugo-body{font-size:17px;line-height:1.62;color:var(--muted);max-width:62ch}.usps{list-style:none;margin-top:20px;border-top:1px solid var(--line)}.usp{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:0 20px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--line)}.usp b{display:flex;align-items:center;gap:8px;font-weight:500;font-size:16px;white-space:nowrap}.usp-fct{width:6px;height:6px;border-radius:50%;flex:none}.usp-fct-1{background:var(--pink)}.usp-fct-2{background:var(--blue)}.usp-fct-3{background:var(--green)}.usp-fct-4{background:var(--gold)}.usp-fct-5{background:var(--pink)}.usp-fct-6{background:var(--blue)}.usp span:last-child{font-size:15.5px;color:var(--muted)}.hugo-bridge{margin-top:20px;font-size:17px;line-height:1.6;max-width:62ch}.hugo-link{display:inline-block;margin-top:14px;font-family:var(--mono);font-size:13px;letter-spacing:.03em;color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line-strong);padding-bottom:2px}.hugo-link:hover{color:var(--ink)}.term{background:light-dark(#26262B,#0B0B0D);border-radius:8px;overflow:hidden;font-family:var(--mono);font-size:14px;line-height:1.75}.term-bar{height:26px;display:flex;align-items:center;gap:6px;padding:0 11px;background:light-dark(#33333A,#141418)}.hw-tl{width:8px;height:8px;border-radius:50%}.hw-r{background:#ff5f57}.hw-y{background:#febc2e}.hw-g{background:#28c840}.term-body{padding:14px 15px 17px;color:#9b98a3}.term-prompt{color:#6a6773}.term-cmd{color:#f2f0f4}.term-caret{display:inline-block;width:6px;height:12px;vertical-align:-2px;margin-left:2px;background:#f2f0f4;animation:term-blink 1.15s steps(1)infinite}@keyframes term-blink{50%{opacity:0}}.term-out{display:block;margin-top:5px}.loop-sub{margin-top:12px;font-size:17px;color:var(--muted)}.loop-steps{margin-top:30px;border-top:1px solid var(--line)}.lstep{display:grid;grid-template-columns:var(--rail)minmax(0,1fr);gap:0 var(--rail-gap);padding:30px 0;border-bottom:1px solid var(--line)}.lstep-head{display:flex;flex-direction:column;gap:8px}.lstep-no{font-family:var(--mono);font-size:26.5px;font-weight:500;letter-spacing:-.02em;line-height:1;color:var(--line-strong)}.lstep-label{font-family:var(--mono);font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--faint-text)}.lstep-body{display:grid;grid-template-columns:minmax(0,1fr)300px;gap:0 40px;align-items:start}.lstep-h{margin-bottom:9px}.lstep-vis .shot{display:block;width:100%;height:auto}.lstep-pf{background:var(--stage);border-radius:16px;padding:16px 18px;font-family:var(--mono);font-size:13px;line-height:1.7}.pf-bar{display:flex;justify-content:space-between;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint-text);margin-bottom:11px}.pf-row{padding:3px 8px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pf-del{color:var(--del);background:color-mix(in srgb,var(--del) 10%,transparent)}.pf-add{color:var(--add);background:color-mix(in srgb,var(--add) 12%,transparent);margin-top:3px}.pf-foot{margin-top:11px;display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--faint-text)}.pf-dot{width:5px;height:5px;border-radius:50%;background:var(--green);flex:none}.pf-line{display:flex;align-items:center;gap:7px;padding:2px 0;color:var(--ink);white-space:nowrap;overflow:hidden}.pf-quiet{color:var(--faint-text);padding-left:12px}.pf-cmd{margin-top:8px;padding:5px 8px;border-radius:4px;background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lstep-meta,.feature-meta{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px 10px}.feature-doc{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:13px;letter-spacing:.03em;color:var(--muted);text-decoration:none;background:var(--stage);border:1px solid var(--line);border-radius:999px;padding:7px 14px;transition:color 160ms ease,background-color 160ms ease,border-color 160ms ease}.feature-doc:hover{background:color-mix(in srgb,var(--ink) 6%,var(--stage));border-color:var(--line-strong)}.feature-doc-ic{width:14px;height:14px;align-self:center;color:var(--muted);transition:color 160ms ease}.feature-doc-kicker{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--faint-text);background:color-mix(in srgb,var(--ink) 8%,transparent);border-radius:5px;padding:2px 6px}.feature-doc-title{color:var(--ink)}.feature-doc-sep{display:none}.feature-doc-arrow{color:var(--muted);transition:color 160ms ease}.feature-doc:hover .feature-doc-ic,.feature-doc:hover .feature-doc-title,.feature-doc:hover .feature-doc-arrow{color:var(--ink)}:root{--feature-indent:45px}.feature-intro{margin-bottom:24px}.feature-intro-copy{margin-top:12px;max-width:56ch;font-size:17px;line-height:1.55;color:var(--muted)}.feature-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.feature-highlight{min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr)auto;align-items:start;gap:14px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--stage);color:inherit;text-decoration:none;transition:background-color 160ms ease,border-color 160ms ease}.feature-highlight:hover{background:color-mix(in srgb,var(--ink) 5%,var(--stage));border-color:var(--line-strong)}.feature-highlight-name{display:block;font-family:var(--display);font-weight:500;font-size:19.5px;letter-spacing:-.01em}.feature-highlight-copy{display:block;margin-top:7px;font-size:15.5px;line-height:1.5;color:var(--muted);text-wrap:pretty}.feature-highlight-arrow{color:var(--faint-text);transition:color 160ms ease}.feature-highlight:hover .feature-highlight-arrow{color:var(--ink)}.feature-catalog{margin-top:26px;border-top:1px solid var(--line)}.feature-catalog-summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 2px}.feature-catalog-summary::-webkit-details-marker{display:none}.feature-catalog-summary>span{display:flex;align-items:baseline;gap:14px}.feature-catalog-summary b{font-family:var(--display);font-weight:500;font-size:19.5px}.feature-catalog-summary small{font-size:14px;color:var(--muted)}.feature-catalog-summary svg{flex:none;width:18px;height:18px;color:var(--faint-text);transition:transform 220ms cubic-bezier(.19,1,.22,1),color 160ms ease}.feature-catalog[open]>.feature-catalog-summary svg{transform:rotate(180deg)}.feature-catalog-summary:hover svg{color:var(--ink)}.feature-list{border-top:1px solid var(--line)}.feature-item{border-bottom:1px solid var(--line)}.feature-summary{display:flex;align-items:center;gap:15px;padding:17px 2px 17px 0;cursor:pointer;list-style:none;transition:background-color 160ms ease}.feature-summary::-webkit-details-marker{display:none}.feature-summary:hover{background:color-mix(in srgb,var(--ink) 3.5%,transparent)}.feature-glyph-slot{flex:none;width:28px;display:flex;align-items:center;justify-content:center}.feature-glyph{width:17px;height:17px;color:var(--muted)}.fi-pink .feature-glyph,.fi-blue .feature-glyph,.fi-green .feature-glyph,.fi-gold .feature-glyph{width:27px;height:27px;padding:5px;border-radius:8px}.fi-pink .feature-glyph{color:var(--pink-ink);background:var(--pink-soft)}.fi-blue .feature-glyph{color:var(--blue-ink);background:var(--blue-soft)}.fi-green .feature-glyph{color:var(--green-ink);background:var(--green-soft)}.fi-gold .feature-glyph{color:var(--gold-ink);background:var(--gold-soft)}.feature-name{flex:0 0 210px;font-family:var(--display);font-weight:500;font-size:19.5px;letter-spacing:-.01em}.feature-teaser{min-width:0;flex:auto;font-size:15.5px;line-height:1.45;color:var(--muted);text-wrap:pretty}.feature-chevron{flex:none;margin-left:auto;width:18px;height:18px;color:var(--faint);transition:transform 220ms cubic-bezier(.19,1,.22,1),color 160ms ease}.feature-item[open] .feature-chevron{transform:rotate(180deg)}.feature-summary:hover .feature-chevron{color:var(--muted)}.feature-reveal{padding:2px 0 26px var(--feature-indent);max-width:82ch}.feature-lead{font-size:18.5px;line-height:1.62;color:var(--muted);text-wrap:pretty}.feature-lead code,.feature-points code{font-family:var(--mono);font-size:.88em;color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent);border-radius:3px;padding:1px 4px;font-variant-ligatures:none}.feature-points{list-style:none;margin-top:14px}.feature-points li{position:relative;padding-left:17px;margin-top:7px;font-size:17px;line-height:1.55;color:var(--muted);text-wrap:pretty}.feature-points li::before{content:"";position:absolute;left:2px;top:8px;width:5px;height:1px;background:var(--line-strong)}.fromdocs-list{border-top:1px solid var(--line)}.fd-card{display:grid;grid-template-columns:var(--rail)minmax(0,1fr)90px;gap:0 var(--rail-gap);align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:opacity 140ms ease}.fd-card:hover{opacity:.62}.fd-kind{font-family:var(--mono);font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--faint-text)}.fd-title{display:block;font-family:var(--display);font-weight:500;font-size:18px;letter-spacing:-.012em}.fd-desc{display:block;margin-top:5px;font-size:15.5px;line-height:1.5;color:var(--muted);max-width:70ch;text-wrap:pretty}.fd-more{font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint-text);text-align:right}.faq-list{display:grid;grid-template-columns:1fr 1fr;column-gap:56px;align-items:start}.faq-col{min-width:0}.faq-item{border-top:1px solid var(--line)}.faq-head{list-style:none;cursor:pointer;position:relative;display:flex;align-items:center;gap:12px;padding:15px 30px 15px 0}.faq-head::-webkit-details-marker{display:none}.faq-ic{flex:none;display:flex}.faq-ic .feature-glyph{width:17px;height:17px}.faq-q{font-family:var(--display);font-weight:500;font-size:19.5px;letter-spacing:-.01em;color:var(--ink)}.faq-head::after{content:"+";position:absolute;right:2px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:16px;color:var(--faint-text);transition:transform 220ms ease,color 160ms ease}.faq-item[open] .faq-head::after{transform:translateY(-50%)rotate(45deg);color:var(--ink)}.faq-head:hover::after{color:var(--ink)}.faq-answer{padding:0 0 20px 29px;max-width:74ch}.faq-answer p{font-size:17.5px;line-height:1.6;color:var(--muted);text-wrap:pretty}.faq-answer p+p{margin-top:10px}@supports(interpolate-size:allow-keywords){:root{interpolate-size:allow-keywords}.faq-item::details-content{block-size:0;opacity:0;overflow:clip;transition:block-size 260ms ease,opacity 240ms ease,content-visibility 260ms allow-discrete}.faq-item[open]::details-content{block-size:auto;opacity:1}}@media(prefers-reduced-motion:reduce){.faq-item::details-content{transition:none}.faq-head::after{transition:none}}.faq-chips{list-style:none;display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.faq-chips li{font-family:var(--mono);font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--faint-text);border:1px solid var(--line);border-radius:4px;padding:3px 8px}.note-by{display:inline-flex;align-items:center;gap:13px;margin-bottom:20px;text-decoration:none;color:inherit}.note-portrait{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:center 22%;flex:none;box-shadow:0 0 0 1px var(--line)}.note-by-text{display:flex;flex-direction:column;gap:1px}.note-by-name{font-weight:500;color:var(--ink);font-size:15.5px}.note-by-site{font-family:var(--mono);font-size:13px;color:var(--faint-text);transition:color 160ms ease}.note-by:hover .note-by-site{color:var(--pink-ink)}.note-text{font-size:18px;line-height:1.6;color:var(--muted);max-width:64ch;text-wrap:pretty}.note-text+.note-text{margin-top:11px}.note-donate{margin:0;vertical-align:middle;padding:5px 13px;font-size:15px}.get-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap}.get-note{font-size:15.5px;line-height:1.5;color:var(--faint-text);max-width:34ch}.get-facts{margin-top:30px;border-top:1px solid var(--line)}.get-facts>div{display:grid;grid-template-columns:var(--rail)minmax(0,1fr);gap:0 var(--rail-gap);padding:10px 0;border-bottom:1px solid var(--line)}.get-facts dt{font-family:var(--mono);font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--faint-text);padding-top:2px}.get-facts dd{font-family:var(--mono);font-size:15px;letter-spacing:.02em}.colophon-mark{display:flex;align-items:center;gap:13px}.colophon-word{font-family:var(--display);font-weight:600;font-size:36px;letter-spacing:-.015em;line-height:1}.colophon-meta{margin-top:16px}.colophon-meta p{font-size:15.5px;color:var(--muted)}.colophon-meta p+p{margin-top:3px}.frame{margin:0;background:var(--plate);border:1px solid var(--line);border-radius:12px;overflow:hidden}.shot{display:block;width:100%;height:auto}img.shot{cursor:zoom-in}.lightbox{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,56px);background:0 0;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);cursor:zoom-out;opacity:0;visibility:hidden;transition:opacity 220ms ease,visibility 0s linear 220ms}.lightbox.is-open{opacity:1;visibility:visible;transition:opacity 220ms ease}.lightbox-inner{position:relative;line-height:0;cursor:default;transform:scale(.96);transition:transform 220ms cubic-bezier(.2,.8,.2,1)}.lightbox.is-open .lightbox-inner{transform:scale(1)}.lightbox-img{display:block;max-width:min(1072px,100vw - 2 * clamp(16px,4vw,56px));max-height:92vh;width:auto;height:auto}.lightbox-close{position:fixed;top:clamp(12px,1.5vw,18px);right:clamp(12px,1.5vw,18px);z-index:201;width:34px;height:34px;display:grid;place-items:center;color:var(--ink);background:var(--plate);border:1px solid var(--line);border-radius:999px;cursor:pointer;transition:background-color 160ms ease,color 160ms ease}.lightbox-close:hover{background:var(--stage)}.lightbox-close svg{width:16px;height:16px}@media(prefers-reduced-motion:reduce){.lightbox,.lightbox-inner{transition:none}.lightbox-inner{transform:none}}.site-footer{padding:44px 0 20px}.footer-inner{max-width:var(--canvas-max);margin:0 auto;padding:0 var(--deck-side)}.footer-made{font-size:15.5px;color:var(--muted)}.footer-author{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong);transition:text-decoration-color 160ms ease}.footer-author:hover{text-decoration-color:var(--ink)}.footer-links{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px;margin-top:26px;padding-top:16px;border-top:1px solid var(--line)}.footer-build{margin-left:auto;font-family:var(--mono);font-size:13px;letter-spacing:.04em;color:var(--faint-text)}.footer-links a,.footer-links button{font-family:var(--mono);font-size:13px;letter-spacing:.04em;color:var(--faint-text);text-decoration:none;transition:color 160ms ease}.footer-links button{background:0 0;border:0;padding:0;cursor:pointer}.footer-links a:hover,.footer-links button:hover{color:var(--ink)}.footer-note{font-size:15.5px;color:var(--muted);margin-top:3px}.release-hub{background:var(--plate);border-radius:var(--pane-r,22px);padding:clamp(28px,4vw,52px);margin:18px auto 90px}.release-hub .release-list,.release-hub .hub-sub,.release-hub .release-empty{max-width:760px}.hub-title{font-family:var(--display);font-weight:500;font-size:var(--t-title);line-height:1.05;letter-spacing:-.024em}.hub-sub{font-family:var(--mono);font-size:14px;letter-spacing:.04em;color:var(--faint-text);margin-top:12px}.hub-rss{font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint-text);text-decoration:none;border-bottom:1px solid var(--line-strong);padding-bottom:1px;margin-left:4px;transition:color 160ms ease,border-color 160ms ease}.hub-rss:hover{color:var(--ink);border-color:var(--ink)}#release-list-view{margin-top:clamp(22px,3vw,36px);border-top:1px solid var(--line)}.hub-list a{font-size:20px}.release{padding:44px 0 64px}.release-wrap{max-width:560px}.lockup-name-sm{font-size:18px}.release-head{padding-bottom:18px;border-bottom:1px solid var(--line)}html:not(.in-app) .release-head .lockup{display:none}.release-version{font-family:var(--display);font-weight:500;font-size:33.5px;letter-spacing:-.022em;margin-top:18px}.release-date{display:block;font-family:var(--mono);font-size:14px;color:var(--faint-text);margin-top:6px}.release-note{margin-top:22px;background:var(--stage);border-radius:12px;padding:16px 18px}.release-note-head{display:flex;align-items:center;gap:10px;margin-bottom:11px}.release-note-portrait{width:34px;height:34px;border-radius:50%;object-fit:cover;object-position:center 22%;flex:none;box-shadow:0 0 0 1px var(--line)}.release-note-label{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--faint-text);margin-bottom:0}.release-note-body{font-size:16.5px;line-height:1.62;color:var(--muted);text-wrap:pretty}.release-note-body p+p{margin-top:9px}.release-body{margin-top:22px;font-size:18px;color:var(--muted)}.release-body h2{font-family:var(--display);font-weight:500;font-size:18px;letter-spacing:-.01em;color:var(--ink);margin:22px 0 8px}.release-body h2#new,.release-body h2#improved,.release-body h2#fixed,.release-body h2#removed{display:inline-block;font-family:var(--mono);font-size:12.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:5px 12px;margin:26px 0 10px}.release-body h2#new{background:light-dark(color-mix(in srgb,#33BA91 16%,#FFFFFF),color-mix(in srgb,#33BA91 22%,#17171B));color:light-dark(#0E6B4E,#7FE0C0)}.release-body h2#improved{background:light-dark(color-mix(in srgb,#0594CB 14%,#FFFFFF),color-mix(in srgb,#0594CB 22%,#17171B));color:light-dark(#046186,#7ECFF0)}.release-body h2#removed{background:light-dark(color-mix(in srgb,#FF4088 13%,#FFFFFF),color-mix(in srgb,#FF4088 20%,#17171B));color:light-dark(#B21B5B,#FF9CC2)}.release-body h2#fixed{background:var(--stage);border:1px solid var(--line);color:var(--muted)}.release-body h2#notes{display:block;font-family:var(--mono);font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:var(--faint-text);margin:28px 0 8px}.release-body ul{list-style:none;display:grid;gap:14px}.release-body li{position:relative;padding-left:20px;line-height:1.68}.release-body li::before{content:"";position:absolute;left:2px;top:.6em;width:5px;height:5px;border-radius:2px;background:var(--faint)}.release-body p+p{margin-top:10px}html:not(.in-app) .release{padding:clamp(40px,6vw,76px)0 clamp(56px,7vw,88px)}html:not(.in-app) .release-wrap{max-width:1060px;display:grid;grid-template-columns:minmax(0,296px)minmax(0,1fr);gap:clamp(36px,5.5vw,92px);align-items:start}html:not(.in-app) .release-rail{position:sticky;top:calc(var(--bezel-top) + 24px)}html:not(.in-app) .release-head{padding-bottom:0;border-bottom:0}html:not(.in-app) .release-version{font-size:clamp(38px,4.4vw,56px);letter-spacing:-.026em;margin-top:0}html:not(.in-app) .release-date{margin-top:10px}html:not(.in-app) .release-note{margin-top:26px}html:not(.in-app) .release-main{min-width:0}html:not(.in-app) .release-body{margin-top:4px}html:not(.in-app) .release-body>p:first-of-type{font-family:var(--display);font-weight:400;font-size:clamp(23px,2.3vw,29px);line-height:1.34;letter-spacing:-.016em;color:var(--ink);margin-bottom:4px;text-wrap:pretty}html:not(.in-app) .release-body>p:first-of-type+h2{margin-top:24px}@media(max-width:900px){html:not(.in-app) .release-wrap{grid-template-columns:minmax(0,1fr);gap:24px;max-width:660px}html:not(.in-app) .release-rail{position:static}}.release-filter{display:flex;width:fit-content;flex-wrap:wrap;gap:4px;margin:2px 0 10px}.rf-btn{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint-text);background:0 0;border:1px solid var(--line);padding:6px 13px;border-radius:999px;cursor:pointer;transition:color 160ms ease,background-color 160ms ease,border-color 160ms ease}.rf-btn:hover{color:var(--ink);border-color:var(--line-strong)}.rf-btn[aria-selected=true]{color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent);border-color:transparent}.release-list{list-style:none;margin-top:22px}.release-list li{padding:14px 0;border-bottom:1px solid var(--line)}.rl-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.release-list a{font-size:18.5px;font-weight:500;color:var(--ink);text-decoration:none;transition:color 160ms ease}.release-list a:hover{text-decoration:underline}.release-list time{font-family:var(--mono);font-size:14px;color:var(--faint-text);flex:none}.rl-desc{margin-top:5px;font-size:15px;line-height:1.5;color:var(--muted);max-width:62ch;text-wrap:pretty}.release-empty{margin-top:22px;font-size:18px;color:var(--muted)}.release-foot{margin-top:34px;display:flex;gap:18px}.release-foot a{font-size:15.5px;font-weight:500;color:var(--muted);text-decoration:none;transition:color 160ms ease}.release-foot a:hover{color:var(--ink)}.notfound{min-height:70vh;display:flex;align-items:center}.notfound-inner{text-align:center;padding:80px 28px}.notfound-mark{margin:0 auto 30px}.notfound-heading{font-family:var(--display);font-weight:500;font-size:clamp(31px,4.8vw,43px);letter-spacing:-.024em;margin-bottom:12px}.notfound .section-body{margin-left:auto;margin-right:auto}.notfound .cta-row{margin-top:30px}@media(prefers-reduced-motion:no-preference){html.js .reveal{opacity:0;transform:translateY(10px);transition:opacity 600ms ease,transform 600ms cubic-bezier(.2,.8,.2,1)}html.js .reveal.in{opacity:1;transform:translateY(0)}html.js .facts.reveal,html.js .loop.reveal,html.js .hugo-panel.reveal,html.js .features.reveal{transform:none}html.js .facts.reveal .fact,html.js .loop.reveal .lstep,html.js .hugo-panel.reveal .usp,html.js .features.reveal .feature-item{opacity:0;transform:translateY(14px);transition:opacity 560ms ease,transform 560ms cubic-bezier(.19,1,.22,1)}html.js .reveal.in .fact,html.js .reveal.in .lstep,html.js .reveal.in .usp,html.js .reveal.in .feature-item{opacity:1;transform:none}html.js .reveal .fact:nth-child(2),html.js .reveal .lstep:nth-child(2),html.js .reveal .usp:nth-child(2){transition-delay:80ms}html.js .reveal .fact:nth-child(3),html.js .reveal .lstep:nth-child(3),html.js .reveal .usp:nth-child(3){transition-delay:160ms}html.js .reveal .usp:nth-child(4){transition-delay:240ms}html.js .reveal .usp:nth-child(5){transition-delay:320ms}html.js .reveal .usp:nth-child(6){transition-delay:400ms}html.js .reveal .feature-item:nth-child(2){transition-delay:50ms}html.js .reveal .feature-item:nth-child(3){transition-delay:100ms}html.js .reveal .feature-item:nth-child(4){transition-delay:150ms}html.js .reveal .feature-item:nth-child(5){transition-delay:200ms}html.js .reveal .feature-item:nth-child(6){transition-delay:250ms}html.js .reveal .feature-item:nth-child(7){transition-delay:300ms}}@media(prefers-reduced-motion:no-preference){html.js .mast .mast-grid>div:first-child{animation:rise-in 700ms cubic-bezier(.19,1,.22,1)90ms both}html.js .mast .mast-media{animation:rise-in 700ms cubic-bezier(.19,1,.22,1)240ms both}}@keyframes rise-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes soft-in{from{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:no-preference){.btn{transition:background-color 160ms ease,transform 100ms ease-out}.btn:active{transform:scale(.98)}}.btn-ghost{transition:color 160ms ease,text-decoration-color 160ms ease}.btn-ghost:hover{text-decoration-color:initial}.hugo-link{transition:opacity 160ms ease}.hugo-link:hover{opacity:.7}.nav-link:active{background:color-mix(in srgb,var(--ink) 10%,transparent);transition:none}.mode-toggle:active{background:color-mix(in srgb,var(--ink) 12%,transparent);transition:none}.hero-release:active{background:color-mix(in srgb,var(--pink) 26%,var(--stage));transition:none}.doc-index a:active,.doc-nav a:active,.doc-search-results a:active{background:color-mix(in srgb,var(--ink) 6%,var(--stage));transition:none}.feature-doc:active{background:color-mix(in srgb,var(--ink) 10%,var(--stage));transition:none}.fd-card:active{opacity:.45;transition:none}.rf-btn:active{background:color-mix(in srgb,var(--ink) 6%,transparent);transition:none}.mode-toggle svg{transition:color 240ms ease}.mk-q1{--mk-dx:-5px;--mk-dy:-3px}.mk-q2{--mk-dx:3px;--mk-dy:-5px}.mk-q3{--mk-dx:-3px;--mk-dy:5px}.mk-q4{--mk-dx:5px;--mk-dy:3px}@media(hover:hover) and (prefers-reduced-motion:no-preference){:is(.lockup,.v3-lockup):hover .mk-q,:is(.lockup,.v3-lockup):focus-visible .mk-q{animation:mk-assemble 360ms cubic-bezier(.19,1,.22,1)both}:is(.lockup,.v3-lockup):hover .mk-q2,:is(.lockup,.v3-lockup):focus-visible .mk-q2{animation-delay:50ms}:is(.lockup,.v3-lockup):hover .mk-q3,:is(.lockup,.v3-lockup):focus-visible .mk-q3{animation-delay:100ms}:is(.lockup,.v3-lockup):hover .mk-q4,:is(.lockup,.v3-lockup):focus-visible .mk-q4{animation-delay:150ms}}@keyframes mk-assemble{from{opacity:0;transform:translate(var(--mk-dx,0),var(--mk-dy,0))}to{opacity:1;transform:none}}@media(prefers-reduced-motion:no-preference){.doc-copy.is-copied{animation:copy-pop 260ms cubic-bezier(.34,1.56,.64,1)}}@keyframes copy-pop{from{transform:scale(.92)}to{transform:none}}@media(prefers-reduced-motion:no-preference){.doc-search-results:not([hidden]){animation:land-in 180ms cubic-bezier(.19,1,.22,1)}}@keyframes land-in{from{opacity:0;transform:translateY(3px)}}::view-transition-old(root),::view-transition-new(root){animation-duration:260ms}@media(prefers-reduced-motion:no-preference){@view-transition{navigation: auto;
  }}:root[data-vt=theme]::view-transition-old(root){animation:none}:root[data-vt=theme]::view-transition-new(root){animation:vt-circle 420ms cubic-bezier(.2,.8,.2,1)}@keyframes vt-circle{from{clip-path:circle(0 at var(--vt-x,50%) var(--vt-y,50%))}to{clip-path:circle(150vmax at var(--vt-x,50%) var(--vt-y,50%))}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.btn-ghost,.btn-outline,.nav-link,.nav-version,.mode-toggle,.footer-links a,.fd-card,.feature-doc,.doc-copy,.mode-toggle svg,.nav-pill{transition:none}.term-caret{animation:none}}@media(max-width:1020px){.mast-grid{grid-template-columns:minmax(0,.8fr)minmax(390px,1.2fr);gap:28px}.hugo-split{grid-template-columns:minmax(0,1fr);gap:30px}.lstep-body{grid-template-columns:minmax(0,1fr);gap:24px}.lstep-vis{max-width:460px}.nav-links-mid{gap:16px}}@media(max-width:860px){:root{--rail:0px;--rail-gap:0px;--deck-gap:12px;--pane-r:16px}main.sheet>section,main.sheet>.mast{padding:clamp(22px,5vw,32px)}.mast-grid{grid-template-columns:minmax(0,1fr);gap:30px}.mast-copy{max-width:680px}.mast-media{width:100%;max-width:760px}.hero-release{margin-left:0}.feature-highlights{grid-template-columns:minmax(0,1fr)}.facts{grid-template-columns:1fr}.fact{padding-right:0}.fact+.fact{padding-left:0;padding-top:14px;margin-top:14px}.fact+.fact::before{top:0;bottom:auto;left:0;right:0;width:auto;height:1px}.lc,.lstep,.get-facts>div,.fd-card{grid-template-columns:minmax(0,1fr)}.lab{padding-top:0;margin-bottom:9px}.lstep-head{flex-direction:row;align-items:baseline;gap:12px;margin-bottom:14px}.lstep-no{font-size:18px}.fd-more{display:none}.fd-kind{margin-bottom:6px}:root{--feature-indent:34px}.faq-list{grid-template-columns:1fr}}@media(max-width:760px){.nav-links-mid .nav-link[href*="#"]{display:none}.nav-version{display:none}.nav-links-mid{gap:2px;margin-left:4px}}@media(max-width:620px){.canvas{border-radius:18px;min-height:calc(100svh - 16px)}body{padding:8px}.nav-links-mid{gap:2px;margin-left:4px}.nav-links-mid .nav-link[href*="#"]{display:none}.nav-version{display:none}.nav-actions .btn{height:30px;padding:0 12px}.mast .hero-heading{max-width:9ch}.feature-catalog-summary>span{display:block}.feature-catalog-summary small{display:block;margin-top:4px}.feature-name{flex:auto}.feature-reveal{padding-left:0}.feature-teaser{display:none}.facts{grid-template-columns:1fr}.fact{padding-right:0}.fact+.fact{padding-left:0;border-top:1px solid var(--line)}.fact+.fact::before{display:none}.page-head{grid-template-columns:1fr;align-items:start;gap:14px}.page-glance{grid-template-columns:1fr}.def-row{grid-template-columns:1fr;gap:4px}.mast-act{flex-direction:column;align-items:flex-start;gap:14px}.cta-buttons{flex-direction:column;align-items:flex-start;gap:16px}.cta-row{flex-direction:column;align-items:flex-start;gap:16px}.centered-row{align-items:center}.usp{grid-template-columns:minmax(0,1fr);gap:4px}.get-foot{flex-direction:column;align-items:flex-start;gap:26px}.get-note{max-width:none}.footer-inner{grid-template-columns:minmax(0,1fr);gap:22px}.footer-links{gap:8px 16px}}.docs-hub{background:var(--plate);border-radius:var(--pane-r,22px);padding:clamp(28px,4vw,52px);margin:18px auto 90px}.docs-hub .hub-head{max-width:760px}.docs-hub .section-body{margin-top:14px;max-width:54ch;line-height:1.55}.doc-groups{margin-top:clamp(30px,4vw,46px);display:grid;gap:clamp(26px,3vw,38px)}.doc-group{display:grid;grid-template-columns:190px minmax(0,1fr);gap:0 clamp(24px,3vw,48px);padding-top:20px;border-top:1px solid var(--line-strong)}.doc-group-head{display:flex;flex-direction:column;gap:5px;padding-top:15px}.doc-group-head .section-label{display:block}.doc-group-count{font-family:var(--mono);font-size:13px;font-variant-numeric:tabular-nums;color:var(--faint-text)}@media(max-width:900px){.doc-group{grid-template-columns:minmax(0,1fr);gap:0}.doc-group-head{flex-direction:row;align-items:baseline;justify-content:space-between;gap:16px;padding:0 0 11px}}.doc-index{list-style:none}.doc-index li+li{border-top:1px solid var(--line)}.doc-index a{display:grid;grid-template-columns:minmax(0,1fr)auto;align-items:baseline;gap:6px 20px;padding:15px 12px;margin-inline:-12px;border-radius:9px;text-decoration:none;color:var(--ink);transition:background 160ms ease}.doc-index a:hover{background:var(--stage)}.doc-index-text{display:block;min-width:0}.doc-index-title{display:block;font-size:20px;font-weight:500;transition:color 160ms ease}.doc-index-desc{display:block;margin-top:4px;font-size:16px;line-height:1.5;color:var(--muted);max-width:64ch;text-wrap:pretty}.doc-index a:hover .doc-index-title{text-decoration:underline;text-underline-offset:3px}.doc-index-date{font-family:var(--mono);font-size:14px;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--faint-text);white-space:nowrap}@media(max-width:640px){.doc-index a{grid-template-columns:minmax(0,1fr);gap:6px}.doc-index-date{order:3}}.doc{padding:18px 0 90px}.doc-layout{display:grid;grid-template-columns:224px minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}.doc-nav{padding-top:clamp(28px,4vw,52px)}.doc-article{background:var(--plate);border-radius:var(--pane-r,22px);padding:clamp(26px,3.4vw,48px)}.doc-nav{position:sticky;top:26px}.doc-nav-home{display:inline-block;font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-decoration:none;margin-bottom:20px;transition:color 160ms ease}.doc-nav-home:hover{color:var(--ink)}.doc-search{position:relative;margin-bottom:18px}.doc-search-input{width:100%;font-family:var(--sans);font-size:15px;color:var(--ink);background:var(--stage);border:1px solid var(--line);border-radius:8px;padding:8px 30px 8px 12px;transition:border-color 160ms ease,background 160ms ease}.doc-search-input::placeholder{color:var(--faint-text)}.doc-search-input:focus{outline:none;border-color:var(--line-strong);background:var(--plate)}.doc-search-input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.doc-search-clear{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:24px;height:24px;display:grid;place-items:center;background:0 0;border:0;cursor:pointer;color:var(--faint-text);font-size:19px;line-height:1;border-radius:50%;transition:color 160ms ease,background 160ms ease}.doc-search-clear[hidden],.doc-search-results[hidden]{display:none}.doc-search-clear:hover{color:var(--ink);background:var(--stage)}.doc-search-results{list-style:none;display:grid;gap:1px;margin-bottom:8px}.doc-search-results a{display:flex;flex-direction:column;gap:2px;padding:8px 10px;margin-left:-10px;border-radius:6px;text-decoration:none;transition:background 160ms ease}.doc-search-results a:hover{background:var(--stage)}.dsr-title{font-size:16px;line-height:1.3;color:var(--ink)}.dsr-group{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint-text)}.doc-search-empty{padding:8px 10px;font-size:14px;color:var(--faint-text)}.docs-hub-search{position:relative;margin-top:clamp(20px,3vw,30px)}.docs-hub-search .doc-search-input{font-size:17px;padding:14px 52px 14px 18px;border-radius:12px}.docs-hub-search .doc-search-clear{right:12px;width:30px;height:30px;font-size:21px}.docs-hub-search .doc-search-results{margin-top:16px;grid-template-columns:1fr 1fr;gap:2px clamp(24px,4vw,52px);align-items:start}.docs-hub-search .doc-search-results a{padding:12px 14px;margin-left:0;border-radius:8px}.docs-hub-search .dsr-title{font-size:18px}.docs-hub-search .doc-search-empty{grid-column:1/-1;padding:12px 14px;font-size:15px}[data-search-body][hidden]{display:none}.doc-nav-group+.doc-nav-group{margin-top:22px}.doc-nav-group .section-label{display:block;margin-bottom:9px}.doc-nav ul{list-style:none;display:grid;gap:1px}.doc-nav a{display:block;padding:6px 10px;margin-left:-10px;border-radius:6px;font-size:17px;line-height:1.4;color:var(--muted);text-decoration:none;transition:color 160ms ease,background 160ms ease}.doc-nav a:hover{color:var(--ink);background:var(--stage)}.doc-nav a[aria-current=page]{color:var(--ink);font-weight:500;background:var(--stage)}.doc-nav-frag{margin:3px 0 5px 2px;padding-left:9px;border-left:1px solid var(--line)}.doc-nav-frag a{margin-left:0;padding:4px 8px;font-size:15.5px;color:var(--muted)}.doc-nav-frag a:hover{color:var(--ink)}.doc-nav-menu>summary{display:none}.doc-nav-menu:not([open])>.doc-nav-body{display:block}.doc-nav-menu-summary{list-style:none;cursor:pointer}.doc-nav-menu-summary::-webkit-details-marker{display:none}.doc-nav-menu-summary svg{width:18px;height:18px;color:var(--faint-text);transition:transform 200ms ease,color 160ms ease}.doc-nav-menu[open] .doc-nav-menu-summary svg{transform:rotate(180deg)}.page{padding:18px 0 90px}.page-article{margin:0 auto;background:var(--plate);border-radius:var(--pane-r,22px);padding:clamp(26px,3.4vw,48px)}.page-article .page-body,.page-article .page-head{max-width:860px}.page-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px;padding-bottom:24px;border-bottom:1px solid var(--line)}.page-head .doc-updated{margin-top:0;white-space:nowrap}.page-eyebrow{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint-text);margin-bottom:16px}.page-eyebrow::before{content:"";width:18px;height:1px;background:var(--line-strong)}.page-title{font-family:var(--display);font-weight:500;font-size:clamp(31px,3.8vw,45.5px);line-height:1.08;letter-spacing:-.024em}.page-lead{margin-top:14px;font-size:19px;line-height:1.55;color:var(--muted);max-width:52ch}.page-glance{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}.page-glance li{display:flex;align-items:center;gap:11px;padding:14px 16px 14px 0;border-top:1px solid var(--line);font-size:15.5px;line-height:1.35;color:var(--ink)}.page-glance-ic{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:var(--ink);background:color-mix(in srgb,var(--ink) 7%,transparent);box-shadow:inset 0 0 0 1px var(--line)}.page-glance-ic .feature-glyph{width:16px;height:16px;color:inherit}.page-body{counter-reset:sec}.page-body h2{counter-increment:sec;display:flex;align-items:baseline;gap:14px;font-family:var(--display);font-weight:500;font-size:25px;letter-spacing:-.02em;padding-bottom:12px;border-bottom:1px solid var(--line)}.page-body h2::before{content:counter(sec,decimal-leading-zero);font-family:var(--mono);font-size:13px;font-weight:400;letter-spacing:.14em;color:var(--faint-text)}.page-body p{max-width:68ch}.def-row{display:grid;grid-template-columns:160px 1fr;gap:20px;align-items:start;padding:14px 0;border-top:1px solid var(--line)}.def-row+.def-row{margin-top:0}.page-body .def-row:last-of-type{border-bottom:1px solid var(--line)}.def-row b{font-family:var(--display);font-weight:500;font-size:17.5px;letter-spacing:-.01em;color:var(--ink)}.def-row span{font-size:17px;line-height:1.6;color:var(--muted)}.def-row p{margin:0}.doc-article{min-width:0}.doc-article .doc-head,.doc-article .doc-body{max-width:860px}.doc-head{padding-bottom:22px;border-bottom:1px solid var(--line)}.doc-head .section-label{display:block;margin-bottom:14px}.doc-title{font-family:var(--display);font-weight:500;font-size:clamp(31px,3.8vw,45.5px);line-height:1.08;letter-spacing:-.024em}.doc-lead{margin-top:15px;font-size:20px;line-height:1.55;color:var(--muted);max-width:60ch}.doc-updated{margin-top:14px;font-family:var(--mono);font-size:14px;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--faint-text)}.doc-body{margin-top:32px;font-size:18.5px;line-height:1.68;color:var(--muted)}.doc-body>*+*{margin-top:16px}.doc-body p,.doc-body ul,.doc-body ol{max-width:70ch}.doc-body h2{font-family:var(--display);font-weight:500;font-size:26.5px;line-height:1.2;letter-spacing:-.02em;color:var(--ink);margin-top:44px;scroll-margin-top:26px}.doc-body h3{font-family:var(--display);font-weight:500;font-size:20.5px;line-height:1.3;letter-spacing:-.008em;color:var(--ink);margin-top:30px;scroll-margin-top:26px}.doc-body a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong);transition:text-decoration-color 160ms ease}.doc-body a:hover{text-decoration-color:var(--ink)}.doc-body ul,.doc-body ol{list-style:none;display:grid;gap:9px}.doc-body li{position:relative;padding-left:23px}.doc-body ul>li::before{content:"";position:absolute;left:3px;top:.66em;width:5px;height:5px;border-radius:2px;background:var(--faint)}.doc-body ol{counter-reset:doc-step}.doc-body ol>li{counter-increment:doc-step}.doc-body ol>li::before{content:counter(doc-step);position:absolute;left:0;top:0;font-family:var(--mono);font-size:14.5px;line-height:1.9;color:var(--faint-text)}.doc-body li>ul,.doc-body li>ol{margin-top:9px}.doc-body code{font-family:var(--mono);font-size:.86em;color:var(--ink);background:var(--stage);border:1px solid var(--line);border-radius:5px;padding:1.5px 5px;font-variant-ligatures:none}.doc-body pre{position:relative;background:var(--stage);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;overflow-x:auto}.doc-copy{position:absolute;top:8px;right:8px;font-family:var(--mono);font-size:12.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--plate);border:1px solid var(--line);border-radius:999px;padding:4px 10px;cursor:pointer;transition:background-color 160ms ease,color 160ms ease}.doc-copy:hover{background:var(--stage);color:var(--ink)}.doc-copy.is-copied{color:light-dark(#0E6B4E,#7FE0C0)}.doc-body pre code{background:0 0;border:0;padding:0;font-size:15.5px;line-height:1.75}.doc-body table{width:100%;border-collapse:collapse;font-size:17.5px}.doc-body th{text-align:left;font-family:var(--mono);font-size:12.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--faint-text);padding:0 16px 10px 0;border-bottom:1px solid var(--line-strong)}.doc-body td{padding:11px 16px 11px 0;border-bottom:1px solid var(--line);vertical-align:top}.doc-body th:last-child,.doc-body td:last-child{padding-right:0}.doc-body tbody tr:last-child td{border-bottom:0}.doc-body td code{font-size:.85em}.doc-body blockquote{background:var(--stage);border-radius:var(--radius);padding:15px 18px;font-size:17.5px;line-height:1.6}.doc-body blockquote p+p{margin-top:9px}.doc-body hr{border:0;border-top:1px solid var(--line);margin:36px 0}.doc-body img{max-width:100%;height:auto;border:1px solid var(--line);border-radius:var(--radius)}.doc-shot{margin:30px 0}.doc-shot .mode-pic{display:block}.doc-body .doc-shot img{display:block;width:100%;height:auto;border:0;border-radius:0}.doc-shot figcaption{margin-top:11px;font-family:var(--mono);font-size:13px;letter-spacing:.02em;color:var(--faint-text)}.doc-foot{margin-top:46px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 24px}.doc-foot a{font-size:15.5px;font-weight:500;color:var(--muted);text-decoration:none;transition:color 160ms ease}.doc-foot a:hover{color:var(--ink)}@media(max-width:1020px){.doc-layout{grid-template-columns:1fr;gap:20px}.doc-nav{position:static;padding:20px 0 0}.doc-nav ul{gap:0}.doc-nav-frag{display:none}.doc-nav-menu>summary{display:grid;grid-template-columns:minmax(0,1fr)auto;align-items:center;gap:3px 16px;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:var(--stage)}.doc-nav-menu-summary span{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint-text)}.doc-nav-menu-summary strong{grid-column:1;font-family:var(--display);font-size:17px;font-weight:500;color:var(--ink)}.doc-nav-menu-summary svg{grid-column:2;grid-row:1/span 2}.doc-nav-menu:not([open])>.doc-nav-body{display:none}.doc-nav-menu[open]>.doc-nav-body{display:block;margin-top:14px;padding:16px 14px 22px;border-bottom:1px solid var(--line)}}@media(max-width:620px){.doc-body{font-size:18px}.doc-body table{display:block;overflow-x:auto}.doc-foot{flex-direction:column;gap:12px}}.consent{position:fixed;left:14px;bottom:14px;z-index:96;width:340px;max-width:calc(100% - 28px);display:flex;flex-direction:column;gap:12px;padding:20px;border:1px solid var(--line);border-radius:16px;box-shadow:var(--glass-lift);background:var(--nav-glass);-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%)}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.consent{background:var(--plate)}}.consent[hidden]{display:none}.consent-head{display:flex;align-items:center;gap:11px}.consent-ic{flex:none;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:var(--ink);background:color-mix(in srgb,var(--ink) 7%,transparent);box-shadow:inset 0 0 0 1px var(--line)}.consent-ic .feature-glyph{width:17px;height:17px;color:inherit}.consent-title{font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:-.01em;color:var(--ink)}.consent-actions .btn,.consent-actions .btn-outline{flex:1}.consent-text{flex:none;font-size:15.5px;line-height:1.55;color:var(--muted)}.consent-text a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong)}.consent-text a:hover{text-decoration-color:var(--ink)}.consent-actions{display:flex;align-items:center;gap:10px}@media(prefers-reduced-motion:no-preference){.consent{animation:consent-in 320ms cubic-bezier(.2,.7,.3,1)both}@keyframes consent-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}@media(max-width:520px){.consent{flex-direction:column;align-items:stretch}.consent-actions{justify-content:flex-end}}:root{--bezel-top:80px;--bezel-bottom:14px;--bezel-side:max(14px, calc((100% - var(--canvas-max)) / 2));--bezel-ground:light-dark(#E4DACB, #121110);--bezel-hi:light-dark(#ECE4D7, #1A1917);--bezel-edge:light-dark(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.07))}html:has(.canvas){--toolbar-color:var(--bezel-hi)}.canvas{background:var(--canvas);border:1px solid var(--bezel-edge)}body:has(.canvas){background-color:var(--bezel-ground);padding-top:var(--bezel-top);padding-bottom:var(--bezel-bottom);display:flex;flex-direction:column;min-height:100svh}body:not(:has(.canvas)) .bezel{display:none}html.in-app .bezel,html.in-app .site-footer{display:none}html.in-app body:has(.canvas){padding:0;background-color:var(--canvas)}html.in-app .canvas{border-radius:0}html.in-app .canvas::after{display:none}body:has(.canvas) .canvas{flex:1 0 auto;min-height:0;width:100%}.bezel-frame{pointer-events:none}.bezel-bar{position:fixed;top:0;left:0;right:0;z-index:95;height:var(--bezel-top);display:flex;align-items:center;gap:22px;padding:0 calc(var(--bezel-side) + 10px);background:linear-gradient(180deg,var(--bezel-hi) 0%,var(--bezel-ground) 100%);white-space:nowrap}.bezel-bar .lockup-name{font-size:20px}.bezel-bar .nav-actions{margin-left:auto}.bezel-frame{position:fixed;inset:var(--bezel-top)var(--bezel-side)0;z-index:94;border-radius:26px 26px 0 0;box-shadow:0 0 0 200vmax var(--bezel-ground)}.doc-nav{top:calc(var(--bezel-top) + 20px)}html{scroll-padding-top:calc(var(--bezel-top) + 24px)}.bezel-bar{view-transition-name:bezel-bar}.bezel-frame{view-transition-name:bezel-frame}@media(max-width:620px){:root{--bezel-top:60px;--bezel-bottom:8px;--bezel-side:8px}.bezel-bar{padding:0 14px;gap:12px}.bezel-bar{position:static}.bezel-frame{top:0;border-radius:18px 18px 0 0}body:has(.canvas){padding-top:0}}html.v3-page{color-scheme:light dark;--surround:light-dark(#f1f0eb, #0c0d0f);--page:light-dark(#faf9f5, #131416);--surface:light-dark(#fffefa, #18191c);--surface-raised:light-dark(#e8e7e1, #202125);--surface-soft:light-dark(#e2e1db, #26272b);--ink:light-dark(#17181c, #f4f2ed);--muted:light-dark(#666763, #aaa7a0);--faint:light-dark(#92918b, #74736e);--line:light-dark(rgba(23, 24, 28, .1), rgba(244, 242, 237, .11));--line-strong:light-dark(rgba(23, 24, 28, .22), rgba(244, 242, 237, .22));--feature-bg:light-dark(#17181b, #eceae5);--feature-card:light-dark(#1e1f22, #f8f6f1);--feature-ink:light-dark(#f5f3ee, #191a1e);--feature-muted:light-dark(#a6a49e, #686963);--feature-line:light-dark(rgba(245, 243, 238, .12), rgba(25, 26, 30, .14));--mark-top:light-dark(#f1f0eb, #f2f0f4);--pink:#ff4088;--blue:#0594cb;--green:#33ba91;--gold:#ebb951;--pink-wash:light-dark(#f5d8e1, #4a2533);--blue-wash:light-dark(#d4e7ea, #173b46);--green-wash:light-dark(#d8e7dc, #1d3e34);--gold-wash:light-dark(#ede1c5, #483b20);--q-pink:transparent;--q-blue:transparent;--q-green:transparent;--q-gold:transparent;--nav-bg:#242429;--nav-ink:#f5f0e7;--nav-muted:#b8b4ae;--nav-line:rgba(255, 255, 255, .12);--window-ring:light-dark(rgba(255, 255, 255, .38), rgba(255, 255, 255, .09));--shadow-window:light-dark(0 24px 64px rgba(30, 26, 21, .12), 0 28px 72px rgba(0, 0, 0, .42));--shadow-panel:light-dark(0 10px 28px rgba(30, 26, 21, .07), 0 14px 38px rgba(0, 0, 0, .2));--radius-window:16px;--radius-section:30px;--page-max:1360px;--section-max:1720px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-expo:cubic-bezier(.19, 1, .22, 1);--toolbar-color:var(--surround);background-color:var(--surround);scroll-padding-top:84px;scroll-behavior:smooth}html.v3-page{--page:light-dark(#f0f0ec, #0d0e0f);--surround:var(--page);--surface:light-dark(#f8f8f5, #171819);--surface-raised:light-dark(#e6e6e0, #242526);--ink:light-dark(#111213, #f0efeb);--muted:light-dark(#656762, #a2a39e);--line:light-dark(rgba(17,18,19,.12), rgba(240,239,235,.13));--line-strong:light-dark(rgba(17,18,19,.22), rgba(240,239,235,.23));--faint-text:var(--muted);--canvas:var(--page);--plate:var(--surface);--stage:var(--surface);--toolbar-color:var(--page);--text-max:44rem;--media-max:70rem;--site-max:76rem;--site-gutter:clamp(22px, 4vw, 64px);--sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Segoe UI", sans-serif;--display:var(--sans);--font-brand:"Manrope", -apple-system, BlinkMacSystemFont, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--heading-weight:500;--heading-tracking:-.015em;--heading-leading:1.25;--section-space:clamp(88px, 10vw, 144px);--story-space:clamp(64px, 7vw, 96px);--detail-space:40px;scroll-padding-top:100px;background:var(--page)}html.v3-page[data-theme=light]{color-scheme:light}html.v3-page[data-theme=dark]{color-scheme:dark}body.v3-home,body.v3-site{display:block;margin:0;padding:0;background:var(--page);color:var(--ink);font-family:var(--sans);font-size:17px;font-weight:400;line-height:1.6;letter-spacing:normal;-webkit-font-smoothing:antialiased}.v3-page h1,.v3-page h2,.v3-page h3{font-family:var(--display);font-weight:var(--heading-weight);letter-spacing:var(--heading-tracking);line-height:var(--heading-leading)}.v3-page p{text-wrap:pretty}.v3-page a{text-underline-offset:.2em}.v3-page button,.v3-page summary{font:inherit}.v3-page button{cursor:pointer}.v3-page :focus-visible{outline:2px solid var(--ink);outline-offset:5px}.v3-page ::selection{background:var(--ink);color:var(--page)}.v3-prose{width:min(100% - var(--site-gutter) * 2,var(--text-max));margin-inline:auto}.v3-media{width:min(100% - var(--site-gutter),var(--media-max));margin-inline:auto}.v3-media .mode-pic,.v3-media .shot{display:block;width:100%;height:auto;margin:0;padding:0;border:0;border-radius:0;background:0 0;box-shadow:none}.v3-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:12px 21px;border:0;border-radius:9px;background:var(--ink);color:var(--page)!important;font-size:15px;font-weight:500;line-height:1.4;text-decoration:none;transition:opacity .15s ease}.v3-button:is(:hover,:focus-visible){opacity:.84}.v3-button:active{opacity:.66}.v3-text-link{display:inline-flex;align-items:center;gap:10px;padding:0;border:0;background:0 0;color:var(--ink);font-size:inherit;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:.22em}.v3-text-link:is(:hover,:focus-visible){text-decoration-color:initial}.v3-text-link,.v3-doc-links a{transition:text-decoration-color .14s ease,opacity .14s ease}.v3-text-link:active,.v3-doc-links a:active{opacity:.62}.v3-nav{position:sticky;top:0;z-index:40;border-bottom:1px solid var(--line);background:var(--page)}.v3-nav-inner{width:min(100% - var(--site-gutter) * 2,var(--site-max));min-height:76px;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.v3-lockup{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}.v3-lockup svg{width:28px;height:28px;flex:none}.v3-lockup-word{font-family:var(--font-brand);font-size:17px;font-weight:600;letter-spacing:-.04em;white-space:nowrap}.v3-nav-links{display:flex;align-items:center;gap:28px}.v3-nav-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);font-size:17px;text-decoration:none}.v3-nav-links a{transition:color .14s ease,opacity .14s ease}.v3-nav-links a:is(:hover,:focus-visible),.v3-nav-links a[aria-current]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:.45em}.v3-nav-links a:active{opacity:.62}.v3-nav-links a[aria-current]{text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:.45em}.v3-nav-actions,.v3-nav-download-group{display:flex;align-items:center;gap:12px}.v3-nav .v3-nav-download{min-height:40px;padding:9px 15px;font-size:15px}.v3-nav-download-arrow{display:none}.v3-nav .v3-nav-release{padding:6px 0;border:0;background:0 0;color:var(--muted);font-family:var(--mono);font-size:15px}.v3-theme-toggle,.v3-nav-menu{display:inline-grid;place-items:center;width:44px;height:44px;padding:12px;border:0;border-radius:8px;background:0 0;color:var(--ink)}.v3-theme-toggle,.v3-nav-menu{transition:background-color .14s ease}.v3-theme-toggle:is(:hover,:focus-visible),.v3-nav-menu:is(:hover,:focus-visible){background:var(--surface)}.v3-theme-toggle:active,.v3-nav-menu:active{background:var(--surface-raised)}.v3-nav .v3-nav-release{transition:color .14s ease}.v3-nav .v3-nav-release:is(:hover,:focus-visible){color:var(--ink);text-decoration:underline;text-underline-offset:.25em}.v3-theme-toggle svg{grid-area:1/1;width:18px;height:18px}.v3-theme-toggle .v3-sun{opacity:0}html.v3-page[data-theme=dark] .v3-sun{opacity:1}html.v3-page[data-theme=dark] .v3-moon{opacity:0}@media(prefers-color-scheme:dark){html.v3-page:not([data-theme=light]) .v3-sun{opacity:1}html.v3-page:not([data-theme=light]) .v3-moon{opacity:0}}.v3-nav-menu{display:none;align-content:center;gap:5px}.v3-nav-menu span{display:block;width:18px;height:1px;background:currentColor}.v3-site-footer{margin:var(--section-space)0 0;padding:56px 0 28px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}.v3-footer-inner{width:min(100% - var(--site-gutter) * 2,var(--media-max));margin-inline:auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.v3-footer-intro p{margin-top:12px}.v3-footer-intro p+p{margin-top:4px}.v3-footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.v3-footer-links a,.v3-footer-links button,.v3-footer-bottom button{min-height:32px;display:inline-flex;align-items:center;padding:0;border:0;background:0 0;color:var(--muted);text-decoration:none}.v3-footer-links a,.v3-footer-links button,.v3-footer-bottom button{transition:color .14s ease,opacity .14s ease}.v3-footer-links a:is(:hover,:focus-visible),.v3-footer-links button:is(:hover,:focus-visible),.v3-footer-bottom button:is(:hover,:focus-visible){color:var(--ink);text-decoration:underline}.v3-footer-links a:active,.v3-footer-links button:active,.v3-footer-bottom button:active{opacity:.62}.v3-footer-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:24px;border-top:1px solid var(--line);font-size:12px}.v3-page .skip-link:focus{position:fixed;z-index:100;left:16px;top:12px;background:var(--ink);color:var(--page)}.v3-page .v3-dialog-top h2{font-size:clamp(30px,5vw,44px);font-weight:var(--heading-weight);letter-spacing:var(--heading-tracking);line-height:var(--heading-leading)}@media(max-width:900px){.v3-nav-inner{gap:14px}.v3-nav-links{gap:18px}.v3-nav-release{display:none}}@media(max-width:760px){.v3-nav-inner{min-height:68px;gap:8px}.v3-nav-actions{gap:2px}.v3-nav-menu{display:grid}.v3-nav-links{position:absolute;left:0;right:0;top:100%;display:none;padding:16px var(--site-gutter)24px;background:var(--page);border-bottom:1px solid var(--line)}.v3-nav-links.is-open{display:grid;gap:2px}.v3-nav-links a{font-size:18px}.v3-nav-download-group{gap:0}.v3-nav .v3-nav-download{min-height:44px;padding-inline:12px}.v3-footer-inner{grid-template-columns:1fr 1fr;gap:28px}.v3-footer-intro{grid-column:1/-1}.v3-footer-links a,.v3-footer-links button{min-height:40px}.v3-footer-bottom{align-items:flex-start;flex-direction:column;gap:4px}}@media(prefers-reduced-motion:reduce){html.v3-page{scroll-behavior:auto}.v3-page *,.v3-page *::before,.v3-page *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.v3-home main{overflow:clip}.v3-hero{padding-top:64px}.v3-home .v3-hero-heading{max-width:14ch;margin:0;font-size:clamp(44px,6.3vw,80px);font-weight:var(--heading-weight);letter-spacing:-.025em;line-height:1.1;text-wrap:balance}.v3-hero-heading>span{color:var(--muted)}.v3-hero-lead{max-width:42ch;margin-top:20px;color:var(--muted);font-size:clamp(19px,2.2vw,23px);line-height:1.5}.v3-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:24px;font-size:15px}.v3-hero-requirements{margin-top:12px;color:var(--muted);font-size:13px}.v3-hero-media{margin-top:8px}.v3-facts-row{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:32px;padding:0;list-style:none}.v3-facts-row strong{display:block;font-weight:500;font-size:17px}.v3-facts-row span{display:block;margin-top:5px;color:var(--muted);font-size:13px;line-height:1.5}.v3-section{margin-top:var(--section-space)}.v3-product-chapter{margin-top:var(--section-space)}.v3-product-chapter>.v3-section{margin-top:0}.v3-product-chapter>.v3-story{margin-top:var(--story-space)}.v3-section h2{max-width:21ch;margin:0;font-size:clamp(30px,4vw,44px);font-weight:var(--heading-weight);letter-spacing:var(--heading-tracking);line-height:var(--heading-leading);text-wrap:balance}.v3-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 18px;color:var(--muted);font-size:13px}.v3-quartet{display:inline-flex;gap:3px}.v3-quartet i{width:5px;height:5px}.v3-quartet i:nth-child(1){background:var(--pink)}.v3-quartet i:nth-child(2){background:var(--blue)}.v3-quartet i:nth-child(3){background:var(--green)}.v3-quartet i:nth-child(4){background:var(--gold)}.v3-section-lead{margin-top:22px;color:var(--muted);font-size:19px;line-height:1.65}.v3-workflow{margin-top:40px}.v3-workflow-row{display:grid;grid-template-columns:28px 96px 1fr;gap:18px;padding:25px 0;border-top:1px solid var(--line)}.v3-step{padding-top:2px;color:var(--muted);font-family:var(--mono);font-size:11px}.v3-workflow h3{margin:0;font-family:var(--sans);font-size:17px;font-weight:500}.v3-workflow p{margin:0;color:var(--muted)}.v3-doc-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:14px;font-size:13px}.v3-doc-links a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:.25em}.v3-doc-links a:hover{text-decoration-color:initial}.v3-doc-links .feature-doc{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0;border:0;border-radius:0;background:0 0;box-shadow:none;font-family:var(--sans);font-size:13px;letter-spacing:normal}.v3-doc-links .feature-doc:hover{background:0 0}.v3-doc-links .feature-doc-ic,.v3-doc-links .feature-doc-kicker,.v3-doc-links .feature-doc-sep{display:none}.v3-hugo-help{margin-top:16px;font-size:14px}.v3-story .v3-media{margin-top:36px}.v3-story .v3-story-media{width:min(100% - var(--site-gutter) * 2,56rem)}.v3-shot-focus{display:block;position:relative;width:100%;overflow:clip;padding:0;border:0;background:0 0;cursor:zoom-in}.v3-shot-focus .mode-pic{position:absolute}.v3-shot-focus--preflight{aspect-ratio:1296/1020}.v3-shot-focus--preflight .mode-pic{width:165.432%;left:-32.716%;top:-21.961%}.v3-shot-focus--publish{aspect-ratio:1404/704}.v3-shot-focus--publish .mode-pic{width:152.707%;left:-43.59%;top:-29.545%}.v3-story figcaption{justify-content:center;margin-top:0;padding-inline:20px}.v3-feature-list{margin-top:36px}.v3-feature-detail{border-top:1px solid var(--line)}.v3-feature-detail:last-child{border-bottom:1px solid var(--line)}.v3-feature-detail summary{display:flex;align-items:flex-start;gap:18px;padding:22px 32px 22px 0;position:relative;list-style:none;cursor:pointer}.v3-feature-detail summary::-webkit-details-marker,.v3-faq-item summary::-webkit-details-marker{display:none}.v3-feature-detail summary::after,.v3-faq-item summary::after{content:"+";position:absolute;right:0;top:22px;color:var(--muted);font-size:20px;font-weight:400;line-height:1.4}.v3-feature-detail[open] summary::after,.v3-faq-item[open] summary::after{content:"−"}.v3-feature-glyph{flex:none;width:20px;padding-top:3px;color:var(--muted)}.v3-feature-glyph svg{width:20px;height:20px}.v3-feature-name{display:block;font-size:17px;font-weight:500}.v3-feature-description{display:block;margin-top:4px;color:var(--muted);font-size:15px;line-height:1.5}.v3-feature-body{padding:0 32px 28px 38px;color:var(--ink);font-size:16px}.v3-feature-body ul{margin:16px 0 0;padding-left:20px}.v3-feature-body li+li{margin-top:10px}.v3-more-features{margin-top:20px}.v3-more-features>summary{display:flex;align-items:center;gap:12px;min-height:44px;width:fit-content;cursor:pointer;font-size:15px;list-style:none;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:.25em}.v3-more-features>summary::-webkit-details-marker{display:none}.v3-more-features>summary::before{content:"+";width:12px;font-size:18px}.v3-more-features[open]>summary::before{content:"−"}.v3-more-features>summary span{color:var(--muted);font-family:var(--mono);font-size:12px;text-decoration:none}.v3-more-features .v3-feature-list{margin-top:16px}.v3-feature-detail summary,.v3-faq-item summary{transition:background-color .14s ease}.v3-feature-detail summary:is(:hover,:focus-visible) .v3-feature-name,.v3-faq-item summary:is(:hover,:focus-visible),.v3-more-features>summary:is(:hover,:focus-visible){text-decoration:underline;text-decoration-color:initial;text-underline-offset:.25em}.v3-feature-detail summary:active,.v3-faq-item summary:active{background:var(--surface-raised)}.v3-note,.v3-download{padding-top:var(--detail-space);border-top:1px solid var(--line)}.v3-all-docs{margin-top:24px;font-size:15px}.v3-home code{padding:.1em .3em;border-radius:4px;background:var(--surface-raised);color:var(--ink);font-family:var(--mono);font-size:.8em}.v3-note-copy{font-size:22px;line-height:1.6}.v3-note-byline{display:inline-flex;gap:12px;align-items:center;margin-top:24px;font-size:14px;text-decoration:none}.v3-note-byline img{width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:50% 35%}.v3-donate-line{margin-top:24px;color:var(--muted);font-size:14px}.v3-faq-list{margin-top:36px}.v3-faq-item{border-top:1px solid var(--line)}.v3-faq-item:last-child{border-bottom:1px solid var(--line)}.v3-faq-item summary{position:relative;display:block;padding:22px 32px 22px 0;list-style:none;cursor:pointer;font-size:17px}.v3-faq-num,.v3-chips{display:none}.v3-faq-answer{padding:0 32px 24px 0;color:var(--ink);font-size:16px}.v3-download-mark{margin-bottom:28px}.v3-download>.v3-button{margin-top:28px}.v3-download-facts{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}.v3-download-facts dt{color:var(--muted);font-size:12px}.v3-download-facts dd{margin-top:4px;font-size:15px}.v3-download-note{margin-top:28px;color:var(--muted);font-size:13px}@media(max-width:600px){.v3-hero{padding-top:40px}.v3-hero-heading{max-width:12ch}.v3-hero-media{margin-top:12px}.v3-facts-row{grid-template-columns:1fr;gap:18px;margin-top:26px}.v3-facts-row li{display:flex;align-items:baseline;gap:14px}.v3-facts-row strong{min-width:100px;font-size:15px}.v3-facts-row span{margin:0}.v3-workflow-row{grid-template-columns:24px 1fr;gap:10px 14px}.v3-workflow-row>div{grid-column:2}.v3-note-copy{font-size:20px}.v3-feature-body{padding-left:0;padding-right:8px}.v3-download-facts{grid-template-columns:1fr;gap:16px}}.v3-dialog{inset:0;width:min(100% - 32px,780px);max-height:min(86vh,900px);margin:auto;padding:0;overflow:auto;border:1px solid var(--line-strong);border-radius:20px;background-color:var(--surface);color:var(--ink);box-shadow:var(--shadow-window),inset 0 1px 0 var(--window-ring)}.v3-dialog::backdrop{background:rgba(13,13,12,.64);backdrop-filter:blur(10px)}.v3-dialog[open]{animation:v3-dialog-in .42s var(--ease-out)}@keyframes v3-dialog-in{from{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.v3-dialog[open]{animation:none}}.v3-dialog-inner{padding:clamp(28px,5vw,52px)}.v3-dialog-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.v3-dialog-top h2{margin:0;font-size:clamp(40px,6vw,64px);font-weight:650;letter-spacing:-.055em;line-height:1}.v3-dialog-close{width:36px;height:36px;flex:none;display:grid;place-items:center;padding:0;border:1px solid var(--line-strong);border-radius:50%;background:0 0;color:var(--ink);cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.v3-dialog-close:hover{border-color:var(--ink);background-color:var(--surface-raised)}.v3-dialog-body{margin:28px 0 0;color:var(--muted);font-size:18px}.v3-usp-label{margin:34px 0 12px;color:var(--faint)}.v3-usp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.v3-usp{padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.v3-usp b{display:block;color:var(--ink);font-size:14px}.v3-usp span{display:block;margin-top:5px;color:var(--muted);font-size:13px}.v3-dialog-bridge{margin:28px 0 0;font-weight:600}.v3-dialog-link{display:inline-block;margin-top:18px;border-bottom:1px solid var(--line-strong);color:var(--muted);font-family:var(--mono);font-size:11px;text-decoration:none}.v3-dialog-link:hover{border-color:var(--blue);color:var(--blue)}.v3-release-dialog{position:fixed;inset:0;width:min(100% - 32px,580px);max-height:calc(100dvh - 32px);margin:auto;padding:32px;overflow:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink)}.v3-release-dialog::backdrop{background:rgba(0,0,0,.45)}.v3-release-dialog-card{position:relative}.v3-release-dialog button{color:var(--ink)}.v3-release-dialog-banner{margin-bottom:24px}.v3-release-dialog-mark svg{width:48px;height:48px}.v3-release-dialog-close{position:absolute;right:-12px;top:-12px;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:0 0;font-size:24px!important}.v3-release-dialog-close:hover{background:var(--surface-raised)}.v3-release-dialog-kicker{color:var(--muted);font-size:12px}.v3-release-dialog h2{margin-top:12px;font-size:34px;font-weight:var(--heading-weight);letter-spacing:var(--heading-tracking);line-height:var(--heading-leading)}.v3-release-dialog-summary{margin-top:18px;color:var(--muted);font-size:16px;line-height:1.6}.v3-release-dialog-features{margin-top:24px;padding:0;list-style:none}.v3-release-dialog-features li{display:grid;grid-template-columns:24px 1fr;gap:12px;padding:16px 0;border-top:1px solid var(--line)}.v3-release-dialog-feature-index{padding-top:2px;color:var(--muted);font-family:var(--mono);font-size:11px}.v3-release-dialog-features strong{display:block;font-size:15px;font-weight:500}.v3-release-dialog-features small{display:block;margin-top:4px;color:var(--muted);font-size:14px;line-height:1.5}.v3-release-dialog-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:28px;font-size:14px}.v3-release-dialog-primary{padding:12px 16px;border-radius:8px;background:var(--ink);color:var(--page);text-decoration:none}.v3-release-dialog-dismiss{min-height:44px;padding:0;border:0;background:0 0}@media(max-width:480px){.v3-release-dialog{padding:24px}}html.v3-page:not(.in-app) .bezel-frame{display:none}html.v3-page:not(.in-app) .canvas{display:block;max-width:none;min-height:0;margin:0;padding:0;overflow:visible;border:0;border-radius:0;background:0 0}html.v3-page:not(.in-app) .canvas::after{display:none}html.v3-page:not(.in-app) .docs-hub,html.v3-page:not(.in-app) .release-hub,html.v3-page:not(.in-app) .page,html.v3-page:not(.in-app) .release,html.v3-page:not(.in-app) .doc{width:calc(100% - var(--site-gutter) * 2);max-width:var(--text-max);margin:0 auto;padding:clamp(64px,8vw,112px)0 clamp(80px,10vw,144px);border:0;border-radius:0;background:0 0}html.v3-page:not(.in-app) .hub-head,html.v3-page:not(.in-app) .docs-hub .hub-head{max-width:none}html.v3-page:not(.in-app) .hub-title,html.v3-page:not(.in-app) .doc-title,html.v3-page:not(.in-app) .page-title,html.v3-page:not(.in-app) .release-version,html.v3-page:not(.in-app) .notfound-heading{color:var(--ink);font-family:var(--display);font-size:clamp(2.25rem,4.8vw,3.5rem);font-weight:var(--heading-weight);line-height:var(--heading-leading);letter-spacing:var(--heading-tracking);text-wrap:balance}html.v3-page:not(.in-app) .docs-hub .section-body,html.v3-page:not(.in-app) .hub-sub,html.v3-page:not(.in-app) .doc-lead,html.v3-page:not(.in-app) .page-lead{max-width:none;margin-top:20px;color:var(--muted);font-family:inherit;font-size:1.125rem;line-height:1.65;letter-spacing:normal}html.v3-page:not(.in-app) .hub-rss{color:var(--muted);font-size:.75rem}html.v3-page:not(.in-app) .doc-groups{margin-top:64px;gap:52px}html.v3-page:not(.in-app) .doc-group{display:block;padding:0;border:0}html.v3-page:not(.in-app) .doc-group-head{flex-direction:row;align-items:baseline;gap:16px;padding:0 0 14px}html.v3-page:not(.in-app) .doc-group-head .section-label{color:var(--ink);font-family:var(--display);font-size:1.125rem;font-weight:var(--heading-weight);letter-spacing:var(--heading-tracking);text-transform:none}html.v3-page:not(.in-app) .doc-group-count,html.v3-page:not(.in-app) .doc-index-date,html.v3-page:not(.in-app) .doc-updated,html.v3-page:not(.in-app) .release-date,html.v3-page:not(.in-app) .release-list time{color:var(--muted);font-size:.75rem;letter-spacing:0}html.v3-page:not(.in-app) .doc-index li+li{border-top:1px solid var(--line)}html.v3-page:not(.in-app) .doc-index a{margin:0;padding:20px 0;gap:8px 24px;border-radius:0;background:0 0;transition:opacity 140ms ease}html.v3-page:not(.in-app) .doc-index a:hover{background:0 0}html.v3-page:not(.in-app) .doc-index-title{font-family:var(--display);font-size:1.125rem;font-weight:var(--heading-weight);letter-spacing:var(--heading-tracking)}html.v3-page:not(.in-app) .doc-index-title,html.v3-page:not(.in-app) .dsr-title{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em;transition:text-decoration-color 140ms ease}html.v3-page:not(.in-app) .doc-index a:hover .doc-index-title,html.v3-page:not(.in-app) .doc-index a:focus-visible .doc-index-title{text-decoration-color:var(--ink)}html.v3-page:not(.in-app) .doc-index-desc{max-width:60ch;margin-top:5px;color:var(--muted);font-size:.9375rem;line-height:1.6}html.v3-page:not(.in-app) .docs-hub-search{margin-top:32px}html.v3-page:not(.in-app) .doc-search{position:relative}html.v3-page:not(.in-app) .doc-search-input{width:100%;min-height:46px;padding:11px 42px 11px 14px;border:1px solid var(--line);border-radius:8px;background:0 0;color:var(--ink);font-family:inherit;font-size:.9375rem;line-height:1.5}html.v3-page:not(.in-app) .doc-search-input::placeholder{color:var(--muted);opacity:1}html.v3-page:not(.in-app) .doc-search-input:focus{border-color:var(--ink);outline:2px solid var(--blue);outline-offset:3px;box-shadow:none}html.v3-page:not(.in-app) .doc-search-clear{color:var(--muted)}html.v3-page:not(.in-app) .doc-search-results,html.v3-page:not(.in-app) .docs-hub-search .doc-search-results{display:grid;grid-template-columns:1fr;gap:0;margin-top:14px}html.v3-page:not(.in-app) .doc-search-results a,html.v3-page:not(.in-app) .docs-hub-search .doc-search-results a{padding:12px 0;margin:0;border-bottom:1px solid var(--line);border-radius:0;background:0 0;transition:opacity 140ms ease}html.v3-page:not(.in-app) .doc-search-results a:hover{color:var(--ink);background:0 0}html.v3-page:not(.in-app) .doc-search-results a:hover .dsr-title,html.v3-page:not(.in-app) .doc-search-results a:focus-visible .dsr-title{text-decoration-color:var(--ink)}html.v3-page:not(.in-app) .dsr-title,html.v3-page:not(.in-app) .docs-hub-search .dsr-title{color:var(--ink);font-size:1rem}html.v3-page:not(.in-app) .dsr-group{color:var(--muted);font-size:.75rem}html.v3-page:not(.in-app) .doc-search-empty,html.v3-page:not(.in-app) .docs-hub-search .doc-search-empty{padding:14px 0;color:var(--muted);font-size:.9375rem}html.v3-page:not(.in-app) .doc-search-results[hidden],html.v3-page:not(.in-app) [data-search-body][hidden],html.v3-page:not(.in-app) .doc-search-clear[hidden]{display:none}html.v3-page:not(.in-app) .doc{max-width:var(--site-max)}html.v3-page:not(.in-app) .doc-layout{grid-template-columns:250px minmax(0,var(--text-max));justify-content:center;gap:clamp(40px,6vw,80px)}html.v3-page:not(.in-app) .doc-nav{position:sticky;top:108px;max-height:calc(100svh - 64px);overflow-y:auto;overscroll-behavior:contain;padding:0 8px 12px 0}html.v3-page:not(.in-app) .doc-nav-home{margin:20px 0 16px}html.v3-page:not(.in-app) .doc-nav a,html.v3-page:not(.in-app) .doc-nav .doc-nav-home{margin-left:0;padding:6px 0;border-radius:0;font-family:inherit;font-size:.875rem;line-height:1.5;letter-spacing:0;text-transform:none}html.v3-page:not(.in-app) .doc-nav a{color:var(--muted);background:0 0;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.22em;transition:color 140ms ease,text-decoration-color 140ms ease}html.v3-page:not(.in-app) .doc-nav a:hover,html.v3-page:not(.in-app) .doc-nav a:focus-visible,html.v3-page:not(.in-app) .doc-nav a[aria-current=page]{color:var(--ink);background:0 0;text-decoration-color:var(--ink)}html.v3-page:not(.in-app) .doc-nav a[aria-current=page]{font-weight:500}html.v3-page:not(.in-app) .doc-nav-group+.doc-nav-group{margin-top:26px}html.v3-page:not(.in-app) .doc-nav-group .section-label{color:var(--muted);font-family:inherit;font-size:.75rem;font-weight:500;letter-spacing:0;text-transform:none}html.v3-page:not(.in-app) .doc-nav-frag{margin:6px 0 10px;padding-left:14px;border-left:0}html.v3-page:not(.in-app) .doc-nav .doc-nav-frag a{font-size:.8125rem}html.v3-page:not(.in-app) .doc-article{min-width:0;max-width:var(--text-max);padding:0;border-radius:0;background:0 0}html.v3-page:not(.in-app) .doc-article .doc-head,html.v3-page:not(.in-app) .doc-article .doc-body{max-width:none}html.v3-page:not(.in-app) .doc-head{padding:0;border:0}html.v3-page:not(.in-app) .doc-head .section-label{margin-bottom:22px;color:var(--muted);font-family:inherit;font-size:.8125rem;letter-spacing:0;text-transform:none}html.v3-page:not(.in-app) .doc-updated{margin-top:18px}html.v3-page:not(.in-app) .doc-body{margin-top:44px;color:var(--ink);font-size:1.0625rem;line-height:1.75;overflow-wrap:anywhere}html.v3-page:not(.in-app) .doc-body p,html.v3-page:not(.in-app) .doc-body ul,html.v3-page:not(.in-app) .doc-body ol{max-width:none}html.v3-page:not(.in-app) .doc-body li{min-width:0}html.v3-page:not(.in-app) .doc-body h2,html.v3-page:not(.in-app) .page-body h2{display:block;margin-top:52px;padding:0;border:0;color:var(--ink);font-family:var(--display);font-size:1.5rem;font-weight:var(--heading-weight);letter-spacing:var(--heading-tracking);line-height:var(--heading-leading);scroll-margin-top:32px}html.v3-page:not(.in-app) .doc-body h3{margin-top:32px;font-family:var(--display);font-size:1.1875rem;font-weight:var(--heading-weight);line-height:var(--heading-leading)}html.v3-page:not(.in-app) .doc-body>:first-child{margin-top:0}html.v3-page:not(.in-app) .doc-body a,html.v3-page:not(.in-app) .release-body a{text-decoration-color:var(--line);transition:text-decoration-color 140ms ease,opacity 140ms ease}html.v3-page:not(.in-app) .doc-body a:hover,html.v3-page:not(.in-app) .doc-body a:focus-visible,html.v3-page:not(.in-app) .release-body a:hover,html.v3-page:not(.in-app) .release-body a:focus-visible{text-decoration-color:var(--ink)}html.v3-page:not(.in-app) .doc-body code{border:0;background:var(--surface);font-size:.85em}html.v3-page:not(.in-app) .doc-body pre{padding:20px;border:0;border-radius:8px;background:var(--surface)}html.v3-page:not(.in-app) .doc-body pre:has(.doc-copy){padding-top:48px}html.v3-page:not(.in-app) .doc-body pre code{padding:0;background:0 0;font-size:.8125rem;white-space:pre}html.v3-page:not(.in-app) .doc-copy{border-radius:6px;background:var(--page);font-family:inherit;font-size:.75rem;letter-spacing:0;text-transform:none}html.v3-page:not(.in-app) .doc-body table{display:block;width:100%;overflow-x:auto;font-size:.9375rem}html.v3-page:not(.in-app) .doc-body th{color:var(--muted);font-family:inherit;font-size:.8125rem;font-weight:500;letter-spacing:0;text-transform:none}html.v3-page:not(.in-app) .doc-body blockquote{padding:18px 20px;border:0;border-radius:8px;background:var(--surface);font-size:1rem}html.v3-page:not(.in-app) .doc-body .doc-shot{margin:36px 0}html.v3-page:not(.in-app) .doc-body .doc-shot img{border:0;border-radius:0}html.v3-page:not(.in-app) .doc-shot figcaption{color:var(--muted);font-family:inherit;font-size:.8125rem}html.v3-page:not(.in-app) .doc-foot{margin-top:64px;padding-top:24px;border-color:var(--line)}html.v3-page:not(.in-app) .doc-foot a{font-size:.875rem;font-weight:400}html.v3-page:not(.in-app) .release-hub .release-list,html.v3-page:not(.in-app) .release-hub .hub-sub,html.v3-page:not(.in-app) .release-hub .release-empty{max-width:none}html.v3-page:not(.in-app) #release-list-view{margin-top:52px;border:0}html.v3-page:not(.in-app) .release-list{margin-top:0}html.v3-page:not(.in-app) .release-list li{padding:28px 0;border-color:var(--line)}html.v3-page:not(.in-app) .release-list a{font-family:var(--display);font-size:1.5rem;font-weight:var(--heading-weight);letter-spacing:var(--heading-tracking);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em;transition:text-decoration-color 140ms ease,opacity 140ms ease}html.v3-page:not(.in-app) .release-list a:hover,html.v3-page:not(.in-app) .release-list a:focus-visible{text-decoration-color:var(--ink)}html.v3-page:not(.in-app) .doc-index a:active,html.v3-page:not(.in-app) .doc-search-results a:active,html.v3-page:not(.in-app) .doc-body a:active,html.v3-page:not(.in-app) .release-body a:active,html.v3-page:not(.in-app) .release-list a:active{opacity:.72}html.v3-page:not(.in-app) .rl-desc{max-width:none;margin-top:10px;color:var(--muted);font-size:1rem;line-height:1.65}html.v3-page:not(.in-app) .release-wrap{display:block;width:100%;max-width:none;padding:0}html.v3-page:not(.in-app) .release-rail{position:static}html.v3-page:not(.in-app) .release-head{padding:0;border:0}html.v3-page:not(.in-app) .release-version{margin-top:0}html.v3-page:not(.in-app) .release-date{margin-top:16px}html.v3-page:not(.in-app) .release-note{margin-top:32px;padding:24px 0 0;border-top:1px solid var(--line);border-radius:0;background:0 0}html.v3-page:not(.in-app) .release-note-head{gap:10px;margin-bottom:12px}html.v3-page:not(.in-app) .release-note-portrait{width:28px;height:28px;box-shadow:none}html.v3-page:not(.in-app) .release-note-label{color:var(--muted);font-family:inherit;font-size:.8125rem;font-weight:400;letter-spacing:0;text-transform:none}html.v3-page:not(.in-app) .release-note-body{color:var(--muted);font-size:.9375rem;line-height:1.7}html.v3-page:not(.in-app) .release-main{min-width:0;margin-top:44px}html.v3-page:not(.in-app) .release-body{margin-top:0;color:var(--ink);font-size:1.0625rem;line-height:1.75;overflow-wrap:anywhere}html.v3-page:not(.in-app) .release-body>p:first-of-type{margin-bottom:28px;color:var(--muted);font-family:inherit;font-size:1.25rem;font-weight:400;line-height:1.6;letter-spacing:normal}html.v3-page:not(.in-app) .release-body h2{font-weight:400}html.v3-page:not(.in-app) .release-body h2#new,html.v3-page:not(.in-app) .release-body h2#improved,html.v3-page:not(.in-app) .release-body h2#fixed,html.v3-page:not(.in-app) .release-body h2#removed,html.v3-page:not(.in-app) .release-body h2#notes{display:block;margin:40px 0 16px;padding:0;border:0;border-radius:0;background:0 0;color:var(--ink);font-family:var(--display);font-size:1.25rem;font-weight:var(--heading-weight);line-height:var(--heading-leading);letter-spacing:var(--heading-tracking);text-transform:none}html.v3-page:not(.in-app) .release-body ul{gap:14px}html.v3-page:not(.in-app) .release-body li{padding-left:20px}html.v3-page:not(.in-app) .release-body li::before{width:4px;height:4px;background:var(--muted)}html.v3-page:not(.in-app) .release-filter{display:flex;flex-wrap:wrap;gap:8px;width:fit-content;margin:28px 0 36px;padding:0;border:0;background:0 0}html.v3-page:not(.in-app) .release-filter-label,html.v3-page:not(.in-app) .release-filter-indicator{display:none}html.v3-page:not(.in-app) .rf-btn{padding:7px 12px;border:0;border-radius:6px;color:var(--muted);background:0 0;font-family:inherit;font-size:.875rem;letter-spacing:0;text-transform:none;transition:color 140ms ease,background-color 140ms ease}html.v3-page:not(.in-app) .rf-btn:hover,html.v3-page:not(.in-app) .rf-btn:focus-visible,html.v3-page:not(.in-app) .rf-btn[aria-selected=true]{color:var(--ink);background:var(--surface)}html.v3-page:not(.in-app) .rf-btn:active{background:var(--surface-raised)}html.v3-page:not(.in-app) .page-article{margin:0;padding:0;border-radius:0;background:0 0}html.v3-page:not(.in-app) .page-article .page-body,html.v3-page:not(.in-app) .page-article .page-head{max-width:none}html.v3-page:not(.in-app) .page-head{display:block;padding:0;border:0}html.v3-page:not(.in-app) .page-eyebrow{margin-bottom:22px;color:var(--muted);font-family:inherit;font-size:.8125rem;letter-spacing:0;text-transform:none}html.v3-page:not(.in-app) .page-eyebrow::before{display:none}html.v3-page:not(.in-app) .page-head .doc-updated{margin-top:18px}html.v3-page:not(.in-app) .page-glance{grid-template-columns:1fr;gap:0;margin-top:36px}html.v3-page:not(.in-app) .page-glance li{gap:14px;padding:14px 0;border-color:var(--line);color:var(--muted);font-size:.9375rem;line-height:1.6}html.v3-page:not(.in-app) .page-glance-ic{width:24px;height:24px;color:var(--ink);background:0 0;border-radius:0;box-shadow:none}html.v3-page:not(.in-app) .page-body{margin-top:48px}html.v3-page:not(.in-app) .page-body h2::before{display:none}html.v3-page:not(.in-app) .def-row{grid-template-columns:160px minmax(0,1fr);gap:24px;padding:18px 0;border-color:var(--line)}html.v3-page:not(.in-app) .def-row b{font-family:var(--display);font-size:1rem;font-weight:500}html.v3-page:not(.in-app) .def-row span{font-size:1rem;line-height:1.7}html.v3-page:not(.in-app) .notfound{display:block;width:calc(100% - var(--site-gutter) * 2);max-width:var(--text-max);min-height:65svh;margin:0 auto;padding:clamp(80px,12vw,160px)0}html.v3-page:not(.in-app) .notfound-inner{width:100%;max-width:none;padding:0;text-align:left}html.v3-page:not(.in-app) .notfound-mark{margin:0 0 32px}html.v3-page:not(.in-app) .notfound-heading{max-width:12ch;margin-bottom:24px}html.v3-page:not(.in-app) .notfound .section-body{margin:0}html.v3-page:not(.in-app) .notfound .cta-row{justify-content:flex-start}@media(max-width:1020px){html.v3-page:not(.in-app) .doc{max-width:var(--text-max)}html.v3-page:not(.in-app) .doc-layout{grid-template-columns:minmax(0,1fr);gap:44px}html.v3-page:not(.in-app) .doc-nav{position:static;max-height:none;overflow:visible;padding:0}html.v3-page:not(.in-app) .doc-nav-frag{display:none}html.v3-page:not(.in-app) .doc-nav-menu{margin-top:14px}html.v3-page:not(.in-app) .doc-nav-menu>summary{display:grid;padding:14px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:0 0}html.v3-page:not(.in-app) .doc-nav-menu-summary span{color:var(--muted);font-family:inherit;font-size:.75rem;letter-spacing:0;text-transform:none}html.v3-page:not(.in-app) .doc-nav-menu-summary strong{color:var(--ink);font-family:var(--display);font-size:.9375rem;font-weight:var(--heading-weight)}html.v3-page:not(.in-app) .doc-nav-menu:not([open])>.doc-nav-body{display:none}html.v3-page:not(.in-app) .doc-nav-menu[open]>.doc-nav-body{margin-top:16px;padding:0 0 24px}}@media(max-width:640px){html.v3-page:not(.in-app) .docs-hub,html.v3-page:not(.in-app) .release-hub,html.v3-page:not(.in-app) .page,html.v3-page:not(.in-app) .release,html.v3-page:not(.in-app) .doc{padding-top:52px;padding-bottom:80px}html.v3-page:not(.in-app) .doc-groups{margin-top:44px;gap:40px}html.v3-page:not(.in-app) .doc-group-head{flex-wrap:wrap;justify-content:flex-start;gap:4px 12px}html.v3-page:not(.in-app) .doc-index a{grid-template-columns:minmax(0,1fr);padding:18px 0}html.v3-page:not(.in-app) .doc-index-date{order:3}html.v3-page:not(.in-app) .doc-body{margin-top:32px}html.v3-page:not(.in-app) .doc-body h2,html.v3-page:not(.in-app) .page-body h2{margin-top:40px}html.v3-page:not(.in-app) .doc-body pre{padding-inline:16px}html.v3-page:not(.in-app) .rl-head{align-items:flex-start;flex-direction:column;gap:6px}html.v3-page:not(.in-app) .release-list li{padding:24px 0}html.v3-page:not(.in-app) .release-main{margin-top:32px}html.v3-page:not(.in-app) .def-row{grid-template-columns:minmax(0,1fr);gap:6px}html.v3-page:not(.in-app) .notfound{padding:80px 0}}