/* Os três pitches de um lançamento. Sistema Brasa da Kairos: neutros quentes, laranja em camadas só no que decide,
   estrutura em linha fina, Mona Sans, Fraunces itálica para a voz do público e Fragment Mono só para o minuto da aula.
   Sem anel laranja de 1 px, sem tabular-nums, sem texto em gradiente. Toda cor mora nos blocos de tokens. */

@font-face { font-family: "Mona Sans"; src: url("fonts/mona-sans.woff2") format("woff2"); font-weight: 200 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Fragment Mono"; src: url("fonts/fragment-mono.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Fraunces"; src: url("fonts/fraunces-italico.woff2") format("woff2"); font-weight: 100 900; font-style: italic; font-display: swap; }

:root {
  --fonte: "Mona Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: "Fragment Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  --serifa: "Fraunces", Georgia, "Times New Roman", serif;
  --topo-altura: 60px;
  --saida: cubic-bezier(.16, 1, .3, 1);
  --mola: linear(0, .009, .035 2.1%, .141 4.4%, .723 12.9%, .938 16.7%, 1.017 18.8%, 1.077 21.1%, 1.121 24%, 1.149 27.3%, 1.159 31.1%, 1.14 38.4%, 1.05 58.1%, 1.012 71.6%, 1.001 85.3%, 1);
  --titulo: 660;
  --forte: 600;
  --medio: 520;
  --ic-x: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'><path d='M18 6 6 18M6 6l12 12'/></svg>");
  --ic-ok: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>");
}

:root, :root[data-tema="escuro"] {
  color-scheme: dark;
  --mat: #060302; --chao: #0d0805; --chao-luz: #231509;
  --cartao: #140e09; --cartao-2: #1a130c; --cartao-3: #231a11;
  --vidro-forte: rgba(13, 8, 5, .86);
  --linha: rgba(255, 226, 196, .1); --linha-forte: rgba(255, 226, 196, .2);
  --texto: #f8f2e9; --texto-2: #d6c9b8; --texto-3: #a99a87;
  --acento: #f97316; --acento-texto: #fb923c; --acento-suave: #2c1809; --acento-anel: rgba(249, 115, 22, .3); --acento-fundo: #c2410c;
  --ok: #4ade80; --ok-fundo: #0d2015; --erro: #f87171; --erro-fundo: #2a1212;
  --primario: #f8f2e9; --primario-texto: #0d0805;
  --serie-destaque: #f97316;
  --bolha-gente: #2a1d12; --bolha-conta: #231a11;
  --veu: rgba(4, 2, 1, .66);
  --grad-acao: linear-gradient(180deg, #dc4b0e, #a8380b);
  --halo-acao: inset 0 1px 0 rgba(255, 255, 255, .2), 0 1px 2px rgba(0, 0, 0, .5), 0 10px 26px -10px rgba(249, 115, 22, .62);
  --halo-acao-forte: inset 0 1px 0 rgba(255, 255, 255, .26), 0 1px 2px rgba(0, 0, 0, .5), 0 14px 36px -10px rgba(249, 115, 22, .85);
  --sombra-1: inset 0 1px 0 rgba(255, 240, 225, .05), 0 1px 2px rgba(0, 0, 0, .35), 0 14px 32px -24px rgba(0, 0, 0, .9);
  --sombra-3: inset 0 1px 0 rgba(255, 240, 225, .08), 0 36px 90px -30px rgba(0, 0, 0, .92), 0 6px 16px -6px rgba(0, 0, 0, .55);
  --brasa-a: rgba(249, 115, 22, .15);
  --brilho-linha: rgba(249, 115, 22, .6);
  --linha-pitch: rgba(194, 65, 12, .3);
  --n1: #231a11; --n2: #3a1e0c; --n3: #62290c; --n4: #9a3412; --n5: #c2410c; --n-txt1: #d6c9b8; --n-txt3: #f8f2e9;
  --bloco-c: #2b2117; --bloco-t: #6b2e0e; --bloco-x: #ea580c; --bloco-p: rgba(255, 226, 196, .14); --bloco-a: #fb923c;
  --ruido: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .025 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  --leve: 420;
}

:root[data-tema="claro"] {
  color-scheme: light;
  --mat: #efe8df; --chao: #f9f5f0; --chao-luz: #ffffff;
  --cartao: #ffffff; --cartao-2: #fbf8f4; --cartao-3: #f3ede6;
  --vidro-forte: rgba(252, 249, 245, .9);
  --linha: rgba(70, 42, 16, .12); --linha-forte: rgba(70, 42, 16, .24);
  --texto: #17110b; --texto-2: #453b31; --texto-3: #6b6055;
  --acento: #ea580c; --acento-texto: #c2410c; --acento-suave: #fff0e4; --acento-anel: rgba(234, 88, 12, .24); --acento-fundo: #c2410c;
  --ok: #15803d; --ok-fundo: #ecfdf3; --erro: #b91c1c; --erro-fundo: #fef2f2;
  --primario: #17110b; --primario-texto: #fbf8f5;
  --serie-destaque: #ea580c;
  --bolha-gente: #fff0e4; --bolha-conta: #f3ede6;
  --veu: rgba(30, 20, 10, .36);
  --grad-acao: linear-gradient(180deg, #d4450c, #a8380b);
  --halo-acao: inset 0 1px 0 rgba(255, 255, 255, .22), 0 1px 2px rgba(120, 50, 10, .3), 0 8px 20px -10px rgba(194, 65, 12, .7);
  --halo-acao-forte: inset 0 1px 0 rgba(255, 255, 255, .28), 0 1px 2px rgba(120, 50, 10, .3), 0 12px 30px -10px rgba(194, 65, 12, .85);
  --sombra-1: 0 1px 2px rgba(40, 24, 10, .05), 0 10px 24px -20px rgba(40, 24, 10, .22);
  --sombra-3: 0 32px 80px -28px rgba(40, 24, 10, .36), 0 6px 16px -6px rgba(40, 24, 10, .1);
  --brasa-a: rgba(234, 88, 12, .1);
  --brilho-linha: rgba(234, 88, 12, .32);
  --linha-pitch: #ffe9d8;
  --n1: #f3ede6; --n2: #fde7d5; --n3: #fbc9a0; --n4: #c2410c; --n5: #9a3412; --n-txt1: #453b31; --n-txt3: #17110b;
  --bloco-c: #e9e0d5; --bloco-t: #fbc9a0; --bloco-x: #ea580c; --bloco-p: rgba(70, 42, 16, .16); --bloco-a: #f97316;
  --ruido: none;
  --leve: 440;
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--topo-altura) + 24px); -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--chao) var(--ruido); color: var(--texto-2); font-family: var(--fonte); font-weight: var(--leve); font-size: 17px; line-height: 1.65; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
body.travado { overflow: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--acento-texto); }
h1, h2, h3, h4 { color: var(--texto); margin: 0; font-weight: var(--titulo); text-wrap: balance; }
h2 { font-size: clamp(30px, 3.4vw, 44px); line-height: 1.08; letter-spacing: -.028em; }
h3 { font-size: 22px; line-height: 1.2; letter-spacing: -.016em; }
h4 { font-size: 16px; line-height: 1.3; letter-spacing: -.008em; font-weight: var(--forte); }
strong { color: var(--texto); font-weight: var(--forte); }
p { margin: 0; text-wrap: pretty; }
cite { font: 400 11.5px/1 var(--mono); color: var(--texto-3); font-style: normal; white-space: nowrap; margin-left: 3px; }
cite::before { content: "aula "; }
.sprites { position: absolute; }
.ico { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; flex: none; }
:focus-visible { outline: 2px solid var(--acento); outline-offset: 2px; border-radius: 4px; }
::selection { background: var(--acento-anel); }
.pular { position: fixed; left: 12px; top: -60px; z-index: 90; background: var(--primario); color: var(--primario-texto); padding: 10px 14px; border-radius: 10px; text-decoration: none; font-weight: 600; font-size: 14px; }
.pular:focus { top: 10px; }
.so-pdf { display: none; }

