.loader-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#ffffffe6;display:flex;justify-content:center;align-items:center;z-index:9999;animation:fadeIn .3s ease-in-out}.loader-container{display:flex;flex-direction:column;align-items:center;gap:1rem}.loader-spinner{width:60px;height:60px;border:5px solid #e5e7eb;border-radius:50%;border-top-color:#1dbf73;animation:spin 1s linear infinite}.loader-text{font-size:1.25rem;font-weight:500;color:#1dbf73}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid black;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:transparent}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:transparent}.cm-fat-cursor{caret-color:transparent}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3,.cm-s-default .cm-type{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error,.cm-invalidchar{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:white}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:none;position:relative;z-index:0}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-vscrollbar,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{position:absolute;z-index:6;display:none;outline:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:none!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-scroll,.CodeMirror-sizer,.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}div.CodeMirror-dragcursors,.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:#ff06}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:none}.python-editor{width:100%;display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:.375rem;overflow:visible;background-color:#fff;box-shadow:0 4px 6px #0000000d;position:relative;z-index:1}.python-editor-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:#4c1d95;color:#fff}.python-editor-header h3{margin:0;font-size:1rem;font-weight:600}.python-editor-actions{position:absolute;bottom:10px;right:10px;z-index:10;display:flex;gap:8px}.python-editor-run-button,.python-editor-reset-button,.python-editor-test-button{padding:8px;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.python-editor-run-button:hover,.python-editor-reset-button:hover{transform:scale(1.1)}.python-editor-run-button:disabled,.python-editor-reset-button:disabled,.python-editor-test-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.python-editor-run-button{background:#28a745;color:#fff}.python-editor-run-button:hover:not(:disabled){background:#218838}.python-editor-reset-button{background:#dc3545;color:#fff}.python-editor-reset-button:hover:not(:disabled){background:#c82333}.python-editor-test-button{background-color:#3b82f6;color:#fff}.python-editor-test-button:hover{background-color:#2563eb}.python-editor-container{display:flex;flex-direction:column;width:100%}.python-editor-code,.python-editor-output{position:relative;overflow:visible;border-top:1px solid #e5e7eb;width:100%}.python-editor-code{position:relative;border:1px solid #ddd;border-radius:4px;background:#fff}.python-editor-code-header{padding:.5rem;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;align-items:center}.python-editor-code-header h4{margin:0;color:#333}.python-editor-output{display:flex;flex-direction:column;background-color:#000;min-height:150px;border:1px solid #222;box-shadow:inset 0 0 10px #0000004d;position:relative;z-index:2;margin-bottom:0}.python-editor-output-error{background-color:#000}.python-editor-output-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background-color:#222;border-bottom:1px solid #444;color:#f0f0f0}.python-editor-output-header h4{margin:0;font-size:.875rem;color:#f0f0f0;font-weight:600}.python-editor-clear-button{background:none;border:1px solid #555;border-radius:3px;color:#aaa;font-size:.75rem;cursor:pointer;padding:.25rem .5rem;transition:all .2s}.python-editor-clear-button:hover{color:#fff;background-color:#333}.codemirror-wrapper{height:auto!important;min-height:50px;width:100%;display:flex;flex-direction:column}.python-editor .CodeMirror{height:auto!important;min-height:80px;font-family:Menlo,Monaco,Courier New,monospace;font-size:.875rem;line-height:1.5;width:100%}.python-editor .python-editor-code .CodeMirror{padding-bottom:40px}.python-editor .CodeMirror-scroll{min-height:80px;height:auto!important}.python-editor .CodeMirror-lines{padding:10px 0}.python-editor-output-content{flex:1;margin:0;padding:1rem;font-family:Menlo,Monaco,Courier New,monospace;font-size:.875rem;line-height:1.5;white-space:pre-wrap;color:#fff;background-color:#000;position:relative}.python-editor-output-content:after{content:"";display:none}.terminal-cursor{display:inline-block;color:#fff;background-color:#fff;width:.6em;height:1em;vertical-align:middle;animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:0}50%{opacity:1}}.python-editor-output-error .python-editor-output-content{color:#f55}.python-editor-footer{padding:.75rem 1rem;background-color:#fffbeb;border-top:1px solid #fcd34d}.python-editor-info{margin:0;font-size:.75rem;color:#92400e;line-height:1.4}.python-editor-debug{border-top:1px solid #e5e7eb;padding:.5rem 1rem;background-color:#f8fafc}@media (min-width: 768px){.python-editor-container{flex-direction:column}.python-editor-output{border-left:none}}.terminal-text{text-shadow:0 0 5px rgba(100,255,100,.2);color:#eee;font-family:Courier New,monospace}.python-editor-output-content::-webkit-scrollbar{width:8px}.python-editor-output-content::-webkit-scrollbar-track{background:#222}.python-editor-output-content::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.python-editor-output-content::-webkit-scrollbar-thumb:hover{background:#777}.editor-container,.output-container{width:100%;box-sizing:border-box}.editor-container .cm-editor{height:auto!important;min-height:150px}.output-container{background-color:#1e1e1e;color:#fff;font-family:monospace;padding:.5rem;overflow-y:auto}.python-editor-stop-button{background-color:#e53e3e;color:#fff;border:none;border-radius:.25rem;padding:.5rem 1rem;cursor:pointer;font-weight:500;transition:background-color .2s;margin-left:.5rem}.python-editor-stop-button:hover{background-color:#c53030}.python-editor-execution-time-inline{display:block;color:#666;font-style:italic;font-size:.8em;margin-top:4px;text-align:right;padding-top:2px}.python-editor-execution-time{padding:5px 10px;background-color:#f0f0f0;color:#333;font-size:.85rem;font-family:monospace;border-bottom:1px solid #ddd;font-weight:700;text-align:right}.python-editor-output-error .python-editor-execution-time{background-color:#fff0f0}.lesson-detail-python-editor{margin:2rem 0;display:block;width:100%;overflow:visible;clear:both;position:relative;z-index:1}.lesson-detail-python-editor .CodeMirror+.CodeMirror{display:none!important}.python-editor-solution-section{border-top:1px solid #000000;background-color:#f8f9fa;margin-top:0rem;border-radius:0 0 .375rem .375rem;overflow:hidden}.python-editor-solution-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background-color:#000;color:#fff;font-size:.875rem;cursor:pointer;transition:background-color .2s}.python-editor-solution-header:hover{background-color:#09233d}.python-editor-solution-header h4{margin:0;font-weight:600}.python-editor-solution-toggle{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.solution-toggle-icon{transition:transform .2s ease-in-out}.solution-toggle-icon.rotate{transform:rotate(180deg)}.python-editor-solution-content{margin:0;padding:0;background-color:#f8f9fa;border-radius:0 0 .375rem .375rem}.solution-codemirror-wrapper{height:auto;width:100%}.solution-codemirror-wrapper .CodeMirror{height:auto;min-height:auto;font-family:Menlo,Monaco,Courier New,monospace;font-size:.875rem;line-height:1.5;border-radius:0 0 .375rem .375rem;border-top:1px solid #e5e7eb}.python-editor-toggle-mode-button{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;color:#212529;cursor:pointer;font-size:.9em;padding:4px 10px;margin-right:8px;transition:all .2s ease-in-out}.python-editor-toggle-mode-button.mode-test{background-color:#007bff;color:#fff;border-color:#0069d9}.python-editor-toggle-mode-button:hover{background-color:#e2e6ea}.python-editor-toggle-mode-button.mode-test:hover{background-color:#0069d9}.python-editor-toggle-mode-button:disabled{opacity:.5;cursor:not-allowed}.python-editor-tests-section{border-top:1px solid #dee2e6;overflow:hidden}.python-editor-tests-header{background-color:#f8f9fa;padding:6px 12px;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.python-editor-tests-header:hover{background-color:#e9ecef}.python-editor-tests-header:focus{outline:2px solid #007bff;outline-offset:-2px}.python-editor-tests-header h4{margin:0;font-size:.9em;font-weight:500;pointer-events:none}.python-editor-tests-counter{font-size:.85em;color:#6c757d;font-weight:400}.python-editor-tests-toggle{display:flex;align-items:center;font-size:.9em;color:#6c757d;pointer-events:none}.test-toggle-icon{transition:transform .2s ease-in-out;color:#6c757d}.test-toggle-icon.rotate{transform:rotate(180deg)}.python-editor-tests-content{padding:15px;overflow-y:auto;transition:max-height .3s ease-in-out;max-height:500px}.python-editor-tests-content.collapsed{max-height:0;padding:0;overflow:hidden}.python-editor-test-item{margin-bottom:10px;border:1px solid #dee2e6;border-radius:4px;background-color:#f8f9fa;overflow:hidden}.python-editor-test-item:last-child{margin-bottom:0}.python-editor-test-item.test-passed{border-color:#28a745;background-color:#28a7450d}.python-editor-test-item.test-failed{border-color:#dc3545;background-color:#dc35450d}.python-editor-test-name{font-weight:500;padding:6px 10px;display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:#f8f9fa;border-bottom:1px solid transparent;position:relative;transition:background-color .2s;font-size:.9em}.python-editor-test-name:hover{background-color:#e9ecef}.test-status-icon{margin-right:6px;font-size:1.1em}.python-editor-test-actions{display:flex;align-items:center;margin-left:auto}.python-editor-test-run-button{background-color:#28a745;color:#fff;border:none;border-radius:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-right:8px;padding:0;font-size:12px;transition:background-color .2s}.python-editor-test-run-button:hover{background-color:#0069d9}.python-editor-test-run-button:disabled{background-color:#6c757d;cursor:not-allowed}.test-toggle-container{margin-left:0}.python-editor-test-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;background-color:#fff;border-top:1px solid #dee2e6}.python-editor-test-actual{grid-column:span 2;border-top:1px solid #dee2e6;padding-top:10px;margin-top:10px}.python-editor-test-item.test-passed .python-editor-test-name{background-color:#28a7451a}.python-editor-test-item.test-failed .python-editor-test-name{background-color:#dc35451a}.python-editor-test-inputs ul{margin:5px 0;padding-left:20px}.python-editor-test-expected pre,.python-editor-test-actual pre{background-color:#f1f3f5;padding:8px;border-radius:4px;margin:5px 0;white-space:pre-wrap;word-break:break-word;font-family:monospace;font-size:.9em;max-height:150px;overflow-y:auto}@media (max-width: 768px){.python-editor-test-details{grid-template-columns:1fr}.python-editor-test-actual{grid-column:1}}.python-editor-success-badge{display:inline-block;margin-left:.5rem;padding:.1rem .4rem;background-color:#28a745;color:#fff;border-radius:1rem;font-size:.8em;font-weight:700;animation:fadeInOutBadge 2s ease-in-out forwards}@keyframes fadeInOutBadge{0%{opacity:0;transform:translateY(-5px)}20%{opacity:1;transform:translateY(0)}80%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-5px)}}.test-fading{animation:fadeOutTest 3s ease-in-out forwards;animation-delay:.5s;position:relative;border-left:3px solid #4CAF50!important;background-color:#4caf504d!important}@keyframes fadeOutTest{0%{opacity:1;transform:translate(0);background-color:#4caf504d!important}30%{opacity:.9;transform:translate(0);background-color:#4caf5033!important}70%{opacity:.6;transform:translate(5px);background-color:#4caf501a!important}to{opacity:.05;transform:translate(10px);background-color:#4caf500d!important}}.python-editor-code-header h4,.python-editor-tests-header h4,.python-editor-output-header h4,.python-editor-solution-header h4{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:600;margin:0;display:flex;align-items:center}.python-editor-code-header h4,.python-editor-tests-header h4{color:#333}.python-editor-output-header h4,.python-editor-solution-header h4{color:#f0f0f0}.python-display-only{box-shadow:none!important;border:none!important}.python-display-only .python-editor-code-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background-color:#f8f9fa;border-bottom:1px solid #e9ecef}.python-display-only .CodeMirror{height:auto!important;min-height:0!important;background-color:#f8f9fa;border-radius:4px;overflow-x:visible!important;width:auto!important;min-width:100%;padding-bottom:10px!important}.python-display-only .codemirror-wrapper{height:auto!important;overflow-x:auto!important;max-width:100%}.python-display-only .CodeMirror-scroll{overflow-x:auto!important;max-height:none!important;min-height:0!important}.python-display-only .CodeMirror-cursor{display:none!important}.lesson-detail-python-display{margin:10px 0;border-radius:.375rem;overflow:hidden;border:1px solid #e9ecef}.code-display-copy-button{display:flex;align-items:center;gap:6px;padding:4px 8px;background-color:#f0f0f0;border:1px solid #ddd;border-radius:4px;font-size:.75rem;color:#666;cursor:pointer;transition:all .2s ease;opacity:0;visibility:hidden}.code-display-copy-button.visible{opacity:1;visibility:visible}.code-display-copy-button:hover{background-color:#e0e0e0;color:#333}.code-display-copy-button.copied{background-color:#d4edda;border-color:#c3e6cb;color:#155724;opacity:1;visibility:visible}.code-display-copy-button svg{width:14px;height:14px}.quiz-component{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:1.5rem;margin:2rem 0}.quiz-component h3{margin:0 0 1.5rem;color:#2d3748;font-size:1.25rem;font-weight:600}.quiz-questions{margin-bottom:1.5rem}.quiz-question{background:white;border:1px solid #e2e8f0;border-radius:6px;padding:1rem;margin-bottom:1rem}.quiz-question:last-child{margin-bottom:0}.quiz-question h4{margin:0 0 1rem;color:#2d3748;font-size:1rem;font-weight:600}.quiz-option{display:flex;align-items:center;padding:.75rem;border-radius:4px;cursor:pointer;transition:all .2s ease;color:#4a5568;border:2px solid transparent}.quiz-option:hover:not(.correct):not(.incorrect):not(.correct-answer){background-color:#f1f5f9}.quiz-option input[type=radio]{margin-right:.75rem;accent-color:#3182ce}.quiz-option.correct{background-color:#d4edda;border-color:#28a745;color:#155724}.quiz-option.incorrect{background-color:#f8d7da;border-color:#dc3545;color:#721c24}.quiz-option.correct-answer{background-color:#d1ecf1;border-color:#17a2b8;color:#0c5460}.quiz-actions{display:flex;justify-content:center;margin:1.5rem 0}.quiz-submit-btn,.quiz-reset-btn{border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .2s ease}.quiz-submit-btn{background:#3182ce;color:#fff}.quiz-submit-btn:hover:not(:disabled){background:#2c5aa0;transform:translateY(-1px)}.quiz-submit-btn:disabled{background:#a0aec0;cursor:not-allowed;transform:none}.quiz-reset-btn{background:#38a169;color:#fff}.quiz-reset-btn:hover{background:#2f855a;transform:translateY(-1px)}.quiz-results{background:white;border:1px solid #e2e8f0;border-radius:6px;padding:1.5rem;margin-top:1.5rem}.quiz-score{text-align:center;margin-bottom:1.5rem}.score-display{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.score-message{color:#6c757d;font-size:1rem}.quiz-explanations h4{margin:0 0 1rem;color:#2d3748;font-size:1.1rem}.explanation{background:#f8f9fa;border-left:4px solid #3182ce;padding:.75rem;margin-bottom:.75rem;color:#2d3748}.explanation:last-child{margin-bottom:0}@media (max-width: 768px){.quiz-component{padding:1rem;margin:1rem 0}.quiz-option{padding:.5rem}.quiz-submit-btn,.quiz-reset-btn{padding:.5rem 1rem;font-size:.9rem}}.lesson-detail-page{position:relative;min-height:100vh;padding-right:350px}.lesson-detail-layout{display:block;min-height:calc(100vh - 2rem)}.lesson-detail-content{flex-grow:1;padding:1.5rem;overflow-y:auto;transition:width .3s ease;width:100%;display:flex;flex-direction:column;align-items:center}.lesson-detail-content>*{width:100%}.lesson-detail-breadcrumb{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.875rem;color:#666;max-width:800px;margin-left:auto;margin-right:auto}.lesson-detail-home-link,.lesson-detail-course-link{display:flex;align-items:center;gap:.5rem;color:#4a5568;text-decoration:none;font-weight:500;transition:color .2s}.lesson-detail-home-link:hover,.lesson-detail-course-link:hover{color:#1a202c}.lesson-detail-home-link svg{width:1rem;height:1rem}.lesson-detail-lesson-title{color:#1a202c;font-weight:500}.lesson-detail-container{background-color:#fff;border-radius:.5rem;box-shadow:0 4px 6px #0000001a;padding:1.5rem;margin-bottom:1.5rem;max-width:800px;margin-left:auto;margin-right:auto}.lesson-detail-container.lesson-with-video{padding:24px;overflow:hidden;border-radius:.5rem;max-width:100%;margin-left:0;margin-right:0;background-color:#fff}.lesson-detail-container.lesson-with-video .lesson-detail-title,.lesson-detail-container.lesson-with-video .lesson-detail-interactive-badge,.lesson-detail-container.lesson-with-video .lesson-detail-content-wrapper,.lesson-detail-container.lesson-with-video .lesson-detail-python-editor,.lesson-detail-container.lesson-with-video .lesson-detail-document-wrapper,.lesson-detail-container.lesson-with-video .lesson-detail-navigation{max-width:800px;margin-left:auto;margin-right:auto}.lesson-detail-container.lesson-with-video .lesson-detail-title{padding-top:0}.lesson-detail-container.lesson-with-video .lesson-detail-navigation{padding-bottom:0}.lesson-detail-title{font-size:1.875rem;font-weight:700;margin-bottom:1rem}.lesson-detail-interactive-badge{display:inline-block;background-color:#4c1d95;color:#fff;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;margin-bottom:1rem}.lesson-detail-video-container{width:100%;max-width:100%;max-height:600px;margin:0 0 24px;overflow:hidden;position:relative;background-color:#000;border-radius:.375rem}.lesson-detail-video-container video{width:100%;max-height:600px;aspect-ratio:16 / 9;object-fit:contain;display:block;margin:0 auto;background:black}.lesson-detail-python-editor{margin:2rem 0}.lesson-detail-content-wrapper{margin-bottom:2rem;line-height:1.6}.lesson-detail-text{font-size:1rem}.lesson-detail-document-wrapper{margin-top:1.5rem;margin-bottom:1.5rem}.lesson-detail-document-link{display:inline-block;background-color:#4c1d95;color:#fff;padding:.75rem 1.5rem;border-radius:.25rem;text-decoration:none;font-weight:500;transition:background-color .2s}.lesson-detail-document-link:hover{background-color:#6d28d9}.lesson-detail-navigation{display:flex;justify-content:space-between;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e5e7eb;align-items:center;gap:1rem}.lesson-detail-prev-button,.lesson-detail-next-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:.375rem;text-decoration:none;color:#495057;font-weight:500;transition:all .2s;min-height:60px}.lesson-detail-prev-button:hover,.lesson-detail-next-button:hover{background-color:#e9ecef;border-color:#dee2e6;color:#212529;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.lesson-nav-content{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.lesson-detail-next-button .lesson-nav-content{align-items:flex-end;text-align:right}.lesson-nav-label{font-size:.75rem;color:#6c757d;font-weight:400;text-transform:uppercase;letter-spacing:.05em}.lesson-nav-title{font-size:.875rem;color:#212529;font-weight:500;line-height:1.2}.lesson-detail-sidebar{position:fixed;top:0;right:0;width:350px;height:100vh;background-color:#fff;padding:1.5rem;box-shadow:-2px 0 6px #0000000d;overflow-y:auto;z-index:40}.lesson-detail-sidebar.open{padding-top:3.5rem}.lesson-detail-sidebar-title{font-size:1.25rem;font-weight:700;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}.lesson-detail-sections-list{display:flex;flex-direction:column;gap:.75rem}.lesson-detail-course-section{border:1px solid #e5e7eb;border-radius:.375rem;overflow:hidden;margin-bottom:.5rem}.lesson-detail-section-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:#f3f4f6;border:none;text-align:left;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease}.lesson-detail-section-header:hover{background-color:#e5e7eb}.lesson-detail-section-header.active{background-color:#f3f4f6}.lesson-detail-section-header svg{width:1rem;height:1rem;transition:transform .3s ease}.lesson-detail-rotate{transform:rotate(180deg)}.lesson-detail-section-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out;background-color:#fff}.lesson-detail-section-content.open{max-height:500px}.lesson-detail-lessons-list{list-style:none;padding:.75rem;margin:0;display:flex;flex-direction:column;gap:.5rem}.lesson-detail-sidebar .lesson-detail-link{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;color:#4b5563;text-decoration:none;transition:all .2s ease;border-radius:.375rem}.lesson-detail-sidebar .lesson-detail-link:hover{background-color:#eff6ff}.lesson-detail-sidebar .lesson-detail-link.active{background-color:#eff6ff;color:#1d4ed8;font-weight:500}.lesson-detail-sidebar .lesson-detail-link svg{width:1.25rem;height:1.25rem;color:#3b82f6;flex-shrink:0;min-width:1.25rem;min-height:1.25rem}.lesson-detail-no-lessons,.lesson-detail-no-sections{padding:1rem;color:#6b7280;font-style:italic;text-align:center}.lesson-detail-no-sections{background-color:#fffbeb;border-left:4px solid #f59e0b;color:#92400e;padding:1rem}.lesson-detail-toggle-sidebar-button{display:none;padding:12px;position:fixed;bottom:1rem;right:1rem;z-index:50;background-color:#12d086;color:#fff;width:3rem;height:3rem;border-radius:9999px;border:none;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 8px #0000004d}.lesson-detail-toggle-sidebar-button svg{width:24px;height:24px;color:#fff;stroke:#fff;stroke-width:2px}.lesson-detail-close-sidebar-button{display:none;position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:#6b7280;cursor:pointer;z-index:50}.lesson-detail-close-sidebar-button svg{width:24px;height:24px}.lesson-detail-close-button-text{margin-left:.5rem;font-size:1rem;font-weight:500;display:none}.lesson-detail-loading,.lesson-detail-error{text-align:center;padding:3rem;max-width:600px;margin:3rem auto;border-radius:.5rem}.lesson-detail-loading{background-color:#fff;color:#6b7280}.lesson-detail-error{background-color:#fee2e2;color:#b91c1c}@media (max-width: 768px){.lesson-detail-page{padding-left:.5rem!important;padding-right:.5rem!important}.lesson-detail-layout{display:block}.lesson-detail-content{padding-left:0;padding-right:0}.lesson-detail-sidebar{transform:translate(100%);transition:transform .3s ease-in-out}.lesson-detail-sidebar.open{transform:translate(0)}.lesson-detail-toggle-sidebar-button,.lesson-detail-close-sidebar-button{display:flex}.lesson-detail-navigation{flex-wrap:nowrap;justify-content:space-between;gap:.5rem}.lesson-detail-prev-button,.lesson-detail-next-button{font-size:.875rem;padding:.5rem}.lesson-detail-prev-button svg,.lesson-detail-next-button svg{width:10px;height:10px}.lesson-detail-container{padding:1rem;max-width:100%}.lesson-detail-video-container{background-color:#fff;max-width:100%;max-height:400px;margin-left:0;margin-right:0;left:auto;transform:none}.lesson-detail-video-container video{max-height:400px}.lesson-detail-content.content-with-video .lesson-detail-breadcrumb{padding-left:1rem;padding-right:1rem}.lesson-detail-container.lesson-with-video{padding:16px}.lesson-detail-container.lesson-with-video .lesson-detail-title,.lesson-detail-container.lesson-with-video .lesson-detail-interactive-badge,.lesson-detail-container.lesson-with-video .lesson-detail-content-wrapper,.lesson-detail-container.lesson-with-video .lesson-detail-python-editor,.lesson-detail-container.lesson-with-video .lesson-detail-document-wrapper,.lesson-detail-container.lesson-with-video .lesson-detail-navigation{padding-left:0;padding-right:0}.lesson-detail-container.lesson-with-video .lesson-detail-title{padding-top:0}.lesson-detail-container.lesson-with-video .lesson-detail-navigation{padding-bottom:0}.lesson-detail-toggle-sidebar-button{display:flex}.lesson-detail-sidebar.open .lesson-detail-close-sidebar-button{display:flex;align-items:center;justify-content:center;background-color:#0000000d;border-radius:.5rem;padding:.5rem 1rem;width:auto;height:auto}.lesson-detail-sidebar.open .lesson-detail-close-button-text{display:inline-block}body:has(.lesson-detail-sidebar.open) .lesson-detail-toggle-sidebar-button{display:none}.lesson-detail-toggle-sidebar-button.hide-when-sidebar-open{display:none}.lesson-detail-sidebar{z-index:40}.lesson-detail-sidebar.open+.lesson-detail-sidebar-overlay,.lesson-detail-sidebar.open~.lesson-detail-sidebar-overlay{display:block;opacity:1}}@media (min-width: 769px) and (max-width: 1200px){.lesson-detail-container{max-width:90%}.lesson-detail-video-container{width:100%;max-width:100%}.lesson-detail-container.lesson-with-video .lesson-detail-title,.lesson-detail-container.lesson-with-video .lesson-detail-interactive-badge,.lesson-detail-container.lesson-with-video .lesson-detail-content-wrapper,.lesson-detail-container.lesson-with-video .lesson-detail-python-editor,.lesson-detail-container.lesson-with-video .lesson-detail-document-wrapper,.lesson-detail-container.lesson-with-video .lesson-detail-navigation{max-width:90%}}.lesson-detail-page.lesson-with-video-fullwidth .lesson-detail-content{align-items:stretch}.lesson-detail-page.lesson-with-video-fullwidth .lesson-detail-breadcrumb{max-width:100%}.lesson-detail-page.lesson-with-video-fullwidth .lesson-detail-sidebar{display:block}.lesson-detail-page.lesson-with-video-fullwidth .lesson-detail-toggle-sidebar-button{display:flex}.lesson-detail-content.content-with-video{padding-left:0;padding-right:0;align-items:stretch}.lesson-detail-content.content-with-video .lesson-detail-breadcrumb{padding-left:1.5rem;padding-right:1.5rem}.lesson-detail-video-container video{aspect-ratio:16 / 9;object-fit:contain;background:black}.lesson-detail-container.lesson-with-video .lesson-detail-title{margin-bottom:16px}.lesson-detail-container.lesson-with-video .lesson-detail-content-wrapper{margin-top:24px}@media (min-width: 769px){.lesson-detail-toggle-sidebar-button,.lesson-detail-close-sidebar-button{display:none!important}}.lesson-detail-toggle-sidebar-button{transition:opacity .3s ease}.lesson-detail-sidebar-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0000004d;z-index:39;transition:opacity .3s ease;opacity:0}.lesson-detail-sidebar-overlay.visible{display:block;opacity:1}.lesson-detail-content-wrapper .lesson-detail-python-editor{margin:1.5rem 0;overflow:hidden;box-shadow:0 2px 4px #0000001a}.lesson-detail-text>*+*{margin-top:1rem}.lesson-detail-text ul,.lesson-detail-content-wrapper ul,.course-content-wrapper ul,.lesson-detail-text ol,.lesson-detail-content-wrapper ol,.course-content-wrapper ol{padding-left:1.5rem;margin:1rem 0}.lesson-detail-text li,.lesson-detail-content-wrapper li,.course-content-wrapper li{margin-bottom:.5rem;line-height:1.4;position:relative}.lesson-detail-text pre.terminal,.lesson-detail-container pre code.terminal{background-color:#000;color:#fff;padding:.4rem .6rem;margin:.4rem 0;border-radius:.25rem;overflow-x:auto;font-family:Menlo,Monaco,Courier New,monospace;font-size:.875rem;line-height:1.3;white-space:pre-wrap;position:relative;display:block;text-shadow:0 0 5px rgba(100,255,100,.2)}.lesson-detail-text pre.terminal code,.lesson-detail-container code.terminal{color:#fff;background:none;padding:0;margin:0;font-family:inherit;font-size:inherit;line-height:inherit;text-shadow:inherit}.lesson-detail-container pre:has(code.terminal){background-color:#000;color:#fff;padding:.4rem .6rem;margin:.4rem 0;border-radius:.25rem;overflow-x:auto;font-family:Menlo,Monaco,Courier New,monospace;font-size:.875rem;line-height:1.3;white-space:pre-wrap;position:relative;text-shadow:0 0 5px rgba(100,255,100,.2)}.lesson-detail-text code:not(.terminal):not(.python-interactive):not(.python-display):not(.python-solution):not(.python-tests){background-color:#ebf5eb;color:#3c873a;padding:.1rem .2rem;border-radius:.25rem;font-family:Menlo,Monaco,Courier New,monospace;font-size:.9em;border:1px solid #c3e6cb}.terminal-copy-button{position:absolute;top:.5rem;right:.5rem;background-color:#2d3748;color:#fff;border:1px solid #4a5568;border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem;cursor:pointer;opacity:0;transition:opacity .2s ease;display:flex;align-items:center;gap:.25rem}.terminal-copy-button:hover{background-color:#4a5568}.terminal-copy-button svg{width:1rem;height:1rem}.lesson-detail-text pre.terminal:hover .terminal-copy-button{opacity:1}.terminal-copy-button.copied{background-color:#48bb78;border-color:#48bb78}.info-callout{padding:16px 20px;margin:20px 0;border-radius:6px;background-color:#f0f7ff;border-left:4px solid #3b82f6;position:relative;font-size:.95rem;line-height:1.6;color:#1e3a8a}.note-callout{padding:16px 20px;margin:20px 0;border-radius:6px;background-color:#f5f3ff;border-left:4px solid #8b5cf6;position:relative;font-size:.95rem;line-height:1.6;color:#4c1d95}.tip-callout{padding:16px 20px;margin:20px 0;border-radius:6px;background-color:#effdf5;border-left:4px solid #10b981;position:relative;font-size:.95rem;line-height:1.6;color:#065f46}.warning-callout{padding:16px 20px;margin:20px 0;border-radius:6px;background-color:#fff7ed;border-left:4px solid #f97316;position:relative;font-size:.95rem;line-height:1.6;color:#7c2d12}.lesson-premium-badge{display:inline-block;margin-left:10px;padding:4px 8px;font-size:12px;font-weight:600;color:#fff;background-color:#f59e0b;border-radius:4px;vertical-align:middle}.lesson-detail-sidebar .lesson-premium-icon{display:flex;align-items:center;margin-right:6px;position:relative;z-index:2}.lesson-detail-sidebar .lesson-premium-icon svg{width:16px;height:16px;color:#f59e0b}.lesson-detail-sidebar .lesson-detail-icons{display:flex;align-items:center}.lesson-detail-sidebar .lesson-detail-link.premium-locked{opacity:.8;cursor:pointer;position:relative}.lesson-detail-sidebar .lesson-detail-link.premium-locked:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:#00000008;z-index:1;pointer-events:none}.lesson-detail-sidebar .lesson-detail-icons{position:relative;z-index:2}.lesson-detail-sidebar .lesson-detail-icons>*{position:relative;z-index:2}.lesson-restricted-access{max-width:600px;margin:40px auto;padding:30px;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;text-align:center}.lesson-restricted-icon{width:64px;height:64px;margin:0 auto 20px;background-color:#f7f7f7;border-radius:50%;display:flex;justify-content:center;align-items:center}.lesson-restricted-icon svg{width:32px;height:32px;color:#f59e0b}.lesson-restricted-access h2{margin-bottom:14px;font-size:24px;font-weight:600;color:#333}.lesson-restricted-access p{margin-bottom:24px;font-size:16px;color:#666;line-height:1.5}.lesson-restricted-actions{display:flex;flex-direction:column;gap:12px;align-items:center}.lesson-purchase-button{display:inline-block;padding:12px 20px;background-color:#3c7a45;color:#fff;border-radius:6px;font-weight:600;text-decoration:none;transition:all .2s ease}.lesson-purchase-button:hover{background-color:#306037;transform:translateY(-2px)}.lesson-purchases-link{display:inline-block;padding:8px 16px;color:#666;text-decoration:none;font-size:14px;transition:all .2s ease}.lesson-purchases-link:hover{color:#333;text-decoration:underline}.lesson-detail-sidebar .lesson-detail-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:.5rem}.lesson-detail-sidebar .lesson-login-icon{display:flex;align-items:center;margin-right:6px;position:relative;z-index:2}.lesson-detail-sidebar .lesson-login-icon svg{width:16px;height:16px;color:#3b82f6}.lesson-restricted-access .lesson-purchase-button{background-color:#3b82f6}.lesson-restricted-access .lesson-purchase-button:hover{background-color:#2563eb}.lesson-restricted-access .lesson-restricted-icon svg{color:#3b82f6}.lesson-restricted-access strong{color:#22c55e;font-size:1.1em}.lesson-detail-quiz-wrapper{margin:2rem 0;padding:2rem;background:#f8f9fa;border-radius:12px;border:1px solid #e9ecef}.lesson-quiz{max-width:100%}.lesson-quiz h3{color:#2c3e50;margin-bottom:1.5rem;font-size:1.5rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.lesson-quiz h3:before{content:"🧠";font-size:1.2em}.quiz-question{background:white;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;border:1px solid #dee2e6;box-shadow:0 2px 4px #0000000d}.quiz-question h4{color:#495057;margin-bottom:1rem;font-size:1.1rem;font-weight:500;line-height:1.4}.quiz-answers{display:flex;flex-direction:column;gap:.75rem}.quiz-answer{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:6px;cursor:pointer;transition:all .2s ease;border:2px solid transparent;background:#f8f9fa}.quiz-answer:hover{background:#e9ecef;border-color:#6c757d}.quiz-answer.selected{background:#e3f2fd;border-color:#2196f3}.quiz-answer.correct{background:#d4edda;border-color:#28a745}.quiz-answer.incorrect{background:#f8d7da;border-color:#dc3545}.quiz-answer input[type=radio]{margin:2px 0 0;width:18px;height:18px;flex-shrink:0}.quiz-answer label{flex:1;cursor:pointer;margin:0;font-size:.95rem;line-height:1.4;color:#495057}.quiz-actions{display:flex;gap:1rem;margin-top:2rem;flex-wrap:wrap;justify-content:center;align-items:center}.quiz-submit-btn,.quiz-reset-btn{padding:.875rem 2rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem;min-width:140px;position:relative;overflow:hidden;text-transform:none;letter-spacing:.025em;box-shadow:0 2px 4px #0000001a}.quiz-submit-btn{background:linear-gradient(135deg,#007bff 0%,#0056b3 100%);color:#fff;border:2px solid transparent}.quiz-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#0056b3 0%,#004085 100%);transform:translateY(-2px);box-shadow:0 4px 12px #007bff4d}.quiz-submit-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #0000001a}.quiz-submit-btn:disabled{background:linear-gradient(135deg,#6c757d 0%,#5a6268 100%);cursor:not-allowed;opacity:.7;transform:none;box-shadow:0 1px 2px #0000001a}.quiz-reset-btn{background:linear-gradient(135deg,#6c757d 0%,#5a6268 100%);color:#fff;border:2px solid transparent}.quiz-reset-btn:hover{background:linear-gradient(135deg,#5a6268 0%,#495057 100%);transform:translateY(-2px);box-shadow:0 4px 12px #6c757d4d}.quiz-reset-btn:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.quiz-results{background:#ffffff;border-radius:8px;padding:2rem;margin-top:2rem;border:2px solid #28a745;text-align:center;box-shadow:0 2px 8px #0000001a}.quiz-score{font-size:2rem;font-weight:700;color:#28a745;margin-bottom:1rem}.quiz-message{color:#333;font-size:1.1rem;margin-bottom:1rem;font-weight:500;line-height:1.5}.quiz-message.excellent{color:#28a745;font-weight:600}.quiz-message.good{color:#fd7e14;font-weight:600}.quiz-message.needs-improvement{color:#dc3545;font-weight:600}.lesson-detail-code{background:#f5f5f5;border:1px solid #ddd;border-radius:6px;padding:1rem;margin:1rem 0;overflow-x:auto;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;line-height:1.4}.lesson-detail-code code{background:none;padding:0;border:none;color:#333}@media (max-width: 768px){.lesson-detail-quiz-wrapper{margin:1.5rem 0;padding:1.5rem}.quiz-question{padding:1rem}.quiz-actions{flex-direction:column}.quiz-submit-btn,.quiz-reset-btn{width:100%;justify-content:center}}.lesson-detail-callout{background:#e3f2fd;border-left:4px solid #2196f3;padding:1rem;margin:1.5rem 0;border-radius:0 6px 6px 0}.lesson-detail-callout strong{color:#1976d2;font-weight:600}.lesson-detail-exercise{background:#f3e5f5;border:1px solid #e1bee7;border-radius:8px;padding:1.5rem;margin:2rem 0}.lesson-detail-exercise h3{color:#7b1fa2;margin-top:0;margin-bottom:1rem;font-size:1.2rem}.lesson-detail-exercise p{margin-bottom:1rem;color:#4a148c}.info-callout,.success-callout,.tip-callout,.warning-callout,.fun-fact{padding:1rem;border-radius:8px;margin:1rem 0;border-left:4px solid;background:#f8f9fa}.info-callout{border-left-color:#3182ce;background:#ebf8ff}.success-callout{border-left-color:#38a169;background:#f0fff4}.tip-callout{border-left-color:#d69e2e;background:#fffaf0}.warning-callout{border-left-color:#e53e3e;background:#fed7d7}.fun-fact{border-left-color:#805ad5;background:#faf5ff}.domains-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin:1.5rem 0}.domain-card{padding:1rem;border:1px solid #e2e8f0;border-radius:8px;background:white;transition:transform .2s ease,box-shadow .2s ease}.domain-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.domain-card h4{margin:0 0 .5rem;color:#2d3748;font-size:1.1rem}.domain-card p{margin:.25rem 0;color:#4a5568}.domain-card .example{font-style:italic;color:#718096;font-size:.9rem}.zen-container{text-align:center;margin:1.5rem 0}.zen-quote{font-style:italic;font-size:1.1rem;color:#4a5568;border-left:none;padding:1rem;background:#f7fafc;border-radius:8px}.comparison-table{margin:1.5rem 0}.comparison-table table{width:100%;border-collapse:collapse;margin:1rem 0}.comparison-table th,.comparison-table td{padding:.75rem;text-align:left;border-bottom:1px solid #e2e8f0}.comparison-table th{background:#f7fafc;font-weight:600;color:#2d3748}.comparison-table td{color:#4a5568}.success-story{background:#f0fff4;border:1px solid #9ae6b4;border-radius:8px;padding:1.5rem;margin:1.5rem 0}.success-story h4{margin:0 0 1rem;color:#38a169}.success-story em{font-style:italic;color:#2d3748}.summary-points{margin:1rem 0}.checklist{list-style:none;padding:0}.checklist li{padding:.5rem 0;color:#2d3748;font-weight:500}.next-step{background:#e6fffa;border:1px solid #81e6d9;border-radius:8px;padding:1.5rem;margin:1.5rem 0}.next-step h3{margin:0 0 .5rem;color:#234e52}.quiz-container{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:1.5rem;margin:1.5rem 0}.quiz-container .quiz-question{background:white;border:1px solid #e2e8f0;border-radius:6px;padding:1rem;margin-bottom:1rem}.quiz-container .quiz-question:last-child{margin-bottom:0}.quiz-container .quiz-question h4{margin:0 0 1rem;color:#2d3748;font-size:1rem;font-weight:600}.quiz-options{display:flex;flex-direction:column;gap:.5rem}.quiz-options label{display:flex;align-items:center;padding:.5rem;border-radius:4px;cursor:pointer;transition:background-color .2s ease;color:#4a5568}.quiz-options label:hover{background-color:#f1f5f9}.quiz-options input[type=radio]{margin-right:.5rem;accent-color:#3182ce}.quiz-answers{background:#e6fffa;border:1px solid #81e6d9;border-radius:6px;padding:1rem;margin:1rem 0}.quiz-answers h4{margin:0 0 1rem;color:#234e52}.quiz-answers p{margin:.5rem 0;color:#2d3748}@media (max-width: 768px){.domains-grid{grid-template-columns:1fr}.comparison-table{overflow-x:auto}.quiz-container{padding:1rem}}.lesson-detail-container section:not(.lesson-detail-python-editor){margin:2rem 0}.lesson-detail-container h2:not(.lesson-detail-python-editor h2){margin:1.5rem 0 1rem;color:#334155;font-size:1.5rem;font-weight:600}.lesson-detail-container h3:not(.lesson-detail-python-editor h3){margin:1.2rem 0 .8rem;color:#475569;font-size:1.2rem;font-weight:600}.lesson-detail-container h4:not(.lesson-detail-python-editor h4){margin:1rem 0 .5rem;color:#64748b;font-size:1rem;font-weight:600}.lesson-detail-container p:not(.lesson-detail-python-editor p){margin:.8rem 0;line-height:1.6;color:#475569}.lesson-detail-container ul:not(.feature-list):not(.timeline-list):not(.lesson-detail-python-editor ul),.lesson-detail-container ol:not(.lesson-detail-python-editor ol){margin:.8rem 0;padding-left:1.5rem}.lesson-detail-container li:not(.feature-list li):not(.timeline-list li):not(.lesson-detail-python-editor li){margin:.3rem 0;line-height:1.5}.info-callout,.tip-callout,.warning-callout,.success-callout{border-radius:4px;padding:1rem;margin:1.2rem 0;border-left:3px solid;background:#f8fafc}.info-callout{border-color:#64748b;color:#475569}.tip-callout{border-color:#3b82f6;color:#1e40af;background:#f0f9ff}.warning-callout{border-color:#f59e0b;color:#92400e;background:#fffbeb}.success-callout{border-color:#10b981;color:#065f46;background:#f0fdf4}.content-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.2rem;margin:1.5rem 0}.content-grid.small{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.content-grid.large{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.content-card{background:white;border:1px solid #e2e8f0;border-radius:4px;padding:1.2rem;transition:border-color .2s ease;box-shadow:0 1px 2px #0000000d}.content-card:hover{border-color:#cbd5e1}.content-card h4{margin:0 0 .8rem;color:#374151;font-size:.95rem;font-weight:600}.content-card p{margin:0;color:#6b7280;line-height:1.5;font-size:.9rem}.feature-list,.benefits-list,.advantages-list{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.5rem}.feature-list li,.benefits-list li,.advantages-list li{padding:.4rem 0;color:#4b5563;font-size:.9rem;line-height:1.4}.steps-container,.installation-steps,.workflow-steps{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}.step-item,.step-container,.step{display:flex;align-items:flex-start;gap:1rem;padding:.75rem;background:white;border:1px solid #e2e8f0;border-radius:4px}.step-item .step-content,.step-container .step-content{flex:1;min-width:0}.steps-container .step-item{flex-direction:column;width:100%}.steps-container .step-item h4{margin:0 0 .25rem;color:#374151;font-size:1rem;font-weight:600}.steps-container .step-item p{margin:0 0 .25rem;color:#6b7280;line-height:1.4;font-size:.95rem}.step-item.critical,.step-container.critical{border-color:#f59e0b;background:#fffbeb}.step-number{background:#6b7280;color:#fff;width:1.8rem;height:1.8rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.8rem;flex-shrink:0}.step-item.critical .step-number,.step-container.critical .step-number{background:#f59e0b}.step-content h4{margin:0 0 .3rem;color:#374151;font-size:.95rem;font-weight:600}.step-content p{margin:0;color:#6b7280;line-height:1.4;font-size:.9rem}.steps-container .step-item pre,.steps-container .step-item pre code.terminal,.steps-container .step-item pre:has(code.terminal){width:100%;display:block;margin:.25rem 0;box-sizing:border-box}.steps-container .step-item .code-container{width:100%;margin:.25rem 0}.steps-container .step-item .code-container pre{width:100%;margin:0;box-sizing:border-box}.steps-container .step-item pre code.python-interactive{width:100%;display:block}.section-container,.verification-box,.macos-check,.linux-check{background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;padding:1.5rem;margin:1.5rem 0}.section-container h3,.verification-box h3,.macos-check h3,.linux-check h3{margin:0 0 1rem!important;color:#374151;font-size:1.1rem;font-weight:600}.verification-box{border-color:#10b981;background:#f0fdf4}.verification-box h3{margin:0 0 .8rem;color:#065f46;font-size:1rem}.verification-box p{color:#047857;margin:.3rem 0}.timeline-container{margin:1.2rem 0}.timeline-list{list-style:none;padding:0;position:relative}.timeline-list:before{content:"";position:absolute;left:12px;top:0;bottom:0;width:2px;background:#d1d5db}.timeline-list li{position:relative;padding-left:40px;margin-bottom:1.2rem}.timeline-list li:before{content:"";position:absolute;left:4px;top:2px;width:16px;height:16px;background:#6b7280;border-radius:50%;border:2px solid white}.timeline-date{font-weight:600;color:#374151;font-size:.9rem;margin-bottom:.2rem}.timeline-event{color:#6b7280;line-height:1.4;font-size:.85rem}.characteristics-grid,.applications-grid,.linux-distributions,.comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;margin:1rem 0}.characteristic-card,.application-item,.distro-card,.comparison-item{background:white;border:1px solid #e2e8f0;border-radius:4px;padding:1rem;text-align:center}.characteristic-card h4,.application-item h4,.distro-card h4,.comparison-item h4{margin:0 0 .5rem;color:#374151;font-size:.9rem;font-weight:600}.characteristic-card p,.application-item p,.comparison-item ul{margin:0;color:#6b7280;font-size:.85rem;line-height:1.4}.comparison-item ul{list-style:none;padding:0;text-align:left}.comparison-item li{padding:.2rem 0}.code-examples,.command-examples{display:grid;gap:1rem;margin:1rem 0}.example-item,.command-box,.code-container{background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;padding:1rem}.example-item h4,.command-box h4,.code-container h4{margin:0 0 .5rem;color:#374151;font-size:.9rem;font-weight:600}.result-options{display:grid;gap:.8rem;margin:1rem 0}.result-option{padding:.8rem;border-radius:4px;border:1px solid}.result-option.success{background:#f0fdf4;border-color:#10b981;color:#065f46}.result-option.warning{background:#fffbeb;border-color:#f59e0b;color:#92400e}.result-option h4{margin:0 0 .3rem;font-size:.9rem}.result-option p{margin:0;font-size:.85rem}.controls-list,.controls-grid{display:grid;gap:.6rem;margin:1rem 0}.controls-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.control,.control-item{padding:.8rem;background:white;border:1px solid #e2e8f0;border-radius:4px;color:#6b7280;font-size:.85rem}.zen-principles{background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;padding:1.5rem;margin:1.5rem 0}.zen-list{list-style:none;padding:0;display:grid;gap:.8rem;margin:1rem 0}.zen-list li{background:white;padding:1rem;border-radius:4px;border-left:3px solid #6b7280;color:#4b5563;font-style:italic;font-size:.9rem;line-height:1.5}.limitations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.8rem;margin:1rem 0}.limitation-item{background:#fef2f2;border:1px solid #fca5a5;border-radius:4px;padding:1rem;text-align:center}.limitation-item h4{margin:0 0 .3rem;color:#dc2626;font-size:.9rem;font-weight:600}.limitation-item p{margin:0;color:#7f1d1d;font-size:.8rem}.external-link{color:#3b82f6;text-decoration:underline;font-weight:500}.external-link:hover{color:#1d4ed8}@media (max-width: 768px){.content-grid,.characteristics-grid,.applications-grid,.linux-distributions,.comparison-grid,.limitations-grid{grid-template-columns:1fr;gap:.8rem}.steps-container,.installation-steps,.workflow-steps{gap:.6rem}.step-item,.step-container,.step{flex-direction:column;text-align:center;gap:.5rem;padding:.8rem}.timeline-list li{padding-left:30px}.code-examples,.command-examples{gap:.8rem}.controls-grid{grid-template-columns:1fr}}.python-editor-placeholder{min-height:2rem;background:#f3f4f6;border:1px dashed #d1d5db;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#6b7280;font-style:italic;font-size:.875rem}.social-links{display:flex;gap:1rem;align-items:center;justify-content:center;flex-wrap:wrap;padding:1rem;position:relative;z-index:2}.social-link{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.5rem;text-decoration:none;color:#fff;background-color:#ffffff1a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all .2s ease;border:1px solid rgba(255,255,255,.2)}.social-link:hover{background-color:#fff3;transform:translateY(-2px);border-color:#fff6}.social-link svg{width:24px;height:24px}.social-name{font-weight:500;font-size:.875rem;color:#fff}.social-link[title=YouTube]:hover{color:red;background-color:#f003}.social-link[title=TikTok]:hover{color:#fff;background-color:#0006}.social-link[title=Instagram]:hover{color:#e1306c;background-color:#e1306c33}.social-link[title=Telegram]:hover{color:#08c;background-color:#08c3}.social-link[title=Fiverr]:hover{color:#1dbf73;background-color:#1dbf7333}.social-link[title=Discord]:hover{color:#5865f2;background-color:#5865f233}.social-link[title=Patreon]:hover{color:#ff5800;background-color:#ff424d33}@media (max-width: 640px){.social-links{padding:.5rem}.social-link{padding:.375rem .75rem}.social-name{display:none}.social-link svg{width:20px;height:20px}}.language-selector-dropdown{position:relative;display:inline-block}.language-selector-button{display:flex;align-items:center;gap:6px;padding:8px 12px;background:white;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;color:#333;transition:all .2s ease;min-width:80px;justify-content:space-between}.language-selector-button:hover{border-color:#007bff;box-shadow:0 2px 4px #007bff1a}.language-flag{font-size:16px;line-height:1}.language-code{font-weight:600;color:#333}.dropdown-arrow{font-size:10px;color:#666;transition:transform .2s ease}.dropdown-arrow.open{transform:rotate(180deg)}.language-dropdown-menu{position:absolute;top:100%;left:0;background:white;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1000;margin-top:2px;overflow:hidden;min-width:120px;white-space:nowrap}.language-option{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:none;border:none;cursor:pointer;font-size:14px;color:#333;transition:background-color .2s ease;text-align:left}.language-option:hover{background-color:#f8f9fa}.language-option.active{background-color:#007bff;color:#fff}.language-option.active .language-name{color:#fff}.language-name{font-weight:500}@media (max-width: 768px){.language-selector-dropdown{margin-bottom:10px}.language-selector-button{width:100%;justify-content:space-between}.language-dropdown-menu{width:100%}}.navbar .language-selector{margin-right:1rem}@media (max-width: 768px){.navbar .language-selector{margin:.5rem 0;justify-content:center}.language-btn{padding:8px 12px;font-size:.9rem}}.navbar{display:flex;justify-content:space-between;align-items:center;padding:.5rem 2rem;background-color:#000000e6;position:fixed;top:0;left:0;right:0;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1)}.navbar-brand{display:flex;align-items:center}.navbar-logo{display:flex;align-items:center;text-decoration:none;color:#fff;gap:.5rem}.navbar-logo:hover,.navbar-logo-text:hover,.navbar-username:hover{color:#1dbf73}.navbar-logo-img{height:2rem;width:auto}.navbar-logo-text{font-size:1.25rem;font-weight:600}.navbar-menu,.navbar-nav{display:flex;align-items:center;gap:1rem}.navbar-auth{display:flex;gap:1rem}.navbar-button{padding:.5rem 1rem;border-radius:.375rem;font-weight:500;transition:all .2s ease;text-decoration:none}.navbar-login{color:#fff;background-color:transparent;border:1px solid rgba(255,255,255,.2)}.navbar-login:hover{background-color:#ffffff1a}.navbar-register{color:#000;background-color:#fff;border:1px solid white}.navbar-register:hover{background-color:#ffffffe6}.navbar-logout{color:#f44;background-color:transparent;border:1px solid rgba(255,68,68,.2);cursor:pointer}.navbar-logout:hover{background-color:#ff44441a}.navbar-username{color:#fff;font-weight:500}.navbar-username.clickable{cursor:pointer;display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.375rem;transition:all .2s ease;position:relative}.navbar-username.clickable:hover,.navbar-username.clickable.active{background-color:#ffffff1a}.dropdown-icon{display:inline-block;width:0;height:0;margin-left:.5rem;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid white;transition:transform .2s ease}.navbar-username.active .dropdown-icon{transform:rotate(180deg)}.navbar-user-container{position:relative}.user-dropdown-menu{position:absolute;top:calc(100% + .5rem);right:0;background-color:#000000f2;border-radius:.5rem;min-width:200px;box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014;z-index:1000;overflow:hidden;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:block;padding:.75rem 1.5rem;color:#fff;text-decoration:none;transition:background-color .2s;font-weight:500;text-align:left;width:100%;border:none;background:transparent;cursor:pointer;font-size:1rem}.dropdown-item:hover{background-color:#ffffff1a}.logout-item{color:#f44;border-top:1px solid rgba(255,255,255,.1)}.navbar-profile{color:#4299e1;background-color:transparent;border:1px solid rgba(66,153,225,.2)}.navbar-profile:hover{background-color:#4299e11a}.navbar-subscriptions{color:#38a169;background-color:transparent;border:1px solid rgba(56,161,105,.2)}.navbar-subscriptions:hover{background-color:#38a1691a}.navbar-user-menu{display:flex;align-items:center;gap:1rem}.hamburger-menu{display:none;flex-direction:column;justify-content:space-around;width:2rem;height:2rem;background:transparent;border:none;cursor:pointer;padding:0;z-index:10}.hamburger-menu span{width:2rem;height:.25rem;background:white;border-radius:.25rem;transition:all .3s linear;position:relative;transform-origin:1px}.hamburger-menu.open span:first-child{transform:rotate(45deg)}.hamburger-menu.open span:nth-child(2){opacity:0}.hamburger-menu.open span:nth-child(3){transform:rotate(-45deg)}.close-mobile-menu{display:none;position:fixed;top:1rem;right:1rem;z-index:1000;background:transparent;border:none;color:#fff;font-size:2rem;cursor:pointer;outline:none;padding:0 .3em}.navbar-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:#0006;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:900;cursor:pointer}@media (max-width: 990px){.navbar-user-menu,.navbar-auth{gap:.5rem}.navbar-button{padding:.4rem .8rem;font-size:.9rem}.navbar-username{font-size:.9rem}}@media (max-width: 768px){.navbar{padding:.5rem 1rem}.hamburger-menu{display:flex}.close-mobile-menu{display:block}.navbar-menu{position:fixed;top:0;right:-100%;width:75%;max-width:300px;height:100vh;background-color:#000000f2;flex-direction:column;padding:5rem 1.5rem 2rem;transition:right .3s ease;z-index:950;justify-content:flex-start;gap:2rem;overflow-y:auto}.navbar-menu.active{right:0}.navbar-nav,.navbar-user-menu,.navbar-auth{flex-direction:column;align-items:flex-start;gap:1rem;width:100%}.navbar-button{width:100%;text-align:center}.navbar-username{margin-bottom:.5rem;font-size:1.1rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.5rem;width:100%}.navbar-crypto-button{margin:16px 0;padding:12px 20px;width:100%;text-align:center}}@media (max-width: 480px){.navbar-logo-text{display:none}.navbar-menu{width:85%}}.navbar-crypto-button{background:linear-gradient(90deg,#f59e0b,#ef4444);color:#fff;font-weight:600;margin-right:16px;padding:8px 16px;border-radius:6px;transition:transform .2s,box-shadow .2s}.navbar-crypto-button:hover{transform:translateY(-2px);box-shadow:0 6px 12px -3px #ef444466}.footer{background-color:#000;color:#fff;text-align:center;padding:1rem 0;margin:0;width:100%;flex-shrink:0;box-sizing:border-box}.home{min-height:100vh;display:flex;flex-direction:column;padding-top:3.2rem}.banner{position:relative;height:400px;background-color:#000;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;text-align:center;overflow:hidden;background-image:url(/images/banner-background.jpg);background-size:cover;background-position:center;padding:0 2rem;width:100vw;margin-left:calc(-50vw + 50%);left:0;right:0}.overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#000000e6;z-index:1}.logo{max-width:150px;margin-bottom:20px;z-index:2;position:relative}.banner-text{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-left:0}.banner-text h1{font-size:42px;font-weight:800;margin:0}.banner-text h2{font-size:24px;margin:0;font-weight:400}.home-content-wrapper{max-width:1200px;margin:0 auto;padding:0 2rem;width:100%;flex:1}.courses-grid{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:flex-start;align-items:flex-start}.course-card{background-color:#fff;border-radius:.5rem;overflow:hidden;box-shadow:0 4px 6px #0000001a;transition:transform .2s ease-in-out;display:flex;flex-direction:column;text-decoration:none;color:inherit;padding:1rem;flex:1 1 calc(33.333% - 1rem);min-width:350px;max-width:calc(33.333% - 1rem);flex-shrink:0}.course-info{flex:1;padding:0;margin:0;align-self:top}.course-title{margin-top:0;margin-bottom:1rem;font-size:1.8rem;line-height:1.2}.course-description{margin-top:0;line-height:1.5;font-size:1rem}.premium-products{margin:4rem 0;padding:3rem;background-color:#f8f9fa;border-radius:.75rem;text-align:center;border-top:4px solid #3c7a45;box-shadow:0 4px 6px #0000000d}.premium-products h2{font-size:2.25rem;font-weight:700;margin-bottom:1.5rem;color:#1a202c}.premium-description{max-width:800px;margin:0 auto 2rem;font-size:1.125rem;line-height:1.7;color:#4a5568}.premium-button{display:inline-block;background-color:#3c7a45;color:#fff;padding:.875rem 2rem;border-radius:.375rem;font-weight:600;font-size:1.125rem;text-decoration:none;transition:all .3s ease}.premium-button:hover{background-color:#306037;transform:translateY(-2px);box-shadow:0 4px 12px #3c7a4533}@media (max-width: 767px){.home-content-wrapper{padding:0 1rem}.home{padding-top:2.5rem}}@media (min-width: 768px){.courses-grid{justify-content:flex-start}.course-card{flex:1 1 calc(50% - .75rem);max-width:calc(50% - .75rem)}}@media (min-width: 1024px){.course-card{flex:1 1 calc(33.333% - 1rem);max-width:calc(33.333% - 1rem)}}@media (max-width: 480px){.course-card{flex:1 1 100%;max-width:100%;min-width:unset}}.featured-product{background:linear-gradient(135deg,#0a3622 0%,#155e3e 100%);border-radius:12px;padding:24px;margin:24px 0;color:#fff;text-align:center;box-shadow:0 15px 30px -10px #0000004d;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.featured-product:before{content:"NOUVEAU";position:absolute;top:10px;right:-30px;background:linear-gradient(90deg,#f59e0b,#ef4444);color:#fff;padding:5px 40px;font-size:12px;font-weight:700;transform:rotate(45deg);z-index:1}.featured-product h3{font-size:1.5rem;margin-bottom:12px;font-weight:700;color:#4ade80}.featured-product p{margin-bottom:20px;line-height:1.6;font-size:1rem}.featured-product-button{display:inline-block;background:linear-gradient(90deg,#f59e0b,#ef4444);color:#fff;font-weight:600;padding:12px 24px;border-radius:6px;text-decoration:none;transition:transform .2s,box-shadow .2s;margin-top:8px;border:none;cursor:pointer}.featured-product-button:hover{transform:translateY(-2px);box-shadow:0 10px 20px -5px #ef444466}@media (max-width: 768px){.featured-product{padding:20px 16px}.featured-product h3{font-size:1.25rem}.featured-product p{font-size:.9rem}}.sponsors-section{padding:4rem 0;background-color:#f8fafc;border-top:1px solid #e2e8f0}.sponsors-container{max-width:1200px;margin:0 auto;padding:0 2rem}.sponsors-title{font-size:2rem;text-align:center;margin-bottom:.5rem;color:#2b5b84}.sponsors-description{text-align:center;max-width:700px;margin:0 auto 3rem;color:#4a5568;line-height:1.6}.sponsors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;justify-content:center;margin-bottom:3rem}.sponsor-placeholder{border:2px dashed #4CAF50;border-radius:8px;height:180px;display:flex;align-items:center;justify-content:center;padding:1rem;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden;background-color:#4caf500d}.sponsor-placeholder:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);transform:translate(-100%);transition:transform .6s ease}.sponsor-placeholder:hover:before{transform:translate(100%)}.placeholder-content{display:flex;flex-direction:column;align-items:center;gap:1rem;color:#718096;transition:transform .3s ease}.sponsor-placeholder:hover .placeholder-content{transform:scale(1.05)}.placeholder-icon{width:40px;height:40px;transition:transform .3s ease}.sponsor-placeholder:hover .placeholder-icon{transform:scale(1.1)}.placeholder-icon svg{width:100%;height:100%}.placeholder-text{font-size:.875rem;text-align:center;font-weight:500;transition:color .3s ease}.sponsor-placeholder:hover .placeholder-text{color:#2b5b84}.sponsor-placeholder:hover{transform:translateY(-5px);box-shadow:0 8px 16px #0000001a;background-color:#4caf501a}.become-sponsor{margin-top:4rem;text-align:center;padding:2rem;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;border:1px solid #e2e8f0}.become-sponsor p{margin-bottom:1rem;color:#4a5568;font-size:1.1rem}.sponsor-button{display:inline-block;padding:.75rem 1.5rem;background-color:#4caf50;color:#fff;font-weight:500;border-radius:4px;text-decoration:none;transition:background-color .2s}.sponsor-button:hover{background-color:#388e3c;color:#fff}.sponsor-item{display:flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;border-radius:8px;padding:1rem;background-color:#fff;box-shadow:0 2px 4px #0000000d;transition:transform .3s ease,box-shadow .3s ease;height:180px}.sponsor-item:hover{transform:translateY(-5px);box-shadow:0 10px 15px #0000001a}.sponsor-logo{max-width:100%;max-height:100%;object-fit:contain}.sponsor-name{font-size:1.25rem;font-weight:600;color:#2b5b84;text-align:center}.sponsors-view-all{text-align:center;margin-top:2rem}.view-all-link{display:inline-flex;align-items:center;color:#2b5b84;font-weight:500;text-decoration:none;padding:.5rem 1rem;border-radius:4px;transition:all .2s ease;border:1px solid transparent}.view-all-link:hover{background-color:#2b5b841a;border-color:#2b5b8433;transform:translateY(-2px)}.view-all-link:active{transform:translateY(0)}@media (max-width: 768px){.sponsors-container{padding:0 1rem}.sponsors-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.sponsor-placeholder,.sponsor-item{height:160px}}.sponsors-page{min-height:100vh;display:flex;flex-direction:column;background-color:#f8f9fa}.sponsors-page-container{flex:1;max-width:1200px;margin:0 auto;padding:2rem 1rem;width:100%}.sponsors-page-header{text-align:center;margin-bottom:3rem;padding:4rem 2rem 2rem;background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000000d}.sponsors-page-header h1{font-size:2.5rem;margin-bottom:1rem;color:#333;font-weight:700}.sponsors-page-header p{font-size:1.1rem;max-width:800px;margin:0 auto;color:#666;line-height:1.6}@media (max-width: 768px){.sponsors-page-header h1{font-size:2rem}.sponsors-page-header p{font-size:1rem}.sponsors-page-container{padding:1rem}}.layout{display:flex;flex-direction:column;min-height:100vh;padding:0;margin:0;width:100%;overflow-x:hidden}.main-content{flex:1 0 auto;display:flex;flex-direction:column;width:100%;padding:0;margin:0}.page-container{width:100%;max-width:1200px;margin:0 auto;padding:3rem 2rem 2rem}.banner-light{position:relative;background-image:url(/images/banner-background.jpg);background-size:cover;background-position:center;height:200px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:0 2rem;width:100vw;margin-left:calc(-50vw + 50%);margin-bottom:2rem;left:0;right:0;flex-direction:column}.banner-light .overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#000000e6;z-index:1}.banner-light .logo{max-width:100px;margin-bottom:10px;z-index:2;position:relative}.banner-light .banner-text{position:relative;z-index:2}.banner-light .banner-text h1{font-size:32px;font-weight:800;margin:0}.content-wrapper{max-width:1200px;margin:0 auto;padding:0 2rem}.back-link{display:inline-block;margin-bottom:1.5rem;color:#4a5568;text-decoration:none;font-weight:500;transition:color .2s}.back-link:hover{color:#1a202c}.loading-container{text-align:center;padding:2rem;color:#666}.error-message,.error{text-align:center;padding:2rem;color:#dc2626;background-color:#fee2e2;border-radius:8px}@media (max-width: 767px){.content-wrapper{padding:0 1rem}.page-container{padding-left:1rem;padding-right:1rem}.banner-light{height:150px}.banner-light .logo{max-width:80px}.banner-light .banner-text h1{font-size:28px}}.user-courses-container{max-width:1200px;margin:0 auto;padding:2rem 1rem}.user-courses-title{font-size:2rem;font-weight:700;margin-bottom:2rem;color:#333;border-bottom:2px solid #f0f0f0;padding-bottom:1rem}.courses{margin-top:2rem;margin-bottom:2rem}.courses h2{font-size:1.875rem;font-weight:700;margin-bottom:1.5rem;color:#1a202c}.courses-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1.5rem}.course-card{background-color:#fff;border-radius:.5rem;overflow:hidden;box-shadow:0 4px 6px #0000001a;transition:transform .2s ease-in-out;display:flex;flex-direction:column;text-decoration:none;color:inherit;padding:1rem}.course-card:hover{transform:translateY(-5px)}.course-image{width:100%;height:200px;object-fit:cover}.course-content{padding-top:1rem;flex-grow:1;display:flex;flex-direction:column}.course-content h3{font-size:1.5rem;font-weight:700;margin:0 0 .5rem;color:#1a202c}.course-content p{margin:0 0 1rem;color:#4a5568;flex-grow:1}.access-button{display:inline-block;background-color:#1a202c;color:#fff;padding:.5rem 1rem;border-radius:.25rem;font-weight:500;text-align:center;transition:background-color .2s}.access-button:hover{background-color:#2d3748}.no-courses{text-align:center;padding:3rem;background-color:#fff;border-radius:.5rem;box-shadow:0 2px 4px #0000001a;color:#718096;font-size:1.125rem}.courses-empty,.courses-not-authenticated,.courses-loading,.courses-error{text-align:center;padding:4rem 1rem;background-color:#fff;border-radius:.5rem;box-shadow:0 2px 8px #0000001a;max-width:600px;margin:2rem auto}.courses-empty h2,.courses-not-authenticated h2{font-size:1.5rem;margin-bottom:1rem;color:#333}.courses-empty p{color:#666;margin-bottom:1.5rem}.courses-browse-button,.courses-login-button{display:inline-block;padding:.75rem 1.5rem;background-color:#3c7a45;color:#fff;text-decoration:none;border-radius:.25rem;font-weight:500;transition:background-color .2s}.courses-browse-button:hover,.courses-login-button:hover{background-color:#2c5a33}.courses-error{color:#c62828;font-weight:500}@media (max-width: 767px){.user-courses-container{padding:1rem}}@media (min-width: 768px){.courses-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.courses-grid{grid-template-columns:repeat(3,1fr)}}:root{--color-primary: #12d086;--color-primary-dark: #0faa6c;--color-secondary: #4c1d95;--color-secondary-dark: #3b1674;--color-text: #1a1a1a;--color-text-light: #4a5568;--color-background: #f9fafb;--color-background-alt: #ffffff;--color-border: #e5e7eb;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-xxl: 3rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-xxl: 1.5rem;--font-size-xxxl: 2rem;--border-radius-sm: .25rem;--border-radius-md: .5rem;--border-radius-lg: .75rem;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--transition-fast: all .2s ease;--transition-medium: all .3s ease;--transition-slow: all .5s ease}html,body{height:100%;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}body{display:flex;flex-direction:column;background-color:#f3f4f6}.app{display:flex;flex-direction:column;min-height:100vh}.main{flex:1;padding:0;margin:0 auto;width:100%}.footer{background-color:#000;color:#fff;text-align:center;padding:1rem;margin-top:auto}.footer-tagline{margin:1.5rem 0;font-size:1.3rem}.footer-copyright{margin:0 0 1rem;font-size:.875rem}.loading,.error{text-align:center;padding:2rem;max-width:600px;border-radius:.5rem}.loading{background-color:#fff;color:#718096}.error{background-color:#fed7d7;color:#e53e3e}.btn{display:inline-block;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-md);font-weight:600;text-decoration:none;cursor:pointer;transition:var(--transition-fast);text-align:center}.btn--primary{background-color:var(--color-primary);color:#fff;border:none}.btn--primary:hover{background-color:var(--color-primary-dark)}.btn--secondary{background-color:var(--color-secondary);color:#fff;border:none}.btn--secondary:hover{background-color:var(--color-secondary-dark)}.btn--outline{background-color:transparent;border:1px solid var(--color-border);color:var(--color-text)}.btn--outline:hover{background-color:var(--color-background)}.badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:600;text-align:center}.badge--premium{background-color:var(--color-warning);color:#fff}.badge--new{background-color:var(--color-info);color:#fff}.icon{display:inline-flex;align-items:center;justify-content:center}.icon--premium svg{color:var(--color-warning)}.icon--lock svg{color:var(--color-text-light)}.card{background-color:var(--color-background-alt);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:var(--transition-fast)}.card:hover{box-shadow:var(--shadow-md)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.text-heading{font-weight:700;line-height:1.2;margin-bottom:var(--spacing-md)}.text-xl{font-size:var(--font-size-xxl)}.text-lg{font-size:var(--font-size-xl)}.text-md{font-size:var(--font-size-lg)}.text-body{font-size:var(--font-size-md);line-height:1.5}.text-small{font-size:var(--font-size-sm);line-height:1.5}.text-center{text-align:center}.m-0{margin:0}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-4{margin-top:var(--spacing-lg)}.mt-5{margin-top:var(--spacing-xl)}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:var(--spacing-xl)}.p-0{padding:0}.p-1{padding:var(--spacing-xs)}.p-2{padding:var(--spacing-sm)}.p-3{padding:var(--spacing-md)}.p-4{padding:var(--spacing-lg)}.p-5{padding:var(--spacing-xl)}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#213547;background-color:#f8fafc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{min-height:100vh;background-color:#f8fafc}a{font-weight:500;color:#646cff;text-decoration:inherit}a:not([class]):hover,.default-link:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#dc2626}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}
