:root { --kmee-ink: #143d38; --kmee-accent: #087464; }
body { color: #273330; font-family: system-ui, sans-serif; }
div.document { width: min(1160px, calc(100% - 48px)); margin: 32px auto; }
div.body { max-width: none; min-width: 0; padding: 12px 30px; }
.kmee-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 28px;
  align-items: start; margin-top: 28px; }
.kmee-layout div.documentwrapper { float: none; width: auto; min-width: 0; }
.kmee-layout div.bodywrapper { margin: 0; }
.kmee-layout div.body { padding: 0; }
.kmee-layout div.sphinxsidebar { float: none; margin: 0; width: auto; }
div.body h1, div.body h2, div.body h3 { color: var(--kmee-ink); font-family: inherit; }
a { color: var(--kmee-accent); }
.kmee-toolbar { display: flex; flex-wrap: wrap; gap: 20px; align-items: center;
  border-bottom: 2px solid var(--kmee-ink); padding: 8px 0 20px; }
.kmee-toolbar-title { display: flex; align-items: baseline; gap: 16px; }
.kmee-toolbar-title strong { font-size: 24px; letter-spacing: .08em; color: var(--kmee-ink); }
.kmee-toolbar-title span { font-size: 14px; }
.kmee-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 13px; }
.kmee-controls select { padding: 8px; border: 1px solid #8caaa4; border-radius: 4px;
  background: white; color: #273330; font: inherit; max-width: 100%; }
.kmee-toggle { display: flex; gap: 8px; align-items: center; cursor: pointer; }
.kmee-toggle input { appearance: none; flex: 0 0 36px; width: 36px; height: 22px;
  background: #a2b4af; border: 1px solid #708a82; border-radius: 12px; cursor: pointer; }
.kmee-toggle input::before { content: ""; display: block; width: 16px; height: 16px;
  border-radius: 50%; background: white; margin: 2px; }
.kmee-toggle input:checked { background: var(--kmee-accent); }
.kmee-toggle input:checked::before { transform: translateX(14px); }
:focus-visible { outline: 3px solid #168c7a; outline-offset: 3px; }
.kmee-preview { color: #70531a; background: #fff5db; padding: 10px 14px; font-size: 13px; }
.kmee-attribution { font-size: 12px; padding: 16px 0; margin-top: 30px;
  border-top: 1px solid #cbdad6; line-height: 1.7; }
.kmee-attribution p { margin: 6px 0; }
table.docutils { display: block; overflow-x: auto; max-width: 100%; }
table.docutils td, table.docutils th { padding: 9px 12px; }
img { max-width: 100%; height: auto; }
figure { margin: 24px 0; }
figure img { border: 1px solid #d5e1dc; box-sizing: border-box; }
figcaption { color: #52665f; font-size: 13px; line-height: 1.6; }
.kmee-enlarge { cursor: zoom-in; }
.kmee-reference-block { margin: 16px 0; }
.kmee-reference-block .rubric { padding: 8px 12px; background: #f2f7f5; }
.kmee-reference-card { padding: 12px 16px; margin: 10px 0; border: 1px solid #d5e1dc; border-radius: 5px; }
.kmee-reference-card > p:first-child { font-weight: 650; }
.kmee-icon { font-family: system-ui, sans-serif; }
.kmee-context { padding: 12px 16px; background: #f2f7f5; border-left: 3px solid var(--kmee-accent); font-size: 14px; }
.body a, .body p, .body li { overflow-wrap: anywhere; }
.body pre { overflow-x: auto; }
@media (max-width: 875px) {
  body { padding: 0; }
  div.document { width: calc(100% - 32px); margin: 16px auto; }
  div.body { padding: 12px 0; }
  .kmee-layout { grid-template-columns: minmax(0, 1fr); }
  .kmee-layout div.sphinxsidebar { order: 2; }
  div.sphinxsidebar { background: #f2f7f5; color: #273330; margin: 24px 0; padding: 16px;
    box-sizing: border-box; width: 100%; }
  div.sphinxsidebar a, div.sphinxsidebar h3, div.sphinxsidebar h4,
  div.sphinxsidebar p, div.sphinxsidebar h3 a { color: var(--kmee-ink); }
}

/* Selo BETA: documentação em revisão funcional (decisão de 16/09/2026).
   Fixo no canto inferior direito da tela, longe da coluna de leitura e dos
   controles de idioma/edição no cabeçalho; pointer-events: none garante que
   nunca bloqueia clique em nada por baixo. */
.kmee-beta { position: fixed; inset-block-end: 0; inset-inline-end: 0;
  width: 6rem; height: 6rem; overflow: hidden; z-index: var(--z-sticky); pointer-events: none; }
.kmee-beta span { position: absolute; inset-inline-end: -2.6rem; inset-block-end: 1.15rem;
  display: block; width: 9rem; padding: var(--space-3xs) 0;
  border-block: var(--rule-hair) solid var(--color-accent-hover);
  background: var(--color-accent); color: var(--color-accent-ink);
  font-family: var(--font-display); font-size: var(--text-xs); font-weight: 700;
  letter-spacing: .14em; text-align: center; text-transform: uppercase; transform: rotate(-45deg); }
@media (max-width: 40rem) {
  .kmee-beta { width: 4.5rem; height: 4.5rem; }
  .kmee-beta span { inset-inline-end: -2rem; inset-block-end: .85rem; width: 6.5rem; font-size: .625rem; }
}
@media print {
  .kmee-beta { display: none; }
}

/* Portao de leitura: da sexta pagina em diante sem cookie de liberacao, o
   HTML permanece completo (nada e removido do DOM, preservando a indexacao);
   so a altura da area de leitura e limitada e um degrade de fundo antecede o
   painel de contato (decisao do CEO em 17/09/2026). Cores, tipografia e o
   botao reaproveitam os tokens e a classe .kmee-button ja usados no tema. */
.kmee-gate-clamped { max-height: 200vh; overflow: hidden; position: relative; }
.kmee-gate-clamped::after { content: ""; position: absolute; inset-inline: 0; inset-block-end: 0;
  block-size: 12rem; background: linear-gradient(to bottom, transparent, var(--color-paper) 85%);
  pointer-events: none; }
.kmee-gate { margin: 0 0 var(--space-xl); padding: var(--space-lg);
  border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-control);
  background: var(--color-paper-2); color: var(--color-ink);
  opacity: 0; transition: opacity var(--dur-short) var(--ease-out); }
.kmee-gate.kmee-gate-shown { opacity: 1; }
.kmee-gate h2 { margin: 0 0 var(--space-2xs); font-family: var(--font-display);
  font-size: var(--text-xl); font-weight: 700; color: var(--color-ink); }
.kmee-gate > p { margin: 0 0 var(--space-md); color: var(--color-ink-2);
  font-size: var(--text-sm); line-height: 1.6; }
.kmee-gate-error { margin: 0 0 var(--space-sm); padding: var(--space-xs);
  border-inline-start: var(--rule-fine) solid var(--color-ink); background: var(--color-paper);
  color: var(--color-ink); font-size: var(--text-sm); }
.kmee-gate-form { display: grid; gap: var(--space-sm); }
.kmee-gate-form input[type="text"], .kmee-gate-form input[type="email"], .kmee-gate-form input[type="tel"] {
  min-height: var(--size-control); width: 100%; padding: var(--space-2xs) var(--space-xs);
  color: var(--color-ink); background: var(--color-paper); border: var(--rule-hair) solid var(--color-control);
  border-radius: var(--radius-control); font-family: var(--font-body); font-size: var(--text-md); }
.kmee-gate-hp { position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip-path: inset(50%); white-space: nowrap; left: -9999px; }
.kmee-gate-footer { margin: var(--space-sm) 0 0; color: var(--color-ink-3); font-size: var(--text-xs); }
