:root {
  --bg: #f6f7f4;
  --paper: #ffffff;
  --ink: #1d2126;
  --muted: #5a6470;
  --line: #d8dcd4;
  --accent: #14532d;
  --accent-soft: #e3efe6;
  --warn: #8a5a00;
  --warn-soft: #fff4d6;
  --danger: #8b1e1e;
  --danger-soft: #fbe4e4;
  --ai: #5b3a9b;
  --ai-soft: #ece5f7;
  --radius: 6px;
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); line-height: 1.5; font-size: 16px; }
a { color: var(--accent); }
header.site { background: var(--accent); color: #fff; padding: 0.6rem 1.5rem; display: flex; gap: 1.5rem; align-items: center; flex-wrap: wrap; }
header.site .brand { font-weight: 700; font-size: 1.15rem; color: #fff; text-decoration: none; }
header.site nav a { color: #e8f1ea; text-decoration: none; margin-right: 1rem; }
header.site nav a:hover { text-decoration: underline; }
header.site form { margin-left: auto; display: flex; gap: 0.3rem; }
main { max-width: 1100px; margin: 0 auto; padding: 1.5rem; }
h1 { font-size: 1.7rem; margin: 0 0 0.5rem; }
h2 { font-size: 1.25rem; margin: 1.6rem 0 0.5rem; }
h3 { font-size: 1.05rem; margin: 1rem 0 0.3rem; }
p.lead { color: var(--muted); margin-top: 0; }
.card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: 1rem 1.2rem; margin: 0.8rem 0; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 0.8rem; }
.muted { color: var(--muted); }
.small { font-size: 0.88rem; }
dl.props { display: grid; grid-template-columns: max-content 1fr; gap: 0.25rem 1rem; margin: 0; }
dl.props dt { color: var(--muted); font-weight: 600; }
dl.props dd { margin: 0; }
table { width: 100%; border-collapse: collapse; background: var(--paper); }
th, td { text-align: left; padding: 0.5rem 0.6rem; border-bottom: 1px solid var(--line); vertical-align: top; }
th { background: #eef1ea; font-weight: 600; }
.badge { display: inline-block; padding: 0.1rem 0.55rem; border-radius: 999px; font-size: 0.8rem; font-weight: 600; white-space: nowrap; border: 1px solid transparent; }
.badge-ai { background: var(--ai-soft); color: var(--ai); border-color: #c9b8e8; }
.badge-verified { background: var(--accent-soft); color: var(--accent); border-color: #a9cdb4; }
.badge-rejected { background: #eceef0; color: #4b535b; border-color: #c9ced4; }
tr.used td { background: #f3f7f0; }
details > summary { cursor: pointer; }
.badge-reference { background: #e8eef7; color: #2f4a78; border-color: #b9c8e3; }
.badge-synthetic { background: var(--warn-soft); color: var(--warn); border-color: #e7cf8f; }
.badge-rel { background: #eef1ea; color: #2b3a2f; border-color: #cfd6c8; }
.badge-rel-equivalent { background: #dcefe0; }
.badge-rel-close_match { background: #e6f0e0; }
.badge-rel-broader, .badge-rel-narrower { background: #e4eaf5; }
.badge-rel-related { background: #f1efe3; }
.badge-rel-conflicting { background: var(--danger-soft); color: var(--danger); border-color: #e5b3b3; }
.badge-rel-unknown { background: #eceef0; color: #4b535b; }
.notice { border-left: 4px solid var(--warn); background: var(--warn-soft); padding: 0.6rem 0.9rem; border-radius: var(--radius); margin: 0.8rem 0; }
.notice-ai { border-left-color: var(--ai); background: var(--ai-soft); }
.notice-ok { border-left-color: var(--accent); background: var(--accent-soft); }
.flash { background: #e8f1ea; border: 1px solid #a9cdb4; padding: 0.5rem 0.9rem; border-radius: var(--radius); margin-bottom: 1rem; }
.conf { display: inline-block; min-width: 90px; height: 10px; background: #e3e6df; border-radius: 5px; vertical-align: middle; overflow: hidden; }
.conf > span { display: block; height: 100%; background: var(--ai); }
.conf-human > span { background: var(--accent); }
form.inline { display: inline; }
label { display: block; font-weight: 600; margin-top: 0.6rem; font-size: 0.92rem; }
input[type=text], input[type=search], input[type=number], select, textarea { width: 100%; max-width: 100%; padding: 0.45rem 0.55rem; border: 1px solid #b9c0b6; border-radius: var(--radius); font: inherit; background: #fff; }
textarea { min-height: 5rem; }
button, .btn { font: inherit; padding: 0.4rem 0.9rem; border-radius: var(--radius); border: 1px solid var(--accent); background: var(--accent); color: #fff; cursor: pointer; text-decoration: none; display: inline-block; }
button.secondary, .btn.secondary { background: #fff; color: var(--accent); }
button.danger { background: var(--danger); border-color: var(--danger); }
button.small, .btn.small { padding: 0.2rem 0.6rem; font-size: 0.85rem; }
.row { display: flex; gap: 0.6rem; flex-wrap: wrap; align-items: end; }
.row > * { flex: 1 1 160px; }
.row > .fixed { flex: 0 0 auto; }
.filters a { display: inline-block; margin: 0 0.15rem 0.3rem 0; padding: 0.1rem 0.5rem; border: 1px solid var(--line); border-radius: 999px; text-decoration: none; background: #fff; }
.filters a.active { background: var(--accent); color: #fff; border-color: var(--accent); }
.suggestion { border-left: 4px solid var(--ai); }
.suggestion.has-verified { border-left-color: var(--accent); }
.signals { color: var(--muted); font-size: 0.85rem; }
.term { font-weight: 700; font-size: 1.05rem; }
ul.plain { list-style: none; padding: 0; margin: 0; }
ul.plain li { padding: 0.35rem 0; border-bottom: 1px solid var(--line); }
ul.plain li:last-child { border-bottom: none; }
.history { font-size: 0.88rem; }
footer { text-align: center; color: var(--muted); font-size: 0.85rem; padding: 2rem 1rem; }
code, pre { font-family: Consolas, "Courier New", monospace; font-size: 0.9em; }
pre { background: #f0f2ee; padding: 0.7rem; border-radius: var(--radius); overflow-x: auto; }
.card.analysis { border-left: 4px solid var(--accent); }
