@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-canvas:#090d14;--bg-surface:#111722;--bg-surface-elevated:#182030;--bg-surface-subtle:#141c2b;--bg-glass:#111722eb;--color-amber:#f59e0b;--color-amber-light:#fbbf24;--color-amber-dim:#f59e0b1f;--color-emerald:#10b981;--color-emerald-dim:#10b9811f;--color-rose:#f43f5e;--color-rose-dim:#f43f5e1f;--color-blue:#38bdf8;--color-blue-dim:#38bdf81f;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--border-subtle:#ffffff12;--border-medium:#ffffff1f;--border-focus:#f59e0b;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-full:9999px;--font-sans:-apple-system, BlinkMacSystemFont, "Inter Variable", "Inter", "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", monospace;--c-der:#60a5fa;--c-die:#fb7185;--c-das:#34d399}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{background-color:var(--bg-canvas);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.45}.app-container{background-color:var(--bg-canvas);border-left:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);flex-direction:column;max-width:520px;min-height:100vh;margin:0 auto;display:flex;position:relative}.app-header{z-index:40;background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-subtle);padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top,0px));padding-left:calc(16px + env(safe-area-inset-left,0px));padding-right:calc(16px + env(safe-area-inset-right,0px));justify-content:space-between;align-items:center;gap:10px;display:flex;position:sticky;top:0}.header-brand{align-items:center;gap:10px;display:flex}.brand-badge-icon{background:var(--bg-surface-elevated);border:1px solid var(--border-medium);border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.25rem;display:flex}.brand-title{letter-spacing:-.01em;color:var(--text-primary);font-size:1rem;font-weight:700}.header-actions{align-items:center;gap:8px;display:flex}.lang-btn{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:4px;padding:6px 10px;font-size:.8rem;font-weight:700;transition:all .15s;display:flex}.lang-btn:active{border-color:var(--color-amber);transform:scale(.96)}.icon-btn{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.app-content{padding:14px;padding-bottom:calc(115px + env(safe-area-inset-bottom,24px));flex:1}.bottom-nav{background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-subtle);width:100%;max-width:520px;padding:6px 2px calc(6px + env(safe-area-inset-bottom));z-index:50;grid-template-columns:repeat(auto-fit,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item{color:var(--text-muted);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;font-size:.7rem;font-weight:600;transition:all .15s;display:flex}.nav-item.active{color:var(--color-amber-light)}.nav-item.active .nav-icon-wrapper{background:var(--color-amber-dim);color:var(--color-amber-light)}.nav-icon-wrapper{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:32px;height:32px;display:flex}.nav-item.highlight-scanner .nav-icon-wrapper{background:var(--color-amber);color:#090d14}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:12px;padding:14px}.card-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.card-title{color:var(--text-primary);align-items:center;gap:6px;font-size:.95rem;font-weight:700;display:flex}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;width:100%;padding:11px 16px;font-family:inherit;font-size:.88rem;font-weight:600;transition:all .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--color-amber);color:#090d14;font-weight:700}.btn-success{background:var(--color-emerald);color:#090d14;font-weight:700}.btn-secondary{background:var(--bg-surface-elevated);color:var(--text-primary);border:1px solid var(--border-medium)}.btn-outline{color:var(--color-amber-light);background:0 0;border:1px solid #f59e0b66}.btn-danger{background:var(--color-rose-dim);color:#fda4af;border:1px solid #f43f5e4d}.btn-field{touch-action:manipulation;-webkit-user-select:none;user-select:none;min-height:56px!important;font-weight:700!important}.pill{border-radius:var(--radius-full);white-space:nowrap;align-items:center;gap:4px;padding:2px 7px;font-size:.7rem;font-weight:600;display:inline-flex}.pill-cat{background:var(--bg-surface-elevated);color:var(--text-secondary);border:1px solid var(--border-subtle)}.pill-matched{background:var(--color-emerald-dim);color:#34d399;border:1px solid #10b9814d}.pill-missing{background:var(--color-rose-dim);color:#fda4af;border:1px solid #f43f5e4d}.category-tabs{scrollbar-width:none;gap:6px;margin-bottom:12px;padding-bottom:6px;display:flex;overflow-x:auto}.category-tabs::-webkit-scrollbar{display:none}.cat-tab{background:var(--bg-surface-elevated);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;padding:6px 12px;font-size:.78rem;font-weight:600;transition:all .15s}.cat-tab.active{background:var(--text-primary);color:var(--bg-canvas);border-color:var(--text-primary)}.input-group{margin-bottom:12px}.input-label{color:var(--text-secondary);margin-bottom:4px;font-size:.75rem;font-weight:600;display:block}.input-field{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);width:100%;color:var(--text-primary);border-radius:var(--radius-sm);outline:none;padding:10px 12px;font-family:inherit;font-size:.9rem;transition:border-color .15s}.input-field:focus{border-color:var(--color-amber)}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;background:#000000bf;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-surface-elevated);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);border:1px solid var(--border-medium);width:100%;max-width:520px;max-height:85vh;padding:18px;padding-bottom:calc(18px + env(safe-area-inset-bottom,0px));overflow-y:auto}.modal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;display:flex}.modal-title{font-size:1rem;font-weight:700}.mode-segmented-control{background:var(--bg-surface-elevated);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);gap:3px;margin-bottom:12px;padding:3px;display:flex}.mode-btn{color:var(--text-muted);border-radius:var(--radius-xs);cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:.8rem;font-weight:700;transition:all .15s;display:flex}.mode-btn.active{background:var(--color-amber);color:#090d14;box-shadow:0 1px 3px #0000004d}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}html.tablet .app-container,html.tablet .bottom-nav,html.tablet .modal-content,html.tablet .lesson-screen,html.tablet .chat-input-bar{max-width:960px}html.tablet .app-container{border-left:none;border-right:none}button{font-family:inherit}button:disabled{opacity:.45;cursor:not-allowed}.text-muted{color:var(--text-muted)}.mono{font-family:var(--font-mono)}.art-der{color:var(--c-der)}.art-die{color:var(--c-die)}.art-das{color:var(--c-das)}.stat-pill{border-radius:var(--radius-sm);background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);font-size:.78rem;font-weight:800;font-family:var(--font-mono);align-items:center;gap:4px;padding:6px 9px;display:inline-flex}.section-title{margin:18px 2px 2px;font-size:1.05rem;font-weight:800}.section-sub{color:var(--text-muted);margin:0 2px 10px;font-size:.78rem}.progress-track{border-radius:var(--radius-full);background:var(--bg-surface-elevated);height:8px;overflow:hidden}.progress-fill{border-radius:var(--radius-full);background:var(--color-amber);height:100%;transition:width .3s}.unit-card{text-align:left;background:var(--bg-surface);border:1px solid var(--border-subtle);border-left:3px solid var(--border-medium);border-radius:var(--radius-md);width:100%;min-height:64px;color:var(--text-primary);cursor:pointer;align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;transition:transform .1s;display:flex}.unit-card:active{transform:scale(.99)}.unit-card.done{border-left-color:var(--color-emerald)}.unit-card.started{border-left-color:var(--color-amber)}.unit-title{font-size:.95rem;font-weight:700}.unit-sub{color:var(--text-muted);margin-top:2px;font-size:.75rem}.unit-score{font-family:var(--font-mono);color:var(--text-secondary);font-size:.85rem;font-weight:800}.ticket{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:14px;padding:16px;position:relative}.ticket-dash{border-top:2px dashed var(--border-medium);margin:10px 0 12px}.ticket-head{color:var(--text-muted);font-size:.72rem;font-weight:700;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:center;gap:8px;display:flex}.big-number{font-size:2rem;font-weight:800;font-family:var(--font-mono);line-height:1.1}.lesson-screen{z-index:80;background:var(--bg-canvas);flex-direction:column;max-width:520px;margin:0 auto;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.lesson-top{padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top,0px));align-items:center;gap:12px;display:flex}.lesson-body{flex:1;padding:6px 16px 24px;overflow-y:auto}.lesson-bottom{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-subtle);background:var(--bg-surface);max-height:60vh;overflow-y:auto}.lesson-bottom.ok{background:#0f2a22;border-top-color:#10b98159}.lesson-bottom.bad{background:#2a1219;border-top-color:#f43f5e59}.instruction{color:var(--text-secondary);margin-bottom:6px;font-size:.85rem}.prompt-row{align-items:flex-start;gap:10px;display:flex}.prompt{flex:1;font-size:1.65rem;font-weight:800;line-height:1.25}.prompt.sentence{font-size:1.2rem;font-weight:700;line-height:1.5}.speak-btn{border-radius:var(--radius-sm);border:1px solid var(--border-medium);background:var(--bg-surface-elevated);width:44px;height:44px;color:var(--color-blue);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:flex}.option-btn{text-align:left;border-radius:var(--radius-md);border:2px solid var(--border-medium);background:var(--bg-surface);width:100%;min-height:56px;color:var(--text-primary);cursor:pointer;touch-action:manipulation;margin-bottom:8px;padding:12px 14px;font-size:1rem;font-weight:600;transition:all .12s}.option-btn:active{transform:scale(.99)}.option-btn.right{border-color:var(--color-emerald);background:var(--color-emerald-dim)}.option-btn.wrong{border-color:var(--color-rose);background:var(--color-rose-dim)}.option-btn:disabled{opacity:1;cursor:default}.artikel-row{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.artikel-row .option-btn{text-align:center;min-height:72px;font-size:1.25rem;font-weight:800}.type-input{border-radius:var(--radius-md);border:2px solid var(--border-medium);background:var(--bg-surface);width:100%;min-height:56px;color:var(--text-primary);outline:none;padding:12px 14px;font-family:inherit;font-size:1.2rem}.type-input:focus{border-color:var(--color-amber)}.type-input.right{border-color:var(--color-emerald)}.type-input.wrong{border-color:var(--color-rose)}.fb-title{margin-bottom:4px;font-size:1.1rem;font-weight:800}.fb-title.ok{color:#34d399}.fb-title.bad{color:#fda4af}.fb-word{margin-bottom:4px;font-size:.95rem}.fb-sentence{font-size:.88rem;font-weight:600}.fb-sentence-tr{color:var(--text-secondary);margin-top:2px;font-size:.8rem}.ai-box{border-radius:var(--radius-sm);background:var(--bg-surface-elevated);white-space:pre-wrap;border:1px solid #38bdf840;margin-top:10px;padding:12px;font-size:.86rem;line-height:1.5}.ai-tag{color:var(--color-blue);background:var(--color-blue-dim);border-radius:var(--radius-full);text-transform:none;letter-spacing:0;padding:2px 7px;font-size:.68rem;font-weight:800}.word-row{border-bottom:1px solid var(--border-subtle);align-items:center;gap:10px;padding:10px 2px;display:flex}.word-row:last-child{border-bottom:none}.word-de{font-size:.98rem;font-weight:800}.word-tr{color:var(--text-secondary);font-size:.8rem}.chat-list{flex-direction:column;gap:8px;padding-bottom:90px;display:flex}.bubble{border-radius:var(--radius-md);white-space:pre-wrap;word-break:break-word;max-width:88%;padding:10px 12px;font-size:.9rem;line-height:1.5}.bubble.me{background:var(--color-amber);color:#090d14;border-bottom-right-radius:4px;align-self:flex-end}.bubble.bot{background:var(--bg-surface);border:1px solid var(--border-subtle);border-bottom-left-radius:4px;align-self:flex-start}.chat-input-bar{width:100%;max-width:520px;left:50%;bottom:calc(62px + env(safe-area-inset-bottom,0px));background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border-subtle);z-index:45;gap:8px;padding:10px 14px;display:flex;position:fixed;transform:translate(-50%)}.chat-input-bar textarea{resize:none;flex:1;min-height:48px;max-height:110px}.chat-input-bar .btn{width:auto;padding:0 16px}.typing{gap:4px;padding:12px;display:inline-flex}.typing span{background:var(--text-muted);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite blink}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.stat-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px;display:grid}.stat-tile{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px}.stat-label{color:var(--text-muted);font-size:.72rem;font-weight:600}.stat-value{font-size:1.5rem;font-weight:800;font-family:var(--font-mono);margin-top:2px}.bar-chart{align-items:flex-end;gap:6px;height:130px;padding-top:8px;display:flex}.bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex}.bar{background:var(--color-amber-dim);border:1px solid #f59e0b73;border-radius:4px 4px 0 0;width:100%;max-width:30px;min-height:3px}.bar.today{background:var(--color-amber)}.bar-label{color:var(--text-muted);font-size:.65rem;font-family:var(--font-mono)}.bar-value{color:var(--text-secondary);font-size:.62rem;font-family:var(--font-mono)}.toggle-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:10px;min-height:48px;font-size:.88rem;display:flex}.toggle-row:last-child{border-bottom:none}.switch{border-radius:var(--radius-full);background:var(--bg-surface-subtle);width:46px;height:26px;box-shadow:inset 0 0 0 1px var(--border-medium);cursor:pointer;border:none;flex-shrink:0;transition:background .15s;position:relative}.switch:after{content:"";background:var(--text-secondary);border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch.on{background:var(--color-amber)}.switch.on:after{background:#090d14;transform:translate(20px)}.hint{color:var(--text-muted);margin-top:4px;font-size:.72rem}.empty-state{text-align:center;color:var(--text-muted);padding:28px 16px;font-size:.88rem}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.prefix-hl{color:#fb923c}.badge-trennbar{color:#fdba74;background:#fb923c26;border:1px solid #fb923c66}.badge-sein{background:var(--color-blue-dim);color:#7dd3fc;border:1px solid #38bdf866}.verb-pic{border-radius:var(--radius-md);background:radial-gradient(circle at 50% 40%, #1f2a3d, var(--bg-surface-elevated));border:1px solid var(--border-subtle);flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;display:flex;overflow:hidden}.verb-pic img{object-fit:cover;width:100%;height:100%}.verb-pic .emoji{line-height:1}.verb-pic .caption{color:var(--text-secondary);text-align:center;padding:0 6px 6px;font-size:.78rem;line-height:1.3}.verb-card{width:100%;color:inherit;text-align:left;cursor:pointer;perspective:1200px;background:0 0;border:none;padding:0;position:relative}.verb-card-inner{transform-style:preserve-3d;transition:transform .45s;position:relative}.verb-card.flipped .verb-card-inner{transform:rotateY(180deg)}.verb-face{background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-lg);backface-visibility:hidden;padding:16px}.verb-face.back{position:absolute;inset:0;overflow-y:auto;transform:rotateY(180deg)}.verb-title{letter-spacing:-.01em;font-size:1.9rem;font-weight:800}.verb-forms{font-family:var(--font-mono);color:var(--text-secondary);font-size:.85rem}.mix-box{border-radius:var(--radius-sm);background:#f43f5e14;border:1px dashed #f43f5e73;align-items:center;gap:10px;margin-top:12px;padding:10px;display:flex}.pic-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.pic-option{border:2px solid var(--border-medium);border-radius:var(--radius-md);background:var(--bg-surface);cursor:pointer;color:inherit;touch-action:manipulation;padding:6px;transition:all .12s}.pic-option:active{transform:scale(.98)}.pic-option.right{border-color:var(--color-emerald);background:var(--color-emerald-dim)}.pic-option.wrong{border-color:var(--color-rose);background:var(--color-rose-dim)}.pic-option:disabled{opacity:1;cursor:default}.big-listen{background:var(--color-blue-dim);width:96px;height:96px;color:var(--color-blue);cursor:pointer;border:2px solid #38bdf880;border-radius:50%;justify-content:center;align-items:center;margin:8px auto;display:flex}.mode-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px;display:grid}.mode-tile{text-align:left;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:inherit;cursor:pointer;min-height:76px;padding:12px}.mode-tile .mt-emoji{font-size:1.4rem}.mode-tile .mt-title{margin-top:4px;font-size:.92rem;font-weight:800}.mode-tile .mt-sub{color:var(--text-muted);font-size:.72rem}.lesson-btn{text-align:left;background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;min-height:56px;color:inherit;cursor:pointer;align-items:center;gap:10px;margin-top:6px;padding:10px 12px;display:flex}.lesson-btn.done{border-color:#10b98166}.lesson-btn.next{border-color:var(--color-amber);box-shadow:0 0 0 1px var(--color-amber)}.lesson-btn:disabled{opacity:.5}.emoji-row{letter-spacing:2px;white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;overflow:hidden}.umlaut-keys{gap:6px;margin-top:8px;display:flex}.umlaut-keys button{border-radius:var(--radius-sm);border:1px solid var(--border-medium);background:var(--bg-surface-elevated);min-height:44px;color:var(--text-primary);cursor:pointer;flex:1;font-size:1.1rem;font-weight:700}.step-chip{border-radius:var(--radius-sm);border:1px solid var(--border-medium);background:var(--bg-surface);color:inherit;cursor:pointer;align-items:center;gap:8px;min-height:48px;padding:8px 10px;font-size:.92rem;font-weight:700;display:flex}.step-chip .num{font-family:var(--font-mono);color:var(--text-muted);min-width:18px;font-size:.75rem}.step-chip.right{border-color:var(--color-emerald);background:var(--color-emerald-dim)}.step-chip.wrong{border-color:var(--color-rose);background:var(--color-rose-dim)}.chip-wrap{flex-wrap:wrap;gap:6px;display:flex}.mic-wrap{flex-direction:column;align-items:center;gap:6px;display:flex}.mic-btn{background:var(--color-blue);color:#090d14;cursor:pointer;touch-action:manipulation;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mic-btn.big{width:84px;height:84px;box-shadow:0 0 0 6px var(--color-blue-dim)}.mic-btn.small{background:var(--bg-surface-elevated);width:48px;height:48px;color:var(--color-blue);border:1px solid var(--border-medium)}.mic-btn.listening{background:var(--color-rose);color:#fff;animation:1.1s ease-in-out infinite micPulse}.mic-btn:disabled{opacity:.45;cursor:default}.mic-label{color:var(--text-secondary);font-size:.78rem;font-weight:700}@keyframes micPulse{0%,to{box-shadow:0 0 0 4px var(--color-rose-dim)}50%{box-shadow:0 0 0 14px #f43f5e14}}.w-ok{color:#34d399}.w-bad{color:#fda4af;text-underline-offset:4px;-webkit-text-decoration:underline wavy #f43f5e99;text-decoration:underline wavy #f43f5e99}.w-strike{color:#fda4af;font-size:.85rem;-webkit-text-decoration:line-through #f43f5e99;text-decoration:line-through #f43f5e99}.w-good{color:#6ee7b7;font-size:.95rem;font-weight:700}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip{border-radius:var(--radius-full);border:1px solid var(--border-medium);background:var(--bg-surface);min-height:40px;color:var(--text-primary);cursor:pointer;text-align:left;padding:6px 12px;font-size:.85rem;font-weight:600}.chip.active{background:var(--color-amber);color:#090d14;border-color:var(--color-amber)}.kat-head{width:100%;min-height:56px;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;font-size:.92rem;display:flex}.sz-row{background:var(--bg-surface-subtle);border:none;border-top:1px solid var(--border-subtle);width:100%;min-height:60px;color:inherit;cursor:pointer;align-items:center;gap:10px;padding:10px 14px;font-size:.9rem;display:flex}.sz-row:disabled{opacity:.5;cursor:default}.bubble{position:relative}.bubble-speak{vertical-align:middle;color:var(--color-blue);cursor:pointer;background:0 0;border:none;margin-left:6px;padding:2px;display:inline-flex}.rp-input{align-items:flex-end;gap:8px;display:flex}.rp-input textarea{resize:none;flex:1;min-height:48px;max-height:110px}.rp-input .btn{width:auto;min-height:48px;padding:0 16px}.mode-tile.big{min-height:96px}.plan-card{border-color:#38bdf840}.task-row{border:none;border-top:1px solid var(--border-subtle);width:100%;min-height:56px;color:inherit;cursor:pointer;background:0 0;align-items:center;gap:10px;padding:8px 4px;font-size:.88rem;display:flex}.task-row.done{opacity:.6}.day-school{color:var(--color-blue);background:var(--color-blue-dim);border-color:#38bdf859}.day-work{color:var(--color-amber-light);background:var(--color-amber-dim);border-color:#f59e0b59}.day-free{color:#34d399;background:var(--color-emerald-dim);border-color:#10b98159}button.pill{cursor:pointer;margin-left:4px}.week-row{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.week-day{border-radius:var(--radius-sm);border:1px solid var(--border-medium);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:52px;font-size:.68rem;font-weight:700;display:flex}.zug-stage{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}.zug-tr{color:var(--text-secondary);font-size:1.15rem;transition:color .2s}.zug-tr.on{color:var(--color-amber-light)}.zug-de{font-size:1.7rem;font-weight:800;line-height:1.3;transition:filter .2s}.zug-de.veil{filter:blur(8px)}.zug-line{text-align:left;border-radius:var(--radius-sm);opacity:.55;padding:8px 10px;font-size:.95rem}.zug-line.on{opacity:1;background:var(--bg-surface);border:1px solid #38bdf84d}.zug-controls{grid-template-columns:1fr 1.3fr 1fr;gap:10px;display:grid}.zug-btn{border-radius:var(--radius-lg);border:1px solid var(--border-medium);background:var(--bg-surface-elevated);min-height:88px;color:var(--text-primary);cursor:pointer;touch-action:manipulation;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:.78rem;font-weight:700;display:flex}.zug-btn.main{background:var(--color-amber);color:#090d14;border-color:var(--color-amber)}.bar-pair{flex:1;justify-content:center;align-items:flex-end;gap:2px;width:100%;min-height:0;display:flex}.bar-pair .bar{max-width:14px}.bar.planned{border:1px dashed var(--border-medium);background:0 0}.rep-line{padding:3px 0;font-size:.86rem}.grade-row{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.grade-btn{border-radius:var(--radius-md);border:2px solid var(--border-medium);background:var(--bg-surface-elevated);min-height:56px;color:var(--text-primary);cursor:pointer;touch-action:manipulation;font-size:.85rem;font-weight:800}.grade-btn.g-again{color:#fda4af}.grade-btn.g-hard{color:var(--color-amber-light)}.grade-btn.g-good{color:#34d399}.grade-btn.g-easy{color:var(--color-blue)}.grade-btn.suggested{border-color:currentColor;box-shadow:0 0 0 3px #ffffff0f}.b1-link{border-radius:var(--radius-md);background:var(--color-amber-dim);width:100%;min-height:56px;color:inherit;cursor:pointer;border:1px solid #f59e0b59;align-items:center;gap:10px;margin-bottom:4px;padding:8px 10px;font-size:.86rem;display:flex}.week-tabs{grid-template-columns:repeat(6,1fr);gap:4px;margin-bottom:12px;display:grid}.week-tab{border-radius:var(--radius-sm);border:1px solid var(--border-medium);background:var(--bg-surface);min-height:52px;color:var(--text-primary);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.8rem;font-weight:800;display:flex}.week-tab.now{border-color:var(--color-blue)}.week-tab.active{background:var(--color-amber);color:#090d14;border-color:var(--color-amber)}.provider-row{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.provider-btn{border-radius:var(--radius-sm);border:1px solid var(--border-medium);background:var(--bg-surface-subtle);min-height:48px;color:var(--text-primary);cursor:pointer;font-size:.88rem;font-weight:800}.provider-btn.active{background:var(--color-blue);border-color:var(--color-blue);color:#fff}.ai-advanced{margin:4px 0 10px}.ai-advanced summary{cursor:pointer;min-height:44px;color:var(--text-secondary);align-items:center;font-size:.88rem;font-weight:700;display:flex}.dw-hub{width:100%;min-width:0}.dw-subtabs{scrollbar-width:none;gap:6px;max-width:100%;margin:0 -2px 12px;padding:2px;display:flex;overflow-x:auto}.dw-subtabs::-webkit-scrollbar{display:none}.dw-subtab{border:1px solid var(--border-medium);background:var(--bg-surface);min-height:40px;color:var(--text-secondary);cursor:pointer;border-radius:9999px;flex:none;align-items:center;gap:6px;padding:0 14px;font-size:.86rem;font-weight:700;display:inline-flex}.dw-subtab.active{background:var(--color-amber);border-color:var(--color-amber);color:#090d14}.dw-badge{background:var(--color-rose);color:#fff;border-radius:9999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.66rem;display:inline-flex}.dw-skill{border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;padding:6px 0;font-size:.86rem;display:flex}.dw-skill:last-child{border-bottom:none}.dw-check{cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:52px;min-height:56px;display:flex}.dw-open{min-width:0;min-height:56px;color:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:8px 10px 8px 0;display:flex}.estimate-card{background:var(--bg-surface-subtle);border-width:1.5px;margin-bottom:14px}.estimate-bars{grid-template-columns:1fr 1fr;gap:8px;display:grid}.estimate-bars>div{flex-direction:column;gap:2px;display:flex}.estimate-bars b{font-size:1.05rem}.chip:disabled{opacity:.35;cursor:not-allowed}.screen-title{white-space:nowrap;text-overflow:ellipsis;font-size:.98rem;font-weight:800;overflow:hidden}.screen-sub{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.done-title{margin:8px 0 12px;font-size:1.5rem;font-weight:800}.tool-row{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px;display:grid}.tool-row .btn{font-size:.82rem}.intro-card{background:var(--bg-surface-subtle)}.level-badge{border-radius:var(--radius-full);font-size:.68rem;font-weight:800;font-family:var(--font-mono);padding:2px 7px}.search-box{margin-bottom:12px;position:relative}.search-box svg{color:var(--text-muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-box .input-field{padding-left:36px}.mini-speak{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface-elevated);width:34px;height:34px;color:var(--color-blue);cursor:pointer;vertical-align:middle;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.box-dot{background:var(--border-medium);border-radius:50%;flex-shrink:0;width:10px;height:10px}.box-dot.b1,.box-dot.b2{background:var(--color-rose)}.box-dot.b3{background:var(--color-amber)}.box-dot.b4,.box-dot.b5,.box-dot.b6{background:var(--color-emerald)}.option-btn.picked{border-color:var(--color-blue);background:var(--color-blue-dim)}.q-text{margin-bottom:8px;font-size:.95rem;font-weight:700}.transcript{white-space:pre-wrap;font-size:.92rem;line-height:1.6}.transcript p{margin-bottom:4px}.transcript.tr{color:var(--text-secondary);font-size:.86rem}.mic-btn,.play-btn{cursor:pointer;background:var(--color-amber);color:#090d14;touch-action:manipulation;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;display:inline-flex;box-shadow:0 4px 18px #f59e0b4d}.mic-btn.live,.play-btn.live{background:var(--color-rose);color:#fff;animation:1.2s infinite pulse}.play-btn{background:var(--color-blue)}.shadow-steps{grid-template-columns:1fr 1fr 56px;gap:8px;margin-bottom:12px;display:grid}.tip-line{color:var(--color-amber-light);margin-top:8px;font-size:.8rem}.word-diff{flex-wrap:wrap;gap:4px;margin:6px 0;display:flex}.word-diff span{border-radius:var(--radius-xs);padding:2px 7px;font-size:.95rem;font-weight:700}.score-row{align-items:center;gap:10px;padding:5px 0;font-size:.82rem;display:flex}.score-row>span:first-child{width:110px;color:var(--text-secondary)}.err-item{border-bottom:1px solid var(--border-subtle);padding:8px 0;font-size:.9rem}.err-item:last-child{border-bottom:none}.err-wrong{color:#fda4af;text-decoration:line-through}.err-right{color:#34d399;font-weight:700}.goal-list{color:var(--text-secondary);margin:6px 0 0 18px;font-size:.85rem;line-height:1.6}.hint-box{border-radius:var(--radius-sm);background:var(--color-amber-dim);border:1px solid #f59e0b4d;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;padding:8px 10px;font-size:.86rem;display:flex}.correction{border-radius:var(--radius-sm);background:var(--color-rose-dim);color:#fecdd3;border:1px solid #f43f5e4d;margin-top:4px;padding:6px 10px;font-size:.82rem}.correction.ok{background:var(--color-emerald-dim);color:#6ee7b7;text-align:right;border-color:#10b9814d}.checklist{flex-direction:column;gap:6px;margin-top:10px;display:flex}.check-item{color:var(--text-secondary);align-items:flex-start;gap:8px;font-size:.86rem;display:flex}.check-item input{accent-color:var(--color-amber);width:16px;height:16px;margin-top:3px}.check-item.ok span{color:#34d399}.check-item.miss span{color:#fda4af}.write-area{resize:vertical;min-height:220px;font-size:.98rem;line-height:1.6}.tip-body{white-space:pre-wrap;margin-bottom:8px;font-size:.9rem;line-height:1.65}.tip-item.open{border-color:#f59e0b4d}.check-line{padding:3px 0;font-size:.84rem}.check-line.ok{color:#34d399}.check-line.miss{color:#fda4af}.passive-lines{flex-direction:column;gap:6px;padding-bottom:8px;display:flex}.passive-line{border-radius:var(--radius-md);cursor:pointer;background:var(--bg-surface);border:1px solid var(--border-subtle);padding:10px 12px;transition:all .15s}.passive-line.current{border-color:var(--color-amber);background:var(--color-amber-dim)}.passive-line .speaker{color:var(--color-blue);text-transform:none;font-size:.7rem;font-weight:800}.pl-de{font-size:1.02rem;font-weight:600;line-height:1.5}.pl-tr{color:var(--text-secondary);margin-top:2px;font-size:.82rem}.player-row{justify-content:center;align-items:center;gap:14px;margin-bottom:8px;display:flex}.video-frame{border-radius:var(--radius-md);background:#000;width:100%;padding-top:56.25%;position:relative;overflow:hidden}.video-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.media-el{border-radius:var(--radius-md);background:#000;width:100%}.practice-tabs{margin-bottom:10px}.practice-tabs .cat-tab{padding:8px 12px;font-size:.82rem}.exam-row{border-bottom:1px solid var(--border-subtle);align-items:center;gap:10px;padding:8px 0;display:flex}.exam-row:last-child{border-bottom:none}.exam-step{background:var(--color-amber-dim);width:26px;height:26px;color:var(--color-amber-light);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:800;display:inline-flex}.exam-text{white-space:pre-wrap;border-radius:var(--radius-sm);background:var(--bg-surface-elevated);padding:10px 12px;font-size:.95rem;line-height:1.65}.exam-timer{border-radius:var(--radius-sm);background:var(--bg-surface-elevated);border:1px solid var(--border-medium);min-height:56px;font-family:var(--font-mono);flex-shrink:0;align-items:center;gap:4px;padding:0 12px;font-size:1rem;font-weight:800;display:inline-flex}.exam-timer.urgent{color:#fda4af;border-color:var(--color-rose);animation:1.2s infinite pulse}.exam-verdict{align-items:center;gap:12px;display:flex}.exam-verdict.pass{background:var(--color-emerald-dim);border-color:#10b98180}.exam-verdict.fail{background:var(--color-rose-dim);border-color:#f43f5e66}.exam-hist{border-bottom:1px solid var(--border-subtle);padding:8px 0;font-size:.88rem}.exam-hist:last-child{border-bottom:none}.deck-card{cursor:pointer;min-height:260px}.deck-situation{font-size:1.1rem;font-weight:700;line-height:1.5}.deck-answer{border-top:1px dashed var(--border-medium);margin-top:14px;padding-top:12px}@media (width>=768px){.rp-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;column-gap:12px;display:grid}.app-content div:has(>.unit-card~.unit-card){grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;column-gap:12px;display:grid}.rp-list>:not(.rp-item){grid-column:1/-1}.app-content div:has(>.unit-card~.unit-card)>:not(.unit-card){grid-column:1/-1}}@media (width>=1100px){.rp-list{grid-template-columns:repeat(3,minmax(0,1fr))}.app-content div:has(>.unit-card~.unit-card){grid-template-columns:repeat(3,minmax(0,1fr))}}.seg{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:999px;padding:2px;display:inline-flex}.seg button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:700}.seg button.active{background:var(--color-amber);color:#0b0f17}.chart-readout{color:var(--text-secondary);min-height:1.2em;margin-bottom:4px;font-size:.75rem}.heatmap{grid-template-rows:repeat(7,1fr);grid-auto-flow:column;gap:3px;width:100%;display:grid}.hm-cell{aspect-ratio:1;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:3px;min-width:10px;display:block}.hm-cell.l-1{visibility:hidden}.hm-cell.l1{background:#f59e0b40;border-color:#0000}.hm-cell.l2{background:#f59e0b80;border-color:#0000}.hm-cell.l3{background:#f59e0bbf;border-color:#0000}.hm-cell.l4{background:#f59e0b;border-color:#0000}.hm-legend{color:var(--text-muted);justify-content:flex-end;align-items:center;gap:3px;margin-top:8px;font-size:.68rem;display:flex}.hm-legend .hm-cell{width:11px;min-width:11px}.hm-legend span:first-child{margin-inline-end:4px}.hm-legend span:last-child{margin-inline-start:4px}.line-chart{width:100%;height:100px;display:block;overflow:visible}.line-chart .line{fill:none;stroke:#f59e0b;stroke-width:2px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.line-chart .area{fill:#f59e0b1f}.line-chart .axis,.exam-svg .axis{stroke:var(--border-medium);stroke-width:1px;vector-effect:non-scaling-stroke}.line-chart .crosshair{stroke:var(--text-muted);stroke-width:1px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.exam-svg{width:100%;height:auto;display:block}.exam-svg .exam-bar{fill:#f59e0b8c}.exam-svg .pass-line{stroke:var(--text-muted);stroke-dasharray:4 4}.exam-svg .svg-val{fill:var(--text-primary);font-size:10px;font-family:var(--font-mono);font-weight:700}.exam-svg .svg-note{fill:var(--text-muted);font-size:9px;font-family:var(--font-mono)}.skill-row{border-bottom:1px solid var(--border-subtle);align-items:center;gap:10px;padding:6px 0;display:flex}.skill-row:last-of-type{border-bottom:0}.skill-row-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.85rem;font-weight:600;overflow:hidden}.skill-row-avg{text-align:end;width:42px;font-size:.8rem;font-weight:700}.skill-row-runs{text-align:end;width:30px;font-size:.7rem}.sparkline{align-items:flex-end;gap:2px;width:72px;height:22px;display:inline-flex}.sparkline span{background:#f59e0b8c;border-radius:2px 2px 0 0;flex:1}.sparkline span.good{background:#34d399}.sparkline span.empty{background:var(--border-subtle)}@media (width>=768px){.stats{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:0 16px;display:grid}.stats>.stat-grid{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}}.stats .stat-tile{min-width:0}.stats .stat-value{overflow-wrap:anywhere;font-size:1.35rem}.skill-row{flex-wrap:wrap;row-gap:4px}.skill-row-name{flex:110px}.sparkline{flex:0 0 72px}.account-card .seg{width:100%}.account-card .seg button,.account-form .seg button{flex:1}.account-form .seg{width:100%;display:flex}@keyframes pulse{0%{box-shadow:0 0 #f43f5e80}70%{box-shadow:0 0 0 16px #f43f5e00}to{box-shadow:0 0 #f43f5e00}}
