/* ==========================================================================
   门徒娱乐 · AI 演播中控台
   tokens.css — 设计变量与基础排版
   设计系统：Studio Console（石墨黑 / 直播红 / 信号黄 / 等宽标注）
   ========================================================================== */

:root {
  color-scheme: dark;

  /* 底色：石墨黑，不用纯黑 */
  --mt-void: #0a0c0f;
  --mt-deep: #07090c;
  --mt-panel: #0f141a;
  --mt-panel-2: #131a22;
  --mt-panel-3: #1a232e;
  --mt-raise: #202b38;

  /* 文字 */
  --mt-text: #e9eef5;
  --mt-text-2: #a6b1c0;
  --mt-text-3: #6f7b8b;
  --mt-text-inv: #0a0c0f;

  /* 信号色：直播红为主，信号黄只用于状态与校验 */
  --mt-live: #ff4238;
  --mt-live-2: #d02a22;
  --mt-live-soft: rgba(255, 66, 56, 0.12);
  --mt-acid: #d8f24a;
  --mt-acid-soft: rgba(216, 242, 74, 0.12);
  --mt-ice: #7fb0ff;

  /* 线条 */
  --mt-line: rgba(233, 238, 245, 0.11);
  --mt-line-2: rgba(233, 238, 245, 0.24);
  --mt-line-3: rgba(233, 238, 245, 0.40);

  /* 结构 */
  --mt-rail: 236px;
  --mt-top: 60px;
  --mt-max: 1280px;
  --mt-pad: clamp(16px, 2.4vw, 34px);

  /* 字体 */
  --mt-mono: "JetBrains Mono", "SFMono-Regular", "Cascadia Mono", Consolas, "Liberation Mono", monospace;
  --mt-sans: "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "Hiragino Sans GB", system-ui, -apple-system, "Segoe UI", sans-serif;

  /* 动效 */
  --mt-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--mt-top) + 18px);
}

body {
  margin: 0;
  font-family: var(--mt-sans);
  font-size: 15.5px;
  line-height: 1.78;
  color: var(--mt-text);
  background-color: var(--mt-void);
  background-image:
    radial-gradient(1100px 560px at 82% -12%, rgba(255, 66, 56, 0.09), transparent 62%),
    radial-gradient(820px 480px at -6% 96%, rgba(216, 242, 74, 0.05), transparent 58%),
    linear-gradient(rgba(233, 238, 245, 0.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(233, 238, 245, 0.028) 1px, transparent 1px);
  background-size: auto, auto, 72px 72px, 72px 72px;
  background-attachment: fixed;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5 {
  margin: 0;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.015em;
}

p {
  margin: 0;
}

a {
  color: inherit;
  text-decoration: none;
  transition: color 0.22s var(--mt-ease), border-color 0.22s var(--mt-ease), background-color 0.22s var(--mt-ease);
}

ul,
ol,
dl,
dd {
  margin: 0;
  padding: 0;
  list-style: none;
}

img,
svg {
  display: block;
  max-width: 100%;
}

button,
input,
textarea,
select {
  font: inherit;
  color: inherit;
}

button {
  cursor: pointer;
}

::selection {
  background: var(--mt-live);
  color: #fff;
}

:focus-visible {
  outline: 2px solid var(--mt-acid);
  outline-offset: 3px;
}

/* 等宽标注统一工具类 */
.mt-mono {
  font-family: var(--mt-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.mt-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}
