:root{--bg:#0c1220;--glass:#0e1422bd;--glass-strong:#0e1422e6;--line:#ffffff17;--line-strong:#ffffff2e;--text:#eef2f8;--muted:#96a1b6;--faint:#66728a;--accent:#74cbf0;--lift:#ffd166;--hover:#ffffff0f;--active:#74cbf024;--radius:16px;--font:"Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--gutter:14px;--rail:68px;--panel:336px;--top:60px;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}#app{position:fixed;inset:0}.map{z-index:0;isolation:isolate;touch-action:none;background:radial-gradient(120% 80% at 50% 0,#3a5277 0%,#1a2740 45%,#0c1220 100%);position:absolute;inset:0}.map canvas{display:block}.label-layer{pointer-events:none;position:absolute;inset:0}.glass{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px)saturate(140%);box-shadow:0 10px 40px #00000059}.lbl{pointer-events:auto;cursor:pointer;color:#fff;white-space:nowrap;user-select:none;background:#0c1220c7;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:5px;padding:3px 8px 3px 6px;font-size:11px;font-weight:600;font-stretch:92%;transition:transform .15s,background .15s;display:inline-flex}.lbl .dot{background:var(--c);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 1.5px #fff}.lbl .dot.dashed{border-radius:2px}.lbl-lift{color:var(--lift);background:#141418d9}.lbl-lift svg{flex:none}.lbl.is-hover,.lbl.is-selected{color:#0c1220;z-index:10;background:#fff;transform:scale(1.08)}.lbl-peak{pointer-events:none;color:#fff;text-shadow:0 1px 2px #000000e6,0 0 8px #0009;flex-direction:column;align-items:center;padding-bottom:2px;font-size:11px;font-weight:650;font-stretch:95%;line-height:1.15;display:flex}.lbl-peak span{align-items:center;gap:4px;display:inline-flex}.lbl-peak svg{fill:#fff}.lbl-peak em{font-style:normal;font-family:var(--mono);opacity:.9;font-size:10px;font-weight:500}.svc-group,.svc-pin{flex-direction:column;align-items:center;gap:3px;padding-bottom:6px;display:flex;position:relative}.svc-group:after,.svc-pin:after{content:"";background:#0c1220;border-radius:1px;width:2px;height:7px;margin-left:-1px;position:absolute;bottom:0;left:50%}.svc-row{background:#0c1220d9;border-radius:7px;flex-wrap:wrap;justify-content:center;gap:2px;max-width:116px;padding:2px;display:flex}.svc-name{color:#fff;text-shadow:0 1px 2px #000000e6;white-space:nowrap;pointer-events:none;font-size:10px;font-weight:650}.svc{pointer-events:auto;color:#1592d4;background:#fff;border:1.5px solid #1592d4;border-radius:5px;place-items:center;width:24px;height:24px;transition:transform .12s,background .12s;display:grid}.svc-pin .svc{box-shadow:0 3px 8px #00000059}.svc:hover,.svc.is-selected{background:var(--accent);z-index:2;transform:scale(1.2)}.svc-medico{color:#e2262b;border-color:#e2262b}.svc-parking{color:#fff;background:#2f6fde;border-color:#fff}.glyph{font-family:var(--font);letter-spacing:-.02em;font-size:12px;font-weight:800;line-height:1}.g-escuela{font-size:9.5px}.lbl-area{pointer-events:none;color:#f2a100;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;background:#fff;border:2px solid #f2b134;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:800;font-stretch:112%;box-shadow:0 3px 10px #0000004d}.lbl-place span{opacity:.92;font-style:italic;font-weight:550}.lbl-snowshoe{color:#0c1220;background:#ffffffeb}.topbar{top:var(--gutter);left:var(--gutter);right:var(--gutter);height:var(--top);border-radius:var(--radius);z-index:5;pointer-events:none;align-items:center;gap:24px;padding:0 16px 0 12px;display:flex;position:absolute}.topbar>*{pointer-events:auto}.brand{color:inherit;align-items:center;gap:14px;text-decoration:none;display:flex}.brand-logo{width:auto;height:38px;display:block}.brand-title{border-left:1px solid var(--line-strong);letter-spacing:.01em;text-transform:uppercase;white-space:nowrap;flex-direction:column;margin:0;padding-left:14px;font-size:16px;font-weight:800;font-stretch:112%;line-height:1.1;display:flex}.brand-title span{letter-spacing:.14em;color:var(--muted);font-size:10.5px;font-weight:500;font-stretch:100%}.stats{border-left:1px solid var(--line);gap:22px;margin:0 0 0 8px;padding-left:22px;display:flex}.stats div{flex-direction:row-reverse;align-items:baseline;gap:7px;display:flex}.stats dt{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:10px}.stats dd{font-family:var(--mono);margin:0;font-size:15px;font-weight:500}.rail{top:calc(var(--gutter) * 2 + var(--top));left:var(--gutter);width:var(--rail);border-radius:var(--radius);z-index:6;flex-direction:column;gap:4px;padding:8px 6px;display:flex;position:absolute}.rail-btn{color:var(--muted);letter-spacing:.02em;border-radius:11px;flex-direction:column;align-items:center;gap:4px;padding:10px 2px 8px;font-size:10px;font-weight:600;transition:background .15s,color .15s;display:flex}.rail-btn:hover{background:var(--hover);color:var(--text)}.rail-btn[aria-pressed=true]{background:var(--active);color:var(--accent)}.panel{top:calc(var(--gutter) * 2 + var(--top));bottom:calc(var(--gutter) + 44px);left:calc(var(--gutter) * 2 + var(--rail) - 4px);width:var(--panel);border-radius:var(--radius);z-index:5;flex-direction:column;transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .25s;display:flex;position:absolute;overflow:hidden}.panel-closed .panel{opacity:0;pointer-events:none;transform:translate(-24px)}.panel-section{flex-direction:column;flex:1;min-height:0;display:none}.panel[data-tab=mapa] [data-panel=mapa],.panel[data-tab=pistas] [data-panel=pistas],.panel[data-tab=remontes] [data-panel=remontes],.panel[data-tab=servicios] [data-panel=servicios]{display:flex}.panel-head{justify-content:space-between;align-items:center;padding:16px 12px 8px 18px;display:flex}.panel-head h2{text-transform:uppercase;letter-spacing:.01em;margin:0;font-size:22px;font-weight:800;font-stretch:118%}.panel-head h2 small{font-family:var(--mono);color:var(--muted);vertical-align:middle;margin-left:6px;font-size:12px;font-weight:500}.panel-tools{border-bottom:1px solid var(--line);gap:10px;padding:4px 14px 10px;display:grid}.search{border:1px solid var(--line);height:38px;color:var(--muted);background:#ffffff0d;border-radius:11px;align-items:center;gap:8px;padding:0 12px;display:flex}.search input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line-strong);height:28px;color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.dot.dashed{border-radius:2px}.chip small{font-family:var(--mono);opacity:.7;font-size:10px}.chip:hover{color:var(--text);background:var(--hover)}.chip[aria-pressed=true]{color:#0c1220;background:#fff;border-color:#fff}.dot{background:var(--c);border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 1.5px #ffffffd9}.panel-body{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;flex:1;min-height:0;padding:6px 10px 18px;overflow-y:auto}.group-title{letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin:14px 8px 6px;font-size:10px;font-weight:600}.list ul{margin:0;padding:0;list-style:none}.item{text-align:left;border-radius:11px;align-items:center;gap:12px;width:100%;padding:8px;transition:background .12s;display:flex}.item>svg{color:var(--faint);opacity:0;transition:opacity .12s,transform .12s}.item:hover{background:var(--hover)}.item:hover>svg{opacity:1;transform:translate(2px)}.item.is-active{background:var(--active);box-shadow:inset 0 0 0 1px #74cbf066}.item.is-active>svg{opacity:1;color:var(--accent)}.item-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.item-text strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.item-text small{color:var(--muted);font-size:11.5px}.badge{background:var(--c);color:#fff;border-radius:9px;flex:none;place-items:center;width:30px;height:30px;display:grid;box-shadow:inset 0 0 0 2px #ffffffd9}.badge.d-negra{box-shadow:inset 0 0 0 2px #ffffffd9,0 0 0 1px #fff3}.badge.d-freeride{background:repeating-linear-gradient(135deg, var(--c) 0 6px, #c46a48 6px 9px)}.badge.dashed{background:repeating-linear-gradient(90deg, var(--c) 0 7px, #fff 7px 10px)}.badge.lift{color:var(--lift);box-shadow:inset 0 0 0 2px var(--lift);background:#1b1b1f}.badge.svc-badge{color:#1592d4;background:#fff;box-shadow:inset 0 0 0 2px #1592d4}.badge.svc-medico{color:#e2262b;box-shadow:inset 0 0 0 2px #e2262b}.badge.svc-parking{color:#fff;box-shadow:none;background:#2f6fde}.item.is-disabled{cursor:default;opacity:.55}.item.is-disabled:hover{background:0 0}.badge b{font-weight:800}.empty{color:var(--muted);text-align:center;padding:20px 10px}.wide-btn{color:#0c1220;background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;height:42px;margin-top:4px;font-weight:700;display:flex}.wide-btn:hover{background:var(--accent)}.toggles{grid-template-columns:1fr 1fr;gap:6px;display:grid}.toggle{border:1px solid var(--line);cursor:pointer;background:#ffffff0a;border-radius:11px;align-items:center;gap:10px;padding:9px 10px;font-size:13px;font-weight:600;display:flex}.toggle input{opacity:0;pointer-events:none;position:absolute}.switch{background:#ffffff2e;border-radius:999px;flex:none;width:28px;height:16px;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .15s;position:absolute;top:2px;left:2px}.toggle input:checked+.switch{background:var(--accent)}.toggle input:checked+.switch:after{background:#0c1220;transform:translate(12px)}.toggle input:focus-visible+.switch{outline:2px solid var(--accent);outline-offset:2px}.legend-list,.peak-list,.help-list{gap:8px;margin:0;padding:0 8px;list-style:none;display:grid}.legend-list li,.peak-list li{align-items:center;gap:10px;display:flex}.peak-list span{flex:1}.peak-list em,.help-list kbd{font-style:normal;font-family:var(--mono);color:var(--muted);font-size:11.5px}.peak-list svg{fill:var(--muted);color:var(--muted)}.help-list li{color:var(--muted);font-size:13px}.help-list kbd{min-width:92px;color:var(--text);display:inline-block}.swatch{background:var(--c);border-radius:3px;flex:none;width:22px;height:5px;display:inline-block;box-shadow:0 0 0 1.5px #fff}.swatch[data-d=freeride]{background:repeating-linear-gradient(90deg, var(--c) 0 5px, #7a3b22 5px 8px);box-shadow:none}.swatch[data-d=trace]{height:3px;box-shadow:none}.legend-list .grow{flex:1}.legend-list .mono{font-style:normal;font-family:var(--mono);color:var(--muted);font-size:11.5px}.legend-list .note{color:var(--faint);font-size:11px}.legend-list.zones li{color:var(--muted);font-size:13px}.swatch.lift{box-shadow:0 0 0 1.5px var(--c);background:#1b1b1f}.swatch.dashed{background:repeating-linear-gradient(90deg, var(--c) 0 5px, transparent 5px 8px);box-shadow:none}.controls{right:var(--gutter);bottom:calc(var(--gutter) + 44px);z-index:5;border-radius:14px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute}.icon-btn{width:36px;height:36px;color:var(--muted);border-radius:10px;place-items:center;transition:background .15s,color .15s;display:grid}.icon-btn:hover{background:var(--hover);color:var(--text)}.compass-needle{color:#ff6b6b;place-items:center;display:grid}.compass-needle svg path:first-child{color:var(--text)}.legend{left:50%;bottom:calc(var(--gutter) + 26px);z-index:4;white-space:nowrap;border-radius:999px;gap:16px;padding:8px 14px;font-size:12px;font-weight:600;display:flex;position:absolute;transform:translate(-50%)}.legend span{align-items:center;gap:7px;display:inline-flex}.legend .swatch{width:16px}.panel-closed .legend{left:50%}.credits{text-align:center;font-family:var(--mono);color:#ffffff8c;text-shadow:0 1px 2px #000c;pointer-events:none;z-index:3;padding:0 12px;font-size:10px;position:absolute;bottom:6px;left:0;right:0}.card{top:calc(var(--gutter) * 2 + var(--top));right:var(--gutter);min-width:240px;max-width:min(360px, calc(100vw - 2 * var(--gutter)));z-index:6;border-radius:14px;align-items:center;gap:12px;padding:10px 8px 10px 12px;animation:.25s card-in;display:flex;position:absolute}.card-badge{width:36px;height:36px}.card-text{flex-direction:column;flex:1;min-width:0;display:flex}.card-kind{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:10px}.card-name{white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:750;font-stretch:105%;overflow:hidden}@keyframes card-in{0%{opacity:0;transform:translateY(-6px)}}.made-by{color:var(--muted);letter-spacing:.04em;border-radius:10px;align-items:center;gap:9px;margin-left:auto;padding:6px 10px 6px 12px;font-size:11px;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.made-by img{width:auto;height:20px;display:block}.made-by:hover{background:var(--hover);color:var(--text)}.panel-made-by{border:1px solid var(--line);justify-content:center;width:100%;margin:22px 0 4px}.layers{right:calc(var(--gutter) + 60px);bottom:calc(var(--gutter) + 44px);z-index:6;align-items:flex-end;gap:8px;display:flex;position:absolute}.layers-toggle{border:2px solid #ffffffe6;border-radius:14px;width:74px;height:74px;transition:transform .15s;position:relative;overflow:hidden;box-shadow:0 8px 26px #00000073}.layers-toggle:hover{transform:translateY(-1px)}.layers-thumb{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.layers-label{color:#fff;background:linear-gradient(#0000,#000000bf);justify-content:center;align-items:center;gap:4px;padding:14px 4px 5px;font-size:11px;font-weight:700;display:flex;position:absolute;bottom:0;left:0;right:0}.layers-spinner{opacity:0;border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin;position:absolute;top:6px;right:6px}.layers.is-loading .layers-spinner{opacity:1}@keyframes spin{to{transform:rotate(360deg)}}.layers-options{opacity:0;pointer-events:none;border-radius:14px;gap:6px;padding:8px;transition:opacity .18s,transform .22s cubic-bezier(.2,.8,.2,1);display:flex;transform:translate(10px)}.layers.is-open .layers-options{opacity:1;pointer-events:auto;transform:none}.layer-opt{width:64px;color:var(--muted);flex-direction:column;align-items:center;gap:5px;font-size:11px;font-weight:600;display:flex}.layer-opt img{object-fit:cover;border:2px solid #0000;border-radius:10px;width:64px;height:64px;transition:border-color .15s,transform .15s}.layer-opt:hover img{transform:scale(1.04)}.layer-opt:hover{color:var(--text)}.layer-opt[aria-checked=true]{color:var(--accent)}.layer-opt[aria-checked=true] img{border-color:var(--accent)}.layer-grid{grid-template-columns:repeat(4,1fr);gap:8px;padding:0 4px;display:grid}.layer-grid .layer-opt{width:auto}.layer-grid .layer-opt img{aspect-ratio:1;width:100%;height:auto}.loader{z-index:50;background:radial-gradient(120% 80% at 50% 0,#22324f 0%,#0c1220 70%);place-items:center;transition:opacity .6s;display:grid;position:absolute;inset:0}.loader.is-done{opacity:0;pointer-events:none}.loader-inner{justify-items:center;gap:14px;width:240px;display:grid}.loader-logo{width:200px;height:auto}.loader-title{letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:0;font-size:15px;font-weight:800;font-stretch:118%}.bar{background:#ffffff1a;border-radius:3px;width:100%;height:3px;overflow:hidden}.bar i{background:var(--accent);width:0;height:100%;transition:width .3s;display:block}.loader-text{font-family:var(--mono);color:var(--muted);margin:0;font-size:11px}@media (width<=760px){:root{--gutter:10px;--top:52px}.topbar{gap:12px;padding:0 12px 0 8px}.brand{gap:10px;min-width:0}.brand-logo{height:30px}.brand-title{padding-left:10px;font-size:12px}.brand-title span{display:none}.stats{border-left:0;gap:12px;margin-left:auto;padding-left:0}.stats div{flex-direction:column-reverse;align-items:center;gap:0}.stats dt{letter-spacing:.08em;font-size:8.5px}.stats div:nth-child(3){display:none}.rail{top:auto;bottom:calc(var(--gutter) + env(safe-area-inset-bottom));left:var(--gutter);right:var(--gutter);flex-direction:row;width:auto;padding:6px}.rail-btn{flex:1;padding:8px 2px 6px}.panel{top:auto;left:var(--gutter);right:var(--gutter);width:auto;bottom:calc(var(--gutter) * 2 + 66px + env(safe-area-inset-bottom));height:min(58vh,520px)}.panel-closed .panel{transform:translateY(24px)}.legend{display:none}.controls{bottom:auto;top:calc(var(--gutter) * 2 + var(--top))}.card{top:auto;right:auto;left:var(--gutter);bottom:calc(var(--gutter) * 2 + 66px + env(safe-area-inset-bottom));max-width:calc(100vw - 2 * var(--gutter));width:calc(100vw - 2 * var(--gutter))}#app:not(.panel-closed) .card,.credits,.topbar .made-by{display:none}.layers{right:var(--gutter);bottom:auto;top:calc(var(--gutter) * 3 + var(--top) + 202px);flex-direction:row-reverse;align-items:flex-start}.layers-options{position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-6px)}.layers-toggle{width:60px;height:60px}#app:not(.panel-closed) .layers{display:none}.layer-opt,.layer-opt img{width:54px}.layer-opt img{height:54px}}
