@charset "UTF-8";
/*!
 * pixelCSS ✨
 * @link       (https://pixel-css.pixel.com.ro)
 *
 * @package    pixel
 * @subpackage px-csss
 * @link       https://pixel.com.ro
 * @copyright  (c) 2026 Pixel
 * @license    MIT
 */
:host, :root {
    --px-font-family-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --px-font-family-sans-serif: system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, Helvetica, Arial, "Helvetica Neue", sans-serif, var(--px-font-family-emoji);
    --px-font-family-monospace: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace, var(--px-font-family-emoji);
    --px-font-family: var(--px-font-family-sans-serif);
    --px-line-height: 1.5;
    --px-font-weight: 400;
    --px-font-size: 1rem;
    --px-text-underline-offset: 0.1rem;
    --px-h1: clamp(1.8rem, 5vw + 1rem, 3rem);
    --px-h2: clamp(1.5rem, 4vw + 1rem, 2.5rem);
    --px-h3: clamp(1.25rem, 3vw + 1rem, 2rem);
    --px-h4: clamp(1.1rem, 2vw + 1rem, 1.5rem);
    --px-border-radius: 0.25rem;
    --px-border-width: 0.0625rem;
    --px-outline-width: 0.125rem;
    --px-transition: 0.2s ease-in-out;
    --px-spacing: 1rem;
    --px-typography-spacing-vertical: 1rem;
    --px-block-spacing-vertical: var(--px-spacing);
    --px-block-spacing-horizontal: var(--px-spacing);
    --px-grid-column-gap: var(--px-spacing);
    --px-grid-row-gap: var(--px-spacing);
    --px-form-element-spacing-vertical: 0.75rem;
    --px-form-element-spacing-horizontal: 1rem;
    --px-group-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    --px-group-box-shadow-focus-with-button: 0 0 0 var(--px-outline-width) var(--px-primary-focus);
    --px-group-box-shadow-focus-with-input: 0 0 0 0.0625rem var(--px-form-element-border-color);
    --px-dropdown-min-width: 12rem;
    --px-dropdown-z: 1000;
    --px-dropdown-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
    --px-modal-backdrop: rgba(0, 0, 0, 0.55);
    --px-modal-surface: var(--px-card-background-color);
    --px-modal-border: var(--px-muted-border-color);
    --px-modal-shadow: 0 18px 60px rgba(0, 0, 0, 0.25);
    --px-nav-element-spacing-vertical: 1rem;
    --px-nav-element-spacing-horizontal: 0.5rem;
    --px-nav-link-spacing-vertical: 0.5rem;
    --px-nav-link-spacing-horizontal: 0.5rem;
    --px-nav-breadcrumb-divider: ">";
    --px-primary: #3C71F7;
    --px-primary-background: #3C71F7;
    --px-primary-border: var(--px-primary-background);
    --px-primary-underline: rgba(60, 113, 247, 0.5);
    --px-primary-hover: #1a4fdb;
    --px-primary-hover-background: #2a5fe7;
    --px-primary-hover-border: var(--px-primary-hover-background);
    --px-primary-hover-underline: var(--px-primary-hover);
    --px-primary-focus: rgba(60, 113, 247, 0.5);
    --px-primary-inverse: #fff;
    --px-secondary: #5d6b89;
    --px-secondary-background: #525f7a;
    --px-secondary-border: var(--px-secondary-background);
    --px-secondary-underline: rgba(93, 107, 137, 0.5);
    --px-secondary-hover: #48536b;
    --px-secondary-hover-background: #48536b;
    --px-secondary-hover-border: var(--px-secondary-hover-background);
    --px-secondary-hover-underline: var(--px-secondary-hover);
    --px-secondary-focus: rgba(93, 107, 137, 0.25);
    --px-secondary-inverse: #fff;
    --px-success: #28a745;
    --px-success-underline: rgba(40, 167, 69, 0.5);
    --px-success-hover: #218838;
    --px-success-hover-underline: var(--px-success-hover);
    --px-success-background: #28a745;
    --px-success-border: #28a745;
    --px-success-inverse: #ffffff;
    --px-success-hover-background: #218838;
    --px-success-hover-border: #1e7e34;
    --px-danger: #d13b3b;
    --px-danger-background: #b32626;
    --px-danger-border: var(--px-danger-background);
    --px-danger-underline: rgba(209, 59, 59, 0.5);
    --px-danger-hover: #b32626;
    --px-danger-hover-background: #d13b3b;
    --px-danger-hover-border: var(--px-danger-hover-background);
    --px-danger-hover-underline: var(--px-danger-hover);
    --px-danger-focus: rgba(209, 59, 59, 0.28);
    --px-danger-inverse: #ffffff;
    --px-danger-hover: #b32626;
    --px-danger-hover-underline: var(--px-danger-hover);
    --px-icon-checkbox: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
    --px-icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");
    --px-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    --px-icon-date: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
    --px-icon-time: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
    --px-icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
    --px-icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
    --px-icon-loading: url("data:image/svg+xml,%3Csvg fill='none' height='24' width='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E g %7B animation: rotate 2s linear infinite;transform-origin:center center;%7D circle %7B stroke-dasharray:75,100;stroke-dashoffset:-5;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round;%7D @keyframes rotate %7B 0%25 %7B transform:rotate(0deg);%7D 100%25 %7B transform:rotate(360deg);%7D %7D @keyframes dash %7B 0%25 %7B stroke-dasharray:1,100;stroke-dashoffset:0;%7D 50%25 %7B stroke-dasharray:44.5,100;stroke-dashoffset:-17.5;%7D 100%25 %7B stroke-dasharray:44.5,100;stroke-dashoffset:-62;%7D %7D %3C/style%3E%3Cg%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='rgb(136, 145, 164)' stroke-width='4' /%3E%3C/g%3E%3C/svg%3E")
}

a {
    --px-text-decoration: underline
}

a.contrast, a.secondary {
    --px-text-decoration: underline
}

small {
    font-size: .875em
}

tfoot td, tfoot th, thead td, thead th {
    --px-font-weight: 600;
    --px-border-width: 0.1875rem
}

code, kbd, pre, samp {
    --px-font-family: var(--px-font-family-monospace)
}

kbd {
    --px-font-weight: bolder
}

:where(select,textarea), input:not([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]) {
    --px-outline-width: 0.0625rem
}

[type=checkbox], [type=radio] {
    --px-border-width: 0.125rem
}

[type=checkbox][role=switch] {
    --px-border-width: 0.1875rem
}

details.dropdown summary:not([role=button]) {
    --px-outline-width: 0.0625rem
}

nav details.dropdown summary:focus-visible {
    --px-outline-width: 0.125rem
}

[role=group]:has(button.secondary:focus,[type=submit].secondary:focus,[type=button].secondary:focus,[role=button].secondary:focus), [role=search]:has(button.secondary:focus,[type=submit].secondary:focus,[type=button].secondary:focus,[role=button].secondary:focus) {
    --px-group-box-shadow-focus-with-button: 0 0 0 var(--px-outline-width) var(--px-secondary-focus)
}

[role=group]:has(button.contrast:focus,[type=submit].contrast:focus,[type=button].contrast:focus,[role=button].contrast:focus), [role=search]:has(button.contrast:focus,[type=submit].contrast:focus,[type=button].contrast:focus,[role=button].contrast:focus) {
    --px-group-box-shadow-focus-with-button: 0 0 0 var(--px-outline-width) var(--px-contrast-focus)
}

[role=group] [role=button], [role=group] [type=button], [role=group] [type=submit], [role=group] button, [role=search] [role=button], [role=search] [type=button], [role=search] [type=submit], [role=search] button {
    --px-form-element-spacing-horizontal: 2rem
}

details summary[role=button]:not(.outline)::after {
    filter: brightness(0) invert(1)
}

[aria-busy=true]:not(input,select,textarea):is(button,[type=submit],[type=button],[type=reset],[role=button]):not(.outline)::before {
    filter: brightness(0) invert(1)
}

:host(:not([data-theme=dark])), :root:not([data-theme=dark]), [data-theme=light] {
    color-scheme: light;
    --px-background-color: #fff;
    --px-color: #373c44;
    --px-text-selection-color: rgba(60, 113, 247, 0.25);
    --px-muted-color: #646b79;
    --px-muted-border-color: rgb(231, 234, 239.5);
    --px-contrast: #181c25;
    --px-contrast-background: #181c25;
    --px-contrast-border: var(--px-contrast-background);
    --px-contrast-underline: rgba(24, 28, 37, 0.5);
    --px-contrast-hover: #000;
    --px-contrast-hover-background: #000;
    --px-contrast-hover-border: var(--px-contrast-hover-background);
    --px-contrast-hover-underline: var(--px-secondary-hover);
    --px-contrast-focus: rgba(93, 107, 137, 0.25);
    --px-contrast-inverse: #fff;
    --px-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(129, 145, 181, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(129, 145, 181, 0.024), 0.0625rem 0.125rem 0.75rem rgba(129, 145, 181, 0.03), 0.1125rem 0.225rem 1.35rem rgba(129, 145, 181, 0.036), 0.2085rem 0.417rem 2.502rem rgba(129, 145, 181, 0.04302), 0.5rem 1rem 6rem rgba(129, 145, 181, 0.06), 0 0 0 0.0625rem rgba(129, 145, 181, 0.015);
    --px-h1-color: #2d3138;
    --px-h2-color: #373c44;
    --px-h3-color: #424751;
    --px-h4-color: #4d535e;
    --px-h5-color: #5c6370;
    --px-h6-color: #646b79;
    --px-mark-background-color: rgb(252.5, 230.5, 191.5);
    --px-mark-color: #0f1114;
    --px-ins-color: rgb(28.5, 105.5, 84);
    --px-del-color: rgb(136, 56.5, 53);
    --px-blockquote-border-color: var(--px-muted-border-color);
    --px-blockquote-footer-color: var(--px-muted-color);
    --px-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    --px-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    --px-table-border-color: var(--px-muted-border-color);
    --px-table-row-stripped-background-color: rgba(111, 120, 135, 0.0375);
    --px-code-background-color: rgb(243, 244.5, 246.75);
    --px-code-color: #646b79;
    --px-code-kbd-background-color: var(--px-color);
    --px-code-kbd-color: var(--px-background-color);
    --px-form-element-background-color: rgb(251, 251.5, 252.25);
    --px-form-element-selected-background-color: #dfe3eb;
    --px-form-element-border-color: #cfd5e2;
    --px-form-element-color: #23262c;
    --px-form-element-placeholder-color: var(--px-muted-color);
    --px-form-element-active-background-color: #fff;
    --px-form-element-active-border-color: var(--px-primary-border);
    --px-form-element-focus-color: var(--px-primary-border);
    --px-form-element-disabled-opacity: 0.5;
    --px-form-element-invalid-border-color: rgb(183.5, 105.5, 106.5);
    --px-form-element-invalid-active-border-color: rgb(200.25, 79.25, 72.25);
    --px-form-element-invalid-focus-color: var(--px-form-element-invalid-active-border-color);
    --px-form-element-valid-border-color: rgb(76, 154.5, 137.5);
    --px-form-element-valid-active-border-color: rgb(39, 152.75, 118.75);
    --px-form-element-valid-focus-color: var(--px-form-element-valid-active-border-color);
    --px-switch-background-color: #bfc7d9;
    --px-switch-checked-background-color: var(--px-primary-background);
    --px-switch-color: #fff;
    --px-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    --px-range-border-color: #dfe3eb;
    --px-range-active-border-color: #bfc7d9;
    --px-range-thumb-border-color: var(--px-background-color);
    --px-range-thumb-color: var(--px-secondary-background);
    --px-range-thumb-active-color: var(--px-primary-background);
    --px-accordion-border-color: var(--px-muted-border-color);
    --px-accordion-active-summary-color: var(--px-primary-hover);
    --px-accordion-close-summary-color: var(--px-color);
    --px-accordion-open-summary-color: var(--px-muted-color);
    --px-card-background-color: var(--px-background-color);
    --px-card-border-color: var(--px-muted-border-color);
    --px-card-box-shadow: var(--px-box-shadow);
    --px-card-sectioning-background-color: rgb(251, 251.5, 252.25);
    --px-dropdown-background-color: #fff;
    --px-dropdown-border-color: #eff1f4;
    --px-dropdown-box-shadow: var(--px-box-shadow);
    --px-dropdown-color: var(--px-color);
    --px-dropdown-hover-background-color: #eff1f4;
    --px-loading-spinner-opacity: 0.5;
    --px-modal-overlay-background-color: rgba(232, 234, 237, 0.75);
    --px-progress-background-color: #dfe3eb;
    --px-progress-color: var(--px-primary-background);
    --px-tooltip-background-color: var(--px-contrast-background);
    --px-tooltip-color: var(--px-contrast-inverse);
    --px-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(76, 154.5, 137.5)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
    --px-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(200.25, 79.25, 72.25)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E")
}

:host(:not([data-theme=dark])) input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]), :root:not([data-theme=dark]) input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]), [data-theme=light] input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]) {
    --px-form-element-focus-color: var(--px-primary-focus)
}

