:root{color-scheme:dark;--ink:#f3e8cf;--muted:#a9b8bd;--gold:#d8b875;--line:#45515a;--bg:#10151b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px system-ui,sans-serif;overscroll-behavior:none}button,input,select{font:inherit;color:inherit;background:#23313b;border:1px solid #63727b;border-radius:5px;min-height:40px;padding:7px 12px}button{touch-action:manipulation;cursor:pointer}button:disabled{opacity:.4}button:focus-visible,select:focus-visible{outline:2px solid var(--gold)}main{max-width:600px;margin:auto;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line)}header strong{display:block;font-size:17px;margin-top:3px}small{font-size:10px;letter-spacing:2px;color:var(--gold)}#status-bar{display:flex;gap:9px;align-items:center;justify-content:space-between;padding:5px 10px;font-variant-numeric:tabular-nums;background:#182128}#status-bar button{min-height:32px;padding:3px 9px}#canvas-wrap{position:relative}canvas{display:block;width:100%;height:auto;image-rendering:pixelated}#battle{background:#000}#board{touch-action:none;user-select:none;-webkit-user-select:none}#enemy-strip{display:flex;gap:5px;padding:5px 8px;min-height:30px;background:#11191f;overflow-x:auto}.enemy{flex:1;min-width:85px;padding:4px 6px;border:1px solid #4c5760;color:#b6c4c8;font-size:11px;border-radius:3px;white-space:nowrap}.enemy.active{border-color:var(--gold);color:var(--ink)}.enemy.dead{opacity:.35}#toast{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);background:#121e27e8;border:1px solid var(--gold);padding:8px 12px;max-width:94%;text-align:center;pointer-events:none;opacity:0;transition:opacity .15s}#toast.visible{opacity:1}footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-top:1px solid var(--line)}#summary{font-size:11px;color:var(--muted);text-align:center}dialog{color:var(--ink);background:#14212b;border:1px solid var(--gold);border-radius:10px;padding:16px;max-width:min(96vw,680px);width:100%;max-height:92dvh}dialog::backdrop{background:#000b}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head h2{margin:0}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fields label{display:grid;gap:5px}.fields input,.fields select{width:100%}.buttons{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.buttons button{flex:1 0 42%}.subtle{font-size:12px;color:var(--muted);line-height:1.7}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.5 ui-monospace,monospace;background:#0c151b;padding:10px;max-height:300px;overflow:auto}details{margin:12px 0}summary{min-height:36px;cursor:pointer}.sheet{position:fixed;z-index:10;left:50%;bottom:12px;transform:translateX(-50%);width:min(94vw,550px);max-height:75dvh;overflow:auto;background:#17232ff5;border:1px solid var(--gold);padding:18px;border-radius:12px;box-shadow:0 10px 70px #000}.sheet h2{margin:0 0 10px}.sheet button{margin:4px}#choices{display:grid;gap:9px}#choices button{text-align:left}#access input{width:100%;margin:10px 0}[hidden]{display:none!important}@media(max-width:360px){header strong{font-size:15px}#status-bar{font-size:12px;gap:4px}footer{padding:5px}.fields{grid-template-columns:1fr}button{padding:7px 9px}}@media(min-width:750px){main{border-left:1px solid var(--line);border-right:1px solid var(--line)}}
:where(#connection-problem){padding:12px;border-bottom:1px solid var(--gold);background:#2b2720}
#connection-problem p{margin:0 0 10px;line-height:1.6}
