* { box-sizing: border-box; }
body { max-width: 1040px; margin: 0 auto; padding: 24px 32px 48px; color: #111; background: #fff; font: 16px/1.5 Arial, Helvetica, sans-serif; }
header { border-bottom: 2px solid #333; margin-bottom: 24px; }
h1, h2, h3 { font-family: Georgia, "Times New Roman", serif; }
h1 { margin: 0; font-size: 2rem; }
h2 { margin: 34px 0 10px; padding-bottom: 4px; border-bottom: 1px solid #999; font-size: 1.45rem; }
h3 { margin: 20px 0 7px; font-size: 1.08rem; }
p { margin: 8px 0; }
ul { margin: 8px 0; padding-left: 25px; }
li { margin: 4px 0; }
a { color: #0645ad; text-decoration: underline; }
a:visited { color: #0b0080; }
a:hover { color: #b00000; }
.subtitle { margin: 2px 0 12px; color: #444; font-family: Georgia, "Times New Roman", serif; font-style: italic; }
.notice { padding: 10px 12px; border: 1px solid #bbb; background: #f6f6f6; }
.topic-nav { margin: 28px 0; padding: 0 0 16px; border-bottom: 1px solid #999; }
.topic-nav h2 { margin-top: 0; }
.topic-nav ul { columns: 2 280px; }
.topic-nav li { break-inside: avoid; }
.topic { padding-top: 2px; }
.file-group { margin: 17px 0; }
.file-group + .file-group { padding-top: 12px; border-top: 1px solid #ddd; }
.file-group h3 { color: #333; }
.file-list { margin: 8px 0; padding-left: 0; list-style: none; }
.file-item { margin: 0; padding: 10px 0; border-top: 1px solid #eee; }
.file-link { display: flex; flex-wrap: wrap; gap: 4px; align-items: baseline; }
.file-name { color: #555; font: .86rem "Courier New", monospace; }
.file-summary { margin: 4px 0 0 22px; padding-left: 16px; color: #333; }
.file-summary li { margin: 0; }
.reused { color: #555; font-size: .88rem; }
.transcript { padding-bottom: 22px; border-bottom: 1px solid #bbb; }
.transcript:last-child { border-bottom: 0; }
.disclaimer { margin-top: 16px; padding: 10px 12px; border: 1px solid #bbb; background: #f6f6f6; color: #333; }
footer { margin-top: 42px; padding-top: 12px; border-top: 1px solid #999; color: #444; font-size: .85rem; }
@media (max-width: 600px) { body { padding: 16px; font-size: 15px; } h1 { font-size: 1.7rem; } .topic-nav ul { columns: 1; } }
