:root {
  color-scheme: light;
  --paper: #f6f3eb;
  --ink: #213749;
  --muted: #586467;
  --rule: #d5cfc2;
  --accent: #83523b;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: normal;
  color: var(--ink);
  background: var(--paper);
}

* { box-sizing: border-box; }
.course-sheet > h2, .course-pages h3 { color: var(--lb); }
@media print {
  .course-sheet:last-child .course-pages article:last-child { break-after: auto; }
}
body { margin: 0; color: var(--ink); background: var(--paper); font-family: inherit; font-weight: normal; }
a { color: inherit; text-underline-offset: 5px; }
a:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
.skip { position: absolute; inset-block-start: 8px; inset-inline-start: 16px; z-index: 100; padding: 12px 18px; background: var(--ink); color: var(--paper); transform: translateY(-160%); }
.skip:focus { transform: none; }
.wrap { max-width: 1200px; margin-inline: auto; padding-inline: clamp(20px, 5vw, 72px); }
.masthead { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding-block: 34px 22px; border-block-end: 2px solid var(--ink); }
.wordmark { font-size: 30px; font-weight: normal; letter-spacing: -1px; margin: 0; }
.masthead-note { margin: 0; color: var(--muted); font: 12px system-ui, sans-serif; letter-spacing: 0.06em; }
.subjects { display: flex; flex-wrap: wrap; gap: 6px 23px; padding-block: 14px; border-block-end: 1px solid var(--rule); }
.subjects a { min-block-size: 36px; padding-block: 10px; font: 12px/1.3 system-ui, sans-serif; text-decoration: none; }
.subjects a:hover { text-decoration: underline; }
.subjects [aria-current="page"] { color: var(--accent); text-decoration: underline; font-weight: 600; }
.eyebrow { font: 600 10px system-ui, sans-serif; letter-spacing: 0.18em; text-transform: uppercase; margin: 0 0 18px; color: var(--accent); }
footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-block: 20px 28px; border-block-start: 1px solid var(--rule); }
footer p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
footer a { color: var(--accent); font: 12px/1.6 system-ui, sans-serif; }
.footer-note { font: 10px/1.6 system-ui, sans-serif; letter-spacing: 0.03em; }

@media (max-width: 760px) {
  .masthead { padding-block-start: 24px; }
  .masthead-note { max-width: 15ch; text-align: end; line-height: 1.5; }
  .subjects { gap: 3px 17px; }
}

@media print {
  .skip, .subjects { display: none; }
  .wrap { max-width: none; padding-inline: 0; }
}

