.opl-page[data-v-6ff759cc]{box-sizing:border-box;min-height:calc(100vh - 120px);padding:10px;background:#f9fafb;font-family:Avenir,Helvetica,Arial,sans-serif}.opl-filter-card[data-v-6ff759cc]{margin-bottom:15px;padding:16px;background:#fff;border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.04)}.opl-filter-top[data-v-6ff759cc]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:15px;padding-bottom:24px;border-bottom:1px solid #f3f4f6}.opl-search-block[data-v-6ff759cc]{display:flex;flex:1;flex-wrap:wrap;gap:12px;align-items:center;min-width:200px;max-width:480px}.opl-search-input-wrap[data-v-6ff759cc]{position:relative;min-width:160px}.opl-search-input-wrap--grow[data-v-6ff759cc]{flex:1;min-width:0}.opl-search-submit[data-v-6ff759cc]{flex-shrink:0}.opl-search-submit.el-button[data-v-6ff759cc]{height:46px;padding:0 20px;font-size:14px;font-weight:500;line-height:44px;border-radius:4px}.opl-search-submit[data-v-6ff759cc] [class*=el-icon-]{margin-right:6px;font-size:14px}.opl-search-submit[data-v-6ff759cc] span{display:inline-flex;align-items:center}.opl-search-icon[data-v-6ff759cc]{position:absolute;left:16px;top:50%;transform:translateY(-50%);z-index:2;font-size:14px;color:#9ca3af;pointer-events:none}.opl-search-el[data-v-6ff759cc]{width:70%}.opl-search-el[data-v-6ff759cc] .el-input__inner{height:46px;line-height:46px;padding-left:44px;padding-right:12px;font-size:14px;color:#374151;background:none;border:1px solid #e5e7eb;border-radius:12px;transition:background .2s,border-color .2s,box-shadow .2s}.opl-search-el[data-v-6ff759cc] .el-input__inner:hover{border-color:#d1d5db}.opl-search-el[data-v-6ff759cc] .el-input__inner:focus{background:#fff;border-color:#409eff;box-shadow:0 0 0 4px rgba(37,99,235,.08)}.opl-top-controls[data-v-6ff759cc]{display:flex;flex-wrap:wrap;align-items:center;gap:15px;width:100%}@media (min-width:768px){.opl-top-controls[data-v-6ff759cc]{width:auto}}.opl-sort-el[data-v-6ff759cc]{width:140px;flex-shrink:0}.opl-sort-el[data-v-6ff759cc] .el-input__inner{height:38px;line-height:38px;padding-right:30px;font-size:14px;color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:12px;transition:border-color .2s,box-shadow .2s}.opl-sort-el[data-v-6ff759cc] .el-input__inner:focus{border-color:#409eff;box-shadow:0 0 0 4px rgba(37,99,235,.08)}.opl-btn-my-lists-el[data-v-6ff759cc]{flex-shrink:0;font-weight:700;border-width:1px!important;border-color:#409eff!important;background-color:#fff!important;border-radius:12px!important;padding:10px 20px!important;height:38px!important}.opl-btn-my-lists-el[data-v-6ff759cc]:hover{color:#409eff!important;box-shadow:0 4px 12px rgba(37,99,235,.15)!important}.opl-view-toggle-el[data-v-6ff759cc]{flex-shrink:0;padding:4px!important;background:#f3f4f6!important;border-radius:8px!important}.opl-view-toggle-el[data-v-6ff759cc] .el-button{padding:8px 14px!important;margin:0!important;font-size:14px!important;border:none!important;border-radius:6px!important}.opl-view-toggle-el[data-v-6ff759cc] .el-button--default.is-plain{color:#6b7280!important;background:transparent!important}.opl-view-toggle-el[data-v-6ff759cc] .el-button--primary{color:#409eff!important;background:#fff!important;box-shadow:0 1px 2px rgba(0,0,0,.06)!important}.opl-scope-radio[data-v-6ff759cc]{flex:1;min-width:0}.opl-scope-radio.opl-pill-group[data-v-6ff759cc]{display:flex!important;flex-wrap:wrap;gap:15px;align-items:center;line-height:normal}.opl-scope-radio[data-v-6ff759cc] .el-radio-button{margin:0!important}.opl-scope-radio[data-v-6ff759cc] .el-radio-button__inner{padding:6px 20px!important;font-size:14px!important;font-weight:500;line-height:1.5;border-radius:999px!important;border:1px solid #e5e7eb!important;color:#1f2937;box-shadow:none!important}.opl-scope-radio[data-v-6ff759cc] .el-radio-button:first-child .el-radio-button__inner{border-left:1px solid #e5e7eb!important;border-radius:999px!important}.opl-scope-radio[data-v-6ff759cc] .el-radio-button:last-child .el-radio-button__inner{border-radius:999px!important}.opl-scope-radio[data-v-6ff759cc] .el-radio-button.is-active .el-radio-button__inner{color:#fff!important;background-color:#409eff!important;border-color:#409eff!important;box-shadow:none!important}.opl-scope-radio[data-v-6ff759cc] .el-radio-button__inner:hover{color:#409eff}.opl-scope-radio[data-v-6ff759cc] .el-radio-button.is-active .el-radio-button__inner:hover{color:#fff!important;background-color:#3a8ee6!important;border-color:#3a8ee6!important;box-shadow:none!important}.opl-filter-rows[data-v-6ff759cc]{display:flex;flex-direction:column;gap:15px;padding-top:15px}.opl-filter-row[data-v-6ff759cc]{display:flex;flex-wrap:wrap;align-items:flex-start;gap:15px}.opl-filter-label[data-v-6ff759cc]{flex-shrink:0;width:80px;padding-top:6px;font-size:14px;font-weight:600;color:#1f2937}.opl-pill-group[data-v-6ff759cc]{display:flex;flex-wrap:wrap;gap:15px;align-items:center}.opl-pill-group--wrap[data-v-6ff759cc]{flex:1;min-width:0}.opl-filter-btn[data-v-6ff759cc]{padding:6px 20px;font-size:14px;font-weight:500;color:#1f2937;background:#fff;border:1px solid #e5e7eb;border-radius:999px;cursor:pointer;transition:background .2s,color .2s,border-color .2s,box-shadow .2s;font-family:inherit}.opl-filter-btn[data-v-6ff759cc]:hover{background:none}.opl-filter-btn--active[data-v-6ff759cc]{background:#409eff;color:#fff;border-color:#409eff}.opl-filter-btn--active[data-v-6ff759cc]:hover{background:#3a8ee6;border-color:#3a8ee6;color:#fff}.opl-filter-btn--cat-active[data-v-6ff759cc]{color:#fff;background:#409eff;border-color:#409eff;box-shadow:none}.opl-filter-btn--cat-active[data-v-6ff759cc]:hover{background:#3a8ee6;border-color:#3a8ee6;color:#fff}.opl-filter-btn--sub-all[data-v-6ff759cc]{font-weight:600;border-color:transparent;box-shadow:0 1px 2px rgba(0,0,0,.05)}.opl-filter-btn--sub-on[data-v-6ff759cc]{background:#409eff!important;color:#fff!important;border-color:transparent!important}.opl-filter-btn--sub-on[data-v-6ff759cc]:hover{background:#3a8ee6!important;border-color:transparent!important;color:#fff!important}.opl-filter-btn--sub[data-v-6ff759cc]{display:inline-flex;align-items:center;gap:8px;background:none;border-color:transparent}.opl-filter-btn--sub[data-v-6ff759cc]:hover{background:#f3f4f6}.opl-sub-dot[data-v-6ff759cc]{width:6px;height:6px;border-radius:50%;background:#9ca3af;flex-shrink:0}.opl-filter-btn--sub-on .opl-sub-dot[data-v-6ff759cc]{background:#fff}.opl-sub-hint[data-v-6ff759cc]{padding:6px 0;font-size:14px;color:#9ca3af}.opl-content-wrap[data-v-6ff759cc]{margin-bottom:15px}.opl-card-grid[data-v-6ff759cc]{display:grid;grid-template-columns:1fr;row-gap:15px;column-gap:15px;width:100%;box-sizing:border-box}@media (min-width:768px){.opl-card-grid[data-v-6ff759cc]{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.opl-card-grid[data-v-6ff759cc]{grid-template-columns:repeat(4,1fr)}}.opl-problem-card[data-v-6ff759cc]{position:relative;display:flex;flex-direction:column;margin:0;padding:16px;overflow:hidden;cursor:pointer;background:#fff;border-radius:12px;transition:transform .2s ease,box-shadow .2s ease}.opl-problem-card[data-v-6ff759cc]:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.08),0 4px 6px -4px rgba(0,0,0,.06)}.opl-card-gradient[data-v-6ff759cc]{position:absolute;top:0;right:0;width:96px;height:96px;margin:-16px -16px 0 0;border-bottom-left-radius:100%;opacity:.35;transition:transform .2s ease}.opl-problem-card:hover .opl-card-gradient[data-v-6ff759cc]{transform:scale(1.1)}.opl-card-gradient--exam[data-v-6ff759cc]{background:linear-gradient(135deg,rgba(59,130,246,.45),transparent)}.opl-card-gradient--contest[data-v-6ff759cc]{background:linear-gradient(135deg,rgba(249,115,22,.45),transparent)}.opl-card-gradient--training[data-v-6ff759cc]{background:linear-gradient(135deg,rgba(168,85,247,.45),transparent)}.opl-card-gradient--course[data-v-6ff759cc]{background:linear-gradient(135deg,rgba(34,197,94,.45),transparent)}.opl-card-gradient--featured[data-v-6ff759cc]{background:linear-gradient(135deg,rgba(239,68,68,.45),transparent)}.opl-card-gradient--other[data-v-6ff759cc]{background:linear-gradient(135deg,rgba(107,114,128,.35),transparent)}.opl-card-head[data-v-6ff759cc]{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.opl-type-pill[data-v-6ff759cc]{display:inline-block;padding:4px 10px;font-size:12px;font-weight:700;border-radius:8px;border:1px solid transparent}.opl-type-pill--sm[data-v-6ff759cc]{padding:3px 8px}.opl-type-pill--exam[data-v-6ff759cc]{color:#409eff;background:#eff6ff;border-color:#dbeafe}.opl-type-pill--contest[data-v-6ff759cc]{color:#ea580c;background:#fff7ed;border-color:#fed7aa}.opl-type-pill--training[data-v-6ff759cc]{color:#9333ea;background:#faf5ff;border-color:#e9d5ff}.opl-type-pill--course[data-v-6ff759cc]{color:#16a34a;background:#f0fdf4;border-color:#bbf7d0}.opl-type-pill--featured[data-v-6ff759cc]{color:#dc2626;background:#fef2f2;border-color:#fecaca}.opl-type-pill--other[data-v-6ff759cc]{color:#1f2937;background:none;border-color:#e5e7eb}.opl-sub-pill[data-v-6ff759cc]{display:inline-block;padding:4px 10px;font-size:12px;font-weight:700;color:#1f2937;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px}.opl-sub-pill--sm[data-v-6ff759cc]{padding:3px 8px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opl-card-title[data-v-6ff759cc]{position:relative;z-index:1;margin:0 0 15px;font-size:18px;font-weight:700;line-height:1.35;color:#1f2937;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.opl-problem-card:hover .opl-card-title[data-v-6ff759cc]{color:#409eff}.opl-card-meta[data-v-6ff759cc]{position:relative;z-index:1;margin-top:auto}.opl-card-row[data-v-6ff759cc]{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;font-size:14px}.opl-card-row-lab[data-v-6ff759cc]{color:#6b7280;font-weight:600}.opl-card-row-lab .opl-card-ico[data-v-6ff759cc]{margin-right:6px;color:#d1d5db}.opl-card-row-val[data-v-6ff759cc]{font-weight:700;color:#1f2937}.opl-card-unit[data-v-6ff759cc]{margin-left:2px;font-size:12px;font-weight:400;color:#9ca3af}.opl-card-progress-block[data-v-6ff759cc]{padding-top:12px;border-top:1px solid #f9fafb}.opl-card-progress-block[data-v-6ff759cc] .el-progress{margin:0}.opl-card-progress-block[data-v-6ff759cc] .el-progress-bar__outer{border-radius:999px;background:#e5e7eb}.opl-card-progress-top[data-v-6ff759cc]{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:4px}.opl-card-progress-lab[data-v-6ff759cc]{font-size:12px;font-weight:600;color:#6b7280}.opl-card-progress-pct[data-v-6ff759cc]{font-size:18px;font-weight:700;line-height:1}.opl-rate--0[data-v-6ff759cc]{color:#9ca3af}.opl-rate--low[data-v-6ff759cc]{color:#b45309}.opl-rate--mid[data-v-6ff759cc]{color:#409eff}.opl-rate--high[data-v-6ff759cc]{color:#16a34a}.opl-bar--0[data-v-6ff759cc]{background:#e5e7eb}.opl-bar--yellow[data-v-6ff759cc]{background:#fde68a}.opl-bar--blue[data-v-6ff759cc]{background:#409eff}.opl-bar--green[data-v-6ff759cc]{background:#16a34a}.opl-bar--yellow-g[data-v-6ff759cc]{background:linear-gradient(90deg,#fef9c3,#fde047)}.opl-bar--blue-g[data-v-6ff759cc]{background:linear-gradient(90deg,#93c5fd,#409eff)}.opl-bar--green-g[data-v-6ff759cc]{background:linear-gradient(90deg,#86efac,#22c55e)}.opl-list-card[data-v-6ff759cc]{overflow:hidden;background:#fff;border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.04);transition:box-shadow .2s ease}.opl-list-card[data-v-6ff759cc]:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.06),0 4px 6px -4px rgba(0,0,0,.06)}.opl-list-card--table[data-v-6ff759cc]{padding:0}.opl-op-btn[data-v-6ff759cc]{padding:4px 8px;font-size:13px;font-weight:500;color:#409eff;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:background .2s,color .2s;font-family:inherit}.opl-op-btn[data-v-6ff759cc]:hover{background:rgba(37,99,235,.08);color:#3a8ee6}.opl-op-btn[data-v-6ff759cc]:focus{outline:none;background:rgba(37,99,235,.12)}.opl-el-table[data-v-6ff759cc]{width:100%}.opl-el-table[data-v-6ff759cc]:before{display:none}.opl-el-table[data-v-6ff759cc] .el-table__header-wrapper th{background:rgba(249,250,251,.92)!important;font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #f3f4f6}.opl-el-table[data-v-6ff759cc] .el-table__body tr:hover>td{background:rgba(239,246,255,.35)!important}.opl-el-table[data-v-6ff759cc] .el-table__body tr:hover .opl-list-title{color:#409eff}.opl-el-table[data-v-6ff759cc] .el-table__body tr{cursor:pointer}.opl-el-table[data-v-6ff759cc] .el-table__empty-block{min-height:220px}.opl-list-prog-el[data-v-6ff759cc]{flex:1;max-width:112px;min-width:72px}.opl-list-prog-el[data-v-6ff759cc] .el-progress-bar__outer{border-radius:999px;background:#f3f4f6}.opl-native-table[data-v-6ff759cc]{width:100%;text-align:left;border-collapse:collapse;font-size:14px}.opl-th[data-v-6ff759cc]{padding:16px;font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em;background:rgba(249,250,251,.85);border-bottom:1px solid #f3f4f6}.opl-th--idx[data-v-6ff759cc]{width:80px;text-align:center}.opl-th--center[data-v-6ff759cc]{text-align:center}.opl-th--right[data-v-6ff759cc]{text-align:right}.opl-th--prog[data-v-6ff759cc]{width:192px;text-align:center}.opl-th--w[data-v-6ff759cc]{width:128px}.opl-empty--solo[data-v-6ff759cc]{padding:48px 16px}.opl-tr[data-v-6ff759cc]{cursor:pointer;border-bottom:1px solid #f9fafb;transition:background .2s}.opl-tr[data-v-6ff759cc]:hover{background:rgba(239,246,255,.35)}.opl-tr:hover .opl-list-title[data-v-6ff759cc]{color:#409eff}.opl-td[data-v-6ff759cc]{padding:16px;vertical-align:middle}.opl-td--idx[data-v-6ff759cc]{text-align:center;font-weight:500;color:#6b7280}.opl-td--muted[data-v-6ff759cc]{color:#6b7280}.opl-td--center[data-v-6ff759cc]{text-align:center}.opl-td--right[data-v-6ff759cc]{text-align:right}.opl-td--bold[data-v-6ff759cc]{font-weight:700;color:#1f2937}.opl-list-title[data-v-6ff759cc]{font-size:16px;font-weight:700;line-height:1.4;color:#1f2937;transition:color .2s}.opl-list-prog[data-v-6ff759cc]{display:flex;align-items:center;justify-content:center;gap:8px}.opl-list-prog-bar[data-v-6ff759cc]{width:96px;height:6px;overflow:hidden;background:#f3f4f6;border-radius:999px}.opl-list-prog-fill[data-v-6ff759cc]{height:100%;border-radius:999px}.opl-list-prog-txt[data-v-6ff759cc]{font-size:12px;font-weight:700}.opl-link-btn[data-v-6ff759cc]{padding:6px 12px;font-size:14px;font-weight:500;color:#409eff;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:background .2s}.opl-link-btn[data-v-6ff759cc]:hover{background:#eff6ff}.opl-empty-cell[data-v-6ff759cc]{padding:32px 16px!important;text-align:center;color:#6b7280}.opl-empty[data-v-6ff759cc]{display:flex;flex-direction:column;align-items:center;justify-content:center}.opl-empty-ico[data-v-6ff759cc]{margin-bottom:15px;font-size:48px;color:#d1d5db}.opl-pagination-bar[data-v-6ff759cc]{display:flex;flex-direction:column;gap:12px;align-items:flex-end;margin-top:16px;padding-top:16px;border-top:1px solid #f3f4f6}@media (min-width:768px){.opl-pagination-bar[data-v-6ff759cc]{flex-direction:row;align-items:center;justify-content:flex-end}}.opl-pagination-bar__info[data-v-6ff759cc]{font-size:13px;color:#6b7280}.opl-pagination[data-v-6ff759cc] .el-pager li.active{background:#409eff;color:#fff;border-radius:8px}.opl-pagination[data-v-6ff759cc] .btn-next,.opl-pagination[data-v-6ff759cc] .btn-prev,.opl-pagination[data-v-6ff759cc] .el-pager li{border-radius:12px}.opl-td--heat[data-v-6ff759cc]{color:#1f2937;font-weight:700}