/* Summit View Finder (tools-src/summit-view). Every selector is scoped under .tl-sv */
.tl-sv{--sv-glass:rgba(28,27,27,.52);--sv-line:rgba(255,255,255,.16)}
.tl-sv .tl-lead{margin-bottom:26px}

/* hill picker */
.tl-sv .tl-sv-pick{max-width:640px;margin:0 auto 18px;position:relative;z-index:5}
.tl-sv .tl-sv-search{position:relative}
.tl-sv .tl-sv-search>svg{position:absolute;left:18px;top:50%;width:20px;height:20px;margin-top:-10px;color:#86868b;pointer-events:none}
.tl-sv .tl-sv-search input[type=search]{padding-left:48px;height:52px;font-size:17px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 12px 32px -18px rgba(0,0,0,.25)}
.tl-sv .tl-sv-search input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}
.tl-sv .tl-sv-res{position:absolute;left:0;right:0;top:calc(100% + 8px);margin:0;padding:6px;list-style:none;background:#fff;border-radius:18px;box-shadow:0 2px 6px rgba(0,0,0,.06),0 24px 48px -16px rgba(0,0,0,.3);border:1px solid rgba(0,0,0,.06);max-height:360px;overflow:auto;z-index:20}
.tl-sv .tl-sv-res[hidden]{display:none}
.tl-sv .tl-sv-res li{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:12px;cursor:pointer;min-height:40px}
.tl-sv .tl-sv-res li[aria-selected=true],.tl-sv .tl-sv-res li:hover{background:#f5f5f7}
.tl-sv .tl-sv-res li b{font:16px/1.2 'lp-outfit-700-2',Arial,sans-serif;color:#1c1b1b;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tl-sv .tl-sv-res li span{font:13px/1.2 'lp-figtree-600',Arial,sans-serif;color:#86868b;white-space:nowrap}
.tl-sv .tl-sv-res li.tl-sv-none{color:#6e6e73;cursor:default;font-size:14px}
.tl-sv .tl-sv-res li.tl-sv-none:hover{background:none}
.tl-sv .tl-sv-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:14px 0 0}
.tl-sv .tl-sv-chips button{height:36px;padding:0 16px;border-radius:999px;border:1px solid rgba(0,0,0,.1);background:#fff;color:#1c1b1b;font:14px/1 'lp-figtree-600',Arial,sans-serif;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.tl-sv .tl-sv-chips button:hover{border-color:#1c1b1b}
.tl-sv .tl-sv-chips button[aria-pressed=true]{background:#1c1b1b;color:#fff;border-color:#1c1b1b}

/* the 3D stage */
.tl-sv .tl-sv-bleed{margin:0 0 18px}
@media (min-width:751px){.tl-sv .tl-sv-bleed{width:min(1120px,calc(100vw - 48px));margin-left:calc(50% - min(1120px,calc(100vw - 48px)) / 2)}}
.tl-sv .tl-sv-stage{position:relative;height:640px;border-radius:22px;overflow:hidden;background:#1c1b1b;box-shadow:0 2px 4px rgba(0,0,0,.06),0 30px 60px -24px rgba(0,0,0,.45);touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:grab;isolation:isolate}
.tl-sv .tl-sv-stage.is-drag{cursor:grabbing}
.tl-sv .tl-sv-map{position:absolute;inset:0}
.tl-sv .tl-sv-map .mapboxgl-canvas{outline:none}
.tl-sv .tl-sv-map .mapboxgl-ctrl-bottom-right{bottom:78px;right:12px}
.tl-sv .tl-sv-map .mapboxgl-ctrl-bottom-left{bottom:78px;left:auto;right:44px}
.tl-sv .tl-sv-map .mapboxgl-ctrl-bottom-left .mapboxgl-ctrl{margin:0 0 10px}
.tl-sv .tl-sv-map .mapboxgl-ctrl-attrib{background:rgba(255,255,255,.6);font-size:10px}
.tl-sv .tl-sv-map .mapboxgl-ctrl-logo{opacity:.85}

/* labels */
.tl-sv .tl-sv-labels{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.tl-sv .tl-sv-lab{position:absolute;left:0;top:0;width:0;height:0;will-change:transform;transition:opacity .35s}
.tl-sv .tl-sv-lab.off{opacity:0;visibility:hidden}
.tl-sv .tl-sv-lab i{position:absolute;left:-3px;top:-3px;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 0 1.5px rgba(28,27,27,.55),0 0 8px rgba(255,255,255,.7)}
.tl-sv .tl-sv-lab s{position:absolute;left:-.5px;bottom:3px;width:1px;background:linear-gradient(to top,rgba(255,255,255,.95),rgba(255,255,255,.55));box-shadow:0 0 2px rgba(28,27,27,.5)}
.tl-sv .tl-sv-lab button{position:absolute;left:-4px;bottom:0;transform-origin:4px 100%;transform:rotate(-58deg);white-space:nowrap;background:none;border:0;padding:4px 4px 4px 10px;margin:0;color:#fff;cursor:pointer;pointer-events:auto;text-align:left;font:15px/1 'lp-outfit-700-2',Arial,sans-serif;letter-spacing:.005em;text-shadow:0 1px 2px rgba(28,27,27,.85),0 0 10px rgba(28,27,27,.45)}
.tl-sv .tl-sv-lab button em{font:12px/1 'lp-figtree-600',Arial,sans-serif;font-style:normal;color:rgba(255,255,255,.82);margin-left:5px}
.tl-sv .tl-sv-lab.big button{font-size:17px}
.tl-sv .tl-sv-lab.sel button{color:#fff}
.tl-sv .tl-sv-lab.sel i{background:#ed2629;box-shadow:0 0 0 2px #fff,0 0 12px rgba(237,38,41,.8)}
.tl-sv .tl-sv-lab.sel s{background:#ed2629;width:2px;left:-1px}
.tl-sv .tl-sv-lab.sel button b{background:#ed2629;border-radius:6px;padding:2px 6px;margin-left:-6px;text-shadow:none}

/* compass strip */
.tl-sv .tl-sv-compass{position:absolute;left:0;right:0;top:0;height:58px;z-index:3;pointer-events:none;background:linear-gradient(to bottom,rgba(28,27,27,.62),rgba(28,27,27,.28) 60%,rgba(28,27,27,0))}
.tl-sv .tl-sv-compass canvas{display:block;width:100%;height:100%}

/* where you are */
.tl-sv .tl-sv-here{position:absolute;left:16px;bottom:78px;z-index:3;display:flex;flex-direction:column;gap:3px;padding:10px 14px;border-radius:14px;background:var(--sv-glass);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);border:1px solid var(--sv-line);color:#fff;pointer-events:none;max-width:60%}
.tl-sv .tl-sv-here-n{font:18px/1.1 'lp-outfit-700-2',Arial,sans-serif;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tl-sv .tl-sv-here-s{font:12.5px/1.2 'lp-figtree-600',Arial,sans-serif;color:rgba(255,255,255,.78)}
.tl-sv .tl-sv-here-s:empty{display:none}

.tl-sv .tl-sv-status{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;display:flex;align-items:center;gap:10px;padding:11px 18px;border-radius:999px;background:var(--sv-glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--sv-line);color:#fff;font:14px/1.2 'lp-figtree-600',Arial,sans-serif;white-space:nowrap;transition:opacity .4s;pointer-events:none}
.tl-sv .tl-sv-status.off{opacity:0}
.tl-sv .tl-sv-spin{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;animation:tlSvSpin .8s linear infinite}
.tl-sv .tl-sv-status.err .tl-sv-spin{display:none}
@keyframes tlSvSpin{to{transform:rotate(360deg)}}

.tl-sv .tl-sv-hint{position:absolute;left:50%;top:50%;transform:translateX(-50%);z-index:3;padding:8px 14px;border-radius:999px;background:var(--sv-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font:13px/1 'lp-figtree-600',Arial,sans-serif;pointer-events:none;opacity:0;transition:opacity .5s;white-space:nowrap}
.tl-sv .tl-sv-hint.on{opacity:1}

/* bottom control bar */
.tl-sv .tl-sv-bar{position:absolute;left:16px;right:16px;bottom:16px;z-index:5;display:flex;align-items:center;gap:10px;padding:7px;border-radius:999px;background:var(--sv-glass);-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);border:1px solid var(--sv-line);max-width:640px;margin:0 auto;cursor:default}
.tl-sv .tl-sv-ib{flex:none;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .15s}
.tl-sv .tl-sv-ib:hover{background:rgba(255,255,255,.24)}
.tl-sv .tl-sv-ib svg{width:20px;height:20px}
.tl-sv .tl-sv-play .i-play,.tl-sv .tl-sv-play[aria-pressed=false] .i-pause{display:none}
.tl-sv .tl-sv-play[aria-pressed=false] .i-play{display:block}
.tl-sv .tl-sv-fs .i-close{display:none}
.tl-sv .tl-sv-stage.is-fs .tl-sv-fs .i-close{display:block}
.tl-sv .tl-sv-stage.is-fs .tl-sv-fs .i-open{display:none}
.tl-sv .tl-sv-time{flex:1;min-width:0;display:flex;align-items:center;gap:10px;color:#fff}
.tl-sv .tl-sv-time>svg{flex:none;width:20px;height:20px;color:#fff}
.tl-sv .tl-sv-tv{flex:none;min-width:62px;text-align:right;font:15px/1 'lp-outfit-700-2',Arial,sans-serif;color:#fff;padding-right:4px}
.tl-sv input[type=range]{flex:1;min-width:0;height:42px;margin:0;background:none;-webkit-appearance:none;appearance:none;cursor:pointer;touch-action:none}
.tl-sv input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:linear-gradient(to right,var(--sv-track))}
.tl-sv input[type=range]::-moz-range-track{height:6px;border-radius:999px;background:linear-gradient(to right,var(--sv-track))}
.tl-sv input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-9px;border-radius:50%;background:#fff;border:0;box-shadow:0 0 0 4px rgba(237,38,41,.9),0 2px 8px rgba(0,0,0,.4)}
.tl-sv input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:0;box-shadow:0 0 0 4px rgba(237,38,41,.9),0 2px 8px rgba(0,0,0,.4)}
.tl-sv input[type=range]:focus{outline:none}
.tl-sv input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px #3899ec,0 2px 8px rgba(0,0,0,.4)}
.tl-sv{--sv-track:rgba(28,27,27,.9),rgba(56,153,236,.9) 30%,#fff 50%,rgba(56,153,236,.9) 70%,rgba(28,27,27,.9)}

/* selected hill card */
.tl-sv .tl-sv-card{position:absolute;right:16px;top:62px;z-index:6;width:300px;background:#fff;border-radius:18px;box-shadow:0 2px 6px rgba(0,0,0,.1),0 24px 48px -16px rgba(0,0,0,.5);overflow:hidden;cursor:default;animation:tlSvIn .25s ease-out}
.tl-sv .tl-sv-card[hidden]{display:none}
@keyframes tlSvIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.tl-sv .tl-sv-x{position:absolute;right:10px;top:10px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(28,27,27,.55);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;padding:0}
.tl-sv .tl-sv-x svg{width:18px;height:18px}
.tl-sv .tl-sv-card-img{display:block;width:100%;height:130px;object-fit:cover;background:#f5f5f7}
.tl-sv .tl-sv-card-b{padding:14px 16px 16px}
.tl-sv .tl-sv-card-k{font:12px/1 'lp-figtree-600',Arial,sans-serif;color:#ed2629;letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px}
.tl-sv .tl-sv-card-n{font:21px/1.15 'lp-outfit-700-2',Arial,sans-serif;color:#1c1b1b;margin:0 0 10px}
.tl-sv .tl-sv-card-g{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px}
.tl-sv .tl-sv-card-g div{background:#f5f5f7;border-radius:10px;padding:8px 9px}
.tl-sv .tl-sv-card-g b{display:block;font:16px/1.1 'lp-outfit-700-2',Arial,sans-serif;color:#1c1b1b}
.tl-sv .tl-sv-card-g span{font:11px/1.2 'lp-figtree-600',Arial,sans-serif;color:#6e6e73}
.tl-sv .tl-sv-card-a{display:flex;gap:8px}
.tl-sv .tl-sv-card-a .tl-btn{flex:1;height:40px;padding:0 12px;font-size:14px;text-decoration:none}
.tl-sv a.tl-btn.ghost,.tl-sv a.tl-btn.ghost:visited{color:#1c1b1b}

/* no WebGL */
.tl-sv .tl-sv-nogl{position:absolute;inset:0;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:30px;text-align:center;background:#1c1b1b;color:#fff;cursor:default}
.tl-sv .tl-sv-nogl[hidden]{display:none}
.tl-sv .tl-sv-nogl svg{width:44px;height:44px;color:#ed2629}
.tl-sv .tl-sv-nogl b{font:22px/1.2 'lp-outfit-700-2',Arial,sans-serif}
.tl-sv .tl-sv-nogl span{font:15px/1.55 'lp-figtree-600',Arial,sans-serif;color:rgba(255,255,255,.75);max-width:420px}
.tl-sv .tl-sv-stage.no-gl .tl-sv-bar,.tl-sv .tl-sv-stage.no-gl .tl-sv-compass,.tl-sv .tl-sv-stage.no-gl .tl-sv-here,.tl-sv .tl-sv-stage.no-gl .tl-sv-status{display:none}

/* full screen (stage is moved to <body> while open) */
.tl-sv .tl-sv-stage.is-fs{position:fixed!important;inset:0!important;width:auto!important;height:auto!important;border-radius:0!important;z-index:2147483000;zoom:1!important;touch-action:none!important}
body.tl-sv-lock{overflow:hidden!important}
.tl-sv.tl-sv-fswrap{position:fixed;inset:0;z-index:2147483000}

/* sun controls under the stage */
.tl-sv .tl-sv-sunrow{display:flex;align-items:flex-end;gap:10px;justify-content:center;margin:0 0 16px}
.tl-sv .tl-sv-date{width:200px}
.tl-sv .tl-sv-sunrow .tl-btn{box-shadow:none}
.tl-sv .tl-sv-stats{margin:0 0 6px}
.tl-sv .tl-sv-stat-sub{display:block;font:12px/1.3 'lp-figtree-600',Arial,sans-serif;color:#86868b;margin-top:2px}

/* visible hills list */
.tl-sv .tl-sv-listnote{text-align:center;margin:-4px auto 16px;max-width:560px}
.tl-sv .tl-sv-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tl-sv .tl-sv-li{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid rgba(0,0,0,.07);cursor:pointer;text-align:left;font:inherit;color:#1c1b1b;min-height:56px;transition:border-color .15s,box-shadow .15s}
.tl-sv .tl-sv-li:hover{border-color:rgba(0,0,0,.25)}
.tl-sv .tl-sv-li.sel{border-color:#ed2629;box-shadow:0 0 0 1px #ed2629}
.tl-sv .tl-sv-dir{flex:none;width:36px;height:36px;border-radius:50%;background:#f5f5f7;display:flex;align-items:center;justify-content:center;color:#ed2629}
.tl-sv .tl-sv-dir svg{width:18px;height:18px}
.tl-sv .tl-sv-li-t{flex:1;min-width:0}
.tl-sv .tl-sv-li-t b{display:block;font:15px/1.2 'lp-outfit-700-2',Arial,sans-serif;color:#1c1b1b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tl-sv .tl-sv-li-t span{font:12.5px/1.3 'lp-figtree-600',Arial,sans-serif;color:#86868b}
.tl-sv .tl-sv-more{display:flex;justify-content:center;margin:14px 0 0}
.tl-sv .tl-sv-empty{grid-column:1/-1;text-align:center;color:#6e6e73;font-size:14px;padding:18px;background:#f5f5f7;border-radius:14px}
.tl-sv .tl-sv-how p{margin:0 0 12px}
.tl-sv .tl-sv-how p:last-child{margin:0}
.tl-sv .tl-sv-how b{font-family:'lp-outfit-700-2',Arial,sans-serif;font-weight:400;color:#1c1b1b}

@media (max-width:1000px){.tl-sv .tl-sv-list{grid-template-columns:repeat(2,1fr)}}

@media (max-width:750px){
 .tl-sv .tl-lead{margin-bottom:18px}
 .tl-sv .tl-sv-pick{margin-bottom:14px}
 .tl-sv .tl-sv-search>svg{left:14px;width:17px;height:17px;margin-top:-8.5px}
 .tl-sv .tl-sv-search input[type=search]{height:42px;font-size:14px;padding-left:38px}
 .tl-sv .tl-sv-res{border-radius:14px;max-height:280px}
 .tl-sv .tl-sv-res li{padding:8px 10px;min-height:38px}
 .tl-sv .tl-sv-res li b{font-size:14px}.tl-sv .tl-sv-res li span{font-size:11.5px}
 .tl-sv .tl-sv-chips{gap:6px;margin-top:10px}
 .tl-sv .tl-sv-chips button{height:36px;padding:0 12px;font-size:12.5px}
 /* full bleed, and undo the site's phone zoom so the 3D canvas renders sharp at real pixels */
 .tl-sv .tl-sv-bleed{margin:0 -16px 14px}
 .tl-sv .tl-sv-stage{zoom:calc(1 / var(--z,1.171875));width:calc(320px * var(--z,1.171875));height:580px;border-radius:0;box-shadow:none}
 .tl-sv .tl-sv-compass{height:50px}
 .tl-sv .tl-sv-here{left:10px;bottom:66px;padding:7px 11px;border-radius:12px;max-width:62%}
 .tl-sv .tl-sv-here-n{font-size:16px}.tl-sv .tl-sv-here-s{font-size:11.5px}
 .tl-sv .tl-sv-lab button{font-size:13.5px}.tl-sv .tl-sv-lab.big button{font-size:15px}
 .tl-sv .tl-sv-lab button em{font-size:10.5px}
 .tl-sv .tl-sv-bar{left:10px;right:10px;bottom:10px;gap:6px;padding:5px}
 .tl-sv .tl-sv-ib{width:40px;height:40px}
 .tl-sv .tl-sv-time{gap:8px}
 .tl-sv .tl-sv-time>svg{display:none}
 .tl-sv .tl-sv-tv{min-width:56px;font-size:14px}
 .tl-sv .tl-sv-map .mapboxgl-ctrl-bottom-right{bottom:60px;right:6px}
 .tl-sv .tl-sv-map .mapboxgl-ctrl-bottom-left{bottom:62px;right:42px}
 .tl-sv .tl-sv-card{left:10px;right:10px;top:auto;bottom:62px;width:auto;border-radius:16px}
 .tl-sv .tl-sv-card-img{height:96px}
 .tl-sv .tl-sv-card-b{padding:12px 14px 14px}
 .tl-sv .tl-sv-card-n{font-size:18px;margin-bottom:8px}
 .tl-sv .tl-sv-card-g b{font-size:15px}
 .tl-sv .tl-sv-nogl b{font-size:19px}.tl-sv .tl-sv-nogl span{font-size:14px}
 .tl-sv .tl-sv-sunrow{gap:8px;flex-wrap:wrap}
 .tl-sv .tl-sv-date{flex:1 1 100%;width:auto}
 .tl-sv .tl-sv-sunrow .tl-btn{flex:1;padding:0 10px}
 .tl-sv .tl-sv-stats{grid-template-columns:repeat(2,1fr);gap:8px}
 .tl-sv .tl-sv-list{grid-template-columns:1fr;gap:8px}
 .tl-sv .tl-sv-li{padding:8px 10px;min-height:50px;gap:10px;border-radius:12px}
 .tl-sv .tl-sv-dir{width:32px;height:32px}
 .tl-sv .tl-sv-li-t b{font-size:13.5px}.tl-sv .tl-sv-li-t span{font-size:11px}
 .tl-sv .tl-sv-how p{font-size:13.5px}
}
