@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600&family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,600;6..72,400&display=swap');
:root{color-scheme:light;--night:#17232a;--night2:#1e3036;--paper:#e9e0ce;--paper2:#f0e8d8;--ink:#292d29;--muted:#7d7e73;--line:#c5bba7;--rust:#c76f55;--gold:#c7aa72;--sea:#607b78;--serif:'Newsreader',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--mono:'DM Mono',monospace}
*{box-sizing:border-box}html{min-width:320px;background:var(--night)}body{margin:0;background:var(--night);color:var(--paper);font:13px var(--sans);-webkit-font-smoothing:antialiased}.night-sky{position:absolute;inset:0 0 auto;height:360px;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 72% 0%,#2d4144 0,transparent 54%)}.night-sky i{position:absolute;width:2px;height:2px;border-radius:50%;background:#d2c79e;opacity:.55;left:12%;top:65px;box-shadow:177px 45px #d2c79e,382px 8px #d2c79e,614px 91px #d2c79e,913px 42px #d2c79e,1123px 118px #d2c79e,1284px 31px #d2c79e,80px 191px #d2c79e,746px 187px #d2c79e}.night-sky i:nth-child(n+2){display:none}.page-shell{position:relative;max-width:1480px;margin:auto;padding:0 52px}.masthead{height:67px;border-bottom:1px solid #3e4a4a;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:9px;color:var(--paper);font:9px/1.05 var(--mono);letter-spacing:.1em;text-decoration:none}.brand b{color:var(--rust);font-weight:500}.brand-mark{width:22px;height:22px;border:1px solid #809187;border-radius:50%;position:relative;display:grid;place-items:center}.brand-mark i:first-child{height:10px;width:1px;background:var(--gold);display:block}.brand-mark i:last-child{position:absolute;width:7px;height:5px;border:1px solid var(--rust);border-left:0;right:4px;top:6px;border-radius:0 5px 5px 0}.masthead-center{display:flex;gap:10px;align-items:center;color:#9aa29b;font:8px var(--mono);letter-spacing:.1em}.masthead-center b{color:var(--rust);font-weight:400}.reader-tools{display:flex;gap:5px;align-items:center}.reader-tools button{border:1px solid #45504c;background:transparent;color:#c5c8bd;border-radius:2px;padding:6px 9px;font-size:10px;cursor:pointer}.reader-tools button:hover{border-color:var(--gold);color:var(--paper)}#restartButton{font:9px var(--mono);margin-left:8px}
.story-heading{display:flex;align-items:center;justify-content:space-between;padding:28px 0 25px}.heading-copy .eyebrow{margin:0 0 9px}.eyebrow{color:#7f897f;font:8px var(--mono);letter-spacing:.13em}.heading-copy .eyebrow span{color:var(--rust)}.story-heading h1{font:500 clamp(42px,5vw,61px)/.84 var(--serif);letter-spacing:-.045em;margin:0;color:var(--paper)}.story-heading h1 em{color:#d38a6c;font-weight:400}.deck{font:11px var(--sans);color:#a4ada4;margin:13px 0 0}.cover-art{margin:0;width:min(36%,380px);height:142px;position:relative;overflow:hidden;border:1px solid #46514b;background:#20353b}.cover-art svg{width:100%;height:100%;display:block}.cover-art figcaption{position:absolute;right:8px;bottom:7px;font:6px var(--mono);letter-spacing:.1em;color:#d1c8ad;background:#17232acc;padding:3px 5px}
.reader-layout{display:grid;grid-template-columns:224px minmax(400px,1fr) 218px;min-height:530px;background:var(--paper);color:var(--ink);border:1px solid #c2b9a5;box-shadow:0 18px 55px #08111655}.route-panel{padding:21px 18px 17px;border-right:1px solid #cfc4b1;display:flex;flex-direction:column;min-width:0}.panel-top{display:flex;align-items:center;justify-content:space-between}.panel-top .eyebrow{color:#797e71}.route-count{font:9px var(--mono);color:var(--rust)}.route-panel h2,.notes-panel h2{font:400 25px/.9 var(--serif);letter-spacing:-.03em;margin:13px 0 18px}.route-panel h2 em,.notes-panel h2 em{color:#748579;font-weight:400}.route-tree{position:relative;flex:1;overflow:auto;max-height:310px;padding:0 0 0 12px}.route-tree::before{content:"";position:absolute;top:8px;bottom:8px;left:4px;width:1px;background:#b4b6a7}.route-node{position:relative;display:flex;align-items:center;gap:8px;min-height:37px;padding:5px 0;color:#666e62;font:10px var(--serif);animation:node-in .3s ease both}.route-node::before{content:"";position:absolute;left:-11px;width:7px;height:7px;border:1px solid #9aa08d;background:var(--paper);border-radius:50%}.route-node.is-current{color:var(--ink);font-weight:600}.route-node.is-current::before,.route-node.is-choice::before{background:var(--rust);border-color:var(--rust)}.route-node.is-choice{font-style:italic;color:#88877c}.route-node .node-mark{margin-left:auto;font:7px var(--mono);color:#a0a092}.route-node.is-current .node-mark{color:var(--rust)}@keyframes node-in{from{opacity:.3;transform:translateX(-3px)}to{opacity:1;transform:translateX(0)}}.route-legend{display:flex;gap:11px;border-top:1px solid #cec4b2;padding:9px 0;color:#7c8176;font:8px var(--mono)}.route-legend span{display:flex;align-items:center;gap:5px}.legend-dot{width:6px;height:6px;border-radius:50%;background:#b7b8aa}.legend-dot.visited{background:var(--rust)}.reading-progress{margin-top:7px}.progress-label{display:flex;justify-content:space-between;color:#7d8175;font:8px var(--mono);margin-bottom:7px}.progress-label b{font-weight:400;color:var(--rust)}.progress-track{height:2px;background:#d1c9b9}.progress-track i{height:100%;width:0;display:block;background:var(--rust);transition:width .35s}
.reading-page{position:relative;padding:23px clamp(25px,4vw,58px) 15px;min-width:0;background:var(--paper2);background-image:linear-gradient(90deg,#d8cdb9 0,transparent 8px);display:flex;flex-direction:column}.page-meta{display:flex;justify-content:space-between;color:#8d8b7c;font:7px var(--mono);letter-spacing:.09em}.page-meta i{font-style:normal;color:var(--rust);margin:0 3px}.ornament{display:flex;align-items:center;justify-content:center;gap:9px;margin:14px 0 12px;color:#ae8d60}.ornament span{width:38px;height:1px;background:#c6b9a3}.ornament i{font-size:11px;font-style:normal}.reading-page h2{font:500 clamp(26px,3vw,34px)/1.05 var(--serif);letter-spacing:-.025em;margin:0 auto 17px;text-align:center;max-width:520px}.story-copy{font:17px/1.68 var(--serif);color:#41423a;max-width:565px;margin:0 auto;width:100%;transition:font-size .2s}.story-copy p{margin:0 0 12px}.story-copy p:first-child:first-letter{float:left;font:44px/.78 var(--serif);color:var(--rust);padding:5px 5px 0 0}.story-memory{max-width:565px;width:100%;margin:2px auto 0;border-left:2px solid #c78e70;padding:5px 0 5px 11px;color:#74766a}.story-memory[hidden]{display:none}.story-memory>span{font:7px var(--mono);letter-spacing:.1em;color:var(--rust)}.story-memory p{margin:4px 0 0;font:italic 13px var(--serif)}.choice-area{max-width:565px;width:100%;margin:auto auto 0;padding-top:19px}.choice-prompt{font:italic 13px var(--serif);color:#858678;margin:0 0 9px}.choices{display:grid;gap:6px}.choice-button{width:100%;border:1px solid #c4b9a4;border-radius:2px;background:transparent;display:grid;grid-template-columns:23px 1fr auto;align-items:center;gap:9px;text-align:left;padding:9px 11px;color:#383d36;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.choice-button:hover{background:#e8ddc9;border-color:#b87c5e;transform:translateX(2px)}.choice-index{font:8px var(--mono);color:var(--rust)}.choice-label{font:15px var(--serif)}.choice-arrow{font:13px var(--mono);color:#9e9c8c}.page-number{display:flex;justify-content:center;gap:9px;align-items:center;margin-top:13px;color:#b0a58f;font:8px var(--mono)}.page-number b{font-weight:400;color:#817b6d}.notes-panel{padding:21px 16px 15px;border-left:1px solid #cfc4b1;display:flex;flex-direction:column;min-width:0}.ink-mark{color:var(--rust);font-size:15px}.notes-panel h2{margin-bottom:12px}.note-lede{font:italic 13px/1.45 var(--serif);color:#858578;margin:0 0 11px}.collected-notes{flex:1}.note-card{border-top:1px solid #cfc4b1;padding:10px 0 9px;animation:node-in .25s ease both}.note-card span{font:7px var(--mono);letter-spacing:.08em;color:var(--rust)}.note-card p{font:12px/1.45 var(--serif);color:#656a60;margin:5px 0 0}.empty-notes{font:11px/1.5 var(--serif);font-style:italic;color:#a09f91;padding:10px 0;border-top:1px solid #cfc4b1}.save-note{position:relative;border-top:1px solid #cfc4b1;padding:12px 0 9px 24px;color:#8a8d80}.save-icon{position:absolute;left:0;top:14px;color:#9b9b8b;font-size:13px}.save-note p{font:9px/1.45 var(--mono);margin:0}.saved-state{display:block;font:7px var(--mono);letter-spacing:.1em;color:#738676;margin-top:8px}.saved-state::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:#79947c;margin-right:5px;vertical-align:1px}.map-button{margin-top:10px;border:0;border-top:1px solid #cfc4b1;background:transparent;padding:10px 0 0;text-align:left;color:#70776d;font:9px var(--mono);cursor:pointer}.map-button span{float:right;color:var(--rust);font-size:13px}.map-button:hover{color:var(--ink)}
.island-map{margin-top:13px;background:#21353a;border:1px solid #40524f;padding:15px 20px 10px;animation:node-in .25s ease both}.island-map[hidden]{display:none}.map-drawing svg{width:100%;max-height:210px;display:block}.map-caption{display:flex;justify-content:space-between;font:7px var(--mono);letter-spacing:.06em;color:#9ea89b}.page-footer{height:50px;display:flex;align-items:center;justify-content:space-between;color:#839088;font:8px var(--mono)}.page-footer span:nth-child(2){color:#9ba49b}.page-footer a{color:#d4cdb8;text-decoration:none;border-bottom:1px solid #52615a;padding-bottom:3px}
body.reader-night{--paper:#2b3130;--paper2:#323938;--ink:#e4dfd0;--line:#505651;--muted:#b3b3a4;color-scheme:dark}.reader-night .reader-layout{border-color:#515954}.reader-night .route-panel,.reader-night .notes-panel{border-color:#4d5650}.reader-night .route-tree::before{background:#657068}.reader-night .route-node{color:#b4b9aa}.reader-night .reading-page{background-image:linear-gradient(90deg,#28302e 0,transparent 8px)}.reader-night .reading-page h2,.reader-night .story-copy,.reader-night .choice-button{color:#e5e1d4}.reader-night .story-copy{color:#d0d0c2}.reader-night .choice-button{border-color:#58635a}.reader-night .choice-button:hover{background:#3e4741}.reader-night .story-memory,.reader-night .note-lede,.reader-night .note-card p,.reader-night .empty-notes,.reader-night .save-note,.reader-night .map-button,.reader-night .choice-prompt{color:#b9bdaf}.reader-night .story-memory,.reader-night .note-card,.reader-night .empty-notes,.reader-night .save-note,.reader-night .map-button{border-color:#505951}.reader-night .ornament span{background:#657068}.reader-night .progress-track{background:#505951}.reader-night .route-legend{border-color:#505951}
body.large-type .story-copy{font-size:19px}body.large-type .choice-label{font-size:17px}body.large-type .story-copy p{line-height:1.76}
@media(min-width:1450px){.page-shell{padding:0 67px}.reader-layout{grid-template-columns:245px minmax(470px,1fr) 240px;min-height:560px}.reading-page{padding-left:64px;padding-right:64px}.route-panel,.notes-panel{padding-left:21px;padding-right:21px}}
@media(max-width:1050px){.page-shell{padding:0 28px}.reader-layout{grid-template-columns:190px minmax(350px,1fr) 190px}.route-panel{padding-left:13px;padding-right:13px}.notes-panel{padding-left:13px;padding-right:13px}.reading-page{padding-left:27px;padding-right:27px}.cover-art{width:34%}.story-copy{font-size:16px}}
@media(max-width:760px){.page-shell{padding:0 17px}.masthead{height:59px}.masthead-center{font-size:7px}.reader-tools{gap:3px}.reader-tools button{padding:6px}.story-heading{padding:24px 0 20px;gap:15px}.story-heading h1{font-size:48px}.deck{font-size:10px;max-width:310px;line-height:1.5}.cover-art{width:37%;height:120px}.reader-layout{grid-template-columns:minmax(0,1fr) 185px;min-height:0}.route-panel{grid-column:1/-1;grid-row:1;border-right:0;border-bottom:1px solid #cfc4b1;padding:14px 16px}.route-panel h2{margin:6px 0 8px;font-size:20px}.route-tree{display:flex;align-items:center;gap:0;max-height:none;overflow-x:auto;padding:5px 0}.route-tree::before{left:9px;right:9px;top:14px;bottom:auto;width:auto;height:1px}.route-node{min-width:max-content;min-height:33px;padding:5px 11px 5px 17px;font-size:9px}.route-node::before{left:4px;top:1px}.route-node .node-mark{margin-left:2px}.route-legend{display:none}.reading-progress{margin-top:3px}.reading-page{grid-column:1;grid-row:2;padding:20px 22px 14px}.reading-page h2{font-size:29px}.story-copy{font-size:16px}.notes-panel{grid-column:2;grid-row:2;border-left:1px solid #cfc4b1;border-top:0;padding:17px 13px}.notes-panel h2{font-size:21px}.note-lede{font-size:12px}.choice-button{padding:8px;grid-template-columns:17px 1fr auto}.choice-label{font-size:14px}.cover-art{height:113px}.page-footer span:nth-child(2){display:none}}
@media(max-width:520px){.page-shell{padding:0 10px}.masthead-center{display:none}.masthead{height:54px}.reader-tools button{font-size:9px}.reader-tools #restartButton{margin-left:0;font-size:8px}.story-heading{align-items:flex-end;padding:22px 0 17px}.story-heading h1{font-size:41px}.heading-copy .eyebrow{font-size:6px}.deck{font-size:9px;margin-top:9px;max-width:225px}.cover-art{width:35%;height:87px}.cover-art figcaption{font-size:5px}.reader-layout{display:flex;flex-direction:column}.route-panel{border-right:0;border-bottom:1px solid #cfc4b1}.route-tree{max-height:49px}.reading-progress{display:none}.reading-page{padding:17px 18px 13px;min-height:470px}.page-meta{font-size:6px}.reading-page h2{font-size:27px;margin-bottom:13px}.story-copy{font-size:16px;line-height:1.63}.choice-area{padding-top:13px}.choice-label{font-size:15px}.notes-panel{border-left:0;border-top:1px solid #cfc4b1;padding:15px 17px}.notes-panel h2{font-size:23px;margin:8px 0}.collected-notes{min-height:42px}.save-note{margin-top:4px}.footer{font-size:7px}.map-caption{font-size:6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.route-node.is-choice::before{background:#b7b8aa;border-color:#9aa08d}

/* Each chapter borrows its colour from the place the reader has reached. */
body[data-atmosphere="fog"]{--rust:#c0806b;--gold:#b7b3a0;--sea:#688286;--atmosphere-rgb:139 169 171}
body[data-atmosphere="stone"]{--rust:#b96f55;--gold:#d0a86e;--sea:#5f7379;--atmosphere-rgb:176 118 86}
body[data-atmosphere="signal"]{--rust:#c89a52;--gold:#e0c078;--sea:#586b7c;--atmosphere-rgb:201 157 83}
body[data-atmosphere="memory"]{--rust:#a98295;--gold:#c7ad83;--sea:#627381;--atmosphere-rgb:157 126 151}
body[data-atmosphere="tide"]{--rust:#6f9991;--gold:#b8bd9e;--sea:#426e73;--atmosphere-rgb:93 151 151}
body[data-atmosphere="hearth"]{--rust:#b97759;--gold:#d7b477;--sea:#66786c;--atmosphere-rgb:186 121 81}
body[data-atmosphere="lantern"]{--rust:#cc9652;--gold:#ead18c;--sea:#5e7470;--atmosphere-rgb:208 157 79}
body[data-atmosphere="brass"]{--rust:#b88a4f;--gold:#dfc17f;--sea:#526b68;--atmosphere-rgb:177 139 74}
body[data-atmosphere="silver"]{--rust:#8296a2;--gold:#c0c4bd;--sea:#637b87;--atmosphere-rgb:133 160 171}
body[data-atmosphere="open-sea"]{--rust:#7799ae;--gold:#c6c5ad;--sea:#4e7083;--atmosphere-rgb:95 143 172}
body[data-atmosphere="dawn"]{--rust:#ce8867;--gold:#e6c17a;--sea:#687d75;--atmosphere-rgb:215 151 107}
body[data-atmosphere="deep"]{--rust:#8791b0;--gold:#bab8ad;--sea:#535e77;--atmosphere-rgb:111 122 158}

.night-sky{transition:background 650ms ease}
.reading-page{background-image:linear-gradient(90deg,#d8cdb9 0,transparent 8px),linear-gradient(135deg,rgb(var(--atmosphere-rgb) / .12),transparent 58%);transition:background-color .55s ease,filter .25s ease,opacity .22s ease,transform .22s ease}
.reading-page.is-leaving{opacity:0;transform:translateY(12px) rotateX(1.2deg);filter:blur(2px);pointer-events:none}
.reading-page.is-arriving{animation:page-arrival .52s cubic-bezier(.2,.75,.25,1) both}
@keyframes page-arrival{from{opacity:0;transform:translateY(10px) rotateX(-1deg);filter:blur(2px)}to{opacity:1;transform:translateY(0) rotateX(0);filter:blur(0)}}
.reading-page h2{transition:color .45s ease}
.dialogue-note{max-width:565px;width:100%;margin:0 auto 12px;padding:8px 0 8px 13px;border-left:2px solid var(--rust);background:linear-gradient(90deg,rgb(var(--atmosphere-rgb) / .12),transparent 82%);animation:dialogue-arrival .45s .08s both}
.dialogue-note[hidden]{display:none}
.dialogue-note span{color:var(--rust);font:7px var(--mono);letter-spacing:.11em}
.dialogue-note p{margin:4px 0 0;color:#4c4e45;font:italic 15px/1.45 var(--serif)}
.reader-night .dialogue-note p{color:#dedccd}
@keyframes dialogue-arrival{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.choice-button{animation:choice-arrival .35s both}
.choice-button:nth-child(2){animation-delay:.06s}
@keyframes choice-arrival{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.reader-tools #musicButton{display:flex;align-items:center;gap:5px;border-color:#56645e;color:#d9c89e;min-width:32px}
.reader-tools #musicButton.is-playing{border-color:var(--gold);color:var(--gold)}
.reader-tools #musicButton span{font:8px var(--sans)}
.volume-control{height:27px;display:flex;align-items:center;gap:5px;padding:4px 7px;border:1px solid #45504c;border-radius:2px;color:#d9c89e}.volume-control span{font:12px var(--serif)}.volume-control input{width:68px;height:14px;margin:0;accent-color:var(--gold);cursor:pointer}.volume-control input:focus-visible{outline:2px solid var(--rust);outline-offset:2px}
.reader-tools button:focus-visible,.choice-button:focus-visible,.map-button:focus-visible{outline:2px solid var(--rust);outline-offset:3px}
#chapterTitle:focus{outline:none}
body[data-atmosphere="open-sea"] .night-sky{background:radial-gradient(ellipse at 72% 0%,#314c61 0,transparent 58%)}
body[data-atmosphere="hearth"] .night-sky{background:radial-gradient(ellipse at 72% 0%,#4d3b35 0,transparent 56%)}
body[data-atmosphere="deep"] .night-sky{background:radial-gradient(ellipse at 72% 0%,#34394f 0,transparent 58%)}
@media(max-width:760px){.volume-control{gap:3px;padding:4px 5px}.volume-control input{width:52px}}
@media(max-width:520px){.reader-tools #musicButton span{display:none}.volume-control{height:26px;gap:2px;padding:4px}.volume-control input{width:44px}.dialogue-note{margin-bottom:9px}.dialogue-note p{font-size:14px}}
@media(max-width:760px){.route-tree{flex-wrap:wrap;overflow:visible;max-height:none;gap:3px 12px}.route-node{flex:0 1 calc(50% - 6px);min-width:0;white-space:normal;line-height:1.25}.route-node .node-mark{flex:none;white-space:nowrap}}

/* The new story's atmosphere follows the working conditions at the lighthouse. */
body[data-atmosphere="automation"]{--rust:#bb795a;--gold:#d0aa6e;--sea:#4e6a72;--atmosphere-rgb:179 118 82}
body[data-atmosphere="manual"]{--rust:#a66e4e;--gold:#d0b77e;--sea:#627b70;--atmosphere-rgb:161 112 76}
body[data-atmosphere="storm"]{--rust:#d07d5a;--gold:#b8b7a9;--sea:#465d70;--atmosphere-rgb:108 130 152}
body[data-atmosphere="hybrid"]{--rust:#b28153;--gold:#dfc07b;--sea:#557773;--atmosphere-rgb:158 146 104}
body[data-atmosphere="evacuation"]{--rust:#c7835a;--gold:#d0aa77;--sea:#63706d;--atmosphere-rgb:184 132 87}
body[data-atmosphere="gas"]{--rust:#b99756;--gold:#9da18b;--sea:#657363;--atmosphere-rgb:154 152 89}
body[data-atmosphere="paper"]{--rust:#a97856;--gold:#c7b582;--sea:#697b73;--atmosphere-rgb:173 142 102}
body[data-atmosphere="manual"] .night-sky{background:radial-gradient(ellipse at 72% 0%,#453c31 0,transparent 58%)}
body[data-atmosphere="storm"] .night-sky{background:radial-gradient(ellipse at 72% 0%,#263c50 0,transparent 60%)}
body[data-atmosphere="gas"] .night-sky{background:radial-gradient(ellipse at 72% 0%,#394235 0,transparent 60%)}
.state-readout{display:grid;gap:10px;padding:1px 0 12px;border-bottom:1px solid #cfc4b1}
.state-meter-head{display:flex;justify-content:space-between;gap:8px;color:#77796f;font:9px var(--sans)}
.state-meter-head b{color:#52584f;font:9px var(--mono);font-weight:400}
.state-meter-track{height:3px;margin-top:5px;background:#d8d0c1;overflow:hidden}
.state-meter-track i{display:block;height:100%;background:var(--sea);transition:width .35s ease,background-color .35s ease}
.state-risk .state-meter-track i{background:#b97858}
.state-time .state-meter-track i{background:#c5a96d}
.state-knowledge .state-meter-track i{background:#778e7b}
.reader-night .state-readout{border-color:#505951}
.reader-night .state-meter-head,.reader-night .state-meter-head b{color:#c1c4b6}
.reader-night .state-meter-track{background:#505951}
.empty-choices{margin:0;color:#8a6d59;font:italic 13px/1.5 var(--serif)}
@media(max-width:760px){.state-readout{grid-template-columns:1fr 1fr;gap:9px 12px}.notes-panel{min-width:0}}
@media(max-width:520px){.state-readout{gap:9px 14px;padding-bottom:11px}.state-meter-head,.state-meter-head b{font-size:8px}}
