/* §30.3: Futura first, then the Japanese face, self-hosted (RULES §7-7). */
@font-face { font-family: "Futura"; src: url("TT0140M.woff2") format("woff2"); font-weight: 400; }
@font-face { font-family: "Futura"; src: url("TT0144M.woff2") format("woff2"); font-weight: 700; }
@font-face { font-family: "Source Han Sans JP"; src: url("SourceHanSansJP-Regular.woff2") format("woff2"); font-weight: 400; }
:root { --ink: #1f1d1a; --soft: #6b6862; --rule: #dcd8d0; --paper: #faf8f4; --bad: #b3261e; --ok: #2e6b3a; }
body { margin: 0; background: var(--paper); color: var(--ink);
  font-family: "Futura", "Source Han Sans JP", "Yu Gothic", sans-serif; font-size: 14px; }
main { max-width: 1100px; margin: 0 auto; padding: 24px 16px 64px; }
h1 { font-size: 20px; margin: 0 0 4px; } h2 { font-size: 16px; margin: 32px 0 8px; }
p.note { color: var(--soft); margin: 0 0 16px; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; vertical-align: top; padding: 6px 8px; border-bottom: 1px solid var(--rule); }
th { color: var(--soft); font-weight: 400; white-space: nowrap; }
.bad { color: var(--bad); } .ok { color: var(--ok); }
.quote { color: var(--soft); font-size: 12px; }
form.inline { display: inline; } button, input { font: inherit; padding: 6px 10px; }
.login { max-width: 360px; margin: 80px auto; }
.login input { width: 100%; box-sizing: border-box; margin: 8px 0 12px; }
.top { display: flex; justify-content: space-between; align-items: baseline; }
