/* Husets utseende i én fil (tema_spec.md): skriftene, fargene og formen
   for appen, veggskjermen, de frittstående sidene og e-posten. Fila
   inneholder bare variabler og @font-face, aldri regler for elementer,
   så den kan lenkes fra alle sider uten å endre noe annet enn verdiene.
   Bytt verdiene her; test_kodelint stopper en farge som står andre steder.
   Verdiene følger OmniMTR-designsystemet (tokens.json). */

/* Instrument Sans er husets eneste skrift (500 brødtekst, 600 tagline, 700
   titler og ordmerke). Tall er samme skrift med tabulære sifre (tnum), så
   --font-mono peker på den: kolonner står rett uten en egen monospace.
   Selvhostet: CSP er font-src 'self'. Filene dekker latin og latin-ext (æ ø å). */
@font-face { font-family: "Instrument Sans"; font-weight: 500; font-display: swap;
  src: url("/static/brand/instrument-sans-500.woff2") format("woff2"); }
@font-face { font-family: "Instrument Sans"; font-weight: 600; font-display: swap;
  src: url("/static/brand/instrument-sans-600.woff2") format("woff2"); }
@font-face { font-family: "Instrument Sans"; font-weight: 700; font-display: swap;
  src: url("/static/brand/instrument-sans-700.woff2") format("woff2"); }

