/* Tema de cristal para os guias públicos de dados e aprendizado de máquina.
   Escopo opt-in: somente body.k-crystal-page. Sem dependências de previews. */
body.k-crystal-page {
  --crystal-ink: #edf8fb;
  --crystal-copy: #d1e4eb;
  --crystal-muted: #b5cdd7;
  --crystal-accent: #9af4e6;
  --crystal-edge: rgba(190, 233, 244, .3);
  --crystal-surface: rgba(9, 29, 41, .72);
  --crystal-film: linear-gradient(132deg, rgba(232, 251, 255, .1), rgba(232, 251, 255, .015) 35%, rgba(103, 194, 223, .035) 72%, rgba(232, 251, 255, .07));
  --crystal-shadow: inset 0 1px 0 rgba(236, 254, 255, .3), inset 1px 0 0 rgba(236, 254, 255, .08), 0 18px 48px rgba(0, 8, 18, .26);
  --focus-color: #9af4e6;
  position: relative;
  isolation: isolate;
  color-scheme: dark;
  background: #071722;
  color: var(--crystal-ink);
  font-family: "Avenir Next", "Segoe UI", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
body.k-crystal-page::before,
body.k-crystal-page::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
}
body.k-crystal-page::before {
  z-index: -2;
  background:
    radial-gradient(ellipse at 88% 12%, rgba(58, 156, 193, .28), transparent 53%),
    radial-gradient(ellipse at 6% 68%, rgba(33, 151, 131, .22), transparent 54%),
    linear-gradient(118deg, transparent 24%, rgba(178, 228, 247, .06) 24.2%, transparent 37%, rgba(178, 228, 247, .035) 37.2%, transparent 62%),
    linear-gradient(165deg, #0b202e, #071722 64%, #0a252b);
}
body.k-crystal-page::after {
  z-index: -1;
  opacity: .35;
  background-image: linear-gradient(rgba(194, 234, 249, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(194, 234, 249, .045) 1px, transparent 1px);
  background-size: 48px 48px;
}
body.k-crystal-page ::selection { color: #071722; background: #9af4e6; }
body.k-crystal-page :is(.data-foundations-hero, .data-taxonomy) { background: transparent; color: var(--crystal-ink); }
body.k-crystal-page .data-foundations-hero { padding-top: clamp(22px, 4vw, 48px); }
body.k-crystal-page .data-foundations-hero > .section-shell {
  padding: clamp(22px, 4vw, 52px);
  border: 1px solid var(--crystal-edge);
  border-radius: 24px;
  background: var(--crystal-film), var(--crystal-surface);
  box-shadow: var(--crystal-shadow);
}
body.k-crystal-page .data-foundations-hero h1 {
  max-width: 24ch;
  color: var(--crystal-ink);
  font: 600 clamp(2rem, 4.4vw, 3.9rem)/1.12 "Avenir Next", "Segoe UI", Arial, sans-serif;
  letter-spacing: -.045em;
}
body.k-crystal-page :is(.data-foundations-hero p, .data-foundations-footer p) { color: var(--crystal-copy); }
body.k-crystal-page :is(.data-foundations-hero .eyebrow, .data-taxonomy .eyebrow, .data-taxonomy__mode) { color: var(--crystal-accent); }
body.k-crystal-page :is(.data-foundations-hero a, .data-foundations-footer a, .data-taxonomy a) { color: var(--crystal-accent); }
body.k-crystal-page .data-foundations-breadcrumb { color: var(--crystal-muted); }
body.k-crystal-page .data-foundations-topics { gap: 10px; margin-top: 20px; }
body.k-crystal-page .data-foundations-topics a {
  padding: 9px 13px;
  border: 1px solid var(--crystal-edge);
  border-radius: 8px;
  background: rgba(204, 241, 249, .045);
  color: var(--crystal-copy);
  font-size: .88rem;
  text-decoration: none;
}
body.k-crystal-page .data-taxonomy { padding-top: 28px; }
body.k-crystal-page .data-taxonomy__terminal {
  border-color: var(--crystal-edge);
  border-radius: 24px;
  background: rgba(5, 21, 33, .22);
  box-shadow: inset 0 1px 0 rgba(236, 254, 255, .2);
}
body.k-crystal-page .data-taxonomy__bar {
  background: linear-gradient(100deg, rgba(53, 90, 110, .45), rgba(11, 33, 48, .88));
  color: var(--crystal-muted);
  border-color: var(--crystal-edge);
  border-radius: 24px 24px 0 0;
  box-shadow: inset 0 1px 0 rgba(236, 254, 255, .2);
}
body.k-crystal-page .data-taxonomy__screen { padding: clamp(14px, 3vw, 36px); }
body.k-crystal-page .data-taxonomy__heading { padding: clamp(8px, 1.4vw, 20px); }
body.k-crystal-page .data-taxonomy :is(h2, h3, h4, dt) {
  color: var(--crystal-ink);
  font-family: "Avenir Next", "Segoe UI", Arial, sans-serif;
  letter-spacing: -.02em;
}
body.k-crystal-page .data-taxonomy :is(p, dd, td, li) { color: var(--crystal-copy); }
body.k-crystal-page .data-taxonomy p.data-taxonomy__note { color: var(--crystal-muted); }
body.k-crystal-page :is(.data-taxonomy__part, .data-taxonomy__sources) {
  padding: clamp(18px, 2.8vw, 32px);
  border: 1px solid var(--crystal-edge);
  border-radius: 18px;
  background: var(--crystal-film), var(--crystal-surface);
  box-shadow: var(--crystal-shadow);
}
body.k-crystal-page .data-taxonomy__part h3 { margin-bottom: 24px; }
body.k-crystal-page .data-taxonomy__index {
  border-color: var(--crystal-edge);
  border-radius: 6px;
  background: rgba(158, 239, 226, .1);
  color: var(--crystal-accent);
}
body.k-crystal-page :is(.data-taxonomy__card, .data-taxonomy__domains > div, .data-taxonomy__takeaway, .data-taxonomy__table-wrap) {
  border: 1px solid var(--crystal-edge);
  border-radius: 12px;
  background: linear-gradient(130deg, rgba(225, 249, 255, .07), rgba(225, 249, 255, .015) 56%), rgba(15, 42, 55, .5);
  box-shadow: inset 0 1px 0 rgba(236, 254, 255, .17), 0 8px 22px rgba(0, 8, 18, .1);
}
body.k-crystal-page :is(.data-taxonomy__card h4, .data-taxonomy__domains dt, .data-taxonomy__sources summary) { color: var(--crystal-accent); }
body.k-crystal-page .data-taxonomy__takeaway { border-inline-start: 3px solid var(--crystal-accent); }
body.k-crystal-page .data-taxonomy__table-wrap { scrollbar-color: #98dacf #102b39; }
body.k-crystal-page .data-taxonomy__table { background: transparent; }
body.k-crystal-page .data-taxonomy__table caption { background: rgba(4, 22, 35, .52); color: var(--crystal-copy); border-color: var(--crystal-edge); }
body.k-crystal-page .data-taxonomy__table :is(th, td) { border-color: rgba(190, 233, 244, .18); }
body.k-crystal-page .data-taxonomy__table thead th { background: rgba(148, 220, 224, .08); color: var(--crystal-accent); }
body.k-crystal-page .data-taxonomy__table tbody th { color: var(--crystal-ink); }
body.k-crystal-page .data-taxonomy__table tbody tr:nth-child(even) { background: rgba(183, 228, 244, .035); }
body.k-crystal-page .data-taxonomy__fasta { background: rgba(5, 21, 33, .82); color: var(--crystal-ink); border-color: var(--crystal-edge); border-radius: 10px; }
body.k-crystal-page .data-taxonomy__sources { padding-block: 0; }
body.k-crystal-page .data-taxonomy__sources[open] summary { border-color: var(--crystal-edge); }
body.k-crystal-page :is(.k-global-header, .k-page-index) {
  background: rgba(8, 28, 41, .88);
  color: var(--crystal-copy);
  border-color: var(--crystal-edge);
  box-shadow: inset 0 1px 0 rgba(236, 254, 255, .08);
}
body.k-crystal-page .k-page-index :is(a, .k-page-index__label, .k-page-index__toggle) { color: var(--crystal-copy); }
body.k-crystal-page .k-page-index a:is(:hover, [aria-current="location"]) { color: var(--crystal-accent); background: rgba(154, 244, 230, .1); }
body.k-crystal-page .data-foundations-footer { color: var(--crystal-ink); background: rgba(5, 21, 33, .9); border-top: 1px solid var(--crystal-edge); }
body.k-crystal-page .data-foundations-footer h2 { color: var(--crystal-ink); font-family: inherit; }
body.k-crystal-page .back-to-top { color: var(--crystal-ink); background: #102d3b; border-color: var(--crystal-edge); border-radius: 10px; }
body.k-crystal-page :is(.data-foundations-hero a, .data-taxonomy a):is(:hover, :focus-visible) { color: #edfffa; background: #123e48; }
body.k-crystal-page :is(a, button, input, summary, [tabindex]):focus-visible { outline: 3px solid #9af4e6; outline-offset: 4px; }
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body.k-crystal-page :is(.data-foundations-hero > .section-shell) {
    backdrop-filter: blur(14px) saturate(120%);
    -webkit-backdrop-filter: blur(14px) saturate(120%);
  }
  body.k-crystal-page :is(.k-global-header, .k-page-index) {
    background: rgba(8, 28, 41, .8);
    backdrop-filter: blur(20px) saturate(130%);
    -webkit-backdrop-filter: blur(20px) saturate(130%);
  }
}
@media (max-width: 640px) {
  body.k-crystal-page .data-foundations-hero > .section-shell { padding: 22px 18px; border-radius: 16px; }
  body.k-crystal-page .data-taxonomy__screen { padding: 12px; }
  body.k-crystal-page :is(.data-taxonomy__part) { padding: 18px 14px; border-radius: 14px; }
  body.k-crystal-page .data-foundations-topics { flex-direction: row; }
  body.k-crystal-page .data-foundations-topics a { padding: 9px 10px; }
  }
@media (prefers-contrast: more), (prefers-reduced-transparency: reduce) {
  body.k-crystal-page::before, body.k-crystal-page::after { display: none; }
  body.k-crystal-page { --crystal-edge: #b5cdd7; }
  body.k-crystal-page :is(.data-foundations-hero > .section-shell, .data-taxonomy__part, .data-taxonomy__card, .data-taxonomy__domains > div, .data-taxonomy__takeaway, .data-taxonomy__table-wrap, .data-taxonomy__sources, .k-global-header, .k-page-index) {
    background: #0b202e;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: none;
  }
}
@media print {
  body.k-crystal-page::before, body.k-crystal-page::after { display: none; }
  body.k-crystal-page, body.k-crystal-page * { color: #10212b !important; background: transparent !important; box-shadow: none !important; text-shadow: none !important; }
  body.k-crystal-page :is(.k-global-header, .k-page-index, .back-to-top) { display: none; }
}

/* Aprendizado de máquina: superfícies adaptadas ao catálogo e ao estudo. */
body.k-crystal-page[data-page-id="machine-learning-governance"] {
  --ink: var(--crystal-ink);
  --muted: var(--crystal-muted);
  --paper: #0b202e;
  --paper-ink: var(--crystal-ink);
  --paper-muted: var(--crystal-copy);
  --accent: var(--crystal-accent);
  --accent-2: var(--crystal-accent);
  --line: var(--crystal-edge);
}
body.k-crystal-page[data-page-id="machine-learning-governance"] :is(.hero, main > .section) {
  width: min(calc(100% - 2 * clamp(16px, 4vw, 64px)), 86rem);
  margin: 28px auto;
  min-height: 0;
}
body.k-crystal-page[data-page-id="machine-learning-governance"] .hero {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
  gap: 24px;
  background: transparent;
  border: 0;
}
body.k-crystal-page[data-page-id="machine-learning-governance"] :is(.hero-copy, main > .section) {
  padding: clamp(22px, 3.8vw, 48px);
  border: 1px solid var(--crystal-edge);
  border-radius: 24px;
  background: var(--crystal-film), var(--crystal-surface);
  box-shadow: var(--crystal-shadow);
}
body.k-crystal-page[data-page-id="machine-learning-governance"] .hero-panel { padding: 0; min-height: 0; border: 0; background: transparent; align-content: start; }
body.k-crystal-page[data-page-id="machine-learning-governance"] .hero-panel::before { display: none; }
body.k-crystal-page[data-page-id="machine-learning-governance"] :is(h1, h2, h3, strong) { font-family: inherit; }
body.k-crystal-page[data-page-id="machine-learning-governance"] :is(.hero h1, .section-heading h2) { color: var(--crystal-ink); font-weight: 600; line-height: 1.15; }
body.k-crystal-page[data-page-id="machine-learning-governance"] .hero h1 { font-size: clamp(2rem, 3.8vw, 3.6rem); }
body.k-crystal-page[data-page-id="machine-learning-governance"] .section-heading h2 { font-size: clamp(1.6rem, 3vw, 2.8rem); }
body.k-crystal-page[data-page-id="machine-learning-governance"] :is(.hero-subtitle, .hero-lead, .section-heading > p, .mini-card p, .concept-card p, .governance-card p, .diagnostic-card p:last-child, .extension-card--accent p) { color: var(--crystal-copy); font-size: 1rem; }
body.k-crystal-page[data-page-id="machine-learning-governance"] :is(.eyebrow, .panel-label, .diagnostic-card__label, .diagnostic-method__family, .model-family summary::after, .note-banner strong, .support-source-note > strong, .support-list dt) { color: var(--crystal-accent); }
body.k-crystal-page[data-page-id="machine-learning-governance"] :is(.hero-stats dt, .mini-card > span, .model-family summary small, .kpi span, .diagnostic-candidates__hint) { color: var(--crystal-muted); font-size: .8rem; }
body.k-crystal-page[data-page-id="machine-learning-governance"] :is(.hero-stats dd, .kpi strong, .model-family summary strong, .mini-card strong) { color: var(--crystal-ink); font-variant-numeric: tabular-nums; }
body.k-crystal-page[data-page-id="machine-learning-governance"] :is(.panel-card, .mini-card, .case-card, .source-card, .diagnostic-card, .model-family, .model-family-note, .diagnostic-method, .concept-card, .note-banner, .support-source-note, .ml-reading, .governance-card, .governance-note, .extension-card, .learning-sequence, .table-wrap, .kpi) {
  border: 1px solid var(--crystal-edge);
  border-radius: 14px;
  color: var(--crystal-copy);
  background: linear-gradient(130deg, rgba(225, 249, 255, .07), rgba(225, 249, 255, .015) 56%), rgba(15, 42, 55, .65);
  box-shadow: inset 0 1px 0 rgba(236, 254, 255, .17), 0 8px 22px rgba(0, 8, 18, .1);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body.k-crystal-page[data-page-id="machine-learning-governance"] :is(.model-family__index, .data-taxonomy__index) { background: rgba(158, 239, 226, .1); color: var(--crystal-accent); }
body.k-crystal-page[data-page-id="machine-learning-governance"] .model-family[open] { border-color: #80d8ce; }
body.k-crystal-page[data-page-id="machine-learning-governance"] .concept-card h3 { margin-top: 20px; }
body.k-crystal-page[data-page-id="machine-learning-governance"] .learning-sequence li { border-color: var(--crystal-edge); }
body.k-crystal-page[data-page-id="machine-learning-governance"] .learning-sequence :is(h3, span) { color: var(--crystal-ink); }
body.k-crystal-page[data-page-id="machine-learning-governance"] .learning-sequence p { color: var(--crystal-copy); }
body.k-crystal-page[data-page-id="machine-learning-governance"] .comparison-table :is(th, td, caption) { color: var(--crystal-copy); background: transparent; border-color: var(--crystal-edge); font-size: .95rem; line-height: 1.7; }
body.k-crystal-page[data-page-id="machine-learning-governance"] .comparison-table thead th { color: var(--crystal-accent); background: rgba(148, 220, 224, .08); }
body.k-crystal-page[data-page-id="machine-learning-governance"] .comparison-table caption { text-align: left; padding: 16px; }
body.k-crystal-page[data-page-id="machine-learning-governance"] .section a { color: var(--crystal-accent); text-decoration: underline; text-underline-offset: .2em; }
body.k-crystal-page[data-page-id="machine-learning-governance"] .section a:is(:hover, :focus-visible) { color: #edfffa; background: #123e48; }
body.k-crystal-page[data-page-id="machine-learning-governance"] .source-card a { font-size: .85rem; text-transform: none; letter-spacing: normal; }
body.k-crystal-page[data-page-id="machine-learning-governance"] .primary-button { color: #09212d; background: linear-gradient(145deg, #dcfff8, #9af4e6); border-radius: 9px; }
body.k-crystal-page[data-page-id="machine-learning-governance"] .text-button { color: var(--crystal-copy); }
body.k-crystal-page[data-page-id="machine-learning-governance"] .diagnostic-candidates { background: rgba(9, 29, 41, .65); border-color: var(--crystal-edge); box-shadow: var(--crystal-shadow); }
body.k-crystal-page[data-page-id="machine-learning-governance"] .diagnostic-candidates > summary { color: var(--crystal-ink); background: var(--crystal-film), rgba(16, 43, 59, .9); }
body.k-crystal-page[data-page-id="machine-learning-governance"] .diagnostic-candidates > summary::after { color: var(--crystal-accent); background: rgba(158, 239, 226, .1); border-color: var(--crystal-edge); }
body.k-crystal-page[data-page-id="machine-learning-governance"] .diagnostic-candidates__body { background: transparent; }
body.k-crystal-page[data-page-id="machine-learning-governance"] .diagnostic-candidates__terminal { color: var(--crystal-muted); background: transparent; border-color: var(--crystal-edge); }
body.k-crystal-page[data-page-id="machine-learning-governance"] .diagnostic-candidates__notice { background: rgba(158, 239, 226, .06); border-color: var(--crystal-accent); }
body.k-crystal-page[data-page-id="machine-learning-governance"] .diagnostic-candidates__notice strong { color: var(--crystal-accent); }
body.k-crystal-page[data-page-id="machine-learning-governance"] .diagnostic-candidates .diagnostic-method h3 { color: var(--crystal-ink); font-family: inherit; }
body.k-crystal-page[data-page-id="machine-learning-governance"] .diagnostic-candidates .diagnostic-method { grid-column: auto; }
body.k-crystal-page .diagnostic-method[hidden] { display: none !important; }
body.k-crystal-page .candidate-filters[hidden] { display: none !important; }
body.k-crystal-page .candidate-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 10px; padding: 0; border: 0; }
body.k-crystal-page .candidate-filters legend { padding: 0 0 10px; color: var(--crystal-copy); font-size: 1rem; }
body.k-crystal-page .candidate-filters button { min-height: 44px; padding: 9px 14px; border: 1px solid var(--crystal-edge); border-radius: 9px; font: inherit; font-size: .9rem; font-weight: 600; background: rgba(225, 249, 255, .06); color: var(--crystal-copy); cursor: pointer; }
body.k-crystal-page .candidate-filters button[aria-pressed="true"] { color: #09212d; background: linear-gradient(145deg, #dcfff8, #9af4e6); border-color: #c1fff3; }
body.k-crystal-page .candidate-filters button:hover { border-color: var(--crystal-accent); }
body.k-crystal-page .candidate-count { color: var(--crystal-muted); font-size: .9rem; }
body.k-crystal-page .diagnostic-method__reading { margin-top: 18px; padding-top: 12px; border-top: 1px solid var(--crystal-edge); }
body.k-crystal-page .diagnostic-method__reading summary { min-height: 44px; padding-block: 10px; color: var(--crystal-accent); cursor: pointer; font-size: .95rem; }
body.k-crystal-page .diagnostic-method__reading dl { margin: 10px 0 0; }
body.k-crystal-page .diagnostic-method__reading dt { color: var(--crystal-ink); font-weight: 600; margin-top: 12px; }
body.k-crystal-page .diagnostic-method__reading dd { color: var(--crystal-copy); margin: 5px 0 0; font-size: .95rem; line-height: 1.7; }
/* Texto corrido justificado; rótulos, colunas e cartões estreitos conservam
   alinhamento inicial para evitar lacunas excessivas entre palavras. */
body.k-crystal-page[data-page-id][data-locale] main p {
  text-align: justify !important;
  text-align-last: start;
  hyphens: auto;
  -webkit-hyphens: auto;
}
body.k-crystal-page[data-page-id][data-locale] main :is(.data-taxonomy__card, .mini-card, .panel-grid, .diagnostic-card, .diagnostic-method, .concept-card, .governance-card, .learning-sequence) p,
body.k-crystal-page[data-page-id][data-locale] main :is(p.eyebrow, p.panel-label, p.diagnostic-card__label, p.panel-card-title, p.candidate-count),
body.k-crystal-page[data-page-id][data-locale] main table p {
  text-align: start !important;
  hyphens: manual;
  -webkit-hyphens: manual;
}
body.k-crystal-page .k-mobile-hero-context { color: var(--crystal-copy); background: rgba(9, 29, 41, .95); border-color: var(--crystal-edge); }
body.k-crystal-page .k-mobile-hero-context :is(p, dd, dt, summary, .summary-label) { color: var(--crystal-copy); }
body.k-crystal-page[data-page-id] #diagnostic .diagnostic-candidates__notice p { text-align: justify !important; }
body.k-crystal-page[data-page-id] #diagnostic .diagnostic-method p { text-align: start !important; }
@media (max-width: 1024px) {
  body.k-crystal-page[data-page-id="machine-learning-governance"] .hero { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  body.k-crystal-page[data-page-id="machine-learning-governance"] :is(.hero-copy, main > .section) { padding: 22px 18px; border-radius: 16px; }
  body.k-crystal-page[data-page-id="machine-learning-governance"] .hero-stats { grid-template-columns: 1fr 1fr; }
  body.k-crystal-page .candidate-filters button { flex: 1 1 auto; }
}
@media (prefers-contrast: more), (prefers-reduced-transparency: reduce) {
  body.k-crystal-page[data-page-id="machine-learning-governance"] :is(.hero-copy, main > .section, .panel-card, .mini-card, .model-family, .model-family-note, .case-card, .source-card, .diagnostic-card, .diagnostic-candidates, .diagnostic-candidates > summary, .diagnostic-method, .concept-card, .note-banner, .support-source-note, .ml-reading, .governance-card, .governance-note, .extension-card, .learning-sequence, .table-wrap, .kpi) { background: #0b202e; backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: none; }
}
