/* Evidence: camada de produto sobre a família Reveno (family.css). Só tokens.
   Hero e seções escuras seguem a família; as ferramentas (Estúdio, Cenários)
   vivem em seções de papel, com o perfil claro do Evidence. */
@font-face { font-family: Inter; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/inter-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family: Inter; font-style: normal; font-weight: 500; font-display: swap; src: url(/fonts/inter-latin-500-normal.woff2) format("woff2"); }
@font-face { font-family: Inter; font-style: normal; font-weight: 600; font-display: swap; src: url(/fonts/inter-latin-600-normal.woff2) format("woff2"); }
@font-face { font-family: Inter; font-style: normal; font-weight: 700; font-display: swap; src: url(/fonts/inter-latin-700-normal.woff2) format("woff2"); }

html { scroll-padding-top: 6.5rem; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
[hidden] { display: none !important; }
.rvf code, .rvf pre { font-family: var(--rv-font-mono); }
.rvf p a:not(.rvf-btn), .rvf li a:not(.rvf-btn), .rvf dd a { color: var(--rvf-accent); text-decoration: underline; text-underline-offset: .2em; }
.rvf-section--paper p a:not(.rvf-btn), .rvf-section--paper li a:not(.rvf-btn), .rvf-section--paper dd a { color: var(--rvf-accent-paper); }
.rvf-section--paper code { color: var(--rvf-ink); }
.ev-inline { color: var(--rvf-accent); text-decoration: underline; text-underline-offset: .2em; }
.rvf-section--paper .ev-inline { color: var(--rvf-accent-paper); }
.ev-page-hero { padding-bottom: 3rem; }
.ev-page-h1 { max-width: 19ch; font-size: clamp(2.6rem, 4.8vw, 4.8rem); }
.ev-tool { padding-top: clamp(2.5rem, 5vw, 4rem); }

/* ---------- Home ---------- */
.ev-prev { margin: 0; }
.ev-prev .rvf-window-title { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ev-prev-table { overflow-x: auto; border-bottom: 1px solid var(--rvf-line); }
.ev-prev-table:focus-visible { outline: 2px solid var(--rvf-brand); outline-offset: -2px; }
.ev-prev-table table { width: 100%; border-collapse: collapse; font: 400 12px var(--rv-font-mono); }
.ev-prev-table th, .ev-prev-table td { padding: .55rem .8rem; border-bottom: 1px solid color-mix(in srgb, var(--rvf-line) 70%, transparent); color: var(--rvf-text-2); text-align: left; white-space: nowrap; }
.ev-prev-table th { color: var(--rvf-text-3); font-weight: 600; }
.ev-prev-report { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .75rem 1.25rem; align-items: end; padding: 1rem; }
.ev-prev-report dl { display: grid; gap: .55rem; margin: 0; }
.ev-prev-report dl div { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: .4rem; border-bottom: 1px solid var(--rvf-line); }
.ev-prev-report dt { color: var(--rvf-text-3); font-size: 12px; }
.ev-prev-report dd { margin: 0; color: var(--rvf-accent); font: 600 13px var(--rv-font-mono); }
.ev-prev-hist { display: flex; align-items: end; gap: 2px; height: 5.5rem; }
.ev-prev-hist i { flex: 1; min-height: 2px; border-radius: 2px 2px 0 0; background: color-mix(in srgb, var(--rvf-accent) 70%, transparent); }
.ev-prev-report > p { grid-column: 2; margin: 0; color: var(--rvf-text-3); font: 500 12px var(--rv-font-mono); }
.ev-prev-cap { padding: .6rem 1rem; border-top: 1px solid var(--rvf-line); color: var(--rvf-text-3); font-size: 12px; }

.ev-split { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.ev-lede { max-width: 40ch; margin: 1.25rem 0 0; font-size: 17px; line-height: 1.7; }
.ev-lede--dark { color: var(--rvf-text-2); }
.ev-taxonomy { display: grid; gap: 1rem; margin: 0; }
.ev-taxonomy > div { display: grid; gap: .5rem; padding: 1.4rem; border: 1px solid var(--rvf-paper-line); border-radius: var(--rv-radius-md); }
.ev-taxonomy > div.is-now { border-color: var(--rvf-accent-paper); box-shadow: inset 3px 0 0 var(--rvf-accent-paper); }
.ev-taxonomy dt { color: var(--rvf-ink); font-size: 1.2rem; font-weight: 600; letter-spacing: -.02em; }
.ev-taxonomy dd { margin: 0; color: var(--rvf-ink-soft); line-height: 1.6; }
.ev-taxonomy .ev-tax-badge { justify-self: start; }
.ev-jobs { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 1.25rem; align-items: stretch; }
.ev-job { display: grid; align-content: start; gap: .65rem; padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid var(--rvf-line); border-radius: var(--rv-radius-md); background: color-mix(in srgb, var(--rvf-surface) 60%, transparent); transition: border-color .18s ease; }
.ev-job:hover { border-color: var(--rvf-accent); }
.ev-job-n { color: var(--rvf-accent); font: 600 12px var(--rv-font-mono); letter-spacing: .1em; }
.ev-job strong { font-size: 1.6rem; font-weight: 600; letter-spacing: -.03em; }
.ev-job p { margin: 0; color: var(--rvf-text-3); line-height: 1.65; }
.ev-job-cta { margin-top: .5rem; color: var(--rvf-brand); font-weight: 600; }
.ev-job-arrow { align-self: center; color: var(--rvf-accent); font-size: 2rem; }
.ev-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; margin: 0; padding: 1.5rem 0 0; list-style: none; border-top: 1px solid var(--rvf-ink); }
.ev-steps span { color: var(--rvf-accent-paper); font: 600 12px var(--rv-font-mono); }
.ev-steps h3 { margin: .6rem 0; color: var(--rvf-ink); font-size: 1.3rem; font-weight: 600; letter-spacing: -.02em; }
.ev-steps p { margin: 0; font-size: 15px; line-height: 1.65; }
.ev-manifest { margin: 0; padding: 1.25rem 1.4rem; border: 1px solid var(--rvf-line); border-radius: var(--rv-radius-md); background: var(--rvf-surface); color: var(--rvf-text-2); font: 400 13px/1.7 var(--rv-font-mono); white-space: pre-wrap; overflow-wrap: anywhere; }
.ev-uses { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--rvf-ink); }
.ev-uses--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ev-uses h3 { margin: 0 0 .6rem; color: var(--rvf-ink); font-size: 1.2rem; font-weight: 600; letter-spacing: -.02em; }
.ev-uses p { margin: 0; font-size: 15px; line-height: 1.65; }
.ev-uses--dark { border-top-color: var(--rvf-line); }
.ev-uses--dark h3 { color: var(--rvf-text); }
.ev-uses--dark p { color: var(--rvf-text-3); }
.ev-uses--dark article > span { color: var(--rvf-accent); font: 600 12px var(--rv-font-mono); }
.ev-limits { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--rvf-line); }
.ev-limits li { padding: 1rem 0; border-bottom: 1px solid var(--rvf-line); color: var(--rvf-text-2); font-size: 16px; line-height: 1.6; }
.ev-access-box { display: flex; align-items: center; justify-content: space-between; gap: 3rem; padding: clamp(1.75rem, 4vw, 3rem); border: 1px solid var(--rvf-line); border-radius: var(--rv-radius-md); }
.ev-access-box p:not(.rvf-eyebrow) { max-width: 56ch; margin: 1rem 0 0; color: var(--rvf-text-3); line-height: 1.7; }
.ev-access-box .rvf-btn { flex: none; }

