/* <auto-generated>
   Generated by tools/ShinyThemeGen from /themes/*.json. DO NOT EDIT.
   Edit the source JSON theme and re-run: dotnet run --project tools/ShinyThemeGen
   </auto-generated> */

:root {
    /* ===== Color (light) ===== */
    --shiny-color-primary: #0055D9;
    --shiny-color-on-primary: #FFFFFF;
    --shiny-color-primary-container: #C2D6FF;
    --shiny-color-on-primary-container: #001886;
    --shiny-color-secondary: #565F6D;
    --shiny-color-on-secondary: #FFFFFF;
    --shiny-color-secondary-container: #D9E3F3;
    --shiny-color-on-secondary-container: #131C28;
    --shiny-color-tertiary: #6A4CAD;
    --shiny-color-on-tertiary: #FFFFFF;
    --shiny-color-tertiary-container: #F7CFFF;
    --shiny-color-on-tertiary-container: #15075E;
    --shiny-color-error: #C20014;
    --shiny-color-on-error: #FFFFFF;
    --shiny-color-error-container: #FFA78D;
    --shiny-color-on-error-container: #670000;
    --shiny-color-background: #F8F9FB;
    --shiny-color-on-background: #181C20;
    --shiny-color-surface: #F8F9FB;
    --shiny-color-on-surface: #181C20;
    --shiny-color-surface-variant: #DBE3F2;
    --shiny-color-on-surface-variant: #404753;
    --shiny-color-surface-container-lowest: #FFFFFF;
    --shiny-color-surface-container-low: #F2F4F6;
    --shiny-color-surface-container: #EBEEF2;
    --shiny-color-surface-container-high: #E5E8ED;
    --shiny-color-surface-container-highest: #DEE3E9;
    --shiny-color-surface-tint: #0055D9;
    --shiny-color-outline: #707785;
    --shiny-color-outline-variant: #BFC7D6;
    --shiny-color-shadow: #000000;
    --shiny-color-scrim: #000000;
    --shiny-color-inverse-surface: #2D3135;
    --shiny-color-inverse-on-surface: #EFF1F4;
    --shiny-color-inverse-primary: #A3BAFF;
    --shiny-color-success: #00711C;
    --shiny-color-on-success: #FFFFFF;
    --shiny-color-success-container: #81FB9A;
    --shiny-color-on-success-container: #002A00;
    --shiny-color-info: #0055D9;
    --shiny-color-on-info: #FFFFFF;
    --shiny-color-info-container: #C2D6FF;
    --shiny-color-on-info-container: #001886;
    --shiny-color-warning: #9C4500;
    --shiny-color-on-warning: #FFFFFF;
    --shiny-color-warning-container: #FFC862;
    --shiny-color-on-warning-container: #4D0000;
    --shiny-color-caution: #B42800;
    --shiny-color-on-caution: #FFFFFF;
    --shiny-color-caution-container: #FFB469;
    --shiny-color-on-caution-container: #5E0000;
    --shiny-color-critical: #C20014;
    --shiny-color-on-critical: #FFFFFF;
    --shiny-color-critical-container: #FFA78D;
    --shiny-color-on-critical-container: #670000;

    /* ===== Shape ===== */
    --shiny-shape-corner-none: 0px;
    --shiny-shape-corner-extra-small: 4px;
    --shiny-shape-corner-small: 8px;
    --shiny-shape-corner-medium: 12px;
    --shiny-shape-corner-large: 16px;
    --shiny-shape-corner-extra-large: 28px;
    --shiny-shape-corner-full: 9999px;

    /* ===== State ===== */
    --shiny-state-hover-opacity: 0.08;
    --shiny-state-focus-opacity: 0.1;
    --shiny-state-pressed-opacity: 0.1;
    --shiny-state-dragged-opacity: 0.16;

    /* ===== Spacing ===== */
    --shiny-spacing-0: 0px;
    --shiny-spacing-1: 4px;
    --shiny-spacing-2: 8px;
    --shiny-spacing-3: 12px;
    --shiny-spacing-4: 16px;
    --shiny-spacing-5: 24px;
    --shiny-spacing-6: 32px;
    --shiny-spacing-7: 48px;
    --shiny-spacing-8: 64px;

    /* ===== Type scale ===== */
    --shiny-type-display-large-size: 57px;
    --shiny-type-display-large-line-height: 64px;
    --shiny-type-display-large-weight: 400;
    --shiny-type-display-large-tracking: -0.25px;
    --shiny-type-display-medium-size: 45px;
    --shiny-type-display-medium-line-height: 52px;
    --shiny-type-display-medium-weight: 400;
    --shiny-type-display-medium-tracking: 0px;
    --shiny-type-display-small-size: 36px;
    --shiny-type-display-small-line-height: 44px;
    --shiny-type-display-small-weight: 400;
    --shiny-type-display-small-tracking: 0px;
    --shiny-type-headline-large-size: 32px;
    --shiny-type-headline-large-line-height: 40px;
    --shiny-type-headline-large-weight: 400;
    --shiny-type-headline-large-tracking: 0px;
    --shiny-type-headline-medium-size: 28px;
    --shiny-type-headline-medium-line-height: 36px;
    --shiny-type-headline-medium-weight: 400;
    --shiny-type-headline-medium-tracking: 0px;
    --shiny-type-headline-small-size: 24px;
    --shiny-type-headline-small-line-height: 32px;
    --shiny-type-headline-small-weight: 400;
    --shiny-type-headline-small-tracking: 0px;
    --shiny-type-title-large-size: 22px;
    --shiny-type-title-large-line-height: 28px;
    --shiny-type-title-large-weight: 400;
    --shiny-type-title-large-tracking: 0px;
    --shiny-type-title-medium-size: 16px;
    --shiny-type-title-medium-line-height: 24px;
    --shiny-type-title-medium-weight: 500;
    --shiny-type-title-medium-tracking: 0.15px;
    --shiny-type-title-small-size: 14px;
    --shiny-type-title-small-line-height: 20px;
    --shiny-type-title-small-weight: 500;
    --shiny-type-title-small-tracking: 0.1px;
    --shiny-type-body-large-size: 16px;
    --shiny-type-body-large-line-height: 24px;
    --shiny-type-body-large-weight: 400;
    --shiny-type-body-large-tracking: 0.5px;
    --shiny-type-body-medium-size: 14px;
    --shiny-type-body-medium-line-height: 20px;
    --shiny-type-body-medium-weight: 400;
    --shiny-type-body-medium-tracking: 0.25px;
    --shiny-type-body-small-size: 12px;
    --shiny-type-body-small-line-height: 16px;
    --shiny-type-body-small-weight: 400;
    --shiny-type-body-small-tracking: 0.4px;
    --shiny-type-label-large-size: 14px;
    --shiny-type-label-large-line-height: 20px;
    --shiny-type-label-large-weight: 500;
    --shiny-type-label-large-tracking: 0.1px;
    --shiny-type-label-medium-size: 12px;
    --shiny-type-label-medium-line-height: 16px;
    --shiny-type-label-medium-weight: 500;
    --shiny-type-label-medium-tracking: 0.5px;
    --shiny-type-label-small-size: 11px;
    --shiny-type-label-small-line-height: 16px;
    --shiny-type-label-small-weight: 500;
    --shiny-type-label-small-tracking: 0.5px;

    /* ===== Elevation ===== */
    --shiny-elevation-0: none;
    --shiny-elevation-1: 0 1px 2px rgba(0,0,0,0.3), 0 1px 3px 1px rgba(0,0,0,0.15);
    --shiny-elevation-2: 0 1px 2px rgba(0,0,0,0.3), 0 2px 6px 2px rgba(0,0,0,0.15);
    --shiny-elevation-3: 0 4px 8px 3px rgba(0,0,0,0.15), 0 1px 3px rgba(0,0,0,0.3);
    --shiny-elevation-4: 0 6px 10px 4px rgba(0,0,0,0.15), 0 2px 3px rgba(0,0,0,0.3);
    --shiny-elevation-5: 0 8px 12px 6px rgba(0,0,0,0.15), 0 4px 4px rgba(0,0,0,0.3);
}

