:root{
  --bg:#f7f6f3; --panel:#ffffff; --ink:#17181a; --muted:#5f6368;
  --line:#e3e1db; --accent:#1f4d3d; --accent-soft:#e7efe9;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; padding:0 20px 64px; background:var(--bg); color:var(--ink);
  font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
.head{max-width:880px; margin:0 auto; padding:56px 0 8px}
.kicker{margin:0 0 14px; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent)}
h1{margin:0 0 16px; font-size:clamp(30px,6vw,52px); line-height:1.05; letter-spacing:-.02em}
.lead{margin:0; max-width:60ch; font-size:clamp(17px,2.4vw,20px); color:var(--muted)}
main{max-width:880px; margin:0 auto}
section{padding:40px 0 8px; border-top:1px solid var(--line); margin-top:40px}
section:first-of-type{border-top:0; margin-top:24px}
h2{margin:0 0 20px; font-size:clamp(20px,3vw,26px); letter-spacing:-.01em}
h3{margin:0 0 8px; font-size:17px}
p{margin:0 0 12px}
.grid{display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.card{background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:20px}
.card p:last-child{margin-bottom:0; color:var(--muted)}
.num{margin:0 0 10px; font-family:var(--mono); font-size:13px; color:var(--accent); letter-spacing:.08em}
.steps{list-style:none; margin:0; padding:0; display:grid; gap:8px}
.steps li{background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:14px 16px}
.steps label{display:flex; gap:12px; align-items:flex-start; cursor:pointer}
.steps input{margin-top:4px; width:18px; height:18px; accent-color:var(--accent); flex:0 0 auto}
.steps input:checked + span{color:var(--muted); text-decoration:line-through}
.progress{margin:14px 0 0; font-size:14px; color:var(--muted)}
.table-wrap{overflow-x:auto; border:1px solid var(--line); border-radius:14px; background:var(--panel)}
table{border-collapse:collapse; width:100%; min-width:520px}
th,td{text-align:left; padding:13px 16px; border-bottom:1px solid var(--line); vertical-align:middle}
th{font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); font-weight:600}
tr:last-child td{border-bottom:0}
code{font-family:var(--mono); font-size:13.5px; background:var(--accent-soft); padding:3px 7px; border-radius:6px}
.copy{margin-left:8px; font:inherit; font-size:12px; color:var(--accent); background:none; border:1px solid var(--line); border-radius:8px; padding:4px 9px; cursor:pointer}
.copy:hover{background:var(--accent-soft)}
.note{margin:14px 0 0; font-size:14.5px; color:var(--muted)}
.limits,.links{margin:0; padding-left:20px}
.limits li,.links li{margin-bottom:8px}
.links a{color:var(--accent); text-decoration:none; border-bottom:1px solid var(--accent-soft)}
.links a:hover{border-bottom-color:var(--accent)}
.foot{max-width:880px; margin:56px auto 0; padding-top:20px; border-top:1px solid var(--line); font-size:14px; color:var(--muted)}
@media (max-width:520px){
  body{padding:0 16px 48px}
  .head{padding-top:36px}
  section{padding-top:30px; margin-top:30px}
  th,td{padding:11px 12px}
}
