/* ------------------------------------------------------------------
   Placave – stilark
   Tema: kosmos og vitenskap. Dyprommet som bakgrunn, stjernelys som
   tekst, baner og stjerner, med stjernegull og kvantecyan som aksenter.
   Endre fargene her for å gi siden et annet uttrykk.
------------------------------------------------------------------- */

@font-face {
  font-family: "Space Grotesk";
  src: url("fonts/space-grotesk.woff2") format("woff2-variations");
  font-weight: 300 700;
  font-display: swap;
}

:root {
  color-scheme: dark;

  --rom: #0b0e1a;          /* dyprommet, bakgrunn */
  --panel: #141829;        /* paneler og kort (heldekkende, f.eks. dialoger) */
  --glass: rgba(20, 24, 41, 0.72);  /* frostet panelflate – rombildene skinner gjennom */
  --uskarphet: 10px;       /* hvor mye glasset visker ut bakgrunnen */
  --dyp: #1e2440;          /* dypere felt, hover */
  --lys: #e9ecf7;          /* stjernelys, tekst */
  --dis: #99a0c2;          /* dempet tekst */
  --strek: rgba(180, 195, 255, 0.14);
  --kant: rgba(180, 195, 255, 0.2);   /* litt tydeligere kant på interaktive felt */
  --radius: 14px;          /* felles hjørneradius på glassflater */
  --aksent: #e9b949;       /* stjernegull: lenker og handlinger */
  --aksent-glo: #f5cd6e;   /* lysere gull, hover/glød */
  --kvant: #6ad0e0;        /* kvantecyan: diagrammer og detaljer */
  --fare: #ff6b6b;

  --grotesk: "Space Grotesk", system-ui, sans-serif;
  --brodtekst: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  color: var(--lys);
  font-family: var(--brodtekst);
  font-size: 1rem;
  line-height: 1.6;
  background-color: var(--rom);
  /* spredte stjerner + et svakt koordinatnett, som et vitenskapelig kart */
  background-image:
    radial-gradient(1.2px 1.2px at 18% 32%, rgba(233, 236, 247, 0.55), transparent),
    radial-gradient(1.2px 1.2px at 72% 18%, rgba(233, 236, 247, 0.40), transparent),
    radial-gradient(1px 1px at 40% 72%, rgba(106, 208, 224, 0.45), transparent),
    radial-gradient(1.4px 1.4px at 88% 64%, rgba(233, 236, 247, 0.35), transparent),
    radial-gradient(1px 1px at 9% 84%, rgba(233, 185, 73, 0.45), transparent),
    linear-gradient(to right, rgba(180, 195, 255, 0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(180, 195, 255, 0.05) 1px, transparent 1px);
  background-size:
    620px 620px, 540px 540px, 700px 700px, 480px 480px, 800px 800px,
    56px 56px, 56px 56px;
}

.ramme {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 1.25rem;
}

main.ramme { flex: 1; padding-bottom: 4rem; position: relative; z-index: 1; }

.bunn { position: relative; z-index: 1; }

/* ------------------------------------------ bakgrunns-lysbildeserie */

.rombakgrunn {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background: var(--rom);
}

.rombilde {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transform: scale(1.04);
  transition: opacity 3s ease-in-out, transform 18s ease-out;
}

.rombilde.aktiv { opacity: 1; transform: scale(1.12); }

/* Skygge over bakgrunnsbildene, i to lag:
   - grunnlaget er lyst (bildet skinner tydelig gjennom)
   - ::after er et mørkt dempings-lag som ligger over.
   Undersider: dempingen er PÅ (bildet nesten borte, ingen distraksjon).
   Forsiden øverst (ved logoen): dempingen er AV → bildet nytes fullt.
   Forsiden når man har rullet ned i innholdet: dempingen tones inn igjen. */
.romskygge {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11, 14, 26, 0.18), rgba(11, 14, 26, 0.34));
}

.romskygge::after {
  content: "";
  position: absolute;
  inset: 0;
  /* mørklegging med en svak aurora i: kvantecyan oppe til venstre,
     stjernegull nede til høyre – gir undersidene dybde uten å distrahere */
  background:
    radial-gradient(58% 44% at 10% 4%, rgba(106, 208, 224, 0.07), transparent 70%),
    radial-gradient(52% 42% at 92% 96%, rgba(233, 185, 73, 0.055), transparent 70%),
    linear-gradient(180deg, rgba(11, 14, 26, 0.93), rgba(11, 14, 26, 0.985));
  /* Dempingen styres per side fra kontrollpanelet (0 = fullt synlig bilde). */
  opacity: var(--demping, 1);
  transition: opacity 0.8s ease;
}

body.forside .romskygge::after { opacity: 0; }                       /* forside øverst: demping av */
body.forside.rullet .romskygge::after { opacity: var(--demping, 1); } /* rullet ned: demp igjen */

/* ------------------------------------------------------------ topp */

.topp {
  position: sticky;
  top: 0;
  z-index: 10;
  background: rgba(11, 14, 26, 0.82);
  -webkit-backdrop-filter: blur(var(--uskarphet));
  backdrop-filter: blur(var(--uskarphet));
  border-bottom: 1px solid var(--strek);
}

.topp-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 0.7rem;
  padding-bottom: 0.7rem;
}

.merke {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--grotesk);
  font-weight: 600;
  font-size: 1.15rem;
  letter-spacing: 0.01em;
  color: var(--lys);
  text-decoration: none;
}

.merke-ikon { width: 1.2em; height: 1.2em; }

.topp-hoyre {
  display: flex;
  align-items: center;
  gap: 0.9rem;
}

/* ---- meny-nedtrekk (samler fanene i én knapp) ---- */
.meny { position: relative; }

.meny-knapp {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  cursor: pointer;
  list-style: none;
  font-family: var(--mono);
  font-size: 0.8rem;
  letter-spacing: 0.04em;
  color: var(--lys);
  background: var(--glass);
  border: 1px solid var(--kant);
  border-radius: 10px;
  padding: 0.45rem 0.85rem;
  -webkit-tap-highlight-color: transparent;
}
.meny-knapp::-webkit-details-marker { display: none; }
.meny-knapp::marker { content: ""; }
.meny-knapp:hover,
.meny[open] .meny-knapp { border-color: var(--aksent); color: #fff; }

.meny-strek, .meny-strek::before, .meny-strek::after {
  width: 16px; height: 2px; background: currentColor; border-radius: 2px;
}
.meny-strek { position: relative; display: inline-block; }
.meny-strek::before, .meny-strek::after { content: ""; position: absolute; left: 0; }
.meny-strek::before { top: -5px; }
.meny-strek::after { top: 5px; }

.meny-panel {
  position: absolute;
  right: 0;
  top: calc(100% + 0.55rem);
  min-width: 12.5rem;
  display: flex;
  flex-direction: column;
  padding: 0.5rem;
  background: rgba(20, 24, 41, 0.92);
  -webkit-backdrop-filter: blur(var(--uskarphet));
  backdrop-filter: blur(var(--uskarphet));
  border: 1px solid var(--kant);
  border-radius: var(--radius);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.45);
  z-index: 30;
}
.meny-panel a, .meny-knapp-lenke {
  display: block;
  width: 100%;
  padding: 0.55rem 0.7rem;
  border-radius: 8px;
  color: var(--lys);
  text-decoration: none;
  font-size: 0.9rem;
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
}
.meny-panel a:hover, .meny-knapp-lenke:hover { background: rgba(255, 255, 255, 0.06); color: #fff; }
.meny-panel a.aktiv { color: var(--aksent); }
.meny-skille { height: 1px; background: var(--kant); margin: 0.4rem 0.2rem; }
/* Gruppeoverskrift i menyen (f.eks. «Kunst») – nå en lenke til samlesiden. */
.meny-gruppe { display: block; color: var(--dis); font-size: 0.72rem;
  text-transform: uppercase; letter-spacing: 0.08em;
  padding: 0.5rem 0.8rem 0.1rem; text-decoration: none; }
a.meny-gruppe:hover { color: var(--aksent); }
.meny-panel form { margin: 0; }

.hvem {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--mono);
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  color: var(--lys);
  text-decoration: none;
}
.hvem:hover { color: var(--kvant); }

/* ------------------------------------------------ avatarer / profil */
.avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 50%;
  object-fit: cover;
  flex: none;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1;
  overflow: hidden;
}
.avatar-tom {
  background: linear-gradient(140deg, var(--kvant), var(--aksent));
  color: var(--rom);
  text-transform: uppercase;
}
.avatar-stor { width: 4.6rem; height: 4.6rem; font-size: 1.9rem; }

.signatur { display: flex; align-items: center; gap: 0.45rem; flex-wrap: wrap; }
.trad-av { display: inline-flex; align-items: center; gap: 0.35rem; }

.profil-forhandsvis {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0 0 1.5rem;
}
.profil-navn { font-weight: 600; margin: 0 0 0.25rem; }
.profil-hint { font-size: 0.82rem; color: var(--dis); margin: 0; }

.felthint { display: block; margin-top: 0.35rem; font-size: 0.76rem; color: var(--dis); line-height: 1.4; }

/* ---------------------------------------- invitasjoner / RSVP */
.invitasjon-velg {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.8rem;
  margin-top: 0.8rem;
}
.inv-boks {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.85rem;
  color: var(--lys);
  background: var(--glass);
  border: 1px solid var(--kant);
  border-radius: 8px;
  padding: 0.35rem 0.7rem;
  cursor: pointer;
}
.inv-boks input { accent-color: var(--aksent); }

.rsvp-boks { border: 1px solid var(--kant); }
.rsvp-knapper { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 0.6rem; }
.knapp.valgt { outline: 2px solid var(--aksent); outline-offset: 2px; }
.rsvp-status { margin-top: 0.7rem; font-size: 0.9rem; color: var(--dis); }

.rsvp-sammendrag { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.3rem 0 0.9rem; }
.rsvp-sammendrag .inv-svar { margin-left: 0; }

.invitert-liste { list-style: none; padding: 0; margin: 0.6rem 0 0; display: grid; gap: 0.5rem; }
.invitert-liste li { display: flex; align-items: center; gap: 0.6rem; }
.inv-navn { font-weight: 600; }
.inv-svar {
  margin-left: auto;
  font-family: var(--mono);
  font-size: 0.72rem;
  padding: 0.12em 0.6em;
  border-radius: 999px;
  border: 1px solid var(--kant);
  color: var(--dis);
}
.inv-svar.svar-kommer { color: #7ee0a0; border-color: rgba(126,224,160,0.5); }
.inv-svar.svar-kommer_ikke { color: var(--fare); border-color: rgba(255,107,107,0.5); }
.inv-svar.svar-kanskje { color: var(--aksent); border-color: rgba(233,185,73,0.5); }

/* ---------------------------------------- innboks / meldinger */
.varsel {
  display: inline-block;
  min-width: 1.25em;
  padding: 0 0.35em;
  border-radius: 999px;
  background: var(--aksent);
  color: var(--rom);
  font-size: 0.62rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
  vertical-align: middle;
}

/* «Nytt siden sist»-prikk i menyen: liten gullprikk uten tall, med svak glød. */
.varsel.prikk {
  min-width: 0;
  width: 0.5em;
  height: 0.5em;
  padding: 0;
  box-shadow: 0 0 6px var(--aksent);
}

.invitasjon-liste { list-style: none; padding: 0; margin: 0.6rem 0 0; display: grid; gap: 0.5rem; }
.invitasjon-liste li { display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; }
.invitasjon-liste a { display: flex; align-items: baseline; gap: 0.5rem; }
.inv-dato { font-family: var(--mono); font-size: 0.72rem; color: var(--dis); }

.samtaleliste { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.6rem; }
.samtalekort { display: flex; align-items: center; gap: 0.8rem; text-decoration: none; }
.samtale-tekst { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.samtale-navn { font-weight: 600; display: flex; align-items: center; gap: 0.4rem; }
.samtale-siste {
  font-size: 0.85rem; color: var(--dis);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%;
}
.samtale-tid { font-family: var(--mono); font-size: 0.68rem; color: var(--dis); flex: none; }

.samtale-hode { display: flex; align-items: center; gap: 1rem; }

.meldingstrom { display: flex; flex-direction: column; gap: 0.7rem; margin: 1.2rem 0; }
/* Chat-bobler: scopet til meldingstrømmen så de ikke kolliderer med den
   frittstående status-boksen «.melding» (samme klassenavn, ulik rolle). */
.meldingstrom .melding { display: flex; flex-direction: column; max-width: 78%; }
.melding.min { align-self: flex-end; align-items: flex-end; }
.melding.deres { align-self: flex-start; align-items: flex-start; }
.melding-boble {
  padding: 0.6rem 0.9rem;
  border-radius: 14px;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-word;
}
.melding.min .melding-boble {
  background: linear-gradient(140deg, var(--kvant), var(--aksent));
  color: var(--rom);
  border-bottom-right-radius: 4px;
}
.melding.deres .melding-boble {
  background: var(--glass);
  border: 1px solid var(--kant);
  color: var(--lys);
  border-bottom-left-radius: 4px;
}
.melding-tid { font-family: var(--mono); font-size: 0.62rem; color: var(--dis); margin-top: 0.2rem; }
.utlop-merke {
  display: inline-block;
  font-size: 0.66rem;
  font-family: var(--mono);
  color: var(--dis);
  border: 1px solid var(--kant);
  border-radius: 999px;
  padding: 0.08em 0.6em;
  margin-left: 0.3rem;
  white-space: nowrap;
}

.merkelapp {
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--rom);
  background: var(--aksent);
  border-radius: 4px;
  padding: 0.1em 0.4em;
}

.tekstknapp {
  font-family: var(--mono);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--dis);
  background: none;
  border: none;
  padding: 0.25rem 0;
  cursor: pointer;
  text-decoration: none;
}

.tekstknapp:hover { color: var(--aksent); }

.lenker a {
  font-family: var(--mono);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--dis);
  text-decoration: none;
  padding: 0.25rem 0;
  border-bottom: 2px solid transparent;
}

.lenker a:hover { color: var(--lys); }

.lenker a.aktiv {
  color: var(--lys);
  border-bottom-color: var(--aksent);
}

/* ----------------------------------------------------- typografi */

h1, h2, h3 {
  font-family: var(--grotesk);
  line-height: 1.15;
  margin: 0 0 0.5rem;
  text-wrap: balance;
}

h1 { font-size: clamp(1.9rem, 5vw, 2.7rem); font-weight: 640; letter-spacing: -0.02em; }
h2 { font-size: 1.35rem; font-weight: 600; }
h3 { font-size: 1.1rem;  font-weight: 600; }

p { margin: 0 0 0.9rem; }

a { color: var(--aksent); }
a:hover { color: var(--aksent-glo); }

.stempel {
  font-family: var(--mono);
  font-size: 0.72rem;
  font-weight: 400;   /* så .stempel som <h2> ikke arver fet skrift */
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--kvant);
  margin: 0 0 0.5rem;
}

:focus-visible {
  outline: 2px solid var(--aksent);
  outline-offset: 2px;
  border-radius: 2px;
}

::selection { background: rgba(233, 185, 73, 0.35); color: var(--lys); }

/* -------------------------------------------------------- knapper */

.knapp {
  display: inline-block;
  font-family: var(--grotesk);
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--rom);
  background: linear-gradient(180deg, var(--aksent-glo), var(--aksent));
  border: 1px solid var(--aksent);
  border-radius: 8px;
  padding: 0.55em 1.1em;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(233, 185, 73, 0.22);
  transition: background-color 140ms ease, border-color 140ms ease,
              transform 140ms ease, box-shadow 140ms ease;
}

.knapp:hover {
  background: var(--aksent-glo);
  border-color: var(--aksent-glo);
  color: var(--rom);
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(233, 185, 73, 0.32);
}

.knapp.dempet {
  color: var(--lys);
  background: var(--panel);
  border-color: var(--strek);
  box-shadow: none;
}

.knapp.dempet:hover { background: var(--dyp); box-shadow: none; }

.knapp.fare { color: var(--fare); }

/* ------------------------------------------------- forside: hero */

.stjernekart {
  position: relative;
  overflow: hidden;
  margin-top: 2rem;
  background: var(--glass);
  -webkit-backdrop-filter: blur(var(--uskarphet));
  backdrop-filter: blur(var(--uskarphet));
  border: 1px solid var(--strek);
  border-radius: var(--radius);
  padding: clamp(1.6rem, 5vw, 3.2rem);
  min-height: 300px;
  display: flex;
  align-items: center;
  box-shadow: inset 0 1px 0 rgba(233, 236, 247, 0.05), 0 10px 28px rgba(3, 5, 12, 0.35);
}

.romfigur {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.stjernekart-tekst {
  position: relative;
  max-width: 26rem;
}

.stjernekart-tekst h1 { margin-bottom: 0.7rem; }

.ingress { color: var(--dis); font-size: 1.05rem; margin-bottom: 1.4rem; }

/* ------------------------------------------- forside: beskrivelse */

.beskrivelse {
  background: var(--glass);
  -webkit-backdrop-filter: blur(var(--uskarphet));
  backdrop-filter: blur(var(--uskarphet));
  border: 1px solid var(--strek);
  border-radius: var(--radius);
  padding: clamp(1.3rem, 4vw, 2rem);
  margin-top: 1.1rem;
  box-shadow: inset 0 1px 0 rgba(233, 236, 247, 0.05), 0 10px 28px rgba(3, 5, 12, 0.35);
}

.beskrivelse h2 { margin-bottom: 0.6rem; }

.beskrivelse p {
  color: var(--dis);
  max-width: 62ch;
  margin-bottom: 0;
}

.beskrivelse-rediger {
  font-family: var(--mono);
  font-size: 0.78rem;
  margin: 1.1rem 0 0;
}

/* -------------------------------------------------- kort og deler */

.deler {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.1rem;
  margin-top: 1.1rem;
}

.kort {
  display: block;
  background: var(--glass);
  -webkit-backdrop-filter: blur(var(--uskarphet));
  backdrop-filter: blur(var(--uskarphet));
  border: 1px solid var(--strek);
  border-radius: var(--radius);
  color: var(--lys);
  text-decoration: none;
  box-shadow: inset 0 1px 0 rgba(233, 236, 247, 0.05), 0 6px 18px rgba(3, 5, 12, 0.3);
  transition: transform 140ms ease, box-shadow 140ms ease, border-color 140ms ease;
}

a.kort:hover {
  transform: translateY(-2px);
  border-color: rgba(233, 185, 73, 0.45);
  box-shadow: inset 0 1px 0 rgba(233, 236, 247, 0.05), 0 14px 32px rgba(3, 5, 12, 0.5);
  color: var(--lys);
}

.del { padding: 1.3rem 1.4rem; }

.del p:last-of-type { color: var(--dis); margin-bottom: 0.4rem; }

.del .pil {
  font-family: var(--mono);
  font-size: 0.8rem;
  color: var(--aksent);
}

.del.kommer { opacity: 0.65; border-style: dashed; }

/* --------------------------------------------- aktivitetslisten */

.sidehode {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin: 2.2rem 0 1.4rem;
}

.sidehode h1 { margin: 0; }

.gruppe {
  font-family: var(--mono);
  font-size: 0.78rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--dis);
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin: 2rem 0 0.9rem;
}

.gruppe::after { content: ""; flex: 1; height: 1px; background: var(--strek); }

.rutenett {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1.1rem;
}

.aktivitetskort { overflow: hidden; }

.kort-bilde {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-bottom: 1px solid var(--strek);
}

.plassholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    repeating-linear-gradient(-8deg,
      transparent 0 18px,
      rgba(106, 208, 224, 0.10) 18px 19px),
    var(--dyp);
}

.plassholder span {
  font-family: var(--grotesk);
  font-size: 3rem;
  font-weight: 640;
  color: var(--kvant);
  opacity: 0.55;
}

.kort-tekst { padding: 0.9rem 1.1rem 1rem; }

.kort-tekst .stempel { margin-bottom: 0.3rem; }

.kort-tekst h3 { margin-bottom: 0.2rem; }

.sted { color: var(--dis); font-size: 0.9rem; margin: 0; }

.tomt {
  background: var(--glass);
  -webkit-backdrop-filter: blur(var(--uskarphet));
  backdrop-filter: blur(var(--uskarphet));
  border: 1px dashed var(--strek);
  border-radius: var(--radius);
  padding: 2.2rem;
  text-align: center;
  margin-top: 1rem;
}

.tomt p:last-of-type { margin-bottom: 1.2rem; }

/* ------------------------------------------------ én aktivitet */

.tilbake { margin: 1.6rem 0 0; font-size: 0.9rem; }

.tilbake a { text-decoration: none; color: var(--dis); }
.tilbake a:hover { color: var(--lys); }

.aktivitetshode {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin: 0.8rem 0 1.4rem;
}

.aktivitetshode h1 { margin: 0; }

.handlinger { display: flex; gap: 0.5rem; }

.handlinger form { margin: 0; }

.galleri {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: 0.7rem;
  margin-bottom: 1.4rem;
}

.galleri-bilde {
  padding: 0;
  border: 1px solid var(--strek);
  border-radius: 8px;
  overflow: hidden;
  cursor: zoom-in;
  background: var(--panel);
}

.galleri-bilde img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform 200ms ease;
}

.galleri-bilde:hover img { transform: scale(1.04); }

/* aktiviteter 2.0: bildestripe inni seksjonsboksene */
.boks-bilder {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
  gap: 0.5rem;
  margin-top: 0.8rem;
}
.boks-bilder .galleri-bilde img { aspect-ratio: 1 / 1; }
/* tredelt kost + vær */
.kost-del { margin: 0.7rem 0 0.2rem; font-size: 0.85rem; color: var(--dis);
  text-transform: uppercase; letter-spacing: 0.06em; }
.kost-pris { margin: 0.7rem 0 0; }
.kost-pris strong { color: var(--aksent); }
/* rediger-skjemaet: hvert felt har sitt eget lille bildefelt rett under */
.felt-gruppe { display: flex; flex-direction: column; gap: 0.8rem; }
.felt-bilder span { display: block; font-size: 0.78rem; color: var(--dis);
  margin-bottom: 0.25rem; }
.felt-bilder input[type="file"] { font-size: 0.8rem; width: 100%; }
.bilde-brikke .bilde-seksjon {
  position: absolute;
  top: 0.3rem; left: 0.3rem;
  font-size: 0.65rem;
  padding: 0.1rem 0.45rem;
  border-radius: 0.6rem;
  background: rgba(11, 14, 26, 0.8);
  color: var(--kvant);
}

dialog#lysboks {
  border: none;
  border-radius: var(--radius);
  padding: 0.6rem;
  background: var(--panel);
  max-width: min(92vw, 1100px);
}

dialog#lysboks::backdrop {
  background: rgba(3, 5, 12, 0.8);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

dialog#lysboks img {
  display: block;
  max-width: 100%;
  max-height: 78vh;
  border-radius: 6px;
  margin-bottom: 0.6rem;
}

/* infoboksene */

.bokser {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.1rem;
}

/* Aktivitetsdetaljer: info-ruter til venstre, «Ta med» som sidekolonne på brede
   skjermer (kortere side). Stables i én kolonne på smått. */
.aktivitet-innhold { display: flex; flex-direction: column; gap: 1.1rem; }
.detaljer { display: grid; gap: 1.1rem; }
.detalj-info {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.1rem;
  align-content: start;
}
.ta-med-boks { align-self: start; }
@media (min-width: 780px) {
  .detaljer.med-sidebar {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    align-items: start;
  }
}

.boks {
  background: var(--glass);
  -webkit-backdrop-filter: blur(var(--uskarphet));
  backdrop-filter: blur(var(--uskarphet));
  border: 1px solid var(--strek);
  border-radius: var(--radius);
  padding: 1.1rem 1.3rem 1.2rem;
  box-shadow: inset 0 1px 0 rgba(233, 236, 247, 0.05), 0 6px 18px rgba(3, 5, 12, 0.3);
}

.boks.bred { grid-column: 1 / -1; }

.boks h2 {
  font-family: var(--mono);
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--kvant);
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 0.8rem;
}

.boks h2::after { content: ""; flex: 1; height: 1px; background: var(--strek); }

.boks p:last-child { margin-bottom: 0; }

.fritekst { white-space: pre-line; }

.kartlenke {
  font-family: var(--mono);
  font-size: 0.8rem;
  text-decoration: none;
}

.sjekkliste {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sjekkliste li + li { border-top: 1px solid var(--strek); }

.sjekkliste label {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.42rem 0;
  cursor: pointer;
}

.sjekkliste input { accent-color: var(--aksent); width: 1rem; height: 1rem; }

/* underpunkter i «Ta med» (toalettmappe → tannbørste, tannkrem …) */
.sjekkliste.under {
  margin-left: 1.7rem;
  border-left: 1px solid var(--strek);
  padding-left: 0.7rem;
}
.sjekkliste.under li { border-top: none; }
.sjekkliste.under label { padding: 0.2rem 0; font-size: 0.9rem; color: var(--dis); }
.sjekkliste.under input { width: 0.85rem; height: 0.85rem; accent-color: var(--kvant); }

/* lokasjon: adresse + innebygd OpenStreetMap-kart */
.adresse { margin: 0.3rem 0 0; color: var(--dis); font-size: 0.9rem; }
.kart-ramme {
  margin-top: 0.8rem;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--kant);
}
.kart-ramme iframe {
  display: block;
  width: 100%;
  height: 260px;
  border: 0;
  filter: saturate(0.85) contrast(1.02);
}
.rute-lenker { display: flex; flex-wrap: wrap; gap: 1rem; margin: 0.6rem 0 0; }

/* personlig pakkeliste («Ta med» per bruker) */
.pakke-status { margin: 0 0 0.5rem; font-size: 0.85rem; color: var(--dis); }
.pakke-status strong { color: var(--kvant); }
.pakke-hint { margin: 0.6rem 0 0; font-size: 0.75rem; color: var(--dis); }

/* budsjett og oppgjør */
.utgift-tabell { width: 100%; border-collapse: collapse; margin-bottom: 0.8rem; }
.utgift-tabell td { padding: 0.35rem 0.5rem 0.35rem 0;
  border-bottom: 1px solid var(--strek); vertical-align: middle; }
.utgift-hvem { display: flex; align-items: center; gap: 0.45rem; }
.utgift-belop { text-align: right; white-space: nowrap; color: var(--aksent); }
.utgift-slett { text-align: right; width: 3rem; }
.utgift-slett form { margin: 0; }
.oppgjor-sum small { color: var(--dis); }
.oppgjor { margin-top: 0.6rem; }
.oppgjor h3 { margin: 0 0 0.4rem; font-size: 1rem; }
.oppgjor-liste { margin: 0; padding-left: 1.2rem; }
.oppgjor-liste li { margin-bottom: 0.3rem; }
.vipps-nr { color: var(--kvant); white-space: nowrap; }
.utgift-skjema { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 0.9rem; }
.utgift-skjema input[name="hva"] { flex: 1; min-width: 12rem; }
.utgift-skjema input[name="belop"] { width: 7rem; }

/* info-hjelpen på publiseringssiden */
.info-hjelp {
  margin: 0 0 1.2rem;
  padding: 0.7rem 1rem;
  border: 1px solid var(--kant);
  border-radius: var(--radius);
  background: var(--glass);
  font-size: 0.9rem;
}
.info-hjelp summary { cursor: pointer; color: var(--aksent); font-weight: 600; }
.info-hjelp ul { margin: 0.6rem 0 0.2rem; padding-left: 1.3rem; }
.info-hjelp li { margin-bottom: 0.35rem; color: var(--dis); }
.info-hjelp li strong { color: var(--lys); }

.sjekkliste input:checked + span {
  text-decoration: line-through;
  color: var(--dis);
}

/* --------------------------------------------------------- skjema */

.skjema {
  display: grid;
  gap: 1.1rem;
  background: var(--glass);
  -webkit-backdrop-filter: blur(var(--uskarphet));
  backdrop-filter: blur(var(--uskarphet));
  border: 1px solid var(--strek);
  border-radius: var(--radius);
  padding: clamp(1.2rem, 3vw, 1.8rem);
  margin-bottom: 2rem;
  box-shadow: inset 0 1px 0 rgba(233, 236, 247, 0.05), 0 6px 18px rgba(3, 5, 12, 0.3);
}

.skjema label { display: grid; gap: 0.35rem; }

.feltnavn {
  font-family: var(--mono);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--kvant);
}

.feltnavn small { text-transform: none; letter-spacing: 0; color: var(--dis); }

.skjema input[type="text"],
.skjema input[type="password"],
.skjema input[type="email"],
.skjema input[type="date"],
.skjema input[type="number"],
.skjema input:not([type]),
.skjema input[type="datetime-local"],
.skjema textarea {
  font: inherit;
  color: var(--lys);
  background: rgba(11, 14, 26, 0.6);
  border: 1px solid var(--strek);
  border-radius: 8px;
  padding: 0.55em 0.75em;
  width: 100%;
  transition: border-color 140ms ease, box-shadow 140ms ease;
}

.skjema input:focus,
.skjema textarea:focus {
  outline: none;
  border-color: var(--aksent);
  box-shadow: 0 0 0 3px rgba(233, 185, 73, 0.16);
}

.skjema textarea { resize: vertical; }

.topar {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.1rem;
}

.bildefelt {
  border: 1px dashed var(--strek);
  border-radius: 8px;
  padding: 1rem;
  margin: 0;
}

.bildefelt legend { padding: 0 0.4rem; }

.bilderad {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-bottom: 1rem;
}

.bilde-brikke {
  position: relative;   /* forankrer seksjonsmerket */
  width: 110px;
  cursor: pointer;
}

.bilde-brikke img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border: 1px solid var(--strek);
  border-radius: 6px;
}

.bilde-brikke .fjern {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-family: var(--mono);
  font-size: 0.72rem;
  color: var(--fare);
  padding-top: 0.25rem;
}

.bilde-brikke input { accent-color: var(--fare); }

.bilde-brikke:has(input:checked) img { opacity: 0.35; }

.filvelger input[type="file"] { font-size: 0.9rem; }

.skjemahandlinger {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.avbryt { color: var(--dis); text-decoration: none; }
.avbryt:hover { color: var(--lys); }

.feil {
  background: rgba(255, 107, 107, 0.12);
  border: 1px solid rgba(255, 107, 107, 0.42);
  color: var(--fare);
  border-radius: 8px;
  padding: 0.7rem 1rem;
  margin: 0 0 1.1rem;
}

/* Status-/kvitteringsboks. Scopet vekk fra chat-boblene (.melding.min/.deres)
   som deler klassenavn men er noe helt annet. */
.melding:not(.min):not(.deres) {
  background: rgba(106, 208, 224, 0.12);
  border: 1px solid rgba(106, 208, 224, 0.42);
  color: var(--lys);
  border-radius: 8px;
  padding: 0.7rem 1rem;
  margin: 0 0 1.1rem;
}

.paa-nytt-skjema { margin: 0.4rem 0 1.2rem; }

/* ----------------------------------------------------- innlogging */

.logg-inn-side { max-width: 26rem; margin: 0 auto; }

.innlogging-info { color: var(--dis); margin: 0 0 1.4rem; }

.signatur {
  font-family: var(--mono);
  font-size: 0.75rem;
  color: var(--dis);
  margin: -0.6rem 0 1.6rem;
}

.signatur strong { color: var(--kvant); font-weight: 600; }

/* ----------------------------------------------------------- bunn */

.bunn {
  border-top: 1px solid var(--strek);
  padding-top: 1rem;
  padding-bottom: 1.4rem;
}

.bunn p {
  font-family: var(--mono);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--dis);
  margin: 0;
}

/* ------------------------------------------------ tilganger (admin) */

.tilgang-panel { padding: 1.3rem 1.4rem 1.5rem; margin-bottom: 1.4rem; }

.tilgang-panel .stempel { margin-bottom: 1rem; }

.tabell-omslag { overflow-x: auto; }

.tilgang-tabell {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.tilgang-tabell th,
.tilgang-tabell td {
  padding: 0.6rem 0.8rem;
  border-bottom: 1px solid var(--strek);
  text-align: center;
}

.tilgang-tabell thead th {
  font-family: var(--mono);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--dis);
  border-bottom: 1px solid var(--aksent);
}

.tilgang-tabell th:first-child,
.tilgang-tabell .navn-celle {
  text-align: left;
  white-space: nowrap;
}

.navn-celle .merkelapp { margin-left: 0.4rem; }

.tilgang-tabell td.ja { color: var(--kvant); font-weight: 700; }
.tilgang-tabell td.nei { color: var(--dis); }

.tilgang-tabell tbody tr:last-child td { border-bottom: none; }

.omrade-forklaring {
  list-style: none;
  padding: 0;
  margin: 1.1rem 0 0;
  font-size: 0.82rem;
  color: var(--dis);
}

.omrade-forklaring li { margin-bottom: 0.35rem; }
.omrade-forklaring strong { color: var(--lys); }

.endringslogg {
  list-style: none;
  padding: 0;
  margin: 0;
}

.endringslogg li {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem 0.8rem;
  align-items: baseline;
  padding: 0.55rem 0;
  border-bottom: 1px solid var(--strek);
}

.endringslogg li:last-child { border-bottom: none; }

.logg-tid {
  font-family: var(--mono);
  font-size: 0.72rem;
  color: var(--dis);
  min-width: 9.5rem;
}

.logg-hvem { color: var(--kvant); font-weight: 600; }
.logg-hva { color: var(--lys); }

.logg-fotnote,
.tom-logg {
  font-size: 0.78rem;
  color: var(--dis);
  margin: 1rem 0 0;
}

/* Trafikk: søylerad per side (aktivitet per side) */
.trafikk-liste {
  list-style: none;
  padding: 0;
  margin: 0;
}

.trafikk-rad {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.45rem 0;
}

.trafikk-navn {
  flex: 0 0 8rem;
  color: var(--lys);
  font-weight: 600;
}

.trafikk-spor {
  flex: 1 1 auto;
  height: 0.5rem;
  border-radius: 999px;
  background: var(--dyp);
  overflow: hidden;
}

.trafikk-bar {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--kvant), var(--aksent));
  min-width: 2px;
}

.trafikk-tall {
  flex: 0 0 auto;
  min-width: 2.5rem;
  text-align: right;
  font-family: var(--mono);
  color: var(--dis);
}

/* ------------------------------------------------ kontrollpanel-skjema */

.panelskjema { margin-bottom: 1.6rem; }

.panel-omrade {
  padding: 1.2rem 1.4rem 1.3rem;
  margin-bottom: 1.2rem;
  border: 1px solid var(--strek);
}

.panel-omrade legend {
  font-family: var(--mono);
  font-size: 0.9rem;
  letter-spacing: 0.06em;
  color: var(--aksent);
  padding: 0 0.5rem;
}

.omrade-forklaring-linje { color: var(--dis); font-size: 0.85rem; margin: 0 0 1rem; }

.synlig-bryter {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--kant);
  font-size: 0.85rem;
  color: var(--dis);
  line-height: 1.4;
}
.synlig-bryter input[type="checkbox"] {
  width: 1.1rem;
  height: 1.1rem;
  margin-top: 0.1rem;
  flex: none;
  accent-color: var(--aksent);
}
.synlig-bryter strong { color: var(--lys); }

.varsle-boks {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  margin-top: 1rem;
  font-size: 0.85rem;
  color: var(--dis);
  line-height: 1.4;
}
.varsle-boks input[type="checkbox"] {
  width: 1.1rem;
  height: 1.1rem;
  margin-top: 0.1rem;
  flex: none;
  accent-color: var(--aksent);
}

.merkelapp.mini {
  font-size: 0.5rem;
  padding: 0.05em 0.3em;
  background: var(--dis);
  vertical-align: middle;
}

.synlighet { margin-bottom: 1rem; }
.synlighet .feltnavn { display: block; margin-bottom: 0.4rem; }
.synlighet .radio { display: flex; margin: 0 0 0.35rem; }

.radio {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-right: 1.2rem;
  color: var(--lys);
  font-size: 0.9rem;
}

.panel-tabell { max-width: 32rem; }
.panel-tabell input[type="checkbox"] { width: 1.1rem; height: 1.1rem; accent-color: var(--aksent); }
.panel-hint { font-size: 0.76rem; color: var(--dis); margin: 0.8rem 0 0; }

