/* Small moments from the novel */
.scene-intro{max-width:42rem;color:var(--muted);margin:-.8rem 0 2rem}
.scene-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.8rem;margin-bottom:3.2rem}
.scene-card{margin:0;min-width:0}
.scene-card .gallery-art img{width:100%;aspect-ratio:3/2;object-fit:cover}
.scene-card figcaption{padding:.9rem 0 0}
.scene-card h3{font:400 1.45rem/1.3 var(--serif);color:var(--text);margin:0 0 .35rem}
.scene-card figcaption p{font-size:.875rem;line-height:1.7;color:var(--muted);margin:0}
.collection-divider{margin:2.4rem 0 1.8rem;padding-top:1.8rem;border-top:1px solid var(--line);font:400 1.55rem/1.3 var(--serif);color:var(--gold)}

/* The Sanctuary diary */
.sanctuary-section{border-bottom:1px solid var(--line);background:linear-gradient(145deg,#111e22,#091217 65%)}
.sanctuary-section .section-wrap{padding-block:5.5rem}
.diary-subtitle{color:var(--muted);font-size:.875rem;max-width:50rem;margin:0 0 1.8rem}
.diary-filters{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1.3rem}
.diary-filters button{min-height:2.75rem;padding:.5rem .9rem;background:transparent;border:1px solid var(--line);color:var(--muted);font-size:.8125rem;border-radius:2px}
.diary-filters button:hover{border-color:var(--gold);color:var(--text)}
.diary-filters button[aria-pressed="true"]{background:var(--gold);color:#101c22;border-color:var(--gold)}
.diary-book{display:grid;grid-template-columns:minmax(225px,.85fr) minmax(0,1.75fr);border:1px solid #526052;box-shadow:0 1.5rem 4rem #0004;background:#132128}
.diary-index{padding:1.1rem;min-width:0}
.diary-index>img{width:100%;aspect-ratio:3/2;object-fit:cover;border:1px solid var(--line);margin-bottom:1.1rem}
.diary-index-label{font-size:.625rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 .6rem;padding:0 .5rem}
.diary-index ol{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}
.diary-index button{display:flex;gap:.7rem;width:100%;min-height:2.9rem;align-items:center;text-align:left;border:1px solid transparent;background:transparent;padding:.55rem .6rem;color:var(--muted);font-size:.8125rem;line-height:1.5}
.diary-index button:hover{background:#d6c6970a;color:var(--text)}
.diary-index button[aria-current="true"]{background:#d6c69712;border-color:var(--line);color:var(--gold)}
.diary-index-number{font-family:var(--serif);opacity:.65;font-size:.75rem;flex:0 0 1.2rem}
.diary-paper{position:relative;min-width:0;min-height:42rem;background:#ede7d7;color:#303b36;color-scheme:light;padding:1.4rem clamp(1.4rem,3.7vw,3.7rem) 2rem;border-left:8px solid #b9ad8d;box-shadow:inset 8px 0 14px #5a4f3012}
.diary-tools{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.7rem;padding-bottom:1.2rem;border-bottom:1px solid #c9bea6;margin-bottom:2rem}
.diary-tools button,.diary-empty button{min-height:2.75rem;border:1px solid #b8ae95;background:transparent;color:#435247;padding:.4rem .7rem;font-size:.75rem}
.diary-tools button[aria-pressed="true"]{background:#d3dbc8;border-color:#7c927b}
.diary-paper button:focus-visible,.diary-paper h3:focus-visible{outline-color:#4d6752;outline-offset:4px}
.diary-tools button:disabled{opacity:.4;cursor:default}
.diary-when{font-size:.6875rem;letter-spacing:.11em;text-transform:uppercase;color:#6c725c;margin:0 0 .85rem;line-height:1.7}
.diary-paper h3{font:400 clamp(1.8rem,2.8vw,2.6rem)/1.16 var(--serif);letter-spacing:-.025em;margin:0 0 1.65rem;max-width:32rem}
.diary-prose{font:400 1.0625rem/1.85 var(--serif)}
.diary-prose p{margin:0 0 1.15em}
.diary-signature{font:italic 1.8rem/1.3 var(--serif);color:#55634a;text-align:right;margin:1.6rem .5rem .3rem}
.diary-large-text .diary-prose{font-size:1.25rem}
.diary-empty{padding:3rem 0;font-family:var(--serif)}
.diary-empty p{color:#5f6657}
.diary-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.2rem}
.diary-pagination button,.diary-random{min-height:2.75rem;padding:.55rem 1rem;border:1px solid var(--line);background:transparent;color:var(--gold);font-size:.8125rem}
.diary-pagination button:disabled,.diary-random:disabled{opacity:.35;cursor:default}
.diary-pagination button:hover:not(:disabled),.diary-random:hover:not(:disabled){background:var(--panel)}
.diary-pagination [role="status"]{text-align:center;max-width:31rem;font-size:.75rem;color:var(--muted);line-height:1.6}
.diary-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}
.diary-storage-note{font-size:.75rem;color:#95a7a3;line-height:1.6;margin:0}
.sanctuary-nojs{border:1px solid var(--line);padding:1rem;color:var(--muted);font-size:.875rem}

/* Written branching conversations, with browser-local reply discovery. */
.ask-pel-section{padding-block:5.5rem}
.ask-pel-layout{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.5fr);gap:3.5rem;align-items:start}
.ask-pel-intro h2{margin-bottom:1.5rem}
.ask-pel-intro>p:not(.eyebrow){color:var(--muted);font-size:.9375rem}
.pel-chat-portrait{width:8rem;height:8rem;object-fit:cover;object-position:66% 38%;border-radius:50%;border:1px solid var(--gold);padding:4px;background:var(--panel);margin:1.8rem 0 1.4rem}
.conversation-label{display:inline-block;padding:.35rem .65rem;border:1px solid var(--line);color:var(--gold);font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;line-height:1.5;margin-bottom:1rem}
.pel-chat{min-width:0;border:1px solid var(--line);background:var(--panel)}
.pel-chat-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.4rem;border-bottom:1px solid var(--line)}
.pel-chat-header p{font:400 1.2rem/1.4 var(--serif);margin:0;color:var(--gold)}
.pel-chat-header button{border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--muted);padding:.5rem 0;min-height:2.75rem;font-size:.75rem}
.pel-chat-header button:disabled{opacity:.4;cursor:default}
.pel-chat-log{min-height:14rem;max-height:29rem;overflow:auto;overscroll-behavior:contain;padding:1.5rem;scrollbar-color:#6b795e #12232a}
.pel-message{max-width:94%;margin:0 1.5rem 1.2rem 0;padding:1.1rem 1.25rem;background:#1c2b30;border:1px solid #d6c69718;border-radius:0 12px 12px 12px}
.pel-message p{font:400 1rem/1.85 var(--serif);margin:0;overflow-wrap:anywhere}
.pel-speaker{display:block;font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem}
.visitor-message{margin-left:auto;margin-right:0;background:#2c352d;border-color:#d6c69724;border-radius:12px 0 12px 12px}
.visitor-message p{font-family:var(--sans);font-size:.8125rem;line-height:1.7}
.pel-message .text-link{font-size:.75rem;margin-top:.9rem}
.pel-chat-bottom{padding:1.3rem 1.5rem 1.5rem;border-top:1px solid var(--line)}
.pel-question-label{font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 .8rem}
.pel-question-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.pel-question-choices button{min-height:3rem;border:1px solid #536258;background:#15242a;color:var(--text);padding:.7rem .9rem;font-size:.8125rem;line-height:1.5;text-align:left}
.pel-question-choices button:hover{background:#263a37;border-color:var(--gold)}
.pel-chat-disclosure{font-size:.6875rem;line-height:1.7;color:#a8b7b4;margin:1rem 0 0}
.ask-pel-intro .text-link{margin-top:.5rem}
.ask-pel-section [hidden]{display:none!important}
.pel-discoveries{border-block:1px solid var(--line);padding:.85rem 0;margin:1.4rem 0 1rem}
.pel-discoveries p:first-child{font-size:.8125rem;line-height:1.7;color:var(--gold);margin:0 0 .3rem}
.pel-discoveries p:last-child{font-size:.6875rem;color:var(--muted);line-height:1.6;margin:0}
.pel-chat-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.2rem}
.pel-chat-actions button,.pel-question-pagination button,.pel-no-questions button{min-height:2.75rem;padding:.5rem .75rem;border:1px solid var(--line);background:transparent;color:var(--gold);font-size:.75rem;line-height:1.5}
.pel-chat-actions button:hover:not(:disabled),.pel-question-pagination button:hover:not(:disabled),.pel-no-questions button:hover{border-color:var(--gold);background:#263a37}
.pel-chat-actions button:disabled,.pel-question-pagination button:disabled{opacity:.4;cursor:default}
.pel-chat-actions button[aria-expanded="true"]{background:#2c352d;border-color:var(--gold)}
.pel-question-browser{border-block:1px solid var(--line);padding:1.1rem 0;margin-bottom:1.1rem}
.pel-topic-choices{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}
.pel-topic-choices button{min-height:2.75rem;padding:.4rem .65rem;background:transparent;border:1px solid #536258;border-radius:2px;color:var(--muted);font-size:.6875rem;line-height:1.5}
.pel-topic-choices button:hover{color:var(--text);border-color:var(--gold)}
.pel-topic-choices button[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:#101c22}
.pel-question-browser label{display:block;color:var(--muted);font-size:.75rem;margin-bottom:.4rem}
.pel-question-browser input{width:100%;min-width:0;min-height:2.85rem;padding:.6rem .8rem;border:1px solid #536258;border-radius:2px;background:#0b171d;color:var(--text);font:400 1rem/1.5 var(--sans)}
.pel-question-browser input::placeholder{color:#9fada9;opacity:1}
.pel-question-browser input:focus-visible,.pel-message:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.pel-question-choices button{display:flex;flex-direction:column;justify-content:center;gap:.25rem}
.pel-question-choices button small{color:#b7c2b2;font-size:.625rem;line-height:1.5}
.pel-question-pagination{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-top:1rem}
.pel-question-pagination span{color:var(--muted);font-size:.6875rem;text-align:center}
.pel-no-questions{padding:.5rem 0;color:var(--muted);font-size:.875rem}
.pel-no-questions p{margin:0 0 .75rem}

@media(min-width:801px){.site-header nav{gap:clamp(.85rem,1.5vw,1.7rem);font-size:.8125rem}.wordmark span{font-size:.6875rem}}
@media(min-width:801px) and (max-width:1100px){.site-header{flex-wrap:wrap;gap:1.1rem}.site-header nav{width:100%;justify-content:space-between;gap:.6rem}.hero-content{padding-top:12rem}}
@media(max-width:900px){.ask-pel-layout{grid-template-columns:.8fr 1.4fr;gap:2rem}.diary-book{grid-template-columns:minmax(190px,.8fr) minmax(0,1.7fr)}.diary-paper{padding-inline:1.5rem}.diary-index{padding:.8rem}.diary-paper{min-height:44rem}}
@media(max-width:700px){.diary-book{grid-template-columns:1fr}.diary-index{display:grid;grid-template-columns:1fr;gap:0;border-bottom:1px solid var(--line)}.diary-index>img{display:none}.diary-index ol{display:flex;overflow-x:auto;padding-bottom:.6rem;gap:.5rem;scrollbar-color:#657158 #132128}.diary-index li{flex:0 0 12rem}.diary-index button{height:100%;align-items:flex-start}.diary-index-label{margin-bottom:.65rem}.diary-paper{min-height:35rem;border-left-width:5px;padding-top:1.2rem}.diary-tools{margin-bottom:1.6rem}.diary-pagination{gap:.5rem}.diary-pagination button{padding-inline:.7rem;font-size:.75rem;white-space:nowrap}.diary-pagination [role="status"]{max-width:15rem;font-size:.6875rem}.ask-pel-layout{grid-template-columns:1fr;gap:1.6rem}.ask-pel-intro{position:relative;padding-right:7rem}.pel-chat-portrait{position:absolute;top:0;right:0;width:5.5rem;height:5.5rem;margin:0}.ask-pel-intro h2{margin-bottom:1.1rem}.ask-pel-intro>p:not(.eyebrow){font-size:.875rem}.ask-pel-intro .text-link{margin:0}.scene-grid{gap:1.35rem}.scene-card h3{font-size:1.2rem}}
@media(max-width:500px){.scene-grid{grid-template-columns:1fr;gap:1.75rem}.scene-intro{font-size:.9375rem}.scene-card h3{font-size:1.4rem}.diary-filters{gap:.45rem}.diary-filters button{font-size:.75rem;padding:.45rem .65rem}.diary-paper{padding:1.1rem 1.25rem 1.6rem}.diary-prose{font-size:1.0625rem}.diary-paper h3{font-size:1.85rem}.diary-when{font-size:.625rem}.diary-bottom{align-items:flex-start}.diary-storage-note{max-width:10rem;font-size:.6875rem}.diary-random{font-size:.75rem;padding:.5rem .7rem;white-space:nowrap}.diary-tools button{font-size:.6875rem}.ask-pel-intro{padding-right:0}.ask-pel-intro>.eyebrow,.ask-pel-intro>h2{padding-right:6rem}.pel-chat-log{padding:1rem;max-height:27rem}.pel-message{padding:.9rem 1rem;margin-right:.5rem;max-width:96%}.visitor-message{margin-left:.5rem;margin-right:0}.pel-chat-bottom{padding:1rem}.pel-question-choices{grid-template-columns:1fr}.pel-chat-header{padding:.75rem 1rem}.sanctuary-section .section-wrap,.ask-pel-section{padding-block:3.5rem}}
@media print{.sanctuary-section,.ask-pel-section{display:none}}
