:root { color-scheme: light; --fg: #1d2330; --muted: #5b6474; --line: #d8dde6; --accent: #0a66c2; --bad: #b42318; --ok: #067647; }
* { box-sizing: border-box; }
body { margin: 0; font: 16px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--fg); background: #f6f7f9; }
header, main { max-width: 760px; margin: 0 auto; padding: 16px; }
header { padding-top: 24px; }
h1 { margin: 0 0 8px; font-size: 24px; }
h1 small { font-size: 14px; color: var(--muted); font-weight: 400; }
h2 { font-size: 18px; margin: 0 0 8px; }
section { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 16px; margin-bottom: 16px; }
code { font-size: 14px; }
button { font: inherit; padding: 8px 14px; border-radius: 8px; border: 1px solid var(--accent); background: var(--accent); color: #fff; cursor: pointer; margin: 4px 0; }
button:disabled { opacity: 0.4; cursor: default; }
.key { display: block; margin-top: 8px; color: var(--muted); font-size: 14px; }
.key input { font: inherit; padding: 4px 8px; margin-left: 8px; width: 16em; max-width: 100%; }
.frame-slot { margin: 8px 0; }
.frame-slot iframe { width: 100%; max-width: 480px; }
.facts { display: grid; grid-template-columns: max-content 1fr; gap: 2px 12px; margin: 8px 0 0; }
.facts dt { color: var(--muted); }
.facts dd { margin: 0; font-family: ui-monospace, monospace; font-size: 14px; word-break: break-all; }
#log { font: 13px/1.5 ui-monospace, monospace; padding-left: 20px; margin: 0; }
#log .bad { color: var(--bad); }
#log .ok { color: var(--ok); }
pre { white-space: pre-wrap; font-size: 13px; margin: 8px 0 0; }
@media (max-width: 480px) { header, main { padding: 12px; } }
