/* Área do participante · Freedom Summit 2026 — Linha Editorial, com cara de app
   Creme, verde-escuro, dourado envelhecido e títulos em serifa.
   Coluna única (até 560px), barra no topo e abas embaixo, também no computador. */
:root{
  --marfim:#F7F4EC; --papel:#FCFAF5; --creme:#EFE8D8; --linha:#E2D7C0;
  --verde:#063D32; --profundo:#032E27; --ouro:#B8872E; --champanhe:#C89B45; --ouro-txt:#8A6320; --ouro-claro:#D9B872;
  --grafite:#2B302C; --cinza:#5C625C; --apoio:#4A4F4A; --branco:#FFFFFF; --sombra:rgba(6,61,50,.08);
  --serif:'DM Serif Display',Georgia,'Times New Roman',serif;
  --sans:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --g:16px;                 /* margem lateral */
  --larg:560px;             /* largura da coluna do app */
  --topo:calc(58px + env(safe-area-inset-top,0px));
  --abas:calc(66px + env(safe-area-inset-bottom,0px));
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
/* Nada passa da largura da tela (clip não cria rolagem e não quebra o sticky) */
html,body{overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--topo) + 8px)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--creme);color:var(--grafite);font:400 16px/1.55 var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
img{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit;color:inherit}
button{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid var(--ouro);outline-offset:3px;border-radius:8px}
em{font-style:italic;color:var(--ouro)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ic{flex:none}
.kick{font:800 11px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ouro-txt)}
.h3s{font:800 11.5px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--verde)}
.lead{font-size:16px;color:var(--apoio)}

/* ── Coluna do app ──────────────────────────── */
.app{position:relative;max-width:var(--larg);margin:0 auto;min-height:100vh;min-height:100dvh;background:var(--marfim)}
@media (min-width:600px){
  .app{box-shadow:0 0 0 1px var(--linha),0 30px 80px rgba(6,61,50,.10)}
}

/* arcos finos de canto: presos numa caixa que corta o que sobra */
.arcos-caixa{position:absolute;top:0;left:0;right:0;height:420px;overflow:hidden;pointer-events:none;z-index:0}
.arcos{position:absolute;right:-140px;top:-190px;width:460px;height:460px}
.arcos circle{fill:none;stroke:var(--champanhe);stroke-width:1.4;opacity:.7}
.arcos circle.fino{stroke-width:.8;opacity:.4}

/* ── Botões ─────────────────────────────────── */
.acoes{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;background:var(--verde);color:var(--branco);border:1.5px solid var(--champanhe);border-radius:16px;
  padding:12px 20px;font:800 13px/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;text-align:center;
  box-shadow:0 8px 18px rgba(6,61,50,.16);transition:transform .15s,opacity .15s}
.btn .ic{color:var(--champanhe)}
.btn:active{transform:scale(.98)}
.btn:disabled{opacity:.6;cursor:progress}
.btn.contorno{background:var(--papel);color:var(--verde);box-shadow:none}
.btn.contorno .ic{color:var(--ouro)}
.mini{display:inline-flex;align-items:center;gap:6px;min-height:36px;font:800 11px/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--verde);
  background:var(--marfim);border:1.5px solid var(--linha);border-radius:999px;padding:8px 13px;cursor:pointer;text-decoration:none}
.mini:active{border-color:var(--champanhe)}
.link{display:inline-flex;align-items:center;gap:8px;font:700 14px/1.3 var(--sans);color:var(--verde);text-decoration:none;border-bottom:1.5px solid var(--champanhe);padding-bottom:2px;width:fit-content}
.link .ic{color:var(--ouro)}
.btn-ouro{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:58px;border:0;border-radius:18px;padding:14px 18px;cursor:pointer;
  background:linear-gradient(180deg,#E2C47F,var(--champanhe));color:var(--profundo);font:800 15px/1.2 var(--sans);letter-spacing:.04em;text-decoration:none;text-align:center;
  box-shadow:0 10px 24px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.4)}