/* The same paper, ruling and type scale serve every numbered notes course. */
.notes-site .notes-intro { padding-block: 44px 30px; }
.notes-site .notes-intro h1 { max-width: 26ch; margin: 0 0 18px; font-size: clamp(34px, 4.5vw, 54px); font-weight: normal; line-height: 1.12; letter-spacing: -1px; }
.notes-site .notes-intro > p:not(.eyebrow) { max-width: 85ch; color: var(--muted); font-size: 15px; line-height: 1.75; }
.notes-site .notes-intro h1 + p { font: 12px/1.7 system-ui, sans-serif; letter-spacing: 0.04em; }
.notes-site .notes-intro nav { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-block: 24px 16px; font: 12px/1.7 system-ui, sans-serif; }
.notes-site .contents { columns: 2; padding-inline-start: 24px; margin-block: 22px; font-size: 14px; line-height: 1.8; }
.notes-site .contents li { break-inside: avoid; }
.notes-site .topic { margin-block-end: 28px; scroll-margin-block-start: 12px; }
.notes-site .pages { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 22px; align-items: start; }
.notes-site .pages > article { min-inline-size: 0; }
.notes-site .topic-title, .notes-site .page-title { color: var(--lb); font-size: 22px; line-height: 1.25; font-weight: normal; margin: 0 0 7px; }
.notes-site .page-title { display: none; }
.notes-site .caption, .notes-site .downloads { margin: 0 0 12px; font: 11px/1.5 system-ui, sans-serif; color: var(--muted); }
.notes-site .sheet { background: #fffefb; border: 1px solid var(--rule); padding-block: 18px; padding-inline: 14px 18px; }
.notes-site .line { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 8px; min-height: 37px; }
.notes-site .number { padding-block-start: 7px; color: var(--muted); font: 9px/1.5 system-ui, sans-serif; text-align: end; user-select: none; }
.notes-site .note { white-space: pre-wrap; overflow-wrap: anywhere; color: var(--pen); border-block-end: 1px solid #efede7; padding-block: 5px; font-size: 14px; line-height: 26px; }
@media (max-width: 960px) {
  .notes-site .pages { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
  .notes-site .notes-intro { padding-block: 32px 24px; }
  .notes-site .contents { columns: 1; }
  .notes-site .sheet { padding-block: 12px; padding-inline: 5px 10px; }
  .notes-site .line { grid-template-columns: 17px minmax(0, 1fr); gap: 6px; }
  .notes-site .note { font-size: 13px; line-height: 23px; }
  .notes-site .topic-title { font-size: 21px; }
}
@page notes { size: A4 portrait; margin: 12mm; }
@media print {
  .notes-site { page: notes; padding: 0; background: white; }
  .notes-site header, .notes-site footer, .notes-site .skip, .notes-site .topic-title, .notes-site .downloads { display: none; }
  .notes-site main, .notes-site .pages { display: block; }
  .notes-site .topic { margin: 0; }
  .notes-site .pages > article { break-after: page; break-inside: avoid; }
  .notes-site .page-title { display: block; font-size: 20px; }
  .notes-site .caption { margin-block-end: 3mm; }
  .notes-site .sheet { box-shadow: none; padding: 4mm; }
  .notes-site .line { grid-template-columns: 22px minmax(0, 1fr); gap: 8px; height: var(--note-row-height, 8.8mm); min-height: 0; }
  .notes-site .number { padding-block-start: 0.6mm; }
  .notes-site .note { font-size: 12px; line-height: 3.8mm; padding-block: 0.6mm; }
  .notes-site * { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}

.analysis-site {
  --body-font: Georgia, "Times New Roman", serif;
  --heading-font: var(--body-font);
  background: var(--paper);
  color: var(--ink);
  font-family: var(--body-font);
}
.analysis-site.high-contrast { --paper: #fff; --ink: #000; --muted: #000; --rule: #000; --accent: #0000c7; }
.analysis-site.dyslexia-friendly { --body-font: Arial, sans-serif; }
.analysis-site.dyslexia-friendly :is(h1, h2, h3, h4, .quote) { letter-spacing: 0.05em; line-height: 1.6; }
.analysis-site.dyslexia-friendly .wordmark { font-family: var(--body-font); }
html:has(.analysis-site) { scroll-behavior: smooth; }
html:has(.analysis-site.reduce-motion) { scroll-behavior: auto !important; }
.analysis-site.reduce-motion, .analysis-site.reduce-motion *, .analysis-site.reduce-motion *::before, .analysis-site.reduce-motion *::after {
  scroll-behavior: auto !important;
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.01ms !important;
}
@media (prefers-reduced-motion: reduce) {
  html:has(.analysis-site) { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
.analysis-site :focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.analysis-site main:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.analysis-site .section-nav { position: sticky; inset-block-start: 0; z-index: 10; background: var(--paper); border-block-end: 1px solid var(--rule); }
.analysis-site .section-nav.scrolled { border-block-end-color: var(--ink); }
.analysis-site .section-nav ul { display: flex; flex-wrap: wrap; gap: 0 24px; list-style: none; margin: 0; padding-block: 6px; padding-inline: 0; }
.analysis-site .section-nav a { display: block; padding-block: 14px; min-block-size: 44px; font: 12px/1.4 system-ui, sans-serif; color: var(--muted); text-decoration: none; }
.analysis-site .section-nav a:hover, .analysis-site .section-nav a[aria-current="location"] { color: var(--accent); text-decoration: underline; text-underline-offset: 5px; }
.analysis-site .section-nav a[aria-current="location"] { font-weight: 600; }
.analysis-site .accessibility-controls { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0 20px; padding-block: 8px 0; }
.no-js .analysis-site .accessibility-controls { display: none; }
.analysis-site .a11y-btn { min-block-size: 44px; padding: 8px 0; background: transparent; border: 0; color: var(--muted); font: 11px/1.5 system-ui, sans-serif; cursor: pointer; text-underline-offset: 4px; }
.analysis-site .a11y-btn:hover { color: var(--accent); text-decoration: underline; }
.analysis-site .a11y-btn.active { color: var(--accent); font-weight: 600; text-decoration: underline; }
.analysis-site .a11y-btn:disabled { cursor: not-allowed; }
.analysis-site .container { padding-block: 64px 56px; min-inline-size: 0; max-inline-size: 72ch; margin-inline: auto; font-size: 18px; line-height: 1.8; overflow-wrap: anywhere; }
.analysis-site .page, .analysis-site .citation, .analysis-site .cite-ref { scroll-margin-block-start: var(--section-offset, 100px); }
.analysis-site .page { background: var(--paper); }
html.js .analysis-site .page { display: none; }
html.js .analysis-site .page.active { display: block; }
.analysis-site .hero { padding-block: 4px 48px; border-block-end: 1px solid var(--rule); }
.analysis-site .hero-content { display: grid; grid-template-columns: minmax(0, 1fr) 144px; column-gap: 48px; align-items: start; }
.analysis-site .hero h1 { grid-column: 1; margin: 0; font: normal clamp(42px, 5.2vw, 64px)/1.08 var(--heading-font); letter-spacing: -0.045em; text-wrap: balance; }
.analysis-site .hero .author { grid-column: 1; margin-block: 18px 28px; font-size: 20px; font-style: italic; color: var(--accent); }
.analysis-site .hero p:not(.author) { grid-column: 1; margin-block: 0 24px; color: var(--ink); font-size: 19px; line-height: 1.75; max-inline-size: 60ch; }
.analysis-site .book-cover { grid-column: 2; grid-row: 1 / 5; display: block; inline-size: 144px; max-inline-size: 100%; block-size: auto; margin-block-start: 8px; }
.analysis-site .cta-button { display: inline-block; grid-column: 1; justify-self: start; padding-block: 10px; color: var(--accent); font: 12px/1.5 system-ui, sans-serif; text-underline-offset: 5px; }
.analysis-site .content-card, .analysis-site .works-cited { margin: 0; padding-block: 4px 48px; }
.analysis-site #home .content-card { padding-block-start: 40px; }
.analysis-site .content-card h2, .analysis-site .works-cited h2 { margin-block: 0 32px; font: normal clamp(34px, 4vw, 46px)/1.18 var(--heading-font); letter-spacing: -0.035em; text-wrap: balance; }
.analysis-site #home .content-card h2 { font-size: 28px; letter-spacing: -0.02em; }
.analysis-site .content-card h3 { margin-block: 44px 16px; font: normal 26px/1.35 var(--heading-font); letter-spacing: -0.02em; text-wrap: pretty; }
.analysis-site .content-card p, .analysis-site .content-card li { color: var(--ink); margin-block: 0 22px; }
.analysis-site .content-card ul { padding-inline-start: 22px; margin-block: 20px 28px; }
.analysis-site .content-card li { padding-inline-start: 4px; }
.analysis-site .image-container { margin-block: 40px; max-inline-size: 560px; }
.analysis-site .image-container img { display: block; inline-size: auto; max-inline-size: 100%; max-block-size: 420px; object-fit: contain; block-size: auto; }
.analysis-site .image-container.author-photo { max-inline-size: 240px; }
.analysis-site .image-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-block: 40px; }
.analysis-site .image-grid .image-container { margin-block: 0; }
.analysis-site .qualities-intro, .analysis-site .highlight-box { padding: 0; margin-block: 24px 32px; color: var(--muted); font-size: 15px; line-height: 1.75; }
.analysis-site .highlight-box { border-inline-start: 1px solid var(--rule); padding-inline-start: 20px; }
.analysis-site .qualities-intro + .qualities-intro { margin-block-start: -16px; }
.analysis-site .qualities-intro p, .analysis-site .highlight-box p { color: inherit; }
.analysis-site .qualities-intro strong, .analysis-site .highlight-box strong { color: var(--ink); }
.analysis-site .highlight-box p { margin-block-end: 0; }
.analysis-site .character-full { margin-block: 40px 0; padding-block: 32px 16px; border-block-start: 1px solid var(--rule); }
.analysis-site .character-full-header { margin-block-end: 24px; }
.analysis-site .character-full-name h3 { margin-block: 0 8px; font-size: 32px; }
.analysis-site .character-full-role { font: 12px/1.6 system-ui, sans-serif; color: var(--muted); }
.analysis-site .quality-title, .analysis-site .pamphlet-map dt, .analysis-site .scene-details dt { font: 600 11px/1.6 system-ui, sans-serif; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent); }
.analysis-site .qualities-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 36px; margin-block: 28px; }
.analysis-site .quality-card { padding: 0; }
.analysis-site .quality-title { margin-block: 0 8px; }
.analysis-site .content-card .quality-desc { margin-block: 0; font-size: 16px; line-height: 1.75; }
.analysis-site .key-scene { padding-block: 0; margin-block: 28px 0; color: var(--muted); font-size: 15px; }
.analysis-site .locator, .analysis-site .key-scene em { display: block; margin-block: 8px 0; font: normal 12px/1.7 system-ui, sans-serif; color: var(--muted); }
.analysis-site .pamphlet-map { display: grid; grid-template-columns: minmax(0, 11rem) minmax(0, 1fr); column-gap: 32px; margin-block: 28px; font-size: 16px; line-height: 1.65; }
.analysis-site .pamphlet-map dt, .analysis-site .pamphlet-map dd { margin: 0; padding-block: 16px; border-block-start: 1px solid var(--rule); }
.analysis-site .pamphlet-map dt { padding-block-start: 19px; }
.analysis-site .pamphlet-map dd { color: var(--ink); }
.analysis-site .definition-list, .analysis-site .scene-details { margin-block: 16px 24px; }
.analysis-site .definition-list dt { font-weight: 600; color: var(--ink); margin-block-start: 28px; }
.analysis-site .definition-list dd { margin: 6px 0 0; color: var(--ink); }
.analysis-site .scene-details dt { font-weight: 600; margin-block-start: 16px; }
.analysis-site .scene-details dd { margin: 4px 0 0; color: var(--muted); }
.analysis-site mark { background: transparent; color: var(--ink); font-weight: 600; }
.analysis-site .quote { font: normal clamp(23px, 2.6vw, 30px)/1.5 var(--heading-font); letter-spacing: -0.015em; color: var(--accent); padding-inline: 24px 0; margin-block: 40px; margin-inline: 0; border-inline-start: 1px solid var(--rule); }
.analysis-site .citation { position: relative; padding-block: 24px; padding-inline-start: 52px; border-block-start: 1px solid var(--rule); color: var(--muted); font-size: 15px; line-height: 1.8; overflow-wrap: anywhere; }
.analysis-site .cite-badge { position: absolute; inset-inline-start: 0; inset-block-start: 20px; display: inline-flex; align-items: center; justify-content: flex-start; min-inline-size: 44px; min-block-size: 44px; color: var(--accent); font: 13px/1.4 system-ui, sans-serif; text-decoration: none; }
.analysis-site .cite-badge:hover { text-decoration: underline; }
.analysis-site .citation-legend { color: var(--muted); font-size: 15px; margin-block: 0 24px; }
.analysis-site .citation-source-link { color: var(--accent); overflow-wrap: anywhere; }
.analysis-site .cite-ref { font: 11px/1.5 system-ui, sans-serif; vertical-align: super; color: var(--accent); white-space: nowrap; padding-inline: 3px; margin-inline-start: 2px; text-underline-offset: 3px; }
.analysis-site .citation:target, .analysis-site .cite-ref:target { outline: 2px solid var(--accent); outline-offset: 4px; }
.analysis-site .last-updated { color: var(--muted); padding-block-start: 24px; border-block-start: 1px solid var(--rule); font: 11px/1.7 system-ui, sans-serif; }
@media (max-width: 760px) {
  .analysis-site .container { padding-block: 40px; font-size: 17px; }
  .analysis-site .section-nav ul { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; padding-inline: 4px; }
  .analysis-site .section-nav a { white-space: nowrap; }
  .analysis-site .hero-content { grid-template-columns: minmax(0, 1fr) 112px; column-gap: 28px; }
  .analysis-site .book-cover { inline-size: 112px; }
  .analysis-site .hero p:not(.author) { font-size: 18px; }
  .analysis-site .image-grid { gap: 16px; }
}
@media (max-width: 540px) {
  .analysis-site .hero-content { display: flow-root; }
  .analysis-site .book-cover { float: inline-end; margin-block: 4px 16px; margin-inline: 20px 0; inline-size: 88px; }
  .analysis-site .hero { padding-block-end: 32px; }
  .analysis-site .hero h1 { font-size: 42px; }
  .analysis-site .hero .author { font-size: 18px; }
  .analysis-site .accessibility-controls { justify-content: flex-start; }
  .analysis-site .qualities-grid, .analysis-site .image-grid { grid-template-columns: minmax(0, 1fr); }
  .analysis-site .qualities-grid { gap: 20px; }
  .analysis-site .pamphlet-map { grid-template-columns: minmax(0, 1fr); }
  .analysis-site .pamphlet-map dt { padding-block: 16px 4px; }
  .analysis-site .pamphlet-map dd { border: 0; padding-block: 0 16px; }
}
@media print {
  .analysis-site .section-nav, .analysis-site .accessibility-controls { display: none; }
  html.js .analysis-site .page { display: block; }
  .analysis-site .quote, .analysis-site .quality-card { break-inside: avoid; }
}
