@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Display&display=swap');/* Today-UI 统一样式入口 */

/* 设计令牌 */

/**
 * Fluent Design Theme Tokens
 * 导入所有主题变量
 */

/* 默认亮色主题 */

:root {
  --borderRadiusNone: 0;
  --borderRadiusSmall: 2px;
  --borderRadiusMedium: 4px;
  --borderRadiusLarge: 6px;
  --borderRadiusXLarge: 8px;
  --borderRadiusCircular: 10000px;
  --fontSizeBase100: 10px;
  --fontSizeBase200: 12px;
  --fontSizeBase300: 14px;
  --fontSizeBase400: 16px;
  --fontSizeBase500: 20px;
  --fontSizeBase600: 24px;
  --fontSizeHero700: 28px;
  --fontSizeHero800: 32px;
  --fontSizeHero900: 40px;
  --fontSizeHero1000: 68px;
  --lineHeightBase100: 14px;
  --lineHeightBase200: 16px;
  --lineHeightBase300: 20px;
  --lineHeightBase400: 22px;
  --lineHeightBase500: 28px;
  --lineHeightBase600: 32px;
  --lineHeightHero700: 36px;
  --lineHeightHero800: 40px;
  --lineHeightHero900: 52px;
  --lineHeightHero1000: 92px;
  --fontFamilyBase:
    'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto,
    'Helvetica Neue', sans-serif;
  --fontFamilyMonospace: Consolas, 'Courier New', Courier, monospace;
  --fontFamilyNumeric:
    Bahnschrift, 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont,
    Roboto, 'Helvetica Neue', sans-serif;
  --fontWeightRegular: 400;
  --fontWeightMedium: 500;
  --fontWeightSemibold: 600;
  --fontWeightBold: 700;
  --strokeWidthThin: 1px;
  --strokeWidthThick: 2px;
  --strokeWidthThicker: 3px;
  --strokeWidthThickest: 4px;
  --spacingHorizontalNone: 0;
  --spacingHorizontalXXS: 2px;
  --spacingHorizontalXS: 4px;
  --spacingHorizontalSNudge: 6px;
  --spacingHorizontalS: 8px;
  --spacingHorizontalMNudge: 10px;
  --spacingHorizontalM: 12px;
  --spacingHorizontalL: 16px;
  --spacingHorizontalXL: 20px;
  --spacingHorizontalXXL: 24px;
  --spacingHorizontalXXXL: 32px;
  --spacingVerticalNone: 0;
  --spacingVerticalXXS: 2px;
  --spacingVerticalXS: 4px;
  --spacingVerticalSNudge: 6px;
  --spacingVerticalS: 8px;
  --spacingVerticalMNudge: 10px;
  --spacingVerticalM: 12px;
  --spacingVerticalL: 16px;
  --spacingVerticalXL: 20px;
  --spacingVerticalXXL: 24px;
  --spacingVerticalXXXL: 32px;
  --durationUltraFast: 50ms;
  --durationFaster: 100ms;
  --durationFast: 150ms;
  --durationNormal: 200ms;
  --durationGentle: 250ms;
  --durationSlow: 300ms;
  --durationSlower: 400ms;
  --durationUltraSlow: 500ms;
  --curveAccelerateMax: cubic-bezier(1, 0, 1, 1);
  --curveAccelerateMid: cubic-bezier(0.7, 0, 1, 0.5);
  --curveAccelerateMin: cubic-bezier(0.8, 0, 1, 1);
  --curveDecelerateMax: cubic-bezier(0, 0, 0, 1);
  --curveDecelerateMid: cubic-bezier(0.1, 0.9, 0.2, 1);
  --curveDecelerateMin: cubic-bezier(0.33, 0, 0.1, 1);
  --curveEasyEaseMax: cubic-bezier(0.8, 0, 0.1, 1);
  --curveEasyEase: cubic-bezier(0.33, 0, 0.67, 1);
  --curveLinear: cubic-bezier(0, 0, 1, 1);
  --colorNeutralForeground1: #242424;
  --colorNeutralForeground1Hover: #242424;
  --colorNeutralForeground1Pressed: #242424;
  --colorNeutralForeground1Selected: #242424;
  --colorNeutralForeground2: #424242;
  --colorNeutralForeground2Hover: #242424;
  --colorNeutralForeground2Pressed: #242424;
  --colorNeutralForeground2Selected: #242424;
  --colorNeutralForeground2BrandHover: #0f6cbd;
  --colorNeutralForeground2BrandPressed: #115ea3;
  --colorNeutralForeground2BrandSelected: #0f6cbd;
  --colorNeutralForeground3: #616161;
  --colorNeutralForeground3Hover: #424242;
  --colorNeutralForeground3Pressed: #424242;
  --colorNeutralForeground3Selected: #424242;
  --colorNeutralForeground3BrandHover: #0f6cbd;
  --colorNeutralForeground3BrandPressed: #115ea3;
  --colorNeutralForeground3BrandSelected: #0f6cbd;
  --colorNeutralForeground4: #707070;
  --colorNeutralForegroundDisabled: #bdbdbd;
  --colorNeutralForegroundInvertedDisabled: rgba(255, 255, 255, 0.4);
  --colorBrandForegroundLink: #115ea3;
  --colorBrandForegroundLinkHover: #0f548c;
  --colorBrandForegroundLinkPressed: #0c3b5e;
  --colorBrandForegroundLinkSelected: #115ea3;
  --colorNeutralForeground2Link: #424242;
  --colorNeutralForeground2LinkHover: #242424;
  --colorNeutralForeground2LinkPressed: #242424;
  --colorNeutralForeground2LinkSelected: #242424;
  --colorCompoundBrandForeground1: #0f6cbd;
  --colorCompoundBrandForeground1Hover: #115ea3;
  --colorCompoundBrandForeground1Pressed: #0f548c;
  --colorBrandForeground1: #0f6cbd;
  --colorBrandForeground2: #115ea3;
  --colorBrandForeground2Hover: #0f548c;
  --colorBrandForeground2Pressed: #0a2e4a;
  --colorNeutralForeground1Static: #242424;
  --colorNeutralForegroundStaticInverted: #ffffff;
  --colorNeutralForegroundInverted: #ffffff;
  --colorNeutralForegroundInvertedHover: #ffffff;
  --colorNeutralForegroundInvertedPressed: #ffffff;
  --colorNeutralForegroundInvertedSelected: #ffffff;
  --colorNeutralForegroundInverted2: #ffffff;
  --colorNeutralForegroundOnBrand: #ffffff;
  --colorNeutralForegroundInvertedLink: #ffffff;
  --colorNeutralForegroundInvertedLinkHover: #ffffff;
  --colorNeutralForegroundInvertedLinkPressed: #ffffff;
  --colorNeutralForegroundInvertedLinkSelected: #ffffff;
  --colorBrandForegroundInverted: #479ef5;
  --colorBrandForegroundInvertedHover: #62abf5;
  --colorBrandForegroundInvertedPressed: #479ef5;
  --colorBrandForegroundOnLight: #0f6cbd;
  --colorBrandForegroundOnLightHover: #115ea3;
  --colorBrandForegroundOnLightPressed: #0e4775;
  --colorBrandForegroundOnLightSelected: #0f548c;
  --colorNeutralBackground1: #ffffff;
  --colorNeutralBackground1Hover: #f5f5f5;
  --colorNeutralBackground1Pressed: #e0e0e0;
  --colorNeutralBackground1Selected: #ebebeb;
  --colorNeutralBackground2: #fafafa;
  --colorNeutralBackground2Hover: #f0f0f0;
  --colorNeutralBackground2Pressed: #dbdbdb;
  --colorNeutralBackground2Selected: #e6e6e6;
  --colorNeutralBackground3: #f5f5f5;
  --colorNeutralBackground3Hover: #ebebeb;
  --colorNeutralBackground3Pressed: #d6d6d6;
  --colorNeutralBackground3Selected: #e0e0e0;
  --colorNeutralBackground4: #f0f0f0;
  --colorNeutralBackground4Hover: #fafafa;
  --colorNeutralBackground4Pressed: #f5f5f5;
  --colorNeutralBackground4Selected: #ffffff;
  --colorNeutralBackground5: #ebebeb;
  --colorNeutralBackground5Hover: #f5f5f5;
  --colorNeutralBackground5Pressed: #f0f0f0;
  --colorNeutralBackground5Selected: #fafafa;
  --colorNeutralBackground6: #e6e6e6;
  --colorNeutralBackgroundInverted: #292929;
  --colorNeutralBackgroundStatic: #333333;
  --colorNeutralBackgroundAlpha: rgba(255, 255, 255, 0.5);
  --colorNeutralBackgroundAlpha2: rgba(255, 255, 255, 0.8);
  --colorSubtleBackground: transparent;
  --colorSubtleBackgroundHover: #f5f5f5;
  --colorSubtleBackgroundPressed: #e0e0e0;
  --colorSubtleBackgroundSelected: #ebebeb;
  --colorSubtleBackgroundLightAlphaHover: rgba(255, 255, 255, 0.7);
  --colorSubtleBackgroundLightAlphaPressed: rgba(255, 255, 255, 0.5);
  --colorSubtleBackgroundLightAlphaSelected: transparent;
  --colorSubtleBackgroundInverted: transparent;
  --colorSubtleBackgroundInvertedHover: rgba(0, 0, 0, 0.1);
  --colorSubtleBackgroundInvertedPressed: rgba(0, 0, 0, 0.3);
  --colorSubtleBackgroundInvertedSelected: rgba(0, 0, 0, 0.2);
  --colorTransparentBackground: transparent;
  --colorTransparentBackgroundHover: transparent;
  --colorTransparentBackgroundPressed: transparent;
  --colorTransparentBackgroundSelected: transparent;
  --colorNeutralBackgroundDisabled: #f0f0f0;
  --colorNeutralBackgroundInvertedDisabled: rgba(255, 255, 255, 0.1);
  --colorNeutralStencil1: #e6e6e6;
  --colorNeutralStencil2: #fafafa;
  --colorNeutralStencil1Alpha: rgba(0, 0, 0, 0.1);
  --colorNeutralStencil2Alpha: rgba(0, 0, 0, 0.05);
  --colorBackgroundOverlay: rgba(0, 0, 0, 0.4);
  --colorScrollbarOverlay: rgba(0, 0, 0, 0.5);
  --colorBrandBackground: #0f6cbd;
  --colorBrandBackgroundHover: #115ea3;
  --colorBrandBackgroundPressed: #0c3b5e;
  --colorBrandBackgroundSelected: #0f548c;
  --colorCompoundBrandBackground: #0f6cbd;
  --colorCompoundBrandBackgroundHover: #115ea3;
  --colorCompoundBrandBackgroundPressed: #0f548c;
  --colorBrandBackgroundStatic: #0f6cbd;
  --colorBrandBackground2: #ebf3fc;
  --colorBrandBackground2Hover: #cfe4fa;
  --colorBrandBackground2Pressed: #96c6fa;
  --colorBrandBackgroundInverted: #ffffff;
  --colorBrandBackgroundInvertedHover: #ebf3fc;
  --colorBrandBackgroundInvertedPressed: #b4d6fa;
  --colorBrandBackgroundInvertedSelected: #cfe4fa;
  --colorNeutralStrokeAccessible: #616161;
  --colorNeutralStrokeAccessibleHover: #575757;
  --colorNeutralStrokeAccessiblePressed: #4d4d4d;
  --colorNeutralStrokeAccessibleSelected: #0f6cbd;
  --colorNeutralStroke1: #d1d1d1;
  --colorNeutralStroke1Hover: #c7c7c7;
  --colorNeutralStroke1Pressed: #b3b3b3;
  --colorNeutralStroke1Selected: #bdbdbd;
  --colorNeutralStroke2: #e0e0e0;
  --colorNeutralStroke3: #f0f0f0;
  --colorNeutralStrokeSubtle: #e0e0e0;
  --colorNeutralStrokeOnBrand: #ffffff;
  --colorNeutralStrokeOnBrand2: #ffffff;
  --colorNeutralStrokeOnBrand2Hover: #ffffff;
  --colorNeutralStrokeOnBrand2Pressed: #ffffff;
  --colorNeutralStrokeOnBrand2Selected: #ffffff;
  --colorBrandStroke1: #0f6cbd;
  --colorBrandStroke2: #b4d6fa;
  --colorBrandStroke2Hover: #77b7f7;
  --colorBrandStroke2Pressed: #0f6cbd;
  --colorBrandStroke2Contrast: #b4d6fa;
  --colorCompoundBrandStroke: #0f6cbd;
  --colorCompoundBrandStrokeHover: #115ea3;
  --colorCompoundBrandStrokePressed: #0f548c;
  --colorNeutralStrokeDisabled: #e0e0e0;
  --colorNeutralStrokeInvertedDisabled: rgba(255, 255, 255, 0.4);
  --colorTransparentStroke: transparent;
  --colorTransparentStrokeInteractive: transparent;
  --colorTransparentStrokeDisabled: transparent;
  --colorNeutralStrokeAlpha: rgba(0, 0, 0, 0.05);
  --colorNeutralStrokeAlpha2: rgba(255, 255, 255, 0.2);
  --colorStrokeFocus1: #ffffff;
  --colorStrokeFocus2: #000000;
  --colorNeutralShadowAmbient: rgba(0, 0, 0, 0.12);
  --colorNeutralShadowKey: rgba(0, 0, 0, 0.14);
  --colorNeutralShadowAmbientLighter: rgba(0, 0, 0, 0.06);
  --colorNeutralShadowKeyLighter: rgba(0, 0, 0, 0.07);
  --colorNeutralShadowAmbientDarker: rgba(0, 0, 0, 0.2);
  --colorNeutralShadowKeyDarker: rgba(0, 0, 0, 0.24);
  --colorBrandShadowAmbient: rgba(0, 0, 0, 0.3);
  --colorBrandShadowKey: rgba(0, 0, 0, 0.25);
  --colorPaletteRedBackground1: #fdf6f6;
  --colorPaletteRedBackground2: #f1bbbc;
  --colorPaletteRedBackground3: #d13438;
  --colorPaletteRedForeground1: #bc2f32;
  --colorPaletteRedForeground2: #751d1f;
  --colorPaletteRedForeground3: #d13438;
  --colorPaletteRedBorderActive: #d13438;
  --colorPaletteRedBorder1: #f1bbbc;
  --colorPaletteRedBorder2: #d13438;
  --colorPaletteGreenBackground1: #f1faf1;
  --colorPaletteGreenBackground2: #9fd89f;
  --colorPaletteGreenBackground3: #107c10;
  --colorPaletteGreenForeground1: #0e700e;
  --colorPaletteGreenForeground2: #094509;
  --colorPaletteGreenForeground3: #107c10;
  --colorPaletteGreenBorderActive: #107c10;
  --colorPaletteGreenBorder1: #9fd89f;
  --colorPaletteGreenBorder2: #107c10;
  --colorPaletteDarkOrangeBackground1: #fdf6f3;
  --colorPaletteDarkOrangeBackground2: #f4bfab;
  --colorPaletteDarkOrangeBackground3: #da3b01;
  --colorPaletteDarkOrangeForeground1: #c43501;
  --colorPaletteDarkOrangeForeground2: #7a2101;
  --colorPaletteDarkOrangeForeground3: #da3b01;
  --colorPaletteDarkOrangeBorderActive: #da3b01;
  --colorPaletteDarkOrangeBorder1: #f4bfab;
  --colorPaletteDarkOrangeBorder2: #da3b01;
  --colorPaletteYellowBackground1: #fffef5;
  --colorPaletteYellowBackground2: #fef7b2;
  --colorPaletteYellowBackground3: #fde300;
  --colorPaletteYellowForeground1: #817400;
  --colorPaletteYellowForeground2: #817400;
  --colorPaletteYellowForeground3: #fde300;
  --colorPaletteYellowBorderActive: #fde300;
  --colorPaletteYellowBorder1: #fef7b2;
  --colorPaletteYellowBorder2: #fde300;
  --colorPaletteBerryBackground1: #fdf5fc;
  --colorPaletteBerryBackground2: #edbbe7;
  --colorPaletteBerryBackground3: #c239b3;
  --colorPaletteBerryForeground1: #af33a1;
  --colorPaletteBerryForeground2: #6d2064;
  --colorPaletteBerryForeground3: #c239b3;
  --colorPaletteBerryBorderActive: #c239b3;
  --colorPaletteBerryBorder1: #edbbe7;
  --colorPaletteBerryBorder2: #c239b3;
  --colorPaletteLightGreenBackground1: #f2fbf2;
  --colorPaletteLightGreenBackground2: #a7e3a5;
  --colorPaletteLightGreenBackground3: #13a10e;
  --colorPaletteLightGreenForeground1: #11910d;
  --colorPaletteLightGreenForeground2: #0b5a08;
  --colorPaletteLightGreenForeground3: #13a10e;
  --colorPaletteLightGreenBorderActive: #13a10e;
  --colorPaletteLightGreenBorder1: #a7e3a5;
  --colorPaletteLightGreenBorder2: #13a10e;
  --colorPaletteMarigoldBackground1: #fefbf4;
  --colorPaletteMarigoldBackground2: #f9e2ae;
  --colorPaletteMarigoldBackground3: #eaa300;
  --colorPaletteMarigoldForeground1: #d39300;
  --colorPaletteMarigoldForeground2: #835b00;
  --colorPaletteMarigoldForeground3: #eaa300;
  --colorPaletteMarigoldBorderActive: #eaa300;
  --colorPaletteMarigoldBorder1: #f9e2ae;
  --colorPaletteMarigoldBorder2: #eaa300;
  --colorPaletteRedForegroundInverted: #dc5e62;
  --colorPaletteGreenForegroundInverted: #359b35;
  --colorPaletteYellowForegroundInverted: #fef7b2;
  --colorPaletteDarkRedBackground2: #d69ca5;
  --colorPaletteDarkRedForeground2: #420610;
  --colorPaletteDarkRedBorderActive: #750b1c;
  --colorPaletteCranberryBackground2: #eeacb2;
  --colorPaletteCranberryForeground2: #6e0811;
  --colorPaletteCranberryBorderActive: #c50f1f;
  --colorPalettePumpkinBackground2: #efc4ad;
  --colorPalettePumpkinForeground2: #712d09;
  --colorPalettePumpkinBorderActive: #ca5010;
  --colorPalettePeachBackground2: #ffddb3;
  --colorPalettePeachForeground2: #8f4e00;
  --colorPalettePeachBorderActive: #ff8c00;
  --colorPaletteGoldBackground2: #ecdfa5;
  --colorPaletteGoldForeground2: #6c5700;
  --colorPaletteGoldBorderActive: #c19c00;
  --colorPaletteBrassBackground2: #e0cea2;
  --colorPaletteBrassForeground2: #553e06;
  --colorPaletteBrassBorderActive: #986f0b;
  --colorPaletteBrownBackground2: #ddc3b0;
  --colorPaletteBrownForeground2: #50301a;
  --colorPaletteBrownBorderActive: #8e562e;
  --colorPaletteForestBackground2: #bdd99b;
  --colorPaletteForestForeground2: #294903;
  --colorPaletteForestBorderActive: #498205;
  --colorPaletteSeafoamBackground2: #a8f0cd;
  --colorPaletteSeafoamForeground2: #00723b;
  --colorPaletteSeafoamBorderActive: #00cc6a;
  --colorPaletteDarkGreenBackground2: #9ad29a;
  --colorPaletteDarkGreenForeground2: #063b06;
  --colorPaletteDarkGreenBorderActive: #0b6a0b;
  --colorPaletteLightTealBackground2: #a6e9ed;
  --colorPaletteLightTealForeground2: #00666d;
  --colorPaletteLightTealBorderActive: #00b7c3;
  --colorPaletteTealBackground2: #9bd9db;
  --colorPaletteTealForeground2: #02494c;
  --colorPaletteTealBorderActive: #038387;
  --colorPaletteSteelBackground2: #94c8d4;
  --colorPaletteSteelForeground2: #00333f;
  --colorPaletteSteelBorderActive: #005b70;
  --colorPaletteBlueBackground2: #a9d3f2;
  --colorPaletteBlueForeground2: #004377;
  --colorPaletteBlueBorderActive: #0078d4;
  --colorPaletteRoyalBlueBackground2: #9abfdc;
  --colorPaletteRoyalBlueForeground2: #002c4e;
  --colorPaletteRoyalBlueBorderActive: #004e8c;
  --colorPaletteCornflowerBackground2: #c8d1fa;
  --colorPaletteCornflowerForeground2: #2c3c85;
  --colorPaletteCornflowerBorderActive: #4f6bed;
  --colorPaletteNavyBackground2: #a3b2e8;
  --colorPaletteNavyForeground2: #001665;
  --colorPaletteNavyBorderActive: #0027b4;
  --colorPaletteLavenderBackground2: #d2ccf8;
  --colorPaletteLavenderForeground2: #3f3682;
  --colorPaletteLavenderBorderActive: #7160e8;
  --colorPalettePurpleBackground2: #c6b1de;
  --colorPalettePurpleForeground2: #341a51;
  --colorPalettePurpleBorderActive: #5c2e91;
  --colorPaletteGrapeBackground2: #d9a7e0;
  --colorPaletteGrapeForeground2: #4c0d55;
  --colorPaletteGrapeBorderActive: #881798;
  --colorPaletteLilacBackground2: #e6bfed;
  --colorPaletteLilacForeground2: #63276d;
  --colorPaletteLilacBorderActive: #b146c2;
  --colorPalettePinkBackground2: #f7c0e3;
  --colorPalettePinkForeground2: #80215d;
  --colorPalettePinkBorderActive: #e43ba6;
  --colorPaletteMagentaBackground2: #eca5d1;
  --colorPaletteMagentaForeground2: #6b0043;
  --colorPaletteMagentaBorderActive: #bf0077;
  --colorPalettePlumBackground2: #d696c0;
  --colorPalettePlumForeground2: #43002b;
  --colorPalettePlumBorderActive: #77004d;
  --colorPaletteBeigeBackground2: #d7d4d4;
  --colorPaletteBeigeForeground2: #444241;
  --colorPaletteBeigeBorderActive: #7a7574;
  --colorPaletteMinkBackground2: #cecccb;
  --colorPaletteMinkForeground2: #343231;
  --colorPaletteMinkBorderActive: #5d5a58;
  --colorPalettePlatinumBackground2: #cdd6d8;
  --colorPalettePlatinumForeground2: #3b4447;
  --colorPalettePlatinumBorderActive: #69797e;
  --colorPaletteAnchorBackground2: #bcc3c7;
  --colorPaletteAnchorForeground2: #202427;
  --colorPaletteAnchorBorderActive: #394146;
  --colorStatusSuccessBackground1: #f1faf1;
  --colorStatusSuccessBackground2: #9fd89f;
  --colorStatusSuccessBackground3: #107c10;
  --colorStatusSuccessForeground1: #0e700e;
  --colorStatusSuccessForeground2: #094509;
  --colorStatusSuccessForeground3: #107c10;
  --colorStatusSuccessForegroundInverted: #54b054;
  --colorStatusSuccessBorderActive: #107c10;
  --colorStatusSuccessBorder1: #9fd89f;
  --colorStatusSuccessBorder2: #107c10;
  --colorStatusWarningBackground1: #fff9f5;
  --colorStatusWarningBackground2: #fdcfb4;
  --colorStatusWarningBackground3: #f7630c;
  --colorStatusWarningForeground1: #bc4b09;
  --colorStatusWarningForeground2: #8a3707;
  --colorStatusWarningForeground3: #bc4b09;
  --colorStatusWarningForegroundInverted: #faa06b;
  --colorStatusWarningBorderActive: #f7630c;
  --colorStatusWarningBorder1: #fdcfb4;
  --colorStatusWarningBorder2: #bc4b09;
  --colorStatusDangerBackground1: #fdf3f4;
  --colorStatusDangerBackground2: #eeacb2;
  --colorStatusDangerBackground3: #c50f1f;
  --colorStatusDangerForeground1: #b10e1c;
  --colorStatusDangerForeground2: #6e0811;
  --colorStatusDangerForeground3: #c50f1f;
  --colorStatusDangerForegroundInverted: #dc626d;
  --colorStatusDangerBorderActive: #c50f1f;
  --colorStatusDangerBorder1: #eeacb2;
  --colorStatusDangerBorder2: #c50f1f;
  --shadow2: 0 0 2px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.14);
  --shadow4: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.14);
  --shadow8: 0 0 2px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.14);
  --shadow16: 0 0 2px rgba(0, 0, 0, 0.12), 0 8px 16px rgba(0, 0, 0, 0.14);
  --shadow28: 0 0 8px rgba(0, 0, 0, 0.12), 0 14px 28px rgba(0, 0, 0, 0.14);
  --shadow64: 0 0 8px rgba(0, 0, 0, 0.12), 0 32px 64px rgba(0, 0, 0, 0.14);
  --shadow2Brand: 0 0 2px rgba(0, 0, 0, 0.3), 0 1px 2px rgba(0, 0, 0, 0.25);
  --shadow4Brand: 0 0 2px rgba(0, 0, 0, 0.3), 0 2px 4px rgba(0, 0, 0, 0.25);
  --shadow8Brand: 0 0 2px rgba(0, 0, 0, 0.3), 0 4px 8px rgba(0, 0, 0, 0.25);
  --shadow16Brand: 0 0 2px rgba(0, 0, 0, 0.3), 0 8px 16px rgba(0, 0, 0, 0.25);
  --shadow28Brand: 0 0 8px rgba(0, 0, 0, 0.3), 0 14px 28px rgba(0, 0, 0, 0.25);
  --shadow64Brand: 0 0 8px rgba(0, 0, 0, 0.3), 0 32px 64px rgba(0, 0, 0, 0.25);

  --color-primary: #1d4ed8;
  --color-secondary: #f97316;
  --color-info: #0000ff;
  --color-success: #00ff00;
  --color-warning: #00ff00;
  --color-error: #ff0000;
}

/* 暗色主题 */

/**
 * Fluent Design Dark Theme Tokens
 * 基于 @fluentui/tokens 的 webDarkTheme
 */

:root[data-theme='dark'] {
  /* 覆盖为暗色主题的关键颜色 */
  --colorNeutralForeground1: #ffffff;
  --colorNeutralForeground1Hover: #ffffff;
  --colorNeutralForeground1Pressed: #ffffff;
  --colorNeutralForeground1Selected: #ffffff;

  --colorNeutralForeground2: #d6d6d6;
  --colorNeutralForeground2Hover: #ffffff;
  --colorNeutralForeground2Pressed: #ffffff;
  --colorNeutralForeground2Selected: #ffffff;

  --colorNeutralForeground3: #a8a8a8;
  --colorNeutralForeground3Hover: #d6d6d6;
  --colorNeutralForeground3Pressed: #d6d6d6;
  --colorNeutralForeground3Selected: #d6d6d6;

  --colorNeutralForeground4: #8f8f8f;
  --colorNeutralForegroundDisabled: #575757;

  --colorNeutralBackground1: #1b1b1b;
  --colorNeutralBackground1Hover: #292929;
  --colorNeutralBackground1Pressed: #323232;
  --colorNeutralBackground1Selected: #262626;

  --colorNeutralBackground2: #242424;
  --colorNeutralBackground2Hover: #323232;
  --colorNeutralBackground2Pressed: #3c3c3c;
  --colorNeutralBackground2Selected: #2d2d2d;

  --colorNeutralBackground3: #292929;
  --colorNeutralBackground3Hover: #262626;
  --colorNeutralBackground3Pressed: #323232;
  --colorNeutralBackground3Selected: #2d2d2d;

  --colorNeutralBackground4: #2d2d2d;
  --colorNeutralBackground4Hover: #242424;
  --colorNeutralBackground4Pressed: #292929;
  --colorNeutralBackground4Selected: #1b1b1b;

  --colorNeutralBackground5: #262626;
  --colorNeutralBackground5Hover: #292929;
  --colorNeutralBackground5Pressed: #2d2d2d;
  --colorNeutralBackground5Selected: #242424;

  --colorNeutralBackground6: #2d2d2d;

  --colorNeutralBackgroundInverted: #ffffff;
  --colorNeutralBackgroundStatic: #ffffff;

  --colorBrandForeground1: #479ef5;
  --colorBrandForeground2: #62abf5;
  --colorBrandForeground2Hover: #479ef5;
  --colorBrandForeground2Pressed: #1893f7;

  --colorBrandBackground: #479ef5;
  --colorBrandBackgroundHover: #62abf5;
  --colorBrandBackgroundPressed: #1893f7;
  --colorBrandBackgroundSelected: #3aa1f9;

  --colorBrandForegroundInverted: #0f6cbd;
  --colorBrandForegroundInvertedHover: #115ea3;
  --colorBrandForegroundInvertedPressed: #0a2e4a;

  --colorNeutralStrokeAccessible: #b8b8b8;
  --colorNeutralStrokeAccessibleHover: #c8c8c8;
  --colorNeutralStrokeAccessiblePressed: #d8d8d8;

  --colorNeutralStroke1: #5c5c5c;
  --colorNeutralStroke1Hover: #6e6e6e;
  --colorNeutralStroke1Pressed: #828282;

  --colorNeutralStroke2: #4b4b4b;
  --colorNeutralStroke3: #3c3c3c;

  --colorNeutralStrokeOnBrand: #ffffff;
  --colorNeutralStrokeOnBrand2: #ffffff;
  --colorNeutralStrokeOnBrand2Hover: #ffffff;
  --colorNeutralStrokeOnBrand2Pressed: #ffffff;
  --colorNeutralStrokeOnBrand2Selected: #ffffff;

  --colorNeutralStrokeDisabled: #3c3c3c;
  --colorNeutralStrokeInvertedDisabled: rgba(0, 0, 0, 0.4);

  --colorNeutralShadowAmbient: rgba(0, 0, 0, 0.36);
  --colorNeutralShadowKey: rgba(0, 0, 0, 0.42);

  --colorBrandShadowAmbient: rgba(0, 0, 0, 0.4);
  --colorBrandShadowKey: rgba(0, 0, 0, 0.3);
}

/* Teams 亮色主题 */

/**
 * Fluent Design Teams Light Theme Tokens
 * 基于 @fluentui/tokens 的 teamsLightTheme
 */

:root[data-theme='teams-light'] {
  /* Teams 品牌色 */
  --colorBrandForeground1: #6264a7;
  --colorBrandForeground2: #5c5fc0;
  --colorBrandForeground2Hover: #6264a7;
  --colorBrandForeground2Pressed: #464775;

  --colorBrandBackground: #6264a7;
  --colorBrandBackgroundHover: #5c5fc0;
  --colorBrandBackgroundPressed: #464775;
  --colorBrandBackgroundSelected: #6264a7;

  --colorBrandStroke1: #6264a7;
  --colorBrandStroke2: #c8c8e3;
  --colorBrandStroke2Hover: #6264a7;
  --colorBrandStroke2Pressed: #6264a7;
}

/* Teams 暗色主题 */

/**
 * Fluent Design Teams Dark Theme Tokens
 * 基于 @fluentui/tokens 的 teamsDarkTheme
 */

:root[data-theme='teams-dark'] {
  /* Teams 暗色主题 */
  --colorNeutralForeground1: #ffffff;
  --colorNeutralForeground1Hover: #ffffff;
  --colorNeutralForeground1Pressed: #ffffff;
  --colorNeutralForeground1Selected: #ffffff;

  --colorNeutralForeground2: #d6d6d6;
  --colorNeutralForeground2Hover: #ffffff;
  --colorNeutralForeground2Pressed: #ffffff;
  --colorNeutralForeground2Selected: #ffffff;

  --colorNeutralBackground1: #1b1b1b;
  --colorNeutralBackground1Hover: #292929;
  --colorNeutralBackground1Pressed: #323232;
  --colorNeutralBackground1Selected: #262626;

  /* Teams 品牌色 */
  --colorBrandForeground1: #9f9fdf;
  --colorBrandForeground2: #b4b6ef;
  --colorBrandForeground2Hover: #9f9fdf;
  --colorBrandForeground2Pressed: #8789ce;

  --colorBrandBackground: #9f9fdf;
  --colorBrandBackgroundHover: #b4b6ef;
  --colorBrandBackgroundPressed: #8789ce;
  --colorBrandBackgroundSelected: #9f9fdf;

  --colorBrandStroke1: #9f9fdf;
  --colorBrandStroke2: #9f9fdf;
  --colorBrandStroke2Hover: #9f9fdf;
  --colorBrandStroke2Pressed: #9f9fdf;
}

/* 基础样式 */

/**
 * Fluent Design Base Styles
 * 导入主题令牌和通用基础样式
 */

/* 导入所有主题令牌 */

/* 以下是通用基础样式 */
* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: var(--fontFamilyBase);
}

/* 组件样式 */

.t-button {
  align-items: center;
  box-sizing: border-box;
  display: inline-flex;
  justify-content: center;
  text-decoration-line: none;
  vertical-align: middle;
  margin: 0px;
  overflow: hidden;
  background-color: var(--colorNeutralBackground1);
  color: var(--colorNeutralForeground1);
  border: var(--strokeWidthThin) solid var(--colorNeutralStroke1);
  font-family: var(--fontFamilyBase);
  outline-style: none;
  padding: 5px var(--spacingHorizontalM);
  min-width: 96px;
  border-radius: var(--borderRadiusMedium);
  font-size: var(--fontSizeBase300);
  font-weight: var(--fontWeightSemibold);
  line-height: var(--lineHeightBase300);
  transition-duration: var(--durationFaster);
  transition-property: background, border, color, box-shadow;
}

.t-button:hover:not([disabled]) {
    background-color: var(--colorNeutralBackground1Hover);
    border-color: var(--colorNeutralStroke1Hover);
    color: var(--colorNeutralForeground1Hover);
    cursor: pointer;
  }

.t-button:active:not([disabled]) {
    background-color: var(--colorNeutralBackground1Pressed);
    border-color: var(--colorNeutralStroke1Pressed);
    color: var(--colorNeutralForeground1Pressed);
  }

.t-button[disabled] {
    background-color: var(--colorNeutralBackgroundDisabled);
    color: var(--colorNeutralForegroundDisabled);
    border-color: var(--colorNeutralStrokeDisabled);
    cursor: not-allowed;
  }

.t-button[disabled]:hover {
    cursor: not-allowed;
  }

/* Focus styles */

.t-button:focus-visible {
    outline: var(--strokeWidthThick) solid var(--colorStrokeFocus2);
    outline-offset: -2px;
  }

/* ========== Shape variations ========== */
.t-button--square {
  border-radius: var(--borderRadiusNone);
}

.t-button--circular {
  border-radius: var(--borderRadiusCircular);
}

/* ========== Size variations ========== */
.t-button--small {
  padding: 3px var(--spacingHorizontalS);
  min-width: 64px;
  font-size: var(--fontSizeBase200);
  font-weight: var(--fontWeightRegular);
  line-height: var(--lineHeightBase200);
}

.t-button--large {
  padding: 8px var(--spacingHorizontalL);
  min-width: 96px;
  font-size: var(--fontSizeBase400);
  font-weight: var(--fontWeightSemibold);
  line-height: var(--lineHeightBase400);
}

/* ========== Icon-only variations ========== */
.is-icon-only.t-button--small {
  padding: 1px;
  min-width: 24px;
  max-width: 24px;
}

.is-icon-only {
  padding: 5px;
  min-width: 32px;
  max-width: 32px;
}

