@import url("../fonts/fonts.css");

:root {
  --t-noite-950: #080a04;
  --t-noite-900: #0b0e06;
  --t-noite-850: #11140b;
  --t-noite-800: #1a1f12;
  --t-noite-700: #2a3120;
  --t-noite-600: #3d4530;
  --t-musgo-300: #a9a78c;
  --t-musgo-500: #6f6d57;
  --t-ouro-200: #f8e9a6;
  --t-ouro-300: #f5de7a;
  --t-ouro-400: #e0c454;
  --t-ouro-500: #cdb046;
  --t-ouro-600: #bda03b;
  --t-ouro-700: #9a7f22;
  --t-ouro-800: #7a6414;
  --t-pergaminho-50: #fbf8ef;
  --t-pergaminho-100: #f6f1e4;
  --t-pergaminho-200: #eae2cc;
  --t-pergaminho-300: #d9ceb0;
  --t-tinta: #14170e;
  --t-louro-claro: #9cc28a;
  --t-louro: #4f7a40;
  --t-ambar-claro: #e6b36a;
  --t-ambar: #9c6214;
  --t-terracota-claro: #e08a74;
  --t-terracota: #a2432f;

  --t-font-marca: "Cinzel", "Trajan Pro", Georgia, serif;
  --t-font-titulo: "Cormorant Garamond", "Cormorant", Garamond, Georgia, serif;
  --t-font-texto: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;

  --t-fs-hero: clamp(44px, 7vw, 88px);
  --t-fs-h1: clamp(34px, 5vw, 56px);
  --t-fs-h2: clamp(26px, 3.4vw, 36px);
  --t-fs-h3: 22px;
  --t-fs-lead: 19px;
  --t-fs-texto: 16px;
  --t-fs-pequeno: 13px;
  --t-fs-eyebrow: 12px;
  --t-fs-numero: clamp(40px, 5vw, 56px);

  --t-esp-1: 4px;
  --t-esp-2: 8px;
  --t-esp-3: 12px;
  --t-esp-4: 16px;
  --t-esp-5: 24px;
  --t-esp-6: 32px;
  --t-esp-7: 48px;
  --t-esp-8: 72px;
  --t-esp-9: 112px;

  --t-raio: 2px;
  --t-raio-pilula: 999px;
  --t-fio: 1px;
  --t-largura: 1120px;
  --t-largura-texto: 68ch;
  --t-transicao: 160ms cubic-bezier(.2, .7, .2, 1);

  --t-estrela: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C12.9 7.6 16.4 11.1 24 12 16.4 12.9 12.9 16.4 12 24 11.1 16.4 7.6 12.9 0 12 7.6 11.1 11.1 7.6 12 0Z'/%3E%3C/svg%3E");

}

:root, [data-theme="pergaminho"] {
  --bg: var(--t-pergaminho-100);
  --surface: var(--t-pergaminho-50);
  --surface-2: var(--t-pergaminho-200);
  --ink: var(--t-tinta);
  --muted: #5e5c48;
  --line: var(--t-pergaminho-300);
  --accent: var(--t-ouro-600);
  --accent-text: var(--t-ouro-800);
  --accent-ink: var(--t-noite-900);
  --accent-fill: var(--t-ouro-400);
  --good: var(--t-louro);
  --warn: var(--t-ambar);
  --bad: var(--t-terracota);
  --logo-linhas: url("../assets/logo/tyche-linhas-noite.png");
  --t-dado-1: #7a6414;
  --t-dado-2: #4f6b3b;
  --t-dado-3: #a2432f;
  --t-dado-4: #65624d;
  --t-seq-1: #eae2cc;
  --t-seq-2: #c5b67d;
  --t-seq-3: #9a7f22;
  --t-seq-4: #665212;
  --t-seq-5: #332b12;
  color-scheme: light;
}

