/*!*******************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/@umijs/bundler-webpack/compiled/postcss-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./src/global.css ***!
  \*******************************************************************************************************************************************************************************************************************/
/* Tailwind CSS */
@tailwind base;
@tailwind components;
@tailwind utilities;

/*!*********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/@umijs/bundler-webpack/compiled/postcss-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/@uiw/react-markdown-preview/esm/styles/markdown.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************/
@media (prefers-color-scheme: dark) {
  .wmde-markdown,
  .wmde-markdown-var {
    color-scheme: dark;
    --color-prettylights-syntax-comment: #8b949e;
    --color-prettylights-syntax-constant: #79c0ff;
    --color-prettylights-syntax-entity: #d2a8ff;
    --color-prettylights-syntax-storage-modifier-import: #c9d1d9;
    --color-prettylights-syntax-entity-tag: #7ee787;
    --color-prettylights-syntax-keyword: #ff7b72;
    --color-prettylights-syntax-string: #a5d6ff;
    --color-prettylights-syntax-variable: #ffa657;
    --color-prettylights-syntax-brackethighlighter-unmatched: #f85149;
    --color-prettylights-syntax-invalid-illegal-text: #f0f6fc;
    --color-prettylights-syntax-invalid-illegal-bg: #8e1519;
    --color-prettylights-syntax-carriage-return-text: #f0f6fc;
    --color-prettylights-syntax-carriage-return-bg: #b62324;
    --color-prettylights-syntax-string-regexp: #7ee787;
    --color-prettylights-syntax-markup-list: #f2cc60;
    --color-prettylights-syntax-markup-heading: #1f6feb;
    --color-prettylights-syntax-markup-italic: #c9d1d9;
    --color-prettylights-syntax-markup-bold: #c9d1d9;
    --color-prettylights-syntax-markup-deleted-text: #ffdcd7;
    --color-prettylights-syntax-markup-deleted-bg: #67060c;
    --color-prettylights-syntax-markup-inserted-text: #aff5b4;
    --color-prettylights-syntax-markup-inserted-bg: #033a16;
    --color-prettylights-syntax-markup-changed-text: #ffdfb6;
    --color-prettylights-syntax-markup-changed-bg: #5a1e02;
    --color-prettylights-syntax-markup-ignored-text: #c9d1d9;
    --color-prettylights-syntax-markup-ignored-bg: #1158c7;
    --color-prettylights-syntax-meta-diff-range: #d2a8ff;
    --color-prettylights-syntax-brackethighlighter-angle: #8b949e;
    --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;
    --color-prettylights-syntax-constant-other-reference-link: #a5d6ff;
    --color-fg-default: #c9d1d9;
    --color-fg-muted: #8b949e;
    --color-fg-subtle: #484f58;
    --color-canvas-default: #0d1117;
    --color-canvas-subtle: #161b22;
    --color-border-default: #30363d;
    --color-border-muted: #21262d;
    --color-neutral-muted: rgba(110, 118, 129, 0.4);
    --color-accent-fg: #58a6ff;
    --color-accent-emphasis: #1f6feb;
    --color-attention-subtle: rgba(187, 128, 9, 0.15);
    --color-danger-fg: #f85149;
    --color-danger-emphasis: #da3633;
    --color-attention-fg: #d29922;
    --color-attention-emphasis: #9e6a03;
    --color-done-fg: #a371f7;
    --color-done-emphasis: #8957e5;
    --color-success-fg: #3fb950;
    --color-success-emphasis: #238636;
    --color-copied-active-bg: #2e9b33;
  }
}
@media (prefers-color-scheme: light) {
  .wmde-markdown,
  .wmde-markdown-var {
    color-scheme: light;
    --color-prettylights-syntax-comment: #6e7781;
    --color-prettylights-syntax-constant: #0550ae;
    --color-prettylights-syntax-entity: #8250df;
    --color-prettylights-syntax-storage-modifier-import: #24292f;
    --color-prettylights-syntax-entity-tag: #116329;
    --color-prettylights-syntax-keyword: #cf222e;
    --color-prettylights-syntax-string: #0a3069;
    --color-prettylights-syntax-variable: #953800;
    --color-prettylights-syntax-brackethighlighter-unmatched: #82071e;
    --color-prettylights-syntax-invalid-illegal-text: #f6f8fa;
    --color-prettylights-syntax-invalid-illegal-bg: #82071e;
    --color-prettylights-syntax-carriage-return-text: #f6f8fa;
    --color-prettylights-syntax-carriage-return-bg: #cf222e;
    --color-prettylights-syntax-string-regexp: #116329;
    --color-prettylights-syntax-markup-list: #3b2300;
    --color-prettylights-syntax-markup-heading: #0550ae;
    --color-prettylights-syntax-markup-italic: #24292f;
    --color-prettylights-syntax-markup-bold: #24292f;
    --color-prettylights-syntax-markup-deleted-text: #82071e;
    --color-prettylights-syntax-markup-deleted-bg: #ffebe9;
    --color-prettylights-syntax-markup-inserted-text: #116329;
    --color-prettylights-syntax-markup-inserted-bg: #dafbe1;
    --color-prettylights-syntax-markup-changed-text: #953800;
    --color-prettylights-syntax-markup-changed-bg: #ffd8b5;
    --color-prettylights-syntax-markup-ignored-text: #eaeef2;
    --color-prettylights-syntax-markup-ignored-bg: #0550ae;
    --color-prettylights-syntax-meta-diff-range: #8250df;
    --color-prettylights-syntax-brackethighlighter-angle: #57606a;
    --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;
    --color-prettylights-syntax-constant-other-reference-link: #0a3069;
    --color-fg-default: #24292f;
    --color-fg-muted: #57606a;
    --color-fg-subtle: #6e7781;
    --color-canvas-default: #ffffff;
    --color-canvas-subtle: #f6f8fa;
    --color-border-default: #d0d7de;
    --color-border-muted: hsl(210, 18%, 87%);
    --color-neutral-muted: rgba(175, 184, 193, 0.2);
    --color-accent-fg: #0969da;
    --color-accent-emphasis: #0969da;
    --color-attention-subtle: #fff8c5;
    --color-danger-fg: #d1242f;
    --color-danger-emphasis: #cf222e;
    --color-attention-fg: #9a6700;
    --color-attention-emphasis: #9a6700;
    --color-done-fg: #8250df;
    --color-done-emphasis: #8250df;
    --color-success-fg: #1a7f37;
    --color-success-emphasis: #1f883d;
    --color-copied-active-bg: #2e9b33;
  }
}
[data-color-mode*='dark'] .wmde-markdown,
[data-color-mode*='dark'] .wmde-markdown-var,
.wmde-markdown-var[data-color-mode*='dark'],
.wmde-markdown[data-color-mode*='dark'],
body[data-color-mode*='dark'] {
  color-scheme: dark;
  --color-prettylights-syntax-comment: #8b949e;
  --color-prettylights-syntax-constant: #79c0ff;
  --color-prettylights-syntax-entity: #d2a8ff;
  --color-prettylights-syntax-storage-modifier-import: #c9d1d9;
  --color-prettylights-syntax-entity-tag: #7ee787;
  --color-prettylights-syntax-keyword: #ff7b72;
  --color-prettylights-syntax-string: #a5d6ff;
  --color-prettylights-syntax-variable: #ffa657;
  --color-prettylights-syntax-brackethighlighter-unmatched: #f85149;
  --color-prettylights-syntax-invalid-illegal-text: #f0f6fc;
  --color-prettylights-syntax-invalid-illegal-bg: #8e1519;
  --color-prettylights-syntax-carriage-return-text: #f0f6fc;
  --color-prettylights-syntax-carriage-return-bg: #b62324;
  --color-prettylights-syntax-string-regexp: #7ee787;
  --color-prettylights-syntax-markup-list: #f2cc60;
  --color-prettylights-syntax-markup-heading: #1f6feb;
  --color-prettylights-syntax-markup-italic: #c9d1d9;
  --color-prettylights-syntax-markup-bold: #c9d1d9;
  --color-prettylights-syntax-markup-deleted-text: #ffdcd7;
  --color-prettylights-syntax-markup-deleted-bg: #67060c;
  --color-prettylights-syntax-markup-inserted-text: #aff5b4;
  --color-prettylights-syntax-markup-inserted-bg: #033a16;
  --color-prettylights-syntax-markup-changed-text: #ffdfb6;
  --color-prettylights-syntax-markup-changed-bg: #5a1e02;
  --color-prettylights-syntax-markup-ignored-text: #c9d1d9;
  --color-prettylights-syntax-markup-ignored-bg: #1158c7;
  --color-prettylights-syntax-meta-diff-range: #d2a8ff;
  --color-prettylights-syntax-brackethighlighter-angle: #8b949e;
  --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;
  --color-prettylights-syntax-constant-other-reference-link: #a5d6ff;
  --color-fg-default: #c9d1d9;
  --color-fg-muted: #8b949e;
  --color-fg-subtle: #484f58;
  --color-canvas-default: #0d1117;
  --color-canvas-subtle: #161b22;
  --color-border-default: #30363d;
  --color-border-muted: #21262d;
  --color-neutral-muted: rgba(110, 118, 129, 0.4);
  --color-accent-fg: #58a6ff;
  --color-accent-emphasis: #1f6feb;
  --color-attention-subtle: rgba(187, 128, 9, 0.15);
  --color-danger-fg: #f85149;
}
[data-color-mode*='light'] .wmde-markdown,
[data-color-mode*='light'] .wmde-markdown-var,
.wmde-markdown-var[data-color-mode*='light'],
.wmde-markdown[data-color-mode*='light'],
body[data-color-mode*='light'] {
  color-scheme: light;
  --color-prettylights-syntax-comment: #6e7781;
  --color-prettylights-syntax-constant: #0550ae;
  --color-prettylights-syntax-entity: #8250df;
  --color-prettylights-syntax-storage-modifier-import: #24292f;
  --color-prettylights-syntax-entity-tag: #116329;
  --color-prettylights-syntax-keyword: #cf222e;
  --color-prettylights-syntax-string: #0a3069;
  --color-prettylights-syntax-variable: #953800;
  --color-prettylights-syntax-brackethighlighter-unmatched: #82071e;
  --color-prettylights-syntax-invalid-illegal-text: #f6f8fa;
  --color-prettylights-syntax-invalid-illegal-bg: #82071e;
  --color-prettylights-syntax-carriage-return-text: #f6f8fa;
  --color-prettylights-syntax-carriage-return-bg: #cf222e;
  --color-prettylights-syntax-string-regexp: #116329;
  --color-prettylights-syntax-markup-list: #3b2300;
  --color-prettylights-syntax-markup-heading: #0550ae;
  --color-prettylights-syntax-markup-italic: #24292f;
  --color-prettylights-syntax-markup-bold: #24292f;
  --color-prettylights-syntax-markup-deleted-text: #82071e;
  --color-prettylights-syntax-markup-deleted-bg: #ffebe9;
  --color-prettylights-syntax-markup-inserted-text: #116329;
  --color-prettylights-syntax-markup-inserted-bg: #dafbe1;
  --color-prettylights-syntax-markup-changed-text: #953800;
  --color-prettylights-syntax-markup-changed-bg: #ffd8b5;
  --color-prettylights-syntax-markup-ignored-text: #eaeef2;
  --color-prettylights-syntax-markup-ignored-bg: #0550ae;
  --color-prettylights-syntax-meta-diff-range: #8250df;
  --color-prettylights-syntax-brackethighlighter-angle: #57606a;
  --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;
  --color-prettylights-syntax-constant-other-reference-link: #0a3069;
  --color-fg-default: #24292f;
  --color-fg-muted: #57606a;
  --color-fg-subtle: #6e7781;
  --color-canvas-default: #ffffff;
  --color-canvas-subtle: #f6f8fa;
  --color-border-default: #d0d7de;
  --color-border-muted: hsl(210, 18%, 87%);
  --color-neutral-muted: rgba(175, 184, 193, 0.2);
  --color-accent-fg: #0969da;
  --color-accent-emphasis: #0969da;
  --color-attention-subtle: #fff8c5;
  --color-danger-fg: #cf222e;
}
.wmde-markdown {
  -webkit-text-size-adjust: 100%;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
  font-size: 16px;
  line-height: 1.5;
  word-wrap: break-word;
  color: var(--color-fg-default);
  background-color: var(--color-canvas-default);
}
.wmde-markdown details,
.wmde-markdown figcaption,
.wmde-markdown figure {
  display: block;
}
.wmde-markdown summary {
  display: list-item;
}
.wmde-markdown [hidden] {
  display: none !important;
}
.wmde-markdown a {
  background-color: transparent;
  color: var(--color-accent-fg);
  text-decoration: none;
}
.wmde-markdown a:active,
.wmde-markdown a:hover {
  outline-width: 0;
}
.wmde-markdown abbr[title] {
  border-bottom: none;
  text-decoration: underline dotted;
}
.wmde-markdown b,
.wmde-markdown strong {
  font-weight: 600;
}
.wmde-markdown dfn {
  font-style: italic;
}
.wmde-markdown h1 {
  margin: 0.67em 0;
  font-weight: 600;
  padding-bottom: 0.3em;
  font-size: 2em;
  border-bottom: 1px solid var(--color-border-muted);
}
.wmde-markdown mark {
  background-color: var(--color-attention-subtle);
  color: var(--color-text-primary);
}
.wmde-markdown small {
  font-size: 90%;
}
.wmde-markdown sub,
.wmde-markdown sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
.wmde-markdown sub {
  bottom: -0.25em;
}
.wmde-markdown sup {
  top: -0.5em;
}
.wmde-markdown img {
  display: inline-block;
  border-style: none;
  max-width: 100%;
  box-sizing: content-box;
  background-color: var(--color-canvas-default);
}
.wmde-markdown code,
.wmde-markdown kbd,
.wmde-markdown pre,
.wmde-markdown samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
.wmde-markdown figure {
  margin: 1em 40px;
}
.wmde-markdown hr {
  box-sizing: content-box;
  overflow: hidden;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--color-border-muted);
  height: 0.25em;
  padding: 0;
  margin: 24px 0;
  background-color: var(--color-border-default);
}
.wmde-markdown input {
  font: inherit;
  margin: 0;
  overflow: visible;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
.wmde-markdown [type='button'],
.wmde-markdown [type='reset'],
.wmde-markdown [type='submit'] {
  -webkit-appearance: button;
}
.wmde-markdown [type='button']::-moz-focus-inner,
.wmde-markdown [type='reset']::-moz-focus-inner,
.wmde-markdown [type='submit']::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
.wmde-markdown [type='button']:-moz-focusring,
.wmde-markdown [type='reset']:-moz-focusring,
.wmde-markdown [type='submit']:-moz-focusring {
  outline: 1px dotted ButtonText;
}
.wmde-markdown [type='checkbox'],
.wmde-markdown [type='radio'] {
  box-sizing: border-box;
  padding: 0;
}
.wmde-markdown [type='number']::-webkit-inner-spin-button,
.wmde-markdown [type='number']::-webkit-outer-spin-button {
  height: auto;
}
.wmde-markdown [type='search'] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
.wmde-markdown [type='search']::-webkit-search-cancel-button,
.wmde-markdown [type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}
.wmde-markdown ::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}
.wmde-markdown ::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
.wmde-markdown a:hover {
  text-decoration: underline;
}
.wmde-markdown hr::before {
  display: table;
  content: '';
}
.wmde-markdown hr::after {
  display: table;
  clear: both;
  content: '';
}
.wmde-markdown table {
  border-spacing: 0;
  border-collapse: collapse;
  display: block;
  width: max-content;
  max-width: 100%;
}
.wmde-markdown td,
.wmde-markdown th {
  padding: 0;
}
.wmde-markdown details summary {
  cursor: pointer;
}
.wmde-markdown details:not([open]) > *:not(summary) {
  display: none !important;
}
.wmde-markdown kbd {
  display: inline-block;
  padding: 3px 5px;
  font: 11px ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
  line-height: 10px;
  color: var(--color-fg-default);
  vertical-align: middle;
  background-color: var(--color-canvas-subtle);
  border: solid 1px var(--color-neutral-muted);
  border-bottom-color: var(--color-neutral-muted);
  border-radius: 6px;
  box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
}
.wmde-markdown h1,
.wmde-markdown h2,
.wmde-markdown h3,
.wmde-markdown h4,
.wmde-markdown h5,
.wmde-markdown h6 {
  margin-top: 24px;
  margin-bottom: 16px;
  font-weight: 600;
  line-height: 1.25;
}
.wmde-markdown td,
.wmde-markdown th {
  padding: 0;
}
.wmde-markdown details summary {
  cursor: pointer;
}
.wmde-markdown details:not([open]) > *:not(summary) {
  display: none !important;
}
.wmde-markdown kbd {
  display: inline-block;
  padding: 3px 5px;
  font: 11px ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
  line-height: 10px;
  color: var(--color-fg-default);
  vertical-align: middle;
  background-color: var(--color-canvas-subtle);
  border: solid 1px var(--color-neutral-muted);
  border-bottom-color: var(--color-neutral-muted);
  border-radius: 6px;
  box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
}
.wmde-markdown h1,
.wmde-markdown h2,
.wmde-markdown h3,
.wmde-markdown h4,
.wmde-markdown h5,
.wmde-markdown h6 {
  margin-top: 24px;
  margin-bottom: 16px;
  font-weight: 600;
  line-height: 1.25;
}
.wmde-markdown h2 {
  font-weight: 600;
  padding-bottom: 0.3em;
  font-size: 1.5em;
  border-bottom: 1px solid var(--color-border-muted);
}
.wmde-markdown h3 {
  font-weight: 600;
  font-size: 1.25em;
}
.wmde-markdown h4 {
  font-weight: 600;
  font-size: 1em;
}
.wmde-markdown h5 {
  font-weight: 600;
  font-size: 0.875em;
}
.wmde-markdown h6 {
  font-weight: 600;
  font-size: 0.85em;
  color: var(--color-fg-muted);
}
.wmde-markdown p {
  margin-top: 0;
  margin-bottom: 10px;
}
.wmde-markdown blockquote {
  margin: 0;
  padding: 0 1em;
  color: var(--color-fg-muted);
  border-left: 0.25em solid var(--color-border-default);
}
.wmde-markdown ul,
.wmde-markdown ol {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 2em;
}
.wmde-markdown ol ol,
.wmde-markdown ul ol {
  list-style-type: lower-roman;
}
.wmde-markdown ul ul ol,
.wmde-markdown ul ol ol,
.wmde-markdown ol ul ol,
.wmde-markdown ol ol ol {
  list-style-type: lower-alpha;
}
.wmde-markdown dd {
  margin-left: 0;
}
.wmde-markdown tt,
.wmde-markdown code {
  font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
  font-size: 12px;
}
.wmde-markdown pre {
  margin-top: 0;
  margin-bottom: 0;
  font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
  font-size: 12px;
  word-wrap: normal;
}
.wmde-markdown .octicon {
  display: inline-block;
  overflow: visible !important;
  vertical-align: text-bottom;
  fill: currentColor;
}
.wmde-markdown ::placeholder {
  color: var(--color-fg-subtle);
  opacity: 1;
}
.wmde-markdown input::-webkit-outer-spin-button,
.wmde-markdown input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
          appearance: none;
}
.wmde-markdown [data-catalyst] {
  display: block;
}
.wmde-markdown::before {
  display: table;
  content: '';
}
.wmde-markdown::after {
  display: table;
  clear: both;
  content: '';
}
.wmde-markdown > *:first-child {
  margin-top: 0 !important;
}
.wmde-markdown > *:last-child {
  margin-bottom: 0 !important;
}
.wmde-markdown a:not([href]) {
  color: inherit;
  text-decoration: none;
}
.wmde-markdown .absent {
  color: var(--color-danger-fg);
}
.wmde-markdown a.anchor {
  float: left;
  padding-right: 4px;
  margin-left: -20px;
  line-height: 1;
}
.wmde-markdown .anchor:focus {
  outline: none;
}
.wmde-markdown p,
.wmde-markdown blockquote,
.wmde-markdown ul,
.wmde-markdown ol,
.wmde-markdown dl,
.wmde-markdown table,
.wmde-markdown pre,
.wmde-markdown details {
  margin-top: 0;
  margin-bottom: 16px;
}
.wmde-markdown blockquote > :first-child {
  margin-top: 0;
}
.wmde-markdown blockquote > :last-child {
  margin-bottom: 0;
}
.wmde-markdown sup > a::before {
  content: '[';
}
.wmde-markdown sup > a::after {
  content: ']';
}
.wmde-markdown h1 .octicon-link,
.wmde-markdown h2 .octicon-link,
.wmde-markdown h3 .octicon-link,
.wmde-markdown h4 .octicon-link,
.wmde-markdown h5 .octicon-link,
.wmde-markdown h6 .octicon-link {
  color: var(--color-fg-default);
  vertical-align: middle;
  visibility: hidden;
}
.wmde-markdown h1:hover .anchor,
.wmde-markdown h2:hover .anchor,
.wmde-markdown h3:hover .anchor,
.wmde-markdown h4:hover .anchor,
.wmde-markdown h5:hover .anchor,
.wmde-markdown h6:hover .anchor {
  text-decoration: none;
}
.wmde-markdown h1:hover .anchor .octicon-link,
.wmde-markdown h2:hover .anchor .octicon-link,
.wmde-markdown h3:hover .anchor .octicon-link,
.wmde-markdown h4:hover .anchor .octicon-link,
.wmde-markdown h5:hover .anchor .octicon-link,
.wmde-markdown h6:hover .anchor .octicon-link {
  visibility: visible;
}
.wmde-markdown h1 tt,
.wmde-markdown h1 code,
.wmde-markdown h2 tt,
.wmde-markdown h2 code,
.wmde-markdown h3 tt,
.wmde-markdown h3 code,
.wmde-markdown h4 tt,
.wmde-markdown h4 code,
.wmde-markdown h5 tt,
.wmde-markdown h5 code,
.wmde-markdown h6 tt,
.wmde-markdown h6 code {
  padding: 0 0.2em;
  font-size: inherit;
}
.wmde-markdown ul.no-list,
.wmde-markdown ol.no-list {
  padding: 0;
  list-style-type: none;
}
.wmde-markdown ol[type='1'] {
  list-style-type: decimal;
}
.wmde-markdown ol[type='a'] {
  list-style-type: lower-alpha;
}
.wmde-markdown ol[type='i'] {
  list-style-type: lower-roman;
}
.wmde-markdown div > ol:not([type]) {
  list-style-type: decimal;
}
.wmde-markdown ul ul,
.wmde-markdown ul ol,
.wmde-markdown ol ol,
.wmde-markdown ol ul {
  margin-top: 0;
  margin-bottom: 0;
}
.wmde-markdown li > p {
  margin-top: 16px;
}
.wmde-markdown li + li {
  margin-top: 0.25em;
}
.wmde-markdown dl {
  padding: 0;
}
.wmde-markdown dl dt {
  padding: 0;
  margin-top: 16px;
  font-size: 1em;
  font-style: italic;
  font-weight: 600;
}
.wmde-markdown dl dd {
  padding: 0 16px;
  margin-bottom: 16px;
}
.wmde-markdown table th {
  font-weight: 600;
}
.wmde-markdown table th,
.wmde-markdown table td {
  padding: 6px 13px;
  border: 1px solid var(--color-border-default);
}
.wmde-markdown table tr {
  background-color: var(--color-canvas-default);
  border-top: 1px solid var(--color-border-muted);
}
.wmde-markdown table tr:nth-child(2n) {
  background-color: var(--color-canvas-subtle);
}
.wmde-markdown table img {
  background-color: transparent;
}
.wmde-markdown img[align='right'] {
  padding-left: 20px;
}
.wmde-markdown img[align='left'] {
  padding-right: 20px;
}
.wmde-markdown .emoji {
  max-width: none;
  vertical-align: text-top;
  background-color: transparent;
}
.wmde-markdown span.frame {
  display: block;
  overflow: hidden;
}
.wmde-markdown span.frame > span {
  display: block;
  float: left;
  width: auto;
  padding: 7px;
  margin: 13px 0 0;
  overflow: hidden;
  border: 1px solid var(--color-border-default);
}
.wmde-markdown span.frame span img {
  display: block;
  float: left;
}
.wmde-markdown span.frame span span {
  display: block;
  padding: 5px 0 0;
  clear: both;
  color: var(--color-fg-default);
}
.wmde-markdown span.align-center {
  display: block;
  overflow: hidden;
  clear: both;
}
.wmde-markdown span.align-center > span {
  display: block;
  margin: 13px auto 0;
  overflow: hidden;
  text-align: center;
}
.wmde-markdown span.align-center span img {
  margin: 0 auto;
  text-align: center;
}
.wmde-markdown span.align-right {
  display: block;
  overflow: hidden;
  clear: both;
}
.wmde-markdown span.align-right > span {
  display: block;
  margin: 13px 0 0;
  overflow: hidden;
  text-align: right;
}
.wmde-markdown span.align-right span img {
  margin: 0;
  text-align: right;
}
.wmde-markdown span.float-left {
  display: block;
  float: left;
  margin-right: 13px;
  overflow: hidden;
}
.wmde-markdown span.float-left span {
  margin: 13px 0 0;
}
.wmde-markdown span.float-right {
  display: block;
  float: right;
  margin-left: 13px;
  overflow: hidden;
}
.wmde-markdown span.float-right > span {
  display: block;
  margin: 13px auto 0;
  overflow: hidden;
  text-align: right;
}
.wmde-markdown code,
.wmde-markdown tt {
  padding: 0.2em 0.4em;
  margin: 0;
  font-size: 85%;
  background-color: var(--color-neutral-muted);
  border-radius: 6px;
}
.wmde-markdown code br,
.wmde-markdown tt br {
  display: none;
}
.wmde-markdown del code {
  text-decoration: inherit;
}
.wmde-markdown pre code {
  font-size: 100%;
}
.wmde-markdown pre > code {
  padding: 0;
  margin: 0;
  word-break: normal;
  white-space: pre;
  background: transparent;
  border: 0;
}
.wmde-markdown pre {
  font-size: 85%;
  line-height: 1.45;
  background-color: var(--color-canvas-subtle);
  border-radius: 6px;
}
.wmde-markdown pre code,
.wmde-markdown pre tt {
  display: inline;
  max-width: auto;
  padding: 0;
  margin: 0;
  overflow: visible;
  line-height: inherit;
  word-wrap: normal;
  background-color: transparent;
  border: 0;
}
.wmde-markdown pre > code {
  padding: 16px;
  overflow: auto;
  display: block;
}
.wmde-markdown pre > code::-webkit-scrollbar {
  background: transparent;
  width: 8px;
  height: 8px;
}
.wmde-markdown pre > code::-webkit-scrollbar-thumb {
  background: var(--color-fg-muted);
  border-radius: 10px;
}
.wmde-markdown .csv-data td,
.wmde-markdown .csv-data th {
  padding: 5px;
  overflow: hidden;
  font-size: 12px;
  line-height: 1;
  text-align: left;
  white-space: nowrap;
}
.wmde-markdown .csv-data .blob-num {
  padding: 10px 8px 9px;
  text-align: right;
  background: var(--color-canvas-default);
  border: 0;
}
.wmde-markdown .csv-data tr {
  border-top: 0;
}
.wmde-markdown .csv-data th {
  font-weight: 600;
  background: var(--color-canvas-subtle);
  border-top: 0;
}
.wmde-markdown .footnotes {
  font-size: 12px;
  color: var(--color-fg-muted);
  border-top: 1px solid var(--color-border-default);
}
.wmde-markdown .footnotes ol {
  padding-left: 16px;
}
.wmde-markdown .footnotes li {
  position: relative;
}
.wmde-markdown .footnotes li:target::before {
  position: absolute;
  top: -8px;
  right: -8px;
  bottom: -8px;
  left: -24px;
  pointer-events: none;
  content: '';
  border: 2px solid var(--color-accent-emphasis);
  border-radius: 6px;
}
.wmde-markdown .footnotes li:target {
  color: var(--color-fg-default);
}
.wmde-markdown .footnotes .data-footnote-backref g-emoji {
  font-family: monospace;
}
.wmde-markdown .task-list-item {
  list-style-type: none;
}
.wmde-markdown .task-list-item label {
  font-weight: 400;
}
.wmde-markdown .task-list-item.enabled label {
  cursor: pointer;
}
.wmde-markdown .task-list-item + .wmde-markdown .task-list-item {
  margin-top: 3px;
}
.wmde-markdown .task-list-item .handle {
  display: none;
}
.wmde-markdown .task-list-item-checkbox,
.wmde-markdown .contains-task-list input[type='checkbox'] {
  margin: 0 0.2em 0.25em -1.6em;
  vertical-align: middle;
}
.wmde-markdown .contains-task-list:dir(rtl) .task-list-item-checkbox,
.wmde-markdown .contains-task-list:dir(rtl) input[type='checkbox'] {
  margin: 0 -1.6em 0.25em 0.2em;
}
.wmde-markdown ::-webkit-calendar-picker-indicator {
  filter: invert(50%);
}
.wmde-markdown pre {
  position: relative;
}
.wmde-markdown pre .copied {
  visibility: hidden;
  display: flex;
  position: absolute;
  cursor: pointer;
  color: var(--color-fg-default);
  top: 6px;
  right: 6px;
  border-radius: 5px;
  background: var(--color-border-default);
  padding: 6px;
  font-size: 12px;
  transition: all 0.3s;
}
.wmde-markdown pre .copied .octicon-copy {
  display: block;
}
.wmde-markdown pre .copied .octicon-check {
  display: none;
}
.wmde-markdown pre:hover .copied {
  visibility: visible;
}
.wmde-markdown pre:hover .copied:hover {
  background: var(--color-prettylights-syntax-entity-tag);
  color: var(--color-canvas-default);
}
.wmde-markdown pre:hover .copied:active,
.wmde-markdown pre .copied.active {
  background: var(--color-copied-active-bg);
  color: var(--color-canvas-default);
}
.wmde-markdown pre .active .octicon-copy {
  display: none;
}
.wmde-markdown pre .active .octicon-check {
  display: block;
}
.wmde-markdown .markdown-alert {
  padding: 0.5rem 1em;
  color: inherit;
  margin-bottom: 16px;
  border-left: 0.25em solid var(--borderColor-default, var(--color-border-default));
}
.wmde-markdown .markdown-alert > :last-child {
  margin-bottom: 0 !important;
}
.wmde-markdown .markdown-alert .markdown-alert-title {
  display: flex;
  align-items: center;
  line-height: 1;
  font-weight: 500;
  font-size: 14px;
}
.wmde-markdown .markdown-alert .markdown-alert-title svg.octicon {
  margin-right: var(--base-size-8, 8px) !important;
}
.wmde-markdown .markdown-alert.markdown-alert-note {
  border-left-color: var(--borderColor-accent-emphasis, var(--color-accent-emphasis));
}
.wmde-markdown .markdown-alert.markdown-alert-note .markdown-alert-title {
  color: var(--fgColor-accent, var(--color-accent-fg));
}
.wmde-markdown .markdown-alert.markdown-alert-tip {
  border-left-color: var(--borderColor-success-emphasis, var(--color-success-emphasis));
}
.wmde-markdown .markdown-alert.markdown-alert-tip .markdown-alert-title {
  color: var(--fgColor-success, var(--color-success-fg));
}
.wmde-markdown .markdown-alert.markdown-alert-important {
  border-left-color: var(--borderColor-done-emphasis, var(--color-done-emphasis));
}
.wmde-markdown .markdown-alert.markdown-alert-important .markdown-alert-title {
  color: var(--fgColor-done, var(--color-done-fg));
}
.wmde-markdown .markdown-alert.markdown-alert-warning {
  border-left-color: var(--borderColor-attention-emphasis, var(--color-attention-emphasis));
}
.wmde-markdown .markdown-alert.markdown-alert-warning .markdown-alert-title {
  color: var(--fgColor-attention, var(--color-attention-fg));
}
.wmde-markdown .markdown-alert.markdown-alert-caution {
  border-left-color: var(--borderColor-danger-emphasis, var(--color-danger-emphasis));
}
.wmde-markdown .markdown-alert.markdown-alert-caution .markdown-alert-title {
  color: var(--fgColor-danger, var(--color-danger-fg));
}
.wmde-markdown .highlight-line {
  background-color: var(--color-neutral-muted);
}
.wmde-markdown .code-line.line-number::before {
  display: inline-block;
  width: 1rem;
  text-align: right;
  margin-right: 16px;
  color: var(--color-fg-subtle);
  content: attr(line);
  white-space: nowrap;
}
.wmde-markdown .token.comment,
.wmde-markdown .token.prolog,
.wmde-markdown .token.doctype,
.wmde-markdown .token.cdata {
  color: var(--color-prettylights-syntax-comment);
}
.wmde-markdown .token.namespace {
  opacity: 0.7;
}
.wmde-markdown .token.property,
.wmde-markdown .token.tag,
.wmde-markdown .token.selector,
.wmde-markdown .token.constant,
.wmde-markdown .token.symbol,
.wmde-markdown .token.deleted {
  color: var(--color-prettylights-syntax-entity-tag);
}
.wmde-markdown .token.maybe-class-name {
  color: var(--color-prettylights-syntax-variable);
}
.wmde-markdown .token.property-access,
.wmde-markdown .token.operator,
.wmde-markdown .token.boolean,
.wmde-markdown .token.number,
.wmde-markdown .token.selector .token.class,
.wmde-markdown .token.attr-name,
.wmde-markdown .token.string,
.wmde-markdown .token.char,
.wmde-markdown .token.builtin {
  color: var(--color-prettylights-syntax-constant);
}
.wmde-markdown .token.deleted {
  color: var(--color-prettylights-syntax-markup-deleted-text);
}
.wmde-markdown .code-line .token.deleted {
  background-color: var(--color-prettylights-syntax-markup-deleted-bg);
}
.wmde-markdown .token.inserted {
  color: var(--color-prettylights-syntax-markup-inserted-text);
}
.wmde-markdown .code-line .token.inserted {
  background-color: var(--color-prettylights-syntax-markup-inserted-bg);
}
.wmde-markdown .token.variable {
  color: var(--color-prettylights-syntax-constant);
}
.wmde-markdown .token.entity,
.wmde-markdown .token.url,
.wmde-markdown .language-css .token.string,
.wmde-markdown .style .token.string {
  color: var(--color-prettylights-syntax-string);
}
.wmde-markdown .token.color,
.wmde-markdown .token.atrule,
.wmde-markdown .token.attr-value,
.wmde-markdown .token.function,
.wmde-markdown .token.class-name {
  color: var(--color-prettylights-syntax-string);
}
.wmde-markdown .token.rule,
.wmde-markdown .token.regex,
.wmde-markdown .token.important,
.wmde-markdown .token.keyword {
  color: var(--color-prettylights-syntax-keyword);
}
.wmde-markdown .token.coord {
  color: var(--color-prettylights-syntax-meta-diff-range);
}
.wmde-markdown .token.important,
.wmde-markdown .token.bold {
  font-weight: bold;
}
.wmde-markdown .token.italic {
  font-style: italic;
}
.wmde-markdown .token.entity {
  cursor: help;
}

