:root { color-scheme: light dark; --fg:#1a1a1a; --bg:#fff; --muted:#5c5c5c; --line:#d8d8d8; --box:#f6f6f4; --warn:#8a5a00; --warnbg:#fff6e0; }
@media (prefers-color-scheme: dark) {
  :root { --fg:#e8e8e8; --bg:#151515; --muted:#a0a0a0; --line:#3a3a3a; --box:#1f1f1f; --warn:#e0b25a; --warnbg:#2a2113; }
}
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:16px/1.7 system-ui,-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif; }
header, main, footer { max-width: 46rem; margin:0 auto; padding:0 1rem; }
header { padding-top:1.25rem; }
.home { font-weight:600; text-decoration:none; color:var(--fg); }
h1 { font-size:1.5rem; line-height:1.4; margin:1.25rem 0 .5rem; }
h2 { font-size:1.1rem; margin:1.5rem 0 .5rem; }
.lede { color:var(--muted); }
form { display:flex; flex-wrap:wrap; gap:.5rem; align-items:end; margin:1.5rem 0; }
label { display:block; width:100%; font-weight:600; font-size:.9rem; }
input { flex:1 1 16rem; padding:.6rem .7rem; font-size:1rem; border:1px solid var(--line); border-radius:6px; background:var(--bg); color:var(--fg); }
button { padding:.6rem 1rem; font-size:1rem; border:1px solid var(--fg); border-radius:6px; background:var(--fg); color:var(--bg); cursor:pointer; }
table { border-collapse:collapse; width:100%; margin:.5rem 0 1rem; }
th, td { border:1px solid var(--line); padding:.45rem .6rem; text-align:left; vertical-align:top; font-size:.95rem; }
th { background:var(--box); font-weight:600; white-space:nowrap; }
.card { border:1px solid var(--line); border-radius:8px; padding:1rem; margin:1rem 0; }
.conditional { border-color:var(--warn); background:var(--warnbg); }
.conditional h2, .conditional strong { color:var(--warn); }
.quote { font-size:.85rem; color:var(--muted); margin:.2rem 0 0; }
.note, footer { font-size:.85rem; color:var(--muted); }
footer { border-top:1px solid var(--line); margin-top:2.5rem; padding-top:1rem; padding-bottom:2.5rem; }
details { margin:1.5rem 0; }
summary { cursor:pointer; font-weight:600; }
#all-list { columns:2 12rem; padding-left:1.2rem; font-size:.9rem; }
a { color:inherit; }
