/* Nova Capital - tema sazonal v2 (dados: /api/tema = calendario do jogo; reserva /static/app/tema.json).
   Regras: nada decorativo recebe clique (pointer-events:none); camada solta fica ATRAS do conteudo (z-index:-1);
   abóboras/morcegos "ao rolar" ficam em faixas DENTRO do fluxo da página (nunca por cima de botão). */
:root{--nct-p:#ffc83d;--nct-s:#1e5bff}
/* ---------- faixa do evento (todas as páginas) ---------- */
.nct-faixa{position:relative;z-index:9;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 12px;text-align:center;font-weight:800;font-size:.98rem;line-height:1.3;padding:10px 46px 10px 14px;color:#fff;background:linear-gradient(90deg,var(--nct-s),var(--nct-p) 55%,var(--nct-s));background-size:200% 100%;animation:nct-brilho 8s linear infinite;box-shadow:0 3px 18px rgba(0,0,0,.45);text-shadow:0 1px 2px rgba(0,0,0,.5)}
.nct-faixa .nct-cd{font-variant-numeric:tabular-nums;background:rgba(0,0,0,.35);border-radius:999px;padding:2px 10px;font-size:.9rem}
.nct-faixa a{color:#fff;text-decoration:underline}
.nct-x{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;border-radius:50%;background:rgba(0,0,0,.3);color:#fff;font-size:17px;line-height:32px;cursor:pointer;padding:0}
@keyframes nct-brilho{to{background-position:200% 0}}
/* ---------- HERO da página inicial ---------- */
.nct-hero{position:relative;overflow:hidden;border-radius:22px;margin:0 0 22px;min-height:340px;display:flex;align-items:flex-end;isolation:isolate;border:2px solid var(--nct-p);box-shadow:0 0 0 1px rgba(0,0,0,.4),0 10px 50px -10px var(--nct-p),0 0 60px -20px var(--nct-s)}
.nct-hero picture,.nct-hero img.nct-arte{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}
.nct-hero:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(8,4,14,.88) 0,rgba(8,4,14,.55) 45%,rgba(8,4,14,.05) 75%),linear-gradient(0deg,rgba(8,4,14,.85),transparent 55%)}
.nct-nevoa{position:absolute;left:-50%;width:200%;height:120px;bottom:-10px;z-index:-1;pointer-events:none;opacity:.55;background:radial-gradient(closest-side,rgba(190,170,255,.45),transparent) 0 0/360px 120px repeat-x;animation:nct-nevoa 38s linear infinite}
.nct-nevoa.b{bottom:30px;opacity:.3;animation-duration:60s;animation-direction:reverse}
@keyframes nct-nevoa{to{transform:translate3d(360px,0,0)}}
.nct-hero .nct-txt{position:relative;padding:28px 28px 26px;max-width:620px}
.nct-hero .nct-sel{display:inline-block;font-weight:800;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--nct-s);border-radius:999px;padding:4px 12px;margin-bottom:10px}
.nct-hero h2{font-family:'Bebas Neue',Inter,sans-serif;font-weight:400;letter-spacing:1px;font-size:clamp(2.3rem,7vw,4.4rem);line-height:.95;margin:0 0 8px;color:#fff;text-shadow:0 0 22px var(--nct-p),0 3px 0 rgba(0,0,0,.6)}
.nct-hero h2 b{color:var(--nct-p);font-weight:400}
.nct-hero p{margin:0 0 14px;color:#f4ecff;font-size:1.02rem;max-width:520px}
.nct-cdg{display:flex;gap:8px;margin:0 0 16px;flex-wrap:wrap}
.nct-cdg div{min-width:62px;text-align:center;background:rgba(10,4,20,.7);border:1px solid var(--nct-p);border-radius:12px;padding:6px 4px 4px;box-shadow:0 0 14px -4px var(--nct-p)}
.nct-cdg b{display:block;font-size:1.6rem;line-height:1.05;color:#fff;font-variant-numeric:tabular-nums}
.nct-cdg small{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#d8c9ff}
.nct-cta{display:inline-block;font-weight:800;border-radius:12px;padding:12px 20px;color:#1a0d00;background:linear-gradient(135deg,#ffd27a,var(--nct-p));box-shadow:0 8px 26px -6px var(--nct-p);text-decoration:none}
.nct-cta:hover{text-decoration:none;filter:brightness(1.08)}
.nct-hero .nct-voo{position:absolute;right:6%;top:12%;width:38%;height:60%;pointer-events:none;z-index:-1}
/* ---------- faixas decorativas entre seções (no fluxo: nunca cobrem nada) ---------- */
.nct-div{display:flex;align-items:flex-end;justify-content:center;gap:clamp(8px,4vw,40px);height:58px;margin:8px 0;pointer-events:none;user-select:none;overflow:hidden}
.nct-div svg{height:100%;width:auto;flex:0 0 auto}
.nct-div .p{height:46px}.nct-div .m{height:22px;align-self:center}.nct-div .g{height:40px;opacity:.85}
/* ---------- cards e caixas ---------- */
html.nct-on .caixa,html.nct-on .lc-card,html.nct-on .vp-card,html.nct-on .cards>a,html.nct-on .cards>div{border-color:var(--nct-p)!important;box-shadow:0 0 0 1px rgba(0,0,0,.25),0 0 22px -8px var(--nct-p),0 0 34px -18px var(--nct-s);transition:box-shadow .25s}
html.nct-on .caixa:hover,html.nct-on .lc-card:hover,html.nct-on .vp-card:hover,html.nct-on .cards>a:hover{box-shadow:0 0 0 1px var(--nct-p),0 0 28px -6px var(--nct-p),0 0 44px -14px var(--nct-s)}
html.nct-on .faixa-br{height:5px;background:linear-gradient(90deg,var(--nct-s),var(--nct-p) 50%,var(--nct-s))}
html.nct-on .topo{border-bottom:2px solid var(--nct-p);box-shadow:0 4px 22px -10px var(--nct-p)}
html.nct-on .tit{text-shadow:0 0 18px var(--nct-p33)}
html.nct-on body{background:radial-gradient(1100px 560px at 85% -10%,var(--nct-p33),transparent 60%),radial-gradient(900px 520px at -10% 25%,var(--nct-s33),transparent 60%),var(--fundo,#0a0f0c)}
/* ---------- camada de fundo (atrás de tudo) ---------- */
.nct-camada{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden}
.nct-camada .nct-fundo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22;filter:saturate(1.2)}
.nct-camada svg,.nct-camada span{position:absolute;display:block}
.nct-teia{top:0;width:min(170px,30vw);height:auto;opacity:.55}
.nct-teia.e{left:0}.nct-teia.d{right:0;transform:scaleX(-1)}
.nct-voa{top:0;left:0;will-change:transform;opacity:.85}
.nct-fant{opacity:.55}
@keyframes nct-cruza{from{transform:translate3d(-12vw,var(--y0),0)}to{transform:translate3d(112vw,var(--y1),0)}}
@keyframes nct-volta{from{transform:translate3d(112vw,var(--y0),0)}to{transform:translate3d(-14vw,var(--y1),0)}}
@keyframes nct-cai{from{transform:translate3d(var(--x0),-6vh,0) rotate(0)}to{transform:translate3d(var(--x1),106vh,0) rotate(360deg)}}
@keyframes nct-bate{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.45)}}
@keyframes nct-boia{0%,100%{transform:translateY(0)}50%{transform:translateY(12px)}}
@keyframes nct-pisca{0%,100%{opacity:1}50%{opacity:.55}}
.nct-asa{transform-box:fill-box;transform-origin:50% 40%;animation:nct-bate .35s ease-in-out infinite}
.nct-boia{transform-box:fill-box;animation:nct-boia 3.4s ease-in-out infinite}
.nct-rosto{animation:nct-pisca 2.4s ease-in-out infinite}
/* ---------- cursor (só desktop com mouse) ---------- */
.nct-faisca{position:fixed;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;pointer-events:none;z-index:2147483000;background:radial-gradient(circle,#fff,var(--nct-p) 45%,transparent 70%);animation:nct-faisca .7s ease-out forwards}
@keyframes nct-faisca{to{transform:translate3d(var(--dx),var(--dy),0) scale(.2);opacity:0}}
/* ---------- seção de eventos (/sistemas/eventos e início) ---------- */
.nct-ev{margin:0 0 22px}
.nct-ev .nct-hero{min-height:300px}
.nct-ev-grade{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;margin-top:16px}
.nct-ev-box{background:rgba(12,8,22,.78);border:1px solid var(--nct-p);border-radius:16px;padding:16px 18px;box-shadow:0 0 22px -10px var(--nct-p)}
.nct-ev-box h3{margin:0 0 10px;font-size:1.15rem;color:#fff}
.nct-ev-box ul{margin:0;padding-left:18px}.nct-ev-box li{margin:4px 0}
.nct-chips{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 0}
.nct-chips code{font-size:.95rem;font-weight:800;color:#1a0d00;background:var(--nct-p);padding:4px 10px;border-radius:8px}
.nct-rank{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.nct-rank td{padding:6px 4px;border-bottom:1px solid rgba(255,255,255,.08)}
.nct-rank td:first-child{width:36px;font-weight:800;color:var(--nct-p)}
.nct-rank td:last-child{text-align:right;font-weight:800}
.nct-prox{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-top:10px}
.nct-prox a,.nct-prox div{display:block;border-radius:14px;padding:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);color:inherit}
.nct-prox b{display:block;font-size:1.05rem;color:#fff}
.nct-prox span{color:var(--mut,#9aa)}
.nct-ev-h{font-family:'Bebas Neue',Inter,sans-serif;font-weight:400;letter-spacing:1px;font-size:1.9rem;margin:18px 0 6px}
@media (max-width:760px){
  .nct-ev-grade{grid-template-columns:1fr}
  .nct-hero{min-height:300px;border-radius:16px}
  .nct-hero .nct-txt{padding:20px 16px 18px}
  .nct-hero .nct-voo{width:60%;height:45%;right:0;top:4%}
  .nct-cdg div{min-width:54px}.nct-cdg b{font-size:1.3rem}
  .nct-faixa{font-size:.86rem;padding-right:42px}
  .nct-voa.extra{display:none}
  .nct-div{height:46px}.nct-div .p{height:38px}
}
@media (prefers-reduced-motion:reduce){.nct-voa,.nct-asa,.nct-boia,.nct-rosto,.nct-nevoa,.nct-faixa{animation:none!important}.nct-camada .nct-voa{display:none}.nct-faisca{display:none}}
