.course-container{max-width:100%;margin:0 auto;padding:0 20px 60px;box-sizing:border-box}.course-header-unified{background:var(--gradient-primary);border-radius:var(--radius-xl);overflow:hidden;margin-bottom:16px;box-shadow:0 4px 20px rgba(59,130,246,.25);position:relative}.course-header-unified::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,0));opacity:.9;pointer-events:none}.course-header-unified::after{content:"";position:absolute;bottom:-40%;left:5%;width:220px;height:220px;background:rgba(255,255,255,.12);border-radius:50%;filter:blur(1px);pointer-events:none}.course-header-main{display:flex;align-items:center;gap:20px;padding:24px 28px;position:relative;z-index:2}.course-header-unified .course-back-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:rgba(255,255,255,.2);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-md);color:#fff;cursor:pointer;transition:all var(--transition);flex-shrink:0}.course-header-unified .course-back-btn:hover{background:rgba(255,255,255,.3);transform:translateX(-4px)}.course-header-unified .course-back-btn i{width:20px;height:20px}.course-header-unified .course-title-section{flex:1}.course-module-pill{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.34);color:#fff;border-radius:var(--radius-full);padding:4px 10px;margin:0 0 8px;font-size:var(--font-2xs);font-weight:800;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.course-header-unified .course-title-section h1{font-size:var(--font-2xl);font-weight:800;color:#fff;margin:0 0 4px;text-shadow:0 2px 4px rgba(0,0,0,.1)}.course-header-unified .course-title-section p{font-size:var(--font-base);color:rgba(255,255,255,.85);margin:0}.course-progress-badge{display:flex;align-items:center;justify-content:center;width:52px;height:52px;background:rgba(255,255,255,.25);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.4);border-radius:50%;flex-shrink:0}.course-progress-badge span{font-size:var(--font-base);font-weight:800;color:#fff}.course-header-actions{display:flex;align-items:center;gap:12px}.course-fullscreen-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);color:#fff;cursor:pointer;transition:.2s}.course-fullscreen-btn:hover{background:rgba(255,255,255,.25);transform:scale(1.05)}.course-fullscreen-btn i{width:20px;height:20px}.course-fullscreen-btn .fullscreen-icon-exit{display:none}.course-header-unified .course-editor-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);color:#fff;cursor:pointer;transition:.2s;position:relative}.course-header-unified .course-editor-btn:hover{background:rgba(255,255,255,.25);transform:scale(1.05)}.course-header-unified .course-editor-btn i{width:20px;height:20px}.course-header-unified .course-editor-btn .editor-btn-tooltip{position:absolute;bottom:-32px;left:50%;transform:translateX(-50%);background:#1e1e2e;color:#cdd6f4;font-size:var(--font-2xs);font-weight:600;padding:4px 10px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;border:1px solid #313244}.course-header-unified .course-editor-btn:hover .editor-btn-tooltip{opacity:1}body.course-fullscreen-mode .sidebar,body.course-fullscreen-mode .topbar{display:none}body.course-fullscreen-mode .main-wrapper{margin-left:0;width:100%}body.course-fullscreen-mode .main-content{padding:0!important;height:100vh!important;overflow-y:auto!important;overflow-x:hidden!important}body.course-fullscreen-mode .course-container{padding:0!important;max-width:100%!important}body.course-fullscreen-mode .course-header-unified{display:none}body.course-fullscreen-mode .lesson-pills-container{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--bg-primary);border-bottom:1px solid var(--border-color);margin-bottom:0;padding:12px 20px}body.course-fullscreen-mode .lesson-content-wrapper{max-width:100%;padding:20px 60px 120px;margin:60px auto 0}body.course-fullscreen-mode .lesson-nav-footer{position:fixed;bottom:0;left:0;right:0;padding:16px 40px;background:var(--bg-primary);border-top:1px solid var(--border-color);border-radius:0;z-index:1000;box-shadow:0 -4px 20px rgba(0,0,0,.05)}.fullscreen-exit-btn{display:none;position:fixed;top:20px;right:20px;z-index:9999;align-items:center;gap:8px;padding:12px 20px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-base);font-weight:600;cursor:pointer;box-shadow:0 4px 24px rgba(0,0,0,.15);transition:.2s}body.course-fullscreen-mode .fullscreen-exit-btn{display:flex}body.course-fullscreen-mode .exercises-section{max-width:100%;padding:20px 60px 120px;margin:60px auto 0}body.course-fullscreen-mode .module-complete,body.course-fullscreen-mode .project-section,body.course-fullscreen-mode .quiz-container{max-width:100%;margin:60px 60px 120px}body.course-fullscreen-mode .quiz-header{padding:24px 36px}body.course-fullscreen-mode .quiz-header h2{font-size:1.4rem}body.course-fullscreen-mode .quiz-question{padding:32px 36px 28px}body.course-fullscreen-mode .quiz-question h3{font-size:1.4rem;padding:24px 32px}body.course-fullscreen-mode .quiz-container .quiz-options{gap:14px}body.course-fullscreen-mode .quiz-container .quiz-option{padding:20px 24px;gap:16px}body.course-fullscreen-mode .quiz-container .quiz-option-marker{width:40px;height:40px;font-size:var(--font-base)}body.course-fullscreen-mode .quiz-container .quiz-option-text{font-size:1.05rem}body.course-fullscreen-mode .quiz-nav{padding:20px 36px}body.course-fullscreen-mode .quiz-progress-dots{padding:18px 36px;gap:10px}body.course-fullscreen-mode .quiz-dot{width:34px;height:34px;font-size:var(--font-xs)}body.course-fullscreen-mode .quiz-submit{padding:14px 32px;font-size:var(--font-md)}.fullscreen-exit-btn:hover{background:var(--bg-secondary);transform:translateY(-2px);box-shadow:0 6px 28px rgba(0,0,0,.2)}.fullscreen-exit-btn i{width:18px;height:18px}@media (max-width:1200px){body.course-fullscreen-mode .exercises-section,body.course-fullscreen-mode .lesson-content-wrapper{max-width:100%;padding:20px 30px 120px}body.course-fullscreen-mode .module-complete,body.course-fullscreen-mode .project-section,body.course-fullscreen-mode .quiz-container{margin:60px 30px 120px}}@media (max-width:768px){body.course-fullscreen-mode .exercises-section,body.course-fullscreen-mode .lesson-content-wrapper{padding:20px 16px 100px;margin-top:50px}body.course-fullscreen-mode .module-complete,body.course-fullscreen-mode .project-section,body.course-fullscreen-mode .quiz-container{margin:50px 16px 100px}body.course-fullscreen-mode .lesson-nav-footer{padding:14px 16px}.fullscreen-exit-btn{top:12px;right:12px;padding:10px 14px;font-size:var(--font-sm)}.fullscreen-exit-btn span{display:none}}.course-steps{display:flex;align-items:center;justify-content:center;gap:0;padding:16px 24px 20px;position:relative;z-index:2}.course-step{display:flex;align-items:center;gap:10px;padding:10px 18px;border-radius:var(--radius-md);cursor:pointer;transition:.2s;background:rgba(255,255,255,.1);border:1px solid transparent}.course-step:hover{background:rgba(255,255,255,.2)}.course-step.active{background:rgba(255,255,255,.95);border-color:#fff;box-shadow:0 4px 15px rgba(0,0,0,.1)}.course-step.completed{background:rgba(255,255,255,.2)}.course-step-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);background:rgba(255,255,255,.2);color:#fff;transition:.2s}.course-step-icon i{width:16px;height:16px}.course-step.active .course-step-icon{background:rgba(255,255,255,.95);color:var(--primary-accent)}.course-step.completed .course-step-icon{background:rgba(255,255,255,.25);color:#fff}.course-step-label{font-size:var(--font-sm);font-weight:600;color:rgba(255,255,255,.8)}.course-step.active .course-step-label{color:var(--primary-accent)}.course-step-count{font-size:var(--font-xs);color:rgba(255,255,255,.7);background:rgba(255,255,255,.15);padding:2px 8px;border-radius:var(--radius-xl)}.course-step.active .course-step-count{color:var(--primary-accent);background:rgba(255,255,255,.95)}.course-step.completed .course-step-count{color:rgba(255,255,255,.9);background:rgba(255,255,255,.2)}.course-step-line{width:40px;height:3px;background:rgba(255,255,255,.3);border-radius:2px;margin:0 8px}.course-step-line.completed{background:rgba(255,255,255,.7)}@media (max-width:768px){.course-header-unified{border-radius:var(--radius-lg);margin-bottom:10px}body.course-split-mode .course-header-unified{margin-left:6px;margin-right:6px}.course-header-main{display:flex;flex-wrap:wrap;align-items:center;padding:10px 12px 8px;gap:8px}.course-header-unified .course-back-btn,.course-header-unified .course-editor-btn,.course-header-unified .course-fullscreen-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;min-height:32px;border-radius:9px;background:rgba(255,255,255,.18);border:none;padding:0;backdrop-filter:none;box-sizing:border-box}.course-header-unified .course-back-btn i,.course-header-unified .course-editor-btn i,.course-header-unified .course-fullscreen-btn i{width:15px;height:15px;flex-shrink:0}.course-header-unified .course-back-btn{order:1}.course-header-unified .course-title-section{flex:1;min-width:0;order:2}.course-header-unified .course-title-section h1{font-size:var(--font-sm);font-weight:700;margin:0;white-space:normal;line-height:1.25}.course-module-pill{font-size:.62rem;padding:3px 8px;margin:0 0 5px}.course-header-unified .course-title-section p{font-size:var(--font-2xs);margin:2px 0 0;opacity:.8;line-height:1.25}.course-header-actions{gap:6px;order:3}.course-editor-btn .editor-btn-tooltip{display:none}.course-progress-badge{order:4;width:100%;height:22px;border-radius:11px;background:rgba(255,255,255,.2);border:none;backdrop-filter:none;position:relative;overflow:hidden}.course-progress-badge::before{content:"";position:absolute;left:0;top:0;height:100%;width:var(--progress,0%);background:rgba(255,255,255,.35);border-radius:11px;transition:width .4s}.course-progress-badge span{font-size:.65rem;font-weight:700;position:relative;z-index:1}.course-steps{padding:6px 10px 10px;gap:0;justify-content:space-between}.course-step{padding:6px 8px;gap:5px;flex:1;justify-content:center;border-radius:var(--radius-sm)}.course-step-icon{width:24px;height:24px;border-radius:6px}.course-step-icon i{width:12px;height:12px}.course-step-label{font-size:.65rem}.course-step-count{display:none}.course-step-line{width:14px;margin:0 3px}}@media (max-width:400px){.course-step-label{display:none}.course-step{padding:8px}}.section-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden;margin-bottom:24px;box-shadow:0 4px 30px rgba(0,0,0,.06);transition:.3s}.section-container:hover{box-shadow:0 8px 40px rgba(0,0,0,.1);transform:translateY(-2px)}.section-header{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;background:linear-gradient(135deg,rgba(59,130,246,.08),rgba(59,130,246,.05));border-bottom:1px solid var(--border-color)}.section-header h2{font-size:var(--font-xl);color:var(--text-headings);margin:0;display:flex;align-items:center;gap:14px;font-weight:700}.section-number{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;background:linear-gradient(135deg,var(--primary-accent),#2563eb);color:#fff;border-radius:var(--radius-pill);font-size:var(--font-sm);font-weight:700;box-shadow:0 4px 15px rgba(59,130,246,.3)}.section-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-pill);font-size:var(--font-xs);font-weight:600;color:var(--text-secondary)}.section-badge i{width:14px;height:14px}.section-content{padding:clamp(1.5rem,5vw,3rem)}.explanation-content{animation:.4s fadeInUp}.explanation-content h3{font-size:1.6rem;color:var(--text-headings);margin:3rem 0 24px;font-weight:800;display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:2px solid var(--border-color)}.explanation-content h3:first-child{margin-top:0}.explanation-content>p{font-size:var(--font-lg);line-height:1.85;color:var(--text-secondary);margin:0 0 1.5rem}.explanation-content ol,.explanation-content ul{margin:0 0 1.5rem;padding-left:2rem}.explanation-content ol li,.explanation-content ul li{position:relative;padding:.25rem 0 .25rem .5rem;margin-bottom:1rem;font-size:var(--font-lg);line-height:1.85;color:var(--text-primary)}.explanation-content ul{list-style:none}.explanation-content ul li::before{content:"";position:absolute;left:-1.25rem;top:.7em;width:8px;height:8px;background:var(--primary-accent);border-radius:50%}.explanation-content ol{list-style:none;counter-reset:step-counter}.explanation-content ol li::before{counter-increment:step-counter;content:counter(step-counter);position:absolute;left:-1.75rem;top:.15em;width:24px;height:24px;background:var(--primary-accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-xs);font-weight:700}.explanation-content code{background:var(--bg-element);color:var(--primary-accent);padding:3px 8px;border-radius:6px;font-family:var(--font-code);font-size:.9em;font-weight:500;border:1px solid var(--border-color)}.explanation-content strong{color:var(--text-headings);font-weight:700}.code-block::before{content:none}.code-block-copy-btn{display:none}.code-block pre{margin:0;background:0 0}.code-block code{background:0 0;border:none;padding:0;box-shadow:none}.output-box{background:linear-gradient(135deg,rgba(16,185,129,.08),rgba(16,185,129,.02));border:1.5px solid rgba(16,185,129,.25);border-radius:var(--radius-lg);padding:56px 1.75rem 1.75rem;margin:2.5rem 0;overflow:hidden;box-shadow:0 4px 20px rgba(16,185,129,.08);font-family:var(--font-code);font-size:var(--font-base);color:#7ee787;line-height:1.75;position:relative}.output-box::before{content:"📤 Résultat (Output)";position:absolute;top:0;left:0;right:0;padding:12px 20px;background:linear-gradient(90deg,rgba(16,185,129,.15),rgba(16,185,129,.05));border-bottom:1px solid rgba(16,185,129,.2);font-size:var(--font-sm);font-weight:700;color:#34d399;font-family:var(--font-primary);letter-spacing:.3px}.analogy-box{background:var(--bg-element);border:none;border-left:4px solid var(--primary-accent);border-radius:var(--radius-md);padding:1.5rem 1.75rem;margin:2rem 0;position:relative;box-shadow:0 2px 8px rgba(0,0,0,.04)}.analogy-box::before{content:"💡";position:absolute;top:-14px;left:20px;width:28px;height:28px;background:var(--primary-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-sm)}.analogy-box>p:first-child{margin-top:8px}.analogy-box li,.analogy-box p{color:var(--text-primary)}.analogy-box ol,.analogy-box ul{margin:16px 0;padding-left:0}.analogy-box li{padding:.25rem 0 .25rem .5rem}.analogy-box li::before{background:var(--primary-accent)}.tip-box{background:var(--bg-element);border:none;border-left:4px solid #10b981;border-radius:var(--radius-md);padding:1.5rem 1.75rem;margin:2rem 0;font-size:var(--font-md);line-height:1.8;position:relative;box-shadow:0 2px 8px rgba(0,0,0,.04)}.warning-box{background:var(--bg-element);border:none;border-left:4px solid #f59e0b;border-radius:var(--radius-md);padding:1.5rem 1.75rem;margin:2rem 0;font-size:var(--font-md);line-height:1.8;position:relative;box-shadow:0 2px 8px rgba(0,0,0,.04)}.warning-box::before{content:"⚠️ Attention";display:block;font-weight:700;color:#f59e0b;margin-bottom:10px;font-size:var(--font-base)}.tip-box code,.warning-box code{background:rgba(0,0,0,.25);border:none}.operators-table,.types-table{width:100%;border-collapse:separate;border-spacing:0;margin:2rem 0;font-size:var(--font-base);border-radius:var(--radius-lg);overflow:hidden;border:1.5px solid var(--border-color);box-shadow:0 2px 12px rgba(0,0,0,.04)}.operators-table th,.types-table th{background:var(--bg-element);padding:14px 20px;text-align:left;font-weight:700;font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1.5px solid var(--border-color)}.operators-table td,.types-table td{padding:14px 20px;border-bottom:1px solid var(--border-color);color:var(--text-secondary);line-height:1.6;background:var(--bg-card,transparent)}.operators-table tr:last-child td,.types-table tr:last-child td{border-bottom:none}.operators-table td:first-child,.types-table td:first-child{font-weight:600;color:var(--text-headings)}.operators-table tr:hover td,.types-table tr:hover td{background:var(--bg-element)}.zone-cards{display:flex;flex-direction:column;gap:12px;margin:1.5rem 0 2rem}.zone-card{display:flex;align-items:flex-start;gap:16px;padding:18px 20px;background:var(--bg-element,#f8fafc);border:1.5px solid var(--border-color,#e2e8f0);border-radius:var(--radius-lg);transition:all var(--transition)}.zone-card:hover{transform:translateX(4px);border-color:var(--primary-accent,#3b82f6);box-shadow:0 4px 16px rgba(0,0,0,.06)}.zone-card-icon{width:44px;height:44px;min-width:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.12)}.zone-card-info{flex:1;min-width:0}.zone-card-info>strong{font-size:1.05rem;font-weight:800;color:var(--text-headings);display:block;margin-bottom:2px}.zone-card-position{font-size:var(--font-xs);font-weight:600;color:var(--text-muted);display:block;margin-bottom:6px}.zone-card-info>p{margin:0;font-size:var(--font-base);line-height:1.6;color:var(--text-secondary)}@media (max-width:600px){.zone-card{padding:14px 16px;gap:12px}.zone-card-icon{width:36px;height:36px;min-width:36px;font-size:var(--font-md)}}.keyboard-visual{background:var(--bg-sidebar,#1e293b);border-radius:var(--radius-xl);padding:32px 24px;margin:24px 0;display:flex;flex-direction:column;align-items:center;gap:28px;border:1px solid rgba(255,255,255,.06)}.kb-section{display:flex;flex-direction:column;align-items:center;gap:10px}.kb-title{font-size:var(--font-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted,#64748b);margin-bottom:4px}.kb-row{display:flex;gap:12px;justify-content:center}.kb-key-group{display:flex;flex-direction:column;align-items:center;gap:6px}.kb-key{width:56px;height:56px;display:flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:700;font-family:var(--font-mono, 'Fira Code', monospace);color:#e2e8f0;background:linear-gradient(180deg,rgba(255,255,255,.08) 0,rgba(255,255,255,.02) 100%);border:1px solid rgba(255,255,255,.1);border-bottom:3px solid rgba(255,255,255,.06);border-radius:var(--radius-md);box-shadow:0 4px 12px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.08);transition:transform .15s,box-shadow .15s}.kb-key:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.1)}.kb-key.accent{background:linear-gradient(180deg,rgba(99,102,241,.2) 0,rgba(99,102,241,.08) 100%);border-color:rgba(99,102,241,.25);border-bottom-color:rgba(99,102,241,.15);color:#a5b4fc}.kb-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted,#94a3b8)}.kb-extras{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:100%;max-width:460px}.kb-extra-item{display:flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(180deg,rgba(255,255,255,.06) 0,rgba(255,255,255,.02) 100%);border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.08);border-bottom:2px solid rgba(255,255,255,.04);font-size:var(--font-xs);color:var(--text-secondary,#cbd5e1);box-shadow:0 2px 8px rgba(0,0,0,.15)}.kb-extra-item strong{color:#e2e8f0}.kb-extra-icon{font-size:var(--font-md);flex-shrink:0;line-height:1}@media (max-width:480px){.keyboard-visual{padding:24px 16px;gap:22px}.kb-key{width:48px;height:48px;font-size:var(--font-md)}.kb-extra-item{padding:10px 14px;font-size:var(--font-xs)}}.step-by-step{display:flex;flex-direction:column;gap:0;margin:32px 0;position:relative;padding-left:32px}.step-by-step::before{content:"";position:absolute;left:20px;top:24px;bottom:24px;width:4px;background:var(--gradient-primary);border-radius:4px}.step{display:flex;align-items:center;gap:24px;padding:20px 28px;background:var(--bg-card);border-radius:var(--radius-lg);border:2px solid var(--border-color);margin-left:24px;position:relative;transition:.3s cubic-bezier(.4, 0, .2, 1)}.step:not(:last-child){margin-bottom:20px}.step:hover{transform:translateX(12px);border-color:var(--primary-accent);box-shadow:var(--shadow-accent)}.step-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--gradient-primary);color:#fff;font-weight:800;font-size:var(--font-xl);border-radius:var(--radius-lg);flex-shrink:0;box-shadow:var(--shadow-accent);position:relative;z-index:2}.step:hover .step-number{animation:.6s stepPulse}@keyframes stepPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}.step p{margin:0;color:var(--text-primary);font-size:1.08rem;line-height:1.6}.step p strong{color:var(--text-headings);background:var(--primary-light);padding:2px 8px;border-radius:6px}.boxes-visual{display:flex;gap:16px;flex-wrap:wrap;margin:16px 0}.box{display:flex;flex-direction:column;align-items:center;padding:12px 20px;background:var(--bg-card);border:2px dashed var(--border-color);border-radius:var(--radius-md);min-width:100px}.box-label{font-size:var(--font-xs);color:var(--text-secondary);margin-bottom:8px;font-family:var(--font-code)}.box-value{font-size:var(--font-lg);font-weight:600;color:#60a5fa;font-family:var(--font-code)}.code-annotated{background:var(--bg-element);border-radius:var(--radius-md);padding:20px;margin:16px 0}.code-line{display:flex;align-items:center;gap:20px;padding:8px 0}.code-line code{font-size:var(--font-lg);font-weight:600}.annotation{font-size:var(--font-sm);color:var(--text-secondary);font-style:italic}.player-card{background:linear-gradient(135deg,#1e1e2e,#2a2a3e);border-radius:var(--radius-lg);padding:20px;margin:20px 0}.stat{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1)}.stat:last-child{border-bottom:none}.stat-label{color:#a0a0a0;font-size:var(--font-base)}.stat-value{color:#eab308;font-family:var(--font-code);font-weight:600}.stat-type{color:#10b981;font-size:var(--font-xs)}.lego-visual{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:20px 0;padding:20px;background:var(--bg-element);border-radius:var(--radius-md)}.lego-piece{background:linear-gradient(135deg,var(--primary-accent),#2563eb);color:#fff;padding:10px 16px;border-radius:var(--radius-sm);font-family:var(--font-code);font-weight:600}.lego-equals,.lego-plus{font-size:1.2rem;font-weight:700;color:var(--text-secondary)}.lego-result{background:linear-gradient(135deg,#10b981,#34d399);color:#fff;padding:10px 16px;border-radius:var(--radius-sm);font-family:var(--font-code);font-weight:600}.mini-exercise{background:var(--bg-element);border:2px dashed var(--primary-accent);border-radius:var(--radius-md);padding:20px;margin:20px 0}.mini-exercise p{margin:0 0 12px}.code-input{width:100%;padding:12px 16px;background:#1e1e2e;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:#cdd6f4;font-family:var(--font-code);font-size:var(--font-base);margin-bottom:12px}.code-input:focus{outline:0;border-color:var(--primary-accent)}.check-btn{background:linear-gradient(135deg,var(--primary-accent),#2563eb);color:#fff;border:none;padding:10px 20px;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.check-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(59,130,246,.4)}.feedback{margin-top:12px;padding:10px 16px;border-radius:var(--radius-sm);font-weight:500}.feedback.correct{background:rgba(16,185,129,.2);color:#10b981}.feedback.incorrect{background:rgba(239,68,68,.2);color:#ef4444}.type-quiz{display:flex;flex-direction:column;gap:16px;margin:20px 0}.type-question{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-element);border-radius:var(--radius-md)}.type-question code{font-size:var(--font-lg);min-width:100px}.type-options{display:flex;gap:8px;flex-wrap:wrap}.type-options button{padding:8px 16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;transition:.2s}.type-options button:hover{background:var(--bg-element);border-color:var(--primary-accent)}.type-options button.correct{background:rgba(16,185,129,.2);border-color:#10b981;color:#10b981}.type-options button.incorrect{background:rgba(239,68,68,.2);border-color:#ef4444;color:#ef4444}.calc-quiz{display:flex;flex-direction:column;gap:12px;margin:20px 0}.calc-question{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--bg-element);border-radius:var(--radius-md)}.calc-question code{font-size:var(--font-md);min-width:80px}.calc-answer{width:80px;padding:8px 12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:var(--font-code);text-align:center}.calc-answer:focus{outline:0;border-color:var(--primary-accent)}.calc-feedback{font-size:1.2rem}.quiz-locked-message{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;background:var(--bg-element);border:2px dashed var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-weight:600;font-size:var(--font-base)}.quiz-locked-message i{width:20px;height:20px;color:var(--text-muted)}.game-examples{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin:20px 0}.game-example{background:var(--bg-element);border-radius:var(--radius-md);padding:16px}.game-example h4{margin:0 0 12px;color:var(--text-headings);font-size:var(--font-md)}.game-example .code-block{margin:0}.solution{margin-top:20px;background:var(--bg-element);border-radius:var(--radius-md);overflow:hidden}.solution summary{padding:12px 16px;cursor:pointer;color:var(--text-secondary);font-weight:500;transition:color .2s}.solution summary:hover{color:var(--text-headings)}.solution .code-block{margin:0;border-radius:0}.video-placeholder{background:linear-gradient(135deg,#1e1e2e,#2a2a3e);border-radius:var(--radius-md);padding:40px;text-align:center;margin:20px 0}.video-placeholder p{margin:0;color:#a0a0a0;font-size:var(--font-lg)}.understanding-buttons{display:flex;gap:20px;margin-top:40px;padding-top:32px;border-top:2px solid var(--border-color)}.understanding-buttons .btn-not-understood{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:18px 28px;background:var(--bg-element);border:2px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:1.05rem;font-weight:600;cursor:pointer;transition:.3s}.understanding-buttons .btn-not-understood i{width:22px;height:22px}.understanding-buttons .btn-not-understood:hover{background:var(--bg-element);border-color:var(--text-muted);color:var(--text-secondary)}.understanding-buttons .btn-discord-help{background:linear-gradient(135deg,#5865f2,#7289da);border-color:#5865f2;color:#fff;text-decoration:none}.understanding-buttons .btn-discord-help:hover{background:linear-gradient(135deg,#4752c4,#5865f2);border-color:#4752c4;color:#fff;transform:translateY(-3px);box-shadow:0 6px 20px rgba(88,101,242,.4)}.btn-understood{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:18px 28px;background:linear-gradient(135deg,#10b981,#34d399);border:none;border-radius:var(--radius-lg);color:#fff;font-size:1.05rem;font-weight:700;cursor:pointer;transition:.3s;box-shadow:0 4px 15px rgba(16,185,129,.3)}.btn-understood i{width:22px;height:22px}.btn-understood:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(16,185,129,.4)}.section-nav{display:flex;align-items:center;justify-content:center;gap:20px;padding:16px 24px;background:linear-gradient(135deg,rgba(59,130,246,.08),rgba(59,130,246,.05));border-top:1px solid var(--border-color)}.section-nav-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-weight:600;font-size:var(--font-sm);cursor:pointer;transition:.2s;white-space:nowrap}.section-nav-btn i{width:14px;height:14px}.section-nav-btn:hover:not(:disabled){background:var(--primary-light);border-color:var(--primary-accent);color:var(--primary-accent)}.section-nav-btn:disabled{opacity:.4;cursor:not-allowed}.section-nav-btn.btn-next-section{background:var(--gradient-primary);border-color:transparent;color:#fff}.section-nav-btn.btn-next-section:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(59,130,246,.3)}.section-links{display:flex;align-items:center;justify-content:center;gap:6px}.section-dot{width:12px;height:12px;border-radius:50%;background:var(--border-color);transition:.3s;cursor:pointer}.section-dot:hover{transform:scale(1.2)}.section-dot.completed{background:linear-gradient(135deg,#10b981,#34d399);box-shadow:0 2px 8px rgba(16,185,129,.4)}.section-dot.current{background:linear-gradient(135deg,var(--primary-accent),#2563eb);transform:scale(1.3);box-shadow:0 2px 8px rgba(59,130,246,.4)}.section-link{width:28px;height:28px;border-radius:50%;border:2px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);font-size:var(--font-xs);font-weight:700;cursor:pointer;transition:.2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.section-link:hover{border-color:var(--primary-accent);color:var(--primary-accent);transform:scale(1.1)}.section-link.completed{background:linear-gradient(135deg,#10b981,#34d399);border-color:#10b981;color:#fff}.section-link.current{background:var(--gradient-primary);border-color:var(--primary-accent);color:#fff;transform:scale(1.15);box-shadow:var(--shadow-accent)}.quick-nav-bar{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 16px;margin-top:12px;background:var(--primary-light);border:1px solid var(--primary-accent);border-radius:var(--radius-md)}.quick-nav-info{color:var(--primary-accent);font-weight:600;font-size:var(--font-sm)}.quick-nav-bar .btn-back-to-course{padding:8px 14px;font-size:var(--font-sm)}.exercises-section{margin-top:0}.exercises-title-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--border-color)}.exercises-title-bar h2{font-size:1.4rem;color:var(--text-headings);margin:0;display:flex;align-items:center;gap:12px;font-weight:700}.exercises-title-bar h2 i{color:var(--primary-accent);width:24px;height:24px}.exercises-title-actions{display:flex;align-items:stretch;gap:10px}.exercises-count{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--primary-light);border:none;border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:600;color:var(--primary-accent);box-sizing:border-box;white-space:nowrap}.exercises-count i{width:15px;height:15px;flex-shrink:0}.btn-back-to-course{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:var(--bg-card);border:2px solid var(--primary-accent);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:600;color:var(--primary-accent);box-shadow:var(--shadow-sm);box-sizing:border-box;white-space:nowrap;cursor:pointer;transition:.2s;text-decoration:none}.btn-back-to-course:hover{background:var(--primary-accent);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-accent)}.btn-back-to-course i{width:18px;height:18px}.exercise-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden;margin-bottom:24px;box-shadow:0 4px 20px rgba(0,0,0,.08);transition:.3s}.exercise-container:hover{box-shadow:0 8px 30px rgba(0,0,0,.12)}.exercise-header{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;background:linear-gradient(135deg,rgba(59,130,246,.1),rgba(59,130,246,.1));border-bottom:1px solid var(--border-color)}.exercise-title-row{display:flex;align-items:center;gap:12px}.exercise-title-row h3{margin:0;color:var(--text-headings);font-size:var(--font-lg);font-weight:700}.exercise-title-row>i{color:var(--primary-accent);width:20px;height:20px}.exercise-header h3{margin:0;color:var(--text-headings);display:flex;align-items:center;gap:12px;font-size:var(--font-lg);font-weight:700}.exercise-header h3 i{color:var(--primary-accent)}.exercise-difficulty{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--radius-xl);font-size:var(--font-xs);font-weight:600;text-transform:uppercase;letter-spacing:.3px}.exercise-difficulty i{width:12px;height:12px}.exercise-points{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#eab308,#f59e0b);color:#78350f;border-radius:var(--radius-pill);font-size:var(--font-base);font-weight:700;box-shadow:0 2px 10px rgba(251,191,36,.3);transition:all var(--transition-slow)}.exercise-points.earned{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 10px rgba(16,185,129,.4)}.exercise-points i{width:14px;height:14px}.exercise-body{padding:24px 28px}.exercise-instructions-simple{margin-bottom:20px;color:var(--text-primary);font-size:.98rem;line-height:1.75}.exercise-instructions-simple p{margin:0 0 12px}.exercise-instructions-simple p:last-child{margin-bottom:0}.exercise-instructions-simple ol,.exercise-instructions-simple ul{margin:10px 0 14px 20px;padding:0;display:flex;flex-direction:column;gap:6px}.exercise-instructions-simple li{color:var(--text-primary);font-size:var(--font-base);line-height:1.6;padding-left:4px}.exercise-instructions-simple code{background:var(--bg-element);color:var(--primary-accent);padding:2px 7px;border-radius:5px;font-family:var(--font-code);font-size:.88em;font-weight:600;border:1px solid var(--border-color)}.exercise-instructions-simple strong{color:var(--text-headings);font-weight:700}.ex-editor{border-radius:var(--radius-md);overflow:hidden;border:1px solid #dce0e8;background:#eff1f5;box-shadow:0 2px 12px rgba(0,0,0,.08)}[data-theme=dark] .ex-editor{border-color:#2a2b3d;background:#1e1e2e;box-shadow:0 4px 20px rgba(0,0,0,.35)}.ex-editor .cb-header{border-radius:0}.ex-fib-pre{margin:0;padding:12px 0;overflow-x:auto;background:#eff1f5;scrollbar-width:thin;scrollbar-color:#ccd0da transparent}[data-theme=dark] .ex-fib-pre{background:#1e1e2e;scrollbar-color:#313244 transparent}.ex-fib-pre::-webkit-scrollbar{height:6px}.ex-fib-pre::-webkit-scrollbar-thumb{background:#ccd0da;border-radius:var(--radius-full)}[data-theme=dark] .ex-fib-pre::-webkit-scrollbar-thumb{background:#313244}.ex-fib-code{display:block;background:0 0;border:none;padding:0;border-radius:0;color:#4c4f69;font-family:"JetBrains Mono","Fira Code",Consolas,monospace;font-size:var(--font-xs);line-height:1;white-space:normal}[data-theme=dark] .ex-fib-code{color:#cdd6f4}.ex-fib-code .cb-line{display:flex;align-items:stretch;min-height:1.65em;line-height:1.65}.ex-fib-code .cb-line:hover{background:rgba(76,79,105,.05)}[data-theme=dark] .ex-fib-code .cb-line:hover{background:rgba(205,214,244,.035)}.ex-fib-code .cb-gutter{flex:0 0 40px;text-align:right;padding-right:12px;color:#acb0be;font-size:.78em;line-height:inherit;border-right:1px solid #ccd0da;user-select:none;-webkit-user-select:none}[data-theme=dark] .ex-fib-code .cb-gutter{color:#45475a;border-right-color:#313244}.ex-fib-code .cb-code{flex:1;min-width:0;white-space:pre;padding-left:14px;color:#4c4f69;line-height:inherit}[data-theme=dark] .ex-fib-code .cb-code{color:#cdd6f4}.ex-blank{display:inline-block;min-width:5ch;width:8ch;max-width:24ch;padding:1px 6px;margin:0 2px;border:1.5px dashed var(--primary-accent,#3b82f6);border-radius:5px;background:rgba(59,130,246,.08);color:#4c4f69;font-family:inherit;font-size:inherit;font-weight:600;line-height:1.4;text-align:center;vertical-align:baseline;transition:.2s}.ex-blank:focus{outline:0;border-color:var(--primary-accent,#3b82f6);border-style:solid;background:rgba(59,130,246,.12);box-shadow:0 0 0 3px rgba(59,130,246,.15)}.ex-blank::placeholder{color:#9ca0b0;font-weight:400;font-style:italic}[data-theme=dark] .ex-blank{background:rgba(137,180,250,.1);border-color:#89b4fa;color:#cdd6f4}[data-theme=dark] .ex-blank:focus{background:rgba(137,180,250,.15);box-shadow:0 0 0 3px rgba(137,180,250,.15);border-color:#89b4fa}[data-theme=dark] .ex-blank::placeholder{color:rgba(255,255,255,.3)}.ex-blank-error{border-color:#e64553!important;background:rgba(230,69,83,.1)!important;animation:.3s ex-shake}[data-theme=dark] .ex-blank-error{border-color:#f38ba8!important;background:rgba(243,139,168,.12)!important}@keyframes ex-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@keyframes ex-spin{to{transform:rotate(360deg)}}.ex-spin{animation:.8s linear infinite ex-spin}.ex-blank-success{border-color:#40a02b!important;border-style:solid!important;border-bottom-width:2px!important;background:rgba(64,160,43,.15)!important;color:#40a02b!important;font-weight:700;border-radius:4px;box-shadow:0 0 0 2px rgba(64,160,43,.12)}[data-theme=dark] .ex-blank-success{border-color:#a6e3a1!important;background:rgba(166,227,161,.15)!important;color:#a6e3a1!important;box-shadow:0 0 0 2px rgba(166,227,161,.1)}.ex-blank-solved{color:#166534!important;font-weight:700;background:rgba(16,185,129,.15);border-radius:4px;padding:1px 6px;border-bottom:2px solid #10b981;display:inline-block}.ex-blank-solved>*{color:inherit!important}[data-theme=dark] .ex-blank-solved{color:#a6e3a1!important;background:rgba(166,227,161,.12);border-bottom-color:#6ee7b7}[data-theme=dark] .ex-blank-solved>*{color:inherit!important}.ex-blank:disabled{opacity:.7;cursor:not-allowed}.ex-editor-actions{display:flex;gap:12px;padding:14px 16px;border-top:1px solid #ccd0da;background:#e6e9ef}[data-theme=dark] .ex-editor-actions{border-top-color:#313244;background:#181825}.btn-run-code{display:flex;align-items:center;gap:10px;padding:12px 20px;background:linear-gradient(135deg,#10b981,#34d399);border:none;border-radius:var(--radius-md);color:#fff;font-weight:700;font-size:var(--font-base);cursor:pointer;transition:.2s;box-shadow:0 4px 15px rgba(16,185,129,.3)}.btn-run-code:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(16,185,129,.4)}.btn-run-code i{width:18px;height:18px}.btn-show-solution{display:flex;align-items:center;gap:10px;padding:12px 20px;background:var(--bg-element);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-weight:600;font-size:var(--font-base);cursor:pointer;transition:.2s}.btn-show-solution:hover{border-color:var(--primary-accent);color:var(--text-primary)}[data-theme=dark] .btn-show-solution{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:rgba(255,255,255,.7)}[data-theme=dark] .btn-show-solution:hover{background:rgba(255,255,255,.1);color:#fff}.btn-show-solution i{width:18px;height:18px}.solution-cost{display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding:2px 10px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:var(--radius-xl);font-size:var(--font-xs);font-weight:700;color:#fff}.solution-cost i{width:13px;height:13px}.btn-watch-ad{display:flex;align-items:center;gap:7px;padding:12px 16px;background:rgba(245,158,11,.08);border:1.5px solid rgba(245,158,11,.3);border-radius:var(--radius-md);color:#b45309;font-size:.87rem;font-weight:600;cursor:pointer;transition:.2s;white-space:nowrap}.btn-watch-ad:hover{background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.55);transform:translateY(-1px)}[data-theme=dark] .btn-watch-ad{color:#fbbf24;background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.3)}[data-theme=dark] .btn-watch-ad:hover{background:rgba(245,158,11,.2)}.btn-watch-ad i{width:16px;height:16px}.pj-unlock-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.pj-unlock-row .pj-unlock-btn{margin-top:0}.pj-watch-ad-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;background:rgba(245,158,11,.08);border:1.5px solid rgba(245,158,11,.3);border-radius:var(--radius-md);color:#b45309;font-size:var(--font-xs);font-weight:600;cursor:pointer;transition:.18s}.pj-watch-ad-btn:hover{background:rgba(245,158,11,.18);transform:translateY(-1px)}[data-theme=dark] .pj-watch-ad-btn{color:#fbbf24;background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.3)}.pj-watch-ad-btn i,.pj-watch-ad-btn svg{width:14px;height:14px}#lb-ad-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:99999;animation:.2s fadeIn}.lb-ad-box{background:var(--bg-card,#fff);border-radius:var(--radius-lg);width:min(520px,96vw);overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.4)}.lb-ad-header{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--bg-secondary,#f8fafc);border-bottom:1px solid var(--border-color,#e2e8f0)}.lb-ad-label{font-size:var(--font-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted,#94a3b8);flex:1}.lb-ad-timer{font-size:var(--font-xs);font-weight:700;color:var(--text-secondary,#64748b);background:var(--bg-element,#e2e8f0);border-radius:6px;padding:2px 8px;min-width:24px;text-align:center}.lb-ad-close{background:0 0;border:none;color:var(--text-muted,#94a3b8);cursor:pointer;font-size:var(--font-md);padding:2px 6px;border-radius:6px;transition:background .15s}.lb-ad-close:hover{background:var(--bg-element,#e2e8f0)}.lb-ad-body{padding:16px 20px;min-height:280px;display:flex;flex-direction:column;align-items:stretch;justify-content:center}.lb-real-ad{width:100%;min-height:250px;display:block}.lb-ad-placeholder{width:100%;min-height:120px;background:var(--bg-secondary,#f1f5f9);border-radius:var(--radius-md);border:1px dashed var(--border-color,#e2e8f0);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.lb-ad-placeholder-shimmer{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.45) 50%,transparent 100%);background-size:200% 100%;animation:1.6s infinite lb-shimmer}[data-theme=dark] .lb-ad-placeholder-shimmer{background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.07) 50%,transparent 100%);background-size:200% 100%}@keyframes lb-shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}.lb-ad-placeholder-text{font-size:var(--font-2xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted,#94a3b8);position:relative;z-index:1}.lb-ad-footer{padding:14px 20px 20px;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--border-color,#e2e8f0)}.lb-ad-reward-preview{text-align:center;font-size:var(--font-xs);font-weight:600;color:#b45309}[data-theme=dark] .lb-ad-reward-preview{color:#fbbf24}.lb-ad-reward-preview .fa-gem,.lb-ad-reward-preview i{margin-right:4px;color:#7c3aed}.lb-ad-btn{width:100%;padding:12px;border:none;border-radius:var(--radius-md);background:var(--bg-element,#e2e8f0);color:var(--text-secondary,#64748b);font-size:var(--font-base);font-weight:600;cursor:not-allowed;transition:.2s}.lb-ad-btn--ready{background:var(--primary-color,#2563eb)!important;color:#fff!important;cursor:pointer!important;box-shadow:0 4px 15px rgba(37,99,235,.35)}.lb-ad-btn--ready:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(37,99,235,.45)}.exercise-output{margin-top:12px;padding:14px 20px;border-radius:var(--radius-md);font-family:var(--font-code);font-size:var(--font-sm);font-weight:600}.exercise-output.success{background:rgba(16,185,129,.1);border-left:4px solid #10b981;color:#047857}.exercise-output.error{background:rgba(239,68,68,.08);border-left:4px solid #ef4444;color:#dc2626}[data-theme=dark] .exercise-output.success{background:rgba(16,185,129,.12);color:#6ee7b7}[data-theme=dark] .exercise-output.error{background:rgba(239,68,68,.12);color:#fca5a5}.studio-challenge{background:linear-gradient(135deg,rgba(251,191,36,.1),rgba(245,158,11,.1));border:2px dashed #f59e0b;border-radius:var(--radius-lg);padding:24px;margin:24px 0}.studio-challenge-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.studio-challenge-header h3{margin:0;color:#eab308;display:flex;align-items:center;gap:10px}.bonus-badge{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background:linear-gradient(135deg,#eab308,#f59e0b);color:#78350f;border-radius:var(--radius-xl);font-size:var(--font-sm);font-weight:700}.optional-badge{display:inline-block;padding:4px 8px;background:var(--bg-element);border-radius:6px;font-size:var(--font-xs);color:var(--text-secondary);margin-left:8px}.studio-steps{margin:20px 0}.studio-steps ol{padding-left:24px}.studio-steps li{margin-bottom:10px;color:var(--text-primary)}.studio-example{background:#1e1e2e;border-radius:var(--radius-md);padding:16px;margin-top:16px}.studio-example pre{margin:0;color:#7ee787;font-family:var(--font-code);font-size:var(--font-sm);white-space:pre-wrap}.quiz-container{background:0 0;border:none;border-radius:0;overflow:visible;box-shadow:none}.quiz-top-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 6px 18px rgba(15,23,42,.06);overflow:hidden;margin-bottom:16px}.quiz-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:var(--bg-card);border-bottom:none;border-radius:0;box-shadow:none;margin-bottom:0}.quiz-header h2{margin:0;color:var(--text-headings);font-size:1.4rem;font-weight:800;display:flex;align-items:center;gap:10px}.quiz-header h2 i{color:var(--primary-accent);width:20px;height:20px}.quiz-header-actions{display:flex;align-items:center;gap:12px}.admin-answer-toggle{background:var(--bg-element);border:1px solid var(--border-color);color:var(--text-secondary);padding:6px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:.2s;display:flex;align-items:center;gap:4px}.admin-answer-toggle:hover{background:rgba(16,185,129,.2);border-color:#10b981;color:#10b981}.quiz-option.admin-correct{border:2px solid #10b981;background:rgba(16,185,129,.15)}.quiz-header .btn-back-to-course{background:var(--bg-element);border-color:var(--border-color);color:var(--text-primary)}.quiz-header .btn-back-to-course:hover{background:var(--bg-element);border-color:var(--text-muted)}.quiz-progress-text{font-size:var(--font-sm);font-weight:600;color:var(--text-secondary);background:var(--bg-element);padding:6px 14px;border-radius:var(--radius-pill)}.quiz-progress-dots{display:flex;justify-content:flex-start;gap:2px;padding:6px 8px 10px;flex-wrap:nowrap;overflow-x:auto;background:var(--bg-element);border:none;border-radius:0;box-shadow:none;margin-bottom:0;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,0.6) transparent}.quiz-progress-dots::-webkit-scrollbar{height:5px}.quiz-progress-dots::-webkit-scrollbar-track{background:0 0}.quiz-progress-dots::-webkit-scrollbar-thumb{background:rgba(148,163,184,.6);border-radius:var(--radius-md)}.quiz-question{padding:20px 24px 16px;margin:0 0 16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 6px 18px rgba(15,23,42,.06)}.quiz-question h3{font-size:1.45rem;color:var(--text-headings);margin:0 0 36px;line-height:1.55;font-weight:800;text-align:left;padding:0;background:0 0;border:none;border-radius:0}[data-theme=dark] .project-actions,[data-theme=dark] .project-card-block,[data-theme=dark] .project-steps-container,[data-theme=dark] .project-title-bar,[data-theme=dark] .quiz-nav,[data-theme=dark] .quiz-question,[data-theme=dark] .quiz-top-card{box-shadow:0 6px 18px rgba(0,0,0,.25)}.quiz-container .quiz-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.quiz-container .quiz-option{display:flex;align-items:center;gap:14px;padding:18px 20px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:.25s cubic-bezier(.4, 0, .2, 1);position:relative;min-height:56px}[data-theme=dark] .quiz-container .quiz-option{background:rgba(30,41,59,.6);border-color:#475569}.quiz-container .quiz-option:hover{border-color:var(--primary-accent);transform:translateY(-3px);box-shadow:0 6px 16px rgba(15,23,42,.08)}[data-theme=dark] .quiz-container .quiz-option:hover{background:rgba(59,130,246,.08);box-shadow:0 6px 20px rgba(59,130,246,.15)}.quiz-container .quiz-option.selected{background:var(--bg-element);border-color:var(--primary-accent);transform:translateY(-3px);box-shadow:0 6px 18px rgba(59,130,246,.12)}[data-theme=dark] .quiz-container .quiz-option.selected{background:linear-gradient(135deg,rgba(59,130,246,.18),rgba(79,70,229,.12));border-color:#60a5fa}.quiz-container .quiz-option.correct{background:rgba(16,185,129,.12);border-color:#10b981}.quiz-container .quiz-option.incorrect{background:rgba(239,68,68,.12);border-color:#ef4444}.quiz-container .quiz-option.admin-correct{background:rgba(16,185,129,.15);border:2px solid #10b981}.quiz-container .quiz-option.admin-correct .quiz-option-marker{background:linear-gradient(135deg,#10b981,#34d399);border-color:#10b981;color:#fff}.quiz-container .quiz-option.revealed-correct{background:rgba(245,158,11,.12);border:2px solid #f59e0b}.quiz-container .quiz-option.revealed-correct .quiz-option-marker{background:linear-gradient(135deg,#f59e0b,#fbbf24);border-color:#f59e0b;color:#fff}.quiz-reveal-footer{display:flex;justify-content:center;margin-top:20px}.btn-reveal-answer{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.35);border-radius:var(--radius-full,9999px);color:#f59e0b;font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:.2s}.btn-reveal-answer:hover{background:rgba(245,158,11,.18);border-color:#f59e0b}.btn-reveal-answer i{width:15px;height:15px}.reveal-cost{display:inline-flex;align-items:center;gap:4px;margin-left:4px;padding:2px 8px;background:#f59e0b;border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:700;color:#fff}.reveal-cost i{width:11px;height:11px}.reveal-explanation-box{background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-lg,14px);padding:14px 18px;max-width:560px;margin:0 auto;text-align:left}.reveal-explanation-header{display:flex;align-items:center;gap:7px;font-size:var(--font-xs);font-weight:700;color:#f59e0b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.reveal-explanation-header i{width:15px;height:15px}.reveal-explanation-text{font-size:var(--font-base);color:var(--text-primary);line-height:1.6;margin:0}.quiz-container .quiz-option-marker{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--bg-element);border:1px solid var(--border-color);border-radius:var(--radius-md);font-weight:800;font-size:var(--font-sm);color:var(--text-secondary);transition:.25s cubic-bezier(.4, 0, .2, 1);flex-shrink:0}[data-theme=dark] .quiz-container .quiz-option-marker{background:#0f172a;border-color:#475569}.quiz-container .quiz-option.selected .quiz-option-marker{background:var(--primary-accent);border-color:var(--primary-accent);color:#fff}.quiz-container .quiz-option.correct .quiz-option-marker{background:linear-gradient(135deg,#10b981,#34d399);border-color:#10b981;color:#fff}.quiz-container .quiz-option.incorrect .quiz-option-marker{background:linear-gradient(135deg,#ef4444,#f87171);border-color:#ef4444;color:#fff}.quiz-container .quiz-option-text{flex:1;color:var(--text-primary);font-size:var(--font-md);font-weight:600}.quiz-explanation{margin-top:20px;padding:20px 24px;background:var(--bg-element);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--font-base);line-height:1.6;border-left:4px solid var(--primary-accent)}.quiz-nav{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border:1px solid var(--border-color);background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:0 6px 18px rgba(15,23,42,.06)}.quiz-submit{display:flex;align-items:center;gap:8px;padding:12px 28px;background:var(--primary-accent);border:1px solid var(--primary-accent);border-radius:var(--radius-md);color:#fff;font-weight:700;font-size:var(--font-base);cursor:pointer;transition:.3s cubic-bezier(.4, 0, .2, 1);box-shadow:0 4px 14px rgba(59,130,246,.28)}.quiz-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 22px rgba(59,130,246,.35)}.quiz-submit:disabled{opacity:.5;cursor:not-allowed}.quiz-submit i{width:18px;height:18px}.quiz-dot{width:auto;min-width:0;flex:1;height:30px;border-radius:var(--radius-sm);border:none;background:0 0;color:var(--text-muted);font-size:var(--font-xs);font-weight:800;cursor:pointer;transition:.25s cubic-bezier(.4, 0, .2, 1);display:flex;align-items:center;justify-content:center;flex-shrink:0}.quiz-dot:hover{transform:none;box-shadow:none}.quiz-dot.active{background:rgba(59,130,246,.12);color:var(--primary-accent);font-weight:800;box-shadow:none;transform:none}.quiz-dot.answered{background:var(--primary-accent);color:#fff;box-shadow:none}.quiz-dot.answered.active{background:var(--primary-accent);box-shadow:none}@media (max-width:768px){.quiz-container{border-radius:var(--radius-lg)}.quiz-header{padding:12px 14px;flex-wrap:wrap;gap:6px}.quiz-header h2{font-size:var(--font-base);gap:6px}.quiz-header h2 i{width:16px;height:16px}.quiz-header-actions{gap:6px}.quiz-header .btn-back-to-course{padding:5px 10px;font-size:var(--font-2xs);gap:4px;border-radius:var(--radius-sm)}.quiz-header .btn-back-to-course i{width:13px;height:13px}.quiz-progress-text{font-size:var(--font-2xs);padding:4px 10px;border-radius:var(--radius-sm)}.quiz-progress-dots{padding:5px;gap:2px;background:var(--bg-card);border-radius:0;border-bottom:1px solid var(--border-color)}.quiz-dot{width:auto;min-width:0;flex:1;height:30px;border-radius:var(--radius-sm);font-size:var(--font-xs);border:none;background:0 0}.quiz-dot.active{box-shadow:none;transform:none;background:rgba(59,130,246,.12);border:none}.quiz-dot.answered{box-shadow:none;border-radius:var(--radius-sm)}.quiz-dot.answered.active{box-shadow:none}.quiz-back-icon{width:36px;height:36px;min-width:36px;padding:0;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--bg-element);border:1.5px solid var(--border-color);color:var(--text-primary)}.quiz-back-icon i{width:18px;height:18px;color:var(--text-primary)}.quiz-question{padding:14px 16px 10px}.quiz-question h3{font-size:var(--font-sm);padding:0;background:0 0;border:none;border-radius:0;text-align:left;margin-bottom:14px;line-height:1.45}.quiz-container .quiz-options{grid-template-columns:1fr;gap:8px}.quiz-container .quiz-option{padding:14px 16px;gap:12px;border-radius:var(--radius-md);border-width:1.5px}.quiz-container .quiz-option.selected,.quiz-container .quiz-option:hover{transform:none}.quiz-container .quiz-option-marker{width:32px;height:32px;min-width:32px;font-size:var(--font-sm);border-radius:9px;border-width:1.5px}.quiz-container .quiz-option-text{font-size:var(--font-base)}.quiz-explanation{margin-top:12px;padding:12px 14px;font-size:var(--font-xs);border-radius:var(--radius-md);border-left-width:3px}.quiz-nav{padding:10px 14px;gap:6px;flex-wrap:nowrap;flex-direction:row}.quiz-nav .section-nav-btn{padding:6px 10px;font-size:var(--font-xs);white-space:nowrap}.quiz-nav .section-nav-btn i{width:14px;height:14px}.quiz-submit{padding:6px 14px;font-size:var(--font-xs);border-radius:var(--radius-sm);white-space:nowrap}.quiz-answered-count{font-size:var(--font-2xs)}}@media (max-width:480px){.quiz-header{padding:10px 12px}.quiz-header h2{font-size:var(--font-sm)}.quiz-dot{height:26px;font-size:var(--font-2xs)}.quiz-question h3{font-size:var(--font-sm)}.quiz-container .quiz-option{padding:12px 14px}.quiz-container .quiz-option-marker{width:28px;height:28px;min-width:28px;font-size:var(--font-xs)}.quiz-container .quiz-option-text{font-size:var(--font-sm)}}.quiz-answered-count{font-size:var(--font-sm);color:var(--text-secondary);align-self:center;white-space:nowrap}.quiz-results{text-align:center;padding:50px 40px}.quiz-score-circle{width:180px;height:180px;margin:0 auto 32px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.quiz-score-circle::before{content:"";position:absolute;top:-8px;left:-8px;right:-8px;bottom:-8px;border-radius:50%;z-index:-1}.quiz-score-circle.passed{background:linear-gradient(135deg,rgba(16,185,129,.15),rgba(52,211,153,.15));border:4px solid #10b981}.quiz-score-circle.passed::before{background:rgba(16,185,129,.1)}.quiz-score-circle.failed{background:linear-gradient(135deg,rgba(239,68,68,.15),rgba(248,113,113,.15));border:4px solid #ef4444}.quiz-score-circle.failed::before{background:rgba(239,68,68,.1)}.quiz-score-value{font-size:3rem;font-weight:800;color:var(--text-headings)}.quiz-score-label{font-size:var(--font-md);color:var(--text-secondary);font-weight:500}.quiz-results h3{font-size:var(--font-3xl);margin:0 0 16px;font-weight:800}.quiz-results.passed h3{color:#10b981}.quiz-results.failed h3{color:#ef4444}.quiz-results p{color:var(--text-secondary);margin-bottom:24px;font-size:1.05rem;line-height:1.6}.quiz-rewards-summary{display:flex;justify-content:center;gap:20px;margin-bottom:32px}.quiz-reward-item{display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:var(--radius-md);font-weight:600;font-size:var(--font-base)}.quiz-reward-item.points{background:linear-gradient(135deg,rgba(245,158,11,.15),rgba(217,119,6,.1));color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.quiz-reward-item.gems{background:linear-gradient(135deg,rgba(59,130,246,.15),rgba(37,99,235,.1));color:#2563eb;border:1px solid rgba(59,130,246,.3)}.quiz-reward-item i{width:20px;height:20px}.quiz-results-actions{display:flex;justify-content:center;gap:20px}@media (max-width:768px){.course-container{padding:0 14px 40px}.course-header{flex-direction:column;align-items:flex-start;padding:20px;gap:12px;border-radius:var(--radius-lg)}.course-back-btn{width:36px;height:36px}.course-title-section h1{font-size:1.3rem}.course-title-section p{font-size:var(--font-sm)}.section-container{border-radius:var(--radius-lg)}.section-content{padding:16px}.section-header{flex-direction:column;align-items:flex-start;gap:10px;padding:14px 16px}.section-header h2{font-size:var(--font-md)}.section-number{padding:6px 12px;font-size:var(--font-xs)}.understanding-buttons{flex-direction:column;gap:10px}.btn-discord-help,.btn-not-understood{width:100%;justify-content:center;padding:12px 16px;font-size:var(--font-sm)}.section-nav{flex-wrap:wrap;justify-content:center;gap:10px;padding:14px 16px}.section-nav-btn{padding:8px 12px;font-size:var(--font-xs)}.section-links{order:-1;width:100%;justify-content:center;margin-bottom:4px}.section-link{width:26px;height:26px;font-size:var(--font-2xs)}.section-nav-btn.btn-next-section{width:100%;justify-content:center}.quiz-question{padding:16px}.quiz-nav{flex-direction:row;gap:6px;padding:8px 12px}.quiz-results{padding:24px 16px}.quiz-score-circle{width:120px;height:120px}.quiz-results-actions{flex-direction:column;gap:10px}.exercise-container{border-radius:var(--radius-lg)}.exercises-title-bar{flex-wrap:wrap;gap:10px}.exercises-title-bar h2{font-size:1.15rem;flex:1 1 100%}.exercises-title-actions{flex:1 1 100%;justify-content:flex-start}.btn-back-to-course,.exercises-count{font-size:var(--font-xs);padding:7px 12px}.exercise-header{padding:12px 14px;flex-wrap:wrap;gap:8px}.exercise-title-row{gap:8px;flex:1 1 100%}.exercise-header h3,.exercise-title-row h3{font-size:var(--font-base)}.exercise-difficulty{font-size:.65rem;padding:3px 8px}.exercise-points{font-size:var(--font-xs);padding:5px 10px}.exercise-body{padding:14px}.exercise-instructions-simple{font-size:var(--font-sm)}.ex-fib-pre{overflow-x:auto}.ex-editor-actions{flex-direction:column;gap:8px}.ex-editor-actions button{width:100%}.ex-fib-code .cb-gutter{flex:0 0 32px;padding-right:8px;font-size:.72em}.ex-fib-code .cb-code{padding-left:10px}.ex-fib-code{font-size:var(--font-xs)}.ex-blank{min-width:4ch;width:6ch;font-size:var(--font-xs)}.type-question{flex-direction:column;align-items:flex-start}.game-examples{grid-template-columns:1fr}.lego-visual{flex-direction:column;align-items:center}.boxes-visual{justify-content:center}.step{flex-direction:column;text-align:center;gap:12px}}.module-complete{text-align:center;padding:50px 40px;background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:0 8px 40px rgba(0,0,0,.1);position:relative;overflow:hidden}.complete-celebration{position:relative;margin-bottom:24px}.complete-icon{width:100px;height:100px;margin:0 auto;background:linear-gradient(135deg,rgba(16,185,129,.15),rgba(52,211,153,.15));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:50px;animation:2s infinite celebratePulse,.6s ease-out celebrateBounce;box-shadow:0 8px 30px rgba(16,185,129,.25)}@keyframes celebratePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes celebrateBounce{0%{transform:scale(0) rotate(-10deg);opacity:0}50%{transform:scale(1.2) rotate(5deg)}100%{transform:scale(1) rotate(0);opacity:1}}.module-complete h2{font-size:var(--font-4xl);background:linear-gradient(135deg,#10b981,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 12px;font-weight:800}.complete-subtitle{font-size:var(--font-lg);color:var(--text-secondary);margin:0 0 32px}.complete-subtitle strong{color:var(--text-headings)}.complete-rewards{display:flex;justify-content:center;gap:20px;margin-bottom:32px}.reward-card{display:flex;align-items:center;gap:16px;padding:20px 28px;border-radius:var(--radius-lg);min-width:180px}.reward-card.gems{background:linear-gradient(135deg,rgba(251,191,36,.12),rgba(245,158,11,.12));border:2px solid rgba(251,191,36,.3)}.reward-card.points{background:linear-gradient(135deg,rgba(59,130,246,.12),rgba(59,130,246,.12));border:2px solid rgba(59,130,246,.3)}.reward-icon{font-size:2rem}.reward-icon-box{width:50px;height:50px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;background:var(--bg-card);box-shadow:0 2px 8px rgba(0,0,0,.08)}.reward-icon-box i{font-size:22px}.reward-icon-box.gems i{color:#f59e0b}.reward-icon-box.points i{color:var(--primary-accent)}.reward-info{display:flex;flex-direction:column;text-align:left}.reward-value{font-size:var(--font-2xl);font-weight:800;color:var(--text-headings)}.reward-card.gems .reward-value{color:#f59e0b}.reward-card.points .reward-value{color:var(--primary-accent)}.reward-label{font-size:var(--font-sm);color:var(--text-secondary)}.complete-grade-section{background:var(--bg-element);border-radius:var(--radius-xl);padding:28px 32px;margin-bottom:32px}.complete-grade-section h3{font-size:var(--font-base);text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);margin:0 0 20px;font-weight:600}.grade-display{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:24px}.grade-icon-large{font-size:3rem}.grade-info{display:flex;flex-direction:column;text-align:left}.grade-name-large{font-size:var(--font-3xl);font-weight:800;color:var(--text-headings)}.grade-description{font-size:var(--font-base);color:var(--text-secondary)}.next-grade-progress{background:var(--bg-card);border-radius:var(--radius-lg);padding:20px 24px;border:1px solid var(--border-color)}.next-grade-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:var(--font-base);color:var(--text-primary)}.modules-needed{color:var(--text-secondary);font-size:var(--font-sm)}.next-grade-bar{width:100%;height:10px;background:var(--bg-element);border-radius:var(--radius-md);overflow:hidden}.next-grade-fill{height:100%;background:linear-gradient(90deg,var(--primary-accent),#2563eb);border-radius:var(--radius-md);transition:width 1s}.max-grade-reached{background:linear-gradient(135deg,rgba(251,191,36,.15),rgba(245,158,11,.15));border:2px solid rgba(251,191,36,.3);border-radius:var(--radius-lg);padding:16px 24px;font-weight:600;color:#f59e0b}.complete-actions{display:flex;justify-content:center;gap:16px}.btn-next-module{display:inline-flex;align-items:center;gap:12px;padding:18px 36px;background:linear-gradient(135deg,#10b981,#34d399);border:none;border-radius:var(--radius-lg);color:#fff;font-weight:700;font-size:1.05rem;cursor:pointer;transition:.3s;box-shadow:0 4px 20px rgba(16,185,129,.35)}.btn-next-module:hover{transform:translateY(-3px);box-shadow:0 8px 30px rgba(16,185,129,.45)}.btn-next-module i{width:20px;height:20px}.complete-cheatsheet-link{display:inline-flex;align-items:center;gap:7px;margin-top:16px;padding:10px 20px;border-radius:var(--radius-md);font-size:var(--font-xs);font-weight:600;color:var(--text-secondary,#64748b);text-decoration:none;background:var(--bg-element,#f1f5f9);border:1px solid var(--border-color,#e2e8f0);transition:color .15s,background .15s,border-color .15s}.complete-cheatsheet-link i{width:15px;height:15px}.complete-cheatsheet-link:hover{color:var(--primary-accent,#3b82f6);background:rgba(59,130,246,.07);border-color:var(--primary-accent,#3b82f6)}@media (max-width:768px){.module-complete{padding:40px 24px}.complete-rewards{flex-direction:column;align-items:center}.reward-card{width:100%;max-width:280px}.grade-display{flex-direction:column;text-align:center}.grade-info{text-align:center}.next-grade-header{flex-direction:column;gap:8px;text-align:center}.complete-actions{flex-direction:column;gap:10px;align-items:stretch}.btn-next-module{padding:12px 20px;font-size:var(--font-base);border-radius:var(--radius-md);justify-content:center}.complete-actions .section-nav-btn{padding:12px 20px;font-size:var(--font-sm);justify-content:center}.complete-grade-section{padding:20px 16px}.module-complete h2{font-size:var(--font-2xl)}.complete-icon{width:72px;height:72px;font-size:36px}}body.course-split-mode .course-container{max-width:100%;padding:0 20px 40px}.lesson-container{display:grid;grid-template-columns:280px 1fr;grid-template-rows:auto 1fr auto;gap:0;background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);overflow:hidden;min-height:calc(100vh - 280px)}#tutorialContainer.lesson-container{grid-template-columns:1fr;background:0 0;border:none;box-shadow:none;border-radius:0;overflow:visible;min-height:auto}#tutorialContainer.lesson-container .lesson-view{grid-column:1/-1;grid-row:1/-1}#tutorialContainer .lesson-view-all{gap:10px}#tutorialContainer .lesson-pills-container{position:sticky;top:8px;z-index:80;padding:6px 0;margin-bottom:18px}#tutorialContainer .lesson-content-wrapper{gap:20px}#tutorialContainer .lesson-section-block{margin-bottom:26px;scroll-margin-top:110px}#tutorialContainer .lesson-section-divider{border-radius:0;margin-bottom:10px}#tutorialContainer .lesson-section-divider-bg{display:none}#tutorialContainer .lesson-section-divider-inner{padding:6px 4px 10px}#tutorialContainer .lesson-section-content{margin-top:0;border-radius:18px;box-shadow:0 1px 10px rgba(0,0,0,.03)}#tutorialContainer .lesson-bottom-action{margin-top:8px}.lesson-header{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:20px 28px;background:linear-gradient(135deg,rgba(59,130,246,.08),rgba(59,130,246,.04));border-bottom:1px solid var(--border-color)}.lesson-header-left{display:flex;align-items:center;gap:16px}.lesson-tag{display:inline-flex;align-items:center;padding:6px 14px;background:var(--gradient-primary);color:#fff;border-radius:var(--radius-pill);font-size:var(--font-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px}.lesson-title{font-size:1.4rem;font-weight:800;color:var(--text-headings);margin:0}.lesson-status{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-pill);font-size:var(--font-sm);font-weight:600}.lesson-status.completed{background:rgba(16,185,129,.15);color:#10b981}.lesson-status i{width:16px;height:16px}.lesson-container .lesson-sidebar{grid-row:2/3;background:var(--bg-secondary);border-right:1px solid var(--border-color);padding:20px 0;overflow-y:auto;display:flex;flex-direction:column}.lesson-sidebar-title{padding:0 20px 16px;font-size:var(--font-xs);font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);flex-shrink:0}.lesson-section-list{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.lesson-sidebar-next{padding:16px 20px;border-top:1px solid var(--border-color);margin-top:16px}.lesson-next-steps{display:flex;flex-direction:column;gap:8px}.lesson-next-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:.2s}.lesson-next-item.locked{opacity:.5}.lesson-next-item.unlocked{opacity:1;border-color:var(--primary-accent);background:var(--primary-light)}.lesson-next-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-element);border-radius:var(--radius-sm);color:var(--text-muted)}.lesson-next-item.unlocked .lesson-next-icon{background:var(--gradient-primary);color:#fff}.lesson-next-icon i{width:16px;height:16px}.lesson-next-info{flex:1;display:flex;flex-direction:column;gap:2px}.lesson-next-name{font-size:var(--font-sm);font-weight:600;color:var(--text-headings)}.lesson-next-status{font-size:var(--font-2xs);color:var(--text-muted)}.lesson-sidebar-footer{padding:16px 20px;border-top:1px solid var(--border-color);margin-top:auto}.lesson-progress-widget{background:var(--bg-card);border-radius:var(--radius-md);padding:14px;border:1px solid var(--border-color)}.lesson-progress-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.lesson-progress-header span{font-size:var(--font-2xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.lesson-progress-header strong{font-size:var(--font-sm);color:var(--primary-accent)}.lesson-progress-bar{height:6px;background:var(--bg-element);border-radius:3px;overflow:hidden}.lesson-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-accent),#2563eb);border-radius:3px;transition:width .5s}.lesson-section-item{display:flex;align-items:center;gap:12px;padding:14px 20px;cursor:pointer;transition:.2s;border:none;background:0 0;width:100%;text-align:left}.lesson-section-item:hover{background:var(--bg-element)}.lesson-section-item.active{background:var(--primary-light);border-left:3px solid var(--primary-accent)}.lesson-section-item.completed{opacity:.8}.lesson-section-number{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);font-size:var(--font-sm);flex-shrink:0;background:var(--bg-element);color:var(--text-secondary);border:1px solid var(--border-color)}.lesson-section-item.active .lesson-section-number{background:var(--gradient-primary);color:#fff;border-color:transparent}.lesson-section-item.completed .lesson-section-number{background:linear-gradient(135deg,#10b981,#34d399);color:#fff;border-color:transparent}.lesson-section-info{flex:1;min-width:0}.lesson-section-name{font-size:var(--font-base);font-weight:600;color:var(--text-headings);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.lesson-section-status{font-size:var(--font-xs);color:var(--text-muted);margin-top:2px}.lesson-section-item.completed .lesson-section-status{color:#10b981}.lesson-body{overflow-y:auto;background:var(--bg-card);display:flex;flex-direction:column}.lesson-content{flex:1;max-width:100%;animation:.4s fadeInUp}.lesson-content h3{font-size:var(--font-2xl);color:var(--text-headings);margin:2.5rem 0 20px;font-weight:700;display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--border-color)}.lesson-content h3:first-child{margin-top:0}.lesson-content h3 i{width:24px;height:24px;color:var(--primary-accent)}.lesson-content>p{font-size:var(--font-lg);line-height:1.85;color:var(--text-secondary);margin:0 0 1.5rem}.lesson-content ol,.lesson-content ul{margin:0 0 1.5rem;padding-left:2rem}.lesson-content ul{list-style:none}.lesson-content ol li,.lesson-content ul li{position:relative;padding:.25rem 0 .25rem .5rem;margin-bottom:1rem;font-size:var(--font-lg);line-height:1.85;color:var(--text-primary)}.lesson-content ul li::before{content:"";position:absolute;left:-1.25rem;top:.7em;width:8px;height:8px;background:var(--primary-accent);border-radius:50%}.lesson-content ol{list-style:none;counter-reset:step-counter}.lesson-content ol li::before{counter-increment:step-counter;content:counter(step-counter);position:absolute;left:-1.75rem;top:.15em;width:24px;height:24px;background:var(--primary-accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-xs);font-weight:700}.lesson-content code:not(.cb-code-block){background:var(--bg-element);color:var(--primary-accent);padding:2px 8px;border-radius:6px;font-family:var(--font-code);font-size:.9em;font-weight:500;border:1px solid var(--border-color)}.lesson-content strong{color:var(--text-headings);font-weight:700}.lesson-content .code-block::before{content:none;display:none}.lesson-content .code-block pre{margin:0}.lesson-content .code-block code{background:0 0;border:none;padding:0}.lesson-content .output-box{background:#0f172a;border:1px solid rgba(16,185,129,.25);border-radius:var(--radius-md);padding:44px 1.5rem 1.5rem;margin:2rem 0;font-family:var(--font-code);font-size:var(--font-base);color:#7ee787;line-height:1.7;position:relative}.lesson-content .output-box::before{content:"📤 Résultat";position:absolute;top:0;left:0;right:0;padding:10px 16px;background:rgba(16,185,129,.1);border-bottom:1px solid rgba(16,185,129,.15);font-size:var(--font-xs);font-weight:600;color:#34d399}.lesson-content .analogy-box,.lesson-content .tip-box{background:var(--bg-element);border:none;border-left:4px solid var(--primary-accent);border-radius:var(--radius-md);padding:1.5rem 1.75rem;margin:2rem 0;font-size:var(--font-md);line-height:1.8;box-shadow:0 2px 8px rgba(0,0,0,.04)}.lesson-understanding{display:flex;align-items:center;justify-content:flex-end;padding-top:24px;margin-top:32px}.lesson-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:center;padding:16px 24px;background:var(--bg-secondary);border-top:1px solid var(--border-color)}.lesson-footer-progress{display:flex;align-items:center;gap:12px;font-size:var(--font-xs);color:var(--text-muted)}.lesson-footer-progress span{text-transform:uppercase;font-weight:600;letter-spacing:.5px}.lesson-footer-progress strong{color:var(--primary-accent);font-size:var(--font-sm)}.lesson-footer-bar{width:100px;height:4px;background:var(--bg-element);border-radius:2px;overflow:hidden}.lesson-footer-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary-accent),#2563eb);border-radius:2px;transition:width .3s}.lesson-nav{display:flex;align-items:center;gap:16px}.lesson-nav .btn-not-understood{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:0 0;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);font-weight:500;font-size:var(--font-xs);cursor:pointer;transition:.2s}.lesson-nav .btn-not-understood:hover{background:var(--bg-element);color:var(--text-secondary);border-color:var(--text-muted)}.lesson-nav .btn-not-understood i{width:14px;height:14px}.lesson-nav .btn-discord-help{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:0 0;border:1px solid rgba(88,101,242,.3);border-radius:var(--radius-sm);color:#7c85c9;font-weight:500;font-size:var(--font-xs);cursor:pointer;transition:.2s;text-decoration:none}.lesson-nav .btn-discord-help:hover{background:rgba(88,101,242,.08);border-color:#5865f2;color:#5865f2}.lesson-nav .btn-discord-help i{width:14px;height:14px}.lesson-dots{display:flex;align-items:center;gap:8px}.lesson-dot{width:10px;height:10px;border-radius:50%;background:var(--bg-element);border:2px solid var(--border-color);cursor:pointer;transition:.2s;padding:0}.lesson-dot:hover{transform:scale(1.2);border-color:var(--primary-accent)}.lesson-dot.current{background:var(--primary-accent);border-color:var(--primary-accent);transform:scale(1.2)}.lesson-dot.completed{background:#10b981;border-color:#10b981}.lesson-nav-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:var(--bg-element);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-weight:600;font-size:var(--font-base);cursor:pointer;transition:.2s}.lesson-nav-btn:hover:not(:disabled){background:var(--bg-secondary);transform:translateY(-2px)}.lesson-nav-btn:disabled{opacity:.4;cursor:not-allowed}.lesson-nav-btn.primary{background:linear-gradient(135deg,#10b981,#34d399);border-color:transparent;color:#fff;box-shadow:0 4px 15px rgba(16,185,129,.3)}.lesson-nav-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#059669,#10b981);box-shadow:0 6px 20px rgba(16,185,129,.5);color:#fff}.lesson-nav-btn i{width:18px;height:18px}@media (max-width:1024px){.lesson-container{grid-template-columns:240px 1fr}}@media (max-width:768px){body.course-split-mode .course-container{padding:0 14px 20px}.lesson-container{grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto;min-height:auto;border-radius:var(--radius-lg)}.lesson-header{padding:14px 16px;gap:10px}.lesson-header-left{flex-direction:column;align-items:flex-start;gap:6px}.lesson-tag{font-size:.65rem;padding:4px 8px}.lesson-title{font-size:var(--font-md)}.lesson-status{padding:6px 10px;font-size:var(--font-xs)}.lesson-sidebar{grid-row:auto;border-right:none;border-bottom:1px solid var(--border-color);padding:10px 0;max-height:none;overflow:visible;flex-direction:column}.lesson-sidebar-title{display:none}.lesson-section-list{display:flex;flex-direction:row;padding:0 12px 12px;gap:8px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(59,130,246,0.4) transparent}.lesson-section-list::-webkit-scrollbar{height:5px}.lesson-section-list::-webkit-scrollbar-track{background:0 0}.lesson-section-list::-webkit-scrollbar-thumb{background:rgba(59,130,246,.4);border-radius:var(--radius-md)}.lesson-section-item{flex-direction:column;padding:8px 10px;min-width:85px;max-width:100px;text-align:center;border-radius:var(--radius-sm);gap:6px;flex-shrink:0}.lesson-section-item.active{border-left:none;background:var(--primary-light)}.lesson-section-number{width:24px;height:24px;font-size:var(--font-2xs);border-radius:6px}.lesson-section-name{font-size:.65rem;white-space:normal;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lesson-section-status,.lesson-sidebar-footer,.lesson-sidebar-next{display:none}.lesson-body{padding:16px 14px}.lesson-content{font-size:var(--font-base)}.lesson-content h3{font-size:1.2rem;margin:2rem 0 14px;padding-bottom:10px}.lesson-content>p{font-size:var(--font-md);line-height:1.75;margin-bottom:1.25rem}.lesson-content ol li,.lesson-content ul li{padding:.2rem 0 .2rem .3rem;font-size:var(--font-base);margin-bottom:.75rem}.lesson-content ul li::before{left:-1.1rem;width:6px;height:6px}.lesson-content ol li::before{left:-1.5rem;width:20px;height:20px;font-size:var(--font-2xs)}.lesson-content code:not(.cb-code-block){padding:2px 6px;font-size:var(--font-xs)}.lesson-content .code-block{margin:14px 0}.lesson-content .code-block::before{content:none;display:none}.lesson-content .code-block pre{padding:0}.lesson-content .code-block code{font-size:var(--font-xs)}.lesson-understanding{padding-top:16px;margin-top:20px;justify-content:center}.lesson-footer{grid-column:1/-1;padding:12px;gap:10px;flex-direction:column}.lesson-nav{width:100%;justify-content:center}.lesson-nav-btn{padding:10px 14px;font-size:var(--font-xs)}.lesson-nav-btn span{display:none}.lesson-nav-btn.primary span{display:inline}.lesson-dots{gap:5px}.lesson-dot{width:8px;height:8px}}.quiz-review-container{max-width:900px;margin:0 auto}.quiz-review-header{display:flex;justify-content:space-between;align-items:center;background:var(--bg-secondary);border-radius:var(--radius-lg);padding:24px 32px;margin-bottom:24px;border:1px solid var(--border-color)}.quiz-review-title h2{display:flex;align-items:center;gap:12px;margin:0 0 8px;color:var(--text-headings);font-size:var(--font-2xl)}.quiz-review-title h2 i{color:var(--primary-accent)}.quiz-review-title p{margin:0;color:var(--text-secondary);font-size:var(--font-base)}.quiz-review-score{display:flex;flex-direction:column;align-items:center;background:linear-gradient(135deg,var(--primary-accent),var(--primary-accent));padding:16px 28px;border-radius:var(--radius-md);color:#fff}.quiz-review-score .score-value{font-size:var(--font-3xl);font-weight:800}.quiz-review-score .score-label{font-size:var(--font-sm);opacity:.9}.quiz-review-questions{display:flex;flex-direction:column;gap:20px;margin-bottom:32px}.review-question{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:24px;border:2px solid var(--border-color);transition:.3s}.review-question.correct{border-color:rgba(16,185,129,.3);background:linear-gradient(135deg,rgba(16,185,129,.05),transparent)}.review-question.incorrect{border-color:rgba(239,68,68,.3);background:linear-gradient(135deg,rgba(239,68,68,.05),transparent)}.review-question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.review-question-number{font-size:var(--font-sm);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.review-question-status{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--radius-xl);font-size:var(--font-sm);font-weight:600}.review-question-status.correct{background:rgba(16,185,129,.15);color:#10b981}.review-question-status.incorrect{background:rgba(239,68,68,.15);color:#ef4444}.review-question-status i{width:16px;height:16px}.review-question h4{margin:0 0 20px;color:var(--text-headings);font-size:var(--font-lg);font-weight:600;line-height:1.5}.review-options{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.review-option{display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--bg-element);border-radius:var(--radius-md);border:2px solid transparent;position:relative;transition:.2s}.review-option.correct-answer{border-color:#10b981;background:rgba(16,185,129,.1)}.review-option.user-wrong{border-color:#ef4444;background:rgba(239,68,68,.1)}.review-option.user-correct{border-color:#10b981;background:rgba(16,185,129,.15)}.review-option-marker{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--bg-secondary);border-radius:var(--radius-sm);font-weight:700;font-size:var(--font-sm);color:var(--text-secondary);flex-shrink:0}.review-option.correct-answer .review-option-marker{background:#10b981;color:#fff}.review-option.user-wrong .review-option-marker{background:#ef4444;color:#fff}.review-option-text{flex:1;color:var(--text-primary);font-size:var(--font-base)}.review-option .correct-icon,.review-option .wrong-icon{width:20px;height:20px;flex-shrink:0}.review-option .correct-icon{color:#10b981}.review-option .wrong-icon{color:#ef4444}.review-explanation{display:flex;gap:12px;padding:16px 20px;background:rgba(59,130,246,.1);border-radius:var(--radius-md);border-left:4px solid var(--primary-accent)}.review-explanation i{color:var(--primary-accent);width:20px;height:20px;flex-shrink:0;margin-top:2px}.review-explanation span{color:var(--text-primary);font-size:var(--font-base);line-height:1.6}.quiz-review-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}@media (max-width:768px){.quiz-review-header{flex-direction:column;gap:20px;text-align:center}.quiz-review-title h2{justify-content:center}.review-question{padding:16px}.review-question-header{flex-direction:column;gap:10px;align-items:flex-start}.quiz-review-actions{flex-direction:column}.quiz-review-actions button{width:100%;justify-content:center}}.btn-review-quiz{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;background:linear-gradient(135deg,var(--primary-accent),#10b981);color:#fff;border:none;border-radius:var(--radius-pill);font-size:var(--font-md);font-weight:700;box-shadow:0 2px 10px rgba(59,130,246,.15);cursor:pointer;transition:background .2s,box-shadow .2s}.btn-review-quiz:hover{background:linear-gradient(135deg,#10b981,var(--primary-accent));box-shadow:0 4px 20px rgba(16,185,129,.18)}.btn-review-quiz i{width:20px;height:20px;color:#fff}.onboarding-container{max-width:600px;margin:80px auto;padding:40px;background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:0 8px 32px rgba(0,0,0,.1);text-align:center}.onboarding-bloxi{display:flex;flex-direction:column;align-items:center;gap:24px;margin-bottom:40px}.onboarding-bloxi .onboarding-bloxi-avatar{width:120px;height:120px;background:linear-gradient(135deg,#10b981,#34d399);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:60px;box-shadow:0 8px 32px rgba(16,185,129,.3);animation:2s ease-in-out infinite onboarding-bloxi-bounce}.onboarding-bloxi .onboarding-bloxi-avatar img{width:80%;height:80%;object-fit:contain;border-radius:50%}@keyframes onboarding-bloxi-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.onboarding-bloxi .bloxi-greeting{font-size:var(--font-lg);color:var(--text-secondary);margin-bottom:16px;line-height:1.6}.onboarding-bloxi .bloxi-hey{font-size:1.4rem;font-weight:700;color:#10b981}.onboarding-bloxi .bloxi-question{font-size:var(--font-xl);font-weight:600;color:var(--text-primary);line-height:1.5}.onboarding-actions{display:flex;gap:16px;justify-content:center;margin-bottom:24px}.btn-onboarding{display:flex;align-items:center;gap:10px;padding:16px 40px;border-radius:var(--radius-lg);font-size:var(--font-lg);font-weight:600;cursor:pointer;transition:.3s;border:2px solid transparent}.btn-onboarding.yes{background:linear-gradient(135deg,#10b981,#34d399);color:#fff;box-shadow:0 4px 16px rgba(16,185,129,.3)}.btn-onboarding.yes:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(16,185,129,.4)}.btn-onboarding.no{background:var(--bg-element);color:var(--text-secondary);border-color:var(--border-color)}.btn-onboarding.no:hover{background:rgba(239,68,68,.1);border-color:#ef4444;color:#ef4444}.btn-onboarding i{width:20px;height:20px}.onboarding-skip{margin-top:16px}.btn-skip-onboarding{background:0 0;border:none;color:var(--text-muted);font-size:var(--font-base);cursor:pointer;padding:8px 16px;transition:color .2s}.btn-skip-onboarding:hover{color:var(--text-secondary);text-decoration:underline}.lesson-speak-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-color);font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:.2s cubic-bezier(.34, 1.56, .64, 1);margin-left:10px;box-shadow:0 2px 5px rgba(0,0,0,.05)}.lesson-speak-btn:hover{background:var(--bg-main);border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px rgba(59,130,246,.15)}.lesson-speak-btn:active{transform:translateY(0)}.lesson-speak-btn.speaking{background:rgba(239,68,68,.1);border-color:#ef4444;color:#ef4444;animation:2s infinite pulse-red}.lesson-speak-btn.speaking:hover{background:rgba(239,68,68,.2)}.lesson-speak-btn i{width:16px;height:16px}@keyframes pulse-red{0%{box-shadow:0 0 0 0 rgba(239,68,68,.4)}70%{box-shadow:0 0 0 6px rgba(239,68,68,0)}100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}}@media (max-width:768px){.lesson-speak-btn{margin-left:0;width:100%;justify-content:center;margin-top:8px}}.lesson-view{display:flex;flex-direction:column;gap:0}.lesson-view-all{scroll-behavior:smooth}.lesson-section-block{margin-bottom:12px;scroll-margin-top:80px}.lesson-section-divider{position:relative;border-radius:var(--radius-xl);overflow:hidden;margin-bottom:0}.lesson-section-divider-bg{position:absolute;inset:0;background:var(--bg-card);opacity:1}.lesson-section-divider-inner{position:relative;z-index:2;display:flex;align-items:center;gap:20px;padding:24px 28px}.lesson-section-number{width:48px;height:48px;border-radius:var(--radius-lg);background:var(--module-color,var(--primary-accent));color:#fff;font-size:1.2rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 16px rgba(0,0,0,.15)}.lesson-section-divider-text{flex:1;min-width:0}.lesson-section-divider-title{margin:0;font-size:var(--font-xl);font-weight:800;color:var(--text-headings);line-height:1.3}.lesson-section-divider-badge{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:4px}.lesson-section-divider-actions{flex-shrink:0;margin-left:auto}.lesson-section-speak-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:var(--bg-element);border:1.5px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:.25s}.lesson-section-speak-btn i{width:16px;height:16px}.lesson-section-speak-btn:hover{background:var(--bg-card);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.08)}.lesson-section-speak-btn.speaking{background:var(--primary-accent);border-color:var(--primary-accent);color:#fff}.lesson-section-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:clamp(1.5rem,4vw,3rem);margin-top:12px;box-shadow:0 2px 16px rgba(0,0,0,.04)}.lesson-section-help{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 28px 20px}.btn-not-understood-inline{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:var(--bg-element);border:1.5px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:.25s}.btn-not-understood-inline i{width:15px;height:15px}.btn-not-understood-inline:hover{background:var(--primary-accent);border-color:var(--primary-accent);color:#fff;transform:translateY(-2px);box-shadow:0 4px 16px rgba(var(--primary-rgb,59,130,246),.25)}.btn-discord-help-inline{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:rgba(88,101,242,.08);border:1.5px solid rgba(88,101,242,.25);border-radius:var(--radius-md);color:#5865f2;font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:.2s;text-decoration:none}.btn-discord-help-inline:hover{background:rgba(88,101,242,.15);border-color:#5865f2}.btn-discord-help-inline i{width:15px;height:15px}.lesson-pill.completed .pill-number{color:#10b981}.lesson-bottom-action{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px;margin-top:24px;background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:0 2px 16px rgba(0,0,0,.05)}.lesson-bottom-info{display:flex;align-items:center;gap:12px;color:var(--text-secondary);font-size:var(--font-base);font-weight:500}.lesson-bottom-info i{width:20px;height:20px;flex-shrink:0;color:var(--primary-accent)}.lesson-bottom-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;background:var(--primary-accent);border:none;border-radius:var(--radius-lg);color:#fff;font-size:var(--font-base);font-weight:700;cursor:pointer;transition:.25s;box-shadow:0 4px 20px rgba(var(--primary-rgb,59,130,246),.3);white-space:nowrap}.lesson-bottom-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.lesson-bottom-btn:hover{transform:translateY(-2px);box-shadow:0 6px 28px rgba(var(--primary-rgb,59,130,246),.45)}.lesson-bottom-btn i{width:18px;height:18px}.lesson-pills-container{display:flex;justify-content:center;align-items:center;margin-bottom:24px;position:sticky;top:0;z-index:50;padding:4px 0;background:var(--bg-primary)}.lesson-pills{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:nowrap;width:100%;max-width:100%;padding:6px 10px 8px;background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);box-shadow:0 4px 24px rgba(0,0,0,.08);border:1px solid var(--border-color);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(59,130,246,0.4) transparent}.lesson-pills::-webkit-scrollbar{height:5px}.lesson-pills::-webkit-scrollbar-track{background:0 0}.lesson-pills::-webkit-scrollbar-thumb{background:rgba(59,130,246,.4);border-radius:var(--radius-md)}.lesson-pill{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;padding:10px 12px;border-radius:var(--radius-md);border:none;background:0 0;color:var(--text-secondary);font-family:var(--font-headings);font-size:var(--font-sm);font-weight:600;cursor:pointer;white-space:nowrap;transition:.25s cubic-bezier(.4, 0, .2, 1)}.lesson-pill:hover{color:var(--primary-accent);background:var(--bg-element)}.lesson-pill.active{background:var(--primary-accent);color:#fff;box-shadow:none}.pill-number{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;background:var(--bg-element);font-size:var(--font-xs);font-weight:700;color:var(--text-muted);flex-shrink:0}.lesson-pill.active .pill-number{background:rgba(255,255,255,.25);color:#fff}.pill-label{max-width:120px;overflow:hidden;text-overflow:ellipsis}.lesson-content-wrapper{max-width:100%;width:100%;display:flex;flex-direction:column;gap:0}.course-learning-map{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px 18px;margin-bottom:16px;box-shadow:0 2px 10px rgba(0,0,0,.04)}.course-learning-map-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.course-learning-map-head i{width:18px;height:18px;color:var(--primary-accent);margin-top:2px;flex-shrink:0}.course-learning-map-head h3{margin:0;color:var(--text-headings);font-size:.96rem;font-weight:800}.course-learning-map-head p{margin:2px 0 0;color:var(--text-secondary);font-size:var(--font-base);line-height:1.45}.course-learning-map-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.course-learning-map-list li{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:var(--font-base)}.course-learning-map-list .goal-index{width:22px;height:22px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background:rgba(var(--primary-rgb,59,130,246),.1);color:var(--primary-accent);font-weight:700;font-size:var(--font-xs);flex-shrink:0}.course-learning-map-list .goal-text{line-height:1.35}.lesson-hero{position:relative;border-radius:var(--radius-xl);overflow:hidden;margin-bottom:32px;box-shadow:0 8px 40px rgba(0,0,0,.12)}.lesson-hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,var(--module-color,#3b82f6) 0,color-mix(in srgb,var(--module-color,#3b82f6) 70%,#1e1b4b) 100%);z-index:0}.lesson-hero-bg::before{content:"";position:absolute;top:-60%;right:-20%;width:400px;height:400px;background:rgba(255,255,255,.1);border-radius:50%}.lesson-hero-bg::after{content:"";position:absolute;bottom:-50%;left:-10%;width:250px;height:250px;background:rgba(255,255,255,.06);border-radius:50%}.lesson-hero-inner{position:relative;z-index:2;display:flex;align-items:center;gap:24px;padding:36px 40px 28px}.lesson-hero-icon{width:64px;height:64px;background:rgba(255,255,255,.2);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3);border-radius:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 16px rgba(0,0,0,.12)}.lesson-hero-icon i{width:28px;height:28px;color:#fff}.lesson-hero-text{flex:1;min-width:0}.lesson-hero-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.2);backdrop-filter:blur(8px);color:#fff;padding:5px 14px;border-radius:var(--radius-xl);font-size:var(--font-xs);font-weight:700;letter-spacing:.03em;text-transform:uppercase;margin-bottom:10px}.lesson-hero-badge i{width:14px;height:14px}.lesson-hero-title{margin:0;font-size:1.65rem;font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1.25;text-shadow:0 2px 8px rgba(0,0,0,.15)}.lesson-hero-actions{flex-shrink:0}.lesson-hero-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:rgba(255,255,255,.2);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-md);color:#fff;font-size:var(--font-base);font-weight:700;cursor:pointer;transition:.3s}.lesson-hero-btn:hover{background:rgba(255,255,255,.35);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.15)}.lesson-hero-btn i{width:18px;height:18px}.lesson-hero-progress{position:relative;z-index:2;height:5px;background:rgba(0,0,0,.2)}.lesson-hero-progress-fill{height:100%;background:rgba(255,255,255,.7);border-radius:0 3px 3px 0;transition:width .5s cubic-bezier(.4, 0, .2, 1);box-shadow:0 0 12px rgba(255,255,255,.4)}.lesson-body{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:clamp(2rem,5vw,3.5rem);box-shadow:0 4px 24px rgba(0,0,0,.06);margin-bottom:24px;position:relative}.lesson-body::before{content:"";position:absolute;top:0;left:32px;right:32px;height:1px;background:linear-gradient(90deg,transparent,var(--border-color),transparent)}.lesson-hero-btn.speaking{background:rgba(255,255,255,.4);border-color:#fff}.lesson-course-content.typography h3{font-size:1.22rem;color:var(--text-headings);margin:2.2rem 0 .9rem;font-weight:800;padding-bottom:.5rem;border-bottom:1px solid rgba(var(--primary-rgb,59,130,246),.18);letter-spacing:-.01em}.lesson-course-content.typography h3:first-child{margin-top:0}.lesson-course-content.typography h4{margin:28px 0 16px;font-size:1.15rem;font-weight:700;color:var(--text-headings);display:flex;align-items:center;gap:10px}.lesson-course-content.typography h4::before{content:"";width:4px;height:20px;background:var(--gradient-primary);border-radius:2px}.lesson-course-content.typography>p{font-size:1.02rem;line-height:1.85;color:var(--text-secondary);margin:0 0 1.35rem}.lesson-course-content.typography ol,.lesson-course-content.typography ul{margin:1.25rem 0 1.4rem;padding-left:1.35rem}.lesson-course-content.typography li{margin-bottom:.65rem;font-size:1.02rem;line-height:1.75;color:var(--text-secondary)}.lesson-course-content.typography strong{color:var(--text-headings);font-weight:700}.course-callout,.lesson-course-content.typography .analogy-box,.lesson-course-content.typography .important-box,.lesson-course-content.typography .tip-box,.lesson-course-content.typography .warning-box{background:var(--bg-element,#f8fafc);border:1px solid var(--border-color,#e2e8f0);border-left:3px solid #94a3b8;border-radius:var(--radius-md);padding:16px 18px;margin:1.6rem 0;font-size:var(--font-md);line-height:1.75;color:var(--text-secondary)}.lesson-course-content.typography .tuto-success,.lesson-course-content.typography .tuto-tip{display:flex;align-items:flex-start;gap:16px;background:var(--bg-element,#f8fafc);border:1px solid var(--border-color,#e2e8f0);border-left:4px solid #10b981;border-radius:var(--radius-md);padding:1.5rem 1.75rem;margin:2rem 0;font-size:var(--font-md);line-height:1.8;color:var(--text-secondary);box-shadow:0 2px 8px rgba(0,0,0,.04)}.lesson-course-content.typography .tuto-warning{display:flex;align-items:flex-start;gap:16px;background:var(--bg-element,#f8fafc);border:1px solid var(--border-color,#e2e8f0);border-left:4px solid #f59e0b;border-radius:var(--radius-md);padding:1.5rem 1.75rem;margin:2rem 0;font-size:var(--font-md);line-height:1.8;color:var(--text-secondary);box-shadow:0 2px 8px rgba(0,0,0,.04)}.lesson-course-content.typography .tuto-success svg,.lesson-course-content.typography .tuto-tip svg{color:#10b981;width:20px;height:20px;flex-shrink:0;margin-top:2px}.lesson-course-content.typography .tuto-warning svg{color:#f59e0b;width:20px;height:20px;flex-shrink:0;margin-top:2px}.lesson-course-content.typography .tuto-table{width:100%;border-collapse:separate;border-spacing:0;margin:2rem 0;font-size:var(--font-base);border-radius:var(--radius-lg);overflow:hidden;border:1.5px solid var(--border-color);box-shadow:0 2px 12px rgba(0,0,0,.04)}.lesson-course-content.typography .tuto-table th{background:var(--bg-element);padding:14px 20px;text-align:left;font-weight:700;font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1.5px solid var(--border-color)}.lesson-course-content.typography .tuto-table td{padding:14px 20px;border-bottom:1px solid var(--border-color);color:var(--text-secondary);line-height:1.6;background:var(--bg-card,transparent)}.lesson-course-content.typography .tuto-table tr:last-child td{border-bottom:none}.lesson-course-content.typography .tuto-table td:first-child{font-weight:600;color:var(--text-headings)}.lesson-course-content.typography .tuto-table tr:hover td{background:var(--bg-element)}.course-callout[data-variant=note]{border-left-color:#cbd5e1;background:var(--bg-element)}.course-callout[data-variant=tip]{border-left-color:rgba(var(--primary-rgb,59,130,246),.45);background:rgba(var(--primary-rgb,59,130,246),.06)}.course-callout[data-variant=warn]{border-left-color:#94a3b8;background:var(--bg-element)}.section-objective{display:flex;align-items:center;gap:16px;background:var(--bg-element,#f8fafc);border:1px solid var(--border-color,#e2e8f0);border-left:4px solid var(--primary-accent,#3b82f6);border-radius:var(--radius-sm);padding:16px 20px;margin:1.5rem 0;box-shadow:0 2px 8px rgba(0,0,0,.04)}.section-objective-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:rgba(var(--primary-rgb,59,130,246),.1);color:var(--primary-accent,#3b82f6);flex-shrink:0}.section-objective-icon i{width:24px;height:24px}.section-objective-text{flex:1;color:var(--text-secondary,#475569);font-size:var(--font-base);line-height:1.5}.section-objective-text strong{color:var(--text-headings,#1e293b);font-weight:700}.course-intro{background:var(--bg-element,#f8fafc);border:1px solid var(--border-color,#e2e8f0);border-radius:var(--radius-sm);padding:12px 16px;margin:1.5rem 0;color:var(--text-secondary,#475569);font-size:var(--font-base);line-height:1.5;box-shadow:0 2px 8px rgba(0,0,0,.04)}.course-intro h3{display:flex;align-items:center;gap:8px;margin:0;padding:12px 18px;font-size:var(--font-sm);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--primary-accent,#3b82f6);background:rgba(var(--primary-rgb,59,130,246),.06);border-bottom:1px solid var(--border-color,#e2e8f0)}.course-intro h3::before{content:"💡";font-size:var(--font-md)}.course-intro>p{margin:0;padding:14px 18px;line-height:1.55;border-bottom:1px solid var(--border-color,#e2e8f0)}.course-intro>p:last-child{border-bottom:none}.course-intro>p strong{color:var(--text-headings,#1e293b);font-weight:700}@media (min-width:768px){.course-intro>p{border-bottom:none;border-right:1px solid var(--border-color,#e2e8f0)}.course-intro{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr}.course-intro h3{grid-column:1/-1}.course-intro:has(> p:nth-child(4)){grid-template-columns:1fr 1fr 1fr}.course-intro>p:last-child{border-right:none}}.course-tags{display:flex;flex-wrap:wrap;gap:6px;margin:.2rem 0 1rem}.course-tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);border:1px solid rgba(var(--primary-rgb,59,130,246),.2);background:rgba(var(--primary-rgb,59,130,246),.06);color:var(--text-headings);font-size:var(--font-xs);font-weight:700}.lesson-course-content.typography code:not(.cb-code-block){background:var(--bg-element);color:var(--primary-accent);padding:2px 6px;border-radius:6px;font-family:var(--font-code);font-size:.88em;font-weight:600;border:1px solid var(--border-color)}.lesson-course-content.typography pre:not(.cb-pre){margin:1rem 0;padding:1rem;border-radius:var(--radius-md);background:#0f172a;border:1px solid rgba(148,163,184,.2);overflow-x:auto}.lesson-course-content.typography pre:not(.cb-pre) code{display:block;background:0 0;border:none;padding:0;border-radius:0;color:#dbeafe;font-family:var(--font-code);font-size:var(--font-base);line-height:1.7;white-space:pre}.code-block-learn-hint{display:none!important}@media (max-width:768px){.course-learning-map{padding:12px;border-radius:var(--radius-md);margin-bottom:12px}.course-learning-map-head h3{font-size:var(--font-sm)}.course-learning-map-head p,.course-learning-map-list li{font-size:var(--font-xs)}.course-learning-map-list .goal-index{width:20px;height:20px;font-size:var(--font-2xs)}}.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:1.3rem 0 2rem}.course-card{background:var(--bg-element,#f8fafc);border:1px solid var(--border-color,#e2e8f0);border-left:3px solid rgba(var(--primary-rgb,59,130,246),.25);border-radius:var(--radius-lg);padding:20px 22px;box-shadow:0 2px 10px rgba(0,0,0,.04)}.course-card-title{font-size:1.06rem;font-weight:700;color:var(--text-headings);margin-bottom:8px}.course-card-meta{font-size:var(--font-xs);font-weight:600;color:var(--text-muted);margin-bottom:10px}.course-card-desc{margin:0;font-size:.99rem;line-height:1.75;color:var(--text-secondary)}.course-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);border:1px solid rgba(var(--primary-rgb,59,130,246),.25);background:rgba(var(--primary-rgb,59,130,246),.08);color:var(--text-headings);font-size:var(--font-xs);font-weight:600}.course-steps-list{margin:1.6rem 0;padding-left:0;list-style:none;counter-reset:step;display:flex;flex-wrap:wrap;gap:12px}.course-steps-list li{position:relative;padding:12px 16px 12px 46px;margin-bottom:0;min-width:220px;flex:1 1 240px;border:1px solid var(--border-color,#e2e8f0);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-secondary)}.course-steps-list li::before{counter-increment:step;content:counter(step);position:absolute;left:14px;top:12px;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-xs);font-weight:700;color:var(--text-headings);background:rgba(var(--primary-rgb,59,130,246),.18);border:1px solid rgba(var(--primary-rgb,59,130,246),.25)}.lesson-section-content .course-steps{margin:1.7rem 0;padding-left:0;list-style:none;counter-reset:step}.lesson-section-content .course-steps li{position:relative;padding:14px 18px 14px 48px;margin-bottom:14px;border:1px solid var(--border-color,#e2e8f0);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-secondary)}.lesson-section-content .course-steps li::before{counter-increment:step;content:counter(step);position:absolute;left:14px;top:12px;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.76rem;font-weight:700;color:var(--text-headings);background:rgba(var(--primary-rgb,59,130,246),.18);border:1px solid rgba(var(--primary-rgb,59,130,246),.25)}.course-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:26px;padding:2px 6px;border-radius:6px;border:1px solid var(--border-color,#e2e8f0);background:var(--bg-element);font-family:var(--font-code);font-size:var(--font-sm);font-weight:700;color:var(--text-headings)}.course-image{display:block;width:100%;height:auto;margin:1rem 0 1.6rem;border-radius:var(--radius-lg);border:1px solid var(--border-color,#e2e8f0);box-shadow:0 10px 28px rgba(0,0,0,.08);background:var(--bg-card);padding:6px}.course-image-link{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-base);font-weight:700;color:var(--text-headings);background:var(--bg-element);border:1px solid var(--border-color,#e2e8f0);border-radius:var(--radius-md);padding:8px 12px;margin:.4rem 0 .8rem;cursor:pointer}.course-image-link:hover{border-color:rgba(var(--primary-rgb,59,130,246),.35);background:rgba(var(--primary-rgb,59,130,246),.06)}.course-image-toggle{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--border-color,#e2e8f0);background:var(--bg-element);color:var(--text-headings);font-size:var(--font-base);font-weight:700;cursor:pointer;transition:all var(--transition);margin:.3rem 0 .8rem}.course-image-toggle:hover{border-color:rgba(var(--primary-rgb,59,130,246),.35);background:rgba(var(--primary-rgb,59,130,246),.06)}.course-image-wrap{margin-bottom:1rem}.lesson-help-card{background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-xl);padding:24px 28px;box-shadow:0 2px 12px rgba(0,0,0,.04);margin-bottom:24px}.lesson-help-content{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.lesson-help-text{display:flex;align-items:center;gap:16px;color:var(--text-secondary);font-size:var(--font-base);font-weight:500;flex:1;min-width:200px}.lesson-help-text strong{display:block;color:var(--text-headings);font-size:var(--font-base);margin-bottom:2px}.lesson-help-text span{font-size:var(--font-sm);color:var(--text-muted)}.lesson-help-icon-wrap{width:44px;height:44px;background:var(--bg-element);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.lesson-help-icon-wrap i{width:22px;height:22px;color:var(--primary-accent)}.lesson-help-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.btn-not-understood{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;background:var(--bg-element);border:1.5px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-base);font-weight:700;cursor:pointer;transition:.2s}.btn-not-understood i{width:16px;height:16px}.btn-not-understood:hover{background:var(--primary-accent);border-color:var(--primary-accent);color:#fff;box-shadow:0 4px 16px rgba(var(--primary-rgb,59,130,246),.25);transform:translateY(-2px)}.btn-discord-help{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;background:rgba(88,101,242,.08);border:1.5px solid rgba(88,101,242,.25);border-radius:var(--radius-md);color:#5865f2;font-size:var(--font-base);font-weight:700;cursor:pointer;transition:.2s;text-decoration:none}.btn-discord-help i{width:16px;height:16px}.btn-discord-help:hover{background:rgba(88,101,242,.12);border-color:#5865f2;color:#5865f2}.lesson-nav-footer{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:0 2px 12px rgba(0,0,0,.04)}.nav-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:var(--bg-element);border:1.5px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--font-base);font-weight:700;cursor:pointer;transition:.25s}.nav-btn:hover:not(:disabled){background:var(--primary-accent);border-color:var(--primary-accent);color:#fff;transform:translateY(-2px);box-shadow:0 4px 16px rgba(var(--primary-rgb,59,130,246),.3)}.nav-btn:disabled{opacity:.35;cursor:not-allowed}.nav-btn i{width:18px;height:18px}.nav-btn.next{background:var(--primary-accent);border-color:transparent;color:#fff;box-shadow:0 4px 16px rgba(var(--primary-rgb,59,130,246),.3)}.nav-btn.next:hover:not(:disabled){box-shadow:0 6px 24px rgba(var(--primary-rgb,59,130,246),.45);color:#fff;transform:translateY(-2px)}.nav-progress-indicator{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:120px}.nav-progress-text{font-size:var(--font-xs);font-weight:700;color:var(--text-muted);letter-spacing:.05em}.nav-progress-bar{width:100%;height:6px;background:var(--bg-element);border-radius:3px;overflow:hidden}.nav-progress-fill{height:100%;background:var(--primary-accent);border-radius:3px;transition:width .5s cubic-bezier(.4, 0, .2, 1)}.nav-dots{display:flex;align-items:center;gap:8px}.nav-dot{width:10px;height:10px;border-radius:50%;background:var(--bg-element);border:2px solid var(--border-color);transition:.2s;flex-shrink:0}.nav-dot.active{background:var(--primary-accent);border-color:var(--primary-accent);transform:scale(1.3)}@media (max-width:768px){#tutorialContainer .lesson-pills-container{top:4px;margin-bottom:12px}#tutorialContainer .lesson-content-wrapper{gap:16px}#tutorialContainer .lesson-section-block{margin-bottom:18px;scroll-margin-top:88px}#tutorialContainer .lesson-section-divider-inner{padding:4px 2px 8px}.lesson-pills-container{padding:0;margin-bottom:10px}.lesson-pills{width:100%;max-width:100%;gap:2px;padding:5px;border-radius:var(--radius-lg);justify-content:center}.lesson-pill{flex:1;padding:0;gap:0;height:34px;border-radius:var(--radius-md);justify-content:center;align-items:center;font-size:0;background:0 0;transition:background .2s,box-shadow .2s}.lesson-pill.active{background:var(--primary-accent);box-shadow:none}.pill-label{display:none}.pill-number{width:auto;height:auto;font-size:var(--font-xs);font-weight:700;background:0 0;color:var(--text-muted);border-radius:0}.lesson-pill.active .pill-number{background:0 0;color:#fff}.lesson-content-wrapper{gap:14px}.lesson-section-header-card{padding:18px 20px;border-radius:var(--radius-lg)}.lesson-section-title{font-size:1.2rem;margin-bottom:12px}.lesson-body{padding:20px;border-radius:var(--radius-lg)}.lesson-hero-inner{flex-direction:column;align-items:flex-start;padding:24px 20px 20px;gap:16px}.lesson-hero-title{font-size:1.3rem}.lesson-hero-icon{width:48px;height:48px;border-radius:var(--radius-lg)}.lesson-hero-icon i{width:22px;height:22px}.lesson-help-card{padding:14px 18px;border-radius:var(--radius-md)}.lesson-help-content{flex-direction:column;align-items:flex-start;gap:12px}.lesson-help-actions{width:100%;flex-direction:column}.btn-discord-help,.btn-not-understood{width:100%;justify-content:center}.lesson-nav-footer{flex-direction:column;gap:12px;padding:16px 20px;border-radius:var(--radius-lg)}.nav-btn{width:100%;justify-content:center}.nav-dots{order:-1;margin-bottom:4px}.nav-dot{width:8px;height:8px}.lesson-section-divider-inner{padding:18px 20px;gap:14px}.lesson-section-number{width:38px;height:38px;font-size:var(--font-md);border-radius:var(--radius-md)}.lesson-section-divider-title{font-size:1.05rem}.lesson-section-content{padding:20px;border-radius:var(--radius-lg)}.lesson-section-help{padding:8px 20px 16px}.lesson-bottom-action{flex-direction:column;text-align:center;padding:20px;gap:14px}.lesson-bottom-btn{width:100%;justify-content:center}}@media (max-width:480px){.lesson-pill{height:30px}.pill-number{font-size:var(--font-xs)}.lesson-pills{padding:4px}}.pj-wrap{display:flex;flex-direction:column;gap:12px;padding-bottom:48px}.pj-header{background:linear-gradient(135deg,rgba(16,185,129,.1) 0,rgba(16,185,129,.03) 100%);border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-lg);padding:20px 24px}.pj-header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:8px}.pj-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-xl);font-size:.68rem;font-weight:700;color:#10b981;text-transform:uppercase;letter-spacing:.06em}.pj-badge i,.pj-badge svg{width:12px;height:12px}.pj-steps-count{font-size:var(--font-xs);color:var(--text-secondary);font-weight:600;white-space:nowrap}.pj-title{font-size:var(--font-lg);font-weight:800;color:var(--text-headings);margin:0 0 6px;line-height:1.3}.pj-desc{font-size:var(--font-sm);color:var(--text-secondary);margin:0 0 16px;line-height:1.5}.pj-progress{display:flex;align-items:center;gap:12px}.pj-progress-track{flex:1;height:6px;background:rgba(255,255,255,.08);border-radius:var(--radius-full);overflow:hidden}.pj-progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#34d399);border-radius:var(--radius-full);transition:width .4s}.pj-progress-text{font-size:var(--font-2xs);font-weight:700;color:#10b981;white-space:nowrap}.pj-steps{display:flex;flex-direction:column;gap:8px}.pj-step{background:var(--bg-card,var(--bg-sidebar));border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .2s}.pj-step--open{border-color:rgba(59,130,246,.35)}.pj-step--done{border-color:rgba(16,185,129,.22);background:rgba(16,185,129,.025)}.pj-step-header{display:flex;align-items:center;gap:14px;padding:14px 18px;cursor:pointer;user-select:none;transition:background .15s}.pj-step-header:hover{background:rgba(255,255,255,.025)}.pj-step-indicator{width:28px;height:28px;min-width:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-xs);font-weight:800;background:var(--bg-element);border:2px solid var(--border-color);color:var(--text-secondary);transition:.2s}.pj-step--open .pj-step-indicator{background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.5);color:#3b82f6}.pj-step--done .pj-step-indicator{background:#10b981;border-color:#10b981;color:#fff}.pj-step-indicator i,.pj-step-indicator svg{width:14px;height:14px}.pj-step-title-wrap{flex:1;min-width:0}.pj-step-name{display:block;font-size:var(--font-sm);font-weight:700;color:var(--text-primary);line-height:1.3}.pj-step--done .pj-step-name{color:var(--text-muted);text-decoration:line-through}.pj-step-status{display:block;font-size:var(--font-2xs);color:var(--text-muted);margin-top:2px}.pj-step--done .pj-step-status{color:#10b981}.pj-step-chevron{width:16px;height:16px;color:var(--text-muted);transition:transform .2s;flex-shrink:0}.pj-step--open .pj-step-chevron{transform:rotate(180deg)}.pj-step-body{padding:0 18px 18px;display:none}.pj-step--open .pj-step-body{display:block}.pj-step-divider{height:1px;background:var(--border-color);margin-bottom:16px;opacity:.4}.pj-step-content{font-size:.86rem;color:var(--text-secondary);line-height:1.65;margin-bottom:14px}.pj-step-content .project-step-todo{margin:12px 0;padding:14px 16px;background:rgba(59,130,246,.05);border-left:3px solid #3b82f6;border-radius:0 10px 10px 0;font-size:var(--font-sm);color:var(--text-primary);line-height:1.7}.pj-step-content .project-step-todo>strong{display:block;font-size:var(--font-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#3b82f6;margin-bottom:6px}.pj-step-content .project-step-todo li strong{display:inline;font-family:'Fira Code','Courier New',monospace;font-size:.82em;font-weight:600;text-transform:none;letter-spacing:normal;padding:1px 6px;background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.2);border-radius:4px;color:#60a5fa}.pj-step-content .project-step-todo ol,.pj-step-content .project-step-todo ul{margin:8px 0 0;padding-left:20px}.pj-step-content .project-step-todo code{font-family:'Fira Code',monospace;font-size:.82em;padding:1px 6px;background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.2);border-radius:4px;color:#60a5fa}.pj-step-content .project-step-why{margin:10px 0 0;padding:12px 14px;background:var(--bg-element,rgba(255,255,255,.03));border-radius:var(--radius-md);font-style:italic;font-size:var(--font-xs);color:var(--text-muted);line-height:1.6}.pj-hint-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;margin-bottom:14px;background:0 0;border:1px solid rgba(234,179,8,.3);border-radius:var(--radius-sm);color:#ca8a04;font-size:var(--font-xs);font-weight:600;cursor:pointer;transition:.15s}.pj-hint-btn:hover{background:rgba(234,179,8,.07);border-color:rgba(234,179,8,.5)}.pj-hint-btn i,.pj-hint-btn svg{width:14px;height:14px}.pj-hint-box{display:flex;gap:10px;padding:12px 14px;margin-bottom:14px;background:rgba(234,179,8,.06);border:1px solid rgba(234,179,8,.2);border-radius:var(--radius-md);font-size:var(--font-xs);color:var(--text-secondary);line-height:1.5}.pj-hint-box[hidden]{display:none!important}.pj-hint-box i,.pj-hint-box svg{width:16px;height:16px;color:#ca8a04;flex-shrink:0;margin-top:1px}.pj-mark-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--font-sm);font-weight:700;cursor:pointer;transition:.2s;box-shadow:0 3px 10px rgba(16,185,129,.25)}.pj-mark-btn:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(16,185,129,.4)}.pj-mark-btn i,.pj-mark-btn svg{width:15px;height:15px}.pj-done-banner{display:flex;align-items:center;gap:14px;padding:16px 20px;background:rgba(16,185,129,.07);border:1px solid rgba(16,185,129,.25);border-radius:var(--radius-lg)}.pj-done-banner i,.pj-done-banner svg{width:28px;height:28px;color:#10b981;flex-shrink:0}.pj-done-banner strong{display:block;font-size:var(--font-base);font-weight:800;color:var(--text-headings)}.pj-done-banner span{display:block;font-size:var(--font-xs);color:var(--text-secondary);margin-top:2px}.pj-footer{display:flex;align-items:center;gap:12px;padding-top:4px}.pj-btn-skip{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;background:0 0;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:.2s}.pj-btn-skip:hover{border-color:var(--text-secondary);color:var(--text-primary)}.pj-btn-skip i,.pj-btn-skip svg{width:15px;height:15px}.pj-btn-validate{flex:2;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--font-sm);font-weight:700;cursor:pointer;transition:.2s;box-shadow:0 4px 14px rgba(59,130,246,.28)}.pj-btn-validate:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px rgba(59,130,246,.4)}.pj-btn-validate:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.pj-btn-validate i,.pj-btn-validate svg{width:15px;height:15px}.pj-btn-quiz{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--font-base);font-weight:700;cursor:pointer;transition:.2s;box-shadow:0 4px 14px rgba(16,185,129,.28)}.pj-btn-quiz:hover{transform:translateY(-1px)}.pj-btn-quiz i,.pj-btn-quiz svg{width:16px;height:16px}.pj-footer--skipped{flex-direction:column;gap:10px}.pj-btn-resume{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 24px;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--font-base);font-weight:700;cursor:pointer;transition:.2s;box-shadow:0 4px 18px rgba(99,102,241,.35)}.pj-btn-resume:hover{transform:translateY(-2px);box-shadow:0 6px 22px rgba(99,102,241,.5)}.pj-btn-resume i,.pj-btn-resume svg{width:17px;height:17px}.pj-btn-quiz-ghost{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 24px;background:0 0;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:.2s}.pj-btn-quiz-ghost:hover{border-color:var(--text-secondary);color:var(--text-primary)}.pj-btn-quiz-ghost i,.pj-btn-quiz-ghost svg{width:15px;height:15px}.pj-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.pj-empty i,.pj-empty svg{width:48px;height:48px;color:var(--text-muted);margin-bottom:16px}.pj-empty p{font-size:var(--font-base);color:var(--text-secondary);margin:0}.pj-unlock-btn{display:inline-flex;align-items:center;gap:7px;margin-top:14px;padding:9px 16px;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-xs);font-weight:600;cursor:pointer;transition:opacity .18s,transform .18s}.pj-unlock-btn:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.pj-unlock-btn:disabled{opacity:.5;cursor:not-allowed}.pj-unlock-btn i,.pj-unlock-btn svg{width:14px;height:14px}.pj-code-block{margin-top:16px;margin-bottom:16px;border:1px solid #2d2d3a;border-radius:var(--radius-md);overflow:hidden;background:#0d1117;box-shadow:0 4px 20px rgba(0,0,0,.5)}.pj-code-bar{display:flex;align-items:center;gap:10px;padding:9px 14px;background:#161b22;border-bottom:1px solid #2d2d3a}.pj-code-dots{display:flex;align-items:center;gap:5px;flex-shrink:0}.pj-code-dots span{display:inline-block;width:11px;height:11px;min-width:11px;border-radius:50%;flex-shrink:0}.pj-code-dots span:first-child{background:#ff5f57}.pj-code-dots span:nth-child(2){background:#febc2e}.pj-code-dots span:nth-child(3){background:#28c840}.pj-code-filename{display:flex;align-items:center;gap:5px;flex:1;font-size:.73rem;font-weight:600;color:#8b949e;font-family:'Courier New',monospace}.pj-code-filename i,.pj-code-filename svg{width:12px;height:12px;color:#7c3aed}.pj-code-copy-btn{display:flex;align-items:center;gap:5px;padding:4px 10px;background:0 0;border:1px solid #30363d;border-radius:6px;color:#8b949e;font-size:var(--font-2xs);font-weight:600;cursor:pointer;transition:.18s;flex-shrink:0}.pj-code-copy-btn:hover{background:#21262d;color:#e6edf3;border-color:#6e7681}.pj-code-copy-btn--done{color:#3fb950!important;border-color:#3fb950!important}.pj-code-copy-btn i,.pj-code-copy-btn svg{width:12px;height:12px}.pj-code-pre{margin:0;padding:18px 20px;font-family:'Courier New',Consolas,monospace;font-size:.83rem;line-height:1.7;color:#e6edf3;white-space:pre;overflow-x:auto;tab-size:2;-webkit-overflow-scrolling:touch}.pj-code-pre::-webkit-scrollbar{height:6px}.pj-code-pre::-webkit-scrollbar-track{background:#161b22}.pj-code-pre::-webkit-scrollbar-thumb{background:#30363d;border-radius:3px}@media (max-width:640px){.pj-header{padding:16px 18px}.pj-step-header{padding:12px 14px}.pj-step-body{padding:0 14px 14px}.pj-footer{flex-direction:column}.pj-btn-skip,.pj-btn-validate{width:100%;flex:unset;justify-content:center}}.code-block,.explanation-content .code-block,.lesson-content .code-block,.lesson-course-content.typography .code-block{position:relative;margin:1.5rem 0;border-radius:var(--radius-md);overflow:hidden;border:1px solid #dce0e8;background:#eff1f5;box-shadow:0 2px 12px rgba(0,0,0,.08)}.code-block::after,.code-block::before{content:none!important;display:none!important}.cb-header{display:flex;align-items:center;justify-content:space-between;height:38px;padding:0 12px;background:#e6e9ef;border-bottom:1px solid #ccd0da;flex-shrink:0}.cb-header-left{display:flex;align-items:center;gap:12px;min-width:0}.cb-dots{display:flex;align-items:center;gap:6px}.cb-dot{width:10px;height:10px;border-radius:50%}.cb-dot-r{background:#d20f39}.cb-dot-y{background:#df8e1d}.cb-dot-g{background:#40a02b}.cb-filename{color:#8c8fa1;font-size:.76rem;font-family:"JetBrains Mono","Fira Code",Consolas,monospace;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cb-header-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.cb-lang{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:4px;background:rgba(30,102,245,.08);border:1px solid rgba(30,102,245,.15);color:#1e66f5;font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.cb-btn{width:26px;height:26px;border-radius:6px;border:none;background:0 0;color:#9ca0b0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:.15s}.cb-btn:hover{background:rgba(0,0,0,.06);color:#4c4f69}.cb-btn i{width:14px;height:14px}.cb-copied{color:#40a02b!important}.cb-pre{margin:0;padding:12px 0;overflow-x:auto;background:#eff1f5;scrollbar-width:thin;scrollbar-color:#ccd0da transparent}.cb-pre::-webkit-scrollbar{height:6px}.cb-pre::-webkit-scrollbar-thumb{background:#ccd0da;border-radius:var(--radius-full)}.cb-code-block{display:block;background:0 0;border:none;padding:0;border-radius:0;color:#4c4f69;font-family:"JetBrains Mono","Fira Code",Consolas,monospace;font-size:var(--font-xs);line-height:1;white-space:normal}.cb-line{display:flex;align-items:stretch;min-height:1.65em;line-height:1.65;transition:background .1s}.cb-line:hover{background:rgba(76,79,105,.05)}.cb-gutter{flex:0 0 40px;text-align:right;padding-right:12px;color:#acb0be;font-size:.78em;line-height:inherit;border-right:1px solid #ccd0da;user-select:none;-webkit-user-select:none;transition:color .15s}.cb-line:hover .cb-gutter{color:#7c7f93}.cb-code{flex:1;min-width:0;white-space:pre;padding-left:14px;color:#4c4f69;line-height:inherit;cursor:text;user-select:text;-webkit-user-select:text}.cb-code ::selection,.cb-code::selection{background:rgba(30,102,245,.18);color:inherit}.cb-keyword{color:#8839ef;font-weight:600}.cb-builtin{color:#1e66f5}.cb-global{color:#df8e1d}.cb-string{color:#40a02b}.cb-number{color:#fe640b}.cb-comment{color:#9ca0b0;font-style:italic}[data-theme=dark] .code-block{border-color:#2a2b3d;background:#1e1e2e;box-shadow:0 4px 20px rgba(0,0,0,.35)}[data-theme=dark] .cb-header{background:#181825;border-bottom-color:#313244}[data-theme=dark] .cb-dot-r{background:#f38ba8}[data-theme=dark] .cb-dot-y{background:#f9e2af}[data-theme=dark] .cb-dot-g{background:#a6e3a1}[data-theme=dark] .cb-filename{color:#6c7086}[data-theme=dark] .cb-lang{background:rgba(137,180,250,.1);border-color:rgba(137,180,250,.15);color:#89b4fa}[data-theme=dark] .cb-btn{color:#585b70}[data-theme=dark] .cb-btn:hover{background:rgba(255,255,255,.08);color:#cdd6f4}[data-theme=dark] .cb-copied{color:#a6e3a1!important}[data-theme=dark] .cb-pre{background:#1e1e2e;scrollbar-color:#313244 transparent}[data-theme=dark] .cb-pre::-webkit-scrollbar-thumb{background:#313244}[data-theme=dark] .cb-code-block{color:#cdd6f4}[data-theme=dark] .cb-line:hover{background:rgba(205,214,244,.035)}[data-theme=dark] .cb-gutter{color:#45475a;border-right-color:#313244}[data-theme=dark] .cb-line:hover .cb-gutter{color:#7f849c}[data-theme=dark] .cb-code{color:#cdd6f4}[data-theme=dark] .cb-code ::selection,[data-theme=dark] .cb-code::selection{background:rgba(137,180,250,.25)}[data-theme=dark] .cb-keyword{color:#cba6f7}[data-theme=dark] .cb-builtin{color:#89b4fa}[data-theme=dark] .cb-global{color:#f9e2af}[data-theme=dark] .cb-string{color:#a6e3a1}[data-theme=dark] .cb-number{color:#fab387}[data-theme=dark] .cb-comment{color:#6c7086}[data-theme=dark] .cb-overlay{background:rgba(0,0,0,.7)}[data-theme=dark] .code-block.cb-expanded{box-shadow:0 32px 80px rgba(0,0,0,.6);border-color:#313244}.cb-overlay{position:fixed;inset:0;z-index:1799;background:rgba(0,0,0,.35);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:.2s cb-fade-in}@keyframes cb-fade-in{from{opacity:0}to{opacity:1}}body.cb-expanded-open{overflow:hidden}.code-block.cb-expanded{position:fixed;inset:3vh 3vw;z-index:1800;margin:0;border-radius:var(--radius-lg);box-shadow:0 16px 48px rgba(0,0,0,.15);border:1px solid #ccd0da;display:flex;flex-direction:column;overflow:visible;max-height:none;height:auto;width:auto;animation:.2s cb-scale-in}@keyframes cb-scale-in{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.code-block.cb-expanded .cb-header{flex-shrink:0}.code-block.cb-expanded .cb-pre{flex:1;min-height:0;overflow:auto;max-height:none}@media (max-width:768px){.code-block{margin:.85rem 0;border-radius:var(--radius-md)}.cb-header{height:34px;padding:0 10px}.cb-dot{width:8px;height:8px}.cb-dots{gap:5px}.cb-filename{font-size:var(--font-2xs)}.cb-lang{display:none}.cb-btn{width:24px;height:24px}.cb-btn i{width:13px;height:13px}.cb-pre{padding:10px 0}.cb-code-block{font-size:var(--font-xs)}.cb-gutter{flex:0 0 32px;padding-right:8px;font-size:.72em}.cb-code{padding-left:10px}.code-block.cb-expanded{inset:1vh 1vw;border-radius:var(--radius-md)}.cb-overlay{backdrop-filter:none;-webkit-backdrop-filter:none}}