:root {
--fg: #1b1f23;
--fg-dim: #57606a;
--bg: #ffffff;
--bg-card: #f6f8fa;
--border: #d0d7de;
--accent: #0969da;
--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
@media (prefers-color-scheme: dark) {
:root {
--fg: #e6edf3;
--fg-dim: #8b949e;
--bg: #0d1117;
--bg-card: #161b22;
--border: #30363d;
--accent: #2f81f7;
}
}
* { box-sizing: border-box; }
body {
margin: 0;
background: var(--bg);
color: var(--fg);
font: 15px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
}
main {
max-width: 720px;
margin: 0 auto;
padding: 32px 20px 64px;
}
header { margin-bottom: 32px; }
h1 {
margin: 0 0 4px;
font-size: 32px;
letter-spacing: -0.02em;
}
h2 {
margin: 0 0 12px;
font-size: 18px;
font-weight: 600;
}
.tagline {
margin: 0 0 8px;
color: var(--fg-dim);
}
.links a {
color: var(--accent);
text-decoration: none;
}
.links a:hover { text-decoration: underline; }
.card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: 8px;
padding: 20px;
margin-bottom: 16px;
}
.kv {
border-collapse: collapse;
width: 100%;
font-family: var(--mono);
font-size: 13px;
}
.kv th, .kv td {
text-align: left;
padding: 4px 8px 4px 0;
vertical-align: top;
}
.kv th {
color: var(--fg-dim);
font-weight: 500;
width: 140px;
}
.controls {
display: flex;
flex-wrap: wrap;
gap: 12px;
align-items: center;
margin: 12px 0;
}
input[type="number"], input[type="file"], input[type="text"], textarea {
font: inherit;
background: var(--bg);
color: var(--fg);
border: 1px solid var(--border);
border-radius: 4px;
padding: 6px 8px;
}
input[type="number"] { width: 80px; }
input[type="text"] {
width: min(320px, 100%);
}
textarea {
display: block;
width: 100%;
min-height: 120px;
margin: 12px 0;
resize: vertical;
}
button {
font: inherit;
background: var(--accent);
color: white;
border: 0;
border-radius: 4px;
padding: 6px 16px;
cursor: pointer;
}
button:disabled {
opacity: 0.4;
cursor: not-allowed;
}
pre {
background: var(--bg);
border: 1px solid var(--border);
border-radius: 4px;
padding: 12px;
margin: 0;
font: 13px/1.5 var(--mono);
white-space: pre-wrap;
word-break: break-word;
color: var(--fg);
overflow-x: auto;
}
code {
font: 13px var(--mono);
background: var(--bg);
border: 1px solid var(--border);
border-radius: 3px;
padding: 0 4px;
}
.hint { color: var(--fg-dim); font-size: 13px; }
.badge {
display: inline-block;
font-size: 11px;
font-weight: 600;
font-family: var(--mono);
background: var(--accent);
color: white;
border-radius: 10px;
padding: 1px 8px;
vertical-align: middle;
margin-left: 6px;
}
.upload-table { border-collapse: collapse; width: 100%; }
.upload-table th {
color: var(--fg-dim);
font-size: 13px;
font-family: var(--mono);
font-weight: 500;
text-align: left;
padding: 6px 12px 6px 0;
vertical-align: middle;
width: 260px;
}
.upload-table td { padding: 6px 0; }