/* LANGHUSET — hovudmenyen (fase 3, 25.10.2026). KM valde forslag 3: kvar måte å
   spele på heng som eit måla banner i eit norrønt langhus, og Rifts-banneret er
   alt heist (eitt klikk, eller Enter). Fasit: .impeccable/mocks/decision/langhus.png.
   Kunst: public/bilete/meny/ (tools/meny/lag_meny.py), skrift: Cinzel (sjølv-hosta).

   Scena er 3:2 som hallbiletet og skalerer til vindauget (contain); storleikar er
   i cqw (1 % av scenebreidda), så tekst, banner og plassering held saman på alle
   skjermar. Smalt/ståande: ei loddrett oppstilling i same verd (nedst). */

@font-face {
  font-family: 'Cinzel';
  src: url('/fonts/cinzel-latin.woff2') format('woff2');
  font-weight: 400 900;
  font-display: swap;
}

#meny.langhus {
  --lh-bein: #eadcc2;
  --lh-messing: #c9a86a;
  --lh-frost: #9fd8ff;
  --lh-glod: #ffb35c;
  --lh-sot: #0b0807;
  --lh-blekk: #d6c9b2;
  padding: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: var(--lh-sot);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  color: var(--lh-bein);
}
/* Hallen utanfor 3:2-scena: same bilete, mørkt og uskarpt (éin gong, står stille) */
#meny.langhus::before {
  content: "";
  position: absolute;
  inset: -80px;
  background: url('/bilete/meny/hall.webp') center / cover no-repeat;
  filter: blur(28px) brightness(.42) saturate(.9);
  pointer-events: none;
}
.lh-lina::before, .lh-lina::after, .lh-tittel::after {
  content: "";
  flex: none;
  width: 3.4cqw; height: .45cqw;
  background: url('/bilete/meny/regel.svg') center / contain no-repeat;
}
#meny.langhus ::selection { background: rgba(255, 179, 92, .35); color: #fff; }

.lh-stage {
  position: relative;
  width: min(100vw, 150dvh);
  aspect-ratio: 3 / 2;
  container-type: size;
  background: linear-gradient(rgba(6, 4, 3, .26), rgba(6, 4, 3, .26)), url('/bilete/meny/hall.webp') center / 100% 100% no-repeat;
  font-family: Georgia, 'Times New Roman', serif;
}
.lh-stage::after {                       /* kantane glir inn i det uskarpe utanfor */
  content: "";
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 5cqw 1.5cqw var(--lh-sot);
  pointer-events: none;
  z-index: 0;
}
.lh-hall {                              /* sotflekk over fakkelen i bakhallen som skissa ikkje har */
  position: absolute;
  left: 45.9%; top: 54.6%; width: 2.8%; height: 5.6%;
  background: radial-gradient(closest-side, rgba(15, 12, 12, .94) 40%, rgba(15, 12, 12, .55) 72%, transparent);
  pointer-events: none;
}

/* ── Varmen frå gruva og gneistane ── */
.lh-varme {
  position: absolute;
  left: 30%; top: 52%; width: 50%; height: 48%;
  background: radial-gradient(closest-side, rgba(255, 150, 60, .26), rgba(255, 120, 40, .08) 55%, transparent);
  mix-blend-mode: screen;
  pointer-events: none;
  animation: lh-flakk 3.7s steps(6, end) infinite;
}
@keyframes lh-flakk {
  0%, 100% { opacity: .9; } 20% { opacity: .78; } 35% { opacity: 1; } 55% { opacity: .84; } 75% { opacity: .96; }
}
.lh-gneistar { position: absolute; left: 50%; top: 76%; width: 9%; height: 1px; pointer-events: none; }
.lh-gneistar i {
  position: absolute;
  bottom: 0;
  width: .28cqw; height: .28cqw;
  border-radius: 50%;
  background: #ffc979;
  box-shadow: 0 0 .4cqw .1cqw rgba(255, 160, 70, .8);
  opacity: 0;
  animation: lh-gneist 4.6s cubic-bezier(.2, .6, .3, 1) infinite;
}
.lh-gneistar i:nth-child(1) { left: 10%; animation-delay: 0s; }
.lh-gneistar i:nth-child(2) { left: 32%; animation-delay: .7s; animation-duration: 5.2s; }
.lh-gneistar i:nth-child(3) { left: 55%; animation-delay: 1.4s; }
.lh-gneistar i:nth-child(4) { left: 74%; animation-delay: 2.1s; animation-duration: 3.9s; }
.lh-gneistar i:nth-child(5) { left: 22%; animation-delay: 2.8s; animation-duration: 5.6s; }
.lh-gneistar i:nth-child(6) { left: 63%; animation-delay: 3.5s; }
.lh-gneistar i:nth-child(7) { left: 44%; animation-delay: 1.1s; animation-duration: 4.1s; }
.lh-gneistar i:nth-child(8) { left: 85%; animation-delay: 3.1s; animation-duration: 5s; }
.lh-gneistar i:nth-child(9) { left: 5%; animation-delay: 4.2s; }
.lh-gneistar i:nth-child(10) { left: 38%; animation-delay: 2.4s; animation-duration: 6s; }
.lh-gneistar i:nth-child(11) { left: 70%; animation-delay: .3s; animation-duration: 4.4s; }
.lh-gneistar i:nth-child(12) { left: 50%; animation-delay: 3.8s; animation-duration: 5.4s; }
@keyframes lh-gneist {
  0% { opacity: 0; transform: translate(0, 0); }
  10% { opacity: 1; }
  100% { opacity: 0; transform: translate(1.6cqw, -15cqw); }
}