.is-icon-only.t-button--large {
  padding: 7px;
  min-width: 40px;
  max-width: 40px;
}

/* ========== Appearance variations ========== */
.t-button--primary {
  background-color: var(--colorBrandBackground);
  color: var(--colorNeutralForegroundOnBrand);
  border-color: transparent;
  box-shadow: var(--colorNeutralShadowKey) 0px 2px 4px;
}
.t-button--primary:hover:not([disabled]) {
    background-color: var(--colorBrandBackgroundHover);
    color: var(--colorNeutralForegroundOnBrand);
    box-shadow: var(--colorNeutralShadowKey) 0px 4px 8px;
  }
.t-button--primary:active:not([disabled]) {
    background-color: var(--colorBrandBackgroundPressed);
    color: var(--colorNeutralForegroundOnBrand);
    box-shadow: var(--colorNeutralShadowKey) 0px 1px 2px;
  }
/* Primary 按钮特殊焦点样式 */
.t-button--primary:focus-visible {
    outline: var(--strokeWidthThick) solid var(--colorNeutralForegroundOnBrand);
    outline-offset: -2px;
    box-shadow:
      var(--shadow2),
      0 0 0 1px var(--colorStrokeFocus2) inset;
  }
.t-button--primary[disabled] {
    background-color: var(--colorNeutralBackgroundDisabled);
    color: var(--colorNeutralForegroundDisabled);
    border-color: transparent;
    box-shadow: none;
  }

.t-button--outline {
  background-color: var(--colorTransparentBackground);
  border-color: var(--colorNeutralStrokeAccessible);
  color: var(--colorNeutralForeground1);
}

.t-button--outline:hover:not([disabled]) {
    background-color: var(--colorNeutralBackground1);
    border-color: var(--colorNeutralStrokeAccessibleHover);
    color: var(--colorNeutralForeground1);
  }

.t-button--outline:active:not([disabled]) {
    background-color: var(--colorNeutralBackground1Pressed);
    border-color: var(--colorNeutralStrokeAccessiblePressed);
    color: var(--colorNeutralForeground1);
  }

.t-button--outline[disabled] {
    background-color: var(--colorTransparentBackground);
    border-color: var(--colorNeutralStrokeDisabled);
    color: var(--colorNeutralForegroundDisabled);
  }

.t-button--subtle {
  background-color: var(--colorTransparentBackground);
  border-color: transparent;
  color: var(--colorNeutralForeground2);
}

.t-button--subtle:hover:not([disabled]) {
    background-color: var(--colorNeutralBackground1Hover);
    border-color: transparent;
    color: var(--colorNeutralForeground2Hover);
  }

.t-button--subtle:active:not([disabled]) {
    background-color: var(--colorNeutralBackground1Pressed);
    border-color: transparent;
    color: var(--colorNeutralForeground2Pressed);
  }

.t-button--subtle[disabled] {
    background-color: var(--colorTransparentBackground);
    border-color: transparent;
    color: var(--colorNeutralForegroundDisabled);
  }

.t-button--transparent {
  background-color: var(--colorTransparentBackground);
  border-color: transparent;
  color: var(--colorNeutralForeground2);
}

.t-button--transparent:hover:not([disabled]) {
    background-color: var(--colorTransparentBackgroundHover);
    border-color: transparent;
    color: var(--colorNeutralForeground2BrandHover);
  }

.t-button--transparent:active:not([disabled]) {
    background-color: var(--colorTransparentBackgroundPressed);
    border-color: transparent;
    color: var(--colorNeutralForeground2BrandPressed);
  }

.t-button--transparent[disabled] {
    background-color: var(--colorTransparentBackground);
    border-color: transparent;
    color: var(--colorNeutralForegroundDisabled);
  }

/* ========== Icon styles ========== */
.t-button__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  height: 20px;
  width: 20px;
  flex-shrink: 0;
}

/* 图标尺寸变体 */
.t-button--small .t-button__icon {
  font-size: 16px;
  height: 16px;
  width: 16px;
}

.t-button--large .t-button__icon {
  font-size: 24px;
  height: 24px;
  width: 24px;
}

/* ========== Loading 状态 ========== */
.is-loading {
  position: relative;
  cursor: wait;
}

/* Spinner 容器 */
.t-button__spinner-wrapper {
  display: inline-flex;
  align-items: center;
  height: 1.2em;
  margin-right: var(--spacingHorizontalXS);
}

.t-button__spinner {
  display: inline-flex;
  align-items: center;
}

/* ========== High contrast mode support ========== */
@media (forced-colors: active) {
    .t-button:focus-visible {
      outline: 2px solid ButtonText;
    }

    .t-button:not([disabled]).t-button--primary {
      background-color: Highlight;
      color: HighlightText;
      border-color: HighlightText;
    }

      .t-button:not([disabled]).t-button--primary:hover {
        background-color: HighlightText;
        color: Highlight;
        border-color: Highlight;
      }

      .t-button:not([disabled]).t-button--primary:active {
        background-color: HighlightText;
        color: Highlight;
        border-color: Highlight;
      }
      .t-button:not([disabled]).t-button--outline:hover {
        background-color: HighlightText;
        color: Highlight;
        border-color: Highlight;
      }

      .t-button:not([disabled]).t-button--outline:active {
        background-color: HighlightText;
        color: Highlight;
        border-color: Highlight;
      }
}

/* ========== Spinner Component ========== */
.t-spinner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.t-spinner__svg {
  animation: spin 1s linear infinite;
}

.t-spinner__svg.size-tiny {
  width: 16px;
  height: 16px;
}

.t-spinner__svg.size-small {
  width: 20px;
  height: 20px;
}

.t-spinner__svg.size-medium {
  width: 24px;
  height: 24px;
}

.t-spinner__svg.size-large {
  width: 28px;
  height: 28px;
}

.t-spinner__circle {
  fill: none;
  stroke: currentColor;
  stroke-width: 4;
  stroke-dasharray: 60;
  stroke-dashoffset: 45;
  stroke-linecap: round;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/**
 * Dialog 样式
 *
 * 宽度不在这里硬编码 —— 由组件的 `width` / `size` prop 决定，经内联样式下发。
 * 迁移前这里写死 max-width: 600px，与 width prop 的默认值 800px 互相矛盾，
 * 导致该 prop 完全失效。
 */

.t-overlay {
  position: fixed;
  inset: 0;
  z-index: var(--t-z-index-dialog);

  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--spacingVerticalXXL) var(--spacingHorizontalXXL);
  overflow: auto;

  background-color: var(--colorBackgroundOverlay);
}

.t-dialog {
  box-sizing: border-box;
  max-height: 100%;
  overflow: hidden;

  border: var(--strokeWidthThin) solid var(--colorNeutralStroke2);
  border-radius: var(--borderRadiusXLarge);
  background-color: var(--colorNeutralBackground1);
  color: var(--colorNeutralForeground1);
  box-shadow: var(--shadow64);

  font-family: var(--fontFamilyBase);
}

.t-dialog-body {
  display: grid;
  grid-template-rows: auto 1fr auto;
  grid-template-columns: 1fr;
  gap: var(--spacingVerticalM);
  box-sizing: border-box;
  padding: var(--spacingVerticalXXL) var(--spacingHorizontalXXL);
  max-height: calc(100vh - 48px);
}

.t-dialog__header {
  font-size: var(--fontSizeBase500);
  font-weight: var(--fontWeightSemibold);
  line-height: var(--lineHeightBase500);
  margin: 0;
}

.t-dialog__content {
  box-sizing: border-box;
  min-height: 32px;
  overflow-y: auto;

  font-size: var(--fontSizeBase300);
  font-weight: var(--fontWeightRegular);
  line-height: var(--lineHeightBase300);
}

.t-dialog__actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--spacingHorizontalS);
}

/*
 * 尺寸类名（.t-dialog--small / --large）由组件下发，但这里不定义规则 ——
 * 宽度由内联样式控制，类名仅作为使用者覆盖的钩子。
 */

/* ========== 减少动效偏好 ========== */

@media (prefers-reduced-motion: reduce) {
  .t-overlay {
    scroll-behavior: auto;
  }
}

/**
 * Dropdown 样式
 *
 * 定位与显隐由 Popover 承担（.t-popover__content 提供浮层外观），
 * 这里只做 Dropdown 特有的调整。
 */

/* .t-dropdown-menu 通过 Popover 的 contentClass 追加到浮层容器上。
   浮层默认带内边距，而菜单项自带内边距，因此这里清零避免双重缩进。 */
.t-popover__content.t-dropdown-menu {
  padding: 0;
  max-width: none;
  width: max-content;
}

/* 触发元素由使用者提供，这里只补一个最小可见的默认外观。
   使用者的类名会被 cloneVNode 合并保留，不会被覆盖。 */
.t-dropdown-ref {
  cursor: pointer;
}
.svg {
  height: 100%;
  fill: currentColor;
  vertical-align: top;
  forced-color-adjust: auto;
}

.t-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  speak: none;
  width: 1em;
  height: 1em;
}

.t-menu {
  padding: 4px;
  width: max-content;
  box-shadow:
    0 0 2px rgba(0, 0, 0, 0.12),
    0 8px 16px rgba(0, 0, 0, 0.14);
  overflow-x: hidden;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 4px;
  background-color: white;
}

.t-menu-list {
    font-size: 14px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 20px;
  }

.t-menu-list-item {
      display: flex;
      flex-shrink: 0;
      align-items: start;
      cursor: pointer;
      gap: 4px;
      min-height: 32px;
      box-sizing: border-box;
      padding: 6px 6px 0 6px;
      border-radius: 4px;
      max-width: 360px;
    }

.t-menu-list-item:hover {
        background-color: #f5f5f5;
      }

.t-menu-list-item .icon {
        display: inline-flex;
        width: 20px;
        height: 20px;
        justify-content: center;
        font-size: 20px;
      }

.t-menu-list-item .marker {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        height: 16px;
        width: 16px;
        font-size: 16px;
      }

.t-menu-list-item .content {
        padding: 0 2px;
        flex-grow: 1;
        text-align: left;
      }

.t-menu-list-item .secondary {
        padding: 0 2px;
        text-align: right;
      }

/**
 * Popover 基础样式
 *
 * 定位完全由内联样式承载（floating-ui 产出的 floatingStyles），
 * 这里只负责外观与显隐过渡。
 */

.t-popover__content {
  box-sizing: border-box;
  /* 定位方式由 inline style 提供，这里只兜底初始值 */
  top: 0;
  left: 0;
  width: max-content;
  max-width: 320px;

  padding: var(--spacingVerticalS) var(--spacingHorizontalM);
  border: var(--strokeWidthThin) solid var(--colorNeutralStroke1);
  border-radius: var(--borderRadiusMedium);
  background-color: var(--colorNeutralBackground1);
  color: var(--colorNeutralForeground1);
  box-shadow: var(--shadow8);

  font-family: var(--fontFamilyBase);
  font-size: var(--fontSizeBase300);
  line-height: var(--lineHeightBase300);

  /* 未定位完成前先隐藏，避免浮层在左上角闪现一帧 */
  visibility: hidden;
  opacity: 0;
  transition:
    opacity var(--durationFaster) var(--curveEasyEase),
    visibility var(--durationFaster) var(--curveEasyEase);
}

.t-popover__content.is-visible {
  visibility: visible;
  opacity: 1;
}

/* ========== 箭头 ========== */
/* 位置由 arrowStyles 内联传入，这里只管尺寸与配色 */

.t-popover__arrow {
  width: 8px;
  height: 8px;
  background-color: var(--colorNeutralBackground1);
  border: var(--strokeWidthThin) solid var(--colorNeutralStroke1);
  transform: rotate(45deg);
}

/* 让箭头贴合浮层边缘的边框：遮住朝向浮层那一侧的边框与背景 */
.t-popover__arrow[data-placement^='top'] {
  border-top: none;
  border-left: none;
}

.t-popover__arrow[data-placement^='bottom'] {
  border-bottom: none;
  border-right: none;
}

.t-popover__arrow[data-placement^='left'] {
  border-bottom: none;
  border-left: none;
}

.t-popover__arrow[data-placement^='right'] {
  border-top: none;
  border-right: none;
}

/* ========== 无障碍 ========== */
/* 项目规范：不实现无障碍。此处仅响应系统的减少动效偏好。 */

@media (prefers-reduced-motion: reduce) {
  .t-popover__content {
    transition-duration: 0.01ms;
  }
}

/**
 * Portal 层级令牌
 *
 * Portal 本身**不产生任何 DOM 元素**（内容直接 Teleport，保持结构透明），
 * 因此这里只有全局的层级变量，没有组件样式。
 *
 * 层级顺序的依据：
 *   popover < tooltip < dialog < toast
 *
 * - 工具提示可能出现在弹层内容里，需高于弹层
 * - 对话框是模态，应遮住弹层与工具提示
 * - 通知即使模态打开也应可见
 *
 * 各组件在自己的样式里引用这些变量，不再硬编码数值。
 */

:root {
  --t-z-index-popover: 1000;
  --t-z-index-tooltip: 1100;
  --t-z-index-dialog: 1200;
  --t-z-index-toast: 1300;
}

.t-tablist {
  --tab-border-color: #d1d1d1;
  --tab-radius: 0.5rem;
  display: grid;
  align-items: flex-end;
}

.t-tablist .t-tablist-tab {
    position: relative;
    grid-row-start: 1;
    display: inline-flex;
    height: 2rem;
    cursor: pointer;
    appearance: none;
    user-select: none;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 0.875rem;
    line-height: 1.25rem;
    line-height: 2;
    border: 1px solid transparent;
    border-width: 0 0 1px;
    border-start-start-radius: 1em;
    border-start-end-radius: 1em;
    border-bottom-color: #d1d1d1;
    color: #161616;
  }

.t-tablist .t-tablist-tab:is(.t-tab-active, [aria-selected='true']):not(.tab-disabled):not([disabled]) {
      background-color: #fff;
      border-width: 1px 1px 0;
      border-inline-start-color: var(--tab-border-color);
      border-inline-end-color: var(--tab-border-color);
      border-top-color: var(--tab-border-color);
    }

.t-tablist .t-tablist-tab:is(.t-tab-active, [aria-selected='true']):not(.tab-disabled):not([disabled]):before {
      z-index: 1;
      content: '';
      display: block;
      position: absolute;
      width: calc(100% + var(--tab-radius, 0.5rem)* 2);
      height: var(--tab-radius, 0.5rem);
      bottom: 0;
      background-size: var(--tab-radius, 0.5rem);
      background-position:
        top left,
        top right;
      background-repeat: no-repeat;
      --tab-grad: calc(69% - 1px);
      --radius-start: radial-gradient(
        circle at top left,
        transparent var(--tab-grad),
        var(--tab-border-color) calc(var(--tab-grad) + 0.25px),
        var(--tab-border-color) calc(var(--tab-grad) + var(--tab-border, 1px)),
        var(--tab-bg) calc(var(--tab-grad) + var(--tab-border, 1px) + 0.25px)
      );
      --radius-end: radial-gradient(
        circle at top right,
        transparent var(--tab-grad),
        var(--tab-border-color) calc(var(--tab-grad) + 0.25px),
        var(--tab-border-color) calc(var(--tab-grad) + var(--tab-border, 1px)),
        var(--tab-bg) calc(var(--tab-grad) + var(--tab-border, 1px) + 0.25px)
      );
      background-image: var(--radius-start), var(--radius-end);
    }

.t-tablist .t-tablist-tab .tab-close {
      position: absolute;
      right: 8px;
      top: 8px;
      width: 16px;
      height: 16px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
    }

.t-tablist .t-tablist-tab .tab-close:hover {
        background-color: var(--colorBrandForeground1);
        color: white;
      }

.tablist .btns-box .btns {
      display: flex;
      align-items: center;
      border-bottom: 1px solid var(--colorCompoundBrandStroke);
    }

.tablist .btns-box .btns .btn {
        display: inline-flex;
        height: 36px;
        align-items: center;
        justify-content: space-between;
        border-width: 1px;
        position: relative;
        border-top-left-radius: var(--borderRadiusMedium);
        border-top-right-radius: var(--borderRadiusMedium);
        border-style: solid;
        gap: 4px;
        border-color: transparent;
        padding: 0 8px;
        max-width: 12em;
        min-width: 3em;
      }

.tablist .btns-box .btns .btn::after {
          content: '';
          position: absolute;
          left: 0px;
          right: 0px;
          bottom: -2px;
          height: 1px;
          background-color: var(--colorCompoundBrandStroke);
        }

.tablist .btns-box .btns .btn.active {
          border-color: var(--colorCompoundBrandStroke);
          border-bottom-color: transparent;
        }

.tablist .btns-box .btns .btn.active::after {
            background-color: var(--colorNeutralForegroundOnBrand);
          }

.tablist .btns-box .btns .btn .title {
          flex: 1;
          overflow: hidden;
          white-space: nowrap;
          text-overflow: ellipsis;
        }

.tablist .btns-box .btns .btn .close {
          width: 18px;
          display: inline-flex;
          align-items: center;
        }

.tablist .btns-box .btns .btn .close:hover {
            color: var(--colorCompoundBrandStroke);
          }

.t-toast-provider {
  position: fixed;
  width: 292px;
  pointer-events: none;
  bottom: 16px;
  right: 20px;
}
.t-toast {
  display: grid;
  grid-template-columns: auto 1fr auto;
  padding: 12px;
  border-radius: var(--borderRadiusMedium);

  border-width: 1px;
  border-style: solid;
  border-color: var(--colorTransparentStroke);
  box-shadow: var(--shadow8);
  font-size: var(--fontSizeBase300);
  line-height: 20px;
  font-weight: var(--fontWeightSemibold);
  color: var(--colorNeutralForeground1);
  background-color: var(--colorNeutralBackground1);
}
/**
 * Tooltip 样式
 *
 * 迁移前这个文件里 `.t-tooltip` 与 `.t-tooltip__content` 都是**空规则**，
 * 注释还写着「All styles applied by Griffel」—— 但 Griffel 早已移除。
 * 结果是 Tooltip 完全没有背景、阴影与圆角，视觉上是坏的。这里补齐。
 *
 * 浮层容器同时带 `.t-popover__content`（提供定位与基础浮层外观）
 * 与 `.t-tooltip`（提供 tooltip 特有配色）。用复合选择器提高特异性，
 * 保证不受引入顺序影响。
 */

.t-popover__content.t-tooltip {
  padding: var(--spacingVerticalSNudge) var(--spacingHorizontalMNudge);
  border: none;
  border-radius: var(--borderRadiusMedium);

  background-color: var(--colorNeutralBackgroundInverted);
  color: var(--colorNeutralForegroundInverted);
  box-shadow: var(--shadow8);

  font-size: var(--fontSizeBase200);
  line-height: var(--lineHeightBase200);
}

/* ========== relationship 变体 ========== */
/* 与基础规则特异性相同，靠源码顺序覆盖（popover.css 在前，本文件在后） */

.t-popover__content.t-tooltip--label {
  background-color: var(--colorBrandBackground);
  color: var(--colorNeutralForegroundOnBrand);
}

.t-popover__content.t-tooltip--inaccessible {
  background-color: var(--colorNeutralBackground3);
  color: var(--colorNeutralForeground1);
}

/* ========== 内容与箭头 ========== */

.t-tooltip__content {
  /* 换行与最大宽度由内联样式下发（对应 maxWidth / wrapText 两个 prop） */
  word-break: break-word;
}

/* 箭头位置由 Popover 的内联样式计算，这里只管尺寸与配色 */
.t-tooltip__arrow {
  width: 8px;
  height: 8px;
  background-color: var(--colorNeutralBackgroundInverted);
  transform: rotate(45deg);
}

.t-tooltip--label .t-tooltip__arrow {
  background-color: var(--colorBrandBackground);
}

.t-tooltip--inaccessible .t-tooltip__arrow {
  background-color: var(--colorNeutralBackground3);
}

/* ========== 触发元素包装器 ========== */

.t-tooltip-trigger {
  display: inline-block;
}

/* ========== 减少动效偏好 ========== */

@media (prefers-reduced-motion: reduce) {
  .t-popover__content.t-tooltip {
    transition-duration: 0.01ms;
  }
}

@keyframes toggle-spin {
  to {
    transform: rotate(360deg);
  }
}

.t-file-tree {
  box-sizing: border-box;
  /* border: 1px solid #aaa; */
  background-color: #fff;
  border-radius: 2px;
}

.t-file-tree__node {
    height: 30px;
    color: #575d6c;
    line-height: 1.5;
    white-space-collapse: collapse;
    text-wrap: nowrap;
    font-size: 0;
    position: relative;
    display: flex;
    width: 100%;
  }

.t-file-tree__node.active {
      background-color: var(--to-list-item-selected-bg, #0f6cbd);
      color: #fff;
      text-decoration: none;
      border-color: transparent;
    }

.t-file-tree__node:not(.active):hover {
      background-color: var(--to-list-item-hover-bg, #f2f2f3);
      transition: background-color 0.5s ease 0s;
    }

.t-file-tree__node-content {
      display: inline-flex;
      width: 100%;
      align-items: center;
      font-size: var(--to-font-size, 14px);
      padding-right: 10px;
      padding-left: 6px;
      cursor: pointer;
      border-radius: var(--to-border-radius, 2px);
    }

.t-file-tree__node-content--value-wrapper {
        display: inline-flex;
        align-items: center;
        height: 30px;
        overflow: hidden;
      }

.t-file-tree__node-content--value-wrapper > .t-icon {
          font-size: 18px;
          margin-left: 4px;
        }

.t-file-tree__node-toggle {
      cursor: pointer;
      display: inline-block;
      display: inline-flex;
      justify-content: center;
      user-select: none;
      -webkit-user-select: none;
      font-size: var(--to-font-size-icon, 16px);
      height: 16px;
      width: 16px;
      align-items: center;
    }

.t-file-tree__node-toggle.loading {
        transform: rotate(45deg);
        animation-name: toggle-spin;
        animation-duration: 1.2s;
        animation-iteration-count: infinite;
        animation-timing-function: linear;
      }

.t-file-tree__node-title {
      cursor: pointer;
      user-select: none;
      -webkit-user-select: none;
      /* Safari */
      margin-left: 4px;
      display: inline-block;
      max-width: 100%;
      border-width: 1px;
      border-style: dashed;
      border-color: transparent;
      border-image: initial;
      border-radius: var(--to-border-radius, 2px);
      flex: 1 1 0%;
    }

.t-file-tree__node-hline {
      width: 9px;
      height: 1px;
      background-color: #ddd;
      position: absolute;
      top: 50%;
    }

.t-file-tree__node-vline {
      width: 1px;
      background-color: #ddd;
      position: absolute;
    }

.mr-2 {
  margin-right: 8px;
}
/**
 * Fluent Design Base Styles
 * 导入主题令牌和通用基础样式
 */

/* 导入所有主题令牌 */

/**
 * Fluent Design Theme Tokens
 * 导入所有主题变量
 */

/* 默认亮色主题 */

:root {
  --borderRadiusNone: 0;
  --borderRadiusSmall: 2px;
  --borderRadiusMedium: 4px;
  --borderRadiusLarge: 6px;
  --borderRadiusXLarge: 8px;
  --borderRadiusCircular: 10000px;
  --fontSizeBase100: 10px;
  --fontSizeBase200: 12px;
  --fontSizeBase300: 14px;
  --fontSizeBase400: 16px;
  --fontSizeBase500: 20px;
  --fontSizeBase600: 24px;
  --fontSizeHero700: 28px;
  --fontSizeHero800: 32px;
  --fontSizeHero900: 40px;
  --fontSizeHero1000: 68px;
  --lineHeightBase100: 14px;
  --lineHeightBase200: 16px;
  --lineHeightBase300: 20px;
  --lineHeightBase400: 22px;
  --lineHeightBase500: 28px;
  --lineHeightBase600: 32px;
  --lineHeightHero700: 36px;
  --lineHeightHero800: 40px;
  --lineHeightHero900: 52px;
  --lineHeightHero1000: 92px;
  --fontFamilyBase:
    'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto,
    'Helvetica Neue', sans-serif;
  --fontFamilyMonospace: Consolas, 'Courier New', Courier, monospace;
  --fontFamilyNumeric:
    Bahnschrift, 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont,
    Roboto, 'Helvetica Neue', sans-serif;
  --fontWeightRegular: 400;
  --fontWeightMedium: 500;
  --fontWeightSemibold: 600;
  --fontWeightBold: 700;
  --strokeWidthThin: 1px;
  --strokeWidthThick: 2px;
  --strokeWidthThicker: 3px;
  --strokeWidthThickest: 4px;
  --spacingHorizontalNone: 0;
  --spacingHorizontalXXS: 2px;
  --spacingHorizontalXS: 4px;
  --spacingHorizontalSNudge: 6px;
  --spacingHorizontalS: 8px;
  --spacingHorizontalMNudge: 10px;
  --spacingHorizontalM: 12px;
  --spacingHorizontalL: 16px;
  --spacingHorizontalXL: 20px;
  --spacingHorizontalXXL: 24px;
  --spacingHorizontalXXXL: 32px;
  --spacingVerticalNone: 0;
  --spacingVerticalXXS: 2px;
  --spacingVerticalXS: 4px;
  --spacingVerticalSNudge: 6px;
  --spacingVerticalS: 8px;
  --spacingVerticalMNudge: 10px;
  --spacingVerticalM: 12px;
  --spacingVerticalL: 16px;
  --spacingVerticalXL: 20px;
  --spacingVerticalXXL: 24px;
  --spacingVerticalXXXL: 32px;
  --durationUltraFast: 50ms;
  --durationFaster: 100ms;
  --durationFast: 150ms;
  --durationNormal: 200ms;
  --durationGentle: 250ms;
  --durationSlow: 300ms;
  --durationSlower: 400ms;
  --durationUltraSlow: 500ms;
  --curveAccelerateMax: cubic-bezier(1, 0, 1, 1);
  --curveAccelerateMid: cubic-bezier(0.7, 0, 1, 0.5);
  --curveAccelerateMin: cubic-bezier(0.8, 0, 1, 1);
  --curveDecelerateMax: cubic-bezier(0, 0, 0, 1);
  --curveDecelerateMid: cubic-bezier(0.1, 0.9, 0.2, 1);
  --curveDecelerateMin: cubic-bezier(0.33, 0, 0.1, 1);
  --curveEasyEaseMax: cubic-bezier(0.8, 0, 0.1, 1);
  --curveEasyEase: cubic-bezier(0.33, 0, 0.67, 1);
  --curveLinear: cubic-bezier(0, 0, 1, 1);
  --colorNeutralForeground1: #242424;
  --colorNeutralForeground1Hover: #242424;
  --colorNeutralForeground1Pressed: #242424;
  --colorNeutralForeground1Selected: #242424;
  --colorNeutralForeground2: #424242;
  --colorNeutralForeground2Hover: #242424;
  --colorNeutralForeground2Pressed: #242424;
  --colorNeutralForeground2Selected: #242424;
  --colorNeutralForeground2BrandHover: #0f6cbd;
  --colorNeutralForeground2BrandPressed: #115ea3;
  --colorNeutralForeground2BrandSelected: #0f6cbd;
  --colorNeutralForeground3: #616161;
  --colorNeutralForeground3Hover: #424242;
  --colorNeutralForeground3Pressed: #424242;
  --colorNeutralForeground3Selected: #424242;
  --colorNeutralForeground3BrandHover: #0f6cbd;
  --colorNeutralForeground3BrandPressed: #115ea3;
  --colorNeutralForeground3BrandSelected: #0f6cbd;
  --colorNeutralForeground4: #707070;
  --colorNeutralForegroundDisabled: #bdbdbd;
  --colorNeutralForegroundInvertedDisabled: rgba(255, 255, 255, 0.4);
  --colorBrandForegroundLink: #115ea3;
  --colorBrandForegroundLinkHover: #0f548c;
  --colorBrandForegroundLinkPressed: #0c3b5e;
  --colorBrandForegroundLinkSelected: #115ea3;
  --colorNeutralForeground2Link: #424242;
  --colorNeutralForeground2LinkHover: #242424;
  --colorNeutralForeground2LinkPressed: #242424;
  --colorNeutralForeground2LinkSelected: #242424;
  --colorCompoundBrandForeground1: #0f6cbd;
  --colorCompoundBrandForeground1Hover: #115ea3;
  --colorCompoundBrandForeground1Pressed: #0f548c;
  --colorBrandForeground1: #0f6cbd;
  --colorBrandForeground2: #115ea3;
  --colorBrandForeground2Hover: #0f548c;
  --colorBrandForeground2Pressed: #0a2e4a;
  --colorNeutralForeground1Static: #242424;
  --colorNeutralForegroundStaticInverted: #ffffff;
  --colorNeutralForegroundInverted: #ffffff;
  --colorNeutralForegroundInvertedHover: #ffffff;
  --colorNeutralForegroundInvertedPressed: #ffffff;
  --colorNeutralForegroundInvertedSelected: #ffffff;
  --colorNeutralForegroundInverted2: #ffffff;
  --colorNeutralForegroundOnBrand: #ffffff;
  --colorNeutralForegroundInvertedLink: #ffffff;
  --colorNeutralForegroundInvertedLinkHover: #ffffff;
  --colorNeutralForegroundInvertedLinkPressed: #ffffff;
  --colorNeutralForegroundInvertedLinkSelected: #ffffff;
  --colorBrandForegroundInverted: #479ef5;
  --colorBrandForegroundInvertedHover: #62abf5;
  --colorBrandForegroundInvertedPressed: #479ef5;
  --colorBrandForegroundOnLight: #0f6cbd;
  --colorBrandForegroundOnLightHover: #115ea3;
  --colorBrandForegroundOnLightPressed: #0e4775;
  --colorBrandForegroundOnLightSelected: #0f548c;
  --colorNeutralBackground1: #ffffff;
  --colorNeutralBackground1Hover: #f5f5f5;
  --colorNeutralBackground1Pressed: #e0e0e0;
  --colorNeutralBackground1Selected: #ebebeb;
  --colorNeutralBackground2: #fafafa;
  --colorNeutralBackground2Hover: #f0f0f0;
  --colorNeutralBackground2Pressed: #dbdbdb;
  --colorNeutralBackground2Selected: #e6e6e6;
  --colorNeutralBackground3: #f5f5f5;
  --colorNeutralBackground3Hover: #ebebeb;
  --colorNeutralBackground3Pressed: #d6d6d6;
  --colorNeutralBackground3Selected: #e0e0e0;
  --colorNeutralBackground4: #f0f0f0;
  --colorNeutralBackground4Hover: #fafafa;
  --colorNeutralBackground4Pressed: #f5f5f5;
  --colorNeutralBackground4Selected: #ffffff;
  --colorNeutralBackground5: #ebebeb;
  --colorNeutralBackground5Hover: #f5f5f5;
  --colorNeutralBackground5Pressed: #f0f0f0;
  --colorNeutralBackground5Selected: #fafafa;
  --colorNeutralBackground6: #e6e6e6;
  --colorNeutralBackgroundInverted: #292929;
  --colorNeutralBackgroundStatic: #333333;
  --colorNeutralBackgroundAlpha: rgba(255, 255, 255, 0.5);
  --colorNeutralBackgroundAlpha2: rgba(255, 255, 255, 0.8);
  --colorSubtleBackground: transparent;
  --colorSubtleBackgroundHover: #f5f5f5;
  --colorSubtleBackgroundPressed: #e0e0e0;
  --colorSubtleBackgroundSelected: #ebebeb;
  --colorSubtleBackgroundLightAlphaHover: rgba(255, 255, 255, 0.7);
  --colorSubtleBackgroundLightAlphaPressed: rgba(255, 255, 255, 0.5);
  --colorSubtleBackgroundLightAlphaSelected: transparent;
  --colorSubtleBackgroundInverted: transparent;
  --colorSubtleBackgroundInvertedHover: rgba(0, 0, 0, 0.1);
  --colorSubtleBackgroundInvertedPressed: rgba(0, 0, 0, 0.3);
  --colorSubtleBackgroundInvertedSelected: rgba(0, 0, 0, 0.2);
  --colorTransparentBackground: transparent;
  --colorTransparentBackgroundHover: transparent;
  --colorTransparentBackgroundPressed: transparent;
  --colorTransparentBackgroundSelected: transparent;
  --colorNeutralBackgroundDisabled: #f0f0f0;
  --colorNeutralBackgroundInvertedDisabled: rgba(255, 255, 255, 0.1);
  --colorNeutralStencil1: #e6e6e6;
  --colorNeutralStencil2: #fafafa;
  --colorNeutralStencil1Alpha: rgba(0, 0, 0, 0.1);
  --colorNeutralStencil2Alpha: rgba(0, 0, 0, 0.05);
  --colorBackgroundOverlay: rgba(0, 0, 0, 0.4);
  --colorScrollbarOverlay: rgba(0, 0, 0, 0.5);
  --colorBrandBackground: #0f6cbd;
  --colorBrandBackgroundHover: #115ea3;
  --colorBrandBackgroundPressed: #0c3b5e;
  --colorBrandBackgroundSelected: #0f548c;
  --colorCompoundBrandBackground: #0f6cbd;
  --colorCompoundBrandBackgroundHover: #115ea3;
  --colorCompoundBrandBackgroundPressed: #0f548c;
  --colorBrandBackgroundStatic: #0f6cbd;
  --colorBrandBackground2: #ebf3fc;
  --colorBrandBackground2Hover: #cfe4fa;
  --colorBrandBackground2Pressed: #96c6fa;
  --colorBrandBackgroundInverted: #ffffff;
  --colorBrandBackgroundInvertedHover: #ebf3fc;
  --colorBrandBackgroundInvertedPressed: #b4d6fa;
  --colorBrandBackgroundInvertedSelected: #cfe4fa;
  --colorNeutralStrokeAccessible: #616161;
  --colorNeutralStrokeAccessibleHover: #575757;
  --colorNeutralStrokeAccessiblePressed: #4d4d4d;
  --colorNeutralStrokeAccessibleSelected: #0f6cbd;
  --colorNeutralStroke1: #d1d1d1;
  --colorNeutralStroke1Hover: #c7c7c7;
  --colorNeutralStroke1Pressed: #b3b3b3;
  --colorNeutralStroke1Selected: #bdbdbd;
  --colorNeutralStroke2: #e0e0e0;
  --colorNeutralStroke3: #f0f0f0;
  --colorNeutralStrokeSubtle: #e0e0e0;
  --colorNeutralStrokeOnBrand: #ffffff;
  --colorNeutralStrokeOnBrand2: #ffffff;
  --colorNeutralStrokeOnBrand2Hover: #ffffff;
  --colorNeutralStrokeOnBrand2Pressed: #ffffff;
  --colorNeutralStrokeOnBrand2Selected: #ffffff;
  --colorBrandStroke1: #0f6cbd;
  --colorBrandStroke2: #b4d6fa;
  --colorBrandStroke2Hover: #77b7f7;
  --colorBrandStroke2Pressed: #0f6cbd;
  --colorBrandStroke2Contrast: #b4d6fa;
  --colorCompoundBrandStroke: #0f6cbd;
  --colorCompoundBrandStrokeHover: #115ea3;
  --colorCompoundBrandStrokePressed: #0f548c;
  --colorNeutralStrokeDisabled: #e0e0e0;
  --colorNeutralStrokeInvertedDisabled: rgba(255, 255, 255, 0.4);
  --colorTransparentStroke: transparent;
  --colorTransparentStrokeInteractive: transparent;
  --colorTransparentStrokeDisabled: transparent;
  --colorNeutralStrokeAlpha: rgba(0, 0, 0, 0.05);
  --colorNeutralStrokeAlpha2: rgba(255, 255, 255, 0.2);
  --colorStrokeFocus1: #ffffff;
  --colorStrokeFocus2: #000000;
  --colorNeutralShadowAmbient: rgba(0, 0, 0, 0.12);
  --colorNeutralShadowKey: rgba(0, 0, 0, 0.14);
  --colorNeutralShadowAmbientLighter: rgba(0, 0, 0, 0.06);
  --colorNeutralShadowKeyLighter: rgba(0, 0, 0, 0.07);
  --colorNeutralShadowAmbientDarker: rgba(0, 0, 0, 0.2);
  --colorNeutralShadowKeyDarker: rgba(0, 0, 0, 0.24);
  --colorBrandShadowAmbient: rgba(0, 0, 0, 0.3);
  --colorBrandShadowKey: rgba(0, 0, 0, 0.25);
  --colorPaletteRedBackground1: #fdf6f6;
  --colorPaletteRedBackground2: #f1bbbc;
  --colorPaletteRedBackground3: #d13438;
  --colorPaletteRedForeground1: #bc2f32;
  --colorPaletteRedForeground2: #751d1f;
  --colorPaletteRedForeground3: #d13438;
  --colorPaletteRedBorderActive: #d13438;
  --colorPaletteRedBorder1: #f1bbbc;
  --colorPaletteRedBorder2: #d13438;
  --colorPaletteGreenBackground1: #f1faf1;
  --colorPaletteGreenBackground2: #9fd89f;
  --colorPaletteGreenBackground3: #107c10;
  --colorPaletteGreenForeground1: #0e700e;
  --colorPaletteGreenForeground2: #094509;
  --colorPaletteGreenForeground3: #107c10;
  --colorPaletteGreenBorderActive: #107c10;
  --colorPaletteGreenBorder1: #9fd89f;
  --colorPaletteGreenBorder2: #107c10;
  --colorPaletteDarkOrangeBackground1: #fdf6f3;
  --colorPaletteDarkOrangeBackground2: #f4bfab;
  --colorPaletteDarkOrangeBackground3: #da3b01;
  --colorPaletteDarkOrangeForeground1: #c43501;
  --colorPaletteDarkOrangeForeground2: #7a2101;
  --colorPaletteDarkOrangeForeground3: #da3b01;
  --colorPaletteDarkOrangeBorderActive: #da3b01;
  --colorPaletteDarkOrangeBorder1: #f4bfab;
  --colorPaletteDarkOrangeBorder2: #da3b01;
  --colorPaletteYellowBackground1: #fffef5;
  --colorPaletteYellowBackground2: #fef7b2;
  --colorPaletteYellowBackground3: #fde300;
  --colorPaletteYellowForeground1: #817400;
  --colorPaletteYellowForeground2: #817400;
  --colorPaletteYellowForeground3: #fde300;
  --colorPaletteYellowBorderActive: #fde300;
  --colorPaletteYellowBorder1: #fef7b2;
  --colorPaletteYellowBorder2: #fde300;
  --colorPaletteBerryBackground1: #fdf5fc;
  --colorPaletteBerryBackground2: #edbbe7;
  --colorPaletteBerryBackground3: #c239b3;
  --colorPaletteBerryForeground1: #af33a1;
  --colorPaletteBerryForeground2: #6d2064;
  --colorPaletteBerryForeground3: #c239b3;
  --colorPaletteBerryBorderActive: #c239b3;
  --colorPaletteBerryBorder1: #edbbe7;
  --colorPaletteBerryBorder2: #c239b3;
  --colorPaletteLightGreenBackground1: #f2fbf2;
  --colorPaletteLightGreenBackground2: #a7e3a5;
  --colorPaletteLightGreenBackground3: #13a10e;
  --colorPaletteLightGreenForeground1: #11910d;
  --colorPaletteLightGreenForeground2: #0b5a08;
  --colorPaletteLightGreenForeground3: #13a10e;
  --colorPaletteLightGreenBorderActive: #13a10e;
  --colorPaletteLightGreenBorder1: #a7e3a5;
  --colorPaletteLightGreenBorder2: #13a10e;
  --colorPaletteMarigoldBackground1: #fefbf4;
  --colorPaletteMarigoldBackground2: #f9e2ae;
  --colorPaletteMarigoldBackground3: #eaa300;
  --colorPaletteMarigoldForeground1: #d39300;
  --colorPaletteMarigoldForeground2: #835b00;
  --colorPaletteMarigoldForeground3: #eaa300;
  --colorPaletteMarigoldBorderActive: #eaa300;
  --colorPaletteMarigoldBorder1: #f9e2ae;
  --colorPaletteMarigoldBorder2: #eaa300;
  --colorPaletteRedForegroundInverted: #dc5e62;
  --colorPaletteGreenForegroundInverted: #359b35;
  --colorPaletteYellowForegroundInverted: #fef7b2;
  --colorPaletteDarkRedBackground2: #d69ca5;
  --colorPaletteDarkRedForeground2: #420610;
  --colorPaletteDarkRedBorderActive: #750b1c;
  --colorPaletteCranberryBackground2: #eeacb2;
  --colorPaletteCranberryForeground2: #6e0811;
  --colorPaletteCranberryBorderActive: #c50f1f;
  --colorPalettePumpkinBackground2: #efc4ad;
  --colorPalettePumpkinForeground2: #712d09;
  --colorPalettePumpkinBorderActive: #ca5010;
  --colorPalettePeachBackground2: #ffddb3;
  --colorPalettePeachForeground2: #8f4e00;
  --colorPalettePeachBorderActive: #ff8c00;
  --colorPaletteGoldBackground2: #ecdfa5;
  --colorPaletteGoldForeground2: #6c5700;
  --colorPaletteGoldBorderActive: #c19c00;
  --colorPaletteBrassBackground2: #e0cea2;
  --colorPaletteBrassForeground2: #553e06;
  --colorPaletteBrassBorderActive: #986f0b;
  --colorPaletteBrownBackground2: #ddc3b0;
  --colorPaletteBrownForeground2: #50301a;
  --colorPaletteBrownBorderActive: #8e562e;
  --colorPaletteForestBackground2: #bdd99b;
  --colorPaletteForestForeground2: #294903;
  --colorPaletteForestBorderActive: #498205;
  --colorPaletteSeafoamBackground2: #a8f0cd;
  --colorPaletteSeafoamForeground2: #00723b;
  --colorPaletteSeafoamBorderActive: #00cc6a;
  --colorPaletteDarkGreenBackground2: #9ad29a;
  --colorPaletteDarkGreenForeground2: #063b06;
  --colorPaletteDarkGreenBorderActive: #0b6a0b;
  --colorPaletteLightTealBackground2: #a6e9ed;
  --colorPaletteLightTealForeground2: #00666d;
  --colorPaletteLightTealBorderActive: #00b7c3;
  --colorPaletteTealBackground2: #9bd9db;
  --colorPaletteTealForeground2: #02494c;
  --colorPaletteTealBorderActive: #038387;
  --colorPaletteSteelBackground2: #94c8d4;
  --colorPaletteSteelForeground2: #00333f;
  --colorPaletteSteelBorderActive: #005b70;
  --colorPaletteBlueBackground2: #a9d3f2;
  --colorPaletteBlueForeground2: #004377;
  --colorPaletteBlueBorderActive: #0078d4;
  --colorPaletteRoyalBlueBackground2: #9abfdc;
  --colorPaletteRoyalBlueForeground2: #002c4e;
  --colorPaletteRoyalBlueBorderActive: #004e8c;
  --colorPaletteCornflowerBackground2: #c8d1fa;
  --colorPaletteCornflowerForeground2: #2c3c85;
  --colorPaletteCornflowerBorderActive: #4f6bed;
  --colorPaletteNavyBackground2: #a3b2e8;
  --colorPaletteNavyForeground2: #001665;
  --colorPaletteNavyBorderActive: #0027b4;
  --colorPaletteLavenderBackground2: #d2ccf8;
  --colorPaletteLavenderForeground2: #3f3682;
  --colorPaletteLavenderBorderActive: #7160e8;
  --colorPalettePurpleBackground2: #c6b1de;
  --colorPalettePurpleForeground2: #341a51;
  --colorPalettePurpleBorderActive: #5c2e91;
  --colorPaletteGrapeBackground2: #d9a7e0;
  --colorPaletteGrapeForeground2: #4c0d55;
  --colorPaletteGrapeBorderActive: #881798;
  --colorPaletteLilacBackground2: #e6bfed;
  --colorPaletteLilacForeground2: #63276d;
  --colorPaletteLilacBorderActive: #b146c2;
  --colorPalettePinkBackground2: #f7c0e3;
  --colorPalettePinkForeground2: #80215d;
  --colorPalettePinkBorderActive: #e43ba6;
  --colorPaletteMagentaBackground2: #eca5d1;
  --colorPaletteMagentaForeground2: #6b0043;
  --colorPaletteMagentaBorderActive: #bf0077;
  --colorPalettePlumBackground2: #d696c0;
  --colorPalettePlumForeground2: #43002b;
  --colorPalettePlumBorderActive: #77004d;
  --colorPaletteBeigeBackground2: #d7d4d4;
  --colorPaletteBeigeForeground2: #444241;
  --colorPaletteBeigeBorderActive: #7a7574;
  --colorPaletteMinkBackground2: #cecccb;
  --colorPaletteMinkForeground2: #343231;
  --colorPaletteMinkBorderActive: #5d5a58;
  --colorPalettePlatinumBackground2: #cdd6d8;
  --colorPalettePlatinumForeground2: #3b4447;
  --colorPalettePlatinumBorderActive: #69797e;
  --colorPaletteAnchorBackground2: #bcc3c7;
  --colorPaletteAnchorForeground2: #202427;
  --colorPaletteAnchorBorderActive: #394146;
  --colorStatusSuccessBackground1: #f1faf1;
  --colorStatusSuccessBackground2: #9fd89f;
  --colorStatusSuccessBackground3: #107c10;
  --colorStatusSuccessForeground1: #0e700e;
  --colorStatusSuccessForeground2: #094509;
  --colorStatusSuccessForeground3: #107c10;
  --colorStatusSuccessForegroundInverted: #54b054;
  --colorStatusSuccessBorderActive: #107c10;
  --colorStatusSuccessBorder1: #9fd89f;
  --colorStatusSuccessBorder2: #107c10;
  --colorStatusWarningBackground1: #fff9f5;
  --colorStatusWarningBackground2: #fdcfb4;
  --colorStatusWarningBackground3: #f7630c;
  --colorStatusWarningForeground1: #bc4b09;
  --colorStatusWarningForeground2: #8a3707;
  --colorStatusWarningForeground3: #bc4b09;
  --colorStatusWarningForegroundInverted: #faa06b;
  --colorStatusWarningBorderActive: #f7630c;
  --colorStatusWarningBorder1: #fdcfb4;
  --colorStatusWarningBorder2: #bc4b09;
  --colorStatusDangerBackground1: #fdf3f4;
  --colorStatusDangerBackground2: #eeacb2;
  --colorStatusDangerBackground3: #c50f1f;
  --colorStatusDangerForeground1: #b10e1c;
  --colorStatusDangerForeground2: #6e0811;
  --colorStatusDangerForeground3: #c50f1f;
  --colorStatusDangerForegroundInverted: #dc626d;
  --colorStatusDangerBorderActive: #c50f1f;
  --colorStatusDangerBorder1: #eeacb2;
  --colorStatusDangerBorder2: #c50f1f;
  --shadow2: 0 0 2px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.14);
  --shadow4: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.14);
  --shadow8: 0 0 2px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.14);
  --shadow16: 0 0 2px rgba(0, 0, 0, 0.12), 0 8px 16px rgba(0, 0, 0, 0.14);
  --shadow28: 0 0 8px rgba(0, 0, 0, 0.12), 0 14px 28px rgba(0, 0, 0, 0.14);
  --shadow64: 0 0 8px rgba(0, 0, 0, 0.12), 0 32px 64px rgba(0, 0, 0, 0.14);
  --shadow2Brand: 0 0 2px rgba(0, 0, 0, 0.3), 0 1px 2px rgba(0, 0, 0, 0.25);
  --shadow4Brand: 0 0 2px rgba(0, 0, 0, 0.3), 0 2px 4px rgba(0, 0, 0, 0.25);
  --shadow8Brand: 0 0 2px rgba(0, 0, 0, 0.3), 0 4px 8px rgba(0, 0, 0, 0.25);
  --shadow16Brand: 0 0 2px rgba(0, 0, 0, 0.3), 0 8px 16px rgba(0, 0, 0, 0.25);
  --shadow28Brand: 0 0 8px rgba(0, 0, 0, 0.3), 0 14px 28px rgba(0, 0, 0, 0.25);
  --shadow64Brand: 0 0 8px rgba(0, 0, 0, 0.3), 0 32px 64px rgba(0, 0, 0, 0.25);

  --color-primary: #1d4ed8;
  --color-secondary: #f97316;
  --color-info: #0000ff;
  --color-success: #00ff00;
  --color-warning: #00ff00;
  --color-error: #ff0000;
}

