:root{--paper:#f4f2ed;--surface:#f4f2ed;--ink:#202422;--muted:#707771;--border:#dcded9;--accent:#0f4c81;--panel:#f4f2ed;--panel-ink:#202422;--serif:"Instrument Serif",Georgia,"Times New Roman",serif;--sans:"DM Sans",Arial,sans-serif;--mono:"DM Mono",monospace;--read-size:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}body.dark{--paper:#1b2228;--surface:#1b2228;--ink:#edece6;--muted:#a0aab3;--border:#35404a;--accent:#9cc6ea;--panel:#1b2228;--panel-ink:#edece6}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}a{color:inherit}img{max-width:100%;display:block}.skip-link{position:fixed;top:-100px;left:20px;z-index:150;background:#fff;padding:12px}.skip-link:focus{top:10px}.read-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:130;pointer-events:none}.read-progress span{display:block;width:0;height:100%;background:#bb765b;transition:width .12s linear}.masthead{height:74px;background:var(--paper);border-bottom:1px solid var(--border);position:relative;z-index:30}.masthead-inner{max-width:1450px;margin:auto;height:100%;padding:0 56px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:15px;text-decoration:none}.brand-mark{font-weight:700;font-size:24px;letter-spacing:-.09em}.brand-rule{width:1px;height:23px;background:var(--border)}.brand-secondary{font-family:var(--serif);font-size:17px;font-style:italic;color:var(--muted)}.brand-secondary strong{font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:.035em;text-transform:uppercase;color:var(--ink);font-style:normal}.main-navigation{display:flex;gap:24px;align-items:center}.nav-button{border:0;background:none;display:flex;align-items:center;gap:9px;color:var(--ink);font-weight:600;font-size:12px;letter-spacing:.025em;padding:12px 0}.nav-button-icon svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;display:block}.cover{background:#1d211f;color:#f7f5ee;overflow:hidden}.cover-inner{max-width:1450px;min-height:337px;margin:auto;padding:40px 56px 37px;position:relative;display:flex;align-items:flex-end}.cover-copy{position:relative;z-index:2;width:55%}.overline{font-family:var(--mono);font-size:10px;letter-spacing:.15em;font-weight:400;text-transform:uppercase}.cover-overline{color:#c2c5b9}.cover h1{font-weight:600;letter-spacing:-.115em;font-size:clamp(115px,16vw,242px);line-height:.82;margin:33px 0 28px}.cover-stop{color:#c58062}.cover-footer{font-size:14px;display:flex;gap:55px;align-items:center;color:#d7d5ce}.cover-footer strong{text-transform:uppercase;font-size:11px;letter-spacing:.075em;margin-left:5px}.cover-counter{font-family:var(--mono);font-size:10px;color:#b5b7af}.cover-art{position:absolute;right:4%;top:-47%;height:600px;width:650px;pointer-events:none;transform:rotate(-12deg);opacity:.96}.cover-orbit{position:absolute;border:1px solid rgba(200,186,153,.34);border-radius:50%}.orbit-one{width:520px;height:520px;top:40px;right:20px}.orbit-two{width:370px;height:370px;top:116px;right:92px}.cover-core{position:absolute;width:250px;height:250px;right:151px;top:178px;border-radius:50%;background:radial-gradient(circle at 34% 30%,#a6a590 0%,#6c7168 20%,#252b29 56%,#171d1c 75%);box-shadow:40px 40px 130px #000c,0 0 5px #c5b7a65e}.cover-cross{position:absolute;width:1px;height:590px;left:330px;top:10px;background:#b9ae9857;transform:rotate(51deg)}.cover-tiny{position:absolute;right:20px;top:380px;font:10px var(--mono);color:#c2c4bb;letter-spacing:.3em}.reader-shell{max-width:1450px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 352px;align-items:start;gap:0;padding:0 56px}.reader{padding:82px clamp(40px,5.4vw,98px) 80px max(15px,4vw);min-width:0;max-width:1000px;margin:0 auto;width:100%;outline:none}.chapter-eyebrow{display:flex;align-items:center;gap:15px;font:10px var(--mono);letter-spacing:.125em;color:var(--accent)}.eyebrow-line{height:1px;background:var(--border);width:42px}.chapter-title{font-family:var(--serif);font-weight:400;font-size:clamp(58px,6vw,90px);letter-spacing:-.028em;line-height:1.04;margin:29px 0 18px}.chapter-description{font:italic 24px/1.35 var(--serif);color:var(--muted);margin:0 0 32px;max-width:630px}.reader-controls{border-top:1px solid var(--border);border-bottom:1px solid var(--border);height:59px;display:flex;align-items:center;justify-content:space-between;margin:39px 0 62px}.reader-controls-label{font:10px var(--mono);letter-spacing:.08em;color:var(--muted)}.reader-control-actions{display:flex;align-items:center;gap:16px}.control-button{height:38px;min-width:27px;border:0;background:none;color:var(--ink);display:flex;align-items:center;justify-content:center;font-weight:600}.control-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.control-button span{color:var(--muted);font-size:12px;margin-left:1px}.font-smaller{font-size:14px}.font-larger{font-size:19px}.control-separator{width:1px;height:19px;background:var(--border)}.resume-banner{border:1px solid var(--border);background:var(--surface);padding:12px 15px;font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:-36px;margin-bottom:34px}.resume-banner[hidden]{display:none}.resume-banner div{display:flex;align-items:center;gap:8px}.resume-banner button{border:0;background:transparent;color:var(--accent);font-size:12px;font-weight:700}.resume-banner button:last-child{font-size:18px;color:var(--muted)}.chapter-content{--scale:1;font-family:var(--serif);font-size:var(--read-size);line-height:1.61;letter-spacing:.005em}.story-block{position:relative;margin:0 0 1.35em;scroll-margin-top:28px}.story-block[data-scene]{transition:background .3s}.story-block p{margin:0;white-space:pre-line}.story-paragraph{line-height:1.65}.story-paragraph:first-of-type:not(.no-dropcap)::first-letter{float:left;font-family:var(--serif);font-size:3.7em;line-height:.8;padding:.07em .095em 0 0}.story-block--heading{margin:2.2em 0 .65em}.story-block--heading h3{font:400 1.65em/1.15 var(--serif);letter-spacing:-.018em;margin:0}.story-block--quote{padding:0 0 0 24px;border-left:2px solid var(--accent);margin:2.25em 0}.story-block--quote blockquote{margin:0;font:italic 1.22em/1.35 var(--serif)}.story-block--divider{display:flex;align-items:center;justify-content:center;margin:2.7em 0;color:var(--accent);font-size:16px}.media-block{margin:2.4em -5vw 2.6em;max-width:none}.media-block img{width:100%;height:auto;object-fit:cover}.media-caption{font:11px/1.6 var(--sans);margin:13px 0 0;color:var(--muted);letter-spacing:.015em}.scene-annotation{border:1px solid var(--border);border-radius:100%;color:var(--accent);font:13px var(--serif);height:24px;width:24px;position:absolute;right:calc(100% + 22px);top:6px;background:var(--paper);display:grid;place-items:center;cursor:pointer;transition:background .2s,transform .2s}.scene-annotation:hover,.scene-annotation.is-active{background:var(--accent);color:#fff;transform:scale(1.08)}.comic-grid{display:grid;grid-template-columns:repeat(var(--comic-columns,2), minmax(0,1fr));gap:8px}.comic-panel{background:#d9d6ce;overflow:hidden;aspect-ratio:4/5}.comic-panel img{height:100%;width:100%;object-fit:cover}.comic-panel.placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#313c3a,#7d877b);color:#eee;font:11px var(--mono);text-align:center;padding:14px}.dialogue-block{margin:1.5em 0;padding:19px 23px;background:var(--surface);border-left:2px solid var(--accent)}.dialogue-original{font-family:var(--serif);font-size:1.05em;line-height:1.5}.translation-toggle{font:11px var(--sans);padding:5px 0;border:0;background:none;text-decoration:underline;text-underline-offset:3px;color:var(--accent);margin-top:11px}.dialogue-translation{font:15px/1.5 var(--sans);color:var(--muted);margin-top:12px!important}.cinematic-card{background:#1e2424;color:#faf8f2;min-height:280px;display:grid;place-items:center;position:relative;overflow:hidden}.cinematic-card.has-video{display:block;min-height:0}.cinematic-card video{width:100%;display:block;max-height:66vh;background:#111}.cinematic-grid{position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.8%,#c7bf9c33 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,#c7bf9c33 50%,transparent 50.2%);background-size:70px 70px;opacity:.65;transform:rotate(13deg) scale(1.5)}.cinematic-figure{position:absolute;height:190px;width:190px;border-radius:50%;border:1px solid #c8a7917a;box-shadow:0 0 0 35px #c8a79113,0 0 0 76px #c8a79110}.cinematic-card.is-playing .cinematic-figure{animation:cinemaPulse 4s ease-in-out 1}.cinematic-card.is-playing .cinematic-grid{animation:cinemaShift 4s ease-out 1}.cinematic-overlay{position:relative;z-index:2;text-align:center;padding:20px}.cinematic-label{font:10px var(--mono);letter-spacing:.15em;color:#dad0bc;display:block;margin-bottom:17px}.cinematic-action{padding:11px 20px;background:#f7f1e8;color:#1d2220;border:0;font:600 12px var(--sans);letter-spacing:.03em;display:inline-flex;gap:12px;align-items:center}.cinematic-action:disabled{opacity:.75;cursor:default}.media-block.reveal{opacity:.15;transform:translateY(35px);transition:opacity .7s, transform .7s}.media-block.reveal.in-view{opacity:1;transform:translateY(0)}.chapter-footer{border-top:1px solid var(--border);margin-top:85px;text-align:center;padding:46px 0 0}.chapter-end-mark{font-size:30px;color:var(--accent)}.chapter-footer>p{font:10px var(--mono);letter-spacing:.15em;color:var(--muted)}.chapter-footer-actions{margin-top:41px;display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:15px 0}.chapter-page-button{font-size:12px;color:var(--ink);background:none;border:0;padding:10px 0;text-align:left}.next-page{font-weight:700}.chapter-page-button:disabled{color:var(--muted);opacity:.45;cursor:default}.chapter-footer .publication-credit{margin-top:37px;letter-spacing:.06em;font-size:9px}.companion{position:sticky;top:0;align-self:start;border-left:1px solid var(--border);border-right:1px solid var(--border);min-height:calc(100vh - 0px);background:var(--panel);color:var(--panel-ink);overflow:auto;max-height:100vh}.companion-inner{padding:50px 28px 42px}.companion-head{display:flex;justify-content:space-between;gap:14px}.companion-head .overline{color:var(--accent)}.companion-head h2{font:400 40px/1.05 var(--serif);letter-spacing:-.018em;margin:14px 0 0}.companion-head h2 em{font-style:italic}.notes-close{border:0;background:none;color:var(--muted);font-size:25px;align-self:start;margin-top:-8px}.companion-intro{display:flex;align-items:flex-start;gap:13px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:30px 0 28px;padding:18px 0}.companion-intro .small-symbol{color:var(--accent);font-size:19px}.companion-intro p{margin:0;font:12px/1.65 var(--sans);color:var(--muted)}.companion-scene-index{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:32px}.scene-chip{font:10px var(--mono);color:var(--muted);background:transparent;border:1px solid var(--border);padding:9px 11px}.scene-chip.is-active{border-color:var(--accent);background:var(--surface);color:var(--ink)}.note-counter{font:10px var(--mono);letter-spacing:.06em;color:var(--accent);margin-bottom:18px}.note-title{font:400 30px/1.17 var(--serif);margin:0 0 16px;letter-spacing:-.015em}.note-body{font:13px/1.75 var(--sans);color:var(--panel-ink);white-space:pre-line;margin:0}.note-section{border-top:1px solid var(--border);margin-top:28px;padding-top:24px}.note-section-heading{font:10px var(--mono);letter-spacing:.12em;color:var(--muted);margin:0 0 13px}.inspiration-link{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border);padding:13px 12px;text-decoration:none;margin-top:8px;background:var(--surface);transition:border-color .2s}.inspiration-link:hover{border-color:var(--accent)}.inspiration-link-body{display:grid;gap:3px;min-width:0}.inspiration-link-label{font:600 12px var(--sans)}.inspiration-link-provider{font:10px var(--mono);color:var(--muted)}.inspiration-link svg{width:14px;stroke:var(--accent);stroke-width:1.5;fill:none}.companion-legal{font:10px/1.55 var(--sans);color:var(--muted);margin-top:45px;padding-top:18px;border-top:1px solid var(--border)}.floating-notes{position:fixed;right:22px;bottom:20px;z-index:52;padding:13px 18px;border-radius:40px;background:#272d2a;color:#fff;border:1px solid #fff2;font-size:12px;box-shadow:0 10px 35px #0003;display:none;align-items:center;gap:10px}.floating-notes span{color:#da9c80;font-size:19px}.drawer-backdrop[hidden],.chapter-dialog-backdrop[hidden]{display:none}.drawer-backdrop{position:fixed;inset:0;background:#0007;z-index:45}.chapter-dialog-backdrop{position:fixed;inset:0;background:#121614a8;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.chapter-dialog{width:min(540px,100%);max-height:85vh;overflow:auto;padding:35px;background:var(--paper);color:var(--ink);box-shadow:0 20px 90px #0006;outline:none}.dialog-head{display:flex;justify-content:space-between;align-items:start}.dialog-head .overline{color:var(--accent)}.dialog-head h2{font:400 55px/1 var(--serif);margin:14px 0 0}.dialog-head button{border:0;background:transparent;font-size:28px;color:var(--ink)}.chapter-dialog-instructions{font-size:12px;line-height:1.6;color:var(--muted);margin:17px 0 28px}.chapter-list{border-top:1px solid var(--border)}.chapter-item{width:100%;text-align:left;border:0;border-bottom:1px solid var(--border);padding:17px 0;display:grid;grid-template-columns:34px 1fr 28px;gap:15px;align-items:center;background:transparent;color:var(--ink)}.chapter-item:hover{color:var(--accent)}.chapter-list-number{font:10px var(--mono);color:var(--accent)}.chapter-item-title{font:24px var(--serif)}.chapter-item-description{font:11px var(--sans);color:var(--muted);display:block;margin-top:4px}.chapter-dialog-footer{font:10px var(--mono);color:var(--muted);text-align:right;margin-top:30px;letter-spacing:.1em}.toast{position:fixed;z-index:140;bottom:22px;left:50%;transform:translate(-50%,15px);background:#212521;color:#fff;padding:11px 18px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}.reader-shell.notes-hidden{grid-template-columns:minmax(0,1fr)}.reader-shell.notes-hidden .companion{display:none}.reader-shell.notes-hidden .reader{max-width:840px;padding-left:50px;padding-right:50px}.reader-shell.notes-hidden~.floating-notes{display:flex}
@keyframes cinemaPulse{0%{transform:scale(.7);opacity:.45}25%{transform:scale(1.3);opacity:1}50%{transform:scale(.85)}75%{transform:scale(1.55);opacity:.65}100%{transform:scale(1);opacity:1}}@keyframes cinemaShift{from{transform:rotate(13deg) scale(1.7) translateX(-50px)}to{transform:rotate(55deg) scale(1.8) translateX(30px)}}
@media(max-width:1170px){.reader-shell{grid-template-columns:minmax(0,1fr) 320px;padding:0 32px}.reader{padding-left:20px;padding-right:47px}.companion-inner{padding:45px 22px}.media-block{margin-left:-2vw;margin-right:-2vw}.scene-annotation{right:calc(100% + 14px)}}
@media(max-width:900px){.cover-inner{min-height:310px;padding:40px 32px}.cover h1{font-size:168px}.cover-art{right:-130px;opacity:.5}.reader-shell{display:block;padding:0 30px}.reader{padding:70px 8vw 70px;max-width:790px}.companion{position:fixed;top:0;right:0;bottom:0;max-height:100dvh;width:min(420px,92vw);z-index:50;box-shadow:-18px 0 70px #0002;transition:transform .3s ease;transform:translateX(110%)}.companion.is-open{transform:translateX(0)}.floating-notes{display:flex}.reader-shell.notes-hidden .reader{max-width:790px;padding:70px 8vw}.notes-close{display:block}.media-block{margin-left:-3vw;margin-right:-3vw}.masthead-inner{padding:0 30px}}
@media(min-width:901px){.notes-close{display:none}}
@media(max-width:600px){.masthead{height:64px}.masthead-inner{padding:0 19px}.brand-mark{font-size:23px}.brand-secondary{font-size:14px}.brand-rule{height:20px}.main-navigation{gap:16px}.nav-button{gap:0}.nav-button span:last-child{display:none}.nav-button-icon svg{width:21px;height:21px}.cover-inner{height:252px;min-height:0;padding:30px 24px}.cover-overline{font-size:9px}.cover h1{font-size:132px;margin:35px 0 28px}.cover-art{transform:rotate(-12deg) scale(.65);right:-265px;top:-178px}.cover-footer{font-size:12px;gap:28px}.reader-shell{padding:0 20px}.reader{padding:52px 5px 68px}.reader-shell.notes-hidden .reader{padding:52px 5px 68px}.chapter-eyebrow{font-size:9px;gap:10px}.eyebrow-line{width:18px}.chapter-title{font-size:60px;margin:26px 0 10px}.chapter-description{font-size:21px}.reader-controls{margin:28px 0 46px}.reader-controls-label{font-size:9px}.chapter-content{font-size:calc(var(--read-size) - 1px)}.story-paragraph:first-of-type:not(.no-dropcap)::first-letter{font-size:3.4em}.scene-annotation{right:4px;top:-26px;height:21px;width:21px;font-size:11px}.story-block[data-scene]{margin-top:30px}.media-block{margin-left:-20px;margin-right:-20px}.comic-grid{gap:4px}.chapter-dialog{padding:25px}.dialog-head h2{font-size:48px}.chapter-footer{margin-top:50px}.floating-notes{right:14px;bottom:13px;padding:12px 15px}.resume-banner{flex-direction:column;align-items:start}.companion-inner{padding:43px 25px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.media-block.reveal{opacity:1;transform:none}}

/* V1.1: margin notes belong to the reading page rather than a separate tab. */
.companion-signal{font:11px/1.6 var(--sans);color:var(--muted);margin:-10px 0 19px}
.margin-hint{font-size:9px;color:var(--muted)}
.inline-margin-note{display:none}
@media(min-width:901px){.notes-close{display:block;padding:0 5px}.companion-inner{padding-top:39px}}
@media(max-width:900px){
  .companion,.floating-notes,.drawer-backdrop{display:none!important}
  .inline-margin-note{display:block;margin:23px 0 35px;border:1px solid var(--border);background:var(--panel);font-family:var(--sans);font-size:14px;line-height:1.5}
  .inline-note-summary{list-style:none;display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:center;cursor:pointer;padding:15px 19px}
  .inline-note-summary::-webkit-details-marker{display:none}
  .inline-note-label{font:10px/1.35 var(--mono);letter-spacing:.13em;color:var(--accent)}
  .inline-note-title{grid-column:1;font:italic 19px/1.25 var(--serif)}
  .inline-note-arrow{grid-column:2;grid-row:1 / 3;color:var(--accent);font-size:20px;transition:transform .2s}
  .inline-margin-note[open] .inline-note-arrow{transform:rotate(180deg)}
  .inline-note-body{border-top:1px solid var(--border);padding:18px 19px 20px}
  .inline-note-body .note-title{font-size:27px}
  .inline-note-body .note-counter{margin-bottom:10px}
  .inline-note-credit{font:10px/1.6 var(--sans);color:var(--muted);margin:20px 0 0}
  .scene-annotation{display:none}
  .margin-hint{display:none}
}


/* A.F. V2 — One reading surface, annotated like a manuscript. */
:root { color-scheme: light; }
body.dark { color-scheme: dark; }
body { background:var(--paper); }
.read-progress span { background:var(--accent); }
.masthead { background:var(--paper); border-bottom:1px solid var(--border); }
.masthead-inner { max-width:1370px; padding:0 clamp(22px,5vw,72px); }
.brand-mark { letter-spacing:-.085em; }
.brand-rule { opacity:.6; }
.brand-secondary { color:var(--muted); }
.nav-button:hover,.chapter-page-button:hover { color:var(--accent); }

/* Almost all-white is not the goal: warm pale stone, charcoal and ink blue. */
.cover { background:var(--paper); color:var(--ink); border-bottom:1px solid var(--border); }
.cover-inner { max-width:1370px; padding:37px clamp(22px,5vw,72px) 43px; min-height:210px; }
.cover-copy { width:100%; }
.cover-overline { color:var(--accent); font-size:10px; }
.cover h1 { color:var(--ink); font:500 clamp(88px,10vw,142px)/.85 Georgia,'Times New Roman',serif; letter-spacing:-.115em; margin:25px 0 25px; }
.cover-stop { color:var(--accent); }
.cover-footer { color:var(--muted); font-size:12px; gap:30px; }
.cover-footer strong { color:var(--ink); }
.cover-counter { color:var(--muted); }
.cover-art { display:none; }

/* NO second surface: margins are actual whitespace on the same paper. */
.reader-shell,
.reader-shell.notes-hidden { max-width:1370px; margin:0 auto; background:var(--paper); }
.reader-shell { display:grid; grid-template-columns:minmax(0,750px) minmax(255px,300px); justify-content:space-between; align-items:start; column-gap:clamp(35px,6vw,100px); padding:0 clamp(22px,5vw,72px); }
.reader { padding:66px 0 88px; width:100%; max-width:none; margin:0; }
.chapter-eyebrow { color:var(--accent); letter-spacing:.14em; }
.eyebrow-line { background:var(--border); }
.chapter-title { margin:28px 0 14px; font-size:clamp(58px,6.4vw,84px); color:var(--ink); }
.chapter-description { color:var(--muted); font-size:clamp(20px,2vw,25px); }
.reader-controls { border-color:var(--border); margin:38px 0 62px; }
.story-paragraph:first-of-type:not(.no-dropcap)::first-letter { color:var(--ink); }
.scene-annotation { border:0; background:transparent; color:var(--accent); font-size:17px; right:calc(100% + 14px); top:4px; }
.scene-annotation:hover,.scene-annotation.is-active { background:none; color:var(--accent); transform:scale(1.15); }
.chapter-content { line-height:1.66; }
.story-paragraph { line-height:1.7; }
.media-block { margin-left:0; margin-right:0; }
.media-caption { font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
/* Empty art areas are deliberately typographic; no generated or stock imagery. */
.artwork-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; aspect-ratio:1.83; border:1px solid var(--border); background:transparent; color:var(--muted); text-align:center; }
.artwork-placeholder::before { content:'+'; font-family:var(--serif); font-size:42px; line-height:1; font-weight:300; color:var(--accent); }
.artwork-placeholder span { font:10px/1.6 var(--mono); letter-spacing:.13em; text-transform:uppercase; }
.comic-panel.placeholder { background:transparent; border:1px solid var(--border); color:var(--muted); font:11px var(--mono); letter-spacing:.12em; }
.comic-grid { gap:8px; }
.dialogue-block { background:transparent; border-left:2px solid var(--accent); }
.cinematic-card { background:transparent; color:var(--ink); border:1px solid var(--border); min-height:220px; }
.cinematic-grid,.cinematic-figure { display:none; }
.cinematic-label { color:var(--muted); }
.cinematic-action { background:var(--accent); color:#fff; }
.cinematic-action:hover { filter:brightness(1.1); }
.chapter-end-mark { color:var(--accent); }

/* Kural's margin notes are a quiet, sticky part of the page, not a sidebar app. */
.companion { position:sticky; top:30px; align-self:start; background:transparent; color:var(--ink); border:0; min-height:0; overflow-y:auto; max-height:calc(100vh - 60px); scrollbar-width:thin; scrollbar-color:var(--border) transparent; }
.companion-inner { padding:53px 0 60px; }
.companion-head { border:0; align-items:start; }
.companion-head .overline { color:var(--accent); font-size:10px; }
.companion-head h2 { font:400 33px/1.1 Georgia,'Times New Roman',serif; letter-spacing:-.028em; margin-top:15px; }
.notes-close { color:var(--muted); font-size:23px; }
.companion-intro,.companion-signal,.companion-scene-index { display:none; }
.companion-note { border-top:1px solid var(--border); margin-top:28px; padding-top:25px; }
.note-counter { color:var(--accent); font:10px var(--mono); letter-spacing:.14em; margin-bottom:17px; }
.note-title { font:400 27px/1.16 Georgia,'Times New Roman',serif; letter-spacing:-.02em; margin-bottom:17px; }
.note-body { color:var(--ink); font:13px/1.78 var(--sans); }
.note-section { margin-top:29px; padding-top:22px; }
.note-section-heading { color:var(--accent); font-size:10px; }
.inspiration-link { background:transparent; border:0; border-bottom:1px solid var(--border); padding:13px 0; }
.inspiration-link:hover { color:var(--accent); border-color:var(--accent); }
.inspiration-link-label { font-size:12px; font-weight:600; }
.inspiration-link-provider { font-size:10px; }
.companion-legal { font:10px/1.6 var(--sans); margin-top:34px; border-top:1px solid var(--border); color:var(--muted); }
.floating-notes { background:var(--accent); border:0; box-shadow:0 9px 28px #10253433; color:#fff; }
.floating-notes span { color:#fff; }
.reader-shell.notes-hidden { display:block; }
.reader-shell.notes-hidden .reader { max-width:750px; padding:66px 0 88px; margin:0 auto; }
.chapter-dialog { box-shadow:0 20px 100px #0004; }
.chapter-dialog-backdrop { background:#1826379c; }
.toast { background:#172e42; }

@media(max-width:1170px) and (min-width:901px){
  .reader-shell { padding:0 40px; grid-template-columns:minmax(0,1fr) minmax(225px,275px); gap:42px; }
  .reader { padding:66px 0 82px; }
  .companion-inner { padding:53px 0 45px; }
  .scene-annotation { right:calc(100% + 10px); }
  .media-block { margin-left:0; margin-right:0; }
}
@media(max-width:900px){
  .cover-inner { min-height:0; padding:35px 35px 40px; }
  .cover h1 { font-size:125px; }
  .reader-shell { display:block; padding:0 clamp(25px,6vw,60px); }
  .reader { max-width:720px; margin:0 auto; padding:65px 0 72px; }
  .reader-shell.notes-hidden .reader { max-width:720px; padding:65px 0 72px; margin:0 auto; }
  .companion,.floating-notes,.drawer-backdrop { display:none!important; }
  .inline-margin-note { background:transparent; border:0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); margin:20px 0 35px; }
  .inline-note-summary { padding:17px 0; }
  .inline-note-body { padding:19px 0 24px; }
  .inline-note-label,.inline-note-arrow { color:var(--accent); }
  .media-block { margin-left:0; margin-right:0; }
  .notes-nav { display:none; }
  .margin-hint { display:none; }
}
@media(max-width:600px){
  .masthead-inner { padding:0 23px; }
  .cover-inner { height:auto; padding:28px 24px 32px; }
  .cover h1 { font-size:98px; margin:30px 0 24px; }
  .cover-footer { gap:24px; }
  .reader-shell { padding:0 24px; }
  .reader { padding:50px 0 65px; }
  .reader-shell.notes-hidden .reader { padding:50px 0 65px; }
  .chapter-title { font-size:clamp(50px,12vw,68px); }
  .reader-controls { margin:28px 0 44px; }
  .story-block[data-scene] { margin-top:28px; }
  .chapter-content { font-size:calc(var(--read-size) - 1px); }
  .artwork-placeholder { aspect-ratio:1.3; }
  .inline-margin-note { margin:18px 0 28px; }
}


/* A.F. v2.1 — correction: restore the proper NOTES PANEL.
   Only move the notes further to the right so their outside edge hugs the
   viewport, with no blank strip after them. Keep the entire reading page
   a quiet warm-stone colour with ink-blue accents. */
:root { --panel:#edeae4; --panel-ink:#202422; }
body.dark { --panel:#222a31; --panel-ink:#edece6; }
@media (min-width:901px) {
  .reader-shell {
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
    display:grid;
    grid-template-columns:minmax(0,1fr) clamp(320px,23.5vw,390px);
    column-gap:0;
    justify-content:stretch;
    align-items:stretch;
    background:var(--paper);
  }
  .reader {
    width:100%;
    max-width:880px;
    margin:0 auto;
    padding:70px clamp(44px,5vw,86px) 90px;
    min-width:0;
  }
  .companion {
    /* Full-height, anchored at the far-right edge — not a detached box. */
    display:block;
    position:sticky;
    top:0;
    align-self:start;
    min-height:100vh;
    max-height:100vh;
    width:100%;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:var(--border) var(--panel);
    border:0;
    border-left:1px solid var(--border);
    background:var(--panel);
    color:var(--panel-ink);
    box-shadow:none;
    border-radius:0;
    transform:none;
  }
  .companion-inner { padding:48px clamp(25px,2.35vw,41px) 48px; }
  .companion-head h2 { font-size:clamp(34px,2.65vw,43px); }
  .companion-intro { display:flex; }
  .companion-signal { display:block; }
  .companion-scene-index { display:flex; }
  .companion-note { border-top:0; margin-top:26px; padding-top:0; }
  .scene-chip { font-size:10px; border:1px solid var(--border); background:transparent; }
  .scene-chip.is-active { background:var(--paper); color:var(--accent); border-color:var(--accent); }
  .reader-shell.notes-hidden { display:block; width:100%; max-width:none; padding:0; }
  .reader-shell.notes-hidden .reader { width:100%; max-width:880px; margin:0 auto; padding:70px clamp(44px,5vw,86px) 90px; }
  .reader-shell.notes-hidden .companion { display:none; }
}
@media (min-width:901px) and (max-width:1170px) {
  .reader-shell { grid-template-columns:minmax(0,1fr) 320px; padding:0; gap:0; }
  .reader { padding:65px 36px 80px; }
  .companion-inner { padding:44px 26px 42px; }
  .reader-shell.notes-hidden .reader { padding:65px 40px 80px; }
}
@media (max-width:900px) {
  /* The existing inline notes remain part of the paragraph flow on phones. */
  .reader-shell { max-width:none; }
}
