.presentation-header { display:flex; align-items:center; justify-content:space-between; gap:var(--space-md); padding-top:var(--space-lg); padding-bottom:var(--space-md); border-bottom:3px double var(--color-rule-strong); }
.presentation-header .wordmark { font-size:var(--text-xl); }
.back-link { display:inline-flex; align-items:center; min-height:44px; font-size:var(--text-xs); }
.presentation { padding-top:var(--space-xl); max-width:960px; }
.presentation-meta { display:flex; align-items:center; gap:var(--space-sm); font-size:var(--text-sm); color:var(--color-accent); }
.presentation-meta img { flex-shrink:0; }
.presentation-meta span { margin-left:var(--space-xs); color:var(--color-muted); }
.scope-note,.spoiler-note { max-width:65ch; color:var(--color-muted); font-size:var(--text-xs); margin-top:var(--space-xs); }
.spoiler-note { color:var(--color-accent); }
.presentation-nav { display:flex; flex-wrap:wrap; gap:var(--space-md); margin-block:var(--space-lg) var(--space-xl); border-bottom:var(--rule-hair) solid var(--color-rule); }
.presentation-nav a { display:inline-flex; align-items:center; min-height:44px; font-size:var(--text-sm); }
.presentation-intro { display:grid; grid-template-columns:minmax(0,1fr) 100px; gap:var(--space-lg); align-items:start; }
.section-label,.part-number { color:var(--color-accent); font-size:var(--text-xs); margin-bottom:var(--space-xs); }
.presentation h1 { font-size:clamp(2rem,5vw,3.25rem); }
.presentation h2 { font-size:clamp(1.6rem,4vw,2.5rem); }
.section-subtitle { color:var(--color-muted); margin-top:var(--space-xs); font-size:var(--text-sm); }
.core-characters { grid-column:1/-1; margin-block:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-md) var(--space-lg); }
.core-characters div { border-top:var(--rule-hair) solid var(--color-rule); padding-top:var(--space-sm); min-width:0; }
.core-characters dt { font-weight:700; }
.core-characters dd { margin:var(--space-2xs) 0 0; color:var(--color-muted); font-size:var(--text-sm); }
.core-characters dd strong { font-size:var(--text-xs); font-weight:600; color:var(--color-accent); }
.presentation-book { max-width:100px; width:100%; margin-inline:auto; }
.presentation-book img { display:block; width:100%; height:auto; filter:drop-shadow(var(--shadow-book)); }
.presentation-book figcaption { font-size:var(--text-xs); gap:0; margin-top:var(--space-sm); }
.presentation-book .cover-source { font-size:var(--text-xs); }
.presentation-section { margin-top:var(--space-2xl); padding-top:var(--space-xl); border-top:var(--rule-hair) solid var(--color-rule-strong); scroll-margin-top:var(--space-lg); }
.reading-parts { margin-top:var(--space-lg); display:grid; gap:var(--space-lg); }
.reading-parts article { padding-top:var(--space-md); border-top:var(--rule-hair) solid var(--color-rule); }
.reading-parts h3 { font-size:var(--text-base); }
.reading-parts article>p:last-child { margin-top:var(--space-xs); max-width:60ch; }
.personal-thought { max-width:60ch; margin-top:var(--space-lg); }
.discussion-question { margin-top:var(--space-xl); border-left:3px solid var(--color-accent); padding-left:var(--space-lg); }
.discussion-question .question-text { font-family:var(--font-display); font-size:var(--text-lg); line-height:1.8; }
.discussion-question .section-label:not(:first-child) { margin-top:var(--space-lg); }
.question-note,.personal-example { max-width:60ch; margin-top:var(--space-md); font-size:var(--text-sm); color:var(--color-muted); }
.supplement { margin-top:var(--space-lg); border-block:var(--rule-hair) solid var(--color-rule); }
.supplement summary { font-weight:600; padding-block:var(--space-sm); }
.supplement-body { padding-bottom:var(--space-lg); font-size:var(--text-sm); }
.supplement-body .source-note { margin-top:0; }
.supplement-body p+p,.supplement-body ul,.supplement-body .table-wrap { margin-top:var(--space-sm); }
.supplement-body ul { padding-left:var(--space-lg); }
.supplement-body a { overflow-wrap:anywhere; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; text-align:left; font-size:var(--text-xs); }
caption { text-align:left; color:var(--color-muted); padding-bottom:var(--space-xs); }
th,td { border-bottom:var(--rule-hair) solid var(--color-rule); padding:var(--space-xs); vertical-align:top; }
thead th { color:var(--color-accent); }
@media(min-width:40rem) { .presentation-intro { grid-template-columns:minmax(0,1fr) 180px; gap:var(--space-xl); }.presentation-book { max-width:180px; }.reading-parts { grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-lg); }.presentation-book figcaption { line-height:1.6; } }
@media(max-width:25rem) { .presentation-header { flex-wrap:wrap; }.presentation-book { max-width:100px; }.core-characters { gap:var(--space-sm); }.discussion-question { padding-left:var(--space-md); } }

@media(max-width:39.99rem) { .table-wrap { overflow:visible; } table,tbody,tr,th,td { display:block; } thead { display:none; } tbody tr { border-bottom:var(--rule-hair) solid var(--color-rule); padding-block:var(--space-sm); } tbody th,tbody td { border:0; padding:0; } tbody th { font-size:var(--text-sm); } tbody td+td { color:var(--color-muted); } }

.supplement-group { margin-top:var(--space-xl); }
.supplement-group h2 { font-size:var(--text-base); }
.supplement-group .supplement + .supplement { margin-top:0; border-top:0; }
.reference-links { color:var(--color-muted); font-size:var(--text-xs); line-height:2; }