/* ── Bjelken ── */
.lh-bjelke {
  position: absolute;
  left: 31%; width: 40%; top: 1.4%;
  padding: .35cqw 1cqw .45cqw;
  text-align: center;
  isolation: isolate;
  z-index: 2;
}
/* Ordmerket er skore inn i bjelken (ekte tekst, aldri i KI-biletet) */
.lh-logo {
  margin: 0;
  padding-left: .2em;                    /* opnar sporinga att etter siste bokstav */
  font: 700 2.55cqw/1.05 'Cinzel', Georgia, serif;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #b89c72;                        /* innskore: mørk kant oppe, eldlyset fangar botnen av sporet */
  -webkit-text-fill-color: currentColor;
  background: none;
  text-shadow: 0 -.08cqw 0 rgba(0, 0, 0, .92), 0 .07cqw 0 rgba(255, 186, 120, .26), 0 0 .9cqw rgba(0, 0, 0, .85);
}
.lh-lina {
  display: flex; align-items: center; justify-content: center; gap: .7cqw;
  margin: .35cqw 0 0;
  white-space: nowrap;
  text-shadow: 0 0 .5cqw rgba(0, 0, 0, .95), 0 .08cqw .15cqw #000;
  font: italic max(12px, .9cqw)/1.2 Georgia, serif;
  color: #b9a68a;
}

/* ── Kontoen (øvst til venstre) ── */
.lh-konto {
  position: absolute;
  left: 1.3%; top: 1.6%; width: 19%;
  display: flex; flex-direction: column; gap: .3cqw;
  align-items: flex-start; text-align: left;
  font: max(12px, .78cqw)/1.35 Georgia, serif;
  color: #c4b296;
  text-shadow: 0 0 .4cqw #000;
  z-index: 2;
}
#meny.langhus .lh-namn { display: flex; align-items: center; gap: .5cqw; margin: 0; }
#meny.langhus .lh-namn label { font: 700 .7cqw 'Cinzel', serif; letter-spacing: .16em; text-transform: uppercase; color: #a8957a; }
#meny.langhus .lh-namn input {
  width: 9cqw; padding: .25cqw .5cqw;
  font: 600 .9cqw 'Cinzel', serif; letter-spacing: .06em;
  color: var(--lh-bein); background: rgba(10, 7, 5, .6);
  border: 1px solid rgba(201, 168, 106, .3); border-radius: .25cqw;
  box-shadow: inset 0 .1cqw .3cqw rgba(0, 0, 0, .6);
}
#meny.langhus .lh-namn input:focus { border-color: var(--lh-messing); box-shadow: inset 0 .1cqw .3cqw rgba(0, 0, 0, .6), 0 0 0 .15cqw rgba(201, 168, 106, .2); }
#meny.langhus .lh-kontorad { margin: 0; color: #a6967e; justify-content: flex-start; text-align: left; }
#meny.langhus .lh-tekstknapp {
  padding: 0; margin: 0 .4cqw 0 0;
  font: italic max(12px, .8cqw) Georgia, serif; color: #e2c48c;
  background: none; border: none; text-decoration: underline; text-underline-offset: .2em;
}
#meny.langhus .lh-tekstknapp:hover { color: #ffd99a; transform: none; background: none; }

/* ── Vardane (øvst til høgre) ── */
#meny.langhus .lh-varde {
  position: absolute;
  right: 1.3%; top: 1.6%;
  display: flex; align-items: center; gap: .5cqw;
  max-width: 20%;
  padding: .55cqw 1.5cqw .55cqw 1.1cqw;
  font: 700 .78cqw 'Cinzel', serif; letter-spacing: .08em; text-transform: uppercase;
  color: #f1d3a4;
  text-shadow: 0 .08cqw .2cqw #000;
  background: none; border: none; border-radius: 0; box-shadow: none;
  isolation: isolate;
  z-index: 2;
}
#meny.langhus .lh-varde::before {
  content: "";
  position: absolute; inset: 0; z-index: -1;
  background: url('/bilete/meny/planke.webp') center / 100% 100% no-repeat;
  filter: brightness(.42) saturate(.72) drop-shadow(0 .3cqw .5cqw rgba(0, 0, 0, .6));
}
#meny.langhus .lh-varde:hover { transform: translateY(-.1cqw); background: none; }
#meny.langhus .lh-varde:hover::before { filter: brightness(.66) saturate(.9) drop-shadow(0 .3cqw .5cqw rgba(0, 0, 0, .6)); }
#meny.langhus .lh-varde-ikon { flex: none; height: 2.3cqw; width: auto; margin: -.5cqw 0 -.3cqw; filter: drop-shadow(0 .15cqw .2cqw rgba(0, 0, 0, .8)); }
#meny.langhus .lh-varde b { color: #ffd166; }
#meny.langhus .lh-varde #vardeBonus { font: italic 400 max(11px, .7cqw) Georgia, serif; letter-spacing: 0; text-transform: none; color: #d8b98c; }