[data-theme="noite"] {
  --bg: var(--t-noite-900);
  --surface: var(--t-noite-850);
  --surface-2: var(--t-noite-800);
  --ink: #efe9d4;
  --muted: var(--t-musgo-300);
  --line: var(--t-noite-700);
  --accent: var(--t-ouro-400);
  --accent-text: var(--t-ouro-300);
  --good: var(--t-louro-claro);
  --warn: var(--t-ambar-claro);
  --bad: var(--t-terracota-claro);
  --logo-linhas: url("../assets/logo/tyche-linhas-ouro.png");
  --t-dado-1: #e0c454;
  --t-dado-2: #9cc28a;
  --t-dado-3: #e08a74;
  --t-dado-4: #b9b5a1;
  color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
  [data-theme="auto"] {
    --bg: var(--t-noite-900);
    --surface: var(--t-noite-850);
    --surface-2: var(--t-noite-800);
    --ink: #efe9d4;
    --muted: var(--t-musgo-300);
    --line: var(--t-noite-700);
    --accent: var(--t-ouro-400);
    --accent-text: var(--t-ouro-300);
    --good: var(--t-louro-claro);
    --warn: var(--t-ambar-claro);
    --bad: var(--t-terracota-claro);
    --logo-linhas: url("../assets/logo/tyche-linhas-ouro.png");
    --t-dado-1: #e0c454;
    --t-dado-2: #9cc28a;
    --t-dado-3: #e08a74;
    --t-dado-4: #b9b5a1;
    color-scheme: dark;
  }
}

*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 400 var(--t-fs-texto)/1.6 var(--t-font-texto);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, .t-titulo {
  font-family: var(--t-font-titulo);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.01em;
  margin: 0 0 var(--t-esp-4);
  text-wrap: balance;
}
h1 { font-size: var(--t-fs-h1); }
h2 { font-size: var(--t-fs-h2); margin-top: var(--t-esp-8); }
h3 { font-size: var(--t-fs-h3); }
h1 em, h2 em, .t-titulo em { font-style: italic; font-weight: 500; color: var(--accent-text); }
p { margin: 0 0 var(--t-esp-4); max-width: var(--t-largura-texto); text-wrap: pretty; }
a { color: var(--accent-text); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
small, .t-pequeno { font-size: var(--t-fs-pequeno); color: var(--muted); }
::selection { background: var(--t-ouro-300); color: var(--t-noite-900); }

.t-pagina { max-width: var(--t-largura); margin: 0 auto; padding: var(--t-esp-7) var(--t-esp-4) var(--t-esp-9); }
.t-hero { font-size: var(--t-fs-hero); line-height: 1; }
.t-lead { font-size: var(--t-fs-lead); color: var(--muted); max-width: 56ch; }

.t-eyebrow {
  font-family: var(--t-font-marca);
  font-size: var(--t-fs-eyebrow);
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--accent-text);
  margin: 0 0 var(--t-esp-3);
}

.t-wordmark {
  display: inline-flex;
  align-items: center;
  gap: var(--t-esp-3);
  font-family: var(--t-font-marca);
  font-weight: 600;
  font-size: 20px;
  letter-spacing: 0.28em;
  color: var(--ink);
  text-decoration: none;
}
.t-wordmark img { width: 36px; height: 36px; }

.t-estrela {
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  background: var(--accent);
  -webkit-mask: var(--t-estrela) center / contain no-repeat;
  mask: var(--t-estrela) center / contain no-repeat;
  vertical-align: -0.05em;
}

.t-divisor {
  display: flex;
  align-items: center;
  gap: var(--t-esp-4);
  margin: var(--t-esp-7) 0;
  color: var(--accent);
  border: 0;
}
.t-divisor::before, .t-divisor::after { content: ""; flex: 1; height: var(--t-fio); background: currentColor; opacity: .55; }
.t-divisor > i {
  flex: 0 0 14px;
  height: 14px;
  background: currentColor;
  -webkit-mask: var(--t-estrela) center / contain no-repeat;
  mask: var(--t-estrela) center / contain no-repeat;
}

.t-botao {
  display: inline-flex;
  align-items: center;
  gap: var(--t-esp-2);
  min-height: 46px;
  padding: 0 var(--t-esp-5);
  border: var(--t-fio) solid var(--accent-fill);
  border-radius: var(--t-raio);
  background: var(--accent-fill);
  color: var(--accent-ink);
  font: 600 15px/1 var(--t-font-texto);
  letter-spacing: 0.02em;
  text-decoration: none;
  cursor: pointer;
  transition: background var(--t-transicao), color var(--t-transicao);
}
.t-botao:hover { background: var(--t-ouro-300); border-color: var(--t-ouro-300); }
.t-botao--fio { background: transparent; color: var(--accent-text); border-color: var(--accent); }
.t-botao--fio:hover { background: var(--accent-fill); color: var(--accent-ink); }
.t-botao svg { width: 18px; height: 18px; }