/* 暗色主题 */

/**
 * Fluent Design Dark Theme Tokens
 * 基于 @fluentui/tokens 的 webDarkTheme
 */

:root[data-theme='dark'] {
  /* 覆盖为暗色主题的关键颜色 */
  --colorNeutralForeground1: #ffffff;
  --colorNeutralForeground1Hover: #ffffff;
  --colorNeutralForeground1Pressed: #ffffff;
  --colorNeutralForeground1Selected: #ffffff;

  --colorNeutralForeground2: #d6d6d6;
  --colorNeutralForeground2Hover: #ffffff;
  --colorNeutralForeground2Pressed: #ffffff;
  --colorNeutralForeground2Selected: #ffffff;

  --colorNeutralForeground3: #a8a8a8;
  --colorNeutralForeground3Hover: #d6d6d6;
  --colorNeutralForeground3Pressed: #d6d6d6;
  --colorNeutralForeground3Selected: #d6d6d6;

  --colorNeutralForeground4: #8f8f8f;
  --colorNeutralForegroundDisabled: #575757;

  --colorNeutralBackground1: #1b1b1b;
  --colorNeutralBackground1Hover: #292929;
  --colorNeutralBackground1Pressed: #323232;
  --colorNeutralBackground1Selected: #262626;

  --colorNeutralBackground2: #242424;
  --colorNeutralBackground2Hover: #323232;
  --colorNeutralBackground2Pressed: #3c3c3c;
  --colorNeutralBackground2Selected: #2d2d2d;

  --colorNeutralBackground3: #292929;
  --colorNeutralBackground3Hover: #262626;
  --colorNeutralBackground3Pressed: #323232;
  --colorNeutralBackground3Selected: #2d2d2d;

  --colorNeutralBackground4: #2d2d2d;
  --colorNeutralBackground4Hover: #242424;
  --colorNeutralBackground4Pressed: #292929;
  --colorNeutralBackground4Selected: #1b1b1b;

  --colorNeutralBackground5: #262626;
  --colorNeutralBackground5Hover: #292929;
  --colorNeutralBackground5Pressed: #2d2d2d;
  --colorNeutralBackground5Selected: #242424;

  --colorNeutralBackground6: #2d2d2d;

  --colorNeutralBackgroundInverted: #ffffff;
  --colorNeutralBackgroundStatic: #ffffff;

  --colorBrandForeground1: #479ef5;
  --colorBrandForeground2: #62abf5;
  --colorBrandForeground2Hover: #479ef5;
  --colorBrandForeground2Pressed: #1893f7;

  --colorBrandBackground: #479ef5;
  --colorBrandBackgroundHover: #62abf5;
  --colorBrandBackgroundPressed: #1893f7;
  --colorBrandBackgroundSelected: #3aa1f9;

  --colorBrandForegroundInverted: #0f6cbd;
  --colorBrandForegroundInvertedHover: #115ea3;
  --colorBrandForegroundInvertedPressed: #0a2e4a;

  --colorNeutralStrokeAccessible: #b8b8b8;
  --colorNeutralStrokeAccessibleHover: #c8c8c8;
  --colorNeutralStrokeAccessiblePressed: #d8d8d8;

  --colorNeutralStroke1: #5c5c5c;
  --colorNeutralStroke1Hover: #6e6e6e;
  --colorNeutralStroke1Pressed: #828282;

  --colorNeutralStroke2: #4b4b4b;
  --colorNeutralStroke3: #3c3c3c;

  --colorNeutralStrokeOnBrand: #ffffff;
  --colorNeutralStrokeOnBrand2: #ffffff;
  --colorNeutralStrokeOnBrand2Hover: #ffffff;
  --colorNeutralStrokeOnBrand2Pressed: #ffffff;
  --colorNeutralStrokeOnBrand2Selected: #ffffff;

  --colorNeutralStrokeDisabled: #3c3c3c;
  --colorNeutralStrokeInvertedDisabled: rgba(0, 0, 0, 0.4);

  --colorNeutralShadowAmbient: rgba(0, 0, 0, 0.36);
  --colorNeutralShadowKey: rgba(0, 0, 0, 0.42);

  --colorBrandShadowAmbient: rgba(0, 0, 0, 0.4);
  --colorBrandShadowKey: rgba(0, 0, 0, 0.3);
}

/* Teams 亮色主题 */

/**
 * Fluent Design Teams Light Theme Tokens
 * 基于 @fluentui/tokens 的 teamsLightTheme
 */

:root[data-theme='teams-light'] {
  /* Teams 品牌色 */
  --colorBrandForeground1: #6264a7;
  --colorBrandForeground2: #5c5fc0;
  --colorBrandForeground2Hover: #6264a7;
  --colorBrandForeground2Pressed: #464775;

  --colorBrandBackground: #6264a7;
  --colorBrandBackgroundHover: #5c5fc0;
  --colorBrandBackgroundPressed: #464775;
  --colorBrandBackgroundSelected: #6264a7;

  --colorBrandStroke1: #6264a7;
  --colorBrandStroke2: #c8c8e3;
  --colorBrandStroke2Hover: #6264a7;
  --colorBrandStroke2Pressed: #6264a7;
}

/* Teams 暗色主题 */

/**
 * Fluent Design Teams Dark Theme Tokens
 * 基于 @fluentui/tokens 的 teamsDarkTheme
 */

:root[data-theme='teams-dark'] {
  /* Teams 暗色主题 */
  --colorNeutralForeground1: #ffffff;
  --colorNeutralForeground1Hover: #ffffff;
  --colorNeutralForeground1Pressed: #ffffff;
  --colorNeutralForeground1Selected: #ffffff;

  --colorNeutralForeground2: #d6d6d6;
  --colorNeutralForeground2Hover: #ffffff;
  --colorNeutralForeground2Pressed: #ffffff;
  --colorNeutralForeground2Selected: #ffffff;

  --colorNeutralBackground1: #1b1b1b;
  --colorNeutralBackground1Hover: #292929;
  --colorNeutralBackground1Pressed: #323232;
  --colorNeutralBackground1Selected: #262626;

  /* Teams 品牌色 */
  --colorBrandForeground1: #9f9fdf;
  --colorBrandForeground2: #b4b6ef;
  --colorBrandForeground2Hover: #9f9fdf;
  --colorBrandForeground2Pressed: #8789ce;

  --colorBrandBackground: #9f9fdf;
  --colorBrandBackgroundHover: #b4b6ef;
  --colorBrandBackgroundPressed: #8789ce;
  --colorBrandBackgroundSelected: #9f9fdf;

  --colorBrandStroke1: #9f9fdf;
  --colorBrandStroke2: #9f9fdf;
  --colorBrandStroke2Hover: #9f9fdf;
  --colorBrandStroke2Pressed: #9f9fdf;
}

/* 以下是通用基础样式 */
* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: var(--fontFamilyBase);
}

.t-button {
  align-items: center;
  box-sizing: border-box;
  display: inline-flex;
  justify-content: center;
  text-decoration-line: none;
  vertical-align: middle;
  margin: 0px;
  overflow: hidden;
  background-color: var(--colorNeutralBackground1);
  color: var(--colorNeutralForeground1);
  border: var(--strokeWidthThin) solid var(--colorNeutralStroke1);
  font-family: var(--fontFamilyBase);
  outline-style: none;
  padding: 5px var(--spacingHorizontalM);
  min-width: 96px;
  border-radius: var(--borderRadiusMedium);
  font-size: var(--fontSizeBase300);
  font-weight: var(--fontWeightSemibold);
  line-height: var(--lineHeightBase300);
  transition-duration: var(--durationFaster);
  transition-property: background, border, color, box-shadow;
}

.t-button:hover:not([disabled]) {
    background-color: var(--colorNeutralBackground1Hover);
    border-color: var(--colorNeutralStroke1Hover);
    color: var(--colorNeutralForeground1Hover);
    cursor: pointer;
  }

.t-button:active:not([disabled]) {
    background-color: var(--colorNeutralBackground1Pressed);
    border-color: var(--colorNeutralStroke1Pressed);
    color: var(--colorNeutralForeground1Pressed);
  }

.t-button[disabled] {
    background-color: var(--colorNeutralBackgroundDisabled);
    color: var(--colorNeutralForegroundDisabled);
    border-color: var(--colorNeutralStrokeDisabled);
    cursor: not-allowed;
  }

.t-button[disabled]:hover {
    cursor: not-allowed;
  }

/* Focus styles */

.t-button:focus-visible {
    outline: var(--strokeWidthThick) solid var(--colorStrokeFocus2);
    outline-offset: -2px;
  }

/* ========== Shape variations ========== */
.t-button--square {
  border-radius: var(--borderRadiusNone);
}

.t-button--circular {
  border-radius: var(--borderRadiusCircular);
}

/* ========== Size variations ========== */
.t-button--small {
  padding: 3px var(--spacingHorizontalS);
  min-width: 64px;
  font-size: var(--fontSizeBase200);
  font-weight: var(--fontWeightRegular);
  line-height: var(--lineHeightBase200);
}

.t-button--large {
  padding: 8px var(--spacingHorizontalL);
  min-width: 96px;
  font-size: var(--fontSizeBase400);
  font-weight: var(--fontWeightSemibold);
  line-height: var(--lineHeightBase400);
}

/* ========== Icon-only variations ========== */
.is-icon-only.t-button--small {
  padding: 1px;
  min-width: 24px;
  max-width: 24px;
}

.is-icon-only {
  padding: 5px;
  min-width: 32px;
  max-width: 32px;
}

.is-icon-only.t-button--large {
  padding: 7px;
  min-width: 40px;
  max-width: 40px;
}

/* ========== Appearance variations ========== */
.t-button--primary {
  background-color: var(--colorBrandBackground);
  color: var(--colorNeutralForegroundOnBrand);
  border-color: transparent;
  box-shadow: var(--colorNeutralShadowKey) 0px 2px 4px;
}
.t-button--primary:hover:not([disabled]) {
    background-color: var(--colorBrandBackgroundHover);
    color: var(--colorNeutralForegroundOnBrand);
    box-shadow: var(--colorNeutralShadowKey) 0px 4px 8px;
  }
.t-button--primary:active:not([disabled]) {
    background-color: var(--colorBrandBackgroundPressed);
    color: var(--colorNeutralForegroundOnBrand);
    box-shadow: var(--colorNeutralShadowKey) 0px 1px 2px;
  }
/* Primary 按钮特殊焦点样式 */
.t-button--primary:focus-visible {
    outline: var(--strokeWidthThick) solid var(--colorNeutralForegroundOnBrand);
    outline-offset: -2px;
    box-shadow:
      var(--shadow2),
      0 0 0 1px var(--colorStrokeFocus2) inset;
  }
.t-button--primary[disabled] {
    background-color: var(--colorNeutralBackgroundDisabled);
    color: var(--colorNeutralForegroundDisabled);
    border-color: transparent;
    box-shadow: none;
  }

.t-button--outline {
  background-color: var(--colorTransparentBackground);
  border-color: var(--colorNeutralStrokeAccessible);
  color: var(--colorNeutralForeground1);
}

.t-button--outline:hover:not([disabled]) {
    background-color: var(--colorNeutralBackground1);
    border-color: var(--colorNeutralStrokeAccessibleHover);
    color: var(--colorNeutralForeground1);
  }

.t-button--outline:active:not([disabled]) {
    background-color: var(--colorNeutralBackground1Pressed);
    border-color: var(--colorNeutralStrokeAccessiblePressed);
    color: var(--colorNeutralForeground1);
  }

.t-button--outline[disabled] {
    background-color: var(--colorTransparentBackground);
    border-color: var(--colorNeutralStrokeDisabled);
    color: var(--colorNeutralForegroundDisabled);
  }

.t-button--subtle {
  background-color: var(--colorTransparentBackground);
  border-color: transparent;
  color: var(--colorNeutralForeground2);
}

.t-button--subtle:hover:not([disabled]) {
    background-color: var(--colorNeutralBackground1Hover);
    border-color: transparent;
    color: var(--colorNeutralForeground2Hover);
  }

.t-button--subtle:active:not([disabled]) {
    background-color: var(--colorNeutralBackground1Pressed);
    border-color: transparent;
    color: var(--colorNeutralForeground2Pressed);
  }

.t-button--subtle[disabled] {
    background-color: var(--colorTransparentBackground);
    border-color: transparent;
    color: var(--colorNeutralForegroundDisabled);
  }

.t-button--transparent {
  background-color: var(--colorTransparentBackground);
  border-color: transparent;
  color: var(--colorNeutralForeground2);
}

.t-button--transparent:hover:not([disabled]) {
    background-color: var(--colorTransparentBackgroundHover);
    border-color: transparent;
    color: var(--colorNeutralForeground2BrandHover);
  }

.t-button--transparent:active:not([disabled]) {
    background-color: var(--colorTransparentBackgroundPressed);
    border-color: transparent;
    color: var(--colorNeutralForeground2BrandPressed);
  }

.t-button--transparent[disabled] {
    background-color: var(--colorTransparentBackground);
    border-color: transparent;
    color: var(--colorNeutralForegroundDisabled);
  }

/* ========== Icon styles ========== */
.t-button__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  height: 20px;
  width: 20px;
  flex-shrink: 0;
}

/* 图标尺寸变体 */
.t-button--small .t-button__icon {
  font-size: 16px;
  height: 16px;
  width: 16px;
}

.t-button--large .t-button__icon {
  font-size: 24px;
  height: 24px;
  width: 24px;
}

/* ========== Loading 状态 ========== */
.is-loading {
  position: relative;
  cursor: wait;
}

/* Spinner 容器 */
.t-button__spinner-wrapper {
  display: inline-flex;
  align-items: center;
  height: 1.2em;
  margin-right: var(--spacingHorizontalXS);
}

.t-button__spinner {
  display: inline-flex;
  align-items: center;
}

/* ========== High contrast mode support ========== */
@media (forced-colors: active) {
    .t-button:focus-visible {
      outline: 2px solid ButtonText;
    }

    .t-button:not([disabled]).t-button--primary {
      background-color: Highlight;
      color: HighlightText;
      border-color: HighlightText;
    }

      .t-button:not([disabled]).t-button--primary:hover {
        background-color: HighlightText;
        color: Highlight;
        border-color: Highlight;
      }

      .t-button:not([disabled]).t-button--primary:active {
        background-color: HighlightText;
        color: Highlight;
        border-color: Highlight;
      }
      .t-button:not([disabled]).t-button--outline:hover {
        background-color: HighlightText;
        color: Highlight;
        border-color: Highlight;
      }

      .t-button:not([disabled]).t-button--outline:active {
        background-color: HighlightText;
        color: Highlight;
        border-color: Highlight;
      }
}

/* ========== Spinner Component ========== */
.t-spinner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.t-spinner__svg {
  animation: spin 1s linear infinite;
}

.t-spinner__svg.size-tiny {
  width: 16px;
  height: 16px;
}

.t-spinner__svg.size-small {
  width: 20px;
  height: 20px;
}

.t-spinner__svg.size-medium {
  width: 24px;
  height: 24px;
}

.t-spinner__svg.size-large {
  width: 28px;
  height: 28px;
}

.t-spinner__circle {
  fill: none;
  stroke: currentColor;
  stroke-width: 4;
  stroke-dasharray: 60;
  stroke-dashoffset: 45;
  stroke-linecap: round;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.svg {
  height: 100%;
  fill: currentColor;
  vertical-align: top;
  forced-color-adjust: auto;
}

.t-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  speak: none;
  width: 1em;
  height: 1em;
}
.t-menu {
  padding: 4px;
  width: max-content;
  box-shadow:
    0 0 2px rgba(0, 0, 0, 0.12),
    0 8px 16px rgba(0, 0, 0, 0.14);
  overflow-x: hidden;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 4px;
  background-color: white;
}
  .t-menu-list {
    font-size: 14px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 20px;
  }
  .t-menu-list-item {
      display: flex;
      flex-shrink: 0;
      align-items: start;
      cursor: pointer;
      gap: 4px;
      min-height: 32px;
      box-sizing: border-box;
      padding: 6px 6px 0 6px;
      border-radius: 4px;
      max-width: 360px;
    }
  .t-menu-list-item:hover {
        background-color: #f5f5f5;
      }
  .t-menu-list-item .icon {
        display: inline-flex;
        width: 20px;
        height: 20px;
        justify-content: center;
        font-size: 20px;
      }
  .t-menu-list-item .marker {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        height: 16px;
        width: 16px;
        font-size: 16px;
      }
  .t-menu-list-item .content {
        padding: 0 2px;
        flex-grow: 1;
        text-align: left;
      }
  .t-menu-list-item .secondary {
        padding: 0 2px;
        text-align: right;
      }
/**
 * Dropdown 样式
 *
 * 定位与显隐由 Popover 承担（.t-popover__content 提供浮层外观），
 * 这里只做 Dropdown 特有的调整。
 */

/* .t-dropdown-menu 通过 Popover 的 contentClass 追加到浮层容器上。
   浮层默认带内边距，而菜单项自带内边距，因此这里清零避免双重缩进。 */
.t-popover__content.t-dropdown-menu {
  padding: 0;
  max-width: none;
  width: max-content;
}

/* 触发元素由使用者提供，这里只补一个最小可见的默认外观。
   使用者的类名会被 cloneVNode 合并保留，不会被覆盖。 */
.t-dropdown-ref {
  cursor: pointer;
}
@keyframes toggle-spin {
  to {
    transform: rotate(360deg);
  }
}

.t-file-tree {
  box-sizing: border-box;
  /* border: 1px solid #aaa; */
  background-color: #fff;
  border-radius: 2px;
}

.t-file-tree__node {
    height: 30px;
    color: #575d6c;
    line-height: 1.5;
    white-space-collapse: collapse;
    text-wrap: nowrap;
    font-size: 0;
    position: relative;
    display: flex;
    width: 100%;
  }

