/* Meu Concurso — paleta azul, modo foco, figuras, painel master e primeiro acesso (carrega depois de app.css) */

/* ---------- paleta azul suave (usuário masculino): mesmo contraste e suavidade do rosa ---------- */
:root[data-paleta="azul"]{
  --bg:#f4f8fc; --surface:#fff; --surface-2:#eaf2fa; --line:#d7e4f1; --ink:#26323e; --ink-soft:#586a7b;
  --primary:#2f6fa8; --primary-dark:#1f4f7d; --primary-soft:#dcebf8; --on-primary:#fff;
  --lilac:#5b6fb5; --lilac-soft:#e6eaf7; --peach:#a8d4e6; --peach-soft:#e6f3f9;
  --shadow:0 1px 2px rgba(40,80,120,.06),0 6px 20px rgba(40,80,120,.08);
  --hero1:#dcebf8; --hero2:#e6eaf7; --hero3:#e6f3f9; --interactive-rgb:47,111,168;
  --focus:#5b6fb5; --focus-color:#5b6fb5;
}
:root[data-paleta="azul"][data-tema="escuro"]{
  --bg:#151c24; --surface:#1e2833; --surface-2:#26323f; --line:#36465a; --ink:#e8eff6; --ink-soft:#aebdcc;
  --primary:#7db5e6; --primary-dark:#a5cdf0; --primary-soft:#243a50; --on-primary:#0f2133;
  --lilac:#aab8f0; --lilac-soft:#2a3250; --peach:#8fc7de; --peach-soft:#223a46;
  --hero1:#1d2e41; --hero2:#25294a; --hero3:#1d3340; --interactive-rgb:125,181,230;
  --focus:#aab8f0; --focus-color:#aab8f0;
}
@media (prefers-color-scheme:dark){
  :root[data-paleta="azul"][data-tema="auto"]{
    --bg:#151c24; --surface:#1e2833; --surface-2:#26323f; --line:#36465a; --ink:#e8eff6; --ink-soft:#aebdcc;
    --primary:#7db5e6; --primary-dark:#a5cdf0; --primary-soft:#243a50; --on-primary:#0f2133;
    --lilac:#aab8f0; --lilac-soft:#2a3250; --peach:#8fc7de; --peach-soft:#223a46;
    --hero1:#1d2e41; --hero2:#25294a; --hero3:#1d3340; --interactive-rgb:125,181,230;
  }
}

/* ---------- rodapé com assinatura ---------- */
.sign{font-weight:600;color:var(--ink)}
footer.foot .sign{display:block;margin-bottom:4px;font-size:.95rem}

