/* GERADO por tools/pagina_capitulos.py a partir do site/index.html. Não editar. */

/* ============ grant learningX1 — sistema de design v4 ============ */
:root{
  /* superfícies em tons quentes de papel */
  --bg:#F3ECDD; --bg-2:#E9DFCA; --card:#FBF7EE; --card-2:#F2EADA;
  --ink:#1C1813; --ink-2:#4B4134; --ink-soft:#6A5D4B; --line:#DCCDAF; --line-2:#E9DDC3;
  /* tinta de destaque */
  --hi:#E3B74F; --hi-soft:#F6E8C4;
  /* a tinta que vai POR CIMA de uma cor cheia: branco no claro, escura no escuro */
  --sobre-forte:#FFFFFF;
  --c1:#0A6A66; --c2:#8A3A1C; --c3:#3D6B4F; --c4:#A1242F; --c5:#0D736E; --c6:#9B4A2A; --c7:#3F7254;
  --c1-bg:#DDEFEC; --c2-bg:#F4E2D8; --c3-bg:#E3EEE6; --c4-bg:#F6DEDF; --c5-bg:#E2F2F0; --c6-bg:#F5E6DC; --c7-bg:#E6F0E9;
  --radius:16px; --radius-s:10px; --maxw:1080px; --rdr:74ch;
  --sh-s:0 1px 2px rgba(28,24,19,.06),0 2px 6px rgba(28,24,19,.05);
  --sh-m:0 2px 4px rgba(28,24,19,.06),0 10px 28px rgba(28,24,19,.09);
  --sh-l:0 4px 8px rgba(28,24,19,.07),0 20px 48px rgba(28,24,19,.13);
  --fd:"Archivo",system-ui,sans-serif; --fb:"Source Serif 4",Georgia,serif; --fm:"Archivo",system-ui,sans-serif;
}
html[data-theme="dark"]{
  --bg:#0B0F17; --bg-2:#070A10; --card:#121826; --card-2:#18202F;
  --ink:#E9E1CF; --ink-2:#C7BEA9; --ink-soft:#9C937F; --line:#283044; --line-2:#1A2131;
  --hi:#C9A24B; --hi-soft:#2E2510; --sobre-forte:#0B0F17;
  --c1:#3FE0D0; --c2:#D9B35F; --c3:#86D3A8; --c4:#F07A80; --c5:#6FE8DB; --c6:#E4C27A; --c7:#A2DEBC;
  --c1-bg:#0E2A2C; --c2-bg:#2A2213; --c3-bg:#13271E; --c4-bg:#2E1518; --c5-bg:#10302F; --c6-bg:#2D2516; --c7-bg:#172C22;
  --sh-s:0 1px 2px rgba(0,0,0,.4); --sh-m:0 4px 18px rgba(0,0,0,.45); --sh-l:0 10px 40px rgba(0,0,0,.55);
}
@media (prefers-color-scheme:dark){html:not([data-theme="light"]){
  --bg:#0B0F17; --bg-2:#070A10; --card:#121826; --card-2:#18202F;
  --ink:#E9E1CF; --ink-2:#C7BEA9; --ink-soft:#9C937F; --line:#283044; --line-2:#1A2131;
  --hi:#C9A24B; --hi-soft:#2E2510; --sobre-forte:#0B0F17;
  --c1:#3FE0D0; --c2:#D9B35F; --c3:#86D3A8; --c4:#F07A80; --c5:#6FE8DB; --c6:#E4C27A; --c7:#A2DEBC;
  --c1-bg:#0E2A2C; --c2-bg:#2A2213; --c3-bg:#13271E; --c4-bg:#2E1518; --c5-bg:#10302F; --c6-bg:#2D2516; --c7-bg:#172C22;
  --sh-s:0 1px 2px rgba(0,0,0,.4); --sh-m:0 4px 18px rgba(0,0,0,.45); --sh-l:0 10px 40px rgba(0,0,0,.55);
}}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
body{background:var(--bg);color:var(--ink);font-family:var(--fb);font-size:clamp(1.02rem,.97rem + .3vw,1.16rem);line-height:1.72;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
body,nav,.card,.box,details,.tw,td,th,.tl-i::before,.alegoria,.se-i,.ficha,.quote,.toc a{transition:background-color .3s,border-color .3s,color .3s,box-shadow .3s}
a{color:var(--c1);text-underline-offset:3px;text-decoration-thickness:1px}
::selection{background:var(--hi);color:#1A1013}
p,li,summary,h1,h2,h3,h4{overflow-wrap:break-word}
img{max-width:100%}

/* ====== fundo decorativo sutil (grade de caderno) ====== */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(var(--line-2) 1px,transparent 1px);background-size:100% 30px;opacity:.45}
html[data-theme="dark"] body::before,html:not([data-theme="light"]) body::before{opacity:.16}

/* ====== NAV ====== */
nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(12px) saturate(1.4);border-bottom:1px solid var(--line)}
@supports not (backdrop-filter:blur(1px)){nav{background:var(--bg)}}
.nav-in{max-width:var(--maxw);margin:0 auto;padding:.6rem max(1rem,env(safe-area-inset-left));display:flex;align-items:center;gap:.5rem;overflow-x:auto;scrollbar-width:none;position:relative}
.nav-in::-webkit-scrollbar{display:none}
.brand{font-family:var(--fd);font-weight:800;font-stretch:88%;font-size:1rem;letter-spacing:-.01em;white-space:nowrap;color:var(--ink);text-decoration:none;margin-right:.3rem;display:flex;align-items:center;gap:.5rem;flex:none}
.brand .mark{width:26px;height:26px;border-radius:8px;background:var(--ink);color:var(--bg);display:grid;place-items:center;font-size:.95rem;font-weight:900;transform:rotate(-4deg);box-shadow:var(--sh-s)}
.brand b{font-weight:800}.brand .x1{color:var(--c5)}
/* A barra de cima rola para o lado no celular. No kamim ela tem 43 abas de
   capítulo, e Tema, Foco e o botão de modo ficavam lá no fim (07/10/2026):
   agora vêm logo depois da logo, antes das abas. A logo fica PARADA no
   começo da barra e sai junto quando se arrasta para o lado. Presa por
   cima (sticky) ela cobria os botões, e o dono reprovou (08/10/2026). */
.nav-in>.brand,.nav-in>.brand-blog{order:-3}
/* "blog" ao lado da marca (dono, 09/10/2026: "no lado do Colossus Brain 3, o
   blog, escrito blog, bonito, mas sem deixar um png"). É TEXTO, na fonte da
   marca, e anda junto com ela: parada no começo da barra, sai quando se
   arrasta para o lado. O traço antes dele separa sem virar botão. */
.brand-blog{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;flex:none;
  margin:0 .35rem 0 -.15rem;padding:0 .35rem 0 0;font-family:var(--fd);font-weight:800;
  font-stretch:88%;font-size:.95rem;letter-spacing:-.01em;white-space:nowrap;
  color:var(--c2);text-decoration:none}
.brand-blog::before{content:"";width:1.5px;height:1.05em;background:var(--line);border-radius:2px}
.brand-blog:hover{color:var(--c1)}
.nav-in>.prog-ring,.nav-in>.streak,.nav-in>.exam-btn,.nav-in>.nav-tool,
.nav-in>.theme-btn{order:-2}
nav a.tab{font-family:var(--fm);font-size:.7rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;white-space:nowrap;padding:.4rem .7rem;border-radius:999px;border:1px solid transparent;flex:none}
nav a.tab:hover{border-color:var(--line);background:var(--card);color:var(--ink)}
nav a.tab.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.theme-btn{margin-left:auto;flex:none;background:var(--card);border:1px solid var(--line);color:var(--ink);font-family:var(--fm);font-size:.7rem;font-weight:500;padding:.4rem .65rem;border-radius:999px;cursor:pointer;white-space:nowrap;box-shadow:var(--sh-s)}
.theme-btn:hover{border-color:var(--c1)}
.theme-btn:focus-visible,a:focus-visible,summary:focus-visible,.totop:focus-visible{outline:3px solid var(--c1);outline-offset:2px;border-radius:6px}

/* barra de progresso de leitura */
#bar{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,var(--c1),var(--c2),var(--c5));z-index:60;will-change:transform;transition:transform .12s linear}

/* ====== HERO ====== */
header{max-width:var(--maxw);margin:0 auto;padding:clamp(2.5rem,6vw,5.5rem) max(1rem,env(safe-area-inset-left)) clamp(1.5rem,4vw,3rem)}
.eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--fm);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);background:var(--card);border:1px solid var(--line);padding:.4rem .8rem;border-radius:999px;box-shadow:var(--sh-s)}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--c3);box-shadow:0 0 0 3px color-mix(in srgb,var(--c3) 25%,transparent)}
h1{font-family:var(--fd);font-weight:900;font-stretch:86%;line-height:1.0;letter-spacing:-.025em;font-size:clamp(2.5rem,1.3rem + 6vw,5rem);margin:1.1rem 0 1.3rem;text-wrap:balance}
.hl{background:linear-gradient(105deg,transparent 1%,var(--hi) 2.5%,var(--hi) 97.5%,transparent 99%);color:#1A1013;padding:0 .1em;box-decoration-break:clone;-webkit-box-decoration-break:clone;border-radius:2px}
.lead{max-width:64ch;font-size:clamp(1.08rem,1rem + .45vw,1.3rem);color:var(--ink-2)}
.hero-tags{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.8rem}
.hero-tags span{font-family:var(--fm);font-size:.7rem;letter-spacing:.03em;text-transform:uppercase;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:.45rem .8rem;color:var(--ink-2);box-shadow:var(--sh-s)}
.hero-tags span i{font-style:normal;display:inline-block;width:.6em;height:.6em;border-radius:50%;margin-right:.45em}
.hero-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-top:2.4rem}
.hero-stats .s{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem;box-shadow:var(--sh-s)}
.hero-stats .s b{display:block;font-family:var(--fd);font-weight:900;font-stretch:85%;font-size:1.8rem;letter-spacing:-.02em;line-height:1;color:var(--ink)}
.hero-stats .s span{font-size:.86em;color:var(--ink-soft)}

/* ====== MAIN ====== */
main{max-width:var(--maxw);margin:0 auto;padding:0 max(1rem,env(safe-area-inset-left)) 4rem}
section.cap{margin-top:clamp(3.5rem,8vw,6rem);scroll-margin-top:96px}

/* ===== busca interna ===== */
.search-wrap{max-width:var(--maxw);margin:0 auto;padding:.9rem max(1rem,env(safe-area-inset-left)) 0}
.search-box{position:relative;display:flex;align-items:center}
.search-box svg{position:absolute;left:.9rem;width:17px;height:17px;color:var(--ink-soft);pointer-events:none}
#q{width:100%;font-family:var(--fb);font-size:1rem;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:.7rem 2.6rem;box-shadow:var(--sh-s)}
#q::placeholder{color:var(--ink-soft)}
#q:focus{outline:none;border-color:var(--c1);box-shadow:0 0 0 3px color-mix(in srgb,var(--c1) 22%,transparent)}
.search-clear{position:absolute;right:.6rem;background:none;border:none;color:var(--ink-soft);font-size:1.3rem;cursor:pointer;padding:.2rem .4rem;line-height:1;display:none}
.search-clear:hover{color:var(--ink)}
.search-info{max-width:var(--maxw);margin:.5rem auto 0;padding:0 max(1rem,env(safe-area-inset-left));font-family:var(--fm);font-size:.74rem;color:var(--ink-soft);min-height:1rem}
mark.hit{background:var(--hi);color:#1A1013;border-radius:3px;padding:0 .1em}

/* ===== Modo Véspera de Prova ===== */
#examRoom{display:none;max-width:var(--maxw);margin:0 auto;padding:0 max(1rem,env(safe-area-inset-left)) 4rem}
body.exam-mode #examRoom{display:block}
body.exam-mode main,body.exam-mode header,body.exam-mode .search-wrap,body.exam-mode .search-info,body.exam-mode footer{display:none}
.exam-banner{max-width:var(--maxw);margin:1.2rem auto 1.5rem;padding:1.1rem 1.3rem;background:var(--c4-bg);border:1px solid var(--c4);border-left:5px solid var(--c4);border-radius:var(--radius);color:var(--ink);box-shadow:var(--sh-s)}
.exam-banner b{font-family:var(--fd);font-weight:800;display:block;margin-bottom:.25rem;font-size:1.05rem}
.exam-room-title{font-family:var(--fm);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin:1.8rem 0 .4rem;display:block}
.exam-btn{flex:none;background:var(--c4);border:1px solid var(--c4);color:var(--sobre-forte,#FFFFFF);font-family:var(--fm);font-size:.7rem;font-weight:600;padding:.4rem .7rem;border-radius:999px;cursor:pointer;white-space:nowrap;box-shadow:var(--sh-s);text-transform:uppercase;letter-spacing:.04em}
.exam-btn:hover{filter:brightness(1.08)}
.exam-btn.on{background:var(--ink);border-color:var(--ink)}

/* ===== widgets interativos ===== */
.widget{background:var(--card-2);border:1px dashed var(--pc,var(--c1));border-radius:var(--radius);padding:1.1rem 1.2rem;margin:1.2rem 0}
.widget .wt{font-family:var(--fm);font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--pc,var(--c1));display:block;margin-bottom:.6rem}
.widget button.act{font-family:var(--fd);font-weight:700;font-size:.92rem;background:var(--pc,var(--c1));color:var(--sobre-forte,#FFFFFF);border:none;border-radius:999px;padding:.5rem 1.1rem;cursor:pointer;box-shadow:var(--sh-s)}
.widget button.act:hover{filter:brightness(1.08)}
.widget button.ghost{background:var(--card);color:var(--ink);border:1px solid var(--line)}
.major-out{font-family:var(--fm);font-weight:600;font-size:2rem;letter-spacing:.12em;color:var(--ink);margin:.3rem 0;min-height:1.4em;text-align:center}
.major-hint{font-size:.9em;color:var(--ink-2);margin-top:.4rem}
.major-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;justify-content:center}
.fc{perspective:1000px;margin:.4rem auto;max-width:340px}
.fc-inner{position:relative;width:100%;min-height:120px;cursor:pointer;transform-style:preserve-3d;transition:transform .5s}
.fc.flipped .fc-inner{transform:rotateY(180deg)}
.fc-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:grid;place-items:center;text-align:center;padding:1.1rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--card);box-shadow:var(--sh-s)}
.fc-face .lab{position:absolute;top:.55rem;left:.7rem;font-family:var(--fm);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.fc-front{font-family:var(--fd);font-weight:700;font-size:1.15rem;color:var(--ink)}
.fc-back{transform:rotateY(180deg);background:var(--c7-bg);font-size:1rem;color:var(--ink)}
.fc-tip{text-align:center;font-size:.82em;color:var(--ink-soft);margin-top:.5rem;font-family:var(--fm)}
.cap-head{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-bottom:.5rem}
.cap-num{font-family:var(--fm);font-size:.74rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .7rem;border-radius:999px;color:#fff;box-shadow:var(--sh-s)}
.cap-rule{height:3px;border-radius:3px;background:var(--pc,var(--c1));margin:.2rem 0 1.3rem;width:64px}
h2{font-family:var(--fd);font-weight:900;font-stretch:86%;letter-spacing:-.02em;line-height:1.06;font-size:clamp(1.85rem,1.3rem + 2.6vw,3rem);text-wrap:balance}
.cap-sub{color:var(--ink-2);max-width:66ch;margin:.6rem 0 1.4rem;font-size:1.04em}
.toc{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 2rem;padding:1rem 1.1rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--sh-s)}
.toc b{flex-basis:100%;font-family:var(--fm);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.1rem}
.toc a{font-family:var(--fm);font-size:.74rem;text-decoration:none;color:var(--ink-2);background:var(--card-2);border:1px solid var(--line);border-radius:999px;padding:.32rem .7rem}
.toc a:hover{border-color:var(--pc,var(--c1));color:var(--pc,var(--c1))}

h3{font-family:var(--fd);font-weight:800;font-stretch:90%;font-size:clamp(1.25rem,1.05rem + .9vw,1.6rem);letter-spacing:-.015em;margin:2.6rem 0 .8rem;line-height:1.18;display:flex;flex-direction:column}
h3 .step{font-family:var(--fm);font-weight:600;font-size:.72rem;letter-spacing:.08em;color:var(--pc,var(--c1));margin-bottom:.35rem;text-transform:uppercase}
h4{font-family:var(--fd);font-weight:700;font-size:1.05rem;margin:1.5rem 0 .4rem;letter-spacing:-.01em}
p{margin:.75rem 0;max-width:var(--rdr)}
ul,ol{margin:.75rem 0 1rem 1.35rem;max-width:var(--rdr)}
li{margin:.5rem 0}
li::marker{color:var(--pc,var(--c1));font-weight:600}
ul li::marker{color:var(--ink-soft)}
strong{font-weight:700;color:var(--ink)}
.lvl{display:inline-block;font-family:var(--fm);font-size:.62rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--line);color:var(--ink-soft);margin-left:.5rem;vertical-align:middle;background:var(--card)}

/* fichas/cards */
.grid{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,265px),1fr));margin:1.4rem 0}
.ficha{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.3rem;position:relative;overflow:hidden;box-shadow:var(--sh-s)}
.ficha:hover{box-shadow:var(--sh-m);transform:translateY(-2px)}
.ficha{transition:box-shadow .25s,transform .25s}
.ficha::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--pc,var(--c1))}
.ficha .tag{font-family:var(--fm);font-size:.64rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--pc,var(--c1));display:block;margin-bottom:.15rem}
.ficha h4{margin:.1rem 0 .3rem}
.ficha p,.ficha li{font-size:.93em;color:var(--ink-2)}

/* numerais grandes decorativos */

/* caixas */
.box{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--pc,var(--c1));border-radius:var(--radius-s);padding:1.1rem 1.3rem;margin:1.4rem 0;box-shadow:var(--sh-s)}
.box.alert{--pc:var(--c4);background:var(--c4-bg)}
.box.gold{border-left-color:var(--c5);background:var(--hi-soft)}
.box .bt{font-family:var(--fm);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:.4rem;color:var(--ink-soft)}
.box p{max-width:none}

.alegoria{background:var(--card-2);border:1.5px dashed var(--ink-soft);border-radius:var(--radius);padding:1.2rem 1.4rem;margin:1.6rem 0;font-style:italic;color:var(--ink);max-width:var(--rdr)}
.alegoria .bt{font-style:normal;font-family:var(--fm);font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--pc,var(--c1));display:block;margin-bottom:.3rem}

.quote{border-left:4px solid var(--hi);background:var(--card-2);border-radius:0 var(--radius-s) var(--radius-s) 0;padding:.85rem 1.2rem;margin:1.4rem 0;font-style:italic;font-size:1.04em;max-width:var(--rdr)}
.quote cite{display:block;font-style:normal;font-family:var(--fm);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-top:.45rem}

/* cenários "E SE" */
.se{display:grid;gap:.8rem;margin:1.5rem 0;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.se-i{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem 1.05rem 1.1rem;box-shadow:var(--sh-s);position:relative}
.se-i::before{content:"E SE…";font-family:var(--fm);font-size:.6rem;font-weight:600;letter-spacing:.06em;color:var(--sobre-forte,#FFFFFF);background:var(--pc,var(--c1));padding:.22rem .5rem;border-radius:6px;display:inline-block;margin-bottom:.5rem}
.se-i b{font-family:var(--fd);font-weight:700;display:block;margin-bottom:.2rem;font-size:1rem;letter-spacing:-.01em}
.se-i p{margin:.25rem 0;font-size:.92em;color:var(--ink-2);max-width:none}

/* acordeões */
details{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:.7rem 0;overflow:hidden;box-shadow:var(--sh-s)}
summary{cursor:pointer;list-style:none;padding:.95rem 1.2rem;font-family:var(--fd);font-weight:700;font-size:1rem;display:flex;align-items:center;gap:.7rem;letter-spacing:-.01em}
summary::-webkit-details-marker{display:none}
summary::before{content:"";width:18px;height:18px;flex:none;border-radius:50%;border:2px solid var(--pc,var(--c1));position:relative;transition:background .2s}
summary::after{content:"";position:absolute;left:1.2rem;margin-left:5px;width:8px;height:2px;background:var(--pc,var(--c1));box-shadow:0 0 0 0 transparent}
summary{position:relative}
details summary::after{content:"+";background:none;font-family:var(--fm);color:var(--pc,var(--c1));width:auto;height:auto;left:1.38rem;margin-left:0;font-size:.9rem;font-weight:600;line-height:1;top:50%;transform:translateY(-50%)}
details summary::before{border-color:var(--pc,var(--c1))}
details[open] summary::after{content:"–"}
details[open] summary{border-bottom:1px solid var(--line-2)}
.din{padding:.5rem 1.2rem 1.1rem}
.din p,.din li{font-size:.95em}
.din p:first-child{margin-top:.5rem}

/* tabelas */
.tw{overflow-x:auto;margin:1.4rem 0;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--sh-s);-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;min-width:540px;font-size:.93em;table-layout:auto;overflow-wrap:break-word}
th{font-family:var(--fm);font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-align:left;background:var(--ink);color:var(--bg);padding:.7rem .9rem}
td{padding:.7rem .9rem;border-top:1px solid var(--line-2);vertical-align:top;color:var(--ink-2)}
td:first-child{font-family:var(--fd);font-weight:700;color:var(--ink)}
tr:nth-child(even) td{background:var(--card-2)}

kbd{font-family:var(--fm);font-size:.82em;background:var(--card-2);border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:.06em .42em}

/* timeline */
.tl{border-left:3px solid var(--pc,var(--c1));margin:1.6rem 0 1.6rem .4rem;padding-left:1.4rem}
.tl-i{position:relative;margin:0 0 1.5rem}
.tl-i:last-child{margin-bottom:0}
.tl-i::before{content:"";position:absolute;left:-1.97rem;top:.4em;width:14px;height:14px;border-radius:50%;background:var(--bg);border:3px solid var(--pc,var(--c1));box-shadow:0 0 0 3px var(--bg)}
.tl-i .tt{font-family:var(--fm);font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--pc,var(--c1))}
.tl-i h4{margin:.2rem 0 .3rem}
.tl-i p,.tl-i li{font-size:.95em;margin-top:.2rem}

/* fluxo caderno→anki (passos horizontais) */
.flow{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));margin:1.5rem 0;counter-reset:fl}
.flow .st{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem 1.2rem;box-shadow:var(--sh-s);position:relative}
.flow .st::before{counter-increment:fl;content:counter(fl);font-family:var(--fd);font-weight:900;font-size:1.5rem;color:var(--sobre-forte,#FFFFFF);background:var(--pc,var(--c1));width:2rem;height:2rem;border-radius:9px;display:grid;place-items:center;margin-bottom:.6rem;box-shadow:var(--sh-s)}
.flow .st h4{margin:0 0 .25rem}
.flow .st p{font-size:.9em;margin:.15rem 0;color:var(--ink-2);max-width:none}

/* cores por capítulo */
#cerebro{--pc:var(--c2)} #cerebro .cap-num{background:var(--c2)}
#idiomas{--pc:var(--c1)} #idiomas .cap-num{background:var(--c1)}
#memoria{--pc:var(--c2)} #memoria .cap-num{background:var(--c2)}
#ferramentas{--pc:var(--c6)} #ferramentas .cap-num{background:var(--c6)}
#ultra{--pc:var(--c3)} #ultra .cap-num{background:var(--c3)}
#xadrez{--pc:var(--c4)} #xadrez .cap-num{background:var(--c4)}
#provas{--pc:var(--c5)} #provas .cap-num{background:var(--c5)}
#anki{--pc:var(--c7)} #anki .cap-num{background:var(--c7)}
#escrita{--pc:var(--c1)} #escrita .cap-num{background:var(--c1)}
#polimata{--pc:var(--c5)} #polimata .cap-num{background:var(--c5)}
#calculo{--pc:var(--c3)} #calculo .cap-num{background:var(--c3)}
#persuasao{--pc:var(--c4)} #persuasao .cap-num{background:var(--c4)}
#objetivos{--pc:var(--c6)} #objetivos .cap-num{background:var(--c6)}
#ler{--pc:var(--c2)} #ler .cap-num{background:var(--c2)}

/* ===== componentes especiais do Capítulo 13 (Ler & Acelerar) ===== */
.ler-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--c2) 12%,var(--card)),color-mix(in srgb,var(--c1) 10%,var(--card)));border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 1.6rem;margin:1.4rem 0;position:relative;overflow:hidden}
.ler-hero::after{content:"";position:absolute;top:-40%;right:-10%;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--c2) 22%,transparent),transparent 70%);pointer-events:none}
.ler-hero h4{font-family:var(--fd);font-weight:800;font-size:1.15rem;margin:0 0 .4rem;color:var(--ink)}
.ler-hero p{margin:.3rem 0;position:relative;z-index:1}
/* velocímetro de leitura */
.speedo{display:grid;gap:.7rem;margin:1.4rem 0}
.speedo-row{display:grid;grid-template-columns:5.6rem 1fr;grid-template-areas:"lab bar" ". val";align-items:center;gap:.3rem .8rem}
@media (min-width:760px){.speedo-row{grid-template-columns:6rem 1fr minmax(0,17rem);grid-template-areas:"lab bar val"}}
.speedo-lab{grid-area:lab;font-family:var(--fm);font-size:.78rem;font-weight:600;color:var(--ink)}
.speedo-bar{grid-area:bar;height:22px;border-radius:999px;background:var(--card-2);border:1px solid var(--line);overflow:hidden;position:relative}
.speedo-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--c3),var(--c5))}
.speedo-fill.warn{background:linear-gradient(90deg,var(--c5),var(--c4))}
.speedo-fill.bad{background:linear-gradient(90deg,var(--c4),#8a2a1f)}
.speedo-val{grid-area:val;font-family:var(--fm);font-size:.74rem;color:var(--ink-2);text-align:left}
@media (min-width:760px){.speedo-val{text-align:right}}
/* roadmap cronograma */
.road{position:relative;margin:1.5rem 0;padding-left:0}
.road-step{display:grid;grid-template-columns:auto 1fr;gap:1rem;margin:0 0 1rem;align-items:stretch}
.road-when{font-family:var(--fd);font-weight:900;font-stretch:85%;font-size:.82rem;letter-spacing:-.01em;color:var(--sobre-forte,#FFFFFF);background:var(--pc,var(--c2));border-radius:12px;padding:.7rem .6rem;display:grid;place-items:center;text-align:center;min-width:74px;line-height:1.1}
.road-body{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--pc,var(--c2));border-radius:var(--radius-s);padding:.9rem 1.1rem;box-shadow:var(--sh-s)}
.road-body h4{margin:0 0 .25rem;font-family:var(--fd);font-weight:700;font-size:1.02rem}
.road-body p{margin:.2rem 0;font-size:.93em;color:var(--ink-2);max-width:none}
/* pílulas de nível */
.levels{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.1rem 0}
.levels .lv-pill{font-family:var(--fm);font-size:.72rem;font-weight:600;padding:.4rem .8rem;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink-2);display:flex;align-items:center;gap:.4rem}
.levels .lv-pill b{color:var(--pc,var(--c2));font-weight:800}
/* grid de princípios numerados grandes */
.principles{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));margin:1.4rem 0;counter-reset:pr}
.principle{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem 1.2rem;box-shadow:var(--sh-s);position:relative;overflow:hidden}
.principle::before{counter-increment:pr;content:counter(pr,decimal-leading-zero);position:absolute;top:.4rem;right:.6rem;font-family:var(--fd);font-weight:900;font-stretch:80%;font-size:2.6rem;color:color-mix(in srgb,var(--pc,var(--c2)) 16%,transparent);line-height:1}
.principle h4{margin:.1rem 0 .35rem;font-family:var(--fd);font-weight:700;font-size:1.04rem;position:relative;z-index:1;padding-right:2rem}
.principle p{margin:0;font-size:.92em;color:var(--ink-2)}

footer{border-top:3px solid var(--ink);margin:4rem auto 0;max-width:var(--maxw);padding:2.5rem max(1rem,env(safe-area-inset-left)) 4rem;color:var(--ink-2);font-size:.93em}
footer h3{margin-top:0;flex-direction:row}
footer .bt{font-family:var(--fm);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);display:block;margin:1.4rem 0 .4rem}
.totop{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));background:var(--ink);color:var(--bg);text-decoration:none;font-family:var(--fm);font-size:.78rem;padding:.6rem .85rem;border-radius:999px;box-shadow:var(--sh-m);opacity:.92;z-index:40}
.totop:hover{opacity:1}