.t-selo {
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  width: 132px;
  border-radius: 50%;
  border: var(--t-fio) solid var(--accent);
  box-shadow: inset 0 0 0 5px var(--bg), inset 0 0 0 6px var(--line);
  text-align: center;
  position: relative;
}
.t-selo::before, .t-selo::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 12px;
  height: 12px;
  margin-left: -6px;
  background: var(--accent);
  -webkit-mask: var(--t-estrela) center / contain no-repeat;
  mask: var(--t-estrela) center / contain no-repeat;
  outline: 4px solid var(--bg);
  outline-offset: -1px;
}
.t-selo::before { top: -6px; }
.t-selo::after { bottom: -6px; }
.t-selo b { display: block; font: 600 40px/1 var(--t-font-titulo); font-variant-numeric: lining-nums; }
.t-selo span { font: 600 10px/1.3 var(--t-font-marca); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }

.t-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); border-top: var(--t-fio) solid var(--accent); border-bottom: var(--t-fio) solid var(--line); }
.t-kpi { padding: var(--t-esp-5) var(--t-esp-4); border-right: var(--t-fio) solid var(--line); }
.t-kpi:last-child { border-right: 0; }
.t-kpi__rotulo { font: 600 11px/1.3 var(--t-font-marca); letter-spacing: .18em; text-transform: uppercase; color: var(--muted); }
.t-kpi__valor { display: block; margin: var(--t-esp-2) 0 var(--t-esp-1); font: 600 var(--t-fs-numero)/1 var(--t-font-titulo); font-variant-numeric: lining-nums tabular-nums; }
.t-kpi__delta { font-size: var(--t-fs-pequeno); font-variant-numeric: tabular-nums; color: var(--muted); }
.t-kpi__delta[data-sinal="+"], .t-kpi__delta[data-sinal="bom"] { color: var(--good); }
.t-kpi__delta[data-sinal="-"], .t-kpi__delta[data-sinal="ruim"] { color: var(--bad); }

.t-veredito {
  margin: var(--t-esp-6) 0;
  padding: var(--t-esp-5) var(--t-esp-6);
  border-left: 2px solid var(--accent);
  background: var(--surface);
  font: 500 22px/1.45 var(--t-font-titulo);
  max-width: 70ch;
}

.t-etiqueta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 10px;
  border: var(--t-fio) solid currentColor;
  border-radius: var(--t-raio-pilula);
  font: 600 11px/1.6 var(--t-font-texto);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted);
  white-space: nowrap;
}
.t-etiqueta[data-tipo="fato"] { color: var(--good); }
.t-etiqueta[data-tipo="inferencia"] { color: var(--accent-text); }
.t-etiqueta[data-tipo="sinal"] { color: var(--warn); }
.t-etiqueta[data-tipo="desconhecido"] { color: var(--muted); border-style: dashed; }
.t-etiqueta[data-tipo="risco"] { color: var(--bad); }

.t-tabela { width: 100%; border-collapse: collapse; font-size: 14px; font-variant-numeric: tabular-nums; }
.t-tabela th { text-align: left; font: 600 11px/1.3 var(--t-font-marca); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); padding: var(--t-esp-3) var(--t-esp-3); border-bottom: var(--t-fio) solid var(--accent); }
.t-tabela td { padding: var(--t-esp-3); border-bottom: var(--t-fio) solid var(--line); vertical-align: top; overflow-wrap: anywhere; }
.t-tabela td.num, .t-tabela th.num { text-align: right; }
.t-tabela-rolagem { overflow-x: auto; }

.t-ofertas { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 0; border: var(--t-fio) solid var(--line); }
.t-oferta { padding: var(--t-esp-6); border-right: var(--t-fio) solid var(--line); border-bottom: var(--t-fio) solid var(--line); background: var(--surface); display: flex; flex-direction: column; gap: var(--t-esp-3); }
.t-oferta__icone { width: 32px; height: 32px; color: var(--accent); }
.t-oferta__preco { margin-top: auto; font: 600 28px/1 var(--t-font-titulo); font-variant-numeric: lining-nums; }
.t-oferta__preco small { font: 400 13px var(--t-font-texto); }