:root {
  --font-ui: "Instrument Sans", -apple-system, system-ui, "Segoe UI", Roboto, sans-serif;
  /* Ordmerke og tagline settes i samme skrift som appen (700 og 600). */
  --font-merke: "Instrument Sans", -apple-system, system-ui, "Segoe UI", Roboto, sans-serif;
  --font-mono: "Instrument Sans", -apple-system, system-ui, "Segoe UI", Roboto, sans-serif;
  --radius: 12px;

  /* Flater og tekst: hvite kort med hårstrek på en nesten hvit grunn. */
  --bg: #f6f8f7;
  --card: #ffffff;
  --text: #12201b;
  --muted: #55685e;
  --border: #d8dfdb;
  /* --accent: ramme, ikonstrek, fremdrift, prikk (den lyse grønnen fra merket).
     --accent-dark: lenker og «MTR». --accent-fyll/--paa-accent: fylt flate og blekket på den. */
  --accent: #1d9e75;
  --accent-dark: #0f6e56;
  --accent-soft: #e2f3ec;
  --accent-mid: #9fcdbb;
  --accent-fyll: #0f6e56;
  --paa-accent: #ffffff;
  --accent-tekst: #0f6e56;
  /* Status. --warn er FYLL (merker og stolper) med mørkt blekk --paa-warn; samme gule i
     begge temaer, 3,3:1 mot hvitt og 5,1:1 under blekket. --warn-text er tekst på kortet og
     på --warn-soft; gulbrun, ikke rustbrun, så et tall i advarsel ikke leses som feil.
     --warn-tall er de store tallene i flisene (fete, minst 19 px: stor tekst, der 3:1 holder),
     samme gule som fyllet, så advarsel leses som gult og ikke brunt på hvitt. */
  --warn: #b8832a;
  --paa-warn: #12201b;
  --warn-soft: #fbf1e0;
  --warn-text: #7a6300;
  --warn-tall: #b8832a;
  --warn-line: rgba(184,131,42,.35);
  --danger: #b3261e;
  --danger-soft: #fbeae8;
  --danger-tekst: #b3261e;
  /* Reserverte farger, én mening hver, dempet så de merker uten å rope:
     lilla = AI, stålblå = låst/kontrollert, cyan = forslag fra tallene (deterministisk,
     aldri AI), blå = org-modus. Forslag ligger ett hakk mot blått fra --accent, så plan (grønn) og
     forslag (cyan) skilles også uten den stiplede kanten. */
  --ai: #6f5bb5;
  --ai-soft: #efecf7;
  --ai-text: #55428f;
  --paa-ai: #ffffff;
  --laas: #4a6590;
  --laas-soft: #eaeff6;
  --laas-line: #c5d0e0;
  --forslag: #1d8a9a;
  --forslag-soft: #e0f3f5;
  --forslag-line: #a9dde3;
  --forslag-tekst: #0f6670;
  --modus: #3a6fc4;
  --modus-soft: #e8eef8;
  --modus-mid: #b3c6e6;
  --modus-tekst: #27508f;
  --modus-fyll: #2f5fb0;
  --paa-modus: #ffffff;
  /* Risikoskalaen i IK-mat: et nivå, ikke en status. */
  --r1: #d6e8dd;
  --r1t: #215c3c;
  --r2: #f3e6c4;
  --r2t: #6f4f0c;
  --r3: #f1d6c0;
  --r3t: #7d3f14;
  --r4: #ecc2bb;
  --r4t: #842a1e;
  /* Merket: søylene og «Omni» i --merke-ink, den høyeste søyla og prikkene i taglinen
     i --merke-tap, taglinen i --merke-tag. Eget par, så merket ikke følger --accent. */
  --merke-ink: #12201b;
  --merke-tag: #55685e;
  --merke-tap: #1d9e75;
  /* Bryterkula mot et spor som går fra --border til --text. */
  --bryter-kule: #ffffff;
  --bryter-kule-pa: #ffffff;
  /* Kort har ramme, ikke skygge: en usynlig skygge, aldri none (ramma rundt et
     ulagret kort legges foran den i samme liste). */
  --shadow: 0 0 #0000;
  --krom: #ffffff;
  --epost-brodtekst: #3f4c46;
  --epost-strek: #d8dfdb;
  /* Designsystemets tokennavn, samme verdier, for ny kode. */
  --surface-000: #f6f8f7;
  --surface-100: #ffffff;
  --surface-200: #eef2f0;
  --surface-300: #e1e8e4;
  --ink: #12201b;
  --ink-muted: #55685e;
  --ink-faint: #66776e;
  --line: #d8dfdb;
  --line-strong: #78897f;
  --brand: #0f6e56;
  --brand-hover: #0b5a46;
  --brand-soft: #e2f3ec;
  --on-brand: #ffffff;
  --tap: #1d9e75;
  --tap-text: #13775a;
  --tap-soft: #dcf4ea;
  --success: #1b7a3f;
  --success-soft: #e0f4e4;
  --focus: #0f6e56;
  --chart-1: #0f6e56;
  --chart-2: #0f7f93;
  --chart-3: #c2601a;
  --chart-grid: #e1e8e4;
}
/* Farger for fargeblinde, lys (tema_spec.md § 8): Profil-bryteren setter
   data-farger="fargeblind" på <html>. Verdiene er designsystemets
   (tema-fargeblind.css), med lysheten på de tre statusfyllene justert så de
   også skilles i gråtoner: i orden er grønn, advarsel er olivengull og
   lysest, feil er magenta og mørkest. Feil går ut av rød-grønn-aksen, og de
   reserverte fargene og risikoskalaen skilles på lyshet. test_fargeblind.py
   måler dem. Blokka står foran mørkeblokkene med vilje: samme
   spesifisitet, så mørk vinner i mørk modus. */
:root[data-farger="fargeblind"] {
  --accent: #198663;
  --warn: #c49d1d;
  --warn-soft: #faf2d6;
  --warn-text: #7a6300;
  --warn-tall: #7a6300;
  --warn-line: rgba(196,157,29,.35);
  --danger: #8e1079;
  --danger-soft: #fbe4f5;
  --danger-tekst: #8e1079;
  --ai: #3f2f9c;
  --ai-soft: #ecebf8;
  --ai-text: #3f2f9c;
  --laas: #2b3a57;
  --laas-soft: #e9ecf3;
  --laas-line: #c4cad9;
  --forslag: #0f5f6b;
  --forslag-soft: #dff0f3;
  --forslag-line: #a8d4db;
  --forslag-tekst: #0b4a54;
  --modus: #2a7fd4;
  --modus-soft: #e6eefb;
  --modus-mid: #a9c6ee;
  --modus-tekst: #1f5fa8;
  --modus-fyll: #2466b8;
  --r1: #eef2f6;
  --r1t: #2d4057;
  --r2: #bccbdb;
  --r2t: #1a2a40;
  --r3: #7d94b0;
  --r3t: #0b1627;
  --r4: #3f5878;
  --r4t: #ffffff;
  --chart-2: #2a7fd4;
  --chart-3: #b08d1a;
}
/* Mørketokenene står to steder med vilje: mediaspørringen bærer
   OS-valget, som er standarden, og `[data-tema="mork"]` bærer det
   uttrykte valget fra veksleren (og veggskjermen, som er mørk med mindre
   den er satt lys). Blokkene skal være IDENTISKE; test_kodelint
   sammenligner dem. */
