
#v-passaporte{
  --pp-papel:#F8F2E4;
  --pp-papel-2:#EFE6D2;
  --pp-borda:#DCCFB4;
  --pp-tinta:#2E2C28;
  --pp-tinta-2:#625C52;
  --pp-tracejado:#A39B8C;
  --pp-fibra:rgba(120,92,44,.022);
  --pp-sombra-papel:rgba(74,54,22,1);
  --pp-folha-1:#EEE6D3;
  --pp-folha-2:#E6DCC6;
  --pp-folha-linha:#C9BB9C;
  --pp-capa:oklch(from var(--superficie) var(--pp-capa-l) calc(c * var(--pp-capa-croma)) calc(h + var(--pp-capa-giro)));
  --pp-capa-2:oklch(from var(--superficie) calc(var(--pp-capa-l) - .08) calc(c * var(--pp-capa-croma)) calc(h + var(--pp-capa-giro)));
  --pp-capa-borda:oklch(from var(--superficie) calc(var(--pp-capa-l) - .15) calc(c * var(--pp-capa-croma)) calc(h + var(--pp-capa-giro)));
  --pp-dourado:#E2D2A4;
  --pp-dourado-2:#C9B57E;
  --pp-ocre:#86651A;
}
[data-modo="escuro"] #v-passaporte{
  --pp-papel:#E9E0CB;--pp-papel-2:#DFD4BC;--pp-borda:#C6B898;
  --pp-folha-1:#DDD2BA;--pp-folha-2:#D2C6AB;--pp-folha-linha:#A89A7A;
  --pp-capa-borda:oklch(from var(--superficie) calc(var(--pp-capa-l) + .11) calc(c * .4) calc(h + var(--pp-capa-giro)));
}
:root{--pp-capa-l:.37;--pp-capa-croma:.5;--pp-capa-giro:0}
[data-tema="NEUTRO"]{--pp-capa-l:.29;--pp-capa-croma:.5}
[data-tema="BRONZE"]{--pp-capa-l:.42;--pp-capa-croma:.7;--pp-capa-giro:8}
[data-tema="PRATA"]{--pp-capa-l:.41;--pp-capa-croma:.85}
[data-tema="OURO"]{--pp-capa-l:.47;--pp-capa-croma:.8;--pp-capa-giro:12}
[data-tema="ESMERALDA"]{--pp-capa-l:.36;--pp-capa-croma:.6}
[data-tema="DIAMANTE"]{--pp-capa-l:.33;--pp-capa-croma:.85}
:root:not([data-tema]),[data-tema="NEUTRO"]{--nx-marca-fundo:#98D7D0;--nx-marca-tinta:#414138}

.pp-raiz{display:flex;flex-direction:column;gap:12px;max-width:1240px;width:100%;margin:0 auto}
.pp-aguarde{color:var(--muted);font-size:var(--t14);margin:24px 0}

.pp-controles{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;flex:0 0 auto;
  background:var(--papel);border:1px solid var(--linha);border-radius:10px;padding:4px 6px 4px 12px;
}
.pp-capa{
  position:relative;display:flex;flex-direction:column;
  padding:12px 14px 16px;border-radius:14px;
  background:
    linear-gradient(90deg,transparent calc(50% - 14px),rgba(0,0,0,.22) 50%,transparent calc(50% + 14px)),
    linear-gradient(180deg,rgba(255,255,255,.05),rgba(0,0,0,.06)),
    linear-gradient(180deg,var(--pp-capa),var(--pp-capa-2));
  border:1px solid var(--pp-capa-borda);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 2px 4px -2px rgba(12,18,34,.3),0 16px 30px -20px rgba(12,18,34,.6);
}
.pp-capa-marca{
  position:absolute;right:22px;bottom:2px;
  font-family:var(--fd);font-size:9px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;line-height:12px;
  color:var(--pp-dourado);opacity:.75;pointer-events:none;user-select:none;-webkit-user-select:none;cursor:default;
}

.pp-barra{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;flex:1 1 auto;min-width:0}
.pp-resumo{display:flex;gap:6px;flex-wrap:wrap;user-select:none;-webkit-user-select:none;cursor:default}
.pp-chip{font-size:var(--t12);font-variant-numeric:tabular-nums;background:var(--papel);border-color:var(--linha);color:var(--ink-2)}
.pp-ir{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.pp-ir-rot{font-size:var(--t12);color:var(--ink-3);margin-right:4px;user-select:none;-webkit-user-select:none;cursor:default}
.btn.plain.pp-ancora{margin:0;min-height:32px;background:var(--papel);border:1px solid var(--linha);color:var(--ink-2)}
.btn.plain.pp-ancora:hover{background:var(--tinte-1)}
.btn.plain.pp-ancora[aria-current="true"]{background:var(--teal);border-color:var(--teal);color:var(--sobre-acento);font-weight:600}
.btn.plain.pp-ancora[aria-current="true"]:hover{background:var(--teal-dark)}
.btn.plain.pp-ancora:focus-visible{outline:2px solid var(--ink);outline-offset:2px}

.pp-livro{
  position:relative;display:grid;grid-template-columns:1fr 1fr;
  color:var(--pp-tinta);outline:none;touch-action:pan-y;
  filter:drop-shadow(0 6px 8px rgba(0,0,0,.28));
}
.pp-livro:focus-visible{outline:2px solid var(--pp-dourado);outline-offset:4px}
.pp-livro::after{
  content:"";position:absolute;top:16px;bottom:2px;left:50%;width:1px;margin-left:-.5px;z-index:2;
  background:linear-gradient(180deg,transparent,rgba(74,54,22,.4) 12%,rgba(74,54,22,.4) 92%,transparent);pointer-events:none;
}
.pp-pagina{
  position:relative;isolation:isolate;container-type:inline-size;
  display:flex;flex-direction:column;padding:24px 24px 22px;min-width:0;min-height:0;
  background:
    radial-gradient(ellipse 60% 22px at 100% 0,rgba(74,54,22,.16),transparent 100%),
    radial-gradient(ellipse 60% 16px at 100% 100%,rgba(74,54,22,.12),transparent 100%),
    linear-gradient(90deg,
      rgba(74,54,22,.07) 0,transparent 18px,transparent calc(100% - 96px),
      rgba(74,54,22,.07) calc(100% - 56px),rgba(74,54,22,.18) calc(100% - 18px),rgba(74,54,22,.34) 100%),
    radial-gradient(ellipse 70% 70% at 45% 30%,rgba(255,255,255,.42),transparent 70%),
    repeating-linear-gradient(0deg,var(--pp-fibra) 0 1px,transparent 1px 4px),
    radial-gradient(ellipse 120% 90% at 50% 100%,rgba(196,160,96,.12),transparent 70%),
    var(--pp-papel);
  border-radius:4px 58% 2px 58% / 4px 16px 2px 10px;
  box-shadow:
    inset 0 4px 6px -5px rgba(74,54,22,.45),inset 0 -4px 6px -5px rgba(74,54,22,.4),
    -2px 2px 0 -1px var(--pp-folha-1),-2px 2px 0 0 var(--pp-folha-linha),
    -4px 4px 0 -1px var(--pp-folha-2),-4px 4px 0 0 var(--pp-folha-linha);
}
.pp-livro > .pp-pagina:nth-child(even){
  background:
    radial-gradient(ellipse 60% 22px at 0 0,rgba(74,54,22,.16),transparent 100%),
    radial-gradient(ellipse 60% 16px at 0 100%,rgba(74,54,22,.12),transparent 100%),
    linear-gradient(270deg,
      rgba(74,54,22,.07) 0,transparent 18px,transparent calc(100% - 96px),
      rgba(74,54,22,.07) calc(100% - 56px),rgba(74,54,22,.18) calc(100% - 18px),rgba(74,54,22,.34) 100%),
    radial-gradient(ellipse 70% 70% at 55% 30%,rgba(255,255,255,.42),transparent 70%),
    repeating-linear-gradient(0deg,var(--pp-fibra) 0 1px,transparent 1px 4px),
    radial-gradient(ellipse 120% 90% at 50% 100%,rgba(196,160,96,.12),transparent 70%),
    var(--pp-papel);
  border-radius:58% 4px 58% 2px / 16px 4px 10px 2px;
  box-shadow:
    inset 0 4px 6px -5px rgba(74,54,22,.45),inset 0 -4px 6px -5px rgba(74,54,22,.4),
    2px 2px 0 -1px var(--pp-folha-1),2px 2px 0 0 var(--pp-folha-linha),
    4px 4px 0 -1px var(--pp-folha-2),4px 4px 0 0 var(--pp-folha-linha);
}
.pp-pagina > *{position:relative;z-index:1}
.pp-pagina > .pp-marca-dagua{
  position:absolute;inset:8% 6%;z-index:0;pointer-events:none;
  display:flex;align-items:center;justify-content:center;
  color:var(--pp-capa);
  background:
    repeating-radial-gradient(circle at 46% 50%,transparent 0 6px,currentColor 6px 6.6px),
    repeating-radial-gradient(circle at 54% 50%,transparent 0 6px,currentColor 6px 6.6px);
  -webkit-mask:radial-gradient(closest-side,#000 50%,transparent 100%);
  mask:radial-gradient(closest-side,#000 50%,transparent 100%);
  opacity:.1;user-select:none;-webkit-user-select:none;
}
.pp-marca-w{display:block;width:min(56cqw,300px);height:auto;opacity:.9}
.pp-pagina[hidden]{display:none}
.pp-pagina-cab{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  padding-bottom:8px;border-bottom:1px solid var(--pp-borda);
  user-select:none;-webkit-user-select:none;cursor:default;
}
.pp-pagina-titulo{margin:0;font-family:var(--fd);font-size:var(--t18);font-weight:600;color:var(--pp-tinta)}
.pp-pagina-n{font-size:var(--t12);color:var(--pp-tinta-2);font-variant-numeric:tabular-nums}
.pp-pagina-corpo{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0;padding-top:12px}
.pp-pagina-texto{margin:0;font-size:var(--t14);line-height:1.5;color:var(--pp-tinta-2);max-width:46ch}

.pp-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;flex:1;padding-top:8px}
.pp-grade--eventos{grid-template-rows:repeat(2,minmax(0,1fr))}
.pp-grade--lojas{align-content:space-evenly}
.pp-grade--lojas .pp-vaga:nth-child(3){grid-column:1 / -1;justify-self:center;width:calc(50% - 12px)}
.pp-vaga{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}
.pp-legenda{
  margin-top:6px;font-size:var(--t12);letter-spacing:.02em;color:var(--pp-tinta-2);white-space:nowrap;
  user-select:none;-webkit-user-select:none;cursor:default;
}
.pp-vaga--vazia .pp-legenda{color:#8C8475}

.pp-carta{
  --pp-dx:0px;--pp-dy:0px;--pp-rot:0deg;
  display:block;width:92%;max-width:230px;aspect-ratio:1;padding:0;margin:0;
  background:transparent;border:0;border-radius:50%;color:inherit;
  transform:translate(var(--pp-dx),var(--pp-dy)) rotate(var(--pp-rot));
  user-select:none;-webkit-user-select:none;cursor:default;
}
button.pp-carta{cursor:pointer;transition:transform .15s ease}
button.pp-carta:hover{transform:translate(var(--pp-dx),var(--pp-dy)) rotate(var(--pp-rot)) scale(1.04)}
button.pp-carta:focus-visible{outline:2px solid var(--pp-tinta);outline-offset:4px}
.pp-carta .nx-carimbo{pointer-events:none}
button.pp-carta svg.nx-carimbo{mix-blend-mode:multiply}
.view.app#v-passaporte svg.nx-carimbo--tinta-vinho{color:var(--pp-ocre)}
.view.app .pp-carta--vazia svg.nx-carimbo{color:#B3AB9C;opacity:.85}
.pp-carta--vazia .nx-carimbo-contorno{stroke-width:1.2px;stroke-dasharray:4 5;stroke-linecap:butt}
.pp-carta--vazia text{font-weight:500}

.pp-reservado{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;
  width:80%;max-width:190px;aspect-ratio:1;padding:12px;box-sizing:border-box;
  border:1.5px dashed var(--pp-tracejado);border-radius:50%;color:var(--pp-tinta-2);
  user-select:none;-webkit-user-select:none;cursor:default;
}
.pp-reservado-quando{font-size:var(--t11);letter-spacing:.08em;text-transform:uppercase}
.pp-reservado-titulo{font-family:var(--fd);font-size:var(--t13);font-weight:600;color:var(--pp-tinta);line-height:1.25;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pp-reservado-lugar{font-size:var(--t11)}
.pp-reservado--convite{max-width:176px;align-self:center}

.pp-convite{align-items:flex-start}
.pp-convite-chamada{margin:0;font-family:var(--fd);font-size:var(--t16);font-weight:600;color:var(--pp-tinta)}
.pp-convite .pp-reservado--convite{margin:4px auto 0}
.btn.out.pp-convite-ir{align-self:center;margin-top:0;background:rgba(255,255,255,.35);border-color:var(--pp-capa);color:var(--pp-capa)}
.btn.out.pp-convite-ir:hover{background:color-mix(in srgb,var(--pp-capa) 9%,transparent)}
.btn.out.pp-convite-ir:focus-visible{outline:2px solid var(--pp-capa);outline-offset:2px}
.pp-convite-ir svg,.pp-folhear svg,.pp-detalhe-fechar svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.pp-folhear{display:flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;margin-left:auto}
.pp-folhear .btn{margin:0;min-height:44px;min-width:44px;background:var(--papel);border-color:var(--linha-2);color:var(--ink-2)}
.pp-folhear .btn:hover{background:var(--tinte-1)}
.pp-folhear .btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.pp-folhear .btn:disabled{opacity:.7;cursor:default;background:transparent;border-color:var(--linha);color:var(--muted)}
.pp-pontos{display:flex;align-items:center;gap:2px}
.pp-ponto{
  min-width:44px;min-height:44px;padding:0 6px;border:0;background:transparent;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;border-radius:6px;
  user-select:none;-webkit-user-select:none;
}
.pp-ponto-rot{
  font-size:var(--t12);font-variant-numeric:tabular-nums;color:var(--ink-2);background:var(--papel);
  padding:3px 8px;border-radius:999px;border:1px solid transparent;
}
.pp-ponto:hover .pp-ponto-rot{border-color:var(--linha-2)}
.pp-ponto[aria-current="true"] .pp-ponto-rot{background:var(--teal);color:var(--sobre-acento);font-weight:600}
.pp-ponto:focus-visible{outline:2px solid var(--ink);outline-offset:1px}
.pp-anuncio{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

.pp-detalhe-fundo{
  position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;
  padding:16px;background:rgba(20,20,18,.45);
}
.pp-detalhe{
  width:100%;max-width:420px;max-height:calc(100dvh - 32px);overflow:auto;
  background:var(--pp-papel);color:var(--pp-tinta);border:1px solid var(--pp-borda);border-radius:8px;
  box-shadow:0 18px 48px -20px rgba(0,0,0,.5);padding:16px 20px 22px;
}
.pp-detalhe-cab{display:flex;align-items:center;justify-content:space-between;gap:12px;user-select:none;-webkit-user-select:none}
.pp-detalhe-tipo{font-size:var(--t12);letter-spacing:.06em;text-transform:uppercase;color:var(--pp-tinta-2)}
.pp-detalhe-fechar{color:var(--pp-tinta);min-height:44px;margin:0}
.pp-detalhe-arte{width:240px;max-width:72%;margin:8px auto 4px}
.pp-detalhe-arte svg.nx-carimbo{mix-blend-mode:multiply}
.pp-detalhe-corpo{text-align:center;border-top:1px solid var(--pp-borda);padding-top:14px;margin-top:8px}
.pp-detalhe-titulo{margin:0;font-family:var(--fd);font-size:var(--t21);font-weight:600;color:var(--pp-tinta)}
.pp-detalhe-sub{margin:4px 0 0;font-size:var(--t14);color:var(--pp-tinta-2)}
.pp-detalhe-frase{margin:14px 0 0;font-family:var(--fd);font-size:var(--t16);font-weight:500;color:var(--pp-tinta)}
.pp-detalhe-projeto{
  margin:12px auto 0;max-width:34ch;font-size:var(--t14);line-height:1.45;color:var(--pp-tinta);
  padding:8px 12px;border-left:2px solid var(--pp-capa);background:var(--pp-papel-2);text-align:left;border-radius:0 4px 4px 0;
}

.view.app .rail .rail-fim .pp-mais-grupo{display:none}

@media (min-width:761px){
  .pp-raiz{flex:1 1 auto;min-height:0;justify-content:center}
  .pp-capa{flex:1 1 auto;min-height:440px;max-height:760px}
  .pp-livro{flex:1 1 auto;min-height:0}
  .pp-grade{min-height:0;gap:16px 20px;padding-top:4px}
  .pp-grade--lojas{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(0,1fr);align-content:stretch;gap:8px}
  .pp-grade--lojas .pp-vaga:nth-child(3){grid-column:auto;justify-self:stretch;width:auto}
  .pp-grade--lojas .pp-vaga:nth-child(3n+1){justify-content:flex-start;padding-top:4%}
  .pp-grade--lojas .pp-vaga:nth-child(3n+2){justify-content:flex-end;padding-bottom:6%}
  .pp-vaga{container-type:size;min-height:0}
  .pp-carta{width:min(100cqw - 8px,100cqh - 8px,230px);max-width:none}
  .pp-vaga--loja .pp-carta{width:min(100cqw - 6px,100cqh - 34px,200px)}
  .pp-reservado{width:min(100cqw - 16px,100cqh - 16px,190px);max-width:none;padding:10px}
  .pp-reservado--convite{width:min(176px,32vh)}
}

@media (max-width:760px){
  .view.app .rail > a[data-ir="niveis"],
  .view.app .rail > a[data-ir="conquistas"],
  .view.app .rail > a[data-ir="passaporte"]{display:none}
  .view.app .rail[data-nx-mais] .rail-fim .pp-mais-grupo{
    display:flex;flex-direction:column;align-items:stretch;gap:2px;
    padding-bottom:6px;margin-bottom:4px;border-bottom:1px solid var(--linha);
  }
  .view.app .rail[data-nx-mais] .rail-fim .pp-mais-grupo .rot{font-weight:600;color:var(--ink)}
  .view.app .rail[data-nx-mais] .rail-fim .pp-mais-grupo a.on .rot{color:var(--teal-dark)}
  .view.app .rail .nx-mais.pp-mais-ativo{background:var(--tinte-1);color:var(--teal-dark)}

  .pp-raiz{gap:12px}
  .pp-capa{
    padding:10px 10px 16px;border-radius:12px;
    background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(0,0,0,.06)),linear-gradient(180deg,var(--pp-capa),var(--pp-capa-2));
  }
  .pp-capa-marca{right:16px}
  .pp-controles{gap:4px 8px;padding:4px 6px 4px 10px}
  .pp-barra{display:contents}
  .pp-resumo{order:1;flex-basis:100%;padding-top:4px}
  .pp-ir{order:2;gap:4px}
  .pp-ir-rot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .btn.plain.pp-ancora{padding-left:8px;padding-right:8px}
  .pp-folhear{order:3}
  .btn.plain.pp-ancora{min-height:44px}
  .pp-livro{grid-template-columns:1fr;min-height:0}
  .pp-livro > .pp-pagina,.pp-livro > .pp-pagina:nth-child(even){
    background:
      radial-gradient(ellipse 60% 18px at 0 0,rgba(74,54,22,.16),transparent 100%),
      radial-gradient(ellipse 60% 14px at 0 100%,rgba(74,54,22,.12),transparent 100%),
      linear-gradient(90deg,rgba(74,54,22,.28) 0,rgba(74,54,22,.1) 10px,rgba(74,54,22,.03) 28px,transparent 48px,transparent calc(100% - 14px),rgba(74,54,22,.07) 100%),
      radial-gradient(ellipse 70% 60% at 50% 25%,rgba(255,255,255,.4),transparent 70%),
      repeating-linear-gradient(0deg,var(--pp-fibra) 0 1px,transparent 1px 4px),
      var(--pp-papel);
    border-radius:58% 4px 58% 2px / 12px 4px 8px 2px;
    box-shadow:
      inset 0 4px 6px -5px rgba(74,54,22,.45),inset 0 -4px 6px -5px rgba(74,54,22,.4),
      2px 2px 0 -1px var(--pp-folha-1),2px 2px 0 0 var(--pp-folha-linha),
      4px 4px 0 -1px var(--pp-folha-2),4px 4px 0 0 var(--pp-folha-linha);
  }
  .pp-grade{gap:16px}
  .pp-livro::after{display:none}
  .pp-pagina{padding:22px 18px 22px 22px;min-height:460px}
  .pp-pagina--fim{display:none !important}
  .pp-reservado{padding:10px}
  .pp-convite-ir{min-height:44px}
  .pp-folhear{gap:4px}
  .pp-folhear-rot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .pp-folhear .btn{padding:8px 10px}
  .pp-ponto{min-width:44px;padding:0 2px}
}

