/* Hverdagsverktøy — theme overrides for site-shell.css.
   Themes mirror the live site (hverdagsverktoy.com) and are applied via
   `data-theme="…"` on <html>. Default = "carbon".
   Site-shell variables: --bg --surface --surface-2 --surface-3
   --ink --ink2 --ink3 --ink4 --accent --accent-2 --accent-deep
   --line --line-2 --line-warm --pos --neg
   ────────────────────────────────────────────────────────── */


/* --ink3 / --ink4 — de to stille blekktrinnene, målt mot flatene de brukes på
   ────────────────────────────────────────────────────────────────────────
   Begge falt like under AA på nesten alle temaer: ikke dramatisk, men jevnt.
   Verst-verdi mot --bg / --surface / --surface-2, gammel -> ny:

     carbon  ink4 4,28 -> 4,58   (ink3 bestod alt, urørt)
     dark    ink3 4,19 -> 4,54 · ink4 4,03 -> 4,55
     nordlys ink3 4,39 -> 4,56 · ink4 4,20 -> 4,55
     bw      ink3 4,41 -> 4,86 · ink4 4,29 -> 4,59
     disco   ink3 4,32 -> 4,59 · ink4 4,22 -> 4,55
     frost   ink3 4,42 -> 4,55 · ink4 4,09 -> 4,59
     glass   ink4 4,12 -> 4,57   (ink3 bestod alt, urørt)
     pink    ink3 4,49 -> 4,55 · ink4 4,22 -> 4,57
     hendrix bestod begge (7,82 / 7,06) — urørt

   Fargetone og metning er uendret overalt; bare lysheten er flyttet til
   terskelen. To temaer fikk et ekstra dytt for å unngå at trinnene kollapset
   i hverandre: bw og nordlys landet på nesten samme verdi for ink3 og ink4 når
   begge ble regnet mot samme gulv, og et trinn som ikke er synlig er et
   bortkastet trinn (samme feil carbon-ombyggingen rettet).

   ⚠️ --surface-3 er BEVISST ikke med i regnestykket. Tas den med, må trinnene
   løftes så mye at ink3 og ink4 møtes i alle temaer — og et sveip over ekte
   sider viser at de to tokenene knapt brukes på den flata. Måler du på nytt,
   mål mot sidene, ikke mot palettens ytterpunkt. */
/* Dark group ────────────────────────────────────────────── */

/* Carbon — «bek og messing». Hele stigen er bygget i OKLCH med LÅST fargetone
   64° (= aksentens egen tone) og jevne lyshetstrinn. Bakgrunnen for ombyggingen
   (målt 2026-08-13, ikke skjønn):

   · TONEDRIFT. De gamle nøytralene lå på 68°→98°→85°→95°→83°→87°. Et sprang på
     30° betyr at surface-2 var olivengul mens bakgrunnen var ravbrun, og
     aksenten sto på 64°. Ingen enkeltverdi var stygg; det var uenigheten mellom
     dem som gjorde at temaet leste som «gråbrunt», ikke som ett lys i ett rom.
   · FLAT ETASJESTIGE. Lyshetstrinnene var .041 / .026 / .028. GitHub dark,
     Stripe dark og Linear dark ligger alle på ~.033-.058 per trinn. De to øverste
     trinnene våre var altså halvparten av bransjenormen — kort avstand er ikke
     «diskré», det er usynlig: et .ks-kort hadde 1,05 i kontrast mot siden bak
     seg, og på toppen av siden var --atmo-base-top (#0F0D0A) faktisk LYSERE enn
     --surface (#0f0e0d), så kortet forsvant helt. Nå: .068 / .042 / .046.
   · KOLLAPSET BLEKKRINN. --ink3 (#807c73) og --ink4 (#7f7a6f) lå .006 fra
     hverandre — samme farge for øyet, altså et bortkastet trinn i stigen.
     Nå .056 / .058 fra hverandre, og alle fire består WCAG AA på --bg,
     --surface og --surface-2.
   · KROMA GIKK FEIL VEI. --surface hadde LAVERE kroma (.003) enn --bg (.004),
     så kortet var kaldere enn siden det lå på. Varme flater blir varmere når de
     løftes mot lyset, ikke gråere. Kroma stiger nå monotont med lysheten.

   --glow-rgb eies ellers av colors_and_type.css, som har en helt annen palett
   for de samme temanavnene. Den fila har lavere spesifisitet (0,1,0) enn denne
   (0,1,1), men vinner likevel når tokenet ikke finnes her — og bw fikk dermed en
   nesten svart fokusring (26,26,26) på svart bakgrunn. Verdien følger temaets
   eget --accent. */