/* ---------- Botões ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: 11px; border: 1px solid transparent; background: none; font: 600 14px/1 var(--fonte); letter-spacing: -.003em; text-decoration: none; cursor: pointer; white-space: nowrap; transition: transform .18s var(--saida), box-shadow .18s var(--saida), background-color .18s, border-color .18s, color .18s; }
.btn:active { transform: translateY(1px); }
.btn-principal { background: var(--grad-acao); color: #fff; box-shadow: var(--halo-acao); }
.btn-principal:hover { box-shadow: var(--halo-acao-forte); transform: translateY(-1px); }
.btn-secundario { background: var(--cartao); border-color: var(--linha-forte); color: var(--texto); }
.btn-secundario:hover { background: var(--cartao-3); }
.btn-fantasma { color: var(--texto-2); }
.btn-fantasma:hover { background: var(--cartao-3); color: var(--texto); }
.btn:disabled { opacity: .5; cursor: not-allowed; box-shadow: none; transform: none; }
.btn-p { height: 34px; padding: 0 12px; font-size: 13px; border-radius: 9px; }
.btn-icone { width: 38px; height: 38px; display: grid; place-items: center; flex: none; border-radius: 10px; border: 1px solid var(--linha); background: transparent; color: var(--texto-2); cursor: pointer; transition: background-color .18s, color .18s; }
.btn-icone:hover { background: var(--cartao-3); color: var(--texto); }
[data-tema="claro"] .so-escuro, [data-tema="escuro"] .so-claro { display: none; }

/* ---------- Topo ---------- */
.topo { position: sticky; top: 0; z-index: 40; height: var(--topo-altura); display: flex; align-items: center; gap: 18px; padding: 0 clamp(14px, 2vw, 28px); background: var(--vidro-forte); backdrop-filter: blur(14px) saturate(1.2); -webkit-backdrop-filter: blur(14px) saturate(1.2); border-bottom: 1px solid var(--linha); }
.marca { display: inline-flex; align-items: center; gap: 9px; color: var(--texto); text-decoration: none; font-weight: 680; font-size: 18px; letter-spacing: -.022em; flex: none; }
.marca svg { width: 25px; height: 25px; }
.capitulos { display: flex; align-items: center; gap: 2px; margin-left: 10px; flex: 1; min-width: 0; }
.capitulos a { padding: 7px 11px; border-radius: 99px; color: var(--texto-3); text-decoration: none; font-size: 13.5px; font-weight: 500; white-space: nowrap; transition: color .18s, background-color .25s; }
.capitulos a:hover { color: var(--texto); background: var(--cartao-3); }
.capitulos a.ativo { color: var(--acento-texto); background: var(--acento-suave); }
.capitulo-atual { display: none; align-items: center; gap: 9px; min-width: 0; flex: 1; height: 40px; padding: 0 10px; border: 1px solid var(--linha); border-radius: 10px; background: none; color: var(--texto); font: 560 14px var(--fonte); cursor: pointer; text-align: left; }
.capitulo-atual span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.topo-acoes { display: flex; align-items: center; gap: 8px; margin-left: auto; flex: none; }
.progresso { position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; pointer-events: none; }
.progresso i { display: block; height: 100%; background: linear-gradient(90deg, var(--acento-fundo), var(--acento)); transform: scaleX(0); transform-origin: left; }

.indice { position: fixed; inset: 0; z-index: 60; background: var(--veu); display: flex; justify-content: flex-end; }
.indice-folha { width: min(360px, 100%); height: 100%; overflow-y: auto; background: var(--cartao); padding: 14px 18px 24px; animation: folha .32s var(--saida); display: flex; flex-direction: column; }
@keyframes folha { from { transform: translateX(24px); opacity: 0; } }
.indice-topo { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; font-size: 18px; }
.indice nav a { display: flex; align-items: center; min-height: 46px; padding: 0 10px; border-radius: 10px; color: var(--texto); text-decoration: none; font-weight: 520; font-size: 15.5px; border-bottom: 1px solid var(--linha); }
.indice nav a.sub { padding-left: 26px; color: var(--texto-2); font-weight: 440; min-height: 42px; }
.indice-pdf { margin-top: 16px; height: 46px; }

/* ---------- Abertura ---------- */
.abre { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 7fr); gap: clamp(24px, 3vw, 56px); align-items: center; padding: clamp(28px, 4vw, 56px) clamp(20px, 3.6vw, 56px) clamp(28px, 3vw, 44px); max-width: 1600px; margin: 0 auto; }
.abre::before { content: ""; position: absolute; z-index: -1; inset: -8% 0 -8% 28%; background: radial-gradient(58% 62% at 66% 50%, var(--brasa-a), transparent 72%); pointer-events: none; }
.abre h1 { font-size: clamp(46px, 5.3vw, 88px); line-height: 1.01; letter-spacing: -.04em; font-weight: 720; }
h1 em, .capa-titulo em { font-family: var(--serifa); font-style: italic; font-weight: 480; letter-spacing: -.015em; color: var(--acento-texto); }
.deck { font-size: clamp(19px, 1.7vw, 25px); line-height: 1.36; color: var(--texto-2); margin-top: 22px; max-width: 24em; letter-spacing: -.008em; text-wrap: balance; }
.abre-acoes { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 20px; margin-top: 30px; }
.abre-acoes .btn { height: 52px; padding: 0 22px; font-size: 16px; border-radius: 13px; }
.abre-acoes .meta { font-size: 13.5px; line-height: 1.42; color: var(--texto-3); }

/* ---------- Gráfico ---------- */
.boca { position: relative; margin: 0; min-width: 0; }
.boca figcaption { font-size: 12.5px; line-height: 1.45; color: var(--texto-3); margin-top: 14px; max-width: 62ch; }
.boca-svg { display: block; width: 100%; height: auto; overflow: visible; }
.bg-a { stop-color: var(--acento-fundo); stop-opacity: .07; }
.bg-b { stop-color: var(--acento-fundo); stop-opacity: .17; }
.bg-c { stop-color: var(--acento); stop-opacity: .2; }
.br-a { stop-color: var(--acento); stop-opacity: .46; }
.br-b { stop-color: var(--acento); stop-opacity: 0; }
.b-linha { fill: none; stroke-width: 2.25; stroke-linecap: round; stroke-linejoin: round; }
.b-valor { stroke: var(--serie-destaque); filter: drop-shadow(0 3px 7px var(--brilho-linha)); }
.b-preco { stroke: var(--texto-2); }
.b-fantasma path { fill: none; stroke: var(--linha-forte); stroke-width: 1.25; stroke-dasharray: 4 5; }
.ap-a { stop-color: var(--acento); stop-opacity: .5; }
.ap-b { stop-color: var(--acento); stop-opacity: 0; }
.b-apoio { opacity: 0; transition: opacity .6s var(--saida); pointer-events: none; }
.b-apoio.visivel { opacity: 1; }
.b-obj { opacity: 0; transform: scale(.8) translateY(6px); transform-box: fill-box; transform-origin: center; transition: opacity .45s var(--saida), transform .7s var(--mola); pointer-events: none; }
.b-obj.visivel { opacity: 1; transform: none; }
.b-obj.passado { opacity: .5; }
.b-marca, .b-nomes { opacity: 0; transition: opacity .4s; pointer-events: none; }
.b-marca.visivel, .b-nomes.visivel { opacity: 1; }
.b-ponto { stroke: var(--chao); stroke-width: 2; }
.boca-palco .b-ponto { stroke: var(--mat); }
.b-ponto-valor { fill: var(--serie-destaque); }
.b-ponto-preco { fill: var(--texto); }
.b-num { font: 620 14px var(--fonte); fill: var(--texto); letter-spacing: -.01em; }
.b-num-fraco { font-weight: 440; font-size: 12.5px; fill: var(--texto-3); }
.b-serie { font: 600 13px var(--fonte); fill: var(--texto-2); }
.b-alvo { fill: transparent; cursor: pointer; }
.boca-monte .b-alvo, .boca-ficha .b-alvo, .boca-capa .b-alvo { cursor: default; }
.boca-dica { position: absolute; z-index: 5; display: flex; flex-direction: column; gap: 1px; padding: 9px 11px; border-radius: 10px; background: var(--primario); color: var(--primario-texto); font-size: 12.5px; line-height: 1.4; white-space: nowrap; pointer-events: none; box-shadow: var(--sombra-3); }
.boca-dica strong { color: inherit; font-size: 13px; }
.boca-eixo { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2px; margin-top: 8px; border-top: 1px solid var(--linha); padding-top: 6px; }
.boca-eixo > * { padding: 5px 6px; border-radius: 8px; color: var(--texto-3); font-size: 12.5px; line-height: 1.35; text-decoration: none; transition: background-color .18s, color .18s; min-width: 0; }
.boca-eixo a:hover { background: var(--cartao-3); color: var(--texto-2); }
.boca-eixo strong { display: block; font-size: 14px; font-weight: 620; letter-spacing: -.008em; }
.boca-eixo a.atual { background: var(--acento-suave); color: var(--texto-2); }
.boca-eixo a.atual strong { color: var(--acento-texto); }

/* ---------- Blocos de leitura ---------- */
.bloco { max-width: 1120px; margin: 0 auto; padding: clamp(56px, 8vw, 104px) clamp(20px, 4vw, 40px) 0; }
.bloco > h2 { max-width: 22em; }
.lead { font-size: clamp(18px, 1.5vw, 21px); line-height: 1.48; color: var(--texto); max-width: 60ch; margin-top: 16px; letter-spacing: -.006em; }
.prosa { max-width: 68ch; margin-top: 18px; }
.prosa p + p { margin-top: 14px; }
.corpo { margin-top: 18px; max-width: 68ch; }
.corpo-solto { margin-top: 6px; max-width: 68ch; }
.bloco h3 { margin-top: 44px; }
.frase-grande { font: italic 460 clamp(27px, 3.3vw, 42px)/1.16 var(--serifa); color: var(--texto); max-width: 22em; margin-top: 18px; letter-spacing: -.012em; }
.termo { appearance: none; background: none; border: 0; padding: 0; margin: 0; font: inherit; color: inherit; letter-spacing: inherit; border-bottom: 1px dotted var(--texto-3); cursor: help; }
.termo:hover { border-bottom-color: var(--acento-texto); color: var(--acento-texto); }

.anotacoes { padding-top: clamp(36px, 5vw, 56px); border-top: 1px solid var(--linha); max-width: none; }
.anotacoes > h2, .anotacoes > .prosa { max-width: 1040px; margin-left: auto; margin-right: auto; }
.anotacoes .prosa { columns: 2; column-gap: 40px; }
.anotacoes .prosa p { break-inside: avoid; }
.anotacoes .prosa p + p { margin-top: 0; }
#inicio + .anotacoes { padding-left: clamp(20px, 3.6vw, 56px); padding-right: clamp(20px, 3.6vw, 56px); }

