/* Text pages rendered by sitegen. Scoped to .jti-page so the legacy jti.css chrome is untouched. */

.jti-page {
  --ink: #222;
  --muted: #666;
  --rule: #d8dbe6;
  --accent: #660000;
  --tint: #f4f5f9;
  --ja: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", "Noto Serif CJK JP", "MS Mincho", serif;
  --en: Georgia, "Times New Roman", serif;
  color: var(--ink);
  font-family: var(--en);
  font-size: 16px;
  line-height: 1.6;
  max-width: 46em;
  margin: 0 auto;
}
.jti-page:lang(ja), .jti-page [lang="ja"] { font-family: var(--ja); }
.jti-page [lang="en"] { font-family: var(--en); }
.jti-page a { color: var(--accent); }

.jti-crumbs { font-size: 0.85em; color: var(--muted); margin-bottom: 1em; }

.jti-work { margin: 0 0 1.5em; }
.jti-work h1 { font-size: 2em; font-weight: normal; margin: 0; letter-spacing: 0.05em; }
.jti-title-en { font-style: italic; font-size: 1.15em; margin: 0.2em 0 0; }
.jti-author { margin: 0.2em 0 0; color: var(--muted); }
.jti-facts { color: var(--muted); font-size: 0.9em; }

.jti-page h2 { font-size: 1.3em; font-weight: normal; border-bottom: 1px solid var(--rule); padding-bottom: 0.2em; margin: 1.6em 0 0.6em; }
.jti-page h3 { font-size: 1.1em; font-weight: bold; margin: 1.4em 0 0.4em; }
.jti-page h4, .jti-page h5, .jti-page h6 { font-size: 1em; margin: 1em 0 0.3em; }

.jti-read ul { padding-left: 1.2em; }
.jti-toc ol { columns: 14em; column-gap: 2em; padding-left: 0; list-style: none; }
.jti-toc ol ol { columns: auto; padding-left: 1em; font-size: 0.95em; }
.jti-toc li { break-inside: avoid; padding: 0.1em 0; }
.jti-about dl { display: grid; grid-template-columns: max-content 1fr; gap: 0.3em 1em; font-size: 0.9em; }
.jti-about dl > div { display: contents; }
.jti-about dt { grid-column: 1; color: var(--muted); }
.jti-about dd { grid-column: 2; margin: 0; }

.jti-pager { display: flex; justify-content: space-between; gap: 1em; margin: 1.5em 0; padding: 0.5em 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); font-size: 0.9em; }
.jti-pager [rel="next"] { margin-left: auto; }

