:root{--accent:#1565c0;--accent-strong:#0d47a1;--ink:#1f2933;--muted:#52606d;--line:#d6dce3;--paper:#fff;--background:#f4f6f8;--note:#e8f1fb}
*{box-sizing:border-box}
body{margin:0;background:var(--background);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Malgun Gothic",sans-serif;line-height:1.85;word-break:keep-all;overflow-wrap:anywhere}
::selection{background:var(--note);color:var(--accent-strong)}
a{color:var(--accent-strong);text-underline-offset:.22em}
a:hover{color:var(--ink)}
a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.wrap{max-width:820px;margin:auto;padding:24px 24px 56px}
.top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.brand{font-size:22px;font-weight:800;text-decoration:none}
.top nav,.foot nav{display:flex;flex-wrap:wrap;gap:4px 20px}
.top nav a,.foot nav a{display:inline-flex;align-items:center;min-height:44px}
main{padding-top:32px}
h1{font-size:clamp(26px,5vw,36px);line-height:1.4;letter-spacing:-.025em;margin:0 0 20px;text-wrap:balance}
h2{font-size:22px;line-height:1.5;margin:40px 0 12px}
h3{font-size:18px;margin:26px 0 8px}
p{margin:12px 0} .lede{font-size:18px;color:var(--muted)}
.meta{font-size:14px;color:var(--muted)}
.note{background:var(--note);color:var(--accent-strong);padding:16px 20px;margin:24px 0;border-radius:12px}
.formula{font-size:19px;font-weight:700;line-height:1.7;padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:12px}
li{margin:10px 0} ul,ol{padding-left:24px}
.table-wrap{overflow-x:auto;margin:20px 0}
table{border-collapse:collapse;width:100%;font-size:15px;font-variant-numeric:tabular-nums}
caption{text-align:left;font-weight:700;padding-bottom:10px}
th,td{border-bottom:1px solid var(--line);padding:12px 10px;text-align:left;vertical-align:top}
th{background:var(--paper)}
.reading-list{list-style:none;padding:0}
.reading-list li{padding:16px 0;border-top:1px solid var(--line);margin:0}
.reading-list a{font-size:18px;font-weight:700}
.reading-list p{color:var(--muted);margin:4px 0 0}
.foot{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.skip{position:absolute;top:-100px;left:16px;padding:10px;background:var(--paper);z-index:2}
.skip:focus{top:10px}
@media(max-width:480px){.wrap{padding:16px 20px 40px}main{padding-top:24px}.top{align-items:flex-start}.top nav{gap:0 14px;font-size:14px}th,td{padding:10px 6px}.formula{font-size:17px}}
