:root{--bg: #f6f7f9;--panel: #ffffff;--border: #d8dde3;--text: #1c2126;--muted: #6b7681;--a: #0b6b78;--a-bg: #e3f4f6;--b: #8a5a00;--b-bg: #fbf1dd;--event: #a4262c;--control: #7a4bbd;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #14181c;--panel: #1c2126;--border: #2e353c;--text: #e6eaee;--muted: #97a2ad;--a: #6fd6e2;--a-bg: #10353a;--b: #f0c069;--b-bg: #3a2e12;--event: #ff8e8e;--control: #c3a3f5}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}.app{display:flex;flex-direction:column;height:100vh;height:100dvh}.toolbar{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;align-items:center;padding:.6rem .9rem;background:var(--panel);border-bottom:1px solid var(--border)}.group{display:flex;align-items:center;gap:.5rem}.group.labels input{width:7rem}button{font:inherit;padding:.35rem .8rem;border-radius:6px;border:1px solid transparent;background:var(--a);color:var(--panel);cursor:pointer}button.secondary{background:transparent;border-color:var(--border);color:var(--text)}button:disabled{opacity:.45;cursor:not-allowed}input.command{width:14rem;font-family:ui-monospace,SF Mono,Cascadia Mono,Menlo,monospace}input[type=text],input[type=search],.group.labels input{font:inherit;padding:.3rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text)}label{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted)}label small{font-size:.75em}.status{font-weight:600;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--border)}.status-connected{color:var(--a);border-color:currentColor}.status-connecting{color:var(--b);border-color:currentColor}.warn{margin:0;padding:.5rem .9rem;background:var(--b-bg);color:var(--b);font-size:.9em}.autobaud{margin:0;padding:.5rem .9rem .7rem;background:var(--panel);border-bottom:1px solid var(--border)}.autobaud>header{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.4rem}.autobaud-dir+.autobaud-dir{margin-top:.6rem;padding-top:.6rem;border-top:1px dashed var(--border)}.autobaud-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.3rem}.autobaud-badge{font-weight:700;color:var(--a);background:var(--a-bg);border-radius:.3rem;padding:.05rem .45rem}.autobaud-dir:nth-child(3) .autobaud-badge{color:var(--b);background:var(--b-bg)}.autobaud-lines{margin:0;padding-left:1.4rem;font-size:.85em;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.autobaud-lines li{overflow-wrap:anywhere}.chat{flex:1;overflow-y:auto;padding:.9rem;display:flex;flex-direction:column;gap:.35rem}.hint{color:var(--muted);text-align:center;margin-top:3rem}.row{display:flex}.row-a{justify-content:flex-start}.row-b{justify-content:flex-end}.bubble{max-width:min(46rem,82%);padding:.35rem .6rem;border-radius:10px;border:1px solid transparent}.bubble-a{background:var(--a-bg);border-color:var(--a)}.bubble-b{background:var(--b-bg);border-color:var(--b)}.bubble-sim{border-style:dashed}.meta{display:flex;gap:.5rem;align-items:baseline;font-size:.75em;color:var(--muted)}.badge{border:1px solid currentColor;border-radius:4px;padding:0 .25rem}.payload{font-family:ui-monospace,SF Mono,Cascadia Mono,Menlo,monospace;font-size:.92em;white-space:pre-wrap;word-break:break-all}.seg-control{color:var(--control)}.seg-error{color:var(--event);font-weight:700}.system{display:flex;gap:.6rem;justify-content:center;font-size:.85em;color:var(--muted);padding:.1rem 0}.system .payload{font-size:1em}.system-event{color:var(--event);font-weight:600}.system-unknown{opacity:.7;font-style:italic}footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .9rem;border-top:1px solid var(--border);background:var(--panel);font-size:.85em;color:var(--muted)}.eventlog summary{cursor:pointer}.eventlog .count{color:var(--muted)}.eventlog ul{margin:.4rem 0 0;padding:0;list-style:none;max-height:9rem;overflow-y:auto}.eventlog li{display:flex;gap:.5rem}.eventlog li.error{color:var(--event)}.time{font-variant-numeric:tabular-nums;color:var(--muted)}
