:root{--primary: #4361ee;--primary-dark: #3451d1;--primary-light: #e8edff;--secondary: #7209b7;--teal: #2a9d8f;--success: #06d6a0;--danger: #ef233c;--warning: #f4a261;--bg: #f0f4ff;--card: #ffffff;--text: #2b2d42;--text-light: #6c757d;--border: #dee2e6;--shadow: 0 2px 14px rgba(67,97,238,.1);--shadow-lg: 0 8px 30px rgba(67,97,238,.15);--radius: 12px;--radius-sm: 8px;--sidebar-bg: #ccd5f8;--sidebar-brand: #4361ee;--sidebar-active-bg: #e8edff;--sidebar-active-text: #4361ee;--sidebar-nav-text: #2b2d42;--sidebar-nav-hover: #e8edff;--sidebar-meta-text: #6c757d;--sidebar-name-text: #2b2d42;--sidebar-divider: #dee2e6;--navbar-bg: #4361ee;--bg-secondary: #f8f9fa;--input-bg: #ffffff}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Nunito,Segoe UI,system-ui,sans-serif;background:#0d0f1a;color:var(--text);min-height:100vh;font-size:15px}.app{width:80%;margin:0 auto;min-height:100vh;background:var(--bg);position:relative;box-shadow:0 0 80px #0000008c,0 0 0 1px #ffffff0a;transition:background .3s}@media (max-width: 1024px){.app{width:95%}}.navbar{background:var(--navbar-bg, var(--primary));color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px;height:58px;position:sticky;top:0;z-index:200;box-shadow:0 2px 12px #0000002e}.navbar-brand{font-size:1.3rem;font-weight:800;cursor:pointer;letter-spacing:-.5px}.navbar-brand span{color:#a5d8ff}.navbar-subtitle{font-size:.78rem;opacity:.8}.page{min-height:calc(100vh - 58px)}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:var(--radius-sm);font-size:.875rem;font-weight:700;cursor:pointer;border:none;transition:all .18s;font-family:inherit;text-decoration:none}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #4361ee59}.btn-outline{background:#fff;color:var(--primary);border:2px solid var(--primary)}.btn-outline:hover:not(:disabled){background:var(--primary-light)}.btn-ghost{background:transparent;color:var(--text-light)}.btn-ghost:hover{color:var(--text);background:#f0f0f0}.btn-sm{padding:6px 13px;font-size:.8rem}.btn-lg{padding:13px 28px;font-size:1rem}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:.83rem;font-weight:700;color:var(--text);margin-bottom:5px}.form-control{width:100%;padding:8px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.875rem;font-family:inherit;outline:none;transition:border-color .18s,box-shadow .18s;background:var(--input-bg, #fff);color:var(--text)}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4361ee1f}.form-control[rows]{resize:vertical}.help-text{font-size:.78rem;color:var(--text-light);margin-top:5px}.help-text.warn{color:#c77700}.help-text code{background:#f0f0f0;padding:1px 5px;border-radius:4px;font-size:.8em}.hint-text{font-size:.75rem;font-weight:400;color:var(--text-light);margin-left:6px}.icon-remove{width:28px;height:28px;border:none;background:#fff0f0;color:var(--danger);border-radius:6px;font-size:1.1rem;font-weight:700;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .15s}.icon-remove:hover{background:#ffd6d6}.radio-row{display:flex;gap:18px;align-items:center}.radio-label{display:flex;align-items:center;gap:6px;font-size:.875rem;cursor:pointer}.home-page{max-width:1100px;margin:0 auto;padding:36px 24px}.home-hero{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;background:linear-gradient(135deg,var(--primary),var(--secondary));border-radius:18px;padding:40px 44px;margin-bottom:44px;color:#fff}.hero-content h1{font-size:2rem;font-weight:800;margin-bottom:10px}.hero-content h1 span{color:#a5d8ff}.hero-content p{opacity:.88;margin-bottom:22px;font-size:1.05rem}.hero-types{display:flex;flex-direction:column;gap:8px}.type-chip{display:flex;align-items:center;gap:8px;background:#ffffff2e;border-radius:20px;padding:6px 14px;font-size:.85rem;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-header h2{font-size:1.2rem;font-weight:800}.search-input{padding:8px 14px;border:1.5px solid var(--border);border-radius:20px;font-size:.875rem;outline:none;width:220px;font-family:inherit}.search-input:focus{border-color:var(--primary)}.worksheets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}.worksheet-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s;border:2px solid transparent;display:flex;flex-direction:column;gap:8px}.worksheet-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--primary)}.card-header{display:flex;justify-content:space-between;align-items:center}.card-badge{background:var(--primary-light);color:var(--primary);font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:20px}.card-actions{display:flex;gap:4px}.icon-btn{border:none;background:transparent;cursor:pointer;font-size:1rem;padding:3px 5px;border-radius:6px;transition:background .15s}.icon-btn.edit:hover{background:#e8edff}.icon-btn.delete:hover{background:#ffd6d6}.card-title{font-size:1rem;font-weight:800;color:var(--text)}.card-subject{font-size:.8rem;color:var(--text-light);font-weight:600}.card-desc{font-size:.8rem;color:var(--text-light);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.card-types{font-size:.8rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.type-summary-item{display:inline-flex;align-items:center;gap:3px}.svg-icon{display:inline-block;vertical-align:middle;flex-shrink:0}.card-count{font-size:.75rem;font-weight:700;color:var(--primary);background:var(--primary-light);padding:2px 8px;border-radius:12px}.card-date{font-size:.72rem;color:var(--text-light);margin-top:2px}.empty-state{text-align:center;padding:80px 24px}.empty-icon{font-size:4rem;margin-bottom:16px}.empty-state h3{font-size:1.2rem;margin-bottom:8px}.empty-msg{color:var(--text-light);font-size:.9rem}.builder-page{height:calc(100vh - 58px);overflow:hidden}.builder-layout{display:flex;height:100%}.builder-sidebar{width:290px;flex-shrink:0;background:var(--card);border-right:1.5px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;padding:20px;gap:0}.sidebar-section{margin-bottom:24px}.sidebar-section h3{font-size:.85rem;font-weight:800;color:var(--text-light);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.add-buttons{display:flex;flex-direction:column;gap:7px}.add-type-btn{display:flex;align-items:center;gap:10px;padding:10px 14px;border:2px solid transparent;border-radius:var(--radius-sm);background:var(--bg-secondary);cursor:pointer;font-size:.85rem;font-weight:700;color:var(--text);transition:all .17s;font-family:inherit}.add-type-btn:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary);transform:translate(2px)}.add-icon{font-size:1.1rem}.sidebar-actions{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1.5px solid var(--border)}.builder-main{flex:1;overflow-y:auto;padding:28px 32px}.builder-header{display:flex;align-items:center;gap:14px;margin-bottom:24px}.builder-header h2{font-size:1.3rem;font-weight:800;flex:1}.question-count{background:var(--primary);color:#fff;font-size:.78rem;font-weight:700;padding:4px 12px;border-radius:20px}.builder-empty{text-align:center;padding:80px 24px;color:var(--text-light)}.builder-empty .empty-icon{font-size:3rem;display:block;margin-bottom:12px}.questions-list{display:flex;flex-direction:column;gap:12px}.question-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:2px solid transparent;overflow:hidden;transition:border-color .18s}.question-card.open{border-color:var(--qcolor, var(--primary))}.question-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;cursor:pointer;-webkit-user-select:none;user-select:none;gap:12px}.question-header:hover{background:var(--bg-secondary)}.question-meta{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.q-number{font-size:.78rem;font-weight:800;color:var(--text-light);white-space:nowrap}.q-type-badge{font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:20px;white-space:nowrap}.q-preview{font-size:.84rem;color:var(--text-light);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1}.question-controls{display:flex;align-items:center;gap:4px}.ctrl-btn{width:30px;height:30px;border:1.5px solid var(--border);background:#fff;border-radius:6px;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;transition:all .15s;color:var(--text)}.ctrl-btn:hover:not(:disabled){background:#f0f4ff;border-color:var(--primary)}.ctrl-btn:disabled{opacity:.3;cursor:not-allowed}.ctrl-btn.danger:hover{background:#fff0f0;border-color:var(--danger);color:var(--danger)}.toggle-arrow{font-size:.75rem;color:var(--text-light);margin-left:4px}.question-body{padding:0 18px 18px;border-top:1.5px solid var(--border)}.editor{padding-top:14px}.option-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.option-radio{width:32px;height:32px;border-radius:50%;border:2px solid var(--border);background:#fff;font-size:.85rem;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;font-family:inherit}.option-radio:hover{border-color:var(--primary)}.option-radio.correct{background:var(--success);border-color:var(--success);color:#fff}.pair-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.pair-num,.word-num,.entry-num{font-size:.78rem;font-weight:700;color:var(--text-light);min-width:22px}.pair-arrow{font-size:1rem;color:var(--text-light)}.word-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.blanks-preview{margin-top:8px;font-size:.78rem;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.blank-tag{background:var(--primary);color:#fff;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600}.editor-note{font-size:.78rem;color:var(--primary);background:var(--primary-light);padding:8px 12px;border-radius:6px;margin-top:8px}.crossword-entry-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.crossword-entry-row .form-control:first-of-type{max-width:110px;font-weight:700;font-size:.85rem}.video-preview{display:flex;align-items:center;gap:10px;margin-top:8px}.video-preview img{width:80px;height:55px;object-fit:cover;border-radius:6px}.video-preview span{font-size:.78rem;color:var(--success);font-weight:600}.player-page{background:var(--bg)}.preview-banner{background:linear-gradient(90deg,#1e1b4b,#4361ee);color:#fff;padding:11px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:100;box-shadow:0 2px 10px #4361ee4d}.preview-banner-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.preview-badge{background:#ffffff38;padding:3px 12px;border-radius:20px;font-size:.78rem;font-weight:800;letter-spacing:.04em;white-space:nowrap}.preview-desc{font-size:.82rem;opacity:.85}.preview-back-btn{border:1.5px solid rgba(255,255,255,.5);background:#ffffff26;color:#fff;font-weight:700;cursor:pointer;font-size:.82rem;padding:6px 16px;border-radius:20px;white-space:nowrap;transition:background .15s;font-family:inherit}.preview-back-btn:hover{background:#ffffff47}.player-container{max-width:780px;margin:0 auto;padding:32px 24px 60px}.player-header{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border-radius:var(--radius);padding:28px 32px;margin-bottom:24px}.player-meta{display:flex;gap:10px;margin-bottom:10px}.player-subject,.player-grade{font-size:.75rem;font-weight:700;background:#ffffff38;padding:3px 12px;border-radius:20px}.player-title{font-size:1.5rem;font-weight:800;margin-bottom:8px}.player-desc{opacity:.88;font-size:.9rem}.student-name-box{background:var(--card);border-radius:var(--radius);padding:18px 22px;margin-bottom:20px;box-shadow:var(--shadow);display:flex;align-items:center;gap:14px}.student-name-box label{font-weight:700;white-space:nowrap}.name-input{max-width:320px}.score-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:40px 32px;text-align:center;margin-bottom:28px}.score-emoji{font-size:3.5rem;margin-bottom:8px}.score-name{font-size:1.1rem;font-weight:700;margin-bottom:8px}.score-number{font-size:4rem;font-weight:800;line-height:1}.score-label{font-size:.9rem;color:var(--text-light);margin:4px 0 10px}.score-msg{font-size:1.1rem;font-weight:700;margin-bottom:12px}.score-detail{color:var(--text-light);font-size:.85rem;margin-bottom:24px}.score-actions{display:flex;gap:10px;justify-content:center}.questions-player{display:flex;flex-direction:column;gap:20px}.player-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.player-card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--bg-secondary);border-bottom:1.5px solid var(--border)}.pq-number{font-size:.78rem;font-weight:800;color:var(--text-light)}.pq-type{font-size:.72rem;font-weight:700;color:var(--primary);background:var(--primary-light);padding:2px 10px;border-radius:12px}.player-card-body{padding:20px}.answer-feedback{padding:10px 20px;font-size:.85rem;font-weight:700;border-top:1.5px solid var(--border)}.answer-feedback.correct{background:#d4edda;color:#155724}.answer-feedback.incorrect{background:#f8d7da;color:#721c24}.player-submit{text-align:center;margin-top:32px}.player-back{text-align:center;margin-top:12px}.instruction{font-weight:700;margin-bottom:14px;color:var(--text);font-size:.95rem}.mc-question{font-size:1rem;font-weight:700;margin-bottom:16px;line-height:1.5}.mc-options{display:flex;flex-direction:column;gap:9px}.mc-option{display:flex;align-items:center;gap:13px;padding:12px 16px;border:2px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .17s,background .17s,box-shadow .17s;-webkit-user-select:none;user-select:none;background:var(--card)}.mc-option:hover:not(.correct):not(.wrong){border-color:var(--primary);background:var(--primary-light)}.mc-option.selected{border-color:var(--primary);background:#eef1ff;box-shadow:0 0 0 3px #4361ee1a}.mc-option.correct{border-color:var(--success);background:#d4f5ec}.mc-option.wrong{border-color:var(--danger);background:#fde8ea}.mc-radio{width:22px;height:22px;border:2.5px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .17s,background .17s;background:#fff;color:#fff}.mc-option:hover:not(.correct):not(.wrong) .mc-radio{border-color:var(--primary)}.mc-option.selected .mc-radio{border-color:var(--primary);background:var(--primary)}.mc-option.correct .mc-radio{border-color:var(--success);background:var(--success)}.mc-option.wrong .mc-radio{border-color:var(--danger);background:var(--danger)}.mc-radio-dot{width:9px;height:9px;border-radius:50%;background:#fff;flex-shrink:0}.mc-text{flex:1;font-size:.9rem}.video-instruction{font-weight:700;margin-bottom:14px}.video-wrap{position:relative;padding-bottom:56.25%;height:0;border-radius:var(--radius-sm);overflow:hidden;background:#000}.video-wrap iframe,.video-wrap video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:none}.video-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:180px;background:#f0f0f0;border-radius:var(--radius-sm);color:var(--text-light)}.video-placeholder span{font-size:2.5rem}.matching-hint{font-size:.8rem;color:var(--primary);background:var(--primary-light);padding:7px 12px;border-radius:6px;margin-bottom:16px}.matching-container{position:relative}.matching-cols{display:flex;gap:0;align-items:flex-start}.matching-col{flex:1;display:flex;flex-direction:column;gap:10px;padding:8px}.matching-spacer{width:80px;flex-shrink:0}.matching-item{display:flex;align-items:center;padding:10px 14px;background:var(--card);border:2px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all .18s;-webkit-user-select:none;user-select:none;min-height:44px;gap:8px}.matching-item:hover{border-color:var(--primary);background:var(--primary-light)}.matching-item.selected{border-color:var(--primary);background:#dde5ff;box-shadow:0 0 0 3px #4361ee2e}.matching-item.connected{border-color:var(--success)}.left-item{justify-content:space-between}.right-item{flex-direction:row}.dot{width:13px;height:13px;border-radius:50%;background:var(--border);flex-shrink:0;border:2px solid #aaa;transition:background .18s}.item-text{font-size:.88rem;font-weight:600}.matching-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5;overflow:visible}.matching-note{font-size:.75rem;color:var(--text-light);font-style:italic;margin-top:8px}.dd-text{font-size:1rem;line-height:2.2;background:var(--bg-secondary);border-radius:8px;padding:16px;margin-bottom:16px}.blank-slot{display:inline-flex;align-items:center;justify-content:center;min-width:90px;min-height:34px;border-bottom:2.5px solid var(--primary);margin:0 4px;vertical-align:middle;border-radius:4px 4px 0 0;transition:all .15s}.blank-slot.drag-over{background:var(--primary-light);border-bottom-width:3px}.blank-slot.correct{border-bottom-color:var(--success)}.blank-slot.incorrect{border-bottom-color:var(--danger)}.blank-placeholder{display:inline-block;width:60px;height:4px}.word-chip{display:inline-flex;align-items:center;padding:6px 14px;background:var(--primary);color:#fff;border-radius:20px;cursor:grab;font-size:.88rem;font-weight:700;-webkit-user-select:none;user-select:none;transition:all .17s}.word-chip:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 10px #4361ee4d}.word-chip:active{cursor:grabbing;transform:translateY(0)}.word-chip.arranged{background:var(--secondary)}.word-chip.correct{background:var(--success);cursor:default}.word-chip.correct:hover{transform:none;box-shadow:none}.word-chip.incorrect{background:var(--danger);cursor:default}.word-chip.incorrect:hover{transform:none;box-shadow:none}.word-bank{background:var(--bg-secondary);border:2px dashed var(--border);border-radius:var(--radius-sm);padding:14px;margin-top:16px;min-height:60px;transition:border-color .15s,background .15s}.word-bank.drag-over{border-color:var(--primary);background:var(--primary-light)}.bank-label{font-size:.78rem;font-weight:700;color:var(--text-light);margin-bottom:10px}.bank-words{display:flex;flex-wrap:wrap;gap:8px}.bank-empty{font-size:.82rem;color:var(--text-light);font-style:italic}.image-bank{gap:12px}.mode-toggle{display:flex;gap:8px;margin-top:4px}.mode-btn{flex:1;padding:8px 14px;border:2px solid var(--border);border-radius:var(--radius-sm);background:#fff;color:var(--text-light);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.mode-btn:hover{border-color:var(--primary);color:var(--primary)}.mode-btn.active{border-color:var(--primary);background:var(--primary);color:#fff}.size-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.size-preset-btn{display:flex;flex-direction:column;align-items:center;padding:7px 14px;border:2px solid var(--border);border-radius:var(--radius-sm);background:#fff;cursor:pointer;font-size:.82rem;font-weight:600;color:var(--text-light);transition:all .15s;gap:2px}.size-preset-btn:hover{border-color:var(--primary);color:var(--primary)}.size-preset-btn.active{border-color:var(--primary);background:var(--primary);color:#fff}.size-hint{font-size:.68rem;font-weight:400;opacity:.8}.size-custom-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--bg-secondary);border-radius:var(--radius-sm);padding:10px 12px;margin-top:8px}.size-custom-label{font-size:.8rem;font-weight:600;color:var(--text-light);white-space:nowrap}.size-custom-input{width:72px!important;text-align:center}.size-preview-box{display:flex;align-items:center;justify-content:center;background:var(--primary-light);border:1.5px dashed var(--primary);border-radius:5px;color:var(--primary);font-size:.68rem;font-weight:700;min-width:40px;min-height:30px;flex-shrink:0;transition:all .2s}.image-item-editor{border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:12px;margin-bottom:10px;background:var(--bg-secondary)}.img-editor-row{display:flex;gap:12px;align-items:flex-start}.img-upload-col{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0}.img-thumb-box{flex-shrink:0;min-width:60px;min-height:50px;border:1.5px solid var(--border);border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f0f2f8;transition:width .2s,height .2s}.img-thumb-box img{width:100%;height:100%;object-fit:cover}.img-thumb-placeholder{font-size:1.8rem;opacity:.45}.upload-btn{white-space:nowrap;font-size:.78rem!important;padding:5px 10px!important}.remove-img-btn{font-size:.75rem!important;padding:4px 8px!important;color:var(--danger)!important}.help-note{color:var(--text-light);font-size:.76rem}.img-fields{flex:1;display:flex;flex-direction:column;gap:6px}.img-fields .form-control{margin-bottom:0}.image-drop-zones{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:16px}.image-drop-zone{border:2.5px dashed var(--border);border-radius:var(--radius-sm);padding:12px;min-height:140px;background:var(--bg-secondary);transition:border-color .15s,background .15s}.image-drop-zone.drag-over{border-color:var(--primary);background:var(--primary-light)}.zone-label{font-size:.82rem;font-weight:700;color:var(--primary);text-align:center;margin-bottom:10px;padding-bottom:6px;border-bottom:1.5px solid var(--border)}.zone-items{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.zone-empty{font-size:.78rem;color:var(--text-light);font-style:italic;text-align:center;width:100%;padding:12px 0}.img-card{display:flex;flex-direction:column;align-items:center;width:110px;gap:6px;background:#fff;border:2px solid var(--border);border-radius:8px;padding:8px;cursor:grab;transition:all .17s;-webkit-user-select:none;user-select:none}.img-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #4361ee33}.img-card:active{cursor:grabbing;transform:translateY(0)}.img-card.dragging{opacity:.5;transform:scale(.97)}.img-card.correct{border-color:var(--success);background:#f0fdf8;cursor:default}.img-card.correct:hover{transform:none;box-shadow:none}.img-card.incorrect{border-color:var(--danger);background:#fff2f3;cursor:default}.img-card.incorrect:hover{transform:none;box-shadow:none}.img-card-img{width:88px;height:70px;object-fit:cover;border-radius:5px;display:block;pointer-events:none}.img-card-caption{font-size:.75rem;font-weight:600;color:var(--text);text-align:center;line-height:1.3}.img-card-feedback{font-size:.68rem;font-weight:700;text-align:center;line-height:1.3}.img-card-feedback.correct{color:var(--success)}.img-card-feedback.incorrect{color:var(--danger)}.puzzle-hint{font-size:.85rem;color:var(--text-light);background:#fff8e1;border-radius:6px;padding:7px 12px;margin-bottom:14px}.arranged-area{min-height:56px;border:2.5px dashed var(--primary);border-radius:var(--radius-sm);padding:10px 14px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:0;transition:all .17s;position:relative}.arranged-area.drag-over{background:var(--primary-light)}.arranged-area.correct{border-color:var(--success);background:#d4f5ec}.arranged-area.incorrect{border-color:var(--danger);background:#fde8ea}.arranged-placeholder{font-size:.85rem;color:var(--text-light);font-style:italic}.drop-indicator{display:inline-block;width:3px;height:32px;background:var(--primary);border-radius:3px;margin-right:4px}.puzzle-result{width:100%;font-size:.85rem;font-weight:700;padding-top:8px}.puzzle-result.correct{color:var(--success)}.puzzle-result.incorrect{color:var(--danger)}.cw-player{display:flex;flex-direction:column;gap:14px}.cw-layout{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap}.cw-grid-wrapper{flex:0 0 auto;max-width:100%;overflow-x:auto}.cw-grid{display:inline-grid;gap:0;border:2.5px solid #2b2d42;border-radius:4px;overflow:hidden;outline:none;box-shadow:0 4px 20px #0000001f}.cw-cell{width:38px;height:38px;position:relative;border:1px solid #c9cbd6;cursor:pointer;transition:background .12s;box-sizing:border-box}.cw-cell.black{background:#2b2d42;border-color:#2b2d42;cursor:default}.cw-cell.white{background:#fff}.cw-cell.white:hover{background:#f0f4ff}.cw-cell.active-word{background:#c8d8ff}.cw-cell.selected{background:var(--primary)!important}.cw-cell.selected .cw-letter{color:#fff}.cw-cell.selected .cw-num{color:#fffc}.cw-cell.correct{background:#d4f5ec!important}.cw-cell.correct .cw-letter{color:#046c4e}.cw-cell.incorrect{background:#fde8ea!important}.cw-cell.incorrect .cw-letter{color:#9b1c1c}.cw-num{position:absolute;top:1px;left:2px;font-size:9px;font-weight:800;color:#555;line-height:1;pointer-events:none;font-family:inherit}.cw-letter{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;color:var(--text);pointer-events:none;padding-top:6px}.cw-clues{flex:1;min-width:190px;max-width:300px;display:flex;flex-direction:column;gap:20px;max-height:500px;overflow-y:auto}.cw-clue-section h4{font-size:.82rem;font-weight:800;color:var(--primary);margin-bottom:8px;padding-bottom:5px;border-bottom:2px solid var(--primary);letter-spacing:.04em}.cw-clue{display:flex;gap:6px;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:.8rem;line-height:1.35;transition:background .13s;color:var(--text)}.cw-clue:hover{background:#f0f4ff}.cw-clue.active{background:var(--primary-light);font-weight:700}.clue-num{font-weight:800;color:var(--primary);flex-shrink:0;min-width:20px}.clue-text{color:var(--text)}.cw-tip{margin-top:10px;font-size:.74rem;color:var(--text-light);font-style:italic;line-height:1.5}.cw-empty{background:#fff8e1;border-radius:8px;padding:18px;color:#8a6300;font-size:.88rem}.cw-counter{font-size:.78rem;color:var(--text-light);margin-top:6px}.cw-progress{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}.cw-prog-pip{width:10px;height:10px;border-radius:50%;background:var(--border)}.cw-prog-pip.done{background:var(--success)}.cw-preview-grid{margin-top:12px;display:inline-grid;gap:0;border:2px solid #2b2d42;border-radius:4px;overflow:hidden}.cw-prev-cell{width:22px;height:22px;border:1px solid #c9cbd6;background:#fff;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700}.cw-prev-cell.black{background:#2b2d42;border-color:#2b2d42}@media (max-width: 768px){.home-hero{grid-template-columns:1fr}.hero-types{flex-direction:row;flex-wrap:wrap}.builder-layout{flex-direction:column}.builder-sidebar{width:100%;height:auto;border-right:none;border-bottom:1.5px solid var(--border)}.builder-main{padding:16px}.matching-cols{flex-direction:column}.matching-spacer{display:none}.cw-layout{flex-direction:column}.cw-clues{max-width:100%}}.landing-page{min-height:100vh;background:var(--sidebar-bg, #1e1b4b);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:40px;transition:background .3s}.landing-hero{text-align:center}.landing-logo{margin-bottom:10px;display:flex;justify-content:center;align-items:center;color:#ffffffeb}.landing-title{font-size:2.6rem;font-weight:900;color:#fff;margin-bottom:8px}.landing-title span{color:var(--sidebar-brand, #7b9cff)}.landing-subtitle{color:#ffffffa6;font-size:1rem}.landing-roles{text-align:center;width:100%;max-width:680px}.landing-roles-label{color:#ffffff8c;font-size:.88rem;margin-bottom:16px}.role-cards{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.role-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 24px;background:var(--role-bg);border:2.5px solid var(--role-border);border-radius:16px;cursor:pointer;transition:all .2s;min-width:170px;flex:1;max-width:200px;position:relative;overflow:hidden}.role-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--role-color);opacity:0;transition:opacity .2s}.role-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #00000040}.role-card:hover:before{opacity:.06}.role-card:active{transform:translateY(-1px)}.role-icon{font-size:2.2rem;position:relative}.role-title{font-size:1.1rem;font-weight:800;color:var(--role-color);position:relative}.role-desc{font-size:.78rem;color:var(--text-light);text-align:center;position:relative}.role-arrow{font-size:.9rem;color:var(--role-color);font-weight:700;position:relative;opacity:0;transition:opacity .2s}.role-card:hover .role-arrow{opacity:1}.landing-footer{color:#ffffff4d;font-size:.75rem}.login-page{min-height:100vh;background:var(--sidebar-bg, #1e1b4b);display:flex;align-items:center;justify-content:center;padding:20px;transition:background .3s}.login-card{background:var(--card, #fff);border-radius:20px;padding:36px 40px;width:100%;max-width:420px;box-shadow:0 20px 60px #0000004d;position:relative}.login-back{background:none;border:none;cursor:pointer;color:var(--text-light);font-size:.85rem;padding:0;margin-bottom:20px;display:block}.login-back:hover{color:var(--login-color, var(--primary))}.login-icon{font-size:2.8rem;text-align:center;margin-bottom:10px}.login-title{font-size:1.5rem;font-weight:800;text-align:center;color:var(--text);margin-bottom:6px}.login-hint{font-size:.82rem;color:var(--text-light);text-align:center;margin-bottom:24px}.login-form{display:flex;flex-direction:column;gap:16px}.login-field label{display:block;font-size:.82rem;font-weight:700;color:var(--text);margin-bottom:5px}.login-select{cursor:pointer;font-family:inherit}.password-wrap{position:relative}.password-wrap .form-control{padding-right:44px}.show-pass-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1rem;opacity:.7}.show-pass-btn:hover{opacity:1}.login-error{background:#fff5f5;border:1.5px solid var(--danger);border-radius:8px;padding:10px 14px;color:var(--danger);font-size:.83rem;font-weight:600}.login-submit{width:100%;margin-top:4px;font-size:1rem}.nipd-hint{font-size:.72rem;color:var(--text-light);font-weight:400;margin-left:4px}.dashboard-layout{display:flex;min-height:100vh;background:var(--bg)}.dashboard-main{flex:1;overflow-x:hidden;min-width:0}.dashboard-content{padding:28px 32px;max-width:1100px;display:flex;flex-direction:column;gap:28px}.sidebar{background:var(--sidebar-bg);color:var(--sidebar-nav-text);display:flex;flex-direction:column;transition:width .25s cubic-bezier(.4,0,.2,1),background .3s;overflow:hidden;flex-shrink:0;position:sticky;top:0;height:100vh;border-right:2px solid var(--sidebar-divider);box-shadow:4px 0 18px #0000001a}.sidebar-open{width:240px}.sidebar-collapsed{width:60px}.sidebar-top{display:flex;align-items:center;gap:12px;padding:18px 14px 14px;border-bottom:1px solid var(--sidebar-divider, rgba(255,255,255,.08))}.sidebar-brand{font-size:.9rem;font-weight:800;color:var(--sidebar-brand, #a5b4fc);white-space:nowrap}.hamburger-btn{background:var(--sidebar-active-bg);border:none;border-radius:8px;padding:8px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;transition:background .15s}.hamburger-btn:hover{background:var(--sidebar-nav-hover)}.hamburger-icon{display:flex;flex-direction:column;gap:4px;width:18px}.hamburger-icon span{display:block;height:2px;background:var(--sidebar-brand);border-radius:2px;transition:all .25s}.hamburger-icon.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.hamburger-icon.open span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger-icon.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.sidebar-user{display:flex;align-items:flex-start;gap:10px;padding:14px 14px 12px;border-bottom:1px solid var(--sidebar-divider, rgba(255,255,255,.08))}.sidebar-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--sidebar-brand),var(--secondary, #7b5ea7));display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:800;color:#fff;flex-shrink:0}.sidebar-avatar-mini{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--sidebar-brand),var(--secondary, #7b5ea7));display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:800;color:#fff;margin:10px auto 8px}.sidebar-user-info{display:flex;flex-direction:column;gap:2px;min-width:0}.sidebar-user-name{font-size:.88rem;font-weight:700;color:var(--sidebar-name-text, #e0e7ff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-meta{font-size:.72rem;color:var(--sidebar-meta-text, rgba(255,255,255,.5));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav{flex:1;padding:10px 8px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.sidebar-section-label{font-size:.67rem;font-weight:700;letter-spacing:.08em;color:var(--sidebar-meta-text, rgba(255,255,255,.35));text-transform:uppercase;padding:10px 8px 4px;margin-top:4px;opacity:.7}.sidebar-divider{height:1px;background:var(--sidebar-divider, rgba(255,255,255,.1));margin:8px 0}.sidebar-nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;background:none;border:none;cursor:pointer;color:var(--sidebar-nav-text, rgba(255,255,255,.65));font-size:.85rem;font-weight:600;transition:all .15s;text-align:left;width:100%;white-space:nowrap}.sidebar-nav-item:hover{background:var(--sidebar-nav-hover);color:var(--sidebar-active-text)}.sidebar-nav-item.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);font-weight:700}.nav-icon{flex-shrink:0;width:22px;display:flex;align-items:center;justify-content:center}.nav-label{flex:1}.sidebar-footer{padding:10px 8px;border-top:1px solid var(--sidebar-divider, rgba(255,255,255,.08))}.sidebar-logout{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;background:none;border:none;cursor:pointer;color:var(--sidebar-meta-text);font-size:.85rem;font-weight:600;transition:all .15s;width:100%}.sidebar-logout:hover{background:#ef233c1a;color:var(--danger)}.welcome-banner{border-radius:var(--radius);padding:24px 28px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.admin-welcome{background:linear-gradient(135deg,var(--primary-light),var(--card));border-left:5px solid var(--danger)}.guru-welcome,.murid-welcome{background:linear-gradient(135deg,var(--primary-light),var(--card));border-left:5px solid var(--primary)}.welcome-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.welcome-text{flex:1}.welcome-text h2{font-size:1.4rem;font-weight:800;color:var(--text);margin-bottom:6px}.welcome-text h2 span{color:var(--primary)}.welcome-meta{display:flex;flex-wrap:wrap;gap:12px}.welcome-meta span{font-size:.82rem;color:var(--text-light);background:#ffffffb3;padding:3px 10px;border-radius:20px;font-weight:600}.btn-new-lkm{flex-shrink:0;white-space:nowrap}.lkm-section{display:flex;flex-direction:column;gap:16px}.lkm-section .section-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lkm-section .section-header h3{font-size:1.05rem;font-weight:800;color:var(--text);display:flex;align-items:center;gap:8px}.count-badge{background:var(--primary-light);color:var(--primary);font-size:.72rem;font-weight:800;padding:2px 8px;border-radius:20px}.filter-badge{display:inline-flex;align-items:center;gap:4px;background:#fff3cd;color:#856404;font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:20px}.filter-badge button{background:none;border:none;cursor:pointer;font-size:.8rem;color:inherit;padding:0;line-height:1}.empty-state.compact{padding:32px 20px}.empty-state.compact h4{font-size:1rem}.murid-card:hover .start-badge{opacity:1;transform:scale(1)}.start-badge{background:var(--teal);color:#fff;font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:20px;opacity:0;transform:scale(.9);transition:all .2s}.admin-overview{display:flex;flex-direction:column;gap:24px}.admin-welcome .welcome-text h2 span{color:var(--danger)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.stat-card{background:var(--card);border-radius:var(--radius);padding:24px 20px;text-align:center;box-shadow:var(--shadow);cursor:pointer;transition:all .2s;border-top:4px solid transparent}.stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.guru-stat{border-top-color:var(--primary)}.murid-stat{border-top-color:var(--teal)}.stat-icon{margin-bottom:8px;display:flex;align-items:center;justify-content:center}.stat-num{font-size:2.2rem;font-weight:900;color:var(--text)}.stat-label{font-size:.82rem;color:var(--text-light);margin:4px 0}.stat-action{font-size:.78rem;font-weight:700;color:var(--primary);margin-top:8px}.kelola-section{display:flex;flex-direction:column;gap:12px}.kelola-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:4px}.kelola-header h3{font-size:1.05rem;font-weight:800;color:var(--text);display:flex;align-items:center;gap:8px}.kelola-header-right{display:flex;align-items:center;gap:10px}.filter-kelas-select{width:160px!important;font-size:.82rem!important}.empty-list-msg{color:var(--text-light);font-size:.85rem;font-style:italic;padding:12px 0}.user-card{background:var(--card);border-radius:var(--radius-sm);border:1.5px solid var(--border);overflow:hidden;transition:border-color .15s}.user-card.editing{border-color:var(--primary)}.user-card.new-card{border-color:var(--success);border-style:dashed}.user-card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;gap:12px;transition:background .15s}.user-card-header:hover{background:var(--bg-secondary)}.user-card-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.user-card-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));display:flex;align-items:center;justify-content:center;font-size:.88rem;font-weight:800;color:#fff;flex-shrink:0}.user-tag{display:inline-block;font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:12px;margin-left:6px;background:#f0f3ff;color:var(--primary)}.user-tag.mp{background:#fff3e0;color:#e65100}.user-tag.kelas{background:#e8f5e9;color:#2e7d32}.user-tag.kelas-count{background:#f3e5f5;color:#6a1b9a}.user-card-actions{display:flex;align-items:center;gap:6px}.collapse-arrow{font-size:.8rem;color:var(--text-light);transition:transform .2s}.user-card.editing .collapse-arrow{transform:rotate(180deg)}.user-card-body{padding:0 16px 16px;border-top:1px solid var(--border)}.user-form{padding-top:16px;display:flex;flex-direction:column;gap:0}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:0}.kelas-checkboxes{display:flex;flex-direction:column;gap:4px}.kelas-level-group{border:1.5px solid var(--border);border-radius:6px;overflow:hidden}.kelas-level-header{display:flex;align-items:center;gap:10px;padding:9px 12px;cursor:pointer;background:var(--bg-secondary);-webkit-user-select:none;user-select:none;font-size:.85rem;font-weight:700;transition:background .15s}.kelas-level-header:hover{background:#eef0f4}.kelas-toggle-icon{color:var(--text-light);width:16px;display:flex;align-items:center;justify-content:center}.kelas-level-label{flex:1}.kelas-count{font-size:.72rem;color:var(--text-light);font-weight:500}.kelas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:4px;padding:10px 12px;background:#fff}.kelas-checkbox-item{display:flex;align-items:center;gap:5px;font-size:.78rem;cursor:pointer;padding:3px 6px;border-radius:4px;transition:background .1s}.kelas-checkbox-item:hover{background:var(--primary-light)}.kelas-checkbox-item input{cursor:pointer}.nipd-password-note{font-size:.8rem;color:#5c6bc0;background:#ede7f6;border-radius:6px;padding:8px 12px;margin-bottom:4px}.form-actions{display:flex;gap:10px;padding-top:8px}.btn-sm{padding:7px 16px!important;font-size:.82rem!important}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#00000080;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px}.modal-box{background:var(--card);border-radius:var(--radius);width:100%;max-width:620px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 24px 60px #0000004d;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1.5px solid var(--border);flex-shrink:0}.modal-header h3{font-size:1.05rem;font-weight:800;color:var(--text)}.modal-close{background:none;border:none;cursor:pointer;font-size:1.4rem;color:var(--text-light);line-height:1;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .15s}.modal-close:hover{background:#f0f2f8;color:var(--text)}.modal-body{padding:20px 24px;overflow-y:auto}.table-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:12px}.toolbar-left{display:flex;align-items:center;gap:10px}.toolbar-left h3{font-size:1rem;font-weight:800;color:var(--text);display:flex;align-items:center;gap:8px}.toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.selected-info{font-size:.78rem;font-weight:700;color:var(--primary);background:var(--primary-light);padding:3px 10px;border-radius:20px}.table-wrapper{background:var(--card);border-radius:var(--radius-sm);border:1.5px solid var(--border);overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:.85rem}.data-table thead{background:var(--bg-secondary)}.data-table th{padding:11px 14px;text-align:left;font-size:.75rem;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;border-bottom:1.5px solid var(--border);white-space:nowrap}.data-table td{padding:10px 14px;border-bottom:1px solid #f0f2f8;vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--bg-secondary)}.data-table tbody tr.row-selected{background:#eff2ff}.th-check,.td-check{width:40px;text-align:center;padding:10px 8px}.th-no,.td-no{width:46px;text-align:center;color:var(--text-light);font-weight:600}.th-aksi,.td-aksi{width:210px;white-space:nowrap}.td-name{font-weight:600}.td-mono{font-family:monospace;font-size:.82rem;color:var(--text-light)}.td-empty{text-align:center;padding:32px;color:var(--text-light);font-style:italic}.td-empty-val{color:#ccc}.kelas-badge{display:inline-block;padding:2px 9px;border-radius:12px;font-size:.72rem;font-weight:700;background:#e8f5e9;color:#2e7d32}.kelas-badge.kelas-VII{background:#e3f2fd;color:#1565c0}.kelas-badge.kelas-VIII{background:#f3e5f5;color:#6a1b9a}.kelas-badge.kelas-IX{background:#fff3e0;color:#e65100}.kelas-pill{display:inline-block;padding:2px 9px;border-radius:12px;font-size:.72rem;font-weight:700;background:#f3e5f5;color:#6a1b9a}.td-aksi{display:flex;gap:4px;align-items:center}.aksi-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:6px;border:1.5px solid;font-size:.73rem;font-weight:700;cursor:pointer;transition:all .13s;white-space:nowrap;background:#fff}.aksi-btn.edit{border-color:var(--primary);color:var(--primary)}.aksi-btn.edit:hover{background:var(--primary);color:#fff}.aksi-btn.reset{border-color:var(--warning);color:#b45309}.aksi-btn.reset:hover{background:var(--warning);color:#fff}.aksi-btn.hapus{border-color:var(--danger);color:var(--danger)}.aksi-btn.hapus:hover{background:var(--danger);color:#fff}.btn-template{background:#fff!important;color:#5c6bc0!important;border:1.5px solid #5c6bc0!important}.btn-template:hover{background:#ede7f6!important}.btn-danger{background:var(--danger)!important;color:#fff!important;border-color:var(--danger)!important}.btn-danger:hover{background:#c81230!important}.btn-danger:disabled{opacity:.45;cursor:not-allowed}.filter-kelas-select{width:140px!important;font-size:.8rem!important;padding:6px 10px!important}.table-toolbar-v2{display:flex;flex-direction:column;gap:0;margin-bottom:12px}.toolbar-title-row{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1.5px solid var(--border);margin-bottom:14px}.toolbar-title-row h3{font-size:1.05rem;font-weight:800;color:var(--text);display:flex;align-items:center;gap:8px}.toolbar-actions-row{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;overflow-x:auto}.toolbar-divider{width:1px;height:28px;background:var(--border);margin:0 4px}.ico-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1.5px solid;cursor:pointer;transition:all .15s;line-height:1;position:relative}.ico-btn-icon-only{width:36px;height:36px;padding:0}.ico-btn svg{flex-shrink:0}.ico-btn:disabled{opacity:.4;cursor:not-allowed}.ico-btn-icon-only:after{content:attr(title);position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%);background:#1e1b4b;color:#fff;font-size:.7rem;font-weight:600;white-space:nowrap;padding:4px 8px;border-radius:5px;pointer-events:none;opacity:0;transition:opacity .15s;z-index:100}.ico-btn-icon-only:before{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#1e1b4b;pointer-events:none;opacity:0;transition:opacity .15s;z-index:100}.ico-btn-icon-only:hover:after,.ico-btn-icon-only:hover:before{opacity:1}.ico-btn-outline{background:#fff;color:var(--text-light);border-color:var(--border)}.ico-btn-outline:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:#f0f3ff}.ico-btn-template{background:#fff;color:#5c6bc0;border-color:#9fa8da}.ico-btn-template:hover:not(:disabled){background:#ede7f6}.ico-btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.ico-btn-primary:hover:not(:disabled){background:var(--primary-dark)}.ico-btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.ico-btn-danger:hover:not(:disabled){background:#c81230}.aksi-ico{width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid;background:#fff;cursor:pointer;transition:all .13s;padding:0}.aksi-ico.edit{border-color:#4361ee;color:#4361ee}.aksi-ico.edit:hover{background:#4361ee;color:#fff}.aksi-ico.reset{border-color:#f4a261;color:#b45309}.aksi-ico.reset:hover{background:#f4a261;color:#fff}.aksi-ico.hapus{border-color:#ef233c;color:#ef233c}.aksi-ico.hapus:hover{background:#ef233c;color:#fff}.search-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;background:var(--bg-secondary);border:1.5px solid var(--border);border-radius:var(--radius-sm);margin-bottom:2px}.search-input-wrap,.filter-input-wrap{display:flex;align-items:center;gap:8px;background:var(--input-bg, #fff);border:1.5px solid var(--border);border-radius:8px;padding:6px 12px;transition:border-color .15s}.search-input-wrap:focus-within{border-color:var(--primary)}.filter-input-wrap:focus-within{border-color:var(--primary)}.search-icon,.filter-icon{color:var(--text-light);flex-shrink:0;display:flex}.search-field{border:none;outline:none;font-size:.85rem;color:var(--text);background:transparent;width:200px}.search-field::placeholder{color:#adb5bd}.search-clear{background:none;border:none;cursor:pointer;color:var(--text-light);font-size:1rem;padding:0;line-height:1}.search-clear:hover{color:var(--danger)}.filter-select{border:none!important;outline:none;font-size:.82rem;color:var(--text);background:transparent;padding:0!important;width:130px}.search-result-info{font-size:.76rem;color:var(--primary);font-weight:700;background:var(--primary-light);padding:3px 10px;border-radius:20px;white-space:nowrap}.td-aksi{display:flex;gap:6px;align-items:center}.theme-page{display:flex;flex-direction:column;gap:24px}.theme-header h2{font-size:1.3rem;font-weight:800;color:var(--text);margin-bottom:6px}.theme-header p{font-size:.88rem;color:var(--text-light)}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:14px}.theme-card{background:var(--card);border:2.5px solid var(--border);border-radius:var(--radius);padding:14px 12px;cursor:pointer;text-align:center;transition:all .2s;display:flex;flex-direction:column;gap:10px;position:relative}.theme-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.theme-card.active{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.theme-active-badge{position:absolute;top:8px;right:8px;background:var(--primary);color:#fff;font-size:.65rem;font-weight:800;padding:2px 7px;border-radius:20px}.theme-preview{height:80px;border-radius:8px;overflow:hidden;display:flex;border:1.5px solid var(--border)}.tp-sidebar{width:30px;flex-shrink:0;padding:10px 7px;display:flex;flex-direction:column;gap:5px}.tp-sidebar-dot{width:16px;height:5px;border-radius:3px}.tp-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.tp-navbar{height:16px;flex-shrink:0}.tp-card{flex:1;margin:5px;border-radius:4px;border:1.5px solid;padding:6px 5px;display:flex;flex-direction:column;gap:4px}.tp-bar{height:6px;border-radius:3px}.tp-bar.short{width:60%}.custom-preview{align-items:center;justify-content:center;background:var(--bg-secondary)}.custom-icon{display:flex;align-items:center;justify-content:center}.theme-swatches{display:flex;justify-content:center;gap:5px}.theme-swatch{width:18px;height:18px;border-radius:50%;border:2px solid rgba(0,0,0,.1);display:inline-block;flex-shrink:0}.theme-name{font-size:.8rem;font-weight:700;color:var(--text)}.custom-theme-editor{background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius);padding:20px 24px;display:flex;flex-direction:column;gap:16px}.custom-theme-editor h4{font-size:1rem;font-weight:800;color:var(--text)}.custom-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.custom-field-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:var(--bg-secondary);border-radius:8px}.custom-field-row label{font-size:.82rem;font-weight:600;color:var(--text)}.custom-color-wrap{display:flex;align-items:center;gap:8px}.color-picker{width:36px;height:36px;border:2px solid var(--border);border-radius:8px;padding:2px;cursor:pointer;background:none}.color-hex{font-size:.75rem;font-family:monospace;color:var(--text-light)}@media (max-width: 768px){.sidebar-open{width:200px}.role-cards{flex-direction:column;max-width:320px;margin:0 auto}.role-card{max-width:100%}.form-row-2{grid-template-columns:1fr}.welcome-banner{flex-direction:column}.stats-grid{grid-template-columns:1fr 1fr}.table-toolbar{flex-direction:column;align-items:flex-start}.toolbar-right{width:100%}}.mobile-ham-btn{display:none;position:fixed;top:14px;left:14px;z-index:600;width:42px;height:42px;border:none;border-radius:10px;background:var(--sidebar-bg);color:var(--sidebar-brand);cursor:pointer;align-items:center;justify-content:center;box-shadow:0 2px 18px #00000059;transition:filter .15s}.mobile-ham-btn:hover{filter:brightness(1.12)}.mobile-ham-btn .hamburger-icon span{background:var(--sidebar-brand)}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:499;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}@media (max-width: 1024px){.mobile-ham-btn{display:flex}.sidebar-mobile{position:fixed!important;top:0;left:0;height:100vh!important;width:240px!important;z-index:500;transform:translate(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1),background .3s;box-shadow:4px 0 40px #0006}.sidebar-mobile.sidebar-mobile-show{transform:translate(0)}.dashboard-layout{display:block}.dashboard-main{width:100%}.dashboard-content{padding:72px 16px 24px}}.murid-preview-root{display:flex;flex-direction:column;min-height:100vh}.murid-preview-root .sidebar{top:58px;height:calc(100vh - 58px)}.murid-preview-root .dashboard-layout{flex:1}.sidebar-types-toggle{display:flex;align-items:center;width:100%;justify-content:flex-start}.types-arrow{margin-left:auto;color:var(--sidebar-meta-text);display:flex;align-items:center;transition:transform .2s}.sidebar-nav-sub{padding-left:32px!important;font-size:.82rem!important;opacity:.85}.sidebar-nav-sub .nav-icon{font-size:.85rem}.guru-card{cursor:default}.card-action-row{display:flex;gap:6px;margin-top:10px;padding-top:10px;border-top:1.5px solid var(--border)}.card-act-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:7px 6px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text);font-size:.78rem;font-weight:700;cursor:pointer;transition:all .16s;font-family:inherit}.card-act-btn span{white-space:nowrap}.card-act-btn:hover{transform:translateY(-1px);box-shadow:0 3px 8px #0000001a}.act-edit:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.act-preview:hover{background:#e8f9f4;border-color:#06d6a0;color:#059b74}.act-download:hover{background:#e8f4ff;border-color:#07c;color:#07c}.quick-type-bar{display:flex;align-items:center;gap:10px;background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius);padding:12px 18px;margin-bottom:18px;flex-wrap:wrap}.quick-type-label{font-size:.85rem;font-weight:700;color:var(--text);white-space:nowrap}.quick-type-select{flex:1;min-width:180px;max-width:300px;padding:7px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.88rem;background:var(--input-bg);color:var(--text);font-family:inherit;cursor:pointer}.quick-type-select:focus{outline:none;border-color:var(--primary)}.icon-btn.download-offline{background:#e8f4ff;color:#07c}.icon-btn.download-offline:hover{background:#07c;color:#fff}.card-download-hint{font-size:.7rem;color:var(--text-light);margin-top:6px;padding-top:6px;border-top:1px solid var(--border);opacity:.75}.kelas-info-tag{font-size:.78rem;background:var(--primary-light);color:var(--primary);padding:4px 12px;border-radius:20px;font-weight:600}.porto-filters{gap:8px;flex-wrap:wrap}.porto-table .td-lkm-title{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.porto-table .td-catatan{max-width:140px;font-size:.8rem;color:var(--text-light)}.porto-table .td-date{white-space:nowrap;font-size:.8rem;color:var(--text-light)}.score-pill{display:inline-block;padding:3px 12px;border-radius:20px;font-size:.82rem;font-weight:800}.grade-modal-info{display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:var(--bg-secondary);border-radius:var(--radius-sm);font-size:.88rem;margin-bottom:4px}.grade-modal-info strong{color:var(--primary)}.modal-wide{max-width:720px!important}.nilai-saya-wrap{display:flex;flex-direction:column;gap:0}.nilai-summary-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.nilai-summary-card{background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius);padding:18px 16px;text-align:center;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;gap:4px}.nilai-summary-card.highlight{border-color:var(--primary);background:var(--primary-light)}.ns-icon{margin-bottom:2px;display:flex;align-items:center;justify-content:center}.ns-num{font-size:2rem;font-weight:900;color:var(--text);line-height:1.1}.ns-label{font-size:.75rem;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.04em}.ns-sub{font-size:.72rem;color:var(--text-light);margin-top:2px}.nilai-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.nilai-card{background:var(--card);border-radius:var(--radius);border:1.5px solid var(--border);padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;transition:box-shadow .18s,transform .18s}.nilai-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.nilai-card.dinilai{border-left:4px solid var(--success)}.nilai-card.pending{border-left:4px solid var(--warning)}.nilai-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.nilai-lkm-title{font-size:.95rem;font-weight:800;color:var(--text);line-height:1.3;flex:1}.nilai-date{font-size:.72rem;color:var(--text-light);white-space:nowrap;flex-shrink:0}.nilai-subject{font-size:.78rem;color:var(--primary);font-weight:600;background:var(--primary-light);padding:2px 10px;border-radius:20px;display:inline-block}.nilai-scores{display:flex;align-items:center;gap:8px}.nilai-score-box{flex:1;border-radius:10px;padding:12px 10px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px;border:1.5px solid var(--border)}.nilai-score-box.auto{background:var(--bg-secondary)}.nilai-score-box.guru.has-nilai{background:var(--primary-light);border-color:var(--primary)}.nilai-score-box.guru.no-nilai{background:#fff9ed;border-color:var(--warning);border-style:dashed}.score-box-label{font-size:.68rem;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.04em}.score-box-num{font-size:1.7rem;font-weight:900;line-height:1;color:var(--text)}.score-box-of{font-size:.75rem;font-weight:600;color:var(--text-light)}.score-box-emoji{display:flex;align-items:center;justify-content:center}.pending-label{font-size:.75rem;font-weight:700;color:var(--warning);line-height:1.4;padding:6px 0}.nilai-arrow{font-size:1.3rem;color:var(--text-light);flex-shrink:0}.nilai-catatan{display:flex;align-items:flex-start;gap:8px;background:var(--bg-secondary);border-radius:var(--radius-sm);padding:10px 12px;border-left:3px solid var(--primary)}.catatan-icon{flex-shrink:0;margin-top:1px;display:flex;align-items:center}.catatan-text{font-size:.82rem;color:var(--text);line-height:1.5}@media (max-width: 768px){.nilai-summary-row{grid-template-columns:1fr 1fr}.nilai-cards{grid-template-columns:1fr}}.img-puzzle-editor .img-puzzle-source-row{display:flex;gap:8px;align-items:center}.img-puzzle-editor .img-puzzle-source-row .form-control{flex:1}.img-upload-divider{text-align:center;position:relative;margin:8px 0;color:var(--text-light);font-size:.78rem}.img-upload-divider:before,.img-upload-divider:after{content:"";position:absolute;top:50%;width:42%;height:1px;background:var(--border)}.img-upload-divider:before{left:0}.img-upload-divider:after{right:0}.img-upload-area{display:flex;align-items:center;justify-content:center;border:2px dashed var(--border);border-radius:var(--radius-sm);padding:12px;cursor:pointer;font-size:.85rem;font-weight:700;color:var(--primary);background:var(--primary-light);transition:border-color .15s,background .15s}.img-upload-area:hover{border-color:var(--primary);background:var(--primary-light)}.img-upload-area.loading{opacity:.6;cursor:wait}.img-upload-success{font-size:.78rem;color:var(--success);font-weight:700;margin-top:4px}.img-upload-error{font-size:.78rem;color:var(--danger);font-weight:700;margin-top:4px}.grid-size-options{display:flex;gap:10px;flex-wrap:wrap}.grid-size-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 18px;border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);cursor:pointer;transition:all .15s;font-family:inherit}.grid-size-btn:hover{border-color:var(--primary);background:var(--primary-light)}.grid-size-btn.active{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.gs-label{font-size:1.1rem;font-weight:900;color:inherit}.gs-count{font-size:.72rem;color:var(--text-light)}.gs-diff{font-size:.7rem;font-weight:700;color:var(--primary)}.img-puzzle-preview-wrap{display:flex;flex-direction:column;gap:8px}.img-puzzle-preview-grid{display:grid;grid-template-columns:repeat(var(--gs),var(--piece));gap:2px;border-radius:8px;overflow:hidden;border:2px solid var(--border);width:fit-content}.preview-piece{background-repeat:no-repeat;border:1px solid rgba(255,255,255,.4)}.preview-note{font-size:.75rem;color:var(--text-light);font-style:italic}.img-puzzle-player{display:flex;flex-direction:column;gap:12px}.puzzle-instruction{font-size:.95rem;color:var(--text);line-height:1.5}.puzzle-solved-banner{background:linear-gradient(90deg,#06d6a0,#2a9d8f);color:#fff;border-radius:var(--radius-sm);padding:10px 16px;font-weight:800;font-size:.92rem;text-align:center}.puzzle-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.puzzle-moves-badge,.puzzle-progress{font-size:.82rem;color:var(--text-light);background:var(--bg-secondary);padding:4px 12px;border-radius:20px;border:1px solid var(--border)}.puzzle-moves-badge strong,.puzzle-progress strong{color:var(--text)}.puzzle-ref-wrap{display:flex;flex-direction:column;gap:4px;background:var(--bg-secondary);border-radius:var(--radius-sm);padding:10px;border:1.5px solid var(--border);width:fit-content}.puzzle-ref-img{max-width:220px;max-height:220px;border-radius:6px;object-fit:cover;border:1.5px solid var(--border)}.puzzle-ref-label{font-size:.72rem;color:var(--text-light);text-align:center}.puzzle-hint-text{font-size:.8rem;color:var(--text-light);background:var(--bg-secondary);padding:6px 12px;border-radius:20px;border:1px dashed var(--border);width:fit-content}.selected-hint{color:var(--primary);border-color:var(--primary);background:var(--primary-light)}.puzzle-svg-wrap{overflow:visible;line-height:0}.puzzle-svg-wrap svg{filter:drop-shadow(0 4px 12px rgba(0,0,0,.15));cursor:grab}.puzzle-svg-wrap svg:active{cursor:grabbing}.img-puzzle-no-img{padding:24px;text-align:center;color:var(--text-light);font-size:.9rem;background:var(--bg-secondary);border-radius:var(--radius-sm);border:2px dashed var(--border)}.puzzle-submit-result{font-size:.85rem;font-weight:700;color:var(--text-light);text-align:center;padding:8px}.empty-state{text-align:center;padding:56px 24px;color:var(--text-light)}.empty-state .empty-icon{margin-bottom:12px;display:flex;justify-content:center;color:var(--text-light)}.empty-state h4{font-size:1.1rem;font-weight:700;margin-bottom:6px}.empty-state p{font-size:.88rem}.re-wrap{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--card);overflow:hidden}.re-wrap:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.re-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:2px;padding:6px 10px;background:linear-gradient(to bottom,#f5f7fc,#eef0f8);border-bottom:1.5px solid #d8dce8;-webkit-user-select:none;user-select:none}.re-group{display:inline-flex;align-items:center;gap:1px}.re-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:28px;border:1px solid transparent;border-radius:6px;background:transparent;color:#3d4659;cursor:pointer;transition:background .12s,color .12s,border-color .12s,box-shadow .12s;flex-shrink:0;padding:0;position:relative}.re-btn:hover{background:#e2e6f3;color:var(--primary);border-color:#c9d0e8;box-shadow:0 1px 3px #4361ee1a}.re-btn:hover:after{content:attr(title);position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%);background:#1e293b;color:#fff;font-size:.67rem;font-weight:600;white-space:nowrap;padding:4px 8px;border-radius:5px;pointer-events:none;z-index:9999;font-family:Nunito,sans-serif;letter-spacing:.01em}.re-btn-on{background:#dde3f5;color:var(--primary);border-color:#b8c4e8}.re-sep{display:inline-block;width:1px;height:20px;background:#ced3e3;margin:0 4px;flex-shrink:0;border-radius:1px}.re-group-selects{gap:5px}.re-select-wrap{display:inline-flex;align-items:center;gap:4px;background:#fff;border:1.5px solid #ced3e3;border-radius:6px;padding:0 6px 0 5px;height:28px;cursor:pointer;transition:border-color .12s}.re-select-wrap:hover,.re-select-wrap:focus-within{border-color:var(--primary)}.re-select-icon{color:#6b7a9a;flex-shrink:0;pointer-events:none}.re-select{height:26px;border:none;background:transparent;color:#3d4659;font-size:.72rem;font-family:inherit;cursor:pointer;outline:none;padding:0;flex-shrink:0}.re-sel-font{min-width:100px;max-width:110px}.re-sel-size{min-width:88px;max-width:100px}.re-color-wrap{position:relative;width:30px;height:28px;border:1px solid transparent;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;transition:background .12s,border-color .12s;flex-shrink:0;padding:3px 0 2px}.re-color-wrap:hover{background:#e2e6f3;border-color:#c9d0e8}.re-color-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;cursor:pointer;border:none;padding:0}.re-color-bar{display:block;width:18px;height:3.5px;border-radius:2px;flex-shrink:0;position:relative;z-index:1;pointer-events:none}.re-body{min-height:110px;max-height:420px;overflow-y:auto;padding:12px 14px;outline:none;font-size:.9rem;line-height:1.65;color:var(--text);word-break:break-word}.re-body:empty:before{content:attr(data-ph);color:#9ca3af;pointer-events:none}.re-body:after{content:"";display:table;clear:both}.re-body img.re-img{border-radius:4px;cursor:pointer;transition:outline .1s;display:inline-block;vertical-align:middle}.re-body img.re-img:hover,.re-body img.re-img:focus{outline:2.5px solid var(--primary)}.re-body .re-yt{margin:8px 0}.re-body table{border-collapse:collapse;width:100%;margin:6px 0}.re-body ul,.re-body ol{padding-left:1.4em}.re-body pre{white-space:pre-wrap}.re-img-panel{display:flex;align-items:stretch;gap:0;background:#f1f3f8;border-top:1.5px solid var(--border);flex-wrap:wrap}.re-img-section{display:flex;flex-direction:column;gap:5px;padding:8px 12px}.re-img-section-label{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);white-space:nowrap}.re-img-divider{width:1px;background:var(--border);margin:6px 0}.re-img-actions{justify-content:center;align-items:center;flex-direction:row;gap:4px;padding:8px;align-self:center}.re-wrap-btns{display:flex;align-items:center;gap:3px}.re-wrap-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1.5px solid #d1d5db;border-radius:6px;background:var(--card);color:#374151;cursor:pointer;transition:all .12s;padding:0;position:relative}.re-wrap-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.re-wrap-active{border-color:var(--primary)!important;background:var(--primary-light)!important;color:var(--primary)!important;box-shadow:0 0 0 2px var(--primary-light)}.re-wrap-btn:hover:after{content:attr(title);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#1e293b;color:#fff;font-size:.68rem;font-weight:600;white-space:nowrap;padding:3px 8px;border-radius:4px;pointer-events:none;z-index:9999;font-family:Nunito,sans-serif}.re-size-btns{display:flex;align-items:center;gap:3px;flex-wrap:wrap}.re-img-btn{padding:3px 9px;border-radius:5px;border:1.5px solid #d1d5db;background:var(--card);font-size:.72rem;font-weight:700;cursor:pointer;transition:all .1s;color:var(--text);font-family:inherit;white-space:nowrap}.re-img-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.re-img-btn-px{color:var(--text-light);font-style:italic}.re-img-btn-del{display:flex;align-items:center;justify-content:center;padding:5px 7px;border-color:#fca5a5}.re-img-btn-del:hover{background:var(--danger)!important;color:#fff!important;border-color:var(--danger)!important}.re-img-btn-close{padding:3px 9px;font-size:.9rem;font-weight:900}.re-img-hint{display:flex;align-items:center;gap:5px;padding:4px 12px;background:#eef0f5;border-top:1px dashed #d1d5db;font-size:.68rem;color:var(--text-light);font-style:italic}.mc-options-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:10px}.mc-options-header label:first-child{margin-bottom:0}.mc-randomize-toggle{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;font-weight:700;color:var(--primary);background:var(--primary-light);padding:4px 10px;border-radius:20px;cursor:pointer;-webkit-user-select:none;user-select:none}.mc-randomize-toggle input{cursor:pointer;accent-color:var(--primary)}.rich-content:after{content:"";display:table;clear:both}.rich-content img{max-width:100%;border-radius:4px}.rich-content .re-yt iframe{width:100%;aspect-ratio:16/9;border-radius:8px;border:none;display:block}.rich-content table{border-collapse:collapse;width:100%;margin:8px 0}.rich-content th,.rich-content td{border:1.5px solid var(--border);padding:6px 10px;text-align:left}.rich-content th{background:var(--bg-secondary);font-weight:700}.rich-content ul,.rich-content ol{padding-left:1.5em}.rich-content pre{background:#1e1b4b;color:#a5b4fc;padding:10px 14px;border-radius:6px;overflow-x:auto;font-size:.85rem}
