:root { --ink:#0f1b2d; --soft:#46556b; --line:#e3e8ef; --accent:#1fa2e0; --accent-deep:#0b7fb8; --tint:#f4f6f8; }
* { box-sizing:border-box; }
body { margin:0; background:#fff; color:var(--ink); font:17px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:var(--accent-deep); }
header { border-bottom:1px solid var(--line); background:#fff; }
header .in, main, footer .in { max-width:760px; margin:0 auto; padding:0 24px; }
header .in { display:flex; align-items:center; justify-content:space-between; height:68px; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink); font-weight:700; font-size:19px; }
header nav a { margin-left:18px; text-decoration:none; font-size:15px; color:var(--soft); }
main { padding-top:44px; padding-bottom:70px; }
h1 { font-size:clamp(30px,5vw,40px); line-height:1.15; letter-spacing:-.02em; margin:0 0 6px; }
.updated { color:var(--soft); font-size:15px; margin:0 0 34px; }
h2 { font-size:21px; margin:34px 0 8px; letter-spacing:-.01em; }
p, li { color:var(--soft); }
ul { padding-left:22px; }
li { margin:6px 0; }
strong { color:var(--ink); }
.note { background:var(--tint); border-left:4px solid var(--accent); border-radius:12px; padding:14px 18px; margin:0 0 28px; }
footer { border-top:1px solid var(--line); background:var(--tint); padding:28px 0; font-size:14.5px; color:var(--soft); }
footer a { margin-right:16px; }
a:focus-visible { outline:3px solid var(--accent); outline-offset:3px; border-radius:6px; }