html[data-theme="carbon"]{
  /* Flater — OKLCH L .118 / .186 / .216 / .262, kroma .006→.014, tone 64° */
  --bg:#070504; --surface:#16120e; --surface-2:#1e1914; --surface-3:#29231e;
  /* Blekk — L .940 / .706 / .648 / .592. Kontrast på --bg: 17,1 / 7,8 / 6,2 / 5,0 */
  --ink:#edebe7; --ink2:#a59f98; --ink3:#948d86; --ink4:#888279;
  /* Messing — samme tone som nøytralene, men kroma .096 i stedet for .006.
     Den gamle aksenten lå på .082 og leste som støvet beige; .096 er fortsatt
     langt under et rent gull (~.13), så den gløder uten å bli oransje. */
  --accent:#c58e5a; --accent-2:#e3af7e; --accent-deep:#976a35;
  --glow-rgb:197, 142, 90;
  /* Hårstreker: varm krem (tone ~64°), ikke den gamle gulgrønne #fff8e8.
     .07/.12 gir 1,17 og 1,35 i kontrast mot --surface — samme vekt som
     GitHub darks border-default. På .05/.09 var de under 1,13 og forsvant. */
  --line:rgba(255,232,200,.07); --line-2:rgba(255,232,200,.12);
  --line-warm:rgba(197,142,90,.18);
  --pos:#e9e3d9; --neg:#a59f98;
  /* aurora atmosphere — krem over dyp rav. --atmo-base-top ligger nå UNDER
     --surface i lyshet (L .148 mot .186), ellers forsvinner kortene i toppen
     av siden. Båndtonene er trukket inn mot aksentens HSL-tone (29°). */
  --atmo-base-top:#0d0a07; --atmo-base-bottom:#070504;
  --atmo-band-a:34,60%,75%; --atmo-band-a-op:.08; --atmo-band-a-op-breathe:.10;
  --atmo-band-b:26,50%,55%; --atmo-band-b-op:.05; --atmo-band-b-op-breathe:.07;
  --atmo-cursor:34,70%,75%; --atmo-cursor-op:.04;
  /* Vasketonen på felt, hover-flater og scrollbar. site-shell.css bruker kald
     hvit som standard; på et varmt tema gjør den flatene gråere jo mer det
     interageres med dem. Alphaene ligger på bruksstedene og er uendret —
     her byttes bare tonen. Se --wash-rgb-kommentaren i site-shell.css. */
  --wash-rgb:255,232,200;
  color-scheme:dark;
}

/* Carbon — subtle warm glow + hairline shine on cards.
   A single off-center radial bloom in deep amber pools behind content,
   reading as faint candlelight rather than a gradient. */
html[data-theme="carbon"] body::before{
  content:""; position:fixed; inset:0; z-index:-4; pointer-events:none;
  background:
    radial-gradient(70vw 60vh at 18% -6%, rgba(197,142,90,.07), transparent 62%),
    radial-gradient(60vw 50vh at 92% 110%, rgba(151,106,53,.05), transparent 60%);
}
/* Kortet får lys ovenfra og skygge under — samme logikk som en fysisk flate.
   På nesten-svart gjør en svart slagskygge lite av seg, så dybden må komme fra
   at flaten faktisk er lysere enn siden (se lyshetsstigen over). Skyggen er
   likevel dyp nok til å telle i toppen av siden der --atmo-base-top løfter
   bakgrunnen, og topplyset (1px krem) gir kanten samme «børstet messing»-glimt
   som resten av temaet. */
/* Logoflisen hadde tidligere sitt eget carbon-unntak her, fordi flisen ellers
   var hardkodet #1a1714 i site-shell.css — den eneste flaten i toppen som ikke
   fulgte paletten. Unntaket er borte: flisen får nå fargen sin fra .mark-reglene
   nederst i denne fila, som dekker alle ni temaene. Carbon lander på nøyaktig
   samme verdi som før (--surface-3), men nå som én regel som gjelder hele
   stigen i stedet for én verdi pluss ett unntak. */

html[data-theme="carbon"] .ks{
  background:
    linear-gradient(180deg, rgba(255,232,200,.030) 0%, transparent 26%),
    var(--surface) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,232,200,.055),
    0 1px 0 rgba(0,0,0,.5),
    0 24px 56px -20px rgba(0,0,0,.7) !important;
}