/* ====== responsivo ====== */
@media (min-width:1280px){:root{--maxw:1140px}body{font-size:1.18rem}}
@media (min-width:1700px){:root{--maxw:1220px}}
@media (min-width:760px) and (max-width:1100px){.grid,.se{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){
  body{line-height:1.66}
  h3{margin-top:2.1rem}
  table{min-width:440px;font-size:.86em}
  th,td{padding:.55rem .65rem}
  .toc,.box,.alegoria,.din,.se-i,.ficha,.flow .st{padding-left:1rem;padding-right:1rem}
  .tl{padding-left:1.1rem;margin-left:.3rem}
  .tl-i::before{left:-1.72rem;width:12px;height:12px}
  summary{padding:.85rem 1rem;font-size:.95rem;gap:.5rem}
  .din{padding:.4rem 1rem 1rem}
  ul,ol{margin-left:1.2rem}
  .hero-stats{grid-template-columns:repeat(2,1fr)}
  footer{padding-bottom:5rem}
}
@media (max-width:380px){
  html{font-size:15px}
  table{min-width:360px;font-size:.8em}
  .hero-tags span{font-size:.62rem;padding:.35rem .55rem}
  .hero-stats{grid-template-columns:1fr}
  summary{font-size:.9rem}
}
@media print{nav,.totop,#bar,.theme-btn{display:none}body{background:#fff}body::before{display:none}.ficha,.box,details,.se-i{box-shadow:none;break-inside:avoid}}
/* callout de defesa dentro das táticas perigosas */
.din .defesa{display:block;margin-top:.7rem;padding:.7rem .9rem;background:color-mix(in srgb,var(--c3) 12%,var(--card));border-left:3px solid var(--c3);border-radius:8px;font-size:.93em}
.din p{margin:.45rem 0}

/* ===== refinamentos estéticos (mais moderno e satisfatório) ===== */
/* nav: indicador ativo mais elegante */
nav a.tab{transition:background .2s,color .2s,border-color .2s,transform .15s}
nav a.tab:active{transform:scale(.96)}
nav a.tab.on{box-shadow:0 2px 8px color-mix(in srgb,var(--ink) 25%,transparent)}
/* hero: leve refino tipográfico */
h1{letter-spacing:-.03em}
/* cap-num: contraste garantido + leve profundidade */
.cap-num{text-shadow:0 1px 2px rgba(0,0,0,.18)}
/* dark: acentos com texto branco precisam de leve sombra para legibilidade */
html[data-theme="dark"] .cap-num,html:not([data-theme="light"]) .cap-num{text-shadow:0 1px 3px rgba(0,0,0,.45)}
/* cards: micro-elevação no hover mais suave e satisfatória */
.ficha,.box,details,.se-i,.principle,.road-body{transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease}
.principle:hover,.road-body:hover{transform:translateY(-2px);box-shadow:var(--sh-m)}
/* details: abertura mais suave */
details[open]{animation:fadeIn .25s ease}
@keyframes fadeIn{from{opacity:.4}to{opacity:1}}
/* toc: links com leve destaque ao passar */
.toc a{transition:background .2s,color .2s,border-color .2s,transform .15s}
.toc a:hover{transform:translateY(-1px)}
/* scroll suave entre seções já existe; reforço de foco visível para acessibilidade */
:focus-visible{outline:2.5px solid var(--c1);outline-offset:3px;border-radius:6px}
/* seleção de texto na cor do tema */
::selection{background:var(--hi);color:#1A1013}
/* botões do topo e tema: micro-feedback */
.theme-btn,.exam-btn,.totop{transition:transform .15s,filter .2s,border-color .2s,background .2s}
.theme-btn:active,.exam-btn:active,.totop:active{transform:scale(.95)}
/* quote: aspas decorativas modernas */
.quote{position:relative}
.quote::before{content:"\201C";position:absolute;top:-.3rem;left:.4rem;font-family:var(--fd);font-size:2.4rem;font-weight:900;color:color-mix(in srgb,var(--hi) 55%,transparent);line-height:1;pointer-events:none}
.quote{padding-left:1.8rem}
/* alegoria: leve gradiente para profundidade */
.alegoria{background:linear-gradient(135deg,var(--card-2),color-mix(in srgb,var(--pc,var(--c1)) 6%,var(--card-2)))}
/* hr visual entre grandes blocos via cap-rule mais expressiva */
.cap-rule{height:4px;background:linear-gradient(90deg,var(--pc,var(--c1)),color-mix(in srgb,var(--pc,var(--c1)) 30%,transparent))}
/* tabelas: cabeçalho com leve gradiente */
th{background:linear-gradient(180deg,var(--ink),color-mix(in srgb,var(--ink) 88%,#000))}
/* melhora leitura: largura de medida um tico maior em telas grandes */
@media (min-width:1280px){:root{--rdr:76ch}}
/* barra de busca: foco mais vivo */
#q:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--c1) 25%,transparent),var(--sh-s)}
/* hero stats: hover sutil */
.hero-stats .s{transition:transform .2s,box-shadow .2s}
.hero-stats .s:hover{transform:translateY(-2px);box-shadow:var(--sh-m)}
/* ===== tracker de progresso + polimentos finais ===== */
/* marcar capítulo como concluído */
.cap-done{margin-left:auto;display:inline-flex;align-items:center;gap:.4rem;font-family:var(--fm);font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:.35rem .7rem;cursor:pointer;transition:all .2s;white-space:nowrap}
.cap-done:hover{border-color:var(--pc,var(--c1));color:var(--pc,var(--c1))}
.cap-done .chk{width:15px;height:15px;border-radius:5px;border:2px solid var(--ink-soft);display:grid;place-items:center;transition:all .2s;flex:none}
.cap-done[aria-pressed="true"]{background:color-mix(in srgb,var(--c3) 14%,var(--card));border-color:var(--c3);color:var(--c3)}
.cap-done[aria-pressed="true"] .chk{background:var(--c3);border-color:var(--c3)}
.cap-done[aria-pressed="true"] .chk::after{content:"✓";color:#fff;font-size:.7rem;font-weight:900;line-height:1}
section.cap.is-done > .cap-head h2{opacity:.7}
section.cap.is-done > .cap-head::after{content:"✓ concluído";font-family:var(--fm);font-size:.62rem;font-weight:600;color:var(--c3);letter-spacing:.05em;text-transform:uppercase;align-self:center}
/* anel de progresso geral no nav */
.prog-ring{flex:none;display:flex;align-items:center;gap:.5rem;font-family:var(--fm);font-size:.68rem;font-weight:600;color:var(--ink-2);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:.3rem .5rem .3rem .35rem;cursor:default;box-shadow:var(--sh-s)}
.prog-ring svg{width:26px;height:26px;transform:rotate(-90deg);flex:none}
.prog-ring .ring-bg{fill:none;stroke:var(--line);stroke-width:3}
.prog-ring .ring-fg{fill:none;stroke:var(--c3);stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset .5s ease}
.prog-ring b{color:var(--c3);font-weight:800}
/* dica de teclado discreta */
/* totop: aparece só ao rolar, com fade */
.totop{opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s,transform .3s,visibility .3s,filter .2s}
.totop.show{opacity:.92;visibility:visible;transform:translateY(0)}
/* celebração ao completar tudo */
.all-done-banner{display:none;position:fixed;left:50%;bottom:5.5rem;transform:translateX(-50%);z-index:45;background:linear-gradient(135deg,var(--c3),var(--c6));color:var(--sobre-forte,#FFFFFF);font-family:var(--fd);font-weight:700;font-size:.95rem;padding:.8rem 1.4rem;border-radius:999px;box-shadow:var(--sh-l);max-width:90vw;text-align:center}
.all-done-banner.show{display:block;animation:popUp .5s ease}
@keyframes popUp{from{opacity:0;transform:translate(-50%,15px)}to{opacity:1;transform:translate(-50%,0)}}
/* ===== X3: Gerador de Plano de Ultra-Aprendizagem (sessão interativa) ===== */
.forge{background:linear-gradient(150deg,color-mix(in srgb,var(--c2) 13%,var(--card)),color-mix(in srgb,var(--c6) 11%,var(--card)) 60%,color-mix(in srgb,var(--c5) 10%,var(--card)));border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);padding:clamp(1.3rem,3vw,2.2rem);margin:1.6rem 0;position:relative;overflow:hidden;box-shadow:var(--sh-m)}
.forge::before{content:"";position:absolute;top:-30%;right:-8%;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--c2) 20%,transparent),transparent 70%);pointer-events:none}
.forge::after{content:"";position:absolute;bottom:-25%;left:-10%;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--c6) 18%,transparent),transparent 70%);pointer-events:none}
.forge-head{position:relative;z-index:1;margin-bottom:1.3rem}
.forge-badge{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--fm);font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sobre-forte,#FFFFFF);background:linear-gradient(135deg,var(--c2),var(--c6));padding:.4rem .85rem;border-radius:999px;box-shadow:var(--sh-s)}
.forge h3{margin:.7rem 0 .3rem;flex-direction:column}
.forge-q{position:relative;z-index:1;margin:1.2rem 0}
.forge-q>label{display:block;font-family:var(--fd);font-weight:700;font-size:1rem;margin-bottom:.6rem;color:var(--ink)}
.forge-q .qnum{font-family:var(--fm);font-size:.74rem;color:var(--c2);font-weight:600;margin-right:.4rem}
.opt-row{display:flex;flex-wrap:wrap;gap:.55rem}
.opt{font-family:var(--fb);font-size:.92rem;color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:.6rem 1rem;cursor:pointer;transition:all .18s;user-select:none;display:inline-flex;align-items:center;gap:.45rem}
.opt:hover{border-color:var(--c2);transform:translateY(-2px);box-shadow:var(--sh-s)}
.opt.sel{background:color-mix(in srgb,var(--c2) 14%,var(--card));border-color:var(--c2);color:var(--c2);font-weight:600}
.opt.sel::before{content:"✓";font-weight:900;font-size:.85em}
.forge-input{width:100%;font-family:var(--fb);font-size:1.02rem;color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:.75rem 1rem;transition:border .2s,box-shadow .2s}
.forge-input::placeholder{color:var(--ink-soft)}
.forge-input:focus{outline:none;border-color:var(--c2);box-shadow:0 0 0 3px color-mix(in srgb,var(--c2) 22%,transparent)}
.forge-go{position:relative;z-index:1;margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}
.forge-btn{font-family:var(--fd);font-weight:800;font-size:1rem;color:var(--sobre-forte,#FFFFFF);background:linear-gradient(135deg,var(--c2),var(--c6));border:none;border-radius:999px;padding:.8rem 1.6rem;cursor:pointer;box-shadow:var(--sh-m);transition:transform .15s,filter .2s}
.forge-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.forge-btn:active{transform:scale(.97)}
.forge-btn[disabled]{opacity:.5;cursor:not-allowed;filter:grayscale(.3)}
.forge-reset{font-family:var(--fm);font-size:.8rem;color:var(--ink-soft);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.forge-reset:hover{color:var(--ink)}
/* resultado do plano */
.plan{position:relative;z-index:1;margin-top:1.6rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem 1.4rem;box-shadow:var(--sh-m);animation:planIn .45s ease}
@keyframes planIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.plan-title{font-family:var(--fd);font-weight:900;font-stretch:88%;font-size:1.3rem;letter-spacing:-.02em;color:var(--ink);margin-bottom:.2rem;line-height:1.15}
.plan-sub{font-family:var(--fm);font-size:.76rem;color:var(--ink-soft);margin-bottom:1.1rem;text-transform:uppercase;letter-spacing:.04em}
.plan-phase{display:grid;grid-template-columns:auto 1fr;gap:.9rem;margin:0 0 .9rem;align-items:start}
.plan-phase:last-child{margin-bottom:0}
.plan-dot{font-family:var(--fd);font-weight:900;font-size:.78rem;color:var(--sobre-forte,#FFFFFF);background:var(--c2);width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none;margin-top:.1rem}
.plan-phase:nth-child(2) .plan-dot{background:var(--c1)}
.plan-phase:nth-child(3) .plan-dot{background:var(--c6)}
.plan-phase:nth-child(4) .plan-dot{background:var(--c3)}
.plan-phase:nth-child(5) .plan-dot{background:var(--c5)}
.plan-phase:nth-child(6) .plan-dot{background:var(--c4)}
.plan-phase:nth-child(7) .plan-dot{background:var(--c7)}
.plan-phase h4{margin:0 0 .2rem;font-family:var(--fd);font-weight:700;font-size:1.02rem;color:var(--ink)}
.plan-phase p{margin:.15rem 0;font-size:.92em;color:var(--ink-2);max-width:none}
.plan-phase .ref{font-family:var(--fm);font-size:.72rem;color:var(--c2);font-weight:600}
.plan-foot{margin-top:1.2rem;padding-top:1rem;border-top:1px dashed var(--line);font-size:.9em;color:var(--ink-2)}
.plan-tools{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}
.plan-tools a{font-family:var(--fm);font-size:.74rem;text-decoration:none;color:var(--c2);background:color-mix(in srgb,var(--c2) 10%,var(--card));border:1px solid color-mix(in srgb,var(--c2) 30%,transparent);border-radius:999px;padding:.3rem .7rem;transition:all .18s}
.plan-tools a:hover{background:var(--c2);color:var(--sobre-forte,#FFFFFF)}
.forge-hint{position:relative;z-index:1;font-family:var(--fm);font-size:.74rem;color:var(--ink-soft);margin-top:.6rem;min-height:1rem}
@media (max-width:520px){.plan-phase{grid-template-columns:1fr}.plan-dot{margin-bottom:.2rem}}
/* ===== interativo: quiz, pomodoro, checklists, glossário, backup ===== */
/* botões do nav extras */
.nav-tool{flex:none;background:var(--card);border:1px solid var(--line);color:var(--ink);font-family:var(--fm);font-size:.7rem;font-weight:500;padding:.4rem .6rem;border-radius:999px;cursor:pointer;white-space:nowrap;box-shadow:var(--sh-s);transition:transform .15s,border-color .2s,background .2s}
.nav-tool:hover{border-color:var(--c1)}
.nav-tool:active{transform:scale(.95)}
/* Pomodoro flutuante */
.pomo{position:fixed;right:1rem;bottom:5.2rem;z-index:70;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh-l);padding:1rem 1.1rem;width:min(280px,calc(100vw - 2rem));display:none}
.pomo.show{display:block;animation:popUp .3s ease}
.pomo-title{font-family:var(--fm);font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem}
.pomo-x{background:none;border:none;color:var(--ink-soft);cursor:pointer;font-size:1.1rem;line-height:1;padding:0}
.pomo-btn{font-family:var(--fm);font-size:.78rem;font-weight:600;padding:.5rem .9rem;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;transition:all .15s}
.pomo-btn.primary{background:var(--c1);border-color:var(--c1);color:var(--sobre-forte,#FFFFFF)}
.pomo-btn:hover{filter:brightness(1.08)}a.pomo-btn{text-decoration:none}
.pomo-btn:active{transform:scale(.95)}
/* Quiz interativo */
.quiz{background:linear-gradient(150deg,color-mix(in srgb,var(--c1) 10%,var(--card)),color-mix(in srgb,var(--c3) 9%,var(--card)));border:1px solid var(--line);border-radius:calc(var(--radius) + 2px);padding:clamp(1.2rem,3vw,1.8rem);margin:1.6rem 0;box-shadow:var(--sh-s)}
.quiz-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.4rem}
.quiz-badge{font-family:var(--fm);font-size:.64rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sobre-forte,#FFFFFF);background:linear-gradient(135deg,var(--c1),var(--c3));padding:.35rem .75rem;border-radius:999px}
.quiz h4{font-family:var(--fd);font-weight:800;font-size:1.08rem;margin:0;color:var(--ink)}
.quiz-sub{font-size:.9em;color:var(--ink-2);margin:.2rem 0 1rem}
.quiz-q{margin:0 0 1.1rem;padding:0 0 1.1rem;border-bottom:1px dashed var(--line)}
.quiz-q:last-of-type{border-bottom:none;margin-bottom:.5rem}
.quiz-q-text{font-family:var(--fd);font-weight:700;font-size:1rem;color:var(--ink);margin-bottom:.6rem;display:block;position:relative;padding-left:1.7rem}.quiz-q-text .qn{position:absolute;left:0;top:0}
.quiz-q-text .qn{color:var(--c1);flex:none}
.quiz-opt{display:block;width:100%;text-align:left;font-family:var(--fb);font-size:.95rem;color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:10px;padding:.6rem .85rem;margin:.4rem 0;cursor:pointer;transition:all .15s}
.quiz-opt:hover:not(:disabled){border-color:var(--c1);transform:translateX(2px)}
.quiz-opt:disabled{cursor:default}
.quiz-opt.correct{background:color-mix(in srgb,var(--c3) 18%,var(--card));border-color:var(--c3);color:var(--c3);font-weight:600}
.quiz-opt.wrong{background:color-mix(in srgb,var(--c4) 16%,var(--card));border-color:var(--c4);color:var(--c4)}
.quiz-opt .mk{font-weight:900;margin-right:.4rem}
.quiz-fb{font-size:.9em;margin-top:.5rem;padding:.6rem .8rem;border-radius:8px;background:var(--card-2);color:var(--ink-2);display:none}
.quiz-fb.show{display:block;animation:fadeIn .25s ease}
.quiz-fb b{color:var(--ink)}
.quiz-score{display:none;margin-top:1rem;padding:.9rem 1.1rem;border-radius:12px;background:var(--card);border:1px solid var(--line);font-family:var(--fd);font-weight:700;text-align:center;color:var(--ink)}
.quiz-score.show{display:block;animation:planIn .4s ease}
.quiz-score .big{font-size:1.6rem;color:var(--c1);display:block}
.quiz-reset{font-family:var(--fm);font-size:.78rem;color:var(--ink-soft);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:3px;margin-top:.6rem}
.quiz-reset:hover{color:var(--ink)}
/* Checklist marcável */
.chklist{list-style:none;margin:1.2rem 0;padding:0;display:grid;gap:.5rem}
.chklist li{display:flex;align-items:flex-start;gap:.6rem;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.6rem .85rem;cursor:pointer;transition:all .15s}
.chklist li:hover{border-color:var(--c3)}
.chklist li .ck{width:20px;height:20px;border-radius:6px;border:2px solid var(--ink-soft);flex:none;margin-top:.05rem;display:grid;place-items:center;transition:all .15s}
.chklist li.done{background:color-mix(in srgb,var(--c3) 8%,var(--card));border-color:var(--c3)}
.chklist li.done .ck{background:var(--c3);border-color:var(--c3)}
.chklist li.done .ck::after{content:"✓";color:#fff;font-size:.8rem;font-weight:900}
.chklist li.done .ck-label{color:var(--ink-soft);text-decoration:line-through}
.chklist .ck-label{font-size:.95em;color:var(--ink)}
/* Glossário */
.gloss{display:grid;gap:.7rem;margin:1.3rem 0}
.gloss-item{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--c2);border-radius:10px;padding:.8rem 1rem}
.gloss-item dt{font-family:var(--fd);font-weight:800;font-size:1rem;color:var(--ink);margin-bottom:.2rem}
.gloss-item dd{margin:0;font-size:.93em;color:var(--ink-2)}
.gloss-search{width:100%;font-family:var(--fb);font-size:1rem;color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:.7rem 1rem;margin-bottom:1rem}
.gloss-search:focus{outline:none;border-color:var(--c2);box-shadow:0 0 0 3px color-mix(in srgb,var(--c2) 20%,transparent)}
.gloss-item.hidden{display:none}
/* toast de backup */
.toast{position:fixed;left:50%;bottom:2rem;transform:translateX(-50%) translateY(20px);z-index:70;background:var(--ink);color:var(--bg);font-family:var(--fm);font-size:.82rem;font-weight:500;padding:.7rem 1.2rem;border-radius:999px;box-shadow:var(--sh-l);opacity:0;visibility:hidden;transition:opacity .3s,transform .3s,visibility .3s;max-width:90vw;text-align:center}
.toast.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
@media print{nav,.totop,.pomo,.tpanel,.resume-chip,.search-wrap,.search-info,.exam-btn,.theme-btn,.nav-tool,.streak,.prog-ring,#examOverlay,.quiz-reset,.forge-go,.gloss-search,.toast{display:none !important}body::before{display:none}.cap,.ficha,.box{break-inside:avoid}}
/* ===== gerador Anki, streak ===== */
/* Gerador de cards Anki */
.anki-gen{background:linear-gradient(150deg,color-mix(in srgb,var(--c5) 11%,var(--card)),color-mix(in srgb,var(--c2) 9%,var(--card)));border:1px solid var(--line);border-radius:calc(var(--radius) + 2px);padding:clamp(1.2rem,3vw,1.8rem);margin:1.6rem 0;box-shadow:var(--sh-s)}
.anki-gen-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.3rem}
.anki-badge{font-family:var(--fm);font-size:.64rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sobre-forte,#FFFFFF);background:linear-gradient(135deg,var(--c5),var(--c2));padding:.35rem .75rem;border-radius:999px}
.anki-gen h4{font-family:var(--fd);font-weight:800;font-size:1.08rem;margin:0;color:var(--ink)}
.anki-gen-sub{font-size:.9em;color:var(--ink-2);margin:.2rem 0 1rem}
.anki-row{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem;margin-bottom:.5rem;align-items:start}
@media (max-width:560px){.anki-row{grid-template-columns:1fr}}
.anki-in{width:100%;font-family:var(--fb);font-size:.95rem;color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:9px;padding:.55rem .75rem;resize:vertical;min-height:42px}
.anki-in:focus{outline:none;border-color:var(--c5);box-shadow:0 0 0 3px color-mix(in srgb,var(--c5) 20%,transparent)}
.anki-del{font-family:var(--fm);font-size:1rem;color:var(--ink-soft);background:var(--card);border:1.5px solid var(--line);border-radius:9px;padding:0 .7rem;cursor:pointer;height:42px;transition:all .15s}
.anki-del:hover{border-color:var(--c4);color:var(--c4)}
.anki-btns{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.9rem;align-items:center}
.anki-btn{font-family:var(--fd);font-weight:700;font-size:.92rem;border:none;border-radius:999px;padding:.6rem 1.2rem;cursor:pointer;transition:transform .15s,filter .2s}
.anki-btn.add{background:var(--card);border:1.5px solid var(--c5);color:var(--c5)}
.anki-btn.export{background:linear-gradient(135deg,var(--c5),var(--c2));color:var(--sobre-forte,#FFFFFF);box-shadow:var(--sh-s)}
.anki-btn:hover{filter:brightness(1.06)}
.anki-btn:active{transform:scale(.96)}
.anki-count{font-family:var(--fm);font-size:.74rem;color:var(--ink-soft)}
.anki-hint{font-family:var(--fm);font-size:.74rem;color:var(--ink-soft);margin-top:.6rem;min-height:1rem}
/* Streak de estudo */
.streak{display:flex;align-items:center;gap:.5rem;flex:none;font-family:var(--fm);font-size:.7rem;font-weight:600;color:var(--ink-2);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:.3rem .7rem;cursor:pointer;box-shadow:var(--sh-s);transition:border-color .2s}
.streak:hover{border-color:var(--c5)}
.streak .fire{font-size:.95rem}
.streak b{color:var(--c5);font-weight:800}
/* Sumário global expansível */
.sumario{max-width:var(--maxw);margin:0 auto 2rem;padding:0 var(--pad)}
.sumario details{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--sh-s);overflow:hidden}
.sumario summary{cursor:pointer;padding:1rem 1.3rem;font-family:var(--fd);font-weight:800;font-size:1.05rem;color:var(--ink);list-style:none;display:flex;align-items:center;gap:.6rem;user-select:none}
.sumario summary::-webkit-details-marker{display:none}
/* o Sumário geral tem a seta dele, à direita, e não o círculo das outras
   dobras: a regra-base punha o marcador em position:absolute à esquerda,
   dentro do círculo, e ao abrir ele escapava (rodada 12) */
.sumario details>summary::before{display:none}
.sumario details>summary::after,.sumario details[open]>summary::after{content:"▾";position:static;left:auto;top:auto;margin-left:auto;transform:none;transition:transform .25s;color:var(--ink-soft)}
.sumario details[open]>summary::after{transform:rotate(180deg)}
.sumario-badge{font-family:var(--fm);font-size:.6rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sobre-forte,#FFFFFF);background:var(--c1);padding:.25rem .6rem;border-radius:999px}
.sumario-grid{padding:.3rem 1.3rem 1.3rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem}
.sumario-grid a{text-decoration:none;font-size:.9rem;color:var(--ink-2);padding:.5rem .7rem;border-radius:9px;border:1px solid transparent;transition:all .15s;display:flex;gap:.5rem;align-items:baseline}
.sumario-grid a:hover{background:var(--card-2);border-color:var(--line);color:var(--ink)}
.sumario-grid a .cn{font-family:var(--fm);font-size:.7rem;color:var(--c1);font-weight:700;flex:none}
/* ===== S2: interface refinada ===== */
::selection{background:color-mix(in srgb,var(--c1) 26%,transparent)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ink) 22%,transparent);border-radius:99px;border:2px solid var(--bg)}
::-webkit-scrollbar-track{background:transparent}
:focus-visible{outline:2px solid var(--c1);outline-offset:2px;border-radius:4px}
h3[id],h4[id]{scroll-margin-top:96px}
kbd{font-family:var(--fm);font-size:.74em;background:var(--card);border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;padding:.08em .45em}
.ficha,.principle,.gloss-item{transition:transform .18s,box-shadow .18s,border-color .18s}
.ficha:hover,.principle:hover{transform:translateY(-2px);box-shadow:var(--sh-l)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}
/* painel de ferramentas 🛠️ */
.tpanel{width:min(300px,calc(100vw - 2rem))}
.tpanel .pomo-btn{width:100%;justify-content:center;align-items:center;display:flex;gap:.4rem;margin:.3rem 0;min-height:44px;box-sizing:border-box}
.tpanel-hint{font-family:var(--fm);font-size:.66rem;color:var(--ink-soft);margin-top:.7rem;line-height:1.7}
/* chip "continuar de onde parou" */
.resume-chip{position:fixed;left:50%;bottom:4.8rem;transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:.55rem;background:var(--ink);color:var(--bg);font-family:var(--fm);font-size:.78rem;font-weight:600;padding:.55rem .5rem .55rem 1rem;border-radius:999px;box-shadow:var(--sh-l);cursor:pointer;border:none;animation:popUp .35s ease;max-width:92vw}
.resume-chip .rx{background:none;border:none;color:var(--bg);opacity:.7;font-size:1rem;cursor:pointer;padding:.1rem .5rem;line-height:1}
.resume-chip .rx:hover{opacity:1}
/* sumário: tempo de leitura + concluído */
.sumario-grid a{position:relative}
.sumario-grid a .rt{margin-left:auto;font-family:var(--fm);font-size:.6rem;color:var(--ink-soft);flex:none}
.sumario-grid a.done{background:color-mix(in srgb,var(--c3) 9%,transparent);border-color:color-mix(in srgb,var(--c3) 35%,var(--line))}
.sumario-grid a.done .cn{color:var(--c3)}
.sumario-grid a.done .rt::after{content:" ✓";color:var(--c3);font-weight:800}
/* Modo Prova: seletor de capítulos */
.exam-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1.2rem;align-items:center}
.exam-chips-lbl{font-family:var(--fm);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);width:100%;margin-bottom:.15rem}
.exam-chip{font-family:var(--fm);font-size:.7rem;font-weight:600;padding:.34rem .7rem;border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;transition:all .15s}
.exam-chip:hover{border-color:var(--c4)}
.exam-chip.off{opacity:.38;text-decoration:line-through}
.exam-chip.all{border-color:var(--c4);color:var(--c4)}
/* ===== S3: trilhas e anotações ===== */
.sumario-cat{font-family:var(--fm);font-size:.6rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);padding:.95rem 1.3rem .15rem}
.sumario details .sumario-grid{padding-top:.25rem;padding-bottom:.35rem}
.sumario details .sumario-grid:last-of-type{padding-bottom:1.2rem}
.notes-ta{width:100%;min-height:200px;font-family:var(--fb);font-size:.95rem;line-height:1.6;color:var(--ink);background:var(--card-2);border:1.5px solid var(--line);border-radius:12px;padding:.8rem .95rem;resize:vertical;margin:.4rem 0}
.notes-ta:focus{outline:none;border-color:var(--c2);box-shadow:0 0 0 3px color-mix(in srgb,var(--c2) 18%,transparent)}
/* ===== A Estante: estante e leitor ===== */
.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.9rem;margin:1.4rem 0}
.lib-book{position:relative;text-align:left;background:var(--card);border:1px solid var(--line);border-left:7px solid var(--bk,var(--c1));border-radius:12px;padding:1rem 1rem .9rem;cursor:pointer;box-shadow:var(--sh-s);transition:transform .18s,box-shadow .18s}
.lib-book:hover{transform:translateY(-3px);box-shadow:var(--sh-l)}
.lib-book .lb-serie{font-family:var(--fm);font-size:.58rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.lib-book h4{font-family:var(--fd);font-weight:800;font-size:1rem;line-height:1.25;margin:.3rem 0 .35rem;color:var(--ink)}
.lib-book .lb-desc{font-size:.82rem;color:var(--ink-2);line-height:1.45}
.lib-book .lb-open{display:inline-block;margin-top:.6rem;font-family:var(--fm);font-size:.68rem;font-weight:600;color:var(--bk,var(--c1))}
.reader{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;background:color-mix(in srgb,var(--ink) 55%,transparent);backdrop-filter:blur(6px);padding:1rem}
.reader.show{display:flex;animation:fadeIn .25s ease}
.reader-box{width:min(700px,96vw);height:min(82vh,760px);display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh-l);overflow:hidden}
.reader-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.8rem 1.1rem;border-bottom:1px solid var(--line);background:var(--card)}
.reader-title{font-family:var(--fd);font-weight:800;font-size:.95rem;color:var(--ink)}
.reader-acts{display:flex;gap:.4rem;flex:none}
.rd-btn{font-family:var(--fm);font-size:.74rem;font-weight:600;padding:.4rem .75rem;border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;transition:all .15s}
.rd-btn:hover:not(:disabled){border-color:var(--c1)}
.rd-btn:disabled{opacity:.35;cursor:default}
.reader-page{flex:1;overflow-y:auto;padding:clamp(1.2rem,4vw,2.2rem);font-family:var(--fb);font-size:1.02rem;line-height:1.75;color:var(--ink)}
.reader-page h4{font-family:var(--fd);font-weight:800;font-size:1.25rem;margin:0 0 .8rem;color:var(--ink)}
.reader-page p{margin:.7rem 0}
.reader-page ul{margin:.7rem 0;padding-left:1.2rem}
.reader-page li{margin:.45rem 0}
.reader-page .rp-tag{font-family:var(--fm);font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--bk,var(--c1))}
.reader-foot{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1.1rem;border-top:1px solid var(--line);background:var(--card)}
.rd-pos{font-family:var(--fm);font-size:.74rem;color:var(--ink-soft)}
/* ===== S4.1: diagramas, mapas mentais e protocolos ===== */
.dgm{margin:1.7rem 0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.15rem 1.2rem .95rem;box-shadow:var(--sh-s)}
.dgm svg{width:100%;height:auto;display:block}
.dgm figcaption{font-family:var(--fm);font-size:.72rem;line-height:1.65;color:var(--ink-soft);margin-top:.85rem;text-align:center}
.dgm .ttl{font-family:var(--fd);font-weight:800;font-size:13.5px;fill:var(--ink)}
.dgm .lbl{font-family:var(--fm);font-size:11px;fill:var(--ink)}
.dgm .lbl-s{font-family:var(--fm);font-size:9.5px;fill:var(--ink-soft)}
.dgm .inv{fill:var(--bg)}
.dgm .ln{fill:none;stroke:var(--line);stroke-width:2}
.dgm .ax{fill:none;stroke:var(--ink-soft);stroke-width:1;opacity:.45}
.dgm .dash{stroke-dasharray:5 5}
.dgm .fc{fill:var(--ink)}
.dgm .b1{fill:color-mix(in srgb,var(--c1) 14%,var(--card));stroke:var(--c1);stroke-width:1.5}
.dgm .b2{fill:color-mix(in srgb,var(--c2) 14%,var(--card));stroke:var(--c2);stroke-width:1.5}
.dgm .b3{fill:color-mix(in srgb,var(--c3) 14%,var(--card));stroke:var(--c3);stroke-width:1.5}
.dgm .b4{fill:color-mix(in srgb,var(--c4) 14%,var(--card));stroke:var(--c4);stroke-width:1.5}
.dgm .b5{fill:color-mix(in srgb,var(--c5) 14%,var(--card));stroke:var(--c5);stroke-width:1.5}
.dgm .b6{fill:color-mix(in srgb,var(--c6) 14%,var(--card));stroke:var(--c6);stroke-width:1.5}
.dgm .bh{fill:color-mix(in srgb,var(--hi) 30%,var(--card));stroke:var(--hi);stroke-width:1.5}
.dgm .s1{fill:none;stroke:var(--c1);stroke-width:2.5}
.dgm .s3{fill:none;stroke:var(--c3);stroke-width:2.5}
.dgm .s4{fill:none;stroke:var(--c4);stroke-width:2.5}
.dgm .p1{fill:var(--c1)}.dgm .p3{fill:var(--c3)}.dgm .p4{fill:var(--c4)}.dgm .p5{fill:var(--c5)}
.dgm .zl{fill:color-mix(in srgb,var(--ink) 5%,transparent)}
.dgm .zm{fill:color-mix(in srgb,var(--c3) 13%,transparent)}
.dgm .zr{fill:color-mix(in srgb,var(--c4) 9%,transparent)}
.howto{background:linear-gradient(150deg,color-mix(in srgb,var(--c6) 10%,var(--card)),var(--card));border:1px solid var(--line);border-left:4px solid var(--c6);border-radius:14px;padding:1.05rem 1.2rem;margin:1rem 0}
.howto .ht-meta{font-family:var(--fm);font-size:.62rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft)}
.howto h4{font-family:var(--fd);font-weight:800;font-size:1.05rem;margin:.2rem 0 .1rem;color:var(--ink)}
.howto .ht-when{font-size:.9em;color:var(--ink-2);margin:.15rem 0 .5rem}
.howto ol{margin:.5rem 0;padding-left:1.2rem}
.howto ol li{margin:.32rem 0;font-size:.95em}
.howto .ht-warn{font-size:.88em;color:var(--ink-2);margin-top:.6rem;padding-top:.55rem;border-top:1px dashed var(--line)}
.howto .ht-ok{font-size:.88em;color:var(--c3);margin-top:.25rem;font-weight:600}
/* ===== CB6: selo de evidência, duelo, veredito e folha de sinais ===== */
/* A ORIGEM DO NÚMERO (Bloco 7, 10/10/2026): estudo, estimativa, meta ou
   frase de alguém, logo depois do número. Uma cor só, discreta: quem diz o
   tipo é a palavra, como no selo de evidência. Inline e com a caixa clonada
   na quebra de linha: a etiqueta longa quebra sem vazar em 320 px. E nunca
   abaixo de 11 px: dentro do cartão .vd, que já tem letra menor, 0,7em dava
   10,2 px, e a check_pago.mjs reprovou. */
.orig{font-family:var(--fm);font-size:max(.7em,11px);font-weight:600;letter-spacing:.01em;line-height:1.5;
  padding:.06em .5em;margin:0 .1em;border-radius:99px;border:1px solid var(--line);
  background:var(--card-2);color:var(--ink-2);white-space:normal;
  -webkit-box-decoration-break:clone;box-decoration-break:clone}
.ev{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .65rem;margin:.75rem 0 0;font-family:var(--fm);font-size:.74rem;font-weight:500;letter-spacing:0;line-height:1.45;color:var(--ink-2)}
.cap > .ev{display:inline-flex;max-width:100%;padding:.5rem .8rem;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r-xs)}
.ev-b{display:inline-flex;gap:3px;flex:none}
.ev-b i{display:block;width:13px;height:6px;border-radius:3px;background:var(--line)}
.ev-1 .ev-b i:nth-child(-n+1),.ev-2 .ev-b i:nth-child(-n+2){background:var(--c4)}
.ev-3 .ev-b i:nth-child(-n+3){background:var(--hi)}
.ev-4 .ev-b i:nth-child(-n+4),.ev-5 .ev-b i{background:var(--c3)}
.vs{display:grid;gap:.6rem;margin:1.1rem 0;align-items:stretch}
.vs-lado{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--vs);border-radius:var(--r-sm);padding:1rem 1.15rem}
.vs-a{--vs:var(--c1)}.vs-b{--vs:var(--c6)}
.vs-k{display:block;font-family:var(--fm);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--vs)}
.vs-lado h4{font-family:var(--fd);font-weight:800;font-size:1.05rem;margin:.25rem 0 .35rem;color:var(--ink)}
.vs-lado p{margin:0;font-size:.95em}
.vs-lado p.ev{margin-top:.75rem}
.vs-ou{justify-self:center;align-self:center;display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--card-2);border:1px solid var(--line);font-family:var(--fd);font-weight:800;font-size:.8rem;color:var(--ink-2)}
@media (min-width:700px){.vs{grid-template-columns:1fr auto 1fr}}
.vered{display:grid;gap:.75rem;margin:1.1rem 0;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}
.vd{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--vd);border-radius:var(--r-sm);padding:.95rem 1.1rem 1rem}
.vd-sim{--vd:var(--c3);--vd-bg:var(--c3-bg);--vd-ink:var(--c3)}
.vd-talvez{--vd:var(--hi);--vd-bg:var(--hi-soft);--vd-ink:var(--ink)}
.vd-nao{--vd:var(--c4);--vd-bg:var(--c4-bg);--vd-ink:var(--c4)}
.vd-tag{display:inline-block;padding:.2rem .6rem;border-radius:999px;background:var(--vd-bg);color:var(--vd-ink);font-family:var(--fm);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.vd h4{font-family:var(--fd);font-weight:800;font-size:1.02rem;margin:.45rem 0 .3rem;color:var(--ink)}
.vd p{margin:0;font-size:.94em}
.vd p.ev{margin-top:.7rem}
.sinais{margin:1.2rem 0}
.sn-folha{position:relative;background-color:var(--card);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(1.9rem - 1px),var(--line) calc(1.9rem - 1px),var(--line) 1.9rem);background-position:0 .6rem;border:1px solid var(--line);border-radius:var(--r-sm);padding:.6rem 1rem .9rem 2.5rem;font-family:var(--fm);font-size:.8rem;line-height:1.9rem;color:var(--ink)}
.sn-folha::before{content:"";position:absolute;top:0;bottom:0;left:1.6rem;width:2px;background:color-mix(in srgb,var(--c4) 45%,transparent)}
.sn-t{display:block;font-family:var(--fd);font-weight:800;font-size:.92rem}
.sn-l{display:block}
.sn-l b{color:var(--c1);font-weight:700}
.sn-l em{font-style:normal;font-weight:700;color:var(--c4)}
.sinais figcaption{font-family:var(--fm);font-size:.72rem;line-height:1.65;color:var(--ink-soft);margin-top:.7rem;text-align:center}
/* ===== S4.2: tabuleiro, pirâmide, matriz ===== */
.dgm .sqL{fill:color-mix(in srgb,var(--ink) 7%,var(--card))}
.dgm .sqD{fill:color-mix(in srgb,var(--c6) 34%,var(--card))}
.dgm .pc{font-size:25px;text-anchor:middle;fill:var(--ink)}
.dgm .pcW{font-size:25px;text-anchor:middle;fill:var(--c1)}
.dgm .atk{fill:none;stroke:var(--c4);stroke-width:2.5;stroke-dasharray:6 4}
.dgm .brd{fill:none;stroke:var(--ink-soft);stroke-width:1.5}
.dgm .py1{fill:color-mix(in srgb,var(--c1) 30%,var(--card));stroke:var(--c1);stroke-width:1.5}
.dgm .py2{fill:color-mix(in srgb,var(--c1) 22%,var(--card));stroke:var(--c1);stroke-width:1.5}
.dgm .py3{fill:color-mix(in srgb,var(--c1) 14%,var(--card));stroke:var(--c1);stroke-width:1.5}
.dgm .py4{fill:color-mix(in srgb,var(--c1) 7%,var(--card));stroke:var(--c1);stroke-width:1.5}
.dgm .mtx{fill:none;stroke:var(--line);stroke-width:1.5}
/* ===== 4.5: o que não te contamos + explicação extra do diagrama ===== */
.naodito{background:linear-gradient(150deg,color-mix(in srgb,var(--c7) 9%,var(--card)),var(--card));border:1px dashed color-mix(in srgb,var(--c7) 48%,var(--line));border-radius:14px;padding:1rem 1.25rem;margin:1.8rem 0 .4rem}
.naodito .nd-t{font-family:var(--fm);font-size:.63rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--c7);display:block;margin-bottom:.45rem}
.naodito p{margin:0;font-size:.95em;color:var(--ink-2)}
.dgm-mais{margin:-.7rem 0 1.8rem;padding:.9rem 1.15rem;border-left:3px solid var(--c6);background:color-mix(in srgb,var(--c6) 7%,transparent);border-radius:0 12px 12px 0;font-size:.93em;color:var(--ink-2);line-height:1.7}
.dgm-mais b{color:var(--ink)}
.dgm-mais .dm-t{font-family:var(--fm);font-size:.63rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--c6);display:block;margin-bottom:.35rem}
/* ===== 5.0: modos de leitura, animações e responsividade ===== */
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes capIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes shelfIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes drawIn{from{stroke-dashoffset:1500}to{stroke-dashoffset:0}}
@keyframes popIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}
body{overflow-x:clip}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s cubic-bezier(.22,.61,.36,1),transform .6s cubic-bezier(.22,.61,.36,1)}
.reveal.vis{opacity:1;transform:none}
.dgm.vis svg .s1,.dgm.vis svg .s3,.dgm.vis svg .s4{stroke-dasharray:1500;animation:drawIn 1.5s ease forwards}
.cap-head h2,.cap-num{transition:transform .3s}
.tab{transition:background .2s,color .2s,transform .18s}
.tab:active{transform:scale(.95)}
.box,.ficha,.howto,.naodito,.principle,.road-step,.st{transition:transform .2s,box-shadow .2s}
.box:hover,.howto:hover,.naodito:hover{transform:translateY(-2px)}
.quiz-opt{transition:background .18s,border-color .18s,transform .12s}
.quiz-opt:active{transform:scale(.985)}
.cap-done,.nav-tool,.exam-btn,.theme-btn,.rd-btn{transition:transform .15s,border-color .18s,background .18s}
.cap-done:active,.nav-tool:active,.exam-btn:active,.theme-btn:active{transform:scale(.94)}
.streak .fire{display:inline-block;animation:pulseFire 2.4s ease-in-out infinite}
@keyframes pulseFire{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
/* ---- estante (modo kamum) ---- */
#estante{display:none;max-width:var(--maxw);margin:.5rem auto 3.5rem;padding:0 var(--pad)}
body.kamum #estante{display:block;animation:fadeUp .5s}
body.kamum .cap{display:none}
body.kamum .cap.ativo{display:block;animation:capIn .55s cubic-bezier(.22,.61,.36,1)}
body.kamum.lendo #estante,body.kamum.lendo #introWrap{display:none}
.est-h{margin:0 0 1.1rem}
.est-h b{font-family:var(--fd);font-weight:800;font-size:1.35rem;color:var(--ink);display:block}
.est-h span{font-family:var(--fm);font-size:.72rem;color:var(--ink-soft);display:block;margin-top:.25rem;line-height:1.6}
.est-item{display:flex;gap:.9rem;align-items:center;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-left:5px solid var(--kc,var(--c1));border-radius:14px;padding:.85rem 1rem;margin:.5rem 0;cursor:pointer;box-shadow:var(--sh-s);animation:shelfIn .5s backwards}
.est-item:hover{transform:translateX(5px);box-shadow:var(--sh-l);border-color:var(--kc,var(--c1))}
.est-item:active{transform:scale(.99)}
.est-n{font-family:var(--fm);font-size:1.1rem;font-weight:800;color:var(--kc,var(--c1));min-width:2.3rem;flex:none}
.est-b{display:flex;flex-direction:column;min-width:0}
.est-t{font-family:var(--fd);font-weight:800;font-size:1rem;line-height:1.25;color:var(--ink)}
.est-s{font-family:var(--fm);font-size:.66rem;color:var(--ink-soft);margin-top:.2rem}
.est-go{margin-left:auto;color:var(--ink-soft);font-size:1.3rem;flex:none;transition:transform .2s}
.est-item:hover .est-go{transform:translateX(4px)}
.est-item.done{background:color-mix(in srgb,var(--c3) 7%,var(--card))}
.est-item.done .est-s::after{content:" · ✓ concluído";color:var(--c3);font-weight:700}
#capNav{position:fixed;left:50%;transform:translateX(-50%);bottom:1rem;z-index:70;display:none;gap:.35rem;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:.35rem;box-shadow:var(--sh-l)}
body.kamum.lendo #capNav{display:flex;animation:popIn .35s}
#capNav button{font-family:var(--fm);font-size:.72rem;font-weight:600;padding:.45rem .8rem;border-radius:999px;border:none;background:transparent;color:var(--ink);cursor:pointer;transition:background .18s,transform .15s}
#capNav button:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 8%,transparent)}
#capNav button:disabled{opacity:.3;cursor:default}
#capNav .cn-mid{background:var(--ink);color:var(--bg)}
/* ---- responsividade ---- */
.dgm-scroll{width:100%}
.tw{overflow-x:auto}
p,li,td,th,dd{overflow-wrap:break-word}
@media (max-width:640px){
 .dgm-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.4rem}
 .dgm-scroll svg{min-width:580px}
 .dgm figcaption::before{content:"↔ arraste o diagrama · "}
 .grid,.lib-grid{grid-template-columns:1fr !important}
 #capNav{bottom:.6rem}
}
@media (max-width:420px){.est-n{font-size:.95rem;min-width:1.9rem}.est-t{font-size:.92rem}}
@media print{body.kamum .cap{display:block !important}.reveal{opacity:1 !important;transform:none !important}#estante,#capNav,#modoBtn{display:none !important}}
#examContent .reveal{opacity:1 !important;transform:none !important}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1 !important;transform:none !important}.est-item,.cap.ativo,#capNav{animation:none !important}}
/* ===== 5.1: organização visual e novos componentes ===== */
.comece{margin:1.1rem 0 1.8rem;padding:.95rem 1.15rem;border:1px solid var(--line);border-left:4px solid var(--c3);border-radius:12px;background:color-mix(in srgb,var(--c3) 6%,var(--card))}
.comece .cm-t{display:block;font-family:var(--fm);font-size:.62rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--c3);margin-bottom:.45rem}
.comece .cm-i{display:block;font-size:.93rem;line-height:1.65;color:var(--ink-2);margin:.2rem 0}
.comece .cm-i b{color:var(--ink)}
.toc{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.toc b{width:100%;font-family:var(--fm);font-size:.63rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.15rem}
.toc a{display:inline-block;padding:.32rem .68rem;border:1px solid var(--line);border-radius:999px;font-family:var(--fm);font-size:.72rem;color:var(--ink-2);text-decoration:none;transition:all .18s}
.toc a:hover{border-color:var(--c1);color:var(--c1);transform:translateY(-1px)}
.tw table tr:nth-child(even) td{background:color-mix(in srgb,var(--ink) 3.5%,transparent)}
.tw table th{position:sticky;top:0;background:var(--card);color:var(--ink);z-index:1;box-shadow:inset 0 -1px 0 var(--line)}
.cap h3{margin-top:2.7rem}
.cap .step{display:inline-block;padding:.2rem .55rem;border-radius:6px;background:color-mix(in srgb,var(--c1) 12%,transparent)}
.naodito{position:relative;margin-top:2.4rem}
.naodito::before{content:"";position:absolute;top:-1.25rem;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}
.dgm{scroll-margin-top:90px}
.dgm figcaption{max-width:62ch;margin-left:auto;margin-right:auto}
.est-item:focus-visible{outline:2px solid var(--c1);outline-offset:3px}
@media (max-width:640px){.cap h3{margin-top:2.1rem}.comece{padding:.85rem .95rem}}
/* ===== 5.2: animação dos diagramas e mapas mentais ===== */
@keyframes nodeIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}
@keyframes drawLine{from{stroke-dashoffset:700}to{stroke-dashoffset:0}}
@keyframes textIn{from{opacity:0}to{opacity:1}}
.dgm.vis svg rect:not(.sqL):not(.sqD),.dgm.vis svg circle,.dgm.vis svg ellipse{transform-box:fill-box;transform-origin:center;animation:nodeIn .5s backwards}
.dgm.vis svg rect:nth-of-type(2){animation-delay:.07s}.dgm.vis svg rect:nth-of-type(3){animation-delay:.14s}
.dgm.vis svg rect:nth-of-type(4){animation-delay:.21s}.dgm.vis svg rect:nth-of-type(5){animation-delay:.28s}
.dgm.vis svg rect:nth-of-type(6){animation-delay:.35s}.dgm.vis svg rect:nth-of-type(n+7){animation-delay:.42s}
.dgm.vis svg circle:nth-of-type(2){animation-delay:.07s}.dgm.vis svg circle:nth-of-type(3){animation-delay:.14s}
.dgm.vis svg circle:nth-of-type(4){animation-delay:.21s}.dgm.vis svg circle:nth-of-type(n+5){animation-delay:.28s}
.dgm.vis svg ellipse{animation-delay:.45s;animation-duration:.6s}
.dgm.vis svg .ln{stroke-dasharray:700;animation:drawLine 1.1s .1s ease backwards}
.dgm.vis svg text{animation:textIn .7s .3s backwards}
.dgm.vis svg .sqL,.dgm.vis svg .sqD{animation:textIn .5s backwards}
@media (prefers-reduced-motion:reduce){.dgm.vis svg *{animation:none !important}}
/* ===== Colossus Brain III: modo caminho (3º modo, nada bloqueado) ===== */
#trilha{display:none;max-width:var(--maxw);margin:.5rem auto 2rem;padding:0 var(--pad)}
body.caminho #trilha{display:block;animation:fadeUp .5s}
body.kamum.lendo #trilha{display:none}
.tr-h{margin:0 0 1rem}
.tr-h b{font-family:var(--fd);font-weight:800;font-size:1.35rem;color:var(--ink);display:block}
.tr-h span{font-family:var(--fm);font-size:.72rem;color:var(--ink-soft);display:block;margin-top:.3rem;line-height:1.65}
.tr-step{display:flex;gap:.9rem;align-items:flex-start;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-left:5px solid var(--c3);border-radius:14px;padding:.9rem 1rem;margin:.5rem 0;cursor:pointer;box-shadow:var(--sh-s);animation:shelfIn .5s backwards;transition:transform .18s,box-shadow .18s}
.tr-step:hover{transform:translateX(5px);box-shadow:var(--sh-l)}
.tr-n{flex:none;width:2rem;height:2rem;border-radius:50%;background:var(--c3);color:var(--sobre-forte,#FFFFFF);font-family:var(--fm);font-weight:800;font-size:.85rem;display:flex;align-items:center;justify-content:center}
.tr-b{min-width:0}
.tr-t{font-family:var(--fd);font-weight:800;font-size:1rem;color:var(--ink);display:block}
.tr-d{font-size:.86rem;color:var(--ink-2);line-height:1.55;display:block;margin-top:.2rem}
.tr-c{font-family:var(--fm);font-size:.65rem;color:var(--c3);font-weight:600;display:block;margin-top:.3rem}
.tr-nota{margin-top:1.2rem;padding:.85rem 1.05rem;border:1px dashed var(--line);border-radius:12px;background:color-mix(in srgb,var(--hi) 8%,transparent);font-size:.88rem;color:var(--ink-2);line-height:1.65}
.tr-nota b{color:var(--ink)}
body.caminho #estante .est-h b::after{content:" (nada bloqueado)";font-family:var(--fm);font-size:.68rem;font-weight:600;color:var(--ink-soft)}
@media (max-width:520px){
  .reveal{transition-duration:.42s}
  .est-item,.hub-card,.tr-step{animation-duration:.3s}
  .box:hover,.howto:hover,.naodito:hover{transform:none}
}
/* ===== Colossus Brain III: blindagem de toque e fallback visual ===== */
.est-item,.hub-card,.tr-step,.tab,.cap-done,.quiz-opt,#modoBtn,#capNav button,.rd-btn,.acc-trigger{
  position:relative;z-index:2;touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,.06)}