.knapp.liten { padding: 0.32rem 0.7rem; font-size: 0.78rem; }

.konto-tabell th,
.konto-tabell td { text-align: left; vertical-align: middle; }

.konto-knapper { display: flex; gap: 0.4rem; flex-wrap: wrap; }
.konto-knapper form { margin: 0; }

.skjema-bytt { margin-top: 1.3rem; color: var(--dis); font-size: 0.9rem; }

/* «Logg inn med …»-knapper */
.oauth-knapper { display: grid; gap: 0.6rem; margin-top: 1.4rem; }

.oauth-eller {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  color: var(--dis);
  font-size: 0.8rem;
  margin: 0.4rem 0;
}
.oauth-eller::before,
.oauth-eller::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--strek);
}

.oauth-knapp {
  display: block;
  text-align: center;
  text-decoration: none;
  font-weight: 600;
  padding: 0.7rem 1rem;
  border-radius: 8px;
  color: #fff;
  border: 1px solid transparent;
  transition: filter 140ms ease;
}
.oauth-knapp:hover { filter: brightness(1.1); color: #fff; }
.oauth-discord { background: #5865F2; }
.oauth-google { background: #1a73e8; }

.oauth-note {
  margin: 0.6rem 0 0;
  font-size: 0.8rem;
  color: var(--dis);
  text-align: center;
  line-height: 1.5;
}
.oauth-note strong { color: var(--lys); }

.skjema input[type="url"] {
  font-family: inherit;
  width: 100%;
  padding: 0.6rem 0.7rem;
  background: rgba(11, 14, 26, 0.6);
  border: 1px solid var(--strek);
  border-radius: 8px;
  color: var(--lys);
  transition: border-color 140ms ease, box-shadow 140ms ease;
}

.skjema input[type="file"] {
  font-size: 0.85rem;
  color: var(--dis);
}

/* ------------------------------------------------ diskusjoner (forum) */

.tradliste { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.8rem; }

.tradkort { padding: 1rem 1.2rem; }
.tradkort h3 { margin: 0 0 0.3rem; }

.trad-meta {
  font-family: var(--mono);
  font-size: 0.74rem;
  color: var(--dis);
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0;
}

.trad-topp { margin-bottom: 1.8rem; }
.trad-topp-hode {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.trad-topp-hode h1 { margin: 0; }
.trad-brodtekst { margin-top: 1rem; }

.svarseksjon { margin-top: 1rem; }

.kommentar {
  background: var(--glass);
  -webkit-backdrop-filter: blur(var(--uskarphet));
  backdrop-filter: blur(var(--uskarphet));
  border: 1px solid var(--strek);
  border-radius: 9px;
  padding: 0.9rem 1.1rem;
  margin-bottom: 0.8rem;
}

.kommentar-hode {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin: 0 0 0.4rem;
  font-size: 0.82rem;
}
.kommentar-hode strong { color: var(--kvant); }
.kommentar-tid { font-family: var(--mono); font-size: 0.72rem; color: var(--dis); }
.kommentar-slett { margin-left: auto; margin-bottom: 0; }
.tekstknapp.fare { color: var(--fare); }

.rediger-inline { margin-top: 0.5rem; }
.rediger-inline summary {
  cursor: pointer;
  font-family: var(--mono);
  font-size: 0.74rem;
  color: var(--dis);
  list-style: none;
  width: max-content;
}
.rediger-inline summary::-webkit-details-marker { display: none; }
.rediger-inline summary:hover { color: var(--kvant); }
.rediger-inline[open] summary { color: var(--kvant); margin-bottom: 0.5rem; }
.rediger-inline textarea { width: 100%; margin-bottom: 0.5rem; }

.svarskjema { margin-top: 1.4rem; }

/* ------------------------------------------------ essays */

.essaykort { padding: 1.1rem 1.2rem; }
.essaykort h3 { margin: 0.4rem 0 0.3rem; }

.essaytype {
  font-family: var(--mono);
  font-size: 0.66rem;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: var(--rom);
  background: var(--kvant);
  border-radius: 4px;
  padding: 0.12em 0.5em;
}

.essay-forfatter { color: var(--dis); font-style: italic; margin: 0.2rem 0; }
.essay-meta { font-family: var(--mono); font-size: 0.72rem; color: var(--dis); margin: 0.3rem 0 0; }
.essay-handling { margin: 1rem 0; }
.essay-tekst { margin-top: 1.4rem; font-size: 1.02rem; line-height: 1.7; }

.pdf-visning {
  width: 100%;
  height: 75vh;
  margin-top: 1.2rem;
  border: 1px solid var(--strek);
  border-radius: 8px;
  background: var(--rom);
}

/* ------------------------------------------ forside: logo-splash */

html { scroll-behavior: smooth; }

/* På forsiden er den faste menyen skjult over splashen, og glir inn ved scroll. */
body.forside .topp {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  transform: translateY(-100%);
  background: transparent;
  border-bottom-color: transparent;
  transition: transform 260ms ease, background 260ms ease, border-color 260ms ease;
}
body.forside.rullet .topp {
  transform: translateY(0);
  background: rgba(11, 14, 26, 0.9);
  border-bottom-color: var(--strek);
  -webkit-backdrop-filter: blur(var(--uskarphet));
  backdrop-filter: blur(var(--uskarphet));
}

.forsidesplash {
  min-height: calc(100vh - 3.5rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.7rem;
}

.splash-logo {
  display: inline-flex;
  align-items: center;
  gap: 1.1rem;
  color: var(--lys);
}

.splash-ikon {
  width: clamp(43px, 8vw, 69px);
  height: clamp(43px, 8vw, 69px);
  flex-shrink: 0;
}

.splash-navn {
  font-family: var(--grotesk);
  font-weight: 700;
  font-size: clamp(1.85rem, 6.7vw, 3.65rem);
  letter-spacing: -0.01em;
  line-height: 1;
}

.splash-tagline {
  font-family: var(--mono);
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.24em;
  color: var(--kvant);
  margin: 0;
}

/* rolig inntoning når forsiden lastes */
@keyframes splash-inn {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}

.splash-logo    { animation: splash-inn 650ms ease-out backwards; }
.splash-tagline { animation: splash-inn 650ms ease-out 160ms backwards; }

.splash-ned {
  margin-top: 2rem;
  font-size: 1.7rem;
  line-height: 1;
  color: var(--aksent);
  text-decoration: none;
  animation: splash-sprett 1.9s ease-in-out infinite;
}
.splash-ned:hover { color: var(--aksent-glo); }

@keyframes splash-sprett {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(9px); }
}

/* ------------------------------------------------------ diverse */

@media (max-width: 640px) {
  .stjernekart { min-height: 240px; }
  .romfigur { opacity: 0.55; }
  .splash-logo { flex-direction: column; gap: 0.5rem; }
  .topp-hoyre { gap: 0.7rem; }
  .hvem-navn { display: none; }  /* smal skjerm: vis kun avataren */
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
  html { scroll-behavior: auto; }
}

/* ------------------------------------------------------------------
   Profiler: hover-kort, offentlig profilside, favoritt-lenker
------------------------------------------------------------------- */
.avatar-holder { position: relative; display: inline-flex; vertical-align: middle; }
.avatar-lenke { display: inline-flex; border-radius: 50%; }
.avatar-xl { width: 6.5rem; height: 6.5rem; font-size: 2.6rem; }

/* Lite forhåndsvisnings-kort som dukker opp når man holder over en avatar */
.profil-kort {
  position: absolute;
  left: 50%;
  top: calc(100% + 0.5rem);
  transform: translateX(-50%) translateY(-6px);
  z-index: 70;
  width: 15rem;
  max-width: 72vw;
  padding: 0.7rem 0.8rem;
  border-radius: 0.7rem;
  border: 1px solid var(--strek);
  background-color: var(--panel);
  background-size: cover;
  background-position: center;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.14s ease, transform 0.14s ease;
  color: var(--lys);
  text-align: left;
}
.avatar-holder:hover .profil-kort {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.profil-kort-hode { display: flex; align-items: center; gap: 0.5rem; }
.profil-kort-navn { font-weight: 600; font-size: 0.95rem; }
.profil-kort-bio {
  display: block;
  margin-top: 0.45rem;
  font-size: 0.8rem;
  color: var(--dis);
  line-height: 1.4;
}

/* Profilside-topp (hero) med valgfri bakgrunn */
.profil-hero {
  display: flex;
  align-items: center;
  gap: 1.3rem;
  padding: 1.6rem;
  border-radius: 1rem;
  border: 1px solid var(--strek);
  background-color: var(--glass);
  background-size: cover;
  background-position: center;
  margin-bottom: 1.4rem;
}
.profil-hero.med-bakgrunn { min-height: 12rem; align-items: flex-end; }
.profil-hero-tekst { display: flex; flex-direction: column; gap: 0.5rem; align-items: flex-start; }
.profil-hero-tekst h1 { margin: 0; }

/* Favoritter */
.favoritt-liste {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
  gap: 0.9rem;
}
.favoritt.spotify { grid-column: 1 / -1; max-width: 32rem; }
.favoritt.spotify iframe { width: 100%; border-radius: 0.75rem; display: block; }
.kort-lenke {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  padding: 0.8rem 0.9rem;
  border-radius: 0.7rem;
  border: 1px solid var(--strek);
  background: var(--dyp);
  color: var(--lys);
  text-decoration: none;
  transition: border-color 0.15s ease;
}
.kort-lenke:hover { border-color: var(--aksent); }
.kort-lenke.med-cover { padding: 0; overflow: hidden; }
.kort-lenke.med-cover img { width: 100%; height: 12rem; object-fit: cover; display: block; }
.kort-lenke.med-cover .favoritt-tittel { padding: 0.6rem 0.8rem; }
.favoritt-tittel { font-weight: 600; }
.favoritt-url { font-size: 0.75rem; color: var(--dis); word-break: break-all; }

/* Lenke-redigering i «Min profil» */
.lenke-rediger { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: 0.8rem; }
.lenke-gruppe > ul { list-style: none; margin: 0.3rem 0 0; padding: 0; }
.lenke-gruppe-navn { font-weight: 600; color: var(--kvant); font-size: 0.85rem; }
.lenke-rad { display: flex; align-items: center; gap: 0.6rem; padding: 0.3rem 0; flex-wrap: wrap; }
.lenke-tittel { flex: 1; color: var(--lys); }
.lenke-slett { margin: 0; }
.lenke-endre { margin: 0; }
.lenke-endre summary { list-style: none; }
.lenke-endre summary::-webkit-details-marker { display: none; }
.lenke-endre[open] { flex-basis: 100%; order: 1; }
.lenke-endre[open] summary { color: var(--aksent); }
.lenke-endre .skjema {
  margin: 0.5rem 0 0.4rem;
  padding: 0.7rem 0.9rem;
  border: 1px solid rgba(233, 185, 73, 0.25);
  border-radius: 10px;
  background: rgba(30, 36, 64, 0.45);
}

/* ------------------------------------------------------------------
   Galleriet: albumvelger + rutenett
------------------------------------------------------------------- */
.albumrad {
  display: flex;
  gap: 0.8rem;
  overflow-x: auto;
  padding-bottom: 0.5rem;
  margin-bottom: 1.4rem;
}
.albumbrikke {
  flex: none;
  width: 9.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  padding: 0.5rem;
  border-radius: 0.7rem;
  border: 1px solid var(--strek);
  background: var(--glass);
  color: var(--lys);
  text-decoration: none;
  transition: border-color 0.15s ease;
}
.albumbrikke:hover { border-color: var(--aksent); }
.albumbrikke.valgt { border-color: var(--aksent); box-shadow: 0 0 0 1px var(--aksent); }
.albumbrikke img, .album-tom {
  width: 100%;
  height: 6rem;
  object-fit: cover;
  border-radius: 0.45rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  background: var(--dyp);
}
.album-tittel { font-weight: 600; font-size: 0.85rem; }
.album-antall { font-size: 0.72rem; color: var(--dis); }
.album-hode { display: flex; align-items: center; gap: 0.9rem; flex-wrap: wrap; margin-bottom: 0.9rem; }
.album-hode h2 { margin: 0; }
.album-meta { margin: 0; font-size: 0.8rem; color: var(--dis); flex: 1; }
.galleri-brikke { position: relative; }
.galleri-brikke form { position: absolute; right: 0.4rem; bottom: 0.4rem; margin: 0; }

/* ------------------------------------------------------------------
   Livstreet: bobler og tråder
------------------------------------------------------------------- */
.livstre {
  position: relative;
  height: clamp(24rem, 62vh, 42rem);
  border: 1px solid var(--strek);
  border-radius: 1rem;
  background: var(--glass);
  overflow: hidden;
  margin-bottom: 1.4rem;
}
/* «Verden»: større enn boksen når treet er stort, skalert ned = zoomet ut */
.livstre-verden { position: absolute; left: 0; top: 0; transform-origin: 0 0; }
.livstre-trader { position: absolute; inset: 0; width: 100%; height: 100%; }
.livstre-trader line { stroke: var(--kvant); stroke-width: 1.2; opacity: 0.45; }
.livstre-boble {
  position: absolute;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  text-decoration: none;
  color: var(--lys);
  z-index: 2;
}
.livstre-boble img, .boble-bokstav {
  border-radius: 50%;
  object-fit: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(140deg, var(--kvant), var(--aksent));
  color: var(--rom);
  font-weight: 700;
  border: 2px solid var(--strek);
  transition: transform 0.15s ease, border-color 0.15s ease;
}
.livstre-boble:hover img, .livstre-boble:hover .boble-bokstav {
  transform: scale(1.08);
  border-color: var(--aksent);
}
.livstre-boble.niva0 img, .livstre-boble.niva0 .boble-bokstav {
  width: 5.2rem; height: 5.2rem; font-size: 2.1rem; border-color: var(--aksent);
}
.livstre-boble.niva1 img, .livstre-boble.niva1 .boble-bokstav {
  width: 3.6rem; height: 3.6rem; font-size: 1.5rem;
}
.livstre-boble.niva2 img, .livstre-boble.niva2 .boble-bokstav {
  width: 2.5rem; height: 2.5rem; font-size: 1rem; opacity: 0.85;
}
.boble-navn {
  /* motskaleres delvis når verden zoomes ut, så navnene forblir lesbare */
  font-size: calc(0.72rem * var(--navnskala, 1));
  background: rgba(8, 10, 22, 0.72);
  padding: 0.1rem 0.45rem;
  border-radius: 0.6rem;
  white-space: nowrap;
}

.kjentskap-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.kjentskap-rad { display: flex; align-items: center; gap: 0.6rem; }
.kjentskap-rad form { display: flex; gap: 0.4rem; margin: 0; }
.kjentskap-navn { flex: 1; }
.hotbar input[list] { width: 100%; }

/* ------------------------------------------------------------------
   Fokuspunkt-velger (profilbilde/bakgrunn): kilde + live resultat
------------------------------------------------------------------- */
.fokus-flate { display: flex; gap: 1.1rem; align-items: flex-start; flex-wrap: wrap; }
.fokus-kilde {
  position: relative;
  flex: 1 1 14rem;
  max-width: 22rem;
  cursor: crosshair;
  border-radius: 0.6rem;
  overflow: hidden;
  border: 1px solid var(--strek);
}
.fokus-kilde img { width: 100%; display: block; }
.fokus-kryss {
  position: absolute;
  left: 50%; top: 50%;
  width: 1.4rem; height: 1.4rem;
  transform: translate(-50%, -50%);
  border: 2px solid var(--aksent);
  border-radius: 50%;
  box-shadow: 0 0 0 2px rgba(8, 10, 22, 0.6);
  pointer-events: none;
}
.fokus-resultat { flex: none; }
.fokus-resultat img { display: block; object-fit: cover; }
.fokus-resultat.rund img {
  width: 6.5rem; height: 6.5rem;
  border-radius: 50%;
  border: 2px solid var(--strek);
}
.fokus-resultat.bred img {
  width: 15rem; height: 7rem;
  border-radius: 0.6rem;
  border: 1px solid var(--strek);
}

/* ------------------------------------------------------------------
   Forslagstavla: metalltavle med anonyme post-it-lapper
------------------------------------------------------------------- */
.tavle-seksjon { margin-top: 2.2rem; }
.tavle-sporsmal { text-align: center; margin-bottom: 1rem; }
.tavle-sporsmal h2 { margin: 0 0 0.4rem; }
.tavle-rediger { font-size: 0.85rem; color: var(--dis); }
.tavle-rediger summary { cursor: pointer; }
.tavle-rediger form { display: flex; gap: 0.5rem; margin-top: 0.5rem; justify-content: center; }
.tavle-rediger input { flex: 1; max-width: 28rem; }

.tavle {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));
  gap: 1.1rem;
  padding: 1.4rem;
  border-radius: 0.9rem;
  /* børstet metall: skrå lysstriper over en grå flate + ramme */
  background:
    repeating-linear-gradient(105deg,
      rgba(255, 255, 255, 0.045) 0 2px, rgba(0, 0, 0, 0.05) 2px 4px),
    linear-gradient(180deg, #3a4150, #2b303d);
  border: 1px solid rgba(180, 195, 255, 0.22);
  box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.45);
}
.tavle-tom { grid-column: 1 / -1; text-align: center; color: var(--dis); margin: 0.6rem 0; }
.lapp {
  position: relative;
  padding: 1.1rem 0.9rem 0.6rem;
  min-height: 8rem;
  border-radius: 0.15rem;
  color: #26221a;
  font-size: 0.9rem;
  line-height: 1.45;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.45);
  display: flex;
  flex-direction: column;
  transform: rotate(-1.2deg);
}
.lapp:nth-child(even) { transform: rotate(1.4deg); }
.lapp:nth-child(3n) { transform: rotate(-0.5deg); }
.lapp.farge0 { background: #f6e27a; }
.lapp.farge1 { background: #a8e6a1; }
.lapp.farge2 { background: #9fd8ef; }
.lapp.farge3 { background: #f7b8d2; }
.lapp-nal {
  position: absolute;
  top: 0.4rem; left: 50%;
  width: 0.75rem; height: 0.75rem;
  transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, #f2f5ff, #6a7387 60%, #3d4353);
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.4);
}
.lapp-tekst { margin: 0; flex: 1; overflow-wrap: anywhere; white-space: pre-wrap; }
.lapp-bunn { display: flex; align-items: center; justify-content: space-between; margin-top: 0.5rem; }
.lapp-bunn form { margin: 0; }

/* museet: samlingen – montre (aktiviteter), bøker (diskusjoner) og
   skriftruller (essays). Kun metadata vises; innholdet er aldri bevart. */
.samling {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
  gap: 1.1rem;
  margin-top: 0.9rem;
}
.gjenstand {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 1.1rem 1rem;
  border-radius: 0.5rem;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.45);
}
.gjenstand-type { margin: 0; font-size: 0.72rem; letter-spacing: 0.08em;
  text-transform: uppercase; opacity: 0.75; }
.gjenstand-tittel { margin: 0; font-size: 1.05rem; line-height: 1.3; }
.gjenstand-dato { margin: 0; font-size: 0.8rem; opacity: 0.8; }
.gjenstand-pavirkning { margin-top: auto; padding-top: 0.5rem; }
.gjenstand-pavirkning p { margin: 0.3rem 0 0; font-size: 0.78rem; }
.gjenstand-detaljer { opacity: 0.75; }
.pavirkning-stolpe {
  height: 0.4rem;
  border-radius: 0.2rem;
  background: rgba(0, 0, 0, 0.25);
  overflow: hidden;
}
.pavirkning-stolpe span { display: block; height: 100%; border-radius: 0.2rem;
  background: linear-gradient(90deg, var(--kvant), var(--aksent)); }
.gjenstand form { margin: 0.4rem 0 0; align-self: flex-end; }
/* monter: mørk plakett med gullramme */
.gjenstand.aktivitet {
  background: linear-gradient(160deg, #1c2138, #10131f);
  border: 2px solid rgba(233, 185, 73, 0.55);
  outline: 1px solid rgba(233, 185, 73, 0.2);
  outline-offset: 4px;
}
/* bok: skinnrygg med gulldekor */
.gjenstand.diskusjon {
  background: linear-gradient(160deg, #4a2e1f, #2c1a10);
  border-left: 0.7rem solid #6b4226;
  border-radius: 0.25rem 0.6rem 0.6rem 0.25rem;
  color: #f3e3c2;
}
.gjenstand.diskusjon .gjenstand-tittel { color: var(--aksent-glo); }
.gjenstand.diskusjon .pavirkning-stolpe { background: rgba(0, 0, 0, 0.4); }
/* skriftrull: pergament med rullede ender og voks-segl */
.gjenstand.essay {
  background: linear-gradient(175deg, #efe3bd, #e2d1a3);
  color: #3a2f1c;
  border-radius: 0.3rem;
  border-top: 0.55rem solid #cdb87f;
  border-bottom: 0.55rem solid #cdb87f;
}
.gjenstand.essay .gjenstand-tittel { color: #2c2413; }
.gjenstand.essay .pavirkning-stolpe { background: rgba(90, 70, 30, 0.25); }
.gjenstand.essay .tekstknapp.fare { color: #a02020; }
.voksegl {
  position: absolute;
  top: 0.7rem; right: 0.8rem;
  width: 1.6rem; height: 1.6rem;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #d94848, #8f1d1d 65%, #6d1414);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.35), inset 0 0 0 3px rgba(120, 25, 25, 0.6);
}
/* «sett i museet»-status på diskusjons-/essay-/aktivitetssider */
.museum-status { margin-top: 0.8rem; font-size: 0.9rem; color: var(--dis); }
.museum-status form { display: flex; align-items: center; gap: 0.7rem; }
.museum-status p { margin: 0; }

/* museet: forslagsveggen – gjennomførte lapper som henger for alltid */
.museum-tavle { margin-top: 0.9rem; }
.lapp-liker-stille {
  background: rgba(0, 0, 0, 0.08);
  border-radius: 1rem;
  padding: 0.1rem 0.6rem;
  font-size: 0.8rem;
}
.lapp-stempel { font-size: 0.72rem; color: #5a5341; }
.lapp-lik {
  border: none;
  background: rgba(0, 0, 0, 0.08);
  border-radius: 1rem;
  padding: 0.15rem 0.6rem;
  font: inherit;
  font-size: 0.8rem;
  color: #7a3048;
  cursor: pointer;
}
.lapp-lik.likt { background: #e0526e; color: #fff; }
.lapp-lik:hover { background: #e0526e; color: #fff; }
.lapp .tekstknapp.fare { color: #a02020; }
.ny-lapp { background: #efe9d8; }
.ny-lapp textarea {
  flex: 1;
  border: none;
  background: transparent;
  resize: none;
  font: inherit;
  color: #26221a;
  outline: none;
  padding: 0;
}
.ny-lapp textarea::placeholder { color: #8a8368; }
.ny-lapp .knapp { align-self: flex-end; margin-top: 0.4rem; }
.tavle-fotnote { text-align: center; font-size: 0.78rem; color: var(--dis); margin-top: 0.7rem; }

/* Livstre-bobler skal kunne dras uten at siden scroller på mobil */
.livstre-boble { touch-action: none; user-select: none; }
.livstre-boble img { -webkit-user-drag: none; }

/* Kontrollpanel: total-kolonnen i døgnaktiviteten */
.trafikk-totalt { font-size: 0.72rem; color: var(--dis); min-width: 3.6rem; text-align: right; }

.profil-kjenner { margin: 0; font-size: 0.85rem; color: var(--dis); }
.profil-kjenner a { color: var(--kvant); }

/* Bokhylla på profilen: bok-rygger på planker, svever frem ved hover/fokus.
   Hver hyllerad er nøyaktig --slot høy og radavstanden er --plank, så den
   repeterende gradienten tegner en planke under HVER rad – uansett antall. */
.bokhylle-boks { overflow: visible; }
.bokhylle { margin-top: 1.1rem; }
.bokhylle-navn {
  margin: 0 0 0.45rem;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--dis);
}
.hylle {
  --slot: 168px;
  --plank: 11px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--plank) 5px;
  padding: 0 10px var(--plank);
  border-left: 9px solid #4a3a22;
  border-right: 9px solid #4a3a22;
  border-radius: 4px;
  background: repeating-linear-gradient(
    to bottom,
    transparent 0,
    transparent var(--slot),
    #5c4527 var(--slot),
    #7a5c33 calc(var(--slot) + 3px),
    #4a3a22 calc(var(--slot) + var(--plank))
  );
}
.bokhylle-tom { margin: 0; font-size: 0.85rem; color: var(--dis); font-style: italic; }

.bok {
  position: relative;
  height: var(--slot);
  display: flex;
  align-items: flex-end;
}
.bok-rygg {
  display: block;
  height: var(--bh, 148px);
  width: var(--bw, 32px);
  writing-mode: vertical-rl;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 10px 0;
  border-radius: 3px 3px 1px 1px;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-align: center;
  cursor: pointer;
  box-shadow: inset -3px 0 6px rgba(0, 0, 0, 0.35),
              inset 2px 0 3px rgba(255, 255, 255, 0.12);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
/* Variasjon i høyde og bredde – bestemt av plassen på hylla */
.bok:nth-of-type(4n+1) .bok-rygg { --bh: 148px; --bw: 34px; }
.bok:nth-of-type(4n+2) .bok-rygg { --bh: 130px; --bw: 27px; }
.bok:nth-of-type(4n+3) .bok-rygg { --bh: 142px; --bw: 38px; }
.bok:nth-of-type(4n)   .bok-rygg { --bh: 155px; --bw: 30px; }
/* Fargepalett i temaet: gull, kvantecyan, støvrød, lilla, skifer */
.bok:nth-of-type(5n+1) .bok-rygg { background: linear-gradient(#c79a3b, #a87f2c); color: #241a06; }
.bok:nth-of-type(5n+2) .bok-rygg { background: linear-gradient(#4f9fb0, #3a7c8a); color: #06222a; }
.bok:nth-of-type(5n+3) .bok-rygg { background: linear-gradient(#a05252, #7d3d3d); color: #f4e7e7; }
.bok:nth-of-type(5n+4) .bok-rygg { background: linear-gradient(#6b5fa3, #544a85); color: #edeaf7; }
.bok:nth-of-type(5n)   .bok-rygg { background: linear-gradient(#3b4468, #2c3350); color: #dfe4f5; }
/* Noen bøker lener seg litt inntil naboen */
.bok:nth-of-type(7n+3) .bok-rygg { transform: rotate(5deg); transform-origin: bottom left; }
.bok:hover .bok-rygg,
.bok:focus-within .bok-rygg {
  transform: translateY(-12px) rotate(0);
  box-shadow: 0 10px 18px rgba(0, 0, 0, 0.45),
              0 0 14px rgba(233, 185, 73, 0.25);
}

/* Kortet som kommer frem over boka */
.bok-kort {
  display: none;
  position: absolute;
  bottom: calc(100% - 4px);
  left: 50%;
  transform: translateX(-50%);
  width: min(200px, calc(100vw - 2rem));
  padding: 0.65rem 0.75rem;
  background: var(--panel);
  border: 1px solid rgba(233, 185, 73, 0.35);
  border-radius: 10px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.5);
  z-index: 40;
}
.bok:hover .bok-kort,
.bok:focus-within .bok-kort { display: block; }
/* Kort ved venstre/høyre kant justeres innover så de ikke går utenfor skjermen */
.bok:first-child .bok-kort { left: 0; transform: none; }
.bok:nth-last-child(-n+2) .bok-kort { left: auto; right: 0; transform: none; }
.bok-kort-tittel { margin: 0 0 0.4rem; font-size: 0.82rem; font-weight: 600; }
.bok-kort-handlinger { display: flex; flex-wrap: wrap; gap: 0.3rem 0.7rem; align-items: center; }
.bok-kort-handlinger form { display: inline; }
.tekstknapp.fare { color: var(--fare); }

/* Sett inn ny bok (kun egen profil) */
.bok-legg { display: flex; gap: 0.5rem; margin-top: 0.5rem; }
.bok-legg input { flex: 1; min-width: 0; }

/* Kjentskap-handlinger på profilen: spør om å bli kjent / godta forespørsel */
.profil-handlinger { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; }
.profil-relasjon-status { font-size: 0.85rem; color: var(--dis); }
.profil-relasjon-svar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem;
  margin-top: 0.2rem;
  font-size: 0.9rem;
  color: var(--kvant);
}

/* Livstreet med valgfri bakgrunn (eget bilde eller profilbakgrunnen) */
.livstre.med-bakgrunn {
  background-size: cover;
  background-position: center;
}

/* ------------------------------------------------------------------
   Kontrollpanel: bakgrunnsvelger per side
------------------------------------------------------------------- */
.bakgrunn-velger { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.8rem; }
.bakgrunn-brikke { position: relative; cursor: pointer; }
.bakgrunn-brikke img {
  width: 5.5rem; height: 3.4rem;
  object-fit: cover;
  border-radius: 0.4rem;
  border: 2px solid var(--strek);
  opacity: 0.45;
  transition: opacity 0.15s ease, border-color 0.15s ease;
  display: block;
}
.bakgrunn-brikke input { position: absolute; opacity: 0; pointer-events: none; }
.bakgrunn-brikke input:checked + img { opacity: 1; border-color: var(--aksent); }
.bakgrunn-justering output { font-family: var(--mono); font-size: 0.8rem; color: var(--kvant); margin-left: 0.5rem; }
.bakgrunn-justering input[type="range"] { width: 100%; accent-color: var(--aksent); }

/* Galleriet: album-synlighet (admin) */
.album-synlighet { margin-bottom: 1rem; font-size: 0.88rem; color: var(--dis); }
.album-synlighet summary { cursor: pointer; }
.album-synlighet form { margin-top: 0.6rem; }

/* Livs-treet: bakteppe som toner inn ved hover over en boble */
.livstre-bakteppe {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
}
.livstre-bakteppe.synlig { opacity: 1; }

/* Profil: varselinnstillinger (Discord + e-post) */
.varsel-tittel { margin: 1.1rem 0 0.35rem; font-size: 0.95rem; color: var(--kvant); }
.varsel-tittel:first-of-type { margin-top: 0.4rem; }

/* Aktivitet: varselpanel for eier/admin */
.varsler-panel h2 .merkelapp { margin-left: 0.4rem; vertical-align: middle; }
.varsel-rader { display: flex; flex-direction: column; gap: 0.7rem; margin: 0.8rem 0; }
.varsel-rad {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.55rem 0.75rem;
  border: 1px solid var(--kant);
  border-radius: 10px;
}
.varsel-rad small { display: block; color: var(--dis); margin-top: 0.15rem; }
.varsel-ok { color: var(--kvant); }
.varsel-automatikk {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.8rem;
  padding-top: 0.7rem;
  border-top: 1px solid var(--kant);
  font-size: 0.88rem;
}
.varsel-automatikk label { display: flex; align-items: center; gap: 0.35rem; }
.varsel-automatikk input[type="checkbox"] { width: auto; }

/* Ny aktivitet: varselvalgene */
.varsle-valg { display: flex; flex-direction: column; gap: 0.5rem; margin-top: 0.9rem; }

/* Nyhetsbanner (Discord-kobling) */
.nyhet-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.7rem;
  margin: 1rem 0 0.4rem;
  padding: 0.7rem 1rem;
  border: 1px solid var(--kant);
  border-radius: 12px;
  background: color-mix(in srgb, var(--kvant) 8%, transparent);
  font-size: 0.9rem;
}
.nyhet-handlinger { display: flex; align-items: center; gap: 0.7rem; }

/* Ikoner i meny og sideoverskrifter */
.meny-ikon { display: inline-block; width: 1.5em; }
.side-ikon { margin-right: 0.4em; font-size: 0.85em; }

/* Museet: tidslinje med utstillinger */
.ferske-boks { margin-bottom: 1.6rem; }
.ferske-liste { list-style: none; padding: 0; margin: 0.4rem 0 0; display: flex; flex-direction: column; gap: 0.45rem; }
.ferske-liste li { display: flex; align-items: baseline; gap: 0.7rem; }
.museum-tidslinje {
  position: relative;
  margin: 1.2rem 0 0 0.6rem;
  padding-left: 1.6rem;
  border-left: 2px solid var(--kant);
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}
.utstilling { position: relative; }
.utstilling-punkt {
  position: absolute;
  left: calc(-1.6rem - 7px);
  top: 1.2rem;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--kvant);
  box-shadow: 0 0 8px var(--kvant);
}
.utstilling-kort h2 { margin: 0.15rem 0 0.4rem; }
.museum-bunn { text-align: center; color: var(--dis); margin: 2rem 0 1rem; font-size: 0.9rem; }

/* Kontrollpanel: Tilgangssystem 2.0 + lagring */
.hurtigvalg { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; padding: 0.8rem 1rem; }
.hurtigvalg small { flex-basis: 100%; color: var(--dis); }
.hurtigvalg-knapper { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; }
.standard-rolle { display: flex; flex-wrap: wrap; align-items: end; gap: 1rem; margin: 0.8rem 0; }
.rolle-velger, .standard-velger { max-width: 100%; }
.lagring-spor { display: block; max-width: 420px; margin: 0.4rem 0 1rem; }
.kvote-standard { max-width: 420px; }

/* Galleriet: fellesalbum */
.bilde-signatur { display: block; font-size: 0.72rem; color: var(--dis); margin-top: 0.15rem; }
.kvote-status { font-size: 0.85rem; color: var(--dis); margin: 0.4rem 0 0; }

/* ------------------------------------------------------------------
   Finpuss 2026-07-20: helhetlig polering («makeover»)
   Ingen nye komponenter – samme kosmos-tema, hevet håndverk.
------------------------------------------------------------------- */

/* Lenker: gyllen, luftig understrek som våkner ved hover */
main a:not(.knapp):not(.kort):not(.tekstknapp):not(.avbryt):not(.oauth-knapp) {
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(233, 185, 73, 0.4);
}
main a:hover { text-decoration-color: currentColor; }

/* Nedtrekk og valg: samme glass-uttrykk som resten av skjemaene */
select {
  font: inherit;
  color: var(--lys);
  background: rgba(11, 14, 26, 0.6);
  border: 1px solid var(--strek);
  border-radius: 8px;
  padding: 0.45em 0.65em;
  transition: border-color 140ms ease, box-shadow 140ms ease;
}
select:focus {
  outline: none;
  border-color: var(--aksent);
  box-shadow: 0 0 0 3px rgba(233, 185, 73, 0.16);
}
input[type="checkbox"], input[type="radio"] { accent-color: var(--aksent); }

/* Tynne scrollbars i temaets farger */
html { scrollbar-width: thin; scrollbar-color: rgba(153, 160, 194, 0.35) transparent; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: rgba(153, 160, 194, 0.28);
  border-radius: 999px;
  border: 3px solid transparent;
  background-clip: content-box;
}
::-webkit-scrollbar-thumb:hover { background-color: rgba(153, 160, 194, 0.45); }

/* Menyen toner mykt inn når den åpnes */
@keyframes meny-inn {
  from { opacity: 0; transform: translateY(-5px); }
  to   { opacity: 1; transform: translateY(0); }
}
.meny[open] .meny-panel { animation: meny-inn 150ms ease-out; }
.meny-panel a, .meny-knapp-lenke { transition: background-color 120ms ease, color 120ms ease; }

/* Logo-planeten dreier litt når man peker på merket */
.merke-ikon { transition: transform 320ms ease; }
.merke:hover .merke-ikon { transform: rotate(24deg); }

/* Knapper: tydelig trykk-respons */
.knapp:active {
  transform: translateY(1px);
  box-shadow: 0 1px 6px rgba(233, 185, 73, 0.22);
}

/* Forsidekortene: ikonet livner til ved hover */
a.kort .side-ikon { display: inline-block; transition: transform 180ms ease; }
a.kort:hover .side-ikon { transform: scale(1.18) rotate(-6deg); }

/* Status- og feilbokser: farget kant som signal (chat-bobler unntatt) */
.feil { border-left: 3px solid var(--fare); }
.melding:not(.min):not(.deres) { border-left: 3px solid var(--kvant); }

/* Tabeller: radene svarer på pekeren */
.tilgang-tabell tbody tr:hover td { background: rgba(233, 236, 247, 0.03); }

/* Lysboksen får samme kant som resten av flatene */
dialog#lysboks { border: 1px solid var(--strek); }

/* Varselrader på aktivitetssiden: bryt pent på smal skjerm */
@media (max-width: 640px) {
  .varsel-rad { flex-wrap: wrap; }
}

/* -------------------------------------------------------------------
   Kjelleren i Museet og Dungeon Gate
   En dør uten forklaring nederst i Museet, og konsollskjermen bak den:
   dørvokteren vises som om den prosjekteres på en gammel skjerm.
------------------------------------------------------------------- */

/* Kjelleren: det blir mørkere jo lenger ned man kommer */
.kjeller {
  margin-top: 4rem;
  padding: 5rem 0 2.5rem;
  display: flex;
  justify-content: center;
  background: radial-gradient(ellipse 70% 100% at 50% 100%,
              rgba(0, 0, 0, 0.55), transparent 70%);
}

/* Døren: mørk bue med et svakt lys i sprekken */
.dungeon-dor {
  position: relative;
  width: 150px;
  height: 210px;
  border-radius: 75px 75px 6px 6px;
  background: linear-gradient(180deg, #12152a, #090b16);
  border: 2px solid rgba(180, 195, 255, 0.12);
  box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.8),
              0 0 24px rgba(0, 0, 0, 0.6);
}
.dungeon-dor::before {
  /* lysstripen i dørsprekken */
  content: "";
  position: absolute;
  left: 50%;
  top: 14px;
  bottom: 6px;
  width: 2px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, transparent, rgba(106, 208, 224, 0.35), transparent);
}

/* Pilen bak skiltet: dukker frem når skiltet dras til side */
.dor-pil {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-90deg);
  font-size: 2.4rem;
  line-height: 1;
  color: var(--kvant);
  text-decoration: none;
  text-shadow: 0 0 14px rgba(106, 208, 224, 0.8);
  animation: pil-puls 1.6s ease-in-out infinite;
}
.dor-pil:hover { color: var(--lys); }
@keyframes pil-puls {
  0%, 100% { transform: translate(-50%, -50%) rotate(-90deg); opacity: 0.7; }
  50% { transform: translate(-50%, -62%) rotate(-90deg); opacity: 1; }
}

/* Skiltet: henger over pilen, kan dras vekk (fjærfysikk i museet.html) */
.dor-skilt {
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -22px 0 0 -62px;
  width: 124px;
  padding: 0.55rem 0;
  text-align: center;
  font-family: var(--grotesk);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: #0b0e1a;
  background: var(--aksent);
  border: 2px solid #171a2b;
  border-radius: 4px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.6);
  cursor: grab;
  user-select: none;
  touch-action: none;
  will-change: transform;
}
.dor-skilt:active { cursor: grabbing; }

/* Konsollen: bezel rundt skjermen */
.konsoll {
  position: relative;
  max-width: 660px;
  margin: 2.5rem auto;
  border-radius: 22px;
  /* Arkanisk maskinvare: børstet metall, fire skruer, lagdelte skygger */
  background-color: #1b1f36;
  background-image:
    radial-gradient(circle at 15px 15px, #767ca0 0 2.5px, #23273f 2.5px 5px, transparent 5px),
    radial-gradient(circle at calc(100% - 15px) 15px, #767ca0 0 2.5px, #23273f 2.5px 5px, transparent 5px),
    radial-gradient(circle at 15px calc(100% - 15px), #767ca0 0 2.5px, #23273f 2.5px 5px, transparent 5px),
    radial-gradient(circle at calc(100% - 15px) calc(100% - 15px), #767ca0 0 2.5px, #23273f 2.5px 5px, transparent 5px),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.025) 0 2px, transparent 2px 4px),
    linear-gradient(180deg, #2c3152, #191d31 55%, #12152a);
  border: 1px solid #3a3f62;
  box-shadow:
    0 22px 60px rgba(0, 0, 0, 0.6),
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    inset 0 -3px 8px rgba(0, 0, 0, 0.55);
  padding: 1rem 1.15rem 1.5rem;
  transition: filter 0.7s ease;
}
.konsoll-topp {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.15rem 0.3rem 0.75rem;
  font-family: var(--mono);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  color: var(--dis);
}
.konsoll-navn {
  font-family: var(--mono);
  padding: 0.12rem 0.5rem;
  border-radius: 4px;
  background: linear-gradient(#20243c, #171a2c);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), inset 0 -1px 2px rgba(0, 0, 0, 0.5);
  color: #8f97bd;
}
.konsoll-lampe {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--kvant);
  box-shadow: 0 0 8px var(--kvant);
  animation: lampe-blink 3.4s steps(1) infinite;
}
@keyframes lampe-blink {
  0%, 92%, 100% { opacity: 1; }
  94%, 96% { opacity: 0.25; }
}

/* Selve skjermen: buet fosfor-glass, striper, flimring og en svak avsøkning */
.konsoll-skjerm {
  position: relative;
  overflow: hidden;
  border-radius: 10px / 16px;   /* svak skjermkrumning */
  background:
    radial-gradient(120% 130% at 50% 45%, transparent 62%, rgba(0, 0, 0, 0.55) 100%),
    radial-gradient(ellipse 120% 100% at 50% 0%, #0a1520, #050a12 75%);
  border: 1px solid rgba(106, 208, 224, 0.25);
  box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.85),
              inset 0 0 18px rgba(106, 208, 224, 0.12),
              0 0 20px rgba(106, 208, 224, 0.12);
  color: var(--kvant);
  font-family: var(--mono);
  animation: skjerm-flimmer 5s linear infinite;
  transition: filter 0.7s ease;
}
/* Langsom avsøknings-stripe som glir nedover (CRT-refresh) */
.konsoll-skjerm::after {
  content: "";
  position: absolute;
  left: 0; right: 0; height: 40%;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(106, 208, 224, 0.06) 60%, transparent);
  animation: sveip 8s linear infinite;
  z-index: 3;
}
@keyframes sveip {
  0% { top: -45%; }
  100% { top: 105%; }
}
@keyframes skjerm-flimmer {
  0%, 100% { opacity: 1; }
  97% { opacity: 1; }
  98% { opacity: 0.93; }
  99% { opacity: 1; }
}
.konsoll-striper {
  /* scanlines over hele skjermen */
  pointer-events: none;
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(180deg,
              rgba(0, 0, 0, 0.22) 0 1px, transparent 1px 3px);
  mix-blend-mode: multiply;
}
.konsoll-innhold { position: relative; padding: 1.4rem 1.5rem 1.6rem; }

.konsoll-logg {
  margin: 0 0 1rem;
  font-family: inherit;
  font-size: 0.85rem;
  line-height: 1.7;
  white-space: pre-wrap;
  text-shadow: 0 0 6px rgba(106, 208, 224, 0.55);
}
.konsoll-tale {
  margin: 0.9rem 0;
  font-size: 0.92rem;
  line-height: 1.75;
  color: #a9e6ef;
  text-shadow: 0 0 6px rgba(106, 208, 224, 0.4);
}
.konsoll-tale strong { color: var(--lys); letter-spacing: 0.08em; }
.konsoll-hint {
  font-size: 0.85rem;
  font-style: italic;
  opacity: 0.75;
}
.konsoll-dus { opacity: 0.6; }
.konsoll-feil {
  margin: 0.9rem 0;
  font-size: 0.88rem;
  color: var(--fare);
  text-shadow: 0 0 8px rgba(255, 107, 107, 0.5);
}

/* Vokteren: portbue i strektegning, øynene gløder og blunker i mørket */
.vokter {
  position: relative;
}
.vokter-figur {
  display: block;
  width: 240px;
  margin: 0.6rem auto 0;
  color: rgba(106, 208, 224, 0.82);
  filter: drop-shadow(0 0 6px rgba(106, 208, 224, 0.2));
}
.vokter-oyne {
  fill: var(--aksent);
  filter: drop-shadow(0 0 5px rgba(233, 185, 73, 0.9));
  animation: oyne-glo 4s ease-in-out infinite;
}
@keyframes oyne-glo {
  0%, 44%, 100% { opacity: 1; }
  48%, 52% { opacity: 0.15; }        /* et kort blunk */
  70% { opacity: 0.6; }
}

/* ---- Porten åpnes: skjermen varmes fra cyan mot gull ---- */
.konsoll.apen .konsoll-skjerm {
  filter: sepia(0.55) saturate(1.7) hue-rotate(-12deg) brightness(1.06);
}
.konsoll.apen .konsoll-striper { opacity: 0.5; }
/* Varmt fakkellys som siver mellom gitterstengene (verdenen bak) */
.konsoll.apen .vokter::after {
  content: "";
  position: absolute;
  left: 50%; top: 46%;
  width: 150px; height: 150px;
  transform: translate(-50%, -50%);
  pointer-events: none;
  background: radial-gradient(circle, rgba(245, 205, 120, 0.5), transparent 68%);
}
/* ---- TRE INN: skjermen slukker i et gull-glimt før man går videre ---- */
.konsoll.slukker .konsoll-skjerm {
  filter: sepia(0.8) saturate(2.2) brightness(1.6);
  transition: filter 0.35s ease, transform 0.5s ease;
}
.konsoll.slukker .konsoll-innhold { animation: kollaps 0.6s ease forwards; }
@keyframes kollaps {
  0% { opacity: 1; transform: scaleY(1); }
  70% { opacity: 0.9; transform: scaleY(0.04); filter: brightness(2); }
  100% { opacity: 0; transform: scaleY(0.006); }
}
@media (prefers-reduced-motion: reduce) {
  .konsoll-skjerm::after, .konsoll.slukker .konsoll-innhold { animation: none; }
}

/* Ordet sies i en terminal-linje */
.konsoll-form {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-top: 1.1rem;
  flex-wrap: wrap;
}
@media (max-width: 460px) {
  .konsoll-felt { flex-basis: 100%; }
  .konsoll-form .konsoll-knapp { flex: 1; }
}
.konsoll-ledetekst { font-size: 1rem; text-shadow: 0 0 6px rgba(106, 208, 224, 0.55); }
.konsoll-felt {
  flex: 1;
  min-width: 0;
  padding: 0.5rem 0.6rem;
  font-family: inherit;
  font-size: 0.95rem;
  letter-spacing: 0.2em;
  color: var(--kvant);
  background: rgba(106, 208, 224, 0.06);
  border: 1px solid rgba(106, 208, 224, 0.35);
  border-radius: 6px;
  caret-color: var(--kvant);
}
.konsoll-felt:focus {
  outline: none;
  border-color: var(--kvant);
  /* tydelig fokusring for tastaturbrukere (ikke bare en diffus glød) */
  box-shadow: 0 0 0 2px var(--kvant), 0 0 12px rgba(106, 208, 224, 0.3);
}
.konsoll-knapp {
  padding: 0.5rem 0.9rem;
  font-family: inherit;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  color: var(--kvant);
  background: transparent;
  border: 1px solid rgba(106, 208, 224, 0.45);
  border-radius: 6px;
  cursor: pointer;
  text-shadow: 0 0 6px rgba(106, 208, 224, 0.55);
}
.konsoll-knapp:hover {
  background: rgba(106, 208, 224, 0.12);
  box-shadow: 0 0 14px rgba(106, 208, 224, 0.3);
}

/* Blinkende markør nederst på skjermen */
.konsoll-peker {
  display: inline-block;
  width: 0.6em;
  height: 1em;
  margin-top: 0.8rem;
  background: var(--kvant);
  box-shadow: 0 0 8px rgba(106, 208, 224, 0.7);
  animation: peker-blink 1.1s steps(1) infinite;
}
@keyframes peker-blink {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0; }
}

/* Runde 2026-08-11: papirkurv, tekster, chat-vedlegg, ta med-bygger, guiden */
.papirkurv { margin-top: 2rem; border: 1px dashed rgba(255, 107, 107, 0.45);
  border-radius: var(--radius); padding: 0.7rem 1rem; }
.papirkurv > summary { cursor: pointer; color: var(--fare); font-size: 0.9rem; }
.papirkurv-liste { list-style: none; margin: 0.6rem 0 0; padding: 0;
  display: grid; gap: 0.5rem; }
.papirkurv-liste li { display: flex; align-items: center; gap: 0.8rem;
  flex-wrap: wrap; border: 1px solid var(--kant);
  border-radius: var(--radius); padding: 0.45rem 0.8rem; }
.papirkurv-tittel { flex: 1 1 12rem; display: grid; }
.sjangerchips { display: flex; flex-wrap: wrap; gap: 0.45rem; margin: 0 0 1.2rem; }
.sjangerchips .chip { border: 1px solid var(--kant); border-radius: 999px;
  padding: 0.25em 0.9em; font-size: 0.85rem; color: var(--dis);
  text-decoration: none; }
.sjangerchips .chip.valgt { border-color: var(--aksent); color: var(--aksent); }
.sjangerchips .chip:hover { color: var(--lys); border-color: var(--dis); }
.tamed-liste { list-style: none; margin: 0; padding: 0; display: grid;
  gap: 0.4rem; }
.tamed-rad { display: flex; gap: 0.5rem; align-items: center; }
.tamed-rad.under { margin-left: 1.6rem; }
.tamed-rad.under input { border-style: dashed; }
.tamed-rad input { flex: 1; }
.tamed-knapper { display: flex; gap: 0.5rem; margin-top: 0.5rem; }
.vedleggfelt input[type="file"] { font-size: 0.85rem; }
.melding-bilde { max-width: min(18rem, 100%); border-radius: 10px;
  display: block; margin-bottom: 0.3rem; }
.melding-fil { display: inline-block; margin-bottom: 0.25rem;
  text-decoration: underline; }
.svarskjema .kvote-status { font-size: 0.78rem; align-self: center; }
.guide-boble { position: fixed; left: 50%; transform: translateX(-50%);
  z-index: 90; width: min(26rem, calc(100vw - 2rem));
  background: var(--panel); border: 1px solid var(--aksent);
  border-radius: var(--radius); padding: 1rem 1.2rem;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.55); }
.guide-boble p { margin: 0 0 0.7rem; }
.guide-knapper { display: flex; gap: 0.7rem; align-items: center; }
.guide-steg { margin-left: auto; font-size: 0.78rem; }
.guide-lys { outline: 2px solid var(--aksent); outline-offset: 4px;
  border-radius: 6px; }
.dus { color: var(--dis); }
.oversyn-banner { background: rgba(255, 107, 107, 0.12);
  border: 1px solid rgba(255, 107, 107, 0.5); border-radius: var(--radius);
  padding: 0.7rem 1.1rem; margin: 0 0 1.2rem; font-size: 0.9rem; }
.lydbord { margin: 1.6rem 0; border: 1px solid var(--kant);
  border-radius: var(--radius); padding: 0.7rem 1.1rem;
  background: var(--glass); }
.lydbord > summary { cursor: pointer; }
.lydbord-innhold { display: grid; gap: 0.8rem; margin-top: 0.8rem; }
.lydbord-knapper { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.lydbord-lyd.pa { background: var(--aksent); color: var(--rom); }
.lydbord-ramme { width: 100%; height: 152px; border: 0;
  border-radius: 10px; }
.lydbord-tips { font-size: 0.82rem; }

/* «SKJUL» */
/* (Den gamle .gailea-tittel er fjernet – navnet skal ALDRI kunne vises på
   porten. Halltittelen bruker nå .gailea-hall-tittel, kun bak porten.) */

/* Atlaset bak porten: verdens bibliotek */
.atlas-topp { margin: 1rem 0 1.4rem; text-align: center; }
.atlas-undertittel {
  margin: 0;
  font-size: 0.85rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--kvant);
  opacity: 0.8;
}
.atlas-kategorier { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 1rem; }
.atlas-kategori {
  padding: 0.25rem 0.7rem;
  border: 1px solid rgba(106, 208, 224, 0.35);
  border-radius: 999px;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  color: var(--dis);
  text-decoration: none;
}
.atlas-kategori:hover { color: var(--lys); border-color: var(--kvant); }
.atlas-kategori.aktiv { color: var(--rom); background: var(--kvant); border-color: var(--kvant); }
.atlas-liste { display: flex; flex-direction: column; }
.atlas-oppslag {
  display: flex;
  align-items: baseline;
  gap: 0.8rem;
  padding: 0.55rem 0.4rem;
  border-bottom: 1px dashed rgba(153, 160, 194, 0.25);
  text-decoration: none;
}
.atlas-oppslag:hover { background: rgba(106, 208, 224, 0.06); }
.atlas-oppslag-kategori {
  flex: 0 0 8.5rem;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--kvant);
}
.atlas-oppslag-tittel { color: var(--lys); font-weight: 600; }
.atlas-tomt { color: var(--dis); font-style: italic; }
.atlas-hint { margin-top: -0.4rem; font-size: 0.85rem; color: var(--dis); }
.atlas-skjema { margin-top: 1.1rem; }
.atlas-skjema summary { display: inline-block; cursor: pointer; list-style: none; }
.atlas-skjema summary::-webkit-details-marker { display: none; }
.atlas-skjema form { margin-top: 0.9rem; }
.avkryssing { display: flex; align-items: center; gap: 0.5rem; font-size: 0.9rem; }
.atlas-artikkel h1 { margin: 0.2rem 0 0.9rem; }
.atlas-tekst { line-height: 1.8; }
/* Lesesalen som hovedbok: notater på linjerte ark med Cinzel-signatur */
.atlas-notat {
  padding: 0.75rem 0 0.9rem;
  border-bottom: 1px solid rgba(178, 142, 66, 0.3);
}
.atlas-notat:last-of-type { border-bottom: 0; }
.atlas-notat-topp { display: flex; justify-content: space-between; gap: 0.8rem; align-items: baseline; }
.atlas-notat-topp strong { font-family: var(--cinzel); font-weight: 600; color: var(--rod); letter-spacing: 0.03em; }
.atlas-notat-meta { font-family: var(--cinzel); font-size: 0.72rem; letter-spacing: 0.08em; color: var(--gull-tekst); white-space: nowrap; }
.atlas-notat-slett { display: inline; }
.atlas-notat .fritekst {
  margin: 0.45rem 0 0;
  font-family: var(--gailea-serif);
  font-size: 1rem;
  line-height: 1.9;
  /* svake blekklinjer under teksten, som i en hovedbok */
  background-image: repeating-linear-gradient(transparent 0, transparent 1.85rem, rgba(178, 142, 66, 0.18) 1.85rem, rgba(178, 142, 66, 0.18) calc(1.85rem + 1px));
  background-position: 0 0.55rem;
}

/* ============================== GAILEA-HUDEN ==============================
   «Gailea er én bok innbundet i gull, åpnet på et bord i et mørkt rom.»
   Pergamentblad + dyp-teal opplyste plater, bundet av ETT gull-språk og ÉN
   lyskilde (lyssjakten). Stilreferanse: ekte D&D-håndbøker (palett/typografi
   hentet fra PHB, DMG, Monster Manual, Mordenkainen, Ravnica, Eberron m.fl.).
   Skriftene er kun lastet på Gailea-sidene. */

/* ---- Skrifter (kun Gailea): Cinzel (inskripsjon), EB Garamond (brødtekst) ---- */
@font-face { font-family:"Cinzel"; src:url("fonts/cinzel-400.woff2") format("woff2");
  font-weight:400; font-display:swap; }
@font-face { font-family:"Cinzel"; src:url("fonts/cinzel-600.woff2") format("woff2");
  font-weight:600; font-display:swap; }
@font-face { font-family:"Cinzel"; src:url("fonts/cinzel-700.woff2") format("woff2");
  font-weight:700; font-display:swap; }
@font-face { font-family:"Cinzel Decorative"; src:url("fonts/cinzel-decorative-700.woff2") format("woff2");
  font-weight:700; font-display:swap; }
@font-face { font-family:"EB Garamond"; src:url("fonts/ebgaramond-400.woff2") format("woff2");
  font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"EB Garamond"; src:url("fonts/ebgaramond-400-italic.woff2") format("woff2");
  font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:"EB Garamond"; src:url("fonts/ebgaramond-500.woff2") format("woff2");
  font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:"EB Garamond"; src:url("fonts/ebgaramond-600.woff2") format("woff2");
  font-weight:600; font-style:normal; font-display:swap; }

body.gailea {
  /* PERGAMENT-tokens – BEHOLDT: lese-sidene ("opplyste manuskript") holder seg
     varme, satt som ark ned i det mørke rommet. Bruk disse på lese-flater. */
  --rom: #efe5cd;            /* pergament (PHB/DMG-cream)     */
  --panel: #f4ecd9;          /* vellum – lysere innfelt ark   */
  --parchment-lys: #f6efdb;  /* opplyst sentrum av bladet     */
  --parchment-skygge: #d8c295;/* mottling / foxing           */
  --parchment-brent: #b89b6e;/* brent ytterkant (vignette)    */
  --dyp: #e5d8ba;
  --lys: #2f2417;            /* blekk (varm sepia-svart) – tekst PÅ pergament */
  --dis: #6f5d43;            /* dempet blekk PÅ pergament     */
  --rod: #7c1f1f;            /* kapittel-oksblod (PHB-rød)    */
  --rod-glo: #a52c2c;        /* lysere rød, hover             */
  --rod-dyp: #58180d;        /* Monster Manual dyp rød        */
  --gull: #b28e42;           /* kanonisk gull (rammer/linjer) */
  --gull-lys: #e6c65a;       /* gullblad-høylys               */
  --gull-dyp: #8a6a2f;       /* bronse-skygge (kun store/dekor)*/
  --gull-tekst: #6a5020;     /* mørk gull til SMÅ etiketter PÅ pergament (>=4.5:1) */
  --teal-natt: #16262b;      /* tårnets dyp-teal grunn        */
  --teal: #1f9fb0;
  --teal-dis: #7fb9bf;
  --vellum: #f4ecd9;
  --stripe: #e3dcc2;
  /* MØRKT ASTRAL-SLOTT – grunn + krom + verktøy (rommet boka ligger åpen i).
     Eseis' slott ved astral natt: kjølig onyks, varmt gull-lys, ghost-blå
     (the Hollows). Referanse: «The Works»-mockupen eier godkjente. */
  --onyx: #12141b;           /* grunn (kjølig near-black)     */
  --onyx-2: #191d27;         /* mørk plate/kort               */
  --onyx-3: #232a37;         /* hevet plate                   */
  --krem: #ece1c8;           /* tekst PÅ mørkt (måneskinn-krem)*/
  --dis-krem: #9aa2ae;       /* dempet kjølig tekst PÅ mørkt  */
  --ghost: #9fc6cc;          /* ghost-blå (the Hollows/astral)*/
  --ghost-hi: #c9ecef;
  --ghost-lo: #3d5a5f;
  --kant-mork: #33404f;      /* kant på mørke flater          */
  --aksent: #b28e42;         /* Gailea-aksent = gull nå (på mørkt) */
  --aksent-glo: #e6c65a;
  --kvant: #9fc6cc;          /* remap «kvant» → ghost-blå     */
  --fare: #c76a5a;
  --glass: rgba(244, 236, 217, 0.9); /* pergament-glass (lese-kort) */
  --kant: #c9b483;
  --cinzel: "Cinzel", Georgia, serif;
  --cinzel-dec: "Cinzel Decorative", "Cinzel", Georgia, serif;
  --gailea-serif: "EB Garamond", Georgia, "Times New Roman", serif;
  font-family: var(--gailea-serif);
  font-size: 1.04rem;
  color: var(--krem);                 /* standardtekst = krem på mørk grunn */
  background-color: var(--onyx);
  background-image:
    radial-gradient(1000px 520px at 50% -8%, rgba(159, 198, 206, 0.10), transparent 60%),
    radial-gradient(900px 620px at 88% 96%, rgba(120, 150, 150, 0.06), transparent 60%),
    radial-gradient(760px 420px at 12% 30%, rgba(201, 162, 74, 0.07), transparent 60%);
}
/* Pergament-tekstur (én liten data-URI støyflis) + kant-vignette.
   INGEN mix-blend-mode: en fast, blendet flate må re-komponeres hver
   rulle-ramme (bibliotekets kjerneinteraksjon) og hakker på Pi-ens GPU.
   Sepia-tonen er i stedet bakt inn i selve støyfargen (#5a4a2e). */
body.gailea::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.5;
  /* Ekte onyks-stein (ambientCG CC0, nedskalert tile) – slottets grunn */
  background-image: url("data:image/jpeg;base64,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");
  background-size: 360px 360px;
  background-repeat: repeat;
}
body.gailea::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  /* Kjølig kant-vignette + svak ghost-glød i toppen (astral lyskilde) */
  background:
    radial-gradient(90% 60% at 50% -6%, rgba(159, 198, 206, 0.10), transparent 55%),
    radial-gradient(130% 95% at 50% 40%, transparent 48%, rgba(4, 6, 10, 0.62) 100%);
}
body.gailea .topp, body.gailea main, body.gailea footer { position: relative; z-index: 1; }
body.gailea .rombakgrunn { display: none; }

/* TO-FLATE-SYSTEM (mørkt slott + pergament-lesesider): grunn-teksten er nå
   krem på onyks. LESE-kort (pergament-flater) må derfor eksplisitt beholde
   mørkt blekk. Verktøy/krom som skal være mørke overstyres av egne, mer
   spesifikke regler lenger ned. */
body.gailea .boks, body.gailea .kort,
body.gailea .atlas-artikkel { color: var(--lys); }

/* Toppmeny + Gailea-undermeny = mørkt slott-krom (ikke pergament) */
body.gailea .topp {
  background: linear-gradient(180deg, #191d27, #10131a);
  border-bottom: 1px solid var(--kant-mork);
  color: var(--krem);
}
body.gailea .topp a,
body.gailea .topp .merke,
body.gailea .topp .navnelenke { color: var(--krem); }
body.gailea .topp a:hover { color: var(--gull-lys); }
body.gailea .gailea-meny {
  background: rgba(18, 21, 28, 0.72);
  border-color: var(--kant-mork);
}
body.gailea .gailea-meny a { color: var(--dis-krem); }
body.gailea .gailea-meny a:hover,
body.gailea .gailea-meny a.aktiv { color: var(--gull-lys); }

/* Overskrifter: ekte Cinzel-inskripsjonsversaler (ingen fejkede small-caps) */
body.gailea h1, body.gailea h2, body.gailea h3 {
  font-family: var(--cinzel);
  font-weight: 600;
  letter-spacing: 0.06em;
}
body.gailea .stempel {
  font-family: var(--cinzel);
  font-weight: 600;
  letter-spacing: 0.08em;
  color: var(--rod);
}
/* Rød overskriftsfarge kun i pergament-partier (ikke i teal-tårnet) */
body.gailea .boks h1, body.gailea .boks h2, body.gailea .boks h3,
body.gailea .atlas-artikkel h1 { color: var(--rod); }

/* Tapered gull-linje – samme oppskrift under seksjonsoverskrifter og i delere */
body.gailea .gull-linje,
body.gailea .gailea-lesesal h2,
body.gailea .atlas-artikkel h1 {
  position: relative;
  padding-bottom: 0.4rem;
}
body.gailea .gailea-lesesal h2::after,
body.gailea .atlas-artikkel h1::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gull) 12%, var(--gull) 88%, transparent);
}

/* Unified gull-hjørneramme (border-image) – binder dør, bibliotek og oppslag */
.gailea-ramme {
  border: 13px solid transparent;
  border-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='none' stroke='%23b28e42'%3E%3Cpath d='M50 4 H72 M50 96 H72 M28 4 H50 M28 96 H50 M4 28 V50 M4 50 V72 M96 28 V50 M96 50 V72' stroke-width='1.3'/%3E%3Cpath d='M4 30 V4 H30 M70 4 H96 V30 M96 70 V96 H70 M30 96 H4 V70' stroke-width='2.4'/%3E%3Ccircle cx='6' cy='6' r='3' fill='%23b28e42'/%3E%3Ccircle cx='94' cy='6' r='3' fill='%23b28e42'/%3E%3Ccircle cx='6' cy='94' r='3' fill='%23b28e42'/%3E%3Ccircle cx='94' cy='94' r='3' fill='%23b28e42'/%3E%3C/svg%3E") 30 stretch;
}

/* Knapper: preget krem-knapp (letterpress) */
body.gailea .knapp {
  font-family: var(--cinzel);
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--rod);
  background: linear-gradient(var(--vellum), var(--parchment-skygge));
  border: 1px solid var(--gull);
  box-shadow: inset 0 1px 0 rgba(255, 250, 235, 0.75),
              inset 0 -1px 0 rgba(120, 90, 40, 0.25),
              0 2px 6px rgba(90, 66, 30, 0.2);
  text-shadow: 0 1px 0 rgba(255, 250, 235, 0.5);
}
body.gailea .knapp:hover { background: linear-gradient(#fbf5e4, #e6d7b4); }
body.gailea .knapp:active { transform: translateY(1px); box-shadow: inset 0 1px 3px rgba(90, 66, 30, 0.35); }
body.gailea a { color: var(--rod); }
body.gailea a:hover { text-decoration-color: var(--gull); }
/* :not(.gailea-ramme) så border-shorthand ikke nuller ut gull-hjørnerammen
   på elementer som har begge klasser (f.eks. oppslaget). */
body.gailea .boks:not(.gailea-ramme), body.gailea .kort:not(.gailea-ramme) {
  border: 1px solid var(--kant);
  box-shadow: 0 1px 0 rgba(255, 252, 240, 0.7) inset, 0 8px 22px rgba(90, 66, 30, 0.14);
}
body.gailea .boks.gailea-ramme {
  box-shadow: 0 8px 22px rgba(90, 66, 30, 0.14);
}

/* ---- Hallen ---- */
/* Buevinduer mot himmelen flankerer halltittelen (slottet hviler på skyer) */
.gailea-hall-arkitektur {
  position: relative;
  height: 0;
  pointer-events: none;
}
.gailea-hall-vindu {
  position: absolute;
  top: 0.4rem;
  width: 76px; height: 150px;
  border: 6px solid #7a5a30;
  border-radius: 44px 44px 5px 5px;
  overflow: hidden;
  box-shadow: inset 0 0 16px rgba(0, 0, 0, 0.4), 0 0 26px rgba(150, 185, 215, 0.28);
  opacity: 0.9;
}
.gailea-hall-vindu.venstre { left: 2%; }
.gailea-hall-vindu.hoyre { right: 2%; }
@media (max-width: 900px) { .gailea-hall-arkitektur { display: none; } }
.gailea-hall-topp { position: relative; margin: 1.6rem 0 2.2rem; text-align: center; }
/* Lyssjakt-stråle bak halltittelen (signaturlyset, dempet variant) */
.gailea-hall-topp::before {
  content: "";
  position: absolute;
  left: 50%; top: -1.6rem;
  width: min(30rem, 82%); height: 15rem;
  transform: translateX(-50%);
  pointer-events: none;
  background: radial-gradient(60% 70% at 50% 0%, rgba(233, 198, 110, 0.4), rgba(233, 198, 110, 0.08) 45%, transparent 72%);
}
.gailea-kapittel {
  position: relative;
  margin: 0;
  font-family: var(--cinzel);
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--gull-lys);
}
.gailea-hall-tittel {
  position: relative;
  margin: 0.35rem 0 0.2rem;
  font-family: var(--cinzel-dec);
  font-weight: 700;
  font-size: clamp(2.4rem, 7vw, 3.6rem);
  letter-spacing: 0.1em;
  line-height: 1.05;
  background: linear-gradient(180deg, var(--gull-lys) 0%, var(--gull) 45%, var(--gull-dyp) 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: var(--gull-dyp);
  text-shadow: 0 2px 4px rgba(88, 24, 13, 0.18);
}
.gailea-ornament {
  position: relative;
  margin: 0.4rem auto 1rem;
  width: min(30rem, 84%);
  color: var(--gull);
  font-size: 1.15rem;
  text-align: center;
}
.gailea-ornament::before, .gailea-ornament::after {
  content: "";
  position: absolute;
  top: 50%;
  width: calc(50% - 1.5rem);
  height: 2px;
}
.gailea-ornament::before { left: 0; background: linear-gradient(90deg, transparent, var(--gull)); }
.gailea-ornament::after { right: 0; background: linear-gradient(90deg, var(--gull), transparent); }
.gailea-ornament.liten { width: min(15rem, 58%); margin: 0.5rem auto 1.1rem; font-size: 1rem; }
.gailea-ingress {
  max-width: 42rem;
  margin: 0 auto;
  font-family: var(--gailea-serif);
  font-style: italic;
  font-size: 1.1rem;
  color: var(--dis-krem);
}
/* To fløyer i hallen (3b): The Reference / The Campaign */
.gailea-floy { margin: 2.4rem 0 0; }
.gailea-floy-tit {
  position: relative;
  font-family: var(--cinzel); font-weight: 600;
  letter-spacing: 0.22em; text-transform: uppercase;
  font-size: 0.92rem; color: var(--gull-lys);
  text-align: center; margin: 0;
}
.gailea-floy-tit::before, .gailea-floy-tit::after {
  content: ""; position: absolute; top: 50%;
  width: calc(50% - 7.5rem); height: 1px;
}
.gailea-floy-tit::before { left: 0; background: linear-gradient(90deg, transparent, var(--gull-dyp)); }
.gailea-floy-tit::after { right: 0; background: linear-gradient(90deg, var(--gull-dyp), transparent); }
.gailea-floy-under {
  text-align: center; font-style: italic;
  color: var(--dis-krem); font-size: 0.92rem; margin: 0.35rem 0 0;
}
.gailea-dorer {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 1.1rem;
  margin-top: 1.4rem;
}
.gailea-dor {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  padding: 1.4rem 1.2rem 1.5rem;
  background:
    radial-gradient(90% 60% at 50% 0%, rgba(233, 198, 110, 0.12), transparent 62%),
    linear-gradient(180deg, rgba(28, 32, 43, 0.80), rgba(20, 23, 31, 0.90)),
    url("data:image/jpeg;base64,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");
  background-size: cover, cover, 300px 300px;
  background-repeat: no-repeat, no-repeat, repeat;
  border-radius: 120px 120px 8px 8px;
  text-decoration: none;
  text-align: center;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.5), inset 0 0 0 1px var(--gull-dyp);
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}
.gailea-dor:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.6),
              inset 0 0 34px rgba(233, 198, 110, 0.16),
              inset 0 0 0 1px var(--gull-lys);
}
.gailea-dor-sigil { width: 54px; height: 54px; margin-top: 0.3rem; color: var(--gull-lys); }
.gailea-dor-sigil svg { width: 100%; height: 100%; display: block; }
.gailea-dor-navn {
  font-family: var(--cinzel);
  font-weight: 600;
  font-size: 1.18rem;
  letter-spacing: 0.05em;
  color: var(--krem);
}
.gailea-dor-tekst { font-family: var(--gailea-serif); font-size: 0.95rem; font-style: italic; color: var(--dis-krem); }
.gailea-dor.forseglet .gailea-dor-sigil { color: var(--gull-dyp); opacity: 0.7; }
/* Voksegl + jernbjelke på forseglede dører */
.gailea-dor-segl {
  position: absolute;
  bottom: 0.9rem; left: 50%;
  transform: translateX(-50%);
  width: 30px; height: 30px;
  border-radius: 50%;
  background: radial-gradient(circle at 38% 32%, #b23b32, #7c1f1f 70%);
  box-shadow: 0 2px 4px rgba(60, 12, 8, 0.5), inset 0 0 6px rgba(40, 8, 4, 0.6);
}
.gailea-dor.forseglet { opacity: 0.92; }
.gailea-dor-laapp { display: block; margin-top: 0.2rem; }
.gailea-styring { margin-top: 1.6rem; }
.gailea-styring .avkryssing { margin: 0.35rem 0; font-family: var(--gailea-serif); }
/* Terskel-lenke: gravert bokmerke som lukker hvert kapittel */
.gailea-ut { margin: 2.4rem 0 1rem; text-align: center; }
.gailea-ut::before {
  content: "\2766";
  display: block;
  margin-bottom: 0.5rem;
  color: var(--gull);
  font-size: 1.2rem;
}
.gailea-ut a {
  font-family: var(--cinzel);
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: 0.06em;
  color: var(--gull-lys);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  padding-bottom: 2px;
}
.gailea-ut a:hover { border-bottom-color: var(--gull); }

/* ---- Forseglet kammer (kart/spill/karakterer som ikke er reist ennå) ---- */
.gailea-sealed {
  max-width: 34rem;
  margin: 1.4rem auto 0;
  padding: 1.8rem 2rem 2rem;
  text-align: center;
  background:
    radial-gradient(80% 60% at 50% 22%, var(--parchment-lys), transparent 70%),
    var(--panel);
}
.gailea-sealed-navn {
  margin: 0.3rem 0 0;
  font-family: var(--cinzel);
  font-weight: 700;
  font-size: clamp(1.6rem, 4.5vw, 2.2rem);
  letter-spacing: 0.06em;
  color: var(--rod);
}
.sealed-dor {
  position: relative;
  width: 210px;
  height: 300px;
  margin: 1.6rem auto 1.4rem;
  border-radius: 105px 105px 6px 6px;
  background:
    repeating-linear-gradient(90deg, rgba(0,0,0,0.16) 0 2px, transparent 2px 30px),
    linear-gradient(#5c4429, #3a2a16);
  border: 6px solid #4a3a22;
  box-shadow: inset 0 0 34px rgba(0, 0, 0, 0.65),
              0 12px 26px rgba(60, 40, 16, 0.3);
}
.sealed-seam {
  position: absolute;
  top: 8%; bottom: 4%; left: 50%;
  width: 2px;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.45);
}
.sealed-band {
  position: absolute;
  left: -3px; right: -3px;
  height: 16px;
  background: linear-gradient(#5a5148, #2c2620);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), inset 0 -2px 3px rgba(0,0,0,0.5);
}
.sealed-band::before, .sealed-band::after {
  content: "";
  position: absolute;
  top: 50%; width: 5px; height: 5px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #8a8078, #332c25);
  transform: translateY(-50%);
}
.sealed-band::before { left: 12px; }
.sealed-band::after { right: 12px; }
.sealed-band.b1 { top: 41%; }
.sealed-band.b2 { top: 66%; }
.sealed-sigil {
  position: absolute;
  top: 42px; left: 50%;
  width: 46px; height: 46px;
  transform: translateX(-50%);
  color: #b89b6e;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,0.5));
  opacity: 0.85;
}
.sealed-sigil svg { width: 100%; height: 100%; }
.sealed-segl {
  position: absolute;
  top: 53%; left: 50%;
  width: 52px; height: 52px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(circle at 38% 32%, #b23b32, #7c1f1f 68%, #58180d);
  box-shadow: 0 3px 6px rgba(40, 8, 4, 0.55), inset 0 0 10px rgba(40, 8, 4, 0.6);
  z-index: 2;
}
.sealed-segl::after {
  content: "\2766";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 220, 200, 0.55);
  font-size: 1.5rem;
}
.sealed-lanterne {
  position: absolute;
  top: 18px;
  width: 14px; height: 20px;
  border-radius: 3px;
  background: linear-gradient(#5a4223, #3a2a15);
  box-shadow: 0 0 26px 10px rgba(242, 195, 104, 0.35);
}
.sealed-lanterne::after {
  content: "";
  position: absolute;
  inset: 3px 3px 4px;
  border-radius: 1px;
  background: radial-gradient(circle at 50% 60%, #ffe6a0, #f2a838 70%);
  animation: lanterne-flimmer 3.5s ease-in-out infinite;
}
.sealed-lanterne.v { left: -46px; }
.sealed-lanterne.h { right: -46px; }
.sealed-tag {
  max-width: 26rem;
  margin: 0 auto;
  font-family: var(--gailea-serif);
  font-style: italic;
  font-size: 1.08rem;
  color: var(--dis);
}
.sealed-kapittellinje {
  margin: 1rem 0 0;
  font-family: var(--cinzel);
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  color: var(--gull-tekst);
}
@media (prefers-reduced-motion: reduce) { .sealed-lanterne::after { animation: none; } }

/* ============ GAILEA MANUSKRIPT: oppslagssiden som bok-blad ============
   Seriftekst i EB Garamond, opplyst initial (illuminated versal), justert
   sats og en gravert folio – oppslaget skal leses som en side i en tome. */
body.gailea .atlas-artikkel .atlas-tekst {
  font-family: var(--gailea-serif);
  font-size: 1.08rem;
  line-height: 1.85;
  text-align: justify;
  hyphens: auto;
  color: var(--lys);
}
body.gailea .atlas-artikkel .atlas-tekst::first-line {
  font-variant: small-caps;
  letter-spacing: 0.03em;
}
/* Opplyst initial i en lysende nisje (ekko av lyssjakten) */
.atlas-artikkel .atlas-tekst::first-letter {
  float: left;
  font-family: var(--cinzel-dec);
  font-weight: 700;
  font-size: 3.7rem;
  line-height: 0.62;
  color: var(--rod);
  margin: 0.2rem 0.6rem 0 0;
  padding: 0.16rem 0.36rem 0.06rem;
  background: radial-gradient(120% 120% at 30% 22%, var(--vellum), var(--parchment-skygge));
  border: 1px solid var(--gull);
  box-shadow: inset 0 0 12px rgba(230, 198, 90, 0.4);
  text-shadow: 0 1px 0 rgba(255, 250, 235, 0.6), 0 2px 3px rgba(88, 24, 13, 0.25);
}
.atlas-artikkel h1 { font-size: 2rem; }
.atlas-artikkel .atlas-oppslag-kategori {
  display: block;
  margin-bottom: 0.2rem;
  font-family: var(--cinzel);
  font-weight: 400;
  letter-spacing: 0.22em;
  color: var(--rod);
}
/* Selve bladet: unified gull-hjørneramme + pergament-tekstur, litt luft rundt */
.atlas-artikkel {
  position: relative;
  padding: 1.9rem 2rem 1.6rem;
  background: radial-gradient(70% 60% at 50% 24%, var(--parchment-lys), transparent 75%);
}
/* Gravert folio nederst (løpende bunntekst, som i håndbøkene) */
.atlas-folio {
  margin-top: 1.6rem;
  padding-top: 0.7rem;
  border-top: 1px solid var(--kant);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--cinzel);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  color: var(--gull-tekst);
}
.atlas-folio .fleuron { color: var(--gull); font-size: 0.95rem; }

/* Toppmenyen følger med inn i det mørke slottet (gull-kant beholdt) */
body.gailea .topp {
  background: linear-gradient(180deg, #191d27, #10131a);
  border-bottom: 2px solid #b08d3f;
  /* Løft toppen (og dermed meny-nedtrekket) over sideinnholdet. Uten dette
     arver .topp z-index:1 fra regelen over, og meny-panelet – selv med sin egen
     z-index:30 – blir fanget i det laget og havner BAK main. Da «kommer menyen
     opp feil» og lar seg ikke bruke på Gailea-sidene. */
  z-index: 20;
}
body.gailea .meny-panel { background: var(--onyx-2); border-color: var(--kant-mork); }
body.gailea .meny-panel a { color: var(--krem); }
body.gailea .bunn { color: var(--dis-krem); }

/* Vokterens valg etter riktig ord */
.konsoll-valg { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 1rem; }
.konsoll-valg .konsoll-knapp { display: inline-block; text-decoration: none; }
.konsoll-knapp.dus { opacity: 0.65; }

/* ---------- Hvelvet: kister med kildesamlingen og løse skrifter ---------- */
.hvelv-smuler {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: baseline;
  justify-content: center;
  margin: 0.2rem 0 1.5rem;
  font-family: var(--cinzel);
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
body.gailea .hvelv-smuler a {
  color: var(--gull-tekst);
  text-decoration: none;
  border-bottom: 1px solid rgba(178, 142, 66, 0.45);
}
body.gailea .hvelv-smuler a:hover { color: var(--rod); border-color: var(--rod); }
body.gailea .hvelv-smuler span { color: var(--gull); }
body.gailea .hvelv-smuler strong { color: var(--lys); }

.hvelv-kister {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1rem;
  margin-bottom: 1.4rem;
}
body.gailea .hvelv-kiste {
  background: var(--panel);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.55rem;
  padding: 1.1rem 1rem 1rem;
  text-align: center;
  box-shadow: 0 8px 22px rgba(90, 66, 30, 0.14);
}
.hvelv-kiste-inn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  text-decoration: none;
}
body.gailea .hvelv-kiste-lokk { color: var(--gull-dyp); transition: color 0.25s, transform 0.25s; }
.hvelv-kiste-lokk svg { width: 46px; height: 46px; }
.hvelv-kiste-inn:hover .hvelv-kiste-lokk { color: var(--rod); transform: translateY(-2px); }
body.gailea .hvelv-kiste-navn {
  font-family: var(--cinzel);
  font-weight: 600;
  font-size: 1.02rem;
  color: var(--lys);
}
body.gailea .hvelv-kiste-meta {
  font-family: var(--cinzel);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  color: var(--gull-tekst);
}

.hvelv-register-tittel {
  font-family: var(--cinzel);
  font-weight: 600;
  letter-spacing: 0.06em;
  margin-top: 0;
}
.hvelv-filer { list-style: none; margin: 0; padding: 0; }
.hvelv-fil {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.55rem 0.15rem;
}
body.gailea .hvelv-fil + .hvelv-fil { border-top: 1px dotted rgba(111, 93, 67, 0.45); }
body.gailea .hvelv-fil-ikon { color: var(--gull-dyp); flex: none; display: flex; }
.hvelv-fil-ikon svg { width: 22px; height: 22px; }
/* forhåndsvisning: miniatyr i lista + PDF-leseren og bilde-viseren */
.hvelv-fil-mini { flex: none; display: flex; }
.hvelv-fil-mini img {
  width: 52px;
  height: 52px;
  object-fit: cover;
  border: 1px solid rgba(178, 142, 66, 0.5);
  display: block;
}
.hvelv-pdf {
  width: 100%;
  height: 78vh;
  border: 1px solid rgba(178, 142, 66, 0.45);
  background: #fff;
}
.hvelv-viser-tittel { overflow-wrap: anywhere; }
body.gailea .hvelv-fil-navn {
  font-family: var(--gailea-serif);
  font-size: 1.02rem;
  color: var(--lys);
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}
body.gailea .hvelv-fil-meta {
  font-family: var(--cinzel);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  color: var(--gull-tekst);
  flex: none;
}
.hvelv-last { white-space: nowrap; flex: none; }

@media (max-width: 540px) {
  .hvelv-fil { flex-wrap: wrap; }
  .hvelv-fil-navn { flex-basis: 100%; }
}

/* ---------- Biblioteket har flere forfattere: byline og marginalnoter ---------- */
body.gailea .atlas-forfatter {
  font-family: var(--gailea-serif);
  font-style: italic;
  font-size: 1.02rem;
  color: var(--dis);
  margin: -0.3rem 0 0.6rem;
}
body.gailea .atlas-tekst .fritekst { margin: 0 0 1.05em; }
/* «E: »-avsnitt: atlasførerens noter i en eldre hånd, i gullkantet marg */
body.gailea .atlas-marginal {
  margin: 1.15rem 0 1.15rem 1.7rem;
  padding: 0.6rem 0.95rem 0.6rem 1.1rem;
  border-left: 2px solid var(--gull);
  background: linear-gradient(90deg, rgba(178, 142, 66, 0.12), transparent 82%);
  font-style: italic;
  font-size: 0.99rem;
  line-height: 1.7;
  text-align: left;
  color: var(--gull-tekst);
}
body.gailea .atlas-marginal::before {
  content: "\270E in an older hand";
  display: block;
  font-family: var(--cinzel);
  font-style: normal;
  font-size: 0.66rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 0.3rem;
  color: var(--gull-tekst);
  opacity: 0.85;
}
@media (max-width: 540px) { body.gailea .atlas-marginal { margin-left: 0.7rem; } }

/* ---------- Kartrommet: kartbordet og vevet ---------- */
.kart-styring {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.kart-faner { display: flex; gap: 0.5rem; }
body.gailea .kart-fane.aktiv {
  background: linear-gradient(#fbf5e4, #e6d7b4);
  box-shadow: inset 0 1px 3px rgba(90, 66, 30, 0.35);
}
body.gailea .kart-sok {
  font-family: var(--gailea-serif);
  font-size: 1rem;
  padding: 0.45rem 0.9rem;
  border: 1px solid var(--gull);
  border-radius: 999px;
  background: var(--vellum);
  color: var(--lys);
  min-width: 220px;
}
body.gailea .kart-sok:focus { outline: none; box-shadow: 0 0 0 2px var(--gull); }

.kart-bord { padding: 1rem; position: relative; }
.kart-bord.skjult { display: none; }
.vernoir-kart {
  width: 100%;
  height: auto;
  display: block;
  touch-action: none;   /* pinch/dra styres av kartet, ikke sidescroll */
  cursor: grab;
  box-sizing: border-box;
  /* rammen ligger her (ikke i SVG-en) så den står stille under zoom/dra */
  border: 8px solid #1d1710;
  box-shadow: inset 0 0 0 2px rgba(138, 106, 47, 0.75);
}
.vernoir-kart.griper { cursor: grabbing; }
.kart-zoomknapper {
  position: absolute;
  top: 1.6rem;
  right: 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  z-index: 5;
}
.kart-zoomknapper .knapp {
  min-width: 2.2rem;
  padding: 0.3rem 0;
  font-size: 1.05rem;
  line-height: 1;
  text-align: center;
}
#kart-vev { width: 100%; height: auto; display: block; min-height: 320px; }

.kart-nal { cursor: pointer; }
/* Lys ring med mørk skygge, så nålene synes på grønt land, blått hav og
   Scar-ets svarte obsidian (kartet er fullfarge, ikke pergament lenger). */
.kart-nal .nal-ring {
  fill: none;
  stroke: #f3e2b8;
  stroke-width: 1.8;
  opacity: 0.8;
  filter: drop-shadow(0 0 2px rgba(20, 16, 10, 0.9));
  transition: opacity 0.2s, stroke-width 0.2s;
}
.kart-nal .nal-punkt {
  fill: #a33326;
  stroke: #f3e2b8;
  stroke-width: 1;
  opacity: 0.95;
}
.kart-nal:hover .nal-ring { opacity: 1; stroke-width: 2.8; }
.kart-nal.stum .nal-ring { stroke-dasharray: 3 4; opacity: 0.5; }
.kart-nal.lyser .nal-ring {
  stroke: #b28e42;
  stroke-width: 3;
  opacity: 1;
  filter: drop-shadow(0 0 4px rgba(230, 198, 90, 0.9));
}
.kart-nal.dimmet { opacity: 0.25; }

/* Navngitte lore-steder får sin egen silhuett i stedet for den nøytrale
   prikken (poi-krone/-sojler/-beger/-ruin/-haug/-bru/-skar, definert i
   dungeon_kartsvg.html). Samme kremtone som ringen, litt fylt gull så de
   leses som faste former og ikke bare kontur. */
.kart-nal .nal-ikon {
  fill: rgba(178, 142, 66, 0.55);
  stroke: #f3e2b8;
  stroke-width: 1.1;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 1.5px rgba(20, 16, 10, 0.9));
}
.kart-nal.stum .nal-ikon { stroke-dasharray: 2 2.4; opacity: 0.55; fill: none; }
.kart-nal.lyser .nal-ikon { stroke: #e6c65a; fill: rgba(230, 198, 90, 0.4); }
.kart-nal-glyf:hover .nal-ikon { fill: rgba(230, 198, 90, 0.55); }
/* når lore-etikettene toner inn (zoom-tett), løftes glyfene med dem */
.vernoir-kart .nal-ikon { transition: stroke-width 0.45s, opacity 0.45s; }
.vernoir-kart.zoom-tett .nal-ikon { stroke-width: 1.6; }
.vernoir-kart.zoom-tett .kart-nal.stum .nal-ikon { opacity: 0.85; }

.kart-hint {
  margin: 0.7rem 0 0;
  font-size: 0.88rem;
  font-style: italic;
  color: var(--dis);
  text-align: center;
}

/* Byplansjene: lenkestripe under kartbordet + selve plansjesiden */
.kart-plater {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 0.8rem;
  padding-top: 0.8rem;
  border-top: 1px solid rgba(178, 142, 66, 0.35);
}
.kart-plater-navn {
  font-family: var(--cinzel);
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  color: var(--gull-tekst);
}
.bykart-bord { padding: 0.8rem; }
/* glidende pan/zoom-viewer (samme håndgrep som hovedkartet: rull/knip
   zoomer, dra panorerer) – erstattet den binære klikk-vekslingen */
.bykart-rull {
  overflow: hidden;
  max-height: 78vh;
  border: 1px solid rgba(178, 142, 66, 0.45);
  background: var(--vellum);
  touch-action: none;
  cursor: grab;
}
.bykart-rull.griper { cursor: grabbing; }
.bykart-plansje {
  display: block;
  width: 100%;
  height: auto;
  transform-origin: 0 0;
  user-select: none;
  -webkit-user-drag: none;
}
.bykart-lenker {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin: 1rem 0;
}

/* Kartbiblioteket (The Cartographer's Table): folio-hyller og kart-kort */
.kbib-hyller {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}
.kbib-folio {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.7rem;
  text-decoration: none;
  background: var(--vellum);
  transition: transform 0.15s, box-shadow 0.15s;
}
.kbib-folio:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 18px rgba(40, 28, 12, 0.25);
}
.kbib-folio.skjult { display: none; }
.kbib-cover {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid rgba(178, 142, 66, 0.5);
}
.kbib-folio-navn {
  font-family: var(--cinzel);
  font-size: 0.95rem;
  color: var(--gull-tekst, #6d4a1c);
}
.kbib-folio-antall { font-size: 0.8rem; color: #7a6742; }
.kbib-kortgrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}
.kbib-kort { padding: 0.7rem; background: var(--vellum); }

/* Tegnebordet 2.0 (2026-08-12; fullbredde 2026-08-16 på eiers ordre:
   «why not show the whole canvas» — sida bryter ut av den slanke kolonna
   og lerretet SKALERES til å passe i stedet for å rulle) */
main.ramme:has(.bord) { max-width: none; padding: 0 1.5vw; }
.hvl5.bord { max-width: none; }
.bord-flate { display: grid; grid-template-columns: minmax(16rem, 21rem) 1fr;
  gap: 1rem; align-items: start; }
.bord-panel { padding: 1rem 1.1rem; display: grid; gap: .55rem;
  position: sticky; top: 4.5rem; max-height: calc(100vh - 5.5rem);
  overflow-y: auto; }
.bord-panel h2 { margin: .5rem 0 .1rem; font-size: 1rem; }
.bord-lerret { padding: .8rem; }
.bord-lerret canvas { display: block; max-width: 100%; height: auto;
  margin: 0 auto;
  box-shadow: 0 8px 30px rgba(0,0,0,.6); background: #fff;
  cursor: crosshair; }
.bord-mapper { display: flex; flex-direction: column; gap: .25rem;
  max-height: 11rem; overflow-y: auto; }
.bord-mappe { text-align: left; background: rgba(0,0,0,.35);
  border: 1px solid rgba(226,186,108,.3); border-radius: 5px;
  color: inherit; font: inherit; font-size: .8rem; padding: .3rem .6rem;
  cursor: pointer; }
.bord-mappe:hover { border-color: var(--gk-gull, #e2ba6c); }
.bord-familie { display: flex; gap: .3rem; }
.bord-famknapp { flex: 1; background: rgba(0,0,0,.35); cursor: pointer;
  border: 1px solid rgba(226,186,108,.3); border-radius: 999px;
  color: inherit; font: inherit; font-size: .78rem; padding: .25rem .4rem; }
.bord-famknapp.aktiv { border-color: var(--gk-gull, #e2ba6c);
  color: var(--gk-gull, #e2ba6c); }
.bord-filer { display: grid; grid-template-columns: repeat(4, 1fr);
  gap: .3rem; max-height: 15rem; overflow-y: auto; }
.bord-filer img { width: 100%; aspect-ratio: 1; object-fit: contain;
  background: rgba(255,255,255,.08); border-radius: 4px; cursor: copy; }
.bord-filer img:hover { outline: 2px solid var(--gk-gull, #e2ba6c); }
.bord-knapper { display: flex; flex-wrap: wrap; gap: .3rem; }
.bord-knapper[hidden] { display: none; }
@media (max-width: 900px) {
  .bord-flate { grid-template-columns: 1fr; }
  .bord-panel { position: static; max-height: none; }
}
/* Hallen som veikryss (2026-08-12) */
.nyhall-rom { margin: .5rem 0 0; font-size: .78rem; color: #b9b3a4; }
.nyhall-rom a { color: var(--gk-gull, #e2ba6c); text-decoration: none;
  border-bottom: 1px dotted rgba(226,186,108,.4); }
.nyhall-rom a:hover { color: #f0e6cf; }
.nyhall-dor h3 a, .nyhall-keeperkort h3 a { color: inherit;
  text-decoration: none; }
.nyhall-karrad { display: flex; flex-wrap: wrap; gap: .5rem;
  margin-bottom: .6rem; }
.nyhall-karchip { text-decoration: none; }

/* Egne kart-nåler på vokterens kart */
.egk-naal { cursor: pointer; }
.egk-naal circle { fill: #f0e6cf; stroke: #4a2c15; stroke-width: 2.5; }
.egk-naal text { font-size: 13px; paint-order: stroke; stroke: #241505;
  stroke-width: 3px; fill: #f5ead2; }
.kart-pinmodus { outline: 3px dashed #e2ba6c; cursor: crosshair; }
.kbib-kort-bilde {
  width: 100%;
  border: 1px solid rgba(178, 142, 66, 0.5);
  display: block;
}
.kbib-kort-meta {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  margin-top: 0.45rem;
}
.kbib-kort-navn { font-family: var(--cinzel); font-size: 0.9rem; }
.kbib-kort-detalj { font-size: 0.78rem; color: #7a6742; }
.kbib-kort-lenker { display: flex; gap: 0.4rem; margin-top: 0.2rem; }
.kbib-tegnebord-lenke {
  text-align: center;
  margin: 1.4rem 0 0.4rem;
  font-style: italic;
}

.vev-trad { stroke: #b28e42; opacity: 0.4; }
.vev-node { cursor: pointer; }
.vev-node circle {
  fill: var(--vellum);
  stroke: #7c1f1f;
  stroke-width: 1.6;
  transition: stroke-width 0.2s;
}
.vev-node.kat-laws circle { stroke: #7c1f1f; }
.vev-node.kat-history circle { stroke: #8a6a2f; }
.vev-node.kat-places circle { stroke: #4d5a35; }
.vev-node.kat-politics circle { stroke: #58180d; }
.vev-node.kat-bestiary circle { stroke: #16262b; }
.vev-node.utkast circle { stroke-dasharray: 4 3; }
.vev-node text {
  font-family: var(--cinzel);
  font-size: 11px;
  fill: var(--gull-tekst);
  text-anchor: middle;
  paint-order: stroke;
  stroke: var(--panel);
  stroke-width: 3px;
}
.vev-node:hover circle { stroke-width: 3; }
.vev-node.lyser circle {
  stroke: #b28e42;
  stroke-width: 3.4;
  filter: drop-shadow(0 0 5px rgba(230, 198, 90, 0.9));
}
.vev-node.dimmet, .vev-trad.dimmet { opacity: 0.15; }

@media (max-width: 640px) {
  .kart-styring { flex-direction: column; align-items: stretch; }
  .kart-sok { width: 100%; }
}

/* --- Karakterhallen: The Weaver's Primer (illustrert systeminnføring) --- */
.krk-primer { max-width: 46rem; margin: 0 auto; }
.krk-primer .krk-ingress { color: var(--dis); margin-top: -0.3rem; }
.krk-kap {
  margin: 2.1rem 0 0.6rem;
  padding-top: 1.1rem;
  border-top: 1px solid rgba(178, 142, 66, 0.35);
  font-size: 1.05rem;
  letter-spacing: 0.1em;
}
.krk-fig { margin: 1rem auto 1.2rem; text-align: center; }
.krk-fig svg { width: 100%; max-width: 26rem; height: auto; }
.krk-note {
  font-size: 0.88rem;
  color: var(--dis);
  font-style: italic;
  text-align: center;
  margin: 0.2rem auto 0;
  max-width: 32rem;
}
.krk-slutt { margin-top: 2rem; text-align: right; color: var(--dis); font-style: italic; }

/* SVG-figurene: blekk, gull og teal fra huden */
.krk-strek { fill: none; stroke-width: 3; stroke-linecap: round; }
.krk-strek.gull { stroke: var(--gull); }
.krk-strek.rod  { stroke: var(--rod); }
.krk-strek.teal { stroke: #3e7f8a; }
.krk-kordel { fill: none; stroke: var(--lys); stroke-width: 5; stroke-linecap: round; }
.krk-kordel.tynn { stroke-width: 3.4; }
.krk-fray { fill: none; stroke: var(--lys); stroke-width: 1.8; stroke-linecap: round; }
.krk-fray.los { stroke: var(--dis); stroke-width: 1.2; stroke-dasharray: 4 3; }
.krk-knute { fill: var(--rom); stroke: var(--rod); stroke-width: 2.4; }
.krk-tekst { font-family: var(--cinzel); font-size: 13px; fill: var(--lys); }
.krk-tekst.dis { fill: var(--dis); font-style: italic; font-family: var(--gailea-serif); }
.krk-tekst.rodt { fill: var(--rod); letter-spacing: 0.14em; font-size: 12px; }
.krk-ring { fill: none; stroke: var(--gull); stroke-width: 2.4; }
.krk-eiker path { stroke: rgba(178, 142, 66, 0.55); stroke-width: 1.4; }
.krk-nav { fill: rgba(124, 31, 31, 0.07); stroke: var(--rod); stroke-width: 1.6; }
.krk-domene text { font-family: var(--cinzel); font-size: 13px; font-weight: 600; fill: var(--lys); }
.krk-gloss { font-family: var(--gailea-serif); font-size: 10.5px; font-weight: 400; font-style: italic; fill: var(--dis); }
.krk-gloss2 text { font-family: var(--gailea-serif); font-size: 11px; font-style: italic; fill: var(--dis); }
.krk-gloss3 { font-family: var(--gailea-serif); font-size: 11px; font-style: italic; fill: var(--gull-tekst); }
.krk-trapp { fill: none; stroke: var(--lys); stroke-width: 3; stroke-linejoin: round; }
.krk-gate path { fill: none; stroke: var(--gull); stroke-width: 2; stroke-dasharray: 3 3; }
.krk-flamme path { stroke: var(--rod-glo); stroke-width: 2; stroke-linecap: round; }
.krk-soyle rect { fill: rgba(124, 31, 31, 0.55); }
.krk-soyle rect.topp { fill: var(--rod); }
.krk-soyle.flat rect { fill: rgba(47, 36, 23, 0.6); }
.krk-sone { stroke: var(--lys); stroke-width: 1; }
.krk-sone.lett  { fill: rgba(178, 142, 66, 0.75); }
.krk-sone.tung  { fill: rgba(138, 106, 47, 0.75); }
.krk-sone.verst { fill: rgba(47, 36, 23, 0.72); }
.krk-merke { stroke: var(--rod); stroke-width: 2; }

/* Formel-stripa: (du + utstyr) x ferdighet = tall */
.krk-formel {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  gap: 0.55rem;
  margin: 1.1rem 0 0.6rem;
}
.krk-brikke {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 5.6rem;
  padding: 0.5rem 0.8rem;
  border: 1px solid var(--kant);
  border-radius: 6px;
  background: var(--panel);
  text-align: center;
}
.krk-brikke strong {
  font-family: var(--cinzel);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.85rem;
}
.krk-brikke small { color: var(--dis); font-style: italic; font-size: 0.72rem; }
.krk-brikke.laert { border-color: var(--rod); }
.krk-brikke.laert strong { color: var(--rod); }
.krk-brikke.sum { border-width: 2px; border-color: var(--gull); background: rgba(178, 142, 66, 0.12); }
.krk-op {
  align-self: center;
  font-family: var(--cinzel);
  font-size: 1.3rem;
  color: var(--gull-tekst);
}

/* De fem formene: kort med små linjeikoner */
.krk-kort-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  gap: 0.7rem;
  margin: 1rem 0;
}
.krk-kort {
  padding: 0.75rem 0.8rem;
  border: 1px solid rgba(178, 142, 66, 0.4);
  border-radius: 6px;
  background: var(--panel);
}
.krk-kort svg {
  width: 26px; height: 26px;
  fill: none;
  stroke: var(--rod);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.krk-kort h4 {
  margin: 0.25rem 0 0.3rem;
  font-family: var(--cinzel);
  font-size: 0.92rem;
  letter-spacing: 0.08em;
}
.krk-kort p { margin: 0; font-size: 0.85rem; line-height: 1.5; color: var(--dis); }

/* Terning-figurene side om side */
.krk-terning-rad { display: flex; flex-wrap: wrap; gap: 0.8rem; justify-content: center; }
.krk-terning-rad .krk-fig { flex: 1 1 15rem; max-width: 19rem; margin: 0.4rem 0; }

/* «Skrevet i blyant»: uavgjorte regler */
.krk-blyant {
  margin: 0.8rem 0;
  padding: 0.8rem 1rem;
  border: 1.5px dashed var(--dis);
  border-radius: 6px;
  color: var(--dis);
}
.krk-blyant p { margin: 0; }

/* Karakterhallen: soklene, stige-frem-skjemaet og karakterarket */
.kar-hall h2 {
  font-family: var(--cinzel);
  letter-spacing: 0.06em;
  color: var(--rod);
}
.kar-sokler {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr));
  gap: 1.1rem;
  margin-top: 1rem;
}
.kar-sokkel {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
  padding: 1.2rem 0.9rem 1.7rem;
  text-align: center;
  text-decoration: none;
  color: var(--krem);
  background: linear-gradient(180deg, var(--onyx-3), var(--onyx-2));
  border: 1px solid var(--gull-dyp);
  border-radius: 6px 6px 3px 3px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(230, 198, 110, 0.10);
}
.kar-sokkel::after {                 /* sokkelfoten – opplyst stein-kant */
  content: "";
  position: absolute;
  left: 22%; right: 22%; bottom: 0.5rem;
  height: 0.45rem;
  background: rgba(201, 162, 74, 0.22);
  clip-path: polygon(10% 0, 90% 0, 100% 100%, 0 100%);
}
.kar-sokkel:hover { border-color: var(--gull); box-shadow: 0 0 0 1px var(--gull); }
.kar-navn { font-family: var(--cinzel); letter-spacing: 0.05em; font-size: 1rem; color: var(--gull-lys); }
.kar-rase { font-size: 0.78rem; font-style: italic; color: var(--dis-krem); }
.kar-spiller { font-size: 0.72rem; letter-spacing: 0.06em; color: var(--dis-krem); }
.kar-sokkel.falt { opacity: 0.55; filter: saturate(0.5); }
.kar-sokkel.tom { border-style: dashed; }
.kar-sokkel.tom:hover { box-shadow: none; }
.kar-tom-tegn { font-size: 1.7rem; line-height: 1.2; color: var(--gull); }
.kar-emblem {
  width: 52px; height: 52px;
  fill: none;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.kar-emblem.menneske { stroke: var(--gull); }
.kar-emblem.dverg    { stroke: var(--rod); }
.kar-emblem.gnom     { stroke: var(--teal); }

/* Stige frem-skjemaet */
.kar-skjema { max-width: 46rem; margin-left: auto; margin-right: auto; }
.kar-hint { font-size: 0.9rem; color: var(--dis); margin: 0.2rem 0 0.7rem; }
.kar-hint-rom { margin-top: 1.1rem; }
.kar-navnefelt {
  display: block;
  width: 100%;
  max-width: 28rem;
  margin: 0 auto;
  font-family: var(--cinzel);
  font-size: 1.15rem;
  letter-spacing: 0.05em;
  text-align: center;
}
.kar-rase-valg {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: 0.9rem;
}
.kar-rase-kort {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  padding: 1rem 0.9rem;
  text-align: center;
  cursor: pointer;
  background: var(--panel);
  border: 1px solid rgba(178, 142, 66, 0.4);
  border-radius: 6px;
}
.kar-rase-kort input { position: absolute; opacity: 0; pointer-events: none; }
.kar-rase-kort:hover { border-color: var(--gull); }
.kar-rase-kort:has(input:checked) {
  border-color: var(--gull);
  box-shadow: 0 0 0 1.5px var(--gull);
  background: rgba(178, 142, 66, 0.08);
}
.kar-rase-navn { font-family: var(--cinzel); letter-spacing: 0.06em; font-size: 1.05rem; }
.kar-rase-epitet { font-size: 0.78rem; font-style: italic; color: var(--dis); }
.kar-rase-lene { font-size: 0.8rem; color: var(--rod); }
.kar-rase-tekst { font-size: 0.82rem; line-height: 1.5; color: var(--dis); }
.kar-blyant { margin-top: 1.2rem; }

/* Karakterarket */
.kar-ark.falt { filter: saturate(0.6); }
.kar-falt-band {
  margin: 0 0 1rem;
  padding: 0.5rem 0.9rem;
  text-align: center;
  font-family: var(--cinzel);
  letter-spacing: 0.08em;
  color: var(--rod);
  border: 1px solid rgba(124, 31, 31, 0.5);
  border-radius: 6px;
}
.kar-ark-topp {
  display: flex;
  align-items: flex-start;
  gap: 1.1rem;
  margin-top: 0.4rem;
}
.kar-ark-topp .kar-emblem { flex: none; width: 72px; height: 72px; margin-top: 0.2rem; }
.kar-ark-rase { margin: 0 0 0.25rem; font-family: var(--cinzel); letter-spacing: 0.05em; }
.kar-ark-lene { margin: 0 0 0.5rem; font-size: 0.88rem; color: var(--rod); }
.kar-ark-tekst { margin: 0; font-size: 0.9rem; line-height: 1.6; color: var(--dis); }
.kar-historie { white-space: pre-line; }
.kar-kordel-rad { display: flex; align-items: baseline; gap: 0.7rem; margin: 0.5rem 0; }
.kar-kordel-rad p { margin: 0; }
.kar-prikk {
  flex: none;
  width: 0.65rem; height: 0.65rem;
  border-radius: 50%;
  transform: translateY(0.05rem);
}
.kar-prikk.gull { background: var(--gull); }
.kar-prikk.rod  { background: var(--rod); }
.kar-prikk.teal { background: var(--teal); }
.kar-trapp-fig { max-width: 24rem; }
.krk-trapp.dis { opacity: 0.45; }
.kar-trapp-merke { fill: var(--rod); stroke: none; }
.kar-meta { margin-top: 1.2rem; font-size: 0.8rem; color: var(--dis); font-style: italic; }

/* Pergament-innfelt for feltene (ellers arver de sidens mørke skjema-look) */
.kar-skjema input[type="text"],
.kar-skjema textarea,
.kar-styring input[type="text"],
.kar-styring textarea,
.kar-styring select,
.kar-eiendel-skjema input[type="text"] {
  font: inherit;
  color: var(--lys);
  background: var(--panel);
  border: 1px solid rgba(178, 142, 66, 0.5);
  border-radius: 6px;
  padding: 0.55em 0.75em;
  width: 100%;
}
.kar-skjema input:focus,
.kar-skjema textarea:focus,
.kar-styring input:focus,
.kar-styring textarea:focus,
.kar-styring select:focus {
  outline: none;
  border-color: var(--gull);
  box-shadow: 0 0 0 3px rgba(178, 142, 66, 0.18);
}
.kar-skjema textarea, .kar-styring textarea { resize: vertical; }
.kar-skjema ::placeholder, .kar-styring ::placeholder { color: var(--dis); }

body.gailea .boks .feltnavn { color: var(--gull-tekst); }
body.gailea .boks .tekstknapp:hover { color: var(--rod); }

/* Eier/admin-styring under arket */
.kar-styring summary {
  cursor: pointer;
  font-family: var(--cinzel);
  letter-spacing: 0.05em;
}
.kar-styring-rad {
  display: flex;
  gap: 1.4rem;
  margin-top: 0.9rem;
  flex-wrap: wrap;
}

/* Portretter: på sokkelen og stort på arket */
.kar-portrett {
  width: 72px; height: 72px;
  object-fit: cover;
  border-radius: 50%;
  border: 2px solid rgba(178, 142, 66, 0.55);
}
.kar-portrett.stor {
  flex: none;
  width: 128px; height: 128px;
  border-radius: 8px;
  margin-top: 0.2rem;
}
.kar-sokkel.tildekket { opacity: 0.6; border-style: dotted; }
.tildekket-band { color: var(--dis); border-color: rgba(111, 93, 67, 0.5); }

/* Kompaniene i hallen */
.kar-kompani {
  margin: 0.9rem 0;
  padding: 0.8rem 1rem;
  background: var(--panel);
  border: 1px solid rgba(178, 142, 66, 0.4);
  border-radius: 6px;
}
.kar-kompani-topp {
  display: flex;
  align-items: baseline;
  gap: 0.8rem;
  flex-wrap: wrap;
}
.kar-kompani-topp form { margin-left: auto; }
.kar-kompani-navn { font-family: var(--cinzel); letter-spacing: 0.05em; font-size: 1.05rem; }
.kar-kompani-meta { font-size: 0.75rem; color: var(--dis); }
.kar-kompani-medlemmer {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.55rem;
}
.kar-brikke {
  padding: 0.2rem 0.7rem;
  font-size: 0.82rem;
  color: var(--lys);
  text-decoration: none;
  border: 1px solid rgba(178, 142, 66, 0.45);
  border-radius: 999px;
}
.kar-brikke:hover { border-color: var(--gull); }
.kar-brikke-eier { color: var(--dis); }
.kar-brikke.tom-brikke { border-style: dashed; color: var(--dis); font-style: italic; }
.kar-kompani-skjema {
  display: flex;
  gap: 0.6rem;
  margin-top: 1rem;
  flex-wrap: wrap;
}
.kar-kompani-skjema input[type="text"] {
  flex: 1 1 14rem;
  font: inherit;
  color: var(--lys);
  background: var(--panel);
  border: 1px solid rgba(178, 142, 66, 0.5);
  border-radius: 6px;
  padding: 0.5em 0.75em;
}

/* Pakningen på arket */
.kar-pakning { list-style: none; margin: 0.3rem 0 0.8rem; padding: 0; }
.kar-pakning li {
  display: flex;
  align-items: baseline;
  gap: 0.7rem;
  padding: 0.4rem 0.2rem;
  border-bottom: 1px dashed rgba(111, 93, 67, 0.35);
}
.kar-pakning li form { margin-left: auto; }
.kar-eiendel-navn { font-weight: 600; }
.kar-eiendel-notat { font-size: 0.85rem; color: var(--dis); }
.kar-eiendel-skjema {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
  margin: 0.6rem 0 0.4rem;
}
.kar-eiendel-skjema input { flex: 1 1 10rem; }
.kar-eiendel-skjema input[name="navn"] { flex: 1 1 12rem; }

/* Styringsdelene (portrett, kompani, sløret) */
.kar-styring-del {
  margin-bottom: 1.1rem;
  padding-bottom: 1rem;
  border-bottom: 1px dashed rgba(111, 93, 67, 0.3);
}
.kar-bilde-rad { display: flex; align-items: center; gap: 0.8rem; flex-wrap: wrap; }
.kar-filknapp { display: inline-block; cursor: pointer; }
.kar-parti-skjema { display: flex; gap: 0.6rem; align-items: center; flex-wrap: wrap; }
.kar-parti-skjema select { max-width: 18rem; }
.kar-npc-valg { display: block; margin: 0.9rem 0 0; color: var(--dis); }

/* utk-*: hjul-motpolene på primeren + klar til bibliotek-sida
   (tabeller, domenekort, ferdighets-dl) når den bygges */
.utk-liste { padding-left: 1.2rem; }
.utk-liste li { margin: 0.35rem 0; }
.utk-lov { margin: 0.6rem 0 0; text-align: center; }
.utk-motpol path {
  stroke: var(--rod);
  stroke-width: 1.3;
  stroke-dasharray: 5 4;
  opacity: 0.65;
  fill: none;
}
.utk-rull { overflow-x: auto; }
.utk-tabell {
  width: 100%;
  margin: 0.6rem 0 0.4rem;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.utk-tabell th {
  text-align: left;
  font-family: var(--cinzel);
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  color: var(--rod);
  border-bottom: 1.5px solid var(--gull);
  padding: 0.35rem 0.7rem 0.35rem 0;
}
.utk-tabell td {
  padding: 0.4rem 0.7rem 0.4rem 0;
  border-bottom: 1px dashed rgba(111, 93, 67, 0.35);
  vertical-align: top;
}
.utk-domene {
  margin: 1.1rem 0;
  padding: 0.9rem 1.1rem;
  background: var(--panel);
  border: 1px solid rgba(178, 142, 66, 0.4);
  border-radius: 6px;
}
.utk-domene-navn {
  margin: 0 0 0.5rem;
  font-family: var(--cinzel);
  font-size: 1rem;
  letter-spacing: 0.06em;
}
.utk-domene-navn.gull { color: var(--gull-tekst); }
.utk-domene-navn.rod  { color: var(--rod); }
.utk-domene-navn.teal { color: var(--teal); }
.utk-ferdigheter {
  display: grid;
  grid-template-columns: 6.5rem 1fr;
  gap: 0.15rem 0.8rem;
  margin: 0;
}
.utk-ferdigheter dt { font-weight: 600; }
.utk-ferdigheter dd { margin: 0; color: var(--dis); font-size: 0.9rem; }
.utk-arete {
  margin: 0.7rem 0 0;
  font-size: 0.88rem;
  color: var(--rod);
}
.utk-ferdigheter dt.utk-kunst,
.utk-ferdigheter dd.utk-kunst {
  color: var(--teal);
  padding-top: 0.35rem;
  border-top: 1px dashed rgba(31, 159, 176, 0.4);
}
.utk-mellom {
  margin: 1.3rem 0 0.4rem;
  font-family: var(--cinzel);
  font-size: 0.95rem;
  letter-spacing: 0.06em;
  color: var(--rod);
}
.utk-monstre { margin-top: 0.9rem; }
.utk-monstre .krk-kort p { font-size: 0.8rem; }

/* Kodeksen: innholdsnav, ferdighetsblokker og lenka fra hallen */
.kdx-lenke {
  max-width: 46rem;
  margin: 0 auto 1.1rem;
  text-align: center;
  font-style: italic;
}
.kdx-lenke a { color: var(--rod); }
.kdx-innhold {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.3rem 1.1rem;
  margin: 0.4rem 0 1rem;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.kdx-innhold a { color: var(--dis); text-decoration: none; }
.kdx-innhold a:hover { color: var(--rod); }
.kdx-domenehopp { margin-top: 0.8rem; text-transform: none; letter-spacing: 0.05em; }
.kdx-ferdigheter {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
  gap: 0.4rem 1.6rem;
}
.kdx-ferdighet {
  padding: 0.55rem 0 0.35rem;
  border-top: 1px dashed rgba(111, 93, 67, 0.3);
}
.kdx-f-navn {
  margin: 0 0 0.25rem;
  font-family: var(--cinzel);
  letter-spacing: 0.05em;
}
.kdx-f-navn.kunst { color: var(--teal); }
.kdx-trinn { list-style: none; margin: 0; padding: 0; }
.kdx-trinn li {
  margin: 0.15rem 0;
  font-size: 0.85rem;
  line-height: 1.5;
  color: var(--dis);
}
.kdx-trinn .rom {
  display: inline-block;
  min-width: 1.4rem;
  font-family: var(--cinzel);
  font-size: 0.75rem;
  color: var(--gull);
}
.kdx-trinn li.arete { color: var(--lys); }
.kdx-arete-navn { font-family: var(--cinzel); font-size: 0.82rem; color: var(--rod); }
.utk-flamme { color: var(--gull); margin-right: 0.3rem; }
.utk-hylle { padding-left: 1.3rem; }
.utk-hylle li { margin: 0.45rem 0; font-size: 0.92rem; }
.utk-sporsmal { padding-left: 1.3rem; }
.utk-sporsmal li { margin: 0.55rem 0; }

/* Primer-oppdateringene etter at v2 ble inket */
.krk-merke.tynn { opacity: 0.45; stroke-dasharray: 3 3; }
.kar-lodd { margin: 0.9rem 0; }
.kar-lodd .krk-op { color: var(--dis); }

/* Kodeksen: søkefeltet og Det røde kapittelets underoverskrifter */
.kdx-sok { margin: 0.2rem 0 1.2rem; }
.kdx-sok input[type="search"] {
  width: 100%;
  max-width: 26rem;
  padding: 0.5rem 0.8rem;
  background: rgba(255, 252, 240, 0.75);
  border: 1px solid rgba(111, 93, 67, 0.5);
  border-radius: 4px;
  color: #2c2419;
  color-scheme: light;
  font-family: inherit;
  font-size: 0.92rem;
}
.kdx-sok input[type="search"]::placeholder { color: rgba(74, 62, 44, 0.6); }
.kdx-ukap {
  margin: 1.6rem 0 0.5rem;
  font-family: var(--cinzel);
  font-size: 0.98rem;
  letter-spacing: 0.06em;
  color: var(--rod);
}
.kdx-ordliste li { margin: 0.5rem 0; }

/* Arket som teller: «The Tally» på karakterarket */
.ktl-topp {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem 2rem;
  margin: 0.6rem 0 0.9rem;
  align-items: baseline;
}
.ktl-navn {
  font-family: var(--cinzel);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--dis);
  margin-right: 0.4rem;
}
.ktl-verdi { font-family: var(--cinzel); font-size: 1.15rem; color: var(--lys); }
.ktl-pip { margin-left: 0.45rem; font-size: 0.8rem; letter-spacing: 0.18em; color: var(--gull-tekst); }
.ktl-note { margin-left: 0.4rem; font-size: 0.8rem; color: var(--dis); }
.ktl-stand {
  display: inline-block;
  padding: 0.1rem 0.55rem;
  border: 1px solid rgba(111, 93, 67, 0.5);
  border-radius: 1rem;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
}
.ktl-stand.verre { border-color: var(--rod); color: var(--rod); }
.ktl-knapper { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0 0 1rem; }
.ktl-domener { display: grid; gap: 0.3rem; }
.ktl-domene { padding: 0.45rem 0 0.3rem; border-top: 1px dashed rgba(111, 93, 67, 0.3); }
.ktl-d-topp {
  margin: 0 0 0.2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.15rem 0.8rem;
  align-items: baseline;
}
.ktl-d-topp .utk-domene-navn { margin: 0; font-size: 0.95rem; }
.ktl-poeng { font-family: var(--cinzel); font-size: 0.82rem; color: var(--lys); }
.ktl-terskel { font-size: 0.8rem; color: var(--gull-tekst); }
.ktl-arr { font-size: 0.82rem; color: var(--dis); }
.ktl-cast {
  font-size: 0.78rem;
  color: var(--gull-tekst);
  border: 1px solid rgba(197, 160, 89, 0.55);
  border-radius: 1rem;
  padding: 0.05rem 0.5rem;
}
.ktl-inline { display: inline; }
.ktl-inline .tekstknapp { padding: 0 0.3rem; }
.ktl-f { margin: 0.12rem 0 0.12rem 0.4rem; display: flex; flex-wrap: wrap; gap: 0 0.6rem; align-items: baseline; }
.ktl-f .rom {
  display: inline-block;
  min-width: 1.5rem;
  font-family: var(--cinzel);
  font-size: 0.78rem;
  color: var(--gull-tekst);
}
.ktl-f-navn { color: var(--lys); }
.ktl-f-navn.kunst { color: var(--teal); }
.ktl-score { font-size: 0.8rem; color: var(--dis); }
.ktl-vev { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.9rem 0 0.3rem; }
.kar-ark .ktl-vev select,
.kar-ark .ktl-vev button { font-size: 0.9rem; }
.kar-ark .ktl-vev select {
  background: rgba(255, 252, 240, 0.75);
  border: 1px solid rgba(111, 93, 67, 0.5);
  border-radius: 4px;
  color: #2c2419;
  color-scheme: light;
  padding: 0.35rem 0.5rem;
}

/* Kodeks v3: priser, meta-linjer, drawbacks, formel; Tally: gate */
.kdx-pris {
  display: inline-block;
  min-width: 1.6rem;
  margin-right: 0.3rem;
  font-size: 0.7rem;
  color: var(--dis);
  text-align: right;
}
.kdx-f-meta {
  display: block;
  font-family: inherit;
  font-size: 0.72rem;
  letter-spacing: 0.02em;
  color: var(--dis);
}
.kdx-drawback { display: block; margin-top: 0.15rem; color: var(--rod); font-size: 0.82rem; }
.kdx-formel {
  margin: 0.6rem 0 0.9rem;
  font-family: var(--cinzel);
  font-size: 1.02rem;
  color: var(--lys);
}
.ktl-gate {
  font-size: 0.78rem;
  color: var(--dis);
  border: 1px dashed rgba(111, 93, 67, 0.5);
  border-radius: 1rem;
  padding: 0.05rem 0.5rem;
}
/* Gailea-undermeny, kodeks-dørkortet og Den andre boken */
.gailea-meny {
  display: flex;
  flex-wrap: wrap;
  gap: 0.15rem 1.1rem;
  padding: 0.45rem 1rem 0;
  font-family: var(--cinzel);
  font-size: 0.74rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.gailea-meny a { color: var(--dis); text-decoration: none; }
.gailea-meny a:hover, .gailea-meny a.aktiv { color: var(--gull); }
.kdx-dor {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  margin: 1rem auto 1.4rem;
  max-width: 44rem;
  padding: 0.8rem 1.2rem;
  border: 1px solid rgba(197, 160, 89, 0.55);
  border-radius: 10px;
  background: linear-gradient(160deg, rgba(197,160,89,0.14), rgba(197,160,89,0.04));
  text-decoration: none;
  transition: transform 0.15s ease, border-color 0.15s ease;
}
.kdx-dor:hover { transform: translateY(-2px); border-color: var(--gull); }
.kdx-dor-ikon { font-size: 1.6rem; }
.kdx-dor-tekst strong {
  display: block;
  font-family: var(--cinzel);
  letter-spacing: 0.06em;
  color: var(--gull);
}
.kdx-dor-tekst em { color: var(--dis-krem); font-size: 0.88rem; }
.kdx-dor-pil { margin-left: auto; color: var(--gull); font-size: 1.2rem; }
/* «Kommer» (The Works): plassholderkort – ikke en lenke, dempet, ingen løft. */
.kdx-dor.kommer { cursor: default; opacity: 0.62; border-style: dashed; }
.kdx-dor.kommer:hover { transform: none; border-color: rgba(197, 160, 89, 0.55); }
/* The Works (nedtid): delt oppgraderings-tavle per kampanje. */
.verk-sammendrag { text-align: center; }
.verk-camp { font-family: var(--cinzel); color: var(--gull-lys); margin: 0 0 0.3rem; }
.verk-hint { color: var(--dis-krem); font-size: 0.9rem; margin: 0.2rem 0; }
.verk-seksjon { font-family: var(--cinzel); color: var(--gull-lys); text-align: center;
  letter-spacing: 0.14em; text-transform: uppercase; font-size: 1rem; margin: 2rem 0 0.8rem; }
.verk-kort { max-width: 44rem; margin: 0 auto 1rem; }
.verk-kort.ferdig { border-color: rgba(159, 198, 204, 0.4); }
.verk-topp { display: flex; align-items: center; gap: 0.6rem; }
.verk-topp h3 { font-family: var(--cinzel); color: var(--krem); margin: 0; flex: 1; }
.verk-merke { font-size: 0.7rem; color: var(--ghost-hi); border: 1px solid var(--ghost-lo);
  border-radius: 6px; padding: 0.05rem 0.4rem; letter-spacing: 0.08em; }
.verk-spor { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.1em;
  border-radius: 6px; padding: 0.1rem 0.5rem; }
.verk-spor.base { color: var(--aksent-glo); border: 1px solid var(--aksent); }
.verk-spor.camp { color: var(--ghost-hi); border: 1px solid var(--ghost-lo); }
.verk-slett { margin: 0; }
.verk-effekt { color: var(--dis-krem); font-size: 0.92rem; margin: 0.5rem 0 0.7rem; }
.verk-bar { height: 9px; border-radius: 5px; background: var(--onyx-3);
  border: 1px solid var(--kant-mork); overflow: hidden; }
.verk-bar > span { display: block; height: 100%;
  background: linear-gradient(90deg, var(--gull-dyp), var(--gull-lys)); }
.verk-tall { color: var(--krem); font-size: 0.82rem; margin: 0.3rem 0 0.6rem; }
.verk-folk { list-style: none; padding: 0; margin: 0 0 0.7rem; display: grid; gap: 0.3rem; }
.verk-folk li { display: grid; grid-template-columns: 8rem 1fr auto; align-items: center;
  gap: 0.5rem; font-size: 0.82rem; color: var(--dis-krem); }
.verk-folk-navn { color: var(--krem); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.verk-folk-bar { height: 6px; border-radius: 4px; background: var(--onyx-3); overflow: hidden; }
.verk-folk-bar > span { display: block; height: 100%; background: var(--ghost); }
.verk-folk-tall { color: var(--krem); }
.verk-bidra { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.verk-bidra label { color: var(--dis-krem); font-size: 0.85rem; display: flex; align-items: center; gap: 0.4rem; }
.fritekst.liten { width: 5rem; }
.verk-raised-av { color: var(--dis-krem); font-size: 0.85rem; font-style: italic; margin: 0.3rem 0 0; }
.verk-katalog { max-width: 46rem; margin: 1.6rem auto 0; }
.verk-katalog > summary { cursor: pointer; font-family: var(--cinzel); color: var(--gull-lys); letter-spacing: 0.06em; }
.verk-gruppe { font-family: var(--cinzel); color: var(--ghost-hi); letter-spacing: 0.1em;
  text-transform: uppercase; font-size: 0.8rem; margin: 1rem 0 0.4rem; }
.verk-katalog-rad { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 0.6rem; }
.verk-modul { margin: 0; }
.verk-modul-knapp { display: block; width: 100%; text-align: left; cursor: pointer;
  background: var(--onyx-2); border: 1px solid var(--kant-mork); border-left: 3px solid var(--ghost-lo);
  border-radius: 8px; padding: 0.55rem 0.7rem; color: var(--krem);
  transition: border-color 0.15s ease, transform 0.15s ease; }
.verk-modul-knapp.base { border-left-color: var(--aksent); }
.verk-modul-knapp:hover { border-color: var(--gull); transform: translateY(-2px); }
.verk-modul-navn { display: block; font-family: var(--cinzel); color: var(--gull-lys); font-size: 0.92rem; }
.verk-modul-meta { display: block; font-size: 0.72rem; color: var(--ghost-hi); margin: 0.15rem 0; }
.verk-modul-effekt { display: block; font-size: 0.8rem; color: var(--dis-krem); }
.verk-purse { max-width: 44rem; margin: 0 auto 1rem; text-align: center; }
.verk-purse-tit { font-family: var(--cinzel); color: var(--gull-lys);
  letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.8rem; margin: 0 0 0.3rem; }
.verk-purse-rad { color: var(--dis-krem); font-size: 0.88rem; margin: 0.15rem 0; }
.verk-purse-rad strong { color: var(--krem); }
.verk-purse-dom { display: inline-block; margin: 0 0.35rem; color: var(--ghost-hi); }
.verk-purse-tom { font-style: italic; }
.verk-bidra label { display: inline-flex; }
.verk-bidra select { margin: 0 0.2rem; }
.verk-ingenkar { color: var(--dis-krem); font-style: italic; font-size: 0.88rem; }
/* The Clocks (DM «the world turns»): segment-klokker per kampanje. */
.klokke-seksjon { max-width: 44rem; margin: 0 auto 1.4rem; }
.klokke-tit { font-family: var(--cinzel); color: var(--gull-lys); text-align: center;
  letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.82rem; margin: 0 0 0.6rem; }
.klokke { display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem;
  padding: 0.45rem 0; border-top: 1px solid var(--kant-mork); }
.klokke:first-of-type { border-top: 0; }
.klokke-pips { display: inline-flex; gap: 3px; }
.pip { width: 12px; height: 12px; border-radius: 3px; border: 1px solid var(--aksent); background: transparent; }
.pip.fylt { background: linear-gradient(180deg, var(--aksent-glo), var(--aksent)); }
.klokke.full .pip.fylt { background: var(--rod); border-color: var(--rod); }
.klokke-navn { font-family: var(--cinzel); color: var(--krem); }
.klokke-skjult { font-size: 0.66rem; color: var(--ghost-hi); border: 1px solid var(--ghost-lo);
  border-radius: 5px; padding: 0 0.35rem; letter-spacing: 0.06em; }
.klokke-tall { color: var(--dis-krem); font-size: 0.82rem; }
.klokke-om { color: var(--dis-krem); font-size: 0.82rem; font-style: italic; flex-basis: 100%; }
.klokke-styring { margin-left: auto; display: inline-flex; gap: 0.15rem; align-items: center; }
.klokke-ny { display: flex; gap: 0.5rem; align-items: center; flex-wrap: wrap; margin-top: 0.7rem; }
.klokke-ny label { color: var(--dis-krem); font-size: 0.85rem; }
.bok2 h3.krk-kap { color: var(--rod); }
.bok2 > p { margin: 0.5rem 0; }
.gailea-dor { transition: transform 0.18s ease, box-shadow 0.18s ease; }
.gailea-dor:hover { transform: translateY(-3px); box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35); }
/* Varekatalogen («The Wares»): kort per gjenstand, hodelinje med
   navn/worth/ask/pris, punkter under. */
.vrr .vrr-kort {
  margin: 0.7rem 0;
  padding: 0.55rem 0.8rem;
  border: 1px solid rgba(212, 175, 55, 0.22);
  border-left: 3px solid rgba(212, 175, 55, 0.45);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.02);
}
.vrr .vrr-kort > .vrr-hode { margin: 0 0 0.3rem; }
.vrr .vrr-kort > .utk-liste { margin: 0.2rem 0 0; }
.vrr .vrr-kort > .utk-liste > li { margin: 0.15rem 0; }
.vrr .vrr-los { margin: 0.5rem 0; }

/* ---- Kort-arket (runde 8): spillflaten på karakterarket ---- */
/* ===== MØRK ARK-FLATE (verktøy → mørkt, eiers valg) =====================
   Karakterarket er et verktøy, ikke en leseside: vipp pergament-tokenene til
   mørke LOKALT på .kar-ark, så alle .hk-* -reglene (som bruker --vellum/
   --parchment-skygge/--ink/--gull-tekst/--stripe) flipper til mørkt uten at
   de 95 reglene røres. Onyks-plate, gull/krem tekst, ghost-blå detalj. */
/* Arket er PERGAMENT (flisa vant over den gamle onyks-flata) — mørkt
   blekk, ikke lys gull: eiers klage «gold text on paper, hard to read». */
body.gailea .kar-ark h1, body.gailea .kar-ark h2,
body.gailea .kar-ark h3 { color: var(--rod); }
/* Hvile-knappene: primær = krem tekst på rød; sekundær = gull på onyks */
body.gailea .kar-ark .hk-rest button { color: var(--krem); }
body.gailea .kar-ark .hk-rest button.sekundaer {
  color: var(--gull-lys); background: var(--onyx-3); border-color: var(--gull-dyp); }
body.gailea .kar-ark .hk-tpip.fylt,
body.gailea .kar-ark .hk-endturn { color: var(--krem); }

/* ===== MØRKE VERKTØY-FLATER (samme token-flip som .kar-ark) ==============
   The Field / Web / Expedition / Parley / Ledger / Index. Vipp pergament-
   tokenene mørke på hver container, så .kamp-/.vev-/.eksp-/.prl-/.ldg-/.idx-
   reglene flipper uten å røres. */
body.gailea .kamp-side, body.gailea .kamp-styring,
body.gailea .vev-boks, body.gailea .vev-styring,
body.gailea .eksp, body.gailea .eksp-ny,
body.gailea .prl, body.gailea .prl-ny,
body.gailea .ldg, body.gailea .idx, body.gailea .kar-hall {
  background:
    radial-gradient(130% 60% at 50% -4%, rgba(159, 198, 206, 0.06), transparent 60%),
    linear-gradient(180deg, var(--onyx-2), var(--onyx));
  color: var(--krem);
  --vellum: #1e2431;
  --parchment-skygge: #12161f;
  --stripe: #2b3441;
  --ink: #ece1c8;
  --gull-tekst: #d9b45a;
  --dis: #9aa2ae;
  --rod: #cf5a49;
  --rod-glo: #e2796a;
  --rod-dyp: #7c1f1f;
  --teal-natt: var(--ghost);
  --glass: rgba(24, 29, 40, 0.82);
}
body.gailea .kamp-side h1, body.gailea .kamp-side h2, body.gailea .kamp-side h3,
body.gailea .vev-boks h2, body.gailea .vev-boks h3, body.gailea .vev-styring h2,
body.gailea .eksp h2, body.gailea .eksp h3, body.gailea .eksp-ny h2,
body.gailea .prl h2, body.gailea .prl h3, body.gailea .prl-ny h2,
body.gailea .ldg h2, body.gailea .ldg h3,
body.gailea .idx h2, body.gailea .idx h3,
body.gailea .kar-hall h2, body.gailea .kar-hall h3 { color: var(--gull-lys); }
/* Indre lese-/underkort i et mørkt verktøy → krem tekst (overstyr .boks-vakt) */
body.gailea .kamp-side .boks, body.gailea .eksp .boks,
body.gailea .prl .boks, body.gailea .ldg .boks,
body.gailea .idx .boks, body.gailea .vev-boks .boks { color: var(--krem); }
/* The Works: hvert kort er en .boks – flipp tokenene mørke på selve kortet
   (det ER .boks-en), så verktøy-flaten matcher The Table og de andre rommene. */
body.gailea .verk-sammendrag, body.gailea .verk-kort, body.gailea .verk-katalog,
body.gailea .verk-purse, body.gailea .klokke-seksjon {
  --vellum: #1e2431;
  --parchment-skygge: #12161f;
  --stripe: #2b3441;
  --ink: #ece1c8;
  --gull-tekst: #d9b45a;
  --dis: #9aa2ae;
  --rod: #cf5a49;
  --teal-natt: var(--ghost);
  --glass: rgba(24, 29, 40, 0.82);
  color: var(--krem);
}

.hk { --helse: var(--rod); --stam: #6f7d3a; --mana: var(--teal);
  --ink: #ece1c8; margin: 1.4rem 0 0.5rem; }

/* vitals */
.hk-vitals { position: sticky; top: 6px; z-index: 6;
  background: linear-gradient(var(--vellum), var(--parchment-skygge));
  border: 1px solid var(--gull); border-radius: 12px;
  box-shadow: 0 3px 12px rgba(40, 20, 0, 0.16);
  padding: 0.7rem 0.7rem 0.65rem; margin-bottom: 0.9rem; }
.hk-meters { display: flex; flex-direction: column; gap: 0.55rem; }
.hk-meter { display: grid; grid-template-columns: 58px 1fr auto;
  align-items: center; gap: 0.55rem; }
.hk-mnavn { font-family: var(--cinzel); font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.07em; font-size: 0.64rem;
  color: var(--gull-tekst); }
.hk-bar { position: relative; height: 15px; border-radius: 8px;
  background: rgba(90, 70, 30, 0.15); overflow: hidden;
  box-shadow: inset 0 1px 2px rgba(40, 20, 0, 0.22); }
.hk-fyll { position: absolute; inset: 0 auto 0 0; width: 100%;
  border-radius: 8px; transition: width 0.32s cubic-bezier(0.4, 0, 0.2, 1); }
.hk-bar[data-slag="helse"] .hk-fyll { background: linear-gradient(var(--rod-glo), var(--helse)); }
.hk-bar[data-slag="stam"] .hk-fyll { background: linear-gradient(#8a9b47, var(--stam)); }
.hk-bar[data-slag="mana"] .hk-fyll { background: linear-gradient(#3fc0d0, var(--mana)); }
.hk-mctrl { display: flex; align-items: center; gap: 2px; }
.hk-mtall { font-variant-numeric: tabular-nums; font-weight: 600;
  font-size: 0.9rem; min-width: 52px; text-align: right; color: var(--ink);
  font-family: var(--gailea-serif); }
.hk-mtall b { color: var(--rod); }
.hk-pm { width: 26px; height: 26px; border: 1px solid var(--gull);
  background: var(--vellum); color: var(--rod); border-radius: 7px;
  font-size: 1.05rem; line-height: 1; cursor: pointer; font-family: var(--cinzel);
  display: grid; place-items: center; padding: 0; }
.hk-pm:hover { background: var(--gull-lys); }
.hk-pm:active { transform: translateY(1px); }
.hk-chips { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.7rem; }
.hk-chip { font-family: var(--cinzel); font-weight: 600; font-size: 0.64rem;
  text-transform: uppercase; letter-spacing: 0.06em; color: var(--gull-tekst);
  background: var(--vellum); border: 1px solid var(--stripe); border-radius: 20px;
  padding: 0.25rem 0.6rem; display: inline-flex; gap: 5px; align-items: center; }
.hk-chip b { color: var(--ink); font-family: var(--gailea-serif);
  font-size: 0.85rem; letter-spacing: 0; font-variant-numeric: tabular-nums; }
.hk-chip.stand { border-color: var(--gull); color: var(--rod); }
.hk-rest { display: flex; gap: 0.5rem; margin-top: 0.7rem; flex-wrap: wrap; }
.hk-rest button { flex: 1; min-width: 6rem; font-family: var(--cinzel);
  font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase;
  font-size: 0.62rem; color: var(--vellum); cursor: pointer;
  background: linear-gradient(var(--rod-glo), var(--rod));
  border: 1px solid var(--rod-dyp); border-radius: 9px; padding: 0.55rem; }
.hk-rest button.sekundaer { color: var(--rod); background: var(--vellum);
  border-color: var(--gull); }
.hk-rest button:active { transform: translateY(1px); }

/* turn tracker */
.hk-turnbar { display: flex; align-items: center; justify-content: space-between;
  gap: 0.6rem; background: linear-gradient(var(--vellum), var(--parchment-skygge));
  border: 1px solid var(--gull); border-radius: 11px; padding: 0.55rem 0.7rem;
  margin-bottom: 0.7rem; }
.hk-spor { display: flex; align-items: center; gap: 0.45rem; flex-wrap: wrap; }
.hk-turn-tit { font-family: var(--cinzel); font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.09em; font-size: 0.6rem;
  color: var(--gull-tekst); }
.hk-tpip { font-family: var(--cinzel); font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.05em; font-size: 0.58rem; color: var(--gull-tekst);
  background: var(--vellum); border: 1px solid var(--stripe); border-radius: 20px;
  padding: 0.24rem 0.65rem; user-select: none; }
.hk-tpip.fylt { color: var(--vellum);
  background: linear-gradient(var(--rod-glo), var(--rod)); border-color: var(--rod-dyp); }
.hk-tpip.fylt::before { content: "\2713 "; }
.hk-endturn { font-family: var(--cinzel); font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.06em; font-size: 0.62rem; color: var(--rod); background: var(--vellum);
  border: 1px solid var(--gull); border-radius: 8px; padding: 0.5rem 0.7rem;
  cursor: pointer; white-space: nowrap; }
.hk-endturn:active { transform: translateY(1px); }
.hk-dm { margin: 0 0 0.9rem; border: 1px dashed var(--teal-dis);
  border-radius: 10px; background: rgba(31, 159, 176, 0.06); padding: 0 0.7rem; }
.hk-dm summary { font-family: var(--cinzel); font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; font-size: 0.62rem; color: var(--teal-natt);
  padding: 0.55rem 0; cursor: pointer; }
.hk-dm-rad { display: flex; flex-wrap: wrap; gap: 0.8rem; padding: 0.1rem 0 0.55rem;
  align-items: center; }
.hk-dm-felt { display: flex; align-items: center; gap: 0.35rem; font-family: var(--cinzel);
  font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em;
  font-size: 0.6rem; color: var(--gull-tekst); }
.hk-dm-felt select { font-family: var(--gailea-serif); font-size: 0.9rem;
  border: 1px solid var(--gull); border-radius: 6px; padding: 0.15rem 0.4rem;
  background: var(--vellum); color: var(--ink); }
.hk-dm-note { font-style: italic; color: var(--dis); font-size: 0.78rem;
  padding-bottom: 0.65rem; line-height: 1.45; }

/* section header + deck */
.hk-kap { display: flex; align-items: center; gap: 0.6rem; margin: 1.3rem 0 0.6rem; }
.hk-kap h4 { font-family: var(--cinzel); font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.13em; font-size: 0.82rem; color: var(--rod); margin: 0; white-space: nowrap; }
.hk-kap::after { content: ""; flex: 1; height: 1px;
  background: linear-gradient(90deg, var(--gull), transparent); }
.hk-deck { display: grid; grid-template-columns: 1fr; gap: 0.7rem; }
@media (min-width: 560px) { .hk-deck { grid-template-columns: 1fr 1fr; } }

/* card */
.hk-kort { perspective: 1200px; }
.hk-kort-inner { position: relative; transition: transform 0.5s cubic-bezier(0.4, 0.05, 0.2, 1);
  transform-style: preserve-3d; }
.hk-kort.brukt .hk-kort-inner { transform: rotateY(180deg); }
.hk-face { border-radius: 12px; padding: 0.7rem 0.75rem; border: 1px solid var(--gull);
  background: linear-gradient(160deg, var(--vellum), var(--parchment-skygge));
  box-shadow: 0 2px 9px rgba(40, 20, 0, 0.13); color: var(--ink);
  display: flex; flex-direction: column; }
.hk-kort[data-limited="1"] .hk-face { -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.hk-face.ferd-face { background: linear-gradient(160deg, #f2ecdb, #e7dcc0); }
.hk-face.hk-bak { position: absolute; inset: 0; transform: rotateY(180deg);
  align-items: center; justify-content: center; text-align: center; gap: 0.7rem;
  background: linear-gradient(160deg, #ece2c8, #ddd1b0); }
.hk-k-topp { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.5rem; }
.hk-k-navn { font-family: var(--cinzel); font-weight: 700; color: var(--rod);
  font-size: 0.98rem; line-height: 1.1; }
.hk-k-navn.teal { color: var(--teal-natt); }
.hk-k-navn.rod { color: var(--rod); }
.hk-k-slag { font-family: var(--cinzel); font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.07em; font-size: 0.56rem; color: var(--gull-tekst);
  border: 1px solid var(--stripe); border-radius: 5px; padding: 0.12rem 0.35rem; white-space: nowrap; }
.hk-score { font-family: var(--cinzel); font-weight: 700; color: var(--rod);
  font-size: 1.12rem; letter-spacing: 0.02em; margin: 0.5rem 0 0.4rem;
  display: flex; align-items: baseline; gap: 0.5rem; font-variant-numeric: tabular-nums; }
.hk-score.untr { color: var(--dis); }
.hk-score .roll { font-size: 0.58rem; color: var(--gull-tekst);
  text-transform: uppercase; letter-spacing: 0.08em; font-weight: 600; }
.hk-kost { display: flex; gap: 0.35rem; margin: 0 0 0.45rem; flex-wrap: wrap; }
.hk-kost .kost { font-family: var(--cinzel); font-weight: 700; font-size: 0.6rem;
  text-transform: uppercase; letter-spacing: 0.04em; border-radius: 6px;
  padding: 0.15rem 0.45rem; display: inline-flex; align-items: center; }
.hk-kost .kost.st { color: #3f4a1c; background: rgba(111, 125, 58, 0.18);
  border: 1px solid rgba(111, 125, 58, 0.5); }
.hk-kost .kost.mana { color: #0f5763; background: rgba(31, 159, 176, 0.16);
  border: 1px solid rgba(31, 159, 176, 0.5); }
.hk-kost .kost.gratis { color: var(--gull-tekst); background: var(--vellum);
  border: 1px solid var(--stripe); }
.hk-kost .kost.linje { color: var(--dis); background: transparent;
  border: 1px solid var(--stripe); text-transform: none; letter-spacing: 0; font-weight: 600; }
.hk-k-tekst { font-size: 0.9rem; line-height: 1.35; color: var(--ink); flex: 1; }
.hk-k-linje { display: flex; flex-wrap: wrap; gap: 0.7rem; margin-top: 0.4rem;
  font-family: var(--cinzel); font-size: 0.6rem; text-transform: uppercase;
  letter-spacing: 0.04em; color: var(--gull-tekst); }
.hk-k-push { margin-top: 0.4rem; font-size: 0.78rem; line-height: 1.35; color: var(--rod-dyp);
  border-top: 1px dashed var(--gull); padding-top: 0.4rem; }
.hk-k-push b { font-family: var(--cinzel); text-transform: uppercase;
  letter-spacing: 0.05em; font-size: 0.62rem; }
.hk-k-bunn { display: flex; align-items: center; justify-content: space-between;
  gap: 0.5rem; margin-top: 0.6rem; }
.hk-k-par { font-size: 0.72rem; color: var(--dis); font-style: italic; }
.hk-bruk { font-family: var(--cinzel); font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.05em; font-size: 0.64rem; color: var(--vellum); cursor: pointer;
  background: linear-gradient(var(--rod-glo), var(--rod)); border: 1px solid var(--rod-dyp);
  border-radius: 8px; padding: 0.45rem 0.85rem; }
.hk-bruk.atwill { color: var(--rod); background: var(--vellum); border-color: var(--gull); }
.hk-bruk:active { transform: translateY(1px); }

/* skill cards */
.hk-vis-ferd { width: 100%; font-family: var(--cinzel); font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.66rem; color: var(--rod);
  background: var(--vellum); border: 1px dashed var(--gull); border-radius: 9px;
  padding: 0.65rem; cursor: pointer; margin: 1.1rem 0 0.6rem; }
.hk-ferdkort[hidden] { display: none; }
.hk-tier-linje { display: flex; gap: 4px; margin: 0.5rem 0 0.4rem; }
.hk-steg { flex: 1; height: 5px; border-radius: 3px; background: rgba(90, 70, 30, 0.16); }
.hk-steg.pa { background: linear-gradient(var(--gull-lys), var(--gull)); }
.hk-arete { font-family: var(--cinzel); font-weight: 700; color: var(--gull-dyp);
  text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.66rem; margin-bottom: 0.3rem; }
.hk-stempel { font-family: var(--cinzel); font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.16em; font-size: 0.9rem; color: var(--rod-dyp);
  border: 2px solid var(--rod-dyp); border-radius: 9px; padding: 0.4rem 0.9rem;
  transform: rotate(-7deg); opacity: 0.82; }
.hk-baknote { font-style: italic; color: var(--dis); font-size: 0.82rem; }
.hk-hvil-ett { font-family: var(--cinzel); font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.05em; font-size: 0.64rem; color: var(--rod); background: var(--vellum);
  border: 1px solid var(--gull); border-radius: 8px; padding: 0.45rem 0.85rem; cursor: pointer; }
.hk-kost .kost.gear { color: var(--gull-dyp); background: rgba(178, 142, 66, 0.14);
  border: 1px solid rgba(178, 142, 66, 0.5); }
.hk-face.gear-face { background: linear-gradient(160deg, #f1ecdc, #e7dcc0);
  border-color: var(--gull-dyp); }
.hk-face.gear-face .hk-k-navn { color: var(--gull-dyp); }
.hk-k-knapper { display: flex; align-items: center; gap: 0.4rem; }
.hk-swap { font-family: var(--gailea-serif); font-size: 0.74rem; font-style: normal;
  border: 1px solid var(--stripe); border-radius: 6px; padding: 0.05rem 0.2rem;
  background: var(--vellum); color: var(--ink); }
.hk-push-t { font-family: var(--cinzel); font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.05em; font-size: 0.58rem; color: var(--rod); cursor: pointer;
  background: var(--vellum); border: 1px solid var(--gull); border-radius: 8px;
  padding: 0.4rem 0.6rem; }
.hk-push-t.pa { color: var(--vellum);
  background: linear-gradient(var(--rod-glo), var(--rod)); border-color: var(--rod-dyp); }
.hk-ponos { margin-top: 0.4rem; font-size: 0.78rem; line-height: 1.35;
  color: var(--rod-dyp); background: rgba(124, 31, 31, 0.08);
  border-radius: 7px; padding: 0.4rem 0.5rem; }
.hk-kort.pushed .hk-k-push { background: rgba(124, 31, 31, 0.06);
  border-radius: 7px; padding: 0.4rem 0.5rem; }

/* pakningen: gear-merker */
.eiendel-merke { font-family: var(--cinzel); font-size: 0.58rem; text-transform: uppercase;
  letter-spacing: 0.06em; color: var(--vellum); background: var(--gull-dyp);
  border-radius: 10px; padding: 0.05rem 0.4rem; }
.eiendel-slag, .eiendel-verd { font-family: var(--cinzel); font-size: 0.6rem;
  text-transform: uppercase; letter-spacing: 0.05em; color: var(--gull-tekst);
  border: 1px solid var(--stripe); border-radius: 5px; padding: 0.05rem 0.35rem;
  margin-left: 0.35rem; }
.eiendel-knapper { display: inline-flex; gap: 0.5rem; margin-left: 0.4rem; }
.eiendel-utstyrt { font-size: 0.82rem; color: var(--dis); display: inline-flex;
  align-items: center; gap: 0.3rem; }

@media (prefers-reduced-motion: reduce) {
  .hk-kort-inner, .hk-fyll { transition: none; }
}

/* ---- Kampfeltet (runde 8c) ---- */
.kamp-side { margin-bottom: 1.1rem; }
.kamp-side-tittel { font-family: var(--cinzel); font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.9rem;
  color: var(--rod); margin: 0 0 0.8rem; }
.fiende-side .kamp-side-tittel { color: var(--rod-dyp); }
.kamp-felt { display: grid; gap: 0.7rem;
  grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr)); }
.kamp-brikke { border: 1px solid var(--gull); border-radius: 12px;
  background: linear-gradient(160deg, var(--vellum), var(--parchment-skygge));
  padding: 0.6rem; text-align: center; display: flex; flex-direction: column;
  align-items: center; gap: 0.35rem; box-shadow: 0 2px 8px rgba(40, 20, 0, 0.12); }
.kamp-brikke.venn { border-color: var(--teal-dis); }
.kamp-brikke.fiende { border-color: var(--rod); }
.kamp-brikke.skjult { opacity: 0.7; border-style: dashed;
  background: repeating-linear-gradient(45deg, var(--vellum),
    var(--vellum) 8px, var(--parchment-skygge) 8px, var(--parchment-skygge) 16px); }
.kamp-portrett-lenke { display: inline-block; line-height: 0; border-radius: 50%; }
.kamp-portrett-lenke.laast { pointer-events: none; }
.kamp-portrett { width: 68px; height: 68px; border-radius: 50%;
  object-fit: cover; border: 2px solid var(--gull);
  box-shadow: 0 1px 5px rgba(40, 20, 0, 0.28); }
.kamp-emblem { display: inline-grid; place-items: center; width: 68px;
  height: 68px; border-radius: 50%; border: 2px solid var(--gull);
  background: linear-gradient(140deg, var(--teal-natt), #22383d); }
.kamp-emblem svg, .kamp-emblem .kar-emblem { width: 42px; height: 42px; }
.kamp-navn { font-family: var(--cinzel); font-weight: 700; color: var(--rod);
  font-size: 0.86rem; line-height: 1.1; }
.kamp-lurer { font-family: var(--cinzel); font-weight: 600; font-size: 0.56rem;
  text-transform: uppercase; letter-spacing: 0.06em; color: var(--vellum);
  background: var(--gull-dyp); border-radius: 10px; padding: 0.05rem 0.4rem;
  vertical-align: middle; }
.kamp-vitals { width: 100%; display: flex; flex-direction: column;
  align-items: center; gap: 0.2rem; }
.kamp-bar { width: 100%; height: 8px; border-radius: 5px;
  background: rgba(90, 70, 30, 0.16); overflow: hidden; }
.kamp-bar > span { display: block; height: 100%; border-radius: 5px; }
.kamp-bar.helse > span { background: linear-gradient(var(--rod-glo), #58180d); }
.kamp-bar.stam > span { background: linear-gradient(#8a9b47, #6f7d3a); }
.kamp-bar.mana > span { background: linear-gradient(#3fc0d0, var(--teal)); }
.kamp-tall { font-variant-numeric: tabular-nums; font-size: 0.72rem;
  color: var(--ink, #33291a); font-family: var(--gailea-serif); }
.kamp-stand { font-family: var(--cinzel); font-weight: 600; font-size: 0.58rem;
  text-transform: uppercase; letter-spacing: 0.05em; color: var(--gull-tekst); }
.kamp-stand.verre { color: var(--rod); }
.kamp-skjult-note { font-style: italic; font-size: 0.74rem; color: var(--dis);
  margin: 0.2rem 0; }
.kamp-dm { display: flex; flex-wrap: wrap; gap: 0.3rem; justify-content: center;
  margin-top: 0.35rem; border-top: 1px dashed var(--stripe); padding-top: 0.4rem; }
.kamp-dm .tekstknapp { font-size: 0.68rem; }
.kamp-legg-til, .kamp-ny { display: flex; flex-wrap: wrap; gap: 0.5rem;
  align-items: center; margin-bottom: 0.4rem; }
.kamp-styring-del { margin-bottom: 1rem; }
.kamp-styring-rad { display: flex; gap: 0.8rem; align-items: center;
  margin-top: 0.6rem; flex-wrap: wrap; }
.kamp-liste { list-style: none; padding: 0; margin: 0.3rem 0 0; }
.kamp-liste li { display: flex; justify-content: space-between; align-items: center;
  gap: 0.6rem; padding: 0.35rem 0; border-bottom: 1px solid var(--stripe); }
.kdx-dor-kamp .kdx-dor-ikon { color: var(--rod); }

/* ---- creature-builderen (runde 8d): kroner, særstats, dupliser ---- */
.hk-kroner { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.6rem; }
.hk-krone { font-family: var(--cinzel); font-weight: 600; font-size: 0.62rem;
  text-transform: uppercase; letter-spacing: 0.05em; color: var(--gull-dyp);
  background: rgba(178, 142, 66, 0.16); border: 1px solid var(--gull-dyp);
  border-radius: 20px; padding: 0.2rem 0.6rem; }
.hk-survival { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center;
  margin-top: 0.6rem; }
.hk-chip.stand.verre { color: var(--rod); border-color: var(--rod);
  background: rgba(124, 31, 31, 0.08); }
.hk-survival-note { font-style: italic; font-size: 0.74rem; color: var(--rod-dyp); }
.kar-maker { border-top: 1px dashed var(--gull); padding-top: 0.8rem; }
.kar-krone-liste { list-style: none; padding: 0; margin: 0 0 0.6rem; }
.kar-krone-liste li { display: flex; justify-content: space-between;
  align-items: center; gap: 0.6rem; padding: 0.25rem 0;
  border-bottom: 1px solid var(--stripe); font-family: var(--gailea-serif); }
.kar-krone-skjema, .kar-stats-skjema, .kar-dup-skjema { display: flex;
  flex-wrap: wrap; gap: 0.5rem; align-items: center; margin: 0.3rem 0 0.5rem; }
.kar-stats-skjema label, .kar-dup-skjema label { display: inline-flex;
  align-items: center; gap: 0.3rem; font-family: var(--cinzel); font-size: 0.64rem;
  text-transform: uppercase; letter-spacing: 0.05em; color: var(--gull-tekst); }
.kar-stats-skjema input[type="number"] { width: 5rem; }
.kar-rase-egen .kar-egen-felt { display: flex; flex-direction: column;
  gap: 0.4rem; margin-top: 0.5rem; }
.kar-rase-egen input:checked ~ .kar-egen-felt,
.kar-rase-egen .kar-egen-felt { display: flex; }

/* ---- The Index (runde 8e): alt rullet sammen ---- */
.idx details { margin: 0; }
.idx summary { cursor: pointer; list-style: none; }
.idx summary::-webkit-details-marker { display: none; }
.idx summary::before { content: "\25B8"; display: inline-block; width: 1em;
  color: var(--gull); transition: transform 0.15s; }
.idx details[open] > summary::before { transform: rotate(90deg); }
.idx-kat { border-top: 1px solid var(--gull); }
.idx-kat > summary { font-family: var(--cinzel); font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.98rem;
  color: var(--rod); padding: 0.7rem 0.2rem; }
.idx-tell { font-family: var(--gailea-serif); font-weight: 400;
  text-transform: none; letter-spacing: 0; font-size: 0.82rem;
  color: var(--dis); font-style: italic; }
.idx-sub { margin-left: 0.6rem; }
.idx-sub > summary { font-family: var(--cinzel); font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.07em; font-size: 0.78rem;
  color: var(--gull-tekst); padding: 0.45rem 0.2rem; }
.idx-gloss { font-family: var(--gailea-serif); font-weight: 400;
  text-transform: none; letter-spacing: 0; font-size: 0.8rem;
  color: var(--dis); font-style: italic; }
.idx-post { margin-left: 1.2rem; border-left: 1px solid var(--stripe);
  padding-left: 0.6rem; }
.idx-post > summary { font-family: var(--gailea-serif); font-size: 0.98rem;
  color: var(--rod); padding: 0.32rem 0.2rem; }
.idx-detalj { padding: 0.2rem 0.2rem 0.7rem 1.2rem; font-size: 0.92rem;
  line-height: 1.45; color: var(--ink, #33291a); }
.idx-detalj p { margin: 0.35rem 0; }
.idx-detalj .idx-meta { font-family: var(--cinzel); font-size: 0.66rem;
  text-transform: uppercase; letter-spacing: 0.05em; color: var(--gull-tekst); }
.idx-detalj b { color: var(--rod); font-family: var(--cinzel);
  letter-spacing: 0.04em; }
.idx-mer { display: inline-block; margin-top: 0.4rem; font-family: var(--cinzel);
  font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.06em; }
.idx-lenke { display: flex; justify-content: space-between; align-items: baseline;
  gap: 0.8rem; margin-left: 1.2rem; padding: 0.4rem 0.2rem;
  border-bottom: 1px solid var(--stripe); text-decoration: none; }
.idx-lenke:hover { background: rgba(178, 142, 66, 0.08); }
.idx-lenke.falt { opacity: 0.55; }
.idx-krone-rad { display: flex; flex-wrap: wrap; gap: 0.4rem;
  margin: 0.4rem 0 0.4rem 1.2rem; }
.idx-tomt { font-style: italic; color: var(--dis); padding: 0.6rem 0.2rem; }
.idx-blink { animation: idx-blink 1.6s ease; }
@keyframes idx-blink {
  0%, 100% { background: transparent; }
  25% { background: var(--gull-lys); }
}
.kdx-dor-index .kdx-dor-ikon { color: var(--gull-dyp); }
@media (prefers-reduced-motion: reduce) {
  .idx summary::before, .idx-blink { transition: none; animation: none; }
}

/* ---- Campaign-skallet (runde 9) ---- */
.kmp-ny form { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.kmp-ny input[type="text"] { flex: 1; min-width: 10rem; }
.kmp-kort.aktiv { border-color: var(--gull); box-shadow: 0 0 0 1px var(--gull),
  0 3px 14px rgba(40, 20, 0, 0.18); }
.kmp-topp { display: flex; align-items: baseline; justify-content: space-between;
  gap: 0.8rem; flex-wrap: wrap; }
.kmp-navn { font-family: var(--cinzel); font-weight: 700; color: var(--rod);
  margin: 0; font-size: 1.2rem; }
.kmp-merke { font-family: var(--cinzel); font-size: 0.58rem; text-transform: uppercase;
  letter-spacing: 0.06em; color: var(--vellum); background: var(--rod);
  border-radius: 10px; padding: 0.1rem 0.5rem; vertical-align: middle; }
.kmp-survival { font-family: var(--cinzel); font-weight: 600; font-size: 0.62rem;
  text-transform: uppercase; letter-spacing: 0.05em; border-radius: 20px;
  padding: 0.15rem 0.55rem; }
.kmp-survival.pa { color: #3f4a1c; background: rgba(111, 125, 58, 0.18);
  border: 1px solid rgba(111, 125, 58, 0.5); }
.kmp-survival.av { color: var(--gull-tekst); background: var(--vellum);
  border: 1px solid var(--stripe); }
.kmp-om { font-style: italic; color: var(--dis); margin: 0.3rem 0 0.6rem; }
.kmp-styring-rad { display: flex; flex-wrap: wrap; gap: 0.7rem; align-items: center;
  margin: 0.4rem 0; }
.kmp-omdop { margin: 0.4rem 0 0.7rem; }
.kmp-omdop summary { cursor: pointer; font-family: var(--cinzel); font-size: 0.68rem;
  text-transform: uppercase; letter-spacing: 0.06em; color: var(--gull-tekst); }
.kmp-roster { list-style: none; padding: 0; margin: 0.3rem 0 0.7rem;
  display: flex; flex-direction: column; gap: 0.3rem; }
.kmp-roster li { display: flex; align-items: center; justify-content: space-between;
  gap: 0.6rem; }
.kmp-kar { display: flex; align-items: center; gap: 0.6rem; text-decoration: none;
  flex: 1; }
.kmp-kar:hover { color: var(--rod); }
.kmp-emblem { width: 30px; height: 30px; flex: none; }
.kmp-emblem svg, .kmp-emblem .kar-emblem { width: 30px; height: 30px; }
.kmp-kar-rase { font-family: var(--cinzel); font-size: 0.62rem; text-transform: uppercase;
  letter-spacing: 0.04em; color: var(--dis); }
.kmp-legg { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.kdx-dor-kmp .kdx-dor-ikon { color: var(--gull-dyp); }

/* ---- The Web (runde 9c): sosialt nett ---- */
.vev-boks { overflow: hidden; }
.vev { position: relative; width: 100%; height: min(68vh, 30rem);
  overflow: hidden; border: 1px solid var(--gull); border-radius: 12px;
  background:
    radial-gradient(120% 90% at 50% 40%, rgba(31,159,176,0.06), transparent 70%),
    linear-gradient(var(--teal-natt), #12202400); touch-action: none; }
.vev-verden { position: absolute; top: 0; left: 0; transform-origin: 0 0; }
.vev-trader { position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  overflow: visible; pointer-events: none; }
.vev-trader .kant { stroke: var(--gull); stroke-width: 2; opacity: 0.85; }
.vev-trader .kant.rumored { stroke-dasharray: 4 5; opacity: 0.4; }
.vev-trader .slag-ally { stroke: #6f9a5a; stroke-dasharray: 7 4; }
.vev-trader .slag-rival { stroke: #a52c2c; stroke-dasharray: 7 4; }
.vev-trader .slag-kin { stroke: var(--gull); stroke-dasharray: 2 4; }
.vev-trader .slag-oath { stroke: var(--teal); stroke-dasharray: 10 3; }
.vev-trader .tier-3 { stroke: #58180d; } .vev-trader .tier-2 { stroke: #7c1f1f; }
.vev-trader .tier-1 { stroke: #a52c2c; } .vev-trader .tier0 { stroke: var(--gull); }
.vev-trader .tier1 { stroke: #6f9a5a; } .vev-trader .tier2 { stroke: #3f9a7a; }
.vev-trader .tier3 { stroke: var(--teal); }
.vev-boble { position: absolute; transform: translate(-50%, -50%);
  padding: 0.32rem 0.6rem; border-radius: 20px; cursor: pointer;
  font-family: var(--cinzel); font-weight: 600; font-size: 0.72rem;
  letter-spacing: 0.03em; white-space: nowrap; border: 1px solid var(--gull);
  background: var(--vellum); color: var(--blekk, #33291a);
  box-shadow: 0 2px 7px rgba(0,0,0,0.3); user-select: none; max-width: 9rem;
  overflow: hidden; text-overflow: ellipsis; }
.vev-boble.type-parti { background: linear-gradient(var(--gull-lys), var(--gull));
  color: var(--rod-dyp); font-weight: 700; font-size: 0.82rem;
  border-color: var(--gull-dyp); padding: 0.45rem 0.8rem; }
.vev-boble.slag-pc { background: linear-gradient(#bfe6ec, #7fb9bf); border-color: var(--teal); }
.vev-boble.slag-npc { background: linear-gradient(#e7c9c9, #cf9d9d); border-color: var(--rod); }
.vev-boble.type-makt { background: linear-gradient(#efe2c4, #d8c290);
  border-color: var(--gull-dyp); }
.vev-boble.rumored { opacity: 0.5; border-style: dashed; filter: grayscale(0.4); }
.vev-dossier { position: relative; margin-top: 0.7rem; border: 1px solid var(--gull);
  border-radius: 10px; background: linear-gradient(var(--vellum), var(--parchment-skygge));
  padding: 0.8rem 1rem; }
.vev-dossier h3 { font-family: var(--cinzel); color: var(--rod); margin: 0 0 0.2rem; }
.vev-dossier-type { font-family: var(--cinzel); font-size: 0.62rem;
  text-transform: uppercase; letter-spacing: 0.06em; color: var(--gull-tekst);
  margin: 0 0 0.4rem; }
.vev-dossier-tom { font-style: italic; color: var(--dis); }
.vev-dossier-lukk { position: absolute; top: 0.5rem; right: 0.6rem;
  border: none; background: none; color: var(--dis); cursor: pointer; font-size: 1rem; }
.vev-tegn { display: flex; flex-wrap: wrap; gap: 0.3rem; margin: 0.6rem 0 0;
  justify-content: center; }
.vev-tegn .vt { font-family: var(--cinzel); font-size: 0.56rem; text-transform: uppercase;
  letter-spacing: 0.04em; color: var(--vellum); border-radius: 10px; padding: 0.1rem 0.5rem; }
.vt.reviled { background: #58180d; } .vt.hostile { background: #7c1f1f; }
.vt.wary { background: #a52c2c; } .vt.known { background: var(--gull-dyp); }
.vt.trusted { background: #6f9a5a; } .vt.honored { background: #3f9a7a; }
.vt.sworn { background: var(--teal); }
.vev-skjema { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center;
  margin: 0.3rem 0 0.6rem; }
.vev-skjema input[type="text"] { flex: 1; min-width: 8rem; }
.vev-liste { list-style: none; padding: 0; margin: 0.3rem 0; }
.vev-liste li { display: flex; justify-content: space-between; align-items: center;
  gap: 0.6rem; padding: 0.3rem 0; border-bottom: 1px solid var(--stripe); }
.vev-l-navn { font-family: var(--gailea-serif); }
.vev-l-slag { font-family: var(--cinzel); font-size: 0.58rem; text-transform: uppercase;
  letter-spacing: 0.05em; color: var(--gull-tekst); }
.kdx-dor-vev .kdx-dor-ikon { color: var(--teal); }
@media (prefers-reduced-motion: reduce) { .vev-boble { transition: none; } }

/* ---- The Parley (runde 9d) ---- */
.prl-topp { display: flex; gap: 0.9rem; align-items: center; margin-bottom: 0.8rem; }
.prl-portrett { width: 66px; height: 66px; border-radius: 50%; object-fit: cover;
  border: 2px solid var(--gull); }
.prl-emblem { width: 66px; height: 66px; display: inline-grid; place-items: center;
  border-radius: 50%; border: 2px solid var(--gull);
  background: linear-gradient(140deg, var(--teal-natt), #22383d); }
.prl-emblem svg, .prl-emblem .kar-emblem { width: 40px; height: 40px; }
.prl-navn { font-family: var(--cinzel); color: var(--rod); margin: 0; }
.prl-disp { margin: 0.15rem 0; font-size: 0.9rem; }
.prl-disp b { color: var(--rod); font-family: var(--cinzel); letter-spacing: 0.03em; }
.prl-maal { margin: 0.15rem 0; color: var(--dis); }
.prl-resolve { display: grid; grid-template-columns: 66px 1fr auto; gap: 0.6rem;
  align-items: center; margin: 0.7rem 0; }
.prl-r-navn { font-family: var(--cinzel); font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.07em; font-size: 0.64rem; color: var(--gull-tekst); }
.prl-bar { height: 15px; border-radius: 8px; background: rgba(90,70,30,0.16);
  overflow: hidden; box-shadow: inset 0 1px 2px rgba(40,20,0,0.22); }
.prl-bar > span { display: block; height: 100%; border-radius: 8px;
  background: linear-gradient(#b07, var(--rod)); }
.prl-r-tall { font-variant-numeric: tabular-nums; font-weight: 600; }
.prl-r-tall b { color: var(--rod); }
.prl-appeals { display: grid; gap: 0.5rem; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  margin: 0.8rem 0; }
.prl-appeal { border: 1px solid var(--stripe); border-radius: 9px; padding: 0.5rem 0.6rem;
  background: var(--vellum); text-align: center; }
.prl-appeal.s-lean { border-color: #6f9a5a; background: rgba(111,154,90,0.12); }
.prl-appeal.s-deaf { border-color: var(--rod); background: rgba(124,31,31,0.08); opacity: 0.9; }
.prl-a-navn { display: block; font-family: var(--cinzel); font-weight: 700;
  color: var(--rod); font-size: 0.9rem; }
.prl-a-dom { font-family: var(--cinzel); font-size: 0.56rem; text-transform: uppercase;
  letter-spacing: 0.06em; color: var(--gull-tekst); }
.prl-a-stat { display: block; font-size: 0.8rem; font-style: italic; color: var(--dis);
  margin-top: 0.15rem; }
.prl-appeal.s-lean .prl-a-stat { color: #3f6a2c; font-style: normal; }
.prl-appeal.s-deaf .prl-a-stat { color: var(--rod); }
.prl-seam { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; margin: 0.6rem 0; }
.prl-seam-navn { font-family: var(--cinzel); font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.06em; font-size: 0.64rem; color: var(--rod); }
.prl-seam-pips { display: inline-flex; gap: 0.25rem; }
.prl-pip { width: 14px; height: 14px; border-radius: 50%; border: 1px solid var(--rod);
  background: var(--vellum); }
.prl-pip.pa { background: var(--rod); }
.prl-dm { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin-top: 0.7rem; }
.kdx-dor-prl .kdx-dor-ikon { color: var(--rod); }

/* ---- The Expedition (runde 9e) ---- */
.pm-knapp { width: 24px; height: 24px; border: 1px solid var(--gull);
  background: var(--vellum); color: var(--rod); border-radius: 6px;
  font-size: 0.95rem; line-height: 1; cursor: pointer; font-family: var(--cinzel);
  display: inline-grid; place-items: center; padding: 0; }
.pm-knapp:hover { background: var(--gull-lys); }
.knapp.valgt, .knapp.liten.valgt { outline: 2px solid var(--rod); }
.eksp-topp { display: flex; align-items: baseline; justify-content: space-between;
  gap: 0.8rem; flex-wrap: wrap; margin-bottom: 0.6rem; }
.eksp-navn { font-family: var(--cinzel); color: var(--rod); margin: 0; font-size: 1.2rem; }
.eksp-modus { font-family: var(--cinzel); font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.06em; font-size: 0.6rem; border-radius: 20px; padding: 0.15rem 0.6rem;
  color: var(--vellum); }
.eksp-modus.modus-reise { background: var(--gull-dyp); }
.eksp-modus.modus-delve { background: var(--teal-natt); }
.eksp-tide { border: 1px solid var(--gull); border-radius: 11px; padding: 0.7rem 0.8rem;
  margin-bottom: 0.9rem; background: linear-gradient(var(--vellum), var(--parchment-skygge)); }
.eksp-tide-topp { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; }
.eksp-tide-navn { font-family: var(--cinzel); text-transform: uppercase; letter-spacing: 0.06em;
  font-size: 0.72rem; color: var(--gull-tekst); }
.eksp-tide-navn b { color: var(--rod); }
.eksp-tide-spor { display: flex; gap: 4px; margin: 0.5rem 0; }
.eksp-tide-seg { flex: 1; height: 12px; border-radius: 3px; background: rgba(90,70,30,0.14); }
.eksp-tide-seg.pa.t0 { background: var(--teal); }
.eksp-tide-seg.pa.t1 { background: #6f9a5a; }
.eksp-tide-seg.pa.t2 { background: var(--gull); }
.eksp-tide-seg.pa.t3 { background: #a52c2c; }
.eksp-tide-seg.pa.t4 { background: var(--rod); }
.eksp-tide-seg.pa.t5 { background: var(--rod-dyp); }
.eksp-tide-effekt { font-style: italic; color: var(--dis); margin: 0.2rem 0 0; font-size: 0.9rem; }
.eksp-dials { display: flex; flex-wrap: wrap; gap: 1.2rem; margin: 0.6rem 0 0.4rem; }
.eksp-dial { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.eksp-d-navn { font-family: var(--cinzel); font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.06em; font-size: 0.62rem; color: var(--gull-tekst); }
.eksp-d-pips { display: inline-flex; gap: 3px; }
.eksp-pip { width: 13px; height: 13px; border-radius: 3px; border: 1px solid var(--stripe);
  background: var(--vellum); }
.eksp-pip.stam.pa { background: #6f7d3a; border-color: #6f7d3a; }
.eksp-pip.lys.pa { background: var(--gull-lys); border-color: var(--gull-dyp); }
.eksp-pip.rod.pa { background: var(--rod); border-color: var(--rod-dyp); }
.eksp-varsel { font-family: var(--cinzel); font-size: 0.6rem; text-transform: uppercase;
  letter-spacing: 0.05em; color: var(--vellum); background: var(--rod); border-radius: 10px;
  padding: 0.1rem 0.5rem; }
.eksp-del { margin-top: 0.9rem; }
.eksp-pace, .eksp-modusbryter { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.eksp-logg { list-style: none; padding: 0; margin: 0.3rem 0; }
.eksp-logg li { padding: 0.25rem 0; border-bottom: 1px solid var(--stripe);
  font-family: var(--gailea-serif); }
.eksp-logg li::before { content: "❧ "; color: var(--gull); }
.kdx-dor-eksp .kdx-dor-ikon { color: var(--gull-dyp); }

/* ---- How to Play (runde 10) ---- */
.guide-formel { font-family: var(--cinzel); text-align: center; color: var(--rod);
  background: var(--vellum); border: 1px solid var(--gull); border-radius: 9px;
  padding: 0.6rem 0.8rem; margin: 0.7rem 0; letter-spacing: 0.02em; }
.guide-eks { border-left: 3px solid var(--teal); background: rgba(31,159,176,0.07);
  border-radius: 0 8px 8px 0; padding: 0.5rem 0.9rem; margin: 0.8rem 0; }
.guide-eks p { margin: 0; }
.guide-liste { margin: 0.5rem 0; padding-left: 1.2rem; }
.guide-liste li { margin: 0.3rem 0; }
.guide-vei { font-family: var(--cinzel); font-size: 0.6rem; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--vellum); background: var(--gull-dyp);
  border-radius: 20px; padding: 0.12rem 0.55rem; vertical-align: middle;
  margin-left: 0.5rem; }
.kdx-dor-guide .kdx-dor-ikon { color: var(--gull); }

/* ---- The Ledger / notes (runde 10b) ---- */
.ldg-ny textarea { width: 100%; }
.ldg-ny-rad { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center;
  margin-top: 0.4rem; }
.ldg-ny-rad input[type="text"] { flex: 1; min-width: 10rem; }
.ldg-liste { list-style: none; padding: 0; margin: 1rem 0 0; }
.ldg-liste li { border-top: 1px solid var(--stripe); padding: 0.6rem 0; }
.ldg-tekst { margin: 0 0 0.2rem; font-family: var(--gailea-serif); line-height: 1.4; }
.ldg-meta { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center;
  margin: 0; font-family: var(--cinzel); font-size: 0.62rem; text-transform: uppercase;
  letter-spacing: 0.05em; color: var(--dis); }
.ldg-hvem { color: var(--rod); }
.ldg-om { color: var(--gull-tekst); }
.ldg-tid { color: var(--dis); }
.kar-notat-ny { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center;
  margin-top: 0.5rem; }
.kar-notat-ny input[type="text"] { flex: 1; min-width: 10rem; }
.kdx-dor-ldg .kdx-dor-ikon { color: var(--gull-dyp); }

/* Boka (kanonens fire bøker – admin-først) */
.bok4 { max-width: 52rem; margin: 0 auto; padding: 1.5rem; }
.bok4-hode h1 { margin-bottom: .2rem; }
.bok4-under { color: var(--gailea-dus, #7a6a52); font-style: italic;
  margin-top: 0; }
.bok4-faner { display: flex; flex-wrap: wrap; gap: .5rem;
  margin: 1rem 0 1.2rem; }
.bok4-fane { padding: .35rem .8rem; border: 1px solid var(--gull, #b28e42);
  border-radius: .4rem; text-decoration: none; font-size: .82rem;
  letter-spacing: .02em; }
.bok4-fane.valgt { background: var(--gull, #b28e42);
  color: var(--vellum, #f4ecd9); font-weight: 600; }
.bok4-innhold { display: flex; flex-wrap: wrap; gap: .35rem .9rem;
  font-size: .82rem; margin-bottom: 1.4rem; padding: .7rem .9rem;
  border: 1px dashed var(--gull, #b28e42); border-radius: .4rem; }
.bok4-innhold a { text-decoration: none; }
.bok4-kap { margin-top: 2.2rem; }
.bok4-del { margin-top: 1.4rem; }
.bok4-boks { border-left: 3px solid var(--gull, #b28e42);
  padding: .6rem .9rem; margin: 1rem 0; font-size: .93em;
  background: rgba(178, 142, 66, .08); }
.bok4-kort { padding: .9rem 1rem; overflow-x: auto; font-size: .78rem;
  line-height: 1.45; border: 1px solid var(--gull, #b28e42);
  border-radius: .4rem; }
.bok4-tabellrull { overflow-x: auto; margin: 1rem 0; }
.bok4-tabell { border-collapse: collapse; font-size: .88em; }
.bok4-tabell th, .bok4-tabell td { border: 1px solid
  rgba(178, 142, 66, .45); padding: .35rem .6rem; text-align: left;
  vertical-align: top; }
.bok4-liste li { margin-bottom: .35rem; }
.bok4-part { margin-top: 2.6rem; letter-spacing: .08em;
  font-size: 1.05rem; color: #5c4620;
  border-bottom: 1px solid rgba(178, 142, 66, .5);
  padding-bottom: .3rem; }
.bok4-strek { border: none; border-top: 1px solid
  rgba(178, 142, 66, .5); margin: 1.6rem 0; }


/* Ett-korts-arket (kanon-boka) */
.kort5 { max-width: 46rem; margin: 0 auto; padding: 1.3rem; }
.kort5 h2 { margin: 1.6rem 0 .5rem; font-size: 1rem;
  letter-spacing: .06em; text-transform: uppercase; }
.kort5-linjeform label, .kort5-linje { font-style: italic; }
.kort5-linjeform input[name=linje] { width: 14rem; }
.kort5-meta { display: flex; align-items: center; gap: .6rem;
  flex-wrap: wrap; font-size: .9rem; }
.kort5-inline { display: inline-flex; gap: .3rem; }
.kort5-statter { display: flex; gap: .7rem; flex-wrap: wrap; }
.kort5-stat { display: flex; flex-direction: column; align-items: center;
  gap: .2rem; border: 1px solid var(--gull, #b28e42);
  border-radius: .45rem; padding: .5rem .8rem; min-width: 4.6rem; }
.kort5-statnavn { font-size: .72rem; letter-spacing: .05em;
  text-transform: uppercase; }
.kort5-statverdi { font-size: 1.3rem; font-weight: 700; }
.kort5-gaver { font-size: .85rem; }
.kort5-gave { display: inline-block; margin: .15rem .25rem;
  padding: .12rem .55rem; border: 1px solid var(--gull, #b28e42);
  border-radius: 1rem; font-size: .8rem; }
.kort5-pool { display: flex; align-items: center; gap: .6rem;
  margin-bottom: .45rem; flex-wrap: wrap; }
.kort5-poolnavn { width: 4.6rem; font-size: .82rem;
  text-transform: uppercase; letter-spacing: .04em; }
.kort5-stolpe { flex: 1 1 8rem; height: .8rem; min-width: 8rem;
  border: 1px solid rgba(178,142,66,.6); border-radius: .4rem;
  overflow: hidden; }
.kort5-fyll { height: 100%; }
.kort5-helse { background: #8c2f2f; }
.kort5-stamina { background: #3f7a4e; }
.kort5-mana { background: #2f5e8c; }
.kort5-pooltall { min-width: 3.4rem; font-variant-numeric: tabular-nums; }
.kort5-klumper { display: flex; align-items: center; gap: .5rem;
  flex-wrap: wrap; margin-top: .5rem; }
.kort5-klump { color: #2c1a33; text-shadow: 0 0 4px #6b2f8c; }
.kort5-hvile { margin-top: .7rem; display: flex; gap: .5rem;
  flex-wrap: wrap; }
.kort5-brikker { display: flex; gap: .4rem; flex-wrap: wrap; }
.kort5-brikke { padding: .2rem .6rem; border: 1px solid
  rgba(178,142,66,.55); border-radius: .4rem; font-size: .85rem; }
.kort5-radform { display: flex; gap: .4rem; margin-top: .45rem;
  flex-wrap: wrap; }
.kort5-gearform textarea { width: 100%; }
.kort5-gear { white-space: pre-wrap; }
.kort5-dus { color: var(--gailea-dus, #7a6a52); font-style: italic;
  font-size: .85rem; }
.kort5-fot { margin-top: 1.8rem; font-size: .8rem;
  border-top: 1px solid rgba(178,142,66,.5); padding-top: .7rem; }
@media (max-width: 600px) {
  .kort5-poolnavn { width: 100%; }
}


/* DESIGN-KIT v1 (S0) — to flater: pergament for lesing, onyks for verktoy */
.gk { --gk-gull: #e2ba6c; --gk-gull-dyp: #8a6a2f; --gk-jern: #a5acb6;
  --gk-blekk: #2c2317; --gk-krem: #f0e6cf; --gk-glo: #ffb35c; }
.gk-pergament { background: #efe5cd url('gailea/pergament_flis.jpg');
  background-size: 512px; color: var(--gk-blekk); border-radius: 6px;
  box-shadow: 0 4px 18px rgba(0,0,0,.45); }
.gk-onyx { background: url('gailea/onyx.jpg?v=2'); background-size: 512px;
  color: #e8e2d4; border-radius: 6px;
  box-shadow: inset 0 0 60px rgba(0,0,0,.55), 0 4px 18px rgba(0,0,0,.5); }
.gk-laer { background: url('gailea/laer.jpg'); background-size: 384px;
  color: var(--gk-krem); }
.gk-tre { background: url('gailea/tre.jpg'); background-size: 384px;
  color: var(--gk-krem); }
.gk-ramme-gull { border: 16px solid transparent;
  border-image: url('gailea/ramme_gull.png') 32 stretch; }
.gk-ramme-jern { border: 16px solid transparent;
  border-image: url('gailea/ramme_jern.png') 32 stretch; }
.gk-banner { position: relative; padding: 1.6rem 2.1rem; overflow: hidden; }
.gk-banner.gk-lanterne::before { content: ""; position: absolute; inset: 0;
  background: radial-gradient(ellipse 60% 120% at 12% 0%,
    rgba(255,179,92,.28), transparent 60%); pointer-events: none; }
.gk-banner h1, .gk-banner h2 { margin: 0; letter-spacing: .04em; }
.gk-knapp { display: inline-block; padding: .5rem 1.1rem; cursor: pointer;
  background: linear-gradient(#3a3f47, #23262c);
  border: 1px solid var(--gk-jern); border-radius: 4px; color: #e8e2d4;
  font-size: .9rem; letter-spacing: .03em; }
.gk-knapp.gull { background: linear-gradient(#8a6a2f, #5c4620);
  border-color: var(--gk-gull); color: var(--gk-krem); }
.gk-knapp:hover { filter: brightness(1.15); }
.gk-dorkort { display: block; width: 15rem; padding: 1.1rem 1.4rem;
  text-decoration: none; }
.gk-dorkort h3 { margin: .1rem 0 .3rem; color: var(--gk-gull); }
.gk-dorkort .gk-dus { font-size: .8rem; }
.gk-chip { display: inline-block; padding: .15rem .6rem; border-radius: 1rem;
  border: 1px solid var(--gk-gull-dyp); font-size: .78rem;
  color: var(--gk-krem); background: rgba(0,0,0,.35); }
.gk-hendelse { padding: .9rem 1rem; }
.gk-hendelse .gk-type { text-transform: uppercase; letter-spacing: .1em;
  font-size: .7rem; color: var(--gk-glo); }
.gk-klokke { display: inline-flex; gap: .3rem; }
.gk-klokke span { width: .85rem; height: .85rem; border-radius: 50%;
  border: 1px solid var(--gk-gull); display: inline-block; }
.gk-klokke span.fylt { background: var(--gk-gull); }
.gk-segl { width: 72px; height: auto; filter:
  drop-shadow(0 2px 4px rgba(0,0,0,.5)); }
.gk-dus { opacity: .75; font-size: .85rem; }
.gk-prove { padding: 1.4rem 1.7rem; margin: 1rem 0; }
.gkit { max-width: 60rem; margin: 0 auto; padding: 1.4rem; }
.gkit h2 { margin-top: 2rem; }
.gkit-rad { display: flex; gap: 1rem; flex-wrap: wrap; align-items:
  flex-start; }


/* S1: medlemsblokka i DM-navet */
.kmp-medlemmer { display: flex; flex-wrap: wrap; gap: .4rem;
  align-items: center; margin-bottom: .6rem; }
.kmp-medlem { display: inline-flex; gap: .4rem; align-items: center;
  padding: .15rem .6rem; border: 1px solid var(--gull, #b28e42);
  border-radius: 1rem; font-size: .85rem; }
.kmp-medlem.invitert { opacity: .65; border-style: dashed; }
.kmp-inviter { display: inline-flex; gap: .4rem; }
.kmp-inviter .fritekst { width: 11rem; }


/* S3: den nye hallen */
.nyhall-meny { display: flex; gap: .4rem; flex-wrap: wrap; padding: .7rem 1rem;
  margin-bottom: 1.2rem; }
.nyhall-menypost { padding: .45rem 1.1rem; text-decoration: none;
  letter-spacing: .08em; text-transform: uppercase; font-size: .8rem;
  color: var(--gk-krem, #f0e6cf); border: 1px solid transparent;
  border-radius: 4px; }
.nyhall-menypost:hover { border-color: var(--gk-gull, #e2ba6c);
  color: var(--gk-gull, #e2ba6c); }
.nyhall-hode h1 { letter-spacing: .28em; white-space: nowrap;
  font-size: clamp(1.3rem, 5.5vw, 2.2rem); }


/* Grunnen: rolig onyks (Onyx012, målt roligst) på alle verktøysider —
   lesesider (pergament) beholder bok-grunnen (to-flate-loven) */
body.gailea:has(.gk), body.gailea:has(.kort5) {
  background: #201b15 url('gailea/onyx_grunn.jpg');
  background-size: 512px;
}
body.gailea:has(.gk)::before, body.gailea:has(.gk)::after,
body.gailea:has(.kort5)::before, body.gailea:has(.kort5)::after {
  content: none;   /* pergament-støyflis + vignette av på mørk grunn */
}


/* Kit-sidenes typografi vinner over pergament-hudens røde overskrifter */
body.gailea .gk h1, body.gailea .gk h2, body.gailea .gk h3,
body.gailea .gkit h2 { color: var(--gk-gull, #e2ba6c);
  /* mørk glorie: gull skal lese på LYS grunnstein også (eiers 125-flis) */
  text-shadow: 0 1px 2px rgba(12, 9, 5, .9), 0 0 10px rgba(12, 9, 5, .55); }
body.gailea .gk-pergament h1, body.gailea .gk-pergament h2,
body.gailea .gk-pergament h3, body.gailea .bok4-intro h1,
body.gailea .bok4-intro h2, body.gailea .bok4-intro h3,
body.gailea .bok4-kapittel h1, body.gailea .bok4-kapittel h2,
body.gailea .bok4-kapittel h3, body.gailea .smt-spillkort h3,
body.gailea .smt-spillkort h4 { color: #5c4620; text-shadow: none; }
body.gailea .gk, body.gailea .kort5 { color: #e8e2d4; }
body.gailea .gk a, body.gailea .kort5 a { color: var(--gk-gull, #e2ba6c); }
body.gailea .gk .gk-pergament a, body.gailea .bok4-kapittel a,
body.gailea .bok4-intro a { color: var(--rod, #7c1f1f); }
body.gailea .gk .tekstknapp.fare, body.gailea .kort5 .tekstknapp.fare {
  color: #e8875f; }


/* S4b: biblioteket uten tårnet — hyller i kit-språket. Lærbundne rygger på
   treplanker; gullramme = verdenshyllene, jernramme = kampanjehyllene. */
.bib5 { display: grid; gap: 1.4rem; max-width: 62rem; margin: 0 auto; }
.bib5-hylle { padding: 1.3rem 1.5rem 1.6rem; }
.bib5-hylle h2 { margin: 0 0 .9rem; }
.bib5-kampanje { margin-top: 1.1rem; }
.bib5-kampanje h3 { margin: 0 0 .5rem; }
.bib5-plank { display: flex; align-items: flex-end; flex-wrap: wrap;
  gap: .3rem; min-height: 6.8rem; padding: .7rem .9rem .45rem;
  background: #6b543c url('gailea/tre.jpg'); background-size: 420px;
  background-blend-mode: soft-light; border-radius: 6px;
  box-shadow: inset 0 3px 8px rgba(0,0,0,.5), inset 0 -3px 0 rgba(0,0,0,.35); }
.bib5-bok { position: relative; display: inline-flex; align-items: center;
  justify-content: center; writing-mode: vertical-rl; height: 8.4rem;
  min-width: 2.4rem; max-width: 3.4rem; padding: .65rem .25rem;
  text-decoration: none; overflow: hidden; background: #64432a url('gailea/laer.jpg');
  background-size: 260px; background-blend-mode: overlay;
  color: #f2dca4; font-family: var(--cinzel, serif); font-weight: 600;
  font-size: .72rem; letter-spacing: .08em;
  line-height: 1.15; text-shadow: 0 1px 2px rgba(0,0,0,.8);
  border-radius: 3px 6px 6px 3px; border: 1px solid rgba(0,0,0,.65);
  box-shadow: inset 0 0 0 1px rgba(226,186,108,.2), 2px 3px 6px rgba(0,0,0,.5);
  transition: transform .15s ease, box-shadow .15s ease; }
.bib5-bok::before, .bib5-bok::after { content: ""; position: absolute;
  left: .2rem; right: .2rem; height: 2px;
  background: linear-gradient(90deg, transparent, rgba(226,186,108,.55),
    transparent); }
.bib5-bok::before { top: .45rem; }
.bib5-bok::after { bottom: .45rem; }
.bib5-bok:nth-child(3n) { height: 7.7rem; filter: brightness(1.1); }
.bib5-bok:nth-child(4n+1) { height: 9rem; filter: hue-rotate(12deg); }
.bib5-bok:nth-child(5n+2) { filter: saturate(1.2) brightness(.88); }
.bib5-bok:hover, .bib5-bok:focus-visible { transform: translateY(-7px);
  box-shadow: inset 0 0 0 1px rgba(226,186,108,.4), 2px 9px 12px rgba(0,0,0,.55);
  color: var(--gk-krem, #f0e6cf); }
.bib5-bok.utkast { opacity: .55; border-style: dashed;
  border-color: rgba(226,186,108,.5); }
.bib5-tom { align-self: center; margin: 0 auto; }
.bib5-vev { width: auto; max-width: 24rem; }
.bib5-lesesal h2 { margin-top: 0; }
@media (prefers-reduced-motion: reduce) {
  .bib5-bok { transition: none; }
  .bib5-bok:hover { transform: none; }
}

/* S5: karakterhallene i kit-språket — innganger per kampanje + roster */
.khl { display: grid; gap: 1.4rem; max-width: 62rem; margin: 0 auto; }
.khl-inngang { padding: 1.3rem 1.5rem 1.5rem; }
.khl-inngang.gk-onyx { background-color: #6e675e;
  background-blend-mode: multiply; }
.khl-inngang h2 { margin: 0 0 .8rem; }
.khl-inngang h2 a { text-decoration: none; }
.khl-rad { display: flex; flex-wrap: wrap; gap: 1rem; align-items: stretch; }
.khl-inngang-meta { display: flex; flex-direction: column; gap: .6rem;
  justify-content: center; }
.khl-kodeksdor { width: auto; max-width: 26rem; }
.khl .kar-kompani { margin-top: .9rem; }

/* S6/P6: kartrommene — bord per kampanje + «mine kart» */
.kmap { display: grid; gap: 1.4rem; max-width: 62rem; margin: 0 auto; }
.kmap-gruppe { padding: 1.3rem 1.5rem 1.5rem; }
.kmap-gruppe.gk-onyx { background-color: #6e675e;
  background-blend-mode: multiply; }
.kmap-gruppe h2 { margin: 0 0 .8rem; }
.kmap-verden { width: auto; max-width: 30rem; }
.kmap-rad { display: flex; flex-wrap: wrap; gap: 1rem; }
.kmap-kort { display: flex; flex-direction: column; gap: .35rem;
  width: 13rem; text-decoration: none; }
.kmap-kort img { width: 100%; height: 8.5rem; object-fit: cover;
  border-radius: 4px; border: 1px solid rgba(0,0,0,.6);
  box-shadow: 0 3px 8px rgba(0,0,0,.5); }
.kmap-kort:hover img { box-shadow: 0 6px 14px rgba(0,0,0,.6);
  transform: translateY(-3px); }
.kmap-kort img { transition: transform .15s ease, box-shadow .15s ease; }
.kmap-brytere { display: flex; flex-wrap: wrap; gap: .5rem;
  margin-top: .8rem; }
.kmap-bryter { display: inline; }
.kmap-pakkeform { display: flex; flex-wrap: wrap; gap: .5rem;
  align-items: center; margin-top: .8rem; }
.kmap-pakkeform select, .kmap-pakkeform input { max-width: 22rem; }
@media (prefers-reduced-motion: reduce) {
  .kmap-kort img { transition: none; }
  .kmap-kort:hover img { transform: none; }
}

/* S6: hvelvet + kartbordet i kit-språket (onyx-grunn, gull-tekst) */
.hvl5 { display: grid; gap: 1.4rem; max-width: 68rem; margin: 0 auto; }
.hvl5-panel { padding: 1.3rem 1.5rem 1.5rem; }
.hvl5-panel.gk-onyx, body.gailea .hvl5 .hvelv-kiste.gk-onyx,
body.gailea .hvl5 .kbib-folio.gk-onyx,
body.gailea .hvl5 .kbib-kort.gk-onyx {
  background: #6e675e url('gailea/onyx.jpg?v=2'); background-size: 512px;
  background-blend-mode: multiply; color: #e8e2d4; }
body.gailea .hvl5 .hvelv-kiste-navn, body.gailea .hvl5 .hvelv-fil-navn,
body.gailea .hvl5 .kbib-folio-navn, body.gailea .hvl5 .kbib-kort-navn,
body.gailea .hvl5 .hvelv-register-tittel {
  color: var(--gk-gull, #e2ba6c); }
body.gailea .hvl5 .hvelv-smuler a { color: #e8e2d4;
  border-color: rgba(226,186,108,.4); }
body.gailea .hvl5 .hvelv-smuler a:hover {
  color: var(--gk-gull, #e2ba6c); border-color: var(--gk-gull, #e2ba6c); }
body.gailea .hvl5 .hvelv-smuler span { color: var(--gk-gull, #e2ba6c); }
body.gailea .hvl5 .hvelv-smuler strong { color: var(--gk-krem, #f0e6cf); }
body.gailea .hvl5 .hvelv-fil + .hvelv-fil {
  border-top: 1px dotted rgba(226,186,108,.3); }
body.gailea .hvl5 .hvelv-fil-meta, body.gailea .hvl5 .hvelv-kiste-meta,
body.gailea .hvl5 .kbib-folio-antall,
body.gailea .hvl5 .kbib-kort-detalj { color: #b9b3a4; }
body.gailea .hvl5 .hvelv-kiste-lokk, body.gailea .hvl5 .hvelv-fil-ikon {
  color: var(--gk-gull, #e2ba6c); }

/* S6: inspirasjonstavla + krediteringene */
.hvl5-dorer { display: flex; flex-wrap: wrap; gap: 1rem; }
.insp, .kred { display: grid; gap: 1.4rem; max-width: 56rem; margin: 0 auto; }
.insp-kort { padding: 1.2rem 1.4rem; }
.insp-kort.gk-onyx { background-color: #6e675e;
  background-blend-mode: multiply; }
.insp-topp { display: flex; align-items: baseline; gap: .8rem;
  flex-wrap: wrap; }
.insp-topp h2 { margin: 0; flex: 1 1 auto; }
.insp-styr { display: inline-flex; gap: .4rem; }
.insp-svar { margin-top: .9rem; border-top: 1px dotted
  rgba(226,186,108,.3); padding-top: .7rem; }
.insp-svarrad { margin-bottom: .6rem; }
.insp-svarrad p { margin: .15rem 0 0; }
.insp-svarform { display: flex; gap: .5rem; flex-wrap: wrap; }
.insp-svarform input { flex: 1 1 16rem; }
.kred-liste { list-style: none; padding: 0; margin: 0 0 1rem; }
.kred-liste li { padding: .3rem 0; }
.kred-slutt { font-style: italic; margin-top: 1.2rem; }

/* S6: One Card i mockup-drakten (godkjent 546c8246) */
.ok5 { display: grid; gap: 1.2rem; max-width: 60rem; margin: 0 auto; }
.ok5-plate { padding: 1.2rem 1.5rem; }
.ok5-plate.gk-onyx { background-color: #6e675e;
  background-blend-mode: multiply; }
.ok5-tokolonner { display: grid; gap: 1.2rem;
  grid-template-columns: repeat(auto-fit, minmax(21rem, 1fr)); }
.ok5-hode { display: flex; gap: 1.3rem; flex-wrap: wrap;
  align-items: center; }
.ok5-portrett { width: 7.5rem; height: 7.5rem; border-radius: 6px;
  object-fit: cover; border: 2px solid var(--gk-gull-dyp, #8a6a2f); }
.ok5-portrett.tom { display: grid; place-items: center; font-size: 3rem;
  color: var(--gk-gull, #e2ba6c);
  background: linear-gradient(160deg, #3a3f47, #14110d); }
.ok5-hodetekst { flex: 1 1 18rem; }
.ok5-hodetekst h1 { margin: 0 0 .3rem; }
.ok5-linje, .ok5-linjeform label { font-style: italic; font-size: 1.05rem; }
.ok5-linjeform input { max-width: 18rem; }
.ok5-chips { display: flex; gap: .5rem; flex-wrap: wrap;
  align-items: center; margin-top: .5rem; }
.ok5-inline { display: inline-flex; gap: .3rem; }
.ok5-statter { display: grid; gap: .55rem; }
.ok5-stat { display: grid; grid-template-columns: 7.5rem 1fr auto;
  align-items: center; gap: .7rem; }
.ok5-statnavn { font-family: var(--cinzel, serif); font-size: .82rem;
  letter-spacing: .08em; color: var(--gk-krem, #f0e6cf); }
.ok5-pips { display: flex; gap: .35rem; }
.ok5-pip { width: .85rem; height: .85rem; transform: rotate(45deg);
  border: 1px solid var(--gk-gull-dyp, #8a6a2f);
  background: rgba(0,0,0,.4); }
.ok5-pip.fylt { background: linear-gradient(135deg, #e2ba6c, #8a6a2f);
  box-shadow: 0 0 6px rgba(226,186,108,.5); }
.ok5-stat select { width: 3.4rem; }
.ok5-stattall { color: var(--gk-gull, #e2ba6c);
  font-family: var(--cinzel, serif); }
.ok5-gave { margin: .7rem 0 0; padding: .5rem .8rem; border-radius: 4px;
  background: rgba(226,186,108,.08);
  border: 1px dashed var(--gk-gull-dyp, #8a6a2f); font-size: .92rem; }
.ok5-pool { display: grid; grid-template-columns: 5.4rem 1fr 4rem;
  gap: .7rem; align-items: center; margin-bottom: .45rem; }
.ok5-pool + .ok5-pool { margin-top: .2rem; }
.ok5-poolnavn { font-family: var(--cinzel, serif); font-size: .8rem;
  letter-spacing: .08em; }
.ok5-stolpe { height: 1.05rem; border-radius: 3px;
  background: rgba(0,0,0,.55); border: 1px solid rgba(0,0,0,.7);
  overflow: hidden; box-shadow: inset 0 2px 4px rgba(0,0,0,.6); }
.ok5-fyll { height: 100%; border-radius: 2px; }
.ok5-helse .ok5-fyll { background: linear-gradient(#9a3a2e, #6e2118); }
.ok5-stamina .ok5-fyll { background: linear-gradient(#3f7a4e, #24512f); }
.ok5-mana .ok5-fyll { background: linear-gradient(#3d6d9e, #24486e); }
.ok5-pooltall { text-align: right; font-family: var(--cinzel, serif);
  font-size: .85rem; }
.ok5-pool .ok5-inline { grid-column: 2 / 4; }
.ok5-mova { display: flex; align-items: center; gap: .9rem;
  margin-top: .9rem; }
.ok5-skjold { flex: 0 0 auto; width: 3.6rem; height: 4.1rem;
  display: grid; place-items: center;
  background: linear-gradient(160deg, #3a3f47, #1c1f24);
  border: 2px solid var(--gk-gull, #e2ba6c);
  border-radius: 50% 50% 50% 50% / 38% 38% 62% 62%;
  font-family: var(--cinzel, serif); font-size: 1.35rem;
  color: var(--gk-krem, #f0e6cf);
  box-shadow: 0 0 14px rgba(226,186,108,.25); }
.ok5-klumper { margin-top: .8rem; font-size: .92rem; display: flex;
  gap: .5rem; align-items: center; flex-wrap: wrap; }
.ok5-klump { color: #7e2c1e; font-size: 1.05rem; }
.ok5-hvile { display: flex; gap: .6rem; flex-wrap: wrap;
  margin-top: .9rem; }
.ok5-rader h2 { margin-top: .9rem; }
.ok5-rader h2:first-child { margin-top: 0; }
.ok5-brikker { display: flex; flex-wrap: wrap; gap: .45rem; }
.ok5-brikke { padding: .3rem .75rem; border-radius: 4px; font-size: .9rem;
  background: rgba(0,0,0,.4);
  border: 1px solid rgba(226,186,108,.35); }
.ok5-brikke b { color: var(--gk-gull, #e2ba6c); margin-left: .35rem; }
.ok5-brikke.tom { border-style: dashed; color: #b9b3a4; }
.ok5-radform { display: flex; gap: .5rem; flex-wrap: wrap;
  margin-top: .5rem; }
.ok5-gearform { display: grid; gap: .5rem; }
.ok5-gearfelt { width: 100%; box-sizing: border-box;
  background: #64432a url('gailea/laer.jpg'); background-size: 280px;
  background-blend-mode: overlay; color: #f2dca4; border-radius: 5px;
  border: 1px solid rgba(0,0,0,.6); padding: .7rem .9rem;
  box-shadow: inset 0 0 20px rgba(0,0,0,.45);
  font-family: inherit; font-size: .95rem; }
.ok5-gearvis { white-space: pre-wrap; margin: 0; }
.ok5-fot { padding: 1rem 1.3rem; font-size: .95rem; }
.ok5-fot p { margin: .3rem 0; }

/* S6: krem-tokens ut av kit-sidene — knappene i kit-drakt */
body.gailea .gk .knapp {
  background: linear-gradient(#8a6a2f, #5c4620);
  border: 1px solid var(--gk-gull, #e2ba6c);
  color: var(--gk-krem, #f0e6cf); box-shadow: none; }
body.gailea .gk .knapp:hover { filter: brightness(1.15); }
body.gailea .gk .gk-pergament .knapp {
  background: linear-gradient(#e8dcbc, #d4c49a); color: #2c2317;
  border-color: #8a6a2f; }

/* S7: lesepanelene er UGJENNOMSIKTIG pergament (to-flate-loven) — frostet
   glass over mørk stein gjorde blekket ulesbart på oppslag/kodeks/ark */
body.gailea .boks {
  background: #efe5cd url('gailea/pergament_flis.jpg');
  background-size: 512px;
  color: var(--lys);
  backdrop-filter: none;
}

/* UX-runden 2026-08-10: menneske-grensesnittet */
/* Skjemafelt på mørk kit-grunn: synlige, gullkantede */
body.gailea .gk select, body.gailea .gk input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.gailea .gk textarea {
  background: rgba(0,0,0,.5); color: #e8e2d4;
  border: 1px solid rgba(226,186,108,.5); border-radius: 4px;
  padding: .3rem .55rem; }
body.gailea .gk .gk-pergament select, body.gailea .gk .gk-pergament input,
body.gailea .gk .gk-pergament textarea,
body.gailea .gk .boks select,
body.gailea .gk .boks input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.gailea .gk .boks textarea,
body.gailea .boks select,
body.gailea .boks input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.gailea .boks textarea {
  background: rgba(255,252,240,.8); color: #2c2317;
  border-color: #8a6a2f; }

/* Guiden («read me once») + arkiv-skuffene */
.ok5-guide { padding: .7rem 1.1rem; }

.ok5-guide summary { cursor: pointer; font-family: var(--cinzel, serif);
  letter-spacing: .05em; color: var(--gk-gull, #e2ba6c); padding: .3rem 0; }
.ok5-guide ul { margin: .5rem 0 .3rem; padding-left: 1.2rem; }
.ok5-guide li { margin: .35rem 0; }
.ok5-formhint { flex-basis: 100%; font-size: .82rem; color: #b9b3a4; }
.kar-arkiv { margin: 1rem 0; border: 1px dashed rgba(124,31,31,.5);
  border-radius: 6px; padding: .5rem .9rem; }
.kar-arkiv > summary { cursor: pointer; color: #7c1f1f;
  font-family: var(--cinzel, serif); font-size: .9rem; }
.kny5-lekser { max-width: 6rem; }

/* Boka: faner/søk/kapittel-skuffer på onyx, lesing på pergament */
.bok4.gk { max-width: 56rem; display: grid; gap: 1rem; }
body.gailea .bok4-fane { color: #e8e2d4;
  border-color: rgba(226,186,108,.5); }
body.gailea .bok4-fane.valgt { background: var(--gk-gull-dyp, #8a6a2f);
  color: var(--gk-krem, #f0e6cf); }
.bok4-sok { display: flex; gap: .7rem; align-items: center;
  flex-wrap: wrap; }
.bok4-sok input { flex: 1 1 16rem; max-width: 24rem; }
.bok4-blad { display: grid; gap: .7rem; }
.bok4-kapittel { border: 16px solid transparent;
  border-image: url('gailea/ramme_gull.png') 32 stretch;
  border-radius: 6px; background: #efe5cd url('gailea/pergament_flis.jpg');
  background-size: 512px; color: var(--lys); }
.bok4-kapittel.skjult { display: none; }
.bok4-kapittel > summary { cursor: pointer; list-style-position: inside;
  font-family: var(--cinzel, serif); font-weight: 600;
  letter-spacing: .05em; font-size: 1.05rem; color: #5c4620;
  padding: .8rem 1.1rem; }
.bok4-kapittel > summary:hover { color: #7c1f1f; }
.bok4-kapittel > .bok4-tekst { padding: 0 1.3rem 1.1rem; }
.bok4-intro, .bok4-kapittel .bok4-tekst { background: none; }
.bok4-intro { border: 16px solid transparent;
  border-image: url('gailea/ramme_gull.png') 32 stretch; border-radius: 6px;
  background: #efe5cd url('gailea/pergament_flis.jpg');
  background-size: 512px; color: var(--lys); padding: .9rem 1.3rem; }
.bok4-kapittel .bok4-kap { margin-top: .2rem; }

/* Soklene i kit-drakt (hallene) */
body.gailea .gk .kar-sokkel { background: rgba(0,0,0,.4);
  border: 1px solid rgba(226,186,108,.35); border-radius: 6px; }
body.gailea .gk .kar-sokkel:hover { border-color: var(--gk-gull, #e2ba6c);
  box-shadow: 0 4px 12px rgba(0,0,0,.5); }
body.gailea .gk .kar-sokkel .kar-navn { color: var(--gk-gull, #e2ba6c); }
body.gailea .gk .kar-sokkel .kar-rase,
body.gailea .gk .kar-sokkel .kar-spiller { color: #b9b3a4; }

/* Hovedmenyen: kit-stripe med hensikt (svaret på «task bar»-spørsmålet) */
body.gailea .gailea-meny { display: flex; flex-wrap: wrap;
  justify-content: center; gap: .2rem 1.4rem;
  background: rgba(10,8,6,.82); border-bottom: 1px solid
  rgba(226,186,108,.4); padding: .55rem 1rem; }
body.gailea .gailea-meny a { font-family: var(--cinzel, serif);
  font-size: .82rem; letter-spacing: .12em; text-transform: uppercase;
  color: #cfc8b8; text-decoration: none; padding: .2rem .1rem; }
body.gailea .gailea-meny a:hover { color: var(--gk-gull, #e2ba6c); }
body.gailea .gailea-meny a.aktiv { color: var(--gk-gull, #e2ba6c);
  border-bottom: 2px solid var(--gk-gull, #e2ba6c); }

/* Spellboken */
.spb-antall { font-size: .72rem; color: #8a6a2f; margin-left: .6rem;
  letter-spacing: .04em; }
.spb-spell { border-top: 1px dotted rgba(138,106,47,.45);
  padding: .7rem 0 .4rem; }
.spb-spell h3 { margin: 0 0 .3rem; color: #7c1f1f; }
.spb-meta { font-size: .78rem; color: #6f5d43; font-family: inherit;
  font-weight: 400; margin-left: .5rem; letter-spacing: .02em; }
.spb-pris { color: #7c1f1f; }
.spb-laering { font-style: italic; color: #6f5d43; font-size: .92rem; }

/* Kreftene: hva kortet KAN (dørene/rungene man holder) */
.ok5-krefter h2 { margin: 0 0 .5rem; }
.ok5-kraft { border-top: 1px dotted rgba(226,186,108,.25);
  padding: .35rem 0; }
.ok5-kraft > summary { cursor: pointer; color: #e8e2d4;
  font-family: var(--cinzel, serif); letter-spacing: .04em;
  font-size: .95rem; padding: .25rem 0; }
.ok5-kraft > summary b { color: var(--gk-gull, #e2ba6c);
  margin-left: .3rem; }
.ok5-kraft > summary:hover { color: var(--gk-gull, #e2ba6c); }
.ok5-kraft > summary .gk-dus { font-family: var(--gailea-serif, serif);
  font-size: .78rem; margin-left: .5rem; }
.ok5-kraftliste { margin: .3rem 0 .5rem; padding-left: 1.6rem; }
.ok5-kraftliste li { margin: .3rem 0; font-size: .94rem; }
.ok5-kraftliste li::marker { color: var(--gk-gull, #e2ba6c);
  font-weight: 600; }

/* Rom-listene (hva en kunst gir) + dør-skuffene + fødselsrett */
.ok5-romliste li { margin: .35rem 0; }
.ok5-romliste li.laast { opacity: .55; }
.ok5-dorliste { display: grid; gap: .5rem; }
.ok5-dorliste .ok5-dor { width: 100%; }
.ok5-dorliste .ok5-dor > summary { cursor: pointer;
  font-family: var(--cinzel, serif); letter-spacing: .04em;
  padding: .2rem 0; }
.ok5-dorliste .ok5-dor > summary:hover { color: var(--gk-gull, #e2ba6c); }
.ok5-editchip { cursor: pointer; border-color: var(--gk-gull, #e2ba6c);
  color: var(--gk-gull, #e2ba6c); font: inherit; font-size: .78rem; }

/* ARK 2.0: fanene og spillebordet */
.ok5-faner { display: flex; gap: .4rem; flex-wrap: wrap;
  border-bottom: 2px solid rgba(226,186,108,.35); padding-bottom: 0; }
.ok5-fane { background: rgba(0,0,0,.35); border: 1px solid
  rgba(226,186,108,.3); border-bottom: none; color: #cfc8b8;
  font-family: var(--cinzel, serif); font-size: .88rem;
  letter-spacing: .08em; text-transform: uppercase;
  padding: .55rem 1.2rem; border-radius: 6px 6px 0 0; cursor: pointer; }
.ok5-fane:hover { color: var(--gk-gull, #e2ba6c); }
.ok5-fane.aktiv { background: rgba(226,186,108,.15);
  color: var(--gk-gull, #e2ba6c);
  border-color: var(--gk-gull, #e2ba6c); }
.ok5-faneside { display: none; }
.ok5-faneside.vis { display: grid; gap: 1.2rem; }
.ok5-statgloss { margin: -.2rem 0 .5rem; font-size: .8rem;
  color: #b9b3a4; }
.ok5-forsvar { display: grid; gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
.ok5-forsvarkort { display: flex; gap: .9rem; align-items: flex-start; }
.ok5-forsvarkort .ok5-skjold { flex: 0 0 auto; }
.ok5-oye { border-radius: 50%; border-color: #9fc6ce; }
.ok5-rustrad { border-left: 2px solid rgba(226,186,108,.4);
  padding-left: .8rem; }
.ok5-soak b { color: var(--gk-gull, #e2ba6c); }
.ok5-angrep { display: grid; gap: .8rem;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.ok5-angrepkort { background: rgba(0,0,0,.35); border: 1px solid
  rgba(226,186,108,.35); border-radius: 6px; padding: .7rem .9rem; }
.ok5-angrepstall { display: flex; gap: 1rem; flex-wrap: wrap;
  margin: .3rem 0; font-variant-numeric: tabular-nums; }
.ok5-angrepstall b { color: var(--gk-gull, #e2ba6c);
  font-size: 1.15rem; }
.ok5-skade b { color: #d98b6a; }
.ok5-verd { color: var(--gk-gull, #e2ba6c); font-size: .85rem; }
/* RULLENE — intent-grupper med ferdige tall (eiers skill-check-tre) */
.ok5-rullgrupper { display: grid; gap: .7rem 1rem;
  grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
  margin-top: .6rem; }
.ok5-rullgruppe { background: rgba(0,0,0,.3);
  border: 1px solid rgba(226,186,108,.22); border-radius: 8px;
  padding: .55rem .7rem .6rem; }
.ok5-rullgruppe h3 { margin: 0 0 .35rem; font-size: .78rem;
  font-weight: 400; color: var(--gk-dus-farge, #b9b09a);
  letter-spacing: .04em; }
.ok5-rullgruppe h3 b { color: var(--gk-gull, #e2ba6c);
  font-family: var(--cinzel); font-size: .82rem; letter-spacing: .05em; }
.ok5-rullrad { display: flex; align-items: baseline; gap: .5rem;
  flex-wrap: wrap; padding: .12rem 0; }
.ok5-rullnavn { background: none; border: 0; padding: 0; cursor: pointer;
  color: inherit; font: inherit; text-align: left;
  border-bottom: 1px dotted rgba(226,186,108,.4); }
.ok5-rullstat { font-size: .68rem; color: #8f8875;
  text-transform: uppercase; letter-spacing: .06em; }
.ok5-rulltall { margin-left: auto; color: var(--gk-gull, #e2ba6c);
  font-size: 1.02rem; }
.ok5-rullrad .ok5-glose { flex-basis: 100%; }
.ok5-rullsok { display: flex; gap: .7rem; align-items: center;
  margin: .5rem 0 .3rem; flex-wrap: wrap; }
.ok5-rullsok input { flex: 1 1 16rem; background: rgba(0,0,0,.35);
  border: 1px solid rgba(226,186,108,.35); border-radius: 999px;
  color: inherit; font: inherit; padding: .45em 1em; }
.ok5-rullsok input:focus { outline: none;
  border-color: var(--gk-gull, #e2ba6c); }
.ok5-rullrad.skjult, .ok5-rullgruppe.skjult { display: none; }
.ok5-rullrad.funnet .ok5-rullnavn {
  color: var(--gk-gull, #e2ba6c); }
.ok5-utrent { margin: .35rem 0 0; font-size: .72rem; color: #7d7666;
  border-top: 1px dashed rgba(226,186,108,.18); padding-top: .35rem;
  cursor: help; }
/* Groove-chips og katalog */
.ok5-verkchips { display: flex; flex-wrap: wrap; gap: .35rem;
  margin: .3rem 0 .6rem; }
.ok5-verkchip { cursor: pointer; }

.ok5-trekk { margin: .3rem 0 .5rem; padding-left: 1.2rem; }
.ok5-trekk li { margin: .35rem 0; }
.ok5-handlinger h3 { margin: 1rem 0 .4rem;
  color: var(--gk-gull, #e2ba6c); }
.ok5-handlinger h3 .gk-dus { font-family: var(--gailea-serif, serif);
  font-size: .8rem; text-transform: none; letter-spacing: 0; }
.ok5-gjenstand { display: flex; gap: .7rem; align-items: baseline;
  flex-wrap: wrap; padding: .4rem 0; border-top: 1px dotted
  rgba(226,186,108,.25); }
.ok5-gjenstand.avlagt { opacity: .55; }
.ok5-bakgrunnform { display: grid; gap: .5rem; max-width: 32rem; }
.ok5-bakgrunnform label { display: grid; gap: .2rem; }
.ok5-merke { border-style: dashed; }

/* Invester-panelet (UX-runde 3): hva leksene kan kjøpe */
.ok5-invester h3 { margin: 1.1rem 0 .4rem; color: var(--gk-gull, #e2ba6c); }
.ok5-invester h3 .gk-dus { font-family: var(--gailea-serif, serif);
  font-size: .82rem; letter-spacing: 0; text-transform: none; }
.ok5-lekser { color: var(--gk-gull, #e2ba6c); font-size: 1.2em; }
.ok5-inv-rad { display: flex; gap: .7rem; align-items: center;
  flex-wrap: wrap; padding: .3rem 0; border-top: 1px dotted
  rgba(226,186,108,.2); }
.ok5-inv-navn { background: none; border: none; color: #e8e2d4;
  font: inherit; cursor: pointer; text-align: left; padding: .2rem 0;
  flex: 1 1 12rem; display: flex; gap: .7rem; align-items: baseline; }
.ok5-inv-navn:hover { color: var(--gk-gull, #e2ba6c); }
.ok5-inv-rad form { margin: 0; }
.ok5-inv-rad .gk-knapp[disabled] { opacity: .45; cursor: not-allowed;
  filter: grayscale(.6); }
.ok5-glose { display: none; flex-basis: 100%; font-size: .9rem;
  color: #d8cdb4; background: rgba(226,186,108,.08);
  border-left: 2px solid var(--gk-gull-dyp, #8a6a2f);
  padding: .4rem .7rem; border-radius: 3px; }
.ok5-glose.vis { display: block; }
.ok5-inv-ny { display: grid;
  grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr));
  gap: 0 1.4rem; max-height: 18rem; overflow-y: auto;
  padding-right: .4rem; }
.ok5-dorer { display: flex; flex-wrap: wrap; gap: .5rem; }
.ok5-dor { background: rgba(0,0,0,.4); color: #b9b3a4; font: inherit;
  font-size: .88rem; border: 1px dashed rgba(226,186,108,.35);
  border-radius: 5px; padding: .45rem .8rem; cursor: pointer;
  text-align: left; }
.ok5-dor.klar { color: #e8e2d4; border-style: solid;
  border-color: var(--gk-gull, #e2ba6c);
  box-shadow: 0 0 8px rgba(226,186,108,.25); }
.ok5-dor:hover { color: var(--gk-gull, #e2ba6c); }
@media (hover: hover) {
  .ok5-inv-navn[data-gl]:hover::after, .ok5-dor[data-gl]:hover { }
}

/* Samtalen + Ferden (ombygde verktøy) */
.smt, .frd { display: grid; gap: 1.2rem; max-width: 56rem; margin: 0 auto; }
.smt-kort { padding: 1.2rem 1.4rem; }
.smt-kort.gk-onyx { background-color: #6e675e;
  background-blend-mode: multiply; }
.smt-kort h2 { margin: 0 0 .5rem; }
.smt-kort h3 { margin: 1.1rem 0 .4rem; color: var(--gk-gull, #e2ba6c); }
.smt-maal { display: flex; gap: .9rem; align-items: center;
  margin-top: .6rem; }
.smt-utfall { font-family: var(--cinzel, serif); color: var(--gk-gull, #e2ba6c);
  font-size: 1.05rem; letter-spacing: .04em; }
.smt-haand { display: grid; gap: .7rem;
  grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); }
.smt-spillkort { background: #efe5cd url('gailea/pergament_flis.jpg');
  background-size: 512px; color: #2c2317; border-radius: 5px;
  padding: .7rem .9rem; border: 1px solid #8a6a2f;
  box-shadow: 0 3px 8px rgba(0,0,0,.45); }
.smt-spillkort p { margin: 0 0 .35rem; }
.smt-spillkort.brent { filter: grayscale(.6) brightness(.55);
  border-style: dashed; }
.smt-spillkort.knust { border-color: var(--gk-gull, #e2ba6c);
  box-shadow: 0 0 12px rgba(226,186,108,.5); }
.smt-merke { font-size: .78rem; font-style: italic; color: #7c1f1f; }
.smt-spillkort.knust .smt-merke { color: #8a6a2f; }
.smt-logg { display: grid; gap: .35rem; }
.smt-linje { margin: 0; padding: .45rem .7rem; border-radius: 4px;
  background: rgba(0,0,0,.35); font-size: .95rem;
  border-left: 2px solid rgba(226,186,108,.35); }
.smt-linje.rull { border-left-color: var(--gk-gull, #e2ba6c);
  background: rgba(226,186,108,.1); }
.frd-vei { display: flex; gap: .3rem; align-items: center;
  margin: .8rem 0 .3rem; flex-wrap: wrap; }
.frd-steg { width: 1.6rem; height: .45rem; border-radius: 2px;
  background: rgba(0,0,0,.5); border: 1px solid rgba(226,186,108,.3); }
.frd-steg.gaatt { background: linear-gradient(90deg, #8a6a2f, #e2ba6c); }
.frd-maalpunkt { color: #b9b3a4; margin-left: .3rem; }
.frd-maalpunkt.naadd { color: var(--gk-gull, #e2ba6c); }

/* Kartrommet i kit-ramme */
.krt5 { display: grid; gap: 1.2rem; max-width: 74rem; margin: 0 auto; }

/* S8: The Living Base — kort i én kolonne som vokser til to (mobil-først) */
.lbs { display: grid; gap: 1.2rem; max-width: 62rem; margin: 0 auto; }
.lbs-kort { padding: 1.2rem 1.4rem; }
.lbs-kort.gk-onyx { background-color: #6e675e;
  background-blend-mode: multiply; }
.lbs-kort h2 { margin: 0 0 .7rem; }
.lbs-kort h3 { margin: 1rem 0 .4rem; }
.lbs-tokolonner { display: grid; gap: 1.2rem;
  grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); }
.lbs-chips { display: flex; flex-wrap: wrap; gap: .5rem;
  margin-bottom: .6rem; }
.lbs-chips a.gk-chip { text-decoration: none; }
.lbs-valgt { border-color: var(--gk-gull, #e2ba6c);
  box-shadow: 0 0 8px rgba(226,186,108,.35); }
.lbs-rad { display: flex; flex-wrap: wrap; gap: .5rem;
  align-items: center; margin-top: .5rem; }
.lbs-rad input, .lbs-rad select { max-width: 15rem; }
.lbs-folkrad { border-top: 1px dotted rgba(226,186,108,.3);
  padding: .6rem 0 .4rem; }
.lbs-folkrad:first-of-type { border-top: none; }
.lbs-folk-topp { display: flex; gap: .6rem; flex-wrap: wrap;
  align-items: baseline; }
.lbs-linje { font-style: italic; margin: .25rem 0; }
.lbs-dm { color: #e8b45f; font-size: .88rem; margin: .2rem 0;
  border-left: 2px solid rgba(226,186,108,.5); padding-left: .5rem; }
.lbs-varsel { color: #e8875f; }
.lbs-vindu { display: grid; gap: .8rem;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
.lbs-soker { border: 1px solid rgba(226,186,108,.3); border-radius: 5px;
  padding: .7rem .9rem; background: rgba(0,0,0,.3); }
.lbs-avling { display: flex; gap: .7rem; align-items: center;
  flex-wrap: wrap; padding: .25rem 0; }
.lbs-moden { color: #9fd08a; }
.lbs-bok { width: 100%; border-collapse: collapse; margin-top: .7rem;
  font-size: .92rem; }
.lbs-bok td { padding: .3rem .5rem; border-top: 1px dotted
  rgba(226,186,108,.25); vertical-align: top; }
.lbs-dag { color: #b9b3a4; white-space: nowrap; }
.lbs-belop { text-align: right; white-space: nowrap;
  font-variant-numeric: tabular-nums; }
.lbs-lonn .lbs-belop, .lbs-mynt .lbs-belop {
  color: var(--gk-gull, #e2ba6c); }



/* ---- The Tree (det nye arket, 2026-08-22): skill-kartet -------------
   Utseendet låner Path of Exiles konstellasjon: monokrom bronse på mørk
   himmel, hjul og veier, bare den gåtte stien lyser gull. */
/* Treet får hele skjermbredden (eiers ønske: «se mer om gangen») – samme
   grep som notat-treet: rammens 960px-tak oppheves på denne sida. */
main.ramme:has(.tre) { max-width: none; padding-left: 1.2vw;
  padding-right: 1.2vw; }
.tre-flate { display: grid; grid-template-columns: 1fr 17rem; gap: 0.8rem;
  margin-top: 0.8rem; align-items: start; }
.tre-banner { padding-top: 0.7rem; padding-bottom: 0.7rem; }
.tre-banner h1 { font-size: 1.5rem; margin: 0 0 0.2rem; }
.tre-banner p { margin: 0; }
.tre-kartramme { position: relative; border-radius: 10px; overflow: hidden;
  background:
    radial-gradient(ellipse at 30% 25%, rgba(40, 70, 90, 0.35), transparent 55%),
    radial-gradient(ellipse at 70% 75%, rgba(70, 45, 25, 0.28), transparent 55%),
    radial-gradient(circle at 50% 50%, #15171c 0%, #07080b 75%); }
#tre-svg { display: block; width: 100%; height: calc(100vh - 9.5rem);
  min-height: 480px; cursor: grab; touch-action: none; }
#tre-svg:active { cursor: grabbing; }
.tre-verktoy { position: absolute; top: 0.6rem; left: 0.6rem; display: flex;
  gap: 0.4rem; align-items: center; }
.tre-verktoy input { width: 11rem; padding: 0.3rem 0.5rem; border-radius: 6px;
  border: 1px solid rgba(178, 142, 66, 0.5); background: rgba(10, 9, 12, 0.8);
  color: #e9dfc6; font: inherit; font-size: 0.85rem; }
.tre-ring { fill: none; stroke: rgba(178, 142, 66, 0.06); stroke-width: 1;
  stroke-dasharray: 3 9; }
.tre-kant { fill: none; stroke: rgba(150, 125, 80, 0.38); stroke-width: 1.4;
  stroke-linecap: round; }
.tre-kant.tunnel { stroke: rgba(106, 208, 224, 0.14); stroke-width: 1.2;
  stroke-dasharray: 3 9; }
.tre-kant.tatt { stroke: #f0c455; stroke-width: 3.2;
  filter: drop-shadow(0 0 3px rgba(240, 196, 85, 0.9)); }
.tre-node { cursor: pointer; }
.tre-node circle, .tre-node rect { fill: #1a1b20; stroke: #8c7a55;
  stroke-width: 1.6; transition: fill 0.15s, stroke-width 0.15s; }
.tre-node.travel circle { fill: #2a2b30; stroke: #6e6250; stroke-width: 1.2; }
.tre-node.stat circle, .tre-node.step circle, .tre-node.buff circle, .tre-node.alter circle {
  fill: #1f2026; }
.tre-node.hub circle { fill: #23242b; stroke-width: 2.2; }
.tre-node.notable circle { fill: #24221c; stroke: #c9a95b; stroke-width: 2.4; }
.tre-node.keystone circle { fill: #2a2418; stroke: #e9b949; stroke-width: 3; }
.tre-node .tre-indre { fill: none; stroke: rgba(233, 185, 73, 0.55);
  stroke-width: 1; }
.tre-node.gate circle, .tre-node.commons circle { fill: #23202a;
  stroke-width: 3; }
.tre-node.tunnel rect { fill: #182228; stroke: #6ad0e0; stroke-width: 2; }
.tre-node.mulig circle, .tre-node.mulig rect { stroke: #f0c455;
  stroke-width: 2.6; filter: drop-shadow(0 0 5px rgba(240, 196, 85, 0.75)); }
.tre-node.tatt circle, .tre-node.tatt rect { fill: #f0c455;
  stroke: #fff0c0 !important; filter: drop-shadow(0 0 6px rgba(240, 196, 85, 0.9)); }
.tre-node.tatt .tre-indre { stroke: #5a4410; }
.tre-node.dimmet { opacity: 0.1; }
.tre-node text { fill: #cfc2a3; font-size: 12px; text-anchor: middle;
  pointer-events: none; paint-order: stroke; stroke: #07080b;
  stroke-width: 3px; }
.tre-node.hub text { font-size: 10px; fill: #e9dfc6; }
.tre-node.gate text { font-size: 21px; font-weight: 700; fill: #e9dfc6;
  letter-spacing: 0.05em; }
.tre-node.gate text.tre-under { font-size: 13px; font-weight: 400;
  fill: #b8a886; letter-spacing: 0.12em; text-transform: uppercase; }
.tre-node.keystone text { fill: #f0c455; font-size: 13px; }
.tre-node.tunnel text { fill: #6ad0e0; }
.tre-panel { padding: 1rem 1.1rem; border-radius: 10px; font-size: 0.92rem;
  position: sticky; top: 4.5rem; }
.tre-panel h2 { margin: 0 0 0.3rem; font-size: 1.2rem; }
.tre-panel h3 { margin: 0.9rem 0 0.3rem; font-size: 0.95rem; }
.tre-tall { font-size: 1.05rem; margin: 0.2rem 0; }
.tre-skills, .tre-pilarer { list-style: none; padding: 0; margin: 0; }
.tre-skills li, .tre-pilarer li { padding: 0.15rem 0; }
.tre-prikk { display: inline-block; width: 0.7em; height: 0.7em;
  border-radius: 50%; margin-right: 0.4em; vertical-align: middle; }
.tre-info { margin-top: 0.9rem; padding-top: 0.6rem;
  border-top: 1px solid rgba(178, 142, 66, 0.35); min-height: 3.5rem; }
.tre-fot { margin-top: 1rem; font-size: 0.8rem; }
@media (max-width: 900px) {
  .tre-flate { grid-template-columns: 1fr; }
  #tre-svg { height: 72vh; }
  .tre-panel { position: static; }
}

/* «/SKJUL» */

/* ============ dashbord-forside ============ */
/* Logo-splash: gjennomsiktig så NASA-bakgrunnen syner gjennom. Moderat høyde
   (ikke helskjerm) så logoen ligger som et rolig lokk litt over dashbordet, som
   titter opp under. */
.dash-splash {
  position: relative;
  min-height: min(52vh, 30rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.8rem;
  padding: 1.5rem 1rem 0.5rem;
  margin-bottom: 1.2rem;
}
.dash-splash .splash-tagline { margin: 0; }
/* Liten pil ned til innholdet – samme rolige sprett som den gamle splashen. */
.dash-splash .splash-ned { margin-top: 0.6rem; }

.dash-rutenett {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-bottom: 1.2rem;
}
.dash-flis {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: var(--radius);
  border: 1px solid var(--kant);
  background: var(--panel);
  text-decoration: none;
  min-height: 8.5rem;
  transition: transform 0.18s, border-color 0.18s, box-shadow 0.18s;
}
.dash-flis:hover {
  transform: translateY(-2px);
  border-color: var(--aksent);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
}
.dash-flis-innhold {
  position: relative;
  display: flex; flex-direction: column; gap: 0.35rem;
  padding: 1.1rem 1.2rem;
}
.dash-flis-tittel { color: var(--lys); font-size: 1.15rem; font-family: var(--grotesk); }
.dash-flis-utdrag { color: var(--dis); font-size: 0.92rem; line-height: 1.5; }
.dash-flis-meta { color: var(--kvant); font-size: 0.82rem; margin-top: 0.15rem; }
.dash-flis-tom { color: var(--dis); font-size: 0.95rem; font-style: italic; }

/* Innlogging-flisen for utloggede: skal lokke, ikke bare informere */
.dash-logginn {
  border-color: var(--aksent);
  background: linear-gradient(160deg, rgba(233, 185, 73, 0.14), var(--panel) 65%);
}
.dash-logginn:hover { border-color: var(--aksent-glo); }
.dash-logginn .dash-flis-meta { color: var(--aksent); font-weight: 600; }

/* Aktivitet-flis med foto-bakgrunn */
.dash-akt.har-bilde .dash-flis-innhold {
  min-height: 8.5rem;
  justify-content: flex-end;
  background: linear-gradient(to top, rgba(11,14,26,0.92) 30%, rgba(11,14,26,0.25));
}
.dash-flis-foto {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
}
.dash-akt .dash-flis-tittel { color: #fff; }

/* Galleri-miniatyrer */
.dash-miniatyrer { display: flex; gap: 0.35rem; margin: 0.2rem 0 0.1rem; }
.dash-miniatyr {
  width: 3.4rem; height: 3.4rem; flex: none;
  border-radius: 8px; border: 1px solid var(--kant);
  background-size: cover; background-position: center;
}

/* Snarveier */
.dash-snarveier {
  display: flex; flex-wrap: wrap; gap: 0.5rem;
  margin-bottom: 1.6rem;
}
.dash-snarvei {
  display: inline-flex; align-items: center; gap: 0.4rem;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  border: 1px solid var(--kant);
  background: var(--panel);
  color: var(--lys); text-decoration: none;
  font-size: 0.9rem;
}
.dash-snarvei:hover { border-color: var(--aksent); color: var(--aksent); }
.dash-snarvei .side-ikon { font-size: 1rem; }

.dash-om { margin-top: 0.4rem; }

@media (max-width: 680px) {
  .dash-rutenett { grid-template-columns: 1fr; }
  .dash-splash { min-height: min(46vh, 22rem); }
}

/* ---------- planlegging: planer, kalender og avlysning ---------- */
/* merkelapp-basen er gull med mørk tekst – disse bytter bare fargen på flaten */
.plan-merke { background: var(--kvant); }
.avlyst-merke, .forslag-merke { background: var(--fare); }
.avlyst-banner { border-left: 3px solid var(--fare); }
.avlyst-banner h2 { color: var(--fare); }

.plan-panel { border-left: 3px solid var(--kvant); }
.plan-kalender {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(3.4rem, 1fr));
  gap: 0.45rem;
  margin: 0.9rem 0 0.5rem;
}
.plan-dag input { position: absolute; opacity: 0; pointer-events: none; }
.plan-dag-boks {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.05rem;
  padding: 0.45rem 0.2rem 0.4rem;
  border: 1px solid var(--kant);
  border-radius: 0.6rem;
  background: var(--dyp);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.plan-dag.helg .plan-dag-boks { background: rgba(106, 208, 224, 0.08); }
.plan-dag-boks:hover { border-color: var(--aksent); }
.plan-ukedag { font-size: 0.62rem; text-transform: uppercase; color: var(--dis); }
.plan-dagnr { font-size: 1.15rem; font-weight: 700; line-height: 1.1; }
.plan-mnd { font-size: 0.62rem; color: var(--dis); }
/* kryss = «kan ikke»: dagen strykes rødlig */
.plan-dag input:checked + .plan-dag-boks {
  border-color: var(--fare);
  background: rgba(255, 107, 107, 0.14);
}
.plan-dag input:checked + .plan-dag-boks .plan-dagnr {
  text-decoration: line-through;
  color: var(--fare);
}
.plan-dag input:focus-visible + .plan-dag-boks { outline: 2px solid var(--aksent); }
.plan-antall {
  position: absolute;
  top: -0.35rem;
  right: -0.3rem;
  min-width: 1.1rem;
  padding: 0 0.25rem;
  border-radius: 1rem;
  background: var(--fare);
  color: var(--rom);
  font-size: 0.68rem;
  font-weight: 700;
  text-align: center;
  cursor: help;
}

.kommentar.forslag {
  border-left: 3px solid var(--fare);
  padding-left: 0.7rem;
  border-radius: 0.3rem;
}

.plan-felt { border: 1px dashed var(--kant); border-radius: 0.8rem; padding: 0.8rem; }
.plan-vindu { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 0.6rem; }
.gruppe-hint { color: var(--dis); font-weight: 400; font-size: 0.8em; }


/* ============ til toppen + små dører ============ */
.til-toppen {
  position: fixed;
  right: 1.1rem;
  bottom: 1.1rem;
  z-index: 60;
  width: 2.6rem;
  height: 2.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.25);
  background: rgba(11, 14, 26, 0.82);
  color: inherit;
  text-decoration: none;
  font-size: 1.1rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}
.til-toppen.synlig { opacity: 0.85; pointer-events: auto; }
.til-toppen:hover { opacity: 1; }
.dor-nokkelhull {
  margin-left: 0.6rem;
  font-size: 0.85rem;
  text-decoration: none;
  opacity: 0.22;
  transition: opacity 0.3s ease;
}
.dor-nokkelhull:hover { opacity: 0.9; }
.tre-knute {
  display: inline-block;
  margin: 1.5rem 0 0 0.4rem;
  font-size: 0.95rem;
  text-decoration: none;
  opacity: 0.28;
  transition: opacity 0.3s ease;
}
.tre-knute:hover { opacity: 0.95; }

/* ------------------------------------------------------------ meditasjoner
   Eiers private tenkerom (kun admin ser sidene; stilen er ufarlig åpen).
   .med-ref = referanse i lesevisningen (klikkbar, i uthevingsfarge);
   .med-merk = det opplyste spennet man ble sendt til (.borte slukker det);
   .med-hjelper = panelet under editorfeltet (forslag / live forhåndsvisning). */
.med-liste { display: grid; gap: 0.8rem;
  grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); }
.med-kort { display: block; padding: 0.9rem 1.1rem; background: var(--glass);
  border: 1px solid var(--kant); border-radius: var(--radius);
  color: var(--lys); text-decoration: none; }
.med-kort:hover { background: var(--dyp); border-color: var(--aksent); }
.med-kort h2 { margin: 0 0 0.3rem; font-size: 1.05rem; }
.med-kort p { margin: 0; font-size: 0.85rem; }
.med-tekst { background: var(--glass); border: 1px solid var(--kant);
  border-radius: var(--radius); padding: 1.1rem 1.3rem; line-height: 1.65;
  overflow-wrap: break-word; backdrop-filter: blur(var(--uskarphet)); }
.med-bilde { max-width: 100%; display: block; margin: 0.6rem 0;
  border-radius: 8px; }
.med-ref { color: var(--kvant); background: rgba(106, 208, 224, 0.12);
  padding: 0 0.25em; border-radius: 4px; text-decoration: none; }
.med-ref:hover { background: rgba(106, 208, 224, 0.28); }
.med-ref.dod { color: var(--dis); font-style: italic; background: none; }
.med-tittelmerke { color: var(--aksent); font-weight: 600; }
mark.med-merk { background: rgba(233, 185, 73, 0.35); color: inherit;
  border-radius: 4px; transition: background 0.4s; }
mark.med-merk.borte { background: transparent; }
.med-handlinger { align-items: center; }
.med-referertboks { margin-top: 1.6rem; }
.med-referert { padding-left: 1.2rem; }
.med-referert li { margin: 0.3rem 0; }
.med-skjema textarea { min-height: 22rem; }
.med-hjelper { border: 1px solid var(--kant); border-radius: var(--radius);
  background: var(--panel); padding: 0.6rem 0.8rem; margin-top: 0.4rem; }
.med-forslag { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.med-forslagknapp { font: inherit; padding: 0.25em 0.7em;
  border-radius: 999px; border: 1px solid var(--kant); background: var(--dyp);
  color: var(--lys); cursor: pointer; }
.med-forslagknapp:hover { border-color: var(--aksent); }
.med-forhands-navn { margin: 0 0 0.4rem; color: var(--dis);
  font-size: 0.85rem; }
.med-forhands-tekst { position: relative; max-height: 14rem; overflow: auto;
  white-space: pre-wrap; font-size: 0.9rem; line-height: 1.5;
  border-top: 1px dashed var(--kant); padding-top: 0.5rem;
  overflow-wrap: break-word; }
.med-forhands-tekst mark { background: rgba(233, 185, 73, 0.45);
  color: inherit; border-radius: 3px; }

/* Meditasjoner etappe 2: Treet. Full sidebredde (som tegnebordet) – grafen
   trenger rommet. Panel til venstre, veven til høyre; mobil stabler. */
main.ramme:has(.med-tre) { max-width: none; }
.med-tre { display: grid; grid-template-columns: 19rem 1fr; gap: 1rem;
  align-items: start; }
.med-panel { background: var(--glass); border: 1px solid var(--kant);
  border-radius: var(--radius); padding: 1rem 1.1rem;
  backdrop-filter: blur(var(--uskarphet)); }
.med-panel h1 { margin-top: 0; font-size: 1.3rem; }
.med-panel input[type="search"] { width: 100%; box-sizing: border-box; }
.med-brytere { border: 1px solid var(--kant); border-radius: var(--radius);
  margin: 0.8rem 0; padding: 0.5rem 0.8rem 0.7rem; }
.med-brytere legend { color: var(--dis); font-size: 0.85rem;
  padding: 0 0.3em; }
.med-brytere .avkryssing { display: flex; align-items: center;
  gap: 0.45em; margin: 0.25rem 0; }
.med-prikk { display: inline-block; width: 0.85em; height: 0.85em;
  border-radius: 50%; flex: none; }
.med-tegnforklaring { font-size: 0.82rem; }
.med-panelliste { max-height: 40vh; overflow: auto; margin-top: 0.6rem;
  border-top: 1px dashed var(--kant); padding-top: 0.6rem; }
.med-listerad { display: block; padding: 0.35rem 0.4rem; border-radius: 8px;
  color: var(--lys); text-decoration: none; }
.med-listerad:hover { background: var(--dyp); }
.med-listerad[hidden] { display: none; }  /* display:block over vinner ellers */
.med-listerad .dus { display: block; font-size: 0.78rem; }
.med-flate { background: var(--glass); border: 1px solid var(--kant);
  border-radius: var(--radius); backdrop-filter: blur(var(--uskarphet));
  overflow: hidden; }
#med-svg { display: block; width: 100%; height: min(78vh, 46rem);
  touch-action: none; }
.med-tom { padding: 3rem 2rem; text-align: center; }
.med-node { cursor: pointer; }
.med-node circle { stroke: rgba(233, 236, 247, 0.55); stroke-width: 1.5;
  transition: opacity 0.25s; }
.med-node text { fill: var(--lys); font-size: 11px; text-anchor: middle;
  paint-order: stroke; stroke: rgba(11, 14, 26, 0.85); stroke-width: 3px;
  pointer-events: none; }
.med-node.dimmet { opacity: 0.22; }
.med-traad { stroke-width: 1.6; opacity: 0.75; transition: opacity 0.25s; }
.med-traad.dimmet, .med-pil.dimmet { opacity: 0.1; }
.med-pil { opacity: 0.95; }
@media (max-width: 900px) {
  .med-tre { grid-template-columns: 1fr; }
  #med-svg { height: 55vh; }
  .med-panelliste { max-height: 22vh; }
}

/* Meditasjoner etappe 3: undermeny, kalenderen og sporingen. */
.med-meny { display: flex; gap: 0.9rem; margin: 0.2rem 0 1rem;
  font-size: 0.92rem; }
.med-meny a { color: var(--dis); text-decoration: none;
  border-bottom: 2px solid transparent; padding-bottom: 0.15em; }
.med-meny a:hover { color: var(--lys); }
.med-meny a.aktiv { color: var(--aksent); border-bottom-color: var(--aksent); }
.med-panel .med-meny { margin-top: 0.4rem; }
.med-kalhode { display: flex; align-items: center; gap: 0.8rem;
  margin: 0.4rem 0 0.6rem; }
.med-kalhode h2 { margin: 0; }
.med-kalrull { overflow-x: auto; }
.med-kal { width: 100%; min-width: 40rem; border-collapse: collapse;
  background: var(--glass); border: 1px solid var(--kant);
  border-radius: var(--radius); }
.med-kal th { color: var(--dis); font-weight: 500; font-size: 0.8rem;
  padding: 0.4rem 0.3rem; border-bottom: 1px solid var(--kant); }
.med-kal td { width: 14.28%; height: 5.6rem; vertical-align: top;
  border: 1px solid rgba(153, 160, 194, 0.15); padding: 0.25rem 0.3rem; }
.med-dag { cursor: pointer; }
.med-dag:hover { background: var(--dyp); }
.med-dag.idag .med-dagnr { color: var(--aksent); font-weight: 700; }
.med-dag.valgt { outline: 2px solid var(--aksent); outline-offset: -2px; }
.med-dagnr { color: var(--dis); font-size: 0.8rem; display: block; }
.med-kalpost { display: block; font-size: 0.8rem; margin-top: 0.2rem;
  padding: 0.1rem 0.3rem; border-radius: 6px; color: var(--lys);
  background: rgba(106, 208, 224, 0.14); text-decoration: none;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.med-kalpost:hover { background: rgba(106, 208, 224, 0.3); }
.med-tomdag { background: rgba(11, 14, 26, 0.35); }
.med-nypost, .med-nyboks { margin-top: 1.2rem; }
.med-maal-naadd { opacity: 0.65; }
.med-maal-parkert { opacity: 0.45; }
.med-verdiliste { padding-left: 1.2rem; }
.med-verdiliste li { margin: 0.3rem 0; }
.med-verdiliste form { display: inline; margin-left: 0.4rem; }
.med-verdiform { display: flex; gap: 0.5rem; margin-top: 0.6rem;
  max-width: 30rem; }
.med-verdiform input { flex: 1; }
.med-fremrad { background: var(--glass); border: 1px solid var(--kant);
  border-radius: var(--radius); padding: 0.7rem 1rem; margin: 0.8rem 0; }
.med-fremmeta { display: flex; align-items: center; gap: 0.4rem;
  font-size: 0.85rem; margin: 0 0 0.4rem; }
.med-fremslett { margin-left: auto; }
.med-fremtekst { line-height: 1.55; overflow-wrap: break-word; }

/* Skjulte markørtegn ($ rundt titler) i editorens forhåndsvisningsvindu:
   tegnet teller i posisjonene men vises ikke. */
.med-skjult-tegn { display: none; }

/* Nettside-lenker (#adresse) i Meditasjoner: 🌐-noder ytterst i treet,
   stiplet ring; i lesevisningen en kjølig lenke-chip med ↗. */
.med-node.ytre circle { stroke-dasharray: 4 3;
  stroke: rgba(106, 208, 224, 0.7); }
.med-node.ytre text { font-size: 10px; fill: var(--dis); }
.med-ref.ytre { background: rgba(106, 208, 224, 0.08);
  border: 1px dashed rgba(106, 208, 224, 0.45); }
.med-listerad.ytre strong { color: var(--kvant); font-weight: 500; }

/* Meditasjoner: Samtalen (Claude-chat om tenkerommet). Boblene låner
   formspråket fra innboksens samtaler, men lever i sitt eget navnerom. */
.medchat-logg { display: flex; flex-direction: column; gap: 0.6rem;
  max-height: 55vh; overflow-y: auto; padding: 0.4rem 0.2rem;
  margin-bottom: 1rem; }
.medchat-boble { max-width: 46rem; padding: 0.6rem 0.9rem;
  border-radius: var(--radius); line-height: 1.55;
  white-space: pre-wrap; overflow-wrap: break-word; }
.medchat-boble.min { align-self: flex-end;
  background: rgba(233, 185, 73, 0.16);
  border: 1px solid rgba(233, 185, 73, 0.35); }
.medchat-boble.deres { align-self: flex-start; background: var(--glass);
  border: 1px solid var(--kant); }
.medchat-skjema textarea { width: 100%; resize: vertical; }
.medchat-knapper { display: flex; align-items: center; gap: 0.9rem;
  margin-top: 0.5rem; }
.medchat-oppsett { background: var(--glass); border: 1px solid var(--kant);
  border-radius: var(--radius); padding: 1rem 1.3rem; max-width: 40rem; }
.medchat-oppsett code { background: var(--dyp); padding: 0.1em 0.35em;
  border-radius: 6px; }

/* Meditasjoner: omtalen i «Referert fra» – linja der kilden faktisk
   nevner dette dokumentet, alltid ferskt regnet fra kildens tekst. */
.med-omtale { color: var(--dis); font-style: italic; font-size: 0.9rem;
  margin: 0.15rem 0 0.4rem 1rem; line-height: 1.5;
  border-left: 2px solid rgba(153, 160, 194, 0.35); padding-left: 0.6rem; }

/* Kunst-rommet: samlesiden for Tekster/Galleriet/Diskusjoner. */
.kunst-rutenett { margin-top: 1rem; }
.dash-flis-topp { display: flex; align-items: center; gap: 0.45rem;
  font-family: var(--skrift-tittel, inherit); font-weight: 700;
  font-size: 1.05rem; }

/* Skuffen: admins fil-innlevering (filer Claude kan lese fra disk). */
.skuff-skjema { display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: center;
  margin: 1rem 0 1.4rem; }
.skuff-tabell { width: 100%; border-collapse: collapse; font-size: 0.92rem; }
.skuff-tabell th { text-align: left; color: var(--dis); font-weight: 500;
  padding: 0.3rem 0.5rem; border-bottom: 1px solid var(--kant); }
.skuff-tabell td { padding: 0.4rem 0.5rem; border-bottom: 1px solid rgba(153,160,194,0.15);
  vertical-align: middle; }
.skuff-tabell td form { display: inline; }
.skuff-mini { height: 2.4rem; width: auto; border-radius: 4px; margin-right: 0.5rem;
  vertical-align: middle; border: 1px solid var(--kant); }

/* Tegne-nodene i Meditasjoner: A4-ark i canvas med verktøylinje.
   Arket er papirhvitt (#f2efe9) med mørk strek – håndskrift leses best
   sånn, midt i sidens mørke tema. */
.ark-verktoy { display: flex; flex-wrap: wrap; align-items: center;
  gap: 0.6rem; margin: 0.6rem 0; background: var(--glass);
  border: 1px solid var(--kant); border-radius: var(--radius);
  padding: 0.5rem 0.8rem; position: sticky; top: 0.4rem; z-index: 5;
  backdrop-filter: blur(var(--uskarphet)); }
.ark-gruppe { display: inline-flex; gap: 0.35rem; align-items: center; }
.ark-farge { width: 1.7rem; height: 1.7rem; border-radius: 50%;
  border: 2px solid transparent; cursor: pointer; }
.ark-farge.aktiv { border-color: var(--aksent);
  box-shadow: 0 0 0 2px rgba(233, 185, 73, 0.35); }
.ark-strek { font: inherit; padding: 0.2em 0.7em; border-radius: 999px;
  border: 1px solid var(--kant); background: var(--dyp); color: var(--lys);
  cursor: pointer; }
.ark-strek.aktiv, #ark-visk.aktiv { border-color: var(--aksent);
  color: var(--aksent); }
.ark-kunpenn { margin-left: auto; }
.ark-holder { display: flex; justify-content: center; margin: 0.4rem 0 1rem; }
#ark { width: min(100%, 46rem); height: auto; background: #f2efe9;
  border-radius: 6px; box-shadow: 0 6px 24px rgba(0, 0, 0, 0.45);
  touch-action: none; cursor: crosshair; }