/* Explicit dark mode (toggle .shiny-theme-dark on <html> or a container) */
:root.shiny-theme-dark,
.shiny-theme-dark {
    --shiny-color-primary: #A3BAFF;
    --shiny-color-on-primary: #002AA1;
    --shiny-color-primary-container: #003EBD;
    --shiny-color-on-primary-container: #C2D6FF;
    --shiny-color-secondary: #BDC7D7;
    --shiny-color-on-secondary: #28313D;
    --shiny-color-secondary-container: #3F4755;
    --shiny-color-on-secondary-container: #D9E3F3;
    --shiny-color-tertiary: #DAB3FF;
    --shiny-color-on-tertiary: #341E78;
    --shiny-color-tertiary-container: #4F3492;
    --shiny-color-on-tertiary-container: #F7CFFF;
    --shiny-color-error: #FF8A73;
    --shiny-color-on-error: #830000;
    --shiny-color-error-container: #A20000;
    --shiny-color-on-error-container: #FFA78D;
    --shiny-color-background: #111416;
    --shiny-color-on-background: #DEE3E9;
    --shiny-color-surface: #111416;
    --shiny-color-on-surface: #DEE3E9;
    --shiny-color-surface-variant: #404753;
    --shiny-color-on-surface-variant: #BFC7D6;
    --shiny-color-surface-container-lowest: #0C0E11;
    --shiny-color-surface-container-low: #181C20;
    --shiny-color-surface-container: #1C2024;
    --shiny-color-surface-container-high: #272A2F;
    --shiny-color-surface-container-highest: #31353A;
    --shiny-color-surface-tint: #A3BAFF;
    --shiny-color-outline: #8A919F;
    --shiny-color-outline-variant: #404753;
    --shiny-color-shadow: #000000;
    --shiny-color-scrim: #000000;
    --shiny-color-inverse-surface: #DEE3E9;
    --shiny-color-inverse-on-surface: #2D3135;
    --shiny-color-inverse-primary: #0055D9;
    --shiny-color-success: #63DE80;
    --shiny-color-on-success: #003E00;
    --shiny-color-success-container: #005700;
    --shiny-color-on-success-container: #81FB9A;
    --shiny-color-info: #A3BAFF;
    --shiny-color-on-info: #002AA1;
    --shiny-color-info-container: #003EBD;
    --shiny-color-on-info-container: #C2D6FF;
    --shiny-color-warning: #FFAC48;
    --shiny-color-on-warning: #641300;
    --shiny-color-warning-container: #7F2D00;
    --shiny-color-on-warning-container: #FFC862;
    --shiny-color-caution: #FF984F;
    --shiny-color-on-caution: #780000;
    --shiny-color-caution-container: #960000;
    --shiny-color-on-caution-container: #FFB469;
    --shiny-color-critical: #FF8A73;
    --shiny-color-on-critical: #830000;
    --shiny-color-critical-container: #A20000;
    --shiny-color-on-critical-container: #FFA78D;
}