.btn-ouro:active{transform:scale(.985)}
.btn-ouro.travado{background:rgba(255,255,255,.06);color:#DCE1DA;border:1.5px dashed rgba(217,184,114,.55);box-shadow:none;cursor:default;font-weight:700}
.btn-ouro.travado .ic{color:var(--ouro-claro)}
.link-perigo{justify-self:center;display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:6px;cursor:pointer;color:#A3432F;font:700 13.5px/1.3 var(--sans)}

/* ── Cartões ────────────────────────────────── */
.card{background:var(--papel);border:1px solid var(--linha);border-radius:20px;padding:18px;box-shadow:0 8px 22px var(--sombra);min-width:0}
.linha-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 14px 14px 16px;border-radius:20px;
  background:var(--papel);border:1px solid var(--linha);box-shadow:0 8px 22px var(--sombra);text-decoration:none;color:inherit;transition:transform .15s}
.linha-card:active{transform:scale(.99)}
.linha-card b{display:block;font:800 15px/1.3 var(--sans);color:var(--verde)}
.linha-card span span{display:block;font-size:13.5px;line-height:1.4;color:var(--cinza);margin-top:2px;overflow-wrap:anywhere}
.linha-card > .ic{color:var(--ouro)}
.linha-ic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--creme);color:var(--ouro-txt)}
.anel{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--ouro) calc(var(--p,0)*1%),var(--creme) 0);transition:background .4s}
.anel > b{width:40px;height:40px;border-radius:50%;background:var(--papel);display:flex;align-items:center;justify-content:center;white-space:nowrap;font:800 12.5px/1 var(--sans);color:var(--verde)}
.anel > b span{display:inline;margin:0;font:inherit;color:inherit}