/*!******************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/@umijs/bundler-webpack/compiled/postcss-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./src/components/blocks/SearchResultBlock/SearchResultBlock.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************/
/**
 * SearchResultBlock 样式
 * 
 * 设计来源：
 * - HTML 原型：aaaTemp/agent_analysis/iteration1/RAGFlow 搜索卡片 UI (2).html
 * - 平台规范：aaaTemp/前端开发规范.md
 * 
 * 设计原则：
 * - 所有间距、圆角、字体使用 CSS 变量
 * - 颜色使用平台定义的变量
 * - 动画效果使用统一的 transition tokens
 */

/* ========== 容器布局 ========== */
.search-result-block {
  margin: var(--spacing-sm) 0;
}

.search-result-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--spacing-sm);
}

.search-result-header h3 {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  color: var(--foreground);
  margin: 0;
}

.result-count {
  font-size: var(--font-size-sm);
  color: var(--muted-foreground);
}

.search-result-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* ========== 卡片样式（符合平台规范） ========== */
.search-result-card {
  /* 背景和边框 */
  background-color: var(--bg-primary);
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--radius-lg); /* 8px，接近原型的 12px */

  /* 内边距 */
  padding: var(--spacing-xl); /* 24px */

  /* 阴影 */
  box-shadow: var(--shadow-sm); /* 0 1px 3px rgba(0, 0, 0, 0.08) */

  /* 动画 */
  transition: all var(--transition-slow); /* 0.3s ease */

  /* 布局 */
  position: relative;
}