/* ── Banna ── */
.lh-banner {
  position: absolute;
  top: 10.4%;
  width: 19.5%;
  transform-origin: 50% 0;
  animation: lh-svai 8s ease-in-out infinite alternate;
  z-index: 1;
}
.lh-b-rifts { left: 15.65%; }
.lh-b-dagens { left: 33.85%; animation-duration: 9.2s; animation-delay: -2.5s; }
.lh-b-kart { left: 50.75%; animation-duration: 7.6s; animation-delay: -4.2s; }
.lh-b-lag { left: 67.95%; animation-duration: 8.6s; animation-delay: -1.3s; }
@keyframes lh-svai { from { rotate: -.45deg; } to { rotate: .45deg; } }
.lh-banner { transition: translate .35s cubic-bezier(.2, .8, .2, 1); }
.lh-banner:hover, .lh-banner:focus-within { translate: 0 -.7cqw; animation-play-state: paused; }   /* stilt under musa: kontrollane står i ro */
.lh-banner.heist { translate: 0 -1.4cqw; scale: 1.06; z-index: 2; }
.lh-banner.heist:hover, .lh-banner.heist:focus-within { translate: 0 -1.9cqw; }
.lh-banner.heist::before {               /* frostlyset rundt det heiste banneret */
  content: "";
  position: absolute;
  inset: 4% -14% 2%;
  background: radial-gradient(closest-side, rgba(110, 190, 255, .34), rgba(110, 190, 255, .1) 60%, transparent);
  animation: lh-puls 3.6s ease-in-out infinite alternate;
  pointer-events: none;
  z-index: -1;
}
@keyframes lh-puls { from { opacity: .65; } to { opacity: 1; } }
.lh-duk { display: block; width: 100%; height: auto; pointer-events: none; user-select: none; -webkit-user-drag: none; transition: filter .3s; }
.lh-banner:not(.heist) .lh-duk { filter: brightness(.66) saturate(.85); }
.lh-banner.lh-b-kart:not(.heist) .lh-duk { filter: brightness(.52) saturate(.78); }
.lh-banner:not(.heist):hover .lh-duk, .lh-banner:not(.heist):focus-within .lh-duk { filter: brightness(.82) saturate(.9); }
.lh-b-rifts, .lh-b-dagens, .lh-b-kart { cursor: pointer; }
.lh-innhald {
  position: absolute;
  left: 14%; right: 14%; top: 52%; bottom: 11%;
  display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
  gap: .4cqw;
  text-align: center;
}
.lh-tittel {
  display: flex; flex-direction: column; align-items: center; gap: .35cqw;
  margin: 0 0 .2cqw;
  font: 700 2cqw/1.05 'Cinzel', Georgia, serif;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #ddd2bd;
  text-shadow: 0 .14cqw .3cqw rgba(0, 0, 0, .9);
  text-wrap: balance;
}
.lh-b-dagens .lh-tittel { font-size: 1.6cqw; }
.lh-tittel::after { width: 8.5cqw; height: .6cqw; }
.lh-b-rifts .lh-innhald { top: 48.5%; gap: .32cqw; }
.lh-b-rifts .lh-tittel { color: #eaf6ff; text-shadow: 0 .14cqw .3cqw rgba(0, 0, 0, .9), 0 0 1.1cqw rgba(140, 205, 255, .7); }
.lh-skjul { display: none !important; }

#meny.langhus .lh-banner button { font-family: Georgia, serif; text-transform: none; letter-spacing: 0; }
#meny.langhus .lh-banner button:hover { transform: none; }
#meny.langhus .lh-spel {
  padding: .25cqw .8cqw;
  font: 700 1.6cqw/1.05 Georgia, serif; letter-spacing: .02em;   /* blanda skrift som i skissa */
  color: #f4fbff;
  background: none; border: none; border-radius: 0; box-shadow: none;
  text-shadow: 0 .1cqw .2cqw rgba(0, 0, 0, .9), 0 0 .9cqw rgba(159, 216, 255, .95), 0 0 2cqw rgba(110, 190, 255, .55);
  transition: scale .2s cubic-bezier(.2, .8, .2, 1), text-shadow .2s;
}
#meny.langhus .lh-spel:hover, .lh-b-rifts:hover #knappAleine {
  scale: 1.05; background: none;
  text-shadow: 0 .1cqw .2cqw rgba(0, 0, 0, .9), 0 0 1.1cqw #cfeaff, 0 0 2.6cqw rgba(140, 205, 255, .8);
}
#meny.langhus .lh-lite {
  padding: .1cqw .5cqw;
  font: 400 max(12px, 1.05cqw)/1.25 Georgia, serif;
  color: #d5e6f4;
  text-shadow: 0 .08cqw .2cqw #000;
  background: none; border: none;
}
#meny.langhus .lh-lite:hover { color: #fff; text-decoration: underline; text-underline-offset: .2em; background: none; }
#meny.langhus .lh-lenke {
  padding: 0;
  font: italic max(12px, .8cqw) Georgia, serif;
  color: rgba(213, 230, 244, .8);
  background: none; border: none;
  text-decoration: underline; text-underline-offset: .2em;
}
#meny.langhus .lh-lenke:hover, #meny.langhus .lh-lenke[aria-expanded="true"] { color: #fff; background: none; }
#meny.langhus .lh-dag {
  display: flex; flex-direction: column; align-items: center; gap: .15cqw;
  padding: .25cqw .5cqw;
  background: none; border: none;
  color: var(--lh-bein);
}
#meny.langhus .lh-dag .lh-hovud { text-wrap: balance; font: 700 max(13px, 1.15cqw)/1.15 Georgia, serif; letter-spacing: .01em; text-shadow: 0 .08cqw .2cqw #000, 0 0 .5cqw rgba(0, 0, 0, .8); }
#meny.langhus .lh-dag .lh-under { font: italic max(12px, .8cqw)/1.2 Georgia, serif; color: #cdbfa6; }
#meny.langhus .lh-dag:hover .lh-hovud, .lh-b-dagens:hover .lh-dag .lh-hovud, .lh-b-kart:hover .lh-dag .lh-hovud { text-decoration: underline; text-underline-offset: .18em; }
#meny.langhus .lh-dag:disabled { opacity: .6; }
#meny.langhus .lh-smaa { margin: 0; font: max(12px, .8cqw)/1.3 Georgia, serif; color: #ddd0b8; text-shadow: 0 .08cqw .2cqw #000, 0 0 .5cqw rgba(0, 0, 0, .8); }
#meny.langhus .lh-smaa b { color: #f0dfbf; font-weight: 700; }
#meny.langhus .lh-kode { display: flex; gap: .3cqw; align-items: stretch; }
#meny.langhus .lh-kode input {
  width: 6.4cqw; padding: .3cqw .4cqw .2cqw;
  font: 700 .95cqw 'Cinzel', serif; letter-spacing: .22em; text-align: center; text-transform: uppercase;
  color: #f1f6e6; background: rgba(4, 10, 4, .32);
  border: none; border-bottom: 1px solid rgba(214, 226, 190, .5); border-radius: 0;
  box-shadow: inset 0 .15cqw .4cqw rgba(0, 0, 0, .45);
}
#meny.langhus .lh-kode input::placeholder { color: rgba(214, 226, 190, .45); }
#meny.langhus .lh-kode button {
  padding: .3cqw .4cqw;
  font: 700 .95cqw 'Cinzel', serif; letter-spacing: .08em;
  color: #eaf3dc; background: none; border: none; border-radius: 0;
  text-shadow: 0 .08cqw .2cqw #000, 0 0 .6cqw rgba(190, 230, 150, .45);
}
#meny.langhus .lh-kode button:hover { background: none; color: #fff; text-decoration: underline; text-underline-offset: .2em; }

