:root{
  --bg:#f4f6f5;--surface:#fff;--surface-2:#f0f4f1;--border:#dfe7e0;
  --text:#243a43;--text-2:#5f7378;--heading:#1f3a33;
  --brand:#176852;--brand-hover:#105541;--brand-ink:#fff;--brand-soft:#edf4ef;--brand-soft-text:#275b4e;
  --side:#163c35;--side-text:#b9d0c6;--side-strong:#f1f7f2;--lime:#c7dcac;
  --warn-bg:#fbf4e4;--warn:#8a6420;--focus:#20836e;
  --serif:Cambria,'Times New Roman',serif;--sans:Arial,'Helvetica Neue',sans-serif;--mono:Consolas,'SFMono-Regular',Menlo,monospace;
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#0f1a17;--surface:#15231f;--surface-2:#1a2b26;--border:#263a34;
    --text:#d7e4de;--text-2:#a5b8b1;--heading:#eef5f1;
    --brand:#5fb592;--brand-hover:#79c6a6;--brand-ink:#0d1f19;--brand-soft:#1d332c;--brand-soft-text:#b6dcc9;
    --side:#0b1512;--side-text:#9fb9ae;--side-strong:#e9f4ee;--lime:#a9cc84;
    --warn-bg:#352a14;--warn:#e7c27b;--focus:#79c6a6;
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 var(--sans)}
a{color:var(--brand)}
a:hover{color:var(--brand-hover)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.wrap{max-width:760px;margin:0 auto;padding:0 16px}

.top{background:var(--side);color:var(--side-text)}
.top .wrap{display:flex;align-items:center;gap:14px;padding-top:28px;padding-bottom:28px}
.top svg{flex:none;width:52px;height:52px}
.brand{margin:0;font:700 1.55rem/1.2 var(--serif);color:var(--side-strong)}
.brand small{display:block;font:400 .95rem/1.4 var(--sans);color:var(--side-text);margin-top:2px}

main.wrap{padding-top:24px;padding-bottom:8px}
h2{font:700 1.2rem/1.3 var(--serif);color:var(--heading);margin:0 0 10px}
section{margin:0 0 22px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px}
.lead{font-size:1.05rem;margin:0 0 16px}

.dl{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
.btn{display:inline-block;background:var(--brand);color:var(--brand-ink);text-decoration:none;font-weight:700;padding:13px 22px;border-radius:10px;min-height:48px}
.btn:hover{background:var(--brand-hover);color:var(--brand-ink)}
.meta{color:var(--text-2);font-size:.95rem}
.file{margin:16px 0 0;padding:0;list-style:none;font-size:.95rem}
.file li{display:flex;flex-wrap:wrap;gap:2px 10px;padding:7px 0;border-top:1px solid var(--border)}
.file li span:first-child{color:var(--text-2);min-width:7.5em}
.hash{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%}
code,.mono{font-family:var(--mono);font-size:.9rem}
.hash code{overflow-wrap:anywhere;word-break:break-all;background:var(--surface-2);border-radius:6px;padding:2px 6px}
.copy{font:inherit;font-size:.85rem;color:var(--brand-soft-text);background:var(--brand-soft);border:1px solid var(--border);border-radius:8px;padding:4px 10px;min-height:32px;cursor:pointer}
pre{margin:8px 0 0;background:var(--surface-2);border-radius:8px;padding:10px 12px;overflow-x:auto;font-family:var(--mono);font-size:.85rem;white-space:pre}

.note{background:var(--warn-bg);color:var(--warn);border-radius:10px;padding:12px 14px;font-size:.95rem;margin:16px 0 0}
ul,ol{margin:0;padding-left:1.3em}
li{margin:4px 0}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:620px){.cols{grid-template-columns:1fr}.top .wrap{padding-top:22px;padding-bottom:22px}}

footer{border-top:1px solid var(--border);margin-top:12px}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;padding-top:16px;padding-bottom:28px;color:var(--text-2);font-size:.9rem}
.terms h3{font:700 1rem/1.4 var(--sans);color:var(--heading);margin:18px 0 6px}
.terms p{margin:6px 0}
