/* A quiet, independent book surface above the cinematic world. */
.reader-is-open{overflow:hidden!important}
.sample-dialog{--paper:#f5efe4;--reader-font-size:20px;position:fixed;inset:0;margin:auto;border:1px solid #b7a88a50;padding:0;width:min(1100px,94vw);max-width:none;height:min(920px,94dvh);max-height:none;background:#121711;color:#efe8d9;border-radius:12px;box-shadow:0 32px 120px #0009;overflow:hidden;font-family:var(--sans,Arial,sans-serif)}
.sample-dialog::backdrop{background:#070b0de6;backdrop-filter:blur(8px)}
.sample-dialog[open]{display:flex;flex-direction:column;animation:reader-arrives .25s ease-out}
.sample-dialog.is-reading{background:var(--paper);color:#302d26}
.reader-toolbar{flex:none;display:flex;align-items:center;gap:20px;min-height:76px;padding:12px 24px;border-bottom:1px solid #ad9b742b;background:inherit;z-index:2}
.reader-wordmark{display:flex;flex-direction:column;gap:3px;margin-right:auto}
.reader-wordmark>span{font-size:9px;letter-spacing:.24em;opacity:.65}.reader-wordmark strong{font:24px Georgia,serif;font-weight:normal}
.reader-close{border:0;background:none;font:30px/1 Arial,sans-serif;min-width:44px;min-height:44px;border-radius:50%;color:inherit}
.reader-close:hover{background:#b7a88a24}
.reader-tools{display:flex;align-items:center;gap:20px}.reader-toc select{max-width:145px;border:0;background:transparent;color:inherit;font:13px var(--sans,Arial,sans-serif);padding:10px 3px;min-height:44px}
.reader-size{display:flex;gap:3px}.reader-size button{min-width:44px;min-height:44px;background:transparent;border:1px solid #a9987538;border-radius:4px;color:inherit;font-family:Georgia,serif}.reader-size button:disabled{opacity:.3;cursor:default}
.sample-dialog :focus-visible{outline:2px solid #a78248;outline-offset:3px}
.reader-rules{flex:1;min-height:0;display:grid;grid-template-columns:40% 60%;overflow:auto}
.reader-ricky{position:relative;min-height:100%;background:#0b0d0b}
.reader-ricky video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.ricky-replay{position:absolute;bottom:20px;left:20px;background:#0b0d0bcc;color:#eee7d8;border:1px solid #b7a88a70;border-radius:30px;font-size:12px;min-height:44px;padding:0 18px}
.reader-rules-copy{align-self:center;padding:clamp(24px,4vw,54px);font-size:14px;line-height:1.7}
.reader-eyebrow{text-transform:uppercase;letter-spacing:.22em;font:10px/1.6 var(--sans,Arial,sans-serif);color:#927447}
.reader-rules-copy .reader-eyebrow{color:#bda87d}.reader-rules-copy h2{font:clamp(30px,4vw,43px)/1.15 Georgia,serif;font-weight:normal;margin:12px 0 25px}
.reader-rules-copy p{margin:0 0 16px}.reader-rules-copy strong{font-weight:600}.reader-rule-signoff{font-family:Georgia,serif;font-size:22px;padding-top:4px;color:#d9c6a3}
.reader-primary{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:50px;background:#d7c39c;color:#22251f;border:1px solid #d7c39c;padding:14px 22px;border-radius:4px;font:14px/1.4 var(--sans,Arial,sans-serif);text-align:center;transition:background .15s}
.reader-primary:hover{background:#e6d4b0}.reader-rules-copy .reader-primary{width:100%;margin-top:8px}
.reader-book{display:flex;flex:1;min-height:0;flex-direction:column}
.reader-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#b9ac95 transparent;scrollbar-width:thin;padding:0 clamp(22px,5vw,68px);scroll-behavior:auto}
.reader-storage{max-width:650px;margin:28px auto 0;padding:24px;border:1px solid #baaa8c70;border-radius:6px;background:#fffaf2;color:#302d26;font:14px/1.65 var(--sans,Arial,sans-serif)}
.reader-storage h2{font:normal 27px/1.2 Georgia,serif;margin:0 0 12px}.reader-storage p{margin:0 0 16px}
.reader-storage-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 14px}
.reader-storage-actions button{font:inherit;line-height:1.4;min-height:48px;padding:11px 14px;color:#302d26;background:transparent;border:1px solid #9b845c;border-radius:4px;cursor:pointer}
.reader-storage-actions button:hover{background:#eaddc780}.reader-storage .reader-storage-detail{font-size:12px;color:#6b5e4a;margin-bottom:10px}
.reader-storage .reader-storage-privacy{margin:0;font-size:12px}.reader-storage a{color:#69502d;text-decoration:underline;text-underline-offset:3px}
.reader-storage .reader-storage-error{margin:14px 0 0;color:#8c3322}
.reader-cover{max-width:650px;text-align:center;margin:0 auto;padding:70px 0 45px;border-bottom:1px solid #baaa8c55}
.reader-cover h2{font:clamp(50px,8vw,78px)/1.05 Georgia,serif;font-weight:normal;margin:20px 0 14px;letter-spacing:-.035em}.reader-cover>p:not(.reader-eyebrow){font:italic 18px Georgia,serif;color:#7a705e}.reader-cover>span{display:block;font-size:16px;color:#a48a60;margin-top:32px}
.reader-manuscript{font-family:Georgia,'Times New Roman',serif;font-size:var(--reader-font-size);line-height:1.65;max-width:650px;margin:0 auto;color:#302d26;overflow-wrap:break-word}
.reader-manuscript p{margin:0 0 .65em;text-align:left}.reader-manuscript em{font-style:italic}.reader-chapter{margin:0;padding-bottom:16px}
.reader-chapter-title{text-align:center;font:normal 1.85em/1.2 Georgia,serif;margin:3em 0 1.1em;letter-spacing:-.015em}
.reader-pov{text-align:center;font:normal .7em/1.4 var(--sans,Arial,sans-serif);text-transform:uppercase;letter-spacing:.25em;color:#877250;margin:0 0 3em}.reader-pov-switch{margin:5em 0 3em;padding-top:2em;border-top:1px solid #baaa8c55}
.reader-letter{font: .88em/1.65 var(--sans,Arial,sans-serif);padding:1.4em 1.6em;margin:0 auto 2em;background:#fffcf7;box-shadow:0 2px 8px #61472009;border:1px solid #b8a78a38}
.reader-letter dl{border-bottom:1px solid #b8a78a70;padding-bottom:1.5em;margin:0 0 1.5em}.reader-letter dl>div{display:flex;gap:.7em}.reader-letter dt{font-weight:600;min-width:4.5em}.reader-letter dd{margin:0}.reader-letter p{margin-bottom:1.2em}.reader-letter p:last-child{margin-bottom:0}
.reader-break{text-align:center;letter-spacing:.4em;color:#9a845c;margin:2.8em 0;font-size:.65em}
.reader-ending{max-width:650px;margin:110px auto 0;padding:50px 24px;text-align:center;border-top:1px solid #baaa8c70;border-bottom:1px solid #baaa8c70}
.reader-ending-star{display:block;font-size:22px;color:#a48a60;margin-bottom:28px}.reader-ending h2{font:normal clamp(27px,4vw,36px)/1.2 Georgia,serif;margin:18px 0 24px}
.reader-ending p:not(.reader-eyebrow){font:17px/1.75 Georgia,serif;margin:0 auto 28px;max-width:490px}.reader-ending strong{font-weight:normal;color:#785b30}
.reader-enough{display:block;margin:16px auto 0;padding:10px;border:0;background:none;font-size:13px;color:#766a57;text-decoration:underline;text-underline-offset:4px}
.reader-copyright{font-size:10px;text-align:center;color:#867963;margin:40px 0 60px;letter-spacing:.05em}
.reader-status{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none;padding:10px 24px;border-top:1px solid #baaa8c44;font:11px/1.5 var(--sans,Arial,sans-serif);color:#796e5c;min-height:45px}
.reader-status button{border:0;background:none;color:inherit;font-size:11px;min-height:30px;text-decoration:underline;text-underline-offset:3px}.reader-load,.reader-retry{display:block;margin:30px auto;max-width:600px;text-align:center}.reader-retry{padding:12px 18px}
.reader-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.paper-nav button.paper-link{appearance:none;border-top:0;border-right:0;border-left:0;border-radius:0;background:transparent;text-align:left;width:100%}
.sample-entry-link{display:inline-flex;align-items:center;gap:24px;margin:18px 0 0;padding:14px 0;background:none;color:var(--ink);border:0;border-bottom:1px solid var(--gold);font:inherit}
.sample-entry-note{font-size:12px;color:var(--muted)}
@keyframes reader-arrives{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:680px){
 .reader-storage{padding:18px;margin-top:20px}.reader-storage h2{font-size:25px}.reader-storage-actions{grid-template-columns:1fr}
 .sample-dialog{width:100%;height:100dvh;border:0;border-radius:0}.reader-toolbar{min-height:66px;padding:8px 14px;gap:10px}.reader-wordmark strong{font-size:20px}.reader-wordmark>span{font-size:8px}.reader-tools{gap:7px}.reader-toc select{font-size:12px;max-width:105px}.reader-size button{min-width:36px;border:0}.reader-close{min-width:40px}
 .reader-rules{display:block}.reader-ricky{min-height:0;height:240px}.reader-ricky video{object-position:50% 0%;object-fit:cover}.ricky-replay{left:18px;bottom:12px}.reader-rules-copy{padding:26px 24px 32px}.reader-rules-copy h2{font-size:32px;margin-bottom:20px}.reader-rules-copy p{margin-bottom:14px}
 .reader-scroll{padding:0 24px}.reader-cover{padding:48px 0 36px}.reader-cover h2{font-size:58px}.reader-letter{padding:1.15em;font-size:.84em}.reader-chapter-title{margin-top:2.4em}.reader-status{padding:6px 14px;gap:7px;font-size:10px}.reader-status button{font-size:10px;min-height:36px}.reader-ending{padding:35px 0;margin-top:80px}.reader-ending p:not(.reader-eyebrow){font-size:17px}
}
@media(prefers-reduced-motion:reduce){.sample-dialog[open]{animation:none}}

/* Visible before entering the sample, alongside Ricky’s introduction. */
.reader-content-notice{margin:0 0 24px;padding:16px 18px;border-left:3px solid #d7c39c;background:#d7c39c0d;border-radius:0 4px 4px 0}
.reader-content-notice h3{margin:0 0 8px;font:600 15px/1.4 var(--sans,Arial,sans-serif);color:#e4d0ab}
.reader-rules-copy .reader-content-notice p{margin:0;line-height:1.65}

.reader-feedback{margin-top:38px;padding-top:28px;border-top:1px solid #baaa8c55}.reader-feedback h3{font:normal 25px/1.3 Georgia,serif;margin:0 0 12px}.reader-ending .reader-feedback p{margin:0 auto 12px;font-size:17px}.reader-feedback a{display:inline-block;padding:10px 0;color:#69502d;font:15px/1.5 var(--sans,Arial,sans-serif);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}

/* Restrict ordinary text selection only inside the manuscript. Real text,
   touch scrolling, keyboard navigation and browser zoom remain available. */
.reader-manuscript{-webkit-user-select:none;user-select:none}
.reader-manuscript :is(input,textarea,select,[contenteditable]:not([contenteditable="false"])){ -webkit-user-select:text;user-select:text }

/* A decorative, repeating background stays behind the real text. It adds
   no spoken content, focus targets, overlays, tracking or extra requests. */
.reader-manuscript,.reader-letter{
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='240' viewBox='0 0 420 240'%3E%3Ctext x='210' y='126' text-anchor='middle' font-family='Georgia,serif' font-size='32' letter-spacing='2' fill='%23927b53' fill-opacity='.18' transform='rotate(-18 210 120)'%3EUccellina %C2%B7 DOE%3C/text%3E%3C/svg%3E");
 background-position:center top;
 background-size:min(100%,420px) 240px;
 background-repeat:repeat-y;
}
/* Accessibility contrast preferences take priority over the watermark. */
@media(forced-colors:active),(prefers-contrast:more){
 .reader-manuscript,.reader-letter{background-image:none}
}

/* The cover remains a real, reachable page before the prologue. */
.reader-cover{padding:32px 0 40px}
.reader-cover-art{display:block;width:auto;height:auto;max-width:100%;max-height:min(68dvh,max(140px,calc(100dvh - 250px)));aspect-ratio:2/3;object-fit:contain;margin:0 auto 26px;box-shadow:0 12px 30px #30241630}
.reader-cover h2,.reader-cover>span,.reader-cover>.reader-eyebrow{display:none}
.reader-book{position:relative}
.reader-cover-intro{position:absolute;inset:0;z-index:3;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:var(--paper);perspective:1400px;animation:reader-cover-reveal 2.3s ease both}
.reader-cover-intro[hidden]{display:none}
.reader-opening-book{position:relative;height:min(58dvh,540px);max-height:calc(100% - 100px);aspect-ratio:2/3;max-width:70%;transform-style:preserve-3d;animation:reader-cover-zoom 2.3s ease-in-out both}
.reader-opening-paper{position:absolute;inset:0;background:#fffcf5;box-shadow:4px 3px 0 #d9cbb4,8px 6px 0 #eee3d1,0 15px 45px #30241640;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;border:1px solid #d8c8a9;color:#715b37}
.reader-opening-paper span{font:clamp(24px,5vw,45px) Georgia,serif}.reader-opening-paper small{letter-spacing:.3em;font:12px Georgia,serif}
.reader-opening-book>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform-origin:left center;backface-visibility:hidden;animation:reader-cover-open 2.3s ease-in-out both;box-shadow:0 8px 25px #30241640}
[data-reader-skip-cover]{position:relative;z-index:1;min-height:44px;padding:10px 16px;border:0;background:transparent;color:#69502d;text-decoration:underline;text-underline-offset:4px;font:13px var(--sans,Arial,sans-serif)}
@keyframes reader-cover-open{0%,28%{transform:rotateY(0)}72%,100%{transform:rotateY(-155deg)}}
@keyframes reader-cover-zoom{0%,32%{transform:scale(.96)}72%{transform:scale(1.06)}100%{transform:scale(1.85)}}
@keyframes reader-cover-reveal{0%,78%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.reader-cover-intro,.reader-opening-book,.reader-opening-book>img{animation:none}}
