/* Academy modular course reader */
.sidebar__courses { overflow-y: auto; padding-bottom: 10px; scrollbar-width: thin; }
.sidebar__courses button { min-height: 36px; }
.reader__article-scroll { position: relative; z-index: 1; width: 100%; height: 100%; overflow: auto; overscroll-behavior: contain; scroll-behavior: smooth; background: linear-gradient(180deg, rgba(255,255,255,.012), rgba(255,255,255,0)); }
.reader__lesson-loading { min-height: 100%; display: grid; place-items: center; align-content: center; gap: 12px; color: var(--muted); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.reader__lesson-loading i { width: 46px; height: 1px; background: var(--line); overflow: hidden; }
.reader__lesson-loading i::after { content:""; display:block; width:50%; height:100%; background:var(--gold); animation:loadLine 1s var(--ease) infinite alternate; }
.lesson-article { width: min(920px, calc(100% - 72px)); margin: 0 auto; padding: 68px 0 110px; color: var(--paper); }
.lesson-article__hero { padding: 0 0 34px; margin-bottom: 34px; border-bottom: 1px solid var(--line); }
.lesson-article__crumb { display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin-bottom:18px; color:#77736c; font-size:8px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.lesson-article__crumb i { width:3px; height:3px; border-radius:50%; background:var(--gold); }
.lesson-article__hero > h1, .lesson-title { margin:0; max-width:820px; font:300 clamp(34px,4.4vw,60px)/1.02 var(--heading); letter-spacing:-.045em; }
.lesson-article__hero > p { max-width:760px; margin:18px 0 0; color:#a29f98; font-size:13px; line-height:1.75; }
.lesson-article__meta { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:22px; color:#77736d; font-size:8px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.lesson-article__meta span { display:inline-flex; align-items:center; gap:7px; }
.lesson-article__meta span::before { content:""; width:4px; height:4px; border-radius:50%; background:var(--wine-soft); }
.lesson-article__body { display:grid; gap:16px; }
.lesson-kicker { margin:12px 0 -4px; color:var(--gold); font-size:9px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.lesson-lead { margin:0 0 8px; max-width:800px; color:#c9c6bf; font:300 20px/1.6 var(--heading); }
.lesson-heading { margin:32px 0 2px; color:var(--paper); }
.lesson-heading--2 { font:300 30px/1.12 var(--heading); letter-spacing:-.025em; }
.lesson-heading--3 { font-size:18px; line-height:1.35; font-weight:650; }
.lesson-heading--4 { font-size:14px; line-height:1.4; font-weight:700; color:#d0cdc6; }
.lesson-paragraph { margin:0; color:#aaa7a0; font-size:13px; line-height:1.82; }
.lesson-bullet { display:grid; grid-template-columns:12px minmax(0,1fr); gap:11px; align-items:start; }
.lesson-bullet > i { width:5px; height:5px; margin-top:8px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 4px rgba(197,160,100,.06); }
.lesson-bullet > p { margin:0; color:#aaa7a0; font-size:13px; line-height:1.75; }
.lesson-check { display:grid; grid-template-columns:20px minmax(0,1fr); gap:11px; align-items:start; padding:12px 14px; border:1px solid var(--line); background:rgba(255,255,255,.015); cursor:pointer; }
.lesson-check input { position:absolute; opacity:0; pointer-events:none; }
.lesson-check > span { position:relative; width:17px; height:17px; margin-top:2px; border:1px solid var(--line-strong); background:#111; }
.lesson-check input:checked + span { border-color:var(--gold); background:rgba(197,160,100,.13); }
.lesson-check input:checked + span::after { content:""; position:absolute; left:5px; top:2px; width:4px; height:8px; border:solid var(--gold); border-width:0 2px 2px 0; transform:rotate(45deg); }
.lesson-check p { margin:0; color:#aaa7a0; font-size:12px; line-height:1.65; }
.lesson-callout { display:grid; gap:8px; margin:4px 0; padding:18px 20px; border:1px solid rgba(197,160,100,.18); border-left:3px solid var(--gold); background:linear-gradient(90deg,rgba(65,3,6,.28),rgba(65,3,6,.06)); }
.lesson-callout > span { color:var(--gold); font-size:8px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.lesson-callout > strong { font-size:14px; line-height:1.45; }
.lesson-callout > p { margin:0; color:#aaa7a0; font-size:12px; line-height:1.7; }
.lesson-data { margin:5px 0; border:1px solid var(--line); background:rgba(255,255,255,.012); overflow:hidden; }
.lesson-data__head, .lesson-data__row { display:grid; grid-template-columns:repeat(var(--lesson-cols), minmax(0,1fr)); }
.lesson-data__head { background:rgba(197,160,100,.07); border-bottom:1px solid var(--line); }
.lesson-data__head span { padding:11px 13px; color:var(--gold); font-size:8px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.lesson-data__head span + span, .lesson-data__cell + .lesson-data__cell { border-left:1px solid var(--line); }
.lesson-data__row + .lesson-data__row { border-top:1px solid var(--line); }
.lesson-data__cell { min-width:0; padding:12px 13px; color:#aaa7a0; font-size:11px; line-height:1.6; white-space:normal; overflow-wrap:anywhere; }
.lesson-small { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:13px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.lesson-small p { margin:0; color:#77736d; font-size:10px; line-height:1.65; }
.lesson-small > div { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.lesson-small a { display:inline-flex; align-items:center; gap:6px; color:var(--gold); font-size:9px; font-weight:700; white-space:nowrap; }
.lesson-small a .icon { width:12px; height:12px; }
.lesson-article__end { display:grid; place-items:center; margin-top:58px; padding:42px 20px 0; border-top:1px solid var(--line); text-align:center; }
.lesson-article__end span { color:var(--gold); font-size:8px; font-weight:800; letter-spacing:.18em; }
.lesson-article__end strong { margin-top:8px; font:300 28px/1.1 var(--heading); }
.lesson-article__end p { margin:8px 0 0; color:#77736d; font-size:10px; }

@media (max-width: 860px) {
  .lesson-article { width:min(760px, calc(100% - 40px)); padding:42px 0 92px; }
  .lesson-article__hero { margin-bottom:28px; padding-bottom:28px; }
  .lesson-article__hero > h1, .lesson-title { font-size:clamp(34px,8vw,52px); }
}

@media (max-width: 620px) {
  .reader { grid-template-rows:48px minmax(0,1fr) calc(64px + env(safe-area-inset-bottom)); }
  .reader__stage { background:#0c0c0c; }
  .reader__article-scroll { -webkit-overflow-scrolling:touch; }
  .lesson-article { width:100%; padding:26px 16px 88px; }
  .lesson-article__hero { margin-bottom:22px; padding-bottom:22px; }
  .lesson-article__crumb { gap:7px; margin-bottom:13px; font-size:7px; line-height:1.4; }
  .lesson-article__hero > h1, .lesson-title { font-size:36px; line-height:1.02; letter-spacing:-.04em; }
  .lesson-article__hero > p { margin-top:14px; font-size:12px; line-height:1.65; }
  .lesson-article__meta { gap:7px 13px; margin-top:16px; font-size:7px; }
  .lesson-article__body { gap:13px; }
  .lesson-heading { margin-top:24px; }
  .lesson-heading--2 { font-size:26px; }
  .lesson-heading--3 { font-size:17px; }
  .lesson-paragraph, .lesson-bullet > p { font-size:12.5px; line-height:1.75; }
  .lesson-callout { padding:15px 14px; }
  .lesson-callout > strong { font-size:13px; }
  .lesson-data { border:0; background:transparent; overflow:visible; }
  .lesson-data__head { display:none; }
  .lesson-data__body { display:grid; gap:9px; }
  .lesson-data__row { display:grid; grid-template-columns:1fr; gap:0; border:1px solid var(--line) !important; background:rgba(255,255,255,.012); }
  .lesson-data__cell { position:relative; padding:10px 12px 10px 42%; border-left:0 !important; border-top:1px solid var(--line); font-size:11px; min-height:38px; }
  .lesson-data__cell:first-child { border-top:0; }
  .lesson-data__cell::before { content:attr(data-label); position:absolute; left:12px; top:10px; width:34%; color:var(--gold); font-size:7px; line-height:1.35; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
  .lesson-small { display:grid; gap:10px; }
  .lesson-small > div { justify-content:flex-start; }
  .lesson-article__end { margin-top:38px; padding-top:30px; }
  .reader__dock { padding-bottom:env(safe-area-inset-bottom); }
}

@media (max-width: 390px) {
  .lesson-article { padding-left:13px; padding-right:13px; }
  .lesson-article__hero > h1, .lesson-title { font-size:32px; }
  .lesson-data__cell { padding-left:44%; }
  .lesson-data__cell::before { width:36%; }
}


/* v3.2 — leitura modular, alto contraste e menos fragmentação */
.reader__stage{background:#0e0e0f!important;isolation:isolate}.reader__stage::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url('/academy/carbon.webp') repeat;background-size:520px;opacity:.17;filter:contrast(1.08) brightness(.72)}.reader__stage::before{z-index:0;background:linear-gradient(180deg,rgba(8,8,9,.48),rgba(8,8,9,.62)),radial-gradient(72% 50% at 50% 0%,rgba(92,7,12,.17),transparent 72%)!important}
.reader__article-scroll{background:linear-gradient(180deg,rgba(11,11,12,.76),rgba(11,11,12,.82))!important;color:#f5f3ed}
.lesson-article{width:min(980px,calc(100% - 64px));padding-top:52px}
.lesson-article__hero{border-color:rgba(255,255,255,.12)}
.lesson-article__hero>h1,.lesson-title{color:#fffdf7}
.lesson-article__hero>p,.lesson-paragraph,.lesson-bullet>p,.lesson-check p,.lesson-callout>p,.lesson-small p{color:#d8d4cc}
.lesson-lead{color:#eeeae1}.lesson-heading{color:#fffaf1}
.lesson-data{border-color:rgba(255,255,255,.13);background:rgba(18,18,19,.86)}.lesson-data__head{background:rgba(28,25,22,.92)}.lesson-data__cell{color:#ded9d0;background:rgba(13,13,14,.84);border-color:rgba(255,255,255,.10)!important}
.lesson-callout{background:linear-gradient(90deg,rgba(83,4,8,.38),rgba(12,12,12,.96));border-color:rgba(197,160,100,.34)}
.lesson-check,.lesson-small{background:rgba(15,15,16,.82);border-color:rgba(255,255,255,.12)}
.lesson-paragraph,.lesson-bullet>p{font-size:15px;line-height:1.82}.lesson-article__hero>p{font-size:14px;line-height:1.75}
.module-toc{display:grid;grid-template-columns:1fr;gap:0;margin:0 0 36px;border:1px solid rgba(255,255,255,.11);background:rgba(15,15,16,.78);backdrop-filter:blur(3px)}
.module-toc>span{padding:11px 14px;border-bottom:1px solid rgba(255,255,255,.1);color:var(--gold);font-size:8px;font-weight:800;letter-spacing:.16em}
.module-toc a{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;min-height:46px;border-bottom:1px solid rgba(255,255,255,.075)}.module-toc a:last-child{border-bottom:0}
.module-toc a span{text-align:center;color:#66615a;font:600 9px/1 var(--mono)}.module-toc a b{padding:10px 14px;border-left:1px solid rgba(255,255,255,.075);color:#dcd7cf;font-size:12px;font-weight:600}.module-toc a:hover b{color:#fff;background:rgba(255,255,255,.025)}
.lesson-article__body--module{gap:0}.module-section{scroll-margin-top:24px;padding:42px 0 48px;border-top:1px solid rgba(255,255,255,.12)}.module-section:first-child{border-top:0;padding-top:8px}
.module-section__head{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:start;gap:18px;margin-bottom:24px}.module-section__head>span{padding-top:7px;color:var(--gold);font:700 8px/1 var(--mono);letter-spacing:.13em}.module-section__head h2{margin:0;color:#fffdf7;font:300 30px/1.12 var(--heading);letter-spacing:-.025em}.module-section__blocks{display:grid;gap:16px;padding-left:110px}
.course-detail-head{display:grid;grid-template-columns:160px minmax(0,1fr) 180px;gap:30px;align-items:start;padding:20px 0 34px;border-bottom:1px solid var(--line)}
.course-detail-back{display:inline-flex;align-items:center;gap:8px;width:max-content;padding:10px 0;color:#8d8981;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.course-detail-back:hover{color:var(--paper)}.course-detail-back .icon{width:14px;height:14px}
.course-detail-head h1{margin:10px 0 12px;max-width:780px;font:200 clamp(38px,4.2vw,62px)/.98 var(--heading);letter-spacing:-.05em}.course-detail-head p{max-width:720px;margin:0;color:#aaa69e;font-size:13px;line-height:1.7}
.course-detail-meta{display:grid;grid-template-columns:1fr auto;gap:8px 16px;padding-top:8px}.course-detail-meta span{color:#66625c;font-size:8px;font-weight:800;letter-spacing:.12em}.course-detail-meta strong{color:var(--gold);font:500 13px/1 var(--mono)}
.course-detail-back--compact{margin-left:auto}.courses-block--resources{margin-top:54px}
@media(max-width:760px){.lesson-article{width:100%;padding:24px 16px 90px}.lesson-paragraph,.lesson-bullet>p{font-size:15px;line-height:1.78}.module-section{padding:32px 0 38px}.module-section__head{grid-template-columns:1fr;gap:8px;margin-bottom:18px}.module-section__head>span{padding-top:0}.module-section__head h2{font-size:26px}.module-section__blocks{padding-left:0}.module-toc a{grid-template-columns:36px minmax(0,1fr)}.course-detail-head{grid-template-columns:1fr;gap:14px;padding-top:8px}.course-detail-head h1{font-size:38px}.course-detail-meta{grid-template-columns:1fr auto;max-width:260px}.course-detail-back--compact{margin-left:0}}

/* v3.3 — textura carvão restaurada */
.reader__article-scroll,
.reader__document,
.reader__media,
.reader__fallback,
.reader__text { position:relative; z-index:1; }
.lesson-article {
  text-shadow: 0 1px 1px rgba(0,0,0,.28);
}
.lesson-callout {
  background: linear-gradient(90deg,rgba(83,4,8,.42),rgba(18,16,16,.82));
  backdrop-filter: blur(2px);
}
@media(max-width:760px){
  .reader__stage{background:#101011!important}
  .reader__stage::after{opacity:.13;background-size:430px}
  .reader__article-scroll{background:linear-gradient(180deg,rgba(10,10,11,.82),rgba(10,10,11,.88))!important}
}


/* v3.4 — leitor texturizado, sem fundo preto chapado */
.reader__stage{
  background:#181512!important;
}
.reader__stage::after{
  background:url('/academy/carbon.webp') repeat;
  background-size:500px;
  opacity:.30;
  filter:brightness(1.18) contrast(.94) saturate(.75);
}
.reader__stage::before{
  background:
    linear-gradient(180deg,rgba(18,15,13,.20),rgba(14,12,11,.34)),
    radial-gradient(72% 50% at 50% 0%,rgba(107,20,24,.18),transparent 72%)!important;
}
.reader__article-scroll{
  background:
    linear-gradient(180deg,rgba(20,17,15,.34),rgba(18,15,13,.46))!important;
}
.lesson-article{
  text-shadow:0 1px 1px rgba(0,0,0,.18);
}
.module-toc{
  background:rgba(24,20,18,.72);
  border-color:rgba(242,241,237,.14);
  box-shadow:0 18px 60px rgba(0,0,0,.10);
}
.module-toc a:hover b{
  background:rgba(242,241,237,.045);
}
.lesson-data{
  background:rgba(27,23,20,.76);
}
.lesson-data__head{
  background:rgba(42,34,27,.76);
}
.lesson-data__cell{
  background:rgba(23,20,18,.74);
}
.lesson-check,.lesson-small{
  background:rgba(25,21,19,.72);
}
.lesson-callout{
  background:linear-gradient(90deg,rgba(95,15,19,.38),rgba(28,22,20,.64));
}
.reader__header,.reader__dock{
  background:rgba(18,15,13,.96);
}

@media(max-width:760px){
  .reader__stage{background:#171411!important}
  .reader__stage::after{opacity:.24;background-size:430px}
  .reader__stage::before{
    background:
      linear-gradient(180deg,rgba(17,14,12,.28),rgba(13,11,10,.42)),
      radial-gradient(90% 42% at 50% 0%,rgba(107,20,24,.15),transparent 72%)!important;
  }
  .reader__article-scroll{
    background:linear-gradient(180deg,rgba(20,17,15,.42),rgba(17,14,12,.52))!important;
  }
}
