.page-module___UWCZG__dsLayout{gap:var(--layout-column-gap);width:100%;max-width:1440px;padding-top:var(--primitive-gap-1000);display:flex}.page-module___UWCZG__dsContent{gap:var(--gap-2000);flex-direction:column;flex:1;min-width:0;display:flex}.page-module___UWCZG__pageHeader{margin-top:calc(var(--primitive-gap-1000) - var(--gap-2000));justify-content:space-between;align-items:baseline;gap:var(--primitive-gap-500);width:100%;display:flex}.page-module___UWCZG__pageTitle{font-family:var(--font-display-2-family);font-size:var(--font-display-2-size);font-weight:var(--font-display-2-weight);line-height:var(--font-display-2-line-height);letter-spacing:var(--font-display-2-letter-spacing);color:var(--color-text-primary)}.page-module___UWCZG__subDisplay{font-family:var(--font-sub-display-family);font-size:var(--font-sub-display-size);font-weight:var(--font-sub-display-weight);line-height:var(--font-sub-display-line-height);letter-spacing:var(--font-sub-display-letter-spacing);color:var(--color-text-primary);margin-bottom:0}.page-module___UWCZG__introSection{gap:var(--primitive-gap-500);flex-direction:column;display:flex}.page-module___UWCZG__introBody{font-size:var(--font-paragraph-size);font-weight:var(--font-paragraph-weight);line-height:var(--font-paragraph-line-height);color:var(--color-text-primary)}.page-module___UWCZG__section{gap:var(--primitive-gap-1000);flex-direction:column;width:100%;display:flex}.page-module___UWCZG__variantRow{gap:var(--primitive-gap-1000);flex-wrap:wrap;align-items:flex-start;display:flex}.page-module___UWCZG__variantItem{flex-shrink:0;width:280px}.page-module___UWCZG__variantStack{gap:var(--primitive-gap-1000);flex-direction:column;align-items:flex-start;display:flex}@media (max-width:959px){.page-module___UWCZG__variantItem{width:100%}.page-module___UWCZG__pageHeader{flex-direction:column;align-items:flex-start}.page-module___UWCZG__dsLayout{min-width:0;padding-left:0}.page-module___UWCZG__dsContent{min-width:0;max-width:100%}}
.ds-code-block{border:var(--border-025) solid var(--color-bg-container-border);border-radius:var(--radius-300);background-color:var(--color-bg-container-primary);width:100%;max-height:var(--ds-code-block-max-height,none);flex-direction:column;display:flex;overflow:hidden}.ds-code-block__header{justify-content:space-between;align-items:center;gap:var(--gap-200);padding:var(--padding-150) var(--padding-200) var(--padding-150) var(--padding-400);border-bottom:var(--border-025) solid var(--color-bg-container-border);transition:border-bottom-color var(--motion-duration-slow) var(--motion-ease-standard);flex-shrink:0;display:flex}.ds-code-block--collapsed .ds-code-block__header{border-bottom-color:#0000}.ds-code-block__meta{align-items:center;gap:var(--gap-200);min-width:0;display:flex}.ds-code-block__toggle{padding:var(--padding-050);border-radius:var(--radius-pill);color:var(--color-icon-primary);cursor:pointer;transition:background-color var(--motion-duration-base) var(--motion-ease-standard);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:0;display:inline-flex}.ds-code-block__toggle .material-symbols-rounded{--icon-size:var(--icon-size-500);transition:transform var(--motion-duration-slow) var(--motion-ease-standard);line-height:1}.ds-code-block--collapsed .ds-code-block__toggle .material-symbols-rounded{transform:rotate(-90deg)}.ds-code-block__toggle:hover{background-color:var(--color-action-passive-bg-hover)}.ds-code-block__toggle:focus-visible{outline:2px solid var(--color-action-primary-bg);outline-offset:2px}.ds-code-block__filename{font-family:var(--font-family-code);font-size:var(--font-paragraph-sm-size);line-height:var(--font-paragraph-sm-line-height);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ds-code-block__language{font-family:var(--font-paragraph-sm-family);font-size:var(--font-paragraph-sm-size);font-weight:var(--font-paragraph-sm-emphasis-weight);line-height:var(--font-paragraph-sm-line-height);text-transform:uppercase;letter-spacing:var(--font-overline-letter-spacing);color:var(--color-text-tertiary);flex-shrink:0}.ds-code-block__copy{align-items:center;gap:var(--gap-100);padding:var(--padding-050) var(--padding-200);border-radius:var(--radius-pill);font-family:var(--font-paragraph-sm-emphasis-family);font-size:var(--font-paragraph-sm-emphasis-size);font-weight:var(--font-paragraph-sm-emphasis-weight);line-height:var(--font-paragraph-sm-emphasis-line-height);color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--motion-duration-base) var(--motion-ease-standard), color var(--motion-duration-base) var(--motion-ease-standard);background:0 0;border:none;flex-shrink:0;margin:0;display:inline-flex}.ds-code-block__copy .material-symbols-rounded{--icon-size:var(--icon-size-500);line-height:1}.ds-code-block__copy:hover{background-color:var(--color-action-passive-bg-hover)}.ds-code-block__copy:focus-visible{outline:2px solid var(--color-action-primary-bg);outline-offset:2px}.ds-code-block__panel{transition:grid-template-rows var(--motion-duration-slow) var(--motion-ease-standard);grid-template-rows:1fr;min-height:0;display:grid}.ds-code-block--collapsed .ds-code-block__panel{grid-template-rows:0fr}.ds-code-block__panel-inner{flex-direction:column;min-height:0;display:flex;overflow:hidden}.ds-code-block__pre{padding:var(--padding-400);flex:auto;min-height:0;margin:0;overflow:auto}.ds-code-block__code{font-family:var(--font-family-code);font-size:var(--font-paragraph-sm-size);line-height:var(--font-paragraph-sm-line-height);color:var(--color-text-primary);white-space:pre}.ds-code-block .material-symbols-rounded{color:inherit}
.ComponentInstallStrip-module__bxTwyq__strip{margin-top:var(--gap-500);width:100%}
.page-module__Zr1STq__dsLayout{gap:var(--layout-column-gap);width:100%;max-width:1440px;padding-top:var(--primitive-gap-1000);display:flex}.page-module__Zr1STq__dsContent{gap:var(--gap-2000);flex-direction:column;flex:1;min-width:0;display:flex}.page-module__Zr1STq__pageHeader{margin-top:calc(var(--primitive-gap-1000) - var(--gap-2000));justify-content:space-between;align-items:baseline;gap:var(--primitive-gap-500);width:100%;display:flex}.page-module__Zr1STq__pageTitle{font-family:var(--font-display-2-family);font-size:var(--font-display-2-size);font-weight:var(--font-display-2-weight);line-height:var(--font-display-2-line-height);letter-spacing:var(--font-display-2-letter-spacing);color:var(--color-text-primary)}.page-module__Zr1STq__subDisplay{font-family:var(--font-sub-display-family);font-size:var(--font-sub-display-size);font-weight:var(--font-sub-display-weight);line-height:var(--font-sub-display-line-height);letter-spacing:var(--font-sub-display-letter-spacing);color:var(--color-text-primary);margin-bottom:0}.page-module__Zr1STq__introSection{gap:var(--primitive-gap-500);flex-direction:column;display:flex}.page-module__Zr1STq__introBody{font-size:var(--font-paragraph-size);font-weight:var(--font-paragraph-weight);line-height:var(--font-paragraph-line-height);color:var(--color-text-primary)}.page-module__Zr1STq__variantBlock{gap:var(--primitive-gap-1000);flex-direction:column;display:flex}.page-module__Zr1STq__buttonGrid{gap:var(--primitive-gap-400) var(--primitive-gap-400);grid-template-columns:auto repeat(4,1fr);align-items:center;width:100%;display:grid}.page-module__Zr1STq__loadingGrid{grid-template-columns:auto repeat(5,1fr)}.page-module__Zr1STq__gridColHeader{text-align:center;font-size:var(--font-paragraph-sm-size);font-weight:var(--font-paragraph-sm-weight);line-height:var(--font-paragraph-sm-line-height);letter-spacing:var(--font-paragraph-sm-letter-spacing);color:var(--color-text-tertiary)}.page-module__Zr1STq__gridRowHeader{font-size:var(--font-paragraph-sm-size);font-weight:var(--font-paragraph-sm-weight);line-height:var(--font-paragraph-sm-line-height);letter-spacing:var(--font-paragraph-sm-letter-spacing);color:var(--color-text-tertiary);text-align:right;padding-right:var(--primitive-padding-200);white-space:nowrap}.page-module__Zr1STq__gridCell{justify-content:center;align-items:center;display:flex}@media (max-width:959px){.page-module__Zr1STq__pageHeader{flex-direction:column;align-items:flex-start}.page-module__Zr1STq__dsLayout{min-width:0;padding-left:0}.page-module__Zr1STq__dsContent{min-width:0;max-width:100%}}@media (max-width:600px){.page-module__Zr1STq__variantBlock{overflow-x:auto}.page-module__Zr1STq__buttonGrid{min-width:480px}.page-module__Zr1STq__loadingGrid{min-width:600px}}
.page-module__FmKUAq__dsLayout{gap:var(--layout-column-gap);width:100%;max-width:1440px;padding-top:var(--primitive-gap-1000);display:flex}.page-module__FmKUAq__dsContent{gap:var(--gap-2000);flex-direction:column;flex:1;display:flex}.page-module__FmKUAq__pageHeader{margin-top:calc(var(--primitive-gap-1000) - var(--gap-2000));justify-content:space-between;align-items:baseline;gap:var(--primitive-gap-500);width:100%;display:flex}.page-module__FmKUAq__pageTitle{font-family:var(--font-display-2-family);font-size:var(--font-display-2-size);font-weight:var(--font-display-2-weight);line-height:var(--font-display-2-line-height);letter-spacing:var(--font-display-2-letter-spacing);color:var(--color-text-primary);width:100%}.page-module__FmKUAq__introSection{gap:var(--primitive-gap-500);flex-direction:column;display:flex}.page-module__FmKUAq__subDisplay{font-family:var(--font-sub-display-family);font-size:var(--font-sub-display-size);font-weight:var(--font-sub-display-weight);line-height:var(--font-sub-display-line-height);letter-spacing:var(--font-sub-display-letter-spacing);color:var(--color-text-primary)}.page-module__FmKUAq__introBody{font-size:var(--font-paragraph-size);font-weight:var(--font-paragraph-weight);line-height:var(--font-paragraph-line-height);color:var(--color-text-primary)}.page-module__FmKUAq__inlineCode{font-family:monospace;font-size:var(--font-paragraph-sm-size);padding:var(--primitive-padding-050) var(--primitive-padding-150);background:var(--color-bg-container-primary);border:1px solid var(--color-bg-container-border);border-radius:var(--radius-100);color:var(--color-text-secondary)}.page-module__FmKUAq__railLayout{align-items:flex-start;gap:var(--layout-column-gap);width:100%;display:flex}.page-module__FmKUAq__skillsGrid{gap:var(--primitive-gap-500);flex-direction:column;flex:1;min-width:0;display:flex}.page-module__FmKUAq__skillCard{gap:var(--primitive-gap-400);padding:var(--primitive-gap-1000);border:1px solid var(--color-bg-container-border);border-radius:var(--primitive-radius-600);background:var(--color-bg-container-primary);scroll-margin-top:var(--layout-anchor-clearance);flex-direction:column;display:flex}.page-module__FmKUAq__skillCardHeader{justify-content:space-between;align-items:center;gap:var(--primitive-gap-400);display:flex}.page-module__FmKUAq__skillMeta{align-items:center;gap:var(--primitive-gap-200);display:flex}.page-module__FmKUAq__skillIcon{--icon-size:var(--icon-size-500);color:var(--color-icon-primary);flex-shrink:0}.page-module__FmKUAq__skillName{font-family:var(--font-heading-3-family);font-size:var(--font-heading-3-size);font-weight:var(--font-heading-3-weight);line-height:var(--font-heading-3-line-height);letter-spacing:var(--font-heading-3-letter-spacing);color:var(--color-text-primary)}.page-module__FmKUAq__skillDescription{font-size:var(--font-paragraph-size);font-weight:var(--font-paragraph-weight);line-height:var(--font-paragraph-line-height);color:var(--color-text-secondary)}.page-module__FmKUAq__skillInvoke{align-items:center;gap:var(--primitive-gap-200);flex-wrap:wrap;display:flex}.page-module__FmKUAq__skillInvokeLabel{font-size:var(--font-paragraph-sm-size);font-weight:var(--font-paragraph-sm-weight);line-height:var(--font-paragraph-sm-line-height);color:var(--color-text-tertiary);flex-shrink:0}@media (max-width:959px){.page-module__FmKUAq__pageHeader{flex-direction:column;align-items:flex-start}.page-module__FmKUAq__dsLayout{min-width:0;padding-left:0}.page-module__FmKUAq__dsContent{min-width:0;max-width:100%}.page-module__FmKUAq__skillCardHeader{flex-wrap:wrap}}.page-module__FmKUAq__introLink{color:var(--color-text-primary);text-underline-offset:3px;transition:color var(--motion-duration-base) var(--motion-ease-standard);text-decoration:underline}.page-module__FmKUAq__introLink:hover{color:var(--color-text-secondary)}
