/* «Jeg fant den!» — kveldsutgaven: mørkt glass, neon og glød (se app.css). Alle klasser starter med jakt-, fangst- eller s- (sjeldenhet).
   Regler: ingen lyse flater bak tekst. Tekst er hvit eller var(--svak). Sjeldenhet vises som farget glød (--glod settes per rute). */

/* ── Brettet ──────────────────────────────────────────────────────────────
   --w er bredden på en rute. Stående er rutene 5:4 (da får brettet, sjø-knappen og ekstra-funnene plass på samme skjerm),
   liggende er de kvadratiske og ekstra-funnene ligger ved siden av. */
.skjerm-fang {
  --hoyde: 100vh;
  --luft: calc(var(--topp) + var(--bunn) + 28px);      /* skjermens egen luft øverst og nederst */
  --hode: 92px;                                         /* tittelraden med margin, med litt slingringsmonn */
  --ekstra-h: 372px;                                    /* stående: sjø-knapp, bingo-linje og ekstra-funn under brettet */
  --asp: 0.8;                                           /* rutens høyde / bredde */
  --w: min(calc((100vw - 72px) / 4), calc((var(--hoyde) - var(--luft) - var(--hode) - var(--ekstra-h) - 36px) / (4 * var(--asp))));
}
@supports (height: 100dvh) { .skjerm-fang { --hoyde: 100dvh; } }
@media (orientation: landscape) {
  .skjerm-fang { --asp: 1; --w: min(calc((var(--hoyde) - var(--luft) - var(--hode) - 36px) / 4), calc((100vw - 472px) / 4)); }
}

.jakt { flex: 1; display: grid; gap: 14px; justify-items: center; align-content: start; }
@media (orientation: landscape) { .jakt { grid-template-columns: calc(4 * var(--w) + 36px) minmax(0, 1fr); justify-items: stretch; gap: 22px; } }

