:root {
  color-scheme: light;

  --mui-color-bg: #f5f5f7;
  --mui-color-surface: #ffffff;
  --mui-color-surface-raised: #ffffff;
  --mui-color-surface-muted: #f0f1f4;
  --mui-color-surface-glass: rgba(255, 255, 255, 0.78);
  --mui-color-text: #1d1d1f;
  --mui-color-text-secondary: #5f636b;
  --mui-color-text-tertiary: #7b8089;
  --mui-color-text-disabled: #9ca0a8;
  --mui-color-text-inverse: #ffffff;
  --mui-color-border: rgba(29, 29, 31, 0.14);
  --mui-color-border-subtle: rgba(29, 29, 31, 0.08);
  --mui-color-border-strong: rgba(29, 29, 31, 0.22);
  --mui-color-divider: rgba(29, 29, 31, 0.1);
  --mui-color-primary: #2563eb;
  --mui-color-primary-hover: #1d4ed8;
  --mui-color-primary-active: #1e40af;
  --mui-color-primary-subtle: #e8f0ff;
  --mui-color-on-primary: #ffffff;
  --mui-color-success: #18794e;
  --mui-color-success-subtle: #e7f6ee;
  --mui-color-warning: #a15c00;
  --mui-color-warning-subtle: #fff4db;
  --mui-color-danger: #c4324d;
  --mui-color-danger-subtle: #fdecef;
  --mui-color-info: #2864b8;
  --mui-color-info-subtle: #e9f2ff;
  --mui-color-focus: rgba(37, 99, 235, 0.38);
  --mui-color-selection: rgba(37, 99, 235, 0.2);
  --mui-color-overlay: rgba(15, 23, 42, 0.38);

  --mui-status-accepted: #18794e;
  --mui-status-accepted-bg: #e7f6ee;
  --mui-status-wrong: #c4324d;
  --mui-status-wrong-bg: #fdecef;
  --mui-status-limit: #a15c00;
  --mui-status-limit-bg: #fff4db;
  --mui-status-runtime: #9f3a5b;
  --mui-status-runtime-bg: #faedf2;
  --mui-status-compile: #7655a8;
  --mui-status-compile-bg: #f2edfa;
  --mui-status-pending: #5f636b;
  --mui-status-pending-bg: #eef0f3;
  --mui-status-judging: #2864b8;
  --mui-status-judging-bg: #e9f2ff;

  --mui-space-0: 0;
  --mui-space-1: 4px;
  --mui-space-2: 8px;
  --mui-space-3: 12px;
  --mui-space-4: 16px;
  --mui-space-5: 20px;
  --mui-space-6: 24px;
  --mui-space-8: 32px;
  --mui-space-10: 40px;
  --mui-space-12: 48px;

  --mui-radius-xs: 6px;
  --mui-radius-sm: 8px;
  --mui-radius-md: 10px;
  --mui-radius-lg: 14px;
  --mui-radius-xl: 20px;
  --mui-radius-full: 999px;
  --mui-radius-button: var(--mui-radius-md);
  --mui-radius-input: var(--mui-radius-md);
  --mui-radius-card: var(--mui-radius-lg);
  --mui-radius-dialog: var(--mui-radius-xl);
  --mui-radius-chip: var(--mui-radius-full);

  --mui-shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.05);
  --mui-shadow-sm: 0 4px 14px rgba(15, 23, 42, 0.07);
  --mui-shadow-md: 0 12px 32px rgba(15, 23, 42, 0.1);
  --mui-shadow-lg: 0 24px 64px rgba(15, 23, 42, 0.16);
  --mui-shadow-focus: 0 0 0 3px var(--mui-color-focus);
  --mui-shadow-glass: 0 8px 28px rgba(15, 23, 42, 0.1);

  --mui-font-sans: system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Display",
    "SF Pro Text", "PingFang SC", "Microsoft YaHei", sans-serif;
  --mui-font-mono: "SFMono-Regular", "JetBrains Mono", "Cascadia Code", Consolas, monospace;
  --mui-font-size-xs: 12px;
  --mui-font-size-sm: 13px;
  --mui-font-size-md: 14px;
  --mui-font-size-lg: 16px;
  --mui-font-size-xl: 20px;
  --mui-font-size-2xl: 28px;
  --mui-line-tight: 1.3;
  --mui-line-normal: 1.55;
  --mui-line-relaxed: 1.75;
  --mui-weight-regular: 400;
  --mui-weight-medium: 500;
  --mui-weight-semibold: 600;
  --mui-weight-bold: 700;

  --mui-duration-fast: 140ms;
  --mui-duration-normal: 200ms;
  --mui-duration-slow: 260ms;
  --mui-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --mui-ease-emphasized: cubic-bezier(0.2, 0, 0, 1.2);
  --mui-ease-out: cubic-bezier(0, 0, 0.2, 1);

  --mui-z-base: 0;
  --mui-z-sticky: 300;
  --mui-z-dropdown: 600;
  --mui-z-overlay: 800;
  --mui-z-modal: 1000;
  --mui-z-toast: 1200;
  --mui-z-tooltip: 1300;

  --mui-glass-bg: rgba(255, 255, 255, 0.76);
  --mui-glass-bg-strong: rgba(255, 255, 255, 0.9);
  --mui-glass-border: rgba(255, 255, 255, 0.62);
  --mui-glass-blur: 18px;
  --mui-glass-saturate: 135%;
  --mui-liquid-surface:
    linear-gradient(135deg, rgba(255, 255, 255, 0.72), rgba(247, 249, 255, 0.34) 48%, rgba(236, 242, 255, 0.24));
  --mui-liquid-surface-strong:
    linear-gradient(135deg, rgba(255, 255, 255, 0.84), rgba(248, 250, 255, 0.52) 52%, rgba(235, 241, 255, 0.38));
  --mui-liquid-border: rgba(255, 255, 255, 0.72);
  --mui-liquid-highlight: rgba(255, 255, 255, 0.88);
  --mui-liquid-inner-lowlight: rgba(91, 116, 160, 0.08);
  --mui-liquid-shadow:
    0 16px 48px rgba(39, 52, 78, 0.13),
    0 2px 8px rgba(39, 52, 78, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.78),
    inset 0 -1px 0 rgba(95, 116, 154, 0.09);
  --mui-liquid-shadow-strong:
    0 20px 56px rgba(39, 52, 78, 0.17),
    0 4px 12px rgba(39, 52, 78, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.84),
    inset 0 -1px 0 rgba(95, 116, 154, 0.11);
  --mui-liquid-env-a: rgba(77, 124, 255, 0.16);
  --mui-liquid-env-b: rgba(164, 112, 255, 0.09);
  --mui-liquid-env-c: rgba(61, 181, 214, 0.08);
  --mui-liquid-blur: 24px;
  --mui-liquid-saturate: 165%;
  --mui-liquid-contrast: 103%;

  --mui-control-sm: 32px;
  --mui-control-md: 40px;
  --mui-control-lg: 48px;
  --mui-icon-sm: 16px;
  --mui-icon-md: 20px;
  --mui-icon-lg: 24px;
  --mui-content-max: 1240px;
  --mui-reading-max: 780px;
  --mui-page-padding: clamp(16px, 3vw, 32px);
}

