/* ══════════════════════════════════════════════════════════
   FABIM · "Introdução à Teoria das Restrições: Por Que os Projetos
   Atrasam" — publicação. As cinco causas sistêmicas dos atrasos
   (multitarefa nociva, Lei de Parkinson, Síndrome do Estudante,
   atrasos irrecuperáveis e o 2 + 2 = 5) e a passagem para a Teoria
   das Restrições, a partir da apresentação do Professor Fabio Costa.

   A base comum (hero, ficha, resumo, índice, seções, citação, callout,
   figura, fecho, autor, relacionados, CTA, revelação no scroll e
   impressão dos componentes art-) vem de /assets/css/editorial.css,
   ligada por data-layout="editorial" no <body>. Aqui ficam só os
   diagramas próprios deste texto, no prefixo tdr- (o prefixo "toc-"
   ficou de fora de propósito: as regras do check reconhecem o índice
   pelos tokens "xx-toc-box" e "xx-toc-list", e um "toc-toc-*" seria
   lido como índice). Componentes: assinatura do hero, atribuição de
   citação, as chamadas das quatro partes, o índice em partes e
   tópicos, as cinco causas, cartões, listas, os gráficos da
   apresentação (SVG fiel aos slides, com o texto ao lado), fórmula,
   condições da solução, corrente e referências.
   Escopo restrito a [data-page="conteudo-teoria-restricoes"]. Sem
   transição nem animação própria: o reveal é o do editorial.css.
   Nenhum estilo inline no HTML (CSP style-src 'self'): os gráficos são
   SVG embutidos, gerados por _tools/gen-teoria-restricoes-graficos.mjs,
   e as cores e fontes deles saem das classes tdr-sv-* daqui.
   ══════════════════════════════════════════════════════════ */

/* ── ASSINATURA DO HERO: 90% × 90% × 90% = 73% ──────────── */
[data-page="conteudo-teoria-restricoes"] .tdr-sig {
  margin-top: 22px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; max-width: 100%;
}
[data-page="conteudo-teoria-restricoes"] .tdr-sig-chip {
  display: inline-flex; flex-direction: column; align-items: flex-start; gap: 2px;
  padding: 9px 14px; border-radius: 12px; background: rgba(8, 16, 30, .78);
  border: 1px solid var(--edge-2);
}
[data-page="conteudo-teoria-restricoes"] .tdr-sig-chip b {
  font-family: var(--font-mono); font-size: .64rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: rgba(150, 185, 215, .85);
}
[data-page="conteudo-teoria-restricoes"] .tdr-sig-chip span {
  font-family: var(--font-mono); font-size: clamp(1.1rem, 2.3vw, 1.45rem); font-weight: 700; letter-spacing: -.01em; color: var(--txt-1);
}
[data-page="conteudo-teoria-restricoes"] .tdr-sig-chip--res { border-color: rgba(245, 166, 35, .5); background: rgba(245, 166, 35, .08); }
[data-page="conteudo-teoria-restricoes"] .tdr-sig-chip--res span { color: var(--amber); }
[data-page="conteudo-teoria-restricoes"] .tdr-sig-op {
  font-family: var(--font-mono); font-size: 1.2rem; font-weight: 700; color: var(--sky);
}
[data-page="conteudo-teoria-restricoes"] .tdr-sig-k {
  flex-basis: 100%; margin-top: 2px;
  font-family: var(--font-mono); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(150, 185, 215, .85);
}
[data-page="conteudo-teoria-restricoes"] .tdr-sig-eq { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
@media (max-width: 520px) {
  [data-page="conteudo-teoria-restricoes"] .tdr-sig { gap: 6px; }
  [data-page="conteudo-teoria-restricoes"] .tdr-sig-chip { padding: 7px 10px; }
}

/* "2 + 2 = 5" nunca quebra no meio (subtítulo, resumo, índice, título e cartão) */
[data-page="conteudo-teoria-restricoes"] .tdr-nw { white-space: nowrap; }

/* Link dentro do texto (o styles.css zera cor e sublinhado de <a>; mesmo
   tratamento do artigo do Sutter, senão o link fica idêntico ao parágrafo) */
[data-page="conteudo-teoria-restricoes"] .art-col p a:not(.art-btn) { color: var(--sky); text-decoration: underline; text-underline-offset: 3px; }
[data-page="conteudo-teoria-restricoes"] .art-col p a:not(.art-btn):hover { color: var(--cyan); }
[data-page="conteudo-teoria-restricoes"] .art-col p a:not(.art-btn):focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; border-radius: 6px; }

/* ── ATRIBUIÇÃO DA CITAÇÃO ───────────────────────────────── */
[data-page="conteudo-teoria-restricoes"] .tdr-quote-by {
  display: block; margin-top: 14px;
  font-family: var(--font-mono); font-size: .76rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--sky);
}

