.app-container{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background-color:var(--bg-parchment);color:var(--text-main);padding-top:var(--safe-top);padding-bottom:var(--safe-bottom)}.main-content{flex:1;max-width:860px;width:100%;margin:0 auto;padding:16px 20px 48px}@media(max-width:480px){.main-content{padding:12px 14px 40px}}.app-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background-color:#fcfaf7eb;border-bottom:1px solid var(--border-light);padding:10px 18px;display:flex;align-items:center;justify-content:space-between}.header-left,.header-right{display:flex;align-items:center;gap:10px}.brand-badge{display:flex;align-items:center;gap:8px;font-family:var(--font-serif);font-size:1.25rem;font-weight:700;color:var(--pine-800);cursor:pointer}.brand-crest{font-size:1.4rem}.header-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border-light);color:var(--pine-800);font-size:1.15rem;transition:all .15s ease-in-out}.header-btn:hover{background:var(--bg-elevated);border-color:var(--pine-600)}.header-btn:focus-visible{outline:2px solid var(--pine-700);outline-offset:2px}.lang-selector-bar{display:flex;justify-content:center;margin:12px 0 24px}.lang-segmented-control{display:inline-flex;padding:4px;background:var(--bg-subtle);border-radius:var(--radius-full);border:1px solid var(--border-light)}.lang-segment-btn{padding:8px 20px;border-radius:var(--radius-full);font-weight:600;font-size:.95rem;display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);transition:all .2s cubic-bezier(.16,1,.3,1)}.lang-segment-btn.active{background:var(--bg-card);color:var(--pine-900);box-shadow:var(--shadow-sm)}.hero-banner{background:linear-gradient(135deg,#1b4332,#2d6a4f);color:#fff;border-radius:var(--radius-lg);padding:24px 28px;margin-bottom:24px;box-shadow:var(--shadow-md);position:relative;overflow:hidden}.hero-banner:after{content:"";position:absolute;top:-20px;right:-20px;width:140px;height:140px;background:radial-gradient(circle,#ffffff26,#fff0 70%);border-radius:50%;pointer-events:none}.hero-title{font-family:var(--font-serif);font-size:1.8rem;font-weight:700;margin-bottom:6px;letter-spacing:-.02em}.hero-subtitle{color:#ffffffe0;font-size:.95rem;max-width:540px;line-height:1.45}.hero-stats-row{display:flex;gap:20px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.2)}.hero-stat-item{display:flex;flex-direction:column}.stat-number{font-size:1.5rem;font-weight:700;font-family:var(--font-serif)}.stat-label{font-size:.8rem;color:#fffc;text-transform:uppercase;letter-spacing:.05em}.deck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.deck-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;cursor:pointer;text-align:left;position:relative}.deck-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--pine-600)}.deck-card:focus-visible{outline:2px solid var(--pine-700);outline-offset:2px}.deck-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.deck-icon-badge{font-size:2.2rem;line-height:1}.deck-tag-pill{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:4px 10px;border-radius:var(--radius-full);background:var(--bg-elevated);color:var(--pine-800)}.deck-card-title{font-family:var(--font-serif);font-size:1.3rem;font-weight:700;color:var(--pine-900);margin-bottom:4px}.deck-card-subtitle{font-size:.88rem;color:var(--text-muted);margin-bottom:12px}.deck-card-desc{font-size:.85rem;color:var(--text-muted);line-height:1.45;margin-bottom:16px;flex:1}.deck-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--border-light);margin-top:auto}.due-indicator{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600}.due-indicator.has-due{color:var(--terracotta-700)}.due-indicator.all-caught-up{color:var(--pine-700)}.due-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.progress-ring-container{display:flex;align-items:center;gap:8px}.ring-text{font-size:.85rem;font-weight:700;color:var(--pine-800)}.deck-detail-view{display:flex;flex-direction:column;gap:24px}.deck-hero{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-sm)}.deck-hero-top{display:flex;align-items:flex-start;gap:20px}.deck-hero-icon{font-size:3.2rem;background:var(--bg-elevated);padding:12px;border-radius:var(--radius-md);line-height:1}.deck-hero-info{flex:1}.deck-hero-title{font-family:var(--font-serif);font-size:2rem;font-weight:700;color:var(--pine-900);line-height:1.2}.deck-hero-subtitle{font-size:1.05rem;color:var(--text-muted);margin-top:4px}.modes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:24px}.mode-btn{background:var(--bg-card);border:2px solid var(--border-light);border-radius:var(--radius-md);padding:18px 20px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;transition:all .2s ease;position:relative}.mode-btn:hover{border-color:var(--pine-700);transform:translateY(-2px);box-shadow:var(--shadow-md)}.mode-btn.primary-mode{background:linear-gradient(135deg,#1b4332,#2d6a4f);color:#fff;border-color:transparent}.mode-btn.primary-mode:hover{background:linear-gradient(135deg,#163628,#245841);border-color:transparent}.mode-btn-header{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:8px}.mode-btn-icon{font-size:1.6rem}.mode-btn-title{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;margin-bottom:4px}.mode-btn-desc{font-size:.85rem;opacity:.88;line-height:1.4}.session-bar{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.session-info-row{display:flex;align-items:center;justify-content:space-between}.session-mode-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:var(--bg-subtle);border-radius:var(--radius-full);font-size:.85rem;font-weight:700;color:var(--pine-800)}.session-counter{font-size:.95rem;font-weight:600;color:var(--text-muted)}.session-gate-track{display:flex;align-items:center;gap:6px;width:100%;height:8px}.gate-step{flex:1;height:8px;border-radius:4px;background:var(--border-light);transition:all .3s ease}.gate-step.completed{background:var(--pine-700)}.gate-step.current{background:var(--terracotta-600);box-shadow:0 0 8px #bd4b2366}.flashcard-stage{perspective:1200px;width:100%;max-width:620px;margin:0 auto}.flashcard-box{width:100%;min-height:340px;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:32px 28px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;transition:transform .25s ease,border-color .2s ease}.flashcard-prompt-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--text-subtle);margin-bottom:12px}.flashcard-prompt-text{font-family:var(--font-serif);font-size:1.85rem;font-weight:700;color:var(--pine-900);line-height:1.3;margin-bottom:12px}.flashcard-context{display:inline-flex;align-items:center;gap:6px;background:var(--bg-elevated);padding:6px 14px;border-radius:var(--radius-full);font-size:.88rem;color:var(--text-muted);margin-bottom:24px}.tap-to-flip-hint{font-size:.85rem;color:var(--text-subtle);display:flex;align-items:center;gap:6px;margin-top:auto}.flashcard-answer-text{font-family:var(--font-serif);font-size:2.2rem;font-weight:700;color:var(--pine-800);line-height:1.25;margin-bottom:12px}.standard-german-badge{display:inline-flex;align-items:center;gap:6px;background:#fdf2f2;border:1px solid #fecaca;color:#991b1b;font-size:.85rem;font-weight:600;padding:4px 12px;border-radius:var(--radius-full);margin-bottom:16px}.card-hint-box{background:var(--bg-elevated);border-radius:var(--radius-sm);padding:10px 16px;font-size:.9rem;color:var(--text-muted);max-width:480px;margin-bottom:20px;line-height:1.45}.card-example-box{background:var(--pine-100);border-left:4px solid var(--pine-700);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:12px 18px;text-align:left;width:100%;max-width:500px;margin-bottom:24px}.example-target{font-weight:600;color:var(--pine-900);font-size:1.05rem;margin-bottom:4px}.example-en{font-size:.9rem;color:var(--text-muted);font-style:italic}.audio-play-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;background:var(--pine-100);color:var(--pine-800);border-radius:var(--radius-full);font-weight:600;font-size:.95rem;margin-bottom:16px;transition:all .15s ease}.audio-play-btn:hover{background:var(--pine-600);color:#fff}.audio-fallback-badge{font-size:.72rem;background:#fef3c7;color:#92400e;padding:2px 6px;border-radius:4px;font-weight:600}.action-buttons-bar{display:flex;gap:12px;width:100%;max-width:620px;margin:20px auto 0;justify-content:center}.action-btn{flex:1;padding:14px 20px;border-radius:var(--radius-md);font-weight:700;font-size:1.05rem;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all .15s ease;min-height:48px}.btn-again{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.btn-again:hover{background:#fca5a5}.btn-good{background:var(--pine-700);color:#fff}.btn-good:hover{background:var(--pine-800)}.btn-easy{background:var(--gold-100);color:var(--gold-700);border:1px solid #fde68a}.btn-easy:hover{background:#fef08a}.btn-flip{background:var(--pine-800);color:#fff;width:100%}.btn-flip:hover{background:var(--pine-900)}.quiz-options-grid{display:grid;grid-template-columns:1fr;gap:12px;width:100%;max-width:620px;margin:20px auto 0}.quiz-option-btn{background:var(--bg-card);border:2px solid var(--border-light);border-radius:var(--radius-md);padding:16px 20px;display:flex;align-items:center;justify-content:space-between;text-align:left;font-weight:600;font-size:1.15rem;transition:all .15s ease;min-height:58px}.quiz-option-btn:hover:not(:disabled){border-color:var(--pine-700);background:var(--bg-elevated)}.quiz-option-btn.selected-correct{background:#ecfdf5;border-color:#059669;color:#065f46}.quiz-option-btn.selected-wrong{background:#fef2f2;border-color:#dc2626;color:#991b1b}.feedback-banner{max-width:620px;margin:16px auto 0;padding:14px 18px;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:6px;animation:fadeIn .2s ease}.feedback-banner.correct{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.feedback-banner.wrong{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.type-input-form{width:100%;max-width:620px;margin:24px auto 0;display:flex;flex-direction:column;gap:16px}.type-input-field{width:100%;padding:16px 20px;font-size:1.25rem;font-weight:500;border-radius:var(--radius-md);border:2px solid var(--border-light);background:var(--bg-card);color:var(--text-main);transition:border-color .15s ease;outline:none}.type-input-field:focus{border-color:var(--pine-700);box-shadow:0 0 0 3px #2d6a4f26}.type-input-field.error{border-color:#dc2626}.type-input-field.success{border-color:#059669}.solution-reveal{background:var(--gold-100);border:1px solid #fde68a;border-radius:var(--radius-md);padding:14px 18px;text-align:center}.session-end-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:36px 24px;text-align:center;max-width:560px;margin:20px auto;box-shadow:var(--shadow-md)}.end-stars-row{display:flex;justify-content:center;gap:8px;font-size:2.5rem;margin-bottom:16px}.end-title{font-family:var(--font-serif);font-size:2rem;font-weight:700;color:var(--pine-900);margin-bottom:8px}.end-subtitle{font-size:1rem;color:var(--text-muted);margin-bottom:24px}.end-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px}.end-stat-box{background:var(--bg-elevated);padding:14px 10px;border-radius:var(--radius-md);display:flex;flex-direction:column}.end-stat-val{font-size:1.6rem;font-weight:700;font-family:var(--font-serif);color:var(--pine-800)}.end-stat-lbl{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f231973;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;justify-content:flex-end}.drawer-panel{width:100%;max-width:440px;height:100%;background:var(--bg-card);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;padding:24px;overflow-y:auto;animation:slideInRight .25s cubic-bezier(.16,1,.3,1)}.drawer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-light)}.drawer-title{font-family:var(--font-serif);font-size:1.45rem;font-weight:700;color:var(--pine-900)}.settings-section{display:flex;flex-direction:column;gap:14px;margin-bottom:24px}.settings-section-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle)}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border-light)}.setting-label-group{display:flex;flex-direction:column}.setting-label{font-weight:600;font-size:.95rem}.setting-desc{font-size:.8rem;color:var(--text-muted)}.switch-toggle{position:relative;display:inline-block;width:48px;height:28px}.switch-toggle input{opacity:0;width:0;height:0}.slider-round{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background-color:var(--border-light);transition:.2s;border-radius:34px}.slider-round:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.2s;border-radius:50%;box-shadow:var(--shadow-sm)}input:checked+.slider-round{background-color:var(--pine-700)}input:checked+.slider-round:before{transform:translate(20px)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f23198c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:110;display:flex;align-items:center;justify-content:center;padding:16px}.modal-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:32px 28px;max-width:480px;width:100%;box-shadow:var(--shadow-lg);text-align:center;animation:zoomIn .2s cubic-bezier(.16,1,.3,1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.btn-primary{background:var(--pine-700);color:#fff;padding:12px 24px;border-radius:var(--radius-md);font-weight:700;font-size:1rem;transition:background .15s ease}.btn-primary:hover{background:var(--pine-800)}.btn-secondary{background:var(--bg-elevated);color:var(--pine-800);border:1px solid var(--border-light);padding:10px 18px;border-radius:var(--radius-md);font-weight:600;font-size:.95rem;transition:all .15s ease}.btn-secondary:hover{background:var(--bg-subtle);border-color:var(--pine-600)}.btn-danger{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;padding:10px 18px;border-radius:var(--radius-md);font-weight:600;font-size:.95rem}.btn-danger:hover{background:#fca5a5}:root{--bg-parchment: #fcfaf7;--bg-card: #ffffff;--bg-elevated: #f4eee2;--bg-subtle: #eee7d7;--pine-900: #0f2319;--pine-800: #1b4332;--pine-700: #2d6a4f;--pine-600: #40916c;--pine-100: #e8f3ed;--terracotta-800: #9c3b1a;--terracotta-700: #bd4b23;--terracotta-600: #d4633b;--terracotta-100: #fcedea;--gold-700: #a77218;--gold-500: #d49a3d;--gold-100: #fbf5e6;--text-main: #192720;--text-muted: #5c6b63;--text-subtle: #85948c;--border-light: #e6decb;--border-focus: #2d6a4f;--font-serif: "Fraunces", Georgia, serif;--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--shadow-sm: 0 1px 3px rgba(15, 35, 25, .05);--shadow-md: 0 4px 12px rgba(15, 35, 25, .08);--shadow-lg: 0 12px 28px rgba(15, 35, 25, .12);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-full: 9999px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%;background-color:var(--bg-parchment);color:var(--text-main);font-family:var(--font-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.large-text{font-size:19px}button{font-family:inherit;font-size:inherit;color:inherit;border:none;background:none;cursor:pointer;touch-action:manipulation;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}input,textarea,select{font-family:inherit;font-size:inherit}a{color:inherit;text-decoration:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