.t-file-tree__node.active {
      background-color: var(--to-list-item-selected-bg, #0f6cbd);
      color: #fff;
      text-decoration: none;
      border-color: transparent;
    }

.t-file-tree__node:not(.active):hover {
      background-color: var(--to-list-item-hover-bg, #f2f2f3);
      transition: background-color 0.5s ease 0s;
    }

.t-file-tree__node-content {
      display: inline-flex;
      width: 100%;
      align-items: center;
      font-size: var(--to-font-size, 14px);
      padding-right: 10px;
      padding-left: 6px;
      cursor: pointer;
      border-radius: var(--to-border-radius, 2px);
    }

.t-file-tree__node-content--value-wrapper {
        display: inline-flex;
        align-items: center;
        height: 30px;
        overflow: hidden;
      }

.t-file-tree__node-content--value-wrapper > .t-icon {
          font-size: 18px;
          margin-left: 4px;
        }

.t-file-tree__node-toggle {
      cursor: pointer;
      display: inline-block;
      display: inline-flex;
      justify-content: center;
      user-select: none;
      -webkit-user-select: none;
      font-size: var(--to-font-size-icon, 16px);
      height: 16px;
      width: 16px;
      align-items: center;
    }

.t-file-tree__node-toggle.loading {
        transform: rotate(45deg);
        animation-name: toggle-spin;
        animation-duration: 1.2s;
        animation-iteration-count: infinite;
        animation-timing-function: linear;
      }

.t-file-tree__node-title {
      cursor: pointer;
      user-select: none;
      -webkit-user-select: none;
      /* Safari */
      margin-left: 4px;
      display: inline-block;
      max-width: 100%;
      border-width: 1px;
      border-style: dashed;
      border-color: transparent;
      border-image: initial;
      border-radius: var(--to-border-radius, 2px);
      flex: 1 1 0%;
    }

.t-file-tree__node-hline {
      width: 9px;
      height: 1px;
      background-color: #ddd;
      position: absolute;
      top: 50%;
    }

.t-file-tree__node-vline {
      width: 1px;
      background-color: #ddd;
      position: absolute;
    }

.mr-2 {
  margin-right: 8px;
}
/**
 * Fluent Design Base Styles
 * 导入主题令牌和通用基础样式
 */

/* 导入所有主题令牌 */

/**
 * Fluent Design Theme Tokens
 * 导入所有主题变量
 */

/* 默认亮色主题 */

:root {
  --borderRadiusNone: 0;
  --borderRadiusSmall: 2px;
  --borderRadiusMedium: 4px;
  --borderRadiusLarge: 6px;
  --borderRadiusXLarge: 8px;
  --borderRadiusCircular: 10000px;
  --fontSizeBase100: 10px;
  --fontSizeBase200: 12px;
  --fontSizeBase300: 14px;
  --fontSizeBase400: 16px;
  --fontSizeBase500: 20px;
  --fontSizeBase600: 24px;
  --fontSizeHero700: 28px;
  --fontSizeHero800: 32px;
  --fontSizeHero900: 40px;
  --fontSizeHero1000: 68px;
  --lineHeightBase100: 14px;
  --lineHeightBase200: 16px;
  --lineHeightBase300: 20px;
  --lineHeightBase400: 22px;
  --lineHeightBase500: 28px;
  --lineHeightBase600: 32px;
  --lineHeightHero700: 36px;
  --lineHeightHero800: 40px;
  --lineHeightHero900: 52px;
  --lineHeightHero1000: 92px;
  --fontFamilyBase:
    'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto,
    'Helvetica Neue', sans-serif;
  --fontFamilyMonospace: Consolas, 'Courier New', Courier, monospace;
  --fontFamilyNumeric:
    Bahnschrift, 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont,
    Roboto, 'Helvetica Neue', sans-serif;
  --fontWeightRegular: 400;
  --fontWeightMedium: 500;
  --fontWeightSemibold: 600;
  --fontWeightBold: 700;
  --strokeWidthThin: 1px;
  --strokeWidthThick: 2px;
  --strokeWidthThicker: 3px;
  --strokeWidthThickest: 4px;
  --spacingHorizontalNone: 0;
  --spacingHorizontalXXS: 2px;
  --spacingHorizontalXS: 4px;
  --spacingHorizontalSNudge: 6px;
  --spacingHorizontalS: 8px;
  --spacingHorizontalMNudge: 10px;
  --spacingHorizontalM: 12px;
  --spacingHorizontalL: 16px;
  --spacingHorizontalXL: 20px;
  --spacingHorizontalXXL: 24px;
  --spacingHorizontalXXXL: 32px;
  --spacingVerticalNone: 0;
  --spacingVerticalXXS: 2px;
  --spacingVerticalXS: 4px;
  --spacingVerticalSNudge: 6px;
  --spacingVerticalS: 8px;
  --spacingVerticalMNudge: 10px;
  --spacingVerticalM: 12px;
  --spacingVerticalL: 16px;
  --spacingVerticalXL: 20px;
  --spacingVerticalXXL: 24px;
  --spacingVerticalXXXL: 32px;
  --durationUltraFast: 50ms;
  --durationFaster: 100ms;
  --durationFast: 150ms;
  --durationNormal: 200ms;
  --durationGentle: 250ms;
  --durationSlow: 300ms;
  --durationSlower: 400ms;
  --durationUltraSlow: 500ms;
  --curveAccelerateMax: cubic-bezier(1, 0, 1, 1);
  --curveAccelerateMid: cubic-bezier(0.7, 0, 1, 0.5);
  --curveAccelerateMin: cubic-bezier(0.8, 0, 1, 1);
  --curveDecelerateMax: cubic-bezier(0, 0, 0, 1);
  --curveDecelerateMid: cubic-bezier(0.1, 0.9, 0.2, 1);
  --curveDecelerateMin: cubic-bezier(0.33, 0, 0.1, 1);
  --curveEasyEaseMax: cubic-bezier(0.8, 0, 0.1, 1);
  --curveEasyEase: cubic-bezier(0.33, 0, 0.67, 1);
  --curveLinear: cubic-bezier(0, 0, 1, 1);
  --colorNeutralForeground1: #242424;
  --colorNeutralForeground1Hover: #242424;
  --colorNeutralForeground1Pressed: #242424;
  --colorNeutralForeground1Selected: #242424;
  --colorNeutralForeground2: #424242;
  --colorNeutralForeground2Hover: #242424;
  --colorNeutralForeground2Pressed: #242424;
  --colorNeutralForeground2Selected: #242424;
  --colorNeutralForeground2BrandHover: #0f6cbd;
  --colorNeutralForeground2BrandPressed: #115ea3;
  --colorNeutralForeground2BrandSelected: #0f6cbd;
  --colorNeutralForeground3: #616161;
  --colorNeutralForeground3Hover: #424242;
  --colorNeutralForeground3Pressed: #424242;
  --colorNeutralForeground3Selected: #424242;
  --colorNeutralForeground3BrandHover: #0f6cbd;
  --colorNeutralForeground3BrandPressed: #115ea3;
  --colorNeutralForeground3BrandSelected: #0f6cbd;
  --colorNeutralForeground4: #707070;
  --colorNeutralForegroundDisabled: #bdbdbd;
  --colorNeutralForegroundInvertedDisabled: rgba(255, 255, 255, 0.4);
  --colorBrandForegroundLink: #115ea3;
  --colorBrandForegroundLinkHover: #0f548c;
  --colorBrandForegroundLinkPressed: #0c3b5e;
  --colorBrandForegroundLinkSelected: #115ea3;
  --colorNeutralForeground2Link: #424242;
  --colorNeutralForeground2LinkHover: #242424;
  --colorNeutralForeground2LinkPressed: #242424;
  --colorNeutralForeground2LinkSelected: #242424;
  --colorCompoundBrandForeground1: #0f6cbd;
  --colorCompoundBrandForeground1Hover: #115ea3;
  --colorCompoundBrandForeground1Pressed: #0f548c;
  --colorBrandForeground1: #0f6cbd;
  --colorBrandForeground2: #115ea3;
  --colorBrandForeground2Hover: #0f548c;
  --colorBrandForeground2Pressed: #0a2e4a;
  --colorNeutralForeground1Static: #242424;
  --colorNeutralForegroundStaticInverted: #ffffff;
  --colorNeutralForegroundInverted: #ffffff;
  --colorNeutralForegroundInvertedHover: #ffffff;
  --colorNeutralForegroundInvertedPressed: #ffffff;
  --colorNeutralForegroundInvertedSelected: #ffffff;
  --colorNeutralForegroundInverted2: #ffffff;
  --colorNeutralForegroundOnBrand: #ffffff;
  --colorNeutralForegroundInvertedLink: #ffffff;
  --colorNeutralForegroundInvertedLinkHover: #ffffff;
  --colorNeutralForegroundInvertedLinkPressed: #ffffff;
  --colorNeutralForegroundInvertedLinkSelected: #ffffff;
  --colorBrandForegroundInverted: #479ef5;
  --colorBrandForegroundInvertedHover: #62abf5;
  --colorBrandForegroundInvertedPressed: #479ef5;
  --colorBrandForegroundOnLight: #0f6cbd;
  --colorBrandForegroundOnLightHover: #115ea3;
  --colorBrandForegroundOnLightPressed: #0e4775;
  --colorBrandForegroundOnLightSelected: #0f548c;
  --colorNeutralBackground1: #ffffff;
  --colorNeutralBackground1Hover: #f5f5f5;
  --colorNeutralBackground1Pressed: #e0e0e0;
  --colorNeutralBackground1Selected: #ebebeb;
  --colorNeutralBackground2: #fafafa;
  --colorNeutralBackground2Hover: #f0f0f0;
  --colorNeutralBackground2Pressed: #dbdbdb;
  --colorNeutralBackground2Selected: #e6e6e6;
  --colorNeutralBackground3: #f5f5f5;
  --colorNeutralBackground3Hover: #ebebeb;
  --colorNeutralBackground3Pressed: #d6d6d6;
  --colorNeutralBackground3Selected: #e0e0e0;
  --colorNeutralBackground4: #f0f0f0;
  --colorNeutralBackground4Hover: #fafafa;
  --colorNeutralBackground4Pressed: #f5f5f5;
  --colorNeutralBackground4Selected: #ffffff;
  --colorNeutralBackground5: #ebebeb;
  --colorNeutralBackground5Hover: #f5f5f5;
  --colorNeutralBackground5Pressed: #f0f0f0;
  --colorNeutralBackground5Selected: #fafafa;
  --colorNeutralBackground6: #e6e6e6;
  --colorNeutralBackgroundInverted: #292929;
  --colorNeutralBackgroundStatic: #333333;
  --colorNeutralBackgroundAlpha: rgba(255, 255, 255, 0.5);
  --colorNeutralBackgroundAlpha2: rgba(255, 255, 255, 0.8);
  --colorSubtleBackground: transparent;
  --colorSubtleBackgroundHover: #f5f5f5;
  --colorSubtleBackgroundPressed: #e0e0e0;
  --colorSubtleBackgroundSelected: #ebebeb;
  --colorSubtleBackgroundLightAlphaHover: rgba(255, 255, 255, 0.7);
  --colorSubtleBackgroundLightAlphaPressed: rgba(255, 255, 255, 0.5);
  --colorSubtleBackgroundLightAlphaSelected: transparent;
  --colorSubtleBackgroundInverted: transparent;
  --colorSubtleBackgroundInvertedHover: rgba(0, 0, 0, 0.1);
  --colorSubtleBackgroundInvertedPressed: rgba(0, 0, 0, 0.3);
  --colorSubtleBackgroundInvertedSelected: rgba(0, 0, 0, 0.2);
  --colorTransparentBackground: transparent;
  --colorTransparentBackgroundHover: transparent;
  --colorTransparentBackgroundPressed: transparent;
  --colorTransparentBackgroundSelected: transparent;
  --colorNeutralBackgroundDisabled: #f0f0f0;
  --colorNeutralBackgroundInvertedDisabled: rgba(255, 255, 255, 0.1);
  --colorNeutralStencil1: #e6e6e6;
  --colorNeutralStencil2: #fafafa;
  --colorNeutralStencil1Alpha: rgba(0, 0, 0, 0.1);
  --colorNeutralStencil2Alpha: rgba(0, 0, 0, 0.05);
  --colorBackgroundOverlay: rgba(0, 0, 0, 0.4);
  --colorScrollbarOverlay: rgba(0, 0, 0, 0.5);
  --colorBrandBackground: #0f6cbd;
  --colorBrandBackgroundHover: #115ea3;
  --colorBrandBackgroundPressed: #0c3b5e;
  --colorBrandBackgroundSelected: #0f548c;
  --colorCompoundBrandBackground: #0f6cbd;
  --colorCompoundBrandBackgroundHover: #115ea3;
  --colorCompoundBrandBackgroundPressed: #0f548c;
  --colorBrandBackgroundStatic: #0f6cbd;
  --colorBrandBackground2: #ebf3fc;
  --colorBrandBackground2Hover: #cfe4fa;
  --colorBrandBackground2Pressed: #96c6fa;
  --colorBrandBackgroundInverted: #ffffff;
  --colorBrandBackgroundInvertedHover: #ebf3fc;
  --colorBrandBackgroundInvertedPressed: #b4d6fa;
  --colorBrandBackgroundInvertedSelected: #cfe4fa;
  --colorNeutralStrokeAccessible: #616161;
  --colorNeutralStrokeAccessibleHover: #575757;
  --colorNeutralStrokeAccessiblePressed: #4d4d4d;
  --colorNeutralStrokeAccessibleSelected: #0f6cbd;
  --colorNeutralStroke1: #d1d1d1;
  --colorNeutralStroke1Hover: #c7c7c7;
  --colorNeutralStroke1Pressed: #b3b3b3;
  --colorNeutralStroke1Selected: #bdbdbd;
  --colorNeutralStroke2: #e0e0e0;
  --colorNeutralStroke3: #f0f0f0;
  --colorNeutralStrokeSubtle: #e0e0e0;
  --colorNeutralStrokeOnBrand: #ffffff;
  --colorNeutralStrokeOnBrand2: #ffffff;
  --colorNeutralStrokeOnBrand2Hover: #ffffff;
  --colorNeutralStrokeOnBrand2Pressed: #ffffff;
  --colorNeutralStrokeOnBrand2Selected: #ffffff;
  --colorBrandStroke1: #0f6cbd;
  --colorBrandStroke2: #b4d6fa;
  --colorBrandStroke2Hover: #77b7f7;
  --colorBrandStroke2Pressed: #0f6cbd;
  --colorBrandStroke2Contrast: #b4d6fa;
  --colorCompoundBrandStroke: #0f6cbd;
  --colorCompoundBrandStrokeHover: #115ea3;
  --colorCompoundBrandStrokePressed: #0f548c;
  --colorNeutralStrokeDisabled: #e0e0e0;
  --colorNeutralStrokeInvertedDisabled: rgba(255, 255, 255, 0.4);
  --colorTransparentStroke: transparent;
  --colorTransparentStrokeInteractive: transparent;
  --colorTransparentStrokeDisabled: transparent;
  --colorNeutralStrokeAlpha: rgba(0, 0, 0, 0.05);
  --colorNeutralStrokeAlpha2: rgba(255, 255, 255, 0.2);
  --colorStrokeFocus1: #ffffff;
  --colorStrokeFocus2: #000000;
  --colorNeutralShadowAmbient: rgba(0, 0, 0, 0.12);
  --colorNeutralShadowKey: rgba(0, 0, 0, 0.14);
  --colorNeutralShadowAmbientLighter: rgba(0, 0, 0, 0.06);
  --colorNeutralShadowKeyLighter: rgba(0, 0, 0, 0.07);
  --colorNeutralShadowAmbientDarker: rgba(0, 0, 0, 0.2);
  --colorNeutralShadowKeyDarker: rgba(0, 0, 0, 0.24);
  --colorBrandShadowAmbient: rgba(0, 0, 0, 0.3);
  --colorBrandShadowKey: rgba(0, 0, 0, 0.25);
  --colorPaletteRedBackground1: #fdf6f6;
  --colorPaletteRedBackground2: #f1bbbc;
  --colorPaletteRedBackground3: #d13438;
  --colorPaletteRedForeground1: #bc2f32;
  --colorPaletteRedForeground2: #751d1f;
  --colorPaletteRedForeground3: #d13438;
  --colorPaletteRedBorderActive: #d13438;
  --colorPaletteRedBorder1: #f1bbbc;
  --colorPaletteRedBorder2: #d13438;
  --colorPaletteGreenBackground1: #f1faf1;
  --colorPaletteGreenBackground2: #9fd89f;
  --colorPaletteGreenBackground3: #107c10;
  --colorPaletteGreenForeground1: #0e700e;
  --colorPaletteGreenForeground2: #094509;
  --colorPaletteGreenForeground3: #107c10;
  --colorPaletteGreenBorderActive: #107c10;
  --colorPaletteGreenBorder1: #9fd89f;
  --colorPaletteGreenBorder2: #107c10;
  --colorPaletteDarkOrangeBackground1: #fdf6f3;
  --colorPaletteDarkOrangeBackground2: #f4bfab;
  --colorPaletteDarkOrangeBackground3: #da3b01;
  --colorPaletteDarkOrangeForeground1: #c43501;
  --colorPaletteDarkOrangeForeground2: #7a2101;
  --colorPaletteDarkOrangeForeground3: #da3b01;
  --colorPaletteDarkOrangeBorderActive: #da3b01;
  --colorPaletteDarkOrangeBorder1: #f4bfab;
  --colorPaletteDarkOrangeBorder2: #da3b01;
  --colorPaletteYellowBackground1: #fffef5;
  --colorPaletteYellowBackground2: #fef7b2;
  --colorPaletteYellowBackground3: #fde300;
  --colorPaletteYellowForeground1: #817400;
  --colorPaletteYellowForeground2: #817400;
  --colorPaletteYellowForeground3: #fde300;
  --colorPaletteYellowBorderActive: #fde300;
  --colorPaletteYellowBorder1: #fef7b2;
  --colorPaletteYellowBorder2: #fde300;
  --colorPaletteBerryBackground1: #fdf5fc;
  --colorPaletteBerryBackground2: #edbbe7;
  --colorPaletteBerryBackground3: #c239b3;
  --colorPaletteBerryForeground1: #af33a1;
  --colorPaletteBerryForeground2: #6d2064;
  --colorPaletteBerryForeground3: #c239b3;
  --colorPaletteBerryBorderActive: #c239b3;
  --colorPaletteBerryBorder1: #edbbe7;
  --colorPaletteBerryBorder2: #c239b3;
  --colorPaletteLightGreenBackground1: #f2fbf2;
  --colorPaletteLightGreenBackground2: #a7e3a5;
  --colorPaletteLightGreenBackground3: #13a10e;
  --colorPaletteLightGreenForeground1: #11910d;
  --colorPaletteLightGreenForeground2: #0b5a08;
  --colorPaletteLightGreenForeground3: #13a10e;
  --colorPaletteLightGreenBorderActive: #13a10e;
  --colorPaletteLightGreenBorder1: #a7e3a5;
  --colorPaletteLightGreenBorder2: #13a10e;
  --colorPaletteMarigoldBackground1: #fefbf4;
  --colorPaletteMarigoldBackground2: #f9e2ae;
  --colorPaletteMarigoldBackground3: #eaa300;
  --colorPaletteMarigoldForeground1: #d39300;
  --colorPaletteMarigoldForeground2: #835b00;
  --colorPaletteMarigoldForeground3: #eaa300;
  --colorPaletteMarigoldBorderActive: #eaa300;
  --colorPaletteMarigoldBorder1: #f9e2ae;
  --colorPaletteMarigoldBorder2: #eaa300;
  --colorPaletteRedForegroundInverted: #dc5e62;
  --colorPaletteGreenForegroundInverted: #359b35;
  --colorPaletteYellowForegroundInverted: #fef7b2;
  --colorPaletteDarkRedBackground2: #d69ca5;
  --colorPaletteDarkRedForeground2: #420610;
  --colorPaletteDarkRedBorderActive: #750b1c;
  --colorPaletteCranberryBackground2: #eeacb2;
  --colorPaletteCranberryForeground2: #6e0811;
  --colorPaletteCranberryBorderActive: #c50f1f;
  --colorPalettePumpkinBackground2: #efc4ad;
  --colorPalettePumpkinForeground2: #712d09;
  --colorPalettePumpkinBorderActive: #ca5010;
  --colorPalettePeachBackground2: #ffddb3;
  --colorPalettePeachForeground2: #8f4e00;
  --colorPalettePeachBorderActive: #ff8c00;
  --colorPaletteGoldBackground2: #ecdfa5;
  --colorPaletteGoldForeground2: #6c5700;
  --colorPaletteGoldBorderActive: #c19c00;
  --colorPaletteBrassBackground2: #e0cea2;
  --colorPaletteBrassForeground2: #553e06;
  --colorPaletteBrassBorderActive: #986f0b;
  --colorPaletteBrownBackground2: #ddc3b0;
  --colorPaletteBrownForeground2: #50301a;
  --colorPaletteBrownBorderActive: #8e562e;
  --colorPaletteForestBackground2: #bdd99b;
  --colorPaletteForestForeground2: #294903;
  --colorPaletteForestBorderActive: #498205;
  --colorPaletteSeafoamBackground2: #a8f0cd;
  --colorPaletteSeafoamForeground2: #00723b;
  --colorPaletteSeafoamBorderActive: #00cc6a;
  --colorPaletteDarkGreenBackground2: #9ad29a;
  --colorPaletteDarkGreenForeground2: #063b06;
  --colorPaletteDarkGreenBorderActive: #0b6a0b;
  --colorPaletteLightTealBackground2: #a6e9ed;
  --colorPaletteLightTealForeground2: #00666d;
  --colorPaletteLightTealBorderActive: #00b7c3;
  --colorPaletteTealBackground2: #9bd9db;
  --colorPaletteTealForeground2: #02494c;
  --colorPaletteTealBorderActive: #038387;
  --colorPaletteSteelBackground2: #94c8d4;
  --colorPaletteSteelForeground2: #00333f;
  --colorPaletteSteelBorderActive: #005b70;
  --colorPaletteBlueBackground2: #a9d3f2;
  --colorPaletteBlueForeground2: #004377;
  --colorPaletteBlueBorderActive: #0078d4;
  --colorPaletteRoyalBlueBackground2: #9abfdc;
  --colorPaletteRoyalBlueForeground2: #002c4e;
  --colorPaletteRoyalBlueBorderActive: #004e8c;
  --colorPaletteCornflowerBackground2: #c8d1fa;
  --colorPaletteCornflowerForeground2: #2c3c85;
  --colorPaletteCornflowerBorderActive: #4f6bed;
  --colorPaletteNavyBackground2: #a3b2e8;
  --colorPaletteNavyForeground2: #001665;
  --colorPaletteNavyBorderActive: #0027b4;
  --colorPaletteLavenderBackground2: #d2ccf8;
  --colorPaletteLavenderForeground2: #3f3682;
  --colorPaletteLavenderBorderActive: #7160e8;
  --colorPalettePurpleBackground2: #c6b1de;
  --colorPalettePurpleForeground2: #341a51;
  --colorPalettePurpleBorderActive: #5c2e91;
  --colorPaletteGrapeBackground2: #d9a7e0;
  --colorPaletteGrapeForeground2: #4c0d55;
  --colorPaletteGrapeBorderActive: #881798;
  --colorPaletteLilacBackground2: #e6bfed;
  --colorPaletteLilacForeground2: #63276d;
  --colorPaletteLilacBorderActive: #b146c2;
  --colorPalettePinkBackground2: #f7c0e3;
  --colorPalettePinkForeground2: #80215d;
  --colorPalettePinkBorderActive: #e43ba6;
  --colorPaletteMagentaBackground2: #eca5d1;
  --colorPaletteMagentaForeground2: #6b0043;
  --colorPaletteMagentaBorderActive: #bf0077;
  --colorPalettePlumBackground2: #d696c0;
  --colorPalettePlumForeground2: #43002b;
  --colorPalettePlumBorderActive: #77004d;
  --colorPaletteBeigeBackground2: #d7d4d4;
  --colorPaletteBeigeForeground2: #444241;
  --colorPaletteBeigeBorderActive: #7a7574;
  --colorPaletteMinkBackground2: #cecccb;
  --colorPaletteMinkForeground2: #343231;
  --colorPaletteMinkBorderActive: #5d5a58;
  --colorPalettePlatinumBackground2: #cdd6d8;
  --colorPalettePlatinumForeground2: #3b4447;
  --colorPalettePlatinumBorderActive: #69797e;
  --colorPaletteAnchorBackground2: #bcc3c7;
  --colorPaletteAnchorForeground2: #202427;
  --colorPaletteAnchorBorderActive: #394146;
  --colorStatusSuccessBackground1: #f1faf1;
  --colorStatusSuccessBackground2: #9fd89f;
  --colorStatusSuccessBackground3: #107c10;
  --colorStatusSuccessForeground1: #0e700e;
  --colorStatusSuccessForeground2: #094509;
  --colorStatusSuccessForeground3: #107c10;
  --colorStatusSuccessForegroundInverted: #54b054;
  --colorStatusSuccessBorderActive: #107c10;
  --colorStatusSuccessBorder1: #9fd89f;
  --colorStatusSuccessBorder2: #107c10;
  --colorStatusWarningBackground1: #fff9f5;
  --colorStatusWarningBackground2: #fdcfb4;
  --colorStatusWarningBackground3: #f7630c;
  --colorStatusWarningForeground1: #bc4b09;
  --colorStatusWarningForeground2: #8a3707;
  --colorStatusWarningForeground3: #bc4b09;
  --colorStatusWarningForegroundInverted: #faa06b;
  --colorStatusWarningBorderActive: #f7630c;
  --colorStatusWarningBorder1: #fdcfb4;
  --colorStatusWarningBorder2: #bc4b09;
  --colorStatusDangerBackground1: #fdf3f4;
  --colorStatusDangerBackground2: #eeacb2;
  --colorStatusDangerBackground3: #c50f1f;
  --colorStatusDangerForeground1: #b10e1c;
  --colorStatusDangerForeground2: #6e0811;
  --colorStatusDangerForeground3: #c50f1f;
  --colorStatusDangerForegroundInverted: #dc626d;
  --colorStatusDangerBorderActive: #c50f1f;
  --colorStatusDangerBorder1: #eeacb2;
  --colorStatusDangerBorder2: #c50f1f;
  --shadow2: 0 0 2px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.14);
  --shadow4: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.14);
  --shadow8: 0 0 2px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.14);
  --shadow16: 0 0 2px rgba(0, 0, 0, 0.12), 0 8px 16px rgba(0, 0, 0, 0.14);
  --shadow28: 0 0 8px rgba(0, 0, 0, 0.12), 0 14px 28px rgba(0, 0, 0, 0.14);
  --shadow64: 0 0 8px rgba(0, 0, 0, 0.12), 0 32px 64px rgba(0, 0, 0, 0.14);
  --shadow2Brand: 0 0 2px rgba(0, 0, 0, 0.3), 0 1px 2px rgba(0, 0, 0, 0.25);
  --shadow4Brand: 0 0 2px rgba(0, 0, 0, 0.3), 0 2px 4px rgba(0, 0, 0, 0.25);
  --shadow8Brand: 0 0 2px rgba(0, 0, 0, 0.3), 0 4px 8px rgba(0, 0, 0, 0.25);
  --shadow16Brand: 0 0 2px rgba(0, 0, 0, 0.3), 0 8px 16px rgba(0, 0, 0, 0.25);
  --shadow28Brand: 0 0 8px rgba(0, 0, 0, 0.3), 0 14px 28px rgba(0, 0, 0, 0.25);
  --shadow64Brand: 0 0 8px rgba(0, 0, 0, 0.3), 0 32px 64px rgba(0, 0, 0, 0.25);

  --color-primary: #1d4ed8;
  --color-secondary: #f97316;
  --color-info: #0000ff;
  --color-success: #00ff00;
  --color-warning: #00ff00;
  --color-error: #ff0000;
}

/* 暗色主题 */

/**
 * Fluent Design Dark Theme Tokens
 * 基于 @fluentui/tokens 的 webDarkTheme
 */

:root[data-theme='dark'] {
  /* 覆盖为暗色主题的关键颜色 */
  --colorNeutralForeground1: #ffffff;
  --colorNeutralForeground1Hover: #ffffff;
  --colorNeutralForeground1Pressed: #ffffff;
  --colorNeutralForeground1Selected: #ffffff;

  --colorNeutralForeground2: #d6d6d6;
  --colorNeutralForeground2Hover: #ffffff;
  --colorNeutralForeground2Pressed: #ffffff;
  --colorNeutralForeground2Selected: #ffffff;

  --colorNeutralForeground3: #a8a8a8;
  --colorNeutralForeground3Hover: #d6d6d6;
  --colorNeutralForeground3Pressed: #d6d6d6;
  --colorNeutralForeground3Selected: #d6d6d6;

  --colorNeutralForeground4: #8f8f8f;
  --colorNeutralForegroundDisabled: #575757;

  --colorNeutralBackground1: #1b1b1b;
  --colorNeutralBackground1Hover: #292929;
  --colorNeutralBackground1Pressed: #323232;
  --colorNeutralBackground1Selected: #262626;

  --colorNeutralBackground2: #242424;
  --colorNeutralBackground2Hover: #323232;
  --colorNeutralBackground2Pressed: #3c3c3c;
  --colorNeutralBackground2Selected: #2d2d2d;

  --colorNeutralBackground3: #292929;
  --colorNeutralBackground3Hover: #262626;
  --colorNeutralBackground3Pressed: #323232;
  --colorNeutralBackground3Selected: #2d2d2d;

  --colorNeutralBackground4: #2d2d2d;
  --colorNeutralBackground4Hover: #242424;
  --colorNeutralBackground4Pressed: #292929;
  --colorNeutralBackground4Selected: #1b1b1b;

  --colorNeutralBackground5: #262626;
  --colorNeutralBackground5Hover: #292929;
  --colorNeutralBackground5Pressed: #2d2d2d;
  --colorNeutralBackground5Selected: #242424;

  --colorNeutralBackground6: #2d2d2d;

  --colorNeutralBackgroundInverted: #ffffff;
  --colorNeutralBackgroundStatic: #ffffff;

  --colorBrandForeground1: #479ef5;
  --colorBrandForeground2: #62abf5;
  --colorBrandForeground2Hover: #479ef5;
  --colorBrandForeground2Pressed: #1893f7;

  --colorBrandBackground: #479ef5;
  --colorBrandBackgroundHover: #62abf5;
  --colorBrandBackgroundPressed: #1893f7;
  --colorBrandBackgroundSelected: #3aa1f9;

  --colorBrandForegroundInverted: #0f6cbd;
  --colorBrandForegroundInvertedHover: #115ea3;
  --colorBrandForegroundInvertedPressed: #0a2e4a;

  --colorNeutralStrokeAccessible: #b8b8b8;
  --colorNeutralStrokeAccessibleHover: #c8c8c8;
  --colorNeutralStrokeAccessiblePressed: #d8d8d8;

  --colorNeutralStroke1: #5c5c5c;
  --colorNeutralStroke1Hover: #6e6e6e;
  --colorNeutralStroke1Pressed: #828282;

  --colorNeutralStroke2: #4b4b4b;
  --colorNeutralStroke3: #3c3c3c;

  --colorNeutralStrokeOnBrand: #ffffff;
  --colorNeutralStrokeOnBrand2: #ffffff;
  --colorNeutralStrokeOnBrand2Hover: #ffffff;
  --colorNeutralStrokeOnBrand2Pressed: #ffffff;
  --colorNeutralStrokeOnBrand2Selected: #ffffff;

  --colorNeutralStrokeDisabled: #3c3c3c;
  --colorNeutralStrokeInvertedDisabled: rgba(0, 0, 0, 0.4);

  --colorNeutralShadowAmbient: rgba(0, 0, 0, 0.36);
  --colorNeutralShadowKey: rgba(0, 0, 0, 0.42);

  --colorBrandShadowAmbient: rgba(0, 0, 0, 0.4);
  --colorBrandShadowKey: rgba(0, 0, 0, 0.3);
}

/* Teams 亮色主题 */

/**
 * Fluent Design Teams Light Theme Tokens
 * 基于 @fluentui/tokens 的 teamsLightTheme
 */

:root[data-theme='teams-light'] {
  /* Teams 品牌色 */
  --colorBrandForeground1: #6264a7;
  --colorBrandForeground2: #5c5fc0;
  --colorBrandForeground2Hover: #6264a7;
  --colorBrandForeground2Pressed: #464775;

  --colorBrandBackground: #6264a7;
  --colorBrandBackgroundHover: #5c5fc0;
  --colorBrandBackgroundPressed: #464775;
  --colorBrandBackgroundSelected: #6264a7;

  --colorBrandStroke1: #6264a7;
  --colorBrandStroke2: #c8c8e3;
  --colorBrandStroke2Hover: #6264a7;
  --colorBrandStroke2Pressed: #6264a7;
}

/* Teams 暗色主题 */

/**
 * Fluent Design Teams Dark Theme Tokens
 * 基于 @fluentui/tokens 的 teamsDarkTheme
 */

:root[data-theme='teams-dark'] {
  /* Teams 暗色主题 */
  --colorNeutralForeground1: #ffffff;
  --colorNeutralForeground1Hover: #ffffff;
  --colorNeutralForeground1Pressed: #ffffff;
  --colorNeutralForeground1Selected: #ffffff;

  --colorNeutralForeground2: #d6d6d6;
  --colorNeutralForeground2Hover: #ffffff;
  --colorNeutralForeground2Pressed: #ffffff;
  --colorNeutralForeground2Selected: #ffffff;

  --colorNeutralBackground1: #1b1b1b;
  --colorNeutralBackground1Hover: #292929;
  --colorNeutralBackground1Pressed: #323232;
  --colorNeutralBackground1Selected: #262626;

  /* Teams 品牌色 */
  --colorBrandForeground1: #9f9fdf;
  --colorBrandForeground2: #b4b6ef;
  --colorBrandForeground2Hover: #9f9fdf;
  --colorBrandForeground2Pressed: #8789ce;

  --colorBrandBackground: #9f9fdf;
  --colorBrandBackgroundHover: #b4b6ef;
  --colorBrandBackgroundPressed: #8789ce;
  --colorBrandBackgroundSelected: #9f9fdf;

  --colorBrandStroke1: #9f9fdf;
  --colorBrandStroke2: #9f9fdf;
  --colorBrandStroke2Hover: #9f9fdf;
  --colorBrandStroke2Pressed: #9f9fdf;
}

/* 以下是通用基础样式 */
* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: var(--fontFamilyBase);
}

/* ========== Input Root ========== */
.t-input {
  box-sizing: border-box;
  display: inline-flex;
  flex-direction: column;
  position: relative;
  width: 100%;
}

/* ========== Input Wrapper ========== */
/* 包装器：包含 input、contentBefore、contentAfter 及其内部按钮 */
.t-input__input-wrapper {
  display: inline-flex;
  align-items: center;
  width: 100%;
  position: relative;

  /* 边框和背景 */
  background-color: var(--colorNeutralBackground1);
  border: var(--strokeWidthThin) solid var(--colorNeutralStroke1);
  border-radius: var(--borderRadiusMedium);
  padding: 0;
}

/* ========== Input Element ========== */
.t-input__input {
  /* 布局 */
  box-sizing: border-box;
  flex: 1;
  min-width: 0;
  outline: none;
  border: none;
  background: transparent;

  /* 使用 CSS Variables - Fluent Design 令牌 */
  color: var(--colorNeutralForeground1);
  font-family: var(--fontFamilyBase);
  font-size: var(--fontSizeBase300);
  padding: var(--spacingVerticalSNudge) var(--spacingHorizontalMN);

  transition-duration: var(--durationFaster);
  transition-property: background, border, box-shadow;
}

/* Placeholder */
.t-input__input::placeholder {
  color: var(--colorNeutralForeground4);
}

/* ========== Appearance Variants ========== */

/* Outline (default) - 使用 wrapper 默认样式 */

/* Filled */
.t-input--filled .t-input__input-wrapper {
  background-color: var(--colorNeutralBackground1);
}

.t-input--filled .t-input__input {
  background-color: transparent;
}

/* Underlined */
.t-input--underlined .t-input__input-wrapper {
  border-radius: 0;
  border-left: none;
  border-right: none;
  border-top: none;
  border-bottom-width: var(--strokeWidthThick);
  padding-left: 0;
  padding-right: 0;
}

/* Inline Dark */
.t-input--inline-dark .t-input__input-wrapper {
  background-color: transparent;
  border-color: transparent;
  padding-left: 0;
  padding-right: 0;
}

.t-input--inline-dark .t-input__input {
  color: var(--colorNeutralForegroundOnBrand);
  padding-left: 0;
  padding-right: 0;
}

.t-input--inline-dark .t-input__input::placeholder {
  color: rgba(255, 255, 255, 0.6);
}

.t-input--inline-dark .t-input__input-wrapper:hover .t-input__input::placeholder {
  color: rgba(255, 255, 255, 0.8);
}

/* Inline Light */
.t-input--inline-light .t-input__input-wrapper {
  background-color: transparent;
  border-color: transparent;
  padding-left: 0;
  padding-right: 0;
}

.t-input--inline-light .t-input__input {
  color: var(--colorNeutralForeground1);
  padding-left: 0;
  padding-right: 0;
}

.t-input--inline-light .t-input__input::placeholder {
  color: var(--colorNeutralForeground4);
}

.t-input--inline-light .t-input__input-wrapper:hover .t-input__input::placeholder {
  color: var(--colorNeutralForeground3);
}

/* ========== Size Variants ========== */

/* Small */
.t-input--small .t-input__input {
  font-size: var(--fontSizeBase200);
  padding: var(--spacingVerticalXXS) var(--spacingHorizontalS);
}

.t-input--small .t-input__content-before {
  padding-left: var(--spacingHorizontalXS);
}

.t-input--small .t-input__content-after {
  padding-right: var(--spacingHorizontalXS);
}

/* Large */
.t-input--large .t-input__input {
  font-size: var(--fontSizeBase400);
  padding: var(--spacingVerticalS) var(--spacingHorizontalM);
}

.t-input--large .t-input__content-before {
  padding-left: var(--spacingHorizontalMNudge);
}

.t-input--large .t-input__content-after {
  padding-right: var(--spacingHorizontalMNudge);
}

/* ========== State Classes ========== */

/* Disabled */
.t-input--disabled .t-input__input-wrapper,
.t-input__input-wrapper:has(.t-input__input:disabled) {
  background-color: var(--colorNeutralBackgroundDisabled);
  border-color: var(--colorNeutralStrokeDisabled);
  cursor: not-allowed;
}

.t-input--disabled .t-input__input,
.t-input__input:disabled {
  color: var(--colorNeutralForegroundDisabled);
  cursor: not-allowed;
}

/* Error */
.t-input--error .t-input__input-wrapper,
.t-input__input-wrapper.error {
  border-color: var(--colorPaletteRedBorder1);
}

/* Readonly */
.t-input--readonly .t-input__input,
.t-input__input[readonly] {
  cursor: default;
}

/* ========== Validation States ========== */

/* Valid */
.t-input__input-wrapper.validation-valid {
  border-color: var(--colorPaletteGreenBorder1);
}

/* Warning */
.t-input__input-wrapper.validation-warning {
  border-color: var(--colorPaletteDarkOrangeBorder1);
}

/* Invalid */
.t-input__input-wrapper.validation-invalid {
  border-color: var(--colorPaletteRedBorder1);
}

/* ========== Interactive States ========== */

/* Hover */
.t-input__input-wrapper:hover:not(:has(.t-input__input:disabled)):not(.t-input--error):not(
    .error
  ):not(.validation-invalid) {
  border-color: var(--colorNeutralStroke1Hover);
}

