:root{
  --papier:#fcfcf8; --grund:#eef1f7; --tinte:#1d3bb8; --tinte-hell:#e4e9fb;
  --seyes:#c9bde6; --seyes-fein:#e7e1f4; --rand:#e2453c; --text:#1b2033; --leise:#5b6378;
  --gelb:#ffe14d; --gruen:#1f9d5b; --gruen-hell:#e2f5ea; --rot:#d23b30; --rot-hell:#fde7e5;
  --r:14px; --schatten:0 1px 0 rgba(27,32,51,.08),0 6px 18px -10px rgba(27,32,51,.25);
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--grund);color:var(--text);font:17px/1.5 "Atkinson Hyperlegible",system-ui,sans-serif;-webkit-text-size-adjust:100%}
h1,h2,h3{font-family:"Baloo 2",system-ui,sans-serif;line-height:1.15;margin:.2em 0 .4em}
h1{font-size:1.9rem} h2{font-size:1.4rem} h3{font-size:1.15rem}
a{color:var(--tinte)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--tinte);outline-offset:2px}
main{max-width:760px;margin:0 auto;padding:16px 16px 110px}
.leise{color:var(--leise)} .klein{font-size:.85rem}
.zeile{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.raster{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.block{background:var(--papier);border-radius:var(--r);padding:16px;box-shadow:var(--schatten);margin:0 0 14px}
.block>h2:first-child,.block>h3:first-child{margin-top:0}

/* Knöpfe */
.knopf{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:12px 20px;font-weight:700;background:var(--tinte);color:#fff;cursor:pointer;min-height:48px;text-decoration:none}
.knopf.zwei{background:var(--tinte-hell);color:var(--tinte)}
.knopf.still{background:transparent;color:var(--tinte);padding:8px 10px;min-height:40px}
.knopf.gut{background:var(--gruen)} .knopf.schlecht{background:var(--rot)}
.knopf.breit{width:100%}
.knopf:disabled{opacity:.5}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:2px solid var(--seyes);background:#fff;border-radius:999px;padding:7px 14px;cursor:pointer;font-weight:700}
.chip[aria-pressed=true]{background:var(--tinte);border-color:var(--tinte);color:#fff}
label.feld{display:block;margin:0 0 12px;font-weight:700}
label.feld>span{display:block;margin-bottom:4px}
input[type=text],input[type=email],input[type=number],input[type=date],select,textarea{width:100%;border:2px solid var(--seyes);border-radius:10px;padding:11px 12px;background:#fff;font-weight:400}
textarea{min-height:90px}

/* Navigation unten */
nav.unten{position:fixed;left:0;right:0;bottom:0;background:var(--papier);border-top:1px solid var(--seyes-fein);display:flex;justify-content:space-around;padding:6px 4px calc(6px + env(safe-area-inset-bottom));z-index:5}
nav.unten a{flex:1;text-align:center;text-decoration:none;color:var(--leise);font-size:.72rem;font-weight:700;padding:4px 0;border-radius:10px}
nav.unten a .ico{display:block;font-size:1.35rem;line-height:1.3}
nav.unten a[aria-current=page]{color:var(--tinte);background:var(--tinte-hell)}

/* Kopf */
header.kopf{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
header.kopf .marke{font-family:"Baloo 2";font-weight:800;font-size:1.25rem;color:var(--tinte)}

/* Seyès-Heftseite: die Karteikarte */
.heft{position:relative;background-color:var(--papier);border-radius:6px 16px 16px 6px;box-shadow:var(--schatten);
  background-image:
    linear-gradient(90deg,transparent 46px,var(--rand) 46px,var(--rand) 48px,transparent 48px),
    repeating-linear-gradient(180deg,transparent 0 31px,var(--seyes) 31px 32px),
    repeating-linear-gradient(180deg,transparent 0 7px,var(--seyes-fein) 7px 8px),
    repeating-linear-gradient(90deg,transparent 0 31px,var(--seyes-fein) 31px 32px);
  padding:28px 20px 24px 64px;min-height:300px}
.karte{display:flex;flex-direction:column;justify-content:center;min-height:250px}
.karte .richtung{font-size:.8rem;color:var(--leise);font-weight:700}
.karte .wort{font-size:2.1rem;font-weight:700;line-height:1.2;margin:.3em 0;word-break:break-word}
.karte .wort.fr{color:var(--tinte)}
.karte .antwort{border-top:2px dashed var(--seyes);margin-top:14px;padding-top:12px}
.karte .beispiel{font-style:italic;color:var(--leise)}
.karte .bild{max-width:160px;border-radius:10px;overflow:hidden;margin:6px 0;background:#fff}
.fortschritt{height:8px;background:var(--seyes-fein);border-radius:99px;overflow:hidden;margin:6px 0 14px}
.fortschritt>i{display:block;height:100%;background:var(--tinte);border-radius:99px;transition:width .3s}

.akzente{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.akzente button{min-width:42px;min-height:42px;border:2px solid var(--seyes);background:#fff;border-radius:10px;font-weight:700;font-size:1.05rem;cursor:pointer}
input.eingabe{font-size:1.4rem;padding:12px;border-width:3px}
.urteil{border-radius:12px;padding:12px 14px;margin:10px 0;font-weight:700}
.urteil.ja{background:var(--gruen-hell);color:#135c37}
.urteil.nein{background:var(--rot-hell);color:#8a2018}
.unterschied ins{background:var(--gelb);text-decoration:none;border-radius:3px;padding:0 2px}

/* Belohnung */
.preise{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.preis{background:#fff;border-radius:12px;padding:10px 6px;text-align:center;border:2px solid var(--seyes-fein)}
.preis b{display:block;font-family:"Baloo 2";font-size:1.5rem;line-height:1.1}
.preis span{font-size:.72rem;color:var(--leise);font-weight:700}
.level{display:flex;align-items:center;gap:12px}
.level .stufe{width:56px;height:56px;border-radius:50%;background:var(--gelb);display:grid;place-items:center;font-family:"Baloo 2";font-weight:800;font-size:1.5rem;color:var(--text);flex:none;box-shadow:inset 0 -4px 0 rgba(0,0,0,.08)}
.level .fortschritt{flex:1;margin:4px 0}

.liste{list-style:none;margin:0;padding:0}
.liste>li{padding:12px 0;border-bottom:1px solid var(--seyes-fein);display:flex;gap:10px;align-items:center;justify-content:space-between}
.liste>li:last-child{border-bottom:0}
.marke-status{font-size:.75rem;font-weight:700;border-radius:99px;padding:3px 10px;background:var(--seyes-fein);white-space:nowrap}
.marke-status.fertig{background:var(--gruen-hell);color:#135c37}
.marke-status.fehler{background:var(--rot-hell);color:#8a2018}
.marke-status.in_arbeit,.marke-status.neu{background:#fff4c2;color:#6b5200}

.balken{display:flex;align-items:flex-end;gap:4px;height:90px}
.balken i{flex:1;background:var(--tinte);border-radius:4px 4px 0 0;min-height:2px}
.balken-beschr{display:flex;gap:4px;font-size:.65rem;color:var(--leise)} .balken-beschr span{flex:1;text-align:center}
.anteil{display:flex;height:16px;border-radius:99px;overflow:hidden;background:var(--seyes-fein)}
.anteil i{display:block;height:100%}

.md table{border-collapse:collapse;margin:8px 0;width:100%}
.md td,.md th{border:1px solid var(--seyes);padding:6px 8px;text-align:left}
.md blockquote{margin:8px 0;padding:8px 12px;background:#fff8cc;border-left:4px solid var(--gelb);border-radius:6px}
.chat{display:flex;flex-direction:column;gap:10px}
.blase{max-width:88%;padding:10px 14px;border-radius:16px;background:#fff;box-shadow:var(--schatten)}
.blase.ich{align-self:flex-end;background:var(--tinte);color:#fff;border-bottom-right-radius:4px}
.blase.ki{border-bottom-left-radius:4px}
.hinweis{background:var(--tinte-hell);border-radius:12px;padding:12px 14px;font-size:.92rem}
.vorschau{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.vorschau img{width:84px;height:84px;object-fit:cover;border-radius:10px}
.ausschnitt{background-repeat:no-repeat;border-radius:10px;background-color:#fff}
.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:var(--text);color:#fff;padding:10px 16px;border-radius:12px;z-index:20;max-width:90vw}
.leer{text-align:center;padding:24px 8px;color:var(--leise)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media (min-width:700px){.karte .wort{font-size:2.6rem}}
