/* ===================================================================
   AIROS Technologies - brand tokens. SINGLE SOURCE OF TRUTH.
   Every page links this BEFORE its own <style>. Change a value here
   and it changes everywhere. Never hard-code brand colour, type or
   spacing in page CSS - always reference these variables.
   Pair with /assets/fonts/inter.css (self-hosted Inter variable).
   =================================================================== */

:root{
  /* --- Brand palette (from the AIROS Technologies brand sheet) --- */
  --airos-navy:#394B74;        /* RGB 57 75 116   CMYK 79 65 27 11 */
  --champagne-gold:#C9B89B;    /* RGB 201 184 155 CMYK 20 24 39 2  */
  --warm-white:#F8F7F4;        /* RGB 248 247 244 CMYK 2 2 3 0     */
  --light-grey:#E7E8EA;        /* RGB 231 232 234 CMYK 9 6 6 0     */
  --graphite:#1C1C20;          /* RGB 28 28 32    CMYK 74 67 61 73 */

  /* --- Applied surfaces (dark theme = default) --- */
  --bg:#101a2e;
  --bg-raised:#16233c;
  --bg-panel:#1e2c49;
  --line:rgba(220,224,235,0.12);
  --line-strong:rgba(220,224,235,0.22);

  /* --- Text --- */
  --ink:#f8f7f4;
  --muted:#aab3c6;
  --dim:#98a1b4;               /* navy-300. AA on all dark surfaces: 6.69/6.04/5.35/7.02
                                  Was #7a8499 until 2026-07-30 - that FAILED AA as text on
                                  --bg-raised (4.17:1) and --bg-panel (3.70:1). Do not revert:
                                  audit tokens against the surfaces they are used on, not just
                                  the page ground. Light scope has the same fix below. */
  --accent:#c9b89b;

  /* --- Type --- */
  --f:'Inter','Helvetica Neue',Arial,sans-serif;
  --f-mono:ui-monospace,'SF Mono',Menlo,monospace;
  --step-label:11px;
  --step-sm:13px;
  --step-body:15px;
  --step-lead:19px;
  --step-h3:24px;
  --step-h2:clamp(26px,3vw,34px);
  --step-h1:clamp(32px,4.4vw,52px);
  --step-display:clamp(40px,6vw,76px);
  --track-label:0.2em;
  --track-tight:-0.02em;
  --leading-tight:1.15;
  --leading-body:1.6;

  /* --- Spacing scale --- */
  --s1:6px;  --s2:10px; --s3:16px; --s4:24px;
  --s5:36px; --s6:56px; --s7:80px;

  /* --- Radius --- */
  --r-sm:6px; --r-md:10px; --r-lg:14px;

  /* --- Elevation --- */
  --shadow-1:0 1px 2px rgba(6,10,20,.30);
  --shadow-2:0 10px 30px rgba(6,10,20,.45);

  /* --- Ground: flat navy with a soft satin sheen. No texture. --- */
  --satin:radial-gradient(ellipse 130% 80% at 50% -8%, rgba(57,75,116,0.32) 0%, rgba(57,75,116,0) 62%),
          linear-gradient(180deg, #16233c 0%, #101a2e 54%, #0d1526 100%);
  --satin-light:linear-gradient(180deg, #ffffff 0%, #f8f7f4 60%, #f2f1ec 100%);

  /* --- Layout --- */
  --measure:72ch;
  --wrap-max:1500px;
}

/* Light surfaces (utility pages such as lab-model) */
.theme-light{
  --bg:#f8f7f4;
  --bg-raised:#ffffff;
  --bg-panel:#e7e8ea;
  --ink:#1c1c20;
  --muted:#5c6577;
  --dim:#5f6879;               /* AA on light: 5.24:1 on warm white, 5.50:1 on white */
  --accent:#394b74;
  --line:rgba(28,28,32,0.12);
  --line-strong:rgba(28,28,32,0.22);
}

html{font-optical-sizing:auto;}