/* Treino de questões (prévia). Usa os tokens e a base de /provas/acervo.css */
.tr-main{padding:36px 0 56px;min-height:70vh}
.tr-main h1{text-transform:none;letter-spacing:-.035em;font-size:clamp(28px,4.4vw,46px);margin:0 0 14px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.tr-selo{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:var(--yellow);color:var(--navy);padding:4px 10px;border-radius:999px;line-height:1.4}
.tr-top{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:10px}
.tr-count{font-weight:800;font-size:14px;border:1px solid var(--line);border-radius:999px;padding:5px 12px;background:var(--card)}
.tr-lead{color:var(--muted);max-width:720px;margin:0 0 22px;font-size:15px}
.tr-panel{background:#0a1b38;border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:12px}
.tr-row{display:flex;flex-wrap:wrap;gap:12px;align-items:end}
.tr-row label.tr-q{flex:2;min-width:220px;font-size:12px;font-weight:700;color:var(--muted)}
.tr-row input[type=search]{font:inherit;display:block;margin-top:6px;width:100%;background:#122b53;color:#fff;border:1px solid #5274a3;border-radius:6px;padding:12px 10px;min-height:46px;font-size:16px}
.tr-row input[type=search]:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.tr-check{display:flex;align-items:center;gap:10px;min-height:46px;font-size:14px;font-weight:600;cursor:pointer}
.tr-check input{width:22px;height:22px;accent-color:var(--yellow);flex:none;margin:0}
.tr-check:focus-within{outline:3px solid var(--yellow);outline-offset:3px;border-radius:6px}
.tr-btn{font:inherit;font-weight:700;font-size:14px;min-height:46px;padding:10px 16px;border-radius:8px;cursor:pointer;border:1px solid #7495c5;background:transparent;color:#fff}
.tr-btn:hover{background:#13285a}
.tr-btn:focus-visible,.tr-alt:focus-visible,.tr-btn-main:focus-visible,.tr-link:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.tr-btn-main{font:inherit;font-weight:800;font-size:14px;min-height:48px;padding:12px 18px;border-radius:8px;cursor:pointer;border:0;background:var(--yellow);color:var(--navy);display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.tr-btn-main:hover{background:#ffe574}
.tr-btn-main[disabled]{opacity:.5;cursor:not-allowed}
.tr-facets{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:12px 0 0;align-items:start}
.tr-facets .facet{background:#0a1b38}
.tr-chips{margin:10px 0 0}
.tr-status{font-size:13px;color:var(--muted);margin:0 0 14px}
.tr-prog{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;justify-content:space-between;font-size:14px;margin-bottom:14px}
.tr-prog b{font-variant-numeric:tabular-nums}
.tr-prog-actions{display:flex;flex-wrap:wrap;gap:8px}
.tr-bar{height:8px;border-radius:99px;background:#122b53;overflow:hidden;margin-bottom:18px}
.tr-bar i{display:block;height:100%;background:var(--yellow);width:0;transition:width .25s}
.tr-card{background:var(--card);border:1px solid #315d9b;border-radius:12px;padding:20px}
.tr-meta{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;margin-bottom:14px;font-size:13px;color:var(--muted)}
.tr-origem{font-weight:700;color:#e4edff}
.tr-origem a{color:var(--yellow)}
.tr-tema{display:inline-block;font-size:12px;font-weight:800;border:1px solid #7495c5;background:#122b53;border-radius:999px;padding:4px 10px;color:#fff}
.tr-pos{font-size:12px;color:var(--muted);margin:0 0 6px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.tr-enun{font-size:17px;line-height:1.6;margin:0 0 18px;font-weight:600;outline:none;overflow-wrap:anywhere}
.tr-alts{display:grid;gap:10px;margin:0 0 16px;padding:0;list-style:none}
.tr-alt{width:100%;display:flex;gap:12px;align-items:flex-start;text-align:left;font:inherit;font-size:15px;line-height:1.5;font-weight:500;color:#fff;background:#0a1b38;border:1px solid #5274a3;border-radius:10px;padding:14px;min-height:56px;cursor:pointer;overflow-wrap:anywhere}
.tr-alt:hover{border-color:var(--yellow);background:#10264d}
.tr-letra{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:14px;background:#173c74;border:1px solid #3673c9}
.tr-marca{margin-left:auto;flex:none;font-weight:900;font-size:13px;white-space:nowrap}
.tr-alt[aria-disabled=true]{cursor:default}
.tr-alt[aria-disabled=true]:hover{border-color:#5274a3;background:#0a1b38}
.tr-alt.certa{border-color:#4fc08d;background:#103d37}
.tr-alt.certa:hover{border-color:#4fc08d;background:#103d37}
.tr-alt.certa .tr-letra{background:#4fc08d;color:#04122e;border-color:#4fc08d}
.tr-alt.errada{border-color:#ff8a8a;background:#4a1d28}
.tr-alt.errada:hover{border-color:#ff8a8a;background:#4a1d28}
.tr-alt.errada .tr-letra{background:#ff8a8a;color:#04122e;border-color:#ff8a8a}
.tr-alt.apagada{opacity:.65}
.tr-fb{border-radius:10px;padding:12px 14px;font-weight:800;margin:0 0 14px}
.tr-fb.ok{background:#103d37;border:1px solid #4fc08d;color:#c9f5df}
.tr-fb.no{background:#4a1d28;border:1px solid #ff8a8a;color:#ffd5d5}
.tr-fb:empty{display:none}
.tr-com{border:1px solid var(--line);border-radius:10px;padding:14px;margin:0 0 16px;background:#081832}
.tr-com h3{font-size:15px;margin:0 0 8px}
.tr-com p{margin:0 0 8px;color:#dce8ff;font-size:14px;line-height:1.65}
.tr-ia{display:inline-block;font-size:11px;font-weight:800;color:var(--navy);background:#aeefd2;border-radius:6px;padding:3px 8px;margin-bottom:10px}
.tr-sem{font-size:13px;color:var(--muted);margin:0 0 16px}
.tr-acoes{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.tr-acoes .tr-btn-main{flex:1 1 150px}
.tr-link{display:inline-flex;align-items:center;min-height:46px;padding:10px 14px;border:1px solid #7495c5;border-radius:8px;font-weight:700;font-size:14px;text-decoration:none;color:#fff}
.tr-link:hover{background:#13285a}
.tr-dica{font-size:12px;color:var(--muted);margin:14px 0 0}
.tr-dica kbd{font:inherit;font-weight:800;border:1px solid #5274a3;border-radius:4px;padding:0 5px;background:#122b53}
.tr-vazio{border:1px dashed #5274a3;border-radius:10px;padding:22px}
.tr-res h2{text-transform:none;letter-spacing:-.02em;font-size:clamp(22px,3vw,30px)}
.tr-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 20px}
.tr-num{background:#0a1b38;border:1px solid var(--line);border-radius:10px;padding:12px;text-align:center}
.tr-num b{display:block;font-size:28px;font-weight:900;line-height:1.2}
.tr-num span{font-size:12px;color:var(--muted)}
.tr-tbar{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:4px 12px;margin:0 0 12px;font-size:13px}
.tr-tbar .nome{overflow-wrap:anywhere}
.tr-tbar .val{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}
.tr-tbar .barra{grid-column:1/-1;height:10px;background:#122b53;border-radius:99px;overflow:hidden}
.tr-tbar .barra i{display:block;height:100%;background:#4fc08d}
.tr-erros{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px}
.tr-erros li{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#0a1b38;font-size:13px}
.tr-erros .t{flex:1 1 220px;overflow-wrap:anywhere}
.tr-aviso{margin-top:34px;border:1px solid #376ab0;border-radius:12px;background:#0d2145;padding:20px}
.tr-aviso p{margin:0 0 12px;color:var(--muted);font-size:14px}
.tr-aviso strong{color:#fff}
.tr-aviso .pos-cad{margin:16px 0 0}
.tr-aviso .pos-cad[hidden]{display:none}
.tr-honesto{margin:20px 0 0;color:var(--muted);font-size:13px;max-width:760px}
@media(min-width:650px){.tr-card{padding:28px}.tr-enun{font-size:18px}}
@media(max-width:649px){.tr-main{padding-top:24px}.tr-panel{padding:12px}.tr-row .tr-btn{width:100%}.tr-nums b{font-size:24px}.tr-acoes .tr-btn-main,.tr-acoes .tr-link,.tr-acoes .tr-btn{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){.tr-bar i{transition:none}}

/* ---- Banco de questões (lançamento) ---- */
.tr-selo.verde{background:#aeefd2}
.bq-nums{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 22px}
.bq-nums .tr-num b{font-size:26px}
@media(min-width:650px){.bq-nums{grid-template-columns:repeat(4,minmax(0,1fr))}}
.bq-intro h2{text-transform:none;letter-spacing:-.02em;font-size:clamp(20px,2.6vw,26px);margin:26px 0 12px}
.bq-lista{margin:0 0 18px;padding-left:20px;color:var(--muted);font-size:14px;max-width:760px}
.bq-lista li{margin-bottom:6px}
.bq-lista strong{color:#fff}
.bq-cta{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 8px}
.bq-cta .tr-btn-main,.bq-cta .tr-btn{flex:1 1 200px}
.bq-exemplos{display:grid;gap:16px;margin:0 0 10px}
.bq-exemplos .tr-card{padding:18px}
.bq-hoje{display:inline-block;font-weight:800;font-size:14px;border:1px solid var(--yellow);color:var(--yellow);border-radius:999px;padding:5px 12px;font-variant-numeric:tabular-nums}
.bq-nota{font-size:13px;color:var(--muted);margin:0 0 14px;max-width:760px}
.bq-limite{border:1px solid var(--yellow);background:#2a2610;border-radius:12px;padding:20px}
.bq-limite h2{text-transform:none;letter-spacing:-.02em;font-size:20px;margin:0 0 10px}
.bq-limite p{color:#f3ecc0;margin:0 0 14px}
.bq-limite .tr-acoes .tr-btn-main,.bq-limite .tr-acoes .tr-link{flex:1 1 200px}
.bq-fechada{background:#0a1b38;border:1px dashed #5274a3;border-radius:10px;padding:16px;margin:0 0 16px}
.bq-fechada p{margin:0 0 12px;color:var(--muted);font-size:14px}
.bq-texto-base{border-left:3px solid var(--yellow);background:#081832;padding:12px 14px;margin:0 0 16px;border-radius:0 8px 8px 0}
.bq-texto-base p{margin:0 0 8px;font-size:14px;color:#dce8ff;white-space:pre-line;overflow-wrap:anywhere}
.bq-texto-base .rot{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--yellow)}
.tr-enun{white-space:pre-line}
.tr-alt span{min-width:0}
.bq-erro-link{font-size:13px;color:var(--muted);margin:12px 0 0}
.bq-erro-link a{color:#d9e8ff}
.tr-sem.em-producao{border:1px dashed #5274a3;border-radius:8px;padding:10px 12px}
.tr-meta{overflow-wrap:anywhere}
html,body{overflow-x:hidden}

/* ---- ajustes UX ---- */
.tr-enun{white-space:normal}
.bq-texto-base p{white-space:normal}
.bq-pp{display:block;margin:0 0 .7em}.bq-pp:last-child{margin-bottom:0}
.bq-l{display:block}
.tr-alt .bq-pp{margin-bottom:.3em}
.bq-filtros-btn,.bq-gav-topo,.bq-gav-pe{display:none}
.bq-trava,.bq-trava body{overflow:hidden}
@media(max-width:899px){
  #tr-app{display:flex;flex-direction:column}
  #tr-app>.bq-lead{display:none}
  #tr-app>.tr-top{order:1;margin-bottom:12px}
  #tr-app>.tr-status{order:2;margin-bottom:10px}
  #tr-app>#tr-area,#tr-app>#tr-res{order:3}
  #tr-app>.tr-prog{order:4;margin-top:18px}
  #tr-app>.tr-bar{order:5}
  #tr-app>#tr-memoria{order:6}
  .bq-filtros-btn{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px}
  .tr-main{padding-top:14px}
  .tr-main h1{font-size:26px;margin-bottom:8px}
  .tr-main .eyebrow{margin-bottom:4px}
  .tr-card{padding:16px}
  .tr-panel{display:none;order:0}
  .tr-panel.aberto{display:block;position:fixed;inset:0;z-index:1000;overflow-y:auto;background:#04122e;border:0;border-radius:0;margin:0;padding:0 14px 90px;-webkit-overflow-scrolling:touch}
  .tr-panel.aberto .bq-gav-topo{display:flex;position:sticky;top:0;z-index:2;align-items:center;justify-content:space-between;background:#04122e;padding:12px 0;margin-bottom:6px;border-bottom:1px solid var(--line);font-size:18px}
  .tr-panel.aberto .bq-gav-pe{display:block;position:fixed;left:0;right:0;bottom:0;z-index:3;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:#04122e;border-top:1px solid var(--line)}
  .tr-panel.aberto .bq-gav-pe .tr-btn-main{width:100%}
}
/* desktop: filtros numa coluna lateral fixa, questão visível na primeira tela */
@media(min-width:1100px){
#tr-app:not([hidden]){display:grid;grid-template-columns:300px minmax(0,1fr);column-gap:28px;align-items:start}
#tr-app>*{grid-column:2;min-width:0}
#tr-app>#bq-painel{grid-column:1;grid-row:1/span 30;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}
#bq-painel .tr-row{display:flex;flex-direction:column;align-items:stretch;gap:10px}
#bq-painel .tr-row input[type=search],#bq-painel .tr-row label{width:100%}
#bq-painel .tr-facets{grid-template-columns:1fr!important}
}