/* ── PARTES E TÓPICOS ───────────────────────────────────────
   O texto segue os divisores da apresentação: 1 Problema em projetos,
   2 Causas dos atrasos em projetos, 3 Desesperança ou novo caminho?,
   4 A Teoria das Restrições (TOC). Cada parte abre com uma chamada no
   desenho do slide divisor (foto à esquerda, título e tópicos à direita),
   e cada tópico leva no alto o nome da parte, no lugar do antigo selo
   "NN / 15" (pedido do proprietário em 2026-10-02: menos números, mais
   estrutura). Hierarquia: parte h2, tópico h3, subtópico h4. */
[data-page="conteudo-teoria-restricoes"] .tdr-parte {
  background: linear-gradient(180deg, rgba(56, 189, 248, .07), rgba(56, 189, 248, 0) 70%);
}
[data-page="conteudo-teoria-restricoes"] .tdr-parte-box {
  max-width: 1140px; margin: 0 auto;
  display: grid; grid-template-columns: minmax(0, 11fr) minmax(0, 9fr); gap: clamp(24px, 4vw, 56px); align-items: center;
}
[data-page="conteudo-teoria-restricoes"] .tdr-parte-box > .tdr-parte-fig { margin: 0; }
[data-page="conteudo-teoria-restricoes"] .tdr-parte-k {
  display: inline-flex; align-items: center; padding: 6px 14px; border-radius: 999px;
  border: 1px solid rgba(56, 189, 248, .45); background: rgba(56, 189, 248, .1);
  font-family: var(--font-mono); font-size: .8125rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--sky);
}
[data-page="conteudo-teoria-restricoes"] .tdr-parte-h {
  margin-top: 16px; text-wrap: balance;
  font-size: clamp(2rem, 4.4vw, 3rem); font-weight: 800; line-height: 1.08; letter-spacing: -.02em; color: var(--txt-1);
}
[data-page="conteudo-teoria-restricoes"] .tdr-parte-nesta {
  margin-top: 24px; font-family: var(--font-mono); font-size: .8125rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase; color: var(--txt-3);
}
[data-page="conteudo-teoria-restricoes"] .tdr-parte-lista {
  list-style: none; margin-top: 10px; padding-left: 16px; border-left: 2px solid var(--edge-2); display: grid; gap: 4px;
}
[data-page="conteudo-teoria-restricoes"] .tdr-parte-lista a {
  display: inline-block; padding: 5px 0; font-size: 1.02rem; font-weight: 600; line-height: 1.4; color: var(--txt-2);
}
[data-page="conteudo-teoria-restricoes"] .tdr-parte-lista a:hover { color: var(--sky); text-decoration: underline; text-underline-offset: 3px; }
[data-page="conteudo-teoria-restricoes"] .tdr-parte-lista a:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; border-radius: 4px; }
[data-page="conteudo-teoria-restricoes"] .tdr-parte-continua {
  display: inline-flex; margin-top: 22px; padding: 7px 16px; border-radius: 999px;
  border: 1px solid rgba(245, 166, 35, .5); background: rgba(245, 166, 35, .1);
  font-family: var(--font-mono); font-size: .875rem; font-weight: 700; letter-spacing: .08em; color: var(--amber);
}
/* Nas partes 3 e 4 a chamada abre a própria seção: o texto do slide vem logo
   abaixo, com o respiro de um bloco e não de uma seção nova. */
[data-page="conteudo-teoria-restricoes"] .tdr-parte--aberta .tdr-parte-box + * { margin-top: clamp(8px, 2vw, 16px); }
@media (max-width: 900px) {
  [data-page="conteudo-teoria-restricoes"] .tdr-parte-box { grid-template-columns: minmax(0, 1fr); gap: 22px; max-width: 680px; }
}

/* Rótulo do tópico (o nome da parte) e subtópico um degrau menor */
[data-page="conteudo-teoria-restricoes"] .tdr-k {
  display: block; font-family: var(--font-mono); font-size: .78rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase; color: var(--cyan);
}
[data-page="conteudo-teoria-restricoes"] .art-h2.tdr-h-sub { font-size: clamp(1.45rem, 5.4vw, 2.05rem); }

/* Índice em partes, como sumário de livro: duas colunas de leitura contínua
   (a Parte 2 tem dez itens e as outras de um a três, e uma grade deixaria
   buracos), tópicos sob a parte e subtópicos recuados, sem quebrar um tópico
   entre colunas. O editorial.js clona a mesma lista para o índice lateral e
   para o diálogo do celular (.art-toc-clone). */
