:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{margin:0;padding:0;width:100%;height:100%;background:#f5f5f7}#root{width:100%;height:100%}html,body{width:100%;height:100%;overflow-x:hidden;-webkit-overflow-scrolling:touch}@media(max-width:768px){.top-nav{display:none!important}.app{padding-top:0!important}.sidebar{position:fixed!important;bottom:-100%!important;left:0!important;right:0!important;height:70vh!important;max-height:70vh!important;width:100%!important;z-index:1001!important;transition:bottom .3s ease!important;border-radius:20px 20px 0 0!important;box-shadow:0 -4px 20px #0003!important;overflow:hidden!important}.sidebar.mobile-open{bottom:0!important}.sidebar-header{padding:16px!important;border-bottom:2px solid #e0e0e0!important;background:#f5f5f7!important}.lessons-list{height:calc(70vh - 60px)!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}.mobile-lesson-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:70vh!important;background:#00000080!important;z-index:999!important;opacity:0!important;pointer-events:none!important;transition:opacity .3s ease!important}.mobile-lesson-overlay.active{opacity:1!important;pointer-events:all!important}.mobile-lesson-selector-btn{position:fixed!important;bottom:80px!important;right:16px!important;z-index:999!important;background:#06f!important;color:#fff!important;border:none!important;border-radius:25px!important;padding:12px 20px!important;font-size:14px!important;font-weight:600!important;box-shadow:0 4px 12px #06f6!important;cursor:pointer!important}.writing-module-layout,.reading-module-layout,.listening-module-layout,.speaking-module-layout{flex-direction:column!important}.main-content{width:100%!important;padding:16px!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}.content-header h1{font-size:22px!important}.lesson-description{font-size:14px!important}.content{overflow-y:auto!important;-webkit-overflow-scrolling:touch}.bottom-nav{padding:12px 0!important;box-shadow:0 -2px 10px #0000001a!important}}*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}@supports (padding: max(0px)){body{padding-top:max(0px,env(safe-area-inset-top));padding-bottom:max(0px,env(safe-area-inset-bottom));padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f7}.app{width:100%;height:100vh;margin:0 auto;background:#fff;display:flex;flex-direction:column}.top-nav{background:#fff;padding:16px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5e5e5}.nav-left{display:flex;align-items:center;gap:40px}.logo{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:700}.logo-icon{font-size:28px}.logo-text{color:#06f}.logo-orange{color:#ff6b35}.nav-links{display:flex;gap:24px}.nav-link{background:none;border:none;font-size:15px;font-weight:500;color:#666;cursor:pointer;padding:8px 0;position:relative;text-decoration:none}.nav-link.active{color:#06f}.nav-link.active:after{content:"";position:absolute;bottom:-17px;left:0;right:0;height:3px;background:#06f}.nav-right{display:flex;align-items:center;gap:16px}.download-btn{background:#06f;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block}.user-btn{background:none;border:none;font-size:16px;cursor:pointer;padding:8px;text-decoration:none;color:inherit}.user-menu{display:flex;align-items:center;gap:12px}.user-email{font-size:14px;color:#666}.logout-btn{background:#ff6b35;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}.logout-btn:hover{background:#ff5722}.login-btn{background:#06f;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.login-btn:hover{background:#0052cc}@media(max-width:768px){.user-email{display:none}}.content{flex:1;overflow-y:auto;padding-bottom:80px}.bottom-nav{position:fixed;bottom:0;left:0;width:100%;background:#fff;display:flex;justify-content:space-around;padding:8px 0 20px;border-top:1px solid #e5e5e5;box-shadow:0 -2px 10px #0000000d}.nav-item{background:none;border:none;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;padding:8px 12px;color:#8e8e93;font-size:10px}.nav-item.active{color:#4c4cff}.nav-item.active .nav-icon{filter:brightness(0) saturate(100%) invert(35%) sepia(93%) saturate(2878%) hue-rotate(232deg)}.nav-item.premium-nav{background:linear-gradient(135deg,#f4e4c1,#e8d4a8);border-radius:20px;color:#b8860b;padding:8px 16px}.nav-icon{font-size:24px}.nav-label{font-size:11px;font-weight:500}.ielts-type-selector{position:relative;margin-right:20px}.type-selector-btn{background:#fff;border:2px solid #0066FF;color:#06f;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.type-selector-btn:hover{background:#06f;color:#fff}.type-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #0000001a;overflow:hidden;z-index:1000;min-width:150px}.type-option{display:block;width:100%;padding:12px 16px;background:#fff;border:none;text-align:left;font-size:14px;cursor:pointer;transition:background .2s ease}.type-option:hover{background:#f5f5f7}.type-option.active{background:#06f;color:#fff;font-weight:600}.coming-soon-page{display:flex;align-items:center;justify-content:center;min-height:80vh;padding:40px 20px}.coming-soon-content{text-align:center;max-width:600px}.coming-soon-content h1{font-size:48px;margin-bottom:20px;color:#333}.coming-soon-content h2{font-size:36px;color:#06f;margin-bottom:20px}.coming-soon-content p{font-size:18px;color:#666;margin-bottom:15px;line-height:1.6}.back-to-academic-btn{margin-top:30px;padding:14px 32px;background:linear-gradient(135deg,#06f,#0052cc);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s ease}.back-to-academic-btn:hover{transform:translateY(-2px)}.user-menu{position:relative}.user-profile-btn{display:flex;align-items:center;gap:8px;background:#fff;border:2px solid #e0e0e0;border-radius:24px;padding:4px 12px 4px 4px;cursor:pointer;transition:all .2s ease}.user-profile-btn:hover{border-color:#06f}.profile-icon{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#06f,#0052cc);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.dropdown-arrow{font-size:10px;color:#666}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 16px #00000026;min-width:280px;z-index:1000;overflow:hidden}.dropdown-header{display:flex;align-items:center;gap:12px;padding:16px;background:#f5f5f7}.profile-icon-large{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#06f,#0052cc);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px}.user-info{display:flex;flex-direction:column;gap:4px}.user-name{font-weight:600;font-size:16px;color:#333;text-transform:capitalize}.user-email-small{font-size:13px;color:#666}.dropdown-divider{height:1px;background:#e0e0e0}.dropdown-item{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;background:#fff;border:none;text-align:left;font-size:15px;color:#333;cursor:pointer;transition:background .2s ease}.dropdown-item:hover{background:#f5f5f7}.dropdown-item.logout{color:#d32f2f}.dropdown-item.logout:hover{background:#ffebee}.item-icon{font-size:18px}.auth-modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.auth-modal-content{background:#fff;padding:40px;border-radius:16px;width:90%;max-width:400px;position:relative}.close-btn{position:absolute;top:16px;right:16px;background:none;border:none;font-size:32px;cursor:pointer;color:#666}.auth-modal-content h2{font-size:28px;font-weight:700;color:#1a1a1a;margin-bottom:24px}.error-message{background:#ffe5e5;color:#d32f2f;padding:12px;border-radius:8px;margin-bottom:16px;font-size:14px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:8px}.form-group input{width:100%;padding:12px;border:1px solid #e5e5e5;border-radius:8px;font-size:16px}.form-group input:focus{outline:none;border-color:#06f}.submit-btn{width:100%;background:#06f;color:#fff;border:none;padding:14px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;margin-top:8px}.submit-btn:disabled{background:#ccc;cursor:not-allowed}.switch-auth{text-align:center;margin-top:20px;font-size:14px;color:#666}.switch-auth button{background:none;border:none;color:#06f;font-weight:600;cursor:pointer;text-decoration:underline}.google-btn{width:100%;background:#fff;color:#333;border:1px solid #e5e5e5;padding:14px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:20px}.google-btn:hover{background:#f9f9f9}.google-btn:disabled{background:#f5f5f5;cursor:not-allowed}.google-icon{width:20px;height:20px}.divider{display:flex;align-items:center;text-align:center;margin:20px 0;color:#999}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid #e5e5e5}.divider span{padding:0 10px;font-size:14px;font-weight:600}.subscription-manager{padding:32px;max-width:1200px;margin:0 auto}.subscription-manager h2{font-size:28px;font-weight:700;margin-bottom:24px}.current-plan{background:#fff;padding:24px;border-radius:12px;margin-bottom:32px;box-shadow:0 2px 8px #0000001a}.current-plan h3{font-size:20px;margin-bottom:12px}.plan-name{color:#06f;font-weight:700}.plans-section h3,.features-section h3{font-size:20px;font-weight:700;margin-bottom:16px}.plans-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}@media(max-width:1024px){.plans-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.subscription-manager{padding:16px}.plans-grid{grid-template-columns:1fr}.subscription-manager h2{font-size:24px}}.plan-card{background:#fff;padding:20px;border-radius:12px;border:2px solid #e5e5e5;transition:all .2s}.plan-card.active{border-color:#06f;background:#f0f0ff}.plan-card h4{font-size:18px;font-weight:700;margin-bottom:12px;color:#06f}.plan-card ul{list-style:none;padding:0;margin-bottom:16px}.plan-card li{padding:6px 0;font-size:14px}.plan-card button{width:100%;padding:10px;background:#06f;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.plan-card button:hover{background:#0052cc}.features-list{background:#fff;padding:24px;border-radius:12px}.feature-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.feature-item:last-child{border-bottom:none}.feature-item span{font-size:15px;text-transform:capitalize}.feature-item .owned{color:#34c759;font-weight:600}.feature-item button{padding:8px 16px;background:#06f;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer}.feature-item button:hover{background:#0052cc}.home{width:100%;background:#fff}.hero-section{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:80px 60px;max-width:1400px;margin:0 auto;align-items:center;background:linear-gradient(135deg,#f5f7ff,#fff)}.hero-content{max-width:600px}.hero-title{font-size:52px;font-weight:800;line-height:1.2;color:#1a1a1a;margin-bottom:24px}.hero-title .highlight{color:#06f;position:relative}.hero-subtitle{font-size:18px;line-height:1.6;color:#666;margin-bottom:32px}.hero-buttons{display:flex;gap:16px;margin-bottom:24px}.cta-primary{background:#06f;color:#fff;border:none;padding:16px 32px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #0066ff4d}.cta-primary:hover{background:#0052cc;transform:translateY(-2px);box-shadow:0 6px 20px #06f6}.cta-primary.large{padding:20px 48px;font-size:18px}.cta-secondary{background:#fff;color:#06f;border:2px solid #0066FF;padding:16px 32px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.cta-secondary:hover{background:#f5f7ff}.hero-badges{display:flex;gap:16px;flex-wrap:wrap}.badge{background:#e8f5e9;color:#2e7d32;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600}.hero-image{position:relative;height:400px}.floating-card{position:absolute;background:#fff;padding:20px 24px;border-radius:16px;box-shadow:0 8px 24px #0000001a;display:flex;align-items:center;gap:12px;animation:float 3s ease-in-out infinite}.floating-card .card-icon{font-size:32px}.floating-card .card-text{font-size:16px;font-weight:600;color:#1a1a1a}.card-1{top:20px;left:40px;animation-delay:0s}.card-2{top:80px;right:60px;animation-delay:.5s}.card-3{bottom:120px;left:20px;animation-delay:1s}.card-4{bottom:40px;right:40px;animation-delay:1.5s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.band-prediction-section{padding:80px 60px;background:linear-gradient(135deg,#06f,#0052cc);color:#fff}.section-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 2fr;gap:60px;align-items:center}.prediction-visual{display:flex;justify-content:center}.score-circle{width:200px;height:200px;border-radius:50%;background:#fff3;backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:center;border:4px solid rgba(255,255,255,.3)}.score-number{font-size:64px;font-weight:800;color:#fff}.score-label{font-size:16px;color:#ffffffe6;margin-top:8px}.prediction-info h2{font-size:36px;font-weight:700;margin-bottom:16px}.prediction-info p{font-size:18px;line-height:1.6;margin-bottom:24px;opacity:.95}.feature-list{list-style:none;padding:0;margin-bottom:32px}.feature-list li{font-size:16px;padding:8px 0;opacity:.95}.band-prediction-section .cta-primary{background:#fff;color:#06f}.band-prediction-section .cta-primary:hover{background:#f5f7ff;transform:translateY(-2px)}.features-section{padding:80px 60px;max-width:1400px;margin:0 auto}.section-title{text-align:center;font-size:42px;font-weight:700;color:#1a1a1a;margin-bottom:60px}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.feature-card{background:#fff;padding:32px;border-radius:16px;border:1px solid #e5e5e5;transition:all .3s}.feature-card:hover{transform:translateY(-8px);box-shadow:0 12px 32px #0000001a;border-color:#06f}.feature-icon{font-size:48px;margin-bottom:16px}.feature-card h3{font-size:22px;font-weight:700;color:#1a1a1a;margin-bottom:12px}.feature-card p{font-size:15px;line-height:1.6;color:#666}.stats-section{padding:60px;background:#f5f7ff}.stats-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:40px}.stat-item{text-align:center}.stat-number{font-size:48px;font-weight:800;color:#06f;margin-bottom:8px}.stat-label{font-size:16px;color:#666;font-weight:500}.cta-section{padding:80px 60px;text-align:center;background:linear-gradient(135deg,#f5f7ff,#fff)}.cta-section h2{font-size:42px;font-weight:700;color:#1a1a1a;margin-bottom:16px}.cta-section p{font-size:18px;color:#666;margin-bottom:32px}.cta-note{font-size:14px;color:#999;margin-top:16px}@media(max-width:1024px){.hero-section{grid-template-columns:1fr;padding:60px 40px}.hero-image{height:300px}.section-content{grid-template-columns:1fr}.features-grid,.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.hero-section{padding:40px 24px}.hero-title{font-size:36px}.hero-buttons{flex-direction:column}.cta-primary,.cta-secondary{width:100%}.features-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr;gap:24px}.section-title{font-size:32px}.band-prediction-section{padding:60px 24px}.prediction-info h2{font-size:28px}}.lesson-plan{background:#f5f5f7;min-height:100%;padding:20px}@media(min-width:768px){.lesson-plan{padding:40px}.modules-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}}.page-title{font-size:28px;font-weight:700;color:#1a1a1a;margin-bottom:24px}.module-card{background:#fff;border-radius:16px;padding:24px;margin-bottom:16px;box-shadow:0 2px 8px #0000000d;cursor:pointer;transition:transform .2s}.module-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.module-header{display:flex;justify-content:space-between;align-items:center}.module-card h3{font-size:20px;font-weight:700;color:#1a1a1a;margin-bottom:8px}.module-subtitle{font-size:14px;color:#8e8e93;margin-bottom:12px}.resume-link{color:#06f;font-size:15px;font-weight:600;text-decoration:none}.module-icon{font-size:48px}.progress-container{display:flex;align-items:center;gap:12px;margin-top:12px}.progress-bar-small{flex:1;height:6px;background:#e5e5e5;border-radius:10px;overflow:hidden}.progress-fill-small{height:100%;background:#06f;border-radius:10px;transition:width .3s ease}.progress-text-small{font-size:14px;font-weight:600;color:#06f;min-width:40px}.mock-tests{background:#f5f5f7;min-height:100%;padding:20px}@media(min-width:768px){.mock-tests{padding:40px;max-width:800px;margin:0 auto}}.coming-soon-container{background:#fff;border-radius:16px;padding:60px 40px;text-align:center;box-shadow:0 4px 16px #00000014;margin-top:40px}.coming-soon-icon{font-size:80px;margin-bottom:24px}.coming-soon-title{font-size:36px;font-weight:700;color:#1a1a1a;margin-bottom:16px}.coming-soon-text{font-size:18px;color:#666;line-height:1.6;max-width:600px;margin:0 auto 40px}.coming-soon-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;max-width:700px;margin:0 auto}.feature-item{background:#f0f7ff;padding:16px 24px;border-radius:12px;font-size:16px;font-weight:600;color:#06f;border:2px solid #e3f2fd}@media(max-width:768px){.coming-soon-container{padding:40px 24px}.coming-soon-title{font-size:28px}.coming-soon-text{font-size:16px}.coming-soon-features{grid-template-columns:1fr}}.speak{background:#f5f5f7;min-height:100%;padding:20px}@media(min-width:768px){.speak{padding:40px;max-width:900px;margin:0 auto}}.speak-card{background:#fff;border-radius:16px;padding:24px;margin-bottom:16px;display:flex;gap:16px;position:relative;box-shadow:0 2px 8px #0000000d}.speak-card.new{background:linear-gradient(135deg,#f8f8ff,#fff)}.new-badge{position:absolute;top:16px;right:16px;background:#ffe5e5;color:#ff3b30;padding:6px 16px;border-radius:12px;font-size:12px;font-weight:700}.card-icon{font-size:48px;flex-shrink:0}.card-content{flex:1}.card-label{font-size:11px;font-weight:700;color:#8e8e93;letter-spacing:.5px;margin-bottom:8px}.speak-card h3{font-size:20px;font-weight:700;color:#1a1a1a;margin-bottom:12px}.card-link{color:#06f;font-size:14px;font-weight:600}.study-material{background:#f5f5f7;min-height:100vh;padding:40px;display:flex;flex-direction:column;align-items:center}.page-title{font-size:36px;font-weight:700;color:#1a1a1a;margin-bottom:40px;text-align:center}.coming-soon-container{background:#fff;border-radius:20px;padding:60px 40px;max-width:600px;text-align:center;box-shadow:0 4px 20px #00000014}.coming-soon-icon{font-size:80px;margin-bottom:20px}.coming-soon-title{font-size:32px;font-weight:700;color:#1a1a1a;margin-bottom:16px}.coming-soon-text{font-size:16px;color:#666;line-height:1.6;margin-bottom:40px}.coming-soon-features{display:flex;flex-direction:column;gap:16px;text-align:left}.feature-item{font-size:15px;color:#333;padding:12px 20px;background:#f8f9fa;border-radius:8px;border-left:4px solid #0066FF}@media(max-width:768px){.study-material{padding:20px}.page-title{font-size:28px}.coming-soon-container{padding:40px 24px}.coming-soon-icon{font-size:60px}.coming-soon-title{font-size:24px}}.reports-container{padding:40px;max-width:1400px;margin:0 auto}.reports-header{text-align:center;margin-bottom:40px}.reports-header h1{font-size:36px;color:#333;margin-bottom:10px}.reports-header p{color:#666;font-size:16px}.reports-login-prompt{text-align:center;padding:80px 20px}.reports-login-prompt h2{font-size:32px;color:#333;margin-bottom:16px}.reports-login-prompt p{color:#666;font-size:18px}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:40px}.summary-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease}.summary-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.card-icon{font-size:48px;margin-bottom:16px}.summary-card h3{font-size:20px;color:#333;margin-bottom:20px}.card-stats{display:flex;justify-content:space-between;margin-bottom:20px}.stat{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:24px;font-weight:700;color:#06f}.stat-label{font-size:12px;color:#999;margin-top:4px}.progress-bar{height:8px;background:#f0f0f0;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg,#06f,#0052cc);transition:width .3s ease}.progress-text{font-size:14px;color:#666}.module-filter{display:flex;gap:12px;margin-bottom:32px;flex-wrap:wrap}.filter-btn{padding:10px 20px;border:2px solid #e0e0e0;background:#fff;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.filter-btn:hover{border-color:#06f;color:#06f}.filter-btn.active{background:#06f;color:#fff;border-color:#06f}.test-results-section{background:#fff;border-radius:12px;padding:32px;box-shadow:0 2px 8px #0000001a}.test-results-section h2{font-size:24px;color:#333;margin-bottom:24px}.module-results{margin-bottom:40px}.module-results:last-child{margin-bottom:0}.module-results h3{font-size:20px;color:#333;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #f0f0f0}.results-table{display:flex;flex-direction:column;gap:8px}.table-header{display:grid;grid-template-columns:2fr 1.5fr 1fr 1.5fr 1.5fr;gap:16px;padding:12px 16px;background:#f5f5f7;border-radius:8px;font-weight:600;font-size:14px;color:#666}.table-row{display:grid;grid-template-columns:2fr 1.5fr 1fr 1.5fr 1.5fr;gap:16px;padding:16px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;align-items:center;transition:all .2s ease}.table-row:hover{border-color:#06f;box-shadow:0 2px 8px #0066ff1a}.test-name{display:flex;flex-direction:column}.test-id{font-weight:600;color:#333;font-size:14px}.score-cell{display:flex;align-items:center}.score-badge{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:600}.score-badge.good{background:#e8f5e9;color:#2e7d32}.score-badge.average{background:#fff3e0;color:#f57c00}.score-badge.poor{background:#ffebee;color:#c62828}.status-badge{padding:4px 12px;border-radius:4px;font-size:12px;font-weight:600}.status-badge.manual{background:#e3f2fd;color:#1976d2}.status-badge.auto{background:#f3e5f5;color:#7b1fa2}.no-results{text-align:center;padding:40px;color:#999;font-size:16px}@media(max-width:768px){.reports-container{padding:20px}.summary-cards{grid-template-columns:1fr}.table-header,.table-row{grid-template-columns:1fr;gap:8px}.table-header{display:none}.table-row>div:before{content:attr(data-label);font-weight:600;color:#666;display:block;margin-bottom:4px}.module-filter{flex-direction:column}.filter-btn{width:100%}}.help-container{padding:40px;max-width:1000px;margin:0 auto}.help-header{text-align:center;margin-bottom:48px}.help-header h1{font-size:36px;color:#333;margin-bottom:12px}.help-header p{font-size:16px;color:#666}.help-content{display:flex;flex-direction:column;gap:40px}.help-section{background:#fff;border-radius:12px;padding:32px;box-shadow:0 2px 8px #0000001a}.help-section h2{font-size:24px;color:#06f;margin-bottom:24px;padding-bottom:12px;border-bottom:2px solid #f0f0f0}.faq-item{margin-bottom:24px}.faq-item:last-child{margin-bottom:0}.faq-item h3{font-size:18px;color:#333;margin-bottom:8px}.faq-item p{font-size:15px;color:#666;line-height:1.6}.contact-card{background:linear-gradient(135deg,#06f,#0052cc);color:#fff;padding:32px;border-radius:12px;text-align:center}.contact-card p{font-size:18px;margin-bottom:24px;color:#fff}.contact-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin-top:24px}.contact-method{display:flex;align-items:center;gap:16px;background:#ffffff1a;padding:20px;border-radius:8px;text-align:left}.contact-icon{font-size:32px}.contact-method strong{display:block;font-size:16px;margin-bottom:4px;color:#fff}.contact-method p{font-size:14px;margin:0;color:#ffffffe6}@media(max-width:768px){.help-container,.help-section{padding:20px}.contact-methods{grid-template-columns:1fr}}.privacy-policy{background:#f5f5f7;min-height:100vh;padding:40px 20px}.privacy-container{max-width:800px;margin:0 auto;background:#fff;padding:60px;border-radius:16px;box-shadow:0 2px 12px #00000014}.privacy-container h1{font-size:36px;font-weight:700;color:#1a1a1a;margin-bottom:8px}.last-updated{color:#666;font-size:14px;margin-bottom:40px}.privacy-container section{margin-bottom:32px}.privacy-container h2{font-size:24px;font-weight:700;color:#1a1a1a;margin-bottom:16px;margin-top:32px}.privacy-container h3{font-size:18px;font-weight:600;color:#333;margin-bottom:12px;margin-top:20px}.privacy-container p{font-size:16px;line-height:1.6;color:#333;margin-bottom:16px}.privacy-container ul{margin-left:24px;margin-bottom:16px}.privacy-container li{font-size:16px;line-height:1.8;color:#333;margin-bottom:8px}.privacy-container strong{color:#06f;font-weight:600}.policy-footer{margin-top:60px;padding-top:24px;border-top:1px solid #e5e5e5;text-align:center}.policy-footer p{color:#666;font-size:14px}@media(max-width:768px){.privacy-container{padding:40px 24px}.privacy-container h1{font-size:28px}.privacy-container h2{font-size:20px}.privacy-container h3{font-size:16px}}.reading-module-wrapper{display:flex;flex-direction:column;height:100vh;background:#f5f5f7}.module-progress-bar{background:#fff;padding:16px 32px;border-bottom:1px solid #e5e5e5}.progress-info{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px;font-weight:600;color:#666}.progress-percentage{color:#06f}.progress-bar-full{height:8px;background:#e5e5e5;border-radius:10px;overflow:hidden}.progress-fill-full{height:100%;background:#06f;border-radius:10px;transition:width .3s ease}.mark-complete-btn{width:100%;background:#34c759;color:#fff;border:none;padding:14px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;margin-top:20px}.mark-complete-btn:hover{background:#2fb350}.completed-badge{text-align:center;padding:14px;background:#e8f5e9;color:#34c759;border-radius:8px;font-size:16px;font-weight:600;margin-top:20px}.lesson-tabs{display:flex;gap:16px;margin-bottom:24px;border-bottom:2px solid #e5e5e5}.tab-btn{background:none;border:none;padding:12px 24px;font-size:15px;font-weight:600;color:#666;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s}.tab-btn:hover{color:#06f}.tab-btn.active{color:#06f;border-bottom-color:#06f}.practice-section{display:flex;flex-direction:column;gap:20px}.practice-test-card{background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:24px;display:flex;align-items:center;gap:16px;position:relative;flex-wrap:nowrap}.test-icon{font-size:32px;flex-shrink:0}.test-info{flex:1;min-width:150px}.test-info h3{font-size:18px;font-weight:700;margin-bottom:4px}.test-score{font-size:14px;color:#666}.pending-badge{position:absolute;top:16px;right:16px;background:#fff3cd;color:#856404;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:700}.start-test-btn{background:#06f;color:#fff;border:none;padding:8px 20px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;flex-shrink:0;width:auto!important;max-width:150px}.start-test-btn:hover{background:#0052cc;transform:translateY(-1px)}.completed-badge-test{position:absolute;top:16px;right:16px;background:#e8f5e9;color:#34c759;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:700}.view-score-btn{background:#06f;color:#fff;border:none;padding:10px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;margin-right:8px;flex-shrink:0;margin-left:auto}.view-score-btn:hover{background:#0052cc}.reattempt-btn{background:#fff;color:#06f;border:2px solid #0066FF;padding:10px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;flex-shrink:0}.reattempt-btn:hover{background:#f0f0ff}.no-tests-message{text-align:center;padding:60px 20px;color:#666;font-size:16px}.reading-module-wrapper .top-nav{background:#fff;padding:16px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5e5e5}.reading-module-wrapper .nav-left{display:flex;align-items:center;gap:40px}.reading-module-wrapper .logo{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:700}.reading-module-wrapper .logo-icon{font-size:28px}.reading-module-wrapper .logo-text{color:#06f}.reading-module-wrapper .logo-orange{color:#ff6b35}.reading-module-wrapper .nav-links{display:flex;gap:24px}.reading-module-wrapper .nav-link{background:none;border:none;font-size:15px;font-weight:500;color:#666;cursor:pointer;padding:8px 0;position:relative}.reading-module-wrapper .nav-link.active{color:#06f}.reading-module-wrapper .nav-link.active:after{content:"";position:absolute;bottom:-17px;left:0;right:0;height:3px;background:#06f}.reading-module-wrapper .nav-right{display:flex;align-items:center;gap:16px}.reading-module-wrapper .download-btn{background:#06f;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.reading-module-wrapper .user-btn{background:none;border:none;font-size:16px;cursor:pointer;padding:8px}.reading-module-layout{display:flex;flex:1;background:#f5f5f7;overflow:hidden}.lesson-radio.completed,.lesson-radio.completed-partial{border-color:#ffc107;background:#ffc107;color:#fff}.lesson-radio.completed-full{border-color:#34c759;background:#34c759;color:#fff}@media(max-width:768px){.reading-module-layout{flex-direction:column}.sidebar{width:100%;max-height:40vh}.main-content{padding:20px}.content-header h1{font-size:24px}.video-overlay-text{bottom:20px;left:20px}.video-overlay-text h3{font-size:18px}.video-overlay-text h4{font-size:20px}.tab-btn{padding:12px 16px;font-size:14px}.practice-test-card{flex-direction:column;align-items:flex-start;padding:16px}.pending-badge,.completed-badge-test{position:static;margin-bottom:8px}.start-test-btn,.view-score-btn,.reattempt-btn{width:100%;margin-top:8px}}.diagnostic-intro{padding:40px 0}.diagnostic-card{background:linear-gradient(135deg,#06f,#0052cc);border-radius:16px;padding:48px;display:flex;align-items:center;gap:32px;color:#fff;box-shadow:0 10px 30px #667eea4d}.diagnostic-icon{font-size:64px;flex-shrink:0}.diagnostic-content h3{font-size:28px;margin:0 0 12px;color:#fff}.diagnostic-content p{font-size:16px;line-height:1.6;margin:0 0 24px;opacity:.95}.diagnostic-card .start-diagnostic-btn{background:#fff;color:#06f;padding:14px 32px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.diagnostic-card .start-diagnostic-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0003}@media(max-width:768px){.diagnostic-card{flex-direction:column;text-align:center;padding:32px 24px}}.exercise-section{background:#fff;border-radius:12px;padding:32px;margin-top:24px}.exercise-content h2{font-size:24px;margin-bottom:24px;color:#1a1a1a}.question-container{margin-bottom:32px}.question-block{background:#f9f9f9;border:1px solid #e5e5e5;border-radius:12px;padding:24px}.question-header{margin-bottom:16px}.question-label{font-size:14px;font-weight:600;color:#06f}.question-text{font-size:16px;color:#1a1a1a;margin-bottom:20px;line-height:1.6;font-weight:500}.option-label input[type=radio]{margin-top:2px;cursor:pointer;accent-color:#0066FF}.answer-content{margin-top:12px;padding:16px;background:#f0f0ff;border-radius:8px}.question-navigation{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:24px;border-top:1px solid #e5e5e5}.question-numbers{display:flex;gap:8px;flex-wrap:wrap}.question-number{width:40px;height:40px;border:2px solid #e5e5e5;background:#fff;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.question-number:hover{border-color:#06f}.question-number.active{background:#06f;color:#fff;border-color:#06f}.question-number.answered{background:#e8f5e9;border-color:#34c759}.nav-buttons{display:flex;gap:12px}.nav-btn{padding:10px 20px;background:#06f;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.nav-btn:hover:not(:disabled){background:#0052cc}.nav-btn:disabled{background:#ccc;cursor:not-allowed}@media(max-width:768px){.exercise-section{padding:20px}.question-navigation{flex-direction:column;gap:16px}.nav-buttons{width:100%}.nav-btn{flex:1}}.test-interface{display:flex;flex-direction:column;height:100vh;background:#f5f5f7}.test-header{background:#fff;padding:16px 32px;display:flex;align-items:center;gap:24px;border-bottom:1px solid #e5e5e5}.audio-player-section{background:#fff;padding:20px;margin-bottom:20px;border-radius:8px;box-shadow:0 2px 8px #0000001a;text-align:center}.audio-player{width:100%;max-width:600px;height:40px;outline:none}.audio-player::-webkit-media-controls-panel{background-color:#f5f5f7}.timer-text{font-size:14px;font-weight:600;color:#856404}.submit-btn{background:#06f;color:#fff;border:none;padding:10px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.submit-btn:hover{background:#0052cc}.test-toolbar{background:#fff;padding:12px 32px;border-bottom:1px solid #e5e5e5;display:flex;gap:12px}.tool-btn{background:#fff;border:1px solid #e5e5e5;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s}.tool-btn:hover{background:#f5f5f7;border-color:#06f}.tool-icon{font-size:16px}.highlighted-text{background:#ffeb3b;padding:2px 0}.submit-btn-bottom{background:#06f;color:#fff;border:none;padding:14px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;margin-top:32px;float:right}.submit-btn-bottom:hover{background:#0052cc}.submit-btn-nav{background:#06f;color:#fff;border:none;padding:10px 32px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;flex-shrink:0}.submit-btn-nav:hover{background:#0052cc}.note-modal-overlay{position:fixed;inset:0;background:#0000004d;z-index:1000}.note-modal{position:fixed;background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 20px #0003;width:300px;z-index:1001}.note-modal h4{font-size:16px;font-weight:700;margin-bottom:12px}.note-textarea{width:100%;min-height:100px;padding:10px;border:1px solid #e5e5e5;border-radius:6px;font-size:14px;resize:vertical;margin-bottom:12px}.note-textarea:focus{outline:none;border-color:#06f}.note-actions{display:flex;gap:8px;justify-content:flex-end}.note-cancel-btn{background:#fff;border:1px solid #e5e5e5;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}.note-save-btn{background:#06f;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}.test-content{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:24px;overflow:hidden}.passage-section{background:#fff;border-radius:12px;padding:24px;overflow-y:auto}.passage-section h3{font-size:20px;font-weight:700;margin-bottom:20px}.passage-text{font-size:15px;line-height:1.8;color:#333}.questions-section{background:#fff;border-radius:12px;padding:24px;overflow-y:auto}.question-number{font-size:16px;font-weight:700;color:#333;flex-shrink:0}.question-content{flex:1}.question-text{font-size:15px;color:#333;margin-bottom:12px;line-height:1.6}.answer-input{width:100%;padding:12px;border:1px solid #e5e5e5;border-radius:8px;font-size:15px}.answer-input:focus{outline:none;border-color:#06f}.heading-select{width:100%;padding:12px;border:1px solid #e5e5e5;border-radius:8px;font-size:15px;background:#fff;cursor:pointer}.heading-select:focus{outline:none;border-color:#06f}.radio-options{display:flex;flex-direction:column;gap:12px}.radio-label{display:flex;align-items:center;gap:12px;padding:12px 16px;border:2px solid #e5e5e5;border-radius:8px;cursor:pointer;transition:all .2s}.radio-label:hover{border-color:#06f;background:#f9f9ff}.radio-label input[type=radio]{width:20px;height:20px;cursor:pointer;accent-color:#0066FF}.radio-label input[type=radio]:checked+.radio-text{font-weight:600;color:#06f}.radio-text{font-size:15px;color:#333}.question-nav{background:#fff;padding:16px 24px;border-top:1px solid #e5e5e5;display:flex!important;flex-direction:row!important;align-items:center;justify-content:center;gap:12px;margin-top:auto}#mark-review-checkbox{width:18px;height:18px;cursor:pointer;flex-shrink:0}.nav-label{font-size:14px;font-weight:600;color:#666;cursor:pointer;white-space:nowrap;flex-shrink:0}.question-numbers{display:flex;gap:8px}.question-num-btn{width:36px;height:36px;border:2px solid #e5e5e5;background:#fff;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.question-num-btn:hover{border-color:#06f}.question-num-btn.answered{background:#e8f5e9;border-color:#34c759}.question-num-btn.marked{background:#fff3cd;border-color:#ffc107}.question-item{display:flex;gap:12px;margin-bottom:32px;padding:16px;border-radius:8px;transition:background .2s}.question-item.active-question{background:#f0f0ff;border:2px solid #0066FF}.test-content.matching-info-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:24px}.matching-info-layout .passage-section,.matching-info-layout .questions-section{background:#fff;padding:24px;border-radius:8px;overflow-y:auto;max-height:calc(100vh - 250px)}.matching-info-table{width:100%}.matching-info-table table{width:100%;border-collapse:collapse;border:1px solid #e5e5e5}.matching-info-table thead th{background:#f8f9fa;padding:12px;text-align:center;font-weight:600;border:1px solid #e5e5e5;font-size:16px}.matching-info-table thead th.question-col{width:60%;text-align:left}.matching-info-table tbody tr{border:1px solid #e5e5e5;transition:background .2s}.matching-info-table tbody tr:hover{background:#f8f9fa}.matching-info-table tbody tr.active-row{background:#e8f0fe}.matching-info-table td{padding:16px 12px;border:1px solid #e5e5e5}.matching-info-table td.question-text-col{text-align:left;font-size:14px;line-height:1.6}.matching-info-table td.question-text-col .q-num{font-weight:600;color:#06f;margin-right:8px}.matching-info-table td.radio-col{text-align:center;width:60px}.matching-info-table td.radio-col input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:#0066FF}@media(max-width:768px){.test-content,.test-content.matching-info-layout{grid-template-columns:1fr}.test-header{flex-wrap:wrap;padding:12px 16px}}.premium-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000}.premium-modal-content{background:#fff;border-radius:20px;padding:40px;max-width:500px;width:90%;position:relative;text-align:center}.premium-close-btn{position:absolute;top:16px;right:16px;background:none;border:none;font-size:32px;color:#999;cursor:pointer;line-height:1}.premium-icon{font-size:64px;margin-bottom:16px}.premium-modal-content h2{font-size:32px;font-weight:700;color:#1a1a1a;margin-bottom:8px}.premium-subtitle{font-size:16px;color:#666;margin-bottom:32px}.premium-features{text-align:left;margin-bottom:32px}.premium-feature{display:flex;align-items:center;gap:12px;padding:12px 0;font-size:15px;color:#333}.feature-icon{width:24px;height:24px;background:#34c759;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.premium-pricing{background:linear-gradient(135deg,#f0f0ff,#e8e8ff);border-radius:12px;padding:20px;margin-bottom:24px}.price-tag{display:flex;align-items:baseline;justify-content:center;gap:4px;margin-bottom:8px}.price{font-size:48px;font-weight:900;color:#06f}.period{font-size:18px;color:#666}.discount-badge{background:#34c759;color:#fff;padding:6px 16px;border-radius:20px;font-size:14px;font-weight:700;display:inline-block}.upgrade-btn{width:100%;background:#06f;color:#fff;border:none;padding:16px;border-radius:12px;font-size:18px;font-weight:700;cursor:pointer;margin-bottom:12px;transition:background .2s}.upgrade-btn:hover{background:#0052cc}.maybe-later-btn{width:100%;background:none;border:none;color:#666;font-size:14px;font-weight:600;cursor:pointer;padding:8px}.maybe-later-btn:hover{color:#333}.confirm-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirm-modal-content{background:#fff;border-radius:16px;padding:32px;max-width:400px;width:90%;text-align:center;box-shadow:0 8px 32px #0003;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.confirm-modal-icon{font-size:48px;margin-bottom:16px}.confirm-modal-title{font-size:24px;font-weight:700;color:#333;margin-bottom:12px}.confirm-modal-message{font-size:16px;color:#666;line-height:1.5;margin-bottom:24px}.confirm-modal-actions{display:flex;gap:12px;justify-content:center}.confirm-cancel-btn,.confirm-confirm-btn{padding:12px 32px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.confirm-cancel-btn{background:#f5f5f7;color:#333}.confirm-cancel-btn:hover{background:#e0e0e0}.confirm-confirm-btn{background:#06f;color:#fff}.confirm-confirm-btn:hover{background:#0052cc;transform:translateY(-1px)}.diagram-container{background:#fff;padding:30px;border-radius:8px;margin:20px 0;border:2px solid #e0e0e0}.diagram-svg{width:100%;height:auto;max-width:800px;margin:0 auto;display:block}.word-list{margin-top:30px;padding:20px;background:#f9f9f9;border-radius:8px}.word-list h4{margin:0 0 15px;font-size:16px;font-weight:700}.word-list-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.word-list-grid div{padding:8px;background:#fff;border:1px solid #ddd;border-radius:4px;font-size:14px}@media(max-width:768px){.diagram-container{padding:15px}.word-list-grid{grid-template-columns:1fr}}.diagnostic-instructions{min-height:100vh;background:linear-gradient(135deg,#06f,#0052cc);display:flex;align-items:center;justify-content:center;padding:20px}.instructions-card{background:#fff;border-radius:16px;padding:48px;max-width:600px;width:100%;box-shadow:0 20px 60px #0000004d}.instructions-card h1{font-size:28px;color:#1a1a1a;margin-bottom:16px;text-align:center}.duration-badge{display:inline-flex;align-items:center;gap:8px;background:#f0f0ff;color:#06f;padding:8px 16px;border-radius:20px;font-weight:600;margin:0 auto 32px;display:flex;justify-content:center;width:fit-content}.clock-icon{font-size:18px}.instructions-content h2{font-size:20px;color:#1a1a1a;margin:24px 0 12px}.instructions-content ul{list-style:none;padding:0;margin:0 0 24px}.instructions-content li{padding:8px 0;color:#4a4a4a;line-height:1.6}.instructions-content strong{color:#06f;font-weight:600}.start-diagnostic-btn{width:100%;padding:16px;background:#06f;color:#fff;border:none;border-radius:8px;font-size:18px;font-weight:600;cursor:pointer;transition:all .3s;margin-top:32px}.start-diagnostic-btn:hover{background:#4747dd;transform:translateY(-2px);box-shadow:0 8px 20px #0066ff4d}.diagnostic-test{position:fixed;inset:0;min-height:100vh;background:#f5f5f5;z-index:9999;overflow-y:auto}.diagnostic-header{background:#fff;padding:16px 32px;display:flex;align-items:center;gap:24px;box-shadow:0 2px 8px #0000001a;border-bottom:1px solid #e5e5e5}.exit-btn{background:none;border:none;font-size:16px;font-weight:600;color:#06f;cursor:pointer;padding:8px}.test-info h2{font-size:18px;font-weight:700;margin:0;color:#1a1a1a}.test-info p{font-size:14px;color:#666;margin:4px 0 0}.timer{margin-left:auto;display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff3cd;border-radius:8px;font-size:16px;color:#666}.diagnostic-content{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:24px;max-width:1400px;margin:0 auto}.passage-section{background:#fff;padding:32px;border-radius:12px;height:fit-content;max-height:calc(100vh - 140px);overflow-y:auto}.passage-section h3{font-size:24px;margin-bottom:24px;color:#1a1a1a}.passage-text{line-height:1.8;color:#333;white-space:pre-line}.questions-section{display:flex;flex-direction:column;gap:16px}.question-card{background:#fff;padding:32px;border-radius:12px}.question-card h3{font-size:20px;margin-bottom:16px;color:#1a1a1a}.question-text{font-size:16px;color:#333;margin-bottom:24px;line-height:1.6}.option-label{display:flex;align-items:center;gap:12px;padding:16px;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s}.option-label:hover{border-color:#06f;background:#f8f8ff}.option-label input[type=radio]{width:20px;height:20px;cursor:pointer}.option-letter{font-weight:600;color:#06f;min-width:24px}.option-text{flex:1;color:#333}.tf-options{display:flex;flex-direction:column;gap:12px}.tf-label{display:flex;align-items:center;gap:12px;padding:16px;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s}.tf-label:hover{border-color:#06f;background:#f8f8ff}.tf-label input[type=radio]{width:20px;height:20px;cursor:pointer}.question-nav{background:#fff;padding:24px;border-radius:12px;display:flex;flex-direction:column;gap:16px}.nav-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.mark-review{font-size:14px;color:#666;margin:0;flex-shrink:0}.question-numbers{display:flex;gap:8px;flex-wrap:wrap;flex:1}.q-num{width:40px;height:40px;border:2px solid #e0e0e0;background:#fff;border-radius:6px;cursor:pointer;font-weight:600;color:#666;transition:all .2s}.q-num:hover{border-color:#06f}.q-num.active{background:#06f;color:#fff;border-color:#06f}.q-num.answered{background:#e8f5e9;border-color:#4caf50;color:#2e7d32}.submit-btn-nav{width:auto;padding:14px 32px;background:#06f;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;margin-left:auto;flex-shrink:0}.submit-btn-nav:hover{background:#4747dd;transform:translateY(-1px);box-shadow:0 4px 12px #0066ff4d}.submit-summary{text-align:center}.summary-header{font-size:12px;color:#06f;font-weight:600;margin-bottom:16px;letter-spacing:1px}.summary-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f0f0f0}.submit-warning{margin-top:16px;font-size:14px;color:#666}.diagnostic-feedback{position:fixed;inset:0;min-height:100vh;background:#f5f5f5;padding:24px;z-index:9999;overflow-y:auto}.feedback-header{max-width:1400px;margin:0 auto 24px}.feedback-header h1{font-size:28px;color:#1a1a1a;margin-top:16px}.back-btn{background:none;border:none;font-size:16px;color:#666;cursor:pointer;padding:8px 0}.feedback-container{display:grid;grid-template-columns:1fr 1.5fr;gap:24px;max-width:1400px;margin:0 auto}.feedback-left{display:flex;flex-direction:column;gap:16px}.band-prediction{background:#fff;padding:32px;border-radius:12px}.band-prediction h3{font-size:18px;color:#333;margin-bottom:24px}.band-score{color:#06f;font-size:24px;font-weight:700}.band-scale{position:relative;margin-top:32px}.scale-bar{display:flex;height:12px;border-radius:6px;overflow:hidden}.scale-section{height:100%}.scale-section.red{background:linear-gradient(90deg,#ff6b6b,#ffa07a)}.scale-section.yellow{background:linear-gradient(90deg,#ffa07a,#ffd93d)}.scale-section.green{background:linear-gradient(90deg,#6bcf7f,#4caf50)}.scale-labels{display:flex;justify-content:space-between;margin-top:8px;font-size:14px;color:#666}.scale-marker{position:absolute;top:-8px;transform:translate(-50%)}.marker-line{width:2px;height:28px;background:#06f;margin:0 auto}.marker-label{display:block;text-align:center;font-weight:700;color:#06f;margin-top:4px;font-size:14px}.score-summary{background:#fff;padding:24px;border-radius:12px;display:flex;flex-direction:column;gap:16px}.score-item{display:flex;align-items:center;gap:12px}.score-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px}.score-item.correct .score-icon{background:#e8f5e9;color:#4caf50}.score-item.incorrect .score-icon{background:#ffebee;color:#f44336}.score-item.unattempted .score-icon{background:#f5f5f5;color:#999}.score-label{flex:1;color:#666}.score-value{font-weight:700;color:#1a1a1a}.feedback-right{background:#fff;padding:32px;border-radius:12px}.feedback-right h2{font-size:24px;margin-bottom:24px;color:#1a1a1a}.weakness-section{margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid #f0f0f0}.weakness-section:last-child{border-bottom:none}.weakness-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.weakness-header h3{font-size:18px;color:#1a1a1a;margin:0}.weakness-badge{background:#ffebee;color:#d32f2f;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.weakness-feedback{color:#666;line-height:1.6;margin-bottom:16px}.actionable-section{background:#f8f9fa;padding:20px;border-radius:8px}.actionable-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#1a1a1a}.bulb-icon{font-size:18px}.actionable-section li{color:#333;line-height:1.6;margin-bottom:8px}@media(max-width:768px){.diagnostic-content,.feedback-container{grid-template-columns:1fr}.instructions-card{padding:32px 24px}}.score-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.score-modal-content{background:#f5f5f7;border-radius:12px;width:90%;max-width:900px;max-height:90vh;overflow-y:auto;padding:32px;position:relative}.score-modal-close{position:absolute;top:24px;left:24px;background:none;border:none;font-size:24px;cursor:pointer;color:#333}.score-modal-title{text-align:center;font-size:24px;font-weight:700;margin-bottom:24px}.score-card{background:#fff;border-radius:12px;padding:24px;margin-bottom:24px}.score-card h3{font-size:18px;font-weight:600;margin-bottom:16px}.score-value{color:#06f;font-size:24px;font-weight:700}.score-progress-bar{width:100%;height:24px;background:#e5e5e5;border-radius:12px;overflow:hidden}.score-progress-fill{height:100%;background:linear-gradient(90deg,#ffc107,#ff9800);transition:width .5s ease}.score-breakdown{background:#fff;border-radius:12px;padding:24px;margin-bottom:24px}.breakdown-item{display:flex;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.breakdown-item:last-child{border-bottom:none}.breakdown-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;margin-right:16px}.breakdown-item.correct .breakdown-icon{background:#e8f5e9;color:#34c759}.breakdown-item.incorrect .breakdown-icon{background:#ffebee;color:#f44336}.breakdown-item.unattempted .breakdown-icon{background:#f5f5f5;color:#999}.breakdown-label{flex:1;font-size:15px;color:#333}.breakdown-value{font-size:16px;font-weight:600;color:#333}.feedback-section{background:#fff;border-radius:12px;padding:24px;margin-bottom:24px}.feedback-section h4{font-size:18px;font-weight:700;margin-bottom:16px}.feedback-content{background:#f0f7ff;border-radius:8px;padding:20px}.feedback-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.feedback-topic{font-size:16px;font-weight:600;color:#333}.feedback-badge{padding:4px 12px;border-radius:6px;font-size:12px;font-weight:700}.feedback-badge.weakness{background:#ffebee;color:#f44336}.feedback-badge.strength{background:#e8f5e9;color:#34c759}.actionable-section{margin-bottom:20px}.actionable-section h5,.recommended-section h5{font-size:14px;font-weight:700;margin-bottom:8px;color:#333}.actionable-section ul{margin:0;padding-left:20px}.actionable-section li{font-size:14px;line-height:1.6;color:#555;margin-bottom:4px}.recommended-section p{font-size:14px;color:#555;margin-bottom:12px;line-height:1.6}.video-thumbnail{background:#555;border-radius:8px;padding:40px 20px;text-align:center;color:#fff;position:relative}.play-icon{width:48px;height:48px;background:#06f;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:8px}.video-thumbnail span{display:block;font-size:14px;font-weight:600}.score-modal-actions{display:flex;gap:12px;justify-content:center}.review-btn,.retake-btn{padding:12px 32px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;border:none}.review-btn{background:#06f;color:#fff}.review-btn:hover{background:#0052cc}.retake-btn{background:#fff;color:#06f;border:2px solid #0066FF}.retake-btn:hover{background:#f0f0ff}@media(max-width:768px){.score-modal-content{width:95%;padding:20px}.score-modal-actions{flex-direction:column}.review-btn,.retake-btn{width:100%}}.writing-module-wrapper{display:flex;flex-direction:column;height:100vh;background:#f5f5f7}.writing-module-wrapper .top-nav{background:#fff;padding:16px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5e5e5}.writing-module-wrapper .nav-left{display:flex;align-items:center;gap:40px}.writing-module-wrapper .logo{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:700}.writing-module-wrapper .logo-icon{font-size:28px}.writing-module-wrapper .logo-text{color:#06f}.writing-module-wrapper .logo-orange{color:#ff6b35}.writing-module-wrapper .nav-links{display:flex;gap:24px}.writing-module-wrapper .nav-link{background:none;border:none;font-size:15px;font-weight:500;color:#666;cursor:pointer;padding:8px 0;position:relative}.writing-module-wrapper .nav-link.active{color:#06f}.writing-module-wrapper .nav-link.active:after{content:"";position:absolute;bottom:-17px;left:0;right:0;height:3px;background:#06f}.writing-module-wrapper .nav-right{display:flex;align-items:center;gap:16px}.writing-module-wrapper .download-btn{background:#06f;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.writing-module-wrapper .user-btn{background:none;border:none;font-size:16px;cursor:pointer;padding:8px}.writing-module-layout{display:flex;flex:1;background:#f5f5f7;overflow:hidden}@media(max-width:768px){.writing-module-layout{flex-direction:column}.sidebar{width:100%;max-height:40vh}.main-content{padding:20px}.content-header h1{font-size:24px}.video-overlay-text{bottom:20px;left:20px}.video-overlay-text h3{font-size:18px}.video-overlay-text h4{font-size:20px}}.lesson-tabs-stepper{display:flex;align-items:center;gap:0;margin-bottom:32px;overflow-x:auto;padding:8px 0}.step-btn{display:flex;align-items:center;gap:12px;background:#fff;border:2px solid #e5e5e5;padding:16px 20px;border-radius:8px;cursor:pointer;transition:all .3s;min-width:180px;position:relative;flex-shrink:0}.step-btn:hover{border-color:#06f;transform:translateY(-2px);box-shadow:0 4px 12px #0066ff26}.step-btn.active{background:linear-gradient(135deg,#06f,#7b7bff);border-color:#06f;color:#fff;box-shadow:0 4px 16px #0066ff4d}.step-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#f0f0f0;border-radius:50%;font-weight:700;font-size:14px;color:#666;flex-shrink:0}.step-label{font-size:14px;font-weight:600;color:#333;white-space:nowrap}.step-arrow{font-size:24px;color:#d0d0d0;margin:0 -8px;z-index:1;flex-shrink:0}@media(max-width:768px){.lesson-tabs-stepper{flex-wrap:nowrap;justify-content:flex-start}.step-btn{min-width:140px;padding:12px 16px}.step-label{font-size:12px}.step-number{width:28px;height:28px;font-size:12px}.step-arrow{font-size:20px;margin:0 -6px}}.practice-section{background:#fff;border-radius:12px;padding:24px}.question-single{margin-bottom:32px}.question-navigation{display:flex;flex-direction:column;gap:24px;padding-top:24px;border-top:2px solid #e5e5e5}.question-numbers{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.question-number{width:40px;height:40px;border:2px solid #e5e5e5;background:#fff;border-radius:8px;font-size:14px;font-weight:600;color:#666;cursor:pointer;transition:all .2s}.question-number:hover{border-color:#06f;color:#06f}.question-number.active{background:#06f;border-color:#06f;color:#fff}.question-number.answered{background:#e8f5e9;border-color:#34c759;color:#34c759}.question-number.answered.active{background:#34c759;color:#fff}.nav-buttons{display:flex;gap:16px;justify-content:center}.nav-btn{padding:12px 32px;background:#06f;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.nav-btn:hover:not(:disabled){background:#0052cc;transform:translateY(-2px)}.nav-btn:disabled{background:#e5e5e5;color:#999;cursor:not-allowed}.premium-answer-btn{width:100%;padding:16px;background:linear-gradient(135deg,gold,#ffed4e);color:#1a1a1a;border:none;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;margin-top:16px;transition:all .2s}.premium-answer-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ffd7004d}.answer-section{margin-top:20px}.show-answer-btn{width:100%;padding:14px;background:#06f;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;text-align:left;transition:all .2s}.show-answer-btn:hover{background:#0052cc}.exercise-tabs{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.exercise-tab{background:#f0f0f0;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;color:#666;cursor:pointer;transition:all .2s}.exercise-tab:hover{background:#e5e5ff;color:#06f}.exercise-tab.active{background:#06f;color:#fff}.exercise-content h3{font-size:24px;margin-bottom:8px;color:#1a1a1a}.exercise-purpose{font-size:15px;color:#666;margin-bottom:24px}.questions-list{display:flex;flex-direction:column;gap:24px}.question-card{background:#f9f9f9;border:1px solid #e5e5e5;border-radius:12px;padding:24px}.question-card h4{font-size:16px;font-weight:700;color:#06f;margin-bottom:12px}.question-prompt{font-size:16px;color:#1a1a1a;margin-bottom:20px;line-height:1.6;font-weight:500}.mcq-options{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.instruction{font-size:14px;color:#666;font-style:italic;margin-bottom:8px}.option-label{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#fff;border:2px solid #e5e5e5;border-radius:8px;cursor:pointer;transition:all .2s}.option-label:hover{border-color:#06f;background:#f0f0ff}.option-label input[type=radio],.option-label input[type=checkbox]{margin-top:2px;cursor:pointer}.option-label span{flex:1;font-size:14px;line-height:1.5}.answer-details{margin-top:16px;border-top:1px solid #e5e5e5;padding-top:16px}.answer-details summary{font-size:14px;font-weight:600;color:#06f;cursor:pointer;user-select:none}.answer-details summary:hover{text-decoration:underline}.answer-content{margin-top:12px;padding:12px;background:#f0f0ff;border-radius:8px}.answer-content p{font-size:14px;line-height:1.6;margin-bottom:8px}.answer-content p:last-child{margin-bottom:0}.answer-content strong{color:#06f}.graph-info{background:#f0f7ff;border:2px solid #0066FF;border-radius:12px;padding:20px;margin:20px 0}.graph-title{font-size:16px;font-weight:600;color:#1a1a1a;margin-bottom:12px;font-style:italic}.graph-image-container{background:#fff;border-radius:8px;padding:16px;margin:16px 0;display:flex;justify-content:center;align-items:center}.graph-image{max-width:100%;height:auto;border-radius:4px}.graph-description{font-size:14px;color:#666;line-height:1.6;padding:12px;background:#fff;border-radius:8px;margin-top:12px}.graph-description strong{color:#06f;display:block;margin-bottom:8px}.writing-task-section{margin-top:20px}.word-limit-info{font-size:14px;color:#666;margin-bottom:12px;font-weight:600}.essay-textarea{width:100%;padding:16px;border:2px solid #e5e5e5;border-radius:8px;font-size:15px;font-family:inherit;line-height:1.6;resize:vertical;transition:border-color .2s}.essay-textarea:focus{outline:none;border-color:#06f}.word-count{text-align:right;font-size:13px;color:#666;margin-top:8px;margin-bottom:16px}.submit-essay-btn{width:100%;padding:16px;background:linear-gradient(135deg,#06f,#0052cc);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #0066ff4d}.submit-essay-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #06f6}@media(max-width:768px){.exercise-tabs{flex-direction:column}.exercise-tab{width:100%}.lesson-tabs{gap:8px}.lesson-tabs .tab-btn{padding:10px 16px;font-size:14px}}.listening-test-interface{display:flex;flex-direction:column;height:100vh;background:#f5f5f7}.listening-test-header{background:#fff;padding:16px 32px;display:flex;align-items:center;gap:24px;border-bottom:1px solid #e5e5e5}.exit-btn{background:none;border:none;font-size:16px;font-weight:600;color:#06f;cursor:pointer}.test-info h2{font-size:18px;font-weight:700;margin-bottom:4px}.test-type{font-size:14px;color:#666}.timer{margin-left:auto;display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff3cd;border-radius:8px}.timer-icon{font-size:18px}.listening-test-body{display:flex;flex:1;overflow:hidden;padding:20px;justify-content:center}.listening-center-panel{max-width:900px;width:100%;display:flex;flex-direction:column;gap:20px;overflow-y:auto}.audio-section{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #00000014}.audio-player{width:100%;height:50px;outline:none}.form-section{background:#fff;padding:32px;border-radius:12px;box-shadow:0 2px 8px #00000014}.form-section h3{font-size:20px;font-weight:700;margin-bottom:16px;color:#1a1a1a;text-align:center}.instructions-text{font-size:14px;color:#666;margin-bottom:24px;padding:12px;background:#f9f9fb;border-radius:8px;text-align:center}.form-questions{display:flex;flex-direction:column;gap:20px}.form-question-item{padding:16px;border-radius:8px;background:#f9f9fb;transition:all .2s}.form-question-item.active-question{background:#e8e8ff;border:2px solid #0066FF}.question-label{display:flex;gap:8px;margin-bottom:12px;font-size:15px;color:#1a1a1a;line-height:1.6}.q-number{font-weight:700;color:#06f;flex-shrink:0}.q-text{flex:1}.form-answer-input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:15px;transition:border-color .2s}.form-answer-input:focus{outline:none;border-color:#06f}.mcq-options{display:flex;flex-direction:column;gap:12px}.mcq-option{display:flex;align-items:flex-start;gap:12px;padding:12px;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s}.mcq-option:hover{border-color:#06f;background:#f9f9fb}.mcq-option input[type=radio]{margin-top:4px;width:18px;height:18px;cursor:pointer;flex-shrink:0}.mcq-option input[type=radio]:checked+.option-text{color:#06f;font-weight:600}.option-text{flex:1;font-size:15px;color:#333;line-height:1.5}.listening-test-footer{background:#fff;padding:16px 32px;border-top:1px solid #e5e5e5;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px}.mark-review-section{display:flex;align-items:center;gap:8px;flex-shrink:0}.mark-review-section input[type=checkbox]{width:18px;height:18px;cursor:pointer}.mark-review-section label{font-size:14px;color:#666;cursor:pointer;white-space:nowrap}.question-numbers{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:nowrap}.question-num-btn{width:40px;height:40px;border:2px solid #e0e0e0;background:#fff;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;flex-shrink:0}.question-num-btn:hover{border-color:#06f;transform:translateY(-2px)}.question-num-btn.active{background:#06f;color:#fff;border-color:#06f}.question-num-btn.answered{background:#d4edda;border-color:#28a745;color:#155724}.question-num-btn.marked{background:#fff3cd;border-color:#ffc107;color:#856404}.submit-btn{background:#06f;color:#fff;border:none;padding:10px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;flex-shrink:0;white-space:nowrap;min-width:100px}.submit-btn:hover{background:#4545cc}@media(max-width:1024px){.listening-test-footer{grid-template-columns:1fr;gap:16px}.question-numbers{flex-wrap:wrap;justify-content:center}.submit-btn{width:100%}}@media(max-width:1024px){.listening-center-panel{max-width:100%}.question-numbers{flex-wrap:wrap}}.listening-module-wrapper{display:flex;flex-direction:column;height:100vh;background:#f5f5f7}.listening-module-wrapper .top-nav{background:#fff;padding:16px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5e5e5}.listening-module-wrapper .nav-left{display:flex;align-items:center;gap:40px}.listening-module-wrapper .logo{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:700}.listening-module-wrapper .logo-icon{font-size:28px}.listening-module-wrapper .logo-text{color:#06f}.listening-module-wrapper .logo-orange{color:#ff6b35}.listening-module-wrapper .nav-links{display:flex;gap:24px}.listening-module-wrapper .nav-link{background:none;border:none;font-size:15px;font-weight:500;color:#666;cursor:pointer;padding:8px 0;position:relative}.listening-module-wrapper .nav-link.active{color:#06f}.listening-module-wrapper .nav-link.active:after{content:"";position:absolute;bottom:-17px;left:0;right:0;height:3px;background:#06f}.listening-module-wrapper .nav-right{display:flex;align-items:center;gap:16px}.listening-module-wrapper .download-btn{background:#06f;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.listening-module-wrapper .user-btn{background:none;border:none;font-size:16px;cursor:pointer;padding:8px}.listening-module-layout{display:flex;flex:1;background:#f5f5f7;overflow:hidden}@media(max-width:768px){.listening-module-layout{flex-direction:column}.sidebar{width:100%;max-height:40vh}.main-content{padding:20px}.content-header h1{font-size:24px}.video-overlay-text{bottom:20px;left:20px}.video-overlay-text h3{font-size:18px}.video-overlay-text h4{font-size:20px}}.practice-tests-section{margin-top:32px}.section-title{font-size:24px;font-weight:700;color:#1a1a1a;margin-bottom:20px}.test-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.test-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;cursor:pointer;transition:all .2s}.test-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #0000001f}.test-card-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.test-icon{font-size:24px}.test-type{font-size:12px;font-weight:600;color:#06f;text-transform:uppercase;letter-spacing:.5px}.test-title{font-size:18px;font-weight:700;color:#1a1a1a;margin-bottom:12px}.test-meta{display:flex;gap:16px;font-size:14px;color:#666;margin-bottom:16px}.start-test-btn{width:100%;background:#06f;color:#fff;border:none;padding:12px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.start-test-btn:hover{background:#4545cc}.lesson-tabs-stepper{display:flex;align-items:center;gap:0;margin-bottom:32px;overflow-x:auto;padding:4px 0}.step-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 24px;background:#fff;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;transition:all .2s;min-width:140px}.step-btn:hover{border-color:#06f;transform:translateY(-2px)}.step-btn.active{background:#06f;border-color:#06f}.step-number{width:32px;height:32px;border-radius:50%;background:#e0e0e0;color:#666;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.step-btn.active .step-number{background:#fff;color:#06f}.step-label{font-size:14px;font-weight:600;color:#666}.step-btn.active .step-label{color:#fff}.step-arrow{font-size:24px;color:#e0e0e0;margin:0 8px}.speaking-module-wrapper{display:flex;flex-direction:column;height:100vh;background:#f5f5f7}.speaking-module-wrapper .top-nav{background:#fff;padding:16px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5e5e5}.speaking-module-wrapper .nav-left{display:flex;align-items:center;gap:40px}.speaking-module-wrapper .logo{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:700}.speaking-module-wrapper .logo-icon{font-size:28px}.speaking-module-wrapper .logo-text{color:#06f}.speaking-module-wrapper .logo-orange{color:#ff6b35}.speaking-module-wrapper .nav-links{display:flex;gap:24px}.speaking-module-wrapper .nav-link{background:none;border:none;font-size:15px;font-weight:500;color:#666;cursor:pointer;padding:8px 0;position:relative}.speaking-module-wrapper .nav-link.active{color:#06f}.speaking-module-wrapper .nav-link.active:after{content:"";position:absolute;bottom:-17px;left:0;right:0;height:3px;background:#06f}.speaking-module-wrapper .nav-right{display:flex;align-items:center;gap:16px}.speaking-module-wrapper .download-btn{background:#06f;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.speaking-module-wrapper .user-btn{background:none;border:none;font-size:16px;cursor:pointer;padding:8px}.speaking-module-layout{display:flex;flex:1;background:#f5f5f7;overflow:hidden}.sidebar{width:300px;background:#fff;border-right:1px solid #e5e5e5;display:flex;flex-direction:column;overflow-y:auto}.sidebar-header{padding:20px;border-bottom:1px solid #e5e5e5;display:flex;align-items:center;gap:12px}.back-btn{background:none;border:none;font-size:24px;cursor:pointer;padding:0}.sidebar-header h2{font-size:16px;font-weight:600;color:#666}.lessons-list{flex:1;padding:8px 0}.lesson-item{padding:16px 20px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:background .2s}.lesson-item:hover{background:#f5f5f7}.lesson-item.active{background:#e8e8ff;border-left:3px solid #0066FF}.lesson-radio{width:20px;height:20px;border-radius:50%;border:2px solid #ccc;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.lesson-item.active .lesson-radio{border-color:#06f;background:#06f;color:#fff}.lesson-title{font-size:14px;color:#1a1a1a;font-weight:500}.main-content{flex:1;overflow-y:auto;padding:40px}.content-header h1{font-size:32px;font-weight:700;color:#1a1a1a;margin-bottom:12px}.lesson-description{font-size:16px;color:#666;margin-bottom:32px}.video-section{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000000d}.video-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.video-info{display:flex;align-items:center;gap:8px}.video-icon{font-size:16px}.video-title{font-size:18px;font-weight:600;color:#1a1a1a}.pending-badge{background:#fff3cd;color:#856404;padding:6px 12px;border-radius:8px;font-size:12px;font-weight:700}.video-meta{font-size:14px;color:#666;margin-bottom:20px}.video-player{width:100%;aspect-ratio:16/9;background:#2b2d6e;border-radius:12px;overflow:hidden;position:relative}.video-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3d3f7f,#2b2d6e);position:relative}.play-button{width:80px;height:80px;background:#0066ffe6;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;color:#fff;cursor:pointer;transition:transform .2s;z-index:2}.play-button:hover{transform:scale(1.1)}.video-overlay-text{position:absolute;bottom:40px;left:40px;color:#fff}.video-overlay-text h3{font-size:24px;font-weight:700;margin-bottom:8px}.video-overlay-text h4{font-size:28px;font-weight:700;color:#06f}@media(max-width:768px){.speaking-module-layout{flex-direction:column}.sidebar{width:100%;max-height:40vh}.main-content{padding:20px}.content-header h1{font-size:24px}.video-overlay-text{bottom:20px;left:20px}.video-overlay-text h3{font-size:18px}.video-overlay-text h4{font-size:20px}}
