.web-body{max-width:var(--container-7xl);margin:0 auto;padding:0 1.5rem 2.5rem}.web-chapter{border-top:1px solid color-mix(in srgb, var(--fg) 12%, transparent);padding:4.75rem 0}.web-chapter,.web-chapter [id]{scroll-margin-top:calc(var(--site-header-bottom,5rem) + 5rem)}.web-chapter .service-band-head{margin-bottom:2.4rem}.web-chapter-head{max-width:44rem}.web-chapter-kicker{color:var(--accent-readable);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:.7rem;margin-bottom:1.1rem;font-size:.72rem;font-weight:600;display:flex}.web-chapter-index{font-variant-numeric:tabular-nums}.web-title-word,.web-item-word,.web-copy-word{will-change:transform, opacity;display:inline-block}.web-item-word{vertical-align:bottom;margin-bottom:-.08em;padding-bottom:.08em;overflow:hidden}.web-chapter-rule{background:color-mix(in srgb, var(--accent) 55%, transparent);transform-origin:0;width:2.25rem;height:1px}.web-toc{top:var(--site-header-bottom,4.5rem);z-index:20;border-radius:var(--shape-radius-pill);background:0 0;align-items:center;gap:1.25rem;margin:2.5rem 0 -1rem;padding:.55rem .55rem .55rem 1.1rem;display:flex;position:sticky}.web-toc-label{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;flex-shrink:0;font-size:.72rem;font-weight:600}.web-toc ol{flex-wrap:wrap;flex:1;align-items:center;gap:.15rem;min-width:0;display:flex}.web-toc ol a{border-radius:var(--shape-radius-pill);min-height:2.5rem;color:var(--muted);align-items:baseline;gap:.45rem;padding:.55rem .85rem;font-size:.88rem;font-weight:500;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.web-toc ol a span{color:var(--accent-readable);font-variant-numeric:tabular-nums;font-size:.72rem}.web-toc ol a:hover{background:color-mix(in srgb, var(--bg) 72%, transparent);color:var(--fg)}.web-toc ol a:focus-visible{outline:2px solid var(--ring);outline-offset:2px;color:var(--fg)}.web-toc ol a[aria-current=location]{color:var(--accent-readable);text-decoration-line:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 70%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 70%, transparent);text-underline-offset:.45em;text-decoration-thickness:2px}.web-toc-cta{flex-shrink:0;display:flex}.web-toc-link{border:1px solid color-mix(in srgb, var(--fg) 22%, transparent);border-radius:var(--shape-radius-pill);min-height:2.75rem;color:var(--fg);background:0 0;flex-shrink:0;align-items:center;gap:.5rem;padding:0 1.1rem;font-size:.86rem;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s,transform .25s cubic-bezier(.16,1,.3,1);display:inline-flex}.web-toc-link svg{width:1rem;height:1rem;transition:transform .25s cubic-bezier(.16,1,.3,1)}.web-toc-link:hover{border-color:var(--accent);background:color-mix(in srgb, var(--bg) 72%, transparent)}.web-toc-link:hover svg{transform:translate(2px)}.web-toc-link:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.web-stage{margin:.25rem 0 2.5rem}.web-card{border:1px solid color-mix(in srgb, var(--fg) 10%, transparent);border-radius:var(--shape-radius-lg);background:linear-gradient(180deg, color-mix(in srgb, var(--bg) 46%, transparent), transparent 55%), var(--surface);box-shadow:0 1px 0 color-mix(in srgb, var(--bg) 60%, transparent) inset;padding:1.6rem 1.6rem 1.7rem;transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .25s,box-shadow .3s;position:relative;overflow:hidden}.web-card:after{content:"";background:linear-gradient(90deg, var(--accent), transparent 70%);opacity:0;pointer-events:none;height:2px;transition:opacity .3s;position:absolute;inset:0 0 auto}.web-card:hover{border-color:color-mix(in srgb, var(--accent) 30%, transparent);box-shadow:0 1px 0 color-mix(in srgb, var(--bg) 60%, transparent) inset, 0 22px 40px -26px rgb(var(--shadow-color) / .5);transform:translateY(-3px)}.web-card:hover:after{opacity:1}.web-card:focus-within{border-color:color-mix(in srgb, var(--accent) 40%, transparent)}.web-card-icon{border:1px solid color-mix(in srgb, var(--accent) 26%, transparent);background:color-mix(in srgb, var(--accent) 12%, transparent);width:2.5rem;height:2.5rem;color:var(--accent-readable);border-radius:.85rem;place-items:center;margin-bottom:1rem;display:inline-grid}.web-card-icon svg{width:1.25rem;height:1.25rem}.web-browser{background:var(--bg);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent), 0 24px 40px -24px rgb(var(--shadow-color) / .4);border-radius:1.15rem;overflow:hidden}.web-browser-bar{border-bottom:1px solid color-mix(in srgb, var(--fg) 12%, transparent);align-items:center;gap:.35rem;padding:.55rem .7rem;display:flex}.web-browser-bar span,.web-migrate-bar>span,.web-seo-bar>span{border-radius:var(--shape-radius-pill);background:color-mix(in srgb, var(--fg) 22%, transparent);width:.48rem;height:.48rem}.web-browser-bar em,.web-migrate-bar em,.web-seo-bar em{background:var(--surface);min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-radius:.4rem;flex:1;margin-left:.35rem;padding:.15rem .5rem;font-size:.6875rem;font-style:normal;overflow:hidden}.web-stack{margin:.25rem 0 1.5rem}.web-stack-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.4rem;display:flex}.web-stack-eyebrow{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:600}.web-stack-flow{isolation:isolate;grid-template-columns:minmax(0,1fr) 4.5rem minmax(0,1.5fr) 4.5rem minmax(0,1fr);align-items:center;display:grid;position:relative}.web-stack-flow:before{content:"";z-index:-1;border-radius:var(--shape-radius-pill);background:color-mix(in srgb, var(--accent) 24%, transparent);filter:blur(72px);pointer-events:none;width:min(36rem,72%);height:16rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.web-stack-node{min-width:0;position:relative}.web-stack-link{height:3rem;position:relative}.web-stack-link i{background:repeating-linear-gradient(to right, color-mix(in srgb, var(--fg) 32%, transparent) 0 4px, transparent 4px 8px);height:1px;position:absolute;top:50%;left:0;right:0}.web-stack-link span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem;font-weight:600;position:absolute;bottom:calc(50% + .45rem);left:50%;transform:translate(-50%)}.web-stack-link:after{content:"";border-radius:var(--shape-radius-pill);background:var(--accent);width:.6rem;height:.6rem;box-shadow:0 0 14px color-mix(in srgb, var(--accent) 80%, transparent);opacity:0;margin-top:-.3rem;position:absolute;top:50%;left:0}.web-stack-link.is-a{--fire:.8s}.web-stack-link.is-b{--fire:1.14s}.web-stack-link.is-firing:after{animation:web-stack-packet var(--fire) cubic-bezier(.5, 0, .3, 1) both}@keyframes web-stack-packet{0%{opacity:1;left:0}85%{opacity:1}to{opacity:0;left:calc(100% - .6rem)}}@keyframes web-stack-packet-down{0%{opacity:1;top:0}85%{opacity:1}to{opacity:0;top:calc(100% - .6rem)}}.web-stack-node .web-browser{width:100%}.web-stack-badge{border-radius:var(--shape-radius-pill);background:color-mix(in srgb, var(--accent) 18%, var(--surface));color:var(--accent-readable);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:.35rem;padding:.15rem .5rem;font-size:.6875rem;font-weight:600;transition:background .3s,color .3s;display:inline-flex;position:absolute;top:.4rem;right:.75rem}.web-stack-badge:before{content:"";border-radius:var(--shape-radius-pill);background:currentColor;width:.35rem;height:.35rem}.web-stack-badge.is-busy{background:color-mix(in srgb, var(--amber) 22%, var(--surface));color:var(--amber-readable)}.web-stack-badge.is-busy:before{animation:.7s ease-in-out infinite web-stack-pulse}@keyframes web-stack-pulse{50%{opacity:.25}}.web-book-fresh{animation:.9s both web-stack-fresh}@keyframes web-stack-fresh{0%{background:color-mix(in srgb, var(--accent) 35%, transparent);color:var(--fg)}}.web-stack-rail-wrap{border-top:1px solid color-mix(in srgb, var(--fg) 12%, transparent);margin-top:1.75rem;position:relative}.web-stack-progress{background:var(--accent);transform-origin:0;pointer-events:none;height:2px;position:absolute;top:-1px;left:0;right:0;transform:scaleX(0)}.web-stack-rail{counter-reset:stack-step;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.web-stack-rail li{color:var(--muted);padding-top:.9rem;transition:color .3s}.web-stack-rail li:before{counter-increment:stack-step;content:"0" counter(stack-step);letter-spacing:.1em;font-variant-numeric:tabular-nums;margin-bottom:.25rem;font-size:.6875rem;font-weight:600;display:block}.web-stack-rail b{font-size:.95rem;font-weight:600;display:block}.web-stack-rail span{margin-top:.15rem;font-size:.8rem;line-height:1.45;display:block}.web-stack-rail li.is-active{color:var(--fg)}.web-stack-rail li.is-active:before,.web-stack-rail li.is-active b{color:var(--accent-readable)}.web-stack-rail li.is-done{color:color-mix(in srgb, var(--fg) 75%, transparent)}.web-stack-note{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;text-align:center;margin-top:1.1rem;font-size:.72rem;font-weight:500}.web-book{background:var(--surface);grid-template-columns:.9fr 1.1fr;gap:.7rem;padding:.85rem .95rem 1rem;display:grid}.web-book-map{border:1px solid color-mix(in srgb, var(--fg) 8%, transparent);background:radial-gradient(90% 70% at 70% 20%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 70%), linear-gradient(to right, color-mix(in srgb, var(--fg) 5%, transparent) 1px, transparent 1px) 0 0 / 14px 14px, linear-gradient(to bottom, color-mix(in srgb, var(--fg) 5%, transparent) 1px, transparent 1px) 0 0 / 14px 14px, var(--bg);min-height:7.5rem;color:var(--accent);border-radius:.85rem;flex-direction:column;padding:.6rem .55rem .5rem;display:flex;position:relative;overflow:hidden}.web-book-map>div:first-child{flex:1;min-height:0}.web-book-map-meta{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-variant-numeric:tabular-nums;margin-top:.35rem;font-size:.6875rem;font-weight:500}.web-book-kicker{color:var(--muted);font-size:.6875rem}.web-book-name{font-family:var(--font-h1), serif;letter-spacing:-.03em;margin-top:.15rem;font-size:1.35rem;line-height:1}.web-book-copy ul{gap:.35rem;margin-top:.7rem;display:grid}.web-book-copy li{grid-template-columns:1fr auto auto;align-items:baseline;gap:.45rem;font-size:.6875rem;display:grid}.web-book-copy em{color:var(--muted);font-variant-numeric:tabular-nums;font-style:normal}.web-book-copy b{font-variant-numeric:tabular-nums;font-weight:500}.web-book-cta{border-radius:var(--shape-radius-pill);background:var(--accent);color:var(--accent-foreground);text-align:center;margin-top:.7rem;padding:.45rem .6rem;font-size:.6875rem;font-weight:500;display:block}.web-cms,.web-edge{background:var(--surface);padding:.85rem .95rem 1rem}.web-cms-nav,.web-edge-label,.web-seo-label,.web-migrate-kicker{color:var(--muted);justify-content:space-between;align-items:center;font-size:.6875rem;display:flex}.web-cms-nav span{color:var(--accent-readable)}.web-cms-title,.web-migrate-title,.web-edge-value{font-family:var(--font-h1), serif;letter-spacing:-.03em;margin-top:.2rem;font-size:1.35rem;line-height:1}.web-cms-field{color:var(--muted);margin-top:.75rem;font-size:.6875rem}.web-cms-options{gap:.3rem;margin-top:.3rem;display:grid}.web-cms-option{background:var(--bg);color:var(--muted);cursor:pointer;text-align:left;border:1px solid #0000;border-radius:.45rem;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.4rem .55rem;font-size:.72rem;line-height:1.35;transition:border-color .25s,color .25s;display:flex}.web-cms-option em{color:var(--accent-readable);letter-spacing:.08em;text-transform:uppercase;flex-shrink:0;font-size:.6875rem;font-style:normal;font-weight:600}.web-cms-option:hover,.web-cms-option:focus-visible{color:var(--fg)}.web-cms-option.is-picked{border-color:color-mix(in srgb, var(--accent) 55%, transparent);color:var(--fg)}.web-cms-option[aria-disabled=true]{cursor:default}.web-cms-publish{border-radius:var(--shape-radius-pill);background:var(--accent);color:var(--accent-foreground);cursor:pointer;margin-top:.85rem;padding:.4rem .85rem;font-size:.6875rem;font-weight:600;transition:opacity .25s;display:inline-block}.web-cms-publish[aria-disabled=true]{cursor:default;opacity:.55}.web-cms-option:focus-visible,.web-cms-publish:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.web-edge-value{color:var(--accent-readable);font-variant-numeric:tabular-nums;font-size:1.7rem}.web-edge-note{color:var(--muted);margin-top:.25rem;font-size:.6875rem}.web-edge ul,.web-migrate-pane ul{gap:.4rem;margin-top:.85rem;display:grid}.web-edge li,.web-migrate-pane li{grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;font-size:.72rem;display:grid}.web-edge em,.web-migrate-pane b{color:var(--muted);font-size:.6875rem;font-style:normal;font-weight:500}.web-edge li span{border-radius:var(--shape-radius-pill);background:var(--accent);width:.45rem;height:.45rem;transition:background .25s}.web-edge li.is-purge span{background:var(--amber)}.web-edge li.is-purge em{color:var(--amber-readable)}.web-build-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:1rem;display:grid}.web-build-grid article{padding:1.6rem 1.6rem 1.7rem}.web-build-grid article:nth-child(odd){padding-right:1.6rem}.web-build-grid article:nth-child(2n){padding-left:1.6rem}.web-build-grid h3,.web-process-col h3,.web-seo-copy h3{font-family:var(--font-h2), sans-serif;letter-spacing:-.01em;text-wrap:balance;font-size:1.06rem;font-weight:600;line-height:1.35}.web-build-grid article:nth-child(odd) h3,.web-build-grid article:nth-child(2n) h3{color:var(--fg)}.web-build-grid p,.web-process-col p,.web-seo-copy p,.web-ledger td{max-width:34rem;color:var(--muted);text-wrap:pretty;font-size:.96rem;line-height:1.65}.web-build-grid p,.web-process-col>p{margin-top:.6rem}.web-migrate{grid-template-columns:1fr 1fr;gap:1.25rem;margin:.4rem 0 2.4rem;display:grid}.web-migrate-pane{border-radius:var(--shape-radius-lg);background:var(--surface);box-shadow:0 0 0 1px color-mix(in srgb, var(--fg) 10%, transparent);overflow:hidden}.web-migrate-pane.is-headless{box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent), 0 24px 40px -28px rgb(var(--shadow-color) / .4)}.web-migrate-bar,.web-seo-bar{border-bottom:1px solid color-mix(in srgb, var(--fg) 10%, transparent);align-items:center;gap:.35rem;padding:.55rem .8rem;display:flex}.web-migrate-bar i{border-radius:var(--shape-radius-pill);background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent-readable);padding:.12rem .4rem;font-size:.6875rem;font-style:normal;font-weight:500}.web-migrate-pane>.web-migrate-kicker,.web-migrate-pane>.web-migrate-title,.web-migrate-pane>.web-migrate-warn,.web-migrate-pane>.web-migrate-ok,.web-migrate-pane>ul{padding-left:1rem;padding-right:1rem}.web-migrate-pane>.web-migrate-kicker{margin-top:1rem}.web-migrate-pane>ul{padding-bottom:1.15rem}.web-migrate-warn{color:var(--error);margin-top:.4rem;font-size:.78rem}.web-migrate-ok{color:var(--accent-readable);margin-top:.4rem;font-size:.78rem}.web-migrate-dot{border-radius:var(--shape-radius-pill);background:var(--muted);width:.42rem;height:.42rem}.web-migrate-dot.update,.web-migrate-dot.conflict{background:var(--error)}.web-migrate-dot.ok{background:var(--accent)}.web-ledger{border-collapse:separate;border-spacing:0;border:1px solid color-mix(in srgb, var(--fg) 10%, transparent);border-radius:var(--shape-radius-lg);background:var(--surface);width:100%;box-shadow:0 18px 34px -30px rgb(var(--shadow-color) / .5);overflow:hidden}.web-ledger caption{text-align:left}.web-ledger th,.web-ledger td{border-top:1px solid color-mix(in srgb, var(--fg) 9%, transparent);text-align:left;vertical-align:top;padding:1.1rem 1.25rem}.web-ledger tbody tr:first-child th,.web-ledger tbody tr:first-child td{border-top:0}.web-ledger th:first-child,.web-ledger td:first-child{width:18%;color:var(--fg);font-size:.95rem;font-weight:600}.web-ledger thead th{background:color-mix(in srgb, var(--bg) 42%, transparent);border-top:0;padding-top:1rem;padding-bottom:1rem}.web-ledger-side{color:var(--fg);font-family:var(--font-h2), sans-serif;letter-spacing:-.01em;font-size:1rem;font-weight:600;line-height:1.3;display:block}.web-ledger-side.is-after{color:var(--accent-readable)}.web-ledger-sub{color:var(--muted);font-family:var(--font-h2), sans-serif;margin-top:.2rem;font-size:.78rem;font-weight:400;line-height:1.45;display:block}.web-ledger tbody th{font-variant-numeric:tabular-nums}.web-ledger td{font-size:.95rem}.web-ledger td.is-after{background:color-mix(in srgb, var(--accent) 6%, transparent);color:var(--fg)}.web-ledger-cell-label{display:none}.web-proto{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(1.5rem,4vw,3.5rem);margin:.25rem 0 .5rem;display:grid}.web-proto-side{flex-direction:column;gap:1rem;min-width:0;display:flex}.web-proto-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.web-proto-eyebrow{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:600}.web-proto-tabs{gap:.6rem;display:grid}.web-proto-tab{border:1px solid color-mix(in srgb, var(--fg) 10%, transparent);background:color-mix(in srgb, var(--surface) 55%, transparent);color:var(--muted);cursor:pointer;text-align:left;border-radius:1rem;grid-template-columns:auto 1fr auto;align-items:baseline;column-gap:.75rem;padding:.95rem 1.1rem;transition:background .25s,border-color .25s,opacity .25s,color .25s;display:grid;position:relative;overflow:hidden}.web-proto-tab:hover:not(:disabled),.web-proto-tab:focus-visible{border-color:color-mix(in srgb, var(--accent) 40%, transparent);color:var(--fg)}.web-proto-tab:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.web-proto-tab-path{font-family:var(--font-code);opacity:.8;font-size:.76rem}.web-proto-tab-name{font-size:1rem;font-weight:600}.web-proto-tab-status{border-radius:var(--shape-radius-pill);background:color-mix(in srgb, var(--fg) 8%, transparent);letter-spacing:.08em;text-transform:uppercase;padding:.15rem .55rem;font-size:.72rem;font-weight:600}.web-proto-tab-why{grid-column:1/-1;grid-template-rows:0fr;font-size:.86rem;line-height:1.5;transition:grid-template-rows .35s cubic-bezier(.16,1,.3,1);display:grid}.web-proto-tab-why>span{min-height:0;overflow:hidden}.web-proto-tab.is-selected .web-proto-tab-why{grid-template-rows:1fr}.web-proto-tab.is-selected .web-proto-tab-why>span{padding-top:.55rem}.web-proto-tab.is-selected{border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 10%, var(--surface));color:var(--fg)}.web-proto-tab.is-selected .web-proto-tab-status{background:color-mix(in srgb, var(--accent) 22%, transparent);color:var(--accent-readable)}.web-proto-tab.is-shipped .web-proto-tab-status{background:var(--accent);color:var(--accent-foreground)}.web-proto-tab.is-cut{cursor:default;opacity:.45}.web-proto-tab.is-cut .web-proto-tab-name{text-decoration:line-through}.web-proto-tab-timer{background:var(--accent);transform-origin:0;height:2px;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.web-proto-ship{border-radius:var(--shape-radius-pill);background:var(--accent);min-height:2.9rem;color:var(--accent-foreground);cursor:pointer;align-self:flex-start;align-items:center;gap:.6rem;padding:0 1.4rem;font-size:.92rem;font-weight:600;transition:transform .25s,box-shadow .25s;display:inline-flex}.web-proto-ship svg{width:1.05rem;height:1.05rem}.web-proto-ship:hover{box-shadow:0 14px 24px -14px color-mix(in srgb, var(--accent) 80%, transparent);transform:translateY(-1px)}.web-proto-ship:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.web-proto-view{flex-direction:column;gap:1rem;min-width:0;display:flex}.web-proto-frame,.web-proto-checks{width:100%;max-width:30rem;margin-inline:auto}.web-proto-frame{isolation:isolate;position:relative}.web-proto-frame:before{z-index:-1;background:radial-gradient(closest-side, color-mix(in srgb, var(--accent) 16%, transparent), transparent);content:"";opacity:.6;transition:opacity .5s;position:absolute;inset:-12% -8%}.web-proto-frame.is-live:before{opacity:1}.web-proto-frame .web-browser{transition:box-shadow .5s}.web-proto-frame.is-live .web-browser{box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 65%, transparent), 0 30px 60px -28px color-mix(in srgb, var(--accent) 55%, transparent)}.web-proto-swap{animation:.4s cubic-bezier(.16,1,.3,1) both web-proto-in}@keyframes web-proto-in{0%{opacity:0;transform:translateY(8px)}}.web-proto-screen{background:var(--surface);min-height:17rem;padding:1.1rem 1.2rem 1.25rem;font-size:1.05rem}.web-proto-list-head{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;margin-bottom:.4em;font-size:.64em;font-weight:600;display:flex}.web-proto-row{border-top:1px solid color-mix(in srgb, var(--fg) 9%, transparent);grid-template-columns:2.4em 1fr auto;align-items:center;gap:.6em;padding:.55em 0;font-size:.8em;display:grid}.web-proto-row>em{color:var(--fg);font-variant-numeric:tabular-nums;font-style:normal;font-weight:600}.web-proto-row span{font-weight:500;display:block}.web-proto-row i{border-radius:var(--shape-radius-pill);background:color-mix(in srgb, var(--fg) 10%, transparent);height:3px;margin:.3em 0 .2em;display:block;overflow:hidden}.web-proto-row i b{border-radius:inherit;background:var(--accent);height:100%;display:block}.web-proto-row small{color:var(--muted);font-size:.8em}.web-proto-row strong{border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);border-radius:var(--shape-radius-pill);color:var(--accent-readable);font-variant-numeric:tabular-nums;padding:.3em .55em;font-size:.9em;font-weight:600}.web-proto-screen.is-featured{flex-direction:column;gap:.6em;display:flex}.web-proto-hero{background:radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--accent) 38%, transparent), transparent 65%), color-mix(in srgb, var(--bg) 70%, var(--surface));border-radius:.75em;padding:.85em .9em .8em}.web-proto-hero p{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.66em;font-weight:600}.web-proto-hero b{font-family:var(--font-h1), serif;letter-spacing:-.04em;margin-top:.1em;font-size:3.6em;font-weight:400;line-height:.9;display:block}.web-proto-hero span{border-radius:var(--shape-radius-pill);background:color-mix(in srgb, var(--signal) 16%, transparent);color:color-mix(in srgb, var(--signal) 80%, var(--fg));margin-top:.45em;padding:.15em .5em;font-size:.64em;font-weight:600;display:inline-block}.web-proto-cta{border-radius:var(--shape-radius-pill);background:var(--accent);color:var(--accent-foreground);justify-content:space-between;align-items:center;gap:.75em;padding:.3em .3em .3em .8em;font-size:.85em;display:flex}.web-proto-cta em{font-variant-numeric:tabular-nums;font-style:normal;font-weight:600}.web-proto-cta strong{border-radius:var(--shape-radius-pill);background:color-mix(in srgb, var(--accent-foreground) 14%, transparent);padding:.45em .9em;font-size:.85em;font-weight:600}.web-proto-next{color:var(--muted);text-align:center;font-size:.68em}.web-proto-map{background:linear-gradient(to right, color-mix(in srgb, var(--fg) 5%, transparent) 1px, transparent 1px) 0 0 / 14px 14px, linear-gradient(to bottom, color-mix(in srgb, var(--fg) 5%, transparent) 1px, transparent 1px) 0 0 / 14px 14px, var(--bg);border-radius:.75em;height:9rem;margin-bottom:.7em;padding:.4rem}.web-proto-legend{gap:.3em;display:grid}.web-proto-legend li{background:color-mix(in srgb, var(--bg) 55%, transparent);border-radius:.5em;grid-template-columns:auto 1fr auto;align-items:center;gap:.5em;padding:.35em .55em;font-size:.76em;display:grid}.web-proto-legend i{border-radius:var(--shape-radius-pill);width:.9rem;height:3px}.web-proto-legend .is-a i{background:var(--accent)}.web-proto-legend .is-b i{background:var(--violet)}.web-proto-legend .is-c i{background:var(--amber)}.web-proto-legend em{color:var(--muted);font-variant-numeric:tabular-nums;font-style:normal}.web-proto-checks{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.6rem;display:grid}.web-proto-checks li{border:1px dashed color-mix(in srgb, var(--fg) 20%, transparent);color:var(--muted);border-radius:.8rem;gap:.15rem;padding:.65rem .8rem;transition:background .4s,border-color .4s;display:grid}.web-proto-checks li span{letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:600}.web-proto-checks li b{font-size:.86rem;font-weight:600}.web-proto-checks li.is-done{border-style:solid;border-color:color-mix(in srgb, var(--accent) 50%, transparent);background:color-mix(in srgb, var(--accent) 9%, transparent)}.web-proto-checks li.is-done b{color:var(--accent-readable)}.web-process{grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem;display:grid}.web-process-eyebrow{letter-spacing:.15em;text-transform:uppercase;margin-bottom:.7rem;font-size:.72rem;font-weight:600}.web-process-col.is-usual .web-process-eyebrow{color:var(--muted)}.web-process-col.is-mine{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 14%, transparent), transparent 55%), var(--surface);border-color:color-mix(in srgb, var(--accent) 26%, transparent)}.web-process-col.is-mine .web-process-eyebrow{color:var(--accent-readable)}.web-process-col.is-mine h3{color:var(--fg)}.web-process-col ol{gap:.75rem;margin-top:1.15rem;display:grid}.web-process-col li{grid-template-columns:2.1rem 1fr;align-items:baseline;gap:.7rem;font-size:.97rem;line-height:1.55;display:grid}.web-process-col li span{color:var(--accent-readable);font-family:var(--font-h2), sans-serif;font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:600}.web-process-col.is-usual li span{color:var(--muted)}.web-outcomes{border-top:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem;padding-top:0;display:grid}.web-outcomes p{font-family:var(--font-h2), sans-serif;letter-spacing:-.01em;font-size:1.02rem;font-weight:600;line-height:1.35}.web-outcomes span{color:var(--muted);margin-top:.5rem;font-size:.94rem;line-height:1.6;display:block}.web-seo{margin:.4rem 0 2.5rem}.web-seo-panel{background:var(--surface);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent), 0 28px 50px -28px rgb(var(--shadow-color) / .42);border-radius:1.35rem;overflow:hidden}.web-seo-grid{grid-template-columns:1.15fr .85fr;gap:1.5rem 2rem;padding:1.15rem 1.2rem 1.3rem;display:grid}.web-seo-grid ul,.web-seo-grid dl{gap:.45rem;margin-top:.7rem;display:grid}.web-seo-grid li,.web-seo-grid dl>div{border-top:1px solid color-mix(in srgb, var(--fg) 10%, transparent);justify-content:space-between;align-items:baseline;gap:.8rem;padding:.45rem 0;display:flex}.web-seo-grid code{color:var(--fg);font-family:var(--font-code);font-size:.88rem}.web-seo-grid b{font-size:.72rem;font-weight:500}.web-seo-grid b.is-ok{color:var(--accent-readable)}.web-seo-grid b.is-off{color:var(--muted)}.web-seo-grid dt{color:var(--muted);font-size:.78rem}.web-seo-grid dd{font-family:var(--font-h1), serif;font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:1.55rem;line-height:1}.web-seo-list{grid-template-columns:1fr 1fr;align-items:stretch;gap:1rem;display:grid}.web-seo-copy{padding:1.6rem 1.6rem 1.7rem}.web-seo-copy:nth-child(odd){padding-right:1.6rem}.web-seo-copy:nth-child(2n){background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 7%, transparent), transparent 60%), var(--surface);padding-left:1.6rem}.web-seo-copy p{margin-top:.6rem}@media (max-width:1023px){.web-toc{gap:.5rem;padding-left:.55rem}.web-toc-label{display:none}.web-toc ol{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 1.5rem),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 1.5rem),#0000)}.web-toc ol::-webkit-scrollbar{display:none}.web-toc ol a{white-space:nowrap}.web-build-grid{grid-template-columns:1fr 1fr}.web-stack-flow{grid-template-columns:minmax(0,1fr);justify-items:center;row-gap:0}.web-stack-node{width:100%;max-width:32rem}.web-stack-link{width:100%;height:3.25rem}.web-stack-link i{background:repeating-linear-gradient(to bottom, color-mix(in srgb, var(--fg) 32%, transparent) 0 4px, transparent 4px 8px);width:1px;height:auto;inset:0 auto 0 50%}.web-stack-link span{top:50%;bottom:auto;left:calc(50% + .6rem);transform:translateY(-50%)}.web-stack-link:after{margin-top:0;margin-left:-.3rem;top:0;left:50%}.web-stack-link.is-firing:after{animation-name:web-stack-packet-down}.web-stack-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.web-migrate,.web-process,.web-outcomes,.web-seo-grid{grid-template-columns:1fr}.web-seo-list{grid-template-columns:1fr 1fr}.web-proto{grid-template-columns:1fr}}@media (max-width:639px){.web-chapter,.web-chapter [id]{scroll-margin-top:calc(var(--site-header-bottom,5rem) + 1.25rem)}.web-body{padding-bottom:2rem}.web-chapter{padding:3.4rem 0}.web-chapter-kicker{font-size:.72rem}.web-toc{border-radius:var(--shape-radius-lg);flex-direction:column;align-items:stretch;gap:.6rem;margin:1.75rem 0 0;padding:1rem;position:static}.web-toc ol{grid-template-columns:1fr 1fr;gap:.25rem;display:grid;overflow:visible;-webkit-mask-image:none;mask-image:none}.web-toc ol a{white-space:normal;width:100%;min-height:3rem}.web-card{padding:1.35rem 1.3rem 1.45rem}.web-build-grid,.web-migrate,.web-process,.web-outcomes,.web-seo-grid,.web-seo-list{grid-template-columns:1fr}.web-build-grid article:nth-child(odd),.web-build-grid article:nth-child(2n),.web-seo-copy:nth-child(odd),.web-seo-copy:nth-child(2n){padding-left:1.3rem;padding-right:1.3rem}.web-ledger{box-shadow:none;background:0 0;border:0}.web-ledger,.web-ledger tbody,.web-ledger tr,.web-ledger th,.web-ledger td{width:100%;display:block}.web-ledger thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.web-ledger tbody{gap:.9rem;display:grid}.web-ledger tr{border:1px solid color-mix(in srgb, var(--fg) 10%, transparent);border-radius:var(--shape-radius-lg);background:var(--surface);padding:1.25rem 1.25rem 1.35rem}.web-ledger th,.web-ledger td{border:0;padding:0}.web-ledger th[scope=row]{border-bottom:1px solid color-mix(in srgb, var(--fg) 9%, transparent);font-family:var(--font-h2), sans-serif;margin-bottom:.75rem;padding-bottom:.75rem;font-size:1rem;font-weight:600}.web-ledger td+td{border-top:1px dashed color-mix(in srgb, var(--fg) 12%, transparent);margin-top:.75rem;padding-top:.75rem}.web-ledger-cell-label{letter-spacing:.12em;text-transform:uppercase;margin-bottom:.25rem;font-size:.72rem;font-weight:600;display:block}.web-ledger td .web-ledger-cell-label{color:var(--muted)}.web-ledger td.is-after{background:0 0}.web-ledger td.is-after .web-ledger-cell-label{color:var(--accent-readable)}}@media (prefers-reduced-motion:reduce){.web-stack-badge,.web-cms-option,.web-cms-publish,.web-stack-rail li,.web-edge li span,.web-proto-tab,.web-proto-tab-why,.web-proto-ship,.web-proto-frame:before,.web-proto-frame .web-browser,.web-proto-checks li,.web-card,.web-toc-link,.web-toc-link svg,.web-title-word,.web-item-word,.web-copy-word{will-change:auto;transition:none}.web-card:hover,.web-proto-ship:hover{transform:none}.web-proto-swap,.web-book-fresh,.web-stack-badge.is-busy:before,.web-stack-link.is-firing:after{animation:none}}
