:root{--ink:#0b0a12;--paper:#e8e0cc;--edge:#5a5448;--dim:#9a9484;--lit:#fff0c0;--out:#40d080}html,body{background:var(--ink);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;height:100%;color:var(--paper);letter-spacing:.04em;margin:0;font:12px/1.4 ui-monospace,Menlo,Consolas,monospace;overflow:hidden}#c{width:100%;height:100%;image-rendering:crisp-edges;image-rendering:pixelated;display:block;position:fixed;inset:0}button{font:inherit;color:var(--paper);border:1px solid var(--edge);background:#0b0a12c7;border-radius:0;padding:10px 12px}button:active{background:#3a3630}[hidden]{display:none!important}#hud,#toast,#mapTitle,#mapHint{text-shadow:1px 1px 0 var(--ink), -1px 1px 0 var(--ink), 1px -1px 0 var(--ink), -1px -1px 0 var(--ink)}#hud{pointer-events:none;position:fixed;top:10px;left:12px}#place{color:var(--dim)}#bSound{color:var(--dim);padding:6px 8px;position:fixed;top:8px;right:8px}#toast{text-align:center;opacity:0;pointer-events:none;padding:0 24px;font-size:14px;transition:opacity .4s;position:fixed;top:30%;left:0;right:0}#doors{gap:6px;max-width:460px;margin:0 auto;display:flex;position:fixed;bottom:68px;left:8px;right:8px}#doors button{text-align:left;white-space:pre-line;border-color:var(--lit);flex:1 1 0;padding:10px}#doors button.shut{color:var(--dim);border-color:var(--edge)}#doors button.out{border-color:var(--out)}#bar{justify-content:center;gap:6px;padding:0 8px;display:flex;position:fixed;bottom:14px;left:0;right:0}#bar button{white-space:nowrap;flex:1 1 0;max-width:96px;padding:12px 4px}#map{touch-action:none;position:fixed;inset:0}#mapTitle{font-size:14px;position:absolute;top:10px;left:12px}#mapHint{color:var(--dim);position:absolute;top:32px;left:12px;right:12px}#mapLabels button{white-space:nowrap;will-change:transform;padding:4px 7px;position:absolute;top:0;left:0}#mapLabels button.here{border-color:var(--lit);color:var(--lit)}#mapLabels button.unknown{color:var(--dim)}#mapClose{padding:12px 18px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}#fade{background:var(--ink);opacity:0;pointer-events:none;transition:opacity .4s;position:fixed;inset:0}#fade.on{opacity:1}#err{text-align:center;justify-content:center;align-items:center;padding:24px;font-size:14px;display:flex;position:fixed;inset:0}
