/* ============================================================
 * core.css — generated by tools/tokenize.py from `allin`
 *
 * BRAND-NEUTRAL. Contains no client colours, names or URLs, and
 * must stay byte-identical across every client site. Colour lives
 * in that client's css/brand.css, which defines the tokens below.
 *
 * Do not add a client-specific rule here. If one client needs an
 * override it goes in their repo's css/client.css, which loads
 * after this file.
 * ============================================================ */

:root {
  /* State colours — fixed, shared, deliberately NOT brand.
     A gauge must not render brand colour at a passing score. */
  --state-ok:        #1F8A4C;
  --state-ok-deep:   #17703C;
  --state-warn:      #E8A33D;
  --state-bad:       #C0392B;
  --state-ok-tint:   #E8F5E9;
  --state-warn-tint: #FFF3E0;
  --state-info-tint: #E3F2FD;
}

@media print {
  .top-bar,
  header,
  .hero,
  .page-banner,
  .briefing-section,
  .fhs-section,
  .cta-section,
  .local-section,
  footer,
  .disclaimer-bar,
  .nav-toggle,
  .guide-dl { display: none !important; }

  body {
    font-size: 12pt;
    color: #000;
    background: white;
    font-family: Georgia, serif;
  }

  .container { max-width: 100%; padding: 0; }

  h1, h2, h3, h4 {
    font-family: Georgia, serif;
    color: #000;
    page-break-after: avoid;
  }

  .guide-card {
    page-break-inside: avoid;
    border: 1px solid #ccc;
    margin-bottom: 24pt;
  }

  .guide-card h3 { font-size: 14pt; margin-bottom: 6pt; }
  .guide-card p  { font-size: 11pt; margin-bottom: 10pt; }

  .guide-preview div { font-size: 10pt; margin-bottom: 4pt; }

  .guides-grid { display: block; }

  a { color: #000; text-decoration: none; }
  a[href]::after { content: " (" attr(href) ")"; font-size: 9pt; color: #555; }
  a[href^="#"]::after,
  a[href^="javascript"]::after { content: ""; }
}