.theme--dark {
  color-scheme: dark;
  --mui-color-bg: #0e0e11;
  --mui-color-surface: #17171b;
  --mui-color-surface-raised: #1d1d22;
  --mui-color-surface-muted: #222228;
  --mui-color-surface-glass: rgba(23, 23, 27, 0.8);
  --mui-color-text: #f2f2f4;
  --mui-color-text-secondary: #b4b4bd;
  --mui-color-text-tertiary: #8f909a;
  --mui-color-text-disabled: #676872;
  --mui-color-text-inverse: #101014;
  --mui-color-border: rgba(255, 255, 255, 0.14);
  --mui-color-border-subtle: rgba(255, 255, 255, 0.08);
  --mui-color-border-strong: rgba(255, 255, 255, 0.22);
  --mui-color-divider: rgba(255, 255, 255, 0.1);
  --mui-color-primary: #7aa2ff;
  --mui-color-primary-hover: #91b2ff;
  --mui-color-primary-active: #638eea;
  --mui-color-primary-subtle: rgba(91, 132, 230, 0.18);
  --mui-color-on-primary: #0d1424;
  --mui-color-success: #62c895;
  --mui-color-success-subtle: rgba(56, 155, 105, 0.17);
  --mui-color-warning: #e6b45c;
  --mui-color-warning-subtle: rgba(194, 128, 27, 0.18);
  --mui-color-danger: #f08398;
  --mui-color-danger-subtle: rgba(207, 64, 91, 0.18);
  --mui-color-info: #79a7eb;
  --mui-color-info-subtle: rgba(66, 121, 204, 0.18);
  --mui-color-focus: rgba(122, 162, 255, 0.42);
  --mui-color-selection: rgba(122, 162, 255, 0.28);
  --mui-color-overlay: rgba(0, 0, 0, 0.58);
  --mui-status-accepted: #62c895;
  --mui-status-accepted-bg: rgba(56, 155, 105, 0.17);
  --mui-status-wrong: #f08398;
  --mui-status-wrong-bg: rgba(207, 64, 91, 0.18);
  --mui-status-limit: #e6b45c;
  --mui-status-limit-bg: rgba(194, 128, 27, 0.18);
  --mui-status-runtime: #db8aac;
  --mui-status-runtime-bg: rgba(174, 77, 119, 0.18);
  --mui-status-compile: #b69be3;
  --mui-status-compile-bg: rgba(126, 91, 183, 0.2);
  --mui-status-pending: #b4b4bd;
  --mui-status-pending-bg: rgba(255, 255, 255, 0.08);
  --mui-status-judging: #79a7eb;
  --mui-status-judging-bg: rgba(66, 121, 204, 0.18);
  --mui-shadow-xs: 0 1px 0 rgba(255, 255, 255, 0.03);
  --mui-shadow-sm: 0 0 0 1px var(--mui-color-border-subtle);
  --mui-shadow-md: 0 0 0 1px var(--mui-color-border), 0 16px 36px rgba(0, 0, 0, 0.18);
  --mui-shadow-lg: 0 0 0 1px var(--mui-color-border), 0 28px 72px rgba(0, 0, 0, 0.3);
  --mui-glass-bg: rgba(18, 18, 22, 0.78);
  --mui-glass-bg-strong: rgba(23, 23, 28, 0.92);
  --mui-glass-border: rgba(255, 255, 255, 0.12);
  --mui-liquid-surface:
    linear-gradient(135deg, rgba(42, 45, 55, 0.72), rgba(25, 27, 34, 0.6) 50%, rgba(18, 20, 26, 0.54));
  --mui-liquid-surface-strong:
    linear-gradient(135deg, rgba(47, 50, 61, 0.82), rgba(28, 30, 38, 0.72) 52%, rgba(20, 22, 28, 0.68));
  --mui-liquid-border: rgba(255, 255, 255, 0.16);
  --mui-liquid-highlight: rgba(255, 255, 255, 0.2);
  --mui-liquid-inner-lowlight: rgba(0, 0, 0, 0.18);
  --mui-liquid-shadow:
    0 18px 50px rgba(0, 0, 0, 0.26),
    0 2px 8px rgba(0, 0, 0, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    inset 0 -1px 0 rgba(0, 0, 0, 0.16);
  --mui-liquid-shadow-strong:
    0 22px 60px rgba(0, 0, 0, 0.32),
    0 4px 14px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.17),
    inset 0 -1px 0 rgba(0, 0, 0, 0.2);
  --mui-liquid-env-a: rgba(91, 132, 230, 0.15);
  --mui-liquid-env-b: rgba(143, 113, 210, 0.08);
  --mui-liquid-env-c: rgba(64, 151, 181, 0.07);
}