/* ---------- Estúdio ---------- */
.ev-studio { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(2rem, 4vw, 3.5rem); align-items: start; }
.ev-studio-form { display: grid; gap: 1.5rem; min-width: 0; }
.ev-group { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem 1rem; min-width: 0; margin: 0; padding: 0 0 1.5rem; border: 0; border-bottom: 1px solid var(--rv-profile-evidence-line); }
.ev-group legend { padding: 0; margin-bottom: .9rem; color: var(--rv-profile-evidence-signal); font: 600 12px/1.6 var(--rv-font-mono); letter-spacing: .08em; text-transform: uppercase; }
.ev-wide { grid-column: 1 / -1; }
.ev-field { display: grid; align-content: start; gap: .45rem; min-width: 0; color: var(--rvf-ink); font-size: 13px; font-weight: 500; }
.ev-field input, .ev-field select, .ev-col input:not([type="checkbox"]), .ev-corr select, .ev-corr input { width: 100%; min-height: 42px; padding: .5rem .7rem; border: 1px solid var(--rv-profile-evidence-input-border); border-radius: var(--rv-radius-sm); background: var(--rv-profile-evidence-input-surface); color: var(--rvf-ink); font: 400 14px/1.4 var(--rv-font-sans); }
.ev-col input:not([type="checkbox"]) { padding: .45rem .5rem; font-size: 13px; }
.ev-col input.ev-c-dist { font-family: var(--rv-font-mono); font-size: 12.5px; }
.ev-col input[type="number"] { appearance: textfield; -moz-appearance: textfield; }
.ev-col input[type="number"]::-webkit-inner-spin-button, .ev-col input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.ev-col input::placeholder { color: var(--rv-profile-evidence-content); opacity: .7; }
.ev-chk { display: grid; place-items: center; min-height: 42px; cursor: pointer; }
.ev-chk span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ev-row { display: flex; gap: .5rem; }
.ev-row input { flex: 1; }
.ev-hint { margin: 0; color: var(--rv-profile-evidence-content); font-size: 12.5px; line-height: 1.6; }
.ev-ghost { justify-self: start; min-height: 42px; padding: .45rem .9rem; border: 1px solid var(--rv-profile-evidence-reset-border); border-radius: var(--rv-radius-sm); background: transparent; color: var(--rvf-ink); font: 500 13px var(--rv-font-sans); cursor: pointer; }
.ev-ghost:hover:not(:disabled) { border-color: var(--rvf-ink); }
.ev-ghost:disabled { opacity: .4; cursor: not-allowed; }
.ev-cols-head, .ev-col { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.5fr) 5.2rem 5.2rem 3.4rem 2rem 2rem 2rem 2.4rem; gap: .35rem; align-items: center; }
.ev-cols-head { color: var(--rv-profile-evidence-content); font: 500 12px/1.3 var(--rv-font-mono); }
.ev-cols-list, .ev-corr-list { display: grid; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.ev-col input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--rv-profile-evidence-signal); }
.ev-corr { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) 5.5rem 2.4rem; gap: .4rem; align-items: center; color: var(--rv-profile-evidence-content); }
.ev-x { width: 2.4rem; min-height: 42px; border: 1px solid var(--rv-profile-evidence-line-strong); border-radius: var(--rv-radius-sm); background: transparent; color: var(--rvf-ink); font-size: 17px; cursor: pointer; }
.ev-error { margin: 0; padding: .75rem 1rem; border-left: 2px solid var(--rv-profile-evidence-conflict); background: var(--rv-profile-evidence-conflict-surface); color: var(--rvf-ink); font-size: 14px; }
.ev-run { justify-self: start; }
.ev-studio-out { position: sticky; top: 6rem; min-width: 0; padding: clamp(1rem, 2.5vw, 1.75rem); border-radius: var(--rv-radius-md); background: var(--rv-profile-evidence-field-surface); }
.ev-out-head { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; }
.ev-out-head h2.rvf-kicker { margin: 0; }
.ev-tabs { display: flex; flex-wrap: wrap; gap: .25rem; border-bottom: 1px solid var(--rv-profile-evidence-line); }
.ev-tabs button { min-height: 40px; padding: .35rem .85rem; border: 0; background: transparent; color: var(--rv-profile-evidence-content); font: 500 13px var(--rv-font-sans); cursor: pointer; }
.ev-tabs button[aria-selected="true"] { color: var(--rvf-ink); box-shadow: inset 0 -2px 0 var(--rv-profile-evidence-signal); }
.ev-panels { min-height: 26rem; padding-top: 1rem; }
.ev-meta { margin: 0 0 .75rem; color: var(--rv-profile-evidence-content); font: 500 12px/1.5 var(--rv-font-mono); overflow-wrap: anywhere; }
.ev-table-wrap { overflow: auto; max-height: 30rem; }
.ev-table { width: 100%; border-collapse: collapse; font: 400 12px var(--rv-font-mono); font-variant-numeric: tabular-nums; }
.ev-table th, .ev-table td { padding: .4rem .6rem; border-bottom: 1px solid var(--rv-profile-evidence-line); color: var(--rvf-ink); text-align: left; white-space: nowrap; }
.ev-table thead th { position: sticky; top: 0; background: var(--rv-profile-evidence-field-surface); color: var(--rv-profile-evidence-content); font-weight: 600; }
.ev-label-note { margin: 0 0 1rem; color: var(--rv-profile-evidence-signal); font: 600 12px/1.5 var(--rv-font-mono); letter-spacing: .06em; text-transform: uppercase; }
.ev-scores { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin: 0 0 1.25rem; }
.ev-scores div { padding-top: .6rem; border-top: 1px solid var(--rvf-ink); }
.ev-scores dt { color: var(--rv-profile-evidence-content); font-size: 12px; line-height: 1.35; }
.ev-scores dd { margin: .3rem 0 0; color: var(--rvf-ink); font-size: 1.35rem; font-weight: 600; letter-spacing: -.02em; }
.ev-h3 { margin: 1.25rem 0 .5rem; color: var(--rvf-ink); font-size: 1rem; font-weight: 600; letter-spacing: -.01em; }
.ev-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .2rem 1rem; margin: 0; padding: 0; list-style: none; font: 400 12px/1.6 var(--rv-font-mono); }
.ev-checks .is-ok { color: var(--rv-profile-evidence-signal); }
.ev-checks .is-fail { color: var(--rv-color-brand-dark); }
.ev-colcards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.ev-colcard { padding: .75rem; border-radius: var(--rv-radius-sm); background: var(--rv-profile-evidence-input-surface); }
.ev-colcard h4 { margin: 0; color: var(--rvf-ink); font: 600 12px var(--rv-font-mono); }
.ev-colcard-score { margin: .2rem 0 .4rem; color: var(--rv-profile-evidence-signal); font: 600 12px var(--rv-font-mono); }
.ev-hist { display: block; width: 100%; height: auto; }
.ev-hist rect { fill: color-mix(in srgb, var(--rv-profile-evidence-signal) 55%, transparent); }
.ev-hist polyline { fill: none; stroke: var(--rvf-ink); stroke-width: 1.2; }
.ev-legend { margin: .3rem 0 0; color: var(--rv-profile-evidence-content); font: 500 12px var(--rv-font-mono); }
.ev-catbars { display: grid; gap: .25rem; margin: 0; padding: 0; list-style: none; }
.ev-catbars li { display: grid; grid-template-columns: minmax(0, 5rem) minmax(0, 1fr) auto; gap: .4rem; align-items: center; font: 400 12px var(--rv-font-mono); color: var(--rvf-ink); }
.ev-catbars li span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ev-catbar { height: 6px; background: var(--rv-profile-evidence-line); }
.ev-catbar i { display: block; height: 100%; background: var(--rv-profile-evidence-signal); }
.ev-catbars small { color: var(--rv-profile-evidence-content); font-size: 12px; }
.ev-kline { padding: .75rem 1rem; border-left: 3px solid var(--rv-profile-evidence-signal); background: var(--rv-profile-evidence-input-surface); color: var(--rvf-ink); }
#st-privacidade p { margin: 0 0 .5rem; color: var(--rvf-ink-soft); font-size: 14px; line-height: 1.6; }
.ev-export-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin: .5rem 0 1.25rem; }
.ev-next { display: grid; gap: .75rem; justify-items: start; }
.ev-export-nota { margin: -.5rem 0 1.25rem; }
/* Colar esquema (SQL ou JSON Table Schema) */
.ev-colar { border: 1px solid var(--rv-profile-evidence-line-strong); border-radius: var(--rv-radius-sm); background: var(--rv-profile-evidence-input-surface); }
.ev-colar > summary { display: flex; align-items: center; gap: .6rem; min-height: 46px; padding: .4rem .9rem; color: var(--rv-profile-evidence-signal); font-size: 14px; font-weight: 600; cursor: pointer; list-style: none; }
.ev-colar > summary::-webkit-details-marker { display: none; }
.ev-colar > summary::before { display: inline-grid; place-items: center; width: 20px; height: 20px; border: 1px solid currentColor; border-radius: 50%; font: 600 13px/1 var(--rv-font-mono); content: '+'; }
.ev-colar[open] > summary::before { content: '−'; }
.ev-colar > :not(summary) { margin: 0 .9rem .9rem; }
.ev-colar textarea { width: 100%; min-height: 9rem; padding: .55rem .7rem; border: 1px solid var(--rv-profile-evidence-input-border); border-radius: var(--rv-radius-sm); background: var(--rv-color-light-surface); color: var(--rvf-ink); font: 400 13px/1.5 var(--rv-font-mono); resize: vertical; }
.ev-colar textarea:focus-visible { outline: 2px solid var(--rv-color-brand-dark); outline-offset: 2px; }
.ev-colar-acoes { display: flex; flex-wrap: wrap; gap: .5rem; }
.ev-colar-acoes .rvf-btn { min-height: 42px; padding: .5rem 1rem; font-size: 14px; }
.ev-colar-out:empty { display: none; }
.ev-colar-ok { margin: 0; color: var(--rv-profile-evidence-signal); font-size: 14px; font-weight: 600; }
.ev-colar-titulo { margin: .6rem 0 .3rem; color: var(--rvf-ink); font-size: 13px; font-weight: 600; }
.ev-avisos { display: grid; gap: .3rem; margin: 0; padding-left: 1.1rem; color: var(--rvf-ink-soft); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
/* Estabilidade entre sementes */
.ev-sementes { margin-top: .75rem; }
/* Regras entre colunas e privacidade */
.ev-field textarea { width: 100%; min-height: 4.5rem; padding: .55rem .7rem; border: 1px solid var(--rv-profile-evidence-input-border); border-radius: var(--rv-radius-sm); background: var(--rv-profile-evidence-input-surface); color: var(--rvf-ink); font: 400 13px/1.5 var(--rv-font-mono); resize: vertical; }
.ev-field textarea:focus-visible { outline: 2px solid var(--rv-color-brand-dark); outline-offset: 2px; }
.ev-regras-out { grid-template-columns: 1fr; }
.ev-priv-scores .is-alerta { border-top-color: var(--rv-profile-evidence-conflict); }
.ev-priv-scores .is-alerta dd { color: var(--rv-profile-evidence-conflict-dark); }
.ev-kline + .ev-kline { margin-top: .5rem; }
.ev-kline--alerta { border-left-color: var(--rv-profile-evidence-conflict); background: var(--rv-profile-evidence-conflict-surface); }
.ev-menores { display: grid; gap: .35rem; margin: 0; padding: 0; list-style: none; font-size: 13px; }
.ev-menores li { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: .75rem; padding-bottom: .35rem; border-bottom: 1px solid var(--rv-profile-evidence-line); color: var(--rvf-ink); overflow-wrap: anywhere; }
.ev-menores strong { font: 600 12px/1.6 var(--rv-font-mono); }
.ev-sementes-var th, .ev-sementes-var td { border-top: 1px solid var(--rvf-ink); font-weight: 600; }

/* ---------- Modelos ---------- */
.ev-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.ev-card { display: grid; align-content: start; gap: .75rem; padding: 1.5rem; border: 1px solid var(--rvf-paper-line); border-radius: var(--rv-radius-md); }
.ev-card-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; }
.ev-card h2 { margin: 0; color: var(--rvf-ink); font-size: 1.35rem; font-weight: 600; letter-spacing: -.02em; }
.ev-card > p { margin: 0; color: var(--rvf-ink-soft); line-height: 1.6; }
.ev-card-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin: 0; }
.ev-card-stats div { padding-top: .5rem; border-top: 1px solid var(--rvf-ink); }
.ev-card-stats dt { color: var(--rvf-ink-soft); font-size: 12px; line-height: 1.35; }
.ev-card-stats dd { margin: .25rem 0 0; color: var(--rvf-ink); font-weight: 600; }
.ev-card details summary { min-height: 40px; display: flex; align-items: center; color: var(--rvf-accent-paper); font-weight: 600; cursor: pointer; }
.ev-cols { display: grid; gap: .3rem; margin: .25rem 0 .5rem; padding: 0; list-style: none; }
.ev-cols li { display: grid; grid-template-columns: minmax(0, 11rem) minmax(0, 1fr); gap: .75rem; font-size: 12.5px; }
.ev-cols code { color: var(--rvf-ink); }
.ev-cols span { color: var(--rvf-ink-soft); font-family: var(--rv-font-mono); font-size: 12px; overflow-wrap: anywhere; }
.ev-card-corr { margin: 0; color: var(--rvf-ink-soft); font-size: 13px; }
.ev-card .ev-open { justify-self: start; }