/* Focus */
.t-input__input:focus {
  outline: none;
}

.t-input__input-wrapper:focus-within {
  border-color: var(--colorBrandStroke1);
  box-shadow: 0 0 0 var(--strokeWidthThick) var(--colorCompoundBrandStrokeHover);
  z-index: 1;
}

/* Focus with Error */
.t-input--error .t-input__input-wrapper:focus-within,
.t-input__input-wrapper.error:focus-within,
.t-input__input-wrapper.validation-invalid:focus-within {
  border-color: var(--colorPaletteRedBorder1);
  box-shadow: 0 0 0 var(--strokeWidthThick) var(--colorPaletteRedBorder1);
}

/* ========== Content Slots ========== */

.t-input__content-before {
  display: inline-flex;
  align-items: center;
  padding-left: var(--spacingHorizontalS);
  flex-shrink: 0;
}

.t-input__content-after {
  display: inline-flex;
  align-items: center;
  gap: var(--spacingHorizontalXS);
  padding-right: var(--spacingHorizontalS);
  flex-shrink: 0;
}

/* ========== Clear Button ========== */
.t-input__clear-button {
  background: none;
  border: none;
  color: var(--colorNeutralForeground4);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--spacingHorizontalXS);
  border-radius: var(--borderRadiusSmall);
  transition:
    background-color var(--durationFast) var(--curveEasyEaseMax),
    color var(--durationFast) var(--curveEasyEaseMax);
}

.t-input__clear-button:hover:not(:disabled) {
  color: var(--colorNeutralForeground2);
  background-color: var(--colorNeutralBackground1Hover);
}

.t-input__clear-button:active:not(:disabled) {
  color: var(--colorNeutralForeground1);
  background-color: var(--colorNeutralBackground1Pressed);
}

.t-input__clear-button:disabled {
  color: var(--colorNeutralForegroundDisabled);
  cursor: not-allowed;
}

/* ========== Password Toggle Button ========== */
.t-input__password-toggle {
  background: none;
  border: none;
  color: var(--colorNeutralForeground2);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--spacingHorizontalXS);
  border-radius: var(--borderRadiusSmall);
  transition:
    background-color var(--durationFast) var(--curveEasyEaseMax),
    color var(--durationFast) var(--curveEasyEaseMax);
}

.t-input__password-toggle:hover:not(:disabled) {
  color: var(--colorNeutralForeground1);
  background-color: var(--colorNeutralBackground1Hover);
}

.t-input__password-toggle:active:not(:disabled) {
  color: var(--colorBrandForeground1);
  background-color: var(--colorNeutralBackground1Pressed);
}

/* ========== Progress Indicator ========== */
.t-input__progress-indicator {
  position: absolute;
  bottom: 0;
  left: 0;
  height: var(--strokeWidthThick);
  background-color: var(--colorCompoundBrandStroke1);
  border-radius: 0 0 var(--borderRadiusMedium) var(--borderRadiusMedium);
  transition: width var(--durationNormal) var(--curveDecelerateMid);
  pointer-events: none;
}

/* ========== Autofill Styles ========== */
/* Webkit autofill */
.t-input__input-wrapper:has(:-webkit-autofill) {
  background-color: var(--colorNeutralBackground1);
}

.t-input__input:-webkit-autofill,
.t-input__input:-webkit-autofill:hover,
.t-input__input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--colorNeutralForeground1);
  -webkit-box-shadow: 0 0 0 1000px var(--colorNeutralBackground1) inset;
  transition: background-color 5000s ease-in-out 0s;
}

.t-input--filled .t-input__input-wrapper:has(:-webkit-autofill) {
  background-color: var(--colorNeutralBackground1);
}

.t-input--filled .t-input__input:-webkit-autofill,
.t-input--filled .t-input__input:-webkit-autofill:hover,
.t-input--filled .t-input__input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px var(--colorNeutralBackground1) inset;
}
/**
 * Fluent Design Base Styles
 * 导入主题令牌和通用基础样式
 */

/* 导入所有主题令牌 */

/**
 * Fluent Design Theme Tokens
 * 导入所有主题变量
 */

/* 默认亮色主题 */

:root {
  --borderRadiusNone: 0;
  --borderRadiusSmall: 2px;
  --borderRadiusMedium: 4px;
  --borderRadiusLarge: 6px;
  --borderRadiusXLarge: 8px;
  --borderRadiusCircular: 10000px;
  --fontSizeBase100: 10px;
  --fontSizeBase200: 12px;
  --fontSizeBase300: 14px;
  --fontSizeBase400: 16px;
  --fontSizeBase500: 20px;
  --fontSizeBase600: 24px;
  --fontSizeHero700: 28px;
  --fontSizeHero800: 32px;
  --fontSizeHero900: 40px;
  --fontSizeHero1000: 68px;
  --lineHeightBase100: 14px;
  --lineHeightBase200: 16px;
  --lineHeightBase300: 20px;
  --lineHeightBase400: 22px;
  --lineHeightBase500: 28px;
  --lineHeightBase600: 32px;
  --lineHeightHero700: 36px;
  --lineHeightHero800: 40px;
  --lineHeightHero900: 52px;
  --lineHeightHero1000: 92px;
  --fontFamilyBase:
    'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto,
    'Helvetica Neue', sans-serif;
  --fontFamilyMonospace: Consolas, 'Courier New', Courier, monospace;
  --fontFamilyNumeric:
    Bahnschrift, 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont,
    Roboto, 'Helvetica Neue', sans-serif;
  --fontWeightRegular: 400;
  --fontWeightMedium: 500;
  --fontWeightSemibold: 600;
  --fontWeightBold: 700;
  --strokeWidthThin: 1px;
  --strokeWidthThick: 2px;
  --strokeWidthThicker: 3px;
  --strokeWidthThickest: 4px;
  --spacingHorizontalNone: 0;
  --spacingHorizontalXXS: 2px;
  --spacingHorizontalXS: 4px;
  --spacingHorizontalSNudge: 6px;
  --spacingHorizontalS: 8px;
  --spacingHorizontalMNudge: 10px;
  --spacingHorizontalM: 12px;
  --spacingHorizontalL: 16px;
  --spacingHorizontalXL: 20px;
  --spacingHorizontalXXL: 24px;
  --spacingHorizontalXXXL: 32px;
  --spacingVerticalNone: 0;
  --spacingVerticalXXS: 2px;
  --spacingVerticalXS: 4px;
  --spacingVerticalSNudge: 6px;
  --spacingVerticalS: 8px;
  --spacingVerticalMNudge: 10px;
  --spacingVerticalM: 12px;
  --spacingVerticalL: 16px;
  --spacingVerticalXL: 20px;
  --spacingVerticalXXL: 24px;
  --spacingVerticalXXXL: 32px;
  --durationUltraFast: 50ms;
  --durationFaster: 100ms;
  --durationFast: 150ms;
  --durationNormal: 200ms;
  --durationGentle: 250ms;
  --durationSlow: 300ms;
  --durationSlower: 400ms;
  --durationUltraSlow: 500ms;
  --curveAccelerateMax: cubic-bezier(1, 0, 1, 1);
  --curveAccelerateMid: cubic-bezier(0.7, 0, 1, 0.5);
  --curveAccelerateMin: cubic-bezier(0.8, 0, 1, 1);
  --curveDecelerateMax: cubic-bezier(0, 0, 0, 1);
  --curveDecelerateMid: cubic-bezier(0.1, 0.9, 0.2, 1);
  --curveDecelerateMin: cubic-bezier(0.33, 0, 0.1, 1);
  --curveEasyEaseMax: cubic-bezier(0.8, 0, 0.1, 1);
  --curveEasyEase: cubic-bezier(0.33, 0, 0.67, 1);
  --curveLinear: cubic-bezier(0, 0, 1, 1);
  --colorNeutralForeground1: #242424;
  --colorNeutralForeground1Hover: #242424;
  --colorNeutralForeground1Pressed: #242424;
  --colorNeutralForeground1Selected: #242424;
  --colorNeutralForeground2: #424242;
  --colorNeutralForeground2Hover: #242424;
  --colorNeutralForeground2Pressed: #242424;
  --colorNeutralForeground2Selected: #242424;
  --colorNeutralForeground2BrandHover: #0f6cbd;
  --colorNeutralForeground2BrandPressed: #115ea3;
  --colorNeutralForeground2BrandSelected: #0f6cbd;
  --colorNeutralForeground3: #616161;
  --colorNeutralForeground3Hover: #424242;
  --colorNeutralForeground3Pressed: #424242;
  --colorNeutralForeground3Selected: #424242;
  --colorNeutralForeground3BrandHover: #0f6cbd;
  --colorNeutralForeground3BrandPressed: #115ea3;
  --colorNeutralForeground3BrandSelected: #0f6cbd;
  --colorNeutralForeground4: #707070;
  --colorNeutralForegroundDisabled: #bdbdbd;
  --colorNeutralForegroundInvertedDisabled: rgba(255, 255, 255, 0.4);
  --colorBrandForegroundLink: #115ea3;
  --colorBrandForegroundLinkHover: #0f548c;
  --colorBrandForegroundLinkPressed: #0c3b5e;
  --colorBrandForegroundLinkSelected: #115ea3;
  --colorNeutralForeground2Link: #424242;
  --colorNeutralForeground2LinkHover: #242424;
  --colorNeutralForeground2LinkPressed: #242424;
  --colorNeutralForeground2LinkSelected: #242424;
  --colorCompoundBrandForeground1: #0f6cbd;
  --colorCompoundBrandForeground1Hover: #115ea3;
  --colorCompoundBrandForeground1Pressed: #0f548c;
  --colorBrandForeground1: #0f6cbd;
  --colorBrandForeground2: #115ea3;
  --colorBrandForeground2Hover: #0f548c;
  --colorBrandForeground2Pressed: #0a2e4a;
  --colorNeutralForeground1Static: #242424;
  --colorNeutralForegroundStaticInverted: #ffffff;
  --colorNeutralForegroundInverted: #ffffff;
  --colorNeutralForegroundInvertedHover: #ffffff;
  --colorNeutralForegroundInvertedPressed: #ffffff;
  --colorNeutralForegroundInvertedSelected: #ffffff;
  --colorNeutralForegroundInverted2: #ffffff;
  --colorNeutralForegroundOnBrand: #ffffff;
  --colorNeutralForegroundInvertedLink: #ffffff;
  --colorNeutralForegroundInvertedLinkHover: #ffffff;
  --colorNeutralForegroundInvertedLinkPressed: #ffffff;
  --colorNeutralForegroundInvertedLinkSelected: #ffffff;
  --colorBrandForegroundInverted: #479ef5;
  --colorBrandForegroundInvertedHover: #62abf5;
  --colorBrandForegroundInvertedPressed: #479ef5;
  --colorBrandForegroundOnLight: #0f6cbd;
  --colorBrandForegroundOnLightHover: #115ea3;
  --colorBrandForegroundOnLightPressed: #0e4775;
  --colorBrandForegroundOnLightSelected: #0f548c;
  --colorNeutralBackground1: #ffffff;
  --colorNeutralBackground1Hover: #f5f5f5;
  --colorNeutralBackground1Pressed: #e0e0e0;
  --colorNeutralBackground1Selected: #ebebeb;
  --colorNeutralBackground2: #fafafa;
  --colorNeutralBackground2Hover: #f0f0f0;
  --colorNeutralBackground2Pressed: #dbdbdb;
  --colorNeutralBackground2Selected: #e6e6e6;
  --colorNeutralBackground3: #f5f5f5;
  --colorNeutralBackground3Hover: #ebebeb;
  --colorNeutralBackground3Pressed: #d6d6d6;
  --colorNeutralBackground3Selected: #e0e0e0;
  --colorNeutralBackground4: #f0f0f0;
  --colorNeutralBackground4Hover: #fafafa;
  --colorNeutralBackground4Pressed: #f5f5f5;
  --colorNeutralBackground4Selected: #ffffff;
  --colorNeutralBackground5: #ebebeb;
  --colorNeutralBackground5Hover: #f5f5f5;
  --colorNeutralBackground5Pressed: #f0f0f0;
  --colorNeutralBackground5Selected: #fafafa;
  --colorNeutralBackground6: #e6e6e6;
  --colorNeutralBackgroundInverted: #292929;
  --colorNeutralBackgroundStatic: #333333;
  --colorNeutralBackgroundAlpha: rgba(255, 255, 255, 0.5);
  --colorNeutralBackgroundAlpha2: rgba(255, 255, 255, 0.8);
  --colorSubtleBackground: transparent;
  --colorSubtleBackgroundHover: #f5f5f5;
  --colorSubtleBackgroundPressed: #e0e0e0;
  --colorSubtleBackgroundSelected: #ebebeb;
  --colorSubtleBackgroundLightAlphaHover: rgba(255, 255, 255, 0.7);
  --colorSubtleBackgroundLightAlphaPressed: rgba(255, 255, 255, 0.5);
  --colorSubtleBackgroundLightAlphaSelected: transparent;
  --colorSubtleBackgroundInverted: transparent;
  --colorSubtleBackgroundInvertedHover: rgba(0, 0, 0, 0.1);
  --colorSubtleBackgroundInvertedPressed: rgba(0, 0, 0, 0.3);
  --colorSubtleBackgroundInvertedSelected: rgba(0, 0, 0, 0.2);
  --colorTransparentBackground: transparent;
  --colorTransparentBackgroundHover: transparent;
  --colorTransparentBackgroundPressed: transparent;
  --colorTransparentBackgroundSelected: transparent;
  --colorNeutralBackgroundDisabled: #f0f0f0;
  --colorNeutralBackgroundInvertedDisabled: rgba(255, 255, 255, 0.1);
  --colorNeutralStencil1: #e6e6e6;
  --colorNeutralStencil2: #fafafa;
  --colorNeutralStencil1Alpha: rgba(0, 0, 0, 0.1);
  --colorNeutralStencil2Alpha: rgba(0, 0, 0, 0.05);
  --colorBackgroundOverlay: rgba(0, 0, 0, 0.4);
  --colorScrollbarOverlay: rgba(0, 0, 0, 0.5);
  --colorBrandBackground: #0f6cbd;
  --colorBrandBackgroundHover: #115ea3;
  --colorBrandBackgroundPressed: #0c3b5e;
  --colorBrandBackgroundSelected: #0f548c;
  --colorCompoundBrandBackground: #0f6cbd;
  --colorCompoundBrandBackgroundHover: #115ea3;
  --colorCompoundBrandBackgroundPressed: #0f548c;
  --colorBrandBackgroundStatic: #0f6cbd;
  --colorBrandBackground2: #ebf3fc;
  --colorBrandBackground2Hover: #cfe4fa;
  --colorBrandBackground2Pressed: #96c6fa;
  --colorBrandBackgroundInverted: #ffffff;
  --colorBrandBackgroundInvertedHover: #ebf3fc;
  --colorBrandBackgroundInvertedPressed: #b4d6fa;
  --colorBrandBackgroundInvertedSelected: #cfe4fa;
  --colorNeutralStrokeAccessible: #616161;
  --colorNeutralStrokeAccessibleHover: #575757;
  --colorNeutralStrokeAccessiblePressed: #4d4d4d;
  --colorNeutralStrokeAccessibleSelected: #0f6cbd;
  --colorNeutralStroke1: #d1d1d1;
  --colorNeutralStroke1Hover: #c7c7c7;
  --colorNeutralStroke1Pressed: #b3b3b3;
  --colorNeutralStroke1Selected: #bdbdbd;
  --colorNeutralStroke2: #e0e0e0;
  --colorNeutralStroke3: #f0f0f0;
  --colorNeutralStrokeSubtle: #e0e0e0;
  --colorNeutralStrokeOnBrand: #ffffff;
  --colorNeutralStrokeOnBrand2: #ffffff;
  --colorNeutralStrokeOnBrand2Hover: #ffffff;
  --colorNeutralStrokeOnBrand2Pressed: #ffffff;
  --colorNeutralStrokeOnBrand2Selected: #ffffff;
  --colorBrandStroke1: #0f6cbd;
  --colorBrandStroke2: #b4d6fa;
  --colorBrandStroke2Hover: #77b7f7;
  --colorBrandStroke2Pressed: #0f6cbd;
  --colorBrandStroke2Contrast: #b4d6fa;
  --colorCompoundBrandStroke: #0f6cbd;
  --colorCompoundBrandStrokeHover: #115ea3;
  --colorCompoundBrandStrokePressed: #0f548c;
  --colorNeutralStrokeDisabled: #e0e0e0;
  --colorNeutralStrokeInvertedDisabled: rgba(255, 255, 255, 0.4);
  --colorTransparentStroke: transparent;
  --colorTransparentStrokeInteractive: transparent;
  --colorTransparentStrokeDisabled: transparent;
  --colorNeutralStrokeAlpha: rgba(0, 0, 0, 0.05);
  --colorNeutralStrokeAlpha2: rgba(255, 255, 255, 0.2);
  --colorStrokeFocus1: #ffffff;
  --colorStrokeFocus2: #000000;
  --colorNeutralShadowAmbient: rgba(0, 0, 0, 0.12);
  --colorNeutralShadowKey: rgba(0, 0, 0, 0.14);
  --colorNeutralShadowAmbientLighter: rgba(0, 0, 0, 0.06);
  --colorNeutralShadowKeyLighter: rgba(0, 0, 0, 0.07);
  --colorNeutralShadowAmbientDarker: rgba(0, 0, 0, 0.2);
  --colorNeutralShadowKeyDarker: rgba(0, 0, 0, 0.24);
  --colorBrandShadowAmbient: rgba(0, 0, 0, 0.3);
  --colorBrandShadowKey: rgba(0, 0, 0, 0.25);
  --colorPaletteRedBackground1: #fdf6f6;
  --colorPaletteRedBackground2: #f1bbbc;
  --colorPaletteRedBackground3: #d13438;
  --colorPaletteRedForeground1: #bc2f32;
  --colorPaletteRedForeground2: #751d1f;
  --colorPaletteRedForeground3: #d13438;
  --colorPaletteRedBorderActive: #d13438;
  --colorPaletteRedBorder1: #f1bbbc;
  --colorPaletteRedBorder2: #d13438;
  --colorPaletteGreenBackground1: #f1faf1;
  --colorPaletteGreenBackground2: #9fd89f;
  --colorPaletteGreenBackground3: #107c10;
  --colorPaletteGreenForeground1: #0e700e;
  --colorPaletteGreenForeground2: #094509;
  --colorPaletteGreenForeground3: #107c10;
  --colorPaletteGreenBorderActive: #107c10;
  --colorPaletteGreenBorder1: #9fd89f;
  --colorPaletteGreenBorder2: #107c10;
  --colorPaletteDarkOrangeBackground1: #fdf6f3;
  --colorPaletteDarkOrangeBackground2: #f4bfab;
  --colorPaletteDarkOrangeBackground3: #da3b01;
  --colorPaletteDarkOrangeForeground1: #c43501;
  --colorPaletteDarkOrangeForeground2: #7a2101;
  --colorPaletteDarkOrangeForeground3: #da3b01;
  --colorPaletteDarkOrangeBorderActive: #da3b01;
  --colorPaletteDarkOrangeBorder1: #f4bfab;
  --colorPaletteDarkOrangeBorder2: #da3b01;
  --colorPaletteYellowBackground1: #fffef5;
  --colorPaletteYellowBackground2: #fef7b2;
  --colorPaletteYellowBackground3: #fde300;
  --colorPaletteYellowForeground1: #817400;
  --colorPaletteYellowForeground2: #817400;
  --colorPaletteYellowForeground3: #fde300;
  --colorPaletteYellowBorderActive: #fde300;
  --colorPaletteYellowBorder1: #fef7b2;
  --colorPaletteYellowBorder2: #fde300;
  --colorPaletteBerryBackground1: #fdf5fc;
  --colorPaletteBerryBackground2: #edbbe7;
  --colorPaletteBerryBackground3: #c239b3;
  --colorPaletteBerryForeground1: #af33a1;
  --colorPaletteBerryForeground2: #6d2064;
  --colorPaletteBerryForeground3: #c239b3;
  --colorPaletteBerryBorderActive: #c239b3;
  --colorPaletteBerryBorder1: #edbbe7;
  --colorPaletteBerryBorder2: #c239b3;
  --colorPaletteLightGreenBackground1: #f2fbf2;
  --colorPaletteLightGreenBackground2: #a7e3a5;
  --colorPaletteLightGreenBackground3: #13a10e;
  --colorPaletteLightGreenForeground1: #11910d;
  --colorPaletteLightGreenForeground2: #0b5a08;
  --colorPaletteLightGreenForeground3: #13a10e;
  --colorPaletteLightGreenBorderActive: #13a10e;
  --colorPaletteLightGreenBorder1: #a7e3a5;
  --colorPaletteLightGreenBorder2: #13a10e;
  --colorPaletteMarigoldBackground1: #fefbf4;
  --colorPaletteMarigoldBackground2: #f9e2ae;
  --colorPaletteMarigoldBackground3: #eaa300;
  --colorPaletteMarigoldForeground1: #d39300;
  --colorPaletteMarigoldForeground2: #835b00;
  --colorPaletteMarigoldForeground3: #eaa300;
  --colorPaletteMarigoldBorderActive: #eaa300;
  --colorPaletteMarigoldBorder1: #f9e2ae;
  --colorPaletteMarigoldBorder2: #eaa300;
  --colorPaletteRedForegroundInverted: #dc5e62;
  --colorPaletteGreenForegroundInverted: #359b35;
  --colorPaletteYellowForegroundInverted: #fef7b2;
  --colorPaletteDarkRedBackground2: #d69ca5;
  --colorPaletteDarkRedForeground2: #420610;
  --colorPaletteDarkRedBorderActive: #750b1c;
  --colorPaletteCranberryBackground2: #eeacb2;
  --colorPaletteCranberryForeground2: #6e0811;
  --colorPaletteCranberryBorderActive: #c50f1f;
  --colorPalettePumpkinBackground2: #efc4ad;
  --colorPalettePumpkinForeground2: #712d09;
  --colorPalettePumpkinBorderActive: #ca5010;
  --colorPalettePeachBackground2: #ffddb3;
  --colorPalettePeachForeground2: #8f4e00;
  --colorPalettePeachBorderActive: #ff8c00;
  --colorPaletteGoldBackground2: #ecdfa5;
  --colorPaletteGoldForeground2: #6c5700;
  --colorPaletteGoldBorderActive: #c19c00;
  --colorPaletteBrassBackground2: #e0cea2;
  --colorPaletteBrassForeground2: #553e06;
  --colorPaletteBrassBorderActive: #986f0b;
  --colorPaletteBrownBackground2: #ddc3b0;
  --colorPaletteBrownForeground2: #50301a;
  --colorPaletteBrownBorderActive: #8e562e;
  --colorPaletteForestBackground2: #bdd99b;
  --colorPaletteForestForeground2: #294903;
  --colorPaletteForestBorderActive: #498205;
  --colorPaletteSeafoamBackground2: #a8f0cd;
  --colorPaletteSeafoamForeground2: #00723b;
  --colorPaletteSeafoamBorderActive: #00cc6a;
  --colorPaletteDarkGreenBackground2: #9ad29a;
  --colorPaletteDarkGreenForeground2: #063b06;
  --colorPaletteDarkGreenBorderActive: #0b6a0b;
  --colorPaletteLightTealBackground2: #a6e9ed;
  --colorPaletteLightTealForeground2: #00666d;
  --colorPaletteLightTealBorderActive: #00b7c3;
  --colorPaletteTealBackground2: #9bd9db;
  --colorPaletteTealForeground2: #02494c;
  --colorPaletteTealBorderActive: #038387;
  --colorPaletteSteelBackground2: #94c8d4;
  --colorPaletteSteelForeground2: #00333f;
  --colorPaletteSteelBorderActive: #005b70;
  --colorPaletteBlueBackground2: #a9d3f2;
  --colorPaletteBlueForeground2: #004377;
  --colorPaletteBlueBorderActive: #0078d4;
  --colorPaletteRoyalBlueBackground2: #9abfdc;
  --colorPaletteRoyalBlueForeground2: #002c4e;
  --colorPaletteRoyalBlueBorderActive: #004e8c;
  --colorPaletteCornflowerBackground2: #c8d1fa;
  --colorPaletteCornflowerForeground2: #2c3c85;
  --colorPaletteCornflowerBorderActive: #4f6bed;
  --colorPaletteNavyBackground2: #a3b2e8;
  --colorPaletteNavyForeground2: #001665;
  --colorPaletteNavyBorderActive: #0027b4;
  --colorPaletteLavenderBackground2: #d2ccf8;
  --colorPaletteLavenderForeground2: #3f3682;
  --colorPaletteLavenderBorderActive: #7160e8;
  --colorPalettePurpleBackground2: #c6b1de;
  --colorPalettePurpleForeground2: #341a51;
  --colorPalettePurpleBorderActive: #5c2e91;
  --colorPaletteGrapeBackground2: #d9a7e0;
  --colorPaletteGrapeForeground2: #4c0d55;
  --colorPaletteGrapeBorderActive: #881798;
  --colorPaletteLilacBackground2: #e6bfed;
  --colorPaletteLilacForeground2: #63276d;
  --colorPaletteLilacBorderActive: #b146c2;
  --colorPalettePinkBackground2: #f7c0e3;
  --colorPalettePinkForeground2: #80215d;
  --colorPalettePinkBorderActive: #e43ba6;
  --colorPaletteMagentaBackground2: #eca5d1;
  --colorPaletteMagentaForeground2: #6b0043;
  --colorPaletteMagentaBorderActive: #bf0077;
  --colorPalettePlumBackground2: #d696c0;
  --colorPalettePlumForeground2: #43002b;
  --colorPalettePlumBorderActive: #77004d;
  --colorPaletteBeigeBackground2: #d7d4d4;
  --colorPaletteBeigeForeground2: #444241;
  --colorPaletteBeigeBorderActive: #7a7574;
  --colorPaletteMinkBackground2: #cecccb;
  --colorPaletteMinkForeground2: #343231;
  --colorPaletteMinkBorderActive: #5d5a58;
  --colorPalettePlatinumBackground2: #cdd6d8;
  --colorPalettePlatinumForeground2: #3b4447;
  --colorPalettePlatinumBorderActive: #69797e;
  --colorPaletteAnchorBackground2: #bcc3c7;
  --colorPaletteAnchorForeground2: #202427;
  --colorPaletteAnchorBorderActive: #394146;
  --colorStatusSuccessBackground1: #f1faf1;
  --colorStatusSuccessBackground2: #9fd89f;
  --colorStatusSuccessBackground3: #107c10;
  --colorStatusSuccessForeground1: #0e700e;
  --colorStatusSuccessForeground2: #094509;
  --colorStatusSuccessForeground3: #107c10;
  --colorStatusSuccessForegroundInverted: #54b054;
  --colorStatusSuccessBorderActive: #107c10;
  --colorStatusSuccessBorder1: #9fd89f;
  --colorStatusSuccessBorder2: #107c10;
  --colorStatusWarningBackground1: #fff9f5;
  --colorStatusWarningBackground2: #fdcfb4;
  --colorStatusWarningBackground3: #f7630c;
  --colorStatusWarningForeground1: #bc4b09;
  --colorStatusWarningForeground2: #8a3707;
  --colorStatusWarningForeground3: #bc4b09;
  --colorStatusWarningForegroundInverted: #faa06b;
  --colorStatusWarningBorderActive: #f7630c;
  --colorStatusWarningBorder1: #fdcfb4;
  --colorStatusWarningBorder2: #bc4b09;
  --colorStatusDangerBackground1: #fdf3f4;
  --colorStatusDangerBackground2: #eeacb2;
  --colorStatusDangerBackground3: #c50f1f;
  --colorStatusDangerForeground1: #b10e1c;
  --colorStatusDangerForeground2: #6e0811;
  --colorStatusDangerForeground3: #c50f1f;
  --colorStatusDangerForegroundInverted: #dc626d;
  --colorStatusDangerBorderActive: #c50f1f;
  --colorStatusDangerBorder1: #eeacb2;
  --colorStatusDangerBorder2: #c50f1f;
  --shadow2: 0 0 2px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.14);
  --shadow4: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.14);
  --shadow8: 0 0 2px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.14);
  --shadow16: 0 0 2px rgba(0, 0, 0, 0.12), 0 8px 16px rgba(0, 0, 0, 0.14);
  --shadow28: 0 0 8px rgba(0, 0, 0, 0.12), 0 14px 28px rgba(0, 0, 0, 0.14);
  --shadow64: 0 0 8px rgba(0, 0, 0, 0.12), 0 32px 64px rgba(0, 0, 0, 0.14);
  --shadow2Brand: 0 0 2px rgba(0, 0, 0, 0.3), 0 1px 2px rgba(0, 0, 0, 0.25);
  --shadow4Brand: 0 0 2px rgba(0, 0, 0, 0.3), 0 2px 4px rgba(0, 0, 0, 0.25);
  --shadow8Brand: 0 0 2px rgba(0, 0, 0, 0.3), 0 4px 8px rgba(0, 0, 0, 0.25);
  --shadow16Brand: 0 0 2px rgba(0, 0, 0, 0.3), 0 8px 16px rgba(0, 0, 0, 0.25);
  --shadow28Brand: 0 0 8px rgba(0, 0, 0, 0.3), 0 14px 28px rgba(0, 0, 0, 0.25);
  --shadow64Brand: 0 0 8px rgba(0, 0, 0, 0.3), 0 32px 64px rgba(0, 0, 0, 0.25);

  --color-primary: #1d4ed8;
  --color-secondary: #f97316;
  --color-info: #0000ff;
  --color-success: #00ff00;
  --color-warning: #00ff00;
  --color-error: #ff0000;
}

/* 暗色主题 */

/**
 * Fluent Design Dark Theme Tokens
 * 基于 @fluentui/tokens 的 webDarkTheme
 */

:root[data-theme='dark'] {
  /* 覆盖为暗色主题的关键颜色 */
  --colorNeutralForeground1: #ffffff;
  --colorNeutralForeground1Hover: #ffffff;
  --colorNeutralForeground1Pressed: #ffffff;
  --colorNeutralForeground1Selected: #ffffff;

  --colorNeutralForeground2: #d6d6d6;
  --colorNeutralForeground2Hover: #ffffff;
  --colorNeutralForeground2Pressed: #ffffff;
  --colorNeutralForeground2Selected: #ffffff;

  --colorNeutralForeground3: #a8a8a8;
  --colorNeutralForeground3Hover: #d6d6d6;
  --colorNeutralForeground3Pressed: #d6d6d6;
  --colorNeutralForeground3Selected: #d6d6d6;

  --colorNeutralForeground4: #8f8f8f;
  --colorNeutralForegroundDisabled: #575757;

  --colorNeutralBackground1: #1b1b1b;
  --colorNeutralBackground1Hover: #292929;
  --colorNeutralBackground1Pressed: #323232;
  --colorNeutralBackground1Selected: #262626;

  --colorNeutralBackground2: #242424;
  --colorNeutralBackground2Hover: #323232;
  --colorNeutralBackground2Pressed: #3c3c3c;
  --colorNeutralBackground2Selected: #2d2d2d;

  --colorNeutralBackground3: #292929;
  --colorNeutralBackground3Hover: #262626;
  --colorNeutralBackground3Pressed: #323232;
  --colorNeutralBackground3Selected: #2d2d2d;

  --colorNeutralBackground4: #2d2d2d;
  --colorNeutralBackground4Hover: #242424;
  --colorNeutralBackground4Pressed: #292929;
  --colorNeutralBackground4Selected: #1b1b1b;

  --colorNeutralBackground5: #262626;
  --colorNeutralBackground5Hover: #292929;
  --colorNeutralBackground5Pressed: #2d2d2d;
  --colorNeutralBackground5Selected: #242424;

  --colorNeutralBackground6: #2d2d2d;

  --colorNeutralBackgroundInverted: #ffffff;
  --colorNeutralBackgroundStatic: #ffffff;

  --colorBrandForeground1: #479ef5;
  --colorBrandForeground2: #62abf5;
  --colorBrandForeground2Hover: #479ef5;
  --colorBrandForeground2Pressed: #1893f7;

  --colorBrandBackground: #479ef5;
  --colorBrandBackgroundHover: #62abf5;
  --colorBrandBackgroundPressed: #1893f7;
  --colorBrandBackgroundSelected: #3aa1f9;

  --colorBrandForegroundInverted: #0f6cbd;
  --colorBrandForegroundInvertedHover: #115ea3;
  --colorBrandForegroundInvertedPressed: #0a2e4a;

  --colorNeutralStrokeAccessible: #b8b8b8;
  --colorNeutralStrokeAccessibleHover: #c8c8c8;
  --colorNeutralStrokeAccessiblePressed: #d8d8d8;

  --colorNeutralStroke1: #5c5c5c;
  --colorNeutralStroke1Hover: #6e6e6e;
  --colorNeutralStroke1Pressed: #828282;

  --colorNeutralStroke2: #4b4b4b;
  --colorNeutralStroke3: #3c3c3c;

  --colorNeutralStrokeOnBrand: #ffffff;
  --colorNeutralStrokeOnBrand2: #ffffff;
  --colorNeutralStrokeOnBrand2Hover: #ffffff;
  --colorNeutralStrokeOnBrand2Pressed: #ffffff;
  --colorNeutralStrokeOnBrand2Selected: #ffffff;

  --colorNeutralStrokeDisabled: #3c3c3c;
  --colorNeutralStrokeInvertedDisabled: rgba(0, 0, 0, 0.4);

  --colorNeutralShadowAmbient: rgba(0, 0, 0, 0.36);
  --colorNeutralShadowKey: rgba(0, 0, 0, 0.42);

  --colorBrandShadowAmbient: rgba(0, 0, 0, 0.4);
  --colorBrandShadowKey: rgba(0, 0, 0, 0.3);
}

/* Teams 亮色主题 */

/**
 * Fluent Design Teams Light Theme Tokens
 * 基于 @fluentui/tokens 的 teamsLightTheme
 */

:root[data-theme='teams-light'] {
  /* Teams 品牌色 */
  --colorBrandForeground1: #6264a7;
  --colorBrandForeground2: #5c5fc0;
  --colorBrandForeground2Hover: #6264a7;
  --colorBrandForeground2Pressed: #464775;

  --colorBrandBackground: #6264a7;
  --colorBrandBackgroundHover: #5c5fc0;
  --colorBrandBackgroundPressed: #464775;
  --colorBrandBackgroundSelected: #6264a7;

  --colorBrandStroke1: #6264a7;
  --colorBrandStroke2: #c8c8e3;
  --colorBrandStroke2Hover: #6264a7;
  --colorBrandStroke2Pressed: #6264a7;
}

/* Teams 暗色主题 */

/**
 * Fluent Design Teams Dark Theme Tokens
 * 基于 @fluentui/tokens 的 teamsDarkTheme
 */