@media (prefers-color-scheme: dark) {
  .theme--system {
    color-scheme: dark;
    --mui-color-bg: #0e0e11;
    --mui-color-surface: #17171b;
    --mui-color-surface-raised: #1d1d22;
    --mui-color-surface-muted: #222228;
    --mui-color-surface-glass: rgba(23, 23, 27, 0.8);
    --mui-color-text: #f2f2f4;
    --mui-color-text-secondary: #b4b4bd;
    --mui-color-text-tertiary: #8f909a;
    --mui-color-text-disabled: #676872;
    --mui-color-text-inverse: #101014;
    --mui-color-border: rgba(255, 255, 255, 0.14);
    --mui-color-border-subtle: rgba(255, 255, 255, 0.08);
    --mui-color-border-strong: rgba(255, 255, 255, 0.22);
    --mui-color-divider: rgba(255, 255, 255, 0.1);
    --mui-color-primary: #7aa2ff;
    --mui-color-primary-hover: #91b2ff;
    --mui-color-primary-active: #638eea;
    --mui-color-primary-subtle: rgba(91, 132, 230, 0.18);
    --mui-color-on-primary: #0d1424;
    --mui-color-success: #62c895;
    --mui-color-success-subtle: rgba(56, 155, 105, 0.17);
    --mui-color-warning: #e6b45c;
    --mui-color-warning-subtle: rgba(194, 128, 27, 0.18);
    --mui-color-danger: #f08398;
    --mui-color-danger-subtle: rgba(207, 64, 91, 0.18);
    --mui-color-info: #79a7eb;
    --mui-color-info-subtle: rgba(66, 121, 204, 0.18);
    --mui-color-focus: rgba(122, 162, 255, 0.42);
    --mui-color-selection: rgba(122, 162, 255, 0.28);
    --mui-color-overlay: rgba(0, 0, 0, 0.58);
    --mui-glass-bg: rgba(18, 18, 22, 0.78);
    --mui-glass-bg-strong: rgba(23, 23, 28, 0.92);
    --mui-glass-border: rgba(255, 255, 255, 0.12);
  }
}
