*{box-sizing:border-box}
body{font:17px/1.4 system-ui,-apple-system,sans-serif;margin:0 auto;max-width:720px;padding:12px;color:#111;background:#fff}
header{display:flex;justify-content:space-between;align-items:center;gap:8px}
h1{font-size:1.3em;margin:.2em 0}h2{font-size:1.1em;margin:1.4em 0 .4em;border-bottom:1px solid #ccc}
label{display:block;margin:8px 0}
input,textarea{display:block;font-size:1em;width:100%;padding:12px;margin:4px 0;border:1px solid #888;border-radius:6px}
textarea{min-height:6em;font-family:monospace}
button{display:block;font-size:1.15em;padding:16px;width:100%;margin:8px 0;border-radius:8px;border:1px solid #777;background:#eee;color:#111}
button.small{width:auto;padding:8px 14px;font-size:.9em;margin:0}
button.stop{background:#c00;color:#fff;font-size:1.8em;font-weight:bold;padding:22px;border:0}
button.blue{background:#1557c0;color:#fff;border:0}button.green{background:#18803a;color:#fff;border:0}
.mode{font-size:2.2em;font-weight:bold;padding:10px;border-radius:8px;text-align:center;color:#fff;margin-top:8px}
.grey{background:#777}.blue{background:#1557c0}.green{background:#18803a}.amber{background:#c98a00}.red{background:#c00}
.alert{background:#c00;color:#fff;padding:10px;font-weight:bold;border-radius:6px;font-size:1.15em}
.flash{background:#e8eefc;padding:10px;border-radius:6px}.flash.err{background:#fdd}
.warn{background:#fff3cd;padding:10px;border-radius:6px}.stopline{background:#f3f3f3;padding:8px;border-radius:6px}
.big{font-size:1.25em;margin:.4em 0}.good{color:#18803a}.bad{color:#c00}.why{font-size:1.1em}
meter{width:100%;height:28px}.stale{opacity:.55}.note,small{color:#555}
.scroll{overflow-x:auto}table{border-collapse:collapse;font-size:.85em;width:100%}
td,th{padding:5px 6px;border-bottom:1px solid #ddd;text-align:left;white-space:nowrap}table.kv th{font-weight:normal;color:#444}