/* djupnevelaren (main.js byggDybdeVal) */
#meny.langhus .lh-djupn {
  display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
  --g: .3cqw;
  gap: .25cqw var(--g); width: 100%;
  font: 400 max(12px, .95cqw) Georgia, serif; letter-spacing: .02em; color: #cfe3f5;
  text-shadow: 0 .08cqw .2cqw #000;
}
#meny.langhus .lh-djupn > span { order: 1; flex: 0 0 calc(50% - var(--g) / 2); text-align: right; }
#meny.langhus .lh-djupn > b { order: 2; flex: 0 0 calc(50% - var(--g) / 2); text-align: left; }
#meny.langhus .lh-djupn > #dybdeNed { order: 3; }
#meny.langhus .lh-djupn > input { order: 4; }
#meny.langhus .lh-djupn > #dybdeOpp { order: 5; }
#meny.langhus .lh-djupn > .lh-maks { order: 6; }
#meny.langhus .lh-djupn #dybdeNed, #meny.langhus .lh-djupn #dybdeOpp {
  width: 1.5cqw; height: 1.5cqw; padding: 0;
  font-size: 0; color: transparent;
  background: center / 62% no-repeat; border: none; border-radius: 0;
  filter: drop-shadow(0 .08cqw .08cqw rgba(0, 0, 0, .9));
}
#meny.langhus .lh-djupn #dybdeNed { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 18'%3E%3Cpath d='M9.5 1.5 2.5 9l7 7.5' fill='none' stroke='%23d8ecfb' stroke-width='2.6' stroke-linejoin='miter'/%3E%3C/svg%3E"); }
#meny.langhus .lh-djupn #dybdeOpp { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 18'%3E%3Cpath d='M2.5 1.5 9.5 9l-7 7.5' fill='none' stroke='%23d8ecfb' stroke-width='2.6' stroke-linejoin='miter'/%3E%3C/svg%3E"); }
#meny.langhus .lh-djupn #dybdeNed:hover, #meny.langhus .lh-djupn #dybdeOpp:hover { background-color: transparent; filter: drop-shadow(0 0 .35cqw rgba(159, 216, 255, .95)); }
#meny.langhus .lh-djupn input[type="range"] {
  --spor: .16cqw; --tomme: .9cqw;
  -webkit-appearance: none; appearance: none;
  width: 5.4cqw; height: 1.5cqw; margin: 0; padding: 0;
  background: none; border: none; cursor: pointer;
}
#meny.langhus .lh-djupn input[type="range"]::-webkit-slider-runnable-track {
  height: var(--spor);
  background: linear-gradient(90deg, rgba(159, 216, 255, .15), rgba(214, 236, 252, .6) 50%, rgba(159, 216, 255, .15));
  box-shadow: 0 .07cqw 0 rgba(0, 0, 0, .8);
}
#meny.langhus .lh-djupn input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: var(--tomme); height: var(--tomme);
  margin-top: calc((var(--spor) - var(--tomme)) / 2);
  background: linear-gradient(135deg, #ffffff, #a8dcff);
  border: none; border-radius: 0; rotate: 45deg;
  box-shadow: 0 0 .5cqw rgba(159, 216, 255, .95);
}
#meny.langhus .lh-djupn input[type="range"]::-moz-range-track {
  height: var(--spor);
  background: linear-gradient(90deg, rgba(159, 216, 255, .15), rgba(214, 236, 252, .6) 50%, rgba(159, 216, 255, .15));
}
#meny.langhus .lh-djupn input[type="range"]::-moz-range-thumb {
  width: var(--tomme); height: var(--tomme);
  background: linear-gradient(135deg, #ffffff, #a8dcff);
  border: none; border-radius: 0; rotate: 45deg;
  box-shadow: 0 0 .5cqw rgba(159, 216, 255, .95);
}
#meny.langhus .lh-djupn b { font-size: max(13px, 1.15cqw); line-height: 1; color: #fff; }
#meny.langhus .lh-djupn .lh-maks {
  width: auto; height: auto; padding: 0 0 0 .2cqw;
  font: italic max(12px, .88cqw) Georgia, serif; letter-spacing: 0; text-transform: lowercase;
  color: #ffd99a; background: none; border: none; border-radius: 0;
  text-decoration: underline; text-underline-offset: .2em;
}
#meny.langhus .lh-djupn .lh-maks:hover { color: #fff; background: none; }

/* odds-panelet (opnast frå Rifts-banneret) */
#meny.langhus .lh-odds {
  position: absolute;
  left: 34.6%; top: 13%; width: 32.5%;
  max-height: 54%; overflow-y: auto;
  padding: .9cqw 1cqw;
  background: linear-gradient(180deg, #19120e, #0f0b09);
  border: 1px solid rgba(201, 168, 106, .4); border-radius: .45cqw;
  box-shadow: 0 1.2cqw 3cqw rgba(0, 0, 0, .65);
  z-index: 6;
}
#meny.langhus .lh-odds[hidden], #meny.langhus .lh-meir[hidden] { display: none; }
#meny.langhus, #meny.langhus .lh-odds { scrollbar-width: thin; scrollbar-color: rgba(201, 168, 106, .45) transparent; }
#meny.langhus::-webkit-scrollbar, #meny.langhus .lh-odds::-webkit-scrollbar { width: 8px; }
#meny.langhus::-webkit-scrollbar-thumb, #meny.langhus .lh-odds::-webkit-scrollbar-thumb { background: rgba(201, 168, 106, .4); border-radius: 4px; }
#meny.langhus::-webkit-scrollbar-track, #meny.langhus .lh-odds::-webkit-scrollbar-track { background: transparent; }
#meny.langhus .lh-odds #dybdebonus { margin: 0; }

