:root{color-scheme:dark;--bg:#09151e;--surface:#172a35;--ink:#eef5f4;--muted:#b4c6d0;--line:#496470;--accent:#a2e8cd;--error:#ffb5a4}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 system-ui,sans-serif}a{color:var(--accent)}button{font:inherit;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:6px 12px;cursor:pointer}button:disabled{color:var(--muted);cursor:wait}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}header{display:flex;align-items:center;gap:14px;padding:10px 18px;border-bottom:1px solid var(--line)}header .brand{font-size:18px;font-weight:700;text-decoration:none}header>span{color:var(--muted);font-size:12px}header nav{margin-left:auto;display:flex;gap:12px;align-items:center}main{max-width:1500px;padding:12px 18px;margin:auto}#status:empty{display:none}.engine-scene{display:flex;align-items:center;justify-content:space-between;gap:16px}.engine-scene h1{font-size:19px;margin:4px 0 8px}.engine-scene span{color:var(--muted);font-size:12px}.engine-player canvas{display:block;width:100%;height:min(66vh,700px);min-height:360px;background:#101820;touch-action:manipulation;border:1px solid var(--line);border-radius:6px}.engine-controls,.engine-entities{display:flex;flex-wrap:wrap;gap:8px}.engine-controls{margin-top:10px}.engine-dialogue{background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:14px;margin-top:12px}.engine-dialogue button{margin-right:8px}.help{font-size:12px;color:var(--muted)}.error,[data-state=failed]>[role=status],[data-state=timed_out]>[role=status]{color:var(--error)}@media(prefers-color-scheme:light){:root{color-scheme:light;--bg:#eff4f3;--surface:#fff;--ink:#18313a;--muted:#48616d;--line:#97adb5;--accent:#126549;--error:#a02716}}@media(max-width:650px){header{flex-wrap:wrap;padding:10px}header nav{width:100%;margin:0;gap:10px}main{padding:10px}.engine-player canvas{height:55vh;min-height:320px}.engine-scene{align-items:flex-start}.engine-scene h1{font-size:17px}.engine-scene span{white-space:nowrap}}
table{border-collapse:collapse;width:100%;background:var(--surface);color:var(--ink)}th,td{text-align:left;vertical-align:top;padding:12px;border-bottom:1px solid var(--line)}h1{font-size:24px}h2{font-size:18px}main>p{max-width:90ch}
