:root{color-scheme:light;--surface-1:#fcfcfb;--page:#f9f9f7;--text-primary:#0b0b0b;--text-secondary:#52514e;--muted:#898781;--grid:#e1e0d9;--baseline:#c3c2b7;--series-1:#2a78d6;--series-1-soft:rgba(42,120,214,.14);--accent:#2a78d6;--border:hsla(0,0%,4%,.1);--chip-bg:#f0efec;--chip-on:#2a78d6;--chip-on-text:#fff;--card-hover:#f4f3f0}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--surface-1:#1a1a19;--page:#0d0d0d;--text-primary:#fff;--text-secondary:#c3c2b7;--muted:#898781;--grid:#2c2c2a;--baseline:#383835;--series-1:#3987e5;--series-1-soft:rgba(57,135,229,.18);--accent:#3987e5;--border:hsla(0,0%,100%,.1);--chip-bg:#262624;--chip-on:#3987e5;--chip-on-text:#fff;--card-hover:#222220}}:root[data-theme=dark]{color-scheme:dark;--surface-1:#1a1a19;--page:#0d0d0d;--text-primary:#fff;--text-secondary:#c3c2b7;--muted:#898781;--grid:#2c2c2a;--baseline:#383835;--series-1:#3987e5;--series-1-soft:rgba(57,135,229,.18);--accent:#3987e5;--border:hsla(0,0%,100%,.1);--chip-bg:#262624;--chip-on:#3987e5;--chip-on-text:#fff;--card-hover:#222220}*{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--page);color:var(--text-primary)}a{color:inherit;text-decoration:none}header.site{padding:14px 20px 10px;background:var(--surface-1);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px}.brand h1{font-size:20px;font-weight:700}.brand h1 span{color:var(--accent)}.brand small{color:var(--muted);font-size:12.5px}.hbtn{background:none;border:1px solid var(--border);border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer;color:var(--text-secondary)}.hbtn:hover{border-color:var(--accent);color:var(--accent)}.filters{display:flex;flex-wrap:wrap;gap:14px 22px;margin-top:12px;align-items:flex-end}.fgroup{display:flex;flex-direction:column;gap:5px}.fgroup>label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--border);background:var(--chip-bg);color:var(--text-secondary);border-radius:999px;padding:5px 12px;font-size:13px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chip:hover{border-color:var(--accent)}.chip.on{background:var(--chip-on);color:var(--chip-on-text);border-color:var(--chip-on)}.range-wrap{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}input[type=range]{accent-color:var(--accent);width:130px}.range-val{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:64px}.reset-btn{background:none;border:none;color:var(--accent);font-size:13px;cursor:pointer;padding:6px 4px;text-decoration:underline}.count{font-size:13px;color:var(--text-secondary);margin-left:auto;align-self:flex-end;padding-bottom:6px}.count b{color:var(--text-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}main.split{display:flex;min-height:0;height:calc(100vh - 165px)}.list{width:420px;max-width:45%;overflow-y:auto;flex-shrink:0;padding:12px;display:flex;flex-direction:column;gap:10px}.mapbox{flex:1 1;min-width:0}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:12px;padding:14px 16px;cursor:pointer;display:block}.card:hover{background:var(--card-hover)}.card.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.card h3{font-size:15px;font-weight:650;margin-bottom:2px}.cdot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px;vertical-align:1px}.card .sub{font-size:12.5px;color:var(--muted);margin-bottom:8px}.stats{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--text-secondary)}.stats span b{color:var(--text-primary);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dots{letter-spacing:2px;font-size:12px;color:var(--accent)}.dots .off{color:var(--grid)}.tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.tag{font-size:11.5px;color:var(--text-secondary);background:var(--chip-bg);border-radius:6px;padding:2px 8px}.tag.gps{color:#1d5c1d;background:#d8f2d8}.badge-premium{font-size:10.5px;font-weight:700;letter-spacing:.04em;color:#7a5300;background:#fde9bf;border-radius:6px;padding:2px 7px;vertical-align:2px;margin-left:6px;white-space:nowrap}.empty{color:var(--muted);padding:40px 10px}.empty,.suggest-card{font-size:14px;text-align:center}.suggest-card{border:1.5px dashed var(--baseline);background:none;color:var(--accent);font-weight:650;padding:18px 16px;font-family:inherit}.suggest-card:hover{border-color:var(--accent);background:var(--card-hover)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal{background:var(--surface-1);border:1px solid var(--border);border-radius:14px;padding:22px;width:100%;max-width:440px;box-shadow:0 20px 60px rgba(0,0,0,.35)}.modal h3{font-size:17px;margin-bottom:4px}.modal input,.modal textarea{width:100%;padding:10px;border:1px solid var(--baseline);border-radius:8px;background:var(--page);color:var(--text-primary);font-size:14px;margin-top:10px;font-family:inherit}.modal .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}footer.site{font-size:11.5px;color:var(--muted);padding:8px 20px;background:var(--surface-1);border-top:1px solid var(--border)}.track-page{max-width:860px;margin:0 auto;padding:24px 20px 60px}.track-map{height:380px;border:1px solid var(--border);border-radius:12px;overflow:hidden}@media (max-width:760px){.track-map{height:300px}}.weather-link{font-size:12.5px;color:var(--accent);text-decoration:underline;margin-left:6px}.photos-grid,.similar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:10px;gap:10px}.photos-grid a{display:block}.photos-grid a:first-child{grid-column:1/-1}.photos-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;display:block}.photos-grid a:first-child img{aspect-ratio:16/9}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:1100;display:flex;align-items:center;justify-content:center}.lightbox>img{max-width:94vw;max-height:90vh;border-radius:8px;box-shadow:0 20px 80px rgba(0,0,0,.6)}.lb-close{top:14px;right:16px;background:none;font-size:26px;padding:8px}.lb-close,.lb-nav{position:fixed;border:none;color:#fff;cursor:pointer;line-height:1}.lb-nav{top:50%;transform:translateY(-50%);background:hsla(0,0%,100%,.12);font-size:34px;border-radius:999px;width:48px;height:48px}.lb-nav:hover{background:hsla(0,0%,100%,.25)}.lb-prev{left:14px}.lb-next{right:14px}.lb-count{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);color:#ddd;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.photo-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.photo-thumb{width:120px}.photo-thumb img{width:120px;height:90px;object-fit:cover;border-radius:8px;display:block}.photo-btns{display:flex;gap:4px;justify-content:center;margin-top:4px}.admin .photo-btns button{padding:2px 8px;font-size:12px}.track-page h1{font-size:26px;margin:6px 0 2px}.track-page .sub{color:var(--muted);margin-bottom:16px}.statbar{display:flex;flex-wrap:wrap;gap:1px;border:1px solid var(--grid);border-radius:10px;overflow:hidden;margin-bottom:16px}.statbar div{flex:1 1;min-width:100px;background:var(--chip-bg);text-align:center;padding:10px 6px;font-weight:650;font-size:14px}.statbar div small{display:block;font-weight:400;font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.section{margin:22px 0}.section h2{font-size:16px;margin-bottom:8px}.section p{font-size:14.5px;line-height:1.6;color:var(--text-secondary)}.lockbox{border:1px dashed var(--baseline);border-radius:10px;padding:16px;background:var(--chip-bg)}.lockbox .lb-title{font-size:14px;font-weight:650;margin-bottom:8px}.zsu-note{font-size:13.5px;font-weight:700;color:var(--accent);margin:10px 0 2px}.lockbox ul{list-style:none;font-size:13px;color:var(--text-secondary)}.lockbox li{padding:3px 0 3px 20px;position:relative}.lockbox li:before{content:"🔒";position:absolute;left:0;font-size:10px;top:5px}.buy-btn,.gpx-btn{margin-top:12px;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:650;cursor:pointer;display:inline-block}.buy-btn:hover,.gpx-btn:hover{filter:brightness(1.08)}.buy-form input{width:100%;max-width:340px;padding:10px;border:1px solid var(--baseline);border-radius:8px;background:var(--page);color:var(--text-primary);font-size:14px;margin-top:10px;display:block}.note{font-size:12px;color:var(--muted);margin-top:8px}.admin{max-width:1000px;margin:0 auto;padding:24px 20px 60px}.admin h1{font-size:22px;margin-bottom:16px}.admin table{width:100%;border-collapse:collapse;font-size:13.5px}.admin th{text-align:left;font-size:11px;text-transform:uppercase;color:var(--muted);padding:8px;border-bottom:1.5px solid var(--text-primary)}.admin td{padding:8px;border-bottom:1px solid var(--grid)}.admin .btn,.admin button{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;display:inline-block}.admin .btn.ghost,.admin button.ghost{background:none;border:1px solid var(--baseline);color:var(--text-secondary)}.admin input,.admin select,.admin textarea{width:100%;padding:9px 10px;border:1px solid var(--baseline);border-radius:8px;background:var(--surface-1);color:var(--text-primary);font-size:14px}.admin textarea{min-height:90px;font-family:inherit}.admin .field{margin-bottom:12px}.admin .field label{display:block;font-size:11.5px;text-transform:uppercase;color:var(--muted);margin-bottom:4px;letter-spacing:.04em}.admin .grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.admin .grid4{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px}.pill{font-size:11px;border-radius:999px;padding:2px 9px}.pill.pub{background:#d8f2d8;color:#1d5c1d}.pill.draft{background:var(--chip-bg);color:var(--muted)}@media (max-width:760px){.brand small{display:none}main.split{flex-direction:column;height:auto}.list{width:100%;max-width:none;order:2}.mapbox{flex:none;height:45vh;order:1}.admin .grid4{grid-template-columns:1fr 1fr}}