:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;width:100%}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}html,body{height:100%;margin:0;padding:0;overflow-x:hidden}#root{height:100%;margin:0;padding:0}#app-container{display:flex;flex-direction:column;min-height:100vh;width:100%;box-sizing:border-box}.app-main{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;width:100%;box-sizing:border-box;padding:2rem}.app-main>div{width:100%;max-width:none;margin:0;padding:0;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.new-language-container{max-width:600px;margin:2rem auto;padding:2rem;background:#f9f9f9;border-radius:8px;box-shadow:0 2px 4px #0000001a}.new-language-container h2{text-align:center;color:#333;margin-bottom:2rem}.no-languages-message{text-align:center;padding:2rem;background:#fffbf0;border:1px solid #f0ad4e;border-radius:4px;color:#8a6d3b}.language-selection{display:flex;flex-direction:column;gap:1.5rem}.language-selection p{font-size:1.1rem;color:#555;margin-bottom:1rem}.language-options{display:flex;flex-direction:column;gap:1rem}.language-option{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all .2s ease}.language-option:hover{background:#f5f5f5;border-color:#007bff}.language-option.selected{background:#e3f2fd;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.language-option.selected:hover{background:#bbdefb}.language-option input[type=radio]{cursor:pointer}.language-option label{cursor:pointer;font-size:1rem;color:#333;flex:1}.select-language-btn{padding:.75rem 2rem;background:#007bff;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background .2s ease;align-self:center}.select-language-btn:hover:not(:disabled){background:#0056b3}.select-language-btn:disabled{background:#ccc;cursor:not-allowed}.dashboard-container{max-width:1200px;margin:2rem auto;padding:2rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #eee}.dashboard-header h1{color:#333;margin:0}.logout-btn{padding:.5rem 1rem;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .2s ease}.logout-btn:hover{background:#c82333}.user-info,.current-language,.lessons-section{margin-bottom:2rem;padding:1.5rem;background:#f9f9f9;border-radius:8px}.user-info h2,.current-language h2,.lessons-section h2{color:#333;margin-bottom:1rem}.user-details{display:flex;flex-direction:column;gap:.5rem}.user-details p{margin:0;color:#555}.user-details strong{color:#333}.goal-language-display{font-size:1.2rem;color:#007bff;font-weight:600;margin:0}.goal-language-display.clickable{cursor:pointer;transition:color .2s ease,transform .1s ease;border-radius:4px;padding:.5rem;display:inline-block}.goal-language-display.clickable:hover{color:#0056b3;background-color:#f8f9fa;transform:scale(1.02)}.change-language-hint{font-size:.9rem;color:#6c757d;font-weight:400;opacity:.8}.no-lessons-message{text-align:center;padding:2rem;background:#f0f8ff;border:1px solid #b3d9ff;border-radius:4px;color:#06c}.lessons-loading{text-align:center;padding:2rem;background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;color:#6c757d}.lessons-loading p{margin-top:1rem;font-style:italic}.lessons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:1rem}.lesson-card{background:#fff;padding:1.5rem;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.lesson-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.lesson-title{color:#333;margin:0 0 .5rem;font-size:1.1rem}.lesson-description{color:#666;margin:0 0 1rem;line-height:1.5}.lesson-difficulty,.lesson-topic{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.difficulty-label,.topic-label{font-weight:600;color:#333}.difficulty-value,.language-value{color:#007bff}.start-lesson-btn{width:100%;padding:.75rem;background:#28a745;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background .2s ease;margin-top:1rem}.start-lesson-btn:hover{background:#218838}@media (max-width: 768px){.new-language-container,.dashboard-container{margin:1rem;padding:1rem}.dashboard-header{flex-direction:column;gap:1rem;align-items:flex-start}.lessons-grid{grid-template-columns:1fr}}.lesson-screen{display:flex;flex-direction:column;min-height:calc(100vh - 80px);background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:1rem}.lesson-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;background:#fff;padding:1rem 1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a}.back-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#6c757d;color:#fff;border:none;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .3s ease;text-decoration:none}.back-button:hover{background:#545b62;transform:translateY(-1px)}.lesson-title{margin:0;color:#333;font-size:1.5rem;font-weight:600;text-align:center;flex:1}.lesson-progress{display:flex;flex-direction:column;gap:.5rem;min-width:150px}.progress-text{font-size:.9rem;color:#666;text-align:right}.progress-bar{width:100%;height:8px;background:#e9ecef;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#28a745,#20c997);border-radius:4px;transition:width .5s ease}.lesson-content{flex:1;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.lesson-error{text-align:center;color:#dc3545;font-size:1.2rem;background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin:2rem auto;max-width:400px}.no-questions{text-align:center;color:#666;font-size:1.1rem;background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 8px #0000001a}.answer-feedback{display:flex;flex-direction:column;gap:1.5rem;padding:2rem;border-radius:12px;background:#fff;box-shadow:0 2px 8px #0000001a;max-width:600px;margin:0 auto}.feedback-header{display:flex;align-items:center;justify-content:center;gap:1rem;text-align:center}.feedback-header.correct{color:#28a745}.feedback-header.incorrect{color:#dc3545}.feedback-icon{font-size:2rem;font-weight:700}.feedback-header h2{margin:0;font-size:1.5rem}.correct-answer{padding:1rem;background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;border-left:4px solid #dc3545}.correct-answer h3{margin:0 0 .5rem;color:#721c24;font-size:1rem}.correct-answer p{margin:0;color:#721c24;font-size:1.1rem;font-weight:500}.answer-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.continue-button{padding:.75rem 2rem;background:#28a745;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.continue-button:hover{background:#1e7e34;transform:translateY(-1px)}.discussion-button{padding:.75rem 1.5rem;background:#6c757d;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.discussion-button:hover{background:#545b62;transform:translateY(-1px)}.lesson-stats{display:flex;justify-content:center;gap:2rem;background:#fff;padding:1rem 1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.stat-value{font-size:1.2rem;font-weight:700;color:#007bff}@media (max-width: 768px){.lesson-screen{padding:.5rem}.lesson-header{flex-direction:column;gap:1rem;align-items:stretch}.lesson-title{font-size:1.2rem;text-align:center}.lesson-progress{min-width:auto}.progress-text{text-align:center}.back-button{align-self:flex-start}.answer-actions{flex-direction:column}.lesson-stats{flex-direction:column;gap:1rem}.stat-item{flex-direction:row;justify-content:space-between;padding:.5rem;background:#f8f9fa;border-radius:8px}}@media (max-width: 480px){.lesson-header{padding:1rem}.lesson-title{font-size:1.1rem}.answer-feedback{padding:1rem;margin:0}.feedback-header{flex-direction:column;gap:.5rem}.feedback-icon{font-size:1.5rem}}.question-component{display:flex;flex-direction:column;gap:1.5rem;padding:2rem;border-radius:12px;background:#fff;box-shadow:0 2px 8px #0000001a;max-width:600px;margin:0 auto;min-height:300px}.question-header h2{margin:0;color:#333;font-size:1.5rem;text-align:center}.question-text{font-size:1.25rem;font-weight:500;color:#444;text-align:center;padding:1rem;background:#f8f9fa;border-radius:8px;border-left:4px solid #007bff}.answer-form{display:flex;flex-direction:column;gap:1rem}.input-group{display:flex;gap:.5rem}.answer-input{flex:1;padding:.75rem;border:2px solid #ddd;border-radius:8px;font-size:1rem;transition:border-color .3s ease}.answer-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.answer-input:disabled{background-color:#f8f9fa;cursor:not-allowed}.submit-button{padding:.75rem 1.5rem;background:#007bff;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .3s ease,transform .1s ease}.submit-button:hover:not(:disabled){background:#0056b3;transform:translateY(-1px)}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{background:#6c757d;cursor:not-allowed}.arrange-container{display:flex;flex-direction:column;gap:1.5rem}.selected-words,.available-words{display:flex;flex-direction:column;gap:.5rem}.selected-words h3,.available-words h3{margin:0;font-size:1rem;color:#666;font-weight:600}.words-area{min-height:80px;padding:1rem;border:2px dashed #ddd;border-radius:8px;display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start;transition:border-color .3s ease}.words-area.selected{border-color:#007bff;background:#f8f9fa}.words-area.available{border-color:#28a745;background:#f8fff9}.placeholder{color:#999;font-style:italic;align-self:center;margin:auto}.word-button{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s ease;font-weight:500}.word-button.selected{background:#007bff;color:#fff}.word-button.selected:hover:not(:disabled){background:#0056b3;transform:translateY(-1px)}.word-button.available{background:#28a745;color:#fff}.word-button.available:hover:not(:disabled){background:#1e7e34;transform:translateY(-1px)}.word-button:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.arrange-actions{display:flex;gap:1rem;justify-content:center;margin-top:1rem}.clear-button{padding:.75rem 1.5rem;background:#6c757d;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .3s ease,transform .1s ease}.clear-button:hover:not(:disabled){background:#545b62;transform:translateY(-1px)}.clear-button:disabled{background:#adb5bd;cursor:not-allowed}.image-container{display:flex;justify-content:center;align-items:center;padding:1rem;background:#f8f9fa;border-radius:8px;min-height:200px}.question-image{max-width:100%;max-height:300px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.audio-container{display:flex;justify-content:center;align-items:center;padding:2rem;background:#f8f9fa;border-radius:8px}.play-button{display:flex;align-items:center;gap:.5rem;padding:1rem 2rem;background:#28a745;color:#fff;border:none;border-radius:50px;font-size:1.1rem;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.play-button:hover:not(:disabled){background:#1e7e34;transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.play-button.playing{background:#dc3545}.play-button.playing:hover:not(:disabled){background:#c82333}.play-button:disabled{background:#6c757d;cursor:not-allowed;transform:none!important}.play-button .icon{font-size:1.2rem}@media (max-width: 768px){.question-component{padding:1rem;margin:0 1rem}.input-group,.arrange-actions{flex-direction:column}.words-area{min-height:60px}.word-button{font-size:.8rem;padding:.4rem .8rem}}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.lesson-complete-modal{background:#fff;border-radius:16px;box-shadow:0 10px 25px #0003;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #eee}.modal-header h2{margin:0;color:#333;font-size:1.5rem;font-weight:600}.close-button{background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-button:hover{background:#f5f5f5;color:#333}.modal-content{padding:1.5rem}.completion-message{text-align:center;margin-bottom:2rem}.completion-message h3{margin:0 0 .5rem;color:#28a745;font-size:1.3rem}.completion-message p{margin:0;color:#666;font-size:1rem}.lesson-stats{margin-bottom:2rem}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.stat-item{text-align:center;padding:1rem;background:#f8f9fa;border-radius:8px;border-left:4px solid #007bff}.stat-value{font-size:1.8rem;font-weight:700;color:#007bff;margin-bottom:.25rem}.stat-label{font-size:.9rem;color:#666;font-weight:500}.rating-prompt{text-align:center}.rating-prompt p{margin:0 0 1.5rem;color:#333;font-size:1.1rem}.rating-actions{display:flex;gap:1rem;justify-content:center}.rating-actions button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.rate-button.primary,.submit-rating-button.primary{background:#007bff;color:#fff}.rate-button.primary:hover,.submit-rating-button.primary:hover{background:#0056b3;transform:translateY(-1px)}.skip-button.secondary,.back-button.secondary{background:#6c757d;color:#fff}.skip-button.secondary:hover,.back-button.secondary:hover{background:#545b62;transform:translateY(-1px)}.rating-form{display:flex;flex-direction:column;gap:1.5rem}.rating-form h4{margin:0;text-align:center;color:#333;font-size:1.1rem}.rating-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.rating-label{font-weight:500;color:#333;font-size:1rem;flex:1}.stars{display:flex;gap:.25rem}.star{background:none;border:none;font-size:1.5rem;color:#ddd;cursor:pointer;transition:all .2s ease;padding:.25rem;border-radius:4px}.star:hover{background:#f8f9fa;transform:scale(1.1)}.star.filled{color:#ffc107}.star.filled:hover{color:#e0a800}@media (max-width: 768px){.modal-overlay{padding:.5rem}.modal-header,.modal-content{padding:1rem}.stat-grid{grid-template-columns:1fr;gap:.5rem}.rating-actions{flex-direction:column}.rating-row{flex-direction:column;gap:.5rem;align-items:stretch;text-align:center}.stars{justify-content:center}}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:#f8f9fa;border-bottom:1px solid #dee2e6;width:100%;box-sizing:border-box}.header-left,.header-right{display:flex;align-items:center}.header-right{position:relative}.language-selector{padding:.5rem;border-radius:4px;border:1px solid #ccc}.profile-container{display:flex;align-items:center;cursor:pointer;color:#333}.username{margin-right:.5rem;color:#333}.profile-icon{font-size:1.5rem}.profile-menu{position:absolute;top:60px;right:1rem;background-color:#fff;border:1px solid #ccc;border-radius:4px;padding:.5rem;z-index:1000}.profile-menu button{background:none;border:none;padding:.5rem 1rem;text-align:left;width:100%;cursor:pointer;color:#333;white-space:nowrap}.profile-menu button:hover{background-color:#f1f1f1}
