:root { color-scheme:dark; --bg:#0c0e0d; --text:#f2f1ec; --muted:#c3c6c0; --accent:#e5ae83; --focus:#5ed2df; --rule:rgba(255,255,255,.14); }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--text); font:16px/1.6 system-ui,sans-serif; }
header { padding:18px 24px; border-bottom:1px solid var(--rule); }
header a { display:inline-flex; align-items:center; gap:12px; color:var(--text); font-weight:600; text-decoration:none; }
main { max-width:48rem; margin:auto; padding:44px 24px 64px; }
h1 { font-size:2.25rem; line-height:1.15; letter-spacing:-.025em; margin:0 0 20px; text-wrap:balance; }
h2 { font-size:1.3rem; margin:36px 0 12px; }
p,li { color:var(--muted); overflow-wrap:anywhere; }
strong { color:var(--text); }
a { color:var(--accent); text-underline-offset:3px; }
a:focus-visible,summary:focus-visible { outline:2px solid var(--focus); outline-offset:4px; }
.intro { font-size:1.2rem; }
.download { display:flex; flex-direction:column; gap:4px; width:fit-content; max-width:100%; margin:28px 0; padding:14px 22px; background:var(--accent); color:var(--bg); border-radius:7px; text-decoration:none; font-weight:650; }
.download span { font-size:.85rem; font-weight:400; }
.download:hover { background:var(--text); }
.download:active { transform:translateY(1px); }
ol { padding-left:24px; }
li { padding:0 0 16px 4px; }
summary { cursor:pointer; padding:12px 0; min-height:48px; }
details { border-top:1px solid var(--rule); margin-top:28px; }
.links { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:32px; }
.links a { display:inline-flex; align-items:center; min-height:48px; }
::selection { background:var(--accent); color:var(--bg); }
@media(max-width:420px) { main { padding:32px 20px 48px; } h1 { font-size:2rem; } .download { width:100%; } }