html[data-theme="dark"]{ /* Mørk — dyp navy trukket subtilt mot forsidens indigo (#141520 / #6c8aef) */
  /* Flatene lå tidligere på #0b0f1a/#11172a/#161e36/#1d2746 — en anelse for
     grå og for langt fra --atmo-base-top (#141520), så toppen av siden hadde
     et synlig fargebrudd mellom atmosfæren og kortene. Stigen er trukket mot
     samme indigo som WebGL-månenatten bruker, slik at bakgrunn, atmosfære og
     flate leser som ett rom. */
  --bg:#0e111c; --surface:#141a2c; --surface-2:#1a2138; --surface-3:#222b49;
  --ink:#e9edf4; --ink2:#a1aabf; --ink3:#81899c; --ink4:#7f89a1;
  /* Aksenten er løftet fra det støvete #8aa3c8 mot forsidens egen indigo
     (#6c8aef). Fortsatt dempet — den gløder uten å bli en knallblå lenkefarge. */
  --accent:#7f9ad6; --accent-2:#9db6e8; --accent-deep:#607dc0;
  --glow-rgb:127, 154, 214;
  --line:rgba(255,255,255,.06); --line-2:rgba(255,255,255,.10);
  --line-warm:rgba(127,154,214,.16);
  --pos:#dde3ef; --neg:#a1aabf;
  /* aurora atmosphere — cool indigo + violet (op lifted in site-shell.css) */
  --atmo-base-top:#141520; --atmo-base-bottom:#0a0b14;
  --atmo-band-a:225,76%,72%; --atmo-band-a-op:.09; --atmo-band-a-op-breathe:.12;
  --atmo-band-b:258,55%,55%; --atmo-band-b-op:.06; --atmo-band-b-op-breathe:.08;
  --atmo-cursor:225,76%,72%; --atmo-cursor-op:.05;
  color-scheme:dark;
}

/* Mørk — stille ekko av forsidens hero-spotlight (indigo, topp-sentrert) og
   samme kort-sheen som nordlys. Gløden ligger bak WebGL-scenen og bærer derfor
   fallback/redusert bevegelse; ekkoet i drift ligger i selve nattscenen. */
html[data-theme="dark"] body::before{
  content:""; position:fixed; inset:0; z-index:-4; pointer-events:none;
  background:
    radial-gradient(88vw 60vh at 50% -10%, rgba(108,138,239,.07), transparent 64%),
    radial-gradient(56vw 48vh at 90% 112%, rgba(122,92,220,.05), transparent 60%);
}
/* Kortet får lys ovenfra og skygge under — samme fysikk som carbon og nordlys,
   men i kjølig tone. Uten dette lå .ks helt flatt på den nye, lysere flaten. */
html[data-theme="dark"] .ks{
  background:
    linear-gradient(180deg, rgba(214,226,255,.024) 0%, transparent 22%),
    var(--surface) !important;
  box-shadow:
    inset 0 1px 0 rgba(214,226,255,.045),
    0 1px 0 rgba(0,0,0,.4),
    0 20px 48px -16px rgba(0,0,0,.55) !important;
}

/* Hendrix — Fillmore-plakat på krempapir, med lysshowet bak.
   Temaet het «60s psychedelic» før, men gjorde lite for å fortjene det: en
   blek krembakgrunn og tre svake, helt stillestående radialgradienter. To ting
   manglet, og begge er selve Hendrix-ikonografien:

   · OVERTRYKKET. Plakatene til Wes Wilson og Bonnie MacLean (Fillmore
     Auditorium 1966-68) er trykt med gjennomsiktig magenta, tangerin og fiolett
     oppå hverandre på billig varmt papir. Der to farger overlapper blir det
     MØRKERE, ikke lysere. Lagene her ligger derfor på mix-blend-mode:multiply,
     ikke normal — det er hele forskjellen mellom «gradient» og «trykk».
   · OLJEHJULENE. Bak Hendrix på Fillmore sto to lysprojektorer med olje og
     vann mellom urglass, som ble varmet og vridd for hånd. Formene fløt sakte,
     aldri i takt, aldri likt to ganger. Derfor to lag her — ett varmt (magenta
     + tangerin) og ett kaldt (påfugl + fiolett) — som driver, roterer og puster
     på 71 s og 97 s. Periodene er innbyrdes primiske med vilje: minste felles
     multiplum er nesten to timer, så mønsteret gjentar seg aldri synlig.

   Paletten er samtidig løftet ut av «pastell» og opp i plakat-blekk. Kontrast
   mot --bg, gammel -> ny:
     --ink3   4,64 -> 7,82     --ink4      4,28 -> 7,06
     --accent 4,19 -> 4,64     --accent-2  2,57 -> 3,59
     hvit på --accent 4,66 -> 5,23   hvit på --accent-2 2,87 -> 4,04
   Alle fire blekktrinn består nå AA på --bg, --surface, --surface-2 OG
   --surface-3. Den gamle gjorde det bare på --bg og --surface.

   ⚠️ Lag-opasitetene (.22 og .18) er MÅLT, ikke valgt på skjønn. Vasken ligger
   bak all tekst som ikke står på et kort, så den setter et gulv for hele
   temaet. Regnestykket er backdrop-en i det teoretisk verste punktet — der alle
   fem gradientene topper samtidig — komponert gjennom multiply:
     gammel (normal blend, .28/.32/.20):  #e6909b -> --ink3 2,17 · --ink4 2,00
     ny     (multiply, .22/.18):          #e3c0bc -> --ink3 5,26 · --ink4 4,75
   Den gamle vasken kunne altså dra stillferdig tekst helt ned i 2:1. Skrus
   opasitetene opp igjen, må --ink3/--ink4 måles på nytt mot det nye punktet.
   Se også --on-accent-blokka lenger ned — hvit gjelder fortsatt. */
