:root{
  --bg:#ffffff; --fg:#111418; --muted:#5b6167; --line:#e6e8eb; --soft:#f7f8f9;
  --accent:#0F766E; --accent-soft:#0f766e14; --maxw:720px; --radius:10px;
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#0f1113; --fg:#f2f3f5; --muted:#9aa1a8; --line:#23282d; --soft:#15181b;
         --accent:#3fbfb2; --accent-soft:#3fbfb21a; }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans SC",sans-serif;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px}
a{color:inherit; text-decoration:none; border-bottom:1px solid var(--line)}
a:hover{border-bottom-color:var(--accent); color:var(--accent)}
header.site{border-bottom:1px solid var(--line)}
header.site .wrap{display:flex; align-items:center; justify-content:space-between; height:64px; gap:16px}
.brand{display:flex; align-items:center; gap:10px; border:0}
.brand svg{width:26px; height:26px; display:block}
.brand b{font-weight:600; letter-spacing:-.2px}
nav.top{display:flex; gap:18px; font-size:14px; color:var(--muted)}
nav.top a{border:0}
nav.top a:hover{color:var(--accent)}

h1,h2,h3{letter-spacing:-.02em; line-height:1.25; margin:0}
h1{font-size:clamp(30px,5.2vw,44px); font-weight:650}
h2{font-size:clamp(20px,3vw,26px); font-weight:620}
h3{font-size:17px; font-weight:620}
p{margin:0 0 14px}
.lead{font-size:19px; color:var(--muted)}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:13px}

section{padding:72px 0; border-bottom:1px solid var(--line)}
section:last-of-type{border-bottom:0}
.hero{padding:96px 0 80px}
.hero .lead{margin-top:18px; max-width:34em}
.cta{display:inline-flex; align-items:center; gap:10px; margin-top:30px; padding:13px 20px;
     border-radius:var(--radius); background:var(--fg); color:var(--bg); font-weight:600; font-size:15px; border:0}
.cta[aria-disabled="true"]{opacity:.55; cursor:default}
.cta-note{margin-top:12px; font-size:13px; color:var(--muted)}
.demo{margin-top:8px; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--soft)}
.demo-img{display:block; width:100%; height:auto}
.demo-ph{padding:56px 24px; text-align:center; color:var(--muted); font-size:14px}
.grid{display:grid; gap:34px; margin-top:34px}
@media (min-width:700px){ .grid.cols3{grid-template-columns:repeat(3,1fr)} }
.item h3{margin-bottom:6px}
.item p{color:var(--muted); font-size:15px; margin:0}
ul.clean{list-style:none; padding:0; margin:14px 0 0}
ul.clean li{padding:7px 0 7px 20px; position:relative; color:var(--muted); font-size:15px}
ul.clean li::before{content:""; position:absolute; left:2px; top:15px; width:9px; height:2px; border-radius:2px; background:var(--accent)}
.note{margin-top:18px; padding:14px 16px; border-left:2px solid var(--accent); background:var(--accent-soft); border-radius:0 8px 8px 0; font-size:15px}
footer.site{padding:44px 0 64px; color:var(--muted); font-size:14px}
footer.site .wrap{display:flex; flex-wrap:wrap; gap:14px 22px; align-items:center}
footer.site a{border:0}
.spacer{flex:1}
footer.site .mail{border-bottom:1px solid var(--line)}
/* prose pages */
.prose{padding:64px 0 88px}
.prose h1{margin-bottom:6px}
.prose .updated{color:var(--muted); font-size:14px; margin-bottom:34px}
.prose h2{font-size:19px; margin:34px 0 10px}
.prose ul{padding-left:20px; color:var(--muted)}
.prose li{margin:6px 0}
.prose .post{color:var(--muted)}
.prose .post p{margin:0 0 12px}