/* Toolbar: shown by text.js. */
.jti-toolbar { display: flex; gap: 0.5em; margin: 0 0 1em; position: sticky; top: 0; z-index: 2; background: #fff; padding: 0.4em 0; }
.jti-toolbar button { font: inherit; font-size: 0.85em; padding: 0.3em 0.8em; border: 1px solid var(--rule); border-radius: 3px; background: #fff; color: var(--ink); cursor: pointer; }
.jti-toolbar button[aria-pressed="true"] { background: var(--tint); border-color: #9aa0b8; box-shadow: inset 0 1px 2px rgba(0,0,0,0.12); }

/* ---- the text */
.jti-text { line-height: 2; }
.jti-text[lang="en"], .jti-page[lang="en"] .jti-text { line-height: 1.6; }
.jti-text p { margin: 0 0 0.9em; }
.jti-text .div, .jti-text section { margin: 0; }
.jti-text .lg { margin: 0.6em 0 0.9em 2em; }
.jti-text .l { margin: 0; }
.jti-text .poem { position: relative; margin: 0 0 1.4em; padding-left: 3em; }
.jti-text .poem .lg { margin-left: 1em; }
.poem-no { position: absolute; left: 0; top: 0.1em; width: 2.4em; text-align: right; color: var(--muted); font-size: 0.8em; }
.poet { margin: 0 !important; color: var(--muted); }
.kotobagaki { margin: 0 0 0.2em !important; font-size: 0.95em; }
.sp { margin: 0 0 1em; }
.speaker { margin: 0 !important; font-weight: bold; font-size: 0.9em; color: var(--accent); }
.sp .l, .sp p { margin-left: 1.5em; }
.stage { font-style: italic; color: var(--muted); }
.gap { display: inline-block; width: 2.5em; }
.jti-page dl.list { display: grid; grid-template-columns: max-content 1fr; gap: 0 1em; }
.jti-page dl.list dd { margin: 0; }
.head { font-weight: bold; margin-bottom: 0.2em; }
.unclear { text-decoration: underline dotted; }
img.gaiji { height: 1em; width: auto; vertical-align: -0.1em; }

.noted { background: linear-gradient(transparent 70%, #f2e6c9 70%); }
.noteref { font-size: 0.7em; line-height: 0; }
.noteref a, .noteback { text-decoration: none; }
aside.note { font-size: 0.85em; color: var(--muted); margin: 0.3em 0 0.6em 1.5em; line-height: 1.6; }
aside.note:target { background: #fff6d8; }

ruby rt { font-size: 0.5em; }
.no-ruby ruby rt, .no-ruby ruby rp { display: none; }

/* Vertical writing: the text scrolls sideways inside its box, starting from the right. */
.jti-text.vertical {
  writing-mode: vertical-rl;
  height: 75vh;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0.5em;
  border: 1px solid var(--rule);
  line-height: 1.9;
}
.jti-text.vertical p { margin: 0 0 0 1em; text-indent: 1em; }
.jti-text.vertical .lg { margin: 2em 1em 0 0.9em; }
.jti-text.vertical .poem { padding: 3em 0 0 0; margin: 0 0 0 1.4em; }
.jti-text.vertical .poem-no { left: auto; right: 0; top: 0; width: auto; writing-mode: horizontal-tb; }
.jti-text.vertical .sp .l, .jti-text.vertical .sp p { margin: 1.5em 0 0 0; }
.jti-text.vertical aside.note { margin: 1.5em 0.6em 0 0; }
.jti-text.vertical h2, .jti-text.vertical h3 { border: 0; margin: 0 0 0 1em; }

.jti-text .titlepage { margin: 1em 0 2em; text-align: center; }
.jti-text .titlepage .title-part { font-size: 1.3em; margin: 0.3em 0; }
.jti-text .titlepage .imprint { color: #555; margin: 0.3em 0; }
.jti-text .space { display: inline-block; }
.jti-text .rule { display: block; margin: 0.8em auto; border-top: 1px solid #aaa; }
.jti-text.vertical .rule { margin: auto 0.8em; border-top: 0; border-right: 1px solid #aaa; }
.jti-text .figure { margin: 1em auto; text-align: center; }
.jti-text .figure img { max-width: 100%; height: auto; }
/* Aozora layout and emphasis (sitegen/aozora.py) */
.jti-text p.indent { padding-inline-start: var(--n); }
.jti-text p.right { text-align: end; padding-inline-end: var(--n); }
.jti-text p.hang { padding-inline-start: var(--n); text-indent: -1em; }
.jti-text .hi-sesame { text-emphasis: sesame; -webkit-text-emphasis: sesame; }
.jti-text .hi-white-sesame { text-emphasis: open sesame; -webkit-text-emphasis: open sesame; }
.jti-text .hi-circle { text-emphasis: open circle; -webkit-text-emphasis: open circle; }
.jti-text .hi-black-circle { text-emphasis: filled circle; -webkit-text-emphasis: filled circle; }
.jti-text .hi-underline { text-decoration: underline; }
.jti-text .hi-underline-double { text-decoration: underline double; }
.jti-text .hi-kaeriten { font-size: 0.6em; vertical-align: sub; }
.jti-text .hi-sup { font-size: 0.6em; vertical-align: super; }
.jti-text small.inline-note { font-size: 0.75em; color: var(--muted); }
.jti-text .figure figcaption { font-size: 0.85em; color: #555; }
.jti-text .bibl { margin-left: 1em; }

/* ---- the saijiki */
.jti-text .entry-head .def { font-weight: normal; }
.jti-text .entry { border-top: 1px solid #eef0f5; padding: 0.6em 0; }
.jti-text .entry-form { margin: 0; }
.jti-text .kigo { font-weight: bold; font-size: 1.1em; }
.jti-text .kana { color: #555; }
.jti-text .entry-re { margin: 0.2em 0 0.4em 1.5em; padding: 0; list-style: none; font-size: 0.95em; }
.jti-text .sense { margin: 0.5em 0 0 1.5em; line-height: 1.6; }
.jti-text .examples { display: flex; flex-wrap: wrap; gap: 0.5em 2.5em; margin: 0.6em 0; }
.jti-text .haiku { display: flex; flex-direction: column; gap: 0.2em; }
.jti-text .haiku .lg { margin: 0; }
.jti-text .haiku .poet { margin: 0; font-size: 0.9em; color: #555; }
.jti-text .examples > .haiku + .haiku { margin-top: 0; }

/* ---- hyakunin isshu */
.jti-text .waka { display: grid; grid-template-columns: 9em 1fr; gap: 0.5em 1.5em; padding: 1em 0;
                  border-top: 1px solid var(--rule); }
.jti-text .waka-no { grid-column: 1 / -1; margin: 0; font-size: 1.1em; }
.jti-text .waka-print { width: 9em; height: auto; }
.jti-text .waka-versions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5em; }
.jti-text .waka-version .lg { margin: 0.3em 0; }
.jti-text .waka-version .poet { font-weight: bold; margin: 0 0 0.3em; }
@media (max-width: 50em) {
  .jti-text .waka { grid-template-columns: 1fr; }
  .jti-text .waka-versions { grid-template-columns: 1fr; gap: 0.6em; }
}

/* ---- side by side */
.jti-page:has(.jti-parallel) { max-width: none; }
.jti-parallel { line-height: 1.9; }
.jti-row { display: grid; grid-template-columns: repeat(var(--cols, 2), minmax(0, 1fr)); gap: 2em; padding: 0.4em 0; border-top: 1px solid #eef0f5; }
.jti-sidebyside { font-size: 0.9em; margin: 0.4em 0 1em; }
.jti-row-head { position: sticky; top: 2.6em; z-index: 1; background: #fff; font-weight: bold; border-top: 0; border-bottom: 1px solid var(--rule); }
.jti-row:target { background: #fff9e6; }
.jti-col p { margin: 0 0 0.6em; }
.jti-col .lg { margin: 0.3em 0 0.6em 1.5em; }
.jti-col[lang="en"] { line-height: 1.6; }
@media (max-width: 40em) {
  .jti-row { grid-template-columns: 1fr; gap: 0.3em; }
  .jti-row .jti-col + .jti-col { padding-left: 0.8em; border-left: 3px solid var(--rule); }
  .jti-row-head { position: static; }
}

@media print {
  .jti-toolbar, .jti-pager { display: none; }
  .jti-text.vertical { height: auto; overflow: visible; border: 0; }
}

/* The noh collection's front page (sitegen/listings.py) */
.jti-noh-plays { border-collapse: collapse; margin: 0.5em 0 1.5em; }
.jti-noh-plays th, .jti-noh-plays td { text-align: start; padding: 0.35em 0.9em 0.35em 0; border-bottom: 1px solid #ddd; vertical-align: top; }
.jti-noh-plays th { font-weight: bold; border-bottom: 2px solid #aaa; }
/* Legacy pages about a text, restyled (sitegen/pages.py) */
.jti-legacy-content { line-height: 1.6; }
.jti-legacy-content table { max-width: 100%; }
.jti-legacy-content img { max-width: 100%; height: auto; }
