:root{
  --bg:#f6f7f5; --surface:#ffffff; --ink:#1c2321; --ink-soft:#5b655f;
  --line:#e2e5e0; --accent:#1f7a5c; --accent-ink:#ffffff; --accent-soft:#e6f2ec;
  --warn-bg:#fdf3e4; --warn-line:#e8b463; --warn-ink:#7a5417; --code:#f0f1ee;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#12140f; --surface:#191d17; --ink:#eceee9; --ink-soft:#a3aca2;
    --line:#2b3129; --accent:#5fd6a6; --accent-ink:#0f1a15; --accent-soft:#16261f;
    --warn-bg:#2b230f; --warn-line:#8a6a22; --warn-ink:#f0cf8e; --code:#1f231d;
  }
}
*{box-sizing:border-box;}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.6;
}
a{color:var(--accent);}
.wrap{max-width:760px; margin:0 auto; padding:0 20px 64px;}

/* Site header and footer */
.site-header{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 20px;
  padding:24px 0; border-bottom:1px solid var(--line); margin-bottom:40px;
}
.brand{font-size:1.35rem; font-weight:700; letter-spacing:-0.01em; color:var(--ink); text-decoration:none;}
.site-nav{display:flex; flex-wrap:wrap; gap:4px 20px;}
.site-nav a{color:var(--ink-soft); text-decoration:none; font-size:0.93rem; font-weight:600;}
.site-nav a:hover, .site-nav a[aria-current="page"]{color:var(--accent);}
.site-footer{
  margin-top:56px; padding-top:20px; border-top:1px solid var(--line);
  color:var(--ink-soft); font-size:0.85rem;
}
.site-footer p{margin:4px 0; font-size:0.85rem; color:var(--ink-soft);}

/* Home page */
.status{
  display:inline-block; background:var(--accent-soft); color:var(--accent);
  border:1px solid var(--accent); border-radius:999px; padding:3px 12px;
  font-size:0.82rem; font-weight:600; margin-bottom:18px;
}
.hero h1{font-size:2.3rem; line-height:1.15; letter-spacing:-0.02em; margin:0 0 14px; text-wrap:balance;}
.hero p{font-size:1.08rem; color:var(--ink-soft); margin:0; max-width:36em;}
.steps{list-style:none; padding:0; margin:20px 0 0; display:grid; gap:14px;}
.steps li{
  background:var(--surface); border:1px solid var(--line); border-radius:12px;
  padding:18px 20px; margin:0;
}
.steps strong{display:block; font-size:1.02rem; margin-bottom:2px;}
.steps span{color:var(--ink-soft); font-size:0.95rem;}
section{margin-top:48px;}

/* Documents */
h1{font-size:1.7rem; margin:0 0 4px;}
h2{font-size:1.08rem; margin:30px 0 10px; color:var(--ink);}
.home h2{font-size:1.3rem; margin:0 0 6px;}
p, li{font-size:0.96rem; color:var(--ink);}
ul{padding-left:22px;}
li{margin-bottom:8px;}
.meta{color:var(--ink-soft); font-size:0.88rem; margin:0 0 28px;}
.banner{
  background:var(--warn-bg); border:1px solid var(--warn-line); color:var(--warn-ink);
  border-radius:10px; padding:14px 16px; font-size:0.92rem; margin-bottom:32px;
}
.banner.small{margin:16px 0; font-size:0.88rem;}
.callout{
  background:var(--accent-soft); border:1px solid var(--accent); color:var(--ink);
  border-radius:10px; padding:14px 16px; font-size:0.92rem; margin:20px 0 8px;
}
.fillin{
  background:var(--code); border:1px dashed var(--line); border-radius:4px;
  padding:1px 6px; font-size:0.88em; color:var(--ink-soft); font-style:italic;
}
.entity-line{
  margin-top:40px; padding-top:16px; border-top:1px solid var(--line);
  font-size:0.85rem; color:var(--ink-soft);
}
.button{
  display:inline-block; background:var(--accent); color:var(--accent-ink);
  text-decoration:none; font-weight:600; border-radius:8px; padding:10px 18px; margin:8px 0;
}
@media (max-width:480px){
  .wrap{padding:0 16px 48px;}
  .hero h1{font-size:1.8rem;}
}