.t-passos { list-style: none; counter-reset: passo; padding: 0; margin: 0; display: grid; gap: var(--t-esp-5); }
.t-passos li { counter-increment: passo; display: grid; grid-template-columns: 56px 1fr; gap: var(--t-esp-4); align-items: start; }
.t-passos li::before { content: counter(passo, upper-roman); display: grid; place-items: center; width: 44px; height: 44px; border: var(--t-fio) solid var(--accent); border-radius: 50%; font: 600 15px/1 var(--t-font-marca); color: var(--accent-text); }

.t-nota { font-size: var(--t-fs-pequeno); color: var(--muted); border-top: var(--t-fio) solid var(--line); padding-top: var(--t-esp-3); margin-top: var(--t-esp-7); }

.t-icone { width: 24px; height: 24px; stroke: currentColor; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; flex: none; }

.t-capa {
  min-height: 100vh;
  display: grid;
  grid-template-rows: auto 1fr auto;
  padding: var(--t-esp-7) var(--t-esp-6);
  background: var(--t-noite-900);
  color: #efe9d4;
}
.t-capa .t-eyebrow { color: var(--t-ouro-300); }
.t-capa__marca { width: 180px; height: 180px; align-self: center; justify-self: start; }
.t-capa__rodape { display: flex; justify-content: space-between; gap: var(--t-esp-4); font-size: var(--t-fs-pequeno); color: var(--t-musgo-300); border-top: var(--t-fio) solid var(--t-ouro-600); padding-top: var(--t-esp-3); }

.t-pular {
  position: fixed;
  left: var(--t-esp-4);
  top: -80px;
  z-index: 10;
  padding: var(--t-esp-3) var(--t-esp-4);
  background: var(--accent-fill);
  color: var(--accent-ink);
  font-weight: 600;
  border-radius: var(--t-raio);
}
.t-pular:focus { top: var(--t-esp-3); }