/* ---------- Documentos e 404 ---------- */
.ev-doc { max-width: 52rem; }
.ev-doc section { margin-top: 2.25rem; }
.ev-doc section:first-of-type { margin-top: 1rem; }
.ev-doc h2 { margin: 0 0 .9rem; color: var(--rvf-ink); font-size: 1.55rem; font-weight: 600; letter-spacing: -.03em; }
.ev-doc p, .ev-doc li { color: var(--rvf-ink-soft); font-size: 16px; line-height: 1.75; }
.ev-doc ul { padding-left: 1.2rem; }
.ev-doc li + li { margin-top: .5rem; }
.ev-doc-back { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; margin-top: 2.5rem; }
.doc-meta dd, .doc-row strong { color: var(--rvf-ink); }
.ev-404 { display: grid; align-content: center; gap: 1rem; min-height: 72vh; padding-top: 7rem; }

/* Envelope, documentos e simulador (herdados da referência anterior) */
.envelope-fields { margin: 0; border-top: 1px solid var(--rv-profile-evidence-ink); }
.envelope-fields > div { display: grid; grid-template-columns: 11rem 1fr; gap: 2rem; padding: 1.25rem 0; border-bottom: 1px solid var(--rv-profile-evidence-line); }
.envelope-fields dt { color: var(--rv-profile-evidence-signal); font: 600 12px/1.6 var(--rv-font-mono); }
.envelope-fields dd { margin: 0; font-size: 15px; line-height: 1.6; }
.next-evidence { position: relative; background: var(--rv-profile-evidence-next-surface); }
.next-evidence::before { position: absolute; top: 0; bottom: 0; left: 0; width: 2px; background: var(--rv-profile-evidence-signal); content: ''; }
.doc-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: 1rem; margin: 0 0 3rem; padding: 1.25rem 0; border-block: 1px solid var(--rv-profile-evidence-line); }
.doc-meta dt { color: var(--rv-profile-evidence-content); font: 600 12px var(--rv-font-mono); letter-spacing: .06em; text-transform: uppercase; }
.doc-meta dd { margin: .3rem 0 0; font-weight: 600; }
.doc-table { margin-top: 1rem; border-top: 1px solid var(--rv-profile-evidence-ink); }
.doc-row { display: grid; grid-template-columns: 10rem 1fr; gap: 1.5rem; padding: 1rem 0; border-bottom: 1px solid var(--rv-profile-evidence-line); }
.doc-head { color: var(--rv-profile-evidence-content); font: 600 12px var(--rv-font-mono); letter-spacing: .06em; text-transform: uppercase; }
.doc-row strong { color: var(--rv-profile-evidence-signal); }
.doc-row span { color: var(--rv-profile-evidence-content); }
/* Simulador de cenários */
.sim { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(2rem, 4vw, 4rem); align-items: start; padding-top: 2rem; border-top: 1px solid var(--rv-profile-evidence-line-strong); }
.sim-form { display: grid; gap: 1.75rem; min-width: 0; }
.sim-group { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.25rem; min-width: 0; margin: 0; padding: 0 0 1.75rem; border: 0; border-bottom: 1px solid var(--rv-profile-evidence-line); }
.sim-group legend { padding: 0; margin-bottom: 1rem; color: var(--rv-profile-evidence-signal); font: 600 12px/1.6 var(--rv-font-mono); letter-spacing: .08em; text-transform: uppercase; }
.sim-wide { grid-column: 1 / -1; }
.sim-field { display: grid; align-content: start; gap: .45rem; min-width: 0; color: var(--rv-profile-evidence-ink); font-size: 13px; font-weight: 500; }
.sim-field input, .sim-field select, .sim-segment input { width: 100%; min-height: 44px; padding: .55rem .75rem; border: 1px solid var(--rv-profile-evidence-input-border); border-radius: var(--rv-radius-sm); background: var(--rv-profile-evidence-input-surface); color: var(--rv-profile-evidence-ink); font: 400 15px/1.4 var(--rv-font-sans); }
.sim-field input:focus-visible, .sim-field select:focus-visible, .sim-segment input:focus-visible { outline: 2px solid var(--rv-color-brand-dark); outline-offset: 2px; }
.sim-hint { margin: 0; color: var(--rv-profile-evidence-content); font-size: 13px; line-height: 1.6; }
.sim-presets { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; grid-column: 1 / -1; }
.sim-presets > span { width: 100%; color: var(--rv-profile-evidence-content); font-size: 12px; }
.sim-chip { min-height: 40px; padding: .4rem .9rem; border: 1px solid var(--rv-profile-evidence-line-strong); border-radius: var(--rv-radius-pill); background: transparent; color: var(--rv-profile-evidence-ink); font-size: 13px; }
.sim-chip[aria-pressed="true"] { border-color: var(--rv-profile-evidence-ink); background: var(--rv-profile-evidence-ink); color: var(--rv-color-light-surface); }
.sim-segments-head, .sim-segment { display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)) 44px; gap: .5rem; align-items: center; }
.sim-segments-head { grid-column: 1 / -1; color: var(--rv-profile-evidence-content); font: 500 12px/1.4 var(--rv-font-mono); }
.sim-segments { display: grid; gap: .5rem; grid-column: 1 / -1; margin: 0; padding: 0; list-style: none; }
.sim-seg-remove { width: 44px; min-height: 44px; border: 1px solid var(--rv-profile-evidence-line-strong); background: transparent; color: var(--rv-profile-evidence-ink); font-size: 18px; }
.sim-seg-remove:disabled { opacity: .35; cursor: not-allowed; }
.sim-ghost { justify-self: start; min-height: 44px; padding: .5rem 1rem; border: 1px solid var(--rv-profile-evidence-reset-border); background: transparent; color: var(--rv-profile-evidence-ink); font-size: 13px; }
.sim-ghost:hover:not(:disabled) { border-color: var(--rv-profile-evidence-ink); }
.sim-ghost:disabled { opacity: .4; cursor: not-allowed; }
.sim-seed-row { display: flex; gap: .5rem; }
.sim-seed-row input { flex: 1; }
.sim-error { margin: 0; padding: .75rem 1rem; border-left: 2px solid var(--rv-profile-evidence-conflict); background: var(--rv-profile-evidence-conflict-surface); color: var(--rv-profile-evidence-ink); font-size: 14px; }
.sim-run { justify-self: start; }
.sim-results { min-width: 0; min-height: 44rem; padding: clamp(1.25rem, 2.5vw, 2rem); background: var(--rv-profile-evidence-field-surface); }
.sim-results-head { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--rv-profile-evidence-line); }
.sim-empty p { color: var(--rv-profile-evidence-content); }
.sim-verdict { position: relative; margin-top: 1.5rem; padding: 1.25rem 1.25rem 1.25rem 1.5rem; background: var(--rv-profile-evidence-input-surface); }
.sim-verdict::before { position: absolute; top: 0; bottom: 0; left: 0; width: 3px; background: var(--rv-profile-evidence-content); content: ''; }
.sim-verdict[data-verdict="supports"]::before { background: var(--rv-profile-evidence-support-strong); }
.sim-verdict[data-verdict="does_not_support"]::before { background: var(--rv-profile-evidence-conflict); }
.sim-verdict[data-verdict="inconclusive"]::before { background: var(--rv-color-brand); }
.sim-verdict h2 { margin: 0 0 .6rem; font-size: clamp(1.4rem, 2.2vw, 1.9rem); letter-spacing: -.03em; }
.sim-verdict h2:focus { outline: none; }
.sim-verdict p { margin: 0; color: var(--rv-profile-evidence-ink-soft); font-size: 15px; line-height: 1.6; }
.sim-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 1.5rem 0 0; }
.sim-stats div { display: grid; gap: .35rem; padding-top: .75rem; border-top: 1px solid var(--rv-profile-evidence-ink); }
.sim-stats dt { color: var(--rv-profile-evidence-content); font-size: 12px; line-height: 1.4; }
.sim-stats dd { margin: 0; font-size: 1.25rem; font-weight: 600; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.sim-figure { margin: 1.75rem 0 0; }
.sim-histogram { display: block; width: 100%; height: auto; }
.sim-histogram .sim-bars rect.above { fill: var(--rv-profile-evidence-relation); }
.sim-histogram .sim-bars rect.below { fill: var(--rv-profile-evidence-line-strong); }
.sim-histogram .sim-axis { stroke: var(--rv-profile-evidence-ink); stroke-width: 1; }
.sim-histogram .sim-zero { stroke: var(--rv-profile-evidence-content); stroke-dasharray: 2 4; }
.sim-histogram .sim-threshold { stroke: var(--rv-color-brand-dark); stroke-width: 2; }
.sim-histogram text { fill: var(--rv-profile-evidence-content); font: 500 12px var(--rv-font-mono); }
.sim-histogram .sim-threshold-label { fill: var(--rv-color-brand-dark); }
.sim-figure figcaption { margin-top: .5rem; color: var(--rv-profile-evidence-content); font-size: 12px; }
.sim-block { margin-top: 2rem; }
.sim-block h3 { margin: 0 0 .5rem; font-size: 1.15rem; letter-spacing: -.02em; }
.sim-sensitivity { display: grid; gap: .6rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.sim-sensitivity li { display: grid; grid-template-columns: minmax(6rem, 1fr) minmax(0, 1.4fr) auto; gap: .75rem; align-items: center; font-size: 13px; }
.sim-sens-bar { height: 8px; background: var(--rv-profile-evidence-line); }
.sim-sens-bar span { display: block; height: 100%; background: var(--rv-profile-evidence-signal); }
.sim-sens-range { color: var(--rv-profile-evidence-content); font: 500 12px var(--rv-font-mono); white-space: nowrap; }
.sim-table-wrap { overflow-x: auto; }
.sim-table { width: 100%; margin-top: .75rem; border-collapse: collapse; font-size: 13px; font-variant-numeric: tabular-nums; }
.sim-table th, .sim-table td { padding: .55rem .5rem; border-bottom: 1px solid var(--rv-profile-evidence-line); text-align: left; }
.sim-table thead th { color: var(--rv-profile-evidence-content); font: 600 12px var(--rv-font-mono); }
.sim-table tbody th { font-weight: 500; }
.sim-envelope .envelope-fields > div { grid-template-columns: 9rem 1fr; gap: 1rem; }
.sim-envelope .envelope-fields dd { font-size: 14px; }
.sim-exports { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.75rem; }
.sim-footnote { margin: 1rem 0 0; color: var(--rv-profile-evidence-content); font-size: 12px; line-height: 1.6; }
@media (max-width: 1100px) { .sim { grid-template-columns: 1fr; } .sim-results { min-height: 0; } }
@media (max-width: 600px) {
  .sim-group { grid-template-columns: 1fr; }
  .sim-segments-head { grid-template-columns: 1fr 1fr 1fr 44px; align-items: end; }
  .sim-segments-head span:first-child { display: none; }
  .sim-histogram text { font-size: 22px; }
  .sim-segment { grid-template-columns: 1fr 1fr 1fr 44px; padding-bottom: .75rem; border-bottom: 1px solid var(--rv-profile-evidence-line); }
  .sim-seg-name { grid-column: 1 / -1; }
  .sim-stats { grid-template-columns: 1fr 1fr; }
  .sim-sensitivity li { grid-template-columns: 1fr auto; } .sim-sens-bar { grid-column: 1 / -1; grid-row: 2; }
  .sim-envelope .envelope-fields > div { grid-template-columns: 1fr; gap: .3rem; }
}


@media (max-width: 1100px) { .ev-studio { grid-template-columns: 1fr; } .ev-studio-out { position: static; } .ev-uses { grid-template-columns: 1fr 1fr; } }
@media (max-width: 900px) { .ev-split { grid-template-columns: 1fr; } .ev-jobs { grid-template-columns: 1fr; } .ev-job-arrow { transform: rotate(90deg); justify-self: center; } .ev-steps { grid-template-columns: 1fr 1fr; } .ev-cards { grid-template-columns: 1fr; } .ev-access-box { display: block; } .ev-access-box .rvf-btn { margin-top: 1.5rem; } }
@media (max-width: 600px) {
  .ev-prev-report { grid-template-columns: 1fr; } .ev-prev-report > p { grid-column: 1; }
  .ev-steps, .ev-uses, .ev-uses--3 { grid-template-columns: 1fr; }
  .ev-group { grid-template-columns: 1fr; }
  .ev-cols-head { display: none; }
  .ev-col { grid-template-columns: 1fr 1fr 1fr 2.4rem; padding-bottom: .75rem; border-bottom: 1px solid var(--rv-profile-evidence-line); }
  .ev-col .ev-c-nome { grid-column: 1 / 4; grid-row: 1; } .ev-col .ev-x { grid-column: 4; grid-row: 1; }
  .ev-col .ev-c-dist { grid-column: 1 / -1; grid-row: 2; }
  .ev-col .ev-c-min { grid-column: 1; grid-row: 3; } .ev-col .ev-c-max { grid-column: 2; grid-row: 3; } .ev-col .ev-c-nulos { grid-column: 3; grid-row: 3; }
  .ev-col .ev-c-int-l { grid-column: 1; grid-row: 4; } .ev-col .ev-c-qi-l { grid-column: 2; grid-row: 4; } .ev-col .ev-c-sens-l { grid-column: 3 / -1; grid-row: 4; }
  .ev-chk { display: flex; justify-content: flex-start; gap: .5rem; color: var(--rvf-ink); font-size: 13px; }
  .ev-chk span { position: static; width: auto; height: auto; overflow: visible; clip-path: none; }
  .ev-scores, .ev-checks, .ev-colcards, .ev-card-stats { grid-template-columns: 1fr; }
  .ev-cols li { grid-template-columns: 1fr; gap: .1rem; }
  .ev-corr { grid-template-columns: 1fr auto 1fr; } .ev-corr .ev-r-v { grid-column: 1 / 3; }
}
/* Alturas do histograma da prévia em classes (CSP sem estilo inline). Gerado: h0 a h100. */
.ev-prev-hist .h0{height:0%}.ev-prev-hist .h1{height:1%}.ev-prev-hist .h2{height:2%}.ev-prev-hist .h3{height:3%}.ev-prev-hist .h4{height:4%}.ev-prev-hist .h5{height:5%}.ev-prev-hist .h6{height:6%}.ev-prev-hist .h7{height:7%}.ev-prev-hist .h8{height:8%}.ev-prev-hist .h9{height:9%}.ev-prev-hist .h10{height:10%}.ev-prev-hist .h11{height:11%}.ev-prev-hist .h12{height:12%}.ev-prev-hist .h13{height:13%}.ev-prev-hist .h14{height:14%}.ev-prev-hist .h15{height:15%}.ev-prev-hist .h16{height:16%}.ev-prev-hist .h17{height:17%}.ev-prev-hist .h18{height:18%}.ev-prev-hist .h19{height:19%}.ev-prev-hist .h20{height:20%}.ev-prev-hist .h21{height:21%}.ev-prev-hist .h22{height:22%}.ev-prev-hist .h23{height:23%}.ev-prev-hist .h24{height:24%}.ev-prev-hist .h25{height:25%}.ev-prev-hist .h26{height:26%}.ev-prev-hist .h27{height:27%}.ev-prev-hist .h28{height:28%}.ev-prev-hist .h29{height:29%}.ev-prev-hist .h30{height:30%}.ev-prev-hist .h31{height:31%}.ev-prev-hist .h32{height:32%}.ev-prev-hist .h33{height:33%}.ev-prev-hist .h34{height:34%}.ev-prev-hist .h35{height:35%}.ev-prev-hist .h36{height:36%}.ev-prev-hist .h37{height:37%}.ev-prev-hist .h38{height:38%}.ev-prev-hist .h39{height:39%}.ev-prev-hist .h40{height:40%}.ev-prev-hist .h41{height:41%}.ev-prev-hist .h42{height:42%}.ev-prev-hist .h43{height:43%}.ev-prev-hist .h44{height:44%}.ev-prev-hist .h45{height:45%}.ev-prev-hist .h46{height:46%}.ev-prev-hist .h47{height:47%}.ev-prev-hist .h48{height:48%}.ev-prev-hist .h49{height:49%}.ev-prev-hist .h50{height:50%}.ev-prev-hist .h51{height:51%}.ev-prev-hist .h52{height:52%}.ev-prev-hist .h53{height:53%}.ev-prev-hist .h54{height:54%}.ev-prev-hist .h55{height:55%}.ev-prev-hist .h56{height:56%}.ev-prev-hist .h57{height:57%}.ev-prev-hist .h58{height:58%}.ev-prev-hist .h59{height:59%}.ev-prev-hist .h60{height:60%}.ev-prev-hist .h61{height:61%}.ev-prev-hist .h62{height:62%}.ev-prev-hist .h63{height:63%}.ev-prev-hist .h64{height:64%}.ev-prev-hist .h65{height:65%}.ev-prev-hist .h66{height:66%}.ev-prev-hist .h67{height:67%}.ev-prev-hist .h68{height:68%}.ev-prev-hist .h69{height:69%}.ev-prev-hist .h70{height:70%}.ev-prev-hist .h71{height:71%}.ev-prev-hist .h72{height:72%}.ev-prev-hist .h73{height:73%}.ev-prev-hist .h74{height:74%}.ev-prev-hist .h75{height:75%}.ev-prev-hist .h76{height:76%}.ev-prev-hist .h77{height:77%}.ev-prev-hist .h78{height:78%}.ev-prev-hist .h79{height:79%}.ev-prev-hist .h80{height:80%}.ev-prev-hist .h81{height:81%}.ev-prev-hist .h82{height:82%}.ev-prev-hist .h83{height:83%}.ev-prev-hist .h84{height:84%}.ev-prev-hist .h85{height:85%}.ev-prev-hist .h86{height:86%}.ev-prev-hist .h87{height:87%}.ev-prev-hist .h88{height:88%}.ev-prev-hist .h89{height:89%}.ev-prev-hist .h90{height:90%}.ev-prev-hist .h91{height:91%}.ev-prev-hist .h92{height:92%}.ev-prev-hist .h93{height:93%}.ev-prev-hist .h94{height:94%}.ev-prev-hist .h95{height:95%}.ev-prev-hist .h96{height:96%}.ev-prev-hist .h97{height:97%}.ev-prev-hist .h98{height:98%}.ev-prev-hist .h99{height:99%}.ev-prev-hist .h100{height:100%}

/* ---------- TECH-050 · frente 7: escala, estados, casca, home e citação ----------
   Escala em rem com piso de 12 px; os tokens --rv-type-* da família valem quando
   existirem, com o mesmo valor de fallback. Dado: cinza de contexto para tudo e
   nenhuma série em foco por padrão (no caso eleitoral, ninguém é foco). */
.rvf {
  --ev-type-12: var(--rv-type-12, .75rem);
  --ev-type-14: var(--rv-type-14, .875rem);
  --ev-type-16: var(--rv-type-16, 1rem);
  --ev-type-18: var(--rv-type-18, 1.125rem);
  --ev-type-22: var(--rv-type-22, 1.375rem);
  --ev-type-stat: var(--rv-type-stat, clamp(2.25rem, 1.6rem + 2.6vw, 3.5rem));
  --ev-numeric: var(--rv-numeric, tabular-nums lining-nums);
  --ev-ease-out: cubic-bezier(.16, 1, .3, 1);
  --ev-data-context: #5b6573;
  --ev-data-context-dark: #9aa6b6;
}
.rvf h1, .rvf h2, .rvf h3 { text-wrap: balance; }
.rvf p { text-wrap: pretty; }

/* Estados da evidência: forma primeiro, cor depois (ponto cheio, anel, ponto oco, hachura, borda tracejada). */
.el-estado { display: inline-flex; align-items: center; gap: .35rem; padding: .1rem .5rem; border: 1px solid currentColor; border-radius: var(--rv-radius-pill); font: 600 var(--ev-type-12)/1.5 var(--rv-font-mono); letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; vertical-align: middle; }
.el-estado::before { flex: none; width: .45rem; height: .45rem; border: 1px solid currentColor; border-radius: 50%; background: currentColor; content: ''; }
.el-estado--observed, .el-estado--confirmed { color: var(--rv-profile-evidence-signal); }
.el-estado--derived { color: var(--rv-profile-evidence-ink-soft); }
.el-estado--derived::before { box-shadow: 0 0 0 2px var(--rvf-paper), 0 0 0 3px currentColor; width: .35rem; height: .35rem; margin-inline: .1rem; }
.el-estado--imported { color: var(--rv-profile-evidence-content); }
.el-estado--imported::before { background: radial-gradient(circle, currentColor 35%, transparent 40%); }
.el-estado--inferred { color: var(--rv-profile-evidence-content); }
.el-estado--inferred::before { background: transparent; }
.el-estado--synthetic { color: var(--rv-profile-evidence-content); }
.el-estado--synthetic::before { border-radius: 2px; background: repeating-linear-gradient(135deg, currentColor 0 1px, transparent 1px 3px); }
.el-estado--unknown, .el-estado--unsupported { color: var(--rv-profile-evidence-content); border-style: dashed; }
.el-estado--unknown::before, .el-estado--unsupported::before { border-style: dashed; background: transparent; }
.el-estado--disputed { color: var(--rv-profile-evidence-conflict); }
/* Em tela escura (hero e seções sem papel) os mesmos estados, com contraste AA. */
.rvf-section:not(.rvf-section--paper) .el-estado, .rvf-hero .el-estado { color: var(--rvf-text-2); }
.rvf-section:not(.rvf-section--paper) .el-estado--observed, .rvf-hero .el-estado--observed, .rvf-section:not(.rvf-section--paper) .el-estado--confirmed { color: var(--rv-color-status-success); }
.rvf-section:not(.rvf-section--paper) .el-estado--derived::before, .rvf-hero .el-estado--derived::before { box-shadow: 0 0 0 2px var(--rvf-canvas), 0 0 0 3px currentColor; }
.rvf-section:not(.rvf-section--paper) .el-estado--disputed, .rvf-hero .el-estado--disputed { color: var(--rv-profile-evidence-conflict-surface); }

/* Navegação por temas: até seis itens; abaixo de 1280 px vai para o menu da família. */
.rvf-nav { gap: 1.15rem; }
@media (max-width: 1280px) { .rvf-nav { display: none; } .rvf-menu { display: block; } }

/* Trilha das páginas de dado. */
.ev-trilha { margin: 0 0 1.25rem; }
.ev-trilha ol { display: flex; flex-wrap: wrap; gap: .25rem .5rem; margin: 0; padding: 0; list-style: none; font: 500 var(--ev-type-12)/1.6 var(--rv-font-mono); letter-spacing: .06em; text-transform: uppercase; }
.ev-trilha li { display: inline-flex; align-items: center; gap: .5rem; color: var(--rvf-text-3); }
.ev-trilha li + li::before { color: var(--rvf-text-3); content: '/'; }
.ev-trilha a { display: inline-flex; align-items: center; min-height: 24px; color: var(--rvf-text-2); text-decoration: underline; text-underline-offset: .2em; }
.ev-trilha a:hover { color: var(--rvf-accent); }
.ev-trilha [aria-current] { color: var(--rvf-text); }

/* Home: números com fonte (valor, rótulo, escopo, estado, fonte com data). */
.ev-nums { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0; border-top: 1px solid var(--rvf-ink); }
.ev-num { display: grid; grid-template-rows: auto auto 1fr auto; gap: .5rem; padding: 1.5rem 1.5rem 1.5rem 0; }
.ev-num + .ev-num { padding-left: 1.5rem; border-left: 1px solid var(--rv-profile-evidence-line); }
.ev-num dt { order: 2; color: var(--rvf-ink); font-size: var(--ev-type-16); font-weight: 600; line-height: 1.4; }
.ev-num-v { order: 1; margin: 0; color: var(--rvf-ink); font-size: var(--ev-type-stat); font-weight: 600; line-height: 1; letter-spacing: -.035em; font-variant-numeric: var(--ev-numeric); }
.ev-num-sub { order: 3; margin: 0; color: var(--rvf-ink-soft); font-size: var(--ev-type-14); line-height: 1.55; }
.ev-num-src { order: 4; display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .5rem; margin: 0; padding-top: .75rem; border-top: 1px solid var(--rv-profile-evidence-line); color: var(--rv-profile-evidence-content); font: 500 var(--ev-type-12)/1.6 var(--rv-font-mono); }
.ev-num-src a { color: var(--rvf-accent-paper); text-decoration: underline; text-underline-offset: .2em; }

/* Home: portas de entrada. */
.ev-portas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.ev-porta { display: grid; grid-template-rows: auto auto 1fr auto auto; gap: .6rem; height: 100%; padding: clamp(1.25rem, 2.5vw, 1.75rem); border: 1px solid var(--rvf-line); border-radius: var(--rv-radius-md); background: color-mix(in srgb, var(--rvf-surface) 60%, transparent); }
.ev-porta, .ev-porta:hover { text-decoration: none; }
.ev-porta:hover { border-color: var(--rvf-accent); }
.ev-porta:hover .ev-porta-cta, .ev-porta:focus-visible .ev-porta-cta { text-decoration: underline; text-underline-offset: .2em; }
.ev-porta-n { color: var(--rvf-accent); font: 600 var(--ev-type-12) var(--rv-font-mono); letter-spacing: .1em; }
.ev-porta strong { color: var(--rvf-text); font-size: var(--ev-type-22); font-weight: 600; line-height: 1.2; letter-spacing: -.015em; }
.ev-porta-texto { color: var(--rvf-text-3); font-size: var(--ev-type-14); line-height: 1.6; }
.ev-porta-estados { display: flex; flex-wrap: wrap; gap: .35rem; }
.ev-porta-cta { color: var(--rvf-brand); font-size: var(--ev-type-14); font-weight: 600; }

/* Home: legenda dos seis estados. */
.ev-estados { display: grid; gap: 0; margin: 0; border-top: 1px solid var(--rvf-ink); }
.ev-estados > div { display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: 1rem; align-items: baseline; padding: .9rem 0; border-bottom: 1px solid var(--rv-profile-evidence-line); }
.ev-estados dd { margin: 0; color: var(--rvf-ink-soft); font-size: var(--ev-type-16); line-height: 1.6; }

/* Fontes públicas no Estúdio. */
.ev-fontes-lede { max-width: 68ch; margin: 0 0 1rem; color: var(--rvf-ink-soft); font-size: var(--ev-type-16); line-height: 1.7; }
.ev-fontes-h3 { margin: 2rem 0 .6rem; color: var(--rvf-ink); font-size: var(--ev-type-18); font-weight: 600; letter-spacing: -.015em; }
.ev-fontes-fora { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--rv-profile-evidence-line); }
.ev-fontes-fora li { display: grid; grid-template-columns: minmax(0, 16rem) minmax(0, 1fr); gap: .3rem 1rem; padding: .75rem 0; border-bottom: 1px solid var(--rv-profile-evidence-line); color: var(--rvf-ink-soft); font-size: var(--ev-type-14); line-height: 1.55; }
.ev-fontes-fora strong { color: var(--rvf-ink); font-weight: 600; }
.ev-fontes .el-table-wrap { overflow-x: auto; margin-top: .5rem; border-top: 1px solid var(--rv-profile-evidence-ink); }
.ev-fontes .el-table { width: 100%; border-collapse: collapse; font-size: var(--ev-type-14); font-variant-numeric: var(--ev-numeric); }
.ev-fontes .el-table caption { padding: .6rem 0; caption-side: top; color: var(--rvf-ink-soft); font-size: var(--ev-type-14); text-align: left; }
.ev-fontes .el-table th, .ev-fontes .el-table td { padding: .55rem .65rem; border-bottom: 1px solid var(--rv-profile-evidence-line); color: var(--rvf-ink); text-align: left; vertical-align: top; }
.ev-fontes .el-table thead th { color: var(--rv-profile-evidence-content); font-size: var(--ev-type-12); font-weight: 600; white-space: nowrap; }
.ev-fontes .el-table tbody th a { color: var(--rvf-accent-paper); text-decoration: underline; text-underline-offset: .2em; }
.ev-fontes .el-sub { color: var(--rvf-ink-soft); font-weight: 400; }
.ev-fontes .el-num { font-family: var(--rv-font-mono); text-align: right; white-space: nowrap; }
.ev-fontes .el-sha code { font-size: var(--ev-type-12); word-break: break-all; }
.ev-fontes .el-sha { min-width: 14rem; }

/* Como citar: texto, BibTeX e nota de licença. Vale em papel (padrão) e em tela escura. */
.ev-citar { display: grid; grid-template-columns: minmax(0, 1fr); gap: .5rem; max-width: 62rem; margin-top: .75rem; padding: 1.25rem 1.4rem; border: 1px solid var(--rv-profile-evidence-line); border-radius: var(--rv-radius-md); background: color-mix(in srgb, var(--rv-profile-evidence-accent-wash) 45%, transparent); }
.ev-citar-label { margin: 0; color: var(--rv-profile-evidence-content); font: 600 var(--ev-type-12)/1.5 var(--rv-font-mono); letter-spacing: .06em; text-transform: uppercase; }
.ev-citar-label + .ev-citar-label, .ev-citar-texto + .ev-citar-label { margin-top: .6rem; }
.ev-citar-texto { margin: 0; color: var(--rvf-ink); font-size: var(--ev-type-16); line-height: 1.65; overflow-wrap: anywhere; }
.ev-citar-texto cite { font-style: italic; }
.ev-citar a { overflow-wrap: anywhere; }
.ev-citar-texto a { color: var(--rvf-accent-paper); text-decoration: underline; text-underline-offset: .2em; }
.ev-citar-bib { margin: 0; padding: .9rem 1rem; overflow-x: auto; border: 1px solid var(--rv-profile-evidence-line); border-radius: var(--rv-radius-sm); background: var(--rvf-paper); color: var(--rvf-ink); font: 400 var(--ev-type-12)/1.7 var(--rv-font-mono); white-space: pre; }
.ev-citar-bib:focus-visible { outline: 2px solid var(--rv-profile-evidence-focus, var(--rvf-brand)); outline-offset: 2px; }
.ev-citar-nota { margin: .25rem 0 0; color: var(--rvf-ink-soft); font-size: var(--ev-type-14); line-height: 1.6; }

/* Mapa do site antes do rodapé da família: todas as seções do Evidence, só com páginas que existem. */
.ev-mapa { padding: clamp(2.5rem, 5vw, 3.5rem) 0; border-top: 1px solid var(--rvf-line); background: var(--rvf-canvas); }
.ev-mapa-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 2rem; margin-bottom: 1.5rem; }
.ev-mapa-titulo { margin: 0; color: var(--rvf-text); font-size: var(--ev-type-18); font-weight: 600; letter-spacing: -.015em; }
.ev-mapa-nota { max-width: 56ch; margin: 0; color: var(--rvf-text-3); font-size: var(--ev-type-14); line-height: 1.6; }
.ev-mapa-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; }
.ev-mapa-label { margin: 0 0 .5rem; color: var(--rvf-accent); font: 600 var(--ev-type-12)/1.5 var(--rv-font-mono); letter-spacing: .1em; text-transform: uppercase; }
.ev-mapa ul { display: grid; gap: .1rem; margin: 0; padding: 0; list-style: none; }
.ev-mapa a { display: inline-flex; align-items: center; min-height: 32px; color: var(--rvf-text-2); font-size: var(--ev-type-14); }
.ev-mapa a:hover { color: var(--rvf-brand); text-decoration: underline; text-underline-offset: .2em; }

@media (max-width: 1100px) { .ev-portas { grid-template-columns: 1fr 1fr; } .ev-mapa-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 900px) { .ev-nums { grid-template-columns: 1fr; } .ev-num, .ev-num + .ev-num { padding: 1.25rem 0; border-left: 0; } .ev-num + .ev-num { border-top: 1px solid var(--rv-profile-evidence-line); } }
@media (max-width: 600px) { .ev-portas, .ev-mapa-grid { grid-template-columns: 1fr; } .ev-estados > div, .ev-fontes-fora li { grid-template-columns: 1fr; gap: .4rem; } }

/* Movimento só por opção: transição de borda e cor nas portas, curva única de saída. */
@media (prefers-reduced-motion: no-preference) {
  .ev-porta, .ev-job { transition: border-color var(--rv-motion-standard, 180ms) var(--ev-ease-out), transform var(--rv-motion-standard, 180ms) var(--ev-ease-out); }
  .ev-porta:hover { transform: translateY(-2px); }
}