#estante,#hub,#trilha{position:relative;z-index:2}
.est-item{min-height:64px}
.hub-card{min-height:150px}
@supports not (background:color-mix(in srgb,red 50%,blue)){
  .est-item,.hub-card,.tr-step,.box,.ficha,.howto,.naodito,.comece,.dgm,.cap-import .card,
  .cap-import .callout,.cap-import .analogy,.cap-import .acc-item{background:var(--card) !important}
  .dgm .b1,.dgm .b2,.dgm .b3,.dgm .b4,.dgm .b5,.dgm .b6,.dgm .bh{fill:var(--card) !important}
  .cap-import svg .diagram-node,.cap-import svg .mm-bg-primary,.cap-import svg .mm-bg-accent{fill:var(--card) !important}
}

/* ===== Colossus Brain III: cores dos diagramas importados (restauradas) ===== */
.cap-import svg .diagram-stroke,.cap-import svg .mm-line-primary,.cap-import svg .mm-line-accent,
.cap-import svg .flow-line,.cap-import svg .link,.cap-import svg .edge{fill:none;stroke:var(--line);stroke-width:1.75}
.cap-import svg .mm-line-primary{stroke:var(--c1)}
.cap-import svg .mm-line-accent{stroke:var(--hi)}
.cap-import svg .diagram-node{fill:color-mix(in srgb,var(--c1) 14%,var(--card));stroke:var(--c1);stroke-width:1.5}
.cap-import svg .diagram-node-primary{fill:var(--c1);stroke:none}
.cap-import svg .diagram-node-accent{fill:color-mix(in srgb,var(--hi) 30%,var(--card));stroke:var(--hi);stroke-width:1.5}
.cap-import svg .diagram-node-ghost{fill:var(--card);stroke:var(--line);stroke-width:1.5;stroke-dasharray:4 4}
.cap-import svg .diagram-label{fill:var(--ink);font-family:var(--fm)}
.cap-import svg .diagram-label:not([font-size]){font-size:11px}
.cap-import svg .diagram-node-primary + .diagram-label,.cap-import svg .diagram-label-invert{fill:var(--bg)}
.cap-import svg .diagram-label-dim{fill:var(--ink-soft);font-family:var(--fm)}
.cap-import svg .diagram-label-dim:not([font-size]){font-size:9.5px}
.cap-import svg .mm-bg-primary{fill:color-mix(in srgb,var(--c1) 13%,var(--card));stroke:var(--c1);stroke-width:1.5}
.cap-import svg .mm-bg-accent{fill:color-mix(in srgb,var(--hi) 22%,var(--card));stroke:var(--hi);stroke-width:1.5}
.cap-import svg .mm-title-primary{fill:var(--c1);font-family:var(--fd);font-weight:800}
.cap-import svg .mm-title-accent{fill:var(--ink);font-family:var(--fd);font-weight:800}
.cap-import svg .fill-faint{fill:color-mix(in srgb,var(--ink) 7%,transparent)}
.cap-import svg .packet,.cap-import svg .packet-path{fill:var(--c3)}
.cap-import svg .badge-num{fill:var(--c1)}
.cap-import svg .badge-num.fill-accent{fill:var(--hi)}
.cap-import svg .badge-num.fill-text{fill:var(--ink)}
/* rede de segurança: qualquer forma sem cor definida vira contorno legível, nunca bloco preto */
.cap-import svg circle:not([fill]):not([class]),.cap-import svg rect:not([fill]):not([class]),
.cap-import svg ellipse:not([fill]):not([class]),.cap-import svg polygon:not([fill]):not([class]){
  fill:var(--card);stroke:var(--line);stroke-width:1.5}
.cap-import svg line:not([stroke]),.cap-import svg polyline:not([stroke]):not([class]){stroke:var(--line);stroke-width:1.5;fill:none}
.cap-import svg path:not([fill]):not([class]):not([stroke]){fill:none;stroke:var(--line);stroke-width:1.75}

/* ===== Colossus Brain III: correções de renderização dos módulos ===== */
.cap-import h3{display:block !important}
.cap-import h3 .step,.cap-import .step{display:inline-block !important;width:auto !important;max-width:max-content;
  margin-right:.5rem;vertical-align:middle;padding:.18rem .5rem;border-radius:6px;font-family:var(--fm);font-size:.72rem}
.cap-import a{text-decoration:none;color:var(--c1);border-bottom:1px solid transparent}
.cap-import a:hover{border-bottom-color:var(--c1)}
.cap-import a.card,.cap-import .card a,.cap-import .trilha-card,.cap-import a[class*="card"]{
  display:block;text-decoration:none;color:inherit;border-bottom:0}
.cap-import a.card h3,.cap-import a.card h4,.cap-import .card a h4{color:var(--ink)}
/* SVG: devolver cores que estavam no CSS original dos arquivos */
.cap-import svg text,.cap-import svg tspan{fill:var(--ink);font-family:var(--fm)}
.cap-import svg text:not([font-size]),.cap-import svg tspan:not([font-size]){font-size:12px}
.cap-import svg .fill-primary,.cap-import .fill-primary{fill:var(--c1)}
.cap-import svg .fill-accent,.cap-import .fill-accent{fill:var(--hi)}
.cap-import svg .fill-text,.cap-import .fill-text{fill:var(--ink)}
.cap-import svg .fill-muted{fill:var(--ink-soft)}
.cap-import svg .fill-surface,.cap-import svg .fill-bg{fill:var(--card)}
.cap-import svg .fill-ok{fill:var(--c3)}.cap-import svg .fill-warn{fill:var(--c4)}
.cap-import svg .stroke-primary{stroke:var(--c1)}.cap-import svg .stroke-accent{stroke:var(--hi)}
.cap-import svg .stroke-text{stroke:var(--ink)}.cap-import svg .stroke-border,.cap-import svg .stroke-muted{stroke:var(--line)}
.cap-import svg [class*="badge-num"]{fill:var(--c1)}
.cap-import svg [class*="badge-num"] + text,.cap-import svg .badge-num text{fill:#fff}
/* rolagem horizontal para diagramas largos, como nos diagramas do manual */
.cap-import .svg-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1rem 0;padding-bottom:.3rem}
.cap-import .svg-scroll svg{min-width:520px;margin:0}
.cap-import table{display:block;overflow-x:auto;white-space:normal}
/* cartões de trilha do módulo de redes */
.cap-import .trilha-card,.cap-import [class*="trilha"] .card{background:var(--card);border:1px solid var(--line);
  border-radius:16px;padding:1.1rem;margin:1rem 0;box-shadow:var(--sh-s)}

/* ===== Colossus Brain III: design próprio para os módulos importados ===== */
.cap-import{--primary:var(--c1);--accent:var(--hi);--text:var(--ink);--muted:var(--ink-soft);
  --surface:var(--card);--border:var(--line);--ok:var(--c3);--warn:var(--c4);--danger:var(--c4);
  --bg-soft:color-mix(in srgb,var(--ink) 4%,transparent);--radius:14px}
.cap-import *{max-width:100%;box-sizing:border-box}
.cap-import section,.cap-import .wrap,.cap-import .container,.cap-import main,.cap-import article{display:block;margin:0;padding:0;background:none;border:0;width:auto;max-width:100%;box-shadow:none}
.cap-import section{margin:2rem 0}
.cap-import h3{font-family:var(--fd);font-weight:800;font-size:clamp(1.15rem,4.4vw,1.5rem);line-height:1.25;color:var(--ink);margin:2.2rem 0 .3rem}
.cap-import h4{font-family:var(--fd);font-weight:800;font-size:1.02rem;color:var(--ink);margin:1.5rem 0 .3rem}
.cap-import h5{font-family:var(--fm);font-size:.8rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);margin:1.1rem 0 .3rem}
.cap-import p,.cap-import li{font-family:var(--fb);font-size:1rem;line-height:1.78;color:var(--ink-2)}
.cap-import p{margin:.85rem 0}
.cap-import ul,.cap-import ol{margin:.85rem 0;padding-left:1.3rem}
.cap-import li{margin:.4rem 0}
.cap-import strong,.cap-import b{color:var(--ink);font-weight:700}
.cap-import a{color:var(--c1)}
.cap-import svg{display:block;width:100%;height:auto;margin:.5rem auto}
/* cartões e blocos */
.cap-import .card,.cap-import .callout,.cap-import .analogy,.cap-import .sheet,.cap-import .mindmap-box,
.cap-import .flow-box,.cap-import .checklist,.cap-import .glossary,.cap-import .note,.cap-import .acc-item{
  display:block;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.1rem 1.15rem;margin:1.1rem 0;box-shadow:var(--sh-s)}
.cap-import .analogy,.cap-import .callout-tip{border-left:4px solid var(--c3);background:color-mix(in srgb,var(--c3) 6%,var(--card))}
.cap-import .callout-warn{border-left:4px solid var(--c4);background:color-mix(in srgb,var(--c4) 6%,var(--card))}
.cap-import .card h4,.cap-import .callout h4{margin-top:0}
.cap-import .grid,.cap-import .card-grid,.cap-import .cards{display:grid;grid-template-columns:1fr;gap:1rem;margin:1.1rem 0}
/* exercícios */
.cap-import details.exercise,.cap-import .exercise{background:color-mix(in srgb,var(--c5) 7%,var(--card));border:1px solid var(--line);border-left:4px solid var(--c5);border-radius:14px;padding:1rem 1.1rem;margin:1rem 0}
.cap-import details.exercise summary{cursor:pointer;font-family:var(--fd);font-weight:700;color:var(--ink);list-style:none}
.cap-import details.exercise summary::-webkit-details-marker{display:none}
.cap-import .answer{margin-top:.8rem;padding-top:.8rem;border-top:1px dashed var(--line)}
/* acordeão */
.cap-import .accordion{margin:1.2rem 0}
.cap-import .acc-item{padding:0;overflow:hidden}
.cap-import .acc-trigger{width:100%;display:flex;align-items:center;gap:.7rem;text-align:left;background:none;border:0;cursor:pointer;
  font-family:var(--fd);font-weight:700;font-size:1rem;color:var(--ink);padding:1rem 1.1rem;line-height:1.35}
.cap-import .acc-panel{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.22,.61,.36,1)}
.cap-import .acc-item.open .acc-panel{max-height:4000px}
.cap-import .acc-panel-inner{padding:0 1.1rem 1.2rem}
.cap-import .acc-chevron{margin-left:auto;flex:none;transition:transform .3s}
.cap-import .acc-item.open .acc-chevron{transform:rotate(180deg)}
.cap-import .acc-badge,.cap-import .badge-num{flex:none;display:inline-flex;align-items:center;justify-content:center;
  min-width:1.7rem;height:1.7rem;border-radius:50%;background:var(--c1);color:var(--sobre-forte,#FFFFFF);font-family:var(--fm);font-size:.72rem;font-weight:800}
/* ABAS: mostrar TODOS os painéis (o JS original não vem junto) */
.cap-import .tab-panel{display:block !important;margin-top:1rem}
.cap-import .tabs,.cap-import .tablist,.cap-import .tab-btn,.cap-import .theme-toggle,.cap-import .menu-btn,
.cap-import .skip-link,.cap-import .site-footer,.cap-import .brand-mark,.cap-import .breadcrumb{display:none !important}
/* etiquetas e utilitários */
.cap-import .label,.cap-import .kicker,.cap-import .badge,.cap-import .sheet-tag,.cap-import .tagline{
  display:inline-block;font-family:var(--fm);font-size:.63rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  color:var(--c1);background:color-mix(in srgb,var(--c1) 10%,transparent);padding:.25rem .6rem;border-radius:999px;margin-bottom:.5rem}
.cap-import .lede,.cap-import .lead{font-size:1.06rem;color:var(--ink-2);line-height:1.75}
.cap-import .btn,.cap-import .run{display:inline-block;font-family:var(--fm);font-size:.76rem;font-weight:600;padding:.55rem 1rem;
  border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;transition:all .18s;margin:.4rem 0}
.cap-import .btn:hover,.cap-import .run:hover{border-color:var(--c1);transform:translateY(-1px)}
.cap-import .flow-status{font-family:var(--fm);font-size:.76rem;color:var(--ink-soft);margin-left:.6rem}
.cap-import .dot{transition:fill .3s}
.cap-import .dot.on{fill:var(--c3)}
.cap-import code,.cap-import .code,.cap-import kbd{font-family:var(--fm);font-size:.88em;background:color-mix(in srgb,var(--ink) 7%,transparent);padding:.12rem .38rem;border-radius:6px;color:var(--ink)}
.cap-import table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.94rem}
.cap-import th,.cap-import td{border:1px solid var(--line);padding:.6rem .7rem;text-align:left}
.cap-import th{background:var(--card);font-family:var(--fd);font-weight:700;color:var(--ink)}
.cap-import .checklist li{list-style:none;padding-left:1.6rem;position:relative}
.cap-import .checklist li::before{content:"☐";position:absolute;left:0;color:var(--c1);font-size:1.1rem}
@media (min-width:760px){.cap-import .grid,.cap-import .card-grid,.cap-import .cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}

/* (camada antiga) */

.cap-import{font-family:var(--fb)}
.cap-hw,.cap-net{--primary:var(--c1);--accent:var(--hi);--text:var(--ink);--muted:var(--ink-soft);--surface:var(--card);--border:var(--line);--ok:var(--c3);--warn:var(--c4)}
.cap-import h3,.cap-import h4{font-family:var(--fd);color:var(--ink)}
.cap-import p,.cap-import li{font-family:var(--fb);color:var(--ink-2);line-height:1.75}
.cap-import section{margin:1.8rem 0;padding:0;background:transparent;border:0;max-width:100%}
.cap-import .wrap,.cap-import .container{max-width:100%;padding:0;margin:0}
.cap-import svg{max-width:100%;height:auto}
.cap-import .card,.cap-import .callout,.cap-import .analogy,.cap-import .exercise,.cap-import .sheet,.cap-import .mindmap-box,.cap-import .flow-box,.cap-import .checklist,.cap-import .acc-item{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh-s)}
.cap-import .callout-tip,.cap-import .analogy{border-left:4px solid var(--c3)}
.cap-import .callout-warn{border-left:4px solid var(--c4)}
.cap-import .grid,.cap-import .card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.cap-import .acc-trigger{width:100%;text-align:left;cursor:pointer;background:transparent;border:0;font-family:var(--fd);font-weight:700;color:var(--ink);padding:1rem 1.1rem;display:flex;align-items:center;gap:.7rem}
.cap-import .acc-panel{overflow:hidden;max-height:0;transition:max-height .45s cubic-bezier(.22,.61,.36,1)}
.cap-import .acc-item.open .acc-panel,.cap-import .acc-item.active .acc-panel{max-height:3000px}
.cap-import .acc-panel-inner{padding:0 1.1rem 1.1rem}
.cap-import .acc-chevron{margin-left:auto;transition:transform .3s}
.cap-import .acc-item.open .acc-chevron{transform:rotate(180deg)}
.cap-import .btn,.cap-import .run{font-family:var(--fm);font-size:.76rem;font-weight:600;padding:.5rem .9rem;border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;transition:all .18s}
.cap-import .btn:hover,.cap-import .run:hover{border-color:var(--c1);transform:translateY(-1px)}
.cap-import .badge,.cap-import .label,.cap-import .kicker,.cap-import .sheet-tag,.cap-import .badge-num{font-family:var(--fm);font-size:.64rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--c1)}
.cap-import table{width:100%;border-collapse:collapse}
.cap-import .lede,.cap-import .lead{font-size:1.05rem;color:var(--ink-2)}
.cap-import .answer{border-top:1px dashed var(--line);margin-top:.7rem;padding-top:.7rem;color:var(--ink-2)}
.cap-import .dot.on{fill:var(--c3);transition:fill .3s}
@media (max-width:640px){.cap-import .grid,.cap-import .card-grid{grid-template-columns:1fr}}

/* ===================== Colossus Brain III · camada de design ===================== */
:root{
  --sh-s:0 1px 2px rgba(28,24,19,.06),0 2px 6px rgba(28,24,19,.05);
  --sh-l:0 4px 8px rgba(28,24,19,.07),0 20px 48px rgba(28,24,19,.13);
  --ring:color-mix(in srgb,var(--c1) 40%,transparent);
}
[data-theme="dark"]{--sh-s:0 1px 2px rgba(0,0,0,.3),0 2px 10px rgba(0,0,0,.28);
  --sh-l:0 6px 18px rgba(0,0,0,.4),0 20px 50px rgba(0,0,0,.45)}
/* marca */
.brand .mark{background:linear-gradient(140deg,var(--c1),var(--c7) 55%,var(--hi));color:var(--sobre-forte,#0B0F17);
  box-shadow:0 3px 10px color-mix(in srgb,var(--c1) 35%,transparent);letter-spacing:-.02em}
.brand b{letter-spacing:-.015em}
.brand .x1{background:linear-gradient(90deg,var(--hi),var(--c4));-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;font-weight:800}
/* barra de navegação com vidro */
nav{backdrop-filter:saturate(1.5) blur(10px);-webkit-backdrop-filter:saturate(1.5) blur(10px);
  background:color-mix(in srgb,var(--bg) 82%,transparent);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.tab{border-radius:999px}
.tab:hover{background:color-mix(in srgb,var(--c1) 10%,transparent);color:var(--c1)}
/* cabeçalho de capítulo */
.cap-head h2{letter-spacing:-.022em;line-height:1.14}
.cap-num{display:inline-block;padding:.3rem .75rem;border-radius:999px;
  background:color-mix(in srgb,var(--c1) 11%,transparent);color:var(--c1);font-weight:700}
.cap-rule{height:4px;width:74px;border-radius:99px;background:linear-gradient(90deg,var(--c1),var(--hi));opacity:.95}
.cap-sub{font-size:1.09rem;line-height:1.72;color:var(--ink-2);border-left:3px solid color-mix(in srgb,var(--c1) 30%,transparent);
  padding-left:1rem;margin-left:0}
/* seções */
.cap h3{letter-spacing:-.015em}
.cap .step{background:linear-gradient(135deg,color-mix(in srgb,var(--c1) 16%,transparent),color-mix(in srgb,var(--hi) 14%,transparent));
  color:var(--c1);font-weight:700;border:1px solid color-mix(in srgb,var(--c1) 22%,transparent)}
/* blocos */
.box,.ficha,.howto,.naodito,.comece,.dgm,.alegoria,.quiz,.cap-import .card,.cap-import .callout,.cap-import .acc-item{
  border-radius:18px}
.ficha{background:linear-gradient(165deg,color-mix(in srgb,var(--c1) 4%,var(--card)),var(--card))}
.ficha:hover,.box:hover{box-shadow:var(--sh-l)}
.box.gold{background:linear-gradient(150deg,color-mix(in srgb,var(--hi) 14%,var(--card)),var(--card));
  border-color:color-mix(in srgb,var(--hi) 45%,var(--line))}
.alegoria{border-radius:20px}
/* tabelas */
.tw{border-radius:16px;border:1px solid var(--line);overflow-x:auto;overflow-y:visible;box-shadow:var(--sh-s);-webkit-overflow-scrolling:touch}
.tw table{margin:0}
.tw th{background:linear-gradient(180deg,color-mix(in srgb,var(--c1) 10%,var(--card)),var(--card));
  font-family:var(--fd);font-weight:800;letter-spacing:.01em;border-bottom:2px solid color-mix(in srgb,var(--c1) 25%,var(--line))}
.tw td{border-color:color-mix(in srgb,var(--line) 75%,transparent)}
/* estante */
.est-item{border-radius:18px;background:linear-gradient(120deg,color-mix(in srgb,var(--kc) 7%,var(--card)),var(--card))}
.est-n{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:14px;
  background:color-mix(in srgb,var(--kc) 16%,transparent);color:var(--kc);font-size:.9rem}
.est-t{letter-spacing:-.012em}
/* hub */
.hub-card{border-radius:22px;border-top-width:5px;
  background:linear-gradient(160deg,color-mix(in srgb,var(--hc) 10%,var(--card)),var(--card) 65%)}
.hub-ic{font-size:2.1rem;filter:drop-shadow(0 3px 6px rgba(0,0,0,.12))}
.hub-t{letter-spacing:-.012em}
.hub-card.sel{box-shadow:0 0 0 2px var(--hc), var(--sh-l)}
.hub-h b{letter-spacing:-.02em;background:linear-gradient(90deg,var(--ink),var(--c1));-webkit-background-clip:text;
  background-clip:text;-webkit-text-fill-color:transparent}
/* trilha (modo caminho) */
.tr-step{border-radius:18px}
.tr-n{border-radius:14px;background:linear-gradient(140deg,var(--c3),color-mix(in srgb,var(--c3) 70%,var(--c1)))}
/* comece por aqui */
.comece{background:linear-gradient(150deg,color-mix(in srgb,var(--c3) 9%,var(--card)),var(--card))}
/* barra inferior de navegação de capítulo */
#capNav{border-radius:999px;backdrop-filter:blur(12px);background:color-mix(in srgb,var(--card) 92%,transparent)}
/* foco acessível consistente */
a:focus-visible,button:focus-visible{outline:2px solid var(--ring);outline-offset:3px;border-radius:10px}
/* módulos importados: mesma linguagem visual */
.cap-import .label,.cap-import .kicker,.cap-import .badge,.cap-import .sheet-tag,.cap-import .tagline{
  background:linear-gradient(135deg,color-mix(in srgb,var(--c1) 14%,transparent),color-mix(in srgb,var(--hi) 12%,transparent));
  border:1px solid color-mix(in srgb,var(--c1) 20%,transparent)}
.cap-import .acc-trigger:hover{background:color-mix(in srgb,var(--c1) 5%,transparent)}
/* ritmo tipográfico */
.cap p{max-width:68ch}
.cap h3{padding-top:.2rem}
@media (max-width:520px){
  .cap-sub{padding-left:.8rem;font-size:1.02rem}
  .cap-num{font-size:.62rem}
  .est-n{width:2.2rem;height:2.2rem;border-radius:12px}
}
/* ===== Colossus Brain III: hub horizontal de trilhas (restaurado) ===== */
#hub{max-width:var(--maxw);margin:1.2rem auto 2.2rem;padding:0 var(--pad)}
body.kamim #hub,body.lendo #hub{display:none}
.hub-h{margin:0 0 1.1rem;display:block}
.hub-h b{display:block;font-family:var(--fd);font-weight:800;font-size:1.5rem;line-height:1.2;color:var(--ink)}
.hub-h span{display:block;font-family:var(--fm);font-size:.72rem;color:var(--ink-soft);margin-top:.4rem;line-height:1.65}
.hub-row{display:flex;flex-wrap:nowrap;gap:.8rem;overflow-x:auto;overflow-y:hidden;padding:.4rem .15rem 1rem;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.hub-row::-webkit-scrollbar{height:6px}
.hub-row::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px}
.hub-card{scroll-snap-align:start;flex:0 0 auto;width:172px;min-height:158px;
  display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:.28rem;
  text-align:left;padding:1rem .95rem;border-radius:22px;border:1px solid var(--line);border-top:5px solid var(--hc,var(--c1));
  background:linear-gradient(160deg,color-mix(in srgb,var(--hc) 10%,var(--card)),var(--card) 65%);
  cursor:pointer;box-shadow:var(--sh-s);animation:hubIn .55s backwards;
  transition:transform .22s cubic-bezier(.22,.61,.36,1),box-shadow .22s,border-color .22s}
@keyframes hubIn{from{opacity:0;transform:translateY(22px) scale(.96)}to{opacity:1;transform:none}}
.hub-card:hover{transform:translateY(-6px);box-shadow:var(--sh-l)}
.hub-card:active{transform:scale(.98)}
.hub-card.sel{box-shadow:0 0 0 2px var(--hc),var(--sh-l)}
.hub-ic{display:block;font-size:2.1rem;line-height:1;margin:0 0 auto;filter:drop-shadow(0 3px 6px rgba(0,0,0,.12))}
.hub-t{display:block;font-family:var(--fd);font-weight:800;font-size:.98rem;line-height:1.22;color:var(--ink);letter-spacing:-.012em}
.hub-n{display:block;font-family:var(--fm);font-size:.63rem;color:var(--ink-soft);margin-top:.15rem}
.hub-clear{display:none;margin-top:.3rem;font-family:var(--fm);font-size:.74rem;font-weight:600;color:var(--c1);
  background:none;border:0;cursor:pointer;padding:.4rem 0}
body.filtrado .hub-clear{display:inline-block}
.est-item.oculto{display:none !important}
@media (max-width:640px){.hub-card{width:158px;min-height:146px}}
/* ===================== Colossus Brain III · organização da tela ===================== */
/* --- entrada enxuta: só marca compacta + hub + estante --- */
#heroMini{display:none;max-width:var(--maxw);margin:0 auto;padding:1.6rem var(--pad) .4rem}
body.kamum:not(.lendo) #heroMini{display:block;animation:fadeUp .5s}
body.kamum:not(.lendo) #topo > *:not(#heroMini){display:none}
body.kamum:not(.lendo) #introWrap{display:none}
body.kamum.lendo #topo{display:none}
.hm-t{font-family:var(--fd);font-weight:800;font-size:clamp(1.7rem,7vw,2.4rem);line-height:1.08;letter-spacing:-.025em;color:var(--ink);margin:0}
.hm-t em{font-style:normal;background:linear-gradient(90deg,var(--c1),var(--hi));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hm-s{font-family:var(--fb);font-size:1rem;line-height:1.65;color:var(--ink-2);margin:.6rem 0 0;max-width:44ch}
.hm-stats{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.9rem}
.hm-chip{font-family:var(--fm);font-size:.66rem;font-weight:600;color:var(--ink-2);background:var(--card);
  border:1px solid var(--line);border-radius:999px;padding:.32rem .7rem}
/* --- topo limpo: sem 42 abas no celular --- */
@media (max-width:900px){body.kamum .tab{display:none}}
nav .nav-in{gap:.4rem}
/* --- barra do capítulo em leitura --- */
#capBar{position:fixed;left:0;right:0;top:0;z-index:75;display:none;align-items:center;gap:.6rem;
  padding:.55rem var(--pad);background:color-mix(in srgb,var(--bg) 92%,transparent);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
body.kamum.lendo #capBar{display:flex;animation:fadeUp .35s}
body.kamum.lendo nav{display:none}
#capBar .cb-back{flex:none;font-family:var(--fm);font-size:.72rem;font-weight:700;color:var(--ink);
  background:var(--card);border:1px solid var(--line);border-radius:999px;padding:.4rem .8rem;cursor:pointer}
#capBar .cb-t{font-family:var(--fd);font-weight:800;font-size:.88rem;line-height:1.2;color:var(--ink);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#capBar .cb-n{flex:none;font-family:var(--fm);font-size:.68rem;color:var(--c1);font-weight:700}
body.kamum.lendo .cap.ativo{padding-top:3.2rem}
body.kamum.lendo{padding-bottom:4.5rem}
/* --- respiro e ritmo dentro do capítulo --- */
.cap .box,.cap .ficha,.cap .howto,.cap .alegoria,.cap .flow,.cap .grid,.cap .tw,.cap .road,.cap .principles{margin-top:1.4rem;margin-bottom:1.4rem}
.cap .grid{gap:.9rem}
.cap h3{margin-top:3rem;padding-top:1.2rem;border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent)}
.cap h3:first-of-type{border-top:0;padding-top:0;margin-top:2rem}
.toc{padding:.9rem 1rem;background:var(--card);border:1px solid var(--line);border-radius:16px}
/* --- diagramas: legibilidade e dica de rolagem --- */
.dgm{padding:1rem .85rem .8rem}
.dgm figcaption{font-size:.7rem;line-height:1.6}
.dgm-scroll.tem-scroll,.svg-scroll.tem-scroll{position:relative}
.dgm-scroll.tem-scroll::after,.svg-scroll.tem-scroll::after{content:"↔ arraste";position:sticky;left:100%;bottom:0;
  display:inline-block;font-family:var(--fm);font-size:.6rem;color:var(--ink-soft);background:var(--card);
  border:1px solid var(--line);border-radius:99px;padding:.15rem .45rem;white-space:nowrap}
/* --- animações: sem exageros no toque --- */
@media (hover:none){
  .box:hover,.ficha:hover,.howto:hover,.naodito:hover,.est-item:hover,.hub-card:hover,.tr-step:hover,.lib-book:hover{
    transform:none;box-shadow:var(--sh-s)}
}
/* diagramas animados também no celular — ver camada de movimento */
.reveal{transform:translateY(10px);transition-duration:.42s}
/* --- limpeza de restos dos módulos importados --- */
.cap-import .hero,.cap-import .site-footer,.cap-import nav,.cap-import .progress,.cap-import .toc-fixed,
.cap-import .back-to-top,.cap-import .breadcrumbs{display:none !important}
.cap-import section:empty,.cap p:empty,.cap div:empty:not([class]){display:none}
/* --- Colossus Brain III: ajustes finais --- */
.dgm figcaption::before{content:"" !important}
body.kamum.lendo .to-top,body.kamum.lendo #toTop,body.kamum.lendo .topo-btn,body.kamum.lendo a[href="#topo"].fab{display:none !important}
body.kamum.lendo #capNav{bottom:.8rem}
.dgm-scroll.tem-scroll::after,.svg-scroll.tem-scroll::after{position:absolute;right:.4rem;bottom:.2rem;left:auto;opacity:.85}
.cap-import .svg-scroll{border:1px solid color-mix(in srgb,var(--line) 60%,transparent);border-radius:14px;padding:.5rem}
#capBar{padding-top:calc(.55rem + env(safe-area-inset-top,0px))}
/* ===== estante dividida em partes ===== */
.est-parte{display:flex;align-items:center;gap:.7rem;margin:2rem 0 .6rem;padding:0}
.est-parte:first-child{margin-top:.4rem}
.est-parte .ep-t{font-family:var(--fm);font-size:.66rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap}
.est-parte .ep-l{flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}
.est-parte .ep-c{font-family:var(--fm);font-size:.62rem;color:var(--ink-soft);background:var(--card);border:1px solid var(--line);border-radius:99px;padding:.15rem .5rem;white-space:nowrap}
.est-parte.oculto{display:none}
/* as prateleiras (10/10/2026): o nome do grupo, a linha, a contagem e, embaixo,
   uma frase do que tem nela. O Núcleo ganha cor: é o foco do manual. */
.est-parte{flex-wrap:wrap}
.est-parte .ep-d{flex-basis:100%;font-family:var(--fb);font-size:.86rem;line-height:1.5;
  color:var(--ink-soft);letter-spacing:0;text-transform:none;margin-top:.15rem}
.est-parte.est-g0 .ep-t{color:var(--c1)}
.est-parte.est-g0{padding:.85rem 1rem .8rem;border:1px solid color-mix(in srgb,var(--c1) 30%,var(--line));
  border-radius:16px;background:color-mix(in srgb,var(--c1) 6%,var(--card))}
.est-item.est-comece .est-s::before{content:"Comece por aqui · passo " attr(data-passo) " · ";
  color:var(--c1);font-weight:700}
/* leitura mais calma */
.cap-import .card,.cap-import .callout{margin:1.4rem 0}
.cap-import h3{margin-top:3rem;padding-top:1.2rem;border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent)}
.cap-import h3:first-of-type{border-top:0;padding-top:0}
/* ===== divisórias de parte (capas) ===== */
.parte-cover{max-width:var(--maxw);margin:4.5rem auto 2.5rem;padding:2.2rem var(--pad);text-align:center;position:relative}
body.kamum:not(.kamim) .parte-cover{display:none}
.parte-cover .pc-rom{display:inline-block;font-family:var(--fm);font-size:.68rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--c1);background:color-mix(in srgb,var(--c1) 10%,transparent);
  border:1px solid color-mix(in srgb,var(--c1) 30%,transparent);border-radius:999px;padding:.35rem .9rem}
