:root{--bg:#1b2420;--deep:#161d1a;--line:#2c3a34;--chalk:#e9e4cf;--dim:#8fa097;--go:#e8d48b;--bad:#f08f7c;--good:#8fd1a0}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--chalk);font-family:Atkinson Hyperlegible,system-ui,sans-serif}.app{position:fixed;left:0;right:0;top:var(--vt, 0px);height:var(--vh, 100dvh);display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}header{display:flex;align-items:center;gap:10px;padding:6px 10px;background:var(--deep);border-bottom:1px solid var(--line)}header strong{flex:1;letter-spacing:.02em}.dot{width:9px;height:9px;border-radius:50%;background:var(--go)}.dot.ok{background:var(--good)}.run{background:var(--go);color:#1b2420;border:0;border-radius:8px;padding:9px 22px;font:700 15px inherit;min-width:96px}.run:disabled{opacity:.6}.editor{flex:1 1 0;min-height:90px;overflow:hidden}.panel{flex:0 0 30%;max-height:40%;min-height:84px;display:flex;flex-direction:column;background:var(--deep);border-top:1px solid var(--line)}.panel nav{display:flex;align-items:center;gap:2px;padding:0 6px;border-bottom:1px solid var(--line)}.panel nav button{background:none;border:0;color:var(--dim);padding:8px 12px;font:600 14px inherit;border-bottom:2px solid transparent}.panel nav button.on{color:var(--chalk);border-bottom-color:var(--go)}.ms{margin-left:auto;color:var(--dim);font-size:12px;padding-right:6px}textarea,pre{flex:1;margin:0;padding:10px 12px;border:0;resize:none;background:transparent;color:var(--chalk);font:14px/1.5 JetBrains Mono,ui-monospace,Menlo,Consolas,monospace;overflow:auto;white-space:pre-wrap;outline:none}pre.err{color:var(--bad)}.keys{display:flex;gap:6px;padding:6px;overflow-x:auto;background:var(--deep);border-top:1px solid var(--line);scrollbar-width:none}.keys button{flex:0 0 auto;min-width:44px;height:40px;padding:0 12px;background:#26332d;color:var(--chalk);border:1px solid var(--line);border-radius:8px;font:600 16px JetBrains Mono,ui-monospace,monospace}.keys button:active{background:var(--go);color:#1b2420}button:focus-visible{outline:2px solid var(--go);outline-offset:2px}@media (min-width: 900px){.app{max-width:1100px;margin:0 auto}}
