/* ============================================================
   SEGUNDA JORNADA — check-in, céu do impossível, bilhete, segredos
   ============================================================ */

#jornada2{
  position:fixed;inset:0;z-index:95;
  background:
    radial-gradient(ellipse 90vw 50vh at 18% 22%,rgba(40,26,78,.35) 0%,transparent 65%),
    radial-gradient(ellipse 80vw 46vh at 85% 65%,rgba(58,31,71,.28) 0%,transparent 65%),
    radial-gradient(ellipse at 50% 120%,rgba(40,26,78,.55) 0%,transparent 55%),
    linear-gradient(to top,#070818 0%,#03040c 100%);
  overflow:hidden;
}
#jornada2[hidden]{display:none}
#jornada2 .j2-estrelas{
  position:absolute;inset:0;width:100%;height:100%;
  pointer-events:none;opacity:.9;
}

.j2-cena{
  position:relative;width:100%;height:100%;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  text-align:center;padding:max(7vh,64px) 6vw max(10vh,80px);
  overflow-y:auto;overscroll-behavior:contain;
}
/* palco: centraliza quando cabe, rola quando não cabe (sem cortar o topo);
   elementos absolutos (balão do quiz) ficam fora dele, direto na cena */
.j2-palco{
  display:flex;flex-direction:column;align-items:center;
  width:100%;margin:auto 0;
  position:relative;z-index:2;   /* conteúdo na frente do balão do quiz */
}
.j2-palco > *{flex-shrink:0}
.j2-acoes{
  display:flex;flex-wrap:wrap;gap:.9em;justify-content:center;
  margin-top:.8em;padding-bottom:1em;flex:none;
}
.j2-acoes .j2-botao{margin-top:0}

.j2-kicker{
  font-family:var(--mono);letter-spacing:.24em;text-transform:uppercase;
  font-size:clamp(9px,2.4vw,12px);color:var(--ambar);
}
.j2-titulo{
  font-family:var(--serif-display);font-style:italic;font-weight:330;
  font-size:clamp(1.7rem,6.5vw,3rem);line-height:1.16;
  margin:.4em 0;color:var(--creme);text-wrap:balance;
}
.j2-titulo em{color:var(--ouro);font-style:italic}
.j2-sub{
  font-style:italic;color:var(--creme-suave);
  font-size:clamp(.95rem,2.8vw,1.15rem);max-width:46ch;
}
.j2-botao{
  margin-top:2.2em;
  display:inline-flex;align-items:center;gap:.7em;
  font-family:var(--mono);font-size:clamp(.78rem,2.4vw,.88rem);
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--noite-profunda);
  background:linear-gradient(135deg,var(--ouro),var(--ambar));
  border:none;border-radius:999px;
  padding:1em 1.9em;cursor:pointer;
  box-shadow:0 10px 34px rgba(255,179,92,.3);
  transition:transform .25s ease,box-shadow .25s ease;
}
.j2-botao:hover{transform:translateY(-3px);box-shadow:0 16px 44px rgba(255,179,92,.45)}
.j2-botao:active{transform:scale(.97)}
.j2-botao.fantasma{
  background:none;color:var(--creme-suave);
  border:1px solid rgba(243,234,216,.3);box-shadow:none;
}
.j2-botao.fantasma:hover{border-color:var(--ouro);color:var(--ouro)}

#j2-fechar{
  position:absolute;z-index:5;
  top:calc(10px + env(safe-area-inset-top, 0px));
  right:calc(10px + env(safe-area-inset-right, 0px));
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  border:none;background:none;color:var(--creme-suave);
  font-size:19px;cursor:pointer;opacity:.7;
  transition:color .25s ease,opacity .25s ease,transform .25s ease;
}
#j2-fechar:hover{color:var(--ouro);opacity:1;transform:translateY(2px)}