:root[data-theme='teams-dark'] {
  /* Teams 暗色主题 */
  --colorNeutralForeground1: #ffffff;
  --colorNeutralForeground1Hover: #ffffff;
  --colorNeutralForeground1Pressed: #ffffff;
  --colorNeutralForeground1Selected: #ffffff;

  --colorNeutralForeground2: #d6d6d6;
  --colorNeutralForeground2Hover: #ffffff;
  --colorNeutralForeground2Pressed: #ffffff;
  --colorNeutralForeground2Selected: #ffffff;

  --colorNeutralBackground1: #1b1b1b;
  --colorNeutralBackground1Hover: #292929;
  --colorNeutralBackground1Pressed: #323232;
  --colorNeutralBackground1Selected: #262626;

  /* Teams 品牌色 */
  --colorBrandForeground1: #9f9fdf;
  --colorBrandForeground2: #b4b6ef;
  --colorBrandForeground2Hover: #9f9fdf;
  --colorBrandForeground2Pressed: #8789ce;

  --colorBrandBackground: #9f9fdf;
  --colorBrandBackgroundHover: #b4b6ef;
  --colorBrandBackgroundPressed: #8789ce;
  --colorBrandBackgroundSelected: #9f9fdf;

  --colorBrandStroke1: #9f9fdf;
  --colorBrandStroke2: #9f9fdf;
  --colorBrandStroke2Hover: #9f9fdf;
  --colorBrandStroke2Pressed: #9f9fdf;
}

/* 以下是通用基础样式 */
* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: var(--fontFamilyBase);
}

/* Semantic base class - base styles */
.t-label {
  display: inline-block;
  font-size: var(--fontSizeBase300);
  font-weight: var(--fontWeightSemibold);
  color: var(--colorNeutralForeground1);
  margin-bottom: var(--spacingVerticalXXS);
  box-sizing: border-box;
}

/* Size variations */
.t-label--small {
  font-size: var(--fontSizeBase200);
}

.t-label--large {
  font-size: var(--fontSizeBase400);
}

/* Weight variations */
.t-label--normal {
  font-weight: var(--fontWeightNormal);
}

.t-label--bold {
  font-weight: var(--fontWeightBold);
}

/* Disabled state */
.t-label.disabled {
  color: var(--colorNeutralForegroundDisabled);
  cursor: not-allowed;
}

/* Required indicator */
.t-label__required-indicator {
  color: var(--colorPaletteRedBorder1);
  margin-left: var(--spacingHorizontalXS);
}

/* Hover state - when label is interactive */
.t-label:not(.disabled):hover {
  cursor: pointer;
}

/* Focus-within state - when associated input is focused */
.t-label:focus-within {
  outline: none;
}
/**
 * Tooltip 样式
 *
 * 迁移前这个文件里 `.t-tooltip` 与 `.t-tooltip__content` 都是**空规则**，
 * 注释还写着「All styles applied by Griffel」—— 但 Griffel 早已移除。
 * 结果是 Tooltip 完全没有背景、阴影与圆角，视觉上是坏的。这里补齐。
 *
 * 浮层容器同时带 `.t-popover__content`（提供定位与基础浮层外观）
 * 与 `.t-tooltip`（提供 tooltip 特有配色）。用复合选择器提高特异性，
 * 保证不受引入顺序影响。
 */

.t-popover__content.t-tooltip {
  padding: var(--spacingVerticalSNudge) var(--spacingHorizontalMNudge);
  border: none;
  border-radius: var(--borderRadiusMedium);

  background-color: var(--colorNeutralBackgroundInverted);
  color: var(--colorNeutralForegroundInverted);
  box-shadow: var(--shadow8);

  font-size: var(--fontSizeBase200);
  line-height: var(--lineHeightBase200);
}

/* ========== relationship 变体 ========== */
/* 与基础规则特异性相同，靠源码顺序覆盖（popover.css 在前，本文件在后） */

.t-popover__content.t-tooltip--label {
  background-color: var(--colorBrandBackground);
  color: var(--colorNeutralForegroundOnBrand);
}

.t-popover__content.t-tooltip--inaccessible {
  background-color: var(--colorNeutralBackground3);
  color: var(--colorNeutralForeground1);
}

/* ========== 内容与箭头 ========== */

.t-tooltip__content {
  /* 换行与最大宽度由内联样式下发（对应 maxWidth / wrapText 两个 prop） */
  word-break: break-word;
}

/* 箭头位置由 Popover 的内联样式计算，这里只管尺寸与配色 */
.t-tooltip__arrow {
  width: 8px;
  height: 8px;
  background-color: var(--colorNeutralBackgroundInverted);
  transform: rotate(45deg);
}

.t-tooltip--label .t-tooltip__arrow {
  background-color: var(--colorBrandBackground);
}

.t-tooltip--inaccessible .t-tooltip__arrow {
  background-color: var(--colorNeutralBackground3);
}

/* ========== 触发元素包装器 ========== */

.t-tooltip-trigger {
  display: inline-block;
}

/* ========== 减少动效偏好 ========== */

@media (prefers-reduced-motion: reduce) {
  .t-popover__content.t-tooltip {
    transition-duration: 0.01ms;
  }
}
.t-tablist {
  --tab-border-color: #d1d1d1;
  --tab-radius: 0.5rem;
  display: grid;
  align-items: flex-end;
}

  .t-tablist .t-tablist-tab {
    position: relative;
    grid-row-start: 1;
    display: inline-flex;
    height: 2rem;
    cursor: pointer;
    appearance: none;
    user-select: none;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 0.875rem;
    line-height: 1.25rem;
    line-height: 2;
    border: 1px solid transparent;
    border-width: 0 0 1px;
    border-start-start-radius: 1em;
    border-start-end-radius: 1em;
    border-bottom-color: #d1d1d1;
    color: #161616;
  }

  .t-tablist .t-tablist-tab:is(.t-tab-active, [aria-selected='true']):not(.tab-disabled):not([disabled]) {
      background-color: #fff;
      border-width: 1px 1px 0;
      border-inline-start-color: var(--tab-border-color);
      border-inline-end-color: var(--tab-border-color);
      border-top-color: var(--tab-border-color);
    }

  .t-tablist .t-tablist-tab:is(.t-tab-active, [aria-selected='true']):not(.tab-disabled):not([disabled]):before {
      z-index: 1;
      content: '';
      display: block;
      position: absolute;
      width: calc(100% + var(--tab-radius, 0.5rem)* 2);
      height: var(--tab-radius, 0.5rem);
      bottom: 0;
      background-size: var(--tab-radius, 0.5rem);
      background-position:
        top left,
        top right;
      background-repeat: no-repeat;
      --tab-grad: calc(69% - 1px);
      --radius-start: radial-gradient(
        circle at top left,
        transparent var(--tab-grad),
        var(--tab-border-color) calc(var(--tab-grad) + 0.25px),
        var(--tab-border-color) calc(var(--tab-grad) + var(--tab-border, 1px)),
        var(--tab-bg) calc(var(--tab-grad) + var(--tab-border, 1px) + 0.25px)
      );
      --radius-end: radial-gradient(
        circle at top right,
        transparent var(--tab-grad),
        var(--tab-border-color) calc(var(--tab-grad) + 0.25px),
        var(--tab-border-color) calc(var(--tab-grad) + var(--tab-border, 1px)),
        var(--tab-bg) calc(var(--tab-grad) + var(--tab-border, 1px) + 0.25px)
      );
      background-image: var(--radius-start), var(--radius-end);
    }

  .t-tablist .t-tablist-tab .tab-close {
      position: absolute;
      right: 8px;
      top: 8px;
      width: 16px;
      height: 16px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
    }

  .t-tablist .t-tablist-tab .tab-close:hover {
        background-color: var(--colorBrandForeground1);
        color: white;
      }
/**
 * Fluent Design Base Styles
 * 导入主题令牌和通用基础样式
 */

/* 导入所有主题令牌 */

/**
 * Fluent Design Theme Tokens
 * 导入所有主题变量
 */

/* 默认亮色主题 */

:root {
  --borderRadiusNone: 0;
  --borderRadiusSmall: 2px;
  --borderRadiusMedium: 4px;
  --borderRadiusLarge: 6px;
  --borderRadiusXLarge: 8px;
  --borderRadiusCircular: 10000px;
  --fontSizeBase100: 10px;
  --fontSizeBase200: 12px;
  --fontSizeBase300: 14px;
  --fontSizeBase400: 16px;
  --fontSizeBase500: 20px;
  --fontSizeBase600: 24px;
  --fontSizeHero700: 28px;
  --fontSizeHero800: 32px;
  --fontSizeHero900: 40px;
  --fontSizeHero1000: 68px;
  --lineHeightBase100: 14px;
  --lineHeightBase200: 16px;
  --lineHeightBase300: 20px;
  --lineHeightBase400: 22px;
  --lineHeightBase500: 28px;
  --lineHeightBase600: 32px;
  --lineHeightHero700: 36px;
  --lineHeightHero800: 40px;
  --lineHeightHero900: 52px;
  --lineHeightHero1000: 92px;
  --fontFamilyBase:
    'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto,
    'Helvetica Neue', sans-serif;
  --fontFamilyMonospace: Consolas, 'Courier New', Courier, monospace;
  --fontFamilyNumeric:
    Bahnschrift, 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont,
    Roboto, 'Helvetica Neue', sans-serif;
  --fontWeightRegular: 400;
  --fontWeightMedium: 500;
  --fontWeightSemibold: 600;
  --fontWeightBold: 700;
  --strokeWidthThin: 1px;
  --strokeWidthThick: 2px;
  --strokeWidthThicker: 3px;
  --strokeWidthThickest: 4px;
  --spacingHorizontalNone: 0;
  --spacingHorizontalXXS: 2px;
  --spacingHorizontalXS: 4px;
  --spacingHorizontalSNudge: 6px;
  --spacingHorizontalS: 8px;
  --spacingHorizontalMNudge: 10px;
  --spacingHorizontalM: 12px;
  --spacingHorizontalL: 16px;
  --spacingHorizontalXL: 20px;
  --spacingHorizontalXXL: 24px;
  --spacingHorizontalXXXL: 32px;
  --spacingVerticalNone: 0;
  --spacingVerticalXXS: 2px;
  --spacingVerticalXS: 4px;
  --spacingVerticalSNudge: 6px;
  --spacingVerticalS: 8px;
  --spacingVerticalMNudge: 10px;
  --spacingVerticalM: 12px;
  --spacingVerticalL: 16px;
  --spacingVerticalXL: 20px;
  --spacingVerticalXXL: 24px;
  --spacingVerticalXXXL: 32px;
  --durationUltraFast: 50ms;
  --durationFaster: 100ms;
  --durationFast: 150ms;
  --durationNormal: 200ms;
  --durationGentle: 250ms;
  --durationSlow: 300ms;
  --durationSlower: 400ms;
  --durationUltraSlow: 500ms;
  --curveAccelerateMax: cubic-bezier(1, 0, 1, 1);
  --curveAccelerateMid: cubic-bezier(0.7, 0, 1, 0.5);
  --curveAccelerateMin: cubic-bezier(0.8, 0, 1, 1);
  --curveDecelerateMax: cubic-bezier(0, 0, 0, 1);
  --curveDecelerateMid: cubic-bezier(0.1, 0.9, 0.2, 1);
  --curveDecelerateMin: cubic-bezier(0.33, 0, 0.1, 1);
  --curveEasyEaseMax: cubic-bezier(0.8, 0, 0.1, 1);
  --curveEasyEase: cubic-bezier(0.33, 0, 0.67, 1);
  --curveLinear: cubic-bezier(0, 0, 1, 1);
  --colorNeutralForeground1: #242424;
  --colorNeutralForeground1Hover: #242424;
  --colorNeutralForeground1Pressed: #242424;
  --colorNeutralForeground1Selected: #242424;
  --colorNeutralForeground2: #424242;
  --colorNeutralForeground2Hover: #242424;
  --colorNeutralForeground2Pressed: #242424;
  --colorNeutralForeground2Selected: #242424;
  --colorNeutralForeground2BrandHover: #0f6cbd;
  --colorNeutralForeground2BrandPressed: #115ea3;
  --colorNeutralForeground2BrandSelected: #0f6cbd;
  --colorNeutralForeground3: #616161;
  --colorNeutralForeground3Hover: #424242;
  --colorNeutralForeground3Pressed: #424242;
  --colorNeutralForeground3Selected: #424242;
  --colorNeutralForeground3BrandHover: #0f6cbd;
  --colorNeutralForeground3BrandPressed: #115ea3;
  --colorNeutralForeground3BrandSelected: #0f6cbd;
  --colorNeutralForeground4: #707070;
  --colorNeutralForegroundDisabled: #bdbdbd;
  --colorNeutralForegroundInvertedDisabled: rgba(255, 255, 255, 0.4);
  --colorBrandForegroundLink: #115ea3;
  --colorBrandForegroundLinkHover: #0f548c;
  --colorBrandForegroundLinkPressed: #0c3b5e;
  --colorBrandForegroundLinkSelected: #115ea3;
  --colorNeutralForeground2Link: #424242;
  --colorNeutralForeground2LinkHover: #242424;
  --colorNeutralForeground2LinkPressed: #242424;
  --colorNeutralForeground2LinkSelected: #242424;
  --colorCompoundBrandForeground1: #0f6cbd;
  --colorCompoundBrandForeground1Hover: #115ea3;
  --colorCompoundBrandForeground1Pressed: #0f548c;
  --colorBrandForeground1: #0f6cbd;
  --colorBrandForeground2: #115ea3;
  --colorBrandForeground2Hover: #0f548c;
  --colorBrandForeground2Pressed: #0a2e4a;
  --colorNeutralForeground1Static: #242424;
  --colorNeutralForegroundStaticInverted: #ffffff;
  --colorNeutralForegroundInverted: #ffffff;
  --colorNeutralForegroundInvertedHover: #ffffff;
  --colorNeutralForegroundInvertedPressed: #ffffff;
  --colorNeutralForegroundInvertedSelected: #ffffff;
  --colorNeutralForegroundInverted2: #ffffff;
  --colorNeutralForegroundOnBrand: #ffffff;
  --colorNeutralForegroundInvertedLink: #ffffff;
  --colorNeutralForegroundInvertedLinkHover: #ffffff;
  --colorNeutralForegroundInvertedLinkPressed: #ffffff;
  --colorNeutralForegroundInvertedLinkSelected: #ffffff;
  --colorBrandForegroundInverted: #479ef5;
  --colorBrandForegroundInvertedHover: #62abf5;
  --colorBrandForegroundInvertedPressed: #479ef5;
  --colorBrandForegroundOnLight: #0f6cbd;
  --colorBrandForegroundOnLightHover: #115ea3;
  --colorBrandForegroundOnLightPressed: #0e4775;
  --colorBrandForegroundOnLightSelected: #0f548c;
  --colorNeutralBackground1: #ffffff;
  --colorNeutralBackground1Hover: #f5f5f5;
  --colorNeutralBackground1Pressed: #e0e0e0;
  --colorNeutralBackground1Selected: #ebebeb;
  --colorNeutralBackground2: #fafafa;
  --colorNeutralBackground2Hover: #f0f0f0;
  --colorNeutralBackground2Pressed: #dbdbdb;
  --colorNeutralBackground2Selected: #e6e6e6;
  --colorNeutralBackground3: #f5f5f5;
  --colorNeutralBackground3Hover: #ebebeb;
  --colorNeutralBackground3Pressed: #d6d6d6;
  --colorNeutralBackground3Selected: #e0e0e0;
  --colorNeutralBackground4: #f0f0f0;
  --colorNeutralBackground4Hover: #fafafa;
  --colorNeutralBackground4Pressed: #f5f5f5;
  --colorNeutralBackground4Selected: #ffffff;
  --colorNeutralBackground5: #ebebeb;
  --colorNeutralBackground5Hover: #f5f5f5;
  --colorNeutralBackground5Pressed: #f0f0f0;
  --colorNeutralBackground5Selected: #fafafa;
  --colorNeutralBackground6: #e6e6e6;
  --colorNeutralBackgroundInverted: #292929;
  --colorNeutralBackgroundStatic: #333333;
  --colorNeutralBackgroundAlpha: rgba(255, 255, 255, 0.5);
  --colorNeutralBackgroundAlpha2: rgba(255, 255, 255, 0.8);
  --colorSubtleBackground: transparent;
  --colorSubtleBackgroundHover: #f5f5f5;
  --colorSubtleBackgroundPressed: #e0e0e0;
  --colorSubtleBackgroundSelected: #ebebeb;
  --colorSubtleBackgroundLightAlphaHover: rgba(255, 255, 255, 0.7);
  --colorSubtleBackgroundLightAlphaPressed: rgba(255, 255, 255, 0.5);
  --colorSubtleBackgroundLightAlphaSelected: transparent;
  --colorSubtleBackgroundInverted: transparent;
  --colorSubtleBackgroundInvertedHover: rgba(0, 0, 0, 0.1);
  --colorSubtleBackgroundInvertedPressed: rgba(0, 0, 0, 0.3);
  --colorSubtleBackgroundInvertedSelected: rgba(0, 0, 0, 0.2);
  --colorTransparentBackground: transparent;
  --colorTransparentBackgroundHover: transparent;
  --colorTransparentBackgroundPressed: transparent;
  --colorTransparentBackgroundSelected: transparent;
  --colorNeutralBackgroundDisabled: #f0f0f0;
  --colorNeutralBackgroundInvertedDisabled: rgba(255, 255, 255, 0.1);
  --colorNeutralStencil1: #e6e6e6;
  --colorNeutralStencil2: #fafafa;
  --colorNeutralStencil1Alpha: rgba(0, 0, 0, 0.1);
  --colorNeutralStencil2Alpha: rgba(0, 0, 0, 0.05);
  --colorBackgroundOverlay: rgba(0, 0, 0, 0.4);
  --colorScrollbarOverlay: rgba(0, 0, 0, 0.5);
  --colorBrandBackground: #0f6cbd;
  --colorBrandBackgroundHover: #115ea3;
  --colorBrandBackgroundPressed: #0c3b5e;
  --colorBrandBackgroundSelected: #0f548c;
  --colorCompoundBrandBackground: #0f6cbd;
  --colorCompoundBrandBackgroundHover: #115ea3;
  --colorCompoundBrandBackgroundPressed: #0f548c;
  --colorBrandBackgroundStatic: #0f6cbd;
  --colorBrandBackground2: #ebf3fc;
  --colorBrandBackground2Hover: #cfe4fa;
  --colorBrandBackground2Pressed: #96c6fa;
  --colorBrandBackgroundInverted: #ffffff;
  --colorBrandBackgroundInvertedHover: #ebf3fc;
  --colorBrandBackgroundInvertedPressed: #b4d6fa;
  --colorBrandBackgroundInvertedSelected: #cfe4fa;
  --colorNeutralStrokeAccessible: #616161;
  --colorNeutralStrokeAccessibleHover: #575757;
  --colorNeutralStrokeAccessiblePressed: #4d4d4d;
  --colorNeutralStrokeAccessibleSelected: #0f6cbd;
  --colorNeutralStroke1: #d1d1d1;
  --colorNeutralStroke1Hover: #c7c7c7;
  --colorNeutralStroke1Pressed: #b3b3b3;
  --colorNeutralStroke1Selected: #bdbdbd;
  --colorNeutralStroke2: #e0e0e0;
  --colorNeutralStroke3: #f0f0f0;
  --colorNeutralStrokeSubtle: #e0e0e0;
  --colorNeutralStrokeOnBrand: #ffffff;
  --colorNeutralStrokeOnBrand2: #ffffff;
  --colorNeutralStrokeOnBrand2Hover: #ffffff;
  --colorNeutralStrokeOnBrand2Pressed: #ffffff;
  --colorNeutralStrokeOnBrand2Selected: #ffffff;
  --colorBrandStroke1: #0f6cbd;
  --colorBrandStroke2: #b4d6fa;
  --colorBrandStroke2Hover: #77b7f7;
  --colorBrandStroke2Pressed: #0f6cbd;
  --colorBrandStroke2Contrast: #b4d6fa;
  --colorCompoundBrandStroke: #0f6cbd;
  --colorCompoundBrandStrokeHover: #115ea3;
  --colorCompoundBrandStrokePressed: #0f548c;
  --colorNeutralStrokeDisabled: #e0e0e0;
  --colorNeutralStrokeInvertedDisabled: rgba(255, 255, 255, 0.4);
  --colorTransparentStroke: transparent;
  --colorTransparentStrokeInteractive: transparent;
  --colorTransparentStrokeDisabled: transparent;
  --colorNeutralStrokeAlpha: rgba(0, 0, 0, 0.05);
  --colorNeutralStrokeAlpha2: rgba(255, 255, 255, 0.2);
  --colorStrokeFocus1: #ffffff;
  --colorStrokeFocus2: #000000;
  --colorNeutralShadowAmbient: rgba(0, 0, 0, 0.12);
  --colorNeutralShadowKey: rgba(0, 0, 0, 0.14);
  --colorNeutralShadowAmbientLighter: rgba(0, 0, 0, 0.06);
  --colorNeutralShadowKeyLighter: rgba(0, 0, 0, 0.07);
  --colorNeutralShadowAmbientDarker: rgba(0, 0, 0, 0.2);
  --colorNeutralShadowKeyDarker: rgba(0, 0, 0, 0.24);
  --colorBrandShadowAmbient: rgba(0, 0, 0, 0.3);
  --colorBrandShadowKey: rgba(0, 0, 0, 0.25);
  --colorPaletteRedBackground1: #fdf6f6;
  --colorPaletteRedBackground2: #f1bbbc;
  --colorPaletteRedBackground3: #d13438;
  --colorPaletteRedForeground1: #bc2f32;
  --colorPaletteRedForeground2: #751d1f;
  --colorPaletteRedForeground3: #d13438;
  --colorPaletteRedBorderActive: #d13438;
  --colorPaletteRedBorder1: #f1bbbc;
  --colorPaletteRedBorder2: #d13438;
  --colorPaletteGreenBackground1: #f1faf1;
  --colorPaletteGreenBackground2: #9fd89f;
  --colorPaletteGreenBackground3: #107c10;
  --colorPaletteGreenForeground1: #0e700e;
  --colorPaletteGreenForeground2: #094509;
  --colorPaletteGreenForeground3: #107c10;
  --colorPaletteGreenBorderActive: #107c10;
  --colorPaletteGreenBorder1: #9fd89f;
  --colorPaletteGreenBorder2: #107c10;
  --colorPaletteDarkOrangeBackground1: #fdf6f3;
  --colorPaletteDarkOrangeBackground2: #f4bfab;
  --colorPaletteDarkOrangeBackground3: #da3b01;
  --colorPaletteDarkOrangeForeground1: #c43501;
  --colorPaletteDarkOrangeForeground2: #7a2101;
  --colorPaletteDarkOrangeForeground3: #da3b01;
  --colorPaletteDarkOrangeBorderActive: #da3b01;
  --colorPaletteDarkOrangeBorder1: #f4bfab;
  --colorPaletteDarkOrangeBorder2: #da3b01;
  --colorPaletteYellowBackground1: #fffef5;
  --colorPaletteYellowBackground2: #fef7b2;
  --colorPaletteYellowBackground3: #fde300;
  --colorPaletteYellowForeground1: #817400;
  --colorPaletteYellowForeground2: #817400;
  --colorPaletteYellowForeground3: #fde300;
  --colorPaletteYellowBorderActive: #fde300;
  --colorPaletteYellowBorder1: #fef7b2;
  --colorPaletteYellowBorder2: #fde300;
  --colorPaletteBerryBackground1: #fdf5fc;
  --colorPaletteBerryBackground2: #edbbe7;
  --colorPaletteBerryBackground3: #c239b3;
  --colorPaletteBerryForeground1: #af33a1;
  --colorPaletteBerryForeground2: #6d2064;
  --colorPaletteBerryForeground3: #c239b3;
  --colorPaletteBerryBorderActive: #c239b3;
  --colorPaletteBerryBorder1: #edbbe7;
  --colorPaletteBerryBorder2: #c239b3;
  --colorPaletteLightGreenBackground1: #f2fbf2;
  --colorPaletteLightGreenBackground2: #a7e3a5;
  --colorPaletteLightGreenBackground3: #13a10e;
  --colorPaletteLightGreenForeground1: #11910d;
  --colorPaletteLightGreenForeground2: #0b5a08;
  --colorPaletteLightGreenForeground3: #13a10e;
  --colorPaletteLightGreenBorderActive: #13a10e;
  --colorPaletteLightGreenBorder1: #a7e3a5;
  --colorPaletteLightGreenBorder2: #13a10e;
  --colorPaletteMarigoldBackground1: #fefbf4;
  --colorPaletteMarigoldBackground2: #f9e2ae;
  --colorPaletteMarigoldBackground3: #eaa300;
  --colorPaletteMarigoldForeground1: #d39300;
  --colorPaletteMarigoldForeground2: #835b00;
  --colorPaletteMarigoldForeground3: #eaa300;
  --colorPaletteMarigoldBorderActive: #eaa300;
  --colorPaletteMarigoldBorder1: #f9e2ae;
  --colorPaletteMarigoldBorder2: #eaa300;
  --colorPaletteRedForegroundInverted: #dc5e62;
  --colorPaletteGreenForegroundInverted: #359b35;
  --colorPaletteYellowForegroundInverted: #fef7b2;
  --colorPaletteDarkRedBackground2: #d69ca5;
  --colorPaletteDarkRedForeground2: #420610;
  --colorPaletteDarkRedBorderActive: #750b1c;
  --colorPaletteCranberryBackground2: #eeacb2;
  --colorPaletteCranberryForeground2: #6e0811;
  --colorPaletteCranberryBorderActive: #c50f1f;
  --colorPalettePumpkinBackground2: #efc4ad;
  --colorPalettePumpkinForeground2: #712d09;
  --colorPalettePumpkinBorderActive: #ca5010;
  --colorPalettePeachBackground2: #ffddb3;
  --colorPalettePeachForeground2: #8f4e00;
  --colorPalettePeachBorderActive: #ff8c00;
  --colorPaletteGoldBackground2: #ecdfa5;
  --colorPaletteGoldForeground2: #6c5700;
  --colorPaletteGoldBorderActive: #c19c00;
  --colorPaletteBrassBackground2: #e0cea2;
  --colorPaletteBrassForeground2: #553e06;
  --colorPaletteBrassBorderActive: #986f0b;
  --colorPaletteBrownBackground2: #ddc3b0;
  --colorPaletteBrownForeground2: #50301a;
  --colorPaletteBrownBorderActive: #8e562e;
  --colorPaletteForestBackground2: #bdd99b;
  --colorPaletteForestForeground2: #294903;
  --colorPaletteForestBorderActive: #498205;
  --colorPaletteSeafoamBackground2: #a8f0cd;
  --colorPaletteSeafoamForeground2: #00723b;
  --colorPaletteSeafoamBorderActive: #00cc6a;
  --colorPaletteDarkGreenBackground2: #9ad29a;
  --colorPaletteDarkGreenForeground2: #063b06;
  --colorPaletteDarkGreenBorderActive: #0b6a0b;
  --colorPaletteLightTealBackground2: #a6e9ed;
  --colorPaletteLightTealForeground2: #00666d;
  --colorPaletteLightTealBorderActive: #00b7c3;
  --colorPaletteTealBackground2: #9bd9db;
  --colorPaletteTealForeground2: #02494c;
  --colorPaletteTealBorderActive: #038387;
  --colorPaletteSteelBackground2: #94c8d4;
  --colorPaletteSteelForeground2: #00333f;
  --colorPaletteSteelBorderActive: #005b70;
  --colorPaletteBlueBackground2: #a9d3f2;
  --colorPaletteBlueForeground2: #004377;
  --colorPaletteBlueBorderActive: #0078d4;
  --colorPaletteRoyalBlueBackground2: #9abfdc;
  --colorPaletteRoyalBlueForeground2: #002c4e;
  --colorPaletteRoyalBlueBorderActive: #004e8c;
  --colorPaletteCornflowerBackground2: #c8d1fa;
  --colorPaletteCornflowerForeground2: #2c3c85;
  --colorPaletteCornflowerBorderActive: #4f6bed;
  --colorPaletteNavyBackground2: #a3b2e8;
  --colorPaletteNavyForeground2: #001665;
  --colorPaletteNavyBorderActive: #0027b4;
  --colorPaletteLavenderBackground2: #d2ccf8;
  --colorPaletteLavenderForeground2: #3f3682;
  --colorPaletteLavenderBorderActive: #7160e8;
  --colorPalettePurpleBackground2: #c6b1de;
  --colorPalettePurpleForeground2: #341a51;
  --colorPalettePurpleBorderActive: #5c2e91;
  --colorPaletteGrapeBackground2: #d9a7e0;
  --colorPaletteGrapeForeground2: #4c0d55;
  --colorPaletteGrapeBorderActive: #881798;
  --colorPaletteLilacBackground2: #e6bfed;
  --colorPaletteLilacForeground2: #63276d;
  --colorPaletteLilacBorderActive: #b146c2;
  --colorPalettePinkBackground2: #f7c0e3;
  --colorPalettePinkForeground2: #80215d;
  --colorPalettePinkBorderActive: #e43ba6;
  --colorPaletteMagentaBackground2: #eca5d1;
  --colorPaletteMagentaForeground2: #6b0043;
  --colorPaletteMagentaBorderActive: #bf0077;
  --colorPalettePlumBackground2: #d696c0;
  --colorPalettePlumForeground2: #43002b;
  --colorPalettePlumBorderActive: #77004d;
  --colorPaletteBeigeBackground2: #d7d4d4;
  --colorPaletteBeigeForeground2: #444241;
  --colorPaletteBeigeBorderActive: #7a7574;
  --colorPaletteMinkBackground2: #cecccb;
  --colorPaletteMinkForeground2: #343231;
  --colorPaletteMinkBorderActive: #5d5a58;
  --colorPalettePlatinumBackground2: #cdd6d8;
  --colorPalettePlatinumForeground2: #3b4447;
  --colorPalettePlatinumBorderActive: #69797e;
  --colorPaletteAnchorBackground2: #bcc3c7;
  --colorPaletteAnchorForeground2: #202427;
  --colorPaletteAnchorBorderActive: #394146;
  --colorStatusSuccessBackground1: #f1faf1;
  --colorStatusSuccessBackground2: #9fd89f;
  --colorStatusSuccessBackground3: #107c10;
  --colorStatusSuccessForeground1: #0e700e;
  --colorStatusSuccessForeground2: #094509;
  --colorStatusSuccessForeground3: #107c10;
  --colorStatusSuccessForegroundInverted: #54b054;
  --colorStatusSuccessBorderActive: #107c10;
  --colorStatusSuccessBorder1: #9fd89f;
  --colorStatusSuccessBorder2: #107c10;
  --colorStatusWarningBackground1: #fff9f5;
  --colorStatusWarningBackground2: #fdcfb4;
  --colorStatusWarningBackground3: #f7630c;
  --colorStatusWarningForeground1: #bc4b09;
  --colorStatusWarningForeground2: #8a3707;
  --colorStatusWarningForeground3: #bc4b09;
  --colorStatusWarningForegroundInverted: #faa06b;
  --colorStatusWarningBorderActive: #f7630c;
  --colorStatusWarningBorder1: #fdcfb4;
  --colorStatusWarningBorder2: #bc4b09;
  --colorStatusDangerBackground1: #fdf3f4;
  --colorStatusDangerBackground2: #eeacb2;
  --colorStatusDangerBackground3: #c50f1f;
  --colorStatusDangerForeground1: #b10e1c;
  --colorStatusDangerForeground2: #6e0811;
  --colorStatusDangerForeground3: #c50f1f;
  --colorStatusDangerForegroundInverted: #dc626d;
  --colorStatusDangerBorderActive: #c50f1f;
  --colorStatusDangerBorder1: #eeacb2;
  --colorStatusDangerBorder2: #c50f1f;
  --shadow2: 0 0 2px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.14);
  --shadow4: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.14);
  --shadow8: 0 0 2px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.14);
  --shadow16: 0 0 2px rgba(0, 0, 0, 0.12), 0 8px 16px rgba(0, 0, 0, 0.14);
  --shadow28: 0 0 8px rgba(0, 0, 0, 0.12), 0 14px 28px rgba(0, 0, 0, 0.14);
  --shadow64: 0 0 8px rgba(0, 0, 0, 0.12), 0 32px 64px rgba(0, 0, 0, 0.14);
  --shadow2Brand: 0 0 2px rgba(0, 0, 0, 0.3), 0 1px 2px rgba(0, 0, 0, 0.25);
  --shadow4Brand: 0 0 2px rgba(0, 0, 0, 0.3), 0 2px 4px rgba(0, 0, 0, 0.25);
  --shadow8Brand: 0 0 2px rgba(0, 0, 0, 0.3), 0 4px 8px rgba(0, 0, 0, 0.25);
  --shadow16Brand: 0 0 2px rgba(0, 0, 0, 0.3), 0 8px 16px rgba(0, 0, 0, 0.25);
  --shadow28Brand: 0 0 8px rgba(0, 0, 0, 0.3), 0 14px 28px rgba(0, 0, 0, 0.25);
  --shadow64Brand: 0 0 8px rgba(0, 0, 0, 0.3), 0 32px 64px rgba(0, 0, 0, 0.25);

  --color-primary: #1d4ed8;
  --color-secondary: #f97316;
  --color-info: #0000ff;
  --color-success: #00ff00;
  --color-warning: #00ff00;
  --color-error: #ff0000;
}

/* 暗色主题 */

/**
 * Fluent Design Dark Theme Tokens
 * 基于 @fluentui/tokens 的 webDarkTheme
 */

:root[data-theme='dark'] {
  /* 覆盖为暗色主题的关键颜色 */
  --colorNeutralForeground1: #ffffff;
  --colorNeutralForeground1Hover: #ffffff;
  --colorNeutralForeground1Pressed: #ffffff;
  --colorNeutralForeground1Selected: #ffffff;

  --colorNeutralForeground2: #d6d6d6;
  --colorNeutralForeground2Hover: #ffffff;
  --colorNeutralForeground2Pressed: #ffffff;
  --colorNeutralForeground2Selected: #ffffff;

  --colorNeutralForeground3: #a8a8a8;
  --colorNeutralForeground3Hover: #d6d6d6;
  --colorNeutralForeground3Pressed: #d6d6d6;
  --colorNeutralForeground3Selected: #d6d6d6;

  --colorNeutralForeground4: #8f8f8f;
  --colorNeutralForegroundDisabled: #575757;

  --colorNeutralBackground1: #1b1b1b;
  --colorNeutralBackground1Hover: #292929;
  --colorNeutralBackground1Pressed: #323232;
  --colorNeutralBackground1Selected: #262626;

  --colorNeutralBackground2: #242424;
  --colorNeutralBackground2Hover: #323232;
  --colorNeutralBackground2Pressed: #3c3c3c;
  --colorNeutralBackground2Selected: #2d2d2d;

  --colorNeutralBackground3: #292929;
  --colorNeutralBackground3Hover: #262626;
  --colorNeutralBackground3Pressed: #323232;
  --colorNeutralBackground3Selected: #2d2d2d;

  --colorNeutralBackground4: #2d2d2d;
  --colorNeutralBackground4Hover: #242424;
  --colorNeutralBackground4Pressed: #292929;
  --colorNeutralBackground4Selected: #1b1b1b;

  --colorNeutralBackground5: #262626;
  --colorNeutralBackground5Hover: #292929;
  --colorNeutralBackground5Pressed: #2d2d2d;
  --colorNeutralBackground5Selected: #242424;

  --colorNeutralBackground6: #2d2d2d;

  --colorNeutralBackgroundInverted: #ffffff;
  --colorNeutralBackgroundStatic: #ffffff;

  --colorBrandForeground1: #479ef5;
  --colorBrandForeground2: #62abf5;
  --colorBrandForeground2Hover: #479ef5;
  --colorBrandForeground2Pressed: #1893f7;

  --colorBrandBackground: #479ef5;
  --colorBrandBackgroundHover: #62abf5;
  --colorBrandBackgroundPressed: #1893f7;
  --colorBrandBackgroundSelected: #3aa1f9;

  --colorBrandForegroundInverted: #0f6cbd;
  --colorBrandForegroundInvertedHover: #115ea3;
  --colorBrandForegroundInvertedPressed: #0a2e4a;

  --colorNeutralStrokeAccessible: #b8b8b8;
  --colorNeutralStrokeAccessibleHover: #c8c8c8;
  --colorNeutralStrokeAccessiblePressed: #d8d8d8;

  --colorNeutralStroke1: #5c5c5c;
  --colorNeutralStroke1Hover: #6e6e6e;
  --colorNeutralStroke1Pressed: #828282;

  --colorNeutralStroke2: #4b4b4b;
  --colorNeutralStroke3: #3c3c3c;

  --colorNeutralStrokeOnBrand: #ffffff;
  --colorNeutralStrokeOnBrand2: #ffffff;
  --colorNeutralStrokeOnBrand2Hover: #ffffff;
  --colorNeutralStrokeOnBrand2Pressed: #ffffff;
  --colorNeutralStrokeOnBrand2Selected: #ffffff;

  --colorNeutralStrokeDisabled: #3c3c3c;
  --colorNeutralStrokeInvertedDisabled: rgba(0, 0, 0, 0.4);

  --colorNeutralShadowAmbient: rgba(0, 0, 0, 0.36);
  --colorNeutralShadowKey: rgba(0, 0, 0, 0.42);

  --colorBrandShadowAmbient: rgba(0, 0, 0, 0.4);
  --colorBrandShadowKey: rgba(0, 0, 0, 0.3);
}

