:root{--c1:#64afdc;--c2:#afdcfa;--c3:#caeaff;--c4:#dbf1ff;--c5:#eef8ff;--bg:#f4faff;--card:#fff;--text:#1a2940;--text2:#4a6585;--text3:#8aaec8;--border:#d0e8f7;--shadow:#64afdc26;--shadow2:#64afdc4d;--success:#34c77b;--gold:#f5a623;--silver:#9db8cc;--xp-color:#64afdc}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100vh;padding-bottom:max(16px, env(safe-area-inset-bottom));font-family:Nunito,sans-serif;overflow-x:hidden}.header{background:linear-gradient(135deg, var(--c1) 0%, var(--c2) 100%);padding:calc(12px + env(safe-area-inset-top)) 16px 0;z-index:100;box-shadow:0 4px 20px var(--shadow2);position:sticky;top:0}.header-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.header-title{color:#fff;letter-spacing:-.5px;font-family:Unbounded,sans-serif;font-size:18px;font-weight:700}.header-account-zone{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.header-user-btn{cursor:pointer;background:#ffffff26;border:1px solid #ffffff40;border-radius:8px;align-items:center;gap:5px;padding:3px 8px;display:flex}.course-switch-chip{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff47;border-radius:999px;align-items:center;gap:6px;max-width:190px;min-height:28px;padding:4px 10px;font-family:Nunito,sans-serif;font-size:11px;font-weight:800;display:none}.course-switch-chip.visible{display:inline-flex}.course-switch-chip:active{transform:scale(.98)}.course-switch-icon{opacity:.95;font-size:12px}.course-switch-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.course-switch-arrow{opacity:.8;font-size:10px}.course-sheet-overlay{z-index:3200;background:#111e3057;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.course-sheet{width:100%;max-width:460px;padding:14px 14px calc(14px + env(safe-area-inset-bottom));background:#fff;border:1px solid #d0e8f7e6;border-radius:22px 22px 18px 18px;box-shadow:0 16px 48px #1935532e}.course-sheet-handle{background:var(--border);border-radius:999px;width:42px;height:4px;margin:0 auto 12px}.course-sheet-title{color:var(--text);margin-bottom:4px;font-family:Unbounded,sans-serif;font-size:13px;font-weight:700}.course-sheet-subtitle{color:var(--text3);margin-bottom:12px;font-size:11px;font-weight:700}.course-sheet-list{flex-direction:column;gap:8px;display:flex}.course-option{border:1.5px solid var(--border);background:var(--card);text-align:left;cursor:pointer;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.course-option.active{border-color:var(--c1);background:var(--c5);box-shadow:0 6px 18px #64afdc1f}.course-option-main{min-width:0}.course-option-name{color:var(--text);margin-bottom:3px;font-size:13px;font-weight:800}.course-option-meta{color:var(--text3);font-size:11px;font-weight:700}.course-option-check{color:var(--c1);flex-shrink:0;font-size:16px;font-weight:900}.admin-course-note{background:var(--c5);border:1.5px solid var(--border);color:var(--text2);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;font-size:12px;font-weight:700;display:flex}.admin-course-note-btn{cursor:pointer;text-align:left;width:100%;font-family:Nunito,sans-serif}.admin-course-note-btn:active{transform:scale(.995)}.admin-course-note-main{min-width:0}.admin-course-note-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text3);margin-bottom:2px;font-size:10px;font-weight:900}.admin-course-note-value{color:var(--text);font-size:14px;font-weight:900}.admin-course-note-meta{color:var(--text2);margin-top:2px;font-size:11px;font-weight:700}.admin-course-note-arrow{color:var(--c1);flex-shrink:0;font-size:16px;font-weight:900}.admin-course-toolbar{gap:8px;margin-bottom:12px;display:flex}.admin-course-toolbar button{margin-top:0}.admin-course-editor-overlay{z-index:2500;background:#1a29406b;justify-content:center;align-items:flex-end;padding:16px;display:none;position:fixed;inset:0}.admin-course-editor-overlay.show{display:flex}.admin-course-editor-modal{background:#fff;border-radius:24px;flex-direction:column;width:min(760px,100%);max-height:min(88vh,920px);display:flex;overflow:hidden;box-shadow:0 20px 60px #1a294038}.admin-course-editor-head{border-bottom:1px solid var(--border);background:linear-gradient(135deg,#f7fbff,#eef8ff);justify-content:space-between;align-items:center;gap:12px;padding:16px 18px 14px;display:flex}.admin-course-editor-title{color:var(--text);font-family:Unbounded,sans-serif;font-size:13px;font-weight:700}.admin-course-editor-subtitle{color:var(--text2);margin-top:3px;font-size:11px;font-weight:700}.admin-course-editor-close{width:34px;height:34px;color:var(--text2);cursor:pointer;box-shadow:0 2px 8px var(--shadow);background:#fff;border:none;border-radius:50%;flex-shrink:0;font-size:18px;font-weight:900}.admin-course-editor-body{padding:16px;overflow-y:auto}.admin-course-editor-panel{background:linear-gradient(135deg,#fff9f0,#fff);border:1.5px solid #ffe4a0;border-radius:18px;padding:16px;box-shadow:0 2px 12px #f5a6231a}.editor-tab-bar{background:var(--c5);border-radius:10px;gap:6px;padding:4px;display:flex}.editor-tab{color:var(--text2);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;flex:1;padding:7px 14px;font-size:12px;font-weight:800;transition:all .18s}.editor-tab.active{color:var(--text);background:#fff;box-shadow:0 2px 8px #1a29401a}.cat-editor-section{background:var(--c5);border-radius:14px;margin-top:14px;padding:14px}.admin-workspace-switch{gap:8px;margin-bottom:12px;display:flex}.admin-workspace-btn{border:1.5px solid var(--border);color:var(--text2);cursor:pointer;background:#fff;border-radius:12px;flex:1;padding:10px 12px;font-family:Nunito,sans-serif;font-size:12px;font-weight:900}.admin-workspace-btn.active{background:linear-gradient(135deg, var(--c1), var(--c2));color:#fff;border-color:#0000;box-shadow:0 6px 16px #64afdc2e}.admin-user-preview-list,.admin-import-report-list{flex-direction:column;gap:8px;display:flex}.admin-user-preview-card,.admin-import-report-card,.admin-user-card{border:1.5px solid var(--border);box-shadow:0 2px 8px var(--shadow);background:#fff;border-radius:14px;padding:12px}.admin-user-preview-top,.admin-user-card-top{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.admin-user-name{color:var(--text);font-size:13px;font-weight:900;line-height:1.35}.admin-user-email{color:var(--text2);word-break:break-word;font-size:11px;font-weight:700}.admin-helper-text{color:var(--text3);font-size:11px;font-weight:700;line-height:1.45}.admin-user-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-user-actions button{margin-top:0}.admin-report-badge{background:var(--c5);color:var(--c1);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900}.admin-report-badge.error{color:#ff6b6b;background:#fff0f0}.admin-report-badge.warn{color:var(--gold);background:#fff8e6}.admin-course-chip-list{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.admin-course-chip-list .admin-chip{align-items:center;gap:6px;display:inline-flex}.admin-chip-btn{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:900;line-height:1}.admin-course-list{flex-direction:column;gap:8px;display:flex}.admin-course-card{border:1.5px solid var(--border);background:#fff;border-radius:12px;padding:12px}.admin-course-card.active-course{border-color:var(--c1);background:var(--c5)}.admin-course-top{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.admin-course-name{color:var(--text);font-size:13px;font-weight:800;line-height:1.35}.admin-course-desc{color:var(--text3);font-size:11px;font-weight:700;line-height:1.45}.admin-course-actions{gap:8px;display:flex}.admin-course-actions button{cursor:pointer;border:none;border-radius:8px;flex:1;padding:8px 10px;font-family:Nunito,sans-serif;font-size:11px;font-weight:800}.admin-course-actions .open-btn{background:var(--c4);color:var(--c1)}.admin-course-actions .toggle-btn{color:#c58a16;background:#fff8e8}.admin-course-actions .edit-btn{color:#4a78a6;background:#eef7ff}.streak-pill{cursor:pointer;background:#ffffff40;border:1px solid #fff6;border-radius:20px;align-items:center;gap:5px;padding:6px 14px;transition:all .2s;display:flex}.streak-pill:active{transform:scale(.95)}.streak-pill span{font-size:20px}.streak-count{color:#fff;font-family:Unbounded,sans-serif;font-size:14px;font-weight:700}.streak-label{color:#ffffffd9;font-size:11px;font-weight:600}.nav-tabs{gap:4px;padding-bottom:0;display:flex}.nav-tab{color:#ffffffb3;cursor:pointer;text-align:center;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;padding:10px 4px;font-family:Nunito,sans-serif;font-size:11px;font-weight:700;transition:all .2s}.nav-tab.active{color:#fff;border-bottom-color:#fff}.nav-tab:active{opacity:.7}.naparnik-container{max-width:540px;margin:0 auto;padding:0 16px 24px}.naparnik-header{margin-bottom:16px}.naparnik-header-title{color:var(--text);margin-bottom:4px;font-family:Unbounded,sans-serif;font-size:20px;font-weight:700}.naparnik-header-sub{color:var(--text3);font-size:13px}.naparnik-list{flex-direction:column;gap:12px;display:flex}.naparnik-card{background:var(--card);cursor:pointer;border:1px solid #0000;border-radius:16px;padding:16px;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s;box-shadow:0 2px 8px #1a29400f}.naparnik-card:hover{border-color:var(--border);transform:translateY(-3px);box-shadow:0 8px 24px #1a29401a}.naparnik-card-title{color:var(--text);margin-bottom:4px;font-size:15px;font-weight:800;line-height:1.35}.naparnik-card-meta{color:var(--text3);align-items:center;gap:6px;margin-bottom:10px;font-size:12px;display:flex}.naparnik-card-footer{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.naparnik-card-status{border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.naparnik-card-status--done{color:#2e7d32;background:#e8f5e9}.naparnik-card-status--pending{color:#c62828;background:#ffebee}.naparnik-card-status--partial{color:#ef6c00;background:#fff3e0}.naparnik-btn{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px 18px;font-family:Nunito,sans-serif;font-size:13px;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex}.naparnik-btn:active{transform:scale(.97)}.naparnik-btn--primary{background:var(--c1);color:#fff;box-shadow:0 2px 8px #64afdc4d}.naparnik-btn--primary:hover{background:#4a9cc9;box-shadow:0 4px 12px #64afdc66}.naparnik-btn--secondary{background:var(--card);color:var(--text);border:1.5px solid var(--border)}.naparnik-btn--secondary:hover{background:var(--bg);border-color:var(--c1);color:var(--c1)}.naparnik-btn--gold{background:var(--gold);color:#fff;box-shadow:0 2px 8px #f5a6234d}.naparnik-btn--gold:hover{background:#e09512;box-shadow:0 4px 12px #f5a62366}.naparnik-btn--danger{color:#c62828;background:#ffebee}.naparnik-btn--danger:hover{background:#ffcdd2}.naparnik-btn--sm{border-radius:8px;padding:6px 14px;font-size:12px}.naparnik-btn--lg{border-radius:12px;width:100%;padding:12px 20px;font-size:14px}.naparnik-btn--icon{border-radius:10px;width:36px;height:36px;padding:0}.naparnik-detail{animation:.25s fadeIn}.naparnik-detail-back{margin-bottom:14px}.naparnik-detail-header{margin-bottom:16px}.naparnik-detail-title{color:var(--text);margin-bottom:4px;font-family:Unbounded,sans-serif;font-size:18px;font-weight:700;line-height:1.35}.naparnik-detail-sub{color:var(--text3);align-items:center;gap:6px;font-size:13px;display:flex}.naparnik-section-card{background:var(--card);border:1px solid var(--border);border-radius:16px;margin-bottom:12px;padding:16px;box-shadow:0 1px 4px #1a29400a}.naparnik-section-card--highlight{border-color:var(--c1);background:linear-gradient(135deg, var(--card) 0%, #f0f7ff 100%)}.naparnik-section-label{text-transform:uppercase;letter-spacing:.4px;color:var(--text3);align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:800;display:flex}.naparnik-section-body{color:var(--text);white-space:pre-wrap;font-size:13px;line-height:1.6}.naparnik-section-body p{margin:0 0 8px}.naparnik-section-body p:last-child{margin-bottom:0}.naparnik-upload-zone{border:2px dashed var(--border);text-align:center;background:var(--bg);cursor:pointer;border-radius:16px;padding:24px 16px;transition:all .2s}.naparnik-upload-zone:hover,.naparnik-upload-zone--active{border-color:var(--c1);background:#f0f7ff}.naparnik-upload-icon{margin-bottom:8px;font-size:32px}.naparnik-upload-text{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:700}.naparnik-upload-hint{color:var(--text3);font-size:12px}.naparnik-upload-file{color:var(--text);margin-top:10px;font-size:13px;font-weight:700}.naparnik-result{background:linear-gradient(135deg,#f0fff4 0%,#e8f5e9 100%);border:1.5px solid #34c77b44;border-radius:16px;margin-top:14px;padding:18px;animation:.3s slideUp}.naparnik-result-header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.naparnik-result-badge{color:var(--success);background:#34c77b22;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:800}.naparnik-result-grade{color:var(--success);margin-bottom:10px;font-size:28px;font-weight:800}.naparnik-result-body{color:var(--text);font-size:13px;line-height:1.65}.naparnik-result-body h1,.naparnik-result-body h2,.naparnik-result-body h3{color:var(--text);margin:14px 0 8px;font-family:Unbounded,sans-serif;font-size:14px}.naparnik-result-body ul,.naparnik-result-body ol{margin:8px 0;padding-left:18px}.naparnik-result-body li{margin-bottom:4px}.naparnik-form-group{margin-bottom:14px}.naparnik-form-label{text-transform:uppercase;letter-spacing:.4px;color:var(--text3);margin-bottom:6px;font-size:12px;font-weight:800;display:block}.naparnik-input,.naparnik-textarea,.naparnik-select{border:1.5px solid var(--border);background:var(--card);width:100%;color:var(--text);box-sizing:border-box;border-radius:12px;outline:none;padding:11px 14px;font-family:Nunito,sans-serif;font-size:14px;transition:border-color .15s,box-shadow .15s}.naparnik-input:focus,.naparnik-textarea:focus,.naparnik-select:focus{border-color:var(--c1);box-shadow:0 0 0 3px #64afdc1f}.naparnik-textarea{resize:vertical;min-height:80px}.naparnik-empty{text-align:center;padding:40px 20px}.naparnik-empty-icon{margin-bottom:10px;font-size:40px}.naparnik-empty-text{color:var(--text3);font-size:14px;font-weight:700}.naparnik-submission-card{background:var(--card);border:1px solid var(--border);border-radius:16px;margin-bottom:10px;padding:16px}.naparnik-submission-name{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:800}.naparnik-submission-grade{color:var(--text3);margin-bottom:8px;font-size:13px}.naparnik-submission-analysis{background:var(--bg);color:var(--text);border-radius:12px;padding:12px;font-size:12px;line-height:1.6}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.main{max-width:500px;margin:0 auto;padding:16px}.tab-content{display:none}.tab-content.active{display:block}.hero-card{background:var(--card);box-shadow:0 4px 20px var(--shadow);border:1.5px solid var(--border);border-radius:20px;align-items:center;gap:16px;margin-bottom:14px;padding:20px;display:flex}.character-wrap{flex-shrink:0;width:90px;height:90px;position:relative}#character-svg{width:90px;height:90px;transition:all .5s}.character-wrap .aura{opacity:0;pointer-events:none;border-radius:50%;transition:all .5s;position:absolute;inset:-6px}.hero-info{flex:1;min-width:0}.hero-rank{color:var(--c1);text-transform:uppercase;letter-spacing:1px;margin-bottom:2px;font-family:Unbounded,sans-serif;font-size:10px;font-weight:600}.hero-name{color:var(--text);margin-bottom:8px;font-family:Unbounded,sans-serif;font-size:15px;font-weight:700}.xp-bar-wrap{margin-bottom:6px}.xp-bar-label{color:var(--text2);justify-content:space-between;margin-bottom:4px;font-size:11px;font-weight:700;display:flex}.xp-bar{background:var(--c4);border-radius:10px;height:8px;overflow:hidden}.xp-bar-fill{background:linear-gradient(90deg, var(--c1), var(--c2));border-radius:10px;height:100%;transition:width .6s cubic-bezier(.34,1.56,.64,1)}.xp-total{color:var(--c1);font-family:Unbounded,sans-serif;font-size:13px;font-weight:700}.stats-row{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;display:grid}.stat-card{background:var(--card);text-align:center;box-shadow:0 2px 12px var(--shadow);border:1.5px solid var(--border);border-radius:14px;padding:12px 10px}.stat-icon{margin-bottom:4px;font-size:20px}.stat-val{color:var(--text);font-family:Unbounded,sans-serif;font-size:16px;font-weight:700}.stat-lbl{color:var(--text3);font-size:10px;font-weight:700}.section-title{color:var(--text);align-items:center;gap:6px;margin-bottom:10px;font-family:Unbounded,sans-serif;font-size:13px;font-weight:700;display:flex}.week-nav{background:var(--card);box-shadow:0 2px 12px var(--shadow);border:1.5px solid var(--border);border-radius:14px;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;display:flex}.week-btn{background:var(--c4);width:32px;height:32px;color:var(--c1);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:700;transition:all .2s;display:flex}.week-btn:active{background:var(--c3);transform:scale(.9)}.week-info{text-align:center;flex:1}.week-num{color:var(--text);font-family:Unbounded,sans-serif;font-size:12px;font-weight:700}.week-dates{color:var(--text3);font-size:11px;font-weight:600}.week-progress-mini{color:var(--c1);font-size:11px;font-weight:700}.category-block{margin-bottom:16px}.cat-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.cat-name{color:var(--text2);align-items:center;gap:6px;font-size:12px;font-weight:800;display:flex}.cat-dot{border-radius:50%;width:8px;height:8px}.cat-xp{color:var(--text3);font-size:11px;font-weight:700}.task-item{background:var(--card);box-shadow:0 2px 10px var(--shadow);border:1.5px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:12px;align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;transition:all .2s;display:flex}.task-item:active{transform:scale(.98)}.task-item.done{background:var(--c5);border-color:var(--c3)}.task-check{border:2.5px solid var(--c2);background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex}.task-item.done .task-check{background:var(--c1);border-color:var(--c1)}.task-check-icon{opacity:0;font-size:12px;transition:opacity .2s}.task-item.done .task-check-icon{opacity:1}.task-body{flex:1;min-width:0}.task-name{color:var(--text);font-size:13px;font-weight:700;line-height:1.3}.task-item.done .task-name{color:var(--text3);text-decoration:line-through}.task-meta{align-items:center;gap:8px;margin-top:3px;display:flex}.task-xp-badge{color:var(--c1);background:var(--c4);border-radius:6px;padding:2px 7px;font-size:10px;font-weight:800}.task-diff{color:var(--text3);font-size:10px;font-weight:700}.cat-progress-card{background:var(--card);box-shadow:0 2px 12px var(--shadow);border:1.5px solid var(--border);border-radius:14px;margin-bottom:10px;padding:14px}.cat-progress-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.cat-progress-name{color:var(--text);align-items:center;gap:6px;font-size:13px;font-weight:800;display:flex}.cat-progress-pct{color:var(--c1);font-size:12px;font-weight:800}.cat-bar{background:var(--c4);border-radius:10px;height:8px;margin-bottom:4px;overflow:hidden}.cat-bar-fill{border-radius:10px;height:100%;transition:width .6s cubic-bezier(.34,1.56,.64,1)}.cat-stats{color:var(--text3);font-size:11px;font-weight:600}.achievements-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px;display:grid}.badge-card{background:var(--card);text-align:center;box-shadow:0 2px 12px var(--shadow);border:1.5px solid var(--border);border-radius:14px;padding:14px 12px;transition:all .3s}.badge-card.unlocked{border-color:var(--c2);background:linear-gradient(135deg, var(--c5), white)}.badge-card.secret:not(.unlocked){opacity:.6}.badge-icon{filter:grayscale();margin-bottom:8px;font-size:32px;transition:filter .3s}.badge-card.unlocked .badge-icon{filter:grayscale(0)}.badge-name{color:var(--text);margin-bottom:4px;font-size:12px;font-weight:800}.badge-desc{color:var(--text3);margin-bottom:8px;font-size:10px;font-weight:600;line-height:1.3}.badge-prog{color:var(--c1);font-size:10px;font-weight:700}.badge-bar{background:var(--c4);border-radius:4px;height:4px;margin-top:6px;overflow:hidden}.badge-bar-fill{background:linear-gradient(90deg, var(--c1), var(--c2));border-radius:4px;height:100%;transition:width .6s}.reward-card{background:var(--card);box-shadow:0 2px 12px var(--shadow);border:1.5px solid var(--border);border-radius:16px;margin-bottom:12px;padding:16px;transition:all .3s}.reward-card.unlocked{border-color:var(--gold);background:linear-gradient(135deg,#fffdf0,#fff);box-shadow:0 4px 20px #f5a62333}.reward-header{align-items:center;gap:12px;margin-bottom:10px;display:flex}.reward-icon{font-size:28px}.reward-info{flex:1}.reward-name{color:var(--text);font-size:14px;font-weight:800}.reward-cond{color:var(--text3);margin-top:2px;font-size:11px;font-weight:600}.reward-status{background:var(--c4);color:var(--c1);border-radius:8px;padding:4px 10px;font-size:11px;font-weight:800}.reward-card.unlocked .reward-status{color:var(--gold);background:#fff3cd}.reward-bar{background:var(--c4);border-radius:6px;height:6px;margin-bottom:4px;overflow:hidden}.reward-bar-fill{background:linear-gradient(90deg, var(--c1), var(--c2));border-radius:6px;height:100%;transition:width .6s}.reward-card.unlocked .reward-bar-fill{background:linear-gradient(90deg, var(--gold), #f7c96e)}.reward-prog{color:var(--text3);text-align:right;font-size:10px;font-weight:700}.levelup-overlay{z-index:1000;opacity:0;pointer-events:none;background:#64afdcd9;flex-direction:column;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}.levelup-overlay.show{opacity:1;pointer-events:all}.levelup-box{text-align:center;animation:.5s cubic-bezier(.34,1.56,.64,1) levelupBounce}@keyframes levelupBounce{0%{opacity:0;transform:scale(.3)rotate(-10deg)}to{opacity:1;transform:scale(1)rotate(0)}}.levelup-emoji{margin-bottom:16px;font-size:80px}.levelup-text{color:#fff;text-shadow:0 4px 20px #0003;margin-bottom:8px;font-family:Unbounded,sans-serif;font-size:32px;font-weight:900}.levelup-sub{color:#ffffffe6;margin-bottom:24px;font-size:18px;font-weight:700}.levelup-close{color:var(--c1);cursor:pointer;background:#fff;border:none;border-radius:50px;padding:14px 32px;font-family:Unbounded,sans-serif;font-size:14px;font-weight:700;box-shadow:0 4px 20px #0003}.xp-popup{pointer-events:none;color:var(--c1);text-shadow:0 2px 8px #64afdc80;z-index:999;font-family:Unbounded,sans-serif;font-size:16px;font-weight:700;animation:1.2s forwards xpFloat;position:fixed}@keyframes xpFloat{0%{opacity:0;transform:translateY(0)scale(.5)}20%{opacity:1;transform:translateY(-10px)scale(1.2)}80%{opacity:1;transform:translateY(-40px)scale(1)}to{opacity:0;transform:translateY(-60px)scale(.9)}}.star-particle{pointer-events:none;z-index:998;animation:.8s forwards starFly;position:fixed}@keyframes starFly{0%{opacity:1;transform:translate(0)scale(0)}to{transform:translate(var(--dx), var(--dy)) scale(1);opacity:0}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--c3);border-radius:4px}.char-aura-1{box-shadow:0 0 20px var(--c2);border-radius:50%}.char-aura-2{box-shadow:0 0 30px var(--c1);border-radius:50%}.char-aura-3{box-shadow:0 0 40px var(--c1), 0 0 80px var(--c2);border-radius:50%}.char-aura-4{box-shadow:0 0 50px #f5a623, 0 0 100px var(--c1);border-radius:50%;animation:2s infinite alternate auraPulse}@keyframes auraPulse{0%{box-shadow:0 0 50px #f5a623, 0 0 80px var(--c1)}to{box-shadow:0 0 70px #f5a623, 0 0 120px var(--c1)}}.empty-state{text-align:center;color:var(--text3);padding:30px 20px;font-size:13px;font-weight:600}.empty-state .e-icon{margin-bottom:10px;font-size:40px}.auth-screen{z-index:1500;background:linear-gradient(160deg, var(--c3) 0%, var(--bg) 60%);flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.auth-logo{color:var(--c1);letter-spacing:-.5px;margin-bottom:4px;font-family:Unbounded,sans-serif;font-size:22px;font-weight:900}.auth-sub{color:var(--text3);margin-bottom:32px;font-size:13px;font-weight:600}.auth-card{width:100%;max-width:340px;box-shadow:0 8px 40px var(--shadow2);border:1.5px solid var(--border);background:#fff;border-radius:24px;padding:24px 20px}.auth-tabs{background:var(--c5);border-radius:12px;margin-bottom:20px;padding:4px;display:flex}.auth-tab-btn{color:var(--text3);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;padding:8px;font-family:Nunito,sans-serif;font-size:13px;font-weight:800;transition:all .2s}.auth-tab-btn.active{color:var(--c1);box-shadow:0 2px 8px var(--shadow);background:#fff}.auth-field{margin-bottom:12px}.auth-field label{color:var(--text2);margin-bottom:5px;font-size:11px;font-weight:800;display:block}.auth-input{border:1.5px solid var(--border);width:100%;color:var(--text);background:var(--bg);border-radius:12px;outline:none;padding:12px 14px;font-family:Nunito,sans-serif;font-size:14px;font-weight:600;transition:border-color .2s}.auth-input:focus{border-color:var(--c1);background:#fff}.auth-btn-main{background:linear-gradient(135deg, var(--c1), var(--c2));color:#fff;cursor:pointer;border:none;border-radius:14px;width:100%;margin-top:4px;padding:14px;font-family:Unbounded,sans-serif;font-size:13px;font-weight:700;transition:all .2s}.auth-btn-main:active{opacity:.9;transform:scale(.98)}.auth-btn-main:disabled{opacity:.6;cursor:not-allowed}.auth-error{color:#e53e3e;text-align:center;min-height:18px;margin-top:10px;font-size:12px;font-weight:700}.auth-hint{color:var(--text3);text-align:center;margin-top:14px;font-size:11px;font-weight:600;line-height:1.5}.auth-forgot{text-align:center;margin-top:10px}.auth-forgot button{color:var(--c1);cursor:pointer;background:0 0;border:none;font-family:Nunito,sans-serif;font-size:12px;font-weight:700;text-decoration:underline}.quiz-mode-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.quiz-mode-card{background:var(--card);border:1.5px solid var(--border);text-align:center;cursor:pointer;box-shadow:0 2px 10px var(--shadow);border-radius:16px;padding:16px 12px;transition:all .2s}.quiz-mode-card:active{transform:scale(.97)}.quiz-mode-card.active{border-color:var(--c1);background:var(--c5)}.quiz-mode-icon{margin-bottom:6px;font-size:28px}.quiz-mode-name{color:var(--text);margin-bottom:2px;font-size:12px;font-weight:800}.quiz-mode-desc{color:var(--text3);font-size:10px;font-weight:600}.quiz-filter-row{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.quiz-filter-btn{border:1.5px solid var(--border);background:var(--card);color:var(--text2);cursor:pointer;border-radius:20px;padding:6px 12px;font-family:Nunito,sans-serif;font-size:11px;font-weight:800;transition:all .2s}.quiz-filter-btn.active{background:var(--c1);border-color:var(--c1);color:#fff}.quiz-question-card{background:var(--card);box-shadow:0 4px 20px var(--shadow);border:1.5px solid var(--border);border-radius:20px;margin-bottom:14px;padding:20px}.quiz-meta{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.quiz-badge{background:var(--c4);color:var(--c1);border-radius:6px;padding:3px 8px;font-size:10px;font-weight:800}.quiz-badge.olympiad{color:var(--gold);background:#fff3cd}.quiz-badge.theme{background:var(--c5);color:var(--text2)}.quiz-question-text{color:var(--text);margin-bottom:16px;font-size:15px;font-weight:700;line-height:1.5}.quiz-num{color:var(--text3);margin-bottom:8px;font-family:Unbounded,sans-serif;font-size:11px}.quiz-options{flex-direction:column;gap:8px;display:flex}.quiz-option{border:1.5px solid var(--border);background:var(--bg);cursor:pointer;color:var(--text);text-align:left;border-radius:12px;padding:12px 14px;font-family:Nunito,sans-serif;font-size:13px;font-weight:700;line-height:1.4;transition:all .2s}.quiz-option:active{transform:scale(.98)}.quiz-option.selected{border-color:var(--c1);background:var(--c5)}.quiz-option.correct{border-color:var(--success);color:#1a6b3c;background:#f0fff6}.quiz-option.wrong{color:#c0392b;background:#fff0f0;border-color:#ff6b6b}.quiz-match-pairs{flex-direction:column;gap:12px;margin-bottom:12px;display:flex}.quiz-match-row{align-items:stretch;gap:12px;display:flex}.quiz-match-term{background:var(--c4);min-width:0;color:var(--text);border-radius:16px;flex:1;padding:14px 16px;font-size:13px;font-weight:800;line-height:1.35}.quiz-match-select{border:1.5px solid var(--border);width:100%;min-width:0;color:var(--text);appearance:none;background:#fff;border-radius:16px;outline:none;flex:1;padding:14px 16px;font-family:Nunito,sans-serif;font-size:13px;font-weight:800}@media (width<=700px){.header{padding-left:12px;padding-right:12px}.header-top{gap:10px;margin-bottom:10px}.header-title{font-size:15px;line-height:1.15}.streak-pill{border-radius:16px;padding:6px 8px}.streak-count{font-size:12px}.streak-label{font-size:10px}.nav-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:0;padding-bottom:2px;overflow-x:visible}.nav-tabs::-webkit-scrollbar{display:none}.nav-tab{white-space:normal;flex:1 1 0;min-width:0;padding:10px 2px;font-size:10px;line-height:1.15}.main{padding:12px}}@media (width<=520px){.quiz-question-card{border-radius:18px;padding:16px}.quiz-question-text{font-size:15px;line-height:1.4}.quiz-match-row{flex-direction:column;gap:10px}.quiz-match-term,.quiz-match-select{width:100%}}.quiz-feedback{border-radius:14px;margin-top:14px;padding:14px;display:none}.quiz-feedback.show{display:block}.quiz-feedback.correct-fb{border:1.5px solid var(--success);background:#f0fff6}.quiz-feedback.wrong-fb{background:#fff0f0;border:1.5px solid #ff6b6b}.quiz-feedback-title{margin-bottom:6px;font-family:Unbounded,sans-serif;font-size:13px;font-weight:700}.quiz-feedback.correct-fb .quiz-feedback-title{color:#1a6b3c}.quiz-feedback.wrong-fb .quiz-feedback-title{color:#c0392b}.quiz-feedback-text{color:var(--text2);font-size:12px;font-weight:600;line-height:1.5}.quiz-ai-analysis{color:var(--text2);background:linear-gradient(#f5faff 0%,#eef6ff 100%);border:1.5px solid #d7e8fb;border-radius:14px;margin-top:14px;padding:14px 14px 12px;font-size:13px;font-weight:600;line-height:1.55;display:none;box-shadow:inset 0 1px #fffc}.quiz-ai-analysis.show{display:block}.quiz-ai-analysis.loading{color:#6b87a8}.quiz-ai-analysis-title{color:#4a78a8;align-items:center;gap:8px;margin-bottom:8px;font-family:Unbounded,sans-serif;font-size:12px;font-weight:700;display:flex}.quiz-ai-analysis-body{color:var(--text2)}.quiz-ai-analysis.soft{background:linear-gradient(#f8fafc 0%,#f2f5f9 100%);border-color:#e4eaf2}.quiz-ai-analysis.error{background:linear-gradient(#fff7f7 0%,#fff1f1 100%);border-color:#f5caca}.quiz-ai-analysis-tip{color:#7a8aa0;margin-top:8px;font-size:11px}.quiz-action-row{gap:10px;margin-top:14px;display:flex}.quiz-btn{cursor:pointer;border:none;border-radius:14px;flex:1;padding:13px;font-family:Unbounded,sans-serif;font-size:12px;font-weight:700;transition:all .2s}.quiz-btn:active{transform:scale(.97)}.quiz-btn.primary{background:linear-gradient(135deg, var(--c1), var(--c2));color:#fff}.quiz-btn.secondary{background:var(--c5);color:var(--c1);border:1.5px solid var(--border)}.quiz-stats-row{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;display:grid}.quiz-stat-card{background:var(--card);text-align:center;border:1.5px solid var(--border);box-shadow:0 2px 8px var(--shadow);border-radius:14px;padding:12px 8px}.quiz-stat-val{color:var(--c1);font-family:Unbounded,sans-serif;font-size:18px;font-weight:700}.quiz-stat-lbl{color:var(--text3);font-size:10px;font-weight:700}.weak-theme-item{background:var(--card);border:1.5px solid var(--border);box-shadow:0 2px 8px var(--shadow);border-radius:12px;align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;display:flex}.weak-theme-name{color:var(--text);flex:1;font-size:13px;font-weight:700}.weak-theme-pct{font-family:Unbounded,sans-serif;font-size:13px;font-weight:700}.weak-theme-pct.bad{color:#ff6b6b}.weak-theme-pct.ok{color:var(--gold)}.weak-theme-pct.good{color:var(--success)}.quiz-type-tabs{background:var(--c5);border-radius:10px;margin-bottom:12px;padding:3px;display:flex}.quiz-type-tab{color:var(--text3);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:7px 4px;font-family:Nunito,sans-serif;font-size:11px;font-weight:800;transition:all .2s}.quiz-type-tab.active{color:var(--c1);box-shadow:0 2px 6px var(--shadow);background:#fff}.admin-modal-overlay{z-index:1000;opacity:0;pointer-events:none;background:#1a2940eb;flex-direction:column;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}.admin-modal-overlay.show{opacity:1;pointer-events:all}.admin-badge{background:linear-gradient(135deg, var(--gold), #f7c96e);color:#fff;letter-spacing:.5px;border-radius:6px;padding:3px 8px;font-family:Unbounded,sans-serif;font-size:10px;font-weight:800}.cal-header{background:var(--card);box-shadow:0 2px 12px var(--shadow);border:1.5px solid var(--border);border-radius:14px;justify-content:space-between;align-items:center;margin-bottom:14px;padding:12px 14px;display:flex}.cal-month-label{color:var(--text);text-transform:capitalize;font-family:Unbounded,sans-serif;font-size:13px;font-weight:700}.cal-nav-btn{background:var(--c4);width:32px;height:32px;color:var(--c1);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;font-weight:700;transition:all .2s;display:flex}.cal-nav-btn:active{transform:scale(.9)}.cal-grid{background:var(--card);box-shadow:0 2px 12px var(--shadow);border:1.5px solid var(--border);border-radius:16px;margin-bottom:16px;overflow:hidden}.cal-weekdays{background:var(--c4);grid-template-columns:repeat(7,1fr);padding:8px 0 6px;display:grid}.cal-wd{text-align:center;color:var(--text3);font-size:10px;font-weight:800}.cal-days{grid-template-columns:repeat(7,1fr);gap:2px;padding:6px;display:grid}.cal-day{aspect-ratio:1;cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:2px;transition:all .15s;display:flex;position:relative}.cal-day:active{transform:scale(.92)}.cal-day.empty{cursor:default}.cal-day.today{background:var(--c1)}.cal-day.today .cal-day-num{color:#fff;font-weight:900}.cal-day.has-event{background:var(--c5);border:1.5px solid var(--c3)}.cal-day.has-deadline{background:#fff3e0;border:1.5px solid #ffd180}.cal-day-num{color:var(--text);font-size:12px;font-weight:700;line-height:1}.cal-day.other-month .cal-day-num{color:var(--text3)}.cal-dot{border-radius:50%;width:4px;height:4px;margin-top:2px}.cal-dot.event{background:var(--c1)}.cal-dot.deadline{background:var(--gold)}.event-card{background:var(--card);box-shadow:0 2px 10px var(--shadow);border:1.5px solid var(--border);border-radius:14px;align-items:flex-start;gap:12px;margin-bottom:10px;padding:12px 14px;display:flex}.event-card.lecture{border-left:4px solid #64afdc}.event-card.seminar{border-left:4px solid #5bb8a8}.event-card.exam{border-left:4px solid #8b6fd6}.event-card.deadline{border-left:4px solid var(--gold)}.event-date-badge{text-align:center;background:var(--c4);border-radius:10px;min-width:40px;padding:6px 4px}.event-card.lecture .event-date-badge{background:#eef8ff}.event-card.seminar .event-date-badge{background:#f0fffa}.event-card.exam .event-date-badge{background:#f6f1ff}.event-card.deadline .event-date-badge{background:#fff3e0}.event-date-day{color:var(--c1);font-family:Unbounded,sans-serif;font-size:16px;font-weight:700;line-height:1}.event-card.lecture .event-date-day{color:#64afdc}.event-card.seminar .event-date-day{color:#5bb8a8}.event-card.exam .event-date-day{color:#8b6fd6}.event-card.deadline .event-date-day{color:var(--gold)}.event-date-mon{color:var(--text3);text-transform:uppercase;font-size:9px;font-weight:800}.event-body{flex:1;min-width:0}.event-title{color:var(--text);margin-bottom:2px;font-size:13px;font-weight:700}.event-desc{color:var(--text3);font-size:11px;font-weight:600}.event-type-badge{border-radius:6px;flex-shrink:0;align-self:flex-start;padding:3px 8px;font-size:10px;font-weight:800}.event-type-badge.lecture{color:#64afdc;background:#eef8ff}.event-type-badge.seminar{color:#5bb8a8;background:#f0fffa}.event-type-badge.exam{color:#8b6fd6;background:#f6f1ff}.event-type-badge.deadline{color:var(--gold);background:#fff3cd}.admin-section{background:linear-gradient(135deg,#fff9f0,#fff);border:1.5px solid #ffe4a0;border-radius:16px;margin-bottom:14px;padding:16px;box-shadow:0 2px 12px #f5a6231a}.admin-section-header{cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:0;display:flex}.admin-section-title{color:var(--gold);text-align:left;align-items:center;gap:6px;font-family:Unbounded,sans-serif;font-size:12px;font-weight:700;display:flex}.admin-section-arrow{color:var(--gold);flex-shrink:0;font-size:14px;font-weight:900;transition:transform .2s}.admin-section.open .admin-section-arrow{transform:rotate(180deg)}.admin-section-body{margin-top:12px;display:none}.admin-section.open .admin-section-body{display:block}.admin-inline-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.admin-task-item{border:1.5px solid var(--border);box-shadow:0 2px 8px var(--shadow);background:#fff;border-radius:12px;margin-bottom:8px;padding:12px}.admin-task-top{justify-content:space-between;gap:10px;margin-bottom:8px;display:flex}.admin-task-name{color:var(--text);font-size:13px;font-weight:800;line-height:1.35}.admin-task-meta{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.admin-chip{background:var(--c5);color:var(--text2);border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800}.admin-task-actions{gap:8px;display:flex}.admin-task-actions button{cursor:pointer;border:none;border-radius:8px;flex:1;padding:8px 10px;font-family:Nunito,sans-serif;font-size:11px;font-weight:800}.admin-task-actions .edit-btn{background:var(--c4);color:var(--c1)}.admin-task-actions .delete-btn{color:#ff6b6b;background:#fff0f0}@media (width<=520px){.admin-inline-grid{grid-template-columns:1fr}}.admin-form-row{margin-bottom:10px}.admin-label{color:var(--text2);margin-bottom:4px;font-size:11px;font-weight:800;display:block}.admin-input,.admin-select,.admin-textarea{border:1.5px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:10px;outline:none;padding:10px 12px;font-family:Nunito,sans-serif;font-size:13px;font-weight:600;transition:border-color .2s}.admin-input:focus,.admin-select:focus,.admin-textarea:focus{border-color:var(--c1)}.admin-textarea{resize:vertical;min-height:60px}.admin-btn{background:linear-gradient(135deg, var(--gold), #f7c96e);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;margin-top:4px;padding:12px;font-family:Unbounded,sans-serif;font-size:12px;font-weight:700;transition:all .2s}.admin-btn:active{opacity:.9;transform:scale(.98)}.admin-btn.danger{background:linear-gradient(135deg,#ff6b6b,#ff9898)}.admin-btn.blue{background:linear-gradient(135deg, var(--c1), var(--c2))}.del-btn{cursor:pointer;opacity:.5;background:0 0;border:none;padding:4px;font-size:16px;transition:opacity .2s}.del-btn:hover{opacity:1}.student-row{background:var(--card);border:1.5px solid var(--border);box-shadow:0 2px 8px var(--shadow);border-radius:12px;margin-bottom:8px;padding:12px 14px}.student-name{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:800}.student-stats{color:var(--text3);margin-bottom:6px;font-size:11px;font-weight:600}.student-bar{background:var(--c4);border-radius:6px;height:6px;overflow:hidden}.student-bar-fill{background:linear-gradient(90deg, var(--c1), var(--c2));border-radius:6px;height:100%;transition:width .6s}.toast{background:var(--text);color:#fff;z-index:3000;white-space:nowrap;border-radius:50px;padding:12px 20px;font-size:13px;font-weight:700;transition:transform .3s cubic-bezier(.34,1.56,.64,1);position:fixed;bottom:20px;left:50%;transform:translate(-50%)translateY(80px)}.toast.show{transform:translate(-50%)translateY(0)}.lib-container{color:var(--text,#1a2940);font-family:Nunito,sans-serif}.lib-container h2{color:var(--text,#1a2940);margin:0 0 16px;font-family:Unbounded,sans-serif;font-size:22px;font-weight:700}.lib-tabs{scrollbar-width:none;-ms-overflow-style:none;gap:4px;margin-bottom:16px;padding-bottom:4px;display:flex;overflow-x:auto}.lib-tabs::-webkit-scrollbar{display:none}.lib-tab-btn{white-space:nowrap;cursor:pointer;background:var(--card,#fff);min-width:0;color:var(--text,#1a2940);border:none;border-radius:10px;flex:1;padding:10px 14px;font-family:Nunito,sans-serif;font-size:14px;font-weight:600;transition:all .15s;box-shadow:0 1px 4px #0000000f}.lib-tab-btn:hover{background:var(--bg,#f4faff)}.lib-tab-btn.active{background:var(--c1,#64afdc);color:#fff;box-shadow:0 2px 8px #64afdc59}.lib-search-input{border:1px solid var(--border,#e0e8f0);background:var(--card,#fff);width:100%;color:var(--text,#1a2940);box-sizing:border-box;border-radius:10px;outline:none;padding:12px 16px;font-family:Nunito,sans-serif;font-size:14px;box-shadow:0 1px 4px #0000000a}.lib-search-input:focus{border-color:var(--c1,#64afdc);box-shadow:0 0 0 3px #64afdc26}.lib-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.lib-filter-select{border:1px solid var(--border,#e0e8f0);background:var(--card,#fff);min-width:140px;color:var(--text,#1a2940);cursor:pointer;border-radius:8px;outline:none;flex:1;padding:8px 12px;font-family:Nunito,sans-serif;font-size:13px}.lib-card{background:var(--card,#fff);box-shadow:0 2px 8px var(--shadow,#64afdc26);color:var(--text,#1a2940);overflow-wrap:break-word;word-break:break-word;border-radius:12px;padding:16px;font-family:Nunito,sans-serif;transition:transform .15s,box-shadow .15s}.lib-card:hover{box-shadow:0 4px 16px var(--shadow,#64afdc33);transform:translateY(-2px)}.lib-card-title{color:var(--text,#1a2940);overflow-wrap:break-word;word-break:break-word;margin-bottom:8px;font-family:Unbounded,sans-serif;font-size:15px;font-weight:600;line-height:1.35}.lib-content{color:var(--text,#1a2940);opacity:.85;white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;max-width:100%;font-size:14px;line-height:1.6}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.lib-grid-webinars{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.lib-grid-books{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.lib-list{flex-direction:column;gap:12px;display:flex}.lib-tag{color:var(--c1,#64afdc);background:#64afdc1a;border-radius:20px;margin-bottom:4px;margin-right:4px;padding:2px 10px;font-family:Nunito,sans-serif;font-size:12px;display:inline-block}.lib-btn{background:var(--c1,#64afdc);color:#fff;cursor:pointer;text-align:center;border:none;border-radius:8px;padding:8px 16px;font-family:Nunito,sans-serif;font-size:14px;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-block}.lib-btn:hover{opacity:.85}.lib-btn-ghost{color:var(--c1,#64afdc);border:1px solid var(--c1,#64afdc);cursor:pointer;text-align:center;background:0 0;border-radius:8px;padding:8px 16px;font-family:Nunito,sans-serif;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s;display:inline-block}.lib-btn-ghost:hover{background:#64afdc0d}.lib-empty{text-align:center;color:var(--text,#1a2940);flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;font-family:Nunito,sans-serif;display:flex}.lib-empty-icon{opacity:.4;margin-bottom:12px;font-size:48px}.lib-empty-text{opacity:.5;font-size:16px}.lib-video-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1a294099;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.lib-video-modal{background:var(--card,#fff);width:100%;max-width:900px;box-shadow:0 20px 60px var(--shadow2,#64afdc4d);border-radius:16px;position:relative;overflow:hidden}.lib-video-modal-header{border-bottom:1px solid var(--border,#e8f1f8);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.lib-video-modal-title{color:var(--text,#1a2940);padding-right:16px;font-family:Unbounded,sans-serif;font-size:16px;font-weight:600}.lib-video-modal-close{cursor:pointer;color:var(--text,#1a2940);opacity:.5;background:0 0;border:none;flex-shrink:0;padding:4px;font-size:24px;line-height:1}.lib-video-modal-close:hover{opacity:1}.lib-video-wrap{aspect-ratio:16/9;background:#000;width:100%;position:relative}.lib-video-wrap iframe{border:none;width:100%;height:100%;position:absolute;inset:0}.lib-book-cover{aspect-ratio:2/3;background:linear-gradient(135deg, var(--bg,#f4faff), #e8f1f8);border-radius:8px;justify-content:center;align-items:center;width:100%;max-height:200px;display:flex;overflow:hidden}.lib-book-cover img{object-fit:cover;width:100%;height:100%}.lib-book-cover-placeholder{opacity:.3;font-size:48px}.lib-difficulty-badge{border-radius:20px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.lib-difficulty-beginner{color:var(--success,#34c77b);background:#34c77b1a}.lib-difficulty-intermediate{color:var(--gold,#f5a623);background:#f5a6231a}.lib-difficulty-advanced{color:#e74c3c;background:#e74c3c1a}.lib-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.lib-admin-table{border-collapse:collapse;background:#fff;border-radius:12px;width:100%;margin-top:12px;overflow:hidden}.lib-admin-table th{text-align:left;color:var(--text,#1a2940);background:#f8f9fa;border-bottom:2px solid #eee;padding:12px;font-size:13px;font-weight:600}.lib-admin-table td{color:#333;border-bottom:1px solid #eee;padding:10px 12px;font-size:13px}.lib-form-card{background:#fff;border-radius:12px;margin-top:16px;padding:20px}.lib-form-group{margin-bottom:16px}.lib-form-label{color:var(--text,#1a2940);margin-bottom:4px;font-size:14px;font-weight:600;display:block}.lib-form-input,.lib-form-textarea,.lib-form-select{box-sizing:border-box;border:1px solid #ddd;border-radius:8px;width:100%;padding:10px;font-family:Nunito,sans-serif;font-size:14px}.lib-form-input:focus,.lib-form-textarea:focus,.lib-form-select:focus{border-color:var(--c1,#64afdc);outline:none;box-shadow:0 0 0 3px #64afdc26}.lib-note-icon{background:var(--bg,#f4faff);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:flex}@media (width<=640px){.lib-grid,.lib-grid-books{grid-template-columns:1fr}.lib-tabs{gap:2px}.lib-tab-btn{padding:8px 10px;font-size:12px}.lib-filters{flex-direction:column;align-items:stretch}.lib-filter-select{min-width:100%}.lib-video-modal{margin:8px}}
