/* Reader pages share the museum palette, with paper reserved for evidence. */
.reader-main{max-width:1100px;margin:0 auto;padding:96px 32px 48px;color:var(--tx2);font-size:1.08rem;line-height:1.7}
.reader-main h1,.reader-main h2,.reader-main h3{color:var(--tx);font-family:var(--fd);font-weight:500;line-height:1.15;text-wrap:balance}
.reader-main h1{font-size:clamp(2.4rem,5.4vw,4.2rem);letter-spacing:-.035em;margin:14px 0 24px}
.reader-main h2{font-size:clamp(1.7rem,3.5vw,2.5rem);margin:8px 0 24px}
.reader-main h3{font-size:1.4rem;margin:10px 0 20px}
.reader-main p{margin:0 0 18px}
.reader-main a{color:var(--gold-lt)}
.reader-main a:hover{text-decoration:underline}
.reader-main .eyebrow{font-family:var(--fm);font-size:.69rem;line-height:1.6;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.reader-main .standfirst{font-size:1.35rem;line-height:1.5;color:var(--tx);max-width:650px}
.reader-main .quiet,.reader-main .provenance{font-size:.88rem;line-height:1.6;color:var(--tx3)}
.reader-main .provenance{border-top:1px solid var(--s5);padding-top:16px;margin-top:22px}
.reader-main section{scroll-margin-top:95px}
.reader-main .reader-actions{display:flex;gap:22px;flex-wrap:wrap;align-items:center;margin:28px 0 22px}
.reader-main .reader-button{display:inline-block;background:var(--gold);border:1px solid var(--gold);color:#111117;padding:12px 22px;font-family:var(--fm);font-size:.83rem;font-weight:600;border-radius:3px;line-height:1.5;cursor:pointer;min-height:46px;text-decoration:none}
.reader-main .reader-button:hover{background:var(--gold-lt);color:#111117;text-decoration:none}
.reader-main .reader-link{font-size:1rem;text-underline-offset:4px}
.reader-main :is(a,button,input,summary,textarea):focus-visible{outline:3px solid var(--gold-lt);outline-offset:4px}
.book-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,1fr);gap:55px;align-items:center;padding:40px 0 64px}
.book-subtitle{font-size:1.25rem;font-style:italic}.author{font-family:var(--fm);font-size:.83rem;letter-spacing:.1em;color:var(--gold)}
.book-cover{margin:0;transform:rotate(2deg);filter:drop-shadow(0 22px 24px #0008)}
.book-cover img{display:block;width:100%;height:auto;border:1px solid #a28b4d55}
.book-pitch,.book-sample,.reading-groups{padding:56px 0;border-top:1px solid var(--s5);max-width:780px;margin:0 auto}
.letter-invitation{display:grid;grid-template-columns:76px 1fr;gap:26px;padding:38px;margin:32px 0 56px;border:1px solid var(--gold-b);background:linear-gradient(135deg,#c9a84c0d,transparent)}
.seal{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:#702e2d;border:4px double #a9604d;color:#f1c3a0;font-family:var(--fd);font-size:1.2rem;box-shadow:0 4px 12px #0005}
.book-sample p{font-size:1.17rem;line-height:1.85}.book-sample .quiet{font-size:.85rem}.book-sample .sample-end{font-style:italic;color:var(--gold)}
.reading-groups ol{padding-left:1.4em}.reading-groups li{padding:6px 0 6px 8px}
.letter-hero{max-width:780px;padding:40px 0 35px}.reader-intro{max-width:780px;padding:30px 0 35px;border-top:1px solid var(--s5)}
#slips{padding:25px 0;max-width:880px}.clue{border-top:1px solid var(--s5)}.clue:last-child{border-bottom:1px solid var(--s5)}
.clue>summary{cursor:pointer;padding:22px 8px;color:var(--tx);font-family:var(--fd);font-size:1.32rem;line-height:1.4;min-height:48px}
.clue>summary span{display:block;font-family:var(--fm);font-size:.65rem;letter-spacing:.09em;text-transform:uppercase;color:var(--gold);margin-bottom:7px}
.clue-body{padding:0 18px 22px}.cipher-strip,.number-strips{font-family:var(--fm);font-size:.95rem;line-height:1.9;border-left:3px solid var(--gold-dim);background:var(--s2);padding:18px;overflow-wrap:anywhere;letter-spacing:.035em}
.number-strips p{margin:0}.key{font-family:var(--fm);font-size:.9rem;line-height:2}.route-grid{margin:16px 0 24px;border-collapse:collapse;width:240px;max-width:100%;text-align:center;font-family:var(--fm);color:var(--tx)}
.route-grid caption{font-family:var(--fb);font-size:.9rem;text-align:left;margin-bottom:10px;color:var(--tx2)}.route-grid td{border:1px solid var(--s5);padding:12px}
.route-directions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px;text-align:center;color:var(--gold-lt);font-family:var(--fm)}
.hint{margin:14px 0;padding:0 0 0 14px;border-left:1px solid var(--gold-dim)}.hint summary{cursor:pointer;color:var(--gold-lt);min-height:44px;padding:8px 0;font-size:.96rem}.hint p{margin:6px 0 16px}
.unlock-panel{max-width:880px;padding:34px;margin:40px 0 60px;background:var(--s2);border:1px solid var(--gold-b)}
.reader-main label{display:block;margin:12px 0;color:var(--tx2)}
.reader-main input[type=text],.reader-main textarea{display:block;width:100%;max-width:100%;padding:13px;color:var(--tx);background:var(--s1);border:1px solid var(--s5);border-radius:3px;font-size:1rem;line-height:1.6;font-family:var(--fm)}
.reader-main #instruction-help{margin:10px 0 20px}.feedback{font-size:1rem;color:var(--gold-lt);margin:18px 0 0!important;min-height:1.6em}.feedback:empty{min-height:0;margin:0!important}
.document-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0}.paper{padding:26px;background:#eee7d8;color:#302c26;border-top:3px solid #b4965d;box-shadow:0 5px 18px #0002}.paper h3{color:#28231e}.paper p:last-child{font-size:.9rem;margin:0}.paper .document-label{font-family:var(--fm);font-size:.65rem;letter-spacing:.04em;line-height:1.6;color:#66543e}.paper .message{font-family:var(--fm);font-size:.86rem;line-height:1.9}.paper mark{background:none;color:inherit}.paper mark.revealed{background:#e6c768;color:#201b14}
.reader-main fieldset{border:0;padding:0;margin:30px 0 20px}.reader-main legend{font-size:1.2rem;font-weight:600;color:var(--tx);margin-bottom:15px}.reader-main fieldset label{display:flex;align-items:flex-start;gap:12px;padding:12px 15px;border:1px solid var(--s5);background:var(--s2);cursor:pointer;line-height:1.5}.reader-main input[type=radio]{width:20px;height:20px;flex-shrink:0;margin-top:3px;accent-color:var(--gold)}
.finding{margin:40px 0;padding:32px;border-left:3px solid var(--gold);background:var(--s2)}.return-link{margin-top:48px;border-top:1px solid var(--s5);padding-top:24px}
.reader-main [hidden]{display:none!important}
@media(max-width:700px){.reader-main{padding:82px 20px 32px}.book-hero{grid-template-columns:1fr;gap:28px;padding-top:20px}.book-cover{max-width:260px;margin:0 auto;grid-row:2;transform:rotate(1deg)}.book-pitch,.book-sample,.reading-groups{padding:36px 0}.letter-invitation{grid-template-columns:1fr;padding:24px;gap:18px}.seal{width:56px;height:56px}.document-grid{grid-template-columns:1fr}.unlock-panel,.finding{padding:23px}.clue-body{padding-left:4px;padding-right:4px}.number-strips{font-size:.75rem;padding:12px;letter-spacing:0}.cipher-strip{font-size:.84rem}.letter-hero{padding-top:16px}.paper{padding:22px}}
@media(prefers-reduced-motion:reduce){.reader-main *{scroll-behavior:auto!important;transition:none!important}}
.reader-main select{display:block;width:100%;max-width:100%;padding:13px;background:var(--s1);color:var(--tx);border:1px solid var(--s5);font:inherit;line-height:1.5;border-radius:3px}
.reader-main select:focus-visible{outline:3px solid var(--gold-lt);outline-offset:4px}
.case-progress{margin:30px 0;padding:20px 0;border-block:1px solid var(--gold-b)}
.case-progress ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0;list-style:none;margin:0 0 15px}
.case-progress li{font-family:var(--fm);font-size:.75rem;line-height:1.6;padding:10px;border:1px solid var(--s5)}
.case-progress [aria-current=step]{border-color:var(--gold);color:var(--gold-lt)}
.case-progress .is-complete{color:var(--tx);border-color:var(--gold-dim)}
.case-progress p{font-size:.9rem;margin:0}
.case-stage{padding:30px 0;border-bottom:1px solid var(--s5)}
.codebook{margin:24px 0;border:1px solid var(--s5);padding:16px}
.codebook summary{color:var(--gold-lt);cursor:pointer;min-height:44px;line-height:1.6}
.codebook ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:12px 0 0;font-family:var(--fm);font-size:.85rem}
.codebook li{display:flex;gap:12px}.codebook b{color:var(--gold-lt)}
.archive-record{margin:28px 0}.museum-followup,.playtest{border-top:1px solid var(--s5);margin-top:28px;padding-top:26px}
.reader-main .secondary-button{background:transparent;color:var(--gold-lt)}
.reader-main .secondary-button:hover{background:var(--s3)}
.playtest button{margin-top:20px}.curator-reply{font-size:1.13rem;color:var(--tx)}
@media(max-width:700px){.case-progress ol{grid-template-columns:repeat(2,minmax(0,1fr))}.codebook ul{grid-template-columns:repeat(2,minmax(0,1fr))}.case-stage{padding:24px 0}}
@media print{.museum-nav,footer,.reader-actions,.return-link{display:none}.reader-main{padding:0;color:#222;font-size:11pt}.reader-main h1,.reader-main h2,.reader-main h3,.reader-main p,.reader-main a{color:#222!important}.book-cover{max-width:180px}.book-hero{gap:24px}.paper{break-inside:avoid}.reading-groups{break-before:page}}
