:root {
  /* Color */
  --card: #262626;
  --card-border: #393636;
  --field: #212121;
  --field-border: #535353;
  --field-focus: #2845b5;
  --rule-box: #1a1a1a;
  --hairline: #393636;
  --accent: #427fff;
  --accent-text: #427fff;
  --btn-fg: #ffffff;
  --text: #ffffff;
  --text-muted: #777777;
  --text-dim: #707070;
  --label-color: #ffffff;
  --icon: #ffffff;
  --placeholder: #6f6f6f;
  --check-bg: #313131;
  --check-border: #717171;
  --err-bg: rgb(79,35,35);
  --err-border: #7f4747;
  --err-text: rgb(255,189,189);
  --err-stroke: #ff5555;
  --ok: #4caf50;
  --check-mark: #2196f3;

  /* Shape */
  --radius-card: 8px;
  --radius-field: 7px;
  --radius-btn: 5px;
  --radius-check: 4px;
  --border-w: 1px;
  --field-icon-left: 11px;
  --title-justify: center;

  /* Typography */
  --font: "Roboto", "Microsoft YaHei", "PingFang SC", "Noto Sans SC", sans-serif;
  --font-mono: "Roboto", "Microsoft YaHei", "PingFang SC", "Noto Sans SC", monospace;
  --field-size: 13px;
  --title-size: 20px;
  --title-weight: 600;
  --title-tracking: 0;
  --title-transform: none;
  --label-size: 13px;
  --label-weight: 400;
  --label-tracking: 0;
  --label-transform: none;
  --btn-size: 15px;
  --btn-weight: 500;
  --btn-tracking: 0.3px;
  --btn-transform: uppercase;

  /* Density */
  --card-pad: 20px;
  --gap: 15px;
  --field-pad-y: 15px;
  --field-pad-x: 15px;
  --field-pad-icon: 40px;
  --btn-h: 40px;

  /* Frame */
  --surface: #171717;
  --surface-panel: #171717;
  --glow: rgba(66, 127, 255, 0.1);
  --rule: rgba(255, 255, 255, 0.022);
  --muted: #777777;
  --hero-bg: #0e1216;
  --hero-overlay: rgba(0, 0, 0, 0.5);
  --hero-font: var(--font);
  --hero-title-size: 47px;
  --hero-title-weight: 700;
  --hero-title-tracking: 0;
  --hero-title-color: #ffffff;
  --hero-title-width: 50%;
  --hero-copy-size: 18px;
  --hero-copy-color: #ffffff;
  --hero-copy-width: 70%;
  --hero-pad-inline: 25px;
  --hero-eyebrow-color: #427fff;
  --hero-eyebrow-font: var(--font-mono);
  --hero-eyebrow-size: 11px;
  --hero-eyebrow-weight: 500;
  --hero-eyebrow-tracking: 0.18em;
  --hero-eyebrow-rule: #427fff;
  --hero-divider: transparent;
  --frame-form-width: 402px;
  --frame-logo-width: 210px;
  --frame-logo-height: 100px;
  --frame-logo-radius: 6px;
  --frame-footer-gap: 25px;
  --frame-footer-size: 12px;
  --frame-footer-tracking: 0;
  --frame-copyright-font: var(--font);
  --frame-copyright-size: 13px;
  --frame-copyright-tracking: 0;
  --media-left: 0;
  --media-bottom: 0;
  --media-border: transparent;
  --media-radius: 0;
  --link-hover: #2196f3;
  --brand-background-image: none;
}

:root:lang(zh) {
  --title-tracking: 0;
  --label-tracking: 0;
  --btn-tracking: 0;
  --hero-title-tracking: 0;
  --hero-eyebrow-tracking: 0;
  --frame-footer-tracking: 0;
  --frame-copyright-tracking: 0;
}

/* S07 colour deltas; original production root stays byte-for-byte intact. */
:root[data-theme="light"] {
  --surface: #eef0f4;
  --surface-panel: #eef0f4;
  --accent: #2456c7;
  --accent-text: #2456c7;
}

:root[data-theme="dark"] {
  --surface: #171717;
  --surface-panel: #171717;
  --accent: #2456c7;
  --accent-text: #90b8ff;
}
