:root{--bg:#f6f7f9;--surface:#fff;--fg:#1a1d23;--muted:#5f6673;--border:#dde1e7;--accent:#1f5fbf;--accent-fg:#fff;--ok:#1e7f4f;--warn:#a35c00;--danger:#b42318;--radius:10px}@media (prefers-color-scheme:dark){:root{--bg:#111317;--surface:#1b1e24;--fg:#eceef2;--muted:#a3aab6;--border:#2f343d;--accent:#6ea1ff;--accent-fg:#0b1220;--ok:#4cc38a;--warn:#f0a34a;--danger:#ff7b72}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);-webkit-text-size-adjust:100%;margin:0;padding:0;font-family:system-ui,-apple-system,Hiragino Sans,Yu Gothic UI,Meiryo,sans-serif;line-height:1.7}a{color:var(--accent)}.header{background:var(--surface);border-bottom:1px solid var(--border)}.header-inner,.container{max-width:880px;margin:0 auto;padding:0 16px}.header-inner{flex-wrap:wrap;align-items:center;gap:16px;min-height:56px;display:flex}.brand{color:var(--fg);font-size:1.1rem;font-weight:700;text-decoration:none}.nav{flex-wrap:wrap;gap:14px;font-size:.95rem;display:flex}.nav a{text-decoration:none}.container{padding-top:24px;padding-bottom:48px}h1{margin:0 0 16px;font-size:1.4rem}h2{margin:28px 0 10px;font-size:1.1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:16px}.muted{color:var(--muted);font-size:.92rem}.error{color:var(--danger)}.ok{color:var(--ok)}.badge{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:1px 8px;font-size:.8rem;display:inline-block}.badge.warn{color:var(--warn);border-color:var(--warn)}.badge.ok{color:var(--ok);border-color:var(--ok)}form.stack{gap:12px;display:grid}label{gap:4px;font-size:.95rem;display:grid}input,select,textarea{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--fg);border-radius:8px;width:100%;padding:10px 12px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}button,.button{font:inherit;cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:var(--accent-fg);border-radius:8px;min-height:44px;padding:10px 16px;text-decoration:none;display:inline-block}button.secondary,.button.secondary{color:var(--accent);background:0 0}button.danger{background:var(--danger);border-color:var(--danger)}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px 6px}.table-wrap{overflow-x:auto}.message{white-space:pre-wrap;background:var(--bg);border-radius:8px;margin:8px 0;padding:10px 12px}