/* Follow OS dark preference unless explicitly set to light */
@media (prefers-color-scheme: dark) {
    :root:not(.shiny-theme-light) {
        --shiny-color-primary: #A3BAFF;
        --shiny-color-on-primary: #002AA1;
        --shiny-color-primary-container: #003EBD;
        --shiny-color-on-primary-container: #C2D6FF;
        --shiny-color-secondary: #BDC7D7;
        --shiny-color-on-secondary: #28313D;
        --shiny-color-secondary-container: #3F4755;
        --shiny-color-on-secondary-container: #D9E3F3;
        --shiny-color-tertiary: #DAB3FF;
        --shiny-color-on-tertiary: #341E78;
        --shiny-color-tertiary-container: #4F3492;
        --shiny-color-on-tertiary-container: #F7CFFF;
        --shiny-color-error: #FF8A73;
        --shiny-color-on-error: #830000;
        --shiny-color-error-container: #A20000;
        --shiny-color-on-error-container: #FFA78D;
        --shiny-color-background: #111416;
        --shiny-color-on-background: #DEE3E9;
        --shiny-color-surface: #111416;
        --shiny-color-on-surface: #DEE3E9;
        --shiny-color-surface-variant: #404753;
        --shiny-color-on-surface-variant: #BFC7D6;
        --shiny-color-surface-container-lowest: #0C0E11;
        --shiny-color-surface-container-low: #181C20;
        --shiny-color-surface-container: #1C2024;
        --shiny-color-surface-container-high: #272A2F;
        --shiny-color-surface-container-highest: #31353A;
        --shiny-color-surface-tint: #A3BAFF;
        --shiny-color-outline: #8A919F;
        --shiny-color-outline-variant: #404753;
        --shiny-color-shadow: #000000;
        --shiny-color-scrim: #000000;
        --shiny-color-inverse-surface: #DEE3E9;
        --shiny-color-inverse-on-surface: #2D3135;
        --shiny-color-inverse-primary: #0055D9;
        --shiny-color-success: #63DE80;
        --shiny-color-on-success: #003E00;
        --shiny-color-success-container: #005700;
        --shiny-color-on-success-container: #81FB9A;
        --shiny-color-info: #A3BAFF;
        --shiny-color-on-info: #002AA1;
        --shiny-color-info-container: #003EBD;
        --shiny-color-on-info-container: #C2D6FF;
        --shiny-color-warning: #FFAC48;
        --shiny-color-on-warning: #641300;
        --shiny-color-warning-container: #7F2D00;
        --shiny-color-on-warning-container: #FFC862;
        --shiny-color-caution: #FF984F;
        --shiny-color-on-caution: #780000;
        --shiny-color-caution-container: #960000;
        --shiny-color-on-caution-container: #FFB469;
        --shiny-color-critical: #FF8A73;
        --shiny-color-on-critical: #830000;
        --shiny-color-critical-container: #A20000;
        --shiny-color-on-critical-container: #FFA78D;
    }
}