/* ---------- Estados ---------- */
.estado { display: inline-flex; align-items: center; gap: 7px; font-weight: 560; white-space: nowrap; }
.estado::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; flex: none; }
.estado.fechado { color: var(--texto-2); }
.estado.fechado::before { background: transparent; box-shadow: inset 0 0 0 1.5px currentColor; }
.estado.aberto { color: var(--ok); }
.selo { display: inline-block; padding: 2px 9px; border-radius: 99px; background: var(--cartao-3); color: var(--texto-2); font-size: 12px; font-weight: 600; line-height: 1.5; white-space: nowrap; }
.selo-forte { background: var(--acento-suave); color: var(--acento-texto); }

/* ---------- Matriz ---------- */
.matriz { display: grid; grid-template-columns: 124px repeat(4, minmax(0, 1fr)); grid-template-rows: auto repeat(7, auto); margin-top: 36px; }
.matriz-rotulos, .coluna { display: grid; grid-row: 1 / -1; grid-template-rows: subgrid; min-width: 0; }
.matriz-rotulos span { padding: 13px 10px 13px 0; font-size: 12.5px; line-height: 1.35; color: var(--texto-3); font-weight: 560; border-top: 1px solid var(--linha); }
.matriz-rotulos .r-topo { border-top: 0; }
.coluna { border-radius: 16px; transition: background-color .2s; }
.coluna:hover { background: var(--cartao-2); }
.coluna-abre, .coluna-abre:hover { background: linear-gradient(180deg, var(--acento-suave), transparent 88%); }
.col-topo { display: block; padding: 8px 14px 16px; text-decoration: none; color: var(--acento-texto); font-size: 14.5px; font-weight: 520; }
.col-topo img { height: clamp(84px, 9vw, 124px); width: auto; max-width: 100%; object-fit: contain; object-position: left bottom; margin-bottom: 12px; transition: transform .5s var(--mola); }
.col-topo:hover img { transform: translateY(-3px) scale(1.03); }
.col-topo strong { display: block; font-size: 21px; line-height: 1.15; letter-spacing: -.018em; }
.coluna dl { display: grid; grid-row: 2 / -1; grid-template-rows: subgrid; margin: 0; }
.coluna dl > div { padding: 13px 14px; border-top: 1px solid var(--linha); font-size: 14.5px; line-height: 1.42; min-width: 0; }
.coluna dt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.coluna dd { margin: 0; color: var(--texto-2); }
.coluna .voz { font: italic 460 17px/1.25 var(--serifa); color: var(--texto); }

