.developer-hub-v14,.resource-hub-v14{background:var(--color-paper);color:var(--color-ink);overflow-wrap:break-word}.developer-hub-v14 .hub-masthead,.resource-hub-v14 .hub-masthead{padding-block:var(--home-section) 0;border-bottom:1px solid var(--color-hairline-strong)}.resource-hub-v14 .hub-masthead{background:var(--color-stone)}.developer-hub-v14 .dev-building{background:var(--color-panel-2)}.hub-register{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}.hub-register>a,.hub-register>span:last-child{font:600 var(--home-type-label)/1.5 var(--font-body);text-transform:uppercase;letter-spacing:.12em;color:var(--color-muted)}.hub-register>a{display:inline-flex;align-items:center;gap:8px;min-height:44px;white-space:nowrap}.hub-masthead-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:64px;align-items:end;padding-bottom:48px}.developer-hub-v14 h1,.resource-hub-v14 h1{font:500 var(--home-type-display)/1.02 var(--font-display);letter-spacing:-.035em;margin:0;text-wrap:balance}.hub-masthead-grid>p{font-size:var(--home-type-lead);line-height:1.7;max-width:47ch;color:var(--color-body);margin:0 0 2px}.hub-collection-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--color-hairline-strong)}.hub-collection-nav a{display:grid;grid-template-columns:1fr auto;gap:14px 8px;padding:22px 18px 24px;border-left:1px solid var(--color-hairline-strong);font-size:var(--home-type-control);font-weight:500;transition:color .2s,background .2s}.hub-collection-nav a:first-child{padding-left:0;border-left:0}.hub-collection-nav a>span:first-child{grid-column:1/-1;font:600 var(--home-type-label)/1.5 var(--font-body);letter-spacing:.12em;color:var(--color-muted)}.hub-collection-nav a:hover{color:var(--color-red);background:var(--color-panel)}.hub-library{padding-block:var(--home-section)}.hub-featured{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;position:relative;align-items:center;padding-bottom:var(--home-section)}.hub-paper-art{position:relative;width:100%;min-width:0;overflow:hidden;background:var(--color-red);color:var(--color-paper);padding:28px 34px;aspect-ratio:1.23}.hub-paper-bottom,.hub-paper-top{display:flex;justify-content:space-between;gap:16px;font:400 var(--home-type-label)/1.5 var(--font-mono)}.hub-paper-top{padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.35)}.hub-paper-number{position:relative;font:400 var(--home-type-metric)/1.08 var(--font-display);letter-spacing:-.09em;margin-top:22px;z-index:1}.hub-paper-rules{position:absolute;top:25%;bottom:23%;right:-20px;width:53%;display:flex;gap:13px;transform:skewY(-31deg)}.hub-paper-rules i{width:1px;background:rgba(255,255,255,.25);height:100%;flex:1 1;border-right:1px solid rgba(255,255,255,.5);background:transparent}.hub-paper-bottom{position:absolute;bottom:28px;left:34px;right:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.35);align-items:center}.hub-featured-copy h2{font:500 var(--home-type-section)/1.09 var(--font-display);letter-spacing:-.035em;margin:22px 0 24px;max-width:16ch;text-wrap:balance}.hub-featured-copy>p{font-size:var(--home-type-body);line-height:1.7;color:var(--color-body);margin:0 0 32px;max-width:47ch}.hub-text-cta{display:inline-flex;align-items:center;font-size:var(--home-type-control);line-height:1.5;font-weight:500;color:var(--color-red)}.hub-text-cta>span{transition:transform .2s}.hub-featured:hover .hub-text-cta>span,.hub-resource-row:hover .hub-text-cta>span{transform:translate(3px,-2px)}.hub-reading-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:26px}.hub-reading-heading>span:last-child{font:600 var(--home-type-label)/1.5 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}.hub-resource-row{position:relative;display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,1.1fr);gap:40px;padding-block:32px;border-top:1px solid var(--color-hairline-strong)}.hub-resource-row:last-child{border-bottom:1px solid var(--color-hairline-strong)}.hub-resource-type{display:flex;align-items:baseline;gap:24px;font:600 var(--home-type-label)/1.5 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}.hub-resource-row h2{font:500 var(--home-type-subheading)/1.18 var(--font-display);letter-spacing:-.03em;margin:0;max-width:23ch}.hub-resource-row .hub-resource-detail>p{font-size:var(--home-type-body);line-height:1.7;color:var(--color-body);margin:0 0 22px}.hub-featured:hover h2,.hub-resource-row:hover h2{color:var(--color-red)}.hub-questions{padding-block:var(--home-section);background:var(--color-panel)}.hub-questions-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:64px}.hub-questions-grid h2{font:500 var(--home-type-section)/1.1 var(--font-display);letter-spacing:-.035em;margin:25px 0 0}.hub-faq-list details{border-top:1px solid var(--color-hairline-strong)}.hub-faq-list details:last-child{border-bottom:1px solid var(--color-hairline-strong)}.hub-faq-list summary{display:flex;align-items:baseline;justify-content:space-between;gap:24px;font:500 var(--home-type-title)/1.4 var(--font-display);letter-spacing:-.015em;padding:24px 0;list-style:none;cursor:pointer}.hub-faq-list summary::-webkit-details-marker{display:none}.hub-faq-list summary>span{font-size:var(--home-type-title);line-height:1;color:var(--color-red);font-weight:400;transition:transform .2s}.hub-faq-list details[open] summary>span{transform:rotate(45deg)}.hub-faq-list details>p{font-size:var(--home-type-body);line-height:1.7;color:var(--color-body);margin:0;padding:0 28px 26px 0}.developer-hub-v14 .dev-masthead{background:var(--color-dark);color:var(--color-paper);padding-bottom:62px}.dev-masthead .hub-register{margin-bottom:56px}.dev-masthead .hub-register>a{color:var(--color-on-dark-muted)}.developer-hub-v14 .dev-masthead h1{color:var(--color-paper);font-size:var(--home-type-display);font-weight:500;line-height:1.02;max-width:14ch}.dev-hero-bottom{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:80px;align-items:end;margin-top:46px}.dev-hero-bottom p{font-size:var(--home-type-body);line-height:1.7;color:var(--color-on-dark-body);margin:0;max-width:64ch}.dev-language-register{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-self:end;max-width:300px;border-top:1px solid var(--color-hairline-dark)}.dev-language-register>span{padding:19px 0;border-bottom:1px solid var(--color-hairline-dark);font:400 var(--home-type-label)/1.5 var(--font-mono);color:var(--color-on-dark-muted)}.hub-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.dev-hero-bottom .btn{font-size:var(--home-type-control);padding-inline:21px;min-height:50px}.dev-integration{padding-block:var(--home-section)}.dev-integration-heading{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:64px;margin-bottom:48px}.dev-integration-heading>.eyebrow{align-self:start;margin-top:8px}.dev-integration-heading h2{font:500 var(--home-type-section)/1.16 var(--font-display);letter-spacing:-.035em;max-width:29ch;margin:0;text-wrap:balance}.dev-integration-grid{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:64px}.dev-flow-register{padding-top:0}.dev-flow-register>div{position:relative;display:flex;align-items:center;gap:26px;padding:27px 0;border-top:1px solid var(--color-hairline-strong)}.dev-flow-register>div:last-child{border-bottom:1px solid var(--color-hairline-strong)}.dev-flow-register>div>span{font:500 var(--home-type-label)/1.5 var(--font-body);color:var(--color-red)}.dev-flow-register>div>strong{font:500 var(--home-type-title) var(--font-display);letter-spacing:-.03em}.dev-flow-register>div>i{height:5px;width:5px;background:var(--color-red);margin-left:auto}.dev-code-column{min-width:0}.dev-code-v14{background:var(--color-dark);color:var(--color-paper);border:1px solid var(--color-dark);overflow:hidden}.dev-terminal-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px 24px;border-bottom:1px solid var(--color-hairline-dark);font:400 var(--home-type-label)/1.5 var(--font-mono);color:var(--color-on-dark-muted)}.dev-terminal-heading>span:last-child{color:var(--color-red-on-dark)}.dev-code-tabs{display:flex;gap:24px;padding-inline:24px;background:var(--color-dark-2);border-bottom:1px solid var(--color-hairline-dark)}.dev-tab{font:500 var(--home-type-label)/1.5 var(--font-mono);letter-spacing:.02em;background:transparent;border:0;border-bottom:2px solid transparent;padding:16px 2px;min-height:52px;cursor:pointer;color:var(--color-on-dark-muted);transition:color .2s,border-color .2s}.dev-tab[aria-selected=true]{color:var(--color-red-on-dark);border-bottom-color:var(--color-red-on-dark)}.dev-code-panels{display:grid;grid-template-columns:minmax(0,1fr);min-width:0}.dev-pre{grid-area:1/1;margin:0;font:400 var(--home-type-label)/1.95 var(--font-mono);color:var(--color-paper);white-space:pre;overflow-x:auto;padding:28px 24px;min-width:0;max-width:100%;scrollbar-color:var(--color-on-dark-faint) transparent;scrollbar-width:thin}.dev-pre.is-hidden{visibility:hidden}.dev-pre .c{color:var(--color-on-dark-muted)}.dev-pre .k{color:var(--color-red-on-dark)}.dev-code-v14 :is(button,pre):focus-visible{outline:2px solid var(--color-red-on-dark);outline-offset:-4px}.dev-code-notes{display:grid;grid-template-columns:1fr;gap:16px;margin-top:26px}.dev-code-notes>p{font-size:var(--home-type-control);line-height:1.7;color:var(--color-muted);margin:0;max-width:68ch}.dev-building{padding-block:var(--home-section);background:var(--color-panel)}.dev-building-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:clamp(32px,5vw,64px)}.dev-building-head{align-self:start}.dev-building-head h2{font:500 var(--home-type-section)/1.08 var(--font-display);letter-spacing:-.035em;margin:22px 0 0}.dev-capabilities{border-top:1px solid var(--color-hairline-strong)}.dev-capabilities>article{display:grid;grid-template-columns:35px minmax(0,1fr);gap:14px;padding-block:29px;border-bottom:1px solid var(--color-hairline-strong)}.dev-capability-number{font:500 var(--home-type-label)/1.5 var(--font-body);color:var(--color-red);padding-top:5px}.dev-capabilities h3{font:500 var(--home-type-title)/1.3 var(--font-display);letter-spacing:-.03em;margin:0}.dev-capabilities p{font-size:var(--home-type-body);line-height:1.7;color:var(--color-body);margin:12px 0 0;max-width:64ch}.developer-hub-v14 :is(a,button,summary):focus-visible,.resource-hub-v14 :is(a,button,summary):focus-visible{outline:2px solid var(--color-red);outline-offset:5px}.developer-hub-v14 [data-surface=dark] a:focus-visible{outline-color:var(--color-red-on-dark)}@media(max-width:1050px){.hub-collection-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.hub-collection-nav a:nth-child(4){padding-left:0;border-left:0}.hub-collection-nav a:nth-child(n+4){border-top:1px solid var(--color-hairline-strong)}.hub-resource-row{grid-template-columns:110px minmax(0,1fr) minmax(0,1.1fr);gap:26px}.hub-resource-type{gap:16px}.dev-hero-bottom{grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:42px}.dev-integration-grid,.dev-integration-heading{grid-template-columns:minmax(0,.5fr) minmax(0,1.5fr);gap:36px}.dev-terminal-heading{font-size:var(--home-type-label)}.dev-building-grid{gap:32px}}@media(max-width:700px){.developer-hub-v14 .hub-masthead,.resource-hub-v14 .hub-masthead{padding-top:30px}.hub-register{margin-bottom:36px}.hub-register>span:last-child{display:none}.hub-register>a{font-size:var(--home-type-label)}.hub-masthead-grid{grid-template-columns:minmax(0,1fr);gap:28px;padding-bottom:36px}.resource-hub-v14 h1{font-size:var(--home-type-display);line-height:1.04;letter-spacing:-.035em}.hub-masthead-grid>p{font-size:var(--home-type-body);line-height:1.7;max-width:46ch}.hub-collection-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-collection-nav a{padding:18px 15px;font-size:var(--home-type-label);gap:10px}.hub-collection-nav a:nth-child(odd){padding-left:0;border-left:0}.hub-collection-nav a:nth-child(2n){padding-left:15px;border-left:1px solid var(--color-hairline-strong)}.hub-collection-nav a:nth-child(n+3){border-top:1px solid var(--color-hairline-strong)}.hub-library{padding-block:40px 56px}.hub-featured{grid-template-columns:minmax(0,1fr);gap:30px;padding-bottom:48px}.hub-paper-art{aspect-ratio:1.2;min-height:270px;padding:24px 26px}.hub-paper-number{font-size:var(--home-type-metric);line-height:.95;margin-top:18px}.hub-paper-bottom,.hub-paper-top{font-size:var(--home-type-label)}.hub-paper-bottom{bottom:24px;left:26px;right:26px}.hub-featured-copy h2{font-size:var(--home-type-section);margin-block:18px 20px;max-width:19ch}.hub-featured-copy>p{font-size:var(--home-type-body);line-height:1.7;margin-bottom:24px}.hub-text-cta{font-size:var(--home-type-control)}.hub-reading-heading{align-items:flex-start;gap:16px;padding-bottom:22px}.hub-reading-heading>span:last-child{font-size:var(--home-type-label);text-align:right;max-width:18ch;line-height:1.6}.hub-resource-row{grid-template-columns:1fr;gap:16px;padding-block:26px}.hub-resource-type{gap:18px;font-size:var(--home-type-label)}.hub-resource-row h2{font-size:var(--home-type-title);max-width:24ch}.hub-resource-row .hub-resource-detail>p{font-size:var(--home-type-body);line-height:1.7;margin-bottom:18px}.hub-questions{padding-block:48px 56px}.hub-questions-grid{grid-template-columns:1fr;gap:34px}.hub-questions-grid h2{font-size:var(--home-type-section);margin-top:20px}.hub-faq-list summary{font-size:var(--home-type-body);padding-block:23px;gap:20px}.hub-faq-list details>p{font-size:var(--home-type-body);padding-right:18px}.developer-hub-v14 .dev-masthead{padding-bottom:44px}.dev-masthead .hub-register{margin-bottom:40px}.developer-hub-v14 .dev-masthead h1{font-size:var(--home-type-display);line-height:1.035}.dev-hero-bottom{display:flex;flex-direction:column;align-items:stretch;gap:28px;margin-top:36px}.dev-language-register{display:flex;max-width:none;align-self:stretch;justify-content:space-between;border-bottom:1px solid var(--color-hairline-dark)}.dev-language-register>span{border:0;font-size:var(--home-type-label);padding-block:16px}.dev-hero-bottom p{font-size:var(--home-type-body);line-height:1.7}.hub-actions{gap:10px;margin-top:26px}.dev-hero-bottom .hub-actions{display:grid;grid-template-columns:minmax(0,1fr)}.dev-hero-bottom .btn{justify-content:center;font-size:var(--home-type-control);padding-inline:12px}.dev-integration{padding-block:50px 54px}.dev-integration-heading{grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:30px}.dev-integration-heading>.eyebrow{margin:0}.dev-integration-heading h2{font-size:var(--home-type-panel);line-height:1.2}.dev-integration-grid{grid-template-columns:minmax(0,1fr);gap:28px}.dev-flow-register{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.dev-flow-register>div{display:flex;flex-direction:column;align-items:flex-start;gap:11px;padding-block:17px;border-bottom:1px solid var(--color-hairline-strong)}.dev-flow-register>div>span{font-size:var(--home-type-label)}.dev-flow-register>div>strong{font-size:var(--home-type-body)}.dev-flow-register>div>i{display:none}.dev-terminal-heading{font-size:var(--home-type-label);padding:15px 16px;gap:12px}.dev-code-tabs{padding-inline:16px;gap:24px}.dev-tab{padding-block:14px;min-height:48px}.dev-pre,.dev-tab{font-size:var(--home-type-label)}.dev-pre{padding:22px 16px;line-height:1.95}.dev-code-notes{gap:15px;margin-top:22px}.dev-code-notes>p{font-size:var(--home-type-label);line-height:1.7}.dev-building{padding-block:46px 52px}.dev-building-grid{grid-template-columns:minmax(0,1fr);gap:32px}.dev-capabilities>article{grid-template-columns:26px minmax(0,1fr);gap:8px}.dev-building .hub-actions{display:grid;grid-template-columns:minmax(0,1fr)}.dev-building .btn{justify-content:center}}@media(prefers-reduced-motion:reduce){.developer-hub-v14 *,.resource-hub-v14 *{transition:none!important;scroll-behavior:auto!important}}.hub-featured .card-link:after,.hub-resource-row .card-link:after{content:"";position:absolute;inset:0}.hub-featured:focus-within,.hub-resource-row:focus-within{outline:2px solid var(--color-red);outline-offset:5px}.developer-hub-v14 .dev-masthead h1,.resource-hub-v14 h1{font-size:var(--home-type-display);line-height:.98;letter-spacing:-.035em}.dev-hero-bottom p,.hub-masthead-grid>p{font-size:var(--home-type-lead);line-height:1.7}.dev-building-head h2,.dev-integration-heading h2,.hub-featured-copy h2,.hub-questions-grid h2{font-size:var(--home-type-section);line-height:1.08;letter-spacing:-.035em}.hub-resource-row h2{font-size:var(--home-type-subheading);line-height:1.2}.hub-faq-list summary{font-size:var(--home-type-title);line-height:1.3}.hub-faq-list summary h3{font-size:inherit;line-height:inherit;letter-spacing:inherit;margin:0}.hub-faq-list summary>.action-icon{align-self:center;color:var(--color-red);transition:rotate .2s}.hub-faq-list details[open] summary>.action-icon{rotate:180deg}.dev-capabilities p,.hub-featured-copy>p,.hub-resource-row .hub-resource-detail>p{font-size:var(--home-type-body);line-height:1.7}.dev-code-notes>p,.dev-hero-bottom .btn,.dev-tab,.hub-collection-nav a,.hub-text-cta{font-size:var(--home-type-control)}.hub-collection-nav a{min-height:80px}.hub-collection-nav .action-icon{color:var(--color-red);align-self:center}.hub-text-cta{min-height:46px;padding-block:12px;gap:24px;border-bottom:1px solid var(--home-control-line);color:var(--color-ink)}.hub-text-cta .action-icon{color:var(--color-red);transition:translate .2s}.hub-featured:hover .hub-text-cta .action-icon,.hub-resource-row:hover .hub-text-cta .action-icon{translate:3px 0}.hub-paper-art{display:flex;flex-direction:column;justify-content:space-between;padding:32px}.hub-paper-number{font-size:var(--home-type-metric);font-weight:500;line-height:1;letter-spacing:-.04em;margin-block:32px}.hub-paper-bottom{position:relative;inset:auto;flex-wrap:wrap}.dev-terminal-heading,.hub-paper-bottom,.hub-paper-top{font-size:var(--home-type-label)}.dev-terminal-heading{flex-wrap:wrap}.dev-terminal-heading>span{min-width:0;overflow-wrap:anywhere}.dev-hero-bottom{gap:64px;margin-top:48px}.dev-masthead .hub-register{margin-bottom:32px}.developer-hub-v14 .dev-masthead{padding-bottom:var(--home-section)}.dev-capabilities h3,.dev-flow-register>div>strong{font-size:var(--home-type-title)}.dev-pre{font-size:var(--home-type-control);line-height:1.8}.dev-code-tabs{flex-wrap:wrap;gap:8px 24px}.dev-code-tabs .dev-tab{min-height:48px}@media(max-width:1050px){.dev-hero-bottom,.hub-featured,.hub-masthead-grid,.hub-questions-grid{gap:32px}}@media(max-width:700px){.developer-hub-v14 .hub-masthead,.resource-hub-v14 .hub-masthead{padding-top:var(--home-section)}.dev-building,.dev-integration,.hub-library,.hub-questions{padding-block:var(--home-section)}.hub-register{margin-bottom:32px}.hub-featured{padding-bottom:var(--home-section);gap:32px}.hub-paper-art{padding:24px;aspect-ratio:1.2;min-height:0}.hub-collection-nav a{font-size:var(--home-type-control)}.hub-reading-heading{flex-wrap:wrap}.hub-reading-heading>span:last-child{max-width:none;text-align:left}.hub-resource-row{padding-block:32px}.hub-resource-row h2{font-size:var(--home-type-title)}.hub-questions-grid{gap:32px}.hub-faq-list details>p{font-size:var(--home-type-body)}.dev-language-register{flex-wrap:wrap;justify-content:flex-start;column-gap:24px}.dev-language-register>span{font-size:var(--home-type-label)}.dev-flow-register{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.dev-flow-register>div{gap:12px}.dev-flow-register>div>strong{font-size:var(--home-type-title)}.dev-integration-heading{margin-bottom:32px}.dev-integration-grid{gap:32px}.dev-terminal-heading{padding:16px}.dev-building .hub-actions{gap:12px}.hub-register{flex-wrap:wrap;row-gap:8px}}