
:root{--navy:#112d35;--gold:#cda75c;--paper:#f5f4ef;--muted:#74817e}*{box-sizing:border-box}body{margin:0;font:15px system-ui,sans-serif;background:var(--paper);color:var(--navy)}button,a{cursor:pointer}button{font:inherit;border:0;border-radius:8px;padding:13px 20px;background:var(--navy);color:white}button:hover{filter:brightness(1.15)}.gold{background:var(--gold);color:#172d32}aside{width:232px;background:var(--navy);color:#eef2ed;position:fixed;inset:0;padding:34px 22px;display:flex;flex-direction:column}.brand{font-size:21px;letter-spacing:2px;font-weight:800}.brand small{display:block;font-size:10px;letter-spacing:4px;color:var(--gold);margin-top:6px}.nav{margin-top:54px;display:grid;gap:9px}.nav button{background:none;text-align:left;color:#b5c3c2;padding:15px}.nav button.active{background:#29434a;color:#fff;border-left:3px solid var(--gold)}.asidefoot{margin-top:auto;font-size:12px;color:#a7b9b8;line-height:1.7}main{margin-left:232px;padding:0 46px 40px;max-width:1700px}header{height:93px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dedfd6}.badge{font-size:11px;letter-spacing:1.3px;text-transform:uppercase;color:#8c723f;font-weight:700}.user{display:flex;align-items:center;gap:12px}.avatar{background:#e7dfcd;border-radius:50%;padding:12px;font-weight:700}.intro{display:flex;justify-content:space-between;align-items:end;margin:32px 0 25px}h1{font:600 32px Georgia,serif;margin:8px 0 10px}p{line-height:1.7;color:var(--muted);margin:8px 0}.hero{border-radius:15px;background:var(--navy);color:white;padding:34px 38px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(12px,3vw,32px);position:relative;overflow:hidden}.hero p{color:#bbc8c4;max-width:550px}.hero h2{font:32px Georgia,serif;max-width:560px;margin:16px 0}.hero-crest{width:clamp(58px,14vw,128px);height:auto;align-self:start;justify-self:end;border-radius:12px}.hero .badge{color:#dabd7d}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0 34px}.card{background:#fff;border:1px solid #e4e6df;border-radius:12px;padding:23px}.stat strong{font-size:27px;display:block;margin:10px 0 3px}.stat span{font-size:13px;color:var(--muted)}.grid{display:grid;grid-template-columns:1.7fr 1fr;gap:25px}h2{font-size:20px}.sectionhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.sectionhead h2{margin:0}.course{display:flex;gap:20px;align-items:center;margin-bottom:14px}.tile{width:74px;height:85px;background:#e8eee8;display:grid;place-items:center;font:30px Georgia;flex-shrink:0;border-radius:8px;color:#537064}.course h3{margin:5px 0;font-size:16px}.course p{font-size:12px}.grow{flex:1}.bar{height:6px;background:#e8ece6;border-radius:5px;margin-top:13px}.bar i{display:block;background:var(--gold);height:100%;border-radius:5px}.link{background:none;color:var(--navy);padding:8px}.planrow{border-bottom:1px solid #e8ebe5;padding:16px 0;display:flex;gap:13px;align-items:center}.planrow:last-child{border:0}.dot{height:12px;width:12px;border:2px solid var(--gold);border-radius:50%}.note{font-size:12px;color:var(--muted);margin-top:20px}dialog{border:0;border-radius:16px;max-width:720px;width:90%;padding:32px;color:var(--navy)}dialog::backdrop{background:#102c35aa}.answer{display:block;background:#f0f3ef;color:var(--navy);width:100%;text-align:left;margin:10px 0}.answer.selected{outline:2px solid var(--gold)}.hide{display:none}.pill{font-size:11px;background:#e9eee5;padding:5px 9px;border-radius:20px;color:#52684c}.catalog{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.catalog h3{font:25px Georgia}.price{font-size:24px;margin:20px 0}.mobilebrand{display:none}@media(max-width:1000px){main{padding:0 24px 30px;margin-left:195px}aside{width:195px}.grid{grid-template-columns:1fr}.catalog{grid-template-columns:1fr}}@media(max-width:650px){aside{position:static;width:auto;padding:16px}.brand{font-size:16px}.brand small,.asidefoot{display:none}.nav{margin:16px 0 0;display:flex;overflow:auto;gap:0}.nav button{white-space:nowrap;padding:10px;font-size:12px}main{margin:0;padding:0 18px 30px}header{height:65px}.intro{display:block}h1{font-size:28px}.hero{padding:25px}.hero h2{font-size:27px}.stats{gap:9px}.stat{padding:15px}.stat strong{font-size:23px}.stat span{font-size:11px}.course{gap:12px}.tile{width:50px}.course button{padding:10px}.user{font-size:12px}}

input,select,textarea{font:inherit;padding:12px;border:1px solid #d8ded6;border-radius:8px;background:#fff;color:var(--navy)}textarea{width:100%;min-height:130px}input[type=checkbox]{accent-color:var(--navy);width:18px;height:18px;flex-shrink:0}.topic{display:flex;align-items:start;gap:12px;line-height:1.7;padding:15px 0;border-bottom:1px solid #e6e9e1}.topic label{cursor:pointer}.topic.checked label{text-decoration:line-through;color:#7e8e82}.filter{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.filter input{flex:1;min-width:180px}.subjectgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.subjectgrid .card{display:flex;flex-direction:column;gap:10px}.subjectgrid h3{margin:5px 0;min-height:44px}.subjectgrid button{margin-top:auto;align-self:start}.eyebrow{display:flex;justify-content:space-between;gap:10px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse}td,th{padding:14px;text-align:left;border-bottom:1px solid #e3e7df;font-size:13px}.notebox{padding:18px;background:#fff9e6;border-left:4px solid var(--gold);border-radius:6px;line-height:1.7}.back{margin:20px 0}.tabs{display:flex;gap:10px;margin:20px 0}.tabs button{background:#e6ece4;color:var(--navy)}.tabs button.active{background:var(--navy);color:white}h1{line-height:1.2}.small{font-size:12px}.notesaved{color:#5c785f;font-size:12px}@media(max-width:750px){.subjectgrid{grid-template-columns:1fr}h1{font-size:27px}.stats{grid-template-columns:repeat(3,1fr)}main .card{padding:18px}}.subtle{color:#6d8079}.timerstatus{font-size:12px;background:#e9e7da;color:var(--navy);padding:10px 12px}.toprow{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.overview{margin-top:25px}.overview .sectionhead{gap:12px}.topiclist{margin-top:20px}.topic{align-items:center}.topic .topictext{flex:1;overflow-wrap:anywhere}.topic .link{flex-shrink:0}.topic small{display:block;color:var(--muted)}.topicwrap details{border:1px solid #e3e7dd;border-radius:10px;background:white;padding:17px 20px;margin:12px 0}.topicwrap summary{font-weight:700;cursor:pointer}.topicwrap details[open] summary{padding-bottom:8px}.topic:last-child{border-bottom:0}.eyebrow .pill{flex-shrink:0}.goldtag{background:#f2e7cd;color:#6e4e16}.keybox,.examplebox,.alertbox{padding:16px 19px;border-radius:8px;margin:14px 0;line-height:1.65}.keybox{background:#f1e6cc;border-left:4px solid #cda75c}.alertbox{background:#fff9e6;border-left:4px solid #b95a4d}.examplebox{background:#edf2f7;border-left:4px solid #7594b0}.theorybox{background:#f4f5f7;padding:20px;border-radius:10px}.theorybox p,.lesson p{color:#33443e}.legend{display:flex;gap:8px;flex-wrap:wrap}.legend span{padding:6px 9px;font-size:12px;border-radius:6px}.legend .keybox,.legend .alertbox,.legend .examplebox{margin:0}.planrow .grow p{margin:4px 0;font-size:12px}.planrow .link{font-size:12px}.metabar{height:10px;margin-bottom:12px}.metabar i{transition:width .25s}.timerbox{margin:16px 0 5px;border-top:1px solid #e2e7e0;padding-top:13px}.timerbox select{max-width:100%;width:100%;margin-bottom:10px}.mini{font-size:12px;padding:9px 12px}.quizitem{padding:15px 0;border-bottom:1px solid #e6e9e1}.quizitem:last-child{border:0}.quizitem button{background:none;color:var(--navy);text-align:left;padding:0;font-weight:650}.quizitem p{margin-top:4px}.answer[aria-pressed=true]{outline:2px solid #a77d34;background:#f5ead4}.answer.correct{background:#e6f0e2;outline:2px solid #7da474}.answer.incorrect{background:#f7e6e1;outline:2px solid #bc7566}.answer:disabled{cursor:default}.answer:hover:disabled{filter:none}.fieldset{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:15px}.fieldset label{display:grid;gap:5px;font-size:13px;font-weight:650}.fieldset select{width:100%;min-width:0}.field{display:block;margin:12px 0}.field a,.textlink{color:#1f584d}.doclinks{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.doclinks a{color:#255b50;font-weight:650}.wide{max-width:880px}.lesson h1{font-size:clamp(22px,4vw,33px)}.lesson .theorybox h2{margin-top:0}.stage{margin-top:20px}.countpill{font-size:12px;color:#61726b}.nav button:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #b99450;outline-offset:3px}.card h2:first-child{margin-top:0}.center{text-align:center}.pending{color:#8b6b35}.right{float:right}.lesson li{line-height:1.7}.topictitle{display:block;font-weight:600}.reset{padding:0}.questionbody{background:#edf2f7;border-radius:8px;padding:17px;margin:15px 0}.questionbody h2{line-height:1.45;margin:0}.nav button{white-space:normal}.flash{padding:12px 16px;background:#e8ede4;border-radius:8px;margin:15px 0}.sourcegroup{margin:18px 0}.sourcegroup li{margin:8px 0}.keynav{display:flex;gap:8px;flex-wrap:wrap}.keynav button{font-size:13px}.sr{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:650px){.topicwrap details{padding:12px}.topic{gap:8px}.topic .link{font-size:12px;padding:7px}.fieldset{grid-template-columns:1fr}.timerstatus{font-size:11px;padding:7px}.subtle{font-size:12px}.hero h2{line-height:1.2}.intro p{font-size:13px}.toprow{gap:8px}.stats .stat{padding:11px}.stat strong{font-size:21px}}
[hidden]{display:none!important}.topicwrap details>summary{overflow-wrap:anywhere}.questionlist{margin-top:18px}.pager{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:17px}.recap{padding:10px 0;border-bottom:1px solid #e4e6df}.answer.good{color:#235f3b}.answer.bad{color:#802f27}.modalactions{margin-top:14px}.breadcrumbs{margin-top:20px}.resulttable{margin:12px 0}.brand{color:#eef2ed}.questionbody p{color:#40544c}.stats .stat span:first-child{display:block}.materialsrc{line-height:1.7}.topictext{min-width:0}

.analise-argumentativa li { margin-bottom: .9rem; }
.argument-map { display: grid; gap: 1rem; margin: 1.25rem 0; }
.argument-map-root { padding: 1rem; border-radius: .6rem; background: #f1e6cc; text-align: center; }
.argument-map-branches { display: grid; grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); gap: .7rem; }
.argument-map-branches > div { padding: .8rem; border-radius: .5rem; border-top: 3px solid #cda75c; background: #edf2f7; line-height: 1.5; }

.questionbody h2, .answer, .quizitem button, #feedback .examplebox, #feedback .alertbox { white-space: pre-line; }

.math-visual {
  margin: 20px 0;
  padding: clamp(12px, 3vw, 24px);
  border: 1px solid #d7e1e7;
  border-radius: 12px;
  background: #fff;
  color: #203645;
}
.math-visual svg { display: block; width: 100%; max-width: 480px; margin: 0 auto; }
.math-visual svg text { fill: #203645; font: 14px system-ui, sans-serif; text-anchor: middle; }
.math-visual figcaption { margin-top: 12px; line-height: 1.55; }
.math-visual caption { font-weight: 700; text-align: left; padding-bottom: 8px; }
.math-visual .mv-outline, .math-visual .mv-line { fill: none; stroke: #415970; stroke-width: 1.5; }
.math-visual .mv-grid { fill: none; stroke: #d2dce3; }
.math-visual .mv-blue { fill: #2e6b9a; fill-opacity: .24; stroke: #245a85; stroke-width: 1.5; }
.math-visual .mv-gold { fill: #d39220; fill-opacity: .32; stroke: #9a6216; stroke-width: 1.5; }
.math-visual .mv-dot { fill: #173f60; }
.math-visual .mv-path { fill: none; stroke: #a36616; stroke-width: 2.5; }

.lesson-flow figcaption { margin-top: 0; }
.lesson-flow ol { display: grid; gap: 12px; padding-left: 28px; }
.lesson-flow li { padding: 10px 12px; border-left: 3px solid #b88328; background: #f1f5f8; }
.lesson-flow li::marker { color: #36516a; font-weight: 700; }
.lesson-flow p { margin: 4px 0 0; }

.question-progress { margin-bottom: 24px; }
.question-progress .tablewrap { overflow-x: auto; }
.question-progress .tablewrap:focus-visible { outline: 2px solid #80652d; outline-offset: 3px; }
.question-progress table { width: 100%; min-width: 620px; }
.question-progress th:not(:first-child), .question-progress td { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.question-progress tfoot { font-weight: 700; background: #f2eee3; color: #302d24; }

.legal-mindmap { --map-line: #8c7548; }
.legal-mindmap-root {
  position: relative;
  width: fit-content;
  max-width: 100%;
  margin: 16px auto 0;
  padding: 12px 18px;
  border-radius: 9px;
  background: #29434a;
  color: #fff;
  text-align: center;
  font-weight: 700;
}
.legal-mindmap-root::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  height: 16px;
  border-left: 2px solid var(--map-line);
}
.legal-mindmap-branches {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0 0;
  padding: 16px 0 0;
  list-style: none;
}
.legal-mindmap-branches::before {
  content: "";
  position: absolute;
  top: 0;
  inset-inline: calc((100% - 24px) / 6);
  border-top: 2px solid var(--map-line);
}
.legal-mindmap-branches li {
  position: relative;
  padding: 12px;
  border: 1px solid #cfdae2;
  border-radius: 8px;
  background: #edf2f7;
  color: #233841;
}
.legal-mindmap-branches li::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  height: 17px;
  border-left: 2px solid var(--map-line);
}
.legal-mindmap-branches h3 { margin: 0 0 6px; font-size: 1rem; color: inherit; }
.legal-mindmap-branches p { margin: 0; color: inherit; }
@media (max-width: 700px) {
  .legal-mindmap-root { margin-inline: 0; text-align: left; }
  .legal-mindmap-root::after { left: 12px; }
  .legal-mindmap-branches {
    grid-template-columns: 1fr;
    margin: 0 0 0 12px;
    padding: 16px 0 0 14px;
    border-left: 2px solid var(--map-line);
  }
  .legal-mindmap-branches::before { display: none; }
  .legal-mindmap-branches li::before {
    bottom: auto;
    left: auto;
    right: 100%;
    top: 20px;
    width: 15px;
    height: 0;
    border-left: 0;
    border-top: 2px solid var(--map-line);
  }
}

.review-visual-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 16px; align-items: start; }
.review-visual-grid figure { margin: 0; }
.review-visual-grid img { display: block; max-width: 100%; height: auto; border: 1px solid #d7e1e7; border-radius: 8px; }
.review-visual-grid section { padding: 12px; background: #edf2f7; border-radius: 8px; }
.urn-branches, .urn-branches ul { list-style: none; margin: 6px 0; padding-left: 15px; border-left: 2px solid #627c90; }
.urn-branches li { position: relative; margin: 6px 0; }
.urn-branches li::before { position: absolute; content: ""; top: .75em; width: 10px; left: -15px; border-top: 2px solid #627c90; }

.lesson-images .review-visual-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); }
.lesson-images img { margin-inline: auto; }
.lesson-images figure > a { display: block; }
.lesson-images figcaption { margin-top: 10px; line-height: 1.55; }

.lesson-check fieldset { min-width: 0; margin: 0 0 16px; padding: 0; border: 0; }
.lesson-check legend { width: 100%; padding: 0; margin-bottom: 12px; white-space: pre-line; font-weight: 650; line-height: 1.55; }
.lesson-check-option { display: flex; align-items: baseline; gap: 10px; padding: 10px 12px; margin-bottom: 8px; border: 1px solid #cfdce4; border-radius: 8px; cursor: pointer; }
.lesson-check-option input { flex: none; margin: 0; accent-color: #29434a; }
.lesson-check-option:focus-within { outline: 2px solid #295b76; outline-offset: 2px; }
.lesson-check-option:has(input:checked) { border-color: #295b76; }
.lesson-check-option.lesson-check-correct { background: #e5f4e9; border-color: #467852; }
.lesson-check-option.lesson-check-incorrect { background: #fbece9; border-color: #a45646; }
.lesson-check-feedback:not(:empty) { margin-top: 12px; }
.lesson-check-feedback p { margin: 8px 0 0; white-space: pre-line; }

.lesson-challenge details { padding: 12px 14px; border: 1px solid #cfdce4; border-radius: 8px; background: #f3f7fa; }
.lesson-challenge summary { cursor: pointer; font-weight: 700; }
.lesson-challenge summary:focus-visible { outline: 2px solid #295b76; outline-offset: 4px; }
.lesson-challenge details p { margin: 10px 0 0; }

.lesson-check form + form {
  border-top: 1px solid #d6dde6;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
}

.lesson-walkthrough li + li {
  margin-top: .5rem;
}

.lesson-case + .lesson-case {
  margin-top: 1.25rem;
}

/* V34: resolução progressiva e tentativa ativa */
.practice-instruction{line-height:1.6;margin:12px 0}.practice-answer-label{display:block;font-weight:650;margin:14px 0 6px}.practice-attempt{display:block;width:100%;min-height:76px;box-sizing:border-box;border:1px solid #9baec4;border-radius:10px;padding:12px;margin:8px 0 12px;background:#fff;color:#172b45;font:inherit;resize:vertical}.practice-attempt:focus{outline:2px solid #2c679a;outline-offset:1px}.practice-reveal{margin:14px 0;padding:12px 16px;border:1px solid #9cb8d3;border-radius:10px;background:#edf2f7}.practice-reveal summary,.lesson-case details summary{cursor:pointer;font-weight:700}.practice-reveal[open]{background:#e8f3ec}.lesson-case{margin:14px 0;padding:14px;border:1px solid #d6e0ea;border-radius:10px}.lesson-case .practice-attempt{background:#fff}

/* V35: organizadores visuais aplicados aos exemplos de cada aula */
.painel-visual-v35 {border-left:4px solid #c79d42}
.passos-visuais-v35{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:16px 0}
.passo-visual-v35{display:flex;gap:12px;padding:14px;border:1px solid #d5dce6;border-radius:12px;background:#f4f7fb;color:#25354b}
.passo-visual-v35 p{margin:7px 0 0;line-height:1.55}
.passo-num-v35{display:inline-grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#19395c;color:white;font-weight:700}
.conferencia-v35{background:#fff9e6;padding:12px;border-radius:8px}
.lesson-images img{max-width:100%;height:auto}

/* v36 */
.lab-v36{margin-top:18px}.lab-item{border-top:1px solid var(--line,#d8dee8);padding:14px 0}.lab-item ol{padding-left:24px;line-height:1.65}.lab-item li{margin:7px 0}.lab-item details{margin-top:12px;padding:12px;border-radius:8px;background:#edf2f7}.lab-item summary{cursor:pointer;font-weight:700}

/* V43: legibilidade, teclado e telas pequenas */
:focus-visible{outline:3px solid #c58b20;outline-offset:3px}
img,video,svg,canvas{max-width:100%}
pre,code{overflow-wrap:anywhere}
pre{overflow-x:auto}
table{max-width:100%}
@media(max-width:650px){
 body{font-size:16px}
 button,input,select,textarea{font-size:16px}
 .lesson-images img{width:auto;max-width:100%;height:auto}
 .passos-visuais-v35{grid-template-columns:minmax(0,1fr)}
 .passo-visual-v35{min-width:0;overflow-wrap:anywhere}
 #view{min-width:0;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* V45: ajustes do plano de estudos */
#study-start{max-width:220px;margin:10px 0 14px;display:block} .card ol{padding-left:1.5rem;line-height:1.8} .card .tablewrap{overflow-x:auto}

/* V63 — backup acessível do progresso */
.backup-import{display:inline-flex;align-items:center;cursor:pointer;border:1px solid #9baec4;border-radius:8px;padding:10px 14px}
#progress-import{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.backup-import:focus-within{outline:3px solid #c58b20;outline-offset:3px}

.skip-link{position:absolute;left:12px;top:-80px;z-index:1000;background:#fff;color:#122b49;padding:10px 16px;border-radius:6px}
.skip-link:focus{top:12px}
