@charset "UTF-8";
:root{--paper:#f4eedf;--ink:#172d3e;--muted:#686658;--line:#c9bfaa;--red:#ad3928;--blue:#072b54;--gold:#e2bb70;--green:#31523b;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--sans)}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}a:hover{color:var(--red)}button,select{font:inherit}button,a,select,summary{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}img{display:block;max-width:100%;height:auto}figure{margin:0}p{margin:0 0 1.15em}h1,h2,h3{line-height:1.1;font-family:var(--serif);font-weight:normal;margin:0 0 .5em;text-wrap:balance}h1{font-size:clamp(43px,6.4vw,88px);letter-spacing:-.045em}h2{font-size:clamp(32px,4vw,50px);letter-spacing:-.025em}h3{font-size:29px}.skip{position:absolute;left:20px;top:-80px;background:var(--paper);padding:12px;z-index:99}.skip:focus{top:10px}.wrap{width:min(1320px,calc(100% - 80px));margin:auto}.mast{border-bottom:1px solid var(--line)}.mast .wrap{display:flex;gap:30px;align-items:center;justify-content:space-between;min-height:90px}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;letter-spacing:.12em;font-weight:700;font-size:16px}.brand img{width:46px;height:46px;object-fit:contain}.mast nav{display:flex;gap:27px;align-items:center;font-size:14px}.mast nav a{text-decoration:none}.mast nav a[aria-current=page]{color:var(--red);text-decoration:underline}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:11px;font-weight:700;line-height:1.6;color:var(--muted);margin-bottom:20px}.hero{display:grid;grid-template-columns:.75fr 1.25fr;align-items:center;gap:55px;padding:64px 0 76px}.hero h1{font-size:clamp(45px,5.3vw,75px)}.hero .lead{max-width:34ch;color:var(--muted);font-size:18px}.hero-art{background:var(--blue);border:0}.hero-art img{width:100%}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;text-decoration:none;border:1px solid var(--ink);padding:13px 23px;margin:15px 0 0;font-size:14px}.button.primary{background:var(--ink);color:var(--paper)}.button:hover{background:var(--red);border-color:var(--red);color:var(--paper)}.chapterbar{border-top:1px solid var(--line);padding:22px 0;display:flex;justify-content:space-between;gap:25px;align-items:baseline}.chapterbar h2{font:12px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;margin:0}.chapterbar span{font-size:12px;color:var(--muted)}.works{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:10px 0 80px}.work{text-decoration:none;display:block}.work img{width:100%;aspect-ratio:3/2;object-fit:contain;background:var(--blue)}.work .meta{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:24px 0 12px}.work h3{font-size:clamp(29px,3.1vw,42px)}.work p{font-size:16px;color:var(--muted);max-width:45ch}.work .go{display:inline-block;border-bottom:1px solid var(--ink);font-size:13px;padding-bottom:3px}.foot{border-top:1px solid var(--line);padding:30px 0 45px;font-size:12px;color:var(--muted)}.foot .wrap{display:flex;justify-content:space-between;gap:20px}.bookhead{padding:50px 0 30px;max-width:1000px}.bookhead h1{font-size:clamp(43px,6vw,74px)}.bookhead .subtitle{color:var(--muted);font-size:18px;max-width:46ch}.reader-tools{background:var(--paper);border-block:1px solid var(--line);padding:13px 0;position:sticky;top:0;z-index:10}.reader-tools .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}.scene-nav{display:flex;gap:8px;flex-wrap:wrap}.scene-nav a{min-width:35px;text-align:center;font-size:13px;padding:3px;text-decoration:none;border:1px solid transparent}.scene-nav a.active{border-color:var(--red);color:var(--red)}.audio-tools{display:flex;align-items:center;gap:10px;font-size:12px}.audio-tools select{font-size:12px;color:var(--ink);border:0;background:transparent;max-width:140px}.audio-tools audio{height:32px;width:230px}.scenes{width:min(1200px,calc(100% - 80px));margin:auto}.scene{padding:55px 0 65px;border-bottom:1px solid var(--line);scroll-margin-top:95px}.scene-title{display:flex;gap:25px;align-items:baseline;margin-bottom:22px}.scene-title span{font-size:12px;color:var(--red)}.scene-title h2{font-size:clamp(27px,3vw,39px);margin:0}.art-button{display:block;width:100%;padding:0;border:0;background:transparent;text-align:inherit;color:inherit}.art-button img{width:100%;height:auto}.dialogue{width:min(700px,100%);padding-top:28px;margin-left:0;font-size:17px}.dialogue p{margin-bottom:10px}.speaker{font-size:11px;letter-spacing:.07em;color:var(--muted);font-weight:700;margin-right:8px}.bookend{text-align:center;padding:65px 0 85px}.bookend p{color:var(--muted)}.bookend .button{margin:10px}.journal-shell{width:min(1100px,calc(100% - 80px));margin:0 auto 90px}.journal-shell article{max-width:100%;overflow-wrap:anywhere}.journal-shell article>section{padding-top:35px}.journal-shell p,.journal-shell blockquote,.journal-shell li{max-width:730px}.journal-shell h1{font-size:clamp(40px,5vw,65px)}.journal-shell h2{font-size:clamp(30px,4vw,46px);padding-top:35px}.journal-shell h3{font-size:29px;padding-top:24px}.journal-shell img{width:auto;max-width:100%;max-height:800px;margin:auto;object-fit:contain}.journal-shell figure{margin:38px 0}.journal-shell figcaption{font-size:12px;line-height:1.55;color:var(--muted);max-width:730px;padding-top:12px}.journal-shell blockquote{border-left:2px solid var(--red);margin:30px 0;padding:2px 0 2px 24px;font-family:var(--serif);font-size:24px}.journal-shell a{color:var(--green)}.journal-shell a:hover{color:var(--red)}.journal-shell details{border-block:1px solid var(--line);padding:18px 0;margin:20px 0 35px}.journal-shell summary{cursor:pointer}.journal-shell nav{display:grid;grid-template-columns:1fr 1fr;gap:10px 25px;padding:20px 0;font-size:14px}.journal-shell nav a{display:block}.journal-shell .fj-eyebrow,.journal-shell .live-world-label{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.journal-shell .fj-byline{font-size:12px;margin:25px 0}.journal-shell .live-metadata{color:var(--muted)}.journal-shell .live-grid{display:grid;gap:20px}.journal-shell .live-actions{display:flex;gap:20px;flex-wrap:wrap}.journal-shell .fj-mark{font-size:30px;color:var(--red)}.journal-shell .live-quote{border-left:2px solid var(--red);padding-left:25px}.music-intro{max-width:700px;margin-bottom:50px}.track{display:grid;grid-template-columns:.45fr 1fr;gap:45px;padding:35px 0;border-top:1px solid var(--line)}.track h2{font-size:39px}.track p{color:var(--muted);font-size:16px;max-width:60ch}.track audio{width:100%;max-width:600px}.track small{display:block;margin-top:15px;color:var(--muted);font-size:12px}.musicpage{padding-bottom:90px}dialog{border:0;background:var(--ink);padding:45px 12px 12px;max-width:96vw;max-height:96vh;color:var(--paper)}dialog::backdrop{background:#06192de8}dialog img{max-width:90vw;max-height:84vh;width:auto;height:auto;object-fit:contain}dialog button{position:absolute;right:12px;top:8px;background:transparent;border:1px solid #9ca7ad;color:var(--paper);font-size:12px;padding:4px 12px}.notice{font-size:12px;color:var(--muted);padding-top:30px}.credits{font-size:14px;max-width:760px}.credits dl{margin:40px 0}.credits dt{font-weight:700;margin-top:24px}.credits dd{margin:5px 0;color:var(--muted)}
@media(max-width:800px){.wrap{width:calc(100% - 36px)}.mast .wrap{min-height:76px;gap:10px}.brand{font-size:12px;letter-spacing:.08em;gap:8px}.brand img{width:35px;height:35px}.mast nav{gap:14px;font-size:12px}.mast nav .optional{display:none}.hero{grid-template-columns:1fr;gap:25px;padding:38px 0 48px}.hero h1{max-width:13ch}.hero .lead{font-size:17px;max-width:39ch}.hero .button{margin-top:5px}.works{grid-template-columns:1fr;gap:45px;padding-bottom:45px}.chapterbar{align-items:start}.chapterbar span{max-width:18ch;text-align:right}.foot .wrap{flex-direction:column;gap:6px}.bookhead{padding:35px 0 20px}.reader-tools .wrap{flex-wrap:wrap;gap:8px}.reader-tools{padding:9px 0}.audio-tools{width:100%;justify-content:space-between}.audio-tools audio{width:200px}.audio-tools select{max-width:130px}.scenes{width:calc(100% - 36px)}.scene{padding:34px 0 40px;scroll-margin-top:130px}.scene-title{gap:15px;margin-bottom:16px}.dialogue{font-size:15px;padding-top:20px}.dialogue .speaker{font-size:10px;display:block;margin:0 0 1px}.bookend{padding:42px 0 50px}.journal-shell{width:calc(100% - 36px)}.journal-shell nav{grid-template-columns:1fr}.journal-shell p,.journal-shell li{font-size:16px}.journal-shell figure{margin:28px 0}.track{grid-template-columns:1fr;gap:12px}.track h2{font-size:34px}.music-intro{margin-bottom:25px}dialog{max-width:100vw;padding:45px 4px 4px}dialog img{max-width:96vw}.eyebrow{margin-bottom:14px}.scene-nav a{min-width:30px}.journal-shell h2{padding-top:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media print{.mast,.reader-tools,.foot,.bookend,dialog,.skip{display:none}.scene{break-inside:avoid}.scene img{max-height:60vh;width:auto;margin:auto}.scenes,.journal-shell{width:100%}.art-button{display:block}body{background:white;color:black}.journal-shell details{display:none}}

.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* DNA3.3.1: exact FANTAZERIA palette and beacon mask. Sources in REVIEW. */
:root{--paper:#101f30;--ink:#f7edcf;--muted:#e5dfce;--line:#65726f;--red:#eabc58;--gold:#eabc58;--green:#eabc58;--serif:Arial,Helvetica,sans-serif;--sans:Arial,Helvetica,sans-serif;font-synthesis:none;color-scheme:dark}
body{font-size:18px;line-height:1.6}h1,h2,h3{font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:-.035em;line-height:1.12}
.wrap{width:min(1180px,calc(100% - 80px))}.mast .wrap{min-height:78px}.mast{color:var(--gold);background:var(--paper);border-bottom:1px solid var(--line)}
.brand{font-size:20px;letter-spacing:-.025em;font-weight:800;gap:10px;line-height:1}.brand-beacon{display:block;flex:none;width:42px;height:42px}.brand .brand-beacon img{width:100%;height:100%;object-fit:contain}
@supports ((mask-image:url('')) or (-webkit-mask-image:url(''))){.brand .brand-beacon{background-color:currentColor;-webkit-mask:url('/assets/media-v1/f4305cdd223b4423754c76cf-w256-q90.webp') center/145% 145% no-repeat;mask:url('/assets/media-v1/f4305cdd223b4423754c76cf-w256-q90.webp') center/145% 145% no-repeat}.brand .brand-beacon img{display:none}}
.mast nav a[aria-current=page]{color:var(--gold)}.hero{gap:64px;padding-block:70px 76px}.hero h1{font-size:clamp(2.6rem,5.4vw,5.5rem);overflow-wrap:anywhere}.hero-art{background:transparent}.hero-art img{border-radius:14px}.work img{border-radius:12px;background:transparent}.work .go{border-color:var(--gold);color:var(--gold)}
.button{min-height:48px;border-radius:7px;border-color:var(--gold);color:var(--gold);font-size:16px;font-weight:650;line-height:1.35}.button.primary{background:var(--gold);color:#101f30}.button:hover{background:var(--gold);color:#101f30;filter:brightness(.94)}
.scene-title span,.eyebrow{color:var(--gold)}.scene-nav a.active{border-color:var(--gold);color:var(--gold)}.art-button img{border-radius:12px}.reader-tools{color:var(--ink)}.audio-tools select{background:var(--paper);color:var(--ink)}.speaker{color:var(--gold)}.journal-shell h1{font-weight:700}.journal-shell figure img{border-radius:12px}.journal-shell blockquote,.journal-shell .live-quote{border-color:var(--gold)}.journal-shell .fj-mark{color:var(--gold)}.journal-shell .live-world-label,.journal-shell .fj-eyebrow{color:var(--gold)}dialog{background:#101f30;color:#f7edcf}dialog button{color:#f7edcf}.skip{background:var(--gold);color:#101f30}
@media(max-width:800px){.wrap{width:calc(100% - 36px)}.mast .wrap{min-height:78px}.brand{font-size:18px;gap:9px}.hero{gap:28px;padding-block:38px 48px}.hero h1{font-size:clamp(2.6rem,8vw,4rem);max-width:100%}.mast nav{gap:13px}.bookhead h1{overflow-wrap:anywhere}}
@media(max-width:600px){.brand .brand-beacon{width:34px;height:34px}.mast nav{font-size:11px;gap:11px}}
@media print{body{color:#173e33;background:#f4eedf}.speaker,.eyebrow,.scene-title span{color:#173e33}.journal-shell a{color:#173e33}}
.hero>div{container-type:inline-size}.hero h1 .world-title{display:block;white-space:nowrap;overflow-wrap:normal;font-size:clamp(1.8rem,10.8cqw,5.5rem)}
@media(max-width:900px){.wrap{width:calc(100% - 52px)}}@media(max-width:700px){.wrap{width:calc(100% - 40px)}body{font-size:17px}}@media(min-width:1500px){.wrap{width:min(1240px,calc(100% - 120px))}}
.journal-shell nav{display:block}.journal-shell nav ol{display:grid;grid-template-columns:1fr 1fr;gap:10px 35px;max-width:100%;margin:0;padding-left:22px}.journal-shell nav li+li{margin-top:0}@media(max-width:700px){.journal-shell nav ol{grid-template-columns:1fr}}
[hidden]{display:none!important}
.works.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.works.three h3{font-size:30px}.house-nav{display:flex;gap:25px;border-block:1px solid var(--line);padding:16px 0;margin:10px 0 35px;font-size:14px}.house-section{padding:25px 0 45px}.house-copy{max-width:730px;padding-top:35px}.characters{max-width:900px}.character{border-top:1px solid var(--line);padding:20px 0}.character:last-child{border-bottom:1px solid var(--line)}.character summary{display:flex;gap:30px;justify-content:space-between;cursor:pointer;list-style:none}.character summary strong{font-size:21px}.character summary span{font-size:14px;color:var(--muted)}.character p{max-width:700px;margin:20px 0 0;font-size:17px}@media(max-width:800px){.works.three{grid-template-columns:1fr}.mast .wrap{flex-wrap:wrap;padding-block:12px}.mast nav{width:100%;justify-content:space-between;gap:15px}.character summary{flex-direction:column;gap:5px}}

/* FANTA reader cleanup: separate world labels/actions and safe text wrapping. */
.journal-worlds{display:grid;gap:2rem;margin:2rem 0 2.5rem;max-width:730px}
.journal-world{min-width:0;padding-block:1.5rem;border-top:1px solid var(--line)}
.journal-world .journal-world-label{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--gold);margin:0 0 .75rem}
.journal-world h3{padding-top:0;margin:0 0 .8rem;line-height:1.2;overflow-wrap:break-word}
.journal-world-links{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;margin-top:1rem}
.journal-world-links>a{display:block;max-width:100%;line-height:1.55;overflow-wrap:anywhere}
.journal-world .journal-world-note{margin:1rem 0 0;color:var(--muted);font-size:14px}
.journal-shell .journal-step-label,.journal-shell .journal-note-label{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--gold);margin:0 0 .75rem}
.journal-shell aside>h3{margin-top:.25rem}
.journal-shell aside>a{display:block;max-width:100%;margin-block:.75rem;line-height:1.55;overflow-wrap:anywhere}
.journal-fact-list{max-width:730px;margin:1.25rem 0 2rem}
.journal-fact-list>div{padding-block:.75rem;border-bottom:1px solid var(--line)}
.journal-fact-list dt{margin:0 0 .35rem;line-height:1.4}
.journal-fact-list dd{margin:0;line-height:1.65;overflow-wrap:break-word}
.journal-method-steps{display:grid;gap:.8rem;max-width:730px;list-style:none;margin:1.25rem 0 2rem;padding:0}
.journal-method-steps>li{display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:.75rem;align-items:baseline}
.journal-method-steps b{color:var(--gold);font-variant-numeric:tabular-nums}
.journal-method-steps span{min-width:0}
main .house-nav{flex-wrap:wrap;row-gap:.75rem}
.scene-title{min-width:0}.scene-title h2{min-width:0;overflow-wrap:break-word}
.track>div{min-width:0}
main :is(h1,h2,h3,p,li,dd,figcaption){overflow-wrap:break-word}

/* Local Atlas canon: meaning before the complete artwork; scoped to route cards. */
.works.three .work{display:flex;flex-direction:column;gap:14px;padding:24px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025)}
.works.three .work h3{margin:0}.works.three .work .meta{margin:0}.works.three .work p{margin:0}.works.three .work .go{align-self:flex-start;margin-top:auto}.works.three .work img{margin-top:8px;aspect-ratio:3/2;object-fit:contain}
