:root{--bg:#0b0f17;--panel:#121826;--panel2:#0e1420;--line:#24304a;--text:#e7edf6;--muted:#8b93a7;--accent:#22d3ee;color-scheme:dark}
*{box-sizing:border-box}body{min-height:100vh;margin:0;padding:24px 16px 36px;color:var(--text);background:radial-gradient(1000px 500px at 50% -90px,#14233f 0%,var(--bg) 55%) fixed;font:14px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}.wrap{max-width:1000px;margin:auto}header,.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}header{margin-bottom:20px}h1{margin:0;font-size:1.3em;letter-spacing:.2px}h2{margin:0;font-size:.95em;display:flex;align-items:center;gap:9px}.meta{color:var(--muted);font-size:.82em;margin:0}.pill{font-size:.78em;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:4px 12px}.pill b{color:var(--text)}.card{background:linear-gradient(180deg,#141a2b 0%,var(--panel) 40%);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:14px}.toolbar{margin-bottom:12px}.dot{width:8px;height:8px;border-radius:50%;background:#5b6472}.dot.on{background:#34d399;box-shadow:0 0 8px #34d399}.badge{font-size:10px;letter-spacing:.5px;text-transform:uppercase;border-radius:999px;padding:2px 8px;border:1px solid var(--line);color:var(--muted)}button,input,select{font:inherit}button,select,input[type=search],#command{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:7px;padding:8px 11px}button{cursor:pointer;font-size:12px;font-weight:600;min-height:36px}button:hover:not(:disabled){background:#1c2940;border-color:#426080}button.primary{background:#22d3ee;color:#06232a;border-color:#22d3ee}button.primary:hover:not(:disabled){background:#67e8f9}button:disabled{opacity:.4;cursor:not-allowed}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.connection-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin:16px 0}.connection-controls label{display:grid;gap:5px;color:var(--muted);font-size:11px}.connection-controls select{min-width:136px;height:36px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{font-size:.76em;border:1px solid var(--line);background:var(--panel2);border-radius:999px;padding:4px 11px}.chip b{color:var(--accent);font-weight:600}.notice{font-size:12px;color:var(--muted);margin:12px 0 0}.notice.error{color:#fca5a5}.terminal-icon,.prompt{font-family:ui-monospace,Menlo,monospace;color:var(--accent)}.console-tools{gap:8px}.console-tools input{flex:1;min-width:180px;font-size:12px}.options{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:12px;font-size:11px;color:var(--muted)}.options label{display:flex;align-items:center;gap:4px}.options input{accent-color:var(--accent)}#display-state{margin-left:auto}.output{background:#0a101b;border:1px solid var(--line);border-radius:9px 9px 0 0;height:390px;overflow:auto;padding:12px;font:12px/1.7 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;scrollbar-color:#2a3550 transparent}.row{display:flex;gap:14px;align-items:baseline;min-width:max-content;border-bottom:1px solid #151e2d}.output.wrapped .row{min-width:0}.row time{color:#748198;flex:none;font-size:10px}.row .message{white-space:pre;tab-size:4}.output.wrapped .message{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.row.system{color:#93c5fd}.row.tx{color:#c4b5fd}.row.error{color:#fca5a5}.empty{text-align:center;color:var(--muted);padding:75px 12px;font:12px/1.7 system-ui,sans-serif}.empty strong{display:block;font-size:14px;color:var(--text);font-weight:500}.empty-icon{display:block;color:#426080;font:26px ui-monospace,monospace;margin-bottom:16px}.empty p{margin:8px 0}#send-form{display:flex;align-items:center;gap:8px;padding:10px;background:var(--panel2);border:1px solid var(--line);border-top:0;border-radius:0 0 9px 9px}#command{min-width:0;flex:1;border:0;background:transparent;font:12px ui-monospace,monospace}#ending{font-size:11px}.console-note{margin-top:10px}.firmware{padding:10px 16px 18px}.firmware h2{margin-bottom:5px;font-size:12px}footer{text-align:center;color:var(--muted);font-size:10px;line-height:1.8;margin-top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){body{padding:16px 10px}.card{padding:12px}.console-tools input{flex-basis:100%}.console-tools button{flex:1}.options{gap:8px}.output{height:360px;font-size:11px}.row{gap:8px}#send-form{gap:3px;padding:6px}.prompt{display:none}.firmware{padding-left:12px}#display-state{margin-left:0}}
.release-link{color:var(--accent);font-size:11px;text-decoration:none}.flash-consent{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#fcd34d;margin:16px 0}.flash-consent input{accent-color:var(--accent);margin-top:4px}#flash-progress{width:100%;height:8px;accent-color:var(--accent)}#firmware-asset{overflow-wrap:anywhere}#firmware-release{max-width:310px}[hidden]{display:none!important}

#wifi-form input{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:7px;padding:8px 11px;min-height:36px;width:240px;max-width:100%}#wifi-form label{max-width:100%}#wifi-form input:disabled{opacity:.4}

.rpc-actions{display:flex;gap:8px;flex-wrap:wrap}.rpc-messages{margin-top:12px;max-height:280px;overflow:auto;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:10px}.rpc-message{border-bottom:1px solid var(--line);padding:6px 0;font-size:12px}.rpc-message summary{cursor:pointer;overflow-wrap:anywhere;color:var(--accent)}.rpc-message pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;margin:8px 0}