/* Tellere øverst til høyre: glass med lilla neonkant, som i spillene */
.jakt-chip {
  flex: none; display: inline-flex; align-items: center; gap: 10px; min-height: 60px; padding: 0 20px; border: 1px solid var(--linje); border-radius: 99px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.05)); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  box-shadow: var(--leke), 0 0 0 1px rgba(157, 107, 255, 0.4), 0 0 22px rgba(157, 107, 255, 0.28);
  color: #fff; font: inherit; font-family: var(--font-tittel); font-size: 22px; font-weight: 800; letter-spacing: 0.03em; text-transform: uppercase; white-space: nowrap;
}
.jakt-chip b { font-size: 34px; font-weight: 800; line-height: 1; }
.jakt-chip.trykk { cursor: pointer; transition: transform 0.18s var(--fjar); }
.jakt-chip.trykk:active { transform: scale(0.94); }
.jakt-mynt { flex: none; display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; font-style: normal; font-size: 21px; line-height: 1; color: #7a4d00; background: radial-gradient(circle at 35% 28%, #fff6bf, #ffd23f 45%, #e9a923 88%); box-shadow: inset 0 -3px 0 rgba(140, 80, 0, 0.4), 0 0 14px rgba(255, 210, 63, 0.6); }
.jakt-mynt.liten { width: 24px; height: 24px; font-size: 14px; vertical-align: -5px; margin-left: 4px; }

.jakt-brett { --t: var(--w); --h: calc(var(--w) * var(--asp)); width: calc(4 * var(--w) + 36px); height: calc(4 * var(--h) + 36px); display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(4, 1fr); gap: 12px; }

/* En rute: mørkt glass. Ikke funnet = emoji og navn i en stiplet «plass» som lyser svakt i sjeldenhetsfargen. */
.jakt-rute {
  --tint: 8%;
  position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
  min-width: 0; min-height: 0; padding: 6px 2px; border: 1px solid var(--linje); border-radius: 26px; color: #fff; font: inherit; text-align: center; cursor: pointer;
  background: linear-gradient(180deg, var(--kort2), var(--kort));
  box-shadow: var(--leke);
  transition: transform 0.18s var(--fjar), box-shadow 0.18s; touch-action: manipulation;
}
@supports (color: color-mix(in srgb, red, blue)) { .jakt-rute { background: linear-gradient(180deg, color-mix(in srgb, var(--glod) var(--tint), var(--kort2)), var(--kort)); } }
.jakt-rute.s-glitter { --tint: 20%; }
.jakt-rute.s-gull { --tint: 22%; }
.jakt-rute.s-diamant { --tint: 22%; }
.jakt-rute.s-legendarisk { --tint: 28%; }
.jakt-rute:active { transform: scale(0.95); box-shadow: var(--leke-trykt); }
.jakt-rute:not(.funnet)::after { content: ""; position: absolute; inset: 9px; border-radius: 18px; border: 2px dashed var(--glod); opacity: 0.5; pointer-events: none; }
.jakt-rute.ny { animation: jakt-pop 0.8s var(--fjar); }
@keyframes jakt-pop { 0% { transform: scale(0.55) rotate(-8deg); } 55% { transform: scale(1.1) rotate(3deg); } 100% { transform: none; } }

.jakt-emoji { font-size: calc(var(--h) * 0.5); line-height: 1.05; filter: drop-shadow(0 6px 8px rgba(0, 0, 0, 0.5)); }
.jakt-navn { color: #fff; font-family: var(--font-tittel); font-weight: 800; font-size: clamp(18px, calc(var(--t) * 0.118), 26px); line-height: 1; letter-spacing: 0.03em; text-transform: uppercase; text-shadow: 0 1px 6px rgba(0, 0, 0, 0.6); }

/* Funnet: bildet hun tok fyller ruta, med neonkant i sjeldenhetsfargen og squishyen som et klistremerke i hjørnet. */
.jakt-rute.funnet { padding: 0; border-color: transparent; }
.jakt-rute.funnet::before { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: 0 0 0 2px var(--glod), 0 0 18px 3px var(--glod); pointer-events: none; }
.jakt-rute.funnet.s-gull::before, .jakt-rute.funnet.s-diamant::before, .jakt-rute.funnet.s-legendarisk::before { animation: jakt-glod 2.2s ease-in-out infinite; }
@keyframes jakt-glod { 50% { box-shadow: 0 0 0 2px var(--glod), 0 0 30px 9px var(--glod); } }
.jakt-ramme { position: absolute; inset: 0; border-radius: inherit; overflow: hidden; background: radial-gradient(90% 80% at 50% 30%, var(--kort2), var(--kort)); }
.jakt-foto { display: block; width: 100%; height: 100%; object-fit: cover; }
.jakt-rute.funnet .jakt-navn { position: absolute; left: 8px; bottom: 8px; max-width: calc(100% - 16px); padding: 4px 12px 5px; border: 1px solid rgba(255, 255, 255, 0.22); border-radius: 99px; background: rgba(12, 10, 19, 0.78); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); text-shadow: none; }
.jakt-sq {
  position: absolute; right: -8px; top: -10px; width: calc(var(--h) * 0.56); height: calc(var(--h) * 0.56); font-size: calc(var(--h) * 0.112); transform: rotate(9deg);
  filter: drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff) drop-shadow(0 6px 7px rgba(0, 0, 0, 0.55));
}

