:root{--c-primary: #1a3a6b;--c-primary-lt: #2451a0;--c-accent: #e67e22;--c-bg: #f4f7fb;--c-white: #ffffff;--c-text: #1c2a3a;--c-muted: #6b7a8d;--c-border: #dde3ed;--c-radius: 10px;--c-info-bg: #e0f4fe;--c-info-border: #007db8;--c-info-icon: #007db8;--c-algo-bg: #f3f0ff;--c-algo-border: #7c5cbf;--c-algo-icon: #6c3fc9;--c-tip-bg: #e6f9f0;--c-tip-border: #2ecc71;--c-tip-icon: #27ae60;--c-warn-bg: #fff8e1;--c-warn-border: #f1c40f;--c-warn-icon: #d68910;--c-danger-bg: #fdecea;--c-danger-border: #e74c3c;--c-danger-icon: #c0392b;--c-def-bg: #f0faff;--c-def-border: #17a2b8;--c-def-icon: #138496;--c-theorem-bg: #fffdf0;--c-theorem-border: #f0a500;--c-theorem-icon: #c87c00;--c-prop-bg: #f5f0ff;--c-prop-border: #7c3aed;--c-prop-icon: #6d28d9;--c-lemme-bg: #f0fdf4;--c-lemme-border: #16a34a;--c-lemme-icon: #15803d;--c-preuve-bg: #fafafa;--c-preuve-border: #64748b;--c-preuve-icon: #475569;--c-corollaire-bg: #fff1f2;--c-corollaire-border: #e11d48;--c-corollaire-icon: #be123c;--c-ex-icon: #16a34a;--c-ex-line: #bbf7d0;--c-app-icon: #2563eb;--c-app-line: #bfdbfe;--c-pre-icon: #059669;--c-pre-line: #a7f3d0;--c-obj-icon: #be185d;--c-obj-line: #fbcfe8;--c-hist-icon: #78350f;--c-hist-line: #fde68a;--c-extra-icon: #4b5563;--c-extra-line: #e5e7eb;--c-sum-icon: #1e40af;--c-sum-line: #bfdbfe;--c-voc-icon: #6d28d9;--c-voc-line: #ddd6fe }.breadcrumb-bar{background:var(--c-bg);border-bottom:1px solid var(--c-border);padding:.6rem 0}.breadcrumb-bar .breadcrumb{font-size:.8rem}.breadcrumb-bar .breadcrumb-item+.breadcrumb-item:before{color:var(--c-muted)}.breadcrumb-bar a{color:var(--c-primary-lt)}.course-hero{background:linear-gradient(135deg,var(--c-primary) 0%,#007db8 100%);color:#fff;padding:2.5rem 0 2rem}.course-hero-inner{display:flex;align-items:flex-start;gap:1.5rem}.course-hero-icon{flex-shrink:0;width:72px;height:72px;background:#ffffff26;border:2px solid rgba(255,255,255,.3);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:2rem}.course-hero-cats{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem}.course-hero-cat{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#fff;background:#fff3;border:1px solid rgba(255,255,255,.3);padding:.15rem .6rem;border-radius:4px;transition:background .2s}.course-hero-cat:hover{background:#ffffff59;color:#fff}.follow-cat-btn{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#ffffffb3;background:#ffffff1a;border:1px solid rgba(255,255,255,.25);padding:.15rem .6rem;border-radius:4px;cursor:pointer;transition:all .2s}.follow-cat-btn:hover{background:#00aeef59;border-color:#00aeef;color:#fff}.follow-cat-btn.following{color:#fff;background:#00aeef4d;border-color:#00aeef88}.follow-cat-btn.following:hover{background:#ef444440;border-color:#ef4444;color:#fca5a5}.course-hero-badge{font-size:.7rem;font-weight:700;padding:.15rem .6rem;border-radius:4px}.course-hero-badge.badge-pined{background:#e67e224d;color:#ffd59e}.course-hero-badge.badge-premium{background:#e74c3c4d;color:#ffa9a0}.course-hero-title{font-size:1.75rem;font-weight:800;line-height:1.25;margin-bottom:.5rem;color:#fff}.course-hero-desc{font-size:.95rem;color:#fffc;line-height:1.6;margin-bottom:.8rem;max-width:720px}.course-hero-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.8rem;color:#ffffffb3;align-items:center}.course-hero-meta i{margin-right:.3rem}.course-type-badge{font-size:.7rem;font-weight:700;padding:.2rem .6rem;border-radius:20px}.type-code{background:#3498db59;color:#aee6ff}.type-latex{background:#9b59b659;color:#e0c8ff}.course-main{background:var(--c-bg)}.course-article{background:var(--c-white);border-radius:var(--c-radius);padding:2rem 2.5rem;box-shadow:0 2px 12px #0000000d}.course-content{font-size:.97rem;line-height:1.8;color:var(--c-text)}.course-content h2{display:flex;align-items:center;gap:.8rem;font-size:1.75rem;font-weight:800;color:var(--c-primary);padding:.8rem 1.2rem;border-left:5px solid var(--c-accent);border-radius:0 8px 8px 0;margin:3.5rem 0 1.5rem;position:relative}.course-content h2:before{font-family:bootstrap-icons;content:"\f2da";color:var(--c-accent);font-size:1.3rem;flex-shrink:0}.course-content h3{display:flex;align-items:center;gap:.8rem;font-size:1.3rem;font-weight:700;color:var(--c-primary-lt);margin:2.5rem 0 1rem;padding-bottom:.5rem;position:relative}.course-content h3:after{content:"";position:absolute;bottom:0;left:0;width:60px;height:3px;background:var(--c-primary-lt);border-radius:2px}.course-content h4{display:flex;align-items:center;gap:.8rem;font-size:1.1rem;font-weight:700;color:var(--c-accent);margin:1.8rem 0 .8rem;position:relative}.course-content h4:before{font-family:bootstrap-icons;content:"\f3ff";font-size:1rem;opacity:.8;flex-shrink:0}.course-content h5{font-size:1rem;font-weight:600;font-style:italic;color:var(--c-muted);margin:1.2rem 0 .6rem;padding-left:1rem;border-left:2px solid var(--c-border)}.course-content h6{font-size:.72rem;font-weight:700;color:var(--c-pre-icon);text-transform:uppercase;letter-spacing:1px;margin:1.8rem 0 .4rem;display:flex;align-items:center;gap:.6rem}.course-content h6:after{content:"";flex:0 1 30px;height:2px;background:var(--c-pre-icon);border-radius:2px}.course-content p{margin-bottom:1rem}.course-content a{color:var(--c-primary-lt);text-decoration:underline;text-underline-offset:2px}.course-content a:hover{color:var(--c-accent)}.course-content :not(pre)>code{font-family:Fira Code,monospace;font-size:.85em;background:#f0f4ff;color:#c0392b;padding:.1em .4em;border-radius:4px;border:1px solid #dde3ed}.course-content pre{border-radius:var(--c-radius);margin:1.25rem 0;font-size:.88rem;overflow-x:auto;box-shadow:0 4px 16px #0000002e}.course-content pre:not([class*=language-]){background:#1e2a3a;color:#cdd6f4;padding:1.25rem 1.5rem}.code-block-wrapper{position:relative}.code-copy-btn{position:absolute;top:.5rem;right:.5rem;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#ffffffb3;font-size:.72rem;padding:.2rem .55rem;border-radius:4px;cursor:pointer;transition:background .2s,color .2s}.code-copy-btn:hover{background:#ffffff40;color:#fff}.course-content ul,.course-content ol{padding-left:1.5rem;margin-bottom:1rem}.course-content li{margin-bottom:.35rem}.course-content ul li::marker{color:var(--c-accent)}.course-content table{width:100%;border-collapse:collapse;margin:1.25rem 0;font-size:.9rem;border-radius:var(--c-radius);overflow:hidden;box-shadow:0 1px 6px #00000012}.course-content thead th{background:var(--c-primary);color:#fff;padding:.6rem .9rem;font-weight:600;text-align:left}.course-content tbody tr:nth-child(2n){background:#ebf7fd}.course-content tbody td{padding:.55rem .9rem;border-bottom:1px solid var(--c-border)}.course-content .complexity-table th{background:#2c3e50}.course-content blockquote{border-left:4px solid var(--c-accent);background:#fffdf5;margin:1.25rem 0;padding:.9rem 1.25rem;border-radius:0 var(--c-radius) var(--c-radius) 0;color:var(--c-muted);font-style:italic}.course-content hr{border:none;border-top:2px solid var(--c-border);margin:2rem 0}.course-content img{max-width:100%;border-radius:var(--c-radius);box-shadow:0 2px 10px #0000001a;margin:.5rem auto;display:block}.course-content .box-info,.course-content .box-tip,.course-content .box-warning,.course-content .box-danger,.course-content .box-algo,.course-content .box-definition,.course-content .box-theorem,.course-content .box-proposition,.course-content .box-lemme{border-radius:var(--c-radius);padding:1rem 1.25rem 1rem 3.5rem;margin:1.25rem 0;position:relative;font-size:.93rem}.course-content .box-info{border-left:4px solid var(--c-info-border)}.course-content .box-tip{border-left:4px solid var(--c-tip-border)}.course-content .box-warning{border-left:4px solid var(--c-warn-border)}.course-content .box-danger{border-left:4px solid var(--c-danger-border)}.course-content .box-algo{border-left:4px solid var(--c-algo-border)}.course-content .box-definition{background:var(--c-def-bg);border-left:4px solid var(--c-def-border)}.course-content .box-theorem{border-left:4px solid var(--c-theorem-border)}.course-content .box-proposition{border-left:4px solid var(--c-prop-border)}.course-content .box-lemme{border-left:4px solid var(--c-lemme-border)}.course-content [class^=box-]:before{font-family:bootstrap-icons;font-size:1.25rem;position:absolute;left:1rem;top:1rem;line-height:1}.course-content .box-info:before{content:"\f33a";color:var(--c-info-icon)}.course-content .box-tip:before{content:"\f44d";color:var(--c-tip-icon)}.course-content .box-warning:before{content:"\f33b";color:var(--c-warn-icon)}.course-content .box-danger:before{content:"\f337";color:var(--c-danger-icon)}.course-content .box-algo:before{content:"\f4fb";color:var(--c-algo-icon)}.course-content .box-definition:before{content:"\f192";color:var(--c-def-icon)}.course-content .box-theorem:before{content:"\f477";color:var(--c-theorem-icon)}.course-content .box-proposition:before{content:"\f4ee";color:var(--c-prop-icon)}.course-content .box-lemme:before{content:"\f466";color:var(--c-lemme-icon)}.course-content .box-title{font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.4rem;display:block}.course-content .box-info .box-title{color:var(--c-info-icon)}.course-content .box-tip .box-title{color:var(--c-tip-icon)}.course-content .box-warning .box-title{color:var(--c-warn-icon)}.course-content .box-danger .box-title{color:var(--c-danger-icon)}.course-content .box-algo .box-title{color:var(--c-algo-icon)}.course-content .box-definition .box-title{color:var(--c-def-icon)}.course-content .box-theorem .box-title{color:var(--c-theorem-icon)}.course-content .box-proposition .box-title{color:var(--c-prop-icon)}.course-content .box-lemme .box-title{color:var(--c-lemme-icon)}.course-content .box-syntax{margin:1.25rem 0;border-radius:var(--c-radius);overflow:hidden;border:1px solid #2a2a3d;box-shadow:0 4px 18px #00000021}.course-content .box-syntax:before{content:none}.course-content .box-syntax-header{background:#1e1e2e;padding:.5rem 1rem;display:flex;align-items:center;gap:.75rem}.course-content .box-syntax-dots{display:flex;gap:.35rem;flex-shrink:0}.course-content .box-syntax-dots span{width:11px;height:11px;border-radius:50%;display:inline-block}.course-content .box-syntax-dots span:nth-child(1){background:#ff5f57}.course-content .box-syntax-dots span:nth-child(2){background:#febc2e}.course-content .box-syntax-dots span:nth-child(3){background:#28c840}.course-content .box-syntax .box-title{color:#8892a4;font-size:.7rem;letter-spacing:.9px;font-weight:600;text-transform:uppercase;margin:0}.course-content .box-syntax .box-lang{margin-left:auto;font-size:.68rem;font-weight:600;color:#6c86ad;letter-spacing:.5px;font-family:Fira Code,monospace}.course-content .box-syntax pre{margin:0;padding:1.1rem 1.4rem;background:#13131e;border-radius:0;font-size:.875rem}.course-content .box-syntax pre code{background:transparent;font-family:Fira Code,Fira Mono,monospace}.course-content .label-exemple,.course-content .label-application,.course-content .label-prerequis,.course-content .label-objectif,.course-content .label-culture,.course-content .label-resume,.course-content .label-complement,.course-content .label-vocabulaire{display:flex;align-items:center;gap:.5rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:1.1px;margin:2rem 0 .4rem}.course-content .label-exemple:after,.course-content .label-application:after,.course-content .label-prerequis:after,.course-content .label-objectif:after,.course-content .label-culture:after,.course-content .label-resume:after,.course-content .label-complement:after,.course-content .label-vocabulaire:after{content:"";flex:1;height:1px}.course-content .label-exemple{color:var(--c-ex-icon)}.course-content .label-exemple:after{background:var(--c-ex-line)}.course-content .label-application{color:var(--c-app-icon)}.course-content .label-application:after{background:var(--c-app-line)}.course-content .label-prerequis{color:var(--c-pre-icon)}.course-content .label-prerequis:after{background:var(--c-pre-line)}.course-content .label-objectif{color:var(--c-obj-icon)}.course-content .label-objectif:after{background:var(--c-obj-line)}.course-content .label-culture{color:var(--c-hist-icon)}.course-content .label-culture:after{background:var(--c-hist-line)}.course-content .label-resume{color:var(--c-sum-icon)}.course-content .label-resume:after{background:var(--c-sum-line)}.course-content .label-complement{color:var(--c-extra-icon)}.course-content .label-complement:after{background:var(--c-extra-line)}.course-content .label-vocabulaire{color:var(--c-voc-icon)}.course-content .label-vocabulaire:after{background:var(--c-voc-line)}.course-content .box-sortie{margin:0 0 1.25rem;border-radius:0 0 var(--c-radius) var(--c-radius);overflow:hidden;border:1px solid #166534;border-top:1px dashed #1e6b3a}.course-content .box-sortie:before{content:none}.course-content .box-sortie-header{background:#071a0d;padding:.3rem 1rem;display:flex;align-items:center;gap:.5rem;color:#4ade80;font-size:.67rem;font-weight:600;text-transform:uppercase;letter-spacing:.8px;font-family:Fira Code,monospace}.course-content .box-sortie-header i{font-size:.82rem}.course-content .box-sortie pre{margin:0;padding:.7rem 1.25rem;background:#030d05;color:#86efac;font-family:Fira Code,Fira Mono,monospace;font-size:.82rem;border-radius:0}.io-example{border:1px solid var(--c-border);border-radius:var(--c-radius);overflow:hidden;margin:1.5rem 0;box-shadow:0 2px 10px #00000012}.io-example-header{background:linear-gradient(90deg,#182030,#1e2d40);color:var(--c-white);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.7px;padding:.45rem 1rem;display:flex;align-items:center;gap:.5rem}.io-example-header:before{content:"\f4fb";font-family:bootstrap-icons;font-size:.85rem;color:var(--c-accent);flex-shrink:0}.io-example-body{display:flex;flex-wrap:wrap;min-height:70px}.io-block{flex:1;min-width:200px;padding:.85rem 1.1rem}.io-block+.io-block{border-left:1px solid var(--c-border)}.io-input{background:#1b2840}.io-output{background:#121e14}.io-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;margin-bottom:.5rem;display:flex;align-items:center;gap:.35rem;opacity:.75}.io-input .io-label{color:#93c5fd}.io-output .io-label{color:#86efac}.io-input .io-label i{color:#60a5fa}.io-output .io-label i{color:#4ade80}.io-block pre{margin:0;padding:0;background:transparent!important;box-shadow:none!important;border-radius:0;font-family:Fira Code,monospace;font-size:.88rem;line-height:1.7;color:#e2e8f0;white-space:pre-wrap;word-break:break-word}.io-explanation{background:#f4f8fc;border-top:1px solid #d0daea;padding:.6rem 1.1rem;font-size:.82rem;color:var(--c-muted);line-height:1.65}.io-explanation strong{color:var(--c-text)}.io-constraints{background:#fffdf0;border:1px solid #f0a500;border-left:4px solid #f0a500;border-radius:var(--c-radius);padding:.75rem 1rem .75rem 1.2rem;margin:1rem 0;font-size:.85rem}.io-constraints-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#c87c00;margin-bottom:.4rem;display:flex;align-items:center;gap:.35rem}.io-constraints ul{margin:0;padding-left:1.2rem;color:var(--c-text)}.io-constraints li{margin-bottom:.2rem}@media(max-width:575px){.io-block+.io-block{border-left:none;border-top:1px solid rgba(255,255,255,.07)}.course-content .exercise-header{flex-direction:column}.course-content .exercise-meta{min-width:unset;justify-content:flex-start}}.lang-tabs-wrap{margin:1.5rem 0;border:1px solid var(--c-border);border-radius:var(--c-radius);overflow:hidden;box-shadow:0 4px 16px #0000001a}.lang-tabs-header{display:flex;flex-wrap:wrap;gap:.25rem;background:#1a2535;border-bottom:2px solid #0d1421;padding:.35rem .5rem;overflow-x:auto;scrollbar-width:none}.lang-tabs-header::-webkit-scrollbar{display:none}.lang-tab-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.78rem;font-weight:600;color:#ffffff80;background:transparent;border:none;border-radius:6px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;font-family:Inter,sans-serif}.lang-tab-btn:hover{color:#ffffffd9;background:#ffffff0f}.lang-tab-btn.active{color:#fff;background:#ffffff1f}.lang-tab-btn .lang-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot-c{background:#4fa3e0}.dot-cpp{background:#659ad2}.dot-python{background:#f7c948}.dot-js{background:#f0db4f}.dot-php{background:#8892be}.dot-java{background:#f89820}.dot-bash{background:#4eaa25}.dot-sql{background:#e38c00}.lang-tab-panel{display:none}.lang-tab-panel.active{display:block}.lang-tabs-wrap .lang-tab-panel pre{margin:0;border-radius:0;box-shadow:none;font-size:.86rem}.course-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:1rem 0;border-top:1px solid var(--c-border);font-size:.85rem;color:var(--c-muted)}.course-tag{background:#e0f4fe;color:var(--c-primary-lt);border:1px solid rgba(0,174,239,.25);padding:.2rem .65rem;border-radius:20px;font-size:.78rem;font-weight:600;transition:background .2s}.course-tag:hover{background:var(--c-primary-lt);color:#fff}.course-videos h5{font-size:.95rem;color:var(--c-primary);font-weight:700;margin-bottom:.75rem}.video-embed-card{border-radius:var(--c-radius);overflow:hidden;border:1px solid var(--c-border);background:var(--c-white);box-shadow:0 1px 6px #0000000f}.video-embed-thumb{height:120px;background:linear-gradient(135deg,#1e2a3a,#2c3e50);display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:#fff9;cursor:pointer;transition:filter .2s}.video-embed-thumb:hover{filter:brightness(1.3)}.video-embed-info{padding:.6rem .8rem;font-size:.82rem;font-weight:600;color:var(--c-text)}.course-nav{display:flex;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:2px solid var(--c-border)}.course-nav-prev{flex:1}.course-nav-next{flex:1;text-align:right}.course-nav-btn{display:inline-flex;align-items:center;gap:.65rem;background:var(--c-white);border:1px solid var(--c-border);border-radius:var(--c-radius);padding:.75rem 1rem;color:var(--c-text);font-size:.85rem;line-height:1.35;transition:border-color .2s,box-shadow .2s,color .2s;max-width:100%}.course-nav-btn:hover{border-color:var(--c-primary-lt);color:var(--c-primary);box-shadow:0 2px 10px #00568a1a}.course-nav-btn i{font-size:1.4rem;color:var(--c-primary-lt);flex-shrink:0}.course-nav-btn small{display:block;font-size:.7rem;color:var(--c-muted);text-transform:uppercase;letter-spacing:.5px}.course-nav-next .course-nav-btn{flex-direction:row-reverse}.course-sidebar{position:sticky;top:80px;display:flex;flex-direction:column;gap:1.25rem}.course-widget{background:var(--c-white);border:1px solid var(--c-border);border-radius:var(--c-radius);padding:1.1rem 1.25rem;box-shadow:0 1px 6px #0000000a}.course-widget-title{font-size:.9rem;font-weight:700;color:var(--c-primary);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid var(--c-bg);display:flex;align-items:center;gap:.4rem}.course-widget-title i{color:var(--c-accent)}.toc-list{list-style:none;padding:0;margin:0;font-size:.82rem}.toc-item{border-radius:5px;transition:background .15s}.toc-item a{display:block;padding:.3rem .5rem;color:var(--c-text);border-left:2px solid transparent;transition:color .15s,border-color .15s}.toc-item a:hover{color:var(--c-primary);background:var(--c-bg)}.toc-item.active a{color:var(--c-primary-lt);border-left-color:var(--c-accent);font-weight:600;background:#e0f4fe}.toc-h3 a{padding-left:1.25rem;font-size:.78rem;color:var(--c-muted)}.toc-empty{display:none}.livre-widget{border:1px solid var(--c-border);border-radius:var(--c-radius);overflow:hidden;background:var(--c-white);box-shadow:0 1px 6px #0000000a}.livre-header{background:linear-gradient(135deg,var(--c-primary) 0%,var(--c-primary-lt) 100%);color:#fff;padding:.9rem 1.1rem}.livre-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:#ffffffa6;margin-bottom:.25rem}.livre-title{font-size:.95rem;font-weight:700;line-height:1.3;color:#fff;margin:0 0 .6rem}.livre-progress-bar{background:#ffffff40;border-radius:20px;height:5px;overflow:hidden}.livre-progress-fill{height:100%;background:var(--c-accent);border-radius:20px;transition:width .4s ease}.livre-progress-label{font-size:.7rem;color:#ffffffb3;margin-top:.3rem}.livre-chapters{list-style:none;margin:0;padding:.35rem 0;max-height:340px;overflow-y:auto}.livre-chapters::-webkit-scrollbar{width:4px}.livre-chapters::-webkit-scrollbar-track{background:transparent}.livre-chapters::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:4px}.livre-chapter-item{display:flex;align-items:center;gap:.6rem;padding:.45rem 1rem;font-size:.82rem;color:var(--c-text);text-decoration:none;border-left:3px solid transparent;transition:background .15s,border-color .15s,color .15s}.livre-chapter-item:hover{background:var(--c-bg);color:var(--c-primary);border-left-color:var(--c-border)}.livre-chapter-item.active{background:#e0f4fe;color:var(--c-primary-lt);font-weight:600;border-left-color:var(--c-accent)}.livre-chapter-num{flex-shrink:0;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--c-border);color:var(--c-muted);font-size:.68rem;font-weight:700;display:flex;align-items:center;justify-content:center}.livre-chapter-item.active .livre-chapter-num{background:var(--c-accent);color:#fff}.livre-chapter-item.done .livre-chapter-num{background:#d1fae5;color:#065f46}.livre-chapter-name{flex:1;line-height:1.3}.livre-footer{display:flex;border-top:1px solid var(--c-border)}.livre-nav-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem;font-size:.8rem;font-weight:600;color:var(--c-primary);text-decoration:none;transition:background .15s,color .15s}.livre-nav-btn:hover{background:var(--c-bg);color:var(--c-accent)}.livre-nav-btn.disabled{color:var(--c-border);pointer-events:none}.livre-nav-divider{width:1px;background:var(--c-border)}.related-card{display:flex;align-items:center;gap:.75rem;padding:.65rem .8rem;border-radius:8px;background:var(--c-bg);border:1px solid var(--c-border);color:var(--c-text);transition:border-color .2s,background .2s}.related-card:hover{border-color:var(--c-primary-lt);background:#e0f4fe;color:var(--c-primary)}.related-icon{font-size:1.4rem;color:var(--c-primary-lt);flex-shrink:0}.related-title{font-size:.82rem;font-weight:600;line-height:1.35}.author-card{display:flex;align-items:center;gap:.8rem}.author-avatar{width:42px;height:42px;background:var(--c-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}.author-name{font-size:.85rem;font-weight:600}@media(max-width:991px){.course-article{padding:1.25rem 1rem}.course-hero-title{font-size:1.35rem}.course-hero-icon{width:52px;height:52px;font-size:1.5rem}.course-sidebar{position:static}.course-nav{flex-direction:column}}.course-content .exercise-card{--ex-accent: #2563eb;--ex-accent-soft: #dbeafe;--ex-accent-dark: #1d4ed8;--sol-accent: #16a34a;--sol-accent-soft: #dcfce7;margin:1.5rem 0;border:1px solid var(--c-border);border-radius:calc(var(--c-radius) + 4px);overflow:hidden;background:#fff;box-shadow:0 8px 24px #0f172a14;transition:box-shadow .2s}.course-content .exercise-card:hover{box-shadow:0 12px 32px #0f172a1f}.course-content .exercise-card+.exercise-card{margin-top:1.75rem}.course-content .exercise-header{background:linear-gradient(135deg,#eff6ff,#fff);border-bottom:1px solid var(--c-border);padding:1rem 1.2rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.course-content .exercise-kicker{display:inline-flex;align-items:center;gap:.45rem;font-size:.72rem;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--ex-accent-dark);background:var(--ex-accent-soft);border:1px solid #bfdbfe;border-radius:999px;padding:.2rem .7rem;margin-bottom:.55rem}.course-content .exercise-title{font-size:1.05rem;line-height:1.4;font-weight:800;color:var(--c-primary);margin:0}.course-content .exercise-meta{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;justify-content:flex-end;min-width:160px}.course-content .exercise-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:700;color:var(--c-primary-lt);background:#f8fafc;border:1px solid var(--c-border);border-radius:999px;padding:.2rem .65rem;white-space:nowrap}.course-content .exercise-body{padding:1.15rem 1.2rem 1.25rem}.course-content .exercise-statement{color:var(--c-text)}.course-content .exercise-statement>:last-child{margin-bottom:0}.course-content .exercise-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;padding-top:.9rem;border-top:1px dashed var(--c-border)}.course-content .btn-solution-toggle{appearance:none;border:none;background:linear-gradient(135deg,var(--sol-accent) 0%,#15803d 100%);color:#fff;border-radius:999px;padding:.55rem .95rem;font-size:.82rem;font-weight:700;display:inline-flex;align-items:center;gap:.45rem;cursor:pointer;box-shadow:0 8px 18px #16a34a2e;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.course-content .btn-solution-toggle:hover{transform:translateY(-1px);filter:brightness(1.02);box-shadow:0 10px 20px #16a34a3d}.course-content .btn-solution-toggle .label-hide,.course-content .btn-solution-toggle[aria-expanded=true] .label-show{display:none}.course-content .btn-solution-toggle[aria-expanded=true] .label-hide{display:inline}.course-content .exercise-helper{font-size:.8rem;color:var(--c-muted)}.course-content .solution-panel{display:none;border-top:1px solid var(--c-border);background:linear-gradient(180deg,#f7fff8,#fff)}.course-content .solution-panel.is-open{display:block}.course-content .solution-header{display:flex;align-items:center;gap:.55rem;padding:.9rem 1.2rem;background:var(--sol-accent-soft);border-bottom:1px solid #bbf7d0;color:#166534;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.8px}.course-content .solution-body{padding:1rem 1.2rem 1.2rem}.course-content .solution-body>:last-child{margin-bottom:0}.course-content .solution-steps{counter-reset:solution-step;list-style:none;padding:0;margin:0;display:grid;gap:.8rem}.course-content .solution-step{position:relative;padding:.85rem .95rem .85rem 3.2rem;background:#fff;border:1px solid #d1fae5;border-radius:12px}.course-content .solution-step:before{counter-increment:solution-step;content:counter(solution-step);position:absolute;left:.9rem;top:.8rem;width:1.6rem;height:1.6rem;border-radius:50%;background:#16a34a;color:#fff;font-size:.78rem;font-weight:800;display:flex;align-items:center;justify-content:center}.course-content .solution-step strong{color:#166534}.course-hero-author-link{color:#ffffffb3;text-decoration:none;display:inline-flex;align-items:center;gap:.3rem;transition:color .15s}.course-hero-author-link:hover,.course-hero-author-link i{color:#00aeef}.prob-header{background:linear-gradient(135deg,#0f2547 0%,var(--c-primary) 60%,#1e4080 100%);border-radius:var(--c-radius);padding:2rem 2.5rem;color:#fff;margin-bottom:1.75rem;position:relative;overflow:hidden}.prob-header:before{content:"";position:absolute;top:-50px;right:-50px;width:220px;height:220px;border-radius:50%;background:#e67e221a;pointer-events:none}.prob-header:after{content:"";position:absolute;bottom:-70px;left:35%;width:300px;height:300px;border-radius:50%;background:#ffffff0a;pointer-events:none}.prob-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;position:relative}.prob-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:700;padding:.25rem .75rem;border-radius:999px;text-transform:uppercase;letter-spacing:.6px}.prob-badge-topic{background:#ffffff26;color:#ffffffeb;border:1px solid rgba(255,255,255,.2)}.prob-badge-easy{background:#dcfce7;color:#166534;border:1px solid #86efac}.prob-badge-medium{background:#fff8e1;color:#92400e;border:1px solid #fcd34d}.prob-badge-hard{background:#fdecea;color:#991b1b;border:1px solid #fca5a5}.prob-title{font-size:1.8rem;font-weight:800;color:#fff;margin:0 0 .75rem;line-height:1.25;position:relative}.prob-desc{color:#fffc;font-size:.95rem;line-height:1.75;margin-bottom:1.25rem;max-width:680px;position:relative}.prob-objective{display:inline-flex;align-items:flex-start;gap:.6rem;background:#e67e222e;border:1px solid rgba(230,126,34,.35);border-radius:8px;padding:.6rem 1rem;font-size:.88rem;color:#fbd38d;line-height:1.55;position:relative}.prob-objective i{font-size:1rem;flex-shrink:0;margin-top:.1rem}.prob-stats{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.12);position:relative}.prob-stat-item{display:flex;align-items:center;gap:.45rem;font-size:.82rem;color:#ffffffa6}.prob-stat-item i{color:var(--c-accent);font-size:.95rem}.prob-stat-item strong{color:#fff}.prob-part{border:1px solid var(--c-border);border-radius:calc(var(--c-radius) + 2px);overflow:hidden;margin-bottom:1.25rem;background:var(--c-white);box-shadow:0 2px 10px #0000000d;transition:box-shadow .2s}.prob-part:hover{box-shadow:0 4px 18px #00000017}.prob-part-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:linear-gradient(90deg,#f0f5ff 0%,var(--c-white) 100%);border-bottom:1px solid var(--c-border)}.prob-part-num{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--c-primary);color:#fff;font-size:.78rem;font-weight:800;flex-shrink:0;letter-spacing:.2px}.prob-part-title{flex:1;font-size:1.05rem;font-weight:700;color:var(--c-primary);margin:0}.prob-part-meta{font-size:.75rem;color:var(--c-muted);display:flex;align-items:center;gap:.35rem;flex-shrink:0}.prob-part-body{padding:1.25rem 1.25rem 1rem}.prob-part-desc{color:var(--c-muted);font-size:.9rem;line-height:1.75;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px dashed var(--c-border)}.prob-question{background:#fafbfd;border:1px solid var(--c-border);border-radius:var(--c-radius);margin-bottom:1rem;overflow:hidden}.prob-question:last-child{margin-bottom:0}.prob-question-header{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:.25rem 1rem;padding:1rem 1.2rem}.prob-question-num{grid-column:1;grid-row:1;display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:6px;background:var(--c-primary-lt);color:#fff;font-size:.72rem;font-weight:800;flex-shrink:0;margin-top:.15rem;padding:0 .35rem}.prob-question-header>*:not(.prob-question-num){grid-column:2}.prob-question-header p{margin:0}.prob-question-statement{margin:0;font-size:.93rem;color:var(--c-text);line-height:1.75}.prob-question-example{padding:0 1.2rem .25rem}.prob-question-actions{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.2rem;border-top:1px dashed var(--c-border);background:var(--c-white)}.btn-prob-sol{appearance:none;border:none;background:linear-gradient(135deg,var(--c-primary-lt) 0%,var(--c-primary) 100%);color:#fff;border-radius:999px;padding:.45rem .95rem;font-size:.8rem;font-weight:700;display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;box-shadow:0 4px 12px #2451a038;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;font-family:Inter,sans-serif}.btn-prob-sol:hover{transform:translateY(-1px);filter:brightness(1.1);box-shadow:0 6px 16px #2451a052}.btn-prob-sol .label-hide,.btn-prob-sol[aria-expanded=true] .label-show{display:none}.btn-prob-sol[aria-expanded=true] .label-hide{display:inline}.prob-sol-panel{display:none}.prob-sol-panel.is-open{display:block}.prob-sol-header{display:flex;align-items:center;gap:.5rem;padding:.65rem 1.2rem;background:#f0fdf4;border-top:1px solid var(--c-border);border-bottom:1px solid #bbf7d0;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:#166534}.prob-sol-body{padding:1rem 1.2rem;font-size:.92rem;line-height:1.75;color:var(--c-text);background:linear-gradient(180deg,#f7fff8 0%,var(--c-white) 80%)}.prob-sol-body>:first-child{margin-top:0}.prob-sol-body>:last-child{margin-bottom:0}@media(max-width:575px){.prob-header{padding:1.5rem 1.25rem}.prob-title{font-size:1.4rem}.prob-stats{gap:1rem}.prob-part-header{padding:.85rem 1rem;gap:.75rem}.prob-part-body{padding:1rem 1rem .75rem}.prob-question-header{gap:.75rem}}
