:root {
  color-scheme: dark;

  /*
   * Lu4 COLOR CONFIGURATION
   * 古金（黑金）与纸白（白金）共用语义角色；纸白使用独立的浅色明度与对比关系。
   * 全部设计预览颜色只允许从本区读取；规范 HTML / 页面私有 CSS 禁止新增颜色字面量。
   */
  /* 古金：近中性石墨仅保留极轻冷感，香槟金承担交互和少量强调。 */
  --lu4-palette-gold-accent: #d8ae68;
  --lu4-palette-gold-accent-hover: #edc982;
  --lu4-palette-gold-bg-base: #141515;
  --lu4-palette-gold-bg-elevated: #1b1c1d;
  --lu4-palette-gold-surface: #232526;
  --lu4-palette-gold-surface-interactive: #2c2f30;
  --lu4-palette-gold-surface-floating: #363a3b;
  --lu4-palette-gold-glass-background: rgb(18 19 19 / 82%);
  --lu4-palette-gold-glass-border: rgb(239 240 238 / 13%);
  --lu4-palette-gold-border: #414546;
  --lu4-palette-gold-border-strong: #595e60;
  --lu4-palette-gold-inset-highlight: rgb(239 240 238 / 6%);
  --lu4-palette-gold-shadow-floating: 0 1.25rem 3.5rem rgb(0 4 9 / 48%);
  --lu4-palette-gold-text-primary: #f0f0ed;
  --lu4-palette-gold-text-secondary: #c1c3c1;
  --lu4-palette-gold-text-muted: #959a9b;
  --lu4-palette-gold-focus-ring: var(--lu4-palette-gold-accent-hover);
  --lu4-palette-gold-selection-bg: rgb(216 174 104 / 10%);
  --lu4-palette-gold-selection-border: #9f7d49;
  --lu4-palette-gold-link: var(--lu4-palette-gold-accent);
  --lu4-palette-gold-link-hover: var(--lu4-palette-gold-accent-hover);
  --lu4-palette-gold-feedback-error: #d08c8c;
  --lu4-palette-gold-feedback-warning: #dbb66f;
  --lu4-palette-gold-feedback-success: #7fc69a;
  --lu4-palette-gold-map-canvas: #141515;
  --lu4-palette-gold-image-placeholder: #303334;
  --lu4-palette-gold-control-bg: rgb(239 240 238 / 4%);
  --lu4-palette-gold-control-hover-bg: rgb(216 174 104 / 8%);
  --lu4-palette-gold-control-border: rgb(239 240 238 / 13%);
  --lu4-palette-gold-control-border-hover: rgb(216 174 104 / 32%);
  --lu4-palette-gold-control-text: #dadbd8;
  --lu4-palette-gold-control-muted: #9fa3a2;
  --lu4-palette-gold-action-primary-bg: var(--lu4-palette-gold-accent);
  --lu4-palette-gold-action-primary-text: #17120a;
  --lu4-palette-gold-sem-map-outline: #394b43;
  --lu4-palette-gold-sem-map-selected: #f0f0ed;


  /* 纸白：暖纸底与浅灰米色层次；古金加深以保证浅底上的文字对比。 */
  --lu4-palette-paper-accent: #80621d;
  --lu4-palette-paper-accent-hover: #62490f;
  --lu4-palette-paper-bg-base: #f8f7f2;
  --lu4-palette-paper-bg-elevated: #efeee7;
  --lu4-palette-paper-surface: #eeefe8;
  --lu4-palette-paper-surface-interactive: #e3e6dd;
  --lu4-palette-paper-surface-floating: #fffef9;
  --lu4-palette-paper-glass-background: rgb(255 254 249 / 86%);
  --lu4-palette-paper-glass-border: rgb(60 73 63 / 24%);
  --lu4-palette-paper-border: #c7cdc3;
  --lu4-palette-paper-border-strong: #89968a;
  --lu4-palette-paper-inset-highlight: rgb(255 255 252 / 70%);
  --lu4-palette-paper-shadow-floating: 0 1.25rem 3.5rem rgb(37 47 39 / 16%);
  --lu4-palette-paper-text-primary: #29312c;
  --lu4-palette-paper-text-secondary: #4f5d54;
  --lu4-palette-paper-text-muted: #5c685e;
  --lu4-palette-paper-focus-ring: #80621d;
  --lu4-palette-paper-selection-bg: rgb(128 98 29 / 10%);
  --lu4-palette-paper-selection-border: #80621d;
  --lu4-palette-paper-link: #80621d;
  --lu4-palette-paper-link-hover: #62490f;
  --lu4-palette-paper-feedback-error: #a13f43;
  --lu4-palette-paper-feedback-warning: #806017;
  --lu4-palette-paper-feedback-success: #326b4c;
  /* 空白画布随浅色主题；地图原图、标记色及深色标记墨色保持不变。 */
  --lu4-palette-paper-map-canvas: var(--lu4-palette-paper-bg-base);
  --lu4-palette-paper-marker-ink: #141515;
  --lu4-palette-paper-glass-text-muted: #536157;
  --lu4-palette-paper-image-placeholder: #e0e4da;
  --lu4-palette-paper-control-bg: rgb(255 254 249 / 72%);
  --lu4-palette-paper-control-hover-bg: rgb(128 98 29 / 8%);
  --lu4-palette-paper-control-border: #aeb7ab;
  --lu4-palette-paper-control-border-hover: #80621d;
  --lu4-palette-paper-control-text: #36463b;
  --lu4-palette-paper-control-muted: #5c685e;
  --lu4-palette-paper-action-primary-bg: #80621d;
  --lu4-palette-paper-action-primary-text: #fffef9;
  --lu4-palette-paper-sem-map-outline: #394b43;
  --lu4-palette-paper-sem-map-selected: #f0f0ed;
  --lu4-hero-shade-strong: rgb(10 11 12 / 92%);
  --lu4-hero-shade-middle: rgb(10 11 12 / 72%);
  --lu4-hero-shade-edge: rgb(10 11 12 / 38%);
  --lu4-hero-shade-top: rgb(10 11 12 / 35%);

  /* 页面组件只依赖这些主题主色语义，不直接引用具体主题色板。 */
  --lu4-accent: var(--lu4-palette-gold-accent);
  --lu4-accent-hover: var(--lu4-palette-gold-accent-hover);

  --lu4-bg-base: var(--lu4-palette-gold-bg-base);
  --lu4-bg-elevated: var(--lu4-palette-gold-bg-elevated);
  --lu4-surface: var(--lu4-palette-gold-surface);
  --lu4-surface-interactive: var(--lu4-palette-gold-surface-interactive);
  --lu4-border: var(--lu4-palette-gold-border);
  --lu4-border-strong: var(--lu4-palette-gold-border-strong);
  --lu4-surface-floating: var(--lu4-palette-gold-surface-floating);
  --lu4-glass-background: var(--lu4-palette-gold-glass-background);
  --lu4-glass-backdrop: blur(18px) saturate(72%);
  --lu4-glass-canvas-backdrop: blur(18px) saturate(58%) brightness(68%);
  --lu4-glass-border: var(--lu4-palette-gold-glass-border);
  --lu4-glass-shadow: var(--lu4-palette-gold-shadow-floating);
  --lu4-inset-highlight: var(--lu4-palette-gold-inset-highlight);
  --lu4-shadow-floating: var(--lu4-palette-gold-shadow-floating);
  --lu4-text-primary: var(--lu4-palette-gold-text-primary);
  --lu4-text-secondary: var(--lu4-palette-gold-text-secondary);
  --lu4-text-muted: var(--lu4-palette-gold-text-muted);
  --lu4-glass-text-muted: var(--lu4-text-muted);

  --lu4-focus-ring: var(--lu4-palette-gold-focus-ring);
  /* 选中边界：在 surface 上不低于 3:1；不绑默认 control.border（默认故意偏暗） */
  --lu4-selection-bg: var(--lu4-palette-gold-selection-bg);
  --lu4-selection-border: var(--lu4-palette-gold-selection-border);
  --lu4-link: var(--lu4-palette-gold-link);
  --lu4-link-hover: var(--lu4-palette-gold-link-hover);

  /* System Feedback：通用 UI 成败，不是 Neutral Foundation，也不是游戏业务色 */
  --lu4-feedback-error: var(--lu4-palette-gold-feedback-error);
  --lu4-feedback-warning: var(--lu4-palette-gold-feedback-warning);
  --lu4-feedback-success: var(--lu4-palette-gold-feedback-success);

  /* 数据强调跟随用户主题；不得借用 System Feedback 表达概率、价值或奖励。 */
  --lu4-sem-probability: var(--lu4-accent);

  /*
   * 领域语义
   * 局部识别：徽章 / 色点 / 标题一字 / 首领眉题。
   * Grade 对照灵魂弹 + High Five 结晶；属性对照属性石符文，撞车时按克制对拉开。
   * 饱和度压到矿石；禁止铺满 Card / 导航；禁止与 feedback.* 混用。
   */
  --lu4-sem-badge-fg: #f2efe8;
  --lu4-sem-badge-border: var(--lu4-sem-map-outline);

  /* 品阶色只有一套真源：地图使用全强度，白字徽章固定混入 57% 页面底色。 */
  --lu4-sem-map-grade-ng: #f0eee9;
  --lu4-sem-map-grade-d: #78a4dd;
  --lu4-sem-map-grade-c: #80c56b;
  --lu4-sem-map-grade-b: #d18493;
  --lu4-sem-map-grade-a: #a3adb4;
  --lu4-sem-map-grade-s: #ddb75b;
  --lu4-sem-grade-ng: color-mix(in srgb, var(--lu4-sem-map-grade-ng) 43%, var(--lu4-bg-base));
  --lu4-sem-grade-d: color-mix(in srgb, var(--lu4-sem-map-grade-d) 43%, var(--lu4-bg-base));
  --lu4-sem-grade-c: color-mix(in srgb, var(--lu4-sem-map-grade-c) 43%, var(--lu4-bg-base));
  --lu4-sem-grade-b: color-mix(in srgb, var(--lu4-sem-map-grade-b) 43%, var(--lu4-bg-base));
  --lu4-sem-grade-a: color-mix(in srgb, var(--lu4-sem-map-grade-a) 43%, var(--lu4-bg-base));
  --lu4-sem-grade-s: color-mix(in srgb, var(--lu4-sem-map-grade-s) 43%, var(--lu4-bg-base));

  /* Rare：Wiki 链接字色 item-name__class-2 #FFFF00 压成矿石黄；非自拟锻铜 */
  --lu4-sem-rare: #e8b84a;

  /* NPC kind：默认用文字/结构；Boss 仅允许眉题或标记微调 */
  --lu4-sem-kind-boss: #e0d2b8;

  --lu4-sem-attr-fire: #c45a48;
  --lu4-sem-attr-water: #4a8fb0;
  --lu4-sem-attr-wind: #2aa8a8;
  --lu4-sem-attr-earth: #b89448;
  --lu4-sem-attr-holy: #d4c890;
  --lu4-sem-attr-unholy: #8a5aa8;

  /* 地图颜色只表达业务细分，跨主题保持含义与色相一致。 */
  --lu4-sem-map-citizen: #35b98b;
  --lu4-sem-map-monster: #dfac46;
  --lu4-sem-map-boss: #db637a;
  /* Same terrain in both themes: crisp fills and a thin separating rim.
     Legend dots sit on UI glass, so their border follows that surface instead. */
  --lu4-map-marker-outline-width: .65;
  --lu4-map-legend-outline: var(--lu4-border-strong);
  /* 物品来源沿用怪物土黄的色相，以明度区分获取方式。 */
  --lu4-sem-map-source-drop: #d8ad5c;
  --lu4-sem-map-source-spoil: #a97838;
  --lu4-sem-map-quest-general: #45b7c6;
  --lu4-sem-map-quest-transfer: #8d79d6;
  --lu4-sem-map-outline: var(--lu4-palette-gold-sem-map-outline);
  --lu4-sem-map-selected: var(--lu4-palette-gold-sem-map-selected);
  /* LU4 Gamma 官方怪物等级差颜色，不做主题化或明度压缩。 */
  --lu4-sem-level-far-below: #00008b;
  --lu4-sem-level-below: #87cefa;
  --lu4-sem-level-near-below: #90ee90;
  --lu4-sem-level-even: #f5f5f5;
  --lu4-sem-level-near-above: #ffff00;
  --lu4-sem-level-above: #f08080;
  --lu4-sem-level-far-above: #ff0000;

  --lu4-map-canvas: var(--lu4-palette-gold-map-canvas);
  --lu4-image-placeholder: var(--lu4-palette-gold-image-placeholder);
  --lu4-overlay-soft: rgb(0 0 0 / 24%);
  --lu4-overlay-strong: rgb(0 0 0 / 55%);
  --lu4-modal-backdrop: rgb(0 0 0 / 55%);
  --lu4-modal-backdrop-filter: blur(3px);
  /* Site overlays share one material; content and payment codes remain opaque. */
  --lu4-overlay-background: color-mix(in srgb, var(--lu4-bg-elevated) 90%, transparent);
  --lu4-overlay-backdrop: blur(20px) saturate(80%);
  --lu4-transparent: transparent;
  --lu4-control-bg: var(--lu4-palette-gold-control-bg);
  --lu4-control-hover-bg: var(--lu4-palette-gold-control-hover-bg);
  /* Data Row 状态只使用轻量叠色；选中由边缘强调承担，禁止回退为实体深色 Surface。 */
  --lu4-data-row-hover-bg: var(--lu4-control-hover-bg);
  --lu4-data-row-selected-bg: transparent;
  /*
   * 控件边框：默认安静，Hover 才明显，Focus 走 focus-ring。
   * 默认对比可略低于 3:1；识别靠 Hover / Focus 补齐。
   */
  --lu4-control-border: var(--lu4-palette-gold-control-border);
  --lu4-control-border-hover: var(--lu4-palette-gold-control-border-hover);
  --lu4-control-text: var(--lu4-palette-gold-control-text);
  --lu4-control-muted: var(--lu4-palette-gold-control-muted);
  --lu4-action-primary-bg: var(--lu4-palette-gold-action-primary-bg);
  --lu4-action-primary-text: var(--lu4-palette-gold-action-primary-text);

  --lu4-disabled-opacity: 0.35;
  --lu4-map-guide-opacity: 0.7;

  /* 默认不请求 Web Font：静态站以系统字体保证首屏。 */
  --lu4-font-ui: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    "PingFang SC", "Microsoft YaHei", sans-serif;
  /* Display 仅是字号层级，不另引入衬线字体。 */
  --lu4-font-display: var(--lu4-font-ui);
  --lu4-font-mono: ui-monospace, "Cascadia Code", Consolas, monospace;

  --lu4-type-display-size: clamp(2.125rem, 4vw, 2.75rem);
  --lu4-type-display-line: 1.18;
  --lu4-type-h1-size: var(--lu4-type-page-title-size);
  --lu4-type-h1-line: var(--lu4-type-page-title-line);
  --lu4-type-h2-size: var(--lu4-type-section-title-size);
  --lu4-type-h2-line: var(--lu4-type-section-title-line);
  --lu4-type-h3-size: var(--lu4-type-component-title-size);
  --lu4-type-h3-line: var(--lu4-type-component-title-line);
  --lu4-type-body-size: 1rem;
  --lu4-type-body-line: 1.75rem;
  --lu4-type-ui-size: 0.875rem;
  --lu4-type-ui-line: 1.25rem;
  --lu4-type-overlay-title-size: 1rem;
  --lu4-type-overlay-title-line: 1.5rem;
  --lu4-type-dense-size: 0.8125rem;
  --lu4-type-dense-line: 1.25rem;
  --lu4-type-label-size: 0.75rem;
  --lu4-type-label-line: 1.125rem;
  /* Micro / Badge：辅助短计数、明确密集变体及角标；阅读型副名用 Label。禁止页面再写 .6875rem / .625rem / .5625rem。 */
  --lu4-type-micro-size: 0.6875rem;
  --lu4-type-micro-line: 1.2;
  --lu4-type-badge-size: 0.625rem;
  --lu4-type-badge-line: 1;

  /*
   * Responsive type roles. Structural breakpoints may change layout independently,
   * but pages consume these roles instead of inventing local title/body scales.
   */
  --lu4-type-page-title-size: 2.25rem;
  --lu4-type-page-title-line: 2.75rem;
  /* Reading documents are not entity identities or navigation controls. */
  --lu4-type-article-title-size: 1.75rem;
  --lu4-type-article-title-line: 2.375rem;
  --lu4-type-section-title-size: 1.5rem;
  --lu4-type-section-title-line: 2.125rem;
  --lu4-type-component-title-size: 1.125rem;
  --lu4-type-component-title-line: 1.75rem;

  --lu4-weight-regular: 400;
  --lu4-weight-medium: 500;
  --lu4-weight-semibold: 600;
  --lu4-weight-bold: 700;

  --lu4-icon-ui: 1.125rem;
  --lu4-icon-status: 1.25rem;
  --lu4-icon-button: 2.5rem;
  --lu4-control-height: 2.5rem;
  --lu4-control-small: 2rem;
  --lu4-control-close: 2rem;
  --lu4-touch-target: 2.75rem; /* Optional enhanced target for independent actions, not a global minimum. */

  --lu4-space-0: 0;
  --lu4-space-1: 0.25rem;
  --lu4-space-2: 0.5rem;
  --lu4-space-3: 0.75rem;
  --lu4-space-4: 1rem;
  --lu4-space-5: 1.5rem;
  --lu4-space-6: 2rem;
  --lu4-space-7: 2.5rem;
  --lu4-space-8: 3rem;
  --lu4-space-9: 4rem;
  --lu4-space-10: 5rem;
  --lu4-space-11: 6rem;
  --lu4-space-12: 8rem;

  --lu4-radius-sm: 0.375rem;
  --lu4-radius-md: 0.5rem;
  --lu4-radius-lg: 0.75rem;
  --lu4-radius-xl: 1rem;
  --lu4-radius-full: 999px;
  --lu4-radius-chip: var(--lu4-radius-sm);

  --lu4-design-bg: var(--lu4-bg-base);
  --lu4-design-elev: var(--lu4-bg-elevated);
  --lu4-design-s1: var(--lu4-surface);
  --lu4-design-s2: var(--lu4-surface-interactive);
  --lu4-design-b1: var(--lu4-border);
  --lu4-design-b2: var(--lu4-border-strong);
  --lu4-design-t1: var(--lu4-text-primary);
  --lu4-design-t2: var(--lu4-text-secondary);
  --lu4-design-tm: var(--lu4-text-muted);

  /* Viewport artboards (CSS px). Shell mins follow orientation. */
  --lu4-viewport-portrait-min-width: 320px;
  --lu4-viewport-portrait-min-height: 640px;
  --lu4-viewport-landscape-min-width: 640px;
  --lu4-viewport-landscape-min-height: 320px;
  --lu4-content-max-width: 1280px;
}