/* ---------- modo foco (aulas e questionários): só cabeçalho, conteúdo e rodapé ---------- */
.focus{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}
.fhead{position:sticky;top:0;z-index:30;background:var(--surface);border-bottom:1px solid var(--line)}
.fhead .in{max-width:860px;margin:0 auto;padding:12px 16px 8px;display:flex;align-items:center;gap:12px}
.fhead .ft{min-width:0;flex:1}
.fhead .ft small{display:block;color:var(--ink-soft);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.fhead .ft b{display:block;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fhead .stp{font-size:.85rem;color:var(--ink-soft);white-space:nowrap}
.fbar{max-width:860px;margin:0 auto;padding:0 16px 12px}
.fbar .bar{height:6px}
.fbar .bar i{transition:width .5s cubic-bezier(.2,.8,.2,1)}
.iconbtn{border:0;background:transparent;color:var(--ink-soft);cursor:pointer;padding:8px;border-radius:50%;display:grid;place-items:center}
.iconbtn:hover{background:var(--primary-soft);color:var(--primary-dark)}
.fbody{flex:1;width:100%;max-width:760px;margin:0 auto;padding:28px 16px 36px;box-sizing:border-box}
.fbody.out>*{opacity:0;transform:translateY(8px);transition:opacity .16s,transform .16s}
.fstep{animation:rise .38s ease both}
.ffoot{position:sticky;bottom:0;z-index:30;background:var(--surface);border-top:1px solid var(--line)}
.ffoot .in{max-width:860px;margin:0 auto;padding:12px 16px 4px;display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.ffoot .fl,.ffoot .fact{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ffoot .fact{margin-left:auto;justify-content:flex-end}
.ffoot .copy{display:block;text-align:center;color:var(--ink-soft);font-size:.78rem;padding:2px 16px 10px}
@media (max-width:520px){.ffoot .in{padding:10px 12px 2px}.ffoot .btn{padding:10px 14px}}
.kicker{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--primary-dark);margin:0 0 6px}
.fbody:focus,.fbody:focus-visible{outline:none}
.fbody h1{font-size:clamp(1.5rem,3.4vw,2rem);margin:0 0 14px}
.fbody h2.pt{font-size:clamp(1.3rem,3vw,1.7rem);margin:0 0 16px}
.fbody .prose{font-size:1.1rem;line-height:1.8}
.fbody .card.big{padding:26px}
.pageblock>*+*{margin-top:16px}

/* figuras: ao lado do texto, com legenda e crédito (sem cara de banco de imagens) */
.fig{margin:0 0 14px;border-radius:14px;overflow:hidden;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.fig img{display:block;width:100%;height:auto;max-height:340px;object-fit:contain;background:var(--surface-2)}
.fig figcaption{padding:8px 12px 10px;font-size:.8rem;line-height:1.4;color:var(--ink-soft)}
.fig figcaption b{color:var(--ink);font-weight:600}
.fig figcaption .cr{display:block;margin-top:2px;font-size:.72rem;opacity:.85}
.fig figcaption .cr a{color:inherit}
@media (min-width:760px){.fig.side{float:right;width:min(300px,42%);margin:4px 0 14px 22px}.fig.side img{max-height:300px}}
.fbody .prose::after{content:"";display:block;clear:both}

/* questionário em modo foco */
.opt:disabled{opacity:1;color:var(--ink)}
.opt{font-size:1.02rem;line-height:1.5}
.qwrap{max-width:720px;margin:0 auto}
.qcard{padding:24px}
.chips i.cur{outline:2px solid var(--primary);outline-offset:2px}

/* ---------- primeiro acesso ---------- */
.onb{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:linear-gradient(160deg,var(--hero1),var(--hero2) 60%,var(--hero3))}
.onb .card{width:min(540px,100%);padding:30px}
.onb h1{font-size:1.6rem;margin:6px 0}
.onb select{width:100%;box-sizing:border-box;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;font:inherit;background:var(--surface);color:var(--ink)}
.onb select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}
.hint{background:var(--surface-2);border-radius:12px;padding:10px 14px;font-size:.9rem;color:var(--ink-soft);margin:6px 0 14px}
.hint b{color:var(--ink)}
.onb .foot2{margin-top:18px;text-align:center;font-size:.8rem;color:var(--ink-soft)}

/* seletor "Eu sou" no cadastro */
.pick{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:relative}
.pick input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;margin:0;left:0;top:0}
.pick label{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;border:1.5px solid var(--line);border-radius:12px;cursor:pointer;font-weight:600;color:var(--ink-soft);margin:0;transition:all .15s}
.pick input:checked+label{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark)}
.pick input:focus-visible+label{outline:3px solid var(--focus);outline-offset:2px}

/* ---------- painel master ---------- */
.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
@media (max-width:900px){.kpis{grid-template-columns:repeat(2,1fr)}}
.kpi{padding:16px 18px}.kpi b{display:block;font-size:1.8rem;line-height:1.1;color:var(--primary-dark)}.kpi span{font-size:.82rem;color:var(--ink-soft)}
.tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:18px 0 12px}
.tools input[type=search],.tools select{border:1.5px solid var(--line);border-radius:999px;padding:9px 16px;font:inherit;background:var(--surface);color:var(--ink);min-width:260px}
.tblwrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface)}
.tbl{width:100%;border-collapse:collapse;font-size:.92rem}
.tbl th{background:var(--surface-2);text-align:left;padding:10px 12px;font-weight:600;white-space:nowrap}
.tbl td{padding:10px 12px;border-top:1px solid var(--line);vertical-align:middle}
.tbl tr.det td{background:var(--surface-2)}
.tbl .nm b{display:block}.tbl .nm small{color:var(--ink-soft)}
.mini{width:120px}.mini .bar{height:7px}
.acts{display:flex;gap:6px;white-space:nowrap}
.modalback{position:fixed;inset:0;background:rgba(30,20,28,.55);display:grid;place-items:center;z-index:70;padding:16px;animation:pop .2s ease}
.modalbox{background:var(--surface);border-radius:18px;padding:24px;width:min(440px,100%);box-shadow:var(--shadow)}
.modalbox h3{margin-bottom:8px}
.pwshow{font-family:ui-monospace,Consolas,monospace;font-size:1.4rem;letter-spacing:.06em;background:var(--surface-2);padding:12px;border-radius:12px;text-align:center;margin:12px 0;user-select:all}
.btn.danger{background:var(--bad);border-color:var(--bad);color:#fff}
.btn.danger:hover{background:var(--bad);filter:brightness(.92);color:#fff}

/* afirmativas V/F e I-II-III dentro do enunciado */
.vf{list-style:none;padding:0;margin:12px 0}
.vf li{margin:9px 0;padding-left:2px}

/* ---------- blocos de apostila: fluxo, mapa, prova, resumo ---------- */
.flow{display:flex;flex-wrap:wrap;gap:10px 6px;align-items:stretch;margin:14px 0;padding:0;list-style:none;counter-reset:fl}
.flow li{flex:1 1 150px;position:relative;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px 12px 40px;font-size:.98rem;line-height:1.5;counter-increment:fl;margin:0}
.flow li::before{content:counter(fl);position:absolute;left:10px;top:11px;width:22px;height:22px;border-radius:50%;background:var(--primary);color:var(--on-primary);font-size:.78rem;font-weight:700;display:grid;place-items:center}
.flow li b{display:block;color:var(--primary-dark)}
.mapa{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin:14px 0}
.mapa>div{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:12px 14px;font-size:.96rem;line-height:1.5}
.mapa>div>b{display:block;margin-bottom:4px;color:var(--primary-dark)}
.mapa>.centro{grid-column:1/-1;background:var(--primary);border-color:var(--primary);color:var(--on-primary);text-align:center;font-size:1.05rem;font-weight:600}
.mapa>.centro b{color:inherit;margin:0}
.box.prova{background:var(--lilac-soft);border-color:var(--lilac)}.box.prova b.t{color:var(--lilac)}
.box.resumo{background:var(--primary-soft);border-color:var(--primary)}.box.resumo b.t{color:var(--primary-dark)}
.chk{list-style:none;padding:0;margin:8px 0 0}.chk li{padding:6px 0 6px 28px;position:relative}
.chk li::before{content:"✓";position:absolute;left:4px;top:6px;color:var(--ok);font-weight:700}
.kv{display:grid;grid-template-columns:minmax(120px,32%) 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:12px 0}
.kv>div{background:var(--surface);padding:9px 12px;font-size:.97rem}
.kv>div:nth-child(odd){background:var(--surface-2);font-weight:600}
.prose h5{margin:16px 0 4px;font-size:1rem;color:var(--ink)}
.prose blockquote{margin:12px 0;padding:8px 14px;border-left:4px solid var(--primary);background:var(--surface-2);border-radius:0 10px 10px 0;color:var(--ink-soft)}
.prose .eq{display:block;text-align:center;font-size:1.1rem;background:var(--surface-2);border-radius:10px;padding:8px;margin:10px 0;font-family:ui-monospace,Consolas,monospace}

/* segurança de layout: nada pode criar rolagem lateral na página */
html,body{max-width:100%;overflow-x:clip}
