.algo-theory{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 10px #0000000d}.dark-mode .algo-theory{color:#fff;background:#1a1a2e}.theory-header{border-bottom:2px solid #e0e0e0;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.dark-mode .theory-header{border-bottom-color:#3d3d54}.theory-icon{font-size:2rem}.theory-header h3{color:#667eea;margin:0;font-size:1.8rem}.dark-mode .theory-header h3{color:#9f7aea}.theory-content{margin:1.5rem 0}.theory-text{color:#333;font-size:1.05rem;line-height:1.8}.dark-mode .theory-text{color:#ddd}.theory-text p{margin:1rem 0}.theory-text h4{color:#667eea;margin-top:1.5rem;margin-bottom:.8rem}.dark-mode .theory-text h4{color:#9f7aea}.theory-placeholder{text-align:center;background:linear-gradient(135deg,#f5f5f5 0%,#e8e8e8 100%);border:2px dashed #ccc;border-radius:12px;padding:3rem 2rem}.dark-mode .theory-placeholder{background:linear-gradient(135deg,#2d2d44 0%,#3d3d54 100%);border-color:#4d4d64}.placeholder-icon{margin-bottom:1rem;font-size:4rem}.theory-placeholder h4{color:#667eea;margin:1rem 0 .5rem;font-size:1.4rem}.dark-mode .theory-placeholder h4{color:#9f7aea}.theory-placeholder p{color:#666;margin:0;font-size:1rem}.dark-mode .theory-placeholder p{color:#aaa}.key-points{background:linear-gradient(135deg,#f0f4ff 0%,#e8efff 100%);border-left:4px solid #667eea;border-radius:8px;margin:2rem 0;padding:1.5rem}.dark-mode .key-points{background:linear-gradient(135deg,#2d2d44 0%,#3d3d54 100%);border-left-color:#9f7aea}.key-points h4{color:#667eea;margin:0 0 1rem;font-size:1.3rem}.dark-mode .key-points h4{color:#9f7aea}.key-points ul{margin:0;padding:0;list-style:none}.key-points li{color:#333;align-items:flex-start;gap:.8rem;margin:.8rem 0;font-size:1rem;display:flex}.dark-mode .key-points li{color:#ddd}.point-marker{color:#4caf50;flex-shrink:0;font-size:1.2rem;font-weight:700}.code-example-section{margin:2rem 0}.code-example-section h4{color:#667eea;margin:0 0 1rem;font-size:1.3rem}.dark-mode .code-example-section h4{color:#9f7aea}.code-example-section pre{color:#fff;background:#2d2d44;border-radius:8px;padding:1.5rem;font-family:Courier New,monospace;font-size:.95rem;line-height:1.6;overflow-x:auto}.code-example-section code{font-family:Courier New,monospace}.additional-resources{background:#f9f9f9;border-radius:8px;margin:2rem 0;padding:1.5rem}.dark-mode .additional-resources{background:#2d2d44}.additional-resources h4{color:#667eea;margin:0 0 1rem;font-size:1.3rem}.dark-mode .additional-resources h4{color:#9f7aea}.additional-resources ul{margin:0;padding:0;list-style:none}.additional-resources li{margin:.8rem 0}.additional-resources a{color:#667eea;font-weight:500;text-decoration:none;transition:all .3s}.additional-resources a:hover{color:#764ba2;text-decoration:underline}.dark-mode .additional-resources a{color:#9f7aea}@media (max-width:768px){.algo-theory{padding:1.5rem}.theory-header h3{font-size:1.5rem}.theory-text{font-size:1rem}.key-points{padding:1rem}.code-example-section pre{padding:1rem;font-size:.85rem}}
.reflection-questions{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;margin:2rem 0;padding:1.5rem;box-shadow:0 4px 6px #0000001a}.reflection-header{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.reflection-icon{font-size:1.5rem}.reflection-header h4{color:#fff;margin:0;font-size:1.25rem;font-weight:600}.reflection-intro{opacity:.9;margin-bottom:1.5rem;font-size:.95rem;line-height:1.6}.questions-list{flex-direction:column;gap:1rem;display:flex}.reflection-item{background:#ffffff1a;border-radius:8px;padding:1rem;transition:all .3s}.reflection-item:hover{background:#ffffff26}.question-header{-webkit-user-select:none;user-select:none;align-items:flex-start;gap:.75rem;display:flex}.question-number{color:#ffd93d;flex-shrink:0;font-weight:700}.question-text{flex:1;font-size:1rem;font-weight:500;line-height:1.5}.expand-icon{opacity:.7;flex-shrink:0;margin-left:auto;font-size:.8rem;transition:transform .3s}.question-details{border-top:1px solid #fff3;margin-top:1rem;padding-top:1rem;animation:.3s slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.question-context{background:#0003;border-radius:6px;margin-bottom:.75rem;padding:.75rem;font-size:.9rem;line-height:1.6}.question-context strong{color:#ffd93d;margin-bottom:.5rem;display:block}.question-hint{background:#ffd93d33;border-left:3px solid #ffd93d;border-radius:6px;gap:.5rem;padding:.75rem;font-size:.9rem;line-height:1.6;display:flex}.hint-icon{flex-shrink:0}.question-hint strong{color:#ffd93d;margin-bottom:.5rem;display:block}.question-answer{background:#4caf5033;border-left:3px solid #4caf50;border-radius:6px;gap:.5rem;margin-top:.75rem;padding:.75rem;font-size:.9rem;line-height:1.6;display:flex}.answer-icon{flex-shrink:0}.question-answer strong{color:#4caf50;margin-bottom:.5rem;display:block}.question-answer p{opacity:.95;white-space:pre-line;margin:0;line-height:1.7}@media (prefers-color-scheme:dark){.reflection-questions{background:linear-gradient(135deg,#4a5568 0%,#2d3748 100%)}}@media (max-width:768px){.reflection-questions{padding:1.25rem}.reflection-header h4{font-size:1.1rem}.question-text{font-size:.95rem}}
.code-block-monaco-container{background:#1e1e1e;border:2px solid #333;border-radius:8px;margin:1rem 0;overflow:hidden;box-shadow:0 4px 12px #00000026}.code-block-monaco-header{background:#252526;border-bottom:1px solid #333;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.code-language-monaco{color:#667eea;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:600}.copy-button-monaco{color:#d4d4d4;cursor:pointer;background:0 0;border:1px solid #4a4a4a;border-radius:6px;padding:.4rem .8rem;font-size:.8rem;font-weight:500;transition:all .2s}.copy-button-monaco:hover{color:#fff;background:#667eea;border-color:#667eea;transform:translateY(-1px)}.copy-button-monaco.copied{color:#fff;background:#4caf50;border-color:#4caf50}.monaco-wrapper{background:#1e1e1e}[data-theme=light] .code-block-monaco-container{background:#fff;border-color:#d1d5db}[data-theme=light] .code-block-monaco-header{background:#f9fafb;border-bottom-color:#e5e7eb}[data-theme=light] .code-language-monaco{color:#667eea}[data-theme=light] .copy-button-monaco{color:#374151;border-color:#d1d5db}[data-theme=light] .copy-button-monaco:hover{color:#fff;background:#667eea;border-color:#667eea}[data-theme=light] .monaco-wrapper{background:#fff}
.algo-exercise{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 10px #0000000d}.dark-mode .algo-exercise{color:#fff;background:#1a1a2e}.exercise-header{border-bottom:2px solid #e0e0e0;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.dark-mode .exercise-header{border-bottom-color:#3d3d54}.exercise-icon{font-size:2rem}.exercise-header h3{color:#667eea;margin:0;font-size:1.8rem}.dark-mode .exercise-header h3{color:#9f7aea}.exercises-content{grid-template-columns:300px 1fr;gap:2rem;margin-top:1.5rem;display:grid}.exercises-list h4{color:#667eea;margin:0 0 1rem;font-size:1.2rem}.dark-mode .exercises-list h4{color:#9f7aea}.exercise-item{cursor:pointer;text-align:left;background:#f5f5f5;border:2px solid #0000;border-radius:8px;align-items:center;gap:.8rem;width:100%;margin-bottom:.8rem;padding:1rem;transition:all .3s;display:flex}.exercise-item:hover{background:#e8e8e8;transform:translate(5px)}.exercise-item.active{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-color:#667eea}.exercise-item.completed{background:linear-gradient(135deg,#e8f5e9 0%,#c8e6c9 100%);border-color:#4caf50}.exercise-item.attempted{background:linear-gradient(135deg,#fff3e0 0%,#ffe0b2 100%);border-color:#ff9800}.dark-mode .exercise-item{color:#fff;background:#2d2d44}.dark-mode .exercise-item:hover{background:#3d3d54}.exercise-number{color:#fff;background:#667eea;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.85rem;font-weight:700;display:flex}.exercise-item.active .exercise-number{color:#667eea;background:#fff}.exercise-item.completed .exercise-number{background:#4caf50}.exercise-title{flex:1;font-size:.95rem;font-weight:600}.check-mark{color:#4caf50;flex-shrink:0;font-size:1.2rem}.exercise-detail{background:#f9f9f9;border-radius:12px;padding:2rem}.dark-mode .exercise-detail{background:#2d2d44}.exercise-detail h4{color:#667eea;margin:0 0 .5rem;font-size:1.5rem}.dark-mode .exercise-detail h4{color:#9f7aea}.exercise-detail h5{color:#333;margin:0 0 1rem;font-size:1.2rem}.dark-mode .exercise-detail h5{color:#fff}.exercise-description{color:#666;margin:1rem 0;font-size:1rem;line-height:1.6}.dark-mode .exercise-description{color:#aaa}.difficulty-badge{color:#fff;border-radius:20px;margin:1rem 0;padding:.4rem 1rem;font-size:.85rem;font-weight:600;display:inline-block}.exercise-question{background:linear-gradient(135deg,#f0f4ff 0%,#e8efff 100%);border-left:4px solid #667eea;border-radius:8px;margin:1.5rem 0;padding:1rem}.dark-mode .exercise-question{background:linear-gradient(135deg,#1a1a2e 0%,#2d2d44 100%);border-left-color:#9f7aea}.exercise-question strong{color:#667eea;font-size:1.1rem}.dark-mode .exercise-question strong{color:#9f7aea}.exercise-question p{color:#333;margin:.5rem 0 0;line-height:1.6}.dark-mode .exercise-question p{color:#ddd}.exercise-code-snippet{margin:1.5rem 0}.exercise-code-snippet strong{color:#667eea;margin-bottom:.8rem;font-size:1.1rem;display:block}.dark-mode .exercise-code-snippet strong{color:#9f7aea}.code-answer-section,.text-answer-section{margin:1.5rem 0}.code-answer-section label,.text-answer-section label{color:#667eea;margin-bottom:.8rem;font-size:1.1rem;font-weight:600;display:block}.dark-mode .code-answer-section label,.dark-mode .text-answer-section label{color:#9f7aea}.code-textarea,.text-textarea{resize:vertical;color:#333;background:#fff;border:2px solid #e0e0e0;border-radius:8px;width:100%;padding:1rem;font-family:Courier New,monospace;font-size:.95rem}.code-textarea:focus,.text-textarea:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.dark-mode .code-textarea,.dark-mode .text-textarea{color:#fff;background:#1a1a2e;border-color:#3d3d54}.dark-mode .code-textarea:focus,.dark-mode .text-textarea:focus{border-color:#9f7aea;box-shadow:0 0 0 3px #9f7aea1a}.multiple-choice-section{margin:1.5rem 0}.choice-option{cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:8px;align-items:center;gap:.8rem;margin:.8rem 0;padding:1rem;transition:all .3s;display:flex}.choice-option:hover{background:#f5f5f5;border-color:#667eea}.choice-option input[type=radio]{cursor:pointer;accent-color:#667eea;width:20px;height:20px}.choice-option span{color:#333;font-size:1rem}.dark-mode .choice-option{background:#2d2d44;border-color:#3d3d54}.dark-mode .choice-option:hover{background:#3d3d54;border-color:#9f7aea}.dark-mode .choice-option span{color:#fff}.exercise-actions{gap:1rem;margin:2rem 0;display:flex}.submit-button,.solution-button{cursor:pointer;border:none;border-radius:8px;padding:1rem 2rem;font-size:1rem;font-weight:600;transition:all .3s}.submit-button{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);flex:1}.submit-button:hover{transform:translateY(-2px);box-shadow:0 4px 20px #667eea4d}.solution-button{color:#667eea;background:#f5f5f5;border:2px solid #667eea}.solution-button:hover{color:#fff;background:#667eea}.dark-mode .solution-button{color:#9f7aea;background:#2d2d44;border-color:#9f7aea}.dark-mode .solution-button:hover{color:#fff;background:#9f7aea}.solution-section{background:linear-gradient(135deg,#e8f5e9 0%,#c8e6c9 100%);border-left:4px solid #4caf50;border-radius:8px;margin:2rem 0;padding:1.5rem}.dark-mode .solution-section{background:linear-gradient(135deg,#1a2e1a 0%,#2d442d 100%)}.solution-section h5{color:#4caf50;margin:0 0 1rem;font-size:1.3rem}.solution-explanation{color:#333;margin:1rem 0;line-height:1.6}.dark-mode .solution-explanation{color:#ddd}.hints-section{margin:2rem 0}.hints-section h5{color:#667eea;margin:0 0 1rem;font-size:1.3rem}.dark-mode .hints-section h5{color:#9f7aea}.hint-detail{cursor:pointer;background:#f9f9f9;border-radius:8px;margin:.8rem 0;padding:1rem}.dark-mode .hint-detail{background:#2d2d44}.hint-detail summary{color:#667eea;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600}.dark-mode .hint-detail summary{color:#9f7aea}.hint-detail p{color:#666;margin:.8rem 0 0;line-height:1.6}.dark-mode .hint-detail p{color:#aaa}.exercises-placeholder{text-align:center;background:linear-gradient(135deg,#f5f5f5 0%,#e8e8e8 100%);border:2px dashed #ccc;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:3rem 2rem;display:flex}.dark-mode .exercises-placeholder{background:linear-gradient(135deg,#2d2d44 0%,#3d3d54 100%);border-color:#4d4d64}.exercises-placeholder .placeholder-icon{margin-bottom:1rem;font-size:4rem}.exercises-placeholder h4{color:#667eea;margin:1rem 0 .5rem;font-size:1.4rem}.dark-mode .exercises-placeholder h4{color:#9f7aea}.exercises-placeholder p{color:#666;margin:0;font-size:1rem}.dark-mode .exercises-placeholder p{color:#aaa}@media (max-width:1024px){.exercises-content{grid-template-columns:1fr}.exercises-list{order:2}.exercise-detail{order:1}}@media (max-width:768px){.algo-exercise{padding:1.5rem}.exercise-header h3{font-size:1.5rem}.exercise-detail{padding:1.5rem}.exercise-actions{flex-direction:column}.submit-button,.solution-button{width:100%}}
