.hdr{position:relative;overflow:hidden;color:var(--paper);background:linear-gradient(180deg,#2e2350 0%,var(--dusk) 34%,#d9677a 64%,var(--sunset) 84%,var(--gold) 100%)}.hdr-inner{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:40px 32px 150px;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:32px}.hdr-title{flex:1 1 420px;display:flex;flex-direction:column;gap:10px}.hdr-kicker{font:700 13px/1 var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}.hdr h1{font:700 clamp(40px,6vw,64px)/1 var(--font-display)}.hdr-title p{margin:6px 0 0;font-size:18px;line-height:1.5;max-width:520px;color:#fbe9da}.hdr-progress{flex:0 1 460px;display:flex;flex-direction:column;gap:14px}.hdr-count{display:flex;align-items:baseline;gap:10px}.hdr-num{font:700 clamp(80px,10vw,112px)/.85 var(--font-display);text-shadow:4px 4px 0 var(--ink)}.hdr-of{font:600 clamp(28px,3vw,40px)/1 var(--font-display);color:#fbe9da}.trail{position:relative;height:26px}.trail-path{position:absolute;inset:11px 0 auto;border-top:3px dashed rgba(246,238,220,.55)}.trail-done{position:absolute;left:0;top:9px;height:7px;border-radius:4px;background:var(--gold);box-shadow:0 0 0 1.5px var(--ink)}.trail-hiker{position:absolute;top:0}.trail-flag{position:absolute;right:-4px;top:-6px}.hdr-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:4px 0 0}.hdr-stats div{display:flex;flex-direction:column-reverse;gap:4px}.hdr-stats dt{font-size:13px;color:#fbe9da}.hdr-stats dd{margin:0;font:700 26px/1 var(--font-display)}.hdr-stats small{font-size:16px;color:#fbe9da}.hdr-ridges{position:absolute;left:0;bottom:-1px;width:100%;height:160px;display:block}.map-frame{position:relative;border:2px solid var(--ink);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-hard);background:var(--ocean)}.map-wrap{position:relative;width:100%}.map-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none}.map-svg:active{cursor:grabbing}.state-labels text{font-family:var(--font-body);font-weight:600;letter-spacing:.18em;fill:#9c8160;text-anchor:middle;pointer-events:none}.inset-label{font-family:var(--font-body);font-weight:700;letter-spacing:.14em;fill:var(--paper);text-anchor:middle}.fp{fill:#1f5a3d61;stroke:var(--pine);stroke-width:1;cursor:pointer;transition:fill .15s,opacity .15s}.fp.on{fill:#f2b33dbf;stroke:var(--ink)}.fp.dim{opacity:.25}.leaders{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.leaders line{stroke:var(--ink);stroke-width:1.3;opacity:.8}.leaders circle{fill:var(--ink)}.leaders .on line{stroke:var(--gold);stroke-width:2.5;opacity:1}.leaders .on circle{fill:var(--gold)}.badges{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.badge{position:absolute;transform:translate(-50%,-50%);padding:0;border:0;background:none;cursor:pointer;pointer-events:auto;z-index:2;transition:transform .18s ease,left .35s ease,top .35s ease;animation:pop .4s backwards}.badges.moving .badge{transition:transform .18s ease}@keyframes pop{0%{transform:translate(-50%,-50%) scale(0)}}.badge img{display:block;width:100%;height:100%;border-radius:50%;border:2.5px solid var(--paper);box-shadow:0 0 0 1.5px var(--ink);filter:saturate(.18) brightness(1.08);opacity:.82;transition:filter .18s,opacity .18s}.badge.v img{border-color:var(--gold);box-shadow:0 0 0 1.5px var(--ink),0 3px 6px #0a1e2473;filter:none;opacity:1}.chk{position:absolute;right:-12%;top:-12%;width:44%;height:44%;border-radius:50%;background:var(--gold);border:1.5px solid var(--ink);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;color:var(--ink)}.tag{position:absolute;left:50%;top:100%;transform:translate(-50%,3px);white-space:nowrap;font:700 10.5px/1 var(--font-body);color:var(--ink);background:var(--paper);border:1.5px solid var(--ink);border-radius:4px;padding:3px 6px;opacity:0;pointer-events:none;transition:opacity .15s}.badge.v .tag{opacity:1}.badge.tag-above .tag{top:auto;bottom:100%;transform:translate(-50%,-3px)}.badge.tag-right .tag{left:100%;top:50%;transform:translate(3px,-50%)}.badge.tag-left .tag{left:auto;right:100%;top:50%;transform:translate(-3px,-50%)}.badge.v.tag-hide:not(:hover,:focus-visible,.sel) .tag{opacity:0}.badge.v{z-index:3}.badge:hover,.badge:focus-visible,.badge.sel{transform:translate(-50%,-50%) scale(1.45);z-index:5}.badge:hover img,.badge:focus-visible img,.badge.sel img{filter:none;opacity:1}.badge:hover .tag,.badge:focus-visible .tag,.badge.sel .tag{opacity:1;background:var(--ink);color:var(--paper)}.badge.dim{opacity:.18}.zoom-btns{position:absolute;right:14px;top:14px;display:flex;gap:6px;z-index:6}.zoom-btns button{width:44px;height:44px;border-radius:10px;border:2px solid var(--ink);background:var(--paper);font-weight:700;font-size:20px;cursor:pointer}.map-wrap.small .tag,.map-wrap.small .badge.v .chk{display:none}@media(max-width:640px){.zoom-btns{position:static;flex-direction:row;justify-content:flex-end;padding:8px 10px;background:var(--paper-2);border-top:2px solid var(--ink)}}.grid-wrap{display:flex;flex-direction:column;gap:14px}.grid-sort{align-self:flex-end;display:flex;gap:8px;align-items:center;font-weight:600;font-size:14px}.grid-sort select{font:inherit;padding:10px 12px;min-height:44px;border:1.5px solid var(--ink);border-radius:10px;background:var(--card)}.grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px}.card{width:100%;text-align:left;padding:0;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;background:#efe7d6;border:2px solid #8a8577;border-radius:var(--radius);transition:transform .15s}.card:hover{transform:translateY(-3px)}.card-art{display:flex;justify-content:center;padding:16px;background:#e2d8c2;border-bottom:2px solid #8a8577}.card-art img{border-radius:50%;border:3.5px solid var(--paper);box-shadow:0 0 0 2px #8a8577;filter:saturate(.18) brightness(1.08);opacity:.85}.card-body{padding:12px 14px;display:flex;flex-direction:column;gap:4px}.card-name{font:700 20px/1.1 var(--font-display);color:#3e4a4e}.card-body span:not(.card-name){font-size:13px;font-weight:600;color:var(--ink-soft)}.card-v{background:var(--card);border-color:var(--ink);box-shadow:5px 5px 0 var(--sunset)}.card-v .card-art{background:linear-gradient(180deg,#d9677a,var(--sunset));border-color:var(--ink)}.card-v .card-art img{border-color:var(--gold);box-shadow:0 0 0 2px var(--ink);filter:none;opacity:1}.card-v .card-name{color:var(--ink)}.card-v .card-body span:not(.card-name){color:var(--accent-text);font-weight:700}.panel{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);z-index:50;overflow-y:auto;background:var(--paper);border-left:2px solid var(--ink);box-shadow:-8px 0 #1e2a2f26;animation:panel-in .35s cubic-bezier(.2,1.3,.4,1)}@keyframes panel-in{0%{transform:translate(100%)}}@media(max-width:640px){.panel{top:auto;height:82vh;width:100vw;border-left:0;border-top:2px solid var(--ink);border-radius:20px 20px 0 0;animation-name:sheet-in}@keyframes sheet-in{0%{transform:translateY(100%)}}}.panel-hdr{background:linear-gradient(180deg,var(--dusk) 0%,#d9677a 55%,var(--sunset) 100%);padding:16px 20px 22px;display:flex;flex-direction:column;gap:14px;border-bottom:2px solid var(--ink)}.panel-nav{display:flex;justify-content:space-between}.panel-nav>div{display:flex;gap:6px}.circ{width:44px;height:44px;border-radius:50%;border:2px solid var(--ink);background:var(--paper);font-weight:700;font-size:18px;cursor:pointer}.circ-ink{background:var(--ink);color:var(--paper)}.panel-id{display:flex;gap:18px;align-items:center}.panel-art{border-radius:50%;border:4px solid var(--paper);box-shadow:0 0 0 2px var(--ink),5px 5px 0 var(--ink);flex:0 0 auto}.panel-art.is-v{border-color:var(--gold)}.panel-names{display:flex;flex-direction:column;gap:8px;color:var(--paper)}.panel-names h2{font-size:46px;line-height:1;text-shadow:3px 3px 0 var(--ink)}.panel-names>span:first-of-type{font-size:14px;font-weight:600;color:#fff3e6}.stamp{align-self:flex-start;border:2px solid var(--ink);border-radius:6px;padding:5px 10px;font:700 13px/1 var(--font-body);letter-spacing:.12em;text-transform:uppercase;transform:rotate(-3deg)}.stamp-v{background:var(--gold);color:var(--ink)}.stamp-n{background:var(--paper);color:var(--ink-soft)}.panel-body{padding:22px 20px 28px;display:flex;flex-direction:column;gap:26px}.panel-sec{display:flex;flex-direction:column;gap:12px}.panel-sec h3{font-size:22px;display:flex;align-items:baseline;gap:8px}.panel-sec h3 small{font:600 14px var(--font-body);color:var(--ink-soft)}.visit{background:var(--card);border:2px solid var(--ink);border-radius:14px;box-shadow:4px 4px 0 var(--sunset);padding:16px;display:flex;flex-direction:column;gap:12px}.visit-top{display:flex;justify-content:space-between;align-items:center}.visit-date{font:700 18px/1 var(--font-display)}.visit-n{font:700 11px/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text)}.visit-with{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:var(--ink-soft)}.visit-note{margin:0;font-size:15px;line-height:1.5;font-style:italic}.visit-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.visit-photos button{padding:0;border:2px solid var(--ink);border-radius:10px;overflow:hidden;aspect-ratio:1;cursor:zoom-in;background:var(--paper-2)}.visit-photos img{width:100%;height:100%;object-fit:cover;display:block}.chip{border:2px solid var(--ink);border-radius:999px;padding:8px 13px;font-size:14px;font-weight:600;color:var(--ink)}.chip-pine{background:var(--pine);color:var(--paper);border:0;padding:6px 11px;font-size:13px}.chip-gold{background:var(--gold)}.chip-sky{background:var(--sky)}.chip-blush{background:var(--blush)}.chip-sand{background:var(--sand)}.chips{display:flex;flex-wrap:wrap;gap:8px}.hero{margin:0;display:flex;flex-direction:column;gap:8px}.hero img,.hero-fallback{width:100%;height:220px;object-fit:cover;border-radius:14px;border:2px solid var(--ink);display:block}.hero-fallback{display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#d9677a,var(--sunset))}.hero figcaption{font-size:11px;color:var(--ink-soft)}.panel-desc{margin:0;font-size:16px;line-height:1.6}.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tile{border:2px solid var(--ink);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:5px;background:var(--card)}.tile-k{font:700 11px/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.tile-v{font:700 24px/1 var(--font-display)}.tile-v-sm{font-size:20px;line-height:1.1}.tile-r{font-size:13px;color:var(--accent-text);font-weight:600}.getting{border-top:2px dashed #9c8160;padding-top:18px}.getting p{margin:0;font-size:15px}.getting a{font-weight:700}.viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0f1418f0;display:flex;align-items:center;justify-content:center;touch-action:pan-y}.viewer img{max-width:92vw;max-height:88vh;border-radius:8px}.viewer button{position:absolute;width:48px;height:48px;border-radius:50%;border:2px solid var(--paper);background:#1e2a2fb3;color:var(--paper);font-size:22px;cursor:pointer}.viewer-prev{left:16px}.viewer-next{right:16px}.viewer-close{top:16px;right:16px}:root{--paper: #f6eedc;--paper-2: #efe3c8;--card: #fff8ea;--ink: #1e2a2f;--ink-soft: #4a5559;--ocean: #0f4c5c;--sunset: #f26b38;--canyon: #c8402e;--pine: #1f5a3d;--sky: #7fc8d9;--gold: #f2b33d;--blush: #f29c8f;--dusk: #6b4e8c;--sand: #e9d3a8;--accent-text: #a8321f;--font-display: "Zilla Slab", Georgia, serif;--font-body: Figtree, system-ui, sans-serif;--shadow-hard: 6px 6px 0 var(--ink);--radius: 16px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body)}a{color:var(--accent-text)}a:hover{color:#7e2414}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}h1,h2,h3{font-family:var(--font-display);margin:0}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}.controls-right{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.seg{display:inline-flex;background:#eaddbf;border:1.5px solid var(--ink);border-radius:999px;padding:3px;gap:2px}.seg button{font-weight:600;font-size:14px;background:none;border:0;border-radius:999px;padding:11px 16px;min-height:44px;cursor:pointer}.seg button.on{background:var(--ink);color:var(--paper)}.legend{display:flex;gap:14px;font-size:13px;font-weight:600}.legend span{display:inline-flex;align-items:center;gap:6px}.dot{width:16px;height:16px;border-radius:50%;box-shadow:0 0 0 1.5px var(--ink)}.dot-v{background:var(--sunset);border:2.5px solid var(--gold)}.dot-n{background:#b9b2a3;border:2.5px solid var(--paper)}.page{max-width:1280px;margin:0 auto;padding:8px 32px 56px;display:flex;flex-direction:column;gap:22px}@media(max-width:640px){.page{padding:8px 16px 40px}.legend{display:none}}.timeline{display:flex;flex-direction:column;gap:14px;margin-top:18px}.tl-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.tl-head h2{font-size:34px}.tl-head span{font-size:14px;color:var(--ink-soft)}.tl-box{border:2px solid var(--ink);border-radius:var(--radius);background:var(--paper-2);padding:18px 18px 6px;display:flex;flex-direction:column;gap:12px}.tl-tbd{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-soft)}.tl-tbd span{font:700 12px/1 var(--font-body);letter-spacing:.18em;text-transform:uppercase;background:var(--ink);color:var(--paper);border-radius:999px;padding:6px 10px}.tl-row{list-style:none;margin:0;padding:4px 2px 14px;display:flex;gap:14px;overflow-x:auto}.tl-row button{width:96px;background:none;border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px}.tl-row img{border-radius:50%;border:3px solid var(--gold);box-shadow:0 0 0 1.5px var(--ink);transition:transform .15s}.tl-row button:hover img{transform:scale(1.08)}.tl-name{font-weight:600;font-size:13px;line-height:1.2;text-align:center}.tl-date{font-size:12px;color:var(--accent-text);font-weight:600}.foot{max-width:1280px;margin:0 auto;padding:0 32px 40px;font-size:13px;color:var(--ink-soft)}
