.exercise-drag-drop .exercise-header{display:flex;align-items:center;gap:1.25rem;padding:1.5rem;background-color:#4f46e5;background:linear-gradient(135deg,var(--primary-accent,#4f46e5),var(--primary-color,#4338ca));border-radius:16px;margin-bottom:1.5rem}.drag-exercise-layout{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}@media (min-width:768px){.drag-exercise-layout{grid-template-columns:1fr 1fr;gap:2.5rem}}.section-label{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.section-label i{width:18px;height:18px;color:var(--primary-accent)}.elements-bank{background:var(--bg-content);border:1px solid var(--border-color);border-radius:14px;padding:1.5rem}.elements-grid{display:flex;flex-direction:column;gap:.75rem}.element-card{background:var(--bg-body);border:2px solid var(--border-color);border-radius:12px;padding:1rem;display:flex;align-items:center;gap:1rem;cursor:pointer;transition:all .2s ease;position:relative}.element-card:hover{border-color:var(--primary-accent);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08)}.element-card.selected{border-color:var(--primary-accent);background:rgba(79,70,229,.05);box-shadow:0 0 0 3px rgba(79,70,229,.15)}.element-card.used{opacity:.5;cursor:not-allowed;pointer-events:none}.element-card.correct{border-color:#10b981;background:rgba(16,185,129,.05)}.element-card.incorrect{border-color:#ef4444;background:rgba(239,68,68,.05);animation:shake .4s}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}.element-icon{width:48px;height:48px;background:var(--primary-light);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.element-icon i{width:24px;height:24px;color:var(--primary-accent)}.element-info{flex:1}.element-name{font-weight:600;font-size:1rem;color:var(--text-primary);margin-bottom:.15rem}.element-type{font-size:.85rem;color:var(--text-muted)}.element-connector{width:12px;height:12px;background:var(--border-color);border-radius:50%;transition:all .2s}.element-card.selected .element-connector{background:var(--primary-accent);box-shadow:0 0 0 4px rgba(79,70,229,.2)}.element-card.correct .element-connector{background:#10b981}.construction-zone{background:var(--bg-content);border:1px solid var(--border-color);border-radius:14px;padding:1.5rem}.construction-slots{display:flex;flex-direction:column;gap:.75rem}.construction-slot{background:var(--bg-body);border:2px dashed var(--border-color);border-radius:12px;padding:1rem;display:flex;align-items:center;gap:1rem;min-height:80px;transition:all .2s ease}.construction-slot.active{border-color:var(--primary-accent);background:rgba(79,70,229,.03)}.construction-slot.filled{border-style:solid;border-color:var(--primary-accent);background:rgba(79,70,229,.05)}.construction-slot.correct{border-color:#10b981;background:rgba(16,185,129,.05)}.construction-slot.incorrect{border-color:#ef4444;background:rgba(239,68,68,.05)}.slot-number{width:36px;height:36px;background:var(--primary-light);color:var(--primary-accent);border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.construction-slot.filled .slot-number{background:var(--primary-accent);color:#fff}.construction-slot.correct .slot-number{background:#10b981;color:#fff}.construction-slot.incorrect .slot-number{background:#ef4444;color:#fff}.slot-placeholder{flex:1;display:flex;align-items:center;gap:.75rem;color:var(--text-muted);font-size:.95rem}.slot-placeholder i{width:20px;height:20px;opacity:.5}.slot-content{flex:1;display:flex;align-items:center;gap:1rem}.slot-content .element-icon{width:44px;height:44px}.slot-content .element-icon i{width:22px;height:22px}.slot-content .element-info{flex:1}.slot-remove-btn{width:32px;height:32px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0}.slot-remove-btn:hover{background:rgba(239,68,68,.2);border-color:#ef4444}.slot-remove-btn i{width:16px;height:16px;color:#ef4444}.exercise-actions{margin-top:2rem}.exercise-feedback{margin-bottom:1rem;padding:1rem;border-radius:10px;display:none;align-items:center;gap:.75rem;font-weight:500}.exercise-feedback.show{display:flex}.exercise-feedback.success{background:linear-gradient(135deg,rgba(16,185,129,.05),rgba(16,185,129,.1));border:1px solid rgba(16,185,129,.3);color:#10b981;padding:1.5rem;border-radius:20px}.exercise-feedback.success.visible{display:flex;justify-content:center}.exercise-feedback.error{background:linear-gradient(135deg,rgba(239,68,68,.08),rgba(239,68,68,.03));border:1px solid rgba(239,68,68,.2);color:var(--text-primary);border-radius:16px;padding:1.25rem}.exercise-error-container{display:flex;flex-direction:column;gap:1rem;width:100%}.exercise-error-header{display:flex;align-items:center;gap:.75rem}.exercise-error-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:rgba(239,68,68,.15);border-radius:12px;color:#ef4444}.exercise-error-icon i{width:22px;height:22px}.exercise-error-text{display:flex;flex-direction:column;gap:.15rem}.exercise-error-text strong{font-size:1rem;color:#ef4444}.exercise-error-text span{font-size:.9rem;color:var(--text-muted)}.exercise-error-info{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.exercise-attempt-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;background:rgba(107,114,128,.1);color:var(--text-secondary);font-size:.85rem;font-weight:500;border-radius:8px}.exercise-attempt-badge i{width:14px;height:14px}.exercise-next-points{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;background:linear-gradient(135deg,rgba(245,158,11,.1),rgba(245,158,11,.05));color:#f59e0b;font-size:.85rem;font-weight:500;border-radius:8px}.exercise-next-points i{width:14px;height:14px}.exercise-next-points strong{color:#d97706}.exercise-validated{position:relative}.exercise-locked-container{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;text-align:center}.exercise-locked-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:600;border-radius:50px;font-size:.9rem;box-shadow:0 4px 12px rgba(16,185,129,.3)}.exercise-locked-badge i{width:16px;height:16px}.exercise-locked-message{font-size:1rem;color:#10b981;font-weight:500;line-height:1.5}.btn-check-exercise.btn-validated{background:linear-gradient(135deg,#10b981,#059669)!important;color:#fff!important;cursor:default!important;box-shadow:0 4px 12px rgba(16,185,129,.3)}.btn-check-exercise{width:100%;padding:1rem 1.5rem;background:var(--border-color);color:var(--text-muted);border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:not-allowed;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-check-exercise i{width:20px;height:20px}.btn-check-exercise:not([disabled]){background:var(--primary-accent);color:#fff;cursor:pointer;box-shadow:0 4px 12px rgba(79,70,229,.3)}.btn-check-exercise:not([disabled]):hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(79,70,229,.4)}@media (max-width:767px){.exercise-drag-drop .exercise-header{flex-direction:row;padding:1.25rem}.construction-zone,.elements-bank{padding:1.25rem}.element-card{padding:.875rem}.element-icon{width:42px;height:42px}.element-icon i{width:20px;height:20px}.construction-slot{padding:.875rem;min-height:72px}}.disconnect-mini-btn{background:#fee2e2;color:#ef4444;border:none;border-radius:50%;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin-left:8px;transition:all .2s;pointer-events:auto;position:relative;z-index:10}.disconnect-mini-btn:hover{background:#ef4444;color:#fff;transform:scale(1.1)}.disconnect-mini-btn i{width:14px;height:14px}.code-challenge-container{display:flex;flex-direction:column;gap:1.5rem}.code-display-block{background:#1e1e1e;border-radius:16px;padding:2rem;font-family:Consolas,Monaco,"Courier New",monospace;color:#d4d4d4;overflow-x:auto;border:none;position:relative;box-shadow:0 10px 30px -5px rgba(0,0,0,.3)}.code-display-block::before{content:"LUA";position:absolute;top:0;right:0;background:rgba(255,255,255,.1);color:rgba(255,255,255,.8);font-size:.75rem;font-weight:600;padding:6px 12px;border-bottom-left-radius:12px}.code-line{display:block;line-height:1.7;white-space:pre;font-size:1rem}.syntax-keyword{color:#569cd6;font-weight:700}.syntax-string{color:#ce9178}.syntax-number{color:#b5cea8}.syntax-comment{color:#6a9955;font-style:italic}.syntax-function{color:#dcdcaa}.code-options-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}.code-option-btn{background:var(--bg-content);border:1px solid transparent;border-radius:16px;padding:1.25rem 1.5rem;text-align:left;cursor:pointer;transition:all .2s ease;font-family:Consolas,Monaco,"Courier New",monospace;font-size:1rem;color:var(--text-primary);display:flex;align-items:center;gap:1.25rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.05)}.code-option-btn:hover{border-color:var(--primary-accent);background:var(--bg-body);transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}.code-option-btn.selected{border-color:var(--primary-accent);background:rgba(79,70,229,.05);box-shadow:0 0 0 2px rgba(79,70,229,.2)}.code-option-btn.correct{border-color:#10b981!important;background:rgba(16,185,129,.1)!important}.code-option-btn.incorrect{border-color:#ef4444!important;background:rgba(239,68,68,.1)!important;opacity:.7}.option-marker{width:24px;height:24px;border-radius:50%;border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-family:var(--font-main);font-size:.8rem;font-weight:600;color:var(--text-muted);flex-shrink:0}.code-option-btn.selected .option-marker{border-color:var(--primary-accent);background:var(--primary-accent);color:#fff}.code-option-btn.correct .option-marker{border-color:#10b981;background:#10b981;color:#fff}.code-option-btn.incorrect .option-marker{border-color:#ef4444;background:#ef4444;color:#fff}.btn-check-exercise{width:100%;padding:1rem 1.5rem;background:var(--border-color);color:var(--text-muted);border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:not-allowed;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-check-exercise:not([disabled]){background:var(--primary-accent);color:#fff;cursor:pointer;box-shadow:0 4px 12px rgba(99,102,241,.3)}.btn-check-exercise:not([disabled]):hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(99,102,241,.4)}.exercise-feedback{padding:0 1.5rem 1.5rem}.exercise-feedback:empty{display:none}