@layer material.reset, material.tokens, material.base, material.layout, material.components, material.text, material.visibility; @layer material.reset, material.tokens, material.base, material.layout, material.components, material.text, material.visibility; @layer material.reset, material.tokens, material.base, material.layout, material.components, material.text, material.visibility; @layer material.reset, material.tokens, material.base, material.layout, material.components, material.text, material.visibility; @layer material.reset, material.tokens, material.base, material.layout, material.components, material.text, material.visibility; @layer material.reset, material.tokens, material.base, material.layout, material.components, material.text, material.visibility; @layer material.reset, material.tokens, material.base, material.layout, material.components, material.text, material.visibility; @layer material.components { [data-md-icon] { flex-shrink: 0; inline-size: var(--md-icon-size, 24px); block-size: var(--md-icon-size, 24px); } [data-md-icon][data-md-mirror-rtl]:is([dir='rtl'], [dir='rtl'] *) { transform: scaleX(-1); } } @layer material.components { [data-md-loading] { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; inline-size: var(--md-loading-size, 48px); block-size: var(--md-loading-size, 48px); color: var(--md-sys-color-primary); & > svg { inline-size: 100%; block-size: 100%; } & > [data-md-loading-still] { display: none; } @media (prefers-reduced-motion: reduce) { & > [data-md-loading-animated] { display: none; } & > [data-md-loading-still] { display: block; } } } [data-md-loading][data-md-contained] { border-radius: var(--md-sys-shape-corner-full); background-color: var(--md-sys-color-primary-container); color: var(--md-sys-color-on-primary-container); } } @layer material.components { [data-md-tooltip-anchor] { display: inline-flex; } [data-md-tooltip] { inset: auto; margin: 0; max-inline-size: 200px; overflow: visible; border-width: 0; border-radius: var(--md-sys-shape-corner-xs); padding-block: var(--md-sys-measurement-space50); padding-inline: var(--md-sys-measurement-space100); background-color: var(--md-sys-color-inverse-surface); color: var(--md-sys-color-inverse-on-surface); font: var(--md-sys-typescale-body-sm); letter-spacing: var(--md-sys-typescale-body-sm-tracking); font-variation-settings: normal; text-align: center; white-space: normal; pointer-events: none; opacity: 0; transition-property: opacity; transition-duration: var(--md-sys-motion-effects-fast-duration); transition-timing-function: var(--md-sys-motion-effects-fast); &:popover-open:not([data-md-popover-closing]) { opacity: 1; @starting-style { opacity: 0; } } } [data-md-tooltip]:is([data-md-side='top'], [data-md-side='bottom']) { margin-block: var(--md-sys-measurement-space50); position-try-fallbacks: flip-block; } [data-md-tooltip]:is([data-md-side='left'], [data-md-side='right']) { margin-inline: var(--md-sys-measurement-space50); position-try-fallbacks: flip-inline; } [data-md-tooltip][data-md-side='top'] { position-area: top; } [data-md-tooltip][data-md-side='bottom'] { position-area: bottom; } [data-md-tooltip][data-md-side='left'] { position-area: left; } [data-md-tooltip][data-md-side='right'] { position-area: right; } } @layer material.components { @property --md-color { syntax: '*'; inherits: false; } @property --md-on-color { syntax: '*'; inherits: false; } @property --md-container { syntax: '*'; inherits: false; } @property --md-on-container { syntax: '*'; inherits: false; } [data-md-color='primary'] { --md-color: var(--md-sys-color-primary); --md-on-color: var(--md-sys-color-on-primary); --md-container: var(--md-sys-color-primary-container); --md-on-container: var(--md-sys-color-on-primary-container); } [data-md-color='secondary'] { --md-color: var(--md-sys-color-secondary); --md-on-color: var(--md-sys-color-on-secondary); --md-container: var(--md-sys-color-secondary-container); --md-on-container: var(--md-sys-color-on-secondary-container); } [data-md-color='tertiary'] { --md-color: var(--md-sys-color-tertiary); --md-on-color: var(--md-sys-color-on-tertiary); --md-container: var(--md-sys-color-tertiary-container); --md-on-container: var(--md-sys-color-on-tertiary-container); } [data-md-color='error'] { --md-color: var(--md-sys-color-error); --md-on-color: var(--md-sys-color-on-error); --md-container: var(--md-sys-color-error-container); --md-on-container: var(--md-sys-color-on-error-container); } [data-md-color='success'] { --md-color: var(--md-sys-color-success); --md-on-color: var(--md-sys-color-on-success); --md-container: var(--md-sys-color-success-container); --md-on-container: var(--md-sys-color-on-success-container); } [data-md-color='warning'] { --md-color: var(--md-sys-color-warning); --md-on-color: var(--md-sys-color-on-warning); --md-container: var(--md-sys-color-warning-container); --md-on-container: var(--md-sys-color-on-warning-container); } [data-md-color='info'] { --md-color: var(--md-sys-color-info); --md-on-color: var(--md-sys-color-on-info); --md-container: var(--md-sys-color-info-container); --md-on-container: var(--md-sys-color-on-info-container); } } @layer material.components { [data-md-button] { --md-button-color: var(--md-color, var(--md-sys-color-primary)); --md-button-on-color: var(--md-on-color, var(--md-sys-color-on-primary)); --md-button-tone: var(--md-container, var(--md-sys-color-secondary-container)); --md-button-on-tone: var(--md-on-container, var(--md-sys-color-on-secondary-container)); --md-button-tone-selected: var(--md-sys-color-secondary); --md-button-on-tone-selected: var(--md-sys-color-on-secondary); --md-button-quiet: var(--md-sys-color-on-surface-variant); --md-button-container: transparent; --md-button-label: var(--md-button-color); --md-button-outline: transparent; --md-button-elevation: none; display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; block-size: var(--md-button-height); background-color: var(--md-button-container); color: var(--md-button-label); box-shadow: var(--md-button-elevation); white-space: nowrap; cursor: pointer; -webkit-user-select: none; user-select: none; transition-property: border-radius, padding, margin, bottom, background-color, color, box-shadow; transition-duration: var(--md-sys-motion-spatial-fast-duration), var(--md-sys-motion-spatial-fast-duration), var(--md-sys-motion-spatial-fast-duration), var(--md-sys-motion-spatial-fast-duration), var(--md-sys-motion-effects-fast-duration), var(--md-sys-motion-effects-fast-duration), var(--md-sys-motion-effects-fast-duration); transition-timing-function: var(--md-sys-motion-spatial-fast), var(--md-sys-motion-spatial-fast), var(--md-sys-motion-spatial-fast), var(--md-sys-motion-spatial-fast), var(--md-sys-motion-effects-fast), var(--md-sys-motion-effects-fast), var(--md-sys-motion-effects-fast); } [data-md-button][data-md-size='xs'] { --md-button-height: 32px; --md-button-padding: var(--md-sys-measurement-space200); --md-button-gap: var(--md-sys-measurement-space100); --md-button-icon: 20px; --md-button-outline-width: 1px; --md-button-square: var(--md-sys-shape-corner-md); --md-button-pressed: var(--md-sys-shape-corner-sm); --md-button-narrow: 28px; --md-button-default: 32px; --md-button-wide: 40px; } [data-md-button][data-md-size='sm'] { --md-button-height: 40px; --md-button-padding: var(--md-sys-measurement-space200); --md-button-gap: var(--md-sys-measurement-space100); --md-button-icon: 20px; --md-button-outline-width: 1px; --md-button-square: var(--md-sys-shape-corner-md); --md-button-pressed: var(--md-sys-shape-corner-sm); --md-button-narrow: 32px; --md-button-default: 40px; --md-button-wide: 52px; } [data-md-button][data-md-size='sm'][data-md-icon-button] { --md-button-icon: 24px; } [data-md-button][data-md-size='md'] { --md-button-height: 56px; --md-button-padding: var(--md-sys-measurement-space300); --md-button-gap: var(--md-sys-measurement-space100); --md-button-icon: 24px; --md-button-outline-width: 1px; --md-button-square: var(--md-sys-shape-corner-lg); --md-button-pressed: var(--md-sys-shape-corner-md); --md-button-narrow: 48px; --md-button-default: 56px; --md-button-wide: 72px; } [data-md-button][data-md-size='lg'] { --md-button-height: 96px; --md-button-padding: var(--md-sys-measurement-space600); --md-button-gap: 12px; --md-button-icon: 32px; --md-button-outline-width: 2px; --md-button-square: var(--md-sys-shape-corner-xl); --md-button-pressed: var(--md-sys-shape-corner-lg); --md-button-narrow: 64px; --md-button-default: 96px; --md-button-wide: 128px; } [data-md-button][data-md-size='xl'] { --md-button-height: 136px; --md-button-padding: var(--md-sys-measurement-space800); --md-button-gap: var(--md-sys-measurement-space200); --md-button-icon: 40px; --md-button-outline-width: 3px; --md-button-square: var(--md-sys-shape-corner-xl); --md-button-pressed: var(--md-sys-shape-corner-lg); --md-button-narrow: 104px; --md-button-default: 136px; --md-button-wide: 184px; } [data-md-button]:not([data-md-icon-button]) { gap: var(--md-button-gap); padding-inline: var(--md-button-padding); } [data-md-button]:not([data-md-icon-button]):is([data-md-size='xs'], [data-md-size='sm']) { font: var(--md-sys-typescale-label-lg); letter-spacing: var(--md-sys-typescale-label-lg-tracking); font-variation-settings: normal; } [data-md-button]:not([data-md-icon-button])[data-md-size='md'] { font: var(--md-sys-typescale-title-md); letter-spacing: var(--md-sys-typescale-title-md-tracking); font-variation-settings: normal; } [data-md-button]:not([data-md-icon-button])[data-md-size='lg'] { font: var(--md-sys-typescale-headline-sm); letter-spacing: var(--md-sys-typescale-headline-sm-tracking); font-variation-settings: normal; } [data-md-button]:not([data-md-icon-button])[data-md-size='xl'] { font: var(--md-sys-typescale-headline-lg); letter-spacing: var(--md-sys-typescale-headline-lg-tracking); font-variation-settings: normal; } [data-md-button][data-md-icon-button] { --md-button-width: var(--md-button-default); inline-size: var(--md-button-width); &[data-md-width='narrow'] { --md-button-width: var(--md-button-narrow); } &[data-md-width='wide'] { --md-button-width: var(--md-button-wide); } } :where([data-md-button]) { border-radius: var(--md-sys-shape-corner-full); } :where([data-md-button]):where([data-md-shape='square'], [data-md-selected='true']) { border-radius: var(--md-button-square); } :where([data-md-button]):where([data-md-icon-button][data-md-shape='square'][data-md-selected='true']) { border-radius: var(--md-sys-shape-corner-full); } :where([data-md-button]):where(:active) { border-radius: var(--md-button-pressed); } [data-md-button][data-md-color='primary'] { --md-button-tone: var(--md-sys-color-secondary-container); --md-button-on-tone: var(--md-sys-color-on-secondary-container); } [data-md-button]:not([data-md-color='primary']) { --md-button-tone-selected: var(--md-button-color); --md-button-on-tone-selected: var(--md-button-on-color); --md-button-quiet: var(--md-button-color); } [data-md-button][data-md-variant='filled'] { --md-button-container: var(--md-button-color); --md-button-label: var(--md-button-on-color); &[data-md-selected='false'] { --md-button-container: var(--md-sys-color-surface-container); --md-button-label: var(--md-sys-color-on-surface-variant); } } [data-md-button][data-md-variant='tonal'] { --md-button-container: var(--md-button-tone); --md-button-label: var(--md-button-on-tone); &[data-md-selected='true'] { --md-button-container: var(--md-button-tone-selected); --md-button-label: var(--md-button-on-tone-selected); } } [data-md-button][data-md-variant='outlined'] { --md-button-label: var(--md-button-quiet); --md-button-outline: var(--md-sys-color-outline-variant); border: var(--md-button-outline-width) solid var(--md-button-outline); &[data-md-selected='true'] { --md-button-container: var(--md-sys-color-inverse-surface); --md-button-label: var(--md-sys-color-inverse-on-surface); --md-button-outline: transparent; } } [data-md-button][data-md-variant='elevated'] { --md-button-container: var(--md-sys-color-surface-container-low); --md-button-elevation: var(--md-sys-elevation-1); &[data-md-selected='true'] { --md-button-container: var(--md-button-color); --md-button-label: var(--md-button-on-color); } } [data-md-button][data-md-variant='text'][data-md-icon-button]:not([data-md-selected='true']) { --md-button-label: var(--md-button-quiet); } [data-md-button][data-md-variant='text']:not([data-md-icon-button])[data-md-selected='true'] { --md-button-container: var(--md-button-tone); --md-button-label: var(--md-button-on-tone); } @media (hover: hover) { [data-md-button]:is([data-md-variant='filled'], [data-md-variant='tonal']):hover { --md-button-elevation: var(--md-sys-elevation-1); } [data-md-button][data-md-variant='elevated']:hover { --md-button-elevation: var(--md-sys-elevation-2); } } [data-md-button]:is(:disabled, [aria-disabled='true']) { box-shadow: none; color: color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity) * 100%), transparent); } [data-md-button]:is([data-md-variant='filled'], [data-md-variant='tonal'], [data-md-variant='elevated'], [data-md-variant='outlined'][data-md-selected='true']):is(:disabled, [aria-disabled='true']) { background-color: color-mix(in srgb, var(--md-sys-color-on-surface) 10%, transparent); } [data-md-button]:disabled { cursor: not-allowed; } [data-md-button][aria-disabled='true'] { pointer-events: none; } [data-md-button-icon] { display: contents; } [data-md-button-spinner] { align-items: center; justify-content: center; } [data-md-button-spinner] > [data-md-loading] { inline-size: var(--md-button-icon); block-size: var(--md-button-icon); color: currentColor; } @media (width < 840px) { [data-md-button] > [data-md-responsive] { display: none; } } @media (width < 600px) { [data-md-button][data-md-compact-fab] { --md-button-height: 56px; --md-button-padding: var(--md-sys-measurement-space200); --md-button-gap: var(--md-sys-measurement-space100); position: fixed; inset-inline-end: var(--md-sys-measurement-space200); bottom: calc(var(--material-bottom-bar, 0px) + var(--material-snackbar-height, 0px) + var(--md-sys-measurement-space200)); z-index: 30; border-radius: var(--md-sys-shape-corner-lg); background-color: var(--md-sys-color-primary-container); color: var(--md-sys-color-on-primary-container); box-shadow: var(--md-sys-elevation-3); font: var(--md-sys-typescale-title-md); letter-spacing: var(--md-sys-typescale-title-md-tracking); font-variation-settings: normal; } [data-md-button][data-md-compact-fab] [data-md-icon] { inline-size: 24px; block-size: 24px; } [data-md-button][data-md-compact-fab][data-md-unavailable] { display: none; } } } @layer material.components { [data-md-shape][style*='--md-shape-size'] { inline-size: var(--md-shape-size); block-size: var(--md-shape-size); } } @layer material.components { body:has(> [data-md-error-page]) { margin: 0; min-height: 100dvh; background-color: var(--md-sys-color-surface); color: var(--md-sys-color-on-surface); } [data-md-error-page] { display: flex; min-height: 100dvh; max-width: 576px; margin-inline: auto; flex-direction: column; align-items: center; justify-content: center; padding-inline: var(--md-sys-measurement-space300); padding-block: var(--md-sys-measurement-space600); text-align: center; } [data-md-error-art] { position: relative; display: grid; flex-shrink: 0; place-items: center; width: 192px; height: 192px; } @media (width >= 600px) { [data-md-error-art] { width: 240px; height: 240px; } } [data-md-error-shape] { position: absolute; inset: 0; } [data-md-error-shape] svg { width: 100%; height: 100%; color: var(--md-sys-color-primary-container); } @media (prefers-reduced-motion: no-preference) { [data-md-error-shape] { animation: material-error-turn 60s linear infinite; } } @keyframes material-error-turn { to { transform: rotate(1turn); } } [data-md-error-code] { position: relative; margin: 0; color: var(--md-sys-color-on-primary-container); font: var(--md-sys-typescale-emphasized-display-lg); letter-spacing: var(--md-sys-typescale-emphasized-display-lg-tracking); font-variation-settings: 'ROND' 100; font-variant-numeric: tabular-nums; } [data-md-error-headline] { margin: var(--md-sys-measurement-space500) 0 0; font: var(--md-sys-typescale-headline-md); letter-spacing: var(--md-sys-typescale-headline-md-tracking); text-wrap: balance; } @media (width >= 600px) { [data-md-error-headline] { font: var(--md-sys-typescale-headline-lg); letter-spacing: var(--md-sys-typescale-headline-lg-tracking); } } [data-md-error-message] { margin: 12px 0 0; max-width: 448px; color: var(--md-sys-color-on-surface-variant); font: var(--md-sys-typescale-body-lg); letter-spacing: var(--md-sys-typescale-body-lg-tracking); text-wrap: balance; } [data-md-error-actions] { display: flex; margin-top: var(--md-sys-measurement-space500); flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; } }