/* ==========================================================================
   唯问 WVEN · 视觉皮肤层（2026-11）
   --------------------------------------------------------------------------
   只改「看起来」，不改「是什么」：本文件最后加载，仅覆盖颜色、字体节奏、
   材质、阴影与微动效。不新增/隐藏任何功能入口，不改 DOM、路由、业务状态。
   删除本文件的 <link> 即可完整回到上一版视觉。

   气质：冷静、克制、东方、宁静、深远、留白、流动、平衡、含蓄、优雅、高级。
   色彩：墨黑 · 深灰 · 米白 · 宣纸 · 青黛 · 岩石灰（低饱和）。
   材质：宣纸纹理、墨色层次、云雾薄纱；卡片如半透的纸，山水在其后若隐若现。
   动效：静中有动 —— 只有云气极缓地流动，交互反馈短而轻。
   ========================================================================== */

/* ---------- 01 · 色彩 Token（明：宣纸与墨） ---------- */
:root,
:root .world-ready {
  --paper:      #f4f1ea;   /* 宣纸 */
  --paper-2:    #ece8df;   /* 半宣 */
  --surface:    #faf8f3;   /* 米白 · 纸面 */
  --surface-2:  #fdfcf9;
  --sunken:     #e9e5dc;
  --veil:       rgba(247, 245, 239, .9);

  --ink:        #1f2427;   /* 墨 */
  --ink-2:      #485055;   /* 深灰 */
  --ink-3:      #6a7174;   /* 岩石灰 */
  --ink-4:      #8b9092;

  --line:       #dfdad0;
  --line-soft:  #e8e4db;
  --line-2:     #c8c2b5;

  --primary:      #36545c;   /* 青黛 */
  --primary-deep: #263e45;
  --primary-soft: #e5eae6;   /* 青雾 */
  --accent:       #86775c;   /* 赭石 */
  --accent-soft:  #efebe2;
  --seal:         #9a5a4e;   /* 暗朱 · 极少量 */

  --deep:       #e7eae5;
  --deep-2:     #dfe5e0;
  --deep-ink:   #22363c;
  --deep-ink-2: #4c5f63;
  --deep-ink-3: #66767a;
  --deep-line:  rgba(54, 84, 92, .14);

  --ok:   #4f7464;  --ok-soft:  #e6eee8;
  --warn: #86714b;  --warn-soft: #f1ede3;
  --err:  #9a5a4e;  --err-soft: #f3e8e4;

  --wx-mu:   #557a66;   /* 竹青 */
  --wx-huo:  #a25f57;   /* 赭朱 */
  --wx-tu:   #8d7853;   /* 土褐 */
  --wx-jin:  #7d817f;   /* 岩灰 */
  --wx-shui: #44657a;   /* 黛蓝 */
  --wx-mu-soft: #e7eee8; --wx-tu-soft: #f0ece3; --wx-jin-soft: #eceeec; --wx-shui-soft: #e6ecef;

  --on-primary: #f6f3ec;
  --overlay: rgba(22, 27, 30, .38);
  --world-nav-surface: rgba(247, 245, 239, .86);
  --world-curve: #5d7b82; --world-star: #3f5a61;

  /* 皮肤自有 token */
  --sk-glass:   rgba(250, 248, 243, .76);
  --sk-glass-2: rgba(253, 252, 249, .88);
  --sk-hair:    rgba(31, 36, 39, .085);
  --sk-shadow:  0 1px 0 rgba(255, 255, 255, .7) inset, 0 22px 48px -34px rgba(31, 36, 39, .32);
  --sk-shadow-hover: 0 1px 0 rgba(255, 255, 255, .7) inset, 0 28px 60px -32px rgba(31, 36, 39, .38);
  --sk-mist:    rgba(250, 248, 242, .78);
  --sk-ease:    cubic-bezier(.22, .61, .36, 1);
  --sk-radius:  14px;
}