/* ---------- Comparação ---------- */
.comparacao { margin: 32px 0; display: grid; gap: 22px; }
.comp-linha { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 8px 20px; align-items: center; }
.comp-linha h3 { margin: 0; font-size: 16px; }
.comp-linha > p { grid-column: 2; font-size: 14.5px; color: var(--texto-3); }
.fluxo { list-style: none; margin: 0; padding: 0; display: flex; gap: 3px; }
.fluxo li { flex: 1 1 0; min-width: 0; display: flex; align-items: flex-end; min-height: 72px; padding: 10px 12px; font-size: 14px; line-height: 1.22; font-weight: 560; background: var(--n1); color: var(--n-txt1); }
.fluxo li:first-child { border-radius: 12px 3px 3px 12px; }
.comp-um .fluxo { max-width: 46%; }
.fluxo li:last-child { border-radius: 3px 12px 12px 3px; }
.fluxo .n2 { background: var(--n2); color: var(--n-txt1); }
.fluxo .n3 { background: var(--n3); color: var(--n-txt3); }
.fluxo .n4 { background: var(--n4); color: #fff; }
.fluxo .n5 { background: var(--n5); color: #fff; font-size: 16px; }

/* ---------- Encaixe ---------- */
.encaixe { display: grid; grid-template-columns: 3fr 2.5fr 4fr 2fr; gap: 3px; margin: 28px 0; }
.enc { padding: 16px; display: flex; flex-direction: column; gap: 4px; font-size: 13.5px; line-height: 1.35; min-height: 110px; }
.enc strong { font-size: 16px; letter-spacing: -.01em; }
.enc-conteudo { background: var(--cartao-3); border-radius: 14px 4px 4px 14px; }
.enc-transicao { background: var(--acento-suave); }
.enc-pitch { background: var(--grad-acao); color: #fff; box-shadow: var(--halo-acao); position: relative; z-index: 1; }
.enc-pitch strong { color: #fff; font-size: 24px; letter-spacing: -.02em; }
.enc-pausa { background: repeating-linear-gradient(135deg, var(--cartao-3) 0 6px, transparent 6px 12px); border-radius: 4px 14px 14px 4px; }

/* ---------- Tabelas ---------- */
.tabela-rolagem { overflow-x: auto; -webkit-overflow-scrolling: touch; margin-top: 26px; }
.tabela, .planilha { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14.5px; line-height: 1.42; }
caption { text-align: left; font-size: 12.5px; font-weight: 560; color: var(--texto-3); padding-bottom: 8px; }
.tabela th, .planilha th { text-align: left; font-size: 12.5px; font-weight: 600; color: var(--texto-3); padding: 7px 12px; white-space: nowrap; }
.tabela td, .planilha td, .tabela tbody th { padding: 11px 12px; border-top: 1px solid var(--linha); vertical-align: top; color: var(--texto-2); }
.tabela tbody th { color: var(--texto); font-size: 14.5px; font-weight: 600; white-space: nowrap; }
.tabela tbody th small { display: block; font-weight: 440; font-size: 12.5px; color: var(--texto-3); }
.tabela .destaque { color: var(--acento-texto); font-weight: 600; white-space: nowrap; }
.tabela .apagado { color: var(--texto-3); }
.tabela-compacta td:first-child { width: 42%; color: var(--texto); }
.planilha td:first-child, .planilha td:nth-child(2) { white-space: nowrap; width: 1%; font-weight: 500; }
.planilha tr.pitch td { background: var(--linha-pitch); color: var(--texto); font-weight: 540; border-top-color: transparent; }
.planilha tr.pitch td:first-child { border-radius: 9px 0 0 9px; }
.planilha tr.pitch td:last-child { border-radius: 0 9px 9px 0; }
.planilha tr.pausa td { color: var(--texto-3); }
.planilha .nota { display: block; font-style: normal; font-weight: 500; font-size: 12.5px; color: var(--acento-texto); margin-top: 2px; }
[data-tema="claro"] .planilha .nota { color: #9a3412; }
.planilha .nota cite { font-size: 11px; }

/* ---------- O evento ---------- */
.evento { margin-top: clamp(56px, 8vw, 104px); border-top: 1px solid var(--linha); }
.evento-abre { max-width: 1120px; margin: 0 auto; padding: clamp(40px, 6vw, 72px) clamp(20px, 4vw, 40px) clamp(20px, 3vw, 36px); }
.evento-grade { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 6fr); max-width: 1700px; margin: 0 auto; }
.evento-leitura { width: 100%; max-width: 760px; margin-left: auto; padding: 0 clamp(20px, 4vw, 56px) clamp(56px, 8vw, 96px); min-width: 0; }

.parada { padding-top: 40px; scroll-margin-top: var(--topo-altura); }
.parada-topo { position: relative; }
.parada-obj { display: none; }
.parada h3 { font-size: clamp(36px, 4vw, 54px); line-height: 1.03; letter-spacing: -.034em; font-weight: 700; }
.parada-sub { color: var(--texto-3); margin-top: 10px; font-size: 16px; }
.papel { font-size: clamp(20px, 1.8vw, 24px); line-height: 1.32; color: var(--texto); font-weight: 500; letter-spacing: -.012em; margin-top: 22px; max-width: 30em; }
.logica { margin-top: 14px; max-width: 68ch; }
.parada h4 { margin-top: 34px; }
.citacao { font: italic 460 clamp(24px, 2.4vw, 31px)/1.18 var(--serifa); color: var(--texto); margin-top: 34px; letter-spacing: -.008em; }
.citacao cite { font-size: 11.5px; letter-spacing: 0; }

.passos { list-style: none; counter-reset: p; margin: 14px 0 0; padding: 0; }
.passos[start="4"] { counter-reset: p 3; }
.passos[start="5"] { counter-reset: p 4; }
.passos > li { counter-increment: p; position: relative; padding: 10px 0 10px 40px; line-height: 1.58; }
.passos > li::before { content: counter(p); position: absolute; left: 0; top: 11px; width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: var(--cartao-3); color: var(--texto); font-size: 13px; font-weight: 620; }

.cena { margin: 26px 0 0; padding: 18px; border: 1px solid var(--linha); border-radius: 16px; background: var(--cartao); }
.cena figcaption { font-size: 13px; font-weight: 600; color: var(--texto); margin-bottom: 12px; }
.cena figcaption span { font-weight: 440; color: var(--texto-3); margin-left: 6px; }
.bolhas { display: flex; flex-direction: column; gap: 6px; }
.bolha { max-width: 84%; padding: 8px 12px; border-radius: 15px; font-size: 14.5px; line-height: 1.38; }
.bolha.expert { align-self: flex-start; background: var(--bolha-conta); color: var(--texto); border-bottom-left-radius: 5px; }
.bolha.gente { align-self: flex-end; background: var(--bolha-gente); color: var(--texto); border-bottom-right-radius: 5px; }
.cena-nota { margin-top: 12px; font-size: 14.5px; color: var(--texto-2); }

.pecas { margin-top: 30px; }
.pecas-titulo { display: block; font-size: 13px; font-weight: 600; color: var(--texto-3); margin-bottom: 9px; }
.pecas ul { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; }
.pecas li { padding: 5px 10px; border-radius: 8px; border: 1px dashed var(--linha-forte); color: var(--texto-3); font-size: 13.5px; line-height: 1.3; }
.pecas li.nova { border: 1px solid transparent; background: var(--acento-fundo); color: #fff; font-weight: 560; }

.fala { margin-top: 26px; padding: 15px 18px 18px; border: 1px solid var(--linha); border-radius: 16px; background: var(--cartao); box-shadow: var(--sombra-1); }
.fala-topo { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.fala-topo span { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 600; color: var(--texto-3); }
.btn-copiar { appearance: none; border: 1px solid var(--linha-forte); background: transparent; color: var(--texto-2); border-radius: 8px; font: 600 12.5px var(--fonte); height: 30px; padding: 0 10px; cursor: pointer; transition: background-color .18s; }
.btn-copiar:hover { background: var(--cartao-3); }
.fala p { color: var(--texto); font-size: 16px; line-height: 1.55; }

.decisoes { margin-top: 26px; }
.decisoes h4 { margin: 0 0 8px; }
.decisoes ul { list-style: none; margin: 0; padding: 0; }
.decisoes li { position: relative; padding: 4px 0 4px 18px; }
.decisoes li::before { content: ""; position: absolute; left: 2px; top: .85em; width: 6px; height: 6px; border-radius: 50%; background: var(--acento); }
.nota-passo { display: block; margin-top: 8px; font-size: 14.5px; line-height: 1.5; color: var(--texto-3); }
.nota-passo .selo { margin-right: 4px; }
.nota-kairos { margin-top: 18px; font-size: 14.5px; line-height: 1.52; color: var(--texto-3); }
.nota-kairos .selo { margin-right: 4px; }

.intervalo { display: flex; gap: 14px; align-items: flex-start; margin-top: 54px; padding: 18px 0; border-top: 1px solid var(--linha); color: var(--texto-3); font-size: 15.5px; line-height: 1.5; }
.intervalo + .intervalo { margin-top: 0; }
.intervalo .ico { margin-top: 4px; width: 18px; height: 18px; color: var(--texto-2); }

.dupla { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); column-gap: 24px; margin: 24px 0 0; border-top: 1px solid var(--linha-forte); }
.dupla > div { padding: 14px 0 16px; }
.dupla h4 { margin: 0 0 8px; font-size: 14.5px; }
.dupla ul { list-style: none; margin: 0; padding: 0; font-size: 14.5px; line-height: 1.4; }
.dupla li { position: relative; padding: 4px 0 4px 22px; }
.dupla li::before { content: ""; position: absolute; left: 0; top: 7px; width: 14px; height: 14px; background: currentColor; -webkit-mask: center / contain no-repeat; mask: center / contain no-repeat; }
.lista-menos { color: var(--texto-3); }
.lista-menos li::before { -webkit-mask-image: var(--ic-x); mask-image: var(--ic-x); }
.lista-mais { color: var(--texto); }
.lista-mais li::before { -webkit-mask-image: var(--ic-ok); mask-image: var(--ic-ok); color: var(--acento-texto); background: var(--acento-texto); }
.dupla figcaption { grid-column: 1 / -1; padding: 10px 0; font-size: 13.5px; color: var(--texto-2); border-top: 1px solid var(--linha); border-bottom: 1px solid var(--linha); }

.conta { margin: 24px 0 12px; padding: 16px 0; border-top: 1px solid var(--linha-forte); border-bottom: 1px solid var(--linha); }
.conta-linha { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: 14.5px; color: var(--texto-2); font-weight: 500; }
.conta-linha i { font-style: normal; color: var(--texto-3); }
.conta-result { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin-top: 10px; }
.conta-result small { display: block; font-size: 12.5px; color: var(--texto-3); }
.conta-result s { font-size: clamp(26px, 3vw, 38px); font-weight: 400; color: var(--texto-3); letter-spacing: -.03em; line-height: 1.15; text-decoration-thickness: 2px; text-decoration-color: var(--acento); }
.conta-result strong { font-size: clamp(38px, 4.4vw, 58px); font-weight: 460; color: var(--acento-texto); letter-spacing: -.035em; line-height: 1.05; }
.conta-seta { color: var(--texto-3); }
.conta-seta .ico { width: 22px; height: 22px; }
.conta figcaption { margin-top: 10px; font-size: 14px; color: var(--texto-2); }

.escada { margin: 24px 0 0; }
.escada figcaption { font-size: 13px; font-weight: 600; color: var(--texto-3); margin-bottom: 10px; }
.escada ol { list-style: none; display: flex; align-items: flex-end; gap: 3px; margin: 0; padding: 0; height: 104px; }
.escada li { flex: 1; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 6px; border-radius: 7px 7px 3px 3px; background: var(--n2); font-size: 13.5px; }
.escada li strong { color: var(--n-txt3); font-weight: 620; }
.escada li:nth-child(1) { height: 28%; background: var(--n1); }
.escada li:nth-child(1) strong { color: var(--n-txt1); }
.escada li:nth-child(2) { height: 38%; background: var(--n2); }
.escada li:nth-child(3) { height: 50%; background: var(--n2); }
.escada li:nth-child(4) { height: 62%; background: var(--n3); }
.escada li:nth-child(5) { height: 74%; background: var(--n3); }
.escada li:nth-child(6) { height: 86%; background: var(--n4); }
.escada li:nth-child(6) strong, .escada li:nth-child(7) strong { color: #fff; }
.escada li:nth-child(7) { height: 100%; background: var(--n5); }

.quinze { margin: 28px 0 0; padding: 16px 0; border-top: 1px solid var(--linha-forte); border-bottom: 1px solid var(--linha); }
.quinze-num { display: grid; gap: 4px; }
.quinze-num strong { font-size: clamp(38px, 4.4vw, 56px); font-weight: 460; letter-spacing: -.035em; line-height: 1.05; color: var(--acento-texto); }
.quinze-num span { font-size: 15.5px; color: var(--texto-2); line-height: 1.42; max-width: 44ch; }
.quinze-barra { display: flex; gap: 2px; height: 14px; margin-top: 14px; }
.quinze-barra i { display: block; height: 100%; }
.q-certo { width: 30%; background: var(--acento); border-radius: 7px 0 0 7px; }
.q-faixa { width: 10%; background: repeating-linear-gradient(135deg, var(--acento) 0 3px, transparent 3px 6px); }
.q-resto { flex: 1; background: var(--cartao-3); border-radius: 0 7px 7px 0; }
.quinze-leg { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 8px; font-size: 12.5px; color: var(--texto-3); }
.quinze-leg span { display: inline-flex; align-items: center; gap: 6px; }
.quinze-leg i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.quinze-leg .l1 { background: var(--acento); }
.quinze-leg .l2 { background: repeating-linear-gradient(135deg, var(--acento) 0 2px, transparent 2px 4px); box-shadow: inset 0 0 0 1px var(--acento); }
.quinze-leg .l3 { background: var(--cartao-3); box-shadow: inset 0 0 0 1px var(--linha-forte); }
.quinze figcaption { margin-top: 8px; font-size: 12.5px; color: var(--texto-3); }

/* Palco fixo */
.palco { position: sticky; top: var(--topo-altura); align-self: start; height: calc(100dvh - var(--topo-altura)); display: flex; flex-direction: column; gap: 14px; padding: clamp(18px, 3vh, 30px) clamp(22px, 2.6vw, 44px) clamp(14px, 2.4vh, 24px); background: var(--mat); border-left: 1px solid var(--linha); overflow: hidden; isolation: isolate; min-width: 0; }
.palco::after { content: ""; position: absolute; z-index: -1; inset: 30% -20% -20% -20%; background: radial-gradient(60% 60% at 60% 70%, rgba(249, 115, 22, .3), transparent 72%); opacity: 0; transition: opacity 1.2s var(--saida); pointer-events: none; }
.palco.aberto::after { opacity: 1; }
.palco-relogio { font-size: clamp(42px, min(4.6vw, 8vh), 72px); font-weight: 400; line-height: 1; letter-spacing: -.04em; color: var(--texto); white-space: nowrap; }
.palco-estado { display: grid; grid-template-columns: minmax(104px, auto) minmax(172px, auto) minmax(90px, 1fr); gap: 8px 24px; }
.palco-estado small { display: block; font-size: 12px; color: var(--texto-3); line-height: 1.3; }
.palco-estado strong { display: block; font-size: 17px; font-weight: 580; line-height: 1.35; letter-spacing: -.01em; white-space: nowrap; }
.palco-estado .estado { font-size: 16px; font-weight: 580; }
.boca-palco { flex: 1 1 0; min-height: 0; }
.palco-pensa { margin: 0; flex: none; }
.palco-pensa p { font: italic 460 clamp(21px, min(2.2vw, 3.8vh), 31px)/1.16 var(--serifa); color: var(--texto); letter-spacing: -.008em; min-height: 1.16em; }
.palco-pensa footer { font-size: 12.5px; color: var(--texto-3); margin-top: 4px; }
.entra { animation: entra .5s var(--saida); }
@keyframes entra { from { opacity: 0; transform: translateY(7px); } }
.fagulha { position: absolute; z-index: 3; width: 5px; height: 5px; border-radius: 50%; background: radial-gradient(circle, var(--acento-texto), var(--acento) 60%, transparent 72%); pointer-events: none; opacity: 0; }

.palco-mini { display: none; }
.ficha { display: none; }

/* ---------- 2 ou 3 dias ---------- */
.regressiva { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3px; margin: 18px 0 0; padding: 0; }
.regressiva li { padding: 14px 14px 4px; border-top: 2px solid var(--linha-forte); }
.regressiva strong { display: block; font-size: clamp(22px, 2.5vw, 31px); font-weight: 460; letter-spacing: -.028em; line-height: 1.1; }
.regressiva span { display: block; margin-top: 4px; font-size: 14.5px; color: var(--texto-3); }
.regressiva-abre { border-top-color: var(--acento) !important; }
.regressiva-abre strong { color: var(--acento-texto); }

.segmentos { display: inline-flex; flex-wrap: wrap; gap: 3px; padding: 3px; border-radius: 13px; background: var(--cartao-3); margin-top: 16px; max-width: 100%; }
.segmentos label { cursor: pointer; flex: 1 1 auto; position: relative; }
.segmentos input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.segmentos span { display: block; padding: 8px 16px; border-radius: 10px; font-size: 14px; line-height: 1.25; font-weight: 600; color: var(--texto-2); transition: background-color .2s, color .2s; }
.segmentos small { display: block; font-size: 12.5px; font-weight: 440; color: var(--texto-3); }
.segmentos input:checked + span { background: var(--cartao); color: var(--texto); box-shadow: var(--sombra-1); }
.segmentos input:focus-visible + span { outline: 2px solid var(--acento); outline-offset: 1px; }
.segmentos-p span { padding: 7px 12px; font-size: 13px; text-align: center; }

.formato { margin-top: 22px; }
.linha-evento { max-width: 100%; }
.dia { display: grid; grid-template-columns: 50px minmax(0, 1fr); gap: 8px; margin-bottom: 10px; }
.dia-nome { font-size: 13.5px; font-weight: 600; color: var(--texto); line-height: 32px; }
.dia-faixa { position: relative; height: 32px; }
.bl { position: absolute; top: 0; bottom: 0; border-right: 2px solid var(--chao); }
.bl:first-child { border-radius: 8px 0 0 8px; }
.bl:last-child { border-radius: 0 8px 8px 0; border-right: 0; }
.bl-c { background: var(--bloco-c); }
.bl-p { background: repeating-linear-gradient(135deg, var(--bloco-p) 0 4px, transparent 4px 8px); }
.bl-t { background: var(--bloco-t); }
.bl-x { background: var(--bloco-x); min-width: 7px; }
.bl-a { background: linear-gradient(90deg, var(--bloco-a), var(--bloco-t)); }
.dia-marcas { position: relative; height: 22px; margin-top: 4px; font-size: 12.5px; color: var(--texto-3); }
.mc { position: absolute; top: 0; white-space: nowrap; }
.mc b { color: var(--texto); font-weight: 620; }
.mc-a { transform: translateX(-30%); }
.mc-a b { color: var(--acento-texto); }
.dia-eixo { margin-bottom: 8px; }
.dia-horas { position: relative; height: 18px; font-size: 11.5px; color: var(--texto-3); border-top: 1px solid var(--linha); }
.dia-horas span { position: absolute; top: 3px; transform: translateX(-50%); }
.dia-horas span:first-child { transform: none; }
.dia-horas span:last-child { transform: translateX(-100%); }
.legenda-blocos { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12.5px; color: var(--texto-3); margin-left: 58px; }
.legenda-blocos span { display: inline-flex; align-items: center; gap: 6px; }
.legenda-blocos i { width: 12px; height: 12px; border-radius: 3px; display: inline-block; }
.legenda-blocos .bl-p { box-shadow: inset 0 0 0 1px var(--linha-forte); }
.formato-texto { margin-top: 14px; max-width: 68ch; }
.formato-texto p + p { margin-top: 8px; }
.legenda-linha { font-size: 13px; color: var(--texto-3); margin-top: 12px; max-width: 68ch; }
.regras { list-style: none; counter-reset: r; margin: 12px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; }
.regras li { counter-increment: r; position: relative; padding: 12px 0 12px 38px; border-top: 1px solid var(--linha); line-height: 1.42; }
.regras li::before { content: counter(r); position: absolute; left: 0; top: 12px; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--acento-suave); color: var(--acento-texto); font-size: 13px; font-weight: 640; }
.regras strong { font-weight: 560; }

/* ---------- Monte o seu ---------- */
.monte { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 3.4vw, 48px); align-items: start; margin-top: 30px; }
.monte-form { position: sticky; top: calc(var(--topo-altura) + 16px); display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 18px; border: 1px solid var(--linha); border-radius: 18px; background: var(--cartao); box-shadow: var(--sombra-1); }
.monte-presets { grid-column: 1 / -1; display: flex; gap: 6px; flex-wrap: wrap; }
.campo { display: block; border: 0; margin: 0; padding: 0; min-width: 0; }
.campo > span, .campo > legend { display: block; padding: 0; font-size: 13px; font-weight: 600; color: var(--texto-2); margin-bottom: 5px; }
.campo-largo { grid-column: 1 / -1; }
.campo input[type="text"], .campo input[type="time"] { width: 100%; height: 42px; padding: 0 12px; border-radius: 11px; border: 1px solid var(--linha-forte); background: var(--cartao-2); color: var(--texto); font: 480 15px var(--fonte); transition: box-shadow .15s, border-color .15s; }
.campo input::placeholder { color: var(--texto-3); opacity: 1; }
.campo input:focus { outline: 0; border-color: var(--acento); box-shadow: 0 0 0 3px var(--acento-anel); }
.campo .segmentos { display: flex; margin-top: 0; }
.monte-aviso { grid-column: 1 / -1; padding: 10px 12px; border-radius: 10px; background: var(--erro-fundo); color: var(--erro); font-size: 13.5px; line-height: 1.42; }
.monte-saida { min-width: 0; }
.monte-numeros { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3px; margin: 14px 0 0; }
.monte-numeros > div { padding: 10px 2px 2px; border-top: 1px solid var(--linha-forte); }
.monte-numeros dt { font-size: 12.5px; line-height: 1.3; color: var(--texto-3); min-height: 2.6em; }
.monte-numeros dd { margin: 3px 0 0; font-size: 21px; font-weight: 460; letter-spacing: -.02em; color: var(--texto); line-height: 1.2; }
.monte-tabela-topo { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.monte-tabela-topo h3 { margin: 0; font-size: 18px; }
.monte-tabela-topo + .tabela-rolagem { margin-top: 8px; }
.planilha-monte td { font-size: 14px; padding: 9px 10px; }
.planilha-monte td:nth-child(1), .planilha-monte td:nth-child(2), .planilha-monte td:nth-child(3) { white-space: nowrap; width: 1%; }
.planilha-monte tr.pitch td { font-weight: 520; }

/* ---------- Checklist e teste ---------- */
.titulo-acao { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 20px; }
.titulo-acao-dir { display: flex; align-items: center; gap: 10px; }
.contador { font-size: 15px; font-weight: 600; color: var(--acento-texto); }
.check-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px 40px; margin-top: 26px; }
.check-grade fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.check-grade legend { padding: 0; font-size: 17px; font-weight: 640; color: var(--texto); letter-spacing: -.01em; margin-bottom: 6px; }
.check-grade label { display: flex; gap: 11px; align-items: flex-start; padding: 8px 0; font-size: 15.5px; line-height: 1.4; border-top: 1px solid var(--linha); cursor: pointer; }
.check-grade input { appearance: none; -webkit-appearance: none; flex: none; width: 21px; height: 21px; margin: 0; border: 1px solid var(--linha-forte); border-radius: 6px; background: var(--cartao); display: grid; place-content: center; cursor: pointer; transition: background-color .15s; }
.check-grade input::before { content: ""; width: 13px; height: 13px; background: #fff; -webkit-mask: var(--ic-ok) center / contain no-repeat; mask: var(--ic-ok) center / contain no-repeat; transform: scale(0); transition: transform .3s var(--mola); }
.check-grade input:checked { background: var(--acento-fundo); border-color: transparent; }
.check-grade input:checked::before { transform: none; }
.check-grade input:checked + span { color: var(--texto-3); }
.perguntas { margin-top: 20px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
.pergunta { border: 0; margin: 0; padding: 18px 0 20px; border-top: 1px solid var(--linha); min-width: 0; }
.pergunta legend { float: left; width: 100%; padding: 0; font-size: 16.5px; font-weight: 600; color: var(--texto); line-height: 1.35; margin-bottom: 8px; letter-spacing: -.008em; }
.pergunta label { clear: both; display: flex; gap: 10px; align-items: flex-start; padding: 9px 12px; margin-top: 5px; border: 1px solid var(--linha); border-radius: 11px; font-size: 15px; line-height: 1.36; cursor: pointer; transition: background-color .15s; }
.pergunta label:hover { background: var(--cartao-2); }
.pergunta input { margin: 3px 0 0; flex: none; accent-color: var(--acento-fundo); width: 15px; height: 15px; }
.pergunta label.marcada-certa { background: var(--ok-fundo); border-color: transparent; color: var(--ok); font-weight: 560; }
.pergunta label.marcada-errada { background: var(--erro-fundo); border-color: transparent; color: var(--erro); font-weight: 560; }
.pergunta label.revela { border-color: var(--ok); color: var(--texto); }
.explica { clear: both; margin-top: 10px; font-size: 14.5px; line-height: 1.46; animation: entra .4s var(--saida); }
.explica b { color: var(--texto); font-weight: 620; }

/* ---------- Glossário e fonte ---------- */
.glossario { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; margin: 22px 0 0; }
.glossario > div { padding: 12px 0; border-top: 1px solid var(--linha); scroll-margin-top: 80px; }
.glossario dt { font-weight: 620; color: var(--texto); font-size: 15.5px; }
.glossario dd { margin: 1px 0 0; font-size: 15px; line-height: 1.46; }
.fonte-lista { margin: 16px 0 0; padding: 0 0 0 18px; max-width: 72ch; font-size: 15px; line-height: 1.5; }
.fonte-lista li + li { margin-top: 7px; }
.rodape { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; max-width: 1120px; margin: clamp(56px, 8vw, 96px) auto 0; padding: 24px clamp(20px, 4vw, 40px) calc(32px + env(safe-area-inset-bottom)); border-top: 1px solid var(--linha); font-size: 14px; color: var(--texto-3); }

/* ---------- Flutuantes ---------- */
.dica { position: fixed; z-index: 70; width: min(290px, calc(100vw - 24px)); padding: 10px 12px; border-radius: 11px; background: var(--primario); color: var(--primario-texto); font-size: 13.5px; font-weight: 440; line-height: 1.42; box-shadow: var(--sombra-3); pointer-events: none; animation: entra .22s var(--saida); }
.dica strong { display: block; color: inherit; font-size: 13.5px; margin-bottom: 1px; }
.retomar { position: fixed; z-index: 50; left: 50%; bottom: calc(18px + env(safe-area-inset-bottom)); transform: translateX(-50%); display: flex; align-items: center; gap: 10px; max-width: calc(100vw - 24px); padding: 7px 7px 7px 15px; border-radius: 15px; border: 1px solid var(--linha-forte); background: var(--vidro-forte); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: var(--sombra-3); font-size: 14px; white-space: nowrap; animation: sobe .4s var(--saida); }
.retomar > span { overflow: hidden; text-overflow: ellipsis; }
.retomar .btn-icone { width: 34px; height: 34px; border: 0; }
@keyframes sobe { from { opacity: 0; transform: translate(-50%, 10px); } }
.aviso { position: fixed; z-index: 80; left: 50%; bottom: calc(22px + env(safe-area-inset-bottom)); transform: translateX(-50%); max-width: calc(100vw - 24px); padding: 10px 15px; border-radius: 11px; background: var(--primario); color: var(--primario-texto); font-size: 14px; font-weight: 520; box-shadow: var(--sombra-3); animation: sobe .3s var(--saida); }

/* ---------- Telas menores ---------- */
@media (max-height: 780px) { .monte-form { position: static; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media (max-width: 1239px) {
  .capitulos { display: none; }
  .capitulo-atual { display: inline-flex; max-width: 320px; }
}
@media (max-width: 1099px) {
  html { scroll-padding-top: calc(var(--topo-altura) + 58px); }
  .abre { grid-template-columns: minmax(0, 1fr); }
  .abre h1 { font-size: clamp(46px, 9.4vw, 84px); }
  .evento-grade { display: block; }
  .evento-leitura { margin: 0 auto; }
  .palco { display: none; }
  .palco-mini { display: flex; position: fixed; z-index: 30; left: 0; right: 0; top: var(--topo-altura); align-items: center; gap: 14px; height: 40px; padding: 0 clamp(14px, 2vw, 28px); background: var(--vidro-forte); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid var(--linha); font-size: 13.5px; color: var(--texto-2); transform: translateY(-100%); opacity: 0; transition: transform .28s var(--saida), opacity .2s; pointer-events: none; white-space: nowrap; }
  .palco-mini.visivel { transform: none; opacity: 1; }
  .palco-mini strong { font-weight: 640; }
  .palco-mini #mini-carrinho { margin-left: auto; }
  .palco-mini .estado { font-weight: 540; }
  .parada { padding-top: 56px; scroll-margin-top: calc(var(--topo-altura) + 40px); }
  .parada-topo { padding-right: 122px; min-height: 110px; }
  .parada-obj { display: block; position: absolute; right: -4px; top: -6px; width: 118px; height: 118px; object-fit: contain; object-position: right center; }
  .ficha { display: block; margin-top: 18px; padding: 14px 16px 16px; border: 1px solid var(--linha); border-radius: 16px; background: var(--cartao); }
  .ficha-estado { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; margin-bottom: 12px; }
  .ficha-estado small { display: block; font-size: 12px; color: var(--texto-3); line-height: 1.3; }
  .ficha-estado strong { display: block; font-size: 16px; font-weight: 580; letter-spacing: -.01em; line-height: 1.3; }
  .ficha-estado .estado { font-size: 15px; }
  .ficha .b-ponto { stroke: var(--cartao); }
  .ficha-pensa { margin: 12px 0 0; }
  .ficha-pensa p { font: italic 460 22px/1.18 var(--serifa); color: var(--texto); }
  .ficha-pensa footer { font-size: 12.5px; color: var(--texto-3); margin-top: 3px; }
  .monte { grid-template-columns: minmax(0, 1fr); }
  .monte-form { position: static; }
}
@media (max-width: 899px) {
  .matriz { display: block; margin-top: 26px; }
  .matriz-rotulos { display: none; }
  .coluna { display: block; padding: 16px 0 6px; border-radius: 0; border-top: 1px solid var(--linha-forte); }
  .coluna:hover { background: none; }
  .coluna-abre, .coluna-abre:hover { background: linear-gradient(180deg, var(--acento-suave), transparent 70%); border-radius: 16px; padding-left: 10px; padding-right: 10px; }
  .col-topo { display: grid; grid-template-columns: 72px 1fr; column-gap: 12px; align-items: center; padding: 0 0 8px; }
  .col-topo img { grid-row: 1 / 3; width: 72px; height: 72px; margin: 0; object-position: center; }
  .col-topo strong { align-self: end; }
  .col-topo span { align-self: start; }
  .coluna dl { display: block; }
  .coluna dl > div { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 10px; padding: 9px 0; }
  .coluna dt { position: static; width: auto; height: auto; overflow: visible; clip-path: none; white-space: normal; font-size: 12.5px; color: var(--texto-3); font-weight: 540; line-height: 1.4; }
  .comp-linha { grid-template-columns: minmax(0, 1fr); }
  .comp-linha > p { grid-column: 1; }
  .comp-um .fluxo { max-width: none; }
  .fluxo { flex-direction: column; gap: 3px; }
  .fluxo li, .fluxo li:first-child { clip-path: none; margin: 0; min-height: 44px; padding: 8px 14px; border-radius: 9px; flex: none; }
  .encaixe { grid-template-columns: minmax(0, 1fr); }
  .enc { min-height: 0; border-radius: 9px !important; padding: 12px 14px; }
  .anotacoes .prosa { columns: 1; }
  .anotacoes .prosa p + p { margin-top: 14px; }
  .regressiva { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .regras, .perguntas, .glossario { grid-template-columns: minmax(0, 1fr); }
  .segmentos { display: flex; }
  .segmentos span { padding: 8px 10px; text-align: center; font-size: 13.5px; }
  .segmentos small { font-size: 12px; }
  .dupla { grid-template-columns: minmax(0, 1fr); }
  .dupla > div + div { border-top: 1px solid var(--linha); }
  .monte-numeros { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .monte-numeros dt { min-height: 0; }
  .dia { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .dia-nome { line-height: 1.5; }
  .dia-marcas { height: 34px; font-size: 12px; line-height: 1.2; }
  .mc { display: flex; flex-direction: column; }
  .mc b { font-size: 12px; }
  .mc-vazio { flex-direction: row; }
  .mc-a { transform: translateX(-44%); }
  .legenda-blocos { margin-left: 0; }
  .btn-pdf span { display: none; }
  .btn-pdf { width: 38px; padding: 0; }
  .marca span { display: none; }
  .rodape { justify-content: flex-start; }
  .rodape .marca span { display: inline; }
  .topo { gap: 10px; }
}
@media (max-width: 420px) {
  body { font-size: 16.5px; }
  .parada-topo { padding-right: 96px; min-height: 96px; }
  .parada-obj { width: 94px; height: 94px; }
  .dupla > div { padding: 14px; }
  .planilha td, .tabela td, .tabela tbody th { padding: 9px 8px; font-size: 14px; }
}
@media (min-height: 1000px) and (min-width: 1100px) {
  .boca-abre .boca-svg { max-height: 620px; }
}

/* ---------- Impressão e PDF ---------- */
@page { size: A4; margin: 15mm 15mm 17mm; @bottom-left { content: "Kairos  ·  Os três pitches de um lançamento"; font: 500 8pt "Mona PDF", "Mona Sans", sans-serif; color: #6b6055; } @bottom-right { content: counter(page); font: 600 8pt "Mona PDF", "Mona Sans", sans-serif; color: #6b6055; } }
@page capa { margin: 0; @bottom-left { content: none; } @bottom-right { content: none; } }

@media print {
  :root, :root[data-tema="escuro"], :root[data-tema="claro"] {
    color-scheme: light;
    --mat: #efe8df; --chao: #ffffff; --chao-luz: #ffffff;
    --cartao: #ffffff; --cartao-2: #fbf8f4; --cartao-3: #f3ede6;
    --linha: rgba(70, 42, 16, .16); --linha-forte: rgba(70, 42, 16, .3);
    --texto: #17110b; --texto-2: #3d342b; --texto-3: #6b6055;
    --acento: #ea580c; --acento-texto: #c2410c; --acento-suave: #fff0e4; --acento-fundo: #c2410c;
    --ok: #15803d; --ok-fundo: #ecfdf3; --erro: #b91c1c; --erro-fundo: #fef2f2;
    --primario: #17110b; --primario-texto: #fbf8f5;
    --serie-destaque: #ea580c;
    --bolha-gente: #fff0e4; --bolha-conta: #f3ede6;
    --grad-acao: linear-gradient(180deg, #d4450c, #a8380b);
    --halo-acao: none; --halo-acao-forte: none; --sombra-1: none; --sombra-3: none;
    --linha-pitch: #ffe9d8;
    --n1: #f3ede6; --n2: #fde7d5; --n3: #fbc9a0; --n4: #c2410c; --n5: #9a3412; --n-txt1: #453b31; --n-txt3: #17110b;
    --bloco-c: #e9e0d5; --bloco-t: #fbc9a0; --bloco-x: #ea580c; --bloco-p: rgba(70, 42, 16, .2); --bloco-a: #f97316;
    --ruido: none; --leve: 430;
  }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  html { scroll-behavior: auto; }
  body { background: #fff; font-size: 10.4pt; line-height: 1.5; overflow: visible; }
  .so-pdf { display: block; }
  .topo, .indice, .pular, .palco, .palco-mini, .retomar, .aviso, .dica, .abre, .rodape .btn, .btn-copiar, .monte-form, .so-tela, .boca-monte, .monte-numeros, #copiar-programacao, .segmentos, .titulo-acao-dir, #teste .lead, .boca-dica, .b-alvo { display: none !important; }
  main { display: block; }

  /* Capa */
  .capa { page: capa; display: flex; flex-direction: column; width: 210mm; height: 297mm; padding: 16mm 15mm 15mm; break-after: page; background: #0d0805 radial-gradient(70% 45% at 66% 58%, rgba(249, 115, 22, .24), transparent 72%); color: #f8f2e9;
    --chao: #0d0805; --texto: #f8f2e9; --texto-2: #d6c9b8; --texto-3: #a99a87; --acento: #f97316; --acento-texto: #fb923c; --serie-destaque: #f97316; --linha: rgba(255, 226, 196, .14); --linha-forte: rgba(255, 226, 196, .22); }
  .capa-marca { display: flex; align-items: center; gap: 10px; font-weight: 680; font-size: 19pt; letter-spacing: -.022em; }
  .capa-marca svg { width: 11mm; height: 11mm; }
  .capa-miolo { flex: 1; display: flex; flex-direction: column; justify-content: center; }
  .capa-titulo { font-size: 52pt; line-height: 1.0; letter-spacing: -.04em; font-weight: 720; color: #f8f2e9; }
  .capa-deck { font-size: 15pt; line-height: 1.32; margin-top: 6mm; color: #d6c9b8; }
  .boca-capa { margin-top: 12mm; }
  .boca-capa .b-ponto { stroke: #0d0805; }
  .capa-pe { display: grid; gap: 1.5mm; padding-top: 6mm; border-top: 1px solid rgba(255, 226, 196, .2); font-size: 10pt; color: #a99a87; }
  .capa-pe strong { color: #f8f2e9; font-size: 12.5pt; font-weight: 620; }

  /* Blocos */
  h2 { font-size: 21pt; }
  h3 { font-size: 13.5pt; }
  h4 { font-size: 11pt; }
  h2, h3, h4, caption, .pecas-titulo, .fala-topo { break-after: avoid; }
  .bloco, .anotacoes { max-width: none; padding: 9mm 0 0; border: 0; }
  #inicio + .anotacoes, .anotacoes { padding: 0; }
  .anotacoes > h2, .anotacoes > .prosa { max-width: none; }
  .anotacoes > h2 { font-size: 19pt; }
  .anotacoes .prosa { columns: 2; column-gap: 8mm; }
  .lead { font-size: 12pt; margin-top: 2.5mm; max-width: none; }
  .prosa, .corpo, .corpo-solto { max-width: none; margin-top: 3mm; }
  .frase-grande { font-size: 19pt; margin-top: 3mm; }
  .termo { border: 0; }
  cite { font-size: 7.6pt; }
  .sumario { margin-top: 3mm; font-size: 9.2pt; line-height: 1.45; color: var(--texto-3); }
  .sumario a { color: inherit; text-decoration: none; }
  .b-valor { filter: none; }
  .nota-passo { font-size: 9.2pt; margin-top: 1mm; }
  .logica { font-size: 10.2pt; }
  .tabela-rolagem { overflow: visible; margin-top: 3.5mm; break-inside: avoid; }
  .tabela, .planilha { font-size: 9pt; }
  .tabela td, .planilha td, .tabela tbody th { padding: 1.7mm 2mm; font-size: 9pt; }
  .tabela th, .planilha th { padding: 1.2mm 2mm; font-size: 8pt; }
  caption { font-size: 8.5pt; padding-bottom: 1mm; }

  .matriz { display: grid; grid-template-columns: 20mm repeat(4, minmax(0, 1fr)); margin-top: 4mm; break-inside: avoid; }
  .matriz-rotulos { display: grid; }
  .matriz-rotulos span { font-size: 8.4pt; padding: 1.8mm 1.5mm 1.8mm 0; }
  .coluna { display: grid; padding: 0; border-radius: 3mm; border: 0; }
  .col-topo { display: block; padding: 1mm 2mm 2.5mm; font-size: 9.5pt; }
  .col-topo img { width: auto; height: 17mm; margin: 0 0 2mm; object-position: left bottom; }
  .col-topo strong { font-size: 13pt; }
  .coluna dl { display: grid; }
  .coluna dl > div { display: block; padding: 1.8mm 2mm; font-size: 9pt; line-height: 1.35; }
  .coluna dt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .coluna .voz { font-size: 10.5pt; }
  .coluna-abre { background: #fff4ea; }

  .comparacao { margin: 4mm 0; gap: 3mm; break-inside: avoid; }
  .comp-linha { grid-template-columns: 24mm minmax(0, 1fr); gap: 1mm 3mm; }
  .comp-linha h3 { font-size: 10.5pt; }
  .comp-linha > p { grid-column: 2; font-size: 9pt; }
  .fluxo { flex-direction: row; }
  .fluxo li, .fluxo li:first-child { min-height: 13mm; padding: 1.5mm 2.5mm; font-size: 9pt; flex: 1 1 0; margin: 0; }
  .fluxo .n5 { font-size: 10pt; }
  .comp-um .fluxo { max-width: 46%; }

  .encaixe { grid-template-columns: 3fr 2.5fr 4fr 2fr; margin: 4mm 0; break-inside: avoid; }
  .enc { min-height: 19mm; padding: 2.5mm; font-size: 8.5pt; }
  .enc strong { font-size: 10.5pt; }
  .enc-pitch strong { font-size: 13pt; }

  /* Evento */
  .evento { margin-top: 0; border: 0; break-before: page; }
  .evento-abre { max-width: none; padding: 0 0 5mm; }
  .evento-grade { display: block; max-width: none; }
  .evento-leitura { max-width: none; margin: 0; padding: 0; }
  .parada { padding-top: 0; break-before: page; }
  .evento-leitura > .parada:first-child { break-before: auto; }
  .parada h3 .selo, .bloco h3 .selo { vertical-align: middle; }
  .parada-topo { position: relative; padding: 6mm 44mm 6mm 7mm; min-height: 29mm; border-radius: 4mm; background: #0d0805 radial-gradient(70% 90% at 92% 40%, rgba(249, 115, 22, .34), transparent 72%); color: #f8f2e9; --texto: #f8f2e9; --texto-3: #c4b6a3; }
  .parada-topo h3 { font-size: 27pt; letter-spacing: -.034em; }
  .parada-sub { font-size: 10.5pt; margin-top: 1.5mm; }
  .parada-topo .termo { color: inherit; }
  .parada-obj { display: block; position: absolute; right: 6mm; top: 2mm; width: 32mm; height: 25mm; object-fit: contain; object-position: right center; }
  .papel { font-size: 13pt; margin-top: 4mm; max-width: none; }
  .logica { margin-top: 2mm; max-width: none; }
  .ficha { display: grid; grid-template-columns: 54mm minmax(0, 1fr); gap: 1.5mm 6mm; margin-top: 3mm; padding: 2.5mm 4mm; border: 1px solid var(--linha); border-radius: 3mm; background: #fff; break-inside: avoid; }
  .ficha-estado { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2mm 3mm; grid-row: 1; margin: 0; }
  .boca-ficha { align-self: center; }
  .ficha-estado small { display: block; font-size: 8pt; color: var(--texto-3); line-height: 1.2; }
  .ficha-estado strong { display: block; font-size: 10.5pt; font-weight: 600; line-height: 1.25; }
  .ficha-estado .estado { font-size: 10pt; }
  .boca-ficha { grid-row: 1 / 3; grid-column: 2; }
  .boca-ficha .b-ponto { stroke: #fff; }
  .ficha-pensa { grid-column: 1; margin: 0; align-self: end; }
  .ficha-pensa p { font: italic 460 11.5pt/1.16 var(--serifa); color: var(--texto); }
  .ficha-pensa footer { font-size: 8pt; color: var(--texto-3); margin-top: .8mm; }
  .parada h4 { margin-top: 5mm; }
  .passos { margin-top: 2mm; }
  .passos > li { padding: 1.3mm 0 1.3mm 8mm; line-height: 1.42; break-inside: avoid; }
  .passos > li::before { width: 5.4mm; height: 5.4mm; font-size: 8.5pt; top: 1.3mm; }
  .citacao { font-size: 16pt; margin-top: 5mm; break-inside: avoid; }
  .cena, .fala, .conta, .quinze, .dupla, .pecas, .decisoes, .escada, .intervalo, .nota-kairos { break-inside: avoid; }
  .cena { margin-top: 3mm; padding: 2.5mm 4mm; }
  .cena figcaption { font-size: 9pt; margin-bottom: 2mm; }
  .bolha { font-size: 9pt; padding: 1.2mm 2.6mm; }
  .bolhas { gap: 1mm; }
  .cena-nota { font-size: 9.5pt; margin-top: 2mm; }
  .pecas { margin-top: 4mm; }
  .pecas-titulo { font-size: 8.5pt; margin-bottom: 1.5mm; }
  .pecas li { font-size: 8.8pt; padding: .8mm 2mm; }
  .fala { margin-top: 4mm; padding: 2.5mm 4mm 3mm; }
  .fala-topo { margin-bottom: 1mm; }
  .fala-topo span { font-size: 8.5pt; }
  .fala p { font-size: 10.2pt; line-height: 1.42; }
  .decisoes { margin-top: 4mm; }
  .decisoes h4 { margin-bottom: 1mm; }
  .decisoes li { padding: .4mm 0 .4mm 4mm; }
  .nota-kairos { font-size: 9.2pt; margin-top: 3mm; }
  .selo { font-size: 7.8pt; }
  .intervalo { margin-top: 4mm; padding: 2mm 0; font-size: 9.8pt; }
  .dupla { margin-top: 3.5mm; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); }
  .dupla > div { padding: 2.5mm 0; }
  .dupla > div + div { border-top: 0; }
  .dupla h4 { font-size: 10pt; margin-bottom: 1mm; }
  .dupla ul { font-size: 9.2pt; }
  .dupla li { padding: .7mm 0 .7mm 4.6mm; }
  .dupla li::before { width: 3mm; height: 3mm; top: 1.3mm; }
  .dupla figcaption { font-size: 9pt; padding: 1.6mm 0; }
  .conta { margin: 3.5mm 0 2mm; padding: 2.5mm 0; }
  .conta-linha { font-size: 9.5pt; }
  .conta-result { margin-top: 1mm; gap: 4mm; }
  .conta-result small { font-size: 8pt; }
  .conta-result s { font-size: 20pt; }
  .conta-result strong { font-size: 28pt; }
  .conta figcaption { font-size: 9.2pt; margin-top: 1mm; }
  .escada { margin-top: 4mm; }
  .escada figcaption { font-size: 8.5pt; margin-bottom: 1.5mm; }
  .escada ol { height: 20mm; }
  .escada li { font-size: 9pt; padding-bottom: .8mm; }
  .quinze { margin-top: 4mm; padding: 2.5mm 0; display: grid; grid-template-columns: 62mm minmax(0, 1fr); gap: 1mm 5mm; }
  .quinze-num { grid-row: 1 / 4; }
  .quinze-num strong { font-size: 25pt; }
  .quinze-num span { font-size: 9.2pt; }
  .quinze-barra { margin-top: 1mm; height: 3mm; }
  .q-faixa { background: #fbc9a0; }
  .quinze-leg .l2 { background: #fbc9a0; box-shadow: none; }
  .quinze-leg { margin-top: 0; font-size: 8pt; }
  .quinze figcaption { margin-top: 0; font-size: 8pt; }

  /* 2 ou 3 dias */
  #dias { break-before: page; padding-top: 0; }
  .regressiva { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 2.5mm; }
  .regressiva li { padding: 2mm 2mm .5mm; }
  .regressiva strong { font-size: 14pt; }
  .regressiva span { font-size: 9pt; margin-top: .4mm; }
  .bloco h3 { margin-top: 6mm; }
  .formato { margin-top: 4mm; break-inside: avoid; display: block !important; }
  .formato[hidden] { display: block !important; }
  .formato > h4 { margin-bottom: 2mm; }
  .dia { grid-template-columns: 11mm minmax(0, 1fr); gap: 1.5mm; margin-bottom: 1.5mm; }
  .dia-nome { font-size: 8.5pt; line-height: 6.5mm; }
  .dia-faixa { height: 6.5mm; }
  .bl { border-right-color: #fff; }
  .dia-marcas { height: 4.2mm; margin-top: .6mm; font-size: 8pt; line-height: 1.2; }
  .mc { display: block; }
  .mc b { font-size: 8pt; }
  .mc-a { transform: translateX(-30%); }
  .dia-horas { height: 4mm; font-size: 7.5pt; }
  .legenda-blocos { font-size: 8pt; margin-left: 12.5mm; }
  .legenda-blocos i { width: 2.6mm; height: 2.6mm; }
  .formato .legenda-blocos { display: none; }
  .formato[data-formato="3b"] .legenda-blocos { display: flex; }
  .formato-texto { margin-top: 2mm; max-width: none; font-size: 9.8pt; line-height: 1.42; }
  .legenda-linha { font-size: 8.5pt; margin-top: 2mm; max-width: none; }
  .regras { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 6mm; margin-top: 2mm; break-inside: avoid; }
  .regras li { padding: 1.7mm 0 1.7mm 7.5mm; font-size: 9.6pt; line-height: 1.32; }
  .regras li::before { width: 5.2mm; height: 5.2mm; font-size: 8.5pt; top: 1.7mm; }

  /* Exemplo, folha, checklist, teste, glossário */
  #exemplo { break-before: page; padding-top: 0; }
  #monte { break-before: auto; }
  .monte { display: block; margin-top: 2mm; }
  .monte-impresso h3 { margin-top: 0; }
  .folha-campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 6mm; margin-top: 1mm; }
  .folha-campos div { min-height: 15mm; padding: 1mm 0 .8mm; border-bottom: 1px solid var(--linha-forte); font-size: 8.8pt; color: var(--texto-3); }
  .monte-saida { margin-top: 0; break-before: page; }
  .monte-tabela-topo { margin-top: 0; }
  .monte-tabela-topo h3 { margin: 0; font-size: 13.5pt; }
  .monte-saida .corpo { margin-top: 1mm; font-size: 9.2pt; }
  .monte-saida .tabela-rolagem { margin-top: 2mm; }
  .planilha-monte td { padding: 1.1mm 1.8mm; font-size: 8.6pt; line-height: 1.3; }
  .planilha-monte th { font-size: 8pt; }
  #checklist { break-before: page; padding-top: 0; }
  .titulo-acao { display: block; }
  .check-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5mm 8mm; margin-top: 3mm; }
  .check-grade fieldset { break-inside: avoid; }
  .check-grade legend { font-size: 11pt; margin-bottom: 1mm; }
  .check-grade label { padding: 1.3mm 0; font-size: 9.6pt; gap: 2.4mm; }
  .check-grade input { width: 3.8mm; height: 3.8mm; border-radius: 1mm; }
  #teste { padding-top: 8mm; }
  .perguntas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 8mm; margin-top: 2mm; }
  .pergunta { padding: 2.4mm 0; break-inside: avoid; }
  .pergunta legend { font-size: 10pt; margin-bottom: 1mm; }
  .pergunta label { padding: .4mm 0; margin: 0; border: 0; font-size: 9.4pt; gap: 1.6mm; }
  .pergunta input { width: 2.8mm; height: 2.8mm; margin-top: .8mm; }
  .pergunta label.gabarito span { font-weight: 650; color: var(--acento-texto); }
  .explica, .explica[hidden] { display: block !important; font-size: 8.8pt; line-height: 1.34; margin-top: 1mm; color: var(--texto-3); animation: none; }
  .glossario { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 8mm; margin-top: 2mm; }
  .glossario > div { padding: 1.2mm 0; break-inside: avoid; }
  .glossario dt { font-size: 9.8pt; }
  .glossario dd { font-size: 9pt; line-height: 1.3; }
  .fonte-lista { font-size: 9.2pt; line-height: 1.38; max-width: none; margin-top: 2mm; }
  .fonte { break-inside: avoid; }
  .rodape { max-width: none; margin-top: 7mm; padding: 3mm 0 0; font-size: 9pt; }
  .rodape .marca svg { width: 5mm; height: 5mm; }
  .rodape .marca span { display: inline; font-size: 11pt; }
}

/* Modo do gerador de PDF: a tela já se comporta como impressão */
.modo-pdf .abre { display: none; }

/* Fontes estáticas só para o gerador de PDF: a variável vira Type 3 e serrilha em alguns leitores */
@font-face { font-family: "Mona PDF"; src: url("fonts/pdf/mona-430.woff2") format("woff2"); font-weight: 300 479; font-style: normal; }
@font-face { font-family: "Mona PDF"; src: url("fonts/pdf/mona-520.woff2") format("woff2"); font-weight: 480 559; font-style: normal; }
@font-face { font-family: "Mona PDF"; src: url("fonts/pdf/mona-600.woff2") format("woff2"); font-weight: 560 639; font-style: normal; }
@font-face { font-family: "Mona PDF"; src: url("fonts/pdf/mona-700.woff2") format("woff2"); font-weight: 640 900; font-style: normal; }
@font-face { font-family: "Fraunces PDF"; src: url("fonts/pdf/fraunces-460.woff2") format("woff2"); font-weight: 400 700; font-style: italic; }
:root.modo-pdf, .modo-pdf body { --fonte: "Mona PDF", sans-serif; --serifa: "Fraunces PDF", Georgia, serif; }
