:root{--bg:#f1f3ef;--ink:#1b2420;--pine:#2d4a3e;--blaze:#2563a8;--line:#cdd5cc;--card:#fff}
@media(prefers-color-scheme:dark){:root{--bg:#141b18;--ink:#e8ede9;--pine:#8fb8a3;--blaze:#6aa4e6;--line:#2c3a34;--card:#1b2622}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 Georgia,serif}
h1,h2,h3,nav,label,button,.meta,.brand{font-family:system-ui,sans-serif}
header{display:flex;flex-wrap:wrap;gap:.5rem 2rem;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:3px solid var(--pine)}
.brand{font-weight:800;font-size:1.3rem;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:.6rem}
.blaze{width:.7rem;height:1.5rem;background:var(--blaze);border:2px solid #fff;outline:2px solid var(--ink);border-radius:2px}
nav a{margin-left:1.2rem;color:var(--ink);text-decoration:none;font-weight:600}nav a:hover,nav a[aria-current]{color:var(--blaze);text-decoration:underline}
main{max-width:860px;margin:0 auto;padding:1.5rem}h1{font-size:2rem;margin:.5rem 0 1rem}h2{margin-top:2rem;color:var(--pine)}
a{color:var(--blaze)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--blaze);outline-offset:2px}
.outing{background:var(--card);border:1px solid var(--line);border-left:6px solid var(--blaze);padding:1rem 1.2rem;margin:1rem 0}
.outing h3{margin:0}.meta{font-size:.9rem;color:var(--pine);margin:.2rem 0 .6rem}
.outing dl{display:grid;grid-template-columns:auto 1fr;gap:.1rem 1rem;margin:.5rem 0}.outing dt{font-weight:700;font-family:system-ui}.outing dd{margin:0}
.shots{display:flex;gap:.6rem;flex-wrap:wrap}.shots img{max-width:48%;height:auto;border:1px solid var(--line)}
form{display:grid;gap:.9rem}label{display:grid;gap:.25rem;font-weight:600}.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.9rem}
input,select{font:inherit;padding:.55rem;border:1px solid var(--line);background:var(--card);color:var(--ink)}
button{font-weight:700;padding:.7rem 1.2rem;background:var(--pine);color:#fff;border:0;cursor:pointer}button:hover{background:var(--blaze)}
fieldset{border:1px solid var(--line);padding:1rem}.msg{padding:.7rem;border:1px solid var(--line);background:var(--card)}.err{border-color:#b3261e;color:#b3261e}
footer{text-align:center;padding:2rem;color:var(--pine);font-family:system-ui;font-size:.9rem}
form.inline{display:inline}table{width:100%;border-collapse:collapse}td,th{padding:.35rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.ok{border-color:var(--pine)}
