*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #2563eb;--primary-dark: #1d4ed8;--secondary-color: #64748b;--success-color: #22c55e;--warning-color: #f59e0b;--error-color: #ef4444;--background: #f8fafc;--surface: #ffffff;--text-primary: #1e293b;--text-secondary: #64748b;--border-color: #e2e8f0;--shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--background);color:var(--text-primary);line-height:1.6}.layout{min-height:100vh;display:flex;flex-direction:column}.navbar{background:var(--surface);border-bottom:1px solid var(--border-color);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow)}.navbar-brand{display:flex;flex-direction:column;text-decoration:none;line-height:1.2}.navbar-brand .brand-name{font-size:1.25rem;font-weight:700;color:var(--primary-color)}.navbar-brand .brand-tagline{font-size:.65rem;font-weight:500;color:var(--text-secondary);letter-spacing:.5px}.navbar-toggler{display:none;background:none;border:1px solid var(--border-color);border-radius:6px;padding:.5rem .75rem;cursor:pointer;align-items:center;justify-content:center}.navbar-toggler-icon{display:block;width:1.25rem;height:2px;background:var(--text-primary);position:relative}.navbar-toggler-icon:before,.navbar-toggler-icon:after{content:"";position:absolute;left:0;width:1.25rem;height:2px;background:var(--text-primary)}.navbar-toggler-icon:before{top:-6px}.navbar-toggler-icon:after{top:6px}.navbar-nav{display:flex;gap:1.5rem;align-items:center}.nav-user-email{color:var(--text-secondary);font-size:.9rem}.nav-logout{padding:.5rem 1rem}.nav-link{color:var(--text-secondary);text-decoration:none;font-weight:500;transition:color .2s}.nav-link:hover,.nav-link.active{color:var(--primary-color)}.main-content{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.card{background:var(--surface);border-radius:12px;box-shadow:var(--shadow);padding:1.5rem;margin-bottom:1.5rem}.card-header{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s;border:none;text-decoration:none;gap:.5rem}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--secondary-color);color:#fff}.btn-secondary:hover{background:#475569}.btn-outline{background:transparent;border:2px solid var(--primary-color);color:var(--primary-color)}.btn-outline:hover{background:var(--primary-color);color:#fff}.btn-ghost{background:transparent;color:var(--text-secondary, #6b7280)}.btn-ghost:hover{background:#0000000d;color:var(--text-primary)}.btn-success{background:var(--success-color);color:#fff}.btn-danger{background:var(--error-color);color:#fff}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-lg{padding:1rem 2rem;font-size:1.125rem}.btn-block{width:100%}.form-group{margin-bottom:1.25rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.form-hint{margin-top:.35rem;font-size:.875rem;color:var(--text-secondary, #6b7280)}.form-input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.form-select{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;background:#fff;cursor:pointer}.form-textarea{width:100%;padding:1rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;resize:vertical;min-height:200px;font-family:inherit;line-height:1.6}.form-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2)}.auth-card{background:var(--surface);border-radius:16px;padding:2.5rem;width:100%;max-width:420px;box-shadow:var(--shadow-lg)}.auth-title{font-size:1.75rem;font-weight:700;text-align:center;margin-bottom:.5rem;color:var(--text-primary)}.auth-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:2rem}.auth-footer{text-align:center;margin-top:1.5rem;color:var(--text-secondary)}.auth-footer a{color:var(--primary-color);text-decoration:none;font-weight:500}.dashboard{padding:2rem;max-width:1200px;margin:0 auto}.dashboard-header{text-align:center;margin-bottom:2.5rem;padding:1rem 0}.dashboard-header h1{font-size:1.75rem;font-weight:700;margin-bottom:.35rem}.dashboard-header p{color:var(--text-secondary);font-size:1rem}.modules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:3rem}.module-card{background:var(--surface);border:1px solid var(--border-color);border-radius:12px;padding:2rem;box-shadow:var(--shadow);position:relative;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;flex-direction:column}.module-card:hover:not(.coming-soon){transform:translateY(-4px);box-shadow:var(--shadow-lg)}.module-card.coming-soon{opacity:.7;background:linear-gradient(135deg,var(--surface) 0%,#f3f4f6 100%)}.coming-soon-badge{position:absolute;top:1rem;right:1rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.module-icon{font-size:3rem;margin-bottom:1rem}.module-card h2{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.module-description{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin-bottom:1rem}.module-features{list-style:none;padding:0;margin:0 0 1.5rem;flex-grow:1}.module-features li{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;font-size:.9rem;color:var(--text-secondary)}.module-features li:before{content:"✓";color:var(--primary);font-weight:700}.module-card.coming-soon .module-features li:before{color:#9ca3af}.btn-block{width:100%;text-align:center}.dashboard-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.info-card{background:var(--surface);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow)}.info-card h3{font-size:1.1rem;margin-bottom:.5rem}.info-card p{color:var(--text-secondary);font-size:.95rem;margin-bottom:1rem}.writing-home,.skill-home{max-width:680px;margin:0 auto;text-align:center}.writing-home h1,.skill-home h1{font-size:1.75rem;font-weight:700;margin-bottom:.5rem;color:var(--text-primary)}.writing-home>p,.skill-home>p{color:var(--text-secondary);margin-bottom:2rem;font-size:1rem}.question-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.question-type-card{background:var(--surface);border:2px solid var(--border-color);border-radius:12px;padding:2rem;cursor:pointer;transition:all .2s}.question-type-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.question-type-card.selected{border-color:var(--primary-color);background:#2563eb0d}.question-type-card h3{font-size:1.25rem;margin-bottom:.5rem}.question-type-card p{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.question-type-card .time-info{display:inline-block;background:var(--background);padding:.25rem .75rem;border-radius:20px;font-size:.85rem;color:var(--text-secondary)}.question-type-card .price-tag{display:inline-block;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;padding:.35rem .85rem;border-radius:20px;font-size:.9rem;font-weight:600}.payment-cta{margin-top:2rem;text-align:center}.payment-info{margin-top:1rem}.payment-info p{display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--text-secondary);font-size:.85rem}.secure-badge{display:inline-flex;align-items:center;gap:.25rem;color:var(--success-color);font-weight:500}.skill-home-footer{margin-top:2rem}.skill-home-note{margin-top:2rem;color:var(--text-secondary);font-size:.9rem;text-align:left;max-width:600px;margin-left:auto;margin-right:auto}.skill-home-note p{margin:0}.timer{font-size:1.5rem;font-weight:700;padding:.5rem 1rem;background:var(--surface);border-radius:8px;box-shadow:var(--shadow)}.timer.warning{color:var(--warning-color)}.timer.danger{color:var(--error-color);animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.test-page{max-width:720px;margin:0 auto;padding:0 1rem 2rem}.test-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1.25rem 1.5rem;background:var(--surface);border-radius:12px;box-shadow:var(--shadow);border:1px solid var(--border-color)}.test-progress{display:flex;align-items:center;gap:1rem}.test-progress span{font-weight:600;color:var(--text-primary);font-size:.95rem}.progress-bar{width:220px;height:10px;background:var(--border-color);border-radius:6px;overflow:hidden}.timer{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--primary-color);padding:.35rem .75rem;background:#2563eb1a;border-radius:8px}.progress-fill{height:100%;background:var(--primary-color);transition:width .3s ease}.test-card{padding:2rem;border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow)}.test-nav{margin-top:1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.test-card-title{font-size:1.25rem;margin-bottom:1rem;color:var(--text-primary)}.test-prompt{font-size:1.1rem;line-height:1.7;margin-bottom:1.5rem}.recording-section{margin-top:1.5rem}.recording-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--error-color);margin-right:8px;animation:pulse 1.2s ease-in-out infinite}.btn-record{min-width:140px}.recording-hint{margin-top:.75rem;font-size:.9rem;color:var(--text-secondary)}.recording-saved{margin-top:.75rem;color:var(--success-color);font-weight:500}.live-transcript{margin-top:1rem;padding:1rem;background:#2563eb0f;border:1px solid rgba(37,99,235,.2);border-radius:8px}.live-transcript-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--primary-color)}.live-transcript-text{margin:.5rem 0 0;font-size:1rem;line-height:1.6;min-height:1.5em}.conversation-box{margin-bottom:1rem;padding:1.25rem;background:#0000000a;border-radius:10px;border-left:4px solid var(--primary-color)}.conversation-box h4{margin-top:0;margin-bottom:.5rem;font-size:.9rem;color:var(--text-secondary)}.conversation-box p{margin:0;white-space:pre-wrap;font-size:.95rem}.conversation-qa-flow{margin-top:.5rem}.test-instruction{font-size:.95rem;color:var(--text-secondary);margin-bottom:1.5rem;padding:.75rem 1rem;background:#2563eb14;border-radius:8px;border-left:4px solid var(--primary-color)}.audio-steps{display:flex;flex-direction:column;gap:1.25rem}.audio-step{display:flex;align-items:flex-start;gap:1rem}.audio-step-num{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:50%;background:var(--primary-color);color:#fff;font-weight:700;font-size:.9rem}.audio-step strong{display:block;margin-bottom:.5rem;font-size:.95rem}.audio-mcq-flow .question-text{font-weight:500;color:var(--text-primary)}.options-list-mcq{list-style:none;padding:0;margin:0}.options-list-mcq li{margin-bottom:.5rem}.option-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.6rem .75rem;border-radius:8px;border:1px solid var(--border-color);transition:border-color .2s,background .2s}.option-label:hover{border-color:var(--primary-color);background:#2563eb0a}.option-label input[type=radio]{flex-shrink:0}.btn-play-audio{margin-right:.5rem}.conversation-transcript-toggle{margin-top:1.5rem;padding:.75rem;background:var(--background);border-radius:8px;border:1px solid var(--border-color)}.conversation-transcript-toggle summary{cursor:pointer;font-weight:600;color:var(--text-secondary)}.conversation-transcript-toggle .conversation-box{margin-top:.75rem}.practice-gate{margin-top:1rem}.practice-gate-options{display:flex;flex-direction:column;gap:1rem}.practice-gate-primary .btn{margin-bottom:.25rem}.practice-gate-hint{font-size:.85rem;color:var(--text-secondary);margin:.25rem 0 0}.practice-gate-divider{text-align:center;color:var(--text-secondary);font-size:.9rem}.subscribe-card{background:linear-gradient(135deg,var(--primary-color) 0%,color-mix(in srgb,var(--primary-color) 80%,#1a1a2e) 100%);color:#fff;padding:1.5rem 2rem;border-radius:12px;margin-bottom:2rem}.subscribe-card h3{margin:0 0 .5rem;font-size:1.25rem}.subscribe-card p{margin:0 0 1rem;opacity:.95;font-size:.95rem}.subscribe-card .btn{background:#fff;color:var(--primary-color)}.subscribe-card .btn:hover{background:#f0f0f0}.subscribe-hint{margin:.75rem 0 0!important;font-size:.8rem!important;opacity:.9}.question-container{margin-bottom:2rem}.question-title{font-size:1.125rem;font-weight:600;margin-bottom:1rem}.question-text{font-size:1.1rem;line-height:1.8;margin-bottom:1.5rem}.blank-input{display:inline-block;min-width:120px;padding:.25rem .5rem;border:2px solid var(--primary-color);border-radius:4px;text-align:center;font-weight:500}.options-list{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.option-btn{padding:.5rem 1rem;border:2px solid var(--border-color);border-radius:8px;background:var(--surface);cursor:pointer;transition:all .2s}.option-btn:hover{border-color:var(--primary-color)}.option-btn.selected{border-color:var(--primary-color);background:var(--primary-color);color:#fff}.sentence-list{display:flex;flex-direction:column;gap:.75rem}.sentence-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--surface);border:1px solid var(--border-color);border-radius:8px}.sentence-number{font-weight:700;color:var(--primary-color);min-width:30px}.sentence-text{flex:1}.sentence-controls{display:flex;flex-direction:column;gap:.25rem}.move-btn{padding:.25rem .5rem;border:none;background:var(--background);border-radius:4px;cursor:pointer;font-size:.9rem}.move-btn:hover{background:var(--border-color)}.move-btn:disabled{opacity:.3;cursor:not-allowed}.word-count{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;font-size:.9rem;color:var(--text-secondary)}.word-count.warning{color:var(--warning-color)}.word-count.error{color:var(--error-color)}.word-count.success{color:var(--success-color)}.result-header{text-align:center;margin-bottom:2rem}.score-display{font-size:4rem;font-weight:700;color:var(--primary-color)}.band-score{font-size:2rem;color:var(--text-secondary)}.score-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.score-item{background:var(--surface);padding:1.5rem;border-radius:12px;text-align:center;box-shadow:var(--shadow)}.score-item .label{font-size:.9rem;color:var(--text-secondary);margin-bottom:.5rem}.score-item .value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.feedback-panel{background:var(--surface);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow)}.feedback-panel h3{font-size:1.25rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.feedback-list{list-style:none}.feedback-list li{padding:.5rem 0 .5rem 1.5rem;position:relative}.feedback-list li:before{content:"•";position:absolute;left:0;color:var(--primary-color);font-weight:700}.strengths li:before{color:var(--success-color)}.weaknesses li:before{color:var(--error-color)}.sentence-fix{padding:1rem;background:var(--background);border-radius:8px;margin-bottom:1rem}.sentence-fix .original{color:var(--error-color);text-decoration:line-through;margin-bottom:.5rem}.sentence-fix .improved{color:var(--success-color);margin-bottom:.5rem}.sentence-fix .reason{font-size:.9rem;color:var(--text-secondary);font-style:italic}.vocab-table{width:100%;border-collapse:collapse}.vocab-table th,.vocab-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border-color)}.vocab-table th{font-weight:600;color:var(--text-secondary);font-size:.9rem}.history-page{max-width:720px;margin:0 auto;padding:1.5rem 1rem 3rem}.history-header{margin-bottom:2rem}.history-header-top{margin-bottom:1rem}.history-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem}.history-subtitle{color:var(--text-secondary);font-size:.95rem;margin:0}.btn-back{font-size:.9rem}.history-empty{text-align:center;padding:3rem 2rem}.history-empty h3{margin:0 0 .5rem;font-size:1.25rem}.history-empty p{color:var(--text-secondary);margin-bottom:1.5rem}.history-list{display:flex;flex-direction:column;gap:.75rem}.history-item{display:flex;justify-content:space-between;align-items:center;background:var(--surface);padding:1.25rem 1.5rem;border-radius:12px;border:1px solid var(--border-color);transition:border-color .2s,box-shadow .2s}.history-item-clickable{cursor:pointer}.history-item-clickable:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #2563eb1f}.history-info{min-width:0}.history-info h4{font-size:1.05rem;font-weight:600;margin:0 0 .35rem;color:var(--text-primary)}.history-meta,.history-info p{color:var(--text-secondary);font-size:.875rem;margin:0}.history-meta .history-submitted{margin-left:.75rem}.history-score{text-align:right;flex-shrink:0;margin-left:1rem}.history-score-value{font-size:1.5rem;font-weight:700;color:var(--primary-color);line-height:1.2}.history-score-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-top:.15rem}.history-score .score{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.history-score .status{font-size:.85rem;color:var(--text-secondary)}.badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.badge-success{background:#22c55e1a;color:var(--success-color)}.badge-warning{background:#f59e0b1a;color:var(--warning-color)}.badge-error{background:#ef44441a;color:var(--error-color)}.alert{padding:1rem 1.5rem;border-radius:8px;margin-bottom:1rem}.alert-error{background:#ef44441a;color:var(--error-color);border:1px solid rgba(239,68,68,.2)}.alert-success{background:#22c55e1a;color:var(--success-color);border:1px solid rgba(34,197,94,.2)}.alert-warning{background:#f59e0b1a;color:var(--warning-color);border:1px solid rgba(245,158,11,.2)}.loading{display:flex;align-items:center;justify-content:center;padding:3rem}.spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.navbar{padding:1rem;flex-wrap:wrap;position:relative}.navbar-toggler{display:flex}.navbar-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;align-items:stretch;background:var(--surface);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow);padding:1rem 0;z-index:100}.navbar-nav.open{display:flex}.navbar-nav .nav-link{padding:.75rem 1.5rem;border-bottom:1px solid var(--border-color)}.navbar-nav .nav-link:last-of-type{border-bottom:none}.navbar-nav .nav-user-email{padding:.75rem 1.5rem;border-bottom:1px solid var(--border-color);word-break:break-all}.navbar-nav .nav-logout{margin:.5rem 1.5rem 0;width:calc(100% - 3rem)}.main-content{padding:1rem}.question-types{grid-template-columns:1fr}.test-header{flex-direction:column;gap:1rem}.score-breakdown{grid-template-columns:repeat(2,1fr)}}.landing-page{min-height:100vh;background:var(--background)}.landing-nav{position:fixed;top:0;left:0;right:0;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;border-bottom:1px solid var(--border-color)}.landing-nav-content{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.landing-logo{display:flex;flex-direction:column;text-decoration:none;line-height:1.2}.landing-logo .brand-name{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.landing-logo .brand-tagline{font-size:.7rem;font-weight:500;color:var(--text-secondary);letter-spacing:.5px}.landing-nav-links{display:flex;align-items:center;gap:1.5rem}.hero-section{padding:8rem 2rem 4rem;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;min-height:90vh}.hero-content{max-width:600px}.hero-badge{display:inline-block;background:linear-gradient(135deg,#2563eb1a,#7c3aed1a);color:var(--primary-color);padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:500;margin-bottom:1.5rem}.hero-title{font-size:3.5rem;font-weight:800;line-height:1.1;color:var(--text-primary);margin-bottom:1.5rem}.gradient-text{background:linear-gradient(135deg,#2563eb,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.25rem;color:var(--text-secondary);line-height:1.7;margin-bottom:2rem}.hero-cta{display:flex;gap:1rem;margin-bottom:1rem}.hero-note{font-size:.875rem;color:var(--text-secondary)}.hero-image{display:flex;justify-content:center;align-items:center}.score-preview{position:relative}.score-card{background:var(--surface);border-radius:20px;padding:2rem;box-shadow:0 25px 50px -12px #00000026;text-align:center;min-width:280px;border:1px solid var(--border-color)}.score-header{font-size:1rem;color:var(--text-secondary);margin-bottom:.5rem}.score-card .score-value{font-size:5rem;font-weight:800;background:linear-gradient(135deg,#2563eb,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:1rem}.score-breakdown-mini{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.mini-score{display:flex;justify-content:space-between;padding:.5rem .75rem;background:var(--background);border-radius:8px;font-size:.875rem}.mini-score span:last-child{font-weight:600;color:var(--primary-color)}.section-header{text-align:center;margin-bottom:3rem}.section-header h2{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.section-header p{font-size:1.125rem;color:var(--text-secondary)}.benefits-section{padding:5rem 2rem;background:var(--surface)}.benefits-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.benefit-card{padding:2rem;border-radius:16px;background:var(--background);transition:transform .2s,box-shadow .2s}.benefit-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.benefit-icon{font-size:2.5rem;margin-bottom:1rem}.benefit-card h3{font-size:1.25rem;font-weight:600;margin-bottom:.75rem;color:var(--text-primary)}.benefit-card p{color:var(--text-secondary);line-height:1.6}.who-section{padding:5rem 2rem;max-width:1200px;margin:0 auto}.who-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.who-card{background:var(--surface);border-radius:16px;padding:2rem;text-align:center;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}.who-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.who-icon{font-size:3rem;margin-bottom:1rem}.who-card h3{font-size:1.1rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.who-card p{font-size:.9rem;color:var(--text-secondary);line-height:1.5}@media (max-width: 1024px){.who-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.who-grid{grid-template-columns:1fr}}.how-it-works-section{padding:5rem 2rem;max-width:1200px;margin:0 auto}.steps-container{display:flex;align-items:flex-start;justify-content:center;gap:1rem}.step{flex:1;max-width:300px;text-align:center;padding:2rem}.step-number{width:60px;height:60px;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin:0 auto 1.5rem}.step h3{font-size:1.25rem;font-weight:600;margin-bottom:.75rem;color:var(--text-primary)}.step p{color:var(--text-secondary);line-height:1.6}.step-connector{width:60px;height:2px;background:var(--border-color);margin-top:4rem}.skills-section{padding:5rem 2rem;max-width:1200px;margin:0 auto;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:24px;margin-bottom:2rem}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.skill-card{background:var(--surface);border-radius:16px;padding:2rem;text-align:center;position:relative;transition:transform .2s,box-shadow .2s;box-shadow:var(--shadow)}.skill-card.available{border:2px solid var(--primary);box-shadow:var(--shadow-lg)}.skill-card.available:hover{transform:translateY(-8px)}.skill-card.coming-soon{opacity:.85}.skill-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);padding:.35rem 1rem;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap}.skill-badge.available{background:linear-gradient(135deg,var(--primary),#3b82f6);color:#fff}.skill-badge.coming{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.skill-icon{font-size:3.5rem;margin:1rem 0}.skill-card h3{font-size:1.3rem;font-weight:600;margin-bottom:.5rem}.skill-card>p{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin-bottom:1rem}.skill-features{list-style:none;padding:0;margin:0;text-align:left}.skill-features li{padding:.3rem 0;font-size:.85rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.skill-features li:before{content:"•";color:var(--primary);font-weight:700}.skill-card.coming-soon .skill-features li:before{color:#9ca3af}@media (max-width: 1024px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.skills-grid{grid-template-columns:1fr}.skill-card.available{order:-1}}.question-types-section{padding:5rem 2rem;background:var(--surface)}.types-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.type-card{background:var(--background);border-radius:16px;padding:2rem;border:2px solid var(--border-color);position:relative;transition:border-color .2s,transform .2s}.type-card:hover{border-color:var(--primary-color);transform:translateY(-4px)}.type-card.featured{border-color:var(--primary-color);background:linear-gradient(135deg,#2563eb0d,#7c3aed0d)}.type-badge{position:absolute;top:-12px;right:20px;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.type-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.type-icon{font-size:2rem}.type-time{font-size:.875rem;color:var(--text-secondary);background:var(--surface);padding:.25rem .75rem;border-radius:20px}.type-card h3{font-size:1.25rem;font-weight:600;margin-bottom:.75rem;color:var(--text-primary)}.type-card p{color:var(--text-secondary);line-height:1.6;margin-bottom:1rem}.type-features{list-style:none;padding:0}.type-features li{padding:.5rem 0 .5rem 1.5rem;position:relative;color:var(--text-secondary);font-size:.9rem}.type-features li:before{content:"✓";position:absolute;left:0;color:var(--success-color);font-weight:700}.feedback-preview-section{padding:5rem 2rem;max-width:1200px;margin:0 auto}.feedback-preview{background:var(--surface);border-radius:20px;padding:2rem;box-shadow:var(--shadow-lg);border:1px solid var(--border-color)}.feedback-example{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.feedback-category{padding:1.5rem;background:var(--background);border-radius:12px}.feedback-category h4{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.feedback-category ul{list-style:none;padding:0}.feedback-category ul li{padding:.5rem 0 .5rem 1.5rem;position:relative;color:var(--text-secondary)}.feedback-category ul li:before{content:"•";position:absolute;left:0;color:var(--primary-color);font-weight:700}.criteria-bars{display:flex;flex-direction:column;gap:.75rem}.criteria-bar{display:grid;grid-template-columns:140px 1fr 30px;align-items:center;gap:1rem;font-size:.875rem}.criteria-bar .bar{height:8px;background:var(--border-color);border-radius:4px;overflow:hidden}.criteria-bar .fill{height:100%;background:linear-gradient(135deg,#2563eb,#7c3aed);border-radius:4px}.criteria-bar span:last-child{font-weight:600;color:var(--primary-color)}.vocab-example{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--border-color)}.vocab-example:last-child{border-bottom:none}.vocab-example .basic{color:var(--error-color);text-decoration:line-through}.vocab-example .arrow{color:var(--text-secondary)}.vocab-example .better{color:var(--success-color);font-weight:500}.pricing-section{padding:5rem 2rem;max-width:600px;margin:0 auto}.pricing-card{background:var(--surface);border-radius:20px;padding:3rem;text-align:center;box-shadow:var(--shadow-lg);border:2px solid var(--primary-color)}.price-amount{margin-bottom:2rem}.price-amount .currency{font-size:2rem;font-weight:600;color:var(--text-secondary);vertical-align:top}.price-amount .amount{font-size:5rem;font-weight:800;background:linear-gradient(135deg,#2563eb,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.price-amount .per-test{display:block;font-size:1.25rem;color:var(--text-secondary);margin-top:.5rem}.pricing-features{list-style:none;padding:0;margin-bottom:2rem;text-align:left}.pricing-features li{padding:.75rem 0 .75rem 2rem;position:relative;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.pricing-features li:last-child{border-bottom:none}.pricing-features li:before{content:"✓";position:absolute;left:0;color:var(--success-color);font-weight:700;font-size:1.1rem}.cta-section{padding:5rem 2rem;background:linear-gradient(135deg,#2563eb,#7c3aed);text-align:center}.cta-content{max-width:600px;margin:0 auto}.cta-section h2{font-size:2.5rem;font-weight:700;color:#fff;margin-bottom:1rem}.cta-section p{font-size:1.125rem;color:#ffffffe6;margin-bottom:2rem}.cta-section .btn{background:#fff;color:var(--primary-color)}.cta-section .btn:hover{background:var(--background)}.landing-footer{background:var(--text-primary);color:#fff;padding:4rem 2rem 2rem}.footer-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:4rem}.footer-brand h3{font-size:1.5rem;margin-bottom:.25rem}.footer-tagline{display:block;font-size:.8rem;color:#fff9;letter-spacing:.5px;margin-bottom:1rem}.footer-brand p{color:#ffffffb3;line-height:1.6}.footer-links h4{font-size:1rem;margin-bottom:1rem}.footer-links a,.footer-links span{display:block;color:#ffffffb3;text-decoration:none;padding:.5rem 0;transition:color .2s}.footer-links a:hover{color:#fff}.footer-bottom{max-width:1200px;margin:3rem auto 0;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);text-align:center}.footer-bottom p{color:#ffffff80;font-size:.875rem}.policy-page{min-height:100vh;background:var(--background);padding:2rem 1rem 4rem}.policy-container{max-width:720px;margin:0 auto}.policy-back{display:inline-block;margin-bottom:1.5rem;color:var(--primary-color);text-decoration:none;font-size:.95rem}.policy-back:hover{text-decoration:underline}.policy-container h1{font-size:1.75rem;margin-bottom:.25rem}.policy-updated{color:var(--text-secondary);font-size:.9rem;margin-bottom:2rem}.policy-container section{margin-bottom:2rem}.policy-container section h2{font-size:1.15rem;margin-bottom:.75rem;color:var(--text-primary)}.policy-container section p,.policy-container section li{color:var(--text-secondary);line-height:1.7;margin-bottom:.75rem}.policy-container section ul{margin:.5rem 0 1rem 1.5rem}.policy-container section a{color:var(--primary-color)}.policy-footer-links{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border-color);display:flex;gap:1.5rem;flex-wrap:wrap}.policy-footer-links a{color:var(--primary-color);text-decoration:none}.policy-footer-links a:hover{text-decoration:underline}.subscribe-consent{text-align:left;margin:1rem 0}.subscribe-consent label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;font-size:.9rem;color:#fffffff2;line-height:1.5}.subscribe-consent input[type=checkbox]{margin-top:.2rem;flex-shrink:0}.subscribe-consent a{color:#fff;text-decoration:underline}.subscribe-consent a:hover{opacity:.9}@media (max-width: 1024px){.hero-section{grid-template-columns:1fr;text-align:center;min-height:auto;padding-top:6rem}.hero-content{max-width:100%}.hero-cta{justify-content:center}.hero-image{order:-1}.benefits-grid,.types-grid{grid-template-columns:repeat(2,1fr)}.feedback-example{grid-template-columns:1fr}.footer-content{grid-template-columns:1fr;gap:2rem}}@media (max-width: 768px){.hero-title{font-size:2.5rem}.landing-nav-content{padding:1rem}.landing-nav-links{gap:1rem}.benefits-grid,.types-grid{grid-template-columns:1fr}.steps-container{flex-direction:column;align-items:center}.step-connector{width:2px;height:40px;margin:0}.hero-cta{flex-direction:column}.section-header h2,.cta-section h2{font-size:2rem}}