@media (prefers-color-scheme: dark) {
  :root:not([data-tema="lys"]) {
    /* Mørk: den lyse grønnen ER fyllet og blekket på den er husets mørkeste flate. */
    --bg: #0f1613;
    --card: #151e1a;
    --text: #e6eeea;
    --muted: #9fb3a9;
    --border: #28352e;
    --accent: #2fc08f;
    --accent-dark: #4fd3a4;
    --accent-soft: #123b2e;
    --accent-mid: #3f8f74;
    --warn: #b8832a;
    --warn-soft: #3a2a10;
    --warn-text: #f0b25c;
    --warn-tall: #f0b25c;
    --paa-warn: #12201b;
    --warn-line: rgba(184,131,42,.35);
    --danger: #c4453c;
    --danger-soft: #3d1715;
    --danger-tekst: #ff8d85;
    --accent-fyll: #4fd3a4;
    --paa-accent: #06201a;
    --paa-ai: #0f1613;
    --accent-tekst: #4fd3a4;
    --ai: #a394e0;
    --ai-soft: #2a2540;
    --ai-text: #c7bbf0;
    --laas: #8ea9d8;
    --laas-soft: rgba(142,169,216,.14);
    --laas-line: #3d4a63;
    --forslag: #5cc4d0;
    --forslag-soft: #123a40;
    --forslag-line: #245c64;
    --forslag-tekst: #9fe0e8;
    --modus: #6ea0f0;
    --modus-soft: #1c2a45;
    --modus-mid: #34507f;
    --modus-tekst: #a9c6f5;
    --modus-fyll: #5b8fe6;
    --paa-modus: #0f1613;
    --r1: #1f3d2c;
    --r1t: #8fd6ac;
    --r2: #3d3115;
    --r2t: #e0b25e;
    --r3: #452a17;
    --r3t: #e5a173;
    --r4: #45201a;
    --r4t: #e59182;
    --merke-ink: #ffffff;
    --merke-tag: #9fb3a9;
    --merke-tap: #2fc08f;
    --bryter-kule: #e6eeea;
    --bryter-kule-pa: #151e1a;
    --shadow: 0 0 #0000;
    --krom: #0f1613;
    /* Designsystemets tokennavn, mørke verdier. */
    --surface-000: #0f1613;
    --surface-100: #151e1a;
    --surface-200: #1c2721;
    --surface-300: #26332c;
    --ink: #e6eeea;
    --ink-muted: #9fb3a9;
    --ink-faint: #8a9c93;
    --line: #28352e;
    --line-strong: #5b6e64;
    --brand: #4fd3a4;
    --brand-hover: #72dfb8;
    --brand-soft: #123b2e;
    --on-brand: #06201a;
    --tap: #2fc08f;
    --tap-text: #5fd9b0;
    --tap-soft: #0f3a2c;
    --success: #6fd38c;
    --success-soft: #133320;
    --focus: #72dfb8;
    --chart-1: #4fd3a4;
    --chart-2: #4fc3d6;
    --chart-3: #f2a35e;
    --chart-grid: #26332c;
  }
}
:root[data-tema="mork"], :root.visning:not([data-tema="lys"]) {
  /* Mørk: den lyse grønnen ER fyllet og blekket på den er husets mørkeste flate. */
  --bg: #0f1613;
  --card: #151e1a;
  --text: #e6eeea;
  --muted: #9fb3a9;
  --border: #28352e;
  --accent: #2fc08f;
  --accent-dark: #4fd3a4;
  --accent-soft: #123b2e;
  --accent-mid: #3f8f74;
  --warn: #b8832a;
  --warn-soft: #3a2a10;
  --warn-text: #f0b25c;
  --warn-tall: #f0b25c;
  --paa-warn: #12201b;
  --warn-line: rgba(184,131,42,.35);
  --danger: #c4453c;
  --danger-soft: #3d1715;
  --danger-tekst: #ff8d85;
  --accent-fyll: #4fd3a4;
  --paa-accent: #06201a;
  --paa-ai: #0f1613;
  --accent-tekst: #4fd3a4;
  --ai: #a394e0;
  --ai-soft: #2a2540;
  --ai-text: #c7bbf0;
  --laas: #8ea9d8;
  --laas-soft: rgba(142,169,216,.14);
  --laas-line: #3d4a63;
  --forslag: #5cc4d0;
  --forslag-soft: #123a40;
  --forslag-line: #245c64;
  --forslag-tekst: #9fe0e8;
  --modus: #6ea0f0;
  --modus-soft: #1c2a45;
  --modus-mid: #34507f;
  --modus-tekst: #a9c6f5;
  --modus-fyll: #5b8fe6;
  --paa-modus: #0f1613;
  --r1: #1f3d2c;
  --r1t: #8fd6ac;
  --r2: #3d3115;
  --r2t: #e0b25e;
  --r3: #452a17;
  --r3t: #e5a173;
  --r4: #45201a;
  --r4t: #e59182;
  --merke-ink: #ffffff;
  --merke-tag: #9fb3a9;
  --merke-tap: #2fc08f;
  --bryter-kule: #e6eeea;
  --bryter-kule-pa: #151e1a;
  --shadow: 0 0 #0000;
  --krom: #0f1613;
  /* Designsystemets tokennavn, mørke verdier. */
  --surface-000: #0f1613;
  --surface-100: #151e1a;
  --surface-200: #1c2721;
  --surface-300: #26332c;
  --ink: #e6eeea;
  --ink-muted: #9fb3a9;
  --ink-faint: #8a9c93;
  --line: #28352e;
  --line-strong: #5b6e64;
  --brand: #4fd3a4;
  --brand-hover: #72dfb8;
  --brand-soft: #123b2e;
  --on-brand: #06201a;
  --tap: #2fc08f;
  --tap-text: #5fd9b0;
  --tap-soft: #0f3a2c;
  --success: #6fd38c;
  --success-soft: #133320;
  --focus: #72dfb8;
  --chart-1: #4fd3a4;
  --chart-2: #4fc3d6;
  --chart-3: #f2a35e;
  --chart-grid: #26332c;
}
/* Farger for fargeblinde, mørk: i orden er lys mint og lysest, advarsel er
   olivengull, feil er magenta og mørkest. To blokker som mørk over, og de
   skal være IDENTISKE (test_kodelint). Velgeren har ett ledd mer enn
   mørkeblokkene, så den vinner over dem uansett rekkefølge. */