@media only screen and (prefers-color-scheme: dark) {
    :host(:not([data-theme])), :root:not([data-theme]) {
        color-scheme: dark;
        --px-background-color: rgb(19, 22.5, 30.5);
        --px-color: #c2c7d0;
        --px-text-selection-color: rgba(60, 113, 247, 0.25);
        --px-muted-color: #7b8495;
        --px-muted-border-color: #202632;
        --px-contrast: #dfe3eb;
        --px-contrast-background: #eff1f4;
        --px-contrast-border: var(--px-contrast-background);
        --px-contrast-underline: rgba(223, 227, 235, 0.5);
        --px-contrast-hover: #fff;
        --px-contrast-hover-background: #fff;
        --px-contrast-hover-border: var(--px-contrast-hover-background);
        --px-contrast-hover-underline: var(--px-contrast-hover);
        --px-contrast-focus: rgba(207, 213, 226, 0.25);
        --px-contrast-inverse: #000;
        --px-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(7, 8.5, 12, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(7, 8.5, 12, 0.024), 0.0625rem 0.125rem 0.75rem rgba(7, 8.5, 12, 0.03), 0.1125rem 0.225rem 1.35rem rgba(7, 8.5, 12, 0.036), 0.2085rem 0.417rem 2.502rem rgba(7, 8.5, 12, 0.04302), 0.5rem 1rem 6rem rgba(7, 8.5, 12, 0.06), 0 0 0 0.0625rem rgba(7, 8.5, 12, 0.015);
        --px-h1-color: #f0f1f3;
        --px-h2-color: #e0e3e7;
        --px-h3-color: #c2c7d0;
        --px-h4-color: #b3b9c5;
        --px-h5-color: #a4acba;
        --px-h6-color: #8891a4;
        --px-mark-background-color: #014063;
        --px-mark-color: #fff;
        --px-ins-color: #62af9a;
        --px-del-color: rgb(205.5, 126, 123);
        --px-blockquote-border-color: var(--px-muted-border-color);
        --px-blockquote-footer-color: var(--px-muted-color);
        --px-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
        --px-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
        --px-table-border-color: var(--px-muted-border-color);
        --px-table-row-stripped-background-color: rgba(111, 120, 135, 0.0375);
        --px-code-background-color: rgb(26, 30.5, 40.25);
        --px-code-color: #8891a4;
        --px-code-kbd-background-color: var(--px-color);
        --px-code-kbd-color: var(--px-background-color);
        --px-form-element-background-color: rgb(28, 33, 43.5);
        --px-form-element-selected-background-color: #2a3140;
        --px-form-element-border-color: #2a3140;
        --px-form-element-color: #e0e3e7;
        --px-form-element-placeholder-color: #8891a4;
        --px-form-element-active-background-color: rgb(26, 30.5, 40.25);
        --px-form-element-active-border-color: var(--px-primary-border);
        --px-form-element-focus-color: var(--px-primary-border);
        --px-form-element-disabled-opacity: 0.5;
        --px-form-element-invalid-border-color: rgb(149.5, 74, 80);
        --px-form-element-invalid-active-border-color: rgb(183.25, 63.5, 59);
        --px-form-element-invalid-focus-color: var(--px-form-element-invalid-active-border-color);
        --px-form-element-valid-border-color: #2a7b6f;
        --px-form-element-valid-active-border-color: rgb(22, 137, 105.5);
        --px-form-element-valid-focus-color: var(--px-form-element-valid-active-border-color);
        --px-switch-background-color: #333c4e;
        --px-switch-checked-background-color: var(--px-primary-background);
        --px-switch-color: #fff;
        --px-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
        --px-range-border-color: #202632;
        --px-range-active-border-color: #2a3140;
        --px-range-thumb-border-color: var(--px-background-color);
        --px-range-thumb-color: var(--px-secondary-background);
        --px-range-thumb-active-color: var(--px-primary-background);
        --px-accordion-border-color: var(--px-muted-border-color);
        --px-accordion-active-summary-color: var(--px-primary-hover);
        --px-accordion-close-summary-color: var(--px-color);
        --px-accordion-open-summary-color: var(--px-muted-color);
        --px-card-background-color: #181c25;
        --px-card-border-color: var(--px-card-background-color);
        --px-card-box-shadow: var(--px-box-shadow);
        --px-card-sectioning-background-color: rgb(26, 30.5, 40.25);
        --px-dropdown-background-color: #181c25;
        --px-dropdown-border-color: #202632;
        --px-dropdown-box-shadow: var(--px-box-shadow);
        --px-dropdown-color: var(--px-color);
        --px-dropdown-hover-background-color: #202632;
        --px-loading-spinner-opacity: 0.5;
        --px-modal-overlay-background-color: rgba(7.5, 8.5, 10, 0.75);
        --px-progress-background-color: #202632;
        --px-progress-color: var(--px-primary-background);
        --px-tooltip-background-color: var(--px-contrast-background);
        --px-tooltip-color: var(--px-contrast-inverse);
        --px-border-color: #dee2e6;
        --px-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
        --px-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(149.5, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E")
    }

    :host(:not([data-theme])) input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]), :root:not([data-theme]) input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]) {
        --px-form-element-focus-color: var(--px-primary-focus)
    }

    :host(:not([data-theme])) details summary[role=button].contrast:not(.outline)::after, :root:not([data-theme]) details summary[role=button].contrast:not(.outline)::after {
        filter: brightness(0)
    }

    :host(:not([data-theme])) [aria-busy=true]:not(input,select,textarea).contrast:is(button,[type=submit],[type=button],[type=reset],[role=button]):not(.outline)::before, :root:not([data-theme]) [aria-busy=true]:not(input,select,textarea).contrast:is(button,[type=submit],[type=button],[type=reset],[role=button]):not(.outline)::before {
        filter: brightness(0)
    }
}

[data-theme=dark] {
    color-scheme: dark;
    --px-background-color: rgb(19, 22.5, 30.5);
    --px-color: #c2c7d0;
    --px-text-selection-color: rgba(60, 113, 247, 0.25);
    --px-muted-color: #7b8495;
    --px-muted-border-color: #202632;
    --px-contrast: #dfe3eb;
    --px-contrast-background: #eff1f4;
    --px-contrast-border: var(--px-contrast-background);
    --px-contrast-underline: rgba(223, 227, 235, 0.5);
    --px-contrast-hover: #fff;
    --px-contrast-hover-background: #fff;
    --px-contrast-hover-border: var(--px-contrast-hover-background);
    --px-contrast-hover-underline: var(--px-contrast-hover);
    --px-contrast-focus: rgba(207, 213, 226, 0.25);
    --px-contrast-inverse: #000;
    --px-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(7, 8.5, 12, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(7, 8.5, 12, 0.024), 0.0625rem 0.125rem 0.75rem rgba(7, 8.5, 12, 0.03), 0.1125rem 0.225rem 1.35rem rgba(7, 8.5, 12, 0.036), 0.2085rem 0.417rem 2.502rem rgba(7, 8.5, 12, 0.04302), 0.5rem 1rem 6rem rgba(7, 8.5, 12, 0.06), 0 0 0 0.0625rem rgba(7, 8.5, 12, 0.015);
    --px-h1-color: #f0f1f3;
    --px-h2-color: #e0e3e7;
    --px-h3-color: #c2c7d0;
    --px-h4-color: #b3b9c5;
    --px-h5-color: #a4acba;
    --px-h6-color: #8891a4;
    --px-mark-background-color: #014063;
    --px-mark-color: #fff;
    --px-ins-color: #62af9a;
    --px-del-color: rgb(205.5, 126, 123);
    --px-blockquote-border-color: var(--px-muted-border-color);
    --px-blockquote-footer-color: var(--px-muted-color);
    --px-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    --px-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    --px-table-border-color: var(--px-muted-border-color);
    --px-table-row-stripped-background-color: rgba(111, 120, 135, 0.0375);
    --px-code-background-color: rgb(26, 30.5, 40.25);
    --px-code-color: #8891a4;
    --px-code-kbd-background-color: var(--px-color);
    --px-code-kbd-color: var(--px-background-color);
    --px-form-element-background-color: rgb(28, 33, 43.5);
    --px-form-element-selected-background-color: #2a3140;
    --px-form-element-border-color: #2a3140;
    --px-form-element-color: #e0e3e7;
    --px-form-element-placeholder-color: #8891a4;
    --px-form-element-active-background-color: rgb(26, 30.5, 40.25);
    --px-form-element-active-border-color: var(--px-primary-border);
    --px-form-element-focus-color: var(--px-primary-border);
    --px-form-element-disabled-opacity: 0.5;
    --px-form-element-invalid-border-color: rgb(149.5, 74, 80);
    --px-form-element-invalid-active-border-color: rgb(183.25, 63.5, 59);
    --px-form-element-invalid-focus-color: var(--px-form-element-invalid-active-border-color);
    --px-form-element-valid-border-color: #2a7b6f;
    --px-form-element-valid-active-border-color: rgb(22, 137, 105.5);
    --px-form-element-valid-focus-color: var(--px-form-element-valid-active-border-color);
    --px-switch-background-color: #333c4e;
    --px-switch-checked-background-color: var(--px-primary-background);
    --px-switch-color: #fff;
    --px-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    --px-range-border-color: #202632;
    --px-range-active-border-color: #2a3140;
    --px-range-thumb-border-color: var(--px-background-color);
    --px-range-thumb-color: var(--px-secondary-background);
    --px-range-thumb-active-color: var(--px-primary-background);
    --px-accordion-border-color: var(--px-muted-border-color);
    --px-accordion-active-summary-color: var(--px-primary-hover);
    --px-accordion-close-summary-color: var(--px-color);
    --px-accordion-open-summary-color: var(--px-muted-color);
    --px-card-background-color: #181c25;
    --px-card-border-color: var(--px-card-background-color);
    --px-card-box-shadow: var(--px-box-shadow);
    --px-card-sectioning-background-color: rgb(26, 30.5, 40.25);
    --px-dropdown-background-color: #181c25;
    --px-dropdown-border-color: #202632;
    --px-dropdown-box-shadow: var(--px-box-shadow);
    --px-dropdown-color: var(--px-color);
    --px-dropdown-hover-background-color: #202632;
    --px-loading-spinner-opacity: 0.5;
    --px-modal-overlay-background-color: rgba(7.5, 8.5, 10, 0.75);
    --px-progress-background-color: #202632;
    --px-progress-color: var(--px-primary-background);
    --px-tooltip-background-color: var(--px-contrast-background);
    --px-tooltip-color: var(--px-contrast-inverse);
    --px-border-color: #495057;
    --px-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
    --px-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(149.5, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E")
}

[data-theme=dark] input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]) {
    --px-form-element-focus-color: var(--px-primary-focus)
}

[data-theme=dark] details summary[role=button].contrast:not(.outline)::after {
    filter: brightness(0)
}