/* ---------- 01b · 色彩 Token（暗：墨夜青黛） ---------- */
[data-theme="dark"],
[data-theme="dark"] .world-ready {
  --paper:      #121517;
  --paper-2:    #171b1e;
  --surface:    #1b2023;
  --surface-2:  #22282b;
  --sunken:     #0e1112;
  --veil:       rgba(20, 24, 26, .9);

  --ink:        #e7e3d9;
  --ink-2:      #c0bbb0;
  --ink-3:      #9c9990;
  --ink-4:      #827f78;

  --line:       #2c3336;
  --line-soft:  #24292c;
  --line-2:     #3d4549;

  --primary:      #9fbcba;
  --primary-deep: #bed3d0;
  --primary-soft: #20302f;
  --accent:       #c5b38f;
  --accent-soft:  #2b2a26;
  --seal:         #cf8f80;

  --deep:       #1f2a2b;
  --deep-2:     #1a2425;
  --deep-ink:   #e7e3d9;
  --deep-ink-2: #b9c3c0;
  --deep-ink-3: #9aa6a3;
  --deep-line:  rgba(159, 188, 186, .14);

  --ok:   #98bfa9;  --ok-soft:  #1f2d28;
  --warn: #cbb68c;  --warn-soft: #2c2a24;
  --err:  #cf8f80;  --err-soft: #33231f;

  --wx-mu:   #8db39c;
  --wx-huo:  #d09086;
  --wx-tu:   #c7ae86;
  --wx-jin:  #b6b9b5;
  --wx-shui: #8daec4;
  --wx-mu-soft: #1f2c26; --wx-tu-soft: #2a2721; --wx-jin-soft: #242829; --wx-shui-soft: #1d2a31;

  --on-primary: #121517;
  --overlay: rgba(6, 8, 9, .6);
  --world-nav-surface: rgba(24, 28, 31, .86);
  --world-curve: #7f9ea2; --world-star: #c8d3d1;

  --sk-glass:   rgba(27, 32, 35, .74);
  --sk-glass-2: rgba(34, 40, 43, .9);
  --sk-hair:    rgba(231, 227, 217, .07);
  --sk-shadow:  0 1px 0 rgba(255, 255, 255, .03) inset, 0 24px 50px -34px rgba(0, 0, 0, .75);
  --sk-shadow-hover: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 30px 64px -32px rgba(0, 0, 0, .85);
  --sk-mist:    rgba(18, 21, 23, .8);
}

/* ---------- 02 · 基础 ---------- */
.world-ready { color: var(--ink); }
::selection { background: var(--primary-soft); color: var(--ink); }
.world-ready :is(button, a, input, select, textarea):focus-visible {
  outline: 1.5px solid var(--primary);
  outline-offset: 4px;
}
@supports (scrollbar-width: thin) {
  html { scrollbar-width: thin; scrollbar-color: var(--line-2) transparent; }
}

/* ---------- 03 · 气氛：宣纸纹理 + 流动云雾（静中有动） ---------- */
/* 宣纸纤维：极淡的噪点，只在纸面上「被感觉到」 */
.world-scene::before {
  content: "";
  position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35  0 0 0 0 .33  0 0 0 0 .3  0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity: .16;
  mix-blend-mode: multiply;
}
[data-theme="dark"] .world-scene::before { opacity: .1; mix-blend-mode: screen; }

/* 云雾：两层极缓漂移的薄纱；进入子页后加厚，为内容让出安静的纸面 */
.world-scene::after {
  content: "";
  position: absolute; inset: -10% -20%; z-index: 1; pointer-events: none;
  background:
    radial-gradient(38% 22% at 22% 30%, var(--sk-mist), transparent 70%),
    radial-gradient(30% 18% at 74% 58%, var(--sk-mist), transparent 72%),
    radial-gradient(46% 26% at 50% 88%, var(--sk-mist), transparent 70%);
  opacity: .55;
  animation: sk-mist 96s ease-in-out infinite alternate;
}
body:not([data-world="world"]) .world-scene::after {
  background:
    linear-gradient(180deg, var(--paper) 0%, color-mix(in srgb, var(--paper) 72%, transparent) 38%, transparent 78%),
    radial-gradient(40% 22% at 24% 64%, var(--sk-mist), transparent 70%),
    radial-gradient(34% 20% at 78% 72%, var(--sk-mist), transparent 72%);
  opacity: .9;
}
body[data-world-level="reading"] .world-scene::after { opacity: 1; }
@keyframes sk-mist {
  from { transform: translate3d(-2.5%, 0, 0); }
  to   { transform: translate3d(2.5%, -1.2%, 0); }
}
[data-motion="reduce"] .world-scene::after,
.world-paused .world-scene::after { animation: none; }
@media (prefers-reduced-motion: reduce) { .world-scene::after { animation: none; } }

