/* Landmark.LcComponents — Fluent theme (the shipped default).
   Selector specificity is load-bearing. (0,3,0) here outranks both an app's legacy `:root`
   block (0,1,0) and its legacy `:root[data-theme="dark"]` block (0,2,0), so this file wins
   regardless of link order and an app can adopt the theme system before deleting its own
   token block. The second selector in each pair is the scoped case — a nested
   LcThemeProvider stamps the same attributes on a plain <div>, and custom properties
   inherit from there. */

:root[data-lc-theme="fluent"][data-lc-mode="light"],
[data-lc-theme="fluent"][data-lc-mode="light"]:not(:root) {
    /* Fluent UI Theme */
    --shadow2: 0 0 2px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.14);
    --foreground: 0deg 0% 14%; /*#242424*/
    --foregroundHover: 0deg 0% 14%; /*#242424*/
    --foregroundPressed: 0deg 0% 14%; /*#242424*/
    --foregroundSelected: 0deg 0% 14%; /*#242424*/
    --foreground2: 0deg 0% 26%; /*#424242*/
    --foreground2Hover: 0deg 0% 14%; /*#242424*/
    --foreground2Pressed: 0deg 0% 14%; /*#242424*/
    --foreground2Selected: 0deg 0% 14%; /*#242424*/
    --foreground2BrandHover: 208deg 85% 40%; /*#0f6cbd*/
    --foreground2BrandPressed: 208deg 81% 35%; /*#115ea3*/
    --foreground2BrandSelected: 208deg 85% 40%; /*#0f6cbd*/
    --foreground3: 0deg 0% 38%; /*#616161*/
    --foreground4: 0deg 0% 44%; /*#707070*/
    --foregroundDisabled: 0deg 0% 74%; /*#bdbdbd*/
    --brandForegroundLink: 208deg 81% 35%; /*#115ea3*/
    --brandForegroundLinkHover: 207deg 81% 30%; /*#0f548c*/
    --brandForegroundLinkPressed: 206deg 77% 21%; /*#0c3b5e*/
    --brandForegroundLinkSelected: 208deg 81% 35%; /*#115ea3*/
    --brandForeground: 208deg 85% 40%; /*#0f6cbd*/
    --brandForeground2: 208deg 81% 35%; /*#115ea3*/
    --foregroundStatic: 0deg 0% 14%; /*#242424*/
    --foregroundInverted: 0deg 0% 100%; /*#ffffff*/ /* aka foregroundStaticInverted */
    --foregroundOnBrand: 0deg 0% 100%; /*#ffffff*/
    --foregroundOnAccent: 0deg 0% 100%; /*#ffffff*/
    --foregroundOnAppHeader: 0deg 0% 100%; /*#ffffff*/
    --background: 0deg 0% 100%; /*#ffffff*/
    --backgroundHover: 0deg 0% 96%; /*#f5f5f5*/
    --backgroundPressed: 0deg 0% 88%; /*#e0e0e0*/
    --backgroundSelected: 0deg 0% 92%; /*#ebebeb*/
    --background2: 0deg 0% 98%; /*#fafafa*/
    --background2Hover: 0deg 0% 94%; /*#f0f0f0*/
    --background2Pressed: 0deg 0% 86%; /*#dbdbdb*/
    --background2Selected: 0deg 0% 90%; /*#e6e6e6*/
    --background3: 0deg 0% 96%; /*#f5f5f5*/
    --background3Hover: 0deg 0% 92%; /*#ebebeb*/
    --background3Pressed: 0deg 0% 84%; /*#d6d6d6*/
    --background3Selected: 0deg 0% 88%; /*#e0e0e0*/
    --background4: 0deg 0% 94%; /*#f0f0f0*/
    --background4Hover: 0deg 0% 98%; /*#fafafa*/
    --background4Pressed: 0deg 0% 96%; /*#f5f5f5*/
    --background4Selected: 0deg 0% 100%; /*#ffffff*/
    --background5: 0deg 0% 92%; /*#ebebeb*/
    --background6: 0deg 0% 90%; /*#e6e6e6*/
    --backgroundAppHeader: 208deg 85% 40%; /* #0f6cbd brandBackground */
    --backgroundMain: 212deg 74% 95%; /* #ebf3fc brandBackground2 */
    --backgroundBlade: 0deg 0% 96%; /*#f5f5f5*/
    --backgroundInverted: 0deg 0% 16%; /*#292929*/
    --backgroundStatic: 0deg 0% 20%; /*#333333*/
    --backgroundDisabled: 0deg 0% 94%; /*#f0f0f0*/
    --subtleBackground: transparent;
    --subtleBackgroundHover: 0deg 0% 96%; /*#f5f5f5*/
    --subtleBackgroundPressed: 0deg 0% 88%; /*#e0e0e0*/
    --subtleBackgroundSelected: 0deg 0% 92%; /*#ebebeb*/
    --brandBackground: 208deg 85% 40%; /* #0f6cbd */
    --brandBackgroundHover: 208deg 81% 35%; /*#115ea3*/
    --brandBackgroundPressed: 206deg 77% 21%; /*#0c3b5e*/
    --brandBackgroundSelected: 207deg 81% 30%; /*#0f548c*/
    --strokeAccessible: 0deg 0% 38%; /*#616161*/
    --strokeAccessibleHover: 0deg 0% 34%; /*#575757*/
    --strokeAccessiblePressed: 0deg 0% 30%; /*#4d4d4d*/
    --strokeAccessibleSelected: 208deg 85% 40%; /*#0f6cbd*/
    --stroke: 0deg 0% 82%; /*#d1d1d1*/
    --strokeHover: 0deg 0% 78%; /*#c7c7c7*/
    --strokePressed: 0deg 0% 70%; /*#b3b3b3*/
    --strokeSelected: 0deg 0% 74%; /*#bdbdbd*/
    --stroke2: 0deg 0% 88%; /*#e0e0e0*/
    --stroke3: 0deg 0% 94%; /*#f0f0f0*/
    --strokeOnBrand: 0deg 0% 100%; /*#ffffff*/
    --brandStroke: 208deg 85% 40%; /*#0f6cbd*/
    --brandStrokeHover: 208deg 81% 35%; /*#115ea3*/ /* aka compoundBrandStrokeHover */
    --brandStrokePressed: 207deg 81% 30%; /*#0f548c*/ /* aka compoundBrandStrokePressed */
    --brandStroke2: 211deg 88% 84%; /*#b4d6fa*/
    --strokeDisabled: 0deg 0% 88%; /*#e0e0e0*/
    --strokeFocus: 206deg 100% 42%; /*#0078d4*/
    --strokeFocus2: 0deg 0% 0%; /*#000000*/
    --paletteRedBackground3: 358deg 63% 51%; /*#d13438*/
    --paletteRedBorder2: 358deg 63% 51%; /*#d13438*/
    --paletteDarkOrangeBackground3: 16deg 99% 43%; /*#da3b01*/
    --paletteGreenBackground3: 120deg 77% 27%; /*#107c10*/
    --paletteGreenBorder2: 120deg 77% 27%; /*#107c10*/
    --paletteYellowBackground3: 54deg 100% 50%; /*#fde300*/
    --paletteYellowForeground2: 54deg 100% 25%; /*#817400*/
    --statusSuccessBackground: 120deg 47% 96%; /*#f1faf1*/
    --statusSuccessBackground2: 120deg 42% 74%; /*#9fd89f*/
    --statusSuccessBackground3: 120deg 77% 27%; /*#107c10*/
    --statusSuccessForeground: 120deg 78% 25%; /*#0e700e*/
    --statusSuccessForeground2: 120deg 77% 15%; /*#094509*/
    --statusSuccessForeground3: 120deg 77% 27%; /*#107c10*/
    --statusSuccessBorder: 120deg 42% 74%; /*#9fd89f*/
    --statusSuccessBorder2: 120deg 77% 27%; /*#107c10*/
    --statusWarningBackground: 24deg 100% 98%; /*#fff9f5*/
    --statusWarningBackground2: 22deg 95% 85%; /*#fdcfb4*/
    --statusWarningBackground3: 22deg 94% 51%; /*#f7630c*/
    --statusWarningForeground: 22deg 91% 39%; /*#bc4b09*/
    --statusWarningForeground2: 22deg 90% 28%; /*#8a3707*/
    --statusWarningForeground3: 22deg 91% 39%; /*#bc4b09*/
    --statusWarningBorder: 22deg 95% 85%; /*#fdcfb4*/
    --statusWarningBorder2: 22deg 91% 39%; /*#bc4b09*/
    --statusDangerBackground: 354deg 71% 97%; /*#fdf3f4*/
    --statusDangerBackground2: 355deg 66% 80%; /*#eeacb2*/
    --statusDangerBackground3: 355deg 86% 42%; /*#c50f1f*/
    --statusDangerForeground: 355deg 85% 37%; /*#b10e1c*/
    --statusDangerForeground2: 355deg 86% 23%; /*#6e0811*/
    --statusDangerForeground3: 355deg 86% 42%; /*#c50f1f*/
    --statusDangerBorder: 355deg 66% 80%; /*#eeacb2*/
    --statusDangerBorder2: 355deg 86% 42%; /*#c50f1f*/
    --statusRed: 359deg 60% 46%; /*#BC2F32*/
    --statusOrange: 21deg 90% 48%; /*#EA580C*/
    --statusYellow: 45deg 93% 47%; /*#EAB308*/
    --statusGreen: 120deg 81% 21%; /*#0A5F0A*/
    --statusBlue: 221deg 83% 53%; /*#2563EB*/
    --statusIndigo: 245deg 58% 51%; /*#4338CA*/
    --statusViolet: 263deg 70% 50%; /*#6D28D9*/
    --statusMagenta: 307deg 100% 35%; /*#B4009E*/
    --statusGray: 30deg 2% 53%; /*#8A8886*/
}