[data-theme=dark] [aria-busy=true]:not(input,select,textarea).contrast:is(button,[type=submit],[type=button],[type=reset],[role=button]):not(.outline)::before {
    filter: brightness(0)
}

[type=checkbox], [type=radio], [type=range], progress {
    accent-color: var(--px-primary)
}

*, ::after, ::before {
    box-sizing: border-box;
    background-repeat: no-repeat
}

::after, ::before {
    text-decoration: inherit;
    vertical-align: inherit
}

:where(:host), :where(:root) {
    -webkit-tap-highlight-color: transparent;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
    background-color: var(--px-background-color);
    color: var(--px-color);
    font-weight: var(--px-font-weight);
    font-size: var(--px-font-size);
    line-height: var(--px-line-height);
    font-family: var(--px-font-family);
    text-underline-offset: var(--px-text-underline-offset);
    text-rendering: optimizeLegibility;
    overflow-wrap: break-word;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4
}

body {
    width: 100%;
    margin: 0
}

main {
    display: block
}

/**
 * Container
 */
.container,
.container-fluid {
    width: 100%;
    margin-inline: auto;
    padding-inline: var(--px-block-spacing-horizontal);
}

.container-fluid {
    max-width: none;
}

@media (min-width: 36rem) {
    .container {
        max-width: 33.75rem; /* 540px */
    }
}

@media (min-width: 48rem) {
    .container {
        max-width: 45rem; /* 720px */
    }
}

@media (min-width: 64rem) {
    .container {
        max-width: 61.25rem; /* 980px */
    }
}

@media (min-width: 80rem) {
    .container {
        max-width: 73.75rem; /* 1180px */
    }
}

@media (min-width: 96rem) {
    .container {
        max-width: 85rem; /* 1360px */
    }
}

/* Grid system: CSS Grid 12 columns */
.row,
.grid {
    --px-grid-columns: 12;
    --px-grid-gap-x: var(--px-grid-column-gap, var(--px-spacing));
    --px-grid-gap-y: var(--px-grid-row-gap, var(--px-spacing));

    display: grid;
    grid-template-columns: repeat(var(--px-grid-columns), minmax(0, 1fr));
    gap: var(--px-grid-gap-y) var(--px-grid-gap-x);
}

/* Default: full width on mobile */
.row > *,
.grid > * {
    min-width: 0;
    max-width: 100%;
    grid-column: span 12;
}

/* Equal columns helper */
.col {
    min-width: 0;
    grid-column: span 12;
}

/* Content-width column */
.col-auto {
    width: auto;
    max-width: 100%;
    justify-self: start;
}

/* Columns become proportional from tablet/desktop up */
@media (min-width: 48rem) {
    .col-1  { grid-column: span 1; }
    .col-2  { grid-column: span 2; }
    .col-3  { grid-column: span 3; }
    .col-4  { grid-column: span 4; }
    .col-5  { grid-column: span 5; }
    .col-6  { grid-column: span 6; }
    .col-7  { grid-column: span 7; }
    .col-8  { grid-column: span 8; }
    .col-9  { grid-column: span 9; }
    .col-10 { grid-column: span 10; }
    .col-11 { grid-column: span 11; }
    .col-12 { grid-column: span 12; }

    .offset-0  { grid-column-start: auto; }
    .offset-1  { grid-column-start: 2; }
    .offset-2  { grid-column-start: 3; }
    .offset-3  { grid-column-start: 4; }
    .offset-4  { grid-column-start: 5; }
    .offset-5  { grid-column-start: 6; }
    .offset-6  { grid-column-start: 7; }
    .offset-7  { grid-column-start: 8; }
    .offset-8  { grid-column-start: 9; }
    .offset-9  { grid-column-start: 10; }
    .offset-10 { grid-column-start: 11; }
    .offset-11 { grid-column-start: 12; }
}

/* Alignment helpers for grid rows */
.justify-content-start {
    justify-content: start;
}

.justify-content-center {
    justify-content: center;
}

.justify-content-end {
    justify-content: end;
}

.justify-content-between {
    justify-content: space-between;
}

.align-items-start {
    align-items: start;
}

.align-items-center {
    align-items: center;
}

.align-items-end {
    align-items: end;
}

.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

.overflow-auto {
    overflow: auto
}

b, strong {
    font-weight: bolder
}

