* {
  margin: 0;
  padding: 0;
  overscroll-behavior-x: none;
}

html > body {
  width: 100%;
  overflow: hidden;
  height: calc(100vh - env(safe-area-inset-bottom, 0) - env(safe-area-inset-top, 0));
}

ul {
  list-style: none;
}

a {
  text-decoration: none;
}

img {
  vertical-align: top;
  border: none;
}

body {
  --code-font: 'Fira Code', 'Consolas', 'Menlo', 'Monaco', 'Andale Mono', 'Courier New', Courier, monospace;
}

/* 原 style-tokens-custom 内容 */
[data-theme='light'] {
  --gradient-1: linear-gradient(180deg, #edf0fb 0%, #fbfcfe 100%);
}

[data-theme='dark'] {
  --gradient-1: linear-gradient(180deg, #2f354b 0%, #222934 100%);
}

/* 原 style-tokens-old 内容 */
:root {
  --chart-edit-select-max-width: 160px;
}

:root,
[data-theme='light'] {
  --text-hint: rgba(0, 0, 0, 0.3);
  --text-caption: rgba(0, 0, 0, 0.5);
  --text-title: rgba(0, 0, 0, 0.9);
  --text-body: rgba(0, 0, 0, 0.7);
  --link: #3083ff;
  --fill-hover: #f5f5fa;
  --fill-press: #ebebf2;
  --primary-selected: rgba(45, 129, 253, 0.1);

  --text-main: rgba(0, 0, 0, 0.85);
  --text-primary: rgba(0, 0, 0, 0.65);
  --text-secondary: rgba(0, 0, 0, 0.45);
  --text-disabled: rgba(0, 0, 0, 0.3);

  --text-btn-brand: #3083ff;
  --text-btn-white: #ffffff;
  --text-btn-black: rgba(0, 0, 0, 0.85);

  --bg-main: #f8f8fa;
  --bg-primary: #ffffff;
  --bg-card: #ffffff;
  --bg-btn-normal: #ffffff;
  --bg-btn-brand: #3083ff;
  --bg-btn-disabled: #f5f5f5;
  --bg-btn-blue: #d4ebff;
  --bg-table-header: rgba(3, 3, 3, 0.05);
  --bg-table-row: rgba(0, 0, 0, 0.03);
  --bg-item-selected: #d4ebff;
  --bg-item-hover: #f0f8ff;
  --bg-item-01: #f0f8ff;
  --bg-item-02: #f0f8ff;
  --cover-01: rgba(255, 255, 255, 0.3);

  --border-gray: #ececec;
  --border-brand: #3083ff;
  --border-blue: #d4ebff;
  --outline: #3083ff;

  --icon-default: #757575;
  --icon-highlight: #3083ff;
  --icon-disabled: #bdbdbd;
  --icon-white: #ffffff;

  --error: #f5222d;
  --warning: #faad14;
  --success: #52c41a;
  --info: #1890ff;

  --card-shadow: 0px 2px 16px rgba(0, 0, 0, 0.08);
  --box-shadow-up-01: 0px -2px 10px rgba(0, 0, 0, 0.05);
  --box-shadow-down-02: 0px 6px 18px rgba(0, 0, 0, 0.1);

  --brand-01: red;
  --brand-02: red;
  --brand-03: red;
}

[data-theme='dark'] {
  --text-main: rgba(255, 255, 255, 0.9);
  --text-primary: rgba(255, 255, 255, 0.65);
  --text-secondary: rgba(255, 255, 255, 0.45);
  --text-disabled: rgba(255, 255, 255, 0.3);
  --text-btn-brand: #3083ff;
  --text-btn-white: #ffffff;
  --text-btn-black: rgba(0, 0, 0, 0.85);

  --bg-main: #101421;
  --bg-primary: #101421;
  --bg-card: #252936;
  --bg-btn-normal: #252936;
  --bg-btn-brand: #3083ff;
  --bg-btn-disabled: rgba(255, 255, 255, 0.08);
  --bg-btn-blue: #d4ebff;
  --bg-table-header: rgba(255, 255, 255, 0.05);
  --bg-table-row: rgba(255, 255, 255, 0.03);
  --bg-item-selected: rgba(49, 75, 115, 0.9);
  --bg-item-hover: rgba(49, 75, 115, 0.4);
  --bg-item-01: #252936;
  --bg-item-02: linear-gradient(0deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05)), #252936;
  --cover-01: rgba(0, 0, 0, 0.2);

  --border-gray: #3f434e;
  --border-brand: #3083ff;
  --border-blue: #383f55;
  --outline: #3083ff;

  --icon-default: #a0a0a0;
  --icon-highlight: #3083ff;
  --icon-disabled: #666972;
  --icon-white: #ffffff;

  --error: #f5222d;
  --warning: #faad14;
  --success: #52c41a;
  --info: #1890ff;

  --box-shadow-up-01: 0px -2px 10px rgba(0, 0, 0, 0.05);
  --box-shadow-down-02: 0px 6px 18px rgba(0, 0, 0, 0.4);
}

/* 原 style-tokens 内容 */
:root,
[data-theme='light'] {
  --secondary: #2de2a5;
  --secondary-ai: #8675ff;
  --danger: #ff4040;
  --success: #1dbf6e;
  --warning: #ffc400;
  --link: #2d81fd;
  --primary-primary: #2d81fd;
  --primary-hover: #1b6be0;
  --primary-active: #0356d1;
  --primary-disable: #2d81fd80;
  --primary-selected: #2d81fd1a;
  --primary-selected-2: #eaf2ff;
  --text-title: #000000e6;
  --text-body: #000000b3;
  --text-caption: #00000080;
  --text-hint: #0000004d;
  --text-disable: #00000033;
  --background-page: #f2f3f6;
  --background-card: #ffffff;
  --background-toptips: #000000d9;
  --line-0: #5b5f66;
  --line-1: #d7d7db;
  --line-2: #ededf0;
  --line-focus: #2d81fd;
  --static-background: #000000;
  --static-background-active: #1a1e24;
  --static-line-hover: #4c4c4c;
  --static-white: #ffffff;
  --mask-5: #0000000d;
  --mask-30: #0000004d;
  --mask-50: #00000080;
  --icon-primary: #2d81fd;
  --icon-normal: #000000b3;
  --icon-secondary: #00000080;
  --icon-disable: #0000004d;
  --fill-fill: #f7f8fa;
  --fill-hover: #f5f5fa;
  --fill-press: #ebebf2;
  --fill-fill-1: #f5f5fa;
  --fill-hover-1: #ebebf2;
  --fill-press-1: #dedee8;
}

[data-theme='dark'] {
  --secondary: #28c792;
  --secondary-ai: #8675ff;
  --danger: #cc2929;
  --success: #0f9954;
  --warning: #e0ac00;
  --link: #2975e5;
  --primary-primary: #2975e5;
  --primary-hover: #2468cc;
  --primary-active: #205bb2;
  --primary-disable: #2975e580;
  --primary-selected: #2d81fd4d;
  --primary-selected-2: #0d274c;
  --text-title: #ffffffe6;
  --text-body: #ffffffb3;
  --text-caption: #ffffff80;
  --text-hint: #ffffff4d;
  --text-disable: #ffffff33;
  --background-page: #1a1e24;
  --background-card: #25292f;
  --background-toptips: #ffffff26;
  --line-0: #d7d7db;
  --line-1: #5b5f66;
  --line-2: #3b3e44;
  --line-focus: #2975e5;
  --static-background: #000000;
  --static-background-active: #1a1e24;
  --static-line-hover: #4c4c4c;
  --static-white: #ffffff;
  --mask-5: #0000000d;
  --mask-30: #0000004d;
  --mask-50: #00000080;
  --icon-primary: #2975e5;
  --icon-normal: #ffffffb3;
  --icon-secondary: #ffffff80;
  --icon-disable: #ffffff4d;
  --fill-press: #1c212c;
  --fill-hover: #2e3239;
  --fill-fill: #3b3e44;
  --fill-fill-1: #575b62;
  --fill-hover-1: #474b54;
  --fill-press-1: #31353d;
}
