:root{--ink:#cde;--muted:#89a;--accent:#8ca;--title:#8cf;--panel:#0a1520f2;--line:#345;--focus:#fc6;--sw:min(100vw, 177.78vh);--sh:min(100vh, 56.25vw);color:var(--ink);background:#000;font-family:Georgia,Times New Roman,serif}@supports (height:100dvh){:root{--sw:min(100vw, 177.78dvh);--sh:min(100dvh, 56.25vw)}}*{box-sizing:border-box;margin:0;padding:0}html,body{background:#000;height:100%;overflow:hidden}body{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-webkit-user-select:none;user-select:none;font-size:clamp(14px,2.6vmin,20px)}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}button:disabled{cursor:default}ul{list-style:none}:focus{outline:none}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}#app,.screen{position:fixed;inset:0}.loading{color:#acf;place-items:center;display:grid;position:fixed;inset:0}.backdrop-screen{place-items:center;padding:12px;display:grid}.cover{object-fit:cover;filter:brightness(.45);width:100%;height:100%;position:absolute;inset:0}.panel{text-align:center;background:#08131eeb;border:1px solid #2a4a66;border-radius:10px;width:min(34em,100%);max-height:100%;padding:1em 1.4em 1.2em;position:relative;overflow:auto}.title{letter-spacing:.1em;color:var(--title);text-shadow:0 2px #123;font-size:1.6em;font-weight:400}.subtitle{color:#6a9;border-bottom:1px solid #234;margin-bottom:.8em;padding-bottom:.7em;font-size:.8em;font-style:italic}.lang-list{grid-template-columns:1fr 1fr;gap:.4em .8em;display:grid}.lang{color:#8bd;background:#1239;border:1px solid #2a5a7a80;border-radius:6px;width:100%;padding:.35em .5em}.lang:hover,.lang:focus-visible{color:#fff;background:#1a4060e6;border-color:#5ac}.lang[aria-current]{border-color:#5ac}.lang:disabled{color:#3a4a55;background:0 0;border-color:#0000;font-size:.85em;text-decoration:line-through}.menu-buttons{flex-direction:column;align-items:center;gap:.6em;padding:.4em 0;display:flex}.menu-button{color:#adc;padding:.3em .8em;font-size:1.15em}.menu-button:hover,.menu-button:focus-visible{color:#fff}.menu-button:disabled{opacity:.3}.menu-link{color:#8ba;font-size:.8em;text-decoration:underline}.menu-link:hover,.menu-link:focus-visible{color:#fff}.version{text-align:center;color:var(--muted);text-shadow:0 1px 2px #000;pointer-events:none;font-size:.65em;position:absolute;bottom:8px;left:0;right:0}.corner-buttons{gap:8px;display:flex;position:absolute;bottom:10px;left:10px}.icon-button{color:#cde;background:#0009;border-radius:6px;width:2.4em;height:2.4em;font-size:max(18px,1.2em);line-height:1}.icon-button:hover,.icon-button:focus-visible{color:#fff;background:#1a2a3ae6}.stage{width:var(--sw);height:var(--sh);background:#06111e;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.stage .bg{width:100%;height:100%;display:block}.tint,.sky,.moon-tint{pointer-events:none;position:absolute;inset:0}.moon-tint{mix-blend-mode:color}.tint{mix-blend-mode:multiply}.hotspot{justify-content:center;align-items:center;min-width:40px;min-height:40px;display:flex;position:absolute;transform:translate(-50%,-50%)}.hotspot.travel{border:2px solid #88ccaa80}.hotspot .dot{width:max(10px, calc(var(--sw) * .01));height:max(10px, calc(var(--sw) * .01));background:#ffcc44bf;border-radius:50%;box-shadow:0 0 0 2px #00000059}.hotspot:hover .dot,.hotspot:focus-visible .dot{background:#fd6}.hotspot .label{white-space:nowrap;font-size:max(11px, calc(var(--sw) * .0125));color:#adc;text-shadow:0 1px 2px #000;pointer-events:none;background:#0000008c;border-radius:3px;padding:.15em .5em;position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%)}.hotspot .label.always{bottom:auto;top:calc(50% + max(18px, calc(var(--sw) * .024)));color:#ddd}.hotspot .label.below{top:calc(100% + 2px);bottom:auto}.hotspot .label.always.above{top:auto;bottom:calc(50% + max(18px, calc(var(--sw) * .024)))}.hotspot .label.from-left{left:0;transform:none}.hotspot .label.from-right{left:auto;right:0;transform:none}.hotspot:hover .label,.hotspot:focus-visible .label{color:#fff}@media (hover:hover) and (pointer:fine){.hotspot .label:not(.always){opacity:0;transition:opacity .15s}.hotspot:hover .label,.hotspot:focus-visible .label{opacity:1}}.hotspot .portrait{width:max(36px, calc(var(--sw) * .044));height:max(36px, calc(var(--sw) * .044));background:#0a1520d9;border:2px solid #888;border-radius:5px;overflow:hidden}.hotspot .portrait img{object-fit:cover;width:100%;height:100%;display:block}.location .scroller{position:absolute;inset:0;overflow:hidden}@media (orientation:portrait){.location{--sh:62vh;--sw:calc(62vh * 1.7778)}@supports (height:100dvh){.location{--sh:62dvh;--sw:calc(62dvh * 1.7778)}}.location .scroller{height:var(--sh);scrollbar-width:none;bottom:auto;overflow:auto hidden}.location .scroller::-webkit-scrollbar{display:none}.location .stage{position:relative;top:0;left:0;transform:none}}.hud{pointer-events:none;align-items:flex-end;gap:8px;padding:6px 8px;display:flex;position:absolute;bottom:0;left:0;right:0}.hud>*{pointer-events:auto}.hud-info{text-shadow:0 1px 2px #000,0 0 4px #000;pointer-events:none;flex:1;min-width:0}.place{color:#fff;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;font-size:.9em;font-weight:400}.status{color:#ffd98a;margin-top:2px;font-size:.75em}.hud-buttons{flex:none;gap:6px;display:flex}@media (orientation:landscape) and (aspect-ratio>=21/10){.location{--bar:calc((100vw - var(--sw)) / 2);--btn:min(2.6em, calc(var(--bar) - 8px), calc((100vh - 46px) / 6))}.location .hud{padding:0;display:block;top:0}.location .hud-info{width:var(--bar);flex-direction:row-reverse;justify-content:center;gap:.3em;padding:8px 2px;display:flex;position:absolute;top:0;bottom:0;left:0}.location .place,.location .status{writing-mode:vertical-rl;max-height:100%;margin:0;transform:rotate(180deg)}.location .hud-buttons{width:var(--bar);flex-direction:column;justify-content:center;align-items:center;gap:6px;position:absolute;top:0;bottom:0;right:0}.location .hud-buttons .icon-button{width:var(--btn);height:var(--btn);font-size:calc(var(--btn) * .45)}}.dialogue-backdrop{z-index:10;background:#0009;justify-content:center;align-items:flex-end;padding:0 2vw 2vh;display:flex;position:fixed;inset:0}.dialogue{background:var(--panel);border:1px solid var(--line);border-radius:8px;gap:1em;width:100%;max-width:1100px;max-height:80%;padding:.9em 2.4em .9em 1.1em;display:flex;position:relative;overflow:auto}.dialogue.narration .who{display:none}.who{text-align:center;flex:none;width:clamp(64px,14vmin,140px)}.who .portrait{aspect-ratio:1;object-fit:cover;background:#0d1a25;border:1px solid #888;border-radius:6px;width:100%;display:block}.who .name{color:#8cd;margin-top:.2em;font-size:.8em;font-weight:700}.who .role{color:#789;font-size:.65em;font-style:italic}.dialogue .body{flex:1;min-width:0}.line{-webkit-user-select:text;user-select:text;margin-bottom:.6em;font-size:clamp(15px,3.4vmin,26px);line-height:1.4}.choices{flex-direction:column;align-items:flex-start;gap:.3em;display:flex}.choice{text-align:left;color:var(--accent);background:#0a151f;border-radius:4px;padding:.3em .7em;font-size:clamp(14px,3vmin,24px)}.choice:hover,.choice:focus-visible{color:#fff}.choice.continue{align-self:center}.dialogue .close{color:#678;padding:.1em .4em;position:absolute;top:.3em;right:.4em}.dialogue .close:hover,.dialogue .close:focus-visible{color:#abc}.modal-backdrop{z-index:20;background:#000000b3;place-items:center;padding:12px;display:grid;position:fixed;inset:0}.settings{background:var(--panel);border:1px solid var(--line);border-radius:12px;width:min(24em,100%);max-height:100%;padding:2em 1em 1em;position:relative;overflow:auto}.settings ul{flex-direction:column;gap:.4em;display:flex}.settings-button{color:#8ac;background:#1a2a3acc;border-radius:6px;width:100%;padding:.45em}.settings-button:hover,.settings-button:focus-visible{color:#fff}.settings .close{color:#678;padding:.1em .4em;position:absolute;top:.3em;right:.5em}.toast{z-index:40;color:#4f8;text-shadow:0 1px 2px #031;pointer-events:none;background:#003322bf;border-radius:4px;padding:.3em .8em;animation:2.4s forwards toast;position:fixed;top:12%;left:50%;transform:translate(-50%)}@keyframes toast{0%{opacity:0}15%,80%{opacity:1}to{opacity:0}}.panel-list{width:min(40em,100%)}.panel-list ul:not(.tasks){grid-template-columns:repeat(auto-fit,minmax(14em,1fr));gap:.4em;display:grid}.panel-list h2{color:var(--title);margin-bottom:.5em;font-size:1em;font-weight:400}.panel-list .hint{color:var(--muted);margin-bottom:.6em;font-size:.8em}.item{text-align:left;background:#1a2a3acc;border-radius:6px;align-items:center;gap:.7em;width:100%;padding:.4em .6em;display:flex}.item[aria-pressed=true]{outline:2px solid var(--focus)}.item .icon{font-size:1.6em;line-height:1}.item .text{flex-direction:column;font-size:.85em;display:flex}.item .text span{color:var(--muted);font-size:.9em}.tasks{flex-direction:column;gap:.35em;font-size:.85em;display:flex}.tasks .done{color:var(--muted);text-decoration:line-through}.volume-row{color:#8ac;align-items:center;gap:.6em;padding:.3em .6em;font-size:.9em;display:flex}.volume{flex:1;min-width:0}.status[hidden]{display:none}.moon-line{margin-bottom:.4em}@media (height<=420px){.panel-list{width:min(46em,100%)}.panel-list ul.tasks{columns:2;column-gap:1.4em;font-size:.78em;display:block}.panel-list ul.tasks li{break-inside:avoid;margin-bottom:.3em}.settings{padding:1.5em .9em .6em}.settings ul{gap:.25em}.settings-button{padding:.3em}}.discreet-button[aria-pressed=true]{outline:1px solid var(--focus);background:#785a14d9}.holding .hotspot:not(.travel) .dot{background:#fd6;box-shadow:0 0 0 4px #ffdd6680}#app.quake{animation:1.5s ease-in-out quake}@keyframes quake{0%,to{transform:translate(0)}15%{transform:translate(-3px,1px)}30%{transform:translate(3px,-1px)}45%{transform:translate(-2px,1px)}60%{transform:translate(2px)}80%{transform:translate(-1px)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.map-panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;width:min(96vw,177.78vh - 9.7779em - 42.6672px);padding:.4em .6em .3em;position:relative}.map-bar{align-items:center;gap:.5em;margin-bottom:.3em;padding-right:2em;display:flex}.map-tab{color:#8ac;background:#1a2a3acc;border-radius:6px;padding:.2em .7em;font-size:.85em}.map-tab[aria-pressed=true]{color:#fff;outline:1px solid var(--focus)}.map-panel .close{color:#678;padding:.1em .4em;position:absolute;top:.3em;right:.5em}.map-picture{aspect-ratio:16/9;background:#1d4a6b no-repeat;border-radius:6px;width:100%;position:relative;overflow:hidden}.map-picture img{width:100%;height:100%;display:block}.map-cell{place-items:center;display:grid;position:absolute}.map-cell.unknown{background:#0a152073}.map-cell.blocked{background:repeating-linear-gradient(45deg,#3c28142e 0 4px,#0000 4px 10px)}.map-dot,.map-key{vertical-align:middle;background:#fc4;border-radius:50%;width:max(9px,1.1vmin);height:max(9px,1.1vmin);display:inline-block;box-shadow:0 0 0 2px #00000080}.map-cell.here{outline-offset:-2px;background:#ffffff26;outline:2px solid #fff}.map-cell.here .map-dot,.map-key.here{background:#f54;box-shadow:0 0 0 3px #fff}.map-under{border:2px dashed #fc4;border-radius:50%;width:8px;height:8px;position:absolute;transform:translate(-50%,-50%)}.map-legend{color:var(--muted);text-align:center;white-space:pre-wrap;margin-top:.25em;font-size:.75em}.map-island{background:#f54;border-radius:50%;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #fff}.map-island-name{white-space:nowrap;color:#fff;text-shadow:0 1px 2px #000,0 0 4px #000;font-size:.8em;position:absolute;top:18px;left:50%;transform:translate(-50%)}