sub, sup {
    position: relative;
    font-size: .75em;
    line-height: 0;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

address, blockquote, dl, ol, p, pre, table, ul {
    margin-top: 0;
    margin-bottom: var(--px-typography-spacing-vertical);
    color: var(--px-color);
    font-style: normal;
    font-weight: var(--px-font-weight)
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: var(--px-typography-spacing-vertical);
    color: var(--px-heading-color, var(--px-color));
    font-weight: var(--px-font-weight);
    line-height: var(--px-line-height);
    font-family: var(--px-font-family)
}

h1 {
    font-size: var(--px-h1);
    line-height: 1.1;
    letter-spacing: -.02em
}

h2 {
    font-size: var(--px-h2);
    line-height: 1.2;
    letter-spacing: -.01em
}

h3 {
    font-size: var(--px-h3);
    line-height: 1.3
}

h4 {
    font-size: var(--px-h4);
    line-height: 1.4
}

h5 {
    font-size: 1.125rem;
    font-weight: 600
}

h6 {
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: .05em
}

:where(article,address,blockquote,dl,figure,form,ol,p,pre,table,ul) ~ :is(h1,h2,h3,h4,h5,h6) {
    margin-top: var(--px-typography-spacing-top)
}

p {
    margin-bottom: var(--px-typography-spacing-vertical)
}

hgroup {
    margin-bottom: var(--px-typography-spacing-vertical)
}

hgroup > * {
    margin-top: 0;
    margin-bottom: 0
}

hgroup > :not(:first-child):last-child {
    --px-color: var(--px-muted-color);
    --px-font-weight: unset;
    font-size: 1rem
}

:where(ol,ul) li {
    margin-bottom: calc(var(--px-typography-spacing-vertical) * .25)
}

:where(dl,ol,ul) :where(dl,ol,ul) {
    margin: 0;
    margin-top: calc(var(--px-typography-spacing-vertical) * .25)
}

ul li {
    list-style: square
}

mark {
    padding: .125rem .25rem;
    background-color: var(--px-mark-background-color);
    color: var(--px-mark-color);
    vertical-align: baseline
}

blockquote {
    display: block;
    margin: var(--px-typography-spacing-vertical) 0;
    padding: var(--px-spacing);
    border-right: none;
    border-left: .25rem solid var(--px-blockquote-border-color);
    border-inline-start: .25rem solid var(--px-blockquote-border-color);
    border-inline-end: none
}

blockquote footer {
    margin-top: calc(var(--px-typography-spacing-vertical) * .5);
    color: var(--px-blockquote-footer-color)
}

abbr[title] {
    border-bottom: 1px dotted;
    text-decoration: none;
    cursor: help
}

ins {
    color: var(--px-ins-color);
    text-decoration: none
}

del {
    color: var(--px-del-color)
}

::-moz-selection {
    background-color: var(--px-text-selection-color)
}

::selection {
    background-color: var(--px-text-selection-color)
}

:where(a:not([role=button])), [role=link] {
    --px-color: var(--px-primary);
    --px-background-color: transparent;
    --px-underline: var(--px-primary-underline);
    outline: 0;
    background-color: var(--px-background-color);
    color: var(--px-color);
    -webkit-text-decoration: var(--px-text-decoration);
    text-decoration: var(--px-text-decoration);
    text-decoration-color: var(--px-underline);
    text-underline-offset: .125em;
    transition: background-color var(--px-transition), color var(--px-transition), box-shadow var(--px-transition), -webkit-text-decoration var(--px-transition);
    transition: background-color var(--px-transition), color var(--px-transition), text-decoration var(--px-transition), box-shadow var(--px-transition);
    transition: background-color var(--px-transition), color var(--px-transition), text-decoration var(--px-transition), box-shadow var(--px-transition), -webkit-text-decoration var(--px-transition)
}

:where(a:not([role=button])):is([aria-current]:not([aria-current=false]),:hover,:active,:focus), [role=link]:is([aria-current]:not([aria-current=false]),:hover,:active,:focus) {
    --px-color: var(--px-primary-hover);
    --px-underline: var(--px-primary-hover-underline);
    --px-text-decoration: underline
}

:where(a:not([role=button])):focus-visible, [role=link]:focus-visible {
    box-shadow: 0 0 0 var(--px-outline-width) var(--px-primary-focus)
}

:where(a:not([role=button])).secondary, [role=link].secondary {
    --px-color: var(--px-secondary);
    --px-underline: var(--px-secondary-underline)
}

:where(a:not([role=button])).secondary:is([aria-current]:not([aria-current=false]),:hover,:active,:focus), [role=link].secondary:is([aria-current]:not([aria-current=false]),:hover,:active,:focus) {
    --px-color: var(--px-secondary-hover);
    --px-underline: var(--px-secondary-hover-underline)
}

:where(a:not([role=button])).success, [role=link].success {
    --px-color: var(--px-success);
    --px-underline: var(--px-success-underline)
}

:where(a:not([role=button])).success:is([aria-current]:not([aria-current=false]),:hover,:active,:focus), [role=link].success:is([aria-current]:not([aria-current=false]),:hover,:active,:focus) {
    --px-color: var(--px-success-hover);
    --px-underline: var(--px-success-hover-underline)
}

:where(a:not([role=button])).danger, [role=link].danger {
    --px-color: var(--px-danger);
    --px-underline: var(--px-danger-underline)
}

:where(a:not([role=button])).danger:is([aria-current]:not([aria-current=false]),:hover,:active,:focus), [role=link].danger:is([aria-current]:not([aria-current=false]),:hover,:active,:focus) {
    --px-color: var(--px-danger-hover);
    --px-underline: var(--px-danger-hover-underline)
}

:where(a:not([role=button])).contrast, [role=link].contrast {
    --px-color: var(--px-contrast);
    --px-underline: var(--px-contrast-underline)
}

:where(a:not([role=button])).contrast:is([aria-current]:not([aria-current=false]),:hover,:active,:focus), [role=link].contrast:is([aria-current]:not([aria-current=false]),:hover,:active,:focus) {
    --px-color: var(--px-contrast-hover);
    --px-underline: var(--px-contrast-hover-underline)
}

a[role=button] {
    display: inline-block
}

button {
    margin: 0;
    overflow: visible;
    font-family: inherit;
    text-transform: none
}

[type=button], [type=reset], [type=submit], button {
    -webkit-appearance: button
}

[role=button], [type=button], [type=file]::file-selector-button, [type=submit], button {
    --px-background-color: var(--px-primary-background);
    --px-border-color: var(--px-primary-border);
    --px-color: var(--px-primary-inverse);
    --px-box-shadow: var(--px-button-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
    padding: var(--px-form-element-spacing-vertical) var(--px-form-element-spacing-horizontal);
    border: var(--px-border-width) solid var(--px-border-color);
    border-radius: var(--px-border-radius);
    outline: 0;
    background-color: var(--px-background-color);
    box-shadow: var(--px-box-shadow);
    color: var(--px-color);
    font-weight: var(--px-font-weight);
    font-size: 1rem;
    line-height: var(--px-line-height);
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    transition: background-color var(--px-transition), border-color var(--px-transition), color var(--px-transition), box-shadow var(--px-transition)
}

[role=button]:is(:hover,:active,:focus), [role=button]:is([aria-current]:not([aria-current=false])), [type=button]:is(:hover,:active,:focus), [type=button]:is([aria-current]:not([aria-current=false])), [type=file]::file-selector-button:is(:hover,:active,:focus), [type=file]::file-selector-button:is([aria-current]:not([aria-current=false])), [type=reset]:is(:hover,:active,:focus), [type=reset]:is([aria-current]:not([aria-current=false])), [type=submit]:is(:hover,:active,:focus), [type=submit]:is([aria-current]:not([aria-current=false])), button:is(:hover,:active,:focus), button:is([aria-current]:not([aria-current=false])) {
    --px-background-color: var(--px-primary-hover-background);
    --px-border-color: var(--px-primary-hover-border);
    --px-box-shadow: var(--px-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
    --px-color: var(--px-primary-inverse)
}

[role=button]:focus, [role=button]:is([aria-current]:not([aria-current=false])):focus, [type=button]:focus, [type=button]:is([aria-current]:not([aria-current=false])):focus, [type=file]::file-selector-button:focus, [type=file]::file-selector-button:is([aria-current]:not([aria-current=false])):focus, [type=reset]:focus, [type=reset]:is([aria-current]:not([aria-current=false])):focus, [type=submit]:focus, [type=submit]:is([aria-current]:not([aria-current=false])):focus, button:focus, button:is([aria-current]:not([aria-current=false])):focus {
    --px-box-shadow: var(--px-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--px-outline-width) var(--px-primary-focus)
}

[type=button], [type=reset], [type=submit] {
    margin-bottom: var(--px-spacing)
}

:is(button,[type=submit],[type=button],[role=button]).secondary, [type=file]::file-selector-button {
    --px-background-color: var(--px-secondary-background);
    --px-border-color: var(--px-secondary-border);
    --px-color: var(--px-secondary-inverse);
    cursor: pointer
}

[type=reset] {
    --px-background-color: var(--px-danger-background);
    --px-border-color: var(--px-danger-border);
    --px-color: var(--px-danger-inverse);
    cursor: pointer
}

:is([type=reset]):is(:hover,:active,:focus) {
    --px-background-color: var(--px-danger-hover-background);
    --px-border-color: var(--px-danger-hover-background);
    box-shadow: 0 0 0 var(--px-outline-width) var(--px-danger-focus)
}

[type=reset]:is([aria-current]:not([aria-current=false]),:hover,:active,:focus) {
    --px-background-color: var(--px-danger-hover-background);
    --px-border-color: var(--px-danger-hover-border);
    --px-color: var(--px-danger-inverse)
}

:is(button,[type=submit],[type=button],[role=button]).secondary:is([aria-current]:not([aria-current=false]),:hover,:active,:focus), [type=file]::file-selector-button:is([aria-current]:not([aria-current=false]),:hover,:active,:focus) {
    --px-background-color: var(--px-secondary-hover-background);
    --px-border-color: var(--px-secondary-hover-border);
    --px-color: var(--px-secondary-inverse)
}

:is(button,[type=submit],[type=button],[role=button]).secondary:focus, :is(button,[type=submit],[type=button],[role=button]).secondary:is([aria-current]:not([aria-current=false])):focus, [type=file]::file-selector-button:focus, [type=file]::file-selector-button:is([aria-current]:not([aria-current=false])):focus, [type=reset]:focus, [type=reset]:is([aria-current]:not([aria-current=false])):focus {
    --px-box-shadow: var(--px-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--px-outline-width) var(--px-secondary-focus)
}

:is(button,[type=submit],[type=button],[role=button],a[role=button]).danger {
    --px-background-color: var(--px-danger-background);
    --px-border-color: var(--px-danger-border);
    --px-color: var(--px-danger-inverse)
}

:is(button,[type=submit],[type=button],[role=button]).danger:is([aria-current]:not([aria-current=false]),:hover,:active,:focus) {
    --px-background-color: var(--px-danger-hover-background);
    --px-border-color: var(--px-danger-hover-border);
    --px-color: var(--px-danger-inverse)
}

:is(button,[type=submit],[type=button],[role=button]).danger:focus, :is(button,[type=submit],[type=button],[role=button]).danger:is([aria-current]:not([aria-current=false])):focus {
    box-shadow: 0 0 0 var(--px-outline-width) var(--px-danger-focus)
}

:is(button,[type=submit],[type=button],[role=button]).success {
    --px-background-color: var(--px-success-background);
    --px-border-color: var(--px-success-border);
    --px-color: var(--px-success-inverse)
}

:is(button,[type=submit],[type=button],[role=button]).success:is(:hover,:active,:focus) {
    --px-background-color: var(--px-success-hover-background);
    --px-border-color: var(--px-success-hover-border)
}

:is(button,[type=submit],[type=button],[role=button]).contrast {
    --px-background-color: var(--px-contrast-background);
    --px-border-color: var(--px-contrast-border);
    --px-color: var(--px-contrast-inverse)
}

:is(button,[type=submit],[type=button],[role=button]).contrast:is([aria-current]:not([aria-current=false]),:hover,:active,:focus) {
    --px-background-color: var(--px-contrast-hover-background);
    --px-border-color: var(--px-contrast-hover-border);
    --px-color: var(--px-contrast-inverse)
}

:is(button,[type=submit],[type=button],[role=button]).contrast:focus, :is(button,[type=submit],[type=button],[role=button]).contrast:is([aria-current]:not([aria-current=false])):focus {
    --px-box-shadow: var(--px-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--px-outline-width) var(--px-contrast-focus)
}

:is(button,[type=submit],[type=button],[role=button],a[role=button]).danger {
    --px-background-color: var(--px-danger-background);
    --px-border-color: var(--px-danger-border);
    --px-color: var(--px-danger-inverse)
}

:is(button,[type=submit],[type=button],[role=button]).danger:is([aria-current]:not([aria-current=false]),:hover,:active,:focus) {
    --px-background-color: var(--px-danger-hover-background);
    --px-border-color: var(--px-danger-hover-border);
    --px-color: var(--px-danger-inverse)
}

:is(button,[type=submit],[type=button],[role=button]).danger:focus, :is(button,[type=submit],[type=button],[role=button]).danger:is([aria-current]:not([aria-current=false])):focus {
    box-shadow: 0 0 0 var(--px-outline-width) var(--px-danger-focus)
}

:is(button,[type=submit],[type=button],[role=button]).outline, [type=reset].outline {
    --px-background-color: transparent;
    --px-color: var(--px-primary);
    --px-border-color: var(--px-primary)
}

:is(button,[type=submit],[type=button],[role=button]).outline:is([aria-current]:not([aria-current=false]),:hover,:active,:focus), [type=reset].outline:is([aria-current]:not([aria-current=false]),:hover,:active,:focus) {
    --px-background-color: transparent;
    --px-color: var(--px-primary-hover);
    --px-border-color: var(--px-primary-hover)
}

:is(button,[type=submit],[type=button],[role=button]).outline.secondary, [type=reset].outline {
    --px-color: var(--px-secondary);
    --px-border-color: var(--px-secondary)
}

:is(button,[type=submit],[type=button],[role=button]).outline.secondary:is([aria-current]:not([aria-current=false]),:hover,:active,:focus), [type=reset].outline:is([aria-current]:not([aria-current=false]),:hover,:active,:focus) {
    --px-color: var(--px-secondary-hover);
    --px-border-color: var(--px-secondary-hover)
}

:is(button,[type=submit],[type=button],[role=button]).outline.contrast {
    --px-color: var(--px-contrast);
    --px-border-color: var(--px-contrast)
}

:is(button,[type=submit],[type=button],[role=button]).outline.contrast:is([aria-current]:not([aria-current=false]),:hover,:active,:focus) {
    --px-color: var(--px-contrast-hover);
    --px-border-color: var(--px-contrast-hover)
}

:where(button,[type=submit],[type=reset],[type=button],[role=button])[disabled], :where(fieldset[disabled]) :is(button,[type=submit],[type=button],[type=reset],[role=button]) {
    opacity: .5;
    pointer-events: none
}

:where(table) {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    text-indent: 0
}

td, th {
    padding: calc(var(--px-spacing) / 2) var(--px-spacing);
    border-bottom: var(--px-border-width) solid var(--px-table-border-color);
    background-color: var(--px-background-color);
    color: var(--px-color);
    font-weight: var(--px-font-weight);
    text-align: left;
    text-align: start
}

tfoot td, tfoot th {
    border-top: var(--px-border-width) solid var(--px-table-border-color);
    border-bottom: 0
}

table.striped tbody tr:nth-child(odd) td, table.striped tbody tr:nth-child(odd) th {
    background-color: var(--px-table-row-stripped-background-color)
}

:where(audio,canvas,iframe,img,svg,video) {
    vertical-align: middle
}

audio, video {
    display: inline-block
}

audio:not([controls]) {
    display: none;
    height: 0
}

:where(iframe) {
    border-style: none
}

img {
    max-width: 100%;
    height: auto;
    border-style: none
}

:where(svg:not([fill])) {
    fill: currentColor
}

svg:not(:host), svg:not(:root) {
    overflow: hidden
}

code, kbd, pre, samp {
    font-size: .875em;
    font-family: var(--px-font-family)
}

pre code, pre samp {
    font-size: inherit;
    font-family: inherit
}

pre {
    -ms-overflow-style: scrollbar;
    overflow: auto
}

code, kbd, pre, samp {
    border-radius: var(--px-border-radius);
    background: var(--px-code-background-color);
    color: var(--px-code-color);
    font-weight: var(--px-font-weight);
    line-height: initial
}

code, kbd, samp {
    display: inline-block;
    padding: .375rem
}

pre {
    display: block;
    margin-bottom: var(--px-spacing);
    overflow-x: auto
}

pre > code, pre > samp {
    display: block;
    padding: var(--px-spacing);
    background: 0 0;
    line-height: var(--px-line-height)
}

kbd {
    background-color: var(--px-code-kbd-background-color);
    color: var(--px-code-kbd-color);
    vertical-align: baseline
}

figure {
    display: block;
    margin: 0;
    padding: 0
}

figure figcaption {
    padding: calc(var(--px-spacing) * .5) 0;
    color: var(--px-muted-color)
}

hr {
    height: 0;
    margin: var(--px-typography-spacing-vertical) 0;
    border: 0;
    border-top: 1px solid var(--px-muted-border-color);
    color: inherit
}

[hidden], template {
    display: none !important
}

canvas {
    display: inline-block
}

[role=group] > label, [role=group] > legend, input, optgroup, select, textarea {
    margin: 0;
    font-size: 1rem;
    line-height: var(--px-line-height);
    font-family: inherit;
    letter-spacing: inherit
}

input, optgroup, select, textarea {
    margin: 0;
    font-size: 1rem;
    line-height: var(--px-line-height);
    font-family: inherit;
    letter-spacing: inherit
}

input {
    overflow: visible
}

select {
    text-transform: none
}


legend {
    max-width: 100%;
    padding: 0;
    color: inherit;
    white-space: normal
}

textarea {
    overflow: auto
}

[type=checkbox], [type=radio] {
    padding: 0
}

::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

::-moz-focus-inner {
    padding: 0;
    border-style: none
}

:-moz-focusring {
    outline: 0
}

:-moz-ui-invalid {
    box-shadow: none
}

::-ms-expand {
    display: none
}

[type=file], [type=range] {
    padding: 0;
    border-width: 0
}

input:not([type=checkbox],[type=radio],[type=range]) {
    height: calc(1rem * var(--px-line-height) + var(--px-form-element-spacing-vertical) * 2 + var(--px-border-width) * 2)
}

fieldset {
    width: 100%;
    margin: 0;
    margin-bottom: var(--px-spacing);
    padding: 0;
    border: 0
}

fieldset legend, label {
    display: block;
    margin-bottom: calc(var(--px-spacing) * .375);
    color: var(--px-color);
    font-weight: var(--px-form-label-font-weight, var(--px-font-weight))
}

fieldset legend {
    margin-bottom: calc(var(--px-spacing) * .5)
}

button[type=submit], input:not([type=checkbox],[type=radio]), select, textarea {
    width: 100%
}

input:not([type=checkbox],[type=radio],[type=range],[type=file]), select, textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: var(--px-form-element-spacing-vertical) var(--px-form-element-spacing-horizontal)
}

input, select, textarea {
    --px-background-color: var(--px-form-element-background-color);
    --px-border-color: var(--px-form-element-border-color);
    --px-color: var(--px-form-element-color);
    --px-box-shadow: none;
    border: var(--px-border-width) solid var(--px-border-color);
    border-radius: var(--px-border-radius);
    outline: 0;
    background-color: var(--px-background-color);
    box-shadow: var(--px-box-shadow);
    color: var(--px-color);
    font-weight: var(--px-font-weight);
    transition: background-color var(--px-transition), border-color var(--px-transition), color var(--px-transition), box-shadow var(--px-transition)
}

:where(select,textarea):not([readonly]):is(:active,:focus), input:not([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[readonly]):is(:active,:focus) {
    --px-background-color: var(--px-form-element-active-background-color)
}

:where(select,textarea):not([readonly]):is(:active,:focus), input:not([type=submit],[type=button],[type=reset],[role=switch],[readonly]):is(:active,:focus) {
    --px-border-color: var(--px-form-element-active-border-color)
}

:where(select,textarea):not([readonly]):focus, input:not([type=submit],[type=button],[type=reset],[type=range],[type=file],[readonly]):focus {
    --px-box-shadow: 0 0 0 var(--px-outline-width) var(--px-form-element-focus-color)
}

:where(fieldset[disabled]) :is(input:not([type=submit],[type=button],[type=reset]),select,textarea), input:not([type=submit],[type=button],[type=reset])[disabled], label[aria-disabled=true], select[disabled], textarea[disabled] {
    opacity: var(--px-form-element-disabled-opacity);
    pointer-events: none
}

label[aria-disabled=true] input[disabled] {
    opacity: 1
}

:where(input,select,textarea):not([type=checkbox],[type=radio],[type=date],[type=datetime-local],[type=month],[type=time],[type=week],[type=range])[aria-invalid] {
    padding-right: calc(var(--px-form-element-spacing-horizontal) + 1.5rem) !important;
    padding-left: var(--px-form-element-spacing-horizontal);
    padding-inline-start: var(--px-form-element-spacing-horizontal) !important;
    padding-inline-end: calc(var(--px-form-element-spacing-horizontal) + 1.5rem) !important;
    background-position: center right .75rem;
    background-size: 1rem auto;
    background-repeat: no-repeat
}

:where(input,select,textarea):not([type=checkbox],[type=radio],[type=date],[type=datetime-local],[type=month],[type=time],[type=week],[type=range])[aria-invalid=false]:not(select) {
    background-image: var(--px-icon-valid)
}

:where(input,select,textarea):not([type=checkbox],[type=radio],[type=date],[type=datetime-local],[type=month],[type=time],[type=week],[type=range])[aria-invalid=true]:not(select) {
    background-image: var(--px-icon-invalid)
}

:where(input,select,textarea)[aria-invalid=false] {
    --px-border-color: var(--px-form-element-valid-border-color)
}

:where(input,select,textarea)[aria-invalid=false]:is(:active,:focus) {
    --px-border-color: var(--px-form-element-valid-active-border-color) !important
}

:where(input,select,textarea)[aria-invalid=false]:is(:active,:focus):not([type=checkbox],[type=radio]) {
    --px-box-shadow: 0 0 0 var(--px-outline-width) var(--px-form-element-valid-focus-color) !important
}

:where(input,select,textarea)[aria-invalid=true] {
    --px-border-color: var(--px-form-element-invalid-border-color)
}

:where(input,select,textarea)[aria-invalid=true]:is(:active,:focus) {
    --px-border-color: var(--px-form-element-invalid-active-border-color) !important
}

:where(input,select,textarea)[aria-invalid=true]:is(:active,:focus):not([type=checkbox],[type=radio]) {
    --px-box-shadow: 0 0 0 var(--px-outline-width) var(--px-form-element-invalid-focus-color) !important
}

[dir=rtl] :where(input,select,textarea):not([type=checkbox],[type=radio]):is([aria-invalid],[aria-invalid=true],[aria-invalid=false]) {
    background-position: center left .75rem
}

input::-webkit-input-placeholder, input::placeholder, select:invalid, textarea::-webkit-input-placeholder, textarea::placeholder {
    color: var(--px-form-element-placeholder-color);
    opacity: 1
}

input:not([type=checkbox],[type=radio]), select, textarea {
    margin-bottom: var(--px-spacing)
}

select::-ms-expand {
    border: 0;
    background-color: transparent
}

select:not([multiple],[size]) {
    padding-right: calc(var(--px-form-element-spacing-horizontal) + 1.5rem);
    padding-left: var(--px-form-element-spacing-horizontal);
    padding-inline-start: var(--px-form-element-spacing-horizontal);
    padding-inline-end: calc(var(--px-form-element-spacing-horizontal) + 1.5rem);
    background-image: var(--px-icon-chevron);
    background-position: center right .75rem;
    background-size: 1rem auto;
    background-repeat: no-repeat
}

select[multiple] option:checked {
    background: var(--px-form-element-selected-background-color);
    color: var(--px-form-element-color)
}

[dir=rtl] select:not([multiple],[size]) {
    background-position: center left .75rem
}

textarea {
    display: block;
    resize: vertical
}

textarea[aria-invalid] {
    --px-icon-height: calc(1rem * var(--px-line-height) + var(--px-form-element-spacing-vertical) * 2 + var(--px-border-width) * 2);
    background-position: top right .75rem !important;
    background-size: 1rem var(--px-icon-height) !important
}

:where(input,select,textarea,fieldset,.row,[role=group],[role=search]) + small {
    display: block;
    width: 100%;
    margin-top: calc(var(--px-spacing) * -.75);
    margin-bottom: var(--px-spacing);
    color: var(--px-muted-color)
}

:where(input,select,textarea,fieldset,.row,[role=group],[role=search])[aria-invalid=false] + small {
    color: var(--px-ins-color)
}

:where(input,select,textarea,fieldset,.row,[role=group],[role=search])[aria-invalid=true] + small {
    color: var(--px-del-color)
}

label > :where(input,select,textarea) {
    margin-top: calc(var(--px-spacing) * .25)
}

label:has([type=checkbox],[type=radio]) {
    width: -moz-fit-content;
    width: fit-content;
    cursor: pointer
}

[type=checkbox], [type=radio] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 1.25em;
    height: 1.25em;
    margin-top: -.125em;
    margin-inline-end: .5em;
    border-width: var(--px-border-width);
    vertical-align: middle;
    cursor: pointer
}

[type=checkbox]::-ms-check, [type=radio]::-ms-check {
    display: none
}

[type=checkbox]:checked, [type=checkbox]:checked:active, [type=checkbox]:checked:focus, [type=radio]:checked, [type=radio]:checked:active, [type=radio]:checked:focus {
    --px-background-color: var(--px-primary-background);
    --px-border-color: var(--px-primary-border);
    background-image: var(--px-icon-checkbox);
    background-position: center;
    background-size: .75em auto;
    background-repeat: no-repeat
}

[type=checkbox] ~ label, [type=radio] ~ label {
    display: inline-block;
    margin-bottom: 0;
    cursor: pointer
}

[type=checkbox] ~ label:not(:last-of-type), [type=radio] ~ label:not(:last-of-type) {
    margin-inline-end: 1em
}

[type=checkbox]:indeterminate {
    --px-background-color: var(--px-primary-background);
    --px-border-color: var(--px-primary-border);
    background-image: var(--px-icon-minus);
    background-position: center;
    background-size: .75em auto;
    background-repeat: no-repeat
}

[type=radio] {
    border-radius: 50%
}

[type=radio]:checked, [type=radio]:checked:active, [type=radio]:checked:focus {
    --px-background-color: var(--px-primary-inverse);
    border-width: .35em;
    background-image: none
}

[type=checkbox][role=switch] {
    --px-background-color: var(--px-switch-background-color);
    --px-color: var(--px-switch-color);
    width: 2.25em;
    height: 1.25em;
    border: var(--px-border-width) solid var(--px-border-color);
    border-radius: 1.25em;
    background-color: var(--px-background-color);
    line-height: 1.25em
}

[type=checkbox][role=switch]:not([aria-invalid]) {
    --px-border-color: var(--px-switch-background-color)
}

[type=checkbox][role=switch]:before {
    display: block;
    aspect-ratio: 1;
    height: 100%;
    border-radius: 50%;
    background-color: var(--px-color);
    box-shadow: var(--px-switch-thumb-box-shadow);
    content: "";
    transition: margin .1s ease-in-out
}

[type=checkbox][role=switch]:focus {
    --px-background-color: var(--px-switch-background-color);
    --px-border-color: var(--px-switch-background-color)
}

[type=checkbox][role=switch]:checked {
    --px-background-color: var(--px-switch-checked-background-color);
    --px-border-color: var(--px-switch-checked-background-color);
    background-image: none
}

[type=checkbox][role=switch]:checked::before {
    margin-inline-start: calc(2.25em - 1.25em)
}

[type=checkbox][role=switch][disabled] {
    --px-background-color: var(--px-border-color)
}

[type=checkbox][aria-invalid=false]:checked, [type=checkbox][aria-invalid=false]:checked:active, [type=checkbox][aria-invalid=false]:checked:focus, [type=checkbox][role=switch][aria-invalid=false]:checked, [type=checkbox][role=switch][aria-invalid=false]:checked:active, [type=checkbox][role=switch][aria-invalid=false]:checked:focus {
    --px-background-color: var(--px-form-element-valid-border-color)
}

[type=checkbox]:checked:active[aria-invalid=true], [type=checkbox]:checked:focus[aria-invalid=true], [type=checkbox]:checked[aria-invalid=true], [type=checkbox][role=switch]:checked:active[aria-invalid=true], [type=checkbox][role=switch]:checked:focus[aria-invalid=true], [type=checkbox][role=switch]:checked[aria-invalid=true] {
    --px-background-color: var(--px-form-element-invalid-border-color)
}

[type=checkbox][aria-invalid=false]:checked, [type=checkbox][aria-invalid=false]:checked:active, [type=checkbox][aria-invalid=false]:checked:focus, [type=checkbox][role=switch][aria-invalid=false]:checked, [type=checkbox][role=switch][aria-invalid=false]:checked:active, [type=checkbox][role=switch][aria-invalid=false]:checked:focus, [type=radio][aria-invalid=false]:checked, [type=radio][aria-invalid=false]:checked:active, [type=radio][aria-invalid=false]:checked:focus {
    --px-border-color: var(--px-form-element-valid-border-color)
}

[type=checkbox]:checked:active[aria-invalid=true], [type=checkbox]:checked:focus[aria-invalid=true], [type=checkbox]:checked[aria-invalid=true], [type=checkbox][role=switch]:checked:active[aria-invalid=true], [type=checkbox][role=switch]:checked:focus[aria-invalid=true], [type=checkbox][role=switch]:checked[aria-invalid=true], [type=radio]:checked:active[aria-invalid=true], [type=radio]:checked:focus[aria-invalid=true], [type=radio]:checked[aria-invalid=true] {
    --px-border-color: var(--px-form-element-invalid-border-color)
}

[type=color]::-webkit-color-swatch-wrapper {
    padding: 0
}

[type=color]::-moz-focus-inner {
    padding: 0
}

[type=color]::-webkit-color-swatch {
    border: 0;
    border-radius: calc(var(--px-border-radius) * .5)
}

[type=color]::-moz-color-swatch {
    border: 0;
    border-radius: calc(var(--px-border-radius) * .5)
}

input:not([type=checkbox],[type=radio],[type=range],[type=file]):is([type=date],[type=datetime-local],[type=month],[type=time],[type=week]) {
    --px-icon-position: 0.75rem;
    --px-icon-width: 1rem;
    padding-right: calc(var(--px-icon-width) + var(--px-icon-position));
    background-image: var(--px-icon-date);
    background-position: center right var(--px-icon-position);
    background-size: var(--px-icon-width) auto;
    background-repeat: no-repeat
}

input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=time] {
    background-image: var(--px-icon-time)
}

[type=date]::-webkit-calendar-picker-indicator, [type=datetime-local]::-webkit-calendar-picker-indicator, [type=month]::-webkit-calendar-picker-indicator, [type=time]::-webkit-calendar-picker-indicator, [type=week]::-webkit-calendar-picker-indicator {
    width: var(--px-icon-width);
    margin-right: calc(var(--px-icon-width) * -1);
    margin-left: var(--px-icon-position);
    opacity: 0
}

@-moz-document url-prefix() {
    [type=date], [type=datetime-local], [type=month], [type=time], [type=week] {
        padding-right: var(--px-form-element-spacing-horizontal) !important;
        background-image: none !important
    }
}

[dir=rtl] :is([type=date],[type=datetime-local],[type=month],[type=time],[type=week]) {
    text-align: right
}

[type=file] {
    --px-color: var(--px-muted-color);
    margin-left: calc(var(--px-outline-width) * -1);
    padding: calc(var(--px-form-element-spacing-vertical) * .5) 0;
    padding-left: var(--px-outline-width);
    border: 0;
    border-radius: 0;
    background: 0 0
}

[type=file]::file-selector-button {
    margin-right: calc(var(--px-spacing) / 2);
    padding: calc(var(--px-form-element-spacing-vertical) * .5) var(--px-form-element-spacing-horizontal)
}

[type=file]:is(:hover,:active,:focus)::file-selector-button {
    --px-background-color: var(--px-secondary-hover-background);
    --px-border-color: var(--px-secondary-hover-border)
}

[type=file]:focus::file-selector-button {
    --px-box-shadow: var(--px-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--px-outline-width) var(--px-secondary-focus)
}

[type=range] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    height: 1.25rem;
    background: 0 0
}