/* Teams 亮色主题 */

/**
 * Fluent Design Teams Light Theme Tokens
 * 基于 @fluentui/tokens 的 teamsLightTheme
 */

:root[data-theme='teams-light'] {
  /* Teams 品牌色 */
  --colorBrandForeground1: #6264a7;
  --colorBrandForeground2: #5c5fc0;
  --colorBrandForeground2Hover: #6264a7;
  --colorBrandForeground2Pressed: #464775;

  --colorBrandBackground: #6264a7;
  --colorBrandBackgroundHover: #5c5fc0;
  --colorBrandBackgroundPressed: #464775;
  --colorBrandBackgroundSelected: #6264a7;

  --colorBrandStroke1: #6264a7;
  --colorBrandStroke2: #c8c8e3;
  --colorBrandStroke2Hover: #6264a7;
  --colorBrandStroke2Pressed: #6264a7;
}

/* Teams 暗色主题 */

/**
 * Fluent Design Teams Dark Theme Tokens
 * 基于 @fluentui/tokens 的 teamsDarkTheme
 */

:root[data-theme='teams-dark'] {
  /* Teams 暗色主题 */
  --colorNeutralForeground1: #ffffff;
  --colorNeutralForeground1Hover: #ffffff;
  --colorNeutralForeground1Pressed: #ffffff;
  --colorNeutralForeground1Selected: #ffffff;

  --colorNeutralForeground2: #d6d6d6;
  --colorNeutralForeground2Hover: #ffffff;
  --colorNeutralForeground2Pressed: #ffffff;
  --colorNeutralForeground2Selected: #ffffff;

  --colorNeutralBackground1: #1b1b1b;
  --colorNeutralBackground1Hover: #292929;
  --colorNeutralBackground1Pressed: #323232;
  --colorNeutralBackground1Selected: #262626;

  /* Teams 品牌色 */
  --colorBrandForeground1: #9f9fdf;
  --colorBrandForeground2: #b4b6ef;
  --colorBrandForeground2Hover: #9f9fdf;
  --colorBrandForeground2Pressed: #8789ce;

  --colorBrandBackground: #9f9fdf;
  --colorBrandBackgroundHover: #b4b6ef;
  --colorBrandBackgroundPressed: #8789ce;
  --colorBrandBackgroundSelected: #9f9fdf;

  --colorBrandStroke1: #9f9fdf;
  --colorBrandStroke2: #9f9fdf;
  --colorBrandStroke2Hover: #9f9fdf;
  --colorBrandStroke2Pressed: #9f9fdf;
}

/* 以下是通用基础样式 */
* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: var(--fontFamilyBase);
}

.tablist .btns-box .btns {
      display: flex;
      align-items: center;
      border-bottom: 1px solid var(--colorCompoundBrandStroke);
    }

.tablist .btns-box .btns .btn {
        display: inline-flex;
        height: 36px;
        align-items: center;
        justify-content: space-between;
        border-width: 1px;
        position: relative;
        border-top-left-radius: var(--borderRadiusMedium);
        border-top-right-radius: var(--borderRadiusMedium);
        border-style: solid;
        gap: 4px;
        border-color: transparent;
        padding: 0 8px;
        max-width: 12em;
        min-width: 3em;
      }

.tablist .btns-box .btns .btn::after {
          content: '';
          position: absolute;
          left: 0px;
          right: 0px;
          bottom: -2px;
          height: 1px;
          background-color: var(--colorCompoundBrandStroke);
        }

.tablist .btns-box .btns .btn.active {
          border-color: var(--colorCompoundBrandStroke);
          border-bottom-color: transparent;
        }

.tablist .btns-box .btns .btn.active::after {
            background-color: var(--colorNeutralForegroundOnBrand);
          }

.tablist .btns-box .btns .btn .title {
          flex: 1;
          overflow: hidden;
          white-space: nowrap;
          text-overflow: ellipsis;
        }

.tablist .btns-box .btns .btn .close {
          width: 18px;
          display: inline-flex;
          align-items: center;
        }

.tablist .btns-box .btns .btn .close:hover {
            color: var(--colorCompoundBrandStroke);
          }
*, ::before, ::after {--_histoire-color-primary-50: 236 253 245;--_histoire-color-primary-100: 209 250 229;--_histoire-color-primary-200: 167 243 208;--_histoire-color-primary-300: 110 231 183;--_histoire-color-primary-400: 52 211 153;--_histoire-color-primary-500: 16 185 129;--_histoire-color-primary-600: 5 150 105;--_histoire-color-primary-700: 4 120 87;--_histoire-color-primary-800: 6 95 70;--_histoire-color-primary-900: 6 78 59;--_histoire-color-gray-50: 250 250 250;--_histoire-color-gray-100: 244 244 245;--_histoire-color-gray-200: 228 228 231;--_histoire-color-gray-300: 212 212 216;--_histoire-color-gray-400: 161 161 170;--_histoire-color-gray-500: 113 113 122;--_histoire-color-gray-600: 82 82 91;--_histoire-color-gray-700: 63 63 70;--_histoire-color-gray-750: 50 50 56;--_histoire-color-gray-800: 39 39 42;--_histoire-color-gray-850: 31 31 33;--_histoire-color-gray-900: 24 24 27;--_histoire-color-gray-950: 16 16 18;}

@scope (:root) to (.__histoire-render-story:not(.__histoire-render-custom-controls)){

.resize-observer[data-v-b329ee4c]{
  position:absolute;
  top:0;
  left:0;
  z-index:-1;
  width:100%;
  height:100%;
  border:none;
  background-color:transparent;
  pointer-events:none;
  display:block;
  overflow:hidden;
  opacity:0
}

.resize-observer[data-v-b329ee4c] object{
  display:block;
  position:absolute;
  top:0;
  left:0;
  height:100%;
  width:100%;
  overflow:hidden;
  pointer-events:none;
  z-index:-1
}

.v-popper__popper{
  z-index:10000;
  top:0;
  left:0;
  outline:none
}

.v-popper__popper.v-popper__popper--hidden{
  visibility:hidden;
  opacity:0;
  transition:opacity .15s,visibility .15s;
  pointer-events:none
}

.v-popper__popper.v-popper__popper--shown{
  visibility:visible;
  opacity:1;
  transition:opacity .15s
}

.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{
  transition:none!important
}

.v-popper__backdrop{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  display:none
}

.v-popper__inner{
  position:relative;
  box-sizing:border-box;
  overflow-y:auto
}

.v-popper__inner>div{
  position:relative;
  z-index:1;
  max-width:inherit;
  max-height:inherit
}

.v-popper__arrow-container{
  position:absolute;
  width:10px;
  height:10px
}

.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{
  display:none
}

.v-popper__arrow-inner,.v-popper__arrow-outer{
  border-style:solid;
  position:absolute;
  top:0;
  left:0;
  width:0;
  height:0
}

.v-popper__arrow-inner{
  visibility:hidden;
  border-width:7px
}

.v-popper__arrow-outer{
  border-width:6px
}

.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{
  left:-2px
}

.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{
  left:-1px
}

.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{
  border-bottom-width:0;
  border-left-color:transparent!important;
  border-right-color:transparent!important;
  border-bottom-color:transparent!important
}

.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{
  top:-2px
}

.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{
  top:0
}

.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{
  border-top-width:0;
  border-left-color:transparent!important;
  border-right-color:transparent!important;
  border-top-color:transparent!important
}

.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{
  top:-4px
}

.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{
  top:-6px
}

.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{
  top:-2px
}

.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{
  top:-1px
}

.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{
  border-left-width:0;
  border-left-color:transparent!important;
  border-top-color:transparent!important;
  border-bottom-color:transparent!important
}

.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{
  left:-4px
}

.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{
  left:-6px
}

.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{
  right:-10px
}

.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{
  border-right-width:0;
  border-top-color:transparent!important;
  border-right-color:transparent!important;
  border-bottom-color:transparent!important
}

.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{
  left:-2px
}

.v-popper--theme-tooltip .v-popper__inner{
  background:rgba(0,0,0,.8);
  color:#fff;
  border-radius:6px;
  padding:7px 12px 6px
}

.v-popper--theme-tooltip .v-popper__arrow-outer{
  border-color:#000c
}

.v-popper--theme-dropdown .v-popper__inner{
  background:#fff;
  color:#000;
  border-radius:6px;
  border:1px solid #ddd;
  box-shadow:0 6px 30px #0000001a
}

.v-popper--theme-dropdown .v-popper__arrow-inner{
  visibility:visible;
  border-color:#fff
}

.v-popper--theme-dropdown .v-popper__arrow-outer{
  border-color:#ddd
}

.htw-bind-col-size{
  grid-template-columns:repeat(auto-fill,minmax(var(--histoire-col-size),1fr))
}

.__histoire-json-code[data-v-d4369e5a] .cm-editor{
  height:100%;
  min-width:280px
}

.v-popper{
  line-height:0
}

.htw-dark .v-popper--theme-dropdown .v-popper__inner{
  --tw-border-opacity: 1;
  border-color:rgb(31 31 33 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color:rgb(63 63 70 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color:rgb(244 244 245 / var(--tw-text-opacity, 1))
}

.htw-dark .v-popper--theme-dropdown .v-popper__arrow-inner{
  --tw-border-opacity: 1;
  border-color:rgb(63 63 70 / var(--tw-border-opacity, 1))
}

.htw-dark .v-popper--theme-dropdown .v-popper__arrow-outer{
  --tw-border-opacity: 1;
  border-color:rgb(31 31 33 / var(--tw-border-opacity, 1))
}

.v-popper--theme-dropdown.v-popper__popper--show-from .v-popper__wrapper{
  transform:scale(.75)
}

.v-popper--theme-dropdown.v-popper__popper--show-to .v-popper__wrapper{
  transform:none;
  transition:transform .15s cubic-bezier(0,1,.5,1)
}

.v-popper__popper:focus-visible{
  outline:none
}

.htw-range-input::-webkit-slider-thumb{
  height:.75rem;
  width:.75rem;
  -webkit-appearance:none;
  appearance:none;
  border-radius:9999px;
  border-width:1px;
  border-style:solid;
  border-color:#00000040;
  --tw-bg-opacity: 1;
  background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))
}

.htw-range-input:is(.htw-dark *)::-webkit-slider-thumb{
  border-color:#ffffff40;
  --tw-bg-opacity: 1;
  background-color:rgb(63 63 70 / var(--tw-bg-opacity, 1))
}

.htw-range-input:hover::-webkit-slider-thumb{
  --tw-border-opacity: 1 !important;
  border-color:rgb(16 185 129 / var(--tw-border-opacity, 1))!important;
  --tw-bg-opacity: 1 !important;
  background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))!important
}

.htw-range-input::-moz-range-thumb{
  height:.75rem;
  width:.75rem;
  -moz-appearance:none;
  appearance:none;
  border-radius:9999px;
  border-width:1px;
  border-style:solid;
  border-color:#00000040;
  --tw-bg-opacity: 1;
  background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))
}

.htw-range-input:is(.htw-dark *)::-moz-range-thumb{
  border-color:#ffffff40;
  --tw-bg-opacity: 1;
  background-color:rgb(63 63 70 / var(--tw-bg-opacity, 1))
}

.htw-range-input:hover::-moz-range-thumb{
  --tw-border-opacity: 1 !important;
  border-color:rgb(16 185 129 / var(--tw-border-opacity, 1))!important;
  --tw-bg-opacity: 1 !important;
  background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))!important
}

/* @TODO custom themes */

.v-popper {
  line-height: 0;
}

.htw-dark .v-popper--theme-dropdown .v-popper__inner{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-850) / var(--tw-border-opacity, 1));
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-gray-700) / var(--tw-bg-opacity, 1));
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-gray-100) / var(--tw-text-opacity, 1))
}

.htw-dark .v-popper--theme-dropdown .v-popper__arrow-inner{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-700) / var(--tw-border-opacity, 1))
}

.htw-dark .v-popper--theme-dropdown .v-popper__arrow-outer{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-850) / var(--tw-border-opacity, 1))
}

.v-popper--theme-dropdown.v-popper__popper--show-from .v-popper__wrapper {
  transform: scale(.75);
}

.v-popper--theme-dropdown.v-popper__popper--show-to .v-popper__wrapper {
  transform: none;
  transition: transform .15s cubic-bezier(0, 1, .5, 1);
}

.v-popper__popper:focus-visible {
  outline: none;
}

.__histoire-scale-x-enter-active,
  .__histoire-scale-x-leave-active {
  transition: transform .15s, opacity .15s;
}

.__histoire-scale-x-enter-from,
  .__histoire-scale-x-leave-to {
  transform: scaleX(0);
  opacity: 0;
}

.__histoire-scale-y-enter-active,
  .__histoire-scale-y-leave-active {
  transition: transform .15s, opacity .15s;
}

.__histoire-scale-y-enter-from,
  .__histoire-scale-y-leave-to {
  transform: scaleY(0);
  opacity: 0;
}

.__histoire-fade-enter-active,
  .__histoire-fade-leave-active {
  transition: opacity .15s;
}

.__histoire-fade-enter-from,
  .__histoire-fade-leave-to {
  opacity: 0;
}

.__histoire-fade-bottom-enter-active,
  .__histoire-fade-bottom-leave-active {
  transition: transform .15s, opacity .15s;
  transform: translateY(0px);
}

.__histoire-fade-bottom-enter-from,
  .__histoire-fade-bottom-leave-to {
  transform: translateY(32px);
  opacity: 0;
}

*,
::before,
::after {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  border-color: #e5e7eb;
}

a,
input,
button {
  color: inherit;
}

a {
  text-decoration: inherit;
}

input, button {
  font-family: inherit;
}

a,
button {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

*, ::before, ::after{
  --tw-border-spacing-x:0;
  --tw-border-spacing-y:0;
  --tw-translate-x:0;
  --tw-translate-y:0;
  --tw-rotate:0;
  --tw-skew-x:0;
  --tw-skew-y:0;
  --tw-scale-x:1;
  --tw-scale-y:1;
  --tw-pan-x: ;
  --tw-pan-y: ;
  --tw-pinch-zoom: ;
  --tw-scroll-snap-strictness:proximity;
  --tw-gradient-from-position: ;
  --tw-gradient-via-position: ;
  --tw-gradient-to-position: ;
  --tw-ordinal: ;
  --tw-slashed-zero: ;
  --tw-numeric-figure: ;
  --tw-numeric-spacing: ;
  --tw-numeric-fraction: ;
  --tw-ring-inset: ;
  --tw-ring-offset-width:0px;
  --tw-ring-offset-color:#fff;
  --tw-ring-color:rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow:0 0 #0000;
  --tw-ring-shadow:0 0 #0000;
  --tw-shadow:0 0 #0000;
  --tw-shadow-colored:0 0 #0000;
  --tw-blur: ;
  --tw-brightness: ;
  --tw-contrast: ;
  --tw-grayscale: ;
  --tw-hue-rotate: ;
  --tw-invert: ;
  --tw-saturate: ;
  --tw-sepia: ;
  --tw-drop-shadow: ;
  --tw-backdrop-blur: ;
  --tw-backdrop-brightness: ;
  --tw-backdrop-contrast: ;
  --tw-backdrop-grayscale: ;
  --tw-backdrop-hue-rotate: ;
  --tw-backdrop-invert: ;
  --tw-backdrop-opacity: ;
  --tw-backdrop-saturate: ;
  --tw-backdrop-sepia: ;
  --tw-contain-size: ;
  --tw-contain-layout: ;
  --tw-contain-paint: ;
  --tw-contain-style: 
}

::backdrop{
  --tw-border-spacing-x:0;
  --tw-border-spacing-y:0;
  --tw-translate-x:0;
  --tw-translate-y:0;
  --tw-rotate:0;
  --tw-skew-x:0;
  --tw-skew-y:0;
  --tw-scale-x:1;
  --tw-scale-y:1;
  --tw-pan-x: ;
  --tw-pan-y: ;
  --tw-pinch-zoom: ;
  --tw-scroll-snap-strictness:proximity;
  --tw-gradient-from-position: ;
  --tw-gradient-via-position: ;
  --tw-gradient-to-position: ;
  --tw-ordinal: ;
  --tw-slashed-zero: ;
  --tw-numeric-figure: ;
  --tw-numeric-spacing: ;
  --tw-numeric-fraction: ;
  --tw-ring-inset: ;
  --tw-ring-offset-width:0px;
  --tw-ring-offset-color:#fff;
  --tw-ring-color:rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow:0 0 #0000;
  --tw-ring-shadow:0 0 #0000;
  --tw-shadow:0 0 #0000;
  --tw-shadow-colored:0 0 #0000;
  --tw-blur: ;
  --tw-brightness: ;
  --tw-contrast: ;
  --tw-grayscale: ;
  --tw-hue-rotate: ;
  --tw-invert: ;
  --tw-saturate: ;
  --tw-sepia: ;
  --tw-drop-shadow: ;
  --tw-backdrop-blur: ;
  --tw-backdrop-brightness: ;
  --tw-backdrop-contrast: ;
  --tw-backdrop-grayscale: ;
  --tw-backdrop-hue-rotate: ;
  --tw-backdrop-invert: ;
  --tw-backdrop-opacity: ;
  --tw-backdrop-saturate: ;
  --tw-backdrop-sepia: ;
  --tw-contain-size: ;
  --tw-contain-layout: ;
  --tw-contain-paint: ;
  --tw-contain-style: 
}

body,
  pre {
  margin: 0;
}

:scope,
  body,
  #app {
  height: 100%;
}

:scope {
  font-family: 'Noto Sans Display', system-ui, sans-serif;
  font-size: 1rem;
}

body {
  font-size: 1.125rem;
}

@media (min-width: 640px) {
  body {
    font-size: .875rem;
  }
}

.__histoire-render-story:not(.__histoire-render-custom-controls) {
  overflow: auto;
  min-height: 100%;
}

.__histoire-code .shiki {
  background: transparent !important;
}

.htw-prose h1:not(:hover) .header-anchor[aria-hidden="true"], .htw-prose h2:not(:hover) .header-anchor[aria-hidden="true"], .htw-prose h3:not(:hover) .header-anchor[aria-hidden="true"], .htw-prose h4:not(:hover) .header-anchor[aria-hidden="true"] {
  visibility: hidden;
}

.htw-prose hr {
  margin: 1rem 0;
}

.__histoire-pane-shadow-from-right {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0));
  background-size: 24px;
  background-repeat: no-repeat;
  background-position: right;
}

.htw-dark .__histoire-pane-shadow-from-right {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0));
}

.htw-prose{
  color:var(--tw-prose-body);
  max-width:65ch;
}

.htw-prose :where(p):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:1.25em;
  margin-bottom:1.25em
}

.htw-prose :where([class~="lead"]):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:var(--tw-prose-lead);
  font-size:1.25em;
  line-height:1.6;
  margin-top:1.2em;
  margin-bottom:1.2em
}

.htw-prose :where(a):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:rgb(var(--_histoire-color-primary-500));
  text-decoration:none;
  font-weight:500;
}

.htw-prose :where(a):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)):hover{
  text-decoration:underline
}

.htw-prose :where(strong):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:var(--tw-prose-bold);
  font-weight:600
}

.htw-prose :where(a strong):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:inherit
}

.htw-prose :where(blockquote strong):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:inherit
}

.htw-prose :where(thead th strong):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:inherit
}

.htw-prose :where(ol):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  list-style-type:decimal;
  margin-top:1.25em;
  margin-bottom:1.25em;
  padding-inline-start:1.625em
}

.htw-prose :where(ol[type="A"]):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  list-style-type:upper-alpha
}

.htw-prose :where(ol[type="a"]):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  list-style-type:lower-alpha
}

.htw-prose :where(ol[type="A" s]):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  list-style-type:upper-alpha
}

.htw-prose :where(ol[type="a" s]):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  list-style-type:lower-alpha
}

.htw-prose :where(ol[type="I"]):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  list-style-type:upper-roman
}

.htw-prose :where(ol[type="i"]):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  list-style-type:lower-roman
}

.htw-prose :where(ol[type="I" s]):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  list-style-type:upper-roman
}

.htw-prose :where(ol[type="i" s]):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  list-style-type:lower-roman
}

.htw-prose :where(ol[type="1"]):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  list-style-type:decimal
}

.htw-prose :where(ul):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  list-style-type:disc;
  margin-top:1.25em;
  margin-bottom:1.25em;
  padding-inline-start:1.625em
}

.htw-prose :where(ol > li):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *))::marker{
  font-weight:400;
  color:var(--tw-prose-counters)
}

.htw-prose :where(ul > li):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *))::marker{
  color:var(--tw-prose-bullets)
}

.htw-prose :where(dt):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:var(--tw-prose-headings);
  font-weight:600;
  margin-top:1.25em
}

.htw-prose :where(hr):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  border-color:var(--tw-prose-hr);
  border-top-width:1px;
  margin-top:3em;
  margin-bottom:3em
}

.htw-prose :where(blockquote):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  font-weight:500;
  font-style:italic;
  color:var(--tw-prose-quotes);
  border-inline-start-width:0.25rem;
  border-inline-start-color:var(--tw-prose-quote-borders);
  quotes:"\201C""\201D""\2018""\2019";
  margin-top:1.6em;
  margin-bottom:1.6em;
  padding-inline-start:1em;
  margin-left:0;
  margin-right:0;
  background-color:rgb(var(--_histoire-color-gray-100));
  padding:.25rem .375rem;
}

.htw-prose :where(blockquote):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)) p:first-child{
  margin-top:0
}

.htw-prose :where(blockquote):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)) p:last-child{
  margin-bottom:0
}

.htw-dark .htw-prose :where(blockquote):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  background-color:rgb(var(--_histoire-color-gray-750))
}

.htw-prose :where(blockquote p:first-of-type):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *))::before{
  content:open-quote
}

.htw-prose :where(blockquote p:last-of-type):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *))::after{
  content:close-quote
}

.htw-prose :where(h1):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:var(--tw-prose-headings);
  font-weight:800;
  font-size:2.25em;
  margin-top:0;
  margin-bottom:0.8888889em;
  line-height:1.1111111
}

.htw-prose :where(h1 strong):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  font-weight:900;
  color:inherit
}

.htw-prose :where(h2):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:var(--tw-prose-headings);
  font-weight:700;
  font-size:1.5em;
  margin-top:2em;
  margin-bottom:1em;
  line-height:1.3333333
}

.htw-prose :where(h2 strong):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  font-weight:800;
  color:inherit
}

.htw-prose :where(h3):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:var(--tw-prose-headings);
  font-weight:600;
  font-size:1.25em;
  margin-top:1.6em;
  margin-bottom:0.6em;
  line-height:1.6
}

.htw-prose :where(h3 strong):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  font-weight:700;
  color:inherit
}

.htw-prose :where(h4):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:var(--tw-prose-headings);
  font-weight:600;
  margin-top:1.5em;
  margin-bottom:0.5em;
  line-height:1.5
}

.htw-prose :where(h4 strong):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  font-weight:700;
  color:inherit
}

.htw-prose :where(img):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:2em;
  margin-bottom:2em
}

.htw-prose :where(picture):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  display:block;
  margin-top:2em;
  margin-bottom:2em
}

.htw-prose :where(video):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:2em;
  margin-bottom:2em
}

.htw-prose :where(kbd):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  font-weight:500;
  font-family:inherit;
  color:var(--tw-prose-kbd);
  box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);
  font-size:0.875em;
  border-radius:0.3125rem;
  padding-top:0.1875em;
  padding-inline-end:0.375em;
  padding-bottom:0.1875em;
  padding-inline-start:0.375em
}

.htw-prose :where(code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:var(--tw-prose-code);
  font-weight:normal;
  font-size:0.8rem;
  background-color:rgb(var(--_histoire-color-gray-500) / 20%);
  padding:0.05rem 0.5rem;
  border-radius:0.25rem;
}

.htw-prose :where(code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *))::before,.htw-prose :where(code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *))::after{
  display:none
}

.htw-prose :where(code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *))::before{
  content:"`"
}

.htw-prose :where(code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *))::after{
  content:"`"
}

.htw-prose :where(a code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:inherit
}

.htw-prose :where(h1 code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:inherit
}

.htw-prose :where(h2 code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:inherit;
  font-size:0.875em
}

.htw-prose :where(h3 code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:inherit;
  font-size:0.9em
}

.htw-prose :where(h4 code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:inherit
}

.htw-prose :where(blockquote code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:inherit
}

.htw-prose :where(thead th code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:inherit
}

.htw-prose :where(pre):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:var(--tw-prose-pre-code);
  background-color:var(--tw-prose-pre-bg);
  overflow-x:auto;
  font-weight:400;
  font-size:0.875em;
  line-height:1.7142857;
  margin-top:1.7142857em;
  margin-bottom:1.7142857em;
  border-radius:0.375rem;
  padding-top:0.8571429em;
  padding-inline-end:1.1428571em;
  padding-bottom:0.8571429em;
  padding-inline-start:1.1428571em
}

.htw-prose :where(pre code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  background-color:transparent;
  border-width:0;
  border-radius:0;
  padding:0;
  font-weight:inherit;
  color:inherit;
  font-size:inherit;
  font-family:inherit;
  line-height:inherit
}

.htw-prose :where(pre code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *))::before{
  content:none
}

.htw-prose :where(pre code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *))::after{
  content:none
}

.htw-prose :where(table):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  width:100%;
  table-layout:auto;
  margin-top:2em;
  margin-bottom:2em;
  font-size:0.875em;
  line-height:1.7142857
}

.htw-prose :where(thead):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  border-bottom-width:1px;
  border-bottom-color:var(--tw-prose-th-borders)
}

.htw-prose :where(thead th):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:var(--tw-prose-headings);
  font-weight:600;
  vertical-align:bottom;
  padding-inline-end:0.5714286em;
  padding-bottom:0.5714286em;
  padding-inline-start:0.5714286em
}

.htw-prose :where(tbody tr):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  border-bottom-width:1px;
  border-bottom-color:var(--tw-prose-td-borders)
}

.htw-prose :where(tbody tr:last-child):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  border-bottom-width:0
}

.htw-prose :where(tbody td):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  vertical-align:baseline
}

.htw-prose :where(tfoot):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  border-top-width:1px;
  border-top-color:var(--tw-prose-th-borders)
}

.htw-prose :where(tfoot td):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  vertical-align:top
}

.htw-prose :where(th, td):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  text-align:start
}

.htw-prose :where(figure > *):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:0;
  margin-bottom:0
}

.htw-prose :where(figcaption):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:var(--tw-prose-captions);
  font-size:0.875em;
  line-height:1.4285714;
  margin-top:0.8571429em
}

.htw-prose{
  --tw-prose-body:#374151;
  --tw-prose-headings:#111827;
  --tw-prose-lead:#4b5563;
  --tw-prose-links:#111827;
  --tw-prose-bold:#111827;
  --tw-prose-counters:#6b7280;
  --tw-prose-bullets:#d1d5db;
  --tw-prose-hr:#e5e7eb;
  --tw-prose-quotes:#111827;
  --tw-prose-quote-borders:#e5e7eb;
  --tw-prose-captions:#6b7280;
  --tw-prose-kbd:#111827;
  --tw-prose-kbd-shadows:rgb(17 24 39 / 10%);
  --tw-prose-code:#111827;
  --tw-prose-pre-code:#e5e7eb;
  --tw-prose-pre-bg:#1f2937;
  --tw-prose-th-borders:#d1d5db;
  --tw-prose-td-borders:#e5e7eb;
  --tw-prose-invert-body:#d1d5db;
  --tw-prose-invert-headings:#fff;
  --tw-prose-invert-lead:#9ca3af;
  --tw-prose-invert-links:#fff;
  --tw-prose-invert-bold:#fff;
  --tw-prose-invert-counters:#9ca3af;
  --tw-prose-invert-bullets:rgb(var(--_histoire-color-gray-500));
  --tw-prose-invert-hr:rgb(var(--_histoire-color-gray-800));
  --tw-prose-invert-quotes:#f3f4f6;
  --tw-prose-invert-quote-borders:rgb(var(--_histoire-color-gray-800));
  --tw-prose-invert-captions:#9ca3af;
  --tw-prose-invert-kbd:#fff;
  --tw-prose-invert-kbd-shadows:rgb(255 255 255 / 10%);
  --tw-prose-invert-code:#fff;
  --tw-prose-invert-pre-code:#d1d5db;
  --tw-prose-invert-pre-bg:rgb(0 0 0 / 50%);
  --tw-prose-invert-th-borders:#4b5563;
  --tw-prose-invert-td-borders:#374151;
  font-size:1rem;
  line-height:1.75
}

.htw-prose :where(picture > img):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:0;
  margin-bottom:0
}

.htw-prose :where(li):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:0.1rem;
  margin-bottom:0.1rem
}

.htw-prose :where(ol > li):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  padding-inline-start:0.375em
}

.htw-prose :where(ul > li):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  padding-inline-start:0.375em
}

.htw-prose :where(.htw-prose > ul > li p):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:0.75em;
  margin-bottom:0.75em
}

.htw-prose :where(.htw-prose > ul > li > p:first-child):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:1.25em
}

.htw-prose :where(.htw-prose > ul > li > p:last-child):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-bottom:1.25em
}

.htw-prose :where(.htw-prose > ol > li > p:first-child):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:1.25em
}

.htw-prose :where(.htw-prose > ol > li > p:last-child):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-bottom:1.25em
}

.htw-prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:0.75em;
  margin-bottom:0.75em
}

.htw-prose :where(dl):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:1.25em;
  margin-bottom:1.25em
}

.htw-prose :where(dd):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:0.5em;
  padding-inline-start:1.625em
}

.htw-prose :where(hr + *):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:0
}

.htw-prose :where(h2 + *):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:0
}

.htw-prose :where(h3 + *):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:0
}

.htw-prose :where(h4 + *):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:0
}

.htw-prose :where(thead th:first-child):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  padding-inline-start:0
}

.htw-prose :where(thead th:last-child):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  padding-inline-end:0
}

.htw-prose :where(tbody td, tfoot td):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  padding-top:0.5714286em;
  padding-inline-end:0.5714286em;
  padding-bottom:0.5714286em;
  padding-inline-start:0.5714286em
}

.htw-prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  padding-inline-start:0
}

.htw-prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  padding-inline-end:0
}

.htw-prose :where(figure):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:2em;
  margin-bottom:2em
}

.htw-prose :where(.htw-prose > :first-child):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:0
}

.htw-prose :where(.htw-prose > :last-child):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-bottom:0
}

.htw-prose :where(h1, h2, h3, h4, th):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-bottom:0.75rem;
}

.htw-prose :where(h1, h2, h3, h4, th):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)):not(:first-child){
  margin-top:1.25rem
}

.htw-pointer-events-none{
  pointer-events:none
}

.htw-invisible{
  visibility:hidden
}

.htw-fixed{
  position:fixed
}

.htw-absolute{
  position:absolute
}

.htw-relative{
  position:relative
}

.htw-inset-0{
  inset:0px
}

.htw-bottom-0{
  bottom:0px
}

.htw-bottom-4{
  bottom:1rem
}

.htw-bottom-5{
  bottom:1.25rem
}

.htw-bottom-8{
  bottom:2rem
}

.htw-left-0{
  left:0px
}

.htw-left-5{
  left:1.25rem
}

.htw-left-8{
  left:2rem
}

.htw-right-0{
  right:0px
}

.htw-right-4{
  right:1rem
}

.htw-right-5{
  right:1.25rem
}

.htw-right-8{
  right:2rem
}

.htw-top-0{
  top:0px
}

.htw-top-5{
  top:1.25rem
}

.htw-top-8{
  top:2rem
}

.htw-isolate{
  isolation:isolate
}

.htw-z-10{
  z-index:10
}

.htw-z-20{
  z-index:20
}

.htw-m-0{
  margin:0px
}

.htw-m-1{
  margin:0.25rem
}

.htw-m-4{
  margin:1rem
}

.htw-m-auto{
  margin:auto
}

.-htw-my-1{
  margin-top:-0.25rem;
  margin-bottom:-0.25rem
}

.htw-mx-1{
  margin-left:0.25rem;
  margin-right:0.25rem
}

.htw-mx-2{
  margin-left:0.5rem;
  margin-right:0.5rem
}

.htw-mx-4{
  margin-left:1rem;
  margin-right:1rem
}

.htw-mx-6{
  margin-left:1.5rem;
  margin-right:1.5rem
}

.htw-my-0{
  margin-top:0px;
  margin-bottom:0px
}

.htw-my-2{
  margin-top:0.5rem;
  margin-bottom:0.5rem
}

.htw-my-4{
  margin-top:1rem;
  margin-bottom:1rem
}

.htw-my-8{
  margin-top:2rem;
  margin-bottom:2rem
}

.-htw-mt-1{
  margin-top:-0.25rem
}

.htw-mb-2{
  margin-bottom:0.5rem
}

.htw-mb-6{
  margin-bottom:1.5rem
}

.htw-mb-8{
  margin-bottom:2rem
}

.htw-ml-4{
  margin-left:1rem
}

.htw-ml-auto{
  margin-left:auto
}

.htw-mr-2{
  margin-right:0.5rem
}

.htw-mr-auto{
  margin-right:auto
}

.htw-mt-0\.5{
  margin-top:0.125rem
}

.htw-mt-1{
  margin-top:0.25rem
}

.htw-mt-2{
  margin-top:0.5rem
}

.htw-box-border{
  box-sizing:border-box
}

.htw-block{
  display:block
}

.htw-flex{
  display:flex
}

.htw-inline-flex{
  display:inline-flex
}

.htw-grid{
  display:grid
}

.\!htw-hidden{
  display:none !important
}

