*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#EFE3CC;--surf:#F8F1E0;--surf2:#F1E6D0;--surf3:#E8D9BC;
  --border:#D8C7A1;--border2:#C3AC80;
  --accent:#A8512E;--accent-dim:#F0DCC8;
  --green:#5B7F44;--green-dim:#E3EAD7;
  --red:#A23B2E;
  --text:#3B2E1F;--text-dim:#6B5A45;--text-muted:#A8967A;
  --font:'Space Grotesk',sans-serif;
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.65;padding-bottom:60px}
.topbar{
  background:var(--surf);border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:50;
}
.topbar-inner{
  max-width:760px;margin:0 auto;display:flex;align-items:center;gap:10px;
  padding:12px 18px;position:relative;
}
.topbar-inner img{height:32px;width:auto;flex-shrink:0}
.topbar-inner .brand{font-weight:700;font-size:1rem;letter-spacing:.01em}
.topbar-inner .brand small{display:block;font-weight:400;font-size:.62rem;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase}
nav.toplinks{margin-left:auto;display:flex;gap:14px;flex-wrap:wrap}
nav.toplinks a{font-size:.74rem;font-weight:600;color:var(--text-dim);text-decoration:none;letter-spacing:.02em}
nav.toplinks a:hover,nav.toplinks a.active{color:var(--accent)}
.hamburger{
  display:none;margin-left:auto;background:none;border:none;cursor:pointer;
  padding:6px;flex-shrink:0;align-items:center;justify-content:center;
}
.hamburger svg{width:22px;height:22px;stroke:var(--text);fill:none;stroke-width:2;stroke-linecap:round}
@media (max-width:640px){
  nav.toplinks{
    display:none;margin-left:0;position:absolute;top:100%;left:0;right:0;
    background:var(--surf);border:1px solid var(--border);border-top:none;
    flex-direction:column;gap:0;box-shadow:0 8px 16px rgba(59,46,31,.14);
    border-radius:0 0 10px 10px;overflow:hidden;
  }
  nav.toplinks.open{display:flex}
  nav.toplinks a{padding:12px 18px;border-bottom:1px solid var(--border)}
  nav.toplinks a:last-child{border-bottom:none}
  .hamburger{display:flex}
}
main{max-width:760px;margin:0 auto;padding:28px 18px 10px}
h1{font-size:1.5rem;font-weight:700;margin-bottom:6px;color:var(--text)}
.subtitle{color:var(--text-dim);font-size:.85rem;margin-bottom:28px}
h2{font-size:1.08rem;font-weight:700;margin:34px 0 10px;color:var(--text);border-bottom:1px solid var(--border);padding-bottom:8px}
h2 .step-no{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:.7rem;margin-right:8px;flex-shrink:0}
h3{font-size:.92rem;font-weight:700;margin:18px 0 6px;color:var(--text)}
p{font-size:.86rem;color:var(--text-dim);margin-bottom:10px}
ul,ol{margin:0 0 14px 1.2em;color:var(--text-dim);font-size:.86rem}
li{margin-bottom:6px}
strong{color:var(--text)}
a{color:var(--accent)}
.shot{
  display:block;max-width:300px;width:100%;margin:14px 0;border:1px solid var(--border);
  border-radius:14px;box-shadow:0 4px 14px rgba(59,46,31,.12);
}
.shot-wide{max-width:460px}
.card{background:var(--surf);border:1px solid var(--border);border-radius:12px;padding:16px 18px;margin:14px 0}
.note{background:var(--accent-dim);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-size:.8rem;color:var(--text);margin:16px 0}
.note strong{color:var(--accent)}
.placeholder{background:#F5E8C8;border:1px dashed #C3AC80;border-radius:6px;padding:1px 6px;color:#8A6209;font-weight:600;font-size:.84em}
.updated{font-size:.72rem;color:var(--text-muted);margin-top:-4px;margin-bottom:24px}
footer{max-width:760px;margin:40px auto 0;padding:18px;border-top:1px solid var(--border);text-align:center;color:var(--text-muted);font-size:.72rem}
footer a{color:var(--text-muted)}
table{width:100%;border-collapse:collapse;margin:10px 0 16px;font-size:.82rem}
table th,table td{border:1px solid var(--border);padding:7px 9px;text-align:left;color:var(--text-dim)}
table th{background:var(--surf2);color:var(--text);font-size:.74rem;text-transform:uppercase;letter-spacing:.04em}
.about-hero{display:flex;flex-direction:column;align-items:center;text-align:center;margin:10px 0 30px}
.about-hero img{width:160px;height:auto;margin-bottom:14px}
.about-hero h1{margin-bottom:4px}
.about-hero .tagline{color:var(--text-dim);font-size:.86rem}
.dev-names{font-size:.86rem;color:var(--text);font-weight:600;margin-top:4px}
.dev-names span{display:block;color:var(--text-dim);font-weight:400;font-size:.8rem;margin-top:2px}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 20px}
@media (max-width:480px){.feature-grid{grid-template-columns:1fr}}
.feature-grid .card{margin:0}
.feature-grid h3{margin-top:0}