@media (prefers-color-scheme: dark) {
  :root[data-farger="fargeblind"]:not([data-tema="lys"]) {
    --accent: #6cdbb5;
    --warn: #b28e1a;
    --warn-soft: #3a3210;
    --warn-text: #e3c84a;
    --warn-tall: #e3c84a;
    --warn-line: rgba(178,142,26,.35);
    --danger: #ba279b;
    --danger-soft: #3d1434;
    --danger-tekst: #ff7ae6;
    --ai: #d4c6ff;
    --ai-soft: #2a2447;
    --ai-text: #dccfff;
    --laas: #8d9bbd;
    --laas-soft: rgba(141,155,189,.14);
    --laas-line: #434a66;
    --forslag: #9fe0ea;
    --forslag-soft: #0f3338;
    --forslag-line: #245a61;
    --forslag-tekst: #c3eef4;
    --modus: #6aa6f0;
    --modus-soft: #1a2a45;
    --modus-mid: #2f4f80;
    --modus-tekst: #a9c9f5;
    --r1: #1f2b3a;
    --r1t: #c9d6e3;
    --r2: #34485e;
    --r2t: #e3ebf3;
    --r3: #5a7698;
    --r3t: #ffffff;
    --r4: #93adcf;
    --r4t: #0f1613;
    --chart-2: #6aa6f0;
    --chart-3: #e3c84a;
  }
}
:root[data-farger="fargeblind"][data-tema="mork"] {
  --accent: #6cdbb5;
  --warn: #b28e1a;
  --warn-soft: #3a3210;
  --warn-text: #e3c84a;
  --warn-tall: #e3c84a;
  --warn-line: rgba(178,142,26,.35);
  --danger: #ba279b;
  --danger-soft: #3d1434;
  --danger-tekst: #ff7ae6;
  --ai: #d4c6ff;
  --ai-soft: #2a2447;
  --ai-text: #dccfff;
  --laas: #8d9bbd;
  --laas-soft: rgba(141,155,189,.14);
  --laas-line: #434a66;
  --forslag: #9fe0ea;
  --forslag-soft: #0f3338;
  --forslag-line: #245a61;
  --forslag-tekst: #c3eef4;
  --modus: #6aa6f0;
  --modus-soft: #1a2a45;
  --modus-mid: #2f4f80;
  --modus-tekst: #a9c9f5;
  --r1: #1f2b3a;
  --r1t: #c9d6e3;
  --r2: #34485e;
  --r2t: #e3ebf3;
  --r3: #5a7698;
  --r3t: #ffffff;
  --r4: #93adcf;
  --r4t: #0f1613;
  --chart-2: #6aa6f0;
  --chart-3: #e3c84a;
}

