:root{color-scheme:dark;font-family:Tahoma,Verdana,sans-serif;background:#090909;color:#e3dfc8}
*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:grid;place-items:center;overflow:hidden}
[hidden]{display:none!important}
#screen{position:relative;width:min(100vw,calc(100dvh * 4 / 3));aspect-ratio:4/3;isolation:isolate;background:#999}
canvas{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;display:block}
#game{z-index:0;outline:none}#actors{z-index:1;pointer-events:none}#hud{z-index:2}
.panel{position:absolute;z-index:5;left:50%;top:46%;transform:translate(-50%,-50%);width:66%;max-height:94%;overflow:auto;
  background:#30312c;color:#e4dfc8;padding:18px 22px;border:3px outset #77796d;box-shadow:3px 4px 0 #111b;
  text-align:center;font-size:clamp(10px,1.9vw,14px);line-height:1.45}
h1{margin:0 0 8px;color:#dfcc69;font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(24px,5vw,42px);font-weight:400;letter-spacing:1px;text-shadow:2px 2px #0b0b09}
h2{font-size:1.1em;margin:12px 0 6px;color:#e9e5cf}.subtitle{margin:0;color:#bebba7}
p{margin:10px 0 14px}.hint{font-size:.8em;color:#bab9a8;margin-bottom:0}
button{display:block;width:100%;margin:7px 0;padding:7px 9px;border:2px outset #999b8f;background:#5b5d52;color:#fffbe5;
  font:700 1em Tahoma,Verdana,sans-serif;text-shadow:1px 1px #222;cursor:pointer}
button:hover,button:focus-visible{background:#797b64;color:#fff2aa;outline:1px solid #e7cf66;outline-offset:1px}
button:active{border-style:inset}button:disabled{opacity:.55;cursor:wait}.row{display:flex;gap:8px}.row button{flex:1}
dl{display:grid;grid-template-columns:1fr 1.2fr;text-align:left;gap:4px 12px;font-size:.87em;margin:12px 0}
dt{color:#e2cf77;font-weight:bold}dd{margin:0}#help p{font-size:.85em}
#error{border-color:#a67460}#error p{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-height:420px){.panel{padding:9px 15px;font-size:10px}h1{font-size:24px}p{margin:5px 0 8px}button{padding:4px}}