:root[data-lc-theme="fluent"][data-lc-mode="dark"],
[data-lc-theme="fluent"][data-lc-mode="dark"]:not(:root) {
    --shadow2: 0 0 2px rgba(0,0,0,0.24), 0 1px 2px rgba(0,0,0,0.28);
    --foreground: 0deg 0% 100%; /*#ffffff*/
    --foregroundHover: 0deg 0% 100%;
    --foregroundPressed: 0deg 0% 100%;
    --foregroundSelected: 0deg 0% 100%;
    --foreground2: 0deg 0% 84%; /*#d6d6d6*/
    --foreground2Hover: 0deg 0% 100%; /*#ffffff*/
    --foreground2Pressed: 0deg 0% 100%; /*#ffffff*/
    --foreground2Selected: 0deg 0% 100%; /*#ffffff*/
    --foreground2BrandHover: 210deg 90% 62%; /*#479ef5*/
    --foreground2BrandPressed: 209deg 73% 51%; /*#2886de*/
    --foreground2BrandSelected: 210deg 90% 62%; /*#479ef5*/
    --foreground3: 0deg 0% 68%; /*#adadad*/
    --foreground4: 0deg 0% 60%; /*#999999*/
    --foregroundDisabled: 0deg 0% 64%; /*#a3a3a3*/
    --brandForegroundLink: 210deg 90% 62%; /*#479ef5*/
    --brandForegroundLinkHover: 210deg 88% 67%; /*#62abf5*/
    --brandForegroundLinkPressed: 209deg 73% 51%; /*#2886de*/
    --brandForegroundLinkSelected: 210deg 90% 62%; /*#479ef5*/
    --brandForeground: 210deg 90% 62%; /*#479ef5*/
    --brandForeground2: 210deg 88% 67%; /*#62abf5*/
    --foregroundStatic: 0deg 0% 14%; /*#242424*/
    --foregroundInverted: 0deg 0% 14%; /*#242424*/
    --foregroundOnBrand: 0deg 0% 100%; /*#ffffff*/
    --foregroundOnAccent: 0deg 0% 100%; /*#ffffff*/
    --foregroundOnAppHeader: 0deg 0% 100%; /*#ffffff*/
    --background: 0deg 0% 16%; /*#292929*/
    --backgroundHover: 0deg 0% 24%; /*#3d3d3d*/
    --backgroundPressed: 0deg 0% 12%; /*#1f1f1f*/
    --backgroundSelected: 0deg 0% 22%; /*#383838*/
    --background2: 0deg 0% 12%; /*#1f1f1f*/
    --background2Hover: 0deg 0% 20%; /*#333333*/
    --background2Pressed: 0deg 0% 8%; /*#141414*/
    --background2Selected: 0deg 0% 18%; /*#2e2e2e*/
    --background3: 0deg 0% 8%; /*#141414*/
    --background3Hover: 0deg 0% 16%; /*#292929*/
    --background3Pressed: 0deg 0% 4%; /*#0a0a0a*/
    --background3Selected: 0deg 0% 14%; /*#242424*/
    --background4: 0deg 0% 4%; /*#0a0a0a*/
    --background4Hover: 0deg 0% 12%; /*#1f1f1f*/
    --background4Pressed: 0deg 0% 0%; /*#000000*/
    --background4Selected: 0deg 0% 10%; /*#1a1a1a*/
    --background5: 0deg 0% 0%; /*#000000*/
    --background6: 0deg 0% 20%; /*#333333*/
    --backgroundAppHeader: 0deg 0% 0%; /*#000000*/
    --backgroundMain: 0deg 0% 8%; /*#141414*/
    --backgroundBlade: 0deg 0% 16%; /*#292929*/
    --backgroundInverted: 0deg 0% 100%; /*#ffffff*/
    --backgroundStatic: 0deg 0% 24%; /*#3d3d3d*/
    --backgroundDisabled: 0deg 0% 8%; /*#141414*/
    --subtleBackground: transparent;
    --subtleBackgroundHover: 0deg 0% 22%; /*#383838*/
    --subtleBackgroundPressed: 0deg 0% 18%; /*#2e2e2e*/
    --subtleBackgroundSelected: 0deg 0% 20%; /*#333333*/
    --brandBackground: 208deg 81% 35%; /* #115ea3 */
    --brandBackgroundHover: 208deg 85% 40%; /*#0f6cbd*/
    --brandBackgroundPressed: 206deg 77% 21%; /*#0c3b5e*/
    --brandBackgroundSelected: 207deg 81% 30%; /*#0f548c*/
    --strokeAccessible: 0deg 0% 68%; /*#adadad*/
    --strokeAccessibleHover: 0deg 0% 74%; /*#bdbdbd*/
    --strokeAccessiblePressed: 0deg 0% 70%; /*#b3b3b3*/
    --strokeAccessibleSelected: 210deg 90% 62%; /*#479ef5*/
    --stroke: 0deg 0% 40%; /*#666666*/
    --strokeHover: 0deg 0% 46%; /*#757575*/
    --strokePressed: 0deg 0% 42%; /*#6b6b6b*/
    --strokeSelected: 0deg 0% 44%; /*#707070*/
    --stroke2: 0deg 0% 32%; /*#525252*/
    --stroke3: 0deg 0% 24%; /*#3d3d3d*/
    --strokeOnBrand: 0deg 0% 16%; /*#292929*/
    --brandStroke: 210deg 90% 62%; /*#479ef5*/
    --brandStrokeHover: 210deg 88% 67%; /*#62abf5  aka compoundBrandStrokeHover */
    --brandStrokePressed: 209deg 73% 51%; /*#2886de  aka compoundBrandStrokePressed */
    --brandStroke2: 207deg 79% 26%; /*#0e4775*/
    --strokeDisabled: 0deg 0% 26%; /*#424242*/
    --strokeFocus: 206deg 100% 42%; /*#0078d4*/
    --strokeFocus2: 0deg 0% 100%; /*#ffffff*/
    --paletteRedBackground3: 358deg 63% 51%; /*#d13438*/
    --paletteRedBorder2: 358deg 63% 51%; /*#d13438*/
    --paletteDarkOrangeBackground3: 16deg 99% 43%; /*#da3b01*/
    --paletteGreenBackground3: 120deg 77% 27%; /*#107c10*/
    --paletteGreenBorder2: 120deg 77% 27%; /*#107c10*/
    --paletteYellowBackground3: 54deg 100% 50%; /*#fde300*/
    --paletteYellowForeground2: 54deg 100% 25%; /*#817400*/
    --statusSuccessBackground: 120deg 76% 8%; /*#052505*/
    --statusSuccessBackground2: 120deg 77% 15%; /*#094509*/
    --statusSuccessBackground3: 120deg 77% 27%; /*#107c10*/
    --statusSuccessForeground: 120deg 37% 51%; /*#54b054*/
    --statusSuccessForeground2: 120deg 42% 74%; /*#9fd89f*/
    --statusSuccessForeground3: 120deg 42% 74%; /*#9fd89f*/
    --statusSuccessBorder: 120deg 77% 27%; /*#107c10*/
    --statusSuccessBorder2: 120deg 42% 74%; /*#9fd89f*/
    --statusWarningBackground: 22deg 90% 15%; /*#4a1e04*/
    --statusWarningBackground2: 22deg 90% 28%; /*#8a3707*/
    --statusWarningBackground3: 22deg 94% 51%; /*#f7630c*/
    --statusWarningForeground: 22deg 93% 70%; /*#faa06b*/
    --statusWarningForeground2: 22deg 95% 85%; /*#fdcfb4*/
    --statusWarningForeground3: 22deg 94% 62%; /*#f98845*/
    --statusWarningBorder: 22deg 94% 51%; /*#f7630c*/
    --statusWarningBorder2: 22deg 94% 62%; /*#f98845*/
    --statusDangerBackground: 356deg 84% 13%; /*#3b0509*/
    --statusDangerBackground2: 355deg 86% 23%; /*#6e0811*/
    --statusDangerBackground3: 355deg 86% 42%; /*#c50f1f*/
    --statusDangerForeground: 355deg 64% 62%; /*#dc626d*/
    --statusDangerForeground2: 355deg 66% 80%; /*#eeacb2*/
    --statusDangerForeground3: 355deg 64% 62%; /*#dc626d*/
    --statusDangerBorder: 355deg 86% 42%; /*#c50f1f*/
    --statusDangerBorder2: 355deg 64% 62%; /*#dc626d*/
    --statusRed: 359deg 60% 46%; /*#BC2F32*/
    --statusOrange: 21deg 90% 48%; /*#EA580C*/
    --statusYellow: 45deg 93% 47%; /*#EAB308*/
    --statusGreen: 120deg 81% 21%; /*#0A5F0A*/
    --statusBlue: 221deg 83% 53%; /*#2563EB*/
    --statusIndigo: 245deg 58% 51%; /*#4338CA*/
    --statusViolet: 263deg 70% 50%; /*#6D28D9*/
    --statusMagenta: 307deg 100% 35%; /*#B4009E*/
    --statusGray: 30deg 2% 53%; /*#8A8886*/
}