/* 山水在首页更清晰，子页退为远景 */
.world-painting { opacity: .82; }
body:not([data-world="world"]) .world-painting { opacity: .26; }
[data-theme="dark"] .world-painting { opacity: .14; filter: grayscale(.35) brightness(.9); }
[data-theme="dark"] body:not([data-world="world"]) .world-painting { opacity: .06; }

/* ---------- 04 · 顶部定位（品牌字标 + 所在位置 + 返回） ---------- */
.world-wordmark span { color: var(--ink); letter-spacing: .2em; }
.world-wordmark svg { stroke: var(--primary); }
.world-wordmark::after {
  content: "WVEN";
  font: 500 10px/1 var(--font-sans);
  letter-spacing: .42em;
  color: var(--ink-3);
  padding-left: 12px;
  margin-left: 2px;
  border-left: 1px solid var(--line-2);
  align-self: center;
}
.world-location { color: var(--ink-3); letter-spacing: .22em; }
.world-back {
  border-color: var(--sk-hair);
  background: var(--sk-glass);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  color: var(--ink-2);
  transition: color .2s, border-color .2s, transform .3s var(--sk-ease);
}
.world-back:hover { color: var(--ink); border-color: var(--line-2); transform: translateX(-2px); }

/* ---------- 05 · 首页：唯问 + 五个入口 ---------- */
.world-ready .world-title {
  color: var(--ink);
  letter-spacing: .22em;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .35);
}
[data-theme="dark"] .world-ready .world-title { text-shadow: none; }
.world-ready .world-title::after {
  content: "WVEN";
  display: block;
  margin-top: 18px;
  font: 400 12px/1 var(--font-sans);
  letter-spacing: .9em;
  color: var(--ink-3);
}
.world-ready .world-motto { color: var(--ink-2); letter-spacing: .26em; }
.world-ready .world-motto::before {
  content: "";
  display: inline-block; width: 28px; height: 1px; margin-right: 14px;
  background: var(--ink-3); opacity: .6; vertical-align: middle;
}
.world-ready .world-landing-note { color: var(--ink-3); letter-spacing: .24em; }

/* 五个入口：同一张纸上的五行文字，以细线分隔，悬停时墨色晕开 */
.world-ready .world-map { gap: 0; }
.world-ready .world-map > .world-portal {
  border-bottom: 1px solid var(--sk-hair);
  border-radius: 0;
  padding-inline: 14px 10px;
  background-image: linear-gradient(90deg, var(--primary-soft), transparent 75%);
  background-size: 0% 100%;
  background-repeat: no-repeat;
  transition: background-size .6s var(--sk-ease), color .25s;
}
.world-ready .world-map > .world-portal:first-child { border-top: 1px solid var(--sk-hair); }
@media (hover: hover) {
  .world-ready .world-map > .world-portal:hover { background-color: transparent; background-size: 100% 100%; }
}
.world-ready .world-map > .world-portal:active { background-color: transparent; background-size: 100% 100%; }
.world-ready .world-portal-name { color: var(--ink); letter-spacing: .2em; transition: letter-spacing .5s var(--sk-ease); }
.world-ready .world-portal:hover .world-portal-name { letter-spacing: .26em; }
.world-ready .world-portal svg { stroke: var(--primary); stroke-width: .9; opacity: .9; }
.world-ready .world-portal-caption { color: var(--ink-3); letter-spacing: .1em; }
.world-ready .world-portal::after { color: var(--ink-4); }
.world-ready .world-portal:hover::after { color: var(--primary); }

/* 行间导航：浮在山水上的一枚磨砂纸片 */
.world-nav-toggle {
  background: var(--sk-glass);
  -webkit-backdrop-filter: blur(16px) saturate(1.1); backdrop-filter: blur(16px) saturate(1.1);
  border: 1px solid var(--sk-hair);
  box-shadow: var(--sk-shadow);
  color: var(--ink);
  transition: box-shadow .3s, transform .3s var(--sk-ease);
}
.world-nav-toggle:hover { box-shadow: var(--sk-shadow-hover); transform: translateY(-1px); }
.world-nav-toggle span { letter-spacing: .16em; color: var(--ink-2); }
.world-menu {
  background: color-mix(in srgb, var(--paper) 88%, transparent);
  -webkit-backdrop-filter: blur(22px); backdrop-filter: blur(22px);
}
.world-menu-map::before { border-color: var(--line-2); box-shadow: 0 0 0 36px color-mix(in srgb, var(--primary-soft) 40%, transparent); }
.world-menu-link strong { letter-spacing: .18em; }
.world-menu-center { border-color: var(--line-2); background: var(--surface); }

