.dashboard-header-card{background:var(--card-white);border:1px solid var(--border-light);border-radius:18px;padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;box-shadow:0 4px 15px rgba(0,0,0,0.03)}.user-info{display:flex;align-items:center;gap:12px}.mini-logo{width:42px;height:42px;object-fit:contain}.user-greeting{font-size:0.75rem;color:var(--text-muted);font-weight:600;text-transform:uppercase}.user-name-text{font-size:1.05rem;font-weight:700;color:var(--text-dark)}.section-heading{margin-bottom:1.25rem}.section-heading h2{font-size:1.25rem;font-weight:800;color:var(--text-dark)}.section-heading p{font-size:0.85rem;color:var(--text-muted)}.btn-outline{padding:0.6rem 1.2rem;background:#ffffff;border:1px solid var(--border-light);color:var(--text-dark);border-radius:10px;cursor:pointer;font-weight:600;font-size:0.85rem;display:inline-flex;align-items:center;gap:6px;transition:all 0.2s}.btn-outline:hover{background:#f8fafc;border-color:#cbd5e1}.btn-outline-danger{padding:0.5rem 1rem;background:#ffffff;border:1px solid #fecaca;color:var(--danger-red);border-radius:8px;cursor:pointer;font-weight:600;font-size:0.8rem;transition:all 0.2s}.btn-outline-danger:hover{background:#fef2f2}.grid-categories{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem}.category-card{background:var(--card-white);border:1px solid var(--border-light);border-radius:16px;padding:1.25rem;cursor:pointer;transition:all 0.25s ease;display:flex;flex-direction:column;justify-content:space-between;min-height:120px;box-shadow:0 4px 12px rgba(0,0,0,0.02)}.category-card:hover{transform:translateY(-3px);border-color:var(--primary-blue);box-shadow:0 8px 24px rgba(2,132,199,0.12)}.category-group-card{border:2px solid rgba(2,132,199,0.16);background:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%);padding:1.5rem;min-height:155px;position:relative}.category-group-card:hover{border-color:var(--primary-blue);transform:translateY(-4px);box-shadow:0 12px 28px rgba(2,132,199,0.14)}.category-drill-card{grid-column:1 / -1;background:linear-gradient(135deg,#ffffff 0%,#f5f3ff 45%,#eff6ff 100%);border:2px solid rgba(139,92,246,0.35);box-shadow:0 8px 24px rgba(124,58,237,0.08);padding:1.4rem 1.5rem;position:relative;overflow:hidden}.category-drill-card::before{content:'';position:absolute;top:0;left:0;width:5px;height:100%;background:linear-gradient(180deg,#f59e0b 0%,#8b5cf6 100%)}.category-drill-card:hover{border-color:#8b5cf6;transform:translateY(-3px);box-shadow:0 12px 30px rgba(124,58,237,0.15)}.drill-icon-neon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#f59e0b 0%,#ef4444 100%);color:#ffffff;font-size:1.25rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(245,158,11,0.35)}.drill-tag-badge{font-size:0.75rem;font-weight:800;color:#7c3aed;background:#ede9fe;border:1px solid #ddd6fe;padding:4px 11px;border-radius:20px;display:inline-flex;align-items:center;gap:5px;letter-spacing:0.3px}.drill-card-title{font-size:1.18rem;font-weight:900;color:#1e1b4b;margin-top:0.45rem;letter-spacing:-0.2px}.drill-card-desc{font-size:0.85rem;color:#475569;margin-top:0.4rem;margin-bottom:0.75rem;line-height:1.5}.drill-card-desc strong{color:#7c3aed}.drill-status-badge{background:#f5f3ff !important;color:#6d28d9 !important;border:1px solid #ddd6fe !important;font-weight:800 !important}.drill-badge-item{background:#fef3c7 !important;color:#b45309 !important;border-color:#fde68a !important;font-weight:700 !important}.drill-badge-time{background:#e0f2fe !important;color:#0284c7 !important;border-color:#bae6fd !important;font-weight:700 !important}.drill-btn-repeat{background:#7c3aed !important;color:#ffffff !important;border:none !important;font-weight:700 !important;border-radius:8px !important;box-shadow:0 3px 10px rgba(124,58,237,0.25) !important;transition:all 0.2s ease !important}.drill-btn-repeat:hover{background:#6d28d9 !important;transform:translateY(-1px);box-shadow:0 5px 14px rgba(124,58,237,0.35) !important}.drill-action-callout{font-size:0.88rem;color:#7c3aed;font-weight:800;display:flex;align-items:center;gap:6px;margin-top:14px;transition:gap 0.2s ease}.category-drill-card:hover .drill-action-callout{color:#6d28d9;gap:10px}.badge-asal-paket{display:inline-flex;align-items:center;gap:5px;font-size:0.72rem;font-weight:700;background:#f5f3ff;color:#6d28d9;border:1px solid #ddd6fe;padding:3px 9px;border-radius:8px;margin-left:6px}.group-icon{width:48px;height:48px;font-size:1.35rem}.group-icon.badge-wajib{background:#e0f2fe;color:var(--primary-blue)}.group-icon.badge-pilihan{background:#e0f2fe;color:var(--primary-blue)}.group-count-badge{font-size:0.75rem;font-weight:700;color:var(--text-muted);background:#f1f5f9;border:1px solid var(--border-light);padding:4px 10px;border-radius:20px;display:inline-flex;align-items:center;gap:6px}.group-progress-badge{font-size:0.75rem;font-weight:700;color:var(--emerald-green);background:#f0fdf4;border:1px solid #bbf7d0;padding:4px 10px;border-radius:20px;display:inline-flex;align-items:center;gap:6px}.category-icon{width:40px;height:40px;background:#e0f2fe;color:var(--primary-blue);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:0.75rem}.category-title{font-size:1rem;font-weight:700;color:var(--text-dark)}.category-status-badge{display:inline-flex;align-items:center;gap:4px;font-size:0.75rem;font-weight:700;color:var(--emerald-green);background:#f0fdf4;padding:2px 8px;border-radius:6px;margin-top:6px}.quiz-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:8px}.badge-category{background:#e0f2fe;color:var(--primary-blue);font-size:0.8rem;font-weight:700;padding:0.4rem 0.8rem;border-radius:20px}.badge-mode{background:#fef3c7;color:#d97706;font-size:0.75rem;font-weight:800;padding:0.35rem 0.75rem;border-radius:20px;letter-spacing:0.5px}.badge-timer{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:0.85rem;padding:0.4rem 0.9rem;border-radius:20px;transition:all 0.3s ease}.badge-timer.timer-safe{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}.badge-timer.timer-warning{background:#fef3c7;color:#b45309;border:1px solid #fde68a}.badge-timer.timer-danger{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca;animation:pulseTimer 1s infinite}@keyframes pulseTimer{0%{transform:scale(1)}50%{transform:scale(1.05)}100%{transform:scale(1)}}.quiz-blurred{filter:blur(14px) !important;pointer-events:none !important;user-select:none !important;-webkit-user-select:none !important;transition:filter 0.25s ease}.number-palette-container{background:var(--card-white);border:1px solid var(--border-light);border-radius:16px;padding:0.85rem 1.2rem;margin-bottom:1rem;box-shadow:0 4px 12px rgba(0,0,0,0.02)}.palette-header{display:flex;justify-content:space-between;align-items:center;font-size:0.8rem;font-weight:700;color:var(--text-muted);margin-bottom:0.6rem}.number-palette-grid{display:flex;flex-wrap:wrap;gap:8px}.num-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--border-light);background:#f8fafc;color:var(--text-dark);font-size:0.85rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:all 0.2s ease}.num-btn.answered{background:var(--primary-blue);color:#ffffff;border-color:var(--primary-blue)}.num-btn.doubtful{background:#f59e0b !important;color:#ffffff !important;border-color:#d97706 !important;box-shadow:0 2px 6px rgba(245,158,11,0.35)}.num-btn.active{box-shadow:0 0 0 3px rgba(16,185,129,0.35)}.num-btn.doubtful.active{box-shadow:0 0 0 3px rgba(245,158,11,0.45)}.quiz-main-card{background:var(--card-white);border:1px solid var(--border-light);border-radius:20px;padding:1.75rem;box-shadow:0 8px 30px rgba(0,0,0,0.04);position:relative}.scratchpad-fab{position:absolute;top:1.25rem;right:1.25rem;z-index:40;background:#ffffff;border:1.5px solid var(--primary-blue);color:var(--primary-blue);padding:0.45rem 0.9rem;border-radius:20px;cursor:pointer;font-weight:700;font-size:0.8rem;display:inline-flex;align-items:center;gap:6px;box-shadow:0 4px 14px rgba(2,132,199,0.15);transition:all 0.2s cubic-bezier(0.4,0,0.2,1)}.scratchpad-fab:hover{background:var(--primary-blue);color:#ffffff;transform:translateY(-2px);box-shadow:0 6px 18px rgba(2,132,199,0.28)}.scratchpad-fab.active{background:var(--primary-blue);color:#ffffff;box-shadow:0 0 0 3px rgba(2,132,199,0.25)}.loading-spinner{text-align:center;padding:3rem 1rem;color:var(--primary-blue)}.empty-state-box{text-align:center;padding:3rem 1.5rem;background:#ffffff;border:1px dashed var(--border-light);border-radius:16px}.empty-state-icon{width:64px;height:64px;background:#e0f2fe;color:var(--primary-blue);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin:0 auto 1.25rem}.empty-state-box h3{font-size:1.25rem;font-weight:800;color:var(--text-dark);margin-bottom:0.5rem}.empty-state-box p{font-size:0.9rem;color:var(--text-muted);margin-bottom:1.5rem;max-width:420px;margin-left:auto;margin-right:auto;line-height:1.5}.tipe-badge{display:inline-flex;align-items:center;gap:6px;font-size:0.75rem;font-weight:700;padding:0.3rem 0.7rem;border-radius:8px;text-transform:uppercase}.tipe-badge.pg{background:#e0f2fe;color:var(--primary-blue)}.tipe-badge.pg-kompleks{background:#fef3c7;color:#b45309}.tipe-badge.benar-salah{background:#f3e8ff;color:#6b21a8}.passage-resizer-bar{display:flex;align-items:center;justify-content:space-between;background:#f1f5f9;border:1px solid var(--border-light);border-radius:10px;padding:0.45rem 0.85rem;margin-bottom:0.85rem}.resizer-label{font-size:0.78rem;font-weight:700;color:var(--text-muted);display:inline-flex;align-items:center;gap:6px}.resizer-buttons{display:flex;align-items:center;gap:4px}.btn-resizer{min-width:32px;height:28px;padding:0 6px;border:1px solid var(--border-light);background:#ffffff;color:var(--text-dark);border-radius:6px;font-size:0.8rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all 0.15s ease}.btn-resizer:hover{background:#e0f2fe;color:var(--primary-blue);border-color:#bae6fd}.btn-resizer.active{background:var(--primary-blue);color:#ffffff;border-color:var(--primary-blue)}.passage-box{background:#f8fafc;border-left:4px solid var(--primary-blue);border-radius:12px;padding:1.2rem;margin-bottom:1.25rem;font-size:0.95rem;line-height:1.6;color:#334155;max-height:380px;overflow-y:auto;transition:font-size 0.2s ease}.passage-box.font-sm .passage-text{font-size:0.84rem !important;line-height:1.55}.passage-box.font-md .passage-text{font-size:0.95rem !important;line-height:1.6}.passage-box.font-lg .passage-text{font-size:1.12rem !important;line-height:1.7}.passage-title{font-size:0.75rem;font-weight:800;color:var(--primary-blue);text-transform:uppercase;margin-bottom:0.75rem;display:flex;align-items:center;gap:6px}.passage-text{white-space:pre-wrap;tab-size:4;-moz-tab-size:4;text-align:justify;text-justify:inter-word;word-break:break-word}.question-box{font-size:1.05rem;font-weight:500;color:var(--text-dark);line-height:1.55;margin-bottom:1.5rem;white-space:pre-wrap;tab-size:4;-moz-tab-size:4;text-align:justify;text-justify:inter-word;word-break:break-word}.passage-text strong,.passage-text b,.question-box strong,.question-box b,.option-btn strong,.option-btn b,.bs-table td strong,.bs-table td b,.feedback-text strong,.feedback-text b{font-weight:800}.passage-text em,.passage-text i,.question-box em,.question-box i,.option-btn em,.option-btn i,.bs-table td em,.bs-table td i,.feedback-text em,.feedback-text i{font-style:italic}.question-img,.option-img{max-width:100%;height:auto;border-radius:12px;margin-top:0.5rem;border:1px solid var(--border-light)}.options-container{display:flex;flex-direction:column;gap:0.75rem;margin-bottom:1.5rem}.option-btn{background:#ffffff;border:1px solid var(--border-light);border-radius:12px;padding:0.9rem 1.1rem;text-align:left;font-size:0.95rem;color:var(--text-dark);cursor:pointer;transition:all 0.2s ease;display:flex;align-items:flex-start;gap:12px;width:100%;white-space:pre-line;word-break:break-word;line-height:1.5}.option-btn:hover:not(:disabled){background:#f0f9ff;border-color:var(--primary-blue)}.option-btn.selected{border-color:var(--primary-blue);background:#f0f9ff;box-shadow:0 0 0 2px rgba(2,132,199,0.2)}.option-key{width:28px;height:28px;border-radius:8px;background:#f1f5f9;color:var(--text-muted);font-weight:700;font-size:0.85rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.option-btn.selected .option-key{background:var(--primary-blue);color:#ffffff}.table-responsive{width:100%;overflow-x:auto;margin-bottom:1rem}.bs-table{width:100%;border-collapse:collapse;font-size:0.9rem}.bs-table th,.bs-table td{border:1px solid var(--border-light);padding:0.75rem 1rem;text-align:left}.bs-table th{background:#f8fafc;font-weight:700;color:var(--text-muted)}.bs-table .col-radio{text-align:center;width:80px}.bs-radio{width:18px;height:18px;accent-color:var(--primary-blue);cursor:pointer}.quiz-action-bar{display:flex;justify-content:space-between;align-items:center;gap:0.65rem;flex-wrap:nowrap}.quiz-action-bar #btn-prev-soal{order:1;flex:1 1 auto;width:auto;justify-content:center}.quiz-action-bar #btn-toggle-pembahasan{order:2;flex:1 1 auto;width:auto;justify-content:center}.quiz-action-bar #btn-ragu-soal{order:3;flex:1 1 auto;width:auto;justify-content:center}.quiz-action-bar #btn-next-soal,.quiz-action-bar #btn-finish-quiz{order:4;flex:1 1 auto;width:auto;justify-content:center}.btn-ragu{padding:0.75rem 1.15rem;background:#fffbeb;border:1.5px solid #fcd34d;color:#b45309;border-radius:12px;cursor:pointer;font-weight:700;font-size:0.9rem;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all 0.2s ease;user-select:none}.btn-ragu:hover{background:#fef3c7;border-color:#f59e0b;color:#92400e;transform:translateY(-1px)}.btn-ragu.active{background:#f59e0b;border-color:#d97706;color:#ffffff;box-shadow:0 4px 12px rgba(245,158,11,0.35)}.btn-ragu.active i{color:#ffffff}.feedback-box{display:none;border-radius:12px;padding:1.2rem;margin-bottom:1.5rem;font-size:0.9rem;line-height:1.5}.feedback-box.correct{display:block;background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.feedback-box.incorrect{display:block;background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.feedback-title{font-weight:800;font-size:1rem;margin-bottom:0.5rem;display:flex;align-items:center;gap:8px}.feedback-text{white-space:pre-line;word-break:break-word;margin-top:6px;line-height:1.6}.btn-dispute{margin-top:1rem;background:#ffffff;border:1px solid #cbd5e1;color:var(--text-dark);padding:0.5rem 0.9rem;border-radius:8px;font-size:0.8rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all 0.2s}.btn-dispute:hover{background:#f8fafc;border-color:var(--danger-red);color:var(--danger-red)}.result-score-card{background:var(--card-white);border:1px solid var(--border-light);border-radius:24px;padding:2.5rem 2rem;text-align:center;box-shadow:0 12px 40px rgba(0,0,0,0.05)}.result-icon-badge{width:72px;height:72px;background:#e0f2fe;color:var(--primary-blue);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 1.25rem}.score-circle{width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,#f0fdf4 0%,#dcfce7 100%);border:4px solid var(--emerald-green);display:flex;flex-direction:column;align-items:center;justify-content:center;margin:1.5rem auto}.score-value{font-size:2.25rem;font-weight:800;color:#15803d}.score-label{font-size:0.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem}.stat-box{padding:1rem;border-radius:12px;background:#f8fafc;border:1px solid var(--border-light)}.stat-num{font-size:1.5rem;font-weight:800}.stat-label{font-size:0.8rem;color:var(--text-muted);font-weight:600}.text-success{color:#16a34a}.text-danger{color:#ef4444}.scratchpad-overlay{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:20px;background:rgba(255,255,255,0.98);z-index:50;display:flex;flex-direction:column;overflow:hidden;box-shadow:inset 0 0 0 2px rgba(2,132,199,0.25);animation:fadeInScratchpad 0.2s ease-out}@keyframes fadeInScratchpad{from{opacity:0;transform:scale(0.99)}to{opacity:1;transform:scale(1)}}.scratchpad-overlay.see-through{background:rgba(255,255,255,0.52) !important;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}.scratchpad-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0.6rem 0.85rem;background:#ffffff;border-bottom:1px solid var(--border-light);z-index:10;flex-wrap:wrap;box-shadow:0 2px 8px rgba(0,0,0,0.04)}.sp-tool-group{display:flex;align-items:center;gap:5px}.sp-tool-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border-light);background:#f8fafc;color:var(--text-dark);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:0.85rem;transition:all 0.2s ease}.sp-tool-btn:hover{background:#f1f5f9}.sp-tool-btn.active{background:var(--primary-blue);color:#ffffff;border-color:var(--primary-blue);box-shadow:0 2px 6px rgba(2,132,199,0.25)}.sp-color-btn{width:22px;height:22px;border-radius:50%;border:2px solid #ffffff;box-shadow:0 0 0 1px #cbd5e1;cursor:pointer;transition:transform 0.15s ease,box-shadow 0.15s ease;outline:none}.sp-color-btn:hover{transform:scale(1.12)}.sp-color-btn.active{transform:scale(1.2);box-shadow:0 0 0 2.5px var(--primary-blue)}.sp-size-btn{width:26px;height:26px;border-radius:6px;border:1px solid var(--border-light);background:#f8fafc;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all 0.15s ease}.sp-size-btn.active{border-color:var(--primary-blue);background:#e0f2fe}.sp-dot-indicator{border-radius:50%;background:#334155}.dot-sm{width:3px;height:3px}.dot-md{width:6px;height:6px}.dot-lg{width:9px;height:9px}.sp-action-btn{height:30px;padding:0 8px;border-radius:8px;border:1px solid var(--border-light);background:#f8fafc;color:var(--text-dark);cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-size:0.78rem;font-weight:600;transition:all 0.2s ease}.sp-action-btn:hover:not(:disabled){background:#f1f5f9}.sp-opacity-btn{color:var(--primary-blue);border-color:#bae6fd;background:#f0f9ff}.sp-close-btn{background:#fee2e2;color:var(--danger-red);border-color:#fecaca;font-weight:700}.sp-close-btn:hover{background:#fecaca}.scratchpad-canvas{flex:1;width:100%;height:100%;touch-action:none;cursor:crosshair;display:block}
