/* ══════════════════════════════════════════════════════════════
   TOKENS.CSS — AeternumOS designtokens v1 (30.09.2026)
   Lastes FØRST i <head>, før den innebygde <style>-blokken, Google Fonts-lenken og aeternumos.css.
   KILDE TIL SANNHET er frontend/tokens.json — denne filen er et speil av json-en i CSS-variabelform.
   Endre verdi ett sted: oppdater BEGGE filer (frontend/modules/tokens.test.js sjekker at de er like).
   Midlertidig: når eierens handoff-pakke (design-tokens.json fra AETERNUMOS Brand & Product Design
   System v1.0) foreligger, blir DEN kilde til sannhet og disse to filene genereres/oppdateres derfra.
   Fargene er de endelige HEX-verdiene fra brand-guiden. Avledede farger (tekst/kant/status) er beregnet
   av oss for WCAG 2.2 AA (≥ 4,5:1 for tekst mot sin bakgrunn) — se kontrastnoter og beregningsfunksjon
   i frontend/modules/tokens.test.js (samme WCAG-formel brukes i testen, ikke bare påstått her):

     Lys modus, tekst/bakgrunn:
       suksess  : #166534 på #E1F0E6  → 6.05:1
       advarsel : #7A4A00 på #FDF0D5  → 6.63:1
       feil     : #9A2A22 på #FCE8E6  → 6.53:1
       info     : #1F4A63 på #E3EDF1  → 7.96:1
       tekst-sekundær-lys : #5C6B6A på #F5F6F7 (Cloud) → 5.15:1
       tekst-primær-lys   : #12201F på #F5F6F7 (Cloud) → 15.50:1
     Mørk modus, tekst/bakgrunn:
       suksess  : #7FDBA0 på #163524  → 7.99:1
       advarsel : #F6C453 på #3A2E0E  → 8.20:1
       feil     : #F3958F på #3A1A1A  → 7.08:1
       info     : #9AC8DE på #12303D  → 7.71:1
       tekst-sekundær-mørk : #A9B4B1 på #0F1F1E/#16221F → 7.68:1
       tekst-primær-mørk   : #EEF1F0 på #0F1F1E/#16221F → 14.40:1
     Fokusring (ikke-tekst-komponentkontrast, WCAG 1.4.11 krever ≥ 3:1, ikke 4,5:1):
       #688CA3 (Steel Blue) mot hvit → 3.58:1 — derfor brukes Steel Blue KUN til fokusring/diagrammer,
       aldri som brødtekst (mot hvit gir Steel Blue bare 3.58:1, og Stone gir 2.72:1 — begge FAIL for tekst).

   Fonter: Montserrat (display) og Inter (UI) er IKKE lastet ned av oss. @font-face under bruker bare
   local() — brukes når fonten er installert på enheten, ellers faller font-family-stacken tilbake til
   nettleserens systemfont. index.html har i tillegg en Google Fonts-lenke (lastes etter denne filen)
   som gir nettbasert Montserrat/Inter når fonten ikke er installert lokalt og enheten er på nett — den
   forblir uendret her. Selvhosting (woff2 i frontend/assets/fonter/) kommer når eieren legger filene i
   handoff-pakken; da legges en src: url(...) her, og Google Fonts-lenken kan fjernes av hovedagenten.
   ══════════════════════════════════════════════════════════════ */

@font-face { font-family: 'Montserrat'; font-weight: 500; font-style: normal; font-display: swap; src: local('Montserrat Medium'), local('Montserrat-Medium'), local('Montserrat'); }
@font-face { font-family: 'Montserrat'; font-weight: 600; font-style: normal; font-display: swap; src: local('Montserrat SemiBold'), local('Montserrat-SemiBold'), local('Montserrat Semibold'); }
@font-face { font-family: 'Inter'; font-weight: 400; font-style: normal; font-display: swap; src: local('Inter'), local('Inter-Regular'), local('Inter Regular'); }
@font-face { font-family: 'Inter'; font-weight: 500; font-style: normal; font-display: swap; src: local('Inter Medium'), local('Inter-Medium'); }
@font-face { font-family: 'Inter'; font-weight: 600; font-style: normal; font-display: swap; src: local('Inter SemiBold'), local('Inter-SemiBold'), local('Inter Semibold'); }

