@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Federo&family=Josefin+Sans:wght@400;600&family=IBM+Plex+Mono:wght@400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";#forge{--color-background: hsl(0, 20%, 99%);--color-background-weak: hsl(0, 8%, 97%);--color-background-weak-hover: hsl(0, 8%, 94%);--color-background-strong: hsl(0, 5%, 12%);--color-background-strong-hover: hsl(0, 5%, 18%);--color-accent: #c96442;--color-accent-weak: #fdf1ec;--color-text: hsl(0, 1%, 39%);--color-text-weak: hsl(0, 1%, 60%);--color-text-weaker: hsl(30, 2%, 81%);--color-text-strong: hsl(0, 5%, 12%);--color-text-inverted: hsl(0, 20%, 99%);--color-border-weak: hsla(0, 100%, 3%, .12);--color-icon: hsl(0, 1%, 55%);--font-mono: "Berkeley Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--padding: 5rem;--vertical-padding: 4rem;min-height:100vh;padding-bottom:5rem;display:flex;flex-direction:column;gap:var(--vertical-padding);background:var(--color-background);color:var(--color-text);font-family:var(--font-mono);font-size:16px;line-height:normal}@media(prefers-color-scheme:dark){#forge{--color-background: hsl(0, 9%, 7%);--color-background-weak: hsl(0, 6%, 10%);--color-background-weak-hover: hsl(0, 6%, 15%);--color-background-strong: hsl(0, 15%, 94%);--color-background-strong-hover: hsl(0, 15%, 97%);--color-accent: #e0825f;--color-accent-weak: #2e1710;--color-text: hsl(0, 4%, 71%);--color-text-weak: hsl(0, 2%, 49%);--color-text-weaker: hsl(0, 3%, 28%);--color-text-strong: hsl(0, 15%, 94%);--color-text-inverted: hsl(0, 9%, 7%);--color-border-weak: hsl(0, 4%, 23%);--color-icon: hsl(10, 3%, 43%)}}@media(max-width:60rem){#forge{--padding: 1.5rem;--vertical-padding: 3rem;font-size:15px}}#forge ::selection{background:var(--color-accent-weak);color:var(--color-text-strong)}#forge a{color:var(--color-text-strong);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}#forge a:focus-visible,#forge button:focus-visible,#forge summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}#forge p{line-height:200%}@media(max-width:60rem){#forge p{line-height:180%}}#forge code{font-family:var(--font-mono);color:var(--color-text-strong);font-weight:500}.forge-br{display:block}@media(max-width:60rem){.forge-br{display:none}}.forge-container{width:100%;max-width:67.5rem;margin:0 auto;border:1px solid var(--color-border-weak);border-top:none}@media(max-width:65rem){.forge-container{border:none}}.forge-top{position:sticky;top:0;z-index:10;height:80px;padding:24px var(--padding);display:flex;justify-content:space-between;align-items:center;background:var(--color-background);border-bottom:1px solid var(--color-border-weak)}.forge-top>a{display:flex;color:var(--color-text-strong)!important}.forge-wordmark{height:24px;width:auto;display:block}.forge-top ul{display:flex;align-items:center;gap:32px;list-style:none}@media(max-width:55rem){.forge-top ul{gap:24px}}.forge-top li a{text-decoration:none!important}.forge-top li a:hover{text-decoration:underline!important}.forge-stars{color:var(--color-text-weak)}.forge-logo{align-items:center;gap:12px}.forge-mark{width:24px;height:24px}@media(max-width:40rem){.forge-top ul{gap:16px}}.forge-hero{padding:calc(var(--vertical-padding) * 1.5) var(--padding) calc(var(--vertical-padding) * .75)}@media(max-width:30rem){.forge-hero{padding:var(--vertical-padding) var(--padding) calc(var(--vertical-padding) * .75)}}.forge-hero-copy h1{margin-bottom:8px;color:var(--color-text-strong);font-size:38px;font-weight:700;line-height:1.25}@media(max-width:60rem){.forge-hero-copy h1{font-size:22px}}.forge-hero-copy p{max-width:82%;margin-bottom:32px;color:var(--color-text)}@media(max-width:50rem){.forge-hero-copy p{max-width:100%}}.forge-download{margin-bottom:32px}.forge-download-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}#forge .forge-download .forge-button{margin-top:0}.forge-download-actions>span{color:var(--color-text)}@media(max-width:30rem){.forge-download-actions{align-items:flex-start;flex-direction:column}}.forge-tablist{display:flex;align-items:center;gap:40px;padding:0 20px;background:var(--color-background-weak);border:1px solid var(--color-border-weak);border-bottom:none;border-radius:6px 6px 0 0;overflow-x:auto;scrollbar-width:none}.forge-tablist::-webkit-scrollbar{display:none}@media(max-width:60rem){.forge-tablist{gap:32px}}.forge-tab{appearance:none;padding:16px 0;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--color-text-weak);font:inherit;line-height:1;cursor:pointer}.forge-tab[aria-selected=true]{color:var(--color-text-strong);border-bottom-color:var(--color-background-strong)}.forge-panels{padding:16px;background:var(--color-background-weak);border:1px solid var(--color-border-weak);border-radius:0 0 6px 6px}.forge-command{all:unset;display:flex;align-items:center;gap:16px;max-width:100%;padding:8px 16px 8px 8px;border-radius:4px;color:var(--color-text);font-family:var(--font-mono);font-size:16px;cursor:pointer}.forge-command:hover{background:var(--color-background-weak-hover)}.forge-command-script{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forge-highlight{color:var(--color-text-strong);font-weight:500}.forge-copy-icon{flex-shrink:0;width:16px;height:16px;color:var(--color-text-weaker)}.forge-copy-icon.is-copied{color:var(--color-accent)}.forge-preview-section{border-top:1px solid var(--color-border-weak)}#forge .forge-release{margin:8px 0 0;font-size:12px;line-height:160%}#forge .forge-release a{color:var(--color-text);text-decoration:none}#forge .forge-release a:hover{text-decoration:underline}.forge-demo-caption{margin:12px var(--padding);font-size:12px;color:var(--color-text-weak)}.forge-demo{display:block;width:100%;height:auto}.forge-section{padding:var(--vertical-padding) var(--padding);border-top:1px solid var(--color-border-weak)}.forge-section-title{max-width:100%;margin-bottom:24px}.forge-section-title h3{margin-bottom:12px;color:var(--color-text-strong);font-size:16px;font-weight:700}.forge-section-title p{margin-bottom:12px;color:var(--color-text)}.forge-section-title>div{display:flex;gap:12px}.forge-section-title span{color:var(--color-icon);line-height:200%}.forge-section-title.is-flush{margin-bottom:0}.forge-list{padding:0;list-style:none}.forge-list li{display:flex;gap:12px;margin-bottom:16px;line-height:200%}@media(max-width:60rem){.forge-list li{line-height:180%}}.forge-list li:last-child{margin-bottom:0}.forge-list li>span{flex-shrink:0;color:var(--color-icon)}.forge-list strong{margin-right:12px;color:var(--color-text-strong);font-weight:500}#forge .forge-button{display:flex;align-items:center;gap:12px;width:fit-content;margin-top:40px;padding:8px 12px 8px 20px;border-radius:4px;background:var(--color-background-strong);color:var(--color-text-inverted);font-weight:500;text-decoration:none}#forge .forge-button:hover{background:var(--color-background-strong-hover)}.forge-faq{padding:0;list-style:none}.forge-faq li{margin-bottom:24px;line-height:200%}.forge-faq li:last-child{margin-bottom:0}.forge-faq-question{display:flex;align-items:start;gap:16px;min-height:24px;color:var(--color-text-strong);font-weight:500;cursor:pointer;list-style:none}.forge-faq-question::-webkit-details-marker{display:none}.forge-faq-question svg{flex-shrink:0;margin-top:4px;color:var(--color-text-weak)}.forge-faq-minus,.forge-faq-item[open] .forge-faq-plus{display:none}.forge-faq-item[open] .forge-faq-minus{display:block}.forge-faq-answer{margin:8px 0 8px 40px;line-height:200%}.forge-footer{display:flex;border-top:1px solid var(--color-border-weak)}@media(max-width:65rem){.forge-footer{border-bottom:1px solid var(--color-border-weak)}}.forge-footer-cell{flex:1;text-align:center}.forge-footer-cell+.forge-footer-cell{border-left:1px solid var(--color-border-weak)}#forge .forge-footer-cell a{display:block;width:100%;padding:2rem 0;text-decoration:none}#forge .forge-footer-cell a:hover{background:var(--color-background-weak);text-decoration:underline}.forge-footer-cell span{color:var(--color-text-weak)}@media(max-width:40rem){.forge-footer-cell span{display:none}}.forge-legal{display:flex;justify-content:center;gap:32px;color:var(--color-text-weak);text-align:center}#forge .forge-legal a{color:var(--color-text-weak);text-decoration:none}#forge .forge-legal a:hover{color:var(--color-text);text-decoration:underline}#forge.docs-page{gap:0;padding-bottom:0;--docs-sidebar: 15rem;font-size:14px}.docs-top{position:sticky;top:0;z-index:10;height:64px;padding:0 1.5rem;display:flex;justify-content:space-between;align-items:center;background:var(--color-background);border-bottom:1px solid var(--color-border-weak)}.docs-top>a{display:flex;color:var(--color-text-strong)!important}.docs-top ul{display:flex;gap:24px;list-style:none;padding:0}.docs-top li a{text-decoration:none!important}.docs-top li a:hover{text-decoration:underline!important}.docs-layout{display:flex;flex:1;width:100%}.docs-sidebar{position:sticky;top:64px;align-self:flex-start;flex:0 0 var(--docs-sidebar);height:calc(100vh - 64px);overflow-y:auto;padding:1.5rem 0;border-right:1px solid var(--color-border-weak)}.docs-nav-group{margin-bottom:1.5rem}.docs-nav-group h2{padding:0 1.25rem;margin-bottom:4px;color:var(--color-text-strong);font-size:12px;font-weight:700}.docs-nav-group ul{list-style:none;padding:0}#forge .docs-sidebar a{display:block;padding:6px 1.25rem;border-left:2px solid transparent;color:var(--color-text);text-decoration:none}#forge .docs-sidebar a:hover{background:var(--color-background-weak)}#forge .docs-sidebar a[aria-current=true]{border-left-color:var(--color-text-strong);background:var(--color-background-weak);color:var(--color-text-strong);font-weight:600}.docs-content{flex:1;min-width:0;max-width:52rem;margin:0 auto;padding:3rem 2rem 6rem}.docs-content section{scroll-margin-top:88px;margin-bottom:3.5rem}.docs-content h1{margin-bottom:4px;color:var(--color-text-strong);font-size:26px;font-weight:500}.docs-content h2{margin-bottom:12px;padding-top:1.5rem;border-top:1px solid var(--color-border-weak);color:var(--color-text-strong);font-size:20px;font-weight:500}.docs-content h3{margin:24px 0 8px;color:var(--color-text-strong);font-size:16px;font-weight:500}.docs-content p{margin-bottom:12px;line-height:180%}.docs-subtitle{margin-bottom:24px}.docs-list{padding:0;margin-bottom:12px;list-style:none}.docs-list li{margin-bottom:8px;padding-left:16px;position:relative;line-height:180%}.docs-list li:before{content:"•";position:absolute;left:0;color:var(--color-icon)}.docs-list strong{margin-right:8px;color:var(--color-text-strong);font-weight:600}.docs-steps{margin:0 0 12px 20px;padding:0}.docs-steps li{margin-bottom:8px;padding-left:4px;line-height:180%}.docs-steps li::marker{color:var(--color-icon)}.docs-content pre{margin:12px 0 16px;padding:14px 16px;overflow-x:auto;background:var(--color-background-weak);border:1px solid var(--color-border-weak);border-radius:2px;line-height:160%}.docs-content pre code{font-weight:400}.docs-shot{display:block;width:100%;height:auto;margin:24px 0 8px;border:1px solid var(--color-border-weak);border-radius:2px}.docs-caption{color:var(--color-text-weak);font-size:12px}.docs-note{display:flex;gap:12px;margin:24px 0;padding:16px;background:var(--color-accent-weak);border-radius:2px;line-height:170%}.docs-note strong{flex-shrink:0;color:var(--color-accent);font-size:12px;text-transform:uppercase}.docs-note p{margin:0}.docs-content table{width:100%;margin:16px 0;border-collapse:collapse}.docs-content th,.docs-content td{padding:10px 12px;border:1px solid var(--color-border-weak);text-align:left;vertical-align:top;line-height:160%}.docs-content th{background:var(--color-background-weak);color:var(--color-text-strong);font-weight:500}#forge.docs-page .forge-legal{padding:2rem 0;border-top:1px solid var(--color-border-weak)}@media(max-width:55rem){.docs-sidebar{display:none}.docs-content{padding:2rem 1.5rem 4rem}.docs-content table{display:block;overflow-x:auto}}#goldengate{--gg-orange: #D03A2B;--gg-on-orange: #FFFFFF;--gg-bg: #EEF0EE;--gg-surface: #FFFFFF;--gg-sunk: #DCE8F0;--gg-line: #93A3AB;--gg-ink: #13202A;--gg-dim: #4A5960;--gg-pacific: #0B5F94;--gg-cypress: #137A44;--gg-headland: #B05A00;--gg-alarm: #B8165F;--gg-twilight: #6A35C2;--gg-term-bg: #F8F9F8;--gg-term-cur: #C6DDEE;--gg-display: "Federo", "Josefin Sans", system-ui, sans-serif;--gg-text: "Josefin Sans", system-ui, sans-serif;--gg-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;--gg-gutter: 40px;--gg-max: 1360px;min-height:100vh;background:var(--gg-bg);color:var(--gg-ink);font-family:var(--gg-text);font-size:17px;line-height:1.65;color-scheme:light}@media(prefers-color-scheme:dark){#goldengate:not([data-theme=light]){--gg-orange: #F0563F;--gg-on-orange: #1B0703;--gg-bg: #0D1821;--gg-surface: #132330;--gg-sunk: #0A131A;--gg-line: #233646;--gg-ink: #E5EBEE;--gg-dim: #8D9DA7;--gg-pacific: #7FBADB;--gg-cypress: #72C59A;--gg-headland: #E8B652;--gg-alarm: #F27EB2;--gg-twilight: #B9A0E6;--gg-term-bg: #09131B;--gg-term-cur: #1B3446;color-scheme:dark}}#goldengate[data-theme=dark]{--gg-orange: #F0563F;--gg-on-orange: #1B0703;--gg-bg: #0D1821;--gg-surface: #132330;--gg-sunk: #0A131A;--gg-line: #233646;--gg-ink: #E5EBEE;--gg-dim: #8D9DA7;--gg-pacific: #7FBADB;--gg-cypress: #72C59A;--gg-headland: #E8B652;--gg-alarm: #F27EB2;--gg-twilight: #B9A0E6;--gg-term-bg: #09131B;--gg-term-cur: #1B3446;color-scheme:dark}@media(max-width:720px){#goldengate{--gg-gutter: 16px}}#goldengate a{color:var(--gg-orange);text-underline-offset:3px}#goldengate a:focus-visible,#goldengate button:focus-visible,#goldengate [tabindex]:focus-visible{outline:2px solid var(--gg-pacific);outline-offset:2px;border-radius:4px}#goldengate code,#goldengate pre,#goldengate kbd{font-family:var(--gg-mono)}#goldengate p code,#goldengate li code,#goldengate td code,#goldengate dd code,.gg-note code{font-size:.875em;background:var(--gg-sunk);padding:1px 5px;border-radius:4px;overflow-wrap:anywhere}#goldengate kbd{font-size:.82em;color:var(--gg-pacific);border:1px solid var(--gg-line);border-bottom-width:2px;border-radius:4px;padding:0 6px;background:var(--gg-surface)}#goldengate h1,#goldengate h2{font-family:var(--gg-display);font-weight:400;letter-spacing:.02em;line-height:1.15}#goldengate h3{font-weight:600;font-size:1.1rem;line-height:1.35}.gg-wrap{max-width:var(--gg-max);margin:0 auto;padding:0 var(--gg-gutter)}.gg-icon{width:24px;height:24px;flex:none}.gg-prose{max-width:65ch;color:var(--gg-dim);margin-top:16px}.gg-note{max-width:65ch;color:var(--gg-dim);font-size:.95rem;margin-top:24px}.gg-top{position:sticky;top:0;z-index:10;background:var(--gg-bg);border-bottom:1px solid var(--gg-line)}.gg-top-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px}#goldengate .gg-logo{display:flex;align-items:center;gap:10px;color:var(--gg-ink);text-decoration:none}.gg-logo .gg-mark{width:38px;height:auto;color:var(--gg-orange)}.gg-logo span{font-family:var(--gg-display);font-size:1.35rem;letter-spacing:.02em;white-space:nowrap}.gg-top nav{display:flex;align-items:center;gap:24px}#goldengate .gg-top nav a{color:var(--gg-ink);text-decoration:none;font-size:.95rem}#goldengate .gg-top nav a:hover{text-decoration:underline}.gg-theme{font:600 .8rem var(--gg-text);color:var(--gg-ink);background:transparent;border:1px solid var(--gg-line);border-radius:4px;padding:5px 10px 3px;cursor:pointer}.gg-theme-dark{display:none}@media(prefers-color-scheme:dark){#goldengate:not([data-theme=light]) .gg-theme-light{display:none}#goldengate:not([data-theme=light]) .gg-theme-dark{display:inline}}#goldengate[data-theme=dark] .gg-theme-light{display:none}#goldengate[data-theme=dark] .gg-theme-dark{display:inline}@media(max-width:720px){.gg-top nav{gap:12px}.gg-logo .gg-mark{width:30px}.gg-logo span{font-size:1.15rem}}.gg-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--gg-line)}.gg-hero-inner{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px;align-items:center;padding-top:96px;padding-bottom:96px}.gg-hero h1{font-size:4rem}.gg-lede{font-size:1.1rem;color:var(--gg-dim);max-width:52ch;margin-top:24px}.gg-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}#goldengate .gg-btn{display:inline-block;font-weight:600;text-decoration:none;padding:12px 22px 10px;border-radius:8px;border:1px solid var(--gg-line);color:var(--gg-ink);background:var(--gg-surface)}#goldengate .gg-btn:hover{border-color:var(--gg-ink)}#goldengate .gg-btn-primary{background:var(--gg-orange);border-color:var(--gg-orange);color:var(--gg-on-orange)}#goldengate .gg-btn-primary:hover{filter:brightness(1.08);border-color:var(--gg-orange)}.gg-hero-art{display:flex;justify-content:center}.gg-hero-mark{width:100%;max-width:420px;height:auto;color:var(--gg-orange);stroke-width:2.2}.gg-cable{stroke-dasharray:1;stroke-dashoffset:1;animation:gg-draw 1.8s cubic-bezier(.45,0,.25,1) .2s forwards}@keyframes gg-draw{to{stroke-dashoffset:0}}.gg-fog{position:absolute;inset:0;pointer-events:none}.gg-fog span{position:absolute;width:60%;height:120px;border-radius:50%;background:var(--gg-surface);filter:blur(48px);opacity:.55;animation:gg-fog 38s linear infinite}.gg-fog span:first-child{top:46%;left:-60%}.gg-fog span:last-child{top:64%;left:-60%;animation-delay:-19s;opacity:.4}@keyframes gg-fog{to{transform:translate(270%)}}@media(prefers-reduced-motion:reduce){.gg-cable{animation:none;stroke-dashoffset:0}.gg-fog span{animation:none;display:none}}@media(max-width:860px){.gg-hero-inner{grid-template-columns:1fr;padding-top:56px;padding-bottom:56px;gap:32px}.gg-hero h1{font-size:2.6rem}.gg-hero-art{order:-1;justify-content:flex-start}.gg-hero-mark{max-width:200px}}.gg-section{padding:96px 0;border-bottom:1px solid var(--gg-line)}.gg-section-sunk{background:var(--gg-sunk)}.gg-section h2{font-size:2.6rem}@media(max-width:720px){.gg-section{padding:64px 0}.gg-section h2{font-size:1.8rem}}.gg-flow{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 56px;margin-top:48px;position:relative}.gg-flow li{position:relative;background:var(--gg-surface);border:1px solid var(--gg-line);border-radius:8px;padding:24px}.gg-flow li+li:before{content:"";position:absolute;left:-56px;top:50%;width:56px;height:3px;margin-top:-1px;border-radius:2px;background:var(--gg-line)}.gg-flow li+li:after{content:"";position:absolute;left:-11px;top:50%;width:9px;height:9px;margin-top:-5px;border-top:3px solid var(--gg-dim);border-right:3px solid var(--gg-dim);border-radius:1px;transform:rotate(45deg)}.gg-flow-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.gg-flow-icon{color:var(--gg-ink)}.gg-flow-num{font:500 .72rem var(--gg-mono);letter-spacing:.12em;color:var(--gg-dim)}.gg-flow p{color:var(--gg-dim);font-size:.95rem;margin-top:8px}.gg-flow-own{border-color:var(--gg-orange)!important;box-shadow:inset 0 3px 0 var(--gg-orange)}.gg-flow-own .gg-flow-icon{color:var(--gg-orange)}@media(max-width:960px){.gg-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.gg-flow li:nth-child(3):before,.gg-flow li:nth-child(3):after{display:none}}@media(max-width:560px){.gg-flow{grid-template-columns:1fr;gap:56px 16px}.gg-flow li:nth-child(3):before,.gg-flow li:nth-child(3):after{display:block}.gg-flow li+li:before{left:50%;top:-56px;width:3px;height:56px;margin:0 0 0 -1px}.gg-flow li+li:after{left:50%;top:-11px;margin:0 0 0 -5px;transform:rotate(135deg)}}.gg-tag{display:inline-block;min-width:38px;text-align:center;font:500 .72rem var(--gg-mono);letter-spacing:.06em;padding:2px 6px;border-radius:4px;border:1px solid currentColor}.gg-tag-code{color:var(--gg-pacific)}.gg-tag-chat{color:var(--gg-twilight)}.gg-segment{display:inline-flex;border:1px solid var(--gg-line);border-radius:8px;padding:3px;background:var(--gg-surface);margin-bottom:16px;max-width:100%}.gg-segment button{font:600 .875rem var(--gg-text);color:var(--gg-dim);background:transparent;border:0;border-radius:5px;padding:7px 14px 5px;cursor:pointer}.gg-segment button[aria-selected=true]{background:var(--gg-sunk);color:var(--gg-ink)}.gg-sec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:40px}@media(max-width:820px){.gg-sec-grid{grid-template-columns:1fr}}.gg-card{background:var(--gg-surface);border:1px solid var(--gg-line);border-radius:8px;padding:24px;min-width:0}.gg-card h3{display:flex;align-items:center;gap:10px;margin-bottom:10px}.gg-card p{color:var(--gg-dim);font-size:.95rem}.gg-scopes{width:100%;border-collapse:collapse;font-size:.875rem}.gg-scopes th,.gg-scopes td{text-align:left;padding:7px 8px 5px 0;border-top:1px solid var(--gg-line);vertical-align:top}.gg-scopes thead th{border-top:0;font:500 .72rem var(--gg-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gg-dim)}.gg-scopes td{color:var(--gg-dim)}.gg-revoke-rows{border:1px solid var(--gg-line);border-radius:8px;background:var(--gg-surface)}.gg-revoke-rows>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:16px;padding:14px 20px;align-items:center;font-size:.95rem}.gg-revoke-rows>div+div{border-top:1px solid var(--gg-line)}#goldengate .gg-revoke-rows code{font-size:.82rem;background:none;padding:0;overflow-wrap:anywhere}@media(max-width:720px){.gg-revoke-rows>div{grid-template-columns:1fr;gap:4px}}.gg-code{position:relative;background:var(--gg-surface);border:1px solid var(--gg-line);border-radius:8px;margin-top:16px}.gg-code pre{margin:0;padding:14px 80px 14px 16px;font-size:.82rem;line-height:1.4;overflow-x:auto}.gg-copy{position:absolute;top:8px;right:8px;font:500 .72rem var(--gg-mono);letter-spacing:.06em;color:var(--gg-pacific);background:var(--gg-bg);border:1px solid var(--gg-line);border-radius:4px;padding:4px 8px;cursor:pointer}.gg-steps{list-style:none;display:grid;gap:24px;margin-top:40px;max-width:960px}.gg-steps li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:16px}.gg-step-num{width:32px;height:32px;border-radius:50%;border:1px solid var(--gg-line);display:grid;place-items:center;font:500 .875rem var(--gg-mono);color:var(--gg-dim)}.gg-steps .gg-code{margin-top:8px}.gg-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;margin-top:72px}@media(max-width:860px){.gg-two{grid-template-columns:1fr;gap:40px}}.gg-h3{margin-bottom:16px}.gg-sources,.gg-roadmap{list-style:none;border-top:1px solid var(--gg-line)}.gg-sources li,.gg-roadmap li{display:grid;gap:16px;padding:14px 0;border-bottom:1px solid var(--gg-line);align-items:baseline}.gg-sources li{grid-template-columns:44px minmax(0,1fr)}.gg-sources li div,.gg-roadmap li div{display:flex;flex-direction:column;gap:2px;min-width:0}#goldengate .gg-sources code{background:none;padding:0;color:var(--gg-dim);font-size:.8rem}.gg-roadmap li{grid-template-columns:72px minmax(0,1fr)}.gg-roadmap li div span{color:var(--gg-dim);font-size:.95rem}.gg-rm-state{font:500 .72rem var(--gg-mono);letter-spacing:.12em;text-transform:uppercase}.gg-rm-done .gg-rm-state{color:var(--gg-cypress)}.gg-rm-next .gg-rm-state{color:var(--gg-headland)}.gg-rm-later .gg-rm-state{color:var(--gg-dim)}.gg-footer{padding:40px 0 56px}.gg-footer-inner{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px}.gg-footer-mark{display:flex;align-items:center;gap:8px;font-family:var(--gg-display);font-size:1.1rem;letter-spacing:.02em}.gg-footer-mark .gg-mark{width:28px;height:auto;color:var(--gg-orange)}.gg-footer nav{display:flex;flex-wrap:wrap;gap:20px}.gg-footer-legal{width:100%;font-size:.875rem;color:var(--gg-dim)}.gg-shot{display:block;border:1px solid var(--gg-line);border-radius:8px;overflow:hidden;background:var(--gg-term-bg)}.gg-shot img{display:block;width:100%;height:auto}.gg-only-dark{display:none!important}@media(prefers-color-scheme:dark){#goldengate:not([data-theme=light]) .gg-only-light{display:none!important}#goldengate:not([data-theme=light]) .gg-only-dark{display:block!important}}#goldengate[data-theme=dark] .gg-only-light{display:none!important}#goldengate[data-theme=dark] .gg-only-dark{display:block!important}.gg-figure{margin:32px 0 0;max-width:960px}.gg-figure-wide{max-width:none}.gg-figure figcaption{font-size:.9rem;color:var(--gg-dim);margin-top:12px;max-width:72ch}.gg-views{margin-top:32px}.gg-views .gg-figure{margin-top:0}.gg-glyphs{list-style:none;display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:24px}.gg-glyphs li{display:flex;align-items:center;gap:10px;font-size:.95rem}#goldengate .gg-glyphs .gg-glyph{background:transparent;padding:0;font-size:.9rem}#goldengate .gg-glyph-shared{color:var(--gg-cypress)}#goldengate .gg-glyph-none{color:var(--gg-ink)}#goldengate .gg-glyph-warn{color:var(--gg-headland)}#goldengate .gg-glyph-bad{color:var(--gg-alarm)}.gg-promises{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:40px}@media(max-width:900px){.gg-promises{grid-template-columns:1fr}}.gg-more{margin-top:28px;font-size:1rem;color:var(--gg-dim);max-width:72ch}#goldengate .gg-more a{font-weight:600}.gg-page-head{padding:72px 0 48px;border-bottom:1px solid var(--gg-line)}.gg-page-head h1{font-size:4rem}.gg-page-head .gg-lede{max-width:65ch}@media(max-width:720px){.gg-page-head{padding:48px 0 32px}.gg-page-head h1{font-size:2.6rem}}.gg-toc{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}#goldengate .gg-toc a{font-size:.9rem;color:var(--gg-ink);text-decoration:none;border:1px solid var(--gg-line);border-radius:4px;padding:5px 10px 3px;background:var(--gg-surface)}#goldengate .gg-toc a:hover{border-color:var(--gg-ink)}#goldengate .gg-section[id]{scroll-margin-top:72px}.gg-narrow>*{max-width:960px}.gg-points{margin-top:24px;padding-left:20px;display:grid;gap:12px;max-width:72ch}.gg-points li{padding-left:4px}.gg-points li::marker{color:var(--gg-line)}.gg-defs{margin-top:24px;border-top:1px solid var(--gg-line)}.gg-defs>div{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:24px;padding:16px 0;border-bottom:1px solid var(--gg-line)}.gg-defs dt{font-weight:600}.gg-defs dd{margin:0;color:var(--gg-dim)}@media(max-width:640px){.gg-defs>div{grid-template-columns:1fr;gap:4px}}.gg-card ul{padding-left:18px;display:grid;gap:8px;color:var(--gg-dim);font-size:.95rem}.gg-card p+p{margin-top:10px}.gg-card-never h3 .gg-icon,.gg-card-warn h3 .gg-icon{color:var(--gg-alarm)}.gg-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:32px}@media(max-width:760px){.gg-split{grid-template-columns:1fr}}.gg-table-wrap{margin-top:24px;overflow-x:auto;background:var(--gg-surface);border:1px solid var(--gg-line);border-radius:8px;padding:8px 20px}.gg-table-wrap .gg-scopes{font-size:.95rem}.gg-table-wrap .gg-scopes tbody tr:first-child th,.gg-table-wrap .gg-scopes tbody tr:first-child td{border-top:1px solid var(--gg-line)}#goldengate .gg-section .gg-revoke-rows{margin-top:24px}.gg-flow-where{display:block;font:500 .72rem var(--gg-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gg-dim);margin-top:4px}.gg-flow h3{font-size:1.1rem}.gg-promises-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1000px){.gg-promises-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.gg-promises-4{grid-template-columns:1fr}}@media(max-width:720px){.gg-top nav a:not([href^=http]){display:none}}.gg-cases{list-style:none;display:grid;gap:0}.gg-case{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;padding:40px 0;border-top:1px solid var(--gg-line);scroll-margin-top:72px}.gg-case:first-child{border-top:0;padding-top:0}.gg-case-num{font:500 .875rem var(--gg-mono);color:var(--gg-dim);padding-top:12px}.gg-ask{margin:20px 0 0;padding:12px 16px 10px;border-left:3px solid var(--gg-orange);background:var(--gg-surface);border-radius:0 8px 8px 0;font-weight:600;max-width:60ch}.gg-case>div>p{margin-top:16px;max-width:65ch;color:var(--gg-dim)}.gg-case-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.gg-case-tools span{font:500 .72rem var(--gg-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gg-dim);margin-right:4px}#goldengate .gg-case-tools code{color:var(--gg-pacific);border:1px solid var(--gg-line);background:var(--gg-surface)}#goldengate .gg-case>div>.gg-case-scope{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;color:var(--gg-ink)}.gg-case-scope .gg-icon{width:20px;height:20px;margin-top:3px;color:var(--gg-cypress)}@media(max-width:640px){.gg-case{grid-template-columns:1fr;gap:4px;padding:32px 0}.gg-case-num{padding-top:0}.gg-case h2{font-size:1.4rem}}.gg-rd{margin-top:16px;padding:10px 12px 9px;border:1px solid var(--gg-line);border-radius:4px;background:var(--gg-bg);font:400 .68rem var(--gg-mono);line-height:1.5;color:var(--gg-ink);display:grid;gap:4px;min-width:0}.gg-rd-pre{color:var(--gg-dim)}.gg-rd-swap{position:relative;display:grid;min-width:0}.gg-rd-orig,.gg-rd-after{grid-area:1 / 1}.gg-rd-orig{opacity:0}.gg-rd-orig,.gg-rd-after{overflow-wrap:anywhere}.gg-rd-after{background:var(--gg-sunk);padding:0 3px;border-radius:2px}.gg-rd-bar{position:absolute;inset:-1px -2px;background:var(--gg-ink);border-radius:2px;clip-path:inset(0 0 0 100%)}@media(prefers-reduced-motion:no-preference){.gg-rd-orig{animation:gg-rd-orig 7s infinite}.gg-rd-after{animation:gg-rd-after 7s infinite}.gg-rd-bar{animation:gg-rd-bar 7s infinite}@keyframes gg-rd-orig{0%,44%{opacity:1}45%,95%{opacity:0}to{opacity:1}}@keyframes gg-rd-after{0%,52%{opacity:0}62%,90%{opacity:1}96%,to{opacity:0}}@keyframes gg-rd-bar{0%,30%{clip-path:inset(0 100% 0 0)}44%{clip-path:inset(0 0 0 0)}62%{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 100%)}}@keyframes gg-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes gg-fade{0%{opacity:0}to{opacity:1}}.gg-card-lift{transition:transform .2s ease,border-color .2s ease}.gg-card-lift:hover{transform:translateY(-3px);border-color:var(--gg-ink)}.gg-flow li+li:before{background:linear-gradient(90deg,transparent,var(--gg-orange) 50%,transparent) -30px 0 / 30px 100% no-repeat,var(--gg-line);animation:gg-pulse 2.6s linear infinite;animation-delay:calc(var(--i, 0) * .45s)}@keyframes gg-pulse{0%{background-position:-30px 0,0 0}to{background-position:60px 0,0 0}}@media(max-width:560px){.gg-flow li+li:before{background:linear-gradient(180deg,transparent,var(--gg-orange) 50%,transparent) 0 -30px / 100% 30px no-repeat,var(--gg-line);animation-name:gg-pulse-y}@keyframes gg-pulse-y{0%{background-position:0 -30px,0 0}to{background-position:0 60px,0 0}}}.gg-card-icon{transition:transform .4s ease}.gg-card-lift:hover .gg-card-icon{transform:scale(1.12)}}.gg-card-icon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:8px;background:var(--gg-sunk);color:var(--gg-ink);margin-bottom:14px}.gg-promises-4 .gg-card h3{display:block}.gg-chat{background:var(--gg-surface);border:1px solid var(--gg-line);border-radius:8px;padding:18px;display:grid;gap:12px;min-width:0}.gg-msg{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start}.gg-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:500 .6rem var(--gg-mono);letter-spacing:.04em;background:var(--gg-sunk);color:var(--gg-dim)}.gg-msg-a .gg-avatar{background:var(--gg-orange);color:var(--gg-on-orange)}.gg-msg p,.gg-msg ul{font-size:.95rem;line-height:1.5}.gg-msg-q p{font-weight:600;padding-top:5px}.gg-msg-a ul{list-style:none;display:grid;gap:6px;padding:8px 12px;background:var(--gg-bg);border-radius:8px;border:1px solid var(--gg-line)}.gg-msg-a li{padding-left:14px;position:relative;color:var(--gg-ink)}.gg-msg-a li:before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--gg-cypress)}.gg-msg-a.is-blocked li:before{background:var(--gg-alarm)}.gg-tool{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-left:44px;font:500 .72rem var(--gg-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gg-dim)}#goldengate .gg-tool code{text-transform:none;letter-spacing:0;color:var(--gg-pacific);border:1px solid var(--gg-line);background:var(--gg-bg)}.gg-dots{display:inline-flex;gap:3px}.gg-dots i{width:5px;height:5px;border-radius:50%;background:var(--gg-dim);display:block}.gg-chat-note{font:500 .68rem var(--gg-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gg-dim);text-align:right}@media(prefers-reduced-motion:no-preference){#goldengate[data-motion=on] .gg-chat:not(.is-in) .gg-msg,#goldengate[data-motion=on] .gg-chat:not(.is-in) .gg-tool{opacity:0}#goldengate[data-motion=on] .gg-chat.is-in .gg-msg-q{animation:gg-rise .5s ease .25s both}#goldengate[data-motion=on] .gg-chat.is-in .gg-tool{animation:gg-rise .4s ease .9s both}#goldengate[data-motion=on] .gg-chat.is-in .gg-tool .gg-dots{animation:gg-dots-out .3s ease 2.3s both}#goldengate[data-motion=on] .gg-chat.is-in .gg-msg-a{animation:gg-rise .6s ease 2.4s both}.gg-dots i{animation:gg-blink 1s ease-in-out infinite}.gg-dots i:nth-child(2){animation-delay:.15s}.gg-dots i:nth-child(3){animation-delay:.3s}@keyframes gg-blink{0%,to{opacity:.25}50%{opacity:1}}@keyframes gg-dots-out{to{opacity:0}}}.gg-case-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:start}@media(max-width:900px){.gg-case-grid{grid-template-columns:1fr;gap:20px}}.gg-case{display:block;padding:56px 0}.gg-case:first-child{padding-top:0}.gg-case-num{display:block;font:500 .875rem var(--gg-mono);color:var(--gg-dim);padding:0;margin-bottom:8px}.gg-case h2{font-size:1.8rem}#goldengate .gg-case-body{margin-top:12px;max-width:46ch;color:var(--gg-dim)}#goldengate .gg-case .gg-case-scope{margin-top:16px;max-width:46ch;font-size:.9rem}@media(max-width:900px){.gg-case{padding:40px 0}}.gg-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.gg-cross-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:40px}@media(max-width:760px){.gg-cross-grid{grid-template-columns:1fr}}.gg-cross{border:1px solid var(--gg-line);border-radius:8px;padding:24px;background:var(--gg-surface)}.gg-cross h3{display:flex;align-items:center;gap:10px}.gg-cross>p{color:var(--gg-dim);font-size:.95rem;margin:6px 0 18px}.gg-cross-yes h3 .gg-icon{color:var(--gg-cypress)}.gg-cross-no h3 .gg-icon{color:var(--gg-alarm)}.gg-cross ul{list-style:none;display:grid;gap:8px}.gg-cross li{display:flex;align-items:center;gap:12px;padding:9px 12px 7px;border:1px solid var(--gg-line);border-radius:4px;background:var(--gg-bg);font-size:.95rem}.gg-cross li:before{font:500 .9rem var(--gg-mono);flex:none}.gg-cross-yes li:before{content:"●";color:var(--gg-cypress)}.gg-cross-no li:before{content:"✕";color:var(--gg-alarm)}.gg-cross-no li{color:var(--gg-dim);text-decoration:line-through;text-decoration-color:var(--gg-alarm);text-decoration-thickness:1.5px}.gg-sec-grid{margin-top:16px}.gg-sec-grid .gg-card h3{display:flex}.gg-matrix{width:100%;border-collapse:collapse;font-size:.95rem;text-align:center}.gg-matrix thead td,.gg-matrix thead th{padding:8px 0 12px}.gg-matrix tbody th{text-align:left;font-weight:400;padding:12px 8px 10px 0;border-top:1px solid var(--gg-line)}.gg-matrix tbody td{border-top:1px solid var(--gg-line);padding:12px 0 10px;position:relative;font-family:var(--gg-mono)}.gg-matrix .is-yes{color:var(--gg-cypress)}.gg-matrix .is-no{color:var(--gg-alarm);opacity:.8}.gg-table-wrap .gg-matrix{margin:0}.gg-details{margin-top:24px;border:1px solid var(--gg-line);border-radius:8px;background:var(--gg-surface)}.gg-details summary{cursor:pointer;padding:14px 18px 12px;font-weight:600;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}.gg-details summary::-webkit-details-marker{display:none}.gg-details summary:after{content:"+";font:400 1.4rem var(--gg-mono);color:var(--gg-dim);line-height:1;transition:transform .25s ease}.gg-details[open] summary:after{transform:rotate(45deg)}.gg-details>:not(summary){padding:0 18px 18px 38px;margin-top:0}.gg-details .gg-defs{margin:0 18px 18px;padding:0;border-top:1px solid var(--gg-line)}@media(prefers-reduced-motion:no-preference){#goldengate[data-motion=on] .gg-cross:not(.is-in) li{opacity:0}#goldengate[data-motion=on] .gg-cross-yes.is-in li{animation:gg-cross .7s cubic-bezier(.2,.7,.2,1) calc(.25s + var(--k) * .12s) both}#goldengate[data-motion=on] .gg-cross-no.is-in li{animation:gg-stop .8s ease calc(.25s + var(--k) * .12s) both}@keyframes gg-cross{0%{opacity:0;transform:translate(-36px)}to{opacity:1;transform:none}}@keyframes gg-stop{0%{opacity:0;transform:translate(-36px)}45%{opacity:1;transform:translate(6px)}60%{transform:translate(-4px)}to{opacity:1;transform:none}}#goldengate[data-motion=on] .gg-table-wrap:not(.is-in) .gg-matrix td span:first-child{opacity:0;transform:scale(.4)}.gg-matrix td span:first-child{display:inline-block;transition:opacity .4s ease calc(.3s + var(--k, 0) * 60ms),transform .4s cubic-bezier(.3,1.6,.5,1) calc(.3s + var(--k, 0) * 60ms)}}.gg-stats{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:32px;max-width:760px}@media(max-width:640px){.gg-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.gg-stats li{border-top:2px solid var(--gg-ink);padding-top:12px}.gg-stats strong{display:block;font:400 2.6rem/1 var(--gg-display);letter-spacing:.02em;color:var(--gg-ink)}.gg-stats span{display:block;margin-top:8px;font-size:.9rem;color:var(--gg-dim)}.gg-explorer{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;margin-top:32px;align-items:start}@media(max-width:900px){.gg-explorer{grid-template-columns:1fr}}.gg-explorer-list{display:grid;gap:18px;position:sticky;top:80px}@media(max-width:900px){.gg-explorer-list{position:static}}.gg-explorer-group{display:grid;gap:4px}.gg-explorer-label{font:500 .72rem var(--gg-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gg-dim);margin-bottom:4px}.gg-explorer-tab{display:flex;align-items:center;gap:10px;width:100%;text-align:left;cursor:pointer;padding:9px 12px 7px;border-radius:8px;background:transparent;border:1px solid transparent;color:var(--gg-ink);transition:background .15s ease,border-color .15s ease}.gg-explorer-tab .gg-icon{width:20px;height:20px;color:var(--gg-dim)}#goldengate .gg-explorer-tab code{background:none;padding:0;font-size:.85rem;color:inherit}.gg-explorer-tab:hover{background:var(--gg-surface)}.gg-explorer-tab[aria-selected=true]{background:var(--gg-surface);border-color:var(--gg-line);box-shadow:inset 3px 0 0 var(--gg-orange)}.gg-explorer-tab[aria-selected=true] .gg-icon{color:var(--gg-orange)}@media(max-width:900px){.gg-explorer-group{grid-template-columns:repeat(2,minmax(0,1fr))}.gg-explorer-label{grid-column:1 / -1}}@media(max-width:420px){.gg-explorer-group{grid-template-columns:1fr}}.gg-explorer-panel{background:var(--gg-surface);border:1px solid var(--gg-line);border-radius:8px;padding:24px;min-width:0}@media(prefers-reduced-motion:no-preference){.gg-explorer-panel{animation:gg-swap .35s ease both}@keyframes gg-swap{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}}.gg-explorer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.gg-explorer-head h3{font-size:1.3rem}#goldengate .gg-explorer-head code{background:none;padding:0;font-size:1.1rem}.gg-readonly{display:inline-flex;align-items:center;gap:6px;font:500 .72rem var(--gg-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gg-cypress);border:1px solid var(--gg-cypress);border-radius:4px;padding:3px 8px 2px}.gg-readonly .gg-icon{width:16px;height:16px}.gg-explorer-use{margin-top:12px;max-width:62ch}.gg-params-wrap{margin-top:20px;overflow-x:auto}.gg-params{width:100%;border-collapse:collapse;font-size:.9rem}.gg-params th,.gg-params td{text-align:left;padding:8px 12px 6px 0;border-top:1px solid var(--gg-line);vertical-align:top}.gg-params thead th{border-top:0;font:500 .72rem var(--gg-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gg-dim)}.gg-params tbody th{font-weight:400;white-space:nowrap}.gg-params td{color:var(--gg-dim)}.gg-params td:nth-child(2){white-space:nowrap;font-family:var(--gg-mono);font-size:.8rem}.gg-sample{margin-top:20px;border:1px solid var(--gg-line);border-radius:8px;overflow:hidden;background:var(--gg-term-bg)}.gg-sample-bar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 14px;border-bottom:1px solid var(--gg-line);font:500 .72rem var(--gg-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gg-dim)}#goldengate .gg-sample-bar code{background:none;padding:0;text-transform:none;letter-spacing:0;color:var(--gg-pacific);overflow-wrap:anywhere}.gg-sample pre{margin:0;padding:14px;font-size:.78rem;line-height:1.5;overflow-x:auto;white-space:pre;color:var(--gg-ink);max-height:380px;overflow-y:auto}.gg-m-ok{color:var(--gg-cypress)}.gg-m-warn{color:var(--gg-headland)}.gg-m-tag{color:var(--gg-pacific)}.gg-m-dim{color:var(--gg-dim)}.gg-m-head{font-weight:500}.gg-m-redact{background:var(--gg-ink);color:var(--gg-bg);border-radius:2px;padding:0 2px}.gg-frame{margin:32px 0 0;border:1px solid var(--gg-line);border-radius:8px;background:var(--gg-term-bg);overflow:hidden}.gg-frame pre{margin:0;padding:16px 16px 16px 8px;font-size:.78rem;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.gg-frame-line{display:block;padding-left:34px;position:relative}.gg-frame-notice{color:var(--gg-headland)}.gg-frame-marker{color:var(--gg-orange);font-weight:500}.gg-frame-body{color:var(--gg-ink)}.gg-callout{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--gg-ink);color:var(--gg-bg);font:500 .7rem var(--gg-mono)}.gg-frame-line .gg-callout{position:absolute;left:4px;top:3px}.gg-callout-lg{width:28px;height:28px;font-size:.85rem;margin-bottom:12px}.gg-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.gg-chips li{display:inline-flex;gap:0;border:1px solid var(--gg-line);border-radius:4px;overflow:hidden;background:var(--gg-surface);font-size:.8rem}#goldengate .gg-chips code{background:none;padding:5px 8px 3px;color:var(--gg-dim)}.gg-chips span{padding:5px 8px 3px;font-family:var(--gg-mono);border-left:1px solid var(--gg-line);color:var(--gg-cypress)}.gg-split .gg-card .gg-code{margin:14px 0 12px}.gg-split .gg-card .gg-code pre{font-size:.78rem;white-space:pre-wrap;overflow-wrap:anywhere}.gg-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:16px}.gg-tiles-4{margin-top:32px}.gg-tiles .gg-card h3{display:block;font-size:1rem}.gg-tiles .gg-card p{margin-top:4px;font-size:.9rem}.gg-card-icon-warn{color:var(--gg-headland);font-size:1rem}.gg-flow-3{margin-top:32px}@media(min-width:561px){.gg-flow-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 40px}.gg-flow-3 li+li:before{left:-40px;width:40px}.gg-flow-3 li:nth-child(3):before,.gg-flow-3 li:nth-child(3):after{display:block}}.gg-chips-no{margin-top:20px}.gg-chips-no li{align-items:center}.gg-chips-no span{order:-1;border-left:0;border-right:1px solid var(--gg-line);color:var(--gg-alarm)}.gg-chips-no code{color:var(--gg-ink)}.gg-cross-plain>p{margin:14px 0 0}.gg-cross-yes>ul:first-of-type,.gg-cross-no>ul:first-of-type{margin-top:16px}.gg-split>.gg-cross{min-width:0}.gg-cross-plain li{text-decoration:none;color:var(--gg-ink)}.gg-chips-no .gg-chips-label{border:0;background:none;font:500 .72rem var(--gg-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gg-dim);padding:6px 4px 0 0}.gg-surf{background:var(--gg-surface);border:1px solid var(--gg-line);border-radius:8px;overflow:hidden;position:relative;min-width:0;padding:18px;font-size:.95rem}.gg-surf ul{list-style:none;display:grid;gap:6px}.gg-surf li{position:relative;padding-left:16px}.gg-surf li:before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--gg-cypress)}.gg-avatar-bot{background:var(--gg-orange);color:var(--gg-on-orange)}.gg-case-surface{min-width:0}.gg-terminal{padding:0;background:var(--gg-term-bg)}.gg-surf-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--gg-line);font:500 .72rem var(--gg-mono);letter-spacing:.08em;color:var(--gg-dim)}.gg-surf-bar i{width:10px;height:10px;border-radius:50%;background:var(--gg-line);display:block}.gg-surf-bar span{margin-left:8px}.gg-terminal pre{margin:0;padding:16px;font-size:.8rem;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.gg-tl{display:block}.gg-tl-cmd{color:var(--gg-ink);font-weight:500}.gg-tl-dim{color:var(--gg-pacific)}.gg-tl-out{color:var(--gg-ink)}.gg-tl-warn{color:var(--gg-headland)}.gg-post-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.gg-post-head time{margin-left:auto;font:500 .72rem var(--gg-mono);color:var(--gg-dim)}.gg-post>p{margin-bottom:8px}.gg-post-foot{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}#goldengate .gg-post-foot code{color:var(--gg-pacific);border:1px solid var(--gg-line);background:var(--gg-bg)}.gg-ribbon{position:absolute;top:14px;right:14px;font:500 .68rem var(--gg-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gg-headland);border:1px solid var(--gg-headland);border-radius:4px;padding:2px 6px 1px}.gg-email dl{display:grid;gap:6px;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--gg-line);padding-right:64px}.gg-email dl>div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px}.gg-email dt{font:500 .72rem var(--gg-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gg-dim);padding-top:3px}.gg-email dd{margin:0;font-weight:600;overflow-wrap:anywhere}.gg-email>p{margin-bottom:8px}.gg-voice{display:grid;justify-items:center;text-align:center;gap:14px;padding:28px 22px}.gg-voice-orb{display:flex;align-items:center;justify-content:center;gap:5px;width:84px;height:84px;border-radius:50%;background:var(--gg-orange)}.gg-voice-orb i{display:block;width:5px;height:30px;border-radius:3px;background:var(--gg-on-orange);transform:scaleY(.4)}.gg-voice-orb i:nth-child(2),.gg-voice-orb i:nth-child(4){height:40px}.gg-voice-orb i:nth-child(3){height:52px}.gg-voice-q{font-weight:600}.gg-voice-a{color:var(--gg-dim);max-width:36ch}@media(prefers-reduced-motion:no-preference){.gg-voice-orb i{animation:gg-bars 1.1s ease-in-out infinite}.gg-voice-orb i:nth-child(2){animation-delay:.12s}.gg-voice-orb i:nth-child(3){animation-delay:.24s}.gg-voice-orb i:nth-child(4){animation-delay:.36s}.gg-voice-orb i:nth-child(5){animation-delay:.48s}@keyframes gg-bars{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}}.gg-doc{padding:26px 24px}.gg-doc h3{font-family:var(--gg-display);font-weight:400;font-size:1.5rem;letter-spacing:.02em}.gg-doc>p{color:var(--gg-dim);margin:6px 0 14px}.gg-doc li:before{content:"✓";width:auto;height:auto;background:none;top:0;color:var(--gg-cypress);font-weight:600}.gg-cal-head{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--gg-line);margin-bottom:14px}.gg-cal-head b{background:var(--gg-orange);color:var(--gg-on-orange);border-radius:4px;padding:3px 9px 1px;font:500 .85rem var(--gg-mono)}.gg-cal-head span{font-weight:600}.gg-cal-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}@media(max-width:480px){.gg-cal-cols{grid-template-columns:1fr}}.gg-cal-cols h4{font:500 .72rem var(--gg-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gg-dim);margin-bottom:8px}.gg-cal-cols>div:nth-child(2) li:before{background:var(--gg-headland)}.gg-editor{padding:0}.gg-editor-tab{padding:8px 14px 6px;font:500 .78rem var(--gg-mono);border-bottom:1px solid var(--gg-line);background:var(--gg-bg);color:var(--gg-ink)}.gg-editor pre{margin:0;padding:12px 0;font-size:.8rem;line-height:1.7;overflow-x:auto;background:var(--gg-term-bg)}.gg-editor pre span{display:block;padding:0 14px 0 0;white-space:pre}.gg-editor pre b{display:inline-block;width:40px;text-align:right;padding-right:14px;font-weight:400;color:var(--gg-dim)}.gg-ed-hot{background:color-mix(in srgb,var(--gg-headland) 18%,transparent)}.gg-ed-note{display:flex;gap:10px;align-items:flex-start;padding:14px;border-top:1px solid var(--gg-line)}.gg-ed-note p{font-size:.92rem}.gg-case-num em{font-style:normal;margin-left:10px;color:var(--gg-orange);letter-spacing:.06em}.gg-case-tools{margin-top:14px}@media(min-width:901px){.gg-case.is-flip .gg-case-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.gg-case.is-flip .gg-case-text{order:2}.gg-case.is-flip .gg-case-surface{order:1}}@media(prefers-reduced-motion:no-preference){#goldengate[data-motion=on] .gg-surf:not(.is-in) :is(.gg-tl,li,.gg-ed-note,.gg-voice-q,.gg-voice-a,.gg-cal-cols>div){opacity:0}#goldengate[data-motion=on] .gg-surf.is-in .gg-tl{animation:gg-rise .45s ease calc(.3s + var(--k) * .45s) both}#goldengate[data-motion=on] .gg-surf.is-in li{animation:gg-rise .5s ease both}#goldengate[data-motion=on] .gg-surf.is-in li:nth-child(1){animation-delay:.3s}#goldengate[data-motion=on] .gg-surf.is-in li:nth-child(2){animation-delay:.55s}#goldengate[data-motion=on] .gg-surf.is-in li:nth-child(3){animation-delay:.8s}#goldengate[data-motion=on] .gg-surf.is-in li:nth-child(4){animation-delay:1.05s}#goldengate[data-motion=on] .gg-surf.is-in .gg-ed-note{animation:gg-rise .5s ease .9s both}#goldengate[data-motion=on] .gg-surf.is-in .gg-voice-q{animation:gg-rise .5s ease .3s both}#goldengate[data-motion=on] .gg-surf.is-in .gg-voice-a{animation:gg-rise .5s ease 1.2s both}#goldengate[data-motion=on] .gg-surf.is-in .gg-cal-cols>div:nth-child(1){animation:gg-rise .5s ease .3s both}#goldengate[data-motion=on] .gg-surf.is-in .gg-cal-cols>div:nth-child(2){animation:gg-rise .5s ease .7s both}}.gg-uc-hero{position:relative;aspect-ratio:1600 / 712;min-height:440px;max-height:820px;overflow:hidden;border-bottom:1px solid var(--gg-line);background:var(--gg-sunk)}.gg-map-svg{position:absolute;inset:0;width:100%;height:100%;display:block}.gg-map-water{fill:var(--gg-sunk)}.gg-map-ripples{stroke:var(--gg-pacific)}.gg-map-land{fill:var(--gg-surface);stroke:none}.gg-map-coast{fill:none;stroke:var(--gg-dim);stroke-width:1.2;stroke-linejoin:round;opacity:.6}.gg-map-streets{fill:none;stroke:var(--map-road, var(--gg-line));stroke-width:.6;opacity:var(--map-streets, .26)}.gg-map-tertiary{fill:none;stroke:var(--map-road, var(--gg-line));stroke-width:.8;opacity:var(--map-tertiary, .4)}.gg-map-major{fill:none;stroke:var(--map-road, var(--gg-line));stroke-width:1.4;opacity:var(--map-major, .6)}@media(prefers-color-scheme:dark){#goldengate:not([data-theme=light]) .gg-uc-hero{--map-road: var(--gg-dim);--map-streets: .16;--map-tertiary: .26;--map-major: .42}}#goldengate[data-theme=dark] .gg-uc-hero{--map-road: var(--gg-dim);--map-streets: .16;--map-tertiary: .26;--map-major: .42}.gg-uc-ui{position:absolute;inset:0;pointer-events:none}.gg-uc-ui>*{pointer-events:auto}.gg-uc-title{position:absolute;left:max(var(--gg-gutter),calc((100% - var(--gg-max)) / 2 + var(--gg-gutter)));top:4.5%;max-width:32%}.gg-uc-title h1{font-size:clamp(2.4rem,3.6vw,3.5rem)}.gg-uc-title .gg-lede{color:var(--gg-ink);margin-top:10px;font-size:clamp(.9rem,1.1vw,1.05rem);max-width:30ch}.gg-uc-side{position:absolute;isolation:isolate}.gg-uc-sf{left:9%;top:52%}.gg-uc-marin{left:60%;top:12%}.gg-uc-side h2{font-size:clamp(1.2rem,1.7vw,1.6rem)}.gg-uc-side>p{color:var(--gg-dim);font-size:.9rem;margin-top:2px}.gg-uc-title h1,.gg-uc-title .gg-lede,.gg-uc-side h2,.gg-uc-side>p{text-shadow:0 0 3px var(--gg-sunk),0 0 8px var(--gg-sunk),0 0 16px var(--gg-sunk)}.gg-uc-side h2,.gg-uc-side>p{text-shadow:none}.gg-uc-mid{display:none}.gg-map-logo{color:var(--gg-ink);fill:currentColor}@media(prefers-reduced-motion:no-preference){.gg-map-logo{transition:opacity .2s ease}.gg-map-logo:hover{opacity:.6}}.gg-uc-side .gg-logos{display:none}.gg-logos{list-style:none;display:flex;flex-wrap:wrap;gap:16px 20px;margin-top:14px;max-width:340px}.gg-uc-marin .gg-logos{max-width:170px}.gg-logos li{display:grid;place-items:center;width:38px;height:38px;color:var(--gg-ink)}.gg-logos .gg-logo-mark,.gg-logos .gg-icon{width:34px;height:34px}@media(prefers-reduced-motion:no-preference){.gg-logos li{transition:transform .2s ease}.gg-logos li:hover{transform:translateY(-3px) scale(1.08)}}.gg-map-credit{position:absolute;right:10px;bottom:8px;font-size:.7rem;color:var(--gg-dim)!important;text-decoration:none!important;background:color-mix(in srgb,var(--gg-surface) 75%,transparent);padding:2px 6px 0;border-radius:4px}.gg-map-credit:hover{text-decoration:underline!important}@media(max-width:1000px){.gg-uc-hero{aspect-ratio:auto;min-height:0;max-height:none;overflow:visible;background:none;padding:48px 0 40px}.gg-map-svg,.gg-map-credit{display:none}.gg-uc-ui{position:static;display:grid;gap:0;padding:0 var(--gg-gutter);max-width:var(--gg-max);margin:0 auto}.gg-uc-title,.gg-uc-side{position:static;max-width:none}.gg-uc-side .gg-logos{display:flex}.gg-uc-title{margin-bottom:28px}.gg-uc-title h1{font-size:2.6rem}.gg-uc-side{border:1px solid var(--gg-line);border-radius:8px;padding:20px;background:var(--gg-surface)}.gg-uc-marin .gg-logos{max-width:none}.gg-uc-side h2,.gg-uc-side>p,.gg-uc-title h1,.gg-uc-title .gg-lede{text-shadow:none}.gg-uc-mid{display:grid;place-items:center;height:72px}.gg-uc-mid .gg-uc-mark{width:56px;height:auto;color:var(--gg-orange)}.gg-logos{gap:14px 18px}}#harbinger{--ink: #15171c;--paper: #f5f4ef;--signal: #e4572e;--slate: #5b616e;--bg: var(--paper);--bg-raised: #ecebe4;--fg: var(--ink);--fg-soft: var(--slate);--line: rgba(21, 23, 28, .14);--font: "Fira Code", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;min-height:100vh;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:15px;line-height:1.7}@media(prefers-color-scheme:dark){#harbinger{--bg: #0f1115;--bg-raised: #171a20;--fg: #ecebe6;--fg-soft: #9aa0ac;--signal: #f0643c;--line: rgba(236, 235, 230, .14)}}#harbinger *,#harbinger *:before,#harbinger *:after{box-sizing:border-box}#harbinger a{color:inherit;text-decoration:none}:where(#harbinger) :is(h1,h2,h3,h4,h5,p,ul,ol){margin:0;padding:0}:where(#harbinger) :is(ul,ol){list-style:none}#harbinger button{font-family:inherit}#harbinger a:focus-visible,#harbinger button:focus-visible,#harbinger summary:focus-visible,#harbinger input:focus-visible{outline:2px solid var(--signal);outline-offset:3px}#harbinger ::selection{background:var(--signal);color:#fff}#harbinger code{padding:1px 6px;border-radius:4px;background:var(--bg-raised);font:inherit;font-size:.93em}#harbinger .hb-dot{fill:var(--signal);background:var(--signal)}.hb-hero{background:#15171c;color:#ecebe6;padding:0 clamp(1.25rem,6vw,5rem) 3.5rem}.hb-hero>*{max-width:88rem;margin-left:auto;margin-right:auto}.hb-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.75rem 0}.hb-top img{display:block;height:34px;width:auto}.hb-top nav{display:flex;align-items:center;gap:clamp(.9rem,2.6vw,1.9rem);font-size:14px;color:#9aa0ac}.hb-top nav a:hover{color:#ecebe6}.hb-top nav a.active{color:#ecebe6;box-shadow:0 2px #ecebe6}#harbinger .hb-back{padding:.25rem .8rem;border-radius:999px;box-shadow:inset 0 0 0 1px #ecebe640}.hb-top nav a,.hb-top nav button{white-space:nowrap}@media(max-width:66rem){.hb-top .hb-optional{display:none}}@media(max-width:36rem){.hb-top{flex-wrap:wrap;padding-bottom:.5rem}.hb-top img{height:28px}.hb-top nav{gap:1rem;font-size:13px;flex-wrap:wrap}}.hb-hero-head{padding:clamp(1.5rem,5vw,3.5rem) 0 clamp(1.75rem,4vw,2.5rem)}.hb-hero-short .hb-hero-head{padding-bottom:1rem}.hb-eyebrow{margin-bottom:1.1rem;color:#9aa0ac;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.hb-hero h1{max-width:60rem;margin-bottom:1.25rem;font-size:clamp(1.9rem,4.4vw,3.2rem);font-weight:500;letter-spacing:-.045em;line-height:1.08}.hb-lede{max-width:38rem;margin-bottom:2rem;color:#b9bdc6;font-size:16px}.hb-hero-short .hb-lede{margin-bottom:0}.hb-idea{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:52rem}.hb-idea li{display:flex;gap:.75rem;font-size:13.5px;line-height:1.55;color:#9aa0ac}.hb-idea li>span{flex-shrink:0;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;box-shadow:inset 0 0 0 1.5px #ecebe659;color:#ecebe6;font-size:12px}.hb-idea strong{display:block;color:#ecebe6;font-weight:500}@media(max-width:44rem){.hb-idea{grid-template-columns:1fr;gap:.7rem}}.sim-panels{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}@media(max-width:60rem){.sim-panels{grid-template-columns:1fr}}.sim-panel{min-width:0;padding:1.25rem;border-radius:16px;background:#1d2027}.sim-panel[data-mode=h]{box-shadow:inset 0 0 0 1px #ecebe633}.sim-panel header{margin-bottom:1rem}.sim-panel h3{font-size:16px;font-weight:500;letter-spacing:-.02em}.sim-panel header p{color:#8a909c;font-size:13px;line-height:1.5}.sim-body{display:flex;align-items:stretch;gap:1rem;min-height:8.6rem}.sim-lanes{flex:1;min-width:0;display:flex;flex-direction:column;gap:.5rem;justify-content:center}.sim-panel[data-mode=fifo] .sim-lanes{justify-content:flex-start}.sim-lane{display:flex;align-items:center;gap:.6rem;height:30px}.sim-lane-tag{flex-shrink:0;width:3.1rem;color:#6f7581;font-size:11px;letter-spacing:.06em;text-transform:uppercase}.sim-track{flex:1;min-width:0;height:100%;display:flex;align-items:center;gap:4px;overflow:hidden;padding:0 4px;border-radius:999px;background:#ecebe60d;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}.sim-count{flex-shrink:0;width:1.4rem;color:#8a909c;font-size:12px;text-align:right}.sim-pill,.sim-run{flex-shrink:0;height:18px;border-radius:999px;background:#ecebe6;color:#15171c;font-size:10px;line-height:18px;text-align:center;overflow:hidden}[data-cls=short]{opacity:.4}[data-cls=mid]{opacity:.68}[data-cls=long]{opacity:1}.sim-pill[data-cold]{box-shadow:0 0 0 1.5px #1d2027,0 0 0 2.5px #8a909c}.sim-worker{flex-shrink:0;width:7.6rem;display:flex;flex-direction:column;justify-content:center;gap:.5rem;padding-left:1rem;border-left:1px dashed rgba(236,235,230,.2)}.sim-run{position:relative;display:flex;align-items:center;justify-content:flex-end;height:22px;background:#ecebe62e;opacity:1!important;max-width:100%}.sim-run[data-cls=short],.sim-run[data-cls=mid],.sim-run[data-cls=long]{opacity:1}.sim-run-fill{position:absolute;left:0;top:0;bottom:0;background:#ecebe6}.sim-run .hb-dot{position:relative;width:12px;height:12px;margin-right:5px;border-radius:50%}.sim-idle{color:#6f7581;font-size:12px}.sim-panel footer{display:flex;align-items:flex-end;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1rem;padding-top:.9rem;border-top:1px solid rgba(236,235,230,.12)}.sim-stat{display:flex;flex-direction:column;font-size:11px;color:#8a909c;letter-spacing:.04em;text-transform:uppercase}.sim-stat strong{color:#ecebe6;font-size:22px;font-weight:500;letter-spacing:-.03em;line-height:1.2}.sim-stat em{font-style:normal;color:#ecebe6;font-size:12px;text-transform:none}.sim-done{margin-left:auto;color:#6f7581;font-size:12px}.sim-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.sim-legend{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;color:#8a909c;font-size:12px}.sim-legend span{display:inline-flex;align-items:center;gap:.4rem}.sim-legend i{width:22px;height:10px;border-radius:999px;background:#ecebe6}.sim-legend i[data-cold]{box-shadow:0 0 0 1.5px #15171c,0 0 0 2.5px #8a909c;opacity:.68}.sim-controls{display:flex;gap:.4rem}.sim-controls button{appearance:none;padding:.3rem .9rem;border:0;border-radius:999px;background:transparent;box-shadow:inset 0 0 0 1px #ecebe647;color:#ecebe6;font-size:12.5px;cursor:pointer}.sim-controls button:hover:not(:disabled){background:#ecebe61a}.sim-controls button[aria-pressed=true]{background:#ecebe6;box-shadow:none;color:#15171c}.sim-controls button:disabled{opacity:.4;cursor:default}.sim-note{margin-top:.9rem;color:#6f7581;font-size:12px;line-height:1.6}.hb-page{max-width:88rem;margin:0 auto;padding:0 clamp(1.25rem,6vw,5rem)}.hb-level{display:grid;grid-template-columns:12rem minmax(0,1fr);gap:2rem 3rem;padding:clamp(3rem,7vw,5rem) 0;border-bottom:1px solid var(--line);scroll-margin-top:1rem}@media(max-width:56rem){.hb-level{grid-template-columns:1fr;gap:1.5rem}}.hb-level-head{display:flex;align-items:flex-start;gap:1rem;align-self:start;position:sticky;top:1.5rem}@media(max-width:56rem){.hb-level-head{position:static}}.hb-glyph{flex-shrink:0;width:52px;height:52px;color:var(--fg)}.hb-glyph.is-quiet{color:var(--fg-soft)}.hb-level-tag{display:block;color:var(--fg-soft);font-size:12px;letter-spacing:.08em;text-transform:uppercase;line-height:1.5}.hb-level-head h2{font-size:20px;font-weight:500;letter-spacing:-.03em;line-height:1.3}.hb-level-body{min-width:0}.hb-level.is-wide{grid-template-columns:1fr}.hb-level.is-wide .hb-level-head{position:static}.hb-intro{max-width:58rem;margin-bottom:1.75rem}.hb-fine{max-width:58rem;margin-top:1.25rem;color:var(--fg-soft);font-size:13px;line-height:1.75}.fx{padding:clamp(1.1rem,3vw,2rem);border-radius:20px;background:var(--bg-raised)}.fx-stages{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;align-items:stretch}.fx-rail{position:absolute;top:3.1rem;left:10%;right:10%;height:2px;background:var(--line)}.fx-rail span{display:block;height:100%;background:var(--fg);transition:width .7s cubic-bezier(.2,.7,.2,1)}.fx-stage{appearance:none;position:relative;display:flex;flex-direction:column;align-items:center;gap:.15rem;min-width:0;padding:1.4rem .8rem 1.5rem;border:0;border-radius:16px;background:var(--bg);color:var(--fg);text-align:center;cursor:pointer;transition:box-shadow .3s,transform .3s}.fx-stage{box-shadow:inset 0 0 0 1px var(--line)}.fx-stage[data-on]{box-shadow:inset 0 0 0 2px var(--fg);transform:translateY(-3px)}.fx-pin{display:grid;place-items:center;width:34px;height:34px;margin-bottom:.7rem;border-radius:50%;background:var(--bg-raised);box-shadow:inset 0 0 0 2px var(--line);position:relative;z-index:1;transition:box-shadow .3s}.fx-stage[data-on] .fx-pin{background:var(--bg);box-shadow:inset 0 0 0 2px var(--fg)}.fx-pin i{width:0;height:0;border-radius:50%;background:var(--signal);transition:width .3s,height .3s}.fx-stage[data-on] .fx-pin i{width:14px;height:14px}.fx-stage strong{font-size:15.5px;font-weight:600;line-height:1.3}.fx-stage>span:not(.fx-pin):not(.fx-tiers){color:var(--fg-soft);font-size:13px;line-height:1.45;overflow-wrap:anywhere}.fx-stage small{margin-top:.5rem;color:var(--fg-soft);font-size:12.5px;line-height:1.45}.fx-tiers{display:flex;flex-direction:column;gap:.55rem;width:100%;max-width:10.5rem;margin-top:.9rem}.fx-foot{display:flex;flex-direction:column;margin-top:auto;padding-top:.3rem}.fx-foot small{margin-top:.2rem}.fx-tiers b{padding:.4rem .9rem;border-radius:999px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);font-size:12.5px;font-weight:500;text-align:left}.fx-tiers b{background:var(--bg-raised)}.fx-stage small.fx-aging{transition:color .3s}.fx-stage[data-aging] .fx-aging{color:var(--fg);font-weight:600}.fx-stage[data-aging] .fx-tiers b:nth-child(3){animation:fx-lift 1.4s ease-in-out infinite}@keyframes fx-lift{0%,to{transform:none}50%{transform:translateY(-1.7rem)}}.fx-stage small.fx-dlq{margin-top:.15rem;transition:color .3s}.fx-stage small.fx-dlq[data-on]{color:var(--fg);font-weight:600}.fx-return{margin:.9rem 10% 0 50%;padding:.8rem .5rem .75rem;border:2px dashed var(--line);border-top:0;border-radius:0 0 14px 14px;color:var(--fg-soft);font-size:12px;text-align:center;transition:color .3s,border-color .3s}.fx-return[data-on]{border-style:solid;border-color:var(--fg);color:var(--fg)}@media(max-width:56rem){.fx-stages{grid-template-columns:1fr;gap:.5rem}.fx-rail,.fx-return{display:none}.fx-stage{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.1rem .9rem;padding:.8rem 1rem;text-align:left}.fx-pin{margin-bottom:0}.fx-tiers{flex-direction:row;max-width:none;width:auto;margin:0}.fx-stage small{margin-top:0}.fx-stage[data-aging] .fx-tiers b:nth-child(3){animation:none}.fx-stage:not([data-on]) .fx-tiers,.fx-stage:not([data-on]) .fx-foot{display:none}.fx-stage[data-on]{transform:none}.fx-tiers{flex-basis:100%;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}.fx-tiers b{padding:.25rem .7rem;font-size:12px}.fx-foot{flex-direction:row;gap:.9rem;flex-basis:100%;padding-top:0}.fx-text{min-height:0}}.fx-caption{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem 2rem;flex-wrap:wrap;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line)}.fx-text{flex:1 1 22rem;min-height:8.2rem}.fx-step{color:var(--fg-soft);font-size:12px;letter-spacing:.08em}.fx-text h3{margin:.2rem 0 .4rem;font-size:20px;font-weight:500;letter-spacing:-.03em}.fx-text p{max-width:36rem;color:var(--fg-soft);font-size:14px;line-height:1.75}.fx-nav{display:flex;align-items:center;gap:.75rem}.fx-nav>button{appearance:none;width:34px;height:34px;border:0;border-radius:50%;background:transparent;box-shadow:inset 0 0 0 1px var(--line);color:var(--fg);font-size:15px;cursor:pointer}.fx-nav>button:hover{background:var(--bg)}.fx-nav [role=tablist]{display:flex;gap:.5rem}.fx-nav [role=tab]{appearance:none;width:10px;height:10px;padding:0;border:0;border-radius:50%;background:var(--line);cursor:pointer;transition:width .25s,background .25s}.fx-nav [role=tab][aria-selected=true]{width:26px;border-radius:999px;background:var(--signal)}.pl-row,.pl-axis{display:grid;grid-template-columns:11.5rem minmax(0,1fr) 12.5rem;gap:1rem 1.25rem;align-items:center}.pl-row{padding:.9rem 0;border-top:1px solid var(--line)}.pl-axis{padding-bottom:1.6rem}.pl-axis>div{position:relative;height:1rem}.pl-axis em{position:absolute;color:var(--fg-soft);font-size:11px;font-style:normal;white-space:nowrap;transform:translate(-50%)}.pl-axis em:first-child{transform:none}.pl-axis em:last-child{transform:none}.pl-name strong{display:block;font-size:13px;font-weight:600;overflow-wrap:anywhere}.pl-name span{color:var(--fg-soft);font-size:12px}.pl-chart{position:relative;height:52px}.pl-zone{position:absolute;top:0;bottom:0;background:var(--bg-raised)}.pl-zone:nth-child(2){background:transparent;box-shadow:inset 1px 0 0 var(--line),inset -1px 0 0 var(--line)}.pl-bar{position:absolute;bottom:0;border-radius:3px 3px 0 0;background:var(--fg);transition:height .15s}.pl-bar{display:flex;justify-content:center}.pl-bar.is-median{min-height:16px}.pl-bar .hb-dot{display:block;width:9px;height:9px;margin-top:3.5px;border-radius:50%}.pl-state{display:flex;align-items:center;gap:.7rem;font-size:12px;line-height:1.4}.pl-state b{flex-shrink:0;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--fg);color:var(--bg);font-size:12px}.pl-state[data-kind=fallback] b{background:transparent;box-shadow:inset 0 0 0 1.5px var(--fg-soft);color:var(--fg-soft)}.pl-state[data-kind=fallback] span{color:var(--fg-soft)}.pl-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-top:1.25rem;border-top:1px solid var(--line)}.pl-controls label{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;font-size:13px;color:var(--fg-soft)}.pl-controls input[type=range]{width:min(18rem,60vw);accent-color:var(--signal)}.pl-controls strong{min-width:2ch;color:var(--fg)}.pl-controls button{appearance:none;padding:.4rem 1.1rem;border:0;border-radius:999px;background:var(--fg);color:var(--bg);font-size:13px;cursor:pointer}@media(max-width:56rem){.pl-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name state" "chart chart";gap:.7rem .9rem;align-items:start}.pl-name{grid-area:name}.pl-state{grid-area:state;max-width:10.5rem}.pl-chart{grid-area:chart}.pl-axis{grid-template-columns:1fr;padding-bottom:1.4rem}.pl-axis>span{display:none}}@media(max-width:30rem){.pl-state b{width:28px;height:28px;font-size:11px}.pl-axis em{font-size:10px}.pl-controls label{width:100%}.pl-controls input[type=range]{flex:1;width:auto;min-width:0}}.bars{display:flex;flex-direction:column;gap:.8rem}.bars-row{display:grid;grid-template-columns:minmax(7rem,11rem) minmax(0,1fr) 5.2rem;gap:.9rem;align-items:center;font-size:13px}.bars-label{overflow-wrap:anywhere}.bars-track{position:relative;height:18px;border-radius:999px;background:var(--bg-raised);box-shadow:inset 0 0 0 1px var(--line)}.bars-fill{position:absolute;left:0;top:0;bottom:0;display:flex;align-items:center;justify-content:flex-end;border-radius:999px;background:var(--fg);min-width:18px;animation:hb-grow .9s cubic-bezier(.2,.7,.2,1) backwards}.bars-row[data-kind=base] .bars-fill{background:var(--fg-soft);opacity:.55}.bars-fill .hb-dot{width:11px;height:11px;margin-right:3.5px;border-radius:50%}.bars-value{text-align:right;font-weight:600}@keyframes hb-grow{0%{width:0!important}}@media(max-width:36rem){.bars-row{grid-template-columns:1fr 4.4rem}.bars-track{grid-column:1 / -1;order:3}}.deltas{display:flex;flex-direction:column;gap:.8rem}.deltas-row{display:grid;grid-template-columns:minmax(8rem,12rem) minmax(0,1fr) 3.8rem;gap:.9rem;align-items:center;font-size:13px}.deltas-track{position:relative;height:16px}.deltas-axis{position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:var(--fg-soft)}.deltas-fill{position:absolute;top:0;bottom:0;border-radius:999px;background:var(--fg-soft);opacity:.5}.deltas-row[data-better] .deltas-fill{background:var(--fg);opacity:1}.deltas-value{text-align:right;font-weight:600}.deltas-legend{display:grid;grid-template-columns:minmax(8rem,12rem) 1fr 3.8rem;gap:.9rem;color:var(--fg-soft);font-size:11px}.deltas-legend span:first-child{grid-column:2;display:flex;justify-content:space-between}.deltas-legend{grid-template-columns:1fr;padding-left:calc(min(12rem,30%) + .9rem)}.deltas-legend{display:flex;justify-content:space-between;padding-right:4.7rem}@media(max-width:36rem){.deltas-row{grid-template-columns:1fr 3.4rem}.deltas-track{grid-column:1 / -1;order:3}.deltas-legend{padding-left:0;padding-right:0}}.hb-card-link{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:2rem;padding:1.25rem 1.5rem;border-radius:14px;background:var(--fg);color:var(--bg)!important;transition:transform .15s}.hb-card-link:hover{transform:translateY(-2px)}.hb-card-link strong{display:block;font-size:16px;font-weight:500}.hb-card-link span{font-size:13px;opacity:.75;line-height:1.55}.hb-card-link b{font-size:22px;font-weight:400}.hb-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.9rem}.hb-pill{appearance:none;padding:.35rem 1rem;border:0;border-radius:999px;background:transparent;box-shadow:inset 0 0 0 1px var(--line);color:var(--fg-soft);font-size:13px;cursor:pointer}.hb-pill:hover{color:var(--fg)}.hb-pill[aria-selected=true]{background:var(--fg);box-shadow:none;color:var(--bg)}.hb-command{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:.9rem;width:100%;padding:1rem 1.25rem;border-radius:14px;background:#15171c;color:#9aa0ac;font:14px/1.5 var(--font);cursor:pointer}.hb-command:focus-visible{outline:2px solid var(--signal);outline-offset:3px}.hb-prompt{color:var(--signal)}.hb-command-script{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hb-highlight{color:#ecebe6;font-weight:500}.hb-copy{color:#6f7581;font-size:12px}.hb-command:hover .hb-copy{color:#ecebe6}.path{display:flex;flex-direction:column}.path li+li{border-top:1px solid var(--line)}.path-row{display:grid;grid-template-columns:2rem minmax(0,1fr) 1.5rem minmax(0,1fr);gap:1rem;align-items:start;padding:1rem 0;font-size:13.5px;line-height:1.6}.path-go{color:var(--fg);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.path-n{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--fg);color:var(--bg);font-size:12px}.path-arrow{color:var(--fg-soft)}.path-found{font-weight:500}.path-then{color:var(--fg-soft)}@media(max-width:56rem){.path-row{grid-template-columns:2rem 1fr}.path-arrow{display:none}.path-then{grid-column:2}}.exp-meta{margin-bottom:1rem}.exp-outcome{display:inline-block;padding:.15rem .9rem;border-radius:999px;font-size:12px;font-weight:500;box-shadow:inset 0 0 0 1px var(--fg-soft)}.exp-outcome[data-kind=pass]{background:var(--fg);color:var(--bg);box-shadow:none}.exp-outcome[data-kind=fail]{box-shadow:inset 0 0 0 1.5px var(--fg)}.exp-q{max-width:58rem;margin-bottom:1.5rem}.exp-q b{display:block;margin-bottom:.1rem;color:var(--fg-soft);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.facts{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2rem}.facts li{display:flex;flex-direction:column;padding:.55rem 1rem;border-radius:12px;background:var(--bg-raised)}.facts strong{font-size:17px;font-weight:600;letter-spacing:-.03em;line-height:1.3}.facts span{color:var(--fg-soft);font-size:11.5px;line-height:1.4}.exp-viz{margin-bottom:2rem;padding:1.5rem;border-radius:16px;background:var(--bg-raised)}.viz-title,.mini h5,.crit h5{margin-bottom:1rem;font-size:12px;font-weight:500;color:var(--fg-soft);letter-spacing:.04em}.mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(17rem,100%),1fr));gap:2rem 2.5rem}.mini-grid.two{grid-template-columns:repeat(auto-fit,minmax(min(20rem,100%),1fr))}.exp-viz .bars-row{grid-template-columns:minmax(6rem,9.5rem) minmax(0,1fr) 4rem;gap:.7rem;font-size:12.5px}.exp-viz .bars-track{background:var(--bg)}.exp-src{display:inline-block;margin-top:1.25rem;color:var(--fg-soft);font-size:13px;text-decoration:underline!important;text-underline-offset:4px}.exp-src:hover{color:var(--fg)}.exp-takeaways{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 2.5rem}@media(max-width:52rem){.exp-takeaways{grid-template-columns:1fr}}.exp-takeaways h4{margin-bottom:.75rem;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-soft)}.exp-takeaways li{position:relative;padding-left:1.25rem;margin-bottom:.7rem;font-size:13.5px;line-height:1.7}.exp-takeaways li:before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--fg-soft)}.exp-changed li:before{background:var(--signal)}.crit{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr));gap:1.5rem;margin-bottom:2rem;padding:1.5rem;border-radius:16px;background:var(--bg-raised)}.crit li{margin-bottom:.45rem;font-size:12.5px;line-height:1.6}.bins{display:flex;flex-direction:column;gap:.6rem}.bins-row{display:grid;grid-template-columns:minmax(8rem,12rem) minmax(0,1fr) 7.5rem;gap:.9rem;align-items:center;font-size:12.5px}.bins-track{display:flex;flex-direction:column;gap:3px}.bins-track i{display:block;height:7px;border-radius:999px}.bins-a{background:var(--fg-soft);opacity:.5}.bins-b{background:var(--fg)}.bins-row strong{text-align:right;font-weight:500;font-size:12px}@media(max-width:40rem){.bins-row{grid-template-columns:1fr 7rem}.bins-track{grid-column:1 / -1;order:3}}.next li{position:relative;padding:1rem 0 1rem 2.5rem;border-top:1px solid var(--line);counter-increment:n;font-size:14px}.next{counter-reset:n}.next li:first-child{border-top:0;padding-top:0}.next li:before{content:counter(n);position:absolute;left:0;top:1rem;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--fg-soft);color:var(--fg-soft);font-size:12px}.next li:first-child:before{top:0}.next strong{font-weight:600;margin-right:.4rem}.hb-footer{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1.25rem;padding:2rem clamp(1.25rem,6vw,5rem) 2rem;padding-right:max(clamp(1.25rem,6vw,5rem),9.5rem);background:#15171c;color:#9aa0ac;font-size:13px}.hb-footer img{height:28px;width:28px}.hb-footer span{flex:1}.hb-footer a:hover{color:#ecebe6}@media(prefers-reduced-motion:reduce){.bars-fill,.fx-stage[data-aging] .fx-tiers b:nth-child(3){animation:none}}@media(max-width:40rem){.sim-body{flex-direction:column;min-height:0}.sim-worker{width:auto;flex-direction:row;justify-content:flex-start;align-items:center;padding:.7rem 0 0;border-left:0;border-top:1px dashed rgba(236,235,230,.2)}.sim-run{max-width:calc(100% - 4rem)}}.term{position:relative;cursor:help;text-decoration:underline dotted;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:currentColor}.term:focus-visible{outline:2px solid var(--signal);outline-offset:2px;border-radius:3px}.term-tip{position:absolute;z-index:30;left:0;bottom:calc(100% + 8px);display:none;width:min(19rem,72vw);padding:.8rem .95rem;border-radius:12px;background:#15171c;color:#d5d7dd;box-shadow:0 0 0 1px #ecebe638,0 10px 30px #0000004d;font-size:12.5px;font-style:normal;font-weight:400;line-height:1.6;letter-spacing:0;text-align:left;text-transform:none;white-space:normal;cursor:default}.term-tip b{display:block;margin-bottom:.2rem;color:#ecebe6;font-weight:600}.term-tip a{display:inline-block;margin:.45rem .9rem 0 0;color:#ecebe6;text-decoration:underline;text-underline-offset:3px}.term-tip:after{content:"";position:absolute;left:1rem;top:100%;border:6px solid transparent;border-top-color:#15171c}.term:hover>.term-tip,.term:focus>.term-tip,.term:focus-within>.term-tip{display:block}.term-tip{pointer-events:auto}.term-tip:before{content:"";position:absolute;left:0;right:0;top:100%;height:10px}.term[data-flip] .term-tip{left:auto;right:0}.term[data-flip] .term-tip:after{left:auto;right:1rem}.term-tip button{appearance:none;margin:.45rem 0 0;padding:0;border:0;background:none;color:#ecebe6;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.hb-navbtn{appearance:none;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}.hb-navbtn:hover{color:#ecebe6}.hb-fab{position:fixed;z-index:40;right:1.25rem;bottom:1.25rem;appearance:none;padding:.6rem 1.2rem;border:0;border-radius:999px;background:var(--fg);color:var(--bg);font-size:13px;font-weight:500;box-shadow:0 6px 20px #00000040;cursor:pointer}.hb-fab:hover{transform:translateY(-1px)}.gl-scrim{position:fixed;z-index:50;inset:0;background:#0f111573;opacity:0;pointer-events:none;transition:opacity .25s}.gl-scrim[data-open]{opacity:1;pointer-events:auto}.gl-drawer{position:fixed;z-index:60;top:0;right:0;bottom:0;display:flex;flex-direction:column;width:min(26rem,100vw);padding:1.25rem 1.5rem 0;background:var(--bg);box-shadow:-1px 0 0 var(--line),-20px 0 50px #00000040;transform:translate(105%);visibility:hidden;transition:transform .3s cubic-bezier(.2,.7,.2,1),visibility 0s .3s}.gl-drawer[data-open]{transform:none;visibility:visible;transition:transform .3s cubic-bezier(.2,.7,.2,1),visibility 0s}.gl-drawer header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.gl-drawer h2{font-size:18px;font-weight:500;letter-spacing:-.03em}.gl-drawer header button{appearance:none;width:32px;height:32px;border:0;border-radius:50%;background:transparent;box-shadow:inset 0 0 0 1px var(--line);color:var(--fg);cursor:pointer}.gl-drawer header button:hover{background:var(--bg-raised)}.gl-drawer input[type=search]{width:100%;margin-bottom:.5rem;padding:.6rem 1rem;border:0;border-radius:999px;background:var(--bg-raised);color:var(--fg);font:inherit;font-size:13px}.gl-drawer input[type=search]::placeholder{color:var(--fg-soft)}.gl{flex:1;min-height:0;margin:0;padding-bottom:2rem;overflow-y:auto}.gl>div{padding:.9rem .5rem;border-top:1px solid var(--line);border-radius:8px}.gl>div[data-focus]{background:var(--bg-raised);box-shadow:inset 3px 0 0 var(--signal)}.gl dt{margin-bottom:.15rem;font-weight:600;font-size:14px}.gl dd{margin:0;color:var(--fg-soft);font-size:13px;line-height:1.7}.gl dd a{color:var(--fg);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.gl-empty{padding:1rem .5rem;color:var(--fg-soft);font-size:13px}@media(max-width:40rem){.hb-fab{right:.9rem;bottom:.9rem;padding:.5rem 1rem;font-size:12.5px}.gl-drawer{padding:1rem 1.1rem 0}.term-tip{width:min(17rem,calc(100vw - 2.5rem))}.exp-viz{padding:1.1rem}.facts li{padding:.5rem .8rem}.hb-card-link{padding:1rem 1.1rem}}@media(max-width:36rem){.exp-viz .bars-row{grid-template-columns:minmax(0,1fr) auto;gap:.3rem .7rem}.exp-viz .bars-track{grid-column:1 / -1;order:3}.bars{gap:.9rem}.bars-row{align-items:baseline}}.mini-grid+.viz-title{margin-top:2rem}@media(max-width:40rem){.hb-footer{padding-right:1.25rem;padding-bottom:4.5rem}}@media(max-width:36rem){.facts{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.5rem}.facts li{min-width:0}.facts strong{font-size:15px;overflow-wrap:anywhere}}.viz-note{margin-top:1rem;color:var(--fg-soft);font-size:12px;line-height:1.6}.sim-lane-tag em{margin-left:.3rem;color:#8a909c;font-style:normal;text-transform:none}.sim-panel h3{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.sim-chip{padding:.05rem .7rem;border-radius:999px;box-shadow:inset 0 0 0 1px #ecebe64d;color:#8a909c;font-size:11px;font-weight:400;letter-spacing:0;transition:color .2s,box-shadow .2s}.sim-chip[data-on]{color:#ecebe6;box-shadow:inset 0 0 0 1.5px #ecebe6}.sim-mode{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem .5rem;margin-top:1.1rem;color:#8a909c;font-size:12.5px}.sim-mode span{margin-right:.3rem}.sim-mode button{appearance:none;padding:.3rem .9rem;border:0;border-radius:999px;background:transparent;box-shadow:inset 0 0 0 1px #ecebe647;color:#ecebe6;font-size:12.5px;cursor:pointer}.sim-mode button:hover{background:#ecebe61a}.sim-mode button[aria-pressed=true]{background:#ecebe6;box-shadow:none;color:#15171c}.sim-mix{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem 1.5rem;margin-top:.9rem;color:#8a909c;font-size:12.5px}.sim-mix-title{color:#ecebe6}.sim-mix output{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.3rem .5rem;color:#ecebe6}.sim-mix output i{width:18px;height:9px;margin-left:.5rem;border-radius:999px;background:#ecebe6}.sim-mix output i:first-child{margin-left:0}.dual{position:relative;width:min(20rem,100%);height:28px}.dual-track{position:absolute;left:0;right:0;top:9px;height:10px;display:flex;gap:2px}.dual-track i{display:block;height:100%;background:#ecebe6;transition:width .1s}.dual-track i:first-child{border-radius:999px 0 0 999px}.dual-track i:last-child{border-radius:0 999px 999px 0}.dual input[type=range]{position:absolute;left:0;top:0;width:100%;height:28px;margin:0;background:transparent;pointer-events:none;-webkit-appearance:none;appearance:none}.dual input[type=range]::-webkit-slider-runnable-track{background:transparent;height:28px}.dual input[type=range]::-moz-range-track{background:transparent;height:28px}.dual input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:18px;height:18px;margin-top:5px;border-radius:50%;border:3px solid #15171c;background:#ecebe6;box-shadow:0 0 0 1.5px #ecebe6;cursor:grab}.dual input[type=range]::-moz-range-thumb{pointer-events:auto;width:12px;height:12px;border-radius:50%;border:3px solid #15171c;background:#ecebe6;box-shadow:0 0 0 1.5px #ecebe6;cursor:grab}.dual input[type=range]:focus-visible{outline:none}.dual input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px #15171c,0 0 0 4px #e4572e}.dual input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 2px #15171c,0 0 0 4px #e4572e}.dual input[type=range]::-webkit-slider-thumb,.dual input[type=range]::-moz-range-thumb{box-sizing:border-box}@media(max-width:40rem),(pointer:coarse){.dual{height:44px}.dual-track{top:17px;height:10px}.dual input[type=range]{height:44px;touch-action:pan-y}.dual input[type=range]::-webkit-slider-runnable-track{height:44px}.dual input[type=range]::-moz-range-track{height:44px}.dual input[type=range]::-webkit-slider-thumb{width:30px;height:30px;margin-top:7px}.dual input[type=range]::-moz-range-thumb{width:30px;height:30px}}.sim-info{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:.4rem 1rem;margin-top:.9rem;color:#8a909c;font-size:12px}.sim-info>button{appearance:none;display:inline-flex;align-items:center;gap:.45rem;padding:.15rem .7rem .15rem .3rem;border:0;border-radius:999px;background:transparent;box-shadow:inset 0 0 0 1px #ecebe647;color:#ecebe6;font-size:12px;cursor:pointer}.sim-info>button:hover,.sim-info>button[aria-expanded=true]{background:#ecebe61a}.sim-info>button b{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#ecebe6;color:#15171c;font-size:11px;font-style:italic;font-weight:600}.sim-pop{position:absolute;z-index:20;left:0;bottom:calc(100% + 10px);width:min(32rem,100%);padding:1rem 1.1rem 1.1rem;border-radius:14px;background:#262a33;color:#d5d7dd;box-shadow:0 0 0 1px #ecebe633,0 14px 40px #0006;font-size:12.5px;line-height:1.65}.sim-pop ul{margin:0;padding:0;list-style:none}.sim-pop li{position:relative;padding-left:1.1rem;margin-bottom:.55rem}.sim-pop li:before{content:"";position:absolute;left:0;top:.65em;width:6px;height:6px;border-radius:50%;background:#8a909c}.sim-pop a{color:#ecebe6;text-decoration:underline;text-underline-offset:3px}@media(max-width:40rem){.sim-pop{position:fixed;z-index:70;left:.75rem;right:.75rem;bottom:.75rem;width:auto;max-height:72vh;overflow-y:auto;padding:1.1rem 1.1rem 1.2rem}}.hb-page .hb-level:last-of-type{border-bottom:0}.sub{margin:2.25rem 0 .9rem;font-size:12px;font-weight:500;color:var(--fg-soft);letter-spacing:.1em;text-transform:uppercase}.hb-intro+.sub,.tbl-wrap+.sub{margin-top:2.25rem}.exp-links{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem}.exp-viz .crit{margin:0;padding:0;background:none}.exp-viz .tabs-gap,.exp-viz>.hb-pills{margin-bottom:1.25rem}.secnav{position:sticky;top:0;z-index:20;background:var(--bg);box-shadow:0 1px 0 var(--line)}.secnav-inner{display:flex;gap:.35rem;max-width:88rem;margin:0 auto;padding:.6rem clamp(1.25rem,6vw,5rem);overflow-x:auto;scrollbar-width:none}.secnav-inner::-webkit-scrollbar{display:none}#harbinger .secnav a{flex-shrink:0;padding:.3rem .9rem;border-radius:999px;color:var(--fg-soft);font-size:13px;white-space:nowrap;transition:color .15s,background .15s}#harbinger .secnav a:hover{color:var(--fg)}#harbinger .secnav a[data-on]{background:var(--fg);color:var(--bg)}.hb-level{scroll-margin-top:4rem}.exp{scroll-margin-top:4.5rem}.headlines{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(9.5rem,100%),1fr));gap:.75rem;margin-bottom:2rem}.headlines li{display:flex;flex-direction:column;padding:1rem 1.15rem;border-radius:14px;background:var(--bg-raised)}.headlines strong{font-size:clamp(20px,2.6vw,26px);font-weight:500;letter-spacing:-.04em;line-height:1.15}.headlines span{margin-top:.3rem;color:var(--fg);font-size:12.5px;line-height:1.45}.headlines small{margin-top:.15rem;color:var(--fg-soft);font-size:11.5px;line-height:1.4}.points{max-width:60rem}.points li{position:relative;padding-left:1.25rem;margin-bottom:.75rem;font-size:13.5px;line-height:1.7}.points li:before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--fg-soft)}.points.is-signal li:before{background:var(--signal)}.tbl-wrap{margin:1.5rem 0;overflow-x:auto;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line)}.tbl-wrap:focus-visible{outline:2px solid var(--signal);outline-offset:3px}.tbl{width:100%;min-width:34rem;border-collapse:collapse;font-size:13px;line-height:1.55}.tbl caption{padding:.9rem 1.1rem .4rem;color:var(--fg-soft);font-size:12px;text-align:left;caption-side:top}.tbl th,.tbl td{padding:.65rem 1.1rem;border-top:1px solid var(--line);text-align:left;vertical-align:top;font-weight:400}.tbl thead th{color:var(--fg-soft);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-top:0}.tbl tbody th[scope=row]{font-weight:500}.tbl .exp-outcome{white-space:nowrap}.tbl tbody tr:hover{background:var(--bg-raised)}.tbl td:last-child{min-width:11rem}.tbl tbody th[scope=row]{min-width:8.5rem}.callout{max-width:60rem;margin:1.75rem 0;padding:1rem 1.25rem 1rem 1.4rem;border-radius:12px;background:var(--bg-raised);box-shadow:inset 3px 0 0 var(--signal);font-size:13.5px;line-height:1.75}.callout strong{display:block;margin-bottom:.2rem;font-size:13px;font-weight:600}.ledger{margin:.5rem 0 1.5rem;border-top:1px solid var(--line)}.ledger li{display:grid;grid-template-columns:minmax(0,1fr) 5.5rem 5.5rem;gap:.5rem 1.25rem;align-items:baseline;padding:.8rem 0;border-bottom:1px solid var(--line);font-size:13.5px;line-height:1.6}.ledger-status{color:var(--fg-soft);font-size:12px;letter-spacing:.04em}.ledger-ids{display:flex;gap:.35rem;justify-content:flex-end}.chip{appearance:none;min-width:28px;height:26px;padding:0 .5rem;border:0;border-radius:999px;background:var(--bg-raised);box-shadow:inset 0 0 0 1px var(--line);color:var(--fg);font-size:12px;cursor:pointer}.chip:hover{background:var(--fg);color:var(--bg);box-shadow:none}@media(max-width:40rem){.ledger li{grid-template-columns:1fr auto}.ledger-text{grid-column:1 / -1}.ledger-status{order:2}.ledger-ids{order:3}}.exp-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;color:var(--fg-soft);font-size:12.5px}.exp-list{display:flex;flex-direction:column;gap:.9rem}.exp{border-radius:16px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .2s}.exp[data-open]{box-shadow:inset 0 0 0 1.5px var(--fg-soft)}.exp-head{all:unset;box-sizing:border-box;display:grid;grid-template-columns:2rem minmax(0,1fr) 1.25rem;align-items:center;gap:.9rem;width:100%;padding:1.1rem 1.25rem .5rem;cursor:pointer}.exp-head:focus-visible{outline:2px solid var(--signal);outline-offset:-2px;border-radius:16px}.exp-n{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--fg);color:var(--bg);font-size:12px}.exp-title{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .9rem}.exp-title strong{font-size:16px;font-weight:500;letter-spacing:-.02em}.exp-chev{width:9px;height:9px;border-right:1.5px solid var(--fg-soft);border-bottom:1.5px solid var(--fg-soft);transform:rotate(45deg) translateY(-2px);transition:transform .2s}.exp[data-open] .exp-chev{transform:rotate(-135deg) translate(-2px,-1px)}.exp-head:hover .exp-chev{border-color:var(--fg)}.exp-brief{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 2rem;margin:0;padding:.25rem 1.25rem 1.1rem 4.15rem;font-size:13px;line-height:1.6}.exp-brief div{min-width:0}.exp-brief dt{color:var(--fg-soft);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.exp-brief dd{margin:0}.exp-body{padding:1.5rem 1.25rem 1.5rem 4.15rem;border-top:1px solid var(--line)}@media(max-width:52rem){.exp-brief{grid-template-columns:1fr;padding-left:1.25rem}.exp-body{padding-left:1.25rem}.exp-head{gap:.7rem}}.exp-body .exp-viz{background:var(--bg-raised)}.exp-body .exp-takeaways{margin-top:.5rem}.envs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(20rem,100%),1fr));gap:1rem;margin-bottom:1rem}.env{padding:1.25rem;border-radius:14px;background:var(--bg-raised)}.env h3{margin-bottom:.7rem;font-size:15px;font-weight:500}.env dl{margin:0}.env dl>div{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:.75rem;padding:.35rem 0;font-size:12.5px;line-height:1.55}.env dt{color:var(--fg-soft)}.env dd{margin:0}.tg-table{min-width:38rem}.tg-table tr[data-group] th,.tg-table tr[data-group] td{border-top:1px solid var(--fg-soft)}.tg-table tbody th[rowspan]{background:var(--bg);font-size:13px;min-width:9rem}.tg-arm{color:var(--fg-soft);font-weight:400!important}.tg{display:inline-block;min-width:4.6rem;padding:.12rem .75rem;border-radius:999px;text-align:center;font-weight:500;box-shadow:inset 0 0 0 1px var(--fg-soft);color:var(--fg-soft)}.tg[data-ok]{background:var(--fg);color:var(--bg);box-shadow:none}.tg[data-ref]{box-shadow:none;background:transparent;color:var(--fg-soft);font-weight:400}.story{margin-top:1rem;padding-top:.25rem}.story h4{margin-bottom:.9rem;font-size:15px;font-weight:500;letter-spacing:-.02em}.verdicts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(17rem,100%),1fr));gap:1rem}.verdict{padding:1.25rem 1.25rem .6rem;border-radius:16px;background:var(--bg-raised)}.verdict h3{margin-bottom:1rem;padding-bottom:.7rem;border-bottom:2px solid var(--fg);font-size:15px;font-weight:500}.verdict[data-kind=cond] h3{border-bottom-style:dashed}.verdict[data-kind=no] h3{border-bottom-color:var(--fg-soft)}.verdict .points li{font-size:13px}.steps{counter-reset:s;max-width:60rem}.steps li{position:relative;padding:.9rem 0 .9rem 2.6rem;border-top:1px solid var(--line);counter-increment:s;font-size:13.5px;line-height:1.7}.steps li:before{content:counter(s);position:absolute;left:0;top:.9rem;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--fg);color:var(--bg);font-size:12px}.steps strong{font-weight:600}.duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:1rem}.duo-card{padding:1.4rem;border-radius:16px;background:var(--bg-raised)}.duo-card[data-kind=win]{box-shadow:inset 0 0 0 2px var(--fg)}.duo-card[data-kind=lose]{box-shadow:inset 0 0 0 1.5px var(--fg-soft)}.duo-card span{color:var(--fg-soft);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.duo-card h3{margin:.2rem 0 .6rem;font-size:18px;font-weight:500;letter-spacing:-.03em}.duo-card p{font-size:13.5px;line-height:1.7;color:var(--fg-soft)}.dots{display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}.dots i{width:10px;height:10px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--fg-soft)}.dots i[data-on]{background:var(--fg);box-shadow:none}.dots b{margin-left:.4rem;font-weight:500}.hb-cards{display:grid;gap:.75rem;margin-top:2rem}.hb-cards .hb-card-link{margin-top:0}.more{padding:clamp(3rem,7vw,4.5rem) 0}.more h2{margin-bottom:1.25rem;font-size:12px;font-weight:500;color:var(--fg-soft);letter-spacing:.1em;text-transform:uppercase}.more-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(20rem,100%),1fr));gap:.75rem}.more-card{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.25rem 1.5rem;border-radius:14px;background:var(--fg);color:var(--bg)!important;transition:transform .15s}.more-card:hover{transform:translateY(-2px)}.more-card strong{display:block;font-size:16px;font-weight:500}.more-card span{font-size:13px;line-height:1.55;opacity:.8}.more-card b{font-size:22px;font-weight:400}.brand{display:inline-flex;align-items:center;gap:.55rem}.brand-icon{flex-shrink:0;display:inline-block;width:1.25em;height:1.25em;color:var(--fg)}i.brand-icon{background:currentColor;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat}.bars-label .brand,.deltas-label .brand{margin-right:.55rem;vertical-align:middle}.bars-label .brand-icon,.deltas-label .brand-icon{vertical-align:middle;margin-right:.5rem}.bars-label .brand-icon:last-of-type{margin-right:.5rem}.tbl-wrap{background:linear-gradient(to right,var(--bg) 30%,transparent) left center / 2.5rem 100% no-repeat local,linear-gradient(to left,var(--bg) 30%,transparent) right center / 2.5rem 100% no-repeat local,radial-gradient(farthest-side at 0 50%,rgba(21,23,28,.22),transparent) left center / .8rem 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,rgba(21,23,28,.22),transparent) right center / .8rem 100% no-repeat scroll;background-color:var(--bg)}@media(prefers-color-scheme:dark){.tbl-wrap{background:linear-gradient(to right,var(--bg) 30%,transparent) left center / 2.5rem 100% no-repeat local,linear-gradient(to left,var(--bg) 30%,transparent) right center / 2.5rem 100% no-repeat local,radial-gradient(farthest-side at 0 50%,rgba(236,235,230,.2),transparent) left center / .8rem 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,rgba(236,235,230,.2),transparent) right center / .8rem 100% no-repeat scroll;background-color:var(--bg)}}@media(max-width:40rem){.tbl{min-width:30rem;font-size:12.5px}.tbl th,.tbl td{padding:.6rem .75rem}.tbl tbody th[scope=row]{min-width:7rem}.tbl td:last-child{min-width:9rem}}@media(max-width:40rem){.tg-table{min-width:0;font-size:11.5px}.tg-table th,.tg-table td{padding:.5rem .35rem}.tg-table tbody th[rowspan]{min-width:0;width:4.2rem}.tg-table tbody th[scope=row]{min-width:0}.tg-table thead th{letter-spacing:0;font-size:10px}.tg-table td:last-child{min-width:0}.tg{min-width:0;padding:.1rem .4rem;font-size:11px}}@media(max-width:40rem){.tg-table th,.tg-table td{padding:.5rem .25rem}.tg-table tbody th[rowspan]{width:3.6rem;padding-left:.6rem;word-break:normal;overflow-wrap:anywhere}.tg{padding:.1rem .3rem;font-size:10.5px}}.bars-label,.deltas-label{display:flex;align-items:center;gap:.5rem}.bars-label .brand-icon,.deltas-label .brand-icon{margin:0}.exp-viz .bars-row{grid-template-columns:minmax(6rem,12.5rem) minmax(0,1fr) 4rem}@media(max-width:36rem){.exp-viz .bars-row{grid-template-columns:minmax(0,1fr) auto}}.pp-paper{margin:2rem 0 4rem;font-size:17px;line-height:1.7;overflow-wrap:break-word}.pp-paper p{margin:0 0 1.1em}.pp-paper h1{font-size:1.8rem;margin:3.5rem 0 1.2rem;scroll-margin-top:5rem}.pp-paper h2{font-size:1.3rem;margin:2.4rem 0 .9rem;scroll-margin-top:5rem}.pp-paper h3,.pp-paper h4{font-size:1.05rem;margin:1.6rem 0 .6rem}.pp-paper .header-section-number{margin-right:.6em;color:var(--slate)}.pp-paper a{color:#1f5fa8}.pp-paper figure{margin:2rem 0;padding:1.25rem;background:#fff;border-radius:6px}.pp-paper figure img{width:100%;height:auto;display:block}.pp-paper figcaption,.pp-paper caption{font-size:.88rem;line-height:1.5;color:var(--slate);text-align:left;margin-top:.8rem}.pp-paper caption{caption-side:top;margin:0 0 .6rem}.pp-paper div[id^="tab:"]{margin:2rem 0;overflow-x:auto}.pp-paper table{border-collapse:collapse;font-size:.85rem;line-height:1.4;min-width:100%}.pp-paper th,.pp-paper td{padding:.35rem .7rem;border-bottom:1px solid #d3d1c9;vertical-align:top;text-align:left}.pp-paper thead th{background:#ecebe4;border-bottom:1.5px solid var(--slate)}.pp-paper code{font-size:.88em;background:#ecebe4;padding:.05em .3em;border-radius:3px}.pp-abstract{margin:0 0 2rem;padding:1rem 1.25rem;border-left:3px solid var(--slate);background:#ecebe4;font-size:.95rem}.pp-abstract h2{margin:0 0 .5rem;font-size:1rem;text-transform:uppercase;letter-spacing:.08em}.pp-eq{position:relative;margin:1.4rem 0;overflow-x:auto;text-align:center}.pp-eqn{position:absolute;right:0;top:50%;transform:translateY(-50%);color:var(--slate)}.pp-paper .references{font-size:.9rem;line-height:1.55}.pp-paper .csl-entry{margin-bottom:.7rem}:root{--bg: #e8e8d8;--bg-alt: #deded0;--ink: #1a120b;--ink-muted: rgba(26, 18, 11, .5);--ink-faint: rgba(26, 18, 11, .1);--border: rgba(26, 18, 11, .12)}.dark{--bg: #161008;--bg-alt: #1f1710;--ink: #e5e5cb;--ink-muted: rgba(229, 229, 203, .5);--ink-faint: rgba(229, 229, 203, .08);--border: rgba(229, 229, 203, .12)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}#root{min-height:100vh}.nav-bar{position:fixed;top:0;left:0;right:0;height:56px;background:var(--ink);border-bottom:1px solid var(--ink-faint);display:flex;align-items:center;padding:0 2rem;z-index:1000;gap:.25rem}.nav-bar a.nav-item{color:var(--bg);text-decoration:none;font-size:.72rem;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;padding:.4rem .9rem;opacity:.75;transition:opacity .15s}.nav-bar a.nav-item:hover{opacity:1}.nav-bar-right{margin-left:auto;display:flex;align-items:center}.theme-toggle{background:none;border:none;cursor:pointer;padding:.4rem;display:flex;align-items:center;opacity:.75;transition:opacity .15s}.theme-toggle:hover{opacity:1}.theme-icon{width:18px;height:18px;color:var(--bg)}.section-container{max-width:1100px;margin:0 auto;padding:6rem 2rem}.section-header{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;letter-spacing:-1.5px;color:var(--ink);margin-bottom:3rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}#hero{min-height:100vh;display:flex;align-items:flex-end;padding:0 2rem 5rem;background:var(--bg)}.hero-inner{max-width:1100px;width:100%;margin:0 auto}.hero-label{display:block;font-size:.75rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--ink-muted);margin-bottom:1.25rem}.hero-name{font-size:clamp(4rem,12vw,10rem);font-weight:700;letter-spacing:-4px;line-height:.95;color:var(--ink);margin-bottom:2.5rem}.hero-desc{font-size:clamp(.95rem,1.5vw,1.1rem);color:var(--ink-muted);max-width:560px;line-height:1.75;margin-bottom:2.5rem}.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap}.btn-primary{padding:.7rem 1.75rem;background:var(--ink);color:var(--bg);border:1px solid var(--ink);font-family:inherit;font-size:.85rem;font-weight:600;letter-spacing:.3px;cursor:pointer;transition:background .15s,color .15s}.btn-primary:hover{background:transparent;color:var(--ink)}.btn-outline{padding:.7rem 1.75rem;background:transparent;color:var(--ink);border:1px solid var(--border);font-family:inherit;font-size:.85rem;font-weight:600;letter-spacing:.3px;cursor:pointer;transition:border-color .15s,background .15s}.btn-outline:hover{border-color:var(--ink);background:var(--ink-faint)}#about-me{background:var(--bg-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.about-body{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.about-text{font-size:1rem;line-height:1.8;color:var(--ink);opacity:.8}#projects{background:var(--bg)}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--border)}.project-card{min-width:0;padding:2rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:.9rem;transition:background .15s}.project-card:hover{background:var(--bg-alt)}.project-image-wrap{width:72px;height:72px;flex-shrink:0;overflow:hidden;border:1px solid var(--border);padding:6px;background:var(--bg)}.project-image{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(15%);transition:filter .2s ease}.project-icon{object-fit:contain}.project-card:hover .project-image{filter:grayscale(0%)}.project-card-top{display:flex;align-items:center;gap:.85rem;margin-bottom:.25rem}.project-card-top .project-title{flex:1}.project-card-top .status-badge{flex-shrink:0}.project-title{font-size:1.15rem;font-weight:700;color:var(--ink);letter-spacing:-.3px;flex:1}.status-badge{font-size:.65rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:.25rem .6rem;white-space:nowrap;flex-shrink:0}.status-in-development{background:var(--ink);color:var(--bg)}.status-completed{background:transparent;color:var(--ink);border:1px solid var(--border)}.status-defunct{background:transparent;color:var(--ink-muted);border:1px solid var(--ink-faint)}.project-desc{font-size:.88rem;line-height:1.75;color:var(--ink);opacity:.65;flex:1}.tag-row{display:flex;flex-wrap:wrap;gap:.4rem}.tag{font-size:.72rem;font-weight:600;letter-spacing:.3px;color:var(--ink-muted);border:1px solid var(--border);padding:.2rem .55rem}.project-link{font-size:.8rem;font-weight:600;color:var(--ink);text-decoration:none;letter-spacing:.2px;margin-top:auto;padding-top:.5rem;opacity:.55;transition:opacity .15s}.project-link:hover{opacity:1}#research{background:var(--bg-alt);border-top:1px solid var(--border)}.subsection-label{font-size:.72rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ink-muted);margin-bottom:1.25rem}.research-interests{margin-bottom:4rem}.interests-list{display:flex;flex-wrap:wrap;gap:.5rem}.interest-chip{font-size:.85rem;font-weight:600;color:var(--ink);border:1px solid var(--border);padding:.45rem 1rem;transition:background .15s,color .15s;cursor:default}.interest-chip:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.publications-list{margin-bottom:4rem;border-bottom:1px solid var(--border)}.pub-note{font-size:.85rem;color:var(--ink-muted);border-left:2px solid var(--border);padding-left:1rem;margin-bottom:2rem;font-style:italic}.pub-card{border:1px solid var(--border);border-bottom:none;padding:2.5rem;margin-bottom:0;background:var(--bg);display:flex;flex-direction:column;gap:1rem;transition:background .15s}.pub-card:hover{background:var(--bg-alt)}.pub-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;flex-wrap:wrap}.pub-title{font-size:1.15rem;font-weight:700;color:var(--ink);letter-spacing:-.3px;line-height:1.4;flex:1}.pub-badge{font-size:.65rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--ink-muted);white-space:nowrap;padding-top:.3rem}.pub-authors{font-size:.85rem;font-style:italic;color:var(--ink-muted)}.pub-abstract{font-size:.9rem;line-height:1.8;color:var(--ink);opacity:.75}.pub-highlights{display:flex;flex-direction:column;gap:.35rem}.pub-highlight-row{font-size:.88rem;color:var(--ink);opacity:.7;line-height:1.6;padding-left:.25rem}.research-note{padding-top:1rem}#contact{min-height:100vh;background:#1a120b;display:flex;align-items:flex-end;padding:0 2rem 5rem;border-top:1px solid rgba(229,229,203,.08)}.contact-inner{max-width:1100px;width:100%;margin:0 auto}#contact .hero-label{color:#e5e5cb73}.contact-heading{font-size:clamp(3rem,8vw,7rem);font-weight:700;letter-spacing:-3px;line-height:1;color:#e5e5cb;margin-bottom:2rem}.contact-sub{font-size:1rem;color:#e5e5cb8c;max-width:480px;line-height:1.75;margin-bottom:3rem}.contact-links{display:flex;flex-direction:column;gap:1.25rem}.contact-email{font-size:clamp(1rem,2.5vw,1.5rem);font-weight:600;color:#e5e5cb;text-decoration:none;letter-spacing:-.3px;border-bottom:1px solid rgba(229,229,203,.2);padding-bottom:.5rem;width:fit-content;transition:border-color .15s}.contact-email:hover{border-color:#e5e5cb}.contact-socials{display:flex;gap:1.5rem}.social-link{font-size:.85rem;font-weight:600;letter-spacing:.5px;color:#e5e5cb80;text-decoration:none;transition:color .15s}.social-link:hover{color:#e5e5cb}@media(max-width:900px){.about-body{grid-template-columns:1fr}.projects-grid,.about-body,.exp-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:768px){.nav-bar{padding:0 .5rem;gap:0;overflow-x:auto;scrollbar-width:none}.nav-bar::-webkit-scrollbar{display:none}.nav-bar a.nav-item{font-size:.62rem;letter-spacing:.4px;padding:.6rem .35rem;white-space:nowrap}.theme-toggle{padding:.6rem .4rem}.pub-card-top{gap:.5rem}#hero,#contact{padding-bottom:3.5rem;padding-left:1.25rem;padding-right:1.25rem}.hero-name{letter-spacing:-2px;font-size:clamp(3rem,16vw,6rem)}.contact-heading{letter-spacing:-1.5px}.section-container{padding:4rem 1.25rem}.pub-card{padding:1.75rem 1.25rem}.project-card{padding:1.5rem 1.25rem}}@media(max-width:480px){.hero-actions{flex-direction:column}.btn-primary,.btn-outline{width:100%;text-align:center}.contact-socials{flex-direction:column;gap:.75rem}.contact-email{overflow-wrap:anywhere}.btn-primary,.btn-outline{padding:.85rem 1.5rem}}.resume-contact-button,.project-link-button,.publication-link-button,.contact-button{padding:.7rem 1.75rem;background:var(--ink);color:var(--bg);border:1px solid var(--ink);font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;transition:background .15s,color .15s}.resume-contact-button:hover,.project-link-button:hover,.publication-link-button:hover,.contact-button:hover{background:transparent;color:var(--ink)}#experience{background:var(--bg);border-top:1px solid var(--border)}.exp-layout{display:grid;grid-template-columns:1fr 300px;border:1px solid var(--border)}.exp-timeline{border-right:1px solid var(--border)}.exp-entry{padding:2rem;border-bottom:1px solid var(--border);transition:background .15s}.exp-entry:last-child{border-bottom:none}.exp-entry:hover{background:var(--bg-alt)}.exp-entry-head{display:flex;align-items:flex-start;gap:.9rem;margin-bottom:1rem}.exp-logo{width:32px;height:32px;object-fit:contain;background:var(--ink-faint);padding:4px;flex-shrink:0;cursor:pointer;transition:opacity .15s}.exp-logo:hover{opacity:.7}.exp-entry-meta{flex:1;min-width:0}.exp-role{font-size:.95rem;font-weight:700;color:var(--ink);letter-spacing:-.2px}.exp-company{display:block;font-size:.78rem;color:var(--ink-muted);margin-top:.15rem}.exp-date{font-size:.72rem;font-weight:600;color:var(--ink-muted);white-space:nowrap;letter-spacing:.3px;padding-top:.2rem}.exp-bullets{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.45rem}.exp-bullets li{font-size:.85rem;line-height:1.7;color:var(--ink);opacity:.72;padding-left:1.1rem;position:relative}.exp-bullets li:before{content:"—";position:absolute;left:0;opacity:.4;font-size:.75rem}.exp-sidebar{padding:2rem;display:flex;flex-direction:column}.sidebar-label{display:block;font-size:.65rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ink-muted);margin-bottom:1.25rem}.edu-entry{margin-bottom:1.75rem}.edu-degree{font-size:.92rem;font-weight:700;color:var(--ink);letter-spacing:-.2px}.edu-school{font-size:.78rem;color:var(--ink-muted);margin:.2rem 0}.edu-detail{font-size:.78rem;color:var(--ink);opacity:.6;line-height:1.6}.sidebar-divider{width:100%;height:1px;background:var(--border);margin:.5rem 0 1.75rem}.skills-group{margin-bottom:1.1rem}.skills-group:last-child{margin-bottom:0}.skills-category{display:block;font-size:.65rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--ink-muted);margin-bottom:.25rem}.skills-value{font-size:.82rem;color:var(--ink);opacity:.72;line-height:1.65}@media(max-width:900px){.exp-layout{grid-template-columns:1fr}.exp-timeline{border-right:none;border-bottom:1px solid var(--border)}}@media(max-width:768px){.exp-entry,.exp-sidebar{padding:1.5rem 1.25rem}.exp-entry-head{flex-wrap:wrap}.exp-date{white-space:normal}}.coach-loading{min-height:100vh;background:#0c1f14}