.htw-hidden{
  display:none
}

.htw-h-1{
  height:0.25rem
}

.htw-h-10{
  height:2.5rem
}

.htw-h-12{
  height:3rem
}

.htw-h-16{
  height:4rem
}

.htw-h-2{
  height:0.5rem
}

.htw-h-20{
  height:5rem
}

.htw-h-3{
  height:0.75rem
}

.htw-h-32{
  height:8rem
}

.htw-h-4{
  height:1rem
}

.htw-h-48{
  height:12rem
}

.htw-h-5{
  height:1.25rem
}

.htw-h-6{
  height:1.5rem
}

.htw-h-64{
  height:16rem
}

.htw-h-8{
  height:2rem
}

.htw-h-9{
  height:2.25rem
}

.htw-h-\[100px\]{
  height:100px
}

.htw-h-\[16px\]{
  height:16px
}

.htw-h-\[1px\]{
  height:1px
}

.htw-h-\[22px\]{
  height:22px
}

.htw-h-\[27px\]{
  height:27px
}

.htw-h-\[2px\]{
  height:2px
}

.htw-h-\[51px\]{
  height:51px
}

.htw-h-fit{
  height:-moz-fit-content;
  height:fit-content
}

.htw-h-full{
  height:100%
}

.htw-h-px{
  height:1px
}

.htw-h-screen{
  height:100vh
}

.htw-max-h-\[400px\]{
  max-height:400px
}

.htw-max-h-\[80vh\]{
  max-height:80vh
}

.htw-max-h-full{
  max-height:100%
}

.htw-min-h-32{
  min-height:8rem
}

.htw-min-h-\[26px\]{
  min-height:26px
}

.htw-w-0{
  width:0px
}

.htw-w-16{
  width:4rem
}

.htw-w-2{
  width:0.5rem
}

.htw-w-20{
  width:5rem
}

.htw-w-28{
  width:7rem
}

.htw-w-3{
  width:0.75rem
}

.htw-w-32{
  width:8rem
}

.htw-w-4{
  width:1rem
}

.htw-w-5{
  width:1.25rem
}

.htw-w-6{
  width:1.5rem
}

.htw-w-64{
  width:16rem
}

.htw-w-8{
  width:2rem
}

.htw-w-\[16px\]{
  width:16px
}

.htw-w-\[2px\]{
  width:2px
}

.htw-w-fit{
  width:-moz-fit-content;
  width:fit-content
}

.htw-w-full{
  width:100%
}

.htw-w-max{
  width:-moz-max-content;
  width:max-content
}

.htw-w-px{
  width:1px
}

.htw-w-screen{
  width:100vw
}

.htw-min-w-0{
  min-width:0px
}

.htw-min-w-16{
  min-width:4rem
}

.htw-min-w-4{
  min-width:1rem
}

.htw-min-w-\[150px\]{
  min-width:150px
}

.htw-min-w-\[80px\]{
  min-width:80px
}

.htw-max-w-6{
  max-width:1.5rem
}

.htw-max-w-\[400px\]{
  max-width:400px
}

.htw-max-w-\[512px\]{
  max-width:512px
}

.htw-max-w-\[63px\]{
  max-width:63px
}

.htw-max-w-\[82px\]{
  max-width:82px
}

.htw-max-w-full{
  max-width:100%
}

.htw-max-w-none{
  max-width:none
}

.htw-flex-1{
  flex:1 1 0%
}

.htw-flex-none{
  flex:none
}

.htw-flex-shrink{
  flex-shrink:1
}

.htw-shrink{
  flex-shrink:1
}

.htw-shrink-0{
  flex-shrink:0
}

.htw-grow{
  flex-grow:1
}

.htw-rotate-90{
  --tw-rotate:90deg;
  transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.htw-scale-0{
  --tw-scale-x:0;
  --tw-scale-y:0;
  transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.htw-cursor-default{
  cursor:default
}

.htw-cursor-ew-resize{
  cursor:ew-resize
}

.htw-cursor-ns-resize{
  cursor:ns-resize
}

.htw-cursor-nwse-resize{
  cursor:nwse-resize
}

.htw-cursor-pointer{
  cursor:pointer
}

.htw-cursor-text{
  cursor:text
}

.htw-select-none{
  -webkit-user-select:none;
     -moz-user-select:none;
          user-select:none
}

.htw-resize-none{
  resize:none
}

.htw-resize-y{
  resize:vertical
}

.htw-appearance-none{
  -webkit-appearance:none;
     -moz-appearance:none;
          appearance:none
}

.htw-grid-cols-\[repeat\(auto-fill\,minmax\(200px\,1fr\)\)\]{
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr))
}

.htw-flex-row{
  flex-direction:row
}

.htw-flex-col{
  flex-direction:column
}

.htw-flex-wrap{
  flex-wrap:wrap
}

.htw-flex-nowrap{
  flex-wrap:nowrap
}

.htw-place-content-between{
  place-content:space-between
}

.htw-items-start{
  align-items:flex-start
}

.htw-items-end{
  align-items:flex-end
}

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

.htw-items-baseline{
  align-items:baseline
}

.htw-items-stretch{
  align-items:stretch
}

.htw-justify-end{
  justify-content:flex-end
}

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

.htw-justify-evenly{
  justify-content:space-evenly
}

.htw-gap-0\.5{
  gap:0.125rem
}

.htw-gap-1{
  gap:0.25rem
}

.htw-gap-12{
  gap:3rem
}

.htw-gap-2{
  gap:0.5rem
}

.htw-gap-4{
  gap:1rem
}

.htw-gap-6{
  gap:1.5rem
}

.htw-gap-px{
  gap:1px
}

.htw-gap-x-2{
  -moz-column-gap:0.5rem;
       column-gap:0.5rem
}

.htw-gap-y-1{
  row-gap:0.25rem
}

.htw-space-y-4 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse:0;
  margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom:calc(1rem * var(--tw-space-y-reverse))
}

.htw-divide-y > :not([hidden]) ~ :not([hidden]){
  --tw-divide-y-reverse:0;
  border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width:calc(1px * var(--tw-divide-y-reverse))
}

.htw-divide-gray-100 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-100) / var(--tw-divide-opacity, 1))
}

.htw-divide-gray-200 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-200) / var(--tw-divide-opacity, 1))
}

.htw-overflow-auto{
  overflow:auto
}

.htw-overflow-hidden{
  overflow:hidden
}

.htw-overflow-y-auto{
  overflow-y:auto
}

.htw-overflow-y-scroll{
  overflow-y:scroll
}

.htw-scroll-smooth{
  scroll-behavior:smooth
}

.htw-truncate{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}

.htw-text-ellipsis{
  text-overflow:ellipsis
}

.htw-whitespace-nowrap{
  white-space:nowrap
}

.\!htw-rounded-\[3px\]{
  border-radius:3px !important
}

.htw-rounded{
  border-radius:0.375rem
}

.htw-rounded-full{
  border-radius:9999px
}

.htw-rounded-lg{
  border-radius:0.75rem
}

.htw-rounded-sm{
  border-radius:0.25rem
}

.htw-rounded-b-lg{
  border-bottom-right-radius:0.75rem;
  border-bottom-left-radius:0.75rem
}

.htw-rounded-l{
  border-top-left-radius:0.375rem;
  border-bottom-left-radius:0.375rem
}

.htw-rounded-r{
  border-top-right-radius:0.375rem;
  border-bottom-right-radius:0.375rem
}

.htw-rounded-r-lg{
  border-top-right-radius:0.75rem;
  border-bottom-right-radius:0.75rem
}

.htw-border{
  border-width:1px
}

.htw-border-0{
  border-width:0px
}

.htw-border-2{
  border-width:2px
}

.htw-border-8{
  border-width:8px
}

.htw-border-b{
  border-bottom-width:1px
}

.htw-border-l-2{
  border-left-width:2px
}

.htw-border-r{
  border-right-width:1px
}

.htw-border-t{
  border-top-width:1px
}

.htw-border-solid{
  border-style:solid
}

.htw-border-none{
  border-style:none
}

.htw-border-black\/20{
  border-color:rgb(0 0 0 / 0.2)
}

.htw-border-black\/25{
  border-color:rgb(0 0 0 / 0.25)
}

.htw-border-black\/50{
  border-color:rgb(0 0 0 / 0.5)
}

.htw-border-current{
  border-color:currentColor
}

.htw-border-gray-100{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-100) / var(--tw-border-opacity, 1))
}

.htw-border-gray-200{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-200) / var(--tw-border-opacity, 1))
}

.htw-border-gray-300\/30{
  border-color:rgb(var(--_histoire-color-gray-300) / 0.3)
}

.htw-border-gray-500\/10{
  border-color:rgb(var(--_histoire-color-gray-500) / 0.1)
}

.htw-border-gray-500\/30{
  border-color:rgb(var(--_histoire-color-gray-500) / 0.3)
}

.htw-border-gray-500\/40{
  border-color:rgb(var(--_histoire-color-gray-500) / 0.4)
}

.htw-border-gray-500\/5{
  border-color:rgb(var(--_histoire-color-gray-500) / 0.05)
}

.htw-border-gray-500\/50{
  border-color:rgb(var(--_histoire-color-gray-500) / 0.5)
}

.htw-border-gray-600{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-600) / var(--tw-border-opacity, 1))
}

.htw-border-gray-800{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-800) / var(--tw-border-opacity, 1))
}

.htw-border-gray-850{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-850) / var(--tw-border-opacity, 1))
}

.htw-border-primary-200{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-primary-200) / var(--tw-border-opacity, 1))
}

.htw-border-primary-500{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-primary-500) / var(--tw-border-opacity, 1))
}

.htw-border-primary-900{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-primary-900) / var(--tw-border-opacity, 1))
}

.htw-border-transparent{
  border-color:transparent
}

.\!htw-bg-primary-500{
  --tw-bg-opacity:1 !important;
  background-color:rgb(var(--_histoire-color-primary-500) / var(--tw-bg-opacity, 1)) !important
}

.htw-bg-gray-100{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-gray-100) / var(--tw-bg-opacity, 1))
}

.htw-bg-gray-200{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-gray-200) / var(--tw-bg-opacity, 1))
}

.htw-bg-gray-400\/25{
  background-color:rgb(var(--_histoire-color-gray-400) / 0.25)
}

.htw-bg-gray-50{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-gray-50) / var(--tw-bg-opacity, 1))
}

.htw-bg-gray-500\/10{
  background-color:rgb(var(--_histoire-color-gray-500) / 0.1)
}

.htw-bg-gray-500\/50{
  background-color:rgb(var(--_histoire-color-gray-500) / 0.5)
}

.htw-bg-gray-700{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-gray-700) / var(--tw-bg-opacity, 1))
}

.htw-bg-gray-800{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-gray-800) / var(--tw-bg-opacity, 1))
}

.htw-bg-primary-200{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-200) / var(--tw-bg-opacity, 1))
}

.htw-bg-primary-50{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-50) / var(--tw-bg-opacity, 1))
}

.htw-bg-primary-500{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-500) / var(--tw-bg-opacity, 1))
}

.htw-bg-primary-500\/10{
  background-color:rgb(var(--_histoire-color-primary-500) / 0.1)
}

.htw-bg-primary-500\/20{
  background-color:rgb(var(--_histoire-color-primary-500) / 0.2)
}

.htw-bg-primary-500\/25{
  background-color:rgb(var(--_histoire-color-primary-500) / 0.25)
}

.htw-bg-primary-700{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-700) / var(--tw-bg-opacity, 1))
}

.htw-bg-primary-800{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-800) / var(--tw-bg-opacity, 1))
}

.htw-bg-transparent{
  background-color:transparent
}

.htw-bg-white{
  --tw-bg-opacity:1;
  background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))
}

.htw-bg-white\/80{
  background-color:rgb(255 255 255 / 0.8)
}

.htw-fill-primary-500{
  fill:rgb(var(--_histoire-color-primary-500))
}

.htw-fill-transparent{
  fill:transparent
}

.htw-stroke-white{
  stroke:#fff
}

.htw-stroke-2{
  stroke-width:2
}

.htw-p-1{
  padding:0.25rem
}

.htw-p-2{
  padding:0.5rem
}

.htw-p-4{
  padding:1rem
}

.htw-p-8{
  padding:2rem
}

.htw-p-px{
  padding:1px
}

.htw-px-0\.5{
  padding-left:0.125rem;
  padding-right:0.125rem
}

.htw-px-1{
  padding-left:0.25rem;
  padding-right:0.25rem
}

.htw-px-2{
  padding-left:0.5rem;
  padding-right:0.5rem
}

.htw-px-4{
  padding-left:1rem;
  padding-right:1rem
}

.htw-px-6{
  padding-left:1.5rem;
  padding-right:1.5rem
}

.htw-py-0\.5{
  padding-top:0.125rem;
  padding-bottom:0.125rem
}

.htw-py-1{
  padding-top:0.25rem;
  padding-bottom:0.25rem
}

.htw-py-12{
  padding-top:3rem;
  padding-bottom:3rem
}

.htw-py-2{
  padding-top:0.5rem;
  padding-bottom:0.5rem
}

.htw-py-3{
  padding-top:0.75rem;
  padding-bottom:0.75rem
}

.htw-py-4{
  padding-top:1rem;
  padding-bottom:1rem
}

.htw-pl-0{
  padding-left:0px
}

.htw-pl-0\.5{
  padding-left:0.125rem
}

.htw-pl-2{
  padding-left:0.5rem
}

.htw-pl-4{
  padding-left:1rem
}

.htw-pl-6{
  padding-left:1.5rem
}

.htw-pr-2{
  padding-right:0.5rem
}

.htw-pr-6{
  padding-right:1.5rem
}

.htw-pt-4{
  padding-top:1rem
}

.htw-text-left{
  text-align:left
}

.htw-text-center{
  text-align:center
}

.htw-font-mono{
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace
}

.htw-text-2xl{
  font-size:1.5rem;
  line-height:2rem
}

.htw-text-5xl{
  font-size:3rem;
  line-height:1
}

.htw-text-lg{
  font-size:1.125rem;
  line-height:1.75rem
}

.htw-text-sm{
  font-size:0.875rem;
  line-height:1.25rem
}

.htw-text-xs{
  font-size:0.75rem;
  line-height:1rem
}

.htw-font-bold{
  font-weight:700
}

.htw-uppercase{
  text-transform:uppercase
}

.htw-leading-none{
  line-height:1
}

.htw-leading-normal{
  line-height:1.5
}

.htw-text-black\/\[1\%\]{
  color:rgb(0 0 0 / 1%)
}

.htw-text-gray-400{
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-gray-400) / var(--tw-text-opacity, 1))
}

.htw-text-gray-500{
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-gray-500) / var(--tw-text-opacity, 1))
}

.htw-text-gray-500\/20{
  color:rgb(var(--_histoire-color-gray-500) / 0.2)
}

.htw-text-gray-700{
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-gray-700) / var(--tw-text-opacity, 1))
}

.htw-text-gray-900{
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-gray-900) / var(--tw-text-opacity, 1))
}

.htw-text-inherit{
  color:inherit
}

.htw-text-orange-500{
  --tw-text-opacity:1;
  color:rgb(249 115 22 / var(--tw-text-opacity, 1))
}

.htw-text-primary-200{
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-primary-200) / var(--tw-text-opacity, 1))
}

.htw-text-primary-400{
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-primary-400) / var(--tw-text-opacity, 1))
}

.htw-text-primary-500{
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-primary-500) / var(--tw-text-opacity, 1))
}

.htw-text-primary-600{
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-primary-600) / var(--tw-text-opacity, 1))
}

.htw-text-primary-800{
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-primary-800) / var(--tw-text-opacity, 1))
}

.htw-text-red-500{
  --tw-text-opacity:1;
  color:rgb(239 68 68 / var(--tw-text-opacity, 1))
}

.htw-text-white{
  --tw-text-opacity:1;
  color:rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.htw-opacity-0{
  opacity:0
}

.htw-opacity-20{
  opacity:0.2
}

.htw-opacity-25{
  opacity:0.25
}

.htw-opacity-30{
  opacity:0.3
}

.htw-opacity-40{
  opacity:0.4
}

.htw-opacity-50{
  opacity:0.5
}

.htw-opacity-60{
  opacity:0.6
}

.htw-opacity-70{
  opacity:0.7
}

.htw-shadow-xl{
  --tw-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.htw-outline-none{
  outline:2px solid transparent;
  outline-offset:2px
}

.htw-transition-all{
  transition-property:all;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:150ms
}

.htw-transition-border{
  transition-property:border;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:150ms
}

.htw-transition-colors{
  transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:150ms
}

.htw-transition-none{
  transition-property:none
}

.htw-transition-transform{
  transition-property:transform;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:150ms
}

.htw-delay-150{
  transition-delay:150ms
}

.htw-duration-150{
  transition-duration:150ms
}

.htw-duration-200{
  transition-duration:200ms
}

.htw-duration-300{
  transition-duration:300ms
}

.htw-ease-\[cubic-bezier\(0\,1\,\.6\,1\)\]{
  transition-timing-function:cubic-bezier(0,1,.6,1)
}

.htw-ease-in-out{
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)
}

.htw-ease-out{
  transition-timing-function:cubic-bezier(0, 0, 0.2, 1)
}

.htw-will-change-transform{
  will-change:transform
}

.dark\:htw-prose-invert:is(.htw-dark *){
  --tw-prose-body:var(--tw-prose-invert-body);
  --tw-prose-headings:var(--tw-prose-invert-headings);
  --tw-prose-lead:var(--tw-prose-invert-lead);
  --tw-prose-links:var(--tw-prose-invert-links);
  --tw-prose-bold:var(--tw-prose-invert-bold);
  --tw-prose-counters:var(--tw-prose-invert-counters);
  --tw-prose-bullets:var(--tw-prose-invert-bullets);
  --tw-prose-hr:var(--tw-prose-invert-hr);
  --tw-prose-quotes:var(--tw-prose-invert-quotes);
  --tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);
  --tw-prose-captions:var(--tw-prose-invert-captions);
  --tw-prose-kbd:var(--tw-prose-invert-kbd);
  --tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);
  --tw-prose-code:var(--tw-prose-invert-code);
  --tw-prose-pre-code:var(--tw-prose-invert-pre-code);
  --tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);
  --tw-prose-th-borders:var(--tw-prose-invert-th-borders);
  --tw-prose-td-borders:var(--tw-prose-invert-td-borders)
}

.first\:htw-mt-0:first-child{
  margin-top:0px
}

.last\:htw-mb-0:last-child{
  margin-bottom:0px
}

.focus-within\:htw-border-primary-500:focus-within{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-primary-500) / var(--tw-border-opacity, 1))
}

.focus-within\:htw-bg-gray-500\/5:focus-within{
  background-color:rgb(var(--_histoire-color-gray-500) / 0.05)
}

.hover\:htw-border-primary-500:hover{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-primary-500) / var(--tw-border-opacity, 1))
}

.hover\:htw-bg-gray-200:hover{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-gray-200) / var(--tw-bg-opacity, 1))
}

.hover\:htw-bg-gray-500\/10:hover{
  background-color:rgb(var(--_histoire-color-gray-500) / 0.1)
}

.hover\:htw-bg-gray-500\/20:hover{
  background-color:rgb(var(--_histoire-color-gray-500) / 0.2)
}

.hover\:htw-bg-gray-500\/30:hover{
  background-color:rgb(var(--_histoire-color-gray-500) / 0.3)
}

.hover\:htw-bg-primary-100:hover{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-100) / var(--tw-bg-opacity, 1))
}

.hover\:htw-bg-primary-200:hover{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-200) / var(--tw-bg-opacity, 1))
}

.hover\:htw-bg-primary-300:hover{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-300) / var(--tw-bg-opacity, 1))
}

.hover\:htw-bg-primary-50:hover{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-50) / var(--tw-bg-opacity, 1))
}

.hover\:htw-bg-primary-500\/10:hover{
  background-color:rgb(var(--_histoire-color-primary-500) / 0.1)
}

.hover\:htw-bg-primary-500\/30:hover{
  background-color:rgb(var(--_histoire-color-primary-500) / 0.3)
}

.hover\:htw-bg-primary-500\/50:hover{
  background-color:rgb(var(--_histoire-color-primary-500) / 0.5)
}

.hover\:htw-bg-primary-600:hover{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-600) / var(--tw-bg-opacity, 1))
}

.hover\:htw-text-primary-500:hover{
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-primary-500) / var(--tw-text-opacity, 1))
}

.hover\:htw-opacity-100:hover{
  opacity:1
}

.focus\:htw-border-primary-500:focus{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-primary-500) / var(--tw-border-opacity, 1))
}

.focus\:htw-border-primary-500\/50:focus{
  border-color:rgb(var(--_histoire-color-primary-500) / 0.5)
}

.focus\:htw-opacity-100:focus{
  opacity:1
}

.focus-visible\:htw-border-primary-500:focus-visible{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-primary-500) / var(--tw-border-opacity, 1))
}

.active\:htw-bg-gray-600\/50:active{
  background-color:rgb(var(--_histoire-color-gray-600) / 0.5)
}

.htw-group:first-child .group-first\:htw-hidden{
  display:none
}

.htw-group:nth-child(odd) .group-odd\:htw-bg-gray-100\/50{
  background-color:rgb(var(--_histoire-color-gray-100) / 0.5)
}

.htw-group:focus-within .group-focus-within\:htw-visible{
  visibility:visible
}

.htw-group:hover .group-hover\:htw-flex{
  display:flex
}

.htw-group:hover .group-hover\:htw-border-primary-500{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-primary-500) / var(--tw-border-opacity, 1))
}

.htw-group:hover .group-hover\:htw-bg-primary-100{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-100) / var(--tw-bg-opacity, 1))
}

.htw-group:hover .group-hover\:htw-opacity-100{
  opacity:1
}

.htw-group:hover .group-hover\:htw-opacity-90{
  opacity:0.9
}

.htw-group:active .group-active\:htw-bg-gray-500\/20{
  background-color:rgb(var(--_histoire-color-gray-500) / 0.2)
}

.dark\:htw-divide-gray-750:is(.htw-dark *) > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-750) / var(--tw-divide-opacity, 1))
}

.dark\:htw-divide-gray-800:is(.htw-dark *) > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-800) / var(--tw-divide-opacity, 1))
}

.dark\:htw-divide-gray-850:is(.htw-dark *) > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-850) / var(--tw-divide-opacity, 1))
}

.dark\:htw-border-gray-700\/30:is(.htw-dark *){
  border-color:rgb(var(--_histoire-color-gray-700) / 0.3)
}

.dark\:htw-border-gray-750:is(.htw-dark *){
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-750) / var(--tw-border-opacity, 1))
}

.dark\:htw-border-gray-800:is(.htw-dark *){
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-800) / var(--tw-border-opacity, 1))
}

.dark\:htw-border-gray-850:is(.htw-dark *){
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-850) / var(--tw-border-opacity, 1))
}

.dark\:htw-border-primary-900:is(.htw-dark *){
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-primary-900) / var(--tw-border-opacity, 1))
}

.dark\:htw-border-white\/20:is(.htw-dark *){
  border-color:rgb(255 255 255 / 0.2)
}

.dark\:htw-border-white\/25:is(.htw-dark *){
  border-color:rgb(255 255 255 / 0.25)
}

.dark\:htw-border-white\/50:is(.htw-dark *){
  border-color:rgb(255 255 255 / 0.5)
}

.dark\:htw-bg-black:is(.htw-dark *){
  --tw-bg-opacity:1;
  background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))
}

.dark\:htw-bg-gray-600:is(.htw-dark *){
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-gray-600) / var(--tw-bg-opacity, 1))
}

.dark\:htw-bg-gray-700:is(.htw-dark *){
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-gray-700) / var(--tw-bg-opacity, 1))
}

.dark\:htw-bg-gray-750:is(.htw-dark *){
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-gray-750) / var(--tw-bg-opacity, 1))
}

.dark\:htw-bg-gray-900:is(.htw-dark *){
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-gray-900) / var(--tw-bg-opacity, 1))
}

.dark\:htw-bg-gray-900\/80:is(.htw-dark *){
  background-color:rgb(var(--_histoire-color-gray-900) / 0.8)
}

.dark\:htw-bg-primary-400:is(.htw-dark *){
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-400) / var(--tw-bg-opacity, 1))
}

.dark\:htw-bg-primary-600:is(.htw-dark *){
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-600) / var(--tw-bg-opacity, 1))
}

.dark\:htw-bg-primary-700:is(.htw-dark *){
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-700) / var(--tw-bg-opacity, 1))
}

.dark\:htw-bg-primary-800:is(.htw-dark *){
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-800) / var(--tw-bg-opacity, 1))
}

.dark\:htw-text-black:is(.htw-dark *){
  --tw-text-opacity:1;
  color:rgb(0 0 0 / var(--tw-text-opacity, 1))
}

.dark\:htw-text-gray-100:is(.htw-dark *){
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-gray-100) / var(--tw-text-opacity, 1))
}

.dark\:htw-text-gray-300:is(.htw-dark *){
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-gray-300) / var(--tw-text-opacity, 1))
}

.dark\:htw-text-primary-200:is(.htw-dark *){
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-primary-200) / var(--tw-text-opacity, 1))
}

.dark\:htw-text-primary-400:is(.htw-dark *){
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-primary-400) / var(--tw-text-opacity, 1))
}

.dark\:htw-text-white\/\[1\%\]:is(.htw-dark *){
  color:rgb(255 255 255 / 1%)
}

.dark\:focus-within\:htw-border-primary-500:focus-within:is(.htw-dark *){
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-primary-500) / var(--tw-border-opacity, 1))
}

.dark\:hover\:htw-border-primary-500:hover:is(.htw-dark *){
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-primary-500) / var(--tw-border-opacity, 1))
}

.dark\:hover\:htw-bg-gray-800:hover:is(.htw-dark *){
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-gray-800) / var(--tw-bg-opacity, 1))
}

.dark\:hover\:htw-bg-primary-700:hover:is(.htw-dark *){
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-700) / var(--tw-bg-opacity, 1))
}

.dark\:hover\:htw-bg-primary-800:hover:is(.htw-dark *){
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-800) / var(--tw-bg-opacity, 1))
}

.dark\:hover\:htw-bg-primary-900:hover:is(.htw-dark *){
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-900) / var(--tw-bg-opacity, 1))
}

.dark\:hover\:htw-text-primary-400:hover:is(.htw-dark *){
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-primary-400) / var(--tw-text-opacity, 1))
}

.dark\:focus\:htw-border-primary-500:focus:is(.htw-dark *){
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-primary-500) / var(--tw-border-opacity, 1))
}

.htw-group:nth-child(odd) .dark\:group-odd\:htw-bg-gray-750\/40:is(.htw-dark *){
  background-color:rgb(var(--_histoire-color-gray-750) / 0.4)
}

.htw-group:hover .group-hover\:dark\:htw-border-primary-500:is(.htw-dark *){
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-primary-500) / var(--tw-border-opacity, 1))
}

.htw-group:hover .dark\:group-hover\:htw-bg-primary-700:is(.htw-dark *){
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-700) / var(--tw-bg-opacity, 1))
}

@media (min-width: 640px){
  .sm\:htw-h-4{
    height:1rem
  }

  .sm\:htw-w-4{
    width:1rem
  }

  .sm\:htw-p-1{
    padding:0.25rem
  }

  .sm\:htw-py-4{
    padding-top:1rem;
    padding-bottom:1rem
  }
}

@media (min-width: 768px){
  .md\:htw-mx-auto{
    margin-left:auto;
    margin-right:auto
  }

  .md\:htw-mt-16{
    margin-top:4rem
  }

  .md\:htw-block{
    display:block
  }

  .md\:htw-max-w-\[600px\]{
    max-width:600px
  }

  .md\:htw-flex-col{
    flex-direction:column
  }

  .md\:htw-p-12{
    padding:3rem
  }

  .md\:htw-py-1\.5{
    padding-top:0.375rem;
    padding-bottom:0.375rem
  }
}

@media (min-width: 1024px){
  .lg\:htw-max-w-\[800px\]{
    max-width:800px
  }
}

@media (min-width: 1280px){
  .xl\:htw-max-w-\[900px\]{
    max-width:900px
  }
}

@media (max-width: 767px){
  .\!md\:htw-flex-col{
    flex-direction:column
  }
}

.histoire-story-list-folder-button:hover .\[\.histoire-story-list-folder-button\:hover_\&\]\:htw-opacity-100{
  opacity:1
}
}
@scope (:root) to (.__histoire-render-story:not(.__histoire-render-custom-controls)) {
.bind-tree-margin[data-v-64c2458f] {
  margin-left: var(--v2562213a);
}
.bind-icon-color[data-v-64c2458f] {
  color: var(--v1eff521f);
}
}
@scope (:root) to (.__histoire-render-story:not(.__histoire-render-custom-controls)) {
.bind-tree-padding[data-v-ee932a0c] {
  padding-left: var(--v5352bb71);
}
}
@scope (:root) to (.__histoire-render-story:not(.__histoire-render-custom-controls)) {
.bind-icon-color[data-v-d15ecb89] {
  color: var(--a3f02f4e);
}
}
@scope (:root) to (.__histoire-render-story:not(.__histoire-render-custom-controls)) {
.landscape > div > .dragger[data-v-4f40a1bb] {
  width: .625rem;
}
.portrait > div > .dragger[data-v-4f40a1bb] {
  height: .625rem;
}
.landscape > div > .dragger.dragger-offset-before[data-v-4f40a1bb] {
  right: 0;
}
.portrait > div > .dragger.dragger-offset-before[data-v-4f40a1bb] {
  bottom: 0;
}
.landscape > div > .dragger.dragger-offset-center[data-v-4f40a1bb] {
  right: -.3125rem;
}
.portrait > div > .dragger.dragger-offset-center[data-v-4f40a1bb] {
  bottom: -.3125rem;
}
.landscape > div > .dragger.dragger-offset-after[data-v-4f40a1bb] {
  right: -.625rem;
}
.portrait > div > .dragger.dragger-offset-after[data-v-4f40a1bb] {
  bottom: -.625rem;
}
}
@scope (:root) to (.__histoire-render-story:not(.__histoire-render-custom-controls)) {
.htw-base-empty[data-v-c5ecfead]:not(.no-animation) {
  animation: htw-base-empty-c5ecfead .15s .2s both;
}
@keyframes htw-base-empty-c5ecfead {
0% {
    opacity: 0;
}
100% {
    opacity: 1;
}
}
}
@scope (:root) to (.__histoire-render-story:not(.__histoire-render-custom-controls)) {
.__histoire-code-placeholder[data-v-96af7f40] {
  color: inherit;
  font-size: inherit;
}
}
@scope (:root) to (.__histoire-render-story:not(.__histoire-render-custom-controls)) {
.bind-preview-bg[data-v-c48fb2b2] {
  background-color: var(--v627bec82);
  color: var(--v35068428);
}
}
@scope (:root) to (.__histoire-render-story:not(.__histoire-render-custom-controls)) {
.bind-icon-color[data-v-feff9239] {
  color: var(--v60afaf4d);
}
.bind-preview-bg[data-v-feff9239] {
  background-color: var(--v3bd99e7e);
}
}
@scope (:root) to (.__histoire-render-story:not(.__histoire-render-custom-controls)) {
.bind-icon-color[data-v-1b279b85] {
  color: var(--ab2181a2);
}
}
@scope (:root) to (.__histoire-render-story:not(.__histoire-render-custom-controls)) {
.__histoire-hatched-pattern[data-v-91561117] {
  background: repeating-linear-gradient(135deg,
  transparent 0px,
  transparent 32px,
  currentColor 32px,
  currentColor 64px);
}
}
@scope (:root) to (.__histoire-render-story:not(.__histoire-render-custom-controls)) {
.bind-preview-bg[data-v-18122333] {
  background-color: var(--v5f6f4ee9);
}
}
@scope (:root) to (.__histoire-render-story:not(.__histoire-render-custom-controls)) {
.bind-icon-color[data-v-c2a43485] {
  color: var(--v41c4d268);
}
}
@scope (:root) to (.__histoire-render-story:not(.__histoire-render-custom-controls)) {
.bind-icon-color[data-v-096f6d6e] {
  color: var(--v0f021d3c);
}
}
@scope (:root) to (.__histoire-render-story:not(.__histoire-render-custom-controls)) {
img.colorize-black[data-v-2114f510] {
  filter: grayscale(100) brightness(0);
}
}
@scope (:root) to (.__histoire-render-story:not(.__histoire-render-custom-controls)) {
.bind-icon-color[data-v-9f94ad2b] {
  color: var(--v1f9aa6ca);
}
}
.htw-bind-col-size{grid-template-columns:repeat(auto-fill,minmax(var(--histoire-col-size),1fr))}.__histoire-json-code[data-v-d4369e5a] .cm-editor{height:100%;min-width:280px}.v-popper{line-height:0}.htw-dark .v-popper--theme-dropdown .v-popper__inner{--tw-border-opacity: 1;border-color:rgb(31 31 33 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(63 63 70 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(244 244 245 / var(--tw-text-opacity, 1))}.htw-dark .v-popper--theme-dropdown .v-popper__arrow-inner{--tw-border-opacity: 1;border-color:rgb(63 63 70 / var(--tw-border-opacity, 1))}.htw-dark .v-popper--theme-dropdown .v-popper__arrow-outer{--tw-border-opacity: 1;border-color:rgb(31 31 33 / var(--tw-border-opacity, 1))}.v-popper--theme-dropdown.v-popper__popper--show-from .v-popper__wrapper{transform:scale(.75)}.v-popper--theme-dropdown.v-popper__popper--show-to .v-popper__wrapper{transform:none;transition:transform .15s cubic-bezier(0,1,.5,1)}.v-popper__popper:focus-visible{outline:none}.htw-range-input::-webkit-slider-thumb{height:.75rem;width:.75rem;-webkit-appearance:none;appearance:none;border-radius:9999px;border-width:1px;border-style:solid;border-color:#00000040;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.htw-range-input:is(.htw-dark *)::-webkit-slider-thumb{border-color:#ffffff40;--tw-bg-opacity: 1;background-color:rgb(63 63 70 / var(--tw-bg-opacity, 1))}.htw-range-input:hover::-webkit-slider-thumb{--tw-border-opacity: 1 !important;border-color:rgb(16 185 129 / var(--tw-border-opacity, 1))!important;--tw-bg-opacity: 1 !important;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))!important}.htw-range-input::-moz-range-thumb{height:.75rem;width:.75rem;-moz-appearance:none;appearance:none;border-radius:9999px;border-width:1px;border-style:solid;border-color:#00000040;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.htw-range-input:is(.htw-dark *)::-moz-range-thumb{border-color:#ffffff40;--tw-bg-opacity: 1;background-color:rgb(63 63 70 / var(--tw-bg-opacity, 1))}.htw-range-input:hover::-moz-range-thumb{--tw-border-opacity: 1 !important;border-color:rgb(16 185 129 / var(--tw-border-opacity, 1))!important;--tw-bg-opacity: 1 !important;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))!important}html,
body {
  background: transparent !important;
}

body {
  margin: 0;
}

html {
  font-size: 1rem;
  font-family: 'Noto Sans Display', system-ui, sans-serif;
}

.htw-sandbox-hidden {
  display: none;
}

.__histoire-render-story:not(.__histoire-render-custom-controls) {
  overflow: auto;
  min-height: 100%;
}
/*$vite$:1*/