/*
 * FELiX Denkwelt – Frontend.
 * Aussehen an die FELiX Aktivierungswelt angeglichen (Wunsch 07.11.2026): deren Grün #086A3F,
 * Rahmen #B9DCAE mit Innenlinie, Verlauf und Lichtschein oben rechts, Logo-Kachel links vom Titel,
 * Schrift Arial. Werte aus felix-aktivierungswelt/assets/faw.css (.faw-app, .faw-title …).
 * Nur eigene fdw-Klassen, alles unter .fdw-wrap. Umschalten per Container Query nach der Breite
 * des Inhaltsbereichs (nicht des Bildschirms), weil das Theme den Inhaltsbereich begrenzen kann.
 *
 * Absicherung gegen das System-Modul (framework-unified.css):
 *  - setzt border-radius auf jedem button mit !important  → unsere Rundungen mit !important;
 *  - setzt die Linkfarbe im Inhalt mit !important          → unsere Links mit höherer Spezifität;
 *  - setzt p/li am Handy auf 16 px mit !important          → kleine Zeilen sind div, nicht p.
 */

.fdw-wrap{
  --fdw-page:#F6F8F6; --fdw-card:#FFFFFF; --fdw-text:#17212B; --fdw-muted:#526072; --fdw-line:#D9E3DD;
  --fdw-green:#086A3F; --fdw-green-hover:#075735; --fdw-green-2:#2F8B4E; --fdw-green-ink:#075735; --fdw-green-pale:#E7F3E4; --fdw-area:#F2F8EF;
  --fdw-lime:#82B540; --fdw-rahmen:#B9DCAE; --fdw-innen:#EDF5EA; --fdw-fokus:#2F8B4E;
  --fdw-sand:#F3E8D0; --fdw-sand-strong:#E4CB91; --fdw-sand-ink:#7E5614; --fdw-blue:#3E6E95; --fdw-blue-pale:#E3ECF4;
  --fdw-cell:#EDF4EA; --fdw-white:#FFFFFF; --fdw-off:#C9D6CE; --fdw-off-ink:#4E6156;
  --fdw-su-linie:#6B8A76; --fdw-su-fein:#D3DFD6;
  --fdw-shadow:0 18px 46px rgba(35,78,58,.10);
  --fdw-font:Arial,"Helvetica Neue",Helvetica,sans-serif;
  container-type:inline-size;
  color:var(--fdw-text);font-family:var(--fdw-font);font-size:16px;line-height:1.55;
  margin:0 0 1.5em;
}
.fdw-wrap *,.fdw-wrap *::before,.fdw-wrap *::after{box-sizing:border-box}
.fdw-wrap [hidden]{display:none!important}
.fdw-wrap :focus-visible{outline:3px solid var(--fdw-fokus);outline-offset:2px}
.fdw-wrap button{font-family:inherit;text-transform:none;letter-spacing:normal;box-shadow:none;margin:0}
.fdw-wrap button::after{content:none}

