/* YUMI · camada única de tokens (DESIGN.md › Contrato de implementação, 26/10/2026).
   Carregada antes de qualquer outra folha em todas as páginas dos dois destinos.
   Cópia idêntica em apps/public/dist e apps/private/dist: os destinos nunca se referenciam.
   Os tokens de módulo (--yi-*, --uv-*, --ws-*, --og-*, --ym-*, --yt-*, --yp-*, --yl-*) são apelidos destes. */
:root{
  /* superfícies */
  --bg:#11110e;--panel:#191914;--panel-raised:#202119;--field:#24241c;--soft:var(--field);
  /* texto sobre escuro */
  --paper:#eee5d1;--read:#c9c3b4;--muted:#b1ac9e;--faint:#96917f;
  /* acento e semânticas */
  --gold:#cfb47d;--gold-dim:#8d7e5c;--olive:#a5b591;
  /* fios e limites */
  --line:#3b3a2e;--edge:#7d6d4c;--veil:#11110edb;
  /* faixa creme */
  --earth:#5f4c28;--muted-on-paper:#565343;--line-on-paper:#aea085;
  /* marca, fora da interface */
  --terra-cobre:#927044;--verde-em-sombra:#33392b;
  /* papéis por superfície (.on-paper troca) */
  --ink:var(--paper);--ink-2:var(--muted);--accent:var(--gold);--focus:var(--gold);--rule:var(--line);
  /* tipografia: html mantém 100%; degraus de 11/12/14/16/20/28/40/64 px */
  --serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;
  --fs-11:.6875rem;--fs-12:.75rem;--fs-14:.875rem;--fs-16:1rem;--fs-20:1.25rem;--fs-28:1.75rem;--fs-40:2.5rem;--fs-64:4rem;
  --fs-display:clamp(3.5rem,6.7vw,6rem);--fs-h1:clamp(2.5rem,5vw,4rem);--fs-h2:clamp(1.75rem,3vw,2.5rem);--fs-h3:1.75rem;
  --track-caps:.1em;--track-badge:.08em;
  --measure:58ch;--measure-lead:48ch;--measure-min:38ch;
  --num-data:lining-nums tabular-nums;--num-index:lining-nums proportional-nums;
  /* espaço */
  --sp-4:.25rem;--sp-8:.5rem;--sp-12:.75rem;--sp-16:1rem;--sp-20:1.25rem;--sp-24:1.5rem;--sp-32:2rem;--sp-40:2.5rem;--sp-56:3.5rem;--sp-72:4.5rem;--sp-96:6rem;--sp-128:8rem;
  /* movimento */
  --dur-1:160ms;--dur-2:240ms;--dur-3:560ms;--ease-out:cubic-bezier(.16,1,.3,1);
  /* profundidade e camadas */
  --shadow-float:0 20px 70px #0009;
  --z-sticky:25;--z-chrome:40;--z-float:45;--z-panel:60;--z-guide:65;--z-feedback:70;--z-toast:100;--z-skip:200;
  color-scheme:dark
}
/* Superfícies creme: acento, foco, fio e seleção trocam juntos (Regra da Faixa Creme).
   As classes existentes recebem os mesmos papéis sem precisar mudar o HTML gerado. */
.on-paper,.yi-offers,.pilot-block,.uv-type-sheet,.toast{--ink:var(--bg);--ink-2:var(--muted-on-paper);--accent:var(--earth);--focus:var(--bg);--rule:var(--line-on-paper);--olive:var(--verde-em-sombra)}
.on-paper{background:var(--paper);color:var(--bg)}
/* Em chinês, Cormorant e Manrope vêm antes das CJK para YUMI, Taíba e trechos latinos. */
html:lang(zh-Hans){--serif:'Cormorant Garamond','Noto Serif CJK SC','Songti SC','SimSun',serif;--sans:'Manrope','Noto Sans CJK SC','PingFang SC','Microsoft YaHei',sans-serif}

/* Superfícies do navegador */
/* scrollbar-gutter: a barra de rolagem que aparece quando a área é injetada não empurra o cabeçalho (CLS, PRI-7). */
html{scrollbar-color:var(--edge) var(--bg);scrollbar-gutter:stable;accent-color:var(--gold)}
html:not(:lang(zh-Hans)){font-synthesis:none}
::selection{background:var(--gold);color:var(--bg)}
.on-paper ::selection,.on-paper::selection,.yi-offers ::selection,.pilot-block ::selection,.uv-type-sheet ::selection,.toast::selection{background:var(--bg);color:var(--paper)}
:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
/* Campos a 16 px: legíveis e sem zoom automático no iOS. O !important protege o piso de regras de módulo. */
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea{font-size:var(--fs-16)!important;caret-color:var(--gold)}
h1,h2,h3{text-wrap:balance}
p,li,figcaption{text-wrap:pretty}

/* Algarismos: dados alinhados e tabulares; numerais de índice alinhados. */
.num-data,table,time,output,kbd,code{font-variant-numeric:var(--num-data)}
.num-index{font-variant-numeric:var(--num-index)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