.parte-cover .pc-t{font-family:var(--fd);font-weight:800;font-size:clamp(1.6rem,6vw,2.3rem);line-height:1.12;
  letter-spacing:-.025em;margin:.9rem 0 .4rem;color:var(--ink)}
.parte-cover .pc-d{font-family:var(--fb);font-size:1rem;color:var(--ink-2);max-width:46ch;margin:0 auto}
.parte-cover .pc-l{display:block;width:120px;height:4px;border-radius:99px;margin:1.4rem auto 0;
  background:linear-gradient(90deg,var(--c1),var(--hi))}
/* botão de modo sempre legível */
#modoBtn{font-weight:700}
/* aviso de modo corrido, para nunca ficar perdido */
#voltarCap{display:none;position:fixed;left:50%;transform:translateX(-50%);bottom:1rem;z-index:78;
  font-family:var(--fm);font-size:.74rem;font-weight:700;color:var(--bg);background:var(--ink);
  border:0;border-radius:999px;padding:.6rem 1.1rem;box-shadow:var(--sh-l);cursor:pointer}
body.kamim #voltarCap{display:block;animation:fadeUp .4s}
/* ============================================================
   Colossus Brain III · DESIGN SYSTEM v2 — acabamento profissional
   ============================================================ */
:root{
  --r-xs:10px;--r-sm:14px;--r-md:18px;--r-lg:24px;--r-xl:30px;
  --e1:0 1px 2px rgba(15,23,42,.05),0 2px 6px rgba(15,23,42,.04);
  --e2:0 2px 8px rgba(15,23,42,.06),0 10px 28px rgba(15,23,42,.08);
  --e3:0 10px 30px rgba(22,20,16,.09),0 30px 70px rgba(22,20,16,.11);
  --ez:cubic-bezier(.22,.61,.36,1);--ez-out:cubic-bezier(.16,1,.3,1);
  --sh-s:var(--e1);--sh-l:var(--e2);
}
[data-theme="dark"]{
  --e1:0 1px 2px rgba(0,0,0,.35),0 2px 8px rgba(0,0,0,.3);
  --e2:0 4px 14px rgba(0,0,0,.42),0 14px 36px rgba(0,0,0,.4);
  --e3:0 12px 34px rgba(0,0,0,.5),0 34px 80px rgba(0,0,0,.55);
}
::selection{background:color-mix(in srgb,var(--c1) 25%,transparent);color:var(--ink)}
*::-webkit-scrollbar{width:9px;height:7px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ink) 16%,transparent);border-radius:99px}
*::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--ink) 28%,transparent)}
/* textura sutil de papel — dá profundidade sem ruído visual */
#grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.028;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}
[data-theme="dark"] #grain{opacity:.045}
/* entrada da página */
@keyframes pageIn{from{opacity:0}to{opacity:1}}
body{animation:pageIn .5s var(--ez-out)}
/* ---------- tipografia ---------- */
.cap-head h2{font-size:clamp(1.7rem,6.2vw,2.6rem);letter-spacing:-.028em;line-height:1.1}
.cap h3{font-size:clamp(1.18rem,4.6vw,1.6rem);letter-spacing:-.018em}
.cap h4{letter-spacing:-.01em}
.cap p{line-height:1.78}
.cap-sub{font-size:clamp(1rem,3.6vw,1.12rem)}
/* meta do capítulo */
.cap-meta{display:flex;flex-wrap:wrap;gap:.4rem;margin:.9rem 0 1.2rem}
.cap-meta span{font-family:var(--fm);font-size:.64rem;font-weight:600;letter-spacing:.05em;color:var(--ink-soft);
  background:color-mix(in srgb,var(--ink) 4%,var(--card));border:1px solid var(--line);border-radius:999px;padding:.3rem .68rem}
.cap-meta span.cm-parte{color:var(--c1);border-color:color-mix(in srgb,var(--c1) 28%,var(--line));
  background:color-mix(in srgb,var(--c1) 8%,transparent)}
/* ---------- componentes ---------- */
.box,.ficha,.howto,.naodito,.comece,.dgm,.alegoria,.quiz,.tw,.toc,.est-item,.tr-step,.cap-import .card,.cap-import .callout,.cap-import .acc-item{
  border-radius:var(--r-md);box-shadow:var(--e1);transition:box-shadow .3s var(--ez),transform .3s var(--ez),border-color .3s var(--ez)}
.hub-card{border-radius:var(--r-lg);box-shadow:var(--e1)}
@media (hover:hover){
  .box:hover,.ficha:hover,.howto:hover,.dgm:hover,.est-item:hover,.hub-card:hover,.tr-step:hover{box-shadow:var(--e2)}
}
.tw table tbody tr{transition:background .2s}
@media (hover:hover){.tw table tbody tr:hover td{background:color-mix(in srgb,var(--c1) 5%,transparent)}}
/* citações e destaques */
.cap blockquote,.quote{border-left:3px solid var(--hi);padding-left:1.1rem;font-style:italic;color:var(--ink-2)}
.cap strong{font-weight:700}
.cap em{font-style:italic}
/* botões: estado de pressão consistente */
button,.tab,.est-item,.hub-card,.tr-step{-webkit-tap-highlight-color:transparent}
.ripple{position:relative;overflow:hidden}
.ripple > .rp{position:absolute;border-radius:50%;transform:scale(0);opacity:.35;
  background:currentColor;pointer-events:none;animation:rp .6s var(--ez-out) forwards}
@keyframes rp{to{transform:scale(1);opacity:0}}
/* ---------- barra de leitura com progresso ---------- */
#capBar{box-shadow:var(--e1)}
#capBar .cb-prog{position:absolute;left:0;bottom:0;height:2px;width:100%;
  transform:scaleX(0);transform-origin:left center;
  background:linear-gradient(90deg,var(--c1),var(--hi));transition:transform .18s linear}
/* ---------- índice com seção ativa ---------- */
.toc a.ativo{background:color-mix(in srgb,var(--c1) 13%,transparent);border-color:var(--c1);color:var(--c1);font-weight:700}
/* ---------- estante ---------- */
.est-item{padding:1rem 1.05rem}
.est-n{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--kc) 30%,transparent)}
.est-go{opacity:.5}
@media (hover:hover){.est-item:hover .est-go{opacity:1}}
.est-parte{margin-top:2.6rem}
.est-parte .ep-t{color:var(--ink);font-weight:800}
/* ---------- capas de parte ---------- */
.parte-cover{position:relative;overflow:hidden;padding:3rem var(--pad) 2.6rem}
.parte-cover::before{content:attr(data-rom);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  font-family:var(--fd);font-weight:800;font-size:min(28vw,220px);line-height:1;color:var(--ink);
  opacity:.045;letter-spacing:-.05em;pointer-events:none;z-index:0}
.parte-cover > *{position:relative;z-index:1}
/* ---------- hub ---------- */
.hub-ic{width:2.8rem;height:2.8rem;display:flex;align-items:center;justify-content:center;border-radius:50%;
  background:color-mix(in srgb,var(--hc) 16%,transparent);font-size:1.5rem;filter:none;margin-bottom:auto}
.hub-card{padding:.95rem}
/* ---------- diagramas ---------- */
.dgm{background:linear-gradient(180deg,color-mix(in srgb,var(--ink) 2%,var(--card)),var(--card))}
.dgm figcaption{border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent);padding-top:.7rem}
/* ---------- rodapé e navegação ---------- */
footer{border-top:1px solid var(--line);margin-top:4rem;padding-top:2rem}
#capNav{box-shadow:var(--e3)}
/* ---------- foco premium ---------- */
:focus-visible{outline:2px solid var(--c1);outline-offset:3px;border-radius:8px}
/* ---------- redução de movimento ---------- */
@media (prefers-reduced-motion:reduce){body{animation:none}.ripple>.rp{display:none}}
/* botão concluído integrado à linha de meta */
.cap-meta{align-items:center}
.cap-meta .cap-done{margin-left:auto;font-family:var(--fm);font-size:.64rem;font-weight:600;letter-spacing:.05em;
  text-transform:uppercase;padding:.32rem .7rem .32rem .55rem;border-radius:999px;border:1px solid var(--line);
  background:var(--card);color:var(--ink-soft);display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}
.cap-meta .cap-done[aria-pressed="true"]{color:var(--c3);border-color:color-mix(in srgb,var(--c3) 45%,var(--line));
  background:color-mix(in srgb,var(--c3) 10%,transparent)}
.cap-head .cap-done{display:none}

/* ==========================================================================
   Colossus Brain III — camada de movimento e profundidade
   Regra da casa: só `transform` e `opacity` animam. Nada que force layout.
   Tudo aqui é aditivo — nenhuma regra anterior foi removida.
   ========================================================================== */
:root{
  --ab-spring:cubic-bezier(.34,1.56,.64,1);
  --ab-out:cubic-bezier(.16,1,.3,1);
  --ab-in-out:cubic-bezier(.65,0,.35,1);
  --ab-t-fast:.22s; --ab-t:.42s; --ab-t-slow:.68s;
  --ab-lift:0 1px 2px rgba(15,23,42,.05), 0 6px 16px rgba(15,23,42,.07), 0 18px 44px rgba(15,23,42,.08);
  --ab-lift-hi:0 2px 4px rgba(24,22,18,.06), 0 12px 28px rgba(24,22,18,.10), 0 34px 78px rgba(24,22,18,.12);
}
html[data-theme="dark"]{
  --ab-lift:0 1px 2px rgba(0,0,0,.5), 0 6px 18px rgba(0,0,0,.42), 0 20px 48px rgba(0,0,0,.4);
  --ab-lift-hi:0 3px 6px rgba(0,0,0,.55), 0 14px 34px rgba(0,0,0,.5), 0 38px 88px rgba(0,0,0,.55);
}

/* --------------------------------------------------------------------------
   1. MOTOR DE REVEAL (substitui o antigo .reveal por scroll-polling)
   -------------------------------------------------------------------------- */
.rv{opacity:0;transform:translate3d(0,20px,0);
    transition:opacity var(--ab-t) var(--ab-out) var(--rvd,0ms),
               transform var(--ab-t) var(--ab-out) var(--rvd,0ms)}
.rv[data-rv="left"]  {transform:translate3d(-26px,0,0)}
.rv[data-rv="right"] {transform:translate3d(26px,0,0)}
.rv[data-rv="scale"] {transform:scale(.93)}
.rv[data-rv="rise"]  {transform:translate3d(0,34px,0) scale(.985)}
.rv[data-rv="blur"]  {transform:translate3d(0,14px,0)}
.rv.on{opacity:1;transform:none}
.rv-busy{will-change:transform,opacity}
/* compatibilidade: o .reveal antigo continua existindo em conteúdo importado */
.reveal{opacity:0;transform:translate3d(0,16px,0);
        transition:opacity var(--ab-t) var(--ab-out),transform var(--ab-t) var(--ab-out)}
.reveal.vis{opacity:1;transform:none}

/* --------------------------------------------------------------------------
   2. ENTRADA DE CAPÍTULO — cascata em vez de um bloco só
   -------------------------------------------------------------------------- */
@keyframes abCapIn{
  from{opacity:0;transform:translate3d(0,26px,0) scale(.994)}
  to  {opacity:1;transform:none}
}
@keyframes abHeadIn{
  from{opacity:0;transform:translate3d(0,18px,0)}
  to  {opacity:1;transform:none}
}
@keyframes abRuleIn{from{transform:scaleX(0)}to{transform:scaleX(1)}}
body.kamum .cap.ativo{animation:abCapIn .5s var(--ab-out) both}
body.kamum .cap.ativo > .cap-head{animation:abHeadIn .5s .04s var(--ab-out) both}
body.kamum .cap.ativo > .cap-rule{transform-origin:0 50%;animation:abRuleIn .7s .16s var(--ab-out) both}
body.kamum .cap.ativo > .cap-meta{animation:abHeadIn .5s .13s var(--ab-out) both}
body.kamum .cap.ativo > .cap-sub{animation:abHeadIn .5s .09s var(--ab-out) both}
body.kamum .cap.ativo > .toc{animation:abHeadIn .5s .2s var(--ab-out) both}
/* saída suave ao trocar de capítulo */
@keyframes abCapOut{to{opacity:0;transform:translate3d(0,-14px,0)}}
body.kamum .cap.saindo{animation:abCapOut .2s var(--ab-in-out) both}

/* --------------------------------------------------------------------------
   3. NAVEGAÇÃO — compacta ao rolar, com vidro fosco
   -------------------------------------------------------------------------- */
nav{transition:padding var(--ab-t-fast) var(--ab-out),
                background-color var(--ab-t-fast) linear,
                box-shadow var(--ab-t-fast) linear,
                backdrop-filter var(--ab-t-fast) linear}
body.ab-scrolled nav{
  box-shadow:0 1px 0 color-mix(in srgb,var(--line) 70%,transparent), 0 8px 24px rgba(20,18,14,.06);
  backdrop-filter:blur(10px) saturate(1.4);
  -webkit-backdrop-filter:blur(10px) saturate(1.4);
  background:color-mix(in srgb,var(--bg) 82%,transparent)}
html[data-theme="dark"] body.ab-scrolled nav{background:color-mix(in srgb,var(--bg) 76%,transparent)}
nav a.tab, .nav-tool, .theme-btn, .exam-btn{transition:transform .16s var(--ab-spring),background .2s,color .2s,border-color .2s,opacity .2s}
nav a.tab:active,.nav-tool:active,.theme-btn:active,.exam-btn:active{transform:scale(.93)}
nav a.tab.on{position:relative}
nav a.tab.on::after{content:"";position:absolute;left:12%;right:12%;bottom:2px;height:2px;border-radius:2px;
  background:currentColor;transform:scaleX(0);transform-origin:50%;animation:abRuleIn .3s var(--ab-out) forwards}

/* --------------------------------------------------------------------------
   4. ESTANTE / HUB / TRILHA — cascata de entrada + toque tátil
   -------------------------------------------------------------------------- */
@keyframes abShelfIn{
  from{opacity:0;transform:translate3d(0,22px,0) scale(.985)}
  to  {opacity:1;transform:none}
}
.est-item,.tr-step{animation:abShelfIn .46s var(--ab-out) backwards}
.est-item{transition:transform .2s var(--ab-out),box-shadow .25s var(--ab-out),border-color .25s,background-color .25s}
.est-item:active,.tr-step:active,.hub-card:active{transform:scale(.977)}
@media (hover:hover){
  .est-item:hover{transform:translate3d(6px,0,0);box-shadow:var(--ab-lift)}
  .tr-step:hover{transform:translate3d(6px,0,0);box-shadow:var(--ab-lift)}
}
.est-go{transition:transform .24s var(--ab-spring),opacity .2s}
.est-item:active .est-go{transform:translate3d(6px,0,0)}
.est-n{transition:transform .24s var(--ab-spring)}
.est-item:active .est-n{transform:scale(1.12)}
.est-item.oculto{display:none}
.est-parte.oculto{display:none}
.est-parte{opacity:0;transform:translate3d(0,10px,0);
  transition:opacity .4s var(--ab-out),transform .4s var(--ab-out)}
.est-parte.on,.est-parte:not(.oculto){opacity:1;transform:none}

/* hub: rolagem horizontal com encaixe e sombras de borda */
.hub-row{scroll-snap-type:x proximity;scroll-padding-left:var(--pad);
  -webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.hub-card{scroll-snap-align:start;
  transition:transform .22s var(--ab-out),box-shadow .28s var(--ab-out),border-color .22s}
@media (hover:hover){.hub-card:hover{transform:translate3d(0,-5px,0);box-shadow:var(--ab-lift-hi)}}
.hub-card.sel{box-shadow:var(--ab-lift-hi)}
.hub-card .hub-ic{transition:transform .3s var(--ab-spring)}
.hub-card.sel .hub-ic,.hub-card:active .hub-ic{transform:scale(1.14) rotate(-6deg)}
.hub-wrap{position:relative}
.hub-wrap::before,.hub-wrap::after{content:"";position:absolute;top:0;bottom:12px;width:34px;z-index:3;
  pointer-events:none;opacity:0;transition:opacity .25s}
.hub-wrap::before{left:0;background:linear-gradient(90deg,var(--bg),transparent)}
.hub-wrap::after{right:0;background:linear-gradient(270deg,var(--bg),transparent)}
.hub-wrap.ab-l::before{opacity:1}
.hub-wrap.ab-r::after{opacity:1}

/* --------------------------------------------------------------------------
   5. CARTÕES E CAIXAS — profundidade real (elevação em camadas)
   -------------------------------------------------------------------------- */
.box,.ficha,.howto,.naodito,.comece,.dgm,.alegoria,.quiz,.widget,.lib-book,.principle{
  transition:transform .26s var(--ab-out),box-shadow .3s var(--ab-out),border-color .26s}
@media (hover:hover){
  .box:hover,.ficha:hover,.howto:hover,.naodito:hover,.dgm:hover,.widget:hover,.principle:hover{
    transform:translate3d(0,-3px,0);box-shadow:var(--ab-lift)}
  .lib-book:hover{transform:translate3d(0,-5px,0) rotate(-.35deg);box-shadow:var(--ab-lift-hi)}
}
.box:active,.ficha:active{transform:translate3d(0,-1px,0)}
/* faixa de cor que "acende" ao revelar */
.box.alert,.box.gold{position:relative;overflow:hidden}
.box.alert::after,.box.gold::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:currentColor;opacity:.5;transform:scaleY(0);transform-origin:50% 0;
  transition:transform .6s var(--ab-out) .1s}
.box.alert.on::after,.box.gold.on::after,.rv.on.box.alert::after,.rv.on.box.gold::after{transform:scaleY(1)}

/* --------------------------------------------------------------------------
   6. DETALHES (accordion) — abertura e fechamento suaves
   -------------------------------------------------------------------------- */
@keyframes abDetailIn{
  from{opacity:0;transform:translate3d(0,-8px,0)}
  to  {opacity:1;transform:none}
}
details[open] > .din,
details[open] > div:not(.din),
details[open] > p,
details[open] > ol,
details[open] > ul{animation:abDetailIn .32s var(--ab-out) both}
details.ab-closing > *:not(summary){animation:abDetailIn .18s var(--ab-in-out) reverse both}
summary{transition:color .2s,background-color .2s}
summary::after{transition:transform .3s var(--ab-spring)}
/* aberto, o "+" gira e vira "×" (rodada 12: o "–" que entrava aqui girava
   junto e virava uma barra inclinada) */
details[open] > summary::after{content:"+";transform:translateY(-50%) rotate(45deg)}
summary:active{transform:none}

/* --------------------------------------------------------------------------
   7. DIAGRAMAS SVG — desenho progressivo (agora TAMBÉM no celular)
   -------------------------------------------------------------------------- */
@keyframes abDraw{from{stroke-dashoffset:var(--abLen,900)}to{stroke-dashoffset:0}}
@keyframes abNode{from{opacity:0;transform:scale(.86)}to{opacity:1;transform:none}}
@keyframes abText{from{opacity:0;transform:translate3d(0,4px,0)}to{opacity:1;transform:none}}
.dgm svg [data-ab-line]{stroke-dasharray:var(--abLen,900);stroke-dashoffset:var(--abLen,900)}
.dgm.on svg [data-ab-line]{animation:abDraw .9s var(--ab-out) var(--abD,0ms) forwards}
.dgm svg [data-ab-node]{opacity:0;transform-box:fill-box;transform-origin:center}
.dgm.on svg [data-ab-node]{animation:abNode .44s var(--ab-spring) var(--abD,0ms) forwards}
.dgm svg [data-ab-text]{opacity:0}
.dgm.on svg [data-ab-text]{animation:abText .4s var(--ab-out) var(--abD,0ms) forwards}
/* figura respira ao entrar */
.dgm figcaption{transition:opacity .4s var(--ab-out) .35s;opacity:.55}
.dgm.on figcaption{opacity:1}

/* --------------------------------------------------------------------------
   8. CAPAS DE PARTE — parallax do numeral romano + vinheta
   -------------------------------------------------------------------------- */
.parte-cover::before{
  transform:translate3d(-50%,calc(-50% + var(--abPx,0px)),0) rotate(var(--abPr,0deg));
  transition:opacity .6s var(--ab-out);will-change:transform}
.parte-cover::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(120% 80% at 50% 0%,transparent 40%,color-mix(in srgb,var(--ink) 4%,transparent) 100%)}
.parte-cover .pc-rom,.parte-cover .pc-t,.parte-cover .pc-d,.parte-cover .pc-l{
  opacity:0;transform:translate3d(0,18px,0);
  transition:opacity .55s var(--ab-out) var(--rvd,0ms),transform .55s var(--ab-out) var(--rvd,0ms)}
.parte-cover.on .pc-rom{--rvd:0ms}
.parte-cover.on .pc-t{--rvd:90ms}
.parte-cover.on .pc-d{--rvd:170ms}
.parte-cover.on .pc-l{--rvd:250ms}
.parte-cover.on .pc-rom,.parte-cover.on .pc-t,.parte-cover.on .pc-d,.parte-cover.on .pc-l{opacity:1;transform:none}

/* --------------------------------------------------------------------------
   9. QUIZ — resposta com resposta física
   -------------------------------------------------------------------------- */
@keyframes abShake{
  0%,100%{transform:translate3d(0,0,0)}
  20%{transform:translate3d(-6px,0,0)}
  40%{transform:translate3d(5px,0,0)}
  60%{transform:translate3d(-3px,0,0)}
  80%{transform:translate3d(2px,0,0)}
}
@keyframes abPop{0%{transform:scale(1)}45%{transform:scale(1.035)}100%{transform:scale(1)}}
.quiz-opt{transition:transform .16s var(--ab-out),background-color .2s,border-color .2s,opacity .2s}
.quiz-opt.correct{animation:abPop .42s var(--ab-spring)}
.quiz-opt.wrong{animation:abShake .42s var(--ab-in-out)}
.quiz-opt .mk{display:inline-block;transition:transform .3s var(--ab-spring)}
.quiz-opt.correct .mk,.quiz-opt.wrong .mk{transform:scale(1.25)}
.quiz-opt:disabled:not(.correct):not(.wrong){opacity:.5}
.quiz-fb{transform-origin:50% 0}
.quiz-fb.show{animation:abDetailIn .3s var(--ab-out) both}
.quiz-score.show{animation:abPop .5s var(--ab-spring), abDetailIn .4s var(--ab-out) both}
.quiz-prog{height:3px;border-radius:99px;background:color-mix(in srgb,var(--ink) 10%,transparent);
  margin:.2rem 0 .9rem;overflow:hidden}
.quiz-prog i{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:0 50%;border-radius:99px;
  background:linear-gradient(90deg,var(--c1),var(--c3));transition:transform .5s var(--ab-out)}

/* --------------------------------------------------------------------------
   10. FLASHCARD — 3D de verdade
   -------------------------------------------------------------------------- */
.fc{perspective:1200px}
.fc-inner{transition:transform .62s var(--ab-out);will-change:transform}
.fc:active .fc-inner{transform:scale(.985)}
.fc.flipped:active .fc-inner{transform:rotateY(180deg) scale(.985)}
.fc-face{backface-visibility:hidden;-webkit-backface-visibility:hidden}

/* --------------------------------------------------------------------------
   11. PAINÉIS FLUTUANTES — mola em vez de corte seco
   -------------------------------------------------------------------------- */
@keyframes abPanelIn{
  from{opacity:0;transform:translate3d(0,18px,0) scale(.97)}
  to  {opacity:1;transform:none}
}
.pomo.show,#tools.show,#notes.show{animation:abPanelIn .34s var(--ab-spring) both}
.toast{transition:opacity .28s var(--ab-out),transform .38s var(--ab-spring),visibility .3s}
.toast.show{transform:translateX(-50%) translateY(0) scale(1)}
.toast:not(.show){transform:translateX(-50%) translateY(22px) scale(.94)}
.reader{transition:opacity .28s var(--ab-out)}
.reader.show{animation:none;opacity:1}
.reader.show .reader-box{animation:abPanelIn .4s var(--ab-spring) both}
.reader-page{transition:opacity .22s var(--ab-out),transform .22s var(--ab-out)}
.reader-page.ab-turn{opacity:0;transform:translate3d(14px,0,0)}
.reader-page.ab-turn-back{opacity:0;transform:translate3d(-14px,0,0)}
#capNav{transition:transform .32s var(--ab-spring),opacity .25s}
body.ab-navdown #capNav{transform:translateX(-50%) translateY(120%);opacity:0}
#capNav button{transition:transform .16s var(--ab-spring),background .2s,opacity .2s}
#capNav button:active:not(:disabled){transform:scale(.93)}
#capBar{transition:transform .3s var(--ab-out),opacity .25s}
.totop{transition:opacity .3s var(--ab-out),transform .34s var(--ab-spring),visibility .3s}
.totop.show{transform:translateY(0) scale(1)}
.totop:not(.show){transform:translateY(14px) scale(.9)}

/* barra do capítulo: ferramentas essenciais continuam ao alcance ao ler */
/* o título do capítulo ficava por baixo da barra fixa — agora respira */
body.kamum.lendo .cap.ativo{padding-top:calc(var(--abCbH,52px) + 1.5rem)}
html{scroll-padding-top:calc(var(--abCbH,52px) + 1.5rem)}
section.cap h3[id]{scroll-margin-top:calc(var(--abCbH,52px) + 1.2rem)}
#capBar{flex-wrap:nowrap}
#capBar .cb-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.cb-tools{margin-left:auto;display:flex;gap:.22rem;flex:none;align-items:center}
.cb-tools button{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;
  border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:.9rem;line-height:1;cursor:pointer;
  transition:transform .16s var(--ab-spring),background .2s,border-color .2s}
.cb-tools button:active{transform:scale(.88)}
.cb-tools button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
@media (max-width:400px){.cb-tools button{width:29px;height:29px;font-size:.82rem}#capBar .cb-t{font-size:.72rem}}
body.lendo.ab-buscando .search-wrap{position:fixed;left:0;right:0;top:var(--abCbH,46px);z-index:74;margin:0;
  max-width:none;padding:.5rem var(--pad) .55rem;background:color-mix(in srgb,var(--bg) 96%,transparent);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);box-shadow:0 8px 22px rgba(20,18,14,.08);
  animation:abDetailIn .26s var(--ab-out) both}
body.lendo:not(.ab-buscando) .search-wrap{display:none}
body.lendo.ab-buscando .search-info{position:fixed;left:0;right:0;top:calc(var(--abCbH,46px) + 52px);z-index:73;
  margin:0;padding:.2rem var(--pad);text-align:center}

/* --------------------------------------------------------------------------
   12. PROGRESSO — anel e números com vida
   -------------------------------------------------------------------------- */
.prog-ring .ring-fg{transition:stroke-dashoffset .9s var(--ab-out)}
.prog-ring{transition:transform .3s var(--ab-spring)}
.prog-ring.ab-bump{transform:scale(1.16)}
.streak.ab-bump{animation:abPop .5s var(--ab-spring)}
.cap-done .chk{transition:transform .3s var(--ab-spring),background-color .22s,border-color .22s}
.cap-done[aria-pressed="true"] .chk{transform:scale(1.1) rotate(-6deg)}
.cap-done{transition:transform .16s var(--ab-spring),background-color .22s,border-color .22s,color .22s}
.cap-done:active{transform:scale(.94)}

/* confete leve — só transform/opacity, 14 partículas, some sozinho */
.ab-confete{position:fixed;inset:0;z-index:80;pointer-events:none;overflow:hidden}
.ab-confete i{position:absolute;top:-12px;width:8px;height:12px;border-radius:2px;opacity:0;
  animation:abFall var(--abT,2.2s) var(--ab-in-out) var(--abD,0ms) forwards}
@keyframes abFall{
  0%{opacity:0;transform:translate3d(0,0,0) rotate(0deg)}
  10%{opacity:1}
  100%{opacity:0;transform:translate3d(var(--abX,0px),102vh,0) rotate(var(--abR,540deg))}
}

/* --------------------------------------------------------------------------
   13. DESTAQUES DE TEXTO — traço que se pinta ao entrar em cena
   -------------------------------------------------------------------------- */
/* O traço era um ::before absoluto, e num destaque que quebra de linha ele
   cobria só um pedaço: "como um estrategista" ficava com o amarelo atrás
   de "ategista" e o resto em tinta escura sobre o fundo escuro, invisível
   no tema escuro (achado pelo dono, 07/10/2026). Agora é FUNDO, que com
   box-decoration-break:clone se pinta linha a linha; e a tinta só escurece
   quando o amarelo está atrás dela. */
.hl{background:linear-gradient(var(--hi),var(--hi)) no-repeat 0 0/0% 100%;color:inherit;
  padding:0 .06em;border-radius:.12em;box-decoration-break:clone;-webkit-box-decoration-break:clone;
  transition:background-size .7s var(--ab-out) var(--rvd,.15s),color .25s var(--rvd,.15s)}
.hl.on,.on .hl,h1 .hl{background-size:100% 100%;color:#1A1013}
mark.hit{background:var(--hi);color:#1A1013;border-radius:3px;padding:0 .12em;
  animation:abPop .35s var(--ab-spring)}

/* --------------------------------------------------------------------------
   14. TABELAS E LISTAS — entrada escalonada
   -------------------------------------------------------------------------- */
.tw.on table tbody tr{animation:abDetailIn .34s var(--ab-out) both}
.tw.on table tbody tr:nth-child(1){animation-delay:.02s}
.tw.on table tbody tr:nth-child(2){animation-delay:.05s}
.tw.on table tbody tr:nth-child(3){animation-delay:.08s}
.tw.on table tbody tr:nth-child(4){animation-delay:.11s}
.tw.on table tbody tr:nth-child(5){animation-delay:.14s}
.tw.on table tbody tr:nth-child(n+6){animation-delay:.17s}
.chklist li{transition:transform .18s var(--ab-out),background-color .22s,border-color .22s,opacity .22s}
.chklist li:active{transform:scale(.985)}
.chklist li .ck{transition:transform .3s var(--ab-spring),background-color .2s,border-color .2s}
.chklist li.done .ck{transform:scale(1.12) rotate(-8deg)}
.chklist li.done{opacity:.68}

/* --------------------------------------------------------------------------
   15. WIDGETS NOVOS (Colossus Brain III)
   -------------------------------------------------------------------------- */
.ab-w{margin:1.5rem 0;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);padding:1.15rem 1.2rem;box-shadow:var(--ab-lift);position:relative;overflow:hidden}
.ab-w::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,var(--abC,var(--c1)),color-mix(in srgb,var(--abC,var(--c1)) 25%,transparent))}
.ab-w-t{font-family:var(--fm);font-size:.66rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  color:var(--abC,var(--c1));display:block;margin-bottom:.5rem}
.ab-w-s{font-size:.9rem;color:var(--ink-2);line-height:1.6;margin:0 0 .9rem}
.ab-btn{font-family:var(--fm);font-size:.76rem;font-weight:600;padding:.5rem .95rem;border-radius:999px;
  border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;
  transition:transform .15s var(--ab-spring),background .2s,border-color .2s,color .2s}
.ab-btn:active{transform:scale(.94)}
.ab-btn.pri{background:var(--abC,var(--c1));border-color:var(--abC,var(--c1));color:var(--sobre-forte,#FFFFFF)}
.ab-btn:disabled{opacity:.4;cursor:default}
.ab-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.7rem}
.ab-note{font-family:var(--fm);font-size:.72rem;color:var(--ink-soft);line-height:1.6;margin-top:.6rem;min-height:1.2em}

/* curva do esquecimento */
.ab-curve{width:100%;height:auto;display:block;margin:.4rem 0 .2rem;overflow:visible}
.ab-curve .cv-line{fill:none;stroke-width:2.5;stroke-linecap:round;
  transition:d .7s var(--ab-out),opacity .4s}
.ab-curve .cv-area{transition:opacity .5s var(--ab-out)}
.ab-curve .cv-mark{transition:transform .5s var(--ab-spring),opacity .4s}
.ab-curve text{font-family:var(--fm);font-size:9px;fill:var(--ink-soft)}
.ab-slider{width:100%;accent-color:var(--abC,var(--c1));margin:.5rem 0 0}

/* treinador de memorização */
.ab-drill-stage{min-height:104px;display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;justify-content:center;
  background:color-mix(in srgb,var(--ink) 3%,var(--card));border:1px dashed var(--line);
  border-radius:12px;padding:.9rem;margin:.3rem 0 .2rem;text-align:center}
.ab-chip{font-family:var(--fm);font-size:.88rem;font-weight:600;padding:.36rem .7rem;border-radius:8px;
  background:var(--card);border:1px solid var(--line);color:var(--ink);
  animation:abNodeChip .34s var(--ab-spring) backwards}
@keyframes abNodeChip{from{opacity:0;transform:scale(.8) translate3d(0,8px,0)}to{opacity:1;transform:none}}
.ab-chip.ok{border-color:var(--c3);color:var(--c3);background:color-mix(in srgb,var(--c3) 10%,transparent)}
.ab-chip.miss{border-color:var(--c4);color:var(--c4);background:color-mix(in srgb,var(--c4) 10%,transparent);text-decoration:line-through}
.ab-big{font-family:var(--fm);font-weight:800;font-size:2.2rem;letter-spacing:.06em;color:var(--ink);
  font-variant-numeric:tabular-nums}
.ab-timer{height:4px;border-radius:99px;background:color-mix(in srgb,var(--ink) 10%,transparent);overflow:hidden;margin:.5rem 0 0}
.ab-timer i{display:block;height:100%;width:100%;transform-origin:0 50%;border-radius:99px;
  background:linear-gradient(90deg,var(--abC,var(--c1)),var(--c4))}
.ab-input{width:100%;font-family:var(--fm);font-size:.95rem;color:var(--ink);background:var(--card);
  border:1.5px solid var(--line);border-radius:10px;padding:.6rem .8rem;transition:border-color .2s,box-shadow .2s}
.ab-input:focus{outline:none;border-color:var(--abC,var(--c1));
  box-shadow:0 0 0 3px color-mix(in srgb,var(--abC,var(--c1)) 16%,transparent)}

/* tabela Major 00-99 */
.ab-major{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:.4rem;margin-top:.7rem}
.ab-major b{display:flex;flex-direction:column;gap:.05rem;background:var(--card);border:1px solid var(--line);
  border-radius:9px;padding:.42rem .55rem;font-weight:400;
  animation:abNodeChip .3s var(--ab-out) backwards}
.ab-major b i{font-family:var(--fm);font-size:.66rem;font-style:normal;font-weight:700;color:var(--abC,var(--c2));letter-spacing:.06em}
.ab-major b span{font-family:var(--fd);font-size:.9rem;font-weight:700;color:var(--ink);line-height:1.2}
.ab-major b em{font-family:var(--fm);font-size:.6rem;font-style:normal;color:var(--ink-soft)}

/* --------------------------------------------------------------------------
   16. TEXTURA E PROFUNDIDADE DE FUNDO
   -------------------------------------------------------------------------- */
#grain{opacity:.022}
html[data-theme="dark"] #grain{opacity:.038}
body::after{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:radial-gradient(90% 60% at 50% -10%, color-mix(in srgb,var(--c1) 5%,transparent), transparent 70%)}
.cap{position:relative}
.cap-import,.cap{contain:layout style}

/* --------------------------------------------------------------------------
   17. FOCO E ACESSIBILIDADE
   -------------------------------------------------------------------------- */
:focus-visible{outline:2.5px solid var(--c1);outline-offset:3px;border-radius:8px;
  transition:outline-offset .15s var(--ab-out)}

/* --------------------------------------------------------------------------
   18. RESPEITO A "REDUZIR MOVIMENTO" E IMPRESSÃO
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  .rv,.reveal{opacity:1!important;transform:none!important}
  .dgm svg [data-ab-line]{stroke-dashoffset:0!important}
  .dgm svg [data-ab-node],.dgm svg [data-ab-text]{opacity:1!important}
  .parte-cover .pc-rom,.parte-cover .pc-t,.parte-cover .pc-d,.parte-cover .pc-l{opacity:1!important;transform:none!important}
  .hl{background-size:100% 100%!important;color:#1A1013!important}
  .ab-confete{display:none}
}
@media print{
  .rv,.reveal{opacity:1!important;transform:none!important}
  .dgm svg [data-ab-line]{stroke-dashoffset:0!important}
  .dgm svg [data-ab-node],.dgm svg [data-ab-text]{opacity:1!important}
  .parte-cover .pc-rom,.parte-cover .pc-t,.parte-cover .pc-d,.parte-cover .pc-l{opacity:1!important;transform:none!important}
  .ab-w,.ab-confete,#capNav,#capBar,.totop{display:none!important}
}
/* modo prova e busca nunca escondem conteúdo por animação */
body.exam-mode .rv,body.search-on .rv,#examContent .rv{opacity:1!important;transform:none!important}
body.search-on .dgm svg [data-ab-node],body.search-on .dgm svg [data-ab-text]{opacity:1!important}
body.search-on .dgm svg [data-ab-line]{stroke-dashoffset:0!important}


/* ==========================================================================
   COLOSSUS BRAIN II — camada de publicação
   Marca · CTAs · slots de anúncio · consentimento · afiliados · rodapé
   Aditiva: nenhuma regra anterior foi removida.
   ========================================================================== */
html{overflow-x:clip}
:root{
  --cb-gold:#7A5810; --cb-deep:#0B0F17; --cb-ink:var(--ink);
  --cb-glow:0 0 0 1px color-mix(in srgb,var(--c1) 22%,transparent), 0 10px 40px color-mix(in srgb,var(--c1) 14%,transparent);
  --cb-pad:clamp(1rem,4vw,2rem);
}

/* ---------- acessibilidade: pular para o conteúdo ---------- */
.cb-skip{position:fixed;left:50%;top:-100px;transform:translateX(-50%);z-index:200;
  background:var(--ink);color:var(--bg);font-family:var(--fm);font-size:.82rem;font-weight:600;
  padding:.7rem 1.2rem;border-radius:0 0 12px 12px;text-decoration:none;
  transition:top .25s var(--ab-out)}
.cb-skip:focus{top:0;outline:2px solid var(--c1);outline-offset:2px}

/* ---------- identidade ---------- */
.brand .mark{background:linear-gradient(145deg,var(--c1),var(--c2) 55%,var(--c7));color:var(--sobre-forte,#FFFFFF);
  box-shadow:0 2px 8px color-mix(in srgb,var(--c2) 40%,transparent);transform:rotate(-3deg);
  transition:transform .35s var(--ab-spring),box-shadow .35s}
.brand:hover .mark{transform:rotate(3deg) scale(1.06)}
.brand .x1{background:linear-gradient(90deg,var(--cb-gold),var(--c5));-webkit-background-clip:text;
  background-clip:text;color:transparent;font-weight:900;letter-spacing:.02em}

#heroMini .hm-t{letter-spacing:-.03em}
#heroMini .hm-t em{font-style:normal;background:linear-gradient(90deg,var(--cb-gold),var(--c5) 60%,var(--c4));
  -webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- CTAs ---------- */
.cb-cta{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:1.3rem 0 .4rem}
.cb-btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--fd);font-weight:800;
  font-size:.95rem;line-height:1;padding:.85rem 1.4rem;border-radius:999px;border:1.5px solid transparent;
  cursor:pointer;text-decoration:none;position:relative;overflow:hidden;
  transition:transform .18s var(--ab-spring),box-shadow .28s var(--ab-out),filter .2s,background .2s,color .2s}
