/* 本文件由 tools/generate-admin-md3-css.js 生成，请勿手工编辑。
   来源：src/ui/md3-tokens.js —— 规范 2025（Material 3 Expressive） · 变体 FIDELITY · 种子色 #f0c15b
   颜色是首帧默认值；管理后台换主题色后由 admin-shell.jsx 在运行时按同一算法重算覆盖。 */
:root {
  color-scheme: light;
  /* 字体：M3 的 Roboto 家族在前，中文回落到思源黑体 / 苹方 / 雅黑 */
  --md-ref-typeface-brand: "Google Sans", "Roboto Flex", "Roboto", "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;
  --md-ref-typeface-plain: "Roboto Flex", "Roboto", "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;
  --md-ref-typeface-mono: "Roboto Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Noto Sans Mono CJK SC", monospace;
  --md-sys-color-primary: #795900;
  --md-sys-color-on-primary: #ffffff;
  --md-sys-color-primary-container: #f0c15b;
  --md-sys-color-on-primary-container: #6b4f00;
  --md-sys-color-inverse-primary: #efc05a;
  --md-sys-color-primary-fixed: #ffdea0;
  --md-sys-color-primary-fixed-dim: #efc05a;
  --md-sys-color-on-primary-fixed: #261a00;
  --md-sys-color-on-primary-fixed-variant: #5c4300;
  --md-sys-color-secondary: #6f5c34;
  --md-sys-color-on-secondary: #ffffff;
  --md-sys-color-secondary-container: #fadfad;
  --md-sys-color-on-secondary-container: #75623a;
  --md-sys-color-secondary-fixed: #fadfad;
  --md-sys-color-secondary-fixed-dim: #ddc393;
  --md-sys-color-on-secondary-fixed: #261a00;
  --md-sys-color-on-secondary-fixed-variant: #56441f;
  --md-sys-color-tertiary: #21638f;
  --md-sys-color-on-tertiary: #ffffff;
  --md-sys-color-tertiary-container: #94ceff;
  --md-sys-color-on-tertiary-container: #0e5883;
  --md-sys-color-tertiary-fixed: #cce5ff;
  --md-sys-color-tertiary-fixed-dim: #92ccfd;
  --md-sys-color-on-tertiary-fixed: #001e31;
  --md-sys-color-on-tertiary-fixed-variant: #004b72;
  --md-sys-color-error: #ba1a1a;
  --md-sys-color-on-error: #ffffff;
  --md-sys-color-error-container: #ffdad6;
  --md-sys-color-on-error-container: #93000a;
  --md-sys-color-background: #fff8f2;
  --md-sys-color-on-background: #1f1b14;
  --md-sys-color-surface: #fff8f2;
  --md-sys-color-on-surface: #1f1b14;
  --md-sys-color-surface-variant: #eee1cc;
  --md-sys-color-on-surface-variant: #4e4636;
  --md-sys-color-surface-dim: #e2d9cd;
  --md-sys-color-surface-bright: #fff8f2;
  --md-sys-color-surface-container-lowest: #ffffff;
  --md-sys-color-surface-container-low: #fcf2e6;
  --md-sys-color-surface-container: #f6ece1;
  --md-sys-color-surface-container-high: #f0e7db;
  --md-sys-color-surface-container-highest: #eae1d6;
  --md-sys-color-outline: #807664;
  --md-sys-color-outline-variant: #d2c5b1;
  --md-sys-color-inverse-surface: #343028;
  --md-sys-color-inverse-on-surface: #f9efe3;
  --md-sys-color-shadow: #000000;
  --md-sys-color-scrim: #000000;
  --md-sys-color-surface-tint: #795900;
  --md-chart-1: #987100;
  --md-chart-2: #3b75d3;
  --md-chart-3: #338735;
  --md-chart-4: #a459b5;
  --md-chart-5: #00848d;
  --md-chart-6: #c45348;
  --md-chart-7: #757d00;
  --md-chart-8: #7b66d1;
  --md-sys-typescale-display-large: 400 57px / 64px var(--md-ref-typeface-plain);
  --md-sys-typescale-display-large-size: 57px;
  --md-sys-typescale-display-large-line-height: 64px;
  --md-sys-typescale-display-large-weight: 400;
  --md-sys-typescale-display-large-tracking: -0.25px;
  --md-sys-typescale-display-medium: 400 45px / 52px var(--md-ref-typeface-plain);
  --md-sys-typescale-display-medium-size: 45px;
  --md-sys-typescale-display-medium-line-height: 52px;
  --md-sys-typescale-display-medium-weight: 400;
  --md-sys-typescale-display-medium-tracking: 0px;
  --md-sys-typescale-display-small: 400 36px / 44px var(--md-ref-typeface-plain);
  --md-sys-typescale-display-small-size: 36px;
  --md-sys-typescale-display-small-line-height: 44px;
  --md-sys-typescale-display-small-weight: 400;
  --md-sys-typescale-display-small-tracking: 0px;
  --md-sys-typescale-headline-large: 400 32px / 40px var(--md-ref-typeface-plain);
  --md-sys-typescale-headline-large-size: 32px;
  --md-sys-typescale-headline-large-line-height: 40px;
  --md-sys-typescale-headline-large-weight: 400;
  --md-sys-typescale-headline-large-tracking: 0px;
  --md-sys-typescale-headline-medium: 400 28px / 36px var(--md-ref-typeface-plain);
  --md-sys-typescale-headline-medium-size: 28px;
  --md-sys-typescale-headline-medium-line-height: 36px;
  --md-sys-typescale-headline-medium-weight: 400;
  --md-sys-typescale-headline-medium-tracking: 0px;
  --md-sys-typescale-headline-small: 400 24px / 32px var(--md-ref-typeface-plain);
  --md-sys-typescale-headline-small-size: 24px;
  --md-sys-typescale-headline-small-line-height: 32px;
  --md-sys-typescale-headline-small-weight: 400;
  --md-sys-typescale-headline-small-tracking: 0px;
  --md-sys-typescale-title-large: 400 22px / 28px var(--md-ref-typeface-plain);
  --md-sys-typescale-title-large-size: 22px;
  --md-sys-typescale-title-large-line-height: 28px;
  --md-sys-typescale-title-large-weight: 400;
  --md-sys-typescale-title-large-tracking: 0px;
  --md-sys-typescale-title-medium: 500 16px / 24px var(--md-ref-typeface-plain);
  --md-sys-typescale-title-medium-size: 16px;
  --md-sys-typescale-title-medium-line-height: 24px;
  --md-sys-typescale-title-medium-weight: 500;
  --md-sys-typescale-title-medium-tracking: 0.15px;
  --md-sys-typescale-title-small: 500 14px / 20px var(--md-ref-typeface-plain);
  --md-sys-typescale-title-small-size: 14px;
  --md-sys-typescale-title-small-line-height: 20px;
  --md-sys-typescale-title-small-weight: 500;
  --md-sys-typescale-title-small-tracking: 0.1px;
  --md-sys-typescale-body-large: 400 16px / 24px var(--md-ref-typeface-plain);
  --md-sys-typescale-body-large-size: 16px;
  --md-sys-typescale-body-large-line-height: 24px;
  --md-sys-typescale-body-large-weight: 400;
  --md-sys-typescale-body-large-tracking: 0.5px;
  --md-sys-typescale-body-medium: 400 14px / 20px var(--md-ref-typeface-plain);
  --md-sys-typescale-body-medium-size: 14px;
  --md-sys-typescale-body-medium-line-height: 20px;
  --md-sys-typescale-body-medium-weight: 400;
  --md-sys-typescale-body-medium-tracking: 0.25px;
  --md-sys-typescale-body-small: 400 12px / 16px var(--md-ref-typeface-plain);
  --md-sys-typescale-body-small-size: 12px;
  --md-sys-typescale-body-small-line-height: 16px;
  --md-sys-typescale-body-small-weight: 400;
  --md-sys-typescale-body-small-tracking: 0.4px;
  --md-sys-typescale-label-large: 500 14px / 20px var(--md-ref-typeface-plain);
  --md-sys-typescale-label-large-size: 14px;
  --md-sys-typescale-label-large-line-height: 20px;
  --md-sys-typescale-label-large-weight: 500;
  --md-sys-typescale-label-large-tracking: 0.1px;
  --md-sys-typescale-label-medium: 500 12px / 16px var(--md-ref-typeface-plain);
  --md-sys-typescale-label-medium-size: 12px;
  --md-sys-typescale-label-medium-line-height: 16px;
  --md-sys-typescale-label-medium-weight: 500;
  --md-sys-typescale-label-medium-tracking: 0.5px;
  --md-sys-typescale-label-small: 500 11px / 16px var(--md-ref-typeface-plain);
  --md-sys-typescale-label-small-size: 11px;
  --md-sys-typescale-label-small-line-height: 16px;
  --md-sys-typescale-label-small-weight: 500;
  --md-sys-typescale-label-small-tracking: 0.5px;
  --md-sys-shape-corner-none: 0px;
  --md-sys-shape-corner-extra-small: 4px;
  --md-sys-shape-corner-small: 8px;
  --md-sys-shape-corner-medium: 12px;
  --md-sys-shape-corner-large: 16px;
  --md-sys-shape-corner-extra-large: 28px;
  --md-sys-shape-corner-full: 9999px;
  --md-sys-shape-corner-large-increased: 20px;
  --md-sys-shape-corner-extra-large-increased: 32px;
  --md-sys-state-hover-opacity: 0.08;
  --md-sys-state-focus-opacity: 0.1;
  --md-sys-state-pressed-opacity: 0.1;
  --md-sys-state-dragged-opacity: 0.16;
  --md-sys-state-disabled-opacity: 0.12;
  --md-sys-state-disabled-content-opacity: 0.38;
  --md-sys-motion-easing-emphasized: cubic-bezier(0.2, 0, 0, 1);
  --md-sys-motion-easing-emphasized-decelerate: cubic-bezier(0.05, 0.7, 0.1, 1);
  --md-sys-motion-easing-emphasized-accelerate: cubic-bezier(0.3, 0, 0.8, 0.15);
  --md-sys-motion-easing-standard: cubic-bezier(0.2, 0, 0, 1);
  --md-sys-motion-easing-standard-decelerate: cubic-bezier(0, 0, 0, 1);
  --md-sys-motion-easing-standard-accelerate: cubic-bezier(0.3, 0, 1, 1);
  --md-sys-motion-duration-short2: 100ms;
  --md-sys-motion-duration-short4: 200ms;
  --md-sys-motion-duration-medium2: 300ms;
  --md-sys-motion-duration-medium4: 400ms;
  --md-sys-motion-duration-long2: 500ms;
  /* M3 Expressive 弹簧：androidx ExpressiveMotionTokens 的阻尼/刚度换算成 linear()（与 bgm-player.css 同源） */
  --md-sys-motion-spring-fast-spatial: linear(0, 0.0274, 0.0985, 0.1984, 0.3147, 0.4369, 0.5573, 0.67, 0.7711, 0.8582, 0.9305, 0.988, 1.0313, 1.062, 1.0816, 1.0919, 1.0948, 1.092, 1.0851, 1.0755, 1.0645, 1.0529, 1.0415, 1.0309, 1.0213, 1.0131, 1.0063, 1.0009, 0.9969, 0.994, 0.9922, 0.9913, 0.991, 0.9913, 0.992, 0.9929, 0.9939, 0.995, 0.9961, 0.9971, 1);
  --md-sys-motion-spring-fast-spatial-duration: 348ms;
  --md-sys-motion-spring-default-spatial: linear(0, 0.0181, 0.065, 0.1311, 0.2089, 0.2925, 0.3775, 0.4605, 0.5392, 0.6122, 0.6784, 0.7375, 0.7893, 0.8342, 0.8724, 0.9045, 0.9311, 0.9527, 0.9701, 0.9836, 0.9941, 1.0018, 1.0074, 1.0112, 1.0135, 1.0148, 1.0152, 1.0149, 1.0142, 1.0133, 1.0121, 1.0108, 1.0095, 1.0083, 1.0071, 1.006, 1.005, 1.004, 1.0033, 1.0026, 1);
  --md-sys-motion-spring-default-spatial-duration: 412ms;
  --md-sys-motion-spring-effects: linear(0, 0.0681, 0.2086, 0.3632, 0.5055, 0.6255, 0.7216, 0.796, 0.8522, 0.894, 0.9245, 0.9466, 0.9624, 0.9737, 0.9817, 0.9873, 0.9912, 0.9939, 0.9958, 0.9971, 1);
  --md-sys-motion-spring-fast-effects-duration: 138ms;
  --md-sys-motion-spring-default-effects-duration: 212ms;
  --md-sys-motion-spring-slow-effects-duration: 300ms;
  --md-sys-elevation-level0: none;
  --md-sys-elevation-level1: 0 1px 2px 0 rgb(0 0 0 / 0.3), 0 1px 3px 1px rgb(0 0 0 / 0.15);
  --md-sys-elevation-level2: 0 1px 2px 0 rgb(0 0 0 / 0.3), 0 2px 6px 2px rgb(0 0 0 / 0.15);
  --md-sys-elevation-level3: 0 1px 3px 0 rgb(0 0 0 / 0.3), 0 4px 8px 3px rgb(0 0 0 / 0.15);
  --md-sys-elevation-level4: 0 2px 3px 0 rgb(0 0 0 / 0.3), 0 6px 10px 4px rgb(0 0 0 / 0.15);
  --md-sys-elevation-level5: 0 4px 4px 0 rgb(0 0 0 / 0.3), 0 8px 12px 6px rgb(0 0 0 / 0.15);
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --md-sys-color-primary: #ffe0a5;
  --md-sys-color-on-primary: #402d00;
  --md-sys-color-primary-container: #f0c15b;
  --md-sys-color-on-primary-container: #6b4f00;
  --md-sys-color-inverse-primary: #795900;
  --md-sys-color-primary-fixed: #ffdea0;
  --md-sys-color-primary-fixed-dim: #efc05a;
  --md-sys-color-on-primary-fixed: #261a00;
  --md-sys-color-on-primary-fixed-variant: #5c4300;
  --md-sys-color-secondary: #ddc393;
  --md-sys-color-on-secondary: #3d2e0b;
  --md-sys-color-secondary-container: #56441f;
  --md-sys-color-on-secondary-container: #cbb283;
  --md-sys-color-secondary-fixed: #fadfad;
  --md-sys-color-secondary-fixed-dim: #ddc393;
  --md-sys-color-on-secondary-fixed: #261a00;
  --md-sys-color-on-secondary-fixed-variant: #56441f;
  --md-sys-color-tertiary: #cfe7ff;
  --md-sys-color-on-tertiary: #003350;
  --md-sys-color-tertiary-container: #94ceff;
  --md-sys-color-on-tertiary-container: #0e5883;
  --md-sys-color-tertiary-fixed: #cce5ff;
  --md-sys-color-tertiary-fixed-dim: #92ccfd;
  --md-sys-color-on-tertiary-fixed: #001e31;
  --md-sys-color-on-tertiary-fixed-variant: #004b72;
  --md-sys-color-error: #ffb4ab;
  --md-sys-color-on-error: #690005;
  --md-sys-color-error-container: #93000a;
  --md-sys-color-on-error-container: #ffdad6;
  --md-sys-color-background: #16130c;
  --md-sys-color-on-background: #eae1d6;
  --md-sys-color-surface: #16130c;
  --md-sys-color-on-surface: #eae1d6;
  --md-sys-color-surface-variant: #4e4636;
  --md-sys-color-on-surface-variant: #d2c5b1;
  --md-sys-color-surface-dim: #16130c;
  --md-sys-color-surface-bright: #3d3930;
  --md-sys-color-surface-container-lowest: #110e08;
  --md-sys-color-surface-container-low: #1f1b14;
  --md-sys-color-surface-container: #231f18;
  --md-sys-color-surface-container-high: #2e2922;
  --md-sys-color-surface-container-highest: #39342c;
  --md-sys-color-outline: #9a8f7d;
  --md-sys-color-outline-variant: #4e4636;
  --md-sys-color-inverse-surface: #eae1d6;
  --md-sys-color-inverse-on-surface: #343028;
  --md-sys-color-shadow: #000000;
  --md-sys-color-scrim: #000000;
  --md-sys-color-surface-tint: #efc05a;
  --md-chart-1: #e0a700;
  --md-chart-2: #88b0ff;
  --md-chart-3: #6ec469;
  --md-chart-4: #e492f3;
  --md-chart-5: #00c3d0;
  --md-chart-6: #ff9286;
  --md-chart-7: #afb830;
  --md-chart-8: #b6a4ff;
}