html[data-theme="hendrix"]{
  /* Papiret: varmere og gulere enn før (#fdf1e3 var rosa-krem, plakatstokken
     var syrlig krem). --surface er nesten hvitt, som det upåtrykte feltet. */
  --bg:#fdf0d9; --surface:#fffaf0; --surface-2:#f7e3bd; --surface-3:#eed3a2;
  /* Blekket: dyp aubergine — plakatenes «svart» var nesten alltid fiolett. */
  --ink:#2b0b3f;
  --ink2:#57206b;
  --ink3:#6d3080;
  --ink4:#763589;
  --accent:#c40e76;        /* hot magenta — skjerfet; målt ned fra #cf0f7d (4,15 -> 4,55 på --surface-2) */
  --glow-rgb:207, 15, 125;
  /* Tangerinen er MÅLT ned fra #ff6a1a, ikke smaksjustert. --accent-2 er ment
     som «lysere trinn» av aksenten, og det stemmer på de fem mørke temaene —
     men på et lyst tema betyr lysere det motsatte av leselig. Sveip over 137
     tekstnoder på forsiden: alle fire lyse temaer bruker --accent-2 som
     TEKSTfarge (fr-eyebrow, fr-row-cd.soon, fr-link, resultattallene på
     personlig/abo), og alle fire falt under AA — pink 2,07 · glass 2,52 ·
     frost 3,62 · hendrix 2,71. #c2470f gir 4,80 på --surface (grunnen den
     faktisk brukes på) og 4,44 på --bg, og hvit tekst OPPÅ den går fra 2,87
     til 5,00. De tre andre lyse temaene har samme feil og er IKKE rørt her —
     det er en egen, tema-overgripende avgjørelse. */
  --accent-2:#b1410e;      /* tangerin */
  --accent-deep:#6a12a3;   /* purple haze */
  --line:rgba(43,11,63,.09);
  --line-2:rgba(43,11,63,.15);
  --line-warm:rgba(207,15,125,.24);
  --pos:#2b0b3f; --neg:#57206b;
  color-scheme:light;
}

/* Rasteret. To forskjøvne punktskjermer (fiolett + magenta) i 3 px-rutenett
   gir rosetten man ser i offsettrykk når man går nær nok. Den ligger i selve
   body-bakgrunnen og ikke i et eget lag — ett lag mindre å komponere, og
   blekket i oljehjulene multipliseres da riktig oppå rasteret, slik ekte
   overtrykk gjør. Slått av under 768 px (E228: store, repeterende flater er
   det som får rullingen til å slepe på telefon). */
html[data-theme="hendrix"] body{
  background-color:var(--bg);
  background-image:
    radial-gradient(rgba(43,11,63,.055) .6px, transparent .7px),
    radial-gradient(rgba(207,15,125,.05) .6px, transparent .7px);
  background-size:3px 3px,3px 3px;
  background-position:0 0,1.5px 1.5px;
}

/* Oljehjul 1 — varmt (magenta + tangerin). */
html[data-theme="hendrix"] body::before{
  content:"";position:fixed;inset:-45%;z-index:-4;pointer-events:none;
  background:
    radial-gradient(38vmax 31vmax at 24% 27%, rgba(255,47,160,.62), transparent 62%),
    radial-gradient(45vmax 34vmax at 77% 17%, rgba(255,122,31,.56), transparent 60%),
    radial-gradient(34vmax 40vmax at 58% 95%, rgba(255,196,26,.40), transparent 58%);
  mix-blend-mode:multiply;opacity:.22;
  animation:hxWheelA 71s ease-in-out infinite;
}
/* Oljehjul 2 — kaldt (påfugl + fiolett). Motsatt rotasjonsretning, annen
   periode. Påfuglgrønnen er den ene fargen som IKKE finnes i palett-tokenene:
   den er komplementærfargen magenta vibrerer mot på plakatene, og den hører
   derfor hjemme i lyset — ikke i tekst, streker eller flater. */
