:root {
  --td-screen-xs: 320px;
  --td-screen-sm: 768px;
  --td-screen-md: 992px;
  --td-screen-lg: 1200px;
  --td-screen-xl: 1400px;
  --td-screen-xxl: 1880px;
}
@-moz-document url-prefix() {
  .narrow-scrollbar {
    scrollbar-color: var(--td-scrollbar-color) transparent;
    scrollbar-width: thin;
  }
}
.narrow-scrollbar::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.narrow-scrollbar::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  background-clip: content-box;
  background-color: var(--td-scrollbar-color);
  border-radius: 15px;
}
.narrow-scrollbar::-webkit-scrollbar-thumb:vertical:hover,
.narrow-scrollbar::-webkit-scrollbar-thumb:horizontal:hover {
  background-color: var(--td-scrollbar-hover-color);
}
.t-fake-arrow path {
  transition: d 0.2s;
  stroke: currentcolor;
}
.t-fake-arrow--active path {
  d: path('M3.75 10.2002L7.99274 5.7998L12.2361 10.0425');
}
.t-slide-down-enter-active,
.t-slide-down-leave-active {
  transition: height 0.2s cubic-bezier(0.38, 0, 0.24, 1), max-height 0.2s cubic-bezier(0.38, 0, 0.24, 1);
}

:root,
:root[theme-mode='light'] {
  --td-brand-color-1: #f2f3ff;
  --td-brand-color-2: #d9e1ff;
  --td-brand-color-3: #b5c7ff;
  --td-brand-color-4: #8eabff;
  --td-brand-color-5: #618dff;
  --td-brand-color-6: #366ef4;
  --td-brand-color-7: #0052d9;
  --td-brand-color-8: #003cab;
  --td-brand-color-9: #002a7c;
  --td-brand-color-10: #001a57;
  --td-warning-color-1: #fff1e9;
  --td-warning-color-2: #ffd9c2;
  --td-warning-color-3: #ffb98c;
  --td-warning-color-4: #fa9550;
  --td-warning-color-5: #e37318;
  --td-warning-color-6: #be5a00;
  --td-warning-color-7: #954500;
  --td-warning-color-8: #713300;
  --td-warning-color-9: #532300;
  --td-warning-color-10: #3b1700;
  --td-error-color-1: #fff0ed;
  --td-error-color-2: #ffd8d2;
  --td-error-color-3: #ffb9b0;
  --td-error-color-4: #ff9285;
  --td-error-color-5: #f6685d;
  --td-error-color-6: #d54941;
  --td-error-color-7: #ad352f;
  --td-error-color-8: #881f1c;
  --td-error-color-9: #68070a;
  --td-error-color-10: #490002;
  --td-success-color-1: #e3f9e9;
  --td-success-color-2: #c6f3d7;
  --td-success-color-3: #92dab2;
  --td-success-color-4: #56c08d;
  --td-success-color-5: #2ba471;
  --td-success-color-6: #008858;
  --td-success-color-7: #006c45;
  --td-success-color-8: #005334;
  --td-success-color-9: #003b23;
  --td-success-color-10: #002515;
  --td-gray-color-1: #f3f3f3;
  --td-gray-color-2: #eee;
  --td-gray-color-3: #e8e8e8;
  --td-gray-color-4: #ddd;
  --td-gray-color-5: #c6c6c6;
  --td-gray-color-6: #a6a6a6;
  --td-gray-color-7: #8b8b8b;
  --td-gray-color-8: #777;
  --td-gray-color-9: #5e5e5e;
  --td-gray-color-10: #4b4b4b;
  --td-gray-color-11: #393939;
  --td-gray-color-12: #2c2c2c;
  --td-gray-color-13: #242424;
  --td-gray-color-14: #181818;
  --td-font-white-1: #ffffff;
  --td-font-white-2: rgba(255, 255, 255, 0.55);
  --td-font-white-3: rgba(255, 255, 255, 0.35);
  --td-font-white-4: rgba(255, 255, 255, 0.22);
  --td-font-gray-1: rgba(0, 0, 0, 0.9);
  --td-font-gray-2: rgba(0, 0, 0, 0.6);
  --td-font-gray-3: rgba(0, 0, 0, 0.4);
  --td-font-gray-4: rgba(0, 0, 0, 0.26);
  --td-brand-color: var(--td-brand-color-7);
  --td-warning-color: var(--td-warning-color-5);
  --td-error-color: var(--td-error-color-6);
  --td-success-color: var(--td-success-color-5);
  --td-brand-color-hover: var(--td-brand-color-6);
  --td-brand-color-focus: var(--td-brand-color-2);
  --td-brand-color-active: var(--td-brand-color-8);
  --td-brand-color-disabled: var(--td-brand-color-3);
  --td-brand-color-light: var(--td-brand-color-1);
  --td-brand-color-light-hover: var(--td-brand-color-2);
  --td-warning-color-hover: var(--td-warning-color-4);
  --td-warning-color-focus: var(--td-warning-color-2);
  --td-warning-color-active: var(--td-warning-color-6);
  --td-warning-color-disabled: var(--td-warning-color-3);
  --td-warning-color-light: var(--td-warning-color-1);
  --td-warning-color-light-hover: var(--td-warning-color-2);
  --td-error-color-hover: var(--td-error-color-5);
  --td-error-color-focus: var(--td-error-color-2);
  --td-error-color-active: var(--td-error-color-7);
  --td-error-color-disabled: var(--td-error-color-3);
  --td-error-color-light: var(--td-error-color-1);
  --td-error-color-light-hover: var(--td-error-color-2);
  --td-success-color-hover: var(--td-success-color-4);
  --td-success-color-focus: var(--td-success-color-2);
  --td-success-color-active: var(--td-success-color-6);
  --td-success-color-disabled: var(--td-success-color-3);
  --td-success-color-light: var(--td-success-color-1);
  --td-success-color-light-hover: var(--td-success-color-2);
  --td-mask-active: rgba(0, 0, 0, 0.6);
  --td-mask-disabled: rgba(255, 255, 255, 0.6);
  --td-mask-background: rgba(255, 255, 255, 0.96);
  --td-bg-color-page: var(--td-gray-color-2);
  --td-bg-color-container: #fff;
  --td-bg-color-container-hover: var(--td-gray-color-1);
  --td-bg-color-container-active: var(--td-gray-color-3);
  --td-bg-color-container-select: #fff;
  --td-bg-color-secondarycontainer: var(--td-gray-color-1);
  --td-bg-color-secondarycontainer-hover: var(--td-gray-color-2);
  --td-bg-color-secondarycontainer-active: var(--td-gray-color-4);
  --td-bg-color-component: var(--td-gray-color-3);
  --td-bg-color-component-hover: var(--td-gray-color-4);
  --td-bg-color-component-active: var(--td-gray-color-6);
  --td-bg-color-secondarycomponent: var(--td-gray-color-4);
  --td-bg-color-secondarycomponent-hover: var(--td-gray-color-5);
  --td-bg-color-secondarycomponent-active: var(--td-gray-color-6);
  --td-bg-color-component-disabled: var(--td-gray-color-2);
  --td-bg-color-specialcomponent: #fff;
  --td-text-color-primary: var(--td-font-gray-1);
  --td-text-color-secondary: var(--td-font-gray-2);
  --td-text-color-placeholder: var(--td-font-gray-3);
  --td-text-color-disabled: var(--td-font-gray-4);
  --td-text-color-anti: #fff;
  --td-text-color-brand: var(--td-brand-color-7);
  --td-text-color-link: var(--td-brand-color-8);
  --td-text-color-watermark: rgba(0, 0, 0, 0.1);
  --td-border-level-1-color: var(--td-gray-color-3);
  --td-component-stroke: var(--td-gray-color-3);
  --td-border-level-2-color: var(--td-gray-color-4);
  --td-component-border: var(--td-gray-color-4);
  --td-shadow-1: 0 1px 10px rgba(0, 0, 0, 0.05), 0 4px 5px rgba(0, 0, 0, 0.08), 0 2px 4px -1px rgba(0, 0, 0, 0.12);
  --td-shadow-2: 0 3px 14px 2px rgba(0, 0, 0, 0.05), 0 8px 10px 1px rgba(0, 0, 0, 0.06), 0 5px 5px -3px rgba(0, 0, 0, 0.1);
  --td-shadow-3: 0 6px 30px 5px rgba(0, 0, 0, 0.05), 0 16px 24px 2px rgba(0, 0, 0, 0.04), 0 8px 10px -5px rgba(0, 0, 0, 0.08);
  --td-shadow-inset-top: inset 0 0.5px 0 #dcdcdc;
  --td-shadow-inset-right: inset 0.5px 0 0 #dcdcdc;
  --td-shadow-inset-bottom: inset 0 -0.5px 0 #dcdcdc;
  --td-shadow-inset-left: inset -0.5px 0 0 #dcdcdc;
  --td-table-shadow-color: rgba(0, 0, 0, 0.08);
  --td-scrollbar-color: rgba(0, 0, 0, 0.1);
  --td-scrollbar-hover-color: rgba(0, 0, 0, 0.3);
  --td-scroll-track-color: #fff;
}
:root.dark,
:root[theme-mode='dark'] {
  --td-brand-color-1: #1b2f51;
  --td-brand-color-2: #173463;
  --td-brand-color-3: #143975;
  --td-brand-color-4: #103d88;
  --td-brand-color-5: #0d429a;
  --td-brand-color-6: #054bbe;
  --td-brand-color-7: #2667d4;
  --td-brand-color-8: #4582e6;
  --td-brand-color-9: #699ef5;
  --td-brand-color-10: #96bbf8;
  --td-warning-color-1: #4f2a1d;
  --td-warning-color-2: #582f21;
  --td-warning-color-3: #733c23;
  --td-warning-color-4: #a75d2b;
  --td-warning-color-5: #cf6e2d;
  --td-warning-color-6: #dc7633;
  --td-warning-color-7: #e8935c;
  --td-warning-color-8: #ecbf91;
  --td-warning-color-9: #eed7bf;
  --td-warning-color-10: #f3e9dc;
  --td-error-color-1: #472324;
  --td-error-color-2: #5e2a2d;
  --td-error-color-3: #703439;
  --td-error-color-4: #83383e;
  --td-error-color-5: #a03f46;
  --td-error-color-6: #c64751;
  --td-error-color-7: #de6670;
  --td-error-color-8: #ec888e;
  --td-error-color-9: #edb1b6;
  --td-error-color-10: #eeced0;
  --td-success-color-1: #193a2a;
  --td-success-color-2: #1a4230;
  --td-success-color-3: #17533d;
  --td-success-color-4: #0d7a55;
  --td-success-color-5: #059465;
  --td-success-color-6: #43af8a;
  --td-success-color-7: #46bf96;
  --td-success-color-8: #80d2b6;
  --td-success-color-9: #b4e1d3;
  --td-success-color-10: #deede8;
  --td-gray-color-1: #f3f3f3;
  --td-gray-color-2: #eee;
  --td-gray-color-3: #e8e8e8;
  --td-gray-color-4: #ddd;
  --td-gray-color-5: #c6c6c6;
  --td-gray-color-6: #a6a6a6;
  --td-gray-color-7: #8b8b8b;
  --td-gray-color-8: #777;
  --td-gray-color-9: #5e5e5e;
  --td-gray-color-10: #4b4b4b;
  --td-gray-color-11: #393939;
  --td-gray-color-12: #2c2c2c;
  --td-gray-color-13: #242424;
  --td-gray-color-14: #181818;
  --td-font-white-1: rgba(255, 255, 255, 0.9);
  --td-font-white-2: rgba(255, 255, 255, 0.55);
  --td-font-white-3: rgba(255, 255, 255, 0.35);
  --td-font-white-4: rgba(255, 255, 255, 0.22);
  --td-font-gray-1: rgba(0, 0, 0, 0.9);
  --td-font-gray-2: rgba(0, 0, 0, 0.6);
  --td-font-gray-3: rgba(0, 0, 0, 0.4);
  --td-font-gray-4: rgba(0, 0, 0, 0.26);
  --td-brand-color: var(--td-brand-color-8);
  --td-warning-color: var(--td-warning-color-5);
  --td-error-color: var(--td-error-color-6);
  --td-success-color: var(--td-success-color-5);
  --td-brand-color-hover: var(--td-brand-color-7);
  --td-brand-color-focus: var(--td-brand-color-2);
  --td-brand-color-active: var(--td-brand-color-9);
  --td-brand-color-disabled: var(--td-brand-color-3);
  --td-brand-color-light: var(--td-brand-color-1);
  --td-brand-color-light-hover: var(--td-brand-color-2);
  --td-warning-color-hover: var(--td-warning-color-4);
  --td-warning-color-focus: var(--td-warning-color-2);
  --td-warning-color-active: var(--td-warning-color-6);
  --td-warning-color-disabled: var(--td-warning-color-3);
  --td-warning-color-light: var(--td-warning-color-1);
  --td-warning-color-light-hover: var(--td-warning-color-2);
  --td-error-color-hover: var(--td-error-color-5);
  --td-error-color-focus: var(--td-error-color-2);
  --td-error-color-active: var(--td-error-color-7);
  --td-error-color-disabled: var(--td-error-color-3);
  --td-error-color-light: var(--td-error-color-1);
  --td-error-color-light-hover: var(--td-error-color-2);
  --td-success-color-hover: var(--td-success-color-4);
  --td-success-color-focus: var(--td-success-color-2);
  --td-success-color-active: var(--td-success-color-6);
  --td-success-color-disabled: var(--td-success-color-3);
  --td-success-color-light: var(--td-success-color-1);
  --td-success-color-light-hover: var(--td-success-color-2);
  --td-mask-active: rgba(0, 0, 0, 0.4);
  --td-mask-disabled: rgba(0, 0, 0, 0.6);
  --td-mask-background: rgba(36, 36, 36, 0.96);
  --td-bg-color-page: var(--td-gray-color-14);
  --td-bg-color-container: var(--td-gray-color-13);
  --td-bg-color-container-hover: var(--td-gray-color-12);
  --td-bg-color-container-active: var(--td-gray-color-10);
  --td-bg-color-container-select: var(--td-gray-color-9);
  --td-bg-color-secondarycontainer: var(--td-gray-color-12);
  --td-bg-color-secondarycontainer-hover: var(--td-gray-color-11);
  --td-bg-color-secondarycontainer-active: var(--td-gray-color-9);
  --td-bg-color-component: var(--td-gray-color-11);
  --td-bg-color-component-hover: var(--td-gray-color-10);
  --td-bg-color-component-active: var(--td-gray-color-9);
  --td-bg-color-secondarycomponent: var(--td-gray-color-10);
  --td-bg-color-secondarycomponent-hover: var(--td-gray-color-9);
  --td-bg-color-secondarycomponent-active: var(--td-gray-color-8);
  --td-bg-color-component-disabled: var(--td-gray-color-12);
  --td-bg-color-specialcomponent: transparent;
  --td-text-color-primary: var(--td-font-white-1);
  --td-text-color-secondary: var(--td-font-white-2);
  --td-text-color-placeholder: var(--td-font-white-3);
  --td-text-color-disabled: var(--td-font-white-4);
  --td-text-color-anti: #fff;
  --td-text-color-brand: var(--td-brand-color-8);
  --td-text-color-link: var(--td-brand-color-8);
  --td-text-color-watermark: rgba(255, 255, 255, 0.1);
  --td-border-level-1-color: var(--td-gray-color-11);
  --td-component-stroke: var(--td-gray-color-11);
  --td-border-level-2-color: var(--td-gray-color-9);
  --td-component-border: var(--td-gray-color-9);
  --td-shadow-1: 0 4px 6px rgba(0, 0, 0, 0.06), 0 1px 10px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.12);
  --td-shadow-2: 0 8px 10px rgba(0, 0, 0, 0.12), 0 3px 14px rgba(0, 0, 0, 0.1), 0 5px 5px rgba(0, 0, 0, 0.16);
  --td-shadow-3: 0 16px 24px rgba(0, 0, 0, 0.14), 0 6px 30px rgba(0, 0, 0, 0.12), 0 8px 10px rgba(0, 0, 0, 0.2);
  --td-shadow-inset-top: inset 0 0.5px 0 #5e5e5e;
  --td-shadow-inset-right: inset 0.5px 0 0 #5e5e5e;
  --td-shadow-inset-bottom: inset 0 -0.5px 0 #5e5e5e;
  --td-shadow-inset-left: inset -0.5px 0 0 #5e5e5e;
  --td-table-shadow-color: rgba(0, 0, 0, 0.55);
  --td-scrollbar-color: rgba(255, 255, 255, 0.1);
  --td-scrollbar-hover-color: rgba(255, 255, 255, 0.3);
  --td-scroll-track-color: #333;
}
:root {
  --td-radius-small: 2px;
  --td-radius-default: 3px;
  --td-radius-medium: 6px;
  --td-radius-large: 9px;
  --td-radius-extraLarge: 12px;
  --td-radius-round: 999px;
  --td-radius-circle: 50%;
  --td-font-family: PingFang SC, Microsoft YaHei, Arial Regular;
  --td-font-family-medium: PingFang SC, Microsoft YaHei, Arial Medium;
  --td-font-size-link-small: 12px;
  --td-font-size-link-medium: 14px;
  --td-font-size-link-large: 16px;
  --td-font-size-mark-small: 12px;
  --td-font-size-mark-medium: 14px;
  --td-font-size-body-small: 12px;
  --td-font-size-body-medium: 14px;
  --td-font-size-body-large: 16px;
  --td-font-size-title-small: 14px;
  --td-font-size-title-medium: 16px;
  --td-font-size-title-large: 18px;
  --td-font-size-title-extraLarge: 20px;
  --td-font-size-headline-small: 24px;
  --td-font-size-headline-medium: 28px;
  --td-font-size-headline-large: 36px;
  --td-font-size-display-medium: 48px;
  --td-font-size-display-large: 64px;
  --td-line-height-link-small: 20px;
  --td-line-height-link-medium: 22px;
  --td-line-height-link-large: 24px;
  --td-line-height-mark-small: 20px;
  --td-line-height-mark-medium: 22px;
  --td-line-height-body-small: 20px;
  --td-line-height-body-medium: 22px;
  --td-line-height-body-large: 24px;
  --td-line-height-title-small: 22px;
  --td-line-height-title-medium: 24px;
  --td-line-height-title-large: 26px;
  --td-line-height-title-extraLarge: 28px;
  --td-line-height-headline-small: 32px;
  --td-line-height-headline-medium: 36px;
  --td-line-height-headline-large: 44px;
  --td-line-height-display-medium: 56px;
  --td-line-height-display-large: 72px;
  --td-font-link-small: var(--td-font-size-link-small) / var(--td-line-height-link-small) var(--td-font-family);
  --td-font-link-medium: var(--td-font-size-link-medium) / var(--td-line-height-link-medium) var(--td-font-family);
  --td-font-link-large: var(--td-font-size-link-large) / var(--td-line-height-link-large) var(--td-font-family);
  --td-font-mark-small: 600 var(--td-font-size-mark-small) / var(--td-line-height-mark-small) var(--td-font-family);
  --td-font-mark-medium: 600 var(--td-font-size-mark-medium) / var(--td-line-height-mark-medium) var(--td-font-family);
  --td-font-body-small: var(--td-font-size-body-small) / var(--td-line-height-body-small) var(--td-font-family);
  --td-font-body-medium: var(--td-font-size-body-medium) / var(--td-line-height-body-medium) var(--td-font-family);
  --td-font-body-large: var(--td-font-size-body-large) / var(--td-line-height-body-large) var(--td-font-family);
  --td-font-title-small: 600 var(--td-font-size-title-small) / var(--td-line-height-title-small) var(--td-font-family);
  --td-font-title-medium: 600 var(--td-font-size-title-medium) / var(--td-line-height-title-medium)
    var(--td-font-family);
  --td-font-title-large: 600 var(--td-font-size-title-large) / var(--td-line-height-title-large) var(--td-font-family);
  --td-font-title-extraLarge: 600 var(--td-font-size-title-extraLarge) / var(--td-line-height-title-extraLarge)
    var(--td-font-family);
  --td-font-headline-small: 600 var(--td-font-size-headline-small) / var(--td-line-height-headline-small)
    var(--td-font-family);
  --td-font-headline-medium: 600 var(--td-font-size-headline-medium) / var(--td-line-height-headline-medium)
    var(--td-font-family);
  --td-font-headline-large: 600 var(--td-font-size-headline-large) / var(--td-line-height-headline-large)
    var(--td-font-family);
  --td-font-display-medium: 600 var(--td-font-size-display-medium) / var(--td-line-height-display-medium)
    var(--td-font-family);
  --td-font-display-large: 600 var(--td-font-size-display-large) / var(--td-line-height-display-large)
    var(--td-font-family);
  --td-size-1: 2px;
  --td-size-2: 4px;
  --td-size-3: 6px;
  --td-size-4: 8px;
  --td-size-5: 12px;
  --td-size-6: 16px;
  --td-size-7: 20px;
  --td-size-8: 24px;
  --td-size-9: 28px;
  --td-size-10: 32px;
  --td-size-11: 36px;
  --td-size-12: 40px;
  --td-size-13: 48px;
  --td-size-14: 56px;
  --td-size-15: 64px;
  --td-size-16: 72px;
  --td-comp-size-xxxs: var(--td-size-6);
  --td-comp-size-xxs: var(--td-size-7);
  --td-comp-size-xs: var(--td-size-8);
  --td-comp-size-s: var(--td-size-9);
  --td-comp-size-m: var(--td-size-10);
  --td-comp-size-l: var(--td-size-11);
  --td-comp-size-xl: var(--td-size-12);
  --td-comp-size-xxl: var(--td-size-13);
  --td-comp-size-xxxl: var(--td-size-14);
  --td-comp-size-xxxxl: var(--td-size-15);
  --td-comp-size-xxxxxl: var(--td-size-16);
  --td-pop-padding-s: var(--td-size-2);
  --td-pop-padding-m: var(--td-size-3);
  --td-pop-padding-l: var(--td-size-4);
  --td-pop-padding-xl: var(--td-size-5);
  --td-pop-padding-xxl: var(--td-size-6);
  --td-comp-paddingLR-xxs: var(--td-size-1);
  --td-comp-paddingLR-xs: var(--td-size-2);
  --td-comp-paddingLR-s: var(--td-size-4);
  --td-comp-paddingLR-m: var(--td-size-5);
  --td-comp-paddingLR-l: var(--td-size-6);
  --td-comp-paddingLR-xl: var(--td-size-8);
  --td-comp-paddingLR-xxl: var(--td-size-10);
  --td-comp-paddingTB-xxs: var(--td-size-1);
  --td-comp-paddingTB-xs: var(--td-size-2);
  --td-comp-paddingTB-s: var(--td-size-4);
  --td-comp-paddingTB-m: var(--td-size-5);
  --td-comp-paddingTB-l: var(--td-size-6);
  --td-comp-paddingTB-xl: var(--td-size-8);
  --td-comp-paddingTB-xxl: var(--td-size-10);
  --td-comp-margin-xxs: var(--td-size-1);
  --td-comp-margin-xs: var(--td-size-2);
  --td-comp-margin-s: var(--td-size-4);
  --td-comp-margin-m: var(--td-size-5);
  --td-comp-margin-l: var(--td-size-6);
  --td-comp-margin-xl: var(--td-size-7);
  --td-comp-margin-xxl: var(--td-size-8);
  --td-comp-margin-xxxl: var(--td-size-10);
  --td-comp-margin-xxxxl: var(--td-size-12);
}
*, ::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:  ;
}/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

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

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: PingFang SC, -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

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

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

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

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

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

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
  :root {
    --radius: 0.6rem;
  }

  /* Theme tokens (3 styles): light / dark / studio
     - default: light
     - applied via: document.documentElement.dataset.theme = "light" | "dark" | "studio" */
  :root,
  [data-theme="light"] {
    --background: 220 33% 98%;
    --foreground: 222 47% 11%;

    --card: 0 0% 100%;
    --card-foreground: 222 47% 11%;

    --popover: 0 0% 100%;
    --popover-foreground: 222 47% 11%;

    --primary: 220 100% 68%;
    --primary-foreground: 210 40% 98%;

    --secondary: 220 20% 96%;
    --secondary-foreground: 222 47% 11%;

    --muted: 220 20% 96%;
    --muted-foreground: 215 16% 45%;

    --accent: 216 24% 95%;
    --accent-foreground: 222 47% 11%;

    /* Low-glare destructive: use softer red + provide dedicated danger tokens */
    --destructive: 0 72% 52%;
    --destructive-foreground: 210 40% 98%;

    --danger-bg: 0 85% 97%;
    --danger-fg: 0 72% 42%;
    --danger-border: 0 55% 86%;
    --danger-hover-bg: 0 90% 95%;

    --border: 220 16% 88%;
    --input: 220 16% 88%;
    --ring: 220 100% 68%;

    --shadow-elev-1: 0 1px 2px rgba(15, 23, 42, 0.06);
    --shadow-elev-2: 0 12px 34px rgba(15, 23, 42, 0.10);

    --chart-1: 220 100% 68%;
    --chart-2: 267 83% 60%;
    --chart-3: 142 71% 45%;
    --chart-4: 38 92% 50%;
    --chart-5: 188 86% 45%;
  }

  /* Dark: reduce saturation + increase depth for a calmer "graphite" look */
  [data-theme="dark"] {
    color-scheme: dark;

    --background: 222 28% 7%;
    --foreground: 210 40% 98%;

    --card: 222 22% 11%;
    --card-foreground: 210 40% 98%;

    --popover: 222 22% 11%;
    --popover-foreground: 210 40% 98%;

    --primary: 221 90% 66%;
    --primary-foreground: 222 28% 7%;

    --secondary: 222 18% 14%;
    --secondary-foreground: 210 40% 98%;

    --muted: 222 18% 14%;
    --muted-foreground: 220 11% 72%;

    --accent: 222 18% 14%;
    --accent-foreground: 210 40% 98%;

    --destructive: 0 70% 62%;
    --destructive-foreground: 210 40% 98%;

    --danger-bg: 0 28% 18%;
    --danger-fg: 0 78% 78%;
    --danger-border: 0 22% 30%;
    --danger-hover-bg: 0 30% 20%;

    --border: 222 14% 20%;
    --input: 222 14% 20%;
    --ring: 221 90% 66%;

    --shadow-elev-1: 0 1px 0 rgba(255, 255, 255, 0.04), 0 12px 30px rgba(0, 0, 0, 0.65);
    --shadow-elev-2: 0 1px 0 rgba(255, 255, 255, 0.05), 0 24px 80px rgba(0, 0, 0, 0.75);

    --chart-1: 220 92% 68%;
    --chart-2: 267 83% 68%;
    --chart-3: 142 71% 55%;
    --chart-4: 38 92% 58%;
    --chart-5: 188 86% 52%;
  }

  [data-theme="studio"] {
    color-scheme: light;

    /* Studio: 参考图（VS Code 设置页风格）— 明亮底 + 冷色蓝强调 */
    --background: 210 33% 98%;
    --foreground: 220 14% 12%;

    --card: 0 0% 100%;
    --card-foreground: 220 14% 12%;

    --popover: 0 0% 100%;
    --popover-foreground: 220 14% 12%;

    --primary: 207 90% 42%;
    --primary-foreground: 0 0% 100%;

    --secondary: 220 16% 96%;
    --secondary-foreground: 220 14% 12%;

    --muted: 220 16% 96%;
    --muted-foreground: 220 9% 42%;

    --accent: 211 100% 96%;
    --accent-foreground: 207 90% 28%;

    --destructive: 0 72% 52%;
    --destructive-foreground: 0 0% 100%;

    --danger-bg: 0 85% 97%;
    --danger-fg: 0 72% 42%;
    --danger-border: 0 55% 86%;
    --danger-hover-bg: 0 90% 95%;

    --border: 220 14% 90%;
    --input: 220 14% 90%;
    --ring: 207 90% 42%;

    --shadow-elev-1: 0 1px 2px rgba(15, 23, 42, 0.06);
    --shadow-elev-2: 0 18px 48px rgba(15, 23, 42, 0.12);

    --chart-1: 207 90% 42%;
    --chart-2: 195 85% 40%;
    --chart-3: 142 55% 36%;
    --chart-4: 38 92% 45%;
    --chart-5: 268 55% 52%;
  }

  [data-theme="studio-dark"] {
    color-scheme: dark;

    /* Studio Dark: 以对话页 variant=2（黑曜石玻璃）为 PC 全站基线 */
    --background: 222 28% 7%;
    --foreground: 210 40% 98%;

    --card: 222 22% 11%;
    --card-foreground: 210 40% 98%;

    --popover: 222 22% 11%;
    --popover-foreground: 210 40% 98%;

    /* 对齐 obsidian 主色：#60A5FA / 近似 213 94% 68% */
    --primary: 213 94% 68%;
    --primary-foreground: 222 28% 7%;

    --secondary: 222 18% 14%;
    --secondary-foreground: 210 40% 98%;

    --muted: 222 18% 14%;
    --muted-foreground: 220 11% 72%;

    --accent: 222 18% 14%;
    --accent-foreground: 210 40% 98%;

    --destructive: 0 70% 62%;
    --destructive-foreground: 210 40% 98%;

    --danger-bg: 0 28% 18%;
    --danger-fg: 0 78% 78%;
    --danger-border: 0 22% 30%;
    --danger-hover-bg: 0 30% 20%;

    --border: 222 14% 20%;
    --input: 222 14% 20%;
    --ring: 213 94% 68%;

    --shadow-elev-1: 0 1px 0 rgba(255, 255, 255, 0.04), 0 12px 30px rgba(0, 0, 0, 0.65);
    --shadow-elev-2: 0 1px 0 rgba(255, 255, 255, 0.05), 0 24px 80px rgba(0, 0, 0, 0.75);

    --chart-1: 213 94% 68%;
    --chart-2: 195 85% 58%;
    --chart-3: 142 71% 55%;
    --chart-4: 38 92% 58%;
    --chart-5: 268 80% 65%;

    /* Glass tokens（给非 Chat 页面复用 styles.css 的 .ea-*-panel） */
    --ea-glass-bg: rgba(28, 32, 40, 0.60);
    --ea-glass-bg-strong: rgba(20, 24, 30, 0.92);
    --ea-glass-border: rgba(255, 255, 255, 0.08);
    --ea-glass-shadow: 0 18px 60px rgba(0,0,0,0.55);
    --ea-glass-shadow-hover: 0 20px 70px rgba(0,0,0,0.62);

    /* Obsidian Theme Tokens (Depth alignment with variant=2) */
    --ea-obsidian-bg: var(--ea-glass-bg);
    --ea-obsidian-border: var(--ea-glass-border);
    --ea-obsidian-brand: #60A5FA;
    --ea-obsidian-brand-bg: rgba(0, 122, 255, 0.12);
    --ea-obsidian-brand-line: #007AFF;
    --ea-obsidian-text: rgba(226, 232, 240, 0.92);
    --ea-obsidian-shadow-soft: 0 4px 20px rgba(0,0,0,0.25);
    --ea-obsidian-terminal: rgba(20, 24, 30, 0.88);
  }

  /* 全站 PC 风格深度增强 */
  [data-theme="studio-dark"][data-ea-shell="pc"] .ea-glass-panel {
    background: var(--ea-glass-bg);
    border: 1px solid var(--ea-glass-border);
    box-shadow: var(--ea-glass-shadow), inset 0 0 0 1px rgba(255,255,255,0.06);
    backdrop-filter: blur(35px) saturate(180%);
    -webkit-backdrop-filter: blur(35px) saturate(180%);
  }

  [data-theme="studio-dark"][data-ea-shell="pc"] .ea-header {
    background: var(--ea-glass-bg);
    border: 1px solid var(--ea-glass-border);
    box-shadow: var(--ea-glass-shadow), inset 0 0 0 1px rgba(255,255,255,0.04);
    backdrop-filter: blur(35px) saturate(180%);
    -webkit-backdrop-filter: blur(35px) saturate(180%);
  }

  /* 侧边栏项对齐 variant=2 风格 */
  * {
  border-color: hsl(var(--border));
}

  html {
    text-rendering: geometricPrecision;
  }

  /* Reduce layout shift caused by scrollbars in scrollable panes */
  .ea-scrollbar {
    scrollbar-gutter: stable both-edges;
    scrollbar-width: thin;
    scrollbar-color: rgba(15,23,42,0.0) transparent;
  }

  .ea-scrollbar:hover {
    scrollbar-color: rgba(15,23,42,0.28) transparent;
  }

  .ea-scrollbar::-webkit-scrollbar {
    width: 4px;
    height: 4px;
  }

  .ea-scrollbar::-webkit-scrollbar-thumb {
    background: rgba(15,23,42,0.0);
    border-radius: 999px;
    border: 0 solid transparent;
    background-clip: content-box;
  }

  .ea-scrollbar:hover::-webkit-scrollbar-thumb {
    background: rgba(15,23,42,0.28);
  }

  .ea-scrollbar::-webkit-scrollbar-track {
    background: transparent;
  }

  .ea-scrollbar::-webkit-scrollbar-corner {
    background: transparent;
  }

  /* Smooth theme switch */
  :root.theme-transition,
  :root.theme-transition * {
    transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow;
    transition-duration: 200ms;
    transition-timing-function: cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  body {
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
}

  [data-theme="dark"] body {
    background-image:
      radial-gradient(1200px circle at 12% -12%, hsl(var(--primary) / 0.14), transparent 56%),
      radial-gradient(900px circle at 92% 0%, hsl(var(--chart-2) / 0.10), transparent 52%),
      radial-gradient(800px circle at 50% 112%, hsl(var(--chart-5) / 0.06), transparent 56%);
    background-attachment: fixed;
  }

  [data-theme="studio"] body {
    background-image:
      radial-gradient(1200px circle at 10% -12%, hsl(var(--primary) / 0.10), transparent 56%),
      radial-gradient(900px circle at 96% 0%, hsl(var(--chart-2) / 0.08), transparent 52%),
      radial-gradient(800px circle at 50% 112%, hsl(var(--chart-5) / 0.06), transparent 56%);
    background-attachment: fixed;
  }

  [data-theme="studio-dark"] body {
    /* 对齐参考页（/chat/*?variant=2）的黑曜石渐变背景 */
    background-image: linear-gradient(145deg, #0B0D11 0%, #15181F 100%);
    background-attachment: fixed;
  }
.container {
  width: 100%;
}
@media (min-width: 640px) {

  .container {
    max-width: 640px;
  }
}
@media (min-width: 768px) {

  .container {
    max-width: 768px;
  }
}
@media (min-width: 1024px) {

  .container {
    max-width: 1024px;
  }
}
@media (min-width: 1280px) {

  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1536px) {

  .container {
    max-width: 1536px;
  }
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.pointer-events-none {
  pointer-events: none;
}
.pointer-events-auto {
  pointer-events: auto;
}
.visible {
  visibility: visible;
}
.invisible {
  visibility: hidden;
}
.static {
  position: static;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.inset-0 {
  inset: 0px;
}
.inset-x-0 {
  left: 0px;
  right: 0px;
}
.inset-y-0 {
  top: 0px;
  bottom: 0px;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-16 {
  bottom: 4rem;
}
.bottom-2 {
  bottom: 0.5rem;
}
.bottom-3 {
  bottom: 0.75rem;
}
.bottom-6 {
  bottom: 1.5rem;
}
.left-0 {
  left: 0px;
}
.left-2 {
  left: 0.5rem;
}
.left-3 {
  left: 0.75rem;
}
.right-0 {
  right: 0px;
}
.right-2 {
  right: 0.5rem;
}
.right-3 {
  right: 0.75rem;
}
.right-4 {
  right: 1rem;
}
.right-auto {
  right: auto;
}
.top-0 {
  top: 0px;
}
.top-1\/2 {
  top: 50%;
}
.top-2 {
  top: 0.5rem;
}
.top-3 {
  top: 0.75rem;
}
.top-4 {
  top: 1rem;
}
.top-full {
  top: 100%;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-30 {
  z-index: 30;
}
.z-40 {
  z-index: 40;
}
.z-50 {
  z-index: 50;
}
.z-\[1000\] {
  z-index: 1000;
}
.col-span-2 {
  grid-column: span 2 / span 2;
}
.m-4 {
  margin: 1rem;
}
.-mx-1 {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}
.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.mx-3 {
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}
.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-0\.5 {
  margin-top: 0.125rem;
  margin-bottom: 0.125rem;
}
.my-1 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.my-2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.my-3 {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
.mb-1 {
  margin-bottom: 0.25rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.ml-0\.5 {
  margin-left: 0.125rem;
}
.ml-1 {
  margin-left: 0.25rem;
}
.ml-1\.5 {
  margin-left: 0.375rem;
}
.ml-2 {
  margin-left: 0.5rem;
}
.ml-4 {
  margin-left: 1rem;
}
.ml-auto {
  margin-left: auto;
}
.mr-1 {
  margin-right: 0.25rem;
}
.mr-2 {
  margin-right: 0.5rem;
}
.mt-0\.5 {
  margin-top: 0.125rem;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-5 {
  margin-top: 1.25rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-8 {
  margin-top: 2rem;
}
.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.inline {
  display: inline;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.table {
  display: table;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.aspect-square {
  aspect-ratio: 1 / 1;
}
.\!h-9 {
  height: 2.25rem !important;
}
.h-10 {
  height: 2.5rem;
}
.h-12 {
  height: 3rem;
}
.h-14 {
  height: 3.5rem;
}
.h-16 {
  height: 4rem;
}
.h-2 {
  height: 0.5rem;
}
.h-28 {
  height: 7rem;
}
.h-3 {
  height: 0.75rem;
}
.h-3\.5 {
  height: 0.875rem;
}
.h-4 {
  height: 1rem;
}
.h-5 {
  height: 1.25rem;
}
.h-6 {
  height: 1.5rem;
}
.h-64 {
  height: 16rem;
}
.h-7 {
  height: 1.75rem;
}
.h-72 {
  height: 18rem;
}
.h-8 {
  height: 2rem;
}
.h-80 {
  height: 20rem;
}
.h-9 {
  height: 2.25rem;
}
.h-\[100dvh\] {
  height: 100dvh;
}
.h-\[120px\] {
  height: 120px;
}
.h-\[1px\] {
  height: 1px;
}
.h-\[220px\] {
  height: 220px;
}
.h-\[360px\] {
  height: 360px;
}
.h-\[400px\] {
  height: 400px;
}
.h-\[420px\] {
  height: 420px;
}
.h-\[60vh\] {
  height: 60vh;
}
.h-\[84px\] {
  height: 84px;
}
.h-\[85vh\] {
  height: 85vh;
}
.h-\[calc\(100dvh-var\(--ea-chat-offset\2c 12\.5rem\)-var\(--ea-bottom-nav\2c 0rem\)\)\] {
  height: calc(100dvh - var(--ea-chat-offset,12.5rem) - var(--ea-bottom-nav,0rem));
}
.h-\[calc\(100vh-12rem\)\] {
  height: calc(100vh - 12rem);
}
.h-full {
  height: 100%;
}
.h-px {
  height: 1px;
}
.h-screen {
  height: 100vh;
}
.max-h-20 {
  max-height: 5rem;
}
.max-h-40 {
  max-height: 10rem;
}
.max-h-48 {
  max-height: 12rem;
}
.max-h-52 {
  max-height: 13rem;
}
.max-h-56 {
  max-height: 14rem;
}
.max-h-64 {
  max-height: 16rem;
}
.max-h-96 {
  max-height: 24rem;
}
.max-h-\[120px\] {
  max-height: 120px;
}
.max-h-\[140px\] {
  max-height: 140px;
}
.max-h-\[160px\] {
  max-height: 160px;
}
.max-h-\[180px\] {
  max-height: 180px;
}
.max-h-\[200px\] {
  max-height: 200px;
}
.max-h-\[220px\] {
  max-height: 220px;
}
.max-h-\[240px\] {
  max-height: 240px;
}
.max-h-\[250px\] {
  max-height: 250px;
}
.max-h-\[260px\] {
  max-height: 260px;
}
.max-h-\[28\%\] {
  max-height: 28%;
}
.max-h-\[300px\] {
  max-height: 300px;
}
.max-h-\[320px\] {
  max-height: 320px;
}
.max-h-\[40vh\] {
  max-height: 40vh;
}
.max-h-\[420px\] {
  max-height: 420px;
}
.max-h-\[42vh\] {
  max-height: 42vh;
}
.max-h-\[44vh\] {
  max-height: 44vh;
}
.max-h-\[500px\] {
  max-height: 500px;
}
.max-h-\[52vh\] {
  max-height: 52vh;
}
.max-h-\[56vh\] {
  max-height: 56vh;
}
.max-h-\[60vh\] {
  max-height: 60vh;
}
.max-h-\[62vh\] {
  max-height: 62vh;
}
.max-h-\[65dvh\] {
  max-height: 65dvh;
}
.max-h-\[66vh\] {
  max-height: 66vh;
}
.max-h-\[70vh\] {
  max-height: 70vh;
}
.max-h-\[80vh\] {
  max-height: 80vh;
}
.max-h-\[85vh\] {
  max-height: 85vh;
}
.max-h-\[calc\(85vh-4rem\)\] {
  max-height: calc(85vh - 4rem);
}
.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\] {
  max-height: var(--radix-dropdown-menu-content-available-height);
}
.min-h-0 {
  min-height: 0px;
}
.min-h-20 {
  min-height: 5rem;
}
.min-h-24 {
  min-height: 6rem;
}
.min-h-\[100px\] {
  min-height: 100px;
}
.min-h-\[140px\] {
  min-height: 140px;
}
.min-h-\[160px\] {
  min-height: 160px;
}
.min-h-\[60dvh\] {
  min-height: 60dvh;
}
.min-h-\[72px\] {
  min-height: 72px;
}
.min-h-\[80px\] {
  min-height: 80px;
}
.min-h-\[92px\] {
  min-height: 92px;
}
.min-h-dvh {
  min-height: 100dvh;
}
.min-h-full {
  min-height: 100%;
}
.w-0\.5 {
  width: 0.125rem;
}
.w-10 {
  width: 2.5rem;
}
.w-11 {
  width: 2.75rem;
}
.w-12 {
  width: 3rem;
}
.w-16 {
  width: 4rem;
}
.w-2 {
  width: 0.5rem;
}
.w-20 {
  width: 5rem;
}
.w-28 {
  width: 7rem;
}
.w-3 {
  width: 0.75rem;
}
.w-3\.5 {
  width: 0.875rem;
}
.w-3\/4 {
  width: 75%;
}
.w-32 {
  width: 8rem;
}
.w-4 {
  width: 1rem;
}
.w-44 {
  width: 11rem;
}
.w-48 {
  width: 12rem;
}
.w-5 {
  width: 1.25rem;
}
.w-6 {
  width: 1.5rem;
}
.w-64 {
  width: 16rem;
}
.w-7 {
  width: 1.75rem;
}
.w-8 {
  width: 2rem;
}
.w-80 {
  width: 20rem;
}
.w-9 {
  width: 2.25rem;
}
.w-\[100vw\] {
  width: 100vw;
}
.w-\[10px\] {
  width: 10px;
}
.w-\[120px\] {
  width: 120px;
}
.w-\[1px\] {
  width: 1px;
}
.w-\[240px\] {
  width: 240px;
}
.w-\[260px\] {
  width: 260px;
}
.w-\[280px\] {
  width: 280px;
}
.w-\[300px\] {
  width: 300px;
}
.w-\[320px\] {
  width: 320px;
}
.w-\[420px\] {
  width: 420px;
}
.w-\[80px\] {
  width: 80px;
}
.w-\[92vw\] {
  width: 92vw;
}
.w-\[95vw\] {
  width: 95vw;
}
.w-\[min\(100\%-1\.5rem\2c 30rem\)\] {
  width: min(100% - 1.5rem,30rem);
}
.w-full {
  width: 100%;
}
.w-px {
  width: 1px;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-\[140px\] {
  min-width: 140px;
}
.min-w-\[160px\] {
  min-width: 160px;
}
.min-w-\[180px\] {
  min-width: 180px;
}
.min-w-\[200px\] {
  min-width: 200px;
}
.min-w-\[220px\] {
  min-width: 220px;
}
.min-w-\[240px\] {
  min-width: 240px;
}
.min-w-\[520px\] {
  min-width: 520px;
}
.min-w-\[760px\] {
  min-width: 760px;
}
.min-w-\[80px\] {
  min-width: 80px;
}
.min-w-\[820px\] {
  min-width: 820px;
}
.min-w-\[8rem\] {
  min-width: 8rem;
}
.max-w-2xl {
  max-width: 42rem;
}
.max-w-3xl {
  max-width: 48rem;
}
.max-w-4xl {
  max-width: 56rem;
}
.max-w-5xl {
  max-width: 64rem;
}
.max-w-6xl {
  max-width: 72rem;
}
.max-w-\[100vw\] {
  max-width: 100vw;
}
.max-w-\[1200px\] {
  max-width: 1200px;
}
.max-w-\[120px\] {
  max-width: 120px;
}
.max-w-\[1520px\] {
  max-width: 1520px;
}
.max-w-\[220px\] {
  max-width: 220px;
}
.max-w-\[240px\] {
  max-width: 240px;
}
.max-w-\[260px\] {
  max-width: 260px;
}
.max-w-\[320px\] {
  max-width: 320px;
}
.max-w-\[560px\] {
  max-width: 560px;
}
.max-w-\[820px\] {
  max-width: 820px;
}
.max-w-\[85vw\] {
  max-width: 85vw;
}
.max-w-\[880px\] {
  max-width: 880px;
}
.max-w-\[92\%\] {
  max-width: 92%;
}
.max-w-\[980px\] {
  max-width: 980px;
}
.max-w-full {
  max-width: 100%;
}
.max-w-lg {
  max-width: 32rem;
}
.max-w-none {
  max-width: none;
}
.max-w-sm {
  max-width: 24rem;
}
.flex-1 {
  flex: 1 1 0%;
}
.flex-none {
  flex: none;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.shrink-0 {
  flex-shrink: 0;
}
.border-collapse {
  border-collapse: collapse;
}
.origin-\[--radix-dropdown-menu-content-transform-origin\] {
  transform-origin: var(--radix-dropdown-menu-content-transform-origin);
}
.origin-\[--radix-tooltip-content-transform-origin\] {
  transform-origin: var(--radix-tooltip-content-transform-origin);
}
.-translate-y-1 {
  --tw-translate-y: -0.25rem;
  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));
}
.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  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));
}
.translate-x-1 {
  --tw-translate-x: 0.25rem;
  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));
}
.translate-x-6 {
  --tw-translate-x: 1.5rem;
  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));
}
.rotate-180 {
  --tw-rotate: 180deg;
  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));
}
.transform {
  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));
}
@keyframes ping {

  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}
