/* Apfellinchen-Minigolf – öffentliches Spiel. Mobil zuerst; eigene Hintergründe, damit es im dunklen und hellen Seiten-Look lesbar bleibt. */
.mg-spiel-seite{--mg-gruen:#1f5c3a;--mg-gruen2:#2f7d4f;--mg-rot:#c0392b;--mg-rot-dunkel:#a93226;--mg-creme:#fdf8ef;--mg-text:#1c2a21;--mg-text2:#4a5a4f}
.mg-spiel{--mg-gruen:#1f5c3a;--mg-gruen2:#2f7d4f;--mg-rot:#c0392b;--mg-rot-dunkel:#a93226;--mg-creme:#fdf8ef;--mg-text:#1c2a21;--mg-text2:#4a5a4f;--mg-fokus:#ffd166;
  display:block;width:100%;margin:12px auto 18px;position:relative}
.mg-spiel-container{max-width:760px}
.mg-spiel-h1{font-size:clamp(2.2rem,6vw,3.6rem);margin-bottom:8px}
.mg-spiel-intro{margin-bottom:6px}
.mg-spiel-hilfe{max-width:520px;margin:6px auto 0;font-size:.92rem;line-height:1.5;text-align:center}
.mg-spiel-buchen-unten{text-align:center;margin-top:18px}

.mg-app{max-width:520px;margin:0 auto;color:var(--mg-text);font:inherit;line-height:1.4;-webkit-tap-highlight-color:transparent}
.mg-app *,.mg-app *::before,.mg-app *::after{box-sizing:border-box}
.mg-app button{font:inherit}
/* Seiten-Regeln wie „.dark-section h2{color:…}“ dürfen das Spiel nicht umfärben (Texte sind div/span, Überschriften hier fest) */
.mg-app.mg-app.mg-app h2,.mg-app.mg-app.mg-app h3{font-family:inherit;font-weight:800;color:var(--mg-gruen);letter-spacing:-.01em}
.mg-ist-ergebnis .mg-feld,.mg-ist-ergebnis .mg-hud,.mg-ist-ergebnis .mg-aufgabe{display:none}
.mg-ist-ergebnis .mg-buehne{margin-bottom:4px}
.mg-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- HUD ---------- */
.mg-hud{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"titel knoepfe" "werte werte";align-items:center;gap:2px 10px;
  background:var(--mg-gruen);color:var(--mg-creme);border-radius:14px;padding:8px 8px 8px 14px;box-shadow:0 6px 18px rgba(0,0,0,.18);margin-bottom:8px}
.mg-hud-titel{grid-area:titel;display:flex;align-items:baseline;gap:8px;min-width:0}
.mg-hud-nr{flex:none;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.14);padding:1px 8px;border-radius:99px}
.mg-hud-name{font-weight:700;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.mg-hud-werte{grid-area:werte;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.86rem}
.mg-wert{display:inline-flex;gap:5px;align-items:baseline}
.mg-wert-l{opacity:.9}
.mg-wert-z{font-size:1.05rem;font-variant-numeric:tabular-nums}
.mg-hud-knoepfe{grid-area:knoepfe;display:flex;gap:6px}
.mg-icon-knopf{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.1);color:var(--mg-creme);cursor:pointer;transition:background .15s}
.mg-icon-knopf:hover{background:rgba(255,255,255,.2)}
.mg-icon-knopf[aria-pressed="false"]{opacity:.8}
.mg-app :focus-visible{outline:3px solid var(--mg-fokus);outline-offset:2px}
html[data-theme="light"] .mg-app :focus-visible{outline-color:#1f5c3a}

/* ---------- Bühne: Apfellinchen + Feld ---------- */
.mg-buehne{display:flex;flex-direction:column;align-items:center;gap:6px}
.mg-coach{display:flex;align-items:flex-end;gap:10px;width:100%;min-height:80px;padding:0 4px}
.mg-apfel{flex:none;width:62px;height:auto;filter:drop-shadow(0 4px 6px rgba(0,0,0,.3));transform-origin:50% 92%;animation:mg-atmen 3.6s ease-in-out infinite;user-select:none;-webkit-user-drag:none;pointer-events:none}
.mg-app .mg-blase{position:relative;flex:1 1 auto;margin:0 0 18px;background:var(--mg-creme);color:var(--mg-text);border-radius:14px;padding:8px 12px;font-size:.92rem;line-height:1.35;font-weight:600;
  box-shadow:0 4px 14px rgba(0,0,0,.18);border:1px solid rgba(31,92,58,.18);max-width:420px;min-height:2.2em}
.mg-blase:empty{visibility:hidden}
.mg-blase::before{content:"";position:absolute;left:-8px;bottom:12px;border:8px solid transparent;border-left:0;border-right-color:var(--mg-creme)}
.mg-blase-neu{animation:mg-pop .35s ease-out}

.mg-seitlich .mg-buehne{flex-direction:row;align-items:stretch;justify-content:center;gap:8px}
.mg-seitlich .mg-coach{order:2;flex-direction:column-reverse;align-items:center;justify-content:flex-start;width:auto;flex:0 1 112px;min-width:92px;padding:0}
.mg-seitlich .mg-apfel{width:min(84px,100%)}
.mg-seitlich .mg-blase{margin:0 0 12px;font-size:.84rem;padding:8px 9px;flex:none;width:100%}
.mg-seitlich .mg-blase::before{left:50%;bottom:-8px;margin-left:-8px;border:8px solid transparent;border-bottom:0;border-top-color:var(--mg-creme)}

.mg-feld{position:relative;flex:none;border-radius:16px;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.35);background:#26332a}
.mg-canvas{display:block;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:crosshair;border-radius:16px}
.mg-canvas:focus{outline:none}
.mg-canvas:focus-visible{outline:none;box-shadow:inset 0 0 0 4px var(--mg-fokus)}
.mg-feld:has(.mg-canvas:focus-visible){box-shadow:0 0 0 3px var(--mg-fokus),0 10px 28px rgba(0,0,0,.35)}
html[data-theme="light"] .mg-feld:has(.mg-canvas:focus-visible){box-shadow:0 0 0 3px #1f5c3a,0 10px 28px rgba(0,0,0,.25)}

/* Einblendungen über dem Feld */
.mg-oben{position:absolute;z-index:5;top:10px;left:10px;right:10px;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}
.mg-oben>*{pointer-events:auto}
.mg-meldung{position:absolute;left:50%;transform:translateX(-50%)}
.mg-intro,.mg-pate-toast,.mg-meldung{max-width:calc(100% - 20px);width:max-content;background:rgba(253,248,239,.96);color:var(--mg-text);
  border-radius:12px;box-shadow:0 6px 18px rgba(0,0,0,.3);text-align:center;animation:mg-einblenden .3s ease-out}
.mg-intro{padding:8px 14px;display:flex;flex-direction:column;gap:1px;cursor:pointer}
.mg-app .mg-intro-nr{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mg-gruen)}
.mg-intro-name{font-size:1.1rem}
.mg-pate-toast{padding:7px 12px;font-size:.86rem;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;max-width:100%}
.mg-pate-toast-text strong{font-weight:700}
.mg-meldung{top:42%;padding:10px 16px;font-weight:700;background:#1f4f8a;color:#fff}
.mg-werbung{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:1px 6px;border-radius:5px;background:#e9e2d2;color:#4a3f2a;border:1px solid #cfc3a8;flex:none}

/* Bahnende */
.mg-ende{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:12px;background:rgba(15,30,20,.42);animation:mg-einblenden .25s ease-out}
.mg-tafel{background:var(--mg-creme);color:var(--mg-text);border-radius:18px;box-shadow:0 14px 40px rgba(0,0,0,.35);padding:18px 18px 16px}
.mg-ende-karte{width:100%;max-width:340px;text-align:center}
.mg-app .mg-ende-titel{font-size:1.65rem;line-height:1.15;margin:0 0 4px;color:var(--mg-gruen);letter-spacing:-.01em}
.mg-app .mg-ende-info{color:var(--mg-text2);margin:0 0 14px;font-weight:600}
.mg-knoepfe{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center}
.mg-ende-karte .mg-knoepfe{flex-direction:column;align-items:stretch}
.mg-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:999px;border:2px solid transparent;font-weight:700;font-size:.98rem;
  text-decoration:none;cursor:pointer;line-height:1.2;text-align:center;transition:background .15s,transform .1s}
.mg-btn:active{transform:scale(.98)}
.mg-btn-primaer{background:var(--mg-gruen);color:#fff}
.mg-btn-primaer:hover{background:#174a2e}
.mg-btn-zweit{background:#fff;color:var(--mg-gruen);border-color:var(--mg-gruen2)}
.mg-btn-zweit:hover{background:#eef6f0}
.mg-btn-rot{background:var(--mg-rot);color:#fff}
.mg-btn-rot:hover{background:var(--mg-rot-dunkel)}
.mg-tafel :focus-visible{outline:3px solid #1f5c3a;outline-offset:2px}

/* ---------- Paten-Banner ---------- */
.mg-pate{margin:10px auto 0;max-width:520px;background:var(--mg-creme);color:var(--mg-text);border-radius:14px;padding:10px 14px;box-shadow:0 4px 14px rgba(0,0,0,.15);border:1px solid rgba(31,92,58,.15)}
.mg-pate-kopf{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.mg-pate-label{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mg-text2)}
.mg-pate-zeile{display:flex;align-items:center;gap:10px;color:var(--mg-text);text-decoration:none;font-weight:700}
a.mg-pate-zeile .mg-pate-name{text-decoration:underline;text-underline-offset:3px;color:var(--mg-gruen)}
.mg-pate-logo{width:auto;max-width:110px;max-height:40px;object-fit:contain;display:block;flex:none}
.mg-app .mg-pate-text{margin:4px 0 0;font-size:.88rem;color:var(--mg-text2)}

/* ---------- Ergebnis ---------- */
.mg-ergebnis{margin-top:4px}
.mg-ergebnis-karte{padding:20px 16px}
.mg-app .mg-ergebnis-titel{font-size:1.8rem;margin:0 0 10px;color:var(--mg-gruen);text-align:center;outline:none}
.mg-tabelle-wrap{max-height:52vh;overflow:auto;border-radius:10px;border:1px solid #e3dccb;background:#fff}
.mg-tabelle{width:100%;border-collapse:collapse;font-size:.92rem;color:var(--mg-text)}
.mg-tabelle caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.mg-tabelle th,.mg-tabelle td{padding:7px 10px;border-bottom:1px solid #eee7d8;text-align:left}
.mg-tabelle thead th{position:sticky;top:0;background:#f4eedf;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mg-text2)}
.mg-tabelle tbody th{font-weight:600}
.mg-tabelle tfoot th,.mg-tabelle tfoot td{font-weight:800;background:#f4eedf;border-bottom:0}
.mg-zahl{text-align:right!important;font-variant-numeric:tabular-nums;width:4.2em}
.mg-bahnnr{display:inline-flex;align-items:center;justify-content:center;min-width:1.7em;height:1.7em;border-radius:99px;background:var(--mg-gruen);color:#fff;font-size:.75rem;font-weight:700;margin-right:4px}
.mg-app .mg-unter{color:#1b6b3a;font-weight:800}
.mg-app .mg-ueber{color:#a5281b;font-weight:700}
.mg-app .mg-ergebnis-summe{text-align:center;font-weight:700;margin:12px 0 14px;color:var(--mg-text)}
.mg-app .mg-kurzmeldung{text-align:center;margin:10px 0 0;font-weight:600;color:var(--mg-gruen);word-break:break-all}
.mg-antwort:empty{display:none}
.mg-antwort{margin-top:16px;display:grid;gap:14px}
.mg-bestenliste,.mg-gutschein{border-radius:14px;padding:14px;background:#fff;border:1px solid #e3dccb}
.mg-app .mg-bestenliste h3,.mg-app .mg-gutschein h3{font-size:1.2rem;margin:0 0 8px;color:var(--mg-gruen);letter-spacing:0}
.mg-app .mg-spitzname,.mg-app .mg-rang{margin:0 0 6px;color:var(--mg-text)}
.mg-top{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:2px}
.mg-top li{display:grid;grid-template-columns:2.2em 1fr auto auto;gap:8px;align-items:center;padding:6px 8px;border-radius:8px;color:var(--mg-text)}
.mg-top li:nth-child(odd){background:#f8f4ea}
.mg-top li.mg-ich{background:#fde3df;outline:2px solid var(--mg-rot);font-weight:800}
.mg-app .mg-top-platz{color:var(--mg-text2);font-variant-numeric:tabular-nums}
.mg-top-schlaege{font-weight:700;font-variant-numeric:tabular-nums}
.mg-app .mg-top-datum{font-size:.8rem;color:var(--mg-text2)}
.mg-gutschein{text-align:center;background:#fff8e6;border:2px dashed var(--mg-rot)}
.mg-app .mg-code{font-size:clamp(1.6rem,8vw,2.3rem);font-weight:800;letter-spacing:.12em;color:var(--mg-rot-dunkel);margin:4px 0 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;user-select:all;word-break:break-all}
.mg-app .mg-gutschein-text{color:var(--mg-text2);margin:0 0 10px}
.mg-kopiert{font-weight:700;color:var(--mg-gruen)}
.mg-leer{color:inherit;text-align:center}

/* ---------- Apfellinchen-Reaktionen ---------- */
@keyframes mg-atmen{0%,100%{transform:scale(1,1)}50%{transform:scale(1.025,.975)}}
@keyframes mg-jubel{0%{transform:translateY(0) rotate(0)}20%{transform:translateY(-22px) rotate(-12deg)}40%{transform:translateY(0) rotate(0) scale(1.05,.92)}55%{transform:translateY(-14px) rotate(14deg)}75%{transform:translateY(0) rotate(360deg)}100%{transform:translateY(0) rotate(360deg)}}
@keyframes mg-wackel{0%,100%{transform:rotate(0)}15%{transform:rotate(-14deg)}30%{transform:rotate(11deg)}45%{transform:rotate(-8deg)}60%{transform:rotate(6deg)}75%{transform:rotate(-3deg)}}
@keyframes mg-daumen{0%,100%{transform:translateY(0) scale(1)}30%{transform:translateY(-6px) scale(1.06)}60%{transform:translateY(0) scale(.97,1.03)}}
@keyframes mg-hm{0%,100%{transform:rotate(0)}40%{transform:rotate(-7deg) translateX(-2px)}70%{transform:rotate(4deg)}}
@keyframes mg-pop{0%{transform:scale(.85);opacity:.3}70%{transform:scale(1.03)}100%{transform:scale(1);opacity:1}}
@keyframes mg-einblenden{from{opacity:0}to{opacity:1}}
.mg-apfel.mg-apfel-jubel{animation:mg-jubel 1.2s cubic-bezier(.3,.7,.4,1) 1}
.mg-apfel.mg-apfel-wackel{animation:mg-wackel .9s ease-in-out 1}
.mg-apfel.mg-apfel-daumen{animation:mg-daumen .9s ease-in-out 2}
.mg-apfel.mg-apfel-hm{animation:mg-hm .9s ease-in-out 1}

/* =====================================================================
   Ausbau 2: Apfelpunkte, Apfelwertung, Sammeläpfel, Abzeichen, Tagesaufgabe
   ===================================================================== */
.mg-app{--mg-gruen:#1f5c3a;--mg-gruen2:#2f7d4f;--mg-rot:#c0392b;--mg-rot-dunkel:#a93226;--mg-creme:#fdf8ef;--mg-text:#1c2a21;--mg-text2:#4a5a4f;--mg-fokus:#ffd166;--mg-gold:#e0a526;--mg-gold-hell:#fff3cf;--mg-gold-text:#6b4a12;--mg-rand:#e6dcc6}
.mg-wert-punkte{gap:3px;align-items:center}
.mg-wert-icon{display:inline-flex;width:18px;height:18px;flex:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}
.mg-wert-icon svg{width:18px;height:18px}

/* Apfel-Aufgabe des Tages */
.mg-aufgabe{display:flex;align-items:center;gap:10px;background:var(--mg-creme);color:var(--mg-text);border-radius:14px;padding:6px 6px 6px 10px;margin:0 0 8px;
  border:1px solid var(--mg-rand);box-shadow:0 3px 10px rgba(0,0,0,.12)}
.mg-aufgabe[hidden]{display:none}
.mg-aufgabe-icon{flex:none;display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:50%;background:#fff;border:2px solid var(--mg-gold)}
.mg-aufgabe-icon svg{width:24px;height:24px}
.mg-aufgabe-haken{opacity:0}
.mg-aufgabe-ok .mg-aufgabe-haken{opacity:1}
.mg-aufgabe-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;line-height:1.2}
.mg-app .mg-aufgabe-label{font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--mg-gruen);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mg-app .mg-aufgabe-ziel{font-size:.9rem;font-weight:700;color:var(--mg-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mg-aufgabe-stand{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:52px}
.mg-app .mg-aufgabe-zahl{font-size:.86rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--mg-gold-text)}
.mg-aufgabe-ok{background:#eef7ea;border-color:#b9dcb0}
.mg-app .mg-aufgabe-ok .mg-aufgabe-zahl{color:var(--mg-gruen)}
.mg-balken{display:block;width:52px;height:6px;border-radius:99px;background:#e9dfc9;overflow:hidden}
.mg-balken-fuell{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#e0a526,#f3c437);transition:width .4s ease}
.mg-aufgabe-ok .mg-balken-fuell{background:var(--mg-gruen2)}
.mg-app .mg-abz-knopf{flex:none;background:var(--mg-gruen);color:var(--mg-creme);border-color:transparent;width:44px;height:44px}
.mg-app .mg-abz-knopf:hover{background:#174a2e}

/* Toasts (Abzeichen, Tagesaufgabe) */
.mg-toast-box{display:flex;justify-content:center;width:100%}
.mg-toast-box:empty{display:none}
.mg-toast{display:flex;align-items:center;gap:9px;max-width:100%;padding:5px 16px 5px 5px;border-radius:999px;background:var(--mg-creme);color:var(--mg-text);
  border:2px solid var(--mg-gold);box-shadow:0 8px 22px rgba(0,0,0,.35);cursor:pointer;animation:mg-toast-rein .45s cubic-bezier(.2,.9,.3,1.3)}
.mg-toast-icon{flex:none;display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:50%;background:#fff;border:2px solid var(--mg-gold);box-shadow:inset 0 -2px 0 rgba(0,0,0,.06)}
.mg-toast-icon svg{width:28px;height:28px}
.mg-toast-text{display:flex;flex-direction:column;min-width:0;line-height:1.2;text-align:left}
.mg-toast-text strong{font-size:.95rem;color:var(--mg-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mg-app .mg-toast-label{font-size:.66rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--mg-gold-text)}
.mg-app .mg-toast-aufgabe .mg-toast-label{color:var(--mg-gruen)}
.mg-feld.mg-hat-toast .mg-ende{padding-top:64px}
.mg-toast-aufgabe{border-color:var(--mg-gruen2);background:#eef7ea}
@keyframes mg-toast-rein{from{opacity:0;transform:translateY(-14px) scale(.9)}to{opacity:1;transform:none}}

/* „+10“-Popups am Sammelapfel */
.mg-popup{position:absolute;z-index:3;display:inline-flex;align-items:center;gap:2px;transform:translate(-50%,-120%);pointer-events:none;
  font-weight:900;font-size:.95rem;color:#5a3d06;background:var(--mg-gold-hell);border:1.5px solid var(--mg-gold);border-radius:99px;padding:1px 7px 1px 3px;
  box-shadow:0 3px 8px rgba(0,0,0,.3);white-space:nowrap}
.mg-popup[hidden]{display:none}
.mg-popup-icon{display:inline-flex;width:16px;height:16px}
.mg-popup-icon svg{width:16px;height:16px}
.mg-popup-an{animation:mg-popup-hoch 1s ease-out forwards}
.mg-popup-still{animation:none}
@keyframes mg-popup-hoch{0%{opacity:0;transform:translate(-50%,-60%) scale(.7)}18%{opacity:1;transform:translate(-50%,-130%) scale(1.08)}70%{opacity:1}100%{opacity:0;transform:translate(-50%,-260%) scale(1)}}

/* Bahn-Ende: Apfelwertung + Punkte */
.mg-ende{overflow:auto;-webkit-overflow-scrolling:touch}
.mg-ende-karte{margin:auto}
.mg-app .mg-ende-info{margin-bottom:8px}
.mg-wertung{display:inline-flex;align-items:flex-end;justify-content:center;gap:4px}
.mg-wertung-gross{display:flex;gap:8px;margin:0 0 10px}
.mg-wertung-gross .mg-wa svg{width:44px;height:44px}
.mg-wertung-gross .mg-wa:nth-child(2) svg{width:52px;height:52px}
.mg-wa{display:inline-flex;filter:drop-shadow(0 2px 2px rgba(0,0,0,.18))}
.mg-wa-leer{filter:none}
.mg-wertung-anim .mg-wa{animation:mg-wa-pop .5s cubic-bezier(.2,.9,.3,1.4) both}
@keyframes mg-wa-pop{0%{opacity:0;transform:scale(.3) rotate(-25deg)}70%{opacity:1;transform:scale(1.18) rotate(6deg)}100%{opacity:1;transform:none}}
.mg-teile{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:5px}
.mg-teil{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;padding:3px 9px;border-radius:99px;background:#f3ecdc;border:1px solid var(--mg-rand);font-size:.8rem;font-weight:600;color:var(--mg-text)}
.mg-teil-p{color:var(--mg-gruen);font-variant-numeric:tabular-nums}
.mg-teil-aepfel,.mg-teil-alle{background:var(--mg-gold-hell);border-color:#ecc96a}
.mg-teil-icon{display:inline-flex;width:16px;height:16px}
.mg-teil-icon svg{width:16px;height:16px}
.mg-app .mg-ende-punkte{display:flex;align-items:center;justify-content:center;gap:5px;margin:0 0 12px;font-weight:700;color:var(--mg-gold-text)}
.mg-ende-punkte b{font-size:1.35rem;color:var(--mg-gold-text);font-variant-numeric:tabular-nums}
.mg-ende-punkte .mg-teil-icon,.mg-ende-punkte .mg-teil-icon svg{width:22px;height:22px}

/* Ergebnis: Kopfzahlen, Wertungsspalte, neue Abzeichen */
.mg-held{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px}
.mg-held-feld{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon zahl" "icon l";align-items:center;column-gap:10px;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid var(--mg-rand)}
.mg-held-punkte{background:linear-gradient(160deg,#fff8e1,#fdeec2);border-color:#ecc96a}
.mg-held-sterne{background:linear-gradient(160deg,#fff,#fbeeea);border-color:#efc9c2}
.mg-held-icon{grid-area:icon;display:inline-flex}
.mg-held-icon svg{width:38px;height:38px}
.mg-app .mg-held-zahl{grid-area:zahl;font-size:1.6rem;line-height:1.05;font-weight:900;font-variant-numeric:tabular-nums;color:var(--mg-text)}
.mg-app .mg-held-l{grid-area:l;font-size:.74rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--mg-text2)}
.mg-held-punkte .mg-held-zahl{color:var(--mg-gold-text)}
.mg-held-sterne .mg-held-zahl{color:#9e2a1e}
.mg-wert-spalte{text-align:center!important;white-space:nowrap;width:1%}
.mg-wertung-klein .mg-wa svg{width:17px;height:17px}
.mg-wertung-klein{gap:1px}
.mg-neue-abz{margin:0 0 14px;padding:12px;border-radius:14px;background:var(--mg-gold-hell);border:1px solid #ecc96a}
.mg-app .mg-neue-abz h3{font-size:1rem;margin:0 0 8px;color:var(--mg-gold-text);text-align:center}
.mg-neue-abz-liste{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.mg-neues-abz{display:flex;flex-direction:column;align-items:center;gap:4px;width:88px;text-align:center;font-size:.8rem;font-weight:700;color:var(--mg-text);line-height:1.2}
.mg-btn-icon{display:inline-flex;margin-right:6px}
.mg-btn-klein{min-height:40px;padding:0 14px;font-size:.88rem}

/* Abzeichen-Medaillon */
.mg-abz-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#fff;border:3px solid var(--mg-gold);
  box-shadow:0 2px 6px rgba(0,0,0,.15),inset 0 -3px 0 rgba(0,0,0,.05)}
.mg-abz-icon svg{width:34px;height:34px}

/* Dialog „Alle Abzeichen“ */
.mg-dialog-huelle{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:12px;background:rgba(10,22,14,.6);animation:mg-einblenden .2s ease-out}
.mg-dialog{width:100%;max-width:480px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:auto;background:var(--mg-creme);color:var(--mg-text);border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.45);padding:14px 14px 16px}
.mg-dialog-kopf{display:flex;align-items:center;justify-content:space-between;gap:10px;position:sticky;top:-14px;background:var(--mg-creme);padding:2px 0 6px;z-index:1}
.mg-app .mg-dialog-titel{margin:0;font-size:1.35rem}
.mg-dialog-zu{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--mg-rand);background:#fff;color:var(--mg-text);cursor:pointer}
.mg-dialog-zu:hover{background:#f3ecdc}
.mg-app .mg-dialog-zus{margin:0 0 10px;font-weight:700;color:var(--mg-text2)}
.mg-abz-liste{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.mg-abz{display:flex;align-items:center;gap:12px;padding:10px;border-radius:14px;background:#fff;border:1px solid var(--mg-rand)}
.mg-abz-an{background:linear-gradient(160deg,#fff,#fff8e6);border-color:#ecc96a}
.mg-abz-aus .mg-abz-icon{border-color:#cfc6b4;background:#f4f0e7;box-shadow:none}
.mg-abz-aus .mg-abz-icon svg{filter:grayscale(1);opacity:.45}
.mg-abz-text{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.25}
.mg-app .mg-abz-titel{font-size:.98rem;color:var(--mg-text)}
.mg-app .mg-abz-beschr{font-size:.84rem;color:var(--mg-text2)}
.mg-app .mg-abz-status{font-size:.76rem;font-weight:700;color:var(--mg-text2)}
.mg-app .mg-abz-an .mg-abz-status{color:var(--mg-gruen)}
.mg-abz-zaehler{display:flex;align-items:center;gap:8px;margin:2px 0}
.mg-abz-zaehler .mg-balken{width:110px;height:7px}
.mg-app .mg-abz-zahl{font-size:.8rem;font-weight:800;color:var(--mg-gold-text);font-variant-numeric:tabular-nums}
.mg-dialog-fuss{margin-top:14px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.mg-btn-loeschen{background:transparent;color:#a5281b;border-color:#d9a39b}
.mg-btn-loeschen:hover{background:#fbeeea}
.mg-loesch-frage{padding:10px;border-radius:12px;background:#fbeeea;border:1px solid #efc9c2}
.mg-app .mg-loesch-frage p{margin:0 0 8px;font-weight:600;color:var(--mg-text)}
.mg-app .mg-dialog-status{margin:0;font-weight:700;color:var(--mg-gruen)}
.mg-app .mg-dialog-status:empty{display:none}
.mg-dialog :focus-visible{outline:3px solid #1f5c3a;outline-offset:2px}

/* Wasser: ganz leichtes Wackeln des Spielfelds */
.mg-feld.mg-wackeln{animation:mg-feld-wackel .32s ease-in-out 1}
@keyframes mg-feld-wackel{0%,100%{transform:none}25%{transform:translateX(-2px)}50%{transform:translateX(2px)}75%{transform:translateX(-1px)}}

/* Effekte aus: keine Bewegung (Ton und Farben bleiben) */
.mg-ruhig .mg-apfel,.mg-ruhig .mg-blase-neu,.mg-ruhig .mg-toast,.mg-ruhig .mg-wa,.mg-ruhig .mg-feld,.mg-ruhig .mg-intro,.mg-ruhig .mg-pate-toast,.mg-ruhig .mg-meldung,.mg-ruhig .mg-ende,.mg-ruhig .mg-dialog-huelle{animation:none!important}
.mg-ruhig .mg-balken-fuell{transition:none}

@media (min-width:600px){
  .mg-ergebnis-karte{padding:24px}
}
@media (max-width:360px){
  .mg-hud-werte{gap:8px;font-size:.78rem}
  .mg-icon-knopf{width:40px;height:40px}
  .mg-hud-knoepfe{gap:4px}
  .mg-aufgabe{gap:8px;padding-left:8px}
  .mg-app .mg-aufgabe-ziel{font-size:.84rem}
  .mg-app .mg-aufgabe-label{letter-spacing:.03em;font-size:.62rem}
  .mg-aufgabe-stand{min-width:40px}
  .mg-aufgabe-ok .mg-aufgabe-wort{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .mg-balken{width:40px}
  .mg-tafel.mg-ende-karte{padding:14px 12px 12px}
  .mg-app .mg-ende-titel{font-size:1.4rem}
  .mg-wertung-gross{gap:4px;margin-bottom:6px}
  .mg-wertung-gross .mg-wa svg{width:34px;height:34px}
  .mg-wertung-gross .mg-wa:nth-child(2) svg{width:40px;height:40px}
  .mg-teil{font-size:.74rem;padding:2px 7px;gap:3px}
  .mg-teile{gap:4px}
  .mg-app .mg-ende-punkte{margin-bottom:8px}
  .mg-btn{min-height:44px}
  .mg-held-feld{padding:8px;column-gap:6px}
  .mg-held-icon svg{width:30px;height:30px}
  .mg-app .mg-held-zahl{font-size:1.3rem}
  .mg-tabelle th,.mg-tabelle td{padding:7px 6px}
}
@media (prefers-reduced-motion:reduce){
  .mg-app *,.mg-app *::before,.mg-app *::after{animation:none!important;transition:none!important}
}
@media (forced-colors:active){
  .mg-btn,.mg-icon-knopf{border:2px solid ButtonText}
}
.mg-app [hidden]{display:none!important}
/* Bahnende-Karte auf niedrigen Bildschirmen kompakt, damit sie ohne Scrollen ins Feld passt (Spieltest 30.10.2026) */
@media (max-height:760px),(max-width:360px){
  .mg-ende{padding:6px}
  .mg-tafel.mg-ende-karte{padding:10px 10px 10px}
  .mg-app .mg-ende-titel{font-size:1.2rem;margin-bottom:2px}
  .mg-app .mg-ende-info{margin-bottom:4px;font-size:.86rem}
  .mg-wertung-gross{margin-bottom:4px}
  .mg-wertung-gross .mg-wa svg{width:26px;height:26px}
  .mg-wertung-gross .mg-wa:nth-child(2) svg{width:30px;height:30px}
  .mg-teile{margin-bottom:6px}
  .mg-teil{font-size:.7rem;padding:1px 6px}
  .mg-app .mg-ende-punkte{margin-bottom:6px}
  .mg-ende-punkte b{font-size:1.15rem}
  .mg-ende-karte .mg-knoepfe{gap:6px}
  .mg-ende-karte .mg-btn{min-height:40px;padding-top:6px;padding-bottom:6px}
}
/* Überschriften in Meldungen nicht mitten im Wort umbrechen */
.mg-app .mg-toast-label,.mg-app .mg-toast-titel{word-break:normal;overflow-wrap:normal;hyphens:auto;-webkit-hyphens:auto}
.mg-held-feld{min-width:0}
/* Kleine Bildschirme: Bahnende-Karte über dem ganzen Bildschirm statt im (dann sehr kleinen) Feld */
@media (max-height:760px),(max-width:360px){
  .mg-ende{position:fixed;inset:0;z-index:40;padding:12px;background:rgba(10,22,15,.62)}
  .mg-feld.mg-hat-toast .mg-ende{padding-top:76px}
  .mg-feld .mg-toast-box{position:fixed;top:10px;left:0;right:0;z-index:41;padding:0 12px}
}
/* Gerätetest 31.10.2026: Rundenergebnis auf schmalen Handys (≤400 px) – Spalte „Apfelwertung“ und Kästchen-Beschriftung passten nicht */
@media (max-width:400px){
  .mg-app .mg-held-l{letter-spacing:0;font-size:.64rem}
  .mg-held-icon svg{width:26px;height:26px}
  .mg-held-feld{column-gap:6px;padding:8px 6px}
  .mg-tabelle{font-size:.84rem}
  .mg-tabelle th,.mg-tabelle td{padding:6px 4px}
  .mg-tabelle thead th{letter-spacing:0;font-size:.66rem}
  .mg-wert-spalte svg{width:15px;height:15px}
}
/* Gerätetest 31.10.2026: Handy quer – Bahnende-Karte ragte unten aus dem Bild; Abzeichen-Hinweis daher unten links statt oben */
@media (max-height:500px) and (orientation:landscape){
  .mg-feld.mg-hat-toast .mg-ende{padding-top:6px}
  .mg-feld .mg-toast-box{top:auto;bottom:8px;left:8px;right:auto;width:auto;max-width:calc(50% - 190px);justify-content:flex-start;padding:0}
  .mg-teile{display:none}
}