/* ---------- check-in (quiz) ---------- */
.j2-progresso{
  font-family:var(--mono);font-size:clamp(10px,2.4vw,12px);
  letter-spacing:.2em;color:var(--creme-suave);margin-bottom:1.4em;
}
.j2-progresso b{color:var(--ouro)}
.j2-pergunta{
  font-family:var(--serif-display);font-weight:380;font-style:italic;
  font-size:clamp(1.4rem,5.4vw,2.3rem);line-height:1.2;
  max-width:24ch;text-wrap:balance;margin-bottom:1.4em;
}
.j2-opcoes{display:flex;flex-direction:column;gap:.8em;width:min(440px,100%)}
.j2-opcao{
  font-family:var(--serif-texto);font-size:clamp(1rem,3vw,1.15rem);
  text-align:left;color:var(--creme);
  background:rgba(243,234,216,.05);
  border:1px solid rgba(243,234,216,.2);
  border-radius:14px;padding:1em 1.2em;cursor:pointer;
  display:flex;align-items:center;gap:.9em;
  transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
.j2-opcao .letra{
  font-family:var(--mono);font-size:.75em;color:var(--ambar);
  border:1px solid rgba(255,179,92,.4);border-radius:6px;
  padding:.2em .5em;flex:none;
}
.j2-opcao:hover{border-color:var(--ouro);background:rgba(245,212,144,.08);transform:translateX(4px)}
.j2-opcao.certa{border-color:var(--ouro);background:rgba(245,212,144,.16);box-shadow:0 0 24px rgba(245,212,144,.2)}
.j2-opcao.errada{border-color:rgba(255,122,138,.6);background:rgba(255,122,138,.08)}
.j2-opcao:disabled{cursor:default;opacity:.85}
.j2-feedback{
  margin-top:1.4em;min-height:3em;
  font-style:italic;color:var(--creme-suave);
  font-size:clamp(.95rem,2.8vw,1.1rem);max-width:42ch;
}
.j2-feedback.acerto{color:var(--ouro)}
.j2-feedback.erro{color:var(--rosa)}

.j2-balao-quiz{
  position:absolute;left:50%;bottom:-2vh;transform:translateX(-50%);
  width:clamp(56px,9vw,84px);pointer-events:none;z-index:1;
  filter:drop-shadow(0 6px 24px rgba(255,179,92,.25));
}

/* ---------- céu do impossível ---------- */
#j2-constelacao{
  width:min(86vw,420px);height:auto;overflow:visible;
  margin:1.2em 0 .6em;flex:none;
}
#j2-constelacao .estrela-p{cursor:pointer;outline:none}
#j2-constelacao .estrela-p:focus{outline:none}
#j2-constelacao .estrela-p:focus-visible .halo{fill:rgba(245,212,144,.25)}
#j2-constelacao .estrela-p .halo{
  fill:rgba(245,212,144,.10);
  transition:fill .3s ease;
}
#j2-constelacao .estrela-p:hover .halo{fill:rgba(245,212,144,.22)}
#j2-constelacao .estrela-p .nucleo{
  fill:rgba(255,250,240,.55);
  animation:pulsar 2.6s ease-in-out infinite;
}
#j2-constelacao .estrela-p.acesa .nucleo{
  fill:#fffaf0;animation:none;
  filter:drop-shadow(0 0 8px rgba(245,212,144,.9));
}
#j2-constelacao .estrela-p.acesa .halo{fill:rgba(245,212,144,.16)}
#j2-constelacao .estrela-p .numero{
  font-family:var(--mono);font-size:11px;fill:rgba(243,234,216,.55);
  text-anchor:middle;
}
#j2-constelacao .estrela-p.acesa .numero{fill:var(--ambar)}
#j2-constelacao .aresta{
  stroke:var(--ouro);stroke-width:1.2;opacity:.7;fill:none;
  stroke-dasharray:400;stroke-dashoffset:400;
}
@keyframes pulsar{
  0%,100%{opacity:.45}
  50%{opacity:1}
}
.j2-promessa{
  min-height:6.5em;width:min(560px,100%);
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  gap:.5em;
}
.j2-promessa .origem{
  font-family:var(--mono);font-size:clamp(9px,2.2vw,11px);
  letter-spacing:.22em;color:var(--ambar);
}
.j2-promessa .texto{
  font-family:var(--serif-display);font-style:italic;font-weight:340;
  font-size:clamp(1.05rem,3.4vw,1.45rem);line-height:1.4;
  color:var(--creme);text-wrap:balance;
}