.search-result-card:hover {
  box-shadow: var(--shadow-lg); /* 0 4px 8px rgba(0, 0, 0, 0.08) */
  transform: translateY(-2px);
}

/* ========== 卡片头部（图标 + 标题 + 副标题） ========== */
.card-header-wrapper {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-md); /* 12px */
  margin-bottom: var(--spacing-lg); /* 16px */
  padding-bottom: var(--spacing-lg); /* 16px */
  border-bottom: var(--border-width) solid var(--border-color);
}

.card-icon {
  width: var(--icon-size-xl); /* 24px */
  height: var(--icon-size-xl); /* 24px */
  flex-shrink: 0;
}

.card-title-wrapper {
  flex: 1 1;
}

.card-title {
  font-size: 18px; /* 遵循 HTML 原型规范 */
  font-weight: 600; /* semibold */
  color: var(--foreground);
  margin: 0 0 4px 0;
}

.card-title a {
  color: var(--primary);
  text-decoration: none;
  transition: all var(--transition-fast); /* 0.15s ease */
}

.card-title a:hover {
  text-decoration: underline;
  opacity: 0.8;
}

.card-subtitle {
  font-size: var(--font-size-xs); /* 12px，接近原型的 13px */
  color: var(--gray-500);
  margin-top: var(--spacing-xs); /* 4px */
}

.card-link {
  color: var(--primary);
  text-decoration: none;
  transition: all 0.2s ease;
}

.card-link:hover {
  text-decoration: underline;
  opacity: 0.8;
}

/* ========== Toggle 开关（符合平台规范） ========== */
.toggle-switch {
  /* 定位 */
  position: absolute;
  top: var(--spacing-lg); /* 16px，接近原型的 20px */
  right: var(--spacing-lg); /* 16px，接近原型的 20px */

  /* 布局 */
  display: flex;
  gap: 2px;

  /* 背景 */
  background-color: var(--gray-100);
  border-radius: var(--radius-md); /* 6px，接近原型的 8px */
  padding: 3px;
}

.toggle-option {
  /* 尺寸 */
  padding: var(--btn-padding-sm); /* 4px 8px，接近原型的 6px 12px */

  /* 字体 */
  font-size: var(--btn-font-sm); /* 12px */
  font-weight: var(--btn-font-weight); /* 500 */
  color: var(--gray-500);

  /* 样式重置 */
  background-color: transparent;
  border: none;
  border-radius: var(--radius-sm); /* 4px，接近原型的 6px */
  cursor: pointer;

  /* 动画 */
  transition: all var(--transition-fast); /* 0.15s ease */
}

.toggle-option:hover {
  color: var(--gray-700);
}

.toggle-option.active {
  background-color: var(--white);
  color: var(--primary);
  box-shadow: var(--shadow-xs); /* 0 1px 2px rgba(0, 0, 0, 0.05) */
}

/* ========== 卡片内容区域（WebSurfer 保留） ========== */
.card-content {
  margin-bottom: 0;
}

.card-description {
  font-size: var(--font-size-sm); /* 14px */
  color: var(--gray-600);
  line-height: var(--line-height-relaxed); /* 1.6 */
  word-wrap: break-word;
  white-space: pre-wrap;
}

.content-view {
  display: none;
}

.content-view.active {
  display: block;
}

/* ========== Citation 样式（使用平台规范） ========== */
.citation-link {
  /* 字体 */
  font-size: 0.85em;
  font-weight: var(--font-weight-medium);
  color: var(--primary);

  /* 样式 */
  cursor: pointer;
  margin-left: 2px;
  text-decoration: none;

  /* 动画 */
  transition: all 0.15s ease;
}

.citation-link:hover {
  text-decoration: underline;
  opacity: 0.8;
}

.citation-card {
  max-width: 300px;
  padding: var(--spacing-md);
}

.citation-header {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  margin-bottom: var(--spacing-sm);
}

.citation-icon {
  font-size: var(--icon-size-md);
  color: var(--primary);
}

.citation-title {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--foreground);
}

.citation-url {
  font-size: var(--font-size-xs);
  color: var(--primary);
  text-decoration: none;
  display: block;
  word-break: break-all;
  margin-bottom: var(--spacing-xs);
  transition: all 0.15s ease;
}

.citation-url:hover {
  text-decoration: underline;
  opacity: 0.8;
}

