.content-page{--content-measure:36rem;--content-aside-width:11rem;--content-aside-gap:4.5rem;--content-surface:color-mix(in oklab, var(--home-ink) 4%, var(--home-bg));--content-code-bg:color-mix(in oklab, var(--home-ink) 5.5%, var(--home-bg));--content-top-fade-height:4.5rem;--ease-out:var(--home-ease);background:var(--home-bg);min-height:100vh;color:var(--home-ink);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;position:relative}.content-page--project{--content-measure:44rem}.content-top-fade{height:var(--content-top-fade-height);z-index:3;pointer-events:none;background:linear-gradient(to bottom, var(--home-bg) 0%, color-mix(in oklab, var(--home-bg) 72%, transparent) 42%, color-mix(in oklab, var(--home-bg) 28%, transparent) 72%, transparent 100%);position:fixed;inset:0 0 auto}.content-top-fade:before{content:"";-webkit-backdrop-filter:blur(8px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0000008c 45%,#0000 100%);mask-image:linear-gradient(#000 0%,#0000008c 45%,#0000 100%)}.content-layout{width:100%;max-width:var(--content-measure);flex:1;margin-inline:auto;padding:3rem 1rem 4rem;position:relative}.content-aside{width:var(--content-aside-width);z-index:4;pointer-events:none;box-sizing:border-box;flex-direction:column;align-items:flex-start;gap:2.5rem;padding:3rem 0 4rem;display:none;position:fixed;inset:0 auto 0 5rem}@media (min-width:1100px){.content-aside{left:max(1.5rem, calc(50% - (var(--content-measure) / 2) - var(--content-aside-gap) - var(--content-aside-width)));display:flex}}.content-back{pointer-events:auto;color:var(--home-faint);font-size:var(--home-text-meta);font-weight:var(--home-weight-body);line-height:var(--home-leading-meta);letter-spacing:var(--home-track-meta);transition:color var(--home-hover-dur) var(--ease-out);flex-shrink:0;align-items:center;gap:.35rem;width:fit-content;text-decoration:none;display:inline-flex;position:relative;top:auto;left:auto}.content-back:before{content:"";position:absolute;inset:-10px -8px}.content-back-arrow{width:.75rem;height:.75rem;transition:transform var(--home-hover-dur) var(--ease-out);flex-shrink:0;display:block}@media (hover:hover) and (pointer:fine){.content-back:hover{color:var(--home-ink)}.content-back:hover .content-back-arrow{transform:translate(-2px)}}.content-toc{pointer-events:auto;overscroll-behavior:contain;width:100%;min-height:0;position:relative;top:auto;left:auto;right:auto;overflow-y:auto}.content-toc-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}a.content-toc-link{color:var(--home-faint);font-size:.75rem;font-weight:var(--home-weight-body);letter-spacing:var(--home-track-meta);transition:color var(--home-hover-dur) var(--ease-out);line-height:1.4;text-decoration:none;display:block}.content-toc-label{text-wrap:pretty;display:block}@media (hover:hover) and (pointer:fine){a.content-toc-link:hover{color:var(--home-ink)}}a.content-toc-link.is-active{color:var(--home-ink)}.content-main{flex-direction:column;gap:2rem;min-width:0;display:flex}.content-lead{flex-direction:column;gap:1rem;display:flex}.content-header{flex-direction:column;gap:.65rem;display:flex}.content-title{width:fit-content;max-width:100%;letter-spacing:var(--home-track-title);font-family:inherit;font-size:1.125rem;font-weight:500;line-height:var(--home-leading-title);color:var(--home-ink);text-wrap:balance;margin:0}.content-date{font-size:var(--home-text-meta);font-weight:var(--home-weight-body);line-height:var(--home-leading-meta);letter-spacing:var(--home-track-meta);color:var(--home-faint);font-variant-numeric:tabular-nums;margin:0}.content-description{font-size:var(--home-text-body);font-weight:var(--home-weight-body);line-height:var(--home-leading-body);letter-spacing:var(--home-track-body);color:var(--home-muted);text-wrap:pretty;max-width:65ch;margin:.35rem 0 0}.content-tags{flex-wrap:wrap;gap:.5rem;display:flex}.content-tag{font-size:var(--home-text-meta);font-weight:var(--home-weight-body);line-height:var(--home-leading-meta);letter-spacing:var(--home-track-meta);color:var(--home-faint)}.content-cover{margin-top:1rem}.content-header--project{gap:1.5rem}.content-hero{border-radius:16px;width:100%;margin:0}.content-hero-media{width:100%;height:auto;display:block}.content-intro{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:1.15rem 2rem;display:grid}.content-intro:has(.content-identity-timeline){grid-template-columns:auto auto minmax(0,1fr)}.content-identity{flex-direction:column;min-width:0;display:flex}.content-identity-row{align-items:center;gap:.75rem;display:flex}.content-identity-logo{object-fit:cover;background:color-mix(in oklab, var(--home-ink) 6%, var(--home-bg));border-radius:8px;flex-shrink:0;width:2.5rem;height:2.5rem;display:block}.content-identity-text{flex-direction:column;gap:.1rem;min-width:0;display:flex}.content-identity-name{font-size:var(--home-text-body);letter-spacing:var(--home-track-title);color:var(--home-ink);margin:0;font-weight:600;line-height:1.3}.content-identity-role{font-size:var(--home-text-body);font-weight:var(--home-weight-body);color:var(--home-muted);margin:0;line-height:1.3}.content-identity-timeline{font-size:var(--home-text-body);font-weight:var(--home-weight-body);color:var(--home-muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;line-height:1.3}.content-intro-copy{flex-direction:column;gap:.35rem;min-width:0;display:flex}.content-header--project .content-title{font-size:var(--home-text-body);font-weight:var(--home-weight-title);line-height:var(--home-leading-title);color:var(--home-ink)}.content-header--project .content-description{font-size:var(--home-text-body);font-weight:var(--home-weight-body);line-height:var(--home-leading-body);color:var(--home-muted);margin:0}@media (max-width:720px){:is(.content-intro,.content-intro:has(.content-identity-timeline)){grid-template-columns:1fr;row-gap:1.15rem}}.content-body{font-size:var(--home-text-body);font-weight:var(--home-weight-body);line-height:var(--home-leading-body);letter-spacing:var(--home-track-body);color:color-mix(in oklab, var(--home-ink) 82%, var(--home-muted));flex-direction:column;gap:0;max-width:65ch;display:flex}.content-h2{border-top:1px solid var(--home-line);font-family:inherit;font-size:var(--home-text-body);letter-spacing:var(--home-track-title);font-weight:600;line-height:var(--home-leading-title);color:var(--home-ink);text-wrap:balance;margin:2.5rem 0 .85rem;padding-top:1.25rem;scroll-margin-top:3rem;display:block}.content-h2:first-child{margin-top:0}.content-h3,.content-h4{letter-spacing:var(--home-track-title);color:var(--home-ink);text-wrap:balance;margin:1.5rem 0 .55rem;scroll-margin-top:3rem;font-family:inherit;font-weight:600}.content-h3{font-size:var(--home-text-body);line-height:var(--home-leading-title)}.content-h4{font-size:var(--home-text-meta);line-height:var(--home-leading-meta)}.content-p{text-wrap:pretty;margin:0 0 1.65em}.content-ul,.content-ol{margin:0 0 1.65em;padding-left:1.25rem;list-style-position:outside}.content-ul{list-style-type:disc}.content-ol{list-style-type:decimal}.content-ul .content-ul{margin:.4rem 0 0;list-style-type:circle}.content-ol .content-ol{margin:.4rem 0 0;list-style-type:lower-alpha}.content-li+.content-li{margin-top:.4rem}.content-li{padding-left:.1rem}.content-strong{color:var(--home-ink);font-weight:600}.content-a{color:var(--home-ink);text-decoration:underline;-webkit-text-decoration-color:var(--home-line);text-decoration-color:var(--home-line);text-underline-offset:.18em;transition:text-decoration-color var(--home-hover-dur) var(--ease-out)}@media (hover:hover) and (pointer:fine){.content-a:hover{-webkit-text-decoration-color:var(--home-ink);text-decoration-color:var(--home-ink)}}.content-quote{border-left:1.5px solid var(--home-line);color:var(--home-ink);margin:1.65em 0;padding:.15rem 0 .15rem .9rem}.content-quote p{margin:0}.content-pre{background:var(--content-code-bg);color:var(--home-ink);border-radius:8px;margin:1.65em 0;padding:0;overflow-x:auto}.content-pre::-webkit-scrollbar{width:8px;height:8px}.content-pre::-webkit-scrollbar-thumb{background:color-mix(in oklab, var(--home-ink) 20%, transparent);border-radius:4px}.content-pre .content-code{font-family:var(--font-mono), ui-monospace, monospace;background:0 0;border-radius:0;padding:14px 16px;font-size:.8125rem;line-height:1.55;display:block}.content-code{font-family:var(--font-mono), ui-monospace, monospace;font-size:.875em}:not(pre)>.content-code{background:var(--content-code-bg);color:color-mix(in oklab, var(--home-ink) 78%, transparent);border-radius:4px;padding:.1em .28em}.content-hr{border:0;border-top:1px solid var(--home-line);margin:1.75rem 0}.content-media{background:var(--content-surface);border-radius:8px;width:100%;max-width:none;margin:1.35rem 0;display:block;overflow:hidden}.content-media.content-hero{border-radius:16px;margin:0}.content-img{width:100%;height:auto;display:block}.content-design-frame{background:color-mix(in oklab, var(--home-ink) 6%, var(--home-bg));width:100%;max-width:none;transition:background-color var(--home-hover-dur) ease;border-radius:1.25rem;flex-direction:column;gap:.75rem;margin:1.35rem 0;padding:1rem 1rem 1.25rem;display:flex}.content-design-frame--contrast{background:color-mix(in oklab, var(--home-ink) 10%, var(--home-bg))}.content-design-frame-label{font-size:var(--home-text-meta);font-weight:var(--home-weight-title);letter-spacing:.06em;line-height:var(--home-leading-meta);text-transform:uppercase;color:var(--home-faint);padding:0 .15rem;display:block}.content-design-frame-stage{justify-content:center;align-items:center;min-height:0;display:flex}.content-design-frame-img{width:100%;height:auto;box-shadow:0 1px 2px color-mix(in oklab, var(--home-ink) 6%, transparent), 0 12px 32px color-mix(in oklab, var(--home-ink) 10%, transparent);border-radius:.75rem;display:block}.content-design-compare{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:100%;max-width:none;margin:1.35rem 0;display:grid}.content-design-compare .content-design-frame{height:100%;margin:0}@media (max-width:560px){.content-design-compare{grid-template-columns:1fr}.content-design-frame{border-radius:1rem;padding:.75rem .75rem 1rem}}.content-callout{background:var(--content-surface);color:var(--home-ink);border-radius:8px;margin:1.65em 0;padding:.9rem 1rem}.content-resource-link{border:1px solid var(--home-line);background:var(--content-surface);color:var(--home-ink);transition:border-color var(--home-hover-dur) var(--ease-out), background-color var(--home-hover-dur) var(--ease-out);border-radius:8px;align-items:center;gap:.75rem;margin:1.65em 0;padding:.75rem .9rem;text-decoration:none;display:flex}.content-resource-link-mark{color:var(--home-muted);flex-shrink:0;display:inline-flex}.content-resource-link-label{min-width:0;font-size:var(--home-text-body);font-weight:var(--home-weight-body);line-height:var(--home-leading-body);letter-spacing:var(--home-track-body);text-wrap:pretty;flex:1}.content-resource-link-arrow{color:var(--home-faint);transition:color var(--home-hover-dur) var(--ease-out);flex-shrink:0;font-size:.95em;line-height:1}@media (hover:hover) and (pointer:fine){.content-resource-link:hover{border-color:color-mix(in oklab, var(--home-ink) 28%, transparent);background:color-mix(in oklab, var(--home-ink) 6%, var(--home-bg))}.content-resource-link:hover .content-resource-link-arrow{color:var(--home-ink)}}.content-resource-link:focus-visible{outline:2px solid var(--home-focus,var(--home-ink));outline-offset:2px}.content-acknowledgements{border-top:1px solid var(--home-line);margin:2.5rem 0 0;padding-top:1.5rem}.content-acknowledgements-title{font-family:inherit;font-size:var(--home-text-meta);font-weight:var(--home-weight-body);letter-spacing:var(--home-track-meta);line-height:var(--home-leading-meta);color:var(--home-faint);margin:0 0 .65rem}.content-acknowledgements-body{font-size:var(--home-text-meta);font-weight:var(--home-weight-body);line-height:var(--home-leading-meta);letter-spacing:var(--home-track-meta);color:var(--home-muted);max-width:65ch}.content-acknowledgements-body>:first-child{margin-top:0}.content-acknowledgements-body>:last-child{margin-bottom:0}.content-acknowledgements-body,.content-acknowledgements-body p,.content-acknowledgements-body .content-p{font-size:var(--home-text-meta);line-height:var(--home-leading-meta);letter-spacing:var(--home-track-meta);color:var(--home-muted)}.content-acknowledgements-body p,.content-acknowledgements-body .content-p{margin:0 0 .65em}.content-acknowledgements-body a{color:var(--home-muted);text-decoration:underline;-webkit-text-decoration-color:var(--home-line);text-decoration-color:var(--home-line);text-underline-offset:.18em;transition:text-decoration-color var(--home-hover-dur) var(--ease-out)}@media (hover:hover) and (pointer:fine){.content-acknowledgements-body a:hover{-webkit-text-decoration-color:var(--home-ink);text-decoration-color:var(--home-ink);color:var(--home-ink)}}.content-label{font-size:var(--home-text-meta);letter-spacing:.06em;text-transform:uppercase;color:var(--home-faint);font-weight:var(--home-weight-title);margin-bottom:.35rem;display:inline-block}.content-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:100%;max-width:none;margin:1.65em 0;display:grid}.content-metric{background:color-mix(in oklab, var(--home-ink) 6%, var(--home-bg));min-width:0;min-height:8.75rem;color:var(--home-ink);transition:background-color var(--home-hover-dur) ease, color var(--home-hover-dur) ease;border-radius:12px;flex-direction:column;justify-content:space-between;gap:1.5rem;padding:1.15rem 1.2rem 1.2rem;display:flex}.content-metric-value{letter-spacing:-.03em;color:inherit;font-variant-numeric:tabular-nums;text-wrap:balance;font-size:1.75rem;font-weight:600;line-height:1.05}.content-metric-label{font-size:var(--home-text-meta);font-weight:var(--home-weight-body);letter-spacing:var(--home-track-body);line-height:var(--home-leading-meta);text-transform:none;color:var(--home-muted);text-wrap:pretty}@media (max-width:480px){.content-metric-grid{grid-template-columns:1fr;gap:.75rem}.content-metric{min-height:7.5rem}}.content-chrome{max-width:none;margin:1.35rem 0}.content-next{border-top:1px solid var(--home-line);flex-direction:column;gap:.55rem;margin-top:.75rem;padding-top:1.35rem;display:flex}.content-next-label{font-size:var(--home-text-meta);letter-spacing:var(--home-track-meta);color:var(--home-faint);font-weight:var(--home-weight-body);line-height:var(--home-leading-meta)}.content-next-link{color:inherit;transition:color var(--home-hover-dur) var(--ease-out);justify-content:space-between;align-items:flex-start;gap:1rem;text-decoration:none;display:flex}.content-next-title{font-size:var(--home-text-name);font-weight:var(--home-weight-title);letter-spacing:var(--home-track-title);line-height:var(--home-leading-title);color:var(--home-ink);text-underline-offset:.15em;transition:text-decoration-color var(--home-hover-dur) var(--ease-out);margin:0 0 .3rem;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}@media (hover:hover) and (pointer:fine){.content-next-link:hover .content-next-title{-webkit-text-decoration-color:var(--home-line);text-decoration-color:var(--home-line)}}.content-next-desc{font-size:var(--home-text-meta);line-height:var(--home-leading-meta);color:var(--home-muted);margin:0}.content-next-meta{font-size:var(--home-text-meta);color:var(--home-faint);font-variant-numeric:tabular-nums;margin-top:.35rem}.content-site-footer{width:100%;max-width:var(--content-measure);justify-content:space-between;align-items:center;gap:1rem;margin-inline:auto;padding:1.25rem 1rem 2rem;display:flex}.content-footer-meta{font-size:var(--home-text-meta);line-height:var(--home-leading-meta);color:var(--home-faint);font-variant-numeric:tabular-nums}@media (max-width:1099px){.content-page{--content-top-fade-height:calc(env(safe-area-inset-top,0px) + 2.5rem)}.content-layout{padding:calc(var(--content-top-fade-height) + .75rem) 1rem 7.5rem}.content-title,.content-h2,.content-h3,.content-h4{scroll-margin-top:calc(var(--content-top-fade-height) + .75rem)}.content-aside{display:none}.content-site-footer{flex-wrap:wrap}.content-top-fade:before{content:none}}.mobile-toc{--toc-morph-open-dur:.25s;--toc-morph-close-dur:.2s;--toc-morph-ease:cubic-bezier(.32, .72, 0, 1);--toc-morph-close-ease:cubic-bezier(.32, .72, 0, 1);--toc-fade-ease:cubic-bezier(.32, .72, 0, 1);--toc-morph-fade-dur:.16s;--toc-morph-slide:8px;--toc-morph-scale:.98;--toc-h-closed:3.25rem;--toc-h-open:14rem;--toc-track:calc(var(--toc-h-closed) + .5rem);--toc-gap:.75rem;--toc-chrome:0px;--toc-ease:cubic-bezier(.2, 0, 0, 1);left:1rem;right:1rem;bottom:max(calc(var(--toc-chrome) + var(--toc-gap)), calc(env(safe-area-inset-bottom,0px) + var(--toc-gap)));z-index:6;pointer-events:none;max-width:22.5rem;transition:transform .22s var(--toc-ease), bottom .18s var(--toc-ease);margin-inline:auto;display:none;position:fixed;overflow:visible}.mobile-toc-lift{width:auto;min-width:0;margin-left:var(--toc-track);pointer-events:none;position:relative}.mobile-toc[data-expanded=true] .mobile-toc-lift{margin-left:0}.mobile-toc-bar{width:100%;min-width:0;position:relative}.mobile-toc-back{z-index:2;width:var(--toc-h-closed);height:var(--toc-h-closed);min-width:0;color:var(--home-ink);pointer-events:auto;transition:transform var(--toc-morph-close-dur) var(--toc-morph-close-ease), scale .15s cubic-bezier(.32, .72, 0, 1);border-radius:999px;text-decoration:none;display:block;position:absolute;bottom:0;left:0;transform:none}.mobile-toc[data-open=true] .mobile-toc-back{pointer-events:none;transition:transform var(--toc-morph-open-dur) var(--toc-morph-ease), scale .15s cubic-bezier(.32, .72, 0, 1);transform:translate(calc(-100% - 1rem))}.mobile-toc-back:active{scale:.96}.mobile-toc-back:focus-visible{outline:2px solid var(--home-focus);outline-offset:3px;border-radius:999px}.mobile-toc-back-surface{box-sizing:border-box;pointer-events:none;isolation:isolate;border-radius:inherit;color:var(--home-ink);background:0 0;place-items:center;position:absolute;inset:0;overflow:hidden;width:100%!important;height:100%!important;display:grid!important}.mobile-toc-back-surface:after{content:"";z-index:3;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 .5px color-mix(in oklab, var(--home-ink) 12%, transparent);position:absolute;inset:0}html.dark .mobile-toc-back-surface:after,html[data-theme=dark] .mobile-toc-back-surface:after{box-shadow:inset 0 0 0 .5px #ffffff2e;box-shadow:inset 0 0 0 .5px lab(100% -.0000298023 .0000119209/.18)}.mobile-toc-back-tint{z-index:1;pointer-events:none;border-radius:inherit;background:linear-gradient(180deg, color-mix(in oklab, var(--home-bg) 52%, transparent) 0%, color-mix(in oklab, var(--home-bg) 18%, transparent) 100%);position:absolute;inset:0}html.dark .mobile-toc-back-tint,html[data-theme=dark] .mobile-toc-back-tint{background:linear-gradient(180deg, color-mix(in oklab, var(--home-bg) 55%, transparent) 0%, color-mix(in oklab, var(--home-bg) 22%, transparent) 100%)}.mobile-toc-back-icon{z-index:2;place-items:center;display:grid;position:relative}.mobile-toc-back .content-back-arrow{width:1.05rem;height:1.05rem}.mobile-toc[data-end=true]{pointer-events:none;transform:translateY(calc(100% + 1.25rem))}.mobile-toc[data-end=true] .mobile-toc-surface{pointer-events:none}@media (max-width:1099px){.mobile-toc{display:block}}.mobile-toc-morph{width:100%;height:var(--toc-h-closed);pointer-events:none;position:relative}.mobile-toc[data-expanded=true] .mobile-toc-morph{height:var(--toc-h-open)}.mobile-toc-surface{box-sizing:border-box;pointer-events:auto;isolation:isolate;max-width:100%;height:100%;transition:clip-path var(--toc-morph-close-dur) var(--toc-morph-close-ease);background:0 0;border-radius:999px;position:relative;overflow:hidden;width:100%!important;display:block!important}.mobile-toc[data-expanded=true] .mobile-toc-surface{border-radius:0}.mobile-toc[data-open=true] .mobile-toc-surface{transition:clip-path var(--toc-morph-open-dur) var(--toc-morph-ease)}.mobile-toc-surface:after{content:"";z-index:3;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 .5px color-mix(in oklab, var(--home-ink) 12%, transparent);position:absolute;inset:0}html.dark .mobile-toc-surface:after,html[data-theme=dark] .mobile-toc-surface:after{box-shadow:inset 0 0 0 .5px #ffffff2e;box-shadow:inset 0 0 0 .5px lab(100% -.0000298023 .0000119209/.18)}.mobile-toc-tint{z-index:1;pointer-events:none;border-radius:inherit;background:linear-gradient(180deg, color-mix(in oklab, var(--home-bg) 52%, transparent) 0%, color-mix(in oklab, var(--home-bg) 18%, transparent) 100%);position:absolute;inset:0}html.dark .mobile-toc-tint,html[data-theme=dark] .mobile-toc-tint{background:linear-gradient(180deg, color-mix(in oklab, var(--home-bg) 55%, transparent) 0%, color-mix(in oklab, var(--home-bg) 22%, transparent) 100%)}.mobile-toc-menu-layer{z-index:2;opacity:0;transform:translateY(var(--toc-morph-slide)) scale(var(--toc-morph-scale));pointer-events:none;transition:opacity var(--toc-morph-fade-dur) var(--toc-fade-ease), transform var(--toc-morph-close-dur) var(--toc-morph-close-ease);position:absolute;inset:0}.mobile-toc[data-open=true] .mobile-toc-menu-layer{opacity:1;pointer-events:auto;transition:opacity var(--toc-morph-fade-dur) var(--toc-fade-ease), transform var(--toc-morph-open-dur) var(--toc-morph-ease);transform:translateY(0)scale(1)}.mobile-toc-menu-inner{z-index:2;overscroll-behavior:contain;box-sizing:border-box;height:100%;padding:.35rem .5rem .5rem;position:relative;overflow:hidden auto}.mobile-toc-kicker{font-size:.6875rem;font-weight:var(--home-weight-body);letter-spacing:.08em;text-transform:uppercase;color:var(--home-faint);margin:.55rem .75rem .35rem;line-height:1.3}.mobile-toc-list{flex-direction:column;gap:.1rem;margin:0;padding:0;list-style:none;display:flex}.mobile-toc-item{margin:0;padding:0}a.mobile-toc-link{min-height:2.75rem;color:color-mix(in oklab, var(--home-ink) 62%, var(--home-faint));font-size:var(--home-text-body);font-weight:var(--home-weight-body);letter-spacing:var(--home-track-body);transition:color .14s var(--toc-ease), background-color .14s var(--toc-ease), transform .14s var(--toc-ease);border-radius:.6rem;align-items:baseline;gap:.7rem;padding:.55rem .7rem;line-height:1.35;text-decoration:none;display:flex}.mobile-toc-num{width:1.35rem;font-size:var(--home-text-meta);font-variant-numeric:tabular-nums;color:var(--home-faint);flex-shrink:0}.mobile-toc-link-label{text-wrap:pretty;min-width:0;display:inline-block}a.mobile-toc-link.is-active{color:var(--home-ink);background:color-mix(in oklab, var(--home-ink) 10%, var(--home-bg));font-weight:500}a.mobile-toc-link.is-active .mobile-toc-num{color:var(--home-ink)}a.mobile-toc-link:active{transform:scale(.96)}.mobile-toc-trigger{z-index:2;border-radius:inherit;width:100%;min-height:3.25rem;color:var(--home-ink);font:inherit;text-align:left;cursor:pointer;transition:opacity var(--toc-morph-fade-dur) var(--toc-fade-ease), transform var(--toc-morph-close-dur) var(--toc-morph-close-ease);background:0 0;border:0;align-items:center;gap:.7rem;margin:0;padding:.45rem .85rem .45rem .55rem;display:flex;position:absolute;bottom:0;left:0;right:0}.mobile-toc[data-expanded=true] .mobile-toc-trigger{left:var(--toc-track);width:auto;right:0}.mobile-toc-trigger:active{transform:scale(.96)}.mobile-toc[data-open=true] .mobile-toc-trigger{opacity:0;transform:translateY(calc(-1 * var(--toc-morph-slide))) scale(var(--toc-morph-scale));pointer-events:none}.mobile-toc-progress{width:28px;height:28px;color:var(--home-ink);flex-shrink:0;position:relative}.mobile-toc-ring-track{stroke:color-mix(in oklab, var(--home-ink) 18%, transparent)}.mobile-toc-ring-value{stroke:var(--home-ink);transition:stroke-dashoffset .22s var(--toc-ease)}.mobile-toc-progress-n{font-variant-numeric:tabular-nums;place-items:center;font-size:.6875rem;font-weight:500;line-height:1;display:grid;position:absolute;inset:0}.mobile-toc-current{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--home-text-body);letter-spacing:var(--home-track-body);color:var(--home-ink);flex:1;font-weight:500;line-height:1.35;overflow:hidden}.mobile-toc-chevron{color:var(--home-faint);transition:transform .18s var(--toc-ease), color .14s var(--toc-ease);flex-shrink:0;place-items:center;display:grid}.mobile-toc[data-open=true] .mobile-toc-chevron{color:var(--home-ink);transform:rotate(180deg)}@media (hover:hover) and (pointer:fine){a.mobile-toc-link:hover{color:var(--home-ink);background:color-mix(in oklab, var(--home-ink) 5%, transparent)}.mobile-toc-back:hover .content-back-arrow{transform:translate(-2px)}}@media (prefers-reduced-motion:reduce){.content-page{scroll-behavior:auto}.content-top-fade:before{-webkit-backdrop-filter:none}.content-back,.content-back-arrow,.content-toc-link,.content-a,.content-resource-link,.content-resource-link-arrow,.content-acknowledgements-body a,.content-next-link,.content-next-title,.mobile-toc,.mobile-toc-bar,.mobile-toc-back,.mobile-toc-morph,.mobile-toc-surface,.mobile-toc-menu-layer,.mobile-toc-link,.mobile-toc-trigger,.mobile-toc-chevron,.mobile-toc-ring-value,.mobile-toc-tint,.mobile-toc-back-tint{filter:none!important;clip-path:none!important;transition:none!important}.mobile-toc-back:active,.mobile-toc-back:hover .content-back-arrow{transform:none}.mobile-toc-menu-layer,.mobile-toc[data-open=true] .mobile-toc-menu-layer,.mobile-toc-trigger,.mobile-toc[data-open=true] .mobile-toc-trigger{transform:none!important}.mobile-toc[data-end=true]{opacity:0;transform:none}.mobile-toc[data-expanded=true] .mobile-toc-surface{border-radius:1rem}.content-back:hover .content-back-arrow{transform:none}}
.chrome-browser{background:#fff;border:1px solid #ffffff52;border-radius:14px;overflow:hidden;box-shadow:0 24px 56px #0606051a,0 12px 40px #06060533,0 6px 12px #0606051f,0 1px 4px #06060514,0 0 0 .75px #06060542}.chrome-tabbar{background:#e3e3e3;align-items:center;height:40px;display:flex;overflow:hidden}.chrome-controls{flex-shrink:0;align-items:center;gap:8px;padding:0 16px;display:flex}.chrome-dot{border-radius:50%;width:12px;height:12px}.chrome-dot--red{background:#ff5f57}.chrome-dot--yellow{background:#febc2e}.chrome-dot--green{background:#28c840}.chrome-tabs-container{align-items:flex-end;gap:0;height:100%;display:flex}.chrome-tab{color:#1f1f1f;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:0;align-items:center;gap:6px;height:34px;padding:0 12px;font-family:-apple-system,BlinkMacSystemFont,SF Pro,system-ui,sans-serif;font-size:12px;font-weight:510;transition:background .15s;display:flex;position:relative}.chrome-tab:hover{background:#c7c7c766}.chrome-tab--active,.chrome-tab--active:hover{background:#fff}.chrome-tab-favicon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.chrome-tab-title{text-overflow:ellipsis;max-width:140px;overflow:hidden}.chrome-tab-close{opacity:.5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;margin-left:4px;transition:background .15s,opacity .15s;display:flex}.chrome-tab-close:hover{opacity:1;background:#0000001a}.chrome-new-tab-btn{cursor:pointer;opacity:.5;color:#1f1f1f;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;width:28px;height:28px;margin-left:4px;transition:background .15s,opacity .15s;display:flex}.chrome-new-tab-btn:hover{opacity:1;background:#00000014}.chrome-toolbar{background:#fff;border-bottom:1px solid #efeded;align-items:center;padding:6px 5px;display:flex}.chrome-toolbar-nav{align-items:center;gap:2px;display:flex}.chrome-toolbar-icon{color:#5f6368;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;transition:background .15s;display:flex}.chrome-toolbar-icon:hover{background:#0000000f}.chrome-address-bar{background:#efeded;border-radius:999px;flex:1;align-items:center;gap:8px;margin:0 4px;padding:7px 12px;display:flex}.chrome-address-lock{color:#5f6368;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chrome-address-text{color:#1f1f1f;white-space:nowrap;text-overflow:ellipsis;font-family:-apple-system,BlinkMacSystemFont,SF Pro,system-ui,sans-serif;font-size:14px;overflow:hidden}.chrome-toolbar-right{align-items:center;gap:2px;display:flex}.chrome-content-area{background:#fbfbfb;width:100%;padding:0;overflow:hidden}.chrome-content-image{width:100%;height:auto;display:block}.chrome-viz-wrapper{border:1px solid var(--surface-container-high);overflow:hidden}.chrome-viz-wrapper .chrome-browser{border-radius:14px 0 0;width:calc(100% + 40px);margin-top:12px;margin-left:12px}.dark .chrome-viz-wrapper{border-color:var(--surface-container-high)}
