:root { --ink: #152a28; --muted: #4a6a66; --rule: #bfdcd5; --bg: #f5fbf9; --panel: #e2f0ed; --sky: #dcebf4; --link: #15607f; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink);
  font-family: "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", Georgia, serif;
  line-height: 1.7; }
main, header, footer { max-inline-size: 48rem; margin-block: 0; margin-inline: auto;
  padding-inline: 1.25rem; }
header { border-block-end: 1px solid var(--rule);
  padding-block: 1.5rem 1rem; }
header a.site { font-size: 1.15rem; font-weight: bold; text-decoration: none; color: var(--ink); }
nav { margin-top: .5rem; font-size: .9rem; }
nav a { margin-right: 1rem; }
a { color: var(--link); }
main { padding-block: 1.5rem 3rem; }
h1 { font-size: 1.6rem; line-height: 1.35; margin-block: 0 .25rem; }
h2 { font-size: 1.15rem; margin-block: 2rem .5rem;
  border-block-end: 1px solid var(--rule); padding-block-end: .25rem; }
.en { color: var(--muted); font-weight: normal; }
.reading { color: var(--muted); margin-block: 0 1rem; }
.maturity { border-inline-start: 3px solid var(--rule); padding-inline-start: .75rem;
  font-size: .95rem; }
.stats { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 1.5rem; }
.stats li { margin: 0; }
.stats .n { font-size: 1.5rem; display: block; }
dl.facts { display: grid; grid-template-columns: max-content 1fr; gap: .35rem 1.25rem; margin: 0; }
dl.facts dt { color: var(--muted); font-size: .9rem; }
dl.facts dd { margin: 0; }
ul.works, ul.plain { list-style: none; padding: 0; }
ul.works li { padding: .35rem 0; border-bottom: 1px solid var(--rule); }
ul.works .by { color: var(--muted); font-size: .9rem; }
ul.works .variant { color: var(--muted); font-size: .85rem; }
ul.cols { list-style: none; padding: 0; columns: 2; }
ul.plain li.evidence { margin-block-start: .5rem; padding-block-start: .5rem;
  border-block-start: 1px solid var(--rule); }
code.citation { display: block; white-space: pre-wrap; overflow-wrap: anywhere;
  padding: .6em .8em; background: var(--panel); border-radius: 3px; }
code { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: .85em;
  overflow-wrap: anywhere; }
footer { border-block-start: 1px solid var(--rule); padding-block: 1rem 3rem;
  font-size: .85rem; color: var(--muted); }
#q { width: 100%; padding: .6rem .8rem; font-size: 1rem; font-family: inherit;
  border: 1px solid var(--rule); background: #fff; }
#results:empty { display: none; }
button.copy { margin-inline-start: .5em; padding: .1em .5em; font: inherit;
  font-size: .75em; line-height: 1.6; color: var(--muted); cursor: pointer;
  background: var(--bg); border: 1px solid var(--rule); border-radius: 3px;
  vertical-align: middle; }
button.copy:hover, button.copy:focus-visible { color: var(--ink);
  background: var(--panel); }
button.copy.done { color: var(--link); border-color: var(--link); }
pre + button.copy, code.citation + button.copy { display: block;
  width: fit-content; margin: .4rem 0 0; margin-inline-start: auto; }
@media (max-width: 32rem) { dl.facts { grid-template-columns: 1fr; } ul.cols { columns: 1; } }
main.doc h3 { font-size: 1.05rem; margin: 1.5rem 0 .5rem; }
main.doc table { border-collapse: collapse; width: 100%; font-size: .9rem;
  display: block; overflow-x: auto; }
main.doc th, main.doc td { border: 1px solid var(--rule); padding: .3rem .5rem;
  text-align: start; vertical-align: top; }
main.doc th { background: var(--sky); }
main.doc pre { background: var(--panel); padding: .6rem .8rem; border-radius: 3px;
  overflow-x: auto; font-size: .85rem; line-height: 1.5; }
main.doc pre code { font-size: 1em; overflow-wrap: normal; }
main.doc blockquote { margin: 1rem 0; padding-inline-start: 1rem;
  border-inline-start: 3px solid var(--rule); color: var(--muted); }
