/* «Bygg ferien»: seks kvelds-kolonner i mørkt glass med neonkant, samlekort, velger og poengtavle. Alt her har prefikset uke-. Minst 18 px tekst.
   Stil (Dan 05.10: «litt for barnslig for en 9-åring»): kveld, neon, mørkt glass. Flatene er mørke; fargene er kanter, glød og fargeoverganger.
   Aldri hvit tekst på lys flate: på mettet gull og neon står mørk tekst (#1a1020), ellers hvit tekst på mørkt. */

/* ── Dagfargene: hver dag har sin neonfarge (--d) og en nabofarge (--d2) til overgangene ── */
.uke-d0 { --d: var(--rosa);    --d2: var(--lilla); }
.uke-d1 { --d: var(--lilla);   --d2: var(--rosa); }
.uke-d2 { --d: var(--mynte);   --d2: var(--himmel); }
.uke-d3 { --d: var(--smor);    --d2: var(--fersken); }
.uke-d4 { --d: var(--himmel);  --d2: #6b7bff; }
.uke-d5 { --d: var(--fersken); --d2: var(--rosa); }

/* ── Dagene: liggende seks side om side (vannrett rulling med snap hvis det ikke får plass), stående to og to ── */
.uke-dager {
  flex: none; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(178px, 1fr); gap: 10px; align-items: stretch;
  margin: 0 -12px -22px; padding: 24px 12px 46px; overflow-x: auto; overflow-y: hidden; /* luft nederst til skyggene; den negative marginen hindrer at luften gir rulling */
  scroll-snap-type: x proximity; scroll-padding: 0 12px; -webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.uke-dager::-webkit-scrollbar { display: none; }

.uke-dag {
  position: relative; display: flex; flex-direction: column; gap: 12px; min-width: 0; scroll-snap-align: start;
  padding: 0 7px 12px; border-radius: 30px;
  background: linear-gradient(180deg, var(--kort2), var(--kort));
  box-shadow: var(--leke), 0 0 0 1.5px color-mix(in srgb, var(--d) 55%, transparent), 0 0 20px color-mix(in srgb, var(--d) 20%, transparent);
}
.uke-idag { box-shadow: var(--leke), 0 0 0 2.5px var(--messing), 0 0 30px 3px color-mix(in srgb, var(--messing) 45%, transparent); }
.uke-dag-topp {
  display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 84px;
  margin: 0 -7px; padding: 10px 8px; text-align: center; border-radius: 30px 30px 22px 22px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--d) 48%, var(--kort2)), color-mix(in srgb, var(--d) 16%, var(--kort)));
  box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--d) 85%, transparent), inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 8px 18px -8px color-mix(in srgb, var(--d) 70%, transparent);
}
.uke-dag-topp h2 { font-size: 24px; line-height: 1.1; color: #fff; text-shadow: 0 0 14px color-mix(in srgb, var(--d) 90%, transparent), 0 2px 0 rgba(0, 0, 0, 0.35); }
.uke-etikett { margin-top: 5px; padding: 1px 14px 2px; border-radius: 99px; background: rgba(10, 6, 18, 0.5); border: 1px solid rgba(255, 255, 255, 0.2); color: #fff; font-size: 18px; font-weight: 800; }
.uke-klistremerke { position: absolute; z-index: 2; top: -20px; right: 8px; transform: rotate(5deg); padding: 3px 14px 4px; border-radius: 99px; background: linear-gradient(135deg, #ffe27a, #f2b83a); color: #1a1020; font-size: 18px; font-weight: 900; box-shadow: 0 0 16px rgba(242, 193, 78, 0.7), 0 4px 0 rgba(0, 0, 0, 0.35), inset 0 2px 0 rgba(255, 255, 255, 0.5); }
.uke-stjerne { position: absolute; z-index: 2; top: -18px; left: 6px; transform: rotate(-12deg); font-size: 34px; line-height: 1; filter: drop-shadow(0 0 8px rgba(255, 210, 63, 0.9)); animation: uke-glitre 2.2s ease-in-out infinite; }

.uke-kortliste { display: flex; flex-direction: column; gap: 20px; padding: 6px 3px 4px; }

/* ── Kortene i en dag: mørkt glass, kant og glød i kortets farge (--k) ── */
.uke-t-gjore      { --k: var(--mynte); }
.uke-t-utfordring { --k: var(--rod); }
.uke-t-film       { --k: var(--lilla); }
.uke-t-middag     { --k: var(--smor); }

/* YouTube-utfordringer: dypt mettet farge (--y1 → --y2) med neonkant. Samme utfordring har samme farge overalt. */
.uke-yt0 { --y1: #ff3d7f; --y2: #ff8fc4; --k: #ff3d7f; }
.uke-yt1 { --y1: #8b5cff; --y2: #c6a2ff; --k: #a07bff; }
.uke-yt2 { --y1: #2fa6ff; --y2: #8ccfff; --k: #38b4ff; }
.uke-yt3 { --y1: #1fe0a8; --y2: #74d9bd; --k: #22e0b0; }
.uke-yt4 { --y1: #ffc21f; --y2: #ffe07a; --k: #ffd23f; }
/* Stor tittel i kortene: hvit på dypfarge, med mørk skygge og neonglød. (Utenfor kortene er --k ikke satt, da brukes rosa.) */
.uke-kort-navn.show-tittel { font-size: 21px; line-height: 1.1; text-wrap: balance; }
.show-tittel.uke-skrift { color: #fff; text-shadow: 0 2px 0 rgba(0, 0, 0, 0.55), 0 0 12px color-mix(in srgb, var(--k, var(--rosa)) 90%, transparent); }

.uke-kort, .uke-samle, .uke-utf-rad { appearance: none; -webkit-appearance: none; border: 0; font: inherit; cursor: pointer; }
.uke-kort[class*="uke-yt"], .uke-samle[class*="uke-yt"], .uke-utf-rad {
  background: linear-gradient(135deg, color-mix(in srgb, var(--y1) 54%, var(--mork)), color-mix(in srgb, var(--y2) 24%, var(--mork)));
  color: #fff;
}
.uke-kort[class*="uke-yt"]::before, .uke-samle[class*="uke-yt"]::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: repeating-conic-gradient(from 0deg at 50% 36%, rgba(255, 255, 255, 0.07) 0 9deg, transparent 9deg 18deg);
}
.uke-kort[class*="uke-yt"] > :not(.uke-vs):not(.uke-hake):not(.uke-vokser), .uke-samle[class*="uke-yt"] > :not(.uke-vs):not(.uke-hake):not(.uke-vokser) { position: relative; }

.uke-kort {
  position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
  width: 100%; min-height: 92px; padding: 10px 6px 12px; border-radius: 20px; text-align: center; color: #fff;
  font-size: 18px; font-weight: 800; line-height: 1.15; overflow-wrap: anywhere;
  background: linear-gradient(180deg, color-mix(in srgb, var(--k) 16%, var(--kort2)), color-mix(in srgb, var(--k) 6%, var(--kort)));
  box-shadow: 0 0 0 2px var(--k), 0 0 18px color-mix(in srgb, var(--k) 38%, transparent), 0 10px 20px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.14);
  transition: transform 0.18s var(--fjar), box-shadow 0.18s, opacity 0.2s;
}
.uke-kort:active { transform: translateY(3px) rotate(-1.5deg) scale(0.97); box-shadow: 0 0 0 2px var(--k), 0 0 10px color-mix(in srgb, var(--k) 30%, transparent), 0 3px 8px rgba(0, 0, 0, 0.4); }
.uke-kort-emoji { font-size: 42px; line-height: 1; filter: drop-shadow(0 0 10px color-mix(in srgb, var(--k) 65%, transparent)); }
.uke-kort-tekst { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.uke-kort-stil { font-size: 18px; font-weight: 800; color: var(--smor); }
.uke-kort.uke-gjort { opacity: 0.88; }
.uke-kort.uke-gjort::after { content: "✅"; position: absolute; top: -14px; right: -10px; font-size: 30px; filter: drop-shadow(0 0 8px rgba(77, 255, 143, 0.8)); }

/* Gullkortet (Frisør Emilie): mørk flate med glinsende gullkant */
@keyframes uke-folie { to { background-position: 0 0, 200% 0; } }
.uke-kort.uke-gull, .uke-samle.uke-gull {
  --k: var(--messing); border: 2px solid transparent;
  background: linear-gradient(180deg, color-mix(in srgb, var(--messing) 22%, var(--kort2)), color-mix(in srgb, var(--messing) 8%, var(--kort))) padding-box,
              linear-gradient(110deg, #f2b83a 0%, #fff2a8 18%, #f2b83a 36%, #ffd96a 54%, #f2b83a 72%, #f2b83a 100%) border-box;
  background-size: 100% 100%, 200% 100%;
  box-shadow: 0 0 22px color-mix(in srgb, var(--messing) 50%, transparent), 0 10px 20px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.14);
  animation: uke-folie 3s linear infinite;
}
.uke-gull:not(.uke-gjort)::after { content: "✨"; position: absolute; top: 5px; right: 7px; font-size: 22px; animation: uke-glitre 1.8s ease-in-out infinite; }

/* Filmkort: hull som på en filmremse */
.uke-t-film::before, .uke-t-film::after { content: ""; position: absolute; top: 14px; bottom: 14px; width: 7px; border-radius: 3px; background: repeating-linear-gradient(180deg, var(--k) 0 9px, transparent 9px 18px); opacity: 0.55; pointer-events: none; }
.uke-t-film::before { left: 6px; }
.uke-t-film::after { right: 6px; }

/* ── Legg til (+): stiplet kant på mørk flate ── */
.uke-pluss {
  appearance: none; -webkit-appearance: none; display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0 -3px; min-height: 80px; padding: 8px;
  border: 2px dashed rgba(255, 255, 255, 0.25); border-radius: 22px; background: rgba(255, 255, 255, 0.04); color: #fff;
  font: inherit; font-size: 18px; font-weight: 800; cursor: pointer; transition: transform 0.18s var(--fjar), background 0.18s, border-color 0.18s;
}
.uke-pluss:active { transform: translateY(3px) scale(0.96); background: rgba(255, 255, 255, 0.12); border-color: rgba(255, 255, 255, 0.5); }
.uke-spok { min-height: 64px; border-color: rgba(255, 255, 255, 0.14); background: rgba(255, 255, 255, 0.02); }
.uke-spok .uke-pluss-tegn { width: 38px; height: 38px; font-size: 28px; background: rgba(255, 255, 255, 0.12); color: rgba(255, 255, 255, 0.6); box-shadow: none; }
.uke-pluss-tegn { display: grid; place-items: center; flex: none; width: 50px; height: 50px; border-radius: 50%; background: linear-gradient(135deg, var(--d), var(--d2)); font-size: 36px; font-weight: 900; line-height: 1; color: #1a1020; box-shadow: 0 0 16px color-mix(in srgb, var(--d) 65%, transparent), inset 0 2px 0 rgba(255, 255, 255, 0.45); padding-bottom: 3px; }

/* ── Middag: en glasstallerken som fylles ── */
.uke-middag-boks { margin-top: auto; display: flex; flex-direction: column; gap: 10px; }
.uke-middag {
  appearance: none; -webkit-appearance: none; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; width: 100%; min-height: 108px; padding: 10px 6px;
  border: 2px dashed rgba(255, 255, 255, 0.25); border-radius: 22px; background: rgba(255, 255, 255, 0.04); text-align: center; color: var(--svak);
  font: inherit; font-size: 18px; font-weight: 800; line-height: 1.15; overflow-wrap: anywhere; cursor: pointer; transition: transform 0.18s var(--fjar), box-shadow 0.18s;
}
.uke-middag:active { transform: translateY(3px) rotate(-1deg) scale(0.97); }
.uke-middag.uke-har {
  border: 2px solid var(--smor); color: #fff;
  background: linear-gradient(180deg, color-mix(in srgb, var(--smor) 20%, var(--kort2)), color-mix(in srgb, var(--smor) 7%, var(--kort)));
  box-shadow: 0 0 18px color-mix(in srgb, var(--smor) 38%, transparent), 0 10px 20px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.14);
}
.uke-middag-navn { min-width: 0; }
.uke-tallerken { display: grid; place-items: center; flex: none; width: 50px; height: 50px; border-radius: 50%; background: radial-gradient(circle at 35% 28%, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.07)); font-size: 28px; line-height: 1; box-shadow: inset 0 0 0 4px rgba(255, 255, 255, 0.1), 0 0 12px rgba(0, 0, 0, 0.35); }
.uke-tips {
  appearance: none; -webkit-appearance: none; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; min-height: 64px; padding: 8px 8px 10px;
  border: 0; border-radius: 18px; background: linear-gradient(180deg, color-mix(in srgb, var(--smor) 16%, var(--kort2)), color-mix(in srgb, var(--smor) 6%, var(--kort))); color: #fff; font: inherit; font-size: 18px; line-height: 1.15; cursor: pointer;
  box-shadow: 0 0 0 1.5px color-mix(in srgb, var(--smor) 80%, transparent), 0 0 14px color-mix(in srgb, var(--smor) 30%, transparent), var(--leke-trykt); transition: transform 0.18s var(--fjar);
}
.uke-tips:active { transform: translateY(3px) scale(0.96); }
.uke-tips span { color: var(--smor); font-weight: 800; }
.uke-tips b { font-weight: 900; }

/* ── Kort som lander og flyr ── */
@keyframes uke-sprett { 0% { transform: scale(0.8) rotate(-4deg); } 55% { transform: scale(1.1) rotate(2deg); } 100% { transform: none; } }
.uke-ny { animation: uke-sprett 0.5s var(--fjar); }
.uke-flyr { position: fixed; z-index: 90; margin: 0; pointer-events: none; }
@keyframes uke-glitre { 50% { transform: scale(1.25) rotate(14deg); opacity: 0.75; } }

/* Raske trykk (+1, kort på rad) skal ikke bli til dobbelttrykk-zoom på iPad */
.uke-kort, .uke-pluss, .uke-middag, .uke-tips, .uke-fane, .uke-samle, .uke-poeng, .uke-lag-knapper .knapp, .uke-utf-rad, .uke-flytt-knapp, .uke-stil { touch-action: manipulation; }

/* ════ Velgeren ════ */
.ark.uke-ark-velger { display: flex; flex-direction: column; height: min(88vh, 960px); height: min(88dvh, 960px); max-height: none; overflow: hidden; }
.ark.uke-ark-lite { width: min(680px, 100%); }
.uke-velger { display: flex; flex-direction: column; flex: 1; min-height: 0; }
.uke-flate { flex: 1; min-height: 0; margin: 0 -10px; padding: 0 10px; overflow-y: auto; -webkit-overflow-scrolling: touch; }

.uke-faner { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 6px 4px 14px; }
.uke-fane {
  appearance: none; -webkit-appearance: none; display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 68px; padding: 6px 6px;
  border: 1px solid var(--linje); border-radius: 22px; background: rgba(255, 255, 255, 0.06); color: var(--svak);
  font: inherit; font-family: var(--font-tittel); font-size: 20px; font-weight: 800; letter-spacing: 0.01em; text-transform: uppercase; line-height: 1.1; cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08); transition: transform 0.18s var(--fjar), box-shadow 0.18s, background 0.18s, border-color 0.18s;
}
.uke-fane[aria-selected="true"] {
  background: linear-gradient(180deg, color-mix(in srgb, var(--f2) 42%, var(--kort2)), color-mix(in srgb, var(--f2) 14%, var(--kort)));
  border-color: var(--f2); color: #fff; transform: translateY(-3px);
  box-shadow: 0 0 20px color-mix(in srgb, var(--f2) 55%, transparent), inset 0 1px 0 rgba(255, 255, 255, 0.3);
}
.uke-fane:active { transform: translateY(2px) scale(0.97); }
.uke-fane-emoji { font-size: 26px; line-height: 1; }
.uke-f-gjore      { --f2: var(--mynte); }
.uke-f-utfordring { --f2: var(--rod); }
.uke-f-film       { --f2: var(--lilla); }
.uke-f-middag     { --f2: var(--smor); }

.uke-full-melding { margin: 4px 4px 0; padding: 12px 16px; border-radius: 18px; background: color-mix(in srgb, var(--rod) 16%, var(--kort)); border: 1.5px solid var(--rod); color: #fff; text-align: center; font-size: 19px; font-weight: 800; box-shadow: 0 0 16px color-mix(in srgb, var(--rod) 30%, transparent); }
.uke-rutenett { display: grid; grid-template-columns: repeat(auto-fill, minmax(206px, 1fr)); gap: 28px 20px; padding: 20px 8px 40px; }

/* Samlekortet i velgeren */
@keyframes uke-del { from { opacity: 0; transform: translateY(26px) rotate(-5deg) scale(0.88); } }
.uke-samle {
  position: relative; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 8px; min-width: 0;
  padding: 16px 12px 18px; border-radius: 26px; text-align: center; color: #fff;
  background: linear-gradient(180deg, color-mix(in srgb, var(--k) 16%, var(--kort2)), color-mix(in srgb, var(--k) 5%, var(--kort)));
  box-shadow: 0 0 0 2px var(--k), 0 0 20px color-mix(in srgb, var(--k) 40%, transparent), 0 12px 24px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.12);
  transition: transform 0.18s var(--fjar), box-shadow 0.18s;
  animation: uke-del 0.42s var(--fjar) backwards; animation-delay: calc(min(var(--i, 0), 11) * 32ms);
}
.uke-samle:active { transform: translateY(5px) rotate(-2.5deg) scale(0.97); box-shadow: 0 0 0 2px var(--k), 0 0 10px color-mix(in srgb, var(--k) 30%, transparent), 0 4px 10px rgba(0, 0, 0, 0.45); }
.uke-samle.uke-gull { animation: uke-del 0.42s var(--fjar) backwards, uke-folie 3s linear infinite; animation-delay: calc(min(var(--i, 0), 11) * 32ms), 0s; }
.uke-samle.uke-valgt { --k: var(--gronn); }
.uke-samle.uke-gull.uke-valgt { box-shadow: 0 0 0 3px var(--gronn), 0 0 22px rgba(77, 255, 143, 0.55), 0 10px 20px rgba(0, 0, 0, 0.4); }
.uke-samle-bilde { display: grid; place-items: center; width: 86px; height: 86px; border-radius: 24px; font-size: 56px; line-height: 1; background: radial-gradient(circle at 50% 30%, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.04) 75%); box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--k) 70%, transparent), 0 0 16px color-mix(in srgb, var(--k) 25%, transparent); }
.uke-samle-navn { font-size: 21px; font-weight: 900; line-height: 1.12; overflow-wrap: anywhere; }
.uke-samle-om { font-size: 18px; font-weight: 700; line-height: 1.22; color: #d9cfe8; }
.uke-t-utfordring .uke-samle-om { padding: 5px 9px 6px; border-radius: 14px; background: rgba(10, 6, 18, 0.55); color: #fff; }
.uke-t-middag .uke-samle-bilde { border-radius: 50%; box-shadow: inset 0 0 0 7px rgba(255, 255, 255, 0.1), 0 0 16px color-mix(in srgb, var(--k) 25%, transparent); }
.uke-hake { position: absolute; z-index: 2; top: -14px; right: -12px; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: linear-gradient(135deg, #8dffb8, var(--gronn)); color: #072a15; font-size: 28px; font-weight: 900; box-shadow: 0 0 0 4px var(--kort), 0 0 18px rgba(77, 255, 143, 0.75); }
.uke-vokser { position: absolute; z-index: 2; top: -14px; left: -12px; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--kort2); font-size: 26px; box-shadow: 0 0 0 2px var(--himmel), 0 0 14px color-mix(in srgb, var(--himmel) 60%, transparent); }
.uke-vs { position: absolute; z-index: 2; top: 10px; left: 10px; transform: rotate(-7deg); padding: 1px 10px 2px; border-radius: 10px; background: linear-gradient(135deg, #ffe27a, #f2b83a); color: #1a1020; font-size: 18px; font-weight: 900; letter-spacing: 0.05em; box-shadow: 0 0 12px rgba(242, 193, 78, 0.6), 0 3px 0 rgba(0, 0, 0, 0.35); }

/* ── Små ark: stil og flytt/ta bort ── */
.uke-stiler { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: 6px 4px; }
.uke-stil { flex-direction: column; min-height: 132px; font-size: 24px; line-height: 1.15; text-align: center; }
.uke-stil-emoji { font-size: 54px; line-height: 1; }
.uke-stil.uke-valgt { box-shadow: 0 0 0 4px var(--gronn), 0 0 24px rgba(77, 255, 143, 0.7), inset 0 2px 0 rgba(255, 255, 255, 0.5); }

.uke-om { margin: 0 0 14px; font-size: 20px; font-weight: 700; color: var(--svak); }
.uke-handling-tittel { margin: 12px 0; font-size: 22px; }
.uke-flytt { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; margin-bottom: 18px; }
.uke-flytt-knapp { --f1: var(--d); --f2: var(--d2); flex-direction: column; gap: 0; padding: 10px 10px; font-size: 22px; line-height: 1.1; }
.uke-flytt-knapp small { font-size: 18px; font-weight: 700; color: #e9e0f7; }
.uke-flytt-knapp:disabled { opacity: 0.62; }
.uke-fjern, .uke-stilknapp { width: 100%; }
.uke-stilknapp { margin-bottom: 6px; }

/* ════ Poengtavla ════ */
.uke-poeng { font-size: 22px; white-space: nowrap; padding: 14px 22px; }
.uke-hint { margin: 0 0 22px; text-align: center; font-size: 21px; font-weight: 800; color: var(--svak); }
.uke-lagrad { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: stretch; gap: 12px; }
.uke-mot { align-self: center; font-family: var(--font-tittel); font-size: 30px; font-weight: 800; letter-spacing: 0.06em; background: var(--holo); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.uke-lag {
  position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 30px 12px 18px; border-radius: 32px; color: #fff;
  background: linear-gradient(180deg, color-mix(in srgb, var(--lc) 24%, var(--kort2)), color-mix(in srgb, var(--lc) 8%, var(--kort)));
  box-shadow: var(--leke), 0 0 0 2px var(--lc), 0 0 26px color-mix(in srgb, var(--lc) 36%, transparent); transition: box-shadow 0.3s;
}
.uke-lag-pappa { --lc: var(--himmel); }
.uke-lag-emilie { --lc: var(--rosa); }
.uke-leder { box-shadow: var(--leke), 0 0 0 2.5px var(--lc), 0 0 46px 6px color-mix(in srgb, var(--lc) 60%, transparent); }
.uke-lag-navn { font-size: 30px; text-shadow: 0 0 14px color-mix(in srgb, var(--lc) 70%, transparent); }
.uke-tall { min-width: 2ch; padding: 4px 0 12px; text-align: center; font-size: clamp(96px, 15vw, 148px); line-height: 1; text-shadow: 0 2px 0 rgba(0, 0, 0, 0.4), 0 0 28px color-mix(in srgb, var(--lc) 85%, transparent); }
.uke-krone { position: absolute; top: -30px; font-size: 54px; line-height: 1; opacity: 0; transform: translateY(16px) scale(0.6) rotate(-14deg); transition: opacity 0.25s, transform 0.45s var(--fjar); filter: drop-shadow(0 0 12px rgba(255, 210, 63, 0.9)); }
.uke-leder .uke-krone { opacity: 1; transform: none; }
.uke-lag-knapper { display: flex; align-items: center; gap: 12px; width: 100%; }
.uke-minus { min-width: 84px; padding: 16px 12px; font-size: 26px; }
.uke-pluss1 { flex: 1; min-height: 84px; font-size: 36px; }

.uke-utf { display: flex; flex-direction: column; gap: 18px; margin-top: 30px; }
.uke-utf-tittel { font-size: 24px; }
.uke-utf-rad {
  position: relative; display: flex; align-items: center; gap: 14px; width: 100%; min-height: 72px; margin: 2px 0; padding: 10px 16px; border-radius: 22px; text-align: left;
  box-shadow: 0 0 0 2px var(--k), 0 0 18px color-mix(in srgb, var(--k) 38%, transparent), 0 10px 20px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.14);
  transition: transform 0.18s var(--fjar), box-shadow 0.18s, opacity 0.2s;
}
.uke-utf-rad:active { transform: translateY(3px) rotate(-1deg) scale(0.985); }
.uke-utf-rad.uke-gjort { opacity: 0.8; }
.uke-sjekk { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 50%; background: rgba(10, 6, 18, 0.45); color: #072a15; font-size: 30px; font-weight: 900; box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.55); }
.uke-gjort .uke-sjekk { background: linear-gradient(135deg, #8dffb8, var(--gronn)); box-shadow: 0 0 14px rgba(77, 255, 143, 0.75); }
.uke-utf-emoji { flex: none; font-size: 38px; line-height: 1; filter: drop-shadow(0 0 10px color-mix(in srgb, var(--k) 65%, transparent)); }
.uke-utf-navn { flex: 1; min-width: 0; font-size: 22px; line-height: 1.12; }
.uke-utf-dag { flex: none; padding: 3px 14px 4px; border-radius: 99px; background: rgba(10, 6, 18, 0.55); border: 1px solid rgba(255, 255, 255, 0.2); color: #fff; font-size: 18px; font-weight: 800; }
.uke-tom { margin: 0; padding: 16px; text-align: center; font-size: 20px; font-weight: 700; color: var(--svak); }

/* ════ Stående iPad: to dager i bredden, kortene ligger ned ════ */
@media (orientation: portrait) {
  .uke-dager { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 18px; margin: 0; padding: 30px 4px 40px; overflow: visible; scroll-snap-type: none; }
  .uke-dag { padding: 0 12px 14px; }
  .uke-dag-topp { margin: 0 -12px; }
  .uke-dag-topp h2 { font-size: 28px; }
  .uke-kort { flex-direction: row; justify-content: flex-start; gap: 14px; min-height: 84px; padding: 10px 16px; text-align: left; }
  .uke-kort-emoji { flex: none; font-size: 46px; }
  .uke-kort-navn { font-size: 20px; }
  .uke-kort-navn.show-tittel { font-size: 22px; }
  .uke-middag { flex-direction: row; justify-content: flex-start; gap: 10px; min-height: 80px; padding: 8px 10px; text-align: left; }
  .uke-t-film::before { left: 5px; }
  .uke-t-film::after { right: 5px; }
  .uke-rutenett { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