/* ---------- 06 · 页面标题与段落层级 ---------- */
.world-ready .page-title {
  color: var(--ink);
  font-size: clamp(36px, 4.4vw, 52px);
  letter-spacing: .2em;
  line-height: 1.2;
}
.world-ready .page-sub { color: var(--ink-2); letter-spacing: .22em; margin-top: 16px; }
.world-ready .page-sub::before {
  content: "";
  display: inline-block; width: 24px; height: 1px; margin-right: 12px;
  background: var(--primary); opacity: .55; vertical-align: middle;
}
.world-ready .sec-label { color: var(--ink-3); letter-spacing: .28em; font-size: 13px; }
.world-ready .sec-label::after { background: linear-gradient(90deg, var(--line-2), transparent); }
.world-ready :is(.ep-line, .intro-line, .yangyun-intro, .self-quote > p:first-of-type) { color: var(--ink); }
.world-ready :is(.ep-sub, .intro-sub, .wd-caption-sub, .foot-note) { color: var(--ink-3); }
.world-ready .sub-head { border-bottom-color: var(--sk-hair); }

/* ---------- 07 · 纸面材质：卡片、面板、抽屉 ---------- */
.world-ready :is(.card, .result-card, .mj-card, .pd-card, .peer-card, .shop-card, .zg-vipcard, .pd-switch-card, .membership-plan, .qzr-section, .zw-pan) {
  background: var(--surface);
  background: var(--sk-glass);
  -webkit-backdrop-filter: blur(14px) saturate(1.05);
  backdrop-filter: blur(14px) saturate(1.05);
  border: 1px solid var(--sk-hair);
  border-radius: var(--sk-radius);
  box-shadow: var(--sk-shadow);
}
.world-ready .card .card { background: transparent; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.world-ready .ju-card { border-color: var(--sk-hair); border-radius: var(--sk-radius); }
.drawer-panel {
  background: var(--surface);
  border: 1px solid var(--sk-hair);
  border-radius: 22px 22px 0 0;
  box-shadow: 0 -24px 60px -30px rgba(20, 24, 26, .35);
}
.drawer-title { letter-spacing: .16em; }
.wven-dialog { background: var(--surface); color: var(--ink); border-color: var(--sk-hair); box-shadow: var(--sk-shadow-hover); }
.wven-dialog::backdrop { background: var(--overlay); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }

/* 起盘入口：一张安静的纸笺 */
.world-ready #zm-home > .start-card {
  background: var(--sk-glass-2);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  border: 1px solid var(--sk-hair);
  border-radius: 16px;
  box-shadow: var(--sk-shadow);
  transition: box-shadow .35s var(--sk-ease), transform .35s var(--sk-ease), border-color .2s;
}
@media (hover: hover) {
  .world-ready #zm-home > .start-card:hover {
    background-color: transparent;
    box-shadow: var(--sk-shadow-hover);
    border-color: var(--line-2);
    transform: translateY(-2px);
  }
}
.world-ready .sc-seal { border-color: var(--line-2); color: var(--primary); }
.world-ready .sc-title { letter-spacing: .3em; }

/* 观运三入口、自观条目：保持行式，仅收细线与回应 */
.world-ready :is(.fun-card, .cap-card) { border-bottom-color: var(--sk-hair); }
.world-ready .fun-icon { border-color: var(--line-2); }
@media (hover: hover) {
  .world-ready :is(.fun-card, .self-card):hover { background-color: color-mix(in srgb, var(--primary-soft) 70%, transparent); }
}

/* 体系切换（四柱 / 紫微 / 七政）：选中时青黛描边 + 一圈雾 */
.world-ready .sys-tab { color: var(--ink-3); transition: color .25s; }
.world-ready .sys-tab:hover { color: var(--ink); }
.world-ready .sys-tab::before { border-color: var(--line-2); transition: border-color .3s, box-shadow .5s var(--sk-ease), transform .5s var(--sk-ease); }
.world-ready .sys-tab.active { color: var(--ink); }
.world-ready .sys-tab.active::before { border-color: var(--primary); box-shadow: 0 0 0 6px var(--primary-soft), 0 0 0 12px color-mix(in srgb, var(--primary-soft) 45%, transparent); }
.world-ready .sys-tab-name { letter-spacing: .14em; }