.animate-ping {
  animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}
@keyframes pulse {

  50% {
    opacity: .5;
  }
}
.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes spin {

  to {
    transform: rotate(360deg);
  }
}
.animate-spin {
  animation: spin 1s linear infinite;
}
.cursor-col-resize {
  cursor: col-resize;
}
.cursor-default {
  cursor: default;
}
.cursor-not-allowed {
  cursor: not-allowed;
}
.cursor-pointer {
  cursor: pointer;
}
.cursor-wait {
  cursor: wait;
}
.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.resize-none {
  resize: none;
}
.resize-y {
  resize: vertical;
}
.resize {
  resize: both;
}
.scroll-mt-24 {
  scroll-margin-top: 6rem;
}
.list-inside {
  list-style-position: inside;
}
.list-decimal {
  list-style-type: decimal;
}
.list-disc {
  list-style-type: disc;
}
.appearance-none {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.columns-2 {
  -moz-columns: 2;
       columns: 2;
}
.break-inside-avoid {
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-\[1fr_110px_110px_110px_120px_80px_160px\] {
  grid-template-columns: 1fr 110px 110px 110px 120px 80px 160px;
}
.grid-cols-\[220px_1fr\] {
  grid-template-columns: 220px 1fr;
}
.grid-cols-\[28px_1fr_160px_120px_120px\] {
  grid-template-columns: 28px 1fr 160px 120px 120px;
}
.grid-cols-\[44px_1fr_190px_190px_240px\] {
  grid-template-columns: 44px 1fr 190px 190px 240px;
}
.grid-cols-\[44px_1fr_220px_110px_168px\] {
  grid-template-columns: 44px 1fr 220px 110px 168px;
}
.grid-cols-\[90px_120px_1fr_120px_140px\] {
  grid-template-columns: 90px 120px 1fr 120px 140px;
}
.grid-cols-\[90px_120px_80px_90px_140px_120px_160px\] {
  grid-template-columns: 90px 120px 80px 90px 140px 120px 160px;
}
.grid-cols-\[90px_1fr_110px_80px_1fr_120px\] {
  grid-template-columns: 90px 1fr 110px 80px 1fr 120px;
}
.grid-cols-\[90px_1fr_160px_120px_120px\] {
  grid-template-columns: 90px 1fr 160px 120px 120px;
}
.flex-col {
  flex-direction: column;
}
.flex-col-reverse {
  flex-direction: column-reverse;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex-nowrap {
  flex-wrap: nowrap;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.items-stretch {
  align-items: stretch;
}
.justify-start {
  justify-content: flex-start;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.gap-0 {
  gap: 0px;
}
.gap-0\.5 {
  gap: 0.125rem;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-1\.5 {
  gap: 0.375rem;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-6 {
  gap: 1.5rem;
}
.space-y-0 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-reverse));
}
.space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.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));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.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));
}
.divide-border\/60 > :not([hidden]) ~ :not([hidden]) {
  border-color: hsl(var(--border) / 0.6);
}
.overflow-auto {
  overflow: auto;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.overflow-x-hidden {
  overflow-x: hidden;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.whitespace-pre-wrap {
  white-space: pre-wrap;
}
.break-words {
  overflow-wrap: break-word;
}
.break-all {
  word-break: break-all;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: 1rem;
}
.rounded-3xl {
  border-radius: 1.5rem;
}
.rounded-\[10px\] {
  border-radius: 10px;
}
.rounded-\[12px\] {
  border-radius: 12px;
}
.rounded-\[20px\] {
  border-radius: 20px;
}
.rounded-\[6px\] {
  border-radius: 6px;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: var(--radius);
}
.rounded-md {
  border-radius: calc(var(--radius) - 2px);
}
.rounded-sm {
  border-radius: calc(var(--radius) - 4px);
}
.rounded-xl {
  border-radius: 0.75rem;
}
.rounded-t-2xl {
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}
.border {
  border-width: 1px;
}
.border-2 {
  border-width: 2px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-b-2 {
  border-bottom-width: 2px;
}
.border-l {
  border-left-width: 1px;
}
.border-l-2 {
  border-left-width: 2px;
}
.border-r {
  border-right-width: 1px;
}
.border-t {
  border-top-width: 1px;
}
.border-dashed {
  border-style: dashed;
}
.border-none {
  border-style: none;
}
.\!border-transparent {
  border-color: transparent !important;
}
.border-\[hsl\(var\(--danger-border\)\)\] {
  border-color: hsl(var(--danger-border));
}
.border-\[hsl\(var\(--warning-border\)\)\] {
  border-color: hsl(var(--warning-border));
}
.border-amber-200\/80 {
  border-color: rgb(253 230 138 / 0.8);
}
.border-amber-300\/40 {
  border-color: rgb(252 211 77 / 0.4);
}
.border-amber-400\/30 {
  border-color: rgb(251 191 36 / 0.3);
}
.border-amber-400\/50 {
  border-color: rgb(251 191 36 / 0.5);
}
.border-amber-500\/20 {
  border-color: rgb(245 158 11 / 0.2);
}
.border-amber-500\/30 {
  border-color: rgb(245 158 11 / 0.3);
}
.border-amber-500\/40 {
  border-color: rgb(245 158 11 / 0.4);
}
.border-blue-200 {
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}
.border-blue-200\/70 {
  border-color: rgb(191 219 254 / 0.7);
}
.border-blue-500 {
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.border-blue-500\/20 {
  border-color: rgb(59 130 246 / 0.2);
}
.border-blue-500\/30 {
  border-color: rgb(59 130 246 / 0.3);
}
.border-border {
  border-color: hsl(var(--border));
}
.border-border\/30 {
  border-color: hsl(var(--border) / 0.3);
}
.border-border\/50 {
  border-color: hsl(var(--border) / 0.5);
}
.border-border\/60 {
  border-color: hsl(var(--border) / 0.6);
}
.border-border\/70 {
  border-color: hsl(var(--border) / 0.7);
}
.border-destructive\/40 {
  border-color: hsl(var(--destructive) / 0.4);
}
.border-emerald-200\/70 {
  border-color: rgb(167 243 208 / 0.7);
}
.border-emerald-400\/30 {
  border-color: rgb(52 211 153 / 0.3);
}
.border-emerald-500\/30 {
  border-color: rgb(16 185 129 / 0.3);
}
.border-emerald-500\/40 {
  border-color: rgb(16 185 129 / 0.4);
}
.border-gray-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}
.border-gray-300 {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.border-green-200 {
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
}
.border-input {
  border-color: hsl(var(--input));
}
.border-primary {
  border-color: hsl(var(--primary));
}
.border-primary\/20 {
  border-color: hsl(var(--primary) / 0.2);
}
.border-primary\/30 {
  border-color: hsl(var(--primary) / 0.3);
}
.border-primary\/35 {
  border-color: hsl(var(--primary) / 0.35);
}
.border-primary\/40 {
  border-color: hsl(var(--primary) / 0.4);
}
.border-primary\/50 {
  border-color: hsl(var(--primary) / 0.5);
}
.border-primary\/55 {
  border-color: hsl(var(--primary) / 0.55);
}
.border-primary\/60 {
  border-color: hsl(var(--primary) / 0.6);
}
.border-red-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}
.border-red-200\/70 {
  border-color: rgb(254 202 202 / 0.7);
}
.border-red-200\/80 {
  border-color: rgb(254 202 202 / 0.8);
}
.border-red-300\/40 {
  border-color: rgb(252 165 165 / 0.4);
}
.border-red-500\/20 {
  border-color: rgb(239 68 68 / 0.2);
}
.border-red-500\/30 {
  border-color: rgb(239 68 68 / 0.3);
}
.border-red-500\/35 {
  border-color: rgb(239 68 68 / 0.35);
}
.border-red-500\/40 {
  border-color: rgb(239 68 68 / 0.4);
}
.border-rose-500\/40 {
  border-color: rgb(244 63 94 / 0.4);
}
.border-sky-200\/70 {
  border-color: rgb(186 230 253 / 0.7);
}
.border-slate-200\/50 {
  border-color: rgb(226 232 240 / 0.5);
}
.border-slate-200\/60 {
  border-color: rgb(226 232 240 / 0.6);
}
.border-slate-200\/70 {
  border-color: rgb(226 232 240 / 0.7);
}
.border-slate-200\/80 {
  border-color: rgb(226 232 240 / 0.8);
}
.border-slate-500\/40 {
  border-color: rgb(100 116 139 / 0.4);
}
.border-slate-900\/70 {
  border-color: rgb(15 23 42 / 0.7);
}
.border-slate-900\/80 {
  border-color: rgb(15 23 42 / 0.8);
}
.border-transparent {
  border-color: transparent;
}
.border-violet-500\/30 {
  border-color: rgb(139 92 246 / 0.3);
}
.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}
.border-white\/20 {
  border-color: rgb(255 255 255 / 0.2);
}
.border-white\/40 {
  border-color: rgb(255 255 255 / 0.4);
}
.border-white\/5 {
  border-color: rgb(255 255 255 / 0.05);
}
.border-yellow-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));
}
.border-t-transparent {
  border-top-color: transparent;
}
.bg-\[\#F9FAFB\] {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f9fafb\] {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.bg-\[hsl\(var\(--danger-bg\)\)\] {
  background-color: hsl(var(--danger-bg));
}
.bg-\[hsl\(var\(--warning-bg\)\)\] {
  background-color: hsl(var(--warning-bg));
}
.bg-\[rgba\(0\2c 0\2c 0\2c 0\.03\)\] {
  background-color: rgba(0,0,0,0.03);
}
.bg-accent {
  background-color: hsl(var(--accent));
}
.bg-accent\/30 {
  background-color: hsl(var(--accent) / 0.3);
}
.bg-accent\/50 {
  background-color: hsl(var(--accent) / 0.5);
}
.bg-amber-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}
.bg-amber-50\/70 {
  background-color: rgb(255 251 235 / 0.7);
}
.bg-amber-50\/80 {
  background-color: rgb(255 251 235 / 0.8);
}
.bg-amber-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.bg-amber-500\/10 {
  background-color: rgb(245 158 11 / 0.1);
}
.bg-amber-500\/5 {
  background-color: rgb(245 158 11 / 0.05);
}
.bg-background {
  background-color: hsl(var(--background));
}
.bg-background\/10 {
  background-color: hsl(var(--background) / 0.1);
}
.bg-background\/15 {
  background-color: hsl(var(--background) / 0.15);
}
.bg-background\/20 {
  background-color: hsl(var(--background) / 0.2);
}
.bg-background\/25 {
  background-color: hsl(var(--background) / 0.25);
}
.bg-background\/30 {
  background-color: hsl(var(--background) / 0.3);
}
.bg-background\/35 {
  background-color: hsl(var(--background) / 0.35);
}
.bg-background\/40 {
  background-color: hsl(var(--background) / 0.4);
}
.bg-background\/5 {
  background-color: hsl(var(--background) / 0.05);
}
.bg-background\/50 {
  background-color: hsl(var(--background) / 0.5);
}
.bg-background\/60 {
  background-color: hsl(var(--background) / 0.6);
}
.bg-background\/95 {
  background-color: hsl(var(--background) / 0.95);
}
.bg-black\/30 {
  background-color: rgb(0 0 0 / 0.3);
}
.bg-black\/50 {
  background-color: rgb(0 0 0 / 0.5);
}
.bg-black\/55 {
  background-color: rgb(0 0 0 / 0.55);
}
.bg-black\/80 {
  background-color: rgb(0 0 0 / 0.8);
}
.bg-blue-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.bg-blue-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.bg-blue-50\/80 {
  background-color: rgb(239 246 255 / 0.8);
}
.bg-blue-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
}
.bg-blue-500\/10 {
  background-color: rgb(59 130 246 / 0.1);
}
.bg-blue-500\/20 {
  background-color: rgb(59 130 246 / 0.2);
}
.bg-blue-500\/5 {
  background-color: rgb(59 130 246 / 0.05);
}
.bg-border {
  background-color: hsl(var(--border));
}
.bg-card {
  background-color: hsl(var(--card));
}
.bg-card\/30 {
  background-color: hsl(var(--card) / 0.3);
}
.bg-card\/40 {
  background-color: hsl(var(--card) / 0.4);
}
.bg-card\/50 {
  background-color: hsl(var(--card) / 0.5);
}
.bg-card\/55 {
  background-color: hsl(var(--card) / 0.55);
}
.bg-card\/60 {
  background-color: hsl(var(--card) / 0.6);
}
.bg-card\/70 {
  background-color: hsl(var(--card) / 0.7);
}
.bg-card\/80 {
  background-color: hsl(var(--card) / 0.8);
}
.bg-card\/90 {
  background-color: hsl(var(--card) / 0.9);
}
.bg-card\/95 {
  background-color: hsl(var(--card) / 0.95);
}
.bg-current {
  background-color: currentColor;
}
.bg-destructive {
  background-color: hsl(var(--destructive));
}
.bg-destructive\/10 {
  background-color: hsl(var(--destructive) / 0.1);
}
.bg-emerald-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}
.bg-emerald-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1));
}
.bg-emerald-50\/80 {
  background-color: rgb(236 253 245 / 0.8);
}
.bg-emerald-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}
.bg-emerald-500\/10 {
  background-color: rgb(16 185 129 / 0.1);
}
.bg-emerald-500\/15 {
  background-color: rgb(16 185 129 / 0.15);
}
.bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-gray-100\/50 {
  background-color: rgb(243 244 246 / 0.5);
}
.bg-gray-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.bg-gray-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}
.bg-gray-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
}
.bg-gray-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.bg-gray-50\/50 {
  background-color: rgb(249 250 251 / 0.5);
}
.bg-gray-500\/10 {
  background-color: rgb(107 114 128 / 0.1);
}
.bg-gray-500\/20 {
  background-color: rgb(107 114 128 / 0.2);
}
.bg-green-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.bg-green-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.bg-green-500\/10 {
  background-color: rgb(34 197 94 / 0.1);
}
.bg-green-500\/20 {
  background-color: rgb(34 197 94 / 0.2);
}
.bg-green-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}
.bg-indigo-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
}
.bg-muted {
  background-color: hsl(var(--muted));
}
.bg-muted\/20 {
  background-color: hsl(var(--muted) / 0.2);
}
.bg-muted\/30 {
  background-color: hsl(var(--muted) / 0.3);
}
.bg-muted\/50 {
  background-color: hsl(var(--muted) / 0.5);
}
.bg-orange-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
}
.bg-orange-500\/10 {
  background-color: rgb(249 115 22 / 0.1);
}
.bg-orange-500\/20 {
  background-color: rgb(249 115 22 / 0.2);
}
.bg-pink-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(252 231 243 / var(--tw-bg-opacity, 1));
}
.bg-popover {
  background-color: hsl(var(--popover));
}
.bg-primary {
  background-color: hsl(var(--primary));
}
.bg-primary\/10 {
  background-color: hsl(var(--primary) / 0.1);
}
.bg-primary\/15 {
  background-color: hsl(var(--primary) / 0.15);
}
.bg-primary\/20 {
  background-color: hsl(var(--primary) / 0.2);
}
.bg-primary\/5 {
  background-color: hsl(var(--primary) / 0.05);
}
.bg-purple-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}
.bg-purple-500\/10 {
  background-color: rgb(168 85 247 / 0.1);
}
.bg-red-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.bg-red-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.bg-red-50\/60 {
  background-color: rgb(254 242 242 / 0.6);
}
.bg-red-50\/70 {
  background-color: rgb(254 242 242 / 0.7);
}
.bg-red-50\/80 {
  background-color: rgb(254 242 242 / 0.8);
}
.bg-red-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-red-500\/10 {
  background-color: rgb(239 68 68 / 0.1);
}
.bg-red-500\/20 {
  background-color: rgb(239 68 68 / 0.2);
}
.bg-red-500\/5 {
  background-color: rgb(239 68 68 / 0.05);
}
.bg-rose-500\/10 {
  background-color: rgb(244 63 94 / 0.1);
}
.bg-secondary {
  background-color: hsl(var(--secondary));
}
.bg-sky-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(224 242 254 / var(--tw-bg-opacity, 1));
}
.bg-sky-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(56 189 248 / var(--tw-bg-opacity, 1));
}
.bg-sky-50\/70 {
  background-color: rgb(240 249 255 / 0.7);
}
.bg-sky-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(14 165 233 / var(--tw-bg-opacity, 1));
}
.bg-sky-500\/15 {
  background-color: rgb(14 165 233 / 0.15);
}
.bg-slate-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
.bg-slate-100\/60 {
  background-color: rgb(241 245 249 / 0.6);
}
.bg-slate-100\/70 {
  background-color: rgb(241 245 249 / 0.7);
}
.bg-slate-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(148 163 184 / var(--tw-bg-opacity, 1));
}
.bg-slate-500\/10 {
  background-color: rgb(100 116 139 / 0.1);
}
.bg-slate-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
}
.bg-slate-900\/50 {
  background-color: rgb(15 23 42 / 0.5);
}
.bg-transparent {
  background-color: transparent;
}
.bg-violet-500\/10 {
  background-color: rgb(139 92 246 / 0.1);
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/10 {
  background-color: rgb(255 255 255 / 0.1);
}
.bg-white\/40 {
  background-color: rgb(255 255 255 / 0.4);
}
.bg-white\/50 {
  background-color: rgb(255 255 255 / 0.5);
}
.bg-white\/55 {
  background-color: rgb(255 255 255 / 0.55);
}
.bg-white\/70 {
  background-color: rgb(255 255 255 / 0.7);
}
.bg-white\/75 {
  background-color: rgb(255 255 255 / 0.75);
}
.bg-white\/80 {
  background-color: rgb(255 255 255 / 0.8);
}
.bg-white\/85 {
  background-color: rgb(255 255 255 / 0.85);
}
.bg-white\/90 {
  background-color: rgb(255 255 255 / 0.9);
}
.bg-white\/95 {
  background-color: rgb(255 255 255 / 0.95);
}
.bg-yellow-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
}
.bg-yellow-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}
.bg-yellow-500\/10 {
  background-color: rgb(234 179 8 / 0.1);
}
.bg-yellow-500\/20 {
  background-color: rgb(234 179 8 / 0.2);
}
.bg-zinc-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 250 / var(--tw-bg-opacity, 1));
}
.\!bg-\[linear-gradient\(135deg\2c \#3b82f6\2c \#2563eb\)\] {
  background-image: linear-gradient(135deg,#3b82f6,#2563eb) !important;
}
.bg-\[radial-gradient\(circle_at_0\%_0\%\2c rgba\(129\2c 140\2c 248\2c 0\.20\)_0\2c transparent_42\%\)\2c radial-gradient\(circle_at_100\%_100\%\2c rgba\(56\2c 189\2c 248\2c 0\.12\)_0\2c transparent_46\%\)\2c linear-gradient\(135deg\2c \#EBEEF1_0\%\2c \#E2E8F0_45\%\2c \#E5EBF5_100\%\)\] {
  background-image: radial-gradient(circle at 0% 0%,rgba(129,140,248,0.20) 0,transparent 42%),radial-gradient(circle at 100% 100%,rgba(56,189,248,0.12) 0,transparent 46%),linear-gradient(135deg,#EBEEF1 0%,#E2E8F0 45%,#E5EBF5 100%);
}
.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.from-emerald-500\/10 {
  --tw-gradient-from: rgb(16 185 129 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary\/35 {
  --tw-gradient-from: hsl(var(--primary) / 0.35) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-500\/40 {
  --tw-gradient-from: rgb(239 68 68 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-900\/40 {
  --tw-gradient-from: rgb(15 23 42 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-500\/10 {
  --tw-gradient-from: rgb(139 92 246 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-amber-400\/40 {
  --tw-gradient-to: rgb(251 191 36 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(251 191 36 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-cyan-400\/10 {
  --tw-gradient-to: rgb(34 211 238 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(34 211 238 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-cyan-500\/10 {
  --tw-gradient-to: rgb(6 182 212 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(6 182 212 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-slate-900\/10 {
  --tw-gradient-to: rgb(15 23 42 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(15 23 42 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-cyan-500\/10 {
  --tw-gradient-to: rgb(6 182 212 / 0.1) var(--tw-gradient-to-position);
}
.to-emerald-400\/50 {
  --tw-gradient-to: rgb(52 211 153 / 0.5) var(--tw-gradient-to-position);
}
.to-fuchsia-400\/10 {
  --tw-gradient-to: rgb(232 121 249 / 0.1) var(--tw-gradient-to-position);
}
.to-violet-500\/10 {
  --tw-gradient-to: rgb(139 92 246 / 0.1) var(--tw-gradient-to-position);
}
.to-violet-900\/20 {
  --tw-gradient-to: rgb(76 29 149 / 0.2) var(--tw-gradient-to-position);
}
.fill-current {
  fill: currentColor;
}
.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}
.p-0 {
  padding: 0px;
}
.p-0\.5 {
  padding: 0.125rem;
}
.p-1 {
  padding: 0.25rem;
}
.p-1\.5 {
  padding: 0.375rem;
}
.p-2 {
  padding: 0.5rem;
}
.p-3 {
  padding: 0.75rem;
}
.p-4 {
  padding: 1rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-8 {
  padding: 2rem;
}
.px-0 {
  padding-left: 0px;
  padding-right: 0px;
}
.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-1\.5 {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-2\.5 {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}
.py-0 {
  padding-top: 0px;
  padding-bottom: 0px;
}
.py-0\.5 {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.pb-0 {
  padding-bottom: 0px;
}
.pb-1 {
  padding-bottom: 0.25rem;
}
.pb-12 {
  padding-bottom: 3rem;
}
.pb-2 {
  padding-bottom: 0.5rem;
}
.pb-20 {
  padding-bottom: 5rem;
}
.pb-3 {
  padding-bottom: 0.75rem;
}
.pb-4 {
  padding-bottom: 1rem;
}
.pb-5 {
  padding-bottom: 1.25rem;
}
.pb-\[calc\(env\(safe-area-inset-bottom\)\+16px\)\] {
  padding-bottom: calc(env(safe-area-inset-bottom) + 16px);
}
.pl-10 {
  padding-left: 2.5rem;
}
.pl-2 {
  padding-left: 0.5rem;
}
.pl-3 {
  padding-left: 0.75rem;
}
.pl-4 {
  padding-left: 1rem;
}
.pl-5 {
  padding-left: 1.25rem;
}
.pl-8 {
  padding-left: 2rem;
}
.pr-1 {
  padding-right: 0.25rem;
}
.pr-12 {
  padding-right: 3rem;
}
.pr-2 {
  padding-right: 0.5rem;
}
.pr-3 {
  padding-right: 0.75rem;
}
.pr-4 {
  padding-right: 1rem;
}
.pr-8 {
  padding-right: 2rem;
}
.pt-0 {
  padding-top: 0px;
}
.pt-0\.5 {
  padding-top: 0.125rem;
}
.pt-1 {
  padding-top: 0.25rem;
}
.pt-2 {
  padding-top: 0.5rem;
}
.pt-3 {
  padding-top: 0.75rem;
}
.pt-4 {
  padding-top: 1rem;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.align-top {
  vertical-align: top;
}
.align-middle {
  vertical-align: middle;
}
.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-\[0\.85em\] {
  font-size: 0.85em;
}
.text-\[0\.92em\] {
  font-size: 0.92em;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[11px\] {
  font-size: 11px;
}
.text-\[12px\] {
  font-size: 12px;
}
.text-\[13px\] {
  font-size: 13px;
}
.text-\[14px\] {
  font-size: 14px;
}
.text-\[15px\] {
  font-size: 15px;
}
.text-\[16px\] {
  font-size: 16px;
}
.text-\[18px\] {
  font-size: 18px;
}
.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-bold {
  font-weight: 700;
}
.font-medium {
  font-weight: 500;
}
.font-normal {
  font-weight: 400;
}
.font-semibold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.leading-4 {
  line-height: 1rem;
}
.leading-5 {
  line-height: 1.25rem;
}
.leading-6 {
  line-height: 1.5rem;
}
.leading-\[1\.5\] {
  line-height: 1.5;
}
.leading-\[1\.65\] {
  line-height: 1.65;
}
.leading-\[1\.6\] {
  line-height: 1.6;
}
.leading-\[1\.8\] {
  line-height: 1.8;
}
.leading-none {
  line-height: 1;
}
.leading-tight {
  line-height: 1.25;
}
.tracking-\[-0\.01em\] {
  letter-spacing: -0.01em;
}
.tracking-tight {
  letter-spacing: -0.025em;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.tracking-widest {
  letter-spacing: 0.1em;
}
.\!text-white {
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}
.text-\[\#111827\] {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.text-\[\#2D3436\] {
  --tw-text-opacity: 1;
  color: rgb(45 52 54 / var(--tw-text-opacity, 1));
}
.text-\[\#374151\] {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.text-\[\#6b7280\] {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-\[hsl\(var\(--danger-fg\)\)\] {
  color: hsl(var(--danger-fg));
}
.text-amber-200 {
  --tw-text-opacity: 1;
  color: rgb(253 230 138 / var(--tw-text-opacity, 1));
}
.text-amber-200\/70 {
  color: rgb(253 230 138 / 0.7);
}
.text-amber-400 {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.text-amber-500 {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.text-amber-600 {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.text-amber-700 {
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
.text-amber-800 {
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}
.text-blue-400 {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.text-blue-500 {
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}
.text-blue-600 {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.text-blue-700 {
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}
.text-blue-800 {
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}
.text-destructive-foreground {
  color: hsl(var(--destructive-foreground));
}
.text-emerald-200 {
  --tw-text-opacity: 1;
  color: rgb(167 243 208 / var(--tw-text-opacity, 1));
}
.text-emerald-400 {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.text-emerald-400\/80 {
  color: rgb(52 211 153 / 0.8);
}
.text-emerald-600 {
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}
.text-emerald-700 {
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}
.text-foreground {
  color: hsl(var(--foreground));
}
.text-foreground\/65 {
  color: hsl(var(--foreground) / 0.65);
}
.text-foreground\/70 {
  color: hsl(var(--foreground) / 0.7);
}
.text-foreground\/75 {
  color: hsl(var(--foreground) / 0.75);
}
.text-foreground\/80 {
  color: hsl(var(--foreground) / 0.8);
}
.text-foreground\/90 {
  color: hsl(var(--foreground) / 0.9);
}
.text-gray-300 {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.text-gray-400 {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.text-gray-700 {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.text-gray-800 {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}
.text-green-400 {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.text-green-500 {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.text-green-600 {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}
.text-green-700 {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.text-green-800 {
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}
.text-indigo-800 {
  --tw-text-opacity: 1;
  color: rgb(55 48 163 / var(--tw-text-opacity, 1));
}
.text-muted-foreground {
  color: hsl(var(--muted-foreground));
}
.text-muted-foreground\/50 {
  color: hsl(var(--muted-foreground) / 0.5);
}
.text-muted-foreground\/70 {
  color: hsl(var(--muted-foreground) / 0.7);
}
.text-muted-foreground\/80 {
  color: hsl(var(--muted-foreground) / 0.8);
}
.text-orange-500 {
  --tw-text-opacity: 1;
  color: rgb(249 115 22 / var(--tw-text-opacity, 1));
}
.text-orange-600 {
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}
.text-orange-800 {
  --tw-text-opacity: 1;
  color: rgb(154 52 18 / var(--tw-text-opacity, 1));
}
.text-pink-800 {
  --tw-text-opacity: 1;
  color: rgb(157 23 77 / var(--tw-text-opacity, 1));
}
.text-popover-foreground {
  color: hsl(var(--popover-foreground));
}
.text-primary {
  color: hsl(var(--primary));
}
.text-primary-foreground {
  color: hsl(var(--primary-foreground));
}
.text-primary\/60 {
  color: hsl(var(--primary) / 0.6);
}
.text-primary\/80 {
  color: hsl(var(--primary) / 0.8);
}
.text-purple-400 {
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}
.text-purple-500 {
  --tw-text-opacity: 1;
  color: rgb(168 85 247 / var(--tw-text-opacity, 1));
}
.text-purple-800 {
  --tw-text-opacity: 1;
  color: rgb(107 33 168 / var(--tw-text-opacity, 1));
}
.text-red-200 {
  --tw-text-opacity: 1;
  color: rgb(254 202 202 / var(--tw-text-opacity, 1));
}
.text-red-300 {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-500\/90 {
  color: rgb(239 68 68 / 0.9);
}
.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-red-700 {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.text-red-800 {
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}
.text-rose-200 {
  --tw-text-opacity: 1;
  color: rgb(254 205 211 / var(--tw-text-opacity, 1));
}
.text-rose-200\/80 {
  color: rgb(254 205 211 / 0.8);
}
.text-rose-300 {
  --tw-text-opacity: 1;
  color: rgb(253 164 175 / var(--tw-text-opacity, 1));
}
.text-rose-400 {
  --tw-text-opacity: 1;
  color: rgb(251 113 133 / var(--tw-text-opacity, 1));
}
.text-secondary-foreground {
  color: hsl(var(--secondary-foreground));
}
.text-sky-600 {
  --tw-text-opacity: 1;
  color: rgb(2 132 199 / var(--tw-text-opacity, 1));
}
.text-sky-700 {
  --tw-text-opacity: 1;
  color: rgb(3 105 161 / var(--tw-text-opacity, 1));
}
.text-slate-200 {
  --tw-text-opacity: 1;
  color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}
.text-slate-400 {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.text-slate-500 {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.text-slate-600 {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.text-slate-700 {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.text-slate-800 {
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}
.text-slate-900 {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.text-violet-200 {
  --tw-text-opacity: 1;
  color: rgb(221 214 254 / var(--tw-text-opacity, 1));
}
.text-violet-200\/90 {
  color: rgb(221 214 254 / 0.9);
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-yellow-500 {
  --tw-text-opacity: 1;
  color: rgb(234 179 8 / var(--tw-text-opacity, 1));
}
.text-yellow-600 {
  --tw-text-opacity: 1;
  color: rgb(202 138 4 / var(--tw-text-opacity, 1));
}
.text-yellow-700 {
  --tw-text-opacity: 1;
  color: rgb(161 98 7 / var(--tw-text-opacity, 1));
}
.text-yellow-800 {
  --tw-text-opacity: 1;
  color: rgb(133 77 14 / var(--tw-text-opacity, 1));
}
.underline {
  text-decoration-line: underline;
}
.underline-offset-2 {
  text-underline-offset: 2px;
}
.underline-offset-4 {
  text-underline-offset: 4px;
}
.accent-blue-500 {
  accent-color: #3b82f6;
}
.opacity-0 {
  opacity: 0;
}
.opacity-100 {
  opacity: 1;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-60 {
  opacity: 0.6;
}
.opacity-70 {
  opacity: 0.7;
}
.opacity-75 {
  opacity: 0.75;
}
.opacity-80 {
  opacity: 0.8;
}
.\!shadow-\[0_12px_24px_-18px_rgba\(37\2c 99\2c 235\2c 0\.70\)\] {
  --tw-shadow: 0 12px 24px -18px rgba(37,99,235,0.70) !important;
  --tw-shadow-colored: 0 12px 24px -18px var(--tw-shadow-color) !important;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
}
.shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_0_4px_rgba\(16\2c 185\2c 129\2c 0\.25\)\] {
  --tw-shadow: 0 0 0 4px rgba(16,185,129,0.25);
  --tw-shadow-colored: 0 0 0 4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_0_4px_rgba\(245\2c 158\2c 11\2c 0\.25\)\] {
  --tw-shadow: 0 0 0 4px rgba(245,158,11,0.25);
  --tw-shadow-colored: 0 0 0 4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_0_4px_rgba\(248\2c 113\2c 113\2c 0\.25\)\] {
  --tw-shadow: 0 0 0 4px rgba(248,113,113,0.25);
  --tw-shadow-colored: 0 0 0 4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_10px_30px_rgba\(15\2c 23\2c 42\2c 0\.12\)\] {
  --tw-shadow: 0 10px 30px rgba(15,23,42,0.12);
  --tw-shadow-colored: 0 10px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_10px_30px_rgba\(15\2c 23\2c 42\2c 0\.18\)\] {
  --tw-shadow: 0 10px 30px rgba(15,23,42,0.18);
  --tw-shadow-colored: 0 10px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_12px_24px_-18px_rgba\(37\2c 99\2c 235\2c 0\.70\)\] {
  --tw-shadow: 0 12px 24px -18px rgba(37,99,235,0.70);
  --tw-shadow-colored: 0 12px 24px -18px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_12px_30px_rgba\(15\2c 23\2c 42\2c 0\.10\)\] {
  --tw-shadow: 0 12px 30px rgba(15,23,42,0.10);
  --tw-shadow-colored: 0 12px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_12px_32px_rgba\(15\2c 23\2c 42\2c 0\.18\)\] {
  --tw-shadow: 0 12px 32px rgba(15,23,42,0.18);
  --tw-shadow-colored: 0 12px 32px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_18px_44px_rgba\(15\2c 23\2c 42\2c 0\.32\)\] {
  --tw-shadow: 0 18px 44px rgba(15,23,42,0.32);
  --tw-shadow-colored: 0 18px 44px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_1px_3px_rgba\(0\2c 0\2c 0\2c 0\.08\)\] {
  --tw-shadow: 0 1px 3px rgba(0,0,0,0.08);
  --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_1px_3px_rgba\(0\2c 0\2c 0\2c 0\.10\)\] {
  --tw-shadow: 0 1px 3px rgba(0,0,0,0.10);
  --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_24px_70px_rgba\(0\2c 0\2c 0\2c 0\.55\)\] {
  --tw-shadow: 0 24px 70px rgba(0,0,0,0.55);
  --tw-shadow-colored: 0 24px 70px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_24px_80px_rgba\(15\2c 23\2c 42\2c 0\.45\)\] {
  --tw-shadow: 0 24px 80px rgba(15,23,42,0.45);
  --tw-shadow-colored: 0 24px 80px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_2px_6px_rgba\(0\2c 0\2c 0\2c 0\.04\)\] {
  --tw-shadow: 0 2px 6px rgba(0,0,0,0.04);
  --tw-shadow-colored: 0 2px 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);
}
.shadow-\[0_2px_6px_rgba\(15\2c 23\2c 42\2c 0\.06\)\] {
  --tw-shadow: 0 2px 6px rgba(15,23,42,0.06);
  --tw-shadow-colored: 0 2px 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);
}
.shadow-\[0_2px_6px_rgba\(15\2c 23\2c 42\2c 0\.08\)\] {
  --tw-shadow: 0 2px 6px rgba(15,23,42,0.08);
  --tw-shadow-colored: 0 2px 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);
}
.shadow-\[0_2px_6px_rgba\(15\2c 23\2c 42\2c 0\.10\)\] {
  --tw-shadow: 0 2px 6px rgba(15,23,42,0.10);
  --tw-shadow-colored: 0 2px 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);
}
.shadow-\[0_2px_6px_rgba\(15\2c 23\2c 42\2c 0\.12\)\] {
  --tw-shadow: 0 2px 6px rgba(15,23,42,0.12);
  --tw-shadow-colored: 0 2px 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);
}
.shadow-\[0_2px_8px_rgba\(0\2c 0\2c 0\2c 0\.06\)\] {
  --tw-shadow: 0 2px 8px rgba(0,0,0,0.06);
  --tw-shadow-colored: 0 2px 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_2px_8px_rgba\(15\2c 23\2c 42\2c 0\.08\)\] {
  --tw-shadow: 0 2px 8px rgba(15,23,42,0.08);
  --tw-shadow-colored: 0 2px 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_2px_8px_rgba\(16\2c 185\2c 129\2c 0\.08\)\] {
  --tw-shadow: 0 2px 8px rgba(16,185,129,0.08);
  --tw-shadow-colored: 0 2px 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_2px_8px_rgba\(59\2c 130\2c 246\2c 0\.08\)\] {
  --tw-shadow: 0 2px 8px rgba(59,130,246,0.08);
  --tw-shadow-colored: 0 2px 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_10px_rgba\(15\2c 23\2c 42\2c 0\.10\)\] {
  --tw-shadow: 0 4px 10px rgba(15,23,42,0.10);
  --tw-shadow-colored: 0 4px 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_10px_rgba\(15\2c 23\2c 42\2c 0\.12\)\] {
  --tw-shadow: 0 4px 10px rgba(15,23,42,0.12);
  --tw-shadow-colored: 0 4px 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_12px_rgba\(0\2c 0\2c 0\2c 0\.04\)\] {
  --tw-shadow: 0 4px 12px rgba(0,0,0,0.04);
  --tw-shadow-colored: 0 4px 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_12px_rgba\(0\2c 0\2c 0\2c 0\.06\)\] {
  --tw-shadow: 0 4px 12px rgba(0,0,0,0.06);
  --tw-shadow-colored: 0 4px 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_6px_14px_rgba\(15\2c 23\2c 42\2c 0\.10\)\] {
  --tw-shadow: 0 6px 14px rgba(15,23,42,0.10);
  --tw-shadow-colored: 0 6px 14px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_6px_14px_rgba\(59\2c 130\2c 246\2c 0\.35\)\] {
  --tw-shadow: 0 6px 14px rgba(59,130,246,0.35);
  --tw-shadow-colored: 0 6px 14px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_6px_16px_rgba\(15\2c 23\2c 42\2c 0\.08\)\] {
  --tw-shadow: 0 6px 16px rgba(15,23,42,0.08);
  --tw-shadow-colored: 0 6px 16px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_6px_16px_rgba\(15\2c 23\2c 42\2c 0\.12\)\] {
  --tw-shadow: 0 6px 16px rgba(15,23,42,0.12);
  --tw-shadow-colored: 0 6px 16px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_6px_18px_rgba\(15\2c 23\2c 42\2c 0\.12\)\] {
  --tw-shadow: 0 6px 18px rgba(15,23,42,0.12);
  --tw-shadow-colored: 0 6px 18px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_6px_18px_rgba\(15\2c 23\2c 42\2c 0\.16\)\] {
  --tw-shadow: 0 6px 18px rgba(15,23,42,0.16);
  --tw-shadow-colored: 0 6px 18px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_8px_20px_rgba\(15\2c 23\2c 42\2c 0\.20\)\] {
  --tw-shadow: 0 8px 20px rgba(15,23,42,0.20);
  --tw-shadow-colored: 0 8px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_8px_22px_rgba\(15\2c 23\2c 42\2c 0\.06\)\] {
  --tw-shadow: 0 8px 22px rgba(15,23,42,0.06);
  --tw-shadow-colored: 0 8px 22px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[inset_0_0_0_1px_rgba\(255\2c 255\2c 255\2c 0\.7\)\] {
  --tw-shadow: inset 0 0 0 1px rgba(255,255,255,0.7);
  --tw-shadow-colored: inset 0 0 0 1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.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);
}
.shadow-\[var\(--shadow-elev-1\)\] {
  --tw-shadow-color: var(--shadow-elev-1);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--shadow-elev-2\)\] {
  --tw-shadow-color: var(--shadow-elev-2);
  --tw-shadow: var(--tw-shadow-colored);
}
.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline {
  outline-style: solid;
}
.ring-1 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-2 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-blue-500\/25 {
  --tw-ring-color: rgb(59 130 246 / 0.25);
}
.ring-border\/30 {
  --tw-ring-color: hsl(var(--border) / 0.3);
}
.ring-border\/40 {
  --tw-ring-color: hsl(var(--border) / 0.4);
}
.ring-primary\/60 {
  --tw-ring-color: hsl(var(--primary) / 0.6);
}
.ring-slate-200\/70 {
  --tw-ring-color: rgb(226 232 240 / 0.7);
}
.ring-slate-900\/10 {
  --tw-ring-color: rgb(15 23 42 / 0.1);
}
.ring-offset-2 {
  --tw-ring-offset-width: 2px;
}
.ring-offset-background {
  --tw-ring-offset-color: hsl(var(--background));
}
.ring-offset-background\/40 {
  --tw-ring-offset-color: hsl(var(--background) / 0.4);
}
.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur {
  --tw-backdrop-blur: blur(8px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[12px\] {
  --tw-backdrop-blur: blur(12px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[16px\] {
  --tw-backdrop-blur: blur(16px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[18px\] {
  --tw-backdrop-blur: blur(18px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[20px\] {
  --tw-backdrop-blur: blur(20px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[22px\] {
  --tw-backdrop-blur: blur(22px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[24px\] {
  --tw-backdrop-blur: blur(24px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-lg {
  --tw-backdrop-blur: blur(16px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-sm {
  --tw-backdrop-blur: blur(4px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-xl {
  --tw-backdrop-blur: blur(24px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-filter {
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[box-shadow\] {
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.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;
}
.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-shadow {
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-200 {
  transition-duration: 200ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.duration-500 {
  transition-duration: 500ms;
}
.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.will-change-transform {
  will-change: transform;
}
@keyframes enter {

  from {
    opacity: var(--tw-enter-opacity, 1);
    transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
  }
}
@keyframes exit {

  to {
    opacity: var(--tw-exit-opacity, 1);
    transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
  }
}
.animate-in {
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}
.fade-in-0 {
  --tw-enter-opacity: 0;
}
.zoom-in-95 {
  --tw-enter-scale: .95;
}
.duration-200 {
  animation-duration: 200ms;
}
.duration-300 {
  animation-duration: 300ms;
}
.duration-500 {
  animation-duration: 500ms;
}
.ease-in-out {
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.running {
  animation-play-state: running;
}
/* 动效统一：仅在用户未开启“减少动态效果”时启用 */
@media (prefers-reduced-motion: no-preference) {
    .ea-breathe-cta {
      animation: ea-breathe 3.2s ease-in-out infinite;
      will-change: transform, filter, box-shadow;
    }

    .ea-breathe-mode {
      animation: ea-breathe 4.2s ease-in-out infinite;
      will-change: transform, filter, box-shadow;
    }
  }
/* 仅允许的呼吸动画参数：translateY(max -0.5px) + brightness(max 1.02) + 指定 shadow 区间 */
@keyframes ea-breathe {
    0%,
    100% {
      transform: translateY(0);
      filter: brightness(1);
      box-shadow: 0 12px 24px -18px rgba(37, 99, 235, 0.65);
    }

    50% {
      transform: translateY(-0.5px);
      filter: brightness(1.02);
      box-shadow: 0 16px 32px -22px rgba(37, 99, 235, 0.85);
    }
  }
.\[column-fill\:_balance\] {
  -moz-column-fill: balance;
       column-fill: balance;
}
.placeholder\:text-muted-foreground\/60::-moz-placeholder {
  color: hsl(var(--muted-foreground) / 0.6);
}
.placeholder\:text-muted-foreground\/60::placeholder {
  color: hsl(var(--muted-foreground) / 0.6);
}
.placeholder\:text-slate-400::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.placeholder\:text-slate-400::placeholder {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.placeholder\:text-slate-400\/80::-moz-placeholder {
  color: rgb(148 163 184 / 0.8);
}
.placeholder\:text-slate-400\/80::placeholder {
  color: rgb(148 163 184 / 0.8);
}
.last\:border-0:last-child {
  border-width: 0px;
}
.last\:border-b-0:last-child {
  border-bottom-width: 0px;
}
.last\:pb-0:last-child {
  padding-bottom: 0px;
}
.hover\:-translate-y-0\.5:hover {
  --tw-translate-y: -0.125rem;
  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));
}
.hover\:border-primary\/25:hover {
  border-color: hsl(var(--primary) / 0.25);
}
.hover\:border-red-500\/40:hover {
  border-color: rgb(239 68 68 / 0.4);
}
.hover\:bg-\[\#f0f0f0\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(240 240 240 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[hsl\(var\(--danger-hover-bg\)\)\]:hover {
  background-color: hsl(var(--danger-hover-bg));
}
.hover\:bg-accent:hover {
  background-color: hsl(var(--accent));
}
.hover\:bg-background\/15:hover {
  background-color: hsl(var(--background) / 0.15);
}
.hover\:bg-background\/20:hover {
  background-color: hsl(var(--background) / 0.2);
}
.hover\:bg-background\/25:hover {
  background-color: hsl(var(--background) / 0.25);
}
.hover\:bg-background\/30:hover {
  background-color: hsl(var(--background) / 0.3);
}
.hover\:bg-background\/35:hover {
  background-color: hsl(var(--background) / 0.35);
}
.hover\:bg-background\/40:hover {
  background-color: hsl(var(--background) / 0.4);
}
.hover\:bg-background\/60:hover {
  background-color: hsl(var(--background) / 0.6);
}
.hover\:bg-background\/70:hover {
  background-color: hsl(var(--background) / 0.7);
}
.hover\:bg-background\/80:hover {
  background-color: hsl(var(--background) / 0.8);
}
.hover\:bg-blue-100\/95:hover {
  background-color: rgb(219 234 254 / 0.95);
}
.hover\:bg-blue-500\/15:hover {
  background-color: rgb(59 130 246 / 0.15);
}
.hover\:bg-blue-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}
.hover\:bg-card\/60:hover {
  background-color: hsl(var(--card) / 0.6);
}
.hover\:bg-destructive\/10:hover {
  background-color: hsl(var(--destructive) / 0.1);
}
.hover\:bg-destructive\/90:hover {
  background-color: hsl(var(--destructive) / 0.9);
}
.hover\:bg-emerald-100\/95:hover {
  background-color: rgb(209 250 229 / 0.95);
}
.hover\:bg-emerald-500\/20:hover {
  background-color: rgb(16 185 129 / 0.2);
}
.hover\:bg-gray-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-300:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}
.hover\:bg-muted:hover {
  background-color: hsl(var(--muted));
}
.hover\:bg-muted\/30:hover {
  background-color: hsl(var(--muted) / 0.3);
}
.hover\:bg-muted\/50:hover {
  background-color: hsl(var(--muted) / 0.5);
}
.hover\:bg-primary\/15:hover {
  background-color: hsl(var(--primary) / 0.15);
}
.hover\:bg-primary\/20:hover {
  background-color: hsl(var(--primary) / 0.2);
}
.hover\:bg-primary\/90:hover {
  background-color: hsl(var(--primary) / 0.9);
}
.hover\:bg-red-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-500\/10:hover {
  background-color: rgb(239 68 68 / 0.1);
}
.hover\:bg-red-500\/15:hover {
  background-color: rgb(239 68 68 / 0.15);
}
.hover\:bg-secondary\/80:hover {
  background-color: hsl(var(--secondary) / 0.8);
}
.hover\:bg-sky-50\/90:hover {
  background-color: rgb(240 249 255 / 0.9);
}
.hover\:bg-slate-100\/80:hover {
  background-color: rgb(241 245 249 / 0.8);
}
.hover\:bg-slate-100\/90:hover {
  background-color: rgb(241 245 249 / 0.9);
}
.hover\:bg-slate-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-50\/80:hover {
  background-color: rgb(248 250 252 / 0.8);
}
.hover\:bg-slate-900\/90:hover {
  background-color: rgb(15 23 42 / 0.9);
}
.hover\:bg-white:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-white\/10:hover {
  background-color: rgb(255 255 255 / 0.1);
}
.hover\:bg-white\/20:hover {
  background-color: rgb(255 255 255 / 0.2);
}
.hover\:bg-white\/60:hover {
  background-color: rgb(255 255 255 / 0.6);
}
.hover\:bg-white\/70:hover {
  background-color: rgb(255 255 255 / 0.7);
}
.hover\:bg-white\/80:hover {
  background-color: rgb(255 255 255 / 0.8);
}
.hover\:bg-white\/85:hover {
  background-color: rgb(255 255 255 / 0.85);
}
.hover\:bg-white\/90:hover {
  background-color: rgb(255 255 255 / 0.9);
}
.hover\:bg-white\/95:hover {
  background-color: rgb(255 255 255 / 0.95);
}
.hover\:text-accent-foreground:hover {
  color: hsl(var(--accent-foreground));
}
.hover\:text-blue-300:hover {
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}
.hover\:text-blue-600:hover {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.hover\:text-destructive:hover {
  color: hsl(var(--destructive));
}
.hover\:text-emerald-300:hover {
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}
.hover\:text-foreground:hover {
  color: hsl(var(--foreground));
}
.hover\:text-gray-700:hover {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.hover\:text-primary\/80:hover {
  color: hsl(var(--primary) / 0.8);
}
.hover\:text-red-200:hover {
  --tw-text-opacity: 1;
  color: rgb(254 202 202 / var(--tw-text-opacity, 1));
}
.hover\:text-red-400:hover {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.hover\:text-red-500:hover {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.hover\:text-red-600:hover {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.hover\:text-rose-200:hover {
  --tw-text-opacity: 1;
  color: rgb(254 205 211 / var(--tw-text-opacity, 1));
}
.hover\:text-sky-700:hover {
  --tw-text-opacity: 1;
  color: rgb(3 105 161 / var(--tw-text-opacity, 1));
}
.hover\:text-slate-900:hover {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.hover\:underline:hover {
  text-decoration-line: underline;
}
.hover\:opacity-100:hover {
  opacity: 1;
}
.hover\:shadow-\[0_10px_26px_rgba\(15\2c 23\2c 42\2c 0\.10\)\]:hover {
  --tw-shadow: 0 10px 26px rgba(15,23,42,0.10);
  --tw-shadow-colored: 0 10px 26px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-\[0_12px_28px_rgba\(15\2c 23\2c 42\2c 0\.12\)\]:hover {
  --tw-shadow: 0 12px 28px rgba(15,23,42,0.12);
  --tw-shadow-colored: 0 12px 28px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-\[0_12px_30px_rgba\(15\2c 23\2c 42\2c 0\.10\)\]:hover {
  --tw-shadow: 0 12px 30px rgba(15,23,42,0.10);
  --tw-shadow-colored: 0 12px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-\[0_2px_6px_rgba\(0\2c 0\2c 0\2c 0\.12\)\]:hover {
  --tw-shadow: 0 2px 6px rgba(0,0,0,0.12);
  --tw-shadow-colored: 0 2px 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);
}
.hover\:shadow-md:hover {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.focus\:border-blue-400\/40:focus {
  border-color: rgb(96 165 250 / 0.4);
}
.focus\:border-primary\/50:focus {
  border-color: hsl(var(--primary) / 0.5);
}
.focus\:bg-accent:focus {
  background-color: hsl(var(--accent));
}
.focus\:text-accent-foreground:focus {
  color: hsl(var(--accent-foreground));
}
.focus\:text-red-500:focus {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-\[rgba\(0\2c 122\2c 255\2c 0\.2\)\]:focus {
  --tw-ring-color: rgba(0,122,255,0.2);
}
.focus\:ring-blue-400\/30:focus {
  --tw-ring-color: rgb(96 165 250 / 0.3);
}
.focus\:ring-ring:focus {
  --tw-ring-color: hsl(var(--ring));
}
.focus\:ring-slate-300\/60:focus {
  --tw-ring-color: rgb(203 213 225 / 0.6);
}
.focus\:ring-offset-2:focus {
  --tw-ring-offset-width: 2px;
}
.focus-visible\:outline-none:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus-visible\:ring-1:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-visible\:ring-2:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-visible\:ring-ring:focus-visible {
  --tw-ring-color: hsl(var(--ring));
}
.active\:scale-95:active {
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  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));
}
.disabled\:pointer-events-none:disabled {
  pointer-events: none;
}
.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}
.disabled\:opacity-40:disabled {
  opacity: 0.4;
}
.disabled\:opacity-50:disabled {
  opacity: 0.5;
}
.disabled\:opacity-60:disabled {
  opacity: 0.6;
}
.group:hover .group-hover\:inline-flex {
  display: inline-flex;
}
.group:hover .group-hover\:translate-y-0 {
  --tw-translate-y: 0px;
  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));
}
.group:hover .group-hover\:border-primary\/30 {
  border-color: hsl(var(--primary) / 0.3);
}
.group:hover .group-hover\:bg-primary\/5 {
  background-color: hsl(var(--primary) / 0.05);
}
.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:opacity-90 {
  opacity: 0.9;
}
.data-\[disabled\]\:pointer-events-none[data-disabled] {
  pointer-events: none;
}
.data-\[state\=open\]\:bg-accent[data-state="open"] {
  background-color: hsl(var(--accent));
}
.data-\[state\=open\]\:bg-secondary[data-state="open"] {
  background-color: hsl(var(--secondary));
}
.data-\[disabled\]\:opacity-50[data-disabled] {
  opacity: 0.5;
}
.data-\[state\=closed\]\:duration-300[data-state="closed"] {
  transition-duration: 300ms;
}
.data-\[state\=open\]\:duration-500[data-state="open"] {
  transition-duration: 500ms;
}
.data-\[state\=open\]\:animate-in[data-state="open"] {
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}
.data-\[state\=closed\]\:animate-out[data-state="closed"] {
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}
.data-\[state\=closed\]\:fade-out-0[data-state="closed"] {
  --tw-exit-opacity: 0;
}
.data-\[state\=open\]\:fade-in-0[data-state="open"] {
  --tw-enter-opacity: 0;
}
.data-\[state\=closed\]\:zoom-out-95[data-state="closed"] {
  --tw-exit-scale: .95;
}
.data-\[state\=open\]\:zoom-in-95[data-state="open"] {
  --tw-enter-scale: .95;
}
.data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"] {
  --tw-enter-translate-y: -0.5rem;
}
.data-\[side\=left\]\:slide-in-from-right-2[data-side="left"] {
  --tw-enter-translate-x: 0.5rem;
}
.data-\[side\=right\]\:slide-in-from-left-2[data-side="right"] {
  --tw-enter-translate-x: -0.5rem;
}
.data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"] {
  --tw-enter-translate-y: 0.5rem;
}
.data-\[state\=closed\]\:slide-out-to-bottom[data-state="closed"] {
  --tw-exit-translate-y: 100%;
}
.data-\[state\=closed\]\:slide-out-to-left[data-state="closed"] {
  --tw-exit-translate-x: -100%;
}
.data-\[state\=closed\]\:slide-out-to-right[data-state="closed"] {
  --tw-exit-translate-x: 100%;
}
.data-\[state\=closed\]\:slide-out-to-top[data-state="closed"] {
  --tw-exit-translate-y: -100%;
}
.data-\[state\=open\]\:slide-in-from-bottom[data-state="open"] {
  --tw-enter-translate-y: 100%;
}
.data-\[state\=open\]\:slide-in-from-left[data-state="open"] {
  --tw-enter-translate-x: -100%;
}
.data-\[state\=open\]\:slide-in-from-right[data-state="open"] {
  --tw-enter-translate-x: 100%;
}
.data-\[state\=open\]\:slide-in-from-top[data-state="open"] {
  --tw-enter-translate-y: -100%;
}
.data-\[state\=closed\]\:duration-300[data-state="closed"] {
  animation-duration: 300ms;
}
.data-\[state\=open\]\:duration-500[data-state="open"] {
  animation-duration: 500ms;
}
@supports (backdrop-filter: var(--tw)) {

  .supports-\[backdrop-filter\]\:bg-background\/15 {
    background-color: hsl(var(--background) / 0.15);
  }

  .supports-\[backdrop-filter\]\:bg-background\/30 {
    background-color: hsl(var(--background) / 0.3);
  }

  .supports-\[backdrop-filter\]\:bg-background\/45 {
    background-color: hsl(var(--background) / 0.45);
  }

  .supports-\[backdrop-filter\]\:bg-card\/45 {
    background-color: hsl(var(--card) / 0.45);
  }

  .supports-\[backdrop-filter\]\:bg-card\/60 {
    background-color: hsl(var(--card) / 0.6);
  }

  .supports-\[backdrop-filter\]\:bg-card\/90 {
    background-color: hsl(var(--card) / 0.9);
  }
}
.dark\:border-gray-700:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}
.dark\:bg-gray-800\/50:is(.dark *) {
  background-color: rgb(31 41 55 / 0.5);
}
.dark\:bg-gray-900\/50:is(.dark *) {
  background-color: rgb(17 24 39 / 0.5);
}
.dark\:text-emerald-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.dark\:text-gray-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
@media (min-width: 640px) {

  .sm\:bottom-28 {
    bottom: 7rem;
  }

  .sm\:right-6 {
    right: 1.5rem;
  }

  .sm\:block {
    display: block;
  }

  .sm\:inline {
    display: inline;
  }

  .sm\:flex {
    display: flex;
  }

  .sm\:hidden {
    display: none;
  }

  .sm\:h-9 {
    height: 2.25rem;
  }

  .sm\:w-9 {
    width: 2.25rem;
  }

  .sm\:w-\[320px\] {
    width: 320px;
  }

  .sm\:w-\[420px\] {
    width: 420px;
  }

  .sm\:w-\[460px\] {
    width: 460px;
  }

  .sm\:w-\[480px\] {
    width: 480px;
  }

  .sm\:w-\[500px\] {
    width: 500px;
  }

  .sm\:w-\[520px\] {
    width: 520px;
  }

  .sm\:w-\[720px\] {
    width: 720px;
  }

  .sm\:max-w-\[920px\] {
    max-width: 920px;
  }

  .sm\:max-w-sm {
    max-width: 24rem;
  }

  .sm\:max-w-xl {
    max-width: 36rem;
  }

  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sm\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .sm\:grid-cols-\[240px\2c 1fr\] {
    grid-template-columns: 240px 1fr;
  }

  .sm\:flex-row {
    flex-direction: row;
  }

  .sm\:flex-col {
    flex-direction: column;
  }

  .sm\:items-start {
    align-items: flex-start;
  }

  .sm\:items-end {
    align-items: flex-end;
  }

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

  .sm\:justify-end {
    justify-content: flex-end;
  }

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

  .sm\:gap-2 {
    gap: 0.5rem;
  }

  .sm\:space-x-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  .sm\:p-2 {
    padding: 0.5rem;
  }

  .sm\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .sm\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .sm\:py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  .sm\:pb-\[calc\(env\(safe-area-inset-bottom\)\+4px\)\] {
    padding-bottom: calc(env(safe-area-inset-bottom) + 4px);
  }

  .sm\:pr-24 {
    padding-right: 6rem;
  }

  .sm\:pt-1 {
    padding-top: 0.25rem;
  }

  .sm\:pt-6 {
    padding-top: 1.5rem;
  }

  .sm\:text-left {
    text-align: left;
  }

  .sm\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .sm\:leading-\[1\.85\] {
    line-height: 1.85;
  }
}
@media (min-width: 768px) {

  .md\:col-span-1 {
    grid-column: span 1 / span 1;
  }

  .md\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .md\:col-span-3 {
    grid-column: span 3 / span 3;
  }

  .md\:col-span-4 {
    grid-column: span 4 / span 4;
  }

  .md\:flex {
    display: flex;
  }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .md\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .md\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .md\:flex-col {
    flex-direction: column;
  }
}
@media (min-width: 1024px) {

  .lg\:bottom-4 {
    bottom: 1rem;
  }

  .lg\:col-span-1 {
    grid-column: span 1 / span 1;
  }

  .lg\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .lg\:col-span-3 {
    grid-column: span 3 / span 3;
  }

  .lg\:col-span-5 {
    grid-column: span 5 / span 5;
  }

  .lg\:col-span-9 {
    grid-column: span 9 / span 9;
  }

  .lg\:block {
    display: block;
  }

  .lg\:inline {
    display: inline;
  }

  .lg\:flex {
    display: flex;
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:max-h-\[calc\(100vh-18rem\)\] {
    max-height: calc(100vh - 18rem);
  }

  .lg\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lg\:grid-cols-\[1fr_160px_160px_140px\] {
    grid-template-columns: 1fr 160px 160px 140px;
  }

  .lg\:grid-cols-\[1fr_180px_140px_120px_120px\] {
    grid-template-columns: 1fr 180px 140px 120px 120px;
  }

  .lg\:grid-cols-\[1fr_180px_180px_120px_120px\] {
    grid-template-columns: 1fr 180px 180px 120px 120px;
  }

  .lg\:grid-cols-\[1fr_1fr_180px_140px\] {
    grid-template-columns: 1fr 1fr 180px 140px;
  }

  .lg\:grid-cols-\[1fr_200px_160px\] {
    grid-template-columns: 1fr 200px 160px;
  }

  .lg\:grid-cols-\[1fr_200px_200px\] {
    grid-template-columns: 1fr 200px 200px;
  }

  .lg\:grid-cols-\[1fr_220px\] {
    grid-template-columns: 1fr 220px;
  }

  .lg\:grid-cols-\[1fr_420px\] {
    grid-template-columns: 1fr 420px;
  }

  .lg\:grid-cols-\[1fr_460px\] {
    grid-template-columns: 1fr 460px;
  }

  .lg\:grid-cols-\[220px_160px_160px_140px_140px\] {
    grid-template-columns: 220px 160px 160px 140px 140px;
  }

  .lg\:flex-row {
    flex-direction: row;
  }

  .lg\:items-end {
    align-items: flex-end;
  }

  .lg\:items-stretch {
    align-items: stretch;
  }

  .lg\:justify-between {
    justify-content: space-between;
  }
}
@media (min-width: 1280px) {

  .xl\:block {
    display: block;
  }
}
.\[\&\>svg\]\:size-4>svg {
  width: 1rem;
  height: 1rem;
}
.\[\&\>svg\]\:shrink-0>svg {
  flex-shrink: 0;
}
.\[\&_svg\]\:pointer-events-none svg {
  pointer-events: none;
}
.\[\&_svg\]\:size-4 svg {
  width: 1rem;
  height: 1rem;
}
.\[\&_svg\]\:shrink-0 svg {
  flex-shrink: 0;
}
:root{
  --bg: hsl(var(--background));
  --panel: hsl(var(--card) / 0.72);
  --panel2: hsl(var(--card) / 0.84);
  --border: hsl(var(--border) / 0.95);
  --text: hsl(var(--foreground));
  --muted: hsl(var(--muted-foreground));

  /* Glass tokens (Web chat workstation) */
  --ea-radius-lg: 20px;
  --ea-radius-md: 16px;
  --ea-glass-bg: rgba(255,255,255,0.4);
  --ea-glass-bg-strong: rgba(255,255,255,0.8);
  --ea-glass-border: rgba(255,255,255,0.5);
  --ea-glass-shadow: 0 10px 40px rgba(31,38,135,0.05);
  --ea-glass-shadow-hover: 0 16px 48px rgba(31,38,135,0.08);

  /* Obsidian theme overrides (will be applied via data-theme in index.css) */
  --ea-obsidian-bg: rgba(28, 32, 40, 0.60);
  --ea-obsidian-border: rgba(255, 255, 255, 0.08);
  --ea-obsidian-brand: #60A5FA;
  --ea-obsidian-brand-bg: rgba(0, 122, 255, 0.12);
  --ea-obsidian-brand-line: #007AFF;
  --ea-obsidian-text: rgba(226, 232, 240, 0.92);
  --ea-obsidian-shadow: 0 18px 60px rgba(0,0,0,0.55);

  /* Do NOT override shadcn tokens like --primary; keep them as raw HSL triplets */
  --link: hsl(var(--primary));
  --primaryColor: hsl(var(--primary));
  --dangerColor: hsl(var(--destructive));
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
  /* 背景交给 index.css 的 [data-theme] 统一控制；避免全站被这里的固定渐变覆盖 */
  color:var(--text);
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: -0.01em;
}

#root{height:100%}

.app{height:100%; display:flex; flex-direction:column}

.topbar{
  position:sticky;
  top:0;
  z-index:1500;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 16px;
  border-bottom:1px solid var(--border);
  background: hsl(var(--card) / 0.78);
  backdrop-filter: blur(10px);
}

.brand{display:flex; flex-direction:column; gap:2px}
.brand-title{font-weight:800; letter-spacing:0.5px}
.brand-sub{font-size:12px; color:var(--muted)}

.nav{display:flex; align-items:center; gap:8px; flex-wrap:wrap; min-width:0}
.nav-desktop{flex:1; min-width:0}
.nav-mobile-toggle{display:none}
.topbar-right{display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end}

.drawer-backdrop{position:fixed; inset:0; background: rgba(0,0,0,0.55); z-index:2000; display:flex; justify-content:flex-end}
.drawer{width:min(420px, 92vw); height:100%; background: hsl(var(--card) / 0.92); border-left:1px solid var(--border); padding:12px; backdrop-filter: blur(14px); display:flex; flex-direction:column}
.drawer-head{display:flex; align-items:center; justify-content:space-between; gap:10px; padding-bottom:10px; border-bottom:1px solid var(--border)}
.drawer-title{font-weight:800}
.drawer-body{padding-top:10px; overflow:auto; display:flex; flex-direction:column; gap:10px}
.drawer-body .row{flex-direction:column; align-items:stretch}
.drawer-body .btn{width:100%; justify-content:center}
.drawer-body a.link{display:inline-flex; align-items:center; justify-content:center; padding:10px 12px; border:1px solid var(--border); border-radius: 12px; background: rgba(255,255,255,0.06)}

.shell{flex:1; padding:14px}
.page{max-width:1100px; margin:0 auto}
.page-head{display:flex; align-items:center; justify-content:space-between; margin:8px 0 12px}
.page-title{font-size:18px; font-weight:800}
.page-body{display:block}

.footer{padding:10px 16px; border-top:1px solid var(--border); color:var(--muted); font-size:12px; background: hsl(var(--card) / 0.72)}

.link{color:var(--link); font-size:13px; text-decoration:none}
.link:hover{text-decoration:underline}

.muted{color:var(--muted)}

.row{display:flex; align-items:center; gap:10px; flex-wrap:wrap}

.toolbar{align-items:flex-end}

.legacy-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
}

@media (max-width: 980px){
  .legacy-grid{grid-template-columns: 1fr}
  .nav-desktop{overflow-x:auto}
  .nav-desktop .row{flex-wrap:nowrap}
  .nav-desktop::-webkit-scrollbar{display:none}
}

.panel{
  background: rgba(255,255,255,0.75);
  border: 1px solid rgba(0,0,0,0.05);
  border-radius: 14px;
  padding: 14px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.03);
  backdrop-filter: blur(24px);
}

.h1{font-size:22px; font-weight:900}
.h2{font-size:15px; font-weight:800; margin-bottom:10px}

.list{margin:8px 0 0; padding-left:18px; color:var(--muted)}

.card{
  width: 520px;
  max-width: calc(100vw - 32px);
  background: rgba(255,255,255,0.75);
  border: 1px solid rgba(0,0,0,0.05);
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.03);
  backdrop-filter: blur(24px);
}

.center{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
}

.form{display:flex; flex-direction:column; gap:10px; margin-top:10px}
.field{display:flex; flex-direction:column; gap:6px}
.label{font-size:12px; color:var(--muted)}

input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea{
  width:100%;
  padding:10px 12px;
  border-radius: 10px;
  border: 1px solid hsl(var(--border) / 0.85);
  background: hsl(var(--background) / 0.72);
  color: var(--text);
  outline: none;
}

input[type="checkbox"], input[type="radio"]{
  width: auto;
  padding: 0;
}

textarea{resize: vertical; line-height: 1.5}

input:focus, select:focus, textarea:focus{
  border-color: hsl(var(--ring) / 0.75);
  box-shadow: 0 0 0 3px hsl(var(--ring) / 0.16);
}

.error{
  background: hsl(var(--destructive) / 0.12);
  border: 1px solid hsl(var(--destructive) / 0.28);
  color: var(--text);
  padding: 10px 12px;
  border-radius: 12px;
  font-size: 13px;
}

.empty{padding:14px; color:var(--muted)}

.pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: rgba(0,0,0,0.16);
}

.table{
  border:1px solid var(--border);
  border-radius: 14px;
  overflow:auto;
  -webkit-overflow-scrolling: touch;
  background: rgba(0,0,0,0.10);
}
.tr{display:grid; gap:10px; padding: 10px 12px; border-top: 1px solid var(--border); min-width: 720px}
.tr.head{position: sticky; top: 0; z-index: 2; border-top:none; background: rgba(255,255,255,0.06); font-size: 12px; color: var(--muted); backdrop-filter: blur(10px)}
.td{min-width:0}

.table-identities .tr{grid-template-columns: 1.2fr 1.8fr 0.7fr 1.6fr}
.table-categories .tr{grid-template-columns: 1fr 1.2fr 1.8fr 1.4fr}
.table-knowledge .tr{grid-template-columns: 44px 2fr 0.9fr 1.2fr; min-width: 760px}

.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid transparent;
  border-radius: 12px;
  cursor:pointer;
  -webkit-user-select:none;
     -moz-user-select:none;
          user-select:none;
  transition: transform 0.02s ease, background 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}

.btn:active{transform: translateY(1px)}

.btn-md{padding:10px 12px; font-size:14px}
.btn-sm{padding:8px 10px; font-size:13px; border-radius: 10px}

.btn-primary{background: hsl(var(--primary) / 0.92); color: hsl(var(--primary-foreground))}
.btn-primary:hover{background: hsl(var(--primary) / 1)}

.btn-ghost{background: hsl(var(--card) / 0.55); border-color: hsl(var(--border) / 0.9); color: var(--text)}
.btn-ghost:hover{background: hsl(var(--card) / 0.7)}

.btn-danger{background: hsl(var(--danger-bg)); border-color: hsl(var(--danger-border)); color: hsl(var(--danger-fg))}
.btn-danger:hover{background: hsl(var(--danger-hover-bg))}

.btn:disabled{opacity:0.55; cursor:not-allowed}

.spinner{
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid hsl(var(--foreground) / 0.22);
  border-top-color: hsl(var(--foreground) / 0.62);
  animation: spin 0.9s linear infinite;
}

.btn-ghost .spinner{border-color: hsl(var(--foreground) / 0.22); border-top-color: hsl(var(--foreground) / 0.72)}

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

.toast-wrap{
  position: fixed;
  right: 12px;
  bottom: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  z-index: 9999;
}

.toast{
  max-width: min(520px, calc(100vw - 24px));
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: rgba(0,0,0,0.58);
  backdrop-filter: blur(10px);
  cursor: pointer;
  font-size: 13px;
  color: var(--text);
}

.toast-info{border-color: rgba(125,211,252,0.35)}
.toast-warning{border-color: rgba(245,158,11,0.35)}
.toast-error{border-color: rgba(239,68,68,0.35)}

.timeline{display:flex; flex-direction:column; gap:10px}
.tl-item{border:1px solid var(--border); border-radius: 14px; padding: 10px 12px; background: rgba(255,255,255,0.03)}
.tl-warn{border-color: rgba(245,158,11,0.45)}
.tl-meta{font-size:12px; color: var(--muted); margin-bottom:8px}
.tl-content{margin:0; white-space:pre-wrap; word-break:break-word}

@media (max-width: 720px){
  .nav-desktop{display:none}
  .nav-mobile-toggle{display:block}
}

@media (max-width: 640px){
  .topbar{flex-direction:row; align-items:center}
  .shell{padding:10px}
  .footer{display:none}

  .toolbar{flex-direction:column; align-items:stretch}
  .toolbar > *{width:100%}
  .toolbar .field{min-width:0 !important; width:100% !important}

  .btn-sm{padding:10px 12px}
}

/* 滚动条：4px 极简 + 交互时浮现 */
.scrollbar-visible {
  scrollbar-width: thin;
  scrollbar-color: rgba(15,23,42,0.0) transparent;
  scrollbar-gutter: stable;
}
.scrollbar-visible:hover {
  scrollbar-color: rgba(15,23,42,0.28) transparent;
}
.scrollbar-visible::-webkit-scrollbar {
  width: 4px;
  height: 4px;
  display: block !important;
}
.scrollbar-visible::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 999px;
}
.scrollbar-visible::-webkit-scrollbar-thumb {
  background: rgba(15,23,42,0.0);
  border-radius: 999px;
  min-height: 100px;
}
.scrollbar-visible:hover::-webkit-scrollbar-thumb {
  background: rgba(15,23,42,0.28);
}
.scrollbar-visible::-webkit-scrollbar-corner {
  background: transparent;
}

.scrollable-always::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}
.scrollable-always::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 999px;
}
.scrollable-always::-webkit-scrollbar-thumb {
  background: rgba(15,23,42,0.22);
  border-radius: 999px;
}
.scrollable-always::-webkit-scrollbar-thumb:hover {
  background: rgba(15,23,42,0.32);
}

/* 让 overflow-auto 容器滚动条保持极简风格 */
[style*="scrollbar-width: thin"] {
  scrollbar-color: rgba(15,23,42,0.0) transparent;
}
[style*="scrollbar-width: thin"]:hover {
  scrollbar-color: rgba(15,23,42,0.28) transparent;
}
[style*="scrollbar-width: thin"]::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}
[style*="scrollbar-width: thin"]::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 999px;
}
[style*="scrollbar-width: thin"]::-webkit-scrollbar-thumb {
  background: rgba(15,23,42,0.0);
  border-radius: 999px;
}
[style*="scrollbar-width: thin"]:hover::-webkit-scrollbar-thumb {
  background: rgba(15,23,42,0.28);
}

/* -----------------------------
   EA Chat Glassmorphism helpers
   ----------------------------- */

.ea-glass-panel{
  background: var(--ea-glass-bg);
  border: 1px solid var(--ea-glass-border);
  border-radius: var(--ea-radius-lg);
  backdrop-filter: blur(30px) saturate(180%);
  -webkit-backdrop-filter: blur(30px) saturate(180%);
  box-shadow: var(--ea-glass-shadow), inset 0 0 0 1px rgba(255,255,255,0.06);
  transition: all 0.4s cubic-bezier(0.175,0.885,0.32,1.1);
}

.ea-glass-panel:hover{
  box-shadow: var(--ea-glass-shadow-hover), inset 0 0 0 1px rgba(255,255,255,0.10);
}

.ea-glass-card{
  background: var(--ea-glass-bg-strong);
  border: 1px solid var(--ea-glass-border);
  border-radius: var(--ea-radius-md);
  backdrop-filter: blur(30px) saturate(180%);
  -webkit-backdrop-filter: blur(30px) saturate(180%);
  box-shadow: 0 8px 32px rgba(0,0,0,0.04), inset 0 0 0 1px rgba(255,255,255,0.5);
  transition: all 0.4s cubic-bezier(0.175,0.885,0.32,1.1);
}

.ea-glass-card:hover{
  box-shadow: 0 10px 40px rgba(0,0,0,0.06), inset 0 0 0 1px rgba(255,255,255,0.6);
}

.ea-model-pill{
  background: #ffffff;
  border-radius: 18px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.ea-model-pill:hover{
  box-shadow: 0 4px 14px rgba(0,0,0,0.08);
}

.ea-header{
  background: var(--ea-glass-bg);
  border: 1px solid var(--ea-glass-border);
  border-radius: var(--ea-radius-lg);
  backdrop-filter: blur(25px) saturate(180%);
  -webkit-backdrop-filter: blur(25px) saturate(180%);
  box-shadow: var(--ea-glass-shadow);
}

.ea-header-search{
  width: 60%;
  max-width: 720px;
  min-width: 320px;
  height: 44px;
  border: none;
  background: rgba(0,0,0,0.03);
  border-radius: 22px;
  padding: 0 44px;
  color: #334155;
  box-shadow: inset 0 1px 2px rgba(15,23,42,0.05);
}
.ea-header-search:focus-visible{
  outline: none;
  box-shadow: 0 0 0 2px rgba(0,122,255,0.2);
}

.ea-ref-pill{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 28px;
  padding: 0 12px;
  border-radius: 14px;
  border: 1px solid rgba(0,122,255,0.25);
  background: rgba(0, 122, 255, 0.08);
  color: #007AFF;
  font-size: 12px;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.ea-hover-float{
  transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
  will-change: transform;
}
.ea-hover-float:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 44px rgba(15,23,42,0.12);
}
.ea-hover-float:active{
  transform: translateY(0) scale(0.97);
}

button, [role="button"], .btn, .t-button{
  transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
}
button:active, [role="button"]:active, .btn:active, .t-button:active{
  transform: scale(0.97);
}

.ea-pill-glow{
  box-shadow: 0 0 0 1px rgba(59,130,246,0.18), 0 8px 20px rgba(59,130,246,0.12);
}
.ea-pill-glow:hover{
  box-shadow: 0 0 0 1px rgba(59,130,246,0.28), 0 10px 24px rgba(59,130,246,0.18);
}

.ea-composer-panel{
  border: 1.5px solid rgba(255,255,255,0.55);
  border-radius: 24px;
  background: rgba(255,255,255,0.95);
  box-shadow:
    0 32px 64px rgba(0,0,0,0.12),
    0 8px 20px rgba(0,0,0,0.05),
    inset 0 0 0 1.5px rgba(255,255,255,0.6),
    inset 0 1.5px 0 rgba(255,255,255,0.6);
  backdrop-filter: blur(30px) saturate(180%);
  -webkit-backdrop-filter: blur(30px) saturate(180%);
}
.ea-composer-panel textarea{
  background: rgba(255,255,255,0.55);
  caret-color: rgba(59,130,246,0.9);
  transition: box-shadow 0.3s ease, background 0.3s ease;
  line-height: 1.6;
  border: none;
}
.ea-composer-panel textarea:focus{
  box-shadow: 0 0 0 4px rgba(59,130,246,0.12);
}

.ea-composer-controls .ea-icon-thin{
  opacity: 0.5;
  box-shadow: 0 6px 16px rgba(15,23,42,0.18), inset 0 1px 0 rgba(255,255,255,0.9);
  border-width: 1.5px;
  border-color: rgba(255,255,255,0.6) !important;
  transition: opacity 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.ea-composer-controls .ea-icon-thin:hover,
.ea-composer-controls .ea-icon-thin:focus-visible{
  opacity: 1;
  transform: translateY(-1px);
}

@keyframes ea-fade-up{
  0%{opacity:0; transform: translateY(20px) scale(0.98)}
  100%{opacity:1; transform: translateY(0) scale(1)}
}

/* New turn entrance: animate only on mount (keyed list items), avoid reflow jitter */
.ea-turn-enter{
  animation: ea-fade-up 520ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}
@media (prefers-reduced-motion: reduce){
  .ea-turn-enter{animation:none}
}

/* Markdown typography (for both user & assistant) */
.ea-chat-message-body :not(pre) > code{
  background-color: rgba(45,52,54,0.05);
  color: #1A1A1A;
  border-radius: 10px;
  padding: 2px 6px;
}

.ea-chat-message-body pre{
  background-color: rgba(45,52,54,0.05);
  color: #1A1A1A;
  border-radius: 14px;
  padding: 14px 16px;
  overflow: auto;
  box-shadow: inset 0 0 0 1.5px rgba(255,255,255,0.6), inset 0 1.5px 0 rgba(255,255,255,0.6);
}

.ea-chat-message-body pre code{
  background: transparent;
  padding: 0;
  border-radius: 0;
}

.ea-chat-message-body blockquote{
  border-left: 4px solid rgba(45,52,54,0.10);
  background: rgba(45,52,54,0.04);
  padding: 0.75rem 0.75rem 0.75rem 1rem;
  border-radius: 12px;
}

.ea-chat-message-body table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border-radius: 14px;
}

.ea-chat-message-body th,
.ea-chat-message-body td{
  border: 1px solid rgba(15,23,42,0.08);
  padding: 8px 10px;
  vertical-align: top;
}

.ea-chat-message-body th{
  background: rgba(255,255,255,0.55);
  font-weight: 700;
}

.ea-chat-message-body img{
  max-width: 100%;
  border-radius: 14px;
  box-shadow: 0 12px 34px rgba(15,23,42,0.12);
}

/* 消息滚动：外层占满，内层锁定 800px 轴线 */
.ea-chat-message-list{
  padding: 0;
  width: 100%;
}

.ea-chat-message-inner{
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 32px 0;
}

/* 主对话容器：超强毛玻璃底座，承托高悬浮白瓷卡片 */
.ea-chat-main-shell{
  background: rgba(255,255,255,0.5);
  backdrop-filter: blur(40px) saturate(180%);
  -webkit-backdrop-filter: blur(40px) saturate(180%);
  border-radius: 24px;
  box-shadow: 0 28px 70px rgba(0,0,0,0.10), inset 0 0 0 1.5px rgba(255,255,255,0.6), inset 0 1.5px 0 rgba(255,255,255,0.6);
  max-height: 100%;
}

/* 中央助手交互区滚动容器：高度锁定在可用区域内，只允许内部滚动 */
.ea-chat-main-scroll{
  /* 默认跟随父容器高度（用于移动端/非 variant=2） */
  max-height: 100%;
}

/* PC 变体：强制按视口高度裁剪助手交互区，仅允许内部滚动；为底部输入区预留约 15rem 空间 */
html[data-ea-chat-variant='2']:not([data-ea-chat-mobile='1']) .ea-chat-main-scroll{
  height: calc(100dvh - var(--ea-chat-offset,12.5rem) - var(--ea-bottom-nav,0rem) - 15rem);
  max-height: calc(100dvh - var(--ea-chat-offset,12.5rem) - var(--ea-bottom-nav,0rem) - 15rem);
  min-height: 260px;
}

/* 性能降级（长对话）：减少 backdrop-filter / 复杂阴影对滚动与输入的影响 */
html[data-ea-chat-perf='lite'][data-ea-chat-variant='2']:not([data-ea-chat-mobile='1']) .ea-chat-main-shell{
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: rgba(255,255,255,0.86) !important;
  box-shadow: 0 14px 32px rgba(0,0,0,0.08), inset 0 0 0 1px rgba(255,255,255,0.65) !important;
}

html[data-ea-chat-perf='lite'][data-ea-chat-variant='2']:not([data-ea-chat-mobile='1']) .ea-msg-ref-panel,
html[data-ea-chat-perf='lite'][data-ea-chat-variant='2']:not([data-ea-chat-mobile='1']) .ea-ref-pill,
html[data-ea-chat-perf='lite'][data-ea-chat-variant='2']:not([data-ea-chat-mobile='1']) .ea-chat-sending-panel{
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html[data-ea-chat-perf='lite'][data-ea-chat-variant='2']:not([data-ea-chat-mobile='1']) .ea-hover-float:hover{
  transform: none !important;
  box-shadow: 0 10px 24px rgba(15,23,42,0.10) !important;
}

.ea-turn-ai{
  /* 默认：不同 Q&A 组之间保持 48px 垂直间距 */
}

/* 同一对话组内：用户问题与回答间距 16px（显式设置，避免负 margin 造成内容重叠/错位观感） */
.ea-turn-user + .ea-turn-ai{
  margin-top: 16px !important;
}

.ea-chat-message-body{
  font-size: 15px;
  line-height: 1.80;
  letter-spacing: -0.01em;
}

.ea-chat-message-body p{
  margin: 0 0 1.1em;
}

/* Avoid extra bottom gap caused by Markdown default margins */
.ea-chat-message-body > :last-child{
  margin-bottom: 0 !important;
}

.ea-chat-message-body ul,
.ea-chat-message-body ol{
  padding-left: 1.4em;
  margin: 0.6em 0 1em;
}

.ea-chat-message-body li{
  line-height: 1.85;
  margin: 0.35em 0 0.35em 0.15em;
}

.ea-chat-message-body h1{
  font-size: 20px;
  font-weight: 850;
  line-height: 1.25;
  letter-spacing: -0.03em;
  margin: 0 0 0.75em;
}
.ea-chat-message-body h2{
  font-size: 18px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -0.025em;
  margin: 1.0em 0 0.6em;
}
.ea-chat-message-body h3{
  font-size: 16px;
  font-weight: 750;
  line-height: 1.35;
  letter-spacing: -0.02em;
  margin: 0.9em 0 0.5em;
}
.ea-chat-message-body a{
  color: #0f172a;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.ea-chat-message-body hr{
  border: none;
  height: 1px;
  background: rgba(0,0,0,0.06);
  margin: 1.2em 0;
}

.ea-msg-user{
  background: #9ca3af !important; /* gray-400 */
  border: none !important;
  border-radius: 18px !important;
  padding: 20px !important;
  margin-left: auto;
  max-width: 90%;
  color: #2D3436;
}

.ea-msg-ai{
  background: #FFFFFF !important;
  border: 1px solid rgba(0,0,0,0.04) !important;
  border-radius: 20px !important;
  padding: 32px !important;
  box-shadow: 0 20px 48px rgba(0,0,0,0.08), 0 4px 10px rgba(0,0,0,0.02), inset 0 1px 0 rgba(255,255,255,0.9) !important;
  color: #2D3436;
}

.ea-ref-pill{
  background: radial-gradient(circle at 0% 0%, rgba(129,140,248,0.18) 0, rgba(15,23,42,0.02) 42%) !important;
  border: 1.5px solid rgba(120,144,255,0.4) !important;
  color: #007AFF !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  box-shadow: 0 8px 20px rgba(15,23,42,0.12), inset 0 1px 0 rgba(255,255,255,0.9);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.ea-ref-pill:hover{
  transform: scale(1.04);
  background: radial-gradient(circle at 0% 0%, rgba(129,140,248,0.28) 0, rgba(15,23,42,0.06) 46%) !important;
  box-shadow: 0 10px 26px rgba(15,23,42,0.18), 0 0 0 1px rgba(129,140,248,0.45);
}

.ea-chat-mono{
  font-family: 'Inter','SF Pro Text',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  color: #2D3436;
}

/* -----------------------------
   对话页主题：深色（黑曜石玻璃 / variant=2）
   - 禁止黑色实线：统一用 rgba(255,255,255,0.08) 内描边
   - 三栏材质：rgba(28,32,40,0.6) + 40px blur
   ----------------------------- */

html[data-ea-chat-theme='dark'][data-ea-chat-variant='2']{
  color-scheme: dark;
  --ea-obsidian-bg: linear-gradient(145deg, #0B0D11 0%, #15181F 100%);
  --ea-obsidian-panel: rgba(28, 32, 40, 0.6);
  --ea-obsidian-terminal: rgba(20, 24, 30, 0.95);
  --ea-obsidian-border: rgba(255, 255, 255, 0.08);
  --ea-obsidian-shadow: 0 18px 60px rgba(0,0,0,0.55);
  --ea-obsidian-shadow-soft: 0 4px 20px rgba(0,0,0,0.10);
  --ea-obsidian-blur: 40px;
  --ea-obsidian-axis: 1040px;
  --ea-obsidian-text: #E2E8F0;
  --ea-obsidian-muted: rgba(226,232,240,0.80);
  --ea-obsidian-faint: rgba(226,232,240,0.62);
  --ea-obsidian-brand: #60A5FA;
  --ea-obsidian-brand-line: #007AFF;
  --ea-obsidian-brand-bg: rgba(0, 122, 255, 0.15);
  --ea-obsidian-brand-glow: rgba(0, 122, 255, 0.35);

  /* Sync shadcn/tailwind tokens inside chat scope for readability */
  --background: 222 28% 7%;
  --foreground: 210 40% 98%;
  --card: 222 22% 11%;
  --card-foreground: 210 40% 98%;
  --popover: 222 22% 11%;
  --popover-foreground: 210 40% 98%;
  --primary: 213 94% 68%;
  --primary-foreground: 222 28% 7%;
  --secondary: 222 18% 14%;
  --secondary-foreground: 210 40% 98%;
  --muted: 222 18% 14%;
  --muted-foreground: 220 11% 72%;
  --accent: 222 18% 14%;
  --accent-foreground: 210 40% 98%;
  --destructive: 0 70% 62%;
  --destructive-foreground: 210 40% 98%;
  --danger-bg: 0 28% 18%;
  --danger-fg: 0 78% 78%;
  --danger-border: 0 22% 30%;
  --danger-hover-bg: 0 30% 20%;
  --border: 222 14% 20%;
  --input: 222 14% 20%;
  --ring: 213 94% 68%;

  /* variant=2 的字体映射依赖 --ea-type-*；此处覆写，避免后续规则覆盖 */
  --ea-type-primary: var(--ea-obsidian-text);
  --ea-type-secondary: var(--ea-obsidian-muted);
  --ea-type-muted: var(--ea-obsidian-faint);
  --ea-type-faint: rgba(226,232,240,0.40);
}

html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] body{
  background: var(--ea-obsidian-bg) !important;
  color: var(--ea-obsidian-text);
}

/* 移动端（variant=2）会在下方强制浅色底，这里为深色主题提供更高优先级覆盖 */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'][data-ea-chat-mobile='1'] body{
  background: var(--ea-obsidian-bg) !important;
}

/* Mobile (variant=2) dark theme: override mobile tokens to match obsidian glass */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'][data-ea-chat-mobile='1']{
  --ea-mobile-bg-0: #0B0D11;
  --ea-mobile-bg-1: #15181F;
  --ea-mobile-surface: rgba(28, 32, 40, 0.60);
  --ea-mobile-surface-strong: rgba(20, 24, 30, 0.92);
  --ea-mobile-border: rgba(255, 255, 255, 0.08);
  --ea-mobile-text: #E2E8F0;
  --ea-mobile-text-2: #E2E8F0;
  --ea-mobile-muted: #94A3B8;
  --ea-mobile-shadow: 0 20px 48px rgba(0,0,0,0.45), 0 4px 10px rgba(0,0,0,0.18);
  --ea-mobile-shadow-sm: 0 10px 22px rgba(0,0,0,0.35);
}

html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'][data-ea-chat-mobile='1'] .ea-chat-mobile-header{
  background: var(--ea-obsidian-panel) !important;
  border-bottom: 1px solid var(--ea-obsidian-border) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'][data-ea-chat-mobile='1'] .ea-chat-mobile-statusbar,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'][data-ea-chat-mobile='1'] .ea-chat-mobile-sysicons,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'][data-ea-chat-mobile='1'] .ea-chat-mobile-net{
  color: var(--ea-obsidian-text) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'][data-ea-chat-mobile='1'] .ea-chat-mobile-dot{
  background: var(--ea-obsidian-text) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'][data-ea-chat-mobile='1'] .ea-chat-mobile-card-dark,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'][data-ea-chat-mobile='1'] .ea-chat-mobile-card-light{
  color: var(--ea-obsidian-text) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'][data-ea-chat-mobile='1'] .ea-chat-mobile-doc{
  color: rgba(148,163,184,0.92) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'][data-ea-chat-mobile='1'] .ea-chat-mobile-divider{
  background: rgba(255,255,255,0.08) !important;
}

html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'][data-ea-chat-mobile='1'] .ea-chat-mobile-quickbar::after{
  background: rgba(255,255,255,0.10) !important;
  opacity: 0.45 !important;
  filter: blur(10px) !important;
}

html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'][data-ea-chat-mobile='1'] .ea-chat-mobile-composer{
  background: rgba(20, 24, 30, 0.86) !important;
  border-top: 0.5px solid rgba(255,255,255,0.08) !important;
}

html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'][data-ea-chat-mobile='1'] .ea-chat-mobile-browserbar-title{
  color: var(--ea-obsidian-text) !important;
}

html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'][data-ea-chat-mobile='1'] .ea-chat-mobile-editing{
  border-color: var(--ea-obsidian-border) !important;
  background: rgba(20, 24, 30, 0.70) !important;
  color: rgba(226,232,240,0.78) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'][data-ea-chat-mobile='1'] .ea-chat-mobile-editing button{
  color: var(--ea-obsidian-text) !important;
}

html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono{
  color: var(--ea-obsidian-text) !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
  background: transparent !important;
}

/* Typography: ensure hard-coded dark text colors don't disappear in dark theme */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .text-\[\#111827\],
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .text-\[\#2D3436\]{
  color: var(--ea-obsidian-text) !important;
}

/* Readability: map common light palette text to obsidian tokens */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .text-slate-900,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .text-slate-800{
  color: var(--ea-obsidian-text) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .text-slate-700{
  color: rgba(226,232,240,0.92) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .text-slate-600,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .text-slate-500{
  color: var(--ea-obsidian-muted) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .text-slate-400{
  color: rgba(148,163,184,0.92) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .text-\[\#5B6268\],
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .text-\[\#4A5568\]{
  color: var(--ea-obsidian-muted) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .text-\[\#6b7280\]{
  color: var(--ea-obsidian-muted) !important;
}

/* Light glass utilities used in JSX: remap to dark glass */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .bg-white\/90,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .bg-white\/95,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .bg-white\/85,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .bg-white\/80,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .bg-white\/75,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .bg-white\/70,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .bg-white\/60,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .bg-white\/55{
  background-color: rgba(255,255,255,0.04) !important;
}

html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .bg-white{
  background-color: rgba(255,255,255,0.04) !important;
}

html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .hover\:bg-white\/95:hover,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .hover\:bg-white\/90:hover,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .hover\:bg-white\/85:hover,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .hover\:bg-white\/80:hover,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .hover\:bg-white\/70:hover,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .hover\:bg-white\/60:hover,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .hover\:bg-white:hover{
  background-color: rgba(255,255,255,0.06) !important;
}

html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .hover\:text-slate-900:hover{
  color: var(--ea-obsidian-text) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .hover\:text-sky-700:hover{
  color: var(--ea-obsidian-brand) !important;
}

/* Fix remaining light blocks (arbitrary/zinc backgrounds) in dark theme */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .bg-zinc-50,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .bg-\[\#f9fafb\],
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .bg-\[\#F9FAFB\]{
  background-color: rgba(255,255,255,0.04) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .hover\:bg-\[\#f0f0f0\]:hover,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .hover\:bg-\[\#F0F0F0\]:hover{
  background-color: rgba(255,255,255,0.06) !important;
}

/* Restore brand tints for primary helpers in dark theme */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .bg-primary\/10{
  background-color: rgba(96,165,250,0.10) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .bg-primary\/15{
  background-color: rgba(96,165,250,0.12) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .bg-primary\/20{
  background-color: rgba(96,165,250,0.14) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .border-primary\/40,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .border-primary\/55{
  border-color: rgba(96,165,250,0.32) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .ring-primary\/60{
  --tw-ring-color: rgba(96,165,250,0.28) !important;
}

html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .ring-blue-500\/25{
  --tw-ring-color: rgba(96,165,250,0.28) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .focus\:border-blue-400\/40:focus{
  border-color: rgba(96,165,250,0.32) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .focus\:ring-blue-400\/30:focus{
  --tw-ring-color: rgba(96,165,250,0.24) !important;
}

html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .border-slate-200\/80,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .border-slate-200\/70,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .border-slate-200\/60{
  border-color: var(--ea-obsidian-border) !important;
}

html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono ::-moz-placeholder{
  color: rgba(148,163,184,0.70) !important;
}

html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono ::placeholder{
  color: rgba(148,163,184,0.70) !important;
}

/* 三栏面板统一材质 */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-glass-panel{
  background: var(--ea-obsidian-panel) !important;
  border: 1px solid var(--ea-obsidian-border) !important;
  backdrop-filter: blur(var(--ea-obsidian-blur));
  -webkit-backdrop-filter: blur(var(--ea-obsidian-blur));
  box-shadow: var(--ea-obsidian-shadow), inset 0 0 0 1px rgba(255,255,255,0.06) !important;
}

html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-main-shell{
  background: var(--ea-obsidian-panel) !important;
  border: 1px solid var(--ea-obsidian-border) !important;
  backdrop-filter: blur(var(--ea-obsidian-blur));
  -webkit-backdrop-filter: blur(var(--ea-obsidian-blur));
  box-shadow: var(--ea-obsidian-shadow), inset 0 0 0 1px rgba(255,255,255,0.06) !important;
}

/* 顶栏：同材质 + 精密边界 */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-header{
  background: var(--ea-obsidian-panel) !important;
  border: 1px solid var(--ea-obsidian-border) !important;
  backdrop-filter: blur(var(--ea-obsidian-blur));
  -webkit-backdrop-filter: blur(var(--ea-obsidian-blur));
  box-shadow: var(--ea-obsidian-shadow-soft), inset 0 0 0 1px rgba(255,255,255,0.06) !important;
}

/* 中轴线对齐：确保 850px 严格对齐 */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-message-inner{
  max-width: var(--ea-obsidian-axis) !important;
  margin: 0 auto !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-composer-shell > div{
  max-width: var(--ea-obsidian-axis) !important;
  margin: 0 auto !important;
}

/* 无感内容区：对话流区域彻底透明，文字漂浮在大面板上（消除“灰色方框”） */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-message-list,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-message-inner{
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* Precision borders inside central area */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-main-soft-border *{
  border-color: var(--ea-obsidian-border) !important;
}

/* 字体系统与字阶微调 */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-message-body{
  font-size: 15px !important;
  line-height: 1.85 !important;
  letter-spacing: -0.015em !important;
  color: var(--ea-obsidian-text) !important;
}

html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-message-body a{
  color: var(--ea-obsidian-brand) !important;
}

/* 消除任何“气泡底色块”：仅保留排版与间距 */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-msg-user,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-msg-ai{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* 引用标签：霓虹蓝荧光胶囊 */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-ref-pill{
  background: var(--ea-obsidian-brand-bg) !important;
  border: 1px solid rgba(96,165,250,0.30) !important;
  color: var(--ea-obsidian-brand) !important;
  font-size: 12px !important;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important;
  box-shadow:
    0 0 0 1px rgba(96,165,250,0.18),
    0 0 26px rgba(0,122,255,0.22),
    inset 0 1px 0 rgba(255,255,255,0.10) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-ref-pill:hover{
  transform: none !important;
  background: rgba(0, 122, 255, 0.22) !important;
  border-color: rgba(147,197,253,0.45) !important;
  color: #93C5FD !important;
  box-shadow: 0 0 0 1px rgba(96,165,250,0.22), 0 0 28px rgba(0,122,255,0.28) !important;
}

/* Terminal Engineering：悬浮输入终端（不删任何按键，只重写材质） */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-composer-panel{
  background: var(--ea-obsidian-terminal) !important;
  border: 1px solid var(--ea-obsidian-border) !important;
  border-radius: 24px !important;
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.5), inset 0 0 0 1px rgba(255,255,255,0.06) !important;
}

html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-composer-panel textarea{
  background: transparent !important;
  color: var(--ea-obsidian-text) !important;
  letter-spacing: -0.015em !important;
  line-height: 1.85 !important;
  border: none !important;
  box-shadow: none !important;
}

html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-composer-panel textarea::-moz-placeholder{
  color: rgba(226,232,240,0.42) !important;
}

html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-composer-panel textarea::placeholder{
  color: rgba(226,232,240,0.42) !important;
}

/* 左侧三枚功能图标：0.5px 超细白线 */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-composer-side-icons button{
  background: transparent !important;
  border: none !important;
  color: rgba(226,232,240,0.78) !important;
  box-shadow: none !important;
  transition: color 0.3s ease, transform 0.3s ease;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-composer-side-icons button:hover{
  color: rgba(226,232,240,0.98) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-composer-side-icons button[aria-pressed="true"]{
  background: transparent !important;
  border: none !important;
  color: var(--ea-obsidian-brand) !important;
  text-shadow: 0 0 18px rgba(0,122,255,0.22);
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-composer-side-icons svg{
  stroke: rgba(226,232,240,0.92) !important;
  stroke-width: 0.5 !important;
}

html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-composer-switch{
  border-color: var(--ea-obsidian-border) !important;
  background: rgba(255,255,255,0.04) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-composer-switch button{
  color: rgba(226,232,240,0.72) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-composer-switch button[aria-pressed="true"]{
  background: rgba(255,255,255,0.06) !important;
  color: var(--ea-obsidian-text) !important;
}

/* 右侧按钮：保持位置不变，仅改材质 */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-composer-panel button{
  border-color: var(--ea-obsidian-border) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-composer-panel .bg-white\/85,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-composer-panel .bg-white\/80,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-composer-panel .bg-white\/70,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-composer-panel .bg-white\/55{
  background-color: rgba(255,255,255,0.04) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-composer-panel .text-\[\#111827\],
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-composer-panel .text-slate-900{
  color: var(--ea-obsidian-text) !important;
}

/* Sources / Studio 列表：去边框；选中态仅用 4px 蓝竖线 + 字色加深 */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-nb-source-item{
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  position: relative;
  padding-left: 14px !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-nb-source-item::before{
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  bottom: 10px;
  width: 4px;
  border-radius: 999px;
  background: transparent;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-nb-source-item:hover{
  background: rgba(255,255,255,0.03) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-nb-source-item .text-foreground{
  color: rgba(226,232,240,0.76) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-nb-source-item .text-muted-foreground{
  color: rgba(226,232,240,0.50) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-nb-source-item-active::before{
  background: var(--ea-obsidian-brand-line);
  box-shadow: 0 0 18px rgba(0,122,255,0.35);
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-nb-source-item-active .text-foreground{
  color: var(--ea-obsidian-text) !important;
}

/* 笔记卡片：rgba(255,255,255,0.04) + 极淡扩散阴影 */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-note-card{
  border: none !important;
  background: rgba(255,255,255,0.04) !important;
  box-shadow: var(--ea-obsidian-shadow-soft) !important;
}

html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-note-list-panel{
  background: transparent !important;
  border: 1px solid var(--ea-obsidian-border) !important;
  box-shadow: none !important;
}

/* References panel inside a message: keep it subtle (no light gray blocks) */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-msg-ref-panel{
  background: rgba(20,24,30,0.55) !important;
  border: 1px solid var(--ea-obsidian-border) !important;
  box-shadow: none !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-msg-ref-panel .bg-white\/85,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-msg-ref-panel .bg-white\/80{
  background: rgba(255,255,255,0.03) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-msg-ref-panel .border-slate-200\/70{
  border-color: var(--ea-obsidian-border) !important;
}

/* Sending placeholder: avoid a standalone light card */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-sending-panel{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Dropdown menus in chat */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-menu{
  background: rgba(28,32,40,0.92) !important;
  border-color: var(--ea-obsidian-border) !important;
  color: var(--ea-obsidian-text) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-menu [data-radix-collection-item]{
  color: var(--ea-obsidian-text) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-menu [data-radix-collection-item]:hover,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-menu [data-radix-collection-item][data-highlighted]{
  background: rgba(255,255,255,0.06) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-menu [data-radix-collection-item].text-red-600{
  color: #F87171 !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-more-btn{
  background: rgba(255,255,255,0.04) !important;
  border-color: var(--ea-obsidian-border) !important;
  color: var(--ea-obsidian-text) !important;
}

/* Stop button in composer */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-stop-btn{
  background: rgba(255,255,255,0.04) !important;
  border-color: rgba(248,113,113,0.38) !important;
  color: rgba(248,113,113,0.92) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-stop-btn:hover{
  background: rgba(248,113,113,0.14) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-stop-btn svg{
  stroke: rgba(248,113,113,0.92) !important;
}

/* 覆盖“去色化”在深色主题下的误伤：恢复品牌蓝 */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono .text-primary{
  color: var(--ea-obsidian-brand) !important;
}

/* Sidebar title typography */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-sidebar-title{
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #94A3B8 !important;
  letter-spacing: -0.01em;
}

/* Notebook buttons: deep gray linear, subtle glow on hover */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-notebook-btn{
  border: 1px solid var(--ea-obsidian-border) !important;
  background: transparent !important;
  color: rgba(226,232,240,0.78) !important;
  box-shadow: none !important;
  transition: color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-notebook-btn:hover{
  color: var(--ea-obsidian-text) !important;
  background: rgba(255,255,255,0.04) !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.06), 0 0 22px rgba(0,122,255,0.16) !important;
}

/* Sessions sidebar (ChatSidebar) */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono input[aria-label="搜索会话"]{
  background: rgba(20,24,30,0.75) !important;
  color: var(--ea-obsidian-text) !important;
  border: 1px solid var(--ea-obsidian-border) !important;
  box-shadow: none !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono input[aria-label="搜索会话"]::-moz-placeholder{
  color: rgba(148,163,184,0.70) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-mono input[aria-label="搜索会话"]::placeholder{
  color: rgba(148,163,184,0.70) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-session-item{
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-session-item:hover{
  background: rgba(255,255,255,0.03) !important;
  border-color: rgba(255,255,255,0.06) !important;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-session-item[data-active="1"]{
  background: rgba(255,255,255,0.05) !important;
  border-color: rgba(255,255,255,0.08) !important;
}

/* Reduce light blocks inside session rows */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-session-item .bg-white\/90,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-session-item .bg-white\/80,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-session-item .bg-white\/70,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-session-item .bg-white\/60,
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-chat-session-item .bg-white\/55{
  background: transparent !important;
}

/* Dark scrollbar: 4px, minimal, no layout jump */
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-scrollbar{
  scrollbar-color: rgba(255,255,255,0.05) transparent;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-scrollbar:hover{
  scrollbar-color: rgba(255,255,255,0.12) transparent;
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-scrollbar::-webkit-scrollbar-thumb{
  background: rgba(255,255,255,0.05);
}
html[data-ea-chat-theme='dark'][data-ea-chat-variant='2'] .ea-scrollbar:hover::-webkit-scrollbar-thumb{
  background: rgba(255,255,255,0.12);
}

/* 去色化：对话页内将 tailwind primary 映射到中性色（引用胶囊与发送按钮除外） */
.ea-chat-mono .text-primary{
  color: #2D3436 !important;
}
.ea-chat-mono .bg-primary\/10,
.ea-chat-mono .bg-primary\/15,
.ea-chat-mono .bg-primary\/20{
  background-color: rgba(0,0,0,0.04) !important;
}
.ea-chat-mono .border-primary\/40,
.ea-chat-mono .border-primary\/55{
  border-color: rgba(0,0,0,0.10) !important;
}
.ea-chat-mono .ring-primary\/60{
  --tw-ring-color: rgba(0,0,0,0.10) !important;
}

/* 清理 Chat.jsx 内的蓝色强调（保留引用胶囊的 #007AFF） */
.ea-chat-mono .accent-blue-500{
  accent-color: #64748b !important;
}
.ea-chat-mono .ring-blue-500\/25{
  --tw-ring-color: rgba(0,0,0,0.10) !important;
}
.ea-chat-mono .focus\:border-blue-400\/40:focus{
  border-color: rgba(0,0,0,0.10) !important;
}
.ea-chat-mono .focus\:ring-blue-400\/30:focus{
  --tw-ring-color: rgba(0,0,0,0.10) !important;
}

/* 中栏对话流：只清理“列表容器”底色，避免残留矩形底块（不影响消息卡片本身） */
.ea-chat-main-transparent{
  background: transparent !important;
  background-color: transparent !important;
}
.ea-chat-main-transparent .ea-chat-message-list{
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

/* 移除硬边线，允许极弱白描边 */
.ea-chat-main-soft-border *{
  border-color: rgba(255,255,255,0.4) !important;
}

/* 极细线性图标 */
.ea-icon-thin svg{
  stroke-width: 0.75;
}

/* Hover 提示框（毛玻璃）：跟随鼠标位置（通过 root CSS 变量注入坐标） */
.ea-tip{
  position: relative;
}
.ea-tip::after{
  content: attr(data-tip);
  position: fixed;
  left: var(--ea-tip-x, 0px);
  top: var(--ea-tip-y, 0px);
  transform: translate(14px, 14px);
  padding: 6px 10px;
  font-size: 11px;
  color: #2D3436;
  background: rgba(255,255,255,0.9);
  border: 1px solid rgba(255,255,255,0.4);
  border-radius: 10px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
  backdrop-filter: blur(12px);
  opacity: 0;
  pointer-events: none;
  white-space: nowrap;
  transition: opacity 0.15s ease;
  z-index: 10000;
}
.ea-tip:hover::after{
  opacity: 1;
}

/* 中栏对话区域：进一步清理列表直系子节点底色（不向下污染消息卡片） */
.ea-chat-main-transparent .ea-chat-message-list > *{
  background: transparent !important;
  background-color: transparent !important;
}

/* 移除中栏区域的硬边黑线，仅保留极弱白描边（如有需要可在组件上单独加类） */
.ea-chat-main-soft-border *{
  border-color: rgba(255,255,255,0.3) !important;
}

@media (max-width: 1024px){
  .ea-chat-message-inner{
    padding: 24px 16px;
    max-width: 100%;
  }
}

html[data-ea-chat-mobile='1'] .ea-chat-message-inner{
  padding: 10px 12px 0;
  max-width: 100%;
}

html[data-ea-chat-mobile='1'] .ea-turn-ai{
  margin-top: 0;
}

html[data-ea-chat-mobile='1'] .ea-chat-message-body p{
  margin-bottom: 1.5em;
}

html[data-ea-chat-mobile='1'] .ea-msg-user{
  background: #9ca3af !important; /* gray-400 */
  border-radius: 18px !important;
  box-shadow: var(--ea-mobile-shadow);
  font-size: 15px;
  line-height: 1.8;
  text-align: justify;
  color: var(--ea-mobile-text-2);
  max-width: 92%;
}

html[data-ea-chat-mobile='1'] .ea-msg-ai{
  background: var(--ea-mobile-surface) !important;
  border-radius: 18px !important;
  box-shadow: var(--ea-mobile-shadow-sm);
  margin: 24px 0;
  font-size: 15px;
  line-height: 1.8;
  text-align: justify;
  color: var(--ea-mobile-text-2);
  width: 100%;
  max-width: 100% !important;
}

/* Minimal scrollbar (4px), translucent */
.ea-scrollbar{
  scrollbar-width: thin;
  scrollbar-color: rgba(0,0,0,0.05) transparent;
}
.ea-scrollbar:hover{
  scrollbar-color: rgba(0,0,0,0.08) transparent;
}
.ea-scrollbar::-webkit-scrollbar{width:4px;height:4px}
.ea-scrollbar::-webkit-scrollbar-track{background: transparent}
.ea-scrollbar::-webkit-scrollbar-thumb{
  background: rgba(0,0,0,0.05);
  border-radius: 999px;
}
.ea-scrollbar:hover::-webkit-scrollbar-thumb{background: rgba(0,0,0,0.08)}

/* Composer: breathing border on focus */
@keyframes ea-breathe{
  0%, 100%{ box-shadow: 0 12px 32px rgba(15,23,42,0.08), 0 0 0 0 rgba(0,0,0,0.0) }
  50%{ box-shadow: 0 16px 44px rgba(15,23,42,0.10), 0 0 0 4px rgba(0,0,0,0.06) }
}
.ea-composer-panel:focus-within{
  animation: ea-breathe 2.4s ease-in-out infinite;
}

/* Sending: subtle flowing gradient border */
@keyframes ea-gradient{
  0%{ background-position: 0% 50% }
  50%{ background-position: 100% 50% }
  100%{ background-position: 0% 50% }
}
.ea-gradient-border{
  border: 1px solid transparent;
  background:
    linear-gradient(rgba(255,255,255,0.92), rgba(255,255,255,0.92)) padding-box,
    linear-gradient(120deg,
      rgba(200,205,210,0.7),
      rgba(220,224,228,0.65),
      rgba(200,205,210,0.7)
    ) border-box;
  background-size: auto, 400% 400%;
  animation: ea-gradient 3.8s ease infinite;
}

:root{
  --ea-mobile-tabbar-height: 60px;
  --ea-mobile-browserbar-height: 38px;
}

html[data-ea-chat-mobile='1']{
  --ea-mobile-bg-0: #F5F7F9;
  --ea-mobile-bg-1: #E9EDF2;
  --ea-mobile-surface: rgba(255,255,255,0.86);
  --ea-mobile-surface-strong: rgba(255,255,255,0.92);
  --ea-mobile-border: rgba(15,23,42,0.10);
  --ea-mobile-text: #0f172a;
  --ea-mobile-text-2: #111827;
  --ea-mobile-muted: #475569;
  --ea-mobile-shadow: 0 20px 48px rgba(15,23,42,0.10), 0 4px 10px rgba(15,23,42,0.03);
  --ea-mobile-shadow-sm: 0 10px 22px rgba(15,23,42,0.10);
}

html[data-ea-chat-mobile='1'] html,
html[data-ea-chat-mobile='1'] body{
  height: 100%;
  overflow: hidden;
  position: fixed;
  width: 100%;
}
html[data-ea-chat-mobile='1'] body{
  background: linear-gradient(135deg, var(--ea-mobile-bg-0) 0%, var(--ea-mobile-bg-1) 100%) !important;
}

html[data-ea-chat-mobile='1'] .ea-chat-mono{
  background: linear-gradient(135deg, var(--ea-mobile-bg-0) 0%, var(--ea-mobile-bg-1) 100%) !important;
}

html[data-ea-chat-mobile='1'] .ea-bottom-nav{
  position: relative;
  bottom: auto;
  z-index: 10;
  background: transparent;
}

html[data-ea-chat-mobile='1'] .ea-bottom-nav-inner{
  width: calc(100% - 24px);
  height: var(--ea-mobile-tabbar-height);
  border-radius: 16px;
  border: 1px solid var(--ea-mobile-border);
  box-shadow: var(--ea-mobile-shadow-sm);
  background: var(--ea-mobile-surface-strong);
}

html[data-ea-chat-mobile='1'] .ea-bottom-nav-inner button span:first-child{
  border: none !important;
  background: transparent !important;
  width: 20px;
  height: 20px;
}

.ea-chat-mobile{
  height: 100vh;
  width: 100%;
  max-width: 100%;
  margin: 0;
  background: transparent;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.ea-chat-mobile-header,
.ea-chat-mobile-composer,
.ea-bottom-nav{
  flex-shrink: 0;
}

.ea-chat-mobile-body{
  flex: 1;
  min-height: 0;
  display: flex;
  overflow: hidden;
}

.ea-chat-mobile-scroll{
  flex: 1;
  overflow-y: auto;
  overscroll-behavior: contain;
  /* 增加底部padding，避免内容被固定输入栏遮挡 */
  padding: 6px 0 calc(180px + var(--ea-bottom-nav-height, 0px));
  -webkit-overflow-scrolling: touch;
}

/* Mobile: 折叠输入区后，减少底部留白，扩大阅读区域 */
.ea-chat-mobile.ea-chat-mobile-composer-collapsed .ea-chat-mobile-scroll{
  padding-bottom: calc(60px + var(--ea-bottom-nav-height, 0px));
}

/* Mobile: tighten side gutters for chat messages */
html[data-ea-chat-mobile='1'] .ea-chat-message-inner{
  padding-left: 10px !important;
  padding-right: 10px !important;
}

.ea-chat-mobile-header{
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgba(255,255,255,0.78);
  backdrop-filter: blur(20px);
}

.ea-chat-mobile-statusbar{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 18px 6px;
  font-size: 13px;
  color: var(--ea-mobile-text);
}

.ea-chat-mobile-time{
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
}

.ea-chat-mobile-dot{
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: var(--ea-mobile-text-2);
  display: inline-block;
}

.ea-chat-mobile-sysicons{
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #111827;
}

.ea-chat-mobile-sysicons svg{
  width: 20px;
  height: 12px;
}

.ea-chat-mobile-net{
  font-weight: 600;
  letter-spacing: 0.5px;
}

.ea-chat-mobile-quickbar{
  display: flex;
  gap: 10px;
  padding: 10px 12px 14px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  position: relative;
}

.ea-chat-mobile-quickbar::after{
  content: '';
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 2px;
  height: 10px;
  border-radius: 12px;
  background: rgba(255,255,255,0.6);
  filter: blur(6px);
  opacity: 0.7;
}

.ea-chat-quick-btn{
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  border: 1px solid var(--ea-mobile-border);
  background: var(--ea-mobile-surface-strong);
  color: var(--ea-mobile-text-2);
  box-shadow: var(--ea-mobile-shadow-sm);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  display: grid;
  place-items: center;
}

html[data-ea-chat-mobile='1'] .ea-chat-mobile-primary-btn{
  border: 1px solid rgba(59,130,246,0.22);
  background: rgba(59,130,246,0.12);
  color: var(--ea-mobile-text-2);
  box-shadow: var(--ea-mobile-shadow-sm);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
html[data-ea-chat-mobile='1'] .ea-chat-mobile-primary-btn:hover{
  background: rgba(59,130,246,0.16);
}

html[data-ea-chat-mobile='1'] .ea-composer-side-icons button[aria-pressed="true"]{
  background: rgba(59,130,246,0.12) !important;
  border-color: rgba(59,130,246,0.22) !important;
  color: var(--ea-mobile-text-2) !important;
  box-shadow: var(--ea-mobile-shadow-sm) !important;
}

.ea-chat-mobile-card{
  width: 92%;
  margin: 0 auto 14px;
  border-radius: 18px;
  border: 1px solid var(--ea-mobile-border);
  box-shadow: var(--ea-mobile-shadow);
  background: var(--ea-mobile-surface);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  display: flex;
  flex-direction: column;
}

.ea-chat-mobile-card-dark{
  background: transparent;
  color: #111827;
  padding: 16px 18px;
  line-height: 1.8;
  font-size: 15px;
}

.ea-chat-mobile-card-light{
  background: transparent;
  border: none;
  padding: 18px 18px 14px;
  color: #1f2937;
}

.ea-chat-mobile-doc{
  display: grid;
  gap: 8px;
  font-size: 13px;
  color: #374151;
}

.ea-chat-mobile-divider{
  height: 1px;
  background: #e5e7eb;
  margin-top: 6px;
}

.ea-chat-mobile-messages{
  margin: 6px 0 0;
  width: 100%;
  padding: 0 0 12px;
}

.ea-chat-mobile-actions{
  display: flex;
  justify-content: center;
  gap: 16px;
  color: #9ca3af;
  font-size: 16px;
  margin: 8px 0 18px;
  opacity: 0.85;
}

html[data-ea-chat-mobile='1'] .ea-chat-mobile-actions{
  display: none;
}

.ea-chat-action-btn{
  border: none;
  background: transparent;
  color: inherit;
  font-size: 16px;
  cursor: pointer;
}

.ea-chat-mobile-browserbar{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--ea-mobile-browserbar-height);
  background: var(--ea-mobile-surface-strong);
  border-top: 1px solid var(--ea-mobile-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  font-size: 12px;
  color: var(--ea-mobile-muted);
  z-index: 40;
}

.ea-chat-mobile-browserbar-title{
  flex: 1;
  text-align: center;
  font-weight: 600;
  color: #374151;
}

.ea-chat-mobile-composer{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 50;
  padding: 10px 12px calc(env(safe-area-inset-bottom) + 10px);
  background: rgba(255,255,255,0.80);
  border-top: 0.5px solid var(--ea-mobile-border);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  /* 底部边距，避免遮挡底部导航栏 */
  margin-bottom: var(--ea-bottom-nav-height, 0px);
}

html[data-ea-chat-mobile='1'] .ea-chat-mobile-composer .ea-composer-shell{
  padding-left: 0;
  padding-right: 0;
}

html[data-ea-chat-mobile='1'] .ea-chat-mobile-composer .ea-composer-shell > div{
  width: 100%;
  max-width: 100%;
}

html[data-ea-chat-mobile='1'] .ea-chat-mobile-composer .ea-composer-panel{
  border-radius: 18px;
  background: rgba(255,255,255,0.72);
  border: 1px solid var(--ea-mobile-border);
  box-shadow: var(--ea-mobile-shadow-sm);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.ea-sheet-fullread > button[data-radix-dialog-close]{
  display: none;
}

.ea-line-clamp-3{
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ea-chat-mobile-composer .ea-composer-panel{
  background: rgba(255,255,255,0.7);
  border-radius: 18px;
  padding: 12px 14px 10px;
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 12px 30px rgba(15,23,42,0.12);
}

html[data-ea-chat-mobile='1'] .ea-chat-mobile-composer .ea-composer-panel{
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
}

html[data-ea-chat-mobile='1'] .ea-chat-mobile-composer .ea-composer-panel > div:first-child{
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}

html[data-ea-chat-mobile='1'] .ea-chat-mobile-composer .ea-composer-panel > div:first-child > div:first-child{
  width: 100%;
}

html[data-ea-chat-mobile='1'] .ea-chat-mobile-composer .ea-composer-panel > div:first-child > div:first-child button{
  flex: 1;
}

html[data-ea-chat-mobile='1'] .ea-chat-mobile-composer .ea-composer-panel > div:first-child > div:nth-child(2){
  justify-content: flex-start;
}

html[data-ea-chat-mobile='1'] .ea-chat-mobile-composer .ea-composer-panel > div:nth-child(2){
  width: 100%;
}

html[data-ea-chat-mobile='1'] .ea-chat-mobile-composer textarea{
  min-height: 44px;
  max-height: 200px;
  padding-left: 12px !important;
  padding-right: 96px !important;
  /* 自动拓宽：允许滚动但隐藏滚动条样式 */
  overflow-y: auto !important;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
html[data-ea-chat-mobile='1'] .ea-chat-mobile-composer textarea::-webkit-scrollbar{
  display: none;
}

.ea-chat-mobile-composer .ea-composer-panel .ea-glass-panel,
.ea-chat-mobile-composer .ea-composer-panel.ea-glass-panel{
  background: transparent;
  box-shadow: none;
  border: none;
}

.ea-chat-mobile-editing{
  margin-bottom: 8px;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  border-radius: 14px;
  border: 1px solid #e5e7eb;
  background: rgba(255,255,255,0.9);
  padding: 8px 12px;
  font-size: 12px;
  color: #6b7280;
}

.ea-chat-mobile-editing button{
  border: none;
  background: transparent;
  color: #1f2937;
  font-weight: 600;
}

/* Mobile / compact form refinements */
html[data-ea-chat-mobile='1'] body{
  background: #F8FAFC;
}
html[data-ea-chat-mobile='1'] .t-form__item{
  margin-bottom: 1.5rem;
}
html[data-ea-chat-mobile='1'] .t-form__label{
  color: #64748b;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 8px;
}
html[data-ea-chat-mobile='1'] .t-input__wrap,
html[data-ea-chat-mobile='1'] .t-select__wrap,
html[data-ea-chat-mobile='1'] .t-input-number,
html[data-ea-chat-mobile='1'] .t-textarea__wrap{
  min-height: 100px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 8px 30px rgba(0,0,0,0.04);
  transition: all 0.24s ease;
}
html[data-ea-chat-mobile='1'] .t-input__wrap:focus-within,
html[data-ea-chat-mobile='1'] .t-select__wrap:focus-within,
html[data-ea-chat-mobile='1'] .t-input-number:focus-within,
html[data-ea-chat-mobile='1'] .t-textarea__wrap:focus-within{
  border-color: #007AFF;
  box-shadow: 0 0 0 2px rgba(0,122,255,0.2);
}
html[data-ea-chat-mobile='1'] .t-input-number__decrease,
html[data-ea-chat-mobile='1'] .t-input-number__increase{
  border-radius: 10px;
  transition: transform 0.2s ease, background 0.2s ease;
}
html[data-ea-chat-mobile='1'] .t-input-number__decrease:hover,
html[data-ea-chat-mobile='1'] .t-input-number__increase:hover{
  background: rgba(148,163,184,0.12);
}
html[data-ea-chat-mobile='1'] .t-input-number__decrease:active,
html[data-ea-chat-mobile='1'] .t-input-number__increase:active{
  transform: scale(0.97);
}
html[data-ea-chat-mobile='1'] .t-switch{
  background: linear-gradient(120deg, rgba(0,122,255,0.65), rgba(56,189,248,0.65));
  box-shadow: 0 6px 18px rgba(0,122,255,0.22);
}
html[data-ea-chat-mobile='1'] .t-switch__handle{
  box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}
html[data-ea-chat-mobile='1'] .t-collapse-panel{
  background: #f1f5f9;
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.3s ease;
}
html[data-ea-chat-mobile='1'] .t-collapse-panel__header{
  padding: 12px 14px;
}
html[data-ea-chat-mobile='1'] .t-collapse-panel__content{
  padding: 12px 16px 16px;
  background: #ffffff;
}
html[data-ea-chat-mobile='1'] .t-tag{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 10px;
  box-shadow: 0 6px 14px rgba(0,0,0,0.06);
}
.ea-voice-active{
  box-shadow: 0 0 18px rgba(129,140,248,0.55), 0 10px 26px rgba(15,23,42,0.45);
  animation: ea-breathe 2.4s ease-in-out infinite;
}

/* Send button: 深炭色磨砂胶囊 + 霓虹内光 */
.ea-send-pill{
  background: radial-gradient(circle at 0% 0%, rgba(129,140,248,0.65) 0, rgba(30,64,175,0.85) 24%, rgba(15,23,42,1) 64%);
  box-shadow:
    0 20px 50px rgba(15,23,42,0.55),
    0 6px 18px rgba(15,23,42,0.35),
    inset 0 1px 0 rgba(255,255,255,0.35);
  border-radius: 999px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ea-send-pill:hover{
  box-shadow:
    0 24px 60px rgba(15,23,42,0.6),
    0 8px 22px rgba(15,23,42,0.4),
    inset 0 1px 0 rgba(255,255,255,0.4);
}

html[data-ea-chat-mobile='1'] .ea-send-pill{
  background: rgba(59,130,246,0.14) !important;
  border: 1px solid rgba(59,130,246,0.22) !important;
  box-shadow: var(--ea-mobile-shadow-sm) !important;
  color: #1d4ed8 !important;
}
html[data-ea-chat-mobile='1'] .ea-send-pill:hover{
  box-shadow: var(--ea-mobile-shadow) !important;
}

/* -----------------------------
   非对话页（三栏/多栏页面）材质规范
   ----------------------------- */

.ea-app-main-panel{
  background: rgba(255, 255, 255, 0.7) !important;
  backdrop-filter: blur(35px);
  -webkit-backdrop-filter: blur(35px);
  border-radius: 20px !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.02) !important;
  /* 白色半透明内描边（物理反光） */
  box-shadow: 0 4px 20px rgba(0,0,0,0.02), inset 0 0 0 1px rgba(255,255,255,0.4) !important;
  padding: 24px !important;
}

/* 交互压感：优先覆盖常见按钮类，避免全局破坏 */
.ea-hover-float:active,
.btn:active,
.t-button:active{
  transform: scale(0.97);
}

/* Tooltips：玻璃材质 */
.ea-tip::after{
  font-size: 12px;
  background: rgba(255,255,255,0.85);
  border-radius: 10px;
  backdrop-filter: blur(35px);
  -webkit-backdrop-filter: blur(35px);
}

/* -----------------------------
   对话页 variant=2：轴线 / 穿透 / 材质 / 字体
   ----------------------------- */

html[data-ea-chat-variant='2']{
  /* Typography tokens */
  --ea-type-primary: #111827;
  --ea-type-secondary: #475569;
  --ea-type-muted: #64748B;
  --ea-type-faint: #94A3B8;
  --ea-type-title: 16px;
  --ea-type-body: 15px;
  --ea-type-sm: 13px;
  --ea-type-xs: 11px;
  --ea-type-line: 1.80;
  --ea-type-track: -0.01em;
}

html[data-ea-chat-variant='2']:not([data-ea-chat-mobile='1']) .ea-chat-mono{
  color: var(--ea-type-primary) !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "kern" 1, "liga" 1;
}

/* 统一 Tailwind slate 颜色到设计 tokens（仅 PC variant=2） */
html[data-ea-chat-variant='2']:not([data-ea-chat-mobile='1']) .ea-chat-mono .text-slate-900{ color: var(--ea-type-primary) !important; }
html[data-ea-chat-variant='2']:not([data-ea-chat-mobile='1']) .ea-chat-mono .text-slate-800{ color: var(--ea-type-primary) !important; }
html[data-ea-chat-variant='2']:not([data-ea-chat-mobile='1']) .ea-chat-mono .text-slate-700{ color: var(--ea-type-secondary) !important; }
html[data-ea-chat-variant='2']:not([data-ea-chat-mobile='1']) .ea-chat-mono .text-slate-600{ color: var(--ea-type-secondary) !important; }
html[data-ea-chat-variant='2']:not([data-ea-chat-mobile='1']) .ea-chat-mono .text-slate-500{ color: var(--ea-type-muted) !important; }
html[data-ea-chat-variant='2']:not([data-ea-chat-mobile='1']) .ea-chat-mono .text-slate-400{ color: var(--ea-type-faint) !important; }

html[data-ea-chat-variant='2']:not([data-ea-chat-mobile='1']) .ea-chat-mono .text-foreground{ color: var(--ea-type-primary) !important; }
html[data-ea-chat-variant='2']:not([data-ea-chat-mobile='1']) .ea-chat-mono .text-muted-foreground{ color: var(--ea-type-muted) !important; }

html[data-ea-chat-variant='2'] .ea-chat-message-inner{
  max-width: 1040px;
  margin: 0 auto;
  padding: 32px 40px;
}

html[data-ea-chat-variant='2'] .ea-composer-shell > div{
  max-width: 1040px;
}

@media (max-width: 1024px){
  html[data-ea-chat-variant='2'] .ea-chat-message-inner{
    padding: 24px 16px;
    max-width: 100%;
  }

  html[data-ea-chat-variant='2'] .ea-composer-shell > div{
    max-width: 100%;
  }
}

html[data-ea-chat-variant='2'] .ea-chat-main-shell{
  background: rgba(255,255,255,0.4);
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(40px);
  box-shadow: 0 4px 20px rgba(0,0,0,0.02), inset 0 0 0 1px rgba(255,255,255,0.5);
}

html[data-ea-chat-variant='2'] .ea-chat-message-body{
  font-size: var(--ea-type-body);
  line-height: var(--ea-type-line);
  letter-spacing: var(--ea-type-track);
  color: var(--ea-type-primary) !important;
}

html[data-ea-chat-variant='2'] .ea-ref-pill{
  height: 26px;
  border-radius: 13px;
  background: rgba(0, 122, 255, 0.08) !important;
  color: #007AFF !important;
}

html[data-ea-chat-variant='2'] .ea-msg-ai{
  background: rgba(255,255,255,0.9) !important;
  border: 1px solid rgba(255,255,255,0.5) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.02), inset 0 0 0 1px rgba(255,255,255,0.5) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

html[data-ea-chat-variant='2']:not([data-ea-chat-mobile='1']) .ea-composer-shell{
  position: static;
  padding-left: 40px;
  padding-right: 40px;
}

html[data-ea-chat-variant='2']:not([data-ea-chat-mobile='1']) .ea-composer-shell > div{
  max-width: 1040px !important;
}

html[data-ea-chat-variant='2']:not([data-ea-chat-mobile='1']):not([data-ea-chat-theme='dark']) .ea-composer-panel{
  border-radius: 24px;
  background: rgba(255,255,255,0.9) !important;
  border: 1px solid rgba(255,255,255,0.5) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.02), inset 0 0 0 1px rgba(255,255,255,0.5) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

html[data-ea-chat-variant='2'] .ea-chat-session-item{
  height: 40px;
}

html[data-ea-chat-variant='2'] .ea-note-list-panel{
  background: #FFFFFF !important;
  border: none !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.02);
}

html[data-ea-chat-variant='2'] .ea-note-card{
  background: #FFFFFF !important;
  border: none !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.02) !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
  letter-spacing: var(--ea-type-track);
  color: var(--ea-type-primary);
}

/* Chat 全屏模式：隐藏 PC 壳头部和侧边栏，仅保留中间工作台 */
html[data-ea-chat-fullscreen='1'],
html[data-ea-chat-fullscreen='1'] body{
  height: 100%;
  overflow: hidden;
}

html[data-ea-chat-fullscreen='1'] [data-ea-shell="pc"]{
  height: 100dvh;
  overflow: hidden;
}

html[data-ea-chat-fullscreen='1'] [data-ea-shell="pc"] > div{
  height: 100dvh;
  min-height: 0;
  max-width: none;
  padding: 0;
  gap: 0;
  overflow: hidden;
}
html[data-ea-chat-fullscreen='1'] [data-ea-shell="pc"] > div > header.ea-header{
  display: none;
}
html[data-ea-chat-fullscreen='1'] [data-ea-shell="pc"] > div > .flex{
  gap: 0;
}
html[data-ea-chat-fullscreen='1'] [data-ea-shell="pc"] aside{
  display: none;
}
html[data-ea-chat-fullscreen='1'] [data-ea-shell="pc"] main{
  border-radius: 0;
  box-shadow: none;
  overflow: hidden !important;
}
html[data-ea-chat-fullscreen='1'] [data-ea-shell="pc"] main > div{
  max-width: none;
  padding: 0;
  height: 100%;
  min-height: 0;
}
html[data-ea-chat-fullscreen='1'] .ea-bottom-nav{
  display: none;
}

/* 全屏：对话区/输入区取消居中最大宽度，真正铺满可用区域 */
html[data-ea-chat-fullscreen='1'] .ea-chat-message-inner{
  max-width: none;
  margin: 0;
  padding: 24px 24px 18px;
}

/* 全屏：输入区左右边距与上方互动区一致（对齐 .ea-chat-message-inner 的 24px padding） */
html[data-ea-chat-fullscreen='1'] .ea-composer-shell{
  padding-left: 24px !important;
  padding-right: 24px !important;
}
html[data-ea-chat-fullscreen='1'] .ea-composer-shell > div{
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

/* 全屏：使用“实际输入区高度”计算消息区高度，确保输入区永远可见 */
html[data-ea-chat-fullscreen='1'][data-ea-chat-variant='2']:not([data-ea-chat-mobile='1']) .ea-chat-main-scroll{
  height: max(0px, calc(100dvh - 4rem - var(--ea-chat-composer-h, 240px)));
  max-height: max(0px, calc(100dvh - 4rem - var(--ea-chat-composer-h, 240px)));
  min-height: 0;
}

/* 全屏：极小窗口兜底，输入区自身不允许无限增高，把内部做滚动 */
html[data-ea-chat-fullscreen='1'][data-ea-chat-variant='2']:not([data-ea-chat-mobile='1']) .ea-composer-shell{
  max-height: calc(100dvh - 4rem);
  overflow-y: auto;
}

/* 手机横屏：进一步收紧底部占位，避免内容被挤压 */
@media (orientation: landscape) and (max-height: 520px){
  html[data-ea-chat-mobile='1'] .ea-chat-mobile-scroll{
    padding-bottom: 64px;
  }
  html[data-ea-chat-mobile='1'] .ea-chat-mobile-composer{
    padding-top: 8px;
    padding-bottom: calc(env(safe-area-inset-bottom) + 8px);
  }
}

/* 发送按钮压感：比全局 0.97 更深一档 */
.ea-hover-float.ea-send-pill:active{
  transform: scale(0.95);
  box-shadow:
    0 28px 70px rgba(15,23,42,0.66),
    0 10px 26px rgba(15,23,42,0.46),
    inset 0 1px 0 rgba(255,255,255,0.28);
}

html[data-ea-chat-mobile='1'] .ea-hover-float.ea-send-pill:active{
  box-shadow: var(--ea-mobile-shadow-sm) !important;
}

/* -----------------------------
   Login page (/login)
   - 仅做 UI，不改功能逻辑
   ----------------------------- */

.ea-login-root{
  min-height: 100vh;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 56px 16px;
}

.ea-login-backdrop{
  position: absolute;
  inset: 0;
  background:
    radial-gradient(1200px 680px at 18% 8%, rgba(59,130,246,0.18) 0%, rgba(59,130,246,0.00) 52%),
    radial-gradient(900px 560px at 82% 18%, rgba(168,85,247,0.16) 0%, rgba(168,85,247,0.00) 55%),
    radial-gradient(900px 620px at 50% 98%, rgba(14,165,233,0.12) 0%, rgba(14,165,233,0.00) 58%),
    linear-gradient(135deg, rgba(248,250,252,1) 0%, rgba(241,245,249,1) 44%, rgba(226,232,240,1) 100%);
}

.ea-login-glow{
  position: absolute;
  inset: -12% -18% auto -18%;
  height: 56vh;
  background: radial-gradient(circle at 42% 58%, rgba(255,255,255,0.66) 0%, rgba(255,255,255,0.0) 62%);
  filter: blur(22px);
  opacity: 0.85;
  pointer-events: none;
}

.ea-login-main{
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 520px;
}

.ea-login-card{
  border-radius: 28px;
  border: 1px solid hsl(var(--border) / 0.65);
  background: hsl(var(--card) / 0.72);
  box-shadow: var(--shadow-elev-2);
  backdrop-filter: blur(26px) saturate(160%);
  -webkit-backdrop-filter: blur(26px) saturate(160%);
}

.ea-login-card-inner{
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

/* 网站标题：只改“个人开发测试”字体大小 */
.ea-login-labtag{
  font-size: 18px;
}

.ea-login-brand-embed{
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ea-login-brand-ea{
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
  font-weight: 900;
  letter-spacing: -0.04em;
  font-size: 28px;
  line-height: 1;
}

.ea-login-brand-line{
  width: 46px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, hsl(var(--primary) / 0.95), rgba(168,85,247,0.85));
}

.ea-login-brand-title{
  font-family: 'Playfair Display', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
  font-size: 22px;
  line-height: 1.15;
  letter-spacing: 0.06em;
}

.ea-login-brand-cn{
  font-size: 13px;
  line-height: 1.4;
  color: hsl(var(--muted-foreground));
}

.ea-login-form{
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.ea-login-field{
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ea-login-label{
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
}

.ea-login-label-en{
  font-size: 11px;
  letter-spacing: 0.18em;
  color: hsl(var(--muted-foreground));
}

.ea-login-label-zh{
  font-size: 12px;
  color: hsl(var(--muted-foreground));
}

.ea-login-input{
  width: 100%;
  height: 44px;
  padding: 0 12px;
  border-radius: 14px;
  border: 1px solid hsl(var(--border) / 0.9);
  background: rgba(255,255,255,0.65);
  color: hsl(var(--foreground));
  outline: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.75);
  transition: box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
}

.ea-login-input::-moz-placeholder{
  color: hsl(var(--muted-foreground));
}

.ea-login-input::placeholder{
  color: hsl(var(--muted-foreground));
}

.ea-login-input:focus{
  border-color: hsl(var(--ring) / 0.65);
  box-shadow: 0 0 0 4px hsl(var(--ring) / 0.12), inset 0 1px 0 rgba(255,255,255,0.8);
  background: rgba(255,255,255,0.82);
}

.ea-login-error{
  border-radius: 14px;
  padding: 10px 12px;
  border: 1px solid hsl(var(--destructive) / 0.26);
  background: hsl(var(--destructive) / 0.10);
  color: hsl(var(--foreground));
  font-size: 13px;
  line-height: 1.4;
}

.ea-login-actions{
  margin-top: 2px;
}

/* 仅调整按钮的视觉（不改行为）：更圆、更稳的阴影 */
.ea-login-submit{
  width: 100%;
  height: 46px;
  border-radius: 16px;
  box-shadow: 0 14px 34px rgba(15,23,42,0.12);
}

.ea-login-submit-text{
  font-weight: 700;
}

.ea-login-submit-arrow{
  margin-left: 10px;
  opacity: 0.9;
}

.ea-login-footer{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 14px;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 0 16px;
  pointer-events: none;
}

.ea-login-footer-mirror{
  font-size: 11px;
  letter-spacing: 0.12em;
  color: hsl(var(--muted-foreground));
  text-align: center;
  pointer-events: none;
}

.ea-login-footer-icp{
  font-size: 12px;
  color: hsl(var(--muted-foreground));
  text-decoration: none;
  pointer-events: auto;
}

.ea-login-footer-icp:hover{
  text-decoration: underline;
}

@media (max-width: 520px){
  .ea-login-card-inner{ padding: 22px; }
  .ea-login-root{ padding-top: 44px; }
  .ea-login-footer{ bottom: 10px; }
}
.t-layout {
  font: var(--td-font-body-medium);
  color: var(--td-text-color-primary);
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  list-style: none;
}
.t-layout,
.t-layout__direction-vertical {
  display: flex;
  flex-direction: column;
  background: var(--td-bg-color-page);
  flex: auto;
}
.t-layout--with-sider,
.t-layout__direction-horizontal {
  flex-direction: row;
}
.t-layout__header {
  height: var(--td-comp-size-xxxl);
  background-color: var(--td-bg-color-container);
}
.t-layout__content {
  flex: auto;
}
.t-layout__sider {
  position: relative;
  transition: all 0.2s;
  background: var(--td-bg-color-container);
  width: 232px;
}
.t-layout__footer {
  color: var(--td-text-color-placeholder);
  padding: 24px;
}
@keyframes t-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes t-fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes t-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.t-icon-loading {
  animation: t-spin 1s linear infinite;
}
@keyframes t-zoom-out {
  from {
    transform: scale(0.2);
  }
  to {
    transform: scale(1);
  }
}
.t-loading {
  font: var(--td-font-body-medium);
  color: var(--td-text-color-primary);
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  list-style: none;
  position: relative;
  color: var(--td-brand-color);
  font-size: var(--td-comp-size-l);
}
.t-loading--lock {
  overflow: hidden;
}
.t-loading.t-size-s {
  font-size: var(--td-comp-size-xxxs);
}
.t-loading.t-size-l {
  font-size: var(--td-comp-size-xxxl);
}
.t-loading__parent--relative {
  position: relative !important;
}
.t-loading__fullscreen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3500;
}
.t-loading--center {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  justify-content: center;
}
.t-loading__content {
  position: absolute;
  left: 48%;
  top: 20%;
}
.t-loading--inherit-color {
  color: inherit;
}
.t-loading__parent {
  position: relative;
}
.t-loading__overlay {
  background-color: var(--td-mask-disabled);
}
/** 仅用于作为包裹元素时 */
.t-loading--full {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3500;
}
.t-loading--hidden {
  visibility: hidden;
}
.t-loading--visible {
  visibility: visible;
}
.t-loading__text {
  width: auto;
  display: inline-block;
  vertical-align: middle;
  font: var(--td-font-body-medium);
  margin-left: var(--td-comp-margin-xs);
}
.t-loading__gradient {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  vertical-align: middle;
}
.t-loading__gradient-conic {
  width: 100%;
  height: 100%;
  border-radius: var(--td-radius-circle);
  /* stylelint-disable-next-line color-no-hex */
  background: conic-gradient(from 90deg at 50% 50%, #fff 0deg, currentcolor 360deg);
  /* stylelint-disable-next-line */
  -webkit-mask: radial-gradient(transparent calc(50% - 0.5px), #fff 50%);
  /* stylelint-disable-next-line color-no-hex */
  mask: radial-gradient(transparent calc(50% - 0.5px), #fff 50%);
}
.content-placement-top .t-popup[data-popper-placement^='top'] .t-popup__content {
  margin-bottom: var(--td-comp-margin-s);
}
.content-placement-top .t-popup[data-popper-placement^='top'] .t-popup__content--arrow {
  margin-bottom: var(--td-comp-margin-l);
}
.content-placement-bottom .t-popup[data-popper-placement^='bottom'] .t-popup__content {
  margin-top: var(--td-comp-margin-s);
}
.content-placement-bottom .t-popup[data-popper-placement^='bottom'] .t-popup__content--arrow {
  margin-top: var(--td-comp-margin-l);
}
.content-placement-left .t-popup[data-popper-placement^='left'] .t-popup__content {
  margin-right: var(--td-comp-margin-s);
}
.content-placement-left .t-popup[data-popper-placement^='left'] .t-popup__content--arrow {
  margin-right: var(--td-comp-margin-l);
}
.content-placement-left .t-popup[data-popper-placement^='left'] .t-popup__content--text {
  max-width: 480px;
}
.content-placement-right .t-popup[data-popper-placement^='right'] .t-popup__content {
  margin-left: var(--td-comp-margin-s);
}
.content-placement-right .t-popup[data-popper-placement^='right'] .t-popup__content--arrow {
  margin-left: var(--td-comp-margin-l);
}
.content-placement-right .t-popup[data-popper-placement^='right'] .t-popup__content--text {
  max-width: 480px;
}
.t-popup {
  font: var(--td-font-body-medium);
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--td-text-color-primary);
  display: inline-block;
  z-index: 5500;
}
.t-popup__content {
  position: relative;
  background: var(--td-bg-color-container);
  box-shadow: var(--td-shadow-2), var(--td-shadow-inset-top), var(--td-shadow-inset-right), var(--td-shadow-inset-bottom), var(--td-shadow-inset-left);
  border-radius: var(--td-radius-medium);
  padding: var(--td-comp-paddingTB-xs) var(--td-comp-paddingLR-s);
  font-size: var(--td-font-size-body-medium);
  line-height: var(--td-line-height-body-medium);
  box-sizing: border-box;
  word-break: break-all;
}
.t-popup__arrow {
  position: absolute;
  z-index: 1;
  width: 8px;
  height: 8px;
}
.t-popup__arrow::before {
  position: absolute;
  content: '';
  width: 8px;
  height: 8px;
  transform: rotate(45deg);
  background: var(--td-bg-color-container);
}
.t-popup[data-popper-placement^='top'] .t-popup__content {
  margin-bottom: var(--td-comp-margin-s);
}
.t-popup[data-popper-placement^='top'] .t-popup__content--arrow {
  margin-bottom: var(--td-comp-margin-l);
}
.t-popup[data-popper-placement^='bottom'] .t-popup__content {
  margin-top: var(--td-comp-margin-s);
}
.t-popup[data-popper-placement^='bottom'] .t-popup__content--arrow {
  margin-top: var(--td-comp-margin-l);
}
.t-popup[data-popper-placement^='left'] .t-popup__content {
  margin-right: var(--td-comp-margin-s);
}
.t-popup[data-popper-placement^='left'] .t-popup__content--arrow {
  margin-right: var(--td-comp-margin-l);
}
.t-popup[data-popper-placement^='left'] .t-popup__content--text {
  max-width: 480px;
}
.t-popup[data-popper-placement^='right'] .t-popup__content {
  margin-left: var(--td-comp-margin-s);
}
.t-popup[data-popper-placement^='right'] .t-popup__content--arrow {
  margin-left: var(--td-comp-margin-l);
}
.t-popup[data-popper-placement^='right'] .t-popup__content--text {
  max-width: 480px;
}
.t-popup[data-popper-placement^='top'] .t-popup__arrow::before {
  border-top-left-radius: 100%;
  box-shadow: var(--td-shadow-inset-left), var(--td-shadow-inset-bottom);
}
.t-popup[data-popper-placement='top-start'] .t-popup__arrow {
  left: 8px;
}
.t-popup[data-popper-placement='top'] .t-popup__arrow {
  left: 50%;
  margin-left: calc(-8px / 2);
}
.t-popup[data-popper-placement='top-end'] .t-popup__arrow {
  left: calc(100% - 8px * 2);
}
.t-popup[data-popper-placement^='bottom'] .t-popup__arrow {
  top: calc(-8px / 2);
}
.t-popup[data-popper-placement^='bottom'] .t-popup__arrow::before {
  border-bottom-right-radius: 100%;
  box-shadow: var(--td-shadow-inset-top), var(--td-shadow-inset-right);
}
.t-popup[data-popper-placement='bottom-start'] .t-popup__arrow {
  left: 8px;
}
.t-popup[data-popper-placement='bottom'] .t-popup__arrow {
  left: 50%;
  margin-left: calc(-8px / 2);
}
.t-popup[data-popper-placement='bottom-end'] .t-popup__arrow {
  left: calc(100% - 8px * 2);
}
.t-popup[data-popper-placement^='left'] .t-popup__arrow {
  right: calc(-8px / 2);
}
.t-popup[data-popper-placement^='left'] .t-popup__arrow::before {
  box-shadow: var(--td-shadow-inset-left), var(--td-shadow-inset-top);
}
.t-popup[data-popper-placement='left-start'] .t-popup__arrow {
  top: 8px;
}
.t-popup[data-popper-placement='left'] .t-popup__arrow {
  top: 50%;
  margin-top: calc(-8px / 2);
}
.t-popup[data-popper-placement='left-end'] .t-popup__arrow {
  top: calc(100% - 8px * 2);
}
.t-popup[data-popper-placement^='right'] .t-popup__arrow {
  left: calc(-8px / 2);
}
.t-popup[data-popper-placement^='right'] .t-popup__arrow::before {
  box-shadow: var(--td-shadow-inset-right), var(--td-shadow-inset-bottom);
}
.t-popup[data-popper-placement='right-start'] .t-popup__arrow {
  top: 8px;
}
.t-popup[data-popper-placement='right'] .t-popup__arrow {
  top: 50%;
  margin-top: calc(-8px / 2);
}
.t-popup[data-popper-placement='right-end'] .t-popup__arrow {
  top: calc(100% - 8px * 2);
}
.t-popup--animation-enter,
.t-popup--animation-enter-from,
.t-popup--animation-exiting,
.t-popup--animation-leave-to {
  opacity: 0;
  visibility: hidden;
}
.t-popup--animation-enter-to,
.t-popup--animation-entering,
.t-popup--animation-leave-from,
.t-popup--animation-leave {
  opacity: 1;
  visibility: visible;
  transform: none;
}
.t-popup--animation-enter-active {
  transition: opacity 0.2s linear;
}
.t-popup--animation-leave-active {
  transition: opacity 0.2s cubic-bezier(0, 0, 0.15, 1), visibility 0.2s cubic-bezier(0.82, 0, 1, 0.9);
}
.t-popup--animation-expand-enter-active[data-popper-placement^=top] {
  animation: t-popup-animation-expand-in-top 0.2s cubic-bezier(0.38, 0, 0.24, 1), t-fade-in 0.2s linear;
}
.t-popup--animation-expand-leave-active[data-popper-placement^=top] {
  animation: t-popup-animation-expand-out-top 0.2s cubic-bezier(0.38, 0, 0.24, 1), t-fade-out 0.2s cubic-bezier(0, 0, 0.15, 1);
}
@keyframes t-popup-animation-expand-in-top {
  0% {
    clip-path: polygon(-20% 120%, 120% 120%, 120% 120%, -20% 120%);
  }
  100% {
    clip-path: polygon(-20% 0, 120% 0, 120% 120%, -20% 120%);
  }
}
@keyframes t-popup-animation-expand-out-top {
  0% {
    clip-path: polygon(-20% 0, 120% 0, 120% 120%, -20% 120%);
  }
  100% {
    clip-path: polygon(-20% 120%, 120% 120%, 120% 120%, -20% 120%);
  }
}
.t-popup--animation-expand-enter-active[data-popper-placement^=bottom] {
  animation: t-popup-animation-expand-in-bottom 0.2s cubic-bezier(0.38, 0, 0.24, 1), t-fade-in 0.2s linear;
}
.t-popup--animation-expand-leave-active[data-popper-placement^=bottom] {
  animation: t-popup-animation-expand-out-bottom 0.2s cubic-bezier(0.38, 0, 0.24, 1), t-fade-out 0.2s cubic-bezier(0, 0, 0.15, 1);
}
@keyframes t-popup-animation-expand-in-bottom {
  0% {
    clip-path: polygon(-20% 0, 120% 0, 120% 0, -20% 0);
  }
  100% {
    clip-path: polygon(-20% 0, 120% 0, 120% 120%, -20% 120%);
  }
}
@keyframes t-popup-animation-expand-out-bottom {
  0% {
    clip-path: polygon(-20% 0, 120% 0, 120% 120%, -20% 120%);
  }
  100% {
    clip-path: polygon(-20% 0, 120% 0, 120% 0, -20% 0);
  }
}
.t-button {
  font: var(--td-font-body-medium);
  color: var(--td-text-color-primary);
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  list-style: none;
  position: relative;
  z-index: 0;
  overflow: hidden;
  font-size: var(--td-font-body-medium);
  outline: none;
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  background-color: transparent;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  white-space: nowrap;
  border-radius: var(--td-radius-default);
  transition: all 0.2s linear;
  touch-action: manipulation;
  text-decoration: none;
}
.t-button .t-button__text,
.t-button .t-icon {
  position: relative;
  z-index: 1;
  display: inline-flex;
}
.t-button .t-icon {
  font-size: var(--td-font-size-body-large);
}
.t-button .t-loading {
  font-size: var(--td-font-size-body-large);
}
.t-button .t-icon + .t-button__text:not(:empty) {
  margin-left: 8px;
}
.t-button .t-loading + .t-button__text:not(:empty) {
  margin-left: 8px;
}
.t-button .t-button__suffix:not(:empty) {
  display: inline-flex;
  margin-left: 8px;
}
.t-button--variant-base {
  color: var(--td-text-color-anti);
  height: var(--td-comp-size-m);
  font: var(--td-font-body-medium);
  padding-left: calc(var(--td-comp-paddingLR-l) - 1px);
  padding-right: calc(var(--td-comp-paddingLR-l) - 1px);
  background-color: var(--td-bg-color-component);
  border-color: var(--td-bg-color-component);
  color: var(--td-text-color-primary);
}
.t-button--variant-base .t-icon,
.t-button--variant-base .t-loading {
  font-size: var(--td-font-size-body-large);
}
.t-button--variant-base:hover,
.t-button--variant-base:focus-visible {
  background-color: var(--td-bg-color-component-hover);
}
.t-button--variant-base.t-is-loading {
  background-color: var(--td-bg-color-component-disabled);
}
.t-button--variant-base.t-is-disabled {
  background-color: var(--td-bg-color-component-disabled);
}
.t-button--variant-base:hover,
.t-button--variant-base:focus-visible {
  border-color: var(--td-bg-color-component-hover);
}
.t-button--variant-base.t-is-loading {
  border-color: var(--td-bg-color-component-disabled);
}
.t-button--variant-base.t-is-disabled {
  border-color: var(--td-bg-color-component-disabled);
}
.t-button--variant-base:hover,
.t-button--variant-base:focus-visible {
  color: var(--td-text-color-primary);
}
.t-button--variant-base.t-is-loading {
  color: var(--td-text-color-disabled);
}
.t-button--variant-base.t-is-disabled {
  color: var(--td-text-color-disabled);
}
.t-button--variant-base.t-button--theme-primary {
  color: var(--td-text-color-anti);
  background-color: var(--td-brand-color);
  border-color: var(--td-brand-color);
}
.t-button--variant-base.t-button--theme-primary:hover,
.t-button--variant-base.t-button--theme-primary:focus-visible {
  background-color: var(--td-brand-color-hover);
}
.t-button--variant-base.t-button--theme-primary.t-is-loading {
  background-color: var(--td-brand-color-disabled);
}
.t-button--variant-base.t-button--theme-primary.t-is-disabled {
  background-color: var(--td-brand-color-disabled);
}
.t-button--variant-base.t-button--theme-primary:hover,
.t-button--variant-base.t-button--theme-primary:focus-visible {
  border-color: var(--td-brand-color-hover);
}
.t-button--variant-base.t-button--theme-primary.t-is-loading {
  border-color: var(--td-brand-color-disabled);
}
.t-button--variant-base.t-button--theme-primary.t-is-disabled {
  border-color: var(--td-brand-color-disabled);
}
.t-button--variant-base.t-button--theme-success {
  color: var(--td-text-color-anti);
  background-color: var(--td-success-color);
  border-color: var(--td-success-color);
}
.t-button--variant-base.t-button--theme-success:hover,
.t-button--variant-base.t-button--theme-success:focus-visible {
  background-color: var(--td-success-color-hover);
}
.t-button--variant-base.t-button--theme-success.t-is-loading {
  background-color: var(--td-success-color-disabled);
}
.t-button--variant-base.t-button--theme-success.t-is-disabled {
  background-color: var(--td-success-color-disabled);
}
.t-button--variant-base.t-button--theme-success:hover,
.t-button--variant-base.t-button--theme-success:focus-visible {
  border-color: var(--td-success-color-hover);
}
.t-button--variant-base.t-button--theme-success.t-is-loading {
  border-color: var(--td-success-color-disabled);
}
.t-button--variant-base.t-button--theme-success.t-is-disabled {
  border-color: var(--td-success-color-disabled);
}
.t-button--variant-base.t-button--theme-warning {
  color: var(--td-text-color-anti);
  background-color: var(--td-warning-color);
  border-color: var(--td-warning-color);
}
.t-button--variant-base.t-button--theme-warning:hover,
.t-button--variant-base.t-button--theme-warning:focus-visible {
  background-color: var(--td-warning-color-hover);
}
.t-button--variant-base.t-button--theme-warning.t-is-loading {
  background-color: var(--td-warning-color-disabled);
}
.t-button--variant-base.t-button--theme-warning.t-is-disabled {
  background-color: var(--td-warning-color-disabled);
}
.t-button--variant-base.t-button--theme-warning:hover,
.t-button--variant-base.t-button--theme-warning:focus-visible {
  border-color: var(--td-warning-color-hover);
}
.t-button--variant-base.t-button--theme-warning.t-is-loading {
  border-color: var(--td-warning-color-disabled);
}
.t-button--variant-base.t-button--theme-warning.t-is-disabled {
  border-color: var(--td-warning-color-disabled);
}
.t-button--variant-base.t-button--theme-danger {
  color: var(--td-text-color-anti);
  background-color: var(--td-error-color);
  border-color: var(--td-error-color);
}
.t-button--variant-base.t-button--theme-danger:hover,
.t-button--variant-base.t-button--theme-danger:focus-visible {
  background-color: var(--td-error-color-hover);
}
.t-button--variant-base.t-button--theme-danger.t-is-loading {
  background-color: var(--td-error-color-disabled);
}
.t-button--variant-base.t-button--theme-danger.t-is-disabled {
  background-color: var(--td-error-color-disabled);
}
.t-button--variant-base.t-button--theme-danger:hover,
.t-button--variant-base.t-button--theme-danger:focus-visible {
  border-color: var(--td-error-color-hover);
}
.t-button--variant-base.t-button--theme-danger.t-is-loading {
  border-color: var(--td-error-color-disabled);
}
.t-button--variant-base.t-button--theme-danger.t-is-disabled {
  border-color: var(--td-error-color-disabled);
}
.t-button--variant-base.t-button--ghost {
  background-color: transparent;
  color: var(--td-text-color-anti);
  border-color: var(--td-text-color-anti);
}
.t-button--variant-base.t-button--ghost:hover,
.t-button--variant-base.t-button--ghost:focus-visible {
  background-color: transparent;
}
.t-button--variant-base.t-button--ghost:active {
  background-color: transparent;
}
.t-button--variant-base.t-button--ghost.t-is-loading {
  background-color: transparent;
}
.t-button--variant-base.t-button--ghost.t-is-disabled {
  background-color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-base.t-button--ghost:hover,
.t-button--variant-base.t-button--ghost:focus-visible {
  color: var(--td-brand-color-hover);
}
.t-button--variant-base.t-button--ghost:active {
  color: var(--td-brand-color-active);
}
.t-button--variant-base.t-button--ghost.t-is-loading {
  color: var(--td-text-color-anti);
}
.t-button--variant-base.t-button--ghost.t-is-disabled {
  color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-base.t-button--ghost:hover,
.t-button--variant-base.t-button--ghost:focus-visible {
  border-color: var(--td-brand-color-hover);
}
.t-button--variant-base.t-button--ghost:active {
  border-color: var(--td-brand-color-active);
}
.t-button--variant-base.t-button--ghost.t-is-loading {
  border-color: var(--td-text-color-anti);
}
.t-button--variant-base.t-button--ghost.t-is-disabled {
  border-color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-base.t-button--ghost.t-button--theme-primary {
  color: var(--td-brand-color);
  border-color: var(--td-brand-color);
}
.t-button--variant-base.t-button--ghost.t-button--theme-primary:hover,
.t-button--variant-base.t-button--ghost.t-button--theme-primary:focus-visible {
  color: var(--td-brand-color-hover);
}
.t-button--variant-base.t-button--ghost.t-button--theme-primary:active {
  color: var(--td-brand-color-active);
}
.t-button--variant-base.t-button--ghost.t-button--theme-primary.t-is-loading {
  color: var(--td-brand-color);
}
.t-button--variant-base.t-button--ghost.t-button--theme-primary.t-is-disabled {
  color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-base.t-button--ghost.t-button--theme-primary:hover,
.t-button--variant-base.t-button--ghost.t-button--theme-primary:focus-visible {
  border-color: var(--td-brand-color-hover);
}
.t-button--variant-base.t-button--ghost.t-button--theme-primary:active {
  border-color: var(--td-brand-color-active);
}
.t-button--variant-base.t-button--ghost.t-button--theme-primary.t-is-loading {
  border-color: var(--td-brand-color);
}
.t-button--variant-base.t-button--ghost.t-button--theme-primary.t-is-disabled {
  border-color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-base.t-button--ghost.t-button--theme-success {
  color: var(--td-success-color);
  border-color: var(--td-success-color);
}
.t-button--variant-base.t-button--ghost.t-button--theme-success:hover,
.t-button--variant-base.t-button--ghost.t-button--theme-success:focus-visible {
  color: var(--td-success-color-hover);
}
.t-button--variant-base.t-button--ghost.t-button--theme-success:active {
  color: var(--td-success-color-active);
}
.t-button--variant-base.t-button--ghost.t-button--theme-success.t-is-loading {
  color: var(--td-success-color);
}
.t-button--variant-base.t-button--ghost.t-button--theme-success.t-is-disabled {
  color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-base.t-button--ghost.t-button--theme-success:hover,
.t-button--variant-base.t-button--ghost.t-button--theme-success:focus-visible {
  border-color: var(--td-success-color-hover);
}
.t-button--variant-base.t-button--ghost.t-button--theme-success:active {
  border-color: var(--td-success-color-active);
}
.t-button--variant-base.t-button--ghost.t-button--theme-success.t-is-loading {
  border-color: var(--td-success-color);
}
.t-button--variant-base.t-button--ghost.t-button--theme-success.t-is-disabled {
  border-color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-base.t-button--ghost.t-button--theme-warning {
  color: var(--td-warning-color);
  border-color: var(--td-warning-color);
}
.t-button--variant-base.t-button--ghost.t-button--theme-warning:hover,
.t-button--variant-base.t-button--ghost.t-button--theme-warning:focus-visible {
  color: var(--td-warning-color-hover);
}
.t-button--variant-base.t-button--ghost.t-button--theme-warning:active {
  color: var(--td-warning-color-active);
}
.t-button--variant-base.t-button--ghost.t-button--theme-warning.t-is-loading {
  color: var(--td-warning-color);
}
.t-button--variant-base.t-button--ghost.t-button--theme-warning.t-is-disabled {
  color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-base.t-button--ghost.t-button--theme-warning:hover,
.t-button--variant-base.t-button--ghost.t-button--theme-warning:focus-visible {
  border-color: var(--td-warning-color-hover);
}
.t-button--variant-base.t-button--ghost.t-button--theme-warning:active {
  border-color: var(--td-warning-color-active);
}
.t-button--variant-base.t-button--ghost.t-button--theme-warning.t-is-loading {
  border-color: var(--td-warning-color);
}
.t-button--variant-base.t-button--ghost.t-button--theme-warning.t-is-disabled {
  border-color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-base.t-button--ghost.t-button--theme-danger {
  color: var(--td-error-color);
  border-color: var(--td-error-color);
}
.t-button--variant-base.t-button--ghost.t-button--theme-danger:hover,
.t-button--variant-base.t-button--ghost.t-button--theme-danger:focus-visible {
  color: var(--td-error-color-hover);
}
.t-button--variant-base.t-button--ghost.t-button--theme-danger:active {
  color: var(--td-error-color-active);
}
.t-button--variant-base.t-button--ghost.t-button--theme-danger.t-is-loading {
  color: var(--td-error-color);
}
.t-button--variant-base.t-button--ghost.t-button--theme-danger.t-is-disabled {
  color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-base.t-button--ghost.t-button--theme-danger:hover,
.t-button--variant-base.t-button--ghost.t-button--theme-danger:focus-visible {
  border-color: var(--td-error-color-hover);
}
.t-button--variant-base.t-button--ghost.t-button--theme-danger:active {
  border-color: var(--td-error-color-active);
}
.t-button--variant-base.t-button--ghost.t-button--theme-danger.t-is-loading {
  border-color: var(--td-error-color);
}
.t-button--variant-base.t-button--ghost.t-button--theme-danger.t-is-disabled {
  border-color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-base.t-is-loading:not(.t-button--variant-base.t-button--ghost).t-button--theme-default {
  color: var(--td-text-color-primary);
}
.t-button--variant-outline {
  height: var(--td-comp-size-m);
  font: var(--td-font-body-medium);
  padding-left: calc(var(--td-comp-paddingLR-l) - 1px);
  padding-right: calc(var(--td-comp-paddingLR-l) - 1px);
  color: var(--td-text-color-primary);
  background-color: var(--td-bg-color-specialcomponent);
  border-color: var(--td-border-level-2-color);
}
.t-button--variant-outline .t-icon,
.t-button--variant-outline .t-loading {
  font-size: var(--td-font-size-body-large);
}
.t-button--variant-outline:hover,
.t-button--variant-outline:focus-visible {
  color: var(--td-brand-color-hover);
}
.t-button--variant-outline.t-is-loading {
  color: var(--td-text-color-disabled);
}
.t-button--variant-outline.t-is-disabled {
  color: var(--td-text-color-disabled);
}
.t-button--variant-outline:hover,
.t-button--variant-outline:focus-visible {
  background-color: var(--td-bg-color-specialcomponent);
}
.t-button--variant-outline.t-is-loading {
  background-color: var(--td-bg-color-component-disabled);
}
.t-button--variant-outline.t-is-disabled {
  background-color: var(--td-bg-color-component-disabled);
}
.t-button--variant-outline:hover,
.t-button--variant-outline:focus-visible {
  border-color: var(--td-brand-color-hover);
}
.t-button--variant-outline.t-is-loading {
  border-color: var(--td-border-level-2-color);
}
.t-button--variant-outline.t-is-disabled {
  border-color: var(--td-border-level-2-color);
}
.t-button--variant-outline.t-button--theme-primary {
  color: var(--td-brand-color);
  border-color: var(--td-brand-color);
}
.t-button--variant-outline.t-button--theme-primary:hover,
.t-button--variant-outline.t-button--theme-primary:focus-visible {
  color: var(--td-brand-color-hover);
}
.t-button--variant-outline.t-button--theme-primary.t-is-loading {
  color: var(--td-brand-color-disabled);
}
.t-button--variant-outline.t-button--theme-primary.t-is-disabled {
  color: var(--td-brand-color-disabled);
}
.t-button--variant-outline.t-button--theme-primary:hover,
.t-button--variant-outline.t-button--theme-primary:focus-visible {
  border-color: var(--td-brand-color-hover);
}
.t-button--variant-outline.t-button--theme-primary.t-is-loading {
  border-color: var(--td-brand-color-disabled);
}
.t-button--variant-outline.t-button--theme-primary.t-is-disabled {
  border-color: var(--td-brand-color-disabled);
}
.t-button--variant-outline.t-button--theme-success {
  color: var(--td-success-color);
  border-color: var(--td-success-color);
}
.t-button--variant-outline.t-button--theme-success:hover,
.t-button--variant-outline.t-button--theme-success:focus-visible {
  color: var(--td-success-color-hover);
}
.t-button--variant-outline.t-button--theme-success.t-is-loading {
  color: var(--td-success-color-disabled);
}
.t-button--variant-outline.t-button--theme-success.t-is-disabled {
  color: var(--td-success-color-disabled);
}
.t-button--variant-outline.t-button--theme-success:hover,
.t-button--variant-outline.t-button--theme-success:focus-visible {
  border-color: var(--td-success-color-hover);
}
.t-button--variant-outline.t-button--theme-success.t-is-loading {
  border-color: var(--td-success-color-disabled);
}
.t-button--variant-outline.t-button--theme-success.t-is-disabled {
  border-color: var(--td-success-color-disabled);
}
.t-button--variant-outline.t-button--theme-warning {
  color: var(--td-warning-color);
  border-color: var(--td-warning-color);
}
.t-button--variant-outline.t-button--theme-warning:hover,
.t-button--variant-outline.t-button--theme-warning:focus-visible {
  color: var(--td-warning-color-hover);
}
.t-button--variant-outline.t-button--theme-warning.t-is-loading {
  color: var(--td-warning-color-disabled);
}
.t-button--variant-outline.t-button--theme-warning.t-is-disabled {
  color: var(--td-warning-color-disabled);
}
.t-button--variant-outline.t-button--theme-warning:hover,
.t-button--variant-outline.t-button--theme-warning:focus-visible {
  border-color: var(--td-warning-color-hover);
}
.t-button--variant-outline.t-button--theme-warning.t-is-loading {
  border-color: var(--td-warning-color-disabled);
}
.t-button--variant-outline.t-button--theme-warning.t-is-disabled {
  border-color: var(--td-warning-color-disabled);
}
.t-button--variant-outline.t-button--theme-danger {
  color: var(--td-error-color);
  border-color: var(--td-error-color);
}
.t-button--variant-outline.t-button--theme-danger:hover,
.t-button--variant-outline.t-button--theme-danger:focus-visible {
  color: var(--td-error-color-hover);
}
.t-button--variant-outline.t-button--theme-danger.t-is-loading {
  color: var(--td-error-color-disabled);
}
.t-button--variant-outline.t-button--theme-danger.t-is-disabled {
  color: var(--td-error-color-disabled);
}
.t-button--variant-outline.t-button--theme-danger:hover,
.t-button--variant-outline.t-button--theme-danger:focus-visible {
  border-color: var(--td-error-color-hover);
}
.t-button--variant-outline.t-button--theme-danger.t-is-loading {
  border-color: var(--td-error-color-disabled);
}
.t-button--variant-outline.t-button--theme-danger.t-is-disabled {
  border-color: var(--td-error-color-disabled);
}
.t-button--variant-outline.t-button--ghost {
  background-color: transparent;
  color: var(--td-text-color-anti);
  border-color: var(--td-text-color-anti);
}
.t-button--variant-outline.t-button--ghost:hover,
.t-button--variant-outline.t-button--ghost:focus-visible {
  background-color: transparent;
}
.t-button--variant-outline.t-button--ghost:active {
  background-color: transparent;
}
.t-button--variant-outline.t-button--ghost.t-is-loading {
  background-color: transparent;
}
.t-button--variant-outline.t-button--ghost.t-is-disabled {
  background-color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-outline.t-button--ghost:hover,
.t-button--variant-outline.t-button--ghost:focus-visible {
  color: var(--td-brand-color-hover);
}
.t-button--variant-outline.t-button--ghost:active {
  color: var(--td-brand-color-active);
}
.t-button--variant-outline.t-button--ghost.t-is-loading {
  color: var(--td-text-color-anti);
}
.t-button--variant-outline.t-button--ghost.t-is-disabled {
  color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-outline.t-button--ghost:hover,
.t-button--variant-outline.t-button--ghost:focus-visible {
  border-color: var(--td-brand-color-hover);
}
.t-button--variant-outline.t-button--ghost:active {
  border-color: var(--td-brand-color-active);
}
.t-button--variant-outline.t-button--ghost.t-is-loading {
  border-color: var(--td-text-color-anti);
}
.t-button--variant-outline.t-button--ghost.t-is-disabled {
  border-color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-outline.t-button--ghost.t-button--theme-primary {
  color: var(--td-brand-color);
  border-color: var(--td-brand-color);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-primary:hover,
.t-button--variant-outline.t-button--ghost.t-button--theme-primary:focus-visible {
  color: var(--td-brand-color-hover);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-primary:active {
  color: var(--td-brand-color-active);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-primary.t-is-loading {
  color: var(--td-brand-color);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-primary.t-is-disabled {
  color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-outline.t-button--ghost.t-button--theme-primary:hover,
.t-button--variant-outline.t-button--ghost.t-button--theme-primary:focus-visible {
  border-color: var(--td-brand-color-hover);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-primary:active {
  border-color: var(--td-brand-color-active);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-primary.t-is-loading {
  border-color: var(--td-brand-color);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-primary.t-is-disabled {
  border-color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-outline.t-button--ghost.t-button--theme-success {
  color: var(--td-success-color);
  border-color: var(--td-success-color);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-success:hover,
.t-button--variant-outline.t-button--ghost.t-button--theme-success:focus-visible {
  color: var(--td-success-color-hover);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-success:active {
  color: var(--td-success-color-active);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-success.t-is-loading {
  color: var(--td-success-color);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-success.t-is-disabled {
  color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-outline.t-button--ghost.t-button--theme-success:hover,
.t-button--variant-outline.t-button--ghost.t-button--theme-success:focus-visible {
  border-color: var(--td-success-color-hover);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-success:active {
  border-color: var(--td-success-color-active);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-success.t-is-loading {
  border-color: var(--td-success-color);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-success.t-is-disabled {
  border-color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-outline.t-button--ghost.t-button--theme-warning {
  color: var(--td-warning-color);
  border-color: var(--td-warning-color);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-warning:hover,
.t-button--variant-outline.t-button--ghost.t-button--theme-warning:focus-visible {
  color: var(--td-warning-color-hover);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-warning:active {
  color: var(--td-warning-color-active);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-warning.t-is-loading {
  color: var(--td-warning-color);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-warning.t-is-disabled {
  color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-outline.t-button--ghost.t-button--theme-warning:hover,
.t-button--variant-outline.t-button--ghost.t-button--theme-warning:focus-visible {
  border-color: var(--td-warning-color-hover);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-warning:active {
  border-color: var(--td-warning-color-active);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-warning.t-is-loading {
  border-color: var(--td-warning-color);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-warning.t-is-disabled {
  border-color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-outline.t-button--ghost.t-button--theme-danger {
  color: var(--td-error-color);
  border-color: var(--td-error-color);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-danger:hover,
.t-button--variant-outline.t-button--ghost.t-button--theme-danger:focus-visible {
  color: var(--td-error-color-hover);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-danger:active {
  color: var(--td-error-color-active);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-danger.t-is-loading {
  color: var(--td-error-color);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-danger.t-is-disabled {
  color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-outline.t-button--ghost.t-button--theme-danger:hover,
.t-button--variant-outline.t-button--ghost.t-button--theme-danger:focus-visible {
  border-color: var(--td-error-color-hover);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-danger:active {
  border-color: var(--td-error-color-active);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-danger.t-is-loading {
  border-color: var(--td-error-color);
}
.t-button--variant-outline.t-button--ghost.t-button--theme-danger.t-is-disabled {
  border-color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-outline.t-is-loading:not(.t-button--variant-outline.t-button--ghost) {
  color: var(--td-text-color-primary);
}
.t-button--variant-outline.t-is-loading:not(.t-button--variant-outline.t-button--ghost).t-button--theme-primary {
  color: var(--td-brand-color);
  background-color: transparent;
}
.t-button--variant-outline.t-is-loading:not(.t-button--variant-outline.t-button--ghost).t-button--theme-success {
  color: var(--td-success-color);
  background-color: transparent;
}
.t-button--variant-outline.t-is-loading:not(.t-button--variant-outline.t-button--ghost).t-button--theme-warning {
  color: var(--td-warning-color);
  background-color: transparent;
}
.t-button--variant-outline.t-is-loading:not(.t-button--variant-outline.t-button--ghost).t-button--theme-danger {
  color: var(--td-error-color);
  background-color: transparent;
}
.t-button--variant-dashed {
  height: var(--td-comp-size-m);
  font: var(--td-font-body-medium);
  padding-left: calc(var(--td-comp-paddingLR-l) - 1px);
  padding-right: calc(var(--td-comp-paddingLR-l) - 1px);
  color: var(--td-text-color-primary);
  background-color: var(--td-bg-color-specialcomponent);
  border-color: var(--td-border-level-2-color);
  border-style: dashed;
}
.t-button--variant-dashed .t-icon,
.t-button--variant-dashed .t-loading {
  font-size: var(--td-font-size-body-large);
}
.t-button--variant-dashed:hover,
.t-button--variant-dashed:focus-visible {
  color: var(--td-brand-color-hover);
}
.t-button--variant-dashed.t-is-loading {
  color: var(--td-text-color-disabled);
}
.t-button--variant-dashed.t-is-disabled {
  color: var(--td-text-color-disabled);
}
.t-button--variant-dashed:hover,
.t-button--variant-dashed:focus-visible {
  background-color: var(--td-bg-color-specialcomponent);
}
.t-button--variant-dashed.t-is-loading {
  background-color: var(--td-bg-color-component-disabled);
}
.t-button--variant-dashed.t-is-disabled {
  background-color: var(--td-bg-color-component-disabled);
}
.t-button--variant-dashed:hover,
.t-button--variant-dashed:focus-visible {
  border-color: var(--td-brand-color-hover);
}
.t-button--variant-dashed.t-is-loading {
  border-color: var(--td-border-level-2-color);
}
.t-button--variant-dashed.t-is-disabled {
  border-color: var(--td-border-level-2-color);
}
.t-button--variant-dashed.t-button--theme-primary {
  color: var(--td-brand-color);
  border-color: var(--td-brand-color);
}
.t-button--variant-dashed.t-button--theme-primary:hover,
.t-button--variant-dashed.t-button--theme-primary:focus-visible {
  color: var(--td-brand-color-hover);
}
.t-button--variant-dashed.t-button--theme-primary.t-is-loading {
  color: var(--td-brand-color-disabled);
}
.t-button--variant-dashed.t-button--theme-primary.t-is-disabled {
  color: var(--td-brand-color-disabled);
}
.t-button--variant-dashed.t-button--theme-primary:hover,
.t-button--variant-dashed.t-button--theme-primary:focus-visible {
  border-color: var(--td-brand-color-hover);
}
.t-button--variant-dashed.t-button--theme-primary.t-is-loading {
  border-color: var(--td-brand-color-disabled);
}
.t-button--variant-dashed.t-button--theme-primary.t-is-disabled {
  border-color: var(--td-brand-color-disabled);
}
.t-button--variant-dashed.t-button--theme-success {
  color: var(--td-success-color);
  border-color: var(--td-success-color);
}
.t-button--variant-dashed.t-button--theme-success:hover,
.t-button--variant-dashed.t-button--theme-success:focus-visible {
  color: var(--td-success-color-hover);
}
.t-button--variant-dashed.t-button--theme-success.t-is-loading {
  color: var(--td-success-color-disabled);
}
.t-button--variant-dashed.t-button--theme-success.t-is-disabled {
  color: var(--td-success-color-disabled);
}
.t-button--variant-dashed.t-button--theme-success:hover,
.t-button--variant-dashed.t-button--theme-success:focus-visible {
  border-color: var(--td-success-color-hover);
}
.t-button--variant-dashed.t-button--theme-success.t-is-loading {
  border-color: var(--td-success-color-disabled);
}
.t-button--variant-dashed.t-button--theme-success.t-is-disabled {
  border-color: var(--td-success-color-disabled);
}
.t-button--variant-dashed.t-button--theme-warning {
  color: var(--td-warning-color);
  border-color: var(--td-warning-color);
}
.t-button--variant-dashed.t-button--theme-warning:hover,
.t-button--variant-dashed.t-button--theme-warning:focus-visible {
  color: var(--td-warning-color-hover);
}
.t-button--variant-dashed.t-button--theme-warning.t-is-loading {
  color: var(--td-warning-color-disabled);
}
.t-button--variant-dashed.t-button--theme-warning.t-is-disabled {
  color: var(--td-warning-color-disabled);
}
.t-button--variant-dashed.t-button--theme-warning:hover,
.t-button--variant-dashed.t-button--theme-warning:focus-visible {
  border-color: var(--td-warning-color-hover);
}
.t-button--variant-dashed.t-button--theme-warning.t-is-loading {
  border-color: var(--td-warning-color-disabled);
}
.t-button--variant-dashed.t-button--theme-warning.t-is-disabled {
  border-color: var(--td-warning-color-disabled);
}
.t-button--variant-dashed.t-button--theme-danger {
  color: var(--td-error-color);
  border-color: var(--td-error-color);
}
.t-button--variant-dashed.t-button--theme-danger:hover,
.t-button--variant-dashed.t-button--theme-danger:focus-visible {
  color: var(--td-error-color-hover);
}
.t-button--variant-dashed.t-button--theme-danger.t-is-loading {
  color: var(--td-error-color-disabled);
}
.t-button--variant-dashed.t-button--theme-danger.t-is-disabled {
  color: var(--td-error-color-disabled);
}
.t-button--variant-dashed.t-button--theme-danger:hover,
.t-button--variant-dashed.t-button--theme-danger:focus-visible {
  border-color: var(--td-error-color-hover);
}
.t-button--variant-dashed.t-button--theme-danger.t-is-loading {
  border-color: var(--td-error-color-disabled);
}
.t-button--variant-dashed.t-button--theme-danger.t-is-disabled {
  border-color: var(--td-error-color-disabled);
}
.t-button--variant-dashed.t-button--ghost {
  background-color: transparent;
  color: var(--td-text-color-anti);
  border-color: var(--td-text-color-anti);
}
.t-button--variant-dashed.t-button--ghost:hover,
.t-button--variant-dashed.t-button--ghost:focus-visible {
  background-color: transparent;
}
.t-button--variant-dashed.t-button--ghost:active {
  background-color: transparent;
}
.t-button--variant-dashed.t-button--ghost.t-is-loading {
  background-color: transparent;
}
.t-button--variant-dashed.t-button--ghost.t-is-disabled {
  background-color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-dashed.t-button--ghost:hover,
.t-button--variant-dashed.t-button--ghost:focus-visible {
  color: var(--td-brand-color-hover);
}
.t-button--variant-dashed.t-button--ghost:active {
  color: var(--td-brand-color-active);
}
.t-button--variant-dashed.t-button--ghost.t-is-loading {
  color: var(--td-text-color-anti);
}
.t-button--variant-dashed.t-button--ghost.t-is-disabled {
  color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-dashed.t-button--ghost:hover,
.t-button--variant-dashed.t-button--ghost:focus-visible {
  border-color: var(--td-brand-color-hover);
}
.t-button--variant-dashed.t-button--ghost:active {
  border-color: var(--td-brand-color-active);
}
.t-button--variant-dashed.t-button--ghost.t-is-loading {
  border-color: var(--td-text-color-anti);
}
.t-button--variant-dashed.t-button--ghost.t-is-disabled {
  border-color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-primary {
  color: var(--td-brand-color);
  border-color: var(--td-brand-color);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-primary:hover,
.t-button--variant-dashed.t-button--ghost.t-button--theme-primary:focus-visible {
  color: var(--td-brand-color-hover);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-primary:active {
  color: var(--td-brand-color-active);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-primary.t-is-loading {
  color: var(--td-brand-color);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-primary.t-is-disabled {
  color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-primary:hover,
.t-button--variant-dashed.t-button--ghost.t-button--theme-primary:focus-visible {
  border-color: var(--td-brand-color-hover);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-primary:active {
  border-color: var(--td-brand-color-active);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-primary.t-is-loading {
  border-color: var(--td-brand-color);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-primary.t-is-disabled {
  border-color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-success {
  color: var(--td-success-color);
  border-color: var(--td-success-color);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-success:hover,
.t-button--variant-dashed.t-button--ghost.t-button--theme-success:focus-visible {
  color: var(--td-success-color-hover);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-success:active {
  color: var(--td-success-color-active);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-success.t-is-loading {
  color: var(--td-success-color);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-success.t-is-disabled {
  color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-success:hover,
.t-button--variant-dashed.t-button--ghost.t-button--theme-success:focus-visible {
  border-color: var(--td-success-color-hover);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-success:active {
  border-color: var(--td-success-color-active);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-success.t-is-loading {
  border-color: var(--td-success-color);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-success.t-is-disabled {
  border-color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-warning {
  color: var(--td-warning-color);
  border-color: var(--td-warning-color);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-warning:hover,
.t-button--variant-dashed.t-button--ghost.t-button--theme-warning:focus-visible {
  color: var(--td-warning-color-hover);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-warning:active {
  color: var(--td-warning-color-active);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-warning.t-is-loading {
  color: var(--td-warning-color);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-warning.t-is-disabled {
  color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-warning:hover,
.t-button--variant-dashed.t-button--ghost.t-button--theme-warning:focus-visible {
  border-color: var(--td-warning-color-hover);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-warning:active {
  border-color: var(--td-warning-color-active);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-warning.t-is-loading {
  border-color: var(--td-warning-color);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-warning.t-is-disabled {
  border-color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-danger {
  color: var(--td-error-color);
  border-color: var(--td-error-color);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-danger:hover,
.t-button--variant-dashed.t-button--ghost.t-button--theme-danger:focus-visible {
  color: var(--td-error-color-hover);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-danger:active {
  color: var(--td-error-color-active);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-danger.t-is-loading {
  color: var(--td-error-color);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-danger.t-is-disabled {
  color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-danger:hover,
.t-button--variant-dashed.t-button--ghost.t-button--theme-danger:focus-visible {
  border-color: var(--td-error-color-hover);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-danger:active {
  border-color: var(--td-error-color-active);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-danger.t-is-loading {
  border-color: var(--td-error-color);
}
.t-button--variant-dashed.t-button--ghost.t-button--theme-danger.t-is-disabled {
  border-color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-dashed.t-is-loading:not(.t-button--variant-dashed.t-button--ghost) {
  color: var(--td-text-color-primary);
}
.t-button--variant-dashed.t-is-loading:not(.t-button--variant-dashed.t-button--ghost).t-button--theme-primary {
  color: var(--td-brand-color);
  background-color: transparent;
}
.t-button--variant-dashed.t-is-loading:not(.t-button--variant-dashed.t-button--ghost).t-button--theme-success {
  color: var(--td-success-color);
  background-color: transparent;
}
.t-button--variant-dashed.t-is-loading:not(.t-button--variant-dashed.t-button--ghost).t-button--theme-warning {
  color: var(--td-warning-color);
  background-color: transparent;
}
.t-button--variant-dashed.t-is-loading:not(.t-button--variant-dashed.t-button--ghost).t-button--theme-danger {
  color: var(--td-error-color);
  background-color: transparent;
}
.t-button--variant-text {
  height: var(--td-comp-size-m);
  font: var(--td-font-body-medium);
  padding-left: calc(var(--td-comp-paddingLR-l) - 1px);
  padding-right: calc(var(--td-comp-paddingLR-l) - 1px);
  color: var(--td-text-color-primary);
  background-color: transparent;
  border-color: transparent;
}
.t-button--variant-text .t-icon,
.t-button--variant-text .t-loading {
  font-size: var(--td-font-size-body-large);
}
.t-button--variant-text:hover,
.t-button--variant-text:focus-visible {
  color: var(--td-text-color-primary);
}
.t-button--variant-text.t-is-loading {
  color: var(--td-text-color-disabled);
}
.t-button--variant-text.t-is-disabled {
  color: var(--td-text-color-disabled);
}
.t-button--variant-text:hover,
.t-button--variant-text:focus-visible {
  background-color: var(--td-bg-color-container-hover);
}
.t-button--variant-text.t-is-loading {
  background-color: transparent;
}
.t-button--variant-text.t-is-disabled {
  background-color: transparent;
}
.t-button--variant-text:hover,
.t-button--variant-text:focus-visible {
  border-color: var(--td-bg-color-container-hover);
}
.t-button--variant-text.t-is-loading {
  border-color: transparent;
}
.t-button--variant-text.t-is-disabled {
  border-color: transparent;
}
.t-button--variant-text.t-button--theme-primary {
  color: var(--td-brand-color);
}
.t-button--variant-text.t-button--theme-primary:hover,
.t-button--variant-text.t-button--theme-primary:focus-visible {
  color: var(--td-brand-color-hover);
}
.t-button--variant-text.t-button--theme-primary.t-is-loading {
  color: var(--td-brand-color-disabled);
}
.t-button--variant-text.t-button--theme-primary.t-is-disabled {
  color: var(--td-brand-color-disabled);
}
.t-button--variant-text.t-button--theme-success {
  color: var(--td-success-color);
}
.t-button--variant-text.t-button--theme-success:hover,
.t-button--variant-text.t-button--theme-success:focus-visible {
  color: var(--td-success-color-hover);
}
.t-button--variant-text.t-button--theme-success.t-is-loading {
  color: var(--td-success-color-disabled);
}
.t-button--variant-text.t-button--theme-success.t-is-disabled {
  color: var(--td-success-color-disabled);
}
.t-button--variant-text.t-button--theme-warning {
  color: var(--td-warning-color);
}
.t-button--variant-text.t-button--theme-warning:hover,
.t-button--variant-text.t-button--theme-warning:focus-visible {
  color: var(--td-warning-color-hover);
}
.t-button--variant-text.t-button--theme-warning.t-is-loading {
  color: var(--td-warning-color-disabled);
}
.t-button--variant-text.t-button--theme-warning.t-is-disabled {
  color: var(--td-warning-color-disabled);
}
.t-button--variant-text.t-button--theme-danger {
  color: var(--td-error-color);
}
.t-button--variant-text.t-button--theme-danger:hover,
.t-button--variant-text.t-button--theme-danger:focus-visible {
  color: var(--td-error-color-hover);
}
.t-button--variant-text.t-button--theme-danger.t-is-loading {
  color: var(--td-error-color-disabled);
}
.t-button--variant-text.t-button--theme-danger.t-is-disabled {
  color: var(--td-error-color-disabled);
}
.t-button--variant-text.t-button--ghost {
  background: none;
  color: var(--td-text-color-anti);
}
.t-button--variant-text.t-button--ghost:hover,
.t-button--variant-text.t-button--ghost:focus-visible {
  color: var(--td-brand-color-hover);
}
.t-button--variant-text.t-button--ghost:active {
  color: var(--td-brand-color-active);
}
.t-button--variant-text.t-button--ghost.t-is-loading {
  color: var(--td-text-color-anti);
}
.t-button--variant-text.t-button--ghost.t-is-disabled {
  color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-text.t-button--ghost.t-button--theme-primary {
  color: var(--td-brand-color);
}
.t-button--variant-text.t-button--ghost.t-button--theme-primary:hover,
.t-button--variant-text.t-button--ghost.t-button--theme-primary:focus-visible {
  color: var(--td-brand-color-hover);
}
.t-button--variant-text.t-button--ghost.t-button--theme-primary:active {
  color: var(--td-brand-color-active);
}
.t-button--variant-text.t-button--ghost.t-button--theme-primary.t-is-loading {
  color: var(--td-brand-color);
}
.t-button--variant-text.t-button--ghost.t-button--theme-primary.t-is-disabled {
  color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-text.t-button--ghost.t-button--theme-success {
  color: var(--td-success-color);
}
.t-button--variant-text.t-button--ghost.t-button--theme-success:hover,
.t-button--variant-text.t-button--ghost.t-button--theme-success:focus-visible {
  color: var(--td-success-color-hover);
}
.t-button--variant-text.t-button--ghost.t-button--theme-success:active {
  color: var(--td-success-color-active);
}
.t-button--variant-text.t-button--ghost.t-button--theme-success.t-is-loading {
  color: var(--td-success-color);
}
.t-button--variant-text.t-button--ghost.t-button--theme-success.t-is-disabled {
  color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-text.t-button--ghost.t-button--theme-warning {
  color: var(--td-warning-color);
}
.t-button--variant-text.t-button--ghost.t-button--theme-warning:hover,
.t-button--variant-text.t-button--ghost.t-button--theme-warning:focus-visible {
  color: var(--td-warning-color-hover);
}
.t-button--variant-text.t-button--ghost.t-button--theme-warning:active {
  color: var(--td-warning-color-active);
}
.t-button--variant-text.t-button--ghost.t-button--theme-warning.t-is-loading {
  color: var(--td-warning-color);
}
.t-button--variant-text.t-button--ghost.t-button--theme-warning.t-is-disabled {
  color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-text.t-button--ghost.t-button--theme-danger {
  color: var(--td-error-color);
}
.t-button--variant-text.t-button--ghost.t-button--theme-danger:hover,
.t-button--variant-text.t-button--ghost.t-button--theme-danger:focus-visible {
  color: var(--td-error-color-hover);
}
.t-button--variant-text.t-button--ghost.t-button--theme-danger:active {
  color: var(--td-error-color-active);
}
.t-button--variant-text.t-button--ghost.t-button--theme-danger.t-is-loading {
  color: var(--td-error-color);
}
.t-button--variant-text.t-button--ghost.t-button--theme-danger.t-is-disabled {
  color: rgba(255, 255, 255, 0.22);
  background-color: transparent;
}
.t-button--variant-text.t-is-loading:not(.t-button--variant-text.t-button--ghost) {
  color: var(--td-text-color-primary);
}
.t-button--variant-text.t-is-loading:not(.t-button--variant-text.t-button--ghost).t-button--theme-primary {
  color: var(--td-brand-color);
}
.t-button--variant-text.t-is-loading:not(.t-button--variant-text.t-button--ghost).t-button--theme-success {
  color: var(--td-success-color);
}
.t-button--variant-text.t-is-loading:not(.t-button--variant-text.t-button--ghost).t-button--theme-warning {
  color: var(--td-warning-color);
}
.t-button--variant-text.t-is-loading:not(.t-button--variant-text.t-button--ghost).t-button--theme-danger {
  color: var(--td-error-color);
}
.t-button.t-is-loading,
.t-button.t-is-disabled {
  cursor: not-allowed;
}
.t-button.t-size-s {
  height: var(--td-comp-size-xs);
  font: var(--td-font-body-small);
  padding-left: calc(var(--td-comp-paddingLR-s) - 1px);
  padding-right: calc(var(--td-comp-paddingLR-s) - 1px);
}
.t-button.t-size-s .t-icon,
.t-button.t-size-s .t-loading {
  font-size: var(--td-font-size-body-medium);
}
.t-button.t-size-l {
  height: var(--td-comp-size-xl);
  font: var(--td-font-body-large);
  padding-left: calc(var(--td-comp-paddingLR-xl) - 1px);
  padding-right: calc(var(--td-comp-paddingLR-xl) - 1px);
}
.t-button.t-size-l .t-icon,
.t-button.t-size-l .t-loading {
  font-size: var(--td-font-size-title-large);
}
.t-button--shape-square {
  width: var(--td-comp-size-m);
  padding: 0;
}
.t-button--shape-square.t-size-s {
  width: var(--td-comp-size-xs);
  padding: 0;
}
.t-button--shape-square.t-size-l {
  width: var(--td-comp-size-xl);
  padding: 0;
}
.t-button--shape-round {
  border-radius: var(--td-radius-round);
}
.t-button--shape-round.t-size-s {
  border-radius: calc(var(--td-comp-size-xs) / 2);
}
.t-button--shape-round.t-size-l {
  border-radius: calc(var(--td-comp-size-xl) / 2);
}
.t-button--shape-circle {
  width: var(--td-comp-size-m);
  padding: 0;
  text-align: center;
  border-radius: calc(var(--td-comp-size-m) / 2);
}
.t-button--shape-circle .t-icon {
  font-size: var(--td-font-size-body-large);
}
.t-button--shape-circle .t-loading {
  font-size: var(--td-font-size-body-large);
}
.t-button--shape-circle.t-size-s {
  width: var(--td-comp-size-xs);
  border-radius: calc(var(--td-comp-size-xs) / 2);
}
.t-button--shape-circle.t-size-l {
  width: var(--td-comp-size-xl);
  padding: 0;
  border-radius: calc(var(--td-comp-size-xl) / 2);
}
.t-button.t-size-full-width {
  display: flex;
  width: 100%;
}
.t-button--ghost {
  --ripple-color: var(--td-gray-color-10);
}
.t-button:not(.t-is-disabled):not(.t-button--ghost) {
  --ripple-color: var(--td-bg-color-container-active);
}
.t-button--variant-base:not(.t-is-disabled):not(.t-button--ghost) {
  --ripple-color: var(--td-bg-color-component-active);
}
.t-button--variant-base.t-button--theme-primary:not(.t-is-disabled):not( .t-button--ghost) {
  --ripple-color: var(--td-brand-color-active);
}
.t-button--variant-base.t-button--theme-success:not(.t-is-disabled):not( .t-button--ghost) {
  --ripple-color: var(--td-success-color-active);
}
.t-button--variant-base.t-button--theme-warning:not(.t-is-disabled):not( .t-button--ghost) {
  --ripple-color: var(--td-warning-color-active);
}
.t-button--variant-base.t-button--theme-danger:not(.t-is-disabled):not( .t-button--ghost) {
  --ripple-color: var(--td-error-color-active);
}
.input-readonly.t-is-readonly {
  color: var(--td-text-color-primary);
  background-color: var(--td-bg-color-specialcomponent);
}
.input-readonly.t-is-readonly .t-input__inner {
  cursor: pointer;
}
.input-disabled.t-is-disabled {
  color: var(--td-text-color-disabled);
  background-color: var(--td-bg-color-component-disabled);
}
.input-disabled.t-is-disabled:hover {
  border-color: var(--td-border-level-2-color);
}
.input-disabled.t-is-disabled .t-input__inner {
  cursor: not-allowed;
  color: var(--td-text-color-disabled);
  text-overflow: initial;
}
.input-disabled.t-is-disabled .t-input__inner::-moz-placeholder {
  color: var(--td-text-color-disabled);
}
.input-disabled.t-is-disabled .t-input__inner::placeholder {
  color: var(--td-text-color-disabled);
}
.input-disabled.t-is-disabled > .t-input__prefix .t-icon,
.input-disabled.t-is-disabled > .t-input__suffix .t-icon {
  color: var(--td-text-color-disabled);
}
.input-disabled.t-is-disabled > .t-input__prefix .t-icon:hover,
.input-disabled.t-is-disabled > .t-input__suffix .t-icon:hover {
  color: var(--td-text-color-disabled);
}
.t-tips {
  font-size: var(--td-font-size-body-small);
}
.t-tips.t-is-default {
  color: var(--td-text-color-placeholder);
}
.t-tips.t-is-error {
  color: var(--td-error-color);
}
.t-tips.t-is-warning {
  color: var(--td-warning-color);
}
.t-tips.t-is-success {
  color: var(--td-success-color);
}
.t-input {
  margin: 0;
  padding: 0;
  list-style: none;
  position: relative;
  height: var(--td-comp-size-m);
  border-width: 1px;
  border-style: solid;
  border-radius: var(--td-radius-default);
  border-color: var(--td-border-level-2-color);
  padding: 0 var(--td-comp-paddingLR-s);
  background-color: var(--td-bg-color-specialcomponent);
  outline: none;
  color: var(--td-text-color-primary);
  font: var(--td-font-body-medium);
  width: 100%;
  box-sizing: border-box;
  transition: border cubic-bezier(0.38, 0, 0.24, 1) 0.2s, box-shadow cubic-bezier(0.38, 0, 0.24, 1) 0.2s, background-color cubic-bezier(0.38, 0, 0.24, 1) 0.2s;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.t-input:hover {
  border-color: var(--td-brand-color);
}
.t-input:focus {
  z-index: 1;
  border-color: var(--td-brand-color);
  box-shadow: 0 0 0 2px var(--td-brand-color-focus);
}
.t-input--borderless:not(.t-input--focused) {
  border-color: transparent;
  transition: border cubic-bezier(0.38, 0, 0.24, 1) 0.2s, box-shadow cubic-bezier(0.38, 0, 0.24, 1) 0.2s, background-color cubic-bezier(0.38, 0, 0.24, 1) 0.2s;
}
.t-input--borderless:not(.t-input--focused):hover {
  border-color: var(--td-component-border);
  background-color: var(--td-bg-color-container-hover);
  cursor: pointer;
}
.t-input--borderless:not(.t-input--focused).t-is-disabled {
  border: none;
  background-color: var(--td-bg-color-component-disabled);
}
.t-input--focused {
  border-color: var(--td-brand-color);
  box-shadow: 0 0 0 2px var(--td-brand-color-focus);
  z-index: 1;
}
.t-input :focus-visible {
  outline: none;
}
.t-input__inner {
  flex: 1;
  border: none;
  outline: none;
  padding: 0;
  max-width: 100%;
  min-width: 0;
  color: var(--td-text-color-primary);
  font: inherit;
  background-color: transparent;
  box-sizing: border-box;
  white-space: nowrap;
  word-wrap: normal;
  overflow: hidden;
  text-overflow: ellipsis;
}
.t-input__inner::-moz-placeholder {
  color: var(--td-text-color-placeholder);
}
.t-input__inner::placeholder {
  color: var(--td-text-color-placeholder);
}
.t-input__inner:-moz-placeholder {
  text-overflow: ellipsis;
  width: 100%;
}
.t-input__inner:-moz-placeholder-shown {
  text-overflow: ellipsis;
  width: 100%;
}
.t-input__inner:placeholder-shown {
  text-overflow: ellipsis;
  width: 100%;
}
.t-input__inner[type='password']::-ms-reveal {
  display: none;
}
.t-input__inner[type='search']::-webkit-search-decoration,
.t-input__inner[type='search']::-webkit-search-cancel-button,
.t-input__inner[type='search']::-webkit-search-results-button,
.t-input__inner[type='search']::-webkit-search-results-decoration {
  -webkit-appearance: none;
          appearance: none;
}
.t-input__inner.t-input--soft-hidden {
  width: 0;
}
.t-input__extra {
  font: var(--td-font-body-small);
  color: var(--td-text-color-placeholder);
}
.t-input__status {
  position: absolute;
  right: -24px;
  top: 0;
}
.t-input.t-input--suffix > span.t-input__clear {
  opacity: 0;
  visibility: hidden;
  transition: border cubic-bezier(0.38, 0, 0.24, 1) 0.2s, box-shadow cubic-bezier(0.38, 0, 0.24, 1) 0.2s, background-color cubic-bezier(0.38, 0, 0.24, 1) 0.2s;
}
.t-input.t-input--suffix:hover > span.t-input__clear {
  opacity: 1;
  visibility: visible;
}
.t-input.t-is-success {
  border-color: var(--td-success-color);
}
.t-input.t-is-success:focus {
  box-shadow: 0 0 0 2px var(--td-success-color-focus);
}
.t-input.t-is-success.t-input--focused {
  box-shadow: 0 0 0 2px var(--td-success-color-focus);
}
.t-input.t-is-success > .t-input__extra {
  color: var(--td-success-color);
}
.t-input.t-is-warning {
  border-color: var(--td-warning-color);
}
.t-input.t-is-warning:focus {
  box-shadow: 0 0 0 2px var(--td-warning-color-focus);
}
.t-input.t-is-warning.t-input--focused {
  box-shadow: 0 0 0 2px var(--td-warning-color-focus);
}
.t-input.t-is-warning > .t-input__extra {
  color: var(--td-warning-color);
}
.t-input.t-is-error {
  border-color: var(--td-error-color);
}
.t-input.t-is-error:focus {
  box-shadow: 0 0 0 2px var(--td-error-color-focus);
}
.t-input.t-is-error.t-input--focused {
  box-shadow: 0 0 0 2px var(--td-error-color-focus);
}
.t-input.t-is-error > .t-input__extra {
  color: var(--td-error-color);
}
.t-input.t-is-readonly {
  color: var(--td-text-color-primary);
  background-color: var(--td-bg-color-specialcomponent);
}
.t-input.t-is-readonly .t-input__inner {
  cursor: pointer;
}
.t-input.t-is-disabled {
  color: var(--td-text-color-disabled);
  background-color: var(--td-bg-color-component-disabled);
}
.t-input.t-is-disabled:hover {
  border-color: var(--td-border-level-2-color);
}
.t-input.t-is-disabled .t-input__inner {
  cursor: not-allowed;
  color: var(--td-text-color-disabled);
  text-overflow: initial;
}
.t-input.t-is-disabled .t-input__inner::-moz-placeholder {
  color: var(--td-text-color-disabled);
}
.t-input.t-is-disabled .t-input__inner::placeholder {
  color: var(--td-text-color-disabled);
}
.t-input.t-is-disabled > .t-input__prefix .t-icon,
.t-input.t-is-disabled > .t-input__suffix .t-icon {
  color: var(--td-text-color-disabled);
}
.t-input.t-is-disabled > .t-input__prefix .t-icon:hover,
.t-input.t-is-disabled > .t-input__suffix .t-icon:hover {
  color: var(--td-text-color-disabled);
}
.t-input.t-input--prefix > .t-input__prefix {
  z-index: 2;
  height: 100%;
  text-align: center;
  display: flex;
  align-items: center;
}
.t-input.t-input--prefix > .t-input__prefix-icon {
  font-size: var(--td-font-size-body-large);
}
.t-input.t-input--prefix.t-size-s .t-input__prefix-icon {
  font-size: var(--td-font-size-body-medium);
}
.t-input.t-input--prefix.t-size-l .t-input__prefix-icon {
  font-size: var(--td-font-size-title-large);
}
.t-input.t-input--suffix > .t-input__suffix {
  z-index: 2;
  height: 100%;
  text-align: center;
  display: flex;
  align-items: center;
}
.t-input.t-input--suffix > .t-input__suffix-icon {
  font-size: var(--td-font-size-body-large);
}
.t-input.t-input--suffix.t-size-s .t-input__suffix-icon {
  font-size: var(--td-font-size-body-medium);
}
.t-input.t-input--suffix.t-size-l .t-input__suffix-icon {
  font-size: var(--td-font-size-title-large);
}
.t-input .t-input__suffix-clear {
  cursor: pointer;
}
.t-input.t-size-l {
  height: var(--td-comp-size-xl);
  font: var(--td-font-body-large);
  padding: var(--td-comp-paddingTB-m) var(--td-comp-paddingLR-m);
}
.t-input.t-size-s {
  height: var(--td-comp-size-xs);
  font: var(--td-font-body-small);
}
.t-input .t-input__prefix > .t-icon,
.t-input .t-input__suffix > .t-icon {
  font-size: inherit;
}
.t-input .t-input__prefix > .t-icon {
  color: var(--td-text-color-placeholder);
}
.t-input .t-input__prefix:not(:empty) {
  margin-right: var(--td-comp-margin-s);
}
.t-input .t-input__suffix > .t-icon {
  color: var(--td-text-color-placeholder);
  transition: all 0.2s linear;
}
.t-input .t-input__suffix > .t-icon:hover {
  color: var(--td-text-color-secondary);
  transition: all 0.2s linear;
}
.t-input .t-input__suffix:not(:empty) {
  margin-left: var(--td-comp-margin-s);
}
.t-input.t-is-focused .t-input__prefix > .t-icon {
  color: var(--td-brand-color);
}
.t-input.t-is-focused .t-input__suffix > .t-icon-time,
.t-input.t-is-focused .t-input__suffix .t-icon-calendar {
  color: var(--td-brand-color);
}
.t-input-group {
  position: relative;
  display: inline-flex;
  align-items: stretch;
}
.t-input-group .t-input__wrap {
  border-radius: 0;
}
.t-input-group .t-input__wrap:first-child {
  border-radius: var(--td-radius-default) 0 0 var(--td-radius-default);
}
.t-input-group .t-input__wrap:last-child {
  border-radius: 0 var(--td-radius-default) var(--td-radius-default) 0;
}
.t-input-group .t-button,
.t-input-group .t-select {
  border-radius: 0;
}
.t-input-group .t-button:not(:first-child),
.t-input-group .t-select:not(:first-child) {
  margin-left: -1px;
}
.t-input-group .t-input__wrap:not(:first-child) .t-input {
  margin-left: -1px;
}
.t-input-group .t-input__wrap:first-child .t-input {
  border-radius: var(--td-radius-default) 0 0 var(--td-radius-default);
}
.t-input-group .t-input__wrap:last-child .t-input {
  border-radius: 0 var(--td-radius-default) var(--td-radius-default) 0;
}
.t-input-group .t-button:first-child,
.t-input-group .t-select:first-child {
  border-radius: var(--td-radius-default) 0 0 var(--td-radius-default);
}
.t-input-group .t-button:last-child,
.t-input-group .t-select:last-child {
  border-radius: 0 var(--td-radius-default) var(--td-radius-default) 0;
}
.t-input-group--separate .t-input__wrap + .t-input__wrap {
  margin-left: var(--td-comp-margin-xxxl);
}
.t-input-group--separate .t-button,
.t-input-group--separate .t-select {
  border-radius: var(--td-radius-default);
}
.t-input-group--separate .t-button:first-child,
.t-input-group--separate .t-select:first-child {
  border-radius: var(--td-radius-default) 0 0 var(--td-radius-default);
}
.t-input-group--separate .t-button:last-child,
.t-input-group--separate .t-select:last-child {
  border-radius: 0 var(--td-radius-default) var(--td-radius-default) 0;
}
.t-input-group--separate .t-input__wrap .t-input {
  border-radius: var(--td-radius-default);
}
.t-input-group--separate .t-input__wrap .t-input:first-child {
  border-radius: var(--td-radius-default);
}
.t-input-group--separate .t-input__wrap .t-input:last-child {
  border-radius: var(--td-radius-default);
}
.t-input-group .t-input__inner,
.t-input-group .t-button,
.t-input-group .t-select {
  position: relative;
  z-index: 0;
}
.t-input-group .t-input__inner:hover,
.t-input-group .t-button:hover,
.t-input-group .t-select:hover,
.t-input-group .t-input__inner:focus,
.t-input-group .t-button:focus,
.t-input-group .t-select:focus,
.t-input-group .t-input__inner:active,
.t-input-group .t-button:active,
.t-input-group .t-select:active {
  z-index: 1;
}
.t-input__wrap {
  width: 100%;
}
.t-input__tips {
  height: auto;
  min-height: var(--td-line-height-body-small);
  font: var(--td-font-body-small);
  position: absolute;
}
.t-input__tips--default {
  color: var(--td-text-color-placeholder);
}
.t-input__tips--success {
  color: var(--td-success-color);
}
.t-input__tips--warning {
  color: var(--td-warning-color);
}
.t-input__tips--error {
  color: var(--td-error-color);
}
.t-align-center > .t-input__inner {
  text-align: center;
}
.t-align-right > .t-input__inner {
  text-align: right;
}
.t-input__input-pre {
  position: absolute;
  visibility: hidden;
  white-space: pre;
  display: block;
}
.t-input--auto-width {
  width: -moz-fit-content;
  width: fit-content;
  min-width: 60px;
}
.t-input--auto-width .t-input {
  width: -moz-fit-content;
  width: fit-content;
}
.t-input__limit-number {
  font: var(--td-font-body-medium);
  color: var(--td-text-color-placeholder);
  background: var(--td-bg-color-specialcomponent);
}
.t-input__limit-number.t-is-disabled {
  background: var(--td-bg-color-component-disabled);
}
.t-message {
  margin: 0;
  padding: 0;
  list-style: none;
  width: -moz-fit-content;
  width: fit-content;
  outline: 0;
  border-radius: var(--td-radius-medium);
  background-color: var(--td-bg-color-container);
  box-shadow: var(--td-shadow-3), var(--td-shadow-inset-top), var(--td-shadow-inset-right), var(--td-shadow-inset-bottom), var(--td-shadow-inset-left);
  box-sizing: border-box;
  display: flex;
  align-items: center;
  color: var(--td-text-color-primary);
  font: var(--td-font-body-medium);
  padding: var(--td-comp-paddingTB-m) var(--td-comp-paddingLR-l);
}
.t-message > .t-icon,
.t-message > [data-t-icon] > .t-icon,
.t-message .t-loading {
  color: var(--td-brand-color);
  margin-right: var(--td-comp-margin-s);
  flex-shrink: 0;
  font-size: calc(var(--td-font-size-body-medium) + 6px);
}
.t-message.t-is-success > .t-icon,
.t-message.t-is-success > [data-t-icon] > .t-icon,
.t-message.t-is-success .t-loading {
  color: var(--td-success-color);
}
.t-message.t-is-warning > .t-icon,
.t-message.t-is-warning > [data-t-icon] > .t-icon,
.t-message.t-is-warning .t-loading {
  color: var(--td-warning-color);
}
.t-message.t-is-error > .t-icon,
.t-message.t-is-error > [data-t-icon] > .t-icon,
.t-message.t-is-error .t-loading {
  color: var(--td-error-color);
}
.t-message.t-is-closable .t-message__close {
  display: inline-flex;
  margin-right: 0;
  margin-left: var(--td-comp-margin-xxl);
  cursor: pointer;
  color: var(--td-text-color-secondary);
}
.t-message.t-is-closable .t-message__close .t-icon-close {
  font-size: calc(var(--td-font-size-body-medium) + 2px);
  border-radius: var(--td-radius-default);
  transition: all 0.2s linear;
}
.t-message.t-is-closable .t-message__close .t-icon-close:hover {
  background: var(--td-bg-color-container-hover);
}
.t-message.t-is-closable .t-message__close .t-icon-close:active {
  background: var(--td-bg-color-container-active);
}
.t-message__list {
  position: fixed;
  z-index: 6000;
  pointer-events: none;
}
.t-message__list .t-message {
  margin-bottom: var(--td-comp-margin-s);
  word-break: break-all;
  pointer-events: auto;
}
.t-tooltip .t-popup__content {
  display: inline-block;
  border: 0;
  z-index: 5600;
  margin-bottom: 1px;
  max-width: 480px;
  word-break: break-word;
  box-sizing: border-box;
  border-radius: var(--td-radius-medium);
  color: var(--td-text-color-primary);
}
.t-tooltip--default .t-popup__content {
  color: var(--td-text-color-anti);
  background: var(--td-gray-color-13);
  box-shadow: inset 0 0.5px 0 var(--td-gray-color-9), inset 0.5px 0 0 var(--td-gray-color-9), inset 0 -0.5px 0 var(--td-gray-color-9), inset -0.5px 0 0 var(--td-gray-color-9);
}
.t-tooltip--default[data-popper-placement^='left'] .t-popup__arrow:before {
  box-shadow: inset -0.5px 0 0 var(--td-gray-color-9), inset 0 0.5px 0 var(--td-gray-color-9);
}
.t-tooltip--default[data-popper-placement^='right'] .t-popup__arrow:before {
  box-shadow: inset 0.5px 0 0 var(--td-gray-color-9), inset 0 -0.5px 0 var(--td-gray-color-9);
}
.t-tooltip--default[data-popper-placement^='top'] .t-popup__arrow:before {
  box-shadow: inset 0 -0.5px 0 var(--td-gray-color-9), inset -0.5px 0 0 var(--td-gray-color-9);
}
.t-tooltip--default[data-popper-placement^='bottom'] .t-popup__arrow:before {
  box-shadow: inset 0.5px 0 0 var(--td-gray-color-9), inset 0 0.5px 0 var(--td-gray-color-9);
}
.t-tooltip--primary .t-popup__content {
  color: var(--td-brand-color);
  background: var(--td-brand-color-light);
}
.t-tooltip--success .t-popup__content {
  color: var(--td-success-color);
  background: var(--td-success-color-light);
}
.t-tooltip--danger .t-popup__content {
  color: var(--td-error-color);
  background: var(--td-error-color-light);
}
.t-tooltip--warning .t-popup__content {
  color: var(--td-warning-color);
  background: var(--td-warning-color-light);
}
.t-tooltip .t-popup__arrow {
  background: inherit;
  height: auto;
}
.t-tooltip .t-popup__arrow::before {
  background: inherit;
}
.t-tooltip--noshadow .t-popup__content,
.t-tooltip--noshadow[data-popper-placement] .t-popup__arrow:before {
  box-shadow: none;
}
.t-tabs {
  font: var(--td-font-body-medium);
  color: var(--td-text-color-primary);
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
  background-color: var(--td-bg-color-container);
}
.t-tabs__header.t-is-left {
  float: left;
}
.t-tabs__header.t-is-right {
  float: right;
}
.t-tabs__header .t-icon {
  font-size: var(--td-font-size-body-large);
}
.t-tabs__nav {
  position: relative;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.t-tabs__operations {
  display: flex;
  flex-direction: row;
  position: absolute;
  border-bottom: 1px solid var(--td-component-stroke);
  background-color: var(--td-bg-color-container);
}
.t-tabs__operations--left {
  left: 0;
  z-index: 2;
}
.t-tabs__operations--right {
  right: 0;
  z-index: 2;
}
.t-tabs__operations--right .t-tabs__btn:first-child {
  box-shadow: -10px 0 20px 5px rgba(0, 0, 0, 0.05);
}
.t-tabs__operations--right .t-tabs__nav-action {
  display: flex;
  align-items: center;
  width: 100%;
  flex: 1;
}
.t-tabs__btn {
  width: 40px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--td-bg-color-secondarycontainer);
  border-left: 1px solid var(--td-component-stroke);
  cursor: pointer;
  color: var(--td-text-color-secondary);
  font: var(--td-font-body-large);
  transition: all 0.24s cubic-bezier(0.38, 0, 0.24, 1);
  z-index: 1;
  opacity: 1;
}
.t-tabs__btn:hover {
  background-color: var(--td-bg-color-secondarycontainer-hover);
}
.t-tabs__btn.t-size-m {
  height: var(--td-comp-size-xxl);
  line-height: var(--td-comp-size-xxl);
}
.t-tabs__btn.t-size-l {
  height: var(--td-comp-size-xxxxl);
  line-height: var(--td-comp-size-xxxxl);
}
.t-tabs__btn--left {
  border-right: 1px solid var(--td-component-stroke);
  box-shadow: 10px 0px 20px 5px rgba(0, 0, 0, 0.05);
}
.t-tabs__btn--left.fade-enter,
.t-tabs__btn--left.fade-enter-from,
.t-tabs__btn--left.fade-leave-to {
  transform: translateX(-50px);
}
.t-tabs__btn--right.fade-enter,
.t-tabs__btn--right.fade-enter-from,
.t-tabs__btn--right.fade-leave-to {
  transform: translateX(50px);
}
.t-tabs__nav-container {
  position: relative;
}
.t-tabs__nav-container.t-is-top::after {
  content: '';
  width: 100%;
  height: 1px;
  position: absolute;
  top: auto;
  right: auto;
  bottom: 0;
  left: 0;
  background-color: var(--td-component-stroke);
}
.t-tabs__nav-container.t-is-bottom::after {
  content: '';
  width: 100%;
  height: 1px;
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  background-color: var(--td-component-stroke);
}
.t-tabs__nav-container.t-is-left::after {
  content: '';
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: auto;
  left: auto;
  background-color: var(--td-component-stroke);
}
.t-tabs__nav-container.t-is-right::after {
  content: '';
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  background-color: var(--td-component-stroke);
}
.t-tabs__nav-container.t-is-addable {
  margin-right: 40px;
}
.t-tabs__nav-container.t-tabs__nav--card::after {
  content: '';
  background-color: transparent;
}
.t-tabs__scroll-btn {
  position: absolute;
  z-index: 1;
  width: 40px;
  height: 100%;
  display: block;
  background-color: var(--td-bg-color-secondarycontainer);
  text-align: center;
  border-bottom: 1px solid var(--td-component-stroke);
  cursor: pointer;
  color: var(--td-text-color-secondary);
  font: var(--td-font-body-large);
}
.t-tabs__scroll-btn.t-size-m {
  height: var(--td-comp-size-xxl);
  line-height: var(--td-comp-size-xxl);
}
.t-tabs__scroll-btn.t-size-l {
  height: var(--td-comp-size-xxxxl);
  line-height: var(--td-comp-size-xxxxl);
}
.t-tabs__nav-scroll {
  position: relative;
  display: inline-block;
  display: flex;
  flex: auto;
  align-self: stretch;
  overflow: hidden;
  white-space: nowrap;
  transform: translate(0);
  z-index: 1;
}
.t-tabs__nav-wrap {
  position: relative;
  display: flex;
  font-size: 0;
}
.t-tabs__nav-wrap.t-is-smooth {
  transition: transform 0.24s cubic-bezier(0, 0, 0.15, 1);
}
.t-tabs__nav-wrap.t-is-vertical {
  flex-direction: column;
}
.t-tabs__bar {
  position: absolute;
  background-color: var(--td-brand-color);
  z-index: 1;
  transition: all 0.24s cubic-bezier(0.38, 0, 0.24, 1);
  border-radius: var(--td-radius-small);
}
.t-tabs__bar.t-is-top {
  bottom: 0;
  left: 0;
  height: 3px;
}
.t-tabs__bar.t-is-bottom {
  top: 0;
  left: 0;
  height: 3px;
}
.t-tabs__bar.t-is-left {
  top: 0;
  right: 0;
  width: 3px;
}
.t-tabs__bar.t-is-right {
  top: 0;
  left: 0;
  width: 3px;
}
.t-tabs__nav-item {
  display: inline-flex;
  align-items: center;
  font: var(--td-font-body-medium);
  color: var(--td-text-color-secondary);
  position: relative;
  overflow: hidden;
  z-index: 0;
  cursor: pointer;
  flex-shrink: 0;
  transition: background-color cubic-bezier(0.38, 0, 0.24, 1) 0.2s;
  --ripple-color: var(--td-bg-color-container-active);
}
.t-tabs__nav-item-wrapper {
  display: flex;
  align-items: center;
  height: var(--td-comp-size-m);
  padding: 0 var(--td-comp-paddingLR-s);
  margin-left: var(--td-comp-margin-s);
  margin-right: var(--td-comp-margin-s);
  border-radius: var(--td-radius-default);
  transition: background-color cubic-bezier(0.38, 0, 0.24, 1) 0.2s;
  --ripple-color: var(--td-bg-color-container-active);
}
.t-tabs__nav-item.t-size-l {
  font: var(--td-font-body-large);
}
.t-tabs__nav-item.t-size-l .t-tabs__nav-item-wrapper {
  height: var(--td-comp-size-xxl);
  padding: 0 var(--td-comp-paddingLR-m);
}
.t-tabs__nav-item-text-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}
.t-tabs__nav-item:not(.t-is-disabled):not(.t-is-active):hover .t-tabs__nav-item-wrapper {
  background-color: var(--td-bg-color-container-hover);
}
.t-tabs__nav-item.t-is-left,
.t-tabs__nav-item.t-is-right {
  display: flex;
  align-items: center;
}
.t-tabs__nav-item.t-size-m {
  height: var(--td-comp-size-xxl);
  line-height: var(--td-comp-size-xxl);
}
.t-tabs__nav-item.t-size-l {
  height: var(--td-comp-size-xxxxl);
  line-height: var(--td-comp-size-xxxxl);
}
.t-tabs__nav-item.t-is-active {
  color: var(--td-brand-color);
  text-shadow: 0 0 0.3px currentcolor;
}
.t-tabs__nav-item.t-is-disabled {
  color: var(--td-text-color-disabled);
  cursor: not-allowed;
}
.t-tabs__nav-item > .remove-btn {
  margin-left: var(--td-comp-margin-s);
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  display: flex;
}
.t-tabs__nav--card {
  background-color: var(--td-bg-color-secondarycontainer);
}
.t-tabs__nav--card.t-tabs__nav-item {
  padding-right: var(--td-comp-paddingLR-l);
  padding-left: var(--td-comp-paddingLR-l);
  border-bottom: 1px solid var(--td-component-stroke);
}
.t-tabs__nav--card.t-tabs__nav-item::after {
  display: none;
}
.t-tabs__nav--card.t-tabs__nav-item:not(.t-is-disabled):not(.t-is-active):hover {
  background-color: var(--td-bg-color-secondarycontainer-hover);
}
.t-tabs__nav--card.t-tabs__nav-item:not(:first-of-type) {
  border-left: 1px solid var(--td-component-stroke);
}
.t-tabs__nav--card.t-tabs__nav-item:last-of-type {
  border-right: 1px solid var(--td-component-stroke);
}
.t-tabs__nav--card.t-tabs__nav-item.t-is-active {
  color: var(--td-brand-color);
  background-color: var(--td-bg-color-container);
  border-bottom-color: var(--td-bg-color-container);
}
.t-tabs__nav--card.t-tabs__nav-item.t-size-l {
  padding-left: var(--td-comp-paddingLR-xl);
  padding-right: var(--td-comp-paddingLR-xl);
}
.t-tabs__nav--card .t-icon-close {
  color: var(--td-text-color-secondary);
  transition: color cubic-bezier(0.38, 0, 0.24, 1) 0.2s;
}
.t-tabs__nav--card .t-icon-close:hover {
  color: var(--td-text-color-primary);
}
.t-tabs__content {
  overflow: hidden;
  position: relative;
}
.t-tab-panel.t-is-hidden {
  display: none;
}
a.t-menu__item {
  text-decoration: none;
  color: unset;
}
a.t-menu__item:hover,
a.t-menu__item:active {
  color: inherit;
}
.t-menu__logo > * {
  margin-left: var(--td-comp-margin-xxl);
}
.t-head-menu {
  font: var(--td-font-body-medium);
  color: var(--td-text-color-primary);
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  list-style: none;
  position: relative;
  width: 100%;
  background-color: var(--td-bg-color-container);
}
.t-head-menu__inner {
  display: flex;
  height: var(--td-comp-size-xxxl);
}
.t-head-menu__inner li + li {
  margin-left: var(--td-comp-margin-s);
}
.t-head-menu__inner .t-menu:first-child {
  margin-left: var(--td-comp-margin-xxl);
}
.t-head-menu .t-menu__logo:not(:empty) {
  height: 100%;
  margin-right: var(--td-comp-margin-xxxl);
}
.t-head-menu .t-menu {
  flex: 1;
  display: flex;
  align-items: center;
}
.t-head-menu .t-menu__operations:not(:empty) {
  position: relative;
  display: flex;
  align-items: center;
  height: var(--td-comp-size-xxxl);
  line-height: 64px;
  text-align: right;
  margin-right: var(--td-comp-margin-s);
  overflow: hidden;
}
.t-head-menu .t-menu__operations-icon {
  width: var(--td-comp-size-m);
  height: var(--td-comp-size-m);
  padding: var(--td-comp-paddingTB-s) var(--td-comp-paddingLR-s);
  line-height: var(--td-comp-size-m);
  box-sizing: border-box;
}
.t-head-menu .t-submenu > .t-menu__item {
  overflow: unset;
}
.t-head-menu .t-submenu > .t-menu__item::before {
  content: '';
  display: block;
  position: absolute;
  bottom: -20px;
  left: 0;
  right: 0;
  height: 20px;
}
.t-head-menu .t-menu__item {
  height: var(--td-comp-size-m);
  line-height: var(--td-comp-size-m);
  padding: 0 var(--td-comp-paddingLR-m);
  justify-content: center;
  transition: all 0.28s cubic-bezier(0.645, 0.045, 0.355, 1);
  gap: var(--td-comp-margin-s);
}
.t-head-menu .t-menu__item .t-icon {
  width: 16px;
  height: 16px;
}
.t-head-menu__submenu {
  border-top: 1px solid var(--td-component-stroke);
  padding-left: 0;
}
.t-default-menu {
  font: var(--td-font-body-medium);
  color: var(--td-text-color-primary);
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  list-style: none;
  position: relative;
  width: 232px;
  display: inline-block;
  background: var(--td-bg-color-container);
  transition: width 0.28s cubic-bezier(0.645, 0.045, 0.355, 1);
  white-space: nowrap;
}
.t-default-menu .t-menu__item {
  color: var(--td-text-color-secondary);
}
.t-default-menu.t-is-collapsed {
  width: 64px;
}
.t-default-menu.t-is-collapsed .t-menu__logo > * {
  margin-left: var(--td-comp-margin-l);
}
.t-default-menu.t-is-collapsed .t-menu .t-menu__item {
  padding: 0 14px;
  justify-content: center;
}
.t-default-menu.t-is-collapsed .t-menu .t-menu__item .t-menu__item-link {
  margin-left: 0;
  opacity: 0;
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.t-default-menu.t-is-collapsed .t-fake-arrow {
  display: none;
}
.t-default-menu.t-is-collapsed .t-menu__item {
  text-overflow: initial;
}
.t-default-menu.t-is-collapsed .t-menu__item.t-is-active.t-is-opened {
  color: var(--td-brand-color);
  background-color: var(--td-brand-color-light);
}
.t-default-menu.t-is-collapsed .t-menu__item.t-is-active.t-is-opened .t-icon {
  color: var(--td-brand-color);
}
.t-default-menu.t-is-collapsed .t-menu__item.t-menu__item--plain::after {
  content: '';
}
.t-default-menu.t-is-collapsed .t-menu__item > .t-menu__content {
  display: none;
}
.t-default-menu.t-is-collapsed .t-menu__item .t-icon {
  margin-right: initial;
}
.t-default-menu.t-is-collapsed .t-submenu-icon {
  display: none;
}
.t-default-menu.t-is-collapsed .t-submenu > .t-menu__item {
  min-width: initial;
}
.t-default-menu.t-is-collapsed .t-submenu > .t-menu__item::after {
  content: '';
  display: block;
  position: absolute;
  right: -20px;
  top: 0;
  bottom: 0;
  width: 20px;
}
.t-default-menu.t-is-collapsed .t-menu-group:first-child .t-menu-group__title {
  display: none;
}
.t-default-menu.t-is-collapsed .t-menu-group:first-child .t-menu-group__title + * {
  margin-top: 0;
}
.t-default-menu.t-is-collapsed .t-menu-group__title {
  padding: 0;
  font-size: 0;
}
.t-default-menu.t-is-collapsed .t-menu-group__title::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 1px;
  width: 20px;
  background: var(--td-component-stroke);
}
.t-default-menu.t-is-collapsed .t-menu__operations {
  text-align: center;
}
.t-default-menu.t-is-collapsed .t-menu__operations-icon {
  display: block;
}
.t-default-menu.t-is-collapsed .t-menu__log > * {
  margin: 0 auto;
}
.t-default-menu__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.t-default-menu__inner .t-menu__logo:not(:empty) {
  box-sizing: border-box;
  width: 100%;
  height: var(--td-comp-size-xxxl);
  border-bottom: 1px solid var(--td-component-stroke);
}
.t-default-menu__inner .t-menu {
  padding: var(--td-comp-paddingTB-l) var(--td-comp-paddingLR-s);
  position: relative;
  flex: 1;
}
.t-default-menu__inner .t-menu--scroll {
  overflow-y: auto;
  overflow-x: hidden;
}
@-moz-document url-prefix() {
  .t-default-menu__inner .t-menu--scroll {
    scrollbar-color: var(--td-scrollbar-color) transparent;
    scrollbar-width: thin;
  }
}
.t-default-menu__inner .t-menu--scroll::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.t-default-menu__inner .t-menu--scroll::-webkit-scrollbar-thumb {
  border: 0px solid transparent;
  background-clip: content-box;
  background-color: var(--td-scrollbar-color);
  border-radius: 11px;
}
.t-default-menu__inner .t-menu--scroll::-webkit-scrollbar-thumb:vertical:hover,
.t-default-menu__inner .t-menu--scroll::-webkit-scrollbar-thumb:horizontal:hover {
  background-color: var(--td-scrollbar-hover-color);
}
.t-default-menu__inner .t-menu > *:not(.t-menu-group):not(:first-child) {
  margin-top: var(--td-comp-margin-xs);
}
.t-default-menu__inner .t-menu .t-menu-group > *:not(:first-child),
.t-default-menu__inner .t-menu .t-menu__sub > *:not(:first-child),
.t-default-menu__inner .t-menu .t-submenu > *:not(:first-child) {
  margin-top: var(--td-comp-margin-xs);
}
.t-default-menu__inner .t-menu-group__title {
  position: relative;
  padding: var(--td-comp-paddingTB-l) var(--td-comp-paddingLR-l) var(--td-comp-paddingTB-xs) var(--td-comp-paddingLR-l);
  color: var(--td-text-color-placeholder);
  font-size: var(--td-font-body-small);
  box-sizing: border-box;
}
.t-default-menu .t-submenu {
  position: relative;
}
.t-default-menu .t-menu__operations:not(:empty) {
  width: 100%;
  position: relative;
  padding: var(--td-comp-paddingTB-s) var(--td-comp-paddingLR-l);
  top: 0;
  left: 0;
  text-align: left;
  border-top: solid 1px var(--td-component-stroke);
  box-sizing: border-box;
}
.t-default-menu .t-menu__operations-icon {
  width: 32px;
  height: 32px;
  padding: var(--td-comp-paddingTB-s) var(--td-comp-paddingLR-s);
  cursor: pointer;
  color: var(--td-text-color-primary);
  box-sizing: border-box;
}
.t-default-menu .t-menu__item.t-is-opened {
  color: var(--td-text-color-primary);
  background-color: unset;
}
.t-default-menu .t-menu__item.t-is-opened .t-icon {
  color: var(--td-text-color-primary);
}
.t-default-menu .t-menu__sub {
  padding: 0;
  overflow: hidden;
}
.t-default-menu .t-menu__sub .t-menu__item {
  padding-left: var(--padding-left, 32px);
}
.t-default-menu .t-slide-down-enter-active .t-menu__sub {
  height: 100%;
}
.t-default-menu .t-menu__item {
  position: relative;
  padding: 0 10px 0 16px;
  height: var(--td-comp-size-l);
  line-height: var(--td-comp-size-l);
  border-bottom: 0;
  text-align: left;
  border-radius: var(--td-radius-default);
  transition: background-color 0.28s cubic-bezier(0.38, 0, 0.24, 1), padding 0.28s cubic-bezier(0.38, 0, 0.24, 1);
  box-sizing: border-box;
}
.t-default-menu .t-menu__item .t-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  margin-right: var(--td-comp-margin-s);
}
.t-default-menu .t-menu__item .t-fake-arrow {
  margin-left: auto;
  min-width: 16px;
}
.t-default-menu .t-menu__item.t-is-active:not(.t-is-opened) {
  color: var(--td-brand-color);
  background-color: var(--td-brand-color-light);
}
.t-default-menu .t-menu__item.t-is-active:not(.t-is-opened) .t-icon {
  color: var(--td-brand-color);
}
.t-default-menu .t-menu__item:hover:not(.t-is-active):not(.t-is-disabled) {
  background: var(--td-bg-color-secondarycontainer-hover);
}
.t-default-menu.t-menu--dark {
  background: var(--td-gray-color-13);
}
.t-default-menu.t-menu--dark .t-menu__item {
  color: var(--td-font-white-2);
}
.t-default-menu.t-menu--dark .t-menu__logo:not(:empty) {
  border-bottom-color: var(--td-gray-color-10);
}
.t-default-menu.t-menu--dark .t-menu__operations:not(:empty) {
  border-top-color: var(--td-gray-color-10);
}
.t-default-menu.t-menu--dark .t-menu__item:hover:not(.t-is-active):not(.t-is-disabled) {
  background-color: var(--td-gray-color-10);
}
.t-default-menu.t-menu--dark .t-menu__item.t-is-active:not(.t-is-opened) {
  color: var(--td-text-color-anti);
  background-color: var(--td-brand-color);
}
.t-default-menu.t-menu--dark .t-menu__item.t-is-active:not(.t-is-opened) .t-icon {
  color: var(--td-text-color-anti);
}
.t-default-menu.t-menu--dark .t-menu__item.t-is-opened.t-is-active {
  background-color: transparent;
}
.t-default-menu.t-menu--dark .t-menu-group__title {
  color: var(--td-font-white-3);
}
.t-default-menu.t-menu--dark.t-is-collapsed .t-menu-group__title:after {
  background-color: var(--td-gray-color-10);
}
.t-default-menu.t-menu--dark.t-is-collapsed .t-menu__item.t-is-active.t-is-opened {
  background-color: var(--td-brand-color);
  color: var(--td-text-color-anti);
}
.t-default-menu.t-menu--dark.t-is-collapsed .t-menu__item.t-is-active.t-is-opened .t-icon {
  color: var(--td-text-color-anti);
}
.t-menu {
  color: var(--td-text-color-primary);
  font: var(--td-font-body-medium);
  list-style: none;
  padding: 0;
  margin: 0;
}
.t-menu--dark {
  color: var(--td-font-white-2);
}
.t-menu__logo:not(:empty) {
  display: flex;
  align-items: center;
}
.t-menu .t-submenu {
  position: relative;
}
.t-menu .t-submenu.t-is-active > .t-menu__item {
  color: var(--td-gray-color-13);
}
.t-menu .t-submenu.t-is-active > .t-menu__item .t-icon {
  color: var(--td-gray-color-13);
}
.t-menu .t-submenu .t-submenu-icon {
  width: 16px;
  height: 16px;
}
.t-menu .t-submenu.t-is-opened .t-submenu-icon {
  transform: scaleY(-1);
}
.t-menu__spacer::before {
  content: '';
  display: block;
  position: absolute;
  z-index: 1;
}
.t-menu__spacer--left::before {
  left: -16px;
  width: 16px;
  top: 0;
  bottom: 0;
}
.t-menu__spacer--top::before {
  top: -20px;
  left: 0;
  right: 0;
  height: 20px;
}
.t-menu__item {
  position: relative;
  display: flex;
  align-items: center;
  height: 40px;
  line-height: 40px;
  text-align: center;
  color: var(--td-text-color-primary);
  cursor: pointer;
  text-overflow: ellipsis;
  border-radius: var(--td-radius-default);
  --ripple-color: var(--td-bg-color-container-active);
}
.t-menu__item ::-moz-selection {
  background: transparent;
}
.t-menu__item ::selection {
  background: transparent;
}
.t-menu__item-spacer {
  overflow: unset;
}
.t-menu__item-spacer::before {
  content: '';
  display: block;
  position: absolute;
  z-index: 1;
}
.t-menu__item-spacer--right::before {
  right: -16px;
  width: 16px;
  top: 0;
  bottom: 0;
}
.t-menu__item-spacer--bottom::before {
  bottom: -20px;
  left: 0;
  right: 0;
  height: 20px;
}
.t-menu__item a {
  color: unset;
  text-decoration: none;
}
.t-menu__item a.t-menu__item-link {
  color: unset;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.t-menu__item a.t-menu__item-link::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.t-menu__item.t-is-active {
  color: var(--td-brand-color);
  background-color: var(--td-brand-color-light);
}
.t-menu__item.t-is-opened {
  color: var(--td-brand-color);
}
.t-menu__item:hover:not(.t-is-active):not(.t-is-opened):not(.t-is-disabled) {
  background-color: var(--td-bg-color-container-hover);
}
.t-menu__item.t-is-disabled {
  color: var(--td-text-color-disabled);
  cursor: not-allowed;
}
.t-menu__content {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.t-menu--dark.t-head-menu {
  background-color: var(--td-gray-color-13);
}
.t-menu--dark .t-menu__item {
  color: var(--td-text-color-anti);
  --ripple-color: var(--td-gray-color-11);
}
.t-menu--dark .t-menu__item.t-is-active {
  color: var(--td-text-color-anti);
  background-color: var(--td-brand-color);
}
.t-menu--dark .t-menu__item.t-is-opened {
  color: var(--td-text-color-anti);
}
.t-menu--dark .t-menu__item.t-is-opened .t-icon {
  color: var(--td-text-color-anti);
}
.t-menu--dark .t-menu__item.t-is-disabled {
  color: var(--td-font-white-4);
}
.t-menu--dark .t-menu__item:hover:not(.t-is-active):not(.t-is-opened):not(.t-is-disabled) {
  background-color: var(--td-gray-color-10);
}
.t-menu--dark .t-menu__popup {
  background: var(--td-gray-color-13);
  border: solid 0.5px var(--td-gray-color-10);
}
.t-menu--dark .t-menu__popup .t-menu__item {
  color: var(--td-text-color-anti);
  border-radius: var(--td-radius-default);
}
.t-menu--dark .t-menu__popup .t-menu__item.t-is-active {
  color: var(--td-text-color-anti);
  background-color: var(--td-brand-color);
}
.t-menu--dark .t-menu__popup .t-menu__item:hover:not(.t-is-active) {
  background-color: var(--td-gray-color-10);
}
.t-menu--dark .t-head-menu__submenu {
  border-top: 1px solid transparent;
}
.t-menu--dark .t-menu__operations-icon {
  color: var(--td-bg-color-container);
}
.t-menu--dark .t-menu__operations-icon:hover {
  background-color: var(--td-brand-color);
}
.t-menu__popup {
  overflow: hidden;
  background: var(--td-bg-color-container);
  z-index: 1000;
  border-radius: var(--td-radius-medium);
  opacity: 0;
  list-style: none;
  padding: 0;
  margin: 0;
}
.t-menu__popup.t-popup__content {
  position: absolute;
}
.t-menu__popup-wrapper {
  padding: var(--td-pop-padding-m);
  height: 100%;
  list-style: none;
  margin: 0;
}
@-moz-document url-prefix() {
  .t-menu__popup-wrapper {
    scrollbar-color: var(--td-scrollbar-color) transparent;
    scrollbar-width: thin;
  }
}
.t-menu__popup-wrapper::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.t-menu__popup-wrapper::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  background-clip: content-box;
  background-color: var(--td-scrollbar-color);
  border-radius: 15px;
}
.t-menu__popup-wrapper::-webkit-scrollbar-thumb:vertical:hover,
.t-menu__popup-wrapper::-webkit-scrollbar-thumb:horizontal:hover {
  background-color: var(--td-scrollbar-hover-color);
}
.t-menu__popup .t-fake-arrow {
  margin-left: auto;
}
.t-menu__popup .t-menu__item {
  padding-left: var(--td-comp-paddingLR-l);
  padding-right: var(--td-comp-paddingLR-l);
}
.t-menu__popup.t-is-vertical {
  min-width: var(--popup-width, 160px);
}
.t-menu__popup.t-is-horizontal .t-menu__item {
  white-space: nowrap;
}
.t-menu__popup.t-is-horizontal li + li {
  margin-top: var(--td-comp-margin-xs);
}
.t-menu__popup.t-is-opened {
  opacity: 1;
  box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.1), 0 8px 10px 1px rgba(0, 0, 0, 0.06), 0 3px 14px 6px rgba(0, 0, 0, 0.05);
  overflow: visible;
}
.t-menu__popup .t-menu__item {
  color: var(--td-text-color-primary);
  height: var(--td-comp-size-s);
  line-height: var(--td-comp-size-s);
}
.t-menu__popup .t-menu__item + .t-menu__item {
  margin-left: 0;
}
.t-menu__popup .t-menu__item:hover:not(.t-is-active) {
  background-color: var(--td-bg-color-container-hover);
}
.t-menu__popup .t-is-disabled {
  color: var(--td-text-color-disabled);
}
.t-menu__operations-icon {
  margin-right: var(--td-comp-margin-l);
  border-radius: var(--td-radius-default);
  color: var(--td-text-color-primary);
  transition: background-color 0.24s cubic-bezier(0.38, 0, 0.24, 1);
}
.t-menu__operations-icon:hover {
  background-color: var(--td-brand-color-light);
}
.t-opacity-transition {
  transition: opacity 0.28s cubic-bezier(0.55, 0, 0.1, 1);
}
.horizontal-collapse-transition .t-submenu__title .t-submenu__icon-arrow {
  transition: 0.2s;
  opacity: 0;
}
.t-menu__popup {
  top: 0;
  left: calc(100% - var(--td-pop-padding-m));
}
.t-menu__popup .t-menu__item:not(:first-child),
.t-menu__popup .t-submenu:not(:first-child) {
  margin-top: var(--td-comp-margin-xxs);
}
.t-is-head-menu .t-menu__popup {
  margin-top: calc((var(--td-comp-size-xxxl) - var(--td-comp-size-m)) / 2) !important;
}
.t-menu-is-nested .t-menu__popup {
  margin-top: calc(0px - var(--td-pop-padding-m)) !important;
}
