:root{--ink:#16110c;--paper:#e9dec3;--gold:#bd9560;--wine:#4d171b;--glass:rgba(18,13,10,.82)}
    *{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#090705;color:#eadfc7;font-family:Georgia,'Times New Roman',serif}button{font:inherit}
    canvas{display:block}.hidden{display:none!important}body.mobile-started{overscroll-behavior:none}.touch-ui{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
    #veil{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:radial-gradient(circle at 50% 43%,rgba(72,48,27,.42),rgba(5,4,3,.97) 68%),linear-gradient(#090705,#160f09);transition:opacity .9s}
    #veil.leaving{opacity:0;pointer-events:none}.crest{width:min(560px,88vw);text-align:center;padding:42px 28px;border:1px solid rgba(189,149,96,.42);box-shadow:0 0 80px rgba(167,100,35,.08) inset;background:rgba(12,9,6,.45)}
    .sigil{font-size:34px;color:var(--gold);margin-bottom:14px}.crest h1{margin:0;font-weight:400;letter-spacing:.16em;font-size:clamp(27px,5vw,50px);line-height:1.08}.crest .rule{height:1px;width:90px;background:var(--gold);margin:25px auto;opacity:.75}.crest p{margin:9px auto;color:#bcae93;font-size:16px;line-height:1.6;max-width:430px}.crest .small{font-size:13px;letter-spacing:.08em;color:#8f806b}
    .primary,.ghost{border:1px solid #a88454;background:#8c6537;color:#fff6df;padding:12px 22px;letter-spacing:.15em;text-transform:uppercase;font-size:12px;cursor:pointer;transition:.2s}.primary:hover{background:#aa7d46}.ghost{background:transparent;color:#d9c8aa;border-color:#705b42}.ghost:hover{border-color:#c8a570;color:white}
    #hud{position:fixed;inset:0;pointer-events:none;z-index:10}.topmark{position:absolute;top:22px;left:27px;letter-spacing:.18em;text-transform:uppercase;font-size:11px;color:rgba(239,221,187,.64);text-shadow:0 1px 4px #000}.topmark b{font-weight:400;color:#e0c08c}
    #reticle{position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px;border:1px solid rgba(247,226,190,.68);border-radius:50%;box-shadow:0 0 8px #000;transition:.2s}#reticle.active{width:13px;height:13px;margin:-6.5px;border-color:#e2b66e;background:rgba(226,182,110,.15)}
    #prompt{position:absolute;left:50%;top:calc(50% + 29px);transform:translateX(-50%);text-align:center;min-width:260px;opacity:0;transition:.2s;text-shadow:0 2px 5px #000}.prompt-title{font-size:15px;letter-spacing:.07em}.prompt-by{font-size:12px;color:#c9baa1;margin-top:5px}.prompt-key{display:inline-block;margin-top:9px;padding:5px 9px;border:1px solid rgba(220,196,156,.55);font-size:11px;letter-spacing:.16em;color:#f0dbb6;background:rgba(8,6,4,.68)}
    #status{position:absolute;left:26px;bottom:24px;color:rgba(238,222,193,.76);font-size:12px;letter-spacing:.1em;text-transform:uppercase;line-height:1.8;text-shadow:0 2px 5px #000}#status span{color:#deb879}
    #mute,#settingsButton{pointer-events:auto;position:absolute;z-index:2;top:14px;width:36px;height:36px;padding:0;border:0;background:transparent;color:#c9b694;font-size:18px;cursor:pointer;opacity:.7}#mute{right:18px}#settingsButton{right:54px;font-size:16px}#mute:hover,#settingsButton:hover,#mute:focus-visible,#settingsButton:focus-visible{opacity:1;background:rgba(25,18,11,.36);border-radius:50%}#hint{position:absolute;right:25px;bottom:22px;font-size:11px;letter-spacing:.09em;color:rgba(220,204,177,.52);text-align:right;line-height:1.7}
    #notice{position:absolute;left:50%;top:18%;transform:translateX(-50%);padding:10px 15px;background:rgba(16,11,7,.72);border-left:1px solid var(--gold);font-size:13px;letter-spacing:.06em;color:#dbc49f;opacity:0;transition:opacity .35s;max-width:70vw;text-align:center}
    #bookActions{position:fixed;z-index:20;left:50%;bottom:8%;transform:translateX(-50%);display:flex;gap:12px;align-items:center;background:rgba(10,7,5,.74);border:1px solid rgba(173,136,87,.38);padding:14px 18px;backdrop-filter:blur(10px)}#bookActions .meta{margin-right:20px;min-width:200px}#bookActions .meta strong{display:block;font-weight:400;letter-spacing:.06em}#bookActions .meta em{display:block;margin-top:5px;color:#aa9a82;font-size:12px}
    #reader{position:fixed;inset:0;z-index:40;background:rgba(8,6,4,.78);backdrop-filter:blur(9px);display:grid;place-items:center;padding:2vh 2vw}#reader.comfort .book-spread{width:min(920px,96vw);height:min(860px,95vh);background:#eee4cf;color:#211810;box-shadow:0 28px 90px #000,0 0 0 1px #9e865f;display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr)}#reader.immersive .book-spread{width:min(1320px,98vw);height:min(820px,95vh);background:linear-gradient(90deg,#d5c7a8 0,#eee4cf 3%,#f2e9d6 49.6%,#9d8b6b 50%,#f1e7d2 50.5%,#eee4cf 97%,#d2c3a3 100%);color:#211810;box-shadow:0 40px 120px #000;display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);transform:perspective(1200px) rotateX(2deg)}
    .reader-head{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 24px 10px;border-bottom:1px solid rgba(66,47,27,.2)}.reader-head h2{font-size:22px;font-weight:400;margin:0}.reader-head p{margin:4px 0 0;color:#755e43;font-size:13px}.iconbtn{border:0;background:transparent;color:#493a29;font-size:26px;cursor:pointer;padding:0 6px}.pages{min-height:0;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr);position:relative}.immersive .pages{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.page{min-height:0;padding:18px 30px 16px;overflow:hidden;font-family:var(--reader-face,Georgia,serif);line-height:calc(1.48*var(--reader-leading,1));font-size:calc(var(--reader-size,16px)*var(--reader-scale,1));white-space:pre-wrap;text-align:left;hyphens:none;overflow-wrap:normal}.page.right{border-left:1px solid rgba(82,61,38,.15)}.comfort .page.right{display:none}.chapter{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#8a6c45;margin-bottom:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:9px 18px;border-top:1px solid rgba(66,47,27,.2)}.reader-foot button{border:1px solid #806945;background:transparent;color:#433420;padding:7px 10px;cursor:pointer}.reader-foot button:hover,.reader-foot button:focus-visible{background:rgba(111,82,46,.12)}.reader-foot .progress{height:3px;background:#cdbf9f;flex:1;min-width:60px;margin:0 5px}.reader-foot .progress i{display:block;height:100%;background:#815b2e}.reader-foot .percent,.reader-foot .page-count{font-size:12px;color:#6f5a40;white-space:nowrap}.reader-foot .bookmark.on{background:#6e2224;color:#fff3d8}.mode-toggle{font-size:11px!important;letter-spacing:.08em;text-transform:uppercase}
    .book-spread{position:relative}#readerAside{position:absolute;left:26px;bottom:70px;max-width:56%;font-family:Georgia,serif;font-style:italic;font-size:12.5px;line-height:1.5;letter-spacing:.02em;color:#6f5a40;opacity:0;pointer-events:none;transition:opacity 1.1s ease;z-index:2}#readerAside.show{opacity:.82}#readerFlicker{position:absolute;inset:0;background:#dfe7f6;opacity:0;pointer-events:none;transition:opacity .22s ease-out;z-index:3}#readerFlicker.flash{opacity:.5;transition:opacity .05s ease-in}
.pages{perspective:1500px}.pages.turn-next{animation:pageTurnNext .32s ease}.pages.turn-prev{animation:pageTurnPrev .32s ease}@keyframes pageTurnNext{0%{transform:rotateY(0deg)}45%{transform:rotateY(-9deg);filter:brightness(.92)}100%{transform:rotateY(0deg)}}@keyframes pageTurnPrev{0%{transform:rotateY(0deg)}45%{transform:rotateY(9deg);filter:brightness(.92)}100%{transform:rotateY(0deg)}}
    #pause{position:fixed;inset:0;z-index:25;display:grid;place-items:center;background:rgba(5,4,3,.7);backdrop-filter:blur(6px)}#pause .panel{text-align:center;padding:34px 52px;border:1px solid rgba(176,139,91,.5);background:#110d09}#pause h2{font-weight:400;letter-spacing:.14em;margin:0 0 10px}#pause p{color:#b3a189;font-size:14px;margin:0 0 22px}.pause-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
    #settings{position:fixed;inset:0;z-index:45;display:grid;place-items:center;background:rgba(5,4,3,.78);backdrop-filter:blur(8px);padding:24px}.settings-card{width:min(560px,94vw);max-height:calc(100dvh - 48px);overflow-y:auto;background:#e9dfc8;color:#241a10;border:1px solid #9e865f;box-shadow:0 30px 100px #000;padding:28px}.settings-card header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid rgba(79,57,31,.25);padding-bottom:14px}.settings-card small{letter-spacing:.16em;color:#795c37}.settings-card h2{font-weight:400;margin:8px 0 0}.settings-card label{display:block;margin:19px 0;line-height:1.5}.settings-card input[type=range]{display:block;width:100%;accent-color:#815b2e;margin-top:7px}.settings-card input[type=checkbox]{accent-color:#815b2e;margin-right:8px}.settings-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.settings-note{font-size:12px;color:#705a40;margin:20px 0 0}
    body.reduced-motion *,body.reduced-motion *::before,body.reduced-motion *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
    #journal{position:fixed;inset:0;z-index:38;display:grid;place-items:center;padding:4vh 4vw;background:rgba(6,4,3,.82);backdrop-filter:blur(10px)}.journal-book{width:min(840px,94vw);max-height:90vh;overflow:auto;background:#e9dfc8;color:#241a10;border:1px solid #9e865f;box-shadow:0 30px 100px #000;padding:28px 34px}.journal-head{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid rgba(79,57,31,.25);padding-bottom:16px}.journal-head h2{margin:0;font-weight:400;letter-spacing:.08em}.journal-head p{margin:7px 0 0;color:#735c40;font-size:14px}.journal-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;margin-top:22px}.journal-grid h3{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#795c37}.mystery-list{display:grid;gap:9px}.mystery-entry{border-bottom:1px solid rgba(91,67,39,.15);padding:7px 0;font-size:15px}.mystery-entry.locked{color:#917f65;font-style:italic}.collection-list{display:flex;flex-wrap:wrap;gap:8px}.collection-chip{border:1px solid #9d8058;padding:7px 9px;font-size:13px;background:rgba(126,93,51,.07)}#journalClue{line-height:1.6;color:#513d27;font-size:15px}.journal-foot{margin-top:22px;padding-top:15px;border-top:1px solid rgba(79,57,31,.25);font-size:13px;color:#705a40}
    #roomRecords .mystery-entry{line-height:1.45}#roomRecords .mystery-entry p{margin:6px 0 9px;color:#513d27;line-height:1.5}
    @media(max-width:700px){#reader{padding:1vh 1vw}#hint{display:none}#bookActions{width:92%;flex-wrap:wrap}.reader-head{padding:12px 16px 8px}.reader-head h2{font-size:19px}.page{padding:14px 16px 12px;font-size:calc(15px*var(--reader-scale,1));line-height:calc(1.44*var(--reader-leading,1))}.chapter{margin-bottom:9px}.immersive .pages{grid-template-columns:1fr}.immersive .page.right{display:none}.reader-foot{padding:7px;gap:5px;flex-wrap:wrap}.reader-foot .progress{order:2;flex-basis:55%}.mode-toggle{display:none}.journal-book{padding:22px}.journal-grid{grid-template-columns:1fr}}
  #support{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,rgba(55,39,22,.34),rgba(5,7,6,.86));backdrop-filter:blur(6px);padding:24px}.support-card{position:relative;width:min(620px,94vw);max-height:90vh;overflow:auto;padding:38px 38px 30px;text-align:center;background:linear-gradient(145deg,#281b12,#111b18 62%,#0c1210);border:1px solid #b18b51;box-shadow:0 24px 100px #000,0 0 42px rgba(190,139,66,.13),inset 0 0 38px rgba(213,165,91,.05)}.support-card:before{content:'';position:absolute;inset:8px;border:1px solid rgba(190,151,91,.25);pointer-events:none}.support-sigil{font-family:Georgia,serif;color:#d1aa6d;font-size:38px;line-height:1;margin-bottom:9px}.support-card small{color:#c9a46b;letter-spacing:.22em}.support-card h2{font-family:Georgia,serif;font-weight:normal;font-size:34px;color:#f0dfbd;margin:12px 0 18px}.support-card p{line-height:1.75;color:#ded1b9;margin:0 auto 14px;max-width:50ch}.support-card .support-note{font-family:Georgia,serif;font-style:italic;color:#e6c98f}.support-actions{display:grid;gap:10px;margin:25px auto 14px;max-width:390px}.support-actions a,.support-actions button{box-sizing:border-box;width:100%;text-align:center;text-decoration:none}.support-actions a.primary{display:block;padding:13px 18px}.support-security{font-size:12px!important;color:#9f9788!important;min-height:0!important}.hidden#support{display:none}@media(max-width:500px){.support-card{padding:28px 22px 22px}.support-card h2{font-size:27px}}
  #conversation{position:fixed;inset:0;z-index:39;display:grid;place-items:center;background:rgba(5,9,8,.68);backdrop-filter:blur(5px);padding:24px}.conversation-card{width:min(640px,94vw);max-height:90vh;overflow:auto;padding:32px;background:linear-gradient(135deg,#20332e,#101b19);border:1px solid #a88754;box-shadow:0 24px 90px #000}.conversation-card small{color:#c9a46b;letter-spacing:.2em}.conversation-card h2{font-weight:normal;font-size:30px;margin:12px 0}.conversation-card p{line-height:1.75;color:#e1d6bf;min-height:90px}.chat-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:22px 0}.chat-options button{text-align:left;padding:12px;border:1px solid #637064;background:#ffffff05;color:#e6dbc4;cursor:pointer}.chat-options button:hover,.chat-options button:focus-visible{background:#bd956022;border-color:#d3b17b}button:focus-visible{outline:2px solid #e3c58c;outline-offset:4px}@media(max-width:500px){.chat-options{grid-template-columns:1fr}.conversation-card{padding:22px}}#hud:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse,transparent 48%,rgba(10,7,4,.28))}
    .touch-ui,#rotateDevice{display:none}
    #touchLook{position:fixed;left:40%;right:0;top:0;bottom:0;touch-action:none;background:transparent;pointer-events:auto;z-index:1}
    #touchMove{position:fixed;left:calc(22px + env(safe-area-inset-left,0px));bottom:calc(22px + env(safe-area-inset-bottom,0px));width:128px;height:128px;border-radius:50%;border:1px solid rgba(189,149,96,.58);box-shadow:inset 0 0 30px rgba(0,0,0,.32);background:rgba(16,11,7,.46);touch-action:none;pointer-events:auto;z-index:3}
    #touchStick{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:rgba(226,182,110,.55);border:1px solid rgba(247,226,190,.7)}
    #touchInteract,#touchMenu,#touchRun,#touchJournal,#touchReturn{border:1px solid rgba(220,196,156,.62);background:rgba(8,6,4,.76);color:#f0dbb6;box-shadow:0 3px 16px rgba(0,0,0,.35);touch-action:none;pointer-events:auto;font-family:Georgia,serif;cursor:pointer;z-index:4}
    #touchInteract{position:fixed;right:calc(24px + env(safe-area-inset-right,0px));bottom:calc(98px + env(safe-area-inset-bottom,0px));min-width:76px;height:76px;border-radius:50%;font-size:12px;letter-spacing:.08em;padding:7px}
    #touchInteract.ready,#touchRun.ready{border-color:#efc77f;background:rgba(104,65,28,.88);box-shadow:0 0 22px rgba(226,182,110,.32)}
    #touchRun{position:fixed;right:calc(30px + env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));width:64px;height:48px;border-radius:24px;font-size:10px;letter-spacing:.1em}
    #touchMenu,#touchJournal,#touchReturn{position:fixed;top:calc(18px + env(safe-area-inset-top,0px));width:44px;height:44px;border-radius:50%;font-size:13px;padding:0}
    #touchMenu{right:calc(20px + env(safe-area-inset-right,0px));font-size:17px}#touchJournal{right:calc(72px + env(safe-area-inset-right,0px))}#touchReturn{right:calc(124px + env(safe-area-inset-right,0px));font-size:19px}
    #rotateDevice{position:fixed;inset:0;z-index:70;align-items:center;justify-content:center;text-align:center;padding:34px;background:radial-gradient(circle,#241a11,#080604 72%);color:#eadfc7;letter-spacing:.08em;line-height:1.6}#rotateDevice strong{display:block;color:#e0bd82;font-size:22px;font-weight:400;margin-bottom:8px}
    .touch-intro{display:none}
    .rotation-reminder{margin:14px auto 4px;max-width:30em;padding:9px 12px;border:1px solid rgba(224,189,130,.45);background:rgba(224,189,130,.08);color:#eadfc7;font-size:13px;line-height:1.5}.rotation-reminder strong{color:#e0bd82;font-weight:600}#rotateDevice small{display:block;margin-top:14px;font-size:12px;letter-spacing:.04em;opacity:.75}
    @media (hover:none) and (pointer:coarse){
      body.mobile-controls-active .touch-ui{display:block}
      #hint{display:none}
      .kb-intro{display:none}
      .touch-intro{display:block}
      #prompt{top:44%}.prompt-key{display:none}#status{left:calc(14px + env(safe-area-inset-left,0px));bottom:calc(160px + env(safe-area-inset-bottom,0px));font-size:10px}.topmark{left:calc(14px + env(safe-area-inset-left,0px));top:calc(13px + env(safe-area-inset-top,0px))}#mute{right:auto;left:calc(15px + env(safe-area-inset-left,0px));top:calc(48px + env(safe-area-inset-top,0px))}
      #reader{padding:0;background:#e9dfc8;overscroll-behavior:none}#reader.comfort .book-spread,#reader.immersive .book-spread{width:100vw;height:100dvh;max-width:none;max-height:none;transform:none;box-shadow:none}.reader-head{padding:8px calc(12px + env(safe-area-inset-right,0px)) 7px calc(12px + env(safe-area-inset-left,0px));min-height:49px}.reader-head>div{min-width:0}.reader-head h2{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-head p{font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pages{touch-action:none}.page{padding:10px 17px 8px;font-size:calc(14px*var(--reader-scale,1));line-height:calc(1.38*var(--reader-leading,1))}.chapter{font-size:9px;margin-bottom:7px}.reader-foot{flex-wrap:nowrap;gap:4px;padding:6px calc(8px + env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) calc(8px + env(safe-area-inset-left,0px));min-height:50px}.reader-foot button{min-height:38px;padding:5px 10px}.reader-foot #prevPage,.reader-foot #nextPage{min-width:54px;font-size:0}.reader-foot #prevPage:after{content:'← PAGE';font-size:10px}.reader-foot #nextPage:after{content:'PAGE →';font-size:10px}.reader-foot #fontDown,.reader-foot #fontUp,.reader-foot #bookmark,.reader-foot #modeToggle{display:none}.reader-foot .progress{order:0;min-width:34px;margin:0 3px}.reader-foot .percent{display:none}.reader-foot .page-count{font-size:10px}#finishReading{white-space:nowrap}
    }
    @media (hover:none) and (pointer:coarse) and (orientation:portrait){body.mobile-started #rotateDevice{display:flex}body.mobile-started:has(#reader:not(.hidden)) #rotateDevice,body.mobile-started:has(#journal:not(.hidden)) #rotateDevice,body.mobile-started:has(#conversation:not(.hidden)) #rotateDevice,body.mobile-started:has(#pause:not(.hidden)) #rotateDevice{display:none}body.mobile-controls-active .touch-ui{display:none}}
    .reader-source{display:inline-block;margin-top:4px;color:#75552f;font:600 10px/1.2 system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase}.reader-source:hover{text-decoration:underline}.reader-source:not(.hidden)+.reader-report,.reader-report+.reader-report{margin-left:12px}.listen-book{display:inline-flex;align-items:center;border:1px solid #806945;color:#433420;padding:7px 10px;text-decoration:none;white-space:nowrap}.listen-book:hover,.listen-book:focus-visible{background:rgba(111,82,46,.12)}
    .entry-options{margin:18px auto;width:min(410px,100%);text-align:left;border-top:1px solid #b8956055;border-bottom:1px solid #b8956055;padding:9px 0}.entry-options summary{cursor:pointer;text-align:center;color:#cdb58d;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.entry-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;padding:15px 8px 6px;font:12px/1.35 system-ui,sans-serif;color:#d7c8ad}.entry-options-grid label:first-child{grid-column:1/-1}.entry-options-grid input[type=range]{width:100%;accent-color:#b58a50}.entry-options-grid input[type=checkbox]{accent-color:#b58a50}.entry-status{min-height:18px;margin:10px auto 0!important;max-width:48ch;color:#e0bd82!important;font-size:12px!important;line-height:1.5}.explore-nudge{position:absolute;left:50%;bottom:42px;transform:translate(-50%,12px);width:min(560px,82vw);padding:10px 14px;text-align:center;color:#d9c7a8;background:#0d0a0799;border-top:1px solid #9a754855;font:12px/1.5 Georgia,serif;letter-spacing:.035em;opacity:0;transition:opacity .8s,transform .8s;pointer-events:none}.explore-nudge.show{opacity:.86;transform:translate(-50%,0)}
    .journal-map-section{margin:20px 0 5px}.journal-map-section h3{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#795c37}.journal-map{position:relative;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(4,48px);gap:7px;padding:15px;background:linear-gradient(12deg,#d5c39eaa,#eadfc6);border:1px solid #9d805866;box-shadow:inset 0 0 25px #70532c22}.map-place{display:grid;place-items:center;padding:4px;border:1px solid #785c3788;background:#f1e7cf99;color:#3f2d1b;text-align:center;font:10px/1.15 Georgia,serif;transform:rotate(var(--tilt,0deg));box-shadow:0 2px 5px #4d351522}.map-place.unknown{border-style:dashed;background:transparent;color:#806f56;box-shadow:none;font-style:italic}.map-note{margin:6px 0 0;color:#79664d;font:italic 11px/1.4 Georgia,serif;text-align:right}
    body.high-contrast #hud:after{background:radial-gradient(ellipse,transparent 42%,rgba(0,0,0,.52))}body.high-contrast #notice,body.high-contrast #prompt{background:#090705e8;color:#fff0cf}body.large-text #hud,body.large-text #prompt,body.large-text #notice{font-size:1.12em}body.large-text .settings-card,body.large-text .journal-book{font-size:1.08em}
    @media(max-width:600px){.entry-options-grid{grid-template-columns:1fr}.entry-options-grid label:first-child{grid-column:auto}.explore-nudge{bottom:22px}.journal-map{grid-template-rows:repeat(4,40px);padding:10px;gap:5px}.map-place{font-size:9px}}


#bookActions.carrying{left:16px;bottom:16px;transform:none;max-width:min(350px,calc(100vw - 32px));padding:8px 10px;gap:6px;pointer-events:auto}#bookActions.carrying .meta{min-width:0;margin-right:0;max-width:100%}#bookActions.carrying .meta strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}#bookActions.carrying .meta em,#bookActions.carrying #carryBook,#bookActions.carrying #askLibrarian,#bookActions.carrying #leaveBook{display:none}#bookActions.carrying button{font-size:12px;padding:5px 8px}
/* Period typefaces, self-hosted (SIL Open Font License, see assets/fonts). IM Fell reproduces
   the 17th-century Fell types; Cormorant Garamond carries notes and prompts. Georgia stays the
   fallback and remains the reading face inside books for long-form comfort. */
@font-face{font-family:'IM Fell English SC';src:url(assets/fonts/im-fell-english-sc-latin-400-normal.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url(assets/fonts/cormorant-garamond-latin-400-normal.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url(assets/fonts/cormorant-garamond-latin-400-italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url(assets/fonts/cormorant-garamond-latin-500-normal.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url(assets/fonts/cormorant-garamond-latin-600-normal.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap}
:root{--display-face:'IM Fell English SC',Georgia,'Times New Roman',serif;--note-face:'Cormorant Garamond',Georgia,'Times New Roman',serif}
.crest h1,.topmark,#pause h2,.journal-head h2,#settingsTitle,#supportTitle,#chatTitle,.reader-head h2{font-family:var(--display-face);font-weight:400}
.crest h1{letter-spacing:.12em;text-shadow:0 0 28px rgba(214,160,86,.22)}
.crest p,#notice,.prompt-title,.prompt-by,#chatReply,.chat-options,.support-card p,#exploreNudge,.journal-book,.settings-note{font-family:var(--note-face);font-weight:500;font-size-adjust:.47}
#notice{letter-spacing:.03em}
.prompt-title{letter-spacing:.04em}
/* Entrance: the lamp slowly brightens behind the crest while the rooms load. */
#veil:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 38%,rgba(232,168,86,.16),transparent 55%);animation:veilLamp 6s ease-in-out infinite alternate;pointer-events:none}
@keyframes veilLamp{from{opacity:.55}to{opacity:1}}
body.reduced-motion #veil:before{animation:none}
.entry-plain{margin:10px 0 2px;font-size:14px}.entry-plain a{color:#e3c07a}
.entry-invite{margin:14px 0 0;font-size:15px;color:#bfae88}.entry-invite a{color:#e3c07a}
.entry-progress{height:2px;width:min(280px,70%);margin:14px auto 0;background:rgba(189,149,96,.18);overflow:hidden;opacity:0;transition:opacity .4s}
.entry-progress.active{opacity:1}
.entry-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#8c6537,#e8c07e);box-shadow:0 0 10px rgba(232,192,126,.6);transition:width .35s ease-out}
.settings-card select{display:block;width:100%;margin-top:7px;padding:7px 9px;font:inherit;font-size:14px;color:inherit;background:rgba(255,248,232,.06);border:1px solid rgba(160,126,80,.55);border-radius:2px;accent-color:#815b2e}
.settings-card select option{color:#1d150d}
/* Rocket flight gauge: shows the journey is under way and how far it has come. */
#flightHud{position:fixed;left:50%;top:calc(16px + env(safe-area-inset-top,0px));transform:translate(-50%,-8px);z-index:12;width:min(560px,86vw);padding:10px 16px 11px;background:rgba(10,8,6,.72);border:1px solid rgba(198,154,80,.55);color:#ead39d;font-family:var(--display-face,Georgia,serif);text-align:center;letter-spacing:.14em;opacity:0;pointer-events:none;transition:opacity .5s,transform .5s}
#flightHud.active{opacity:1;transform:translate(-50%,0)}
#flightHud .flight-phase{font-size:15px;margin-bottom:8px}
#flightHud .flight-track{display:flex;align-items:center;gap:10px;font-size:10px;color:#bfa77a}
#flightHud .flight-line{position:relative;flex:1;height:2px;background:rgba(198,154,80,.25)}
#flightHud .flight-line i{position:absolute;left:0;top:0;height:100%;width:0;background:linear-gradient(90deg,#8c6537,#ffcf87);box-shadow:0 0 8px rgba(255,190,110,.7)}
#flightHud .flight-line b{position:absolute;top:50%;left:0;transform:translate(-50%,-50%) rotate(90deg);font-size:12px;color:#ffe2ad;font-weight:400;text-shadow:0 0 8px #ff9a3c}
#flightHud .flight-readout{margin-top:7px;font-size:10px;color:#9f8e6f;font-family:ui-monospace,monospace;letter-spacing:.1em}
body.in-flight #exploreNudge,body.in-flight #hint{opacity:0!important}
@media (max-width:600px){#flightHud .flight-track span{display:none}}
/* After reading in a chair: a short, clear list of places the book can go. */
#bookActions .hidden-unless-seat{display:none}
#bookActions.after-seat .hidden-unless-seat:not(.hidden){display:inline-block}
#bookActions.after-seat #openBook,#bookActions.after-seat #askLibrarian{display:none}
#bookActions.after-seat .meta em{color:#d8c39b;font-style:italic}
#bookActions.after-seat .meta{order:-3}#bookActions.after-seat #leaveOnChair{order:-2}#bookActions.after-seat #returnBook{order:-1}
/* Railway destination picker and journey gauge. */
#journeyPicker{position:fixed;inset:0;z-index:39;display:grid;place-items:center;background:rgba(5,9,8,.68);backdrop-filter:blur(5px);padding:24px}
#journeyPicker.hidden{display:none}
.journey-options button{display:grid;gap:4px}
.journey-options button strong{font-weight:500;letter-spacing:.06em;color:#f0dfbd}
.journey-options button span{font-size:.9em;color:#bfb29a;font-style:italic}
#railHud{position:fixed;left:50%;top:calc(16px + env(safe-area-inset-top,0px));transform:translate(-50%,-8px);z-index:12;width:min(560px,86vw);padding:10px 16px 11px;background:rgba(12,18,15,.74);border:1px solid rgba(198,154,80,.55);color:#ead39d;font-family:var(--display-face,Georgia,serif);text-align:center;letter-spacing:.14em;opacity:0;pointer-events:none;transition:opacity .5s,transform .5s}
#railHud.active{opacity:1;transform:translate(-50%,0)}
#railHud .flight-phase{font-size:15px;margin-bottom:8px}
#railHud .flight-track{display:flex;align-items:center;gap:10px;font-size:10px;color:#bfa77a}
#railHud .flight-line{position:relative;flex:1;height:2px;background:rgba(198,154,80,.25)}
#railHud .flight-line i{position:absolute;left:0;top:0;height:100%;width:0;background:linear-gradient(90deg,#3d6b4f,#e8c07e)}
#railHud .flight-line b{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);font-size:12px;color:#ffe2ad;font-weight:400}
#railHud .flight-readout{margin-top:7px;font-size:10px;color:#9f8e6f;font-family:ui-monospace,monospace;letter-spacing:.1em}
@media (max-width:600px){#railHud .flight-track span{display:none}}
/* On touch layouts the sound button sits under the title; keep the settings cog beside it
   rather than underneath the journal button in the top-right corner. */
@media (hover:none) and (pointer:coarse){#settingsButton{right:auto;left:calc(55px + env(safe-area-inset-left,0px));top:calc(48px + env(safe-area-inset-top,0px))}}

/* Reading comfort: size, typeface, page tone and spacing, chosen from the Aa panel and remembered. */
.reader-foot .reader-style{font-family:Georgia,serif;font-weight:600;letter-spacing:.02em;min-width:40px}
.reader-style[aria-expanded="true"]{background:#433420;color:#f3e7cc}
.reader-prefs{position:absolute;right:18px;bottom:62px;z-index:3;width:min(360px,calc(100% - 24px));padding:14px 16px 10px;background:#f6eedb;color:#2d2216;border:1px solid #8f7650;box-shadow:0 14px 40px rgba(0,0,0,.35);font:14px/1.3 Georgia,serif}
.reader-prefs.hidden{display:none}
.pref-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.pref-row>span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#7a6143}
.pref-size{display:flex;align-items:center;gap:8px}.pref-size output{min-width:44px;text-align:center;font-variant-numeric:tabular-nums}
.pref-choices{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.reader-prefs button{border:1px solid #9a8158;background:transparent;color:#3b2d1c;padding:6px 9px;min-height:34px;cursor:pointer;font:inherit;font-size:13px}
.reader-prefs button[aria-pressed="true"]{background:#5b3f1f;color:#f7ecd4;border-color:#5b3f1f}
.pref-choices[data-group="face"] [data-value="garamond"]{font-family:'Cormorant Garamond',Georgia,serif;font-size:15px}
.pref-choices[data-group="face"] [data-value="clear"]{font-family:system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}
.pref-tip{margin:2px 0 0;font-size:11.5px;font-style:italic;color:#7a6143}
#reader.tone-sepia.comfort .book-spread,#reader.tone-sepia.immersive .book-spread{background:#f0dfbc;color:#3a2814}
#reader.tone-sepia.immersive .book-spread{background:linear-gradient(90deg,#d8c092 0,#f0dfbc 3%,#f3e3c3 49.6%,#a38b62 50%,#f2e1c0 50.5%,#f0dfbc 97%,#d6be90 100%)}
#reader.tone-night.comfort .book-spread,#reader.tone-night.immersive .book-spread{background:#1c1813;color:#d8ccb2;box-shadow:0 28px 90px #000,0 0 0 1px #4d3f2b}
#reader.tone-night.immersive .book-spread{background:linear-gradient(90deg,#15120e 0,#1c1813 3%,#201b15 49.6%,#0c0a08 50%,#201b15 50.5%,#1c1813 97%,#15120e 100%)}
#reader.tone-night .reader-head,#reader.tone-night .reader-foot{border-color:rgba(216,204,178,.14)}
#reader.tone-night .reader-head p,#reader.tone-night .page-count,#reader.tone-night .percent{color:#a8987a}
#reader.tone-night .chapter,#reader.tone-night .reader-source{color:#b99a67}
#reader.tone-night .iconbtn{color:#d8ccb2}
#reader.tone-night .reader-foot button,#reader.tone-night .listen-book{border-color:#6a5638;color:#e3d6ba}
#reader.tone-night .progress{background:#3a3126}#reader.tone-night .progress i{background:#c49a5a}
#reader.tone-night .page.right{border-left-color:rgba(216,204,178,.12)}
#reader.tone-night #readerAside{color:#a8987a}
#reader.tone-night .reader-prefs{background:#262019;color:#e3d6ba;border-color:#6a5638}
#reader.tone-night .reader-prefs button{border-color:#6a5638;color:#e3d6ba}
#reader.tone-night .reader-prefs button[aria-pressed="true"]{background:#c49a5a;color:#1c1813;border-color:#c49a5a}
#reader.tone-night .pref-row>span,#reader.tone-night .pref-tip{color:#b09c78}
@media (hover:none) and (pointer:coarse){#reader.tone-night{background:#1c1813}#reader.tone-sepia{background:#f0dfbc}.reader-prefs{right:8px;bottom:58px}}

/* Hidden catalogue: tabs, discovery tallies, the hall plan and room atlas. */
.journal-head-actions{display:flex;align-items:center;gap:8px}
.journal-home{border:1px solid #8c7049;background:transparent;color:#4b3620;padding:7px 11px;font:13px Georgia,serif;cursor:pointer;white-space:nowrap}
.journal-home:hover{background:rgba(126,93,51,.12)}
.journal-tabs{display:flex;gap:4px;margin:16px 0 0;border-bottom:1px solid rgba(79,57,31,.25)}
.journal-tabs button{border:1px solid transparent;border-bottom:0;background:transparent;color:#735c40;padding:9px 14px;font:14px Georgia,serif;letter-spacing:.04em;cursor:pointer;margin-bottom:-1px}
.journal-tabs button[aria-selected="true"]{background:#f1e8d3;color:#2d2014;border-color:rgba(79,57,31,.3)}
.journal-panel{padding-top:18px}.journal-panel[hidden]{display:none}
.panel-title{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#795c37;margin:4px 0 10px}
.discovery-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.stat-tile{border:1px solid rgba(125,93,51,.35);background:rgba(255,250,238,.45);padding:10px 12px 11px}
.stat-tile strong{display:block;font:500 24px/1.1 Georgia,serif;color:#3a2918;font-variant-numeric:tabular-nums}
.stat-tile span{display:block;margin-top:3px;font-size:12px;letter-spacing:.06em;color:#735c40}
.stat-tile i{display:block;height:3px;margin-top:8px;background:#d6c7a5}.stat-tile i b{display:block;height:100%;background:#8a6232}
.hall-plan{background:linear-gradient(12deg,#d5c39eaa,#eadfc6);border:1px solid #9d805866;box-shadow:inset 0 0 25px #70532c22;padding:8px}
.hall-plan svg{display:block;width:100%;height:auto;max-height:46vh}
.hall-plan .area{fill:#f3ead4;stroke:#7a5d38;stroke-width:.45}
.hall-plan .area.below,.hall-plan .area.above{fill:rgba(243,234,212,.55);stroke-dasharray:1.6 1.1}
.hall-plan .area.uncharted{fill:transparent;stroke:#9b8665;stroke-dasharray:1 1.2}
.hall-plan .area.here{fill:#f8e6b8;stroke:#6e2224;stroke-width:.8}
.hall-plan text{font:3.1px Georgia,serif;fill:#3f2d1b;text-anchor:middle;dominant-baseline:middle;pointer-events:none}
.hall-plan text.small{font-size:2.4px;fill:#6c5639;font-style:italic}
.hall-plan .you{fill:#6e2224;stroke:#f7eed8;stroke-width:.4}
.atlas{display:grid;gap:14px}
.atlas-group h4{margin:0 0 7px;font:12px Georgia,serif;letter-spacing:.14em;text-transform:uppercase;color:#795c37}
.atlas-group h4 small{letter-spacing:.04em;text-transform:none;color:#93805f;font-style:italic;margin-left:6px}
.atlas-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:7px}
.atlas-card{border:1px solid #785c3788;background:#f1e7cfaa;padding:8px 9px;font:13px/1.25 Georgia,serif;color:#3f2d1b;box-shadow:0 2px 5px #4d351522}
.atlas-card small{display:block;margin-top:3px;color:#7a6446;font-size:11px}
.atlas-card.unknown{border-style:dashed;background:transparent;color:#8a7658;font-style:italic;box-shadow:none}
.atlas-card.here{border-color:#6e2224;box-shadow:0 0 0 1px #6e2224 inset}
.atlas-card.here small:first-of-type{color:#6e2224}
@media(max-width:700px){.journal-tabs button{padding:8px 10px;font-size:13px}.journal-home{padding:6px 8px;font-size:12px}}
/* Tablets: a touch screen wide enough for a proper page gets book-sized type by default. */
@media (hover:none) and (pointer:coarse) and (min-width:900px){.page{padding:16px 30px 12px;font-size:calc(17px*var(--reader-scale,1));line-height:calc(1.5*var(--reader-leading,1))}.chapter{font-size:10.5px}}

/* First-visit tour: a small card that follows the reader's own actions, never blocking the view. */
.tour{position:absolute;left:50%;bottom:86px;transform:translateX(-50%);width:min(520px,86vw);padding:12px 16px 12px;background:rgba(13,10,7,.86);border:1px solid rgba(190,150,90,.55);box-shadow:0 10px 30px rgba(0,0,0,.4);color:#ecdcbc;font:14px/1.5 Georgia,serif;text-align:center;pointer-events:auto;transition:opacity .5s;z-index:6}
.tour.hidden{display:none}
.tour-step{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:#c49a5a;margin-bottom:4px}
.tour p{margin:0 0 6px}
.tour-skip{border:0;background:transparent;color:#a8987a;font:12px Georgia,serif;text-decoration:underline;cursor:pointer;padding:4px 8px}
@media (hover:none) and (pointer:coarse){.tour{bottom:calc(150px + env(safe-area-inset-bottom,0px));width:min(460px,70vw)}}

.settings-credits{margin-top:18px;font-family:var(--note-face);font-size:12.5px;line-height:1.55;color:#5a4630}.settings-credits summary{cursor:pointer;letter-spacing:.08em;text-transform:uppercase;font-size:11.5px;color:#705a40}.settings-credits p{margin:8px 0}.settings-credits a{color:#6b3f14}
/* Share a quote: a square image of a passage, ready for social posts. */
.reader-foot .share-quote{white-space:nowrap}
#quoteShare{position:fixed;inset:0;z-index:46;display:grid;place-items:center;background:rgba(6,4,3,.8);backdrop-filter:blur(8px);padding:3vh 3vw}
#quoteShare.hidden{display:none}
.quote-card{width:min(900px,96vw);max-height:94vh;overflow:auto;background:#e9dfc8;color:#241a10;border:1px solid #9e865f;box-shadow:0 30px 90px #000;padding:18px 22px 20px}
.quote-card header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(79,57,31,.25);padding-bottom:10px;margin-bottom:14px}
.quote-card h2{margin:0;font:400 22px var(--display-face);letter-spacing:.06em}
.quote-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
#quoteCanvas{width:100%;height:auto;aspect-ratio:1;border:1px solid #9e865f;background:#15100b}
.quote-side label{display:block;font-size:13px;color:#5b4631;margin-bottom:6px}.quote-side label small{color:#8a7458;font-style:italic}
#quoteText{width:100%;resize:vertical;padding:10px;font:16px/1.45 Georgia,serif;color:#2b1f14;background:#fbf6ea;border:1px solid #9d8058}
.quote-count{margin:4px 0 10px;font-size:12px;color:#8a7458;text-align:right}
.quote-actions{display:flex;flex-wrap:wrap;gap:8px}
.quote-actions button{border:1px solid #806945;background:transparent;color:#3b2a17;padding:9px 12px;min-height:40px;font:14px Georgia,serif;cursor:pointer}
.quote-actions button.primary{background:#5b3f1f;border-color:#5b3f1f;color:#f7ecd4}
.quote-status{min-height:1.2em;margin:10px 0 0;font-size:13px;color:#5b4631;font-style:italic}
@media(max-width:700px){.quote-body{grid-template-columns:1fr}}
@media (hover:none) and (pointer:coarse){.reader-foot .share-quote{display:inline-block}}
.tour.tour-top{top:calc(150px + env(safe-area-inset-top,0px));bottom:auto}
.tour-skip{touch-action:manipulation;pointer-events:auto}#pauseSkipTour.hidden{display:none}

/* Now playing: a book being read aloud (audiobook-player.js). Stays up while the reader walks about. */
.now-playing{position:fixed;left:24px;bottom:108px;z-index:40;width:min(340px,calc(100vw - 32px));padding:12px 14px 10px;border:1px solid #9c7a45;border-radius:6px;background:linear-gradient(180deg,rgba(32,22,13,.94),rgba(20,14,9,.94));box-shadow:0 10px 30px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,220,160,.06);color:#efe0bf;font-family:'Cormorant Garamond',Georgia,serif;pointer-events:auto}
.now-playing.hidden{display:none}
.now-playing .np-text{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}
.now-playing .np-book{font-size:17px;font-weight:700;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.now-playing .np-chapter{font-size:15px;font-style:italic;color:#e3c98f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.now-playing .np-reader{font:600 10px/1.3 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#a88c5e}
.now-playing .np-controls{display:flex;gap:6px}
.now-playing button{min-width:38px;height:32px;border:1px solid #7d6440;border-radius:4px;background:rgba(255,230,180,.06);color:#f1dfb6;font:14px/1 system-ui,sans-serif;cursor:pointer}
.now-playing button:hover:not(:disabled){background:rgba(255,230,180,.16)}
.now-playing button:disabled{opacity:.35;cursor:default}
.now-playing .np-close{margin-left:auto}
.now-playing .np-progress{height:3px;margin-top:9px;background:rgba(255,230,180,.12);border-radius:2px;overflow:hidden}
.now-playing .np-progress i{display:block;height:100%;width:0;background:#d7ae60;transition:width .4s linear}
.now-playing.np-buffering .np-chapter:after{content:' · loading';color:#a88c5e}
.now-playing.np-error .np-chapter{color:#e7a58f}
.now-playing .np-close{min-width:0;padding:0 10px;font-size:13px;letter-spacing:.03em}
.now-playing .np-hint{display:block;margin-top:7px;font:600 10px/1.3 system-ui,sans-serif;letter-spacing:.06em;color:#a88c5e}
.now-playing kbd{display:inline-block;min-width:14px;padding:1px 4px;border:1px solid #7d6440;border-radius:3px;background:rgba(255,230,180,.08);color:#f1dfb6;font:inherit;text-align:center}
@media (hover:none){.now-playing .np-hint{display:none}}
body.reader-open .now-playing .np-hint{display:none}
@media (max-width:640px){.now-playing{left:16px;bottom:96px;width:calc(100vw - 32px)}}
body.reader-open .now-playing{left:auto;bottom:auto;top:calc(2vh + 12px);right:calc(2vw + 64px);width:min(330px,46vw);padding:7px 10px 6px;z-index:45}
body.reader-open .now-playing .np-text{flex-direction:row;align-items:baseline;gap:8px;margin-bottom:5px}
body.reader-open .now-playing .np-book,body.reader-open .now-playing .np-reader{display:none}
body.reader-open .now-playing .np-chapter{font-size:14px}
body.reader-open .now-playing button{height:26px;min-width:32px;font-size:12px}
@media (max-width:640px){body.reader-open .now-playing{top:auto;bottom:calc(1vh + 64px);right:auto;left:16px;width:calc(100vw - 32px)}}
/* Depth gauge in the Verne descent */
.depth-gauge{display:none;align-items:center;gap:9px;margin-bottom:8px;opacity:0;transition:opacity .8s}
.depth-gauge.visible{display:flex;opacity:1}
.depth-gauge svg{width:50px;height:50px;overflow:visible;filter:drop-shadow(0 2px 4px #000)}
.depth-gauge .dg-rim{fill:#6d5330;stroke:#c9a15f;stroke-width:2}
.depth-gauge .dg-face{fill:#e6d8b4;stroke:#8a6a3a;stroke-width:1}
.depth-gauge line{stroke:#3a2a18;stroke-width:1.6;stroke-linecap:round}
.depth-gauge .dg-needle{transition:transform .6s ease-out}
.depth-gauge .dg-needle line{stroke:#8e1f14;stroke-width:1.8}
.depth-gauge .dg-hub{fill:#3a2a18}
.depth-gauge div{display:flex;flex-direction:column;line-height:1.25}
.depth-gauge small{font-size:10px;color:rgba(238,222,193,.6)}
.depth-gauge b{font-size:17px;font-weight:600;letter-spacing:.06em;color:#f0dcae}
.depth-gauge.shiver svg{animation:gauge-shiver 1.4s linear}
@keyframes gauge-shiver{0%,100%{transform:none}10%{transform:rotate(-4deg)}20%{transform:rotate(3deg)}30%{transform:rotate(-3deg)}45%{transform:rotate(2deg)}60%{transform:rotate(-1.5deg)}80%{transform:rotate(.8deg)}}
@media (prefers-reduced-motion:reduce){.depth-gauge.shiver svg{animation:none}}
/* Word help (word-help.js): tap a word for its meaning, old words underlined, a small card by the word. */
.reader-foot .word-help-toggle{font-family:Georgia,serif;letter-spacing:.02em;white-space:nowrap}
.reader-foot .word-help-toggle.on{background:#6b4a22;color:#f6ead0;border-color:#6b4a22}
#reader.word-help .page{cursor:help}
#reader.word-help .old-word{text-decoration:underline dotted rgba(122,78,32,.75);text-underline-offset:3px;text-decoration-thickness:1.5px}
.word-card{position:absolute;z-index:45;max-width:calc(100vw - 24px);background:#fbf4e3;color:#2a1d10;border:1px solid #b8955e;border-radius:10px;box-shadow:0 14px 40px rgba(0,0,0,.35);padding:10px 14px 12px;font-family:Georgia,serif;font-size:15px;line-height:1.4}
.word-card.hidden{display:none}
.word-card .wc-head{display:flex;align-items:center;gap:8px}.word-card .wc-head strong{flex:1;font-size:18px;font-weight:600}
.word-card .wc-head button{border:1px solid #c8a978;background:transparent;color:inherit;border-radius:8px;min-width:34px;min-height:32px;font-size:16px;cursor:pointer}
.word-card .wc-body p{margin:8px 0 0}.word-card .wc-body em{color:#8a6434;font-size:13px;margin-right:4px}
.word-card .wc-foot{margin-top:10px}.word-card .wc-save{border:1px solid #6b4a22;background:#6b4a22;color:#f6ead0;border-radius:8px;padding:6px 12px;font-family:inherit;font-size:14px;cursor:pointer}
.word-card .wc-save:disabled{background:transparent;color:#6b4a22;cursor:default}
#reader.tone-night .word-card{background:#262019;color:#e3d6ba;border-color:#6a5638}#reader.tone-night .old-word{text-decoration-color:rgba(196,154,90,.8)}
#reader.tone-night .reader-foot .word-help-toggle.on{background:#c49a5a;color:#1c1813;border-color:#c49a5a}
/* The visitors' book (visitors-book.js): the signatures and the form to sign, in the same dress as the support card. */
#visitorsBook{position:fixed;inset:0;z-index:42;display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,rgba(55,39,22,.34),rgba(5,7,6,.86));backdrop-filter:blur(6px);padding:18px}
#visitorsBook.hidden{display:none}
.vb-card{position:relative;width:min(640px,94vw);max-height:92vh;overflow:auto;padding:30px 34px 24px;background:linear-gradient(145deg,#281b12,#111b18 62%,#0c1210);border:1px solid #b18b51;box-shadow:0 24px 100px #000;color:#ded1b9;font-family:Georgia,serif}
.vb-card small{color:#c9a46b;letter-spacing:.22em}.vb-card h2{font-weight:normal;font-size:30px;color:#f0dfbd;margin:8px 0 6px}.vb-card h3{font-weight:normal;color:#f0dfbd;margin:18px 0 8px;font-size:21px}
.vb-intro{margin:0 0 10px;color:#bfae8e;font-style:italic}
.vb-list{list-style:none;margin:0;padding:10px 14px;max-height:34vh;overflow:auto;background:#efe4c8;color:#2a1d10;border-radius:4px}
.vb-list li{padding:8px 0;border-bottom:1px solid rgba(120,90,50,.2);display:grid;gap:2px}.vb-list li:last-child{border-bottom:0}
.vb-list strong{color:#2c3e66;font-style:italic;font-weight:600}.vb-list q{color:#3a2a1a}.vb-list small{color:#7a5a38;letter-spacing:0;font-size:13px}.vb-list .vb-empty{font-style:italic;color:#5a4630}
.vb-form label{display:grid;gap:4px;margin:10px 0;font-size:15px;color:#e6d6b6}.vb-form em{color:#a8987a;font-size:13px}
.vb-form input,.vb-form select{font:inherit;font-size:16px;padding:9px 10px;border:1px solid #8a6a3e;border-radius:6px;background:#f6ecd4;color:#2a1d10;max-width:100%}
.vb-privacy{font-size:13px;color:#a8987a;margin:8px 0 0}.vb-status{min-height:1.3em;color:#f0c27a;margin:8px 0 0}
.vb-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.vb-signed p{font-style:italic;color:#e6c98f}.vb-signed.hidden,.vb-form.hidden{display:none}
@media(max-width:560px){.vb-card{padding:24px 18px 18px}.vb-card h2{font-size:25px}}



/* The reading card, in the settings panel. */
.card-sync{margin:14px 0 4px;padding:12px 14px;border:1px solid rgba(214,172,104,.35);border-radius:8px}.card-sync h3{margin:0 0 6px;font-size:15px;letter-spacing:.04em}.card-sync p{margin:0 0 8px;font-size:14px;line-height:1.4}.card-state{color:#7a4a14;font-weight:600;word-break:break-word}.card-actions,.card-join{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.card-join label{flex:1 1 200px;display:flex;flex-direction:column;gap:4px;font-size:14px}.card-join input{padding:8px;border-radius:6px;border:1px solid #b89a6a;background:#fffaf0;color:#2a2118;font:15px/1.2 system-ui,sans-serif}

/* A brass-rimmed eyepiece: a glimpse of the real libraries before a rocket journey. */
.telescope-view{position:fixed;inset:0;z-index:160;overflow:auto;overscroll-behavior:contain;background:rgba(5,8,13,.97);display:grid;place-items:center;padding:24px max(16px,env(safe-area-inset-right)) 24px max(16px,env(safe-area-inset-left));color:#eadcc2;text-align:center}
.telescope-view.hidden{display:none}.telescope-card{width:min(100%,620px);margin:auto}.telescope-card small{font-size:11px;letter-spacing:.24em;color:#c6a36b}.telescope-card h2{font:normal clamp(24px,4vw,34px) Georgia,serif;margin:10px 0 18px}.telescope-targets,.telescope-magnification{display:flex;justify-content:center;align-items:center;gap:12px}.telescope-card button{font:inherit;color:#eadcc2;background:#14202b;border:1px solid #806641;border-radius:4px;padding:10px 20px;cursor:pointer}.telescope-targets button[aria-pressed=true]{background:#493922;border-color:#d6b97c}.telescope-card button:hover{border-color:#ead2a1}.telescope-card button:disabled{opacity:.35;cursor:default}.telescope-lens{position:relative;width:min(100%,min(56vh,440px));aspect-ratio:1;margin:22px auto 16px;overflow:hidden;border:7px solid #a88750;border-radius:50%;background:#070b12;box-shadow:0 0 0 2px #372b1a,0 0 0 8px #181c22,0 20px 65px #0008}.telescope-lens canvas{display:block;width:100%;height:100%;position:static}.telescope-crosshair{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle,transparent 52%,#03060ba8 100%)}.telescope-crosshair:before,.telescope-crosshair:after{content:'';position:absolute;background:#ddcfab45}.telescope-crosshair:before{width:1px;height:18px;left:50%;top:calc(50% - 9px)}.telescope-crosshair:after{height:1px;width:18px;top:50%;left:calc(50% - 9px)}.telescope-destination{font:normal 24px Georgia,serif;margin:10px 0}.telescope-caption,.telescope-route{line-height:1.6;max-width:48ch;margin:10px auto;color:#cabfa9}.telescope-magnification{margin:15px 0}.telescope-magnification button{min-width:44px;min-height:44px;padding:5px 14px;font-size:24px}.telescope-magnification output{min-width:48px;font-variant-numeric:tabular-nums}.telescope-route,.telescope-stars{font-size:14px}.telescope-stars{color:#b1bfd0;margin:14px 0 20px}.telescope-open #hud,.telescope-open .touch-ui,.telescope-open .first-visit-tour{visibility:hidden}
@media(max-width:480px){.telescope-view{padding-top:16px;padding-bottom:16px}.telescope-lens{width:min(86vw,44vh);margin-top:18px}.telescope-caption{font-size:15px}.telescope-route{font-size:13px}.telescope-close{width:100%}}

/* Stationery at the Grand Hall correspondence desk. */
#correspondence{position:fixed;inset:0;z-index:46;display:grid;place-items:center;padding:22px;background:rgba(8,6,4,.83);backdrop-filter:blur(6px)}
.letter-card{width:min(640px,94vw);max-height:calc(100dvh - 44px);overflow:auto;background:#eadfc5;color:#2d2318;border:1px solid #b29463;box-shadow:0 24px 90px #000;padding:30px;text-align:left}
.letter-card small{color:#755938;letter-spacing:.15em;font-size:12px}.letter-card h2{font-weight:400;font-size:34px;margin:10px 0}.letter-card p{line-height:1.55}.letter-card label{display:block;margin:15px 0 6px}.letter-card label span{color:#735b41;font-size:13px}
.letter-card input,.letter-card textarea{box-sizing:border-box;width:100%;padding:10px 12px;font:inherit;font-size:16px;color:#2d2318;background:#f6edda;border:1px solid #a78b62;border-radius:2px}.letter-card textarea{resize:vertical;min-height:120px;line-height:1.55}.letter-card :focus-visible{outline:3px solid #765328;outline-offset:3px}.letter-note,.letter-address{font-size:14px;color:#604b33}.letter-address a{color:#503915;overflow-wrap:anywhere}.letter-actions{display:flex;gap:10px;flex-wrap:wrap}.letter-card .primary{background:#4b3520;color:#fff1cf}.letter-card .ghost{color:#49351f;border-color:#a58a61}#letterStatus:empty{display:none}#letterStatus{font-size:14px;color:#594324}.high-contrast .letter-card{background:#fff6e2;color:#17120d}.large-text .letter-card{font-size:20px}.large-text .letter-card input,.large-text .letter-card textarea{font-size:20px}@media(max-width:520px){#correspondence{padding:10px}.letter-card{padding:20px;max-height:calc(100dvh - 20px)}.letter-card h2{font-size:29px}}

body.mobile-started:has(#correspondence:not(.hidden)) #rotateDevice{display:none}

/* Found paper stays legible and collapsible in the discovery journal. */
.paper-trail{margin:14px 0 22px;padding-top:8px;border-top:1px solid #aa8c5b}
.paper-trail h4{margin:6px 0 12px;color:#50351f;font-weight:normal;font-size:18px}
.paper-trail details{margin:8px 0;line-height:1.6}
.paper-trail summary{cursor:pointer;color:#76512b;padding:5px 0}
.paper-trail summary:focus-visible{outline:2px solid #d7ad67;outline-offset:3px}
.paper-trail p{margin:6px 0 12px;color:#4d402f}
#mapViewer .mv-trail{padding:14px;border:1px solid #9a7a48;background:#302519;color:#f1dfbb;font-style:italic}
.polar-voyage{position:fixed;z-index:38;left:50%;bottom:5.7rem;transform:translateX(-50%);width:min(32rem,calc(100% - 2rem));padding:.9rem 1.1rem;background:rgba(17,31,39,.95);border:1px solid #9d895e;border-radius:4px;color:#eee1c4;box-shadow:0 8px 30px #0007;text-align:center;font-family:Georgia,serif}
.polar-voyage[hidden],.polar-voyage button[hidden]{display:none}
.polar-voyage small{font-size:.66rem;letter-spacing:.2em;color:#d0b87b}
.polar-voyage p{margin:.45rem 0 .65rem;font-size:.94rem;line-height:1.4}
.polar-voyage button{border:1px solid #b6a274;background:#d8c79f;color:#1e2d34;padding:.5rem .8rem;font:inherit;font-size:.85rem;cursor:pointer;border-radius:2px;min-height:40px}
.polar-voyage .polar-ashore{margin-left:.5rem;background:transparent;color:#eee1c4}
.polar-voyage button:focus-visible{outline:3px solid #fff3c4;outline-offset:3px}
@media(max-width:600px){.polar-voyage{bottom:8rem;padding:.7rem}.polar-voyage p{font-size:.84rem}.polar-voyage button{font-size:.8rem}}