.t-botao:disabled, .t-botao[aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
.t-botao[aria-busy="true"] { cursor: progress; }

.t-pendente {
  color: var(--warn);
  text-decoration: underline dashed var(--warn) 1px;
  text-underline-offset: 4px;
}
.t-pendente::after {
  content: " · a confirmar";
  font: 600 10px/1 var(--t-font-marca);
  letter-spacing: .16em;
  text-transform: uppercase;
  text-decoration: none;
  display: inline-block;
  margin-left: var(--t-esp-1);
}

.t-form { display: grid; gap: var(--t-esp-5); max-width: 560px; }
.t-campo { display: grid; gap: var(--t-esp-2); }
.t-campo > label, .t-campo > legend { font-weight: 600; font-size: 15px; }
.t-campo__opcional { font-weight: 400; color: var(--muted); }
.t-campo__dica { font-size: var(--t-fs-pequeno); color: var(--muted); margin: 0; }
.t-campo input, .t-campo textarea, .t-campo select {
  width: 100%;
  min-height: 46px;
  padding: var(--t-esp-3) var(--t-esp-4);
  border: var(--t-fio) solid var(--t-musgo-500);
  border-radius: var(--t-raio);
  background: var(--surface);
  color: var(--ink);
  font: 400 16px/1.4 var(--t-font-texto);
  transition: border-color var(--t-transicao);
}
.t-campo textarea { min-height: 120px; resize: vertical; }
.t-campo input:hover, .t-campo textarea:hover, .t-campo select:hover { border-color: var(--accent); }
.t-campo input:focus-visible, .t-campo textarea:focus-visible, .t-campo select:focus-visible { outline-offset: 0; border-color: var(--accent); }
.t-campo [aria-invalid="true"] { border-color: var(--bad); border-width: 2px; }
.t-campo__erro { display: flex; gap: var(--t-esp-2); align-items: flex-start; margin: 0; font-size: 14px; color: var(--bad); }
.t-campo__erro:empty { display: none; }
.t-campo__erro .t-icone { width: 18px; height: 18px; margin-top: 1px; }

.t-aviso {
  display: flex;
  gap: var(--t-esp-3);
  align-items: flex-start;
  padding: var(--t-esp-4);
  border: var(--t-fio) solid currentColor;
  border-left-width: 3px;
  border-radius: var(--t-raio);
  background: var(--surface);
  color: var(--ink);
}
.t-aviso[hidden] { display: none; }
.t-aviso > .t-icone { margin-top: 1px; }
.t-aviso p { margin: 0; }
.t-aviso b { display: block; margin-bottom: 2px; }
.t-aviso[data-tipo="sucesso"] { border-color: var(--good); }
.t-aviso[data-tipo="sucesso"] > .t-icone { color: var(--good); }
.t-aviso[data-tipo="erro"] { border-color: var(--bad); }
.t-aviso[data-tipo="erro"] > .t-icone { color: var(--bad); }
.t-aviso[data-tipo="atencao"] { border-color: var(--warn); }
.t-aviso[data-tipo="atencao"] > .t-icone { color: var(--warn); }
.t-aviso[data-tipo="info"] { border-color: var(--accent); }
.t-aviso[data-tipo="info"] > .t-icone { color: var(--accent-text); }

.t-vazio {
  display: grid;
  justify-items: start;
  gap: var(--t-esp-3);
  padding: var(--t-esp-6);
  border: var(--t-fio) dashed var(--line);
  border-radius: var(--t-raio);
}
.t-vazio > .t-icone { width: 32px; height: 32px; color: var(--accent); }
.t-vazio h3 { margin: 0; }
.t-vazio p { margin: 0; color: var(--muted); }

.t-menu { position: relative; }
.t-menu > summary {
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: var(--t-esp-2);
  min-height: 44px;
  padding: 0 var(--t-esp-3);
  border: var(--t-fio) solid var(--line);
  border-radius: var(--t-raio);
  cursor: pointer;
  font-size: 15px;
}
.t-menu > summary::-webkit-details-marker { display: none; }
.t-menu > summary .t-icone--fechar, .t-menu[open] > summary .t-icone--abrir { display: none; }
.t-menu[open] > summary .t-icone--fechar { display: inline; }
.t-menu > nav {
  position: absolute;
  right: 0;
  top: calc(100% + var(--t-esp-2));
  z-index: 5;
  display: grid;
  min-width: 220px;
  padding: var(--t-esp-2) 0;
  background: var(--surface);
  border: var(--t-fio) solid var(--line);
  border-top: var(--t-fio) solid var(--accent);
}
.t-menu > nav a { padding: var(--t-esp-3) var(--t-esp-4); color: var(--ink); text-decoration: none; }
.t-menu > nav a:hover { background: var(--surface-2); }

@media (max-width: 640px) {
  .t-kpi { border-right: 0; border-bottom: var(--t-fio) solid var(--line); }
  .t-oferta { border-right: 0; }
  .t-veredito { padding: var(--t-esp-4); font-size: 19px; }
}

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
}

@page { size: A4; margin: 18mm 16mm 20mm; }
@page capa { margin: 0; }

