:root{
  --green:#00703c;--green-dark:#005a30;--yellow:#ffdd00;--ink:#0b0c0c;--muted:#505a5f;
  --line:#b1b4b6;--paper:#fff;--surface:#f3f2f1;--focus:#ffdd00;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:var(--surface);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.55}
a{color:var(--green-dark)}
a:focus-visible{outline:3px solid var(--focus);outline-offset:0;box-shadow:0 0 0 1px var(--ink)}
.wrap{max-width:52rem;margin:0 auto;padding:1.5rem 1.25rem 3rem}
.back{margin:0 0 .5rem;font-size:.95rem}

.hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.25rem;padding:1rem 0 1.5rem;border-bottom:4px solid var(--yellow)}
.logo{width:140px;height:auto;display:block}
.eyebrow{margin:0 0 .25rem;font-size:.8125rem;letter-spacing:.2em;text-transform:uppercase;color:var(--green);font-weight:700}
.hero h1{margin:0;font-size:clamp(1.75rem,5vw,2.5rem);line-height:1.15}
.tagline{margin:.5rem 0 0;color:var(--muted)}

.jump{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.25rem 0}
.jump a{padding:.4rem .9rem;border:2px solid var(--ink);border-radius:999px;color:var(--ink);text-decoration:none;font-weight:700;background:var(--paper)}
.jump a:hover{background:var(--ink);color:#fff}

.task{margin-top:1.5rem;padding:1.25rem 1.25rem 1.5rem;background:var(--paper);border:1px solid var(--line);border-top:5px solid var(--green);scroll-margin-top:1rem}
#add-a-feature{border-top-color:#1d70b8}
.task-no{margin:0;font-size:.8125rem;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.task h2{margin:.1rem 0 .25rem;font-size:1.6rem}
.lead{margin:0 0 1rem;font-size:1.15rem}
.task h3{margin:1.25rem 0 .4rem;font-size:1.05rem}
.task ol,.task ul{margin:0;padding-left:1.4rem}
.task li{margin:.3rem 0}
.intro{margin-top:1.25rem;padding:1rem 1.25rem;background:var(--paper);border:1px solid var(--line)}
.intro h2{margin:0 0 .5rem;font-size:1.25rem}
.intro p{margin:.4rem 0}
.facts{display:grid;grid-template-columns:max-content 1fr;gap:.35rem 1rem;margin:0 0 .5rem}
.facts dt{font-weight:700}
.facts dd{margin:0}
code{background:var(--surface);padding:.05rem .35rem;border:1px solid var(--line);font-size:.95em}
.repo{display:inline-block;padding:.45rem .8rem;background:var(--surface);border:1px solid var(--line);font-weight:700;overflow-wrap:anywhere}

@media (min-width:640px){
  .hero{flex-direction:row;text-align:left;gap:1.75rem}
  .hero-text{flex:1}
  .logo{width:170px}
}
