/* LumiLino Version 42 – klare Spielnavigation, gut lesbare Auswahl und bildhafte Soforthilfe. */
.is-water-game .game-controls,
.is-harvest-game .game-controls,
.is-train-game .game-controls {
  display: none !important;
}

.is-water-game #game-canvas,
.is-harvest-game #game-canvas,
.is-train-game #game-canvas {
  touch-action: none;
}

.is-water-game #game-canvas { cursor: crosshair; }
.is-harvest-game #game-canvas { cursor: ew-resize; }
.is-train-game #game-canvas { cursor: ns-resize; }

.is-water-game .game-board-wrap { background: #83d576; }
.is-harvest-game .game-board-wrap { background: #d9ae45; }
.is-train-game .game-board-wrap { background: #80cee1; }

.is-water-game .game-mission-card-simple {
  background: linear-gradient(135deg, #dff7ff, #fff) !important;
}

.is-harvest-game .game-mission-card-simple {
  background: linear-gradient(135deg, #fff1b7, #fffdf4) !important;
}

.is-train-game .game-mission-card-simple {
  background: linear-gradient(135deg, #dff5ff, #fff9d7) !important;
}

.is-water-game .game-count-card {
  border-color: rgba(35, 161, 207, .3);
  background: #eefaff;
}

.is-harvest-game .game-count-card {
  border-color: rgba(180, 121, 25, .28);
  background: #fff8dc;
}

.is-train-game .game-count-card {
  border-color: rgba(36, 137, 172, .3);
  background: #eefaff;
}

.is-water-game .game-help-popover summary { background: #eefaff; }
.is-harvest-game .game-help-popover summary { background: #fff8dc; }
.is-train-game .game-help-popover summary { background: #eefaff; }

.game-page-simple:not(.is-game-started) .game-hud,
.game-page-simple:not(.is-game-started) .game-quick-controls {
  display: none;
}

.game-page-simple:not(.is-game-started) .game-title-row {
  justify-content: center;
  text-align: center;
}

.game-page-simple:not(.is-game-started) .game-help-popover {
  position: absolute;
  right: 0;
}

.game-page-simple.is-game-started .game-help-popover {
  display: none;
}

.game-session-nav {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 10px;
}

.game-page-simple.is-game-started .game-session-nav,
.game-shell:fullscreen .game-session-nav {
  display: flex;
}

.game-session-nav a,
.game-session-nav button {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 15px;
  border: 2px solid rgba(8, 74, 82, .16);
  border-radius: 16px;
  color: #083d45;
  font: 900 .9rem/1.15 var(--font-body);
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 8px 19px rgba(8, 61, 69, .1);
}

.game-session-back { background: #fff; }
.game-session-switch { background: linear-gradient(180deg, #ffeb8b, #f6ce50); }
.game-session-nav a:hover,
.game-session-nav a:focus-visible,
.game-session-nav button:hover,
.game-session-nav button:focus-visible {
  border-color: #159aa4;
  outline: 4px solid rgba(38, 199, 208, .2);
  outline-offset: 1px;
}

.game-page-simple:not(.is-game-started) .game-session-switch { display: none; }

.game-guide-control {
  border-color: rgba(255,255,255,.98);
  background: linear-gradient(180deg, #ffe781, #f5c849);
  color: #5c4300;
  font: 950 1.35rem/1 var(--font-rounded);
}

.game-guide-control:hover:not(:disabled),
.game-guide-control:focus-visible:not(:disabled) {
  background: linear-gradient(180deg, #fff0a8, #ffd760);
  color: #493500;
}

.game-guide[hidden] { display: none !important; }

.game-guide {
  position: absolute;
  z-index: 40;
  inset: 0;
  display: grid;
  place-items: center;
  padding: clamp(12px, 3vw, 28px);
}

.game-guide-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: rgba(5, 48, 55, .76);
  cursor: pointer;
  backdrop-filter: blur(5px);
}

.game-guide-card {
  position: relative;
  z-index: 1;
  width: min(680px, 96%);
  max-height: 94%;
  overflow: auto;
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: clamp(19px, 4vw, 34px);
  border: 4px solid rgba(255,255,255,.94);
  border-radius: 28px;
  background: linear-gradient(165deg, #fffdf3, #e8f8f4);
  color: var(--brand-deep);
  text-align: center;
  box-shadow: 0 28px 75px rgba(0,0,0,.34);
}

.game-guide-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0 0 4px;
  border: 2px solid rgba(8,74,82,.14);
  border-radius: 50%;
  background: #fff;
  color: var(--brand-deep);
  font: 900 1.8rem/1 sans-serif;
  cursor: pointer;
}

.game-guide-close:hover,
.game-guide-close:focus-visible {
  background: var(--yellow-soft);
  outline: 4px solid rgba(38,199,208,.2);
  outline-offset: 1px;
}

.game-guide-badge {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 19px;
  background: #fff;
  font-size: 2rem;
  box-shadow: inset 0 0 0 2px rgba(8,74,82,.09);
}

.game-guide-card > strong {
  padding-inline: 45px;
  font-family: var(--font-rounded);
  font-size: clamp(1.55rem, 4vw, 2.35rem);
  line-height: 1.05;
}

.game-guide-card > p {
  margin: 0 0 7px;
  color: #35666b;
  font-size: .92rem;
}

.game-guide-steps {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.game-guide-step {
  min-width: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  align-items: center;
  gap: 9px;
  padding: 15px 13px;
  border: 2px solid rgba(8,74,82,.11);
  border-radius: 20px;
  background: #fff;
}

.game-guide-step-icon {
  min-height: 68px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: linear-gradient(145deg, #eefaff, #fff6bf);
  font-size: clamp(1.65rem, 4vw, 2.45rem);
  line-height: 1.15;
  letter-spacing: .03em;
}

.game-guide-step b,
.game-guide-step small {
  display: block;
}

.game-guide-step b {
  font-family: var(--font-rounded);
  font-size: 1.02rem;
  line-height: 1.12;
}

.game-guide-step small {
  margin-top: 4px;
  color: #35666b;
  font-size: .82rem;
  line-height: 1.35;
}

.game-guide-continue {
  min-width: min(250px, 100%);
  min-height: 54px;
  margin-top: 5px;
  justify-content: center;
  background: linear-gradient(180deg, #ffe36e, #f4c33e);
  color: #533b00;
}

.game-page-simple .game-result-summary { max-width: 390px; }

@media (max-width: 980px) {
  .nav-links a.nav-game-link {
    display: inline-flex !important;
    background: var(--brand-soft);
  }
}

.game-page-simple .game-message-card-simple {
  width: min(96%, 990px);
}

.game-page-simple:not(.is-game-started) .game-message-card-simple {
  gap: 15px;
  padding: clamp(18px, 3vw, 30px);
}

.game-page-simple:not(.is-game-started) .game-message-star,
.game-page-simple:not(.is-game-started) #game-message-copy,
.game-page-simple:not(.is-game-started) #game-message-title {
  display: none;
}

.game-page-simple .game-start-actions { width: 100%; }

.game-page-simple .game-result-summary > span {
  justify-items: center;
  text-align: center;
}

.game-page-simple .game-result-summary strong {
  font-size: clamp(1.45rem, 4vw, 2rem);
}

.game-page-simple .game-result-actions .btn { min-height: 50px; }

.game-choice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  width: min(920px, 100%);
  margin: 0 auto;
}

.game-choice-card {
  position: relative;
  min-width: 0;
  min-height: 196px;
  padding: 0 0 14px;
  overflow: hidden;
  border: 3px solid rgba(255, 255, 255, .72);
  border-radius: 24px;
  box-shadow: 0 12px 28px rgba(8, 61, 69, .18);
  color: #083d45;
  cursor: pointer;
  display: grid;
  grid-template-columns: 1fr auto;
  align-content: start;
  align-items: center;
  text-align: left;
  font: inherit;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.game-choice-card:hover,
.game-choice-card:focus-visible {
  transform: translateY(-4px);
  border-color: #fff;
  box-shadow: 0 18px 34px rgba(8, 61, 69, .24);
  outline: none;
}

.game-choice-card:active { transform: translateY(0) scale(.985); }
.game-choice-rescue { background: linear-gradient(145deg, #fff7c7, #fffdf2 62%, #e7f7d4); }
.game-choice-water { background: linear-gradient(145deg, #dff7ff, #fafdff 62%, #e3f8e8); }
.game-choice-harvest { background: linear-gradient(145deg, #fff0a8, #fffaf0 62%, #e7f1bd); }
.game-choice-train { background: linear-gradient(145deg, #cfefff, #fffdf2 62%, #ffeaa0); }
.game-choice-mama {
  grid-column: span 2;
  min-height: 160px;
  background: linear-gradient(145deg, #fff0c7, #fffdf4 55%, #d8f5e9);
}

.game-choice-visual {
  grid-column: 1 / -1;
  position: relative;
  display: block;
  width: 100%;
  height: 106px;
  margin-bottom: 13px;
  overflow: hidden;
  background: rgba(255, 255, 255, .5);
}

.game-choice-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.game-choice-visual-rescue img {
  width: 146px;
  margin: -18px auto -12px;
  filter: drop-shadow(0 10px 8px rgba(29, 72, 42, .24));
}

.game-choice-visual-water {
  background: radial-gradient(circle at 68% 18%, rgba(255,255,255,.9), transparent 23%), linear-gradient(#a8e9f3 0 52%, #7bcc68 53%);
}

.game-choice-visual-water img {
  width: 100px;
  height: 100px;
  margin: 8px auto 0;
  border-radius: 50%;
  filter: drop-shadow(0 8px 8px rgba(29, 72, 42, .22));
}

.game-choice-visual-water i {
  position: absolute;
  right: 20%;
  top: 12px;
  font-style: normal;
  font-size: 1.8rem;
  transform: rotate(-12deg);
}

.game-choice-visual-harvest img { object-fit: cover; }
.game-choice-visual-train img { object-fit: cover; object-position: center 47%; }
.game-choice-visual-mama { height: 82px; }
.game-choice-visual-mama img { object-fit: cover; object-position: center 56%; }

.game-choice-card > span:nth-child(2) {
  min-width: 0;
  padding-left: 14px;
}

.game-choice-card strong,
.game-choice-card small { display: block; }

.game-choice-card strong {
  color: #083d45;
  font-size: clamp(.98rem, 2vw, 1.16rem);
  line-height: 1.12;
}

.game-choice-card small {
  margin-top: 4px;
  color: #35666b;
  font-size: .94rem;
  line-height: 1.3;
}

.game-choice-card b {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  margin-right: 13px;
  border-radius: 50%;
  background: #fff;
  color: #0c7981;
  font-size: .78rem;
  box-shadow: 0 5px 13px rgba(8,61,69,.14);
}

.game-result-actions .game-menu-button {
  background: #fff;
  border-color: rgba(11, 89, 96, .2);
}

.game-result-actions .game-replay-button {
  border: 2px solid rgba(121, 82, 0, .13);
  background: linear-gradient(180deg, #ffe67a, #f5c94e);
  color: #584000;
  box-shadow: 0 12px 28px rgba(141, 96, 0, .25);
}

.game-result-actions .game-replay-button:hover,
.game-result-actions .game-replay-button:focus-visible {
  background: linear-gradient(180deg, #ffed9d, #f7d35f);
}

.is-water-game .game-toast,
.is-harvest-game .game-toast,
.is-train-game .game-toast,
.is-mama-game .game-toast { pointer-events: none; }

.game-page-simple.is-mama-game .game-controls { display: none; }
.game-page-simple.is-mama-game #game-canvas { cursor: pointer; }

#mama-3d-canvas {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  pointer-events: none;
  touch-action: none;
}

#mama-3d-canvas[hidden] { display: none; }
.game-page-simple.is-mama-3d #game-canvas {
  position: relative;
  z-index: 3;
  opacity: 0;
}
.game-page-simple.is-mama-3d .game-board-wrap {
  background: linear-gradient(180deg, #87dcf3, #68b958);
}

.mama-world-ribbon {
  position: absolute;
  z-index: 8;
  top: 12px;
  left: 50%;
  display: grid;
  min-width: min(400px, 62%);
  padding: 7px 13px 8px;
  border: 2px solid rgba(255,255,255,.9);
  border-radius: 18px;
  background: rgba(5,64,70,.82);
  color: #fff;
  text-align: center;
  box-shadow: 0 9px 24px rgba(0,0,0,.18);
  transform: translateX(-50%);
  pointer-events: none;
  backdrop-filter: blur(8px);
}
.mama-world-ribbon[hidden] { display: none; }
.mama-world-ribbon > strong { font-size: clamp(.68rem,1.8vw,.92rem); letter-spacing: .04em; }
.mama-world-dots { display: flex; justify-content: center; gap: 5px; margin-top: 4px; }
.mama-world-dots i {
  display: grid;
  place-items: center;
  width: clamp(20px,3.7vw,29px);
  height: clamp(20px,3.7vw,29px);
  border-radius: 50%;
  background: rgba(255,255,255,.15);
  filter: grayscale(1);
  font-style: normal;
  font-size: clamp(.65rem,1.8vw,.9rem);
  opacity: .62;
}
.mama-world-dots i.is-current { background: #ffe570; filter: none; opacity: 1; box-shadow: 0 0 0 3px rgba(255,255,255,.5); transform: scale(1.08); }
.mama-world-dots i.is-done { background: #c8f5d7; filter: none; opacity: 1; }

.mama-combo {
  position: absolute;
  z-index: 8;
  top: 14px;
  left: 14px;
  display: grid;
  min-width: 84px;
  padding: 7px 10px;
  border: 2px solid #fff5b8;
  border-radius: 17px;
  background: linear-gradient(145deg,rgba(236,83,74,.94),rgba(240,132,54,.94));
  color: #fff;
  text-align: center;
  box-shadow: 0 8px 22px rgba(122,48,27,.28);
  pointer-events: none;
}
.mama-combo[hidden] { display: none; }
.mama-combo small { font-size: .48rem; font-weight: 900; letter-spacing: .07em; }
.mama-combo strong { font-size: clamp(1.25rem,3vw,1.8rem); line-height: 1; }

.mama-dialogue {
  position: absolute;
  z-index: 9;
  top: 22%;
  left: 50%;
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 12px;
  width: min(560px, 82%);
  padding: 13px 18px;
  border: 4px solid #fff;
  border-radius: 24px;
  background: rgba(255,251,224,.97);
  color: #075c62;
  box-shadow: 0 16px 36px rgba(0,0,0,.25);
  transform: translateX(-50%);
  pointer-events: none;
}
.mama-dialogue[hidden] { display: none; }
.mama-dialogue > span { font-size: clamp(2.1rem,6vw,3.4rem); }
.mama-dialogue p { display: grid; gap: 2px; margin: 0; }
.mama-dialogue small { font-size: clamp(.65rem,1.8vw,.85rem); font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.mama-dialogue strong { font-size: clamp(1.2rem,3.5vw,2rem); line-height: 1.08; }

.mama-level-card {
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 50%;
  display: grid;
  justify-items: center;
  width: min(520px,86%);
  padding: 18px 22px 20px;
  border: 5px solid #fff8c7;
  border-radius: 28px;
  background: linear-gradient(145deg,rgba(5,89,97,.97),rgba(13,124,112,.97));
  color: #fff;
  text-align: center;
  box-shadow: 0 20px 48px rgba(0,0,0,.35);
  transform: translate(-50%,-50%);
  pointer-events: none;
}
.mama-level-card[hidden] { display: none; }
.mama-level-card > small { color: #ffe77c; font-size: .65rem; font-weight: 900; letter-spacing: .12em; }
.mama-level-card > strong { margin-top: 3px; font-size: clamp(1.35rem,4vw,2.15rem); line-height: 1.05; }
.mama-level-card > p { margin: 6px 0 12px; font-weight: 800; }
.mama-medals { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; width: 100%; }
.mama-medals span { display: grid; justify-items: center; gap: 2px; padding: 7px 5px; border-radius: 13px; background: rgba(255,255,255,.1); opacity: .38; }
.mama-medals span.is-earned { background: rgba(255,229,105,.18); opacity: 1; }
.mama-medals b { color: #ffe26a; font-size: 1.55rem; text-shadow: 0 3px 7px rgba(0,0,0,.25); }
.mama-medals small { font-size: .58rem; font-weight: 900; }

.mama-character-strip {
  display: grid;
  grid-template-columns: minmax(150px, 260px) 1fr;
  align-items: center;
  gap: 18px;
  margin: 12px 0 14px;
  padding: 10px;
  border: 3px solid rgba(255,255,255,.95);
  border-radius: 24px;
  background: linear-gradient(135deg,#fff9dc,#e8fff8);
  box-shadow: 0 10px 26px rgba(20,91,89,.13);
}
.mama-character-strip[hidden] { display: none; }
.mama-character-strip img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 17px; display: block; }
.mama-character-strip span { display: grid; gap: 3px; color: #075c62; }
.mama-character-strip small { font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.mama-character-strip strong { font-size: clamp(1.15rem,3vw,1.65rem); line-height: 1.1; }

.mama-move-controls {
  position: absolute;
  left: 18px;
  bottom: 22px;
  z-index: 7;
  display: flex;
  gap: 12px;
  align-items: end;
}
.mama-move-controls[hidden] { display: none; }
.mama-move-controls button {
  width: clamp(64px,10vw,88px);
  height: clamp(64px,10vw,88px);
  border: 4px solid #fff;
  border-radius: 50%;
  background: rgba(7,92,98,.92);
  color: #fff;
  box-shadow: 0 8px 0 #06484d,0 12px 24px rgba(0,0,0,.22);
  font: 900 clamp(1.65rem,4vw,2.35rem)/1 system-ui;
  touch-action: none;
  user-select: none;
}
.mama-move-controls button:active,
.mama-move-controls button.is-pressed { transform: translateY(5px); box-shadow: 0 3px 0 #06484d,0 7px 15px rgba(0,0,0,.18); }
.mama-move-controls button[data-mama-jump] { width: clamp(70px,11vw,96px); height: clamp(70px,11vw,96px); background: rgba(225,91,62,.94); box-shadow: 0 8px 0 #983828,0 12px 24px rgba(0,0,0,.22); }
.mama-move-controls small { display:block; font-size:.65rem; margin-top:4px; }

@media (max-width:620px) {
  .mama-character-strip { grid-template-columns: 125px 1fr; gap: 12px; border-radius: 18px; }
  .mama-move-controls { left: 9px; bottom: 12px; gap: 7px; }
}

@media (max-width: 760px) {
  .game-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .game-choice-mama { grid-column: 1 / -1; }
  .game-choice-card { min-height: 166px; border-radius: 20px; }
  .game-choice-visual { height: 84px; margin-bottom: 10px; }
  .game-choice-visual-rescue img { width: 120px; }
  .game-choice-visual-water img { width: 82px; height: 82px; }
  .game-choice-card > span:nth-child(2) { padding-left: 10px; }
  .game-choice-card b { margin-right: 9px; }
}

@media (max-width: 600px) {
  .game-page-simple:not(.is-game-started) .game-title-row { margin-bottom: 8px; }
  .game-page-simple:not(.is-game-started) .game-title-row h1 { font-size: clamp(1.55rem, 8vw, 2.2rem); }
  .game-page-simple:not(.is-game-started) .game-message { padding: 7px; }
  .game-page-simple:not(.is-game-started) .game-message-card-simple { padding: 11px 8px; }
  .game-page-simple:not(.is-game-started) .game-message-card-simple > strong { font-size: 1.32rem; }
  .game-choice-grid { grid-template-columns: 1fr; width: min(420px, 100%); }
  .game-choice-card {
    min-height: 76px;
    padding: 0 8px 0 0;
    grid-template-columns: 86px 1fr auto;
  }
  .game-choice-mama { grid-column: auto; min-height: 76px; }
  .game-choice-visual-mama { height: 76px; }
  .game-choice-visual {
    grid-column: auto;
    grid-row: 1;
    width: 86px;
    height: 76px;
    margin: 0 10px 0 0;
  }
  .game-choice-visual-rescue img { width: 102px; margin: -13px auto; }
  .game-choice-visual-water img { width: 68px; height: 68px; margin-top: 5px; }
  .game-choice-visual-water i { right: 7px; top: 4px; font-size: 1.3rem; }
  .game-choice-card > span:nth-child(2) { padding: 0; }
  .game-choice-card b { grid-column: 3; grid-row: 1; margin: 0; }
  .game-choice-card strong { font-size: .98rem; }
  .game-choice-card small { font-size: .94rem; }
  .game-session-nav {
    display: none;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
    margin-bottom: 7px;
  }
  .game-page-simple.is-game-started .game-session-nav,
  .game-shell:fullscreen .game-session-nav { display: grid; }
  .game-session-nav a,
  .game-session-nav button {
    min-height: 44px;
    padding: 8px 9px;
    border-radius: 14px;
    font-size: .78rem;
  }
  .game-page-simple:not(.is-game-started) .game-session-nav {
    grid-template-columns: 1fr;
  }
  .game-page-simple .game-result-summary { grid-template-columns: 1fr 1fr; }
  .game-page-simple .game-result-summary > span { padding: 8px; }
  .game-guide {
    padding: 8px;
  }
  .game-guide-card {
    width: 98%;
    gap: 6px;
    padding: 15px 10px 12px;
    border-width: 3px;
    border-radius: 21px;
  }
  .game-guide-close {
    top: 7px;
    right: 7px;
    width: 38px;
    height: 38px;
  }
  .game-guide-badge {
    width: 46px;
    height: 46px;
    border-radius: 15px;
    font-size: 1.55rem;
  }
  .game-guide-card > strong {
    font-size: 1.45rem;
  }
  .game-guide-card > p {
    margin-bottom: 2px;
    font-size: .76rem;
  }
  .game-guide-steps {
    gap: 6px;
  }
  .game-guide-step {
    gap: 6px;
    padding: 8px 6px;
    border-radius: 15px;
  }
  .game-guide-step-icon {
    min-height: 51px;
    border-radius: 11px;
    font-size: clamp(1.25rem, 7vw, 1.8rem);
  }
  .game-guide-step b { font-size: .82rem; }
  .game-guide-step small { font-size: .68rem; }
  .game-guide-continue {
    min-height: 45px;
    margin-top: 2px;
    font-size: .9rem;
  }
}

/* Nur die Tierfreunde-Fahrt nutzt im Hochformat die mitfahrende Panorama-Ansicht.
   Auswahl, Wasser, Ernte, Zug und Mama-Suche zeigen immer das komplette Feld. */
@media (max-width: 620px) and (orientation: portrait) {
  .game-page-simple:not(.is-game-started) #game-canvas {
    width: 100%;
    max-width: 100%;
    height: clamp(350px, 105vw, 410px);
    aspect-ratio: auto;
    transform: none !important;
  }

  .is-water-game #game-canvas,
  .is-harvest-game #game-canvas,
  .is-train-game #game-canvas,
  .is-mama-game #game-canvas {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    transform: none !important;
  }
}

@media (max-height: 680px) and (max-width: 600px) {
  .game-page-simple:not(.is-game-started) .game-title-row { display: none; }
  .game-page-simple:not(.is-game-started) .game-shell-section-simple { padding-top: 8px; }
  .game-page-simple:not(.is-game-started) .game-choice-card { min-height: 72px; }
  .game-page-simple:not(.is-game-started) .game-choice-visual { height: 72px; }
}

@media (prefers-reduced-motion: reduce) {
  .game-choice-card { transition: none; }
}

/* Version 62 – getrennte Steuerung, Aktionsknopf und freie Sicht für die Mama-Suche. */
.game-page-simple.is-mama-game.is-game-started .game-title-row {
  display: none;
}

.game-page-simple.is-mama-game .game-hud {
  grid-template-columns: minmax(0, 1fr) auto auto;
  margin-bottom: 6px;
}

.game-page-simple.is-mama-game .game-mission-card-simple,
.game-page-simple.is-mama-game .game-count-card,
.game-page-simple.is-mama-game .game-time-card {
  min-height: 52px;
  padding-block: 6px;
}

.game-page-simple.is-mama-game .game-mission-card-simple strong {
  min-height: 0;
}

.game-page-simple.is-mama-game .mama-character-strip {
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 10px;
  margin: 5px 0 7px;
  padding: 5px;
  border-width: 2px;
  border-radius: 16px;
}

.game-page-simple.is-mama-game .mama-character-strip img {
  border-radius: 11px;
}

.game-page-simple.is-mama-game .mama-character-strip small {
  font-size: .58rem;
}

.game-page-simple.is-mama-game .mama-character-strip strong {
  font-size: clamp(.86rem, 2.4vw, 1.08rem);
}

.game-page-simple.is-mama-game .mama-move-controls {
  right: 16px;
  left: 16px;
  bottom: 16px;
  display: grid;
  grid-template-columns: auto auto minmax(12px, 1fr) minmax(132px, 190px) auto;
  align-items: end;
  gap: 10px;
  pointer-events: none;
}

.game-page-simple.is-mama-game .mama-move-controls[hidden] {
  display: none;
}

.game-page-simple.is-mama-game .mama-move-controls button {
  pointer-events: auto;
}

.game-page-simple.is-mama-game .mama-move-controls button[data-mama-jump] {
  grid-column: 5;
}

.game-page-simple.is-mama-game .mama-move-controls button[data-mama-dir="1"] {
  grid-column: 2;
  grid-row: 1;
}

.game-page-simple.is-mama-game .mama-action-button {
  grid-column: 4;
  width: 100%;
  min-width: 132px;
  height: 76px;
  padding: 6px 12px;
  border-color: #fff8d0;
  background: rgba(255, 215, 72, .97);
  color: #6e3c12;
  box-shadow: 0 8px 0 #b36d20, 0 12px 24px rgba(0,0,0,.22);
  font-size: 1.4rem;
}

.game-page-simple.is-mama-game .mama-action-button[hidden] {
  display: none;
}

.game-page-simple.is-mama-game .mama-action-button.is-question {
  background: rgba(255, 246, 203, .98);
  color: #075c62;
  box-shadow: 0 8px 0 #c89135, 0 12px 24px rgba(0,0,0,.22);
}

.game-page-simple.is-mama-game .mama-action-button span {
  display: block;
  line-height: 1;
}

.game-page-simple.is-mama-game .mama-action-button small {
  max-width: 100%;
  overflow: hidden;
  font-size: .72rem;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}

:where(.game-shell:fullscreen, .game-shell.is-game-expanded) .mama-character-strip {
  display: none !important;
}

@media (max-width: 560px) {
  .mama-world-ribbon {
    top: 6px;
    min-width: 55%;
    max-width: 66%;
    padding: 5px 8px 6px;
    border-radius: 14px;
  }
  .mama-world-ribbon > strong { font-size: .58rem; }
  .mama-world-dots { gap: 3px; margin-top: 2px; }
  .mama-world-dots i { width: 19px; height: 19px; font-size: .58rem; }
  .mama-combo { top: 7px; left: 7px; min-width: 60px; padding: 4px 6px; border-radius: 12px; }
  .mama-combo small { font-size: .38rem; }
  .mama-dialogue { top: 19%; width: 88%; gap: 7px; padding: 8px 10px; border-width: 3px; border-radius: 17px; }
  .mama-dialogue > span { font-size: 1.7rem; }
  .mama-dialogue small { font-size: .51rem; }
  .mama-dialogue strong { font-size: 1rem; }
  .mama-level-card { width: 88%; padding: 12px 10px 13px; border-width: 4px; border-radius: 20px; }
  .mama-level-card > small { font-size: .48rem; }
  .mama-level-card > strong { font-size: 1.25rem; }
  .mama-level-card > p { margin: 4px 0 7px; font-size: .68rem; }
  .mama-medals { gap: 5px; }
  .mama-medals span { padding: 4px 2px; }
  .mama-medals b { font-size: 1.15rem; }
  .mama-medals small { font-size: .46rem; }

  .game-page-simple.is-mama-game .game-hud {
    grid-template-columns: minmax(0, 1fr) 68px 78px;
    gap: 5px;
  }

  .game-page-simple.is-mama-game .game-mission-card-simple {
    grid-column: auto;
    min-height: 48px;
    padding: 5px 7px;
  }

  .game-page-simple.is-mama-game .game-mission-icon {
    width: 32px;
    height: 32px;
    font-size: 1.05rem;
  }

  .game-page-simple.is-mama-game .game-mission-card-simple small {
    font-size: .5rem;
  }

  .game-page-simple.is-mama-game .game-mission-card-simple strong {
    min-height: 0;
    max-height: 2.35em;
    overflow: hidden;
    font-size: .72rem;
  }

  .game-page-simple.is-mama-game .game-count-card,
  .game-page-simple.is-mama-game .game-time-card {
    min-width: 0;
    min-height: 48px;
    gap: 3px;
    padding: 5px;
  }

  .game-page-simple.is-mama-game .game-count-card strong,
  .game-page-simple.is-mama-game .game-time-card strong {
    font-size: .83rem;
  }

  .game-page-simple.is-mama-game .mama-character-strip {
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 7px;
    margin-block: 4px 6px;
    padding: 4px;
    border-radius: 13px;
  }

  .game-page-simple.is-mama-game .mama-character-strip strong {
    font-size: .76rem;
  }

  .game-page-simple.is-mama-game .mama-move-controls {
    right: 7px;
    left: 7px;
    bottom: 8px;
    grid-template-columns: 52px 52px minmax(2px, 1fr) minmax(96px, 118px) 60px;
    gap: 6px;
  }

  .game-page-simple.is-mama-game .mama-move-controls button {
    width: 54px;
    height: 54px;
    border-width: 3px;
    font-size: 1.35rem;
  }

  .game-page-simple.is-mama-game .mama-move-controls button[data-mama-jump] {
    width: 62px;
    height: 62px;
  }

  .game-page-simple.is-mama-game .mama-action-button {
    width: 100%;
    min-width: 0;
    height: 58px;
    padding: 4px 6px;
    border-width: 3px;
    font-size: 1.15rem;
    box-shadow: 0 6px 0 #b36d20, 0 9px 18px rgba(0,0,0,.2);
  }

  .game-page-simple.is-mama-game .mama-action-button small {
    font-size: .58rem;
  }
}

@media (max-width: 390px) {
  .game-page-simple.is-mama-game .mama-move-controls {
    grid-template-columns: 48px 48px minmax(0, 1fr) 96px 56px;
    gap: 4px;
  }
  .game-page-simple.is-mama-game .mama-move-controls button {
    width: 48px;
    height: 52px;
  }
  .game-page-simple.is-mama-game .mama-move-controls button[data-mama-jump] {
    width: 56px;
    height: 58px;
  }
  .game-page-simple.is-mama-game .mama-action-button {
    width: 96px;
    height: 54px;
  }
}

/* Version 46 – klar lesbare, markentaugliche Spielauswahl. */
.game-choice-card {
  min-height: 210px;
  isolation: isolate;
}

.game-choice-card::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 82px;
  border-top: 1px solid rgba(8, 61, 69, .08);
  background: #fffefa;
  pointer-events: none;
}

.game-choice-visual {
  height: 112px;
  margin-bottom: 0;
}

.game-choice-card > span:nth-child(2) {
  position: relative;
  z-index: 1;
  min-height: 82px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 10px 12px 10px 16px;
}

.game-choice-card strong {
  color: #083d45;
  font-size: clamp(1.12rem, 1.8vw, 1.28rem);
  font-weight: 950;
  line-height: 1.18;
  letter-spacing: -.015em;
  text-wrap: balance;
}

.game-choice-card small {
  margin-top: 5px;
  color: #214f55;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.28;
}

.game-choice-card b {
  position: relative;
  z-index: 1;
  width: 38px;
  height: 38px;
  margin-right: 14px;
  color: #075f68;
  font-size: .86rem;
}

@media (max-width: 760px) {
  .game-choice-card { min-height: 188px; }
  .game-choice-visual { height: 100px; }
  .game-choice-card::after,
  .game-choice-card > span:nth-child(2) { min-height: 82px; height: 82px; }
  .game-choice-card strong { font-size: 1.08rem; }
  .game-choice-card small { font-size: .94rem; }
}

@media (max-width: 600px) {
  .game-choice-grid { gap: 7px; }
  .game-choice-card {
    min-height: 84px;
    padding: 0 8px 0 0;
    grid-template-columns: 92px minmax(0, 1fr) 38px;
  }
  .game-choice-card::after {
    inset: 0 0 0 92px;
    width: auto;
    height: auto;
    border-top: 0;
    border-left: 1px solid rgba(8, 61, 69, .08);
  }
  .game-choice-visual {
    width: 92px;
    height: 84px;
    margin-right: 10px;
  }
  .game-choice-visual-rescue img { width: 112px; }
  .game-choice-visual-water img { width: 74px; height: 74px; }
  .game-choice-card > span:nth-child(2) {
    min-height: 84px;
    height: auto;
    padding: 7px 6px 7px 10px;
  }
  .game-choice-card strong {
    font-size: 1.04rem;
    line-height: 1.2;
  }
  .game-choice-card small {
    margin-top: 3px;
    font-size: .9rem;
    line-height: 1.22;
  }
  .game-choice-card b {
    width: 36px;
    height: 36px;
    margin: 0;
  }
}

@media (max-height: 680px) and (max-width: 600px) {
  .game-page-simple:not(.is-game-started) .game-choice-card { min-height: 78px; }
  .game-page-simple:not(.is-game-started) .game-choice-visual { height: 78px; }
  .game-page-simple:not(.is-game-started) .game-choice-card > span:nth-child(2) { min-height: 78px; }
  .game-choice-card strong { font-size: .99rem; }
  .game-choice-card small { font-size: .86rem; }
}

/* Version 47 – die Textfläche bleibt unabhängig vom Vorschaubild immer ruhig. */
.game-choice-card:hover,
.game-choice-card:focus-visible {
  border-color: #ffffff;
}

.game-choice-card:focus-visible {
  outline: 4px solid #f5c94e;
  outline-offset: 3px;
  box-shadow: 0 0 0 7px #07515a, 0 20px 38px rgba(8, 61, 69, .28);
}

.game-session-nav a:focus-visible,
.game-session-nav button:focus-visible,
.game-guide-control:focus-visible {
  outline: 3px solid #07515a;
  outline-offset: 2px;
  box-shadow: 0 0 0 6px rgba(245, 201, 78, .9);
}

@media (prefers-contrast: more) {
  .game-choice-card { border-color: #07515a; }
  .game-choice-card::after { border-color: #07515a; }
  .game-choice-card small { color: #083d45; }
}

/* Version 65 – freie 3D-Traktorfahrt mit klaren Einzelbedienelementen. */
.game-page-simple.is-mama-game .game-board-wrap {
  isolation: isolate;
  background: linear-gradient(180deg, #8bdcf2 0 29%, #72bd5d 29% 100%);
}

.game-page-simple.is-mama-game #mama-3d-canvas,
.game-page-simple.is-mama-game #game-canvas {
  height: 100%;
  aspect-ratio: auto;
}

.mama-speedometer,
.mama-calf-status {
  position: absolute;
  z-index: 10;
  display: grid;
  pointer-events: none;
  color: #fff;
  border: 3px solid rgba(255,255,255,.94);
  background: rgba(5,67,72,.88);
  box-shadow: 0 9px 23px rgba(0,0,0,.2);
  backdrop-filter: blur(7px);
}

.mama-speedometer[hidden],
.mama-calf-status[hidden] { display: none; }

.mama-speedometer {
  top: 10px;
  left: 10px;
  place-items: center;
  min-width: 68px;
  min-height: 62px;
  padding: 5px 9px;
  border-radius: 21px;
}

.mama-speedometer strong {
  font: 950 clamp(1.28rem,3vw,1.78rem)/.9 var(--font-rounded), system-ui;
}

.mama-speedometer small {
  margin-top: 4px;
  font-size: .48rem;
  font-weight: 950;
  letter-spacing: .1em;
}

.mama-calf-status {
  top: 12px;
  right: 202px;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 6px;
  max-width: 210px;
  min-height: 44px;
  padding: 6px 10px;
  border-radius: 17px;
  background: rgba(255,250,221,.94);
  color: #075c62;
}

.mama-calf-status span { font-size: 1.3rem; }
.mama-calf-status strong { font-size: .72rem; line-height: 1.1; }

.game-page-simple.is-mama-game .mama-world-ribbon {
  top: 64px;
  min-width: min(370px,58%);
  max-width: min(420px,66%);
  padding: 6px 12px 7px;
  background: rgba(4,61,67,.86);
}

.game-page-simple.is-mama-game .mama-combo {
  top: 82px;
  left: 10px;
}

.game-page-simple.is-mama-game .mama-move-controls {
  right: 14px;
  left: 14px;
  bottom: 14px;
  display: grid;
  grid-template-columns: minmax(220px,auto) minmax(128px,190px) minmax(220px,auto);
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  pointer-events: none;
}

.game-page-simple.is-mama-game .mama-move-controls[hidden] { display: none; }

.mama-steering,
.mama-pedals {
  display: flex;
  align-items: end;
  gap: 10px;
  pointer-events: none;
}

.mama-steering { grid-column: 1; }
.mama-pedals { grid-column: 3; justify-content: flex-end; }

.game-page-simple.is-mama-game .mama-move-controls button {
  pointer-events: auto;
  width: clamp(66px,8.5vw,84px);
  height: clamp(66px,8.5vw,84px);
  border-width: 4px;
  font-size: clamp(1.38rem,3vw,1.85rem);
  -webkit-tap-highlight-color: transparent;
}

.game-page-simple.is-mama-game .mama-move-controls button small {
  margin-top: 3px;
  font-size: clamp(.52rem,1.15vw,.66rem);
  font-weight: 950;
  letter-spacing: .02em;
}

.mama-steering-wheel {
  display: grid;
  place-items: center;
  width: clamp(48px,6vw,62px);
  height: clamp(48px,6vw,62px);
  margin-bottom: 8px;
  border: 8px solid rgba(255,255,255,.88);
  border-radius: 50%;
  background: rgba(22,49,51,.78);
  color: #f6d45b;
  box-shadow: 0 7px 18px rgba(0,0,0,.24), inset 0 0 0 4px rgba(0,0,0,.23);
  font-size: 1.35rem;
  transition: transform .1s ease-out;
}

.game-page-simple.is-mama-game .mama-pedals .mama-brake {
  width: clamp(70px,9vw,90px);
  height: clamp(62px,7.8vw,78px);
  border-radius: 21px;
  background: rgba(205,69,52,.94);
  box-shadow: 0 8px 0 #88372c, 0 12px 24px rgba(0,0,0,.22);
}

.game-page-simple.is-mama-game .mama-pedals .mama-gas {
  width: clamp(76px,9.5vw,98px);
  height: clamp(78px,10vw,102px);
  border-radius: 25px;
  background: rgba(46,145,75,.96);
  box-shadow: 0 9px 0 #1c6b37, 0 13px 26px rgba(0,0,0,.23);
}

.game-page-simple.is-mama-game .mama-pedals .mama-brake:active,
.game-page-simple.is-mama-game .mama-pedals .mama-brake.is-pressed { box-shadow: 0 3px 0 #88372c, 0 7px 15px rgba(0,0,0,.18); }

.game-page-simple.is-mama-game .mama-pedals .mama-gas:active,
.game-page-simple.is-mama-game .mama-pedals .mama-gas.is-pressed { box-shadow: 0 3px 0 #1c6b37, 0 7px 15px rgba(0,0,0,.18); }

.game-page-simple.is-mama-game .mama-action-button {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  justify-self: center;
  width: 100%;
  min-width: 128px;
  height: 76px;
  border-radius: 25px;
  animation: mama-action-pulse 1.15s ease-in-out infinite alternate;
}

.game-page-simple.is-mama-game .mama-action-button[hidden] { display: none; }

@keyframes mama-action-pulse {
  from { transform: translateY(0) scale(1); }
  to { transform: translateY(-3px) scale(1.035); }
}

.game-page-simple.is-mama-game .mama-dialogue {
  top: 18%;
  width: min(520px,76%);
}

@media (max-width: 720px) {
  .game-page-simple.is-mama-game .game-board-wrap { aspect-ratio: 4 / 3; }
  .game-page-simple.is-mama-game .game-quick-controls { gap: 4px; }
  .game-page-simple.is-mama-game .game-icon-control { width: 35px; height: 35px; font-size: .9rem; }
  .mama-speedometer { top: 6px; left: 6px; min-width: 56px; min-height: 49px; padding: 4px 6px; border-width: 2px; border-radius: 16px; }
  .mama-speedometer strong { font-size: 1.1rem; }
  .mama-speedometer small { font-size: .4rem; }
  .mama-calf-status { display: none; }
  .game-page-simple.is-mama-game .mama-world-ribbon { top: 47px; min-width: 58%; max-width: 72%; padding: 4px 8px 5px; }
  .game-page-simple.is-mama-game .mama-combo { top: 63px; left: 6px; }
  .game-page-simple.is-mama-game .mama-move-controls {
    right: 7px;
    left: 7px;
    bottom: 7px;
    grid-template-columns: auto minmax(92px,118px) auto;
    gap: 6px;
  }
  .mama-steering,
  .mama-pedals { gap: 5px; }
  .mama-steering-wheel { display: none; }
  .game-page-simple.is-mama-game .mama-move-controls button { width: 52px; height: 56px; border-width: 3px; font-size: 1.2rem; }
  .game-page-simple.is-mama-game .mama-move-controls button small { font-size: .47rem; }
  .game-page-simple.is-mama-game .mama-pedals .mama-brake { width: 54px; height: 54px; border-radius: 17px; }
  .game-page-simple.is-mama-game .mama-pedals .mama-gas { width: 58px; height: 68px; border-radius: 19px; }
  .game-page-simple.is-mama-game .mama-action-button { min-width: 0; height: 60px; padding: 4px 6px; border-radius: 19px; }
  .game-page-simple.is-mama-game .mama-dialogue { top: 16%; width: 86%; }
}

@media (max-width: 430px) {
  .game-page-simple.is-mama-game .game-board-wrap { aspect-ratio: 1 / 1; }
  .game-page-simple.is-mama-game .mama-world-ribbon { max-width: 78%; }
  .game-page-simple.is-mama-game .mama-move-controls { grid-template-columns: 108px minmax(82px,96px) 112px; gap: 4px; }
  .game-page-simple.is-mama-game .mama-move-controls button { width: 50px; }
  .game-page-simple.is-mama-game .mama-pedals .mama-gas { width: 56px; }
  .game-page-simple.is-mama-game .mama-action-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .game-page-simple.is-mama-game .mama-action-button { animation: none; }
  .mama-steering-wheel { transition: none; }
}

/* Version 66 – rote LumiLino-3D-Welt. */
.game-page-simple.is-mama-game .game-board-wrap {
  border-color: #fff2bd;
  box-shadow: 0 16px 42px rgba(115,42,28,.24), 0 0 0 2px rgba(228,57,44,.12);
}

.game-page-simple.is-mama-game .mama-world-ribbon {
  border-color: rgba(255,239,174,.96);
  background: linear-gradient(145deg,rgba(102,27,25,.92),rgba(175,47,37,.9));
  box-shadow: 0 9px 26px rgba(87,26,21,.3);
}

.game-page-simple.is-mama-game .mama-speedometer {
  border-color: #ffe9a2;
  background: linear-gradient(145deg,rgba(98,28,25,.94),rgba(189,50,39,.92));
}

.game-page-simple.is-mama-game .mama-steering button {
  background: linear-gradient(180deg,rgba(226,66,51,.98),rgba(171,40,33,.98));
  box-shadow: 0 8px 0 #76221e,0 12px 24px rgba(77,25,21,.28);
}

.game-page-simple.is-mama-game .mama-steering button:active,
.game-page-simple.is-mama-game .mama-steering button.is-pressed {
  box-shadow: 0 3px 0 #76221e,0 7px 15px rgba(77,25,21,.22);
}

.game-page-simple.is-mama-game .mama-steering-wheel {
  border-color: #ffe9a2;
  background: rgba(70,27,24,.86);
  color: #f6c84d;
}

/* Version 67 – große freie 3D-Welt mit Fahrer-, Verfolger- und Übersichtskamera. */
.game-page-simple.is-mama-game .game-shell { max-width: 1240px; }

.mama-minimap {
  position: absolute;
  z-index: 11;
  top: 92px;
  left: 11px;
  width: clamp(132px, 16vw, 184px);
  height: auto;
  border: 3px solid rgba(255,244,183,.96);
  border-radius: 18px;
  background: #68b862;
  box-shadow: 0 11px 28px rgba(41,24,17,.3), inset 0 0 0 1px rgba(89,41,26,.22);
  pointer-events: none;
}

.mama-minimap[hidden] { display: none; }

.mama-camera-button {
  position: absolute;
  z-index: 12;
  top: 87px;
  right: 12px;
  display: grid;
  grid-template-columns: 32px minmax(0,1fr);
  align-items: center;
  gap: 6px;
  width: clamp(130px,15vw,178px);
  min-height: 54px;
  padding: 6px 10px;
  border: 3px solid #fff0af;
  border-radius: 18px;
  background: linear-gradient(145deg,rgba(107,28,25,.96),rgba(203,57,43,.96));
  color: #fff;
  box-shadow: 0 9px 24px rgba(70,26,22,.32);
  cursor: pointer;
  touch-action: manipulation;
}

.mama-camera-button[hidden] { display: none; }
.mama-camera-button > span { font-size: 1.35rem; }
.mama-camera-button small { font-size: clamp(.5rem,.9vw,.64rem); font-weight: 950; line-height: 1.08; letter-spacing: .04em; }
.mama-camera-button:hover,
.mama-camera-button:focus-visible { transform: translateY(-2px); background: linear-gradient(145deg,#8e2721,#e24333); }
.mama-camera-button:focus-visible { outline: 4px solid #fff; outline-offset: 2px; }

.game-page-simple.is-mama-game .mama-combo { top: 232px; }

@media (max-width: 720px) {
  .game-page-simple.is-mama-game .game-board-wrap { aspect-ratio: 4 / 3; }
  .mama-minimap { top: 61px; left: 6px; width: 108px; border-width: 2px; border-radius: 13px; }
  .mama-camera-button { top: 62px; right: 6px; width: 106px; min-height: 44px; grid-template-columns: 25px minmax(0,1fr); gap: 3px; padding: 4px 6px; border-width: 2px; border-radius: 14px; }
  .mama-camera-button > span { font-size: 1.05rem; }
  .mama-camera-button small { font-size: .43rem; }
  .game-page-simple.is-mama-game .mama-combo { top: 142px; }
}

@media (max-width: 430px) {
  .game-page-simple.is-mama-game .game-board-wrap { aspect-ratio: 4 / 3; }
  .mama-minimap { width: 94px; }
  .mama-camera-button { width: 96px; }
}

@media (max-height: 560px) and (orientation: landscape) {
  .mama-minimap { width: 105px; top: 56px; }
  .mama-camera-button { top: 56px; width: 110px; min-height: 42px; }
  .game-page-simple.is-mama-game .mama-combo { display: none; }
}

/* Version 68 – hochauflösende Originaltexturen und größere 3D-Farmkulisse. */
.game-page-simple.is-mama-3d .game-board-wrap::after {
  content: "";
  position: absolute;
  z-index: 4;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(circle at 50% 48%,transparent 55%,rgba(56,24,14,.13) 100%);
  box-shadow: inset 0 0 35px rgba(255,218,135,.12);
  pointer-events: none;
}

.game-page-simple.is-mama-3d .mama-move-controls,
.game-page-simple.is-mama-3d .mama-camera-button,
.game-page-simple.is-mama-3d .mama-minimap,
.game-page-simple.is-mama-3d .mama-world-ribbon,
.game-page-simple.is-mama-3d .mama-speedometer,
.game-page-simple.is-mama-3d .mama-combo,
.game-page-simple.is-mama-3d .mama-dialogue,
.game-page-simple.is-mama-3d .mama-level-card { z-index: 12; }

/* Version 69 – vollständiges Upload- und lokales Testpaket. */

/* Version 70 – reparierter 3D-Start und fünf eigenständige Farmwelten. */
.mama-3d-warning {
  margin: 12px 0 0;
  padding: 12px 16px;
  border: 1px solid #e2bd53;
  border-radius: 14px;
  background: #fff8dc;
  color: #28595e;
  font-size: .9rem;
  line-height: 1.5;
}
.game-no-script { padding: 16px; background: #fff8dc; border-radius: 14px; }

/* Version 71 – 3D startet auch beim direkten Öffnen der entpackten HTML-Datei. */

/* Version 72 – heller LumiLino-Traktor, ruhigere Farmwelt und klarere Zielführung. */
.game-page-simple.is-mama-game .mama-calf-status { display: none !important; }

/* Version 73 – freie Sicht: Fahrregler unter der Welt, kurze Hinweise. */
.mama-control-hint{display:none}
.is-mama-game .mama-control-hint{display:block;margin:10px auto 0;max-width:760px;text-align:center;font-size:.8rem;line-height:1.5;color:#315d60}
.game-page-simple.is-mama-game .mama-move-controls{position:relative;inset:auto;width:100%;margin:10px 0 0;padding:10px 14px 14px;background:#e5f3ec;border:1px solid #bfd9d0;border-radius:22px;grid-template-columns:1fr minmax(108px,170px) 1fr;gap:12px;align-items:center}
.game-page-simple.is-mama-game .mama-move-controls[hidden]{display:none}
.game-page-simple.is-mama-game .mama-move-controls button{width:64px;height:64px;border-width:3px;font-size:1.3rem;touch-action:none}
.game-page-simple.is-mama-game .mama-move-controls button small{font-size:.66rem;line-height:1.1}
.game-page-simple.is-mama-game .mama-pedals .mama-brake,.game-page-simple.is-mama-game .mama-pedals .mama-gas{width:70px;height:64px}
.game-page-simple.is-mama-game .mama-steering-wheel{display:none}
.game-page-simple.is-mama-game .mama-action-button{width:100%;min-width:0;height:64px;animation:none;background:#ffe185;color:#23494b;box-shadow:0 5px 0 #c7a346}
.game-page-simple.is-mama-game .mama-action-button:focus-visible{outline:4px solid #156875;outline-offset:3px}
.game-page-simple.is-mama-game .mama-world-ribbon{display:none}
.game-page-simple.is-mama-game .mama-minimap{top:auto;bottom:12px;left:auto;right:12px;width:128px;box-shadow:0 4px 12px #264e4720}
.game-page-simple.is-mama-game .mama-camera-button{top:10px;right:auto;left:10px;width:118px;min-height:48px;background:#fff6d9;color:#315758;border:2px solid #dfb64d;box-shadow:0 4px 0 #d6bd6f}
.game-page-simple.is-mama-game .mama-camera-button small{font-size:.68rem;letter-spacing:0}
.game-page-simple.is-mama-game .mama-speedometer{top:auto;bottom:12px;min-width:54px;min-height:48px;background:#256e72;box-shadow:none}
.game-page-simple.is-mama-game .mama-combo{display:none}
.game-page-simple.is-mama-game .mama-dialogue{top:auto;bottom:18px;width:min(540px,90%);background:#fffaf0;color:#245358;border-color:#efd36e;box-shadow:0 6px 22px #213d4424;transform:translateX(-50%)}
.game-page-simple.is-mama-game .mama-dialogue small{font-size:.83rem;color:#546660}
.game-page-simple.is-mama-game .mama-dialogue strong{font-size:clamp(1rem,3vw,1.4rem)}
.game-page-simple.is-mama-game .mama-level-card{top:auto;bottom:18px;max-width:90%;padding:12px 18px;transform:translateX(-50%)}
.is-mama-game .mama-medals{display:none}
.game-page-simple.is-mama-game .game-toast{top:auto;bottom:10px;left:50%;max-width:64%;font-size:.82rem;padding:7px 12px;pointer-events:none}
.mama-pause-note{position:absolute;z-index:20;left:50%;top:50%;transform:translate(-50%,-50%);background:#fffbea;color:#28595e;border:2px solid #e2bd53;border-radius:18px;padding:18px;text-align:center;font-size:1.15rem;font-weight:800}
.mama-pause-note[hidden]{display:none}
.game-choice-card[hidden]{display:none!important}
.game-page-simple.is-mama-3d .game-board-wrap::after{display:none}
.ad-note{font-size:.8rem;color:#52645f}
@media(max-width:720px){
 .game-page-simple.is-mama-game .mama-move-controls{grid-template-columns:1fr 1fr;padding:10px;gap:8px}
 .game-page-simple.is-mama-game .mama-action-button{grid-column:1/-1;grid-row:1;height:48px;display:flex;align-items:center;justify-content:center;gap:10px}
 .game-page-simple.is-mama-game .mama-action-button[hidden]{display:none}
 .is-mama-game .mama-steering{grid-column:1;grid-row:2;gap:6px}
 .is-mama-game .mama-pedals{grid-column:2;grid-row:2;gap:6px}
 .game-page-simple.is-mama-game .mama-move-controls button,.game-page-simple.is-mama-game .mama-pedals .mama-brake,.game-page-simple.is-mama-game .mama-pedals .mama-gas{width:58px;height:56px}
 .game-page-simple.is-mama-game .mama-action-button{width:100%;height:48px}
 .game-page-simple.is-mama-game .mama-minimap,.game-page-simple.is-mama-game .mama-speedometer{display:none}
 .game-page-simple.is-mama-game .mama-camera-button{top:7px;left:7px;width:96px;min-height:46px}
 .game-page-simple.is-mama-game .mama-camera-button small{font-size:.63rem}
 .game-page-simple.is-mama-game .game-board-wrap{aspect-ratio:1/1}
 .game-page-simple.is-mama-game .game-toast{max-width:88%}
}
@media(max-height:560px) and (orientation:landscape){
 .game-page-simple.is-mama-game .mama-move-controls{margin-top:5px;padding:6px 10px 10px}
 .game-page-simple.is-mama-game .mama-move-controls button,.game-page-simple.is-mama-game .mama-pedals .mama-brake,.game-page-simple.is-mama-game .mama-pedals .mama-gas{height:48px}
 .is-mama-game .mama-control-hint{display:none}
}

/* Version 92 – echte, ruhige Spieleübersicht statt dunkler Overlay-Auswahl. */
.game-page-simple:not(.is-game-started) .game-shell-section-simple {
  padding-top: clamp(18px, 3vw, 34px);
}
.game-page-simple:not(.is-game-started) .game-shell {
  width: min(1060px, 100%);
}
.game-page-simple:not(.is-game-started) .game-board-wrap {
  min-height: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  aspect-ratio: auto;
}
.game-page-simple:not(.is-game-started) #game-canvas,
.game-page-simple:not(.is-game-started) #mama-3d-canvas {
  display: none !important;
}
.game-page-simple:not(.is-game-started) .game-message {
  position: relative;
  inset: auto;
  display: block;
  padding: 0;
  background: transparent;
  color: #083d45;
  text-align: left;
  backdrop-filter: none;
}
.game-page-simple:not(.is-game-started) .game-message-card-simple {
  width: 100%;
  max-height: none;
  gap: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.game-page-simple:not(.is-game-started) .game-start-actions {
  width: 100%;
}
.game-picker-head {
  max-width: 720px;
  margin: 0 auto clamp(18px, 3vw, 26px);
  text-align: center;
}
.game-picker-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  padding: 7px 11px;
  border-radius: 999px;
  background: #e5f7f1;
  color: #08717c !important;
  font-size: .75rem;
  font-weight: 950;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.game-picker-head h2 {
  margin: 0;
  color: #083d45;
  font-family: var(--font-rounded);
  font-size: clamp(2rem, 5vw, 3.25rem);
  line-height: 1.02;
  letter-spacing: -.04em;
}
.game-picker-head p {
  margin: 8px 0 0;
  color: #41666b;
  font-size: clamp(.98rem, 2vw, 1.08rem);
  font-weight: 750;
}
.game-page-simple:not(.is-game-started) .game-choice-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  width: min(960px, 100%);
}
.game-page-simple:not(.is-game-started) .game-choice-card {
  min-height: 132px;
  grid-template-columns: 150px minmax(0,1fr) 44px;
  padding: 0 12px 0 0;
  border: 2px solid rgba(8, 81, 90, .12);
  border-radius: 24px;
  background: #fffefa;
  box-shadow: 0 10px 26px rgba(8,61,69,.11);
}
.game-page-simple:not(.is-game-started) .game-choice-card::after { display: none; }
.game-page-simple:not(.is-game-started) .game-choice-visual {
  grid-column: 1;
  grid-row: 1;
  width: 150px;
  height: 132px;
  margin: 0 14px 0 0;
  border-radius: 22px 0 0 22px;
  background: #eef8f4;
}
.game-page-simple:not(.is-game-started) .game-choice-card > span:nth-child(2) {
  min-height: 0;
  padding: 12px 4px;
}
.game-page-simple:not(.is-game-started) .game-choice-card strong {
  color: #083d45;
  font-size: clamp(1.08rem, 2vw, 1.3rem);
}
.game-page-simple:not(.is-game-started) .game-choice-card small {
  color: #315d63;
  font-size: .92rem;
  font-weight: 750;
}
.game-page-simple:not(.is-game-started) .game-choice-card b {
  grid-column: 3;
  grid-row: 1;
  width: 40px;
  height: 40px;
  margin: 0;
  background: #087e8b;
  color: #fff;
  box-shadow: none;
}
.game-page-simple:not(.is-game-started) .game-choice-featured {
  grid-column: 1 / -1;
  min-height: 205px;
  grid-template-columns: minmax(280px, .95fr) minmax(0, 1.05fr) 50px;
  border: 3px solid #f2c84e;
  background: linear-gradient(135deg,#fff7c7,#fffefa 52%,#def5e9);
  box-shadow: 0 18px 38px rgba(8,61,69,.14);
}
.game-page-simple:not(.is-game-started) .game-choice-featured .game-choice-visual {
  width: 100%;
  height: 205px;
  margin: 0 18px 0 0;
  border-radius: 21px 0 0 21px;
}
.game-page-simple:not(.is-game-started) .game-choice-featured strong {
  font-size: clamp(1.5rem, 3vw, 2.2rem);
}
.game-page-simple:not(.is-game-started) .game-choice-featured small {
  margin-top: 7px;
  font-size: clamp(.98rem, 1.8vw, 1.08rem);
}
.game-choice-badge {
  position: absolute;
  z-index: 3;
  top: 12px;
  left: 12px;
  padding: 7px 11px;
  border-radius: 999px;
  background: #f5c94e;
  color: #563d00;
  box-shadow: 0 5px 14px rgba(86,61,0,.16);
  font-size: .73rem;
  font-style: normal;
  font-weight: 950;
  letter-spacing: .07em;
}
.game-picker-parent {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 12px;
  margin: 18px auto 0;
  color: #527177;
  text-align: center;
}
.game-picker-parent button {
  min-height: 44px;
  padding: 9px 14px;
  border: 1px solid rgba(8,81,90,.15);
  border-radius: 14px;
  background: #fff;
  color: #0a626c;
  font: 850 .88rem/1.2 var(--font-body);
  cursor: pointer;
}
.game-picker-parent button:hover,
.game-picker-parent button:focus-visible {
  border-color: #159aa4;
  outline: 3px solid rgba(38,199,208,.18);
  outline-offset: 2px;
}
.game-picker-parent small {
  color: #607b80 !important;
  font-size: .8rem;
  font-weight: 700;
}

@media (max-width: 760px) {
  .game-page-simple:not(.is-game-started) .game-title-row {
    display: none;
  }
  .game-page-simple:not(.is-game-started) .game-shell-section-simple {
    padding-top: 14px;
  }
  .game-picker-head { margin-bottom: 15px; }
  .game-picker-head h2 { font-size: clamp(1.85rem, 8vw, 2.45rem); }
  .game-picker-head p { margin-top: 6px; font-size: .94rem; }
  .game-page-simple:not(.is-game-started) .game-choice-grid {
    grid-template-columns: 1fr;
    gap: 9px;
    width: min(520px, 100%);
  }
  .game-page-simple:not(.is-game-started) .game-choice-featured {
    grid-column: auto;
    min-height: 188px;
    grid-template-columns: 1fr 46px;
    grid-template-rows: 112px auto;
    padding: 0 10px 0;
  }
  .game-page-simple:not(.is-game-started) .game-choice-featured .game-choice-visual {
    grid-column: 1 / -1;
    grid-row: 1;
    width: calc(100% + 20px);
    height: 112px;
    margin: 0 -10px;
    border-radius: 20px 20px 0 0;
  }
  .game-page-simple:not(.is-game-started) .game-choice-featured > span:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
    padding: 11px 8px 12px 4px;
  }
  .game-page-simple:not(.is-game-started) .game-choice-featured b {
    grid-column: 2;
    grid-row: 2;
  }
  .game-page-simple:not(.is-game-started) .game-choice-featured strong { font-size: 1.25rem; }
  .game-page-simple:not(.is-game-started) .game-choice-featured small { margin-top: 3px; font-size: .9rem; }
  .game-page-simple:not(.is-game-started) .game-choice-card:not(.game-choice-featured) {
    min-height: 84px;
    grid-template-columns: 94px minmax(0,1fr) 38px;
    border-radius: 19px;
  }
  .game-page-simple:not(.is-game-started) .game-choice-card:not(.game-choice-featured) .game-choice-visual {
    width: 94px;
    height: 84px;
    margin-right: 10px;
    border-radius: 17px 0 0 17px;
  }
  .game-page-simple:not(.is-game-started) .game-choice-card > span:nth-child(2) {
    padding: 8px 2px 8px 6px;
  }
  .game-page-simple:not(.is-game-started) .game-choice-card strong { font-size: 1rem; }
  .game-page-simple:not(.is-game-started) .game-choice-card small { font-size: .84rem; }
  .game-page-simple:not(.is-game-started) .game-choice-card b { width: 35px; height: 35px; }
  .game-picker-parent { margin-top: 14px; }
  .game-picker-parent small { flex-basis: 100%; }
}

@media (max-width: 390px) {
  .game-picker-kicker { font-size: .68rem; }
  .game-page-simple:not(.is-game-started) .game-choice-featured { min-height: 176px; grid-template-rows: 104px auto; }
  .game-page-simple:not(.is-game-started) .game-choice-featured .game-choice-visual { height: 104px; }
  .game-page-simple:not(.is-game-started) .game-choice-card:not(.game-choice-featured) {
    grid-template-columns: 84px minmax(0,1fr) 34px;
    min-height: 78px;
  }
  .game-page-simple:not(.is-game-started) .game-choice-card:not(.game-choice-featured) .game-choice-visual { width: 84px; height: 78px; }
  .game-page-simple:not(.is-game-started) .game-choice-card strong { font-size: .95rem; }
  .game-page-simple:not(.is-game-started) .game-choice-card small { font-size: .79rem; }
}