@media (max-width: 1279px) {
  :root {
    --lu4-type-page-title-size: 2rem;
    --lu4-type-page-title-line: 2.4375rem;
    --lu4-type-section-title-size: 1.375rem;
    --lu4-type-section-title-line: 1.9375rem;
    --lu4-type-component-title-size: 1.0625rem;
    --lu4-type-component-title-line: 1.625rem;
  }
}

@media (max-width: 639px) {
  :root {
    --lu4-type-article-title-size: 1.5rem;
    --lu4-type-article-title-line: 2.125rem;
    --lu4-type-page-title-size: 1.75rem;
    --lu4-type-page-title-line: 2.125rem;
    --lu4-type-section-title-size: 1.25rem;
    --lu4-type-section-title-line: 1.75rem;
    --lu4-type-component-title-size: 1rem;
    --lu4-type-component-title-line: 1.5rem;
  }
}

/* 古金主题：近中性石墨环境 + 中性白文字 + 香槟金交互。 */
html[data-lu4-palette="gold"] {
  --lu4-accent: var(--lu4-palette-gold-accent);
  --lu4-accent-hover: var(--lu4-palette-gold-accent-hover);
  --lu4-bg-base: var(--lu4-palette-gold-bg-base);
  --lu4-bg-elevated: var(--lu4-palette-gold-bg-elevated);
  --lu4-surface: var(--lu4-palette-gold-surface);
  --lu4-surface-interactive: var(--lu4-palette-gold-surface-interactive);
  --lu4-border: var(--lu4-palette-gold-border);
  --lu4-border-strong: var(--lu4-palette-gold-border-strong);
  --lu4-surface-floating: var(--lu4-palette-gold-surface-floating);
  --lu4-glass-background: var(--lu4-palette-gold-glass-background);
  --lu4-glass-border: var(--lu4-palette-gold-glass-border);
  --lu4-glass-shadow: var(--lu4-palette-gold-shadow-floating);
  --lu4-inset-highlight: var(--lu4-palette-gold-inset-highlight);
  --lu4-shadow-floating: var(--lu4-palette-gold-shadow-floating);
  --lu4-text-primary: var(--lu4-palette-gold-text-primary);
  --lu4-text-secondary: var(--lu4-palette-gold-text-secondary);
  --lu4-text-muted: var(--lu4-palette-gold-text-muted);

  --lu4-selection-bg: var(--lu4-palette-gold-selection-bg);
  --lu4-selection-border: var(--lu4-palette-gold-selection-border);
  --lu4-focus-ring: var(--lu4-palette-gold-focus-ring);
  --lu4-link: var(--lu4-palette-gold-link);
  --lu4-link-hover: var(--lu4-palette-gold-link-hover);

  --lu4-feedback-error: var(--lu4-palette-gold-feedback-error);
  --lu4-feedback-warning: var(--lu4-palette-gold-feedback-warning);
  --lu4-feedback-success: var(--lu4-palette-gold-feedback-success);

  --lu4-sem-map-outline: var(--lu4-palette-gold-sem-map-outline);
  --lu4-sem-map-selected: var(--lu4-palette-gold-sem-map-selected);

  --lu4-map-canvas: var(--lu4-palette-gold-map-canvas);
  --lu4-image-placeholder: var(--lu4-palette-gold-image-placeholder);
  --lu4-control-bg: var(--lu4-palette-gold-control-bg);
  --lu4-control-hover-bg: var(--lu4-palette-gold-control-hover-bg);
  --lu4-data-row-hover-bg: var(--lu4-control-hover-bg);
  --lu4-data-row-selected-bg: transparent;
  --lu4-control-border: var(--lu4-palette-gold-control-border);
  --lu4-control-border-hover: var(--lu4-palette-gold-control-border-hover);
  --lu4-control-text: var(--lu4-palette-gold-control-text);
  --lu4-control-muted: var(--lu4-palette-gold-control-muted);
  --lu4-action-primary-bg: var(--lu4-palette-gold-action-primary-bg);
  --lu4-action-primary-text: var(--lu4-palette-gold-action-primary-text);

  --lu4-design-bg: var(--lu4-palette-gold-bg-base);
  --lu4-design-elev: var(--lu4-palette-gold-bg-elevated);
  --lu4-design-s1: var(--lu4-palette-gold-surface);
  --lu4-design-s2: var(--lu4-palette-gold-surface-interactive);
  --lu4-design-b1: var(--lu4-palette-gold-border);
  --lu4-design-b2: var(--lu4-palette-gold-border-strong);
  --lu4-design-t1: var(--lu4-palette-gold-text-primary);
  --lu4-design-t2: var(--lu4-palette-gold-text-secondary);
  --lu4-design-tm: var(--lu4-palette-gold-text-muted);
}


