.level-test-page{min-height:100vh;background:linear-gradient(180deg,#f8fdfb,#e1f5ee);padding:6rem 1rem 2rem}.level-test-container{max-width:720px;margin:0 auto}.level-test-landing{background:#fff;border-radius:16px;padding:2.5rem 2rem;box-shadow:0 4px 24px #00000014}.landing-header{text-align:center;margin-bottom:2rem}.landing-icon{width:80px;height:80px;background:#e1f5ee;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:#1d9e75}.level-test-landing h1{font-size:1.75rem;font-weight:700;color:#1a1a1a;margin:0 0 .5rem}.landing-subtitle{font-size:1.1rem;color:#666;margin:0}.landing-stats{display:flex;justify-content:center;gap:1.5rem;padding:1rem 0;border-top:1px solid #eee;border-bottom:1px solid #eee;margin-bottom:1.5rem}.stat-item{display:flex;align-items:center;gap:.5rem;color:#444;font-size:.95rem}.stat-item svg{color:#1d9e75}.landing-section h2{font-size:1.1rem;font-weight:600;color:#1a1a1a;margin:0 0 1rem}.test-areas{list-style:none;padding:0;margin:0 0 1.5rem}.test-areas li{display:flex;align-items:flex-start;gap:.75rem;padding:.5rem 0;color:#444;font-size:.95rem;line-height:1.5}.test-areas .bullet{color:#1d9e75;font-weight:600}.landing-tip{background:#e6f1fb;border-radius:8px;padding:1rem;display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem}.landing-tip svg{color:#378add;flex-shrink:0;margin-top:2px}.landing-tip p{margin:0;font-size:.9rem;color:#333;line-height:1.5}.start-test-btn{width:100%;padding:1rem;background:#1d9e75;color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background .2s}.start-test-btn:hover{background:#178a66}.landing-note{text-align:center;color:#888;font-size:.85rem;margin:1rem 0 0}.question-card{background:#fff;border-radius:16px;box-shadow:0 4px 24px #00000014;overflow:hidden}.question-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #eee}.question-header-left{display:flex;align-items:center;gap:.75rem}.header-title{font-weight:600;color:#1a1a1a}.level-badge{padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600}.level-badge.level-a1{background:#e1f5ee;color:#1d9e75}.level-badge.level-a2{background:#e6f1fb;color:#378add}.level-badge.level-b1{background:#faeeda;color:#b87f08}.level-badge.level-b2{background:#f3e8ff;color:#7c3aed}.question-counter{font-size:.9rem;color:#666}.progress-bar-container{height:4px;background:#eee}.progress-bar-fill{height:100%;background:#1d9e75;transition:width .3s ease}.question-content{padding:1.5rem}.topic-label{display:inline-block;font-size:.8rem;color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem}.reading-passage{background:#f8f9fa;border-left:3px solid #1D9E75;padding:1rem;margin-bottom:1.25rem;border-radius:0 8px 8px 0}.reading-passage p{margin:0;font-size:.95rem;line-height:1.6;color:#444}.question-text{font-size:1.15rem;font-weight:600;color:#1a1a1a;margin:0 0 1.25rem;line-height:1.4}.options-list{display:flex;flex-direction:column;gap:.75rem}.option-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:1rem;background:#fff;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;transition:all .15s ease;text-align:left}.option-btn:hover{border-color:#1d9e75;background:#f8fdfb}.option-btn.selected{border-color:#1d9e75;background:#e1f5ee}.option-letter{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#f0f0f0;border-radius:6px;font-weight:600;font-size:.85rem;color:#666;flex-shrink:0}.option-btn.selected .option-letter{background:#1d9e75;color:#fff}.option-text{font-size:1rem;color:#333}.question-footer{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-top:1px solid #eee;background:#fafafa}.skip-btn{padding:.75rem 1.5rem;background:#fff;border:2px solid #ddd;border-radius:8px;font-size:.95rem;font-weight:500;color:#666;cursor:pointer;transition:all .15s}.skip-btn:hover{border-color:#999;color:#333}.next-btn{padding:.75rem 1.5rem;background:#1d9e75;border:none;border-radius:8px;font-size:.95rem;font-weight:600;color:#fff;cursor:pointer;transition:background .15s}.next-btn:hover:not(:disabled){background:#178a66}.next-btn:disabled{background:#ccc;cursor:not-allowed}.results-card{background:#fff;border-radius:16px;box-shadow:0 4px 24px #00000014;padding:2rem}.results-header{text-align:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #eee}.results-icon{width:72px;height:72px;background:linear-gradient(135deg,#1d9e75,#15c997);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:#fff}.results-card h1{font-size:1.25rem;font-weight:600;color:#666;margin:0 0 .75rem}.result-level-badge{display:inline-block;padding:.5rem 1.5rem;border-radius:30px;font-size:1.75rem;font-weight:700;margin-bottom:1rem}.result-level-badge.level-a1{background:#e1f5ee;color:#1d9e75}.result-level-badge.level-a2{background:#e6f1fb;color:#378add}.result-level-badge.level-b1{background:#faeeda;color:#b87f08}.result-level-badge.level-b2{background:#f3e8ff;color:#7c3aed}.results-summary{color:#666;font-size:.95rem;margin:0}.results-section{margin-bottom:1.5rem}.results-section h2{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:#1a1a1a;margin:0 0 1rem}.results-section h2 svg{color:#1d9e75}.skill-bars{display:flex;flex-direction:column;gap:.75rem}.skill-row{display:flex;align-items:center;gap:.75rem}.skill-label{width:80px;font-size:.9rem;color:#444}.skill-bar-container{flex:1;height:10px;background:#eee;border-radius:5px;overflow:hidden}.skill-bar-fill{height:100%;border-radius:5px;transition:width .5s ease}.skill-bar-fill.good{background:#1d9e75}.skill-bar-fill.medium{background:#ef9f27}.skill-bar-fill.weak{background:#ef4444}.skill-percentage{width:40px;text-align:right;font-size:.9rem;font-weight:600;color:#333}.weak-topics{display:flex;flex-wrap:wrap;gap:.5rem}.weak-topic-tag{display:inline-block;padding:.5rem 1rem;background:#faeeda;color:#b87f08;border-radius:20px;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .15s}.weak-topic-tag:hover{background:#f5e0c3;transform:translateY(-1px)}.recommendation-cards{display:flex;flex-direction:column;gap:.75rem}.recommendation-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8fdfb;border:1px solid #e1f5ee;border-radius:10px;text-decoration:none;transition:all .15s}.recommendation-card:hover{background:#e1f5ee;border-color:#1d9e75}.rec-icon{font-size:1.5rem}.rec-content h3{font-size:.95rem;font-weight:600;color:#1a1a1a;margin:0 0 .25rem}.rec-content p{font-size:.85rem;color:#666;margin:0}.results-actions{display:flex;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #eee}.retake-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.25rem;background:#fff;border:2px solid #ddd;border-radius:8px;font-size:.95rem;font-weight:500;color:#666;cursor:pointer;transition:all .15s}.retake-btn:hover{border-color:#1d9e75;color:#1d9e75}.start-learning-btn{flex:1;display:flex;align-items:center;justify-content:center;padding:.875rem 1.25rem;background:#1d9e75;border:none;border-radius:8px;font-size:.95rem;font-weight:600;color:#fff;text-decoration:none;transition:background .15s}.start-learning-btn:hover{background:#178a66}.listening-intro{padding:2rem}.listening-intro-header{text-align:center;margin-bottom:1.5rem}.listening-icon{width:72px;height:72px;background:#e1f5ee;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:#1d9e75}.listening-intro-header h2{font-size:1.5rem;margin:0 0 .75rem;color:#1a1a1a}.listening-info{display:flex;justify-content:center;gap:2rem;padding:1rem 0;border-top:1px solid #eee;border-bottom:1px solid #eee;margin-bottom:1.5rem}.info-item{display:flex;align-items:center;gap:.5rem;color:#666}.info-item svg{color:#1d9e75}.listening-instructions{margin-bottom:1.5rem}.listening-instructions h3{font-size:1rem;margin:0 0 .75rem;color:#1a1a1a}.listening-instructions ul{margin:0;padding-left:1.25rem;color:#555}.listening-instructions li{margin-bottom:.5rem;line-height:1.5}.listening-actions{display:flex;gap:1rem;padding-top:1rem}.listening-actions .start-test-btn{flex:1}.listening-error{text-align:center;color:#666;padding:1rem 0}.listening-player{padding:1.5rem;background:#f8fdfb;border-radius:12px;margin:1rem 1.5rem}.audio-controls{display:flex;align-items:center;gap:1rem}.play-button{width:48px;height:48px;border-radius:50%;background:#1d9e75;color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s;flex-shrink:0}.play-button:hover:not(.disabled){background:#178a66}.play-button.disabled{background:#ccc;cursor:not-allowed}.audio-progress-container{flex:1}.audio-progress-bar{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.audio-progress-fill{height:100%;background:#1d9e75;transition:width .1s linear}.play-count{font-size:.85rem;color:#666;white-space:nowrap}.exercise-title{text-align:center;color:#666;font-size:.9rem;margin:1rem 0 0}.listening-questions{padding:1.5rem}.listening-questions h3{font-size:1rem;margin:0 0 1rem;color:#1a1a1a}.listening-question{margin-bottom:1.5rem}.listening-question:last-child{margin-bottom:0}.listening-question .question-text{font-weight:600;margin:0 0 .75rem;color:#1a1a1a}.listening-question .options-list{gap:.5rem}.listening-question .option-btn{padding:.75rem 1rem}.listening-levels-preview{display:flex;justify-content:center;gap:1rem;padding:1rem 0;margin-bottom:1rem}.level-preview-item{display:flex;align-items:center;gap:.5rem}.level-number{width:24px;height:24px;background:#f0f0f0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;color:#666}.listening-subtitle{color:#666;margin:.5rem 0 0;font-size:.95rem}@keyframes lt-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:lt-spin 1s linear infinite}.speaking-intro{padding:2rem}.speaking-intro-header{text-align:center;margin-bottom:1.5rem}.speaking-icon{width:72px;height:72px;background:#e1f5ee;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:#1d9e75}.speaking-intro-header h2{font-size:1.5rem;margin:0 0 .75rem;color:#1a1a1a}.speaking-info{display:flex;justify-content:center;gap:2rem;padding:1rem 0;border-top:1px solid #eee;border-bottom:1px solid #eee;margin-bottom:1.5rem}.speaking-instructions{margin-bottom:1.5rem}.speaking-instructions h3{font-size:1rem;margin:0 0 .75rem;color:#1a1a1a}.speaking-instructions ul{margin:0;padding-left:1.25rem;color:#555}.speaking-instructions li{margin-bottom:.5rem;line-height:1.5}.adaptive-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;background:linear-gradient(135deg,#e1f5ee,#e6f1fb,#f3e8ff);border-radius:20px;font-size:.85rem;font-weight:600;color:#555}.adaptive-badge.small{padding:.25rem .6rem;font-size:.75rem}.adaptive-badge svg{color:#7c3aed}.speaking-tip{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f0fdf4;border-radius:8px;margin-bottom:1rem;font-size:.9rem;color:#166534}.speaking-tip svg{flex-shrink:0;color:#1d9e75}.speaking-login-notice{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:#fef3cd;border-radius:8px;color:#856404;margin-bottom:1rem;font-size:.9rem}.speaking-actions{display:flex;gap:1rem;padding-top:1rem}.speaking-actions .start-test-btn{flex:1}.speaking-actions .start-test-btn:disabled{background:#ccc;cursor:not-allowed}.speaking-active{min-height:500px;display:flex;flex-direction:column}.timer{font-size:1.1rem;font-weight:600;color:#1d9e75}.timer.timer-warning{color:#ef4444}.speaking-avatar-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.speaking-avatar{width:120px;height:120px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;color:#666;transition:all .3s ease;margin-bottom:1rem}.speaking-avatar.user-speaking{background:#e1f5ee;color:#1d9e75;box-shadow:0 0 0 8px #1d9e7533}.speaking-avatar.ai-speaking{background:#e6f1fb;color:#378add;box-shadow:0 0 0 8px #378add33}.speaking-status{font-size:1rem;color:#666;margin:0}.speaking-transcript{padding:1rem 1.5rem;max-height:150px;overflow-y:auto;border-top:1px solid #eee}.transcript-message{margin-bottom:.75rem;font-size:.9rem;line-height:1.4}.transcript-message.user .transcript-role{color:#1d9e75}.transcript-message.assistant .transcript-role{color:#378add}.transcript-role{font-weight:600;margin-right:.5rem}.transcript-text{color:#444}.transcript-empty{text-align:center;color:#999;font-style:italic;margin:0}.speaking-footer{padding:1rem 1.5rem;border-top:1px solid #eee;background:#fafafa}.end-call-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:#ef4444;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s}.end-call-btn:hover{background:#dc2626}.section-summary{display:flex;flex-direction:column;gap:.75rem}.section-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#f8f9fa;border-radius:8px}.section-item.skipped{opacity:.6}.section-icon-wrapper{width:40px;height:40px;border-radius:50%;background:#e1f5ee;display:flex;align-items:center;justify-content:center;color:#1d9e75}.section-item.skipped .section-icon-wrapper{background:#eee;color:#999}.section-info{flex:1;display:flex;flex-direction:column}.section-name{font-weight:600;color:#1a1a1a}.section-detail{font-size:.85rem;color:#666}.section-status .status-completed{color:#1d9e75}.section-status .status-skipped{color:#999}.single-score-display{display:flex;align-items:center;gap:1.5rem;padding:1rem 0}.score-circle{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;flex-shrink:0}.score-circle.large{width:100px;height:100px;font-size:2rem}.score-circle.good{background:#e1f5ee;color:#1d9e75}.score-circle.medium{background:#faeeda;color:#b87f08}.score-circle.weak{background:#fee2e2;color:#ef4444}.score-description{flex:1;margin:0;color:#555;line-height:1.5}.score-label{font-size:.9rem;color:#666}.speaking-scores{display:flex;flex-direction:column;gap:1.5rem}.speaking-total{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding-bottom:1rem;border-bottom:1px solid #eee}.speaking-breakdown{display:flex;flex-direction:column;gap:.75rem}.speaking-score-row{display:flex;align-items:center;gap:.75rem}.speaking-score-label{width:100px;font-size:.9rem;color:#444}.speaking-score-bar{flex:1;height:8px;background:#eee;border-radius:4px;overflow:hidden}.speaking-score-fill{height:100%;border-radius:4px;transition:width .5s ease}.speaking-score-fill.good{background:#1d9e75}.speaking-score-fill.medium{background:#ef9f27}.speaking-score-fill.weak{background:#ef4444}.speaking-score-value{width:50px;text-align:right;font-size:.9rem;font-weight:600;color:#333}.speaking-feedback{padding:1rem;background:#f8f9fa;border-radius:8px;margin-top:.5rem}.speaking-feedback p{margin:0;color:#555;line-height:1.6;font-size:.95rem}.level-test-landing.enhanced{padding:2.5rem 2rem;max-width:680px;margin:0 auto}.landing-hero{text-align:center;margin-bottom:2rem}.hero-badge{display:inline-block;padding:.35rem 1rem;background:linear-gradient(135deg,#e1f5ee,#e6f1fb);color:#1d9e75;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem}.landing-hero h1{font-size:2rem;font-weight:800;color:#1a1a1a;margin:0 0 .75rem;line-height:1.2}.hero-subtitle{font-size:1.05rem;color:#555;margin:0 auto;line-height:1.6;max-width:480px}.landing-stats.enhanced{display:flex;justify-content:center;align-items:center;gap:1.5rem;padding:1.25rem;background:#f8fdfb;border-radius:12px;margin-bottom:2rem;border:none}.landing-stats.enhanced .stat-item{display:flex;align-items:center;gap:.75rem}.landing-stats.enhanced .stat-icon{width:40px;height:40px;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#1d9e75;box-shadow:0 2px 8px #1d9e7526}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:1.1rem;font-weight:700;color:#1a1a1a;line-height:1.2}.stat-label{font-size:.75rem;color:#888;text-transform:uppercase;letter-spacing:.3px}.stat-divider{width:1px;height:36px;background:#ddd}.test-structure{margin-bottom:2rem}.test-structure h2{font-size:1.1rem;font-weight:600;color:#1a1a1a;margin:0 0 1.25rem;text-align:center}.structure-steps{display:flex;flex-direction:column;gap:.5rem}.structure-step{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border:1px solid #eee;border-radius:12px;transition:all .2s ease}.structure-step:hover{border-color:#1d9e75;box-shadow:0 4px 12px #1d9e751a}.step-number{width:28px;height:28px;background:#f0f0f0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:#666;flex-shrink:0}.step-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.step-icon.written{background:#e1f5ee;color:#1d9e75}.step-icon.listening{background:#e6f1fb;color:#378add}.step-icon.speaking{background:#f3e8ff;color:#7c3aed}.step-content{flex:1;min-width:0}.step-content h3{font-size:1rem;font-weight:600;color:#1a1a1a;margin:0 0 .25rem}.step-content p{font-size:.85rem;color:#666;margin:0;line-height:1.4}.step-time{font-size:.8rem;color:#888;background:#f5f5f5;padding:.35rem .75rem;border-radius:20px;white-space:nowrap;flex-shrink:0}.what-you-get{margin-bottom:1.5rem}.what-you-get h2{font-size:1.1rem;font-weight:600;color:#1a1a1a;margin:0 0 1rem;text-align:center}.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.benefit-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem .75rem;background:#fafafa;border-radius:10px}.benefit-icon{width:40px;height:40px;background:#e1f5ee;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#1d9e75;margin-bottom:.75rem}.benefit-text{display:flex;flex-direction:column;gap:.25rem}.benefit-text strong{font-size:.9rem;color:#1a1a1a}.benefit-text span{font-size:.75rem;color:#888}.landing-tip.enhanced{background:linear-gradient(135deg,#fffbeb,#fef3cd);border-left:3px solid #f59e0b;padding:1rem 1.25rem;gap:1rem;align-items:flex-start}.landing-tip.enhanced svg{color:#f59e0b;margin-top:2px}.landing-tip.enhanced div{font-size:.9rem;color:#92400e;line-height:1.5}.landing-tip.enhanced strong{color:#78350f}.cta-section{text-align:center;padding-top:.5rem}.start-test-btn.enhanced{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2.5rem;font-size:1.1rem;background:linear-gradient(135deg,#1d9e75,#15b77e);box-shadow:0 4px 14px #1d9e7559;transition:all .2s ease}.start-test-btn.enhanced:hover{transform:translateY(-2px);box-shadow:0 6px 20px #1d9e7566;background:linear-gradient(135deg,#178a66,#1d9e75)}.cta-note{font-size:.85rem;color:#888;margin:1rem 0 0}@media (max-width: 480px){.level-test-landing{padding:1.5rem 1rem}.landing-stats{flex-direction:column;gap:.75rem;align-items:center}.level-test-landing h1{font-size:1.5rem}.question-header{flex-direction:column;gap:.5rem;align-items:flex-start}.question-content{padding:1rem}.question-text{font-size:1.05rem}.option-btn{padding:.875rem}.question-footer{padding:1rem}.results-card{padding:1.5rem 1rem}.result-level-badge{font-size:1.5rem}.results-actions{flex-direction:column}.retake-btn{width:100%}.listening-info{flex-direction:column;gap:.75rem;align-items:center}.listening-actions{flex-direction:column}.audio-controls{flex-wrap:wrap}.play-count{width:100%;text-align:center;margin-top:.5rem}.speaking-info{flex-direction:column;gap:.75rem;align-items:center}.speaking-actions{flex-direction:column}.speaking-avatar{width:100px;height:100px}.single-score-display{flex-direction:column;text-align:center}.speaking-score-label{width:80px;font-size:.8rem}.speaking-score-value{width:45px}}@media (max-width: 600px){.level-test-landing.enhanced{padding:1.5rem 1rem}.landing-hero h1{font-size:1.6rem}.hero-subtitle{font-size:.95rem}.landing-stats.enhanced{flex-direction:column;gap:1rem;padding:1rem}.stat-divider{width:60%;height:1px}.structure-step{flex-wrap:wrap;gap:.75rem}.step-content{flex:1 1 calc(100% - 90px)}.step-time{margin-left:auto}.benefits-grid{grid-template-columns:1fr;gap:.75rem}.benefit-item{flex-direction:row;text-align:left;gap:1rem}.benefit-icon{margin-bottom:0}.benefit-text{align-items:flex-start}}
