/* ============================================================
   2027 国考专题 · 设计变量（全国通用模板）
   风格：本地宝橙 + 米白
   ============================================================ */

:root {
  /* 品牌 */
  --brand: #ff5a1f;
  --brand-600: #e8450c;
  --brand-700: #c93a06;
  --brand-soft: #fff1ea;
  --brand-tint: #ffe2d5;
  --brand-glow: rgba(255, 90, 31, 0.22);

  /* 辅助暖色 */
  --amber: #f2a33c;
  --amber-soft: #fff6e6;

  /* 文字 */
  --ink: #211a15;
  --ink-2: #5c5148;
  --ink-3: #8b7f74;

  /* 背景与描边 */
  --bg: #faf7f2;
  --bg-deep: #f4eee5;
  --surface: #ffffff;
  --surface-2: #f7f2ea;
  --line: #ede4d8;
  --line-strong: #e0d3c2;

  /* 语义色 */
  --green: #18855a;
  --green-soft: #e9f6ef;
  --red: #ce3a2c;
  --red-soft: #fdedea;

  /* 阴影 */
  --shadow-sm: 0 1px 2px rgba(43, 31, 20, 0.05);
  --shadow-md: 0 2px 6px rgba(43, 31, 20, 0.04), 0 12px 28px -12px rgba(43, 31, 20, 0.16);
  --shadow-lg: 0 24px 60px -24px rgba(43, 31, 20, 0.28);

  /* 圆角 */
  --r-xs: 8px;
  --r-sm: 10px;
  --r-md: 14px;
  --r-lg: 20px;
  --r-xl: 28px;

  /* 字体 */
  --font: "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "Hiragino Sans GB",
    system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-num: "SF Pro Display", "DIN Alternate", "Bahnschrift", "Segoe UI", var(--font);

  /* 布局 */
  --wrap: 1200px;
  --gutter: 24px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--font);
  color: var(--ink);
  background: var(--bg);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
p,
figure,
ul,
ol,
dl,
dd {
  margin: 0;
}

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

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

img,
svg {
  display: block;
  max-width: 100%;
}

button {
  font: inherit;
  color: inherit;
  border: 0;
  background: none;
  cursor: pointer;
}

::selection {
  background: var(--brand-tint);
  color: var(--ink);
}

:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 3px;
  border-radius: 4px;
}

.num {
  font-family: var(--font-num);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}

.sr-only {
  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) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