.citation-doc {
  font-size: var(--font-size-xs);
  color: var(--muted-foreground);
  margin-bottom: var(--spacing-xs);
}

.citation-index {
  font-size: var(--font-size-xs);
  color: var(--muted-foreground);
  font-style: italic;
}

/* ========== 最终总结样式 ========== */
.summary-with-citations {
  padding: var(--spacing-lg);
  background: var(--gray-50);
  border-radius: var(--radius-md);
  margin: var(--spacing-lg) 0;
  border: var(--border-width) solid var(--border-color);
}

.summary-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--spacing-md);
  padding-bottom: var(--spacing-md);
  border-bottom: var(--border-width) solid var(--border-color);
}

.summary-header h4 {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-semibold);
  color: var(--gray-800);
  margin: 0;
}

.query-badge {
  font-size: var(--font-size-xs);
  color: var(--gray-600);
  background: var(--gray-100);
  padding: var(--spacing-xs) var(--spacing-sm); /* 4px 8px */
  border-radius: var(--radius-sm);
}

.summary-content {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-relaxed);
  color: var(--gray-700);
  white-space: pre-wrap;
  word-wrap: break-word;
}

/* ========== 无结果样式 ========== */
.no-results {
  text-align: center;
  padding: var(--spacing-2xl);
  color: var(--muted-foreground);
}

.no-results p {
  margin: var(--spacing-sm) 0;
}

.query-text {
  font-size: var(--font-size-sm);
  color: var(--primary);
  font-style: italic;
}

/* ========== 错误样式 ========== */
.search-result-error {
  padding: var(--spacing-lg);
  background: var(--error-light);
  border: 1px solid var(--error);
  border-radius: var(--radius-md);
  color: var(--error);
  text-align: center;
}

/* ========== 响应式设计（遵循平台规范） ========== */
@media (max-width: 768px) {
  .search-result-card {
    padding: var(--spacing-lg); /* 移动端保持 16px */
  }

  .toggle-switch {
    position: static; /* 移动端改为内联 */
    margin-bottom: var(--spacing-md);
    width: fit-content;
  }

  .card-header-wrapper {
    flex-direction: column;
    gap: var(--spacing-sm);
  }

  .card-title {
    font-size: var(--font-size-md); /* 移动端 16px */
  }

  .card-subtitle {
    font-size: var(--font-size-xs); /* 移动端 12px */
  }

  .card-description {
    font-size: var(--font-size-xs); /* 移动端 12px */
  }

  .summary-with-citations {
    padding: var(--spacing-md);
  }

  .summary-header {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-sm);
  }
}

/*!*******************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/@umijs/bundler-webpack/compiled/postcss-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./src/components/common/CitationLink.css ***!
  \*******************************************************************************************************************************************************************************************************************************************/
/* CitationLink 样式 - 从 SearchResultBlock.css 提取并通用化 */

/* 引用角标链接 [1] */
.citation-link {
  /* 字体 */
  font-size: 0.85em;
  font-weight: var(--font-weight-medium, 500);
  color: var(--primary, #1677ff);

  /* 样式 */
  cursor: pointer;
  margin-left: 2px;
  text-decoration: none;

  /* 动画 */
  transition: all 0.15s ease;
}

.citation-link:hover {
  text-decoration: underline;
  opacity: 0.8;
}

/* Popover 内容卡片 */
.citation-card {
  max-width: 300px;
  padding: var(--spacing-md, 12px);
}

.citation-header {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm, 8px);
  margin-bottom: var(--spacing-sm, 8px);
}