[type=range]::-webkit-slider-runnable-track {
    width: 100%;
    height: .375rem;
    border-radius: var(--px-border-radius);
    background-color: var(--px-range-border-color);
    -webkit-transition: background-color var(--px-transition), box-shadow var(--px-transition);
    transition: background-color var(--px-transition), box-shadow var(--px-transition)
}

[type=range]::-moz-range-track {
    width: 100%;
    height: .375rem;
    border-radius: var(--px-border-radius);
    background-color: var(--px-range-border-color);
    -moz-transition: background-color var(--px-transition), box-shadow var(--px-transition);
    transition: background-color var(--px-transition), box-shadow var(--px-transition)
}

[type=range]::-ms-track {
    width: 100%;
    height: .375rem;
    border-radius: var(--px-border-radius);
    background-color: var(--px-range-border-color);
    -ms-transition: background-color var(--px-transition), box-shadow var(--px-transition);
    transition: background-color var(--px-transition), box-shadow var(--px-transition)
}

[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 1.25rem;
    height: 1.25rem;
    margin-top: -.4375rem;
    border: 2px solid var(--px-range-thumb-border-color);
    border-radius: 50%;
    background-color: var(--px-range-thumb-color);
    cursor: pointer;
    -webkit-transition: background-color var(--px-transition), transform var(--px-transition);
    transition: background-color var(--px-transition), transform var(--px-transition)
}

