/**
 * 静态页引用 katsuji.js 时建议同时引入本文件。
 * ts-gap 须为 inline-block 且 inline-size:0，padding/margin 才会参与排版。
 */
span.ts-gap {
  display: inline-block;
  vertical-align: baseline;
  inline-size: 0;
  min-block-size: 1ex;
  box-sizing: content-box;
}

/* inline-block 会继承 text-indent，半角盒里的字会被推出盒外 */
span.ts-half-punct,
span.ts-line-end-half,
span[data-ts-line-start-nowrap] {
  text-indent: 0;
  min-inline-size: 0;
}

span[data-ts-line-start-nowrap] {
  display: inline-block;
  white-space: nowrap;
  vertical-align: baseline;
}

jukugo {
  display: inline;
}

/* 规范初值就是 space-around；写上是防止页面 reset 把熟语收成挤在头上。
   属性落在 ruby 盒和 rt 注音盒上（CSS Ruby 两者都吃）。只锁标记过的熟语。 */
jukugo ruby,
jukugo ruby > rt,
ruby[jukugo],
ruby[jukugo] > rt,
ruby[data-ts-jukugo-merged],
ruby[data-ts-jukugo-merged] > rt {
  ruby-align: space-around;
}

/* 容器 line-break:anywhere 不进 ruby，断行交还给 UA */
[data-ts-relax="1"] ruby,
[data-ts-relax="1"] rt,
[data-ts-relax="1"] rp,
[data-ts-relax="1"] rtc {
  line-break: auto;
  overflow-wrap: normal;
}
