:root{font:16px system-ui,-apple-system,sans-serif;color:#f9f1d9;background:#183c34;--panel:#2b291ff2;--line:#d1ad6f70;--gold:#f4cf83;--muted:#d5cbb5}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #fff4ac;outline-offset:2px}[hidden]{display:none!important}.portal{position:relative;width:100%;height:100vh;height:100dvh;min-height:500px;overflow:hidden}#map{position:absolute;inset:0;background:#b5d1ae}.map-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#18302733,transparent 38%)}.search-panel,.course-panel{position:absolute;z-index:500;width:min(410px,calc(100% - 24px));left:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:0 14px 45px #1725196e;backdrop-filter:blur(7px)}.search-panel{top:16px;padding:16px}.brand-row,.panel-head{display:flex;justify-content:space-between;align-items:start;gap:10px}.eyebrow{margin:0 0 5px;color:var(--gold);font-weight:850;letter-spacing:.08em;font-size:.66rem}h1{margin:0 0 12px;line-height:1.2;font-size:1.42rem;letter-spacing:-.04em}h2{margin:0;font-size:1.2rem}.route-count{color:var(--gold);font-size:.72rem;white-space:nowrap}.search-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.search-row{display:flex;gap:6px}.search-row input{width:100%;min-width:0;height:46px;padding:0 12px;border:1px solid #b99962;border-radius:9px;background:#483b2c;color:#fff3d9}.search-row input::placeholder{color:#c7bcae}.search-row button,.mode-row button,.close{min-height:44px;border:1px solid #ae8955;border-radius:9px;background:#4a3929;color:#fff2d7;font-weight:750}.search-row button{padding:0 12px;flex:none;white-space:nowrap}.mode-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:7px}.mode-row button[aria-pressed=true]{background:#705435;border-color:#f4cf83;color:#fff4c6}.results{margin-top:12px;max-height:min(43dvh,390px);overflow:auto;border-top:1px solid var(--line)}.results-title{margin:10px 0 6px;color:var(--gold);font-size:.8rem}.result-row{display:block;width:100%;padding:10px;border:0;border-bottom:1px solid #bd9b6b47;background:transparent;color:inherit;text-align:left}.result-row strong,.result-row small{display:block}.result-row small{margin-top:3px;color:var(--muted)}.result-row:hover,.result-row:focus-visible{background:#73543788}.empty{color:var(--muted);font-size:.85rem}.course-panel{bottom:18px;max-height:min(63dvh,680px);display:flex;flex-direction:column;padding:14px;overflow:hidden}.close{width:36px;min-height:36px;font-size:1.3rem}.mountain-routes{overflow:auto;min-height:0;margin-top:9px}.route-option{display:block;width:100%;min-height:52px;margin:4px 0;padding:8px 11px;border:1px solid #a27b49;border-radius:9px;background:#4a3928;color:inherit;text-align:left}.route-option[aria-pressed=true]{border-color:#f4cf83;background:#6b5231}.route-option strong,.route-option small{display:block}.route-option strong{font-size:.86rem}.route-option small{margin-top:2px;color:#e5d5b4;font-size:.72rem}.route-option[aria-pressed=true] strong{color:#fff3bf}details{margin-top:8px;border-top:1px solid #a4875866;overflow:auto}summary{padding:11px 2px;color:var(--gold);font-size:.8rem;font-weight:750;cursor:pointer;min-height:40px}.details-body{font-size:.8rem;line-height:1.55;color:#e9dfcd}.details-body p{margin:6px 0}.details-body a{color:#ffdc92}.source-label{color:var(--gold);font-weight:800}.details-body ol{padding-left:21px}.details-body li{margin:4px 0}.small{font-size:.73rem;color:#d5cbb5;line-height:1.5}.course-action{flex:none;padding-top:8px;border-top:1px solid #a4875866}.game-note{margin:2px 0 8px;color:#e2d2aa;font-size:.72rem}.primary{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:10px 13px;border-radius:9px;background:var(--gold);color:#322513;text-decoration:none;font-weight:850;font-size:.86rem}.course-action .small{margin:5px 0 0}.map-status{position:absolute;z-index:400;top:220px;left:16px;padding:10px 13px;border-radius:9px;background:#352a1fee;color:#fff2d7;font-size:.8rem;max-width:390px}.map-credit{position:absolute;z-index:400;right:7px;bottom:0;margin:0;padding:3px 6px;border-radius:5px 5px 0 0;background:#ffffffd9;color:#2b3a30;font-size:.64rem}.map-credit a{color:inherit}.leaflet-container{font:inherit}.leaflet-control-attribution{display:none}.leaflet-control-zoom{margin-top:240px!important}.mountain-marker{display:grid;place-items:center;min-width:34px;height:34px;border:2px solid #fff4c5;border-radius:50%;background:#214e3d;color:white;box-shadow:0 2px 8px #1e241faa;font-weight:900;font-size:1rem}.mountain-marker span{position:absolute;top:36px;left:50%;transform:translateX(-50%);padding:3px 7px;border-radius:5px;background:#15342b;color:#fff;white-space:nowrap;font-size:.69rem}.mountain-marker.selected{background:#f3b958;color:#332818}.destination-marker{display:grid;place-items:center;width:36px;height:36px;border:3px solid #fff4bf;border-radius:50%;background:#e7a531;color:#352817;box-shadow:0 3px 10px #0009;font-weight:900}.destination-marker span{position:absolute;top:38px;left:50%;transform:translateX(-50%);padding:3px 7px;border-radius:4px;background:#18362c;color:white;white-space:nowrap;font-size:.7rem}.leaflet-tooltip{font-size:.72rem}@media(max-width:700px){.search-panel{top:10px;left:10px;width:calc(100% - 20px);padding:12px}.course-panel{bottom:10px;left:10px;width:calc(100% - 20px);max-height:min(49dvh,470px)}.leaflet-control-zoom{margin-top:216px!important}.map-shade{background:linear-gradient(180deg,#122d2440,transparent 45%)}.map-status{top:210px;left:10px}.map-credit{font-size:.55rem}}@media(max-width:380px){h1{font-size:1.2rem}.course-panel{max-height:47dvh}.route-option{min-height:46px}}