/* Non-color semantic tiers. Prefixed --lc- so they cannot collide with the existing
   bare-named color tokens, which this system deliberately leaves alone. */
:root[data-lc-theme],
[data-lc-theme]:not(:root) {
    /* Radius */
    --lc-radius-none: 0px;
    --lc-radius-small: 2px;
    --lc-radius-medium: 4px;
    --lc-radius-large: 6px;
    --lc-radius-xlarge: 8px;
    --lc-radius-circular: 9999px;

    /* Spacing */
    --lc-space-xxs: 2px;
    --lc-space-xs: 4px;
    --lc-space-s: 8px;
    --lc-space-m: 12px;
    --lc-space-l: 16px;
    --lc-space-xl: 20px;
    --lc-space-xxl: 24px;
    --lc-space-xxxl: 32px;

    /* Z-index. One ladder, so a popover can never lose to a blade by accident. */
    --lc-z-base: 0;
    --lc-z-sticky: 100;
    --lc-z-blade: 400;
    --lc-z-overlay: 500;
    --lc-z-popover: 600;
    --lc-z-toast: 700;
    --lc-z-tooltip: 800;

    /* Motion */
    --lc-duration-instant: 0ms;
    --lc-duration-fast: 100ms;
    --lc-duration-normal: 200ms;
    --lc-duration-slow: 300ms;
    --lc-duration-slower: 500ms;
    --lc-ease-standard: cubic-bezier(0.33, 0, 0.67, 1);
    --lc-ease-accelerate: cubic-bezier(0.7, 0, 1, 0.5);
    --lc-ease-decelerate: cubic-bezier(0, 0, 0.2, 1);

    /* Typography */
    --lc-font-family-base: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
    --lc-font-family-mono: ui-monospace, SFMono-Regular, Consolas, monospace;
    --lc-font-size-100: 10px;
    --lc-font-size-200: 12px;
    --lc-font-size-300: 14px;
    --lc-font-size-400: 16px;
    --lc-font-size-500: 20px;
    --lc-font-size-600: 24px;
    --lc-font-size-700: 28px;
    --lc-font-size-800: 32px;
    --lc-line-height-100: 14px;
    --lc-line-height-200: 16px;
    --lc-line-height-300: 20px;
    --lc-line-height-400: 22px;
    --lc-line-height-500: 28px;
    --lc-line-height-600: 32px;
    --lc-line-height-700: 36px;
    --lc-line-height-800: 40px;
    --lc-font-weight-regular: 400;
    --lc-font-weight-medium: 500;
    --lc-font-weight-semibold: 600;
    --lc-font-weight-bold: 700;

    /* Focus. strokeFocus already exists as a color; these are the ring's geometry. */
    --lc-focus-ring-width: 2px;
    --lc-focus-ring-offset: 1px;

    /* Component tier. Only where a component needs a knob a semantic token cannot express.
       Everything else must consume the semantic tier directly. */
    --lc-button-primary-background: var(--brandBackground);
    --lc-button-primary-foreground: var(--foregroundOnBrand);
}