/* 次级控件：人物切换、购物车、筛选片 —— 与 ghost 按钮同一语言 */
.world-ready :is(.person-switch, .yy-cart-btn, .shop-cat, .chip) {
  border: 1px solid var(--line-2);
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface) 60%, transparent);
  color: var(--ink-2);
  transition: border-color .2s, color .2s, background-color .2s;
}
.world-ready :is(.person-switch, .yy-cart-btn, .shop-cat, .chip):hover { border-color: var(--primary); color: var(--ink); }
.world-ready :is(.shop-cat, .chip):is(.active, [aria-pressed="true"]) { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.world-ready .world-landing-note { text-shadow: 0 0 12px var(--paper), 0 0 2px var(--paper); }

/* ---------- 08 · 按钮 ---------- */
.world-ready .btn-primary {
  background: var(--primary-deep);
  background: linear-gradient(180deg, color-mix(in srgb, var(--primary) 88%, #fff 0%), var(--primary-deep));
  color: var(--on-primary);
  border: 0;
  border-radius: 999px;
  letter-spacing: .16em;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .12) inset, 0 12px 26px -16px rgba(38, 62, 69, .7);
  transition: transform .25s var(--sk-ease), box-shadow .25s, filter .2s;
}
.world-ready .btn-primary:hover { filter: brightness(1.06); transform: translateY(-1px); box-shadow: 0 1px 0 rgba(255, 255, 255, .14) inset, 0 16px 30px -16px rgba(38, 62, 69, .75); }
.world-ready .btn-primary:active { transform: translateY(0); }
.world-ready .btn-primary:disabled { filter: none; transform: none; box-shadow: none; }
[data-theme="dark"] .world-ready .btn-primary { box-shadow: 0 12px 26px -16px rgba(0, 0, 0, .8); }
.world-ready .btn-ghost {
  border: 1px solid var(--line-2);
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface) 55%, transparent);
  color: var(--ink);
  letter-spacing: .1em;
}
.world-ready .btn-ghost:hover { border-color: var(--primary); color: var(--primary-deep); background: var(--primary-soft); }
[data-theme="dark"] .world-ready .btn-ghost:hover { color: var(--primary-deep); }

