:root { color-scheme: light; --paper: #faf9f6; --ink: #25241f; --muted: #6a685f; --rule: #d7d4cb; }
* { box-sizing: border-box; }
html { background: var(--paper); color: var(--ink); }
body { margin: 0; font-family: Georgia, 'Times New Roman', serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-underline-offset: .22em; text-decoration-thickness: 1px; }
a:hover { color: #76634e; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 2px solid var(--ink); outline-offset: 5px; }
main { width: min(100% - 48px, 760px); margin: 0 auto; padding: clamp(64px, 14vh, 144px) 0 64px; }
h1 { font-size: clamp(38px, 7vw, 64px); line-height: 1.06; font-weight: 400; letter-spacing: -.045em; margin: 0 0 48px; }
p { line-height: 1.65; }
.home { max-width: 660px; }
.home h1 { margin-bottom: 48px; }
.home nav { display: flex; flex-direction: column; align-items: flex-start; gap: 26px; font-size: 21px; }
.home .novel-link { margin-top: 14px; display: inline-block; border: 1px solid var(--ink); padding: 15px 19px; text-decoration: none; font-size: 17px; line-height: 1.4; }
.home .novel-link:hover, button:hover { color: var(--paper); background: var(--ink); }
.back { display: inline-block; font-family: Arial, sans-serif; font-size: 13px; color: var(--muted); margin-bottom: 60px; }
.contour { width: min(100% - 48px, 1000px); }
.contour h1 { font-family: Impact, Haettenschweiler, 'Arial Black', sans-serif; font-weight: 900; letter-spacing: -.025em; font-size: clamp(52px, 12.8vw, 146px); line-height: .94; filter: url(#rough-print); margin-bottom: 64px; }
.issues { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 28px 24px; font-family: Arial, sans-serif; font-size: 16px; }
.issues [aria-disabled] { color: #b6b3ac; cursor: default; }
.issues a { font-weight: 700; }
.essay-list { padding: 0; margin: 0; list-style: none; }
.essay-list li { padding: 24px 0; border-top: 1px solid var(--rule); }
.essay-list li:last-child { border-bottom: 1px solid var(--rule); }
.essay-list a { font-size: clamp(22px, 4vw, 29px); line-height: 1.35; }
.byline { color: var(--muted); font-size: 16px; margin: 12px 0 0; }
.publication-note { color: var(--muted); font-size: 16px; line-height: 1.65; margin: 16px 0 0; }
.essay { max-width: 680px; padding-top: 48px; }
.essay .back { margin-bottom: 52px; }
.essay h1 { font-size: clamp(36px, 7vw, 56px); margin-bottom: 20px; }
.essay header { margin-bottom: 56px; }
.essay article > p { font-size: 20px; line-height: 1.8; margin: 0 0 26px; overflow-wrap: break-word; }
.essay article > .scene-year { color: var(--muted); font-family: Arial, sans-serif; font-size: 14px; letter-spacing: .08em; margin-bottom: 30px; }
.essay footer { margin-top: 60px; }
.play { max-width: 960px; padding-top: 48px; }
.play .back { margin-bottom: 52px; }
.play h1 { font-size: clamp(36px, 7vw, 56px); margin-bottom: 20px; }
.play header { margin-bottom: 64px; }
.speech { width: 70%; margin: 0 0 40px; }
.speech--church { margin-left: auto; text-align: right; }
.speech h2 { font: 700 14px/1.5 'Courier New', monospace; letter-spacing: .08em; margin: 0 0 12px; }
.speech p { font-size: 19px; line-height: 1.8; margin: 0 0 18px; overflow-wrap: break-word; }
.speech p:last-child { margin-bottom: 0; }
.stage-direction { text-align: center; font-size: 17px; font-style: italic; margin: 64px 0; }
.play footer { margin-top: 60px; }
.sparks { max-width: 620px; }
.sparks h1 { max-width: 600px; margin-bottom: 16px; }
.coming-soon { margin: 0 0 38px; font-family: Arial, sans-serif; color: var(--muted); font-size: 14px; }
.intro { font-size: 19px; max-width: 460px; margin-bottom: 32px; }
form { max-width: 430px; }
.field { margin-bottom: 22px; }
label { display: block; font-family: Arial, sans-serif; font-size: 14px; margin-bottom: 9px; }
input { display: block; width: 100%; border: 1px solid #a7a49b; border-radius: 0; background: transparent; color: var(--ink); padding: 13px 12px; font: 17px Arial, sans-serif; }
button { border: 1px solid var(--ink); border-radius: 0; color: var(--ink); background: transparent; cursor: pointer; font: 15px Arial, sans-serif; padding: 14px 22px; }
button:disabled { opacity: .6; cursor: wait; }
.note, .status { font-family: Arial, sans-serif; font-size: 13px; line-height: 1.6; }
.note { color: var(--muted); margin-top: 20px; }
.status:empty { display: none; }
.status { margin: 22px 0; }
.status[data-error='true'] { color: #9c251d; }
@media (max-width: 540px) { main { width: calc(100% - 40px); } .contour { width: calc(100% - 40px); } .issues { grid-template-columns: repeat(2, 1fr); gap: 26px; } .back { margin-bottom: 48px; } .essay article > p { font-size: 18px; line-height: 1.75; } .home .novel-link { font-size: 15px; } }
@media print { .back, .essay footer { display: none; } html { background: white; } .essay { padding: 0; width: 100%; max-width: none; } .essay article > p { font-size: 12pt; } }
@media (max-width: 540px) { .speech { width: 90%; } .speech p { font-size: 17px; line-height: 1.75; } .speech h2 { font-size: 13px; } .play header { margin-bottom: 48px; } }
@media print { .play footer { display: none; } .play { padding: 0; width: 100%; } .speech h2 { break-after: avoid; } .speech p { font-size: 12pt; } }
