:root{--md-sys-color-background:#f3f8fc;--md-sys-color-on-background:#171c20;--md-sys-color-surface:#f3f8fc;--md-sys-color-on-surface:#171c20;--md-sys-color-on-surface-variant:#41484f;--md-sys-color-surface-container-lowest:#fff;--md-sys-color-surface-container-low:#ebf2f8;--md-sys-color-surface-container:#e5edf4;--md-sys-color-surface-container-high:#d8e6f2;--md-sys-color-surface-container-highest:#d0dfeb;--md-sys-color-primary:#0b5f8e;--md-sys-color-on-primary:#fff;--md-sys-color-primary-container:#cde5ff;--md-sys-color-on-primary-container:#001d32;--md-sys-color-secondary-container:#d5e4f2;--md-sys-color-on-secondary-container:#0e1d29;--md-sys-color-outline:#6f7881;--md-sys-color-outline-variant:#c0c7ce;--md-sys-color-error:#ba1a1a;--md-sys-color-on-error:#fff;--md-sys-color-error-container:#ffdad6;--md-sys-color-on-error-container:#410002;--md-sys-color-success:#1b6b45;--md-sys-color-success-container:#ddf1e5;--md-sys-color-warning:#7a4f00;--md-sys-color-warning-container:#ffefd5;--md-sys-color-info:#1d5e9b;--md-sys-color-info-container:#dcebfa;--md-sys-color-scrim:#000;--md-state-hover:.08;--md-state-focus:.1;--md-state-pressed:.1;--md-state-dragged:.16;--md-sys-scrim-opacity:.32;--color-bg:var(--md-sys-color-background);--color-surface:var(--md-sys-color-surface-container-lowest);--color-surface-alt:var(--md-sys-color-surface-container-low);--color-text:var(--md-sys-color-on-surface);--color-text-muted:var(--md-sys-color-on-surface-variant);--color-border:var(--md-sys-color-outline-variant);--color-border-strong:var(--md-sys-color-outline);--color-accent:var(--md-sys-color-primary);--color-on-accent:var(--md-sys-color-on-primary);--color-focus:var(--md-sys-color-primary);--color-selected-bg:var(--md-sys-color-secondary-container);--color-success:var(--md-sys-color-success);--color-success-bg:var(--md-sys-color-success-container);--color-warning:var(--md-sys-color-warning);--color-warning-bg:var(--md-sys-color-warning-container);--color-error:var(--md-sys-color-error);--color-error-bg:var(--md-sys-color-error-container);--color-info:var(--md-sys-color-info);--color-info-bg:var(--md-sys-color-info-container);--color-prov-source:#1f5f5b;--color-prov-source-bg:#ddefec;--color-prov-ai:#5a3e9b;--color-prov-ai-bg:#ede8f8;--color-prov-user:#0b5f8e;--color-prov-user-bg:#d5e4f2;--color-prov-hyp:#8c3a6a;--color-prov-hyp-bg:#f8e9f1;--font-sans:system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-mono:ui-monospace, "Cascadia Mono", Consolas, monospace;--text-caption:var(--md-sys-typescale-label-small);--text-sm:var(--md-sys-typescale-body-medium);--text-body:var(--md-sys-typescale-body-large);--text-lead:1.125rem;--text-h3:var(--md-sys-typescale-title-large);--text-h2:var(--md-sys-typescale-headline-medium);--text-h1:var(--md-sys-typescale-headline-large);--md-sys-typescale-display-large:3.5625rem;--md-sys-typescale-display-medium:2.8125rem;--md-sys-typescale-display-small:2.25rem;--md-sys-typescale-headline-large:1.75rem;--md-sys-typescale-headline-medium:1.5rem;--md-sys-typescale-headline-small:1.25rem;--md-sys-typescale-title-large:1.25rem;--md-sys-typescale-title-medium:1rem;--md-sys-typescale-title-small:.875rem;--md-sys-typescale-body-large:1rem;--md-sys-typescale-body-medium:.875rem;--md-sys-typescale-body-small:.75rem;--md-sys-typescale-label-large:.875rem;--md-sys-typescale-label-medium:.75rem;--md-sys-typescale-label-small:.75rem;--md-sys-typescale-display-large-size:var(--md-sys-typescale-display-large);--md-sys-typescale-display-large-line-height:1.3;--md-sys-typescale-display-large-weight:400;--md-sys-typescale-display-large-tracking:0;--md-sys-typescale-display-medium-size:var(--md-sys-typescale-display-medium);--md-sys-typescale-display-medium-line-height:1.3;--md-sys-typescale-display-medium-weight:400;--md-sys-typescale-display-medium-tracking:0;--md-sys-typescale-display-small-size:var(--md-sys-typescale-display-small);--md-sys-typescale-display-small-line-height:1.3;--md-sys-typescale-display-small-weight:400;--md-sys-typescale-display-small-tracking:0;--md-sys-typescale-headline-large-size:var(--md-sys-typescale-headline-large);--md-sys-typescale-headline-large-line-height:1.3;--md-sys-typescale-headline-large-weight:600;--md-sys-typescale-headline-large-tracking:0;--md-sys-typescale-headline-medium-size:var(--md-sys-typescale-headline-medium);--md-sys-typescale-headline-medium-line-height:1.3;--md-sys-typescale-headline-medium-weight:600;--md-sys-typescale-headline-medium-tracking:0;--md-sys-typescale-headline-small-size:var(--md-sys-typescale-headline-small);--md-sys-typescale-headline-small-line-height:1.3;--md-sys-typescale-headline-small-weight:600;--md-sys-typescale-headline-small-tracking:0;--md-sys-typescale-title-large-size:var(--md-sys-typescale-title-large);--md-sys-typescale-title-large-line-height:1.3;--md-sys-typescale-title-large-weight:600;--md-sys-typescale-title-large-tracking:0;--md-sys-typescale-title-medium-size:var(--md-sys-typescale-title-medium);--md-sys-typescale-title-medium-line-height:1.5;--md-sys-typescale-title-medium-weight:500;--md-sys-typescale-title-medium-tracking:.01em;--md-sys-typescale-title-small-size:var(--md-sys-typescale-title-small);--md-sys-typescale-title-small-line-height:1.5;--md-sys-typescale-title-small-weight:500;--md-sys-typescale-title-small-tracking:.007em;--md-sys-typescale-body-large-size:var(--md-sys-typescale-body-large);--md-sys-typescale-body-large-line-height:1.6;--md-sys-typescale-body-large-weight:400;--md-sys-typescale-body-large-tracking:.03em;--md-sys-typescale-body-medium-size:var(--md-sys-typescale-body-medium);--md-sys-typescale-body-medium-line-height:1.5;--md-sys-typescale-body-medium-weight:400;--md-sys-typescale-body-medium-tracking:.018em;--md-sys-typescale-body-small-size:var(--md-sys-typescale-body-small);--md-sys-typescale-body-small-line-height:1.5;--md-sys-typescale-body-small-weight:400;--md-sys-typescale-body-small-tracking:.033em;--md-sys-typescale-label-large-size:var(--md-sys-typescale-label-large);--md-sys-typescale-label-large-line-height:1.5;--md-sys-typescale-label-large-weight:500;--md-sys-typescale-label-large-tracking:.007em;--md-sys-typescale-label-medium-size:var(--md-sys-typescale-label-medium);--md-sys-typescale-label-medium-line-height:1.4;--md-sys-typescale-label-medium-weight:500;--md-sys-typescale-label-medium-tracking:.04em;--md-sys-typescale-label-small-size:var(--md-sys-typescale-label-small);--md-sys-typescale-label-small-line-height:1.5;--md-sys-typescale-label-small-weight:500;--md-sys-typescale-label-small-tracking:.04em;--leading-body:1.6;--leading-heading:1.3;--weight-regular:400;--weight-medium:500;--weight-bold:600;--measure:72ch;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--radius-control:8px;--radius-container:12px;--md-sys-shape-corner-extra-small:4px;--md-sys-shape-corner-small:8px;--md-sys-shape-corner-medium:12px;--md-sys-shape-corner-large:16px;--md-sys-shape-corner-extra-large:28px;--md-sys-shape-corner-full:9999px;--md-sys-elevation-level0:none;--md-sys-elevation-level1:0 1px 2px #0000004d, 0 1px 3px 1px #00000026;--md-sys-elevation-level2:0 1px 2px #0000004d, 0 2px 6px 2px #00000026;--md-sys-elevation-level3:0 1px 3px #0000004d, 0 4px 8px 3px #00000026;--md-sys-elevation-level4:0 2px 3px #0000004d, 0 6px 10px 4px #00000026;--md-sys-elevation-level5:0 4px 4px #0000004d, 0 8px 12px 6px #00000026;--shadow-overlay:var(--md-sys-elevation-level3);--duration-fast:.12s;--duration-base:.2s;--ease-out:cubic-bezier(.2, 0, 0, 1);--nav-width:216px;--nav-rail-width:56px;--outline-width:clamp(240px, 19vw, 280px);--source-width:clamp(320px, 25vw, 380px);--header-height:3.5rem;--target-min:2.75rem;--target-compact:2rem;--focus-ring-width:3px}
.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--target-min);padding:var(--space-1) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--md-sys-shape-corner-full);background:var(--color-surface);color:var(--color-accent);font-size:var(--md-sys-typescale-label-large);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration-fast) var(--ease-out);line-height:1.4;text-decoration:none;display:inline-flex}.btn:hover{background:color-mix(in srgb, var(--color-accent) calc(var(--md-state-hover) * 100%), var(--color-surface))}.btn:active{background:color-mix(in srgb, var(--color-accent) calc(var(--md-state-pressed) * 100%), var(--color-surface))}.btn:disabled,.btn[aria-disabled=true]{color:var(--color-text-muted);cursor:not-allowed;background:var(--color-surface-alt)}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.btn-primary:hover{background:color-mix(in srgb, var(--color-on-accent) calc(var(--md-state-hover) * 100%), var(--color-accent));border-color:var(--color-accent)}.btn-primary:active{background:color-mix(in srgb, var(--color-on-accent) calc(var(--md-state-pressed) * 100%), var(--color-accent))}.btn-quiet{color:var(--color-accent);background:0 0;border-color:#0000}.btn-quiet:hover{background:color-mix(in srgb, var(--color-accent) calc(var(--md-state-hover) * 100%), transparent)}.btn-quiet:active{background:color-mix(in srgb, var(--color-accent) calc(var(--md-state-pressed) * 100%), transparent)}.btn-tonal{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-color:#0000}.btn-tonal:hover{background:color-mix(in srgb, var(--md-sys-color-on-secondary-container) calc(var(--md-state-hover) * 100%), var(--md-sys-color-secondary-container))}.btn-tonal:active{background:color-mix(in srgb, var(--md-sys-color-on-secondary-container) calc(var(--md-state-pressed) * 100%), var(--md-sys-color-secondary-container))}.btn-tonal:disabled,.btn-tonal[aria-disabled=true]{color:var(--color-text-muted);background:var(--color-surface-alt)}.btn-danger{border-color:var(--color-error);background:var(--color-surface);color:var(--color-error)}.btn-danger:hover{background:color-mix(in srgb, var(--color-error) calc(var(--md-state-hover) * 100%), var(--color-surface))}.btn-danger:active{background:color-mix(in srgb, var(--color-error) calc(var(--md-state-pressed) * 100%), var(--color-surface))}.btn-sm{min-height:var(--target-compact);padding:0 var(--space-3);font-size:var(--text-caption)}@media (pointer:coarse){.btn-sm{min-height:var(--target-min)}}.btn-icon{padding:var(--space-1);min-width:var(--target-min)}.field{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.field>label,.field-label{font-size:var(--text-sm);font-weight:var(--weight-medium)}.field-hint{font-size:var(--text-caption);color:var(--color-text-muted)}.field-error{font-size:var(--text-sm);color:var(--color-error);gap:var(--space-1);align-items:flex-start;display:flex}.input,.select,.textarea{width:100%;min-height:var(--target-min);padding:var(--space-1) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--md-sys-shape-corner-extra-small);background:var(--color-surface);color:var(--color-text);font-size:var(--md-sys-typescale-body-large)}.input:hover,.select:hover,.textarea:hover{border-color:var(--color-text)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:0;border-color:var(--color-focus)}.textarea{min-height:7rem;padding:var(--space-2) var(--space-3);resize:vertical;line-height:var(--leading-body)}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--color-error);border-width:2px}.chip{align-items:center;gap:var(--space-1);min-height:1.75rem;padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--md-sys-shape-corner-small);background:var(--color-surface);font-size:var(--text-caption);color:var(--color-text);line-height:1.3;display:inline-flex}button.chip{cursor:pointer}button.chip,a.chip{min-height:var(--target-compact)}@media (pointer:coarse){button.chip,a.chip{min-height:var(--target-min)}}button.chip:hover{background:color-mix(in srgb, var(--color-text) calc(var(--md-state-hover) * 100%), var(--color-surface))}button.chip:active{background:color-mix(in srgb, var(--color-text) calc(var(--md-state-pressed) * 100%), var(--color-surface))}:where(input[type=checkbox],input[type=radio]):not(.sr-only){accent-color:var(--color-accent);cursor:pointer;flex:none;width:1.25rem;height:1.25rem;margin:0}:where(input[type=checkbox],input[type=radio]):disabled{cursor:not-allowed}:where(label:has(>input[type=checkbox]:not(.sr-only),>input[type=radio]:not(.sr-only))){align-items:center;gap:var(--space-2);min-height:var(--target-min);cursor:pointer;display:flex}:where(label:has(>input:disabled)){cursor:not-allowed}.tabs-m3{gap:var(--space-1);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.tab-m3{min-height:var(--target-min);padding:0 var(--space-4);color:var(--color-text);font-size:var(--md-sys-typescale-label-large);transition:background var(--duration-fast) var(--ease-out);background:0 0;border:0;border-bottom:3px solid #0000}.tab-m3:hover{background:color-mix(in srgb, var(--color-text) calc(var(--md-state-hover) * 100%), transparent)}.tab-m3:active{background:color-mix(in srgb, var(--color-text) calc(var(--md-state-pressed) * 100%), transparent)}.tab-m3[aria-selected=true]{border-bottom-color:var(--color-accent);font-weight:var(--weight-bold);background:var(--color-selected-bg)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--md-sys-shape-corner-medium);padding:var(--space-4)}.card-elevated{background:var(--md-sys-color-surface-container-low);box-shadow:var(--md-sys-elevation-level1);border-color:#0000}.card-filled{background:var(--md-sys-color-surface-container-highest);border-color:#0000}.muted{color:var(--color-text-muted)}.stack{gap:var(--space-3);flex-direction:column;display:flex}.fs-plain{gap:var(--space-3);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.measure{max-width:var(--measure)}.tnum{font-variant-numeric:tabular-nums}.page{padding:var(--space-6) var(--space-6) var(--space-12);width:100%;max-width:75rem;margin:0 auto}@media (max-width:767px){.page{padding:var(--space-4) var(--space-4) var(--space-12)}}.page>h1{margin-bottom:var(--space-2)}.lead{font-size:var(--text-lead);line-height:1.5}details.tech{font-size:var(--text-caption);color:var(--color-text-muted);margin-top:var(--space-2)}details.tech summary{cursor:pointer}details.tech dl{font-family:var(--font-mono);margin:var(--space-2) 0 0;gap:0 var(--space-3);word-break:break-all;grid-template-columns:max-content 1fr;display:grid}details.tech dd{margin:0}.page:has([data-ws-root]){max-width:none}.m-0{margin:0}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.ml-auto{margin-left:auto}.gap-1{gap:var(--space-1)}.list-plain{padding:0;list-style:none}.list-reset{margin:0;padding:0;list-style:none}.list-indent{padding-inline-start:1.25rem}.fieldset-bare{border:0;margin:0;padding:0}.grow{flex:1}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.nowrap{flex-wrap:nowrap}.minw-0{min-width:0}.minw-8{min-width:8rem}.minw-9{min-width:9rem}.minw-10{min-width:10rem}.flex-1-8{flex:8rem}.flex-1-9{flex:9rem}.flex-1-10{flex:10rem}.flex-2-10{flex:2 10rem}.flex-1-14{flex:14rem}.flex-2-14{flex:2 14rem}.text-right{text-align:right}.text-body{font-size:var(--text-body)}.pointer{cursor:pointer}.pre-wrap{white-space:pre-wrap;overflow-wrap:anywhere}.wrap-anywhere{overflow-wrap:anywhere}.bg-surface-alt{background:var(--color-surface-alt)}.note-block{margin-top:var(--space-2);display:block}.note-measure{max-width:var(--measure);display:block}.check-row{gap:var(--space-2);min-height:var(--target-min);align-items:flex-start;display:flex}.dl-pairs{justify-content:start;gap:0 var(--space-3);grid-template-columns:auto auto;margin:0;display:grid}.grid-auto-12,.grid-auto-15,.grid-auto-16,.grid-auto-18{gap:var(--space-3);display:grid}.grid-auto-12{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr))}.grid-auto-15{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.grid-auto-16{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.grid-auto-18{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}.indent-0{margin-inline-start:0}.indent-1{margin-inline-start:1.5rem}.indent-2{margin-inline-start:3rem}.indent-3{margin-inline-start:4.5rem}.indent-4{margin-inline-start:6rem}.pad-indent-0{padding-inline-start:0}.pad-indent-1{padding-inline-start:.75rem}.pad-indent-2{padding-inline-start:1.5rem}.pad-indent-3{padding-inline-start:2.25rem}.pad-indent-4{padding-inline-start:3rem}
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-body);color:var(--color-text);background:var(--color-bg);margin:0}h1,h2,h3{margin:0 0 var(--space-3)}h1{font-size:var(--md-sys-typescale-headline-large-size);line-height:var(--md-sys-typescale-headline-large-line-height);font-weight:var(--md-sys-typescale-headline-large-weight);letter-spacing:var(--md-sys-typescale-headline-large-tracking)}h2{font-size:var(--md-sys-typescale-headline-medium-size);line-height:var(--md-sys-typescale-headline-medium-line-height);font-weight:var(--md-sys-typescale-headline-medium-weight);letter-spacing:var(--md-sys-typescale-headline-medium-tracking)}h3{font-size:var(--md-sys-typescale-title-large-size);line-height:var(--md-sys-typescale-title-large-line-height);font-weight:var(--md-sys-typescale-title-large-weight);letter-spacing:var(--md-sys-typescale-title-large-tracking)}p{margin:0 0 var(--space-3)}a{color:var(--color-accent)}button{cursor:pointer}button,input,select,textarea{font:inherit;color:inherit}img,svg{max-width:100%}:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--space-2);z-index:100;padding:var(--space-2) var(--space-4);background:var(--color-surface);border-radius:var(--md-sys-shape-corner-full);box-shadow:var(--shadow-overlay);position:absolute;top:-100vh}.skip-link:focus{top:var(--space-2)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
