:root{--ink:#14213d;--paper:#f7f9fb;--teal:#0f7f82;--mark:#f2c14e;--line:#d5dde6;--muted:#4a5a70}
@media (prefers-color-scheme:dark){:root{--ink:#e8eef6;--paper:#0f1724;--teal:#4cc4c7;--line:#263449;--muted:#a3b2c6}}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.65 Georgia,"Times New Roman",serif}
a{color:var(--teal)}
a:focus-visible{outline:3px solid var(--mark);outline-offset:3px}
.wrap{max-width:1040px;margin:0 auto;padding:0 24px}
header{border-bottom:1px solid var(--line)}
header .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:18px;padding-bottom:18px;flex-wrap:wrap;gap:12px}
.logo{font-weight:700;font-size:1.25rem;text-decoration:none;color:var(--ink)}
nav a{margin-left:22px;text-decoration:none;color:var(--ink);font-family:system-ui,sans-serif;font-size:.95rem}
nav a:hover{color:var(--teal)}
.article{max-width:720px;padding-top:48px;padding-bottom:56px}
.article h1{font-size:clamp(2rem,5vw,2.8rem);line-height:1.15;margin:0 0 8px;letter-spacing:-.02em}
.article h2{font-size:1.4rem;margin:32px 0 8px}
.article .meta{color:var(--muted);font:.9rem system-ui,sans-serif;margin:0 0 28px}
.eq{border-left:4px solid var(--teal);padding:6px 0 6px 18px;font-size:1.25rem;font-weight:700;margin:20px 0}
.note{background:rgba(242,193,78,.18);border:1px solid var(--mark);padding:14px 18px;margin:24px 0}
footer{border-top:1px solid var(--line);padding:32px 0;color:var(--muted);font:.9rem system-ui,sans-serif}
footer a{color:var(--muted);margin-right:16px}
