:root { color-scheme: light; --bg:#f3efe4; --paper:#fbf9f2; --ink:#1a1815; --muted:#625e52; --green:#0e5e38; --line:#d7d0bf; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:Inter,"Segoe UI",system-ui,sans-serif; font-size:1rem; line-height:1.55; }
.lab-wrap { width:min(100% - 2rem, 42rem); margin:0 auto; }
.lab-header { display:flex; justify-content:space-between; gap:1rem; padding:1.5rem 0; border-bottom:1px solid var(--line); font-size:.875rem; letter-spacing:.16em; font-weight:700; }
.lab-header a { color:inherit; text-decoration:none; }
.lab-header span { color:var(--green); }
main { padding:1.5rem 0; }
h1 { margin:0; font-size:clamp(2rem,7vw,2.7rem); letter-spacing:-.045em; line-height:1.15; }
.intro { margin:.6rem 0 1.5rem; color:var(--muted); }
.downloads { display:grid; gap:1rem; }
.download { background:var(--paper); border:1px solid var(--line); border-top:4px solid var(--green); padding:1.4rem; border-radius:.25rem; }
.download-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem; font-size:.875rem; color:var(--muted); }
h2 { margin:.8rem 0 .4rem; font-size:1.65rem; line-height:1.2; letter-spacing:-.025em; }
.description { margin:0 0 1.2rem; }
.download-button { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:3.5rem; padding:.9rem 1.1rem; background:var(--green); color:white; border-radius:.25rem; font-size:1.05rem; font-weight:650; text-decoration:none; }
.download-button:hover { background:#073d22; }
.download-button span { font-size:1.4rem; line-height:1; }
a:focus-visible, summary:focus-visible { outline:3px solid #2165bd; outline-offset:4px; }
.version { margin:.7rem 0 1rem; color:var(--muted); font-size:.875rem; }
.version span { margin:0 .3rem; }
details { border-top:1px solid var(--line); }
summary { cursor:pointer; padding:.8rem 0; font-size:.95rem; }
details p { margin:.4rem 0 1rem; }
ol { padding-left:1.35rem; margin:.2rem 0 1rem; }
li + li { margin-top:.7rem; }
.file-details { font-size:.875rem; color:var(--muted); }
.file-details a { color:var(--green); display:inline-block; padding:.3rem 0 .8rem; }
.checksum-label { margin-bottom:.2rem; }
.checksum { overflow-wrap:anywhere; }
footer { padding:0 0 2rem; color:var(--muted); font-size:.875rem; }
@media (max-width:360px) { .download { padding:1rem; } .download-meta { display:block; } .download-meta span { display:block; } }