:root {
    /* Merkevarepalett — endelige HEX (AETERNUMOS Brand & Product Design System v1.0) */
    --aos-farge-deep-nordic: #0F1F1E;        /* brand, navigasjon, primærhandlinger */
    --aos-farge-slate-green: #3B4F4A;        /* sekundære flater */
    --aos-farge-stone: #A99B86;              /* premium aksent — ikke som tekst (2.72:1 mot hvit) */
    --aos-farge-sand: #D8D1C4;               /* varm nøytral */
    --aos-farge-cloud: #F5F6F7;              /* bakgrunn */
    --aos-farge-steel-blue: #688CA3;         /* data/diagram/fokus — ikke som brødtekst (3.58:1 mot hvit) */
    --aos-farge-data-1: #2F78B0;             /* diagram, én dataserie (Steel Blue-tone med nok metning; validert: lyshet, metning ≥ 0,1, ≥ 3:1 mot flate) */
    --aos-farge-data-1-mork: #3A86C8;        /* samme rolle mot mørk flate (body.dark), validert mot mørk flate */
    --aos-farge-deep-nordic-hover: #1B2F2D;  /* avledet: hover-tilstand på primærhandling */

    /* Tekst — navngitt etter FLATEN den vises mot, ≥ 4,5:1 (WCAG 2.2 AA, normal tekst) */
    --aos-farge-tekst-primaer-lys: #12201F;    /* mot Cloud/hvit: 15.50:1 */
    --aos-farge-tekst-sekundaer-lys: #5C6B6A;  /* mot Cloud/hvit: 5.15:1 */
    --aos-farge-tekst-primaer-mork: #EEF1F0;   /* mot Deep Nordic/mørk flate: 14.40:1 */
    --aos-farge-tekst-sekundaer-mork: #A9B4B1; /* mot Deep Nordic/mørk flate: 7.68:1 */

    /* Kantlinje og fokus */
    --aos-farge-kant: #E3E6E8;
    --aos-farge-kant-mork: #2C3C39;
    --aos-fokus: 2px solid var(--aos-farge-steel-blue); /* synlig tastaturfokus, ikke-tekst-kontrast 3.58:1 (krav 3:1) */

    /* Status — ALLTID farge + tekst/ikon i bruk, aldri farge alene. Par under er testet ≥ 4,5:1 */
    --aos-farge-suksess-bg: #E1F0E6;   --aos-farge-suksess-tekst: #166534;  /* 6.05:1 */
    --aos-farge-advarsel-bg: #FDF0D5;  --aos-farge-advarsel-tekst: #7A4A00; /* 6.63:1 */
    --aos-farge-feil-bg: #FCE8E6;      --aos-farge-feil-tekst: #9A2A22;     /* 6.53:1 */
    --aos-farge-info-bg: #E3EDF1;      --aos-farge-info-tekst: #1F4A63;    /* 7.96:1 */

    /* Designpass 1 (14.10.2026): status-kant (ikke-tekst ≥ 3:1, meter/søyler/chips) og mørke statuspar som CSS-tokens
       (aeternumos.css kobler dem inn under body.dark). Kategoriskala for diagrammer: data-1…6 i fast rekkefølge, aldri sykliske,
       validert med dataviz-validatoren (lyshet, metning ≥ 0,1, CVD/normalsyn mellom naboer, ≥ 3:1 mot flate) i lys (#FFFFFF) og mørk (#16221F).
       Kategorifarger bærer identitet – tekst skrives alltid i teksttoken, og søyler har direkte etiketter. */
    --aos-farge-suksess-kant: #2E8B57; /* status, ikke-tekst (meter/søyle/kant), ≥ 3:1 mot hvit */
    --aos-farge-advarsel-kant: #B0700F; /* status, ikke-tekst, ≥ 3:1 mot hvit */
    --aos-farge-feil-kant: #C8453B; /* status, ikke-tekst, ≥ 3:1 mot hvit */
    --aos-farge-info-kant: #3B7EA1; /* status, ikke-tekst, ≥ 3:1 mot hvit */
    --aos-farge-suksess-bg-mork: #163524;
    --aos-farge-suksess-tekst-mork: #7FDBA0;
    --aos-farge-suksess-kant-mork: #4CC27A;
    --aos-farge-advarsel-bg-mork: #3A2E0E;
    --aos-farge-advarsel-tekst-mork: #F6C453;
    --aos-farge-advarsel-kant-mork: #E0A93A;
    --aos-farge-feil-bg-mork: #3A1A1A;
    --aos-farge-feil-tekst-mork: #F3958F;
    --aos-farge-feil-kant-mork: #E8685E;
    --aos-farge-info-bg-mork: #12303D;
    --aos-farge-info-tekst-mork: #9AC8DE;
    --aos-farge-info-kant-mork: #6AAFD0;
    --aos-farge-data-2: #D9622F; /* kategori 2 (oransje) */
    --aos-farge-data-3: #178F64; /* kategori 3 (grønn) */
    --aos-farge-data-4: #B57A00; /* kategori 4 (gul) */
    --aos-farge-data-5: #C94F7C; /* kategori 5 (magenta) */
    --aos-farge-data-6: #5B4BB5; /* kategori 6 (fiolett) */
    --aos-farge-data-2-mork: #E07040;
    --aos-farge-data-3-mork: #22A574;
    --aos-farge-data-4-mork: #B07A06;
    --aos-farge-data-5-mork: #DB6A94;
    --aos-farge-data-6-mork: #9085E9;

    /* Kort: 12 px radius, tynn kant + svak skygge */
    --aos-radius-kort: 12px;
    --aos-skygge-kort: 0 1px 2px rgba(15, 31, 30, 0.06), 0 4px 14px rgba(15, 31, 30, 0.05);

    /* Trykkflate (skjema/knapp), min. 44 px iht. brand-guide */
    --aos-trykkflate-min: 44px;

    /* Typografi: Montserrat display / Inter UI, systemfallback */
    --aos-font-display: 'Montserrat', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --aos-font-ui: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

    /* Typografiskala (px fra brand-guide, midtpunkt i angitt intervall der det er et spenn) */
    --aos-tekst-display: 56px; /* 48–72 Medium */
    --aos-tekst-h1: 40px;      /* 36–48 Medium */
    --aos-tekst-h2: 28px;      /* 24–32 Semibold */
    --aos-tekst-body: 16px;    /* 16–18 Regular */
    --aos-tekst-ui: 14px;      /* 14–16 Regular/Medium — plattformens brødtekst i dag (uendret) */
    --aos-tekst-caption: 12px; /* 12–13 Medium */
}
