:root{--bg:#fbfaf7;--fg:#1f2328;--muted:#5b6470;--line:#d9d6cf;--accent:#2f6f4f;--head:#f1efe9}
@media (prefers-color-scheme:dark){:root{--bg:#16181b;--fg:#e6e6e3;--muted:#a0a7b0;--line:#33373d;--accent:#7cc6a0;--head:#202328}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.75 "Hiragino Sans","Noto Sans JP",system-ui,sans-serif}
main{max-width:860px;margin:0 auto;padding:24px 16px 64px}
h1{font-size:1.5rem;line-height:1.4}h2{font-size:1.25rem;margin-top:2.2em;padding-bottom:.3em;border-bottom:2px solid var(--accent)}h3{font-size:1.08rem;margin-top:1.6em}
a{color:var(--accent)}
table{display:block;overflow-x:auto;border-collapse:collapse;margin:1em 0;font-size:.93rem}
th,td{border:1px solid var(--line);padding:6px 10px;vertical-align:top}th{background:var(--head);white-space:nowrap}
blockquote{margin:1em 0;padding:.6em 1em;border-left:4px solid var(--accent);background:var(--head)}
code{font-size:.9em;background:var(--head);padding:1px 4px;border-radius:4px}
u{text-decoration-thickness:2px;text-underline-offset:3px}
hr{border:0;border-top:1px solid var(--line);margin:2em 0}
nav.top{font-size:.9rem;margin-bottom:1em}
.lead{padding:.8em 1em;background:var(--head);border-radius:8px}
ul.lessons li{margin:.8em 0}
main:has(.wide){max-width:1200px}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin:1em 0;padding:.4em 0;border-bottom:1px dashed var(--line)}
.pair .en{font-family:Georgia,"Times New Roman",serif;line-height:1.7}
.pair .en p,.pair .ja p{margin:.3em 0}
.pair .en blockquote{margin:0}
details.q{margin:.6em 0 1.4em;border:1px solid var(--accent);border-radius:8px;background:var(--head)}
details.q summary{cursor:pointer;padding:.6em 1em;font-weight:600;color:var(--accent)}
details.q[open] summary{border-bottom:1px solid var(--line)}
details.q > :not(summary){margin-left:1em;margin-right:1em}
.toggle-all button{font:inherit;font-size:.9rem;padding:.3em .9em;border:1px solid var(--accent);border-radius:6px;background:transparent;color:var(--accent);cursor:pointer}
@media (max-width:720px){.pair{grid-template-columns:1fr}.pair .ja{margin-top:.3em;color:var(--fg)}}
