:root{--ink:#101e24;--paper:#f5eedc;--muted:#d2d7d6;--accent:#ffb078;--rule:#6b7d82;--surface:#182b33;--text:1.25rem;--measure:65ch;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--ink);color:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:var(--text);line-height:1.65}a{color:var(--accent);text-underline-offset:.23em;text-decoration-thickness:1.5px}a:hover{text-decoration-thickness:3px}a:focus-visible,button:focus-visible{outline:4px solid var(--paper);outline-offset:5px;background:#243e47}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;line-height:1.12;text-wrap:balance;font-weight:700}h1{font-size:clamp(3.4rem,6.1vw,6.5rem);letter-spacing:-.045em}h2{font-size:clamp(2.4rem,4.2vw,4.3rem);letter-spacing:-.025em}h3{font-size:1.7rem;line-height:1.25;color:var(--accent)}p+p{margin-top:1.1em}strong{font-weight:700}img{display:block;width:100%;height:auto}button,.button{font:700 1.125rem/1.35 Arial,Helvetica,sans-serif;min-height:50px;padding:.9rem 1.1rem;border:1px solid var(--accent);border-radius:2px;cursor:pointer}button{color:var(--paper);background:transparent}button:hover{background:var(--surface)}button[aria-pressed=true]{background:var(--accent);color:var(--ink)}[hidden]{display:none!important}.button{display:inline-block;background:var(--accent);color:var(--ink);text-decoration:none;min-height:54px}.button:hover{background:#ffc39c}.button:focus-visible{color:var(--paper)}.wide,.masthead,.hero{width:min(1380px,calc(100% - 96px));margin-inline:auto}.skip{position:absolute;top:-100px;left:20px;z-index:5;background:var(--paper);color:var(--ink);padding:15px}.skip:focus{top:16px;background:var(--paper);color:var(--ink)}.masthead{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--rule);padding:20px 0}.brand{font:700 1.8rem/1.2 Georgia,serif;color:var(--paper);text-decoration:none;letter-spacing:-.03em}.masthead nav{display:flex;gap:12px;flex-wrap:wrap}.masthead nav a{font-size:1.125rem;padding:10px;color:var(--paper);text-decoration:none}.masthead nav a:hover{text-decoration:underline}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:38px;align-items:center;padding:44px 0 42px;min-height:650px}.subtitle{font-family:Georgia,serif;font-size:clamp(1.65rem,2.2vw,2.2rem);line-height:1.3;margin-top:25px}.hero-copy>p:not(.subtitle){margin-top:14px;max-width:42ch}.hero .button{margin-top:26px}.gm-notice{border-top:2px solid var(--accent);border-bottom:2px solid var(--accent);padding:10px 0 12px;margin-top:32px;max-width:420px}.gm-notice strong{font:700 clamp(2.8rem,4.8vw,4.7rem)/1.05 Georgia,serif;color:var(--accent);letter-spacing:-.025em}.gm-notice p{font-size:1.125rem;line-height:1.5;margin-top:10px}.hero-art img{aspect-ratio:3/2;object-fit:cover;border-radius:3px}.hero-art figcaption{font-size:1rem;line-height:1.6;margin-top:16px;color:var(--paper);max-width:54ch}.hero-art figcaption span{color:var(--muted)}.intro{border-top:1px solid var(--rule);padding:52px 0}.intro h2{margin-bottom:28px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:40px}.two-col>div+div{border-left:1px solid var(--rule);padding-left:32px}.two-col h3{margin-bottom:14px}.source-line{font-size:1rem;line-height:1.7;color:var(--muted);margin-top:26px!important}.source-line a{display:inline-block;padding:4px 0}.legend{border-top:1px solid var(--rule);padding:35px 0 45px}.legend h2{font-size:2rem;margin-bottom:22px}.legend-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.legend-grid h3{font-size:1.35rem}.legend-grid p{font-size:1.125rem;line-height:1.6;margin-top:9px}.legend-grid>div{border-top:2px solid var(--accent);padding-top:15px}.note{font-size:1.125rem;max-width:var(--measure);color:var(--muted);margin-top:25px!important}.notebook{display:grid;grid-template-columns:265px minmax(0,1fr);gap:45px;border-top:1px solid var(--rule)}.contents{padding-top:30px}.contents nav{position:sticky;top:22px;max-height:calc(100vh - 44px);overflow-y:auto;padding-right:8px;padding-bottom:12px}.contents h2{font:700 1.125rem/1.4 Arial,sans-serif;color:var(--paper);margin-bottom:16px;letter-spacing:0}.contents p{font:700 1rem/1.4 Arial,sans-serif;color:var(--muted);margin:22px 0 8px}.contents a{display:flex;gap:12px;align-items:baseline;font-size:1.05rem;color:var(--paper);text-decoration:none;min-height:48px;padding:10px 8px;border-bottom:1px solid transparent;line-height:1.45}.contents a span{font-variant-numeric:tabular-nums;color:var(--accent)}.contents a:hover,.contents a[aria-current]{border-bottom-color:var(--accent);color:var(--accent)}.contents .appendix-link{margin-top:12px;color:var(--accent)}.reader-tools{display:flex;flex-direction:column;gap:12px;margin-top:22px}.chapters{border-left:1px solid var(--rule);padding-left:38px;min-width:0}.chapter{padding:48px 0 52px;border-bottom:1px solid var(--rule);scroll-margin-top:20px}.chapter-label,.section-label{font:700 1rem/1.5 Arial,sans-serif;letter-spacing:.09em;color:var(--accent);margin-bottom:15px;text-transform:uppercase}.chapter h2{font-size:clamp(2.5rem,4vw,3.7rem)}.number{color:var(--accent);margin-right:.12em;white-space:nowrap}.lead{font-size:1.45rem;line-height:1.55;margin-top:20px;color:var(--paper);max-width:55ch}.chapter .two-col{margin-top:32px;gap:25px}.chapter .two-col>div+div{padding-left:24px}.margin-note{padding:25px 0 0;margin-top:26px;border-top:1px solid var(--rule)}.margin-note h3{font:700 1.15rem/1.4 Arial,sans-serif;margin-bottom:10px}.scene{margin:28px 0 34px}.scene img{aspect-ratio:3/2;object-fit:cover;border:1px solid var(--rule)}figcaption{font-size:1rem;line-height:1.6;margin-top:12px;color:var(--muted)}figcaption span{display:block}.wide:not(.intro):not(.legend):not(.notebook):not(.footer){padding-block:60px;border-bottom:1px solid var(--rule)}.wide>h2{margin-bottom:30px}.measure{max-width:var(--measure)}.reveal-ladder{list-style:none;counter-reset:reveal;padding:0;margin:38px 0 44px;display:grid;grid-template-columns:1fr 1fr;gap:32px 45px}.reveal-ladder li{counter-increment:reveal;border-top:1px solid var(--rule);padding:24px 0 0}.reveal-ladder li:before{content:'0' counter(reveal);display:block;color:var(--accent);font:1.35rem Georgia,serif;margin-bottom:10px}.reveal-ladder h3{margin-bottom:12px}.cast-list{display:grid;grid-template-columns:1fr 1fr;gap:35px 45px;margin-top:38px}.cast-list article{border-top:1px solid var(--rule);padding-top:24px}.status{font:700 1.05rem/1.6 Arial,sans-serif;color:var(--muted);margin:10px 0 14px!important}.subsection-title{margin:44px 0 18px}.locations{margin:0}.locations>div{display:grid;grid-template-columns:230px minmax(0,1fr);gap:35px;padding:22px 0;border-top:1px solid var(--rule)}dt{font-weight:700;color:var(--paper)}dd{margin:0;max-width:var(--measure)}.branch-list{margin-top:36px}.branch-list article{display:grid;grid-template-columns:1fr 2fr;gap:10px 36px;padding:27px 0;border-top:1px solid var(--rule)}.branch-list article h3{grid-row:1/3}.branch-list .status{margin:0!important}.branch-list article p:last-child{margin:0}.extrapolation,.unfinished{background:var(--surface);border-left:4px solid var(--accent);padding:30px;margin-top:36px}.extrapolation h3,.unfinished h3{margin-bottom:16px}.ending h2{font-size:clamp(3rem,5.7vw,6rem)}.ending .lead{max-width:55ch;margin-bottom:25px}.ending-states{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:36px}.ending-states article{border-top:2px solid var(--accent);padding-top:20px}.bibliography{padding-left:28px;max-width:950px;margin:38px 0}.bibliography>li{padding:20px 0;border-top:1px solid var(--rule)}.bibliography h3{font-size:1.5rem;margin-bottom:12px}.bibliography p,.source-sessions{font-size:1.125rem}.source-sessions{padding-left:22px}.source-sessions li{padding:9px 0}.source-sessions+p{margin-top:16px}.colophon{padding-block:70px!important}.colophon p{margin-top:20px}.back-top{display:inline-block;margin-top:30px;padding:12px 0}.footer{display:flex;justify-content:space-between;gap:20px;padding:30px 0;font-size:1rem;color:var(--muted)}.footer p+p{margin:0}.larger-text{--text:1.5rem}.larger-text .notebook{grid-template-columns:240px minmax(0,1fr);gap:28px}.larger-text .chapter .two-col{grid-template-columns:1fr}.larger-text .chapter .two-col>div+div{border-left:0;border-top:1px solid var(--rule);padding:24px 0 0}main:focus{outline:none}
@media(min-width:1500px){.hero{min-height:700px}.hero-art img{aspect-ratio:1/1}}
@media(max-width:1080px){.wide,.masthead,.hero{width:calc(100% - 56px)}.hero{gap:25px}.hero-art img{aspect-ratio:1/1}.notebook{grid-template-columns:210px minmax(0,1fr);gap:25px}.chapters{padding-left:25px}.chapter .two-col{grid-template-columns:1fr}.chapter .two-col>div+div{border-left:0;border-top:1px solid var(--rule);padding:24px 0 0}.legend-grid{grid-template-columns:1fr 1fr}.contents a{font-size:1rem}.hero h1{font-size:clamp(3.4rem,6.8vw,5rem)}}
@media(max-width:760px){.wide,.masthead,.hero{width:calc(100% - 40px)}.masthead{align-items:flex-start;flex-direction:column;gap:10px;padding:20px 0 12px}.brand{font-size:1.65rem}.masthead nav{gap:5px;margin-left:-10px}.masthead nav a{font-size:1.1rem;min-height:48px}.hero{grid-template-columns:1fr;padding:34px 0;min-height:0}.hero h1{font-size:clamp(3.25rem,12vw,4.5rem)}.desktop-break{display:none}.subtitle{font-size:1.65rem}.hero-art{margin-top:8px}.hero-art img{aspect-ratio:3/2}.gm-notice{max-width:none}.gm-notice strong{font-size:3.7rem}.two-col,.reveal-ladder,.cast-list,.ending-states{grid-template-columns:1fr;gap:28px}.two-col>div+div{border-left:0;padding:24px 0 0;border-top:1px solid var(--rule)}.legend-grid{grid-template-columns:1fr 1fr;gap:25px 20px}.legend-grid h3{font-size:1.3rem}.notebook,.larger-text .notebook{display:block}.contents nav{position:static;max-height:none;display:grid;grid-template-columns:1fr 1fr;gap:0 14px;padding:0}.contents h2,.contents p{grid-column:1/-1}.contents a{font-size:1rem}.reader-tools{flex-direction:row;flex-wrap:wrap;margin-bottom:25px}.chapters{border-left:0;padding:0}.chapter{padding-block:38px}.chapter h2{font-size:2.6rem}.chapter .lead{font-size:1.35rem}.wide:not(.intro):not(.legend):not(.notebook):not(.footer){padding-block:44px}.locations>div{grid-template-columns:1fr;gap:10px}.branch-list article{display:block}.branch-list .status{margin:12px 0!important}.branch-list article p:last-child{margin-top:14px}.extrapolation,.unfinished{padding:24px 20px}.footer{flex-direction:column;gap:10px}.scene img{aspect-ratio:3/2}.bibliography{padding-left:23px}}
.scene img{aspect-ratio:1672/941}
@media(max-width:420px){.legend-grid{grid-template-columns:1fr}.contents nav{display:block}.hero h1{font-size:3.2rem}.gm-notice strong{font-size:3.35rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(forced-colors:active){.button,button,.gm-notice,.scene img{border:2px solid CanvasText}a:focus-visible,button:focus-visible{outline-color:Highlight}}
@media print{html{scroll-behavior:auto}body{background:white;color:black;font-size:12pt;line-height:1.5}h1,h2,h3,a,.number,.chapter-label,.section-label,.status,.source-line,figcaption{color:black}.masthead nav,.contents,.button,.skip,.back-top,.footer{display:none}.wide,.masthead,.hero{width:100%}.hero{display:block;min-height:0}.hero-art{max-width:420px;margin:24px auto}.gm-notice{max-width:none}.notebook{display:block}.chapters{padding:0;border:0}.chapter{break-before:page}.two-col{display:block}.two-col>div+div{border:0;padding:20px 0 0}.scene img{max-height:400px;object-fit:contain}.extrapolation,.unfinished{background:white;border:1px solid black}.cast-list,.reveal-ladder,.ending-states{display:block}.cast-list article,.reveal-ladder li,.ending-states article{padding:20px 0;break-inside:avoid}h2,h3{break-after:avoid}a{text-decoration:underline}.colophon{break-before:page}}

/* A quiet, readable GM notice; the adventure title leads the page. */
.gm-notice{border-top:1px solid var(--rule);border-bottom:0;max-width:46ch;padding:18px 0 0;margin-top:26px}.gm-notice strong{font:700 1.25rem/1.4 Arial,Helvetica,sans-serif;letter-spacing:0;color:var(--paper)}.gm-notice p{font-size:1.125rem;line-height:1.6;color:var(--muted);margin-top:8px}

/* Table-ready profiles: full labels, generous type and simple reflow. */
.stat-section>p{max-width:76ch}.stat-grid,.encounter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-block:36px}.stat-card{background:var(--surface);border:1px solid var(--rule);border-top:4px solid var(--accent);padding:30px;scroll-margin-top:24px;min-width:0}.stat-card h3{font-size:2rem;margin-block:12px 20px}.stat-card .status{font-size:1.125rem}.stat-derived{border-block:1px solid var(--rule);padding-block:16px;margin-block:24px;font-weight:700;line-height:1.7}.stat-card dl{margin:0}.stat-card dl>div{margin-top:20px}.stat-card dt{font-weight:700;color:var(--accent)}.stat-card dd{margin:6px 0 0}.stat-card .source-line{margin-top:26px}.stat-key{max-width:80ch;border-left:4px solid var(--accent);padding:20px 28px;margin-block:32px;background:var(--surface)}.stat-key h3{margin-bottom:20px}.stat-jump{display:flex;flex-wrap:wrap;gap:12px;margin-block:28px}.stat-jump a{display:flex;align-items:center;min-height:48px;padding:10px 16px;border:1px solid var(--rule);font-size:1.125rem;line-height:1.5}.encounter-card{padding:22px 0;border-top:2px solid var(--rule);min-width:0}.encounter-card h4{font:700 1.4rem/1.5 Arial,Helvetica,sans-serif;margin:0 0 18px}.stat-section h3[id]{scroll-margin-top:24px}.larger-text .stat-grid{grid-template-columns:1fr}.larger-text .stat-jump a,.larger-text .stat-card .status{font-size:1.25rem}
@media(max-width:900px){.stat-grid,.encounter-grid{grid-template-columns:1fr}.stat-card{padding:24px}.stat-key{padding:20px}}
@media(max-width:420px){.stat-card{padding:20px 16px}.stat-card h3{font-size:1.65rem}.stat-jump{display:grid;grid-template-columns:1fr}.stat-jump a{font-size:1.125rem}.stat-key{padding:18px 16px}}
@media print{.stat-jump{display:none}.stat-grid,.encounter-grid{display:block}.stat-card,.stat-key{background:white;color:black;border:1px solid black}.stat-card{break-inside:avoid;margin-block:24px}.stat-card dt{color:black}.stat-derived{border-color:black}.stat-card .status,.stat-card .source-line{color:black}.stat-key{break-inside:avoid}.stat-section{break-before:page}}

.fan-brand{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:26px}.fan-brand img{width:180px;height:auto;background:var(--paper);padding:12px;object-fit:contain;box-sizing:content-box}.fan-brand p{font-size:1.125rem;line-height:1.6;margin:0;color:var(--muted)}.fan-notice{border-top:1px solid var(--rule);padding-top:28px;margin-top:36px;max-width:75ch}.fan-notice p{font-size:1.125rem}.fan-notice h3{font-size:1.5rem}@media print{.fan-brand p,.fan-notice p{color:black}.fan-brand img{background:white}}

/* Expanded encounters remain readable in a narrow column and on paper. */
.runnable{border-top:3px solid var(--accent);margin-top:40px;padding-top:32px}.runnable h3{font-size:2rem;margin-bottom:22px}.runnable h4{font:700 1.45rem/1.45 Arial,Helvetica,sans-serif;color:var(--accent);margin:34px 0 16px;scroll-margin-top:24px}.runnable p,.runnable li{max-width:70ch;overflow-wrap:break-word}.runnable ul{padding-left:26px}.runnable li{margin-block:16px}.runnable blockquote{margin:26px 0;padding:20px 24px;border-left:4px solid var(--accent);background:var(--surface)}.route-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-block:24px}.route-map a{display:block;min-height:64px;padding:20px;border:2px solid var(--rule);background:var(--surface);text-decoration:none;line-height:1.5}.route-map a:last-child{grid-column:1/-1}.route-map strong,.route-map span{display:block}.route-map span{color:var(--paper);margin-top:8px}.route-map a:hover strong{text-decoration:underline}.track-strip{border:2px solid var(--rule);padding:20px;margin-block:24px;font-variant-numeric:tabular-nums}.track-strip p+p{margin-top:14px}.larger-text .route-map{grid-template-columns:1fr}@media(max-width:760px){.route-map{grid-template-columns:1fr}.runnable h3{font-size:1.8rem}.runnable blockquote{padding:18px}.route-map a{padding:18px}.track-strip{padding:18px}}@media print{.runnable{border-color:black}.runnable h4,.route-map span{color:black}.route-map{display:block}.route-map a{background:white;color:black;border:1px solid black;margin-block:12px;break-inside:avoid}.runnable blockquote{background:white;border-color:black}.track-strip{border-color:black;break-inside:avoid}}
.zone-map{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-block:26px}.zone-map li{margin:0;padding:20px;border:2px solid var(--rule);background:var(--surface)}.zone-map strong,.zone-map span{display:block}.zone-map span{margin-top:8px}.zone-map li:last-child{grid-column:1/-1}.larger-text .zone-map{grid-template-columns:1fr}@media(max-width:760px){.zone-map{grid-template-columns:1fr}.zone-map li{padding:18px}}@media print{.zone-map{display:block}.zone-map li{background:white;border-color:black;break-inside:avoid;margin-block:12px}}