/* ── Entrada ────────────────────────────────── */
.entrada .app{display:flex;flex-direction:column}
.entrada-topo{position:relative;z-index:1;padding:calc(22px + env(safe-area-inset-top,0px)) var(--g) 0}
.entrada-topo .logo{width:150px;height:auto}
.entrada-main{position:relative;z-index:1;flex:1;display:grid;gap:20px;align-content:start;padding:28px var(--g) 32px}
.entrada-hero{display:grid;gap:12px}
.entrada-hero h1{font:400 clamp(38px,11vw,52px)/1 var(--serif);letter-spacing:-.015em;color:var(--verde);text-wrap:balance}
.entrar{display:grid;gap:12px}
.entrar label{font:800 11.5px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--verde)}
.entrar input{width:100%;min-height:54px;border:1.5px solid var(--linha);background:var(--branco);border-radius:14px;padding:14px 16px;font-size:17px;color:var(--grafite);outline:none}
.entrar input:focus{border-color:var(--champanhe)}
.entrar .btn{width:100%}
.nao-achou{border-left:2px solid var(--ouro);padding:4px 0 4px 14px;display:grid;gap:8px;font-size:15px}
.nao-achou b{color:var(--verde)}
.nao-achou p{color:var(--apoio)}
.aviso-erro{font-size:14px;color:#A3432F;font-weight:700}
.fatos{display:grid;gap:0;background:var(--papel);border:1px solid var(--linha);border-radius:20px;padding:4px 16px}
.fatos li{display:flex;align-items:center;gap:14px;padding:12px 0;color:var(--verde)}
.fatos li + li{border-top:1px solid var(--linha)}
.fatos .ic{color:var(--ouro)}
.fatos b{display:block;font:800 15px/1.25 var(--sans)}
.fatos small{display:block;font-size:13px;color:var(--cinza)}

/* ── Validação pública do certificado ───────── */
.valido{display:grid;gap:10px;border:1.5px solid var(--champanhe);position:relative}
.selo-ok{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--verde);color:var(--ouro-claro);box-shadow:0 0 0 5px rgba(184,135,46,.15)}
.valido h2{font:400 italic clamp(28px,8vw,36px)/1.08 var(--serif);color:var(--ouro);overflow-wrap:anywhere}
.valido > p{font-size:15px;color:var(--apoio)}
.valido > p b{color:var(--verde)}
.valido dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin-top:6px;padding-top:12px;border-top:1px dashed var(--champanhe)}
.valido dl .largo{grid-column:1/-1}
.valido dt{font:800 10px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--cinza)}
.valido dd{font:800 14px/1.35 var(--sans);color:var(--verde);overflow-wrap:anywhere}
.invalido{display:grid;gap:6px;border:1.5px solid #D9A79B;background:#FBF1EE}
.invalido b{color:#8C3A28}
.invalido p{font-size:14.5px;color:var(--apoio)}
.validar .realiza b{font-size:11.5px;color:#C9CEC6;font-weight:600}

/* ── Barra do topo ──────────────────────────── */
.appbar{position:sticky;top:0;z-index:30;height:var(--topo);padding:env(safe-area-inset-top,0px) var(--g) 0;display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:rgba(247,244,236,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .2s}
.appbar.rolou{border-bottom-color:var(--linha)}
.appbar-logo img{height:34px;width:auto}
.appbar-dir{display:flex;align-items:center;gap:10px}
.appbar-n{font:800 11px/1 var(--sans);letter-spacing:.14em;color:var(--ouro-txt);background:var(--papel);border:1px solid var(--linha);border-radius:99px;padding:8px 10px}
.avatar{width:40px;height:40px;border-radius:50%;padding:0;border:1.5px solid var(--champanhe);background:var(--verde);color:var(--ouro-claro);display:grid;place-items:center;cursor:pointer;overflow:hidden;font:400 19px/1 var(--serif)}
.avatar img{width:100%;height:100%;object-fit:cover}

/* ── Telas (abas) ───────────────────────────── */
.telas{padding-bottom:calc(var(--abas) + 18px)}
.tela{position:relative;display:grid;gap:14px;align-content:start;padding:6px var(--g) 20px;min-width:0}
.tela > *{position:relative;z-index:1;min-width:0}
.tela > .arcos-caixa{position:absolute;z-index:0;top:calc(-1 * var(--topo))}
.com-abas .tela:not(.ativa){display:none}
.com-abas .tela.ativa{animation:aparece .22s ease}
@keyframes aparece{from{opacity:0;transform:translateY(6px)}}
.tela-h{display:grid;gap:6px;padding:12px 2px 2px}
.tela-h h2{font:400 clamp(30px,8.4vw,38px)/1.02 var(--serif);letter-spacing:-.01em;color:var(--verde);text-wrap:balance}
.tela-h .sub{font-size:15px;color:var(--apoio)}
.secao{display:grid;gap:14px;margin-top:10px;scroll-margin-top:calc(var(--topo) + 8px)}

/* ── Início ─────────────────────────────────── */
.ola{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 12px;padding:14px 2px 2px}
.ola h1{font:400 clamp(36px,10vw,44px)/1 var(--serif);letter-spacing:-.015em;color:var(--verde);overflow-wrap:anywhere;margin-top:4px}
.chip-cd > div{display:inline-flex;align-items:baseline;gap:6px;padding:7px 14px 8px;border-radius:99px;background:var(--papel);border:1.5px solid var(--champanhe);color:var(--verde);box-shadow:0 6px 16px var(--sombra)}
.chip-cd .cd-pre,.chip-cd .cd-l{font:800 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.chip-cd .cd-n{font:400 26px/1 var(--serif);font-style:italic;color:var(--ouro)}
.chip-cd .cd-hoje .cd-n{font-size:20px}
.recado{background:var(--papel);border:1.5px solid var(--champanhe);border-radius:18px;padding:12px 16px;display:grid;gap:4px}
.recado p{color:var(--verde);font-weight:600;font-size:15px}

/* Destaque escuro: sala do Zoom e, depois do evento, o certificado */
.destaque{position:relative;overflow:hidden;border-radius:24px;padding:20px 18px 18px;display:grid;gap:14px;color:#E8ECE6;
  background:radial-gradient(130% 90% at 100% 0%,#0E5C4B 0%,var(--verde) 42%,var(--profundo) 100%);
  border:1.5px solid var(--champanhe);box-shadow:0 18px 40px rgba(3,46,39,.30)}
.destaque::before,.destaque::after{content:"";position:absolute;border-radius:50%;pointer-events:none;border:1.5px solid rgba(217,184,114,.32)}
.destaque::before{width:240px;height:240px;right:-110px;top:-120px}
.destaque::after{width:170px;height:170px;right:-75px;top:-85px;border-width:1px;border-color:rgba(217,184,114,.2)}
.destaque > *{position:relative;z-index:1}
.destaque-topo{display:flex;align-items:center;gap:12px}
.destaque-ic{width:50px;height:50px;flex:none;border-radius:16px;display:grid;place-items:center;background:rgba(217,184,114,.14);border:1px solid rgba(217,184,114,.5);color:var(--ouro-claro)}
.destaque-kick{font:800 11px/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ouro-claro)}
.destaque h2{font:400 clamp(27px,7.6vw,32px)/1.05 var(--serif);color:#F7F4EC;text-wrap:balance}
.destaque h2 em{color:var(--ouro-claro)}
.destaque p{font-size:15px;color:#D3D9D1}
.destaque b{color:#fff}
.zoom-status{display:inline-flex;align-items:center;gap:6px;margin-top:5px;font:700 12.5px/1.2 var(--sans);color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:99px;padding:5px 10px}
.zoom-status .ic{color:var(--ouro-claro)}
.tag-vivo{display:inline-flex;align-items:center;gap:8px;margin-top:5px;font:800 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#fff;background:rgba(229,72,77,.18);border:1px solid rgba(229,72,77,.5);border-radius:99px;padding:6px 10px}
.tag-vivo i{width:8px;height:8px;border-radius:50%;background:#FF5C61;animation:pulso 1.6s infinite}
@keyframes pulso{0%{box-shadow:0 0 0 0 rgba(255,92,97,.7)}70%{box-shadow:0 0 0 9px rgba(255,92,97,0)}100%{box-shadow:0 0 0 0 rgba(255,92,97,0)}}
.zoom.aberta .btn-ouro{animation:chama 2s infinite}
@keyframes chama{0%{box-shadow:0 10px 24px rgba(0,0,0,.22),0 0 0 0 rgba(226,196,127,.6)}70%{box-shadow:0 10px 24px rgba(0,0,0,.22),0 0 0 14px rgba(226,196,127,0)}100%{box-shadow:0 10px 24px rgba(0,0,0,.22),0 0 0 0 rgba(226,196,127,0)}}
.zoom-dica{font-size:13.5px!important}
.zoom-acoes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.btn-vidro{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px;border-radius:14px;border:1px solid rgba(217,184,114,.4);
  background:rgba(255,255,255,.05);color:#F1F3EE;font:700 13px/1.2 var(--sans);text-decoration:none;text-align:center}
.btn-vidro .ic{color:var(--ouro-claro)}

/* Credencial em formato de passe */
.passe-bloco{display:grid;gap:8px;scroll-margin-top:calc(var(--topo) + 8px)}
.passe{position:relative;background:radial-gradient(120% 60% at 50% 0%,#FFFDF7 0%,var(--papel) 60%);border:1.5px solid var(--champanhe);border-radius:24px;box-shadow:0 18px 40px var(--sombra);
  -webkit-mask:radial-gradient(circle 13px at 0 calc(100% - 70px),transparent 12px,#000 13px) left/51% 100% no-repeat,radial-gradient(circle 13px at 100% calc(100% - 70px),transparent 12px,#000 13px) right/51% 100% no-repeat;
  mask:radial-gradient(circle 13px at 0 calc(100% - 70px),transparent 12px,#000 13px) left/51% 100% no-repeat,radial-gradient(circle 13px at 100% calc(100% - 70px),transparent 12px,#000 13px) right/51% 100% no-repeat}
.passe-topo{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 0}
.passe-topo img{width:104px;height:auto}
.passe-n{text-align:right;font:800 10px/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ouro-txt)}
.passe-n b{display:block;font:400 24px/1.05 var(--serif);letter-spacing:0;color:var(--verde);text-transform:none;margin-top:2px}
.passe-corpo{display:grid;justify-items:center;text-align:center;gap:4px;padding:10px 18px 20px}
.passe-foto{position:relative;width:124px;height:124px;border-radius:50%;padding:0;cursor:pointer;display:grid;place-items:center;background:var(--creme);
  border:4px solid var(--papel);box-shadow:0 0 0 1.5px var(--champanhe),0 12px 26px rgba(6,61,50,.14);margin-bottom:10px}
.passe-foto img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.passe-foto.vazia{background:var(--marfim);border:2px dashed var(--champanhe);box-shadow:0 10px 22px var(--sombra)}
.sem-foto{display:grid;justify-items:center;gap:6px;color:var(--ouro-txt);font:800 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.passe-cam{position:absolute;right:0;bottom:2px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--verde);color:var(--ouro-claro);border:3px solid var(--papel)}
.passe-nome{font:400 clamp(28px,8vw,34px)/1.05 var(--serif);color:var(--verde);overflow-wrap:anywhere;text-wrap:balance;max-width:100%}
.passe-papel{font:800 11px/1.3 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--ouro-txt);margin-top:4px}
.passe-pe{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;height:70px;align-items:center;padding:0 18px;border-top:1.5px dashed var(--champanhe)}
.passe-pe dt{font:800 9.5px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--cinza)}
.passe-pe dd{font:800 12.5px/1.25 var(--sans);color:var(--verde);margin:3px 0 0;overflow-wrap:anywhere}
.passe-dica{text-align:center;font-size:13.5px;color:var(--ouro-txt);font-weight:700}

/* Certificado no Início (antes e durante o evento) */
.cert-inicio{display:grid;gap:12px;scroll-margin-top:calc(var(--topo) + 8px)}
.cert-topo{display:flex;align-items:center;gap:12px}
.cert-topo b{display:block;font:400 22px/1.15 var(--serif);color:var(--verde);margin-top:2px}
.cert-inicio > p{font-size:14.5px;color:var(--apoio)}
.cert-inicio > p b{color:var(--verde)}
.cert-inicio .btn{width:100%}
.btn-trava{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;padding:12px 16px;border-radius:16px;
  border:1.5px dashed var(--champanhe);background:var(--marfim);color:var(--ouro-txt);font:800 13px/1.25 var(--sans);letter-spacing:.02em;text-align:center}
.btn-trava .ic{color:var(--ouro)}
#certificado.destaque{scroll-margin-top:calc(var(--topo) + 8px)}
.cert-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px}
.cert-links a,.cert-links button{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:6px 0;cursor:pointer;font:700 13px/1.3 var(--sans);color:var(--verde);text-decoration:none}
.cert-links .ic{color:var(--ouro)}
.cert-links.escuro a,.cert-links.escuro button{color:#F1F3EE}
.cert-links.escuro .ic{color:var(--ouro-claro)}
.cert-palavra{display:grid;gap:10px}
.cert-palavra input{font-size:18px;letter-spacing:.04em}
.cert-pronto{display:grid;justify-items:center;text-align:center;gap:10px;padding:6px 0 4px}
.cert-pronto > b{font:400 26px/1.1 var(--serif);color:var(--verde)}
.cert-pronto p{font-size:14.5px;color:var(--apoio)}
.cert-pronto strong{color:var(--verde);letter-spacing:.04em}
.cert-pronto .btn{width:100%}

/* Artes */
.artes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.arte-tile{display:grid;justify-items:center;align-content:start;gap:8px;padding:14px 6px 12px;border-radius:18px;background:var(--papel);border:1px solid var(--linha);
  color:var(--verde);font:800 12px/1.25 var(--sans);text-align:center;cursor:pointer;box-shadow:0 6px 16px var(--sombra);transition:transform .15s}
.arte-tile:active{transform:scale(.97)}
.arte-tile .ic-c{width:44px;height:44px;border-radius:50%;background:var(--creme);display:grid;place-items:center;color:var(--ouro-txt)}

/* Instalar */
.instalar-c{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 14px;align-items:center}
.instalar-c img{width:56px;height:56px;border-radius:14px;border:1px solid var(--linha)}
.instalar-c > div > b{display:block;font:800 15px/1.3 var(--sans);color:var(--verde)}
.instalar-c > div > span{display:block;font-size:13.5px;color:var(--cinza);margin-top:2px}
.instalar-c .btn,.instalar-c .btn-ouro{grid-column:1/-1;width:100%}
/* Na tela de entrada o convite para instalar vem em destaque, no verde do Summit */
.instalar-entrada{background:radial-gradient(130% 90% at 100% 0%,#0E5C4B 0%,var(--verde) 45%,var(--profundo) 100%);border:1.5px solid var(--champanhe);box-shadow:0 16px 34px rgba(3,46,39,.26)}
.instalar-entrada img{border-color:rgba(217,184,114,.55)}
.instalar-entrada > div > b{color:#F7F4EC;font-size:16px}
.instalar-entrada > div > span{color:#D3D9D1}

/* ── Missões ────────────────────────────────── */
.progresso{display:grid;gap:10px}
.barra{height:8px;border-radius:99px;background:var(--creme);overflow:hidden}
.barra i{display:block;height:100%;background:linear-gradient(90deg,var(--verde),var(--ouro));border-radius:99px;transition:width .5s ease}
.progresso p{font-size:14px;color:var(--cinza)}
.progresso b{color:var(--verde);font-weight:800}
.pronto{color:var(--ouro-txt);font-weight:700}
.missoes{display:grid;gap:10px}
.missao{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;padding:14px;border-radius:18px;background:var(--papel);border:1px solid var(--linha);transition:background .2s}
.m-check{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--champanhe);display:grid;place-items:center;color:transparent;background:var(--marfim);transition:background .2s,color .2s}
.m-txt{display:grid;gap:3px;min-width:0}
.m-txt > b{font:800 15px/1.3 var(--sans);color:var(--verde)}
.m-txt > span{font-size:14px;color:var(--apoio);line-height:1.45}
.m-acoes{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.missao.feita{background:transparent}
.missao.feita .m-check{background:var(--verde);border-color:var(--verde);color:#fff}
.missao.feita .m-txt > b{color:var(--cinza)}
.missao.feita .m-txt > b::after{content:" · feita";font-weight:700;color:var(--ouro-txt);font-size:12.5px}
.missao.acabou .m-check{animation:pop .45s ease}
@keyframes pop{40%{transform:scale(1.25)}}

/* ── Agenda ─────────────────────────────────── */
.prog{display:grid;gap:14px}
.prog-col{display:grid;gap:6px;padding:14px 16px 6px}
.prog li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;padding:12px 0;border-top:1px solid var(--linha);transition:background .2s}
.prog .hora{font:800 13.5px/1.5 var(--sans);color:var(--ouro-txt);font-variant-numeric:tabular-nums}
.prog b{font:700 15px/1.4 var(--sans);color:var(--verde);display:block}
.prog small{display:block;font-size:13px;color:var(--cinza);margin-top:2px}
.prog li.intervalo b{color:var(--cinza);font-weight:500;font-style:italic}
.agora-tag{display:none;margin-top:6px;font:800 10px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#fff;background:var(--verde);border-radius:99px;padding:5px 9px;width:fit-content}
.prog li.agora{background:var(--marfim);box-shadow:inset 3px 0 0 var(--ouro);padding-left:10px;margin:0 -16px;padding-right:16px;grid-template-columns:58px minmax(0,1fr)}
.prog li.agora .agora-tag{display:inline-block}
.prog li.passou{opacity:.5}

/* ── Formulários ────────────────────────────── */
.form-msg{display:grid;gap:10px}
.form-msg label{font:800 11.5px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--verde)}
.form-msg select,.form-msg textarea,.form-msg input{width:100%;min-width:0;border:1.5px solid var(--linha);background:var(--branco);border-radius:14px;padding:13px 14px;font-size:16px;color:var(--grafite);outline:none}
.form-msg select:focus,.form-msg textarea:focus,.form-msg input:focus{border-color:var(--champanhe)}
.form-msg textarea{resize:vertical;min-height:96px}
.form-msg .btn{width:100%}
.minhas{display:grid;gap:8px}
.minhas li{background:var(--papel);border:1px solid var(--linha);border-radius:14px;padding:12px 14px;font-size:15px;overflow-wrap:anywhere}
.minhas li small{display:block;font-size:12px;color:var(--ouro-txt);font-weight:700;margin-top:4px}
.minhas .minhas-tit{background:none;border:0;padding:4px 2px 0;font:800 11px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--cinza)}

/* ── Turma ──────────────────────────────────── */
.mural{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;scroll-margin-top:calc(var(--topo) + 8px)}
.mural li{background:var(--papel);border:1px solid var(--linha);border-radius:18px;padding:16px;display:grid;gap:10px;align-content:space-between;min-width:0}
.mural li p{font:400 19px/1.25 var(--serif);color:var(--verde);overflow-wrap:anywhere}
.mural li span{font:800 10.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ouro-txt)}
.mural li.novo{border-color:var(--champanhe);animation:aparece .5s ease}
.mural li.vazio p{font:500 15px/1.5 var(--sans);color:var(--cinza)}
.convite{position:relative;overflow:hidden;background:var(--profundo);color:#EDEFE9;border-radius:24px;padding:22px 18px 18px;display:grid;gap:12px;margin-top:6px;border:1.5px solid var(--champanhe)}
.convite > .arcos-caixa{height:100%;opacity:.5}
.convite > :not(.arcos-caixa){position:relative;z-index:1}
.convite .kick{color:var(--ouro-claro)}
.convite h2{font:400 clamp(27px,7.6vw,32px)/1.05 var(--serif);color:#F7F4EC;text-wrap:balance}
.convite em{color:var(--ouro-claro)}
.convite p{color:#D3D9D1;font-size:15px}
.convites-n{font-size:14px;color:#D3D9D1;text-align:center}
.convites-n b{font:400 26px/1 var(--serif);color:var(--ouro-claro);margin-right:4px}

/* ── Manual ─────────────────────────────────── */
.manual{display:grid;gap:10px}
.manual details{background:var(--papel);border:1px solid var(--linha);border-radius:18px;overflow:hidden}
.manual details[open]{border-color:var(--champanhe)}
.manual summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:16px;font:400 20px/1.2 var(--serif);color:var(--verde)}
.manual summary::-webkit-details-marker{display:none}
.manual summary span{font:800 11px/1 var(--sans);letter-spacing:.06em;color:var(--ouro-txt)}
.manual summary::after{content:"+";margin-left:auto;font:400 26px/1 var(--sans);color:var(--ouro)}
.manual details[open] summary::after{content:"−"}
.manual details > :not(summary){padding:0 16px 16px}
.dados{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;font-size:15px}
.dados dt{font:800 10.5px/1.9 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ouro-txt)}
.dados dd{color:var(--grafite);min-width:0;margin-bottom:10px}
.passos{display:grid;gap:0;counter-reset:p}
.passos li{position:relative;padding:10px 0 10px 38px;border-bottom:1px solid var(--linha);font-size:15px;color:var(--apoio)}
.passos li:last-child{border-bottom:0}
.passos li::before{counter-increment:p;content:counter(p);position:absolute;left:0;top:10px;width:26px;height:26px;border-radius:50%;background:var(--ouro);color:#fff;font:800 12px/26px var(--sans);text-align:center}
.passos b{color:var(--verde)}
.passos a{color:var(--verde);font-weight:700;text-decoration-color:var(--champanhe)}
.manual > .link{margin:6px 2px 0}
.cert-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start}
.cert-card b{display:block;font:400 22px/1.15 var(--serif);color:var(--verde)}
.cert-card p{font-size:14.5px;color:var(--apoio);margin-top:6px}
.cert-card .btn{margin-top:12px;width:100%}
.ajuda{display:grid;gap:0;padding:14px 16px 6px}
.ajuda .h3s{margin-bottom:6px}
.ajuda a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--linha);text-decoration:none;color:var(--verde);font:700 14.5px/1.3 var(--sans)}
.ajuda a span{overflow-wrap:anywhere}
.ajuda a .ic{color:var(--ouro)}
.realiza{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 14px;margin:10px calc(-1 * var(--g)) 0;padding:22px var(--g) 26px;background:var(--profundo);border-radius:24px 24px 0 0}
.realiza span{font:700 10.5px/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:#C9CEC6}
.realiza img{width:104px;height:auto}
.realiza b{flex-basis:100%;text-align:center;font:800 14px/1 var(--sans);color:var(--ouro-claro)}
.entrada .realiza{margin:0}
/* No fim da aba Manual, a faixa verde desce até a barra de abas */
.tela > .realiza:last-child{margin-bottom:calc(-38px - var(--abas));padding-bottom:calc(64px + var(--abas))}

/* ── Abas (barra de baixo) ──────────────────── */
.tabbar{position:fixed;left:0;right:0;bottom:0;margin:0 auto;max-width:var(--larg);z-index:40;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
  min-height:var(--abas);padding:6px 4px env(safe-area-inset-bottom,0px);background:rgba(252,250,245,.96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-top:1px solid var(--linha);box-shadow:0 -8px 24px rgba(6,61,50,.06)}
.tabbar a{display:grid;justify-items:center;align-content:center;gap:3px;padding:2px 0;text-decoration:none;color:var(--cinza);font:700 10.5px/1.2 var(--sans);min-width:0}
.tb-ic{position:relative;width:54px;height:30px;border-radius:99px;display:grid;place-items:center;transition:background .2s,color .2s}
.tabbar a[aria-current="page"]{color:var(--verde)}
.tabbar a[aria-current="page"] .tb-ic{background:var(--creme);color:var(--verde)}
.tabbar a[aria-current="page"] .tb-ic .ic{color:var(--ouro-txt)}
.tb-badge{position:absolute;top:-2px;right:6px;min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:var(--ouro);color:#fff;font:800 10px/17px var(--sans);font-style:normal;text-align:center;border:1.5px solid var(--papel)}

/* ── Folhas (diálogos) ──────────────────────── */
.folha{border:0;padding:0;margin:auto auto 0;width:100%;max-width:var(--larg);max-height:94dvh;background:var(--marfim);color:var(--grafite);border-radius:24px 24px 0 0;box-shadow:0 -10px 40px rgba(3,46,39,.25);overflow-y:auto;overscroll-behavior:contain}
.folha::backdrop{background:rgba(3,46,39,.55)}
@media (min-width:640px){.folha{margin:auto;border-radius:24px}}
.folha-in{padding:16px var(--g) calc(20px + env(safe-area-inset-bottom,0px));display:grid;gap:14px}
.folha-topo{display:flex;align-items:center;justify-content:space-between;gap:12px}
.folha-topo h2{font:400 24px/1.1 var(--serif);color:var(--verde)}
.fechar{background:var(--papel);width:40px;height:40px;flex:none;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--verde);border:1.5px solid var(--linha)}
.arte-palco,.foto-palco{position:relative;display:grid;place-items:center;background:var(--creme);border-radius:18px;padding:12px;overflow:hidden}
.arte-palco canvas{width:auto;max-width:100%;height:auto;max-height:50dvh;border-radius:10px;box-shadow:0 10px 26px var(--sombra);touch-action:none;background:var(--marfim)}
.arte-palco.foto canvas{cursor:grab}
.foto-palco canvas{width:100%;max-width:300px;height:auto;aspect-ratio:1;border-radius:14px;touch-action:none;cursor:grab;background:var(--marfim)}
.arte-carregando{position:absolute;font-size:14px;color:var(--cinza)}
.arte-foto{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 14px;align-items:center}
.arte-foto .dica{grid-column:1/-1}
.foto-ctrl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 14px;align-items:center}
.foto-zoom{display:grid;gap:6px}
.arquivo{position:relative;overflow:hidden;grid-row:span 2}
.foto-ctrl .arquivo{grid-row:auto}
.arquivo input{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:0}
.zoom-rot{font:800 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--cinza)}
#arte-zoom,#foto-zoom{width:100%;accent-color:var(--verde)}
.arte-acoes .btn{flex:1 1 140px}
.dica{font-size:13px;color:var(--cinza);line-height:1.5}
.ios-passos li{font-size:15.5px}
.ios-passos .ic{display:inline;vertical-align:-3px;color:var(--ouro)}

/* ── Aviso rápido ───────────────────────────── */
.toast{position:fixed;left:50%;bottom:calc(var(--abas) + 14px);transform:translateX(-50%);z-index:60;background:var(--verde);color:#fff;border:1.5px solid var(--champanhe);
  border-radius:16px;padding:12px 18px;font:700 13.5px/1.35 var(--sans);box-shadow:0 12px 30px rgba(3,46,39,.3);width:max-content;max-width:calc(100vw - 32px);text-align:center;animation:aparece .3s ease}
.entrada .toast{bottom:24px}
