@font-face{font-family:"Source Sans 3";src:url("/fonts/source-sans-3-300.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:"Source Sans 3";src:url("/fonts/source-sans-3-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Source Sans 3";src:url("/fonts/source-sans-3-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:"Source Sans 3";src:url("/fonts/source-sans-3-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Source Sans 3";src:url("/fonts/source-sans-3-800.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Mono";src:url("/fonts/ibm-plex-mono-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Mono";src:url("/fonts/ibm-plex-mono-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--sf-void:#09101a;--sf-base:#0d1218;--sf-panel:#111a24;--sf-raised:#111e2a;--sf-gold:#c8a84b;--sf-gold-12:rgba(200,168,75,0.12);--sf-gold-14:rgba(200,168,75,0.14);--sf-gold-22:rgba(200,168,75,0.22);--sf-text-1:#dce8f4;--sf-text-2:#b4c6d6;--sf-text-3:#7b95aa;--sf-text-4:#55697c;--sf-text-5:#2a3e50;--sf-ok:#4a9a5a;--sf-blue:#3b82f6;--sf-danger:#ef4444;--font-display:"Source Sans 3",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-sans:"Source Sans 3",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--color-text-1:var(--sf-text-1);--color-text-2:var(--sf-text-2);--color-text-3:var(--sf-text-3);--color-text-4:var(--sf-text-4);--color-gold:var(--sf-gold);--sf-border:rgba(255,255,255,0.055);--sf-border-strong:rgba(255,255,255,0.12);--sf-shell:1180px;--sf-copy:70ch}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{margin:0;background:radial-gradient(900px 420px at 85% 4%,rgba(126,202,204,0.10),transparent 55%),radial-gradient(760px 360px at 10% 0%,rgba(200,168,75,0.08),transparent 52%),linear-gradient(180deg,var(--sf-void) 0%,#0a121a 100%);color:var(--sf-text-1);font-family:"Source Sans 3",system-ui,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.theme-paper{background:radial-gradient(900px 420px at 85% 4%,rgba(180,139,47,0.08),transparent 55%),radial-gradient(760px 360px at 10% 0%,rgba(52,111,71,0.06),transparent 52%),linear-gradient(180deg,#f4efe5 0%,#ede7db 100%);color:#16212c;--sf-void:#f4efe5;--sf-base:#f8f3eb;--sf-panel:#faf7f0;--sf-raised:#ffffff;--sf-gold:#a8842f;--sf-gold-12:rgba(168,132,47,0.12);--sf-gold-14:rgba(168,132,47,0.14);--sf-gold-22:rgba(168,132,47,0.22);--sf-text-1:#16212c;--sf-text-2:#334150;--sf-text-3:#5c6c79;--sf-text-4:#7b8994;--sf-text-5:#a2adb7;--sf-ok:#346f47;--sf-blue:#2959d8;--sf-danger:#9b5347;--sf-border:rgba(17,26,36,0.10);--sf-border-strong:rgba(17,26,36,0.16)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}::selection{background:var(--sf-gold);color:#fff}:focus-visible{outline:2px solid var(--sf-gold);outline-offset:3px}h1,h2,h3,h4{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-weight:600;letter-spacing:-0.03em;line-height:1.12}p{margin:0}.docs-body{min-height:100vh}.docs-shell{width:min(calc(100% - 2rem),var(--sf-shell));margin-inline:auto}.docs-nav{position:sticky;top:0;z-index:40;border-bottom:1px solid transparent;background:rgba(9,16,26,0.86);backdrop-filter:blur(18px)}.docs-nav.is-scrolled{border-bottom-color:var(--sf-gold-14);background:rgba(13,18,24,0.95)}.docs-nav__inner{min-height:64px;display:grid;grid-template-columns:auto minmax(240px,1fr) auto;align-items:center;gap:1rem}.docs-nav__left,.docs-nav__right{display:flex;align-items:center;gap:1rem}.docs-nav__toggle{display:inline-flex;flex-direction:column;gap:4px;padding:0.5rem;border:0;background:transparent}.docs-nav__toggle span{width:18px;height:1px;background:var(--sf-text-2);display:block}.docs-nav__toggle{display:none}.docs-brand{font-family:"Source Sans 3",system-ui,sans-serif;font-weight:700;font-size:1.05rem;line-height:1;color:var(--sf-text-1)}.docs-nav__link{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:0.66rem;text-transform:uppercase;letter-spacing:0.12em;color:var(--sf-text-4)}.docs-nav__search{min-width:0}.docs-home-hero,.docs-section,.docs-page{padding:5.5rem 0}.docs-home-hero{padding-top:6rem}.docs-home h1,.docs-page h1{font-size:clamp(38px,4vw,62px);max-width:14ch}.docs-home-lead{margin-top:1.25rem;max-width:var(--sf-copy);color:var(--sf-text-2);font-size:0.96rem}.docs-eyebrow{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:0.64rem;text-transform:uppercase;letter-spacing:0.12em;color:var(--sf-gold);margin-bottom:1rem}.docs-section-head h2,.docs-content h2,.docs-content h3{font-family:"Source Sans 3",system-ui,sans-serif;font-weight:600}.docs-section-head h2{font-size:clamp(22px,2.2vw,30px);margin-bottom:1.5rem}.docs-search-shell{min-height:3.5rem;--pagefind-ui-scale:0.8;--pagefind-ui-primary:var(--sf-gold);--pagefind-ui-text:var(--sf-text-2);--pagefind-ui-background:rgba(13,18,24,0.96);--pagefind-ui-border:rgba(255,255,255,0.10);--pagefind-ui-tag:rgba(255,255,255,0.06);--pagefind-ui-border-width:1px;--pagefind-ui-border-radius:4px;--pagefind-ui-image-border-radius:8px;--pagefind-ui-font:"Source Sans 3",system-ui,sans-serif}.theme-paper .docs-search-shell{--pagefind-ui-primary:var(--sf-gold);--pagefind-ui-text:var(--sf-text-2);--pagefind-ui-background:rgba(250,247,240,0.98);--pagefind-ui-border:rgba(17,26,36,0.12);--pagefind-ui-tag:rgba(17,26,36,0.06)}.docs-search-shell--hero{margin-top:2rem;max-width:760px;padding:0.8rem;border:1px solid var(--sf-border-strong);background:rgba(17,26,36,0.76);border-radius:4px;position:relative;overflow:visible}.docs-search-shell--hero .pagefind-ui__drawer{position:static;top:auto;left:auto;right:auto;margin-top:0.85rem;padding:0;border:0;background:transparent;box-shadow:none}.docs-search-shell--hero .pagefind-ui__results-area{margin-top:0.7rem}.docs-search-shell--hero .pagefind-ui__search-clear{color:var(--sf-text-4) !important}.docs-search-shell__label{margin-bottom:0.65rem;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:0.64rem;text-transform:uppercase;letter-spacing:0.12em;color:var(--sf-gold)}.docs-search-shell .pagefind-ui{color:var(--sf-text-1)}.docs-search-shell .pagefind-ui__form{display:flex;position:relative}.docs-search-shell .pagefind-ui__form:before{opacity:0.55}.docs-search-shell .pagefind-ui__search-input{width:100%;background:rgba(13,18,24,0.96) !important;border:1px solid rgba(255,255,255,0.12) !important;color:var(--sf-text-1) !important;padding:1rem 4.6rem 1rem 3.1rem;font:inherit;font-size:1rem;border-radius:4px;box-shadow:none}.docs-search-shell .pagefind-ui__search-input::placeholder{color:var(--sf-text-4) !important;opacity:1}.docs-search-shell .pagefind-ui__search-input:focus{outline:none;border-color:var(--sf-gold)}.docs-search-shell .pagefind-ui__search-clear{top:50% !important;right:0.35rem !important;transform:translateY(-50%);height:auto !important;padding:0.35rem 0.55rem !important;background:transparent !important;border-radius:0 !important;color:var(--sf-text-4) !important;font-size:0.66rem !important;text-transform:uppercase;letter-spacing:0.12em}.docs-search-shell .pagefind-ui__drawer{display:block;position:absolute;top:calc(100% + 0.7rem);left:0;right:0;z-index:5;padding:0.85rem;border:1px solid var(--sf-border-strong);background:rgba(9,16,26,0.98);box-shadow:0 24px 48px rgba(0,0,0,0.32)}.docs-search-shell .pagefind-ui__result{border-bottom:1px solid var(--sf-border)}.docs-search-shell .pagefind-ui__results-area{margin-top:0.85rem;min-width:0}.docs-search-shell .pagefind-ui__message{color:var(--sf-text-3) !important;font-size:0.72rem !important;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:0.12em;font-weight:400}.docs-search-shell .pagefind-ui__result-title .pagefind-ui__result-link{color:var(--sf-text-1) !important}.docs-search-shell .pagefind-ui__result-excerpt{color:var(--sf-text-3) !important;font-size:0.92rem !important}.docs-search-shell .pagefind-ui__button{background:transparent !important;border-color:var(--sf-gold-22) !important;color:var(--sf-gold) !important}.docs-search-shell .pagefind-ui__button,.docs-search-shell .pagefind-ui__search-clear{font-family:var(--font-mono)}.section-card-grid,.docs-subgrid{display:grid;gap:1rem;grid-template-columns:repeat(12,minmax(0,1fr))}.section-card,.sf-card{grid-column:span 6;display:block;padding:1.4rem;border:1px solid var(--sf-border);background:linear-gradient(180deg,rgba(17,26,36,0.98),rgba(13,18,24,0.98))}body.theme-paper .section-card,body.theme-paper .sf-card{background:linear-gradient(180deg,rgba(255,255,255,0.98),rgba(247,242,234,0.98));border-color:rgba(17,26,36,0.12);box-shadow:0 1px 0 rgba(255,255,255,0.6) inset,0 18px 30px rgba(17,26,36,0.04)}.section-card:hover{border-color:var(--sf-gold-22)}.section-card__label{display:block;margin-bottom:0.75rem;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:0.74rem;text-transform:uppercase;letter-spacing:0.12em;color:var(--sf-gold)}.section-card h3{font-size:1rem;margin-bottom:0.55rem}.section-card p{color:var(--sf-text-2)}body.theme-paper .section-card p{color:var(--sf-text-2)}.docs-page-grid{display:grid;grid-template-columns:250px minmax(0,1fr) 220px;gap:2rem;align-items:start}.docs-sidebar{position:sticky;top:84px}.sidebar-tree{border:1px solid var(--sf-border);background:rgba(17,26,36,0.92);padding:1rem}body.theme-paper .sidebar-tree{background:rgba(250,247,240,0.96);border-color:rgba(17,26,36,0.10)}.sidebar-tree__home{display:block;margin-bottom:1rem;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:0.62rem;text-transform:uppercase;letter-spacing:0.12em;color:var(--sf-text-4)}.sidebar-tree__item>a{display:block;padding:0.4rem 0;font-size:0.86rem;color:var(--sf-text-3)}body.theme-paper .sidebar-tree__home,body.theme-paper .sidebar-tree__item>a,body.theme-paper .docs-footer__meta,body.theme-paper .docs-footer__links,body.theme-paper .docs-nav__link{color:var(--sf-text-3)}.sidebar-tree__item.is-active>a{color:var(--sf-text-1)}body.theme-paper .sidebar-tree__item.is-active>a{color:var(--sf-text-1)}.sidebar-tree__children{padding-left:1rem;border-left:1px solid var(--sf-border)}.docs-content{min-width:0}.docs-content h1{margin-bottom:1.25rem;font-weight:600;font-size:clamp(32px,3vw,52px)}body.theme-paper .docs-content h1,body.theme-paper .docs-section-head h2,body.theme-paper .docs-content h2,body.theme-paper .docs-content h3{color:var(--sf-text-1)}.docs-prose{max-width:72ch;color:var(--sf-text-2);font-size:0.94rem}.docs-prose>* + *{margin-top:1rem}.docs-prose h2,.docs-prose h3{margin-top:2rem;color:var(--sf-text-1)}.docs-prose h2{font-size:1.2rem;font-weight:600}.docs-prose h3{font-size:0.92rem;font-weight:600}.docs-prose a{color:var(--sf-gold)}body.theme-paper .docs-prose{color:var(--sf-text-2)}body.theme-paper .docs-prose a{color:var(--sf-gold)}.docs-prose ul,.docs-prose ol{padding-left:1.25rem}.docs-prose code{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:0.92em}.docs-prose pre{overflow:auto;padding:1rem;border:1px solid var(--sf-border);background:#0b1117}body.theme-paper .docs-prose pre{background:rgba(250,247,240,0.9);border-color:rgba(17,26,36,0.10)}.docs-prose table{width:100%;border-collapse:collapse;border:1px solid var(--sf-border)}body.theme-paper .docs-prose table{border-color:rgba(17,26,36,0.10)}.docs-prose th,.docs-prose td{border:1px solid var(--sf-border);padding:0.7rem 0.8rem;text-align:left}body.theme-paper .docs-prose th,body.theme-paper .docs-prose td{border-color:rgba(17,26,36,0.10)}.docs-prose blockquote{margin:0;padding-left:1rem;border-left:2px solid var(--sf-gold);color:var(--sf-text-1)}body.theme-paper .docs-prose blockquote{color:var(--sf-text-2)}.docs-toc{position:sticky;top:84px}.docs-toc__inner{padding:1rem;border:1px solid var(--sf-border);background:rgba(17,26,36,0.92)}body.theme-paper .docs-toc__inner{background:rgba(250,247,240,0.96);border-color:rgba(17,26,36,0.10)}.docs-toc__inner ul{padding-left:1rem}.prev-next{display:flex;gap:1rem;margin-top:3rem}.prev-next__link{flex:1;padding:1rem;border:1px solid var(--sf-border);background:rgba(17,26,36,0.94)}body.theme-paper .prev-next__link{background:rgba(250,247,240,0.96);border-color:rgba(17,26,36,0.10)}.prev-next__label{display:block;margin-bottom:0.4rem;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:0.58rem;text-transform:uppercase;letter-spacing:0.12em;color:var(--sf-text-4)}.sf-callout{display:grid;grid-template-columns:40px minmax(0,1fr);gap:0.9rem;padding:1rem;border:1px solid var(--sf-border);background:rgba(17,26,36,0.94)}body.theme-paper .sf-callout{background:rgba(250,247,240,0.96);border-color:rgba(17,26,36,0.10)}.sf-callout--info{border-left:2px solid var(--sf-blue)}.sf-callout--warning{border-left:2px solid var(--sf-gold)}.sf-callout--danger{border-left:2px solid var(--sf-danger)}.sf-callout__icon{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:1.05rem;line-height:1;font-weight:500;color:var(--sf-text-1);display:flex;align-items:flex-start;justify-content:center;padding-top:0.1rem}.sf-callout__body>:first-child{margin-top:0}.sf-callout__body>:last-child{margin-bottom:0}.docs-footer{padding:2.5rem 0 3rem;border-top:1px solid var(--sf-gold-14);background:#08101a}body.theme-paper .docs-footer{border-top-color:rgba(168,132,47,0.18);background:rgba(244,239,229,0.92)}.docs-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}.docs-footer__brand{font-family:"Playfair Display",Georgia,serif;font-size:1.1rem}body.theme-paper .docs-footer__brand{color:var(--sf-text-1)}.docs-footer__meta,.docs-footer__links{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:0.6rem;text-transform:uppercase;letter-spacing:0.12em;color:var(--sf-text-4)}.docs-footer__links{display:flex;gap:1rem}.docs-footer__links a:hover,.docs-nav__link:hover,.sidebar-tree__item>a:hover{color:var(--sf-text-1)}body.theme-paper .docs-footer__links a:hover,body.theme-paper .docs-nav__link:hover,body.theme-paper .sidebar-tree__item>a:hover{color:var(--sf-text-1)}@media (max-width:1100px){.docs-page-grid{grid-template-columns:1fr}.docs-sidebar,.docs-toc{position:static}.docs-sidebar{display:none}body.sidebar-open .docs-sidebar{display:block}.section-card,.sf-card{grid-column:span 12}.docs-nav__toggle{display:inline-flex}}body.theme-paper .docs-nav{background:rgba(244,239,229,0.88);border-bottom-color:rgba(17,26,36,0.08)}body.theme-paper .docs-nav.is-scrolled{background:rgba(250,247,240,0.96);border-bottom-color:rgba(17,26,36,0.12)}body.theme-paper .docs-nav__link,body.theme-paper .sidebar-tree__home,body.theme-paper .docs-footer__meta,body.theme-paper .docs-footer__links{color:var(--sf-text-3)}body.theme-paper .docs-brand,body.theme-paper .docs-content h1,body.theme-paper .docs-section-head h2,body.theme-paper .docs-content h2,body.theme-paper .docs-content h3,body.theme-paper .docs-toc__inner .docs-eyebrow{color:var(--sf-text-1)}body.theme-paper .docs-search-shell{--pagefind-ui-background:rgba(250,247,240,0.98);--pagefind-ui-border:rgba(17,26,36,0.12);--pagefind-ui-tag:rgba(17,26,36,0.06);--pagefind-ui-text:var(--sf-text-2)}body.theme-paper .docs-search-shell--hero{background:rgba(250,247,240,0.82);border-color:rgba(17,26,36,0.10)}body.theme-paper .docs-search-shell--nav .pagefind-ui__search-input,body.theme-paper .docs-search-shell--hero .pagefind-ui__search-input{background:rgba(250,247,240,0.98) !important;border-color:rgba(17,26,36,0.12) !important;color:var(--sf-text-1) !important}body.theme-paper .docs-search-shell--hero .pagefind-ui__drawer,body.theme-paper .docs-search-shell--nav .pagefind-ui__drawer{background:rgba(250,247,240,0.98);border-color:rgba(17,26,36,0.10)}body.theme-paper .docs-search-shell .pagefind-ui__message,body.theme-paper .docs-search-shell .pagefind-ui__result-excerpt{color:var(--sf-text-3) !important}body.theme-paper .docs-search-shell .pagefind-ui__result-title .pagefind-ui__result-link{color:var(--sf-text-1) !important}@media (max-width:767px){.docs-nav__inner{grid-template-columns:auto 1fr auto}.docs-nav__search{display:none}.docs-footer__inner{flex-direction:column;align-items:flex-start}.prev-next{flex-direction:column}}