/* ---------- 09 · 表单 ---------- */
.world-ready :is(.field input, .field select, .field textarea) {
  background: color-mix(in srgb, var(--surface-2) 80%, transparent);
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--ink);
  transition: border-color .2s, box-shadow .25s, background-color .2s;
}
.world-ready :is(.field input, .field select, .field textarea):hover { border-color: var(--line-2); }
.world-ready :is(.field input, .field select, .field textarea):focus {
  border-color: var(--primary);
  background: var(--surface-2);
  box-shadow: 0 0 0 4px var(--primary-soft);
  outline: none;
}
.world-ready .field label { color: var(--ink-2); letter-spacing: .08em; }
.world-ready .radio-pill span { border-color: var(--line-2); background: color-mix(in srgb, var(--surface-2) 70%, transparent); transition: all .2s; }
.world-ready .radio-pill input:checked + span { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.world-ready .zm-mode-tabs { background: var(--sunken); border: 1px solid var(--sk-hair); border-radius: 999px; padding: 3px; }
.world-ready .zm-mode-tab { border-radius: 999px; color: var(--ink-3); transition: color .2s, background-color .25s, box-shadow .25s; }
.world-ready .zm-mode-tab.active { background: var(--surface-2); color: var(--ink); box-shadow: 0 1px 2px rgba(31, 36, 39, .08), 0 4px 12px -6px rgba(31, 36, 39, .18); }

/* ---------- 10 · 页签（命盘 / AI 解读 / 人生趋势 等） ---------- */
.world-ready .zm-tab { color: var(--ink-3); letter-spacing: .16em; transition: color .2s; }
.world-ready .zm-tab:hover { color: var(--ink); }
.world-ready .zm-tab.active { color: var(--ink); border-bottom-color: var(--primary); }
.world-ready :is(.ai-tab, .zg-tab, .auth-tab) { letter-spacing: .12em; }

/* ---------- 11 · 问道 ---------- */
.world-ready .q-chip {
  background: var(--sk-glass);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  border: 1px solid var(--sk-hair);
  border-radius: 12px;
  color: var(--ink-2);
  box-shadow: none;
  transition: transform .3s var(--sk-ease), border-color .2s, color .2s, box-shadow .3s;
}
.world-ready .q-chip:hover { color: var(--ink); border-color: var(--line-2); box-shadow: var(--sk-shadow); }
.world-ready .wd-new-btn { background: var(--sk-glass-2); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.world-ready .wd-ring { border-color: var(--line-2); }
.world-ready .wd-core { color: var(--ink); }
.world-ready .wd-bubble.user { background: var(--ink); color: var(--paper); }
.world-ready :is(.wd-input-area, .wp-input-area) {
  background: var(--sk-glass-2);
  -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
  border-top: 1px solid var(--sk-hair);
}

/* ---------- 12 · 养运：五行之气 ---------- */
/* 五枚圆环以各自五行色描边，并缓慢「呼吸」，依次错开 —— 相生流转 */
.world-ready .wx-circle-row .wx-circle {
  background: color-mix(in srgb, var(--surface) 60%, transparent);
  border-color: var(--line-2);
  transition: transform .4s var(--sk-ease), border-color .3s, box-shadow .4s;
}
.world-ready .wx-circle-row .wx-circle:nth-child(1) { --sk-wx: var(--wx-mu); }
.world-ready .wx-circle-row .wx-circle:nth-child(2) { --sk-wx: var(--wx-huo); }
.world-ready .wx-circle-row .wx-circle:nth-child(3) { --sk-wx: var(--wx-tu); }
.world-ready .wx-circle-row .wx-circle:nth-child(4) { --sk-wx: var(--wx-jin); }
.world-ready .wx-circle-row .wx-circle:nth-child(5) { --sk-wx: var(--wx-shui); }
.world-ready .wx-circle-row .wx-circle {
  border-color: color-mix(in srgb, var(--sk-wx, var(--line-2)) 55%, transparent);
  animation: sk-qi 9s ease-in-out infinite;
}
.world-ready .wx-circle-row .wx-circle:nth-child(2) { animation-delay: 1.8s; }
.world-ready .wx-circle-row .wx-circle:nth-child(3) { animation-delay: 3.6s; }
.world-ready .wx-circle-row .wx-circle:nth-child(4) { animation-delay: 5.4s; }
.world-ready .wx-circle-row .wx-circle:nth-child(5) { animation-delay: 7.2s; }
.world-ready .wx-circle-row .wx-circle:hover { box-shadow: 0 0 0 6px color-mix(in srgb, var(--sk-wx) 14%, transparent); }
@keyframes sk-qi {
  0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--sk-wx) 0%, transparent); }
  50%      { box-shadow: 0 0 0 7px color-mix(in srgb, var(--sk-wx) 10%, transparent); }
}
[data-motion="reduce"] .world-ready .wx-circle-row .wx-circle { animation: none; }
@media (prefers-reduced-motion: reduce) { .world-ready .wx-circle-row .wx-circle { animation: none; } }
.world-ready .cap-card { background: transparent; }

/* ---------- 13 · 自观 ---------- */
.world-ready #zg-home .self-core { border-left-color: var(--primary); }
.world-ready #zg-home .self-core .self-core-tag { color: var(--ink-3); letter-spacing: .26em; }

/* ---------- 14 · 小屏 ---------- */
@media (max-width: 950px) {
  .world-wordmark::after { padding-left: 9px; letter-spacing: .34em; font-size: 9px; }
  .world-ready .world-title::after { margin-top: 12px; font-size: 10px; letter-spacing: .7em; }
  .world-ready .page-title { font-size: clamp(32px, 9vw, 40px); }
  .world-ready .page-sub { letter-spacing: .14em; }
  .world-ready .world-map > .world-portal { padding-inline: 6px; }
}

/* 路由切换后程序性聚焦到页标题（无障碍定位），不需要画出焦点框 */
.world-ready [tabindex="-1"]:focus:not(:focus-visible),
.world-ready :is(h1, h2, h3)[tabindex="-1"]:focus { outline: none; }
@media (max-width: 600px) {
  .world-wordmark::after { display: none; }
}
