body { font-family: "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif; margin: 0; color: #243043; background: #f6f4ee; line-height: 1.7; }
.wrap { max-width: 860px; margin: 0 auto; padding: 24px 16px 64px; }
header.site { padding: 28px 0 8px; }
h1 { font-size: 1.7rem; margin: 0 0 4px; }
h2 { font-size: 1.2rem; border-bottom: 2px solid #d8d2c2; padding-bottom: 4px; margin-top: 32px; }
.sub { color: #5c6675; }
.card { background: #fff; border: 1px solid #ddd6c4; border-radius: 8px; padding: 16px 20px; margin: 14px 0; }
.badge { display: inline-block; font-size: .75rem; background: #e8e2cf; border-radius: 4px; padding: 1px 8px; margin-right: 6px; }
.badge.demo { background: #f3c1c1; color: #7a1f1f; font-weight: bold; }
table { border-collapse: collapse; width: 100%; background: #fff; }
th, td { border: 1px solid #ddd6c4; padding: 6px 8px; font-size: .88rem; vertical-align: top; }
th { background: #efe9d8; text-align: left; }
button, .btn { background: #33526e; color: #fff; border: 0; border-radius: 5px; padding: 5px 12px; cursor: pointer; font-size: .85rem; }
button.warn { background: #a33b3b; }
button.subtle { background: #6b7686; }
input[type=text], input[type=password], textarea, select { width: 100%; box-sizing: border-box; padding: 7px; border: 1px solid #bbb; border-radius: 5px; font-size: .9rem; }
nav.admin { background: #243043; padding: 10px 16px; }
nav.admin a { color: #e8e2cf; margin-right: 16px; text-decoration: none; font-size: .9rem; }
nav.admin a:hover { text-decoration: underline; }
.notice { background: #fff7dd; border: 1px solid #e3cf8a; border-radius: 6px; padding: 10px 14px; }
.error { background: #fde8e8; border: 1px solid #e3a1a1; border-radius: 6px; padding: 10px 14px; }
code { background: #eee; padding: 1px 5px; border-radius: 3px; font-size: .85em; word-break: break-all; }
.small { font-size: .8rem; color: #5c6675; }
.status-held { color: #a35b00; font-weight: bold; }
.status-hidden { color: #a33b3b; }
.status-published { color: #2e7d32; }
ol.articles li { margin-bottom: 10px; }
form.inline { display: inline; }
.tokenbox { background: #243043; color: #ffe98a; padding: 10px 14px; border-radius: 6px; word-break: break-all; }
