:root{
  --bg:#faf6ef; --surface:#efe8da; --border:#d9d0be;
  --accent:#2f4633; --accent-d:#22331f; --amber:#d28e2e;
  --amber-text:#8a570d; --amber-soft:#f0c77e;
  --cream:#f9f4ef; --text:#243121; --muted:#6e6853; --red:#b9432f;
  --max:760px; --r:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{
  background:var(--bg); color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  line-height:1.7; -webkit-font-smoothing:antialiased;min-width:0;
}
.mono{font-family:"Courier New",monospace}
.wrap{max-width:var(--max);margin:0 auto;padding:0 22px}
a{color:var(--accent)}
h1,h2,h3{line-height:1.25;letter-spacing:-.01em}
.skip-link{position:fixed;left:12px;top:10px;z-index:1000;transform:translateY(-160%);
  background:var(--accent-d);color:var(--cream);padding:10px 14px;border-radius:8px;
  font-weight:800;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.skip-link:focus{transform:translateY(0)}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--amber);outline-offset:3px;border-radius:5px}
.eyebrow{font-family:"Courier New",monospace;font-size:.9rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--amber-text);font-weight:800}

/* header */
header{position:sticky;top:0;z-index:20;background:rgba(250,246,239,.9);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.nav{display:flex;align-items:center;gap:16px;height:62px;max-width:1080px;margin:0 auto;padding:0 22px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.05rem;text-decoration:none;color:var(--text)}
.logo{width:34px;height:34px;border-radius:9px;background:var(--accent);
  display:grid;place-items:center;color:var(--cream);font-size:1.1rem}
.logo-img{width:46px;height:46px;border-radius:11px;display:block;flex:0 0 auto}
.brand-txt{display:flex;flex-direction:column;line-height:1.04}
.brand-txt b{font-size:1.06rem;font-weight:800;letter-spacing:-.01em}
.brand-txt small{font-size:.72rem;color:var(--muted);font-weight:600;letter-spacing:.01em}
footer .logo-img{width:40px;height:40px}
.nav .back{margin-left:auto;min-height:44px;display:flex;align-items:center;font-size:.92rem;
  color:var(--muted);text-decoration:none;font-weight:700;text-align:right}
.nav .back:hover{color:var(--text)}

/* content */
main{padding:46px 0 20px}
main:focus{outline:none}
main h1{font-size:clamp(1.7rem,4vw,2.4rem);font-weight:800;margin-bottom:6px}
main .lead{color:var(--muted);font-size:1.1rem;margin:10px 0 8px}
main h2{font-size:1.3rem;margin:34px 0 10px;scroll-margin-top:100px}
main h3{font-size:1.05rem;margin:22px 0 6px;scroll-margin-top:100px}
main p{margin:10px 0}
main ul,main ol{margin:10px 0 10px 22px}
main li{margin:6px 0}
main strong{font-weight:700}
.updated{font-family:"Courier New",monospace;font-size:.82rem;color:var(--muted)}

/* callouts */
.note{background:var(--cream);border:1px solid var(--border);border-radius:var(--r);
  padding:16px 18px;margin:18px 0}
.note.warn{background:#f4e7e0;border-color:#e4cdc1}
.note .t{font-family:"Courier New",monospace;font-size:.72rem;letter-spacing:.1em;
  text-transform:uppercase;font-weight:800;color:var(--amber-text);display:block;margin-bottom:6px}
.note.warn .t{color:#a8502f}

/* steps */
.steps{counter-reset:s;list-style:none;margin:18px 0;padding:0}
.steps li{position:relative;padding:14px 16px 14px 56px;background:var(--cream);
  border:1px solid var(--border);border-radius:var(--r);margin:0 0 10px}
.steps li::before{counter-increment:s;content:counter(s);position:absolute;left:14px;top:14px;
  width:28px;height:28px;border-radius:50%;background:var(--amber);color:#2d250f;
  font-family:"Courier New",monospace;font-weight:800;display:grid;place-items:center}
.steps li b{display:block;margin-bottom:2px}

/* buttons */
.btn{display:inline-block;background:var(--accent);color:var(--cream);
  text-decoration:none;font-weight:700;padding:11px 18px;border-radius:10px;
  border:1px solid var(--accent-d);font-size:.95rem;transition:.15s;min-height:44px}
.btn:hover{background:var(--accent-d)}
.btn.ghost{background:transparent;color:var(--accent);border-color:var(--border)}
.btn:disabled,.btn.disabled{opacity:.55;cursor:not-allowed;pointer-events:none}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}

/* footer */
footer{border-top:1px solid var(--border);background:var(--surface);padding:34px 0;margin-top:46px}
footer .wrap{max-width:1080px}
.fcols{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px}
.fcols a{display:block;color:var(--muted);text-decoration:none;font-size:.9rem;padding:3px 0}
.fcols a:hover{color:var(--text)}
.fcols .footer-title{font-family:"Courier New",monospace;font-size:.75rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--text);margin-bottom:10px}
.copyright{margin-top:22px;font-size:.82rem;color:var(--muted)}

/* draft banner */
.draft{background:var(--amber);color:#3a2a08;text-align:center;font-size:.82rem;
  font-weight:700;padding:7px;font-family:"Courier New",monospace}

@media(max-width:560px){
  .wrap{padding-inline:16px}
  .nav{height:auto;min-height:62px;padding:8px 16px;gap:10px}
  .logo-img{width:42px;height:42px}
  .brand-txt b{font-size:1rem}
  .brand-txt small{font-size:.68rem}
  .nav .back{max-width:44%;font-size:.82rem;line-height:1.25}
  main{padding-top:34px}
  .fcols{display:grid;grid-template-columns:1fr 1fr}
  .fcols>div:first-child{grid-column:1/-1}
}
@media(max-width:360px){
  .nav{align-items:flex-start}
  .nav .back{max-width:40%;font-size:.76rem}
  .fcols{grid-template-columns:1fr}
  .fcols>div:first-child{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
}
