: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{pointer-events:none;position:absolute;inset:0}.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: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;font-size:.9em;font-weight:400}.status{color:#ffd98a;margin-top:2px;font-size:.75em}.hud-buttons{flex:none;gap:6px;display:flex}.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}.stage.discreet .bg{filter:brightness(.72)saturate(.85)}.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}}