/* ── Helten ved gruva ── */
.lh-helt { position: absolute; left: 27%; width: 17%; top: 56.5%; z-index: 3; }
#meny.langhus #heltboks { position: static; }
#meny.langhus .valthelt { display: flex; flex-direction: column; align-items: center; gap: .3cqw; margin: 0; padding: 0; background: none; border: none; }
#meny.langhus .lh-heltbilde {
  display: block; height: 17cqw; width: auto;
  filter: drop-shadow(0 .5cqw .6cqw rgba(0, 0, 0, .7));
  pointer-events: none;
}
#meny.langhus .lh-heltfot {             /* skuggen på golvet */
  width: 9.5cqw; height: 1.3cqw; margin-top: -1.3cqw;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(0, 0, 0, .65), transparent);
}
#meny.langhus .lh-heltnamn {
  padding: .1cqw .6cqw;
  font: 700 1.5cqw/1.1 'Cinzel', serif; letter-spacing: .16em; text-transform: uppercase;
  color: #ecdcbc;
  background: none; border: none; box-shadow: none;
  text-shadow: 0 -.06cqw 0 rgba(0, 0, 0, .95), 0 0 .7cqw rgba(0, 0, 0, .95), 0 0 1.8cqw color-mix(in srgb, var(--hf, #9fd8ff) 55%, transparent);
}
#meny.langhus .lh-heltbonus { max-width: 15cqw; font: italic max(12px, .78cqw)/1.3 Georgia, serif; color: #cdbd9f; text-align: center; text-shadow: 0 .1cqw .25cqw #000; }
#meny.langhus .lh-heltknappar { display: flex; flex-direction: column; gap: .3cqw; min-width: 9.5cqw; }
#meny.langhus .lh-heltknappar button {
  position: relative; isolation: isolate;
  height: max(26px, 2.35cqw); padding: 0 1.2cqw;
  white-space: nowrap;
  font: 600 max(12px, .92cqw) Georgia, serif; color: #eadcc2;
  text-shadow: 0 .1cqw .2cqw #000;
  background: none; border: none; border-radius: 0; box-shadow: none;
}
#meny.langhus .lh-heltknappar button::before, #meny.langhus .lh-planke::before {
  content: "";
  position: absolute; inset: 0; z-index: -1;
  background: url('/bilete/meny/planke.webp') center / 100% 100% no-repeat;
  filter: brightness(.42) saturate(.72);
  transition: filter .2s;
}
#meny.langhus .lh-heltknappar button:hover { color: #fff; transform: translateY(-.08cqw); background: none; }
#meny.langhus .lh-heltknappar button:hover::before, #meny.langhus .lh-planke:hover::before { filter: brightness(.6) saturate(.8); }

/* ── Plankane (nede til venstre) ── */
.lh-planker, .lh-meir {
  position: absolute;
  bottom: 2.2%; width: 17.5%;
  display: flex; flex-direction: column; gap: .3cqw;
  z-index: 2;
}
.lh-planker { left: .7%; }
.lh-meir { left: 18.8%; z-index: 6; }
#meny.langhus .lh-planke {
  display: flex; align-items: center; gap: .65cqw;
  position: relative; isolation: isolate;
  height: 3.05cqw;
  padding: 0 1.5cqw 0 1.1cqw;
  font: 600 max(12px, 1.08cqw)/1 Georgia, serif; letter-spacing: .01em; text-align: left;
  color: #ecdec4;
  text-shadow: 0 .1cqw .2cqw rgba(0, 0, 0, .95);
  background: none;
  border: none; border-radius: 0;
  transition: translate .2s cubic-bezier(.2, .8, .2, 1);
}
#meny.langhus .lh-planke:nth-child(odd) { rotate: -.35deg; }
#meny.langhus .lh-planke:nth-child(even) { rotate: .3deg; }
#meny.langhus .lh-planke:hover { translate: .45cqw 0; transform: none; background: none; color: #fff; }
#meny.langhus .lh-planke img { flex: none; height: 2.1cqw; width: 2.4cqw; object-fit: contain; filter: drop-shadow(0 .1cqw .1cqw rgba(0, 0, 0, .7)); }
#meny.langhus .lh-planke b, #meny.langhus .lh-ting b {
  margin-left: auto;
  padding: .05cqw .45cqw;
  font: 700 max(11px, .76cqw)/1.35 Georgia, serif; color: #ffdca0;
  background: rgba(18, 11, 7, .82);
  border: 1px solid rgba(255, 179, 92, .5); border-radius: .8cqw;
  box-shadow: 0 .08cqw .2cqw rgba(0, 0, 0, .6);
}
#meny.langhus .lh-planke b.skjult, #meny.langhus .lh-ting b.skjult { display: none; }
#meny.langhus .lh-utanikon { padding-left: calc(1.1cqw + 2.4cqw + .65cqw); }
#meny.langhus .lh-meirknapp { font-style: italic; color: #d2c2a6; padding-left: calc(1.1cqw + 2.4cqw + .65cqw); }
#meny.langhus .lh-meirknapp[aria-expanded="true"] { color: #fff; }
#meny.langhus .lh-fare { color: #ffb3a1; }

/* ── Bordet til høgre: post, vaktrull, midnattskista ── */
.lh-bord {
  position: absolute;
  left: 76.5%; top: 70.8%; width: 18%;
  display: flex; justify-content: center; align-items: flex-end; gap: 1cqw;
  z-index: 2;
}
#meny.langhus .lh-ting {
  position: relative;
  display: flex; flex-direction: column; align-items: center; gap: .25cqw;
  padding: .2cqw .3cqw;
  background: none; border: none;
}
#meny.langhus .lh-ting:hover { transform: translateY(-.2cqw); background: none; }
#meny.langhus .lh-ting img { height: 3.1cqw; width: auto; filter: drop-shadow(0 .25cqw .25cqw rgba(0, 0, 0, .75)); }
#meny.langhus .lh-ting-t { font: italic max(12px, .76cqw)/1.1 Georgia, serif; color: #e2d2b6; text-shadow: 0 .1cqw .2cqw #000, 0 0 .5cqw #000; white-space: nowrap; }
#meny.langhus .lh-ting b {
  position: absolute; top: -.3cqw; right: -.15cqw; margin: 0;
  min-width: 1.25cqw; padding: 0 .3cqw;
  color: #fbe9cc; border: none;
  background: radial-gradient(circle at 38% 32%, #b8412a, #7a1a10 70%, #5b120b);
  box-shadow: 0 .08cqw .2cqw rgba(0, 0, 0, .7), inset 0 -.08cqw .12cqw rgba(0, 0, 0, .35);
}
#meny.langhus #dagBadge { font-size: 0; min-width: 0; width: .8cqw; height: .8cqw; padding: 0; top: .1cqw; right: .2cqw; border-radius: 50%; animation: lh-flakk 2.4s steps(5, end) infinite; }
#meny.langhus #postBrev { position: relative; inset: auto; font-size: inherit; padding: .2cqw .3cqw; animation: none; }
#meny.langhus #postBrev.skjult { display: none; }
#meny.langhus #postliste { position: absolute; top: 47%; right: 7%; left: auto; width: 24%; z-index: 6; margin: 0; }