nav.siblings { margin-top: 3rem; border-top: 1px solid var(--rule); padding-top: 1rem;
  font-size: .9rem; }
p.controls { margin-block: 1rem 2rem; font-size: .9rem; }
p.controls label { cursor: pointer; }
details.front { margin-block: 0 2rem; font-size: .9rem; color: var(--muted); }
details.front summary { cursor: pointer; }
details.bibtex summary { cursor: pointer; color: var(--muted); font-size: .9rem; }
details.bibtex pre { margin: .5rem 0 0; padding: .6em .8em; background: var(--panel);
  border-radius: 3px; font-family: ui-monospace, Menlo, Consolas, monospace;
  font-size: .85em; white-space: pre-wrap; overflow-wrap: anywhere; }
.colophon, .provenance { font-size: .9rem; }
.tei { line-height: 2; }
.tei section { margin-block: 0 1.5rem; }
.tei p { margin-block: 0 1em; }
.tei h2, .tei h3, .tei h4 { border: none; padding: 0; margin-block: 2rem 1rem; }
.tei h2 { font-size: 1.3rem; }
.tei h3 { font-size: 1.15rem; }
.tei h4 { font-size: 1.05rem; }
.tei ruby { ruby-align: center; }
.tei rt { font-size: .5em; font-weight: normal; }
.tei .gaiji { border-bottom: 1px dotted var(--muted); }
.tei .gaiji-unmapped { color: var(--muted); }
.tei .app, .tei .choice { border-bottom: 1px dotted var(--rule); }
.tei .note { font-size: .85em; color: var(--muted); }
.tei .gap { color: var(--muted); }
.tei .pb { display: block; block-size: 1px; background: var(--rule); margin-block: 1.5rem; }
.tei figure { margin-block: 1.5rem; margin-inline: 0; padding: .75rem;
  border: 1px dashed var(--rule);
  color: var(--muted); font-size: .9em; }
.tei .graphic-url { font-size: .8em; }
.tei .ref-target { font-size: .8em; color: var(--muted); }
.tei .rend-bold { font-weight: bold; }
.tei .rend-italic { font-style: italic; }
.tei .rend-gothic, .tei .rend-textbook {
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", sans-serif; }
.tei .rend-dots { text-emphasis: filled sesame; }
.tei .rend-dots-open { text-emphasis: open sesame; }
.tei .rend-dots-circle { text-emphasis: filled circle; }
.tei .rend-dots-circle-open { text-emphasis: open circle; }
.tei .rend-dots-double-circle { text-emphasis: open double-circle; }
.tei .rend-dots-cross { text-emphasis: filled "\00d7"; }
.tei .rend-dots-triangle { text-emphasis: filled triangle; }
.tei .rend-dots-triangle-open { text-emphasis: open triangle; }
.tei .rend-line { text-decoration: underline; }
.tei .rend-line-double { text-decoration: underline double; }
.tei .rend-line-wavy { text-decoration: underline wavy; }
.tei .rend-line-dashed { text-decoration: underline dashed; }
.tei .rend-left { text-emphasis-position: under left; text-underline-position: left; }
.tei .layout-chitsuki { display: block; text-align: end; }
.tei .layout-jizume { display: block; }
.tei .layout-exponent { vertical-align: super; font-size: .75em; }
.tei .layout-baseline-position { vertical-align: sub; font-size: .85em; }
.tei .layout-small-script { font-size: .75em; }
.tei .layout-tcy { text-combine-upright: all; }
.tei .layout-keigakomi { border: 1px solid var(--muted); padding: 0 .2em; }
.tei .layout-yokogumi { writing-mode: horizontal-tb; display: inline-block; }
.tei .layout-fraction { font-size: .85em; }
.tei .type-warichu { font-size: .7em; }
.tei .type-upper, .tei .type-lower { display: block; line-height: 1.2; }
.tei .type-heading { font-weight: bold; }
body:has(#tategaki:checked) { writing-mode: vertical-rl; text-orientation: mixed; }