*{box-sizing:border-box}
:root{--ink:#0A1424;--text:#101B2B;--blue:#1664D9;--blue-dark:#0F4DAE;--soft:#F1F5FB;--line:#B9C6DB}
body{margin:0;font-family:Manrope,system-ui,sans-serif;color:var(--text);background:#fff;font-size:17px;line-height:1.7}
h1,h2,h3{font-family:Newsreader,Georgia,serif;color:var(--ink);line-height:1.15;margin:0}
a{color:var(--blue-dark)}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{font-weight:800;font-size:22px;color:var(--ink);text-decoration:none}
.logo span{color:var(--blue)}
nav{display:flex;gap:26px}
nav a{text-decoration:none;font-weight:600;color:var(--ink)}
nav a:hover{color:var(--blue)}
.btn{display:inline-block;border:0;border-radius:8px;background:var(--blue);color:#fff;font:700 16px Manrope,sans-serif;padding:12px 22px;text-decoration:none}
.btn:hover{background:var(--blue-dark)}
.page{background:var(--soft);padding:48px 0 20px;border-bottom:1px solid var(--line)}
.page h1{font-size:clamp(34px,5vw,52px);max-width:16em}
.page p{font-size:19px;margin:12px 0 0;max-width:36em}
.prose{max-width:760px;margin:0 auto;padding:44px 20px 70px}
.prose h2{font-size:28px;margin:38px 0 10px}
.prose h3{font-size:21px;margin:26px 0 6px}
.prose p,.prose ul,.prose ol{margin:0 0 14px}
.prose li{margin-bottom:6px}
.prose .updated{font-size:15px;font-weight:600;color:var(--ink)}
.prose .mail{font-weight:800;font-size:21px}
.prose .tip{border-left:4px solid var(--blue);padding:4px 0 4px 16px;margin:18px 0;font-weight:600;color:var(--ink)}
.toc{margin:0 0 10px;padding-left:20px}
footer{background:var(--ink);color:#fff;padding:40px 0;font-size:15px}
footer .wrap{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap}
footer p{margin:0 0 6px}
footer .made{font-weight:800;font-size:17px}
footer .heart{color:#FF6B6B}
.flinks{display:grid;grid-template-columns:repeat(2,auto);gap:8px 32px;align-content:start}
footer a{color:#fff;text-decoration:none}
footer a:hover{text-decoration:underline}
@media(max-width:900px){nav{display:none}}