/* 纸白仅覆盖色彩与材质，不改变组件的结构、文字角色或尺寸。 */
html[data-lu4-palette="paper"] {
  color-scheme: light;
  --lu4-hero-shade-strong: rgb(248 247 242 / 96%);
  --lu4-hero-shade-middle: rgb(248 247 242 / 90%);
  --lu4-hero-shade-edge: rgb(248 247 242 / 68%);
  --lu4-hero-shade-top: rgb(248 247 242 / 45%);
  --map-timer-waiting: #386f9b;
  --map-timer-window: #80621d;
  --map-timer-invalid: #626f65;
  --map-marker-ink: var(--lu4-palette-paper-marker-ink);
  --lu4-glass-text-muted: var(--lu4-palette-paper-glass-text-muted);
  --lu4-field-error: var(--lu4-feedback-error);
  --lu4-accent: var(--lu4-palette-paper-accent);
  --lu4-accent-hover: var(--lu4-palette-paper-accent-hover);
  --lu4-bg-base: var(--lu4-palette-paper-bg-base);
  --lu4-bg-elevated: var(--lu4-palette-paper-bg-elevated);
  --lu4-surface: var(--lu4-palette-paper-surface);
  --lu4-surface-interactive: var(--lu4-palette-paper-surface-interactive);
  --lu4-border: var(--lu4-palette-paper-border);
  --lu4-border-strong: var(--lu4-palette-paper-border-strong);
  --lu4-surface-floating: var(--lu4-palette-paper-surface-floating);
  --lu4-glass-background: var(--lu4-palette-paper-glass-background);
  --lu4-glass-border: var(--lu4-palette-paper-glass-border);
  --lu4-glass-shadow: var(--lu4-palette-paper-shadow-floating);
  --lu4-inset-highlight: var(--lu4-palette-paper-inset-highlight);
  --lu4-shadow-floating: var(--lu4-palette-paper-shadow-floating);
  --lu4-text-primary: var(--lu4-palette-paper-text-primary);
  --lu4-text-secondary: var(--lu4-palette-paper-text-secondary);
  --lu4-text-muted: var(--lu4-palette-paper-text-muted);

  --lu4-selection-bg: var(--lu4-palette-paper-selection-bg);
  --lu4-selection-border: var(--lu4-palette-paper-selection-border);
  --lu4-focus-ring: var(--lu4-palette-paper-focus-ring);
  --lu4-link: var(--lu4-palette-paper-link);
  --lu4-link-hover: var(--lu4-palette-paper-link-hover);

  --lu4-feedback-error: var(--lu4-palette-paper-feedback-error);
  --lu4-feedback-warning: var(--lu4-palette-paper-feedback-warning);
  --lu4-feedback-success: var(--lu4-palette-paper-feedback-success);

  --lu4-sem-map-outline: var(--lu4-palette-paper-sem-map-outline);
  --lu4-sem-map-selected: var(--lu4-palette-paper-sem-map-selected);

  --lu4-map-canvas: var(--lu4-palette-paper-map-canvas);
  --lu4-image-placeholder: var(--lu4-palette-paper-image-placeholder);
  --lu4-control-bg: var(--lu4-palette-paper-control-bg);
  --lu4-control-hover-bg: var(--lu4-palette-paper-control-hover-bg);
  --lu4-data-row-hover-bg: var(--lu4-control-hover-bg);
  --lu4-data-row-selected-bg: transparent;
  --lu4-control-border: var(--lu4-palette-paper-control-border);
  --lu4-control-border-hover: var(--lu4-palette-paper-control-border-hover);
  --lu4-control-text: var(--lu4-palette-paper-control-text);
  --lu4-control-muted: var(--lu4-palette-paper-control-muted);
  --lu4-action-primary-bg: var(--lu4-palette-paper-action-primary-bg);
  --lu4-action-primary-text: var(--lu4-palette-paper-action-primary-text);

  --lu4-design-bg: var(--lu4-palette-paper-bg-base);
  --lu4-design-elev: var(--lu4-palette-paper-bg-elevated);
  --lu4-design-s1: var(--lu4-palette-paper-surface);
  --lu4-design-s2: var(--lu4-palette-paper-surface-interactive);
  --lu4-design-b1: var(--lu4-palette-paper-border);
  --lu4-design-b2: var(--lu4-palette-paper-border-strong);
  --lu4-design-t1: var(--lu4-palette-paper-text-primary);
  --lu4-design-t2: var(--lu4-palette-paper-text-secondary);
  --lu4-design-tm: var(--lu4-palette-paper-text-muted);
  /* 白底下保留品级原色相，使用深色徽章底；不改变地图标记色。 */
  --lu4-sem-grade-ng: #626763;
  --lu4-sem-grade-d: #426798;
  --lu4-sem-grade-c: #416c34;
  --lu4-sem-grade-b: #955469;
  --lu4-sem-grade-a: #626d75;
  --lu4-sem-grade-s: #80631b;
  --lu4-sem-rare: #805d0d;
  --lu4-sem-kind-boss: #75603c;
  /* 元素文字保留身份色相；浅底使用更深明度，地图 NPC 圆点不变。 */
  --lu4-sem-attr-fire: #9b3e30;
  --lu4-sem-attr-water: #29617c;
  --lu4-sem-attr-wind: #186666;
  --lu4-sem-attr-earth: #755718;
  --lu4-sem-attr-holy: #69591d;
  --lu4-sem-attr-unholy: #71428e;
  --lu4-glass-canvas-backdrop: blur(18px) saturate(80%);
  --lu4-overlay-background: rgb(255 254 249 / 96%);
  --lu4-overlay-soft: rgb(37 47 39 / 12%);
  --lu4-overlay-strong: rgb(37 47 39 / 38%);
  --lu4-modal-backdrop: rgb(37 47 39 / 32%);
}
