@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-ext-wght-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+2DE-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-wght-normal.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-latin-wght-normal.woff2)format("woff2")}:root{--brand-wordmark-weight:550;--brand-heading-weight:550;--brand-tracking:-.025em}.fb-wordmark-text,.docs-brand b.fb-wordmark-text,.journal-header .journal-wordmark.fb-wordmark-text{font-family:Inter,sans-serif;font-weight:var(--brand-wordmark-weight);letter-spacing:var(--brand-tracking)}button,a{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,[role=tabpanel]:focus-visible{outline:2px solid var(--fg);outline-offset:4px}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}.site-header .hx-bar>a{min-height:44px}.site-header .hx-bar>a:first-child{color:var(--fg)}.fb-skip-link{z-index:100;background:var(--ink);color:var(--ink-fg);border-radius:6px;padding:12px 20px;position:fixed;top:8px;left:16px;transform:translateY(-160%)}.fb-skip-link:focus{transform:translateY(0)}.firstbeam-footer-grid{padding-top:56px}.firstbeam-footer a{transition:color .14s}.firstbeam-footer a:hover{color:var(--fg)}.fb-desktop-closing{isolation:isolate;border:1px solid var(--line);background:var(--surface-2);border-radius:24px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:45px;width:min(100% - 64px,1280px);margin:72px auto 64px;padding:78px clamp(28px,6vw,80px);display:grid;position:relative;overflow:hidden}.fb-desktop-closing:before{content:"";z-index:-1;background:repeating-linear-gradient(90deg, transparent 0, transparent calc(12.5% - 1px), var(--line) calc(12.5% - 1px), var(--line) 12.5%);opacity:.5;position:absolute;inset:0}.fb-closing-mark{z-index:-1;opacity:.065;filter:brightness(0)invert();pointer-events:none;width:490px;height:490px;position:absolute;top:-65px;right:-100px}.fb-desktop-closing h2{font:500 clamp(27px, 3vw, 40px)/1.2 var(--font-mono);letter-spacing:-.035em;max-width:590px;margin:0;font-weight:550;line-height:1.15}.fb-closing-heading{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:18px;display:flex}.fb-closing-beta{border:1px solid var(--line);font:600 10px/1.4 var(--font-mono);border-radius:999px;padding:4px 10px}.fb-desktop-closing p{color:var(--muted);max-width:460px;font-size:15px;line-height:1.7}.fb-closing-actions{flex-direction:column;align-items:center;gap:17px;display:flex;position:relative}.fb-closing-actions>span{color:var(--muted);font-size:11px}.fb-closing-platforms{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fb-closing-platforms small{opacity:.8;font-size:10px}.fb-closing-platforms img{opacity:.65;filter:invert()}:root[data-theme=light] .fb-closing-platforms img,:root[data-theme=light] .fb-closing-mark{filter:none}.fb-closing-actions>a:last-child{color:var(--muted);align-items:center;gap:7px;min-height:30px;font-size:12px;display:flex}.fb-closing-actions>a:last-child:hover{color:var(--fg)}@media (width<=760px){.fb-desktop-closing{grid-template-columns:1fr;gap:27px;width:calc(100% - 32px);margin:48px auto;padding:38px 26px}.fb-closing-actions{align-items:flex-start}.fb-closing-mark{top:0;right:-175px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important}.fb-workflow-steps button,.fb-try-layout [role=tab]{transition:none}}.fb-engine-caption{min-width:100px}.fb-engine em{font:9px/1.5 var(--font-mono);color:var(--muted);opacity:.85;font-style:normal}.fb-home .hx-chat{display:none}.site-header .hx-bar{min-height:72px;padding-block:12px}@media (width<=1087px){.site-header .hx-bar{min-height:72px;padding-block:12px}.site-header .hx-bar>button{width:44px;height:44px}}.public-nav{align-items:center;gap:24px;display:flex;position:relative}.public-nav-group{padding:0}.public-nav button,.public-nav>a{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:7px;padding:9px 10px;font-size:14px;display:inline-flex}.public-nav button:hover,.public-nav button[aria-expanded=true],.public-nav>a:hover{color:var(--fg);background:var(--surface-2)}.public-nav button:focus-visible,.public-nav a:focus-visible{outline:2px solid var(--fg);outline-offset:3px}.public-nav button[aria-expanded=true]>svg{transform:rotate(180deg)}.public-nav-panel{border:1px solid var(--line);background:var(--bg);border-radius:10px;width:min(750px,100vw - 64px);padding:30px;position:absolute;top:100%;left:0;box-shadow:0 18px 36px #00000018}.public-nav-panel>p{letter-spacing:.1em;color:var(--muted);margin:0 0 18px;font-size:10px;font-weight:600}.public-nav-panel>div{grid-template-columns:1fr 1fr;gap:8px 26px;display:grid}.public-nav-panel a{color:var(--fg);border-radius:8px;align-items:center;gap:13px;min-width:0;padding:12px 8px;display:flex}.public-nav-panel a:hover{background:var(--surface-2)}.public-nav-icon{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;flex:none;place-items:center;width:42px;height:42px;display:grid}.public-nav-panel b{font-size:14px;font-weight:600;display:block}.public-nav-panel small{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.5;display:block}.public-mobile-group{border-bottom:1px solid var(--line);gap:0;padding:14px 0;display:grid}.public-mobile-group strong{color:var(--muted);margin-bottom:8px;font-size:11px}.public-mobile-group a{padding:9px 0;font-size:15px}.public-nav-panel:before{content:"";height:14px;position:absolute;inset:-14px 0 auto}.public-mobile-group summary{cursor:pointer;justify-content:space-between;align-items:center;font-size:16px;list-style:none;display:flex}.public-mobile-group summary::-webkit-details-marker{display:none}.public-mobile-group[open] summary{margin-bottom:12px}.public-mobile-group[open] summary svg{transform:rotate(180deg)}.public-mobile-group a{display:block}.public-nav-group:has(.public-nav-panel-resources){position:relative}.public-nav-panel-resources{border:2px solid var(--line);border-radius:0;width:200px;padding:8px 0;top:100%;left:0;box-shadow:0 20px 32px #0002}.public-nav-panel-resources>div{flex-direction:column;gap:0;display:flex}.public-nav-panel-resources a{min-height:40px;color:var(--muted);border-radius:10px;gap:10px;padding:8px 16px}.public-nav-panel-resources b{font-size:16px;font-weight:600;line-height:24px}.public-nav-panel-resources a:hover,.public-nav-panel-resources a:focus-visible{background:color-mix(in srgb, var(--fg) 10%, var(--bg));color:var(--fg)}.public-nav-panel-resources a svg{opacity:.7;flex:none}.public-mobile-group a>svg{vertical-align:middle;margin-left:8px;display:inline-block}.public-nav-panel-resources a{border-radius:8px;transition:color .15s,background-color .15s,transform .1s}.public-nav-panel-resources a:active{transform:scale(.98)}.public-nav-panel-resources{animation:.14s ease-out resource-menu-in}@keyframes resource-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.public-nav-panel-resources{animation:none}.public-nav-panel-resources a{transition:none}}.public-nav-panel-resources a:focus-visible{background:color-mix(in srgb, var(--fg) 20%, var(--bg))}.public-nav .is-current,.public-nav .is-current:hover,.public-nav .is-current[aria-expanded=true]{background:var(--fg);color:var(--bg)}.site-header .public-nav a:after{content:none}.site-header .public-nav a{border-bottom:0;text-decoration:none}:root .firstbeam-footer{padding-block:48px 26px}.firstbeam-footer-identity{margin-bottom:36px}:root .firstbeam-footer-grid{font-family:var(--font-mono);grid-template-columns:repeat(4,minmax(0,1fr));gap:36px;padding-top:0}:root .firstbeam-footer-grid>div{gap:10px;min-width:0}:root .firstbeam-footer-grid strong{color:var(--fg);letter-spacing:.025em;margin-bottom:8px;font-size:11px;font-weight:600}:root .firstbeam-footer-grid a,:root .firstbeam-footer-grid button{overflow-wrap:anywhere;text-align:left;align-items:center;gap:9px;min-height:28px;font-size:12px;display:inline-flex}:root .firstbeam-footer-community a{color:var(--fg);font-weight:500}.firstbeam-footer-community svg{flex-shrink:0}:root .firstbeam-footer-grid a:hover,:root .firstbeam-footer-grid button:hover{color:var(--fg);text-underline-offset:4px;text-decoration:underline}.firstbeam-footer-grid :is(a,button):focus-visible{outline:2px solid var(--fg);outline-offset:5px;border-radius:3px}:root .firstbeam-footer-grid .firstbeam-footer-subheading{margin-top:22px}:root .firstbeam-footer-bottom{font-family:var(--font-mono);margin-top:44px}@media (width<=760px){:root .firstbeam-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}:root .firstbeam-footer-grid :is(a,button){min-height:36px}}@media (width<=380px){:root .firstbeam-footer-grid{gap:30px 16px}:root .firstbeam-footer-grid a{flex-wrap:wrap}}
