/* Azimuth brand tokens — v20.11.87
   Source: Azimuth Brand Guidelines 2026 (claude/brand-system.md carries the same
   values). Every page loads this FIRST; the page's own <style> keeps its layout
   rules and only reads the variables. Exact brand stops are never altered here —
   tints and ramps come from the guide's 50–950 ramps.

   Legacy names (--blue, --blue-soft, --ink, --mut, --line, --bg, --card …) are
   kept on purpose so 6,800 lines of app.html keep working without a rename. */

@font-face { font-family:'Poppins'; font-style:normal; font-weight:400; font-display:swap; src:url('/assets/fonts/poppins-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family:'Poppins'; font-style:normal; font-weight:500; font-display:swap; src:url('/assets/fonts/poppins-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family:'Poppins'; font-style:italic; font-weight:500; font-display:swap; src:url('/assets/fonts/poppins-latin-500-italic.woff2') format('woff2'); }
@font-face { font-family:'Poppins'; font-style:normal; font-weight:600; font-display:swap; src:url('/assets/fonts/poppins-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family:'Poppins'; font-style:normal; font-weight:700; font-display:swap; src:url('/assets/fonts/poppins-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-style:normal; font-weight:400; font-display:swap; src:url('/assets/fonts/inter-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-style:normal; font-weight:500; font-display:swap; src:url('/assets/fonts/inter-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-style:normal; font-weight:600; font-display:swap; src:url('/assets/fonts/inter-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-style:normal; font-weight:800; font-display:swap; src:url('/assets/fonts/inter-latin-800-normal.woff2') format('woff2'); }

:root {
  /* palette — exact brand stops */
  --az-seafoam:#E1EEF1; --az-teal:#9EC3CC; --az-harbor:#123555; --az-deep:#0A1C2A;
  --az-mist:#F7F7F7; --az-gold:#F4C791; --az-copper:#E7A937; --az-bronze:#D9783D; --az-white:#FFFFFF;
  /* ramps used for UI states */
  --az-navy-50:#F0F7F8; --az-navy-200:#BFD8DE; --az-navy-400:#80A5B3; --az-navy-500:#63879B; --az-navy-600:#476B83; --az-navy-700:#2C4F6C; --az-navy-900:#0D2438;
  --az-copper-50:#FCF6EE; --az-copper-200:#EEB869; --az-copper-400:#E0913B; --az-copper-600:#AE6133; --az-copper-700:#864C29;
  --az-grey-100:#EDEFEF; --az-grey-200:#DAE0DF; --az-grey-300:#AFB8BC; --az-grey-400:#85929B; --az-grey-500:#5E6E7A; --az-grey-600:#495865; --az-grey-700:#364451; --az-grey-800:#23303E;
  /* gradients — backgrounds and surfaces only, never text or buttons */
  --az-grad-hero: radial-gradient(120% 90% at 85% -10%, #EFBC7F 0%, #0E2439 35%, #0A1C2A 55%, #0A1C2A 100%);
  --az-grad-navy: linear-gradient(45deg, #123555 0%, #0A1C2A 100%);
  --az-grad-card: linear-gradient(45deg, #EFBC7F 0%, #0E2439 100%);
  --az-grad-accent: linear-gradient(45deg, #E0913B 0%, #E7AA3B 50%, #EEB869 100%);
  --az-grad-light: linear-gradient(45deg, #F0F7F8 0%, #FFFFFF 100%);
  /* type */
  --font-head:'Poppins',-apple-system,'Segoe UI',Roboto,'Helvetica Neue',sans-serif;
  --font-body:'Inter',-apple-system,'Segoe UI',Roboto,'Helvetica Neue',sans-serif;

  /* legacy names the pages already use — light theme */
  --blue:#123555; --blue-deep:#0A1C2A; --blue-soft:#E1EEF1; --soft:#E1EEF1;
  --ink:#0A1C2A; --mut:#495865; --line:#DAE0DF; --bg:#F0F7F8; --card:#FFFFFF; --input-bg:#FFFFFF; --header-bg:#FFFFFF;
  --heading:#2C4F6C; --toolbar-bg:#F7F7F7; --radius:14px;
  --btn-fg:#FFFFFF; --accent:#E7A937; --accent-fg:#0A1C2A;
  --pass-bg:#DDEFE3; --pass-fg:#1E5A34;
  --warn-bg:#FCF6EE; --warn-fg:#864C29;
  --fail-bg:#F9E1E1; --fail-fg:#8E1F1F;
  --info-bg:#E1EEF1; --info-fg:#123555;
  --draft-bg:#EDEFEF; --draft-fg:#495865;
  --found-bg:#F0F7F8; --found-line:#9EC3CC; --found-fg:#2C4F6C;
  --ok-bg:#EEF6F0; --ok-line:#4A9D63; --ok-fg:#1E5A34;
  --notice-bg:#FCF6EE; --notice-line:#EEB869; --notice-fg:#864C29;
  --danger:#8E1F1F; --shadow:rgba(10,28,42,.06); --page-shadow:rgba(10,28,42,.16);
  --err-bg:#F9E1E1; --err-fg:#8E1F1F;
  --page-grad: linear-gradient(45deg,#F0F7F8 0%,#FFFFFF 100%);
}

/* Dark theme = Deep Navy surfaces. Gold and white are the approved type
   colours on Deep Navy; the primary button is Deep Navy on Copper. */
[data-theme="dark"] {
  --blue:#F4C791; --blue-deep:#F4C791; --blue-soft:#17304A; --soft:#17304A;
  --ink:#F0F7F8; --mut:#9EC3CC; --line:#2C4F6C; --bg:#0A1C2A; --card:#0D2438; --input-bg:#0A1C2A; --header-bg:#0A1C2A;
  --heading:#9EC3CC; --toolbar-bg:#0D2438;
  --btn-fg:#0A1C2A; --accent:#E7A937; --accent-fg:#0A1C2A;
  --pass-bg:#13361F; --pass-fg:#8FD8A6;
  --warn-bg:#3B2315; --warn-fg:#F4C791;
  --fail-bg:#3A1717; --fail-fg:#FF9C9C;
  --info-bg:#17304A; --info-fg:#BFD8DE;
  --draft-bg:#1D2A36; --draft-fg:#AFB8BC;
  --found-bg:#0D2438; --found-line:#476B83; --found-fg:#BFD8DE;
  --ok-bg:#12261A; --ok-line:#3F8A57; --ok-fg:#9FD8B3;
  --notice-bg:#3B2315; --notice-line:#AE6133; --notice-fg:#F4C791;
  --danger:#FF9C9C; --shadow:rgba(0,0,0,.35); --page-shadow:rgba(0,0,0,.5);
  --err-bg:#3A1717; --err-fg:#FF9C9C;
  --page-grad: linear-gradient(45deg,#123555 0%,#0A1C2A 100%);
}

/* base type — pages set font size and line height themselves */
body { font-family:var(--font-body); -webkit-font-smoothing:antialiased; }
h1, h2, h3, h4, .az-head { font-family:var(--font-head); font-weight:500; letter-spacing:-.01em; }
button, .btn, .az-btn { font-family:var(--font-head); font-weight:600; }
button { color:var(--btn-fg); }
.az-eyebrow { font-family:var(--font-head); font-weight:700; font-size:11px; letter-spacing:.18em; text-transform:uppercase; }

/* the lockup in a page header: an <img> of the supplied artwork, never text */
.az-lockup { display:inline-flex; align-items:center; line-height:0; }
.az-lockup img { height:34px; width:auto; display:block; }
.az-lockup.small img { height:28px; }
.az-lockup.tiny img { height:22px; }
[data-theme="dark"] .az-lockup img.on-light { display:none; }
.az-lockup img.on-dark { display:none; }
[data-theme="dark"] .az-lockup img.on-dark { display:block; }

/* buttons that appear on every page */
.az-btn { display:inline-block; text-decoration:none; border:0; border-radius:9px; padding:11px 20px; cursor:pointer;
          background:var(--blue); color:var(--btn-fg); font-size:14.5px; line-height:1.3; transition:filter .15s, transform .08s; }
.az-btn:hover { filter:brightness(1.08); }
.az-btn:active { transform:translateY(1px); }
.az-btn.accent { background:var(--accent); color:var(--accent-fg); }
.az-btn.ghost { background:transparent; color:var(--blue); border:1.5px solid var(--blue); }
.az-btn.ondark { background:var(--az-copper); color:var(--az-deep); }
.az-btn.ondark.ghost { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.55); }

/* brand elements — always cropped off the frame edge, behind content, 10–50% */
.az-topo { position:absolute; pointer-events:none; opacity:.22; }
.az-topo img { display:block; width:100%; height:auto; }