html[data-theme="hendrix"] body::after{
  content:"";position:fixed;inset:-45%;z-index:-3;pointer-events:none;
  background:
    radial-gradient(41vmax 33vmax at 29% 86%, rgba(22,178,196,.48), transparent 58%),
    radial-gradient(47vmax 31vmax at 83% 72%, rgba(122,26,190,.52), transparent 60%);
  mix-blend-mode:multiply;opacity:.18;
  animation:hxWheelB 97s ease-in-out infinite;
}
@keyframes hxWheelA{
  0%  {transform:translate3d(-3%,-2%,0) rotate(0deg)  scale(1)}
  30% {transform:translate3d(4%,3%,0)   rotate(6deg)  scale(1.13)}
  62% {transform:translate3d(-2%,5%,0)  rotate(-5deg) scale(1.06)}
  100%{transform:translate3d(-3%,-2%,0) rotate(0deg)  scale(1)}
}
@keyframes hxWheelB{
  0%  {transform:translate3d(3%,2%,0)   rotate(0deg)   scale(1.05)}
  35% {transform:translate3d(-4%,-3%,0) rotate(-7deg)  scale(1)}
  70% {transform:translate3d(2%,-5%,0)  rotate(5deg)   scale(1.11)}
  100%{transform:translate3d(3%,2%,0)   rotate(0deg)   scale(1.05)}
}

/* Kortene: papir løftet av bordet, med magenta i skyggen i stedet for grå. */
html[data-theme="hendrix"] .ks{
  background:var(--surface) !important;
  box-shadow:0 1px 0 rgba(106,18,163,.05), 0 14px 34px rgba(207,15,125,.12) !important;
}
html[data-theme="hendrix"] .ik-input,
html[data-theme="hendrix"] .ik-select{
  background-color:var(--surface) !important; color:var(--ink) !important;
}
html[data-theme="hendrix"] .ik-segs{ background:var(--surface-2) !important; }

/* Nav/faner hadde 78 %/72 % her for at blurren skulle lese mot krem.
   Barene er ugjennomsiktige og blurfrie nå (site-shell.css ~linje 116),
   så unntaket ville bare gjort de lyse temaene gjennomsiktige igjen. */

/* Mobil: ett hjul i stedet for to, halv fart, uten raster. */
@media (max-width:768px){
  html[data-theme="hendrix"] body{background-image:none}
  html[data-theme="hendrix"] body::after{display:none}
  html[data-theme="hendrix"] body::before{
    opacity:.20;animation-duration:106s;
  }
}
/* Redusert bevegelse: hjulene fryser i sin egen utgangsstilling — bildet står,
   fargen blir igjen. */
@media (prefers-reduced-motion:reduce){
  html[data-theme="hendrix"] body::before,
  html[data-theme="hendrix"] body::after{animation:none}
}

html[data-theme="bw"]{ /* Sort/hvit — high contrast monochrome */
  --bg:#0a0a0a; --surface:#141414; --surface-2:#1a1a1a; --surface-3:#222;
  --ink:#fafafa; --ink2:#aaa; --ink3:#8a8a8a; --ink4:#838383;
  --accent:#fafafa; --accent-2:#fff; --accent-deep:#c8c8c8;
  --glow-rgb:250, 250, 250;
  --line:rgba(255,255,255,.08); --line-2:rgba(255,255,255,.14);
  --line-warm:rgba(255,255,255,.14);
  --pos:#fafafa; --neg:#aaa;
  color-scheme:dark;
}

html[data-theme="disco"]{ /* neon nightclub */
  --bg:#0d0a18; --surface:#161226; --surface-2:#1e1832; --surface-3:#2a2348;
  --ink:#f0e6ff; --ink2:#c4b0e0; --ink3:#9b86bb; --ink4:#8e7bb0;
  --accent:#ec3a9a; --accent-2:#ff4da6; --accent-deep:#c0186e;
  --glow-rgb:233, 30, 140;
  --line:rgba(233,30,140,.10); --line-2:rgba(233,30,140,.16);
  --line-warm:rgba(233,30,140,.22);
  --pos:#e6dcff; --neg:#c4b0e0;
  /* aurora atmosphere — neon pink + purple */
  --atmo-base-top:#0d0a18; --atmo-base-bottom:#060410;
  --atmo-band-a:328,70%,70%; --atmo-band-a-op:.10; --atmo-band-a-op-breathe:.13;
  --atmo-band-b:268,60%,58%; --atmo-band-b-op:.07; --atmo-band-b-op-breathe:.09;
  --atmo-cursor:328,75%,72%; --atmo-cursor-op:.05;
  color-scheme:dark;
}

