:root {
    font-family: system-ui, sans-serif;
    color: #203047;
    background: #f3f6fa;
    line-height: 1.5;
}
* { box-sizing: border-box; }
body { margin: 0; padding: 48px 20px; }
main {
    max-width: 820px;
    margin: auto;
    padding: 32px;
    background: white;
    border: 1px solid #dde4ed;
    border-radius: 12px;
}
header, .section-heading, .command-row { display: flex; align-items: center; gap: 12px; }
header, .section-heading { justify-content: space-between; }
.eyebrow { color: #64748b; font-size: 13px; margin: 0; }
h1 { font-size: 26px; margin: 4px 0; }
h2 { font-size: 16px; margin: 0; }
.status { color: #8b3b22; background: #fff0e8; border-radius: 20px; padding: 6px 12px; font-size: 13px; white-space: nowrap; }
.status.connected { color: #14613c; background: #e5f6ec; }
form, section { margin-top: 28px; }
label { display: block; font-weight: 600; margin-bottom: 8px; }
input, button { font: inherit; border-radius: 6px; padding: 10px 14px; }
input { min-width: 0; flex: 1; border: 1px solid #b9c7d8; }
button { border: 1px solid transparent; background: #2458cc; color: white; cursor: pointer; }
button:hover:not(:disabled) { background: #1946ab; }
button:disabled { opacity: .5; cursor: not-allowed; }
:focus-visible { outline: 3px solid #8cb5ff; outline-offset: 2px; }
.hint { color: #64748b; font-size: 13px; }
pre { white-space: pre-wrap; overflow-wrap: anywhere; padding: 12px; border: 1px solid #e1e7ef; border-radius: 6px; background: #f8fafc; font-size: 13px; }
#received-messages { max-height: 360px; overflow-y: auto; }
.secondary { background: white; border-color: #b9c7d8; color: #203047; padding: 5px 10px; font-size: 13px; }
.secondary:hover:not(:disabled) { background: #eef2f7; }
#error { color: #a12626; }
@media (max-width: 600px) {
    body { padding: 16px; }
    main { padding: 20px; }
    header { flex-direction: column; align-items: flex-start; }
}
