/* AeroSpeak · leitura (tipografia de livro: coluna de ~66 caracteres, ritmo vertical, hierarquia clara) */
:root{
  --r-ink:#1d1d1f;--r-ink2:#424245;--r-mute:#6e6e73;--r-line:#e5e5ea;--r-paper:#fff;--r-soft:#f5f5f7;
  --r-accent:#D71920;--r-accent-soft:#d719200d;--r-rt-bg:#111315;--r-rt-ink:#ffd9db;
  --r-size:clamp(17px,1.05vw + 12px,19.5px);
}

/* Container: sem caixa alta, sem pre-wrap, sem quebra no meio de palavras */
.lesson-text.reader{white-space:normal;overflow-wrap:break-word;hyphens:manual;max-width:none;padding:clamp(22px,4vw,48px) clamp(20px,5vw,64px);border-radius:20px;border:1px solid var(--r-line);background:var(--r-paper);box-shadow:0 1px 2px #0000000a,0 12px 40px #0000000a;color:var(--r-ink);font:400 var(--r-size)/1.72 var(--body);letter-spacing:.003em;text-transform:none;min-height:0}
.reader>*{max-width:66ch;margin-inline:auto}
.reader p{margin:0 0 1.05em;text-wrap:pretty}
.reader p:last-child{margin-bottom:0}
.reader .r-body + .r-body,.reader .r-body + .r-sec,.reader .r-sec + .r-body,.reader .r-sec + .r-sec,.reader details + .r-body,.reader details + .r-sec,.reader .r-sec + details,.reader .r-body + details{margin-top:1.6em}
.reader p:first-of-type::first-line{font-weight:500}
.reader p:first-child:first-of-type{font-size:1.04em;color:var(--r-ink)}

/* Missões: mesmo motor dentro do <details> */
.mission-source>div.reader{white-space:normal;padding:20px clamp(16px,3vw,28px);color:var(--r-ink);font:400 17px/1.7 var(--body);text-transform:none}
.mission-context h2{text-transform:none!important;font:600 clamp(22px,2.4vw,30px)/1.15 var(--display)!important;letter-spacing:.005em;max-width:40ch}

/* Passos de exercício: "b", "10", "9a" */
.r-step{display:grid;grid-template-columns:2.2em minmax(0,1fr);gap:0 .7em;margin:1.4em auto}
.r-tag{display:grid;place-items:center;align-self:start;height:2em;min-width:2em;margin-top:.12em;border-radius:.6em;background:var(--r-soft);color:var(--r-accent);font:600 .78em/1 var(--mono);letter-spacing:.02em;border:1px solid var(--r-line)}

/* Listas numeradas */
.r-list{margin:.4em auto 1.2em;padding:0;list-style:none;counter-reset:none}
.r-list li{position:relative;margin:0 0 .75em;padding:.1em 0 0 2.6em}
.r-list li::before{content:attr(value);position:absolute;left:0;top:.18em;display:grid;place-items:center;width:1.8em;height:1.8em;border-radius:50%;background:var(--r-ink);color:var(--r-paper);font:600 .72em/1 var(--mono)}

/* Seções rotuladas */
.r-sec{border-radius:16px;padding:1.05em 1.25em 1.15em;background:var(--r-soft);border:1px solid var(--r-line)}
.r-sec header,.r-sec summary{margin-bottom:.6em}
.r-label{display:inline-flex;align-items:center;gap:.5em;color:var(--r-accent);font:600 .7em/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.r-label svg{width:1.35em;height:1.35em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.r-sec-body>*:last-child{margin-bottom:0}
.r-icao{background:linear-gradient(135deg,#d719200d,transparent 70%),var(--r-soft);border-color:#d7192033}
.r-errors{border-left:4px solid var(--r-accent)}
.r-tip,.r-extension{background:transparent;border-style:dashed}
.r-script{background:var(--r-rt-bg);border-color:#ffffff14;color:#e9e9ee}
.r-script .r-label{color:#ff8a8f}

/* Glossário */
.r-gloss{display:grid;gap:.15em}
.r-gloss p{margin:0;padding:.7em 0;border-bottom:1px solid var(--r-line)}
.r-gloss p:last-child{border-bottom:0}
.r-gloss-inline{margin:1em auto 1.3em;padding:.2em 1.1em;border-radius:14px;border:1px solid var(--r-line)}
dfn{font-style:normal;font-weight:600;color:var(--r-ink)}
.r-gloss dfn{display:block;margin-bottom:.15em;font:600 .98em var(--body);color:var(--r-accent)}

/* Respostas escondidas: tentar antes de ver (prática de recuperação) */
.r-answers-box{padding:0;overflow:hidden;background:var(--r-paper);border:1.5px solid var(--r-ink)}
.r-answers-box summary{display:flex;flex-wrap:wrap;align-items:center;gap:.4em 1em;margin:0;padding:1em 1.25em;cursor:pointer;list-style:none;user-select:none;-webkit-user-select:none}
.r-answers-box summary::-webkit-details-marker{display:none}
.r-answers-box summary .r-label{color:var(--r-ink)}
.r-answers-box summary em{margin-left:auto;color:var(--r-mute);font:500 .78em var(--body);font-style:normal}
.r-answers-box summary::after{content:"";width:.6em;height:.6em;margin-left:.2em;border-right:2px solid var(--r-ink);border-bottom:2px solid var(--r-ink);transform:rotate(45deg) translateY(-25%);transition:transform .25s var(--ease,ease)}
.r-answers-box[open] summary::after{transform:rotate(-135deg)}
.r-answers-box[open] summary em{display:none}
.r-answers-box .r-sec-body{padding:.2em 1.25em 1.2em;animation:r-open .32s var(--ease,ease)}
@keyframes r-open{from{opacity:0;transform:translateY(-6px)}}

/* Fraseologia de rádio */
.rt{padding:.08em .38em;border-radius:.35em;background:var(--r-rt-bg);color:var(--r-rt-ink);font:500 .84em var(--mono);letter-spacing:-.01em;white-space:nowrap;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.rt-phrase{background:var(--r-accent-soft);color:var(--r-accent);font-weight:600}
dfn .rt{font-size:.8em}

/* Tradução abaixo do bloco */
.ptr{display:block;margin:-.55em auto 1.2em;padding:.55em .9em;border-left:3px solid #2f7cf6;border-radius:0 10px 10px 0;background:#2f7cf60d;color:#2b2d33;font:400 .9em/1.6 var(--body);animation:r-open .3s var(--ease,ease)}
li>.ptr{margin:.5em 0 .2em}
.ptr[hidden]{display:none}
.ptr.is-loading{display:grid;gap:.45em;min-height:2.6em}
.ptr.is-loading i{display:block;height:.7em;border-radius:6px;background:linear-gradient(90deg,#2f7cf614,#2f7cf62e,#2f7cf614);background-size:200% 100%;animation:shimmer 1.1s linear infinite}
.ptr.is-loading i:last-child{width:62%}
@keyframes shimmer{to{background-position:-200% 0}}

/* Leitura em voz alta: o bloco atual acende */
.reader .is-speaking,.lesson-text.is-speaking{background:linear-gradient(90deg,#d719200f,#d7192005);box-shadow:-14px 0 0 -10px var(--r-accent);border-radius:8px;transition:background .3s}
.reader .is-target{background:#1717170a;border-radius:8px}
.reader p,.reader li{transition:background .2s}

/* Título do tópico e meta */
.page-title{text-transform:none!important;font:600 clamp(26px,2.6vw,36px)/1.1 var(--display)!important;letter-spacing:.004em;max-width:30ch;text-wrap:balance}
.lesson-hero h1{text-wrap:balance}
.page-link-title{text-transform:none}
.index .page-link{text-decoration:none}
.index .page-link-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35;text-decoration:none}
.content-top #speakText{display:none}
.r-empty{color:var(--r-mute);font-style:italic}

@media(max-width:700px){
  .lesson-text.reader{padding:22px 18px;border-radius:16px;font-size:17.5px;line-height:1.68}
  .r-sec{padding:.9em 1em}
  .r-answers-box summary em{margin-left:0;flex-basis:100%}
}
@media print{.reader-dock,.block-bar,.sel-bar,.tabbar,.top,.listen-dock{display:none!important}.r-answers-box .r-sec-body{display:block!important}}