/* ---------- bilhete prêmio ---------- */
.j2-bilhete{
  width:min(500px,100%);flex:none;
  background:
    radial-gradient(1px 1px at 18% 30%,rgba(255,250,240,.8) 50%,transparent 51%),
    radial-gradient(1.3px 1.3px at 72% 20%,rgba(255,250,240,.6) 50%,transparent 51%),
    radial-gradient(1px 1px at 48% 75%,rgba(255,250,240,.7) 50%,transparent 51%),
    radial-gradient(1.2px 1.2px at 88% 62%,rgba(255,250,240,.55) 50%,transparent 51%),
    linear-gradient(120deg,#0b0d26 0%,#141433 55%,#1c1240 100%);
  border:1px solid rgba(245,212,144,.35);
  border-radius:14px;
  padding:1.4em 1.5em 1.5em;
  margin:1.8em 0 .4em;
  text-align:left;
  box-shadow:0 24px 70px rgba(0,0,0,.5),0 0 40px rgba(245,212,144,.08);
  position:relative;
}
.j2-bilhete .cabecalho{
  display:flex;justify-content:space-between;align-items:baseline;gap:1em;
  border-bottom:1px solid rgba(243,234,216,.2);
  padding-bottom:.9em;
  font-family:var(--mono);
}
.j2-bilhete .companhia{
  display:inline-flex;align-items:center;gap:.5em;
  font-size:clamp(10px,2.6vw,12px);letter-spacing:.28em;text-transform:uppercase;
  color:var(--ouro);font-weight:500;
}
.j2-bilhete .companhia .icone{color:var(--ambar)}
.j2-bilhete .voo-num{
  font-size:clamp(9px,2.4vw,11px);letter-spacing:.2em;color:var(--rosa);
}
.j2-bilhete .rota{
  display:flex;justify-content:space-between;align-items:center;gap:.9em;
  margin:1em 0 .4em;
}
.j2-bilhete .ponta{text-align:left}
.j2-bilhete .ponta.destino{text-align:right}
.j2-bilhete .sigla{
  font-family:var(--serif-display);font-weight:560;
  font-size:clamp(2rem,8vw,2.8rem);line-height:1;color:var(--creme);
}
.j2-bilhete .cidade{
  font-family:var(--mono);font-size:clamp(8px,2.2vw,10px);
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--creme-suave);margin-top:.5em;
}
.j2-bilhete .fio-voo{
  flex:1;display:flex;align-items:center;gap:.5em;
  color:var(--ouro);
}
.j2-bilhete .fio-voo .icone{transform:rotate(-6deg);font-size:1.2rem}
.j2-bilhete .fio{flex:1;border-top:1.5px dotted rgba(243,234,216,.4)}
.j2-bilhete h4{
  font-family:var(--serif-display);font-style:italic;font-weight:420;
  font-size:clamp(1.2rem,4.2vw,1.55rem);color:var(--ouro);
  margin:.6em 0 .35em;
}
.j2-bilhete .corpo p{
  font-size:clamp(.95rem,2.8vw,1.08rem);color:var(--creme);
  line-height:1.6;
}
.j2-bilhete .campos{
  display:grid;grid-template-columns:1fr 1fr;gap:.9em 1.2em;
  border-top:1px dashed rgba(243,234,216,.25);
  margin-top:1.1em;padding-top:1em;
}
.j2-bilhete .etiqueta{
  font-family:var(--mono);font-size:clamp(8px,2.2vw,9.5px);
  letter-spacing:.24em;text-transform:uppercase;
  color:rgba(243,234,216,.5);
}
.j2-bilhete .valor{
  font-family:var(--serif-display);font-style:italic;font-weight:420;
  font-size:clamp(.95rem,3vw,1.1rem);color:var(--creme);margin-top:.25em;
}
.j2-bilhete .campo:first-child .valor{color:var(--ouro)}
.j2-bilhete .rodape-bilhete{
  margin-top:1.2em;
  font-family:var(--manuscrita);font-size:clamp(1.2rem,4vw,1.5rem);
  color:var(--creme-suave);transform:rotate(-1.5deg);
}
.j2-bilhete .carimbo{
  position:absolute;right:18px;bottom:64px;
  font-family:var(--mono);font-size:clamp(10px,2.8vw,13px);
  letter-spacing:.3em;text-transform:uppercase;font-weight:600;
  color:var(--rosa);
  border:2.5px solid var(--rosa);border-radius:10px;
  padding:.5em .9em .5em 1.1em;
  transform:rotate(-12deg);
  opacity:.95;
  box-shadow:0 0 20px rgba(255,122,138,.25);
}

