:root{--hintergrund: #16141f;--flaeche: #201c2e;--flaeche-hell: #2a2540;--rand: #363050;--text: #f4f1ea;--text-leise: #b8b3c7;--akzent: #b9a7ff;--akzent-dunkel: #8d79d6;--gut: #6ddf9c;--mittel: #f0c168;--schlecht: #ff7b7b;--schwer: #f0a868;--sicher-oben: env(safe-area-inset-top, 0px);--sicher-unten: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:var(--hintergrund);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,sans-serif;overscroll-behavior-y:none}body{padding-top:var(--sicher-oben)}#wurzel{min-height:100vh}.japanisch{font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic,Meiryo,sans-serif}.huelle{max-width:720px;margin:0 auto;padding:16px 16px calc(96px + var(--sicher-unten))}.kopf{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.kopf h1{font-size:24px;margin:0;letter-spacing:.5px}.kopf .eule{font-size:28px}.navi{position:fixed;bottom:0;left:0;right:0;z-index:40;display:flex;background:var(--flaeche);border-top:1px solid var(--rand);padding-bottom:var(--sicher-unten)}.navi button{flex:1;background:none;border:none;color:var(--text-leise);padding:10px 4px 12px;font-size:11px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px}.navi button.aktiv{color:var(--akzent)}.navi button .zeichen{font-size:21px;line-height:1}.flaeche{background:var(--flaeche);border:1px solid var(--rand);border-radius:16px;padding:16px;margin-bottom:14px}.knopf{background:var(--akzent-dunkel);color:#fff;border:none;border-radius:12px;padding:14px 18px;font-size:16px;font-weight:600;cursor:pointer;width:100%;min-height:50px}.knopf.leise{background:var(--flaeche-hell);color:var(--text)}.knopf.schmal{width:auto;padding:10px 16px;min-height:42px;font-size:14px}.knopf:disabled{opacity:.45;cursor:default}.streak{text-align:center;padding:26px 16px;background:linear-gradient(160deg,var(--flaeche-hell),var(--flaeche));border:1px solid var(--rand);border-radius:20px;margin-bottom:16px}.streak .zahl{font-size:76px;font-weight:800;line-height:1;color:var(--akzent)}.streak .wort{font-size:15px;color:var(--text-leise);margin-top:6px}.streak .neben{font-size:13px;color:var(--text-leise);margin-top:10px}.kacheln{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.kachel{background:var(--flaeche);border:1px solid var(--rand);border-radius:14px;padding:14px 8px;text-align:center}.kachel .zahl{font-size:26px;font-weight:700}.kachel .wort{font-size:11px;color:var(--text-leise);margin-top:4px}.deckzeile{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--rand)}.deckzeile:last-child{border-bottom:none}.deckzeile .titel{font-weight:600;font-size:15px;margin-bottom:5px}.deckzeile .zahlen{font-size:12px;color:var(--text-leise)}.punkt{display:inline-block;padding:2px 7px;border-radius:20px;font-size:11px;margin-right:5px}.punkt.faellig{background:#f0c1682e;color:var(--mittel)}.punkt.neu{background:#b9a7ff2e;color:var(--akzent)}.lernkopf{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:13px;color:var(--text-leise)}.fortschritt{height:4px;background:var(--rand);border-radius:3px;overflow:hidden;margin-bottom:16px}.fortschritt div{height:100%;background:var(--akzent);transition:width .3s}.lernkarte{background:var(--flaeche);border:1px solid var(--rand);border-radius:20px;padding:28px 22px;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;margin-bottom:14px}.lernkarte .vorderseite{line-height:1.25;word-break:break-word;max-width:100%;font-size:min(var(--schrift-vorne, 90px),20vw)}.lernkarte .trenner{width:60%;height:1px;background:var(--rand);margin:18px auto}.lernkarte .lesung{color:var(--akzent);margin-bottom:8px}.lernkarte .bedeutung{margin-bottom:10px}.lernkarte .beispiele{color:var(--text-leise);white-space:pre-wrap;line-height:1.6}.lernkarte.vertikal .inhalt{writing-mode:vertical-rl;text-orientation:upright;max-height:60vh;margin:0 auto}.stern{position:absolute;top:12px;right:14px;background:none;border:none;font-size:26px;cursor:pointer;color:var(--rand);padding:4px}.stern.an{color:var(--mittel)}.antworten{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.antworten button{border:none;border-radius:14px;padding:16px 8px;cursor:pointer;color:#16141f;font-weight:700;font-size:16px;min-height:68px;display:flex;flex-direction:column;align-items:center;gap:3px}.antworten button .intervall{font-size:11px;font-weight:500;opacity:.75}.antworten .nochmal{background:var(--schlecht)}.antworten .schwer{background:var(--schwer)}.antworten .gut{background:var(--gut)}.antworten .leicht{background:var(--akzent)}@media(min-width:520px){.antworten{grid-template-columns:repeat(4,1fr)}}.tippfeld{width:100%;padding:14px;font-size:22px;border-radius:12px;border:2px solid var(--rand);background:var(--flaeche-hell);color:var(--text);text-align:center;margin-bottom:10px}.tippfeld:focus{outline:none;border-color:var(--akzent)}.tipp-vorschau{text-align:center;font-size:26px;min-height:34px;margin-bottom:8px;color:var(--akzent)}.tipp-ergebnis{text-align:center;font-size:30px;letter-spacing:2px;margin:12px 0}.tipp-ergebnis .gleich{color:var(--gut)}.tipp-ergebnis .falsch{color:var(--schlecht);text-decoration:underline wavy}.tipp-ergebnis .fehlt{color:var(--schlecht);opacity:.7;border-bottom:3px solid var(--schlecht)}.tipp-ergebnis .zuviel{color:var(--schwer);text-decoration:line-through}.tipp-hinweis{text-align:center;font-size:13px;color:var(--text-leise);margin-bottom:10px}.regler{margin-bottom:18px}.regler label{display:flex;justify-content:space-between;font-size:14px;margin-bottom:8px}.regler label span:last-child{color:var(--akzent);font-variant-numeric:tabular-nums}input[type=range]{width:100%;height:34px;-webkit-appearance:none;background:none}input[type=range]::-webkit-slider-runnable-track{height:6px;background:var(--rand);border-radius:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:var(--akzent);margin-top:-11px}input[type=range]::-moz-range-track{height:6px;background:var(--rand);border-radius:4px}input[type=range]::-moz-range-thumb{width:28px;height:28px;border:none;border-radius:50%;background:var(--akzent)}.vorschaukasten{background:var(--hintergrund);border:1px dashed var(--rand);border-radius:12px;padding:20px 12px;text-align:center;margin-bottom:10px;overflow:hidden;max-height:200px;display:flex;align-items:center;justify-content:center}.schalter{display:flex;align-items:center;justify-content:space-between;padding:12px 0}.schalter input{width:52px;height:30px}.heatmap{display:flex;gap:3px;overflow-x:auto;padding-bottom:8px}.heatmap .woche{display:flex;flex-direction:column;gap:3px}.heatmap .tag{width:12px;height:12px;border-radius:3px;background:var(--flaeche-hell)}.heatmap .tag.s1{background:#6ddf9c4d}.heatmap .tag.s2{background:#6ddf9c85}.heatmap .tag.s3{background:#6ddf9cc2}.heatmap .tag.s4{background:var(--gut)}.balken{display:flex;align-items:flex-end;gap:4px;height:130px;margin:14px 0 6px}.balken .stab{flex:1;background:var(--akzent-dunkel);border-radius:4px 4px 0 0;min-height:2px;position:relative}.balken .stab .anteil{position:absolute;bottom:0;left:0;right:0;background:var(--gut);border-radius:0 0 4px 4px}.achse{display:flex;gap:4px;font-size:9px;color:var(--text-leise)}.achse span{flex:1;text-align:center;overflow:hidden}.tabelle{width:100%;border-collapse:collapse;font-size:13px}.tabelle th,.tabelle td{padding:9px 6px;text-align:left;border-bottom:1px solid var(--rand)}.tabelle th{color:var(--text-leise);font-weight:500;font-size:11px;text-transform:uppercase}.tabelle td.zahl{text-align:right;font-variant-numeric:tabular-nums}.hinweis{font-size:13px;color:var(--text-leise);line-height:1.55}.warnung{background:#f0a8681f;border:1px solid var(--schwer);color:var(--schwer);border-radius:12px;padding:12px;font-size:13px;margin-bottom:12px}.leer{text-align:center;color:var(--text-leise);padding:40px 20px;font-size:14px;line-height:1.6}.titelzeile{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--text-leise);margin:22px 0 10px}ruby rt{font-size:.5em;color:var(--akzent)}