.citation-icon {
  font-size: var(--icon-size-md, 16px);
  color: var(--primary, #1677ff);
}

.citation-title {
  font-size: var(--font-size-sm, 14px);
  font-weight: var(--font-weight-medium, 500);
  color: var(--foreground, #1f1f1f);
}

.citation-url {
  font-size: var(--font-size-xs, 12px);
  color: var(--primary, #1677ff);
  text-decoration: none;
  display: block;
  word-break: break-all;
  margin-bottom: var(--spacing-xs, 4px);
  transition: all 0.15s ease;
}

.citation-url:hover {
  text-decoration: underline;
  opacity: 0.8;
}

.citation-doc {
  font-size: var(--font-size-xs, 12px);
  color: var(--muted-foreground, #8c8c8c);
  margin-bottom: var(--spacing-xs, 4px);
}

.citation-quote {
  margin-top: 8px;
  padding: 8px;
  background-color: #f5f5f5;
  border-radius: 4px;
  font-size: 12px;
  color: #666;
  font-style: italic;
  line-height: 1.5;
  border-left: 3px solid #d9d9d9;
  /* 限制行数，超出显示省略号 */
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.citation-index {
  font-size: var(--font-size-xs, 12px);
  color: var(--muted-foreground, #8c8c8c);
  font-style: italic;
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].oneOf[1].use[1]!./node_modules/@umijs/bundler-webpack/compiled/postcss-loader/index.js??ruleSet[1].rules[5].oneOf[1].use[2]!./node_modules/@umijs/bundler-webpack/compiled/less-loader/index.js??ruleSet[1].rules[5].oneOf[1].use[3]!./src/components/enhanced-markdown-preview/index.less ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* 增强版 Markdown 预览组件样式 */
.enhanced-markdown-preview {
  max-width: 100%;
  width: 100%;
  /* 强制占满容器宽度 */
  overflow: hidden;
  /* 防止内容溢出 */
  height: auto !important;
  min-height: auto !important;
  display: block;
  /* 基础样式重置 */
  /* 紧凑间距模式 */
  /* Tab分隔内容已通过JS转换为标准表格，此处保留备用样式 */
  /* 增强表格样式（同时支持 Markdown 表格和 HTML 表格） */
  /* 代码块增强 */
  /* 强调元素样式 */
}
.enhanced-markdown-preview :global(.wmde-markdown) {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif;
  line-height: 1.6;
  color: #374151;
  max-width: 100%;
  width: 100%;
  /* 强制占满容器宽度 */
  overflow-x: auto;
  /* 允许横向滚动 */
  overflow-y: hidden;
  height: auto !important;
  min-height: auto !important;
  word-break: break-word;
  /* 强制长单词换行 */
  overflow-wrap: break-word;
}
.enhanced-markdown-preview.compact-spacing :global(.wmde-markdown) {
  /* 段落间距优化 */
  /* 标题间距优化 */
  /* 列表间距优化 */
  /* 代码块间距优化 */
  /* 引用块间距优化 */
}
.enhanced-markdown-preview.compact-spacing :global(.wmde-markdown) p {
  margin: 0.5em 0;
}
.enhanced-markdown-preview.compact-spacing :global(.wmde-markdown) p:first-child {
  margin-top: 0;
}
.enhanced-markdown-preview.compact-spacing :global(.wmde-markdown) p:last-child {
  margin-bottom: 0;
}
.enhanced-markdown-preview.compact-spacing :global(.wmde-markdown) h1,
.enhanced-markdown-preview.compact-spacing :global(.wmde-markdown) h2,
.enhanced-markdown-preview.compact-spacing :global(.wmde-markdown) h3,
.enhanced-markdown-preview.compact-spacing :global(.wmde-markdown) h4,
.enhanced-markdown-preview.compact-spacing :global(.wmde-markdown) h5,
.enhanced-markdown-preview.compact-spacing :global(.wmde-markdown) h6 {
  margin-top: 1.5em;
  margin-bottom: 0.5em;
}
.enhanced-markdown-preview.compact-spacing :global(.wmde-markdown) h1:first-child,
.enhanced-markdown-preview.compact-spacing :global(.wmde-markdown) h2:first-child,
.enhanced-markdown-preview.compact-spacing :global(.wmde-markdown) h3:first-child,
.enhanced-markdown-preview.compact-spacing :global(.wmde-markdown) h4:first-child,
.enhanced-markdown-preview.compact-spacing :global(.wmde-markdown) h5:first-child,
.enhanced-markdown-preview.compact-spacing :global(.wmde-markdown) h6:first-child {
  margin-top: 0;
}
.enhanced-markdown-preview.compact-spacing :global(.wmde-markdown) ul,
.enhanced-markdown-preview.compact-spacing :global(.wmde-markdown) ol {
  margin: 0.5em 0;
  padding-left: 1.5em;
}
.enhanced-markdown-preview.compact-spacing :global(.wmde-markdown) ul li,
.enhanced-markdown-preview.compact-spacing :global(.wmde-markdown) ol li {
  margin: 0.2em 0;
}
.enhanced-markdown-preview.compact-spacing :global(.wmde-markdown) pre {
  margin: 1em 0;
}
.enhanced-markdown-preview.compact-spacing :global(.wmde-markdown) blockquote {
  margin: 1em 0;
  padding-left: 1em;
  border-left: 4px solid #e5e7eb;
}
.enhanced-markdown-preview.enhanced-tables :global(.wmde-markdown) {
  /* 表头样式 */
  /* 表体样式 */
  /* 支持 HTML 表格（不使用 thead/tbody） */
  /* 表格容器优化 */
  /* 强制所有表格相关容器不产生横向滚动 */
  /* 小屏幕优化 */
}
.enhanced-markdown-preview.enhanced-tables :global(.wmde-markdown) table {
  width: 100% !important;
  max-width: 100% !important;
  border-collapse: collapse;
  margin: 1.5em 0;
  font-size: 0.85em;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  overflow: hidden !important;
  overflow-x: hidden !important;
  table-layout: fixed !important;
  box-sizing: border-box;
  /* 不使用横向滚动，改为内容换行 */
  display: table;
  white-space: normal;
}
.enhanced-markdown-preview.enhanced-tables :global(.wmde-markdown) thead {
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
}
.enhanced-markdown-preview.enhanced-tables :global(.wmde-markdown) thead th {
  padding: 10px 12px;
  font-weight: 600;
  text-align: left;
  color: #374151;
  border: 1px solid #e5e7eb;
  font-size: 0.85em;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  /* 表头可以换行，避免横向溢出 */
  white-space: normal;
  word-wrap: break-word;
  word-break: break-word;
}
.enhanced-markdown-preview.enhanced-tables :global(.wmde-markdown) thead th:first-child {
  border-left: none;
}
.enhanced-markdown-preview.enhanced-tables :global(.wmde-markdown) thead th:last-child {
  border-right: none;
}
.enhanced-markdown-preview.enhanced-tables :global(.wmde-markdown) tbody tr {
  transition: background-color 0.2s ease;
}
.enhanced-markdown-preview.enhanced-tables :global(.wmde-markdown) tbody tr:nth-child(even) {
  background-color: #f9fafb;
}
.enhanced-markdown-preview.enhanced-tables :global(.wmde-markdown) tbody tr:hover {
  background-color: #f3f4f6;
}
.enhanced-markdown-preview.enhanced-tables :global(.wmde-markdown) tbody td {
  padding: 10px 12px;
  border: 1px solid #e5e7eb;
  color: #374151;
  vertical-align: top;
  line-height: 1.5;
  /* 内容自动换行 */
  white-space: normal !important;
  word-wrap: break-word !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  max-width: 100%;
}
.enhanced-markdown-preview.enhanced-tables :global(.wmde-markdown) tbody td:first-child {
  border-left: none;
  font-weight: 500;
}
.enhanced-markdown-preview.enhanced-tables :global(.wmde-markdown) tbody td:last-child {
  border-right: none;
}
.enhanced-markdown-preview.enhanced-tables :global(.wmde-markdown) table tr th {
  padding: 10px 12px;
  font-weight: 600;
  text-align: left;
  color: #374151;
  border: 1px solid #e5e7eb;
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
  white-space: normal;
  word-wrap: break-word;
  word-break: break-word;
}
.enhanced-markdown-preview.enhanced-tables :global(.wmde-markdown) table tr td {
  padding: 10px 12px;
  border: 1px solid #e5e7eb;
  color: #374151;
  white-space: normal !important;
  word-wrap: break-word !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
}
.enhanced-markdown-preview.enhanced-tables :global(.wmde-markdown) .table-container,
.enhanced-markdown-preview.enhanced-tables :global(.wmde-markdown) div:has(> table) {
  overflow-x: hidden !important;
  overflow: hidden !important;
  margin: 1.5em 0;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  max-width: 100%;
  width: 100%;
}
.enhanced-markdown-preview.enhanced-tables :global(.wmde-markdown) * {
  max-width: 100% !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}
@media (max-width: 767px) {
  .enhanced-markdown-preview.enhanced-tables :global(.wmde-markdown) table {
    font-size: 0.8em;
  }
  .enhanced-markdown-preview.enhanced-tables :global(.wmde-markdown) th,
  .enhanced-markdown-preview.enhanced-tables :global(.wmde-markdown) td {
    padding: 8px 12px;
  }
  .enhanced-markdown-preview.enhanced-tables :global(.wmde-markdown) th {
    font-size: 0.75em;
  }
}
.enhanced-markdown-preview :global(.wmde-markdown) {
  /* 行内代码 */
  /* 代码块 */
}
.enhanced-markdown-preview :global(.wmde-markdown) code:not(pre code) {
  background-color: #f3f4f6;
  color: #dc2626;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 0.9em;
  font-family: 'SFMono-Regular', 'Consolas', 'Liberation Mono', 'Menlo', monospace;
  border: 1px solid #e5e7eb;
}
.enhanced-markdown-preview :global(.wmde-markdown) pre {
  background-color: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 16px;
  overflow-x: auto;
  font-size: 0.85em;
  line-height: 1.4;
}
.enhanced-markdown-preview :global(.wmde-markdown) pre code {
  background: none;
  color: #374151;
  padding: 0;
  border: none;
  font-family: 'SFMono-Regular', 'Consolas', 'Liberation Mono', 'Menlo', monospace;
}
.enhanced-markdown-preview :global(.wmde-markdown) {
  /* 分割线 */
}
.enhanced-markdown-preview :global(.wmde-markdown) strong {
  font-weight: 600;
  color: #1f2937;
}
.enhanced-markdown-preview :global(.wmde-markdown) em {
  font-style: italic;
  color: #6b7280;
}
.enhanced-markdown-preview :global(.wmde-markdown) hr {
  border: none;
  border-top: 1px solid #e5e7eb;
  margin: 2em 0;
}
/* ========== 强制去除横向滚动条 - 移除，使用 auto ========== */
.enhanced-markdown-preview *,
:global(.wmde-markdown) *,
:global(.wmde-markdown) table,
:global(.wmde-markdown) th,
:global(.wmde-markdown) td {
  /* 允许内容决定是否滚动 */
}
:global(.wmde-markdown) pre,
:global(.wmde-markdown) code {
  overflow-x: auto !important;
  /* 代码块允许滚动 */
}
/* 深色主题支持 */
[data-color-mode='dark'] .enhanced-markdown-preview :global(.wmde-markdown) {
  color: #f3f4f6;
  /* 表格深色主题 */
  /* 代码块深色主题 */
}
[data-color-mode='dark'] .enhanced-markdown-preview :global(.wmde-markdown).enhanced-tables table {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
[data-color-mode='dark'] .enhanced-markdown-preview :global(.wmde-markdown).enhanced-tables thead {
  background: linear-gradient(135deg, #374151 0%, #4b5563 100%);
}
[data-color-mode='dark'] .enhanced-markdown-preview :global(.wmde-markdown).enhanced-tables thead th {
  color: #f9fafb;
  border-color: #6b7280;
}
[data-color-mode='dark'] .enhanced-markdown-preview :global(.wmde-markdown).enhanced-tables tbody tr:nth-child(even) {
  background-color: #1f2937;
}
[data-color-mode='dark'] .enhanced-markdown-preview :global(.wmde-markdown).enhanced-tables tbody tr:hover {
  background-color: #374151;
}
[data-color-mode='dark'] .enhanced-markdown-preview :global(.wmde-markdown).enhanced-tables tbody td {
  color: #f3f4f6;
  border-color: #6b7280;
}
[data-color-mode='dark'] .enhanced-markdown-preview :global(.wmde-markdown) code:not(pre code) {
  background-color: #374151;
  color: #fbbf24;
  border-color: #6b7280;
}
[data-color-mode='dark'] .enhanced-markdown-preview :global(.wmde-markdown) pre {
  background-color: #1f2937;
  border-color: #6b7280;
}
[data-color-mode='dark'] .enhanced-markdown-preview :global(.wmde-markdown) pre code {
  color: #f3f4f6;
}

/*!**********************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/@umijs/bundler-webpack/compiled/postcss-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./src/components/blocks/MarkdownBlock/MarkdownBlock.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************/
/**
 * MarkdownBlock 样式
 * 
 * 说明：
 * - 统一的 Markdown 渲染样式
 * - 只读和编辑模式的差异化样式
 */

.markdown-block {
  position: relative;
  font-size: 14px;
  line-height: 1.6;
  color: #262626;
  max-width: 100%;
  width: 100%;
  overflow-x: hidden; /* 禁止横向滚动 */
  overflow-y: visible; /* 允许纵向完全显示 */
  word-wrap: break-word;
  word-break: break-word;
  overflow-wrap: break-word;
  box-sizing: border-box;
}

/* Block 标题 */
.block-title {
  font-size: 13px;
  font-weight: 600;
  color: #8c8c8c;
  margin-bottom: 12px;
}

/* 编辑器容器 */
.editor-container {
  position: relative;
  max-width: 100%;
  width: 100%;
  overflow-x: hidden; /* 禁止横向滚动 */
  overflow-y: visible; /* 允许纵向完全显示 */
  box-sizing: border-box;
}

/* 编辑器内容区域 */
.editor-content {
  position: relative;
  outline: none;
  min-height: 40px;
  max-height: none;
  height: auto !important;
  padding: 12px;
  border-radius: 4px;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden; /* 禁止横向滚动 */
  overflow-y: visible; /* 允许纵向完全显示 */
  word-wrap: break-word;
  word-break: break-word;
  overflow-wrap: break-word;
  box-sizing: border-box;
}

/* 只读模式样式 */
.markdown-block.readonly .editor-content {
  padding: 0;
  background: transparent;
  border: none;
  cursor: text; /* 允许文本选择 */
  user-select: text; /* 明确允许文本选择 */
}

.markdown-block.readonly .editor-content:focus {
  outline: none;
}

/* 只读模式下确保所有Markdown元素都可以被选中 */
.markdown-block.readonly .editor-content *,
.markdown-block.readonly .editor-content p,
.markdown-block.readonly .editor-content h1,
.markdown-block.readonly .editor-content h2,
.markdown-block.readonly .editor-content h3,
.markdown-block.readonly .editor-content h4,
.markdown-block.readonly .editor-content h5,
.markdown-block.readonly .editor-content h6,
.markdown-block.readonly .editor-content ul,
.markdown-block.readonly .editor-content ol,
.markdown-block.readonly .editor-content li,
.markdown-block.readonly .editor-content blockquote,
.markdown-block.readonly .editor-content code,
.markdown-block.readonly .editor-content pre,
.markdown-block.readonly .editor-content table,
.markdown-block.readonly .editor-content th,
.markdown-block.readonly .editor-content td,
.markdown-block.readonly .editor-content a {
  user-select: text !important; /* 强制允许文本选择 */
  cursor: text !important; /* 确保光标为文本选择样式 */
}

/* 编辑模式样式 */
.markdown-block.editable .editor-content {
  background: #fafafa;
  border: 1px solid #e8e8e8;
  cursor: text;
  transition: all 0.2s;
}

.markdown-block.editable .editor-content:hover {
  border-color: #d9d9d9;
  background: #ffffff;
}

.markdown-block.editable .editor-content:focus {
  border-color: #1890ff;
  background: #ffffff;
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1);
}

/* 占位符 */
.editor-placeholder {
  position: absolute;
  top: 12px;
  left: 12px;
  color: #bfbfbf;
  pointer-events: none;
  user-select: none;
}

/* ========== Markdown 元素样式 ========== */

/* 标题 */
.editor-content h1 {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 16px;
  color: #262626;
}

.editor-content h2 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 12px;
  margin-top: 24px;
  color: #262626;
}

.editor-content h3 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 10px;
  margin-top: 20px;
  color: #262626;
}

.editor-content h4,
.editor-content h5,
.editor-content h6 {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 8px;
  margin-top: 16px;
  color: #262626;
}

/* 段落 */
.editor-content p {
  margin-bottom: 12px;
  color: #595959;
}

.editor-content p:last-child {
  margin-bottom: 0;
}

/* 列表 */
.editor-content ul,
.editor-content ol {
  margin-left: 24px;
  margin-bottom: 12px;
  color: #595959;
}

.editor-content li {
  margin-bottom: 6px;
}

.editor-content li:last-child {
  margin-bottom: 0;
}

/* 列表拖拽手柄（ListPlugin 内置，但可自定义样式） */
.editor-content .list-item-draggable {
  cursor: grab;
}

.editor-content .list-item-draggable:active {
  cursor: grabbing;
}

/* 引用 */
.editor-content blockquote {
  border-left: 4px solid #d9d9d9;
  padding-left: 16px;
  margin: 16px 0;
  color: #8c8c8c;
  font-style: italic;
}

/* 代码块 */
.editor-content pre {
  background: #262626;
  color: #52c41a;
  padding: 12px;
  border-radius: 4px;
  overflow-x: hidden;
  overflow-wrap: break-word;
  word-wrap: break-word;
  white-space: pre-wrap;
  margin: 12px 0;
  font-family: 'Monaco', 'Menlo', 'Consolas', monospace;
  font-size: 13px;
}

/* 行内代码 */
.editor-content code {
  background: #f5f5f5;
  padding: 2px 6px;
  border-radius: 3px;
  font-family: 'Monaco', 'Menlo', 'Consolas', monospace;
  font-size: 13px;
  color: #262626;
}

/* 链接 */
.editor-content a {
  color: #1890ff;
  text-decoration: none;
  transition: color 0.2s;
  cursor: pointer;
}

.editor-content a:hover {
  color: #40a9ff;
  text-decoration: underline;
}

/* 确保链接在新标签页打开 */
.editor-content a[href^="http://"],
.editor-content a[href^="https://"]
{
  target: _blank;
}

/* 只读模式下链接的cursor样式 */
.markdown-block.readonly .editor-content a {
  cursor: pointer !important;
  user-select: text !important;
}

/* 表格 */
.editor-content table {
  border-collapse: collapse;
  width: 100% !important;
  max-width: 100% !important;
  margin: 12px 0;
  font-size: 13px;
  table-layout: fixed !important; /* 固定表格布局，确保不超出容器 */
  box-sizing: border-box;
}

.editor-content table th,
.editor-content table td {
  border: 1px solid #e8e8e8;
  padding: 6px 10px;
  text-align: left;
  word-wrap: break-word !important; /* 长单词自动换行 */
  word-break: break-word !important; /* 强制换行 */
  overflow-wrap: break-word !important;
  max-width: 100%;
  overflow: visible; /* 允许内容显示 */
  white-space: normal; /* 允许换行 */
}

.editor-content table th {
  background: #fafafa;
  font-weight: 600;
  color: #262626;
}

.editor-content table td {
  color: #595959;
}

.editor-content table tr:hover {
  background: #f5f5f5;
}

/* ========== 响应式设计 ========== */

@media (max-width: 768px) {
  .editor-content {
    font-size: 13px;
    padding: 10px;
  }

  .editor-content h1 {
    font-size: 20px;
  }

  .editor-content h2 {
    font-size: 18px;
  }

  .editor-content h3 {
    font-size: 16px;
  }
}

/**
 * 🔧 样式扩展点：
 * 
 * 1. 修改 Markdown 元素样式：
 *    - 修改 .editor-content h1, h2, p 等样式
 * 
 * 2. 添加自定义元素样式：
 *    - 添加新的 CSS 规则（如 .editor-content .custom-node）
 * 
 * 3. 修改编辑器容器样式：
 *    - 修改 .editor-content 的 padding, border 等
 */

/* ========== 全局补丁：强制去除横向滚动 ========== */

/* 确保所有表格和容器都不产生横向滚动 */
.markdown-block *,
.editor-content *,
.editor-content table,
.editor-content table th,
.editor-content table td {
  max-width: 100% !important;
  overflow-x: hidden !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  word-wrap: break-word !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
}

/* ========== 全局补丁：强制所有容器高度自适应（避免内容溢出） ========== */

.timeline-item,
.agent-observation-layout.timeline-item,
.agent-observation-chunk-layout.timeline-item,
.timeline-content,
.result-box,
.block-container,
.markdown-block,
.editor-container,
.editor-content {
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
}

.result-box,
.block-container,
.timeline-content {
  overflow: visible !important;
}

/* ========== 强制去除横向滚动条 ========== */
.markdown-block *,
.editor-container *,
.editor-content *,
.editor-content pre,
.editor-content code,
.editor-content table,
.editor-content th,
.editor-content td {
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

/* ========== 修复：恢复列表编号可见性 ========== */
/* 列表项必须允许 overflow visible，否则 outside 的编号会被截断 */
.markdown-block li,
.editor-content li,
.markdown-block ul,
.editor-content ul,
.markdown-block ol,
.editor-content ol {
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].oneOf[0].use[1]!./node_modules/@umijs/bundler-webpack/compiled/postcss-loader/index.js??ruleSet[1].rules[5].oneOf[0].use[2]!./node_modules/@umijs/bundler-webpack/compiled/less-loader/index.js??ruleSet[1].rules[5].oneOf[0].use[3]!./src/components/blocks/ReportBlock/ReportBlock.module.less?modules ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/**
 * ReportBlock Styles
 * 
 * 设计亮点：
 * - 文件卡片悬停效果
 * - 响应式布局
 * - 符合 Ant Design 色彩系统
 */
.reportBlockContainer___qQUHg {
  width: 100%;
  max-width: 100%;
  margin: 12px 0;
  box-sizing: border-box;
  overflow: hidden;
  /* 防止溢出 */
}
/* ========================
   文件卡片
   ======================== */
.reportFileCard___V4qhy {
  display: flex;
  align-items: center;
  padding: 16px;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  transition: all 0.3s ease;
  cursor: pointer;
  gap: 16px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  flex-wrap: wrap;
  /* 新增：允许换行，防止窄屏时内容被切掉 */
}
.reportFileCard___V4qhy:hover {
  border-color: var(--primary);
  box-shadow: 0 2px 8px rgba(76, 127, 255, 0.15);
  transform: translateY(-2px);
}
/* 文件图标 */
.fileIcon___VHfoQ {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--primary-light);
  border-radius: 8px;
}
/* 文件信息 */
.fileInfo___riYzR {
  flex: 1 1;
  min-width: 200px;
  /* 新增：设置最小宽度阈值，当空间不足时强制按钮换行 */
  overflow: hidden;
  /* 关键：确保子元素 ellipsis 生效 */
}
.fileTitle___UWJqO {
  font-size: 16px;
  font-weight: 600;
  color: #262626;
  margin-bottom: 8px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  width: 100%;
  /* 确保占满剩余空间但不溢出 */
}
.fileMetadata___g6JJw {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.metadataItem___pMHuj {
  display: flex;
  align-items: center;
  font-size: 13px;
  color: #8c8c8c;
}
.metadataItem___pMHuj .anticon {
  margin-right: 4px;
}
/* 操作按钮 */
.fileActions___Ghxib {
  flex-shrink: 0;
  margin-left: auto;
  /* 新增：确保在换行或单行时按钮都尽可能靠右 */
}
.viewButton___PDepX {
  padding: 8px 16px;
  background: var(--primary);
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.viewButton___PDepX:hover:not(:disabled) {
  background: var(--primary-hover);
  box-shadow: 0 2px 4px rgba(76, 127, 255, 0.3);
}
.viewButton___PDepX:active:not(:disabled) {
  background: var(--primary-dark);
}
.viewButton___PDepX:disabled {
  background: #d9d9d9;
  cursor: not-allowed;
  opacity: 0.6;
}
.loadingSpinner___pqOGQ {
  display: inline-block;
  animation: spin___Hfd6l 1s linear infinite;
}
@keyframes spin___Hfd6l {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* ========================
   预览内容
   ======================== */
.previewContent___Ay5rb {
  margin-top: 12px;
  padding: 16px;
  background: #fafafa;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
}
.previewHeader___STl0j {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e8e8e8;
}
.previewTitle___lWrsL {
  font-size: 14px;
  font-weight: 600;
  color: #262626;
}
.closePreview___avkDY {
  padding: 4px 12px;
  background: #fff;
  color: #8c8c8c;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.closePreview___avkDY:hover {
  color: #262626;
  border-color: #8c8c8c;
}
.previewText___XZ_s3 {
  font-size: 14px;
  line-height: 1.6;
  color: #595959;
  white-space: pre-wrap;
  word-break: break-word;
}
/* ========================
   响应式设计
   ======================== */
/* 平板 */
@media (max-width: 768px) {
  .reportFileCard___V4qhy {
    flex-direction: column;
    align-items: flex-start;
  }
  .fileActions___Ghxib {
    width: 100%;
  }
  .viewButton___PDepX {
    width: 100%;
  }
  .fileMetadata___g6JJw {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}
/* 移动端 */
@media (max-width: 480px) {
  .reportFileCard___V4qhy {
    padding: 12px;
  }
  .fileIcon___VHfoQ {
    width: 40px;
    height: 40px;
  }
  .fileTitle___UWJqO {
    font-size: 14px;
  }
  .metadataItem___pMHuj {
    font-size: 12px;
  }
  .viewButton___PDepX {
    padding: 6px 12px;
    font-size: 13px;
  }
}

/*!*********************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].oneOf[1].use[1]!./node_modules/@umijs/bundler-webpack/compiled/postcss-loader/index.js??ruleSet[1].rules[5].oneOf[1].use[2]!./src/styles/design-tokens.css ***!
  \*********************************************************************************************************************************************************************************************************************************/
/* =============================================================================
   MODERN DESIGN TOKENS - AFFiNE-Inspired System
   Based on 4px spacing system with precision and restraint
   ============================================================================= */

:root {
  /* ==========================================================================
     SPACING SYSTEM - 4px Base Unit
     ========================================================================== */
  --spacing-xs: 4px; /* Micro spacing - icon gaps, fine adjustments */
  --spacing-sm: 8px; /* Small spacing - compact layouts */
  --spacing-md: 12px; /* Medium spacing - standard component gaps */
  --spacing-lg: 16px; /* Large spacing - section separators */
  --spacing-xl: 24px; /* Extra large - major layout divisions */
  --spacing-2xl: 32px; /* Section spacing */
  --spacing-3xl: 48px; /* Page-level spacing */

  /* ==========================================================================
     BORDER RADIUS - Subtle and Precise
     ========================================================================== */
  --radius-xs: 2px; /* Minimal radius - badges, tags */
  --radius-sm: 4px; /* Small radius - buttons, inputs */
  --radius-md: 6px; /* Medium radius - cards, panels */
  --radius-lg: 8px; /* Large radius - modals, major containers */
  --radius-xl: 12px; /* Extra large - special cases only */

  /* ==========================================================================
     TYPOGRAPHY SYSTEM - Based on AFFiNE
     ========================================================================== */

  /* Font Family - System font stack like AFFiNE */
  --font-family:
    'Inter', 'SF Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI',
    'Helvetica Neue', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
    'Segoe UI Symbol';

  --font-family-mono:
    'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New',
    monospace;

  /* Font Sizes - AFFiNE-inspired scale */
  --font-size-xs: 12px; /* Small labels, captions */
  --font-size-sm: 14px; /* Body text, buttons */
  --font-size-base: 15px; /* Standard body text */
  --font-size-md: 16px; /* Emphasized text */
  --font-size-lg: 20px; /* Section headings */
  --font-size-xl: 24px; /* Page titles */
  --font-size-2xl: 28px; /* Major headings */
  --font-size-3xl: 36px; /* Hero text */

  /* Font Weights - AFFiNE uses precise weights */
  --font-weight-light: 300; /* Light text (rarely used) */
  --font-weight-regular: 400; /* Body text */
  --font-weight-medium: 500; /* Emphasis */
  --font-weight-semibold: 600; /* Headings, strong emphasis */
  --font-weight-bold: 700; /* Very strong emphasis (rare) */

  /* Line Heights - Optimized for readability */
  --line-height-compact: 1.2; /* Tight spacing for headings */
  --line-height-tight: 1.4; /* UI elements */
  --line-height-normal: 1.5; /* Body text */
  --line-height-relaxed: 1.6; /* Reading content */
  --line-height-loose: 1.8; /* Very readable content */

  /* ==========================================================================
     COLOR SYSTEM - Simplified and Professional
     ========================================================================== */

  /* Primary Colors - No gradients by default */
  --primary: #4c7fff;
  --primary-hover: #3b6fff;
  --primary-light: #ebf2ff;
  --primary-dark: #2563eb;

  /* Semantic Colors */
  --success: #10b981;
  --success-hover: #059669;
  --success-light: #d1fae5;

  --warning: #f59e0b;
  --warning-hover: #d97706;
  --warning-light: #fef3c7;

  --error: #ef4444;
  --error-hover: #dc2626;
  --error-light: #fee2e2;

  --info: #06b6d4;
  --info-hover: #0891b2;
  --info-light: #cffafe;

  /* Neutral System - Precise Gray Scale */
  --gray-50: #fafafa; /* Lightest background */
  --gray-100: #f5f5f5; /* Light background */
  --gray-200: #e5e5e5; /* Subtle borders */
  --gray-300: #d4d4d4; /* Borders */
  --gray-400: #a3a3a3; /* Disabled text */
  --gray-500: #737373; /* Secondary text */
  --gray-600: #525252; /* Body text */
  --gray-700: #404040; /* Headings */
  --gray-800: #262626; /* Dark text */
  --gray-900: #171717; /* Darkest text */
  --white: #ffffff;

  /* Background Colors */
  --bg-primary: #ffffff;
  --bg-secondary: #fafafa;
  --bg-tertiary: #f5f5f5;
  --bg-overlay: rgba(0, 0, 0, 0.05);

  /* ==========================================================================
     MODERN BUTTON GRADIENTS - Elegant and Vibrant
     ========================================================================== */

  /* 主色调 - 柔和蓝紫 */
  --btn-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  --btn-primary-hover: linear-gradient(135deg, #7c93f0 0%, #8b5ba8 100%);
  --btn-primary-shadow: rgba(102, 126, 234, 0.3);

  /* 成功色 - 清新绿 */
  --btn-success: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
  --btn-success-hover: linear-gradient(135deg, #65bcfe 0%, #1ff5fe 100%);
  --btn-success-shadow: rgba(79, 172, 254, 0.3);

  /* 信息色 - 优雅青 */
  --btn-info: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%);
  --btn-info-hover: linear-gradient(135deg, #b8f0ed 0%, #fed9e6 100%);
  --btn-info-shadow: rgba(168, 237, 234, 0.3);

  /* 警告色 - 温暖橙 */
  --btn-warning: linear-gradient(135deg, #ffecd2 0%, #fcb69f 100%);
  --btn-warning-hover: linear-gradient(135deg, #fff0d8 0%, #fdc1a5 100%);
  --btn-warning-shadow: rgba(252, 182, 159, 0.3);

  /* 折叠色 - 薄荷绿 */
  --btn-fold: linear-gradient(135deg, #d299c2 0%, #fef9d7 100%);
  --btn-fold-hover: linear-gradient(135deg, #d9a5c8 0%, #fefadb 100%);
  --btn-fold-shadow: rgba(210, 153, 194, 0.3);

  /* 中性色 - 温暖灰 */
  --btn-neutral: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
  --btn-neutral-hover: linear-gradient(135deg, #f2a1fc 0%, #f66975 100%);
  --btn-neutral-shadow: rgba(240, 147, 251, 0.2);

  /* 玻璃效果 */
  --btn-glass: rgba(255, 255, 255, 0.25);
  --btn-glass-hover: rgba(255, 255, 255, 0.35);
  --btn-glass-border: rgba(255, 255, 255, 0.18);

  /* 通用按钮设置 */
  --button-border-radius: 8px;
  --button-min-height: 44px;
  --button-padding: 12px 24px;
  --button-font-size: 14px;
  --button-font-weight: 500;
  --button-transition: all 0.2s ease;
  --button-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --button-shadow-hover: 0 4px 6px -1px rgba(0, 0, 0, 0.1);

  /* ==========================================================================
     COMPONENT SIZING - Compact and Efficient
     ========================================================================== */

  /* Button System - AFFiNE-inspired sizing */
  --btn-height-sm: 28px; /* Compact buttons */
  --btn-height-md: 32px; /* Standard buttons */
  --btn-height-lg: 36px; /* Large buttons */

  --btn-padding-sm: 4px 8px; /* Compact padding */
  --btn-padding-md: 6px 12px; /* Standard padding */
  --btn-padding-lg: 8px 16px; /* Large padding */

  --btn-font-sm: var(--font-size-xs); /* 12px */
  --btn-font-md: var(--font-size-sm); /* 14px */
  --btn-font-lg: var(--font-size-base); /* 15px */

  --btn-font-weight: var(--font-weight-medium); /* 500 for all buttons */

  /* Circular/Icon Button Sizing */
  --btn-icon-xs: 20px; /* Extra small icon button (20x20) */
  --btn-icon-sm: 28px; /* Small icon button (28x28) */
  --btn-icon-md: 32px; /* Standard icon button (32x32) */
  --btn-icon-lg: 36px; /* Large icon button (36x36) */
  --btn-icon-xl: 40px; /* Extra large icon button (40x40) */

  --btn-icon-font-xs: 12px; /* Icon size for extra small buttons */
  --btn-icon-font-sm: 14px; /* Icon size for small buttons */
  --btn-icon-font-md: 16px; /* Icon size for medium buttons */
  --btn-icon-font-lg: 18px; /* Icon size for large buttons */

  /* Input System */
  --input-height-sm: 28px;
  --input-height-md: 32px;
  --input-height-lg: 36px;

  --input-padding-sm: 4px 8px;
  --input-padding-md: 6px 12px;
  --input-padding-lg: 8px 16px;

  /* Input widths for specific contexts */
  --input-width-sm: 160px; /* Small input (tags, etc) */
  --input-width-md: 240px; /* Medium input (search) */
  --input-width-lg: 280px; /* Large input */
  --input-width-max: 400px; /* Maximum input width */

  /* Header-specific constraints */
  --header-title-max-width: 200px; /* Max width for editable titles in header */
  --header-height: 48px; /* Standard header height */
  --header-padding: 8px 0; /* Standard header padding */
  --header-border-bottom: 1px solid var(--border-color); /* Standard header border */

  /* Sidebar header */
  --sidebar-header-height: 64px; /* Sidebar header height */
  --sidebar-header-padding: 16px 20px; /* Sidebar header padding */
  --sidebar-header-gap: 8px; /* Gap between elements in sidebar header */

  /* ==========================================================================
     ICON SYSTEM - Unified SVG Icons (Lucide React)
     ========================================================================== */

  /* Icon Sizes - Standard sizes for consistent UI */
  --icon-size-xs: 12px; /* Extra small icons - inline text, badges */
  --icon-size-sm: 14px; /* Small icons - compact buttons, list items */
  --icon-size-md: 16px; /* Medium icons - standard buttons, tabs */
  --icon-size-lg: 20px; /* Large icons - prominent buttons, headers */
  --icon-size-xl: 24px; /* Extra large icons - card previews */
  --icon-size-2xl: 32px; /* 2X large icons - empty states */
  --icon-size-3xl: 48px; /* 3X large icons - hero sections */

  /* Icon Colors - Semantic color system */
  --icon-color-primary: var(--primary); /* Primary action icons */
  --icon-color-secondary: var(--gray-600); /* Secondary icons */
  --icon-color-success: var(--success); /* Success state icons */
  --icon-color-warning: var(--warning); /* Warning state icons */
  --icon-color-error: var(--error); /* Error state icons */
  --icon-color-disabled: var(--gray-400); /* Disabled icons */
  --icon-color-inherit: currentColor; /* Inherit text color */

  /* Icon Spacing - Gap between icon and text */
  --icon-gap-xs: 4px; /* Minimal gap - tight layouts */
  --icon-gap-sm: 6px; /* Small gap - standard buttons */
  --icon-gap-md: 8px; /* Medium gap - default spacing */
  --icon-gap-lg: 12px; /* Large gap - loose layouts */

  /* ==========================================================================
     SHADOWS - Minimal and Purposeful
     ========================================================================== */
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.05); /* Subtle elevation */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08); /* Light shadow */
  --shadow-md: 0 2px 4px rgba(0, 0, 0, 0.06); /* Standard shadow */
  --shadow-lg: 0 4px 8px rgba(0, 0, 0, 0.08); /* Elevated shadow */
  --shadow-xl: 0 8px 16px rgba(0, 0, 0, 0.1); /* High elevation */

  /* Focus States */
  --focus-ring: 2px solid var(--primary);
  --focus-ring-offset: 2px;
  --focus-ring-opacity: 0.5;

  /* ==========================================================================
     BORDERS - Subtle and Clean
     ========================================================================== */
  --border-width: 1px;
  --border-width-thick: 2px;

  --border-color: var(--gray-200);
  --border-color-hover: var(--gray-300);
  --border-color-focus: var(--primary);

  /* ==========================================================================
     TRANSITIONS - Smooth but Fast
     ========================================================================== */
  --transition-fast: 0.15s ease;
  --transition-normal: 0.2s ease;
  --transition-slow: 0.3s ease;

  /* ==========================================================================
     Z-INDEX SCALE
     ========================================================================== */
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-fixed: 1030;
  --z-modal-backdrop: 1040;
  --z-modal: 1050;
  --z-popover: 1060;
  --z-tooltip: 1070;
  --z-toast: 1080;

  /* ==========================================================================
     CARD & GRID LAYOUT SYSTEM
     ========================================================================== */

  /* Card Sizing */
  --card-min-width: 280px; /* Minimum card width in grid */
  --card-max-width: 320px; /* Maximum card width in grid */

  /* Grid Layout */
  --grid-gap: 16px; /* Gap between cards */
  --grid-gap-sm: 12px; /* Smaller gap */
  --grid-gap-lg: 24px; /* Larger gap */

  /* Container Padding */
  --container-padding: 24px; /* Standard container padding */
  --container-padding-sm: 16px; /* Small screens */
  --container-padding-lg: 32px; /* Large screens */

  /* Card Internal Spacing */
  --card-padding: 16px; /* Standard card padding */
  --card-header-height: 160px; /* Card preview area height */
  --card-content-gap: 12px; /* Gap between card elements */

  /* ==========================================================================
     SCHEMA COMPONENT SYSTEM - Specialized tokens for AI observation layouts
     ========================================================================== */

  /* Schema Layout */
  --schema-timeline-gap: var(--spacing-lg); /* 16px - Timeline spacing */
  --schema-item-margin: var(--spacing-xl); /* 24px - Item bottom margin */
  --schema-content-padding: var(--card-padding); /* 16px - Content padding */
  --schema-border-radius: var(--radius-lg); /* 8px - Border radius */
  --schema-shadow: var(--shadow-sm); /* Subtle shadow */

  /* Timeline System */
  --schema-dot-size: 8px; /* Timeline dot size */
  --schema-line-width: 2px; /* Timeline line width */
  --schema-line-color: var(--border-color); /* Timeline line color */
  --schema-padding-top: 6px; /* Timeline top padding */

  /* Timeline Dot States */
  --schema-dot-default: var(--gray-500); /* Default state - Gray */
  --schema-dot-chunk: var(--gray-500); /* Chunk events - Gray */
  --schema-dot-message: var(--success); /* Final messages - Green */
  --schema-dot-error: var(--error); /* Error states - Red */
  --schema-dot-processing: var(--warning); /* Processing - Orange */

  /* Schema Typography */
  --schema-title-size: var(--font-size-md); /* 16px - Title font size */
  --schema-title-weight: var(--font-weight-semibold); /* 600 - Title weight */
  --schema-title-color: var(--gray-800); /* Title color */

  --schema-body-size: var(--font-size-sm); /* 14px - Body font size */
  --schema-body-line-height: var(
    --line-height-relaxed
  ); /* 1.6 - Body line height */
  --schema-body-color: var(--gray-600); /* Body text color */
  --schema-thinking-color: var(--gray-500); /* Thinking process color */

  --schema-subtitle-size: var(--font-size-sm); /* 14px - Subtitle size */
  --schema-subtitle-weight: var(--font-weight-semibold); /* Subtitle weight */

  /* Schema Interactions */
  --schema-transition: var(
    --transition-normal
  ); /* 0.2s - Transition duration */
  --schema-hover-scale: 1.5; /* Hover scale effect */
  --schema-max-height-collapsed: 0; /* Collapsed max height */
  --schema-max-height-expanded: 500px; /* Expanded max height */
  --schema-max-height-message: none; /* Message full expansion */

  /* Schema Responsive */
  --schema-mobile-gap: var(--spacing-md); /* 12px - Mobile timeline gap */
  --schema-mobile-margin: var(--spacing-lg); /* 16px - Mobile item margin */
  --schema-mobile-title-size: var(--font-size-sm); /* 14px - Mobile title */
  --schema-mobile-body-size: 13px; /* 13px - Mobile body */
  --schema-mobile-content-padding: var(
    --spacing-md
  ); /* 12px - Mobile padding */
}

/* =============================================================================
   UTILITY CLASSES - Common Patterns
   ============================================================================= */

/* Spacing Utilities */
.p-xs {
  padding: var(--spacing-xs);
}
.p-sm {
  padding: var(--spacing-sm);
}
.p-md {
  padding: var(--spacing-md);
}
.p-lg {
  padding: var(--spacing-lg);
}
.p-xl {
  padding: var(--spacing-xl);
}

.m-xs {
  margin: var(--spacing-xs);
}
.m-sm {
  margin: var(--spacing-sm);
}
.m-md {
  margin: var(--spacing-md);
}
.m-lg {
  margin: var(--spacing-lg);
}
.m-xl {
  margin: var(--spacing-xl);
}

/* Border Radius Utilities */
.rounded-xs {
  border-radius: var(--radius-xs);
}
.rounded-sm {
  border-radius: var(--radius-sm);
}
.rounded-md {
  border-radius: var(--radius-md);
}
.rounded-lg {
  border-radius: var(--radius-lg);
}

/* Typography Utilities */
.text-xs {
  font-size: var(--font-size-xs);
}
.text-sm {
  font-size: var(--font-size-sm);
}
.text-md {
  font-size: var(--font-size-md);
}
.text-lg {
  font-size: var(--font-size-lg);
}

.font-normal {
  font-weight: var(--font-weight-regular);
}
.font-medium {
  font-weight: var(--font-weight-medium);
}
.font-semibold {
  font-weight: var(--font-weight-semibold);
}

/* Shadow Utilities */
.shadow-xs {
  box-shadow: var(--shadow-xs);
}
.shadow-sm {
  box-shadow: var(--shadow-sm);
}
.shadow-md {
  box-shadow: var(--shadow-md);
}
.shadow-lg {
  box-shadow: var(--shadow-lg);
}

/* =============================================================================
   CARD GRID LAYOUT - Unified System
   ============================================================================= */

/* Standard card grid container */
.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--card-min-width), 1fr));
  gap: var(--grid-gap);
  padding: var(--container-padding);
  background: transparent;
}

/* Icon button - ensures height alignment with text buttons */
.btn-icon-square {
  background: var(--bg-primary);
  color: var(--gray-600);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition-normal);
  width: var(--btn-height-md);
  height: var(--btn-height-md);
  min-width: var(--btn-height-md);
  min-height: var(--btn-height-md);
  font-size: var(--btn-icon-font-md);
  box-shadow: none;
}

.btn-icon-square:hover {
  background: var(--bg-tertiary);
  border-color: var(--border-color-hover);
  box-shadow: var(--shadow-xs);
}

.btn-icon-square.active {
  background: var(--primary);
  border-color: var(--primary);
  color: white;
}

.btn-icon-square.active:hover {
  background: var(--primary-hover);
  border-color: var(--primary-hover);
}

CARD GRID LAYOUT - Unified System
   ============================================================================= */

/* Standard card grid container */
.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--card-min-width), 1fr));
  gap: var(--grid-gap);
  padding: var(--container-padding);
  background: transparent;
}

/* Icon button - ensures height alignment with text buttons */
.btn-icon-square {
  background: var(--bg-primary);
  color: var(--gray-600);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition-normal);
  width: var(--btn-height-md);
  height: var(--btn-height-md);
  min-width: var(--btn-height-md);
  min-height: var(--btn-height-md);
  font-size: var(--btn-icon-font-md);
  box-shadow: none;
}

.btn-icon-square:hover {
  background: var(--bg-tertiary);
  border-color: var(--border-color-hover);
  box-shadow: var(--shadow-xs);
}

.btn-icon-square.active {
  background: var(--primary);
  border-color: var(--primary);
  color: white;
}

.btn-icon-square.active:hover {
  background: var(--primary-hover);
  border-color: var(--primary-hover);
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].oneOf[1].use[1]!./node_modules/@umijs/bundler-webpack/compiled/postcss-loader/index.js??ruleSet[1].rules[5].oneOf[1].use[2]!./node_modules/@umijs/bundler-webpack/compiled/less-loader/index.js??ruleSet[1].rules[5].oneOf[1].use[3]!./src/global.less ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Variable fonts usage:
:root { font-family: "Inter", sans-serif; }
@supports (font-variation-settings: normal) {
  :root { font-family: "InterVariable", sans-serif; font-optical-sizing: auto; }
} */
@font-face {
  font-family: InterVariable;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(./static/InterVariable.ff710c09.woff2) format('woff2');
}
@font-face {
  font-family: InterVariable;
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(./static/InterVariable-Italic.ef0ecaff.woff2) format('woff2');
}
/* static fonts */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url(./static/Inter-Thin.a9bd55be.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 100;
  font-display: swap;
  src: url(./static/Inter-ThinItalic.07713e8c.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(./static/Inter-ExtraLight.80c327c5.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 200;
  font-display: swap;
  src: url(./static/Inter-ExtraLightItalic.189d3d69.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(./static/Inter-Light.2a7cd067.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(./static/Inter-LightItalic.b600032e.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./static/Inter-Regular.d080ae18.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(./static/Inter-Italic.0c8fa6f6.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./static/Inter-Medium.242d04be.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(./static/Inter-MediumItalic.792bf8e5.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./static/Inter-SemiBold.cac2ba46.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(./static/Inter-SemiBoldItalic.c2b059d8.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(./static/Inter-Bold.11d5bc9f.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(./static/Inter-BoldItalic.0110b6a0.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(./static/Inter-ExtraBold.969298c8.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: url(./static/Inter-ExtraBoldItalic.66e3fe64.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(./static/Inter-Black.3a20fb7d.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url(./static/Inter-BlackItalic.01ea7961.woff2) format('woff2');
}
@font-face {
  font-family: 'InterDisplay';
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url(./static/InterDisplay-Thin.0ba8e807.woff2) format('woff2');
}
@font-face {
  font-family: 'InterDisplay';
  font-style: italic;
  font-weight: 100;
  font-display: swap;
  src: url(./static/InterDisplay-ThinItalic.b7345a72.woff2) format('woff2');
}
@font-face {
  font-family: 'InterDisplay';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(./static/InterDisplay-ExtraLight.a017581e.woff2) format('woff2');
}
@font-face {
  font-family: 'InterDisplay';
  font-style: italic;
  font-weight: 200;
  font-display: swap;
  src: url(./static/InterDisplay-ExtraLightItalic.74a69601.woff2) format('woff2');
}
@font-face {
  font-family: 'InterDisplay';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(./static/InterDisplay-Light.9042b07e.woff2) format('woff2');
}
@font-face {
  font-family: 'InterDisplay';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(./static/InterDisplay-LightItalic.18bc9f1c.woff2) format('woff2');
}
@font-face {
  font-family: 'InterDisplay';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./static/InterDisplay-Regular.1e47cc70.woff2) format('woff2');
}
@font-face {
  font-family: 'InterDisplay';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(./static/InterDisplay-Italic.5cd3a292.woff2) format('woff2');
}
@font-face {
  font-family: 'InterDisplay';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./static/InterDisplay-Medium.5a9db70e.woff2) format('woff2');
}
@font-face {
  font-family: 'InterDisplay';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(./static/InterDisplay-MediumItalic.6dcf3f29.woff2) format('woff2');
}
@font-face {
  font-family: 'InterDisplay';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./static/InterDisplay-SemiBold.d938fffb.woff2) format('woff2');
}
@font-face {
  font-family: 'InterDisplay';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(./static/InterDisplay-SemiBoldItalic.b25564dc.woff2) format('woff2');
}
@font-face {
  font-family: 'InterDisplay';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(./static/InterDisplay-Bold.e11ef446.woff2) format('woff2');
}
@font-face {
  font-family: 'InterDisplay';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(./static/InterDisplay-BoldItalic.6d6bbb7f.woff2) format('woff2');
}
@font-face {
  font-family: 'InterDisplay';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(./static/InterDisplay-ExtraBold.c62c69d9.woff2) format('woff2');
}
@font-face {
  font-family: 'InterDisplay';
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: url(./static/InterDisplay-ExtraBoldItalic.63fe3fdd.woff2) format('woff2');
}
@font-face {
  font-family: 'InterDisplay';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(./static/InterDisplay-Black.c947c899.woff2) format('woff2');
}
@font-face {
  font-family: 'InterDisplay';
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url(./static/InterDisplay-BlackItalic.b3b8f336.woff2) format('woff2');
}
/* Universal box-sizing rule */
*,
*::before,
*::after {
  box-sizing: border-box;
}
/* Legacy compatibility - will be phased out */
:root {
  /* Backward compatibility aliases */
  --radius: var(--radius-md);
  --radius-sm: var(--radius-sm);
  --radius-lg: var(--radius-lg);
  /* Glass morphism - simplified */
  --glass-bg: rgba(255, 255, 255, 0.02);
  --glass-border: var(--border-color);
  --glass-shadow: var(--shadow-sm);
}
html {
  height: 100%;
  overflow: hidden;
  background: var(--primary-light, #ebf2ff);
}
body {
  font-family: var(--font-family) !important;
  margin: 0;
  height: 100%;
  background: var(--primary-light, #ebf2ff) !important;
  color: var(--gray-700);
  line-height: var(--line-height-normal);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-regular);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#root {
  height: 100%;
  background: var(--primary-light, #ebf2ff);
}
.ant-app {
  height: 100%;
  width: 100%;
  background: var(--primary-light, #ebf2ff);
}
/* Override Ant Design Layout Backgrounds */
.ant-layout:not(.layout) {
  background: transparent !important;
}
.ant-layout-content:not([style*='background']) {
  background: transparent !important;
}
.ant-layout-sider,
.ant-layout-header,
.ant-layout-footer,
.ant-layout.ant-layout-has-sider {
  background: transparent !important;
}
/* Modern Card and Panel Styles */
.ant-card,
.ant-modal-content,
.ant-table-wrapper,
.ant-form,
.ant-tabs-nav {
  background: var(--bg-primary) !important;
  border: 1px solid var(--border-color);
  box-shadow: var(--shadow-sm);
  border-radius: var(--radius-md);
}
/* Modern Button Styles */
.ant-btn-primary {
  background: var(--primary) !important;
  border: 1px solid var(--primary) !important;
  box-shadow: none !important;
  font-weight: var(--font-weight-medium);
  height: var(--btn-height-md);
  padding: var(--btn-padding-md);
  font-size: var(--btn-font-md);
  border-radius: var(--radius-sm);
  transition: var(--transition-normal);
}
.ant-btn-primary:hover {
  background: var(--primary-hover) !important;
  border-color: var(--primary-hover) !important;
  transform: none;
  box-shadow: var(--shadow-sm) !important;
}
/* Menu and Navigation */
.ant-menu {
  background: transparent !important;
}
.ant-menu-item {
  background: transparent !important;
  border-radius: var(--radius-sm);
  margin: var(--spacing-xs) var(--spacing-sm);
  transition: var(--transition-normal);
  height: var(--btn-height-md);
  line-height: var(--btn-height-md);
  font-size: var(--font-size-sm);
}
.ant-menu-item:hover {
  background: var(--bg-tertiary) !important;
}
.ant-menu-item-selected {
  background: var(--primary-light) !important;
  color: var(--primary) !important;
}
/* Input and Form Fields - Updated to match design tokens */
.ant-input-affix-wrapper,
.ant-select-selector,
.ant-picker {
  background: var(--bg-primary) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 8px !important;
  height: 32px;
  padding: 0 12px !important;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-regular);
  font-family: var(--font-family) !important;
  color: var(--gray-700) !important;
  transition: var(--transition-normal);
  box-sizing: border-box !important;
  display: flex;
  align-items: center;
}
/* 独立的input元素（没有wrapper的情况） */
.ant-input:not(.ant-input-affix-wrapper .ant-input) {
  background: var(--bg-primary) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 8px !important;
  height: 32px;
  padding: 0 12px !important;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-regular);
  font-family: var(--font-family) !important;
  color: var(--gray-700) !important;
  transition: var(--transition-normal);
  box-sizing: border-box !important;
}
.ant-input-lg,
.ant-input-affix-wrapper-lg {
  font-size: 15px !important;
  height: 44px !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
}
/* Input wrapper内的实际input元素 */
.ant-input-affix-wrapper .ant-input {
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  height: auto !important;
  min-height: auto !important;
  width: auto !important;
  flex: 1 1 !important;
  font-size: inherit !important;
  color: inherit !important;
  outline: none !important;
}
.ant-input-affix-wrapper .ant-input:focus {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}
/* Input wrapper内的前缀和后缀 */
.ant-input-prefix,
.ant-input-suffix {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.ant-input-prefix {
  margin-right: 8px;
}
.ant-input-suffix {
  margin-left: 8px;
}
.ant-input:hover,
.ant-input-affix-wrapper:hover,
.ant-select-selector:hover,
.ant-picker:hover {
  border-color: var(--border-color-hover) !important;
}
.ant-input:focus,
.ant-input-affix-wrapper:focus-within,
.ant-select-selector:focus,
.ant-picker:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 var(--focus-ring-offset) rgba(76, 127, 255, var(--focus-ring-opacity)) !important;
}
/* 登录页面特殊处理 - 覆盖全局样式，使用标准设计令牌 */
.loginPage .ant-input,
.loginPage .ant-input-affix-wrapper,
.loginPage .ant-input-password {
  background: var(--bg-primary) !important;
  background-color: var(--bg-primary) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 8px !important;
  color: var(--gray-700) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  font-family: var(--font-family) !important;
  height: 32px !important;
  padding: 0 12px !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
  box-sizing: border-box !important;
}
.loginPage .ant-input-lg,
.loginPage .ant-input-affix-wrapper-lg {
  font-size: 15px !important;
  height: 44px !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
}
.loginPage .ant-input-password .ant-input {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--gray-700) !important;
  font-weight: 400 !important;
  font-family: var(--font-family) !important;
}
.loginPage .ant-input:hover,
.loginPage .ant-input-affix-wrapper:hover,
.loginPage .ant-input-password:hover {
  background: var(--bg-primary) !important;
  background-color: var(--bg-primary) !important;
  border-color: var(--border-color-hover) !important;
}
.loginPage .ant-input:focus,
.loginPage .ant-input-affix-wrapper:focus,
.loginPage .ant-input-affix-wrapper-focused,
.loginPage .ant-input-password.ant-input-affix-wrapper-focused {
  background: var(--bg-primary) !important;
  background-color: var(--bg-primary) !important;
  border-color: #4c7fff !important;
  box-shadow: 0 0 0 2px rgba(76, 127, 255, 0.1) !important;
}
/* 占位符颜色 */
.loginPage .ant-input::placeholder,
.loginPage .ant-input-password .ant-input::placeholder {
  color: var(--gray-400) !important;
  font-weight: 400 !important;
  font-family: var(--font-family) !important;
}
/* =============================================================================
   UNIFIED FONT AND BORDER RADIUS - Override Ant Design Internal Classes
   ============================================================================= */
/* Override Ant Design internal CSS classes for font and border radius */
[class*='css-dev-only-do-not-override'].ant-btn-primary,
[class*='css-dev-only-do-not-override'].ant-btn-lg.ant-btn-primary,
button[class*='css-dev-only-do-not-override'].ant-btn-primary,
button[class*='css-dev-only-do-not-override'].ant-btn-lg.ant-btn-primary {
  border-radius: 8px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  font-family: var(--font-family) !important;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
  color: white !important;
  box-shadow: 0 1px 2px 0 rgba(102, 126, 234, 0.3) !important;
  border: none !important;
}
[class*='css-dev-only-do-not-override'].ant-btn-primary:hover,
[class*='css-dev-only-do-not-override'].ant-btn-lg.ant-btn-primary:hover {
  background: linear-gradient(135deg, #7c93f0 0%, #8b5ba8 100%) !important;
  box-shadow: 0 4px 6px -1px rgba(102, 126, 234, 0.4) !important;
}
[class*='css-dev-only-do-not-override'].ant-btn-primary span,
[class*='css-dev-only-do-not-override'].ant-btn-lg.ant-btn-primary span {
  color: white !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  font-family: var(--font-family) !important;
}
/* Input fields - HIGHEST PRIORITY - Override Ant Design internal classes */
[class*='css-dev-only-do-not-override'].ant-input,
[class*='css-dev-only-do-not-override'].ant-input-lg,
[class*='css-dev-only-do-not-override'].ant-input-outlined,
input[class*='css-dev-only-do-not-override'].ant-input,
.ant-input-outlined,
input.ant-input-outlined {
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  font-family: var(--font-family) !important;
  color: var(--gray-700) !important;
  background: var(--bg-primary) !important;
  border: 1px solid var(--border-color) !important;
  height: 32px !important;
  padding: 0 12px !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}
[class*='css-dev-only-do-not-override'].ant-input-lg,
input[class*='css-dev-only-do-not-override'].ant-input-lg,
.ant-input-lg.ant-input-outlined,
input.ant-input-lg.ant-input-outlined {
  font-size: 15px !important;
  font-weight: 400 !important;
  height: 44px !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
}
[class*='css-dev-only-do-not-override'].ant-input:hover,
[class*='css-dev-only-do-not-override'].ant-input-outlined:hover,
input[class*='css-dev-only-do-not-override'].ant-input:hover,
.ant-input-outlined:hover {
  border-color: var(--border-color-hover) !important;
}
[class*='css-dev-only-do-not-override'].ant-input:focus,
[class*='css-dev-only-do-not-override'].ant-input-outlined:focus,
input[class*='css-dev-only-do-not-override'].ant-input:focus,
.ant-input-outlined:focus {
  border-color: #4c7fff !important;
  box-shadow: 0 0 0 2px rgba(76, 127, 255, 0.1) !important;
  outline: none !important;
}
[class*='css-dev-only-do-not-override'].ant-input::placeholder,
.ant-input-outlined::placeholder {
  color: var(--gray-400) !important;
  font-size: 14px !important;
  font-family: var(--font-family) !important;
}
[class*='css-dev-only-do-not-override'].ant-input-lg::placeholder,
.ant-input-lg.ant-input-outlined::placeholder {
  font-size: 15px !important;
}
/* Input password wrapper - HIGHEST PRIORITY */
[class*='css-dev-only-do-not-override'].ant-input-password,
[class*='css-dev-only-do-not-override'].ant-input-affix-wrapper-lg,
[class*='css-dev-only-do-not-override'].ant-input-outlined.ant-input-password,
.ant-input-password.ant-input-outlined,
.ant-input-affix-wrapper-lg.ant-input-outlined,
[class*='css-dev-only-do-not-override'].ant-input-affix-wrapper {
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  font-family: var(--font-family) !important;
  border: 1px solid var(--border-color) !important;
  background: var(--bg-primary) !important;
  height: 32px !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
  transition: all 0.2s ease !important;
  padding: 0 12px !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
}
[class*='css-dev-only-do-not-override'].ant-input-affix-wrapper-lg,
.ant-input-affix-wrapper-lg.ant-input-outlined {
  font-size: 15px !important;
  height: 44px !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
}
/* Password input inside wrapper */
[class*='css-dev-only-do-not-override'].ant-input-password .ant-input,
[class*='css-dev-only-do-not-override'].ant-input-password input,
.ant-input-password.ant-input-outlined .ant-input,
.ant-input-password.ant-input-outlined input,
[class*='css-dev-only-do-not-override'].ant-input-affix-wrapper .ant-input,
[class*='css-dev-only-do-not-override'].ant-input-affix-wrapper input {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  height: auto !important;
  padding: 0 !important;
  color: var(--gray-700) !important;
  font-size: inherit !important;
  font-weight: 400 !important;
  font-family: inherit !important;
}
[class*='css-dev-only-do-not-override'].ant-input-password .ant-input:focus,
[class*='css-dev-only-do-not-override'].ant-input-affix-wrapper .ant-input:focus {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}
[class*='css-dev-only-do-not-override'].ant-input-password .ant-input::placeholder,
.ant-input-password.ant-input-outlined .ant-input::placeholder {
  color: var(--gray-400) !important;
  font-size: inherit !important;
  font-family: inherit !important;
}
[class*='css-dev-only-do-not-override'].ant-input-password:hover,
.ant-input-password.ant-input-outlined:hover {
  border-color: var(--border-color-hover) !important;
}
[class*='css-dev-only-do-not-override'].ant-input-affix-wrapper-focused,
.ant-input-password.ant-input-outlined.ant-input-affix-wrapper-focused {
  border-color: #4c7fff !important;
  box-shadow: 0 0 0 2px rgba(76, 127, 255, 0.1) !important;
}
/* Form labels */
[class*='css-dev-only-do-not-override'].ant-form-item-label > label {
  font-size: 14px !important;
  font-weight: 500 !important;
  font-family: var(--font-family) !important;
}
/* Checkbox */
[class*='css-dev-only-do-not-override'].ant-checkbox-wrapper {
  font-size: 14px !important;
  font-weight: 500 !important;
  font-family: var(--font-family) !important;
}
[class*='css-dev-only-do-not-override'].ant-checkbox-inner {
  border-radius: 4px !important;
}
/* Link button */
[class*='css-dev-only-do-not-override'].ant-btn-link {
  font-size: 14px !important;
  font-weight: 500 !important;
  font-family: var(--font-family) !important;
}
/* Form */
[class*='css-dev-only-do-not-override'].ant-form,
[class*='css-dev-only-do-not-override'].ant-form-item {
  font-family: var(--font-family) !important;
}
/* Form item spacing */
[class*='css-dev-only-do-not-override'].ant-form-item {
  margin-bottom: 24px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
[class*='css-dev-only-do-not-override'].ant-form-item-label > label {
  margin-bottom: 8px !important;
}
[class*='css-dev-only-do-not-override'].ant-form-item-control {
  margin-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
[class*='css-dev-only-do-not-override'].ant-form-item-control-input-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
[class*='css-dev-only-do-not-override'].ant-form-item-row {
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
[class*='css-dev-only-do-not-override'].ant-col.ant-form-item-control {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
[class*='css-dev-only-do-not-override'].ant-col.ant-form-item-label {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* Scroll bar stylings - Updated to match Content Editor */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: var(--gray-100);
  border-radius: 3px;
}
::-webkit-scrollbar-thumb {
  background: var(--gray-300);
  border-radius: 3px;
  -webkit-transition: background 0.2s ease;
  transition: background 0.2s ease;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--gray-400);
}
/* Add subtle animation to page loads */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.ant-layout-content > * {
  animation: fadeIn 0.3s ease-out;
}

/*!************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/@umijs/bundler-webpack/compiled/postcss-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./src/.umi/plugin-icons/index.css ***!
  \************************************************************************************************************************************************************************************************************************************/
.umiIconDoNotUseThisHover {
  display: none;
}
.umiIconDoNotUseThis:hover svg {
  display: none;
}
.umiIconDoNotUseThis:hover .umiIconDoNotUseThisHover {
  display: inline-block;
}
.umiIconLoadingCircle {
  display: inline-block;
  animation: umiIconLoadingCircle 1s linear infinite;
}
@keyframes umiIconLoadingCircle {
  100% {
    transform: rotate(360deg);
  }
}


/*# sourceMappingURL=umi.css.map*/