*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #2563eb;--primary-color-hover: #1d4ed8;--secondary-color: #64748b;--accent-color: #7c3aed;--success-color: #059669;--warning-color: #d97706;--danger-color: #dc2626;--text-color: #1f2937;--text-secondary: #6b7280;--text-muted: #9ca3af;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-dark: #1f2937;--border-color: #e5e7eb;--border-color-hover: #d1d5db;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:var(--text-color);background-color:var(--bg-secondary)}header{background-color:#fff;box-shadow:0 1px 3px #0000001a;position:relative;z-index:1000;border-bottom:1px solid #e5e7eb}.main-nav{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 1.5rem;height:70px}.main-nav>a{display:flex;align-items:center;text-decoration:none;color:inherit;flex-shrink:0;margin-right:1.5rem}.main-nav img{width:36px;height:36px;margin-right:.75rem;display:block}.main-nav>a span{font-size:1.3rem;font-weight:700;color:#111827;letter-spacing:-.025em}.nav-links{display:flex;list-style:none;gap:0;margin:0 auto;padding:0;align-items:center;flex:1;justify-content:flex-start;min-width:0}.nav-links li{margin:0 auto;padding:0}.nav-links a{text-decoration:none;color:#374151;font-weight:500;padding:.6rem .8rem;border-radius:6px;transition:all .2s ease;display:block;white-space:nowrap;position:relative;font-size:.8rem;margin:0 .1rem}.nav-links a:hover{color:#111827;background-color:#f9fafb;transform:translateY(-1px)}.nav-links a.active{color:#2563eb;background-color:#eff6ff;font-weight:600}.nav-links a.active:after{content:"";position:absolute;bottom:-1px;left:50%;transform:translate(-50%);width:20px;height:2px;background-color:#2563eb;border-radius:1px}.auth-section{display:flex;align-items:center;gap:.75rem;flex-shrink:0;margin-left:auto;min-width:0}.user-menu{display:flex;align-items:center;gap:.75rem}.username{font-weight:500;color:#374151;font-size:.8rem;white-space:nowrap;max-width:clamp(100px,15vw,200px);overflow:hidden;text-overflow:ellipsis}.btn-login{background-color:#2563eb;color:#fff;border:1px solid #2563eb;padding:.45rem 1rem;border-radius:6px;font-weight:500;font-size:.8rem;transition:all .2s ease;cursor:pointer;white-space:nowrap}.btn-login:hover{background-color:#1d4ed8;border-color:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb26}.btn-logout{background-color:#dc2626;color:#fff;border:1px solid #dc2626;padding:.45rem .8rem;border-radius:6px;font-weight:500;font-size:.8rem;transition:all .2s ease;cursor:pointer;white-space:nowrap;margin-left:.5rem}.btn-logout:hover{background-color:#b91c1c;border-color:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 12px #dc262626}.menu-toggle{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#374151;padding:.5rem;border-radius:4px;transition:all .2s ease}.menu-toggle:hover{background-color:#f3f4f6;color:#111827}.lang-select{position:relative}.lang-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:1px solid #e5e7eb;color:#374151;padding:.45rem 1.6rem .45rem .6rem;border-radius:6px;font-size:.8rem;line-height:1;cursor:pointer}.lang-select:after{content:"▾";position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:.7rem;color:#6b7280;pointer-events:none}.lang-select select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}@media (max-width: 768px){.lang-select{order:1}}@media (max-width: 768px){.main-nav{padding:.5rem 1rem;height:auto;min-height:60px}.main-nav>a{margin-right:1rem}.main-nav img{width:32px;height:32px;margin-right:.75rem}.main-nav span{font-size:1.25rem}.nav-links{order:3;width:100%;justify-content:center;margin-top:.5rem;gap:.25rem}.nav-links a{padding:.5rem .75rem;font-size:.8rem;margin:0 .125rem}.auth-section{margin-left:0;order:2}.menu-toggle{display:block;order:4}.nav-links{display:none}.nav-links.active{display:flex;flex-direction:column;width:100%;margin-top:1rem;gap:.5rem}.nav-links.active a{width:100%;text-align:center;padding:.75rem;margin:0 auto}}.hero,.courses-hero,.my-courses-hero,.tools-hero,.features-hero,.about-hero{text-align:center;padding:4rem 2rem;background:linear-gradient(135deg,#1e40af,#1e3a8a);color:#fff;margin-bottom:3rem;border-radius:0 0 1rem 1rem;box-shadow:0 4px 20px #00000026;position:relative}.hero:focus-within,.courses-hero:focus-within,.my-courses-hero:focus-within,.tools-hero:focus-within,.features-hero:focus-within,.about-hero:focus-within{outline:3px solid #fbbf24;outline-offset:2px}.hero h1:focus,.courses-hero h1:focus,.my-courses-hero h1:focus,.tools-hero h1:focus,.features-hero h1:focus,.about-hero h1:focus{outline:2px solid #ffffff;outline-offset:4px;background:#ffffff1a;border-radius:.5rem;padding:.25rem .5rem}.hero,.courses-hero,.my-courses-hero,.tools-hero,.features-hero,.about-hero{text-shadow:0 1px 3px rgba(0,0,0,.8)}.hero [aria-hidden=true],.courses-hero [aria-hidden=true],.my-courses-hero [aria-hidden=true],.tools-hero [aria-hidden=true],.features-hero [aria-hidden=true],.about-hero [aria-hidden=true]{display:none}.hero .sr-only,.courses-hero .sr-only,.my-courses-hero .sr-only,.tools-hero .sr-only,.features-hero .sr-only,.about-hero .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero h1,.courses-hero h1,.my-courses-hero h1,.tools-hero h1,.features-hero h1,.about-hero h1{font-size:2.5rem;font-weight:700;margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.3);line-height:1.2}.hero p,.courses-hero p,.my-courses-hero p,.tools-hero p,.features-hero p,.about-hero p{font-size:1.2rem;margin-bottom:2rem;opacity:.95;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.6}@media (max-width: 768px){.hero,.courses-hero,.my-courses-hero,.tools-hero,.features-hero,.about-hero{padding:2rem 1rem;margin-bottom:2rem}.hero h1,.courses-hero h1,.my-courses-hero h1,.tools-hero h1,.features-hero h1,.about-hero h1{font-size:2rem}.hero p,.courses-hero p,.my-courses-hero p,.tools-hero p,.features-hero p,.about-hero p{font-size:1.1rem}}.nav-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--primary-color);color:#fff;text-decoration:none;border-radius:var(--radius-md);border:2px solid var(--primary-color);cursor:pointer;font-size:var(--font-size-base);font-weight:600;font-family:inherit;line-height:1.5;transition:all .2s ease;box-shadow:var(--shadow-sm);min-width:auto;width:auto;white-space:nowrap}.btn:hover,.btn:focus{background-color:var(--primary-color-hover);border-color:var(--primary-color-hover);color:#fff;box-shadow:var(--shadow-md);outline:none;transform:translateY(-1px)}.btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn:disabled{background-color:var(--text-muted);border-color:var(--text-muted);color:#fff;cursor:not-allowed;transform:none;box-shadow:var(--shadow-sm)}.btn-primary{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.btn-primary:hover,.btn-primary:focus{background-color:var(--primary-color-hover);border-color:var(--primary-color-hover);color:#fff}.btn-secondary{background-color:transparent;border-color:var(--primary-color);color:var(--primary-color)}.btn-secondary:hover,.btn-secondary:focus{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.btn-success{background-color:var(--success-color);border-color:var(--success-color);color:#fff}.btn-warning{background-color:var(--warning-color);border-color:var(--warning-color);color:#fff}.btn-danger{background-color:var(--danger-color);border-color:var(--danger-color);color:#fff}.btn-small{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.btn-large{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-lg)}.btn-full{width:100%;justify-content:center}.btn-icon{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.courses{padding:2rem 0;max-width:1200px;margin:0 auto}.courses h2{text-align:center;margin-bottom:2rem;color:#111}.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:2rem}.course-card{background:var(--bg-primary);padding:var(--spacing-lg);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:2px solid var(--border-color);transition:all .3s ease;max-width:380px;margin:0 auto;cursor:pointer;position:relative;overflow:hidden;display:flex;flex-direction:column;height:100%;min-height:480px;max-height:540px}.course-card:hover,.course-card:focus-within{box-shadow:var(--shadow-xl);border-color:var(--primary-color);transform:translateY(-4px)}.course-card-interactive{cursor:pointer}.course-card-interactive:hover{border-color:#58a6ff}.course-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.course-card-header h3{color:#111;font-size:1.3rem;margin:0 auto;flex:1;margin-right:1.5rem;line-height:1.3}.course-description{color:#666;margin-bottom:1.5rem;line-height:1.6;font-size:.95rem;flex:0 0 auto;overflow:hidden;display:-webkit-box;-webkit-line-clamp:6;line-clamp:6;-webkit-box-orient:vertical;padding:.5rem 0;max-height:180px}.course-meta{margin-bottom:0;flex:1;display:flex;flex-direction:column;justify-content:flex-end}.course-features{list-style:none;padding:0;margin:0 auto}.course-features li{color:#333;font-size:.9rem;margin-bottom:.5rem;padding-left:1.5rem;position:relative}.course-features li:before{content:"✓";position:absolute;left:0;color:#28a745;font-weight:700;font-size:1rem}.course-action{margin-top:auto;flex-shrink:0}.course-card h3{color:#111;font-size:1.1rem;margin-bottom:.5rem}.course-card p,.course-features li{color:#000;font-size:.95rem}.course-features{margin-bottom:.7rem;padding-left:1.2rem;list-style-position:inside}.course-card ul{margin-left:0;padding-left:1.2rem}.course-features li{margin-bottom:.2rem}.hero-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 2rem}.hero-content>div{text-align:left}.hero-content h1{margin-bottom:.5rem}.hero-content p{margin:0 auto;opacity:.9}.my-courses-content{max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.my-courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem;margin-top:2rem}.my-course-card{background:var(--bg-secondary);border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px #0000001a;transition:all .3s ease;cursor:pointer;border:2px solid transparent}.my-course-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026;border-color:#667eea}.my-course-card:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.course-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.course-card-header h3{font-size:1.3rem;font-weight:600;color:#2d3748;margin:0 auto;flex:1}.level-badge{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.level-badge.beginner{background-color:#e6fffa;color:#234e52}.level-badge.intermediate{background-color:#fef5e7;color:#744210}.level-badge.advanced{background-color:#fed7d7;color:#742a2a}.course-description{color:#718096;margin-bottom:1.5rem;line-height:1.5}.course-progress-info{margin-bottom:1rem}.progress-stats{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.progress-text{font-size:.9rem;color:#4a5568;font-weight:500}.progress-percentage{font-size:1.1rem;font-weight:600;color:#667eea}.progress-bar{width:100%;height:8px;background-color:#e2e8f0;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;transition:width .3s ease}.course-meta{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid #e2e8f0}.lesson-count{font-size:.9rem;color:#718096;font-weight:500}footer{background-color:#111;color:#fff;padding:3rem 2rem 1rem}.footer-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.footer-section h4{color:#fff;font-weight:700;margin-bottom:1rem}.footer-section ul{list-style:none}.footer-section ul li{margin-bottom:.5rem}.footer-section a{color:#fff;text-decoration:underline;font-weight:700;transition:color .2s}.footer-section a:hover,.footer-section a:focus{color:#fff;background:#222;outline:2px solid #fff;text-decoration:none}.footer-bottom{text-align:center;margin-top:2rem;padding-top:2rem;border-top:1px solid #fff;color:#fff}:focus{outline:3px solid #111;outline-offset:2px}.lang-toggle{background-color:#2563eb;color:#fff;border:1px solid #2563eb;padding:.45rem .8rem;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:3rem;text-align:center;letter-spacing:.5px;margin-left:.5rem;flex-shrink:0}@media (max-width: 1200px){.main-nav,.auth-section{gap:.5rem}.lang-toggle{font-size:.8rem;padding:.4rem .7rem}}@media (max-width: 1024px){.auth-section{gap:.3rem}.lang-toggle{font-size:.75rem;padding:.35rem .6rem;margin-left:.3rem}}.lang-toggle:hover{background-color:#1d4ed8;border-color:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb26}.lang-toggle:focus{outline:none;box-shadow:0 0 0 3px #2563eb4d}.lang-toggle:active{transform:translateY(0);box-shadow:0 2px 6px #2563eb33}@media (prefers-contrast: high){body{background-color:#000;color:#fff}.btn{background:#fff!important;color:#000!important;border:2px solid #fff!important;box-shadow:0 0 0 3px #fff!important}.btn:hover,.btn:focus{background:#000!important;color:#fff!important;border:2px solid #fff!important;box-shadow:0 0 0 3px #fff!important}.course-card{background:#000!important;color:#fff!important;border:2px solid #fff!important}.course-card h3,.course-card p,.course-features li{color:#fff!important}}.index-course-row{display:flex;flex-direction:row;gap:1.5rem;flex-wrap:wrap;justify-content:center;margin:2rem 0}.index-course-row .course-card{flex:1 1 300px;max-width:350px;min-width:250px;min-height:auto;max-height:none;padding:1.5rem}.index-course-row .course-card h3{color:#111;font-size:1.3rem;margin:0 0 1rem;line-height:1.3;text-align:center}.index-course-row .course-card p{color:#666;margin-bottom:1.5rem;line-height:1.6;font-size:.95rem;text-align:center}.index-course-row .course-card .btn{margin-top:auto;align-self:center}.course-grid{display:flex;flex-wrap:wrap;gap:2rem;justify-content:flex-start;margin-bottom:2rem}.category{background:#fff;border-radius:16px;box-shadow:0 4px 16px #00000014;border:2px solid #eee;padding:2.5rem 2rem 2rem;margin-bottom:2.5rem;max-width:900px;margin-left:auto;margin-right:auto;position:relative}.course-categories{margin-top:3rem}.category h2{text-align:center;font-size:2rem;font-weight:700;margin-bottom:2rem;color:#111;letter-spacing:1px}.tool-card-container{background:#fff;border-radius:16px;box-shadow:0 4px 16px #00000014;border:2px solid #eee;padding:2.5rem 2rem 2rem;margin-bottom:2.5rem;max-width:900px;margin-left:auto;margin-right:auto;position:relative}.tool-card-container:nth-child(2n){background:#f8f8f8}.tool-card{text-align:center}.tool-card h3{font-size:2rem;font-weight:700;margin-bottom:2rem;color:#111;letter-spacing:1px}.tools-section{padding:4rem 2rem;max-width:1200px;margin:0 auto}.tools-section h2{text-align:center;margin-bottom:2rem;color:#111;font-size:2rem;font-weight:700}.tools-grid{display:flex;flex-direction:column;gap:2rem}.tool-features{margin:1rem 0;padding-left:1.2rem;list-style-position:inside}.tool-features li{margin-bottom:.5rem;color:#333}.features-section{padding:4rem 2rem;max-width:1200px;margin:0 auto}.features-section h2{text-align:center;margin-bottom:2rem;color:#111;font-size:2rem;font-weight:700}.features-grid{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.feature-card{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001f;border:2px solid #000;transition:box-shadow .2s,border-color .2s,transform .2s;max-width:350px;flex:1 1 300px}.feature-card:hover,.feature-card:focus-within{box-shadow:0 4px 16px #0000002e;border-color:#111;transform:translateY(-4px) scale(1.01)}.feature-card h3{color:#111;font-size:1.2rem;margin-bottom:1rem;font-weight:700}.feature-card p{color:#333;margin-bottom:1rem;line-height:1.6}.feature-card ul{list-style:none;padding-left:0}.feature-card ul li{margin-bottom:.5rem;padding-left:1.5rem;position:relative;color:#333}.feature-card ul li:before{content:"•";position:absolute;left:0;color:#111;font-weight:700}@media (max-width: 768px){.tools-section,.features-section{padding:2rem 1rem}.feature-card{max-width:100%}.tool-card-container{flex-direction:column!important;padding:1.5rem}}.lesson-main-container,.editor-container,.output-container,.lesson-page-container{display:block}.lesson-sidebar,.lesson-list{display:none}.lesson-container-new{max-width:100vw;width:100%;box-sizing:border-box;overflow-x:hidden;padding:2rem}.lesson-header{text-align:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #ddd}.lesson-header h2{font-size:1.8rem;margin-bottom:1.5rem}.lesson-topic-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem}.topic-btn{background:#f0f0f0;border:1px solid #ccc;padding:.6rem 1.2rem;border-radius:20px;cursor:pointer;font-size:.95rem;transition:all .2s ease}.topic-btn:hover{background:#e0e0e0;border-color:#bbb}.topic-btn.active{background:#111;color:#fff;border-color:#111;font-weight:700}.lesson-body-content{display:flex;gap:2rem;max-width:100vw;width:100%;box-sizing:border-box;overflow:hidden;align-items:stretch;margin-top:2rem;height:140vh}.lesson-description-column{flex:1 1 60%;background:#f9f9f9;padding:1.5rem;border-radius:8px;border:1px solid #eee;display:flex;flex-direction:column;overflow:hidden;max-height:100%}.lesson-introduction{flex:1;overflow-y:auto;padding-right:.5rem;max-height:100%;width:100%;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#ccc #f9f9f9}.lesson-introduction::-webkit-scrollbar{width:8px}.lesson-introduction::-webkit-scrollbar-track{background:#f9f9f9}.lesson-introduction::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.lesson-introduction::-webkit-scrollbar-thumb:hover{background:#999}.lesson-introduction h3{margin-top:0;margin-bottom:1rem;position:sticky;top:0;background:#f9f9f9;padding:.5rem 0;z-index:10}.lesson-introduction p{white-space:pre-line;line-height:1.6;margin-bottom:1rem}.lesson-description-column h3:focus{outline:2px solid #58a6ff;outline-offset:4px;border-radius:2px}.lesson-interactive-column{flex:1 1 50%;display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.lesson-editor-container{padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #0000000d;border:1px solid #e0e0e0;background:#fff;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.lesson-editor-container .lesson-controls{margin-bottom:1.5rem;width:100%;max-width:100%;box-sizing:border-box}.lesson-editor-container .lesson-controls .btn{transition:background .2s,color .2s,box-shadow .2s}.lesson-editor-container .lesson-controls .btn:hover,.lesson-editor-container .lesson-controls .btn:focus{background-color:#fff;color:#000;border-color:#000;box-shadow:0 0 0 3px #000,0 2px 4px #00000014;outline:none;transform:none}.lesson-output-container{display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:100%;box-sizing:border-box}.lesson-navigation-buttons{display:flex;justify-content:center;gap:1rem;margin:1.5rem auto 0;padding:0;border:none;max-width:400px;min-height:40px}.ai-feedback-box{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:1rem;flex:0 0 auto;display:flex;flex-direction:column;height:350px;width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}.ai-feedback-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;border-bottom:1px solid #ddd;padding-bottom:.75rem;flex-shrink:0;height:40px;width:100%;box-sizing:border-box}.ai-feedback-header h4{margin:0 auto;color:#333}.btn-small{padding:.3rem .8rem;font-size:.85rem;min-width:auto}.output-box-separate{background-color:#1e1e1e;border:1px solid #3a3a3a;border-radius:8px;padding:0;flex-grow:1;display:flex;flex-direction:column;min-height:120px;overflow:hidden;width:100%;max-width:100%;box-sizing:border-box;font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace}.ai-feedback-box h4{margin-top:0;margin-bottom:1rem;color:#333}.output-box-separate h4{background-color:#3a3a3c;color:#d4d4d4;padding:.5rem 1rem;margin:0 auto;border-bottom:1px solid #3a3a3a;font-size:.9em;font-weight:400}.output-box-separate pre{background:transparent;padding:1rem;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;flex-grow:1;color:#23d18b;font-size:.95rem;line-height:1.5;width:100%;max-width:100%;box-sizing:border-box;margin:0 auto}.ai-feedback-box .placeholder-text{color:#888}.progress-bar-container{background-color:#e0e0e0;border-radius:10px;height:10px;width:100%;margin:1.5rem 0 0;overflow:hidden}.progress-bar-fill{background-color:#58a6ff;height:100%;border-radius:10px;transition:width .4s ease-in-out}.lesson-main-content,.lesson-content-area{display:block}.ai-feedback-markdown{flex:1;padding:1rem;overflow-y:auto;overflow-x:hidden;width:100%;max-width:100%;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;min-height:0}.ai-feedback-markdown code{background-color:#3a3a3c;color:#a5d6ff;padding:.2em .4em;margin:0 .2em;border-radius:3px;font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;font-size:.9em}.ai-feedback-markdown pre{background-color:#1e1e1e;color:#d4d4d4;padding:1em;border-radius:4px;overflow-x:auto}.ai-feedback-markdown ul,.ai-feedback-markdown ol{padding-left:25px}@media (max-width: 1024px){.lesson-body-content{flex-direction:column}}.monaco-editor,.monaco-editor .overflow-guard,.monaco-editor .monaco-scrollable-element{width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow:hidden!important}.lesson-editor-container>div{width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow:hidden!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.monaco-editor:focus-within{outline:2px solid #58a6ff;outline-offset:2px}.monaco-editor .monaco-editor-background{background-color:#1e1e1e!important}.monaco-editor .monaco-editor-background,.monaco-editor .monaco-editor-background .monaco-editor-background{color:#d4d4d4!important}.auth-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:10000;padding:1rem}.auth-modal{background:#fff;border-radius:12px;padding:2rem;max-width:400px;width:100%;position:relative;box-shadow:0 10px 30px #0000004d}.auth-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:.5rem;border-radius:50%;transition:background-color .2s}.auth-close:hover{background-color:#f0f0f0}.auth-header h2{margin-bottom:1rem;color:#111}.auth-toggle{background:none;border:none;color:#58a6ff;text-decoration:underline;cursor:pointer;font-size:.9rem;transition:color .2s}.auth-toggle:hover{color:#06c}.auth-toggle-section{text-align:center;margin-top:1rem;padding-top:1rem;border-top:1px solid #f0f0f0}.form-group input{padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#58a6ff;box-shadow:0 0 0 3px #58a6ff1a}.auth-error{background-color:#fee;color:#c33;padding:.75rem;border-radius:6px;border:1px solid #fcc;font-size:.9rem}.auth-submit{margin-top:1rem;padding:.75rem 1.5rem;font-size:1rem}.password-strength{margin-top:.5rem;padding:.75rem;background-color:#f8f9fa;border-radius:4px;border:1px solid #dee2e6}.strength-bar{width:100%;height:8px;background-color:#e9ecef;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.strength-fill{height:100%;transition:width .3s ease,background-color .3s ease}.strength-text{font-size:.875rem;font-weight:500;margin-bottom:.5rem}.strength-feedback li.valid{color:#28a745}.strength-feedback li.invalid{color:#dc3545}.strength-feedback li.valid:before{background-color:#28a745}.strength-feedback li.invalid:before{background-color:#dc3545}.password-toggle{position:absolute;right:.75rem;background:none;border:none;cursor:pointer;padding:.25rem;font-size:1.1rem;color:#666;transition:color .2s ease}.password-toggle:hover{color:#333}.password-toggle:focus{outline:2px solid #007bff;outline-offset:2px;border-radius:4px}.auth-section,.user-menu{display:flex;align-items:center;gap:1rem}.username{font-weight:600;color:#333;font-size:.9rem}.btn-login{background-color:#58a6ff;border-color:#58a6ff;color:#fff}.btn-login:hover{background-color:#06c;border-color:#06c;color:#fff}.btn-logout{background-color:#dc3545;border-color:#dc3545;color:#fff;font-size:.8rem;padding:.4rem .8rem}.btn-logout:hover{background-color:#c82333;border-color:#c82333;color:#fff}.my-courses-container{max-width:1200px;margin:0 auto;padding:2rem}.my-courses-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem;padding-bottom:2rem;border-bottom:2px solid #f0f0f0}.user-info h1{color:#111;margin-bottom:.5rem}.user-info p{color:#666;font-size:1.1rem}.progress-summary{margin-bottom:3rem}.summary-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 12px #0000001a;border:2px solid #f0f0f0}.summary-card h3{color:#111;margin-bottom:1.5rem;font-size:1.3rem}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2rem}.stat{text-align:center}.stat-number{display:block;font-size:2.5rem;font-weight:700;color:#58a6ff;margin-bottom:.5rem}.stat-label{color:#666;font-size:.9rem;font-weight:500}.courses-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:3rem}.course-progress-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 12px #0000001a;border:2px solid #f0f0f0;transition:transform .2s,box-shadow .2s}.course-progress-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.course-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.course-header h3{color:#111;margin:0 auto;font-size:1.3rem}.difficulty-badge{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase}.difficulty-badge.beginner{background-color:#d4edda;color:#155724}.difficulty-badge.intermediate{background-color:#fff3cd;color:#856404}.difficulty-badge.advanced{background-color:#f8d7da;color:#721c24}.course-description{color:#666;margin-bottom:1.5rem;line-height:1.6}.course-stats{margin-bottom:1.5rem}.stat-row{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.9rem}.stat-row:first-child{font-weight:600;color:#111}.stat-row:not(:first-child){color:#666}.progress-bar{background-color:#f0f0f0;border-radius:10px;height:8px;margin-bottom:1.5rem;overflow:hidden}.progress-fill{background-color:#58a6ff;height:100%;border-radius:10px;transition:width .3s ease}.course-actions{display:flex;gap:1rem}.btn-primary{background-color:#58a6ff;border-color:#58a6ff;color:#fff;flex:1}.btn-primary:hover:not(:disabled){background-color:#06c;border-color:#06c;color:#fff}.btn-primary:disabled{background-color:#28a745;border-color:#28a745;color:#fff;cursor:default}.btn-secondary{background-color:transparent;border-color:#58a6ff;color:#58a6ff}.btn-secondary:hover{background-color:#58a6ff;color:#fff}.learning-tips{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 12px #0000001a;border:2px solid #f0f0f0}.learning-tips h3{color:#111;margin-bottom:1rem}.learning-tips ul{list-style:none;padding:0}.learning-tips li{color:#666;position:relative;padding:.5rem 0 .5rem 1.5rem}.learning-tips li:before{content:"✓";position:absolute;left:0;color:#28a745;font-weight:700}.loading{text-align:center;padding:2rem;color:#666;font-size:1.1rem}@media (max-width: 768px){.auth-modal{margin:1rem;padding:1.5rem}.my-courses-header{flex-direction:column;gap:1rem;text-align:center}.summary-stats{grid-template-columns:1fr;gap:1rem}.courses-grid{grid-template-columns:1fr}.course-actions{flex-direction:column}.auth-section{display:none}.nav-links.active .auth-section{display:flex;flex-direction:column;width:100%;margin-top:1rem;padding-top:1rem;border-top:1px solid #eee}}.welcome-banner{background:linear-gradient(135deg,#58a6ff,#06c);color:#fff;padding:.75rem 0;text-align:center;position:relative;z-index:1001}.welcome-content{max-width:1200px;margin:0 auto;display:flex;justify-content:center;align-items:center;gap:1rem;padding:0 2rem}.welcome-content span{font-weight:600;font-size:1rem}.welcome-close{background:none;border:none;color:#fff;font-size:1.2rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background-color .2s}.welcome-close:hover{background-color:#fff3}@media (max-width: 768px){.welcome-content{flex-direction:column;gap:.5rem;padding:0 1rem}.welcome-content span{font-size:.9rem}}.lessons{max-width:1200px;margin:0 auto;padding:2rem 1rem}.lesson-grid,.lessons-list{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;gap:1.5rem;margin-top:2rem;width:100%!important;max-width:none!important}.lesson-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px #0000001a;border:1px solid #e1e5e9;transition:all .3s ease}.lesson-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.lesson-header{margin-bottom:1.5rem}.lesson-number{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600;margin-bottom:1rem}.lesson-header h3{margin:0 0 .5rem;color:#2d3748;font-size:1.25rem;font-weight:600}.lesson-description{color:#718096;margin:0 auto;line-height:1.6}.lesson-content{margin-bottom:1.5rem}.lesson-text{color:#4a5568;line-height:1.7}.lesson-text h1,.lesson-text h2,.lesson-text h3{color:#2d3748;margin-top:1.5rem;margin-bottom:.75rem}.lesson-text code{background:#f7fafc;padding:.2rem .4rem;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;color:#e53e3e}.lesson-text pre{background:#2d3748;color:#e2e8f0;padding:1rem;border-radius:8px;overflow-x:auto;margin:1rem 0}.lesson-text pre code{background:none;color:inherit;padding:0}.lesson-actions{display:flex;justify-content:flex-end}.no-lessons{text-align:center;padding:4rem 2rem;color:#718096}.no-lessons p{margin:.5rem 0;font-size:1.1rem}@media (max-width: 768px){.lesson-grid,.lessons-list{grid-template-columns:1fr!important;gap:1.5rem}}@media (min-width: 769px) and (max-width: 1024px){.lesson-grid,.lessons-list{grid-template-columns:repeat(2,1fr)!important;gap:1.5rem}}@media (min-width: 1025px){.lesson-grid,.lessons-list{grid-template-columns:repeat(3,1fr)!important;gap:1.5rem}}.lesson-card{padding:1.25rem}.lessons{padding:1rem}.tools-container{display:grid;grid-template-columns:300px 1fr;gap:2rem;max-width:1400px;margin:0 auto;padding:0 2rem}.tools-sidebar{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 10px #0000001a;height:fit-content;position:static}.language-selector h3{margin-bottom:1rem;color:#333;font-size:1.1rem}.language-buttons{display:flex;flex-direction:column;gap:.5rem;margin-bottom:2rem}.lang-btn{padding:.75rem 1rem;border:2px solid #e0e0e0;background:#fff;color:#333;border-radius:6px;cursor:pointer;transition:all .2s ease;text-align:left;font-size:.95rem}.lang-btn:hover{border-color:#007acc;background:#f0f8ff}.lang-btn.active{border-color:#007acc;background:#007acc;color:#fff}.run-controls{display:flex;flex-direction:column;gap:1rem}.run-btn{background:#28a745;border-color:#28a745;font-weight:600;padding:.75rem 1.5rem}.run-btn:hover:not(:disabled){background:#218838;border-color:#218838;transform:translateY(-1px)}.run-btn:disabled{background:#6c757d;border-color:#6c757d;cursor:not-allowed;transform:none}.editor-section{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.language-badge{background:#007acc;color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase}.monaco-editor-container{border:1px solid #e9ecef}.output-section{grid-column:1 / -1;background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:1.5rem;margin-top:2rem}.output-section h3{margin-bottom:1rem;color:#333;font-size:1.1rem}.output-container{background:#f8f9fa;border-radius:6px;padding:1rem;min-height:120px}.output-content h4,.error-content h4{margin-bottom:.5rem;color:#333;font-size:.95rem}.output-text,.error-text{background:#fff;border:1px solid #e9ecef;border-radius:4px;padding:.75rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;line-height:1.4;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto}.error-text{border-color:#dc3545;background:#fff5f5;color:#721c24}.no-output{text-align:center;color:#6c757d;padding:2rem}.no-output p{margin:0 auto;font-style:italic}@media (max-width: 1024px){.tools-container{grid-template-columns:1fr;gap:1.5rem}.tools-sidebar{position:static;order:2}.editor-section{order:1}}@media (max-width: 768px){.tools-container{padding:0 1rem}.tools-sidebar{padding:1rem}.language-buttons{flex-direction:row;flex-wrap:wrap}.lang-btn{flex:1;min-width:120px;text-align:center}.run-controls{flex-direction:row}.editor-header{flex-direction:column;gap:.5rem;align-items:flex-start}}.lang-btn:focus,.run-btn:focus{outline:2px solid #007acc;outline-offset:2px}.output-text:focus,.error-text:focus{outline:2px solid #007acc;outline-offset:2px}@media (prefers-contrast: high){.tools-sidebar,.editor-section,.output-section{border:2px solid #000}.lang-btn,.output-text,.error-text{border-width:2px}}.lesson-main-container{display:grid;grid-template-columns:300px 1fr;gap:1.5rem;width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.lesson-sidebar{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 10px #0000001a;height:fit-content;position:sticky;top:2rem}.lesson-sidebar h3{margin-bottom:1rem;color:#333;font-size:1.1rem}.lesson-list{display:flex;flex-direction:column;gap:.5rem}.lesson-item{display:flex;flex-direction:column;align-items:flex-start;padding:1rem;border:2px solid #e0e0e0;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.lesson-item:hover{border-color:#007acc;background:#f0f8ff;transform:translateY(-1px)}.lesson-item.active{border-color:#007acc;background:#007acc;color:#fff}.lesson-item .lesson-number{font-size:.8rem;font-weight:600;color:inherit;opacity:.8;margin-bottom:.25rem}.lesson-item .lesson-title{font-size:.9rem;font-weight:500;line-height:1.3}.lesson-main-content{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.lesson-content-area{padding:2rem;border-bottom:1px solid #e9ecef}.lesson-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.lesson-header h2{margin:0 auto;color:#333;font-size:1.8rem;line-height:1.2}.lesson-meta{display:flex;align-items:center;gap:1rem}.lesson-introduction{background:#f8f9fa;border-radius:6px;padding:1rem;margin-bottom:1.5rem}.lesson-introduction p{margin:0 auto;color:#495057;font-size:1rem;line-height:1.5}.lesson-text{line-height:1.6;color:#333}.lesson-text h1,.lesson-text h2,.lesson-text h3{margin:1.5rem 0 1rem;color:#333}.lesson-text p{margin-bottom:1rem}.lesson-text code{background:#f1f3f4;padding:.2rem .4rem;border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em}.lesson-text pre{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:1rem;overflow-x:auto;margin:1rem 0}.lesson-text pre code{background:none;padding:0}.lesson-interactive-column{padding:2rem}.lesson-editor-container{background:#fff;border:1px solid #e9ecef;border-radius:8px;overflow:hidden;margin-bottom:1.5rem}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#f8f9fa;border-bottom:1px solid #e9ecef}.editor-header h3{margin:0 auto;color:#333;font-size:1.1rem}.editor-controls{display:flex;gap:.5rem}.lesson-output-container{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:1rem;margin-bottom:1.5rem}.lesson-output-container h4{margin:0 0 .5rem;color:#333;font-size:.95rem}.output-box{background:#fff;border:1px solid #e9ecef;border-radius:4px;padding:.75rem;min-height:80px}.output-text{margin:0 auto;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;line-height:1.4;white-space:pre-wrap;word-break:break-word}.lesson-output-container .output-text{background:#000;color:#fff;border-left:4px solid #58a6ff;padding:12px;border-radius:4px}.placeholder-text{margin:0 auto;color:#6c757d;font-style:italic;text-align:center;padding:1rem}.lesson-actions{display:flex;justify-content:flex-end;gap:1rem}.no-lesson-selected{text-align:center;padding:4rem 2rem;color:#6c757d}.no-lesson-selected p{font-size:1.1rem;margin:0 auto}@media (max-width: 1024px){.lesson-main-container{grid-template-columns:1fr;gap:1.5rem}.lesson-sidebar{position:static;order:2}.lesson-main-content{order:1}}@media (max-width: 768px){.lesson-main-container{padding:0 1rem}.lesson-content-area,.lesson-interactive-column{padding:1.5rem}.lesson-header{flex-direction:column;gap:1rem;align-items:flex-start}.lesson-header h2{font-size:1.5rem}.lesson-item{padding:.75rem}.lesson-item .lesson-title{font-size:.85rem}}.lesson-item:focus{outline:2px solid #007acc;outline-offset:2px}.editor-header button:focus{outline:2px solid #007acc;outline-offset:2px}@media (prefers-contrast: high){.lesson-sidebar,.lesson-main-content{border:2px solid #000}.lesson-item,.lesson-editor-container,.lesson-output-container{border-width:2px}}.auth-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-modal{background:#fff;border-radius:12px;padding:2rem;max-width:450px;width:90%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 40px #0000004d;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:.25rem;border-radius:4px;transition:all .2s}.auth-close:hover{background:#f0f0f0;color:#333}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h2{margin:0 0 .5rem;color:#333;font-size:1.75rem}.auth-header p{margin:0 auto;color:#666;font-size:1rem}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#333;font-size:.9rem}.form-group input{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-help{font-size:.8rem;color:#666;margin-top:.25rem}.password-input-container{position:relative;display:flex;align-items:center}.password-toggle{position:absolute;right:.75rem;background:none;border:none;cursor:pointer;font-size:1.2rem;padding:.25rem;border-radius:4px;transition:background-color .2s}.password-toggle:hover{background:#f0f0f0}.password-strength{margin-top:.75rem;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.strength-bar{height:8px;background:#e9ecef;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.strength-fill{height:100%;transition:width .3s ease}.strength-text{font-size:.9rem;margin-bottom:.75rem;font-weight:600}.strength-feedback{list-style:none;padding:0;margin:0 auto;font-size:.8rem}.strength-feedback li{margin-bottom:.25rem;padding-left:1rem;position:relative}.strength-feedback li:before{content:"";position:absolute;left:0;top:.25rem;width:.5rem;height:.5rem;border-radius:50%}.strength-feedback li.valid:before{background:#28a745}.strength-feedback li.invalid:before{background:#dc3545}.auth-submit{background:#007bff;color:#fff;border:none;padding:.875rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:.5rem}.auth-submit:hover:not(:disabled){background:#0056b3;transform:translateY(-1px);box-shadow:0 4px 12px #007bff4d}.auth-submit:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.auth-toggle-section{display:flex;flex-direction:column;gap:.75rem;align-items:center;margin-top:1rem}.auth-toggle{background:none;border:none;color:#007bff;cursor:pointer;font-size:.9rem;text-decoration:underline;transition:color .2s}.auth-toggle:hover{color:#0056b3}.auth-toggle.forgot-password{color:#6c757d;font-size:.85rem}.auth-toggle.forgot-password:hover{color:#495057}.auth-error{background:#f8d7da;color:#721c24;padding:.75rem;border-radius:8px;border:1px solid #f5c6cb;font-size:.9rem}.auth-message{background:#d4edda;color:#155724;padding:.75rem;border-radius:8px;border:1px solid #c3e6cb;font-size:.9rem}.remember-me{margin:.5rem 0}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;color:#555;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{display:none}.checkmark{width:18px;height:18px;border:2px solid #ddd;border-radius:4px;position:relative;transition:all .2s;background:#fff}.checkbox-label:hover .checkmark{border-color:#007bff}.checkbox-label input[type=checkbox]:checked+.checkmark{background:#007bff;border-color:#007bff}.checkbox-label input[type=checkbox]:checked+.checkmark:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700}.session-warning{background:#fff3cd;border:1px solid #ffeaa7;color:#856404;padding:.75rem 1rem;text-align:center;position:relative;z-index:100}.warning-content{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.warning-actions{display:flex;gap:.5rem;align-items:center}.btn-small{padding:.375rem .75rem;font-size:.875rem;border-radius:6px}.btn-primary{background:#007bff;color:#fff;border:none;cursor:pointer;transition:background-color .2s}.btn-primary:hover{background:#0056b3}.btn-secondary{background:#6c757d;color:#fff;border:none;cursor:pointer;transition:background-color .2s}.btn-secondary:hover{background:#545b62}.running-indicator{display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:8px;margin-bottom:16px}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.output-hint{color:#666;font-style:italic;margin-top:8px;font-size:14px}.output-text{background:#1e1e1e;color:#0f0;padding:16px;border-radius:6px;font-family:Courier New,monospace;font-size:14px;line-height:1.5;white-space:pre-wrap;border-left:4px solid #00ff00}.error-text{background:#2d1b1b;color:#ff6b6b;padding:16px;border-radius:6px;font-family:Courier New,monospace;font-size:14px;line-height:1.5;white-space:pre-wrap;border-left:4px solid #ff6b6b}.output-content h4,.error-content h4{margin:0 0 12px;color:#333;font-size:16px;font-weight:600}.output-content h4{color:#2d5a2d}.error-content h4{color:#8b2d2d}.monaco-editor-container{border:2px solid #e1e5e9;border-radius:8px;overflow:hidden;transition:border-color .3s ease}.monaco-editor-container:focus-within{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.language-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}.lang-btn{padding:10px 16px;border:2px solid #e1e5e9;background:#fff;color:#333;border-radius:6px;cursor:pointer;transition:all .3s ease;font-weight:500}.lang-btn:hover{border-color:#667eea;background:#f8f9ff}.lang-btn.active{background:#667eea;color:#fff;border-color:#667eea}.run-controls{display:flex;flex-direction:column;gap:12px}.run-btn{padding:12px 24px;font-size:16px;font-weight:600;border-radius:8px;transition:all .3s ease}.run-btn:disabled{opacity:.6;cursor:not-allowed}.run-btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}@media (max-width: 768px){.tools-container{grid-template-columns:1fr;gap:20px}.tools-sidebar{order:2}.editor-section{order:1}.output-section{order:3}.language-buttons{grid-template-columns:1fr}}.input-prompts{background:#f8f9fa;border:2px solid #667eea;border-radius:8px;padding:20px;margin-bottom:20px}.input-prompts h4{margin:0 0 16px;color:#667eea;font-size:18px;font-weight:600}.input-prompt{margin-bottom:16px}.input-prompt:last-child{margin-bottom:20px}.input-prompt label{display:block;margin-bottom:8px;color:#333;font-weight:500;font-size:14px}.prompt-input{width:100%;padding:12px;border:2px solid #e1e5e9;border-radius:6px;font-size:14px;transition:border-color .3s ease}.prompt-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.submit-inputs-btn{width:auto;min-width:200px;padding:var(--spacing-sm) var(--spacing-xl);font-size:var(--font-size-base);font-weight:600;border-radius:var(--radius-md);transition:all .3s ease;margin:var(--spacing-md) auto 0;display:block}.submit-inputs-btn:disabled{opacity:.6;cursor:not-allowed}.submit-inputs-btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.welcome-banner{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:.75rem 2rem;text-align:center;position:relative}.welcome-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1rem}.welcome-close{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.25rem;border-radius:4px;transition:background-color .2s}.welcome-close:hover{background-color:#ffffff1a}.session-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:.75rem 2rem;text-align:center;position:relative}.warning-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1rem}.warning-actions{display:flex;gap:.5rem}.btn-small{padding:.375rem .75rem;font-size:.75rem;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background-color:#2563eb;color:#fff;border:1px solid #2563eb}.btn-primary:hover{background-color:#1d4ed8;border-color:#1d4ed8}.btn-secondary{background-color:transparent;color:#fff;border:1px solid white}.btn-secondary:hover{background-color:#fff;color:#d97706}@media (max-width: 768px){.welcome-banner,.session-warning{padding:.75rem 1rem}.welcome-content,.warning-content{flex-direction:column;gap:.5rem}.warning-actions{justify-content:center}}.about-page{max-width:1200px;margin:0 auto;padding:2rem}.hero-subtitle{font-size:var(--font-size-xl);opacity:.95;max-width:600px;margin:0 auto}.about-content{display:flex;flex-direction:column;gap:3rem}.about-content section{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 4px 6px #0000001a;border:1px solid #e5e7eb}.about-content h2{font-size:2rem;margin-bottom:1.5rem;color:#1f2937;border-bottom:3px solid #3b82f6;padding-bottom:.5rem}.about-content h3{font-size:1.25rem;margin-bottom:1rem;color:#374151}.about-content p{font-size:1.1rem;line-height:1.7;margin-bottom:1rem;color:#4b5563}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}.feature-card{background:#f8fafc;padding:1.5rem;border-radius:.75rem;border:2px solid #e2e8f0;transition:all .3s ease}.feature-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026;border-color:#3b82f6}.feature-card h3{color:#1e40af;margin-bottom:1rem}.tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1.5rem}.tech-category{background:#f1f5f9;padding:1.5rem;border-radius:.75rem;border-left:4px solid #3b82f6}.tech-category h3{color:#1e40af;margin-bottom:1rem}.tech-category ul{list-style:none;padding:0}.tech-category li{padding:.5rem 0;border-bottom:1px solid #e2e8f0;color:#475569}.tech-category li:last-child{border-bottom:none}.accessibility-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1.5rem}.accessibility-item{background:#f0f9ff;padding:1.5rem;border-radius:.75rem;border:2px solid #0ea5e9;transition:all .3s ease}.accessibility-item:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0ea5e926}.accessibility-item h3{color:#0369a1;margin-bottom:1rem}.accessibility-item ul{list-style:none;padding:0}.accessibility-item li{color:#0c4a6e;position:relative;padding:.5rem 0 .5rem 1.5rem}.accessibility-item li:before{content:"✓";position:absolute;left:0;color:#0ea5e9;font-weight:700}.roadmap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}.roadmap-item{background:#fef3c7;padding:1.5rem;border-radius:.75rem;border:2px solid #f59e0b;transition:all .3s ease}.roadmap-item:hover{transform:translateY(-2px);box-shadow:0 8px 25px #f59e0b26}.roadmap-item h3{color:#92400e;margin-bottom:1rem}.roadmap-item p{color:#78350f}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem}.team-member{background:#ecfdf5;padding:1.5rem;border-radius:.75rem;border:2px solid #10b981;transition:all .3s ease}.team-member:hover{transform:translateY(-2px);box-shadow:0 8px 25px #10b98126}.team-member h3{color:#065f46;margin-bottom:1rem}.team-member p{color:#064e3b}.contact-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:1.5rem}.contact-item{background:#fdf2f8;padding:1.5rem;border-radius:.75rem;border:2px solid #ec4899;text-align:center;transition:all .3s ease}.contact-item:hover{transform:translateY(-2px);box-shadow:0 8px 25px #ec489926}.contact-item h3{color:#831843;margin-bottom:.5rem}.contact-item p{color:#be185d;font-weight:600;margin:0 auto}.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1.5rem}.value-item{background:#f3f4f6;padding:1.5rem;border-radius:.75rem;border:2px solid #6b7280;transition:all .3s ease}.value-item:hover{transform:translateY(-2px);box-shadow:0 8px 25px #6b728026;border-color:#3b82f6}.value-item h3{color:#374151;margin-bottom:1rem}.value-item p{color:#4b5563}@media (max-width: 768px){.about-page{padding:1rem}.hero-subtitle{font-size:1.1rem}.about-content section{padding:1.5rem}.features-grid,.tech-grid,.accessibility-grid,.roadmap-grid,.team-grid,.contact-info,.values-grid{grid-template-columns:1fr}}.high-contrast .about-page{background-color:#fff!important;color:#000!important}.high-contrast .hero,.high-contrast .courses-hero,.high-contrast .my-courses-hero,.high-contrast .tools-hero,.high-contrast .features-hero,.high-contrast .about-hero{background:#000!important;color:#fff!important;border:3px solid #ffffff!important;box-shadow:none!important;text-shadow:none!important}.high-contrast .hero h1:focus,.high-contrast .courses-hero h1:focus,.high-contrast .my-courses-hero h1:focus,.high-contrast .tools-hero h1:focus,.high-contrast .features-hero h1:focus,.high-contrast .about-hero h1:focus{outline:4px solid #ffff00!important;outline-offset:2px!important;background:#000!important;color:#ff0!important}.high-contrast .hero:focus-within,.high-contrast .courses-hero:focus-within,.high-contrast .my-courses-hero:focus-within,.high-contrast .tools-hero:focus-within,.high-contrast .features-hero:focus-within,.high-contrast .about-hero:focus-within{outline:4px solid #ffff00!important;outline-offset:4px!important}.high-contrast .about-content section{background-color:#fff!important;color:#000!important;border-color:#000!important}.high-contrast .feature-card,.high-contrast .tech-category,.high-contrast .accessibility-item,.high-contrast .roadmap-item,.high-contrast .team-member,.high-contrast .contact-item,.high-contrast .value-item{background-color:#fff!important;color:#000!important;border-color:#000!important}@media (prefers-reduced-motion: reduce){.hero,.courses-hero,.my-courses-hero,.tools-hero,.features-hero,.about-hero,.hero *,.courses-hero *,.my-courses-hero *,.tools-hero *,.features-hero *,.about-hero *{animation:none!important;transition:none!important}}.hero:focus-within,.courses-hero:focus-within,.my-courses-hero:focus-within,.tools-hero:focus-within,.features-hero:focus-within,.about-hero:focus-within{scroll-behavior:smooth}.skip-to-main{position:absolute;top:-40px;left:6px;background:var(--primary-color);color:#fff;padding:8px;text-decoration:none;border-radius:4px;z-index:1000;font-weight:600;transition:top .3s}.skip-to-main:focus{top:6px}.lang-toggle{display:flex;align-items:center}.lang-toggle-btn{display:flex;align-items:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.3);border-radius:1.5rem;padding:.3rem .6rem;color:#fff;font-weight:500;font-size:.8rem;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden}.lang-toggle-btn:hover{background:#fff3;border-color:#ffffff80;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.lang-toggle-btn:focus{outline:2px solid #fbbf24;outline-offset:2px}.lang-option{padding:.15rem .3rem;border-radius:.8rem;transition:all .3s ease;position:relative;z-index:2;font-size:.75rem}.lang-option.active{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#000;font-weight:700;text-shadow:none;box-shadow:0 2px 8px #fbbf2466}.lang-divider{margin:0 .3rem;opacity:.4;font-weight:300;font-size:.7rem}.lang-toggle-btn.active-en .lang-option:first-child{transform:scale(1.1)}.lang-toggle-btn.active-tr .lang-option:last-child{transform:scale(1.1)}.high-contrast .lang-toggle-btn{background:#000!important;border-color:#fff!important;color:#fff!important}.high-contrast .lang-option.active{background:#ff0!important;color:#000!important}.large-text .lang-toggle-btn{font-size:1.1rem!important;padding:.75rem 1.25rem!important}@media (max-width: 768px){.lang-toggle-btn{font-size:.8rem;padding:.4rem .8rem}.lang-option{padding:.2rem .4rem}.lang-divider{margin:0 .3rem}}@media (prefers-reduced-motion: reduce){.lang-toggle-btn,.lang-option{transition:none!important;transform:none!important}}.large-text .about-page{font-size:1.2rem!important}.large-text .about-hero h1{font-size:3.6rem!important}.large-text .about-hero .hero-subtitle{font-size:1.5rem!important}.large-text .about-content h2{font-size:2.4rem!important}.large-text .about-content h3{font-size:1.5rem!important}.large-text .about-content p{font-size:1.32rem!important}.courses{max-width:1200px;margin:0 auto;padding:0 1.5rem;width:100%;box-sizing:border-box}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-bottom:3rem;width:100%;box-sizing:border-box;justify-content:center;justify-items:center}.course-card{background:var(--bg-secondary);border-radius:1rem;box-shadow:0 4px 20px #0000001a;overflow:hidden;transition:all .3s ease;border:2px solid var(--border-color);position:relative;width:100%;max-width:400px;box-sizing:border-box}.course-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #00000026;border-color:var(--primary-color)}.course-card-interactive{cursor:pointer;transition:all .3s ease}.course-card-interactive:hover{transform:translateY(-5px);box-shadow:0 8px 30px #00000026}.course-card-interactive:focus{outline:3px solid var(--primary-color);outline-offset:2px}.course-card-header{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.course-card-header h3{font-size:1.4rem;font-weight:600;color:var(--text-color);margin:0 auto;line-height:1.3;flex:1;margin-right:1.5rem}.difficulty-badge{padding:.4rem .8rem;border-radius:2rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;flex-shrink:0}.difficulty-badge.beginner{background:linear-gradient(135deg,#4ade80,#22c55e);color:#fff}.difficulty-badge.intermediate{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.difficulty-badge.advanced{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.course-description{padding:1rem 1.5rem;color:var(--text-secondary);line-height:1.6;margin:0 auto;font-size:.95rem}.course-meta{padding:0 1.5rem 1rem}.course-features{list-style:none;padding:0;margin:0 auto;display:flex;flex-wrap:wrap;gap:.5rem}.course-features li{background:var(--bg-secondary);color:var(--text-secondary);padding:.3rem .8rem;border-radius:1rem;font-size:.8rem;font-weight:500;border:1px solid #e5e7eb}.course-action{display:flex;justify-content:center;padding:var(--spacing-md) var(--spacing-lg) var(--spacing-lg)}.course-action .btn{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);font-weight:600;border-radius:var(--radius-md);transition:all .3s ease;min-width:120px}.course-stats{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--bg-secondary);border-top:1px solid #f0f0f0;font-size:.9rem;color:var(--text-secondary)}.course-stat{display:flex;align-items:center;gap:.5rem}.course-stat-icon{width:16px;height:16px;opacity:.7}.course-progress{position:absolute;top:1rem;right:1rem;background:#000c;color:#fff;padding:.3rem .6rem;border-radius:1rem;font-size:.8rem;font-weight:600}.course-categories{display:flex;gap:.5rem;padding:0 1.5rem 1rem;flex-wrap:wrap}.course-category{background:var(--primary-color);color:#fff;padding:.2rem .6rem;border-radius:1rem;font-size:.75rem;font-weight:500}.course-duration{position:absolute;top:1rem;left:1rem;background:#000000b3;color:#fff;padding:.3rem .6rem;border-radius:1rem;font-size:.8rem;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.courses .loading,.courses .auth-error{text-align:center;padding:3rem 2rem;color:var(--text-secondary)}.courses .loading p{font-size:1.1rem;margin:0 auto}.loading-spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.courses .loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px}.courses .loading p{font-size:1.1rem;margin:0 auto;color:var(--text-secondary);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.courses-empty{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.courses-empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.courses-empty h3{font-size:1.5rem;margin-bottom:1rem;color:var(--text-color)}.courses-empty p{font-size:1rem;line-height:1.6;max-width:500px;margin:0 auto}@media (max-width: 768px){.courses{padding:0 1rem}.course-grid{grid-template-columns:1fr;gap:1rem}}.course-card-header{padding:1.25rem 1.25rem .75rem;flex-direction:column;align-items:flex-start;gap:.75rem}.course-card-header h3{font-size:1.3rem}.difficulty-badge{align-self:flex-start}} @media (max-width: 480px){.course-card{margin:0 .5rem}.course-card-header,.course-description,.course-meta,.course-action{padding-left:1.25rem;padding-right:1.25rem}}.high-contrast .course-card{border:2px solid #000;background:#fff}.high-contrast .course-card:hover{border-color:#06c;background:#f0f8ff}.high-contrast .difficulty-badge.beginner,.high-contrast .difficulty-badge.intermediate,.high-contrast .difficulty-badge.advanced{background:#000;color:#fff}.large-text .course-card-header h3{font-size:1.6rem}.large-text .course-description{font-size:1.1rem}.large-text .course-features li{font-size:.9rem;padding:.4rem .9rem}.large-text .course-action .btn{font-size:1.1rem;padding:.9rem 1.6rem}.reduced-motion .course-card,.reduced-motion .course-card:hover{transition:none;transform:none}.reduced-motion .course-action .btn{transition:none}.course-card:focus-within{outline:3px solid var(--primary-color);outline-offset:2px}.course-card[role=button]{cursor:pointer}.course-card[role=button]:focus{outline:3px solid var(--primary-color);outline-offset:2px}@keyframes courseCardFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.course-card{animation:courseCardFadeIn .6s ease-out}.course-card:nth-child(1){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}.course-card:nth-child(5){animation-delay:.5s}.courses-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.courses-search{flex:1;min-width:250px;position:relative}.courses-search input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:2px solid #e5e7eb;border-radius:.5rem;font-size:1rem;transition:border-color .3s ease}.courses-search input:focus{outline:none;border-color:var(--primary-color)}.courses-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);width:20px;height:20px}.courses-filters{display:flex;gap:.5rem;flex-wrap:wrap}.filter-btn{padding:.5rem 1rem;border:2px solid #e5e7eb;background:#fff;color:var(--text-color);border-radius:.5rem;cursor:pointer;transition:all .3s ease;font-size:.9rem}.filter-btn:hover,.filter-btn.active{border-color:var(--primary-color);background:var(--primary-color);color:#fff}.course-grid.compact{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.course-grid.wide{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2.5rem}.course-card.featured{border-color:var(--primary-color);box-shadow:0 6px 25px rgba(var(--primary-color-rgb),.2)}.course-card.featured:before{content:"⭐ Featured";position:absolute;top:1rem;left:1rem;background:var(--primary-color);color:#fff;padding:.3rem .6rem;border-radius:1rem;font-size:.8rem;font-weight:600;z-index:1}@media (prefers-reduced-motion: reduce){.course-card,.course-card:hover{transition:none;transform:none}.course-action .btn{transition:none}}@media print{.course-card{break-inside:avoid;box-shadow:none;border:1px solid #ccc}.course-action{display:none}.hero,.courses-hero,.my-courses-hero,.tools-hero,.features-hero,.about-hero{background:#000!important;color:#fff!important;box-shadow:none;border:2px solid #ffffff}}.large-text .main-nav{height:80px;padding:0 1rem}.large-text .main-nav>a{margin-right:.75rem}.large-text .main-nav img{width:28px;height:28px;margin-right:.4rem}.large-text .main-nav span{font-size:1.1rem}.large-text .nav-links a{font-size:.9rem;padding:.5rem .6rem;margin:0 .05rem}.large-text .username{font-size:.9rem}.large-text .btn-login,.large-text .btn-logout{font-size:.9rem;padding:.4rem .8rem}.large-text .auth-section,.large-text .user-menu{gap:.3rem}.large-text .nav-links a{font-size:.8rem!important;padding:.4rem .5rem!important;margin:0 .02rem!important}.large-text .username{font-size:.8rem!important}.large-text .main-nav span{font-size:1rem!important}.large-text .btn-login,.large-text .btn-logout{font-size:.8rem!important;padding:.35rem .6rem!important}.large-text .accessibility-toggle-button{font-size:.8rem!important;padding:.35rem .5rem!important}@media (max-width: 1024px){.large-text .main-nav{height:auto;min-height:80px;padding:.5rem 1rem}.large-text .nav-links{order:3;width:100%;justify-content:center;margin-top:.5rem;gap:.1rem}.large-text .nav-links a{font-size:.75rem!important;padding:.35rem .4rem!important;margin:0 .01rem!important}.large-text .auth-section{margin-left:0;order:2}.large-text .main-nav>a{margin-right:.75rem}.large-text .main-nav img{width:28px;height:28px;margin-right:.4rem}.large-text .main-nav span{font-size:1rem}}@media (max-width: 900px){.large-text .nav-links a{font-size:.7rem!important;padding:.3rem .35rem!important;margin:0!important}.large-text .username{font-size:.7rem!important}.large-text .btn-login,.large-text .btn-logout{font-size:.7rem!important;padding:.3rem .5rem!important}.large-text .accessibility-toggle-button{font-size:.7rem!important;padding:.3rem .4rem!important}}.coding-practice-hero{text-align:center;padding:2rem 0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;margin-bottom:2rem}.coding-practice-hero h1{font-size:2.5rem;margin-bottom:1rem}.coding-practice-hero p{font-size:1.2rem;opacity:.9}.tools-navigation{margin-top:2rem;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.tools-navigation .btn{padding:.75rem 1.5rem;font-size:1rem;border-radius:8px;text-decoration:none;transition:all .3s ease}.tools-navigation .btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.coding-practice-container{display:grid;grid-template-columns:300px 1fr;gap:2rem;max-width:1400px;margin:0 auto;padding:0 1rem}.problems-sidebar{background:#f8f9fa;border-radius:12px;padding:1.5rem;height:fit-content;position:sticky;top:2rem}.problems-sidebar h3{margin-bottom:1rem;color:#333;font-size:1.2rem}.problems-list{display:flex;flex-direction:column;gap:.5rem}.problem-item{padding:1rem;background:#fff;border-radius:8px;cursor:pointer;transition:all .3s ease;border:2px solid transparent}.problem-item:hover{background:#e3f2fd;border-color:#2196f3}.problem-item.active{background:#2196f3;color:#fff;border-color:#1976d2}.problem-item:focus{outline:2px solid #ff9800;outline-offset:2px}.problem-title{font-weight:600;margin-bottom:.5rem}.problem-difficulty{font-size:.9rem;opacity:.8}.problem-content{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 10px #0000001a}.problem-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.problem-header h2{color:#333;margin:0}.difficulty-badge{background:#4caf50;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600}.problem-description{margin-bottom:2rem}.problem-description h3{color:#333;margin-bottom:1rem}.problem-description p{line-height:1.6;margin-bottom:1.5rem}.example{background:#f8f9fa;border-radius:8px;padding:1rem;margin-bottom:1rem}.example-input,.example-output{margin-bottom:.5rem}.example pre{background:#2d3748;color:#e2e8f0;padding:.75rem;border-radius:4px;font-family:Courier New,monospace;font-size:.9rem;margin:.5rem 0;overflow-x:auto}.code-section{margin-bottom:2rem}.code-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.language-selector{display:flex;gap:.5rem}.lang-btn{padding:.5rem 1rem;border:2px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;transition:all .3s ease;font-size:.9rem}.lang-btn:hover{border-color:#2196f3;background:#f0f8ff}.lang-btn.active{background:#2196f3;color:#fff;border-color:#1976d2}.editor-container{border:2px solid #e0e0e0;border-radius:8px;overflow:hidden;margin-bottom:1rem}.code-actions{display:flex;gap:1rem;margin-bottom:1rem}.hint-section,.output-section,.error-section{background:#f8f9fa;border-radius:8px;padding:1.5rem;margin-bottom:1rem}.hint-section h3,.output-section h3,.error-section h3{color:#333;margin-bottom:1rem}.hint-content p,.output-content pre,.error-content pre{background:#fff;padding:1rem;border-radius:4px;border-left:4px solid #2196f3;margin:0;font-family:Courier New,monospace;white-space:pre-wrap;word-wrap:break-word}.error-content pre{border-left-color:#f44336;color:#d32f2f}@media (max-width: 768px){.coding-practice-container{grid-template-columns:1fr;gap:1rem}.problems-sidebar{position:static}.problem-header,.code-header{flex-direction:column;align-items:flex-start;gap:1rem}.language-selector{flex-wrap:wrap}.tools-navigation{flex-direction:column;align-items:center}}.focused{outline:3px solid var(--focus-color, #3b82f6)!important;outline-offset:2px!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[data-focus-trap]{outline:2px dashed var(--focus-color, #3b82f6);outline-offset:4px}button:focus,input:focus,select:focus,textarea:focus,a:focus,[tabindex]:focus{outline:2px solid var(--focus-color, #3b82f6);outline-offset:2px}.high-contrast,.high-contrast *{background-color:#fff!important;color:#000!important;border-color:#000!important;outline-color:#000!important}.high-contrast body{background-color:#fff!important;color:#000!important}.high-contrast header{background-color:#fff!important;color:#000!important;border-bottom:3px solid #000000!important}.high-contrast .main-nav{background-color:#fff!important;color:#000!important}.high-contrast .main-nav span,.high-contrast h1,.high-contrast h2,.high-contrast h3,.high-contrast h4,.high-contrast h5,.high-contrast h6,.high-contrast p,.high-contrast span,.high-contrast div,.high-contrast label,.high-contrast li{color:#000!important}.high-contrast button{background-color:#fff!important;color:#000!important;border:3px solid #000000!important;box-shadow:0 0 0 2px #000!important}.high-contrast input,.high-contrast select,.high-contrast textarea{background-color:#fff!important;color:#000!important;border:3px solid #000000!important}.high-contrast a{color:#000!important;text-decoration:underline!important;text-decoration-thickness:2px!important}.high-contrast .btn{background-color:#fff!important;color:#000!important;border:3px solid #000000!important;box-shadow:0 0 0 2px #000!important}.high-contrast .btn:hover{background-color:#000!important;color:#fff!important}.high-contrast .nav-links a{color:#000!important;border:2px solid transparent!important}.high-contrast .nav-links a:hover,.high-contrast .nav-links a.active{background-color:#000!important;color:#fff!important;border-color:#000!important}.high-contrast .username{color:#000!important}.high-contrast .btn-login,.high-contrast .btn-logout{background-color:#fff!important;color:#000!important;border:3px solid #000000!important}.high-contrast .focused{outline:4px solid #000000!important;outline-offset:3px!important}.high-contrast pre,.high-contrast code,.high-contrast .output-section{background-color:#f0f0f0!important;color:#000!important;border:3px solid #000000!important}.high-contrast .error,.high-contrast .success{color:#000!important;border-color:#000!important;background-color:#fff!important;border-width:3px!important}.high-contrast .card,.high-contrast .course-card{background-color:#fff!important;color:#000!important;border:3px solid #000000!important}.high-contrast .hero{background:#fff!important;color:#000!important}.high-contrast .courses,.high-contrast .tools-container{background-color:#fff!important;color:#000!important}.high-contrast .language-selector{background-color:#fff!important;color:#000!important;border:3px solid #000000!important}.high-contrast .run-controls{background-color:#fff!important;color:#000!important}.high-contrast .input-section,.high-contrast .welcome-banner,.high-contrast .session-warning{background-color:#fff!important;color:#000!important;border:3px solid #000000!important}.large-text,.large-text *{font-size:1.2rem!important}.large-text h1{font-size:2.5rem!important}.large-text h2{font-size:2.1rem!important}.large-text h3{font-size:1.8rem!important}.large-text h4{font-size:1.5rem!important}.large-text h5{font-size:1.3rem!important}.large-text h6,.large-text p,.large-text span,.large-text div,.large-text label,.large-text li,.large-text a,.large-text button,.large-text input,.large-text select,.large-text textarea,.large-text .btn,.large-text .nav-links a,.large-text .username,.large-text .main-nav span,.large-text .accessibility-toggle-button,.large-text .accessibility-text,.large-text .quick-menu-header h3,.large-text .option-text{font-size:1.2rem!important}.large-text .status-indicator{font-size:1rem!important}.large-text .nav-links{flex-wrap:nowrap!important;overflow:hidden!important;min-width:0!important}.large-text .nav-links li{flex-shrink:0!important}.large-text .auth-section{flex-shrink:0!important;margin-left:auto!important}@media (max-width: 768px){.large-text .nav-links a{font-size:1rem!important;padding:.5rem .6rem!important}.large-text .main-nav span{font-size:1.2rem!important}.large-text .accessibility-toggle-button{font-size:1rem!important;padding:3px 6px!important;min-height:28px!important}}@media (max-width: 480px){.large-text .nav-links a{font-size:.95rem!important;padding:.4rem .5rem!important}.large-text .main-nav span{font-size:1.1rem!important}}.reduced-motion *,.reduced-motion *:before,.reduced-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.color-blind-friendly{position:relative}.color-blind-friendly:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:repeating-linear-gradient(45deg,transparent,transparent 2px,rgba(0,0,0,.1) 2px,rgba(0,0,0,.1) 4px);pointer-events:none;z-index:1}button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}button:not(:disabled):active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}input:focus,select:focus,textarea:focus{border-color:var(--focus-color, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}a:focus{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}label{font-weight:600;color:var(--text-color, #374151);margin-bottom:4px;display:block}.error,.error-message{color:var(--error-color, #dc2626);border-color:var(--error-color, #dc2626);background-color:#dc26260d}.success,.success-message{color:var(--success-color, #16a34a);border-color:var(--success-color, #16a34a);background-color:#16a34a0d}.warning,.warning-message{color:var(--warning-color, #d97706);border-color:var(--warning-color, #d97706);background-color:#d977060d}.loading,.spinner{position:relative}.loading:after,.spinner:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid transparent;border-top:2px solid var(--primary-color, #2563eb);border-radius:50%;animation:spin 1s linear infinite}nav a:focus{background-color:var(--focus-bg, rgba(59, 130, 246, .1));border-radius:4px}table{border-collapse:collapse;width:100%}th,td{border:1px solid var(--border-color, #e0e0e0);padding:12px;text-align:left}th{background-color:var(--table-header-bg, #f8fafc);font-weight:600}ul,ol{padding-left:24px}li{margin-bottom:8px}pre,code{background-color:var(--code-bg, #f1f5f9);border:1px solid var(--border-color, #e0e0e0);border-radius:4px;padding:12px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;overflow-x:auto}.modal,.dialog{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content,.dialog-content{background:var(--bg-color, #ffffff);border-radius:8px;padding:24px;max-width:90vw;max-height:90vh;overflow:auto;border:2px solid var(--border-color, #e0e0e0)}[data-tooltip]{position:relative}[data-tooltip]:hover:after,[data-tooltip]:focus:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--tooltip-bg, #1f2937);color:#fff;padding:8px 12px;border-radius:4px;font-size:.875rem;white-space:nowrap;z-index:1000}.progress-bar{width:100%;height:8px;background-color:var(--progress-bg, #e5e7eb);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background-color:var(--primary-color, #2563eb);transition:width .3s ease}input[type=checkbox],input[type=radio]{width:20px;height:20px;accent-color:var(--primary-color, #2563eb)}input[type=range]{width:100%;height:8px;border-radius:4px;background:var(--range-bg, #e5e7eb);outline:none;accent-color:var(--primary-color, #2563eb)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--primary-color, #2563eb);cursor:pointer}select{padding:8px 12px;border:1px solid var(--border-color, #e0e0e0);border-radius:4px;background-color:var(--bg-color, #ffffff);color:var(--text-color, #374151);cursor:pointer}select:focus{border-color:var(--focus-color, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}textarea{resize:vertical;min-height:100px;font-family:inherit}fieldset{border:1px solid var(--border-color, #e0e0e0);border-radius:4px;padding:16px;margin:16px 0}legend{padding:0 8px;font-weight:600;color:var(--text-color, #374151)}button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed}.required:after{content:" *";color:var(--error-color, #dc2626);font-weight:700}.help-text{font-size:.875rem;color:var(--text-secondary, #6b7280);margin-top:4px}.valid{border-color:var(--success-color, #16a34a);background-color:#16a34a0d}.invalid{border-color:var(--error-color, #dc2626);background-color:#dc26260d}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media print{.accessibility-toggle-container,.accessibility-panel{display:none!important}*{background:#fff!important;color:#000!important;box-shadow:none!important}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.focused{outline-width:1.5px}}@media (prefers-reduced-motion: reduce){.loading:after,.spinner:after{animation:none}.skeleton{animation:none;background:#f0f0f0}}.accessibility-toggle-container{position:relative;display:inline-block}.accessibility-toggle-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:50%;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease;box-shadow:0 2px 8px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.accessibility-toggle-button:hover{background:#fff3;border-color:#ffffff80;transform:translateY(-1px) scale(1.05);box-shadow:0 4px 16px #0003}.accessibility-toggle-button:focus{outline:2px solid #fbbf24;outline-offset:2px;background:#fff3}.accessibility-icon{font-size:1.2rem;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}@media (max-width: 768px){.accessibility-toggle-button{width:40px;height:40px;font-size:1.1rem}}.quick-menu{position:absolute;top:100%;right:0;margin-top:12px;background:var(--bg-color, #ffffff);border:1px solid var(--border-color, rgba(0, 0, 0, .1));border-radius:12px;box-shadow:0 20px 40px #00000026,0 4px 12px #0000001a;min-width:280px;z-index:1000;animation:slideDown .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2}.quick-menu:before{content:"";position:absolute;top:-6px;right:12px;width:12px;height:12px;background:#fffffff2;border:1px solid rgba(0,0,0,.1);border-bottom:none;border-right:none;transform:rotate(45deg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}@keyframes slideDown{0%{opacity:0;transform:translateY(-15px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.quick-menu-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--secondary-bg, #f8fafc);border-bottom:1px solid var(--border-color, #e0e0e0);border-radius:8px 8px 0 0}.quick-menu-header h3{margin:0;font-size:.875rem;font-weight:600;color:var(--text-color, #374151)}.close-quick-menu{background:none;border:none;color:var(--text-secondary, #6b7280);font-size:1.25rem;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s}.close-quick-menu:hover,.close-quick-menu:focus{color:var(--text-color, #374151);background:var(--hover-bg, #e5e7eb);outline:2px solid var(--focus-color, #3b82f6);outline-offset:2px}.quick-menu-options{padding:12px 16px}.quick-option{margin-bottom:12px}.quick-option:last-child{margin-bottom:0}.quick-option-label{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s}.quick-option-label:hover{background:var(--hover-bg, #f3f4f6)}.quick-option input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary-color, #2563eb);margin:0}.option-text{flex:1;font-size:.875rem;font-weight:500;color:var(--text-color, #374151)}.status-indicator{font-size:.75rem;font-weight:600;padding:2px 6px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.status-indicator.enabled{background:var(--success-color, #dcfce7);color:var(--success-text, #166534)}.status-indicator.disabled{background:var(--error-color, #fee2e2);color:var(--error-text, #991b1b)}.quick-menu-footer{padding:12px 16px;border-top:1px solid var(--border-color, #e0e0e0);background:var(--secondary-bg, #f8fafc);border-radius:0 0 8px 8px}.keyboard-shortcuts{font-size:.75rem;color:var(--text-secondary, #6b7280);text-align:center}.keyboard-shortcuts strong{color:var(--text-color, #374151);font-weight:600}@media (max-width: 768px){.accessibility-toggle-button{padding:8px 16px;font-size:.875rem;min-height:40px}.accessibility-text{font-size:.875rem}.quick-menu{min-width:280px;right:-20px}.quick-menu:before{content:"";position:absolute;top:-8px;right:24px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid var(--border-color, #e0e0e0)}}.high-contrast .accessibility-toggle-button{background:#000!important;color:#fff!important;border:2px solid #ffffff!important}.high-contrast .accessibility-toggle-button:hover,.high-contrast .accessibility-toggle-button:focus{background:#fff!important;color:#000!important;border:2px solid #000000!important}.high-contrast .quick-menu{background-color:#fff!important;border:2px solid #000000!important}.high-contrast .quick-menu-header{background-color:#f0f0f0!important;border-bottom-color:#000!important}.high-contrast .quick-menu-footer{background-color:#f0f0f0!important;border-top-color:#000!important}.high-contrast .quick-menu-header h3,.high-contrast .option-text{color:#000!important}.high-contrast .status-indicator.enabled,.high-contrast .status-indicator.disabled{background-color:#fff!important;color:#000!important;border:1px solid #000000!important}.large-text .accessibility-toggle-button{font-size:.875rem!important;padding:8px 16px!important;min-height:36px!important}.large-text .accessibility-text{font-size:.875rem!important}.large-text .quick-menu-header h3,.large-text .option-text{font-size:1rem!important}.large-text .status-indicator{font-size:.875rem!important;padding:3px 8px!important}.accessibility-toggle-button:focus-visible{outline:2px solid var(--focus-color, #3b82f6);outline-offset:2px}.quick-option input[type=checkbox]:focus-visible{outline:2px solid var(--focus-color, #3b82f6);outline-offset:2px}@media (prefers-reduced-motion: reduce){.accessibility-toggle-button{transition:none}.quick-menu{animation:none}.quick-option-label{transition:none}}.floating-accessibility{position:fixed;bottom:20px;right:20px;z-index:9999}.floating-accessibility-button{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;cursor:pointer;box-shadow:0 8px 24px #667eea66,0 4px 12px #00000026;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden}.floating-accessibility-button:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#fff3,#ffffff1a);border-radius:50%;opacity:0;transition:opacity .3s ease}.floating-accessibility-button:hover:before{opacity:1}.floating-accessibility-button:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 12px 32px #667eea80,0 6px 16px #0003}.floating-accessibility-button:focus{outline:3px solid #fbbf24;outline-offset:3px}.floating-accessibility-button .accessibility-icon{font-size:1.5rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));z-index:2;position:relative}.floating-menu-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9998;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.floating-menu{position:fixed;bottom:90px;right:20px;width:320px;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:16px;box-shadow:0 24px 48px #0003,0 8px 16px #0000001a;z-index:9999;animation:slideUp .4s cubic-bezier(.4,0,.2,1);overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.floating-menu-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid rgba(0,0,0,.1);background:#ffffff80}.floating-menu-header h3{margin:0;font-size:1.1rem;font-weight:600;color:#1f2937}.close-floating-menu{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-floating-menu:hover{background:#0000001a;color:#1f2937}.close-floating-menu:focus{outline:2px solid #3b82f6;outline-offset:2px}.floating-menu-options{padding:1rem 1.5rem}.accessibility-option{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid rgba(0,0,0,.05)}.accessibility-option:last-child{border-bottom:none}.option-info{display:flex;flex-direction:column;flex:1}.option-text{font-size:.95rem;font-weight:500;color:#1f2937;margin-bottom:.25rem}.option-shortcut{font-size:.8rem;color:#6b7280;font-family:Courier New,monospace;background:#0000000d;padding:.2rem .4rem;border-radius:4px;display:inline-block}.toggle-btn{width:48px;height:24px;border-radius:12px;border:none;cursor:pointer;position:relative;transition:all .3s ease;margin-left:1rem}.toggle-btn.enabled{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 8px #10b9814d}.toggle-btn.disabled{background:#d1d5db;box-shadow:0 2px 4px #0000001a}.toggle-slider{position:absolute;top:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:all .3s ease;box-shadow:0 2px 6px #0003}.toggle-btn.enabled .toggle-slider{left:26px}.toggle-btn.disabled .toggle-slider{left:2px}.toggle-btn:focus{outline:2px solid #3b82f6;outline-offset:2px}.floating-menu-footer{padding:1rem 1.5rem;background:#00000005;border-top:1px solid rgba(0,0,0,.05)}.keyboard-shortcuts{text-align:center;font-size:.8rem;color:#6b7280}.keyboard-shortcuts p{margin:.25rem 0}.keyboard-shortcuts strong{color:#1f2937;font-weight:600}@media (max-width: 768px){.floating-accessibility{bottom:16px;right:16px}.floating-accessibility-button{width:52px;height:52px}.floating-menu{width:calc(100vw - 32px);right:16px;bottom:80px}}.high-contrast .floating-accessibility-button{background:#000!important;color:#fff!important;border:2px solid #ffffff!important;box-shadow:0 8px 24px #000c!important}.high-contrast .floating-menu{background:#fff!important;border:2px solid #000000!important;box-shadow:0 24px 48px #000c!important}.high-contrast .floating-menu-header{background:#f0f0f0!important;border-bottom-color:#000!important}.high-contrast .option-text,.high-contrast .floating-menu-header h3{color:#000!important}.high-contrast .toggle-btn.enabled{background:#000!important;border:1px solid #ffffff!important}.high-contrast .toggle-btn.disabled{background:#fff!important;border:1px solid #000000!important}.large-text .floating-menu{width:360px}.large-text .option-text{font-size:1.1rem!important}.large-text .floating-menu-header h3{font-size:1.3rem!important}@media (prefers-reduced-motion: reduce){.floating-accessibility-button,.floating-menu,.toggle-btn,.toggle-slider{transition:none!important;animation:none!important;transform:none!important}}:root{--primary-color: #2563eb;--secondary-color: #1d4ed8;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--border-color: #e2e8f0;--text-primary: #1e293b;--text-secondary: #64748b;--error-color: #dc2626}.course-detail-header h1{font-size:2.5rem;margin-bottom:1rem;font-weight:700}.course-detail-description{font-size:1.2rem;margin-bottom:2rem;opacity:.9;max-width:800px;margin-left:auto;margin-right:auto}.course-detail-meta{display:flex;justify-content:center;align-items:center;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}.course-detail-meta .difficulty-badge{display:inline-flex;align-items:center;justify-content:center;align-self:center}.course-detail-stats-container{display:flex;justify-content:center;align-items:center;align-self:center}.course-detail-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;background:#ffffffe6;padding:1rem;border-radius:1rem;box-shadow:0 4px 12px #00000026;border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:300px;max-width:400px}.course-detail-stat-item{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:.5rem;border-radius:.5rem;transition:all .2s ease;cursor:pointer}.course-detail-stat-item:hover{background:#2563eb1a;transform:translateY(-2px)}.course-detail-stats-grid .stat-number{font-size:.9rem!important;font-weight:700;color:#1e293b!important;margin-bottom:.2rem!important;line-height:1.1;display:block}.course-detail-stats-grid .stat-label{font-size:.6rem!important;color:#64748b!important;text-transform:uppercase;letter-spacing:.3px;font-weight:600;line-height:1}.course-progress-container{margin-top:2rem;max-width:600px;margin-left:auto;margin-right:auto}.course-progress-bar{width:100%;height:12px;background:#fff3;border-radius:6px;overflow:hidden;margin-bottom:.75rem}.course-progress-fill{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:6px;transition:width .5s ease}.course-progress-text{font-size:.95rem;opacity:.9;font-weight:500}.course-detail-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:2.5rem}.btn-large{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;min-height:48px;border-radius:.75rem;display:inline-flex;align-items:center;justify-content:center;min-width:180px;max-width:280px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.course-detail-content{max-width:1200px;margin:0 auto;padding:0 2rem}.course-overview{margin-bottom:3rem}.course-overview h2{font-size:2rem;margin-bottom:1rem;color:var(--text-primary)}.course-overview>p{font-size:1.1rem;color:var(--text-secondary);margin-bottom:2rem;line-height:1.6}.course-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem}.feature-item{background:var(--bg-secondary);padding:2rem;border-radius:1rem;text-align:center;border:1px solid var(--border-color);transition:transform .2s ease,box-shadow .2s ease}.feature-item:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-item h4{font-size:1.3rem;margin-bottom:1rem;color:var(--text-primary)}.feature-item p{color:var(--text-secondary);line-height:1.6}.course-curriculum{margin-bottom:3rem}.course-curriculum h2{font-size:2rem;margin-bottom:1rem;color:var(--text-primary)}.course-curriculum>p{font-size:1.1rem;color:var(--text-secondary);margin-bottom:2rem;line-height:1.6}.course-curriculum .lessons-list{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;gap:1.5rem;margin-top:2rem;width:100%!important;max-width:none!important}.lessons-list{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;gap:1.5rem!important;width:100%!important}@media (min-width: 769px) and (max-width: 1024px){.course-curriculum .lessons-list{grid-template-columns:repeat(2,1fr)!important}}@media (min-width: 1025px){.course-curriculum .lessons-list{grid-template-columns:repeat(3,1fr)!important}}@media (max-width: 768px){.course-curriculum .lessons-list,.lessons-list{grid-template-columns:1fr!important}}.course-curriculum .lesson-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.course-curriculum .lesson-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a;border-color:var(--primary-color)}.course-curriculum .lesson-card.completed{border-color:#4caf50;background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(76,175,80,.05) 100%)}.course-curriculum .lesson-card.completed:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#4caf50,#8bc34a)}.course-curriculum .lesson-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:.5rem}.course-curriculum .lesson-number{background:var(--primary-color);color:#fff;padding:.4rem .8rem;border-radius:1rem;font-size:.85rem;font-weight:600}.course-curriculum .lesson-duration{background:var(--bg-tertiary);color:var(--text-secondary);padding:.4rem .8rem;border-radius:1rem;font-size:.85rem;font-weight:500}.course-curriculum .lesson-completion-badge{background:#4caf50;color:#fff;padding:.4rem .8rem;border-radius:1rem;font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:.25rem}.course-curriculum .lesson-card-content{margin-bottom:1.5rem}.course-curriculum .lesson-title{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;line-height:1.4}.course-curriculum .lesson-description{color:var(--text-secondary);line-height:1.6;font-size:.95rem}.course-curriculum .lesson-progress-info{margin-top:1rem;padding:.75rem;background:#4caf501a;border-radius:.5rem;border:1px solid rgba(76,175,80,.2);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.course-curriculum .lesson-score{color:#4caf50;font-weight:600;font-size:.9rem}.course-curriculum .lesson-completion-date{color:var(--text-secondary);font-size:.85rem}.course-curriculum .lesson-card-actions{display:flex;justify-content:flex-end}.btn-outline{background:transparent;border:2px solid var(--primary-color);color:var(--primary-color);padding:.5rem 1rem;border-radius:.5rem;font-weight:600;transition:all .2s ease}.btn-outline:hover{background:var(--primary-color);color:#fff}.course-cta{text-align:center;background:var(--bg-secondary);padding:3rem 2rem;border-radius:1rem;border:1px solid var(--border-color);margin-bottom:2rem}.course-cta h2{font-size:2rem;margin-bottom:1rem;color:var(--text-primary)}.course-cta p{font-size:1.1rem;color:var(--text-secondary);margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}@media (max-width: 768px){.course-detail-header h1{font-size:2rem}.course-detail-description{font-size:1rem}.course-detail-meta{flex-direction:column;gap:1rem}.course-detail-stats-grid{grid-template-columns:1fr;gap:.75rem;min-width:250px;max-width:300px}.course-detail-stat-item{flex-direction:row;justify-content:space-between;padding:.75rem}.stat-number{font-size:1.1rem;margin-bottom:0}.stat-label{font-size:.7rem}.course-detail-actions{flex-direction:column;align-items:center}.course-detail-content{padding:0 1rem}.course-features-grid{grid-template-columns:1fr}.course-curriculum .lessons-list{grid-template-columns:1fr!important;gap:1rem}.course-curriculum .lesson-card{padding:1.25rem}.course-curriculum .lesson-card-header{flex-direction:column;align-items:flex-start;gap:.5rem}.course-curriculum .lesson-progress-info{flex-direction:column;align-items:flex-start}}.course-curriculum .lesson-card:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px}.feature-item:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px}@media (prefers-contrast: high){.course-curriculum .lesson-card,.feature-item,.course-cta{border-width:2px}.course-curriculum .lesson-completion-badge{border:2px solid white}}:root{--primary-color: #2563eb;--secondary-color: #1d4ed8;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--border-color: #e2e8f0;--text-primary: #1e293b;--text-secondary: #64748b;--success-color: #10b981;--warning-color: #f59e0b;--error-color: #ef4444}.lesson-main-container{display:grid;grid-template-columns:300px 1fr;gap:1.5rem;width:100%;max-width:none;margin:0;padding:0 1rem;min-height:calc(100vh - 200px)}.lesson-sidebar{background:var(--bg-secondary);border-radius:12px;padding:1.5rem;box-shadow:0 4px 20px #0000001a;height:fit-content;position:sticky;top:2rem;border:1px solid var(--border-color)}.lesson-sidebar h3{margin-bottom:1.5rem;color:var(--text-primary);font-size:1.2rem;font-weight:600;border-bottom:2px solid var(--primary-color);padding-bottom:.5rem}.lesson-list{display:flex;flex-direction:column;gap:.75rem}.lesson-item{display:flex;flex-direction:column;align-items:flex-start;padding:1rem;border:1px solid var(--border-color);background:#fff;border-radius:8px;cursor:pointer;transition:all .3s ease;text-align:left;width:100%}.lesson-item:hover{border-color:var(--primary-color);background:var(--bg-secondary);transform:translateY(-2px);box-shadow:0 4px 15px #2563eb1a}.lesson-item.active{border-color:var(--primary-color);background:var(--primary-color);color:#fff;box-shadow:0 4px 20px #2563eb4d}.lesson-item .lesson-number{font-size:.8rem;font-weight:600;color:inherit;opacity:.8;margin-bottom:.5rem;background:#fff3;padding:.25rem .5rem;border-radius:4px}.lesson-item .lesson-title{font-size:.95rem;font-weight:500;line-height:1.4;margin-bottom:.5rem}.lesson-item .lesson-description{font-size:.85rem;opacity:.8;line-height:1.4}.lesson-main-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;overflow:hidden;border:1px solid var(--border-color)}.lesson-content-area{padding:2rem;border-bottom:1px solid var(--border-color)}.lesson-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.lesson-header h2{margin:0;color:var(--text-primary);font-size:2rem;line-height:1.2;font-weight:700}.lesson-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.lesson-meta .lesson-number{background:var(--primary-color);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600}.lesson-meta .lesson-duration{background:var(--bg-tertiary);color:var(--text-secondary);padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:500}.lesson-introduction{background:linear-gradient(135deg,var(--bg-secondary) 0%,white 100%);border-radius:12px;padding:1.5rem;margin-bottom:2rem;border:1px solid var(--border-color);border-left:4px solid var(--primary-color)}.lesson-introduction p{margin:0;color:var(--text-primary);font-size:1.1rem;line-height:1.6;font-weight:500}.lesson-text{line-height:1.7;color:var(--text-primary);font-size:1.05rem}.lesson-text-container{width:100%}.lesson-text{column-count:2!important;column-width:520px!important;column-gap:2rem!important}.lesson-text>*{break-inside:avoid;-webkit-column-break-inside:avoid;-moz-column-break-inside:avoid;margin-bottom:1.25rem}.lesson-text p{margin-bottom:1.25rem!important;color:var(--text-secondary)!important;max-width:100%!important}.lesson-text h1,.lesson-text h2,.lesson-text h3,.lesson-text h4,.lesson-text h5,.lesson-text h6{margin:2rem 0 1rem!important;color:var(--text-primary)!important;font-weight:600!important;line-height:1.3!important;text-align:left!important}.lesson-text h1{font-size:1.8rem!important;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color))!important;color:#fff!important}.lesson-text h2{font-size:1.5rem!important;border-left:4px solid var(--primary-color)!important}.lesson-text h3{font-size:1.3rem!important;color:var(--primary-color)!important;border-left:4px solid var(--primary-color)!important}.lesson-text ul,.lesson-text ol{margin:1.5rem 0!important;padding-left:1.25rem!important}.lesson-text ul li,.lesson-text ol li{margin:0!important;color:var(--text-secondary)!important;padding:.25rem 0!important}.lesson-text pre{background:var(--bg-secondary)!important;border:1px solid var(--border-color)!important;border-radius:12px!important;padding:1.5rem!important;overflow-x:auto!important;margin:1.5rem 0!important;max-width:100%!important}.lesson-text code{background:var(--bg-tertiary)!important;padding:.5rem 1rem!important;border-radius:8px!important;font-family:Monaco,Menlo,Ubuntu Mono,monospace!important;font-size:.9em!important;color:var(--text-primary)!important;border:1px solid var(--border-color)!important}.lesson-text div{margin:1rem 0!important}.lesson-text p,.lesson-text li,.lesson-text div{line-height:1.6!important;font-size:1rem!important}.lesson-text>*{display:block!important;margin-bottom:1.5rem!important}.lesson-content-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:1rem}.lesson-quick-actions{display:none}.quick-action-card{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;box-shadow:0 2px 10px #0000000d;border-left:4px solid var(--primary-color)}.quick-action-card h4{margin:0 0 1rem;color:var(--text-primary);font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.key-points-list{margin:0;padding-left:1.5rem;list-style:none}.key-points-list li{margin-bottom:.75rem;color:var(--text-secondary);position:relative;padding-left:1.5rem}.key-points-list li:before{content:"✓";position:absolute;left:0;color:var(--success-color);font-weight:700;font-size:1.1rem}.time-estimate{margin:0;color:var(--primary-color);font-size:1.2rem;font-weight:600;text-align:center;padding:1rem;background:var(--bg-secondary);border-radius:8px}.learning-goals{margin:0;color:var(--text-secondary);line-height:1.6;font-size:.95rem}.lesson-interactive-column{padding:2rem;background:var(--bg-secondary)}.lesson-editor-container{background:#fff;border:1px solid var(--border-color);border-radius:12px;overflow:hidden;margin-bottom:2rem;box-shadow:0 2px 10px #0000000d}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:linear-gradient(135deg,var(--bg-secondary) 0%,white 100%);border-bottom:1px solid var(--border-color)}.editor-header h3{margin:0;color:var(--text-primary);font-size:1.2rem;font-weight:600}.editor-controls{display:flex;gap:.75rem}.monaco-editor-container{border-radius:0 0 12px 12px;overflow:hidden}.lesson-output-container{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 10px #0000000d}.lesson-output-container h4{margin:0 0 1rem;color:var(--text-primary);font-size:1.1rem;font-weight:600;border-bottom:2px solid var(--primary-color);padding-bottom:.5rem}.output-box{background:var(--bg-secondary);border-radius:8px;padding:1rem;min-height:100px;border:1px solid var(--border-color)}.output-text{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;line-height:1.5;color:var(--text-primary);margin:0;white-space:pre-wrap}.placeholder-text{color:var(--text-secondary);font-style:italic;margin:0;text-align:center;padding:2rem 0}.lesson-actions{display:flex;justify-content:center;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-color)}@media (max-width: 1024px){.lesson-main-container{grid-template-columns:1fr;gap:1.5rem}.lesson-sidebar{position:static;order:2}.lesson-main-content{order:1}.lesson-content-grid{grid-template-columns:1fr;gap:1.5rem}}@media (max-width: 768px){.lesson-main-container{padding:0 1rem}.lesson-content-area,.lesson-interactive-column{padding:1.5rem}.lesson-header{flex-direction:column;align-items:flex-start}.lesson-meta{justify-content:flex-start}}.lesson-item:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px}.lesson-text a:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@media (prefers-contrast: high){.lesson-item,.lesson-main-content,.lesson-editor-container,.lesson-output-container,.lesson-sidebar{border-width:2px}}.enrollment-notice{text-align:center;padding:1.5rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.enrollment-notice p{margin-bottom:1rem;color:var(--text-secondary)}.completion-badge{color:var(--success-color);font-size:.9rem;margin-left:.5rem}.lesson-item.completed{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:var(--success-color)}.lesson-item.completed .lesson-title{color:var(--success-color);font-weight:600}:root{--primary-color: #2563eb;--secondary-color: #64748b;--success-color: #059669;--warning-color: #d97706;--error-color: #dc2626;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--text-primary: #1e293b;--text-secondary: #64748b;--border-color: #e2e8f0}.modal{background:#fff!important;color:#1e293b!important}.modal-overlay{background:#00000080!important}.admin-container{max-width:1200px;margin:0 auto;padding:2rem}.admin-header{text-align:center;margin-bottom:2rem}.admin-header h1{color:var(--primary-color);margin-bottom:.5rem}.admin-header p{color:var(--text-secondary);font-size:1.1rem}.admin-tabs{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem;border-bottom:2px solid var(--border-color);padding-bottom:1rem}.admin-tab{padding:.75rem 1.5rem;border:none;background:var(--bg-secondary);color:var(--text-primary);border-radius:.5rem;cursor:pointer;transition:all .3s ease;font-size:1rem;font-weight:500}.admin-tab:hover{background:var(--primary-color);color:#fff;transform:translateY(-2px)}.admin-tab.active{background:var(--primary-color);color:#fff;box-shadow:0 4px 12px #00000026}.admin-dashboard{margin-top:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001a}.stat-card h3{color:var(--primary-color);margin-bottom:1rem;font-size:1.2rem}.stat-number{font-size:3rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.stat-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.stat-details span{color:var(--text-secondary);font-size:.9rem}.quick-actions{background:var(--bg-secondary);border-radius:1rem;padding:2rem;text-align:center}.quick-actions h3{color:var(--primary-color);margin-bottom:1.5rem}.action-buttons{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.admin-users{margin-top:2rem}.users-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.users-header h3{color:var(--primary-color);margin:0}.users-search{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.users-search input{padding:.75rem;border:1px solid var(--border-color);border-radius:.5rem;min-width:250px;font-size:1rem}.users-search input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.users-list{display:grid;gap:1rem}.user-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;transition:transform .3s ease,box-shadow .3s ease}.user-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.user-info h4{color:var(--text-primary);margin-bottom:.5rem}.user-info p{color:var(--text-secondary);margin-bottom:1rem}.user-status{display:flex;gap:.5rem;flex-wrap:wrap}.status-badge{padding:.25rem .75rem;border-radius:1rem;font-size:.8rem;font-weight:500}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.inactive{background:#fef2f2;color:#991b1b}.status-badge.admin{background:#dbeafe;color:#1e40af}.status-badge.verified{background:#f0fdf4;color:#166534}.user-actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn{padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-size:1rem}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{background:#1d4ed8;transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--border-color);transform:translateY(-2px)}.btn-warning{background:var(--warning-color);color:#fff}.btn-warning:hover{background:#b45309;transform:translateY(-2px)}.btn-small{padding:.5rem 1rem;font-size:.875rem}.btn-visible,.btn-visible:hover{opacity:1!important;visibility:visible!important}.admin-courses{margin-top:2rem}.courses-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.courses-header h3{color:var(--primary-color);margin:0}.courses-list{margin-top:1rem}.empty-state{text-align:center;padding:3rem;background:var(--bg-secondary);border-radius:1rem;color:var(--text-secondary)}.courses-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.course-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;display:flex;justify-content:space-between;align-items:flex-start;transition:transform .3s ease,box-shadow .3s ease}.course-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.course-info{flex:1;margin-right:1rem}.course-info h4{color:var(--text-primary);margin-bottom:.5rem;font-size:1.2rem}.course-info p{color:var(--text-secondary);margin-bottom:1rem;line-height:1.5}.course-meta{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.level-badge{padding:.25rem .75rem;border-radius:1rem;font-size:.8rem;font-weight:500}.level-badge.beginner{background:#dcfce7;color:#166534}.level-badge.intermediate{background:#fef3c7;color:#92400e}.level-badge.advanced{background:#fecaca;color:#991b1b}.lesson-count{color:var(--text-secondary);font-size:.9rem;font-weight:500}.course-actions{display:flex;gap:.5rem;flex-direction:column}.course-actions .btn{min-width:80px}.lesson-management{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-color)}.lesson-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.lesson-header h4{color:var(--primary-color);margin:0;font-size:1.1rem}.lessons-list{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;gap:1rem;margin-bottom:1.5rem}@media (max-width: 768px){.lessons-list{grid-template-columns:1fr!important}}@media (min-width: 769px) and (max-width: 1024px){.lessons-list{grid-template-columns:repeat(2,1fr)!important}}@media (min-width: 1025px){.lessons-list{grid-template-columns:repeat(3,1fr)!important}}.lesson-item{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.75rem;padding:1rem;display:flex;justify-content:space-between;align-items:flex-start;transition:all .3s ease}.lesson-item:hover{box-shadow:0 2px 8px #0000001a}.lesson-info{flex:1;margin-right:1rem}.lesson-order{display:inline-block;background:var(--primary-color);color:#fff;width:24px;height:24px;border-radius:50%;text-align:center;line-height:24px;font-size:.8rem;font-weight:700;margin-right:.75rem}.lesson-info h5{color:var(--text-primary);margin:.5rem 0;font-size:1rem}.lesson-info p{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.4}.lesson-actions{display:flex;gap:.5rem;align-items:center}.lesson-move-buttons{display:flex;flex-direction:column;gap:.25rem}.lesson-move-buttons .btn{padding:.25rem;min-width:auto;font-size:.8rem}.no-lessons{text-align:center;padding:2rem;color:var(--text-secondary);font-style:italic}.lesson-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:10001;padding:1rem}.lesson-form-modal{background:var(--bg-primary);border-radius:1rem;box-shadow:0 20px 25px -5px #0000001a;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.lesson-form-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--border-color)}.lesson-form-header h4{margin:0;color:var(--text-primary);font-size:1.25rem}.lesson-form-content{padding:1.5rem}.lesson-form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:10000;padding:1rem}.modal{background:var(--bg-primary);border-radius:1rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative}.user-edit-modal{max-width:600px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--border-color)}.modal-header h3{margin:0;color:var(--text-primary);font-size:1.25rem}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:.25rem;border-radius:.25rem;transition:all .2s ease;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.user-edit-form{padding:1.5rem}.form-section{margin-bottom:2rem}.section-heading{color:#2563eb!important;margin-bottom:1.5rem!important;font-size:1.4rem!important;border-bottom:3px solid #2563eb!important;padding-bottom:.75rem!important;font-weight:700!important;display:block!important;width:100%!important;text-transform:uppercase!important;letter-spacing:.5px!important;line-height:1.2!important;overflow:visible!important;white-space:normal!important;word-wrap:break-word!important;position:relative!important;z-index:1!important;min-height:50px!important;padding:.75rem!important}.large-text .section-heading{font-size:1.6rem!important;margin-bottom:2rem!important;padding-bottom:1rem!important;border-bottom-width:4px!important;color:#2563eb!important;border-bottom-color:#2563eb!important;min-height:80px!important;padding:1.5rem!important}.large-text .form-section h4.section-heading{background:#e6f3ff!important;min-height:80px!important;padding:1.5rem!important;font-size:1.6rem!important;line-height:1.3!important;overflow:visible!important;white-space:normal!important;word-wrap:break-word!important;border:3px solid #2563eb!important}.form-section h4.section-heading{background:#f0f8ff!important;padding:1rem!important;border-radius:8px!important;margin:1rem 0!important;box-shadow:0 2px 4px #0000001a!important;min-height:60px!important;display:flex!important;align-items:center!important;overflow:visible!important;white-space:normal!important;word-wrap:break-word!important}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.form-group input[type=text],.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:.5rem;font-size:1rem;transition:all .2s ease;background:var(--bg-primary);color:var(--text-primary)}.form-group input[type=text]:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.form-group input[type=text].error,.form-group textarea.error{border-color:var(--error-color);box-shadow:0 0 0 3px #ef44441a}.form-group textarea{resize:vertical;min-height:80px}.checkbox-group{display:flex;flex-direction:column;gap:.5rem}.checkbox-label{display:flex;align-items:center;gap:1.25rem;cursor:pointer;font-weight:500;color:var(--text-primary);position:relative;padding:.75rem 0;flex-wrap:nowrap;flex-direction:row;justify-content:flex-start}.large-text .checkbox-label{gap:1.5rem!important;padding:1rem 0!important}.checkbox-label input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.custom-checkbox{width:40px;height:40px;border:4px solid var(--border-color);border-radius:0;background:var(--bg-primary);position:relative;transition:all .3s ease;flex-shrink:0;box-shadow:0 3px 6px #00000026}.large-text .custom-checkbox{width:50px!important;height:50px!important;border-width:6px!important;border-radius:0!important}.checkbox-label input[type=checkbox]:checked+.custom-checkbox{background:var(--primary-color)!important;border-color:var(--primary-color)!important}.checkbox-label input[type=checkbox]:checked+.custom-checkbox:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:20px;font-weight:700}.large-text .checkbox-label input[type=checkbox]:checked+.custom-checkbox:after{font-size:28px!important}.checkbox-label input[type=checkbox]:disabled+.custom-checkbox{opacity:.5;cursor:not-allowed}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed}.checkbox-text{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.large-text .checkbox-text{font-size:1.3rem!important;font-weight:700!important}.help-text{margin:0;font-size:.875rem;color:var(--text-secondary);margin-left:2.5rem}.help-text.warning{color:var(--warning-color);font-weight:500}.error-message{color:var(--error-color);font-size:.875rem;margin-top:.25rem;display:block}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border-color)}.modal-actions .btn{min-width:100px}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;text-align:center}.spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{text-align:center;padding:2rem;background:var(--bg-secondary);border:1px solid var(--error-color);border-radius:1rem;margin:2rem 0}.error-message h3{color:var(--error-color);margin-bottom:1rem}.error-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.error-actions .btn{min-width:120px}@media (max-width: 768px){.admin-container{padding:1rem}.admin-tabs{flex-direction:column;align-items:center}.stats-grid{grid-template-columns:1fr}.users-header{flex-direction:column;align-items:stretch}.users-search{flex-direction:column}.users-search input{min-width:auto}.user-card{flex-direction:column;align-items:stretch;gap:1rem}.user-actions{justify-content:center}.modal{margin:1rem;max-height:calc(100vh - 2rem)}.modal-header{padding:1rem 1rem .75rem}.user-edit-form{padding:1rem}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}.courses-grid{grid-template-columns:1fr}.course-card{flex-direction:column;align-items:stretch;gap:1rem}.course-actions{flex-direction:row;justify-content:center}}.admin-tab:focus,.user-card:focus,.modal-close:focus{outline:2px solid var(--primary-color);outline-offset:2px}.high-contrast .stat-card,.high-contrast .user-card,.high-contrast .modal,.high-contrast .admin-tab.active{border:2px solid var(--text-primary)}.large-text .admin-container{font-size:1.1rem}.large-text .stat-number{font-size:3.5rem}.large-text .modal{padding:2.5rem}.large-text .user-edit-modal{max-width:700px!important;min-height:600px!important;max-height:95vh!important}.large-text .form-section{margin-bottom:2.5rem!important}.large-text .form-group{margin-bottom:2rem!important}.large-text .help-text{font-size:1rem!important;margin-left:3rem!important}
