:root{--ink: #0b0a10;--bone: #f1ebdb;--dim: #d3cbb6;--gold: #c9a24a;--gold-text: #ecc878;--chip: color-mix(in srgb, var(--ink) 84%, transparent);--chip-line: color-mix(in srgb, var(--bone) 22%, transparent);--display: "Cormorant Garamond", "EB Garamond", Georgia, serif;--ui: "EB Garamond", "Cormorant Garamond", Georgia, "Times New Roman", serif;--focus: #fff3c4}*{box-sizing:border-box;margin:0}html,body{height:100%;background:var(--ink);color:var(--bone);overflow:hidden}body{font-family:var(--ui);font-size:17px;line-height:1.35;-webkit-text-size-adjust:100%}#stage{position:fixed;inset:0;width:100%;height:100%;display:block}header,footer{position:fixed;left:0;right:0;padding:18px 22px;display:flex;justify-content:space-between;align-items:flex-end;gap:10px 14px;pointer-events:none}header{top:0;align-items:flex-start}footer{bottom:0}.chip,.mark,.phase,.caption,.hint{background:var(--chip);border:1px solid var(--chip-line);border-radius:3px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mark{font-family:var(--display);font-weight:600;font-size:19px;line-height:1;letter-spacing:.16em;text-transform:uppercase;padding:12px 12px 11px 16px}.phase{font-size:17px;color:var(--dim);padding:9px 14px}.mark a,.phase a{color:inherit;pointer-events:auto;text-underline-offset:4px}.mark a{text-decoration:none}.phase a:hover,.mark a:hover{color:#fff}.caption{max-width:36ch;padding:12px 16px 14px}.caption h1{font-family:var(--display);font-weight:600;font-size:27px;letter-spacing:.01em}.caption p{margin-top:6px;font-size:17px;line-height:1.4;color:var(--dim)}.hint{font-size:18px;line-height:1.3;color:var(--bone);padding:10px 16px;max-width:64ch;text-wrap:balance}nav{display:flex;gap:6px;pointer-events:auto}nav button{font:inherit;font-size:17px;font-weight:500;min-height:44px;min-width:44px;color:var(--bone);background:var(--chip);border:1px solid var(--chip-line);border-radius:3px;padding:8px 14px;cursor:pointer;transition:color .2s,background-color .2s,border-color .2s}nav button:hover{border-color:var(--gold-text);color:#fff}nav button[aria-pressed=true]{color:var(--ink);background:var(--gold-text);border-color:var(--gold-text);font-weight:600}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 5px var(--ink);border-radius:3px}.tools{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:6px;pointer-events:auto;margin-left:auto}.sound,.quiet{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:17px;font-weight:500;min-height:44px;min-width:44px;color:var(--bone);background:var(--chip);border:1px solid var(--chip-line);border-radius:3px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px 14px;cursor:pointer;text-decoration:none;transition:color .2s,border-color .2s,background-color .2s}.sound:hover,.quiet:hover{border-color:var(--gold-text);color:#fff}.sound svg{flex:none}.sound[aria-pressed=true]{color:var(--gold-text);border-bottom:3px solid var(--gold-text);padding-bottom:6px}.sound[aria-pressed=true] .cross,.sound[aria-pressed=false] .waves{display:none}.sound[aria-pressed=false]{color:var(--dim)}.credits{margin:auto;width:min(58ch,calc(100vw - 24px));max-width:none;max-height:calc(100vh - 32px);overflow:auto;padding:26px 30px 18px;color:var(--bone);background:#100e15;border:1px solid color-mix(in srgb,var(--gold) 60%,transparent);border-radius:3px;font-family:inherit}.credits::backdrop{background:#050406b8}.credits h2{font-family:var(--display);font-weight:600;font-size:25px;letter-spacing:.14em;text-transform:uppercase}.credits h3{margin-top:20px;font-family:var(--display);font-weight:600;font-size:21px;letter-spacing:.02em;color:var(--gold-text)}.credits p{margin-top:5px;font-size:17px;line-height:1.45;color:var(--bone)}.credits .note{font-size:16px;color:var(--dim)}.credits .note:empty{display:none}.credits a{color:#fff;text-underline-offset:3px}.credits a:hover{color:var(--gold-text)}.credits{max-height:calc(100dvh - 32px);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--gold) 55%,transparent) transparent}.credits ul{list-style:none;padding:0;margin-top:8px}.credits li{margin-top:9px;font-size:16px;line-height:1.4;color:var(--dim);overflow-wrap:anywhere}.credits li a{text-decoration-color:color-mix(in srgb,var(--bone) 55%,transparent)}.credits li a+a,.credits li a:not(:first-child){color:inherit}.credits .use{display:block;font-size:16px;color:var(--dim);padding-left:1em}.credits form{position:sticky;bottom:-18px;margin:16px -30px -18px;padding:10px 30px 14px;text-align:right;background:linear-gradient(transparent,#100e15 35%)}.credits dl{margin-top:4px}.credits dt{margin-top:18px;font-family:var(--display);font-weight:600;font-size:21px;color:var(--gold-text)}.credits dd{margin:5px 0 0;font-size:17px;line-height:1.45}#loading{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:max-content;max-width:calc(100vw - 32px);padding:12px 20px;font-size:19px;color:var(--bone);text-align:center;background:var(--chip);border:1px solid var(--chip-line);border-radius:3px;transition:opacity .6s;pointer-events:none}#loading.done{opacity:0}.vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(max-width:640px){header,footer{padding:10px 12px}footer{flex-direction:column;align-items:stretch;gap:8px}.tools{justify-content:flex-start;margin-left:0}.hint{font-size:17px;padding:8px 12px}.mark{font-size:17px;letter-spacing:.12em}.caption h1{font-size:23px}.caption p{font-size:16px}.credits{padding:20px 18px 16px}.credits form{margin:16px -18px -16px;padding:10px 18px 12px;bottom:-16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(prefers-contrast:more){:root{--bone: #fff;--dim: #f3efe4;--gold-text: #ffe08a;--chip: #000;--chip-line: #fff}.credits{background:#000;border-color:#fff}.credits form{background:#000}}@media(forced-colors:active){.chip,.mark,.phase,.caption,.hint,.sound,.quiet,nav button,#loading,.credits{background:Canvas;border:1px solid CanvasText;-webkit-backdrop-filter:none;backdrop-filter:none}nav button[aria-pressed=true],.sound[aria-pressed=true]{background:Highlight;color:HighlightText;border-color:Highlight;forced-color-adjust:none}:focus-visible{outline:3px solid Highlight;box-shadow:none}}body[data-arrival=door] #book-open{display:none}#book-label,#book-nudge{position:fixed;z-index:6;pointer-events:none;color:var(--bone);transition:opacity .35s ease,visibility 0s linear .35s;opacity:0;visibility:hidden}#book-label.on,#book-nudge.on{opacity:1;visibility:visible;transition:opacity .35s ease}#book-label{left:0;top:0;padding:7px 12px;font-size:17px;font-weight:500;white-space:nowrap;color:var(--gold-text);will-change:transform}#book-nudge{left:50%;bottom:max(96px,13vh);transform:translate(-50%);width:max-content;max-width:min(36rem,calc(100vw - 24px));padding:11px 18px 12px;font-size:19px;line-height:1.35;text-align:center;text-wrap:balance;border-left:3px solid var(--gold-text)}body[data-arrival=door] :is(#book-label,#book-nudge){display:none}#book-sheet{margin:auto;padding:0;width:min(46rem,calc(100vw - 16px));max-width:none;height:calc(100dvh - 24px);max-height:none;color:var(--bone);background:#14110d;border:1px solid color-mix(in srgb,var(--gold) 60%,transparent);border-radius:3px;overflow:hidden;font-family:inherit}#book-sheet[open]{display:grid;grid-template-rows:auto minmax(0,1fr)}#book-sheet::backdrop{background:#0504069e}#book-sheet .bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 8px 8px 16px;background:#100e15;border-bottom:1px solid var(--chip-line)}#book-sheet .bar h2{font-family:var(--display);font-weight:600;font-size:19px;letter-spacing:.12em;text-transform:uppercase;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#book-sheet .bar .quiet{flex:none}#book-sheet .page{overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9c7434 #14110d;background:#efd4a6}#book-sheet .page:focus-visible{outline-offset:-4px}#book-sheet .state{margin:0;padding:40px 24px;font-size:19px;text-align:center;color:#2a2016}#book-sheet .state a{color:inherit;text-underline-offset:4px}@media(max-width:640px){#book-sheet{width:100vw;height:100dvh;border:0;border-radius:0}#book-nudge{font-size:18px;bottom:150px}}@media(prefers-contrast:more){#book-sheet{border-color:#fff}#book-sheet .bar{background:#000}}@media(forced-colors:active){#book-sheet,#book-label,#book-nudge{background:Canvas;border:1px solid CanvasText;color:CanvasText}}
