:root{--bg:#f4f6fb;--surface:#fff;--surface-2:#eef1f8;--text:#1c2233;--muted:#62697d;--border:#dde2ee;--primary:#3b5bdb;--primary-strong:#2f4ac0;--primary-soft:#e3e9ff;--on-primary:#fff;--accent:#ff9f1c;--good:#2b9348;--good-soft:#dff5e5;--bad:#e03131;--bad-soft:#ffe3e3;--warn-soft:#fff4d6;--shadow:0 1px 2px #141e3c0f, 0 4px 16px #141e3c0f;--radius:18px;--radius-sm:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-family:ui-rounded,SF Pro Rounded,Nunito,Segoe UI,system-ui,-apple-system,sans-serif;font-size:17px;line-height:1.45}@media (prefers-color-scheme:dark){:root{--bg:#11141c;--surface:#1b1f2b;--surface-2:#252a39;--text:#eceff7;--muted:#9aa1b5;--border:#2f3547;--primary:#6d8cff;--primary-strong:#86a0ff;--primary-soft:#26305a;--on-primary:#0d1124;--good:#51cf66;--good-soft:#1d3a26;--bad:#ff6b6b;--bad-soft:#43201f;--warn-soft:#3d3218;--shadow:0 1px 2px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);min-height:100dvh;margin:0}h1,h2,h3{margin:0;line-height:1.2}h1{font-size:1.5rem}h2{font-size:1.15rem}h3{margin-top:.5rem;font-size:1rem}p{margin:0}a{color:var(--primary)}.app{flex-direction:column;max-width:640px;min-height:100dvh;margin:0 auto;display:flex}.topbar{z-index:5;padding:calc(env(safe-area-inset-top) + 10px) 16px 10px;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.brand{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:1.15rem;font-weight:800;display:flex}.brand-logo{font-size:1.4rem}.streak{background:var(--warn-soft);border-radius:999px;padding:4px 12px;font-weight:800}.content{padding:8px 16px calc(96px + env(safe-area-inset-bottom));flex:1}.tabbar{background:var(--surface);border-top:1px solid var(--border);width:100%;max-width:640px;padding:6px 4px calc(6px + env(safe-area-inset-bottom));z-index:10;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab{font:inherit;color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;display:flex}.tab-icon{font-size:1.35rem}.tab-label{font-size:.7rem;font-weight:600}.tab.active{color:var(--primary);background:var(--primary-soft)}.stack{flex-direction:column;gap:14px;display:flex}.button-row{flex-wrap:wrap;gap:10px;display:flex}.button-row>*{flex:1 1 0;min-width:0}.button-col{flex-direction:column;gap:10px;display:flex}.center{text-align:center}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--bad);font-weight:600}.grow{flex:auto}.page-header{align-items:center;gap:8px;min-height:44px;display:flex}.page-header h1{overflow-wrap:anywhere;flex:1;font-size:1.35rem}.section-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.hero{background:linear-gradient(135deg, var(--primary-soft), var(--surface) 70%);flex-direction:column;gap:12px;display:flex}.banner{border-radius:var(--radius);background:var(--warn-soft);flex-direction:column;align-items:flex-start;gap:8px;padding:14px 16px;display:flex}.banner.subtle{background:var(--surface-2)}.stat-row{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat{background:var(--surface-2);border-radius:var(--radius-sm);flex-direction:column;align-items:center;padding:10px 4px;display:flex}.stat-value{font-size:1.4rem;font-weight:800}.stat-label{color:var(--muted);text-align:center;font-size:.75rem}.badge{background:var(--accent);color:#231400;white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:800}.pill{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700}.pill.new{background:var(--primary-soft);color:var(--primary)}.pill.learning{background:var(--warn-soft);color:var(--text)}.pill.mastered{background:var(--good-soft);color:var(--good)}.progress{background:var(--surface-2);border-radius:999px;flex:1 0 10px;height:10px;overflow:hidden}.progress-fill{background:var(--primary);border-radius:999px;height:100%;transition:width .3s}.progress.success .progress-fill{background:var(--good)}.btn{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;min-height:44px;padding:10px 16px;font-weight:700;transition:transform 80ms,background .15s}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.big{border-radius:var(--radius);min-height:56px;font-size:1.05rem}.btn.small{min-height:34px;padding:6px 12px;font-size:.85rem}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn.primary:hover:not(:disabled){background:var(--primary-strong)}.btn.ghost{color:var(--primary);background:0 0;border-color:#0000}.btn.danger,.btn.ghost.danger{color:var(--bad)}.btn.good{background:var(--good);border-color:var(--good);color:#fff}.btn.bad{background:var(--bad-soft);border-color:var(--bad-soft);color:var(--bad)}.icon-btn{font:inherit;background:var(--surface-2);width:44px;height:44px;color:var(--text);cursor:pointer;border:0;border-radius:50%;flex:0 0 44px;justify-content:center;align-items:center;font-size:1.2rem;display:inline-flex}.icon-btn.speak{background:var(--primary-soft)}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:44px;padding:10px 12px}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}input[type=range]{box-shadow:none;accent-color:var(--primary);border:0;padding:0}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--muted);font-size:.85rem;font-weight:700}.field.compact{gap:2px}.field.compact>span{font-size:.75rem}.field-group{flex-direction:column;gap:10px;display:flex}.toggle{align-items:center;gap:10px;font-weight:600;display:flex}.toggle input{width:22px;height:22px;min-height:0;accent-color:var(--primary)}.segmented{background:var(--surface-2);border-radius:var(--radius-sm);gap:4px;padding:4px;display:flex}.segmented button{font:inherit;min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;padding:8px 6px;font-size:.9rem;font-weight:700}.segmented button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.chip{font:inherit;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:700}.chip.on{background:var(--primary-soft);border-color:var(--primary)}.search{flex:3 1 0!important}.inline-form{gap:10px;display:flex}.deck-tile{text-align:left;font:inherit;color:inherit;cursor:pointer;flex-direction:column;gap:8px;display:flex}.deck-tile:active{transform:scale(.99)}.deck-tile-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.deck-name{font-size:1.05rem;font-weight:800}.vocab-row{cursor:pointer;align-items:center;gap:10px;padding:12px 14px;display:flex}.vocab-row.editing{cursor:default;flex-direction:column;align-items:stretch}.vocab-text{flex-direction:column;flex:1;min-width:0;display:flex}.vocab-en{font-weight:800}.vocab-de{color:var(--muted)}.vocab-example{color:var(--muted);font-size:.8rem;font-style:italic}.vocab-meta{align-items:center;gap:6px;display:flex}.danger-zone{color:var(--muted);margin-top:8px}.danger-zone summary{cursor:pointer;padding:8px 0;font-weight:600}.photo-picker{flex-direction:column;gap:10px;display:flex}.thumbs{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;display:grid}.thumb{aspect-ratio:3/4;border-radius:var(--radius-sm);border:1px solid var(--border);position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.thumb-remove{color:#fff;cursor:pointer;background:#0009;border:0;border-radius:50%;width:28px;height:28px;position:absolute;top:4px;right:4px}.draft-list{flex-direction:column;gap:10px;display:flex}.draft{gap:10px;padding:12px;display:flex}.draft-fields{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.draft-actions{flex-direction:column;align-items:center;gap:8px;display:flex}.spinner-wrap{flex-direction:column;align-items:center;gap:18px;padding:48px 0 12px;font-size:1.1rem;font-weight:700;display:flex}.spinner{border:6px solid var(--primary-soft);border-top-color:var(--primary);border-radius:50%;width:56px;height:56px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.summary{flex-direction:column;gap:10px;display:flex}.summary-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.summary ul{flex-direction:column;gap:4px;margin:0;padding-left:1.2rem;display:flex}.mode-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}@media (width>=560px){.mode-grid{grid-template-columns:repeat(4,1fr)}}.mode{font:inherit;color:var(--text);background:var(--surface-2);border-radius:var(--radius-sm);cursor:pointer;text-align:center;border:2px solid #0000;flex-direction:column;align-items:center;gap:4px;padding:12px 6px;display:flex}.mode.on{border-color:var(--primary);background:var(--primary-soft)}.mode:disabled{opacity:.4}.mode-icon{font-size:1.6rem}.mode-label{font-size:.9rem;font-weight:800}.mode-hint{color:var(--muted);font-size:.7rem}.session-top{align-items:center;gap:12px;display:flex}.flashcard{background:var(--surface);border:1px solid var(--border);min-height:260px;box-shadow:var(--shadow);text-align:center;cursor:pointer;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px 18px;animation:.25s pop;display:flex}@keyframes pop{0%{opacity:0;transform:scale(.96)}}.flash-face{flex-direction:column;align-items:center;gap:8px;display:flex}.flash-face.solution{border-top:2px dashed var(--border);width:100%;padding-top:18px;animation:.25s pop}.flash-lang{color:var(--muted);font-size:.8rem;font-weight:700}.flash-word{overflow-wrap:anywhere;font-size:clamp(1.5rem,7vw,2.2rem);font-weight:800}.solution .flash-word{color:var(--primary)}.flash-example{color:var(--muted);font-style:italic}.answer-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.answer-input{text-align:center;border-radius:var(--radius);min-height:56px;font-size:1.3rem}.verb-inputs{grid-template-columns:auto 1fr;align-items:center;gap:8px 10px;display:grid}.verb-input{display:contents}.verb-input-label{white-space:nowrap;color:var(--muted);font-size:.9rem;font-weight:700}.verb-input .answer-input{min-width:0;min-height:48px;font-size:1.15rem}.verb-input.mark-exact .answer-input{border-color:var(--good);background:var(--good-soft)}.verb-input.mark-close .answer-input{background:var(--warn-soft);border-color:#e0a800}.verb-input.mark-wrong .answer-input,.verb-input.mark-missing .answer-input{border-color:var(--bad);background:var(--bad-soft)}.feedback{border-radius:var(--radius);text-align:center;padding:14px 16px;font-weight:700}.feedback.correct{background:var(--good-soft);color:var(--good)}.feedback.almost{background:var(--warn-soft)}.feedback.wrong{background:var(--bad-soft);color:var(--bad)}.choices{gap:10px;display:grid}.choice{font:inherit;color:var(--text);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:center;min-height:56px;padding:14px;font-size:1.05rem;font-weight:700}.choice.correct{background:var(--good-soft);border-color:var(--good);color:var(--good)}.choice.wrong{background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}.choice.dim{opacity:.5}.choice:disabled{cursor:default}.finish{padding:32px 20px}.finish-stars{font-size:3rem;animation:.4s pop}@media (width>=560px){.choices{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.spinner-progress{width:min(320px,80%);display:flex}.thumb img{cursor:pointer}.thumb-edit{font:inherit;color:#fff;cursor:pointer;background:#0000009e;border:0;border-radius:8px;padding:4px;font-size:.7rem;font-weight:700;position:absolute;bottom:4px;left:4px;right:4px}.cropper{z-index:50;padding:calc(env(safe-area-inset-top) + 12px) 12px calc(env(safe-area-inset-bottom) + 12px);color:#fff;background:#0c0f16;flex-direction:column;gap:10px;display:flex;position:fixed;inset:0}.cropper-hint{text-align:center;font-size:.9rem}.cropper-stage{touch-action:none;-webkit-user-select:none;user-select:none;align-self:center;max-width:100%;max-height:calc(100dvh - 170px);position:relative;overflow:hidden}.cropper-stage img{pointer-events:none;max-width:100%;max-height:calc(100dvh - 170px);display:block}.cropper-rect{pointer-events:none;border:2px solid #ffd43b;position:absolute;box-shadow:0 0 0 9999px #0000008c}.cropper-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:auto;display:grid}.cropper-actions .btn{white-space:nowrap;text-overflow:ellipsis;padding:10px 6px;overflow:hidden}.list-editor{resize:vertical;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.95rem;line-height:1.6}code{background:var(--surface-2);border-radius:6px;padding:1px 5px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.raw-text summary{cursor:pointer;color:var(--muted);padding:6px 0;font-weight:600}.raw-text pre{white-space:pre-wrap;background:var(--surface-2);border-radius:var(--radius-sm);max-height:300px;padding:12px;font-size:.8rem;overflow:auto}.text-head{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:0;display:flex}.reader{flex-direction:column;gap:16px;display:flex}.reader-paragraph{flex-direction:column;gap:8px;display:flex}.reader-sentence{align-items:flex-start;gap:10px;display:flex}.reader-sentence .icon-btn{flex-basis:36px;width:36px;height:36px;font-size:1rem}.reader-sentence p{padding-top:2px;font-size:1.1rem;line-height:1.7}.reader-word{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0}.reader-word:hover,.reader-word:focus-visible{background:var(--primary-soft);outline:none}.sheet-backdrop{z-index:40;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-width:640px;max-height:90dvh;padding:20px 16px calc(20px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;animation:.2s slide-up;overflow:auto}@keyframes slide-up{0%{opacity:0;transform:translateY(40px)}}.topbar-right{align-items:center;gap:8px;display:flex}.profile-chip{max-width:160px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 12px 4px 6px;font-weight:800;display:flex}.profile-chip>span:first-child{font-size:1.3rem}.profile-chip-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-title{margin:16px 0 4px;font-size:1.7rem}.profile-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.profile-tile{font:inherit;color:inherit;cursor:pointer;flex-direction:column;align-items:center;gap:6px;padding:22px 12px;transition:transform 80ms;display:flex}.profile-tile:active{transform:scale(.97)}.profile-tile.add{box-shadow:none;background:0 0;border-style:dashed}.profile-avatar{font-size:3.2rem;line-height:1}.profile-name{overflow-wrap:anywhere;text-align:center;font-size:1.15rem;font-weight:800}.avatar-grid{grid-template-columns:repeat(8,1fr);gap:6px;display:grid}.avatar-choice{aspect-ratio:1;background:var(--surface-2);cursor:pointer;border:2px solid #0000;border-radius:12px;padding:0;font-size:1.6rem}.avatar-choice.on{border-color:var(--primary);background:var(--primary-soft)}@media (width<=380px){.avatar-grid{grid-template-columns:repeat(4,1fr)}}.profile-row{align-items:center;gap:10px;display:flex}.profile-row-avatar{font-size:2rem}.profile-row-text{flex-direction:column;flex:1;min-width:0;display:flex}.tabbar{grid-template-columns:repeat(5,1fr)}.level-link{font:inherit;color:inherit;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:12px}.level-card{flex-direction:column;gap:8px;display:flex}.level-head{align-items:center;gap:12px;display:flex}.level-badge{color:#3a2600;background:radial-gradient(circle at 35% 30%,#ffe28a,#ffb703);border-radius:50%;flex:none;place-items:center;width:46px;height:46px;font-size:1.3rem;font-weight:900;display:grid;box-shadow:0 2px 6px #ff9f1c73}.level-card.compact .level-badge{width:38px;height:38px;font-size:1.05rem}.level-text{flex-direction:column;flex:1;min-width:0;display:flex}.points-chip{white-space:nowrap;background:var(--warn-soft);border-radius:999px;padding:4px 10px;font-weight:800}.goal-line{justify-content:space-between;gap:8px;font-size:.9rem;display:flex}.goal-done{color:var(--good);font-weight:800}.session-points{white-space:nowrap;text-align:right;min-width:56px;font-weight:800;position:relative}.points-pop{color:var(--good);pointer-events:none;font-weight:900;animation:.9s ease-out forwards float-up;position:absolute;top:-18px;right:0}@keyframes float-up{0%{opacity:1;transform:translateY(0)scale(1.2)}to{opacity:0;transform:translateY(-28px)scale(1)}}.earned-points{color:var(--accent);font-size:2.4rem;font-weight:900}.bonus-list{text-align:left;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.bonus-list li{background:var(--surface-2);border-radius:10px;justify-content:space-between;gap:8px;padding:6px 10px;display:flex}.level-up{border-radius:var(--radius);color:#3a2600;background:linear-gradient(135deg,#ffe28a,#ffb703);padding:14px;font-weight:700;animation:.4s pop}.level-line{flex-direction:column;gap:6px;font-weight:700;display:flex}.new-badges{flex-direction:column;gap:8px;display:flex}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.badge-card{text-align:center;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);flex-direction:column;align-items:center;gap:4px;padding:14px 8px;display:flex}.badge-card.earned{background:linear-gradient(160deg, var(--warn-soft), var(--surface) 70%);border-color:#ffd166}.badge-card.locked{opacity:.55;filter:grayscale()}.badge-icon{font-size:2.2rem;line-height:1.1}.badge-date{color:var(--muted);font-size:.7rem}.pop-in{animation:.5s pop}.reward-list{flex-direction:column;gap:10px;display:flex}.reward-row{align-items:center;gap:10px;display:flex}.reward-text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.reward-form{grid-template-columns:1fr 90px auto;gap:8px;display:grid}.idea-row{flex-wrap:wrap;gap:6px;display:flex}.parent-zone summary{cursor:pointer;color:var(--muted);padding:6px 0;font-weight:700}.points-help{flex-direction:column;gap:4px;margin:0;padding-left:1.2rem;display:flex}.confetti{pointer-events:none;z-index:30;position:fixed;inset:0;overflow:hidden}.confetti span{font-size:1.6rem;animation-name:confetti-fall;animation-timing-function:linear;animation-fill-mode:forwards;position:absolute;top:-40px}@keyframes confetti-fall{to{opacity:.7;transform:translateY(110vh)rotate(540deg)}}.pinpad{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.pin-dots{gap:14px;margin:6px 0 0;display:flex}.pin-dots span{border:2px solid var(--primary);border-radius:50%;width:18px;height:18px}.pin-dots span.on{background:var(--primary)}.pin-dots.shake{animation:.35s shake}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.pin-error{min-height:1.4em;font-size:.9rem}.pin-keys{grid-template-columns:repeat(3,72px);gap:10px;display:grid}.pin-key{height:60px;font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:16px;font-size:1.5rem;font-weight:800}.pin-key:active:not(:disabled){background:var(--primary-soft);transform:scale(.95)}.pin-key:disabled{opacity:.4}.pin-key.small{font-size:1.2rem}.pin-sheet{align-items:stretch}.recovery-task{text-align:center;font-size:1.6rem;font-weight:900}.locked-screen{padding:32px 20px}.locked-icon{font-size:3rem}.parent-open{align-self:flex-start}.list-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.list-tile{font:inherit;color:inherit;text-align:center;cursor:pointer;flex-direction:column;align-items:center;gap:4px;padding:16px 10px;display:flex}.list-icon{font-size:2.2rem}.list-title{font-weight:800}.list-preview{letter-spacing:2px;font-size:1.2rem}.badge.done{background:var(--good-soft);color:var(--good)}.flash-picture{font-size:clamp(3.5rem,18vw,5.5rem);line-height:1.1}.vocab-pic{flex:none;font-size:1.8rem}.verb-table-wrap{padding:6px;overflow-x:auto}.verb-table{border-collapse:collapse;width:100%;font-size:clamp(.8rem,3.4vw,.95rem)}.verb-table th{text-align:left;color:var(--muted);white-space:nowrap;padding:6px;font-size:.75rem}.verb-table td{border-top:1px solid var(--border);vertical-align:middle;padding:6px}.verb-table tbody tr:nth-child(odd){background:var(--surface-2)}.verb-table .icon-btn{flex-basis:34px;width:34px;height:34px;font-size:.95rem}.listen-buttons{justify-content:center;gap:14px;display:flex}.listen-btn{background:var(--primary-soft);cursor:pointer;width:84px;height:84px;box-shadow:var(--shadow);border:0;border-radius:50%;font-size:2.4rem}.listen-btn.slow{align-self:center;width:64px;height:64px;font-size:1.8rem}.listen-btn:active{transform:scale(.95)}.listen-hint,.listen-meaning{color:var(--muted);font-weight:700}.problem-tile{font:inherit;color:inherit;text-align:left;cursor:pointer;background:linear-gradient(135deg, var(--bad-soft), var(--surface) 70%);border-color:#ffc9c9;align-items:center;gap:12px;display:flex}.problem-icon{font-size:2rem}.problem-text{flex-direction:column;flex:1;display:flex}.pill.problem{background:var(--bad-soft)}.hero-actions{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.hero-actions .btn{flex-direction:column;align-items:center;gap:2px;min-height:64px;padding:10px 4px;font-size:.9rem;display:flex}.hero-actions .btn span{font-size:1.4rem}.memory-status{text-align:right;flex:1;font-weight:800}.memory-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.memory-grid.size-12,.memory-grid.size-16{grid-template-columns:repeat(4,1fr)}.memory-tile{aspect-ratio:3/4;font:inherit;color:var(--text);background:linear-gradient(145deg, var(--primary), #7048e8);box-shadow:var(--shadow);cursor:pointer;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px;transition:transform .15s;display:flex;overflow:hidden}.memory-tile:active{transform:scale(.96)}.memory-tile.open{animation:.25s flip-in}.memory-tile.open.en{color:#1c2233;background:#dbe4ff}.memory-tile.open.de{color:#1c2233;background:#ffe8cc}.memory-tile.matched{outline:3px solid var(--good);opacity:.85}@keyframes flip-in{0%{transform:rotateY(90deg)}}.memory-back{filter:grayscale(.2);font-size:1.8rem}.memory-flag{font-size:.8rem}.memory-picture{font-size:2rem;line-height:1.1}.memory-text{text-align:center;overflow-wrap:anywhere;font-size:clamp(.7rem,3.2vw,1rem);font-weight:800;line-height:1.15}.test-tile{font:inherit;color:inherit;text-align:left;cursor:pointer;background:linear-gradient(135deg, var(--primary-soft), var(--surface) 70%);border-color:#a5d8ff;align-items:center;gap:12px;display:flex}.test-icon{font-size:2rem}.test-card-deck.soon{border-color:var(--accent);box-shadow:0 0 0 3px var(--warn-soft)}.test-prep{border-color:#a5d8ff}.test-card{cursor:default}.grade-badge{color:#fff;background:var(--good);border-radius:50%;align-self:center;place-items:center;width:84px;height:84px;font-size:2.6rem;font-weight:900;animation:.4s pop;display:grid}.grade-badge.grade-3,.grade-badge.grade-4{background:var(--accent)}.grade-badge.grade-5,.grade-badge.grade-6{background:var(--bad)}.mistakes{text-align:left}.mistakes ul{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.mistakes li{border-radius:var(--radius-sm);background:var(--bad-soft);flex-direction:column;padding:10px 12px;display:flex}.mistakes li.almost{background:var(--warn-soft)}.mistake-q{font-weight:800}.mistake-given{color:var(--muted);font-size:.85rem}.mistake-solution{font-weight:700}input[type=date]{min-height:48px}.sync-code{letter-spacing:.06em;text-align:center;border-radius:var(--radius-sm);background:var(--surface-2);-webkit-user-select:all;user-select:all;padding:14px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:clamp(1.3rem,6vw,1.8rem);font-weight:800}.sync-input{text-align:center;letter-spacing:.06em;text-transform:uppercase;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:1.3rem}.sync-status.ok{color:var(--good)}.sync-status.not-configured,.sync-status.wrong-code,.sync-status.error{color:var(--bad)}.sync-steps{flex-direction:column;gap:4px;margin:0;padding-left:1.2rem;display:flex}.voice-tips{gap:6px;margin:8px 0 0;padding-left:20px;display:grid}.games-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.game-tile{font:inherit;color:inherit;text-align:center;cursor:pointer;flex-direction:column;align-items:center;gap:4px;padding:16px 10px;display:flex}.game-tile.suggested{border-color:var(--primary)}.game-tile:disabled{opacity:.55;cursor:default}.game-icon{font-size:2.4rem;line-height:1.2}.listen-pick-card{cursor:default;min-height:200px}.listen-solution{color:var(--primary);margin:0;font-size:1.6rem;font-weight:800}.pick-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.pick-grid .choice{flex-direction:column;align-items:center;gap:2px;padding:10px;display:flex}.pick-picture{font-size:3.2rem;line-height:1.15}.pick-label{color:var(--muted);font-size:.8rem;font-weight:600}.mic-btn{width:180px;font:inherit;color:var(--on-primary);background:var(--primary);cursor:pointer;border:0;border-radius:999px;flex-direction:column;align-self:center;align-items:center;gap:6px;padding:18px 12px;font-weight:800;display:flex}.mic-btn span{font-size:2.6rem;line-height:1}.mic-btn.on{background:var(--bad);animation:1s ease-in-out infinite pulse}@keyframes pulse{50%{transform:scale(1.06)}}.letter-slots{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.letter-slot,.letter-tile{width:44px;height:52px;font:inherit;cursor:pointer;border-radius:10px;font-size:1.5rem;font-weight:800}.letter-slot{color:var(--text);background:var(--surface-2);border:2px dashed var(--border)}.letter-slot.filled{border-style:solid;border-color:var(--primary);background:var(--primary-soft)}.letter-slot.right{border-color:var(--good);background:var(--good-soft);color:var(--good)}.letter-slot.wrong{border-color:var(--bad);background:var(--bad-soft);animation:.35s shake}.letter-gap{width:18px}.letter-tiles{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.letter-tile{color:var(--text);background:var(--surface);border:2px solid var(--border);box-shadow:var(--shadow)}.letter-tile:disabled{opacity:.2;cursor:default}.balloons{gap:2px;font-size:1.6rem;display:flex}.balloon.popped{opacity:.35}.hangman-word{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.hangman-letter{border-bottom:3px solid var(--text);justify-content:center;align-items:flex-end;width:32px;height:42px;font-size:1.6rem;font-weight:800;display:inline-flex}.hangman-letter.missed{color:var(--bad)}.hangman-other{align-items:flex-end;height:42px;font-size:1.6rem;font-weight:800;display:inline-flex}.keyboard{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.key{min-height:46px;font:inherit;color:var(--text);background:var(--surface);border:2px solid var(--border);cursor:pointer;border-radius:10px;font-size:1.2rem;font-weight:800}.key.hit{background:var(--good-soft);border-color:var(--good);color:var(--good)}.key.miss{background:var(--bad-soft);border-color:var(--bad);color:var(--bad);opacity:.6}.sentence-card{cursor:default;min-height:0}.sentence-de{margin:0;font-size:1.1rem;font-weight:700}.sentence-answer{border:2px dashed var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;width:100%;min-height:64px;padding:10px;display:flex}.sentence-answer.right{border:2px solid var(--good);background:var(--good-soft)}.sentence-answer.wrong{border:2px solid var(--bad);animation:.35s shake}.sentence-end{margin-left:-4px;font-size:1.2rem;font-weight:800}.word-chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.word-chip{font:inherit;color:var(--text);background:var(--surface);border:2px solid var(--border);box-shadow:var(--shadow);cursor:pointer;border-radius:12px;padding:8px 12px;font-weight:700}.word-chip.placed{background:var(--primary-soft);border-color:var(--primary);box-shadow:none}.word-chip.ghost{visibility:hidden}.word-chip:disabled{cursor:default}.blitz-icon{font-size:3.5rem}.blitz-timer{background:var(--surface-2);border-radius:999px;flex:1;height:30px;position:relative;overflow:hidden}.blitz-timer-fill{background:var(--primary-soft);transition:width .2s linear;position:absolute;inset:0 auto 0 0}.blitz-timer.hurry .blitz-timer-fill{background:var(--bad-soft)}.blitz-timer span{text-align:center;font-weight:800;line-height:30px;display:block;position:relative}.blitz-card{cursor:default;min-height:150px;animation:none}.blitz-record{font-size:1.2rem;font-weight:800}.blitz-record.new{color:var(--good);font-size:1.5rem}.grammar-card{cursor:default;min-height:180px}.grammar-sentence{margin:0;font-size:1.35rem;font-weight:700;line-height:1.6}.grammar-gap{min-width:70px;color:var(--primary);border-bottom:3px solid var(--primary);margin:0 4px;padding:0 8px;display:inline-block}.grammar-gap.right{color:var(--good);border-color:var(--good)}.grammar-gap.wrong{color:var(--bad);border-color:var(--bad)}.grammar-choices{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}.grammar-rule{text-align:left;background:var(--primary-soft);border-radius:var(--radius-sm);margin:0;padding:12px 14px;font-size:.95rem}.grammar-topic,.report-link{font:inherit;color:inherit;text-align:left;cursor:pointer;align-items:center;gap:12px;display:flex}.grammar-topic-icon,.report-link>span:first-child{font-size:2rem}.grammar-topic-text{flex-direction:column;flex:1;display:flex}.report h2,.report h3{margin:0}.week-chart{grid-template-columns:repeat(7,1fr);gap:6px;height:150px;display:grid}.week-day{flex-direction:column;align-items:center;gap:4px;display:flex}.week-value{min-height:1.2em;font-size:.8rem;font-weight:700}.week-bar-track{background:var(--surface-2);border-radius:8px;flex:1;width:100%;max-width:36px;position:relative;overflow:hidden}.week-bar{background:var(--primary);border-radius:8px;position:absolute;inset:auto 0 0}.week-label{color:var(--muted);font-size:.8rem}.week-day.today .week-label{color:var(--text);font-weight:800}.report-stats{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}@media (width<=480px){.report-stats{grid-template-columns:repeat(2,1fr)}}.trend.up{color:var(--good)}.trend.down{color:var(--bad)}.report-problems{columns:2;margin:0;padding-left:20px;font-size:.95rem}.print-sheet{color:#000;border:1px solid var(--border);background:#fff;border-radius:6px;padding:28px 30px;font-family:Arial,Helvetica,sans-serif;font-size:15px}.print-head h1{margin:0 0 10px;font-size:1.4rem}.print-fields{flex-wrap:wrap;gap:8px 28px;margin-bottom:10px;display:flex}.print-task{margin:0 0 14px;font-style:italic}.print-table{border-collapse:collapse;width:100%}.print-table td{vertical-align:bottom;border-bottom:1px solid #ddd;padding:9px 6px}.print-nr{color:#555;width:2.2em}.print-q{width:42%}.print-flag{color:#555;border:1px solid #999;border-radius:3px;padding:0 4px;font-size:.7rem;font-weight:700;display:inline-block}.print-line,.print-verb-lines span{border-bottom:1px dotted #777;height:1.3em;display:block}.print-verb-lines{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.print-solution{font-weight:700}.print-solutions{margin-top:16px}@media print{@page{margin:15mm}body,.app,.content{color:#000!important;background:#fff!important}.topbar,.tabbar,.no-print,.page-header{display:none!important}.content{max-width:none!important;padding:0!important}.print-sheet{border:0;padding:0}.print-solutions{break-before:page;margin-top:0}.report .card{break-inside:avoid;box-shadow:none}}.home-greeting{margin:4px 0 0;font-size:1.5rem}.status-strip{font:inherit;color:inherit;text-align:left;cursor:pointer;align-items:center;gap:12px;padding:10px 14px;display:flex}.status-strip .level-badge{width:38px;height:38px}.status-goal{flex-direction:column;flex:1;gap:4px;display:flex}.mission{text-align:center;background:linear-gradient(160deg, var(--primary-soft), var(--surface) 75%);flex-direction:column;align-items:center;gap:8px;padding:22px 18px;display:flex}.mission.test{background:linear-gradient(160deg, var(--warn-soft), var(--surface) 75%)}.mission.done{background:linear-gradient(160deg, var(--good-soft), var(--surface) 75%)}.mission h2{margin:0;font-size:1.35rem}.mission p{color:var(--muted);margin:0 0 6px}.mission .btn{align-self:stretch}.mission-icon{font-size:3rem;line-height:1.1}.deck-summary{justify-content:space-between;align-items:center;gap:8px;display:flex}.deck-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.test-add{align-self:flex-start}.words-panel summary{cursor:pointer;font-weight:800;list-style-position:inside}.words-panel-body{margin-top:12px}.add-list{gap:10px;display:grid}.add-tile{font:inherit;color:inherit;text-align:left;cursor:pointer;align-items:center;gap:14px;display:flex}.add-icon{font-size:2.2rem}.add-text{flex-direction:column;flex:1;display:flex}.mode:not(.on) .mode-hint{display:none}.deck-actions .btn{white-space:nowrap;padding-inline:8px}.avatar{border-radius:50%;flex:none;place-items:center;line-height:1;display:inline-grid;position:relative}.avatar.has-bg{box-shadow:inset 0 0 0 2px #fff9}.avatar-sm{width:30px;height:30px;font-size:1.25rem}.avatar-md{width:52px;height:52px;font-size:2rem}.avatar-lg{width:92px;height:92px;font-size:3.4rem}.avatar-hat{font-size:.6em;position:absolute;top:-.42em;left:50%;transform:translate(-50%)rotate(-8deg)}.avatar-buddy{font-size:.45em;position:absolute;bottom:-.12em;right:-.22em}.profile-chip .avatar-sm{font-size:1.15rem}.home-head{align-items:center;gap:12px;margin-top:6px;display:flex}.home-head .home-greeting{margin:0}.home-avatar{font:inherit;cursor:pointer;background:0 0;border:0;padding:4px}.shop-preview{padding-top:26px}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;display:grid}.shop-item{font:inherit;color:inherit;cursor:pointer;flex-direction:column;align-items:center;gap:4px;padding:12px 6px;display:flex}.shop-item.wearing{border-color:var(--good);background:var(--good-soft)}.shop-item.locked{opacity:.5;cursor:default}.shop-icon{font-size:2.2rem;line-height:1.1}.shop-swatch{border:2px solid var(--border);border-radius:50%;width:40px;height:40px}.challenge-card{background:linear-gradient(160deg, var(--good-soft), var(--surface) 70%)}.challenge-card .section-head{align-items:center}.challenge-kids,.chip-row{flex-wrap:wrap;gap:6px;display:flex}.shop-preview .avatar{align-self:center}.lernzettel h2,.lernzettel h3{margin:0}.lern-points{gap:8px;margin:0;padding-left:20px;display:grid}.lern-signal{background:var(--warn-soft);border-radius:var(--radius-sm);margin:0;padding:10px 12px}.lern-examples{gap:8px;margin:0;padding:0;list-style:none;display:grid}.lern-examples li{background:var(--surface-2);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:8px 10px;display:flex}.lern-example-text{flex-direction:column;flex:1;display:flex}.grammar-stars{white-space:nowrap;font-size:.85rem}.grammar-solution{margin:0;font-weight:700}.grammar-solution.right{color:var(--good)}.grammar-solution.wrong{color:var(--primary)}@media print{.lernzettel .speak{display:none!important}}.print-only{display:none}@media print{.print-only{display:block}}.grammar-home h2{margin:0}.grammar-home-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.grammar-home-btn{font:inherit;color:var(--text);text-align:center;background:var(--surface-2);border-radius:var(--radius-sm);cursor:pointer;border:2px solid #0000;flex-direction:column;align-items:center;gap:2px;padding:12px 6px;display:flex}.grammar-home-btn:active{border-color:var(--primary)}.grammar-home-icon{font-size:1.8rem}.grammar-tabs{gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.grammar-tabs button{font:inherit;color:var(--text);background:var(--surface-2);cursor:pointer;border:0;border-radius:999px;flex:none;padding:8px 14px;font-weight:700}.grammar-tabs button.on{color:var(--on-primary);background:var(--primary)}.football-card{font:inherit;color:inherit;text-align:left;cursor:pointer;background:linear-gradient(160deg, #d3f9d8, var(--surface) 70%);align-items:center;gap:12px;display:flex}.football-head .football-league{align-items:center;gap:12px;display:flex}.football-head .football-league div{flex-direction:column;display:flex}.next-match{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:10px;display:flex}.crest{vertical-align:middle;filter:drop-shadow(0 1px 1px #0003);flex-shrink:0;display:inline-block}.crest-builder{gap:12px}.crest-preview{border-radius:var(--radius);background:linear-gradient(160deg,#2b8a3e,#237032);flex-direction:column;align-items:center;gap:8px;padding:12px;display:flex}.crest-options{grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:6px;display:grid}.crest-btn{font:inherit;color:var(--text);background:var(--surface-2);border-radius:var(--radius-sm);cursor:pointer;border:2px solid #0000;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;font-size:.75rem;display:flex}.crest-btn.on{border-color:var(--primary);background:var(--primary-soft)}.swatches{flex-wrap:wrap;gap:6px;display:flex}.swatch{border:2px solid var(--border);cursor:pointer;border-radius:50%;width:34px;height:34px;padding:0}.swatch.on{outline:3px solid var(--primary);outline-offset:2px}.next-pairing,.table-team{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.match-card{text-align:center;color:#fff;border-radius:var(--radius);background:linear-gradient(160deg,#2b8a3e,#237032);flex-direction:column;align-items:center;gap:6px;padding:14px 12px;display:flex}.match-card.loss{background:linear-gradient(160deg,#495057,#343a40)}.match-day{opacity:.9;font-size:.8rem;font-weight:700}.match-score{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;width:100%;display:grid}.match-score strong{white-space:nowrap;font-size:2rem}.match-team{flex-direction:column;align-items:center;font-size:.85rem;font-weight:700;display:flex}.match-outcome{font-weight:800}.match-sticker,.match-season{background:#ffffff2e;border-radius:10px;padding:6px 10px;font-size:.9rem}.league-table{border-collapse:collapse;width:100%;font-size:.9rem}.league-table th,.league-table td{text-align:center;border-bottom:1px solid var(--border);padding:6px 4px}.league-table .left{text-align:left}.league-table tr.up td:first-child{box-shadow:inset 4px 0 0 var(--good)}.league-table tr.me td{background:var(--primary-soft);font-weight:800}.trophy-shelf{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;display:grid}.trophy{text-align:center;background:var(--warn-soft);border-radius:var(--radius-sm);flex-direction:column;align-items:center;gap:2px;padding:10px 6px;display:flex}.trophy-icon{font-size:2rem}.sticker-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.sticker{font:inherit;color:var(--text);text-align:center;background:var(--surface);border-radius:var(--radius-sm);cursor:pointer;border:2px solid #ffd43b;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;display:flex}.sticker.empty{background:var(--surface-2);border:2px dashed var(--border);cursor:default}.sticker-emoji{font-size:1.8rem}
