/* Ativação (28/10/2026): tokens e componentes .cne- do handoff do Designer GERAL (identidade atual).
   Só classes .cne-*: não altera estilos existentes do site. */
:root{
  /* Cores da marca (iguais ao site hoje) */
  --cne-blue:#0c4f83;        /* landing.css --blue · CTA, links, eyebrow */
  --cne-blue-hover:#0b416d;  /* landing.css .button:hover */
  --cne-blue-dark:#113852;   /* landing.css --blue-dark · títulos H1 */
  --cne-primary:#15658f;     /* style.css --primary · app */
  --cne-ink:#24313d;         /* texto principal */
  --cne-muted:#576879;       /* texto de apoio (5,9:1 no branco) */
  --cne-line:#dce6eb;        /* bordas de seção */
  --cne-line-strong:#b8ccd9; /* bordas de campo (style.css selects) */
  --cne-choice-line:#dce3ea; /* borda da alternativa (style.css .choice) */
  --cne-bg:#f6f9fb;          /* fundo das seções */
  --cne-white:#ffffff;
  --cne-blue-soft:#e7f2fa;   /* chips/tags azuis, item ativo */
  --cne-blue-tint:#edf6fb;   /* hover outline */
  --cne-yellow:#f4d632;      /* destaque (nunca texto sobre branco) */
  --cne-yellow-soft:#fff5bf; /* .btn.secondary */
  --cne-yellow-line:#d9b922;
  --cne-cream:#fff9e1;       /* avisos e "Doe R$1" */
  --cne-pink-soft:#f8e3eb;   /* tag rosa */
  --cne-pink-ink:#814661;
  /* Estados de resposta (iguais a style.css .choice.correct/.wrong) */
  --cne-ok:#23591a;  --cne-ok-line:#488037;  --cne-ok-bg:#e5f5df;
  --cne-err:#a82735; --cne-err-line:#a82735; --cne-err-bg:#fbeaec;
  --cne-sel-bg:#e1f0fa; --cne-sel-ring:#c8e6f6;
  --cne-focus:#4b96c6;       /* landing.css a:focus-visible */
  /* Fundo da tela de autenticação (style.css .auth-screen) */
  --cne-auth-bg:linear-gradient(135deg,#e7f2fa,#fff9df 55%,#fff0f5);

  /* Tipografia (igual ao site) */
  --cne-font-title:'Manrope',sans-serif;   /* títulos 800 */
  --cne-font-body:'DM Sans',sans-serif;    /* texto 400–800 */
  --cne-fs-eyebrow:12px;   /* hoje 11px → sobe para 12px (mínimo) */
  --cne-fs-small:13px;
  --cne-fs-ui:15px;        /* botões */
  --cne-fs-body:16px;      /* corpo no celular: nunca menos */
  --cne-fs-lead:17px;
  --cne-fs-h3:20px;
  --cne-fs-h2:24px;
  --cne-fs-h1-m:32px;      /* H1 no celular */
  --cne-fs-h1-d:56px;      /* H1 no desktop */
  --cne-lh-body:1.6;

  /* Raios (iguais ao site) */
  --cne-r-sm:8px;   /* tags, links-botão */
  --cne-r-md:11px;  /* botões e alternativas (landing .button) */
  --cne-r-lg:15px;  /* cards (style.css .card) */
  --cne-r-xl:20px;  /* card de autenticação */
  --cne-r-pill:999px;

  /* Espaços (múltiplos de 4) */
  --cne-s-1:4px; --cne-s-2:8px; --cne-s-3:12px; --cne-s-4:16px; --cne-s-5:20px; --cne-s-6:24px; --cne-s-8:32px; --cne-s-10:40px;
  --cne-gutter-m:20px;     /* margem lateral no celular (hoje 24px) */

  /* Toque */
  --cne-tap:44px;          /* mínimo absoluto */
  --cne-btn-h:52px;        /* botão principal no celular */
  --cne-choice-h:56px;     /* alternativa */

  /* Relevo de botão (igual ao app: sombra sólida embaixo, nunca em texto) */
  --cne-btn-depth:0 3px 0 #083c59;
  --cne-choice-depth:0 2px 0 #dce3ea;
  --cne-card-shadow:0 10px 30px #0c4f8314;
}
/* ---------- Botões ---------- */
.cne-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--cne-btn-h);padding:12px 20px;border:2px solid var(--cne-blue);border-radius:var(--cne-r-md);background:var(--cne-blue);color:#fff;font:800 var(--cne-fs-ui)/1.25 var(--cne-font-body);text-decoration:none;text-align:center;box-shadow:var(--cne-btn-depth);cursor:pointer;width:100%}
.cne-btn:hover{background:var(--cne-blue-hover);border-color:var(--cne-blue-hover)}
.cne-btn:active{transform:translateY(2px);box-shadow:0 1px 0 #083c59}
.cne-btn--outline{background:#fff;color:var(--cne-blue);box-shadow:none}
.cne-btn--outline:hover{background:var(--cne-blue-tint);color:var(--cne-blue)}
.cne-btn--soft{background:var(--cne-yellow-soft);border-color:var(--cne-yellow-line);color:var(--cne-ink);box-shadow:0 3px 0 #d4b839}
.cne-btn--ghost{background:transparent;border-color:transparent;color:var(--cne-blue);box-shadow:none;min-height:var(--cne-tap);padding:10px 12px;width:auto;text-decoration:underline;text-underline-offset:4px}
.cne-btn--auto{width:auto}
.cne-btn--sm{min-height:var(--cne-tap);padding:8px 14px;font-size:14px;box-shadow:none}
.cne-btn[disabled],.cne-btn[aria-disabled=true]{background:#eef2f5;border-color:#d3dce3;color:#4f5f6c;box-shadow:none;cursor:default;transform:none}
.cne-btn .ic{width:20px;height:20px;flex:none}
/* ---------- Card de questão sem conta ---------- */
.cne-q{background:#fff;border:1px solid var(--cne-line);border-top:5px solid var(--cne-yellow);border-radius:var(--cne-r-lg);box-shadow:var(--cne-card-shadow);overflow:hidden}
.cne-q__head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px 0}
.cne-q__label{font:800 12px/1.3 var(--cne-font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--cne-blue)}
.cne-q__free{font:700 12px/1 var(--cne-font-body);color:var(--cne-ok);background:var(--cne-ok-bg);border-radius:var(--cne-r-pill);padding:6px 10px;white-space:nowrap}
.cne-q__tags{display:flex;flex-wrap:wrap;gap:6px;padding:10px 16px 0}
.cne-tag{font:700 12px/1.2 var(--cne-font-body);padding:5px 8px;border-radius:6px;background:var(--cne-blue-soft);color:var(--cne-blue)}
.cne-tag--easy{background:#e5f5df;color:#23591a}
.cne-tag--neutral{background:#f0f2f5;color:#4f5f6c}
.cne-q__body{padding:12px 16px 4px}
.cne-q__text{font-size:16px;line-height:1.6;color:var(--cne-ink)}
.cne-q__ask{margin-top:10px;font-weight:700}
.cne-q__src{display:block;margin-top:6px;font-size:13px;color:var(--cne-muted)}
.cne-choices{list-style:none;margin:12px 0 0;padding:0 16px;display:grid;gap:8px}
.cne-choice{width:100%;min-height:var(--cne-choice-h);display:flex;align-items:center;gap:12px;padding:8px 14px 8px 10px;border:2px solid var(--cne-choice-line);border-radius:var(--cne-r-md);background:#fff;color:var(--cne-ink);font:500 16px/1.35 var(--cne-font-body);text-align:left;box-shadow:var(--cne-choice-depth);cursor:pointer}
.cne-choice__k{width:32px;height:32px;flex:none;display:grid;place-items:center;border:2px solid #b8ccd9;border-radius:50%;font:800 14px var(--cne-font-body);color:#364b5b;background:#fff}
.cne-choice__t{flex:1}
.cne-choice__s{font:700 12px var(--cne-font-body);white-space:nowrap}
.cne-choice[aria-pressed=true]{border-color:var(--cne-primary);background:var(--cne-sel-bg);box-shadow:0 0 0 2px var(--cne-sel-ring)}
.cne-choice[aria-pressed=true] .cne-choice__k{background:var(--cne-primary);border-color:var(--cne-primary);color:#fff}
.cne-choice--correct{border-color:var(--cne-ok-line)!important;background:var(--cne-ok-bg)!important;box-shadow:none!important;color:var(--cne-ok)}
.cne-choice--correct .cne-choice__k{background:var(--cne-ok-line)!important;border-color:var(--cne-ok-line)!important;color:#fff!important}
.cne-choice--wrong{border-color:var(--cne-err-line)!important;background:var(--cne-err-bg)!important;box-shadow:none!important;color:var(--cne-err)}
.cne-choice--wrong .cne-choice__k{background:var(--cne-err)!important;border-color:var(--cne-err)!important;color:#fff!important}
.cne-choice--dim{opacity:1;color:#5f6e7a;box-shadow:none;border-color:#e6ecf0}
.cne-choice--dim .cne-choice__k{color:#5f6e7a;border-color:#d3dce3}
.cne-q__foot{padding:14px 16px 16px;display:grid;gap:10px}
.cne-q__hint{font-size:13px;color:var(--cne-muted);text-align:center}
/* Feedback */
.cne-fb{margin:14px 16px 0;border-radius:var(--cne-r-md);padding:14px;border:1.5px solid}
.cne-fb--ok{background:var(--cne-ok-bg);border-color:#b7d9ab}
.cne-fb--err{background:var(--cne-err-bg);border-color:#efc2c8}
.cne-fb__title{display:flex;align-items:center;gap:8px;font:800 18px/1.25 var(--cne-font-title);letter-spacing:-.02em}
.cne-fb--ok .cne-fb__title{color:var(--cne-ok)}
.cne-fb--err .cne-fb__title{color:var(--cne-err)}
.cne-fb__title svg{width:22px;height:22px;flex:none}
.cne-fb p{margin-top:6px;font-size:15px;line-height:1.55;color:var(--cne-ink)}
.cne-fb__k{display:block;margin-top:10px;font:800 12px var(--cne-font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--cne-muted)}
.cne-save{margin:12px 16px 0;padding:14px;border-radius:var(--cne-r-md);background:var(--cne-blue-soft);border:1px solid #cfe3f0}
.cne-save b{display:block;font:800 16px/1.3 var(--cne-font-title);color:var(--cne-blue-dark)}
.cne-save p{margin-top:4px;font-size:14px;color:var(--cne-muted)}
.cne-save .cne-btn{margin-top:12px}
.cne-linkrow{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 12px}

/* ---------- Autenticação (cadastro e confirmação) ---------- */
.cne-auth{min-height:100vh;background:var(--cne-auth-bg);padding:16px 12px 24px}
.cne-auth__card{max-width:460px;margin:0 auto;background:#fff;border:1px solid var(--cne-line);border-radius:var(--cne-r-xl);padding:20px}
.cne-auth__brand{display:flex;justify-content:center;margin-bottom:14px}
.cne-auth h1{font-size:28px;font-weight:800;margin:6px 0 6px}
.cne-auth__sub{color:var(--cne-muted);font-size:16px}
.cne-field{display:grid;gap:6px;margin-top:16px}
.cne-field label{font:700 15px var(--cne-font-body);color:var(--cne-ink)}
.cne-input{width:100%;min-height:52px;padding:12px 14px;border:1.5px solid var(--cne-line-strong);border-radius:10px;background:#fff;font:400 16px var(--cne-font-body);color:var(--cne-ink)}
.cne-input::placeholder{color:#5f6e7a}
.cne-input--focus{border-color:var(--cne-blue);box-shadow:0 0 0 3px #c8e6f6}
.cne-input--error{border-color:var(--cne-err);background:#fffafa}
.cne-pass{position:relative}
.cne-pass .cne-input{padding-right:84px}
.cne-pass button{position:absolute;right:4px;top:4px;min-height:44px;padding:0 12px;border:0;background:none;color:var(--cne-blue);font:700 14px var(--cne-font-body)}
.cne-help{font-size:13px;color:var(--cne-muted)}
.cne-err{display:flex;gap:6px;align-items:flex-start;font:600 14px/1.4 var(--cne-font-body);color:var(--cne-err)}
.cne-err svg{width:16px;height:16px;flex:none;margin-top:2px}
.cne-check{display:flex;gap:12px;align-items:flex-start;min-height:var(--cne-tap);padding:10px 0;font-size:15px;line-height:1.45;color:var(--cne-ink)}
.cne-check i{width:24px;height:24px;flex:none;border:2px solid #8aa1b1;border-radius:6px;background:#fff;display:grid;place-items:center;margin-top:-1px}
.cne-check i.on{background:var(--cne-blue);border-color:var(--cne-blue)}
.cne-check--error i{border-color:var(--cne-err)}
.cne-checks{margin-top:12px;border-top:1px solid #eef3f6;padding-top:4px}
.cne-turnstile{margin:14px 0 4px;height:65px;border:1px solid #d7d7d7;border-radius:4px;background:#fafafa;display:flex;align-items:center;gap:12px;padding:0 12px;font:400 14px Arial,sans-serif;color:#222}
.cne-turnstile i{width:26px;height:26px;border:2px solid #555;border-radius:3px;background:#fff}
.cne-turnstile span{flex:1}
.cne-turnstile em{font:700 9px Arial;letter-spacing:.05em;color:#555;font-style:normal;text-align:right;line-height:1.3}
.cne-alert{margin-top:14px;display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--cne-r-md);font-size:15px;line-height:1.45}
.cne-alert svg{width:20px;height:20px;flex:none;margin-top:1px}
.cne-alert--error{background:var(--cne-err-bg);border:1.5px solid #efc2c8;color:#7c1c27}
.cne-alert--info{background:var(--cne-cream);border:1.5px solid #f1e3a1;color:var(--cne-ink)}
.cne-alert--ok{background:var(--cne-ok-bg);border:1.5px solid #b7d9ab;color:#1d4a16}
.cne-alert a{font-weight:700}
.cne-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--cne-muted);font-size:13px;font-weight:700}
.cne-divider:before,.cne-divider:after{content:"";flex:1;height:1px;background:var(--cne-line)}
.cne-btn--google{background:#fff;color:var(--cne-ink);border:1.5px solid var(--cne-line-strong);box-shadow:none;font-weight:700}
.cne-auth__alt{margin-top:16px;text-align:center;font-size:15px;color:var(--cne-muted)}
.cne-auth__alt a{display:inline-flex;align-items:center;min-height:var(--cne-tap);font-weight:800;text-underline-offset:3px}

/* Confirme seu e-mail */
.cne-mailicon{width:64px;height:64px;border-radius:18px;background:var(--cne-blue-soft);display:grid;place-items:center;margin-bottom:12px}
.cne-mailicon svg{width:34px;height:34px}
.cne-email{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;padding:6px 6px 6px 14px;border:1.5px solid var(--cne-line);border-radius:var(--cne-r-md);background:var(--cne-bg)}
.cne-email b{font-size:16px;overflow-wrap:anywhere}
.cne-email .cne-btn--ghost{font-size:14px;padding:0 10px;white-space:nowrap}
.cne-steps{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px;counter-reset:s}
.cne-steps li{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.45}
.cne-steps li:before{counter-increment:s;content:counter(s);width:26px;height:26px;flex:none;border-radius:50%;background:var(--cne-blue);color:#fff;font:800 13px/26px var(--cne-font-body);text-align:center}
.cne-mailbtns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.cne-resend{margin-top:16px;padding-top:14px;border-top:1px solid #eef3f6;display:grid;gap:8px;justify-items:center;text-align:center}
.cne-resend p{font-size:14px;color:var(--cne-muted)}
.cne-count{font-variant-numeric:tabular-nums}
/* Integração com o site */
.cne-q{font-family:var(--cne-font-body);text-align:left}
.cne-q p{margin:0}
.cne-q__media{display:block;margin:12px 16px 0;border:1px solid var(--cne-line);border-radius:10px;overflow:hidden;background:#fff}
.cne-q__media img{display:block;width:100%;height:auto}
.cne-q__zoom{display:inline-flex;align-items:center;min-height:var(--cne-tap);font:700 14px var(--cne-font-body);color:var(--cne-blue);text-underline-offset:3px}
.cne-q__src a{color:var(--cne-blue);display:inline-flex;align-items:center;min-height:var(--cne-tap);margin:-10px 0}
.cne-q__verse{margin-top:2px;line-height:1.45}
.cne-q__ref{display:block;margin-top:8px;font-size:13px;line-height:1.45;color:var(--cne-muted)}
.cne-choice__s{margin-left:auto}
.cne-choice[disabled]{cursor:default}
.cne-fb__more{margin:12px 16px 0}
.cne-fb__more summary{min-height:var(--cne-tap);display:flex;align-items:center;justify-content:center;font:700 15px var(--cne-font-body);color:var(--cne-blue);text-decoration:underline;text-underline-offset:4px;cursor:pointer;list-style:none}
.cne-fb__more summary::-webkit-details-marker{display:none}
.cne-fb__more p{margin-top:10px;font-size:15px;line-height:1.6}
.cne-fb__more small{display:block;margin-top:10px;font-size:13px;color:var(--cne-muted)}
.cne-q__after{padding:4px 16px 16px}
.cne-q__after .cne-linkrow a{display:inline-flex;align-items:center;min-height:var(--cne-tap);font:700 15px var(--cne-font-body);color:var(--cne-blue);text-underline-offset:4px}
.cne-q:not([data-state=correct]):not([data-state=wrong]) .cne-q__result{display:none}
.cne-q[data-state=correct] .cne-q__foot,.cne-q[data-state=wrong] .cne-q__foot{display:none}

/* Tela de acesso (app.html): cadastro curto e "Confirme seu e-mail" */
.auth-wordmark{display:inline-flex;align-items:center;gap:10px;min-height:var(--cne-tap);margin:0 0 14px;color:var(--cne-blue-dark);text-decoration:none}
.auth-wordmark img{width:40px;height:40px}
.auth-wordmark strong{font:800 19px var(--cne-font-title);letter-spacing:.02em}
.auth-wordmark strong span{color:var(--cne-blue)}
.auth-card .eyebrow{font-size:12px!important}
.auth-card>p#auth-subtitle{font-size:15px;line-height:1.5}
.auth-card label{font-size:15px}
.auth-card input[type=email],.auth-card input[type=text],.auth-card input[type=password]{min-height:48px;font-size:16px}
.auth-field{display:grid;gap:6px;margin:15px 0}
.auth-field>label{margin:0}
.auth-card .cne-pass input{padding-right:96px}
.auth-card .cne-pass button{top:2px;right:2px;cursor:pointer}
.auth-card label.auth-age{display:flex;gap:12px;align-items:flex-start;min-height:var(--cne-tap);margin:6px 0;padding:10px 0;font-size:15px;font-weight:500;line-height:1.45;cursor:pointer}
.auth-card label.auth-age input{flex:none;width:24px;height:24px;margin:0;accent-color:var(--cne-blue);cursor:pointer}
.auth-card form>.btn{min-height:52px;font-size:16px}
.auth-oauth{display:block;margin:18px 0 0}
.auth-oauth>span{display:none}
.auth-oauth .btn.google{width:100%;min-height:52px;font-size:16px}
.auth-links .btn{min-height:var(--cne-tap)}
.auth-alt{margin:16px 0 0;text-align:center;font-size:15px;color:var(--cne-muted)}
.auth-alt-link{display:inline-flex;align-items:center;min-height:var(--cne-tap);padding:0 4px;border:0;background:none;color:var(--cne-blue);font:800 15px var(--cne-font-body);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.auth-message.ok{padding:12px 14px;border-radius:var(--cne-r-md);background:var(--cne-ok-bg);border:1.5px solid #b7d9ab;color:#1d4a16}
.auth-message.error{font-weight:600}
.auth-confirm .cne-mailbtns{grid-template-columns:1fr}
.auth-confirm .cne-mailbtns.outlook-first #auth-open-outlook{order:-1}
.auth-confirm .cne-btn{min-height:52px}
.auth-resend-label{margin:18px 0 0;text-align:center;font-size:15px;color:var(--cne-muted)}
.is-confirm #auth-form{margin-top:4px}
.is-confirm #auth-subtitle{margin-bottom:0}
.is-confirm .captcha-slot{margin-top:8px}
@media(max-width:650px){
  .auth-screen{place-items:start center;padding:16px 12px}
  .auth-card{padding:20px}
  .auth-card h1{font-size:26px}
}
/* No celular, a barra de cookies some enquanto um campo do cadastro está em foco (não cobre a senha). */
@media(max-width:820px){body.auth-typing .cookie-banner{display:none!important}}
.cne-email .cne-btn--ghost{width:auto;min-height:var(--cne-tap)}
.auth-confirm .cne-email{flex-wrap:wrap}
.auth-confirm .cne-email b{flex:1 1 200px;min-width:0}
.is-confirm #auth-submit:disabled{background:#eef2f5;border:2px solid #d3dce3;color:#4f5f6c;box-shadow:none;opacity:1}
.is-confirm #auth-submit:not(:disabled){background:#fff;border:2px solid var(--cne-blue);color:var(--cne-blue);box-shadow:none}

/* Questão de amostra: página inicial e páginas de tema */
.hero-sample{width:100%;max-width:480px;justify-self:end}
.sample-section{margin:0 0 36px}
.sample-section .cne-q{max-width:680px}
@media(max-width:820px){
  .hero{gap:18px;padding-top:24px}
  .hero-copy{display:contents}
  .hero .eyebrow{order:1;margin:0}
  .hero h1{order:2;margin:0}
  .hero-sample{order:3;justify-self:stretch;max-width:none}
  .hero-lead{order:4}
  .hero-actions{order:5;margin-top:0}
  .hero-note{order:6;margin-top:0}
}
@media(max-width:600px){
  .hero h1{font-size:clamp(30px,8.4vw,40px)}
}

/* Convite para lembretes depois do 1º acerto (treino) */
.reminder-ask{margin:14px 0;padding:14px 16px;border:1.5px solid #c8e6f6;border-radius:var(--cne-r-md);background:var(--cne-blue-soft,#e7f2fa);font-family:var(--cne-font-body)}
.reminder-ask b{display:block;font-size:16px;color:var(--cne-blue-dark)}
.reminder-ask p{margin:6px 0 0;font-size:15px;line-height:1.5;color:var(--cne-ink)}
.reminder-ask-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.reminder-ask-actions .btn{min-height:var(--cne-tap)}
.reminder-ask-status:empty{display:none}
.reminder-ask--ok{border-color:#b7d9ab;background:var(--cne-ok-bg)}
