:root{--panel: #1c1e21;--inset: #111315;--raised: #2c3036;--border: #5f656d;--text: #e6e8ea;--strong: #fff;--muted: #a6acb3;--accent: #e8e2d0;--on-accent: #111315;--gold: #f2d15c;--neg: #ff9d8f;--pos: #9fd6a0}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#111315;font:14px/1.4 system-ui,sans-serif;color:var(--text)}#view{width:100%;height:100%;display:block;outline:none;touch-action:none}#ui{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}.sheet{position:absolute;top:20px;right:20px;bottom:20px;width:320px;padding:20px;background:var(--panel);border:1px solid var(--border);display:flex;flex-direction:column;gap:10px;overflow-y:auto;pointer-events:auto}.sheet>*{flex-shrink:0}.bar{white-space:pre-line;position:absolute;left:20px;bottom:20px;right:380px;padding:10px;background:#111315d9;border:1px solid var(--border);color:var(--muted);pointer-events:none}.bar.error{color:var(--neg)}h2{margin:0;font-size:16px;color:var(--strong)}h3{margin:10px 0 0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.row{display:flex;gap:5px}.row.buttons{gap:10px}button,select{height:32px;padding:0 10px;font:inherit;color:var(--text);background:var(--raised);border:1px solid var(--border);border-radius:0;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.4;cursor:default}button.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}button.big{height:40px}button.main{height:48px;background:var(--accent);color:var(--on-accent);font-weight:700}.tabs button{flex:1}.filters button{flex:1 1 auto;padding:0 6px;white-space:nowrap}.list{display:flex;flex-direction:column;gap:5px}.list button{text-align:left;display:flex;justify-content:space-between}.list button span:last-child{color:var(--muted)}.stat{display:flex;justify-content:space-between;color:var(--muted)}.stat b{color:var(--text);font-weight:600}.stat.over b{color:var(--neg)}select{width:100%}textarea{width:100%;height:90px;background:var(--inset);color:var(--text);border:1px solid var(--border);border-radius:0;font:11px/1.3 ui-monospace,monospace;padding:5px;resize:vertical}.note{color:var(--muted)}.err{color:var(--neg)}.ok{color:var(--pos)}.card{position:absolute;top:20px;left:20px;width:260px;padding:20px;background:var(--panel);border:1px solid var(--border);display:none;flex-direction:column;gap:5px;pointer-events:auto}.card h2{margin-bottom:5px}.card .row.buttons{margin-top:10px}.card .row.buttons button{flex:1;padding:0 5px}.sound{align-items:center;gap:10px}.sound button{width:90px;flex:none}.sound input[type=range]{flex:1;accent-color:var(--accent)}.stack{flex-direction:column}.stack button{flex:none}
