/* EDF series guide components; shared header, footer and advertising retain their contracts. */
body[data-edf-guide] .edf-page-nav { display: flex; flex-wrap: wrap; gap: .35rem 1rem; margin: .8rem 0; font-size: .88rem; }
body[data-edf-guide] .edf-page-nav a { padding: .2rem 0; }
body[data-edf-guide] .edf-work-contents { padding: 16px; }
body[data-edf-guide] .edf-work-contents h2 { margin: 0 0 .65rem; font-size: 1.15rem; }
body[data-edf-guide] .edf-work-contents h3 { margin: 1rem 0 .5rem; font-size: 1rem; }
body[data-edf-guide] .edf-contents-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
body[data-edf-guide] .edf-contents-links a { display: flex; align-items: center; min-height: 44px; padding: 8px 10px; border: 1px solid var(--line, #d4dfd6); border-radius: 6px; line-height: 1.5; overflow-wrap: anywhere; }
body[data-edf-guide] .edf-section-back { margin: .4rem 0 1rem; }
body[data-edf-guide] .edf-section-back a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 0; }
body[data-edf-guide] .edf-list-heading { margin: 1rem 0 .6rem; font-size: 1.15rem; }
body[data-edf-guide] .edf-list-intro { line-height: 1.75; }
body[data-edf-guide] .edf-copy { line-height: 1.85; overflow-wrap: anywhere; }
body[data-edf-guide] .edf-copy h2 { margin: 0 0 .7rem; font-size: 1.15rem; }
body[data-edf-guide] .edf-copy h3 { margin: 1.15rem 0 .35rem; font-size: 1rem; color: var(--accent); }
body[data-edf-guide] .edf-copy p { margin: .5rem 0 .85rem; }
body[data-edf-guide] .edf-copy li { margin: .45rem 0; }
body[data-edf-guide] .edf-copy section + section { border-top: 1px solid var(--line, #d4dfd6); margin-top: 1.1rem; padding-top: .1rem; }
body[data-edf-guide] .edf-note { border-left: 3px solid var(--accent); padding: .5rem .8rem; background: var(--paper, #fff); line-height: 1.7; font-size: .85rem; }
body[data-edf-guide] .edf-definition { display: grid; grid-template-columns: minmax(6rem, .3fr) minmax(0, 1fr); gap: .6rem 1rem; }
body[data-edf-guide] .edf-definition dt { font-weight: 700; }
body[data-edf-guide] .edf-definition dd { margin: 0; }
body[data-edf-guide] .edf-timeline { padding-left: 1.4rem; }
body[data-edf-guide] .edf-timeline li { padding: 0 0 .65rem .35rem; }
body[data-edf-guide] .edf-timeline strong { display: block; color: var(--accent); }
body[data-edf-guide] [data-static-list] .character-filter-grid { display: flex; flex-wrap: wrap; gap: .75rem; }
body[data-edf-guide] [data-static-list] .character-filter-control { flex: 1 1 180px; min-width: 0; }
body[data-edf-guide] [data-static-list] .character-filter-select { width: 100%; min-width: 0; }
body[data-edf-guide] .edf-list .character-table { table-layout: fixed; width: 100%; }
body[data-edf-guide] .edf-list .character-table th,
body[data-edf-guide] .edf-list .character-table td { white-space: normal; overflow-wrap: anywhere; vertical-align: top; }
body[data-edf-guide] .edf-list .character-table th:first-child { width: 39%; }
body[data-edf-guide] .edf-list .character-table th:nth-child(2) { width: 25%; }
body[data-edf-guide] .edf-list .character-table th:nth-child(3) { width: 10%; }
body[data-edf-guide] .edf-list .character-table th:nth-child(4) { width: 26%; }
body[data-edf-guide] .edf-list[data-list-kind="missions"] .character-table th:first-child { width: 10%; }
body[data-edf-guide] .edf-list[data-list-kind="missions"] .character-table th:nth-child(2) { width: 30%; }
body[data-edf-guide] .edf-list[data-list-kind="missions"] .character-table th:nth-child(3) { width: 19%; }
body[data-edf-guide] .edf-list[data-list-kind="missions"] .character-table th:nth-child(4) { width: 41%; }
body[data-edf-guide] .edf-list[data-list-kind="enemies"] .character-table th:first-child { width: 39%; }
body[data-edf-guide] .edf-list[data-list-kind="enemies"] .character-table th:nth-child(2) { width: 20%; }
body[data-edf-guide] .edf-list[data-list-kind="enemies"] .character-table th:nth-child(3) { width: 41%; }
body[data-edf-guide] .edf-list .character-name-button { width: 100%; line-height: 1.5; padding: 8px 0; align-items: flex-start; }
body[data-edf-guide] .edf-list .character-name-static { line-height: 1.5; }
body[data-edf-guide] .edf-list .character-name-text { min-width: 0; overflow-wrap: anywhere; }
body[data-edf-guide] .edf-list .character-detail { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
body[data-edf-guide] .edf-list .character-detail h3 { margin: 0 0 .25rem; }
body[data-edf-guide] .edf-list .character-detail-item h3 { white-space: normal; overflow-wrap: anywhere; min-width: 0; }
body[data-edf-guide] .edf-list .character-detail-item > div { min-width: 0; font-size: .9rem; font-weight: 400; line-height: 1.7; overflow-wrap: anywhere; }
body[data-edf-guide] .edf-list .character-detail-item ol { margin: 0; padding-left: 1.3rem; }
body[data-edf-guide] .edf-list .character-detail-item li + li { margin-top: .5rem; }
body[data-edf-guide] .edf-list .character-detail p { margin: 0; line-height: 1.7; overflow-wrap: anywhere; }
body[data-edf-guide] .edf-card-meta { display: flex; flex-wrap: wrap; gap: .2rem .8rem; margin: .2rem 0 .5rem; padding: 0 10px; font-size: .76rem; line-height: 1.6; }
body[data-edf-guide] .edf-card-meta span { overflow-wrap: anywhere; }
body[data-edf-guide] .edf-card-meta b { margin-right: .35em; }
body[data-edf-guide] .edf-goal { margin: .3rem 10px .65rem; line-height: 1.65; font-size: .83rem; }
@media (max-width: 850px) {
  body[data-edf-guide] .edf-list .character-card-summary--with-value,
  body[data-edf-guide] .edf-list .character-mobile-list-head { grid-template-columns: minmax(0, 1fr) 4rem; }
  body[data-edf-guide] .edf-list[data-list-kind="enemies"] .character-card-summary--with-value,
  body[data-edf-guide] .edf-list[data-list-kind="enemies"] .character-mobile-list-head { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }
  body[data-edf-guide] .edf-list .character-card { padding-bottom: 3px; }
  body[data-edf-guide] .edf-list .character-detail { grid-template-columns: minmax(0, 1fr); }
  body[data-edf-guide] .edf-list .character-card--plain .character-card-summary { cursor: default; }
  body[data-edf-guide] .edf-copy { padding: 14px; }
  body[data-edf-guide] .edf-definition { grid-template-columns: minmax(0, 1fr); gap: .2rem; }
  body[data-edf-guide] .edf-definition dd { margin-bottom: .6rem; }
}
