: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", "Segoe UI", Roboto, sans-serif;--font-mono:"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}}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);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)}}.brand-sub{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;overflow:hidden}.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}.nav-badge{background:var(--color-rose);color:#fff;border:1.5px solid var(--bg-surface);border-radius:9999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:.6rem;font-weight:800;display:flex;position:absolute;top:-4px;right:-8px}.goal-card{border-color:#f59e0b40}.skill-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px;display:grid}.skill-tile{text-align:left;cursor:pointer;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);min-height:92px;color:var(--text-primary);flex-direction:column;align-items:flex-start;gap:2px;padding:12px;transition:transform .1s;display:flex;position:relative}.skill-tile:active{transform:scale(.98)}.skill-icon{font-size:1.5rem}.skill-name{font-size:.92rem;font-weight:800}.skill-sub{color:var(--text-muted);font-size:.72rem}.skill-avg{font-size:.7rem;font-family:var(--font-mono);color:#34d399;font-weight:800;position:absolute;top:10px;right:10px}.tip-card{cursor:pointer;border-color:#fbbf2440}.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}.lv-a1{background:var(--color-emerald-dim);color:#34d399}.lv-a2{background:var(--color-blue-dim);color:var(--color-blue)}.lv-b1{background:var(--color-amber-dim);color:var(--color-amber-light)}.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.small{min-height:48px;padding:10px 12px;font-size:.92rem}.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.big{width:84px;height:84px}.mic-btn.live,.play-btn.live{background:var(--color-rose);color:#fff;animation:1.2s infinite pulse}.play-btn{background:var(--color-blue)}@keyframes pulse{0%{box-shadow:0 0 #f43f5e80}70%{box-shadow:0 0 0 16px #f43f5e00}to{box-shadow:0 0 #f43f5e00}}.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}.w-ok{background:var(--color-emerald-dim);color:#34d399}.w-miss{background:var(--color-rose-dim);color:#fda4af;-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.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}.rp-input{align-items:flex-start;gap:8px;display:flex}.rp-input .mic-btn{width:48px;height:48px}.rp-input .hint{display:none}.rp-input .input-field{min-height:48px}.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}.bubble.bot{cursor:pointer}.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}.chip-wrap{flex-wrap:wrap;gap:6px;display:flex}.chip{border-radius:var(--radius-full);cursor:pointer;background:var(--bg-surface-elevated);border:1px solid var(--border-medium);color:var(--text-primary);padding:6px 10px;font-size:.8rem}.chip:active{border-color:var(--color-amber)}.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}.icon-btn.on{color:var(--color-amber-light);border-color:var(--color-amber)}.chip.chip-on{background:var(--color-amber);color:#090d14;border-color:var(--color-amber);font-weight:700}.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}.plan-card{border-color:#38bdf84d}.plan-card.all-done{border-color:#10b98166}.plan-task{text-align:left;border:none;border-top:1px solid var(--border-subtle);width:100%;min-height:56px;color:var(--text-primary);cursor:pointer;background:0 0;align-items:center;gap:10px;padding:8px 6px;display:flex}.plan-task:active{background:var(--bg-surface-elevated)}.plan-task.done .plan-task-title{color:var(--text-muted);text-decoration:line-through}.plan-icon{font-size:1.25rem}.plan-task-title{white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:700;display:block;overflow:hidden}.plan-task-sub{color:var(--text-muted);font-size:.72rem;display:block}.plan-actions{margin-top:8px}.plan-actions .btn{min-height:44px}.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-opts-row{gap:6px;display:flex}.exam-opts-row .option-btn{text-align:center;margin-bottom:0}.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}.provider-row{border-top:1px solid var(--border-subtle);padding:10px 0}.provider-row.no-key{opacity:.7}.provider-head{align-items:center;gap:6px;margin-bottom:6px;font-size:.9rem;display:flex}.select-wrap{position:relative}.select-wrap select{appearance:none;cursor:pointer;padding-right:32px}.select-wrap select option,.select-wrap select optgroup{background:var(--bg-surface-elevated);color:var(--text-primary)}.select-caret{pointer-events:none;color:var(--text-muted);position:absolute;top:50%;right:10px;transform:translateY(-50%)}.beruf-btn{border-color:#f59e0b73}.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}.lang-wrap{position:relative}.lang-backdrop{z-index:90;position:fixed;inset:0}.lang-menu{top:calc(100% + 6px);z-index:91;background:var(--bg-surface-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-md,12px);gap:2px;min-width:170px;padding:6px;display:grid;position:absolute;inset-inline-end:0;box-shadow:0 12px 30px #00000073}.lang-item{width:100%;color:var(--text-primary);text-align:start;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:9px 10px;font-size:.9rem;display:flex}.lang-item:hover,.lang-item.active{background:var(--bg-surface)}.lang-item.active{color:var(--color-amber-light);font-weight:800}.lang-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px;display:grid}.lang-grid .mode-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);min-height:40px}.btn-ghost{border:1px dashed var(--border-medium);color:var(--text-secondary);background:0 0}[dir=rtl] body{font-family:"Segoe UI", Tahoma, "Noto Sans Arabic", var(--font-sans,sans-serif)}[dir=rtl] p,[dir=rtl] li,[dir=rtl] textarea,[dir=rtl] input,[dir=rtl] .word-de,[dir=rtl] .word-tr,[dir=rtl] .fb-sentence,[dir=rtl] .fb-sentence-tr,[dir=rtl] .hint,[dir=rtl] .card-title,[dir=rtl] .skill-sub{unicode-bidi:plaintext}[dir=rtl] .mono{direction:ltr;unicode-bidi:isolate}[dir=rtl] .progress-fill{margin-inline-start:0}[dir=rtl] .lucide-chevron-right,[dir=rtl] .lucide-chevron-left,[dir=rtl] .lucide-arrow-left,[dir=rtl] .lucide-arrow-right{transform:scaleX(-1)}.content-pending{border-color:#3b82f673}.home-cols{display:block}@media (width>=768px){html{font-size:17px}.app-container{grid-template:"header header""nav main"1fr/108px minmax(0,1fr);max-width:1180px;display:grid}.app-header{grid-area:header;padding-inline:24px}.app-content{grid-area:main;padding:22px 28px 40px}.bottom-nav{border-top:0;border-inline-end:1px solid var(--border-subtle);background:0 0;flex-direction:column;grid-area:nav;align-self:start;gap:6px;max-width:none;height:calc(100vh - 66px);padding:18px 10px;display:flex;position:sticky;top:66px;left:auto;transform:none}.nav-item{padding:10px 4px;font-size:.74rem}.nav-icon-wrapper{border-radius:var(--radius-md);width:46px;height:46px}.nav-item:hover{color:var(--text-primary)}.home-cols{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.home-side .section-title:first-child{margin-top:0}.skill-grid{grid-template-columns:repeat(2,1fr);gap:10px}.skill-tile{min-height:96px}.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}.unit-card{min-height:76px;margin-bottom:12px}.modal-backdrop{align-items:center;padding:24px}.modal-content{border-radius:var(--radius-lg);max-width:680px;max-height:90vh}.lesson-screen{max-width:none}.lesson-top,.lesson-body,.lesson-bottom{padding-inline:max(24px,50% - 410px)}.prompt{font-size:2rem}.prompt.sentence{font-size:1.4rem}.chat-input-bar{max-width:820px}}@media (width>=1100px){.skill-grid{grid-template-columns:repeat(3,1fr)}.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))}}.profile-btn{cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;padding:0}.profile-btn:active{transform:scale(.95)}.profile-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:inline-flex;box-shadow:inset 0 0 0 2px #ffffff1f}.profile-avatar.add{background:var(--bg-surface-elevated);color:var(--text-secondary);border:1px dashed var(--border-medium);box-shadow:none}.profile-current{align-items:center;gap:12px;display:flex}.profile-name{font-size:1.1rem;font-weight:800}.onboarding{background:var(--bg-canvas);flex-direction:column;max-width:560px;min-height:100vh;margin:0 auto;display:flex}.ob-top{padding:calc(12px + env(safe-area-inset-top,0px)) 16px 8px;justify-content:space-between;align-items:center;display:flex}.ob-dots{gap:6px;display:flex}.ob-dot{background:var(--border-medium);border-radius:50%;width:8px;height:8px;transition:all .2s}.ob-dot.active{background:var(--color-amber);border-radius:4px;width:22px}.ob-dot.done{background:var(--color-amber-dim)}.ob-body{flex:1;padding:12px 20px 24px;overflow-y:auto}.ob-hero{text-align:center;margin:12px 0 4px;font-size:3.2rem}.ob-title{text-align:center;margin:8px 0 6px;font-size:1.45rem;font-weight:800}.ob-sub{color:var(--text-secondary);text-align:center;margin:0 0 18px;font-size:.9rem;line-height:1.5}.ob-bottom{padding:12px 20px calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-subtle);background:var(--bg-surface);gap:8px;display:grid}[dir=rtl] .ob-arrow,[dir=rtl] .ob-top .lucide-arrow-left{transform:scaleX(-1)}.ob-avatar-big{border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;margin:10px auto 4px;font-size:3rem;display:flex}.ob-avatars{grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:6px;display:grid}.ob-avatar{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;height:46px;font-size:1.5rem}.ob-avatar.active{border-color:var(--color-amber);background:var(--color-amber-dim)}.ob-colors{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px;display:flex}.ob-color{cursor:pointer;border:3px solid #0000;border-radius:50%;width:32px;height:32px}.ob-color.active{border-color:var(--text-primary)}.ob-options{gap:8px;display:grid}.ob-option{text-align:start;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;align-items:center;gap:14px;padding:14px;display:flex}.ob-option.active{border-color:var(--color-amber);background:var(--color-amber-dim)}.ob-option-icon{text-align:center;flex-shrink:0;width:40px;font-size:1.6rem;font-weight:800}.ob-option-title{font-weight:700;display:block}.ob-option-sub{color:var(--text-secondary);margin-top:2px;font-size:.78rem;display:block}.ob-check{align-items:center;gap:8px;margin-bottom:12px;font-size:.9rem;display:flex}.picker-grid{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:12px;margin-top:18px;display:grid}.picker-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;flex-direction:column;align-items:center;gap:8px;padding:18px 10px;display:flex}.picker-card:active{transform:scale(.97)}.picker-card.add{border-style:dashed}.picker-name{font-weight:800}.picker-sub{color:var(--text-muted);font-size:.75rem}@media (width>=768px){.onboarding{max-width:640px}.ob-body{padding-top:40px}}.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}.bar-chart.dense{gap:2px}.bar-chart.dense .bar{border-radius:3px 3px 0 0}.bar.hover{background:var(--color-amber-light);border-color:var(--color-amber-light)}.bar-col{cursor:default}.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)}}.profile-hero{border-width:2px;align-items:center;gap:16px;display:flex}.exam-chip{background:var(--bg-surface-elevated);border:1px solid var(--border-medium);color:var(--text-primary);cursor:pointer;border-radius:999px;align-items:center;gap:6px;margin-top:8px;padding:5px 10px;font-size:.78rem;font-weight:700;display:inline-flex}@media (width>=768px){.profile-screen>.stat-grid{grid-template-columns:repeat(3,1fr)}}.profile-screen .stat-value{overflow-wrap:anywhere;font-size:1.3rem}.profile-screen .stat-tile,.stats .stat-tile{min-width:0}.stats .stat-value{overflow-wrap:anywhere}.bar-col{min-width:0}.bar-chart.dense .bar-label{font-size:.58rem}.stats .stat-value{font-size:1.35rem}.skill-row{flex-wrap:wrap;row-gap:4px}.skill-row-name{flex:110px}.sparkline{flex:0 0 72px}.ach-toast{top:calc(12px + env(safe-area-inset-top,0px));z-index:200;text-align:start;background:var(--bg-surface-elevated);border:1px solid var(--color-amber);border-radius:var(--radius-lg);width:min(420px,100% - 24px);color:var(--text-primary);cursor:pointer;align-items:center;gap:12px;padding:12px 14px;animation:.35s cubic-bezier(.2,1.2,.4,1) achIn;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 16px 40px #00000080}@keyframes achIn{0%{opacity:0;transform:translate(-50%,-30px)}to{opacity:1;transform:translate(-50%)}}.ach-toast-icon{background:var(--color-amber-dim);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:2rem;display:flex}.ach-toast-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-amber-light);font-size:.68rem;font-weight:800;display:block}.ach-toast-name{font-weight:800;display:block}.ach-toast-desc{color:var(--text-secondary);font-size:.78rem;display:block}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:8px;display:grid}.badge{aspect-ratio:1;background:var(--bg-surface);border:1px solid var(--border-subtle);cursor:pointer;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:4px;display:flex;position:relative}.badge-icon{filter:grayscale();opacity:.35;font-size:1.5rem}.badge.earned{background:var(--color-amber-dim);border-color:#f59e0b80}.badge.earned .badge-icon{filter:none;opacity:1}.badge.sel{outline:2px solid var(--color-amber);outline-offset:1px}.badge-bar{background:var(--border-subtle);border-radius:2px;width:70%;height:3px;overflow:hidden}.badge-bar span{background:var(--text-muted);height:100%;display:block}.badge-detail{border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-subtle);align-items:center;gap:12px;margin-bottom:10px;padding:10px;display:flex}.badge-detail.earned{border-color:#f59e0b80}.badge-detail-icon{font-size:2rem}.badge-detail:not(.earned) .badge-detail-icon{filter:grayscale();opacity:.5}.account-card .seg{width:100%}.account-card .seg button,.account-form .seg button{flex:1}.account-form .seg{width:100%;display:flex}.pw-eye{inset-inline-end:6px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:8px;position:absolute;top:50%;transform:translateY(-50%)}.delete-box{border-radius:var(--radius-md);border:1px solid #f43f5e66;margin-top:8px;padding:10px}
