:root{--bg:#fff;--fg:#111;--muted:#333;--link:#0b4a8b;--accent:#0b4a8b;--card:#f3f6fb;--warn:#8a0000;--focus:#b35c00;color-scheme:light dark}
@media (prefers-color-scheme:dark){:root{--bg:#121417;--fg:#f2f2f2;--muted:#d6d6d6;--link:#9cc8ff;--accent:#9cc8ff;--card:#1e232a;--warn:#ff9e9e;--focus:#ffbf47}}
*{box-sizing:border-box}
html{font-size:112.5%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.6;overflow-wrap:break-word}
.wrap{max-width:46rem;margin:0 auto;padding:0 1rem}
a{color:var(--link);text-decoration:underline;text-underline-offset:.15em}
a:hover{text-decoration-thickness:3px}
a:focus-visible,[tabindex]:focus-visible{outline:4px solid var(--focus);outline-offset:3px;border-radius:2px}
main:focus{outline:none}
.skip{position:absolute;left:1rem;top:-10rem;background:var(--fg);color:var(--bg);padding:.75rem 1rem;z-index:10;font-weight:700}
.skip:focus{top:1rem}
.site-header{border-bottom:3px solid var(--accent);padding:.75rem 0}
.brand{margin:0;font-size:clamp(1.45rem,5.5vw,1.75rem);font-weight:700;line-height:1.2}
.brand a{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--fg)}
nav ul,.footer-links{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}
nav a{display:inline-block;padding:.5rem 0;min-height:44px}
nav a[aria-current=page]{font-weight:700;text-decoration-thickness:3px}
main{padding:1.5rem 0 2.5rem}
h1{font-size:clamp(1.9rem,6vw,2.25rem);line-height:1.2;margin:.5rem 0 1rem}
h2{font-size:1.45rem;margin:2rem 0 .5rem}
h3{font-size:1.2rem;margin:0 0 .5rem}
.lead{font-size:1.2rem}
li{margin:.35rem 0}
.cards{list-style:none;padding:0;display:grid;gap:1rem}
.card,.notice,.tip{background:var(--card);border-radius:10px;padding:1rem 1.25rem}
.card{border:2px solid var(--accent)}
.status{font-weight:700}
.warning{border:3px solid var(--warn);border-radius:10px;padding:1rem 1.25rem}
.steps li{margin-bottom:.75rem}
.shots{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1rem;margin:1.5rem 0}
figure{margin:0}
img,video{max-width:100%;height:auto}
.shots img{border:1px solid var(--muted);border-radius:10px}
figcaption{font-weight:700;margin-top:.25rem}
.site-footer{border-top:3px solid var(--accent);padding:1.25rem 0 2rem;background:var(--card)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