[type=range]::-moz-range-thumb {
    -webkit-appearance: none;
    width: 1.25rem;
    height: 1.25rem;
    margin-top: -.4375rem;
    border: 2px solid var(--px-range-thumb-border-color);
    border-radius: 50%;
    background-color: var(--px-range-thumb-color);
    cursor: pointer;
    -moz-transition: background-color var(--px-transition), transform var(--px-transition);
    transition: background-color var(--px-transition), transform var(--px-transition)
}

[type=range]::-ms-thumb {
    -webkit-appearance: none;
    width: 1.25rem;
    height: 1.25rem;
    margin-top: -.4375rem;
    border: 2px solid var(--px-range-thumb-border-color);
    border-radius: 50%;
    background-color: var(--px-range-thumb-color);
    cursor: pointer;
    -ms-transition: background-color var(--px-transition), transform var(--px-transition);
    transition: background-color var(--px-transition), transform var(--px-transition)
}

[type=range]:active, [type=range]:focus-within {
    --px-range-border-color: var(--px-range-active-border-color);
    --px-range-thumb-color: var(--px-range-thumb-active-color)
}

[type=range]:active::-webkit-slider-thumb {
    transform: scale(1.25)
}

[type=range]:active::-moz-range-thumb {
    transform: scale(1.25)
}

[type=range]:active::-ms-thumb {
    transform: scale(1.25)
}

input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search] {
    padding-inline-start: calc(var(--px-form-element-spacing-horizontal) + 1.75rem);
    background-image: var(--px-icon-search);
    background-position: center left calc(var(--px-form-element-spacing-horizontal) + .125rem);
    background-size: 1rem auto;
    background-repeat: no-repeat
}

input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid] {
    padding-inline-start: calc(var(--px-form-element-spacing-horizontal) + 1.75rem) !important;
    background-position: center left 1.125rem, center right .75rem
}

input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid=false] {
    background-image: var(--px-icon-search), var(--px-icon-valid)
}

input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid=true] {
    background-image: var(--px-icon-search), var(--px-icon-invalid)
}

[dir=rtl] :where(input):not([type=checkbox],[type=radio],[type=range],[type=file])[type=search] {
    background-position: center right 1.125rem
}

[dir=rtl] :where(input):not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid] {
    background-position: center right 1.125rem, center left .75rem
}

details {
    display: block;
    margin-bottom: var(--px-spacing)
}

details summary {
    line-height: 1rem;
    list-style-type: none;
    cursor: pointer;
    transition: color var(--px-transition)
}

details summary:not([role]) {
    color: var(--px-accordion-close-summary-color)
}

details summary::-webkit-details-marker {
    display: none
}

details summary::marker {
    display: none
}

details summary::-moz-list-bullet {
    list-style-type: none
}

details summary::after {
    display: block;
    width: 1rem;
    height: 1rem;
    margin-inline-start: calc(var(--px-spacing, 1rem) * .5);
    float: right;
    transform: rotate(-90deg);
    background-image: var(--px-icon-chevron);
    background-position: right center;
    background-size: 1rem auto;
    background-repeat: no-repeat;
    content: "";
    transition: transform var(--px-transition)
}

details summary:focus {
    outline: 0
}

details summary:focus:not([role]) {
    color: var(--px-accordion-active-summary-color)
}

details summary:focus-visible:not([role]) {
    outline: var(--px-outline-width) solid var(--px-primary-focus);
    outline-offset: calc(var(--px-spacing, 1rem) * .5);
    color: var(--px-primary)
}

details summary[role=button] {
    width: 100%;
    text-align: left
}

details summary[role=button]::after {
    height: calc(1rem * var(--px-line-height, 1.5))
}

details[open] > summary {
    margin-bottom: var(--px-spacing)
}

details[open] > summary:not([role]):not(:focus) {
    color: var(--px-accordion-open-summary-color)
}

details[open] > summary::after {
    transform: rotate(0)
}

[dir=rtl] details summary {
    text-align: right
}

[dir=rtl] details summary::after {
    float: left;
    background-position: left center
}

article {
    margin-bottom: var(--px-block-spacing-vertical);
    padding: var(--px-block-spacing-vertical) var(--px-block-spacing-horizontal)
}

article > footer, article > header {
    margin-right: calc(var(--px-block-spacing-horizontal) * -1);
    margin-left: calc(var(--px-block-spacing-horizontal) * -1);
    padding: calc(var(--px-block-spacing-vertical) * .66) var(--px-block-spacing-horizontal)
}

article > header {
    margin-top: calc(var(--px-block-spacing-vertical) * -1);
    margin-bottom: var(--px-block-spacing-vertical)
}

article > footer {
    margin-top: var(--px-block-spacing-vertical);
    margin-bottom: calc(var(--px-block-spacing-vertical) * -1)
}

article.card {
    border-radius: var(--px-border-radius);
    background: var(--px-card-background-color);
    box-shadow: var(--px-card-box-shadow)
}

article.card > footer, article.card > header {
    background-color: var(--px-card-sectioning-background-color)
}

article.card > header {
    border-bottom: var(--px-border-width) solid var(--px-card-border-color);
    border-top-right-radius: var(--px-border-radius);
    border-top-left-radius: var(--px-border-radius)
}

article.card > footer {
    border-top: var(--px-border-width) solid var(--px-card-border-color);
    border-bottom-right-radius: var(--px-border-radius);
    border-bottom-left-radius: var(--px-border-radius)
}

details.dropdown {
    position: relative;
    border-bottom: none
}

details.dropdown > a::after, details.dropdown > button::after, details.dropdown > summary::after {
    display: block;
    width: 1rem;
    height: calc(1rem * var(--px-line-height, 1.5));
    margin-inline-start: .25rem;
    float: right;
    transform: rotate(0) translateX(.2rem);
    background-image: var(--px-icon-chevron);
    background-position: right center;
    background-size: 1rem auto;
    background-repeat: no-repeat;
    content: ""
}

details.dropdown > summary:not([role]) {
    height: calc(1rem * var(--px-line-height) + var(--px-form-element-spacing-vertical) * 2 + var(--px-border-width) * 2);
    padding: var(--px-form-element-spacing-vertical) var(--px-form-element-spacing-horizontal);
    border: var(--px-border-width) solid var(--px-form-element-border-color);
    border-radius: var(--px-border-radius);
    background-color: var(--px-form-element-background-color);
    color: var(--px-form-element-placeholder-color);
    line-height: inherit;
    cursor: pointer;
    user-select: none;
    transition: background-color var(--px-transition), border-color var(--px-transition), color var(--px-transition), box-shadow var(--px-transition)
}

details.dropdown > summary:not([role]):active, details.dropdown > summary:not([role]):focus {
    border-color: var(--px-form-element-active-border-color);
    background-color: var(--px-form-element-active-background-color)
}

details.dropdown > summary:not([role]):focus {
    box-shadow: 0 0 0 var(--px-outline-width) var(--px-form-element-focus-color)
}

details.dropdown > summary:not([role]):focus-visible {
    outline: 0
}

details.dropdown > summary:not([role])[aria-invalid=false] {
    --px-form-element-border-color: var(--px-form-element-valid-border-color);
    --px-form-element-active-border-color: var(--px-form-element-valid-focus-color);
    --px-form-element-focus-color: var(--px-form-element-valid-focus-color)
}

details.dropdown > summary:not([role])[aria-invalid=true] {
    --px-form-element-border-color: var(--px-form-element-invalid-border-color);
    --px-form-element-active-border-color: var(--px-form-element-invalid-focus-color);
    --px-form-element-focus-color: var(--px-form-element-invalid-focus-color)
}

details.dropdown > summary + ul {
    display: flex;
    z-index: var(--px-dropdown-z);
    position: absolute;
    left: 0;
    flex-direction: column;
    width: 100%;
    min-width: fit-content;
    margin: 0;
    margin-top: var(--px-outline-width);
    padding: 0;
    border: var(--px-border-width) solid var(--px-dropdown-border-color);
    border-radius: var(--px-border-radius);
    background-color: var(--px-dropdown-background-color);
    box-shadow: var(--px-dropdown-box-shadow);
    color: var(--px-dropdown-color);
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform-origin: top;
    transform: translateY(4px) scaleY(.98);
    transition: opacity var(--px-transition), transform var(--px-transition), visibility 0s linear var(--px-transition)
}

details.dropdown[open] > summary + ul {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scaleY(1);
    transition: opacity var(--px-transition), transform var(--px-transition), visibility 0s
}

details.dropdown > summary + ul[dir=rtl] {
    right: 0;
    left: auto
}

details.dropdown > summary + ul li {
    width: 100%;
    margin-bottom: 0;
    padding: calc(var(--px-form-element-spacing-vertical) * .5) var(--px-form-element-spacing-horizontal);
    list-style: none
}

details.dropdown > summary + ul li:first-of-type {
    margin-top: calc(var(--px-form-element-spacing-vertical) * .5)
}

details.dropdown > summary + ul li:last-of-type {
    margin-bottom: calc(var(--px-form-element-spacing-vertical) * .5)
}

details.dropdown > summary + ul li a {
    display: block;
    margin: calc(var(--px-form-element-spacing-vertical) * -.5) calc(var(--px-form-element-spacing-horizontal) * -1);
    padding: calc(var(--px-form-element-spacing-vertical) * .5) var(--px-form-element-spacing-horizontal);
    overflow: hidden;
    border-radius: 0;
    color: var(--px-dropdown-color);
    text-decoration: none;
    text-overflow: ellipsis
}

