:root{--bg-primary: #0a0e1a;--bg-secondary: #111827;--bg-card: rgba(17, 24, 39, .7);--bg-card-hover: rgba(30, 41, 59, .8);--bg-glass: rgba(255, 255, 255, .03);--bg-glass-border: rgba(255, 255, 255, .08);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--text-accent: #38bdf8;--accent-blue: #3b82f6;--accent-blue-glow: rgba(59, 130, 246, .3);--accent-purple: #8b5cf6;--accent-purple-glow: rgba(139, 92, 246, .3);--accent-emerald: #10b981;--accent-emerald-glow: rgba(16, 185, 129, .3);--python-primary: #3776ab;--python-secondary: #ffd43b;--python-glow: rgba(55, 118, 171, .4);--js-primary: #f7df1e;--js-secondary: #323330;--js-glow: rgba(247, 223, 30, .3);--rust-primary: #ce422b;--rust-secondary: #f74c00;--rust-glow: rgba(206, 66, 43, .4);--go-primary: #00add8;--go-secondary: #00a29c;--go-glow: rgba(0, 173, 216, .4);--ts-primary: #3178c6;--ts-secondary: #235a97;--ts-glow: rgba(49, 120, 198, .4);--cpp-primary: #9c33ff;--cpp-secondary: #6d23b6;--cpp-glow: rgba(156, 51, 255, .4);--java-primary: #e76f00;--java-secondary: #5382a1;--java-glow: rgba(231, 111, 0, .4);--csharp-primary: #9b4dca;--csharp-secondary: #6a1b9a;--csharp-glow: rgba(155, 77, 202, .4);--swift-primary: #fa7343;--swift-secondary: #ff2d55;--swift-glow: rgba(250, 115, 67, .4);--kotlin-primary: #7f52ff;--kotlin-secondary: #e44857;--kotlin-glow: rgba(127, 82, 255, .4);--php-primary: #777bb4;--php-secondary: #4f5b93;--php-glow: rgba(119, 123, 180, .4);--ruby-primary: #cc342d;--ruby-secondary: #a82621;--ruby-glow: rgba(204, 52, 45, .4);--success: #22c55e;--success-glow: rgba(34, 197, 94, .3);--error: #ef4444;--error-glow: rgba(239, 68, 68, .3);--warning: #f59e0b;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow-blue: 0 0 30px var(--accent-blue-glow);--shadow-glow-purple: 0 0 30px var(--accent-purple-glow);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--max-width: 1200px;--navbar-height: 64px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh;display:flex;flex-direction:column}a{color:var(--text-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-blue)}img{max-width:100%;display:block}button{cursor:pointer;font-family:inherit}code,pre{font-family:var(--font-mono)}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg);width:100%}.fade-in{animation:fadeIn var(--transition-slow) ease-out both}.slide-up{animation:slideUp .5s ease-out both}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes gradientMove{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.page-container{animation:fadeIn .3s ease-out}.animated-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden;background:var(--bg-primary)}.animated-bg:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 20% 50%,rgba(59,130,246,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(139,92,246,.06) 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,rgba(16,185,129,.05) 0%,transparent 50%);animation:gradientMove 20s ease-in-out infinite;background-size:100% 100%}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.navbar{position:fixed;top:0;left:0;right:0;height:var(--navbar-height);background:#0a0e1ad9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--bg-glass-border);z-index:100;display:flex;align-items:center;transition:background var(--transition-base)}.navbar .container{display:flex;align-items:center;justify-content:space-between}.navbar-right{display:flex;align-items:center;gap:var(--space-xl)}.navbar-brand{display:flex;align-items:center;gap:var(--space-sm);font-size:1.25rem;font-weight:700;color:var(--text-primary);text-decoration:none;letter-spacing:-.02em}.navbar-brand .logo-icon{font-size:1.5rem}.navbar-brand .brand-text{background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.navbar-nav{display:flex;align-items:center;gap:var(--space-lg);list-style:none}.navbar-nav a{color:var(--text-secondary);font-size:.9rem;font-weight:500;transition:color var(--transition-fast);position:relative;padding:var(--space-xs) 0}.navbar-nav a:hover{color:var(--text-primary)}.navbar-nav a.active{color:var(--text-accent)}.navbar-nav a.active:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2px;background:var(--accent-blue);border-radius:var(--radius-full)}.language-card{position:relative;background:var(--bg-card);border:1px solid var(--bg-glass-border);border-radius:var(--radius-xl);padding:var(--space-2xl);cursor:pointer;overflow:hidden;transition:all var(--transition-base);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.language-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--card-accent, var(--accent-blue));opacity:0;transition:opacity var(--transition-base)}.language-card:hover{transform:translateY(-4px);border-color:var(--card-accent, var(--accent-blue));box-shadow:0 8px 40px var(--card-glow, var(--accent-blue-glow));background:var(--bg-card-hover)}.language-card:hover:before{opacity:1}.language-card .card-icon{font-size:3rem;margin-bottom:var(--space-lg);display:block;width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);background:var(--bg-glass);border:1px solid var(--bg-glass-border)}.language-card .card-title{font-size:1.5rem;font-weight:700;margin-bottom:var(--space-sm);color:var(--text-primary)}.language-card .card-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:var(--space-lg);line-height:1.5}.language-card .card-meta{display:flex;align-items:center;gap:var(--space-lg);font-size:.8rem;color:var(--text-muted);margin-bottom:var(--space-lg)}.language-card .card-meta span{display:flex;align-items:center;gap:var(--space-xs)}.progress-bar-container{width:100%;height:6px;background:#ffffff0f;border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--accent-blue),var(--accent-purple));transition:width .6s cubic-bezier(.4,0,.2,1);position:relative}.progress-bar-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite;background-size:200% 100%}.progress-section{background:var(--bg-card);border:1px solid var(--bg-glass-border);border-radius:var(--radius-lg);padding:var(--space-xl);margin-bottom:var(--space-2xl)}.progress-section .progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.progress-section .progress-title{font-size:1rem;font-weight:600;color:var(--text-primary)}.progress-section .progress-percentage{font-size:.9rem;font-weight:600;color:var(--accent-blue)}.progress-section .progress-bar-container{height:10px}.lesson-card{display:flex;align-items:center;gap:var(--space-lg);background:var(--bg-card);border:1px solid var(--bg-glass-border);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl);cursor:pointer;transition:all var(--transition-base)}.lesson-card:hover{transform:translate(4px);border-color:#ffffff26;background:var(--bg-card-hover)}.lesson-card.completed{border-left:3px solid var(--success)}.lesson-card .lesson-number{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--bg-glass);border:1px solid var(--bg-glass-border);font-weight:700;font-size:1rem;color:var(--text-secondary);flex-shrink:0}.lesson-card.completed .lesson-number{background:var(--success-glow);color:var(--success);border-color:var(--success)}.lesson-card .lesson-info{flex:1}.lesson-card .lesson-title{font-size:1.05rem;font-weight:600;margin-bottom:2px}.lesson-card .lesson-desc{font-size:.85rem;color:var(--text-secondary)}.lesson-card .lesson-meta{font-size:.8rem;color:var(--text-muted);display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0}.lesson-card .lesson-arrow{color:var(--text-muted);font-size:1.2rem;transition:transform var(--transition-fast),color var(--transition-fast);flex-shrink:0}.lesson-card:hover .lesson-arrow{transform:translate(4px);color:var(--text-accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:.65rem 1.5rem;font-size:.9rem;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;line-height:1;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));color:#fff;box-shadow:0 2px 10px var(--accent-blue-glow)}.btn-primary:hover{box-shadow:0 4px 20px var(--accent-blue-glow);transform:translateY(-1px)}.btn-success{background:linear-gradient(135deg,var(--accent-emerald),#059669);color:#fff;box-shadow:0 2px 10px var(--accent-emerald-glow)}.btn-success:hover{box-shadow:0 4px 20px var(--accent-emerald-glow);transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--text-secondary);border:1px solid var(--bg-glass-border)}.btn-outline:hover{border-color:var(--text-secondary);color:var(--text-primary);background:var(--bg-glass)}.btn-sm{padding:.45rem 1rem;font-size:.8rem}.btn-lg{padding:.85rem 2rem;font-size:1rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.hero{padding:calc(var(--navbar-height) + var(--space-3xl)) 0 var(--space-3xl);text-align:center}.hero-title{font-size:clamp(2.5rem,6vw,4rem);font-weight:900;letter-spacing:-.03em;line-height:1.1;margin-bottom:var(--space-lg)}.hero-title .gradient-text{background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple),var(--accent-emerald));background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientMove 6s ease-in-out infinite}.hero-subtitle{font-size:clamp(1rem,2.5vw,1.25rem);color:var(--text-secondary);max-width:600px;margin:0 auto var(--space-2xl);font-weight:400;line-height:1.6}.language-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-xl);margin-top:var(--space-2xl)}.section-header{margin-bottom:var(--space-2xl)}.section-header .back-link{display:inline-flex;align-items:center;gap:var(--space-sm);color:var(--text-secondary);font-size:.9rem;margin-bottom:var(--space-lg);transition:color var(--transition-fast)}.section-header .back-link:hover{color:var(--text-primary)}.section-header h1{font-size:2rem;font-weight:800;letter-spacing:-.02em}.section-header p{color:var(--text-secondary);margin-top:var(--space-sm);font-size:1.05rem}.lessons-list{display:flex;flex-direction:column;gap:var(--space-md)}.page-content{padding:calc(var(--navbar-height) + var(--space-2xl)) 0 var(--space-3xl)}.badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:.2rem .65rem;font-size:.7rem;font-weight:600;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.badge-beginner{background:#22c55e26;color:var(--success);border:1px solid rgba(34,197,94,.3)}.badge-intermediate{background:#f59e0b26;color:var(--warning);border:1px solid rgba(245,158,11,.3)}.stats-row{display:flex;gap:var(--space-2xl);justify-content:center;margin-top:var(--space-2xl);flex-wrap:wrap}.stat-item{text-align:center}.stat-value{font-size:2rem;font-weight:800;background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{font-size:.85rem;color:var(--text-muted);margin-top:2px}@media(max-width:768px){.language-grid{grid-template-columns:1fr}.hero-title{font-size:2rem}.hero{padding-top:calc(var(--navbar-height) + var(--space-2xl))}.navbar-nav{gap:var(--space-md)}.lesson-card{padding:var(--space-md)}.stats-row{gap:var(--space-xl)}}.lesson-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl);min-height:calc(100vh - var(--navbar-height) - var(--space-3xl))}.theory-panel{background:var(--bg-card);border:1px solid var(--bg-glass-border);border-radius:var(--radius-xl);padding:var(--space-2xl);overflow-y:auto;max-height:calc(100vh - var(--navbar-height) - 120px)}.theory-panel h2{font-size:1.5rem;font-weight:700;margin-bottom:var(--space-lg);letter-spacing:-.01em}.theory-panel h3{font-size:1.15rem;font-weight:600;margin-top:var(--space-xl);margin-bottom:var(--space-md);color:var(--text-accent)}.theory-panel p{color:var(--text-secondary);line-height:1.7;margin-bottom:var(--space-md)}.theory-panel ul,.theory-panel ol{color:var(--text-secondary);padding-left:var(--space-xl);margin-bottom:var(--space-md)}.theory-panel li{margin-bottom:var(--space-sm);line-height:1.6}.theory-panel code.inline{background:#3b82f61f;color:var(--accent-blue);padding:.15em .45em;border-radius:var(--radius-sm);font-size:.88em;font-weight:500}.theory-panel pre.code-block{background:var(--bg-primary);border:1px solid var(--bg-glass-border);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-lg);overflow-x:auto;font-size:.88rem;line-height:1.6;color:var(--text-primary)}.editor-panel{display:flex;flex-direction:column;gap:var(--space-md)}.editor-container{background:var(--bg-card);border:1px solid var(--bg-glass-border);border-radius:var(--radius-xl);overflow:hidden;flex:1;display:flex;flex-direction:column}.editor-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--bg-glass-border);background:#0003}.editor-header .editor-title{font-size:.85rem;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:var(--space-sm)}.editor-header .editor-title .dot{width:8px;height:8px;border-radius:50%;background:var(--accent-emerald);display:inline-block}.editor-actions{display:flex;gap:var(--space-sm)}.editor-body{flex:1;min-height:250px}.editor-body .cm-editor{height:100%;font-size:.9rem}.editor-body .cm-editor .cm-scroller{padding:var(--space-sm) 0}.editor-body .cm-editor.cm-focused{outline:none}.console-panel{background:var(--bg-card);border:1px solid var(--bg-glass-border);border-radius:var(--radius-xl);overflow:hidden}.console-header{display:flex;align-items:center;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--bg-glass-border);background:#0003}.console-header .console-title{font-size:.85rem;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:var(--space-sm)}.console-output{padding:var(--space-lg);font-family:var(--font-mono);font-size:.85rem;line-height:1.6;min-height:80px;max-height:200px;overflow-y:auto;color:var(--text-secondary);white-space:pre-wrap}.console-output.success{color:var(--success)}.console-output.error{color:var(--error)}.console-output .output-line{margin-bottom:2px}.console-output .success-message{color:var(--success);font-weight:600;margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--bg-glass-border)}.console-output .error-message{color:var(--error);font-weight:600;margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--bg-glass-border)}.console-output .hint-message{color:var(--warning);font-style:italic;margin-top:var(--space-xs)}.exercise-instructions{background:linear-gradient(135deg,#3b82f614,#8b5cf614);border:1px solid rgba(59,130,246,.2);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-md)}.exercise-instructions h3{font-size:.95rem;font-weight:600;color:var(--accent-blue);margin-bottom:var(--space-sm);display:flex;align-items:center;gap:var(--space-sm)}.exercise-instructions p{font-size:.9rem;color:var(--text-secondary);line-height:1.6}.exercise-goal{margin-bottom:var(--space-md)}.exercise-section{margin-top:var(--space-md)}.exercise-section h4{font-size:.85rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.04em}.exercise-steps{margin:0;padding-left:var(--space-lg);color:var(--text-secondary);font-size:.88rem;line-height:1.6}.exercise-steps li{margin-bottom:.25rem}.exercise-expected,.exercise-hint{margin:0;background:#0f172a8c;border:1px solid rgba(148,163,184,.2);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);color:var(--text-primary);font-family:var(--font-mono);font-size:.82rem;line-height:1.5;white-space:pre-wrap;overflow-x:auto}.quiz-section{background:var(--bg-card);border:1px solid var(--bg-glass-border);border-radius:var(--radius-xl);padding:var(--space-2xl);margin-top:var(--space-xl)}.quiz-section h3{font-size:1.2rem;font-weight:700;margin-bottom:var(--space-xl);display:flex;align-items:center;gap:var(--space-sm)}.quiz-question{margin-bottom:var(--space-2xl)}.quiz-question:last-child{margin-bottom:0}.quiz-question .question-text{font-weight:600;margin-bottom:var(--space-md);font-size:1rem}.quiz-options{display:flex;flex-direction:column;gap:var(--space-sm)}.quiz-option{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--bg-glass);border:1px solid var(--bg-glass-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-size:.9rem}.quiz-option:hover{border-color:var(--accent-blue);background:#3b82f60f}.quiz-option.selected{border-color:var(--accent-blue);background:#3b82f61a}.quiz-option.correct{border-color:var(--success);background:#22c55e1a}.quiz-option.incorrect{border-color:var(--error);background:#ef44441a}.quiz-option .option-marker{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--bg-glass-border);font-weight:600;font-size:.8rem;color:var(--text-muted);flex-shrink:0}.quiz-option.selected .option-marker{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.quiz-option.correct .option-marker{background:var(--success);color:#fff;border-color:var(--success)}.quiz-option.incorrect .option-marker{background:var(--error);color:#fff;border-color:var(--error)}.lesson-nav{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--bg-glass-border)}@media(max-width:1024px){.lesson-layout{grid-template-columns:1fr}.theory-panel{max-height:none}}.auth-wrapper{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - var(--navbar-height));padding:var(--space-xl)}.auth-card{width:100%;max-width:440px;background:var(--bg-card);border:1px solid var(--bg-glass-border);border-radius:var(--radius-xl);padding:var(--space-3xl);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative;overflow:hidden}.auth-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-blue),var(--accent-purple),var(--accent-emerald));background-size:200% auto;animation:gradientMove 4s ease-in-out infinite}.auth-header{text-align:center;margin-bottom:var(--space-2xl)}.auth-header h1{font-size:1.75rem;font-weight:800;letter-spacing:-.02em;margin-bottom:var(--space-sm)}.auth-header p{color:var(--text-secondary);font-size:.95rem}.auth-tabs{display:flex;gap:0;margin-bottom:var(--space-xl);background:var(--bg-glass);border-radius:var(--radius-md);padding:4px;border:1px solid var(--bg-glass-border)}.auth-tab{flex:1;padding:.6rem 1rem;font-size:.9rem;font-weight:600;color:var(--text-muted);background:transparent;border:none;border-radius:calc(var(--radius-md) - 2px);cursor:pointer;transition:all var(--transition-fast)}.auth-tab:hover{color:var(--text-secondary)}.auth-tab.active{background:var(--bg-secondary);color:var(--text-primary);box-shadow:var(--shadow-sm)}.auth-form{display:flex;flex-direction:column;gap:var(--space-lg)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-group label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.form-group input{width:100%;padding:.75rem 1rem;font-size:.95rem;font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--bg-glass-border);border-radius:var(--radius-md);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-group input::placeholder{color:var(--text-muted)}.form-group input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-glow)}.auth-error{color:var(--error);font-size:.85rem;font-weight:500;min-height:1.2em}.btn-full{width:100%}.btn-loader{animation:pulse 1s infinite}.auth-footer{margin-top:var(--space-xl);text-align:center}.auth-divider{position:relative;color:var(--text-muted);font-size:.8rem;margin-bottom:var(--space-md)}.auth-divider:before,.auth-divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:var(--bg-glass-border)}.auth-divider:before{left:0}.auth-divider:after{right:0}.auth-hint{color:var(--text-muted);font-size:.85rem}.auth-hint a{color:var(--text-accent);font-weight:500}.user-menu{display:flex;align-items:center;gap:var(--space-md)}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#fff;border:2px solid var(--bg-glass-border)}.user-email{font-size:.8rem;color:var(--text-secondary);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-ghost{background:transparent;color:var(--text-secondary);border:none;padding:.4rem .8rem;font-size:.8rem;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-glass)}.tier-badge{display:inline-flex;align-items:center;gap:4px;padding:.15rem .5rem;font-size:.65rem;font-weight:700;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.08em}.tier-badge-free{background:#64748b33;color:var(--text-muted);border:1px solid rgba(100,116,139,.3)}.tier-badge-pro{background:linear-gradient(135deg,#8b5cf633,#3b82f633);color:var(--accent-purple);border:1px solid rgba(139,92,246,.4)}.lesson-card.locked{opacity:.6;cursor:default}.lesson-card.locked:hover{transform:none;border-color:var(--bg-glass-border);background:var(--bg-card)}.lesson-card .lock-icon{color:var(--text-muted);font-size:1rem}.lesson-card .pro-badge{display:inline-flex;align-items:center;gap:4px;padding:.15rem .5rem;font-size:.65rem;font-weight:700;border-radius:var(--radius-full);background:linear-gradient(135deg,#8b5cf626,#3b82f626);color:var(--accent-purple);border:1px solid rgba(139,92,246,.3);text-transform:uppercase;letter-spacing:.05em}.paywall-overlay{position:fixed;inset:0;background:#0a0e1aeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:200;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.paywall-card{max-width:480px;text-align:center;background:var(--bg-card);border:1px solid var(--bg-glass-border);border-radius:var(--radius-xl);padding:var(--space-3xl)}.paywall-card .paywall-icon{font-size:3rem;margin-bottom:var(--space-lg)}.paywall-card h2{font-size:1.5rem;font-weight:800;margin-bottom:var(--space-md)}.paywall-card p{color:var(--text-secondary);margin-bottom:var(--space-xl);line-height:1.6}.paywall-card .paywall-actions{display:flex;gap:var(--space-md);justify-content:center}@media(max-width:480px){.auth-card{padding:var(--space-xl)}.user-email{display:none}.paywall-card{margin:var(--space-lg);padding:var(--space-xl)}}.pricing-header{text-align:center;margin-bottom:var(--space-3xl)}.pricing-header h1{font-size:clamp(2rem,5vw,3rem);font-weight:900;letter-spacing:-.03em;margin-bottom:var(--space-md)}.pricing-header p{color:var(--text-secondary);font-size:1.1rem;max-width:500px;margin:0 auto}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-xl);max-width:750px;margin:0 auto var(--space-3xl)}.pricing-card{position:relative;background:var(--bg-card);border:1px solid var(--bg-glass-border);border-radius:var(--radius-xl);padding:var(--space-2xl);display:flex;flex-direction:column;transition:all var(--transition-base)}.pricing-card:hover{transform:translateY(-4px);border-color:#ffffff26}.pricing-card.featured{border-color:var(--accent-purple);background:linear-gradient(180deg,rgba(139,92,246,.06) 0%,var(--bg-card) 40%);box-shadow:0 8px 40px #8b5cf626}.pricing-card.featured:hover{box-shadow:0 12px 50px #8b5cf640}.pricing-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);padding:.3rem 1rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:linear-gradient(135deg,var(--accent-purple),var(--accent-blue));color:#fff;border-radius:var(--radius-full);white-space:nowrap}.pricing-card-header{margin-bottom:var(--space-xl)}.pricing-card-header h2{font-size:1.3rem;font-weight:700;margin-bottom:var(--space-md)}.pricing-price{display:flex;align-items:baseline;gap:var(--space-xs)}.price-amount{font-size:2.5rem;font-weight:900;letter-spacing:-.03em;background:linear-gradient(135deg,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.pricing-card.featured .price-amount{background:linear-gradient(135deg,var(--accent-purple),var(--accent-blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.price-period{font-size:.9rem;color:var(--text-muted)}.pricing-features{list-style:none;flex:1;margin-bottom:var(--space-xl)}.pricing-features li{display:flex;align-items:center;gap:var(--space-md);padding:.55rem 0;font-size:.9rem;color:var(--text-secondary);border-bottom:1px solid rgba(255,255,255,.04)}.pricing-features li:last-child{border-bottom:none}.feature-check{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#22c55e1f;color:var(--success);font-size:.7rem;font-weight:700;flex-shrink:0}.feature-check.pro{background:#8b5cf61f;color:var(--accent-purple)}.pricing-cta{margin-top:auto}.pricing-faq{max-width:750px;margin:0 auto}.pricing-faq h3{font-size:1.5rem;font-weight:700;text-align:center;margin-bottom:var(--space-2xl)}.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg)}.faq-item{background:var(--bg-card);border:1px solid var(--bg-glass-border);border-radius:var(--radius-lg);padding:var(--space-xl)}.faq-item h4{font-size:.95rem;font-weight:600;margin-bottom:var(--space-sm);color:var(--text-primary)}.faq-item p{font-size:.85rem;color:var(--text-secondary);line-height:1.6}@media(max-width:768px){.pricing-grid,.faq-grid{grid-template-columns:1fr}}