html[data-theme="nordlys"]{ /* Nordlys — aurora green over an arctic night */
  --bg:#050a0c; --surface:#0c1416; --surface-2:#111c1e; --surface-3:#16262a;
  --ink:#e6f0ec; --ink2:#93ab9f; --ink3:#7a9084; --ink4:#70887c;
  --accent:#4ec9a0; --accent-2:#74dcb6; --accent-deep:#2e9472;
  --glow-rgb:78, 201, 160;
  --line:rgba(190,255,232,.06); --line-2:rgba(190,255,232,.10);
  --line-warm:rgba(78,201,160,.16);
  --pos:#e6f0ec; --neg:#93ab9f;
  /* aurora atmosphere — luminous green band + violet counter-band */
  --atmo-base-top:#08110f; --atmo-base-bottom:#050a0c;
  --atmo-band-a:158,64%,58%; --atmo-band-a-op:.12; --atmo-band-a-op-breathe:.16;
  --atmo-band-b:272,55%,60%; --atmo-band-b-op:.08; --atmo-band-b-op-breathe:.11;
  --atmo-cursor:158,64%,60%; --atmo-cursor-op:.05;
  color-scheme:dark;
}
/* Nordlys — twin aurora glow (green crown + violet hem) pooled behind content,
   plus the same hairline shine on cards as carbon. */
html[data-theme="nordlys"] body::before{
  content:""; position:fixed; inset:0; z-index:-4; pointer-events:none;
  background:
    radial-gradient(72vw 60vh at 16% -8%, rgba(78,201,160,.08), transparent 62%),
    radial-gradient(64vw 52vh at 94% 108%, rgba(123,92,196,.06), transparent 60%);
}
html[data-theme="nordlys"] .ks{
  background:
    linear-gradient(180deg, rgba(210,255,238,.022) 0%, transparent 22%),
    var(--surface) !important;
  box-shadow:
    inset 0 1px 0 rgba(210,255,238,.04),
    0 1px 0 rgba(0,0,0,.4),
    0 20px 48px -16px rgba(0,0,0,.55) !important;
}

/* Light group ───────────────────────────────────────────── */


/* --accent-2 på de lyse temaene — målt, ikke valgt ────────────────────
   Tokenet het «lysere trinn av aksenten», og det er riktig på de fem mørke
   temaene: lysere mot en mørk flate betyr mer kontrast. På et LYST tema betyr
   lysere det motsatte, og tokenet brukes nesten utelukkende til TEKST — talt i
   de kanoniske filene: 369 ganger som `color`, mot 12 som `background`,
   14 som `fill` og 10 som `stop-color`.

   Målt som tekst mot temaets --surface, gammel -> ny:
     frost  #6e7cf0 3,62 -> #4859ed 5,35
     glass  #8b95ff 2,52 -> #3b4bff 5,77
     pink   #e8a0b8 2,07 -> #c52f61 5,31
   Første runde landet på ~4,6 mot hvitt, men resultattallene (.v, 22 px) står på
   en svakt tonet flate og lå da fortsatt på 3,97-4,05. Verdiene er derfor senket
   ett hakk til, målt mot den flata og ikke mot hvitt.
   Fargetone og metning er uendret; bare lysheten er senket til AA-terskelen.
   Hendrix er behandlet i sin egen blokk over.

   Dette snur rekkefølgen mot --accent på glass og pink: --accent-2 blir nå
   mørkere enn --accent der. Det er tilsiktet. Aksenten på de to temaene er
   for lys til å bære tekst i det hele tatt (glass 3,85 og pink 3,14 mot hvitt),
   så «lysere trinn» hadde ingen brukbar tekstverdi å gi. De 12 flatene som
   maler --accent-2 som bakgrunn blir tilsvarende mørkere, og hvit tekst på dem
   går fra 2,1-2,9 til 4,6-4,9 — altså samme vei. */
html[data-theme="frost"]{
  --bg:#f7f9fc; --surface:#fff; --surface-2:#f0f4fb; --surface-3:#e7eef7;
  --ink:#0f172a; --ink2:#3b4963; --ink3:#606f91; --ink4:#596e9e;
  --accent:#4f5fe5; --accent-2:#4859ed; --accent-deep:#3b4ad0;
  --glow-rgb:79, 95, 229;
  --line:rgba(15,23,42,.07); --line-2:rgba(15,23,42,.12);
  --line-warm:rgba(79,95,229,.16);
  --pos:#1f2937; --neg:#64748b;
  color-scheme:light;
}

html[data-theme="glass"]{
  --bg:#e8edf6; --surface:rgba(255,255,255,.62); --surface-2:rgba(255,255,255,.42); --surface-3:rgba(255,255,255,.32);
  --ink:#1a1a2e; --ink2:#4a5568; --ink3:#5f6981; --ink4:#536c8f;
  --accent:#4151f2; --accent-2:#3b4bff; --accent-deep:#4f5bd5;
  --glow-rgb:104, 117, 245;
  --line:rgba(26,26,46,.08); --line-2:rgba(26,26,46,.14);
  --line-warm:rgba(104,117,245,.18);
  --pos:#1f2937; --neg:#64748b;
  color-scheme:light;
}

