/* Lufa-Lufa: branco, azul de leitura e pequenos acentos de sálvia e rosa. */
:root { --ink:#253239; --body:#253239; --muted:#596970; --paper:#fff; --line:#ded7ca; --accent:#41617c; --blue:#41617c; --blue-dark:#2d4559; --tint:#f1f5f7; --highlight:#dce7dc; }
body { background:#fff; }
.main,.header-inner,.footer-inner,.aulas-return-inner { width:min(100%,1120px); }
.site-header { background:rgba(255,255,255,.97); }
.aulas-return { border-bottom:1px solid #e5e9e9; background:#f5f8f9; }
.aulas-return-inner { margin:auto; padding:.24rem 1.25rem; }
.aulas-return a { display:inline-block; padding:.12rem 0; color:var(--blue-dark); font-size:.82rem; font-weight:700; text-decoration:none; }
.aulas-return a:hover { text-decoration:underline; }
.mark { font-size:1.25rem; letter-spacing:0; }
.brand strong { font-family:Newsreader,Georgia,serif; font-size:1.18rem; }
.site-nav a { border-radius:.25rem .25rem 0 0; }
.site-nav a[aria-current] { border-bottom-color:#b15465; }
.welcome { grid-template-columns:minmax(0,1.25fr) minmax(15rem,.75fr); gap:clamp(2rem,5vw,5rem); padding:clamp(2.8rem,5vw,5rem) 1rem 4rem; }
.welcome-copy h1 { font-size:clamp(3.4rem,6vw,5.8rem); margin-bottom:.5rem; }
.welcome-copy .hero-subtitle { margin:0 0 1.3rem; color:var(--blue-dark); font-size:clamp(1.4rem,2.4vw,1.9rem); }
.welcome-copy p:not(.eyebrow) { font-size:1.11rem; }
.hero-cat { display:block; width:min(100%,24rem); height:auto; justify-self:center; object-fit:contain; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.8rem 1.2rem; margin-top:1.1rem; }
.hero-actions .primary-link { margin-top:0; }
.text-link { font-weight:700; }
.primary-link,.check-button { background:var(--blue); border-radius:.55rem; box-shadow:none; }
.primary-link:hover,.check-button:hover:not(:disabled) { background:var(--blue-dark); }
.how { border-top-color:var(--line); }
.how-list li { border-radius:.7rem; box-shadow:none; }
.how-number { color:var(--blue-dark); background:var(--highlight); }
.home-more { margin-top:3rem; padding:2rem 2.2rem; border:1px solid var(--line); border-radius:.8rem; background:#f7faf8; }
.home-more div { max-width:47rem; }
.home-more p:not(.eyebrow) { margin:.3rem 0 .6rem; }
.keyword-strip { background:#f5f8f5; }
.number-badge,.stage-number { border-radius:50%; }
.question-card,.work-card { box-shadow:0 .25rem .8rem #2532390b; border-radius:.75rem; }
.question-head { border-top-color:#b15465; }
.work-title { border-top-color:#41617c; }
.stage:nth-child(2) { background:#f7faf8; }
.stage { border-radius:.6rem; }
.path-strip li { border-color:#c6d2da; }
.type-button span { color:#8d4050; background:#f8e9ec; }
.type-picker > summary,.type-list,.type-button,.mode-button { border-radius:.6rem; }
mark { background:var(--highlight); border-bottom:1px solid #80a793; }
.after-lessons { display:flex; justify-content:space-between; align-items:center; gap:1.2rem; margin-top:3.5rem; padding:1.3rem 1.5rem; border-top:1px solid var(--line); background:#f7faf8; border-radius:.5rem; }
.after-lessons h2 { margin:0; }.after-lessons p { margin:.3rem 0 0; }
.after-lessons .primary-link { flex:none; margin:0; }
.about-main { max-width:850px; }
.about-section h2 { margin-bottom:.5rem; }
.credits-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.about-cat { display:block; width:93px; height:86px; flex:none; background:url('./assets/gatos-conjunto.png') -488px -151px / 586px 246px no-repeat; }
.bank-main { max-width:900px; }
.bank-main .page-intro { max-width:55rem; margin-bottom:2rem; }
.round-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.round-card { padding:1.35rem; border:1px solid var(--line); border-radius:.75rem; background:#fff; }
.round-card .round-number { display:inline-grid; place-items:center; width:2.5rem; height:2.5rem; border-radius:50%; background:#f8e9ec; color:#8d4050; font-weight:700; }
.round-card h2 { margin:.85rem 0 .2rem; }
.round-card p { margin:0 0 1.1rem; color:var(--muted); }
.round-card button { min-height:3rem; width:100%; padding:.6rem .8rem; border:0; border-radius:.55rem; background:var(--blue); color:#fff; font-weight:700; text-align:left; }
.round-card button:hover { background:var(--blue-dark); }
.round-note { margin:1.4rem 0; }
.bank-toolbar { display:flex; justify-content:space-between; align-items:center; gap:.8rem; margin-bottom:.8rem; font-size:.94rem; font-weight:700; }
.plain-button { min-height:2.8rem; padding:.4rem .75rem; border:1px solid #bbcbd5; border-radius:.5rem; background:#fff; color:var(--blue-dark); font-weight:700; }
.plain-button:disabled { opacity:.45; cursor:not-allowed; }
.progress-track { height:.45rem; margin-bottom:1.1rem; overflow:hidden; border-radius:2rem; background:#e6ecef; }
.progress-track span { display:block; height:100%; background:#41617c; transition:width .18s ease; }
.bank-question { padding:1.4rem 1.6rem; border:1px solid var(--line); border-radius:.75rem; background:#fff; box-shadow:0 .2rem .8rem #2532390a; }
.bank-question .question-kind { margin:0 0 1.2rem; color:#9b4d5c; }
.bank-passage { max-width:72ch; }
.bank-passage p { margin:0 0 1rem; font-size:1.09rem; line-height:1.66; }
.bank-source { margin:.3rem 0 1.3rem; color:var(--muted); font-size:.86rem; overflow-wrap:anywhere; }
.bank-question h2 { max-width:72ch; margin:0 0 1rem; padding:.7rem 0 .7rem 1rem; border-left:4px solid #41617c; font-family:'DM Sans',Arial,sans-serif; font-size:1.15rem; line-height:1.55; font-weight:700; background:#f5f8fa; }
.bank-choices { display:grid; gap:.6rem; min-width:0; margin:0; padding:0; border:0; }
.bank-option { display:flex; align-items:flex-start; gap:.65rem; min-height:3.3rem; padding:.8rem; border:1px solid var(--line); border-radius:.55rem; cursor:pointer; line-height:1.48; overflow-wrap:anywhere; }
.bank-option:has(input:checked) { padding:calc(.8rem - 1px); border:2px solid var(--blue); background:#f1f5f7; }
.bank-option input { flex:none; margin:.32rem .05rem 0 0; accent-color:var(--blue); }
.bank-option .letter { width:1.65rem; height:1.65rem; background:#f1f5f7; color:var(--blue-dark); }
.bank-option:hover { border-color:#9bb0bf; }
.bank-actions { display:flex; justify-content:space-between; align-items:center; gap:.6rem; margin-top:1.1rem; }
.bank-actions .check-button { width:auto; min-width:12rem; margin:0; }
.result-intro { padding:1.4rem 1.6rem; border-radius:.75rem; background:#f5f8fa; }
.result-intro h2 { margin:0 0 .4rem; font-size:2rem; }.result-intro p:last-child { margin:0; }
.result-list { display:grid; gap:.8rem; margin:1.3rem 0 0; padding:0; list-style:none; }
.result-list li { padding:1rem 1.2rem; border:1px solid var(--line); border-left:4px solid #b15465; border-radius:.55rem; }
.result-list li.result-right { border-left-color:#34775a; }
.result-list li > div { display:flex; justify-content:space-between; gap:1rem; }
.result-list li > div span { color:#934b5b; font-weight:700; }
.result-list li.result-right > div span { color:#276446; }
.result-list p { margin:.35rem 0 0; }.result-answer { color:var(--blue-dark); }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:850px) { .welcome { grid-template-columns:1fr; } .hero-cat { grid-row:2; width:min(100%,18rem); justify-self:center; } }
@media(max-width:650px) {
  .aulas-return-inner { padding:.2rem .9rem; }
  .header-inner { padding:.7rem .9rem; }
  .site-nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); width:100%; }
  .site-nav a { padding:.48rem .12rem; font-size:.81rem; }
  .welcome { gap:.2rem; padding:2.1rem .1rem 2.8rem; }
  .welcome-copy h1 { font-size:3.4rem; }
  .hero-cat { width:min(74%,16rem); }
  .home-more { padding:1.35rem; }
  .after-lessons { display:block; padding:1rem; }
  .after-lessons .primary-link { margin-top:.8rem; }
  .round-grid { grid-template-columns:1fr; gap:.7rem; }
  .round-card { display:grid; grid-template-columns:2.5rem 1fr; column-gap:1rem; padding:1rem; }
  .round-card .round-number { grid-row:span 2; }.round-card h2 { margin:0; }.round-card p { margin:.1rem 0 .7rem; }
  .round-card button { grid-column:2; }
  .bank-toolbar { align-items:flex-start; flex-direction:column; }
  .bank-question { padding:1rem; }
  .bank-passage p { font-size:1.04rem; }
  .bank-actions .plain-button,.bank-actions .check-button { flex:1; min-width:0; }
  .bank-actions .check-button { line-height:1.2; }
}
@media(max-width:360px) { .bank-actions { flex-direction:column-reverse; } .bank-actions .plain-button,.bank-actions .check-button { width:100%; } }
@media(prefers-reduced-motion:reduce) { .progress-track span { transition:none; } }
