/* 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; }
}

/* 長い正式タイトルと固有名を、既存部品の中で折り返す。 */
body[data-rendering="static"] .site-intro .subpage-title { line-height: 1.5; overflow-wrap: anywhere; }
.cs-title-word { display: inline-block; white-space: nowrap; }
.cs-task-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; padding-left: 1.25em; }
.cs-task-links a { display: inline-block; min-height: 44px; padding: 8px 0; }
.cs-choice-notes dt { margin-top: .9em; font-weight: 700; color: var(--accent); }
.cs-choice-notes dd { margin: .25em 0 .8em; }
#guide h3, #choices h3, #play-basics h3 { scroll-margin-top: 18px; }
@media (max-width: 600px) {
  .cs-task-links { grid-template-columns: minmax(0, 1fr); }
  #contents a { min-height: 44px; padding: 8px 0; }
}
body[data-rendering="static"] .site-intro-copy { line-height: 1.8; text-align: left; max-width: none; }
body[data-rendering="static"] #game-info dl { line-height: 1.8; }
body[data-rendering="static"] #game-info dd { margin-left: 0; margin-bottom: .75em; overflow-wrap: anywhere; }
body[data-rendering="static"] #game-info dt { font-weight: 700; color: var(--accent); }
@media (max-width: 850px) {
  body[data-rendering="static"] [data-static-list] .character-mobile-list-head,
  body[data-rendering="static"] [data-static-list] .character-card-summary--with-value { grid-template-columns: minmax(0, 1fr) 5.2rem; }
  body[data-rendering="static"] .character-name-text { overflow-wrap: anywhere; }
  body[data-rendering="static"] [data-static-list] .character-card-value { white-space: nowrap; overflow-wrap: normal; line-height: 1.5; }
  body[data-rendering="static"] .character-detail-item { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}
