.docs-page{display:flex;min-height:100dvh;flex-direction:column}.docs-page a:focus-visible{outline:2px solid var(--primary-dark);outline-offset:3px}.docs-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:72px 24px 112px}.docs-hero{max-width:760px;padding:28px 0 72px}.docs-kicker{color:var(--primary-dark);font:600 13px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.docs-title{margin-top:14px;font:600 clamp(40px,7vw,72px)/1.02 var(--font-display);letter-spacing:-2px}.docs-lede{max-width:650px;margin-top:22px;color:var(--text-sub-600);font-size:18px;line-height:1.65}.docs-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:72px;align-items:start}.docs-section+.docs-section{margin-top:72px}.docs-section h2{margin-bottom:18px;font-size:28px;letter-spacing:-1px}.docs-section p{max-width:700px;color:var(--text-sub-600);line-height:1.7}.docs-steps{display:grid;gap:14px;margin-top:24px;counter-reset:docs-step}.docs-step{display:grid;grid-template-columns:34px 1fr;gap:14px;align-items:start}.docs-step:before{counter-increment:docs-step;content:counter(docs-step);display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--primary-base);border-radius:50%;color:var(--primary-dark);font:600 13px var(--font-mono)}.docs-step strong{display:block;margin-bottom:3px;color:var(--text-strong-950)}.docs-step span{color:var(--text-sub-600)}.docs-callout{margin-top:24px;padding:20px 22px;border:1px solid var(--stroke-soft-200);border-radius:var(--radius-sm);background:var(--surface-surface-0)}.docs-callout code,.docs-code{color:var(--primary-darker);font-family:var(--font-mono)}a.docs-code{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:color var(--t-fast),text-decoration-color var(--t-fast)}a.docs-code:hover{color:var(--text-strong-950);text-decoration-color:currentColor}.docs-side{position:sticky;top:108px;padding:22px;border-left:1px solid var(--stroke-soft-200)}.docs-side h2{margin-bottom:14px;font-size:16px}.docs-side a{display:block;padding:8px 0;color:var(--text-sub-600);transition:color var(--t-fast)}.docs-side a strong,.docs-side a:hover{color:var(--text-strong-950)}.docs-side a strong{display:block;font-size:14px}.docs-api-link{display:inline-flex;align-items:center;gap:8px;margin-top:28px;padding:11px 15px;border:1px solid var(--stroke-soft-200);border-radius:var(--radius-sm);color:var(--text-strong-950);font-weight:600;transition:border-color var(--t-fast),background var(--t-fast)}.docs-api-link:hover{border-color:var(--primary-base);background:var(--primary-alpha-16)}.api-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:54px}.api-nav{position:sticky;top:108px;align-self:start;max-height:calc(100dvh - 140px);overflow-y:auto}.api-nav-title{margin-bottom:12px;font-size:14px;font-weight:600;color:var(--text-sub-600)}.docs-nav-section{margin-top:24px}.api-nav .api-nav-back{margin-bottom:18px;color:var(--text-soft-400);font-family:var(--font-sans)}.api-nav .api-nav-back:hover{color:var(--text-strong-950)}.api-nav-back span{margin-inline-end:5px;font-family:var(--font-mono)}.api-nav a{display:block;padding:7px 0;color:var(--text-sub-600);font:13px var(--font-mono)}.api-nav a:hover{color:var(--primary-dark)}.api-nav a.active{color:var(--primary-darker);font-weight:600}.api-content h1{margin-bottom:14px;font:600 48px/1.1 var(--font-display);letter-spacing:-1.5px}.api-content>p{color:var(--text-sub-600)}.api-prose{max-width:800px}.api-lede{font-size:18px;line-height:1.65}.api-prose .docs-callout p{margin-top:8px;color:var(--text-sub-600)}.api-code{overflow-x:auto;margin:18px 0;padding:16px 18px;border:1px solid var(--stroke-soft-200);border-radius:var(--radius-sm);background:var(--surface-surface-0);color:var(--primary-darker);font:13px/1.7 var(--font-mono)}.api-checklist{display:grid;gap:14px;margin:22px 0}.api-checklist div{display:grid;gap:3px;padding-inline-start:16px;border-inline-start:2px solid var(--primary-base)}.api-checklist strong{color:var(--text-strong-950)}.api-checklist span{color:var(--text-sub-600)}.api-snowflake-diagram{width:100%;height:auto;margin-top:24px;color:var(--primary-dark)}.api-snowflake-notes{max-width:760px}@media(max-width:900px){.api-snowflake-grid{grid-template-columns:1fr;gap:36px}.api-snowflake-tool{position:static}}@media(max-width:680px){.snowflake-converter-row{grid-template-columns:1fr}.snowflake-converter-row .api-snowflake-output{margin-top:2px}.snowflake-binary{overflow-x:auto;padding-bottom:4px}}.api-group{margin-top:64px;scroll-margin-top:116px}.api-group>h2{margin-bottom:26px;font-size:24px;color:var(--text-strong-950)}.api-subgroup+.api-subgroup{margin-top:38px}.api-subgroup h3{margin-bottom:12px;color:var(--text-sub-600);font-size:14px;font-weight:600;text-transform:uppercase}.api-list{display:grid;gap:8px}.api-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 16px;border:1px solid var(--stroke-soft-200);border-radius:var(--radius-sm);background:var(--surface-surface-0);transition:border-color var(--t-fast),background-color var(--t-fast),transform var(--t-fast)}.api-item:hover{border-color:var(--primary-base);background:var(--primary-alpha-16);transform:translateY(-1px)}.api-item{font:500 14px var(--font-mono);color:var(--text-strong-950);transition:color var(--t-fast)}.api-item:hover strong{color:var(--primary-darker)}.api-item span{color:var(--text-soft-400);font-size:13px}.docs-overview .api-list{gap:2px}.docs-overview .api-item{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);padding:12px 0;border:0;border-radius:0;background:transparent;transform:none;transition:color var(--t-fast)}.docs-overview .api-item:hover{border-color:transparent;background:transparent;transform:none}.docs-overview .api-item strong{font-family:var(--font-sans);font-weight:600;transition:color var(--t-fast)}.docs-overview .api-item:hover strong{color:var(--primary-darker)}.docs-overview .api-item span{line-height:1.55}.docs-overview .docs-api-link{border:0;padding-inline:0;background:transparent;color:var(--primary-darker);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}.docs-overview .docs-api-link:hover{border-color:transparent;background:transparent;color:var(--text-strong-950);text-decoration-color:currentColor}.proto-reference .api-group{margin-top:56px}.proto-detail h1,.proto-reference h1{font-family:var(--font-sans);font-weight:600;letter-spacing:0}.proto-reference .api-group>h2{margin-bottom:22px;padding-bottom:12px;border-bottom:1px solid var(--stroke-soft-200)}.proto-reference .api-subgroup+.api-subgroup{margin-top:30px}.proto-reference .api-subgroup h3{margin-bottom:0;padding:0 8px 9px;border-bottom:1px solid var(--stroke-soft-200)}.proto-reference .api-list{gap:0;border-top:0}.proto-reference .api-item{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:12px 8px;border:0;border-bottom:1px solid var(--stroke-soft-200);border-radius:0;background:transparent;transition:background-color var(--t-fast),color var(--t-fast)}.proto-reference .api-item:hover{border-color:var(--stroke-soft-200);background:var(--primary-alpha-16);transform:none}.proto-reference .api-item strong{font-size:14px}.api-detail .api-breadcrumb{color:var(--text-soft-400);font:13px var(--font-mono)}.api-detail h1{margin-top:12px}.api-meta{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 40px}.api-pill{padding:5px 9px;border:1px solid var(--stroke-soft-200);border-radius:999px;color:var(--text-sub-600);font:12px var(--font-mono)}.api-pill--inline{display:inline-block;margin-inline-start:8px;vertical-align:middle}.enum-raw{margin-inline-start:8px;color:var(--text-soft-400);font-size:12px}.api-detail h2{margin:34px 0 12px;font-size:18px}.api-prose h2{font-size:24px;line-height:1.3}.api-prose h3{font-size:19px;line-height:1.35}.api-definition-section{margin-top:34px}.api-definition-section h2,.api-inner-types>h2{margin-bottom:16px}.api-oneof-row th{padding-top:20px;color:var(--text-sub-600);font-size:13px;font-weight:600;text-transform:none}.api-oneof-row code{color:var(--text-strong-950);font-family:var(--font-mono)}.api-oneof-field td:first-child{padding-inline-start:24px}.api-inner-types{margin-top:56px}.api-inner-type{position:relative;margin-inline-start:calc(var(--api-inner-depth)*20px);padding:16px 0 4px 18px;border-inline-start:1px solid var(--stroke-soft-200)}.api-inner-type:before{content:"";position:absolute;inset-block-start:28px;inset-inline-start:0;width:10px;border-top:1px solid var(--stroke-soft-200)}.api-inner-type+.api-inner-type{margin-top:14px}.api-inner-type-name{margin-bottom:10px;color:var(--text-strong-950);font-size:16px;font-weight:600}.api-inner-type-name code{font-family:var(--font-mono)}.api-returns{margin-top:22px;color:var(--text-sub-600)}.api-returns strong{margin-inline-end:8px;color:var(--text-strong-950)}.api-table{width:100%;border-collapse:collapse;font-size:14px}.api-table td,.api-table th{padding:12px 10px;border-bottom:1px solid var(--stroke-soft-200);text-align:start}.api-table th{color:var(--text-sub-600);font-size:12px;font-weight:500;text-transform:uppercase}.api-table code{color:var(--primary-darker);font-family:var(--font-mono)}.api-deprecated{text-decoration:line-through;text-decoration-thickness:1px}.api-deprecated-label{margin-inline-start:8px;color:var(--text-soft-400);font-size:12px}.snowflake-converter{margin:22px 0 32px;padding:20px 22px;border:1px solid var(--stroke-soft-200);border-radius:var(--radius-sm);background:var(--surface-surface-0)}.snowflake-converter h2{margin:0 0 18px;font-size:20px}.snowflake-converter label{display:block;margin-bottom:8px;color:var(--text-sub-600);font:12px var(--font-mono)}.snowflake-converter-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,auto);gap:14px;align-items:center}.api-snowflake-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:56px;align-items:start;margin-top:24px}.api-snowflake-copy h2,.api-snowflake-notes h2{margin-top:42px}.api-snowflake-tool{position:sticky;top:108px;padding:22px;border:1px solid var(--stroke-soft-200);border-radius:var(--radius-sm);background:var(--surface-surface-0)}.api-snowflake-tool h2{margin:0 0 8px;font-size:20px}.api-snowflake-tool p{color:var(--text-sub-600);font-size:14px}.api-snowflake-tool label{display:block;margin-top:22px;margin-bottom:7px;color:var(--text-sub-600);font:12px var(--font-mono)}.api-snowflake-input{width:100%;padding:10px 11px;border:1px solid var(--stroke-soft-200);border-radius:var(--radius-sm);background:var(--surface-container-50);color:var(--text-strong-950);font:13px var(--font-mono)}.api-snowflake-input:focus-visible{outline:2px solid var(--primary-dark);outline-offset:2px}.api-snowflake-output{display:block;margin-top:12px;color:var(--primary-darker);font:600 13px var(--font-mono);overflow-wrap:anywhere}.snowflake-converter-row .api-snowflake-output{margin-top:0}.snowflake-binary{margin-top:28px;padding-top:22px;border-top:1px solid var(--stroke-soft-200);overflow:hidden}.snowflake-binary-value{display:flex;gap:8px;min-width:650px;color:var(--text-strong-950);font:600 13px/1.5 var(--font-mono);letter-spacing:.04em;white-space:nowrap}.snowflake-binary-part{flex:1;text-align:center}.snowflake-binary-segment{display:block;overflow:hidden}.snowflake-binary-timestamp{color:#8ea7ff}.snowflake-binary-worker{color:#f4bb71}.snowflake-binary-process{color:#ff7878}.snowflake-binary-increment{color:#49c8d1}.snowflake-binary-label{display:block;margin-top:8px;color:var(--text-sub-600);font:12px/1.4 var(--font-sans);letter-spacing:0}.snowflake-binary-label strong{display:block;color:var(--text-strong-950);font:600 12px var(--font-mono)}.snowflake-binary-note{margin:18px 0 0;color:var(--text-sub-600);font-size:13px}@media(max-width:820px){.api-layout,.docs-grid{grid-template-columns:1fr;gap:36px}.api-nav,.docs-side{position:static;max-height:none}.docs-side{border-left:0;border-top:1px solid var(--stroke-soft-200);padding:24px 0 0}.api-nav{display:flex;flex-wrap:wrap;gap:0 18px}.api-nav-title{width:100%}.docs-nav{display:none}}@media(max-width:560px){.docs-main{padding-inline:16px;padding-top:36px}.docs-hero{padding-bottom:48px}.docs-title{letter-spacing:-1px}.api-content h1{font-size:38px}.api-item{align-items:flex-start;flex-direction:column;gap:5px}.docs-overview .api-item{display:flex}}
