@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=VT323&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--white:beige;--off-white:#111;--light-gray:#222;--mid-gray:#333;--text-gray:#9ca3af;--text-secondary:#aaa;--text-primary:beige;--text-black:beige;--correct:#16a34a;--correct-bg:#16a34a26;--incorrect:#c43;--incorrect-bg:#cc443326;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 4px 12px #00000080;--shadow-lg:0 8px 30px #000000b3;--radius:12px;--radius-lg:16px;--radius-xl:20px;--text-main:beige;--text-muted:#888;--bg-app:#0d0d0d;--card-bg:#1a1a1a;--card-hover:#222;--accent:#ffb800;--accent-light:#ffca40;--border:#333;--shadow:0 4px 20px #00000080}html{scroll-behavior:smooth}body{background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;font-family:Avenir Next,Avenir,Inter,system-ui,-apple-system,sans-serif;line-height:1.6}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.5s ease-out forwards fadeIn}.dashboard{max-width:1000px;margin:2rem auto;padding:0 1.5rem}.dashboard-header h1{color:var(--accent);margin-bottom:.5rem;font-size:2.5rem}.dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;display:grid}.lesson-card{background:var(--card-bg);box-shadow:var(--shadow);cursor:pointer;border:1px solid var(--border);border-radius:1.5rem;transition:transform .3s,box-shadow .3s;overflow:hidden}.lesson-card:hover{transform:translateY(-8px);box-shadow:0 12px 30px #6c5ce726}.lesson-card-banner{background:var(--card-bg);border-bottom:1px solid var(--border);justify-content:center;align-items:center;height:120px;display:flex}.lesson-emoji{filter:grayscale();opacity:.8;font-size:3.5rem}.lesson-card-content{padding:1.5rem}.lesson-card-title{color:var(--text-main);margin-bottom:.25rem;font-size:1.4rem}.lesson-card-subtitle{color:var(--accent);text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem;font-size:.9rem;font-weight:600}.lesson-card-description{color:var(--text-muted);line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:1.5rem;font-size:.95rem;display:-webkit-box;overflow:hidden}.lesson-card-footer{gap:.5rem;display:flex}.lesson-badge{background:var(--bg-app);color:var(--text-muted);border:1px solid var(--border);border-radius:2rem;padding:.4rem .8rem;font-size:.75rem;font-weight:600}.navbar{background:var(--bg-app);z-index:100;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:sticky;top:0;box-shadow:0 2px 10px #00000080}.nav-brand{cursor:pointer;align-items:center;gap:.75rem;transition:opacity .2s;display:flex}.nav-brand:hover{opacity:.7}.nav-flag{font-size:1.5rem}.nav-title{color:var(--text-black);font-family:VT323,monospace;font-size:1.25rem;font-weight:700}.nav-links{gap:.5rem;display:flex}.nav-link{color:var(--text-secondary);cursor:pointer;background:0 0;border:1.5px solid #0000;border-radius:100px;padding:.5rem 1.25rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;transition:all .25s}.nav-link:hover{color:var(--text-black);background:var(--light-gray)}.nav-link.active{color:var(--text-black);border-color:var(--text-black);background:var(--card-bg)}.hero{justify-content:space-between;align-items:center;gap:3rem;max-width:1100px;margin:0 auto;padding:4rem 2rem 3rem;display:flex}.hero-content{flex:1;max-width:520px}.hero-title{color:var(--text-black);margin-bottom:.5rem;font-family:VT323,monospace;font-size:3.5rem;font-weight:700;line-height:1.1}.hero-subtitle{color:var(--text-secondary);margin-bottom:1.25rem;font-size:1.125rem;font-weight:500}.hero-description{color:var(--text-secondary);margin-bottom:2rem;font-size:1rem;line-height:1.7}.hero-buttons{flex-wrap:wrap;gap:.75rem;display:flex}.btn-primary{background:var(--text-black);color:var(--white);cursor:pointer;border:none;border-radius:100px;padding:.75rem 1.75rem;font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;transition:all .25s}.btn-primary:hover{box-shadow:var(--shadow-md);background:#374151;transform:translateY(-1px)}.btn-secondary{background:var(--card-bg);color:var(--text-black);border:1.5px solid var(--mid-gray);cursor:pointer;border-radius:100px;padding:.75rem 1.75rem;font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;transition:all .25s}.btn-secondary:hover{border-color:var(--text-black);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.hero-image{flex:0 0 380px}.hero-image img{border-radius:var(--radius-xl);width:100%}.section{max-width:1100px;margin:0 auto;padding:2rem 2rem 4rem}.section-header{border-bottom:1px solid var(--mid-gray);align-items:center;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.section-header-text{flex:1}.section-title{color:var(--text-black);margin-bottom:.25rem;font-family:VT323,monospace;font-size:1.75rem;font-weight:700}.section-subtitle{color:var(--text-secondary);font-size:.95rem}.section-illustration{object-fit:cover;border-radius:var(--radius);opacity:.85;width:100px;height:100px}.flashcard-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.25rem;margin-bottom:1.5rem;display:grid}.flashcard-container{perspective:800px;cursor:pointer;height:240px}.flashcard-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s;position:relative}.flashcard-inner.flipped{transform:rotateY(180deg)}.flashcard-face{backface-visibility:hidden;border-radius:var(--radius-lg);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;inset:0;overflow:hidden}.flashcard-front{background:var(--card-bg);border:1.5px solid var(--mid-gray);transition:border-color .2s,box-shadow .2s}.flashcard-container:hover .flashcard-front{border-color:var(--text-black);box-shadow:var(--shadow-md)}.flashcard-image{object-fit:contain;border-radius:8px;width:100%;height:100%;padding:.5rem}.flashcard-emoji-large{font-size:4rem}.flashcard-hint{color:var(--text-gray);background:#ffffffd9;border-radius:100px;padding:.15rem .5rem;font-size:.65rem;position:absolute;bottom:.5rem}.flashcard-back{background:var(--text-black);color:var(--white);gap:.25rem;padding:1.25rem;transform:rotateY(180deg)}.flashcard-emoji-back{margin-bottom:.35rem;font-size:1.75rem}.flashcard-word-back{color:var(--white);font-size:1rem;font-weight:700;line-height:1.3}.flashcard-article-back{color:#ffffff73;text-transform:uppercase;letter-spacing:.06em;background:#ffffff1a;border-radius:100px;margin:.25rem 0;padding:.1rem .5rem;font-size:.65rem;font-weight:500}.flashcard-translation{color:#ffffffbf;margin-top:.25rem;font-size:.9rem;font-weight:500;line-height:1.3}.btn-audio{cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:1rem;transition:background .2s;display:flex;position:absolute;bottom:.6rem;right:.6rem}.btn-audio:hover{background:#ffffff4d}.routines-section{flex-direction:column;gap:1.5rem;margin-top:3rem;display:flex}.routine-card{background:var(--off-white);border:1px solid var(--mid-gray);border-radius:var(--radius-lg);gap:1.5rem;padding:1.5rem;transition:box-shadow .2s;display:flex}.routine-card:hover{box-shadow:var(--shadow-md)}.routine-image{object-fit:cover;border-radius:var(--radius);flex-shrink:0;width:140px;height:auto}.routine-content{flex:1}.routine-title{color:var(--text-black);margin-bottom:.75rem;font-size:1.15rem;font-weight:700}.routine-es{color:var(--text-secondary);font-size:.95rem;font-weight:400}.routine-steps{flex-direction:column;gap:.5rem;padding-left:1.25rem;list-style:decimal;display:flex}.routine-steps li{color:var(--text-primary);font-size:.9rem;line-height:1.5}.routine-steps li strong{color:var(--text-black)}.quiz-name-screen{max-width:440px;margin:0 auto}.name-card{background:var(--card-bg);border:1.5px solid var(--mid-gray);border-radius:var(--radius-xl);text-align:center;padding:3rem 2rem}.name-emoji{margin-bottom:1rem;font-size:3rem;display:block}.name-title{color:var(--text-black);margin-bottom:.35rem;font-family:VT323,monospace;font-size:1.5rem;font-weight:700}.name-subtitle{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.9rem}.name-form{flex-direction:column;gap:.75rem;display:flex}.name-input{border:1.5px solid var(--mid-gray);border-radius:var(--radius);color:var(--text-black);text-align:center;outline:none;padding:.85rem 1rem;font-family:Inter,sans-serif;font-size:1rem;transition:border-color .2s}.name-input:focus{border-color:var(--text-black)}.name-input::placeholder{color:var(--text-gray)}.btn-start{background:var(--text-black);color:var(--white);border-radius:var(--radius);cursor:pointer;border:none;padding:.85rem;font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;transition:all .2s}.btn-start:hover:not(:disabled){box-shadow:var(--shadow-md);background:#374151}.btn-start:disabled{opacity:.4;cursor:not-allowed}.name-info{color:var(--text-gray);margin-top:1rem;font-size:.75rem}.quiz-container{max-width:640px;margin:0 auto}.quiz-progress-bar{background:var(--light-gray);border-radius:100px;width:100%;height:4px;margin-bottom:1.5rem;overflow:hidden}.quiz-progress-fill{background:var(--text-black);border-radius:100px;height:100%;transition:width .4s}.quiz-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.quiz-counter{color:var(--text-secondary);font-size:.85rem;font-weight:500}.quiz-type-badge{color:var(--text-secondary);background:var(--light-gray);text-transform:uppercase;letter-spacing:.04em;border-radius:100px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.quiz-question-card{background:var(--card-bg);border:1.5px solid var(--mid-gray);border-radius:var(--radius-lg);padding:2rem}.quiz-question{color:var(--text-black);margin-bottom:1.5rem;font-size:1.15rem;font-weight:600;line-height:1.5}.quiz-options{flex-direction:column;gap:.65rem;display:flex}.quiz-option{border:1.5px solid var(--mid-gray);border-radius:var(--radius);background:var(--card-bg);cursor:pointer;text-align:left;align-items:center;gap:.75rem;width:100%;padding:.85rem 1rem;font-family:Inter,sans-serif;font-size:.9rem;transition:all .2s;display:flex}.quiz-option:hover:not(:disabled){border-color:var(--text-black);background:var(--off-white)}.option-letter{background:var(--light-gray);width:28px;height:28px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.option-text{color:var(--text-primary);font-weight:500}.option-correct{border-color:var(--correct)!important;background:var(--correct-bg)!important}.option-correct .option-letter{background:var(--correct);color:#fff}.option-correct .option-text{color:var(--correct);font-weight:600}.option-incorrect{border-color:var(--incorrect)!important;background:var(--incorrect-bg)!important}.option-incorrect .option-letter{background:var(--incorrect);color:#fff}.option-incorrect .option-text{color:var(--incorrect)}.option-disabled{opacity:.5;cursor:default}.quiz-feedback{border-radius:var(--radius);margin-top:1.25rem;padding:1rem 1.25rem;font-size:.875rem;line-height:1.6}.feedback-correct{background:var(--correct-bg);border:1px solid #bbf7d0}.feedback-incorrect{background:var(--incorrect-bg);border:1px solid #fecaca}.feedback-status{margin-bottom:.25rem;font-weight:700}.feedback-correct .feedback-status{color:var(--correct)}.feedback-incorrect .feedback-status{color:var(--incorrect)}.feedback-explanation{color:var(--text-secondary)}.btn-next{background:var(--text-black);width:100%;color:var(--white);border-radius:var(--radius);cursor:pointer;border:none;margin-top:1.25rem;padding:.85rem;font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;transition:all .2s}.btn-next:hover{box-shadow:var(--shadow-md);background:#374151}.quiz-score-mini{text-align:center;color:var(--text-secondary);margin-top:1.25rem;font-size:.85rem}.quiz-results{max-width:500px;margin:0 auto}.results-card{background:var(--card-bg);border:1.5px solid var(--mid-gray);border-radius:var(--radius-xl);text-align:center;padding:3rem 2rem}.results-emoji{margin-bottom:1rem;font-size:3.5rem;display:block}.results-title{color:var(--text-black);margin-bottom:.25rem;font-family:VT323,monospace;font-size:1.75rem;font-weight:700}.results-student{color:var(--text-secondary);margin-bottom:1.25rem;font-size:.9rem}.results-score{justify-content:center;align-items:baseline;gap:.25rem;margin-bottom:.5rem;display:flex}.score-number{color:var(--text-black);font-size:3.5rem;font-weight:900}.score-divider{color:var(--text-gray);font-size:2rem}.score-total{color:var(--text-gray);font-size:2rem;font-weight:600}.results-percentage{color:var(--text-secondary);margin-bottom:.75rem;font-size:.9rem}.results-message{color:var(--text-primary);margin-bottom:2rem;font-size:1.1rem;font-weight:500}.results-breakdown{flex-wrap:wrap;justify-content:center;gap:.4rem;margin-bottom:1.5rem;display:flex}.breakdown-item{border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:36px;height:36px;font-size:.65rem;font-weight:700;line-height:1;display:flex}.breakdown-item .breakdown-num{opacity:.6;font-size:.55rem}.breakdown-item .breakdown-icon{font-size:.8rem}.breakdown-item.correct{background:var(--correct-bg);color:var(--correct);border:1px solid #bbf7d0}.breakdown-item.incorrect{background:var(--incorrect-bg);color:var(--incorrect);border:1px solid #fecaca}.save-status{color:var(--text-gray);margin-bottom:1rem;font-size:.8rem}.save-status.saved{color:var(--correct)}.btn-retry{background:var(--text-black);color:var(--white);cursor:pointer;border:none;border-radius:100px;padding:.85rem 2rem;font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;transition:all .2s}.btn-retry:hover{box-shadow:var(--shadow-md);background:#374151;transform:translateY(-1px)}.footer{text-align:center;border-top:1px solid var(--mid-gray);margin-top:2rem;padding:2rem}.footer p{color:var(--text-gray);font-size:.8rem}@media (width<=768px){.hero{text-align:center;flex-direction:column;padding:2rem 1.5rem}.hero-title{font-size:2.5rem}.hero-buttons{justify-content:center}.hero-image{flex:none;width:100%;max-width:320px}.section{padding:1.5rem 1.25rem 3rem}.section-header{text-align:center;flex-direction:column}.section-illustration{width:80px;height:80px}.flashcard-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.flashcard-container{height:200px}.routine-card{flex-direction:column}.routine-image{width:100%;max-height:160px}.quiz-question-card{padding:1.5rem}.navbar{padding:.75rem 1rem}.nav-title{font-size:1rem}.nav-link{padding:.4rem .85rem;font-size:.8rem}}@media (width<=480px){.flashcard-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.flashcard-container{height:180px}.hero-title{font-size:2rem}}.dashboard-container{max-width:1100px;margin:0 auto;padding:4rem 2rem}.dashboard-header{text-align:center;margin-bottom:3rem}.dashboard-header h1{color:var(--text-black);margin-bottom:.5rem;font-family:VT323,monospace;font-size:3rem;font-weight:700}.dashboard-header p{color:var(--text-secondary);font-size:1.125rem}.lessons-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;display:grid}.lesson-card{background:var(--card-bg);border:1.5px solid var(--mid-gray);border-radius:var(--radius-xl);cursor:pointer;flex-direction:column;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.lesson-card:hover{border-color:var(--text-black);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.lesson-image{background:var(--off-white);border-bottom:1px solid var(--mid-gray);justify-content:center;align-items:center;height:180px;display:flex}.placeholder-image{font-size:4rem}.lesson-content{flex-grow:1;padding:1.5rem}.lesson-content h3{color:var(--text-black);margin-bottom:.5rem;font-family:VT323,monospace;font-size:1.5rem;font-weight:700}.lesson-content p{color:var(--text-secondary);margin-bottom:1.25rem;font-size:.95rem;line-height:1.5}.lesson-link{color:var(--text-black);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.lesson-card.coming-soon{opacity:.7;cursor:default}.lesson-card.coming-soon:hover{box-shadow:none;border-color:var(--mid-gray);transform:none}.teacher-dashboard{max-width:1000px;margin:2rem auto;padding:0 1.5rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.stat-card{background:var(--card-bg);border-radius:var(--radius-lg);border:1.5px solid var(--mid-gray);text-align:center;padding:1.5rem}.stat-value{color:var(--accent);margin-bottom:.25rem;font-size:2.5rem;font-weight:800;display:block}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:500}.dashboard-sections{grid-template-columns:1.5fr 1fr;gap:2rem;display:grid}.dashboard-section{background:var(--card-bg);border-radius:var(--radius-lg);border:1.5px solid var(--mid-gray);padding:1.5rem}.dashboard-section h3{margin-bottom:1.5rem;font-family:VT323,monospace;font-size:1.25rem}.results-table{flex-direction:column;display:flex}.table-header,.table-row{grid-template-columns:1.5fr 1fr 1fr 1.2fr;padding:.75rem .5rem;font-size:.9rem;display:grid}.table-header{border-bottom:2px solid var(--light-gray);color:var(--text-black);font-weight:700}.table-row{border-bottom:1px solid var(--light-gray);align-items:center}.score.pass{color:var(--correct);font-weight:700}.score.fail{color:var(--incorrect);font-weight:700}.difficult-list{list-style:none}.difficult-item{border-bottom:1px dashed var(--mid-gray);margin-bottom:1rem;padding-bottom:1rem}.error-count{background:var(--incorrect-bg);color:var(--incorrect);border-radius:100px;margin-bottom:.35rem;padding:.2rem .6rem;font-size:.75rem;font-weight:700;display:inline-block}.error-question{color:var(--text-primary);font-size:.9rem;line-height:1.4}.btn-refresh{background:var(--light-gray);cursor:pointer;border:none;border-radius:100px;margin-top:2rem;padding:.75rem 1.5rem;font-size:.85rem;font-weight:600;transition:all .2s}.btn-refresh:hover{background:var(--mid-gray)}.dashboard-loading{text-align:center;color:var(--text-secondary);padding:4rem;font-style:italic}@media (width<=800px){.dashboard-sections{grid-template-columns:1fr}}.interactive-question{color:var(--text-black);font-size:1.15rem;font-weight:500;line-height:2;display:inline-block}.blank-input{border:none;border-bottom:2px solid var(--text-black);width:auto;min-width:80px;color:var(--accent);text-align:center;background:0 0;outline:none;margin:0 .4rem;padding:0 .2rem;font-family:Inter,sans-serif;font-size:1.15rem;font-weight:600;transition:border-color .2s;display:inline-block}.blank-input:focus{border-bottom-color:var(--accent)}.blank-input:disabled{color:var(--text-black);border-bottom-color:var(--mid-gray);background:0 0}.blank-slot{border-radius:var(--radius);background:var(--light-gray);border:1.5px dashed var(--text-gray);text-align:center;cursor:pointer;min-width:60px;min-height:32px;margin:0 .4rem;padding:.1rem .8rem;font-weight:600;transition:all .2s;display:inline-block}.blank-slot.empty{color:#0000}.blank-slot.filled{background:var(--card-bg);border-style:solid;border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-sm)}.blank-slot.filled:hover:not(.blank-correct):not(.blank-incorrect){background:var(--incorrect-bg);border-color:var(--incorrect);color:var(--incorrect);text-decoration:line-through}.blank-correct{border-color:var(--correct)!important;color:var(--correct)!important;background:var(--correct-bg)!important;border-bottom-color:var(--correct)!important;border-style:solid!important}.blank-incorrect{border-color:var(--incorrect)!important;color:var(--incorrect)!important;background:var(--incorrect-bg)!important;border-bottom-color:var(--incorrect)!important;border-style:solid!important}.word-bank{background:var(--off-white);border-radius:var(--radius-lg);border:1px dashed var(--mid-gray);flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.5rem;padding:1.5rem;display:flex}.word-bank-btn{background:var(--card-bg);border:1.5px solid var(--border);color:var(--text-main);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:100px;padding:.6rem 1.25rem;font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;transition:all .2s}.word-bank-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.word-bank-btn:disabled{opacity:0;pointer-events:none;transform:scale(.9)}.btn-check-blanks{background:var(--accent)}.btn-check-blanks:hover{background:var(--accent-light)}
