/* ソウルナンバー相性 — SOUL NUMBER（本格・数秘術） */
:root {
  --accent: #d4b13c;
  --accent-2: #5b8def;
  --accent-soft: rgba(212, 177, 60, 0.16);
  --glow: 0 0 50px rgba(212, 177, 60, 0.3);
}

.dx-mark .sn-icon {
  width: 30px; height: 30px; border-radius: 50%;
  display: grid; place-items: center; font-family: var(--display); font-weight: 700; font-size: 0.86rem; color: #1a1430;
  background: radial-gradient(circle at 35% 30%, #f3e2a0, #d4b13c 70%, #a8841f);
  box-shadow: 0 0 18px rgba(212, 177, 60, 0.5);
}

/* 数秘エンブレム：回転する二重環＋星 */
.sn-emblem { position: absolute; inset: 0; }
.sn-emblem .ring { position: absolute; inset: 0; border-radius: 50%; border: 1px solid var(--accent-soft); }
.sn-emblem .ring.r2 { inset: 14%; border-style: dashed; border-color: rgba(91,141,239,0.3); animation: dx-spin 50s linear infinite; }
.sn-emblem .ring.r1 { animation: dx-spin 70s linear infinite reverse; }
.sn-emblem .core {
  position: absolute; inset: 30%; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #fff, #f3e2a0 40%, #d4b13c 72%, #a8841f);
  box-shadow: 0 0 50px rgba(212,177,60,0.45), inset -8px -6px 16px rgba(120,90,20,0.5);
  display: grid; place-items: center; font-family: var(--display); font-weight: 700; color: #1a1430; font-size: 1.6rem;
}
.sn-emblem .tick { position: absolute; top: -3px; left: 50%; transform: translateX(-50%); color: var(--accent); font-size: 0.7rem; }

.sn-num { font-family: var(--display); font-weight: 700; }
