/* Organização da trilha e da prova */
.article{font-size:15px;line-height:1.75}
.article p{margin:12px 0 16px}
.article h2{margin-top:30px}
.article h3{margin-top:25px}
.article .code-block{font-size:13px;line-height:1.7}
.lesson-lead{background:#eaf4ec;border:1px solid #d5e7d9;border-radius:11px;padding:17px 20px;margin:0 0 26px}
.lesson-lead span,.worked-example>b{display:block;color:#28745a;font:700 10px Manrope,sans-serif;letter-spacing:1.2px}
.lesson-lead p{font:700 17px/1.5 Manrope,sans-serif;color:#235344;margin:7px 0 0}
.code-steps{padding-left:21px;margin:18px 0 25px}
.code-steps li{padding-left:5px}
.worked-example{background:#f2f7f2;border-left:3px solid #70a682;padding:13px 16px;margin:17px 0;border-radius:0 7px 7px 0}
.worked-example p{font-size:13px;color:#3e5b48;margin:6px 0 0}
.study-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:26px 0 22px}
.study-path button{border:1px solid var(--line);background:var(--paper);border-radius:11px;padding:17px;display:flex;align-items:center;gap:14px;text-align:left;color:var(--ink);min-width:0}
.study-path button:hover{border-color:#99c0ad;background:#f3f8f4}
.study-path b,.trail-number{flex:none;width:34px;height:34px;border-radius:9px;background:var(--mint);display:grid;place-items:center;color:var(--green);font:700 12px Manrope,sans-serif}
.study-path span{font:700 12px Manrope,sans-serif}
.study-path small{display:block;color:var(--muted);font:400 10px 'DM Sans',sans-serif;margin-top:3px}
.trail-group{margin:12px 0 38px;scroll-margin-top:22px}
.trail-heading{display:flex;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding:0 0 15px;margin-bottom:16px}
.trail-heading h2{font-size:20px;letter-spacing:-.45px;margin:3px 0}
.trail-heading p{font-size:12px;color:var(--muted);margin:0}
.trail-group:nth-of-type(2) .trail-number{background:#edf0f9;color:#6879aa}
.trail-group:nth-of-type(3) .trail-number{background:#faf1e7;color:#a77f54}
.lesson-card{display:flex;flex-direction:column;min-height:190px}
.lesson-card-top,.lesson-card-foot{display:flex;justify-content:space-between;align-items:center;gap:12px}
.lesson-card h3{margin:16px 0 7px}
.lesson-card p{margin-bottom:22px}
.lesson-card-foot{border-top:1px solid var(--line);margin-top:auto;padding-top:13px;font-size:11px}
.lesson-card-foot small{color:var(--muted)}
.lesson-card-foot a{font-weight:700}
.lesson-map{display:flex;gap:9px;flex-wrap:wrap;margin:-5px 0 18px}
.lesson-map span{font-size:11px;border:1px solid #dce8df;background:#f1f7f2;border-radius:7px;padding:5px 10px;color:#587361}
.article h2,.article h3{scroll-margin-top:24px}
.lesson-pagination{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:23px;margin-top:31px}
.lesson-aside{padding:21px}
.lesson-aside #lesson-toc{display:grid;gap:1px;margin-top:12px}
.toc-link{font-size:11px;line-height:1.35;color:#576875;padding:8px 9px;border-radius:6px}
.toc-link:hover{background:var(--mint);color:var(--green)}
.toc-link.nested{padding-left:20px;color:#7b8992}
.aside-divider{height:1px;background:var(--line);margin:15px 0 5px}
.exam-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}
.exam-overview>div{background:white;border:1px solid var(--line);border-radius:10px;padding:17px;display:grid;gap:3px}
.exam-overview b{color:var(--green);font:700 11px Manrope,sans-serif}
.exam-overview strong{font:700 13px Manrope,sans-serif}
.exam-overview span{color:var(--muted);font-size:11px}
.exam-context{margin:16px 0 25px;background:#f0f5f0;border-color:#dbe9de}
.exam-context summary{color:#315d47}
.exam-group{margin:29px 0 37px}
.exam-group-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:13px;border-bottom:1px solid var(--line)}
.exam-group-heading h2{font-size:18px;margin:0 0 11px}
.exam-group-heading span{font-size:11px;color:var(--muted);white-space:nowrap}
details.question-card{padding:0;margin:0;overflow:hidden}
.question-card>summary.question-summary{display:flex;align-items:center;gap:12px;padding:17px 20px;list-style:none}
.question-card>summary.question-summary::-webkit-details-marker{display:none}
.question-card>summary.question-summary:hover{background:#f6f9f6}
.question-summary .chip{flex:none;margin:0}
.question-title{font:700 13px/1.5 Manrope,sans-serif;flex:1}
.question-points{font-size:11px;color:var(--muted);white-space:nowrap}
.question-chevron{font-size:18px;color:var(--green);transition:transform .15s}
.question-card[open] .question-chevron{transform:rotate(180deg)}
.question-content{padding:0 22px 23px!important;border-top:1px solid var(--line)}
.question-prompt{font-size:14px!important;line-height:1.7;color:var(--ink)!important;margin:20px 0!important}
.related-lessons{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:17px 0}
.related-lessons>span{font-size:9px;letter-spacing:1px;font-weight:700;color:#89948c;margin-right:4px}
.question-content textarea{margin:8px 0 17px}
.question-guidance{display:grid;gap:7px}
.question-guidance details{margin:0;background:#fbfcfb}
.question-guidance summary{font-size:12px;padding:12px 15px}
.question-guidance ol{padding-left:20px;margin:0}
.question-guidance li{padding:3px 0}
@media(max-width:900px){.study-path,.exam-overview{grid-template-columns:1fr}.study-path button{padding:12px}.lesson-aside{position:static}.lesson-aside #lesson-toc{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.study-path{gap:7px}.trail-heading h2{font-size:18px}.lesson-card{min-height:0}.exam-group-heading{align-items:start}.exam-group-heading h2{font-size:16px}.question-card>summary.question-summary{padding:14px;gap:8px;flex-wrap:wrap}.question-title{flex-basis:calc(100% - 72px);order:2}.question-points{margin-left:auto}.question-chevron{order:3}.question-content{padding:0 15px 17px!important}.lesson-pagination .btn{font-size:10px;padding:8px}.lesson-aside #lesson-toc{grid-template-columns:1fr}.exam-overview>div{padding:13px}}
@media print{.study-path,.lesson-map,.lesson-pagination,.exam-overview{display:none}.question-card>summary.question-summary{padding:10px}.question-content{display:block!important}.question-guidance details{break-inside:avoid}}

/* Duas pistas de memorização aparecem somente após revelar a resposta. */
.flash-shell{max-width:1100px}
.flash-study-layout{display:grid;grid-template-columns:1fr;gap:16px;margin-top:14px}
.flash-study-layout.is-revealed{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:stretch}
.flash-study-layout .flashcard{min-width:0;margin:0}
.flash-memory{min-width:0;display:grid;grid-template-rows:auto auto auto;gap:12px;align-content:start}
.memory-panel{min-width:0;border:1px solid #d6e6da;border-radius:14px;padding:20px 22px;background:#f4f8f2}
.memory-association{background:#f7f5ed;border-color:#e8e1ca}
.memory-label{display:block;font:700 10px Manrope,sans-serif;letter-spacing:1.1px;color:#558369;margin-bottom:9px}
.memory-association .memory-label{color:#9b8040}
.memory-panel h3{font:700 15px/1.35 Manrope,sans-serif;color:#234b3c;margin:0 0 9px}
.memory-panel h3 small{font-size:11px;font-weight:500;color:#6a7d70}
.memory-instruction{display:block;font-size:11px;line-height:1.45;color:#738278;margin-bottom:10px}
.case-box{border:1px solid #cdd6e4;border-left:4px solid #3d5a8a;border-radius:12px;background:#f5f7fb;padding:14px 18px;margin-bottom:18px}
.case-box summary{cursor:pointer;font:600 12px/1.4 Manrope,sans-serif;color:#3d5a8a;letter-spacing:.3px}
.case-box summary b{letter-spacing:1.1px}
.case-text{font-size:14px;line-height:1.75;color:#33405a;margin:10px 0 0}
.case-text sup{font:700 9px Manrope,sans-serif;color:#7d8aa3;margin-right:2px}
.case-rule{color:#5d6a82}
.case-hit{background:#e3ebf8;color:#1d2f52;font-weight:600;text-decoration:underline;text-decoration-color:#3d5a8a;text-decoration-thickness:2px;text-underline-offset:3px;padding:1px 2px;border-radius:3px}
.case-hit sup{color:#3d5a8a}
.case-db{margin:10px 0 0;padding:10px 0 0;border-top:1px dashed #cdd6e4;list-style:none;display:grid;gap:4px;font-size:12.5px;color:#33405a}
.case-db b{display:inline-block;min-width:26px;color:#3d5a8a}
.case-none{margin:10px 0 0;padding-top:10px;border-top:1px dashed #cdd6e4;font-size:12.5px;color:#6b7690}
.memory-chain{margin:0;padding:0;list-style:none;counter-reset:elo;display:grid;gap:6px}
.memory-chain li{counter-increment:elo;position:relative;padding-left:30px;font-size:13.5px;line-height:1.55;color:#42584d}
.memory-chain li::before{content:counter(elo);position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;background:#dcebe0;color:#2f6a4c;font:700 11px/20px Manrope,sans-serif;text-align:center}
.memory-chain li:not(:last-child)::after{content:"";position:absolute;left:9.5px;top:22px;bottom:-6px;border-left:1px dashed #a9c9b4}
.memory-chain strong{color:#1f5a40;font-weight:700}
.memory-layer{margin:0;font-size:11px;color:#738278;letter-spacing:.2px}
.memory-layer b{font:700 10px Manrope,sans-serif;letter-spacing:1.1px;color:#558369}
.memory-panel p{font-size:13.5px;line-height:1.65;color:#42584d;margin:0}
.memory-story strong{color:#1f5a40;font-weight:700;background:linear-gradient(transparent 62%,#cfe8d6 62%)}
.memory-panel .memory-hook{font:800 19px/1.3 Manrope,sans-serif;color:#5e4512;letter-spacing:-.2px;padding:12px 14px;border-left:4px solid #c9a24a;background:#fffaf0;border-radius:0 10px 10px 0;margin-bottom:10px}
.memory-panel .memory-decode{font-size:12px;line-height:1.5;color:#7a6c4c}
.memory-panel .memory-decode::before{content:"→ ";font-weight:700;color:#9b8040}
@media(max-width:850px){.flash-study-layout.is-revealed{grid-template-columns:1fr}.flash-memory{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.flash-study-layout .flashcard{min-height:260px}}
@media(max-width:600px){.flash-memory{grid-template-columns:1fr}.memory-panel{padding:17px 18px}.flash-top{gap:8px;flex-wrap:wrap}}
/* Diagrama do modelo ao lado das técnicas de memorização */
.flash-shell{max-width:1480px}
.flash-study-layout.is-revealed{grid-template-columns:minmax(0,1fr) minmax(280px,1fr) minmax(290px,.9fr)}
.flash-diagram{min-width:0;border:1px solid #cdd6e4;border-radius:14px;background:#fbfcfe;padding:18px 18px 14px;display:flex;flex-direction:column;gap:10px}
.flash-diagram .memory-label{color:#3d5a8a;margin:0}
.dg-svg{width:100%;height:auto;max-width:340px;align-self:center;font-family:'DM Sans',Arial,sans-serif}
.dg-box{fill:#fff;stroke:#c3cddd;stroke-width:1}
.dg-head{fill:#e9eef6}
.dg-title{font:700 12.5px Manrope,sans-serif;fill:#1d2f52}
.dg-col{font-size:11.5px;fill:#33405a}
.dg-col.is-hit{font-weight:700;fill:#12305f}
.dg-type{font-size:9.5px;fill:#7d8aa3;font-weight:400}
.dg-key{font:700 9px Manrope,sans-serif;fill:#9b6a1c;letter-spacing:.3px}
.dg-colhit{fill:#dbe6f7}
.dg-table.is-hit .dg-box{stroke:#3d5a8a;stroke-width:2}
.dg-table.is-hit .dg-head{fill:#cfdcf1}
.dg-rel line,.dg-rel path{stroke:#8f9bb0;stroke-width:1.4;fill:none}
.dg-rel.is-hit line,.dg-rel.is-hit path{stroke:#3d5a8a;stroke-width:2.4}
.dg-lookup path:first-child{stroke-dasharray:4 3}
.dg-card{font:700 10.5px Manrope,sans-serif;fill:#5d6a82}
.dg-rel.is-hit .dg-card{fill:#3d5a8a}
.is-dim{opacity:.38}
.dg-note{margin:0;font-size:12.5px;line-height:1.5;color:#33405a;border-top:1px dashed #cdd6e4;padding-top:10px}
.dg-legend{margin:0;font-size:11px;color:#7d8aa3;display:flex;align-items:center;gap:6px}
.dg-swatch{display:inline-block;width:14px;height:10px;border-radius:2px;background:#dbe6f7;border:1.5px solid #3d5a8a}
@media(max-width:1250px){.flash-study-layout.is-revealed{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.flash-study-layout.is-revealed .flashcard{grid-column:1/-1;min-height:220px}.flash-study-layout.is-revealed .flash-memory{grid-template-columns:1fr}}
@media(max-width:850px){.flash-study-layout.is-revealed{grid-template-columns:1fr}}
