html {
    scroll-behavior: smooth;
}
body {
    background-color: #000000;
    color: #00FF00;
    font-family: 'Courier New', Courier, monospace;
    font-size: 16px;
    margin: 20px 40px;
}
a { color: #00FFFF; text-decoration: none; }
a:hover { text-decoration: underline; background-color: #003333; color: #FFFFFF; }
a:focus-visible { outline: 2px solid #00FFFF; outline-offset: 2px; }
.header { border-bottom: 2px dashed #00FF00; padding-bottom: 10px; margin-bottom: 20px; display: flex; justify-content: space-between; }
.header h1 { margin: 0; font-size: 24px; }
.nav { margin-bottom: 20px; }
.list { list-style-type: none; padding: 0; }
.list li { margin-bottom: 10px; }
.group-desc { color: #00AA00; font-size: 14px; margin-left: 20px; }
.message-tree { list-style-type: none; padding-left: 20px; border-left: 1px dotted #007700; margin-top: 5px; }
.message-block { border: 1px solid #00FF00; padding: 10px; margin-bottom: 15px; background-color: #001100; }
.message-header { border-bottom: 1px dotted #00AA00; padding-bottom: 5px; margin-bottom: 10px; font-size: 14px; }
.message-body { white-space: pre-wrap; }
.quote { color: #00AAAA; font-style: italic; }
.sig { opacity: 0.6; font-size: 0.9em; }
table { border-collapse: collapse; width: 100%; border: 1px solid #00FF00; margin-top: 10px; }
th, td { border: 1px dashed #005500; padding: 8px; text-align: left; }
th { border-bottom: 1px solid #00FF00; color: #00FFFF; }
form { margin-top: 20px; border: 1px solid #005500; padding: 20px; background-color: #001100; max-width: 600px; }
form label { display: block; margin-bottom: 5px; }
form input[type="text"], form input[type="password"], form textarea {
    background: #000; color: #00FF00; border: 1px solid #00FF00; font-family: 'Courier New', monospace;
    width: 100%; padding: 5px; margin-bottom: 15px; box-sizing: border-box;
}
form input[type="text"]:focus, form input[type="password"]:focus, form textarea:focus {
    outline: 2px solid #00FF00; outline-offset: 1px;
}
form input[readonly] {
    background-color: #001100;
    border-color: #005500;
    color: #00AA00;
    cursor: not-allowed;
}
form button { background: #005500; color: #00FF00; border: 1px solid #00FF00; cursor: pointer; padding: 5px 15px; font-family: monospace; }
form button:hover { background: #00AA00; color: #000; }
form button:focus-visible { outline: 2px solid #00FF00; outline-offset: 2px; }
.error { color: #FF8888; border: 1px solid #FF8888; padding: 10px; margin-bottom: 15px; }
.success { color: #00FF00; border: 1px solid #00FF00; padding: 10px; margin-bottom: 15px; }
.meta { color: #00AA00; font-size: 14px; }
.skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    background: #00FF00;
    color: #000;
    padding: 8px;
    z-index: 100;
    transition: top 0.2s;
}
.skip-link:focus {
    top: 0;
}
.breadcrumbs {
    margin-bottom: 20px;
    font-size: 14px;
    color: #00AA00;
}
.breadcrumbs ol {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
}
.breadcrumbs li {
    display: flex;
    align-items: center;
}
.breadcrumbs li:not(:last-child)::after {
    content: ">";
    margin: 0 8px;
    color: #00AA00;
}
.breadcrumbs a {
    color: #00FFFF;
}
tbody tr:hover {
    background-color: #002200;
}
tbody tr:focus-within {
    background-color: #003300;
    outline: 1px solid #00FF00;
}
tbody tr:focus-within a {
    color: #FFFFFF;
    text-decoration: underline;
}
.msg-anchor {
    color: #005555;
    text-decoration: none;
    font-weight: bold;
    margin-left: 5px;
    opacity: 0;
}
.message-block:hover .msg-anchor,
.msg-anchor:focus-visible {
    opacity: 1;
}
.msg-anchor:hover {
    color: #00FFFF !important;
}
.message-block:target,
.message-block:focus {
    border-color: #00FFFF;
    box-shadow: 0 0 10px #00FFFF;
    outline: 1px solid #00FFFF;
}
kbd {
    background-color: #003333;
    color: #00FFFF;
    padding: 2px 4px;
    border-radius: 3px;
    border: 1px solid #00FFFF;
    font-size: 0.9em;
}
button.link-button {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    color: #00FFFF !important;
    font-family: inherit !important;
    font-size: inherit !important;
    cursor: pointer !important;
    text-decoration: none !important;
    display: inline !important;
    margin: 0 !important;
}
form.inline-form {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    max-width: none !important;
}
.link-button:hover {
    text-decoration: underline;
    background-color: #003333;
    color: #FFFFFF;
}
.link-button:focus-visible {
    outline: 2px solid #00FFFF;
    outline-offset: 2px;
}
.shortcut-hint-container {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    border-bottom: 1px solid #005500;
    margin-bottom: 15px;
}