/* ── Småting ── */
#meny.langhus #menyfeil { position: absolute; left: 36%; width: 32%; top: 66%; margin: 0; text-align: center; font: .9cqw Georgia, serif; color: #ff9b8a; z-index: 2; }
#meny.langhus #rekord { position: absolute; left: 40%; width: 24%; bottom: .6%; margin: 0; font: max(11px, .7cqw) Georgia, serif; color: rgba(214, 201, 178, .62); text-align: center; z-index: 2; }
#meny.langhus #runeinfo { position: absolute; left: 17.5%; top: 63%; width: 16%; margin: 0; font: .7cqw Georgia, serif; z-index: 2; }
#meny.langhus button:focus-visible, #meny.langhus input:focus-visible {
  outline: .14cqw solid var(--lh-frost);
  outline-offset: .14cqw;
}
#meny.langhus .lh-planke:focus-visible { outline-color: var(--lh-glod); }

@media (prefers-reduced-motion: reduce) {
  .lh-banner, .lh-varme, .lh-gneistar i, .lh-banner.heist::before { animation: none; }
  .lh-gneistar { display: none; }
}

/* ── Smalt eller ståande (mobil): same hall, éi loddrett rekkje ── */
@media (max-width: 760px), (max-aspect-ratio: 10/11) {
  #meny.langhus { display: block; overflow-y: auto; -webkit-overflow-scrolling: touch; }
  #meny.langhus::before {
    position: fixed;
    background-position: 55% 78%;
    filter: brightness(.5);
    inset: 0;
  }
  .lh-stage {
    width: 100%;
    aspect-ratio: auto;
    container-type: inline-size;
    background: none;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3cqw 2.5cqw;
    padding: 4cqw 4cqw 10cqw;
    align-items: start;
  }
  .lh-stage::after, .lh-varme, .lh-gneistar, .lh-hall { display: none; }
  .lh-stage > * { position: static !important; width: auto !important; max-width: none; }
  .lh-stage > .lh-banner { position: relative !important; inset: auto !important; scale: none; }
  .lh-konto { grid-column: 1 / -1; order: 1; font-size: 3.2cqw; }
  #meny.langhus .lh-namn label { font-size: 2.6cqw; }
  #meny.langhus .lh-namn input { width: 36cqw; font-size: 3.6cqw; padding: 1cqw 2cqw; }
  #meny.langhus .lh-tekstknapp { font-size: 3.2cqw; }
  .lh-bjelke {
    grid-column: 1 / -1; order: 2;
    padding: 2.6cqw 12cqw;
    background: url('/bilete/meny/planke.webp') center / 100% 100% no-repeat;
  }
  .lh-bjelke::before { display: none; }
  .lh-logo { font-size: 7.2cqw; letter-spacing: .14em; }
  .lh-lina::before, .lh-lina::after { width: 7cqw; height: 1.2cqw; }
  .lh-tittel::after { width: 22cqw; height: 1.6cqw; }
  .lh-b-dagens .lh-tittel::after, .lh-b-kart .lh-tittel::after, .lh-b-lag .lh-tittel::after { width: 16cqw; height: 1.2cqw; }
  .lh-lina { font-size: 3cqw; margin-top: 1cqw; white-space: normal; }
  .lh-banner { order: 3; animation: none; translate: none !important; }
  .lh-b-rifts { grid-column: 1 / -1; justify-self: center; width: 72% !important; }
  .lh-b-rifts .lh-innhald { top: 47%; gap: 1cqw; }
  .lh-b-dagens .lh-innhald, .lh-b-kart .lh-innhald, .lh-b-lag .lh-innhald { top: 50%; gap: .8cqw; left: 10%; right: 10%; }
  .lh-b-dagens, .lh-b-kart, .lh-b-lag { order: 4; }
  .lh-tittel { font-size: 6.4cqw; }
  .lh-b-dagens .lh-tittel, .lh-b-kart .lh-tittel, .lh-b-lag .lh-tittel { font-size: 3.6cqw; }
  .lh-innhald { gap: 1.2cqw; top: 48%; left: 11%; right: 11%; }
  #meny.langhus .lh-spel { font-size: 5.6cqw; padding: 1.4cqw 4cqw; }
  #meny.langhus .lh-lite { font-size: 3.6cqw; }
  #meny.langhus .lh-lenke { font-size: 3cqw; }
  #meny.langhus .lh-dag .lh-hovud { font-size: 3.4cqw; }
  #meny.langhus .lh-dag .lh-under, #meny.langhus .lh-b-dagens .lh-smaa, #meny.langhus .lh-b-kart .lh-smaa { display: none; }
  #meny.langhus .lh-b-lag .lh-lite { font-size: 2.8cqw; padding: .7cqw 2cqw; }
  #meny.langhus .lh-kode { gap: .8cqw; }
  #meny.langhus .lh-kode input { width: 12cqw; font-size: 2.6cqw; letter-spacing: .12em; padding: 1.2cqw .6cqw; }
  #meny.langhus .lh-kode button { font-size: 2.6cqw; padding: 1.2cqw 1cqw; }
  #meny.langhus .lh-djupn { font-size: 3cqw; --g: 1.6cqw; gap: .8cqw var(--g); }
  #meny.langhus .lh-djupn #dybdeNed, #meny.langhus .lh-djupn #dybdeOpp { width: 8cqw; height: 8cqw; }
  #meny.langhus .lh-djupn input[type="range"] { width: 22cqw; height: 8cqw; --spor: .6cqw; --tomme: 3.4cqw; }
  #meny.langhus .lh-djupn b { font-size: 4.4cqw; }
  #meny.langhus .lh-djupn .lh-maks { font-size: 3.4cqw; padding: 1.6cqw 1cqw; }
  #meny.langhus .lh-odds { grid-column: 1 / -1; order: 5; max-height: none; padding: 3cqw; }
  .lh-helt { grid-column: 1 / -1; order: 6; }
  #meny.langhus .lh-heltbilde { height: 40cqw; }
  #meny.langhus .lh-heltfot { width: 26cqw; height: 4cqw; margin-top: -4cqw; }
  #meny.langhus .lh-heltnamn { font-size: 5.6cqw; padding: 1cqw 4cqw; }
  #meny.langhus .lh-heltbonus { max-width: 70cqw; font-size: 3.2cqw; }
  #meny.langhus .lh-heltknappar { flex-direction: row; width: auto; gap: 2cqw; }
  #meny.langhus .lh-heltknappar button { font-size: 3.8cqw; height: 10cqw; padding: 0 5cqw; }
  .lh-bord { grid-column: 1 / -1; order: 7; gap: 6cqw; }
  #meny.langhus .lh-ting img { height: 11cqw; }
  #meny.langhus .lh-ting-t { font-size: 3cqw; }
  #meny.langhus .lh-ting b, #meny.langhus .lh-planke b { font-size: 2.8cqw; }
  .lh-planker, .lh-meir { grid-column: 1 / -1; gap: 1.4cqw; }
  .lh-planker { order: 8; }
  .lh-meir { order: 9; }
  #meny.langhus .lh-planke { height: 12.5cqw; font-size: 4.2cqw; gap: 3cqw; padding: 0 6cqw 0 5cqw; }
  #meny.langhus .lh-planke img { height: 8.4cqw; width: 9.6cqw; }
  #meny.langhus .lh-meirknapp, #meny.langhus .lh-utanikon { padding-left: calc(5cqw + 9.6cqw + 3cqw); }
  #meny.langhus #byggmerke { order: 12; grid-column: 1 / -1; position: static; text-align: center; }
  #meny.langhus .lh-varde { grid-column: 1 / -1; order: 10; justify-self: center; max-width: none; font-size: 3cqw; gap: 2cqw; padding: 2.4cqw 6cqw 2.4cqw 4cqw; position: relative !important; }
  #meny.langhus .lh-varde-ikon { height: 9cqw; margin: -2cqw 0 -1.2cqw; }
  #meny.langhus .lh-varde #vardeBonus { font-size: 2.8cqw; }
  #meny.langhus #postliste { grid-column: 1 / -1; order: 7; width: auto; }
  #meny.langhus #menyfeil, #meny.langhus #rekord, #meny.langhus #runeinfo { grid-column: 1 / -1; order: 11; font-size: 3.2cqw; }
}

