/* A personal homepage, circa 2001. No external fonts or scripts. */
body { margin: 18px 8px; background: #e9e7de url('/static/paper.gif'); color: #171717; font: 16px 'Times New Roman', Times, serif; }
a:link { color: #0000cc; text-decoration: underline; }
a:visited { color: #660099; }
a:hover { color: #cc0000; }
a:focus-visible, input:focus-visible, textarea:focus-visible, button:focus-visible { outline: 2px solid #000099; outline-offset: 2px; }
.site { width: 780px; margin: 0 auto; border: 2px ridge #aaa; border-spacing: 3px; background: #ffffee; }
.topline { background: #000066; color: white; padding: 4px 6px; font: 10px Verdana, sans-serif; }
.topline span { float: right; }
.masthead { text-align: center; padding: 8px 0 14px; background: #f4f2df; }
.ascii { color: #000066; font: bold 12px/1.05 monospace; display: inline-block; text-align: left; margin: 6px 0 0; }
h1 { font-size: 27px; color: #800000; margin: 8px 0 2px; }
.masthead p { margin: 4px; font-size: 14px; }
.welcome { font-size: 12px; margin-top: 10px; color: #555; }
.nav { text-align: center; background: #deded5; border: 1px outset #eee; font: 12px Arial, sans-serif; padding: 6px; }
.sidebar { width: 150px; vertical-align: top; background: #eeeedd; padding: 9px 7px; border: 1px solid #bbbbaa; }
.box-title { background: #d1d1be; border: 1px outset #eee; padding: 3px; text-align: center; font: bold 12px Arial, sans-serif; }
.menu { padding-left: 17px; line-height: 1.9; font-size: 13px; }
.sidebar .small { line-height: 1.7; }
.new { color: #c00; font: italic bold 10px Arial, sans-serif; }
.content { vertical-align: top; padding: 12px 14px; }
.section-title { background: #e2e5ed; border: 1px solid #939bb2; text-align: center; padding: 4px; color: #000066; font: bold 13px Arial, sans-serif; }
p { line-height: 1.35; }
h2 { font-size: 22px; color: #800000; }
h3 { font-size: 17px; }
hr { border: 0; border-top: 1px solid #999; border-bottom: 1px solid #fff; margin: 12px 0; }
.catalog, .results { width: 100%; border: 1px solid #999; border-spacing: 2px; font-size: 14px; }
.catalog th, .results th { text-align: left; background: #dddccb; font-family: Arial, sans-serif; font-size: 12px; }
.catalog td, .catalog th, .results td, .results th { border: 1px solid #bbb; padding: 7px; }
.catalog td:first-child { width: 130px; background: #f0f0e5; }
.muted { color: #777; }
.tiny { font: 10px/1.5 Verdana, sans-serif; }
.small { font-size: 13px; }
.center { text-align: center; }
.construction { text-align: center; margin: 19px 0; }
.two-columns { width: 100%; border-spacing: 0; table-layout: fixed; }
.two-columns td { width: 50%; vertical-align: top; padding-right: 12px; }
.two-columns td + td { padding: 0 0 0 12px; border-left: 1px dotted #999; }
fieldset { border: 1px solid #aaa; padding: 5px 8px; }
.choice { display: block; font-size: 13px; line-height: 1.6; }
input, textarea, button { font: 13px Arial, sans-serif; }
input[type='text'], textarea { border: 2px inset #ddd; background: #fff; color: #111; padding: 3px; max-width: 95%; }
textarea { width: 96%; resize: vertical; }
button { color: #000; background: #d4d0c8; border: 2px outset #eee; padding: 3px 9px; cursor: pointer; }
button:active { border-style: inset; }
.trap { display: none; }
.counter { display: inline-flex; border: 2px inset #999; padding: 2px; background: #111; }
.counter span { color: #00ff66; font: bold 21px/1.2 'Courier New', monospace; padding: 0 3px; border-right: 1px solid #555; }
.counter span:last-child { border: 0; }
.badges { text-align: center; border-top: 1px solid #aaa; padding: 12px 4px 2px; }
.badges img { margin: 1px 2px; image-rendering: pixelated; }
img { border: 0; }
.footer { text-align: center; background: #e0e0d1; padding: 4px; }
.footer p { margin: 6px 0; }
.entry { width: 100%; border: 1px solid #aaa; border-spacing: 0; margin: 12px 0; table-layout: fixed; }
.entry th { text-align: left; background: #e7e6d8; padding: 6px; overflow-wrap: anywhere; }
.entry-date { text-align: right; background: #e7e6d8; padding: 6px; font: 10px Verdana, sans-serif; }
.message { white-space: pre-wrap; overflow-wrap: anywhere; padding: 10px; }
.notice { border: 1px solid #778866; background: #edf2dd; padding: 8px; }
.changelog li { margin-bottom: 10px; }
meter { width: 100px; height: 13px; }
/* Keep the narrow, fixed-width document on phones; no modern card reflow. */
@media (prefers-reduced-motion: reduce) { .construction img { content: url('/static/construction-still.gif'); } }
.portal-info { width: 100%; border-collapse: collapse; margin: 8px 0 14px; table-layout: fixed; }
.portal-info > tbody > tr > td { width: 50%; border: 1px solid #999; padding: 7px; vertical-align: top; background: #f5f3e7; overflow-wrap: anywhere; }
.portal-info h2 { font: bold 12px Verdana, sans-serif; margin: 0 0 8px; border-bottom: 1px solid #aaa; padding-bottom: 4px; color: #000066; }
.portal-info p { margin: 6px 0; }
.rates { width: 100%; border-collapse: collapse; font-size: 13px; }
.rates td { border-bottom: 1px dotted #bbb; padding: 3px; }
.rates td + td { text-align: right; }
.rates caption { font-size: 11px; text-align: left; }
.feed-text { font-size: 13px; white-space: pre-wrap; }
.feed-status { color: #666; }
.informer-pending { display: inline-block; width: 88px; min-height: 31px; vertical-align: top; font: 11px Verdana, sans-serif; margin: 3px; }
.informer-pending small { font-size: 9px; color: #666; }