/* Veggskjermen (visning_base.html, <html class="visning">): samme palett
   som appen, pluss kioskens egne flater (--v-*) og to avvik. Rødt er
   lysere i mørk, fordi flata er et nettbrett på avstand, og kortene har
   ingen skygge. --v-* finnes BARE her. */
:root.visning:not([data-tema="lys"]) {
  --danger: #c94a40;
  --shadow: none;
  --v-bg: #0f1613;
  --v-topp-bg: #0f1613;
  --v-topp-line: #28352e;
  --v-text: #e6eeea;
  --v-muted: #9fb3a9;
  --v-faint: #8a9c93;
  --v-panel: #151e1a;
  --v-line: #5b6e64;
  --v-line-soft: #28352e;
  --v-boks: #5b6e64;
  --v-accent-tekst: #4fd3a4;
  --v-accent-soft: rgba(47,192,143,.16);
  --v-overlegg: rgba(15,22,19,.97);
  --v-blaa-soft: #1f2a3c;
  --v-blaa-tekst: #8ea9d8;
  --v-paa-accent: #06201a;
  --v-press: rgba(255,255,255,.06);
  --krom: #0f1613;
}
:root.visning[data-tema="lys"] {
  --shadow: none;
  --v-bg: #f6f8f7;
  --v-topp-bg: #ffffff;
  --v-topp-line: #d8dfdb;
  --v-text: #12201b;
  --v-muted: #55685e;
  --v-faint: #66776e;
  --v-panel: #ffffff;
  --v-line: #78897f;
  --v-line-soft: #d8dfdb;
  --v-boks: #78897f;
  --v-accent-tekst: #0f6e56;
  --v-accent-soft: rgba(29,158,117,.12);
  --v-overlegg: rgba(246,248,247,.98);
  --v-blaa-soft: #eaeff6;
  --v-blaa-tekst: #4a6590;
  --v-paa-accent: #ffffff;
  --v-press: rgba(0,0,0,.05);
  --krom: #ffffff;
}
