:root{--pub-ease:cubic-bezier(0.2,0.7,0.3,1)}@font-face{font-family:Titillium Web;src:url(/fonts/titillium/TitilliumWeb-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Titillium Web;src:url(/fonts/titillium/TitilliumWeb-BoldItalic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Titillium Web Fallback;src:local("Arial");ascent-override:115.79%;descent-override:39.65%;line-gap-override:0%;size-adjust:97.85%}.pub{--font-heading:"Titillium Web","Titillium Web Fallback",var(--font-geist-sans),system-ui,sans-serif;--pub-bg:#fff;--pub-band:rgba(241,245,249,.4);--pub-surface:#fff;--pub-surface-2:#f6f8fb;--pub-border:#e2e8f0;--pub-text:#0f172a;--pub-text-2:#334155;--pub-muted:#475569;--pub-accent:#22c55e;--pub-accent-text:#166534;--pub-accent-soft:rgba(34,197,94,.12);--pub-on-accent:#052e16;--pub-ghost-bg:rgba(15,23,42,.04);--pub-ghost-border:rgba(15,23,42,.16);--pub-nav-scrolled:hsla(0,0%,100%,.86);--pub-glow:0 8px 28px -10px rgba(34,197,94,.55);--pub-error:#b91c1c;--pub-error-soft:rgba(220,38,38,.08)}.dark .pub{--pub-bg:#0f0f0f;--pub-band:rgba(6,6,8,.4);--pub-surface:#121418;--pub-surface-2:#0b0c0f;--pub-border:hsla(0,0%,100%,.09);--pub-text:#fff;--pub-text-2:#b6bec9;--pub-muted:#8b95a3;--pub-accent:#22c55e;--pub-accent-text:#22c55e;--pub-accent-soft:rgba(34,197,94,.12);--pub-on-accent:#0a0a0a;--pub-ghost-bg:hsla(0,0%,100%,.06);--pub-ghost-border:hsla(0,0%,100%,.16);--pub-nav-scrolled:hsla(0,0%,4%,.82);--pub-glow:0 8px 30px -8px rgba(34,197,94,.45);--pub-error:#f87171;--pub-error-soft:hsla(0,91%,71%,.1)}.pub{color:var(--pub-text)}.pub-bgfx{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;will-change:transform}.pub-layer{position:relative;z-index:1}.pub-accent{color:var(--pub-accent-text)}.pub-text{color:var(--pub-text)}.pub-text-2{color:var(--pub-text-2)}.pub-pagehead{padding-top:clamp(56px,8vw,104px);padding-bottom:clamp(32px,4vw,56px)}.pub-container{width:100%;max-width:1280px;margin-inline:auto;padding-inline:20px}@media (min-width:640px){.pub-container{padding-inline:32px}}.pub-section{padding-block:clamp(72px,9vw,104px)}.pub-band,.pub-section-alt{background:var(--pub-band);border-top:1px solid var(--pub-border);border-bottom:1px solid var(--pub-border)}.pub-band,.pub-section.pub-section-alt{padding-block:clamp(56px,7vw,78px)}.pub-main{padding-top:72px}.pub-main-flush{padding-top:0}.pub-eyebrow{font-size:13px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--pub-accent-text);margin-bottom:16px}.pub-h1,.pub-h2,.pub-h3{font-family:var(--font-heading);font-weight:700;color:var(--pub-text);text-wrap:balance}.pub-h1{font-size:clamp(34px,6.4vw,84px);line-height:1.06;letter-spacing:-.01em}.pub-h1-hero{max-width:15ch}.pub-h2{font-size:clamp(30px,3.6vw,46px);line-height:1.08;letter-spacing:-.022em}.pub-h3{font-size:22px;line-height:1.2;letter-spacing:-.01em}.pub-hl,.pub-hl-line{color:var(--pub-accent-text)}.pub-hl-line{display:block;font-style:italic}.pub-lead{font-size:clamp(17px,1.4vw,19px);line-height:1.65;color:var(--pub-text-2)}.pub-body{font-size:16px;line-height:1.65}.pub-body,.pub-muted{color:var(--pub-muted)}.pub-link{color:var(--pub-accent-text);text-decoration:underline;text-underline-offset:3px}@media (hover:hover) and (pointer:fine){.pub-link:hover{text-decoration-thickness:2px}}.pub-btn,.pub-btn-ghost,.pub-btn-outline{align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:13px 26px;font-size:14.5px;font-weight:500;line-height:1.2;white-space:nowrap;transition:transform .22s var(--pub-ease),box-shadow .22s var(--pub-ease),border-color .22s var(--pub-ease),color .22s var(--pub-ease),background-color .22s var(--pub-ease)}.pub-btn{background:var(--pub-accent);color:var(--pub-on-accent);border:1px solid transparent}.pub-btn-ghost{background:var(--pub-ghost-bg)}.pub-btn-ghost,.pub-btn-outline{color:var(--pub-text);border:1px solid var(--pub-ghost-border)}.pub-btn-outline{background:transparent}@media (hover:hover) and (pointer:fine){.pub-btn-ghost:hover,.pub-btn-outline:hover,.pub-btn:hover{transform:translateY(-1px);box-shadow:var(--pub-glow)}.pub-btn-ghost:hover,.pub-btn-outline:hover{border-color:var(--pub-accent);color:var(--pub-accent-text)}}.pub-btn:disabled{opacity:.6;transform:none;box-shadow:none;cursor:not-allowed}.pub-btn-sm{padding:9px 18px;font-size:13.5px}@media (max-width:359px){.pub-btn,.pub-btn-ghost,.pub-btn-outline{max-width:100%;white-space:normal;text-align:center}.pub-nav-actions .pub-arrow{display:none}.pub-h1,.pub-h2{hyphens:auto;overflow-wrap:break-word}}.pub a:focus-visible,.pub button:focus-visible,.pub-btn-ghost:focus-visible,.pub-btn-outline:focus-visible,.pub-btn:focus-visible,.pub-input:focus-visible{outline:2px solid var(--pub-accent);outline-offset:3px}.pub-arrow{width:16px;height:16px;transition:transform .22s var(--pub-ease)}@media (hover:hover) and (pointer:fine){.pub-btn-ghost:hover .pub-arrow,.pub-btn-outline:hover .pub-arrow,.pub-btn:hover .pub-arrow,.pub-card:hover .pub-arrow{transform:translateX(4px)}}.pub-card{background:linear-gradient(180deg,var(--pub-surface) 0,var(--pub-surface-2) 100%);border:1px solid var(--pub-border);border-radius:16px;padding:26px 24px;transition:transform .3s var(--pub-ease),border-color .3s var(--pub-ease)}@media (hover:hover) and (pointer:fine){.pub-card-hover:hover{transform:translateY(-3px);border-color:rgba(34,197,94,.4)}}.pub-card-flat{background:var(--pub-surface);border:1px solid var(--pub-border);border-radius:16px}.pub-card-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--pub-accent-soft);color:var(--pub-accent-text);border:1px solid rgba(34,197,94,.25)}.pub-step{border-top:1px solid var(--pub-border);padding-top:22px}.pub-step-num{font-size:13px;letter-spacing:.08em;color:var(--pub-accent-text);margin-bottom:14px}.pub-step-num,.pub-terminal{font-family:var(--font-geist-mono),ui-monospace,monospace}.pub-terminal{font-size:13.5px;line-height:1.8;background:#07080a;color:#d1d5db;border:1px solid hsla(0,0%,100%,.1);border-radius:14px;padding:18px 20px 20px;overflow-x:auto}.pub-terminal-bar{display:flex;gap:6px;margin-bottom:14px}.pub-terminal-bar span{width:9px;height:9px;border-radius:999px;background:hsla(0,0%,100%,.16)}.pub-terminal .t-dim{color:#8b95a3}.pub-terminal .t-ok{color:#22c55e}.pub-qa{border-top:1px solid var(--pub-border);padding-block:22px}.pub-qa:last-child{border-bottom:1px solid var(--pub-border)}.pub-input{width:100%;border-radius:12px;border:1px solid var(--pub-border);background:var(--pub-bg);color:var(--pub-text);padding:11px 14px;font-size:15px;transition:border-color .2s ease,box-shadow .2s ease}.dark .pub-input{background:#0b0c0f;color-scheme:dark}.pub-input::placeholder{color:var(--pub-muted);opacity:.8}.pub-input:focus{outline:none;border-color:var(--pub-accent);box-shadow:0 0 0 3px var(--pub-accent-soft)}.pub-label{font-size:13.5px;font-weight:500;color:var(--pub-text);margin-bottom:6px}.pub-nav{position:fixed;inset:0 0 auto 0;z-index:50;border-bottom:1px solid transparent;transition:background-color .28s var(--pub-ease),border-color .28s var(--pub-ease)}.pub-nav-scrolled{background:var(--pub-nav-scrolled);border-bottom-color:var(--pub-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.pub-nav-link{font-size:14.5px;color:var(--pub-text-2);transition:color .22s var(--pub-ease)}.pub-nav-link[aria-current=page]{color:var(--pub-text)}@media (hover:hover) and (pointer:fine){.pub-nav-link:hover{color:var(--pub-text)}}.pub-trust{border-top:1px solid var(--pub-border);border-bottom:1px solid var(--pub-border);font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:var(--pub-muted)}.pub-trust-row{font-size:13px;color:var(--pub-text-2)}.pub-trust-dot{width:5px;height:5px;border-radius:999px;background:var(--pub-accent)}.pub-reveal{opacity:0;transform:translateY(22px);transition:opacity .62s var(--pub-ease),transform .62s var(--pub-ease)}.pub-reveal.pub-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.pub-reveal,.pub-reveal.pub-in{opacity:1;transform:none;transition:none}.pub-arrow,.pub-btn,.pub-btn-ghost,.pub-btn-outline,.pub-card,.pub-nav{transition:none}.pub-btn-ghost:hover,.pub-btn-ghost:hover .pub-arrow,.pub-btn-outline:hover,.pub-btn-outline:hover .pub-arrow,.pub-btn:hover,.pub-btn:hover .pub-arrow,.pub-card-hover:hover,.pub-card:hover .pub-arrow{transform:none}}.pub-prose{color:var(--pub-muted);line-height:1.75}.pub-prose h2,.pub-prose h3{color:var(--pub-text)}.pub-h1.pub-h1-page{font-size:clamp(34px,4.6vw,56px);line-height:1.06}.pub-faq-q{color:var(--pub-text)}@media (hover:hover) and (pointer:fine){.pub-faq-q:hover{color:var(--pub-accent-text)}}.pub-faq-open{border-color:rgba(34,197,94,.4)}.pub-error{color:var(--pub-error)}.pub-input.pub-input-error{border-color:var(--pub-error)}.pub-alert{padding:12px 14px;border-radius:12px;border:1px solid var(--pub-error);background:var(--pub-error-soft);color:var(--pub-error);font-size:14px}.pub-choice{align-items:center;gap:8px;padding:12px;border-radius:12px;border:1px solid var(--pub-border);color:var(--pub-muted);font-size:14px;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,color .2s ease}@media (hover:hover) and (pointer:fine){.pub-choice:hover{border-color:rgba(34,197,94,.5)}}.pub-choice-on{border-color:var(--pub-accent);background:var(--pub-accent-soft);color:var(--pub-accent-text);font-weight:500}.pub-check{width:16px;height:16px;border-radius:4px;border:1px solid var(--pub-ghost-border);align-items:center;justify-content:center;flex-shrink:0}.pub-choice-on .pub-check{background:var(--pub-accent);border-color:var(--pub-accent);color:var(--pub-on-accent)}.pub-form-card{background:linear-gradient(180deg,var(--pub-surface) 0,var(--pub-surface-2) 100%);border:1px solid var(--pub-border);border-radius:16px;padding:clamp(24px,4vw,40px)}.pub-divider{border-color:var(--pub-border)}.pub-surface-bg{background:var(--pub-surface-2)}.pub-badge{background:var(--pub-accent-soft);color:var(--pub-accent-text)}.pub-icon-solid{background:var(--pub-accent);color:var(--pub-on-accent)}.pub-alert-icon{background:var(--pub-error-soft);color:var(--pub-error)}.pub-notice{padding:12px 14px;border-radius:12px;border:1px solid rgba(34,197,94,.4);background:var(--pub-accent-soft);color:var(--pub-accent-text);font-size:14px}:where(.pub-eyebrow){display:inline-block}:where(.pub-btn,.pub-btn-ghost,.pub-btn-outline){display:inline-flex}:where(.pub-card,.pub-label){display:block}:where(.pub-choice,.pub-check){display:flex}.pub-tile--green{--t-c:#22c55e;--t-text:#22c55e;--t-rgb:34,197,94}.pub-tile--teal{--t-c:#2dd4bf;--t-text:#2dd4bf;--t-rgb:45,212,191}.pub-tile--lime{--t-c:#a3e635;--t-text:#a3e635;--t-rgb:163,230,53}.pub .pub-tile--green{--t-c:#16a34a;--t-text:#166534;--t-rgb:22,163,74}.pub .pub-tile--teal{--t-c:#0d9488;--t-text:#115e59;--t-rgb:13,148,136}.pub .pub-tile--lime{--t-c:#65a30d;--t-text:#3f6212;--t-rgb:101,163,13}.dark .pub .pub-tile--green{--t-c:#22c55e;--t-text:#22c55e;--t-rgb:34,197,94}.dark .pub .pub-tile--teal{--t-c:#2dd4bf;--t-text:#2dd4bf;--t-rgb:45,212,191}.dark .pub .pub-tile--lime{--t-c:#a3e635;--t-text:#a3e635;--t-rgb:163,230,53}.pub-tile{--t-edge:rgba(var(--t-rgb),0.4);--t-glow:rgba(var(--t-rgb),0.55);--t-tint:rgba(var(--t-rgb),0.12);position:relative;display:flex;flex-direction:column;height:100%;border-radius:16px;border:1px solid var(--pub-border);background:linear-gradient(180deg,var(--pub-surface) 0,var(--pub-surface-2) 100%);overflow:hidden;isolation:isolate;transition:transform .34s var(--pub-ease),border-color .34s var(--pub-ease),box-shadow .34s var(--pub-ease)}.pub .pub-tile{border-color:rgba(0,0,0,.1)}.dark .pub .pub-tile{border-color:hsla(0,0%,100%,.09)}.pub-tile:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(240px circle at var(--px,50%) var(--py,30%),var(--t-tint),transparent 70%);opacity:0;transition:opacity .3s var(--pub-ease)}@media (hover:hover) and (pointer:fine){.dark .pub .pub-tile:hover,.pub .pub-tile:hover,.pub-tile:hover{transform:translateY(-5px);border-color:var(--t-edge);box-shadow:0 26px 60px -34px var(--t-glow)}.pub-tile:hover:before{opacity:1}}.pub-tile-art{height:172px;padding:26px 26px 0;display:flex;align-items:center;justify-content:center;background:linear-gradient(rgba(15,23,42,.03),transparent);border-bottom:1px solid rgba(0,0,0,.07)}.dark .pub-tile-art{background:linear-gradient(hsla(0,0%,100%,.035),transparent);border-bottom-color:hsla(0,0%,100%,.07)}.pub-tile-body{margin-top:auto;padding:22px 26px 26px}.pub-tile-code{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--pub-muted);margin-bottom:10px;transition:color .3s var(--pub-ease)}@media (hover:hover) and (pointer:fine){.pub-tile:hover .pub-tile-code{color:var(--t-text)}}.pub-tile-text{font-size:14.5px;line-height:1.62;color:var(--pub-muted);margin-bottom:20px}.pub-tile-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:8px;border:1px solid var(--t-edge);color:var(--t-text);font-size:13px;font-weight:500;transition:background-color .3s var(--pub-ease),border-color .3s var(--pub-ease)}@media (hover:hover) and (pointer:fine){.pub-tile-btn:hover,.pub-tile:hover .pub-tile-btn{border-color:var(--t-text);background:var(--t-tint)}.pub-tile-btn:hover .pub-arrow,.pub-tile:hover .pub-tile-btn .pub-arrow{transform:translateX(4px)}}.pub-art-box{position:relative;z-index:1;font-family:var(--font-geist-mono),ui-monospace,monospace;font-size:10.5px;line-height:1;color:var(--pub-muted);background:var(--pub-surface);border:1px solid var(--pub-ghost-border);border-radius:8px;padding:9px 10px;white-space:nowrap;transition:border-color .34s var(--pub-ease),background-color .34s var(--pub-ease),color .34s var(--pub-ease),transform .34s var(--pub-ease)}@media (hover:hover) and (pointer:fine){.pub-tile:hover .pub-art-box{border-color:var(--t-edge);color:var(--t-text);background:linear-gradient(var(--t-tint),var(--t-tint)),var(--pub-surface)}}.pub-art-dot{position:absolute;right:-3px;top:-3px;width:6px;height:6px;border-radius:999px;background:var(--t-c);box-shadow:0 0 10px 2px rgba(var(--t-rgb),.55)}.pub-art-track{position:absolute;top:50%;height:0;opacity:0}.pub-tile[data-in] .pub-art-track{animation:pub-art-travel 2.6s linear infinite}.pub-tile[data-in] .pub-art-track--slow{animation-duration:2.8s}@keyframes pub-art-travel{0%{transform:translateX(-100%);opacity:0}12%{opacity:1}88%{opacity:1}to{transform:translateX(0);opacity:0}}.pub-art-flow{position:relative;width:100%;max-width:270px;display:flex;align-items:center;justify-content:space-between}.pub-art-flow .pub-art-line,.pub-art-flow .pub-art-track{left:14%;right:14%}.pub-art-line{position:absolute;top:50%;height:1px;background:var(--pub-ghost-border)}.pub-art-chart{width:100%;height:118px;color:var(--t-c);overflow:visible}.pub-art-guide{stroke:var(--pub-ghost-border);stroke-width:1;stroke-dasharray:3 4}.pub-art-curve{fill:none;stroke:var(--t-c);stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}.pub-art-area{opacity:0}.pub-tile[data-in] .pub-art-curve{animation:pub-art-draw 1.4s var(--pub-ease) .2s forwards}.pub-tile[data-in] .pub-art-area{animation:pub-art-fade .7s var(--pub-ease) 1.4s forwards}@keyframes pub-art-draw{to{stroke-dashoffset:0}}@keyframes pub-art-fade{to{opacity:1}}.pub-art-pair{display:flex;align-items:center}.pub-art-box--lg{padding:16px 18px;font-size:11.5px}.pub-art-box--sm{padding:9px 10px}.pub-art-link{position:relative;width:56px;height:1px;background:var(--pub-ghost-border)}.pub-art-link .pub-art-track{left:0;right:0}@media (hover:hover) and (pointer:fine){.pub-tile:hover .pub-art-box--lg{transform:scale(1.03)}.pub-tile:hover .pub-art-box--sm{transform:scale(.97)}}@media (prefers-reduced-motion:reduce){.pub-art-box,.pub-tile,.pub-tile-btn,.pub-tile-code,.pub-tile:before{transition:none}.dark .pub .pub-tile:hover,.pub .pub-tile:hover,.pub-tile:hover,.pub-tile:hover .pub-art-box--lg,.pub-tile:hover .pub-art-box--sm{transform:none}.pub-art-track,.pub-tile[data-in] .pub-art-track{animation:none;display:none}.pub-art-curve,.pub-tile[data-in] .pub-art-curve{animation:none;stroke-dashoffset:0}.pub-art-area,.pub-tile[data-in] .pub-art-area{animation:none;opacity:1}}.pub-marks{padding-block:8px clamp(40px,6vw,72px)}.pub-marks-row{display:flex;overflow:hidden;padding:22px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent)}.pub-marks-track{display:flex;width:max-content;animation:pub-marks-left 60s linear infinite}.pub-marks-row--right .pub-marks-track{animation:pub-marks-right 75s linear infinite}.pub-marks[data-paused] .pub-marks-track{animation-play-state:paused}@keyframes pub-marks-left{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes pub-marks-right{0%{transform:translateX(-50%)}to{transform:translateX(0)}}.pub-marks-list{flex-shrink:0;gap:64px;padding-right:64px;margin:0;list-style:none}.pub-mark,.pub-marks-list{display:flex;align-items:center}.pub-mark{gap:12px;font-family:var(--font-heading);font-size:20px;font-weight:600;line-height:1;white-space:nowrap;color:var(--pub-muted);transition:color .22s var(--pub-ease)}.pub-mark-icon{width:30px;height:30px;flex-shrink:0;background:currentColor;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;opacity:.6;transition:opacity .22s var(--pub-ease)}@media (hover:hover) and (pointer:fine){.pub-mark:hover{color:var(--pub-text)}.pub-mark:hover .pub-mark-icon{opacity:1}}@media (max-width:639px){.pub-marks-row{padding:16px 0}.pub-marks-list{gap:40px;padding-right:40px}.pub-mark{font-size:17px;gap:10px}.pub-mark-icon{width:24px;height:24px}}@media (prefers-reduced-motion:reduce){.pub-marks-row{overflow:visible;-webkit-mask-image:none;mask-image:none;max-width:1280px;margin-inline:auto;padding:10px 20px}.pub-marks-row--right .pub-marks-track,.pub-marks-track{animation:none;width:auto}.pub-mark-rep,.pub-marks-dup{display:none}.pub-marks-list{flex-wrap:wrap;flex-shrink:1;gap:18px 40px;padding-right:0}.pub-mark{transition:none}}@media (prefers-reduced-motion:reduce) and (min-width:640px){.pub-marks-row{padding-inline:32px}}.pub .pub-lang [aria-current=true]{color:var(--pub-accent-text)}html:not(.dark) .pub .pub-lang button:not([aria-current=true]):not(:hover){color:#475569}.pub-trademarks{font-size:12px;color:var(--pub-muted)}.pub-fig-grid{display:grid;grid-template-columns:1fr;gap:20px;margin:0;padding:0;list-style:none}@media (min-width:640px){.pub-fig-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.pub-fig-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.pub-fig{height:100%}.pub .pub-fig{border-color:rgba(0,0,0,.1)}.dark .pub .pub-fig{border-color:hsla(0,0%,100%,.09)}.pub-fig-num{display:flex;align-items:baseline;gap:8px;margin-bottom:18px;font-family:var(--font-heading);font-weight:700;font-size:clamp(48px,4.6vw,64px);line-height:1;letter-spacing:-.01em;color:var(--pub-accent-text);font-variant-numeric:tabular-nums}.pub-fig-value{display:inline-flex;align-items:baseline}.pub-fig-digits{display:inline-block;text-align:left}.pub-fig-unit{font-size:.5em;color:var(--pub-text)}.pub-fig-text{font-size:14.5px;line-height:1.62;color:var(--pub-muted)}.pub-fig-lead{color:var(--pub-text)}