/* ===== M02 导航字号阶梯（2026-11-01 定稿，实测 1280/911/683 不换行） =====
   现状问题：桌面 16.56px、平板/手机 15px，「更多」比主链小 1.4px（13.5/15.12），
   同一视觉基准线上字号突变，重心塌陷。这里统一到一条阶梯：
   ≥1200 → 15px；768–1199 → 14px；<768 → 14px（手机同平板，靠横向滚动兜底）。
   点击区一律 ≥44px，导航高度仍是 64px，不动布局。 */
body .nav-links a,
body .nav-side a {
  font-size: clamp(0.875rem, 0.82rem + 0.25vw, 0.9375rem);
  line-height: 1.2;
  letter-spacing: 0.02em;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
body .nav-more-btn {
  font-size: clamp(0.875rem, 0.82rem + 0.25vw, 0.9375rem);
  line-height: 1.2;
  font-weight: 400;
  min-height: 44px;
}
body #navSearchInput { font-size: clamp(0.8125rem, 0.78rem + 0.15vw, 0.875rem); }
body .nav .lang-btn {
  font-size: clamp(0.8125rem, 0.78rem + 0.15vw, 0.875rem);
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
@media (max-width: 1199px) {
  body .nav-links a,
  body .nav-side a,
  body .nav-more-btn { letter-spacing: 0; }
}

/* ===== M02 每日一卦中栏：三态尺寸与起卦反馈 ===== */
/* 铜钱 / 时间 / 数字 三块主视觉原来都是 700×700 撑满中栏，静得太满；
   统一收到 clamp 区间，中栏留出上下呼吸位。 */
body #compassWrap { max-width: min(540px, 92%); margin-inline: auto; }
body #coinsVisual,
body #timeVisual,
body #numsVisual { width: 100%; max-width: min(520px, 92%); margin-inline: auto; }

/* 数字卦中栏三张卡：去掉与左栏重复的「上卦数/下卦数/动爻数」小字，
   也去掉角标「上/下/动」（用户 2026-11-01 16:1x：框里的字删掉，等 Gemini 给换法）。 */
body #numsVisual .nv-cap { display: none; }


/* 起卦中：按钮锁住，中栏给 1.5 秒可见反馈（抛币 / 转盘 / 数字滚） */

body .stage-center.is-casting #timeVisual svg { animation: m02DialSpin 1.5s cubic-bezier(0.2, 0.9, 0.3, 1) both; }
@keyframes m02DialSpin {
  0%   { transform: rotate(0deg); }
  70%  { transform: rotate(320deg); }
  100% { transform: rotate(360deg); }
}
body .stage-center.is-casting #numsVisual .nv-tile { animation: m02NumRoll 1.5s cubic-bezier(0.15, 0.9, 0.3, 1) both; }
@keyframes m02NumRoll {
  0%   { filter: blur(0); transform: translateY(0); }
  20%  { filter: blur(4px); transform: translateY(-14%); }
  70%  { filter: blur(2px); transform: translateY(4%); }
  100% { filter: blur(0); transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  body .stage-center.is-casting #coinsVisual svg,
  body .stage-center.is-casting #timeVisual svg,
  body .stage-center.is-casting #numsVisual .nv-tile { animation: none; }
}

/* 数字卦左栏三个数字格：点进去光标要居中，不能靠右。
   实测 .ng-box input 已是 text-align:center，但 type=number 在部分 Chrome 下
   会因 spinner 预留宽度 / padding 把光标挤到右边，这里统一钉死。 */
body #numGrid input,
body .ng-box input {
  text-align: center !important;
  text-indent: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  direction: ltr;
}
body #numGrid input::-webkit-outer-spin-button,
body #numGrid input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* 中栏三张数字卡：去掉角标后，数字本身居中 */
body #numsVisual .nv-tile { text-align: center; }