html[data-theme="pink"]{ /* Rosa */
  --bg:#fffbfc; --surface:#fff; --surface-2:#fef5f8; --surface-3:#fbe9ef;
  --ink:#3a2030; --ink2:#6a4458; --ink3:#866979; --ink4:#a25a7e;
  --accent:#bd3a5e; --accent-2:#c52f61; --accent-deep:#b0526c;
  --glow-rgb:212, 116, 142;
  --line:rgba(58,32,48,.07); --line-2:rgba(58,32,48,.12);
  --line-warm:rgba(212,116,142,.18);
  --pos:#3a2030; --neg:#6a4458;
  color-scheme:light;
}

/* --accent som TEKST — målt 2026-11 ──────────────────────────────────
   Aksenten brukes som tekstfarge på nummer, satser, eyebrows og lenker over hele
   nettstedet, og lå under 4,5 mot flatene den står på: glass 3,3-3,6, pink 3,0-3,1,
   disco 4,1-4,4, hendrix 4,15. Å bytte til --accent-2 selektor for selektor ble
   rene lappeløsninger (12+ ulike klasser på 82 sider), så selve tokenet er senket
   til AA-terskelen, samme fargetone og metning, bare lysheten er flyttet:
     glass #6875f5 -> #4151f2 · pink #d4748e -> #bd3a5e · hendrix #cf0f7d -> #c40e76
     disco (mørkt tema, løftet) #e91e8c -> #ec3a9a
   Hvit tekst oppå aksenten (--on-accent) lander på 5,3-5,7 på glass og pink;
   tidligere nesten svart, som falt til 3,5 på de nye verdiene. --glow-rgb er
   uendret, så tonede flater og skygger ser ut som før. */

/* Feiltone på lyse temaer — standard --err (#cc7a66 fra site-shell.css) gir
   bare ~3,2:1 mot lys bakgrunn og faller under WCAG AA for brødtekst. Samme
   leire-familie, dypere, lander på ~5,8:1. bw står utenfor: mørk --bg. */
html:is([data-theme="frost"],[data-theme="glass"],[data-theme="pink"],[data-theme="hendrix"]){
  --err:#a34a32;
}

/* Samme som for hendrix over: de lyse temaene har ikke lenger et eget
   nav-unntak — dekningen ligger i site-shell.css og gjelder alle temaer. */
html[data-theme="frost"] .ks,
html[data-theme="glass"] .ks,
html[data-theme="pink"] .ks{ background:var(--surface) !important; box-shadow:0 1px 0 rgba(0,0,0,.02), 0 12px 32px rgba(15,23,42,.06) !important; }
html[data-theme="frost"] .ik-input, html[data-theme="glass"] .ik-input, html[data-theme="pink"] .ik-input,
html[data-theme="frost"] .ik-select, html[data-theme="glass"] .ik-select, html[data-theme="pink"] .ik-select{
  background-color:var(--surface) !important; color:var(--ink) !important;
}
html[data-theme="frost"] .ik-segs, html[data-theme="glass"] .ik-segs, html[data-theme="pink"] .ik-segs{
  background:var(--surface-2) !important;
}

/* Chrome-tokens — topplinjas egne flater ─────────────────────
   De seks tokenene under (--menu-bg, --hover-bg, --hover-bg-soft, --kbd-bg,
   --select-bg, --flag-shadow) styrer nedtrekksmenyene, hover-flatene,
   ⌘K-hintet, markert tekst og flagg-kanten i toppen av siden.

   De hørte ikke hjemme noe sted: hver av de 21 sidene som tegner sin egen
   topplinje hadde kopiert HELE settet inn i sin egen <style>, per tema. Kopiene
   har drevet fra hverandre, og nordlys mangler helt i de fleste av dem — derfor
   kunne to sider i samme tema tegne toppen ulikt. Tokenene bor her nå, avledet
   fra hvert temas egen palett.

   Selektoren er html[data-theme="X"] (0,1,1) med vilje: den slår de innebygde
   kopiene, som alle står på bare [data-theme="X"] (0,1,0), uansett hvilken
   rekkefølge stilarkene lastes i. Poenget er at ingen side lenger KAN mangle
   et tema — verdiene finnes for alle ni så snart denne fila er lastet. */
