body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0000004d;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:modalSlideIn .3s ease;background:#fff;border:1px solid #e7ebf2;border-radius:20px;box-shadow:0 20px 60px #0f172a1f;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px;padding:24px 24px 0}.modal-title{color:#0f172a;font-size:24px;font-weight:700;margin:0}.modal-close{align-items:center;background:#0000;border:none;border-radius:12px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s}.modal-close:hover{background:#e8f0ff;color:#3d6df6}.modal-body{padding:0 24px 24px}.auth-form{gap:20px}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#374151;font-size:14px;font-weight:700}.form-group input{background:#fff;border:1px solid #e7ebf2;border-radius:12px;color:#1f2937;font-size:15px;padding:12px 16px;transition:all .2s}.form-group input:focus{border-color:#5b8cff;box-shadow:0 0 0 3px #5b8cff1a;outline:none}.form-group input.error{border-color:#ef4444}.form-group input::placeholder{color:#9ca3af}.error-message{color:#dc2626;font-size:13px;margin-top:4px}.password-hint{color:#6b7280;font-size:12px;margin-top:4px}.checkbox-group{align-items:center;flex-direction:row;gap:10px}.checkbox-group input[type=checkbox]{height:18px;margin:0;width:18px}.checkbox-group label{color:#6b7280;font-size:14px;line-height:1.4}.terms-link{color:#3d6df6;font-weight:600;text-decoration:none}.terms-link:hover{text-decoration:underline}.form-options{justify-content:space-between}.form-options,.remember-me{align-items:center;display:flex}.remember-me{gap:8px}.remember-me label{color:#6b7280;cursor:pointer;font-size:14px}.forgot-password{background:#0000;border:none;color:#3d6df6;cursor:pointer;font-size:14px;padding:0}.forgot-password:hover{text-decoration:underline}.auth-submit-btn{background:#3d6df6;border:none;border-radius:8px;color:#f7f8fc;cursor:pointer;font-size:16px;font-weight:600;margin-top:10px;padding:16px;transition:all .3s}.auth-submit-btn:hover{background:#2b52c9;box-shadow:0 4px 12px #3d6df64d;transform:translateY(-2px)}.auth-divider{align-items:center;display:flex;margin:10px 0;text-align:center}.auth-divider:after,.auth-divider:before{border-bottom:1px solid #e7ebf2;content:"";flex:1 1}.auth-divider span{color:#6b7280;font-size:14px;font-weight:500;padding:0 15px}.social-auth{display:flex;flex-direction:column;gap:12px}.social-btn{align-items:center;background:#0000;border:1px solid #e7ebf2;border-radius:8px;color:#1f2937;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:12px;justify-content:center;padding:14px;transition:all .3s}.social-btn:hover{background:#3d6df60d;border-color:#3d6df6;transform:translateY(-2px)}.google-btn{color:#4285f4}.github-btn{background:#333;border-color:#333;color:#fff}.github-btn:hover{background:#444;border-color:#444}.auth-switch{color:#6b7280;font-size:14px;margin-top:10px;text-align:center}.switch-link{background:#0000;border:none;color:#3d6df6;cursor:pointer;font-weight:600;padding:0}.switch-link:hover{text-decoration:underline}.footer{background:linear-gradient(180deg,#ffffffe6,#f9fbffe6);border-top:1px solid #e7ebf2;margin-top:60px;padding:60px 0 30px}.footer-container{margin:0 auto;max-width:1200px;padding:0 20px}.footer-top{grid-gap:60px;display:grid;gap:60px;grid-template-columns:1fr 2fr;margin-bottom:50px}.footer-brand{display:flex;flex-direction:column;gap:20px}.footer-logo{color:#3d6df6;font-size:28px;font-weight:700;margin-bottom:10px}.footer-tagline{color:#6b7280;font-size:15px;line-height:1.6;max-width:300px}.social-links{display:flex;gap:16px;margin-top:10px}.social-link{align-items:center;background:#e8f0ff;border:1px solid #cfd9e8;border-radius:50%;color:#3d6df6;display:flex;height:40px;justify-content:center;text-decoration:none;transition:all .3s ease;width:40px}.social-link:hover{background:#3d6df6;color:#fff;transform:translateY(-3px)}.footer-links{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(4,1fr)}.footer-column{display:flex;flex-direction:column;gap:20px}.footer-heading{color:#1f2937;font-size:16px;font-weight:700;letter-spacing:.06em;margin-bottom:5px;text-transform:uppercase}.footer-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.footer-list li a{color:#6b7280;display:inline-block;font-size:14px;text-decoration:none;transition:color .2s ease}.footer-list li a:hover{color:#3d6df6}.footer-bottom{align-items:center;border-top:1px solid #e7ebf2;display:flex;justify-content:space-between;padding-top:30px}.footer-copyright{color:#6b7280;font-size:14px}.footer-legal{align-items:center;display:flex;gap:15px}.footer-legal a{color:#6b7280;font-size:14px;text-decoration:none;transition:color .2s ease}.footer-legal a:hover{color:#3d6df6}.divider{color:#e7ebf2;font-size:18px}@media (max-width:1024px){.footer-top{gap:40px;grid-template-columns:1fr}.footer-links{gap:40px;grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.footer-links{gap:30px;grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:20px;text-align:center}.footer-legal{flex-wrap:wrap;justify-content:center}}.paths-page{background:linear-gradient(180deg,#f9fbff,#f3f6fb);min-height:100vh;padding:40px 0 80px}.page-subtitle{margin-bottom:30px}.paths-filters{margin-bottom:40px}.paths-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.paths-section-title{color:#0f172a;font-size:24px;font-weight:700}.paths-list{background:#fff;border:1px solid #e7ebf2;border-radius:16px;box-shadow:0 10px 30px #0f172a0f;margin-bottom:60px;padding:0 30px}.path-item{padding:30px 0}.path-item:first-child{padding-top:30px}.path-item:last-child{padding-bottom:30px}.path-card{padding:0}.path-title{color:#0f172a}.path-category{white-space:nowrap}.path-category.data{background:#2196f31a;color:#2196f3}.path-category.ml{background:#9c27b01a;color:#9c27b0}.path-category.ai{background:#3d6df61a;color:#3d6df6}.path-category.sql{background:#4caf501a;color:#4caf50}.path-meta{gap:30px}.meta-item{flex-direction:column;gap:4px}.meta-label{font-size:12px;letter-spacing:.5px;text-transform:uppercase}.meta-value{color:#3d6df6;font-size:16px;font-weight:600}.path-description{color:#4b5563;margin-bottom:20px}.path-tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:25px}.tag{background:#e8f0ff;border-radius:16px;color:#3d6df6;font-size:13px;font-weight:500;padding:6px 12px}.path-actions{display:flex;gap:15px}.path-button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.5px;padding:12px 24px;text-transform:uppercase;transition:all .3s}.path-button.primary{background:linear-gradient(135deg,#3d6df6,#5b8cff);color:#fff}.path-button.primary:hover{box-shadow:0 4px 12px #3d6df64d;filter:brightness(1.05);transform:translateY(-2px)}.path-button.secondary{background:#0000;border:2px solid #3d6df6!important;color:#3d6df6}.path-button.secondary:hover{background:#e8f0ff;transform:translateY(-2px)}.divider{margin:30px 0}.paths-faq{background:#fff;border:1px solid #e7ebf2;border-radius:12px;box-shadow:0 10px 30px #0f172a0f;padding:40px}.faq-title{color:#0f172a;font-size:24px;font-weight:600;margin-bottom:30px;text-align:center}.faq-list{display:flex;flex-direction:column;gap:25px}.faq-item{border-bottom:1px solid #e7ebf2;padding-bottom:25px}.faq-item:last-child{border-bottom:none;padding-bottom:0}.faq-question{color:#0f172a;font-size:18px;font-weight:600;margin-bottom:12px}.faq-answer{color:#6b7280;font-size:15px;line-height:1.6}@media (max-width:768px){.page-title{font-size:36px}.paths-section-header{gap:15px}.path-title-row,.paths-section-header{align-items:flex-start;flex-direction:column}.path-title-row{gap:10px}.path-meta{gap:15px}.path-actions,.path-meta{flex-direction:column}.paths-faq,.paths-list{padding:20px}.faq-item{padding:15px 0}}.extras-page{background:linear-gradient(180deg,#f9fbff,#f3f6fb);min-height:100vh;padding:40px 0 80px}.extras-menu{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(2,1fr);margin-bottom:60px}.menu-section{background:#fff;border:1px solid #e7ebf2;border-radius:16px;box-shadow:0 10px 30px #0f172a0f;padding:30px}.section-title{border-bottom:1px solid #e7ebf2;font-size:20px;margin-bottom:25px;padding-bottom:15px}.menu-items{display:flex;flex-direction:column;gap:15px}.menu-item{align-items:center;background:#f7f8fc;border:1px solid #0000;border-radius:12px;display:flex;gap:15px;padding:15px;transition:all .2s}.menu-item:hover{background:#e8f0ff;border-color:#5b8cff;transform:translateX(5px)}.menu-item-icon{align-items:center;background:#e8f0ff;border-radius:10px;display:flex;flex-shrink:0;font-size:24px;height:50px;justify-content:center;width:50px}.menu-item-content{flex:1 1}.menu-item-title{color:#1f2937;font-size:16px;font-weight:700;margin-bottom:4px}.menu-item-description{color:#6b7280;font-size:13px;line-height:1.4}.menu-item-button{background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;flex-shrink:0;padding:8px;transition:all .2s}.menu-item-button:hover{background:#e8f0ff;color:#3d6df6}.featured-section{margin-bottom:60px}.featured-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(3,1fr);margin-top:20px}.featured-card{background:#fff;border:1px solid #e7ebf2;border-left:4px solid #5b8cff;border-radius:16px;box-shadow:0 10px 30px #0f172a0f;padding:25px;transition:all .2s}.featured-card:hover{box-shadow:0 15px 40px #5b8cff1f;transform:translateY(-5px)}.featured-icon{align-items:center;border-radius:12px;display:flex;height:60px;justify-content:center;margin-bottom:20px;width:60px}.featured-title{color:#1f2937;font-size:18px;font-weight:600;margin-bottom:10px}.featured-description{color:#6b7280;font-size:14px;line-height:1.5;margin-bottom:20px}.featured-button{align-items:center;background:#0000;border:1px solid #3d6df6;border-radius:6px;color:#3d6df6;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:10px 20px;transition:all .3s}.featured-button:hover{background:#3d6df61a;transform:translateX(5px)}.blog-section{margin-bottom:60px}.section-header{margin-bottom:25px}.view-all-button{background:#0000;border:1px solid #3d6df6;border-radius:6px;color:#3d6df6;cursor:pointer;font-weight:500;padding:8px 20px;transition:all .3s}.view-all-button:hover{background:#3d6df61a}.blog-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(2,1fr)}.blog-post{background:#fff;border:1px solid #e7ebf2;border-radius:12px;padding:25px;position:relative;transition:all .3s}.blog-post:hover{border-color:#3d6df6;transform:translateY(-3px)}.blog-badge{background:#3d6df6;border-radius:12px;color:#f7f8fc;font-size:12px;font-weight:600;left:20px;padding:4px 12px;position:absolute;text-transform:uppercase;top:-10px}.blog-title{color:#1f2937;font-size:18px;font-weight:600;margin-bottom:12px;margin-top:5px}.blog-excerpt{color:#6b7280;font-size:14px;line-height:1.5;margin-bottom:20px}.blog-meta{align-items:center;border-top:1px solid #e7ebf2;display:flex;justify-content:space-between;padding-top:15px}.blog-date{font-size:13px}.blog-category,.blog-date{color:#3d6df6;font-weight:500}.blog-category{background:#3d6df61a;border-radius:12px;font-size:12px;padding:4px 12px}.cta-section{background:linear-gradient(135deg,#fff,#f7f8fc);border:1px solid #e7ebf2;border-radius:16px;padding:50px;text-align:center}.cta-content{margin:0 auto;max-width:600px}.cta-title{color:#1f2937;font-size:32px;font-weight:700;margin-bottom:20px}.cta-description{color:#6b7280;font-size:16px;line-height:1.6;margin-bottom:30px}.cta-button{align-items:center;background:#3d6df6;border:none;border-radius:8px;color:#f7f8fc;cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:12px;padding:16px 32px;transition:all .3s}.cta-button:hover{background:#2b52c9;box-shadow:0 10px 30px #3d6df64d;transform:translateY(-3px)}@media (max-width:1024px){.extras-menu{grid-template-columns:1fr}.featured-grid{grid-template-columns:repeat(2,1fr)}.blog-grid{grid-template-columns:1fr}}@media (max-width:768px){.page-title{font-size:36px}.featured-grid{grid-template-columns:1fr}.cta-section{padding:30px}.cta-title{font-size:24px}.menu-section{padding:20px}.menu-item{padding:12px}}.projects-page{background:linear-gradient(180deg,#f9fbff,#f3f6fb);min-height:100vh;padding:40px 0 80px}.projects-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:60px}.project-card{background:#fff;border:1px solid #e7ebf2;border-radius:16px;box-shadow:0 10px 30px #0f172a0f;padding:30px;transition:all .3s}.project-card:hover{border-color:#5b8cff;box-shadow:0 15px 40px #5b8cff1f;transform:translateY(-10px)}.project-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.project-header h3{color:#0f172a;flex:1 1;font-size:22px;font-weight:600;line-height:1.4;margin:0}.difficulty-badge{border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.5px;padding:6px 15px;text-transform:uppercase;white-space:nowrap}.difficulty-badge.начинающий{background:#4caf501a;color:#4caf50}.difficulty-badge.средний{background:#ffc1071a;color:#ffc107}.difficulty-badge.продвинутый{background:#f443361a;color:#f44336}.project-description{color:#4b5563;font-size:15px;line-height:1.6;margin-bottom:25px}.project-tech{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:25px}.tech-tag{background:#e8f0ff;border-radius:16px;color:#3d6df6;font-size:13px;font-weight:500;padding:6px 14px}.project-meta{border-bottom:1px solid #e7ebf2;display:flex;flex-direction:column;gap:12px;margin-bottom:30px;padding-bottom:25px}.meta-item{align-items:center;display:flex;justify-content:space-between}.meta-label{color:#6b7280;font-size:14px}.meta-value{color:#1f2937;font-size:15px;font-weight:500}.project-actions{display:flex;gap:15px}.btn-primary,.btn-secondary{border-radius:8px;flex:1 1;letter-spacing:.5px;transition:all .3s}.btn-primary{background:linear-gradient(135deg,#3d6df6,#5b8cff)}.btn-primary:hover{box-shadow:0 8px 20px #3d6df64d;filter:brightness(1.05)}.btn-primary:disabled{background:#cbd5e1;box-shadow:none;color:#64748b;cursor:not-allowed;filter:none;transform:none}.btn-secondary{background:#0000;border:2px solid #3d6df6!important;color:#3d6df6}@media (max-width:1024px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.page-title{font-size:36px}.projects-grid{grid-template-columns:1fr}.project-header{gap:10px}.project-actions,.project-header{flex-direction:column}.project-card{padding:25px}}.blog-page{background:linear-gradient(180deg,#f9fbff,#f3f6fb);min-height:100vh;padding:40px 0 80px}.page-title{color:#0f172a}.blog-content{display:flex;flex-direction:column;gap:60px}.featured-article{background:linear-gradient(135deg,#fff,#f7f8fc);border:1px solid #e7ebf2;border-radius:20px;box-shadow:0 10px 30px #0f172a0f;overflow:hidden;padding:50px;position:relative}.featured-article:before{background:radial-gradient(circle,#5b8cff14 0,#0000 70%);content:"";height:200px;position:absolute;right:0;top:0;width:200px}.featured-content{max-width:600px;position:relative;z-index:1}.article-category{background:#e8f0ff;border-radius:20px;color:#3d6df6;display:inline-block;font-size:14px;font-weight:700;letter-spacing:.06em;margin-bottom:25px;padding:8px 20px;text-transform:uppercase}.featured-content .article-title{color:#0f172a;font-size:36px;font-weight:800;line-height:1.3;margin-bottom:20px}.article-excerpt{color:#4b5563;font-size:17px;line-height:1.7;margin-bottom:30px}.article-meta{color:#6b7280;display:flex;font-size:14px;gap:20px;margin-bottom:30px}.article-meta span{align-items:center;display:flex;gap:6px}.article-meta span:before{content:"•";margin-right:5px}.article-meta span:first-child:before{content:"";margin-right:0}.read-more-btn{background:linear-gradient(135deg,#3d6df6,#5b8cff);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;letter-spacing:.06em;padding:15px 35px;text-transform:uppercase;transition:all .2s}.read-more-btn:hover{box-shadow:0 10px 30px #5b8cff33;transform:translateY(-3px)}.read-more-btn:disabled{background:#cbd5e1;box-shadow:none;color:#64748b;cursor:not-allowed;transform:none}.articles-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:60px}.article-card{background:#fff;border:1px solid #e7ebf2;border-radius:16px;box-shadow:0 10px 30px #0f172a0f;padding:30px;transition:all .3s}.article-card:hover{border-color:#5b8cff;box-shadow:0 15px 40px #5b8cff1f;transform:translateY(-5px)}.article-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.article-card .article-category{margin-bottom:0}.featured-badge{background:#ffc1071a;border-radius:12px;color:#ffc107;font-size:12px;font-weight:600;letter-spacing:.5px;padding:6px 15px;text-transform:uppercase}.article-card .article-title{color:#0f172a;font-size:20px;font-weight:600;line-height:1.4;margin-bottom:15px}.article-card .article-excerpt{color:#6b7280;font-size:15px;line-height:1.6;margin-bottom:20px}.article-footer{align-items:center;border-top:1px solid #e7ebf2;display:flex;justify-content:space-between;padding-top:20px}.article-card .article-meta{gap:15px;margin-bottom:0}.read-btn{align-items:center;background:#0000;border:1px solid #3d6df6;border-radius:50%;color:#3d6df6;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .3s;width:40px}.read-btn:hover{background:#3d6df6;color:#fff;transform:rotate(45deg)}.read-btn:disabled{border-color:#cbd5e1;color:#94a3b8;cursor:not-allowed}.read-btn:disabled:hover{background:#0000;color:#94a3b8;transform:none}.categories-section{background:#fff;border:1px solid #e7ebf2;border-radius:16px;box-shadow:0 10px 30px #0f172a0f;padding:40px}.categories-section h3{color:#0f172a;font-size:24px;font-weight:600;margin-bottom:25px;text-align:center}.categories-list{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}.category-tag{background:#e8f0ff;border:none;border-radius:25px;color:#3d6df6;cursor:pointer;font-size:15px;font-weight:500;padding:12px 25px;transition:all .3s}.category-tag:hover{background:linear-gradient(135deg,#3d6df6,#5b8cff);color:#fff;transform:translateY(-2px)}@media (max-width:1024px){.articles-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.page-title{font-size:36px}.featured-article{padding:30px}.featured-content .article-title{font-size:28px}.articles-grid{grid-template-columns:1fr}.article-meta{flex-direction:column;gap:10px}.categories-section{padding:25px}.categories-list{justify-content:flex-start}}.profile-page{background:linear-gradient(180deg,#f9fbff,#f3f6fb);min-height:100vh;padding:40px 0 80px}.profile-topbar{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.page-title{font-size:36px;margin-bottom:0}.profile-cancel-btn,.profile-edit-btn,.profile-save-btn{border:none;border-radius:12px;cursor:pointer;font-size:14px;font-weight:700;padding:10px 20px;transition:all .2s}.profile-edit-btn{background:#0000;border:1px solid #5b8cff;color:#3d6df6}.profile-edit-btn:hover{background:#e8f0ff}.profile-edit-actions{display:flex;gap:10px}.profile-save-btn{background:linear-gradient(135deg,#3d6df6,#5b8cff);color:#fff}.profile-save-btn:disabled{cursor:not-allowed;opacity:.6}.profile-cancel-btn{background:#0000;border:1px solid #cbd5e1;color:#6b7280}.profile-cancel-btn:hover{border-color:#ef4444;color:#ef4444}.profile-toast{animation:slideIn .3s ease;border-radius:12px;font-size:14px;font-weight:600;margin-bottom:20px;padding:12px 20px}.profile-toast.success{background:#22c55e26;border:1px solid #22c55e4d;color:#059669}.profile-toast.error{background:#ef444426;border:1px solid #ef44444d;color:#dc2626}.profile-header{align-items:center;background:#fff;border:1px solid #e7ebf2;border-radius:16px;display:flex;gap:30px;margin-bottom:30px;padding:30px}.profile-avatar-wrap{flex-shrink:0;position:relative}.profile-avatar{align-items:center;background:#3d6df61a;border:3px solid #3d6df64d;border-radius:50%;display:flex;font-size:48px;height:120px;justify-content:center;width:120px}.avatar-change-btn{background:#0000;border:1px solid #3d6df6;border-radius:6px;color:#3d6df6;cursor:pointer;display:block;font-size:12px;margin-top:8px;padding:6px;width:100%}.avatar-change-btn:hover{background:#3d6df61a}.avatar-picker{grid-gap:6px;background:#fff;border:1px solid #3d6df6;border-radius:12px;box-shadow:0 10px 40px #0f172a26;display:grid;gap:6px;grid-template-columns:repeat(4,1fr);left:0;padding:12px;position:absolute;top:130px;z-index:10}.avatar-option{align-items:center;background:#f4f6fb;border:1px solid #e7ebf2;border-radius:8px;cursor:pointer;display:flex;font-size:24px;height:44px;justify-content:center;transition:all .15s;width:44px}.avatar-option:hover{background:#3d6df61a}.avatar-option.selected{background:#3d6df626;border-color:#3d6df6}.profile-info{flex:1 1}.profile-info h2{color:#1f2937;font-size:28px;font-weight:600;margin-bottom:8px}.profile-email{color:#6b7280;font-size:16px;margin-bottom:12px}.profile-bio{font-style:italic;line-height:1.6;margin-bottom:16px}.profile-bio,.profile-input{color:#1f2937;font-size:15px}.profile-input{background:#f4f6fb;border:1px solid #e7ebf2;border-radius:8px;font-family:inherit;margin-bottom:12px;padding:10px 14px;transition:border-color .2s;width:100%}.profile-input:focus{border-color:#3d6df6;outline:none}.profile-name-input{font-size:22px;font-weight:600}.profile-bio-input{line-height:1.5;min-height:60px;resize:vertical}.profile-stats{display:flex;gap:40px;margin-top:16px}.stat{align-items:flex-start;display:flex;flex-direction:column}.stat-value{color:#3d6df6;font-size:24px;font-weight:700;margin-bottom:4px}.stat-label{color:#6b7280;font-size:14px;letter-spacing:.5px;text-transform:uppercase}.profile-overview{background:#fff;border:1px solid #e7ebf2;border-radius:12px;margin-bottom:30px;padding:20px 25px}.overview-header{align-items:center;color:#1f2937;display:flex;font-size:15px;font-weight:600;justify-content:space-between;margin-bottom:10px}.overview-percent{color:#3d6df6;font-size:18px;font-weight:700}.overview-details{color:#6b7280;font-size:13px;margin-top:8px}.profile-sections{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(2,1fr)}.profile-section{background:#fff;border:1px solid #e7ebf2;border-radius:12px;padding:25px}.profile-section-full{grid-column:1/-1}.profile-section h3{align-items:center;border-bottom:1px solid #e7ebf2;color:#1f2937;display:flex;font-size:20px;font-weight:600;justify-content:space-between;margin-bottom:25px;padding-bottom:15px}.achievements-count{color:#3d6df6;font-size:14px;font-weight:500}.courses-progress{gap:20px}.courses-progress,.progress-item{display:flex;flex-direction:column}.progress-item{gap:10px}.progress-header{align-items:center;display:flex;justify-content:space-between}.course-title{font-size:16px;font-weight:500}.progress-status{color:#ffc107;font-size:13px;font-weight:500}.progress-course{color:#9ca3af;font-size:12.5px}.progress-percent{color:#3d6df6;font-size:14px;font-weight:600}.progress-bar{background:#e7ebf2;border-radius:4px;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#3d6df6,#4caf50);border-radius:4px;height:100%;transition:width .5s ease}.completed-courses{display:flex;flex-direction:column;gap:15px}.completed-course{align-items:center;background:#f4f6fb;border:1px solid #0000;border-radius:8px;display:flex;justify-content:space-between;padding:15px;transition:all .3s}.completed-course:hover{background:#3d6df60d;border-color:#3d6df6}.completion-date{color:#6b7280;font-size:14px;font-weight:500}.profile-empty{padding:30px 20px;text-align:center}.empty-icon{display:block;font-size:36px;margin-bottom:12px;opacity:.5}.profile-empty p{color:#6b7280;font-size:15px;margin-bottom:12px}.empty-link{color:#3d6df6;font-size:14px;font-weight:500;text-decoration:none}.empty-link:hover{text-decoration:underline}.achievements-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.achievement-card{align-items:center;background:#f4f6fb;border:1px solid #e7ebf2;border-radius:12px;display:flex;gap:15px;padding:20px;position:relative;transition:all .3s}.achievement-card.unlocked{border-color:#3d6df64d}.achievement-card.unlocked:hover{border-color:#3d6df6;box-shadow:0 10px 30px #0003;transform:translateY(-5px)}.achievement-card.locked{filter:grayscale(.5);opacity:.45}.achievement-icon{align-items:center;background:#3d6df61a;border-radius:12px;display:flex;flex-shrink:0;font-size:32px;height:60px;justify-content:center;width:60px}.achievement-info h4{color:#1f2937;font-size:16px;font-weight:600;margin-bottom:5px}.achievement-info p{color:#6b7280;font-size:13px;line-height:1.4}.achievement-badge{color:#4caf50;font-size:18px;font-weight:700;position:absolute;right:10px;top:10px}.profile-guest{padding:80px 20px;text-align:center}.guest-icon{font-size:64px;margin-bottom:20px}.profile-guest h2{color:#1f2937;font-size:28px;margin-bottom:12px}.profile-guest p{color:#6b7280;font-size:16px;margin-bottom:24px;margin-left:auto;margin-right:auto;max-width:400px}.profile-login-btn{background:#3d6df6;border-radius:8px;color:#f7f8fc;display:inline-block;font-size:16px;font-weight:600;padding:12px 32px;text-decoration:none}.profile-skeleton{padding-top:20px}.skeleton-header{border-radius:16px;height:180px}.skeleton-header,.skeleton-section{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#f4f6fb 25%,#e7ebf2 50%,#f4f6fb 75%);background-size:200% 100%;margin-bottom:30px}.skeleton-section{border-radius:12px;height:200px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (max-width:1024px){.profile-sections{grid-template-columns:1fr}}@media (max-width:768px){.profile-topbar{align-items:flex-start;flex-direction:column;gap:16px}.profile-header{flex-direction:column;gap:20px;text-align:center}.profile-avatar-wrap{margin:0 auto}.profile-stats{flex-wrap:wrap;gap:24px;justify-content:center}.achievements-grid{grid-template-columns:1fr}.page-title{font-size:28px}.avatar-picker{left:50%;transform:translateX(-50%)}}.code-editor-container{background:#fff;border:1px solid #e7ebf2;border-radius:0 0 12px 12px;height:400px;overflow:hidden;position:relative}.code-editor{display:flex;font-family:Courier New,monospace;font-size:14px;height:100%;line-height:1.6;position:relative}.line-numbers{background:#f7f8fc;border-right:1px solid #e7ebf2;color:#9ca3af;overflow-y:auto;padding:10px 0;text-align:right;-webkit-user-select:none;user-select:none;width:60px}.line-number{height:20px;line-height:20px;padding:0 12px 0 8px}.code-highlight,.code-input{background:#fff;border:none;caret-color:#1f2937;color:#1f2937;font-family:inherit;font-size:inherit;height:100%;left:60px;line-height:inherit;outline:none;overflow:auto;overflow-wrap:normal;padding:10px;position:absolute;resize:none;tab-size:2;top:0;white-space:pre;width:calc(100% - 60px)}.code-input{z-index:2}.code-highlight{display:none}.keyword{color:#d946ef;font-weight:700}.string{color:#059669}.comment{color:#9ca3af;font-style:italic}.number{color:#2563eb}.function{color:#b45309}.operator{color:#6b7280}.code-input::-webkit-scrollbar,.line-numbers::-webkit-scrollbar{width:8px}.code-input::-webkit-scrollbar-track,.line-numbers::-webkit-scrollbar-track{background:#f3f6fb}.code-input::-webkit-scrollbar-thumb,.line-numbers::-webkit-scrollbar-thumb{background:#cfd9e8;border-radius:4px}.code-input::-webkit-scrollbar-thumb:hover,.line-numbers::-webkit-scrollbar-thumb:hover{background:#a8b6cc}.plsql-window{background:#fff;border:1px solid #c8c8c8;border-radius:6px;box-shadow:0 12px 32px #0f172a59;color:#1f2937;display:flex;flex-direction:column;overflow:hidden}.plsql-toolbar{align-items:center;background:linear-gradient(#f7f7f7,#e9e9ea);border-bottom:1px solid #c8c8c8;display:flex;gap:8px;padding:8px 10px}.plsql-toolbar-spacer{flex:1 1}.plsql-btn{align-items:center;background:#f5f5f5;border:1px solid #b5b5b5;border-radius:4px;color:#1f2937;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:6px 12px;transition:background .15s ease,box-shadow .15s ease,transform .1s ease}.plsql-btn:hover:not(:disabled){background:#e6e6e6}.plsql-btn:active:not(:disabled){transform:translateY(1px)}.plsql-btn:disabled{cursor:not-allowed;opacity:.5}.plsql-btn kbd{background:#fff;border:1px solid #d1d5db;border-radius:3px;color:#6b7280;font-family:inherit;font-size:10px;margin-left:2px;padding:0 4px}.plsql-btn-icon{font-size:12px}.plsql-btn-execute{background:#dcfce7;border-color:#86efac;color:#14532d}.plsql-btn-execute:hover:not(:disabled){background:#bbf7d0}.plsql-btn-submit{background:#dbeafe;border-color:#93c5fd;color:#1e3a8a;margin-left:auto}.plsql-btn-submit:hover:not(:disabled){background:#bfdbfe}.plsql-editor-pane{border-bottom:1px solid #c8c8c8;height:240px;max-height:70vh;min-height:140px;overflow:hidden;resize:vertical}.plsql-editor-pane .cm-editor{height:100%}.plsql-results-pane{background:#fff;display:flex;flex-direction:column}.plsql-results-tabs{background:#f0f0f0;border-bottom:1px solid #d1d5db;display:flex}.plsql-tab{color:#6b7280;font-size:12px;font-weight:600;padding:6px 16px}.plsql-tab.active{background:#fff;border-left:1px solid #d1d5db;border-right:1px solid #d1d5db;box-shadow:inset 0 2px 0 #2563eb;color:#1f2937}.plsql-grid-scroll{max-height:320px;min-height:140px;overflow:auto}.plsql-grid{border-collapse:collapse;font-family:Monaco,Courier New,monospace;font-size:13px;width:100%}.plsql-grid thead th{background:#f3f4f6;border-bottom:2px solid #2563eb;color:#374151;font-weight:700;padding:6px 10px;position:-webkit-sticky;position:sticky;text-align:left;top:0}.plsql-grid tbody td,.plsql-grid thead th{border-right:1px solid #e5e7eb;white-space:nowrap}.plsql-grid tbody td{border-bottom:1px solid #e5e7eb;color:#1f2937;padding:5px 10px}.plsql-grid tbody tr:nth-child(2n){background:#fafafa}.plsql-grid tbody tr:hover{background:#eff6ff}.plsql-grid-rownum{background:#f3f4f6!important;color:#9ca3af;font-weight:600;text-align:right;-webkit-user-select:none;user-select:none}.plsql-null{color:#9ca3af;font-style:italic}.plsql-grid-placeholder{color:#9ca3af;font-size:13px;padding:24px;text-align:center}.plsql-statusbar{background:#f3f4f6;border-top:1px solid #d1d5db;color:#4b5563;font-family:Monaco,Courier New,monospace;font-size:12px;padding:5px 12px}.plsql-statusbar-success{color:#15803d}.plsql-statusbar-error{color:#b91c1c}.plsql-statusbar-loading{color:#b45309}.ai-panel{background:#fff;border:1px solid #e7ebf2;border-radius:16px;box-shadow:0 10px 30px #0f172a0f;margin-top:32px;overflow:hidden}.ai-panel-header{align-items:center;background:linear-gradient(135deg,#f4f6fb,#e8f0ff);border-bottom:1px solid #e7ebf2;display:flex;justify-content:space-between;padding:14px 18px}.ai-panel-title{color:#1f2937;font-size:15px;font-weight:600}.ai-panel-subtitle{color:#64748b;font-size:12px;margin-top:2px}.ai-panel-status{align-items:center;background:#22c55e14;border-radius:999px;color:#22c55e;display:inline-flex;font-size:12px;gap:6px;padding:4px 10px}.ai-status-dot{background:#22c55e;border-radius:999px;box-shadow:0 0 0 3px #22c55e59;height:8px;width:8px}.ai-panel-body{padding:14px 16px 12px}.ai-under-video{background:#eef4ff;border:1px solid #3d6df640;border-radius:12px;margin-bottom:10px;padding:10px 12px}.ai-under-video-text{color:#374151;font-size:12px;margin-bottom:6px}.ai-under-video-actions{display:flex;flex-wrap:wrap;gap:6px}.ai-under-video-btn{align-items:center;border:1px solid #0000;border-radius:999px;cursor:pointer;display:inline-flex;font-size:11px;gap:4px;padding:6px 10px}.ai-under-video-btn.primary{background:linear-gradient(135deg,#22c55e,#4ade80);color:#022c22}.ai-under-video-btn.secondary{background:#f4f6fb;border-color:#cfd9e8;color:#1f2937}.ai-messages{display:flex;flex-direction:column;gap:8px;margin-bottom:10px;max-height:220px;overflow-y:auto;padding-right:4px}.ai-message{display:flex}.ai-message-assistant .ai-message-text{background:#f4f6fb;border:1px solid #e7ebf2;color:#1f2937;margin-right:auto}.ai-message-user .ai-message-text{background:linear-gradient(135deg,#16a34a,#22c55e);border:1px solid #15803de6;color:#022c22;margin-left:auto}.ai-message-text{border-radius:12px;font-size:13px;max-width:80%;padding:8px 10px;white-space:pre-wrap}.ai-input-row{align-items:center;display:flex;gap:8px;margin-top:6px}.ai-input{background:#f7f8fc;border:1px solid #e7ebf2;border-radius:999px;color:#1f2937;flex:1 1;font-size:13px;padding:8px 12px}.ai-input::placeholder{color:#64748b}.ai-input:focus{border-color:#22c55e;box-shadow:0 0 0 1px #22c55e59;outline:none}.ai-send-btn{align-items:center;background:#22c55e;border:none;border-radius:999px;color:#022c22;cursor:pointer;display:flex;font-size:14px;height:34px;justify-content:center;width:34px}.ai-send-btn:disabled{cursor:default;opacity:.5}.ai-helper-text{color:#64748b;font-size:11px;margin-top:6px}@media (max-width:768px){.ai-panel{margin-top:24px}.ai-message-text{max-width:100%}}.ai-chat-overlay{align-items:center;background:#0f172abf;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.ai-chat-modal{background:#fff;border:1px solid #e7ebf2;border-radius:16px;box-shadow:0 24px 60px #0f172a2e;color:#1f2937;display:flex;flex-direction:column;max-height:80vh;max-width:640px;width:100%}.ai-chat-header{align-items:center;border-bottom:1px solid #e7ebf2;display:flex;justify-content:space-between;padding:16px 20px}.ai-chat-header h3{align-items:center;display:flex;font-size:18px;gap:8px;margin:0}.ai-chat-close{background:#0000;border:none;color:#94a3b8;cursor:pointer;font-size:18px}.ai-chat-close:hover{color:#1f2937}.ai-chat-body{overflow-y:auto;padding:20px}.ai-chat-section{display:flex;flex-direction:column;gap:16px}.ai-chat-hints{color:#6b7280;margin:0;padding-left:20px}.ai-chat-hints li{margin-bottom:6px}.ai-chat-primary,.ai-chat-secondary{align-items:center;border:none;border-radius:999px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;justify-content:center;padding:10px 16px}.ai-chat-primary{background:linear-gradient(135deg,#3d6df6,#5b8cff);color:#fff}.ai-chat-primary:disabled{cursor:default;opacity:.5}.ai-chat-secondary{background:#f4f6fb;color:#1f2937}.ai-chat-quiz{display:flex;flex-direction:column;gap:16px}.ai-chat-question{background:#f4f6fb;border:1px solid #e7ebf2;border-radius:12px;padding:12px 14px}.ai-chat-question-text{font-weight:500;margin-bottom:8px}.ai-chat-options{display:flex;flex-direction:column;gap:6px}.ai-chat-option{align-items:center;color:#1f2937;cursor:pointer;display:flex;font-size:14px;gap:8px}.ai-chat-option input{accent-color:#38bdf8}@media (max-width:768px){.ai-chat-modal{margin:0 12px;max-width:none}}.quiz-overlay{align-items:center;background:#0f172abf;display:flex;inset:0;justify-content:center;position:fixed;z-index:1200}.quiz-modal{background:#020617;border:1px solid #94a3b873;border-radius:18px;box-shadow:0 24px 80px #0f172ae6;display:flex;flex-direction:column;max-height:80vh;max-width:900px;overflow:hidden;width:60%}.quiz-header{align-items:center;background:radial-gradient(circle at top left,#1d4ed8,#020617);border-bottom:1px solid #1e40afb3;color:#e5f1ff;display:flex;justify-content:space-between;padding:16px 20px}.quiz-header h3{font-size:18px;margin:0}.quiz-header p{color:#cbd5f5;font-size:12px;margin:4px 0 0}.quiz-close{background:#0000;border:none;color:#e5e7eb;cursor:pointer;font-size:18px}.quiz-body{overflow-y:auto;padding:20px 22px 18px}.quiz-topic{color:#93c5fd;font-size:12px;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.quiz-question{color:#e5e7eb;font-size:15px;margin-bottom:16px}.quiz-options{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.quiz-option{align-items:center;background:#0f172ad9;border:1px solid #374151e6;border-radius:10px;color:#e5e7eb;cursor:pointer;display:flex;gap:8px;padding:8px 10px}.quiz-option input{accent-color:#22c55e}.quiz-footer{display:flex;gap:10px;justify-content:flex-end}.quiz-btn{border:none;border-radius:999px;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px}.quiz-btn.primary{background:linear-gradient(135deg,#22c55e,#4ade80);color:#022c22}.quiz-btn.secondary{background:#0f172ae6;border:1px solid #94a3b880;color:#e5e7eb}.quiz-btn:disabled{cursor:default;opacity:.5}@media (max-width:900px){.quiz-modal{width:90%}}:root{--bg-deep:#0a0a1f;--bg-modal:radial-gradient(circle at top left,#1a0b2e 0%,#020617 45%,#0f172a 100%);--bg-card:linear-gradient(145deg,#1a1a2f,#0f0f1f);--accent-primary:#00f5ff;--accent-secondary:#b026ff;--accent-success:#0fa;--accent-error:#f05;--glass-bg:#0f172ab3;--border-soft:#94a3b873;--shadow-soft:0 24px 80px #000000e6}@keyframes glowPulse{0%,to{box-shadow:0 0 18px #00f5ff4d}50%{box-shadow:0 0 36px #b026ff99}}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.quest-overlay{align-items:center;background:radial-gradient(circle at top,#2463eb73,#0f172af2);display:flex;inset:0;justify-content:center;position:fixed;z-index:1300}.quest-modal{background:radial-gradient(circle at top left,#1a0b2e 0,#020617 45%,#0f172a 100%);background:var(--bg-modal);border:2px solid #94a3b8bf;border-radius:24px;box-shadow:0 24px 80px #000000e6,0 0 0 2px #00f5ff2e;box-shadow:var(--shadow-soft),0 0 0 2px #00f5ff2e;display:flex;flex-direction:column;height:60vh;max-height:60vh;max-width:60vw;overflow:hidden;position:relative;width:60vw}.quest-header{align-items:center;background:linear-gradient(120deg,#00f5ff33,#b026ff29);border-bottom:1px solid #22c55e59;box-shadow:0 6px 18px #0f172ae6;color:#e5f1ff;display:flex;justify-content:space-between;padding:16px 20px}.quest-header h3{background:linear-gradient(90deg,#00f5ff,#b026ff);background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;color:#0000;font-size:20px;font-weight:800;letter-spacing:.04em;margin:0}.quest-subtitle{color:#cbd5f5;font-size:12px;margin-top:4px}.quest-close{background:#0000;border:none;color:#e5e7eb;cursor:pointer;font-size:18px}.quest-body{overflow-y:auto;padding:18px 20px 14px}.quest-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1.2fr .8fr}.quest-left,.quest-right{display:flex;flex-direction:column;gap:14px}.quest-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0f172ab3;background:var(--glass-bg);border:2px solid #1f2937e6;border-radius:16px;box-shadow:0 10px 20px -5px #0009;padding:14px}.quest-card-title{color:#93c5fd;font-size:12px;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.quest-task-title{color:#e5e7eb;font-size:15px;font-weight:600;margin-bottom:10px}.quest-task-meta{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr}.quest-meta-label{color:#64748b;font-size:11px;margin-bottom:2px}.quest-meta-value{color:#e2e8f0;font-size:13px}.quest-hint{color:#cbd5f5;font-size:12px;margin-bottom:10px}.quest-hint code{color:#4ade80}.quest-sql{line-height:1.5;min-height:180px;resize:vertical;width:100%}.quest-preview,.quest-sql{background:#0b1220;border:1px solid #94a3b859;border-radius:12px;color:#e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;padding:10px 12px}.quest-preview{margin:0;white-space:pre-wrap}.quest-check{border-radius:12px;font-size:12px;line-height:1.5;margin-top:10px;padding:10px 12px}.quest-check.ok{background:#22c55e1f;border:1px solid #22c55e59;color:#bbf7d0}.quest-check.bad{background:#ef44441f;border:1px solid #ef444459;color:#fecaca}.quest-progress-bar{background:#94a3b82e;border:1px solid #94a3b833;border-radius:999px;height:10px;overflow:hidden}.quest-progress-fill{background:linear-gradient(90deg,#22c55e,#60a5fa);border-radius:999px;height:100%}.quest-progress-text{color:#cbd5f5;font-size:12px;margin-top:8px}.quest-assistant-bubble{background:#0f172af2;border:1px solid #38bdf866;border-radius:12px;color:#e2e8f0;font-size:13px;margin-bottom:10px;padding:10px 12px;position:relative}.quest-assistant-bubble:before{border-color:#38bdf866 #0000 #0000;border-style:solid;border-width:8px 8px 0;bottom:-8px;content:"";left:18px;position:absolute}.quest-stage-label{color:#a5b4fc;font-size:12px;margin-top:6px}.quest-columns-pool{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.quest-column-card{align-items:center;background:linear-gradient(145deg,#2a1b3d,#1f2a4a);border:2px solid #00f5ff4d;border-radius:16px;box-shadow:0 10px 20px -5px #00000080,inset 0 0 0 2px #00f5ff1a;color:#e5e7eb;cursor:grab;display:flex;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;font-weight:600;height:80px;justify-content:center;padding:8px 10px;text-align:center;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;width:100px}.quest-column-card.selected{background:linear-gradient(145deg,#047857,#0fa);border-color:#0fa;box-shadow:0 12px 24px -8px #059669e6}.quest-column-card.shake{animation:shake .25s;background:#ff0055e6;border-color:#f05}.quest-dropzone{background:#0f0a1f;border:2px dashed #b026ffb3;border-radius:12px;box-shadow:inset 0 0 30px #b026ff40;min-height:120px;padding:14px}.quest-dropzone-title{color:#e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px}.quest-dropzone-placeholder{color:#9ca3af;font-size:12px;margin:8px 0}.quest-dropzone-list{color:#e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;margin:6px 0;padding-left:18px}.quest-types-grid{display:flex;flex-direction:column;gap:8px}.quest-type-row{align-items:center;display:flex;gap:10px;justify-content:space-between}.quest-type-col{color:#e5e7eb;font-size:13px}.quest-type-select{background:radial-gradient(circle at top,#020617,#020617 60%,#0f172a 100%);border:2px solid #00f5ff99;border-radius:999px;color:#e5e7eb;flex:0 0 120px;font-size:12px;padding:4px 10px}.quest-constraints-grid{color:#e5e7eb;display:flex;flex-direction:column;font-size:12px;gap:8px}.quest-constraint-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1.2fr repeat(4,auto)}.quest-constraint-col{font-weight:500}.quest-constraint-row label{align-items:center;display:flex;gap:4px}.quest-constraint-row input[type=checkbox]{accent-color:#0fa;accent-color:var(--accent-success)}.quest-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}.quest-btn{border:none;border-radius:999px;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px}.quest-btn.primary{background:linear-gradient(135deg,#00f5ff,#b026ff);border-radius:40px;box-shadow:0 12px 28px -12px #00f5ffe6;color:#020617;font-weight:700}.quest-btn.secondary{background:#0f172ae6;border:1px solid #94a3b8b3;border-radius:40px;color:#e5e7eb}.quest-loading{color:#93c5fd;font-size:16px;padding:24px}.quest-error{color:#fecaca;font-size:14px;padding:16px}@media (max-width:1100px){.quest-modal{width:92%}.quest-grid{grid-template-columns:1fr}}.insert-overlay{align-items:center;background:#0a0a1fe6;display:flex;inset:0;justify-content:center;position:fixed;z-index:1400}.insert-modal{background:radial-gradient(circle at top left,#1a0b2e 0,#020617 45%,#0f172a 100%);border:2px solid #94a3b8cc;border-radius:24px;box-shadow:0 30px 90px #000000e6;display:flex;flex-direction:column;max-height:80vh;max-width:960px;overflow:hidden;width:70vw}.insert-header{align-items:center;background:linear-gradient(120deg,#00f5ff33,#b026ff29);border-bottom:1px solid #38bdf880;color:#e5f1ff;display:flex;justify-content:space-between;padding:16px 24px}.insert-header h3{font-size:20px;font-weight:800;letter-spacing:.04em;margin:0}.insert-subtitle{color:#cbd5f5;font-size:12px;margin-top:4px}.insert-close{background:#0000;border:none;color:#e5e7eb;cursor:pointer;font-size:18px}.insert-body{overflow-y:auto;padding:16px 22px 18px}.insert-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1.3fr 1fr}.insert-card{background:#0f172ad9;border:1px solid #374151e6;border-radius:16px;box-shadow:0 14px 30px #000c;padding:14px 16px}.insert-card-title{color:#93c5fd;font-size:12px;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.insert-assistant p{color:#e2e8f0;font-size:13px;margin:0 0 6px}.insert-hint{color:#a5b4fc;font-size:12px}.required-star{color:#f97316}.insert-field{color:#e5e7eb;display:flex;flex-direction:column;font-size:13px;gap:4px;margin-top:10px}.insert-field input{background:#020617;border:1px solid #94a3b8b3;border-radius:12px;color:#e5e7eb;font-size:13px;padding:6px 10px}.insert-field.error input{background:#7f1d1d80;border-color:#f05}.field-status{font-size:11px}.field-status.ok{color:#bbf7d0}.field-status.bad{color:#fecaca}.field-status.info{color:#9ca3af}.insert-sql{background:#020617;border:1px solid #94a3b8b3;border-radius:12px;color:#e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;margin:6px 0 8px;padding:10px 12px;white-space:pre-wrap}.insert-status{border-radius:10px;font-size:12px;margin-top:4px;padding:8px 10px}.insert-status.ok{background:#22c55e26;border:1px solid #22c55e80;color:#bbf7d0}.insert-status.bad{background:#ef444426;border:1px solid #ef444480;color:#fecaca}.insert-tip{color:#e2e8f0;font-size:13px}.insert-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.insert-btn{border:none;border-radius:40px;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px}.insert-btn.primary{background:linear-gradient(135deg,#00f5ff,#b026ff);box-shadow:0 12px 28px -12px #00f5ffe6;color:#020617}.insert-btn.secondary{background:#0f172ae6;border:1px solid #94a3b8b3;color:#e5e7eb}@media (max-width:1100px){.insert-modal{width:94vw}.insert-grid{grid-template-columns:1fr}}.lesson-page{background:linear-gradient(135deg,#f9fbff,#f3f6fb);color:#1f2937;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:20px}.lesson-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border-left:4px solid #5b8cff;border-radius:16px;box-shadow:0 10px 30px #0f172a0f;display:flex;justify-content:space-between;margin-bottom:24px;padding:20px}.lesson-title{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#3d6df6,#5b8cff);-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:800;margin:0}.lesson-progress{align-items:center;display:flex;gap:12px}.progress-badge{align-items:center;border-radius:20px;display:flex;font-size:14px;font-weight:700;gap:6px;padding:8px 16px}.progress-badge.completed{background:#22c55e26;border:1px solid #22c55e4d;color:#059669}.progress-badge.in-progress{background:#fbbf2426;border:1px solid #fbbf244d;color:#b45309}.progress-badge.not-started{background:#6b728026;border:1px solid #6b72804d;color:#6b7280}.lesson-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:24px}@media (max-width:1024px){.lesson-content{grid-template-columns:1fr}}.lesson-left{display:flex;flex-direction:column;gap:24px}.video-container{background:#0000;border:none;display:inline-block;max-width:100%;overflow:hidden;width:-webkit-fit-content;width:fit-content}.video-placeholder{display:contents}.lesson-video-html5{border-radius:12px;display:block;height:auto;max-width:100%}.video-actions,.video-icon,.video-placeholder h3,.video-placeholder p{display:none}.btn-vk{align-items:center;background:#4a76a8;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:12px 24px;text-decoration:none;transition:all .2s}.btn-vk:hover{background:#3a6698;box-shadow:0 4px 12px #4a76a84d;transform:translateY(-2px)}.btn-alternative{background:#3d6df61a;border:1px solid #3d6df64d;border-radius:8px;color:#3d6df6;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .2s}.btn-alternative:hover{background:#3d6df626;transform:translateY(-2px)}.description-container{background:#fff;border:1px solid #e7ebf2;border-left:4px solid #10b981;border-radius:12px;box-shadow:0 10px 30px #0f172a0f;padding:24px}.description-container h3{display:none}.description-content{color:#374151;line-height:1.7}.lesson-notes{color:#1f2937;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;max-height:320px;overflow-y:auto;white-space:pre-wrap}.description-content p{margin-bottom:16px}.description-actions{margin-top:16px}.btn-download-pdf{align-items:center;background:#f4f6fb;border:1px solid #e7ebf2;border-radius:999px;color:#374151;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn-download-pdf:hover{background:#3d6df6;box-shadow:0 8px 20px #3d6df640;color:#fff;transform:translateY(-1px)}.tips-list{background:#fffbeb;border:1px solid #f59e0b40;border-radius:8px;margin-top:16px;padding:16px}.tips-list h4{color:#b45309;font-size:16px;margin:0 0 12px}.tips-list ul{margin:0;padding-left:20px}.tips-list li{color:#78716c;margin-bottom:8px}.lesson-right{display:flex;flex-direction:column;gap:20px;min-width:0}.lesson-right .ai-panel{flex-shrink:0;min-height:200px}.lesson-right .editor-container{flex:1 1;min-height:280px}.lesson-right .output-container{flex-shrink:0}.editor-container{background:#fff;border:1px solid #e7ebf2;border-radius:16px;box-shadow:0 10px 30px #0f172a0f;overflow:hidden;padding:12px 14px 14px}.editor-header{background:#f4f6fb;border:1px solid #e7ebf2;border-radius:12px;padding:12px 14px 10px}.editor-header h3{align-items:center;color:#1f2937;display:flex;font-size:18px;gap:8px;margin:0}.editor-actions{gap:10px}.btn{align-items:center;border:none;border-radius:999px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:8px 16px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn-run{background:linear-gradient(135deg,#22c55e,#4ade80);box-shadow:0 10px 22px #22c55e80;color:#022c22}.btn-run:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b9814d;transform:translateY(-2px)}.btn-submit{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 10px 22px #3b82f680;color:#eff6ff}.btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.btn-reset{background:#f4f6fb;border:1px solid #e7ebf2;color:#6b7280}.btn-reset:hover{background:#e8ecf3;transform:translateY(-2px)}.btn:active{box-shadow:0 2px 6px #0f172a26;transform:translateY(1px) scale(.99)}.btn:disabled{box-shadow:none!important;cursor:not-allowed;opacity:.5;transform:none!important}.output-container{background:#fff;border:1px solid #e7ebf2;border-radius:12px;box-shadow:0 10px 30px #0f172a0f;overflow:hidden}.output-header{align-items:center;background:#f4f6fb;border-bottom:1px solid #e7ebf2;display:flex;justify-content:space-between;padding:16px 20px}.output-header h3{color:#1f2937;display:block;font-size:18px;margin:0}.output-clear{background:#0000;border:1px solid #e7ebf2;border-radius:4px;color:#6b7280;cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s}.output-clear:hover{border-color:#cfd9e8;color:#1f2937}.output-content{background:#f7f8fc;border-radius:0 0 12px 12px;font-family:Monaco,Courier New,monospace;font-size:14px;line-height:1.6;min-height:120px;padding:20px;white-space:pre-wrap;word-break:break-word}.output-content.success{border-left:4px solid #10b981;color:#15803d}.output-content.error{border-left:4px solid #ef4444;color:#b91c1c}.output-content.info{border-left:4px solid #3b82f6;color:#6b7280}.output-placeholder{color:#94a3b8;font-style:italic}.practice-container{background:#fff;border:1px solid #e7ebf2;border-left:4px solid #f59e0b;border-radius:12px;box-shadow:0 10px 30px #0f172a0f;margin-top:24px;padding:24px}.practice-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.practice-header h3{align-items:center;color:#1f2937;display:flex;font-size:20px;gap:8px;margin:0}.practice-status{border-radius:20px;font-size:12px;font-weight:600;padding:6px 12px}.practice-status.in-progress{background:#fbbf2426;color:#b45309}.task-description{background:#f4f6fb;border-radius:8px;margin-bottom:20px;padding:20px}.task-description h4{color:#1f2937;font-size:16px;margin:0 0 12px}.task-description p{color:#374151;line-height:1.6;margin-bottom:16px}.code-example{background:#1f2937;border-left:3px solid #3b82f6;border-radius:6px;font-family:Monaco,Courier New,monospace;font-size:14px;margin-top:16px;overflow-x:auto;padding:16px}.code-example pre{color:#e5e7eb;margin:0}.code-example .line-number{color:#6b7280;margin-right:12px;-webkit-user-select:none;user-select:none}.lesson-navigation{border-top:1px solid #e7ebf2;display:flex;justify-content:space-between;margin-top:32px;padding-top:24px}.btn-nav{align-items:center;background:#fff;border:1px solid #e7ebf2;border-radius:8px;color:#1f2937;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:12px 24px;text-decoration:none;transition:all .2s}.btn-nav:hover:not(:disabled){background:#e8f0ff;border-color:#5b8cff;transform:translateY(-2px)}.btn-nav:disabled{cursor:not-allowed;opacity:.3;transform:none}.btn-nav.prev{margin-right:auto}.btn-nav.next{margin-left:auto}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading{animation:pulse 1.5s infinite}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.lesson-content>*{animation:slideIn .3s ease-out}.icon{display:inline-block;height:20px;width:20px}.icon-play:before{content:"▶"}.icon-check:before{content:"✓"}.icon-reset:before{content:"↺"}.icon-video:before{content:"🎥"}.icon-docs:before{content:"📚"}.icon-practice:before{content:"🎯"}.icon-arrow-left:before{content:"←"}.icon-arrow-right:before{content:"→"}.cm-editor{font-size:14px!important;height:400px!important}.cm-gutters{background:#f4f6fb!important;border-right:1px solid #e7ebf2!important;color:#9ca3af!important}.notification{animation:slideIn .3s ease-out;background:#fff;border:1px solid #e7ebf2;border-left:4px solid;border-radius:8px;box-shadow:0 15px 40px #0f172a1f;max-width:400px;padding:16px 24px;position:fixed;right:20px;top:20px;z-index:1000}.notification.success{border-left-color:#10b981}.notification.error{border-left-color:#ef4444}.notification.info{border-left-color:#3b82f6}.notification-content{align-items:flex-start;display:flex;gap:12px}.notification-icon{flex-shrink:0;font-size:20px}.notification-message{color:#1f2937;line-height:1.5}.notification-close{background:#0000;border:none;color:#9ca3af;cursor:pointer;flex-shrink:0;margin-left:auto;padding:0}.notification-close:hover{color:#1f2937}@media (max-width:768px){.lesson-page{padding:12px}.lesson-header{align-items:flex-start;flex-direction:column;gap:12px;padding:16px}.lesson-title{font-size:24px}.lesson-content{gap:16px}.video-container{min-height:300px}.editor-actions{flex-direction:column;width:100%}.editor-actions .btn{justify-content:center;width:100%}.lesson-navigation{flex-direction:column;gap:12px}.btn-nav{justify-content:center;width:100%}.btn-nav.next,.btn-nav.prev{margin:0}}.lesson-page ::-webkit-scrollbar{height:10px;width:10px}.lesson-page ::-webkit-scrollbar-track{background:#f3f6fb;border-radius:5px}.lesson-page ::-webkit-scrollbar-thumb{background:#cfd9e8;border-radius:5px}.lesson-page ::-webkit-scrollbar-thumb:hover{background:#a8b6cc}.lesson-page ::selection{background:#3d6df633}.course-page{background:linear-gradient(135deg,#f9fbff,#f3f6fb);color:#1f2937;margin:0 auto;max-width:1200px;min-height:100vh;padding:30px 40px}.course-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #e7ebf2;border-radius:20px;box-shadow:0 10px 30px #0f172a0f;margin-bottom:30px;padding:35px}.back-btn{align-items:center;background:#f7f8fc;border:1px solid #e7ebf2;border-radius:12px;color:#6b7280;display:inline-flex;font-size:1rem;font-weight:600;gap:8px;margin-bottom:25px;padding:10px 18px;text-decoration:none;transition:all .2s}.back-btn:hover{background:#e8f0ff;border-color:#5b8cff;color:#0f172a;transform:translateX(-3px)}.course-info{margin:20px 0 30px}.course-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3d6df6,#5b8cff);-webkit-background-clip:text;background-clip:text;font-size:2.8rem;font-weight:800;line-height:1.2;margin:0 0 15px}.course-description{color:#4b5563;font-size:1.2rem;line-height:1.7;max-width:900px}.course-meta{align-items:center;flex-wrap:wrap;gap:25px}.course-level{border-radius:25px;display:inline-block;font-size:.95rem;font-weight:700;letter-spacing:.06em;padding:10px 20px}.course-level.beginner{background:linear-gradient(135deg,#22c55e26,#15803d26);border:2px solid #22c55e4d;color:#059669}.course-level.intermediate{background:linear-gradient(135deg,#f59e0b26,#b4530926);border:2px solid #f59e0b4d;color:#b45309}.course-level.advanced{background:linear-gradient(135deg,#ef444426,#b91c1c26);border:2px solid #ef44444d;color:#dc2626}.lessons-count{align-items:center;background:#f4f6fb;border:1px solid #e7ebf2;border-radius:25px;color:#1f2937;display:flex;font-size:1.1rem;font-weight:600;gap:8px;padding:10px 18px}.start-section{border-top:1px solid #e7ebf2;display:flex;flex-direction:column;gap:15px;margin-top:30px;padding-top:25px}.start-btn{align-items:center;align-self:flex-start;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:10px;box-shadow:0 4px 12px #22c55e33;color:#fff;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:8px;justify-content:center;padding:11px 22px;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.start-btn:hover:not(:disabled){box-shadow:0 6px 16px #22c55e47;filter:brightness(1.04);transform:translateY(-1px)}.start-btn:disabled{background:#cbd5e1;cursor:not-allowed;opacity:.6}.no-lessons-hint{color:#6b7280;font-size:1rem;font-style:italic;margin:10px 0 0}.lessons-section{background:#fff;border:1px solid #e7ebf2;border-radius:20px;box-shadow:0 10px 30px #0f172a0f;padding:32px}.lessons-section h2{border-bottom:1px solid #e7ebf2;color:#0f172a;font-size:1.4rem;font-weight:700;margin:0 0 20px;padding-bottom:14px}.lessons-blocks{display:flex;flex-direction:column}.lesson-block{border-bottom:1px solid #eef1f6;transition:background .15s ease}.lesson-block:first-child{border-top:1px solid #eef1f6}.lesson-block-header{align-items:baseline;background:#0000;border:none;cursor:pointer;display:flex;gap:20px;padding:22px 6px;text-align:left;transition:background .15s ease;width:100%}.lesson-block-header:hover{background:#fafbfd}.lesson-block-num{font-feature-settings:"tnum";color:#d5dae3;flex-shrink:0;font-size:1.9rem;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.02em;transition:color .2s ease;width:44px}.lesson-block.open .lesson-block-num{color:#3d6df6}.lesson-block-heading{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.lesson-block-toprow{align-items:baseline;display:flex;flex-wrap:wrap;gap:10px}.lesson-block-label{color:#14181f;font-size:1.05rem;font-weight:700}.lesson-block-subtitle{color:#8792a3;font-size:.85rem;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-block-count{color:#a5adba;font-weight:500}.lesson-block-count,.lesson-block-mastery{flex-shrink:0;font-size:.78rem;white-space:nowrap}.lesson-block-mastery{color:#8b7cf6;font-weight:600}.lesson-block-chevron{align-self:center;color:#c2c9d4;flex-shrink:0;transition:transform .25s cubic-bezier(.4,0,.2,1),color .2s ease}.lesson-block.open .lesson-block-chevron{color:#3d6df6;transform:rotate(180deg)}.lessons-list{animation:fadeIn .25s ease;display:flex;flex-direction:column;gap:4px;padding:2px 6px 20px 70px}.lesson-item{align-items:center;background:#0000;border-radius:10px;cursor:pointer;display:flex;gap:14px;padding:11px 14px;transition:background .15s ease,transform .15s ease}.lesson-item:hover{background:#f7f9fd;transform:translateX(2px)}.lesson-item:active{transform:translateX(2px) scale(.995)}.lesson-number{font-feature-settings:"tnum";align-items:center;color:#b7c0cf;display:flex;flex-shrink:0;font-size:.82rem;font-variant-numeric:tabular-nums;font-weight:700;justify-content:center;width:22px}.lesson-item:hover .lesson-number{color:#3d6df6}.lesson-item-content{display:flex;flex:1 1;flex-direction:column;gap:3px;justify-content:center;min-width:0}.lesson-item-content h3{color:#1f2937;font-size:.95rem;font-weight:600}.lesson-item-content h3,.lesson-item-content p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-item-content p{color:#8892a0;font-size:.8rem;line-height:1.4}.lesson-meta{display:flex;flex-wrap:wrap;gap:20px;margin-top:12px}.lesson-duration,.lesson-language{align-items:center;background:#eef1f6;border-radius:20px;color:#6b7280;display:flex;font-size:.95rem;gap:6px;padding:6px 12px}.lesson-db-badge{border:1px solid #e7ebf2;color:#9099a8;font-size:.68rem;letter-spacing:.03em;padding:3px 9px}.lesson-db-badge,.lesson-route-badge{border-radius:999px;flex-shrink:0;font-weight:600;white-space:nowrap}.lesson-route-badge{font-size:.72rem;padding:4px 10px}.lesson-route-skip{background:#22c55e1a;border:1px solid #22c55e40;color:#16a34a}.lesson-route-focus{background:#f59e0b1a;border:1px solid #f59e0b40;color:#b45309}.lesson-subskills{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.lesson-subskill-chip{background:#f3edff;border:1px solid #e4d6fb;border-radius:999px;color:#6d28d9;font-size:.72rem;font-weight:600;padding:2px 8px;white-space:nowrap}.diagnostic-banner{align-items:center;background:linear-gradient(135deg,#eef4ff,#f3edff);border:1px solid #dde6fb;border-radius:18px;display:flex;gap:20px;justify-content:space-between;margin-bottom:24px;padding:22px 28px}.diagnostic-banner-text h3{color:#0f172a;font-size:1.1rem;margin:0 0 6px}.diagnostic-banner-text p{color:#4b5563;font-size:.9rem;margin:0}.diagnostic-banner-btn{background:linear-gradient(135deg,#3d6df6,#5b8cff);border:none;border-radius:10px;box-shadow:0 8px 20px #3d6df638;color:#fff;cursor:pointer;flex-shrink:0;font-size:.92rem;font-weight:700;padding:12px 22px;transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap}.diagnostic-banner-btn:hover{box-shadow:0 10px 24px #3d6df64d;transform:translateY(-2px)}@media (max-width:768px){.diagnostic-banner{align-items:flex-start;flex-direction:column}.diagnostic-banner-btn{text-align:center;width:100%}}.lesson-arrow{align-items:center;color:#c2c9d4;display:flex;flex-shrink:0;height:24px;justify-content:center;transition:color .18s ease,transform .18s ease;width:24px}.lesson-item:hover .lesson-arrow{color:#3d6df6;transform:translateX(2px)}.no-lessons{background:#f4f6fb;border:2px dashed #cfd9e8;border-radius:15px;padding:50px 30px;text-align:center}.no-lessons-icon{color:#94a3b8;font-size:3.5rem;margin-bottom:20px}.no-lessons h3{color:#1f2937;font-size:1.5rem;margin-bottom:10px}.no-lessons p{color:#6b7280;font-size:1.1rem;margin-bottom:25px}.back-link{background:linear-gradient(135deg,#3b82f6,#6366f1);border-radius:10px;color:#fff;display:inline-block;font-weight:600;padding:12px 24px;text-decoration:none;transition:all .3s}.back-link:hover{background:linear-gradient(135deg,#2563eb,#4f46e5);box-shadow:0 8px 20px #3b82f64d;transform:translateY(-2px)}.course-page.error,.course-page.loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:70vh;text-align:center}.loading-spinner{border-top-color:#5b8cff}.error-icon{color:#f87171;font-size:3.5rem;margin-bottom:20px}.error-actions{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-top:25px}.retry-btn{font-size:1rem;padding:12px 24px}.retry-btn:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);box-shadow:0 8px 20px #dc26264d}@media (max-width:768px){.course-page{padding:20px 15px}.course-header,.lessons-section{padding:25px 20px}.course-title{font-size:2rem}.course-description{font-size:1.1rem}.lesson-item{gap:10px;padding:10px 12px}.lesson-db-badge,.lesson-item-content p{display:none}.lesson-block-header{gap:10px;padding:14px 16px}.lesson-block-num{font-size:1.4rem;width:30px}.lessons-list{padding-left:40px}.lesson-block-subtitle{display:none}.lesson-meta{justify-content:center}.error-actions{align-items:center;flex-direction:column}.start-btn{max-width:100%}}.lessons-section:before{font-size:3rem;opacity:.1;position:absolute;right:40px;top:40px;z-index:0}.course-header{animation:fadeIn .6s ease forwards}.lessons-section{animation:fadeIn .8s ease forwards}.lesson-item{animation:fadeIn .6s ease forwards}.lesson-item:first-child{animation-delay:.1s}.lesson-item:nth-child(2){animation-delay:.2s}.lesson-item:nth-child(3){animation-delay:.3s}.lesson-item:nth-child(4){animation-delay:.4s}.lesson-item:nth-child(5){animation-delay:.5s}.lesson-editor-section{animation:fadeIn .5s ease forwards;background:#fff;border:1px solid #e7ebf2;border-radius:20px;box-shadow:0 10px 30px #0f172a0f;margin-top:30px;padding:30px}.editor-header{align-items:center;border-bottom:3px solid #5b8cff;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.editor-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3d6df6,#5b8cff);-webkit-background-clip:text;background-clip:text;color:#0f172a;font-size:1.6rem;font-weight:700;margin:0}.close-editor-btn{background:#f4f6fb;border:1px solid #e7ebf2;border-radius:10px;color:#6b7280;cursor:pointer;font-size:1.1rem;padding:8px 14px;transition:all .3s}.close-editor-btn:hover{background:#ef44441a;border-color:#ef4444;color:#dc2626}.editor-body{display:flex;flex-direction:column;gap:16px}.editor-actions{display:flex;gap:12px}.run-code-btn{align-items:center;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:700;gap:8px;padding:12px 28px;transition:all .3s}.run-code-btn:hover{box-shadow:0 8px 20px #22c55e4d;transform:translateY(-2px)}.reset-code-btn{background:#f4f6fb;border:2px solid #e7ebf2;border-radius:10px;color:#6b7280;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 28px;transition:all .3s}.reset-code-btn:hover{background:#e8f0ff;border-color:#5b8cff;color:#1f2937}.editor-output{margin-top:8px}.editor-output h4{color:#1f2937;font-size:1rem;margin:0 0 12px}.output-placeholder{background:#f4f6fb;border:2px dashed #cfd9e8;border-radius:12px;padding:30px;text-align:center}.output-placeholder p{color:#94a3b8;font-size:1rem;margin:0}@media (max-width:768px){.course-page{padding:20px 15px}.course-header,.lessons-section{padding:25px 20px}.course-title{font-size:2rem}.course-description{font-size:1.1rem}.lesson-item{gap:10px;padding:10px 12px}.lesson-db-badge,.lesson-item-content p{display:none}.lesson-block-header{gap:10px;padding:14px 16px}.lesson-block-num{font-size:1.4rem;width:30px}.lessons-list{padding-left:40px}.lesson-block-subtitle{display:none}.lesson-meta{justify-content:center}.error-actions{align-items:center;flex-direction:column}.start-btn{max-width:100%}.lesson-editor-section{padding:20px}.editor-header h2{font-size:1.3rem}.editor-actions{flex-direction:column}.reset-code-btn,.run-code-btn{justify-content:center;width:100%}}.video-fullscreen-overlay{align-items:center;animation:fadeIn .2s ease;background:#000;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:3000}.video-fullscreen-player{background:#000;height:100vh;object-fit:contain;outline:none;width:100vw}.video-close-btn{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;border:2px solid #ffffff4d;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:48px;justify-content:center;position:fixed;right:20px;top:20px;transition:all .3s;width:48px;z-index:3010}.video-close-btn:hover{background:#ef4444b3;border-color:#ef4444;transform:rotate(90deg) scale(1.1)}.video-close-btn.hidden{opacity:0;pointer-events:none}.no-video-placeholder{align-items:center;color:#94a3b8;display:flex;flex-direction:column;font-size:1.2rem;gap:20px;justify-content:center}.no-video-placeholder button{background:linear-gradient(135deg,#3b82f6,#6366f1);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:14px 32px;transition:all .3s}.no-video-placeholder button:hover{box-shadow:0 8px 20px #3b82f64d;transform:translateY(-2px)}.lc-overlay{align-items:center;background:#0f172a8c;display:flex;inset:0;justify-content:center;padding:28px;position:fixed;z-index:3000}.lc-panel{background:#fff;border-radius:20px;box-shadow:0 30px 70px #0f172a59;display:flex;flex-direction:column;max-height:90vh;max-width:820px;overflow:hidden;width:100%}.lc-header{align-items:flex-start;border-bottom:1px solid #e7ebf2;display:flex;flex-shrink:0;gap:16px;justify-content:space-between;padding:22px 28px}.lc-eyebrow{color:#3d6df6;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.06em;margin-bottom:4px;text-transform:uppercase}.lc-title{color:#0f172a;font-size:1.4rem;font-weight:700;line-height:1.3;margin:0}.lc-close-btn{align-items:center;background:#f7f8fc;border:1px solid #e7ebf2;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;font-size:15px;height:34px;justify-content:center;transition:background .15s ease,color .15s ease;width:34px}.lc-close-btn:hover{background:#fee2e2;color:#b91c1c}.lc-body{flex:1 1;overflow-y:auto;padding:8px 28px 28px}.lc-hook{align-items:flex-start;background:linear-gradient(135deg,#eef4ff,#f3edff);border:1px solid #dbe6ff;border-radius:14px;display:flex;gap:14px;margin:12px 0 28px;padding:18px 20px}.lc-hook-icon{flex-shrink:0;font-size:1.4rem;line-height:1;margin-top:2px}.lc-hook-title{color:#17233a;font-size:1.02rem;font-weight:700;margin-bottom:6px}.lc-hook-text{color:#45536b;font-size:.92rem;line-height:1.6;margin:0}.lc-h2{border-top:1px solid #eef1f6;color:#0f172a;font-size:1.3rem;font-weight:700;margin:28px 0 12px;padding-top:20px}.lc-body>.lc-h2:first-child{border-top:none;margin-top:16px;padding-top:0}.lc-h3{color:#1f2937;font-size:1.05rem;font-weight:700;margin:22px 0 10px}.lc-p{color:#374151;font-size:.98rem;line-height:1.75;margin:0 0 14px}.lc-body>p:first-child em{color:#6b7280;display:block;font-size:1rem}.lc-list{display:flex;flex-direction:column;gap:6px;margin:0 0 14px;padding-left:22px}.lc-list-item{color:#374151;font-size:.98rem;line-height:1.6}.lc-inline-code{background:#eef1f6;border-radius:5px;color:#b45309;font-family:Cascadia Code,Consolas,SFMono-Regular,Menlo,monospace;font-size:.85em;padding:2px 6px}.lc-callout{background:#fffbeb;border:1px solid #f59e0b4d;border-left:3px solid #f59e0b;border-radius:10px;margin:0 0 16px;padding:12px 16px}.lc-callout p{color:#78350f;font-size:.92rem;line-height:1.6;margin:0}.lc-table-wrap{border:1px solid #e7ebf2;border-radius:10px;margin:0 0 18px;overflow-x:auto}.lc-table{border-collapse:collapse;font-size:.9rem;width:100%}.lc-table th{background:#f7f8fc;border-bottom:1px solid #e7ebf2;color:#1f2937;font-weight:700;padding:9px 14px;text-align:left}.lc-table td{border-bottom:1px solid #f1f3f8;color:#374151;padding:8px 14px}.lc-table tr:last-child td{border-bottom:none}.lc-code-block{background:#1f2937;border-radius:10px;margin:0 0 18px;overflow:hidden}.lc-code-head{align-items:center;background:#111827;color:#9ca3af;display:flex;font-size:.7rem;font-weight:700;justify-content:space-between;letter-spacing:.06em;padding:8px 14px;text-transform:uppercase}.lc-copy-btn{background:#0000;border:1px solid #374151;border-radius:999px;color:#d1d5db;cursor:pointer;font-size:.7rem;font-weight:600;letter-spacing:normal;padding:3px 10px;text-transform:none;transition:background .15s ease,color .15s ease}.lc-copy-btn:hover{background:#374151;color:#fff}.lc-code-pre{color:#e5e7eb;font-family:Cascadia Code,Consolas,SFMono-Regular,Menlo,monospace;font-size:.85rem;line-height:1.6;margin:0;overflow-x:auto;padding:14px 16px}.lc-footer{background:#f7f8fc;border-top:1px solid #e7ebf2;display:flex;flex-shrink:0;justify-content:flex-end;padding:16px 28px}.lc-continue-btn{background:linear-gradient(135deg,#3d6df6,#5b8cff);border:none;border-radius:10px;box-shadow:0 4px 12px #3d6df633;color:#fff;cursor:pointer;font-size:.92rem;font-weight:600;padding:11px 22px;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.lc-continue-btn:hover{box-shadow:0 6px 16px #3d6df647;filter:brightness(1.04);transform:translateY(-1px)}@media (max-width:640px){.lc-overlay{padding:0}.lc-panel{border-radius:0;height:100%;max-height:none;max-width:none}.lc-header{padding:16px 18px}.lc-body{padding:8px 18px 24px}.lc-footer{padding:14px 18px}.lc-continue-btn{width:100%}}.join-diagram{background:#fafbfd;border:1px solid #e7ebf2;border-radius:10px;margin-top:10px;padding:12px}.join-diagram-label{color:#3d6df6;font-size:11px;font-weight:700;letter-spacing:.02em;margin-bottom:8px}.join-diagram-tables{align-items:stretch;display:flex}.join-table{flex:1 1;min-width:0}.join-table-header{border-bottom:1px solid #e0e4ec;color:#6b7280;font-size:10.5px;font-weight:700;height:26px;letter-spacing:.04em;text-transform:uppercase}.join-row,.join-table-header{align-items:center;display:flex}.join-row{border-bottom:1px solid #eef1f6;color:#1f2937;font-size:11.5px;overflow:hidden;padding-right:4px;text-overflow:ellipsis;white-space:nowrap}.join-row-dim{color:#b7c0cf;text-decoration:line-through;-webkit-text-decoration-color:#d5dae3;text-decoration-color:#d5dae3}.join-row-null{border-style:dashed;color:#d97706;font-style:italic}.join-diagram-svg{flex-shrink:0;overflow:visible}.join-line{stroke:#3d6df6;stroke-width:1.5;opacity:.75}.join-line-null{stroke:#f59e0b;stroke-dasharray:3 3}.join-diagram-caption{color:#6b7280;font-size:11px;line-height:1.5;margin:10px 0 0}.join-result-table{border:1px solid #e7ebf2;border-radius:8px;margin-top:10px;overflow:hidden}.join-result-table table{border-collapse:collapse;width:100%}.join-result-table th{background:#f4f6fb;color:#6b7280;font-size:10px;letter-spacing:.03em;padding:5px 8px;text-align:left;text-transform:uppercase}.join-result-table td{border-top:1px solid #eef1f6;color:#1f2937;font-size:11.5px;padding:5px 8px}.join-result-null-row td{color:#d97706;font-style:italic}.ws2-page-vscode .join-diagram{background:#252526;border-color:#3c3c3c}.ws2-page-vscode .join-diagram-label{color:#4fc1ff}.ws2-page-vscode .join-table-header{border-bottom-color:#3c3c3c;color:#9d9d9d}.ws2-page-vscode .join-row{border-bottom-color:#333;color:#d4d4d4}.ws2-page-vscode .join-row-dim{color:#6a6a6a;-webkit-text-decoration-color:#4a4a4a;text-decoration-color:#4a4a4a}.ws2-page-vscode .join-row-null{color:#e0af68}.ws2-page-vscode .join-line{stroke:#4fc1ff}.ws2-page-vscode .join-line-null{stroke:#e0af68}.ws2-page-vscode .join-diagram-caption{color:#9d9d9d}.ws2-page-vscode .join-result-table{border-color:#3c3c3c}.ws2-page-vscode .join-result-table th{background:#2d2d2d;color:#9d9d9d}.ws2-page-vscode .join-result-table td{border-top-color:#333;color:#d4d4d4}.ws2-page-vscode .join-result-null-row td{color:#e0af68}.ws2-theme-light .join-diagram{background:#f7f7f7;border-color:#e2e2e2}.ws2-theme-light .join-diagram-label{color:#005fb8}.ws2-theme-light .join-line{stroke:#005fb8}.ws2-page{background:radial-gradient(1200px 600px at 15% -10%,#eef4ff 0,#0000 60%),radial-gradient(1000px 500px at 100% 0,#f3ecff 0,#0000 55%),linear-gradient(180deg,#f7f8fc,#f2f4fa);bottom:0;display:flex;flex-direction:column;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;left:0;overflow:hidden;position:fixed;right:0;top:0;z-index:9999}.ws2-topbar{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd9;border-bottom:1px solid #e7ebf2;box-shadow:0 1px 0 #0f172a08;display:flex;flex-shrink:0;gap:14px;padding:12px 20px}.ws2-back-btn{background:#fff;border:1px solid #e7ebf2;border-radius:999px;box-shadow:0 1px 2px #0f172a0a;color:#1f2937;cursor:pointer;font-size:13px;font-weight:600;padding:7px 16px;transition:background .18s ease,border-color .18s ease,transform .18s ease}.ws2-back-btn:hover{background:#eef4ff;border-color:#cddcff;transform:translateX(-2px)}.ws2-breadcrumb{color:#8892a0;flex:1 1;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws2-breadcrumb-sep{color:#cbd2dc;margin:0 8px}.ws2-breadcrumb-current{color:#1f2937;font-weight:700}.ws2-lang-badge{background:linear-gradient(135deg,#3d6df6,#5b8cff);box-shadow:0 4px 12px #3d6df647;color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em}.ws2-db-badge,.ws2-lang-badge{border-radius:999px;padding:5px 12px}.ws2-db-badge{background:#f4f6fb;border:1px solid #e7ebf2;color:#4b5568;font-size:12px;font-weight:600;margin-right:10px;white-space:nowrap}.ws2-body{gap:4px;min-height:0;padding:16px}.ws2-body,.ws2-sqlwindow{display:flex;flex:1 1;overflow:hidden}.ws2-sqlwindow{background:#fff;border:1px solid #e7ebf2;border-radius:16px;box-shadow:0 20px 45px #0f172a1a;flex-direction:column;min-width:0}.ws2-resizer{cursor:col-resize;flex-shrink:0;margin:0 -3px;position:relative;width:14px;z-index:1}.ws2-resizer:after{background:#0000;border-radius:999px;bottom:24px;content:"";left:50%;position:absolute;top:24px;transform:translateX(-50%);transition:background .18s ease;width:4px}.ws2-resizer:active:after,.ws2-resizer:hover:after{background:#cddcff}.ws2-toolbar{align-items:center;background:#fff;border-bottom:1px solid #f0f2f7;display:flex;flex-shrink:0;gap:8px;padding:10px 14px}.ws2-toolbar-spacer{flex:1 1}.ws2-btn{align-items:center;background:#f4f6fb;border:1px solid #e7ebf2;border-radius:10px;color:#45536b;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:7px;padding:8px 14px;transition:background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease}.ws2-btn:hover:not(:disabled){background:#e8ecf3;transform:translateY(-1px)}.ws2-btn:active:not(:disabled){transform:translateY(0)}.ws2-btn:disabled{cursor:not-allowed;opacity:.5}.ws2-btn kbd{background:#ffffff80;border:1px solid #fff6;border-radius:4px;color:inherit;font-family:inherit;font-size:10px;margin-left:2px;opacity:.7;padding:1px 5px}.ws2-btn-icon{font-size:12px}.ws2-btn-execute{background:linear-gradient(135deg,#22c55e,#16a34a);border-color:#0000;box-shadow:0 6px 16px #22c55e4d;color:#fff}.ws2-btn-execute:hover:not(:disabled){box-shadow:0 8px 20px #22c55e61;filter:brightness(1.05)}.ws2-btn-execute kbd{border-color:#ffffff80}.ws2-btn-ai{background:linear-gradient(135deg,#f3edff,#ede4ff);border-color:#ddd0fb;color:#6d28d9}.ws2-btn-ai:hover:not(:disabled){background:linear-gradient(135deg,#ede4ff,#e2d4ff)}.ws2-toolbar-vscode{background:#252526;border-bottom:1px solid #3c3c3c}.ws2-toolbar-vscode .ws2-btn:not(.ws2-btn-execute):not(.ws2-btn-ai){background:#2d2d2d;border-color:#3c3c3c;color:#ccc}.ws2-toolbar-vscode .ws2-btn:not(.ws2-btn-execute):not(.ws2-btn-ai):hover:not(:disabled){background:#3c3c3c}.ws2-toolbar-vscode .ws2-btn-ai{background:#2d2d2d;border:1.5px solid #7c5cff;box-shadow:none;color:#c4b5fd}.ws2-toolbar-vscode .ws2-btn-ai:hover:not(:disabled){background:#34294f;border-color:#9478ff}.ws2-toolbar-vscode .ws2-shortcut-hint{color:#858585}.ws2-theme-toggle-btn{align-items:center;background:#2d2d2d;border:1px solid #3c3c3c;border-radius:8px;color:#ccc;cursor:pointer;display:flex;flex-shrink:0;height:30px;justify-content:center;margin-right:10px;transition:background .15s ease,color .15s ease;width:30px}.ws2-theme-toggle-btn:hover{background:#3c3c3c;color:#fff}.ws2-theme-light .ws2-theme-toggle-btn{background:#f3f3f3;border-color:#e5e5e5;color:#3b3b3b}.ws2-theme-light .ws2-theme-toggle-btn:hover{background:#e8e8e8;color:#1e1e1e}.ws2-shortcut-hint{color:#b0b8c4;font-size:11px;font-weight:500}.ws2-editor-pane{border-bottom:1px solid #f0f2f7;height:42%;max-height:70vh;min-height:160px;overflow:hidden;resize:vertical}.ws2-editor-pane .cm-editor{height:100%}.ws2-editor-pane-vscode{background:#1e1e1e;border-bottom-color:#3c3c3c;height:70%}.ws2-editor-pane-vscode .cm-content,.ws2-editor-pane-vscode .cm-editor,.ws2-editor-pane-vscode .cm-gutter,.ws2-editor-pane-vscode .cm-gutters,.ws2-editor-pane-vscode .cm-scroller{background-color:#1e1e1e!important}.ws2-results-pane{background:#fff;display:flex;flex:1 1;flex-direction:column;min-height:0}.ws2-results-tabs{background:#fbfbfd;border-bottom:1px solid #f0f2f7;display:flex;flex-shrink:0;padding:0 6px}.ws2-tab{color:#9aa5b5;font-size:12.5px;font-weight:600;padding:10px 16px 9px;position:relative}.ws2-tab.active{color:#1f2937}.ws2-tab.active:after{background:linear-gradient(90deg,#3d6df6,#5b8cff);border-radius:999px;bottom:-1px;content:"";height:2px;left:16px;position:absolute;right:16px}.ws2-results-body{flex:1 1;min-height:0;overflow:auto}.ws2-grid{border-collapse:collapse;font-family:Cascadia Code,Consolas,SFMono-Regular,Menlo,monospace;font-size:13px;width:100%}.ws2-grid thead th{background:#f7f8fc;border-bottom:2px solid #dfe6f5;border-right:1px solid #eef1f6;color:#45536b;font-weight:700;padding:9px 14px;position:-webkit-sticky;position:sticky;text-align:left;top:0;white-space:nowrap;z-index:1}.ws2-grid tbody td{border-bottom:1px solid #f1f3f8;border-right:1px solid #f6f7fa;color:#1f2937;padding:7px 14px;white-space:nowrap}.ws2-grid tbody tr:nth-child(2n){background:#fafbfd}.ws2-grid tbody tr:hover{background:#eef4ff}.ws2-grid-rownum{background:#f7f8fc!important;color:#b0b8c4;font-weight:600;text-align:right;-webkit-user-select:none;user-select:none}.ws2-null{color:#b0b8c4;font-style:italic}.ws2-placeholder{color:#9aa5b5;font-size:13.5px;line-height:1.6;padding:40px 24px;text-align:center}.ws2-output{color:#1f2937;font-size:13px;line-height:1.65;margin:0;padding:18px;white-space:pre-wrap;word-break:break-word}.ws2-output,.ws2-statusbar{font-family:Cascadia Code,Consolas,SFMono-Regular,Menlo,monospace}.ws2-statusbar{align-items:center;background:#fbfbfd;border-top:1px solid #f0f2f7;color:#6b7280;display:flex;flex-shrink:0;font-size:12px;gap:8px;overflow:hidden;padding:8px 16px;text-overflow:ellipsis;white-space:nowrap}.ws2-statusbar:before{background:#cbd2dc;border-radius:50%;content:"";flex-shrink:0;height:7px;width:7px}.ws2-statusbar-success{color:#15803d}.ws2-statusbar-success:before{background:#22c55e;box-shadow:0 0 0 3px #22c55e2e}.ws2-statusbar-error{color:#b91c1c}.ws2-statusbar-error:before{background:#ef4444;box-shadow:0 0 0 3px #ef44442e}.ws2-statusbar-loading{color:#b45309}.ws2-statusbar-loading:before{animation:ws2Pulse 1.2s ease-in-out infinite;background:#f59e0b;box-shadow:0 0 0 3px #f59e0b2e}@keyframes ws2Pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.ws2-ai-panel{background:#fff;border:1px solid #e7ebf2;border-radius:16px;box-shadow:0 20px 45px #4c28a01a;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;position:relative}.ws2-ai-header{align-items:center;background:linear-gradient(180deg,#fbfaff,#fff);border-bottom:1px solid #f0f2f7;color:#27272a;display:flex;flex-shrink:0;font-size:13.5px;font-weight:700;justify-content:space-between;min-height:36px;padding:14px 18px}.ws2-ai-header-title{align-items:center;display:flex;gap:9px}.ws2-ai-avatar{align-items:center;background:#3d6df6;border-radius:9px;color:#fff;display:flex;flex-shrink:0;height:26px;justify-content:center;width:26px}.ws2-ai-badge{background:#f4f6fb;border:1px solid #eef1f6;border-radius:999px;color:#6b7280;font-size:10px;font-weight:700;letter-spacing:.05em;padding:3px 10px}.ws2-ai-header-actions{align-items:center;display:flex;gap:8px}.ws2-sound-toggle{align-items:center;background:#f7f8fc;border:1px solid #eef1f6;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;height:26px;justify-content:center;line-height:1;transition:background .15s ease,transform .15s ease,color .15s ease;width:26px}.ws2-sound-toggle:hover{background:#eef1f6;color:#3d6df6;transform:translateY(-1px)}.ws2-inline-icon{display:inline-block;margin-right:3px;vertical-align:-2px}.ws2-ai-progress{background:linear-gradient(180deg,#fbfaff,#fff);border-bottom:1px solid #f0f2f7;flex-shrink:0;padding:10px 18px 12px}.ws2-ai-progress-label{color:#6d28d9;display:block;font-size:11.5px;font-weight:700;margin-bottom:6px}.ws2-ai-progress-track{background:#eee6ff;border-radius:999px;height:6px;overflow:hidden}.ws2-ai-progress-fill{background:linear-gradient(90deg,#8b5cf6,#6366f1);border-radius:999px;height:100%;transition:width .5s cubic-bezier(.22,.9,.36,1)}.ws2-confetti{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:6}.ws2-confetti-piece{animation-fill-mode:forwards;animation-name:ws2ConfettiFall;animation-timing-function:cubic-bezier(.21,.86,.53,1);border-radius:2px;height:7px;opacity:.95;position:absolute;top:-12px;width:7px}@keyframes ws2ConfettiFall{0%{opacity:1;transform:translate(0) rotate(0deg)}to{opacity:0;transform:translate(var(--ws2-drift),260px) rotate(var(--ws2-rotate))}}.ws2-ai-messages{background:#fff;display:flex;flex:1 1;flex-direction:column;gap:16px;overflow-y:auto;padding:18px}.ws2-msg{align-items:flex-start;animation:ws2MsgSlideIn .25s ease;display:flex;gap:8px;max-width:100%}@keyframes ws2MsgSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ws2-msg-avatar{align-items:center;background:#3d6df6;border-radius:8px;color:#fff;display:flex;flex-shrink:0;height:24px;justify-content:center;margin-top:2px;width:24px}.ws2-msg-user{flex-direction:row-reverse}.ws2-msg-user .ws2-msg-bubble{background:linear-gradient(135deg,#eef4ff,#e8f0ff);border:1px solid #d9e6ff;border-radius:16px 16px 4px 16px;max-width:86%;padding:10px 14px}.ws2-msg-assistant{align-self:stretch}.ws2-msg-assistant .ws2-msg-bubble{background:#f9fafc;border:1px solid #f0f2f7;border-radius:4px 16px 16px 16px;flex:1 1;min-width:0;padding:12px 15px}.ws2-msg-assistant .ws2-msg-bubble-task{background:linear-gradient(135deg,#fff8ec,#fff1d9);border:1.5px solid #fbcf83;box-shadow:0 4px 14px #f59e0b1f}.ws2-msg-task-label{background:#fde8c2;border-radius:999px;color:#92400e;display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.05em;margin-bottom:8px;padding:3px 10px;text-transform:uppercase}.ws2-msg-assistant .ws2-msg-bubble-selfcheck{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1.5px solid #c4b5fd;box-shadow:0 4px 14px #8b5cf61f}.ws2-msg-selfcheck-label{background:#ddd6fe;border-radius:999px;color:#5b21b6;display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.05em;margin-bottom:8px;padding:3px 10px;text-transform:uppercase}.ws2-msg-assistant .ws2-msg-bubble-answer{background:#f9fafc;border:1px dashed #d4d4d8}.ws2-msg-answer-label{color:#52525b;display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.05em;margin-bottom:6px;text-transform:uppercase}.ws2-selfcheck-reveal-btn{align-items:center;background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;border-radius:999px;box-shadow:0 4px 12px #6366f140;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;font-weight:700;gap:6px;margin-top:10px;padding:7px 14px;transition:box-shadow .18s ease,transform .15s ease}.ws2-selfcheck-reveal-btn:hover{box-shadow:0 6px 16px #6366f152;transform:translateY(-1px)}.ws2-selfcheck-checked{align-items:center;color:#7c3aed;display:inline-flex;font-size:12px;font-weight:700;gap:5px;margin-top:10px}.ws2-msg-ai-title{color:#45536b;font-size:12px;font-weight:800;margin-bottom:6px}.ws2-diff-block{border:1px solid #e2e8f0;border-radius:8px;font-family:Cascadia Code,Consolas,SFMono-Regular,Menlo,monospace;font-size:12.5px;margin:10px 0 4px;overflow:hidden}.ws2-diff-line{padding:4px 10px;white-space:pre-wrap;word-break:break-word}.ws2-diff-line-removed{background:#fef2f2;color:#b91c1c}.ws2-diff-line-added{background:#f0fdf4;color:#15803d}.ws2-assist-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.ws2-assist-action-btn{border-radius:999px;cursor:pointer;font-size:12px;font-weight:700;padding:6px 13px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.ws2-assist-action-primary{background:#3d6df6;border:none;box-shadow:0 4px 12px #3d6df640;color:#fff}.ws2-assist-action-primary:hover{box-shadow:0 6px 16px #3d6df652;transform:translateY(-1px)}.ws2-assist-action-secondary{background:#f4f6fb;border:1px solid #e7ebf2;color:#45536b}.ws2-assist-action-secondary:hover{background:#e8ecf3}.ws2-assist-action-danger{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.ws2-assist-action-danger:hover{background:#fee2e2}@keyframes ws2HintCardIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ws2-hint-card{animation:ws2HintCardIn .18s ease-out both;background:#fafafa;border:1px solid #eceef2;border-radius:10px;padding:16px 18px;width:100%}.ws2-hint-card-header{align-items:center;display:flex;gap:7px;margin-bottom:10px}.ws2-hint-card-mark{color:#8b7cf6;font-size:12px;line-height:1}.ws2-hint-card-label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.01em}.ws2-hint-level{align-items:center;display:flex;gap:5px;margin-left:auto}.ws2-hint-level-dot{background:#e2e4ea;border-radius:50%;height:5px;width:5px}.ws2-hint-level-dot-filled{background:#8b7cf6}.ws2-hint-level-text{color:#8b7cf6;font-size:10.5px;font-weight:700;letter-spacing:.02em}.ws2-hint-card-text{color:#27272a;font-size:13.5px;line-height:1.7;word-break:break-word}.ws2-hint-card-footer{align-items:center;border-top:1px solid #eceef2;display:flex;gap:10px;margin-top:14px;padding-top:12px}.ws2-hint-card-sep{color:#d4d4d8;font-size:12px}.ws2-hint-card-link{background:none;border:none;color:#8a8a92;cursor:pointer;font-size:12.5px;font-weight:500;padding:2px 0;transition:color .15s ease}.ws2-hint-card-link:hover:not(:disabled){color:#45454d}.ws2-hint-card-link:disabled{cursor:not-allowed;opacity:.5}.ws2-hint-card-link-primary{color:#7c6cf0}.ws2-hint-card-link-primary:hover:not(:disabled){color:#6552e8}.ws2-hint-card-dismissed{opacity:.55}.ws2-hint-card-done{border-top:1px solid #eceef2;color:#a1a1aa;font-size:12px;margin-top:12px;padding-top:10px}.ws2-ghost-text{font-style:italic;opacity:.5;pointer-events:none}.ws2-assist-mode-bar{display:flex;flex-shrink:0;gap:6px;padding:10px 12px 0}.ws2-assist-mode-btn{background:#fff;border:1px solid #e7ebf2;border-radius:999px;color:#6b7280;cursor:pointer;flex:1 1;font-size:12px;font-weight:700;padding:7px 8px;transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}.ws2-assist-mode-btn:hover:not(:disabled){background:#f4f6fb;border-color:#cddcff;color:#3d6df6}.ws2-assist-mode-btn:disabled{cursor:not-allowed;opacity:.5}.ws2-assist-mode-btn.active{background:#3d6df6;border-color:#0000;box-shadow:0 2px 8px #3d6df647;color:#fff}.ws2-msg-text{color:#27272a;font-size:13.5px;line-height:1.65;word-break:break-word}.ws2-md-p{margin:0 0 10px}.ws2-md-p:last-child{margin-bottom:0}.ws2-md-list{margin:0 0 10px;padding-left:20px}.ws2-md-list li{margin-bottom:4px}.ws2-msg-text strong{color:#18181b;font-weight:700}.ws2-inline-code{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:5px;color:#be123c;font-family:Cascadia Code,Consolas,SFMono-Regular,Menlo,monospace;font-size:12px;padding:1px 6px}.ws2-code-card{background:#1f2937;border-radius:10px;box-shadow:0 4px 14px #0f172a1f;margin:8px 0 12px;overflow:hidden}.ws2-code-card-header{align-items:center;background:#111827;color:#9ca3af;display:flex;font-size:10.5px;font-weight:700;justify-content:space-between;letter-spacing:.4px;padding:6px 12px;text-transform:uppercase}.ws2-code-copy-btn{align-items:center;background:#0000;border:1px solid #374151;border-radius:999px;color:#d1d5db;cursor:pointer;display:inline-flex;font-size:10px;font-weight:600;gap:4px;letter-spacing:normal;padding:2px 9px;text-transform:none;transition:background .15s ease,color .15s ease}.ws2-code-copy-btn:hover{background:#374151;color:#fff}.ws2-code-card-body{background:#0000;color:#e5e7eb;font-family:Cascadia Code,Consolas,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.6;margin:0;overflow-x:auto;padding:11px 13px;white-space:pre}.ws2-ai-typing{display:flex;gap:4px;padding:4px 0}.ws2-ai-typing span{animation:ws2TypingBounce 1.4s infinite;background:#c4b5fd;border-radius:50%;height:6px;width:6px}.ws2-ai-typing span:nth-child(2){animation-delay:.2s}.ws2-ai-typing span:nth-child(3){animation-delay:.4s}@keyframes ws2TypingBounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.ws2-ai-apply-btn{align-items:center;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:999px;box-shadow:0 4px 12px #22c55e40;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;font-weight:700;gap:6px;margin-top:10px;padding:7px 14px;transition:box-shadow .18s ease,transform .15s ease}.ws2-ai-apply-btn:hover{box-shadow:0 6px 16px #22c55e52;transform:translateY(-1px)}.ws2-ai-apply-btn:active{transform:translateY(0)}.ws2-next-lesson-banner{align-items:center;background:linear-gradient(135deg,#f0f4ff,#eef2ff);border-top:1px solid #dde3f7;display:flex;flex-shrink:0;gap:10px;justify-content:space-between;padding:12px 16px}.ws2-next-lesson-text{color:#3730a3;gap:5px}.ws2-next-lesson-btn,.ws2-next-lesson-text{align-items:center;display:inline-flex;font-size:12.5px;font-weight:700}.ws2-next-lesson-btn{background:#0000;border:1.5px solid #3d6df6;border-radius:999px;color:#3d6df6;cursor:pointer;flex-shrink:0;gap:6px;padding:8px 16px;transition:background .15s ease,color .15s ease}.ws2-next-lesson-btn:hover{background:#3d6df6;color:#fff}.ws2-ai-input-area{align-items:flex-end;background:#fbfbfd;border-top:1px solid #f0f2f7;display:flex;flex-shrink:0;gap:8px;padding:12px}.ws2-ai-input{background:#fff;border:1.5px solid #e7ebf2;border-radius:14px;color:#1f2937;flex:1 1;font-family:inherit;font-size:13px;line-height:1.4;outline:none;padding:10px 14px;resize:none;scrollbar-color:#cbd2dc #0000;scrollbar-width:thin;transition:border-color .18s ease,box-shadow .18s ease}.ws2-ai-input::-webkit-scrollbar{width:6px}.ws2-ai-input::-webkit-scrollbar-thumb{background:#cbd2dc;border-radius:999px}.ws2-ai-input:focus{border-color:#b3c6ff;box-shadow:0 0 0 4px #3d6df61a}.ws2-ai-input::placeholder{color:#b0b8c4}.ws2-ai-input:disabled{opacity:.6}.ws2-ai-send-btn{align-items:center;background:linear-gradient(135deg,#3d6df6,#5b8cff);border:none;border-radius:12px;box-shadow:0 4px 12px #3d6df647;color:#fff;cursor:pointer;display:flex;font-size:12.5px;font-weight:700;height:38px;justify-content:center;padding:0 16px;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.ws2-ai-send-btn:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.ws2-ai-send-btn:disabled{background:#e7ebf2;box-shadow:none;color:#a3acbb;cursor:not-allowed}.ws2-ai-messages::-webkit-scrollbar,.ws2-results-body::-webkit-scrollbar{width:10px}.ws2-ai-messages::-webkit-scrollbar-track,.ws2-results-body::-webkit-scrollbar-track{background:#0000}.ws2-ai-messages::-webkit-scrollbar-thumb,.ws2-results-body::-webkit-scrollbar-thumb{background:#dfe6f5;border-radius:5px}.ws2-ai-messages::-webkit-scrollbar-thumb:hover,.ws2-results-body::-webkit-scrollbar-thumb:hover{background:#c3d0ea}.ws2-fqm-overlay{align-items:center;animation:ws2FqmFadeIn .25s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a99;cursor:pointer;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:5000}.ws2-fqm-card{animation:ws2FqmPop .4s cubic-bezier(.2,.9,.3,1.3);background:linear-gradient(160deg,#fff,#f6f4ff);border-radius:22px;box-shadow:0 30px 80px #0f172a66;cursor:default;max-width:440px;padding:36px 32px 28px;text-align:center;width:100%}.ws2-fqm-icon{align-items:center;background:#eef2ff;border-radius:16px;color:#3d6df6;display:flex;height:56px;justify-content:center;margin:0 auto 14px;width:56px}.ws2-fqm-title{color:#17233a;font-size:1.3rem;font-weight:800;line-height:1.3;margin-bottom:12px}.ws2-fqm-text{color:#4b5568;font-size:.95rem;line-height:1.65;margin:0 0 22px}.ws2-fqm-close{background:linear-gradient(135deg,#3d6df6,#5b8cff);border:none;border-radius:999px;box-shadow:0 8px 20px #3d6df659;color:#fff;cursor:pointer;font-size:.9rem;font-weight:700;padding:11px 26px;transition:transform .15s ease,box-shadow .15s ease}.ws2-fqm-close:hover{box-shadow:0 10px 24px #3d6df66b;transform:translateY(-1px)}@keyframes ws2FqmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes ws2FqmPop{0%{opacity:0;transform:scale(.85) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.ws2-page-vscode{background:#1e1e1e}.ws2-page-vscode .ws2-topbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:#252526;border-bottom:1px solid #3c3c3c;box-shadow:none}.ws2-page-vscode .ws2-back-btn{background:#0000;border:none;box-shadow:none;color:#9d9d9d;padding:6px 10px 6px 4px}.ws2-page-vscode .ws2-back-btn:hover{background:#0000;color:#4fc1ff;transform:none}.ws2-page-vscode .ws2-breadcrumb{color:#9d9d9d}.ws2-page-vscode .ws2-breadcrumb-sep{color:#5a5a5a}.ws2-page-vscode .ws2-breadcrumb-current{color:#e8e8e8}.ws2-page-vscode .ws2-body{gap:0;padding:0}.ws2-page-vscode .ws2-ai-panel,.ws2-page-vscode .ws2-sqlwindow{background:#1e1e1e;border:none;border-radius:0;box-shadow:none}.ws2-page-vscode .ws2-ai-panel{background:#252526}.ws2-page-vscode .ws2-resizer{background:#1e1e1e;margin:0;width:3px}.ws2-page-vscode .ws2-resizer:after{border-radius:0;bottom:0;top:0;width:3px}.ws2-page-vscode .ws2-resizer:active:after,.ws2-page-vscode .ws2-resizer:hover:after{background:#007acc}.ws2-files-sidebar{background:#252526;border-right:1px solid #3c3c3c;display:flex;flex-direction:column;flex-shrink:0;padding:12px 0 10px;width:180px}.ws2-files-header{align-items:center;color:#9d9d9d;display:flex;font-size:11px;font-weight:700;justify-content:space-between;letter-spacing:.08em;padding:0 14px 10px}.ws2-files-header-icons{color:#9d9d9d;display:flex;gap:8px}.ws2-files-header-icons svg{opacity:.85}.ws2-files-list{display:flex;flex-direction:column}.ws2-files-item{align-items:center;color:#ccc;display:flex;font-size:13px;gap:8px;padding:6px 14px}.ws2-files-item svg{color:#4fc1ff;flex-shrink:0}.ws2-files-item-active{background:#37373d}.ws2-files-spacer{flex:1 1}.ws2-editor-tabs{align-items:center;background:#252526;border-bottom:1px solid #3c3c3c;display:flex;flex-shrink:0}.ws2-editor-tab{align-items:center;background:#1e1e1e;border-right:1px solid #3c3c3c;border-top:2px solid #007acc;color:#fff;display:flex;font-size:13px;gap:8px;padding:8px 10px 7px 14px}.ws2-editor-tab svg{opacity:.6}.ws2-editor-tab-add{align-items:center;background:#0000;border:none;color:#9d9d9d;cursor:default;display:flex;padding:8px 12px}.ws2-page-vscode .ws2-results-pane{background:#1e1e1e}.ws2-page-vscode .ws2-results-tabs{background:#252526;border-bottom:1px solid #3c3c3c}.ws2-page-vscode .ws2-tab{color:#8a8a8a}.ws2-page-vscode .ws2-tab.active{color:#fff}.ws2-page-vscode .ws2-tab.active:after{background:#007acc}.ws2-page-vscode .ws2-grid thead th{background:#252526;border-bottom:2px solid #3c3c3c;border-right:1px solid #2d2d2d;color:#ccc}.ws2-page-vscode .ws2-grid tbody td{border-bottom:1px solid #2d2d2d;border-right:1px solid #262626;color:#d4d4d4}.ws2-page-vscode .ws2-grid tbody tr:nth-child(2n){background:#232323}.ws2-page-vscode .ws2-grid tbody tr:hover{background:#2a2d2e}.ws2-page-vscode .ws2-grid-rownum{background:#252526!important;color:#5a5a5a}.ws2-page-vscode .ws2-null,.ws2-page-vscode .ws2-placeholder{color:#6a6a6a}.ws2-page-vscode .ws2-output{color:#d4d4d4}.ws2-page-vscode .ws2-statusbar{background:#252526;border-top:1px solid #3c3c3c;color:#9d9d9d}.ws2-page-vscode .ws2-statusbar-success{color:#4ec9b0}.ws2-page-vscode .ws2-statusbar-error{color:#f14c4c}.ws2-page-vscode .ws2-statusbar-loading{color:#e2c08d}.ws2-page-vscode .ws2-ai-header{background:#252526;border-bottom:1px solid #3c3c3c;color:#ccc}.ws2-page-vscode .ws2-ai-badge,.ws2-page-vscode .ws2-sound-toggle{background:#3c3c3c;border-color:#4a4a4a;color:#9d9d9d}.ws2-page-vscode .ws2-sound-toggle:hover{background:#4a4a4a;color:#4fc1ff}.ws2-page-vscode .ws2-ai-progress{background:#252526;border-bottom:1px solid #3c3c3c}.ws2-page-vscode .ws2-ai-progress-label{color:#c586c0}.ws2-page-vscode .ws2-ai-progress-track{background:#3c3c3c}.ws2-page-vscode .ws2-ai-messages{background:#1e1e1e}.ws2-page-vscode .ws2-msg-user .ws2-msg-bubble{background:#264f78;border-color:#2f5f8f}.ws2-page-vscode .ws2-msg-assistant .ws2-msg-bubble{background:#2d2d2d;border-color:#3c3c3c}.ws2-page-vscode .ws2-msg-assistant .ws2-msg-bubble-task{background:#3a2f18;border-color:#6b5423;box-shadow:none}.ws2-page-vscode .ws2-msg-task-label{background:#4a3820;color:#e8b567}.ws2-page-vscode .ws2-msg-assistant .ws2-msg-bubble-selfcheck{background:#2c2640;border-color:#5a4a80;box-shadow:none}.ws2-page-vscode .ws2-msg-selfcheck-label{background:#3d3260;color:#c9b8f0}.ws2-page-vscode .ws2-msg-assistant .ws2-msg-bubble-answer{background:#242424;border-color:#4a4a4a}.ws2-page-vscode .ws2-msg-answer-label{color:#9d9d9d}.ws2-page-vscode .ws2-selfcheck-checked{color:#c586c0}.ws2-page-vscode .ws2-msg-ai-title{color:#9d9d9d}.ws2-page-vscode .ws2-diff-block{border-color:#3c3c3c}.ws2-page-vscode .ws2-diff-line-removed{background:#3a1f1f;color:#f14c4c}.ws2-page-vscode .ws2-diff-line-added{background:#1f3a24;color:#4ec9b0}.ws2-page-vscode .ws2-assist-action-primary{background:#007acc;box-shadow:none}.ws2-page-vscode .ws2-assist-action-primary:hover{background:#1a8cd8}.ws2-page-vscode .ws2-assist-action-secondary{background:#3c3c3c;border-color:#4a4a4a;color:#ccc}.ws2-page-vscode .ws2-assist-action-secondary:hover{background:#4a4a4a}.ws2-page-vscode .ws2-assist-action-danger{background:#3a1f1f;border-color:#6b3a3a;color:#f14c4c}.ws2-page-vscode .ws2-assist-mode-btn{background:#2d2d2d;border-color:#3c3c3c;color:#9d9d9d}.ws2-page-vscode .ws2-assist-mode-btn:hover:not(:disabled){background:#3c3c3c;border-color:#4fc1ff;color:#d4d4d4}.ws2-page-vscode .ws2-assist-mode-btn.active{background:#007acc;color:#fff}.ws2-page-vscode .ws2-hint-card{background:#262626;border-color:#3a3a3a}.ws2-page-vscode .ws2-hint-card-mark{color:#a996ff}.ws2-page-vscode .ws2-hint-card-label{color:#9d9d9d}.ws2-page-vscode .ws2-hint-card-text{color:#d4d4d4}.ws2-page-vscode .ws2-hint-card-done,.ws2-page-vscode .ws2-hint-card-footer{border-top-color:#3a3a3a}.ws2-page-vscode .ws2-hint-card-sep{color:#4a4a4a}.ws2-page-vscode .ws2-hint-card-link{color:#8a8a8a}.ws2-page-vscode .ws2-hint-card-link:hover:not(:disabled){color:#e0e0e0}.ws2-page-vscode .ws2-hint-card-link-primary{color:#a996ff}.ws2-page-vscode .ws2-hint-card-link-primary:hover:not(:disabled){color:#bcaeff}.ws2-page-vscode .ws2-hint-card-done{color:#767676}.ws2-page-vscode .ws2-msg-text{color:#d4d4d4}.ws2-page-vscode .ws2-msg-text strong{color:#fff}.ws2-page-vscode .ws2-inline-code{background:#3c3c3c;border-color:#4a4a4a;color:#ce9178}.ws2-page-vscode .ws2-code-card{background:#1a1a1a}.ws2-page-vscode .ws2-code-card-header{background:#141414}.ws2-page-vscode .ws2-next-lesson-banner{background:#1a2733;border-top:1px solid #2d3f52}.ws2-page-vscode .ws2-next-lesson-text{color:#4fc1ff}.ws2-page-vscode .ws2-next-lesson-btn{border-color:#4fc1ff;color:#4fc1ff}.ws2-page-vscode .ws2-next-lesson-btn:hover{background:#007acc;border-color:#007acc;color:#fff}.ws2-page-vscode .ws2-ai-input-area{background:#252526;border-top:1px solid #3c3c3c}.ws2-page-vscode .ws2-ai-input{background:#3c3c3c;border-color:#4a4a4a;color:#d4d4d4}.ws2-page-vscode .ws2-ai-input:focus{border-color:#007acc;box-shadow:0 0 0 3px #007acc40}.ws2-page-vscode .ws2-ai-input::placeholder{color:#7a7a7a}.ws2-page-vscode .ws2-ai-input::-webkit-scrollbar-thumb{background:#4a4a4a}.ws2-page-vscode .ws2-ai-input{scrollbar-color:#4a4a4a #0000}.ws2-page-vscode .ws2-ai-send-btn{background:#007acc;box-shadow:none}.ws2-page-vscode .ws2-ai-send-btn:hover:not(:disabled){background:#1a8cd8;filter:none}.ws2-page-vscode .ws2-ai-send-btn:disabled{background:#3c3c3c;color:#6e6e6e}.ws2-page-vscode .ws2-ai-messages::-webkit-scrollbar-thumb,.ws2-page-vscode .ws2-results-body::-webkit-scrollbar-thumb{background:#4a4a4a}.ws2-page-vscode .ws2-ai-messages::-webkit-scrollbar-thumb:hover,.ws2-page-vscode .ws2-results-body::-webkit-scrollbar-thumb:hover{background:#5a5a5a}.ws2-page-vscode .ws2-fqm-card{background:#252526;box-shadow:0 30px 80px #0000008c}.ws2-page-vscode .ws2-fqm-icon{background:#1e3a5f;color:#4fc1ff}.ws2-page-vscode .ws2-fqm-title{color:#f0f0f0}.ws2-page-vscode .ws2-fqm-text{color:#a0a0a0}.ws2-page-vscode .ws2-fqm-close{background:#007acc;box-shadow:none}.ws2-page-vscode .ws2-fqm-close:hover{background:#1a8cd8}.ws2-theme-light{background:#fff}.ws2-theme-light .ws2-topbar{background:#f3f3f3;border-bottom:1px solid #e5e5e5}.ws2-theme-light .ws2-back-btn{color:#6e6e6e}.ws2-theme-light .ws2-back-btn:hover{color:#005fb8}.ws2-theme-light .ws2-breadcrumb{color:#6e6e6e}.ws2-theme-light .ws2-breadcrumb-sep{color:silver}.ws2-theme-light .ws2-breadcrumb-current{color:#1e1e1e}.ws2-theme-light .ws2-ai-panel,.ws2-theme-light .ws2-sqlwindow{background:#fff}.ws2-theme-light .ws2-ai-panel{background:#f3f3f3}.ws2-theme-light .ws2-resizer{background:#fff}.ws2-theme-light .ws2-resizer:active:after,.ws2-theme-light .ws2-resizer:hover:after{background:#005fb8}.ws2-theme-light .ws2-files-sidebar{background:#f3f3f3;border-right:1px solid #e5e5e5}.ws2-theme-light .ws2-files-header,.ws2-theme-light .ws2-files-header-icons{color:#6e6e6e}.ws2-theme-light .ws2-files-item{color:#3b3b3b}.ws2-theme-light .ws2-files-item svg{color:#005fb8}.ws2-theme-light .ws2-files-item-active{background:#e4e6f1}.ws2-theme-light .ws2-editor-tabs{background:#f3f3f3;border-bottom:1px solid #e5e5e5}.ws2-theme-light .ws2-editor-tab{background:#fff;border-right:1px solid #e5e5e5;border-top:2px solid #005fb8;color:#1e1e1e}.ws2-theme-light .ws2-editor-tab-add{color:#6e6e6e}.ws2-theme-light .ws2-toolbar-vscode{background:#f3f3f3;border-bottom:1px solid #e5e5e5}.ws2-theme-light .ws2-toolbar-vscode .ws2-btn:not(.ws2-btn-execute):not(.ws2-btn-ai){background:#e8e8e8;border-color:#d4d4d4;color:#3b3b3b}.ws2-theme-light .ws2-toolbar-vscode .ws2-btn:not(.ws2-btn-execute):not(.ws2-btn-ai):hover:not(:disabled){background:#dcdcdc}.ws2-theme-light .ws2-toolbar-vscode .ws2-btn-ai{background:#f3edff;border-color:#af00db;color:#6f42c1}.ws2-theme-light .ws2-toolbar-vscode .ws2-btn-ai:hover:not(:disabled){background:#ecdcff}.ws2-theme-light .ws2-toolbar-vscode .ws2-shortcut-hint{color:#8a8a8a}.ws2-theme-light .ws2-editor-pane-vscode{background:#fff;border-bottom-color:#e5e5e5}.ws2-theme-light .ws2-editor-pane-vscode .cm-content,.ws2-theme-light .ws2-editor-pane-vscode .cm-editor,.ws2-theme-light .ws2-editor-pane-vscode .cm-gutter,.ws2-theme-light .ws2-editor-pane-vscode .cm-gutters,.ws2-theme-light .ws2-editor-pane-vscode .cm-scroller{background-color:#fff!important}.ws2-theme-light .ws2-results-pane{background:#fff}.ws2-theme-light .ws2-results-tabs{background:#f3f3f3;border-bottom:1px solid #e5e5e5}.ws2-theme-light .ws2-tab{color:#8a8a8a}.ws2-theme-light .ws2-tab.active{color:#1e1e1e}.ws2-theme-light .ws2-tab.active:after{background:#005fb8}.ws2-theme-light .ws2-grid thead th{background:#f3f3f3;border-bottom:2px solid #e5e5e5;border-right:1px solid #ececec;color:#3b3b3b}.ws2-theme-light .ws2-grid tbody td{border-bottom:1px solid #ececec;border-right:1px solid #f0f0f0;color:#1e1e1e}.ws2-theme-light .ws2-grid tbody tr:nth-child(2n){background:#fafafa}.ws2-theme-light .ws2-grid tbody tr:hover{background:#e8f0fc}.ws2-theme-light .ws2-grid-rownum{background:#f3f3f3!important;color:#a0a0a0}.ws2-theme-light .ws2-null,.ws2-theme-light .ws2-placeholder{color:#a0a0a0}.ws2-theme-light .ws2-output{color:#1e1e1e}.ws2-theme-light .ws2-statusbar{background:#f3f3f3;border-top:1px solid #e5e5e5;color:#6e6e6e}.ws2-theme-light .ws2-statusbar-success{color:#2ea043}.ws2-theme-light .ws2-statusbar-error{color:#cd3131}.ws2-theme-light .ws2-statusbar-loading{color:#bf8803}.ws2-theme-light .ws2-ai-header{background:#f3f3f3;border-bottom:1px solid #e5e5e5;color:#1e1e1e}.ws2-theme-light .ws2-ai-badge,.ws2-theme-light .ws2-sound-toggle{background:#e8e8e8;border-color:#d4d4d4;color:#6e6e6e}.ws2-theme-light .ws2-sound-toggle:hover{background:#dcdcdc;color:#005fb8}.ws2-theme-light .ws2-ai-progress{background:#f3f3f3;border-bottom:1px solid #e5e5e5}.ws2-theme-light .ws2-ai-progress-label{color:#8250df}.ws2-theme-light .ws2-ai-progress-track{background:#e5e5e5}.ws2-theme-light .ws2-ai-messages{background:#fff}.ws2-theme-light .ws2-msg-user .ws2-msg-bubble{background:#cce4ff;border-color:#99c9f5}.ws2-theme-light .ws2-msg-assistant .ws2-msg-bubble{background:#f3f3f3;border-color:#e5e5e5}.ws2-theme-light .ws2-msg-assistant .ws2-msg-bubble-task{background:linear-gradient(135deg,#fff8ec,#fff1d9);border-color:#fbcf83;box-shadow:0 4px 14px #f59e0b1f}.ws2-theme-light .ws2-msg-task-label{background:#fde8c2;color:#92400e}.ws2-theme-light .ws2-msg-assistant .ws2-msg-bubble-selfcheck{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-color:#c4b5fd;box-shadow:0 4px 14px #8b5cf61f}.ws2-theme-light .ws2-msg-selfcheck-label{background:#ddd6fe;color:#5b21b6}.ws2-theme-light .ws2-msg-assistant .ws2-msg-bubble-answer{background:#f9fafc;border-color:#d4d4d8}.ws2-theme-light .ws2-msg-answer-label{color:#52525b}.ws2-theme-light .ws2-selfcheck-checked{color:#7c3aed}.ws2-theme-light .ws2-msg-ai-title{color:#6e6e6e}.ws2-theme-light .ws2-diff-block{border-color:#e5e5e5}.ws2-theme-light .ws2-assist-action-primary{background:#005fb8;box-shadow:none}.ws2-theme-light .ws2-assist-action-primary:hover{background:#0071d6}.ws2-theme-light .ws2-assist-action-secondary{background:#e8e8e8;border-color:#d4d4d4;color:#3b3b3b}.ws2-theme-light .ws2-assist-action-secondary:hover{background:#dcdcdc}.ws2-theme-light .ws2-assist-mode-btn{background:#fff;border-color:#d4d4d4;color:#3b3b3b}.ws2-theme-light .ws2-assist-mode-btn:hover:not(:disabled){background:#f0f0f0;border-color:#005fb8;color:#005fb8}.ws2-theme-light .ws2-assist-mode-btn.active{background:#005fb8;color:#fff}.ws2-theme-light .ws2-hint-card{background:#f7f7f7;border-color:#e2e2e2}.ws2-theme-light .ws2-hint-card-mark{color:#7c6cf0}.ws2-theme-light .ws2-hint-card-label{color:#6e6e6e}.ws2-theme-light .ws2-hint-card-text{color:#1e1e1e}.ws2-theme-light .ws2-hint-card-done,.ws2-theme-light .ws2-hint-card-footer{border-top-color:#e2e2e2}.ws2-theme-light .ws2-hint-card-sep{color:#cfcfcf}.ws2-theme-light .ws2-hint-card-link{color:#8a8a8a}.ws2-theme-light .ws2-hint-card-link:hover:not(:disabled){color:#3b3b3b}.ws2-theme-light .ws2-hint-card-link-primary{color:#6552e8}.ws2-theme-light .ws2-hint-card-link-primary:hover:not(:disabled){color:#5340d6}.ws2-theme-light .ws2-hint-card-done{color:#9a9a9a}.ws2-theme-light .ws2-msg-text{color:#1e1e1e}.ws2-theme-light .ws2-msg-text strong{color:#000}.ws2-theme-light .ws2-inline-code{background:#f1f5f9;border-color:#e2e8f0;color:#be123c}.ws2-theme-light .ws2-next-lesson-banner{background:#eaf3ff;border-top:1px solid #cfe3fb}.ws2-theme-light .ws2-next-lesson-text{color:#005fb8}.ws2-theme-light .ws2-next-lesson-btn{border-color:#005fb8;color:#005fb8}.ws2-theme-light .ws2-next-lesson-btn:hover{background:#005fb8;border-color:#005fb8;color:#fff}.ws2-theme-light .ws2-ai-input-area{background:#f3f3f3;border-top:1px solid #e5e5e5}.ws2-theme-light .ws2-ai-input{background:#fff;border-color:#d4d4d4;color:#1e1e1e}.ws2-theme-light .ws2-ai-input:focus{border-color:#005fb8;box-shadow:0 0 0 3px #005fb826}.ws2-theme-light .ws2-ai-input::placeholder{color:#a0a0a0}.ws2-theme-light .ws2-ai-input{scrollbar-color:#c4c4c4 #0000}.ws2-theme-light .ws2-ai-input::-webkit-scrollbar-thumb{background:#c4c4c4}.ws2-theme-light .ws2-ai-send-btn{background:#005fb8;box-shadow:none}.ws2-theme-light .ws2-ai-send-btn:hover:not(:disabled){background:#0071d6;filter:none}.ws2-theme-light .ws2-ai-send-btn:disabled{background:#e8e8e8;color:#a0a0a0}.ws2-theme-light .ws2-ai-messages::-webkit-scrollbar-thumb,.ws2-theme-light .ws2-results-body::-webkit-scrollbar-thumb{background:#cfcfcf}.ws2-theme-light .ws2-ai-messages::-webkit-scrollbar-thumb:hover,.ws2-theme-light .ws2-results-body::-webkit-scrollbar-thumb:hover{background:#b8b8b8}.ws2-theme-light .ws2-fqm-close{background:#005fb8}.ws2-theme-light .ws2-fqm-close:hover{background:#0071d6}@media (max-width:768px){.ws2-body{flex-direction:column;overflow-y:auto;padding:10px}.ws2-resizer{display:none}.ws2-files-sidebar{border-bottom:1px solid #3c3c3c;border-right:none;max-height:140px;overflow-y:auto;width:100%}.ws2-editor-pane{height:40vh;max-height:40vh}.ws2-editor-pane-vscode{height:45vh;max-height:45vh}.ws2-ai-panel{max-height:240px;min-width:0!important;width:100%!important}}@media (max-width:480px){.ws2-topbar{gap:8px;padding:10px 12px}.ws2-back-btn{font-size:12px;padding:6px 10px}.ws2-db-badge,.ws2-lang-badge{font-size:10px;padding:4px 9px}.ws2-db-badge{margin-right:4px}.ws2-body{padding:8px}.ws2-editor-pane{height:34vh;max-height:34vh;min-height:140px}.ws2-editor-pane-vscode{height:38vh;max-height:38vh}}.courses-page{background:linear-gradient(135deg,#f9fbff,#f3f6fb);color:#1f2937;margin:0 auto;max-width:1400px;padding:40px 60px}.courses-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #e7ebf2;border-radius:20px;box-shadow:0 10px 30px #0f172a0f;margin-bottom:50px;padding:40px 30px;text-align:center}.courses-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3d6df6,#5b8cff);-webkit-background-clip:text;background-clip:text;color:#0f172a;font-size:3.2rem;font-weight:800;letter-spacing:-.5px;margin-bottom:15px}.courses-count{background:#f3f6fb;border:1px solid #e7ebf2;border-radius:25px;color:#6b7280;display:inline-block;font-size:1.3rem;padding:10px 24px}.courses-grid{grid-gap:35px;display:grid;gap:35px;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));margin-top:20px}.course-card{box-shadow:0 1px 2px #0f172a0a;cursor:pointer;height:100%;padding:28px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.course-card:hover{border-color:#b9c9fb;box-shadow:0 8px 20px #0f172a12;transform:translateY(-2px)}.course-eyebrow{color:#9aa3b5;font-family:Cascadia Code,Consolas,SFMono-Regular,Menlo,monospace;font-size:.72rem;font-weight:700;letter-spacing:1.4px;margin-bottom:10px;text-transform:uppercase}.course-title{color:#0f172a;font-weight:700;letter-spacing:-.2px;line-height:1.35}.course-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#5b6472;display:-webkit-box;font-size:.95rem;line-height:1.65;margin:0 0 18px;overflow:hidden;text-overflow:ellipsis}.course-meta-row{align-items:center;display:flex;gap:16px;margin-bottom:18px}.course-meta-item{align-items:center;color:#6b7280;display:inline-flex;font-size:.82rem;font-weight:600;gap:5px}.course-meta-item svg{color:#9aa3b5;flex-shrink:0}.course-meta-pending{color:#b45309}.course-footer{border-top:1px solid #eef1f7;margin-top:auto;padding-top:16px}.start-course-btn{align-items:center;background:#3d6df6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.86rem;font-weight:600;gap:6px;justify-content:center;letter-spacing:.1px;padding:10px 18px;transition:background .2s ease;width:100%}.start-course-btn-arrow{transition:transform .2s ease}.start-course-btn:hover{background:#2b52c9}.start-course-btn:hover .start-course-btn-arrow{transform:translateX(3px)}.loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:5px solid #e7ebf2;border-radius:50%;border-top-color:#3d6df6;height:60px;margin-bottom:25px;width:60px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading p{color:#6b7280;font-size:1.2rem;font-weight:500}.error{background:#fff;border:1px solid #ef444440;border-radius:20px;box-shadow:0 10px 30px #0f172a0f;margin:40px auto;max-width:600px;padding:60px 40px;text-align:center}.error-icon{color:#ef4444;font-size:4rem;margin-bottom:25px}.error h3{color:#b91c1c;font-size:1.8rem;margin-bottom:15px}.error p{color:#4b5563;font-size:1.1rem;line-height:1.6;margin-bottom:30px}.retry-btn{background:linear-gradient(135deg,#dc2626,#b91c1c);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:14px 28px;transition:all .3s}.retry-btn:hover{box-shadow:0 8px 20px #dc262666;transform:translateY(-2px)}.no-courses{background:#f4f6fb;border:2px dashed #cfd9e8;border-radius:20px;margin-top:40px;padding:80px 40px;text-align:center}.no-courses-icon{animation:float 3s ease-in-out infinite;color:#94a3b8;font-size:4rem;margin-bottom:25px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.no-courses h3{color:#1f2937;font-size:1.8rem;margin-bottom:15px}.no-courses p{color:#6b7280;font-size:1.1rem;line-height:1.6;margin:0 auto 30px;max-width:500px}@media (max-width:1024px){.courses-page{padding:30px 40px}.courses-grid{gap:25px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media (max-width:768px){.courses-page{padding:20px}.courses-header{padding:30px 20px}.courses-header h1{font-size:2.4rem}.courses-grid{gap:20px;grid-template-columns:1fr}.course-card{margin:0 10px;padding:22px}.course-title{font-size:1.3rem}}@media (max-width:480px){.courses-header h1{font-size:2rem}.course-card{margin:0;padding:20px}.course-meta-row{flex-wrap:wrap;gap:10px 16px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){.course-card{animation:fadeIn .6s ease forwards}}.course-card:nth-child(5){animation-delay:.5s}.glass-effect{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #e7ebf2}.courses-page *{box-sizing:border-box}.courses-page a{color:#3d6df6;text-decoration:none}.courses-page a:hover{color:#2b52c9;text-decoration:underline}.courses-page::-webkit-scrollbar{width:10px}.courses-page::-webkit-scrollbar-track{background:#f3f6fb}.courses-page::-webkit-scrollbar-thumb{background:#cfd9e8;border-radius:5px}.courses-page::-webkit-scrollbar-thumb:hover{background:#a8b6cc}.legal-page{background:linear-gradient(180deg,#f9fbff,#f3f6fb);min-height:100vh;padding:40px 0 80px}.legal-header{margin:0 auto 40px;max-width:760px}.legal-back-link{color:#6b7280;display:inline-block;font-size:14px;font-weight:600;margin-bottom:20px;text-decoration:none}.legal-back-link:hover{color:#3d6df6}.legal-title{color:#0f172a;font-size:40px;font-weight:800;margin:0 0 10px}.legal-updated{color:#6b7280;font-size:14px}.legal-body{background:#fff;border:1px solid #e7ebf2;border-radius:20px;box-shadow:0 10px 30px #0f172a0f;margin:0 auto;max-width:760px;padding:40px 48px}.legal-section{margin-bottom:32px}.legal-section:last-of-type{margin-bottom:0}.legal-section h2{color:#0f172a;font-size:19px;font-weight:700;margin:0 0 14px}.legal-section p{color:#374151;font-size:15px;line-height:1.7;margin:0 0 12px}.legal-section p:last-child{margin-bottom:0}.legal-section ul{margin:0 0 12px;padding-left:22px}.legal-section li{color:#374151;font-size:15px;line-height:1.7;margin-bottom:6px}.legal-section code{background:#f4f6fb;border:1px solid #e7ebf2;border-radius:5px;color:#3d6df6;font-size:13.5px;padding:1px 6px}.legal-table{border-collapse:collapse;font-size:14px;margin-bottom:16px;width:100%}.legal-table th{background:#f4f6fb;color:#6b7280;font-size:12.5px;letter-spacing:.03em;text-align:left;text-transform:uppercase}.legal-table td,.legal-table th{border:1px solid #e7ebf2;padding:10px 12px}.legal-table td{color:#374151;vertical-align:top}.legal-section a{color:#3d6df6;font-weight:600;text-decoration:none}.legal-section a:hover{text-decoration:underline}@media (max-width:768px){.legal-body{padding:28px 22px}.legal-title{font-size:30px}.legal-table{display:block;overflow-x:auto}}*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f7f8fc;--surface:#fff;--surface-muted:#f4f6fb;--border:#e7ebf2;--text:#1f2937;--text-muted:#6b7280;--accent:#5b8cff;--accent-strong:#3d6df6;--accent-soft:#e8f0ff;--shadow:0 10px 30px #0f172a14;--ai-accent:#6d28d9;--ai-accent-soft:#f3edff}body{background:linear-gradient(180deg,#f9fbff,#f3f6fb);color:#1f2937;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.6}.app{background:#0000;min-height:100vh}.content{display:flex;flex-direction:column;gap:24px;margin-top:30px;padding-bottom:40px}.header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;border-bottom:1px solid #e7ebf2;border-bottom:1px solid var(--border);box-shadow:0 1px 0 #0f172a08;padding:20px 0}.header-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.logo{color:#3d6df6;color:var(--accent-strong);font-size:24px;font-weight:700;text-decoration:none}.nav{display:flex;gap:30px}.nav a{color:#6b7280;color:var(--text-muted);font-size:13px;font-weight:600;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transition:color .2s ease}.nav a:focus,.nav a:hover{color:#3d6df6;color:var(--accent-strong)}.header-actions{display:flex;gap:12px}.btn-login,.btn-signup{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 20px}.btn-login{background:#0000;border:1px solid #e7ebf2!important;border:1px solid var(--border)!important;color:#1f2937;color:var(--text)}.btn-signup{background:linear-gradient(135deg,#5b8cff,#3d6df6);background:linear-gradient(135deg,var(--accent) 0,var(--accent-strong) 100%);box-shadow:0 8px 20px #3d6df62e;color:#fff;font-weight:600}.hero{padding:100px 0 70px;text-align:center}.hero-inner{margin:0 auto;max-width:1200px;padding:0 20px}.hero-eyebrow{align-items:center;background:#e8f0ff;background:var(--accent-soft);border:1px solid #3d6df626;border-radius:999px;color:#3d6df6;color:var(--accent-strong);display:inline-flex;font-size:13px;font-weight:600;gap:8px;letter-spacing:.02em;margin-bottom:28px;padding:6px 14px}.hero-title{color:#0f172a;font-size:64px;font-weight:800;letter-spacing:-.02em;line-height:1.05;margin:0 auto 22px;max-width:780px}.hero-subtitle{color:#6b7280;color:var(--text-muted);font-size:19px;line-height:1.6;margin:0 auto 36px;max-width:600px}.hero-buttons{display:flex;gap:14px;justify-content:center;margin-bottom:72px}.btn-browse-paths,.btn-watch-demo{border:none;border-radius:10px;cursor:pointer;font-size:15.5px;font-weight:700;padding:14px 28px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease}.btn-watch-demo{background:#3d6df6;background:var(--accent-strong);box-shadow:0 10px 24px #3d6df640;color:#fff}.btn-watch-demo:hover{background:#3560e0;box-shadow:0 14px 28px #3d6df652;transform:translateY(-2px)}.btn-browse-paths{background:#0000;border:1px solid #e7ebf2!important;border:1px solid var(--border)!important;color:#1f2937;color:var(--text)}.btn-browse-paths:hover{border-color:#5b8cff!important;border-color:var(--accent)!important;color:#3d6df6;color:var(--accent-strong)}.hero-showcase{margin:0 auto;max-width:1040px}.showcase-window{animation:fadeIn .7s ease forwards;background:#fff;border:1px solid #e7ebf2;border:1px solid var(--border);border-radius:16px;box-shadow:0 40px 90px -24px #0f172a47,0 10px 30px #0f172a12;overflow:hidden;text-align:left}.showcase-titlebar{align-items:center;background:#f4f6fb;border-bottom:1px solid #e7ebf2;border-bottom:1px solid var(--border);display:flex;gap:7px;padding:12px 16px}.showcase-dot{border-radius:50%;height:10px;width:10px}.showcase-dot-red{background:#ff5f56}.showcase-dot-yellow{background:#ffbd2e}.showcase-dot-green{background:#27c93f}.showcase-filename{color:#6b7280;color:var(--text-muted);font-size:12.5px;margin-left:10px}.showcase-body{display:flex;min-height:360px}.showcase-editor{background:#1e1e1e;flex:1 1 60%;overflow:auto;padding:20px 0}.showcase-lines{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13.5px;line-height:1.7}.showcase-line{display:flex;padding:0 20px}.showcase-lineno{color:#5a5a5a;flex-shrink:0;margin-right:16px;text-align:right;-webkit-user-select:none;user-select:none;width:22px}.showcase-code{color:#d4d4d4;white-space:pre}.tok-kw{color:#569cd6}.tok-fn{color:#dcdcaa}.tok-str{color:#ce9178}.tok-num{color:#b5cea8}.tok-cm{color:#6a9955}.showcase-ai{background:#fafbff;border-left:1px solid #e7ebf2;border-left:1px solid var(--border);display:flex;flex:1 1 40%;flex-direction:column;gap:16px;padding:20px}.showcase-ai-header{align-items:center;color:#0f172a;display:flex;font-size:14px;font-weight:700;gap:8px}.showcase-ai-dot{background:#6d28d9;background:var(--ai-accent);border-radius:50%;box-shadow:0 0 0 3px #f3edff;box-shadow:0 0 0 3px var(--ai-accent-soft);height:8px;width:8px}.showcase-ai-bubble{background:#f3edff;background:var(--ai-accent-soft);border:1px solid #e4d6fb;border-radius:12px;color:#3b2a63;font-size:13.5px;line-height:1.55;padding:14px 16px}.showcase-ai-bubble code{background:#fff9;border-radius:5px;font-size:12.5px;padding:1px 5px}.showcase-ai-progress{margin-top:auto}.showcase-ai-progress-label{color:#6b7280;color:var(--text-muted);display:block;font-size:12px;margin-bottom:6px}.showcase-ai-track{background:#eef1f6;border-radius:999px;height:6px}.showcase-ai-fill{background:linear-gradient(90deg,#5b8cff,#6d28d9);background:linear-gradient(90deg,var(--accent) 0,var(--ai-accent) 100%);border-radius:999px;height:100%}.hero-stats{color:#6b7280;color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:14px;font-weight:600;gap:10px;justify-content:center;margin-top:40px}.hero-stats span:not(:last-child):after{color:#c7cedb;content:"·";margin-left:10px}.recent-navigation{border-bottom:1px solid #e7ebf2;border-bottom:1px solid var(--border);margin:24px 0 18px;padding-bottom:14px}.recent-tabs{align-items:center;display:flex;gap:30px}.recent-label{color:#1f2937;color:var(--text)}.recent-label,.recent-tab{font-size:14px;font-weight:600}.recent-tab{background:none;border:none;color:#6b7280;color:var(--text-muted);cursor:pointer;padding:8px 0;position:relative}.recent-tab.active,.recent-tab:hover{color:#3d6df6;color:var(--accent-strong)}.recent-tab.active{font-weight:700}.recent-tab.active:after{background:linear-gradient(90deg,#5b8cff,#3d6df6);background:linear-gradient(90deg,var(--accent) 0,var(--accent-strong) 100%);border-radius:999px;bottom:-14px;content:"";height:2px;left:0;position:absolute;right:0}.filter-section{margin:20px 0}.filter-content{align-items:center;background:#fff;background:var(--surface);border:1px solid #e7ebf2;border:1px solid var(--border);border-radius:14px;box-shadow:0 10px 30px #0f172a14;box-shadow:var(--shadow);display:flex;justify-content:space-between;padding:16px 18px}.filter-icons{display:flex;gap:12px}.filter-icon,.grid-icon{align-items:center;background:#f4f6fb;background:var(--surface-muted);border:1px solid #e7ebf2;border:1px solid var(--border);border-radius:10px;color:#6b7280;color:var(--text-muted);cursor:pointer;display:flex;justify-content:center;padding:8px}.filter-icon:hover,.grid-icon:hover{background:#e8f0ff;background:var(--accent-soft);color:#3d6df6;color:var(--accent-strong)}.course-card{background:#fff;background:var(--surface);border-radius:18px;box-shadow:0 10px 30px #0f172a14;box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease}.course-card:hover{box-shadow:0 16px 34px #0f172a1f;transform:translateY(-4px)}.course-header{margin-bottom:16px}.course-title-row{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.course-title{flex:1 1;font-size:24px}.category-badge{background:linear-gradient(135deg,#e8f0ff,#f7faff);background:linear-gradient(135deg,var(--accent-soft) 0,#f7faff 100%);border-radius:999px;color:#3d6df6;color:var(--accent-strong);font-size:12px;font-weight:700;letter-spacing:.06em;padding:6px 12px;text-transform:uppercase}.course-meta{color:#6b7280;color:var(--text-muted);display:flex;font-size:14px;gap:20px}.course-card-meta-item{align-items:center;display:flex}.course-card-meta-item:not(:last-child):after{content:"•";margin-left:20px;opacity:.5}.course-description{color:#1f2937;color:var(--text);font-size:15px}.course-details{background:#f4f6fb;background:var(--surface-muted);border-left:3px solid #3d6df6;border-left:3px solid var(--accent-strong);border-radius:8px;margin-top:20px;padding:20px}.detail-text{color:#6b7280;color:var(--text-muted);font-size:14px;font-style:italic;line-height:1.5;margin:8px 0}.path-card{background:#fff;background:var(--surface);border:1px solid #e7ebf2;border:1px solid var(--border);border-left:4px solid #4caf50;border-radius:12px;margin:20px 0;padding:25px;transition:transform .3s,box-shadow .3s}.path-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.card-header{margin-bottom:16px}.card-title-row{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.card-title{color:#1f2937;color:var(--text);flex:1 1;font-size:24px;font-weight:600;margin:0}.path-badge{background-color:#4caf501a;border-radius:20px;color:#4caf50;font-size:12px;font-weight:600;letter-spacing:1px;padding:6px 15px;text-transform:uppercase;white-space:nowrap}.card-meta{color:#6b7280;color:var(--text-muted);display:flex;font-size:14px;gap:16px}.path-card-meta-item{align-items:center;display:flex;gap:5px}.path-card-meta-item:not(:last-child):after{content:"•";margin-left:16px;opacity:.5}.card-description{color:#1f2937;color:var(--text);font-size:15px;line-height:1.6}.courses-page{background-color:#f7f8fc;background-color:var(--bg);min-height:100vh;padding:40px 0 80px}.page-header{margin-bottom:60px;margin-left:auto;margin-right:auto;max-width:800px;text-align:center}.page-title{color:#1f2937;color:var(--text);font-size:48px;font-weight:700;margin-bottom:20px}.page-subtitle{font-size:18px}.courses-filters{margin-bottom:40px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-title{font-size:24px;font-weight:600}.filter-tab{font-size:14px;padding:8px 20px;transition:all .3s}.filter-tab.active{background:#3d6df6;background:var(--accent-strong);color:#f7f8fc;color:var(--bg)}.filter-bar{background:#fff;background:var(--surface);border:1px solid #e7ebf2;border:1px solid var(--border);border-radius:8px;padding:16px 20px}.filter-results{color:#6b7280;color:var(--text-muted);font-size:14px}.paths-section{background:#fff;background:var(--surface);border:1px solid #e7ebf2;border:1px solid var(--border);border-radius:12px;margin-bottom:40px;padding:30px}.path-card-large{padding:25px 0}.path-card-large:first-child{padding-top:0}.path-card-large:last-child{padding-bottom:0}.path-header{margin-bottom:16px}.path-title-row{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.path-title{color:#1f2937;color:var(--text);flex:1 1;font-size:24px;font-weight:600;margin:0}.path-category{border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.5px;padding:6px 15px;text-transform:uppercase}.path-category.backend{background:#4caf501a;color:#4caf50}.path-category.fullstack{background:#2196f31a;color:#2196f3}.path-meta{color:#6b7280;color:var(--text-muted);display:flex;font-size:14px;gap:25px}.path-meta .meta-item{align-items:center;display:flex;gap:8px}.path-meta strong{color:#3d6df6;color:var(--accent-strong);font-weight:600}.path-description{color:#1f2937;color:var(--text);font-size:15px;line-height:1.6;margin-bottom:0}.divider{background:#e7ebf2;background:var(--border);border:none;height:1px;margin:25px 0}.ai-courses-section{margin-bottom:60px}.ai-courses-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-top:20px}.ai-course-card{background:#fff;background:var(--surface);border:1px solid #e7ebf2;border:1px solid var(--border);border-radius:18px;box-shadow:0 10px 30px #0f172a14;box-shadow:var(--shadow);padding:24px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.ai-course-card:hover{border-color:#5b8cff;border-color:var(--accent);box-shadow:0 16px 34px #0f172a1f;transform:translateY(-4px)}.course-header{margin-bottom:15px}.course-badge{background:#ffc1071a;color:#ffc107;font-size:12px;padding:4px 12px;text-transform:uppercase}.course-title{font-size:20px;line-height:1.4;margin:0}.course-description{font-size:14px;margin-bottom:20px}.course-level{color:#3d6df6;color:var(--accent-strong);font-weight:500}.course-duration,.course-level{font-size:13px}@media (max-width:768px){.header-container{flex-wrap:wrap;gap:12px}.nav{flex-wrap:wrap;gap:14px;justify-content:center;order:3;width:100%}.hero{padding:56px 0 40px}.hero-title{font-size:32px;max-width:none}.hero-subtitle{font-size:16px}.hero-buttons{align-items:center;flex-direction:column;margin-bottom:44px}.btn-browse-paths,.btn-watch-demo{width:100%}.showcase-body{flex-direction:column;min-height:0}.showcase-editor{padding:16px 0}.showcase-lines{font-size:12px}.showcase-ai{border-left:none;border-top:1px solid #e7ebf2;border-top:1px solid var(--border)}.hero-stats{flex-direction:column;gap:6px}.hero-stats span:not(:last-child):after{content:"";margin-left:0}.page-title{font-size:36px}.section-header{align-items:flex-start;flex-direction:column;gap:15px}.ai-courses-grid{grid-template-columns:1fr}.path-title-row{align-items:flex-start}.path-meta,.path-title-row{flex-direction:column;gap:10px}}.btn-primary,.btn-secondary{border:none;border-radius:999px;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.06em;padding:12px 24px;text-transform:uppercase;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#5b8cff,#3d6df6);background:linear-gradient(135deg,var(--accent) 0,var(--accent-strong) 100%);color:#fff}.btn-primary:hover{box-shadow:0 10px 20px #3d6df62e;transform:translateY(-2px)}.btn-secondary{background:#fff;background:var(--surface);border:1px solid #e7ebf2!important;border:1px solid var(--border)!important;color:#1f2937;color:var(--text)}.btn-secondary:hover{background:#e8f0ff;background:var(--accent-soft);color:#3d6df6;color:var(--accent-strong);transform:translateY(-2px)}.backend-courses-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:30px}.course-card{background:linear-gradient(145deg,#fff,#f4f6fb);background:linear-gradient(145deg,var(--surface),var(--surface-muted));border:1px solid #e7ebf2;border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;padding:25px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.course-card:before{background:linear-gradient(90deg,#3d6df6,#f7f8fc);background:linear-gradient(90deg,var(--accent-strong),var(--bg));content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.course-card:hover{border-color:#3d6df6;border-color:var(--accent-strong);box-shadow:0 20px 40px #0006;transform:translateY(-8px)}.course-card:hover:before{opacity:1}.course-header{margin-bottom:20px}.course-badge{background:#3d6df626;border:1px solid #3d6df64d;border-radius:20px;color:#3d6df6;color:var(--accent-strong);display:inline-block;font-size:.85rem;font-weight:600;letter-spacing:.5px;margin-bottom:15px;padding:6px 15px}.course-title{color:#1f2937;color:var(--text);font-size:1.4rem;font-weight:600;line-height:1.3;margin:0 0 10px}.course-description{color:#6b7280;color:var(--text-muted);flex-grow:1;font-size:1rem;line-height:1.6;margin-bottom:25px;min-height:72px}.course-footer{align-items:center;border-top:1px solid #e7ebf2;border-top:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:20px;padding-top:15px}.course-level{border-radius:20px;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:6px 15px}.course-level.beginner{background:linear-gradient(135deg,#4caf5026,#4caf500d);border:1px solid #4caf504d;color:#4caf50}.course-level.intermediate{background:linear-gradient(135deg,#ff980026,#ff98000d);border:1px solid #ff98004d;color:#ff9800}.course-level.advanced{background:linear-gradient(135deg,#f4433626,#f443360d);border:1px solid #f443364d;color:#f44336}.course-duration{align-items:center;color:#6b7280;color:var(--text-muted);display:flex;font-size:.9rem;gap:5px}.course-duration:before{content:"⏱️";font-size:.9em}.course-button{background:#0000;border:2px solid #3d6df6;border:2px solid var(--accent-strong);border-radius:8px;color:#3d6df6;color:var(--accent-strong);cursor:pointer;display:block;font-size:.95rem;font-weight:600;letter-spacing:.5px;padding:12px 25px;text-align:center;text-decoration:none;transition:all .3s ease}.course-button:hover{background:#3d6df61a;box-shadow:0 5px 15px #3d6df633;transform:translateY(-2px)}.section-title{color:#1f2937;color:var(--text);display:inline-block;font-size:1.8rem;font-weight:700;margin-bottom:10px;position:relative}.section-title:after{background:linear-gradient(90deg,#3d6df6,#0000);background:linear-gradient(90deg,var(--accent-strong),#0000);border-radius:2px;bottom:-5px;content:"";height:3px;left:0;position:absolute;width:60px}.section-subtitle{color:#6b7280;color:var(--text-muted);font-size:1.1rem;line-height:1.5;margin-bottom:30px;max-width:600px}.container{margin:0 auto;max-width:1200px;padding:0 20px}.page-header{margin-bottom:50px;padding-top:30px}.page-title{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#3d6df6,#5b8cff);background:linear-gradient(90deg,var(--accent-strong),var(--accent));-webkit-background-clip:text;background-clip:text;color:#3d6df6;color:var(--accent-strong);font-size:2.5rem;font-weight:800;margin-bottom:15px}.page-subtitle{color:#6b7280;color:var(--text-muted);font-size:1.2rem;line-height:1.6;max-width:800px}.header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.courses-count{background:#3d6df61a;border:1px solid #3d6df64d;border-radius:20px;color:#3d6df6;color:var(--accent-strong);font-size:.9rem;font-weight:600;padding:5px 15px}.filter-tabs{display:flex;gap:10px;margin-bottom:30px}.filter-tab{background:#0000;border:1px solid #e7ebf2;border:1px solid var(--border);border-radius:20px;color:#6b7280;color:var(--text-muted);cursor:pointer;font-weight:500;padding:10px 20px;transition:all .3s ease}.filter-tab.active,.filter-tab:hover{border-color:#3d6df6;border-color:var(--accent-strong);color:#3d6df6;color:var(--accent-strong)}.filter-tab.active{background:#3d6df61a}@media (prefers-reduced-motion:no-preference){.course-card{animation:fadeInUp .5s ease forwards}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.course-card:first-child{animation-delay:.1s}.course-card:nth-child(2){animation-delay:.2s}.course-card:nth-child(3){animation-delay:.3s}.course-card:nth-child(4){animation-delay:.4s}