@media print {
  body { font-size: 10.5pt; background: #fff; }
  .t-pagina { max-width: none; padding: 0; }
  .t-capa { page: capa; min-height: 297mm; break-after: page; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  h2 { break-after: avoid; margin-top: var(--t-esp-6); }
  .t-kpis, .t-veredito, .t-tabela tr, figure, .t-oferta, .t-passos li, .t-aviso, .t-vazio, .t-grafico, .t-comparacao, .t-marco { break-inside: avoid; }
  h2, h3 { break-after: avoid; }
  .t-nao-imprimir, .t-pular { display: none !important; }
  a { color: inherit; text-decoration: none; }
}

.t-faixa { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: var(--t-esp-4); }
.t-acoes { display: flex; align-items: center; flex-wrap: wrap; gap: var(--t-esp-3); }
.t-colunas { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: var(--t-esp-7); align-items: start; }
.t-colunas > * { min-width: 0; }
.t-numero { font: 500 clamp(44px, 7vw, 84px)/1 var(--t-font-texto); font-variant-numeric: lining-nums tabular-nums; letter-spacing: -.04em; }
.t-contexto { color: var(--muted); font-size: var(--t-fs-pequeno); }
.t-demonstracao { display: block; color: var(--warn); border-left: 2px solid currentColor; padding-left: var(--t-esp-3); font-size: var(--t-fs-pequeno); }
.t-secao { padding-block: var(--t-esp-7); border-top: 1px solid var(--line); }
.t-secao > h2 { margin-top: 0; }
.t-grafico { margin: var(--t-esp-5) 0; min-width: 0; }
.t-grafico figcaption { margin-bottom: var(--t-esp-4); }
.t-grafico svg { display: block; width: 100%; height: auto; overflow: visible; }
.t-grafico svg text { fill: var(--ink); font-family: var(--t-font-texto); font-size: 16px; font-variant-numeric: tabular-nums; }
.t-grafico__barra { fill: var(--t-dado-1); }
.t-grafico__linha { fill: none; stroke: var(--t-dado-1); stroke-width: 3; }
.t-grafico__ponto { fill: var(--bg); stroke: var(--t-dado-1); stroke-width: 3; }
.t-grafico__eixo { fill: none; stroke: var(--muted); stroke-width: 1; }
.t-grafico__grade { stroke: var(--line); stroke-width: 1; }
.t-dados { margin-top: var(--t-esp-5); }
.t-dados summary { padding-block: var(--t-esp-3); cursor: pointer; color: var(--accent-text); min-height: 44px; }
.t-tabela caption { text-align: left; font-weight: 600; padding-block: var(--t-esp-3); }
.t-tabela tbody th { font: 500 14px/1.6 var(--t-font-texto); letter-spacing: 0; text-transform: none; color: var(--ink); border-color: var(--line); }
.t-comparacao { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-block: 1px solid var(--line); }
.t-comparacao > div { padding: var(--t-esp-5); }
.t-comparacao > div + div { border-left: 1px solid var(--line); }
.t-marcos { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--t-esp-5); }
.t-marco { border-top: 2px solid var(--accent); padding-top: var(--t-esp-4); }
.t-marco > b { display: block; margin-bottom: var(--t-esp-3); color: var(--accent-text); }
.t-comando { display: block; white-space: pre-wrap; overflow-wrap: anywhere; padding: var(--t-esp-4); background: var(--surface-2); border: 1px solid var(--line); font: 13px/1.6 ui-monospace, monospace; }
.t-catalogo { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: var(--t-esp-7); }
.t-catalogo > nav { position: sticky; top: 24px; align-self: start; display: grid; }
.t-catalogo > nav a { display: flex; align-items: center; gap: 12px; padding: 12px 0; color: var(--muted); text-decoration: none; }
.t-catalogo > nav a:hover { color: var(--accent-text); }
.t-catalogo > div { min-width: 0; }
.t-abertura { padding: var(--t-esp-8) 0; }
.t-abertura .t-hero { max-width: 14ch; }
.t-formatos { list-style: none; padding: 0; margin: 0; }
.t-formatos li { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 16px; border-bottom: 1px solid var(--line); padding-block: 24px; }
.t-formatos h3 { margin-bottom: 6px; }
.t-formatos p { margin: 0; color: var(--muted); font-size: 14px; }
.t-formatos .t-icone { color: var(--accent-text); }
.t-paleta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.t-amostra { padding: 0; border: 1px solid var(--line); background: var(--surface); color: var(--ink); font: inherit; text-align: left; cursor: pointer; min-height: 44px; }
.t-amostra > span { display: block; height: 80px; background: var(--t-amostra); }
.t-amostra b, .t-amostra code { display: block; margin: 8px 12px; font-size: 13px; }
.t-paleta--dados { margin-block: 24px; }
.t-paleta--dados span { display: block; background: var(--t-amostra); height: 28px; margin-bottom: 8px; }
.t-paleta--dados b { font-weight: 500; font-size: 14px; }
.t-tipos { display: grid; gap: 24px; margin-block: 32px; }
.t-tipos > div { border-left: 1px solid var(--accent); padding-left: 24px; }
.t-copia-status:not(:empty) { position: fixed; bottom: 16px; left: 16px; right: 16px; z-index: 5; margin: 0 auto; padding: 16px; background: var(--surface); color: var(--ink); border: 1px solid var(--accent-text); }
#comandos h3 { margin-top: 32px; }
#comandos .t-botao { margin-block: 12px; }
.t-biblioteca { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 12px; margin-top: 20px; }
.t-biblioteca figure { display: grid; justify-items: center; gap: 12px; margin: 0; padding: 20px 8px; border: 1px solid var(--line); font-size: 12px; }
.t-biblioteca svg { color: var(--accent-text); }
.t-biblioteca [hidden] { display: none; }
.t-slide { background: var(--bg); color: var(--ink); width: 100%; aspect-ratio: 16 / 9; padding: clamp(24px, 5vw, 64px); display: flex; flex-direction: column; justify-content: space-between; gap: 24px; border: 1px solid var(--line); margin: 24px 0; }
.t-slide h2 { margin: 0 0 24px; font-size: clamp(36px, 5vw, 56px); }
.t-slide .t-grafico { margin: 0; }
.t-slide p:not(.t-eyebrow, .t-contexto, .t-demonstracao, .t-numero) { font-size: clamp(18px, 2.2vw, 26px); line-height: 1.4; }
.t-slide__rodape { display: flex; justify-content: space-between; gap: 16px; font-size: 13px; color: var(--muted); border-top: 1px solid var(--line); padding-top: 12px; }
.t-slide__nota { font-size: 14px; color: var(--muted); }
.t-deck { max-width: 1280px; margin: 0 auto; padding: 24px; }
.t-controles { position: sticky; top: 0; z-index: 3; background: var(--bg); padding: 12px 0; border-bottom: 1px solid var(--line); }
.t-deck[data-modo="apresentar"] .t-slide[hidden] { display: none; }
.t-deck[data-modo="apresentar"] .t-slide { margin-top: 16px; }
.t-deck:fullscreen { max-width: none; width: 100%; overflow-y: auto; background: var(--bg); }
.t-infografico { max-width: 840px; }
.t-infografico .t-numero { color: var(--accent-text); }

@media (max-width: 800px) {
  .t-catalogo, .t-colunas { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .t-catalogo > nav { position: static; display: flex; flex-wrap: wrap; gap: 16px; border-bottom: 1px solid var(--line); }
  .t-catalogo > nav a { font-size: 14px; }
  .t-slide { aspect-ratio: auto; min-height: 70vh; }
  .t-marcos { grid-template-columns: 1fr; }
  .t-paleta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
  .t-formatos li { grid-template-columns: 32px minmax(0, 1fr); }
  .t-formatos li > a { grid-column: 2; justify-self: start; }
  .t-comparacao { grid-template-columns: 1fr; }
  .t-comparacao > div + div { border-left: 0; border-top: 1px solid var(--line); }
  .t-deck { padding: 12px; }
}

@page slides { size: 338.6667mm 190.5mm; margin: 0; }

@media print {
  .t-deck { max-width: none; padding: 0; }
  .t-deck .t-slide, .t-deck[data-modo="apresentar"] .t-slide[hidden] {
    page: slides; display: flex; width: 338.6667mm; height: 190.5mm;
    min-height: 0; aspect-ratio: auto; padding: 14mm 17mm; margin: 0; border: 0;
    break-after: page; break-inside: avoid; print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  .t-slide h2 { font-size: 42pt; }
  .t-slide p:not(.t-eyebrow, .t-contexto, .t-demonstracao, .t-numero) { font-size: 20pt; }
  .t-slide__nota, .t-controles { display: none !important; }
  .t-slide .t-colunas { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
  .t-slide .t-marcos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .t-slide:last-child { break-after: auto; }
  .t-dados > * { display: block; }
  .t-grafico svg { max-height: 105mm; }
  .t-infografico .t-abertura { padding-block: 16pt; }
  .t-infografico .t-hero { font-size: 32pt; margin-bottom: 10pt; }
  .t-infografico .t-hero br { display: none; }
  .t-infografico .t-lead { font-size: 12pt; }
  .t-infografico .t-secao { padding-block: 14pt; }
  .t-infografico h2 { margin: 0 0 12pt; font-size: 20pt; }
  .t-infografico .t-passos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18pt; }
  .t-infografico .t-passos li { grid-template-columns: 26pt 1fr; gap: 8pt; }
  .t-infografico .t-passos li::before { width: 24pt; height: 24pt; }
  .t-infografico .t-passos h3 { font-size: 14pt; margin-bottom: 6pt; }
  .t-infografico .t-passos p { margin-bottom: 0; }
  .t-infografico .t-comparacao > div { padding: 10pt; }
  .t-infografico .t-numero { font-size: 32pt; }
  .t-infografico .t-nota { margin-top: 12pt; padding-top: 10pt; }
}