/* Under brettet (stående) eller ved siden av (liggende): sjø-knappen, bingo-linjen og ekstra-funnene */
.jakt-ekstra { display: flex; flex-direction: column; gap: 12px; justify-self: stretch; width: 100%; min-width: 0; }
.jakt-ekstra-topp { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 14px; margin-top: 4px; }
.jakt-ekstra h2 { font-size: 32px; line-height: 1; }
.jakt-hint { margin: 0; color: var(--svak); font-weight: 600; font-size: 18px; }
.jakt-bonus { --t: calc((100vw - 72px) / 4); display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
@media (orientation: landscape) { .jakt-bonus { --t: calc((100vw - 36px - 4 * var(--w) - 36px - 22px - 12px) / 2); grid-template-columns: repeat(2, 1fr); } }
.jakt-bonus .jakt-rute { --h: calc(var(--t) * 0.72); height: var(--h); border-radius: 22px; }
.jakt-bonus .jakt-emoji { font-size: calc(var(--h) * 0.46); }
.jakt-bonus .jakt-rute:not(.funnet)::after { inset: 7px; border-radius: 16px; }
.jakt-bonus .jakt-navn { font-size: clamp(19px, calc(var(--t) * 0.105), 24px); }
@media (orientation: landscape) { .jakt-bonus .jakt-rute { --h: calc(var(--w) * 0.9); } }          /* ikke høyere enn at kolonnen ved siden av ikke blir høyere enn brettet */

.jakt-bingo { display: flex; align-items: center; gap: 14px; padding: 10px 18px; border-radius: 22px; font-size: 19px; font-weight: 600; line-height: 1.25; }
.jakt-bingo-emoji { font-size: 40px; line-height: 1; filter: drop-shadow(0 0 12px rgba(255, 210, 63, 0.5)); }
.jakt-bingo-tekst { flex: 1; min-width: 0; color: #fff; }
.jakt-bingo-tekst b { color: var(--rosa); font-family: var(--font-tittel); font-size: 24px; font-weight: 800; letter-spacing: 0.05em; text-shadow: 0 0 14px rgba(255, 79, 163, 0.7); }
.jakt-bingo-teller { flex: none; text-align: center; font-size: 18px; font-weight: 700; color: var(--svak); line-height: 1.1; }
.jakt-bingo-teller b { display: block; font-family: var(--font-tittel); font-size: 34px; font-weight: 800; color: #fff; }

.jakt-sjo { width: 100%; min-height: 84px; font-size: 28px; animation: jakt-bolge 2.8s ease-in-out infinite; }
@keyframes jakt-bolge { 50% { transform: translateY(-3px) scale(1.012); } }
.jakt-sjo-ferdig { margin: 0; font-size: 20px; font-weight: 700; color: var(--svak); text-align: center; }

/* Småting som gir liv: emojiene på ruter som ikke er funnet vugger litt, hver for seg */
.jakt-rute:not(.funnet) .jakt-emoji { animation: jakt-vugg 3.6s ease-in-out infinite; }
.jakt-rute:nth-child(3n + 2) .jakt-emoji { animation-delay: -1.2s; }
.jakt-rute:nth-child(3n) .jakt-emoji { animation-delay: -2.4s; }
@keyframes jakt-vugg { 50% { transform: translateY(-4px) rotate(3deg); } }

/* Premiene */
.jakt-premier { display: grid; gap: 12px; }
.jakt-premie { display: flex; align-items: center; gap: 16px; padding: 14px 18px; color: #fff; font-size: 21px; }
.jakt-premie-emoji { font-size: 48px; line-height: 1; filter: drop-shadow(0 0 12px rgba(255, 210, 63, 0.4)); }
.jakt-premie-tid { margin-top: 2px; color: var(--svak); font-size: 18px; font-weight: 600; }

/* Arket for en fanget squishy (brukes også av samlingen) */
.fangst-funn { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: center; padding: 8px 8px 4px; }
.fangst-funn-foto { flex: 1 1 420px; max-width: 580px; aspect-ratio: 4 / 3; border-radius: 26px; overflow: hidden; background: radial-gradient(90% 80% at 50% 30%, var(--kort2), var(--kort)); box-shadow: 0 0 0 2px var(--glod), 0 0 32px 4px var(--glod), var(--leke); display: grid; place-items: center; }
.fangst-funn-foto > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.fangst-funn-foto > .fangst-funn-sq { width: 60%; height: 80%; font-size: 52px; }
.fangst-funn-info { flex: 1 1 230px; display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; color: #fff; }
.fangst-funn-sq { width: 130px; height: 130px; font-size: 26px; }
.fangst-funn-ting { font-family: var(--font-tittel); font-size: 32px; font-weight: 800; letter-spacing: 0.03em; text-transform: uppercase; }
.fangst-funn-tid { margin: 0; color: var(--svak); font-size: 20px; font-weight: 600; }
.fangst-funn-info .merke { font-size: 16px; padding: 6px 16px; }

/* Avsløringen etter fangsten */
.fangst-avslor-sq { width: 100%; height: 100%; font-size: calc(min(46vh, 340px) / 5); }
.fangst-avslor-foto { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 24px; box-shadow: 0 0 0 3px var(--glod), 0 0 40px 6px var(--glod); }
.avslor-tekst .merke { font-size: 18px; padding: 6px 16px; }
.avslor-tekst .merke-legendarisk, .jakt-chip .merke-legendarisk, .samling-sj .merke-legendarisk, .samling-kort .merke-legendarisk, .fangst-funn-info .merke-legendarisk { color: var(--mork); text-shadow: none; }   /* mørk tekst på regnbuen: hvit ble uleselig på det gule og grønne */

/* ── Fangsten: hele skjermen ──────────────────────────────────────────────
   Kameraet er bakgrunnen. Alt som ligger over det er mørkt glass med hvit tekst, så det kan leses mot alt kameraet ser. */
.fangst { --sq: min(34vh, 78vw); position: fixed; inset: 0; z-index: 50; overflow: hidden; background: #0c0a13; touch-action: none; animation: fangst-bak 0.25s ease; }
@supports (height: 100dvh) { .fangst { --sq: min(34dvh, 78vw); } }
@keyframes fangst-bak { from { opacity: 0; } }

/* Bakgrunnen når kameraet er av: en kveldshimmel med stjerner, måne, skyer og mørke åser. Sjø-modus: dypt vann med lysstråler. */
.fangst-scene { position: absolute; inset: 0; overflow: hidden; pointer-events: none; background: linear-gradient(180deg, #0a0817 0%, #1a0f3d 36%, #4b1d73 62%, #a63d78 82%, #ff8f5a 100%); }
.fangst-scene::before {
  content: ""; position: absolute; inset: 0 0 42% 0; animation: fangst-tindre 4s ease-in-out infinite alternate;
  background-image: radial-gradient(1.6px 1.6px at 8% 22%, #fff, transparent), radial-gradient(1.2px 1.2px at 17% 8%, #fff, transparent), radial-gradient(2px 2px at 26% 31%, #ffe9a8, transparent),
    radial-gradient(1.2px 1.2px at 35% 14%, #fff, transparent), radial-gradient(1.6px 1.6px at 44% 5%, #fff, transparent), radial-gradient(1.2px 1.2px at 52% 27%, #cfe3ff, transparent),
    radial-gradient(2px 2px at 61% 12%, #fff, transparent), radial-gradient(1.2px 1.2px at 70% 34%, #fff, transparent), radial-gradient(1.6px 1.6px at 79% 7%, #ffe9a8, transparent),
    radial-gradient(1.2px 1.2px at 88% 24%, #fff, transparent), radial-gradient(2px 2px at 95% 13%, #fff, transparent), radial-gradient(1.2px 1.2px at 3% 41%, #fff, transparent),
    radial-gradient(1.4px 1.4px at 57% 44%, #fff, transparent), radial-gradient(1.2px 1.2px at 31% 49%, #fff, transparent);
}
@keyframes fangst-tindre { from { opacity: 0.55; } to { opacity: 1; } }
.fangst-sol { position: absolute; right: 11%; top: calc(var(--topp) + 130px); width: 96px; height: 96px; border-radius: 50%; background: radial-gradient(circle at 35% 32%, #fffdf0, #f3e7c4 58%, #d9c79a); box-shadow: 0 0 0 10px rgba(255, 236, 170, 0.1), 0 0 60px 20px rgba(255, 236, 170, 0.3), inset -9px -7px 0 rgba(150, 130, 90, 0.2); }
.fangst-sky { position: absolute; left: -330px; height: 62px; border-radius: 99px; background: #2f1d58; box-shadow: inset 0 5px 0 rgba(255, 255, 255, 0.06), 0 0 40px rgba(157, 107, 255, 0.25); animation: fangst-drift 46s linear infinite; }
.fangst-sky::before, .fangst-sky::after { content: ""; position: absolute; border-radius: 50%; background: #2f1d58; }
.fangst-sky::before { width: 46%; height: 150%; left: 14%; bottom: 30%; }
.fangst-sky::after { width: 34%; height: 120%; right: 14%; bottom: 25%; }
.fangst-sky.a { top: 24%; width: 230px; }
.fangst-sky.b { top: 42%; width: 170px; background: #4a2a78; animation-duration: 62s; animation-delay: -22s; }
.fangst-sky.b::before, .fangst-sky.b::after { background: #4a2a78; }
.fangst-sky.c { top: 14%; width: 190px; animation-duration: 54s; animation-delay: -38s; }
@keyframes fangst-drift { to { transform: translateX(calc(100vw + 360px)); } }
.fangst-bakke { position: absolute; left: -12%; right: 18%; bottom: -14%; height: 34%; border-radius: 50%; background: #160d28; box-shadow: inset 0 3px 0 rgba(255, 79, 163, 0.45), 0 -8px 50px rgba(255, 79, 163, 0.2); }
.fangst-bakke.b { left: 30%; right: -20%; bottom: -18%; height: 30%; background: #0f0a1d; }
.fangst.sjo .fangst-scene { background: linear-gradient(180deg, #0a2c4a 0%, #0b5a8c 38%, #0aa0b8 72%, #22e0b0 125%); }
.fangst.sjo .fangst-sky, .fangst.sjo .fangst-sol, .fangst.sjo .fangst-bakke { display: none; }
.fangst.sjo .fangst-scene::before { inset: -20% -10% 0; animation: fangst-straale 12s ease-in-out infinite alternate; background-image: repeating-linear-gradient(105deg, rgba(130, 240, 255, 0.16) 0 40px, transparent 40px 130px); -webkit-mask-image: linear-gradient(180deg, #000 10%, transparent 75%); mask-image: linear-gradient(180deg, #000 10%, transparent 75%); }
@keyframes fangst-straale { to { transform: translateX(90px); } }

.fangst-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 0.4s; pointer-events: none; }
.fangst.kamera .fangst-video { opacity: 1; }
/* Over kameraet: mørk kant øverst og nederst, så knappene alltid kan leses. Sjø: blågrønn tone. */
.fangst-toning { position: absolute; inset: 0; pointer-events: none; }
.fangst.kamera .fangst-toning { background: linear-gradient(180deg, rgba(12, 10, 19, 0.5), transparent 24%, transparent 74%, rgba(12, 10, 19, 0.6)); }
.fangst.sjo.kamera .fangst-toning { background: linear-gradient(180deg, rgba(10, 44, 74, 0.55), rgba(10, 100, 150, 0.28) 30%, rgba(10, 160, 184, 0.38) 70%, rgba(10, 44, 74, 0.6)); }

/* Bobler i sjø-modus */
.fangst-bobler { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.fangst-luftboble { position: absolute; bottom: -60px; border-radius: 50%; border: 2px solid rgba(190, 250, 255, 0.75); background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.08) 60%); box-shadow: 0 0 12px rgba(130, 240, 255, 0.5); opacity: 0; animation: fangst-stig var(--t) linear var(--d) infinite; }
@keyframes fangst-stig { 0% { transform: translate(0, 0) scale(0.7); opacity: 0; } 10% { opacity: 1; } 100% { transform: translate(var(--dx), -115vh) scale(1.1); opacity: 0; } }

/* Øverst: Avbryt og snakkeboblen (mørkt glass med hvit tekst) */
.fangst-topp { position: absolute; left: 18px; right: 18px; top: calc(var(--topp) + 14px); display: flex; align-items: flex-start; gap: 14px; pointer-events: none; }
.fangst-avbryt { flex: none; pointer-events: auto; }                  /* .knapp er alt mørkt glass med neonkant */
.fangst-sagt { flex: 1; display: flex; justify-content: center; min-width: 0; }
.fangst-boble.boble { max-width: 640px; padding: 14px 24px; background: rgba(12, 10, 19, 0.78); color: #fff; border: 1px solid rgba(255, 255, 255, 0.24); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5), 0 0 26px rgba(157, 107, 255, 0.4); font-size: clamp(21px, 2.7vw, 28px); font-weight: 700; line-height: 1.2; text-align: center; }
.fangst-boble b { color: var(--smor); font-weight: 800; }

/* Spillebanen: squishyen holder seg alltid inne på skjermen (CSS regner ut plassen ut fra --fx og --fy, 0–1) */
.fangst-bane { position: absolute; left: 0; right: 0; top: calc(var(--topp) + 112px); bottom: calc(var(--bunn) + 112px); pointer-events: none; }
.fangst-sq {
  position: absolute; width: var(--sq); height: var(--sq); padding: 0; border: 0; background: none; font-size: calc(var(--sq) / 5); cursor: pointer; pointer-events: auto; touch-action: manipulation;
  left: calc(var(--sq) / 2 + (100% - var(--sq)) * var(--fx)); top: calc(var(--sq) / 2 + (100% - var(--sq)) * var(--fy));
  transform: translate(-50%, -50%); transition: left 0.55s var(--fjar), top 0.55s var(--fjar);
}
.fangst-hopp, .fangst-svev, .fangst-klem { width: 100%; height: 100%; }
.fangst-hopp.hopper { animation: fangst-hopp 0.6s ease-out; }
@keyframes fangst-hopp { 0% { transform: none; } 38% { transform: translateY(-14vh) rotate(-7deg); } 72% { transform: translateY(0) rotate(4deg) scale(1.08, 0.9); } 100% { transform: none; } }
.fangst-svev { animation: fangst-inn 0.85s var(--fjar), fangst-svev 3.4s ease-in-out 0.85s infinite alternate; }
@keyframes fangst-inn { 0% { transform: translateY(-90vh) scale(0.4); opacity: 0; } 55% { opacity: 1; } 70% { transform: translateY(6%) scale(1.08, 0.9); } 100% { transform: none; } }
@keyframes fangst-svev { from { transform: translateY(0) rotate(-1.5deg); } to { transform: translateY(-4%) rotate(1.5deg); } }
.fangst-klem { transform-origin: 50% 90%; }
.fangst-sq:active .fangst-klem { transform: scale(1.22, 0.8); }
.fangst-klem.klemmer { animation: fangst-klem 0.42s cubic-bezier(0.2, 0.9, 0.3, 1.2); }
@keyframes fangst-klem { 0% { transform: none; } 22% { transform: scale(1.4, 0.6); } 50% { transform: scale(0.82, 1.2); } 72% { transform: scale(1.1, 0.92); } 100% { transform: none; } }
.fangst-sq .sq-bilde { filter: drop-shadow(0 0 22px rgba(255, 255, 255, 0.22)) drop-shadow(0 12px 12px rgba(0, 0, 0, 0.5)); }

/* Nederst: tre hjerter, og beskjeden når kameraet er av */
.fangst-hjerter { position: absolute; left: 50%; bottom: calc(var(--bunn) + 18px); transform: translateX(-50%); display: flex; gap: 10px; padding: 8px 22px; border: 1px solid rgba(255, 255, 255, 0.22); border-radius: 99px; background: rgba(12, 10, 19, 0.7); pointer-events: none; }
.fangst-hjerte { font-size: 54px; line-height: 1; opacity: 0.3; transition: opacity 0.2s; }
.fangst-hjerte.fylt { opacity: 1; filter: drop-shadow(0 0 14px rgba(255, 79, 163, 0.8)); animation: fangst-pop 0.5s var(--fjar); }
@keyframes fangst-pop { 0% { transform: scale(0.3); } 60% { transform: scale(1.5) rotate(-8deg); } 100% { transform: none; } }
.fangst-meldrad { position: absolute; left: 18px; right: 18px; bottom: calc(var(--bunn) + 108px); display: flex; justify-content: center; pointer-events: none; }
.fangst-meldrad[hidden] { display: none; }
.fangst-meld { padding: 10px 22px; border: 1px solid rgba(255, 255, 255, 0.24); border-radius: 99px; background: rgba(12, 10, 19, 0.78); color: #fff; font-size: 19px; font-weight: 700; text-align: center; animation: sprett 0.4s var(--fjar); }

/* Hvitt blink når den er fanget (kamerablitz) */
.fangst-blink { position: fixed; inset: 0; z-index: 55; background: #fff; pointer-events: none; animation: fangst-blink 0.9s ease-out forwards; }
@keyframes fangst-blink { 0% { opacity: 0; } 16% { opacity: 1; } 100% { opacity: 0; } }
