*{margin:0;box-sizing:border-box}*,body{padding:0}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;color:#333}.container{max-width:1200px;margin:0 auto;padding:20px}header{text-align:center;color:white;margin-bottom:30px}.header-top{display:flex;justify-content:center;align-items:center;margin-bottom:15px}header h1{font-size:2.5em;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.stats-bar{display:flex;justify-content:center;gap:30px;font-size:1.1em}.stat span{font-weight:700;color:#ffd700}.progress-bar-container{margin-top:15px;width:100%;max-width:400px;margin-left:auto;margin-right:auto;background:rgba(255,255,255,.2);border-radius:20px;height:30px;position:relative;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,#4ade80,#22c55e);border-radius:20px;transition:width .5s ease;width:0}.progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:white;font-weight:700;font-size:.9em;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.controls{background:white;padding:20px;border-radius:15px;margin-bottom:30px;box-shadow:0 10px 30px rgba(0,0,0,.2)}.filter-section{margin-bottom:15px;justify-content:space-between}.filter-section,.filters-container{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:8px}.filter-section label{font-weight:600;white-space:nowrap}.filter-section select{padding:8px 12px;border:2px solid #667eea;border-radius:8px;font-size:1em;cursor:pointer;min-width:150px}.filter-section .btn-primary{margin-left:auto}.mode-selector{display:flex;gap:10px;justify-content:center;padding-top:10px;border-top:1px solid #e0e7ff}.btn{padding:10px 20px;border:none;border-radius:8px;font-size:1em;cursor:pointer;transition:all .3s;font-weight:600}.btn-primary{background:#667eea}.btn-primary:hover{background:#5568d3;transform:translateY(-2px)}.btn-secondary{background:#e0e7ff;color:#667eea}.btn-secondary.active,.btn-secondary:hover{background:#667eea;color:white}.btn-nav{background:#764ba2;color:white;padding:12px 24px}.btn-nav:hover{background:#603b85;transform:translateY(-2px)}.btn-accent{background:#ff6b6b;color:white}.btn-accent:hover{background:#ee5a52;transform:translateY(-2px)}.btn-correct{background:#22c55e;color:white;padding:12px 30px;font-size:1.1em}.btn-correct:hover{background:#16a34a;transform:translateY(-2px);box-shadow:0 5px 15px rgba(34,197,94,.3)}.btn-incorrect{background:#ef4444;color:white;padding:12px 30px;font-size:1.1em}.btn-incorrect:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 5px 15px rgba(239,68,68,.3)}.btn-grammar{background:#8b5cf6;color:white;padding:10px 20px}.btn-grammar:hover{background:#7c3aed;transform:translateY(-2px);box-shadow:0 5px 15px rgba(139,92,246,.3)}#flashcard-view{display:flex;flex-direction:column;align-items:center;gap:20px}.flashcard{width:600px;height:400px;perspective:1000px;cursor:pointer}.flashcard-inner{position:relative;width:100%;height:100%;text-align:center;transition:transform .6s;transform-style:preserve-3d}.flashcard.flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-back,.flashcard-front{position:absolute;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px;border-radius:20px;box-shadow:0 15px 50px rgba(0,0,0,.3);overflow:hidden;opacity:1;will-change:transform}.flashcard-front{background:linear-gradient(135deg,#ffffff,#f8f9ff)}.flashcard-back{background:linear-gradient(135deg,#667eea,#764ba2);color:white;transform:rotateY(180deg);visibility:hidden}.flashcard.flipped .flashcard-back,.flashcard:not(.flipped) .flashcard-front{visibility:visible}.flashcard.flipped .flashcard-front{visibility:hidden}.word-main{font-size:3em;font-weight:700;color:#667eea;margin-bottom:20px}.word-meta{font-size:1.3em;color:#764ba2;margin-bottom:10px}.translation{font-size:2.5em;font-weight:700;margin-bottom:20px}.details{font-size:1.2em;line-height:1.8}.hint{margin-top:20px;font-size:.9em;opacity:.7;font-style:italic}.progress-buttons{display:flex;gap:15px;justify-content:center;margin-top:25px}.flashcard-controls{display:flex;align-items:center;gap:20px}#card-counter{font-size:1.2em;font-weight:700;color:white;background:rgba(255,255,255,.2);padding:10px 20px;border-radius:20px}.quick-actions{display:flex;gap:15px}.search-box{margin-bottom:20px}.search-box input{width:100%;padding:15px;font-size:1.1em;border:3px solid #667eea;border-radius:10px}.vocab-list{background:white;border-radius:15px;padding:20px;max-height:600px;overflow-y:auto;box-shadow:0 10px 30px rgba(0,0,0,.2)}.vocab-item{padding:15px;border-bottom:1px solid #e0e0e0;display:grid;grid-template-columns:2fr 2fr 1fr;grid-gap:15px;gap:15px;align-items:center}.vocab-item:last-child{border-bottom:none}.vocab-item:hover{background:#f8f9ff}.vocab-german{font-weight:700;color:#667eea;font-size:1.2em}.vocab-english{color:#555;font-size:1.1em}.vocab-meta{text-align:right;font-size:.9em;color:#999}.statistics{background:white;padding:30px;border-radius:15px;margin-top:30px;box-shadow:0 10px 30px rgba(0,0,0,.2)}.statistics h2{color:#667eea;margin-bottom:20px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:20px;gap:20px}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:white;padding:20px;border-radius:10px;text-align:center}.stat-card h3{font-size:.9em;margin-bottom:10px;opacity:.9}.stat-card .stat-value{font-size:2em;font-weight:700}@media (max-width:768px){.flashcard{width:100%;max-width:400px;height:300px}.word-main{font-size:2em}.translation{font-size:1.8em}.vocab-item{grid-template-columns:1fr;gap:10px}.vocab-meta{text-align:left}header h1{font-size:1.8em}.stats-bar{flex-direction:column;gap:10px}.controls{padding:15px;margin-bottom:15px}.filter-section{margin-bottom:12px}.filter-section,.filters-container{flex-direction:column;gap:10px;width:100%}.filter-group{flex-direction:column;align-items:flex-start;gap:5px;width:100%}.filter-section label{font-size:.9em}.filter-section select{width:100%;padding:10px;font-size:.95em;min-width:unset}.filter-section .btn-primary{width:100%;padding:12px;margin-top:5px;margin-left:0}.mode-selector{flex-direction:column;gap:8px;width:100%;padding-top:15px}.mode-selector .btn{width:100%;padding:12px}.container{padding:10px}header{margin-bottom:15px}.header-top{margin-bottom:10px}.flashcard-controls,.progress-buttons{flex-direction:column;gap:10px;margin-top:15px}.progress-buttons{width:100%}.btn-correct,.btn-incorrect{width:100%;padding:15px 20px}.quick-actions{width:100%;justify-content:space-between}.quick-actions .btn{flex:1 1}}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,.7);overflow:auto;animation:fadeIn .3s}.modal.active{display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:white;margin:5% auto;padding:30px;border-radius:20px;width:90%;max-width:800px;max-height:80vh;overflow-y:auto;position:relative;animation:slideIn .3s;box-shadow:0 20px 60px rgba(0,0,0,.3)}@keyframes slideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}#grammar-modal-title{color:#667eea;margin-bottom:20px;font-size:1.8em}.grammar-section{margin-bottom:25px;padding:20px;background:#f8f9ff;border-radius:12px;border-left:4px solid #667eea}.grammar-section h3{color:#764ba2;margin-bottom:12px;font-size:1.2em}.grammar-section p{color:#333;line-height:1.8;font-size:1.05em;margin:8px 0}.grammar-register{display:inline-block;background:#667eea;color:white;padding:4px 12px;border-radius:15px;font-size:.85em;margin-bottom:10px}.grammar-example-group{margin-bottom:30px;padding:20px;background:white;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.grammar-item{margin-bottom:15px;padding:12px;background:#f0f4ff;border-radius:8px}.grammar-label{font-weight:700;color:#667eea;margin-bottom:5px;font-size:.95em}.grammar-text{color:#333;font-size:1.05em;line-height:1.6}.no-grammar{text-align:center;color:#999;padding:40px;font-size:1.1em}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;color:white}.loading-spinner{border:4px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-container p{font-size:1.2em;font-weight:600}.sync-error{background:#fee;color:#c33;border-left:4px solid #c33;font-weight:500}.guest-notice,.sync-error{padding:12px 20px;border-radius:8px;margin-bottom:20px;text-align:center}.guest-notice{background:#fff9e6;color:#856404;border-left:4px solid #ffc107;display:flex;align-items:center;justify-content:center;gap:15px;flex-wrap:wrap}.btn-link{background:none;border:none;color:#667eea;cursor:pointer;font-weight:600;text-decoration:underline;font-size:.95em;padding:0}.btn-link:hover{color:#764ba2}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .3s}.modal-content-auth{position:relative;max-width:500px;width:90%;animation:slideIn .3s}.modal-close{position:absolute;right:20px;top:20px;font-size:32px;font-weight:700;color:#999;background:none;border:none;cursor:pointer;transition:color .3s;z-index:10}.modal-close:hover{color:#667eea}.email-verification-modal,.forgot-password-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .3s}.email-verification-modal .modal-content,.forgot-password-modal .modal-content{background:white;padding:40px;border-radius:20px;max-width:500px;width:90%;box-shadow:0 10px 50px rgba(0,0,0,.3);animation:slideIn .3s}.email-verification-modal h2,.forgot-password-modal h2{color:#667eea;margin-bottom:15px;font-size:1.8em}.email-verification-modal p,.forgot-password-modal p{color:#666;margin-bottom:10px;line-height:1.6}.email-address{color:#667eea;font-size:1.1em;margin-bottom:25px}.otp-input{text-align:center;font-size:1.5em;letter-spacing:.5em;font-weight:700;color:#667eea}.button-group{display:flex;flex-direction:column;gap:10px;margin-top:20px}.btn-primary{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:white;border:none;border-radius:10px;cursor:pointer;font-size:1em;font-weight:600;transition:all .3s}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px rgba(102,126,234,.4)}.btn-primary:disabled{background:#ccc;cursor:not-allowed}.btn-cancel{padding:10px 20px;background:transparent;color:#999;border:2px solid #ddd;border-radius:10px;cursor:pointer;font-size:.9em;transition:all .3s;margin-top:15px}.btn-cancel:hover:not(:disabled){border-color:#667eea;color:#667eea}.resend-section{text-align:center;margin-top:20px;padding-top:20px;border-top:1px solid #eee}.cooldown-text{color:#999;font-size:.9em}.forgot-password-link{text-align:center;margin-top:15px;margin-bottom:10px}.info-box{background:#e3f2fd;border-left:4px solid #2196f3;padding:12px 15px;margin:15px 0;border-radius:4px}.info-box p{margin:0;line-height:1.5}.navbar{background:white;box-shadow:0 2px 10px rgba(0,0,0,.1);position:-webkit-sticky;position:sticky;top:0;z-index:1000;width:100%}.navbar-container{max-width:1400px;margin:0 auto;justify-content:space-between;padding:15px 30px}.navbar-container,.navbar-logo{display:flex;align-items:center}.navbar-logo{transition:opacity .3s ease}.navbar-logo:hover{opacity:.8}.navbar-links{display:flex;gap:30px;align-items:center}.nav-link{background:none;border:none;color:#333;font-size:1em;font-weight:500;cursor:pointer;padding:8px 16px;border-radius:8px;transition:all .3s ease;position:relative;text-decoration:none;display:inline-block}.nav-link:hover{color:#667eea;background:#f8f9ff}.nav-link.active{color:#667eea;font-weight:600}.nav-link.active:after{content:"";position:absolute;bottom:0;left:16px;right:16px;height:3px;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:3px 3px 0 0}.navbar-auth{display:flex;gap:15px;align-items:center}.nav-username{color:#667eea}.nav-btn-login,.nav-username{font-weight:600;font-size:.95em}.nav-btn-login{background:linear-gradient(135deg,#667eea,#764ba2);color:white;padding:10px 24px;border:none;border-radius:25px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px rgba(102,126,234,.3)}.nav-btn-login:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(102,126,234,.4)}.nav-btn-logout{background:transparent;color:#667eea;padding:8px 20px;border:2px solid #667eea;border-radius:25px;font-size:.9em;font-weight:600;cursor:pointer;transition:all .3s ease}.nav-btn-logout:hover{background:#667eea;color:white;transform:translateY(-2px)}.mobile-menu-button{display:none;background:none;border:none;cursor:pointer;padding:8px}.hamburger{display:flex;flex-direction:column;gap:5px;width:28px}.hamburger span{display:block;width:100%;height:3px;background:#667eea;border-radius:3px;transition:all .3s ease}.hamburger.open span:first-child{transform:rotate(45deg) translate(8px,8px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(8px,-8px)}.mobile-menu{display:none;flex-direction:column;background:white;border-top:1px solid #eee;padding:20px;gap:15px}.mobile-nav-link{background:none;border:none;color:#333;font-size:1.1em;font-weight:500;cursor:pointer;padding:12px 20px;border-radius:8px;transition:all .3s ease;text-align:left;width:100%;text-decoration:none;display:block}.mobile-nav-link.active,.mobile-nav-link:hover{background:#f8f9ff;color:#667eea}.mobile-nav-link.active{font-weight:600}.mobile-nav-link.auth-link{background:linear-gradient(135deg,#667eea,#764ba2);color:white;margin-top:10px;font-weight:600;text-align:center}.mobile-nav-link.auth-link:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(102,126,234,.3)}.mobile-user-info{padding:12px 20px;background:#f8f9ff;border-radius:8px}.mobile-nav-link.logout-link,.mobile-user-info{color:#667eea;font-weight:600;text-align:center}.mobile-nav-link.logout-link{background:transparent;border:2px solid #667eea}.mobile-nav-link.logout-link:hover{background:#667eea;color:white}@media (max-width:968px){.navbar-auth,.navbar-links{display:none}.mobile-menu-button{display:block}.mobile-menu{display:flex}.navbar-container{padding:12px 20px}}.landing-page{background:white;min-height:100vh;padding:0;margin:0}.hero-section{background:linear-gradient(135deg,#667eea,#764ba2);color:white;text-align:center;padding:100px 20px 120px;position:relative}.hero-title{font-size:3.5em;margin-bottom:20px;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.2);line-height:1.2}.hero-subtitle{font-size:1.4em;margin-bottom:40px;opacity:.95;line-height:1.6;max-width:800px;margin-left:auto;margin-right:auto}.cta-button{background:white;color:#667eea;padding:18px 45px;font-size:1.3em;font-weight:700;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 20px rgba(0,0,0,.15)}.cta-button:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.25)}.hero-note{margin-top:20px;font-size:.95em;opacity:.8}.content-section{max-width:900px;margin:0 auto;padding:60px 30px;line-height:1.8;color:#333;text-align:center}.content-section ol,.content-section p,.content-section ul{text-align:left;margin-left:auto;margin-right:auto}.content-section h2{color:#667eea;font-size:2.2em;margin-bottom:25px;font-weight:700}.content-section h3{color:#764ba2;font-size:1.5em;margin-top:30px;margin-bottom:15px;font-weight:600}.content-section p{font-size:1.1em;margin-bottom:20px;color:#555}.content-section ul{margin:20px 0;padding-left:25px}.content-section ul li{font-size:1.1em;margin-bottom:15px;color:#555}.content-section ol{margin:20px 0;padding-left:25px}.content-section ol li{font-size:1.1em;margin-bottom:20px;color:#555}.content-section strong{color:#667eea;font-weight:600}.story-section{background:#f8f9ff;border-left:6px solid #667eea;padding:60px 40px;max-width:900px;margin:0 auto}.story-section h2{text-align:center}.story-section p{text-align:left}.features-section{background:#f0f4ff;padding:60px 30px;max-width:100%}.features-section h2{text-align:center}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:30px;gap:30px;margin-top:40px;max-width:1200px;margin-left:auto;margin-right:auto}.feature-card{background:white;padding:30px;border-radius:15px;box-shadow:0 4px 15px rgba(0,0,0,.08);transition:all .3s ease;text-align:center}.feature-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px rgba(102,126,234,.2)}.feature-icon{font-size:3em;margin-bottom:15px}.feature-card h3{color:#667eea;font-size:1.4em;margin-bottom:12px;margin-top:0}.feature-card p{color:#666;font-size:1em;line-height:1.6;margin:0}.how-it-works-list{background:#f8f9ff;padding:30px 40px;border-radius:15px;margin-top:30px;max-width:900px;margin-left:auto;margin-right:auto}.how-it-works-list li{background:white;padding:20px;margin-bottom:15px;border-radius:10px;border-left:4px solid #667eea;text-align:left}.donation-section{background:linear-gradient(135deg,#f8f9ff,#e8ebff);border-radius:20px;padding:60px 40px;text-align:center;max-width:900px;margin:0 auto}.donation-section h2,.donation-section p{text-align:center}.donation-buttons{margin:30px 0;display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.donation-note{font-size:.95em;color:#777;font-style:italic}.faq-section{background:#f8f9ff;padding:60px 40px;border-radius:20px;max-width:100%}.faq-item{background:white;padding:25px 30px;margin:0 auto 20px;border-radius:12px;border-left:4px solid #667eea;box-shadow:0 2px 8px rgba(0,0,0,.05);max-width:900px}.faq-item h3{color:#667eea;font-size:1.3em;margin-bottom:12px;margin-top:0;text-align:left}.faq-item p{color:#555;margin:0;line-height:1.7;text-align:left}.landing-footer{background:linear-gradient(135deg,#667eea,#764ba2);color:white;text-align:center;padding:60px 30px}.landing-footer p{font-size:1.1em;margin:10px 0}.footer-note{font-size:.9em;opacity:.8;margin-top:20px;margin-bottom:30px}.cta-button-footer{background:white;color:#667eea;padding:15px 40px;font-size:1.2em;font-weight:700;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 20px rgba(0,0,0,.15);margin-top:10px}.cta-button-footer:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.25)}@media (max-width:768px){.hero-title{font-size:2.2em}.cta-button,.hero-subtitle{font-size:1.1em}.cta-button{padding:15px 35px}.content-section{padding:40px 20px}.content-section h2{font-size:1.8em}.features-grid{grid-template-columns:1fr}.donation-section,.faq-section,.story-section{padding:40px 25px}}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.modal-content-auth .auth-container{min-height:auto;background:none;padding:0}.auth-card{background:white;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.1);padding:40px;width:100%;max-width:420px}.auth-card h2{margin:0 0 30px;text-align:center;color:#333;font-size:24px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#555;font-weight:500;font-size:14px}.form-group input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .3s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea}.error-message{background:#fee;color:#c33;padding:12px;border-radius:8px;margin-bottom:20px;font-size:14px;border-left:4px solid #c33}.auth-button{width:100%;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:white;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.auth-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(102,126,234,.4)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-footer{margin-top:24px;text-align:center}.auth-footer p{color:#666;font-size:14px}.link-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;font-weight:600;text-decoration:underline;padding:0}.link-button:hover{color:#764ba2}