/* Identidade do SwipieTV, compartilhada pelo site, pelo painel e pela página de entrada.
   Cores do aplicativo (fundo #0b0b10, roxo #b026ff). Tipos: Fredoka (títulos, redonda como o logo) e Public Sans (texto). Ambas OFL, servidas daqui. */
@font-face { font-family: "Fredoka"; src: url("/fonts/fredoka.woff2") format("woff2"); font-weight: 500 700; font-display: swap; }
@font-face { font-family: "Public Sans"; src: url("/fonts/publicsans.woff2") format("woff2"); font-weight: 400 700; font-display: swap; }

:root {
  --ink: #0b0b10;          /* fundo do app */
  --ink-2: #14141d;        /* superfícies */
  --ink-3: #1d1d29;        /* campos, linhas de destaque */
  --line: #2b2b3b;
  --text: #f3f2f7;
  --muted: #a3a1b2;
  --violet: #b026ff;       /* roxo do app */
  --violet-soft: #d594ff;  /* roxo legível sobre o fundo escuro (texto, links) */
  --ok: #4fd69c;
  --warn: #ffb84d;
  --bad: #ff7272;
  --r-lg: 22px; --r-md: 12px; --r-sm: 7px;   /* raios por hierarquia: tela > bloco > controle */
  --display: "Fredoka", "Trebuchet MS", system-ui, sans-serif;
  --body: "Public Sans", system-ui, "Segoe UI", sans-serif;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--ink); color: var(--text); font: 400 16px/1.55 var(--body); }
h1, h2, h3 { font-family: var(--display); font-weight: 600; line-height: 1.1; letter-spacing: -.01em; margin: 0; text-wrap: balance; }
p { margin: 0; text-wrap: pretty; }
a { color: var(--violet-soft); text-underline-offset: 3px; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid var(--violet); outline-offset: 2px; border-radius: var(--r-sm); } /* o anel roxo é o "foco da TV" */
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .001ms !important; animation-delay: 0s !important; transition-duration: .001ms !important; } }