html:is([data-theme="carbon"],[data-theme="dark"],[data-theme="bw"],[data-theme="disco"],[data-theme="nordlys"]){
  --menu-bg:var(--surface);
  --hover-bg:color-mix(in srgb, var(--ink) 4%, transparent);
  --hover-bg-soft:color-mix(in srgb, var(--ink) 2%, transparent);
  --kbd-bg:color-mix(in srgb, var(--ink) 4%, transparent);
  --select-bg:rgba(var(--glow-rgb),.28);
  --flag-shadow:rgba(0,0,0,.4);
}
html:is([data-theme="frost"],[data-theme="glass"],[data-theme="pink"],[data-theme="hendrix"]){
  --menu-bg:var(--surface);
  --hover-bg:color-mix(in srgb, var(--ink) 4.5%, transparent);
  --hover-bg-soft:color-mix(in srgb, var(--ink) 2.2%, transparent);
  --kbd-bg:color-mix(in srgb, var(--ink) 4.5%, transparent);
  --select-bg:rgba(var(--glow-rgb),.22);
  --flag-shadow:rgba(0,0,0,.18);
  /* Vasketonen står som kald hvit i site-shell.css fordi de mørke temaene
     trenger den. På en lys flate ble hvit-på-hvit usynlig: scrollbar-tommelen
     forsvant og alle hover-flatene sluttet å vise seg. Her snus den. */
  --wash-rgb:0,0,0;
}
/* Glass er det ene temaet med halvgjennomsiktig --surface (hvit .62), så
   var(--menu-bg) ville gjort nedtrekksmenyene gjennomsiktige — og .lang-menu
   har ingen backdrop-filter, så sideinnholdet ville lest rett gjennom
   menyteksten. Menyen holdes ugjennomsiktig på samme hvit som frost og pink
   allerede bruker som --surface. */
html[data-theme="glass"]{ --menu-bg:#fff; }

/* --on-accent — lesbar tekst OPPÅ en aksentfylt flate ──────────────
   Knapper, valgte faner og badges maler var(--accent) og legger tekst på den.
   Fargen var hardkodet nesten-svart på noen sider og var(--bg) på andre, og
   INGEN av delene holder på tvers av temaene: aksenten er nesten svart-lesbar
   på de fem mørke temaene, men en MELLOMTONE på de lyse. Målt mot flat
   var(--accent), verste tilfelle per tema:

     var(--bg)   carbon 7,16  dark 6,72  bw 18,97  disco 4,68  nordlys 9,65
                 frost 4,86   glass 3,28  pink 3,06  hendrix 4,19
     #ffffff     frost 5,12   glass 3,85  pink 3,14  hendrix 4,66
     #0a0a0a     glass 5,14   pink 6,31

   Derfor: seks temaer klarer seg med sin egen --bg, glass og pink trenger en
   dyp nøytral, og hendrix trenger hvit (aksenten der er en mettet magenta som
   er for mørk for svart tekst og lys nok for hvit). Alle ni lander over 4,5.
   Tallene over er FØR 2026-11: da fikk glass og pink mørkere aksent og går nå
   på hvit (5,3-5,7), se «--accent som TEKST»-blokka lenger opp.

   MERK gradienter: flater som går fra --accent til --accent-2 faller under AA
   på frost (3,43) og hendrix (2,87) uansett tekstfarge, fordi --accent-2 er et
   lysere trinn. Slike flater må være FLATE var(--accent) — ikke en gradient —
   når det ligger tekst på dem. */
html:is([data-theme="glass"],[data-theme="pink"],[data-theme="hendrix"]){ --on-accent:#ffffff; }

/* Logoflisa — den ene chrome-flaten som IKKE styres av et token ────
   Merket inni flisa er en messinggradient (#d8ad7e → #a87842). På et MØRKT
   tema ligger navraden nesten svart, så flisa må LØFTES (--surface-3) for at
   messingen skal være synlig i det hele tatt. På et LYST tema må flisa være
   MØRK — ellers forsvinner messingen mot en lys bakgrunn.
   color-mix(--ink 88%, --bg) gir hvert lyst tema sin egen dype tone
   (frost: mørkt marineblått, pink: mørk plomme, hendrix: dyp aubergine)
   i stedet for én felles brun.

   Avgjørelsen ligger med vilje på .mark-ELEMENTET og ikke på --mark-bg-
   tokenet: det tokenet betyr allerede noe helt annet på rundt 20 sider —
   «svak flate-vask», typisk rgba(255,255,255,.04). To av dem legger det bak
   TEKST (personlig/index.html .hub-cta, personlig/budsjett/index.html
   .bc-input/.bc-select/.bc-chip), så å sette tokenet her ville dratt de
   flatene med seg og gjort innskrevet tekst uleselig på de lyse temaene.
   Tokenet eies fortsatt av sidene selv.

   Spesifisiteten (0,2,1) er poenget: den slår både .mark i site-shell.css og
   sidenes egne .mark-regler (begge (0,1,0)) uansett lasterekkefølge — enten
   de står på var(--mark-bg) eller den hardkodede #1a1714 — så flisa blir lik
   på alle sider som laster denne fila, uten å røre et eneste annet element. */
html:is([data-theme="carbon"],[data-theme="dark"],[data-theme="bw"],[data-theme="disco"],[data-theme="nordlys"]) .mark{
  background:var(--surface-3);
}
html:is([data-theme="frost"],[data-theme="glass"],[data-theme="pink"],[data-theme="hendrix"]) .mark{
  background:color-mix(in srgb, var(--ink) 88%, var(--bg));
}

/* Theme + language menus, ⌘K hint, ticker — see top-chrome.js */
