/* Regras editoriais e de acessibilidade do relatório, posteriores aos tokens oficiais. */
body { font-synthesis: none; }
::selection { background: var(--color-roxo-soft); color: var(--content-primary); }
h1 span { color: inherit; font-style: normal; }
.accent-italic, h1 em { color: var(--brand-primary); font-style: italic; font-weight: 700; }
.scope-mandate .accent-italic { color: var(--color-agua); }
.skip { position: fixed; top: -120px; left: 16px; display: flex; align-items: center; min-height: 44px; padding: 12px 20px; border-radius: 8px; background: var(--brand-primary); color: white; z-index: var(--z-toast); }
.skip:focus { top: 16px; }
:is(a, button, summary, input, select, textarea, [tabindex]):focus-visible { outline: 3px solid var(--brand-primary); outline-offset: 4px; box-shadow: var(--focus-ring); }
.sidebar :is(a, button, summary, input, select, [tabindex]):focus-visible, .scope-mandate :is(a, button, summary, [tabindex]):focus-visible { outline-color: white; box-shadow: 0 0 0 2px var(--surface-dark); }
.offer-summary > a:hover, button:hover { background: var(--color-roxo-soft); color: var(--color-roxo-dark); }
.core-offer > a:hover { background: var(--brand-primary-hov); color: white; }
.support-detail > summary:hover, .reading-summary a:hover { background: var(--color-roxo-soft); }
.tag { display: inline-flex; align-items: center; gap: 8px; padding: 4px 8px; border: 1px solid var(--border-default); border-radius: 4px; font-size: 14px; font-weight: 500; line-height: 1.5; background: var(--surface-ground); color: var(--content-primary); white-space: normal; }
.tag.source, .tag.approved { color: var(--color-roxo-dark); background: var(--color-roxo-soft); border-color: var(--color-roxo-light); }
.tag.code { border-style: double; border-width: 3px; padding: 2px 6px; }
.tag.local { border-left: 4px solid var(--brand-primary); padding-left: 8px; }
.tag.proposal, .tag.open { border-style: dashed; }
.tag.history { border-color: var(--content-secondary); background: var(--surface-card); color: var(--content-secondary); }
.scope-mandate > .tag { border-color: var(--color-indigo-light); color: white; background: var(--color-indigo-light); }
.citation { display: inline-flex; align-items: center; min-height: 44px; padding: 8px; margin: 0; font-size: 14px; }
.citation, .screen-id { min-width: 44px; justify-content: center; }
.main a { min-width: 44px; }
.screen-details a { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; padding: 8px 4px; }
.offer-source-note a, .offer-reference a, .source-facts a, .product-delivery-note a, .flow-note a, .offer-mapping a, .audience-paths a, .panel a, .evidence a, .scope-mandate a, .decision-boundary a, .time-note a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 4px; }
.offer-reference, .evidence, .audit-source { line-height: 1.7; }
.screen:target, .audit-item:target, .source-card:target, .choice:target, .offer-definition:target, .flow:target { outline: 2px solid var(--brand-primary); outline-offset: 4px; }
.screen:target { background: var(--color-roxo-soft); border-radius: 8px; }
.section-actions { border-top: 1px solid var(--border-default); padding-top: 12px; }
.section-actions button, .section-actions a { font-size: 14px; }
.screen > .section-actions, .audit-item > .section-actions, .source-card > .section-actions { grid-column: 1 / -1; }
.offer-definition > .section-actions, .decision-row > .section-actions { grid-column: 1 / -1; }
.offer-definition > .section-actions { padding: 16px 24px; margin: 0; }
.copy-status { font-size: 14px; color: var(--content-secondary); }
.reading-summary a > svg { margin-bottom: 12px; color: var(--color-roxo-dark); }
.teteu-example > a, .radar-example > a, .glossary dt a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 4px; }
.glossary > p { padding: 0 20px; }
.commercial-note { font-size: 14px; color: var(--content-secondary); line-height: 1.7; }
.identity-examples { margin-top: 24px; }
.identity-examples > summary { min-height: 44px; padding: 12px; cursor: pointer; border: 1px solid var(--border-default); border-radius: 8px; color: var(--color-roxo-dark); font-weight: 500; }
.delivery-evidence { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(100px, 1fr) 3fr; gap: 8px 16px; margin: 0; padding-top: 16px; border-top: 1px solid var(--border-default); font-size: 14px; }
.delivery-evidence dt { font-weight: 700; }
.delivery-evidence dd { margin: 0; }
@media (max-width: 640px) { .delivery-evidence { grid-template-columns: 1fr; } }
.print-meta { flex-basis: 100%; margin: 0; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
@media (forced-colors: active) {
  body, .sidebar, .scope-mandate, .offer-identity, .shared-engine, .support-body, .flow-label, .source-key { background: Canvas; color: CanvasText; }
  .sidebar .brand { background: #1e2a4a; forced-color-adjust: none; }
  a, .sidebar a, .scope-mandate a { color: LinkText; }
  :is(a, button, summary, input, select, textarea, [tabindex]):focus-visible { outline: 3px solid Highlight; box-shadow: none; }
  .sidebar :is(a, button, summary, [tabindex]):focus-visible, .scope-mandate :is(a, button, summary, [tabindex]):focus-visible { outline-color: Highlight; }
  .nav a[aria-current="location"], .nav a.active, .language-switch a[aria-current="page"] { border: 2px solid Highlight; color: LinkText; }
  .tag, .offer-summary, .offer-definition, .source-card, .audit-item, .choice, .flow, .support-detail, .panel, .reading-summary a, .mobile-index > summary, .step { border-color: CanvasText; }
  .radar-example .status-dot { background: Canvas; }
  .screen:target, .audit-item:target, .source-card:target, .choice:target, .offer-definition:target, .flow:target { outline-color: Highlight; }
}
@media print {
  @page {
    size: A4; margin: 16mm 14mm 18mm;
    @bottom-left { content: 'Kaigoo · 03/10/2026'; font: 9pt sans-serif; color: #546793; }
    @bottom-right { content: counter(page) ' / ' counter(pages); font: 9pt sans-serif; color: #546793; }
  }
  html { scroll-padding-top: 0; }
  .main a { min-width: 0; }
  body { background: white; color: var(--content-primary); font-size: 11pt; line-height: 1.5; }
  .sidebar, .skip, .reading-tools, .section-actions, .mobile-index, .search-results, [data-print] { display: none !important; }
  .layout { display: block; }
  .main { max-width: none; margin: 0; padding: 0; }
  h1 { font-size: 28pt; }
  h2, .section-head h2 { font-size: 22pt; }
  h3 { font-size: 16pt; }
  h4 { font-size: 11pt; }
  .lead { font-size: 12pt; }
  .section { margin-top: 24pt; }
  .section-head, h2, h3, h4, dt { break-after: avoid; }
  .offer-overview { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8pt; }
  .reading-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8pt; }
  .offer-summary { display: block; padding: 12pt; }
  .offer-summary h2 { font-size: 16pt; margin-bottom: 8pt; }
  .offer-summary p { font-size: 10pt; margin-bottom: 8pt; }
  .offer-role { font-size: 9pt; margin-bottom: 8pt; }
  .offer-price { font-size: 14pt; margin-bottom: 8pt; }
  .offer-price span { font-size: 9pt; }
  .offer-summary > a { display: block; min-height: 0; padding: 0; background: none; color: var(--color-roxo-dark); }
  .offer-definition, .shared-engine, .decision-row, .journey-status-grid, .choice-grid, .screen, .audit-body, .cols, .audit-summary { display: block; }
  .offer-identity, .offer-spec, .offer-connection, .shared-engine, .scope-mandate, .choice, .journey-status, .flow, .audit-item, .source-card, .panel { padding: 12pt; box-shadow: none; margin-bottom: 12pt; }
  .offer-identity { border-right: 0; }
  .offer-definition, .choice, .product-detail, .support-detail { break-inside: auto; box-shadow: none; }
  .screen-details > div { display: block; margin-bottom: 8pt; }
  .screen, .audit-item, .source-card, .step, .journey-status, .reading-summary a, .teteu-example blockquote, .radar-example li { break-inside: avoid; }
  .source-card { break-inside: auto; }
  .delivery-spec li { break-inside: avoid; }
  .support-detail > summary { padding: 12pt; }
  .expand-label { display: none; }
  details > :not(summary) { display: block !important; }
  .support-body { background: white; padding: 0 12pt 12pt; }
  .support-body > .section { margin-top: 12pt; }
  .flow-track, .sequence-approved ol { display: grid; grid-template-columns: 1fr; gap: 8pt; }
  .sequence-approved ol { margin-top: 12pt; }
  .audience-paths { grid-template-columns: 1fr; gap: 12pt; }
  .audit-item, .source-card { grid-template-columns: 40pt 1fr; display: grid; }
  a, .citation, .offer-source-note a, .offer-reference a, .source-facts a, .flow-note a, .offer-mapping a, .panel a, .scope-mandate a, .evidence a, .product-delivery-note a, .row-links a, .anchor-links a, .screen-id, .step a, .product-association { display: inline; min-height: 0; padding: 0; }
  a[href^="http"]::after { content: ' (' attr(href) ')'; font-size: 8pt; overflow-wrap: anywhere; }
  .row-links a, .audit-source a, .offer-reference a { margin-right: 8pt; }
  .tag, .flow-label, .source-key, .core-offer, .scope-mandate, .radar-example li { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .footer { margin-top: 24pt; padding-top: 12pt; font-size: 9pt; }
  [id]:target { outline: none; }
}

/* Product overview refinements, using the existing brand tokens. */
.reading-summary strong { font-family: var(--font-display); font-size: var(--fs-xl); }
.reading-summary a > svg { margin-bottom: var(--space-2); }
.offer-summary p { line-height: var(--lh-base); }
.technology-overview { align-items: start; }
.technology-steps { margin-top: 0; padding-left: var(--space-6); }
.technology-steps li { margin-bottom: var(--space-4); }
.technology-status { grid-column: 1 / -1; border-top: 1px solid var(--border-strong); padding-top: var(--space-5); }
.technology-status p:last-child { margin-bottom: 0; }
.sidebar .sidebar-label, .topline, .commercial-note, .offer-source-note, .scope-note { color: var(--content-secondary); }
.sidebar .sidebar-label { color: var(--content-inverse); }
@media (max-width: 640px) { .reading-summary { grid-template-columns: 1fr; } .reading-summary a { min-height: var(--header-height); } }
@media print { .technology-status { margin-top: var(--space-4); } }
.gpu-roadmap { margin: var(--space-8) 0; padding-top: var(--space-8); border-top: 1px solid var(--border-default); }
.roadmap-heading { max-width: var(--container-prose); }
.gpu-opportunities { display: grid; grid-template-columns: 1fr; gap: var(--space-5); margin: var(--space-6) 0; }
.gpu-opportunity { padding: var(--space-6); background: var(--surface-card); border: 1px solid var(--border-default); border-radius: var(--card-radius); box-shadow: var(--shadow-sm); display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3) var(--space-6); }
.gpu-opportunity > .offer-role, .gpu-opportunity > h4, .gpu-opportunity > .offer-reference { grid-column: 1 / -1; }
.gpu-opportunity > h4 { font-size: var(--fs-xl); }
.gpu-opportunity p { margin-bottom: 0; }
.gpu-opportunity .offer-role { margin-bottom: 0; }
.gpu-pilot-plan { padding: var(--space-6); border: 1px solid var(--border-strong); background: var(--color-roxo-soft); border-radius: var(--card-radius); }
.gpu-pilot-plan > h4 { font-size: var(--fs-xl); }
.gpu-pilot-plan li { margin-bottom: var(--space-4); }
.roadmap-note { margin-top: var(--space-4); }
.gpu-opportunity:target { outline: 2px solid var(--brand-primary); outline-offset: var(--space-1); }
@media (max-width: 960px) { .gpu-opportunity { grid-template-columns: 1fr; } }
@media print { .gpu-opportunity { display: block; } .gpu-opportunity p { margin-bottom: var(--space-3); } }
.development-details { margin-top: var(--space-6); }
.development-details > summary { padding: var(--space-5) var(--space-6); min-height: var(--button-height); background: var(--surface-card); color: var(--color-roxo-dark); border: 1px solid var(--border-default); border-radius: var(--card-radius); cursor: pointer; font-weight: 700; }
.development-details[open] > summary { margin-bottom: var(--space-6); }
.development-details > summary:hover { background: var(--color-roxo-soft); }
@media print { .development-details { display: block; } }
