:root{--bg:#e9e9e4;--panel:#fff;--ink:#1a1a18;--ink-soft:#4c4c46;--muted:#77776f;--line:#d3d3cc;--accent:#b5342a;--good:#2e6f4e;--good-bg:#dceae1;--bad:#b5342a;--bad-bg:#f1dbd8;--radius:10px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}html{overflow:hidden}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;font-size:17px;line-height:1.5;position:fixed;inset:0;overflow:hidden}button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:var(--radius);min-height:44px;padding:11px 16px}button:disabled{opacity:.45;cursor:default}button.primary:disabled{background:var(--panel);border-color:var(--line);color:var(--muted);opacity:1}button.primary{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600}button.danger{color:var(--accent)}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input[type=text],textarea{font:inherit;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);width:100%;color:var(--ink);resize:vertical;padding:11px 13px}.screen{-webkit-overflow-scrolling:touch;max-width:640px;height:100%;padding:calc(var(--safe-top) + 24px) 20px calc(var(--safe-bottom) + 40px);margin:0 auto;overflow-y:auto}.screen-head{margin-bottom:26px}.screen-head h1{letter-spacing:-.01em;margin:0 0 6px;font-size:27px;line-height:1.2}.sub{color:var(--muted);margin:0;font-size:15.5px}.muted{color:var(--muted)}.back{min-height:0;color:var(--muted);background:0 0;border:none;padding:0 0 12px;font-size:15px}.new-deck{gap:10px;margin-bottom:26px;display:flex}.new-deck input{flex:1}.empty{background:var(--panel);border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);margin:0;padding:22px}.deck-list,.card-list,.mode-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.deck-list li,.card-list li{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);gap:12px;padding:16px;display:flex}.deck-list li{flex-direction:column;align-items:stretch;gap:14px}.card-list li{flex-wrap:wrap;justify-content:space-between;align-items:center}.deck-info,.card-preview{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.deck-info strong{overflow-wrap:anywhere;line-height:1.3}.deck-info strong,.card-preview strong{font-size:17px}.card-preview span{font-size:15px}.deck-actions{grid-template-columns:1fr auto auto;gap:8px;display:grid}.deck-actions button{white-space:nowrap;padding:11px 14px;font-size:15px}@media (width>=560px){.deck-list li{flex-direction:row;justify-content:space-between;align-items:center}.deck-actions{grid-template-columns:repeat(3,auto)}}.tag-mastered{letter-spacing:.04em;text-transform:uppercase;color:var(--good);background:var(--good-bg);border-radius:100px;align-self:flex-start;margin-top:4px;padding:2px 9px;font-size:12px}.section-title{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:32px 0 12px;font-size:15px;font-weight:600}.deck-tools{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.deck-tools button{flex:1;min-width:140px}.card-form{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:14px;margin-bottom:20px;padding:18px;display:flex}.form-actions{gap:8px;display:flex}.form-actions button{flex:1}.card-row{text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:0;padding:0;display:flex}.chevron{color:var(--muted);flex-shrink:0;font-size:22px;line-height:1}.card-list li.editing{border-color:var(--ink);padding:16px 16px 0;display:block}.card-edit-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.card-edit-actions{flex-wrap:wrap;gap:8px;display:flex}.card-edit-actions button{min-height:40px;padding:9px 12px;font-size:14.5px}.card-edit .card-form{background:0 0;border:none;padding:0}.card-form label{flex-direction:column;gap:5px;display:flex}.field-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:13px;font-weight:600}.mode-button{text-align:left;flex-direction:column;gap:4px;width:100%;padding:18px;display:flex}.mode-title{align-items:center;gap:10px;font-size:19px;font-weight:700;display:flex}.soon{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border:1px solid var(--line);border-radius:100px;padding:2px 8px;font-size:11px;font-weight:600}.mode-desc{color:var(--muted);font-size:15px}.learn{height:100dvh;padding:calc(var(--safe-top) + 10px) 14px calc(var(--safe-bottom) + 10px);flex-direction:column;gap:10px;display:flex}.learn-bar{justify-content:space-between;align-items:center;gap:12px;display:flex}.quit{min-height:0;color:var(--muted);background:0 0;border:none;padding:6px 0;font-size:15px}.learn-meta{flex-direction:column;align-items:flex-end;line-height:1.25;display:flex}.deck-name{font-size:15px;font-weight:600}.counter{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.counter em{color:var(--accent);font-style:normal}.progress{background:var(--line);border-radius:100px;height:3px;overflow:hidden}.progress-fill{background:var(--ink);height:100%;transition:width .25s}.surface{touch-action:none;-webkit-user-select:none;user-select:none;flex:1;min-height:0;display:flex}.surface.scrollable{touch-action:pan-y}.flashcard{color:#000;background:#fff;border-radius:14px;flex-direction:column;flex:1;min-height:0;padding:26px 22px 16px;display:flex;box-shadow:0 1px 2px #00000014,0 8px 24px #0000000f}.flashcard-body{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}.scrollable .flashcard-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;align-items:flex-start;overflow-y:auto}.flashcard-text{text-align:center;white-space:pre-wrap;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;width:100%;margin:0;font-weight:500;line-height:1.35}.flashcard-text.long{text-align:left;font-weight:400;line-height:1.45}.flashcard-pages{justify-content:center;gap:7px;padding-top:14px;display:flex}.dot{background:#d8d8d2;border-radius:50%;width:7px;height:7px}.dot.on{background:#000}.hint{text-align:center;color:var(--muted);min-height:20px;margin:0;font-size:13.5px}.fallback-buttons{grid-template-columns:1fr 1fr;gap:8px;display:grid}.fallback-buttons .good{background:var(--good-bg);border-color:var(--good);color:var(--good);font-weight:600}.fallback-buttons .bad{background:var(--bad-bg);border-color:var(--bad);color:var(--bad);font-weight:600}.stats{grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 22px;display:grid}.stats div{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);text-align:center;padding:16px}.stats dt{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px;font-size:12.5px}.stats dd{font-variant-numeric:tabular-nums;margin:0;font-size:27px;font-weight:700}.summary-actions{gap:10px;margin-top:24px;display:flex}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.check-list{flex-direction:column;gap:10px;margin:0 0 8px;padding:0;list-style:none;display:flex}.check-list li{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);gap:12px;padding:14px 16px;display:flex}.badge-ja,.badge-nein,.badge-offen{border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:15px;font-weight:700;display:grid}.badge-ja{background:var(--good-bg);color:var(--good)}.badge-nein{background:var(--bad-bg);color:var(--bad)}.badge-offen{background:var(--warn-bg,#f3e7d0);color:#9a6414}.check-body{flex-direction:column;gap:3px;min-width:0;display:flex}.check-body .muted{font-size:14.5px;line-height:1.45}button.wide{width:100%}.taste-anzeige{background:var(--ink);color:#fff;border-radius:var(--radius);text-align:center;margin-bottom:10px;padding:26px 18px;font-size:18px;font-weight:600}.screen-foot{border-top:1px solid var(--line);text-align:center;margin-top:32px;padding-top:18px}button.link{color:var(--muted);text-underline-offset:3px;background:0 0;border:none;min-height:0;padding:8px;font-size:14.5px;text-decoration:underline}.meldung{border-radius:var(--radius);background:var(--surface-2,#f2f1ed);border:1px solid var(--line);margin-bottom:18px;padding:14px 16px;font-size:15.5px}.meldung.fehler{background:var(--bad-bg);border-color:var(--bad);color:var(--bad)}.meldung.gut{background:var(--good-bg);border-color:var(--good);color:var(--good)}.abgleich-liste{flex-direction:column;gap:10px;margin:0 0 18px;padding:0;list-style:none;display:flex}.abgleich-liste>li{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.abgleich-liste strong{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;font-size:17px;display:flex}.tag-neu{text-transform:uppercase;letter-spacing:.06em;color:var(--good);background:var(--good-bg);border-radius:100px;padding:2px 9px;font-size:11.5px;font-weight:600}.zahlen{flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;font-size:15px;list-style:none;display:flex}.zahlen .gut{color:var(--good);font-weight:600}.zahlen .warn{color:#9a6414;font-weight:600}.zahlen .schlecht{color:var(--bad);font-weight:600}.schalter{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);align-items:flex-start;gap:12px;margin-bottom:18px;padding:16px;font-size:15.5px;line-height:1.45;display:flex}.schalter input{width:22px;height:22px;accent-color:var(--ink);flex-shrink:0;margin:0}.export-liste{flex-direction:column;gap:10px;margin:0 0 8px;padding:0;list-style:none;display:flex}.export-liste li{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:12px;padding:14px 16px;display:flex}.export-liste button{flex-shrink:0}.fassung{color:var(--muted);font-variant-numeric:tabular-nums;margin:10px 0 0;font-size:12.5px}.hoeren .hoer-buehne{color:#000;background:#fff;border-radius:14px;flex-direction:column;flex:1;justify-content:safe center;gap:14px;min-height:0;padding:24px 22px;display:flex;overflow-y:auto;box-shadow:0 1px 2px #00000014,0 8px 24px #0000000f}.hoer-buehne .phase{text-align:center;letter-spacing:.1em;text-transform:uppercase;color:#8a8a82;flex-shrink:0;margin:0;font-size:12.5px}.hoer-text{flex-direction:column;flex:1;justify-content:safe center;gap:14px;min-height:0;display:flex}.hoer-text p{text-align:center;overflow-wrap:break-word;margin:0;line-height:1.35}.hoer-text .vorher{color:#7a7a72;font-size:clamp(14px,3vh,17px)}.hoer-text .aktuell{font-size:clamp(19px,5vh,27px);font-weight:600}.hoer-text p:nth-child(n+3)~p.aktuell,.hoer-text p:nth-child(n+4){font-size:19px}.hoer-tasten{flex-shrink:0;grid-template-columns:1fr 1fr;gap:10px;display:grid}.hoer-tasten button{border-width:2px;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:clamp(68px,13vh,108px);display:flex}.hoer-tasten .sym{font-size:34px;line-height:1}.hoer-tasten .lbl{font-size:15px;font-weight:600}.hoer-tasten .ok{background:var(--good-bg);border-color:var(--good);color:var(--good)}.hoer-tasten .nok{background:var(--bad-bg);border-color:var(--bad);color:var(--bad)}.hoer-tasten .ok.aktiv{background:var(--good);color:#fff}.hoer-tasten .nok.aktiv{background:var(--bad);color:#fff}.hoer-fuss{flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.sprachwahl{grid-template-columns:1fr 1fr;gap:10px;display:grid}.sprachwahl.drei{grid-template-columns:repeat(3,1fr);gap:8px}.sprachwahl.drei select{padding:11px 6px;font-size:15px}.sprachwahl label{flex-direction:column;gap:5px;display:flex}select{font:inherit;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);width:100%;color:var(--ink);min-height:44px;padding:11px 13px}button.link.inline{font-size:inherit;color:var(--muted);padding:0}.stimm-liste{flex-direction:column;gap:8px;margin:0 0 8px;padding:0;list-style:none;display:flex}.stimm-liste li{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:12px;padding:12px 14px;display:flex}.stimm-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.stimm-info strong{overflow-wrap:anywhere;font-size:16px}.stimm-info .muted{font-size:13.5px}.stimm-liste button{flex-shrink:0;min-height:40px;padding:9px 14px}