/* ── MENYGJENNOMGANGEN 31.10.2026 ─────────────────────────────────────────
   KM: «presset over bannere, tallene i menyene er litt dårlig … menyen er rotete … det er ikke de
   tingene eg vil klikke på som ligger lettest tilgjengelig» + «flytte the saga, og the ledger og
   kanskje også options». Stonga ber dei fire spelmåtane (Maps låg gøymd bak The First Watch på PC),
   Party er ein list på veggen, gull/embers/nøklar står i lommeboka, The Watch ligg på bordet, og
   plankane er det som blir brukt mest — resten står gruppert under «More of the watch». */

/* Maps i fjerde spor (der Party hang), The First Watch i kald natt-tone så dei to dukane ikkje er like */
.lh-b-maps { left: 67.95%; animation-duration: 8.6s; animation-delay: -1.3s; }
#bannerFirstWatch .lh-duk { filter: brightness(.6) saturate(.7) hue-rotate(178deg); }
#bannerFirstWatch:hover .lh-duk, #bannerFirstWatch:focus-within .lh-duk { filter: brightness(.86) saturate(.8) hue-rotate(178deg); }
@media (min-width: 761px) and (min-aspect-ratio: 10/11) { .lh-b-kart .lh-tittel { font-size: 1.75cqw; } }

/* Today's Rift: to korte liner under helten, ikkje seks */
#meny.langhus .lh-b-dagens .lh-smaa { line-height: 1.35; }

/* Kontoen held seg til venstre for Rifts-stonga (Watch Level-boksen låg over stonga og kutta teksten) */
.lh-konto { width: 14.2%; }
#meny.langhus .vaktniva { max-width: none; margin: .2cqw 0 0; padding: .45cqw .7cqw .5cqw; gap: .3cqw .6cqw; border-radius: .45cqw; }
#meny.langhus .vaktniva .vn-merke { font: 700 max(11px, .74cqw)/1 'Cinzel', Georgia, serif; letter-spacing: .12em; }
#meny.langhus .vaktniva .vn-bar { min-width: 3cqw; height: max(5px, .36cqw); }
#meny.langhus .vaktniva .vn-tekst { font: italic max(11px, .72cqw)/1.3 Georgia, serif; color: #cdbfa6; }

/* Lommeboka */
#meny.langhus .lh-lomme {
  display: flex; flex-wrap: wrap; gap: .2cqw .75cqw; margin-top: .2cqw;
  font: 700 max(12px, .86cqw)/1.25 Georgia, serif; color: #e6d6b8;
}
#meny.langhus .lh-lomme span { white-space: nowrap; }
#meny.langhus .lh-lomme i { font-style: normal; font-weight: 400; color: #cdbfa6; }
#meny.langhus .lh-lomme-gull b { color: #ffd166; }
#meny.langhus .lh-lomme-glod b { color: #ffb35c; }
#meny.langhus .lh-lomme-nokkel b { color: #e8c86a; }