.cb-btn-pri{background:linear-gradient(135deg,var(--c1),var(--c2));color:var(--sobre-forte,#FFFFFF);
  box-shadow:0 2px 6px color-mix(in srgb,var(--c1) 28%,transparent),0 12px 34px color-mix(in srgb,var(--c2) 22%,transparent)}
.cb-btn-pri:hover{filter:brightness(1.07);transform:translateY(-2px)}
.cb-btn-sec{background:var(--card);color:var(--ink);border-color:var(--line)}
.cb-btn-sec:hover{border-color:var(--c1);color:var(--c1);transform:translateY(-2px)}
.cb-btn:active{transform:scale(.96)}
.cb-btn::after{content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;
  background:radial-gradient(120% 120% at 50% 0%,rgba(255,255,255,.35),transparent 60%);transition:opacity .3s}
.cb-btn-pri:hover::after{opacity:1}
.cb-cta-nota{font-family:var(--fm);font-size:.7rem;color:var(--ink-soft);flex-basis:100%;margin-top:.1rem}

/* CTA de fim de capítulo */
.cb-fim{margin:3rem 0 1rem;padding:1.5rem var(--cb-pad);border-radius:var(--radius);
  border:1px solid var(--line);position:relative;overflow:hidden;
  background:linear-gradient(140deg,color-mix(in srgb,var(--c1) 7%,var(--card)),var(--card) 60%)}
.cb-fim::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(90% 130% at 100% 0%,color-mix(in srgb,var(--c2) 12%,transparent),transparent 60%)}
.cb-fim > *{position:relative}
.cb-fim-t{display:block;font-family:var(--fm);font-size:.64rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--c1);margin-bottom:.5rem}
.cb-fim h4{font-family:var(--fd);font-weight:800;font-size:clamp(1.05rem,3.6vw,1.3rem);
  line-height:1.25;margin:0 0 .45rem;letter-spacing:-.015em}
.cb-fim p{font-size:.93rem;color:var(--ink-2);line-height:1.6;margin:0}
.cb-prox{display:flex;align-items:center;gap:.7rem;margin-top:1rem;padding:.75rem .95rem;
  border-radius:12px;border:1px solid var(--line);background:var(--card);text-decoration:none;color:inherit;
  transition:transform .2s var(--ab-out),box-shadow .25s,border-color .25s}
.cb-prox:hover{transform:translateX(5px);border-color:var(--c1);box-shadow:var(--ab-lift)}
.cb-prox .p-l{font-family:var(--fm);font-size:.6rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-soft);display:block}
.cb-prox .p-t{font-family:var(--fd);font-weight:800;font-size:.97rem;color:var(--ink);line-height:1.25;display:block}
.cb-prox .p-a{margin-left:auto;font-size:1.3rem;color:var(--c1);flex:none;transition:transform .25s var(--ab-spring)}
.cb-prox:hover .p-a{transform:translateX(4px)}
                                   /* só aparece quando configurado + consentido */









/* ---------- afiliados ---------- */
.cb-af{margin:1.8rem 0;border:1px solid var(--line);border-left:5px solid var(--cb-gold);
  border-radius:var(--radius);background:var(--card);box-shadow:var(--ab-lift);overflow:hidden}
.cb-af-h{display:flex;align-items:center;gap:.55rem;padding:.6rem 1rem;
  background:color-mix(in srgb,var(--cb-gold) 10%,transparent);
  border-bottom:1px solid color-mix(in srgb,var(--cb-gold) 22%,var(--line))}
.cb-af-h b{font-family:var(--fm);font-size:.62rem;font-weight:700;letter-spacing:.11em;
  text-transform:uppercase;color:var(--c5)}
.cb-af-h span{font-family:var(--fm);font-size:.6rem;color:var(--ink-soft);margin-left:auto}
.cb-af-body{padding:1rem 1.1rem}
.cb-af-body h4{font-family:var(--fd);font-weight:800;font-size:1.02rem;margin:0 0 .3rem;letter-spacing:-.01em}
.cb-af-body p{font-size:.92rem;color:var(--ink-2);line-height:1.6;margin:0 0 .8rem}
.cb-af-link{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--fd);font-weight:800;
  font-size:.9rem;padding:.6rem 1.1rem;border-radius:999px;text-decoration:none;color:#1c1b19;
  background:linear-gradient(135deg,var(--cb-gold),var(--c5));
  box-shadow:0 2px 10px color-mix(in srgb,var(--cb-gold) 35%,transparent);
  transition:transform .18s var(--ab-spring),filter .2s}
.cb-af-link:hover{filter:brightness(1.06);transform:translateY(-2px)}
.cb-af-link:active{transform:scale(.96)}
.cb-af-nota{font-family:var(--fm);font-size:.66rem;color:var(--ink-soft);line-height:1.55;margin:.7rem 0 0}
.cb-af-nota a{color:var(--ink-soft);text-decoration:underline}

/* aviso global de divulgação */
.cb-disc{max-width:var(--maxw);margin:0 auto 1.2rem;padding:.6rem var(--pad);
  font-family:var(--fm);font-size:.68rem;line-height:1.6;color:var(--ink-soft);text-align:center}
.cb-disc a{color:var(--c1)}










/* ---------- rodapé institucional ---------- */
.cb-foot{margin-top:3rem;border-top:1px solid var(--line);
  background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--ink) 3%,transparent))}
.cb-foot-in{max-width:var(--maxw);margin:0 auto;padding:2.6rem var(--pad) 1.4rem;
  display:grid;gap:2rem;grid-template-columns:1.4fr 1fr 1fr}
@media (max-width:720px){.cb-foot-in{grid-template-columns:1fr;gap:1.6rem}}
.cb-foot-marca{display:flex;align-items:center;gap:.6rem;margin-bottom:.7rem}
.cb-foot-marca i{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-style:normal;
  font-family:var(--fd);font-weight:900;font-size:1rem;color:var(--sobre-forte,#FFFFFF);
  background:linear-gradient(145deg,var(--c1),var(--c2) 55%,var(--c7));
  box-shadow:0 2px 10px color-mix(in srgb,var(--c2) 35%,transparent)}
.cb-foot-marca b{font-family:var(--fd);font-weight:900;font-size:1.06rem;letter-spacing:-.02em}
.cb-foot-marca b em{font-style:normal;background:linear-gradient(90deg,var(--cb-gold),var(--c5));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.cb-foot p{font-size:.88rem;line-height:1.65;color:var(--ink-2);margin:0 0 .6rem;max-width:44ch}
.cb-foot h5{font-family:var(--fm);font-size:.62rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-soft);margin:0 0 .6rem}
.cb-foot ul{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}
.cb-foot ul a{font-size:.9rem;color:var(--ink-2);text-decoration:none;
  transition:color .2s,transform .2s var(--ab-out);display:inline-block}
.cb-foot ul a:hover{color:var(--c1);transform:translateX(3px)}
.cb-foot-base{max-width:var(--maxw);margin:0 auto;padding:1rem var(--pad) 2.4rem;
  border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent);
  display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;justify-content:space-between}
.cb-foot-base small{font-family:var(--fm);font-size:.68rem;color:var(--ink-soft);line-height:1.6}
.cb-foot-base .cb-mini{display:flex;gap:.45rem;flex-wrap:wrap}
.cb-mini button{font-family:var(--fm);font-size:.66rem;padding:.32rem .7rem;border-radius:999px;
  border:1px solid var(--line);background:var(--card);color:var(--ink-soft);cursor:pointer;
  transition:border-color .2s,color .2s,transform .16s var(--ab-spring)}
.cb-mini button:hover{border-color:var(--c1);color:var(--c1)}
.cb-mini button:active{transform:scale(.94)}
body.lendo .cb-foot{display:none}

/* ---------- refinamentos visuais gerais ---------- */
.cap-num{background:linear-gradient(135deg,var(--pc,var(--c1)),color-mix(in srgb,var(--pc,var(--c1)) 62%,var(--c2)));
  color:var(--sobre-forte,#FFFFFF);text-shadow:0 1px 2px rgba(0,0,0,.28)}
.parte-cover .pc-t{background:linear-gradient(92deg,var(--ink),color-mix(in srgb,var(--ink) 62%,var(--c1)));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.cap-rule{background:linear-gradient(90deg,var(--pc,var(--c1)),color-mix(in srgb,var(--pc,var(--c1)) 20%,transparent))}
blockquote,.quote{position:relative}
.quote::before{content:"\201C";position:absolute;left:-.1em;top:-.35em;font-family:var(--fd);font-weight:900;
  font-size:3.4rem;line-height:1;color:var(--hi);opacity:.5;pointer-events:none}

/* barra de leitura mais viva */
#bar{height:3px;background:linear-gradient(90deg,var(--c1),var(--c2) 35%,var(--c7) 65%,var(--c5))}

/* selo de "atualizado em" */
.cb-atual{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--fm);font-size:.63rem;
  font-weight:600;letter-spacing:.05em;color:var(--ink-soft);background:var(--card);
  border:1px solid var(--line);border-radius:999px;padding:.3rem .7rem}
.cb-atual i{width:6px;height:6px;border-radius:50%;background:var(--c3);flex:none;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--c3) 22%,transparent)}

/* aviso de versão desktop */
.cb-desk{max-width:var(--maxw);margin:1.4rem auto;padding:0 var(--pad)}
.cb-desk-in{display:flex;gap:.9rem;align-items:center;padding:.9rem 1.1rem;border-radius:14px;
  border:1px solid var(--line);background:linear-gradient(120deg,color-mix(in srgb,var(--c2) 8%,var(--card)),var(--card));
  text-decoration:none;color:inherit;transition:transform .22s var(--ab-out),box-shadow .28s,border-color .22s}
.cb-desk-in:hover{transform:translateY(-3px);box-shadow:var(--ab-lift-hi);border-color:var(--c2)}
.cb-desk-ic{font-size:1.5rem;flex:none}
.cb-desk-t{font-family:var(--fd);font-weight:800;font-size:.98rem;display:block;line-height:1.25}
.cb-desk-s{font-family:var(--fm);font-size:.7rem;color:var(--ink-soft);display:block;margin-top:.15rem;line-height:1.5}
.cb-desk-a{margin-left:auto;color:var(--c2);font-size:1.2rem;flex:none}
/* o convite agora é para ATIVAR o layout editorial — só faz sentido em tela larga */
.cb-desk{display:none}
@media (min-width:1000px){body:not(.cbd) .cb-desk{display:block}}
.cb-desk-in{width:100%;text-align:left;font:inherit;cursor:pointer}


/* ==========================================================================
   COLOSSUS BRAIN II — páginas institucionais embutidas (rotas por hash)
   ========================================================================== */
.cb-docs{position:fixed;inset:0;z-index:150;display:none;background:var(--bg);
  overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
body.cb-doc-on .cb-docs{display:block}
body.cb-doc-on{overflow:hidden}
/* --pad nunca existiu no manual (só nas páginas do site, de onde esta regra
   veio): sem valor, a declaração inteira caía e o painel ficava sem margem
   nenhuma, com o texto encostado na borda do celular (07/10/2026) */
.cb-doc{display:none;max-width:760px;margin:0 auto;padding:1.4rem var(--pad,1.2rem) 4rem}
.cb-doc.on{display:block;animation:abDetailIn .38s var(--ab-out) both}
/* rede de segurança sem JavaScript: :target sozinho já abre o documento */
.cb-docs:has(.cb-doc:target){display:block}
.cb-doc:target{display:block}
.cb-docs:has(.cb-doc:target) .cb-doc[data-doc="__topo"]{display:block}
.cb-doc-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:.7rem;
  margin:0 -1px 1.6rem;padding:.75rem 0;
  background:color-mix(in srgb,var(--bg) 92%,transparent);
  backdrop-filter:blur(10px) saturate(1.4);-webkit-backdrop-filter:blur(10px) saturate(1.4);
  border-bottom:1px solid var(--line)}
.cb-doc-top .m{display:flex;align-items:center;gap:.5rem;font-family:var(--fd);font-weight:900;
  font-size:.98rem;letter-spacing:-.02em}
.cb-doc-top .m i{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-style:normal;
  font-size:.9rem;color:var(--sobre-forte,#FFFFFF);background:linear-gradient(145deg,var(--c1),var(--c2) 55%,var(--c7))}
.cb-doc-top .m em{font-style:normal;background:linear-gradient(90deg,var(--cb-gold),var(--c5));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.cb-doc-x{margin-left:auto;font-family:var(--fm);font-size:.72rem;font-weight:600;
  border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;
  padding:.45rem .9rem;cursor:pointer;
  transition:border-color .2s,color .2s,transform .16s var(--ab-spring)}
.cb-doc-x:hover{border-color:var(--c1);color:var(--c1)}
.cb-doc-x:active{transform:scale(.94)}
.cb-doc-nav{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1.6rem}
.cb-doc-nav a{font-family:var(--fm);font-size:.7rem;text-decoration:none;color:var(--ink-2);
  border:1px solid var(--line);background:var(--card);border-radius:999px;padding:.33rem .75rem;
  transition:all .18s var(--ab-out)}
.cb-doc-nav a:hover{border-color:var(--c1);color:var(--c1);transform:translateY(-1px)}
.cb-doc-nav a.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.cb-doc h1,.cb-doc .cb-doc-t{font-family:var(--fd);font-weight:900;font-size:clamp(1.8rem,6vw,2.5rem);line-height:1.12;
  letter-spacing:-.03em;margin-bottom:.5rem}.cb-doc .cb-doc-t{margin-top:1.1rem}
.cb-doc .sub{color:var(--ink-2);font-size:1.05rem;line-height:1.65;margin-bottom:.9rem}
.cb-doc .data{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--fm);font-size:.64rem;
  color:var(--ink-soft);border:1px solid var(--line);border-radius:999px;padding:.3rem .7rem;
  background:var(--card);margin-bottom:2rem}
.cb-doc .data i{width:6px;height:6px;border-radius:50%;background:var(--c3);flex:none}
.cb-doc h2{font-family:var(--fd);font-weight:800;font-size:clamp(1.15rem,4.4vw,1.5rem);letter-spacing:-.02em;
  margin:2.3rem 0 .6rem;line-height:1.25}
.cb-doc h3{font-family:var(--fd);font-weight:800;font-size:1.02rem;margin:1.5rem 0 .4rem}
.cb-doc p{margin-bottom:1rem;color:var(--ink-2);line-height:1.75}
.cb-doc p strong,.cb-doc li strong{color:var(--ink)}
.cb-doc ul,.cb-doc ol{margin:0 0 1.1rem 1.3rem;color:var(--ink-2)}
.cb-doc li{margin-bottom:.45rem;line-height:1.7}
.cb-doc .card{background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:1.05rem 1.2rem;margin:1.3rem 0;box-shadow:var(--ab-lift)}
.cb-doc .card.gold{border-left:4px solid var(--cb-gold);background:color-mix(in srgb,var(--cb-gold) 6%,var(--card))}
.cb-doc .card.blue{border-left:4px solid var(--c1);background:color-mix(in srgb,var(--c1) 5%,var(--card))}
.cb-doc .card .t{display:block;font-family:var(--fm);font-size:.61rem;font-weight:700;letter-spacing:.11em;
  text-transform:uppercase;color:var(--c1);margin-bottom:.5rem}
.cb-doc .card.gold .t{color:var(--c5)}
.cb-doc .card p:last-child{margin-bottom:0}
.cb-doc table{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.92rem}
.cb-doc th{font-family:var(--fm);font-size:.64rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  text-align:left;background:var(--ink);color:var(--bg);padding:.6rem .75rem}
.cb-doc td{padding:.6rem .75rem;border-bottom:1px solid var(--line);color:var(--ink-2);vertical-align:top}
.cb-doc tr:nth-child(even) td{background:color-mix(in srgb,var(--ink) 3%,transparent)}
/* As tabelas dos capítulos têm largura mínima (440px, 360px em tela
   pequena) porque moram numa moldura .tw que rola para o lado. As dos
   painéis não têm moldura, e no celular quem rolava para o lado era o
   painel inteiro (07/10/2026). Aqui elas cabem: palavra inteira e, abaixo
   de 560px, a de três colunas vira um cartão por linha, como na página. */
.cb-doc table{min-width:0}
.cb-doc td,.cb-doc th{word-break:normal;overflow-wrap:break-word;hyphens:auto}
@media (max-width:560px){
  .cb-doc table.empilha,.cb-doc table.empilha tbody,.cb-doc table.empilha tr,
  .cb-doc table.empilha td{display:block;width:auto}
  .cb-doc table.empilha tr:first-child{display:none}
  .cb-doc table.empilha tr{border-bottom:1px solid var(--line);padding:.5rem 0}
  .cb-doc table.empilha td{border:0;padding:.22rem .75rem}
  .cb-doc table.empilha td:first-child{color:var(--ink);font-weight:600}
  .cb-doc table.empilha td[data-r]::before{content:attr(data-r);display:block;margin-bottom:.1rem;
    font-family:var(--fm);font-size:.62rem;font-weight:600;letter-spacing:.08em;
    text-transform:uppercase;color:var(--ink-soft)}
}
.cb-doc code{font-family:var(--fm);font-size:.88em;background:color-mix(in srgb,var(--ink) 6%,transparent);
  padding:.1em .35em;border-radius:5px}
@media print{.cb-docs{position:static;display:block!important}.cb-doc{display:block!important}
  .cb-doc-top,.cb-doc-nav{display:none}}

/* ==========================================================================
   COLOSSUS BRAIN II — seletor de layout e avisos
   ========================================================================== */
.cb-lay{display:block;margin:1rem 0 .2rem}
.cb-lay-t{display:block;font-family:var(--fm);font-size:.58rem;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink-soft);margin-bottom:.4rem}
.cb-lay-g{display:grid;grid-template-columns:1fr 1fr;gap:.3rem}
.cb-lay-g button{font-family:var(--fm);font-size:.72rem;font-weight:600;padding:.5rem .4rem;
  border-radius:10px;border:1.5px solid var(--line);background:var(--card);color:var(--ink-2);
  cursor:pointer;white-space:nowrap;
  transition:border-color .2s,color .2s,background .2s,transform .16s var(--ab-spring)}
.cb-lay-g button:hover:not(:disabled){border-color:var(--c1);color:var(--c1)}
.cb-lay-g button:active:not(:disabled){transform:scale(.95)}
.cb-lay-g button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.cb-lay-g button:disabled{opacity:.38;cursor:not-allowed}
.cb-lay-s{display:block;font-family:var(--fm);font-size:.63rem;line-height:1.55;color:var(--ink-soft);
  margin-top:.4rem}
.cb-foot-base .cb-lay{flex-basis:100%;max-width:280px;margin:0 0 .6rem}

/* convite de layout */
.cb-lay-toast{position:fixed;right:1.2rem;bottom:1.2rem;z-index:110;max-width:400px;
  display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;
  padding:.9rem 1rem;border-radius:16px;border:1px solid var(--line);
  background:color-mix(in srgb,var(--card) 97%,transparent);
  backdrop-filter:blur(10px) saturate(1.4);-webkit-backdrop-filter:blur(10px) saturate(1.4);
  box-shadow:var(--ab-lift-hi);
  transform:translateY(140%) scale(.96);opacity:0;visibility:hidden;
  transition:transform .5s var(--ab-spring),opacity .4s,visibility .5s}
.cb-lay-toast.on{transform:none;opacity:1;visibility:visible}
.cb-lay-toast .ic{font-size:1.5rem;flex:none}
.cb-lay-toast .tx{flex:1 1 200px;font-size:.86rem;line-height:1.5;color:var(--ink-2)}
.cb-lay-toast .tx b{color:var(--ink)}
.cb-lay-toast .cb-btn{font-size:.8rem;padding:.5rem .9rem}
.cb-lay-toast .x{width:26px;height:26px;border-radius:50%;border:1px solid var(--line);
  background:var(--card);color:var(--ink-soft);cursor:pointer;font-size:.72rem;line-height:1;
  transition:border-color .2s,color .2s}
.cb-lay-toast .x:hover{border-color:var(--c4);color:var(--c4)}
body.cbd .cb-lay-toast{right:calc(var(--d-right,268px) + 1.2rem)}
@media (max-width:640px){.cb-lay-toast{display:none}}
@media print{.cb-lay-toast,.cb-lay{display:none}}

/* ==========================================================================
   COLOSSUS BRAIN II — EDIÇÃO DESKTOP
   Layout editorial de três colunas. Só carrega acima de 1100px.
   ========================================================================== */
:root{
  --d-left:308px; --d-right:268px; --d-gap:2.2rem;
  --d-measure:74ch;
}

/* o layout editorial é escolhido pelo leitor (ver .cb-lay); abaixo do piso
   o seletor desabilita a opção, então não existe estado quebrado a cobrir */
@media (max-width:999px){ body.cbd{padding-left:0;padding-right:0} .d-rail{display:none} }

/* ---------- estrutura ---------- */
@media (min-width:1000px){
  body.cbd{padding-left:var(--d-left);padding-right:var(--d-right);
    font-size:clamp(1.08rem,.72vw + .95rem,1.22rem)}
  body.cbd{--maxw:820px;--rdr:74ch}
  body.cbd nav{display:none !important}
  body.cbd #capBar{left:var(--d-left);right:var(--d-right)}
  /* o trilho esquerdo já navega: a barra flutuante vira ruído no desktop */
  body.cbd #capNav{display:none !important}
  /* as ferramentas moram no trilho; na barra do capítulo elas duplicavam */
  body.cbd #capBar .cb-tools{display:none}
  body.cbd #capBar{padding-right:1.2rem}
  body.cbd #capBar .cb-t{font-size:.92rem}

  body.cbd .totop{right:calc(var(--d-right) + 1.4rem)}
  body.cbd #voltarCap{right:calc(var(--d-right) + 1.4rem)}

  /* trilhos */
  .d-rail{position:fixed;top:0;bottom:0;z-index:60;overflow-y:auto;overscroll-behavior:contain;
    background:color-mix(in srgb,var(--bg) 97%,var(--ink));border-color:var(--line);
    scrollbar-width:thin}
  .d-rail::-webkit-scrollbar{width:7px}
  .d-rail::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ink) 14%,transparent);border-radius:99px}
  .d-l{left:0;width:var(--d-left);border-right:1px solid var(--line);padding:1.5rem 1.15rem 3rem;
    contain:layout paint style}
  .d-r{right:0;width:var(--d-right);border-left:1px solid var(--line);padding:1.5rem 1.05rem 3rem;
    contain:layout paint style}

  /* tipografia editorial */
  body.cbd .cap > p{max-width:var(--d-measure)}
  body.cbd .cap-head h2{font-size:clamp(2.3rem,3.1vw,3.4rem);line-height:1.06;letter-spacing:-.035em}
  body.cbd .cap h3{font-size:clamp(1.45rem,1.7vw,1.95rem);letter-spacing:-.022em;margin-top:3.4rem}
  body.cbd .cap-sub{font-size:1.2rem;line-height:1.65;max-width:64ch}
  body.cbd .cap p{line-height:1.82}
  /* capitular no primeiro parágrafo de corpo do capítulo */
  body.cbd .cap.ativo p.d-drop::first-letter{
    float:left;font-family:var(--fd);font-weight:900;font-size:3.9em;line-height:.82;
    padding:.06em .12em 0 0;margin-top:.04em;
    background:linear-gradient(150deg,var(--pc,var(--c1)),var(--c2));
    -webkit-background-clip:text;background-clip:text;color:transparent}

  /* capas de parte em tela cheia */
  body.cbd .parte-cover{min-height:74vh;display:flex;flex-direction:column;align-items:center;
    justify-content:center;margin:5rem auto;max-width:none;padding:4rem 2rem}
  body.cbd .parte-cover::before{font-size:min(34vw,420px);opacity:.05}
  body.cbd .parte-cover .pc-t{font-size:clamp(2.6rem,4.6vw,4.4rem);line-height:1.02}
  body.cbd .parte-cover .pc-d{font-size:1.18rem;max-width:52ch}

  /* cartões respiram mais */
  body.cbd .box,body.cbd .ficha,body.cbd .howto,body.cbd .naodito,body.cbd .comece,
  body.cbd .dgm,body.cbd .alegoria,body.cbd .quiz,body.cbd .ab-w{padding:1.5rem 1.7rem}
  body.cbd .dgm svg{max-height:none}
  body.cbd .grid{gap:1.2rem}
  /* o hub era um carrossel de dedo; no desktop vira grade */
  body.cbd .hub-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));
    gap:.9rem;overflow:visible;scroll-snap-type:none}
  body.cbd .hub-wrap::before,body.cbd .hub-wrap::after{display:none}
  body.cbd .hub-card{min-height:0;padding:1.1rem}
  /* a estante ganha duas colunas quando sobra largura */
  @media (min-width:1440px){
    body.cbd #estante > div:last-child{display:grid;grid-template-columns:1fr 1fr;
      gap:0 1rem;align-items:start}
    body.cbd .est-parte{grid-column:1/-1}
  }
  body.cbd .cb-fim{padding:2rem 2.2rem}
}

/* ---------- trilho esquerdo ---------- */
.d-brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:inherit}
/* a marca e o "blog" ao lado dela, também no computador (09/10/2026): texto
   na fonte da marca, separado por um traço, como na barra do celular */
/* a coluna tem 270px e a marca ocupa 222: o "blog" cabe em 45, medido */
.d-marca{display:flex;align-items:center;gap:0;margin-bottom:1.1rem}
.d-brand-blog{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;min-width:44px;
  padding:0 .1rem 0 .2rem;flex:none;
  font-family:var(--fd);font-weight:900;font-size:.95rem;letter-spacing:-.025em;
  color:var(--c2);text-decoration:none;white-space:nowrap}
.d-brand-blog::before{content:"";width:1.5px;height:1.05em;background:var(--line);border-radius:2px}
.d-brand-blog:hover{color:var(--c1)}
.d-brand i{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;font-style:normal;
  font-family:var(--fd);font-weight:900;font-size:1.1rem;color:var(--sobre-forte,#FFFFFF);flex:none;
  background:linear-gradient(145deg,var(--c1),var(--c2) 55%,var(--c7));
  box-shadow:0 3px 14px color-mix(in srgb,var(--c2) 40%,transparent);
  transform:rotate(-3deg);transition:transform .4s var(--ab-spring)}
.d-brand:hover i{transform:rotate(4deg) scale(1.08)}
.d-brand b{font-family:var(--fd);font-weight:900;font-size:1.06rem;letter-spacing:-.025em;line-height:1.1}
.d-brand b em{font-style:normal;background:linear-gradient(90deg,var(--cb-gold),var(--c5));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.d-brand span{display:block;font-family:var(--fm);font-size:.56rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-soft);margin-top:.1rem}

.d-tools{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem;margin-bottom:1rem}
.d-tools button{width:100%;height:34px;display:grid;place-items:center;border-radius:10px;
  border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:.9rem;cursor:pointer;
  transition:transform .16s var(--ab-spring),border-color .2s,background .2s}
.d-tools button:hover{border-color:var(--c1);transform:translateY(-2px)}
.d-tools button:active{transform:scale(.9)}

.d-search{position:relative;margin-bottom:1.1rem}
.d-search input{width:100%;font-family:var(--fm);font-size:.82rem;color:var(--ink);background:var(--card);
  border:1.5px solid var(--line);border-radius:11px;padding:.55rem .7rem .55rem 2rem;
  transition:border-color .2s,box-shadow .2s}
.d-search input:focus{outline:none;border-color:var(--c1);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--c1) 15%,transparent)}
.d-search::before{content:"🔍";position:absolute;left:.6rem;top:50%;transform:translateY(-50%);
  font-size:.78rem;opacity:.6;pointer-events:none}

.d-prog{display:flex;align-items:center;gap:.6rem;padding:.7rem .85rem;border-radius:12px;
  border:1px solid var(--line);background:var(--card);margin-bottom:1.3rem}
.d-prog svg{width:38px;height:38px;transform:rotate(-90deg);flex:none}
.d-prog .rb{fill:none;stroke:color-mix(in srgb,var(--ink) 11%,transparent);stroke-width:3.4}
.d-prog .rf{fill:none;stroke:var(--c3);stroke-width:3.4;stroke-linecap:round;
  transition:stroke-dashoffset .9s var(--ab-out)}
.d-prog b{font-family:var(--fd);font-weight:900;font-size:1.02rem;display:block;line-height:1.1}
.d-prog span{font-family:var(--fm);font-size:.6rem;color:var(--ink-soft);display:block;letter-spacing:.05em}

.d-h{font-family:var(--fm);font-size:.58rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-soft);margin:1.5rem 0 .5rem;padding-left:.2rem}
.d-h:first-of-type{margin-top:0}
.d-parte{font-family:var(--fm);font-size:.55rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--c1);margin:1.15rem 0 .35rem;padding:.25rem .45rem;border-radius:6px;
  background:color-mix(in srgb,var(--c1) 9%,transparent);display:inline-block}
.d-cap{display:flex;align-items:baseline;gap:.5rem;width:100%;text-align:left;padding:.4rem .5rem;
  border-radius:9px;border:1px solid transparent;background:none;color:var(--ink-2);cursor:pointer;
  font-family:var(--fb);font-size:.85rem;line-height:1.35;
  transition:background .18s,color .18s,transform .18s var(--ab-out),border-color .18s}
.d-cap:hover{background:color-mix(in srgb,var(--c1) 7%,transparent);color:var(--ink);transform:translateX(3px)}
.d-cap .n{font-family:var(--fm);font-size:.63rem;font-weight:700;color:var(--ink-soft);flex:none;min-width:1.5rem}
.d-cap.on{background:color-mix(in srgb,var(--c1) 13%,transparent);color:var(--c1);font-weight:600;
  border-color:color-mix(in srgb,var(--c1) 30%,transparent)}
.d-cap.on .n{color:var(--c1)}
.d-cap.feito .n::after{content:"✓";color:var(--c3);margin-left:.15rem;font-weight:900}
.d-cap.feito{opacity:.62}
.d-cap.oculto{display:none}

/* ---------- trilho direito ---------- */
.d-r-t{font-family:var(--fm);font-size:.58rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-soft);margin-bottom:.7rem}
.d-mini{display:grid;gap:.1rem;margin-bottom:1.6rem;position:relative;padding-left:.8rem}
.d-mini::before{content:"";position:absolute;left:0;top:.35rem;bottom:.35rem;width:2px;border-radius:2px;
  background:color-mix(in srgb,var(--ink) 10%,transparent)}
.d-mini i{position:absolute;left:0;width:2px;border-radius:2px;background:var(--c1);
  transition:top .3s var(--ab-out),height .3s var(--ab-out)}
.d-mini a{font-size:.78rem;line-height:1.4;color:var(--ink-soft);text-decoration:none;padding:.24rem 0;
  transition:color .2s,transform .2s var(--ab-out);display:block}
.d-mini a:hover{color:var(--ink);transform:translateX(2px)}
.d-mini a.on{color:var(--c1);font-weight:600}
.d-empty{font-family:var(--fm);font-size:.7rem;color:var(--ink-soft);line-height:1.6;
  padding:.8rem;border:1px dashed var(--line);border-radius:10px}

.d-acts{display:grid;gap:.4rem;margin-bottom:1.5rem}
.d-acts button{font-family:var(--fm);font-size:.72rem;font-weight:600;text-align:left;
  padding:.5rem .7rem;border-radius:9px;border:1px solid var(--line);background:var(--card);
  color:var(--ink-2);cursor:pointer;display:flex;align-items:center;gap:.45rem;
  transition:border-color .2s,color .2s,transform .16s var(--ab-out)}
.d-acts button:hover{border-color:var(--c1);color:var(--c1);transform:translateX(3px)}

.d-quote{font-family:var(--fb);font-style:italic;font-size:.86rem;line-height:1.65;color:var(--ink-soft);
  border-left:2px solid var(--hi);padding-left:.8rem;margin-top:1.6rem}

/* ---------- animações exclusivas do desktop ---------- */
@media (min-width:1000px){
  @keyframes dIn{from{opacity:0;transform:translate3d(0,26px,0)}to{opacity:1;transform:none}}
  body.cbd .d-rail{animation:dFade .7s var(--ab-out) both}
  @keyframes dFade{from{opacity:0}to{opacity:1}}
  body.cbd .d-cap{animation:dIn .4s var(--ab-out) backwards}
  body.cbd .cap.ativo{animation:dIn .55s var(--ab-out) both}
  /* brilho que segue o cursor nos cartões */
  body.cbd .box,body.cbd .ficha,body.cbd .howto,body.cbd .ab-w,body.cbd .quiz{position:relative}
  body.cbd .box::after,body.cbd .ficha::after,body.cbd .howto::after,
  body.cbd .ab-w::after,body.cbd .quiz::after{
    content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;
    background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%),
      color-mix(in srgb,var(--c1) 13%,transparent),transparent 62%);
    transition:opacity .35s}
  body.cbd .box:hover::after,body.cbd .ficha:hover::after,body.cbd .howto:hover::after,
  body.cbd .ab-w:hover::after,body.cbd .quiz:hover::after{opacity:1}
  /* linha do tempo lateral do capítulo
     usa scaleY (composição pura) — animar `height` num elemento fixo
     custava layout + paint de tela cheia a cada quadro de rolagem */
  .d-lido{position:fixed;left:calc(var(--d-left) - 1px);top:0;width:2px;height:100vh;z-index:61;
    background:linear-gradient(180deg,var(--c1),var(--c7));
    transform:scaleY(var(--d-lido,0));transform-origin:0 0;will-change:transform;
    pointer-events:none;display:none}
  body.cbd.lendo .d-lido{display:block}
}
@media (prefers-reduced-motion:reduce){
  .d-small .ic{animation:none}
  body.cbd .d-cap,body.cbd .cap.ativo,body.cbd .d-rail{animation:none !important}
}


/* endereço de e-mail: clicável, copiável e sempre dentro da tela */
.cb-email{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:.2rem 0 .8rem}
.cb-email a{font-family:var(--fm);font-weight:600;font-size:clamp(.92rem,4vw,1.22rem);
  color:var(--ink);text-decoration:none;overflow-wrap:anywhere;
  border-bottom:2px solid color-mix(in srgb,var(--c1) 40%,transparent);transition:all .22s}
.cb-email a:hover{color:var(--c1);border-bottom-color:var(--c1)}
.cb-copiar{flex:none;font-family:var(--fm);font-size:.64rem;letter-spacing:.08em;
  text-transform:uppercase;border:1px solid var(--line);background:var(--card);
  color:var(--ink-soft);border-radius:999px;padding:.3rem .68rem;cursor:pointer;
  transition:all .22s}
.cb-copiar:hover{border-color:var(--c1);color:var(--c1)}
.cb-copiar:active{transform:scale(.94)}
.cb-copiar.feito{border-color:var(--c3);color:var(--c3)}


