/* Work-scoped content and list widths; replace the filename slug on copy. */
.lis-content { line-height: 1.8; }
.lis-content h2, .lis-toc h2 { margin-top: 0; }
.lis-content h3 { margin: 1em 0 .35em; color: var(--accent); font-size: 1.02rem; }
.lis-content p { margin: .45em 0; }
.lis-steps { padding-left: 1.65em; margin: .6em 0; }
.lis-steps li { padding-left: .2em; margin: .7em 0; }
.lis-steps li::marker { color: var(--accent); font-weight: 700; }
.lis-toc ul { padding-left: 1.25em; margin: .35em 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 16px; }
.lis-toc a { display: inline-block; padding: 4px 0; }
.lis-toc-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.lis-toc-groups h3 { margin: 0 0 4px; color: var(--accent); font-size: 1rem; }
.lis-toc-groups ul { display: block; margin: 0; }
.lis-toc-groups a { min-height: 44px; padding: 9px 0; }
.lis-section-nav { margin: 12px 0 0; text-align: right; }
.lis-section-nav a { display: inline-block; min-height: 44px; padding: 9px 0; }
.lis-content, .lis-toc, [data-static-list] { scroll-margin-top: 18px; }
body[data-rendering="static"] .character-detail p { line-height: 1.75; margin: .3em 0; }
.character-detail > .character-detail-item:only-child { grid-column: 1 / -1; }
body[data-rendering="static"] .character-table th:first-child { width: 43%; }
body[data-rendering="static"] .character-table th:nth-child(2) { width: 24%; }
body[data-rendering="static"] .character-table td { overflow-wrap: anywhere; }
.character-card-value { flex-direction: column; align-items: stretch; }
.character-card-value > span { display: block; }
.character-card-value > span + span { margin-top: 3px; }
.character-card-value > span + span::before { content: attr(data-label) "："; }
@media (max-width: 850px) {
  #choice-list .character-detail-item,
  #photo-list .character-detail-item:first-child {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }
}
@media (max-width: 600px) {
  .lis-toc ul { grid-template-columns: 1fr; gap: 2px; }
  .lis-steps { padding-left: 1.45em; }
  .lis-content { line-height: 1.75; }
  .lis-toc a { min-height: 32px; }
}

.ru-title-series, .ru-title-work, .static-page-kind { display: inline-block; }
.site-intro-copy a { white-space: nowrap; }
.ru-card-role { margin: 0 12px 9px; font-size: .85rem; line-height: 1.5; }
.ru-card-kind { margin: 0 12px 9px; font-size: .85rem; line-height: 1.5; }
.ru-card-kind::before { content: attr(data-label) "："; }
.ru-list-intro { line-height: 1.75; }
.ru-toc-term { display: inline-block; }
.lis-toc a { display: block; }
.ru-gameplay-list { scroll-margin-top: 18px; }
.ru-gameplay-list > h2 { color: var(--accent); font-size: 1.25rem; line-height: 1.5; }
.ru-gameplay-list .character-detail { grid-template-columns: minmax(0, 1fr); }
.ru-gameplay-list .character-detail-item { grid-template-columns: minmax(0, 1fr); gap: 3px; }
.ru-gameplay-list .character-detail-item p { margin: .25em 0; }
.ru-scene-name { font-size: .85rem; color: var(--text-sub, #555); }
.ru-day-links { padding-left: 1.25em; }
.ru-day-links a { display: inline-block; padding: 9px 0; min-height: 44px; }
.lis-content h3[id] { scroll-margin-top: 18px; }
.ru-gameplay-list .character-table th:first-child { width: 49%; }
.ru-gameplay-list .character-table th:nth-child(2) { width: 18%; }
#game-info dl { margin-bottom: 0; }
#game-info dt { margin-top: .6em; font-weight: 700; color: var(--accent); }
#game-info dd { margin: .25em 0 .8em 1em; overflow-wrap: anywhere; }
@media (max-width: 850px) {
  #characters .character-mobile-sort-button { white-space: nowrap; }
  #characters .character-mobile-list-head,
  #characters .character-card-summary--with-value { grid-template-columns: minmax(0, 1fr) 5.5rem; }
  .ru-gameplay-list .character-mobile-list-head,
  .ru-gameplay-list .character-card-summary--with-value { grid-template-columns: minmax(0, 1fr) 5rem; }
  .ru-gameplay-list .character-card-name-cell { min-width: 0; }
}
@media (max-width: 600px) {
  body[data-rendering="static"] .site-intro .subpage-title { line-height: 1.45; }
  body[data-rendering="static"] .character-detail-item { grid-template-columns: minmax(0, 1fr); gap: 3px; }
  .lis-toc a { min-height: 44px; }
}
