@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@400;500;600;700&display=swap);.main-content,body{padding-top:0;transition:padding-top .3s ease}.main-content.navbar-shrunk{padding-top:60px}.navbar{background:#fff;box-shadow:var(--shadow-sm);height:80px;left:0;position:fixed;right:0;top:0;transition:all .3s ease;z-index:1000}.navbar.shrunk{height:60px}.navbar .container{align-items:center;display:flex;height:100%;justify-content:space-between}.logo{color:var(--primary-color);font-size:1.5rem;font-weight:700;text-decoration:none}.nav-links{align-items:center;display:flex;gap:2rem}.nav-links a{animation:navTextFadeIn .4s ease forwards;color:var(--text-primary);font-weight:500;text-decoration:none;transition:color .3s ease}.nav-links a.active,.nav-links a:hover{color:var(--primary-color)}.dropdown{position:relative}.dropdown-trigger{color:var(--text-primary);cursor:pointer;font-weight:500}.dropdown-content{background:#fff;border-radius:8px;box-shadow:var(--shadow-lg);left:0;min-width:300px;opacity:0;padding:1rem;position:absolute;top:100%;transform:translateY(10px);transition:all .3s ease;visibility:hidden}.dropdown:hover .dropdown-content{opacity:1;transform:translateY(0);visibility:visible}.megamenu{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr)}.megamenu-column h3{color:var(--text-secondary);font-size:1rem;margin-bottom:.75rem}.megamenu-column ul{list-style:none;padding:0}.megamenu-column ul li{margin-bottom:.5rem}.megamenu-column ul li a{color:var(--text-primary);font-size:.875rem;text-decoration:none;transition:color .3s ease}.megamenu-column ul li a:hover{color:var(--primary-color)}.mobile-menu-button{background:none;border:none;cursor:pointer;display:none;padding:.5rem}.mobile-menu-button span{background:var(--text-primary);display:block;height:2px;margin:4px 0;transition:all .3s ease;width:24px}@media (max-width:1024px){.nav-links{gap:1.5rem}}@media (max-width:768px){.main-content,body{padding-top:0}.mobile-menu-button{display:block}.nav-links{align-items:flex-start;background:#fff;box-shadow:var(--shadow-md);flex-direction:column;gap:1rem;left:0;opacity:0;padding:1rem;position:fixed;right:0;top:80px;transform:translateY(-100%);transition:all .3s ease;visibility:hidden}.nav-links.active{opacity:1;transform:translateY(0);visibility:visible}.dropdown-content{box-shadow:none;opacity:1;padding:.5rem 0;position:static;transform:none;visibility:visible}.megamenu{grid-template-columns:1fr}.navbar.shrunk .nav-links{top:60px}}.mobile-menu{background:#fff;box-shadow:var(--shadow-md);left:0;opacity:0;padding:1rem;position:fixed;right:0;top:80px;transform:translateY(-100%);transition:all .3s ease;visibility:hidden;z-index:999}.mobile-menu.open{opacity:1;transform:translateY(0);visibility:visible}.mobile-nav-link{animation:navTextFadeIn .4s ease forwards;border-bottom:1px solid var(--border-color);color:var(--text-primary);display:block;font-weight:500;padding:.75rem 1rem;text-decoration:none}.mobile-subjects{padding:.5rem 0}.mobile-subject-group{margin-bottom:1rem}.mobile-subject-group h4{color:var(--text-secondary);font-size:.875rem;margin:0;padding:.5rem 1rem}.mobile-subject-link{color:var(--text-primary);display:block;font-size:.875rem;padding:.5rem 1rem .5rem 2rem;text-decoration:none;transition:color .3s ease}.mobile-subject-link:hover{color:var(--primary-color)}.mobile-auth{display:flex;gap:.5rem;padding:1rem}.mobile-auth .btn{flex:1 1;text-align:center}@keyframes navTextFadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.hero-container{background:linear-gradient(135deg,#f0f8ff,#fff 50%,#faf0ff);min-height:100vh;padding:2rem 1rem}.hero-header{animation:fadeInUp .8s ease-out;margin-bottom:2rem;text-align:center}.hero-badge{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:9999px;box-shadow:0 10px 25px #3b82f64d;color:#fff;display:inline-flex;font-size:.875rem;font-weight:500;margin-bottom:1rem;padding:.5rem 1rem}.hero-title{color:#1f2937;font-size:2.5rem;font-weight:700;line-height:1.2;margin-bottom:1rem}.hero-title-gradient{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#2563eb,#8b5cf6);background-clip:text;-webkit-background-clip:text;color:#0000;display:block}.hero-title-question{display:block;font-size:2rem}.hero-subtitle{color:#6b7280;font-size:1.25rem;margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:42rem}.hero-stats-badges{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:2rem}.hero-stat-badge{align-items:center;border-radius:9999px;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem}.hero-stat-green{background-color:#dcfce7;color:#166534}.hero-stat-orange{background-color:#fed7aa;color:#c2410c}.hero-stat-dot{animation:pulse 2s infinite;background-color:#10b981;border-radius:50%;height:.5rem;width:.5rem}.hero-stat-number{font-weight:700}.hero-features-container{margin:0 auto 3rem;max-width:72rem}.hero-features-title{color:#374151;font-size:1.5rem;font-weight:700;margin-bottom:2rem;text-align:center}.hero-features-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;margin-bottom:2rem}@media (min-width:768px){.hero-features-grid{grid-template-columns:1fr 1fr}.hero-title{font-size:3.75rem}.hero-title-question{font-size:3rem}}.hero-feature-card{background:#fff;border-radius:1rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;padding:1.5rem;transition:all .3s ease}.hero-feature-card:hover{box-shadow:0 25px 50px -12px #00000040;transform:translateY(-.5rem)}.hero-card-blue{border:1px solid #dbeafe}.hero-card-purple{border:1px solid #e9d5ff}.hero-card-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.hero-card-icon{align-items:center;border-radius:.75rem;display:flex;font-size:1.25rem;height:3rem;justify-content:center;width:3rem}.hero-card-icon-blue{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff}.hero-card-icon-purple{background:linear-gradient(135deg,#8b5cf6,#ec4899);color:#fff}.hero-card-icon-green{background:linear-gradient(135deg,#10b981,#2563eb);color:#fff}.hero-card-title{color:#374151;font-size:1.125rem;font-weight:700;margin:0}.hero-card-subtitle{color:#6b7280;font-size:.875rem;margin:0}.hero-chat-preview{background-color:#f9fafb;border-radius:.75rem;margin-bottom:1rem;padding:1rem}.hero-chat-message{display:flex;flex-direction:column;gap:.5rem}.hero-chat-ai-message{align-items:flex-start;display:flex;gap:.75rem}.hero-chat-user-message{display:flex;justify-content:flex-end;margin-top:.5rem}.hero-chat-avatar{align-items:center;background-color:#3b82f6;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.875rem;font-weight:600;height:2rem;justify-content:center;width:2rem}.hero-chat-bubble{border-radius:1rem;font-size:.875rem;max-width:85%;padding:.75rem 1rem}.hero-chat-bubble-ai{background-color:#3b82f6;border-top-left-radius:.25rem;color:#fff}.hero-chat-bubble-user{background-color:#fff;border:1px solid #e5e7eb;border-top-right-radius:.25rem;color:#374151}.hero-feature-list{list-style:none;margin:0;padding:0}.hero-feature-item{align-items:center;color:#6b7280;display:flex;font-size:.875rem;gap:.5rem;margin-bottom:.5rem}.hero-check{color:#10b981;font-weight:600}.hero-test-list{margin-bottom:1rem}.hero-test-item{align-items:center;border-radius:.75rem;display:flex;justify-content:space-between;margin-bottom:.75rem;padding:.75rem}.hero-test-blue{background-color:#eff6ff}.hero-test-green{background-color:#f0fdf4}.hero-test-orange{background-color:#fff7ed}.hero-test-icon{align-items:center;border-radius:.5rem;display:flex;height:2rem;justify-content:center;margin-right:.75rem;width:2rem}.hero-test-name{color:#374151;flex-grow:1;font-weight:500}.hero-test-count{font-weight:700}.hero-test-blue .hero-test-count{color:#2563eb}.hero-test-green .hero-test-count{color:#16a34a}.hero-test-orange .hero-test-count{color:#ea580c}.hero-locked-banner{background:linear-gradient(135deg,#8115f4,#ff199b);border-radius:.75rem;padding:.75rem;text-align:center}.hero-locked-text{color:#7c3aed;font-size:.875rem;font-weight:500;margin:0}.hero-progress-card{background:#fff;border:1px solid #d1fae5;border-radius:1rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;padding:1.5rem;transition:all .3s ease}.hero-progress-card:hover{box-shadow:0 25px 50px -12px #00000040}.hero-progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.hero-progress-score{text-align:right}.hero-progress-number{color:#16a34a;font-size:1.5rem;font-weight:700}.hero-progress-label{color:#6b7280;font-size:.875rem}.hero-progress-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr 1fr}.hero-stat-box{border-radius:.75rem;padding:1rem;text-align:center}.hero-stat-blue-bg{background-color:#eff6ff}.hero-stat-green-bg{background-color:#f0fdf4}.hero-stat-purple-bg{background-color:#faf5ff}.hero-stat-value{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.hero-stat-blue-bg .hero-stat-value{color:#2563eb}.hero-stat-green-bg .hero-stat-value{color:#16a34a}.hero-stat-purple-bg .hero-stat-value{color:#8b5cf6}.hero-stat-label{color:#6b7280;font-size:.875rem}.hero-cta-section{margin:0 auto;max-width:32rem;text-align:center}.hero-cta-title{color:#374151;font-size:1.875rem;font-weight:700;margin-bottom:1rem}.hero-cta-subtitle{color:#6b7280;font-size:1.125rem;margin-bottom:2rem}.hero-cta-buttons{margin-bottom:3rem}.hero-primary-btn{align-items:center;background:linear-gradient(135deg,#2563eb,#8b5cf6);border:none;border-radius:1rem;color:#fff;cursor:pointer;display:flex;font-size:1.125rem;font-weight:700;gap:.5rem;justify-content:center;margin:0 auto 1rem;max-width:24rem;padding:1rem 2rem;transition:all .3s ease;width:100%}.hero-primary-btn:hover{box-shadow:0 25px 50px -12px #2563eb80;transform:scale(1.05)}.hero-cta-benefits{color:#6b7280;font-size:.875rem;margin:0}.hero-support-section{background-color:#fefce8;border:1px solid #fde047;border-radius:1rem;padding:1rem}.hero-support-text{color:#a16207;font-size:.875rem;margin:0 0 .5rem}.hero-support-subtext{color:#a16207;font-size:.75rem;margin:0}@media (max-width:767px){.hero-container{padding:1rem .5rem}.hero-title{font-size:2rem}.hero-title-question{font-size:1.75rem}.hero-subtitle{font-size:1rem}.hero-progress-stats{gap:.5rem}.hero-stat-box{padding:.75rem .5rem}.hero-stats-badges{align-items:center;flex-direction:column}}.hero-support-button{background:linear-gradient(90deg,#a984ff,#7d61e5);border-radius:12px;box-shadow:0 3px 8px #0000001a;color:#fff;cursor:pointer;display:inline-block;font-size:16px;font-weight:600;padding:10px 20px;text-decoration:none;transition:all .3s ease}.hero-support-button:hover{background:linear-gradient(90deg,#7d61e5,#a984ff);box-shadow:0 5px 12px #00000026;transform:translateY(-2px)}.hero-support-button:active{box-shadow:0 3px 8px #0000001a;transform:translateY(0)}:root{--primary-accent:#667eea;--secondary-accent:#764ba2;--background-start:#f4f6fe;--background-end:#e5e7ff;--text-secondary:#4b5563;--text-on-accent:#fff;--card-background:#ffffffb3;--card-background-hover:#ffffffe6;--card-border:#d1d5db99;--card-shadow:#6366f11a;--card-shadow-hover:#6366f133;--spacing-unit:8px;--border-radius-medium:12px;--border-radius-large:18px;--border-radius-xl:24px;--transition-smooth:0.3s cubic-bezier(0.4,0,0.2,1)}.learn-container{background:linear-gradient(135deg,#f4f6fe,#e5e7ff);background:linear-gradient(135deg,var(--background-start) 0,var(--background-end) 100%);min-height:100vh;padding:8px 8px 0;padding:var(--spacing-unit) var(--spacing-unit) 0 var(--spacing-unit)}.learn-content{margin:0 auto;max-width:800px}.learn-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);background:linear-gradient(135deg,var(--primary-accent) 0,var(--secondary-accent) 100%);-webkit-background-clip:text;font-size:clamp(2rem,5vw,3rem);font-weight:700;margin-bottom:16px;margin-bottom:calc(var(--spacing-unit)*2);text-align:center;text-shadow:0 1px 2px #0000000d}.learn-search-container{align-items:center;background:#ffffffb3;background:var(--card-background);border:1px solid #d1d5db99;border:1px solid var(--card-border);border-radius:24px;border-radius:var(--border-radius-xl);box-shadow:0 4px 15px #6366f11a;box-shadow:0 4px 15px var(--card-shadow);display:flex;margin:0 auto 16px;margin:0 auto calc(var(--spacing-unit)*2) auto;max-width:600px;padding:0;position:relative}.learn-search-icon{color:#4b5563;color:var(--text-secondary);font-size:1.4rem;left:16px;left:calc(var(--spacing-unit)*2);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);z-index:2}.learn-search-input{background:#0000;border:none;border-radius:24px;border-radius:var(--border-radius-xl);box-shadow:none;color:#1f2937;color:var(--text-primary);font-size:1rem;outline:none;padding:14px 16px 14px 44px;padding:calc(var(--spacing-unit)*1.75) calc(var(--spacing-unit)*2) calc(var(--spacing-unit)*1.75) calc(var(--spacing-unit)*5.5);transition:background .3s cubic-bezier(.4,0,.2,1);transition:background var(--transition-smooth);width:100%}.learn-search-input:focus{background:#ffffffe6}.learn-topics-list{display:flex;flex-direction:column;gap:16px;gap:calc(var(--spacing-unit)*2)}.learn-topic-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffb3;background:var(--card-background);border:1px solid #d1d5db99;border:1px solid var(--card-border);border-radius:18px;border-radius:var(--border-radius-large);box-shadow:0 8px 32px #6366f11a;box-shadow:0 8px 32px var(--card-shadow);cursor:pointer;overflow:hidden;padding:20px 24px;padding:calc(var(--spacing-unit)*2.5) calc(var(--spacing-unit)*3);transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-smooth)}.learn-topic-card:hover{background:#ffffffe6;background:var(--card-background-hover);box-shadow:0 16px 40px #6366f133;box-shadow:0 16px 40px var(--card-shadow-hover);transform:translateY(-5px) scale(1.02)}.learn-topic-header{align-items:center;display:flex;gap:8px;gap:var(--spacing-unit);justify-content:space-between}.learn-topic-title{align-items:center;display:flex;gap:12px;gap:calc(var(--spacing-unit)*1.5)}.learn-topic-icon{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:12px;border-radius:var(--border-radius-medium);color:#667eea;color:var(--primary-accent);font-size:1.6rem;padding:8px;padding:var(--spacing-unit)}.learn-topic-name{color:#1f2937;color:var(--text-primary);font-size:1.15rem;font-weight:600;margin:0}.learn-expand-icon{color:#4b5563;color:var(--text-secondary);font-size:1.8rem;transition:transform .3s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-smooth)}.learn-topic-details{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1);transition:grid-template-rows var(--transition-smooth)}.learn-topic-selected .learn-topic-details{grid-template-rows:1fr}.learn-topic-details>div{overflow:hidden}.learn-topic-selected{background:#ffffffe6;background:var(--card-background-hover);border-color:#667eea;border-color:var(--primary-accent)}.learn-topic-selected .learn-expand-icon{transform:rotate(180deg)}.learn-topic-description{color:#4b5563;color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0;padding:16px 0;padding:calc(var(--spacing-unit)*2) 0}.learn-topic-buttons{display:flex;gap:12px;gap:calc(var(--spacing-unit)*1.5);padding-bottom:8px;padding-bottom:var(--spacing-unit)}.learn-button{align-items:center;border:none;border-radius:12px;border-radius:var(--border-radius-medium);cursor:pointer;display:flex;flex:1 1;font-size:.9rem;font-weight:600;gap:8px;gap:var(--spacing-unit);justify-content:center;outline:none;padding:10px 16px;padding:calc(var(--spacing-unit)*1.25) calc(var(--spacing-unit)*2);text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-smooth)}.learn-button:focus-visible{box-shadow:0 0 0 3px #667eea66}.learn-button-primary{background:linear-gradient(135deg,#667eea,#764ba2);background:linear-gradient(135deg,var(--primary-accent),var(--secondary-accent));box-shadow:0 4px 12px #667eea4d;color:#fff;color:var(--text-on-accent)}.learn-button-primary:hover{box-shadow:0 7px 20px #667eea66;transform:translateY(-2px)}.learn-button-secondary{background:#0000;border:1px solid #667eea;border:1px solid var(--primary-accent);color:#667eea;color:var(--primary-accent)}.learn-button-secondary:hover{background:#667eea1a;transform:translateY(-2px)}.learn-skeleton-card{background:#ffffffb3;background:var(--card-background);border-radius:18px;border-radius:var(--border-radius-large);margin-bottom:16px;margin-bottom:calc(var(--spacing-unit)*2);overflow:hidden;padding:20px 24px;padding:calc(var(--spacing-unit)*2.5) calc(var(--spacing-unit)*3);position:relative}.learn-skeleton-description,.learn-skeleton-title{background-color:#e5e7eb;border-radius:12px;border-radius:var(--border-radius-medium)}.learn-skeleton-title{height:36px;width:60%}.learn-skeleton-description{height:16px;margin-top:8px;margin-top:var(--spacing-unit)}.learn-skeleton-card:after{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#fff6,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0;transform:translateX(-100%)}@media (max-width:768px){.learn-container{padding:12px 8px;padding:calc(var(--spacing-unit)*1.5) var(--spacing-unit)}.learn-topic-buttons{flex-direction:column}}.enhanced-clear-search{align-items:center;background:#f3f3f3;border:none;border-radius:50%;box-shadow:0 1px 3px #0000000a;cursor:pointer;display:flex;height:32px;justify-content:center;margin-left:4px;transition:background .2s;width:32px}.enhanced-clear-search:focus,.enhanced-clear-search:hover{background:#e0e0e0}.learn-no-results{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;margin-top:32px;padding:24px 0}.learn-no-results-icon{color:#bdbdbd;font-size:48px;margin-bottom:12px}.learn-no-results-text{color:#666;font-size:1.1rem;margin-bottom:16px;text-align:center}.learn-clear-search-button{background:#1976d2;border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:1rem;margin-top:8px;padding:8px 20px;transition:background .2s}.learn-clear-search-button:focus,.learn-clear-search-button:hover{background:#1565c0}.learn-search-container,.search-input-container{align-items:center;background:#fff;border-radius:24px;box-shadow:0 1px 4px #0000000a;display:flex;height:44px;margin-bottom:20px;padding:0 12px;position:relative}.learn-search-input,.search-input{background:#0000;border:none!important;border-radius:24px;box-shadow:none!important;color:#222;flex:1 1;font-size:1.1rem;outline:none!important;padding:10px 8px 10px 36px;transition:background .3s cubic-bezier(.4,0,.2,1);transition:background var(--transition-smooth)}.learn-search-input:focus,.search-input:focus{background:#ffffffe6;border:none!important;box-shadow:none!important;outline:none!important}.learn-search-icon,.search-icon{color:#bdbdbd;font-size:22px;left:16px;pointer-events:none;position:absolute}.clear-search,.learn-search-clear{align-items:center;background:#f3f3f3;border:none;border-radius:50%;box-shadow:0 1px 3px #00000012;color:#888;cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:10px;transition:background .2s,box-shadow .2s;width:32px;z-index:2}.clear-search:focus,.clear-search:hover,.learn-search-clear:focus,.learn-search-clear:hover{background:#e0e0e0;box-shadow:0 2px 8px #1976d214;color:#1976d2}@media (max-width:600px){.learn-search-container,.search-input-container{height:38px;padding:0 8px}.learn-search-input,.search-input{font-size:1rem;padding-left:32px}.learn-search-icon,.search-icon{font-size:18px;left:10px}.clear-search,.learn-search-clear{height:28px;right:6px;width:28px}}.learn-auth-overlay{align-items:center;background:#fffffff2;border-radius:12px;bottom:0;display:flex;justify-content:center;left:0;padding:1.5rem;position:absolute;right:0;top:0;z-index:10}.learn-auth-content{align-items:center;display:flex;flex-direction:column;gap:1rem;text-align:center}.learn-auth-icon{align-items:center;background:#4f46e51a;border-radius:50%;box-shadow:0 2px 8px #4f46e526;color:#4f46e5;display:flex;justify-content:center;padding:1rem}.learn-auth-content p{color:#1e293b;font-size:1.1rem;font-weight:500;margin:0}.learn-auth-buttons{display:flex;gap:1rem;margin-top:.5rem}.learn-auth-button{border-radius:8px;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease}.learn-auth-button.signin{background:#4f46e5;border:none;box-shadow:0 2px 8px #4f46e540;color:#fff}.learn-auth-button.signin:hover{background:#4338ca;box-shadow:0 4px 12px #4f46e54d;transform:translateY(-2px)}.learn-auth-button.signup{background:#fff;border:2px solid #4f46e5;color:#4f46e5}.learn-auth-button.signup:hover{background:#4f46e51a;transform:translateY(-2px)}.learn-button-lock{margin-right:.5rem}.learn-button-secondary{align-items:center;display:flex;gap:.5rem;justify-content:center;position:relative}.dark-theme .learn-auth-overlay{background:#1e293bf2}.dark-theme .learn-auth-content p{color:#f8fafc}.dark-theme .learn-auth-button.signup{background:#1e293b;border-color:#4f46e5}.dark-theme .learn-auth-button.signup:hover{background:#334155}.learn-skeleton{margin:0 auto;max-width:900px;padding:32px 16px}.learn-skeleton-header{background:#ececec;border-radius:8px;height:32px;margin-bottom:24px;width:40%}.learn-skeleton-search{background:#ececec;border-radius:8px;height:40px;margin-bottom:32px;width:100%}.learn-skeleton-cards{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.learn-skeleton-card{background:#f7f7f7;border-radius:12px;box-shadow:0 1px 4px #00000008;display:flex;flex-direction:column;gap:16px;min-height:120px;padding:20px 16px}.learn-skeleton-title{align-items:center;display:flex;gap:16px}.learn-skeleton-icon{background:#e0e0e0;border-radius:50%;height:32px;width:32px}.learn-skeleton-text{background:#e0e0e0;border-radius:6px;height:18px;width:60%}.learn-skeleton-description{background:#ececec;border-radius:6px;height:14px;width:90%}.topic-container{background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000001a;margin:1rem;overflow:hidden;padding-top:.5rem;transform:translateZ(0);will-change:transform}.topic-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;gap:1rem;margin-bottom:1.5rem;padding:1.5rem 1.5rem 1rem}.topic-header h2{color:var(--text-primary);flex:1 1;font-size:1.75rem;font-weight:600;line-height:1.3;margin:0}.back-button{background:#fff3;border-radius:50%;color:#fff;height:40px;transition:background-color .3s ease;width:40px}.back-button:hover{background:#ffffff4d}.topic-sections{padding:1.5rem}.topic-section{background:#f8f9fa;border-radius:16px;margin-bottom:1.5rem;padding:1.5rem}.topic-section h3{align-items:center;color:var(--primary-color);display:flex;font-size:1.375rem;font-weight:600;gap:.5rem;line-height:1.4;margin-bottom:1rem}.topic-section .material-icons{font-size:1.5rem}.topic-section p{color:var(--text-primary);font-size:1.0625rem;line-height:1.6;margin-bottom:1rem}.example-en highlight,.example-ru highlight,.formula-content highlight,.topic-section p highlight{background:linear-gradient(120deg,var(--primary-light) 0,var(--primary-color) 100%);background-position:0 100%;background-repeat:no-repeat;background-size:100% .2em;color:var(--primary-color);display:inline;font-weight:500;padding:.1em 0;transition:all .3s ease}.example-en highlight:hover,.example-ru highlight:hover,.formula-content highlight:hover,.topic-section p highlight:hover{background-size:100% 100%;border-radius:4px;color:#fff;padding:.1em .2em}.topic-section p:last-child{margin-bottom:0}.formula-content{background:#fff;border:2px solid #e9ecef;border-radius:12px;font-family:monospace;font-size:1.125rem;line-height:1.6;padding:1.25rem}.examples-list{list-style:none;margin:0;padding:0}.example-item{background:#fff;border:1px solid #e9ecef;border-radius:12px;margin-bottom:1rem;padding:1.25rem}.example-item:last-child{margin-bottom:0}.example-en{color:var(--primary-color);font-size:1.125rem;font-weight:500;line-height:1.5;margin-bottom:.5rem}.example-ru,.example-translation{color:var(--text-secondary);font-size:1.0625rem;line-height:1.6;opacity:.85}.quiz-section{background:#f8f9fa;border-top:1px solid #e9ecef;padding:1.5rem;transform:translateZ(0);will-change:transform}.quiz-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.quiz-header h3{color:var(--primary-color);font-size:1.375rem;font-weight:600;line-height:1.4;margin:0}.quiz-header h3,.start-quiz-button{align-items:center;display:flex;gap:.5rem}.start-quiz-button{background:var(--primary-color);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.start-quiz-button:hover{background:var(--primary-dark);transform:translateY(-2px)}.quiz-container{-webkit-overflow-scrolling:touch;background:#fff;border-radius:16px;box-shadow:0 2px 10px #0000000d;margin:0 auto;max-width:800px;overflow-y:auto;padding:1rem;width:90%}.quiz-progress{background:#e9ecef;border-radius:3px;height:6px;margin-bottom:2rem;overflow:hidden}.quiz-progress-bar{background:var(--primary-color);height:100%;transition:width .3s ease}.question-container{padding:1rem;text-align:center}.question-header{margin-bottom:2rem}.question-number{color:var(--primary-color);display:block;font-size:.9375rem;font-weight:500;margin-bottom:.5rem}.question-text{background:#f8f9fa;border-radius:12px;box-shadow:0 2px 4px #0000000d;color:var(--text-primary);font-size:1.3rem;line-height:1.5;margin:0;padding:1rem}.answers-grid{grid-gap:.75rem;display:grid;gap:.75rem;margin-bottom:1rem;padding:0 1rem}.answer-button{background:#fff;border:2px solid #e9ecef;border-radius:12px;color:var(--text-primary);cursor:pointer;font-size:1.1rem;line-height:1.5;padding:1rem;text-align:left;transition:all .3s ease}.answer-button.selected,.answer-button:hover{background:var(--primary-light);border-color:var(--primary-color)}.answer-button.selected{color:var(--primary-color)}.answer-button.correct{background:#e6f4ea;border-color:#34a853;color:#34a853}.answer-button:disabled{cursor:not-allowed;opacity:.7}.correct-icon{color:#34a853;margin-left:8px}.answer-feedback{border-radius:8px;margin:.75rem 0;padding:.75rem;text-align:center}.feedback{font-size:1.125rem;font-weight:500;line-height:1.5;margin:0}.feedback.correct{color:#34a853}.feedback.incorrect{color:#ea4335}.next-button{align-items:center;background:var(--primary-color);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;font-weight:500;gap:.5rem;justify-content:center;margin:.75rem auto 0;padding:1rem 2rem;transition:all .3s ease}.next-button:disabled{background:#e9ecef;cursor:not-allowed}.next-button:not(:disabled):hover{background:var(--primary-dark)}.quiz-results{align-items:center;display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem 1rem;text-align:center}.score-display{margin:0 auto;max-width:200px;position:relative;width:100%}.score-circle{animation:pulse 2s ease-in-out infinite;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));box-shadow:0 4px 20px #4f46e54d;height:150px;margin:0 auto;width:150px}.score-number{color:#fff;font-size:2.5rem;font-weight:700;text-shadow:0 2px 4px #0000001a}.motivation-message{background:var(--primary-light);border-left:4px solid var(--primary-color);border-radius:16px;box-shadow:0 4px 15px #0000000d;margin:0 auto;max-width:500px;padding:1.5rem;width:100%}.motivation-message p{font-size:1.2rem;line-height:1.6;margin:0}.motivation-message p,.retry-button{color:var(--primary-color);font-weight:500}.retry-button{align-items:center;background:#fff;border:2px solid var(--primary-color);border-radius:12px;box-shadow:0 4px 10px #0000000d;cursor:pointer;display:flex;flex:1 1;font-size:1.1rem;gap:.75rem;justify-content:center;max-width:250px;padding:1rem 1.5rem;transition:all .3s ease}.retry-button:hover{background:var(--primary-light);box-shadow:0 6px 15px #0000001a;transform:translateY(-2px)}.retry-button:active{box-shadow:0 2px 5px #0000001a;transform:translateY(0)}.topic-footer{background:var(--primary-light);border-radius:12px;margin-top:2rem;padding:1.5rem;text-align:center}.motivation-text{color:var(--primary-color);font-size:1.2rem;font-weight:500;margin-bottom:1.5rem}.back-to-topics-button{align-items:center;background:var(--primary-color);border-radius:8px;color:#fff;display:inline-flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:background-color .3s ease}.back-to-topics-button:hover{background:var(--primary-dark)}@media (max-width:768px){.topic-container{border-radius:0;margin:0}.quiz-section,.topic-section,.topic-sections{padding:1rem}.quiz-actions{flex-direction:column}.retry-button{font-size:1rem;max-width:none;padding:.875rem 1.25rem;width:100%}.answers-grid{gap:.5rem;margin-bottom:.75rem}.quiz-header{align-items:flex-start;flex-direction:column;gap:1rem}.start-quiz-button{justify-content:center;width:100%}.topic-footer{margin-top:1.5rem;padding:1rem}.motivation-text{font-size:1.1rem}.back-to-topics-button{justify-content:center;width:100%}.answer-button{font-size:1rem;padding:.875rem}.question-text{font-size:1.125rem;padding:.875rem}.feedback{font-size:1.0625rem}.next-button{margin:.5rem auto 0;padding:.875rem 1.5rem}.answer-button{transition:background-color .2s ease}.answer-button:active{transform:none}.topic-header h2{font-size:1.5rem}.topic-section h3{font-size:1.25rem}.topic-section p{font-size:1rem}.formula-content{font-size:1rem;padding:1rem}.example-en{font-size:1.0625rem}.example-ru{font-size:1rem}.quiz-header h3{font-size:1.375rem}.question-number{font-size:1rem}.question-text{font-size:1.25rem;line-height:1.6;padding:1rem}.answer-button{padding:1rem}.answer-button,.feedback,.next-button{font-size:1.125rem;line-height:1.6}.next-button{padding:1rem 1.5rem}.score-circle{height:120px;width:120px}.score-number{font-size:2rem}.motivation-message{padding:1.25rem}.motivation-message p{font-size:1.1rem}.retry-button:hover{box-shadow:0 4px 10px #0000000d;transform:none}.quiz-results{gap:1.25rem;padding:1.25rem .75rem}.quiz-container{border-radius:16px;max-width:800px;width:100%}}@media (min-width:769px){.answers-grid{grid-template-columns:repeat(2,1fr)}}.material-icons{font-display:block;text-rendering:optimizeLegibility}*{-webkit-tap-highlight-color:transparent}.answer-button,button{touch-action:manipulation}.dark-theme .topic-container{background:var(--background-dark)}.dark-theme .topic-section{background:var(--background-darker)}.dark-theme .example-item,.dark-theme .formula-content{background:var(--background-dark);border-color:var(--border-color-dark)}.dark-theme .answer-button,.dark-theme .quiz-container{background:var(--background-dark)}.dark-theme .answer-button{border-color:var(--border-color-dark)}.dark-theme .answer-button:hover{background:var(--background-darker)}.dark-theme .example-en{color:var(--primary-light)}.dark-theme .example-ru{color:var(--text-secondary);opacity:.75}.dark-theme .topic-section p highlight{background:linear-gradient(120deg,var(--primary-dark) 0,var(--primary-color) 100%);color:var(--primary-light)}.dark-theme .topic-section p highlight:hover{color:#fff}.topic-container{background:#fff!important}.topic-section{background:#f8f9fa!important}.example-item,.formula-content{background:#fff!important;border-color:#e9ecef!important}.answer-button,.quiz-container{background:#fff!important}.answer-button{border-color:#e9ecef!important}.answer-button.selected,.answer-button:hover{background:var(--primary-light)!important;border-color:var(--primary-color)!important}.answer-button.correct{background:#e6f4ea!important;border-color:#34a853!important}.example-en,.example-ru,.example-translation,.formula-content,.motivation-message p,.topic-section p{animation:textFadeIn .4s ease forwards}@keyframes textFadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.score-label{color:var(--primary-color);font-size:1.1rem;font-weight:500;margin-top:.5rem;opacity:.9}.motivation-icon{display:flex;justify-content:center;margin-bottom:.75rem}.motivation-icon .material-icons{align-items:center;background:#fff;border-radius:50%;box-shadow:0 2px 8px #0000001a;color:var(--primary-color);display:flex;font-size:2rem;height:48px;justify-content:center;width:48px}.back-to-lessons-button{align-items:center;background:var(--primary-color);border-radius:12px;box-shadow:0 4px 10px #0000001a;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:1.1rem;font-weight:500;gap:.75rem;justify-content:center;max-width:250px;padding:1rem 1.5rem;text-decoration:none;transition:all .3s ease}.back-to-lessons-button:hover{background:var(--primary-dark);box-shadow:0 6px 15px #00000026;transform:translateY(-2px)}.back-to-lessons-button:active{box-shadow:0 2px 5px #0000001a;transform:translateY(0)}.quiz-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;max-width:500px;width:100%}@media (max-width:768px){.quiz-actions{flex-direction:column;gap:.75rem}.back-to-lessons-button,.retry-button{font-size:1rem;max-width:none;padding:.875rem 1.25rem}.score-label{font-size:1rem}.motivation-icon .material-icons{font-size:1.75rem;height:40px;width:40px}.back-to-lessons-button:hover,.retry-button:hover{transform:none}}.topic-skeleton{background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000001a;margin:1rem;overflow:hidden;padding-bottom:2rem;transform:translateZ(0);will-change:transform}.skeleton-header{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));height:80px;opacity:.7;overflow:hidden;position:relative}.skeleton-header:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#fff0,#fff3 50%,#fff0);content:"";height:100%;left:0;position:absolute;top:0;width:100%}.skeleton-content{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem}.skeleton-section{background:#f8f9fa;border-radius:16px;overflow:hidden;padding:1.5rem;position:relative}.skeleton-section-header{border-radius:6px;height:30px;margin-bottom:1rem;width:50%}.skeleton-section-header,.skeleton-text{background:#e9ecef;overflow:hidden;position:relative}.skeleton-text{border-radius:4px;height:15px;margin-bottom:.75rem}.skeleton-text.text-100{width:100%}.skeleton-text.text-75{width:75%}.skeleton-text.text-50{width:50%}.skeleton-box{background:#e9ecef;border-radius:8px;height:80px;margin:1.5rem 0;overflow:hidden;position:relative}.skeleton-box:after,.skeleton-section-header:after,.skeleton-section:after,.skeleton-text:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#fff0,#ffffff80 50%,#fff0);content:"";height:100%;left:0;position:absolute;top:0;width:100%}.loading-spinner{display:none}@media (max-width:768px){.topic-skeleton{border-radius:0;margin:0}.skeleton-header{height:70px}.skeleton-content{gap:1rem;padding:1rem}.skeleton-section{padding:1rem}.skeleton-section-header{height:25px;margin-bottom:.75rem}.skeleton-text{height:12px;margin-bottom:.5rem}.skeleton-box{height:60px;margin:1rem 0}}.improved-back-btn{align-items:center;background:var(--primary-color);border-radius:20px;box-shadow:0 2px 4px #00000026;color:#fff;display:flex;font-weight:500;gap:8px;padding:8px 16px;text-decoration:none;transition:all .3s ease}.improved-back-btn:hover{background:var(--primary-dark);box-shadow:0 3px 6px #0003;transform:translateX(-3px)}.improved-back-btn .back-text{display:inline-block;font-size:14px}.back-button{align-items:center;display:flex;justify-content:center;text-decoration:none;transition:all .3s ease}.improved-back-btn .material-icons{font-size:18px}@media (max-width:768px){.improved-back-btn{padding:6px 12px}.improved-back-btn .back-text{font-size:13px}}.practice-ai-explain-btn{border-radius:10px;gap:.75rem;min-height:44px;padding:.875rem 1.25rem}.practice-ai-explain-btn:hover:not(:disabled){transform:translateY(-1px)}.practice-ai-explain-btn .ai-loading-container{gap:.5rem;margin:0;padding:0}.practice-ai-explain-btn .ai-loading-dots{gap:.25rem}.practice-ai-explain-btn .ai-loading-dot{background:currentColor;height:.4rem;width:.4rem}.practice-ai-explain-btn .ai-loading-text{color:currentColor;font-size:inherit;font-weight:inherit}.practice-ai-error{background:#fef2f2;border:1px solid #fee2e2;border-radius:8px;color:#ef4444;font-size:.9rem;margin-top:.75rem;padding:.75rem}.practice-ai-explanation{background:#fff;border:1px solid #e5e7eb}.practice-ai-explanation .ai-text{color:#1e293b;font-size:.95rem}.dark-theme .practice-ai-explanation{background:#fff;border-color:#e5e7eb}.dark-theme .practice-ai-explanation .ai-text{color:#1e293b}.dark-theme .practice-ai-error{background:#fef2f2;border-color:#fee2e2;color:#ef4444}@media (max-width:768px){.practice-ai-section{margin-bottom:1.25rem;margin-top:1.25rem}.practice-ai-explain-btn{font-size:.875rem;justify-content:center;padding:.75rem 1rem;width:100%}.practice-ai-explanation{padding:1rem}.practice-ai-explanation strong{font-size:.9375rem}.practice-ai-explanation .ai-text{font-size:.875rem}.practice-ai-error{font-size:.875rem;padding:.625rem}}.grammar-auth-required{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:1rem;margin-top:1rem;padding:1rem}.grammar-auth-icon{align-items:center;background:#4f46e51a;border-radius:50%;color:#4f46e5;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.grammar-auth-text{flex:1 1}.grammar-auth-text p{color:#1e293b;font-size:.9375rem;font-weight:500;margin:0 0 .75rem!important}.grammar-auth-buttons{display:flex;gap:.75rem}.grammar-auth-button{border-radius:8px;font-size:.875rem;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease}.grammar-signin{background:#4f46e5;border:none;color:#fff}.grammar-signin:hover{background:#4338ca;transform:translateY(-1px)}.grammar-signup{background:#fff;border:1px solid #4f46e5;color:#4f46e5}.grammar-signup:hover{background:#4f46e51a;transform:translateY(-1px)}.dark-theme .grammar-auth-required{background:#fff!important;border-color:#e2e8f0}.dark-theme .grammar-auth-text p{color:#1e293b!important}@media (max-width:640px){.grammar-auth-required{flex-direction:column;padding:1rem;text-align:center}.grammar-auth-buttons{flex-direction:column;width:100%}.grammar-auth-button{padding:.625rem 1rem;text-align:center;width:100%}}.ai-loading-container{align-items:center;display:flex;flex-direction:column;gap:.75rem;padding:.5rem}.ai-loading-dots{display:flex;gap:.35rem}.ai-loading-dot{animation:ai-loading-pulse 1.4s ease-in-out infinite;background:#4f46e5;border-radius:50%;height:.5rem;opacity:.3;width:.5rem}.ai-loading-dot:nth-child(2){animation-delay:.2s}.ai-loading-dot:nth-child(3){animation-delay:.4s}.ai-loading-text{align-items:center;color:#64748b;display:inline-flex;font-size:.95rem;font-weight:500;position:relative}@keyframes ai-loading-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.dark-theme .ai-loading-dot{background:#6366f1}.dark-theme .ai-loading-text{color:#94a3b8}.auth-container{align-items:center;background:linear-gradient(135deg,#f8fafc,#eef2ff);display:flex;justify-content:center;margin-top:0;min-height:100vh;padding:2rem;position:relative}@media (max-width:768px){.auth-container{margin-top:0;min-height:calc(100vh - 80px);padding-top:80px}}.auth-card{animation:slideUp .5s ease-out;background:#fff;border-radius:1rem;box-shadow:0 10px 25px #0000001a;max-width:400px;overflow:hidden;padding:2rem;position:relative;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-header{margin-bottom:2rem;text-align:center}.auth-header h1{color:#1f2937;font-size:1.875rem;font-weight:700;margin-bottom:.5rem}.auth-header p{color:#6b7280;font-size:.875rem}.auth-form{gap:1rem}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem;position:relative}.form-group label{color:#374151;font-size:.875rem;font-weight:500}.form-group input{background-color:#f9fafb!important;border:1px solid #e5e7eb;border-radius:.5rem;color:#374151!important;font-size:.875rem;padding:.75rem 1rem;transition:all .2s}.form-group input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a;outline:none}.form-group input.error{border-color:#dc2626}.form-group input.error:focus{box-shadow:0 0 0 3px #dc26261a}.form-group .error-message{color:#dc2626;font-size:.75rem;margin-top:.25rem}.auth-button{align-items:center;background:#4f46e5;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem;position:relative;transition:all .2s}.auth-button:hover:not(:disabled){background:#4338ca}.auth-button:disabled{cursor:not-allowed;opacity:.7}.auth-button .loading-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:20px}.google-button{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;color:#374151;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem;position:relative;transition:all .2s}.google-button:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.google-button:disabled{cursor:not-allowed;opacity:.7}.google-button .material-icons{color:#db4437;font-size:1.25rem}.auth-divider{align-items:center;color:#6b7280;display:flex;font-size:.875rem;margin:1rem 0;text-align:center}.auth-divider:after,.auth-divider:before{border-bottom:1px solid #e5e7eb;content:"";flex:1 1}.auth-divider span{padding:0 1rem}.auth-footer{color:#6b7280;font-size:.875rem;margin-top:1.5rem;text-align:center}.auth-footer a{color:#4f46e5;font-weight:500;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.notification{align-items:center;animation:slideIn .3s ease-out;border-radius:.5rem;box-shadow:0 4px 6px #0000001a;display:flex;gap:.5rem;padding:1rem;position:fixed;right:1rem;top:1rem;z-index:1000}.notification.success{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.notification.error{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.notification .material-icons{font-size:1.25rem}.notification-message{font-size:.875rem;font-weight:500}.notification-close{background:none;border:none;color:inherit;cursor:pointer;opacity:.7;padding:.25rem;transition:opacity .2s}.notification-close:hover{opacity:1}@media (max-width:640px){.auth-container{margin-top:0;padding:0 1.5rem 1.5rem}.auth-card{padding:1.5rem}.auth-header h1{font-size:1.5rem}.notification{left:1rem;right:1rem;top:1rem}}.password-header{align-items:center;display:flex;justify-content:space-between}.text-button{background:none;border:none;color:#4f46e5;cursor:pointer;font-size:.875rem;font-weight:500;padding:.25rem 0;transition:color .2s}.text-button:hover:not(:disabled){color:#4338ca}.text-button:disabled{cursor:not-allowed;opacity:.7}.social-auth-button{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;color:#374151;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem;position:relative;transition:all .2s}.social-auth-button:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.social-auth-button:active{background:#f3f4f6}.social-auth-button:disabled{cursor:not-allowed;opacity:.7}.social-auth-button.initializing{background:#f3f4f6;color:#9ca3af}.form-divider{align-items:center;color:#6b7280;display:flex;font-size:.875rem;margin:1rem 0;text-align:center}.form-divider:after,.form-divider:before{border-bottom:1px solid #e5e7eb;content:"";flex:1 1}.form-divider span{color:#64748b;font-size:.875rem;margin:0 .75rem}.dashboard-container{-webkit-overflow-scrolling:touch;background:linear-gradient(135deg,#f8fafc,#e2e8f0);margin:0 auto;max-width:1200px;min-height:calc(100vh - 4rem);overscroll-behavior:contain;padding:2rem;position:relative;touch-action:pan-y;will-change:scroll-position}.dashboard-header{align-items:flex-start;background:linear-gradient(135deg,#2c3e50,#3498db);border-radius:16px;box-shadow:0 4px 20px #3498db26;color:#fff;display:flex;gap:2rem;justify-content:space-between;margin-bottom:2.5rem;overflow:hidden;padding:2rem;position:relative;transform:translateZ(0);will-change:transform}.dashboard-header-skeleton{animation:dashboard-skeleton-loading 1.5s infinite;background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%);background-size:200% 100%;border-radius:16px;height:120px;width:100%}.dashboard-welcome-section{flex:1 1}.dashboard-welcome-section h1{color:#fff;font-size:2.5rem;font-weight:700;margin-bottom:.5rem;text-shadow:0 2px 4px #0000001a;transform:translateZ(0);will-change:transform}.dashboard-subtitle{color:#ffffffe6;font-size:1.1rem;transform:translateZ(0)}.dashboard-stats-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.dashboard-stats-header h2{color:#2c3e50;font-size:1.8rem;font-weight:700;margin:0}.dashboard-refresh-button{-webkit-tap-highlight-color:transparent;align-items:center;background:none;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s ease}.dashboard-refresh-button:hover{background:#f1f5f9;color:#3498db}.dashboard-refresh-button:disabled{cursor:not-allowed;opacity:.6}.dashboard-refresh-icon{font-size:1.2rem;transition:transform .2s ease}.dashboard-refresh-icon.dashboard-spinning{animation:dashboard-spin 1s linear infinite}.dashboard-stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.dashboard-stat-card-skeleton{animation:dashboard-skeleton-loading 1.5s infinite;background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%);background-size:200% 100%;border-radius:16px;height:120px}.dashboard-stat-content{flex:1 1}.dashboard-stat-content h3{color:#64748b;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.dashboard-stat-value{color:#2c3e50;font-size:2rem;font-weight:700;line-height:1.2;margin:0}.dashboard-stat-subtitle{color:#94a3b8;font-size:.9rem;margin:.25rem 0 0}.dashboard-error{align-items:center;background:#fff;border-radius:16px;box-shadow:0 4px 6px #0000000d;display:flex;flex-direction:column;justify-content:center;margin:2rem 0;padding:3rem;text-align:center}.dashboard-error p{color:#64748b;font-size:1.1rem;margin-bottom:1.5rem}.dashboard-retry-button{-webkit-tap-highlight-color:transparent;align-items:center;background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.dashboard-retry-button:hover{background:linear-gradient(135deg,#2980b9,#2573a7);box-shadow:0 4px 12px #3498db33;transform:translateY(-2px)}.dashboard-spin-icon{animation:dashboard-spin 1s linear infinite}.dashboard-action-button{-webkit-tap-highlight-color:transparent;align-items:center;border:none;border-radius:12px;box-shadow:0 4px 6px #0000001a;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:.75rem;min-height:48px;padding:1rem 1.75rem;touch-action:manipulation;transform:translateZ(0);transition:all .3s ease;will-change:transform,box-shadow}.dashboard-action-button.dashboard-primary{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.dashboard-action-button.dashboard-primary:hover{background:linear-gradient(135deg,#2980b9,#2573a7);box-shadow:0 6px 12px #3498db33;transform:translateY(-2px)}@keyframes dashboard-skeleton-loading{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes dashboard-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.dashboard-quick-nav-container{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:1.5rem 0}.dashboard-quick-nav-item{-webkit-tap-highlight-color:transparent;align-items:center;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;cursor:pointer;display:flex;flex-direction:column;gap:.75rem;overflow:hidden;padding:1.75rem;position:relative;text-align:center;transform:translateZ(0);transition:all .3s ease;will-change:transform,box-shadow}.dashboard-quick-nav-item:before{background:linear-gradient(135deg,#667eea0d,#764ba20d);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.dashboard-quick-nav-item:hover:before{opacity:1}.dashboard-quick-nav-item:hover{border-color:#667eea;box-shadow:0 12px 32px #0000001f;transform:translateY(-6px)}.dashboard-quick-nav-item:active{opacity:.9;transform:scale(.98);transition:transform .1s ease,opacity .1s ease}.dashboard-quick-nav-item svg{color:#667eea;filter:drop-shadow(0 2px 4px rgba(102,126,234,.2));margin-bottom:.25rem;transition:transform .2s ease}.dashboard-quick-nav-item:hover svg{transform:scale(1.1)}.dashboard-quick-nav-item>span{color:#2c3e50;font-size:1.2rem;font-weight:700;margin:0}.dashboard-quick-nav-item p{color:#64748b;font-size:.95rem;line-height:1.4;margin:0}.dashboard-nav-button{-webkit-tap-highlight-color:transparent;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;margin-top:.25rem;min-width:140px;padding:.75rem 1.5rem;transition:all .2s ease}.dashboard-nav-button:hover{background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}@media (max-width:768px){.dashboard-ai-suggestion-card{flex-direction:column;padding:1.5rem;text-align:center}.dashboard-quick-nav-container{gap:1rem;grid-template-columns:1fr}.dashboard-quick-nav-item{padding:1.25rem}}@media (max-width:480px){.dashboard-ai-suggestion-card{gap:1rem;padding:1rem}.dashboard-ai-suggestion-icon-container{font-size:1.25rem;height:48px;width:48px}.dashboard-ai-suggestion-content-container h2{font-size:1.1rem}.dashboard-ai-suggestion-content-container p{font-size:.9rem}.dashboard-quick-nav-item{gap:.5rem;padding:1rem}.dashboard-quick-nav-item svg{height:20px;width:20px}.dashboard-nav-button{font-size:.85rem;min-width:120px;padding:.5rem 1rem}}.dashboard-stat-card{-webkit-tap-highlight-color:transparent;align-items:center;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;cursor:pointer;display:flex;gap:1.25rem;overflow:hidden;padding:1.75rem;position:relative;transform:translateZ(0);transition:all .3s ease;will-change:transform,box-shadow}.dashboard-stat-card:before{background:linear-gradient(135deg,#3498db0d,#9b59b60d);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.dashboard-stat-card:hover:before{opacity:1}.dashboard-stat-card:hover{border-color:#3498db;box-shadow:0 12px 32px #0000001f;transform:translateY(-6px)}.dashboard-stat-card:active{opacity:.9;transform:scale(.98);transition:transform .1s ease,opacity .1s ease}.dashboard-stat-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 4px 16px #667eea4d;color:#fff;display:flex;flex-shrink:0;font-size:1.5rem;height:60px;justify-content:center;width:60px}.dashboard-stats-section{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 8px 32px #00000014;contain:content;margin:2rem 0;padding:2rem;transform:translateZ(0)}@media (max-width:768px){.dashboard-container{padding:1rem}.streak-widget{padding:1rem 1.25rem}.streak-greeting h1{font-size:1.4rem}.streak-subtitle{font-size:.85rem}.streak-number{font-size:1.75rem}.dashboard-stats-section{border-radius:16px;padding:1.5rem}.dashboard-stats-grid{gap:1rem;grid-template-columns:1fr}.dashboard-stat-card{padding:1.5rem}.dashboard-stats-header{align-items:flex-start;flex-direction:column;gap:1rem}.dashboard-stats-header h2{font-size:1.5rem}.dashboard-quick-nav-container{gap:1rem;grid-template-columns:1fr}.dashboard-quick-nav-item{padding:1.5rem}}@media (max-width:480px){.dashboard-container{padding:.5rem}.streak-widget{padding:.75rem 1rem}.streak-content{align-items:flex-start;flex-direction:column;gap:.75rem}.streak-greeting h1{font-size:1.25rem}.streak-subtitle{font-size:.8rem}.streak-info{align-items:flex-start;width:100%}.streak-display{justify-content:space-between;width:100%}.streak-number{font-size:1.5rem}.dashboard-stats-section{padding:1rem}.dashboard-stat-card{gap:1rem;padding:1rem}.dashboard-stat-icon{border-radius:12px;font-size:1.25rem;height:48px;width:48px}.dashboard-stat-value{font-size:1.5rem}.dashboard-quick-nav-item{gap:.5rem;padding:1rem}.dashboard-quick-nav-item svg{height:20px;width:20px}.dashboard-nav-button{font-size:.85rem;min-width:120px;padding:.5rem 1rem}}.streak-widget{align-items:center;animation:cardFadeIn .6s ease-out;background:#fff;border-radius:18px;box-shadow:0 3px 10px #464b961a;display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;gap:20px;justify-content:space-between;padding:18px 22px;-webkit-user-select:none;user-select:none}.streak-widget.pulse{animation:pulseGlow .5s ease-in-out}.streak-greeting{flex:1 1 60%;min-width:0}.streak-greeting h1{color:#2f2f3d;font-size:1.3rem;font-weight:600;letter-spacing:.02em;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-name{color:#4b4e6d;font-style:normal;font-weight:700}.streak-subtitle{color:#6c6f85;font-size:.9rem;font-weight:400;line-height:1.3;margin-top:6px;max-width:360px}.streak-info{align-items:flex-end;display:flex;flex:0 1 35%;flex-direction:column;gap:10px;min-width:150px}.streak-display{align-items:center;background:linear-gradient(135deg,#6a11cb,#2575fc);border-radius:16px;box-shadow:0 2px 8px #3a3e7f26;color:#fff;display:flex;font-size:1.15rem;font-weight:700;gap:4px;padding:10px 16px;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.streak-display:hover{box-shadow:0 4px 14px #3a3e7f40}.streak-emoji{font-size:1.35rem;line-height:1;margin-right:0;-webkit-user-select:none;user-select:none}.streak-number{font-feature-settings:"tnum";color:#fff;font-variant-numeric:tabular-nums;min-width:36px;text-align:right}.streak-text{color:#ffffffd9;font-size:1rem;font-weight:600;-webkit-user-select:none;user-select:none}.streak-progress-bar-container{background:#6551ec26;border-radius:4px;height:6px;margin-top:6px;overflow:hidden;position:relative;width:100%}.streak-progress-bar{background:linear-gradient(90deg,#ffd900,#f50000);border-radius:4px;box-shadow:0 0 6px #a76aff99;height:100%;transition:width .6s ease}.streak-best{color:#5a5d82;font-size:.9rem;font-weight:600;opacity:.85;-webkit-user-select:none;user-select:none;white-space:nowrap}@keyframes pulseGlow{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:580px){.streak-widget{flex-direction:column;gap:16px;padding:16px 14px;text-align:center}.streak-greeting{flex:none;max-width:100%}.streak-greeting h1{font-size:1.15rem;white-space:normal}.streak-subtitle{font-size:.85rem;max-width:100%}.streak-info{flex:none;flex-direction:row;gap:20px;justify-content:center;width:100%}.streak-display{flex:1 1 50%;font-size:1.05rem;justify-content:center;padding:8px 16px}.streak-best{flex:1 1 40%;font-size:.85rem}}.dashboard-ai-suggestion-card:before,.dashboard-quick-nav-item{pointer-events:none}.dashboard-quick-nav-item button{pointer-events:auto}.dashboard-skeleton{display:flex;flex-direction:column;gap:32px;padding:32px 0}.dashboard-skeleton-header{background:#e2e8f0;border-radius:12px;height:48px;margin-bottom:8px;width:40%}.dashboard-skeleton-streak{background:#e2e8f0;border-radius:16px;height:60px;width:100%}.dashboard-skeleton-suggestions{display:flex;gap:16px;margin-bottom:8px}.dashboard-skeleton-suggestion{background:#e2e8f0;border-radius:12px;flex:1 1;height:56px}.dashboard-skeleton-stats{display:flex;gap:24px}.dashboard-skeleton-stat{background:#e2e8f0;border-radius:16px;flex:1 1;height:100px}.shimmer{overflow:hidden;position:relative}.shimmer:after{animation:shimmer-move 1.5s infinite;background:linear-gradient(90deg,#fff0,#ffffff80 50%,#fff0);bottom:0;content:"";left:0;position:absolute;right:0;top:0;transform:translateX(-100%)}@keyframes shimmer-move{to{transform:translateX(100%)}}.dashboard-support-banner{animation:dashboardSupportFadeInUp .6s ease-out;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 12px #667eea33;margin:16px 0;padding:16px}.dashboard-support-content{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.dashboard-support-heart{animation:dashboardSupportHeartbeat 2s infinite;font-size:20px}.dashboard-support-text{color:#fff;flex:1 1;font-size:14px;font-weight:500;min-width:200px;text-shadow:0 1px 2px #0000001a}.dashboard-support-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:all .3s ease}.dashboard-support-button:hover{background:#ffffff4d;border-color:#ffffff80;box-shadow:0 4px 8px #0003;transform:translateY(-1px)}.dashboard-support-button:active{transform:translateY(0)}@keyframes dashboardSupportHeartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes dashboardSupportFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.dashboard-support-content{flex-direction:column;text-align:center}.dashboard-support-text{min-width:auto}.dashboard-support-button{align-self:stretch;justify-content:center}}.dashboard-ai-suggestion-card{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:1px solid #ffffff1a;border-radius:20px;box-shadow:0 8px 32px #667eea40;color:#fff;display:flex;gap:1.25rem;margin:1.5rem 0;overflow:hidden;padding:2rem;position:relative;transform:translateZ(0);transition:all .3s ease;will-change:transform,box-shadow}.dashboard-ai-suggestion-card:before{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.dashboard-ai-suggestion-card:hover:before{opacity:1}.dashboard-ai-suggestion-card:hover{box-shadow:0 12px 40px #667eea59;transform:translateY(-6px)}.dashboard-ai-suggestion-icon-container{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:16px;color:#fff;display:flex;flex-shrink:0;font-size:1.75rem;height:64px;justify-content:center;width:64px}.dashboard-ai-suggestion-content-container{flex:1 1}.dashboard-ai-suggestion-content-container h2{color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.3rem;font-weight:700;margin:0 0 .75rem;text-shadow:0 2px 4px #0000001a}.dashboard-ai-suggestion-content-container p{color:#ffffffe6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.5;margin:0;text-shadow:0 1px 2px #0000001a}.dashboard-ai-suggestion-action-button{-webkit-tap-highlight-color:transparent;align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#5582ff,#7c1eff);border:1px solid #ffffff4d;border-radius:10px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.dashboard-ai-suggestion-action-button:hover{background:#ffffff4d;border-color:#ffffff80;box-shadow:0 4px 12px #fff3;transform:translateY(-2px)}.dashboard-ai-suggestion-action-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.dashboard-ai-suggestion-bulb{filter:drop-shadow(0 2px 4px rgba(255,255,255,.3));font-size:2rem}.dashboard-ai-suggestion-highlight{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-left:4px solid #fff9;border-radius:8px;margin-bottom:.5rem;padding:1rem 1.25rem}.dashboard-ai-suggestion-highlight .ai-loading-container{padding:0}.dashboard-ai-suggestion-highlight .ai-loading-dot{background:#fffc}.dashboard-ai-suggestion-highlight .ai-loading-text{color:#ffffffe6;font-size:.95rem}.dashboard-ai-suggestion-timestamp{color:#ffffffb3;display:block;font-size:.85em;font-style:italic;margin-top:.75rem}@media (max-width:768px){.dashboard-ai-suggestion-card{border-radius:16px;flex-direction:column;margin:1rem 0;padding:1.5rem;text-align:center}.dashboard-ai-suggestion-content-container h2{font-size:1.2rem}.dashboard-ai-suggestion-action-button{justify-content:center;width:100%}}@media (max-width:480px){.dashboard-ai-suggestion-card{gap:1rem;padding:1rem}.dashboard-ai-suggestion-icon-container{font-size:1.25rem;height:48px;width:48px}.dashboard-ai-suggestion-content-container h2{font-size:1.1rem}.dashboard-ai-suggestion-content-container p{font-size:.9rem}}.tc-card{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 8px 32px #00000014;margin:1.5rem 0;overflow:hidden;padding:1.75rem;position:relative;transform:translateZ(0);transition:all .3s ease;will-change:transform,box-shadow}.tc-card:before{background:linear-gradient(135deg,#667eea0d,#2ed5730d);bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease}.tc-card:hover:before{opacity:1}.tc-card:hover{border-color:#667eea;box-shadow:0 12px 40px #0000001f;transform:translateY(-6px)}.tc-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem;position:relative;z-index:1}.tc-title{color:#2c3e50;font-size:1.3rem;font-weight:700}.tc-topic{color:#64748b;font-size:.95rem;font-weight:600}.tc-progress{height:12px;margin:1rem 0 1.25rem;position:relative;z-index:1}.tc-progress-track{background:#f1f5f9}.tc-progress-bar,.tc-progress-track{border-radius:999px;inset:0;position:absolute}.tc-progress-bar{background:linear-gradient(90deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea66;transition:width .4s ease;width:0}.tc-progress-label{align-items:center;color:#2c3e50;display:flex;font-size:.95rem;font-weight:700;inset:0;justify-content:center;position:absolute}.tc-question{z-index:1}.tc-actions,.tc-question{margin-top:1rem;position:relative}.tc-actions{display:flex;gap:.75rem;justify-content:flex-end;z-index:2}.tc-btn{-webkit-tap-highlight-color:transparent;background:#f1f5f9;border:none;border-radius:10px;color:#2c3e50;cursor:pointer;font-size:.95rem;font-weight:700;padding:.75rem 1.5rem;position:relative;transition:all .2s ease;z-index:3}.tc-btn:hover{background:#e2e8f0;transform:translateY(-1px)}.tc-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea4d;color:#fff}.tc-btn.primary:hover{background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.tc-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.tc-completed{grid-gap:.75rem;display:grid;gap:.75rem;padding:1rem 0;position:relative;z-index:1}.tc-badge{background:linear-gradient(135deg,#2ed573,#1e90ff);border-radius:999px;box-shadow:0 4px 12px #2ed5734d;color:#fff;display:inline-block;font-weight:700;padding:.5rem 1rem}.tc-badge,.tc-sub{font-size:.95rem;text-align:center}.tc-sub{color:#64748b}.tc-card.tc-skeleton{padding:1.75rem}.tc-header-skeleton{border-radius:6px;height:20px;width:40%}.tc-header-skeleton,.tc-lines{animation:loading 1.5s infinite;background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%);background-size:200% 100%}.tc-lines{border-radius:8px;height:60px;margin-top:1rem}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.tc-card.tc-error{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#fecaca;color:#dc2626}@media (max-width:768px){.tc-card{border-radius:16px;margin:1rem 0;padding:1.5rem}.tc-title{font-size:1.2rem}.tc-actions{flex-direction:column}.tc-btn{text-align:center;width:100%}}@media (max-width:480px){.tc-card{padding:1rem}.tc-header{align-items:flex-start;flex-direction:column;gap:.5rem}}.language-notification{animation:slideIn .3s ease-out;background:#fff;border:1px solid #4f46e533;border-radius:8px;bottom:20px;box-shadow:0 4px 12px #00000026;left:20px;max-width:300px;padding:15px;position:fixed;z-index:1000}@keyframes slideIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.language-notification-content p{color:#333;font-size:14px;line-height:1.5;margin:0 0 10px}.language-notification-content p strong{color:#4f46e5;font-weight:600}.language-notification-actions{display:flex;gap:10px;justify-content:space-between}.language-notification-actions button{border-radius:4px;cursor:pointer;flex:1 1;font-size:13px;padding:8px 12px;transition:all .2s}.language-switch-button{background:#4f46e5;border:none;color:#fff}.language-dismiss-button{background:#fff;border:1px solid #d1d5db;color:#4b5563}.language-notification-actions button:hover{opacity:.9;transform:translateY(-1px)}@media (max-width:480px){.language-notification{bottom:10px;left:10px;max-width:none;right:10px}.language-notification-actions{flex-direction:column}}.ai-tutor-container{background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;max-height:100vh}.ai-tutor-header{background:#fff;border-bottom:1px solid #e5e5e5;flex-shrink:0;padding:0;z-index:10}.ai-tutor-header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:16px 24px}.ai-tutor-header-left{align-items:center;display:flex;gap:12px}.ai-tutor-title-section{display:flex;flex-direction:column;gap:2px}.ai-tutor-title{color:#1a1a1a;font-size:20px;font-weight:600;line-height:1.2;margin:0}.ai-tutor-subtitle{color:#6b6b6b;font-size:13px;font-weight:400;margin:0}.ai-tutor-clear-button{align-items:center;background:#f4f4f4;border:1px solid #e0e0e0;border-radius:8px;color:#4a4a4a;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 12px;transition:all .15s ease}.ai-tutor-clear-button:hover{background:#ebebeb;border-color:#d0d0d0}.ai-tutor-error-banner{background:#fef2f2;border-bottom:1px solid #fecaca;font-size:14px;gap:8px;padding:12px 24px}.ai-tutor-error-banner,.error-dismiss{align-items:center;color:#dc2626;display:flex;justify-content:center}.error-dismiss{background:none;border:none;cursor:pointer;font-size:18px;height:20px;margin-left:auto;padding:0;width:20px}.ai-tutor-main-content{display:flex;flex:1 1;flex-direction:column;margin:0 auto;max-width:1200px;overflow:hidden;width:100%}.ai-tutor-welcome-section{flex-shrink:0;padding:32px 24px}.quick-questions-container{margin-bottom:24px}.quick-questions-scroll{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.quick-question-chip{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;color:#495057;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;min-height:44px;padding:12px 16px;transition:all .2s ease;white-space:nowrap}.quick-question-chip:hover:not(:disabled){background:#e9ecef;border-color:#dee2e6;box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.quick-question-chip:disabled{cursor:not-allowed;opacity:.6}.quick-question-icon{color:#6c757d}.quick-question-text{font-weight:500}.ai-tutor-chat-window{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.ai-tutor-messages{flex:1 1;overflow-y:auto;padding:0 24px 24px;scroll-behavior:smooth}.ai-tutor-messages::-webkit-scrollbar{width:6px}.ai-tutor-messages::-webkit-scrollbar-track{background:#0000}.ai-tutor-messages::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.ai-tutor-messages::-webkit-scrollbar-thumb:hover{background:#9ca3af}.ai-tutor-message-wrapper{margin-bottom:24px;position:relative}.ai-tutor-message{display:flex;gap:12px;max-width:100%;position:relative}.ai-tutor-message-avatar{flex-shrink:0;margin-top:4px}.ai-tutor-avatar{align-items:center;border-radius:50%;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.ai-tutor-avatar-ai{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.ai-tutor-avatar-user{background:#f3f4f6;border:2px solid #e5e7eb;color:#374151}.ai-tutor-message-content{flex:1 1;min-width:0}.ai-tutor-message-text{word-wrap:break-word;color:#1f2937;font-size:15px;line-height:1.6;overflow-wrap:break-word}.ai-tutor-message-ai .ai-tutor-message-text{background:#0000}.ai-tutor-message-user .ai-tutor-message-text{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:12px 16px}.ai-tutor-message-error .ai-tutor-message-text{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#dc2626;padding:12px 16px}.ai-tutor-message-meta{align-items:center;display:flex;gap:8px;margin-top:6px}.ai-tutor-message-timestamp{color:#9ca3af;font-size:12px}.message-actions-container{position:relative}.message-actions{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;gap:4px;padding:4px;position:absolute;right:0;top:0;z-index:5}.action-btn{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all .15s ease}.action-btn:hover{background:#f3f4f6;color:#374151}.ai-tutor-loading-indicator{align-items:center;color:#6b7280;display:flex;font-size:14px;gap:8px}.loading-dots{display:flex;gap:3px}.loading-dots .dot{animation:loadingPulse 1.4s ease-in-out infinite both;background:#9ca3af;border-radius:50%;height:6px;width:6px}.loading-dots .dot:first-child{animation-delay:-.32s}.loading-dots .dot:nth-child(2){animation-delay:-.16s}@keyframes loadingPulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.ai-tutor-input-section{background:#fff;border-top:1px solid #e5e7eb;flex-shrink:0;padding:16px 24px 20px}.ai-tutor-input-container{margin:0 auto;max-width:1200px}.ai-tutor-input-wrapper{align-items:flex-end;background:#fff;border:1px solid #d1d5db;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;gap:12px;padding:12px 16px;transition:all .2s ease}.ai-tutor-input-wrapper:focus-within{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.ai-tutor-input{background:#0000;border:none;color:#1f2937;flex:1 1;font-family:inherit;font-size:15px;line-height:1.5;max-height:120px;min-height:20px;outline:none;padding:0;resize:none}.ai-tutor-input::placeholder{color:#9ca3af}.ai-tutor-input:disabled{color:#9ca3af;cursor:not-allowed}.ai-tutor-send-button{align-items:center;background:#f3f4f6;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:all .2s ease;width:36px}.ai-tutor-send-button:hover:not(:disabled){background:#e5e7eb}.ai-tutor-send-button-active{background:#667eea!important;color:#fff!important}.ai-tutor-send-button-active:hover{background:#5a67d8!important}.ai-tutor-send-button:disabled{cursor:not-allowed;opacity:.5}.ai-tutor-input-footer{margin-top:8px;text-align:center}.ai-tutor-input-footer p{color:#9ca3af;font-size:12px;margin:0}.ai-tutor-auth-required{align-items:center;display:flex;flex:1 1;justify-content:center;padding:40px 24px}.ai-tutor-auth-content{max-width:400px;text-align:center}.ai-tutor-auth-icon{color:#6b7280;margin-bottom:24px}.ai-tutor-auth-required h2{color:#1f2937;font-size:24px;font-weight:600;margin:0 0 12px}.ai-tutor-auth-description{color:#6b7280;font-size:16px;line-height:1.5;margin:0 0 32px}.ai-tutor-auth-buttons{display:flex;gap:12px;justify-content:center;margin-bottom:24px}.ai-tutor-auth-button{align-items:center;border:1px solid;border-radius:8px;display:inline-flex;font-size:14px;font-weight:500;justify-content:center;min-width:100px;padding:12px 24px;text-decoration:none;transition:all .2s ease}.ai-tutor-signin{background:#667eea;border-color:#667eea;color:#fff}.ai-tutor-signin:hover{background:#5a67d8;border-color:#5a67d8}.ai-tutor-signup{background:#0000;border-color:#667eea;color:#667eea}.ai-tutor-signup:hover{background:#f0f2ff}.ai-tutor-auth-note{color:#9ca3af;font-size:13px;font-style:italic;margin:0}@media (max-width:768px){.ai-tutor-header-content{padding:12px 16px}.ai-tutor-title{font-size:18px}.ai-tutor-subtitle{font-size:12px}.ai-tutor-clear-button span{display:none}.ai-tutor-main-content{padding:0}.ai-tutor-welcome-section{padding:24px 16px}.ai-tutor-messages{padding:0 16px 16px}.ai-tutor-input-section{padding:12px 16px 16px}.quick-questions-scroll{align-items:stretch;flex-direction:column}.quick-question-chip{justify-content:center}.ai-tutor-auth-buttons{align-items:stretch;flex-direction:column}.ai-tutor-message{gap:8px}.ai-tutor-avatar{height:28px;width:28px}}@media (max-width:480px){.ai-tutor-header-content{margin-top:10px;padding:10px 12px}.ai-tutor-welcome-section{padding:20px 12px}.ai-tutor-messages{padding:0 12px 12px}.ai-tutor-input-section{padding:10px 12px 14px}.ai-tutor-message-text{font-size:14px}}.ai-tutor-container{color:#1f2937!important}.ai-tutor-container,.ai-tutor-header,.ai-tutor-input-wrapper{background:#fff!important}.ai-tutor-message{animation:messageSlideIn .3s ease-out}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.action-btn:focus,.ai-tutor-clear-button:focus,.ai-tutor-send-button:focus,.quick-question-chip:focus{outline:2px solid #667eea;outline-offset:2px}@media (max-width:640px){.ai-tutor-container{height:100vh;height:100dvh}.ai-tutor-header-content{padding:8px 12px}.ai-tutor-title{font-size:16px}.ai-tutor-subtitle{font-size:11px}.ai-tutor-clear-button{min-width:36px;padding:6px 8px}.ai-tutor-clear-button span{display:none}.ai-tutor-welcome-section{padding:16px 12px}.ai-tutor-messages{padding:0 12px 12px}.ai-tutor-input-section{padding:8px 12px 12px}.ai-tutor-input-wrapper{padding:8px 12px}.ai-tutor-input{font-size:16px}.quick-question-chip{font-size:13px;min-height:40px;padding:10px 12px}.ai-tutor-message{gap:6px}.ai-tutor-avatar{height:26px;width:26px}.ai-tutor-message-text{font-size:14px}.ai-tutor-message-error .ai-tutor-message-text,.ai-tutor-message-user .ai-tutor-message-text{padding:10px 12px}}@media (max-width:375px){.ai-tutor-header-content{padding:6px 8px}.ai-tutor-welcome-section{padding:12px 8px}.ai-tutor-messages{padding:0 8px 8px}.ai-tutor-input-section{padding:6px 8px 10px}.quick-question-chip{font-size:12px;min-height:36px;padding:8px 10px}.ai-tutor-auth-content{padding:0 8px}.ai-tutor-auth-buttons{flex-direction:column;gap:8px}}@media (hover:none) and (pointer:coarse){.quick-question-chip:active{background:#e9ecef;transform:scale(.98)}.ai-tutor-clear-button:active{background:#ebebeb;transform:scale(.98)}.action-btn:active,.ai-tutor-send-button:active{transform:scale(.95)}.action-btn:active{background:#f3f4f6}}.ai-tutor-container{min-height:100vh;min-height:100dvh;overflow:hidden;position:relative}@media (max-width:768px){.ai-tutor-input-wrapper:focus-within{transform:none}.ai-tutor-input{-webkit-appearance:none;border-radius:0}}.ai-tutor-messages{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}@supports (padding:max(0px)){.ai-tutor-input-section{padding-bottom:max(20px,env(safe-area-inset-bottom))}.ai-tutor-header{padding-top:env(safe-area-inset-top)}}@media (max-width:768px){.ai-tutor-input-section{margin-bottom:22px;padding:8px 12px 20px}}@media (min-width:1024px){.ai-tutor-input-section{margin-bottom:12px;padding-bottom:80px}}.practice-auth-required{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 20px #00000014;flex-direction:column;margin:2rem auto;max-width:480px;padding:2.5rem;text-align:center}.practice-auth-icon,.practice-auth-required{align-items:center;display:flex;justify-content:center}.practice-auth-icon{background:#4f46e51a;border-radius:50%;box-shadow:0 2px 8px #4f46e526;color:#4f46e5;margin-bottom:1.5rem;padding:1.25rem}.practice-auth-required h2{color:#1e293b;font-size:1.75rem;font-weight:600;line-height:1.3;margin:0 0 .75rem}.practice-auth-required p{color:#64748b;font-size:1.1rem;line-height:1.5;margin:0 0 2rem;max-width:400px}.practice-auth-buttons{display:flex;gap:1rem;margin-bottom:2rem;max-width:360px;width:100%}.practice-auth-button{border-radius:10px;flex:1 1;font-size:1.0625rem;font-weight:600;padding:.875rem 1.5rem;text-align:center;text-decoration:none;transition:all .2s ease}.practice-signin{background:#4f46e5;border:none;box-shadow:0 2px 8px #4f46e540;color:#fff}.practice-signin:hover{background:#4338ca;box-shadow:0 4px 12px #4f46e54d;transform:translateY(-2px)}.practice-signup{background:#fff;border:2px solid #4f46e5;color:#4f46e5}.practice-signup:hover{background:#4f46e51a;transform:translateY(-2px)}.practice-auth-note{color:#64748b;font-size:.9375rem;font-style:italic;margin-top:-.5rem!important}.dark-theme .practice-auth-required{background:#fff}.dark-theme .practice-auth-required h2{color:#1e293b}.dark-theme .practice-auth-required p{color:#64748b}@media (max-width:640px){.practice-auth-required{margin:1rem;padding:2rem}.practice-auth-buttons{flex-direction:column}.practice-auth-button{width:100%}.practice-auth-required h2{font-size:1.5rem}.practice-auth-required p{font-size:1rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.practice-auth-required{animation:fadeInUp .5s ease-out forwards}:root{--primary-hover:#4338ca;--success-light:#ecfdf5;--error-light:#fef2f2;--warning-light:#fffbeb;--text-muted:#9ca3af;--border-hover:#d1d5db;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--line-height-tight:1.25;--line-height-base:1.5;--line-height-relaxed:1.625;--spacing-base:1rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1)}.practice-question-card *,.practice-question-card :after,.practice-question-card :before{box-sizing:border-box}.practice-question-card{background:#fff!important;border:1px solid #e0e0e0;border-radius:16px;box-shadow:0 2px 8px #0000000d;margin-bottom:1.5rem;padding:1.5rem}.practice-question-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md)}.practice-question-card.practice-mode{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:2px solid #4f46e5;border:2px solid var(--primary-color);position:relative}.practice-question-card.practice-mode:before{background:linear-gradient(90deg,#4f46e5,#10b981);background:linear-gradient(90deg,var(--primary-color),var(--success-color));border-radius:.75rem .75rem 0 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.practice-question-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;gap:var(--spacing-base);justify-content:space-between;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.practice-question-text{color:#2c3e50;font-size:1.1rem;font-weight:500;line-height:1.6;margin-bottom:1.5rem}.practice-question-text.has-passage{background-color:#f9fafb;background-color:var(--bg-secondary);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:.5rem;border-radius:var(--radius-md);font-size:1rem;font-size:var(--font-size-base);font-weight:400;line-height:1.625;line-height:var(--line-height-relaxed);margin-bottom:1rem;margin-bottom:var(--spacing-base);max-height:300px;overflow-y:auto;padding:1rem;padding:var(--spacing-base);scrollbar-color:#d1d5db #f9fafb;scrollbar-color:var(--border-hover) var(--bg-secondary);scrollbar-width:thin}.practice-question-text.has-passage::-webkit-scrollbar{width:8px}.practice-question-text.has-passage::-webkit-scrollbar-track{background:#f9fafb;background:var(--bg-secondary);border-radius:.375rem;border-radius:var(--radius-sm)}.practice-question-text.has-passage::-webkit-scrollbar-thumb{background:#d1d5db;background:var(--border-hover);border-radius:.375rem;border-radius:var(--radius-sm);-webkit-transition:background .2s cubic-bezier(.4,0,.2,1);transition:background .2s cubic-bezier(.4,0,.2,1);-webkit-transition:background var(--transition-base);transition:background var(--transition-base)}.practice-question-text.has-passage::-webkit-scrollbar-thumb:hover{background:#9ca3af;background:var(--text-muted)}.practice-passage-container{position:relative}.practice-passage-container.collapsed .practice-question-text.has-passage{max-height:150px;overflow:hidden}.practice-passage-container.collapsed:after{background:linear-gradient(#0000,#f9fafb);background:linear-gradient(#0000,var(--bg-secondary));bottom:0;content:"";height:40px;left:0;pointer-events:none;position:absolute;right:0}.practice-passage-toggle{align-items:center;background:none;border:none;color:#4f46e5;color:var(--primary-color);cursor:pointer;display:inline-flex;font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;gap:.25rem;gap:var(--spacing-xs);margin-top:.5rem;margin-top:var(--spacing-sm);padding:.25rem .5rem;padding:var(--spacing-xs) var(--spacing-sm);transition:color .2s cubic-bezier(.4,0,.2,1);transition:color var(--transition-base)}.practice-passage-toggle:hover{color:#4338ca;color:var(--primary-hover)}.practice-question-text.has-passage p{margin-bottom:1rem;margin-bottom:var(--spacing-base);text-align:justify}.practice-question-text.has-passage p:last-child{margin-bottom:0}.practice-question-text.has-passage b,.practice-question-text.has-passage strong{color:#1f2937;color:var(--text-primary);font-weight:600}.practice-question-text.has-passage em,.practice-question-text.has-passage i{color:#4f46e5;color:var(--primary-color);font-style:italic}.practice-result-indicator{align-items:center;border-radius:50%;display:flex;height:32px;justify-content:center;width:32px}.practice-result-indicator.correct{background:#e6f4ea;color:#34a853}.practice-result-indicator.incorrect{background:#fde7e9;color:#ea4335}.practice-options-container{grid-gap:.75rem;display:grid;gap:.75rem;margin-bottom:1rem}.practice-option{background:#fff!important;border:2px solid #e0e0e0;border-radius:12px;color:#2c3e50;cursor:pointer;font-size:1rem;font-weight:400;line-height:1.5;padding:1rem 1.25rem;text-align:left;transition:all .2s ease;width:100%}@media (hover:hover){.practice-option:hover:not(:disabled){background:#eef2ff!important;background:var(--primary-light)!important;border-color:#4f46e5;border-color:var(--primary-color)}}.practice-option:focus{border-color:#4f46e5;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a;outline:none}.practice-option:active{box-shadow:inset 0 2px 4px #0000001a;transform:translateY(0)}.practice-option.selected{background:#eef2ff!important;background:var(--primary-light)!important;border-color:#4f46e5;border-color:var(--primary-color);color:#4f46e5;color:var(--primary-color);font-weight:500}.practice-option.correct,.practice-option.correct-answer{background:#e6f4ea!important;border-color:#34a853;color:#34a853}.practice-option.incorrect{background:#fde7e9!important;border-color:#ea4335;color:#ea4335}.practice-option:disabled{cursor:not-allowed;opacity:.7;transform:none}.practice-sub-options-info{background-color:#f9fafb;background-color:var(--bg-secondary);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:.5rem;border-radius:var(--radius-md);margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);padding:1rem;padding:var(--spacing-base)}.practice-sub-options-label{color:#6b7280;color:var(--text-secondary);font-size:.97rem;font-weight:600;letter-spacing:.025em;margin:0 0 .5rem;margin:0 0 var(--spacing-sm) 0;text-transform:uppercase}.practice-sub-option-item{color:#1f2937;color:var(--text-primary);font-size:.97rem;line-height:1.5;line-height:var(--line-height-base);margin:.25rem 0;margin:var(--spacing-xs) 0;padding-left:.5rem;padding-left:var(--spacing-sm)}.practice-text-answer-container{margin-top:1rem}.practice-text-answer-input{background:#fff;border:2px solid #e0e0e0;border-radius:12px;color:#2c3e50;font-size:1rem;min-height:100px;padding:1rem;resize:vertical;transition:all .2s ease;width:100%}.practice-text-answer-input:focus{border-color:#4f46e5;border-color:var(--primary-color);outline:none}.practice-text-answer-input:disabled{background-color:#f3f4f6;background-color:var(--bg-tertiary);color:#9ca3af;color:var(--text-muted);cursor:not-allowed}.practice-text-answer-input::placeholder{color:#9ca3af;color:var(--text-muted);font-style:italic}.practice-submit-answer-btn{align-items:center;background:#4f46e5;background:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;justify-content:center;margin-top:1rem;padding:.75rem 1.5rem;transition:all .2s ease}@media (hover:hover){.practice-submit-answer-btn:hover:not(:disabled){background:var(--primary-dark)}}.practice-submit-answer-btn:focus{box-shadow:0 0 0 3px #4f46e54d;outline:none}.practice-submit-answer-btn:active{transform:translateY(0)}.practice-submit-answer-btn:disabled{cursor:not-allowed;opacity:.7}.practice-answer-feedback{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:12px;margin-top:1rem;padding:1rem}.practice-feedback-label{color:#4f46e5;color:var(--primary-color);font-weight:500;margin-bottom:.5rem}.practice-feedback-text{color:#2c3e50;line-height:1.6}.practice-correct-answer-display{background-color:#ecfdf5;background-color:var(--success-light);border:1px solid #10b981;border:1px solid var(--success-color);border-radius:.5rem;border-radius:var(--radius-md);margin-top:1rem;margin-top:var(--spacing-base);padding:1rem;padding:var(--spacing-base)}.practice-correct-answer-label{color:#10b981;color:var(--success-color);font-size:.875rem;font-size:var(--font-size-sm);font-weight:600;letter-spacing:.025em;margin:0 0 .5rem;margin:0 0 var(--spacing-sm) 0;text-transform:uppercase}.practice-correct-answer-text{word-wrap:break-word;color:#1f2937;color:var(--text-primary);font-size:1rem;font-size:var(--font-size-base);font-weight:500;line-height:1.5;line-height:var(--line-height-base);margin:0}@media (min-width:768px){.practice-question-card{margin-bottom:2rem;margin-bottom:var(--spacing-xl);padding:2rem;padding:var(--spacing-xl)}.practice-question-text{font-size:1.25rem;font-size:var(--font-size-xl)}.practice-complex-options-container,.practice-options-container{gap:1rem;gap:var(--spacing-base)}.practice-option{min-height:3.5rem;padding:1.5rem 2rem;padding:var(--spacing-lg) var(--spacing-xl)}.practice-option,.practice-text-answer-input{font-size:1.125rem;font-size:var(--font-size-lg)}.practice-text-answer-input{min-height:6rem;padding:1.5rem;padding:var(--spacing-lg)}}@media (min-width:1024px){.practice-question-card{margin-left:auto;margin-right:auto;max-width:800px}.practice-question-text{font-size:1.5rem;font-size:var(--font-size-2xl)}.practice-question-text.has-passage{font-size:1.125rem;font-size:var(--font-size-lg);max-height:400px}.practice-passage-container.collapsed .practice-question-text.has-passage{max-height:200px}.practice-options-container{grid-gap:1rem;grid-gap:var(--spacing-base);display:grid;gap:1rem;gap:var(--spacing-base);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.practice-option{min-height:4rem}}@media (prefers-contrast:high){:root{--border-color:#000;--text-primary:#000;--text-secondary:#333}.practice-option{border-width:3px}.practice-option:focus{box-shadow:0 0 0 4px #0000004d}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.practice-option:hover,.practice-submit-answer-btn:hover{transform:none}}@media (prefers-color-scheme:dark){:root{--text-primary:#f9fafb;--text-secondary:#d1d5db;--text-muted:#9ca3af;--border-color:#374151;--border-hover:#4b5563;--bg-primary:#1f2937;--bg-secondary:#374151;--bg-tertiary:#4b5563;--primary-light:#4f46e51a;--success-light:#10b9811a;--error-light:#ef44441a}.practice-question-card{box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003}.practice-question-card.practice-mode{background:linear-gradient(135deg,#374151,#1f2937);border-color:#4f46e5;border-color:var(--primary-color)}.practice-passage-container.collapsed:after{background:linear-gradient(#0000,#f9fafb);background:linear-gradient(#0000,var(--bg-secondary))}}@media print{.practice-question-card{border:2px solid #e5e7eb;border:2px solid var(--border-color);box-shadow:none;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.practice-option,.practice-question-card{break-inside:avoid;page-break-inside:avoid}.practice-option{border:1px solid #e5e7eb;border:1px solid var(--border-color)}.practice-submit-answer-btn{display:none}}.practice-question-card.loading{opacity:.7;pointer-events:none}.practice-question-card.loading:after{animation:spin 1s linear infinite;border:2px solid #e5e7eb;border-top-color:#4f46e5;border:2px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);content:"";height:2rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:2rem}@media (max-width:520px){.practice-question-text{font-size:.99rem}.practice-option{font-size:.97rem}.practice-sub-option-item,.practice-sub-options-label{font-size:.95rem}}@media (min-width:700px){.practice-option{font-size:.92rem;padding:.5rem 1rem}.practice-sub-option-item,.practice-sub-options-label{font-size:.91rem}.practice-question-text{font-size:1rem;margin-bottom:.3rem}}.practice-ai-section{margin-bottom:1.5rem;margin-top:1.5rem}.practice-ai-explain-btn{align-items:center;background:#eef2ff;background:var(--primary-light);border:1px solid #4f46e5;border:1px solid var(--primary-color);border-radius:8px;color:#4f46e5;color:var(--primary-color);cursor:pointer;display:inline-flex;font-size:.9375rem;font-weight:500;gap:.5rem;padding:.75rem 1.25rem;transition:all .2s ease}.practice-ai-explain-btn:hover:not(:disabled){background:#4f46e5;background:var(--primary-color);color:#fff}.practice-ai-explain-btn:disabled{cursor:not-allowed;opacity:.7}.practice-ai-explanation{background:#fff!important;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-top:1rem;padding:1.25rem}.practice-ai-explanation strong{color:#4f46e5;color:var(--primary-color);display:inline;font-size:1rem;font-weight:600}.practice-ai-explanation .ai-text{color:#2c3e50!important;font-size:1rem;line-height:1.6}.practice-ai-explanation .ai-text.error{color:#dc3545!important}.practice-results-container{background:#fff;border-radius:16px;box-shadow:0 8px 32px #00000014;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;margin:0 auto;max-width:900px;padding:2rem}.practice-results-header{margin-bottom:3rem;text-align:center}.practice-results-title-section{margin-bottom:2rem}.practice-results-title{color:#1a202c;font-size:2.5rem;font-weight:700;line-height:1.2;margin:0 0 1rem}.practice-results-performance-badge{border-radius:50px;display:inline-block;font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:.5rem 1.5rem;text-transform:uppercase}.practice-results-performance-excellent{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.practice-results-performance-good{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.practice-results-performance-average{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.practice-results-performance-below-average{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.practice-results-performance-poor{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.practice-results-score-display{align-items:center;display:flex;gap:2rem;justify-content:center;margin-bottom:2rem}.practice-results-score-circle{align-items:center;background:#fff;border:6px solid;border-radius:50%;display:flex;height:120px;justify-content:center;position:relative;width:120px}.practice-results-score-excellent{border-color:#10b981;box-shadow:0 0 0 4px #10b9811a}.practice-results-score-good{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a}.practice-results-score-average{border-color:#f59e0b;box-shadow:0 0 0 4px #f59e0b1a}.practice-results-score-below-average{border-color:#f97316;box-shadow:0 0 0 4px #f973161a}.practice-results-score-poor{border-color:#ef4444;box-shadow:0 0 0 4px #ef44441a}.practice-results-score-percentage{color:#1a202c;font-size:2rem;font-weight:800}.practice-results-score-icon{bottom:8px;opacity:.6;position:absolute;right:8px}.practice-results-score-details{text-align:left}.practice-results-score-text{color:#374151;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.practice-results-score-subtext{color:#6b7280;font-size:.95rem;margin:0}.practice-results-mock-section-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem}.practice-results-mock-title{color:#374151;font-size:1.25rem;font-weight:600;margin:0 0 1rem}.practice-results-mock-sections{display:flex;flex-direction:column;gap:1rem}.practice-results-mock-section-row{align-items:center;display:flex;gap:1rem}.practice-results-mock-section-info{align-items:center;display:flex;justify-content:space-between;min-width:120px}.practice-results-mock-section-name{color:#374151;font-size:.9rem}.practice-results-mock-section-score{color:#6b7280;font-size:.85rem}.practice-results-mock-section-bar{background:#e5e7eb;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.practice-results-mock-section-fill{background:linear-gradient(90deg,#3b82f6,#1d4ed8);height:100%;transition:width .8s ease-out}.practice-results-mock-section-percentage{color:#374151;font-size:.85rem;font-weight:600;min-width:40px;text-align:right}.practice-results-breakdown{margin-bottom:2rem}.practice-results-breakdown-title{border-bottom:2px solid #e5e7eb;color:#374151;font-size:1.5rem;font-weight:600;margin:0 0 1.5rem;padding-bottom:.5rem}.practice-results-item{border:2px solid;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem;transition:all .2s ease}.practice-results-item:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.practice-results-item-correct{background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border-color:#10b981}.practice-results-item-incorrect{background:linear-gradient(135deg,#fef2f2,#fef2f2);border-color:#ef4444}.practice-results-item-open{background:linear-gradient(135deg,#eff6ff,#f0f9ff);border-color:#3b82f6}.practice-results-question-section{margin-bottom:1rem}.practice-results-question-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.practice-results-question-number{background:#374151;border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;padding:.25rem .75rem}.practice-results-question-section-tag{background:#e5e7eb;border-radius:20px;color:#374151;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.practice-results-question-text{color:#1f2937;font-size:1.1rem;font-weight:500;line-height:1.5}.practice-results-answers-section{display:flex;flex-direction:column;gap:.75rem}.practice-results-correct-answer,.practice-results-suggested-answer,.practice-results-user-answer{display:flex;flex-direction:column;gap:.5rem}.practice-results-answer-label{color:#6b7280;font-size:.85rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.practice-results-answer-content{align-items:center;display:flex;gap:.75rem}.practice-results-answer-text{color:#374151;flex:1 1;font-size:1rem;line-height:1.4}.practice-results-correct-text{color:#059669;font-weight:500}.practice-results-suggested-text{color:#1d4ed8;font-weight:500}.practice-results-answer-status{align-items:center;display:flex}.practice-results-check-icon{color:#10b981}.practice-results-alert-icon{color:#ef4444}.practice-results-ai-badge{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:12px;color:#fff;display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.5px;margin-left:.5rem;padding:.2rem .5rem;text-transform:uppercase}.practice-results-loading{padding:3rem 0;text-align:center}.practice-results-loading-spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:40px;margin:0 auto 1rem;width:40px}.practice-results-actions{border-top:1px solid #e5e7eb;padding-top:1rem;text-align:center}.practice-results-restart-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.875rem 2rem;text-decoration:none;transition:all .2s ease}.practice-results-restart-btn:hover{background:linear-gradient(135deg,#2563eb,#1e40af);box-shadow:0 8px 24px #3b82f64d;transform:translateY(-2px)}.practice-results-restart-btn:active{transform:translateY(0)}@media (max-width:768px){.practice-results-container{margin:1rem;padding:1.5rem}.practice-results-title{font-size:2rem}.practice-results-score-display{flex-direction:column;gap:1rem}.practice-results-score-circle{height:100px;width:100px}.practice-results-score-percentage{font-size:1.5rem}.practice-results-mock-section-row{align-items:stretch;flex-direction:column;gap:.5rem}.practice-results-mock-section-info{min-width:auto}.practice-results-item{padding:1rem}.practice-results-question-header{flex-wrap:wrap}}@media (max-width:480px){.practice-results-container{margin:.5rem;padding:1rem}.practice-results-title{font-size:1.75rem}.practice-results-answer-content{align-items:flex-start;flex-direction:column;gap:.5rem}}.practice-item-card{-webkit-tap-highlight-color:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fffffff2,#ffffffe6);border:1px solid #ffffff1a;border-radius:20px;box-shadow:0 4px 20px #00000014,0 0 0 1px #ffffff1a;margin:0 auto;max-width:400px;min-height:180px;touch-action:pan-y pinch-zoom;transform:translateY(0);transition:all .2s ease;width:100%}@media (hover:none){.practice-item-card:active{transform:scale(.98);transition:transform .1s ease}}@media (hover:hover){.practice-item-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-2px)}.practice-item-card:hover .practice-card-action{opacity:1;transform:translateY(0)}}.practice-card-content{display:flex;flex-direction:column;height:100%;justify-content:space-between;padding:24px 20px 16px;position:relative;z-index:2}.practice-card-header{align-items:flex-start;display:flex;gap:16px;margin-bottom:16px}.practice-card-icon{filter:drop-shadow(0 2px 8px rgba(0,0,0,.1));flex-shrink:0;height:32px;transition:all .3s ease;width:32px}.practice-card-grammar{color:#6366f1}.practice-card-listening{color:#22c55e}.practice-card-reading{color:#fb923c}.practice-card-mock-exam{color:#ec4899}.practice-card-title{color:#1e293b!important;flex:1 1;font-size:18px;font-weight:700;-webkit-hyphens:auto;hyphens:auto;line-height:1.3;margin:0;word-break:break-word}@media (prefers-color-scheme:dark){.practice-card-title{color:#f9fafb}}.practice-card-type{align-self:flex-start;background:#6b72801a;border:1px solid #6b728033;border-radius:20px;color:#475569!important;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;padding:6px 12px;text-transform:uppercase}@media (prefers-color-scheme:dark){.practice-card-type{background:#9ca3af33;border-color:#9ca3af4d;color:#9ca3af}}.practice-card-details{color:#4b5563!important;flex:1 1;font-size:14px;line-height:1.5;margin:0}@media (prefers-color-scheme:dark){.practice-card-details{color:#9ca3af}}.practice-card-action{align-items:center;background:var(--primary-color);bottom:0;color:#fff;cursor:pointer;display:flex;font-size:.9375rem;font-weight:500;gap:.5rem;justify-content:center;left:0;opacity:0;padding:1rem;position:absolute;right:0;touch-action:none;transform:translateY(100%);transition:all .2s ease;z-index:3}.practice-card-action:hover{background:var(--primary-dark)}.practice-card-action-grammar{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.practice-card-action-listening{background:linear-gradient(135deg,#22c55e,#3b82f6)}.practice-card-action-reading{background:linear-gradient(135deg,#fb923c,#f59e0b)}.practice-card-action-mock_exam{background:linear-gradient(135deg,#ec4899,#a855f7)}.practice-card-action-lock{animation:fadeIn .2s ease-out}@media (hover:none){.practice-card-action{border-radius:0;margin-top:1rem;opacity:1;position:relative;transform:none}}.practice-item-card-mock_exam:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s ease;width:100%;z-index:1}.practice-item-card-mock_exam:hover:before{left:100%}@media (max-width:380px){.practice-item-card{border-radius:16px;min-height:160px}.practice-card-content{padding:20px 16px 14px}.practice-card-header{gap:12px;margin-bottom:12px}.practice-card-icon{height:28px;width:28px}.practice-card-title{font-size:16px}.practice-card-details{font-size:13px}.practice-card-action{font-size:13px;padding:14px 16px}}@media (min-width:768px){.practice-item-card{max-width:none;min-height:200px}.practice-card-content{padding:28px 24px 18px}.practice-card-header{gap:18px;margin-bottom:18px}.practice-card-icon{height:36px;width:36px}.practice-card-title{font-size:20px}.practice-card-details{font-size:15px}.practice-card-action{font-size:15px;padding:18px 24px}}@media (min-width:1024px){.practice-item-card{min-height:220px}.practice-card-content{padding:32px 28px 20px}.practice-card-header{gap:20px;margin-bottom:20px}.practice-card-icon{height:40px;width:40px}.practice-card-title{font-size:22px}.practice-card-details{font-size:16px}.practice-card-action{font-size:16px;padding:20px 28px}}.practice-item-card:focus-visible{outline:3px solid #4f46e5;outline-offset:2px}.practice-item-card:focus:not(:focus-visible){outline:none}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.practice-item-card{animation:cardSlideIn .5s ease-out forwards}.practice-item-card:first-child{animation-delay:0ms}.practice-item-card:nth-child(2){animation-delay:.1s}.practice-item-card:nth-child(3){animation-delay:.2s}.practice-item-card:nth-child(4){animation-delay:.3s}.practice-item-card:nth-child(5){animation-delay:.4s}.practice-item-card:nth-child(6){animation-delay:.5s}@media (prefers-contrast:high){.practice-item-card{border:2px solid #000;box-shadow:0 4px 8px #0000004d}.practice-card-title{color:#1e293b!important}.practice-card-details{color:#4b5563!important}}@media (prefers-contrast:high) and (prefers-color-scheme:dark){.practice-item-card{border:2px solid #fff}.practice-card-title{color:#1e293b!important}.practice-card-details{color:#4b5563!important}}@media (prefers-reduced-motion:reduce){.practice-item-card{animation:none;transition:none}.practice-item-card:hover{transform:none}.practice-card-action,.practice-card-icon,.practice-item-card-mock_exam:before{transition:none}}.practice-card-auth-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffffffa;border-radius:inherit;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.practice-card-auth-content{padding:1.5rem;text-align:center;width:100%}.practice-card-auth-icon{align-items:center;background:#4f46e51a;border-radius:50%;color:#4f46e5;display:inline-flex;height:48px;justify-content:center;margin-bottom:1rem;width:48px}.practice-card-auth-content p{color:#1e293b;font-size:1rem;font-weight:500;margin:0 0 1rem}.practice-card-auth-buttons{display:flex;gap:.75rem;justify-content:center}.practice-card-auth-button{border-radius:8px;font-size:.9375rem;font-weight:500;padding:.625rem 1.25rem;text-decoration:none;transition:all .2s ease}.practice-card-auth-button.signin{background:#4f46e5;border:none;color:#fff}.practice-card-auth-button.signin:hover{background:#4338ca;transform:translateY(-1px)}.practice-card-auth-button.signup{background:#fff;border:1px solid #4f46e5;color:#4f46e5}.practice-card-auth-button.signup:hover{background:#4f46e51a;transform:translateY(-1px)}.dark-theme .practice-card-auth-overlay{background:#fffffffa!important}.dark-theme .practice-card-auth-content p{color:#1e293b!important}@media (max-width:640px){.practice-card-auth-content{padding:1rem}.practice-card-auth-buttons{flex-direction:column}.practice-card-auth-button{text-align:center;width:100%}.practice-card-action{font-size:.875rem;padding:.875rem}}:root{--primary-hover:#3730a3;--secondary-color:#06b6d4;--text-light:#9ca3af;--bg-primary:#fff;--bg-secondary:#f9fafb;--bg-tertiary:#f3f4f6;--border-color:#e5e7eb;--border-light:#f3f4f6;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem}.practice-page-container{background:#fff!important;color:#1e293b;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;line-height:1.6;min-height:100vh}.practice-page-main{margin:0 auto;max-width:1200px;min-height:calc(100vh - 60px);padding:1rem;padding:var(--spacing-md)}.practice-menu{background:#fff!important;border:1px solid #e0e0e0;border-radius:16px;box-shadow:0 2px 8px #0000000d;margin-bottom:1.5rem;padding:1.5rem}.practice-menu-header{margin-bottom:var(--spacing-s);text-align:center}.practice-menu-title{-webkit-text-fill-color:unset;background:none;-webkit-background-clip:unset;background-clip:initial;color:#1e293b;font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.practice-menu-subtitle{color:#64748b;font-size:1.05rem;font-weight:500;margin:0}.practice-filter-container{display:flex;flex-wrap:wrap;gap:.5rem;gap:var(--spacing-sm);justify-content:center;margin-bottom:.25rem;margin-bottom:var(--spacing-xs)}.practice-filter-btn{background:#fff;background:var(--bg-primary);border:2px solid #e5e7eb;border:2px solid var(--border-color);border-radius:12px;border-radius:var(--radius-lg);color:#6b7280;color:var(--text-secondary);cursor:pointer;font-size:.98rem;font-weight:600;min-width:80px;padding:.5rem 1.5rem;padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s ease}.practice-filter-btn:hover{border-color:#4f46e5;border-color:var(--primary-color);color:#4f46e5;color:var(--primary-color);transform:translateY(-1px)}.practice-filter-btn.selected{background:#4f46e5;background:var(--primary-color);border-color:#4f46e5;border-color:var(--primary-color);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);color:#fff}.practice-search-container{margin-bottom:.25rem;margin-bottom:var(--spacing-xs)}.practice-search-input-wrapper{margin:0 auto;max-width:400px;position:relative}.practice-search-icon{color:#9ca3af;color:var(--text-light);height:20px;left:1rem;left:var(--spacing-md);position:absolute;top:50%;transform:translateY(-50%);width:20px}.practice-search-input{background:#fff;background:var(--bg-primary);border:2px solid #e5e7eb;border:2px solid var(--border-color);border-radius:12px;border-radius:var(--radius-lg);font-size:.98rem;padding:1rem 1rem 1rem 48px;padding:var(--spacing-md) var(--spacing-md) var(--spacing-md) 48px;transition:all .2s ease;width:100%}.practice-search-input:focus{border-color:#4f46e5;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a;outline:none}.practice-cards-grid{grid-gap:1.5rem;grid-gap:var(--spacing-lg);display:grid;gap:1.5rem;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:2rem;margin-bottom:var(--spacing-xl)}.practice-item-card{background:#fff!important;border:1px solid #e0e0e0;border-radius:12px;color:red!important;cursor:pointer;overflow:hidden;padding:1.25rem;position:relative;transition:all .3s ease}.practice-item-card:before{background:linear-gradient(90deg,#4f46e5,#06b6d4);background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.practice-item-card:hover{border-color:#4f46e5;border-color:var(--primary-color);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.practice-item-card:hover:before{transform:scaleX(1)}.practice-item-card.mock-exam{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;color:#fff}.practice-item-card.mock-exam .practice-item-details,.practice-item-card.mock-exam .practice-item-title{color:#fff}.practice-item-title{color:#1e293b!important;font-size:1.125rem;font-size:var(--font-size-lg);font-weight:600;margin:0 0 .5rem;margin:0 0 var(--spacing-sm) 0}.practice-item-details{color:#4b5563!important;font-size:.875rem;font-size:var(--font-size-sm);margin:0}.practice-item-type-badge{background:#f1f5f9;border-radius:6px;border-radius:var(--radius-sm);color:#475569!important;display:inline-block;font-size:.75rem;font-size:var(--font-size-xs);font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;margin-bottom:var(--spacing-sm);padding:.25rem .5rem;padding:var(--spacing-xs) var(--spacing-sm);text-transform:uppercase}.practice-no-results{color:#6b7280;color:var(--text-secondary);padding:3rem;padding:var(--spacing-2xl);text-align:center}.practice-session{background:#fff!important;border:1px solid #e0e0e0;border-radius:16px;box-shadow:0 2px 8px #0000000d;margin-bottom:1.5rem;padding:1.5rem}.practice-back-btn{align-items:center;background:linear-gradient(90deg,#4f46e5,#06b6d4);background:linear-gradient(90deg,var(--primary-color) 0,var(--secondary-color) 100%);border:none;border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 4px 16px #4f46e51a;color:#fff;cursor:pointer;display:inline-flex;font-size:1.13rem;font-weight:700;gap:.5rem;gap:var(--spacing-sm);letter-spacing:.02em;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);outline:none;padding:.85rem 2.2rem;transition:background .18s,box-shadow .18s,transform .12s}.practice-back-btn:focus,.practice-back-btn:hover{background:linear-gradient(90deg,#06b6d4,#4f46e5);background:linear-gradient(90deg,var(--secondary-color) 0,var(--primary-color) 100%);box-shadow:0 6px 24px #06b6d42e;color:#fff;transform:translateY(-2px) scale(1.04)}.practice-back-btn:active{opacity:.92;transform:scale(.97)}.practice-session-header{margin-bottom:2rem;margin-bottom:var(--spacing-xl)}.practice-session-title{color:#1f2937;color:var(--text-primary);font-size:1.5rem;font-size:var(--font-size-2xl);font-weight:700;line-height:1.3;margin:0}.practice-audio-container{background:#f9fafb;background:var(--bg-secondary);border:2px solid #f3f4f6;border:2px solid var(--border-light);border-radius:12px;border-radius:var(--radius-lg);margin-bottom:2rem;margin-bottom:var(--spacing-xl);padding:1.5rem;padding:var(--spacing-lg)}.practice-audio-player{height:40px;max-width:400px;width:100%}.practice-reading-passage{background:#fff!important;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #0000000d;color:#2c3e50!important;margin-bottom:1.5rem;max-height:500px;overflow-y:auto;padding:1.5rem}.practice-reading-passage::-webkit-scrollbar{width:8px}.practice-reading-passage::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.practice-reading-passage::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.practice-reading-passage::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.practice-passage-paragraph{color:#2c3e50!important;font-size:1.05rem;line-height:1.7;margin-bottom:1rem}.practice-passage-paragraph:last-child{margin-bottom:0}.practice-single-question-container{background:#fff!important;border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem}.practice-mock-placeholder{background:#fff!important;border:1px solid #e0e0e0;border-radius:12px;color:#2c3e50;margin-bottom:1.5rem;padding:1.25rem}.practice-listening-placeholder{border-left-color:#06b6d4;border-left-color:var(--secondary-color)}.practice-reading-placeholder{border-left-color:#10b981;border-left-color:var(--success-color)}.practice-question-progress{margin-bottom:2rem;margin-bottom:var(--spacing-xl)}.practice-mock-section-label{color:#4f46e5;color:var(--primary-color);font-weight:600;letter-spacing:.5px;text-transform:uppercase}.practice-mock-section-label,.practice-progress-text{font-size:.875rem;font-size:var(--font-size-sm);margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}.practice-progress-text{color:#6b7280;color:var(--text-secondary);display:block;font-weight:500}.practice-progress-bar{background:#f3f4f6;background:var(--bg-tertiary);height:8px;overflow:hidden;width:100%}.practice-progress-bar,.practice-progress-fill{border-radius:6px;border-radius:var(--radius-sm)}.practice-progress-fill{background:linear-gradient(90deg,#4f46e5,#06b6d4);background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));height:100%;transition:width .3s ease}.practice-question-navigation{display:flex;flex-wrap:wrap;gap:.25rem;gap:var(--spacing-xs);justify-content:space-between;margin-top:1rem;margin-top:var(--spacing-md)}.practice-next-question-btn,.practice-prev-question-btn{align-items:center;border:none;border-radius:8px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:.98rem;font-weight:600;gap:.25rem;gap:var(--spacing-xs);margin:10px 20px;min-height:36px;padding:.5rem 1.1rem;transition:all .18s}.practice-prev-question-btn{background:#f9fafb;background:var(--bg-secondary);border:2px solid #e5e7eb;border:2px solid var(--border-color);color:#6b7280;color:var(--text-secondary)}.practice-prev-question-btn:hover:not(:disabled){background:#f3f4f6;background:var(--bg-tertiary);transform:translateX(-2px)}.practice-prev-question-btn:disabled{cursor:not-allowed;opacity:.5}.practice-next-question-btn{background:#4f46e5;background:var(--primary-color);border:2px solid #4f46e5;border:2px solid var(--primary-color);color:#fff;margin-left:auto}.practice-next-question-btn:hover{background:#3730a3;background:var(--primary-hover);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);transform:translateX(2px)}.practice-page-footer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;color:#fff;font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;padding:1.5rem;padding:var(--spacing-lg);text-align:center}@media (max-width:768px){.practice-page-main{padding:.5rem;padding:var(--spacing-sm)}.practice-menu,.practice-session{margin-bottom:1rem;margin-bottom:var(--spacing-md);padding:1.5rem;padding:var(--spacing-lg)}.practice-menu-title{font-size:1.5rem;font-size:var(--font-size-2xl)}.practice-cards-grid{gap:1rem;gap:var(--spacing-md);grid-template-columns:1fr}.practice-filter-container{gap:.25rem;gap:var(--spacing-xs)}.practice-filter-btn{font-size:.75rem;font-size:var(--font-size-xs);min-width:70px;padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md)}.practice-question-navigation{flex-direction:column}.practice-next-question-btn{margin-left:0}.practice-reading-passage{max-height:200px;padding:1rem;padding:var(--spacing-md)}.practice-single-question-container{padding:1.5rem;padding:var(--spacing-lg)}.practice-question-navigation-sticky{background:#fff;border-top:1.5px solid #e5e7eb;border-top:1.5px solid var(--border-color);bottom:0;box-shadow:0 -2px 16px #1e293b1a;display:flex;gap:.25rem;gap:var(--spacing-xs);justify-content:space-between;left:0;padding:.5rem 1rem env(safe-area-inset-bottom,.5rem);position:fixed;right:0;z-index:100}.practice-question-navigation-sticky .practice-next-question-btn,.practice-question-navigation-sticky .practice-prev-question-btn{flex:1 1;font-size:1rem;margin:0 .25rem;min-width:0;padding:.7rem .5rem}}@media (max-width:480px){.practice-menu,.practice-session{padding:1rem;padding:var(--spacing-md)}.practice-menu-title,.practice-session-title{font-size:1.25rem;font-size:var(--font-size-xl)}.practice-single-question-container{padding:1rem;padding:var(--spacing-md)}.practice-search-input{padding:.5rem .5rem .5rem 40px;padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-sm) 40px}.practice-item-card{padding:1rem;padding:var(--spacing-md)}}@media (prefers-contrast:high){:root{--border-color:#000;--text-secondary:#000;--bg-secondary:#f0f0f0}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.practice-dashboard-style{background:#fff;border:1.5px solid #e5e7eb;border-radius:20px;box-shadow:0 4px 24px #1e293b14;display:flex;flex-direction:column;font-family:inherit;gap:1.5rem;margin:0 auto 2rem;max-width:700px;padding:2rem}@media (max-width:700px){.practice-dashboard-style{border-radius:14px;gap:1rem;padding:1.1rem}}.ai-suggested-quiz-card{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 12px #0000000d;display:flex;flex-direction:column;gap:1rem;margin:0 auto .2rem;max-width:480px;padding:1.25rem}.ai-suggested-quiz-header{align-items:center;display:flex;gap:1rem}.ai-suggested-quiz-icon{align-items:center;background:linear-gradient(135deg,#4f46e5,#6366f1);border-radius:10px;box-shadow:0 2px 8px #4f46e533;color:#fff;display:flex;font-size:20px;height:40px;justify-content:center;width:40px}.ai-suggested-quiz-title{color:#1e293b;font-size:1.1rem;font-weight:700;line-height:1.2;margin:0}.ai-suggested-quiz-subtitle{color:#64748b;font-size:.9rem;font-weight:500;margin-top:2px}.ai-suggested-quiz-details{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#334155;font-size:.95rem;line-height:1.5;padding:.75rem 1rem}.ai-suggested-quiz-details small{color:#64748b;display:block;font-size:.8rem;margin-top:.5rem}.ai-suggested-quiz-btn{align-items:center;background:linear-gradient(90deg,#4f46e5,#6366f1);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem;transition:all .2s ease;width:100%}.ai-suggested-quiz-btn:hover:not(:disabled){background:linear-gradient(90deg,#4338ca,#4f46e5);box-shadow:0 4px 12px #4f46e533;transform:translateY(-1px)}.ai-suggested-quiz-btn:disabled{cursor:not-allowed;opacity:.7}.ai-suggested-quiz-btn svg{height:18px;width:18px}@media (max-width:520px){.ai-suggested-quiz-card{gap:.75rem;padding:1rem}.ai-suggested-quiz-icon{height:36px;width:36px}.ai-suggested-quiz-title{font-size:1rem}.ai-suggested-quiz-subtitle{font-size:.85rem}.ai-suggested-quiz-btn,.ai-suggested-quiz-details{font-size:.9rem;padding:.75rem}}@media (min-width:900px){.practice-dashboard-style{max-width:900px}.ai-suggested-quiz-card{max-width:600px}}.practice-question-navigation,.practice-question-navigation-sticky{background:#fff;border-top:1px solid #e5e7eb;bottom:0;box-shadow:0 -2px 10px #0000001a;position:sticky;z-index:1000}.practice-skeleton{background:#fff;border-radius:20px;box-shadow:0 4px 24px #1e293b14;display:flex;flex-direction:column;gap:2rem;margin:2rem auto;max-width:700px;padding:2rem;width:100%}.practice-skeleton-header{background:#e5e7eb;border-radius:12px;height:48px;margin-bottom:1.5rem;overflow:hidden;position:relative;width:60%}.practice-skeleton-filters{display:flex;gap:1rem;margin-bottom:1.2rem}.practice-skeleton-filter-btn{height:32px;width:80px}.practice-skeleton-filter-btn,.practice-skeleton-search{background:#e5e7eb;border-radius:8px;overflow:hidden;position:relative}.practice-skeleton-search{height:38px;margin-bottom:2rem;width:100%}.practice-skeleton-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}@media (max-width:700px){.practice-skeleton-cards{grid-template-columns:1fr}}.practice-skeleton-card{background:#f3f4f6;border-radius:16px;display:flex;flex-direction:column;gap:1.1rem;min-height:110px;overflow:hidden;padding:1.5rem 1.2rem;position:relative}.practice-skeleton-card-header{align-items:center;display:flex;gap:1rem}.practice-skeleton-icon{background:#e5e7eb;border-radius:50%;height:36px;overflow:hidden;position:relative;width:36px}.practice-skeleton-title{height:18px;width:120px}.practice-skeleton-details,.practice-skeleton-title{background:#e5e7eb;border-radius:6px;overflow:hidden;position:relative}.practice-skeleton-details{height:14px;width:80%}.practice-skeleton-card:after,.practice-skeleton-details:after,.practice-skeleton-filter-btn:after,.practice-skeleton-header:after,.practice-skeleton-icon:after,.practice-skeleton-search:after,.practice-skeleton-title:after{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:0;position:absolute;top:0;width:100%}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.profile-container{background-color:#f5f5f5!important;color:#333!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;margin:0 auto;max-width:800px;min-height:100vh;padding:16px}.profile-header{margin-bottom:24px;text-align:center}.profile-title{color:#1a1a1a!important;font-size:28px;font-weight:600;margin:0}.profile-card{background:#fff!important;border:1px solid #e1e5e9!important;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px;padding:24px}.section-title{border-bottom:2px solid #f0f0f0!important;color:#1a1a1a!important;font-size:20px;font-weight:600;margin:0 0 20px;padding-bottom:8px}.alert{border:1px solid #0000;border-radius:8px;font-weight:500;margin-bottom:20px;padding:12px 16px}.alert-success{background-color:#d4edda!important;border-color:#c3e6cb!important;color:#155724!important}.alert-error{background-color:#f8d7da!important;border-color:#f5c6cb!important;color:#721c24!important}.profile-form{width:100%}.form-group{margin-bottom:20px}.form-label{color:#374151!important;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.required{color:#dc2626!important;font-weight:600}.form-input{background-color:#fff!important;border:2px solid #d1d5db!important;border-radius:8px;box-sizing:border-box;color:#000!important;font-family:inherit;font-size:16px;padding:12px 16px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-input:focus{border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f61a!important;outline:none}.form-input:disabled{background-color:#f9fafb!important;color:#6b7280!important;cursor:not-allowed}.form-input.error{border-color:#dc2626!important;box-shadow:0 0 0 3px #dc26261a!important}.error-message{color:#dc2626!important;display:block;font-size:14px;font-weight:500;margin-top:4px}.btn{border-radius:8px;display:inline-block;font-family:inherit;font-size:16px;min-width:120px;padding:12px 20px;text-align:center;text-decoration:none}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background-color:#3b82f6!important;color:#fff!important}.btn-primary:hover:not(:disabled){background-color:#2563eb!important;box-shadow:0 4px 12px #3b82f64d!important;transform:translateY(-1px)}.btn-secondary{background-color:#6b7280!important;color:#fff!important}.btn-secondary:hover:not(:disabled){background-color:#4b5563!important;box-shadow:0 4px 12px #6b72804d!important;transform:translateY(-1px)}.form-actions{display:flex;gap:12px;margin-top:24px}.profile-info{width:100%}.info-row{align-items:center;border-bottom:1px solid #f0f0f0!important;display:flex;justify-content:space-between;padding:12px 0}.info-row:last-of-type{border-bottom:none!important;margin-bottom:20px}.info-label{color:#6b7280!important;font-size:14px;font-weight:500;min-width:100px}.info-value{color:#1f2937!important;font-weight:400;text-align:right;word-break:break-word}.info-value.score{color:#059669!important;font-weight:600}.loading-spinner{color:#6b7280!important;font-size:16px;padding:40px 20px;text-align:center}.profile-link{color:#3b82f6!important;font-weight:500;text-decoration:none}.profile-link:hover{text-decoration:underline}@media (max-width:640px){.profile-container{padding:12px}.profile-card{border-radius:8px;margin-bottom:16px;padding:16px}.profile-title{font-size:24px}.section-title{font-size:18px}.form-group,.section-title{margin-bottom:16px}.form-actions{flex-direction:column;gap:8px}.btn{padding:14px 20px;width:100%}.info-row{align-items:flex-start;flex-direction:column;gap:4px;padding:10px 0}.info-label{font-size:13px;min-width:auto}.info-value{font-size:15px;text-align:left}}@media (max-width:480px){.profile-container{margin-top:80px;padding:8px}.profile-card{padding:12px}.profile-title{font-size:22px}.form-input,.section-title{font-size:16px}.form-input{padding:10px 12px}.btn{font-size:15px;padding:12px 16px}}@media (prefers-contrast:high){.form-input{border-width:3px}.btn{border:2px solid}}@media (prefers-reduced-motion:reduce){.btn,.form-input{transition:none}.btn:hover:not(:disabled){transform:none}}.btn:focus-visible,.form-input:focus-visible,.profile-link:focus-visible{outline:2px solid #3b82f6!important;outline-offset:2px}@media print{.profile-container{background-color:#fff!important;box-shadow:none}.profile-card{border:1px solid #ccc!important;box-shadow:none}.btn,.form-actions{display:none}}.footer{background:linear-gradient(180deg,#f8f9ff,#fff);border-top:1px solid #4f46e51a;padding:4rem 2rem 2rem}.footer-content{grid-gap:4rem;display:grid;gap:4rem;grid-template-columns:2fr 1fr 1fr 1fr;margin:0 auto;max-width:1200px}.footer-section{animation:fadeIn .6s ease-out}.footer-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#4f46e5,#7c3aed);-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700;margin-bottom:1rem}.footer-description{color:#4b5563;line-height:1.6;margin-bottom:1.5rem}.footer-social{display:flex;gap:1rem}.footer-social-link{align-items:center;background:#fff;border:1px solid #4f46e51a;border-radius:8px;color:#4f46e5;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1.25rem;text-decoration:none;transition:all .2s}.footer-social-link:hover{background:#f5f3ff;box-shadow:0 4px 12px #4f46e51a;transform:translateY(-2px)}.footer-social-icon{font-size:1.25rem}.footer-section-title{color:#1a1a1a;font-size:1.125rem;font-weight:600;margin-bottom:1.25rem}.footer-links{list-style:none;margin:0;padding:0}.footer-links li{margin-bottom:.75rem}.footer-links a{color:#4b5563;font-size:.9375rem;text-decoration:none;transition:color .2s}.footer-links a:hover{color:#4f46e5}.footer-contact p{color:#4b5563;font-size:.9375rem;margin-bottom:.75rem}.footer-bottom{border-top:1px solid #4f46e51a;margin-top:4rem;padding-top:2rem}.footer-bottom-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px}.footer-copyright{color:#6b7280;font-size:.875rem}.footer-legal{display:flex;gap:2rem;list-style:none;margin:0;padding:0}.footer-legal a{color:#6b7280;font-size:.875rem;text-decoration:none;transition:color .2s}.footer-legal a:hover{color:#4f46e5}@media (max-width:1024px){.footer-content{gap:3rem;grid-template-columns:1fr 1fr}.footer-section:first-child{grid-column:1/-1}}@media (max-width:768px){.footer{padding:3rem 1.5rem 1.5rem}.footer-content{gap:2.5rem;grid-template-columns:1fr}.footer-bottom-content{flex-direction:column;gap:1.5rem;text-align:center}.footer-legal{align-items:center;flex-direction:column;gap:1rem}}@media (max-width:640px){.footer{padding:2rem 1rem 1rem}.footer-social{flex-direction:column}.footer-social-link{justify-content:center}}.diagnostic-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:calc(100vh - 80px);overflow:hidden;padding:2rem 1rem;position:relative}.diagnostic-container:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='40' height='40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 40 40 0H0v40zm40 0V0H0l40 40z' fill='%23fff' fill-opacity='.03'/%3E%3C/svg%3E") repeat;bottom:0;content:"";left:0;opacity:.5;position:absolute;right:0;top:0}.diagnostic-card{animation:slideInUp .6s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:24px;box-shadow:0 20px 60px #00000026;max-width:600px;padding:2.5rem;position:relative;width:100%;z-index:1}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.diagnostic-card.error{background:#fee2e2f2;border-color:#f871714d;color:#dc2626}.diagnostic-card.intro{background:#fffffff2;border:1px solid #fff3;max-width:500px;text-align:center}.intro-icon{align-items:center;border-radius:50%;box-shadow:0 8px 32px #667eea4d;color:#fff;display:flex;height:80px;justify-content:center;margin:0 auto 1.5rem;width:80px}.diag-title,.intro-icon{background:linear-gradient(135deg,#667eea,#764ba2);font-size:2rem}.diag-title{-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text;color:#1e293b;font-weight:700;margin:0 0 1rem}.diag-sub{color:#64748b;font-size:1.1rem;line-height:1.6;margin-bottom:2rem}.diag-features{grid-gap:1rem;display:grid;gap:1rem;margin:2rem 0;text-align:left}.diag-feature{align-items:center;background:#667eea0d;border-left:4px solid #667eea;border-radius:12px;display:flex;gap:.75rem;padding:.75rem}.diag-feature-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.75rem;height:24px;justify-content:center;width:24px}.diag-feature-text{color:#475569;font-weight:500}.diag-actions{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr;margin-top:2rem}.diag-actions.two-cols{grid-template-columns:1fr 1.5fr}.diag-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 8px 24px #667eea4d;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;overflow:hidden;padding:1rem 2rem;position:relative;transition:all .3s ease}.diag-btn:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.diag-btn:hover:before{left:100%}.diag-btn:hover{box-shadow:0 12px 32px #667eea66;transform:translateY(-2px)}.diag-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2)}.diag-btn.outline{background:#ffffffe6;border:2px solid #667eea4d;box-shadow:0 4px 16px #667eea1a;color:#667eea}.diag-btn.outline:hover{background:#667eea0d;border-color:#667eea}.diag-header{border-bottom:2px solid #f1f5f9;justify-content:space-between;margin-bottom:0;padding-bottom:1rem}.diag-header,.diag-progress{align-items:center;display:flex}.diag-progress{color:#667eea;font-size:1rem;font-weight:700;gap:.5rem}.progress-bar{background:#f1f5f9;border-radius:999px;height:8px;margin-left:1rem;overflow:hidden;width:200px}.progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:999px;height:100%;transition:width .3s ease}.question-area{display:flex;flex-direction:column;justify-content:center;min-height:150px}.diag-footer{border-top:2px solid #f1f5f9;margin-top:0;padding-top:0}.diag-btn.fullwidth{font-size:1.1rem;padding:1.25rem 2rem;width:100%}.diag-btn:disabled{cursor:not-allowed;opacity:.5}.diag-btn:disabled,.diag-btn:disabled:hover{box-shadow:0 4px 16px #667eea1a;transform:none}.diagnostic-card.end-screen{background:#fffffff2;max-width:500px;text-align:center}.diag-badge{background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:999px;box-shadow:0 4px 16px #22c55e4d;color:#fff;display:inline-block;font-size:.95rem;font-weight:700;margin-bottom:1.5rem;padding:.75rem 1.5rem}.score-display{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:4rem;font-weight:800;line-height:1;margin:1rem 0}.score-description{color:#64748b;font-size:1.2rem;line-height:1.6;margin-bottom:2rem}@media (max-width:768px){.diagnostic-container{min-height:calc(100vh - 60px);padding:1rem}.diagnostic-card{border-radius:16px;padding:1.5rem}.diag-title{font-size:1.5rem}.diag-sub{font-size:1rem}.intro-icon{font-size:1.5rem;height:60px;margin-bottom:1rem;width:60px}.diag-actions.two-cols{gap:.75rem;grid-template-columns:1fr}.progress-bar{width:120px}.score-display{font-size:3rem}}@media (max-width:480px){.diagnostic-container{padding:.5rem}.diagnostic-card{padding:1rem}.diag-title{font-size:1.25rem}.diag-btn{font-size:.95rem;padding:.875rem 1.5rem}.diag-btn.fullwidth{font-size:1rem;padding:1rem 1.5rem}.diag-header{align-items:flex-start;flex-direction:column;gap:1rem}.progress-bar{margin-left:0;width:100%}.score-display{font-size:2.5rem}}.diagnostic-card.results-screen{background:#fffffff2;max-width:600px;text-align:center}.results-celebration{margin-bottom:2rem}.celebration-emoji{animation:bounce 2s infinite;font-size:3rem;margin-bottom:1rem}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.results-badge{background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:999px;box-shadow:0 4px 16px #22c55e4d;color:#fff;display:inline-block;font-size:.95rem;font-weight:700;padding:.75rem 1.5rem}.score-circle-container{display:flex;justify-content:center;margin:2rem 0}.score-circle{align-items:center;animation:scoreReveal 1.5s ease-out;background:conic-gradient(#667eea 0deg,#f1f5f9 0deg);background:conic-gradient(var(--score-color,#667eea) calc(var(--percentage, 0)*3.6deg),#f1f5f9 calc(var(--percentage, 0)*3.6deg));border-radius:50%;display:flex;height:200px;justify-content:center;position:relative;width:200px}@keyframes scoreReveal{0%{opacity:0;transform:rotate(-90deg) scale(.5)}to{opacity:1;transform:rotate(0deg) scale(1)}}.score-inner{align-items:center;background:#fff;border-radius:50%;box-shadow:0 8px 32px #0000001a;display:flex;flex-direction:column;height:160px;justify-content:center;width:160px}.score-number{color:#667eea;color:var(--score-color,#667eea);font-size:3rem;font-weight:800;line-height:1}.score-total{color:#94a3b8;font-size:1.5rem;font-weight:600;margin-top:-.5rem}.score-percentage{color:#475569;font-size:1.2rem;font-weight:700;margin-top:.5rem}.level-display{margin:2rem 0}.level-emoji{animation:pulse 2s infinite;font-size:2.5rem;margin-bottom:1rem}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.level-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:2.2rem;font-weight:700;margin:.5rem 0}.level-description{color:#64748b;font-size:1.1rem;line-height:1.6;margin:1rem 0}.progress-path{background:#667eea0d;border:1px solid #667eea1a;border-radius:16px;margin:2rem 0;padding:1.5rem}.progress-path-title{color:#475569;font-size:1.2rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.progress-steps{align-items:center;display:flex;justify-content:space-between;position:relative}.progress-steps:before{background:#e2e8f0;content:"";height:2px;left:0;position:absolute;right:0;top:50%;z-index:1}.progress-step{flex:1 1;flex-direction:column;position:relative;z-index:2}.progress-step,.step-icon{align-items:center;display:flex}.step-icon{background:#e2e8f0;border:3px solid #fff;border-radius:50%;box-shadow:0 4px 12px #0000001a;color:#fff;font-size:1.5rem;height:50px;justify-content:center;margin-bottom:.5rem;transition:all .3s ease;width:50px}.progress-step.completed .step-icon{animation:checkmark .6s ease-in-out}.progress-step.current .step-icon{animation:currentPulse 2s infinite;box-shadow:0 0 20px #667eea66}@keyframes checkmark{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes currentPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.step-label{color:#64748b;font-size:.85rem;font-weight:600;margin-top:.5rem;text-align:center}.progress-step.current .step-label{color:#667eea;font-weight:700}.performance-breakdown{grid-gap:1.5rem;display:grid;gap:1.5rem;margin:2rem 0;text-align:left}.performance-section{background:#fff;border:1px solid #f1f5f9;border-radius:12px;box-shadow:0 4px 16px #0000000d;padding:1.5rem}.performance-section.strengths{background:#22c55e05;border-left:4px solid #22c55e}.performance-section.improvements{background:#3b82f605;border-left:4px solid #3b82f6}.section-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.section-icon{font-size:1.5rem}.section-title{color:#475569;font-size:1.1rem;font-weight:700;margin:0}.section-list{grid-gap:.75rem;display:grid;gap:.75rem;list-style:none;margin:0;padding:0}.section-item{align-items:flex-start;color:#64748b;display:flex;font-size:.95rem;gap:.75rem;line-height:1.5}.item-bullet{flex-shrink:0;font-weight:700;margin-top:.1rem}.strength-item .item-bullet{color:#22c55e}.improvement-item .item-bullet{color:#3b82f6}.motivation-card{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:1px solid #667eea33;border-radius:16px;margin:2rem 0;padding:1.5rem;text-align:center}.motivation-icon{font-size:2rem;margin-bottom:1rem}.motivation-text{color:#475569;font-size:1.1rem;font-style:italic;line-height:1.6;margin:0}.results-actions{grid-gap:1rem;display:grid;gap:1rem;margin:2rem 0}.diag-btn.featured{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 8px 24px #22c55e4d;font-size:1.1rem;padding:1.25rem 2rem}.diag-btn.featured:hover{box-shadow:0 12px 32px #22c55e66}.diag-btn.secondary{background:#667eea1a;border:2px solid #667eea33;color:#667eea}.diag-btn.secondary:hover{background:#667eea26}.btn-icon{margin-right:.5rem}.share-section{background:#ffffffb3;border:1px solid #0000000d;border-radius:12px;margin-top:2rem;padding:1.5rem}.share-text{color:#64748b;font-size:.95rem;margin:0 0 1rem}.share-buttons{display:flex;gap:1rem;justify-content:center}.share-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.share-btn:hover{box-shadow:0 8px 24px #667eea4d;transform:translateY(-2px)}@media (max-width:768px){.score-circle{height:160px;width:160px}.score-inner{height:130px;width:130px}.score-number{font-size:2.5rem}.level-title{font-size:1.8rem}.progress-steps{flex-wrap:wrap;gap:1rem}.progress-step{flex:none;min-width:70px}.step-icon{font-size:1.2rem;height:40px;width:40px}.performance-breakdown{gap:1rem}.performance-section{padding:1rem}}@media (max-width:480px){.score-circle{height:140px;width:140px}.score-inner{height:115px;width:115px}.score-number{font-size:2rem}.score-total{font-size:1.2rem}.score-percentage{font-size:1rem}.level-title{font-size:1.5rem}.celebration-emoji{font-size:2.5rem}.level-emoji{font-size:2rem}.progress-steps{flex-direction:column;gap:.5rem}.progress-steps:before{display:none}.progress-step{flex-direction:row;justify-content:flex-start;text-align:left;width:100%}.step-icon{margin-bottom:0;margin-right:1rem}.step-label{margin-top:0;text-align:left}.results-actions{gap:.75rem}.share-buttons{flex-direction:column}}.challenge-container{display:flex;justify-content:center;padding:16px}.challenge-card{background:#fff;border-radius:16px;box-shadow:0 8px 20px #0206170f;color:#0f172a;max-width:960px;padding:16px;width:100%}.challenge-card.error{background:#fee2e2;color:#7f1d1d}.challenge-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:10px}.challenge-title{color:#1f2937;font-size:1.25rem;font-weight:800}.challenge-sub{color:#475569;font-weight:600}.challenge-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.challenge-btn{background:#e2e8f0;border:none;border-radius:10px;color:#0f172a;font-weight:700;padding:10px 12px}.challenge-btn.primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.challenge-card.end{text-align:center}.challenge-badge{background:#dcfce7;border-radius:999px;color:#14532d;display:inline-block;font-weight:800;margin-bottom:10px;padding:6px 12px}.challenge-actions{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr}@media (min-width:640px){.challenge-card{padding:20px}}.support-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;justify-content:center;min-height:100vh;padding:0}.support-card{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;max-width:400px;overflow:hidden;transition:transform .3s ease;width:100%}.support-card:hover{transform:translateY(-5px)}.support-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;position:relative;text-align:center}.support-header:after{background:#ffffff4d;border-radius:2px;bottom:0;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:50px}.support-title{color:#fff;font-size:24px;font-weight:700;margin:0;text-shadow:0 2px 4px #0000001a}.support-content{padding:30px 25px}.support-text{color:#4a5568;font-size:16px;line-height:1.6;margin:0 0 20px;text-align:center}.support-highlight{background:linear-gradient(135deg,#ffeaa7,#fab1a0);border-left:4px solid #e17055;border-radius:15px;margin:20px 0;padding:20px;text-align:center}.support-highlight p{color:#2d3748;font-size:16px;margin:0}.support-highlight strong{color:#c0392b;font-size:18px;font-weight:700}.support-benefits{background:#f8fafc;border-radius:15px;margin:25px 0;padding:20px;text-align:center}.benefits-header{color:#4a5568;font-size:16px;font-weight:600;margin:0 0 15px}.benefits-list{display:flex;flex-direction:column;gap:10px}.benefit-item{align-items:center;color:#2d3748;display:flex;font-size:15px;font-weight:500;gap:10px;justify-content:center}.support-stats{background:#ebf8ff;border-radius:15px;margin:25px 0;padding:20px;text-align:center}.support-stats .support-text{color:#2c5282;margin:0}.support-stats strong{color:#2b6cb0;font-weight:700}.support-button{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;box-shadow:0 10px 20px #667eea4d;color:#fff;display:block;font-size:18px;font-weight:700;margin-top:25px;padding:18px 25px;text-align:center;text-decoration:none;transition:all .3s ease;width:100%}.support-button:hover{box-shadow:0 15px 30px #667eea66;color:#fff;text-decoration:none;transform:translateY(-2px)}.support-button:active{transform:translateY(0)}@media (max-width:480px){.support-container{min-height:100vh;padding:15px}.support-card{max-width:100%}.support-title{font-size:20px}.support-content{padding:25px 20px}.support-text{font-size:15px}.support-highlight{padding:15px}.support-highlight strong{font-size:16px}.support-benefits,.support-stats{padding:15px}.support-button{font-size:16px;padding:16px 20px}}@media (max-width:320px){.support-container{padding:10px}.support-content{padding:20px 15px}.support-title{font-size:18px}}.support-card-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:20px;padding:20px}.support-card-label{color:#475569;font-size:14px;font-weight:600;margin-bottom:12px;text-align:center}.support-card-number-container{align-items:center;display:flex;gap:12px;justify-content:center;margin-bottom:12px}.support-card-number{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1e293b;font-family:Courier New,monospace;font-size:18px;font-weight:600;letter-spacing:1px;padding:8px 12px}.support-copy-btn{background:#4f46e5;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 12px;transition:all .2s ease;white-space:nowrap}.support-copy-btn:hover{background:#4f46e5;transform:translateY(-1px)}.support-copy-btn.support-copied{background:#10b981}.support-impact-note{color:#64748b;font-size:13px;font-style:italic;text-align:center}@media (max-width:480px){.support-card-section{margin-bottom:16px;padding:16px}.support-card-number-container{flex-direction:column;gap:8px}.support-card-number{font-size:16px}.support-copy-btn{font-size:14px;padding:10px 16px}}@media (prefers-reduced-motion:reduce){.support-copy-btn:hover{transform:none}}.support-copy-btn:focus{outline:2px solid #4f46e5;outline-offset:2px}@media (prefers-contrast:high){.support-card,.support-card-section{border:2px solid #000}}:root{--primary-color:#4f46e5;--primary-dark:#4338ca;--primary-light:#eef2ff;--secondary-color:#10b981;--secondary-dark:#059669;--secondary-light:#ecfdf5;--accent-color:#f59e0b;--accent-dark:#d97706;--accent-light:#fffbeb;--text-primary:#1f2937;--text-secondary:#6b7280;--background-light:#f9fafb;--background-dark:#111827;--error-color:#ef4444;--success-color:#10b981;--warning-color:#f59e0b;--primary-color-rgb:79,70,229;--primary-dark-rgb:67,56,202;--secondary-color-rgb:16,185,129;--secondary-dark-rgb:5,150,105;--accent-color-rgb:245,158,11;--gradient-primary:linear-gradient(135deg,var(--primary-color),var(--primary-dark));--gradient-secondary:linear-gradient(135deg,var(--secondary-color),var(--secondary-dark));--gradient-accent:linear-gradient(135deg,var(--accent-color),var(--accent-dark));--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a;--font-primary:"Inter",sans-serif;--font-secondary:"Poppins",sans-serif;--font-size-xs:0.875rem;--font-size-sm:1rem;--font-size-base:1.125rem;--font-size-lg:1.25rem;--font-size-xl:1.375rem;--font-size-2xl:1.625rem;--font-size-3xl:2rem;--font-size-4xl:2.375rem}html{scroll-behavior:smooth}body{background-color:#f9fafb;background-color:var(--background-light);color:#1f2937;color:var(--text-primary);font-family:Inter,sans-serif;line-height:1.5}.app{min-height:100vh}.main-content{margin-top:80px;min-height:calc(100vh - 80px);transition:transform .3s ease,opacity .3s ease;will-change:transform,opacity}.main-content.page-enter{opacity:0;transform:translateY(20px)}.main-content.page-enter-active,.main-content.page-exit{opacity:1;transform:translateY(0)}.main-content.page-exit-active{opacity:0;transform:translateY(-20px)}@media (max-width:768px){.main-content{margin-top:60px;min-height:calc(100vh - 60px)}}.container{margin:0 auto;max-width:1200px;padding:0 1rem}h1,h2,h3,h4,h5,h6{font-family:Poppins,sans-serif;font-family:var(--font-secondary);font-weight:600;line-height:1.2;margin-bottom:1rem}h1{font-size:2.375rem;font-size:var(--font-size-4xl)}h2{font-size:2rem;font-size:var(--font-size-3xl)}h3{font-size:1.625rem;font-size:var(--font-size-2xl)}p{margin-bottom:1rem}.btn{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:inline-flex;font-size:1.125rem;font-size:var(--font-size-base);font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#4f46e5,#4338ca);background:var(--gradient-primary);color:#fff}.btn-primary:hover{box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background:linear-gradient(135deg,#10b981,#059669);background:var(--gradient-secondary);color:#fff}.btn-secondary:hover{box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-1px)}.section-header{margin-bottom:3rem;text-align:center}.section-subtitle{color:#6b7280;color:var(--text-secondary);font-size:1.25rem;font-size:var(--font-size-lg);margin:0 auto;max-width:600px}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s ease forwards}@media (max-width:768px){h1{font-size:2rem;font-size:var(--font-size-3xl)}h2{font-size:1.625rem;font-size:var(--font-size-2xl)}h3{font-size:1.375rem;font-size:var(--font-size-xl)}.container{padding:0 1.5rem}}.text-center{text-align:center}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:2rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:2rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:2rem}*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-primary);overflow-x:hidden}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:var(--background-light)}::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}::selection{background:var(--primary-color);color:#fff}:focus{outline:none}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.loading{align-items:center;display:flex;justify-content:center;min-height:200px}.loading:after{animation:spin 1s linear infinite;border:3px solid var(--background-light);border-radius:50%;border-top-color:var(--primary-color);content:"";height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.error{color:var(--error-color)}.error,.success{padding:2rem;text-align:center}.success{color:var(--success-color)}.empty-state{color:var(--text-secondary);padding:3rem 1rem;text-align:center}.empty-state-icon{font-size:3rem;margin-bottom:1rem}.tooltip{display:inline-block;position:relative}.tooltip .tooltip-text{background-color:var(--text-primary);border-radius:6px;bottom:125%;color:#fff;font-size:.875rem;left:50%;opacity:0;padding:.5rem 1rem;position:absolute;text-align:center;transform:translateX(-50%);transition:opacity .3s ease;visibility:hidden;white-space:nowrap;z-index:1}.tooltip:hover .tooltip-text{opacity:1;visibility:visible}@media print{.no-print{display:none!important}body{background:#fff}.container{max-width:none;width:100%}}
/*# sourceMappingURL=main.81b9a8a0.css.map*/