details.dropdown > summary + ul li a:is(:hover,:focus,:active,:focus-visible), details.dropdown > summary + ul li a[aria-current]:not([aria-current=false]) {
    background-color: var(--px-dropdown-hover-background-color)
}

details.dropdown > summary + ul li label {
    width: 100%
}

details.dropdown > summary + ul li:has(label):hover {
    background-color: var(--px-dropdown-hover-background-color)
}

details.dropdown[open] > summary {
    margin-bottom: 0
}

details.dropdown[open] > summary::before {
    display: block;
    z-index: 1;
    position: fixed;
    width: 100vw;
    height: 100vh;
    inset: 0;
    background: 0 0;
    content: "";
    cursor: default
}

label > details.dropdown {
    margin-top: calc(var(--px-spacing) * .25)
}

nav details.dropdown.nav-dropdown > summary + ul {
    min-width: 14rem;
    top: calc(100% + .5rem)
}

details.dropdown.end > summary + ul {
    inset-inline-start: auto;
    inset-inline-end: 0
}

details.dropdown.up > summary + ul {
    top: auto;
    bottom: calc(100% + .35rem);
    transform-origin: bottom;
    transform: translateY(-4px) scaleY(.98)
}

details.dropdown.up[open] > summary + ul {
    transform: translateY(0) scaleY(1)
}

details.dropdown.full > summary + ul {
    width: 100%;
    min-width: 100%;
    white-space: normal
}

nav details.dropdown.nav-dropdown.full > summary + ul {
    width: max-content;
    min-width: 14rem
}

details.dropdown.end > summary + ul {
    inset-inline-start: auto;
    inset-inline-end: 0
}

details.dropdown.up > summary + ul {
    top: auto;
    bottom: calc(100% + .35rem);
    transform: translateY(4px)
}

details.dropdown.up[open] > summary + ul {
    transform: translateY(0)
}

nav details.dropdown {
    display: inline-block;
    margin: calc(var(--px-nav-element-spacing-vertical) * -1) 0
}

nav details.dropdown > summary:not([role]) {
    height: calc(1rem * var(--px-line-height) + var(--px-nav-link-spacing-vertical) * 2);
    padding: calc(var(--px-nav-link-spacing-vertical) - var(--px-border-width) * 2) var(--px-nav-link-spacing-horizontal)
}

[role=group], [role=search] {
    display: inline-flex;
    position: relative;
    width: 100%;
    margin-bottom: var(--px-spacing);
    border-radius: var(--px-border-radius);
    box-shadow: var(--px-group-box-shadow, 0 0 0 transparent);
    vertical-align: middle;
    transition: box-shadow var(--px-transition)
}

[role=group] [type=file] {
    border: var(--px-border-width) solid var(--px-form-element-border-color);
}

[role=group] > label, [role=group] > legend, input:not([type=checkbox],[type=radio],[type=range],[type=file]), select, textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: var(--px-form-element-spacing-vertical) var(--px-form-element-spacing-horizontal)
}

[role=group] > label, [role=group] > legend, input, select, textarea {
    --px-background-color: var(--px-form-element-background-color);
    --px-border-color: var(--px-form-element-border-color);
    --px-color: var(--px-form-element-color);
    --px-box-shadow: none;
    border: var(--px-border-width) solid var(--px-border-color);
    border-radius: var(--px-border-radius);
    outline: 0;
    background-color: var(--px-background-color);
    box-shadow: var(--px-box-shadow);
    color: var(--px-color);
    font-weight: var(--px-font-weight);
    transition: background-color var(--px-transition), border-color var(--px-transition), color var(--px-transition), box-shadow var(--px-transition)
}

[role=group]:has(textarea) > label {
    margin-bottom: 0;
    border-right: none !important
}

[role=group] input:not([type=checkbox],[type=radio]), [role=group] select, [role=group] > *, [role=search] input:not([type=checkbox],[type=radio]), [role=search] select, [role=search] > * {
    position: relative;
    flex: 1 1 auto;
    margin-bottom: 0;
    white-space: nowrap
}

[role=group] input:not([type=checkbox],[type=radio]):not(:first-child), [role=group] select:not(:first-child), [role=group] > :not(:first-child), [role=search] input:not([type=checkbox],[type=radio]):not(:first-child), [role=search] select:not(:first-child), [role=search] > :not(:first-child) {
    margin-left: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

[role=group] input:not([type=checkbox],[type=radio]):not(:last-child), [role=group] select:not(:last-child), [role=group] > :not(:last-child), [role=search] input:not([type=checkbox],[type=radio]):not(:last-child), [role=search] select:not(:last-child), [role=search] > :not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

[role=group] input:not([type=checkbox],[type=radio]):focus, [role=group] select:focus, [role=group] > :focus, [role=search] input:not([type=checkbox],[type=radio]):focus, [role=search] select:focus, [role=search] > :focus {
    z-index: 2
}

[role=group] [role=button]:not(:first-child), [role=group] [type=button]:not(:first-child), [role=group] [type=reset]:not(:first-child), [role=group] [type=submit]:not(:first-child), [role=group] button:not(:first-child), [role=group] input:not([type=checkbox],[type=radio]):not(:first-child), [role=group] select:not(:first-child), [role=search] [role=button]:not(:first-child), [role=search] [type=button]:not(:first-child), [role=search] [type=reset]:not(:first-child), [role=search] [type=submit]:not(:first-child), [role=search] button:not(:first-child), [role=search] input:not([type=checkbox],[type=radio]):not(:first-child), [role=search] select:not(:first-child) {
    margin-left: calc(var(--px-border-width) * -1)
}

[role=group] [role=button], [role=group] [type=button], [role=group] [type=reset], [role=group] [type=submit], [role=group] button, [role=search] [role=button], [role=search] [type=button], [role=search] [type=reset], [role=search] [type=submit], [role=search] button {
    width: auto
}

@supports selector(:has(*)) {
    [role=group]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus), [role=search]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus) {
        --px-group-box-shadow: var(--px-group-box-shadow-focus-with-button)
    }

    [role=group]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus) input:not([type=checkbox],[type=radio]), [role=group]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus) select, [role=search]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus) input:not([type=checkbox],[type=radio]), [role=search]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus) select {
        border-color: transparent
    }

    [role=group]:has(input:not([type=submit],[type=button]):focus,select:focus), [role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) {
        --px-group-box-shadow: var(--px-group-box-shadow-focus-with-input)
    }

    [role=group]:has(input:not([type=submit],[type=button]):focus,select:focus) [role=button], [role=group]:has(input:not([type=submit],[type=button]):focus,select:focus) [type=button], [role=group]:has(input:not([type=submit],[type=button]):focus,select:focus) [type=submit], [role=group]:has(input:not([type=submit],[type=button]):focus,select:focus) button, [role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) [role=button], [role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) [type=button], [role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) [type=submit], [role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) button {
        --px-button-box-shadow: 0 0 0 var(--px-border-width) var(--px-primary-border);
        --px-button-hover-box-shadow: 0 0 0 var(--px-border-width) var(--px-primary-hover-border)
    }

    [role=group] [role=button]:focus, [role=group] [type=button]:focus, [role=group] [type=reset]:focus, [role=group] [type=submit]:focus, [role=group] button:focus, [role=search] [role=button]:focus, [role=search] [type=button]:focus, [role=search] [type=reset]:focus, [role=search] [type=submit]:focus, [role=search] button:focus {
        box-shadow: none
    }
}

[role=search] > :first-child {
    border-top-left-radius: 5rem;
    border-bottom-left-radius: 5rem
}

[role=search] > :last-child {
    border-top-right-radius: 5rem;
    border-bottom-right-radius: 5rem
}

[aria-busy=true]:not(input,select,textarea,html,form) {
    white-space: nowrap
}

[aria-busy=true]:not(input,select,textarea,html,form,progress)::before {
    display: inline-block;
    width: 1em;
    height: 1em;
    background-image: var(--px-icon-loading);
    background-size: 1em auto;
    background-repeat: no-repeat;
    content: "";
    vertical-align: -.125em
}

[aria-busy=true]:not(input,select,textarea,html,form):not(:empty)::before {
    margin-inline-end: calc(var(--px-spacing) * .5)
}

[aria-busy=true]:not(input,select,textarea,html,form):empty {
    text-align: center
}

[role=button][aria-busy=true], [type=button][aria-busy=true], [type=reset][aria-busy=true], [type=submit][aria-busy=true], a[aria-busy=true], button[aria-busy=true] {
    pointer-events: none
}

:host, :root {
    --px-scrollbar-width: 0px
}


dialog {
    position: fixed;
    inset: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000
}

dialog::backdrop {
    background: var(--px-modal-backdrop);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px)
}

dialog > article {
    margin: 0;
    width: min(720px, calc(100% - 3rem));
    max-height: calc(100dvh - 3rem);
    overflow: auto;
    padding: 1.5rem 1.5rem 1.25rem;
    border-radius: 10px;
    background: var(--px-modal-surface, var(--px-card-background-color));
    color: var(--px-color);
    border: 1px solid var(--px-modal-border, var(--px-muted-border-color));
    box-shadow: var(--px-modal-shadow, var(--px-box-shadow));
    box-sizing: border-box
}

dialog > article > header > * {
    margin-bottom: 0;
}
dialog > article > header .close, dialog > article > header :is(a, button)[rel=prev] {
    margin: 0;
    margin-left: var(--px-spacing);
    padding: 0;
    float: right;
}

dialog > article .close, dialog > article :is(a, button)[rel=prev] {
    display: block;
    width: 1rem;
    height: 1rem;
    margin-top: calc(var(--px-spacing) * -1);
    margin-bottom: var(--px-spacing);
    margin-left: auto;
    border: none;
    background-image: var(--px-icon-close);
    background-position: center;
    background-size: auto 1rem;
    background-repeat: no-repeat;
    background-color: transparent;
    opacity: 0.5;
    transition: opacity var(--px-transition);
}
dialog > article .close:is([aria-current]:not([aria-current=false]), :hover, :active, :focus), dialog > article :is(a, button)[rel=prev]:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
    opacity: 1;
}

dialog > article > p {
    margin: 1rem 0 0;
    color: var(--px-muted-color);
    font-size: 1.05rem;
    line-height: 1.55;
    max-width: 60ch
}

dialog > article > footer {
    margin: 1.5rem 0 0;
    padding: 0;
    background: 0 0;
    border: 0;
    display: flex;
    justify-content: flex-end;
    gap: .75rem
}

dialog > article > footer button {
    width: auto;
    min-width: 120px;
    margin: 0;
    padding: .8rem 1.25rem;
    border-radius: 8px
}

@media (min-width: 576px) {
    dialog > article {
        max-width: 510px
    }
}

@media (min-width: 768px) {
    dialog > article {
        max-width: 700px
    }
}

dialog:not([open]), dialog[open=false] {
    display: none
}

.modal-is-open {
    padding-right: var(--px-scrollbar-width, 0);
    overflow: hidden
}

:where(.modal-is-opening,.modal-is-closing) dialog::backdrop, :where(.modal-is-opening,.modal-is-closing) dialog > article {
    animation-timing-function: ease-in-out;
    animation-fill-mode: both
}

:where(.modal-is-opening,.modal-is-closing) dialog::backdrop {
    animation-duration: .25s;
    animation-name: px-backdrop
}

:where(.modal-is-opening,.modal-is-closing) dialog > article {
    animation-duration: .25s;
    animation-name: px-modal
}

.modal-is-closing dialog::backdrop, .modal-is-closing dialog > article {
    animation-direction: reverse
}

@keyframes px-backdrop {
    from {
        background-color: transparent;
        -webkit-backdrop-filter: none;
        backdrop-filter: none
    }
}

@keyframes px-modal {
    from {
        transform: translateY(-12px);
        opacity: 0
    }
}

:where(nav li)::before {
    float: left;
    content: " "
}

nav, nav ul {
    display: flex
}

nav {
    justify-content: space-between;
    overflow: visible
}

