/* Base compartilhada: identidade do Studio Juliana Soares (preto com rosé, tema escuro fixo). */
:root {
  --bg: #0b0809;
  --band: #010101;
  --surface: #17111a;
  --surface-hi: #221823;
  --fg: #fbeef3;
  --muted: #cdb6c0;
  --line: #5a3f4c;
  --rose: #e5b8c3;
  --accent: #f2a9c6;
  --on-accent: #1a0a12;
  --accent-soft: #3a2230;
  --ok: #9fdcb2;
  --ok-soft: #1c3226;
  --closed: #8f8189;
  --closed-soft: #1f1a1d;
  --warn-soft: #3a3016;
  --warn-fg: #f3d98a;
  --danger: #ffb4ab;
  --danger-soft: #3d1b1a;
  --font-display: "Marcellus", "Optima", "Candara", Georgia, serif;
  --font-script: "Great Vibes", "Brush Script MT", cursive;
  --font-body: "Atkinson Hyperlegible", "Segoe UI", Roboto, Arial, sans-serif;
  --radius: 16px;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { font-size: 112.5%; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--fg); font-family: var(--font-body); font-size: 1.1rem; line-height: 1.5; }
button, input, select { font: inherit; color: inherit; }
img { max-width: 100%; }
[hidden] { display: none !important; }
:focus-visible { outline: 4px solid var(--accent); outline-offset: 3px; }
body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 10; background: var(--band); }
.gutter {
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
}
.aviso-config {
  background: var(--warn-soft); color: var(--warn-fg); text-align: center; font-size: 0.95rem;
  padding-block: 10px;
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
}
@media (prefers-reduced-motion: no-preference) {
  .anima > * { animation: entra .25s ease-out both; }
  @keyframes entra { from { transform: translateY(6px); } to { transform: none; } }
}
