:root { --fg:#1c1c1e; --bg:#f6f6f7; --card:#fff; --muted:#6b6b70; --line:#e2e2e6; --accent:#2b5bd7; --danger:#b3261e; --ok:#1e7f43; }
* { box-sizing: border-box; }
body { margin:0; font: 16px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color:var(--fg); background:var(--bg); }
header.top { display:flex; align-items:center; justify-content:space-between; padding:.75rem 1.25rem; background:var(--card); border-bottom:1px solid var(--line); }
header .brand { font-weight:600; color:var(--fg); text-decoration:none; }
header nav a, header nav .who { margin-left:1rem; color:var(--fg); }
header nav .who { color:var(--muted); }
main { max-width: 60rem; margin: 1.5rem auto; padding: 0 1rem; }
.card { background:var(--card); border:1px solid var(--line); border-radius:8px; padding:1.25rem 1.5rem; margin-bottom:1.25rem; }
.card.narrow { max-width: 30rem; margin: 2rem auto; }
h1 { font-size:1.4rem; margin:.25rem 0 1rem; } h2 { font-size:1.15rem; margin:.25rem 0 .75rem; }
table { width:100%; border-collapse:collapse; } th, td { text-align:left; padding:.5rem .4rem; border-bottom:1px solid var(--line); vertical-align:top; } th { color:var(--muted); font-weight:500; font-size:.9rem; }
code { font-size:.9em; background:#f0f0f3; padding:.05em .3em; border-radius:4px; }
.muted { color:var(--muted); } .ok { color:var(--ok); } .warn { color:var(--danger); }
button, .button { font:inherit; border-radius:6px; padding:.45rem .9rem; border:1px solid var(--line); background:#fff; cursor:pointer; text-decoration:none; color:var(--fg); }
button.primary { background:var(--accent); color:#fff; border-color:var(--accent); }
button.danger { color:var(--danger); border-color:var(--danger); }
button.link { border:none; background:none; color:var(--accent); padding:0; margin-left:1rem; }
form.inline { display:inline; }
img.logo { height:1.2em; vertical-align:middle; margin-right:.35em; }
.status { min-height:1.5em; }
footer.foot { text-align:center; color:var(--muted); font-size:.85rem; padding:1rem; }
.consent .question { font-size:1.15rem; }
.consent .fact { margin:.5rem 0; } .consent .fact b { display:inline-block; min-width:9rem; color:var(--muted); font-weight:500; }
.consent .actions { margin-top:1.25rem; display:flex; gap:.75rem; }
details summary { cursor:pointer; color:var(--muted); }
pre { white-space:pre-wrap; word-break:break-all; background:#f0f0f3; padding:.75rem; border-radius:6px; font-size:.85rem; }
.md p { margin:.4rem 0; }
.banner { background:#fff6e5; border:1px solid #f0d9a8; padding:.6rem .8rem; border-radius:6px; }
.card.attention { border-color:var(--accent); }
.md-link { text-decoration: underline dotted; }
.mission { border-top:1px solid var(--line); padding:.75rem 0; }
.mission:first-of-type { border-top:none; }
select { font:inherit; padding:.3rem .5rem; border:1px solid var(--line); border-radius:6px; }
input[type=text] { font:inherit; padding:.4rem .6rem; border:1px solid var(--line); border-radius:6px; }
