:root{--lake:#1f3a4d;--lake-hover:#2e5570;--lake-tint:#d5e2ea;--espresso:#2f241e;--saddle:#4a3426;--pine:#2f5d45;--brass:#d9c08f;--brass-text:#7e5e26;--parchment:#f5f0e6;--sand:#e8dfcc;--card:#fffdf8;--line:#e3dac6;--field:#cfc4ac;--muted:#5b5f57;--on-dark-muted:#d8d2c4;--danger:#9b2c1f;--serif:"Fraunces",Georgia,serif;--sans:"Karla","Helvetica Neue",sans-serif;--radius:14px}.theme-campground{--lake:#2f5d45;--lake-hover:#3b7356;--lake-tint:#d6e4d9;--pine:#1f3a4d}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--parchment);color:var(--espresso);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;margin:0}p{margin:0}a{color:var(--lake)}a:hover{color:var(--lake-hover)}.container{width:100%;max-width:1080px;margin:0 auto;padding:0 20px}.narrow{max-width:640px}.eyebrow{font-size:12px;letter-spacing:3px;font-weight:700;text-transform:uppercase;color:var(--brass-text)}.on-dark .eyebrow{color:var(--brass)}.muted{color:var(--muted)}.stack{flex-direction:column;gap:16px}.row,.stack{display:flex}.row{gap:12px;flex-wrap:wrap;align-items:center}.card{background:var(--card);color:var(--espresso);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:12px;border:1.5px solid var(--lake);background:var(--lake);font:700 16px var(--sans);cursor:pointer;text-decoration:none}.btn,.btn:hover{color:var(--parchment)}.btn:hover{background:var(--lake-hover);border-color:var(--lake-hover)}.btn:disabled{opacity:.6;cursor:default}.btn-ghost{background:transparent;color:var(--lake)}.btn-ghost:hover{background:var(--lake-tint);color:var(--lake)}.btn-brass{background:var(--brass);border-color:var(--brass);color:var(--espresso)}.btn-brass:hover{background:#cfb47f;border-color:#cfb47f;color:var(--espresso)}label.field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700}input,select,textarea{font:400 16px var(--sans);color:var(--espresso);background:var(--card);border:1px solid var(--field);border-radius:10px;padding:12px 14px;min-height:48px;width:100%}textarea{min-height:110px;resize:vertical}.btn:focus-visible,.chip:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--brass);outline-offset:2px}.chip{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--field);background:var(--card);color:var(--lake);font:700 15px var(--sans);cursor:pointer}.chip.on,.chip[aria-pressed=true]{background:var(--lake);border-color:var(--lake);color:var(--parchment)}.tag{display:inline-flex;border-radius:999px;padding:4px 12px;font-size:13px;background:var(--sand)}.tag-blue{background:var(--lake-tint);color:var(--lake);font-weight:700}.notice{border-radius:12px;padding:12px 14px;font-size:15px}.notice-ok{background:var(--lake-tint);color:var(--lake)}.notice-err{background:#f6e1dc;color:var(--danger)}.stamp{width:84px;height:84px;border-radius:50%;border:2px dashed var(--brass-text);outline:4px solid var(--sand);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:var(--serif);font-weight:600;font-size:22px;background:var(--card);color:var(--lake)}.stamp.park{background:var(--pine);color:var(--parchment);font-size:17px}.stamp.pending{border-color:#8a8e86;background:#efeae0;color:#6a6e66}.stamp small{font-family:var(--sans);font-size:9px;letter-spacing:1.5px;font-weight:700}.site-header{background:var(--lake);color:var(--parchment)}.site-header .bar{display:flex;justify-content:space-between;align-items:center;min-height:64px;gap:12px;flex-wrap:wrap}.site-header a{color:var(--parchment);text-decoration:none;font-weight:700}.site-header nav{display:flex;gap:18px;flex-wrap:wrap}.brand{font-size:13px;letter-spacing:3px;font-weight:700;color:var(--brass)!important}.page{padding:36px 0 64px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:20px}.grid-2,.grid-3{display:grid;gap:20px}.grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:20px}.bar-track{background:var(--sand)}.bar-fill,.bar-track{height:6px;border-radius:3px}.bar-fill{background:var(--lake)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}