:root{--hintergrund: #16141f;--flaeche: #201c2e;--flaeche-hell: #2a2540;--rand: #363050;--text: #f4f1ea;--text-leise: #ddd8e8;--akzent: #c5b5ff;--akzent-dunkel: #8d79d6;--akzent-ruhig: #b9b2d8;--gut: #8fe8b5;--mittel: #f5cd85;--schlecht: #ff9a9a;--schwer: #f5bb85;--sicher-oben: env(safe-area-inset-top, 0px);--sicher-unten: env(safe-area-inset-bottom, 0px);--glas: rgba(42, 37, 64, .52);--glas-dicht: rgba(32, 28, 48, .72);--glas-leicht: rgba(52, 46, 78, .42);--glas-rand: rgba(255, 255, 255, .1);--glas-kante: rgba(255, 255, 255, .2);--glas-schatten: 0 8px 32px rgba(0, 0, 0, .38);--glas-unschaerfe: blur(20px) saturate(140%);--radius: 22px;--radius-klein: 16px;--uebergang: .18s ease}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,sans-serif;overscroll-behavior-y:none}html{background:var(--hintergrund)}body{background:transparent;padding-top:var(--sicher-oben)}body:before{content:"";position:fixed;inset:0;z-index:-2;background-image:url(/sakura-nacht.jpg);background-size:cover;background-position:center center;background-repeat:no-repeat;background-color:var(--hintergrund);filter:brightness(1.42) contrast(1.06) saturate(1.08)}body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(120% 80% at 70% 12%,#16141f0a,#16141f33 55%,#16141f52),linear-gradient(to bottom,#16141f1a,#16141f2e 45%,#16141f6b)}.blueten{position:fixed;inset:0;z-index:-1;pointer-events:none;display:block;-webkit-mask-image:linear-gradient(to right,#000 0%,#000 11%,rgba(0,0,0,.05) 26%,rgba(0,0,0,.05) 74%,#000 89%,#000 100%),linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 17%,#000 28%);mask-image:linear-gradient(to right,#000 0% 11%,#0000000d 26% 74%,#000 89% 100%),linear-gradient(to bottom,#0000 0% 17%,#000 28%);-webkit-mask-composite:source-in;mask-composite:intersect}#wurzel{min-height:100vh;min-height:100dvh;position:relative;z-index:0}.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(128px + var(--sicher-unten));position:relative}.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;font-weight:600;text-shadow:0 2px 12px rgba(0,0,0,.6);flex:1 1 auto;min-width:0}.kopf-zurueck{position:relative;flex:0 0 auto;width:44px;height:44px;margin-left:-4px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:50%;background:var(--glas-leicht);border:1px solid var(--glas-rand);border-top-color:var(--glas-kante);color:var(--text);cursor:pointer;transition:background var(--uebergang),transform var(--uebergang)}.kopf-zurueck:before{content:"";position:absolute;inset:-1px}.kopf-zurueck:active{transform:translate(-2px);background:var(--flaeche-hell)}.kopf-zurueck:focus-visible{outline:none;border-color:var(--akzent-dunkel);box-shadow:0 0 0 3px #8d79d647}.kopf .eule{display:inline-flex;align-items:center;color:var(--akzent)}.navi{position:fixed;bottom:0;left:0;right:0;z-index:40;display:flex;background:#1a1727fb;backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);border-top:1px solid var(--glas-kante);box-shadow:0 -8px 32px #00000061;padding-bottom:max(var(--sicher-unten),6px)}.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;position:relative;transition:color var(--uebergang),opacity var(--uebergang)}.navi button.aktiv{color:var(--akzent)}.navi button.aktiv:before{content:"";position:absolute;top:2px;left:50%;transform:translate(-50%);width:62px;height:40px;border-radius:50%;background:radial-gradient(ellipse at center,#b9a7ff4d,#b9a7ff1a 45%,#b9a7ff00 72%);pointer-events:none}.navi button .zeichen{display:flex;align-items:center;justify-content:center;height:22px;line-height:1;position:relative}.navi button span{position:relative}.flaeche{background:var(--glas);backdrop-filter:var(--glas-unschaerfe);-webkit-backdrop-filter:var(--glas-unschaerfe);border:1px solid var(--glas-rand);border-top-color:var(--glas-kante);box-shadow:var(--glas-schatten);border-radius:var(--radius);padding:16px;margin-bottom:14px}.knopf{background:linear-gradient(160deg,#9c88e6 0%,var(--akzent-dunkel) 55%,#7865c4 100%);color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-klein);padding:14px 18px;font-size:16px;font-weight:600;cursor:pointer;width:100%;min-height:50px;box-shadow:0 4px 14px #6e58be33,0 1px #ffffff1f inset;transition:opacity var(--uebergang),transform var(--uebergang),box-shadow var(--uebergang)}.knopf:active{transform:translateY(1px);opacity:.92}.knopf.leise{background:var(--glas-leicht);backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%);color:var(--text);border:1px solid var(--glas-rand);border-top-color:var(--glas-kante);box-shadow:0 4px 16px #00000047}.knopf.schmal{width:auto;padding:10px 16px;min-height:42px;font-size:14px}.knopf:disabled{opacity:.45;cursor:default}.knopf:disabled:active{transform:none}.flaeche .knopf.leise{backdrop-filter:none;-webkit-backdrop-filter:none}.streak{text-align:center;padding:16px 16px 14px;background:linear-gradient(160deg,#3e36608c,#201c3094);backdrop-filter:var(--glas-unschaerfe);-webkit-backdrop-filter:var(--glas-unschaerfe);border:1px solid var(--glas-rand);border-top-color:var(--glas-kante);box-shadow:var(--glas-schatten);border-radius:var(--radius);margin-bottom:16px}.streak .zahl{font-size:46px;font-weight:800;line-height:1.05;color:var(--akzent);text-shadow:0 0 18px rgba(185,167,255,.22)}.streak .wort{font-size:14px;color:var(--text-leise);margin-top:2px}.streak .neben{font-size:13px;color:var(--text-leise);margin-top:7px}.streak .neben.erledigt{color:var(--gut)}.kacheln{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.kachel{background:var(--glas);backdrop-filter:var(--glas-unschaerfe);-webkit-backdrop-filter:var(--glas-unschaerfe);border:1px solid var(--glas-rand);border-top-color:var(--glas-kante);box-shadow:var(--glas-schatten);border-radius:var(--radius-klein);padding:14px 8px;text-align:center}.kachel .zahl{font-size:26px;font-weight:700}.kachel .wort{font-size:12px;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 rgba(255,255,255,.08)}.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 8px;border-radius:20px;font-size:11px;margin-right:5px;border:1px solid transparent}.punkt.faellig{background:#f5cd8524;color:var(--mittel);border-color:#f5cd8542}.punkt.neu{background:#b9a7ff1f;color:var(--akzent-ruhig);border-color:#b9a7ff38}.lernkopf{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:13px;color:var(--text-leise);text-shadow:0 1px 8px rgba(0,0,0,.7)}.fortschritt{height:4px;background:#ffffff1a;border-radius:3px;overflow:hidden;margin-bottom:16px}.fortschritt div{height:100%;background:linear-gradient(90deg,var(--akzent-dunkel),var(--akzent));box-shadow:0 0 10px #b9a7ff73;min-width:6px;border-radius:3px;transition:width .3s}.lernflaeche{display:flex;flex-direction:column;min-height:calc(100vh - 150px - var(--sicher-oben) - var(--sicher-unten));min-height:calc(100dvh - 150px - var(--sicher-oben) - var(--sicher-unten))}.lernflaeche>.lernkarte{flex:1 1 auto}.lernflaeche>.knopf:last-child,.lernflaeche>.antworten:last-child{margin-top:auto}.lernkarte{background:var(--glas-dicht);backdrop-filter:blur(30px) saturate(135%);-webkit-backdrop-filter:blur(30px) saturate(135%);border:1px solid var(--glas-rand);border-top-color:var(--glas-kante);box-shadow:0 12px 40px #00000073;border-radius:var(--radius);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;overflow:hidden}.lernkarte:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 130% 100% at center,#0e0c1657,#0e0c164f 45%,#0e0c1647 75%,#0e0c1640)}.lernkarte>*{position:relative;z-index:1}.lernkarte .vorderseite{line-height:1.25;word-break:break-word;max-width:100%;font-size:min(var(--schrift-vorne, 90px),20vw);text-shadow:0 1px 6px rgba(0,0,0,.42)}.lernkarte .trenner{width:60%;height:1px;margin:18px auto;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent)}.lernkarte .lesung{color:var(--text);opacity:.94;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:#ffffff47;padding:4px;z-index:2;transition:color var(--uebergang),transform var(--uebergang)}.stern.an{color:var(--mittel);text-shadow:0 0 14px rgba(240,193,104,.5)}.antworten{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.antworten button{background:#26213ab8;backdrop-filter:blur(16px) saturate(130%);-webkit-backdrop-filter:blur(16px) saturate(130%);border:1px solid rgba(255,255,255,.1);border-top:2px solid var(--knopf-farbe, var(--akzent));border-radius:var(--radius-klein);padding:16px 8px;cursor:pointer;color:var(--knopf-farbe, var(--text));font-weight:700;font-size:16px;min-height:68px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;box-shadow:0 6px 18px #00000052;transition:opacity var(--uebergang),transform var(--uebergang)}.antworten button:active{transform:translateY(1px);opacity:.92}.antworten button .intervall{font-size:11px;font-weight:500;color:var(--text-leise)}.antworten .nochmal{--knopf-farbe: var(--schlecht)}.antworten .schwer{--knopf-farbe: var(--schwer)}.antworten .gut{--knopf-farbe: var(--gut)}.antworten .leicht{--knopf-farbe: var(--akzent)}@media(min-width:520px){.antworten{grid-template-columns:repeat(4,1fr)}}.tippfeld{width:100%;padding:14px;font-size:22px;border-radius:var(--radius-klein);border:1px solid var(--glas-rand);background:#14121e8c;color:var(--text);text-align:center;margin-bottom:10px;transition:border-color var(--uebergang),box-shadow var(--uebergang)}.tippfeld:focus{outline:none;border-color:var(--akzent-dunkel);box-shadow:0 0 0 3px #8d79d638}select.tippfeld option{background:#201c2e;color:var(--text)}.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:#ffffff1f;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;box-shadow:0 0 12px #b9a7ff73}input[type=range]::-moz-range-track{height:6px;background:#ffffff1f;border-radius:4px}input[type=range]::-moz-range-thumb{width:28px;height:28px;border:none;border-radius:50%;background:var(--akzent);box-shadow:0 0 12px #b9a7ff73}.vorschaukasten{background:#100e188c;border:1px dashed rgba(255,255,255,.16);border-radius:var(--radius-klein);padding:20px 12px;text-align:center;margin-bottom:10px;min-height:140px;max-height:340px;overflow:auto;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;accent-color:var(--akzent-dunkel)}.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:#ffffff14}.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:linear-gradient(180deg,var(--akzent),var(--akzent-dunkel));border-radius:4px 4px 0 0;min-height:2px;position:relative;box-shadow:0 0 10px #b9a7ff40}.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 rgba(255,255,255,.08)}.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:#f0a86824;border:1px solid var(--schwer);color:var(--schwer);border-radius:var(--radius-klein);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;background:var(--glas);backdrop-filter:var(--glas-unschaerfe);-webkit-backdrop-filter:var(--glas-unschaerfe);border:1px solid var(--glas-rand);border-top-color:var(--glas-kante);box-shadow:var(--glas-schatten);border-radius:var(--radius)}.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)}.portion-knoepfe{display:flex;gap:8px;flex-wrap:wrap}.portion-knoepfe .knopf{flex:1 1 auto}.portion-knoepfe .knopf.zuruecknehmend{background:#14121e6b;color:var(--text-leise);font-weight:500}.filter-feld{margin-bottom:4px}.filter-feld label{display:block;font-size:12px;color:var(--text-leise);margin-bottom:6px}.filter-huelle{position:relative;display:block}.filter-huelle:after{content:"";position:absolute;right:16px;top:50%;width:9px;height:9px;margin-top:-6px;border-right:2px solid var(--akzent);border-bottom:2px solid var(--akzent);transform:rotate(45deg);pointer-events:none}.filter-auswahl{width:100%;min-height:46px;padding:12px 40px 12px 14px;font-size:15px;font-family:inherit;color:var(--text);background:#14121e8c;border:1px solid var(--glas-rand);border-top-color:var(--glas-kante);border-radius:var(--radius-klein);cursor:pointer;-webkit-appearance:none;appearance:none;transition:border-color var(--uebergang)}.filter-auswahl:focus-visible{outline:none;border-color:var(--akzent-dunkel);box-shadow:0 0 0 3px #8d79d638}.filter-auswahl option{background:#201c2e;color:var(--text)}.filter-auswahl option:disabled{color:var(--text-leise)}.portion-kopf{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-bottom:12px}.portion-kopf .titelzeile{margin:0 0 3px;letter-spacing:.4px;line-height:1.45}.portion-kopf .knopf{flex:0 0 auto;align-self:flex-start}@media(min-width:520px){.portion-kopf{flex-direction:row;align-items:flex-start;justify-content:space-between}.portion-kopf .knopf{align-self:auto}}.portion-gruppe{font-size:16px;font-weight:600}.portion-zahlen{font-size:12px;color:var(--text-leise);margin-top:4px}.portion-zeile{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.08);cursor:pointer}.portion-zeile:last-child{border-bottom:none}.portion-zeile input[type=checkbox]{flex:0 0 auto;width:22px;height:22px;-webkit-appearance:none;appearance:none;margin:0;cursor:pointer;border:1.5px solid rgba(255,255,255,.34);border-radius:6px;background:#ffffff0d;display:inline-grid;place-content:center;transition:background var(--uebergang),border-color var(--uebergang)}.portion-zeile input[type=checkbox]:before{content:"";width:11px;height:11px;transform:scale(0);transform-origin:center;transition:transform var(--uebergang);background:#fff;clip-path:polygon(14% 44%,0 60%,39% 100%,100% 18%,84% 4%,39% 68%)}.portion-zeile input[type=checkbox]:checked{background:var(--akzent-dunkel);border-color:var(--akzent-dunkel)}.portion-zeile input[type=checkbox]:checked:before{transform:scale(1)}.portion-zeile input[type=checkbox]:focus-visible{outline:2px solid var(--akzent);outline-offset:2px}.portion-text{display:flex;flex-direction:column;gap:3px;min-width:0}.portion-vorne{font-size:19px;line-height:1.3}.portion-neben{font-size:12px;color:var(--text-leise);line-height:1.4}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.flaeche,.kachel,.leer{background:#231f32f5}.streak{background:linear-gradient(160deg,#332c4e,#201c2e)}.lernkarte{background:#1a1726f7}.navi{background:#181524fa}.knopf.leise{background:#332c4e}.antworten button{background:#2b2645}.flaeche .knopf.leise{background:#3b3458}.tippfeld{background:#1a1726}.vorschaukasten{background:#181521}body:after{background:linear-gradient(to bottom,#16141fc7,#16141fd6)}}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