/* ---------- Gemeinsame Bausteine ---------- */
/* Rahmen wie die Aktivierungswelt: die App als Ganzes, ein einzelnes Spiel als eigene Karte */
.fdw-wrap.fdw-app,.fdw-wrap:not(.fdw-app) > .fdw-card{position:relative;overflow:hidden;border:2px solid var(--fdw-rahmen);border-radius:24px;background:linear-gradient(180deg,#FCFEFB 0%,#FFFFFF 55%);box-shadow:var(--fdw-shadow)}
.fdw-wrap.fdw-app{max-width:1240px;padding:clamp(18px, 3.4vw, 40px) clamp(14px, 3.4vw, 40px) clamp(18px, 2.8vw, 32px)}
.fdw-wrap.fdw-app::before,.fdw-wrap:not(.fdw-app) > .fdw-card::before{content:"";position:absolute;inset:7px;border:1px solid var(--fdw-innen);border-radius:18px;pointer-events:none}
.fdw-wrap.fdw-app::after,.fdw-wrap:not(.fdw-app) > .fdw-card::after{content:"";position:absolute;top:-120px;right:-120px;width:360px;height:360px;background:radial-gradient(circle,rgba(130,181,64,.16),rgba(130,181,64,0) 70%);pointer-events:none}
.fdw-wrap.fdw-app > *,.fdw-wrap:not(.fdw-app) > .fdw-card > *{position:relative;z-index:1}
/* Am Handy: schmalerer Rahmen; ist ein Spiel offen, bekommt das Spielfeld die ganze Breite. */
@media (max-width: 600px){
  .fdw-wrap.fdw-app,.fdw-wrap:not(.fdw-app) > .fdw-card{border-radius:18px}
  .fdw-wrap.fdw-app{padding:16px 12px 18px}
  .fdw-wrap.fdw-app::before,.fdw-wrap:not(.fdw-app) > .fdw-card::before{inset:4px;border-radius:14px}
  .fdw-wrap.fdw-app[data-fdw-offen]{padding:0;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible}
  .fdw-wrap.fdw-app[data-fdw-offen]::before,.fdw-wrap.fdw-app[data-fdw-offen]::after{content:none}
}
.fdw-wrap .fdw-uebersicht{display:grid;gap:16px;margin:0}
.fdw-wrap .fdw-card{background:var(--fdw-card);border-radius:18px;box-shadow:var(--fdw-shadow);padding:clamp(14px, 4.5cqi, 40px);display:grid;gap:14px;max-width:760px;margin:0}
/* In der App trägt der äußere Rahmen; das Spiel steht ohne zweite Karte mittig darin. */
.fdw-wrap.fdw-app .fdw-card{background:none;box-shadow:none;padding:0;border-radius:0;margin:0 auto;width:100%}

/* Kopf: Logo-Kachel links, Titel, Lead, Einleitung */
.fdw-wrap .fdw-kopf{display:grid;gap:14px;margin:0 0 4px}
.fdw-wrap .fdw-kopf-zeile{display:grid;grid-template-columns:70px minmax(0,1fr);column-gap:18px;align-items:center}
.fdw-wrap .fdw-logo{display:grid;place-items:center;width:70px;height:70px;border-radius:22px;background:linear-gradient(135deg,#EEF8EA,#DCEFDF);box-shadow:0 6px 16px rgba(47,139,78,.14);color:var(--fdw-green)}
.fdw-wrap .fdw-logo svg{width:44px;height:44px}
.fdw-wrap .fdw-kopf-text{min-width:0;display:grid;gap:6px}
.fdw-wrap .fdw-titel{font-size:2.75rem;line-height:1.05;font-weight:800;letter-spacing:-.025em;color:var(--fdw-green);overflow-wrap:normal}
.fdw-wrap .fdw-titel-marke{font-size:.44em;font-weight:700;vertical-align:top;margin-left:5px;color:var(--fdw-green-2);position:relative;top:.22em}
.fdw-wrap .fdw-lead{font-size:1.45rem;line-height:1.25;color:#222B34}
.fdw-wrap .fdw-einleitung{margin:0;max-width:650px;font-size:1.18rem;line-height:1.55;color:var(--fdw-muted)}
.fdw-wrap .fdw-vorteile{margin:6px 0 10px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;text-align:center;color:#202939}
.fdw-wrap .fdw-vorteil{display:flex;flex-direction:column;align-items:center;gap:7px;margin:0;padding:0;font-size:1rem;line-height:1.35}
.fdw-wrap .fdw-vorteil-symbol{display:grid;place-items:center;width:52px;height:44px;color:var(--fdw-green)}
.fdw-wrap .fdw-vorteil-symbol svg{width:36px;height:36px}
.fdw-wrap .fdw-auswahl-titel{font-size:1.65rem;line-height:1.2;font-weight:800;color:var(--fdw-green);margin:0}
.fdw-wrap .fdw-kopfzeile{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;margin:0;min-height:44px}
.fdw-wrap.fdw-wrap.fdw-wrap a.fdw-zurueck{justify-self:start;display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:2px solid var(--fdw-green);border-radius:12px;background:var(--fdw-card);color:var(--fdw-green-ink)!important;font-weight:600;font-size:.95rem;text-decoration:none!important;line-height:1.2}
.fdw-wrap.fdw-wrap.fdw-wrap a.fdw-zurueck:hover{background:var(--fdw-green-pale);border-color:var(--fdw-green-hover)}
/* App: Symbol und Name des Spiels (die Seite heißt hier nicht wie das Spiel) */
.fdw-wrap .fdw-titelzeile{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:12px;row-gap:0;align-items:center;margin-top:-2px}
.fdw-wrap .fdw-titel-symbol{width:48px;height:48px;border-radius:15px;display:grid;place-items:center}
.fdw-wrap .fdw-titel-symbol svg{width:28px;height:28px}
.fdw-wrap .fdw-spielname{font-size:1.5rem;font-weight:800;line-height:1.2;letter-spacing:-.01em;color:var(--fdw-green);outline:none}
/* Der Spielname bekommt beim Öffnen den Fokus nur für Bildschirmleser; er ist nicht anklickbar, deshalb ohne Rahmen. */
.fdw-wrap .fdw-spielname:focus,.fdw-wrap .fdw-spielname:focus-visible{outline:none!important;box-shadow:none}
.fdw-wrap .fdw-btn,.fdw-wrap .fdw-btn2{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 12px;border-radius:14px!important;font:inherit;font-weight:700;font-size:1.05rem;cursor:pointer;text-align:center;line-height:1.2}
.fdw-wrap .fdw-btn{border:0;background:var(--fdw-green);color:var(--fdw-white)}
.fdw-wrap .fdw-btn:hover{background:var(--fdw-green-hover)}
.fdw-wrap .fdw-btn:disabled{background:var(--fdw-off);color:var(--fdw-off-ink);cursor:default}
.fdw-wrap .fdw-btn2{border:2px solid var(--fdw-green);background:var(--fdw-card);color:var(--fdw-green)}
.fdw-wrap .fdw-btn2:hover{background:#EEF7EF;color:var(--fdw-green-hover)}
.fdw-wrap .fdw-btn2[aria-pressed="true"]{background:var(--fdw-green-pale)}
.fdw-wrap .fdw-aktionen{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fdw-wrap .fdw-aktionen > :only-child{grid-column:1 / -1}
.fdw-wrap .fdw-zaehler{margin:0;font-weight:600}
.fdw-wrap .fdw-erfolg{display:grid;gap:10px;padding:16px;border-radius:16px;background:var(--fdw-green-pale)}
.fdw-wrap .fdw-erfolg-titel{font-size:1.35rem;font-weight:800;color:var(--fdw-green-ink)}
.fdw-wrap .fdw-teilen{display:grid;gap:6px;padding:12px;border:1px dashed var(--fdw-green);border-radius:12px;background:var(--fdw-card)}
.fdw-wrap .fdw-teilen-text{user-select:all;-webkit-user-select:all;overflow-wrap:anywhere}
.fdw-wrap .fdw-teilen-status{font-size:.9rem;color:var(--fdw-muted)}
.fdw-wrap .fdw-anleitung{border-top:1px solid var(--fdw-line);padding-top:4px;margin:0}
.fdw-wrap .fdw-anleitung summary{min-height:48px;display:flex;align-items:center;font-weight:600;color:var(--fdw-green-ink);cursor:pointer;list-style:revert;background:none;padding:0;border:0}
.fdw-wrap .fdw-anleitung-text{margin:0 0 8px;color:var(--fdw-muted)}
.fdw-wrap .fdw-laden{color:var(--fdw-muted);text-align:center;padding:40px 0}
.fdw-wrap .fdw-meldung-box{display:grid;gap:12px;justify-items:center;text-align:center;padding:24px 12px;border-radius:16px;background:var(--fdw-area);color:var(--fdw-text)}
.fdw-wrap .fdw-buehne{display:grid;gap:14px;min-width:0}
.fdw-wrap .fdw-redaktion{margin:0 auto 12px;max-width:760px;padding:10px 14px;border:1px dashed var(--fdw-sand-ink);border-radius:10px;background:var(--fdw-sand);color:var(--fdw-sand-ink);font-size:.95rem}
.fdw-wrap .fdw-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Stufenwahl: am Handy eine Zeile mit „Ändern“, breit drei Knöpfe */
.fdw-wrap .fdw-stufe{display:grid;gap:8px}
.fdw-wrap .fdw-stufe:empty{display:none}
.fdw-wrap .fdw-stufe-zeile{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 4px 4px 14px;background:var(--fdw-green-pale);border-radius:14px}
.fdw-wrap .fdw-stufe-text{margin:0}
.fdw-wrap .fdw-stufe-text strong{color:var(--fdw-green-ink)}
.fdw-wrap .fdw-stufe-angabe{white-space:nowrap}
.fdw-wrap .fdw-link-btn{min-height:50px;padding:0 14px;border:0;border-radius:12px!important;background:transparent;color:var(--fdw-green-ink);font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.fdw-wrap .fdw-link-btn:hover{background:var(--fdw-card)}
/* „Nächstes Rätsel“ / „Neu mischen“ während des Spiels: ruhig, mittig, mindestens 50 px hoch */
.fdw-wrap .fdw-weiter-zeile{display:flex;justify-content:center;margin-top:-6px}
.fdw-wrap .fdw-weiter-zeile .fdw-link-btn{font-weight:600}
.fdw-wrap .fdw-weiter-zeile .fdw-link-btn:hover{background:var(--fdw-area)}
.fdw-wrap .fdw-stufe-optionen{display:none;gap:8px}
.fdw-wrap .fdw-stufe[data-open] .fdw-stufe-optionen{display:grid}
.fdw-wrap .fdw-stufe-opt{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:54px;padding:0 16px;border:2px solid var(--fdw-line);border-radius:14px!important;background:var(--fdw-card);font:inherit;color:var(--fdw-text);cursor:pointer;text-align:left}
.fdw-wrap .fdw-stufe-opt:hover{border-color:var(--fdw-green-hover)}
.fdw-wrap .fdw-stufe-opt[aria-pressed="true"]{border-color:var(--fdw-green);background:var(--fdw-green-pale)}
.fdw-wrap .fdw-stufe-name{font-weight:700;font-size:1.05rem}
.fdw-wrap .fdw-stufe-detail{color:var(--fdw-muted);font-size:.9rem}

/* ---------- Kachelübersicht ---------- */
.fdw-wrap .fdw-kacheln{display:grid;gap:10px;grid-template-columns:1fr}
.fdw-wrap.fdw-wrap.fdw-wrap a.fdw-kachel{display:grid;grid-template-columns:52px minmax(0,1fr) 16px;align-items:center;gap:4px 14px;min-height:84px;padding:12px 14px;background:var(--fdw-card);border:1px solid var(--fdw-line);border-radius:16px;text-decoration:none!important;color:var(--fdw-text)!important;box-shadow:0 1px 0 rgba(0,0,0,.02);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.fdw-wrap.fdw-wrap.fdw-wrap a.fdw-kachel:hover,.fdw-wrap.fdw-wrap.fdw-wrap a.fdw-kachel:focus-visible{border-color:var(--fdw-green-2);box-shadow:0 10px 22px rgba(47,139,78,.14);transform:translateY(-2px)}
.fdw-wrap .fdw-kachel-symbol{width:52px;height:52px;border-radius:14px;display:grid;place-items:center}
.fdw-wrap .fdw-kachel-symbol svg{width:30px;height:30px}
.fdw-wrap .fdw-akzent-gruen{background:var(--fdw-area);color:var(--fdw-green)}
.fdw-wrap .fdw-akzent-sand{background:var(--fdw-sand);color:var(--fdw-sand-ink)}
.fdw-wrap .fdw-akzent-blau{background:var(--fdw-blue-pale);color:var(--fdw-blue)}
.fdw-wrap .fdw-kachel-text{min-width:0;display:grid;gap:1px}
.fdw-wrap .fdw-kachel-kat{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--fdw-muted);font-weight:600}
.fdw-wrap .fdw-kachel-name{font-size:1.15rem;font-weight:700;color:var(--fdw-green);line-height:1.25}
.fdw-wrap .fdw-kachel-satz{font-size:.93rem;color:var(--fdw-muted);line-height:1.35}
.fdw-wrap .fdw-kachel-knopf{display:none}
.fdw-wrap .fdw-kachel-pfeil{color:var(--fdw-green);font-size:1.6rem;line-height:1}
.fdw-wrap .fdw-einordnung{background:var(--fdw-sand);border-radius:16px;padding:14px 16px;display:grid;gap:6px}
.fdw-wrap .fdw-einordnung-titel{font-weight:700;color:var(--fdw-sand-ink)}
.fdw-wrap.fdw-wrap.fdw-wrap .fdw-einordnung a{color:var(--fdw-green-ink)!important;font-weight:700}

/* ---------- Wortpfad ---------- */
.fdw-wrap .fdw-thema{display:grid;gap:2px;padding:12px 16px;border-radius:14px;background:var(--fdw-area);border-left:6px solid var(--fdw-green)}
.fdw-wrap .fdw-hinweis-zeile{padding:10px 14px;border-radius:12px;background:var(--fdw-sand);color:var(--fdw-sand-ink);font-size:.98rem}
.fdw-wrap .fdw-bereichwahl{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;border-radius:14px;background:var(--fdw-area)}
.fdw-wrap .fdw-bereichwahl-label{font-weight:700;color:var(--fdw-green)}
.fdw-wrap .fdw-bereichwahl-select{flex:1 1 220px;max-width:360px;min-height:48px!important;margin:0!important;padding:0 10px!important;border:2px solid var(--fdw-line)!important;border-radius:10px!important;background:var(--fdw-card)!important;color:var(--fdw-text)!important;font:inherit!important;font-size:1rem!important;box-shadow:none!important}
.fdw-wrap .fdw-bereichwahl-select:focus-visible{outline:3px solid var(--fdw-fokus)!important;outline-offset:2px!important}
.fdw-wrap .fdw-thema-label{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--fdw-muted)}
.fdw-wrap .fdw-thema-name{font-weight:800;font-size:clamp(1.3rem, 4.5cqi, 1.5rem);line-height:1.2;color:var(--fdw-green-ink);overflow-wrap:anywhere}
.fdw-wrap .fdw-thema-satz{color:var(--fdw-text);font-style:italic;font-size:1.02rem}
.fdw-wrap .fdw-wp-status{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:34px}
.fdw-wrap .fdw-wp-auswahl{padding:3px 12px;border-radius:999px;background:var(--fdw-sand);color:var(--fdw-sand-ink);font-weight:700;letter-spacing:.08em;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fdw-wrap .fdw-wp-feld{position:relative;width:100%;max-width:min(440px, calc(var(--n, 6) * 72px));margin:0 auto; /* nach Stufe: 4×4 ca. 290 px, 5×5 360 px, 6×6 430 px */touch-action:none;user-select:none;-webkit-user-select:none}
.fdw-wrap .fdw-wp-linien{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:visible}
.fdw-wrap .fdw-wp-linie{fill:none;stroke:var(--fdw-green);stroke-linecap:round;stroke-linejoin:round}
.fdw-wrap .fdw-wp-linie.is-auswahl{stroke:var(--fdw-sand-strong)}
.fdw-wrap .fdw-wp-raster{position:relative;z-index:1;display:grid;grid-template-columns:repeat(var(--n),1fr);gap:4px;container-type:inline-size;touch-action:none}
.fdw-wrap .fdw-wp-zelle{aspect-ratio:1;width:100%;min-width:0;min-height:0;height:auto;border:0;border-radius:50%!important;background:var(--fdw-cell);color:var(--fdw-text);font:inherit;font-weight:700;font-size:calc(100cqi / var(--n) * .44);line-height:1;display:grid;place-items:center;padding:0;cursor:pointer;touch-action:none;transition:background-color .15s ease,color .15s ease}
.fdw-wrap .fdw-wp-zelle.is-auswahl{background:var(--fdw-sand-strong);color:#3B2907}
.fdw-wrap .fdw-wp-zelle.is-hinweis{background:var(--fdw-blue-pale);color:var(--fdw-blue);box-shadow:inset 0 0 0 3px var(--fdw-blue)}
.fdw-wrap .fdw-wp-zelle.is-gefunden{background:var(--fdw-green);color:var(--fdw-white);box-shadow:none}
.fdw-wrap .fdw-wp-zelle.is-verblasst{animation:fdw-verblassen .45s ease-out}
@keyframes fdw-verblassen{from{background:var(--fdw-sand-strong)}to{background:var(--fdw-cell)}}

/* ---------- Paare finden ---------- */
.fdw-wrap .fdw-pa-feld{display:grid;gap:8px;grid-template-columns:repeat(3,1fr);width:100%;max-width:520px;margin:0 auto}
.fdw-wrap .fdw-pa-feld[data-anz="12"],.fdw-wrap .fdw-pa-feld[data-anz="20"]{grid-template-columns:repeat(4,1fr)}
.fdw-wrap .fdw-karte{aspect-ratio:1;width:100%;min-width:0;min-height:0;height:auto;border:0;padding:0;background:none;cursor:pointer;perspective:700px;border-radius:14px!important;font:inherit;display:block}
.fdw-wrap .fdw-karte-innen{position:relative;display:block;width:100%;height:100%;transition:transform .35s ease;transform-style:preserve-3d}
.fdw-wrap .fdw-karte.is-offen .fdw-karte-innen{transform:rotateY(180deg)}
.fdw-wrap .fdw-karte-rueck,.fdw-wrap .fdw-karte-vorn{position:absolute;inset:0;border-radius:14px;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:grid;place-items:center}
.fdw-wrap .fdw-karte{container-type:inline-size}
/* Rückseite: hell und ruhig, mit einem schlichten Ring in der Mitte */
.fdw-wrap .fdw-karte-rueck{background:var(--fdw-green-pale);border:2px solid #CDE4C6;transition:border-color .15s ease}
.fdw-wrap .fdw-karte-rueck::after{content:"";width:30%;aspect-ratio:1;border-radius:50%;border:3px solid rgba(8,106,63,.28)}
.fdw-wrap .fdw-karte:hover .fdw-karte-rueck{border-color:var(--fdw-green-hover)}
.fdw-wrap .fdw-karte-vorn{background:var(--fdw-card);border:2px solid var(--fdw-line);transform:rotateY(180deg)}
/* Gerade aufgedeckt (noch kein Paar): sandfarbener Rahmen wie die Auswahl im Wortpfad */
.fdw-wrap .fdw-karte.is-offen:not(.is-fertig) .fdw-karte-vorn{border:3px solid var(--fdw-sand-strong)}
/* Gefunden: grüner Rand, Häkchen, Motiv tritt zurück */
.fdw-wrap .fdw-karte.is-fertig .fdw-karte-vorn{border-color:var(--fdw-green);background:var(--fdw-card)}
.fdw-wrap .fdw-karte.is-fertig .fdw-karte-vorn svg{opacity:.45}
.fdw-wrap .fdw-karte.is-fertig .fdw-karte-vorn::after{content:"✓";position:absolute;top:6%;right:6%;width:26cqi;height:26cqi;border-radius:50%;background:var(--fdw-green);color:var(--fdw-white);display:grid;place-items:center;font-weight:800;font-size:15cqi;line-height:1}
.fdw-wrap .fdw-karte-vorn svg{width:64%;height:64%}
.fdw-wrap .fdw-sym-sand{color:var(--fdw-sand-ink)}
.fdw-wrap .fdw-sym-blau{color:var(--fdw-blue)}
.fdw-wrap .fdw-sym-gruen{color:var(--fdw-green)}

/* ---------- Zahlen merken ---------- */
.fdw-wrap .fdw-za-buehne{display:grid;justify-items:center;text-align:center}
.fdw-wrap .fdw-za-phase{display:grid;gap:14px;justify-items:center;width:100%}
.fdw-wrap .fdw-za-frage{margin:0;color:var(--fdw-muted)}
.fdw-wrap .fdw-za-folge{display:flex;justify-content:center;gap:6px;margin:4px 0;font-weight:800;color:var(--fdw-green-ink);font-variant-numeric:tabular-nums;font-size:min(3rem, calc(62cqi / var(--len, 4)));line-height:1.1}
.fdw-wrap .fdw-za-folge span{min-width:.9em}
.fdw-wrap .fdw-za-folge{flex-wrap:wrap;row-gap:0}
.fdw-wrap .fdw-za-folge .fdw-za-umbruch{display:none;min-width:0}
@container (max-width: 559px){
  /* Lange Folgen (ab 9 Ziffern) am Handy in zwei gleich langen Zeilen, dafür größer. */
  .fdw-wrap .fdw-za-folge.is-lang{font-size:min(3rem, calc(62cqi / var(--halb, 6)))}
  .fdw-wrap .fdw-za-folge.is-lang .fdw-za-umbruch{display:block;flex-basis:100%;height:0}
}
.fdw-wrap .fdw-za-eingabe{display:flex;justify-content:center;gap:6px;width:100%}
.fdw-wrap .fdw-za-box{flex:1 1 0;max-width:52px;aspect-ratio:3 / 4;border:2px solid var(--fdw-line);border-radius:10px;display:grid;place-items:center;font-size:clamp(1.1rem, 6cqi, 1.8rem);font-weight:800;font-variant-numeric:tabular-nums;color:var(--fdw-green-ink);background:var(--fdw-card)}
.fdw-wrap .fdw-za-box.is-voll{border-color:var(--fdw-green);background:var(--fdw-green-pale)}
.fdw-wrap .fdw-za-box.is-hilfe{border-color:var(--fdw-sand-strong);background:var(--fdw-sand);color:var(--fdw-sand-ink)}
.fdw-wrap .fdw-za-eingabe.is-lang{gap:3px}
.fdw-wrap .fdw-za-eingabe.is-lang .fdw-za-box{border-radius:8px;font-size:clamp(1rem, 5cqi, 1.6rem)}
.fdw-wrap .fdw-za-hilfen{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;max-width:360px}
.fdw-wrap .fdw-za-tasten{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;max-width:360px}
.fdw-wrap .fdw-taste{min-height:60px;border-radius:14px!important;border:2px solid var(--fdw-line);background:var(--fdw-card);font:inherit;font-size:1.6rem;font-weight:700;color:var(--fdw-text);cursor:pointer;font-variant-numeric:tabular-nums;padding:0}
.fdw-wrap .fdw-taste:hover{border-color:var(--fdw-green)}
.fdw-wrap .fdw-taste--wort{font-size:1rem}
.fdw-wrap .fdw-taste--fertig{background:var(--fdw-green);border-color:var(--fdw-green);color:var(--fdw-white)}
.fdw-wrap .fdw-taste--fertig:hover{background:var(--fdw-green-hover)}
.fdw-wrap .fdw-taste--fertig:disabled{background:var(--fdw-off);border-color:var(--fdw-off);color:var(--fdw-off-ink);cursor:default}
.fdw-wrap .fdw-za-meldung{margin:0;font-size:1.15rem;font-weight:700;overflow-wrap:anywhere} /* „anywhere“ nur als Notbremse auf sehr schmalen Geräten */
.fdw-wrap .fdw-za-meldung.is-richtig{color:var(--fdw-green-ink)}
.fdw-wrap .fdw-za-meldung.is-nochmal{color:var(--fdw-text)}
.fdw-wrap .fdw-za-ergebnis-aktionen{display:grid;gap:10px;width:100%;max-width:360px}
.fdw-wrap .fdw-einstellung{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 8px;color:var(--fdw-muted)}
.fdw-wrap .fdw-einstellung select{min-height:44px;padding:0 10px;border:2px solid var(--fdw-line);border-radius:10px;background:var(--fdw-card);color:var(--fdw-text);font:inherit}

/* ---------- Sudoku ---------- */
.fdw-wrap .fdw-su-feld{width:100%;max-width:468px;margin:0 auto}
.fdw-wrap .fdw-su-raster{display:grid;grid-template-columns:repeat(9,1fr);border:3px solid var(--fdw-su-linie);border-radius:12px;overflow:hidden;background:var(--fdw-card);container-type:inline-size}
.fdw-wrap .fdw-su-zelle{position:relative;aspect-ratio:1;width:100%;min-width:0;min-height:0;height:auto;margin:0;padding:0;border:0;border-right:1px solid var(--fdw-su-fein);border-bottom:1px solid var(--fdw-su-fein);border-radius:0!important;background:var(--fdw-card);color:var(--fdw-green);font:inherit;font-size:calc(100cqi / 9 * .56);font-weight:600;line-height:1;display:grid;place-items:center;cursor:pointer;font-variant-numeric:tabular-nums;transition:background-color .12s ease}
.fdw-wrap .fdw-su-zelle[data-c="2"],.fdw-wrap .fdw-su-zelle[data-c="5"]{border-right:2px solid var(--fdw-su-linie)}
.fdw-wrap .fdw-su-zelle[data-c="8"]{border-right:0}
.fdw-wrap .fdw-su-zelle[data-r="2"],.fdw-wrap .fdw-su-zelle[data-r="5"]{border-bottom:2px solid var(--fdw-su-linie)}
.fdw-wrap .fdw-su-zelle[data-r="8"]{border-bottom:0}
.fdw-wrap .fdw-su-zelle.is-vorgabe{color:var(--fdw-text);font-weight:800}
.fdw-wrap .fdw-su-zelle.is-hilfe{color:var(--fdw-blue)}
.fdw-wrap .fdw-su-zelle.is-bereich{background:#EAF3E6}
.fdw-wrap .fdw-su-zelle.is-gleich{background:#CFE8C7}
.fdw-wrap .fdw-su-zelle.is-wahl{background:var(--fdw-sand);box-shadow:inset 0 0 0 3px var(--fdw-sand-strong)}
.fdw-wrap .fdw-su-zelle.is-falsch{outline:2px dashed var(--fdw-blue);outline-offset:-5px}
.fdw-wrap .fdw-su-zelle:focus-visible{outline:3px solid var(--fdw-fokus);outline-offset:-3px;z-index:2}
.fdw-wrap .fdw-su-notizen{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:100%;height:100%;padding:7%;font-size:calc(100cqi / 9 * .27);font-weight:700;color:var(--fdw-muted);line-height:1}
.fdw-wrap .fdw-su-notizen span{display:grid;place-items:center}
.fdw-wrap .fdw-su-meldung{min-height:1.5em;margin:0;text-align:center;font-weight:600;color:var(--fdw-text)}
.fdw-wrap .fdw-su-meldung:empty{min-height:0}
.fdw-wrap .fdw-su-tasten{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;width:100%;max-width:468px;margin:0 auto}
.fdw-wrap .fdw-su-taste{min-height:54px;font-size:1.5rem}
.fdw-wrap .fdw-su-taste--loeschen{display:grid;place-items:center;color:var(--fdw-green)}
.fdw-wrap .fdw-su-taste--loeschen svg{width:28px;height:28px}
.fdw-wrap .fdw-su-taste:disabled{opacity:.5;cursor:default}
.fdw-wrap .fdw-su-werkzeug{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;max-width:468px;margin:0 auto}
.fdw-wrap .fdw-su-werkzeug .fdw-btn2{padding:0 6px;font-size:1rem}
.fdw-wrap .fdw-su-werkzeug .fdw-btn2:disabled{opacity:.5;cursor:default}
.fdw-wrap .fdw-su-raster.is-notizen{border-style:dashed}

/* ---------- Schmaler Inhaltsbereich (unter 680 px): Werte der Aktivierungswelt am Handy ---------- */
@container (max-width: 679px){
  .fdw-wrap .fdw-kopf-zeile{grid-template-columns:46px minmax(0,1fr);column-gap:12px}
  .fdw-wrap .fdw-logo{width:46px;height:46px;border-radius:15px}
  .fdw-wrap .fdw-logo svg{width:30px;height:30px}
  .fdw-wrap .fdw-titel{font-size:1.6rem}
  .fdw-wrap .fdw-lead{font-size:1.12rem}
  .fdw-wrap .fdw-einleitung{font-size:1.02rem}
  .fdw-wrap .fdw-vorteile{grid-template-columns:1fr 1fr;gap:10px 8px;margin:0 0 4px}
  .fdw-wrap .fdw-vorteil{flex-direction:row;justify-content:flex-start;text-align:left;gap:8px;font-size:.95rem}
  .fdw-wrap .fdw-vorteil-symbol{width:30px;height:30px;flex:0 0 30px}
  .fdw-wrap .fdw-vorteil-symbol svg{width:26px;height:26px}
  .fdw-wrap .fdw-auswahl-titel{font-size:1.3rem}
  .fdw-wrap.fdw-wrap.fdw-wrap a.fdw-kachel{grid-template-columns:44px minmax(0,1fr) 12px;gap:4px 12px;padding:12px}
  .fdw-wrap .fdw-kachel-symbol{width:44px;height:44px;border-radius:13px}
  .fdw-wrap .fdw-kachel-symbol svg{width:26px;height:26px}
}
@container (max-width: 400px){
  .fdw-wrap .fdw-titel{font-size:1.4rem}
  .fdw-wrap .fdw-lead{font-size:1.05rem}
}
@container (min-width: 680px) and (max-width: 979px){
  .fdw-wrap .fdw-titel{font-size:2.3rem}
}

/* ---------- Breiter Inhaltsbereich (ab 680 px) ---------- */
@container (min-width: 680px){
  .fdw-wrap .fdw-card{border-radius:24px}
  .fdw-wrap .fdw-kacheln{grid-template-columns:1fr 1fr;gap:18px}
  .fdw-wrap.fdw-wrap.fdw-wrap a.fdw-kachel{grid-template-columns:1fr;align-content:start;gap:8px;padding:22px;border-radius:22px;min-height:0}
  /* Ungerade Anzahl: die letzte Kachel läuft quer über die ganze Breite (keine Kachel allein) */
  .fdw-wrap.fdw-wrap.fdw-wrap .fdw-kacheln > a.fdw-kachel:last-child:nth-child(odd){grid-column:1 / -1;grid-template-columns:64px minmax(0,1fr);align-items:center;column-gap:20px}
  .fdw-wrap .fdw-kachel-symbol{width:64px;height:64px;border-radius:18px}
  .fdw-wrap .fdw-kachel-symbol svg{width:36px;height:36px}
  .fdw-wrap .fdw-kachel-pfeil{display:none}
  .fdw-wrap .fdw-kachel-satz{font-size:1rem}
  .fdw-wrap .fdw-kachel-knopf{display:inline-flex;align-items:center;justify-content:center;justify-self:start;min-height:52px;margin-top:8px;padding:0 26px;border-radius:14px;background:var(--fdw-green);color:var(--fdw-white);font-weight:700}
  .fdw-wrap a.fdw-kachel:hover .fdw-kachel-knopf{background:var(--fdw-green-hover)}
  .fdw-wrap .fdw-stufe-zeile{display:none}
  .fdw-wrap .fdw-stufe{padding-bottom:20px;margin-bottom:8px;border-bottom:1px solid var(--fdw-line)}
  .fdw-wrap .fdw-stufe .fdw-stufe-optionen{display:flex;flex-wrap:wrap;gap:8px}
  .fdw-wrap .fdw-stufe-opt{justify-content:center;gap:6px;min-height:50px;padding:0 16px;text-align:center}
  .fdw-wrap .fdw-stufe-name{font-size:1rem}
  .fdw-wrap .fdw-stufe-detail{font-size:.85rem}
  .fdw-wrap .fdw-aktionen{display:flex;flex-wrap:wrap}
  /* D: das Spiel in einer mittigen Spalte; Zähler und Knöpfe auf derselben Achse wie das Raster */
  .fdw-wrap .fdw-buehne{gap:18px;width:100%;max-width:520px;margin:0 auto}
  .fdw-wrap .fdw-spiel[data-fdw-spiel="paare"] .fdw-buehne{max-width:600px}
  .fdw-wrap .fdw-bereichwahl{width:100%;max-width:520px;margin:0 auto}
  .fdw-wrap .fdw-buehne > .fdw-aktionen{justify-content:center}
  .fdw-wrap .fdw-wp-status{justify-content:center;gap:16px}
  .fdw-wrap .fdw-buehne > .fdw-zaehler{text-align:center}
  /* B: in der App Kopf in einer Zeile – Symbol, Name, Datum links, „‹ Alle Denkspiele“ rechts */
  .fdw-wrap.fdw-app .fdw-card{grid-template-columns:minmax(0,1fr) auto;column-gap:16px}
  .fdw-wrap.fdw-app .fdw-card > *{grid-column:1 / -1}
  .fdw-wrap.fdw-app .fdw-card > .fdw-titelzeile{grid-column:1;grid-row:1;margin:0}
  .fdw-wrap.fdw-app .fdw-card > .fdw-kopfzeile{grid-column:2;grid-row:1;align-self:center}
  .fdw-wrap .fdw-btn,.fdw-wrap .fdw-btn2{padding:0 20px}
  .fdw-wrap .fdw-pa-feld[data-anz="20"]{grid-template-columns:repeat(5,1fr);max-width:600px}
}
/* Drei Spiele: ab 900 px drei Spalten nebeneinander */
@container (min-width: 900px){
  .fdw-wrap .fdw-kacheln[data-anzahl="3"]{grid-template-columns:repeat(3,1fr)}
  .fdw-wrap.fdw-wrap.fdw-wrap .fdw-kacheln[data-anzahl="3"] > a.fdw-kachel:last-child:nth-child(odd){grid-column:auto;grid-template-columns:1fr;align-items:center}
}
@media (prefers-reduced-motion: reduce){
  .fdw-wrap *,.fdw-wrap *::before,.fdw-wrap *::after{transition:none!important;animation:none!important}
}
