/* Zona da Morte · 8.849 metros · visual de instrumento de alta montanha.
   Fontes livres (SIL OFL 1.1), locais: Archivo (variável, largura e peso) e JetBrains Mono.
   Licenças em fontes/OFL-archivo.txt e fontes/OFL-jetbrains-mono.txt. */
@font-face{font-family:'Archivo Z';font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url('fontes/archivo-variavel-latin-wdth.woff2') format('woff2-variations'),url('fontes/archivo-variavel-latin-wdth.woff2') format('woff2')}
@font-face{font-family:'Mono Z';font-style:normal;font-weight:500;font-display:swap;src:url('fontes/jetbrains-mono-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Mono Z';font-style:normal;font-weight:700;font-display:swap;src:url('fontes/jetbrains-mono-latin-700-normal.woff2') format('woff2')}

:root{
  --fundo:#05080d; --fundo2:#0a111b; --vidro:rgba(12,20,32,.78); --linha:rgba(190,220,240,.14); --linha2:rgba(190,220,240,.28);
  --neve:#F2F7FB; --gelo:#BFDDF0; --gelo2:#7FA6C2; --apagado:#6E8396;
  --o2:#5EE6B5; --coral:#FF5E4D; --ouro:#E9B949; --ouro2:#FFD77A;
  --display:'Archivo Z','Archivo',Arial,sans-serif; --mono:'Mono Z',ui-monospace,Menlo,Consolas,monospace; --sans:'Archivo Z','Archivo',Arial,sans-serif;
  --topo:4.1rem; --barra:4.9rem; --painel:38%;
  color-scheme:dark;
}
html{font-size:clamp(10.5px,min(.9vw,1.62vh),21px);background:var(--fundo)}
*{box-sizing:border-box}
body{margin:0;background:var(--fundo);color:var(--neve);font-family:var(--sans);font-stretch:100%;overflow:hidden;height:100vh;height:100dvh;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
button:focus-visible{outline:2px solid var(--gelo);outline-offset:2px}
svg{display:block}
.mono{font-family:var(--mono)}

#app{position:fixed;inset:0;display:grid;grid-template-columns:1fr var(--painel);grid-template-rows:var(--topo) 1fr var(--barra);grid-template-areas:"topo topo" "mapa painel" "barra barra"}
@media (max-aspect-ratio:3/2){:root{--painel:42%}}

/* ── topo ── */
#topo{grid-area:topo;display:flex;align-items:center;gap:1.6rem;padding:0 1.4rem;border-bottom:1px solid var(--linha);background:linear-gradient(#070b12,#060a10);position:relative;z-index:5}
.marca{display:flex;align-items:baseline;gap:.7rem;white-space:nowrap}
.marca b{font:850 1.25rem/1 var(--display);font-stretch:125%;letter-spacing:.04em}
.marca span{font:700 .95rem/1 var(--mono);color:var(--gelo2)}
.fase{flex:1;min-width:0;display:flex;align-items:baseline;gap:.9rem;white-space:nowrap;overflow:hidden}
.fase b{font:800 1.12rem/1 var(--display);font-stretch:118%;letter-spacing:.05em;text-transform:uppercase}
.fase span{font:500 .92rem/1.1 var(--mono);color:var(--gelo2);overflow:hidden;text-overflow:ellipsis}
.relogio-oficial{display:flex;flex-direction:column;align-items:flex-end;line-height:1;white-space:nowrap}
.relogio-oficial small{font:600 .62rem/1 var(--mono);letter-spacing:.14em;color:var(--apagado);margin-bottom:.25rem}
.relogio-oficial b{font:800 1.35rem/1 var(--mono);letter-spacing:.02em}
.relogio-oficial i{font:500 .82rem/1.1 var(--mono);font-style:normal;color:var(--gelo2)}
.regra{display:flex;flex-direction:column;align-items:center;padding:.35rem .8rem;border:1px solid rgba(255,94,77,.55);border-radius:.35rem;background:rgba(255,94,77,.08);white-space:nowrap}
.regra span{font:700 .58rem/1 var(--mono);letter-spacing:.16em;color:#FF9C90}
.regra b{font:850 1.3rem/1.05 var(--display);font-stretch:125%;color:#FFD9D4}
.previsao{display:flex;flex-direction:column;align-items:flex-end;min-width:9.5rem;white-space:nowrap}
.previsao small{font:600 .62rem/1 var(--mono);letter-spacing:.14em;color:var(--apagado);margin-bottom:.25rem}
.previsao b{font:700 1rem/1 var(--mono)}
.previsao.muda b{color:var(--coral)}

/* ── mapa ── */
#mapa{grid-area:mapa;position:relative;overflow:hidden;background:#091424}
#ceu{position:absolute;inset:0;transition:background 2.4s ease;background:linear-gradient(180deg,var(--ceu1,#081426) 0%,var(--ceu2,#14304f) 62%,var(--ceu3,#2b4c6c) 100%)}
#ceu::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 60% at 70% 105%,var(--brilho,rgba(255,170,120,0)) 0%,transparent 60%);transition:background 2.4s ease}
#estrelas{position:absolute;inset:0;opacity:0;transition:opacity 2.4s ease;background-image:radial-gradient(1px 1px at 12% 18%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 27% 8%,#dfe9ff 50%,transparent 51%),radial-gradient(1.4px 1.4px at 41% 22%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 55% 12%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 67% 28%,#cfe 50%,transparent 51%),radial-gradient(1.3px 1.3px at 79% 9%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 88% 20%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 6% 33%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 34% 36%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 93% 38%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 18% 4%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 61% 4%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 48% 31%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 73% 17%,#fff 50%,transparent 51%)}
#svg{position:absolute;inset:0;width:100%;height:100%}
#neve{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#marcas{position:absolute;inset:0;pointer-events:none}
#palco{position:absolute;inset:0;pointer-events:none;display:flex;align-items:center;justify-content:center}

/* desenho da montanha (SVG) */
.serra-fundo{fill:#0d1a2b;opacity:.85}
.serra-meio{fill:#122438}
.montanha{fill:url(#g-rocha)}
.neve-crista{fill:none;stroke:rgba(235,245,255,.75);stroke-width:2.2;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.grade line{stroke:rgba(190,220,240,.09);stroke-width:1;vector-effect:non-scaling-stroke}
.grade text{fill:rgba(190,220,240,.42);font:500 13px var(--mono)}
.linha8000{stroke:var(--coral);stroke-width:1.6;stroke-dasharray:7 6;vector-effect:non-scaling-stroke;opacity:.9}
.rot8000{fill:#FF8E80;font:700 13px var(--mono);letter-spacing:.12em}
.zona-faixa{fill:url(#g-zona)}
.rota{fill:none;stroke:rgba(242,247,251,.55);stroke-width:1.6;stroke-dasharray:2 6;stroke-linecap:round;vector-effect:non-scaling-stroke}
.no-ponto{fill:#0b1522;stroke:rgba(242,247,251,.8);stroke-width:1.6;vector-effect:non-scaling-stroke}
.no-camp{fill:var(--neve)}
.no-rot{fill:rgba(242,247,251,.86);font:700 14px var(--mono);letter-spacing:.06em}
.no-alt{fill:rgba(191,221,240,.6);font:500 12px var(--mono)}
.tr-rot{fill:rgba(191,221,240,.45);font:500 11.5px var(--mono);letter-spacing:.04em;font-style:italic}
.corda{fill:none;stroke:var(--ouro);stroke-width:5;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:url(#f-brilho)}
.corda-nova{animation:desenhaCorda 1.6s cubic-bezier(.4,0,.2,1) both}
@keyframes desenhaCorda{from{stroke-dashoffset:var(--comp)}to{stroke-dashoffset:0}}
.cume-bandeira{fill:var(--neve)}
.trilha{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.95}
.trilha-nova{animation:desenhaCorda 2.2s cubic-bezier(.4,0,.2,1) both}
.estreito{fill:none;stroke:rgba(255,94,77,.35);stroke-width:10;stroke-linecap:round;vector-effect:non-scaling-stroke}

/* marcadores das cordadas (HTML, por cima do SVG) */
.mk{position:absolute;left:0;top:0;width:0;height:0;transition:transform 1.1s cubic-bezier(.55,0,.25,1);will-change:transform}
.mk .pino{position:absolute;left:-1.05rem;bottom:.55rem;width:2.1rem;height:2.1rem;border-radius:50% 50% 50% 8%;transform:rotate(-45deg);background:var(--c);box-shadow:0 0 0 2px rgba(5,8,13,.85),0 .35rem 1.2rem rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;transition:background .4s,opacity .6s,box-shadow .4s}
.mk .pino b{transform:rotate(45deg);font:850 1.1rem/1 var(--display);font-stretch:112%;color:#081018}
.mk .haste{position:absolute;left:-1px;bottom:0;width:2px;height:.7rem;background:var(--c);opacity:.8}
.mk.foco .pino{box-shadow:0 0 0 2px rgba(5,8,13,.85),0 0 0 .4rem color-mix(in srgb,var(--c) 45%,transparent),0 .35rem 1.2rem rgba(0,0,0,.55)}
.mk .tag{position:absolute;left:50%;bottom:3.05rem;transform:translateX(-50%);font:700 .66rem/1 var(--mono);letter-spacing:.1em;padding:.22rem .4rem;border-radius:.25rem;white-space:nowrap;background:rgba(5,8,13,.85);color:var(--neve);opacity:0;transition:opacity .3s}
.mk .tag.on{opacity:1}
.mk.sos .pino{animation:sos 1.4s ease-in-out infinite}
.mk.sos .tag{background:var(--coral);color:#140504}
@keyframes sos{0%,100%{box-shadow:0 0 0 2px rgba(5,8,13,.85),0 0 0 0 rgba(255,94,77,.7)}50%{box-shadow:0 0 0 2px rgba(5,8,13,.85),0 0 0 .8rem rgba(255,94,77,0)}}
.mk.fila .tag{background:#2b1b07;color:var(--ouro2);border:1px solid rgba(233,185,73,.5)}
#marcas.final .mk .tag{display:none}
#marcas.final .mk.perdida{display:none}
.rot-fila{position:absolute;left:0;top:0;font:700 .7rem/1 var(--mono);letter-spacing:.12em;color:var(--ouro2);padding:.25rem .45rem;border-radius:.25rem;background:rgba(43,27,7,.92);border:1px solid rgba(233,185,73,.55);white-space:nowrap;opacity:0;transition:opacity .4s}
.rot-fila.on{opacity:1}
.mk.perdida .pino{background:transparent;box-shadow:0 0 0 2px rgba(190,220,240,.45);opacity:.55}
.mk.perdida .pino b{color:rgba(190,220,240,.6)}
.mk.perdida .haste{opacity:.25}
.mk.cume .bandeira{display:block}
.mk .bandeira{display:none;position:absolute;left:.9rem;bottom:2.1rem;width:1.1rem;height:1.1rem;color:var(--c)}
.mk-alp{position:absolute;left:0;top:0;width:0;height:0;transition:transform 1s, opacity 1s}
.mk-alp .pino{position:absolute;left:-.8rem;bottom:.45rem;width:1.6rem;height:1.6rem;border-radius:50%;background:transparent;border:2px dashed #dfe8f0;display:flex;align-items:center;justify-content:center;font:800 .8rem/1 var(--display);color:#dfe8f0}
.mk-alp.caido .pino{animation:sos 1.4s ease-in-out infinite;border-color:var(--coral);color:var(--coral)}
.mk-alp .tag{position:absolute;left:50%;top:.6rem;transform:translateX(-50%);white-space:nowrap;font:700 .62rem/1 var(--mono);letter-spacing:.1em;padding:.2rem .35rem;border-radius:.25rem;background:rgba(5,8,13,.85)}

/* rótulos do mapa */
.dot{position:absolute;left:0;top:0;width:.62rem;height:.62rem;margin:-.31rem 0 0 -.31rem;border-radius:50%;background:#0b1522;border:1.5px solid rgba(242,247,251,.8);transition:opacity .6s}
.dot.camp{background:var(--neve);width:.8rem;height:.8rem;margin:-.4rem 0 0 -.4rem;border-radius:.15rem;transform-origin:center}
.dot.topo{background:var(--neve);width:.95rem;height:.95rem;margin:-.48rem 0 0 -.48rem;border:2px solid #fff;box-shadow:0 0 1.2rem rgba(255,255,255,.6)}
.rot-no{position:absolute;left:0;top:0;display:flex;flex-direction:column;gap:.12rem;white-space:nowrap;transition:opacity .6s;text-shadow:0 1px 6px rgba(0,0,0,.8)}
.rot-no b{font:700 .78rem/1 var(--mono);letter-spacing:.08em;color:rgba(242,247,251,.92)}
.rot-no span{font:500 .7rem/1 var(--mono);color:rgba(191,221,240,.66)}
.rot-no.cume b{font:850 1rem/1 var(--display);font-stretch:125%;letter-spacing:.06em;color:#fff}
.rot-no.cume span{font:700 .82rem/1 var(--mono);color:var(--gelo)}
.rot-grade{position:absolute;left:0;top:0;font:500 .66rem/1 var(--mono);color:rgba(190,220,240,.4);white-space:nowrap}
.rot-8000{position:absolute;left:0;top:0;font:700 .7rem/1 var(--mono);letter-spacing:.14em;color:#FF8E80;white-space:nowrap;text-shadow:0 1px 6px rgba(0,0,0,.8)}
.rot-8000 b{font-weight:700;color:#FFB3A8}
#marcas.sem-trans .mk{transition:none}
.trilha-rot{position:absolute;left:0;top:0;display:flex;align-items:center;gap:.35rem;font:700 .74rem/1 var(--mono);letter-spacing:.04em;color:var(--neve);white-space:nowrap;padding:.22rem .45rem .22rem .22rem;border-radius:.3rem;background:rgba(5,8,13,.82);border:1px solid color-mix(in srgb,var(--c) 60%,transparent);opacity:0;animation:apar .6s ease forwards}
@keyframes apar{to{opacity:1}}
.trilha-rot i{font-style:normal;width:1.15rem;height:1.15rem;border-radius:.2rem;background:var(--c);color:#081018;display:flex;align-items:center;justify-content:center;font:850 .72rem/1 var(--display)}
.trilha-rot.corda-rot{padding:.1rem .25rem;font-size:.9rem;color:var(--ouro);border-color:var(--ouro);background:rgba(20,14,2,.85)}
.chips{display:flex;gap:.25rem;flex-wrap:wrap;justify-content:flex-end}

/* rádio da base: faixa por cima do mapa */
.radio{position:absolute;left:1.2rem;right:auto;max-width:min(52rem,calc(100% - 2.4rem));top:1rem;display:flex;align-items:flex-start;gap:.9rem;padding:.8rem 1.1rem;border-radius:.45rem;background:rgba(6,10,16,.86);border:1px solid var(--linha2);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transform:translateY(-140%);opacity:0;transition:transform .55s cubic-bezier(.3,.7,.2,1),opacity .4s;z-index:3}
.radio.on{transform:none;opacity:1}
.radio .ant{flex:none;font:700 .66rem/1 var(--mono);letter-spacing:.16em;color:var(--o2);padding:.35rem .5rem;border:1px solid rgba(94,230,181,.45);border-radius:.25rem;display:flex;gap:.45rem;align-items:center;margin-top:.1rem}
.radio .ant i{width:.45rem;height:.45rem;border-radius:50%;background:var(--o2);animation:pisca 1s steps(2) infinite}
.radio.alerta .ant{color:var(--coral);border-color:rgba(255,94,77,.6)}
.radio.alerta .ant i{background:var(--coral)}
.radio p{margin:0;font:500 1.18rem/1.32 var(--sans);color:var(--neve)}
.radio p b{font-weight:750}
@keyframes pisca{50%{opacity:.15}}

/* ── painel das cordadas ── */
#painel{grid-area:painel;display:grid;grid-auto-rows:1fr;gap:.45rem;padding:.6rem .7rem .6rem .6rem;border-left:1px solid var(--linha);background:linear-gradient(180deg,#070c14,#05080d);overflow:hidden;min-height:0}
.cd{--c:#fff;position:relative;display:grid;grid-template-columns:.42rem minmax(0,1.15fr) minmax(0,1.25fr) minmax(0,.9fr);gap:0 .8rem;align-items:stretch;padding:.5rem .7rem .5rem 0;border-radius:.45rem;background:var(--vidro);border:1px solid var(--linha);min-height:0;overflow:hidden;transition:border-color .3s,background .3s,opacity .5s}
.cd::before{content:"";grid-row:1;background:var(--c);border-radius:.45rem 0 0 .45rem;margin:-.5rem 0}
.cd.foco{border-color:color-mix(in srgb,var(--c) 70%,transparent);background:color-mix(in srgb,var(--c) 9%,var(--vidro))}
.cd.cursor{border-color:var(--neve);box-shadow:inset 0 0 0 1px var(--neve)}
.cd .id{display:flex;flex-direction:column;justify-content:center;min-width:0;gap:.18rem}
.cd .nome{display:flex;align-items:baseline;gap:.5rem;white-space:nowrap;min-width:0}
.cd .nome b{font:850 1.02rem/1 var(--display);font-stretch:120%;letter-spacing:.03em}
.cd .nome span{font:600 .74rem/1 var(--mono);color:var(--gelo2);overflow:hidden;text-overflow:ellipsis}
.cd .alt{font:850 1.75rem/1 var(--display);font-stretch:125%;letter-spacing:-.01em;white-space:nowrap}
.cd .alt small{font:600 .8rem/1 var(--mono);font-stretch:100%;color:var(--gelo2);margin-left:.15rem;letter-spacing:0}
.cd .lugar{font:500 .78rem/1.1 var(--mono);color:var(--gelo2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cd .med{display:grid;grid-template-columns:auto 1fr;align-content:center;gap:.28rem .55rem;min-width:0}
.cd .med label{font:700 .64rem/1 var(--mono);letter-spacing:.12em;color:var(--apagado);align-self:center;white-space:nowrap}
.garrafas{display:flex;gap:.18rem;height:1.05rem;align-items:center}
.garrafa{position:relative;width:.52rem;height:1.05rem;border:1.5px solid rgba(94,230,181,.55);border-radius:.3rem;overflow:hidden}
.garrafa i{position:absolute;left:0;right:0;bottom:0;background:var(--o2);transition:height .7s ease}
.garrafa.vazia{border-color:rgba(190,220,240,.22)}
.pips{display:flex;gap:.2rem;align-items:center}
.pip{width:.8rem;height:.42rem;border-radius:.12rem;background:rgba(190,220,240,.16);transition:background .4s}
.pip.on{background:var(--neve)}
.pip.on.baixo{background:#FFB199}
.cordas{display:flex;gap:.3rem;align-items:center;font:700 .82rem/1 var(--mono);color:var(--ouro)}
.cordas svg{width:1.05rem;height:1.05rem;color:var(--ouro)}
.lucidez{position:relative;height:.42rem;border-radius:.2rem;background:rgba(190,220,240,.14);overflow:hidden}
.lucidez i{position:absolute;left:0;top:0;bottom:0;border-radius:.2rem;background:linear-gradient(90deg,#9FB7FF,#E6EEFF);transition:width .8s ease}
.lucidez.baixa i{background:linear-gradient(90deg,#B38CFF,#D9C4FF)}
.cd .lado{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:.25rem;min-width:0}
.rel-c{display:flex;flex-direction:column;align-items:flex-end;line-height:1;white-space:nowrap}
.rel-c small{font:700 .6rem/1 var(--mono);letter-spacing:.12em;color:var(--apagado);margin-bottom:.18rem;white-space:nowrap}
.rel-c b{font:700 1.32rem/1 var(--mono)}
.dec{display:flex;align-items:center;gap:.4rem;min-height:2.1rem}
.dec .simb{width:2.1rem;height:2.1rem;border-radius:.35rem;display:flex;align-items:center;justify-content:center;background:rgba(242,247,251,.08);border:1px dashed rgba(242,247,251,.25);color:var(--neve)}
.dec .simb svg{width:1.3rem;height:1.3rem}
.dec .simb.ok{background:var(--neve);color:#081018;border:0}
.dec .simb.C{color:var(--ouro)} .dec .simb.ok.C{background:var(--ouro);color:#160f02}
.dec .simb.ok.A{background:var(--o2);color:#04140e}
.dec .simb.ok.D{background:#9FC3E0}
.dec .rot{font:700 .7rem/1 var(--mono);letter-spacing:.08em;color:var(--gelo);white-space:nowrap}
.dec .feito{font:700 .7rem/1 var(--mono);letter-spacing:.1em;color:var(--o2)}
.chip{font:700 .62rem/1 var(--mono);letter-spacing:.12em;padding:.24rem .42rem;border-radius:.22rem;white-space:nowrap;background:rgba(242,247,251,.1);color:var(--gelo)}
.chip.sos{background:var(--coral);color:#160403;animation:pisca 1.2s ease-in-out infinite}
.chip.dor{background:#5a2a12;color:#FFC7A8}
.chip.fila{background:#2b1b07;color:var(--ouro2)}
.chip.cume{background:var(--neve);color:#081018}
.chip.salva{background:rgba(94,230,181,.16);color:var(--o2)}
.chip.perdida{background:transparent;border:1px solid rgba(190,220,240,.3);color:var(--gelo2)}
.cd.perdida{opacity:.5}
.cd.perdida .med,.cd.perdida .rel-c{visibility:hidden}

/* teclado de registro (toque) dentro do cartão */
.reg{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;gap:.35rem;padding:0 .6rem;background:linear-gradient(90deg,transparent 0%,rgba(5,8,13,.9) 34%);opacity:0;pointer-events:none;transition:opacity .2s}
.cd.registrando .reg{opacity:1;pointer-events:auto}
.reg button{width:2.7rem;height:2.7rem;border-radius:.4rem;border:1px solid var(--linha2);background:rgba(18,30,46,.95);display:flex;align-items:center;justify-content:center;color:var(--neve)}
.reg button svg{width:1.35rem;height:1.35rem}
.reg button.C{color:var(--ouro)} .reg button.A{color:var(--o2)}
.reg button.sel{background:var(--neve);color:#081018}
.reg button.alvo{width:auto;min-width:2.5rem;padding:0 .5rem;font:850 1rem/1 var(--display);font-stretch:115%}
.reg .q{font:700 .7rem/1.1 var(--mono);letter-spacing:.08em;color:var(--o2);margin-right:.3rem;white-space:nowrap}

/* hipóxia: leve, reversível, desligável (data-hipoxia="off") */
.cd.h1 .hx{filter:blur(.35px)}
.cd.h2 .hx{filter:blur(.7px) saturate(.6)}
.cd.h3 .hx{filter:blur(1.1px) saturate(.4)}
.cd.h2 .rel-c b,.cd.h3 .rel-c b{opacity:.88}
.hx .l{display:inline-block;transform:translate(var(--dx,0),var(--dy,0)) rotate(var(--dr,0));transition:transform 1.4s ease}
.cd.h3 .hx{animation:respira 5.5s ease-in-out infinite}
@keyframes respira{0%,100%{opacity:1}50%{opacity:.82}}
[data-hipoxia="off"] .cd .hx{filter:none!important;animation:none!important}
[data-hipoxia="off"] .hx .l{transform:none!important}
.aviso-luc{display:none;font:700 .58rem/1 var(--mono);letter-spacing:.1em;color:#D9C4FF}
[data-hipoxia="off"] .cd.h2 .aviso-luc,[data-hipoxia="off"] .cd.h3 .aviso-luc{display:inline}

/* ── barra do professor ── */
#barra{grid-area:barra;display:flex;align-items:center;gap:1rem;padding:0 1rem 0 1.4rem;border-top:1px solid var(--linha);background:#060a10;position:relative;z-index:5}
.b-esq{display:flex;flex-direction:column;gap:.25rem;min-width:0;flex:0 1 auto;max-width:34%}
.etapa{font:800 .95rem/1.05 var(--display);font-stretch:118%;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dica{font:500 .78rem/1.2 var(--mono);color:var(--gelo2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.b-meio{flex:1;display:flex;align-items:center;justify-content:center;gap:.8rem;min-width:0}
.b-dir{display:flex;align-items:center;gap:.5rem}
.ico{width:2.7rem;height:2.7rem;border-radius:.45rem;border:1px solid var(--linha2);background:transparent;display:flex;align-items:center;justify-content:center;color:var(--gelo)}
.ico svg{width:1.25rem;height:1.25rem}
.ico:disabled{opacity:.3;cursor:default}
.principal{height:3.1rem;padding:0 1.5rem;border-radius:.45rem;border:0;background:var(--neve);color:#081018;font:850 1rem/1 var(--display);font-stretch:118%;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;display:flex;align-items:center;gap:.6rem;transition:transform .15s,background .3s}
.principal:active{transform:scale(.97)}
.principal.perigo{background:var(--coral);color:#140403}
.principal.ouro{background:var(--ouro);color:#160f02}
.principal kbd{font:600 .7rem/1 var(--mono);opacity:.6;border:1px solid currentColor;border-radius:.2rem;padding:.12rem .3rem}
.principal:disabled{opacity:.35}
.tempo{display:flex;align-items:center;gap:.8rem}
.tempo b{font:700 2.1rem/1 var(--mono);min-width:5.2ch;text-align:center}
.tempo .trilho{width:14rem;height:.35rem;border-radius:.2rem;background:rgba(190,220,240,.15);overflow:hidden}
.tempo .trilho i{display:block;height:100%;background:var(--neve);transform-origin:left;transition:transform .25s linear}
.tempo.fim b{color:var(--coral)}
.contagem{display:flex;gap:.35rem;align-items:center}
.contagem span{width:2.1rem;height:2.1rem;border-radius:.35rem;display:flex;align-items:center;justify-content:center;font:850 .95rem/1 var(--display);font-stretch:115%;background:rgba(242,247,251,.06);border:1px solid var(--linha);color:var(--apagado)}
.contagem span.ok{background:var(--c);color:#081018;border-color:transparent}
.contagem span.atual{border-color:var(--neve);color:var(--neve)}
.secundario{height:2.7rem;padding:0 1rem;border-radius:.45rem;border:1px solid var(--linha2);background:transparent;font:700 .8rem/1 var(--mono);letter-spacing:.06em;color:var(--gelo);white-space:nowrap}

/* ── carta de condição ── */
.carta{position:relative;width:min(20rem,46%);aspect-ratio:5/7;perspective:1400px;pointer-events:none}
.carta .gira{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .75s cubic-bezier(.3,.7,.2,1)}
.carta.vira .gira{transform:rotateY(180deg)}
.carta .face{position:absolute;inset:0;border-radius:.9rem;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;box-shadow:0 2rem 4rem rgba(0,0,0,.6)}
.carta .costas{background:#0b1726;border:1px solid var(--linha2);display:flex;align-items:center;justify-content:center}
.carta .costas::before{content:"";position:absolute;inset:.8rem;border-radius:.5rem;border:1px solid rgba(190,220,240,.25);background:repeating-radial-gradient(circle at 50% 110%,transparent 0 .9rem,rgba(190,220,240,.12) .9rem calc(.9rem + 1px))}
.carta .costas b{position:relative;font:850 1rem/1.2 var(--display);font-stretch:125%;letter-spacing:.14em;text-align:center;color:var(--gelo)}
.carta .frente{transform:rotateY(180deg);background:linear-gradient(170deg,#132235,#0a1420);border:1px solid var(--linha2);display:flex;flex-direction:column;padding:1.3rem 1.3rem 1.2rem}
.carta .frente .topo-c{display:flex;justify-content:space-between;align-items:center;font:700 .66rem/1 var(--mono);letter-spacing:.14em;color:var(--gelo2)}
.carta .frente .topo-c i{font-style:normal;padding:.25rem .45rem;border-radius:.2rem;background:var(--c);color:#081018}
.carta .frente .ic{margin:1.4rem 0 0;width:5.2rem;height:5.2rem;color:var(--gelo)}
.carta.ruim .frente .ic{color:#FF8E80}
.carta .frente .risco{display:flex;justify-content:space-between;margin-top:.5rem;font:700 .72rem/1 var(--mono);letter-spacing:.08em;color:var(--apagado)}
.carta .frente .risco b{color:var(--neve)}
.carta .frente h3{margin:auto 0 .7rem;font:850 1.85rem/1.02 var(--display);font-stretch:118%;letter-spacing:-.005em}
.carta .frente p{margin:0;font:500 1.02rem/1.38 var(--sans);color:var(--gelo)}
.carta .frente .pe{margin-top:1.1rem;padding-top:.7rem;border-top:1px solid var(--linha);font:600 .7rem/1.3 var(--mono);color:var(--apagado);letter-spacing:.06em}
.carta.ruim .frente{background:linear-gradient(170deg,#3a1410,#1a0907);border-color:rgba(255,94,77,.55)}
.carta.ruim .frente h3{color:#FFB3A8}
.carta.boa .frente h3{color:var(--neve)}
.carta-pronta{animation:surge .5s cubic-bezier(.3,.7,.2,1) both}
@keyframes surge{from{opacity:0;transform:translateY(2.5rem) scale(.94)}to{opacity:1;transform:none}}
.carta-sai{animation:some .4s ease both}
@keyframes some{to{opacity:0;transform:translateY(-1.5rem) scale(.97)}}

/* rótulos rápidos sobre o mapa (cartas boas, ajuda, corda) */
.flutua{position:absolute;transform:translate(-50%,-100%);font:700 .8rem/1 var(--mono);letter-spacing:.06em;padding:.35rem .55rem;border-radius:.3rem;background:rgba(5,8,13,.9);border:1px solid var(--linha2);color:var(--neve);white-space:nowrap;animation:flutua 2.6s ease both;pointer-events:none}
.flutua.ruim{border-color:rgba(255,94,77,.7);color:#FFB3A8}
.flutua.ouro{border-color:rgba(233,185,73,.7);color:var(--ouro2)}
.flutua.o2{border-color:rgba(94,230,181,.7);color:var(--o2)}
@keyframes flutua{0%{opacity:0;margin-top:.6rem}12%{opacity:1;margin-top:0}80%{opacity:1}100%{opacity:0;margin-top:-1.2rem}}

/* ── telas por cima ── */
.cobre{position:fixed;inset:0;z-index:20;background:rgba(3,5,9,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;overflow:auto;padding:3vh 3vw}
.cobre[hidden]{display:none}
.cobre.heroi{background:linear-gradient(180deg,#040a16 0%,#0b2240 55%,#1d3f62 100%);backdrop-filter:none;-webkit-backdrop-filter:none}
.cobre.heroi::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,6,12,.92) 0%,rgba(3,6,12,.72) 42%,rgba(3,6,12,.05) 80%);pointer-events:none}
.heroi-svg{position:absolute;inset:0;width:100%;height:100%;opacity:.95}
.cobre.heroi .bloco{position:relative;z-index:1}
.cobre .bloco{width:min(76rem,100%);max-height:100%;display:flex;flex-direction:column}
.kicker{font:700 .82rem/1 var(--mono);letter-spacing:.2em;color:var(--gelo2);text-transform:uppercase}
.titulo-g{font:900 6.2rem/.9 var(--display);font-stretch:125%;letter-spacing:-.01em;margin:.4rem 0 .2rem}
.sub-g{font:700 2.1rem/1 var(--mono);color:var(--gelo)}
.frase-g{font:500 1.5rem/1.35 var(--sans);color:var(--gelo);max-width:44rem;margin:1.6rem 0 0}
.regra-g{margin-top:2.2rem;display:inline-flex;flex-direction:column;align-self:flex-start;padding:1rem 1.4rem;border:1.5px solid rgba(255,94,77,.7);border-radius:.5rem;background:rgba(255,94,77,.07)}
.regra-g span{font:700 .8rem/1 var(--mono);letter-spacing:.2em;color:#FF9C90}
.regra-g b{font:900 3.4rem/1 var(--display);font-stretch:125%;color:#FFE3DF;margin-top:.35rem}
.acoes-g{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2.2rem;align-items:center}
.acoes-g button{height:3.2rem;padding:0 1.5rem;border-radius:.45rem;border:1px solid var(--linha2);background:transparent;font:800 .95rem/1 var(--display);font-stretch:115%;letter-spacing:.06em;text-transform:uppercase}
.acoes-g button.vai{background:var(--neve);color:#081018;border:0}
.acoes-g .nota{font:500 .85rem/1.3 var(--mono);color:var(--apagado)}
.intro{position:fixed;inset:0;z-index:19;pointer-events:none;background:#fff;animation:branco 3.6s ease forwards}
@keyframes branco{0%{opacity:1}35%{opacity:.85}100%{opacity:0}}

.regras{display:grid;grid-template-columns:1.05fr 1fr;gap:2.4rem;margin-top:1.4rem}
.regras h2{font:850 2.7rem/1 var(--display);font-stretch:122%;margin:0}
.lista-acoes{display:grid;gap:.6rem;margin-top:1.2rem}
.lista-acoes>div{display:grid;grid-template-columns:3.2rem 1fr;gap:1rem;align-items:center;padding:.55rem .8rem;border:1px solid var(--linha);border-radius:.45rem;background:rgba(12,20,32,.6)}
.lista-acoes svg{width:2.2rem;height:2.2rem}
.lista-acoes b{display:block;font:850 1.2rem/1 var(--display);font-stretch:118%;letter-spacing:.04em;text-transform:uppercase}
.lista-acoes span{display:block;font:500 .95rem/1.3 var(--sans);color:var(--gelo);margin-top:.25rem}
.lista-acoes span b{display:inline;font:inherit;font-weight:750;text-transform:none;letter-spacing:0;color:var(--neve)}
.lista-acoes .C svg{color:var(--ouro)} .lista-acoes .A svg{color:var(--o2)}
.regras ul{margin:1.1rem 0 0;padding:0;list-style:none;display:grid;gap:.8rem}
.regras li{font:500 1.08rem/1.38 var(--sans);color:var(--gelo);padding-left:1.4rem;position:relative}
.regras li::before{content:"";position:absolute;left:0;top:.55rem;width:.55rem;height:.55rem;border-radius:.1rem;background:var(--gelo2)}
.regras li.forte{color:var(--neve)}
.regras li.forte::before{background:var(--coral)}
.regras li b{font-weight:750;color:var(--neve)}
.cartao-luc{margin-top:1.2rem;padding:1rem 1.2rem;border-radius:.5rem;border:1px solid rgba(182,140,255,.45);background:rgba(120,90,200,.08)}
.cartao-luc>b{display:block;font:700 .75rem/1 var(--mono);letter-spacing:.16em;color:#D9C4FF;margin-bottom:.45rem}
.cartao-luc p{margin:0;font:500 1.05rem/1.38 var(--sans);color:var(--neve)}

.guias{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.4rem}
.guia{--c:#fff;padding:1.1rem 1.2rem;border-radius:.55rem;background:rgba(12,20,32,.7);border:1px solid var(--linha);border-top:.3rem solid var(--c);animation:surge .6s cubic-bezier(.3,.7,.2,1) both}
.guia small{font:700 .72rem/1 var(--mono);letter-spacing:.16em;color:var(--c)}
.guia b{display:block;font:850 1.55rem/1.05 var(--display);font-stretch:118%;margin:.45rem 0 .5rem}
.guia p{margin:0;font:500 .98rem/1.36 var(--sans);color:var(--gelo)}

/* a virada das 14h */
.virada .grande{font:700 8.5rem/1 var(--mono);letter-spacing:-.02em;color:var(--neve)}
.virada .lin{display:grid;grid-template-columns:2.6rem 1fr auto auto;gap:1.2rem;align-items:center;padding:.65rem 0;border-top:1px solid var(--linha);opacity:0;animation:surge .5s ease forwards}
.virada .lin .n{width:2.4rem;height:2.4rem;border-radius:.4rem;background:var(--c);color:#081018;font:850 1.2rem/1 var(--display);display:flex;align-items:center;justify-content:center}
.virada .lin .q{font:600 1.15rem/1.2 var(--sans);color:var(--gelo)}
.virada .lin .q small{display:block;font:500 .8rem/1.2 var(--mono);color:var(--apagado);margin-top:.2rem}
.virada .lin .rel{font:700 2rem/1 var(--mono);color:#D9C4FF}
.virada .lin .dif{font:700 1rem/1 var(--mono);color:var(--coral);min-width:7rem;text-align:right}
.virada .lin .dif.zero{color:var(--o2)}
.virada .moral{font:500 1.35rem/1.4 var(--sans);color:var(--neve);max-width:52rem;margin:1.6rem 0 0;opacity:0;animation:surge .6s ease forwards}

/* final */
.final{display:grid;grid-template-columns:1fr;gap:1rem}
.placar{width:100%;border-collapse:collapse;margin-top:1rem}
.placar th{font:700 .7rem/1 var(--mono);letter-spacing:.14em;color:var(--apagado);text-align:right;padding:.5rem .6rem;border-bottom:1px solid var(--linha2)}
.placar th:first-child,.placar td:first-child{text-align:left}
.placar td{font:600 1.08rem/1.15 var(--mono);text-align:right;padding:.6rem .6rem;border-bottom:1px solid var(--linha)}
.placar td.tot{font:850 1.6rem/1 var(--display);font-stretch:118%}
.placar .eq{display:flex;align-items:center;gap:.7rem;font:800 1.05rem/1 var(--display);font-stretch:115%}
.placar .eq i{width:1.4rem;height:1.4rem;border-radius:.3rem;background:var(--c)}
.placar tr.nao td{color:var(--apagado)}
.pergunta{font:850 3.3rem/1.08 var(--display);font-stretch:112%;margin:1.8rem 0 0;max-width:60rem}

/* placar no painel, no final */
.placar-box{display:flex;flex-direction:column;min-height:0;padding:.4rem .6rem}
.placar-box .placar td{padding:.55rem .5rem}
.resumo-exp{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:1rem}
.resumo-exp div{padding:.7rem .6rem;border-radius:.4rem;border:1px solid var(--linha);background:rgba(12,20,32,.6)}
.resumo-exp b{display:block;font:850 1.6rem/1 var(--display);font-stretch:118%}
.resumo-exp span{display:block;font:600 .66rem/1.2 var(--mono);letter-spacing:.08em;color:var(--gelo2);margin-top:.3rem}
.nota-placar{font:500 .8rem/1.35 var(--mono);color:var(--apagado);margin:.9rem 0 0}

/* janela do professor (menu) */
.janela{position:fixed;z-index:30;right:1rem;bottom:calc(var(--barra) + .6rem);width:min(31rem,calc(100vw - 2rem));max-height:calc(100vh - var(--barra) - var(--topo) - 1rem);overflow:auto;padding:1.1rem 1.2rem;border-radius:.6rem;background:#0b1420;border:1px solid var(--linha2);box-shadow:0 1.5rem 4rem rgba(0,0,0,.6)}
.janela[hidden]{display:none}
.janela h3{margin:0 0 .8rem;font:850 1.05rem/1 var(--display);font-stretch:118%;letter-spacing:.06em;text-transform:uppercase}
.janela h4{margin:1.1rem 0 .5rem;font:700 .7rem/1 var(--mono);letter-spacing:.16em;color:var(--apagado);text-transform:uppercase}
.janela .linha{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.35rem 0}
.janela .linha span{font:500 .92rem/1.3 var(--sans);color:var(--gelo)}
.janela .grupo{display:flex;gap:.3rem;flex-wrap:wrap}
.janela .grupo button,.janela .bt{min-height:2.3rem;padding:0 .8rem;border-radius:.35rem;border:1px solid var(--linha2);background:transparent;font:700 .82rem/1 var(--mono);color:var(--gelo)}
.janela .grupo button.sel{background:var(--neve);color:#081018;border-color:var(--neve)}
.janela .bt.perigo{border-color:rgba(255,94,77,.6);color:#FFB3A8}
.janela .bts{display:flex;gap:.4rem;flex-wrap:wrap}
.janela p{font:500 .88rem/1.4 var(--sans);color:var(--gelo);margin:.3rem 0}
.janela kbd{font:600 .78rem/1 var(--mono);border:1px solid var(--linha2);border-radius:.2rem;padding:.1rem .3rem;color:var(--neve)}
.janela .qr{display:flex;gap:1rem;align-items:center;margin-top:.5rem}
.janela .qr svg{width:8rem;height:8rem;background:#fff;padding:.4rem;border-radius:.3rem}
.janela .qr b{font:850 2.2rem/1 var(--display);font-stretch:125%;letter-spacing:.12em}

.conduzir{max-width:70rem}
.conduzir .cols{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;margin-top:1rem}
.conduzir h3{font:800 1.05rem/1 var(--display);font-stretch:118%;letter-spacing:.06em;text-transform:uppercase;margin:0 0 .6rem;color:var(--neve)}
.conduzir p,.conduzir li{font:500 1rem/1.42 var(--sans);color:var(--gelo)}
.conduzir ol,.conduzir ul{margin:0;padding-left:1.2rem}
.conduzir kbd{font:600 .8rem/1 var(--mono);border:1px solid var(--linha2);border-radius:.2rem;padding:.1rem .3rem;color:var(--neve)}

.pausa{position:fixed;inset:0;z-index:40;background:rgba(3,5,9,.82);display:flex;align-items:center;justify-content:center}
.pausa[hidden]{display:none}
.pausa div{display:flex;flex-direction:column;align-items:center;gap:.8rem}
.pausa b{font:900 5rem/1 var(--display);font-stretch:125%;letter-spacing:.2em}
.pausa span{font:600 .9rem/1 var(--mono);color:var(--gelo2);letter-spacing:.1em}

.agora{font:900 11rem/1 var(--display);font-stretch:125%;letter-spacing:.02em;color:var(--neve);text-shadow:0 0 4rem rgba(255,255,255,.35);animation:agora 1.3s cubic-bezier(.2,.8,.2,1) both}
@keyframes agora{0%{opacity:0;transform:scale(1.5)}20%{opacity:1;transform:scale(1)}80%{opacity:1}100%{opacity:0;transform:scale(.96)}}
.legenda-palco{position:absolute;left:50%;bottom:1.4rem;transform:translateX(-50%);font:700 .85rem/1 var(--mono);letter-spacing:.14em;color:var(--gelo);padding:.5rem .8rem;border-radius:.3rem;background:rgba(5,8,13,.8);white-space:nowrap}

.selo-ao-vivo{font:700 .68rem/1 var(--mono);letter-spacing:.12em;padding:.3rem .5rem;border-radius:.25rem;border:1px solid rgba(94,230,181,.5);color:var(--o2);white-space:nowrap}
.selo-ao-vivo.off{border-color:var(--linha2);color:var(--apagado)}

/* tamanhos menores (720p, iPad) */
@media (max-height:800px){
  :root{--topo:3.7rem;--barra:4.5rem}
  .cd .alt{font-size:1.5rem}
  .tempo .trilho{width:9rem}
}
@media (max-aspect-ratio:3/2){
  html{font-size:clamp(11px,min(1.2vw,1.66vh),20px)}
  .cd .med label{font-size:.56rem;letter-spacing:.06em}
  .cd .nome span{display:none}
  .rel-c small{font-size:.5rem;letter-spacing:.04em}
  .regra span{display:none}
  .marca span{display:none}
  .cd{grid-template-columns:.42rem minmax(0,1.1fr) minmax(0,1.15fr) minmax(0,.85fr);gap:0 .55rem}
  .tempo .trilho{display:none}
  .guias{grid-template-columns:repeat(2,1fr)}
  .titulo-g{font-size:5rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.15s!important}
  .intro{display:none}
}
body.calmo *,body.calmo *::before,body.calmo *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.15s!important}
body.calmo .intro{display:none}
.qr-g svg{width:100%;height:auto;display:block}