/* ---------- raspadinha de segredos ---------- */
.j2-raspadinha-wrap{
  display:flex;align-items:center;gap:.6em;width:100%;
  justify-content:center;
}
.j2-seta{
  width:44px;height:44px;border-radius:50%;flex:none;
  border:1px solid rgba(243,234,216,.25);
  background:rgba(11,13,38,.6);color:var(--creme-suave);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;font-size:16px;
  transition:color .25s ease,border-color .25s ease,opacity .25s ease;
}
.j2-seta:hover{color:var(--ouro);border-color:var(--ouro)}
.j2-seta:disabled{opacity:.3;cursor:default}
.j2-cartao-segredo{
  width:min(320px,72vw);
  background:var(--papel);
  border-radius:6px;
  padding:12px 12px 40px;
  box-shadow:0 18px 50px rgba(0,0,0,.5);
  transform:rotate(-1.5deg);
  position:relative;
}
.j2-cartao-segredo .area{
  position:relative;min-height:11em;border-radius:4px;overflow:hidden;
  background:var(--papel);
  display:flex;align-items:center;justify-content:center;
}
.j2-cartao-segredo .segredo{
  font-family:var(--manuscrita);
  font-size:clamp(1.05rem,3.3vw,1.35rem);line-height:1.32;
  color:var(--tinta);padding:1em .9em;
}
.j2-cartao-segredo canvas{
  position:absolute;inset:0;width:100%;height:100%;
  touch-action:none;cursor:crosshair;
}
.j2-cartao-segredo .rotulo{
  position:absolute;left:0;right:0;bottom:10px;
  font-family:var(--mono);font-size:10px;letter-spacing:.2em;
  color:rgba(61,44,42,.6);text-align:center;text-transform:lowercase;
}
.j2-pontos{
  display:flex;gap:8px;justify-content:center;margin-top:1.2em;
}
.j2-pontos i{
  width:6px;height:6px;border-radius:50%;
  background:transparent;border:1px solid rgba(243,234,216,.4);
}
.j2-pontos i.atual{border-color:var(--ouro)}
.j2-pontos i.revelado{background:var(--ouro);border-color:var(--ouro)}

/* ---------- fase final: o curta do chão ao céu (tela cheia) ---------- */
.j2-cinema{
  position:absolute;inset:0;width:100%;height:100%;
  pointer-events:none;
}
.j2-final-contador{
  font-family:var(--serif-display);font-style:italic;font-weight:340;
  font-size:clamp(1.1rem,4vw,1.5rem);color:var(--creme);
  margin-top:.6em;
}
.j2-final-contador b{color:var(--ouro);font-weight:480;font-variant-numeric:tabular-nums}

@media (max-width:640px){
  .j2-cena{padding:max(7vh,64px) 5vw max(9vh,72px)}
}