/* Party: ein list på veggen over bordet */
#meny.langhus .lh-lagliste {
  position: absolute; left: 76.4%; top: 55.5%; width: 19.6%;
  display: flex; flex-direction: column; gap: .4cqw;
  padding: .7cqw 1cqw .8cqw;
  isolation: isolate; z-index: 2;
}
#meny.langhus .lh-lagliste::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: url('/bilete/meny/planke.webp') center / 100% 100% no-repeat;
  filter: brightness(.38) saturate(.7) drop-shadow(0 .3cqw .5cqw rgba(0, 0, 0, .6));
}
#meny.langhus .lh-lagtittel { margin: 0; font: 700 max(11px, .8cqw)/1 'Cinzel', Georgia, serif; letter-spacing: .14em; text-transform: uppercase; color: #cfe0b8; }
#meny.langhus .lh-lagknappar { display: flex; gap: .9cqw; flex-wrap: wrap; }
#meny.langhus .lh-lagliste .lh-kode input { width: 6cqw; }
#meny.langhus .lh-lagliste button { font-family: Georgia, serif; text-transform: none; letter-spacing: 0; }
#meny.langhus .lh-lagliste .lh-kode button { font-family: 'Cinzel', serif; letter-spacing: .08em; }
#meny.langhus .lh-lagliste .lh-lite { padding: 0; font-size: max(12px, .95cqw); }
#meny.langhus .lh-lagliste .lh-lite b { margin-left: .3cqw; padding: 0 .35cqw; font-size: max(11px, .7cqw); color: #ffdca0; background: rgba(18, 11, 7, .82); border: 1px solid rgba(255, 179, 92, .5); border-radius: .8cqw; }
#meny.langhus .lh-lagliste .lh-lite b.skjult { display: none; }

/* Bordet: fire ting med The Watch */
.lh-bord { left: 74.5%; width: 22.5%; gap: .6cqw; }
#meny.langhus #vaktmerke b { background: radial-gradient(circle at 38% 32%, #c99a2e, #7a5a10 70%, #4b3608); }
#meny.langhus #vaktmerke.full b { background: radial-gradient(circle at 38% 32%, #b8412a, #7a1a10 70%, #5b120b); }

/* Plankane: tal på éi line, og «More» med merke for nye sider i The Ledger */
#meny.langhus .lh-planke b, #meny.langhus .lh-ting b { white-space: nowrap; }
#meny.langhus #knappMarknad, #meny.langhus #knappMeir { white-space: nowrap; }

/* «More of the watch» i grupper */
.lh-meir { width: 34%; }
#meny.langhus .lh-meir:not([hidden]) {
  display: grid; grid-template-columns: 1fr 1fr; gap: .3cqw .8cqw;
  padding: 1cqw 1.1cqw 1.1cqw;
  background: linear-gradient(180deg, #19120e, #0f0b09);
  border: 1px solid rgba(201, 168, 106, .4); border-radius: .45cqw;
  box-shadow: 0 1.2cqw 3cqw rgba(0, 0, 0, .65);
}
#meny.langhus .lh-meirgruppe {
  grid-column: 1 / -1; margin: .5cqw 0 .05cqw;
  font: 700 max(11px, .7cqw)/1 'Cinzel', Georgia, serif; letter-spacing: .16em; text-transform: uppercase; color: #a8957a;
}
#meny.langhus .lh-meirgruppe:first-child { margin-top: 0; }
/* Ei gruppe utan synlege val (gjest: ingen Watchhold; Rebirth før rift 15) skal ikkje stå som ein tom overskrift */
#meny.langhus .lh-meirgruppe:has(+ #knappBorg[style*="none"] + #knappMenyTaarn[style*="none"]),
#meny.langhus .lh-meirgruppe:has(+ #knappGjenfodsel[style*="none"]) { display: none; }
#meny.langhus .lh-meir .lh-planke { height: 2.7cqw; rotate: none; padding: 0 1.1cqw; font-size: max(12px, 1cqw); }

/* Målet nedst: til høgre for helteknappane, ikkje inn i Mastery */
@media (min-width: 761px) and (min-aspect-ratio: 10/11) {
  #meny.langhus #rekord { left: 44.5%; width: 36%; bottom: .9%; font-size: max(11px, .74cqw); color: rgba(214, 201, 178, .72); }
}

/* Mobil */
@media (max-width: 760px), (max-aspect-ratio: 10/11) {
  .lh-stage > .lh-lagliste { position: relative !important; inset: auto !important; grid-column: 1 / -1; order: 5; padding: 3cqw 4cqw 3.4cqw; gap: 2cqw; }
  #meny.langhus .lh-lagtittel { font-size: 3cqw; }
  #meny.langhus .lh-lagliste .lh-kode input { width: 18cqw; font-size: 3.2cqw; padding: 1.4cqw 1cqw; }
  #meny.langhus .lh-lagliste .lh-kode button, #meny.langhus .lh-lagliste .lh-lite { font-size: 3.8cqw; }
  #meny.langhus .lh-lagliste .lh-lite b { font-size: 2.8cqw; }
  #meny.langhus .lh-lagknappar { gap: 6cqw; }
  #meny.langhus .lh-lomme { font-size: 3.4cqw; gap: 1cqw 4cqw; margin-top: 1cqw; }
  .lh-bord { gap: 4cqw; }
  #meny.langhus .vaktniva { padding: 1.8cqw 2.6cqw 2cqw; gap: 1.2cqw 2.4cqw; border-radius: 1.6cqw; }
  #meny.langhus .vaktniva .vn-merke { font-size: 3cqw; }
  #meny.langhus .vaktniva .vn-tekst { font-size: 3.1cqw; }
  #meny.langhus .vaktniva .vn-bar { height: 1.4cqw; }
  #meny.langhus .lh-meir:not([hidden]) { padding: 3cqw; gap: 1.4cqw 2cqw; }
  #meny.langhus .lh-meirgruppe { font-size: 2.8cqw; margin-top: 2cqw; }
  #meny.langhus .lh-meir .lh-planke { height: 11cqw; font-size: 3.8cqw; padding: 0 3cqw; }
}
