.landmark-pins{position:absolute;inset:0;pointer-events:none;z-index:2}
.landmark-pin{position:absolute;width:40px;height:40px;transform:translate(-50%,-50%);display:grid;place-items:center;pointer-events:auto;color:#69785f;border-radius:50%}
.landmark-diamond{width:6px;height:6px;transform:rotate(45deg);border:1px solid currentColor;background:var(--paper);box-shadow:0 0 0 2px var(--paper)}
.landmark-pin::after{content:'';position:absolute;top:24px;height:var(--stem,14px);width:1px;background:currentColor;opacity:.3;pointer-events:none}
.landmark-pin:hover,.landmark-pin[aria-expanded=true]{color:var(--accent)}
.landmark-pin:focus-visible{outline:1px solid var(--accent);outline-offset:-6px}
.landmark-card,.elevation-card{position:fixed;inset:auto;margin:0;border:0;padding:16px;background:var(--paper);color:var(--ink);box-shadow:0 4px 24px #32382e25,0 0 0 1px #32382e18;border-radius:4px;max-width:calc(100vw - 24px);z-index:20}
.landmark-card{width:220px;padding:10px 12px;box-shadow:0 3px 14px #32382e20,0 0 0 1px #32382e14}.landmark-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.landmark-card h2{font:normal 16px/1.25 var(--serif);margin:0}.landmark-card p{font:11px/1.45 var(--mono);color:var(--muted);margin:3px 0 0}.landmark-source{position:relative;display:grid;place-items:center;flex:none;width:20px;height:20px;color:var(--muted)}.landmark-source::before{content:'';position:absolute;inset:-10px}.landmark-source svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.4}.landmark-source:hover{color:var(--accent)}.landmark-source:focus-visible{outline:1px solid var(--accent);outline-offset:2px}
.position-meta{display:flex;align-items:baseline;gap:6px;white-space:nowrap;min-width:0;overflow:hidden}.position-meta #position-date{flex:none;font-size:8px}.route-stats{font:8px/1.5 var(--mono);color:var(--muted);padding:0;min-width:0;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.route-stats:not(:disabled){cursor:pointer;text-decoration:underline;text-decoration-color:#69785f40;text-underline-offset:3px}.route-stats:not(:disabled):hover{color:var(--accent)}
.elevation-card{width:340px}.elevation-heading{display:flex;align-items:baseline;gap:12px;justify-content:space-between;font:10px/1.5 var(--mono);font-variant-numeric:tabular-nums}.elevation-heading span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.elevation-heading span:last-child{flex:none;color:var(--accent)}
.elevation-chart{position:relative;height:78px;margin-top:12px}.elevation-chart svg{display:block;width:100%;height:100%;overflow:visible}.elevation-area{fill:#69785f18}.elevation-line{fill:none;stroke:#69785f;stroke-width:1.2}.elevation-cursor{stroke:var(--accent);stroke-width:1;stroke-dasharray:2 3;opacity:.55}.elevation-dot{fill:var(--accent);stroke:var(--paper);stroke-width:1.5}.elevation-chart input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.elevation-chart:focus-within{outline:1px solid var(--accent);outline-offset:4px}.elevation-endpoints{display:flex;justify-content:space-between;font:8px/1.5 var(--mono);color:var(--muted)}.elevation-note{font:9px/1.6 var(--mono);color:var(--muted);margin:12px 0 0}
.route-overview{position:relative;flex:none;height:84px;width:100%;margin-bottom:8px;overflow:hidden}.route-overview>svg{display:block;width:100%;height:100%;overflow:visible}.overview-line{fill:none;stroke:#9c8975;stroke-width:1.2;vector-effect:non-scaling-stroke}.overview-cursor{fill:var(--accent);stroke:var(--paper);stroke-width:1.5;vector-effect:non-scaling-stroke}.overview-pins{position:absolute;inset:0;pointer-events:none}.overview-pin{position:absolute;transform:translate(-50%,-50%);width:36px;height:36px;display:grid;place-items:center;pointer-events:auto;border-radius:50%}.overview-pin span{width:7px;height:7px;border-radius:50%;background:#69785f;box-shadow:0 0 0 2px var(--paper)}.overview-pin:hover span,.overview-pin:focus-visible span{background:var(--accent);box-shadow:0 0 0 3px var(--paper),0 0 0 4px var(--accent)}.overview-pin:focus-visible{outline:1px solid var(--accent)}
#search-results [data-route-selected]{outline:2px solid var(--accent);outline-offset:-2px}
@media(max-width:1100px){.position-meta #position-date{display:none}}
@media(max-width:720px){.route-overview{height:68px}.position-meta{gap:0}.route-stats{font-size:8px}}
