:root { --ink:#1d2430; --muted:#5b6575; --line:#d9dee6; --bg:#f6f7f9; --card:#fff; --accent:#1f5fae; --warn:#8a5a00; --warnbg:#fff6e0; --ok:#1d7a3a; }
* { box-sizing: border-box; }
body { margin:0; font:16px/1.55 "Segoe UI", system-ui, -apple-system, sans-serif; color:var(--ink); background:var(--bg); }
header { background:#1d2430; color:#fff; }
header .wrap { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 16px; }
header a { color:#fff; text-decoration:none; }
header nav a { margin-left:18px; opacity:.9; }
header .who { margin-left:22px; font-size:14px; color:#c9d1dc; white-space:nowrap; }
header .who b { color:#fff; font-weight:600; }
header .who a { color:#9cc3ff; }
header nav { margin-left:auto; }
.brand { display:flex; align-items:center; }
.brand img { display:block; height:40px; width:auto; }
@media (max-width:420px) { .brand img { height:30px; } }
.wrap { max-width:880px; margin:0 auto; padding:0 16px; }
main { padding:28px 0 48px; }
h1 { font-size:28px; margin:0 0 8px; }
h2 { font-size:20px; margin:28px 0 8px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:8px; padding:18px 20px; margin:16px 0; }
.notice { display:flex; gap:14px; background:var(--warnbg); border:1px solid #f0d58c; border-radius:8px; padding:16px 18px; color:#4a3500; }
.notice svg { flex:0 0 72px; }
.btn { display:inline-block; background:var(--accent); color:#fff; border:0; border-radius:6px; padding:10px 18px; font:inherit; cursor:pointer; text-decoration:none; }
.btn.secondary { background:#fff; color:var(--accent); border:1px solid var(--accent); }
.btn[disabled] { opacity:.5; cursor:default; }
.muted { color:var(--muted); }
.ok { color:var(--ok); font-weight:600; }
table { border-collapse:collapse; width:100%; }
th, td { text-align:left; padding:8px 6px; border-bottom:1px solid var(--line); }
footer { border-top:1px solid var(--line); padding:18px 0 30px; color:var(--muted); font-size:14px; }
.hidden { display:none; }
form.profile label { display:block; margin:10px 0; font-weight:600; }
form.profile input { display:block; width:100%; max-width:360px; margin-top:4px; padding:9px 10px; font:inherit; font-weight:400; border:1px solid var(--line); border-radius:6px; }
label.agree { display:flex; gap:8px; align-items:flex-start; margin:12px 0; }
/* terms and database license */
.terms h2 { scroll-margin-top:12px; }
.terms .caps { text-transform:uppercase; font-size:14px; letter-spacing:.01em; }
.terms .toc ol { columns:2; column-gap:32px; margin:0; padding-left:22px; }
.terms dt { font-weight:600; margin-top:8px; }
.terms dd { margin:2px 0 0 18px; }
.terms ol.alpha { list-style:lower-alpha; }
.terms ol.alpha li { margin:6px 0; }
@media (max-width:600px) { .terms .toc ol { columns:1; } }
@media (max-width:600px) { header nav a { margin-left:10px; } h1 { font-size:23px; } }
@media (max-width:760px) { header .wrap { flex-wrap:wrap; row-gap:6px; } header .who { margin-left:0; flex-basis:100%; text-align:right; } }
@media (max-width:480px) { header .wrap { flex-wrap:wrap; row-gap:6px; } header nav a { margin:0 16px 0 0; } }
