:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.login-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:#fff;border-radius:20px;width:100%;max-width:400px;padding:40px;animation:.5s ease-out slideIn;box-shadow:0 20px 60px #0000004d}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-title{text-align:center;color:#333;margin-bottom:10px;font-size:32px}.login-subtitle{text-align:center;color:#666;margin-bottom:30px}.login-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;display:flex}.form-group label{color:#333;margin-bottom:8px;font-weight:600}.form-group input{border:2px solid #e0e0e0;border-radius:10px;padding:12px 16px;font-size:16px;transition:border-color .3s}.form-group input:focus{border-color:#667eea;outline:none}.form-group input:disabled{cursor:not-allowed;background-color:#f5f5f5}.error-message{color:#c33;text-align:center;background-color:#fee;border-radius:8px;padding:12px;font-size:14px}.login-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:10px;padding:14px;font-size:18px;font-weight:600;transition:transform .2s,box-shadow .2s}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea66}.login-button:disabled{opacity:.6;cursor:not-allowed}.quick-login{text-align:center;margin-top:30px}.quick-login p{color:#666;margin-bottom:10px;font-size:14px}.quick-buttons{gap:10px;display:flex}.quick-button{cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:10px;flex:1;padding:12px;font-size:16px;transition:all .3s}.quick-button.hermann{border-color:#4a90e2}.quick-button.hermann:hover{color:#fff;background-color:#4a90e2;transform:scale(1.05)}.quick-button.vilma{border-color:#e24a90}.quick-button.vilma:hover{color:#fff;background-color:#e24a90;transform:scale(1.05)}.dashboard{max-width:1200px;margin:0 auto;padding:20px}.dashboard.loading,.dashboard.error{flex-direction:column;justify-content:center;align-items:center;min-height:400px;display:flex}.spinner-large{border:6px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;width:60px;height:60px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-header{text-align:center;margin-bottom:40px}.dashboard-header h1{color:#333;margin:0 0 10px;font-size:36px}.welcome-text{color:#666;margin:0;font-size:18px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:40px;display:grid}.stat-card{border-radius:15px;align-items:center;gap:20px;padding:25px;transition:transform .3s,box-shadow .3s;display:flex;box-shadow:0 4px 12px #0000001a}.stat-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #00000026}.stat-card.primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.stat-card.secondary{color:#fff;background:linear-gradient(135deg,#4caf50 0%,#45a049 100%)}.stat-card.success{color:#fff;background:linear-gradient(135deg,#ffa726 0%,#fb8c00 100%)}.stat-card.fire{color:#fff;background:linear-gradient(135deg,#ff5722 0%,#e64a19 100%)}.stat-icon{font-size:48px}.stat-content{flex:1}.stat-value{margin-bottom:5px;font-size:36px;font-weight:700}.stat-label{opacity:.9;font-size:14px}.streak-section{background:#fff;border-radius:20px;margin:40px 0;padding:30px;box-shadow:0 4px 12px #0000001a}.streak-section h2{color:#333;margin:0 0 20px}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:10px;margin-bottom:20px;display:grid}.calendar-day{border-radius:10px;flex-direction:column;align-items:center;padding:15px;transition:all .3s;display:flex}.calendar-day.active{color:#fff;background:linear-gradient(135deg,#ff5722 0%,#e64a19 100%);transform:scale(1.05)}.calendar-day.inactive{color:#999;background:#f5f5f5}.day-name{margin-bottom:8px;font-size:12px;font-weight:600}.day-indicator{font-size:28px}.streak-message{text-align:center;color:#667eea;margin:15px 0 0;font-size:18px;font-weight:600}.badges-section{background:#fff;border-radius:20px;margin:40px 0;padding:30px;box-shadow:0 4px 12px #0000001a}.badges-section h2{color:#333;margin:0 0 20px}.badges-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px;display:grid}.badge-card{text-align:center;background:linear-gradient(135deg,gold 0%,#ffed4e 100%);border-radius:15px;flex-direction:column;align-items:center;padding:20px;transition:transform .3s;display:flex;box-shadow:0 4px 8px #0000001a}.badge-card:hover{transform:scale(1.05)}.badge-icon{margin-bottom:10px;font-size:64px}.badge-name{color:#333;margin-bottom:8px;font-size:18px;font-weight:700}.badge-description{color:#666;margin-bottom:10px;font-size:14px}.badge-date{color:#999;font-size:12px}.no-badges{text-align:center;color:#999;padding:40px}.no-badges p{margin:10px 0}.activity-section{background:#fff;border-radius:20px;margin:40px 0;padding:30px;box-shadow:0 4px 12px #0000001a}.activity-section h2{color:#333;margin:0 0 20px}.activity-chart{min-height:200px}.chart-bars{justify-content:space-around;align-items:flex-end;gap:10px;height:200px;padding:20px 0;display:flex}.chart-bar-container{flex-direction:column;flex:1;align-items:center;display:flex}.bar-wrapper{justify-content:center;align-items:flex-end;width:100%;height:150px;display:flex}.bar{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:8px 8px 0 0;justify-content:center;align-items:flex-start;width:60%;min-height:10px;padding-top:5px;transition:height .5s;display:flex}.bar-value{color:#fff;font-size:12px;font-weight:700}.bar-label{color:#666;margin-top:10px;font-size:14px;font-weight:600}.no-activity{text-align:center;color:#999;padding:40px}.weekly-stats-section{background:#fff;border-radius:20px;margin:40px 0;padding:30px;box-shadow:0 4px 12px #0000001a}.weekly-stats-section h2{color:#333;margin:0 0 25px}.weekly-comparison{grid-template-columns:1fr auto 1fr;gap:20px;margin-bottom:20px;display:grid}.week-column{border-radius:15px;padding:20px;transition:transform .3s}.week-column.current-week{background:linear-gradient(135deg,#e3f2fd 0%,#bbdefb 100%);border-left:4px solid #2196f3}.week-column.previous-week{background:linear-gradient(135deg,#f5f5f5 0%,#e0e0e0 100%);border-left:4px solid #9e9e9e}.week-header{margin-bottom:20px}.week-header h3{color:#333;margin:0 0 5px;font-size:20px}.week-label{color:#666;font-size:13px;font-weight:500}.week-stats{grid-template-columns:repeat(2,1fr);gap:15px;display:grid}.week-stat{background:#fff;border-radius:10px;flex-direction:column;align-items:center;padding:15px;display:flex;position:relative;box-shadow:0 2px 6px #00000014}.stat-icon-small{margin-bottom:8px;font-size:28px}.stat-number{color:#333;margin-bottom:4px;font-size:28px;font-weight:700}.stat-name{color:#666;text-align:center;font-size:13px}.improvement{border-radius:10px;padding:3px 8px;font-size:11px;font-weight:700;position:absolute;top:8px;right:8px}.improvement.positive{color:#fff;background:#4caf50}.improvement.negative{color:#fff;background:#f44336}.week-divider{justify-content:center;align-items:center;padding:20px 0;display:flex}.comparison-arrows{flex-direction:column;align-items:center;font-size:36px;display:flex}.arrow-up{color:#4caf50}.arrow-down{color:#f44336}.arrow-neutral{color:#9e9e9e}.weekly-message{text-align:center;border-radius:10px;margin-top:20px;padding:15px 20px;font-size:16px;font-weight:600}.weekly-message.success{color:#2e7d32;background:linear-gradient(135deg,#e8f5e9 0%,#c8e6c9 100%);border-left:4px solid #4caf50}.weekly-message.encourage{color:#e65100;background:linear-gradient(135deg,#fff3e0 0%,#ffe0b2 100%);border-left:4px solid #ff9800}.weekly-message.neutral{color:#1565c0;background:linear-gradient(135deg,#e3f2fd 0%,#bbdefb 100%);border-left:4px solid #2196f3}.ready-to-practice-section{background:linear-gradient(135deg,#e8f5e9 0%,#c8e6c9 100%);border-left:6px solid #4caf50;border-radius:20px;margin:40px 0;padding:30px;box-shadow:0 4px 12px #0000001a}.section-header{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.section-header h2{color:#2e7d32;margin:0}.ready-count{color:#fff;background:#4caf50;border-radius:20px;padding:8px 16px;font-size:16px;font-weight:700}.section-description{color:#388e3c;margin-bottom:20px;font-size:16px;line-height:1.6}.practice-now-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4caf50 0%,#45a049 100%);border:none;border-radius:30px;padding:15px 30px;font-size:18px;font-weight:600;transition:all .3s;box-shadow:0 4px 12px #4caf504d}.practice-now-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #4caf5066}.near-mastery-section{background:#fff;border-radius:20px;margin:40px 0;padding:30px;box-shadow:0 4px 12px #0000001a}.near-mastery-section h2{color:#333;margin:0 0 10px}.near-mastery-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:20px;display:grid}.mastery-card{background:linear-gradient(135deg,#fff3e0 0%,#ffe0b2 100%);border-left:4px solid #ff9800;border-radius:15px;padding:20px;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 8px #0000001a}.mastery-card:hover{transform:translateY(-3px);box-shadow:0 6px 16px #00000026}.word-pair{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:15px;display:flex}.word-english{color:#e65100;font-size:18px;font-weight:700}.word-arrow{color:#ff9800;font-size:20px}.word-norwegian{color:#f57c00;font-size:18px;font-weight:600}.mastery-progress{align-items:center;gap:10px;display:flex}.progress-bar{background:#fff;border-radius:10px;flex:1;height:20px;overflow:hidden;box-shadow:inset 0 2px 4px #0000001a}.progress-fill{background:linear-gradient(90deg,#4caf50 0%,#66bb6a 100%);border-radius:10px;height:100%;transition:width .5s}.progress-text{color:#e65100;text-align:right;min-width:40px;font-size:14px;font-weight:700}.motivational-section{margin:40px 0}.motivation-card{background:linear-gradient(135deg,#f0f4ff 0%,#e6f0ff 100%);border-left:4px solid #667eea;border-radius:15px;padding:30px}.motivation-card h3{color:#667eea;margin:0 0 15px}.motivation-card p{color:#555;margin:0;font-size:18px;line-height:1.6}.data-management-section{background:#fff;border-radius:20px;margin:40px 0;padding:30px;box-shadow:0 4px 12px #0000001a}.data-management-section h2{color:#333;margin:0 0 20px}.data-actions{flex-direction:column;gap:15px;display:flex}.export-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:30px;align-self:flex-start;padding:15px 30px;font-size:18px;font-weight:600;transition:all .3s;box-shadow:0 4px 12px #667eea4d}.export-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.export-description{color:#666;margin:0;font-size:14px;line-height:1.6}@media (width<=768px){.dashboard{padding:15px}.dashboard-header h1{font-size:28px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:15px}.stat-card{padding:20px}.stat-icon{font-size:36px}.stat-value{font-size:28px}.calendar-grid{gap:5px}.calendar-day{padding:10px}.day-indicator{font-size:20px}.badges-grid{grid-template-columns:repeat(2,1fr);gap:15px}.badge-icon{font-size:48px}.chart-bars{gap:5px;height:150px}.bar-wrapper{height:100px}.ready-to-practice-section,.near-mastery-section,.weekly-stats-section{padding:20px}.section-header{flex-direction:column;align-items:flex-start;gap:10px}.near-mastery-grid{grid-template-columns:1fr;gap:15px}.practice-now-button{width:100%;font-size:16px}.weekly-comparison{grid-template-columns:1fr;gap:15px}.week-divider{display:none}.week-stats{grid-template-columns:1fr}.week-column{padding:15px}.week-header h3{font-size:18px}.stat-number{font-size:24px}.data-management-section{padding:20px}.export-button{width:100%;font-size:16px}}.practice-action-section{margin-bottom:40px}.practice-cta{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:30px;padding:30px;display:flex;box-shadow:0 8px 24px #667eea4d}.practice-info{color:#fff;flex:1;align-items:center;gap:20px;display:flex}.practice-icon{font-size:64px;line-height:1}.practice-text h2{color:#fff;margin:0 0 8px;font-size:28px}.practice-text p{opacity:.95;color:#fff;margin:0;font-size:16px}.practice-now-button-large{color:#667eea;cursor:pointer;white-space:nowrap;background:#fff;border:none;border-radius:12px;padding:16px 40px;font-size:18px;font-weight:700;transition:all .3s;box-shadow:0 4px 12px #00000026}.practice-now-button-large:hover{background:#f8f8f8;transform:translateY(-2px);box-shadow:0 6px 20px #0003}.practice-now-button-large:active{transform:translateY(0)}@media (width<=768px){.practice-cta{text-align:center;flex-direction:column;padding:25px}.practice-info{text-align:center;flex-direction:column}.practice-icon{font-size:56px}.practice-text h2{font-size:24px}.practice-text p{font-size:14px}.practice-now-button-large{width:100%;padding:14px 32px;font-size:16px}}.newest-lesson-section{margin-bottom:40px}.newest-lesson-card{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);border-radius:20px;padding:35px;position:relative;overflow:hidden;box-shadow:0 8px 24px #f093fb4d}.newest-lesson-badge{color:#fff;letter-spacing:1px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff4d;border-radius:20px;padding:6px 16px;font-size:11px;font-weight:700;position:absolute;top:15px;right:15px}.newest-lesson-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:30px;display:flex}.newest-lesson-info{flex:1;align-items:center;gap:20px;min-width:250px;display:flex}.newest-lesson-icon{font-size:64px;line-height:1}.newest-lesson-text h2{color:#fff;margin:0 0 8px;font-size:28px;font-weight:700}.newest-lesson-text p{color:#ffffffe6;margin:0;font-size:16px;font-weight:400}.newest-lesson-start-button{color:#f5576c;cursor:pointer;white-space:nowrap;background:#fff;border:none;border-radius:12px;padding:16px 40px;font-size:18px;font-weight:700;transition:all .3s;box-shadow:0 4px 12px #00000026}.newest-lesson-start-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0003}.newest-lesson-start-button:active{transform:translateY(0)}@media (width<=768px){.newest-lesson-card{padding:25px}.newest-lesson-badge{padding:5px 12px;font-size:10px;top:10px;right:10px}.newest-lesson-content,.newest-lesson-info{text-align:center;flex-direction:column}.newest-lesson-icon{font-size:56px}.newest-lesson-text h2{font-size:24px}.newest-lesson-text p{font-size:14px}.newest-lesson-start-button{width:100%;padding:14px 32px;font-size:16px}}.historical-lessons-section{background:#f9f9f9;border-radius:20px;margin:60px 0 40px;padding:30px}.historical-lessons-section h2{color:#666;text-align:center;margin:0 0 30px;font-size:20px}.lessons-by-month{flex-direction:column;gap:40px;display:flex}.month-group{background:#fff;border-radius:15px;padding:25px;box-shadow:0 2px 8px #0000000d}.month-header{color:#667eea;border-bottom:2px solid #e0e0e0;margin:0 0 20px;padding-bottom:10px;font-size:18px;font-weight:600}.lesson-card{cursor:pointer;background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);border:2px solid #0000;border-radius:12px;padding:20px;transition:all .3s}.lesson-card:hover{border-color:#667eea;transform:translateY(-3px);box-shadow:0 6px 16px #00000026}.lesson-start-button:hover{background:#5568d3}.no-lessons p{margin:0 0 20px;font-size:16px}.create-lesson-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:12px;padding:14px 28px;font-size:16px;font-weight:600;transition:all .3s;box-shadow:0 4px 12px #667eea4d}@media (width<=768px){.historical-lessons-section{margin:40px 0 20px;padding:20px}.month-group{padding:20px}.month-header{font-size:16px}.lessons-grid{grid-template-columns:1fr}.lesson-card{padding:16px}}.flashcard{background:#fff;border-radius:20px;max-width:700px;margin:0 auto;padding:30px;box-shadow:0 8px 30px #0000001f}.flashcard-header{text-align:center;margin-bottom:30px}.flashcard-header h2{color:#333;margin:0 0 10px;font-size:32px}.flashcard-image-container{text-align:center;margin-bottom:30px}.flashcard-image{border-radius:15px;max-width:100%;max-height:300px;box-shadow:0 4px 15px #0000001a}.source-display{text-align:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:15px;justify-content:center;align-items:center;gap:15px;margin-bottom:30px;padding:30px;display:flex}.flag{font-size:36px}.source-word-large{color:#fff;font-size:42px;font-weight:700}.audio-button-card{color:#fff;cursor:pointer;background:#fff3;border:2px solid #ffffff4d;border-radius:10px;padding:10px 15px;font-size:24px;transition:all .3s}.audio-button-card:hover{background:#ffffff4d;transform:scale(1.1)}.reveal-section{text-align:center;margin:40px 0}.hidden-word{margin-bottom:30px}.question-mark{color:#ddd;margin-bottom:15px;font-size:72px}.hint-text{color:#999;font-size:16px;font-style:italic}.reveal-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);border:none;border-radius:12px;padding:15px 40px;font-size:20px;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #f5576c66}.reveal-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f5576c80}.reveal-button:active{transform:translateY(0)}.revealed-section{animation:.5s ease-in fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.target-display{text-align:center;background:linear-gradient(135deg,#a8edea 0%,#fed6e3 100%);border-radius:15px;justify-content:center;align-items:center;gap:15px;margin-bottom:30px;padding:30px;display:flex}.target-word-large{color:#333;font-size:42px;font-weight:700}.feedback-buttons{text-align:center;margin-top:30px}.feedback-question{color:#666;margin-bottom:20px;font-size:18px;font-weight:600}.button-group{flex-wrap:wrap;justify-content:center;gap:15px;display:flex}.knew-button,.didnt-know-button{cursor:pointer;border:none;border-radius:12px;padding:15px 30px;font-size:16px;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #0000001a}.knew-button{color:#fff;background:linear-gradient(135deg,#84fab0 0%,#8fd3f4 100%)}.knew-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #84fab066}.didnt-know-button{color:#333;background:linear-gradient(135deg,#ffeaa7 0%,#fdcb6e 100%)}.didnt-know-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #fdcb6e66}.completion-message{text-align:center;background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);border-radius:15px;padding:30px;animation:1s ease-in-out bounce}.completion-message h3{color:#333;margin:0 0 10px;font-size:28px}.completion-message p{color:#666;margin:0;font-size:16px}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.tips-box-flashcard{background:#f0f4ff;border-left:4px solid #667eea;border-radius:12px;margin-top:30px;padding:20px}.tips-box-flashcard h4{color:#667eea;margin-top:0;font-size:18px}.tips-box-flashcard ul{margin:10px 0 0 20px;padding:0}.tips-box-flashcard li{color:#555;margin-bottom:8px;line-height:1.6}@media (width<=600px){.flashcard{padding:20px}.source-word-large,.target-word-large{font-size:32px}.flag{font-size:28px}.question-mark{font-size:56px}.reveal-button{width:100%;padding:15px 20px}.button-group{flex-direction:column}.knew-button,.didnt-know-button{width:100%}}.sentence-builder{background:#fff;border-radius:20px;max-width:800px;margin:0 auto;padding:20px;box-shadow:0 10px 40px #0000001a}.builder-header{text-align:center;border-bottom:2px solid #e0e0e0;margin-bottom:30px;padding-bottom:20px}.builder-header h2{color:#333;margin:0 0 10px}.target-word{color:#667eea;background:#f0f4ff;border-radius:5px;padding:2px 8px;font-size:22px}.word-visual{background:#f8f9fa;border-radius:15px;align-items:center;gap:20px;margin-bottom:30px;padding:20px;display:flex}.word-image-small{object-fit:cover;border-radius:10px;width:100px;height:100px}.word-info{flex-direction:column;gap:5px;display:flex}.english-word{color:#333;font-size:28px;font-weight:700}.norwegian-word{color:#666;font-size:18px}.sentence-form{margin-bottom:30px}.sentence-input{resize:vertical;box-sizing:border-box;border:2px solid #e0e0e0;border-radius:10px;width:100%;padding:15px;font-family:inherit;font-size:16px;transition:border-color .3s}.sentence-input:focus{border-color:#667eea;outline:none}.sentence-input:disabled{cursor:not-allowed;background-color:#f5f5f5}.form-actions{justify-content:space-between;gap:15px;margin-top:15px;display:flex}.help-button{color:#ffa726;cursor:pointer;background:#fff;border:2px solid #ffa726;border-radius:10px;padding:12px 24px;font-size:16px;font-weight:600;transition:all .3s}.help-button:hover{color:#fff;background:#ffa726}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #667eea66}.submit-button:disabled{opacity:.5;cursor:not-allowed}.skip-button{color:#757575;cursor:pointer;background:#fff;border:2px solid #9e9e9e;border-radius:10px;padding:12px 24px;font-size:16px;font-weight:600;transition:all .3s}.skip-button:hover{color:#fff;background:#9e9e9e;transform:translateY(-2px)}.validation-result{text-align:center;border-radius:15px;padding:30px;animation:.5s resultAppear}@keyframes resultAppear{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.validation-result.success{color:#fff;background:linear-gradient(135deg,#4caf50 0%,#45a049 100%)}.validation-result.error{color:#fff;background:linear-gradient(135deg,#ff9800 0%,#f57c00 100%)}.result-icon{margin-bottom:15px;font-size:64px;animation:.6s iconBounce}@keyframes iconBounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.result-title{margin:0 0 20px;font-size:28px}.user-sentence,.feedback,.suggestions{text-align:left;background:#fff3;border-radius:10px;margin:20px 0;padding:15px}.user-sentence p,.feedback p{margin:5px 0 0;font-size:16px}.suggestions ul{margin:10px 0 0 20px;padding:0}.suggestions li{margin-bottom:8px;font-size:15px}.score-display-sentence{background:#ffffff4d;border-radius:10px;flex-direction:column;align-items:center;margin-top:20px;padding:20px;display:flex}.score-label{margin-bottom:10px;font-size:18px}.score-value{font-size:48px;font-weight:700;animation:.6s scoreReveal}@keyframes scoreReveal{0%{transform:scale(0)rotate(-180deg)}to{transform:scale(1)rotate(0)}}.retry-button:hover{color:#ff9800;background:#fff}.example-sentences{background:#fffef0;border-left:4px solid #ffa726;border-radius:5px;margin:30px 0;padding:20px}.example-sentences h3{color:#333;margin-top:0}.example-sentences ul{margin:15px 0;padding:0;list-style:none}.example-sentences li{background:#fff;border-left:3px solid #667eea;border-radius:8px;margin-bottom:10px;padding:10px}.example-hint{color:#666;margin:10px 0 0;font-size:14px;font-style:italic}.tips-box{background:#f0f4ff;border-radius:10px;margin-top:30px;padding:20px}.tips-box h4{color:#667eea;margin-top:0}.tips-box ul{margin:10px 0 0 20px;padding:0}.tips-box li{color:#555;margin-bottom:8px}@media (width<=600px){.sentence-builder{padding:15px}.word-visual{text-align:center;flex-direction:column}.form-actions{flex-direction:column}.help-button,.submit-button,.skip-button{width:100%}.target-word{font-size:18px}.result-icon{font-size:48px}.result-title{font-size:22px}}.example-sentences li{justify-content:space-between;align-items:center;gap:10px;display:flex}.pronunciation-trainer{background:#fff;border-radius:20px;max-width:800px;margin:0 auto;padding:20px;box-shadow:0 10px 40px #0000001a}.trainer-header{text-align:center;border-bottom:2px solid #e0e0e0;margin-bottom:30px;padding-bottom:20px}.trainer-header h2{color:#333;margin:0 0 10px}.instruction{color:#666;margin:0;font-size:16px}.pronunciation-visual{text-align:center;margin:20px 0}.pronunciation-image{object-fit:cover;border-radius:15px;max-width:200px;max-height:200px;box-shadow:0 4px 12px #0000001a}.target-word-display{flex-direction:column;align-items:center;gap:15px;margin:30px 0;display:flex}.word-box{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:15px;flex-direction:column;align-items:center;padding:20px 40px;display:flex}.word-english{margin-bottom:5px;font-size:48px;font-weight:700}.word-norwegian{opacity:.9;font-size:20px}.audio-button{color:#667eea;cursor:pointer;background:#fff;border:2px solid #667eea;border-radius:10px;padding:12px 24px;font-size:18px;font-weight:600;transition:all .3s}.audio-button:hover{color:#fff;background:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.microphone-area{justify-content:center;align-items:center;min-height:200px;margin:30px 0;display:flex}.record-button{cursor:pointer;background:#f0f4ff;border:3px dashed #667eea;border-radius:20px;flex-direction:column;align-items:center;gap:15px;padding:40px;transition:all .3s;display:flex}.record-button:hover{background:#667eea;border-color:#764ba2;transform:scale(1.05)}.record-button:hover .mic-icon{transform:scale(1.2)}.record-button:hover span{color:#fff}.record-button span{color:#667eea;font-size:18px;font-weight:600;transition:color .3s}.mic-icon{font-size:80px;transition:transform .3s}.listening-indicator{flex-direction:column;align-items:center;gap:20px;display:flex}.mic-icon.pulsing{animation:1.5s infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.listening-text{color:#667eea;margin:0;font-size:20px;font-weight:600}.sound-waves{align-items:flex-end;gap:8px;height:60px;display:flex}.wave{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:4px;width:8px;animation:1s ease-in-out infinite wave}.wave:first-child{animation-delay:0s}.wave:nth-child(2){animation-delay:.2s}.wave:nth-child(3){animation-delay:.4s}@keyframes wave{0%,to{height:20px}50%{height:60px}}.result-card{border-radius:15px;margin:20px 0;padding:25px;animation:.5s slideIn}.result-card.correct{color:#fff;background:linear-gradient(135deg,#4caf50 0%,#45a049 100%)}.result-card.incorrect{color:#fff;background:linear-gradient(135deg,#ff9800 0%,#f57c00 100%)}.result-icon{text-align:center;margin-bottom:15px;font-size:48px}.result-content{text-align:center}.transcript{margin:10px 0;font-size:18px}.feedback{margin:15px 0;font-size:20px;font-weight:600}.confidence-bar{margin-top:20px}.confidence-label{margin-bottom:8px;font-size:16px}.confidence-track{background:#ffffff4d;border-radius:6px;width:100%;height:12px;overflow:hidden}.confidence-fill{background:#fff;border-radius:6px;height:100%;transition:width .5s}.attempts-counter{text-align:center;color:#666;background:#f5f5f5;border-radius:10px;margin:20px 0;padding:15px;font-size:18px;font-weight:600}.history{margin-top:30px}.history h3{color:#333;margin-bottom:15px}.history-list{flex-direction:column;gap:10px;display:flex}.history-item{background:#f8f9fa;border-radius:10px;align-items:center;gap:15px;padding:12px 15px;display:flex}.history-item.success{border-left:4px solid #4caf50}.history-item.fail{border-left:4px solid #ff9800}.history-icon{font-size:20px}.history-text{color:#333;flex:1;font-size:16px}.history-confidence{color:#666;font-size:14px;font-weight:600}.tips-section{background:#fffef0;border-left:4px solid #ffa726;border-radius:5px;margin-top:30px;padding:20px}.tips-section h4{color:#333;margin-top:0}.tips-section ul{margin:10px 0 0 20px;padding:0}.tips-section li{color:#555;margin-bottom:8px}.skip-button-pron{color:#757575;cursor:pointer;background:#fff;border:2px solid #9e9e9e;border-radius:10px;width:100%;max-width:300px;margin:20px auto;padding:12px 24px;font-size:16px;font-weight:600;transition:all .3s;display:block}.skip-button-pron:hover{color:#fff;background:#9e9e9e;transform:translateY(-2px)}.error-message-box{text-align:center;color:#c33;background:#fee;border-radius:15px;padding:40px}.error-message-box h2{margin-top:0}@media (width<=600px){.pronunciation-trainer{padding:15px}.word-english{font-size:36px}.word-norwegian{font-size:16px}.mic-icon{font-size:60px}.record-button{padding:30px}.result-icon{font-size:36px}}.grammar-trainer{max-width:700px;margin:0 auto;padding:20px}.trainer-header{text-align:center;margin-bottom:30px}.trainer-header h2{color:#333;margin:0 0 15px;font-size:28px}.word-info{color:#666;margin:0;font-size:18px}.word-info strong{color:#667eea;font-size:20px}.word-visual{text-align:center;margin:20px 0}.word-image-small{border-radius:12px;max-width:200px;height:auto;box-shadow:0 4px 12px #0000001a}.exercise-card{background:#fff;border-radius:20px;margin-bottom:25px;padding:30px;box-shadow:0 10px 40px #0000001a}.exercise-type-badge{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:20px;margin-bottom:20px;padding:8px 16px;font-size:14px;font-weight:600;display:inline-block}.question-box{background:#f5f7ff;border-left:4px solid #667eea;border-radius:12px;margin-bottom:25px;padding:25px}.question{color:#333;margin:0;font-size:20px;font-weight:600;line-height:1.5}.answer-form{flex-direction:column;gap:15px;display:flex}.answer-input{border:3px solid #e0e0e0;border-radius:12px;padding:16px;font-family:inherit;font-size:18px;transition:all .3s}.answer-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.submit-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:12px;padding:16px;font-size:18px;font-weight:600;transition:all .3s}.submit-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.feedback-box{text-align:center;border-radius:12px;padding:25px}.feedback-box.correct{background:#e8f5e9;border:3px solid #4caf50}.feedback-box.incorrect{background:#ffebee;border:3px solid #f44336}.feedback-icon{margin-bottom:15px;font-size:48px}.feedback-message{color:#333;margin:10px 0;font-size:20px;font-weight:600}.correct-answer{color:#666;margin:15px 0;font-size:18px}.correct-answer strong{color:#4caf50;font-size:20px}.retry-button{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:10px;margin-top:15px;padding:12px 24px;font-size:16px;font-weight:600;transition:all .3s}.retry-button:hover{background:#5568d3;transform:scale(1.05)}.hint-box{color:#666;background:#fff9c4;border-left:4px solid #ffa726;border-radius:8px;margin-top:20px;padding:15px;font-size:16px}.attempts-counter{text-align:center;color:#999;margin-top:20px;font-size:16px;font-weight:600}.grammar-tips{background:#f5f5f5;border-left:4px solid #667eea;border-radius:12px;padding:20px}.grammar-tips h4{color:#333;margin-top:0;font-size:18px}.grammar-tips ul{margin:10px 0 0 20px;padding:0}.grammar-tips li{color:#666;margin-bottom:10px;font-size:15px;line-height:1.6}.grammar-tips strong{color:#667eea;font-weight:700}.loading{text-align:center;color:#666;padding:60px;font-size:20px}@media (width<=600px){.grammar-trainer{padding:15px}.exercise-card{padding:20px}.question{font-size:18px}.answer-input,.submit-button{font-size:16px}}.audio-button-inline{cursor:pointer;opacity:.6;vertical-align:middle;background:0 0;border:none;margin-left:6px;padding:0 4px;font-size:16px;line-height:1;transition:all .2s}.audio-button-inline:hover{opacity:1;transform:scale(1.2)}.audio-button-inline:active{transform:scale(.95)}.skip-button-grammar{color:#757575;cursor:pointer;background:#fff;border:2px solid #9e9e9e;border-radius:10px;width:100%;max-width:300px;margin:20px auto 0;padding:12px 24px;font-size:16px;font-weight:600;transition:all .3s;display:block}.skip-button-grammar:hover{color:#fff;background:#9e9e9e;transform:translateY(-2px)}.ocr-scanner{background:#fff;border-radius:20px;max-width:800px;margin:0 auto;padding:20px;box-shadow:0 10px 40px #0000001a}.scanner-header{border-bottom:2px solid #e0e0e0;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;display:flex}.scanner-header h2{color:#333;margin:0}.close-button{color:#fff;cursor:pointer;background:#f44336;border:none;border-radius:50%;width:40px;height:40px;font-size:24px;transition:transform .2s}.close-button:hover{transform:scale(1.1)}.scanner-content{min-height:400px}.upload-area{justify-content:center;align-items:center;min-height:400px;display:flex}.upload-placeholder{text-align:center;cursor:pointer;border:3px dashed #667eea;border-radius:20px;padding:60px;transition:all .3s}.upload-placeholder:hover{background:#f5f7ff;transform:scale(1.02)}.camera-icon{margin-bottom:20px;font-size:80px}.upload-text{color:#333;margin-bottom:10px;font-size:20px;font-weight:600}.upload-hint{color:#666;font-size:14px}.image-preview{border-radius:10px;max-width:100%;position:relative;overflow:hidden}.preview-image{width:100%;height:auto;display:block}.processing-overlay{color:#fff;background:#000c;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.spinner{border:6px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:60px;height:60px;margin-bottom:20px;animation:1s linear infinite spin}.processing-text{margin-bottom:15px;font-size:18px}.progress-bar{background:#ffffff4d;border-radius:5px;width:80%;max-width:300px;height:10px;margin-bottom:10px;overflow:hidden}.progress-fill{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);height:100%;transition:width .3s}.progress-text{font-size:16px;font-weight:600}.detected-text{background:#f5f5f5;border-radius:10px;margin-top:20px;padding:20px}.detected-text h3{color:#333;margin-top:0}.text-content{white-space:pre-wrap;word-wrap:break-word;color:#666;font-family:monospace;font-size:14px}.scanner-actions{justify-content:center;gap:15px;margin:20px 0;display:flex}.primary-button,.secondary-button{cursor:pointer;border:none;border-radius:10px;padding:12px 24px;font-size:16px;font-weight:600;transition:all .3s}.primary-button{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.primary-button:hover{transform:translateY(-2px);box-shadow:0 8px 16px #667eea66}.secondary-button{color:#333;background:#fff;border:2px solid #e0e0e0}.secondary-button:hover{background:#f5f5f5}.scanner-tips{background:#fffef0;border-left:4px solid #ffa726;border-radius:5px;margin-top:30px;padding:20px}.scanner-tips h3{color:#333;margin-top:0;font-size:16px}.scanner-tips ul{margin:10px 0 0 20px;padding:0}.scanner-tips li{color:#666;margin-bottom:8px;font-size:14px}@media (width<=600px){.ocr-scanner{padding:15px}.upload-placeholder{padding:40px 20px}.camera-icon{font-size:60px}.upload-text{font-size:18px}.scanner-actions{flex-direction:column}.primary-button,.secondary-button{width:100%}}.upload-area-multi{min-height:400px}.images-section{position:relative}.images-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;margin-bottom:20px;display:grid}.image-preview-item{background:#f5f5f5;border:2px solid #e0e0e0;border-radius:10px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.image-preview-item:hover{transform:translateY(-3px);box-shadow:0 6px 16px #00000026}.preview-thumbnail{object-fit:cover;width:100%;height:180px;display:block}.remove-image-button{color:#fff;cursor:pointer;background:#f44336;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:18px;transition:transform .2s;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 2px 8px #0000004d}.remove-image-button:hover{transform:scale(1.15)}.image-label{text-align:center;color:#667eea;background:#fff;padding:8px;font-size:14px;font-weight:600}.image-text-preview{color:#666;text-overflow:ellipsis;white-space:nowrap;background:#f8f9fa;padding:6px;font-size:11px;overflow:hidden}.add-more-card{cursor:pointer;background:#f0f4ff;border:3px dashed #667eea;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-height:180px;transition:all .3s;display:flex}.add-more-card:hover{background:#e6f0ff;transform:scale(1.02)}.add-more-icon{color:#667eea;margin-bottom:10px;font-size:48px}.add-more-card p{color:#667eea;margin:0;font-size:16px;font-weight:600}.processing-overlay-multi{color:#fff;z-index:1000;background:#000000e6;border-radius:15px;flex-direction:column;align-items:center;min-width:300px;padding:40px;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}@media (width<=600px){.images-grid{grid-template-columns:repeat(2,1fr);gap:10px}.preview-thumbnail{height:120px}.add-more-card{min-height:120px}.add-more-icon{font-size:36px}}.word-list{max-width:1400px;margin:0 auto;padding:20px}.word-list-header{text-align:center;margin-bottom:30px}.word-list-header h2{color:#333;margin:0 0 10px;font-size:32px}.word-count{color:#666;margin:10px 0;font-size:16px}.view-mode-toggle{justify-content:center;gap:10px;margin:15px 0;display:flex}.toggle-button{color:#667eea;cursor:pointer;background:#fff;border:2px solid #667eea;border-radius:8px;padding:10px 20px;font-size:15px;font-weight:600;transition:all .3s}.toggle-button:hover{background:#f0f4ff;transform:translateY(-1px)}.toggle-button.active{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-color:#0000}.add-word-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:10px;margin-top:15px;padding:12px 24px;font-size:16px;font-weight:600;transition:transform .2s}.add-word-button:hover{transform:translateY(-2px)}.add-word-form{background:#fff;border-radius:15px;margin-bottom:25px;padding:25px;box-shadow:0 4px 20px #00000014}.add-word-form h3{color:#333;margin-top:0;font-size:20px}.form-row{gap:15px;margin-bottom:15px;display:flex}.form-input,.form-select,.inline-input,.inline-select{border:2px solid #e0e0e0;border-radius:8px;padding:10px 14px;font-family:inherit;font-size:15px;transition:border-color .3s}.form-input:focus,.form-select:focus,.inline-input:focus,.inline-select:focus{border-color:#667eea;outline:none}.form-input{flex:1}.inline-input{width:100%;font-weight:600}.inline-select{width:100%}.form-actions{justify-content:flex-end;gap:10px;display:flex}.word-list-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.search-box{flex:1;min-width:250px}.search-input{border:2px solid #e0e0e0;border-radius:10px;width:100%;padding:12px 16px;font-size:16px;transition:border-color .3s}.search-input:focus{border-color:#667eea;outline:none}.sort-controls{align-items:center;gap:10px;display:flex}.sort-controls label{color:#666;font-weight:600}.sort-select{cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:10px 16px;font-size:15px;transition:border-color .3s}.sort-select:focus{border-color:#667eea;outline:none}.words-table-container{background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 4px 20px #00000014}.words-table{border-collapse:collapse;width:100%}.words-table thead{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.words-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;padding:16px 12px;font-size:14px;font-weight:600}.words-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background-color .2s}.words-table tbody tr:hover{background-color:#f9f9ff}.words-table td{padding:14px 12px;font-size:15px}.word-english{color:#333;font-weight:600}.word-norwegian{color:#555}.word-lesson{color:#666;font-size:14px}.word-date{color:#667eea;font-weight:500}.word-last-practiced{color:#888;font-size:14px}.word-completed{text-align:center;color:#4caf50;font-weight:600}.word-score{text-align:center;color:#ff9800;font-weight:600}.word-class{text-align:center}.word-class-badge{color:#667eea;text-transform:capitalize;background:#f0f4ff;border-radius:12px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-block}.word-actions{text-align:center}.date-editor{align-items:center;gap:8px;display:flex}.date-input{border:2px solid #667eea;border-radius:6px;padding:6px 10px;font-family:inherit;font-size:14px}.action-buttons{justify-content:center;gap:8px;display:flex}.edit-button,.date-button,.delete-button,.save-button,.cancel-button{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 12px;font-size:16px;transition:all .2s}.edit-button:hover,.date-button:hover,.delete-button:hover{transform:scale(1.2)}.save-button{color:#fff;background:#4caf50;padding:8px 16px;font-weight:700}.save-button:hover{background:#45a049;transform:scale(1.05)}.cancel-button{color:#fff;background:#f44336;padding:8px 16px;font-weight:700}.cancel-button:hover{background:#da190b;transform:scale(1.05)}.no-words{text-align:center;color:#999;padding:60px 20px}.no-words p{margin:10px 0;font-size:18px}.loading-spinner{flex-direction:column;justify-content:center;align-items:center;min-height:400px;display:flex}.loading-spinner .spinner{border:6px solid #667eea33;border-top-color:#667eea;border-radius:50%;width:60px;height:60px;margin-bottom:20px;animation:1s linear infinite spin}.loading-spinner p{color:#666;font-size:16px}@media (width<=768px){.word-list{padding:10px}.word-list-controls{flex-direction:column;align-items:stretch}.sort-controls{justify-content:space-between}.words-table-container{overflow-x:auto}.words-table{min-width:800px}.words-table th,.words-table td{padding:10px 8px;font-size:13px}}.header-buttons{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:15px;display:flex}.bulk-delete-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);border:none;border-radius:8px;padding:10px 20px;font-size:15px;font-weight:600;transition:all .3s;box-shadow:0 2px 10px #f5576c4d}.bulk-delete-button:hover{transform:translateY(-2px);box-shadow:0 4px 15px #f5576c66}.bulk-delete-button:active{transform:translateY(0)}.checkbox-column{text-align:center;width:40px;padding:12px 8px!important}.checkbox-column input[type=checkbox]{cursor:pointer;accent-color:#667eea;width:18px;height:18px}.word-row:has(input[type=checkbox]:checked){background:#f0f4ff!important}.word-with-audio{align-items:center;gap:8px;display:flex}.audio-button{cursor:pointer;opacity:.6;background:0 0;border:none;padding:4px;font-size:18px;line-height:1;transition:all .2s}.audio-button:hover{opacity:1;transform:scale(1.2)}.audio-button:active{transform:scale(.95)}.word-grammar{color:#666;min-width:150px;font-size:13px}.grammar-info{flex-direction:column;gap:4px;display:flex}.grammar-info div{background:#f5f5f5;border-radius:4px;padding:4px 8px;font-family:Courier New,monospace;font-size:12px}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fa;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app{flex-direction:column;min-height:100vh;display:flex}.navbar{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:space-between;align-items:center;padding:15px 30px;display:flex;box-shadow:0 4px 12px #0000001a}.nav-brand{font-size:24px;font-weight:700}.nav-user{align-items:center;gap:15px;display:flex}.user-name{font-size:16px;font-weight:600}.nav-button{color:#fff;cursor:pointer;background:0 0;border:2px solid #fff;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .3s}.nav-button:hover{color:#667eea;background:#fff}.nav-button.logout{background:#fff3}.nav-button.logout:hover{color:#fff;background:#ff5722;border-color:#ff5722}.main-content{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:30px}.lessons-section{background:#fff;border-radius:20px;margin-top:40px;padding:30px;box-shadow:0 4px 12px #0000001a}.lessons-section h2{color:#333;margin:0 0 25px}.lessons-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.lesson-card{cursor:pointer;background:linear-gradient(135deg,#f0f4ff 0%,#e6f0ff 100%);border-left:4px solid #667eea;border-radius:15px;padding:25px;transition:all .3s}.lesson-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #667eea4d}.lesson-title{color:#333;margin-bottom:10px;font-size:20px;font-weight:700}.lesson-date{color:#666;margin-bottom:15px;font-size:14px}.lesson-start-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;width:100%;padding:10px;font-size:16px;font-weight:600;transition:all .3s}.lesson-start-button:hover{transform:scale(1.05);box-shadow:0 4px 12px #667eea66}.no-lessons{text-align:center;color:#999;padding:60px 20px}.no-lessons p{margin-bottom:20px;font-size:18px}.create-lesson-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:10px;padding:15px 30px;font-size:18px;font-weight:600;transition:all .3s}.create-lesson-button:hover{transform:translateY(-2px);box-shadow:0 8px 16px #667eea66}.test-container{max-width:900px;margin:0 auto}.test-progress{color:#667eea;background:#fff;border-radius:15px;justify-content:space-between;margin-bottom:30px;padding:20px 30px;font-size:16px;font-weight:600;display:flex;box-shadow:0 4px 12px #0000001a}@media (width<=768px){.navbar{flex-direction:column;gap:15px;padding:15px}.nav-user{flex-direction:column;width:100%}.nav-button{width:100%}.main-content{padding:15px}.lessons-grid{grid-template-columns:1fr}.test-progress{text-align:center;flex-direction:column;gap:10px}}