/* A cerca do conteúdo pago. O texto acima dela desaparece num degradê em vez
   de parar seco: parar seco parece erro de página, degradê parece continuação
   — que é exatamente o que é. */
.cb5-cerca{position:relative;margin:0 0 2.6rem}
.cb5-fade{position:absolute;left:0;right:0;top:-7.5rem;height:7.5rem;
  pointer-events:none;
  background:linear-gradient(to bottom,transparent,var(--bg) 88%)}
.cb5-caixa{position:relative;border:1px solid var(--line);border-radius:18px;
  padding:1.9rem 1.7rem 1.6rem;
  background:
    radial-gradient(120% 100% at 100% 0%,var(--c2-bg),transparent 62%),
    linear-gradient(165deg,var(--c1-bg),var(--card) 58%);
  box-shadow:0 14px 40px -22px rgba(0,0,0,.55)}
.cb5-selo{display:inline-block;font-family:var(--fm);font-size:.66rem;
  letter-spacing:.13em;text-transform:uppercase;color:var(--c2);
  border:1px solid var(--line);border-radius:999px;padding:.34rem .8rem;
  background:var(--card)}
.cb5-tit{margin:.9rem 0 .5rem!important;font-size:1.32rem;line-height:1.24;
  color:var(--ink)!important;border:0!important;padding:0!important;
  display:block!important}
/* o manual põe os filhos de <h3> em bloco (é assim que a tarja de numeração
   fica em cima do título); aqui o <b> é parte da frase e precisa voltar a ser
   inline, senão "Faltam / 2 seções / deste capítulo" sai em três linhas */
.cb5-tit b{color:var(--c2);display:inline!important;font-size:inherit!important;
  margin:0!important;padding:0!important;letter-spacing:inherit!important;
  text-transform:none!important;font-family:inherit!important}
.cb5-txt{margin:0 0 1rem;color:var(--ink-2);font-size:.97rem;line-height:1.62}
.cb5-txt b{color:var(--ink)}
.cb5-lista{list-style:none;margin:0 0 1.3rem;padding:0;display:grid;gap:.34rem}
.cb5-lista li{font-family:var(--fm);font-size:.79rem;color:var(--ink-soft);
  padding-left:1.35rem;position:relative;line-height:1.45}
.cb5-lista li::before{content:"🔒";position:absolute;left:0;top:0;font-size:.72rem;
  opacity:.75}
