:root{--primary: #3563E9;--primary-dark: #2251D6;--secondary: #6C47FF;--accent: #16B1FF;--background: #f8fafc;--text: #1e293b;--text-light: #64748b;--yellow-500: #eab308;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--font-sans: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--ielts-red: #e53e3e}body{margin:0;background-color:var(--background);color:var(--text);font-family:var(--font-sans);line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:2rem}.hero{text-align:center;padding:8rem 1rem;background:linear-gradient(rgba(30,41,59,.85),rgba(30,41,59,.55)),url(https://images.pexels.com/photos/5538571/pexels-photo-5538571.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2);background-size:cover;background-position:center;color:#fff;position:relative}.hero:after{content:"";position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(to right,var(--primary),var(--secondary),var(--accent))}.hero h1{background:none;-webkit-text-fill-color:white;font-weight:800;letter-spacing:-.5px}.hero .subtitle{color:var(--gray-200);max-width:650px;margin:0 auto 2rem;font-size:1.4rem;line-height:1.6}h1{font-size:3.5rem;margin-bottom:1rem;background:linear-gradient(to right,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1.2}h2{font-size:2.5rem;margin-bottom:2rem;color:var(--text);font-weight:700;position:relative;padding-bottom:1rem}h2:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(to right,var(--primary),var(--secondary))}.subtitle{font-size:1.25rem;color:var(--yellow-500);margin-bottom:2rem}.cta{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.save-money{font-size:1.1rem;color:#fff;background:rgba(255,255,255,.1);backdrop-filter:blur(10px);padding:1.25rem;border-radius:.75rem;max-width:650px;box-shadow:var(--shadow-sm);border:1px solid rgba(255,255,255,.1)}.record-button{background-color:var(--primary);color:#fff;border:none;padding:1.25rem 2.5rem;border-radius:.75rem;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-md);position:relative;overflow:hidden}.record-button:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to right,rgba(255,255,255,0),rgba(255,255,255,.2),rgba(255,255,255,0));transform:translate(-100%);transition:transform .8s ease}.record-button:hover{background-color:var(--primary-dark);transform:translateY(-3px);box-shadow:var(--shadow-lg)}.record-button:hover:before{transform:translate(100%)}.record-button.recorded{background:#4caf50;color:#fff}.record-button.recorded:disabled{opacity:1}.recording{animation:pulse 1.5s infinite;background-color:#ef4444}.recording:hover{background-color:#dc2626}.playing{background-color:var(--secondary)}.playing:hover{background-color:#5637e0}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.02);box-shadow:var(--shadow-lg)}to{transform:scale(1)}}.results{margin-top:3rem;color:#fff;padding:2.5rem;border-radius:1rem;transition:transform .3s ease,box-shadow .3s ease}.results p{font-size:1.2rem;font-weight:600;margin-bottom:1rem}.results:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.audio-player{width:50%;margin:1.5rem 0;border-radius:.5rem}.feedback{margin-top:1.5rem;padding-top:1.5rem}.feedback .feedback-text{color:var(--yellow-500);margin-bottom:.75rem;font-size:1.4rem}.about{padding:6rem 1rem;text-align:center;background-color:#fff;position:relative}.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin-top:3rem}.about-item{padding:2.5rem;background:white;border-radius:1rem;box-shadow:var(--shadow-md);transition:transform .3s ease;border:1px solid var(--gray-100);position:relative;z-index:1;overflow:hidden}.about-item:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(to right,var(--primary),var(--accent));z-index:2}.about-item:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg)}.icon{font-size:3rem;margin-bottom:1.5rem;display:inline-block;position:relative}.icon:after{content:"";position:absolute;width:50px;height:50px;border-radius:50%;background-color:var(--gray-100);z-index:-1;top:50%;left:50%;transform:translate(-50%,-50%)}.about-item h3{color:var(--text);margin-bottom:1rem;font-size:1.5rem;font-weight:700}.pricing{padding:6rem 1rem;text-align:center;background:linear-gradient(135deg,var(--gray-100),white);border-radius:0;margin-top:0;position:relative}.pricing:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--gray-300),transparent)}.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2.5rem;margin-top:3rem;padding:.5rem}.price-card{background:white;padding:2rem 1rem;border-radius:1rem;box-shadow:var(--shadow-md);transition:all .4s ease;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--gray-100)}.price-card:hover{transform:translateY(-15px);box-shadow:var(--shadow-lg)}.price-card.popular{border:none;background:linear-gradient(to bottom,white,white)}.price-card.popular:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(to right,var(--primary),var(--secondary))}.price-card.popular:after{content:" Most Popular";position:absolute;top:25px;right:-35px;background:var(--primary);color:#fff;font-size:.7rem;font-weight:600;padding:.25rem 2.5rem;transform:rotate(45deg);box-shadow:var(--shadow-sm)}.price-card h3{color:var(--text);margin-bottom:0rem;font-size:1.75rem;font-weight:700;position:relative;display:inline-block}.price-card h3:after{content:"";position:absolute;width:50%;height:3px;background:var(--primary);bottom:-8px;left:25%;border-radius:2px}.price{font-size:2.5rem;font-weight:800;margin:0rem 0;color:var(--primary);position:relative;display:inline-block;padding:.5rem}.price:before{content:"USD";position:absolute;font-size:.8rem;font-weight:600;bottom:.5rem;right:0rem;color:var(--text-light)}.free .price:before{content:"";display:none}.price-card ul{list-style:none;padding:0;margin:2rem 0;text-align:center}.price-card li{margin:1rem 0;color:var(--text);align-items:center;font-size:1.05rem;text-align:center}.price-card li:before{content:"\2713";color:var(--primary);font-weight:700;margin-right:.75rem;font-size:1.1rem}.price-button{background:linear-gradient(to right,var(--primary),var(--primary-dark));color:#fff;border:none;padding:1rem 2rem;border-radius:.5rem;cursor:pointer;transition:all .3s ease;display:inline-block;text-decoration:none;font-weight:600;box-shadow:var(--shadow-sm);border-radius:.75rem;position:relative;overflow:hidden}.price-button:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to right,rgba(255,255,255,0),rgba(255,255,255,.2),rgba(255,255,255,0));transform:translate(-100%);transition:transform .8s ease}.price-button:hover{background:linear-gradient(to right,var(--primary-dark),var(--primary));transform:translateY(-3px);box-shadow:var(--shadow-md)}.price-button:hover:before{transform:translate(100%)}.price-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.testimonials{padding:6rem 1rem;text-align:center;background-color:#fff;position:relative}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin-top:3rem}.testimonial-card{background:var(--gray-100);padding:2.5rem;border-radius:1rem;box-shadow:var(--shadow-md);text-align:left;display:flex;flex-direction:column;height:100%;transition:transform .3s ease,box-shadow .3s ease;border:1px solid var(--gray-200)}.testimonial-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg)}.testimonial-content{flex-grow:1;margin-bottom:2rem}.testimonial-content p{font-style:italic;color:var(--text);line-height:1.8;position:relative;font-size:1.1rem}.testimonial-content p:before,.testimonial-content p:after{content:"\201c";font-size:3rem;color:var(--primary);opacity:.25;position:absolute;line-height:1}.testimonial-content p:before{left:-1.5rem;top:-.5rem}.testimonial-content p:after{content:"\201d";right:-1.5rem;bottom:-2rem}.testimonial-author{display:flex;align-items:center;gap:1.25rem;border-top:1px solid var(--gray-200);padding-top:1.5rem}.testimonial-avatar{font-size:2.5rem;background:var(--gray-200);width:3.5rem;height:3.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%}.testimonial-author h4{margin:0;color:var(--text);font-weight:700;font-size:1.1rem}.testimonial-author p{margin:.25rem 0 0;color:var(--primary);font-size:.9rem;font-weight:500}.footer{background:var(--text);color:#fff;padding:4rem 0 2rem;text-align:center;position:relative}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(to right,var(--primary),var(--secondary),var(--accent))}.footer-content{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem;text-align:left;margin-bottom:3rem}.footer-logo{font-size:1.5rem;font-weight:700;margin-bottom:1rem;background:linear-gradient(to right,var(--primary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline-block}.footer-about{color:var(--gray-400);margin-bottom:1.5rem;max-width:300px}.footer h4{font-size:1.1rem;margin-bottom:1.5rem;color:#fff}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:.75rem}.footer-links a{color:var(--gray-400);text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--primary)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:2rem;color:var(--gray-500);font-size:.9rem}@media (max-width: 768px){.about-grid,.pricing-grid,.testimonial-grid,.footer-content,.why-use-grid{grid-template-columns:1fr}.price-card.popular{transform:none}.pricing-grid{padding:0}h1{font-size:2.5rem}h2{font-size:2rem}}@media (max-width: 640px){.container{padding:1.5rem 1rem}.hero{padding:6rem 1rem 4rem}.about,.pricing,.testimonials,.why-use{padding:4rem 1rem}.save-money{font-size:1rem;padding:1rem}}.signup-hero{background:linear-gradient(to right,var(--primary),var(--primary-dark));color:#fff;padding:3rem 1rem;text-align:center}.signup-hero h1{color:#fff;-webkit-text-fill-color:white;background:none}.signup-content{display:grid;grid-template-columns:1fr 2fr;gap:2rem;margin:2rem 0}.signup-plan-details{background:white;padding:2rem;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a;position:sticky;top:2rem;height:fit-content}.signup-plan-details h3{color:#64748b;font-weight:400}.feature-list{list-style:none;padding:0;margin:1.5rem 0}.feature-list li{margin:.5rem 0;color:#64748b;display:flex;align-items:center}.feature-list li:before{content:"\2713";color:var(--primary);font-weight:700;margin-right:.5rem}.signup-form{background:white;padding:2rem;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:700;color:var(--text)}.form-group input{width:100%;padding:.75rem;border:1px solid #e2e8f0;border-radius:.25rem;font-size:1rem}.form-actions{display:flex;justify-content:space-between;margin-top:2rem}.back-button{background:#e2e8f0;color:var(--text);border:none;padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;transition:all .2s}.back-button:hover{background:#cbd5e1}.submit-button{background:var(--primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;transition:all .2s}.submit-button:hover{background:var(--primary-dark)}@media (max-width: 768px){.signup-content{grid-template-columns:1fr}}.trust-badges{text-align:center;padding:3rem 1rem;background-color:#fff;border-bottom:1px solid var(--gray-100)}.trust-badges h3{color:var(--text);font-size:1.5rem;margin-bottom:2rem;font-weight:600}.badge-container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:2rem;max-width:900px;margin:0 auto}.badge{display:flex;align-items:center;gap:1rem;flex:1;min-width:175px}.badge-icon{font-size:2.5rem;color:var(--primary);background:var(--gray-100);width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:50%}.badge-text{text-align:left}.badge-number{font-size:1.5rem;font-weight:700;color:var(--text)}.badge-label{color:var(--text-light);font-size:.9rem}@media (max-width: 768px){.badge-container{justify-content:center}.badge{justify-content:flex-start;width:45%}}@media (max-width: 640px){.badge{width:100%}}.feedback-example{margin-top:3rem;width:100%}.feedback-example h3{text-align:center;margin-bottom:1.5rem}.feedback-example-card{background-color:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;overflow:hidden;padding:1.5rem}.feedback-example-header{display:flex;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #eaeaea}.feedback-icon{width:40px;height:40px;margin-right:1rem}.feedback-example-header h4{margin:0;font-size:1.2rem;color:#333}.feedback-table{width:100%;border-collapse:collapse;margin-bottom:2rem}.feedback-table th,.feedback-table td{padding:1rem;text-align:left;border-bottom:1px solid #eaeaea}.feedback-table th{background-color:#f8f9fa;font-weight:600;color:#555}.feedback-table tr:last-child td{border-bottom:none}.tag{display:inline-block;padding:.3rem .7rem;border-radius:20px;font-size:.8rem;font-weight:500;text-align:center}.tag.vocabulary{background-color:#e3f2fd;color:#1976d2}.tag.grammar{background-color:#e8f5e9;color:#2e7d32}.tag.collocation{background-color:#fff3e0;color:#e65100}.improvement-metrics{display:flex;justify-content:space-around;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #eaeaea}.metric{text-align:center}.metric-value{font-size:2rem;font-weight:700;color:#3f51b5}.metric-label{font-size:.9rem;color:#666;margin-top:.5rem}@media (max-width: 768px){.feedback-table th,.feedback-table td{padding:.8rem .5rem;font-size:.9rem}.improvement-metrics{flex-direction:column;gap:1rem}}.ielts-text{color:var(--ielts-red);font-weight:700}.google-signin-button{display:flex;justify-content:center;align-items:center;width:100%;padding:.75rem 1rem;margin-bottom:1.5rem;background-color:#fff;color:var(--text);border:1px solid var(--gray-300);border-radius:.375rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);position:relative}.google-signin-button:hover{background-color:var(--gray-100);box-shadow:var(--shadow-md)}.google-signin-button:disabled{opacity:.7;cursor:not-allowed}.divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid var(--gray-300)}.divider span{padding:0 1rem;color:var(--gray-500);font-size:.875rem}.error-message{background-color:#fee2e2;color:#b91c1c;padding:.75rem;border-radius:.375rem;margin-bottom:1rem;font-size:.875rem;border:1px solid #fecaca}.dashboard-container{min-height:100vh;margin:0;padding:0;background:var(--background)}.dashboard-header{background:var(--surface);border-bottom:1px solid var(--gray-200);box-shadow:var(--shadow-sm);padding:1rem 0}.dashboard-header-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem}.dashboard-header h1{font-size:2.25rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0;font-weight:800;letter-spacing:-.02em}.user-info{display:flex;align-items:center;gap:1rem;background:var(--gradient-surface);padding:1rem 1.5rem;border-radius:var(--radius-xl);border:1px solid var(--gray-200);border-radius:12px}.dashboard-tabs{display:flex;border-bottom:1px solid var(--gray-300);margin-bottom:1rem;max-width:1200px;margin-left:auto;margin-right:auto}.tab-button{padding:.8rem 1.5rem;background-color:transparent;border:none;border-bottom:3px solid transparent;font-size:1rem;font-weight:600;color:var(--text);cursor:pointer;transition:all .2s ease}.tab-button.active{color:var(--primary);border-bottom:3px solid var(--primary)}.tab-button:hover:not(.active){color:var(--primary-dark);border-bottom:3px solid var(--gray-300)}.tab-content{padding:1rem 0;max-width:1200px;margin-left:auto;margin-right:auto}.practice-tab,.history-tab{animation:fadeIn .3s ease}.practice-controls{display:flex;justify-content:center;margin:2rem 0}.stop-button{padding:1rem 2rem;background-color:#ef4444;color:#fff;border:none;border-radius:50px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-md)}.stop-button:hover{background-color:#dc2626;transform:translateY(-2px)}.history-table{width:100%;border-collapse:collapse;margin-top:1.5rem}.history-table th,.history-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--gray-300)}.history-table th{background-color:#f8f9fa;font-weight:600;color:var(--text)}.view-button{padding:.5rem 1rem;background-color:var(--primary);color:#fff;border:none;border-radius:4px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.view-button:hover{background-color:var(--primary-dark)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.tab-button{padding:.6rem 1rem;font-size:.9rem}.history-table th,.history-table td{padding:.8rem .5rem;font-size:.9rem}}.login{display:flex;justify-content:center;width:100%;background-color:var(--primary);padding:.75rem 0}.header-container{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:1200px;padding:0 2rem}.logo{display:flex;align-items:center;gap:.5rem}.logo-text{color:#fff;font-weight:700;font-size:1.25rem}.nav-actions{display:flex;align-items:center}.login-nav-button{padding:.6rem 1.5rem;background-color:transparent;color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:4px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.login-nav-button:hover{background-color:#ffffff1a;border-color:#fff}@media (max-width: 768px){.header-container{flex-direction:column;gap:1rem;padding:1rem}}.auth-section{display:flex;justify-content:flex-end;width:100%;background-color:var(--primary)}.login-form{margin-bottom:1.5rem;width:100%;display:flex;flex-direction:column}.login-form .form-group{margin-bottom:0}.login-form input{padding:.5rem 1rem;border:1px solid var(--gray-300);border-radius:4px;font-size:.9rem}.login-button{padding:.5rem 1rem;background-color:var(--primary);color:#fff;border:none;border-radius:4px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.login-button:hover{background-color:var(--primary-dark)}.user-actions{display:flex;gap:.5rem}.dashboard-button{padding:.5rem 1rem;background-color:var(--primary);color:#fff;border:none;border-radius:4px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.dashboard-button:hover{background-color:var(--primary-dark)}.logout-button{padding:.5rem 1rem;background-color:transparent;color:var(--text);border:1px solid var(--gray-300);border-radius:4px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.logout-button:hover{background-color:var(--gray-100)}@media (max-width: 768px){.auth-section{justify-content:center;margin-bottom:1.5rem}.login-form{flex-direction:column;width:100%;max-width:300px}.login-form .form-group{width:100%;margin-bottom:.5rem}.login-form input,.login-button{width:100%}.user-actions{flex-direction:column;width:100%;max-width:300px}.dashboard-button,.logout-button{width:100%}}.dashboard-header{text-align:center;padding-bottom:1.5rem;margin-bottom:2rem;border-bottom:1px solid var(--gray-200);background-color:var(--gray-200)}.dashboard-header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.header-left{display:flex;align-items:center;gap:1rem;justify-content:space-between}@media (max-width: 768px){.header-left{width:100%}}.mobile-menu-button{display:none;background:none;border:none;color:var(--text);cursor:pointer;padding:.5rem;border-radius:.5rem;transition:all .2s ease}.mobile-menu-button:hover{background-color:var(--gray-100);color:var(--primary)}.dashboard-header h1{font-size:2.5rem;background:linear-gradient(to right,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:0;text-align:left}.user-info{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.welcome-text{font-size:1.1rem;color:var(--text);font-weight:600}.user-plan{font-size:.9rem;color:var(--text-light);background-color:var(--gray-100);padding:.25rem .75rem;border-radius:1rem;border:1px solid var(--gray-300);text-transform:capitalize}@media (max-width: 768px){.dashboard-header-content{flex-direction:row;justify-content:space-between;align-items:center}.mobile-menu-button{display:block}.dashboard-header h1{font-size:1.8rem;text-align:left}.user-info{position:absolute;top:100%;right:1rem;background:white;border:1px solid var(--gray-200);border-radius:.5rem;box-shadow:var(--shadow-md);padding:1rem;z-index:100;min-width:200px;display:none;flex-direction:column;gap:.75rem}.user-info.mobile-menu-open{display:flex}.user-info .welcome-text,.user-info .user-plan{text-align:center}.dashboard-header{position:relative}}.practice-description,.history-description{max-width:600px;margin:0 auto 2rem;text-align:center;color:var(--text-light);font-size:1.1rem}.practice-tab span{display:block;max-width:600px;margin:0 auto 1rem;font-size:.9rem;text-align:center;color:var(--text)}.practice-tab,.history-tab{padding:2rem 0}.audio-player{width:100%;max-width:600px;margin:1.5rem auto;display:block}.results{max-width:1200px;margin:3rem auto;background:white;color:var(--text);padding:2.5rem;border-radius:1rem;box-shadow:var(--shadow-md);border:1px solid var(--gray-200)}.results .feedback-text{font-size:1.2rem;color:var(--text);background-color:var(--gray-100);padding:1.5rem;border-radius:.5rem;border-left:4px solid var(--primary)}@media (max-width: 768px){.dashboard-header h1{font-size:1.8rem}.results{padding:1.5rem;margin:2rem auto}}.login-page{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);background-attachment:fixed;padding:1rem;position:relative;overflow:hidden}.login-background-decoration{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.floating-shape{position:absolute;border-radius:50%;background:rgba(255,255,255,.1);backdrop-filter:blur(20px);animation:float 6s ease-in-out infinite}.floating-shape.shape-1{width:200px;height:200px;top:10%;left:10%;animation-delay:0s}.floating-shape.shape-2{width:150px;height:150px;top:70%;right:15%;animation-delay:2s}.floating-shape.shape-3{width:100px;height:100px;top:20%;right:20%;animation-delay:4s}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(180deg)}}.login-container{width:100%;max-width:420px;background-color:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;overflow:hidden;position:relative;z-index:1;animation:slideUp .8s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;padding:2rem 1.5rem 1.5rem;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;position:relative;overflow:hidden}.login-header:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 1px,transparent 1px);background-size:20px 20px;animation:moveBackground 20s linear infinite}@keyframes moveBackground{0%{transform:translate(0)}to{transform:translate(20px,20px)}}.login-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:#fff;backdrop-filter:blur(10px);transition:all .3s ease}.login-icon:hover{transform:scale(1.1);background:rgba(255,255,255,.3)}.login-header h1{color:#fff;-webkit-text-fill-color:white;background:none;font-size:1.8rem;margin-bottom:.5rem;font-weight:700;position:relative;z-index:1}.login-header p{margin:0;font-size:1rem;opacity:.9;position:relative;z-index:1;line-height:1.5}.login-form-container{padding:1.5rem}.google-signin-button{display:flex;justify-content:center;align-items:center;width:100%;padding:.875rem 1.5rem;margin-bottom:1rem;background-color:#fff;color:var(--text);border:2px solid var(--gray-200);border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #0000000d;position:relative;overflow:hidden}.google-signin-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s}.google-signin-button:hover{background-color:var(--gray-50);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 15px #0000001a}.google-signin-button:hover:before{left:100%}.google-signin-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.google-signin-button .google-icon{margin-right:12px;flex-shrink:0}.divider{display:flex;align-items:center;text-align:center;margin:1.25rem 0}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid var(--gray-200)}.divider span{padding:0 1.5rem;color:var(--gray-500);font-size:.9rem;font-weight:500;background:white}.error-message{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c;padding:.875rem;border-radius:12px;margin-bottom:1rem;font-size:.9rem;border:1px solid #fecaca;display:flex;align-items:center;gap:.75rem;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.login-form{margin-bottom:1rem}.login-form-group{margin-bottom:1rem;width:100%}.login-form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text);font-size:.95rem;width:100%}.input-container{position:relative;display:flex;align-items:center;width:100%}.input-icon{position:absolute;left:1rem;color:var(--gray-400);z-index:2;transition:color .2s ease;pointer-events:none}.input-container input{width:100%;padding:.875rem 3rem;border:2px solid var(--gray-200);border-radius:12px;font-size:1rem;transition:all .3s ease;background:var(--gray-50);box-sizing:border-box;display:block}.input-container input:focus{outline:none;border-color:var(--primary);background:white;box-shadow:0 0 0 3px #3563e91a}.input-container:focus-within .input-icon{color:var(--primary)}.password-toggle{position:absolute;right:1rem;background:none;border:none;color:var(--gray-400);cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease;z-index:2;display:flex;align-items:center;justify-content:center}.password-toggle:hover{color:var(--primary);background:var(--gray-100)}.form-options{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;flex-wrap:wrap;gap:1rem;width:100%}.remember-me{display:flex;align-items:center;cursor:pointer;font-size:.9rem;color:var(--text);position:relative}.remember-me input[type=checkbox]{display:none}.checkmark{position:relative;width:18px;height:18px;border:2px solid var(--gray-300);border-radius:4px;margin-right:.75rem;transition:all .3s ease}.remember-me input[type=checkbox]:checked+.checkmark{background:var(--primary);border-color:var(--primary)}.remember-me input[type=checkbox]:checked+.checkmark:after{content:"\2713";position:absolute;color:#fff;font-size:12px;font-weight:700;top:50%;left:50%;transform:translate(-50%,-50%)}.forgot-password-link{background:none;border:none;color:var(--primary);text-decoration:none;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;padding:0}.forgot-password-link:hover{color:var(--primary-dark);text-decoration:underline}.login-submit-button{width:100%;padding:1rem 1.5rem;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;display:flex;justify-content:center;align-items:center;gap:.75rem}.login-submit-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.login-submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #3563e94d}.login-submit-button:hover:not(:disabled):before{left:100%}.login-submit-button:disabled{opacity:.8;cursor:not-allowed;transform:none}.loading-spinner{width:20px;height:20px;border:2px solid rgba(102,126,234,.3);border-top:2px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;display:inline-block;margin-right:8px}.loading-state{display:flex;align-items:center;justify-content:center;color:#667eea;font-style:italic;margin:1rem 0;padding:1rem;background:rgba(102,126,234,.05);border-radius:8px;border:1px solid rgba(102,126,234,.1)}.loading-state .loading-spinner{width:20px;height:20px;border:2px solid rgba(102,126,234,.3);border-top:2px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;display:inline-block;margin-right:8px;margin-top:0;margin-bottom:0}.login-footer{text-align:center;padding-top:1rem;margin-top:1rem;border-top:1px solid var(--gray-200)}.login-footer .signup-link{background:none;border:none;color:var(--primary);text-decoration:none;font-weight:600;font-size:.9rem;cursor:pointer;padding:0;transition:all .2s ease}.login-footer .signup-link:hover{color:var(--primary-dark);text-decoration:underline}.login-footer .signup-link:disabled{opacity:.6;cursor:not-allowed}.signup-footer{margin-top:2rem;text-align:center;font-size:.9rem;color:var(--text-light)}.signup-footer .login-link{background:none;border:none;color:var(--primary);text-decoration:none;font-weight:600;font-size:.9rem;cursor:pointer;padding:0;transition:all .2s ease}.signup-footer .login-link:hover{text-decoration:underline;color:var(--primary-dark)}.signup-footer .login-link:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 576px){.login-page{padding:.75rem}.login-container{max-width:100%;border-radius:16px}.login-header{padding:1.5rem 1.25rem 1.25rem}.login-header h1{font-size:1.6rem}.login-form-container{padding:1.25rem}.login-form-group{margin-bottom:.875rem}.input-container input{padding:.75rem 2.5rem;font-size:1rem}.input-icon{left:.75rem}.password-toggle{right:.75rem}.form-options{flex-direction:column;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.floating-shape{display:none}}.nav-actions{display:flex;justify-content:flex-end;margin-bottom:1rem;width:100%}.login-nav-button{padding:.6rem 1.5rem;background-color:transparent;color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:4px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.login-nav-button:hover{background-color:#ffffff1a;border-color:#fff}@media (max-width: 768px){.nav-actions{justify-content:center;margin-bottom:1.5rem}}.test-tab{padding:20px;max-width:1200px;margin:0 auto}.test-description{margin-bottom:3rem;color:#555;text-align:center}.test-progress{display:flex;justify-content:center;gap:8px;margin-bottom:30px}.progress-step{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:#f5f5f5;color:#555;font-weight:600;cursor:pointer;transition:all .2s ease;position:relative}.progress-step:hover{background-color:#e0e0e0}.progress-step.current{background-color:var(--primary);color:#fff;transform:scale(1.1)}.progress-step.completed{background-color:#4caf50;color:#fff}.progress-step.completed:after{content:"\2713";position:absolute;top:-5px;right:-5px;width:16px;height:16px;background-color:#fff;border-radius:50%;font-size:10px;display:flex;align-items:center;justify-content:center;color:#4caf50;border:1px solid #4caf50}.progress-step.recorded{background-color:#4caf50;color:#fff}.progress-step.recorded:after{content:"\1f3a4";position:absolute;top:-5px;right:-5px;width:16px;height:16px;background-color:#fff;border-radius:50%;font-size:8px;display:flex;align-items:center;justify-content:center;color:#4caf50;border:1px solid #4caf50}.question-step{background-color:#fff;border-radius:10px;padding:30px;box-shadow:0 4px 8px #0000000d;border:1px solid #f0f0f0;margin-bottom:20px}.step-header{margin-bottom:20px;text-align:center}.step-header h3{margin:0 0 8px;font-size:1.5rem;color:var(--primary)}.step-header p{font-size:1.1rem;color:#333;margin:0}.question-controls{margin-bottom:30px}.question-audio{width:100%;margin-bottom:20px}.response-controls{display:flex;justify-content:center;margin-top:20px}.step-navigation{display:flex;justify-content:space-between;margin-top:30px}.prev-button,.next-button{padding:10px 20px;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.prev-button{background-color:#f5f5f5;color:#333}.prev-button:hover:not(:disabled){background-color:#e0e0e0}.next-button{background-color:var(--primary);color:#fff}.next-button:hover:not(:disabled){background-color:var(--primary-dark)}.prev-button:disabled,.next-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.test-progress{flex-wrap:wrap}.question-step{padding:20px}.step-navigation{flex-direction:column;gap:10px}.prev-button,.next-button{width:100%}}.practice-selection{background-color:#fff;border-radius:10px;padding:30px;box-shadow:0 4px 8px #0000000d;border:1px solid #f0f0f0;margin-bottom:20px;max-width:600px;margin-left:auto;margin-right:auto}.practice-selection label{display:block;font-weight:600;margin-bottom:10px;color:var(--text)}.practice-select{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;margin-bottom:20px;background-color:#fff}.practice-select:focus{outline:none;border-color:var(--primary)}.practice-info{background-color:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:20px}.practice-info h3{margin:0 0 10px;color:var(--primary)}.practice-info p{margin:5px 0;color:var(--text)}.start-practice-button{width:100%;padding:15px;background-color:var(--primary);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.start-practice-button:hover:not(:disabled){background-color:var(--primary-dark);transform:translateY(-2px)}.start-practice-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.practice-header{text-align:center;margin-bottom:30px}.practice-progress{background-color:#fff;padding:20px;border-radius:10px;box-shadow:0 2px 4px #0000000d;margin-top:20px}.progress-bar{width:100%;height:8px;background-color:#e0e0e0;border-radius:4px;margin:10px 0;overflow:hidden}.progress-fill{height:100%;background-color:var(--primary);transition:width .3s ease}.practice-completed{background-color:#e8f5e8;border:2px solid #4caf50;border-radius:10px;padding:30px;text-align:center;margin-bottom:20px}.practice-completed h3{color:#4caf50;margin-bottom:15px}.final-scores{margin:20px 0}.final-scores p{margin:5px 0;font-size:1.1rem}.new-practice-button{padding:12px 24px;background-color:var(--primary);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.new-practice-button:hover{background-color:var(--primary-dark)}.question-section{background-color:#fff;border-radius:10px;padding:30px;box-shadow:0 4px 8px #0000000d;border:1px solid #f0f0f0;margin-bottom:20px}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.question-part{background-color:var(--primary);color:#fff;padding:4px 12px;border-radius:20px;font-size:.9rem;font-weight:600}.question-content{margin-bottom:30px}.question-text{font-size:1.1rem;line-height:1.6;margin-bottom:20px;color:var(--text)}.question-audio{width:100%;margin-bottom:20px}.recording-section{text-align:center;margin-bottom:30px}.navigation-buttons{display:flex;justify-content:space-between;margin-top:30px}.finish-button{padding:12px 24px;background-color:#4caf50;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.finish-button:hover:not(:disabled){background-color:#45a049}.finish-button:disabled{opacity:.6;cursor:not-allowed}.retry-button{padding:10px 20px;background-color:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer;margin-top:10px}.retry-button:hover{background-color:var(--primary-dark)}.history-container{max-width:1200px;margin:0 auto}.history-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background-color:#fff;padding:20px;border-radius:10px;box-shadow:0 2px 4px #0000000d;text-align:center;border:1px solid #f0f0f0}.stat-card h3{margin:0 0 10px;color:var(--text);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.stat-number{font-size:2rem;font-weight:700;color:var(--primary);margin:0}.history-table-container{background-color:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 8px #0000000d;border:1px solid #f0f0f0}.history-table{width:100%;border-collapse:collapse}.history-table th{background-color:#f8f9fa;padding:15px;text-align:left;font-weight:600;color:var(--text);border-bottom:2px solid #e0e0e0}.history-table td{padding:15px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.completed-row{background-color:#f8fff8}.in-progress-row{background-color:#fff8f0}.status-badge{padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.completed{background-color:#e8f5e8;color:#4caf50}.status-badge.in-progress{background-color:#fff3e0;color:#ff9800}.progress-cell{display:flex;flex-direction:column;gap:5px}.progress-text{font-size:.9rem;color:var(--text)}.mini-progress-bar{width:100px;height:4px;background-color:#e0e0e0;border-radius:2px;overflow:hidden}.mini-progress-fill{height:100%;background-color:var(--primary);transition:width .3s ease}.score-badge{font-weight:600;font-size:1rem}.score-pending{color:#999;font-style:italic}.total-score,.practice-name{font-weight:600;color:var(--text)}@media (max-width: 768px){.practice-selection,.question-section{padding:20px;margin:0 10px 20px}.question-header{flex-direction:column;align-items:flex-start;gap:10px}.navigation-buttons{flex-direction:column;gap:10px}.navigation-buttons button{width:100%}.history-stats{grid-template-columns:1fr;gap:15px}.history-table-container{overflow-x:auto}.history-table{min-width:1200px}.stat-number{font-size:1.5rem}}.session-start{display:flex;justify-content:center;align-items:center;min-height:300px;padding:2rem}.session-start-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:500px}.session-start-content h3{font-size:1.5rem;margin-bottom:1rem;color:#333}.session-start-content p{font-size:1.1rem;margin-bottom:2rem;color:#666}.start-session-button{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:15px 30px;font-size:1.1rem;border-radius:8px;cursor:pointer;transition:all .3s ease;min-width:200px}.start-session-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.start-session-button:disabled{opacity:.6;cursor:not-allowed}.question-section{max-width:1200px;margin:0 auto}.question-display{background:white;padding:2rem;border-radius:12px;margin-bottom:2rem;text-align:center}.question-display h3{color:#333;margin-bottom:1rem}.question-text{font-size:1.2rem;color:#555;margin-bottom:1.5rem;line-height:1.6}.audio-controls{margin:1rem 0}.audio-controls audio{width:100%;max-width:400px}.recording-section{text-align:center;margin-bottom:2rem}.record-button{background:#e74c3c;color:#fff;border:none;padding:15px 30px;font-size:1.1rem;border-radius:50px;cursor:pointer;transition:all .3s ease;min-width:160px;margin-bottom:1rem}.record-button:hover:not(:disabled){background-color:#c0392b;transform:scale(1.05)}.record-button.recording{animation:pulse 2s infinite}.record-button:disabled{opacity:.6;cursor:not-allowed}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.loading-spinner{color:#667eea;font-style:italic;margin:1rem 0}.playback-section{width:100%;margin:1rem 0}.playback-section h4{margin-bottom:.5rem;color:#333}.playback-section audio{width:100%;max-width:400px}.score-section{background:#f8f9fa;padding:1.5rem;border-radius:8px;margin:1rem 0;text-align:center}.score-display{font-size:2rem;font-weight:700;margin-top:.5rem;padding:10px;border-radius:8px}.score-excellent{color:#27ae60;background:rgba(39,174,96,.1)}.score-good{color:#2980b9;background:rgba(41,128,185,.1)}.score-average{color:#f39c12;background:rgba(243,156,18,.1)}.score-needs-improvement{color:#e74c3c;background:rgba(231,76,60,.1)}.transcription-section{background:white;padding:1.5rem;border-radius:8px;border:1px solid #e9ecef;margin:1rem 0}.transcription-section h4{margin-bottom:1rem;color:#333}.transcription-text{line-height:1.8;font-size:1.1rem}.transcribed-word{margin-right:.3rem;color:#333}.feedback-section{background:#e8f4f8;padding:1.5rem;border-radius:8px;border-left:4px solid #2980b9;margin:1rem 0}.feedback-section h4{color:#2980b9;margin-bottom:1rem}.feedback-text{color:#333;line-height:1.6;margin:0}.structured-feedback-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;margin:1rem 0}.structured-feedback-section h4{color:#495057;margin-bottom:1rem;font-size:1.1rem}.improvement-table{display:flex;flex-direction:column;gap:.5rem}.improvement-header{display:grid;grid-template-columns:1fr 1fr 120px;gap:1rem;padding:.75rem;background:#e9ecef;border-radius:6px;font-weight:600;font-size:.9rem;color:#495057}.improvement-row{display:grid;grid-template-columns:1fr 1fr 120px;gap:1rem;padding:1rem;background:white;border-radius:6px;border:1px solid #dee2e6;align-items:center}.improvement-original{color:#6c757d;font-style:italic;font-size:.9rem}.improvement-suggestion{color:#198754;font-weight:500;font-size:.9rem}.improvement-area{display:flex;justify-content:center}.improvement-tag{display:inline-block;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500;text-align:center;text-transform:capitalize}.improvement-tag.vocabulary{background-color:#e3f2fd;color:#1976d2}.improvement-tag.grammar{background-color:#e8f5e9;color:#2e7d32}.improvement-tag.collocation{background-color:#fff3e0;color:#e65100}.improvement-tag.fluency{background-color:#f3e5f5;color:#7b1fa2}.improvement-tag.pronunciation{background-color:#fce4ec;color:#c2185b}@media (max-width: 768px){.improvement-header,.improvement-row{grid-template-columns:1fr;gap:.5rem}.improvement-header span{font-weight:700;color:#343a40}.improvement-row{padding:1rem .75rem}.improvement-original:before{content:"Original: ";font-weight:600;color:#495057}.improvement-suggestion:before{content:"Suggestion: ";font-weight:600;color:#495057}.improvement-area{justify-content:flex-start;margin-top:.5rem}.improvement-area:before{content:"Area: ";font-weight:600;color:#495057;margin-right:.5rem}}.navigation-buttons{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.nav-button{background:#f8f9fa;color:#333;border:1px solid #dee2e6;padding:10px 20px;border-radius:6px;cursor:pointer;transition:all .3s ease;min-width:150px}.nav-button:hover:not(:disabled){background:#e9ecef;transform:translateY(-1px)}.nav-button:disabled{opacity:.5;cursor:not-allowed}.next-button{background:#667eea;color:#fff;border-color:#667eea}.next-button:hover:not(:disabled){background:#5a6fd8}.history-page{max-width:1200px;margin:0 auto;padding:2rem}.history-header{text-align:center;margin-bottom:3rem}.history-header h2{color:#333;margin-bottom:.5rem}.history-header p{color:#666;font-size:1.1rem}.empty-state{text-align:center;padding:3rem;color:#666}.empty-state h3{margin-bottom:1rem;color:#333}.sessions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem;margin-top:2rem}@media (max-width: 768px){.sessions-grid{grid-template-columns:1fr;gap:1.5rem;margin-top:1.5rem}}@media (max-width: 480px){.history-page{padding:1rem}.sessions-grid{grid-template-columns:1fr;gap:1rem;margin-top:1rem}.session-card{padding:1rem}.session-header{flex-direction:column;align-items:flex-start;gap:.5rem}.session-title{font-size:1.1rem;margin-bottom:.5rem}.status-badge{align-self:flex-start}.stat{flex-direction:column;align-items:flex-start;gap:.25rem;margin-bottom:.75rem}.stat-label{min-width:auto;margin-bottom:.25rem}.progress-bar{width:100%;margin-bottom:.25rem}.progress-text{align-self:flex-end;font-size:.85rem}}.session-card{background:white;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.session-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000026}.session-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.session-title{margin:0;color:#333;font-size:1.2rem;flex:1}.status-badge{padding:4px 8px;border-radius:4px;font-size:.85rem;font-weight:500;text-transform:capitalize}.status-completed{background-color:#27ae601a;color:#27ae60}.status-in-progress{background-color:#f39c121a;color:#f39c12}.status-abandoned{background-color:#95a5a61a;color:#95a5a6}.session-info{margin-bottom:1.5rem}.session-date{color:#666;font-size:.9rem;margin-bottom:1rem}.session-stats{margin-bottom:1rem}.stat{display:flex;align-items:center;margin-bottom:.5rem;gap:.5rem}.stat-label{font-weight:500;color:#333;min-width:100px}.progress-bar{flex:1;height:8px;background:#e9ecef;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s ease}.progress-text{font-size:.9rem;color:#666;min-width:50px;text-align:right}.score{font-weight:700;padding:2px 6px;border-radius:4px}.session-actions{text-align:center}.view-details-button{background:#667eea;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;transition:background .3s ease;font-size:.9rem}.view-details-button:hover{background:#5a6fd8}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal-content{background:white;border-radius:12px;max-width:1200px;width:100%;max-height:90vh;overflow-y:auto;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e9ecef;position:sticky;top:0;background:white;z-index:1}.modal-header h3{margin:0;color:#333}.close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-button:hover{color:#333}.modal-body{padding:1.5rem}.session-summary{background:#f8f9fa;padding:1rem;border-radius:8px;margin-bottom:2rem}.summary-stat{display:flex;align-items:center;margin-bottom:.5rem;gap:.5rem}.responses-list h4{color:#333;margin-bottom:1rem;border-bottom:2px solid #667eea;padding-bottom:.5rem}.response-item{background:white;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;margin-bottom:1rem}.response-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.question-number{background:#667eea;color:#fff;padding:4px 8px;border-radius:4px;font-weight:700;font-size:.9rem}.response-score{font-weight:700;padding:4px 8px;border-radius:4px;font-size:.9rem}.response-question,.response-transcript,.response-feedback{margin-bottom:1rem}.response-question strong,.response-transcript strong,.response-feedback strong{color:#333;display:block;margin-bottom:.5rem}.response-transcript{background:#f8f9fa;padding:1rem;border-radius:6px;border-left:3px solid #667eea}.response-feedback{background:#e8f4f8;padding:1rem;border-radius:6px;border-left:3px solid #2980b9}.response-structured-feedback{background:#f8f9fa;padding:1rem;border-radius:6px;border-left:3px solid #495057;margin-top:1rem}.response-structured-feedback strong{color:#495057;display:block;margin-bottom:.75rem}.history-improvement-table{display:flex;flex-direction:column;gap:.75rem}.history-improvement-item{background:white;padding:.75rem;border-radius:4px;border:1px solid #dee2e6;display:flex;flex-direction:column;gap:.5rem}.history-improvement-original{color:#6c757d;font-style:italic;font-size:.9rem}.history-improvement-original:before{content:"Original: ";font-weight:600;color:#495057}.history-improvement-suggestion{color:#198754;font-weight:500;font-size:.9rem}.history-improvement-suggestion:before{content:"Suggestion: ";font-weight:600;color:#495057}.history-improvement-tag{display:inline-block;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500;text-align:center;text-transform:capitalize;align-self:flex-start;margin-top:.25rem}.history-improvement-tag.vocabulary{background-color:#e3f2fd;color:#1976d2}.history-improvement-tag.grammar{background-color:#e8f5e9;color:#2e7d32}.history-improvement-tag.collocation{background-color:#fff3e0;color:#e65100}.history-improvement-tag.fluency{background-color:#f3e5f5;color:#7b1fa2}.history-improvement-tag.pronunciation{background-color:#fce4ec;color:#c2185b}@media (max-width: 768px){.modal-overlay{padding:.5rem}.modal-content{max-height:95vh;margin:0}.modal-header{padding:1rem;flex-direction:column;align-items:flex-start;gap:.5rem}.modal-header h3{font-size:1.2rem;margin:0}.close-button{position:absolute;top:1rem;right:1rem}.modal-body{padding:1rem}.session-summary{gap:.5rem}.summary-stat{flex-direction:column;align-items:flex-start;gap:.25rem}.response-item{padding:1rem;margin-bottom:1rem}.response-header{flex-direction:column;align-items:flex-start;gap:.5rem}.response-question,.response-transcript,.response-feedback,.response-structured-feedback{margin-bottom:1rem}.response-question strong,.response-transcript strong,.response-feedback strong,.response-structured-feedback strong{display:block;margin-bottom:.5rem}.history-improvement-table{gap:.75rem}.history-improvement-item{flex-direction:column;align-items:stretch;gap:.75rem;padding:1rem}.history-improvement-original,.history-improvement-suggestion{flex:none;width:100%;padding:.75rem}.history-improvement-original:before,.history-improvement-suggestion:before{display:block;margin-bottom:.5rem;font-weight:600}.history-improvement-tag{align-self:flex-start;margin-top:.5rem}}.retry-button{background:#667eea;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;margin-top:1rem}.retry-button:hover{background:#5a6fd8}.loading:before{content:"";width:24px;height:24px;border:3px solid rgba(102,126,234,.3);border-top:3px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-right:12px}.record-button.free-plan-restricted:hover{background:#94a3b8;transform:none}.record-button.free-plan-locked{background:#f1f5f9;color:#94a3b8;border:2px solid #e2e8f0;cursor:not-allowed;opacity:.7}.record-button.free-plan-locked:hover{background:#f1f5f9;color:#94a3b8;transform:none}.progress-step.free-plan-locked{background:#f1f5f9;color:#94a3b8;border:2px solid #e2e8f0;cursor:not-allowed;opacity:.6}.progress-step.free-plan-locked:after{content:"\1f512";position:absolute;top:-8px;right:-8px;background:#b8bfd1;color:#fff;border-radius:50%;width:20px;height:20px;font-size:12px;display:flex;align-items:center;justify-content:center}.skeleton{background:linear-gradient(90deg,#e3e2e2 25%,#e0e0e0 50%,#e2e1e1 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px;display:block}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.loading-button{position:relative;pointer-events:none}.button-loading-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite;display:inline-block;margin-right:8px}.skeleton-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:1.5rem;position:relative;overflow:hidden}.skeleton-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:skeleton-shimmer 1.5s infinite}@keyframes skeleton-shimmer{0%{left:-100%}to{left:100%}}.skeleton.mb-1{margin-bottom:.25rem}.skeleton.mb-2{margin-bottom:.5rem}.skeleton.mb-3{margin-bottom:.75rem}.skeleton.mb-4{margin-bottom:1rem}.settings-container{max-width:1200px;margin:0 auto;padding:2rem;background:#ffffff}.settings-header{margin-bottom:2rem}.settings-header h2{color:#1e293b;font-size:2rem;font-weight:700;margin-bottom:.5rem}.settings-header p{color:#64748b;font-size:1.1rem;margin:0}.plan-details-section{display:flex;flex-direction:column;gap:2rem}.current-plan-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000001a}.plan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.plan-header-actions{display:flex;align-items:center;gap:1rem}.plan-badge{padding:.5rem 1rem;border-radius:20px;color:#fff;font-weight:600;font-size:.875rem;text-transform:capitalize}.cancel-plan-button{padding:.5rem 1rem;background:#ef4444;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-plan-button:hover:not(:disabled){background:#dc2626}.cancel-plan-button:disabled{opacity:.6;cursor:not-allowed}.usage-section{margin-bottom:0rem}.usage-section h4{color:#374151;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.usage-stats{display:flex;flex-direction:column;gap:1rem}.usage-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f8fafc;border-radius:8px}.usage-label{color:#64748b;font-weight:500}.usage-value{color:#1e293b;font-weight:600;font-size:1.1rem}.remaining-sessions{color:#64748b;font-size:.875rem;text-align:center}.features-section h4{color:#374151;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.features-list{list-style:none;padding:0;margin:0;display:flex;gap:1.25rem}.feature-item{display:flex;align-items:center;gap:.35rem;color:#374151}.feature-check{color:#10b981;font-weight:700;font-size:1.1rem}.upgrade-section{background:linear-gradient(135deg,#6e81d9 0%,#8a59bb 25%,#c76ad2 50%,#db7986 75%,#75a1c7 100%);background-size:300% 300%;animation:gradient-shift 8s ease infinite;border:none;border-radius:16px;padding:3rem 3rem 5rem;position:relative;overflow:hidden;box-shadow:0 20px 40px #667eea4d}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.upgrade-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,rgba(255,255,255,.25) 0%,transparent 100%);pointer-events:none}.upgrade-section h3{color:#fff;font-size:2rem;font-weight:600;margin-bottom:1.5rem;margin-top:0rem}.upgrade-section p{color:#000;margin-bottom:1.5rem;font-weight:600}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3.5rem 1.5rem}.plan-option{background:#ffffff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;transition:all .3s ease;display:flex;flex-direction:column;height:100%;max-width:320px}.plan-option:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.plan-option-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.plan-option-header h4{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0}.plan-price{color:#3b82f6;font-size:1.25rem;font-weight:700}.plan-features{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.plan-features li{color:#64748b;font-size:.9rem;padding-left:1rem;position:relative}.plan-features li:before{content:"\2713";position:absolute;left:0;color:#10b981;font-weight:700}.upgrade-button{width:100%;padding:.75rem 1rem;border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:background-color .3s ease;margin-top:auto}.upgrade-button.basic{background:#6b7280}.upgrade-button.basic:hover:not(:disabled){background:#4b5563}.upgrade-button.premium{background:#3b82f6}.upgrade-button.premium:hover:not(:disabled){background:#2563eb}.upgrade-button.ultimate{background:#10b981}.upgrade-button.ultimate:hover:not(:disabled){background:#059669}.upgrade-button.unlimited{background:#10b981}.upgrade-button.unlimited:hover:not(:disabled){background:#059669}.upgrade-button:disabled{background:#94a3b8;cursor:not-allowed}.success-message{background:#d1fae5;border:1px solid #10b981;color:#065f46;padding:1rem;border-radius:8px;margin-top:1rem}.error-message{background:#fee2e2;border:1px solid #ef4444;color:#991b1b;padding:1rem;border-radius:8px;margin-top:1rem}.upgrade-prompt{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;padding:2rem;margin:2rem 0;color:#fff;text-align:center;box-shadow:0 8px 32px #667eea4d}.upgrade-message h4{color:#fff;font-size:1.5rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.upgrade-message p{color:#ffffffe6;font-size:1.1rem;margin-bottom:1.5rem;line-height:1.6}.upgrade-benefits{background:rgba(255,255,255,.1);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.upgrade-benefits h5{color:#fff;font-size:1.1rem;margin-bottom:1rem;font-weight:600}.upgrade-benefits ul{list-style:none;padding:0;margin:0;text-align:left}.upgrade-benefits li{color:#ffffffe6;font-size:.95rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.upgrade-btn{background:white;color:var(--primary);border:none;padding:1rem 2rem;border-radius:50px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #fff3}.upgrade-btn:hover{background:rgba(255,255,255,.95);transform:translateY(-2px);box-shadow:0 6px 20px #ffffff4d}@media (max-width: 768px){.settings-container{padding:1rem}.plan-header{flex-direction:column;align-items:center;gap:.75rem}.plan-header small{font-size:.8rem;font-weight:400;color:#1e293b;text-transform:uppercase}.plan-header-actions{width:100%;justify-content:space-between}.cancel-plan-button{font-size:.8rem;padding:.5rem .75rem}.usage-item{flex-direction:column;align-items:flex-start;gap:.5rem}.plans-grid{display:flex;flex-direction:column;gap:1.5rem}.plan-option{width:100%;min-width:0}.plan-option-header{flex-direction:column;align-items:flex-start;gap:.5rem}.plan-price{font-size:1.5rem}.upgrade-button{width:100%;padding:.875rem 1rem;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upgrade-prompt{padding:1.5rem;margin:1.5rem 0}.upgrade-message h4{font-size:1.3rem}.upgrade-message p{font-size:1rem}.upgrade-benefits{padding:1rem}.upgrade-btn{padding:.875rem 1.5rem;font-size:1rem;width:100%}.modal-overlay{padding:.5rem}.modal-content{max-width:100%;margin:0;max-height:95vh}.modal-header,.modal-body{padding:1rem}.cancel-confirmation h4{font-size:1.25rem}.warning-icon{font-size:3rem}.modal-actions{flex-direction:column;gap:.75rem;margin-top:1.5rem}.cancel-modal-button{width:100%;min-width:auto}.cancel-consequences{padding:.75rem 1rem}.cancel-note{padding:.75rem;font-size:.85rem}}.terms-page{min-height:100vh;background:var(--gray-900)}.content-section{padding:4rem 0;background:var(--gray-900)}.terms-content{max-width:800px;margin:0 auto;background:white;padding:3rem;border-radius:1rem;box-shadow:var(--shadow-lg)}.terms-content h1{text-align:center;margin-bottom:1rem;font-size:2.5rem;color:var(--text)}.last-updated{text-align:center;color:var(--gray-500);margin-bottom:3rem;font-style:italic}.terms-section{margin-bottom:2.5rem}.terms-section h2{font-size:1.5rem;color:var(--text);margin-bottom:1rem;font-weight:600;border-bottom:2px solid var(--primary);padding-bottom:.5rem}.terms-section h2:after{display:none}.terms-section p{margin-bottom:1rem;line-height:1.7;color:var(--gray-700)}.terms-section ul{margin:1rem 0;padding-left:1.5rem}.terms-section li{margin-bottom:.5rem;line-height:1.6;color:var(--gray-700)}.terms-section strong{color:var(--text);font-weight:600}@media (max-width: 768px){.content-section{padding:2rem 0}.terms-content{padding:2rem;margin:0 1rem}.terms-content h1{font-size:2rem}.terms-section h2{font-size:1.3rem}}.faq-page{min-height:100vh;background:var(--gray-900)}.faq-content{max-width:800px;margin:0 auto;background:white;padding:3rem;border-radius:1rem;box-shadow:var(--shadow-lg)}.faq-content h1{text-align:center;margin-bottom:1rem;font-size:2.5rem;color:var(--text)}.faq-subtitle{text-align:center;color:var(--text-light);margin-bottom:2.5rem;font-size:1.1rem}.faq-section{margin-bottom:3rem}.faq-item{margin-bottom:2rem;padding:1.5rem;border:1px solid var(--gray-200);border-radius:.5rem;background:var(--gray-50);transition:box-shadow .2s ease}.faq-item:hover{box-shadow:var(--shadow-md)}.faq-item h3{color:var(--primary);margin-bottom:1rem;font-size:1.25rem;font-weight:600}.faq-item p{color:var(--text);line-height:1.6;margin:0}.faq-contact{text-align:center;padding:2rem;background:linear-gradient(135deg,var(--primary),var(--primary-dark));border-radius:1rem;color:#fff}.faq-contact h3{margin-bottom:1rem;color:#fff}.faq-contact p{margin-bottom:1.5rem;color:#ffffffe6}.contact-button{display:inline-block;padding:.75rem 2rem;background:white;color:var(--primary);text-decoration:none;border-radius:.5rem;font-weight:600;transition:all .2s ease}.contact-button:hover{background:var(--gray-100);transform:translateY(-2px);box-shadow:var(--shadow-md)}@media (max-width: 768px){.faq-content{margin:1rem;padding:2rem 1.5rem}.faq-content h1{font-size:2rem}.faq-item{padding:1rem}.faq-contact{padding:1.5rem}}.session-completion{max-width:800px;margin:0 auto;padding:2rem;text-align:center}.completion-header{margin-bottom:3rem}.completion-header h2{font-size:2.5rem;color:var(--primary);margin-bottom:1rem;font-weight:700}.completion-header p{font-size:1.2rem;color:var(--text-light);margin:0}.completion-results{background:white;border-radius:1rem;padding:3rem;box-shadow:var(--shadow-lg);margin-bottom:2rem}.overall-score{margin-bottom:3rem;padding-bottom:2rem;border-bottom:2px solid var(--gray-200)}.overall-score h3{font-size:1.5rem;color:var(--text);margin-bottom:1rem;font-weight:600}.score-display{font-size:4rem;font-weight:800;margin-bottom:.5rem;padding:1rem;border-radius:.75rem;display:inline-block;min-width:150px}.overall-score p{font-size:1rem;color:var(--text-light);margin:0}.results-breakdown{margin-bottom:3rem}.results-breakdown h4{font-size:1.3rem;color:var(--text);margin-bottom:1.5rem;font-weight:600}.questions-results{display:flex;flex-direction:column;gap:1rem}.question-result{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--gray-100);border-radius:.5rem;transition:background-color .2s ease}.question-result:hover{background:var(--gray-200)}.question-info{display:flex;align-items:center;gap:1rem;flex:1;text-align:left}.question-number{background:var(--primary);color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;flex-shrink:0}.question-text{color:var(--text);font-size:.95rem;line-height:1.4}.question-score{font-weight:700;font-size:1.1rem;padding:.5rem 1rem;border-radius:.5rem;min-width:60px;text-align:center}.completion-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.start-new-session-btn,.view-history-btn{padding:1rem 2rem;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block}.start-new-session-btn{background:var(--primary);color:#fff;box-shadow:var(--shadow-md)}.start-new-session-btn:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.view-history-btn{background:var(--gray-200);color:var(--text);border:1px solid var(--gray-300)}.view-history-btn:hover{background:var(--gray-300);transform:translateY(-2px)}@media (max-width: 768px){.session-completion{padding:1rem}.completion-header h2{font-size:2rem}.completion-results{padding:2rem 1.5rem}.score-display{font-size:3rem;min-width:120px}.question-result{padding:1rem}.question-info{gap:.75rem}.question-text{font-size:.9rem}.completion-actions{flex-direction:column;align-items:center}.start-new-session-btn,.view-history-btn{width:100%;max-width:280px}}.cancel-confirmation{text-align:center;padding:1rem 0}.warning-icon{font-size:4rem;margin-bottom:1rem}.cancel-confirmation h4{color:#1e293b;font-size:1.5rem;font-weight:600;margin-bottom:1rem}.cancel-confirmation p{color:#64748b;font-size:1rem;margin-bottom:1rem;line-height:1.6}.cancel-consequences{list-style:none;padding:0;margin:1.5rem 0;text-align:left;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem 1.5rem}.cancel-consequences li{color:#991b1b;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.cancel-consequences li:before{content:"\26a0\fe0f";font-size:.875rem}.cancel-note{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:8px;padding:1rem;margin-top:1.5rem;color:#0c4a6e;font-size:.9rem}.modal-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.cancel-modal-button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:150px}.cancel-modal-button.secondary{background:#f8fafc;color:#64748b;border:1px solid #e2e8f0}.cancel-modal-button.secondary:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.cancel-modal-button.primary{background:#ef4444;color:#fff}.cancel-modal-button.primary:hover:not(:disabled){background:#dc2626}.cancel-modal-button:disabled{opacity:.6;cursor:not-allowed}.cancel-modal-button.loading{opacity:.8;cursor:wait}.cancel-modal-button.loading:after{content:"";display:inline-block;width:12px;height:12px;margin-left:8px;border:2px solid transparent;border-top:2px solid #fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.payment-modal{max-width:500px;width:90vw;max-height:90vh;overflow-y:auto;background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);box-shadow:0 25px 50px -12px #00000040;border:1px solid rgba(255,255,255,.2);animation:paymentModalSlideIn .4s cubic-bezier(.16,1,.3,1)}@keyframes paymentModalSlideIn{0%{opacity:0;transform:translate(-50%,-60%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.payment-modal .modal-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:2rem;text-align:center;position:relative;overflow:hidden}.payment-modal .modal-header:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%,to{transform:rotate(0)}50%{transform:rotate(180deg)}}.payment-modal .modal-header h3{font-size:1.75rem;font-weight:700;margin:0;position:relative;z-index:1;text-shadow:0 2px 4px rgba(0,0,0,.1)}.payment-modal .close-button{position:absolute;top:1rem;right:1rem;background:rgba(255,255,255,.2);color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);z-index:2}.payment-modal .close-button:hover{background:rgba(255,255,255,.3);transform:rotate(90deg)}.payment-modal .modal-body{padding:0}.payment-plan-details{padding:2rem}.payment-plan-price{text-align:center;margin-bottom:2rem;padding:1.5rem;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border-radius:16px;border:1px solid #e2e8f0;position:relative;overflow:hidden}.payment-plan-price:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:priceShine 2s ease-in-out infinite}@keyframes priceShine{0%{left:-100%}50%{left:100%}to{left:100%}}.payment-plan-price .price{font-size:3rem;font-weight:800;color:#1e293b;display:block;margin-bottom:.5rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;z-index:1}.payment-plan-price .period{font-size:1rem;color:#64748b;font-weight:500;text-transform:uppercase;letter-spacing:.1em}.payment-plan-features{margin-bottom:2rem}.payment-plan-features h4{font-size:1.25rem;font-weight:700;color:#1e293b;margin-bottom:1rem;text-align:center}.payment-plan-features ul{list-style:none;padding:0;margin:0;space-y:.75rem}.payment-plan-features li{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f8fafc;border-radius:12px;margin-bottom:.75rem;transition:all .3s ease;border:1px solid #e2e8f0}.payment-plan-features li:hover{background:#f1f5f9;transform:translate(4px);box-shadow:0 4px 12px #0000000d}.payment-plan-features .feature-check{width:24px;height:24px;background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;flex-shrink:0;box-shadow:0 2px 8px #10b9814d}.payment-provider-info{text-align:center;padding:1.5rem;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-radius:12px;margin-bottom:1.5rem;border:1px solid #f59e0b;position:relative;overflow:hidden}.payment-provider-info:before{content:"\1f512";position:absolute;top:.5rem;right:.5rem;font-size:1rem;opacity:.6}.provider-text{margin:0;font-size:.875rem;color:#92400e;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.5rem}.provider-text:before{content:"\2728";font-size:1rem}.provider-subtext{color:#94a3b8;font-size:.8rem;margin:.5rem 0 0;font-style:italic}.payment-error{background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);border:1px solid #fca5a5;color:#991b1b;padding:1rem;border-radius:12px;margin-bottom:1.5rem;text-align:center;font-weight:500;animation:errorShake .5s ease-in-out}@keyframes errorShake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.payment-modal .modal-actions{padding:2rem;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-top:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:space-between}.upgrade-modal-button{flex:1;padding:1rem 1.5rem;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;text-transform:uppercase;letter-spacing:.05em}.upgrade-modal-button.primary{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;box-shadow:0 10px 25px #667eea4d}.upgrade-modal-button.primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.upgrade-modal-button.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 15px 35px #667eea66}.upgrade-modal-button.primary:hover:not(:disabled):before{left:100%}.upgrade-modal-button.primary:active{transform:translateY(0)}.upgrade-modal-button.secondary{background:#f8fafc;color:#64748b;border:2px solid #e2e8f0}.upgrade-modal-button.secondary:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1;color:#475569;transform:translateY(-1px)}.upgrade-modal-button:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.upgrade-modal-button.primary:disabled{background:#94a3b8;box-shadow:none}.upgrade-modal-button.primary.loading{background:linear-gradient(135deg,#94a3b8 0%,#64748b 100%);cursor:wait}.upgrade-modal-button.loading:after{content:"";width:20px;height:20px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;display:inline-block;margin-left:.5rem}@media (max-width: 576px){.payment-modal{width:95vw;margin:1rem;max-height:95vh}.payment-modal .modal-header{padding:1.5rem}.payment-modal .modal-header h3{font-size:1.5rem}.payment-plan-details{padding:1.5rem}.payment-plan-price .price{font-size:2.5rem}.payment-modal .modal-actions{padding:1.5rem;flex-direction:column}.upgrade-modal-button{width:100%}.payment-plan-features li{padding:.5rem}}.modal-overlay{backdrop-filter:blur(8px);background:rgba(0,0,0,.6);animation:overlayFadeIn .3s ease-out}@keyframes overlayFadeIn{0%{opacity:0;backdrop-filter:blur(0px)}to{opacity:1;backdrop-filter:blur(8px)}}.why-use{padding:6rem 0;background:linear-gradient(135deg,#fefefe 0%,#f8fafc 50%,#e2e8f0 100%);position:relative;overflow:hidden}.why-use:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 20%,rgba(53,99,233,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(108,71,255,.08) 0%,transparent 50%)}.why-use-header{text-align:center;margin-bottom:4rem;position:relative;z-index:1}.why-use-subtitle{font-size:1.2rem;color:var(--text-light);max-width:600px;margin:0 auto;font-weight:500}.why-use-roadmap{max-width:900px;margin:0 auto;position:relative;z-index:1}.why-use-roadmap:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,var(--primary) 0%,var(--secondary) 50%,var(--accent) 100%);transform:translate(-50%);border-radius:2px}.roadmap-item{display:flex;align-items:flex-start;margin-bottom:4rem;position:relative}.roadmap-item:nth-child(even){flex-direction:row-reverse}.roadmap-item:nth-child(even) .roadmap-content{text-align:right;margin-right:3rem;margin-left:0}.roadmap-item:nth-child(odd) .roadmap-content{margin-left:3rem}.roadmap-step{display:flex;flex-direction:column;align-items:center;position:relative;z-index:2;min-width:120px}.step-number{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin-bottom:1rem;box-shadow:0 8px 25px #3563e94d;position:relative;overflow:hidden}.step-number:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.3) 0%,transparent 50%);border-radius:50%}.step-icon{font-size:2.5rem;background:white;width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px #0000001a;border:3px solid rgba(53,99,233,.1);transition:all .3s ease}.roadmap-item:hover .step-icon{transform:scale(1.1);box-shadow:0 15px 40px #00000026;border-color:var(--primary)}.roadmap-content{flex:1;background:white;padding:2.5rem;border-radius:1.5rem;box-shadow:0 10px 30px #00000014;border:1px solid rgba(53,99,233,.1);position:relative;transition:all .3s ease}.roadmap-content:before{content:"";position:absolute;top:50%;width:0;height:0;border:15px solid transparent;transform:translateY(-50%)}.roadmap-item:nth-child(odd) .roadmap-content:before{right:100%;border-right-color:#fff}.roadmap-item:nth-child(even) .roadmap-content:before{left:100%;border-left-color:#fff}.roadmap-item:hover .roadmap-content{transform:translateY(-5px);box-shadow:0 20px 40px #0000001f;border-color:var(--primary)}.roadmap-content h3{margin-bottom:1rem;color:var(--text);font-size:1.4rem;font-weight:600}.roadmap-content p{color:var(--text-light);line-height:1.6;margin-bottom:1.5rem}.benefit-highlight{display:flex;align-items:center;gap:.5rem;padding:1rem;background:linear-gradient(135deg,rgba(53,99,233,.05),rgba(108,71,255,.05));border-radius:.75rem;border:1px solid rgba(53,99,233,.1)}.highlight-text{font-size:1.25rem;font-weight:700;color:var(--primary)}.highlight-desc{color:var(--text-light);font-size:.9rem}@media (max-width: 768px){.why-use-roadmap:before{left:30px}.roadmap-item,.roadmap-item:nth-child(even){flex-direction:row}.roadmap-item:nth-child(even) .roadmap-content,.roadmap-item:nth-child(odd) .roadmap-content{text-align:left;margin-left:2rem;margin-right:0}.roadmap-step{min-width:90px}.step-number{width:50px;height:50px;font-size:1.2rem}.step-icon{width:60px;height:60px;font-size:2rem}.roadmap-content{padding:1.5rem}.roadmap-item:nth-child(even) .roadmap-content:before{left:-15px;border-left-color:#fff;border-right-color:transparent}.roadmap-item:nth-child(odd) .roadmap-content:before{right:auto;left:-15px;border-right-color:#fff;border-left-color:transparent}}.price-section{display:flex;flex-direction:column;align-items:center;margin-bottom:1.5rem}.original-price{font-size:1.1rem;color:var(--text-light);text-decoration:line-through;margin-bottom:.5rem}.price{font-size:2.5rem;font-weight:700;color:var(--primary);margin-bottom:.5rem}.discount-badge{background:var(--accent);color:#fff;padding:.25rem .75rem;border-radius:1rem;font-size:.8rem;font-weight:600;margin:0}
