/* Identidade dos cursos Gui Zanoni. Carregar depois dos estilos de cada edição.
   A camada altera a apresentação; layouts, conteúdo e impressão são preservados. */
@font-face {
  font-family: Inter;
  src: url('/fonts/inter-variable-latin.woff2?v=20260929') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@media screen {
  :root {
    color-scheme: dark;
    --bg: #0d1014;
    --surface: #171d22;
    --text: #f1f4f5;
    --muted: #a4b4bd;
    --line: #2b333b;
    --accent: #c5e5eb;
    --lime: var(--accent);
    --sans: Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --mono: var(--sans);
    --lms-body: #bcc7cd;
    --lms-field: #0e1419;
    --lms-active: #23353d;
    --lms-active-line: #354b54;
  }

  body {
    background: var(--bg);
    color: var(--text);
    font-family: var(--sans);
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
  }
  h1, h2, h3, .edition-body h2, .closing h2,
  .access-heading h2, .cookie-copy h2, .cookie-dialog h2 {
    font-weight: 400;
    letter-spacing: -.035em;
  }
  .hero h1, .edition-hero h1 { line-height: 1.08; letter-spacing: -.035em; }
  .topbar, .edition-card, .edition-link, .closing, .series-next,
  .worksheet, .worksheet:last-of-type, .step-note {
    border-color: var(--line);
  }
  .brand, .series-brand { font-weight: 500; letter-spacing: -.045em; }
  .byline, .lead, .hero-description, .edition-body>p:not(.format),
  .closing p, .series-next p, .authorship-note, .footer,
  .intro>div>p:last-child, .steps p, .step-body>p:not(.micro),
  .material p, .material-note p, .tool p, .closing-note p, .cta-grid p {
    color: var(--lms-body);
  }
  .byline strong { font-weight: 500; color: var(--text); }
  .byline:hover, .byline:hover strong, .topbar nav a:hover,
  .series-next a, .tool-links a, .footer .cookie-settings:hover {
    color: var(--accent);
  }
  .edition, .eyebrow, .format, .micro, .channel-label,
  .scenario h4, .expected h4, .prompt-toolbar h4 {
    font-family: var(--sans);
    font-weight: 500;
    font-size: 11px;
    line-height: 1.6;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: #9bb5bd;
  }
  .hero-copy .edition { color: var(--accent); }
  .hero-meta, .results-count, .material-meta, .attachments,
  .step-number, .prompt-number, .steps li>span {
    font-weight: 400;
    font-variant-numeric: tabular-nums;
  }

  /* Mesmo acabamento das capas, painéis de prática e campos do LMS. */
  .edition-cover, .hero-portrait, .material-image {
    border-radius: 22px;
    overflow: hidden;
  }
  .edition-cover { box-shadow: 0 0 0 1px var(--line); }
  .hero-portrait { background: var(--surface); }
  .hero-portrait:after {
    background: linear-gradient(transparent, rgba(13,16,20,.95));
  }
  .cta-grid article, .fill-section, .prompt-box, #empty-state {
    border-radius: 22px;
  }
  .newsletter-cta, .fill-section {
    background: linear-gradient(135deg, #233330, #182227);
    border: 1px solid #42594d;
  }
  .cta-grid .newsletter-cta { border-color: #42594d; }
  .antihype-cta { background: var(--surface); }
  .expected {
    background: linear-gradient(135deg, #233330, #182227);
    border-left-color: #8bb9a3;
    border-radius: 0 14px 14px 0;
  }
  .expected p, .scenario p { color: var(--lms-body); }
  .personalizer { background: var(--surface); border-color: var(--line); border-radius: 14px; }
  .prompt-box { background: var(--surface); }
  .prompt-text, .prompt-box pre {
    background: var(--lms-field);
    color: var(--lms-body);
    font-family: var(--sans);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.8;
    scrollbar-color: #42545f var(--lms-field);
  }
  .prompt-text { border-radius: 14px; }
  .prompt-box pre { border-radius: 0 0 22px 22px; }
  .prompt-text mark { color: var(--accent); }
  .fields textarea, .worksheet-fields textarea, .access-field input {
    background: var(--lms-field);
    color: var(--text);
    border-color: #35434d;
    border-radius: 10px;
    font-family: var(--sans);
    font-weight: 400;
  }
  .fields textarea::placeholder, .worksheet-fields textarea::placeholder,
  .access-field input::placeholder { color: var(--muted); }
  .access-field input[aria-invalid=true] { border-color: #ffaaa1; }
  .search-box { border-color: #42545f; }
  .search-box input { color: var(--text); }
  .library-sidebar nav a, .saved-filter { border-radius: 10px; }
  .library-sidebar nav a.active, .saved-filter[aria-pressed=true] {
    background: var(--lms-active);
    border-color: var(--lms-active-line);
    color: var(--accent);
  }

  .button, .access-submit, .prompts-consent button {
    border-radius: 999px;
    border-color: var(--accent);
    background: var(--accent);
    color: #112b30;
    font-family: var(--sans);
    font-weight: 500;
  }
  .button:hover, .access-submit:hover, .prompts-consent button:hover {
    background: #d9f1f5;
    border-color: #d9f1f5;
  }
  .button.outline {
    background: transparent;
    border-color: #42545f;
    color: var(--accent);
  }
  .button.outline:hover { background: var(--lms-active); border-color: #73909c; }
  .cta-grid .anti-button { background: var(--text); border-color: var(--text); color: #112b30; }
  .cta-grid .anti-button:hover { background: #fff; border-color: #fff; }
  .access-submit:disabled { background: #354b54; border-color: #354b54; color: var(--lms-body); }
  .text-link { font-family: var(--sans); font-weight: 400; color: var(--accent); }
  .toast, .skip, .skip-link { border-radius: 12px; background: var(--accent); color: #112b30; }
  ::selection { background: var(--accent); color: #112b30; }
  :focus-visible, .prompts-consent :focus-visible, .access-field input:focus,
  .access-dialog button:focus-visible { outline-color: var(--accent); }

  /* Os mesmos formulários e diálogos, com os tokens visuais dos cursos. */
  .prompts-consent, .cookie-dialog, .access-dialog, .access-close {
    font-family: var(--sans);
    font-weight: 400;
    color: var(--text);
  }
  .cookie-notice, .cookie-dialog, .access-dialog, .image-dialog, .media-dialog {
    background: var(--surface);
    border-color: #35434d;
    border-radius: 22px;
    box-shadow: 0 20px 70px #0006;
  }
  .cookie-dialog::backdrop, .image-dialog::backdrop, .media-dialog::backdrop {
    background: rgb(5 9 12 / 82%);
  }
  .cookie-copy p, .cookie-dialog>p, .cookie-category small,
  .cookie-category p, .cookie-information p, .access-heading>p:last-child,
  .access-material, .access-field label span, .access-hint, .access-privacy {
    color: var(--lms-body);
  }
  .cookie-category, .cookie-information, .access-material { border-color: var(--line); }
  .cookie-category input { accent-color: var(--accent); }
  .access-series span, .access-suggestion { color: var(--accent); }
  .cookie-actions .cookie-customize, .cookie-dialog .cookie-close {
    background: transparent;
    border-color: transparent;
    color: var(--lms-body);
  }
  .cookie-actions .cookie-customize:hover, .cookie-dialog .cookie-close:hover,
  .access-close:hover { color: var(--accent); background: var(--lms-active); }

  @media (max-width: 700px) {
    .hero-portrait { border-radius: 0; }
    .hero-portrait:after {
      background: linear-gradient(180deg, rgba(13,16,20,.08) 0%, rgba(13,16,20,.1) 22%, rgba(13,16,20,.8) 56%, #0d1014 95%);
    }
    .fields textarea { font-size: 16px; }
    .prompt-text, .prompt-box pre { font-size: 14px; }
  }
}

@media screen and (max-width: 380px) {
  .topbar .brand, .topbar .series-brand { font-size: 24px; }
  .topbar .byline { font-size: 12px; }
}