[data-page="conteudo-teoria-restricoes"] .art-toc-list.tdr-toc { display: block; columns: 2; column-gap: 14px; }
[data-page="conteudo-teoria-restricoes"] .tdr-toc :is(ol > li, > li > a) { break-inside: avoid; }
[data-page="conteudo-teoria-restricoes"] .tdr-toc > li > a { font-weight: 700; color: var(--txt-1); }
[data-page="conteudo-teoria-restricoes"] .tdr-toc ol { list-style: none; margin: 0 0 6px 18px; padding-left: 10px; border-left: 1px solid var(--edge); }
[data-page="conteudo-teoria-restricoes"] .tdr-toc ol a { min-height: 36px; padding: 5px 10px; font-size: .95rem; }
[data-page="conteudo-teoria-restricoes"] .tdr-toc ol ol a { font-size: .9rem; color: var(--txt-3); }
[data-page="conteudo-teoria-restricoes"] .art-toc-clone > li > a { font-weight: 700; color: var(--txt-1); }
[data-page="conteudo-teoria-restricoes"] .art-toc-clone ol { list-style: none; margin: 2px 0 4px 10px; padding: 0; display: grid; gap: 2px; }
[data-page="conteudo-teoria-restricoes"] .art-toc-clone ol a { font-size: .82rem; }
[data-page="conteudo-teoria-restricoes"] .art-toc-clone ol ol { margin-left: 12px; }
[data-page="conteudo-teoria-restricoes"] .art-toc-clone ol ol a { font-size: .78rem; }
@media (max-width: 760px) {
  [data-page="conteudo-teoria-restricoes"] .art-toc-list.tdr-toc { columns: 1; }
}

