body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
       background: #0e1116; color: #c8d1da; margin: 0; padding: 0; }
a { color: #4ea3f5; text-decoration: none; }
a:hover { text-decoration: underline; }
nav { background: #15191f; padding: 12px 24px; border-bottom: 1px solid #232931;
      display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; }
nav > a { font-weight: 500; }
main { max-width: 1100px; margin: 0 auto; padding: 24px; }
footer { max-width: 1100px; margin: 48px auto 24px; padding: 24px;
         border-top: 1px solid #232931; }
h1, h2, h3 { color: #f5f7fa; }
table { border-collapse: collapse; width: 100%; margin: 16px 0; }
th, td { padding: 8px 10px; border-bottom: 1px solid #232931; text-align: left;
         font-variant-numeric: tabular-nums; }
th { background: #15191f; font-weight: 600; }
tr:hover { background: #14181e; }
.score { font-weight: 600; }
.score-high { color: #6ee7a8; }
.score-mid { color: #ffc46e; }
.score-low { color: #ff8b8b; }
.axis-bar { display: inline-block; height: 8px; background: #1f2630; border-radius: 4px;
            width: 120px; vertical-align: middle; }
.axis-bar-fill { display: inline-block; height: 8px; background: #4ea3f5; border-radius: 4px; }
pre { background: #15191f; padding: 12px; border-radius: 6px; overflow-x: auto;
      font-family: SF Mono, Menlo, monospace; font-size: 12px; line-height: 1.5;
      white-space: pre-wrap; word-wrap: break-word; }
code { background: #15191f; padding: 1px 6px; border-radius: 3px; font-size: 0.95em; }
audio { width: 100%; margin: 12px 0; }
.meta { color: #8b95a0; font-size: 0.9em; }
.grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
input[type="text"], input[type="number"] {
  background: #15191f; color: #c8d1da; border: 1px solid #232931;
  padding: 6px 10px; border-radius: 4px; }
input[type="text"] { width: 280px; }
input[type="number"] { width: 70px; }
@media (max-width: 700px) {
  .grid { grid-template-columns: 1fr; }
}

article.markdown { line-height: 1.6; }
article.markdown h1 { margin-top: 0; }
article.markdown h2 { margin-top: 32px; padding-bottom: 6px;
  border-bottom: 1px solid #232931; }
article.markdown blockquote { border-left: 3px solid #4ea3f5;
  padding: 4px 16px; color: #8b95a0; margin: 16px 0; }
article.markdown ul, article.markdown ol { padding-left: 28px; }
article.markdown table { display: block; overflow-x: auto; }
article.markdown pre { white-space: pre-wrap; word-wrap: break-word; }
article.markdown code { background: #1a1f27; padding: 1px 6px;
  border-radius: 3px; font-size: 0.92em; }
article.markdown pre code { background: transparent; padding: 0; }