nav ol, nav ul {
    align-items: center;
    margin-bottom: 0;
    padding: 0;
    list-style: none
}

nav ol:first-of-type, nav ul:first-of-type {
    margin-left: calc(var(--px-nav-element-spacing-horizontal) * -1)
}

nav ol:last-of-type, nav ul:last-of-type {
    margin-right: calc(var(--px-nav-element-spacing-horizontal) * -1)
}

nav li {
    display: inline-block;
    margin: 0;
    padding: var(--px-nav-element-spacing-vertical) var(--px-nav-element-spacing-horizontal)
}

nav li :where(a,[role=link]) {
    display: inline-block;
    margin: calc(var(--px-nav-link-spacing-vertical) * -1) calc(var(--px-nav-link-spacing-horizontal) * -1);
    padding: var(--px-nav-link-spacing-vertical) var(--px-nav-link-spacing-horizontal);
    border-radius: var(--px-border-radius)
}

nav li :where(a,[role=link]):not(:hover) {
    text-decoration: none
}

nav li :where(a[role=button],button,[role=button]) {
    display: inline-flex;
    align-items: center;
    justify-content: center
}

nav li :is([role=button],[type=button],button,input:not([type=checkbox],[type=radio],[type=range],[type=file]),select) {
    height: auto;
    margin-right: inherit;
    margin-bottom: 0;
    margin-left: inherit;
    padding: calc(var(--px-nav-link-spacing-vertical) - var(--px-border-width) * 2) var(--px-nav-link-spacing-horizontal)
}

nav[aria-label=breadcrumb] {
    align-items: center;
    justify-content: start
}

nav[aria-label=breadcrumb] ul li:not(:first-child) {
    margin-inline-start: var(--px-nav-link-spacing-horizontal)
}

nav[aria-label=breadcrumb] ul li a {
    margin: calc(var(--px-nav-link-spacing-vertical) * -1) 0;
    margin-inline-start: calc(var(--px-nav-link-spacing-horizontal) * -1)
}

nav[aria-label=breadcrumb] ul li:not(:last-child)::after {
    display: inline-block;
    position: absolute;
    width: calc(var(--px-nav-link-spacing-horizontal) * 4);
    margin: 0 calc(var(--px-nav-link-spacing-horizontal) * -1);
    content: var(--px-nav-breadcrumb-divider);
    color: var(--px-muted-color);
    text-align: center;
    text-decoration: none;
    white-space: nowrap
}

nav[aria-label=breadcrumb] a[aria-current]:not([aria-current=false]) {
    background-color: transparent;
    color: inherit;
    text-decoration: none;
    pointer-events: none
}

nav li svg {
    width: 1.25rem;
    height: 1.25rem;
    display: block
}

nav li a[role=button] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: auto;
    margin: 0;
    margin-bottom: 0;
    padding: calc(var(--px-nav-link-spacing-vertical) - var(--px-border-width) * 2) var(--px-nav-link-spacing-horizontal);
    line-height: var(--px-line-height)
}

[dir=rtl] nav[aria-label=breadcrumb] ul li:not(:last-child)::after {
    content: "\\"
}

aside li, aside nav, aside ol, aside ul {
    display: block
}

aside li {
    padding: calc(var(--px-nav-element-spacing-vertical) * .5) var(--px-nav-element-spacing-horizontal)
}

aside li a {
    display: block
}

aside li [role=button] {
    margin: inherit
}

[dir=rtl] nav[aria-label=breadcrumb] ul li:not(:last-child) ::after {
    content: "\\"
}

progress {
    display: inline-block;
    vertical-align: baseline
}

progress {
    -webkit-appearance: none;
    -moz-appearance: none;
    display: inline-block;
    appearance: none;
    width: 100%;
    height: .5rem;
    margin-bottom: calc(var(--px-spacing) * .5);
    overflow: hidden;
    border: 0;
    border-radius: var(--px-border-radius);
    background-color: var(--px-progress-background-color);
    color: var(--px-progress-color)
}

progress::-webkit-progress-bar {
    border-radius: var(--px-border-radius);
    background: 0 0
}

progress[value]::-webkit-progress-value {
    background-color: var(--px-progress-color);
    -webkit-transition: inline-size var(--px-transition);
    transition: inline-size var(--px-transition)
}

progress::-moz-progress-bar {
    background-color: var(--px-progress-color)
}

@media (prefers-reduced-motion: no-preference) {
    progress:indeterminate {
        background: var(--px-progress-background-color) linear-gradient(to right, var(--px-progress-color) 30%, var(--px-progress-background-color) 30%) top left/150% 150% no-repeat;
        animation: progress-indeterminate 1s linear infinite
    }

    progress:indeterminate[value]::-webkit-progress-value {
        background-color: transparent
    }

    progress:indeterminate::-moz-progress-bar {
        background-color: transparent
    }
}

@media (prefers-reduced-motion: no-preference) {
    [dir=rtl] progress:indeterminate {
        animation-direction: reverse
    }
}

@keyframes progress-indeterminate {
    0% {
        background-position: 200% 0
    }
    100% {
        background-position: -200% 0
    }
}

meter {
    appearance: none;
    width: 100%;
    height: .5rem;
    border: 0;
    border-radius: var(--px-border-radius);
    background-color: var(--px-progress-background-color);
    color: var(--px-progress-color);
    overflow: hidden
}

meter::-webkit-meter-bar {
    background: var(--px-progress-background-color);
    border-radius: var(--px-border-radius);
    height: .5rem
}

meter::-webkit-meter-optimum-value {
    background: var(--px-progress-color);
    border-radius: var(--px-border-radius)
}

meter::-webkit-meter-suboptimum-value {
    background: #f0ad4e
}

meter::-webkit-meter-even-less-good-value {
    background: #d9534f !important
}

meter::-moz-meter-bar {
    background: var(--px-progress-color) !important
}

[data-tooltip] {
    position: relative
}

[data-tooltip]:not(a,button,input,[role=button]) {
    border-bottom: 1px dotted;
    text-decoration: none;
    cursor: help
}

[data-tooltip]::after, [data-tooltip]::before, [data-tooltip][data-placement=top]::after, [data-tooltip][data-placement=top]::before {
    display: block;
    z-index: 99;
    position: absolute;
    bottom: 100%;
    left: 50%;
    padding: .25rem .5rem;
    overflow: hidden;
    transform: translate(-50%, -.25rem);
    border-radius: var(--px-border-radius);
    background: var(--px-tooltip-background-color);
    content: attr(data-tooltip);
    color: var(--px-tooltip-color);
    font-style: normal;
    font-weight: var(--px-font-weight);
    font-size: .875rem;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none
}

[data-tooltip]::after, [data-tooltip][data-placement=top]::after {
    padding: 0;
    transform: translate(-50%, 0);
    border-top: .3rem solid;
    border-right: .3rem solid transparent;
    border-left: .3rem solid transparent;
    border-radius: 0;
    background-color: transparent;
    content: "";
    color: var(--px-tooltip-background-color)
}

[data-tooltip][data-placement=bottom]::after, [data-tooltip][data-placement=bottom]::before {
    top: 100%;
    bottom: auto;
    transform: translate(-50%, .25rem)
}

[data-tooltip][data-placement=bottom]:after {
    transform: translate(-50%, -.3rem);
    border: .3rem solid #fff0;
    border-bottom: .3rem solid
}

[data-tooltip][data-placement=left]::after, [data-tooltip][data-placement=left]::before {
    top: 50%;
    right: 100%;
    bottom: auto;
    left: auto;
    transform: translate(-.25rem, -50%)
}

[data-tooltip][data-placement=left]:after {
    transform: translate(.3rem, -50%);
    border: .3rem solid #fff0;
    border-left: .3rem solid
}

[data-tooltip][data-placement=right]::after, [data-tooltip][data-placement=right]::before {
    top: 50%;
    right: auto;
    bottom: auto;
    left: 100%;
    transform: translate(.25rem, -50%)
}

[data-tooltip][data-placement=right]:after {
    transform: translate(-.3rem, -50%);
    border: .3rem solid #fff0;
    border-right: .3rem solid
}

[data-tooltip]:focus::after, [data-tooltip]:focus::before, [data-tooltip]:hover::after, [data-tooltip]:hover::before {
    opacity: 1
}

@media (hover: hover) and (pointer: fine) {
    [data-tooltip]:focus::after, [data-tooltip]:focus::before, [data-tooltip]:hover::after, [data-tooltip]:hover::before {
        --px-tooltip-slide-to: translate(-50%, -0.25rem);
        transform: translate(-50%, .75rem);
        animation-duration: .2s;
        animation-fill-mode: forwards;
        animation-name: tooltip-slide;
        opacity: 0
    }

    [data-tooltip]:focus::after, [data-tooltip]:hover::after {
        --px-tooltip-caret-slide-to: translate(-50%, 0rem);
        transform: translate(-50%, -.25rem);
        animation-name: tooltip-caret-slide
    }

    [data-tooltip][data-placement=bottom]:focus::after, [data-tooltip][data-placement=bottom]:focus::before, [data-tooltip][data-placement=bottom]:hover::after, [data-tooltip][data-placement=bottom]:hover::before {
        --px-tooltip-slide-to: translate(-50%, 0.25rem);
        transform: translate(-50%, -.75rem);
        animation-name: tooltip-slide
    }

    [data-tooltip][data-placement=bottom]:focus::after, [data-tooltip][data-placement=bottom]:hover::after {
        --px-tooltip-caret-slide-to: translate(-50%, -0.3rem);
        transform: translate(-50%, -.5rem);
        animation-name: tooltip-caret-slide
    }

    [data-tooltip][data-placement=left]:focus::after, [data-tooltip][data-placement=left]:focus::before, [data-tooltip][data-placement=left]:hover::after, [data-tooltip][data-placement=left]:hover::before {
        --px-tooltip-slide-to: translate(-0.25rem, -50%);
        transform: translate(.75rem, -50%);
        animation-name: tooltip-slide
    }

    [data-tooltip][data-placement=left]:focus::after, [data-tooltip][data-placement=left]:hover::after {
        --px-tooltip-caret-slide-to: translate(0.3rem, -50%);
        transform: translate(.05rem, -50%);
        animation-name: tooltip-caret-slide
    }

    [data-tooltip][data-placement=right]:focus::after, [data-tooltip][data-placement=right]:focus::before, [data-tooltip][data-placement=right]:hover::after, [data-tooltip][data-placement=right]:hover::before {
        --px-tooltip-slide-to: translate(0.25rem, -50%);
        transform: translate(-.75rem, -50%);
        animation-name: tooltip-slide
    }

    [data-tooltip][data-placement=right]:focus::after, [data-tooltip][data-placement=right]:hover::after {
        --px-tooltip-caret-slide-to: translate(-0.3rem, -50%);
        transform: translate(-.05rem, -50%);
        animation-name: tooltip-caret-slide
    }
}

@keyframes tooltip-slide {
    to {
        transform: var(--px-tooltip-slide-to);
        opacity: 1
    }
}

@keyframes tooltip-caret-slide {
    50% {
        opacity: 0
    }
    to {
        transform: var(--px-tooltip-caret-slide-to);
        opacity: 1
    }
}

[aria-controls] {
    cursor: pointer
}

[aria-disabled=true], [disabled] {
    cursor: not-allowed
}

[aria-hidden=false][hidden] {
    display: initial
}

[aria-hidden=false][hidden]:not(:focus) {
    clip: rect(0, 0, 0, 0);
    position: absolute
}

[tabindex], a, area, button, input, label, select, summary, textarea {
    -ms-touch-action: manipulation
}

[dir=rtl] {
    direction: rtl
}

.shadow-none {
    box-shadow: none !important;
}

.border {
    border: var(--px-border-width) solid var(--px-form-element-border-color) !important;
}

@media (prefers-reduced-motion: reduce) {
    :not([aria-busy=true]), :not([aria-busy=true])::after, :not([aria-busy=true])::before {
        background-attachment: initial !important;
        animation-duration: 1ms !important;
        animation-delay: -1ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-delay: 0s !important;
        transition-duration: 0s !important
    }
}