/* ── AS CINCO CAUSAS ─────────────────────────────────────── */
[data-page="conteudo-teoria-restricoes"] .tdr-causes {
  list-style: none; max-width: 1140px; margin: 24px auto 0;
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px;
}
[data-page="conteudo-teoria-restricoes"] .tdr-cause {
  position: relative; padding: 18px 16px 18px; border-radius: var(--radius-m);
  background: var(--panel); border: 1px solid var(--edge); border-top: 3px solid rgba(56, 189, 248, .55);
}
[data-page="conteudo-teoria-restricoes"] .tdr-cause-ic { display: block; width: 30px; height: 30px; color: var(--sky); }
[data-page="conteudo-teoria-restricoes"] .tdr-cause-ic svg { width: 100%; height: 100%; }
[data-page="conteudo-teoria-restricoes"] .tdr-cause-n {
  display: block; margin-top: 12px;
  font-family: var(--font-mono); font-size: .66rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--cyan);
}
[data-page="conteudo-teoria-restricoes"] .tdr-cause h4 { margin-top: 6px; font-size: 1.05rem; font-weight: 800; line-height: 1.25; letter-spacing: -.01em; }
[data-page="conteudo-teoria-restricoes"] .tdr-cause h4 a { color: var(--txt-1); text-decoration: none; }
/* O cartão inteiro clica, pelo ::after do link (mesmo padrão dos cards do hub). */
[data-page="conteudo-teoria-restricoes"] .tdr-cause h4 a::after { content: ''; position: absolute; inset: 0; border-radius: inherit; }
[data-page="conteudo-teoria-restricoes"] .tdr-cause:hover { border-color: var(--edge-2); }
[data-page="conteudo-teoria-restricoes"] .tdr-cause h4 a:hover,
[data-page="conteudo-teoria-restricoes"] .tdr-cause h4 a:focus-visible { color: var(--sky); text-decoration: underline; text-underline-offset: 3px; }
[data-page="conteudo-teoria-restricoes"] .tdr-cause p { margin-top: 8px; font-size: .92rem; line-height: 1.5; color: var(--txt-3); }
@media (max-width: 1080px) { [data-page="conteudo-teoria-restricoes"] .tdr-causes { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px) { [data-page="conteudo-teoria-restricoes"] .tdr-causes { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 460px) { [data-page="conteudo-teoria-restricoes"] .tdr-causes { grid-template-columns: 1fr; } }

/* ── "NA OBRA": o callout leva o ícone de casa e a cor âmbar contida ── */
[data-page="conteudo-teoria-restricoes"] .tdr-obra { border-color: rgba(245, 166, 35, .32); border-left-color: var(--amber); }
[data-page="conteudo-teoria-restricoes"] .tdr-obra svg { color: var(--amber); }

/* ── CARTÕES (trios e duplas) ─────────────────────────────── */
[data-page="conteudo-teoria-restricoes"] .tdr-trio,
[data-page="conteudo-teoria-restricoes"] .tdr-duo {
  list-style: none; max-width: 1040px; margin: 24px auto 0;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px;
}
[data-page="conteudo-teoria-restricoes"] .tdr-duo { grid-template-columns: repeat(2, 1fr); max-width: 820px; }
[data-page="conteudo-teoria-restricoes"] .tdr-card {
  padding: 18px 20px; border-radius: var(--radius-m);
  background: var(--panel); border: 1px solid var(--edge); border-left: 3px solid var(--sky);
}
[data-page="conteudo-teoria-restricoes"] .tdr-card :is(h4, h5) { font-size: 1.02rem; font-weight: 800; line-height: 1.3; color: var(--txt-1); }
[data-page="conteudo-teoria-restricoes"] .tdr-card :is(h4, h5) i { font-style: italic; }
[data-page="conteudo-teoria-restricoes"] .tdr-card p { margin-top: 8px; font-size: .95rem; line-height: 1.55; color: var(--txt-2); }
@media (max-width: 820px) {
  [data-page="conteudo-teoria-restricoes"] .tdr-trio,
  [data-page="conteudo-teoria-restricoes"] .tdr-duo { grid-template-columns: 1fr; }
}

/* ── LISTAS DO TEXTO ─────────────────────────────────────── */
[data-page="conteudo-teoria-restricoes"] .tdr-list { margin-top: 16px; padding-left: 0; list-style: none; display: grid; gap: 12px; }
[data-page="conteudo-teoria-restricoes"] .tdr-list li {
  position: relative; padding-left: 26px;
  font-size: var(--art-body); line-height: 1.65; color: var(--txt-2);
}
[data-page="conteudo-teoria-restricoes"] .tdr-list li::before {
  content: ''; position: absolute; left: 4px; top: .72em; width: 8px; height: 8px; border-radius: 2px;
  background: var(--sky); transform: rotate(45deg);
}
[data-page="conteudo-teoria-restricoes"] .tdr-list--num { counter-reset: tdr-n; }
[data-page="conteudo-teoria-restricoes"] .tdr-list--num li { counter-increment: tdr-n; padding-left: 34px; }
[data-page="conteudo-teoria-restricoes"] .tdr-list--num li::before {
  content: counter(tdr-n); top: .2em; left: 0; width: 24px; height: 24px; transform: none; border-radius: 50%;
  background: rgba(56, 189, 248, .14); border: 1px solid rgba(56, 189, 248, .5);
  font-family: var(--font-mono); font-size: .78rem; font-weight: 700; line-height: 22px; text-align: center; color: var(--sky);
}

/* ── MOLDURA DA CORRENTE ─────────────────────────────────── */
[data-page="conteudo-teoria-restricoes"] .tdr-chain {
  margin: 24px auto 0; padding: clamp(18px, 3vw, 26px);
  border-radius: var(--radius-l); background: var(--panel); border: 1px solid var(--edge);
}
[data-page="conteudo-teoria-restricoes"] .tdr-chain-h {
  font-family: var(--font-mono); font-size: .72rem; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: var(--sky); line-height: 1.5;
}
[data-page="conteudo-teoria-restricoes"] .tdr-chain-cap { margin-top: 16px; font-size: .9rem; line-height: 1.55; color: var(--txt-3); }
[data-page="conteudo-teoria-restricoes"] .tdr-chain-cap .art-mono { display: block; margin-bottom: 4px; font-size: .62rem; color: var(--sky); }

/* ── GRÁFICOS DA APRESENTAÇÃO ───────────────────────────────
   Os gráficos dos slides 7, 11, 12 e 14 a 22 com o DESENHO do slide
   (posições e comprimentos medidos no PDF, linhas T0/T1/T2, seta em T1,
   cotas, caixas "Fim", o X do slide 12) e o ACABAMENTO da publicação:
   painel escuro, Manrope e JetBrains Mono, paleta do artigo. Pedido do
   proprietário em 2026-10-02. O SVG é embutido e gerado por
   _tools/gen-teoria-restricoes-graficos.mjs; o texto que explica cada
   gráfico fica ao lado dele, como na apresentação, e desce para baixo do
   gráfico abaixo de 900px.
   Paleta: a lógica de cor dos slides (A azul, B verde, C amarelo, D ciano)
   nos neons do site; C vira âmbar e D vira violeta, que no fundo escuro não
   se confundem com o azul de A. As barras são translúcidas, com contorno e
   brilho neon (pedido do proprietário: "neon e translúcida, mais moderna"),
   e o rótulo de cada uma sai num tom claro da própria cor. O brilho é
   filter: drop-shadow, que o Safari ignora em elemento de SVG: lá fica só o
   contorno, sem perder nada do desenho. */
[data-page="conteudo-teoria-restricoes"] {
  --tdr-a: #38BDF8;      /* tarefa A */
  --tdr-b: #39E983;      /* tarefa B, e a segurança */
  --tdr-c: #F5A623;      /* tarefa C, e o prazo real */
  --tdr-d: #A78BFA;      /* tarefa D */
  --tdr-guia: rgba(150, 185, 215, .5);
  --tdr-cota: #CBD5E1;
}
[data-page="conteudo-teoria-restricoes"] .tdr-graf {
  margin: 26px auto 0; padding: clamp(14px, 2.4vw, 26px); border-radius: var(--radius-l);
  background: var(--panel); border: 1px solid var(--edge);
}
[data-page="conteudo-teoria-restricoes"] .tdr-graf--mt { max-width: 1140px; }
[data-page="conteudo-teoria-restricoes"] .tdr-graf--est { max-width: 600px; }
[data-page="conteudo-teoria-restricoes"] .tdr-graf--serie { max-width: 760px; }
[data-page="conteudo-teoria-restricoes"] .tdr-svg { display: block; width: 100%; height: auto; overflow: visible; }
/* O slide 7 nunca fica com menos de 880px: abaixo disso os rótulos do caso 2
   cairiam de 13px. Quando o painel é mais estreito, ele rola de lado. */
[data-page="conteudo-teoria-restricoes"] .tdr-svg--mt { min-width: 880px; }
[data-page="conteudo-teoria-restricoes"] .tdr-graf-vp { overflow-x: auto; overscroll-behavior-x: contain; scrollbar-color: rgba(56, 189, 248, .5) transparent; }
[data-page="conteudo-teoria-restricoes"] .tdr-graf-vp:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; border-radius: 6px; }
[data-page="conteudo-teoria-restricoes"] .tdr-graf-hint {
  display: none; margin-top: 10px; font-family: var(--font-mono); font-size: .8125rem; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; color: var(--txt-3);
}
/* A dica de arrastar aparece quando o painel do slide 7 fica mais estreito
   que os 880px do desenho (tela abaixo de cerca de 960px). */
@media (max-width: 960px) {
  [data-page="conteudo-teoria-restricoes"] .tdr-graf-hint { display: block; }
}

/* Peças do desenho (classes tdr-sv-*, usadas só dentro dos SVG) */
[data-page="conteudo-teoria-restricoes"] .tdr-svg text { font-family: var(--font-sans); font-weight: 700; }
[data-page="conteudo-teoria-restricoes"] .tdr-sv-guia { stroke: var(--tdr-guia); stroke-width: 2; }
[data-page="conteudo-teoria-restricoes"] .tdr-sv-eixo { stroke: var(--tdr-cota); stroke-width: 2.4; }
[data-page="conteudo-teoria-restricoes"] .tdr-sv-fundo { fill: var(--bg-2); }
[data-page="conteudo-teoria-restricoes"] .tdr-sv-bar { stroke-width: 2; }
[data-page="conteudo-teoria-restricoes"] .tdr-sv-a { fill: rgba(56, 189, 248, .16); stroke: var(--tdr-a); filter: drop-shadow(0 0 6px rgba(56, 189, 248, .45)); }
[data-page="conteudo-teoria-restricoes"] :is(.tdr-sv-b, .tdr-sv-seg) { fill: rgba(57, 233, 131, .13); stroke: var(--tdr-b); filter: drop-shadow(0 0 6px rgba(57, 233, 131, .4)); }
[data-page="conteudo-teoria-restricoes"] :is(.tdr-sv-c, .tdr-sv-real) { fill: rgba(245, 166, 35, .15); stroke: var(--tdr-c); filter: drop-shadow(0 0 6px rgba(245, 166, 35, .42)); }
[data-page="conteudo-teoria-restricoes"] .tdr-sv-d { fill: rgba(167, 139, 250, .16); stroke: var(--tdr-d); filter: drop-shadow(0 0 6px rgba(167, 139, 250, .45)); }
[data-page="conteudo-teoria-restricoes"] .tdr-sv-aj { fill: rgba(150, 185, 215, .1); stroke: rgba(150, 185, 215, .55); }
[data-page="conteudo-teoria-restricoes"] .tdr-sv-rot--a { fill: #BAE6FD; }
[data-page="conteudo-teoria-restricoes"] .tdr-sv-rot--b { fill: #BBF7D0; }
[data-page="conteudo-teoria-restricoes"] .tdr-sv-rot--c { fill: #FDE3B0; }
[data-page="conteudo-teoria-restricoes"] .tdr-sv-rot--d { fill: #DDD6FE; }
[data-page="conteudo-teoria-restricoes"] .tdr-svg .tdr-sv-rot-aj { fill: var(--txt-2); font-family: var(--font-mono); }
[data-page="conteudo-teoria-restricoes"] .tdr-svg .tdr-sv-rot-est { font-family: var(--font-mono); }
[data-page="conteudo-teoria-restricoes"] .tdr-svg :is(.tdr-sv-t, .tdr-sv-fim-rot, .tdr-sv-cota-txt) { fill: var(--txt-1); font-family: var(--font-mono); }
[data-page="conteudo-teoria-restricoes"] .tdr-svg .tdr-sv-tit { fill: var(--sky); font-family: var(--font-mono); letter-spacing: .08em; }
[data-page="conteudo-teoria-restricoes"] .tdr-svg .tdr-sv-leg { fill: var(--txt-2); font-weight: 600; }
[data-page="conteudo-teoria-restricoes"] .tdr-sv-seta { fill: rgba(56, 189, 248, .22); stroke: var(--sky); stroke-width: 2; stroke-linejoin: miter; }
[data-page="conteudo-teoria-restricoes"] .tdr-sv-fim { fill: var(--bg-2); stroke: var(--tdr-cota); stroke-width: 1.6; }
[data-page="conteudo-teoria-restricoes"] .tdr-sv-fim-seta { fill: var(--tdr-cota); }
[data-page="conteudo-teoria-restricoes"] .tdr-sv-fim-haste { stroke: var(--tdr-cota); stroke-width: 2; }
[data-page="conteudo-teoria-restricoes"] .tdr-sv-cota { stroke: var(--tdr-cota); stroke-width: 1.5; }
[data-page="conteudo-teoria-restricoes"] .tdr-sv-cota--forte { stroke-width: 2.6; }
[data-page="conteudo-teoria-restricoes"] .tdr-sv-cota-ponta { fill: none; stroke: var(--tdr-cota); stroke-width: 1.5; }
[data-page="conteudo-teoria-restricoes"] .tdr-sv-cota-cheia { fill: var(--tdr-cota); }
/* Sinal de proibido do slide 12 em neon: cada traço é um tubo de quatro
   camadas, do halo largo e fraco ao fio claro do centro. */
[data-page="conteudo-teoria-restricoes"] .tdr-sv-neon { fill: none; stroke-linecap: round; stroke-linejoin: round; }
[data-page="conteudo-teoria-restricoes"] .tdr-sv-neon--halo { stroke: #F04438; stroke-opacity: .14; stroke-width: 34; }
[data-page="conteudo-teoria-restricoes"] .tdr-sv-neon--meio { stroke: #F04438; stroke-opacity: .32; stroke-width: 18; }
[data-page="conteudo-teoria-restricoes"] .tdr-sv-neon--nucleo { stroke: #FF5A4E; stroke-width: 8; }
[data-page="conteudo-teoria-restricoes"] .tdr-sv-neon--fio { stroke: #FFD5CF; stroke-opacity: .85; stroke-width: 2.4; }

[data-page="conteudo-teoria-restricoes"] .tdr-slide {
  max-width: 1140px; margin: 26px auto 0;
  display: grid; grid-template-columns: minmax(0, 46fr) minmax(0, 54fr); gap: clamp(28px, 4vw, 56px); align-items: start;
}
[data-page="conteudo-teoria-restricoes"] .tdr-slide > .tdr-graf { margin: 0; }
[data-page="conteudo-teoria-restricoes"] .tdr-slide--mid { align-items: center; }
[data-page="conteudo-teoria-restricoes"] .tdr-slide--lista { grid-template-columns: minmax(0, 56fr) minmax(0, 44fr); align-items: center; }
[data-page="conteudo-teoria-restricoes"] .tdr-slide-txt p { margin-top: 18px; font-size: var(--art-body); line-height: 1.7; color: var(--txt-2); }
[data-page="conteudo-teoria-restricoes"] .tdr-slide-txt > :first-child { margin-top: 0; }
[data-page="conteudo-teoria-restricoes"] .tdr-slide-txt i { font-style: italic; color: rgba(233, 244, 251, .9); }
[data-page="conteudo-teoria-restricoes"] .tdr-slide-txt strong { color: var(--txt-1); }
/* Slide 14: o primeiro parágrafo na altura do plano e o segundo na altura
   do que aconteceu. A primeira faixa ocupa um terço da altura do gráfico. */
[data-page="conteudo-teoria-restricoes"] .tdr-slide--split > .tdr-graf { align-self: start; }
[data-page="conteudo-teoria-restricoes"] .tdr-slide--split .tdr-slide-txt {
  align-self: stretch; display: grid; grid-template-rows: minmax(min-content, 33%) minmax(min-content, 1fr);
}
[data-page="conteudo-teoria-restricoes"] .tdr-slide--split .tdr-slide-txt p { margin-top: 0; align-self: center; }
/* Perguntas do slide ("Por quê?") e o fecho do 2 + 2 = 5 */
[data-page="conteudo-teoria-restricoes"] :is(.art-col, .tdr-slide-txt) p.tdr-ask {
  font-size: clamp(1.0625rem, 1.6vw, 1.2rem); font-style: italic; font-weight: 700; line-height: 1.5; color: var(--txt-1);
}
[data-page="conteudo-teoria-restricoes"] .tdr-slide-txt p.tdr-punch {
  font-size: clamp(1.3rem, 2.4vw, 1.6rem); font-weight: 800; line-height: 1.3; letter-spacing: -.01em; color: var(--txt-1);
}
@media (max-width: 900px) {
  [data-page="conteudo-teoria-restricoes"] :is(.tdr-slide, .tdr-slide--lista) { grid-template-columns: minmax(0, 1fr); gap: 22px; max-width: 680px; }
  [data-page="conteudo-teoria-restricoes"] .tdr-slide--split .tdr-slide-txt { display: block; }
  [data-page="conteudo-teoria-restricoes"] .tdr-slide--split .tdr-slide-txt p + p { margin-top: 18px; }
}

/* ── FÓRMULA DAS PROBABILIDADES ──────────────────────────── */
[data-page="conteudo-teoria-restricoes"] .tdr-formula {
  margin-top: 20px !important; padding: 16px 20px; border-radius: var(--radius-m);
  border: 1px solid rgba(245, 166, 35, .4); background: rgba(245, 166, 35, .06);
  font-family: var(--font-mono); font-size: clamp(1.05rem, 2.6vw, 1.4rem) !important; font-weight: 700; color: var(--txt-1) !important; text-align: center;
}
[data-page="conteudo-teoria-restricoes"] .tdr-formula b { color: var(--amber); white-space: nowrap; }

/* ── CONDIÇÕES DA SOLUÇÃO ────────────────────────────────── */
[data-page="conteudo-teoria-restricoes"] .tdr-req {
  list-style: none; max-width: 1040px; margin: 24px auto 0;
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px;
}
[data-page="conteudo-teoria-restricoes"] .tdr-req-item {
  display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: start;
  padding: 18px 20px; border-radius: var(--radius-m); background: var(--panel); border: 1px solid var(--edge);
}
[data-page="conteudo-teoria-restricoes"] .tdr-req-n { font-family: var(--font-mono); font-size: 1.3rem; font-weight: 700; line-height: 1.2; color: var(--amber); }
[data-page="conteudo-teoria-restricoes"] .tdr-req-item p { font-size: .98rem; line-height: 1.55; color: var(--txt-2); }
@media (max-width: 760px) { [data-page="conteudo-teoria-restricoes"] .tdr-req { grid-template-columns: 1fr; } }

/* ── A CORRENTE E O ELO MAIS FRACO ───────────────────────── */
[data-page="conteudo-teoria-restricoes"] .tdr-chain { max-width: 900px; text-align: center; }
[data-page="conteudo-teoria-restricoes"] .tdr-chain-row {
  display: flex; justify-content: center; align-items: center; margin: 26px auto 8px; padding: 0 4px;
}
[data-page="conteudo-teoria-restricoes"] .tdr-chain-row i {
  flex: none; display: block; width: clamp(40px, 9vw, 86px); height: clamp(22px, 4.6vw, 42px);
  border: clamp(5px, 1.1vw, 9px) solid rgba(150, 185, 215, .7); border-radius: 999px;
}
[data-page="conteudo-teoria-restricoes"] .tdr-chain-row i + i { margin-left: clamp(-14px, -2.4vw, -8px); }
[data-page="conteudo-teoria-restricoes"] .tdr-chain-row i:nth-child(even) { height: clamp(12px, 2.4vw, 22px); border-width: clamp(4px, .8vw, 7px); }
[data-page="conteudo-teoria-restricoes"] .tdr-chain-row .tdr-chain-weak {
  border-width: 2px !important; border-color: var(--amber); box-shadow: 0 0 18px rgba(245, 166, 35, .35);
}
[data-page="conteudo-teoria-restricoes"] .tdr-chain-cap { text-align: left; }
[data-page="conteudo-teoria-restricoes"] .tdr-chain-cap .art-mono { color: var(--amber); }

/* ── REFERÊNCIAS ─────────────────────────────────────────── */
[data-page="conteudo-teoria-restricoes"] .tdr-refs { margin-top: 18px; padding-left: 22px; display: grid; gap: 10px; }
[data-page="conteudo-teoria-restricoes"] .tdr-refs li { font-size: .95rem; line-height: 1.6; color: var(--txt-2); }
[data-page="conteudo-teoria-restricoes"] .tdr-refs li::marker { font-family: var(--font-mono); color: var(--sky); }
[data-page="conteudo-teoria-restricoes"] .tdr-refs a { color: var(--sky); text-decoration: underline; text-underline-offset: 3px; }
[data-page="conteudo-teoria-restricoes"] .tdr-refs a:hover { color: var(--cyan); }

/* ── PISO DE TEXTO NO CELULAR (item 7.10) ───────────────────
   Abaixo de 900px o editorial.css sobe os textos art- para 1rem e os rótulos
   mono para .8125rem; os componentes tdr- seguem o mesmo piso, como no artigo
   do Sutter. O texto dentro dos gráficos é desenho do slide e escala com ele
   (o slide 7 rola de lado para não descer de 13px). */
@media (max-width: 900px) {
  [data-page="conteudo-teoria-restricoes"] :is(.tdr-cause p, .tdr-card p, .tdr-req-item p, .tdr-chain-cap, .tdr-refs li) { font-size: 1rem; }
  [data-page="conteudo-teoria-restricoes"] :is(.tdr-sig-chip b, .tdr-sig-k, .tdr-quote-by, .tdr-cause-n, .tdr-chain-h, .tdr-chain-cap .art-mono, .tdr-k) { font-size: .8125rem; }
}

/* ── CONTRASTE FORÇADO (Windows) ─────────────────────────────
   O painel dos gráficos fica fora do ajuste do sistema, com fundo escuro
   opaco: o desenho depende das cores (texto claro, barras coloridas) e se
   perderia num tema de alto contraste claro. A borda segue o sistema. */
@media (forced-colors: active) {
  [data-page="conteudo-teoria-restricoes"] .tdr-graf { forced-color-adjust: none; background: var(--bg-2); border: 1px solid CanvasText; }
}

/* ── IMPRESSÃO ───────────────────────────────────────────────
   O editorial.css derruba todo fundo no papel, mas preenchimento de SVG não
   é fundo: as barras imprimem coloridas. O que era claro sobre o painel
   escuro (rótulos, linhas-guia, cotas, caixas "Fim") vira escuro sobre o
   papel, o slide 7 volta à largura da página e a dica de arrastar sai. */
@media print {
  [data-page="conteudo-teoria-restricoes"] .tdr-graf { border: 1px solid #999 !important; }
  [data-page="conteudo-teoria-restricoes"] .tdr-graf-vp { overflow: visible !important; }
  [data-page="conteudo-teoria-restricoes"] .tdr-svg--mt { min-width: 0 !important; }
  [data-page="conteudo-teoria-restricoes"] .tdr-svg :is(.tdr-sv-t, .tdr-sv-fim-rot, .tdr-sv-cota-txt, .tdr-sv-rot-aj, .tdr-sv-leg, .tdr-sv-tit, .tdr-sv-rot, .tdr-sv-rot-est) { fill: #111 !important; }
  [data-page="conteudo-teoria-restricoes"] .tdr-sv-fundo { fill: #fff !important; }
  [data-page="conteudo-teoria-restricoes"] .tdr-sv-bar { filter: none !important; }
  [data-page="conteudo-teoria-restricoes"] :is(.tdr-sv-neon--halo, .tdr-sv-neon--meio, .tdr-sv-neon--fio) { display: none; }
  [data-page="conteudo-teoria-restricoes"] .tdr-sv-neon--nucleo { stroke: #D92D20 !important; }
  [data-page="conteudo-teoria-restricoes"] :is(.tdr-sv-guia, .tdr-sv-aj) { stroke: #888 !important; }
  [data-page="conteudo-teoria-restricoes"] .tdr-sv-aj { fill: #e6e6e6 !important; }
  [data-page="conteudo-teoria-restricoes"] :is(.tdr-sv-eixo, .tdr-sv-cota, .tdr-sv-cota-ponta, .tdr-sv-fim, .tdr-sv-fim-haste, .tdr-sv-seta) { stroke: #333 !important; }
  [data-page="conteudo-teoria-restricoes"] :is(.tdr-sv-fim-seta, .tdr-sv-cota-cheia) { fill: #333 !important; }
  [data-page="conteudo-teoria-restricoes"] .tdr-sv-fim { fill: #fff !important; }
  [data-page="conteudo-teoria-restricoes"] .tdr-sv-seta { fill: #cfe8fb !important; }
  [data-page="conteudo-teoria-restricoes"] .tdr-graf-hint { display: none !important; }
  [data-page="conteudo-teoria-restricoes"] .tdr-chain-row i { border-color: #777 !important; }
  [data-page="conteudo-teoria-restricoes"] .tdr-chain-row .tdr-chain-weak { border-color: #111 !important; border-style: dashed !important; }
  [data-page="conteudo-teoria-restricoes"] .tdr-list:not(.tdr-list--num) li::before { background: #333 !important; }
  [data-page="conteudo-teoria-restricoes"] .tdr-list--num li::before { background: none !important; border: 1px solid #333 !important; color: #1a1a1a !important; }
  [data-page="conteudo-teoria-restricoes"] .tdr-chain-cap .art-mono { color: #555 !important; }
  [data-page="conteudo-teoria-restricoes"] .tdr-causes { grid-template-columns: repeat(3, 1fr) !important; }
  [data-page="conteudo-teoria-restricoes"] :is(.tdr-k, .tdr-parte-k, .tdr-parte-nesta, .tdr-parte-continua) { color: #333 !important; }
  [data-page="conteudo-teoria-restricoes"] :is(.tdr-parte-k, .tdr-parte-continua) { border-color: #999 !important; }
  [data-page="conteudo-teoria-restricoes"] .tdr-parte-box { break-inside: avoid; page-break-inside: avoid; }
  [data-page="conteudo-teoria-restricoes"] :is(.tdr-cause, .tdr-card, .tdr-slide, .tdr-graf, .tdr-req-item, .tdr-chain, .tdr-formula) {
    break-inside: avoid; page-break-inside: avoid;
  }
}