.cb5-lista li.cb5-mais::before{content:"⋯"}
.cb5-botoes{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
/* vermelho é a cor de ação em todo o site: aqui é o único vermelho da página,
   e é por isso que ele puxa o olho */
.cb5-cta{display:inline-block;background:var(--c4);color:var(--sobre-forte,#FFFFFF)!important;
  font-weight:700;font-size:.95rem;border-radius:12px;padding:.82rem 1.3rem;
  text-decoration:none!important;border:1px solid transparent;
  box-shadow:0 10px 26px -12px var(--c4);transition:transform .16s,box-shadow .16s}
.cb5-cta:hover{transform:translateY(-2px);box-shadow:0 16px 32px -12px var(--c4)}
.cb5-alt{display:inline-block;color:var(--ink-2)!important;font-size:.9rem;
  border:1px solid var(--line);border-radius:12px;padding:.8rem 1.1rem;
  text-decoration:none!important;background:var(--card)}
.cb5-alt:hover{border-color:var(--c1);color:var(--c1)!important}
.cb5-garantia{margin:1.05rem 0 0;font-size:.79rem;color:var(--ink-soft);
  line-height:1.55}
/* Quem já paga não pode topar com uma parede de venda: sem esta linha, o
   assinante que abre um capítulo pelo Google vê só "assine" e acha que perdeu
   o acesso. */
.cb5-jaassina{margin:.85rem 0 0;font-size:.82rem;color:var(--ink-2)}
.cb5-jaassina a{color:var(--c1);font-weight:600}
.toc-trancado{opacity:.72}
.toc-trancado:hover{opacity:1;color:var(--c2)!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
  white-space:nowrap}
@media (max-width:520px){
  .cb5-caixa{padding:1.5rem 1.15rem 1.3rem}
  .cb5-tit{font-size:1.16rem}
  .cb5-cta,.cb5-alt{width:100%;text-align:center}
}
@media (prefers-reduced-motion:reduce){.cb5-cta{transition:none}}


/* verde, e não vermelho: em todo o site verde é confirmação, e aqui a
   mensagem é "está tudo certo com você", não "compre" */
.cb7-caixa{border:1px solid var(--c3);border-radius:18px;padding:1.6rem 1.5rem;
  background:var(--c3-bg)}
.cb7-selo{display:inline-block;font-family:var(--fm);font-size:.66rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--c3);
  border:1px solid var(--c3);border-radius:999px;padding:.3rem .8rem;
  background:var(--card)}
.cb7-tit{margin:.9rem 0 .5rem!important;font-size:1.2rem;line-height:1.25;
  color:var(--ink)!important;border:0!important;padding:0!important;
  display:block!important}
.cb7-txt{margin:0 0 1.1rem;color:var(--ink-2);font-size:.95rem;line-height:1.6}
.cb7-cta{display:inline-block;background:var(--c3);color:var(--sobre-forte,#FFFFFF)!important;
  font-weight:700;font-size:.95rem;border-radius:12px;padding:.8rem 1.3rem;
  text-decoration:none!important;
  box-shadow:0 10px 26px -13px var(--c3);transition:transform .16s}
.cb7-cta:hover{transform:translateY(-2px)}
.cb7-nav{color:var(--c3)!important;font-weight:600}
.cb7-olho{display:block;margin:.9rem 0 0;background:none;border:0;padding:0;
  color:var(--ink-soft);font-family:inherit;font-size:.82rem;cursor:pointer;
  text-decoration:underline;text-underline-offset:3px}
.cb7-olho:hover{color:var(--c2)}
.cb7-barra{position:fixed;left:0;right:0;bottom:0;z-index:130;
  display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;justify-content:center;
  padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0px));
  background:var(--c2);color:var(--sobre-forte,#FFFFFF);font-size:.85rem;line-height:1.4;
  box-shadow:0 -8px 24px -14px rgba(0,0,0,.7)}
.cb7-barra button{background:var(--sobre-forte,#FFFFFF);color:var(--c2);border:0;border-radius:9px;
  padding:.45rem .9rem;font-size:.82rem;font-weight:700;font-family:inherit;
  cursor:pointer}
.cb7-barra button:hover{opacity:.88}
@media (max-width:520px){.cb7-barra{font-size:.78rem}}
@media (prefers-reduced-motion:reduce){.cb7-cta{transition:none}}


.cb8-guia{display:grid;grid-template-columns:76px 1fr;gap:.9rem 1rem;margin:2.4rem 0 1rem;padding:1.1rem;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--ink)}
.cb8-guia-capa{width:76px;height:114px;border-radius:6px;box-shadow:0 6px 18px -8px rgba(0,0,0,.45)}
.cb8-guia-k{margin:0 0 .25rem;font:650 .88rem/1.3 var(--fd);color:var(--c1)}
.cb8-guia-t{margin:0 0 .45rem;font:750 1.12rem/1.3 var(--fd);color:var(--ink)}
.cb8-guia-s{margin:0;font:400 .95rem/1.55 var(--fb);color:var(--ink-2)}
.cb8-guia-ops{grid-column:1/-1;display:grid;gap:.7rem}
.cb8-guia-op{display:grid;gap:.4rem;padding:.8rem 0 0;border-top:1px solid var(--line)}
.cb8-guia-op p{margin:0;font:500 .92rem/1.5 var(--fd);color:var(--ink-2)}
.cb8-guia-op b{color:var(--ink)}
.cb8-guia-b{display:inline-flex;align-items:center;justify-content:center;justify-self:start;min-height:44px;padding:0 1.1rem;border-radius:999px;border:1px solid var(--c1);background:var(--c1);color:var(--sobre-forte,#fff)!important;text-decoration:none!important;font:700 .95rem/1.2 var(--fd)}
.cb8-guia-b.cb8-guia-2{background:transparent;color:var(--ink)!important;border-color:var(--hi,#E9B949)}
.cb8-guia-b.cb8-guia-2.cb8-guia-tem{background:var(--hi,#E9B949);border-color:var(--hi,#E9B949);color:#1A1405!important}
.cb8-guia-x{justify-self:start;display:inline-flex;align-items:center;min-height:44px;font:600 .9rem/1.2 var(--fd);color:var(--c1)}
.cb8-guia-x[hidden]{display:none}
.cb8-guia-n{grid-column:1/-1;margin:0;font:500 .88rem/1.5 var(--fd);color:var(--ink-2)}
.cb8-guia-n:empty{display:none}
@media print{.cb8-guia{display:none}}


  /* A MARCA SEM CHAPA.
     A primeira versão usava o `icon.svg`, que traz um quadrado quase-branco
     por baixo da arte — ele existe para o favicon e para o ícone de
     aplicativo, onde fundo é obrigatório. Dentro da página, aquele quadrado
     virava um adesivo branco colado por cima do texto, e no tema escuro
     gritava. Aqui entra a arte SOLTA, sem fundo, trocando de cor com o tema:
     tinta navy no claro, branca no escuro. */
  /* `.d-brand i` é o selo da coluna da esquerda, no manual em três colunas,
     e `.cb-doc-top .m i` o das páginas institucionais abertas por cima do
     manual. Os dois nascem por JavaScript com a letra "C" dentro, e ficaram
     de fora desta lista: no computador, o dono via o "C" e não a logo. */
  .marca i,.brand .mark,.cb-sinal,.d-brand i,.cb-doc-top .m i{
    background:center/contain no-repeat url("/assets/logo-mark.png?v=0d60dd38");
    color:transparent;border:0;box-shadow:none;border-radius:0}
  .d-brand i,.cb-doc-top .m i{transform:none}
  .d-brand:hover i{transform:rotate(3deg) scale(1.06)}
  /* 26–27px lia como bolinha, não como marca. O `min-width`/`min-height` passa
     por cima das seis regras de tamanho espalhadas pelas larguras de tela sem
     precisar reescrever nenhuma delas. */
  .marca i,.brand .mark{min-width:34px;min-height:34px;flex:0 0 auto}
  /* No layout de desktop a barra da marca estava com largura ZERO — o selo
     existia, media 26px, e o pai colapsado o deixava invisível. */
  .brand{min-width:max-content}
  .marca:hover i{transform:rotate(3deg) scale(1.07)}
  .brand .mark{transform:none}
  .brand:hover .mark{transform:rotate(3deg) scale(1.06)}

  .cb-marca-topo{display:flex;align-items:center;gap:.7rem;margin:2.2rem 0 .4rem;
    padding-top:1.6rem;border-top:1px solid rgba(128,128,128,.22);opacity:.92;
    text-decoration:none}
  .cb-marca-topo .cb-sinal{width:40px;height:40px;flex:0 0 auto}
  /* a assinatura é imagem de fundo, não <img>, para trocar de cor junto com o
     sinal na mesma regra de tema — com <img> seriam dois arquivos no HTML e
     um deles sempre escondido */
  .cb-marca-topo .cb-nome{width:190px;height:32px;flex:0 0 auto;
    background:left center/contain no-repeat url("/assets/logo-wordmark.png?v=0d60dd38")}

  /* DOIS NOMES PARA O MESMO TEMA. As páginas avulsas marcam o tema com
     data-tema="escuro"/"claro"; o manual, com data-theme="dark"/"light".
     Estas regras só conheciam o primeiro, então no manual a logo seguia o
     tema do APARELHO e não o do botão 🌙: com o celular no claro e o manual
     no escuro, saía a tinta azul-escura sobre o fundo escuro. */
  @media (prefers-color-scheme:dark){
    :root:not([data-tema="claro"]):not([data-theme="light"]) .marca i,
    :root:not([data-tema="claro"]):not([data-theme="light"]) .brand .mark,
    :root:not([data-tema="claro"]):not([data-theme="light"]) .d-brand i,
    :root:not([data-tema="claro"]):not([data-theme="light"]) .cb-doc-top .m i,
    :root:not([data-tema="claro"]):not([data-theme="light"]) .cb-sinal{
      background-image:url("/assets/logo-mark-light.png?v=0d60dd38")}
    :root:not([data-tema="claro"]):not([data-theme="light"]) .cb-marca-topo .cb-nome{
      background-image:url("/assets/logo-wordmark-light.png?v=0d60dd38")}
  }
  :root[data-tema="escuro"] .marca i,:root[data-theme="dark"] .marca i,
  :root[data-tema="escuro"] .brand .mark,:root[data-theme="dark"] .brand .mark,
  :root[data-tema="escuro"] .d-brand i,:root[data-theme="dark"] .d-brand i,
  :root[data-tema="escuro"] .cb-doc-top .m i,:root[data-theme="dark"] .cb-doc-top .m i,
  :root[data-tema="escuro"] .cb-sinal,:root[data-theme="dark"] .cb-sinal{
    background-image:url("/assets/logo-mark-light.png?v=0d60dd38")}
  :root[data-tema="escuro"] .cb-marca-topo .cb-nome,
  :root[data-theme="dark"] .cb-marca-topo .cb-nome{
    background-image:url("/assets/logo-wordmark-light.png?v=0d60dd38")}
  :root[data-tema="claro"] .marca i,:root[data-theme="light"] .marca i,
  :root[data-tema="claro"] .brand .mark,:root[data-theme="light"] .brand .mark,
  :root[data-tema="claro"] .d-brand i,:root[data-theme="light"] .d-brand i,
  :root[data-tema="claro"] .cb-doc-top .m i,:root[data-theme="light"] .cb-doc-top .m i,
  :root[data-tema="claro"] .cb-sinal,:root[data-theme="light"] .cb-sinal{
    background-image:url("/assets/logo-mark.png?v=0d60dd38")}
  :root[data-tema="claro"] .cb-marca-topo .cb-nome,
  :root[data-theme="light"] .cb-marca-topo .cb-nome{
    background-image:url("/assets/logo-wordmark.png?v=0d60dd38")}

  @media (max-width:520px){
    .cb-marca-topo .cb-sinal{width:34px;height:34px}
    .cb-marca-topo .cb-nome{width:160px;height:27px}
  }


/* ---------- colunas que o leitor escolhe ---------- */
body.cbd.d-sem-e{--d-left:0px}
body.cbd.d-sem-d{--d-right:0px}
body.cbd.d-sem-e .d-l,body.cbd.d-sem-d .d-r,body.cbd.d-sem-e .d-lido{display:none!important}
/* sem o índice, a barra de cima volta: é nela que moram marca e ferramentas */
body.cbd.d-sem-e:not(.lendo) nav{display:block!important}
body.cbd.d-sem-e #capBar .cb-tools{display:flex}
/* sem o painel, voltam os botões de anterior e próximo que flutuam embaixo */
body.cbd.d-sem-d.kamum.lendo #capNav{display:flex!important;left:calc(50% + var(--d-left) / 2)}
/* uma busca só: com o índice na tela, a dele; sem o índice, a do meio */
body.cbd:not(.d-sem-e) .search-wrap{display:none}

.cb-col{display:block;margin:.2rem 0}
.cb-col-t{display:block;font-family:var(--fm);font-size:.58rem;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink-soft);margin-bottom:.4rem}
.cb-col-g{display:grid;grid-template-columns:1fr 1.7fr 1fr;gap:.3rem}
.cb-col .cb-col-g > *{height:auto;width:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;
  min-height:48px;padding:.35rem .2rem;border-radius:10px;border:1px solid var(--line);
  background:var(--card);color:var(--ink-2);font-family:var(--fm);font-size:.62rem;font-weight:600}
.cb-col .cb-col-g i{display:block;width:70%;height:14px;border-radius:4px;background:var(--c1);opacity:.85}
.cb-col .cb-col-g .cb-col-m i{background:var(--ink);opacity:.55}
.cb-col .cb-col-g button{cursor:pointer;transition:border-color .2s,transform .15s}
.cb-col .cb-col-g button:hover:not(:disabled){border-color:var(--c1);color:var(--c1)}
.cb-col .cb-col-g button:active:not(:disabled){transform:scale(.95)}
.cb-col .cb-col-g button[aria-pressed="false"] i{background:none;border:1.5px dashed var(--ink-soft);opacity:.7}
.cb-col .cb-col-g button:disabled{opacity:.45;cursor:not-allowed}
.cb-col-s{display:block;font-family:var(--fm);font-size:.62rem;line-height:1.55;color:var(--ink-soft);margin-top:.4rem}
.cb-foot-base .cb-col{flex-basis:100%;max-width:300px;margin:0 0 .8rem}
.d-r .cb-col{margin-top:1.4rem}

/* a primeira visita em tela larga: a escolha, sem aviso nenhum na frente */
.cb-col-card{position:fixed;right:1.2rem;bottom:1.2rem;z-index:110;width:min(340px,calc(100vw - 2.4rem));
  background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1rem 1rem .9rem;
  box-shadow:0 18px 50px rgba(15,23,42,.18);transform:translateY(16px);opacity:0;visibility:hidden;
  transition:transform .35s var(--ab-out,ease),opacity .35s,visibility .35s}
.cb-col-card.on{transform:none;opacity:1;visibility:visible}
.cb-col-card p{margin:0 2.4rem .7rem 0;font-size:.86rem;line-height:1.5;color:var(--ink-2)}
.cb-col-card .x{position:absolute;top:.35rem;right:.35rem;width:44px;height:44px;border-radius:50%;
  border:1px solid var(--line);background:var(--card);color:var(--ink-soft);cursor:pointer;font-size:.8rem}
.cb-col-card .x:hover{border-color:var(--c1);color:var(--c1)}
/* sobre a coluna do painel, e não sobre o texto: no meio, cobria o "Comece
   por aqui" e o sumário do capítulo aberto (7.9) */
body.cbd:not(.d-sem-d) .cb-col-card{right:1rem;width:calc(var(--d-right,268px) - 2rem)}
@media print{.cb-col,.cb-col-card{display:none!important}}

/* ---------- ferramentas do índice: três com nome, o resto em "Mais" ---------- */
.d-tools{grid-template-columns:repeat(4,1fr)!important;position:relative;gap:.35rem!important}
.d-tools > button,.d-mais > summary{width:100%;height:auto!important;min-height:48px;display:flex!important;
  flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.3rem .1rem;
  border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;
  list-style:none;font-size:.9rem;transition:border-color .2s,transform .16s}
.d-mais{margin:0!important;border:0!important;background:none!important;box-shadow:none!important;
  overflow:visible!important;border-radius:0!important}
.d-mais > summary::-webkit-details-marker{display:none}
/* o "⊕" dos blocos que abrem e fecham é desenho do texto, não do menu */
.d-mais > summary::before,.d-mais > summary::after{content:none!important;display:none!important}
.d-mais > summary{position:static;padding-left:.1rem!important}
.d-tools > button:hover,.d-mais > summary:hover{border-color:var(--c1);transform:translateY(-1px)}
.d-tools .ic{line-height:1}
.d-tools .nm{font-family:var(--fm);font-size:.58rem;font-weight:600;letter-spacing:.02em;color:var(--ink-2)}
.d-mais[open] > summary{border-color:var(--c1);color:var(--c1)}
.d-mais-in{position:absolute;left:0;right:0;top:calc(100% + .35rem);z-index:6;display:grid;gap:.3rem;
  padding:.5rem;border-radius:12px;border:1px solid var(--line);background:var(--card);
  box-shadow:0 14px 40px rgba(15,23,42,.16)}
.d-mais-in > button{display:flex;align-items:center;gap:.55rem;min-height:44px;padding:.4rem .6rem;
  border-radius:9px;border:1px solid transparent;background:none;color:var(--ink);cursor:pointer;
  font-family:var(--fb);font-size:.86rem;text-align:left}
.d-mais-in > button:hover{background:color-mix(in srgb,var(--c1) 8%,transparent);border-color:var(--line);transform:none}
.d-mais-in > button .nm{font-family:var(--fb);font-size:.86rem;color:var(--ink)}
.d-mais-in .cb-col{margin:.4rem .2rem .2rem;padding-top:.6rem;border-top:1px solid var(--line)}

/* a busca do índice mostra o atalho, e só onde há teclado */
.d-search .d-kbd{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);pointer-events:none;
  font-family:var(--fm);font-size:.58rem;color:var(--ink-soft);border:1px solid var(--line);
  border-radius:5px;padding:.1rem .3rem;background:var(--bg)}
.d-search input{padding-right:3.6rem!important}
@media (hover:none){.d-search .d-kbd{display:none}.d-search input{padding-right:.7rem!important}}

/* ---------- o painel da direita: ações compactas, com nome ---------- */
.d-acts{display:grid;gap:.4rem}
.d-acts-nav{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}
.d-acts-nav button{justify-content:center;text-align:center;min-height:44px}
.d-acts-ic{display:grid;grid-template-columns:repeat(5,1fr);gap:.3rem}
.d-acts .d-acts-ic button{flex-direction:column;justify-content:center;gap:.15rem;min-height:48px;
  padding:.3rem .1rem;text-align:center}
.d-acts .d-acts-ic button:hover{transform:translateY(-1px)}
.d-acts-ic .ic{font-size:.95rem;line-height:1}
.d-acts-ic .nm{font-size:.56rem;font-weight:600;letter-spacing:.02em}
.d-r.d-sem-cap .d-so-cap{display:none!important}
.d-r:not(.d-sem-cap) .d-casa{display:none}

/* sem capítulo aberto: "de onde você parou" e o progresso */
.d-casa{display:grid;gap:.9rem}
.d-casa .d-r-t{margin-bottom:.1rem}
.d-cont{display:grid;gap:.25rem;width:100%;text-align:left;padding:.85rem .9rem;border-radius:12px;
  border:1px solid color-mix(in srgb,var(--c1) 35%,var(--line));
  background:color-mix(in srgb,var(--c1) 7%,var(--card));color:var(--ink);cursor:pointer;
  font-family:var(--fb);transition:border-color .2s,transform .16s}
.d-cont:hover{border-color:var(--c1);transform:translateY(-1px)}
.d-cont b{font-family:var(--fd);font-weight:800;font-size:.9rem;line-height:1.3}
.d-cont span{font-size:.78rem;line-height:1.45;color:var(--ink-2)}
.d-cont em{font-style:normal;font-family:var(--fm);font-size:.66rem;font-weight:700;color:var(--c1);margin-top:.2rem}
.d-barra{height:6px;border-radius:99px;background:color-mix(in srgb,var(--ink) 10%,transparent);overflow:hidden}
.d-barra i{display:block;height:100%;width:100%;border-radius:inherit;background:var(--c3);
  transform-origin:left center;transform:scaleX(var(--p,0));transition:transform .6s}
.d-casa .d-nota{font-family:var(--fm);font-size:.66rem;line-height:1.55;color:var(--ink-soft);margin:0}

/* ---------- onde estou: Parte › seção, na barra do capítulo ---------- */
#capBar .cb-tt{display:flex;flex-direction:column;min-width:0;flex:1 1 auto;line-height:1.15}
#capBar .cb-tt .cb-t{min-width:0}
#capBar .cb-cam{display:flex;gap:.3rem;min-width:0;font-family:var(--fm);font-size:.6rem;
  color:var(--ink-soft);white-space:nowrap;overflow:hidden;margin-top:.12rem}
#capBar .cb-cam:empty{display:none}
#capBar .cb-cam b{font-weight:700;color:var(--c1);flex:none}
#capBar .cb-cam .sep{flex:none;opacity:.6}
#capBar .cb-cam .sec{overflow:hidden;text-overflow:ellipsis;min-width:0}
#capBar .cb-cam .pn{flex:none}
#capBar .cb-cam .falta{flex:none;margin-left:.35rem;opacity:.8;font-variant-numeric:tabular-nums}
#capBar .cb-cam .falta::before{content:"·";margin-right:.35rem}
@media (max-width:760px){#capBar .cb-cam .pn{display:none}}

/* ---------- trilhas: a grade ocupa a largura ---------- */
body.cbd .hub-card{width:auto}
@media (min-width:600px){
  body:not(.cbd) .hub-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));
    gap:.8rem;overflow:visible;scroll-snap-type:none}
  body:not(.cbd) .hub-card{width:auto}
  body:not(.cbd) .hub-wrap::before,body:not(.cbd) .hub-wrap::after{display:none}
}

/* ---------- links para outras partes do manual ---------- */
a.xref{text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent);
  text-underline-offset:3px;text-decoration-thickness:1px}
a.xref:hover,a.xref:focus-visible{text-decoration-color:currentColor}
a.xref-pago::after{content:"\00a0🔒";font-size:.78em}
a.xref.cb-aqui{background:var(--c1-bg,rgba(0,0,0,.06));border-radius:4px;box-shadow:0 0 0 3px var(--c1-bg,rgba(0,0,0,.06))}
.cb-volta{position:fixed;left:12px;bottom:calc(68px + env(safe-area-inset-bottom,0px));
  z-index:70;display:none;align-items:stretch;max-width:min(calc(100vw - 24px),360px);
  border:1px solid var(--line);border-radius:999px;background:var(--card);
  box-shadow:0 8px 24px -10px rgba(0,0,0,.45);overflow:hidden}
.cb-volta.on{display:flex}
body.cbd .cb-volta{left:calc(var(--d-left,0px) + 12px)}
.cb-volta button{font:inherit;border:0;background:none;color:var(--ink);cursor:pointer;min-height:44px}
.cb-volta .cb-volta-ir{display:flex;align-items:center;gap:.45rem;padding:.5rem .4rem .5rem .95rem;
  font-family:var(--fm);font-size:.8rem;font-weight:600;min-width:0;text-align:left}
.cb-volta .cb-volta-ir i{font-style:normal;color:var(--c1);font-size:1rem;flex:none}
.cb-volta .cb-volta-ir span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cb-volta .cb-volta-x{flex:none;width:44px;color:var(--ink-soft);font-size:1rem;border-left:1px solid var(--line)}
.cb-volta button:hover{color:var(--c1)}
@media (prefers-reduced-motion:no-preference){.cb-volta.on{animation:cbVoltaIn .22s ease-out both}}
@keyframes cbVoltaIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* ---------- a busca: a lista de achados (Bloco 6) ---------- */
.bq-painel{position:fixed;z-index:95;background:var(--card);color:var(--ink);
  border:1px solid var(--line);border-radius:14px;padding:.35rem;overflow:auto;
  overscroll-behavior:contain;box-shadow:0 22px 60px -24px rgba(15,23,42,.55)}
.bq-painel[hidden]{display:none}
.bq-topo{display:flex;align-items:center;gap:.5rem;padding:.2rem .3rem .45rem .5rem;
  border-bottom:1px solid var(--line);margin-bottom:.25rem}
.bq-conta{flex:1;min-width:0;font-family:var(--fm);font-size:.72rem;line-height:1.4;color:var(--ink-soft)}
.bq-fechar{min-height:44px;min-width:44px;padding:0 .8rem;border:1px solid var(--line);
  border-radius:10px;background:var(--card-2);color:var(--ink);font-family:var(--fm);
  font-size:.74rem;cursor:pointer}
.bq-lista{list-style:none;margin:0;padding:0}
.bq-item{display:block;width:100%;min-height:44px;text-align:left;padding:.6rem .65rem;
  border:0;border-radius:10px;background:none;color:var(--ink);cursor:pointer;font:inherit}
.bq-item:hover,.bq-item:focus-visible{background:var(--card-2)}
.bq-item:focus-visible{outline:2px solid var(--c1);outline-offset:-2px}
.bq-onde{display:block;font-family:var(--fm);font-size:.66rem;letter-spacing:.04em;
  text-transform:uppercase;color:var(--ink-soft)}
.bq-sec{display:block;font-weight:700;font-size:.93rem;line-height:1.35;margin:.15rem 0 .2rem}
.bq-trecho{display:block;font-size:.86rem;line-height:1.5;color:var(--ink-soft)}
.bq-mais,.bq-pago{font-family:var(--fm);font-size:.72rem;line-height:1.5;color:var(--ink-soft);
  padding:.55rem .65rem;margin:0}
.bq-pago{border-top:1px solid var(--line);margin-top:.3rem}
.bq-pago a{color:var(--c1);display:inline-block;min-height:24px}
.bq-alvo{outline:3px solid var(--c1);outline-offset:6px;border-radius:8px}


.cb-medir-bt{font-family:var(--fm);font-size:.78rem;font-weight:600;cursor:pointer;
  border:1px solid var(--line);background:var(--card-2);color:var(--ink);
  border-radius:9px;padding:.6rem .95rem;min-height:44px;box-sizing:border-box}
.cb-medir-bt:hover{border-color:var(--c1);color:var(--c1)}
.cb-medir-bt[data-medindo="nao"]{border-color:var(--c3);color:var(--c3)}


/* ------------------------------------------------------- modo desktop --- */
.cb3-desk{position:relative;display:flex;align-items:center;gap:.6rem;
  background:var(--card,#FBF7EE);border:1px solid var(--line,#DCCDAF);border-radius:14px;
  padding:.7rem .8rem;margin:.6rem 0;width:100%;max-width:340px}
.cb3-desk .ic{font-size:1.15rem;line-height:1;flex:none}
.cb3-desk .tx{min-width:0;flex:1}
.cb3-desk .tx b{display:block;font-family:var(--fd,sans-serif);font-weight:800;font-size:.8rem;
  letter-spacing:-.01em;line-height:1.25}
.cb3-desk .tx span{display:block;font-family:var(--fm,monospace);font-size:.6rem;
  color:var(--ink-soft,#6A5D4B);line-height:1.4;margin-top:.15rem}
.cb3-sw{flex:none;width:44px;height:25px;border-radius:999px;border:1px solid var(--line,#DCCDAF);
  background:var(--card-2,#F2EADA);position:relative;cursor:pointer;padding:0;
  transition:background .25s ease,border-color .25s ease}
.cb3-sw::after{content:"";position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:50%;
  background:var(--ink-soft,#6A5D4B);transition:transform .28s cubic-bezier(.34,1.56,.64,1),background .25s}
.cb3-sw[aria-checked="true"]{background:color-mix(in srgb,var(--c1,#0A6A66) 26%,transparent);
  border-color:var(--c1,#0A6A66)}
.cb3-sw[aria-checked="true"]::after{transform:translateX(19px);background:var(--c1,#0A6A66)}
.cb3-sw:focus-visible{outline:2px solid var(--c1,#0A6A66);outline-offset:2px}

/* aviso flutuante de modo desktop ativo */
/* `width`, nunca `max-width`: é o mesmo defeito que fez o aviso do modo leve
   virar torre. Caixa `position:fixed` com teto encolhe até o conteúdo, e o
   botão `flex:none` espreme o texto no que sobra. Aqui só não apareceu porque
   é um botão e uma frase curta. */
.cb3-aviso{position:fixed;left:50%;bottom:14px;transform:translate(-50%,140%);z-index:200;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.55rem;
  width:min(94vw,520px);
  background:var(--card,#FBF7EE);border:1px solid var(--line,#DCCDAF);border-radius:13px;
  box-shadow:0 8px 34px rgba(0,0,0,.22);padding:.6rem .7rem;
  font-family:var(--fm,monospace);font-size:.68rem;color:var(--ink-2,#4B4134);line-height:1.45;
  transition:transform .5s cubic-bezier(.16,1,.3,1)}
.cb3-aviso.on{transform:translate(-50%,0)}
.cb3-aviso>span{flex:1 1 100%;min-width:0}
.cb3-aviso button{flex:none;font:inherit;font-weight:600;border:1px solid var(--line,#DCCDAF);
  background:var(--card-2,#F2EADA);color:var(--ink,#1C1813);border-radius:8px;padding:.3rem .6rem;cursor:pointer}
.cb3-aviso button:hover{border-color:var(--c1,#0A6A66);color:var(--c1,#0A6A66)}

/* ------------------------------------------------- vida nos diagramas --- */
/* .cb3-fig marca os 65 contêineres de ilustração do manual: as figuras .dgm,
   os blocos .diagram, o mapa mental e o fluxograma. */
.cb3-fig{position:relative}
.dgm-rev{position:absolute;top:.4rem;right:.4rem;z-index:2;
  font-family:var(--fm,monospace);font-size:.58rem;letter-spacing:.06em;
  border:1px solid var(--line,#DCCDAF);background:color-mix(in srgb,var(--card,#FBF7EE) 88%,transparent);
  color:var(--ink-soft,#6A5D4B);border-radius:999px;padding:.22rem .55rem;cursor:pointer;
  opacity:0;transform:translateY(-3px);transition:all .28s cubic-bezier(.16,1,.3,1);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.cb3-fig:hover .dgm-rev,.cb3-fig:focus-within .dgm-rev,.cb3-fig.on .dgm-rev{opacity:1;transform:none}
.dgm-rev:hover{border-color:var(--c1,#0A6A66);color:var(--c1,#0A6A66)}
.dgm-rev:active{transform:scale(.93)}

/* desenho de entrada para as figuras que ainda não tinham (as .diagram) */
@keyframes cb3Traco{from{stroke-dashoffset:var(--cb3len,600)}to{stroke-dashoffset:0}}
@keyframes cb3Surge{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}
.cb3-fig.cb3-propria svg [data-cb3-traco]{
  stroke-dasharray:var(--cb3len,600);stroke-dashoffset:var(--cb3len,600)}
.cb3-fig.cb3-propria.on svg [data-cb3-traco]{
  animation:cb3Traco .62s cubic-bezier(.22,1,.36,1) var(--cb3d,0ms) forwards}
.cb3-fig.cb3-propria svg [data-cb3-surge]{opacity:0;transform-box:fill-box;transform-origin:center}
.cb3-fig.cb3-propria.on svg [data-cb3-surge]{
  animation:cb3Surge .34s cubic-bezier(.22,1,.36,1) var(--cb3d,0ms) forwards}

/* NÃO existe mais corrente contínua nos fios.
   A ideia era sugerir fluxo, mas o stroke-dasharray transformava linhas
   inteiras em tracejado — os diagramas passavam a impressão de estarem
   quebrados, e 26 animações infinitas por figura pesavam à toa. O desenho
   de entrada, que acontece uma vez e para, dá o mesmo efeito sem o custo. */

/* rodapé da linhagem, injetado no fim do manual */
.cb3-lin{max-width:var(--maxw,760px);margin:2.4rem auto 0;padding:0 var(--pad,1.2rem)}
.cb3-lin a{display:flex;align-items:center;gap:.85rem;text-decoration:none;color:inherit;
  background:linear-gradient(150deg,color-mix(in srgb,var(--gold,#7A5810) 11%,var(--card,#FBF7EE)),var(--card,#FBF7EE) 65%);
  border:1px solid color-mix(in srgb,var(--gold,#7A5810) 34%,var(--line,#DCCDAF));
  border-radius:17px;padding:1rem 1.1rem;
  transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s}
.cb3-lin a:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.12)}
.cb3-lin .ic{width:40px;height:40px;border-radius:12px;flex:none;display:grid;place-items:center;
  font-size:1.2rem;background:color-mix(in srgb,var(--gold,#7A5810) 18%,transparent)}
.cb3-lin b{display:block;font-family:var(--fd,sans-serif);font-weight:800;font-size:.95rem;
  letter-spacing:-.015em;line-height:1.3}
.cb3-lin span{display:block;font-size:.83rem;color:var(--ink-2,#4B4134);line-height:1.5;margin-top:.2rem}
.cb3-lin em{font-style:normal;margin-left:auto;flex:none;font-family:var(--fm,monospace);
  font-size:1rem;color:var(--gold,#7A5810)}

@media (prefers-reduced-motion:reduce){
  .cb3-fig.cb3-propria svg [data-cb3-traco]{stroke-dasharray:none;stroke-dashoffset:0}
  .cb3-fig.cb3-propria svg [data-cb3-surge]{opacity:1}
  .cb3-aviso,.cb3-lin a,.dgm-rev{transition:none}
}
@media print{.cb3-desk,.cb3-aviso,.dgm-rev,.cb3-lin{display:none!important}}


/* ===================================================== assinatura ======= */
.cb4-assin{max-width:var(--maxw,760px);margin:0 auto;padding:1.4rem var(--pad,1.2rem) 2.6rem;
  text-align:center}
.cb4-assin .risco{width:52px;height:2px;margin:0 auto 1rem;border-radius:2px;
  background:linear-gradient(90deg,var(--c1,#0A6A66),var(--c2,#8A3A1C),var(--gold,#7A5810))}
.cb4-assin b{display:block;font-family:var(--fd,sans-serif);font-weight:800;font-size:.95rem;
  letter-spacing:-.01em;color:var(--ink,#1C1813);line-height:1.4}
.cb4-assin>span{display:block;font-family:var(--fm,monospace);font-size:.68rem;letter-spacing:.1em;
  color:var(--ink-soft,#6A5D4B);margin-top:.35rem}
/* o nome completo abre num toque, sem sair do lugar (09/10/2026) */
.cb4-nome-bt{display:inline-flex;align-items:center;min-height:44px;padding:0 .9rem;margin:.1rem 0 -.3rem;
  font-family:var(--fm,monospace);font-size:.66rem;letter-spacing:.06em;color:var(--ink-soft,#6A5D4B);
  background:none;border:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.cb4-nome-bt:hover{color:var(--ink,#1C1813)}
footer .cb4-assin{padding-top:1rem}

/* ===================================================== modo leve ======== */
.cb4-leve{position:fixed;left:12px;bottom:12px;z-index:120;display:flex;align-items:center;gap:.45rem;
  font-family:var(--fm,monospace);font-size:.66rem;letter-spacing:.03em;
  background:color-mix(in srgb,var(--card,#FBF7EE) 92%,transparent);
  border:1px solid var(--line,#DCCDAF);color:var(--ink-2,#4B4134);
  border-radius:999px;padding:.42rem .74rem;cursor:pointer;
  box-shadow:0 3px 14px rgba(0,0,0,.13);
  -webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
  transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s,border-color .22s,color .22s}
.cb4-leve:hover{border-color:var(--c1,#0A6A66);color:var(--c1,#0A6A66);transform:translateY(-2px)}
.cb4-leve:active{transform:scale(.94)}
/* encolhido ele mede 32×28, e o dedo precisa de 44×44: a área de toque
   cresce por fora, sem mudar o desenho (07/10/2026) */
.cb4-leve::after{content:"";position:absolute;inset:-9px -8px}
.cb4-leve .ic{font-size:.86rem;line-height:1}
.cb4-leve .rot{max-width:14ch;overflow:hidden;white-space:nowrap;
  transition:max-width .45s cubic-bezier(.16,1,.3,1),opacity .3s,margin .45s}
.cb4-leve.encolhido .rot{max-width:0;opacity:0;margin-left:-.45rem}
.cb4-leve:hover .rot,.cb4-leve:focus-visible .rot{max-width:14ch;opacity:1;margin-left:0}
body.lendo .cb4-leve{opacity:0;pointer-events:none}
/* some ao descer lendo e volta ao subir (7.9, 15/10/2026): preso no canto,
   cobria uma linha de texto em toda página do celular */
.cb4-leve.cb4-some{opacity:0;pointer-events:none;transform:translateY(14px)}
/* no layout editorial o canto inferior esquerdo é do trilho de capítulos:
   abre espaço em baixo dele para o botão não cobrir nenhum capítulo */
body.cbd .d-rail.d-l{padding-bottom:70px}
@media print{.cb4-leve{display:none}}

/* o que o modo leve desliga — só peso visual, nunca conteúdo.
   A classe vive no <html> (posta ANTES da primeira pintura pelo boot da
   camada4.head) e no <body> (posta pelo botão); ".cb-leve" casa as duas.
   Antes era só no body, depois do load + 700 ms: a página pesada já tinha
   rodado inteira quando o leve chegava. */
.cb-leve *,.cb-leve *::before,.cb-leve *::after{
  animation-duration:.001ms!important;animation-iteration-count:1!important;
  transition-duration:.08s!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important}
/* sombra nenhuma: o botão promete "desligar animações e sombras". O anel de
   foco do teclado fica, porque ele é orientação, não enfeite. */
.cb-leve *:not(:focus-visible){box-shadow:none!important}
/* a textura de papel em tela cheia, a grade fixa e o brilho de fundo:
   camadas fixas que o celular repinta a cada rolagem. O seletor antigo
   ("body.cb-leve body::after") nunca casava com nada. */
.cb-leve .parte-cover::before,.cb-leve body::before,.cb-leve body::after,
body.cb-leve::before,body.cb-leve::after,.cb-leve #grain{display:none!important}
/* capítulo fora da tela não é desenhado: são 42 numa página só */
.cb-leve main > section.cap{content-visibility:auto;contain-intrinsic-size:auto 2600px}
/* sem entrada animada: tudo já nasce aceso (o motor nem mede no leve) */
.cb-leve .rv,.cb-leve .reveal,
.cb-leve .cb3-fig,.cb-leve .ev,.cb-leve .no,.cb-leve .mtx-i{
  opacity:1!important;transform:none!important}
.cb-leve .cb3-fig.cb3-propria svg [data-cb3-traco]{stroke-dasharray:none!important;stroke-dashoffset:0!important}
.cb-leve .cb3-fig.cb3-propria svg [data-cb3-surge]{opacity:1!important}
.cb-leve .dgm svg [data-ab-line]{stroke-dasharray:none!important;stroke-dashoffset:0!important}
.cb-leve .dgm svg [data-ab-node],.cb-leve .dgm svg [data-ab-text]{opacity:1!important}

/* aviso que sugere o modo leve — cartão de canto, nunca faixa.
   `width`, jamais `max-width`: caixa `position:fixed` encolhe até o conteúdo,
   e com teto ela media 206px num aparelho de 412px. Os dois botões são
   `flex:none`, comiam a largura, e sobravam 54px para o texto — uma palavra
   por linha, a torre vertical que o dono viu duas vezes.
   O canto é o DIREITO porque o `.cb4-leve` mora no esquerdo. */
.cb4-sug{position:fixed;right:12px;bottom:12px;transform:translateY(150%);z-index:200;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem;
  width:min(92vw,340px);
  background:var(--card,#FBF7EE);border:1px solid var(--line,#DCCDAF);border-radius:14px;
  box-shadow:0 10px 38px rgba(0,0,0,.24);padding:.7rem .8rem;
  font-family:var(--fm,monospace);font-size:.68rem;color:var(--ink-2,#4B4134);line-height:1.5;
  transition:transform .5s cubic-bezier(.16,1,.3,1)}
.cb4-sug.on{transform:translateY(0)}
/* o texto fica com a faixa inteira e os botões descem juntos para a linha de
   baixo; sem isto eles dividem a linha com o texto e o espremem de novo */
.cb4-sug>span{flex:1 1 100%;min-width:0}
.cb4-sug button{flex:none;font:inherit;font-weight:600;border:1px solid var(--line,#DCCDAF);
  background:var(--card-2,#F2EADA);color:var(--ink,#1C1813);border-radius:9px;padding:.34rem .66rem;cursor:pointer}
.cb4-sug button.pri{background:var(--c1,#0A6A66);border-color:var(--c1,#0A6A66);color:var(--sobre-forte,#FFFFFF)}
.cb4-sug button:hover{filter:brightness(1.07)}
/* no celular o cartão sobe acima do botão de modo leve, que mora no canto de
   baixo à esquerda — em 320px os dois ocupariam a mesma faixa */
@media (max-width:560px){.cb4-sug{bottom:58px}}

/* ================================================ lupa nos diagramas === */
.cb4-lupa{position:absolute;top:.4rem;right:5.1rem;z-index:2;
  font-family:var(--fm,monospace);font-size:.58rem;letter-spacing:.06em;
  border:1px solid var(--line,#DCCDAF);background:color-mix(in srgb,var(--card,#FBF7EE) 88%,transparent);
  color:var(--ink-soft,#6A5D4B);border-radius:999px;padding:.22rem .55rem;cursor:pointer;
  opacity:0;transform:translateY(-3px);transition:all .28s cubic-bezier(.16,1,.3,1);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.cb3-fig:hover .cb4-lupa,.cb3-fig:focus-within .cb4-lupa,.cb3-fig.on .cb4-lupa{opacity:1;transform:none}
.cb4-lupa:hover{border-color:var(--c1,#0A6A66);color:var(--c1,#0A6A66)}
.cb4-lupa:active{transform:scale(.93)}

.cb4-vis{position:fixed;inset:0;z-index:300;display:none;
  background:var(--bg,#F3ECDD)}                    /* opaco: nada de texto sobre texto */
.cb4-vis.on{display:flex;flex-direction:column}
body.cb4-travado{overflow:hidden}
.cb4-vis-top{display:flex;align-items:center;gap:.4rem;
  padding:.6rem .7rem;border-bottom:1px solid var(--line,#DCCDAF);
  background:var(--card,#FBF7EE);flex:none}
.cb4-vis-t{font-family:var(--fm,monospace);font-size:.66rem;color:var(--ink-2,#4B4134);
  margin-right:auto;line-height:1.4;min-width:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cb4-vis-top button{font-family:var(--fm,monospace);font-size:.72rem;font-weight:600;
  border:1px solid var(--line,#DCCDAF);background:var(--card-2,#F2EADA);color:var(--ink,#1C1813);
  border-radius:9px;padding:.4rem .6rem;cursor:pointer;flex:none;
  min-width:2.3rem;min-height:2.3rem;transition:border-color .2s,color .2s}
.cb4-vis-top button:hover{border-color:var(--c1,#0A6A66);color:var(--c1,#0A6A66)}
.cb4-vis-top button:active{transform:scale(.93)}
@media (max-width:560px){
  .cb4-vis-t{display:none}                       /* a legenda cabe embaixo, não no topo */
  .cb4-vis-top{justify-content:space-between}
}
.cb4-vis-palco{flex:1;overflow:auto;padding:1rem;
  -webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom}
.cb4-vis-cx{transform-origin:top center;transition:transform .25s cubic-bezier(.16,1,.3,1);
  margin:0 auto;width:fit-content;max-width:100%}
.cb4-vis-palco svg{max-width:none;width:min(1080px,90vw);height:auto;display:block}
.cb4-vis-zoom{font-family:var(--fm,monospace);font-size:.68rem;color:var(--ink-2,#4B4134);
  min-width:3.2rem;text-align:center;flex:none}
.cb4-vis-leg{font-family:var(--fm,monospace);font-size:.68rem;color:var(--ink-2,#4B4134);
  line-height:1.55;max-width:62ch;margin:1.2rem auto 0;padding:0 .4rem;text-align:center}

/* O invólucro devolve ao SVG o contexto de CSS que ele tinha na página.
   Sem isto, regras como ".cap-import svg .diagram-node" deixam de valer e o
   diagrama inteiro vira preto no preto. Ele carrega as classes dos ancestrais
   só para os seletores casarem — nunca para herdar layout. */
.cb4-ctx{display:block!important;position:static!important;visibility:visible!important;
  opacity:1!important;transform:none!important;filter:none!important;
  max-height:none!important;height:auto!important;width:auto!important;
  margin:0!important;padding:0!important;border:0!important;background:none!important;
  box-shadow:none!important;overflow:visible!important;animation:none!important;
  columns:auto!important;float:none!important;clip-path:none!important;
  contain:none!important;content-visibility:visible!important}

/* ============================ anotações em PDF ========================= */
/* Uma folha limpa, montada só na hora de imprimir. O navegador oferece
   "Salvar como PDF" no diálogo de impressão, no computador e no celular. */
.cb4-folha{display:none}
@media print{
  body.cb4-imprimindo > *{display:none!important}
  body.cb4-imprimindo .cb4-folha{display:block!important;
    position:static!important;padding:0;margin:0;background:#fff;color:#111}
  body.cb4-imprimindo .cb4-folha h1{font-family:Georgia,serif;font-size:22pt;
    margin:0 0 .2rem;color:#111;letter-spacing:-.01em}
  body.cb4-imprimindo .cb4-folha .sub{font-family:monospace;font-size:9pt;color:#555;
    margin:0 0 1.4rem;padding-bottom:.7rem;border-bottom:1.5pt solid #111}
  body.cb4-imprimindo .cb4-folha pre{font-family:Georgia,serif;font-size:11.5pt;
    line-height:1.65;white-space:pre-wrap;word-wrap:break-word;color:#111;margin:0}
  body.cb4-imprimindo .cb4-folha .pe{margin-top:2rem;padding-top:.7rem;
    border-top:.5pt solid #999;font-family:monospace;font-size:8pt;color:#666;
    display:flex;justify-content:space-between;gap:1rem}
  @page{margin:18mm 16mm}
}

/* ================================= tabelas que cabem na tela =========== */
.cb4-tw{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;
  margin:1.4rem 0 -1.1rem;position:relative;z-index:1}
.cb4-tw button{font-family:var(--fm,monospace);font-size:.6rem;letter-spacing:.05em;
  border:1px solid var(--line,#DCCDAF);background:var(--card,#FBF7EE);color:var(--ink-soft,#6A5D4B);
  border-radius:999px;padding:.26rem .62rem;cursor:pointer;transition:border-color .2s,color .2s}
.cb4-tw button:hover{border-color:var(--c1,#0A6A66);color:var(--c1,#0A6A66)}
.cb4-tw button:active{transform:scale(.94)}
.cb4-tw button[aria-pressed="true"]{background:var(--ink,#1C1813);border-color:var(--ink,#1C1813);
  color:var(--bg,#F3ECDD)}
.cb4-tw .dica{font-family:var(--fm,monospace);font-size:.58rem;color:var(--ink-soft,#6A5D4B)}

/* "caber na tela": solta o min-width e encolhe a fonte até tudo aparecer */
.tw.cb4-cabe{overflow-x:visible}
.tw.cb4-cabe table{min-width:0!important;width:100%!important;
  font-size:clamp(.56rem,2.6vw,.8rem)!important;table-layout:fixed!important}
.tw.cb4-cabe th,.tw.cb4-cabe td{padding:.4rem .42rem!important;
  overflow-wrap:anywhere;word-break:break-word;hyphens:auto}
.tw.cb4-cabe table strong,.tw.cb4-cabe table b{font-weight:700}

/* sombra na borda direita enquanto houver conteúdo escondido */
.tw.cb4-rola{
  background-image:linear-gradient(90deg,transparent calc(100% - 26px),
    color-mix(in srgb,var(--ink,#1C1813) 13%,transparent));
  background-repeat:no-repeat;background-attachment:local}
.tw.cb4-fim{background-image:none}

/* ==================================== selo de origem e tempo de leitura = */
.cb4-meta{display:flex;flex-wrap:wrap;gap:.4rem;margin:.55rem 0 1.1rem}
.cb4-chip{display:inline-flex;align-items:center;gap:.32rem;font-family:var(--fm,monospace);
  font-size:.6rem;letter-spacing:.05em;color:var(--ink-soft,#6A5D4B);
  border:1px solid var(--line,#DCCDAF);border-radius:999px;padding:.2rem .55rem;
  background:var(--card,#FBF7EE);text-decoration:none;transition:all .22s}
a.cb4-chip:hover{border-color:var(--c2,#8A3A1C);color:var(--c2,#8A3A1C);transform:translateY(-1px)}
.cb4-chip i{font-style:normal;opacity:.85}
/* quando entra na faixa que o manual já monta, acompanha o alinhamento dela */
.cap-meta .cb4-chip{margin-left:.15rem;vertical-align:middle}

/* ============================================ atalhos e painel de ajuda = */
.cb4-ajuda{position:fixed;inset:0;z-index:310;display:none;place-items:center;padding:1rem;
  background:color-mix(in srgb,var(--ink,#1C1813) 42%,transparent)}
.cb4-ajuda.on{display:grid}
.cb4-ajuda-cx{background:var(--card,#FBF7EE);border:1px solid var(--line,#DCCDAF);border-radius:18px;
  box-shadow:0 20px 60px rgba(0,0,0,.3);max-width:440px;width:100%;padding:1.3rem 1.4rem;
  max-height:86vh;overflow:auto}
.cb4-ajuda-cx h3{font-family:var(--fd,sans-serif);font-weight:900;font-size:1.1rem;
  letter-spacing:-.02em;margin:0 0 .2rem}
.cb4-ajuda-cx p.s{font-family:var(--fm,monospace);font-size:.64rem;color:var(--ink-soft,#6A5D4B);
  margin:0 0 1rem;letter-spacing:.06em;text-transform:uppercase}
.cb4-ajuda dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem .9rem;align-items:baseline;margin:0}
.cb4-ajuda dt{justify-self:start}
.cb4-ajuda kbd{font-family:var(--fm,monospace);font-size:.68rem;font-weight:600;
  border:1px solid var(--line,#DCCDAF);border-bottom-width:2px;border-radius:6px;
  padding:.14rem .42rem;background:var(--card-2,#F2EADA);color:var(--ink,#1C1813);white-space:nowrap}
.cb4-ajuda dd{margin:0;font-size:.88rem;color:var(--ink-2,#4B4134);line-height:1.5}
.cb4-ajuda .fecha{margin-top:1.2rem;width:100%;font-family:var(--fm,monospace);font-size:.7rem;
  border:1px solid var(--line,#DCCDAF);background:var(--card-2,#F2EADA);color:var(--ink,#1C1813);
  border-radius:10px;padding:.55rem;cursor:pointer}
.cb4-ajuda .fecha:hover{border-color:var(--c1,#0A6A66);color:var(--c1,#0A6A66)}

/* ================================================== copiar (e-mail) ==== */
.cb-copiar.feito{border-color:var(--c3,#3D6B4F)!important;color:var(--c3,#3D6B4F)!important}

/* ================================== abas de topologia, de volta à vida = */
/* Sem JS, o fallback antigo continua: todos os painéis empilhados e os
   botões escondidos. Com JS, a camada marca o grupo e as abas voltam. */
.cap-import .cb4-abas .tab-btn{display:inline-flex!important;align-items:center;
  font-family:var(--fm,monospace);font-size:.72rem;font-weight:600;
  border:1px solid var(--line,#DCCDAF);background:var(--card,#FBF7EE);color:var(--ink-2,#4B4134);
  border-radius:999px;padding:.42rem .9rem;cursor:pointer;transition:all .22s cubic-bezier(.16,1,.3,1)}
.cap-import .cb4-abas .tab-btn:hover{border-color:var(--c1,#0A6A66);color:var(--c1,#0A6A66);
  transform:translateY(-1px)}
.cap-import .cb4-abas .tab-btn:active{transform:scale(.95)}
.cap-import .cb4-abas .tab-btn[aria-selected="true"]{
  background:var(--ink,#1C1813);border-color:var(--ink,#1C1813);color:var(--bg,#F3ECDD)}
.cap-import .cb4-abas{display:flex!important;flex-wrap:wrap;gap:.4rem;margin:.2rem 0 .3rem}
.cap-import .cb4-abas-dica{display:block;font-family:var(--fm,monospace);font-size:.6rem;
  color:var(--ink-soft,#6A5D4B);letter-spacing:.05em;margin:.1rem 0 .9rem}
/* o invólucro das abas também estava escondido pela regra antiga */
body.cb4-abas-vivas .cap-import .tabs,
body.cb4-abas-vivas .cap-import .tablist{display:block!important}
body.cb4-abas-vivas .cap-import .tab-panel{display:none!important}
body.cb4-abas-vivas .cap-import .tab-panel.active{display:block!important;
  animation:cb4Painel .38s cubic-bezier(.16,1,.3,1) both}
@keyframes cb4Painel{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
body.cb-leve .cap-import .tab-panel.active{animation:none!important}

/* checkbox de autoavaliação: mostra que ficou guardado */
.cap-import label:has(input[type="checkbox"]:checked){color:var(--ink,#1C1813)}
.cb4-salvo{font-family:var(--fm,monospace);font-size:.58rem;color:var(--c3,#3D6B4F);
  letter-spacing:.06em;margin-left:.4rem;opacity:0;transition:opacity .3s}
.cb4-salvo.on{opacity:1}

@media (prefers-reduced-motion:reduce){
  .cb4-leve,.cb4-sug,.cb4-vis-palco>div,.cb4-chip{transition:none}
}


:root{--fm:"Archivo",system-ui,sans-serif!important;--fcod:"IBM Plex Mono",ui-monospace,monospace}code,kbd,samp,pre,pre *,.code,#ctCodigo,.d-search .d-kbd{font-family:var(--fcod)!important}.ab-big,.speedo-val,.anki-count,.major-out,.hub-n,.est-n,.tr-n,.in-lab-num span,.mtx-i .n,.in-placar span,.pl-numeros span{font-variant-numeric:tabular-nums}h1,h2,.cap-head h2,.in-h1{font-stretch:100%!important;font-weight:760!important;letter-spacing:-.014em!important}.cap-num{background:none!important;color:var(--c1)!important;padding:0!important;border:0!important;box-shadow:none!important;font:650 .88rem/1.3 var(--fd)!important}.cap-rule{display:none!important}.cap-meta{gap:.2rem .55rem!important;align-items:center!important}.cap-meta>span{background:none!important;border:0!important;padding:0!important;box-shadow:none!important;font:500 .88rem/1.5 var(--fd)!important;color:var(--ink-2,#44546B)!important}.cap-meta>span+span::before{content:"·";margin-right:.55rem}h3 .step{background:none!important;border:0!important;padding:0!important;margin:0 0 .3rem!important;font:600 .85rem/1.4 var(--fd)!important;color:var(--ink-2,#44546B)!important;display:block}.hm-chip,.cb4-chip,.in-selo,.in-olho{background:none!important;border:0!important;box-shadow:none!important;padding:0!important}.cap-sub{border-left:0!important;padding-left:0!important;font-size:1.12rem!important}.comece{box-shadow:none!important;background-image:none!important}.cap-num,.cap-meta>span,h3 .step,.hm-chip,.cb4-chip,.in-selo,.in-olho,.cap-sub,.comece{transition:none!important}.cb-btn-pri{background:var(--c1)!important;color:var(--sobre-forte,#fff)!important;border-color:var(--c1)!important;box-shadow:none!important}#capBar .cb-back,#capBar .cb-cam,#capBar .cb-n,#capNav button,#voltarCap,.ab-btn,.ab-major b em,.ab-major b i,.ab-note,.ab-w-t,.alegoria .bt,.anki-badge,.anki-count,.anki-hint,.arv-bar .t,.arv-bar button,.box .bt,.bq-conta,.bq-fechar,.bq-mais,.bq-pago,.bq-onde,.cap-done,.cap-import .acc-badge,.cap-import .badge-num,.cap-import .badge,.cap-import .label,.cap-import .kicker,.cap-import .sheet-tag,.cap-import .badge-num,.cap-import .btn,.cap-import .run,.cap-import .cb4-abas .tab-btn,.cap-import .cb4-abas-dica,.cap-import .flow-status,.cap-import .label,.cap-import .kicker,.cap-import .badge,.cap-import .sheet-tag,.cap-import .tagline,.cap-import h3 .step,.cap-import .step,.cap-meta .cap-done,.cap-meta span,.cap-num,.card .t,.cb-af-h b,.cb-af-h span,.cb-af-nota,.cb-atual,.cb-col .cb-col-g>*,.cb-col-s,.cb-col-t,.cb-copiar,.cb-cta-nota,.cb-desk-s,.cb-disc,.cb-doc .card .t,.cb-doc .data,.cb-doc th,.cb-doc-nav a,.cb-doc-x,.cb-fim-t,.cb-foot h5,.cb-foot-base small,.cb-lay-g button,.cb-lay-s,.cb-lay-toast .x,.cb-lay-t,.cb-medir-bt,.cb-mini button,.cb-prox .p-l,.cb3-aviso,.cb3-desk .tx span,.cb4-ajuda .fecha,.cb4-ajuda-cx p.s,.cb4-assin>span,.cb4-chip,.cb4-leve,.cb4-lupa,.cb4-nome-bt,.cb4-salvo,.cb4-sug,.cb4-tw .dica,.cb4-tw button,.cb4-vis-leg,.cb4-vis-top button,.cb4-vis-t,.cb4-vis-zoom,.cb5-selo,.cb7-selo,.comece .cm-t,.crumb,.ct-campo label,.ct-conta-rot,.ct-dica,.ct-forca span,.ct-obra p,.ct-olho,.ct-ou,.ct-selo,.d-acts button,.d-acts-ic .nm,.d-brand span,.d-cap .n,.d-casa .d-nota,.d-cont em,.d-cont span,.d-empty,.d-h,.d-mini a,.d-parte,.d-prog span,.d-r-t,.d-tools .nm,.data,.det-caps a,.det-sub,.ev-sub,.det-t span,.det-vazio,.dgm figcaption,.dgm-mais .dm-t,.dgm-rev,.est-h span,.est-parte .ep-c,.est-parte .ep-t,.est-s,.ev .card .cod,.ev .card .qd,.ev,.exam-btn,.exam-chips-lbl,.exam-chip,.exam-room-title,.eyebrow,.fc-face .lab,.ficha .tag,.forge-badge,.forge-hint,.forge-q .qnum,.ger-h b,.ger-h span,.hero-tags span,.hm-chip,.howto .ht-meta,.hub-clear,.hub-h span,.hub-n,.in-b-chips span,.in-dia,.in-lab-rel b,.in-meia .in-meia-r,.in-mudo,.in-nome,.in-nota,.in-olho,.in-painel-h span,.in-placar span,.in-plano .in-preco i,.in-pnome-i,.in-porta em,.in-prat-c .in-prat-q,.in-prat-c em,.in-prat-q,.in-selo,.in-tog,.in-tr-n,.leg span,.levels .lv-pill,.lib-book .lb-open,.lib-book .lb-serie,.lvl,.marca span,.mtx-h span,.mtx-i .n,.mtx-i .x span,.naodito .nd-t,.nav-tool,.no .caps,.no .data,.no .tag,.nota .bt,.ob-codigo-r,.parte-cover .pc-rom,.pe h5,.pe-base small,.pe-in small,.pl-aviso,.pl-dia,.pl-mes,.pl-tudo h3,.plan-dot,.plan-phase .ref,.plan-sub,.plan-tools a,.pomo-btn,.pomo-title,.quiz-badge,.quiz-reset,.quote cite,.rd-btn,.rd-pos,.reader-page .rp-tag,.resume-chip,.search-info,.sec-h .kick,.sinais figcaption,.speedo-lab,.speedo-val,.streak,.sumario-badge,.sumario-cat,.sumario-grid a .cn,.sumario-grid a .rt,.theme-btn,.tl-i .tt,.toc a,.toc b,.top-in .voltar,.top-nav a,.top-nav button,.totop,.tpanel-hint,.tr-c,.tr-h span,.vd-tag,.vs-k,.widget .wt,a.in-b em,footer .bt,h3 .step,nav a.tab,th,.hero-tags span,.top-in .marca b,#capBar .cb-t,.top-in .voltar,.cap-num,.cb7-barra,.marca>span>span,.top-nav a,.top-nav button,.top-nav a,.top-nav button{font-size:max(.78rem,12.5px)!important}.ab-big,.ab-major b i,.ab-w-t,.alegoria .bt,.anki-badge,.arv-bar .t,.box .bt,.bq-onde,.cap-done,.cap-import .badge,.cap-import .label,.cap-import .kicker,.cap-import .sheet-tag,.cap-import .badge-num,.cap-import .cb4-abas-dica,.cap-import .label,.cap-import .kicker,.cap-import .badge,.cap-import .sheet-tag,.cap-import .tagline,.cap-import h5,.cap-meta .cap-done,.cap-meta span,.cap-num,.card .t,.cb-af-h b,.cb-atual,.cb-col-t,.cb-copiar,.cb-doc .card .t,.cb-doc th,.cb-fim-t,.cb-foot h5,.cb-lay-t,.cb-prox .p-l,.cb4-ajuda-cx p.s,.cb4-assin>span,.cb4-chip,.cb4-lupa,.cb4-nome-bt,.cb4-salvo,.cb4-tw button,.cb5-selo,.cb7-selo,.comece .cm-t,.crumb,.ct-campo label,.ct-conta-rot,.ct-olho,.ct-ou,.ct-selo,.d-brand span,.d-h,.d-parte,.d-prog span,.d-r-t,.det-sub,.ev-sub,.det-t span,.dgm-mais .dm-t,.dgm-rev,.est-parte .ep-t,.ev .card .cod,.ev .card .qd,.exam-btn,.exam-chips-lbl,.exam-room-title,.eyebrow,.fc-face .lab,.ficha .tag,.forge-badge,.ger-h b,.hero-tags span,.howto .ht-meta,.in-meia .in-meia-r,.in-olho,.in-plano b,.in-porta em,.in-prat-c .in-prat-q,.in-prat-c em,.in-prat-q,.in-selo,.lib-book .lb-serie,.lvl,.major-out,.marca span,.mtx-i .x span,.naodito .nd-t,.no .data,.no .tag,.nota .bt,.ob-codigo b,.ob-codigo-r,.parte-cover .pc-rom,.pe h5,.pl-card h2,.pl-fita,.pl-olho,.pl-tudo h3,.plan-sub,.pomo-title,.quiz-badge,.quote cite,.reader-page .rp-tag,.sec-h .kick,.sumario-badge,.sumario-cat,.tl-i .tt,.toc b,.vd-tag,.vs-k,.widget .wt,a.in-b em,footer .bt,h3 .step,nav a.tab,th{text-transform:none!important;letter-spacing:.01em!important}.dgm .lbl-s{font-size:max(9.5px,12.5px)!important}.dgm .lbl{font-size:max(11px,12.5px)!important}.in-eixo{font-size:max(11px,12.5px)!important}.in-pino{font-size:max(11px,12.5px)!important}@media (max-width: 380px){}@media (max-width: 400px){}@media (max-width: 460px){}@media (max-width: 520px){}@media (max-width: 960px){}.orig{font-size:max(.78em,12.5px)!important}#rotinaProg,#ss-rotinaProg,.cb-volta-inicio a{font-size:max(.8rem,12.5px)!important}:not(svg *)[style*="font-size:.5"],:not(svg *)[style*="font-size:.6"],:not(svg *)[style*="font-size:.7"]{font-size:max(.8rem,12.5px)!important}nav .nav-in>.prog-ring,nav .nav-in>.streak,nav .nav-in>.exam-btn,nav .nav-in>.nav-tool,nav .nav-in>.theme-btn{display:none!important}.cb6-dir{position:sticky;right:0;margin-left:auto;flex:none;display:flex;gap:.4rem;align-items:center;padding:0 0 0 1.4rem;z-index:2;background:linear-gradient(90deg,transparent,var(--bg) 1.2rem)}.cb6-busca,.cb6-mais{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;min-width:44px;padding:0 .85rem;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:600 .9rem/1 var(--fd);cursor:pointer}.cb6-busca:hover,.cb6-mais:hover{border-color:var(--c1);color:var(--c1)}.cb6-busca svg,.cb6-mais svg{flex:none}@media (max-width:460px){.cb6-dir .cb6-busca span,.cb6-dir .cb6-mais span{display:none}.cb6-busca,.cb6-mais{padding:0}}#capBar .cb-tools [data-cb="tema"],#capBar .cb-tools [data-cb="foco"],#capBar .cb-tools [data-cb="tools"]{display:none!important}#capBar .cb-tools button{width:40px!important;height:40px!important}#capBar .cb6-mais{min-height:40px;min-width:40px;width:40px;padding:0;border-radius:50%}#capBar .cb6-mais span{display:none}.cb6-folha{position:fixed;inset:0;z-index:300;display:flex;align-items:flex-end;justify-content:center}.cb6-folha-fundo{position:absolute;inset:0;background:rgba(10,15,30,.45)}.cb6-folha-cx{position:relative;width:100%;max-width:520px;max-height:85vh;overflow:auto;background:var(--card);color:var(--ink);border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0;padding:.6rem 1rem calc(1rem + env(safe-area-inset-bottom));box-shadow:0 -12px 40px -18px rgba(0,0,0,.5)}@media (min-width:700px){.cb6-folha{align-items:center}.cb6-folha-cx{border-radius:18px;border-bottom:1px solid var(--line)}}.cb6-folha-topo{display:flex;align-items:center;justify-content:space-between;min-height:44px}.cb6-folha-topo b{font:750 1.05rem/1.2 var(--fd)}.cb6-fechar{min-height:44px;padding:0 .9rem;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink-2);font:600 .88rem/1 var(--fd);cursor:pointer}.cb6-folha-prog{margin:.2rem 0 .7rem;font:500 .9rem/1.5 var(--fd);color:var(--ink-2)}.cb6-item{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;min-height:56px;padding:.7rem .9rem;margin:0 0 .4rem;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);text-align:left;cursor:pointer}.cb6-item:hover,.cb6-item:focus-visible{border-color:var(--c1)}.cb6-item-t{font:650 .98rem/1.3 var(--fd)}.cb6-item-d{font:400 .85rem/1.4 var(--fd);color:var(--ink-2)}.cb6-modo{position:relative;padding-right:2.6rem}.cb6-modo.cb6-marcado{border-color:var(--c1);background:color-mix(in srgb,var(--c1) 10%,var(--bg))}.cb6-modo.cb6-marcado::after{content:"";position:absolute;right:1.1rem;top:50%;width:.45rem;height:.85rem;margin-top:-.55rem;border-right:2px solid var(--c1);border-bottom:2px solid var(--c1);transform:rotate(45deg)}main,#estante,#trilha{transition:opacity .17s ease}html.cb-trocando main,html.cb-trocando #estante,html.cb-trocando #trilha{opacity:0}::view-transition-old(root),::view-transition-new(root){animation-duration:.22s}.cb6-prog{margin:.4rem 0 0;font:500 .9rem/1.5 var(--fd);color:var(--ink-2)}@media (max-width:1023px){#capNav{left:0!important;right:0!important;bottom:0!important;transform:none!important;width:auto!important;max-width:none!important;border-radius:0!important;justify-content:space-around!important;border:0!important;border-top:1px solid var(--line)!important;box-shadow:none!important;background:var(--card)!important;backdrop-filter:none!important;padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom))!important;transition:transform .25s ease!important}#capNav.cb6-recolhe{transform:translateY(110%)!important}#capNav button{min-height:44px}body.kamum.lendo{padding-bottom:calc(64px + env(safe-area-inset-bottom))}body.kamum.lendo .totop{bottom:calc(72px + env(safe-area-inset-bottom))!important}}#cnMid{display:inline-flex;align-items:center;justify-content:center;gap:.4rem}section.cap>h3{margin-top:3rem!important}section.cap .toc{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:12px!important;box-shadow:none!important;padding:.4rem 1rem .6rem!important;display:block!important}section.cap .toc b{display:block;font:700 .95rem/1.3 var(--fd)!important;margin:.5rem 0 .2rem}section.cap .toc a{display:flex!important;align-items:center;min-height:44px;margin:0!important;padding:.55rem 0!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;background:none!important;box-shadow:none!important;font:500 .95rem/1.4 var(--fd)!important;color:var(--ink)!important;text-decoration:none}section.cap .toc a:hover{color:var(--c1)!important}section.cap .toc a.toc-trancado{color:var(--ink-2)!important}section.cap .toc a.toc-trancado>span[aria-hidden="true"]{display:none}section.cap .toc:not(.cb6-toc-aberto) .cb6-toc-fora{display:none!important}.cb6-toc-grupo{display:block;margin:.8rem 0 .1rem;font:650 .88rem/1.4 var(--fd);color:var(--ink-2)}.cb6-toc-mais{display:block;width:100%;min-height:44px;margin:.4rem 0 0;border:0;border-top:1px solid var(--line);background:none;color:var(--c1);font:650 .92rem/1 var(--fd);text-align:left;cursor:pointer;padding:0}section.cap .box,section.cap .alegoria,section.cap .howto,section.cap .quote,section.cap .dgm-mais,section.cap .comece{background:var(--card)!important;background-image:none!important;border:1px solid var(--line)!important;border-left:3px solid var(--ink-soft,#5D7188)!important;border-radius:12px!important;box-shadow:none!important;padding:1rem 1.1rem!important;transition:none!important}section.cap .box.gold,section.cap .comece{border-left-color:var(--c1)!important}section.cap .box.alert{border-left-color:var(--c4)!important;background:color-mix(in srgb,var(--c4) 5%,var(--card))!important}section.cap .box::before,section.cap .box::after,section.cap .alegoria::before,section.cap .alegoria::after,section.cap .comece::before,section.cap .comece::after{display:none!important}section.cap .box .bt,section.cap .alegoria .bt,section.cap .howto .bt,section.cap .comece .cm-t,section.cap .dgm-mais .dm-t{display:block;font:650 .95rem/1.35 var(--fd)!important;color:var(--ink)!important;margin:0 0 .45rem!important;background:none!important;padding:0!important}.cb6-origem{margin:2rem 0 0;font:500 .88rem/1.5 var(--fd);color:var(--ink-2)}.cb6-origem .cb4-chip{background:none!important;border:0!important;padding:0!important;color:var(--ink-2)!important;text-decoration:underline!important;text-underline-offset:3px;font:inherit!important}.hm-stats{display:block!important;margin:.5rem 0 0!important;font:500 .9rem/1.6 var(--fd);color:var(--ink-2)}.hm-stats .hm-chip,.hm-stats .cb-atual{display:inline!important;font:inherit!important;color:inherit!important;background:none!important;border:0!important;padding:0!important;margin:0!important;box-shadow:none!important;text-transform:none!important;letter-spacing:0!important}.hm-stats .cb-atual i{display:none!important}.hm-stats>*+*::before{content:"·";margin:0 .45em}#estante .est-h b{font:750 1.3rem/1.3 var(--fd)!important}#estante .est-h span{font:400 .92rem/1.5 var(--fd)!important;color:var(--ink-2)!important}#estante .est-item{background:none!important;background-image:none!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;box-shadow:none!important;margin:0!important;padding:.8rem .2rem!important;min-height:56px;gap:.8rem!important;animation:none!important;transition:none!important;transform:none!important;overflow:hidden!important}#estante .est-item:hover{background-color:color-mix(in srgb,var(--c1) 4%,transparent)!important}#estante .est-n{width:2rem!important;min-width:2rem!important;height:auto!important;background:none!important;box-shadow:none!important;border:0!important;border-radius:0!important;justify-content:flex-start!important;font:600 .95rem/1.3 var(--fd)!important;color:var(--ink-2)!important;transform:none!important;transition:none!important}#estante .est-t{font:650 1rem/1.3 var(--fd)!important;letter-spacing:0!important;color:var(--ink)!important}#estante .est-s{font:400 .88rem/1.4 var(--fd)!important;color:var(--ink-2)!important;margin-top:.15rem!important}#estante .est-go{opacity:.6!important;font-size:1.2rem!important;transform:none!important;transition:none!important}#estante .est-parte{display:block!important;margin:2.6rem 0 .6rem!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;transition:none!important}#estante .est-parte .ep-t{display:inline!important;font:750 1.2rem/1.3 var(--fd)!important;color:var(--ink)!important;white-space:normal!important;text-transform:none!important;letter-spacing:0!important}#estante .est-parte .ep-l{display:none!important}#estante .est-parte .ep-c{display:inline!important;background:none!important;border:0!important;padding:0!important;margin-left:.45rem;font:500 .9rem/1.3 var(--fd)!important;color:var(--ink-2)!important}#estante .est-parte .ep-d{display:block!important;margin:.3rem 0 0!important;font:400 .95rem/1.5 var(--fb)!important;color:var(--ink-2)!important}#estante .est-parte.oculto,#estante .cb6-passos-h.oculto,#estante .cb6-passos-resto.oculto{display:none!important}#estante .cb6-passos-h{margin:1.3rem 0 .4rem}#estante .cb6-passos-h b{display:block;font:700 1.02rem/1.3 var(--fd);color:var(--c1)}#estante .cb6-passos-h span{display:block;margin-top:.15rem;font:400 .92rem/1.5 var(--fd);color:var(--ink-2)}#estante .est-item.est-comece{position:relative;border-top:0!important;padding-left:2.9rem!important}#estante .est-item.est-comece .est-n{display:none!important}#estante .est-item.est-comece::before{content:attr(data-passo);position:absolute;left:.2rem;top:.75rem;width:2rem;height:2rem;box-sizing:border-box;border-radius:50%;border:2px solid var(--c1);background:var(--card);color:var(--c1);font:700 .95rem/1.75rem var(--fd);text-align:center;z-index:1}#estante .est-item.est-comece:not(.cb6-passo-fim)::after{content:"";position:absolute;left:calc(1.2rem - 1px);top:2.75rem;bottom:0;border-left:2px solid color-mix(in srgb,var(--c1) 40%,var(--line))}#estante .est-item.est-comece:not(.cb6-passo-ini){background-image:linear-gradient( color-mix(in srgb,var(--c1) 40%,var(--line)),color-mix(in srgb,var(--c1) 40%,var(--line)))!important;background-repeat:no-repeat!important;background-size:2px .75rem!important;background-position:calc(1.2rem - 1px) 0!important}#estante .est-item.est-comece .est-s::before{content:"Capítulo " attr(data-num) " · "!important;color:var(--ink-2)!important;font-weight:400!important}#estante .cb6-passos-resto{margin:1.6rem 0 .4rem;font:650 .98rem/1.3 var(--fd);color:var(--ink)}#estante .cb6-passos-h,#estante .cb6-passos-resto,#estante .est-item.est-comece{grid-column:1/-1}.data,.ct-olho{background:none!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;text-transform:none!important;letter-spacing:0!important;font:500 .9rem/1.4 var(--fd)!important;color:var(--ink-2,#44546B)!important}.data i,.ct-olho i{display:none!important}#topo h1{font-size:clamp(1.9rem,1.1rem + 3.6vw,3.4rem)!important;line-height:1.1!important;max-width:24ch}#topo .topo-ben{list-style:none;padding:0;margin:1.3rem 0 0;display:grid;gap:.55rem;max-width:44rem}#topo .topo-ben li{position:relative;padding-left:1.5rem;color:var(--ink-2,var(--ink-soft));line-height:1.5}#topo .topo-ben li::before{content:"";position:absolute;left:.15rem;top:.5em;width:.55rem;height:.55rem;border-radius:50%;background:var(--c1)}#topo .topo-ben b{color:var(--ink)}#topo .topo-acoes{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.4rem 0 .2rem}#topo .topo-acoes .cb-btn{min-height:44px;display:inline-flex;align-items:center;text-decoration:none}#topo .lead-lin{white-space:nowrap}.cb5-cont-caixa{position:fixed;left:0;right:0;margin:0 auto;width:max-content;bottom:calc(4.8rem + env(safe-area-inset-bottom,0px));z-index:60;display:flex;align-items:stretch;gap:.25rem;max-width:min(94vw,460px);box-sizing:border-box;padding:.25rem;border-radius:16px;background:var(--card);border:1px solid var(--line);box-shadow:var(--sh-l)}.cb5-cont-caixa .resume-chip{position:static!important;transform:none!important;animation:none!important;box-shadow:none!important;flex:1 1 auto;min-width:0;min-height:44px;margin:0;padding:.5rem .9rem!important;border-radius:12px!important;border:0;background:none!important;color:var(--ink)!important;text-align:left;line-height:1.3;cursor:pointer}.cb5-cont-x{flex:none;min-height:44px;min-width:44px;padding:0 .9rem;border:0;border-left:1px solid var(--line);border-radius:0 12px 12px 0;background:none;color:var(--ink-2);font:600 max(.9rem,12.5px)/1 var(--fd);cursor:pointer}.cb5-cont-x:hover,.cb5-cont-x:focus-visible{color:var(--c4)}.resume-chip:not(.cb5-cont){background:var(--card)!important;color:var(--ink)!important;border:1px solid var(--line)!important}.resume-chip .rx{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:-.55rem -.5rem -.55rem 0;color:var(--ink-2)!important;opacity:1!important}@media print{.cb5-cont-caixa{display:none!important}}section.cap .desafio,section.cap .resolvido{margin:1.4rem 0;padding:1rem 1.1rem;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--c3);border-radius:12px}section.cap .resolvido{border-left-color:var(--c1)}.ds-cab,.rs-cab{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .7rem;margin:0 0 .5rem!important}.ds-tag,.rs-tag{display:inline-block;padding:.15rem .6rem;border-radius:999px;font:700 .85rem/1.4 var(--fd);color:var(--c3);border:1px solid color-mix(in srgb,var(--c3) 55%,transparent)}.rs-tag{color:var(--c1);border-color:color-mix(in srgb,var(--c1) 55%,transparent)}.ds-meta{font:500 .88rem/1.4 var(--fd);color:var(--ink-2)}section.cap .desafio h4,section.cap .resolvido h4{margin:.1rem 0 .5rem;font:750 1.05rem/1.35 var(--fd);color:var(--ink)}section.cap .desafio>p,section.cap .resolvido>p{margin:.5rem 0}.ds-passou{font:500 .95rem/1.55 var(--fd);color:var(--ink-2)}.ds-passou b{color:var(--ink)}section.cap details.ds-res{margin:.7rem 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:none;box-shadow:none;padding:0}section.cap details.ds-res>summary{display:flex;align-items:center;min-height:44px;padding:0;cursor:pointer;list-style:none;font:650 .95rem/1.3 var(--fd);color:var(--c1)}section.cap details.ds-res>summary::-webkit-details-marker{display:none}section.cap details.ds-res>summary::before{content:none!important;display:none!important}section.cap details.ds-res>summary::after{content:"";position:static;left:auto;top:auto;flex:0 0 auto;width:.5rem;height:.5rem;margin:0 0 0 .6rem;background:none;box-shadow:none;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}section.cap details.ds-res[open]>summary::after{transform:translateY(2px) rotate(-135deg)}section.cap details.ds-res>div{padding:.2rem 0 .3rem}ol.rs-passos{counter-reset:rp;list-style:none;margin:.6rem 0 .4rem!important;padding:0!important}ol.rs-passos>li{counter-increment:rp;position:relative;margin:0!important;padding:0 0 .9rem 2.6rem!important}ol.rs-passos>li::before{content:counter(rp);position:absolute;left:0;top:.05rem;width:1.8rem;height:1.8rem;border-radius:50%;display:grid;place-items:center;background:var(--c1);color:var(--sobre-forte,#fff);font:700 .9rem/1 var(--fd)}ol.rs-passos>li:not(:last-child)::after{content:"";position:absolute;left:.88rem;top:2rem;bottom:.15rem;width:2px;background:color-mix(in srgb,var(--c1) 30%,transparent)}ol.rs-passos>li>b:first-child{display:block;font:700 1rem/1.4 var(--fd);color:var(--ink)}.rs-fim{padding:.7rem .8rem;border-radius:10px;background:color-mix(in srgb,var(--c1) 6%,var(--card))}section.cap .resumo{margin:1.2rem 0 1.6rem;padding:1.3rem 1.2rem;border:1px solid var(--line);border-radius:16px;background:var(--card)}.rs-frase{margin:0 0 1.1rem!important;padding:0 0 1rem;border-bottom:1px solid var(--line);font:600 1.2rem/1.45 var(--fb);color:var(--ink)}.rs-frase small{display:block;margin:0 0 .3rem;font:650 .88rem/1.3 var(--fd);color:var(--c1)}ol.rs-grade{display:grid;grid-template-columns:1fr;gap:.6rem;margin:0!important;padding:0!important;list-style:none}@media (min-width:640px){ol.rs-grade{grid-template-columns:1fr 1fr}}ol.rs-grade>li{display:grid;grid-template-columns:auto 1fr;gap:.1rem .7rem;align-items:start;margin:0!important;padding:.8rem .85rem!important;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.rs-n{grid-row:span 3;display:grid;place-items:center;width:2rem;height:2rem;border-radius:9px;background:color-mix(in srgb,var(--c1) 12%,var(--card));color:var(--c1);font:800 .95rem/1 var(--fd)}ol.rs-grade>li>b{font:700 1rem/1.35 var(--fd);color:var(--ink)}ol.rs-grade>li>span:not(.rs-n){font:500 .92rem/1.45 var(--fd);color:var(--ink-2)}ol.rs-grade>li>a.xref{justify-self:start;display:inline-flex;align-items:center;min-height:44px;font:650 .9rem/1 var(--fd)}.rs-fluxo{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:1.1rem 0 0!important}.rs-fluxo>b{flex-basis:100%;font:700 .95rem/1.3 var(--fd);color:var(--ink)}.rs-fluxo>span{padding:.45rem .75rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--c1) 45%,transparent);font:600 .9rem/1.3 var(--fd);color:var(--ink)}.rs-fluxo>span+span::before{content:"\2192";margin:0 .55rem 0 -.25rem;color:var(--c1)}.rs-dois{display:grid;grid-template-columns:1fr;gap:.8rem;margin:1.1rem 0 0}@media (min-width:640px){.rs-dois{grid-template-columns:1fr 1fr}}.rs-dois>div{padding:.8rem .9rem;border-radius:12px;background:var(--bg);border:1px solid var(--line)}.rs-dois>div>b{display:block;margin:0 0 .4rem;font:700 .95rem/1.3 var(--fd);color:var(--ink)}.rs-dois ul{margin:0!important;padding:0!important;list-style:none}.rs-dois li{position:relative;margin:.25rem 0!important;padding-left:1.1rem!important;font:500 .92rem/1.5 var(--fd);color:var(--ink-2)}.rs-dois li::before{content:"";position:absolute;left:0;top:.55em;width:.5rem;height:.5rem;border-radius:50%;background:var(--c3)}.rs-dois .rs-nao li::before{background:var(--c4)}.rs-prox{margin:1.1rem 0 0!important;font:500 .95rem/1.55 var(--fd);color:var(--ink-2)}.rs-prox b{color:var(--ink)}section.cap>.cb-miolo{min-height:40vh}section.cap>.cb-miolo.cb-miolo-vem{display:flex;justify-content:center;padding:2rem 0}section.cap>.cb-miolo.cb-miolo-vem::before{content:"Carregando o capítulo…";font:500 .95rem/1.5 var(--fd);color:var(--ink-2,#44546B)}section.cap>.cb-miolo.cb-miolo-erro{min-height:0;margin:2rem 0;padding:1rem 1.1rem;border:1px solid var(--line);border-left:3px solid var(--c4);border-radius:12px;background:var(--card)}.cb-miolo-erro p{margin:0 0 .7rem;font:500 .95rem/1.5 var(--fd);color:var(--ink)}.cb-miolo-bt{display:inline-flex;align-items:center;min-height:44px;padding:0 1rem;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--ink)!important;font:600 .92rem/1 var(--fd);text-decoration:none!important;cursor:pointer}@media print{section.cap>.cb-miolo{display:none}}@media screen{body.kamum:not(.exam-mode) section.cap>.cb-depois{display:none!important}}@media screen{body.kamum:not(.exam-mode) section.cap:has(>.cb-continuar)>.cb-fim{display:none!important}}body:not(.kamum) .cb-continuar,body.exam-mode .cb-continuar{display:none}.cb-continuar{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin:2.2rem 0 1rem;padding:.8rem 1.1rem;border:1px solid var(--c1);border-radius:14px;background:var(--card);color:var(--c1)!important;font:650 1rem/1.35 var(--fd);text-align:center;cursor:pointer}.cb-continuar:hover,.cb-continuar:focus-visible{background:color-mix(in srgb,var(--c1) 8%,var(--card))}@media print{.cb-continuar{display:none!important}}@media (min-width:1000px){body.cbd:not(.d-sem-e) #visualBtn{display:none!important}}:root{--fh:"Cinzel","Iowan Old Style","Times New Roman",serif;--cdx-fio:color-mix(in srgb,var(--c2) 55%,transparent);--cdx-luz:transparent;--cdx-fundo:none;--cdx-filete:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 20'%3E%3Cpath d='M2 4C14 4 20 15 44 16L46 5C60 5 68 13 92 14L94 5C110 5 118 11 142 12L144 5C164 5 176 9 206 10H236' fill='none' stroke='%23000' stroke-width='1.3'/%3E%3Ccircle cx='46' cy='5' r='2.6'/%3E%3Ccircle cx='94' cy='5' r='2.6'/%3E%3Ccircle cx='144' cy='5' r='2.6'/%3E%3Crect x='234' y='8' width='5' height='5'/%3E%3Crect x='0' y='2' width='4' height='4'/%3E%3C/svg%3E");--cdx-selo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M20 1l3 3.4 4.4-1.3 1.4 4.3 4.5.6-.4 4.5 4 2.1-1.9 4.1 2.6 3.7-3.4 3 1 4.4-4.4 1.2-.9 4.5-4.5-.2-2.4 3.9-3.9-2.3L16 39l-2.5-3.8-4.5.3-.9-4.4-4.4-1.2 1-4.4-3.4-3 2.6-3.7L1 14.7l4-2.1-.4-4.5 4.5-.6 1.4-4.3 4.4 1.3z'/%3E%3C/svg%3E")}:root[data-theme="dark"],:root[data-tema="escuro"]{--cdx-luz:rgba(63,224,208,.28);--cdx-fundo:radial-gradient(900px 520px at 8% -8%,rgba(63,224,208,.07),transparent 62%),radial-gradient(760px 480px at 108% 4%,rgba(201,162,75,.06),transparent 60%)}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]):not([data-tema="claro"]){--cdx-luz:rgba(63,224,208,.28);--cdx-fundo:radial-gradient(900px 520px at 8% -8%,rgba(63,224,208,.07),transparent 62%),radial-gradient(760px 480px at 108% 4%,rgba(201,162,75,.06),transparent 60%)}}:root[data-theme="light"],:root[data-tema="claro"]{--cdx-fundo:radial-gradient(1100px 600px at 50% -20%,rgba(201,162,75,.10),transparent 65%)}@media (prefers-color-scheme:light){:root:not([data-theme="dark"]):not([data-tema="escuro"]){--cdx-fundo:radial-gradient(1100px 600px at 50% -20%,rgba(201,162,75,.10),transparent 65%)}}body{background-image:var(--cdx-fundo)!important;background-repeat:no-repeat!important}::selection{background:color-mix(in srgb,var(--c1) 28%,transparent);color:inherit}h1,h2,.cap-head h2,.in-h1,.hm-t,.cb-doc-t,.pc-t,.est-parte,.hub-h b,.est-h b{font-family:var(--fh)!important;font-weight:700!important;letter-spacing:0!important;font-stretch:normal!important}.cap-head h2{line-height:1.18!important;text-wrap:balance}section.cap>h3,.cb-doc h2,main h3{font-family:var(--fh)!important;font-weight:700!important;letter-spacing:0!important}section.cap>h3 .step,h3 .step{font-family:var(--fd)!important;color:var(--c4)!important}section.cap>h3 .step::before,.cdx-lt-pag>h3 .step::before{content:"¶ ";font-family:var(--fb);font-weight:700}.est-n,.cap-num{font-family:var(--fh)!important;font-weight:700!important}.cap-num{color:var(--c2)!important;letter-spacing:0!important}.cap-num::before{content:"✦";margin-right:.45em;color:var(--c1);font-weight:400}.cap-head::after{content:"";display:block;width:min(240px,64%);height:20px;margin:.9rem 0 .2rem;background:var(--cdx-fio);-webkit-mask:var(--cdx-filete) left center/contain no-repeat;mask:var(--cdx-filete) left center/contain no-repeat}.cap-num[data-romano]{display:inline-flex!important;align-items:center;gap:.6rem}.cap-num[data-romano]::after{content:attr(data-romano);display:inline-grid;place-items:center;min-width:2.4rem;height:2.4rem;padding:0 .3rem;font:700 .82rem/1 var(--fh);letter-spacing:0;color:#F6E9CB;background:radial-gradient(circle at 38% 32%,#C4434C,#8E2129 62%,#6E1820);-webkit-mask:var(--cdx-selo) center/100% 100% no-repeat;mask:var(--cdx-selo) center/100% 100% no-repeat}section.cap>p.cap-sub::first-letter,.cdx-lt-pag>p.cap-sub::first-letter{float:left;font-family:"Fraktur Capitular",var(--fh);font-weight:400;font-size:3.1em;line-height:.9;padding:.08em .14em .02em;margin:.06em .16em 0 0;color:var(--c2);background:var(--card);border:1px solid var(--cdx-fio);border-radius:3px;box-shadow:3px 3px 0 -1px var(--c1);text-shadow:0 0 18px var(--cdx-luz)}section.cap>h3{position:relative;padding-top:1.6rem!important}section.cap>h3::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--line) 18%,var(--line) 82%,transparent)}section.cap>h3::after{content:"◆";position:absolute;left:50%;top:-.62em;transform:translateX(-50%);font-size:.7rem;line-height:1;color:var(--c2);background:var(--bg);padding:0 .5em;font-family:var(--fd)}.toc b{font-family:var(--fh)!important;color:var(--c2)!important}section.cap .cap-done{display:none!important}body.kamum.lendo section.cap.ativo{margin-top:.4rem!important;padding-top:calc(var(--abCbH,52px) + .8rem)!important}.cdx-contas{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:.5rem 0 .2rem;font:500 max(.8rem,12.5px)/1.4 var(--fd);color:var(--ink-2)}.cdx-contas i{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--cdx-fio);flex:0 0 auto}.cdx-contas i.lida{background:var(--c2);border-color:var(--c2);box-shadow:0 0 8px var(--cdx-luz)}.cdx-contas span{margin-left:.35rem}.hm-t{font-size:clamp(2rem,7vw,2.9rem)!important;line-height:1.1!important}.hm-t em{color:var(--c1)!important;font-style:normal!important}#heroMini .hm-t::after{content:"Ars memoriae · Lux in tenebris";display:block;margin-top:.45rem;font:600 .82rem/1.5 var(--fh);color:var(--c2);letter-spacing:.04em}.est-parte{color:var(--c2)!important}.est-item .est-n{color:var(--c2)!important}.est-item:hover,.est-item:focus-visible{border-color:color-mix(in srgb,var(--c1) 55%,var(--line))!important}.cb-btn-pri{border-radius:10px!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--c1) 60%,transparent),0 8px 26px -12px var(--cdx-luz)!important}.cb-btn-sec{border-radius:10px!important;border:1px solid var(--cdx-fio)!important;background:transparent!important}.box,.alegoria,.howto,.quote,.comece,.toc{box-shadow:inset 0 1px 0 color-mix(in srgb,var(--ink) 4%,transparent)!important}main a:not(.cb-btn):not(.est-item){text-decoration-color:color-mix(in srgb,var(--c2) 55%,transparent)}nav{border-bottom-color:color-mix(in srgb,var(--c2) 30%,var(--line))!important}.cdx-dobra{margin:1rem 0;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:none!important;overflow:visible}.cdx-dobra>summary{list-style:none;display:flex;align-items:center;gap:.6rem;min-height:44px;padding:.55rem 1rem;cursor:pointer;font:650 .98rem/1.35 var(--fd);color:var(--ink);border-radius:12px}.cdx-dobra>summary::-webkit-details-marker{display:none}.cdx-dobra>summary::before{content:none!important;display:none!important}.cdx-dobra>summary::after{content:""!important;position:static!important;flex:0 0 auto;margin:0 0 0 auto!important;width:8px!important;height:8px!important;background:none!important;box-shadow:none!important;border-right:2px solid var(--c2);border-bottom:2px solid var(--c2);transform:translateY(-2px) rotate(45deg)!important;transition:transform .2s}.cdx-dobra[open]>summary::after{transform:translateY(2px) rotate(-135deg)!important}.cdx-dobra>summary:focus-visible{outline:2px solid var(--c1);outline-offset:2px}.cdx-dobra>:not(summary){margin-left:1rem;margin-right:1rem}.cdx-dobra[open]{padding-bottom:.6rem}.cdx-dobra .cdx-dobra{background:transparent;border-style:dashed}.cdx-dobra-n{font-weight:500;font-size:.9em;color:var(--ink-2)}.toc>.cdx-dobra-toc{margin:0!important;border:0!important;background:none!important;box-shadow:none!important;border-radius:0!important}.toc>.cdx-dobra-toc>summary{padding:.35rem 0!important;gap:.7rem;background:none!important}.toc>.cdx-dobra-toc>summary b{display:inline!important;margin:0!important}.toc>.cdx-dobra-toc>:not(summary){margin-left:0;margin-right:0}.cdx-dobra-doc{margin:.7rem 0}.cdx-dobra-doc>summary{padding:.7rem 1rem}.cdx-dobra-doc>summary h2{margin:0!important;padding:0!important;border:0!important;font-size:1.12rem!important;line-height:1.35!important}.cdx-dobra-doc>summary h2::before,.cdx-dobra-doc>summary h2::after{display:none!important}.cdx-dobra-todas{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.2rem 0 .4rem}.cdx-dobra-todas button{min-height:44px;padding:.5rem 1rem;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:600 .92rem/1.2 var(--fd);cursor:pointer}#fontes>.cdx-dobra-fontes{margin-top:1.2rem}html[data-visual="superleve"] .cdx-dobra>summary::after{transition:none}.cb4-vis-item{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:.85rem!important;text-align:left!important}.cb4-vis-tx{align-items:flex-start}.cb4-vis-item[aria-pressed="true"]{border-color:var(--c1)!important;box-shadow:0 0 0 1px var(--c1) inset!important}.cb4-vis-tx{display:flex;flex-direction:column;gap:.15rem;min-width:0}.cb4-vis-mini{flex:0 0 auto;width:52px;height:40px;border-radius:7px;border:1px solid var(--line);background:var(--bg);display:flex;flex-direction:column;justify-content:center;gap:4px;padding:6px;overflow:hidden}.cb4-vis-mini i{display:block;height:4px;border-radius:2px;background:var(--ink-soft);opacity:.55}.cb4-vis-mini i:first-child{width:62%;height:6px;background:var(--c2);opacity:.9}.cb4-vis-mini i:last-child{width:80%}.cb4-vis-mini[data-mini="superleve"] i:first-child{background:var(--ink-soft)}.cb4-vis-mini[data-mini="ultra"]{box-shadow:0 0 0 1px color-mix(in srgb,var(--c1) 50%,transparent) inset}.cb4-vis-mini[data-mini="ultra"] i:first-child{box-shadow:0 0 8px var(--c1)}.cb4-vis-mini[data-mini="ultradetalhado"]{background: radial-gradient(circle at 25% 30%,color-mix(in srgb,var(--c1) 35%,transparent),transparent 45%),radial-gradient(circle at 80% 75%,color-mix(in srgb,var(--c2) 35%,transparent),transparent 45%),var(--bg)}.cdx-ler-livro{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;margin:.7rem 0 .3rem;padding:.5rem 1.05rem;border-radius:10px;border:1px solid var(--cdx-fio);background:var(--card);color:var(--ink);font:600 .95rem/1.2 var(--fd);cursor:pointer}.cdx-ler-livro::before{content:"";width:18px;height:14px;flex:0 0 auto;background:var(--c2);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 14'%3E%3Cpath d='M9 2.5C7 1 4 .8 1 1.2v10.6c3-.4 6-.2 8 1.2 2-1.4 5-1.6 8-1.2V1.2C14 .8 11 1 9 2.5zM9 2.5V13' fill='none' stroke='%23000' stroke-width='1.4' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 14'%3E%3Cpath d='M9 2.5C7 1 4 .8 1 1.2v10.6c3-.4 6-.2 8 1.2 2-1.4 5-1.6 8-1.2V1.2C14 .8 11 1 9 2.5zM9 2.5V13' fill='none' stroke='%23000' stroke-width='1.4' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}@media print{.cdx-ler-livro{display:none!important}}html.cdx-lendo-livro,html.cdx-lendo-livro body{overflow:hidden!important}.cdx-leitor{position:fixed;inset:0;z-index:2000;display:flex;flex-direction:column;background:var(--bg);background-image:var(--cdx-fundo);color:var(--ink)}.cdx-lt-folha{position:fixed;inset:0;z-index:2100;display:flex;align-items:flex-end;justify-content:center}.cdx-lt-folha-fundo{position:absolute;inset:0;background:rgba(10,15,30,.5)}.cdx-lt-folha-cx{position:relative;width:100%;max-width:520px;max-height:85vh;overflow:auto;background:var(--card);color:var(--ink);border:1px solid var(--line,var(--linha));border-bottom:0;border-radius:18px 18px 0 0;padding:.6rem 1rem calc(1rem + env(safe-area-inset-bottom));box-shadow:0 -12px 40px -18px rgba(0,0,0,.5)}@media (min-width:700px){.cdx-lt-folha{align-items:center}.cdx-lt-folha-cx{border-radius:18px;border-bottom:1px solid var(--line,var(--linha))}}.cdx-lt-folha-topo{display:flex;align-items:center;justify-content:space-between;min-height:44px;margin-bottom:.4rem}.cdx-lt-folha-topo b{font:750 1.05rem/1.2 var(--fd)}.cdx-lt-fechar{min-height:44px;padding:0 .9rem;border-radius:999px;border:1px solid var(--line,var(--linha));background:transparent;color:var(--ink-2,var(--ink2));font:600 .88rem/1 var(--fd);cursor:pointer}.cdx-lt-item{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;min-height:56px;padding:.7rem .9rem;margin:0 0 .4rem;border-radius:12px;border:1px solid var(--line,var(--linha));background:var(--bg);color:var(--ink);text-align:left;cursor:pointer}.cdx-lt-item:hover,.cdx-lt-item:focus-visible{border-color:var(--c1)}.cdx-lt-item[aria-current="true"]{border-color:var(--c2);box-shadow:inset 3px 0 0 var(--c2)}.cdx-lt-item-t{font:650 .98rem/1.3 var(--fd)}.cdx-lt-item-d{font:400 .85rem/1.4 var(--fd);color:var(--ink-2,var(--ink2))}.cdx-lt-topo,.cdx-lt-pe{position:relative;flex:0 0 auto;display:flex;align-items:center;gap:.5rem;padding:6px max(10px,calc(50vw - 360px));background:color-mix(in srgb,var(--bg) 92%,transparent)}.cdx-lt-topo{border-bottom:1px solid var(--line,var(--linha))}.cdx-lt-pe{border-top:1px solid var(--line,var(--linha));padding-bottom:max(6px,env(safe-area-inset-bottom))}.cdx-lt-tit{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:700 .9rem/1.2 var(--fh);color:var(--c2)}.cdx-lt-bt{min-width:44px;min-height:44px;padding:0 .8rem;border-radius:10px;border:1px solid var(--line,var(--linha));background:var(--card);color:var(--ink);font:600 .95rem/1 var(--fd);cursor:pointer}.cdx-lt-bt:disabled{opacity:.35;cursor:default}.cdx-lt-bt{display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.cdx-lt-ic{flex:0 0 auto;color:var(--c2)}.cdx-lt-ant .cdx-lt-ic,.cdx-lt-prox .cdx-lt-ic{width:22px;height:22px;color:var(--ink)}@media (max-width:420px){.cdx-lt-aa .cdx-lt-ic{display:none}}.cdx-lt-aa{font-family:var(--fb);font-size:1.05rem;font-weight:600}.cdx-lt-ant,.cdx-lt-prox{font-size:1.4rem;width:52px}.cdx-lt-barra{position:absolute;left:0;right:0;bottom:-1px;height:2px}.cdx-lt-barra i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--c2),var(--c1));transition:width .3s}.cdx-lt-meio{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;line-height:1.25}.cdx-lt-onde{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:600 .9rem/1.3 var(--fd);color:var(--ink)}.cdx-lt-conta{font:500 .82rem/1.3 var(--fd);color:var(--ink-2,var(--ink2))}.cdx-lt-rolo{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.cdx-lt-miolo{max-width:36rem;margin:0 auto;padding:1.6rem 20px 2.4rem;font-size:calc(1rem * var(--cdx-lt-fs,1))}.cdx-lt-miolo p,.cdx-lt-miolo li,.cdx-lt-miolo dd,.cdx-lt-miolo dt,.cdx-lt-miolo blockquote{font-size:calc(1.08rem * var(--cdx-lt-fs,1))!important;line-height:1.75!important}.cdx-lt-capa{text-align:center;margin:.4rem 0 1.4rem}.cdx-lt-capa-n{display:block;font:700 .9rem/1.3 var(--fh);color:var(--c2);margin-bottom:.4rem}.cdx-lt-capa-t{font:700 clamp(1.5rem,6vw,2.1rem)/1.2 var(--fh);margin:0;text-wrap:balance;color:var(--ink)}.cdx-lt-capa::after{content:"";display:block;width:180px;height:14px;margin:1rem auto 0;background:var(--cdx-fio);-webkit-mask:var(--cdx-filete) center/contain no-repeat;mask:var(--cdx-filete) center/contain no-repeat}.cdx-lt-pag>h3{margin-top:.2rem!important;padding-top:0!important;font-size:calc(1.35rem * var(--cdx-lt-fs,1))!important}.cdx-lt-pag>h3::before,.cdx-lt-pag>h3::after{display:none!important}.cdx-lt-pag>h2.bl-t{margin-top:.2rem!important;font-size:calc(1.4rem * var(--cdx-lt-fs,1))!important}.cdx-lt-pag>h3.bl-st{font-size:calc(1.15rem * var(--cdx-lt-fs,1))!important}.cdx-lt-pag figure,.cdx-lt-pag table,.cdx-lt-pag .dgm{max-width:100%}.cdx-lt-fim{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;min-height:64px;margin:2.4rem 0 0;padding:.85rem 1.1rem;border-radius:12px;border:1px solid var(--cdx-fio);background:var(--card);color:var(--ink);text-align:left;cursor:pointer}.cdx-lt-fim[hidden]{display:none}.cdx-lt-fim-r{font:600 .85rem/1.3 var(--fd);color:var(--c2)}.cdx-lt-fim-t{font:700 1.02rem/1.35 var(--fh);color:var(--ink)}.cdx-lt-fim-t::after{content:" ›";color:var(--c1)}.cdx-lt-vem-dir{animation:cdx-lt-dir .32s cubic-bezier(.16,1,.3,1)}.cdx-lt-vem-esq{animation:cdx-lt-esq .32s cubic-bezier(.16,1,.3,1)}@keyframes cdx-lt-dir{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}@keyframes cdx-lt-esq{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}html[data-visual="superleve"] .cdx-lt-vem-dir,html[data-visual="superleve"] .cdx-lt-vem-esq{animation:none}@media (prefers-reduced-motion:reduce){.cdx-lt-vem-dir,.cdx-lt-vem-esq{animation:none}}@media print{.cdx-leitor{display:none!important}}html[data-visual="superleve"]{--fb:Georgia,"Times New Roman",serif!important;--fd:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif!important;--fm:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif!important;--fh:Georgia,"Times New Roman",serif!important}html[data-visual="superleve"] body{background-image:none!important}html[data-visual="superleve"] *,html[data-visual="superleve"] *::before,html[data-visual="superleve"] *::after{box-shadow:none!important;text-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}html[data-visual="superleve"] #capBar,html[data-visual="superleve"] body>nav,html[data-visual="superleve"] header.top{background-color:var(--bg)!important}html[data-visual="superleve"] #visualBtn{background-color:var(--card)!important}html[data-visual="superleve"] .cap-head::after,html[data-visual="superleve"] section.cap>h3::after,html[data-visual="superleve"] #heroMini .hm-t::after,html[data-visual="superleve"] .cap-num::before,html[data-visual="superleve"] .cap-num[data-romano]::after{display:none!important}html[data-visual="superleve"] section.cap>p.cap-sub::first-letter,html[data-visual="superleve"] .cdx-lt-pag>p.cap-sub::first-letter{font-family:Georgia,serif;background:none;border:0;box-shadow:none}html[data-visual="superleve"] figure.dgm:not(.cdx-aberto)>*:not(.cdx-ver-dgm){display:none!important}html[data-visual="superleve"] .cdx-ver-dgm{display:flex}.cdx-ver-dgm{display:none;align-items:center;justify-content:center;min-height:44px;width:100%;border:1px dashed var(--line);border-radius:10px;background:var(--card);color:var(--c1);font:600 .95rem/1.3 var(--fd);cursor:pointer;margin:.4rem 0}html[data-visual^="ultra"] body{background-image: linear-gradient(color-mix(in srgb,var(--c1) 5%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--c1) 5%,transparent) 1px,transparent 1px),var(--cdx-fundo)!important;background-size:34px 34px,34px 34px,auto!important}html[data-visual^="ultra"] .cap-head h2,html[data-visual^="ultra"] .hm-t{text-shadow:0 0 26px var(--cdx-luz)}html[data-visual^="ultra"] .box,html[data-visual^="ultra"] .alegoria,html[data-visual^="ultra"] .howto,html[data-visual^="ultra"] .quote,html[data-visual^="ultra"] .comece{position:relative}html[data-visual^="ultra"] .box::after,html[data-visual^="ultra"] .alegoria::after,html[data-visual^="ultra"] .howto::after,html[data-visual^="ultra"] .comece::after{content:"";position:absolute;right:7px;top:7px;width:14px;height:14px;border-top:1px solid var(--c2);border-right:1px solid var(--c2);opacity:.75;pointer-events:none}html[data-visual^="ultra"] .est-item{transition:transform .25s cubic-bezier(.16,1,.3,1),border-color .25s,box-shadow .25s}html[data-visual^="ultra"] .est-item:hover{transform:translateX(3px);box-shadow:-3px 0 0 var(--c1),0 10px 30px -18px var(--cdx-luz)!important}html[data-visual^="ultra"] .cb-btn-pri{transition:box-shadow .25s,transform .25s}html[data-visual^="ultra"] .cb-btn-pri:hover{transform:translateY(-1px);box-shadow:0 0 0 1px var(--c1),0 0 26px -4px var(--cdx-luz)!important}html[data-visual^="ultra"] section.cap.ativo{animation:cdx-cap .55s cubic-bezier(.16,1,.3,1) both}html[data-visual^="ultra"] #bar{background:linear-gradient(90deg,var(--c2),var(--c1))!important;box-shadow:0 0 12px var(--cdx-luz)}@keyframes cdx-cap{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){html[data-visual^="ultra"] section.cap.ativo{animation:none}html[data-visual^="ultra"] .est-item:hover,html[data-visual^="ultra"] .cb-btn-pri:hover{transform:none}}@media print{body{background-image:none!important}.cap-head::after,section.cap>h3::after,section.cap>h3::before{display:none!important}}.d-ic{display:block;color:var(--c2)}[data-d="tema"] .d-ic-sol,[data-d="tema"][data-escuro="1"] .d-ic-lua{display:none}[data-d="tema"][data-escuro="1"] .d-ic-sol{display:block}.cb6-dobra-est:not(.cb6-filtrando):not(.cb6-aberto-g0) .est-item[data-g="0"]:not(.est-comece),.cb6-dobra-est:not(.cb6-filtrando):not(.cb6-aberto-g1) .est-item[data-g="1"],.cb6-dobra-est:not(.cb6-filtrando):not(.cb6-aberto-g2) .est-item[data-g="2"],.cb6-dobra-est:not(.cb6-filtrando):not(.cb6-aberto-g3) .est-item[data-g="3"]{display:none!important}#estante button.cb6-passos-resto,#estante .cb6-parte-dobra{display:flex!important;align-items:center;gap:.6rem;width:100%;min-height:52px;padding:.7rem 1rem!important;border:1px solid var(--line)!important;border-radius:12px!important;background:var(--card)!important;color:var(--ink);text-align:left;cursor:pointer;flex-wrap:wrap}#estante button.cb6-passos-resto::after,#estante .cb6-parte-dobra::after{content:"";flex:0 0 auto;margin-left:auto;width:8px;height:8px;border-right:2px solid var(--c2);border-bottom:2px solid var(--c2);transform:translateY(-2px) rotate(45deg);transition:transform .2s}#estante [aria-expanded="true"].cb6-passos-resto::after,#estante .cb6-parte-dobra[aria-expanded="true"]::after{transform:translateY(2px) rotate(-135deg)}#estante .cb6-parte-dobra:focus-visible,#estante button.cb6-passos-resto:focus-visible{outline:2px solid var(--c1);outline-offset:2px}.cb6-dobra-n{font:500 .88rem/1.3 var(--fd);color:var(--ink-2)}#estante .cb6-parte-dobra{position:relative;padding-right:2.6rem!important}#estante .cb6-parte-dobra::after{position:absolute;right:1.1rem;top:1.25rem;margin:0}
