:root{--bg: #06080b;--panel: #0a0e13;--panel-2: #0d1218;--line: #1a222d;--line-strong: #26313f;--text: #cfd8e6;--dim: #718097;--faint: #465066;--download: #3fd08a;--upload: #4f9dff;--accent: #3fd08a;--warn: #e0a83a;--error: #ff6b6b;--mono: ui-monospace, "JetBrains Mono", "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;color-scheme:dark}@media(prefers-color-scheme:light){:root{--bg: #f5f7fa;--panel: #ffffff;--panel-2: #f1f4f8;--line: #dbe1ea;--line-strong: #c4cdd9;--text: #131922;--dim: #5a6675;--faint: #94a0b0;--download: #10a566;--upload: #2f6fe0;--accent: #10a566;color-scheme:light}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--mono);font-size:14px;line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased}.page{max-width:1040px;margin:0 auto;padding:1.25rem 1rem 3rem}.booting{color:var(--dim);padding:3rem 0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.25rem 0 1rem;border-bottom:1px solid var(--line);margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.brand{display:flex;align-items:baseline;gap:.5rem}.prompt{color:var(--accent);font-weight:700}.logo{font-size:1.05rem;font-weight:700;letter-spacing:.02em;color:var(--text)}.meta{display:flex;gap:1.25rem}.meta-item{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--faint)}.meta-item b{color:var(--dim);font-weight:700}.meta-item b.live{color:var(--accent)}.controls{display:flex;gap:.5rem;align-items:stretch;flex-wrap:wrap;margin-bottom:1rem}.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:3px;overflow:hidden}.seg button{border:0;border-right:1px solid var(--line-strong);background:var(--panel);color:var(--dim);font-family:var(--mono);font-weight:600;font-size:.82rem;letter-spacing:.03em;padding:0 .9rem;cursor:pointer}.seg button:last-child{border-right:0}.seg button.active{background:var(--panel-2);color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.seg button:disabled{cursor:not-allowed;opacity:.55}.endpoint{display:flex;align-items:stretch;flex:1 1 260px;min-width:200px;border:1px solid var(--line-strong);border-radius:3px;overflow:hidden}.endpoint span{display:flex;align-items:center;padding:0 .7rem;background:var(--panel-2);border-right:1px solid var(--line-strong);color:var(--faint);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.endpoint input{flex:1;border:0;background:var(--panel);color:var(--text);padding:.55rem .7rem;font-family:var(--mono);font-size:.82rem}.endpoint input:focus{outline:none;background:var(--panel-2)}.run{border:1px solid var(--accent);border-radius:3px;padding:0 1.4rem;font-family:var(--mono);font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:transparent;cursor:pointer}.run:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 12%,transparent)}.run:disabled{cursor:progress;color:var(--dim);border-color:var(--line-strong)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:3px}.chart-card{grid-column:1 / -1}.card-head{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-bottom:1px solid var(--line)}.card-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--faint)}.card-title:before{content:"// ";color:var(--line-strong)}.legend{display:flex;gap:.85rem;margin-left:auto}.key{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--dim);display:inline-flex;align-items:center;gap:.35rem}.key:before{content:"";width:12px;height:2px;background:currentColor}.key.download{color:var(--download)}.key.upload{color:var(--upload)}.key.trend{color:var(--dim)}.key.trend:before{height:0;background:transparent;border-top:2px dashed currentColor}.chart{width:100%;height:auto;display:block;padding:.5rem .5rem .25rem}.chart .gridline{stroke:var(--line);stroke-width:1}.chart .axis{fill:var(--faint);font-size:10px;font-family:var(--mono)}.chart .axis-title{fill:var(--faint);font-size:9px;letter-spacing:.1em}.chart .series{stroke-width:1.75;stroke-linejoin:round;stroke-linecap:round}.chart .series.download{stroke:var(--download)}.chart .series.upload{stroke:var(--upload)}.chart .dot.download{fill:var(--download)}.chart .dot.upload{fill:var(--upload)}.chart .trend{fill:none;stroke-width:1.25;stroke-dasharray:5 4;opacity:.8}.chart .trend.download{stroke:var(--download)}.chart .trend.upload{stroke:var(--upload)}.stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.stat{background:var(--panel);padding:.7rem .8rem;display:flex;flex-direction:column;gap:.1rem}.stat-value{font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text);line-height:1.15}.stat.wide .stat-value{font-size:1.5rem}.stat-unit{font-size:.72rem;font-weight:600;color:var(--dim)}.stat-label{font-size:.66rem;color:var(--faint);text-transform:uppercase;letter-spacing:.09em}.stat-value.transport{color:var(--accent)}.note{margin:0;padding:.7rem .8rem;font-size:.78rem;line-height:1.45;border-top:1px solid var(--line)}.note.error{color:var(--error);background:color-mix(in srgb,var(--error) 8%,transparent)}.log{font-family:var(--mono);font-size:.78rem;max-height:230px;overflow-y:auto;padding:.5rem .75rem .75rem;display:flex;flex-direction:column;gap:.15rem}.log-empty{color:var(--faint)}.log-line{display:flex;gap:.7rem;white-space:nowrap}.log-at{color:var(--faint);flex:0 0 3.2rem;text-align:right}.log-msg{color:var(--dim);white-space:pre-wrap}@media(max-width:720px){.grid{grid-template-columns:1fr}.meta{display:none}}