/* Elevation is currently hardcoded rgb(0 0 0 / 13%) inside tailwind.config.js, which means
   a theme cannot change it. Moving it to variables is what makes shadows themeable. */
:root[data-lc-theme][data-lc-mode="light"],
[data-lc-theme][data-lc-mode="light"]:not(:root) {
    --lc-overlay: 0 0% 0% / 0.4;
    --lc-shadow-2: 0 1px 2px rgb(0 0 0 / 0.14), 0 0 2px rgb(0 0 0 / 0.12);
    --lc-shadow-4: 0 2px 4px rgb(0 0 0 / 0.14), 0 0 2px rgb(0 0 0 / 0.12);
    --lc-shadow-8: 0 4px 8px rgb(0 0 0 / 0.14), 0 0 2px rgb(0 0 0 / 0.12);
    --lc-shadow-16: 0 8px 16px rgb(0 0 0 / 0.14), 0 0 2px rgb(0 0 0 / 0.12);
    --lc-shadow-28: 0 14px 28px rgb(0 0 0 / 0.24), 0 0 8px rgb(0 0 0 / 0.20);
    --lc-shadow-64: 0 32px 64px rgb(0 0 0 / 0.24), 0 0 8px rgb(0 0 0 / 0.20);
}

:root[data-lc-theme][data-lc-mode="dark"],
[data-lc-theme][data-lc-mode="dark"]:not(:root) {
    --lc-overlay: 0 0% 0% / 0.6;
    --lc-shadow-2: 0 1px 2px rgb(0 0 0 / 0.28), 0 0 2px rgb(0 0 0 / 0.24);
    --lc-shadow-4: 0 2px 4px rgb(0 0 0 / 0.28), 0 0 2px rgb(0 0 0 / 0.24);
    --lc-shadow-8: 0 4px 8px rgb(0 0 0 / 0.28), 0 0 2px rgb(0 0 0 / 0.24);
    --lc-shadow-16: 0 8px 16px rgb(0 0 0 / 0.28), 0 0 2px rgb(0 0 0 / 0.24);
    --lc-shadow-28: 0 14px 28px rgb(0 0 0 / 0.40), 0 0 8px rgb(0 0 0 / 0.32);
    --lc-shadow-64: 0 32px 64px rgb(0 0 0 / 0.40), 0 0 8px rgb(0 0 0 / 0.32);
}

/* Windows High Contrast / forced-colors. The OS substitutes its own colors for
   backgrounds, text and borders anyway; these mappings keep the *token* layer honest so
   components that read tokens in inline styles (where forced-colors cannot reach) still
   land on system colors. Applies to every theme, not just Fluent. */
@media (forced-colors: active) {
    :root[data-lc-theme] {
        --lc-focus-ring-width: 3px;
        forced-color-adjust: none;
    }

    :root[data-lc-theme] * {
        forced-color-adjust: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    :root[data-lc-theme],
    [data-lc-theme]:not(:root) {
        --lc-duration-fast: 1ms;
        --lc-duration-normal: 1ms;
        --lc-duration-slow: 1ms;
        --lc-duration-slower: 1ms;
    }
}
