:root{--bg: #222639;--paper: #2f3348;--text: #ffffff;--muted: rgba(255,255,255,.7);--accent: #bb99ff;--error: #ff6b6b;--ok: #6be6a4;color-scheme:dark}:root[data-mode=LIGHT]{color-scheme:light}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--paper);color:var(--text);font:13px/1.45 ui-monospace,Cascadia Mono,Consolas,monospace;display:flex;flex-direction:column}header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 6px;font-family:system-ui,sans-serif}.title{font-weight:600;font-size:15px}.status{font-size:12px;color:var(--muted)}.status.ok{color:var(--ok)}.status.bad{color:var(--error)}main{flex:1;overflow-y:auto;padding:4px 12px;white-space:pre-wrap;word-break:break-word}.entry{margin:0 0 8px}.cmd{color:var(--accent)}.err{color:var(--error)}.dim{color:var(--muted)}.hint{min-height:20px;padding:2px 12px;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}form{display:flex;align-items:center;gap:6px;margin:0 8px 10px;padding:6px 8px;background:var(--bg);border-radius:8px}.prompt{color:var(--accent)}input{flex:1;background:transparent;border:0;outline:0;color:var(--text);font:inherit}.panel{flex:1;min-height:0;display:flex;flex-direction:column}.panel[hidden]{display:none}.tabs{display:flex;gap:2px;background:var(--bg);border-radius:8px;padding:2px}.tabs button{background:transparent;color:var(--muted);border:0;border-radius:6px;padding:4px 10px;font:600 12px system-ui,sans-serif;cursor:pointer}.tabs button[aria-selected=true]{background:var(--paper);color:var(--text)}.tabs button:focus-visible{outline:2px solid var(--accent)}@media (pointer: coarse){input{font-size:16px}}#menu{font:13px/1.4 system-ui,-apple-system,Segoe UI,sans-serif}.menu-top{display:flex;gap:8px;align-items:center;padding:4px 10px 6px}.search{flex:1;min-width:0;background:var(--bg);color:var(--text);border:1px solid transparent;border-radius:8px;padding:7px 10px;font:inherit;outline:0}.search:focus{border-color:var(--accent)}.role{font-size:11px;padding:2px 8px;border-radius:10px;white-space:nowrap}.role.gm{background:color-mix(in srgb,var(--accent) 25%,transparent);color:var(--text)}.role.player{background:var(--bg);color:var(--muted)}.banner{margin:0 10px 6px;padding:6px 10px;border-radius:8px;background:color-mix(in srgb,var(--error) 18%,transparent);color:var(--text);font-size:12px}.banner[hidden]{display:none}.list{flex:1;overflow-y:auto;padding:0 6px 10px}.sect h3{margin:10px 6px 4px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.row{display:flex;align-items:center;gap:6px;padding:6px;border-radius:8px;cursor:pointer;outline:0}.row:hover{background:color-mix(in srgb,var(--text) 6%,transparent)}.row.sel,.row:focus-visible{background:color-mix(in srgb,var(--accent) 18%,transparent)}.row.off{opacity:.5;cursor:default}.row .main{flex:1;min-width:0}.rtitle{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rid{font:11px ui-monospace,Consolas,monospace;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.star{background:none;border:0;color:var(--muted);font-size:15px;width:24px;height:24px;border-radius:6px;cursor:pointer;padding:0}.star.on{color:#fc5}.star:focus-visible{outline:2px solid var(--accent)}.pill{font-size:10px;padding:1px 7px;border-radius:10px;background:var(--bg);color:var(--muted);white-space:nowrap}.pill.write{color:var(--text)}.pill.admin{color:var(--error)}.go{background:var(--accent);color:var(--on-accent, #111);border:0;border-radius:6px;padding:4px 10px;font:600 12px system-ui,sans-serif;cursor:pointer;white-space:nowrap;min-height:26px}.go:disabled{opacity:.6;cursor:default}.go.armed{background:var(--error);color:#fff}.go:focus-visible{outline:2px solid var(--text)}.link{background:none;border:0;color:var(--accent);cursor:pointer;font:inherit;padding:2px 4px}.form{margin:0 6px 6px 36px;padding:8px 10px;background:var(--bg);border-radius:8px;display:grid;gap:8px}.desc{color:var(--muted);font-size:12px}.field{display:grid;gap:3px}.flabel{font-size:12px;font-weight:600}.fhelp{font-size:11px;color:var(--muted)}.ferr{font-size:12px;color:var(--error)}.field input[type=text],.field input[type=number],.field select,.field textarea{background:var(--paper);color:var(--text);border:1px solid transparent;border-radius:6px;padding:5px 8px;font:inherit;width:100%}.field textarea{font:12px ui-monospace,Consolas,monospace;resize:vertical}.field.bad input,.field.bad select,.field.bad textarea,.field.bad .multi{border-color:var(--error)}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--accent)}.multi{display:flex;flex-wrap:wrap;gap:4px;border:1px solid transparent;border-radius:6px;max-height:140px;overflow-y:auto}.chip{display:inline-flex;align-items:center;gap:4px;background:var(--paper);border-radius:12px;padding:2px 8px 2px 4px;font-size:12px;cursor:pointer}.marks{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.actions{display:flex;gap:8px;align-items:center}.result{margin:2px 6px 8px 36px;padding:6px 10px;border-radius:8px;font-size:12px;background:var(--bg);word-break:break-word}.result.good{border-left:3px solid var(--ok)}.result.bad{border-left:3px solid var(--error)}.result.busy{color:var(--muted)}.result pre{margin:4px 0 0;max-height:200px;overflow:auto;font:11px ui-monospace,Consolas,monospace;white-space:pre-wrap}.consoleline{margin-top:4px;font:11px ui-monospace,Consolas,monospace;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty,.dim{color:var(--muted);padding:12px 8px}@media (pointer: coarse){.row{min-height:44px}.go,.star{min-height:36px;min-width:36px}}@media (pointer: coarse){.search,.field input[type=text],.field input[type=number],.field select,.field textarea{font-size:16px}}
