@font-face{font-family:Archivo;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(fontes/archivo.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-display:swap;src:url(fontes/plex-mono-400.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-display:swap;src:url(fontes/plex-mono-500.woff2) format("woff2")}

:root{
  --fundo:#0b0d10;--painel:rgba(13,15,19,.9);--painel2:#1b1f26;--linha:rgba(255,255,255,.1);--linha2:rgba(255,255,255,.2);
  --texto:#f3f1ea;--texto2:#b6b3ab;--texto3:#7f7c75;
  --mont:#ff5a3c;--mont2:#ff9a6b;--neve:#fbf8f0;
  --sans:Archivo,system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --m:12px;--raio:14px;--baixo:env(safe-area-inset-bottom,0px);--cima:env(safe-area-inset-top,0px);
  --larg-painel:340px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;background:var(--fundo);color:var(--texto);font:400 14px/1.4 var(--sans);-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;touch-action:manipulation}
a{color:inherit}
:focus-visible{outline:2px solid var(--mont2);outline-offset:2px}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

#mapa{position:fixed;inset:0}
body::before{content:"";position:fixed;left:0;right:0;top:0;z-index:2;height:calc(120px + var(--cima));pointer-events:none;background:linear-gradient(rgba(11,13,16,.85),rgba(11,13,16,.4) 60%,transparent)}
.maplibregl-ctrl-bottom-right{bottom:calc(var(--baixo) + 76px);z-index:3}
.maplibregl-ctrl-attrib{background:rgba(11,13,16,.7)!important;color:var(--texto3)}
.maplibregl-ctrl-attrib a{color:var(--texto2)}
.maplibregl-ctrl-group{background:var(--painel)!important;border:1px solid var(--linha)}
.maplibregl-ctrl-group button+button{border-top-color:var(--linha)!important}
.maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:invert(1)}
.controles button{width:36px!important;height:36px!important;display:grid!important;place-items:center;color:#fbf8f0!important;opacity:1!important}
.controles button:hover{background:rgba(255,255,255,.08)!important}

.topo{position:fixed;left:var(--m);top:calc(var(--m) + var(--cima));z-index:3;pointer-events:none}
h1{margin:0;font:700 24px/1 var(--sans);font-stretch:85%;letter-spacing:-.01em;text-shadow:0 1px 14px rgba(0,0,0,.8)}
h1 span{display:block;margin-top:3px;font:400 13px/1.3 var(--sans);font-stretch:100%;letter-spacing:0;color:var(--texto2)}

.seg{display:flex;flex:none;padding:3px;border-radius:999px;background:var(--painel);border:1px solid var(--linha);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.seg button{padding:7px 12px;border-radius:999px;font-size:13px;color:var(--texto2);white-space:nowrap}
.seg button[aria-pressed=true]{background:var(--texto);color:var(--fundo);font-weight:600}

/* Lista */
.painel{position:fixed;z-index:4;display:flex;flex-direction:column;gap:8px;background:var(--painel);border:1px solid var(--linha);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.painel-cabeca{display:flex;gap:8px;align-items:center}
.busca{flex:1}
.busca input{width:100%;padding:10px 14px;border-radius:999px;border:1px solid var(--linha2);background:rgba(255,255,255,.06);color:var(--texto);font:400 15px/1.2 var(--sans);outline:none}
.busca input:focus{border-color:var(--mont2)}
.busca input::placeholder{color:var(--texto3)}
.painel .seg{align-self:flex-start}
.conta{margin:0 2px;font:400 12px/1.3 var(--sans);color:var(--texto3)}
.lista{flex:1;min-height:0;overflow-y:auto;margin:0 -6px;padding:0;list-style:none;scrollbar-width:thin}
.lista li button{display:grid;grid-template-columns:28px 1fr auto;gap:2px 8px;align-items:baseline;width:100%;padding:9px 6px;border-radius:10px;text-align:left}
.lista li button:hover,.lista li button[aria-current=true]{background:rgba(255,255,255,.07)}
.lista li button[aria-current=true] .n{color:var(--mont2)}
.lista .n{font:500 12px/1.3 var(--mono);color:var(--texto3)}
.lista .nome{font:600 15px/1.2 var(--sans);font-stretch:92%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lista .nome small{font:400 12px var(--sans);color:var(--texto3);margin-left:4px}
.lista .alt{font:500 14px/1.2 var(--mono);color:var(--texto)}
.lista .sub{grid-column:2/4;font:400 12px/1.3 var(--sans);color:var(--texto2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lista .secao{padding:12px 6px 4px;font:600 11px/1.3 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--mont2)}
.lista .vazio{padding:16px 6px;color:var(--texto2)}

/* Ficha da montanha */
.ficha{position:fixed;z-index:5;overflow-y:auto;background:rgba(13,15,19,.94);border:1px solid var(--linha2);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.ficha .fechar{position:absolute;right:8px;top:8px}
.ficha .rotulo{margin:0 44px 4px 0;font:500 11px/1.3 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--mont2)}
.ficha .aqui{margin:0 44px 8px 0;padding:8px 10px;border-radius:10px;background:rgba(255,90,60,.14);border:1px solid rgba(255,90,60,.5);font:600 14px/1.3 var(--sans)}
.ficha .aqui small{display:block;font:400 11px/1.3 var(--sans);color:var(--texto2)}
.ficha h2{margin:0 44px 2px 0;font:700 26px/1.05 var(--sans);font-stretch:85%;letter-spacing:-.01em}
.ficha .trecho{margin:2px 0 0;font:400 13px/1.3 var(--sans);color:var(--texto2)}
.ficha .grande{margin:14px 0 0;font:500 46px/1 var(--mono);letter-spacing:-.03em}
.ficha .grande small{font-size:18px;color:var(--texto2);margin-left:4px}
.ficha .legenda-alt{margin:4px 0 0;color:var(--texto2)}
.ficha .mae{margin:12px 0 4px;padding:10px 12px;border-radius:10px;background:rgba(255,90,60,.10);border:1px solid rgba(255,90,60,.4);font-size:14px;line-height:1.45;color:var(--texto2)}
.ficha .mae p{margin:0}
.ficha .mae button{color:var(--texto);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--mont)}
.ficha .legenda-alt button{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--linha2)}
.ficha .nota{margin:3px 0 0;font:400 12px/1.35 var(--sans);color:var(--texto3)}
.numeros{display:grid;grid-template-columns:auto auto auto auto;justify-content:space-between;gap:8px;margin:16px 0 0;padding:12px 0;border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}
.numeros div{min-width:0}
.numeros dt{font:400 11px/1.3 var(--sans);color:var(--texto3)}
.numeros dd{margin:2px 0 0;font:500 15px/1.2 var(--mono);white-space:nowrap}
.ficha h3{margin:18px 0 6px;font:600 13px/1.3 var(--sans);color:var(--texto2)}
.picos{margin:0;padding:0;list-style:none;columns:2;column-gap:14px}
.picos li{break-inside:avoid}
.picos button{display:flex;justify-content:space-between;gap:8px;width:100%;padding:6px 0;border-bottom:1px solid var(--linha);text-align:left;font-size:13px}
.picos button span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.picos button span:last-child{flex:none;font:400 12px var(--mono);color:var(--texto2)}
.picos button:hover span:first-child{color:var(--mont2)}
.cidades{margin:0;font-size:13px;line-height:1.5;color:var(--texto2)}
.mais{margin:6px 0 0;font-size:12px;color:var(--texto3)}
.botoes{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.botoes button{padding:9px 14px;border-radius:999px;border:1px solid var(--linha2);font-size:13px;white-space:nowrap}
.botoes button.destaque{background:var(--mont);border-color:transparent;color:#1d0904;font-weight:700}
.botoes button:hover{border-color:var(--texto2)}

.fechar{flex:none;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);font-size:26px;line-height:1;color:var(--texto)}

.acoes{position:fixed;z-index:3;display:flex;gap:6px;align-items:center;overflow-x:auto;scrollbar-width:none}
.acoes::-webkit-scrollbar{display:none}
.acoes>button{flex:none;padding:10px 14px;border-radius:999px;background:var(--painel);border:1px solid var(--linha);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:13px;white-space:nowrap}
.acoes>button[aria-pressed=true]{background:var(--texto);color:var(--fundo);font-weight:600}
.acoes>button.destaque{background:var(--mont);color:#1d0904;border-color:transparent;font-weight:700}

.dica{position:fixed;z-index:3;margin:0;padding:8px 14px;border-radius:999px;background:var(--painel);border:1px solid var(--linha);font-size:13px;color:var(--texto2);pointer-events:none;transition:opacity .4s}
.dica.some{opacity:0}

.rodape{position:fixed;z-index:3;margin:0;font:400 11px/1.4 var(--sans);color:var(--texto3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 6px rgba(0,0,0,.9)}
.rodape button{text-decoration:underline;text-underline-offset:2px;color:var(--texto2)}

.sobre{max-width:560px;width:calc(100vw - 24px);max-height:85dvh;padding:22px 20px;border-radius:var(--raio);border:1px solid var(--linha2);background:#11141a;color:var(--texto)}
.sobre::backdrop{background:rgba(0,0,0,.6)}
.sobre .fechar{position:absolute;right:10px;top:10px}
.sobre h2{margin:0 40px 12px 0;font:700 22px/1.1 var(--sans);font-stretch:85%}
.sobre p{margin:0 0 12px;color:var(--texto2);line-height:1.5}
.sobre b{color:var(--texto)}
.sobre .fontes a{color:var(--mont2)}

.popup .maplibregl-popup-content{padding:7px 10px;border-radius:10px;background:rgba(13,15,19,.95);color:var(--texto);border:1px solid var(--linha2);font:500 13px/1.3 var(--sans);box-shadow:0 6px 20px rgba(0,0,0,.4)}
.popup .maplibregl-popup-content small{display:block;font:400 12px var(--mono);color:var(--texto2)}
.popup .maplibregl-popup-tip{display:none}

/* Tela larga: lista fixa à esquerda, ficha à direita */
@media (min-width:860px){
  .so-celular{display:none!important}
  .topo{left:calc(var(--larg-painel) + 2*var(--m))}
  .painel{left:var(--m);top:calc(var(--m) + var(--cima));bottom:calc(var(--baixo) + 30px);width:var(--larg-painel);padding:12px;border-radius:var(--raio)}
  .ficha{right:var(--m);top:calc(var(--m) + var(--cima));width:380px;max-height:calc(100dvh - 2*var(--m) - 40px);padding:18px;border-radius:var(--raio)}
  .acoes{left:calc(var(--larg-painel) + 2*var(--m));bottom:calc(var(--baixo) + 30px)}
  .dica{left:calc(50% + var(--larg-painel)/2);bottom:calc(var(--baixo) + 84px);transform:translateX(-50%)}
  .rodape{left:calc(var(--larg-painel) + 2*var(--m));right:var(--m);bottom:calc(var(--baixo) + 8px)}
  .maplibregl-ctrl-bottom-right{bottom:calc(var(--baixo) + 24px)}
  body:has(.ficha:not([hidden])) .maplibregl-ctrl-top-right{right:400px}
}
/* Celular: lista e ficha sobem de baixo */
@media (max-width:859px){
  .painel{left:0;right:0;bottom:0;height:72dvh;padding:14px var(--m) calc(10px + var(--baixo));border-radius:var(--raio) var(--raio) 0 0;border-bottom:0;transform:translateY(105%);transition:transform .3s ease}
  .painel.aberto{transform:none}
  .ficha{left:0;right:0;bottom:0;max-height:52dvh;padding:16px var(--m) calc(18px + var(--baixo));border-radius:var(--raio) var(--raio) 0 0;border-bottom:0}
  .ficha .grande{font-size:38px;margin-top:10px}
  .numeros{grid-template-columns:repeat(2,1fr)}
  .acoes{left:0;right:0;bottom:calc(var(--baixo) + 24px);padding:0 var(--m)}
  body:has(.ficha:not([hidden])) .acoes,body:has(.ficha:not([hidden])) .rodape,body:has(.ficha:not([hidden])) .maplibregl-ctrl-bottom-right{display:none}
  .dica{left:50%;bottom:calc(var(--baixo) + 76px);transform:translateX(-50%);white-space:nowrap}
  .rodape{left:var(--m);right:var(--m);bottom:calc(var(--baixo) + 4px)}
  .maplibregl-ctrl-top-right{top:calc(var(--cima) + 64px)}
}
