*{margin:0;padding:0;box-sizing:border-box}[data-v-7ff92274] .el-table .el-table__cell{padding:16px 0}.otd-notice-preview[data-v-7ff92274]{max-height:4.5em;overflow:hidden}.otd-pl-table-scroll[data-v-7ff92274]{flex:1;min-height:0;max-height:none!important}.otd-pl-root--expanded[data-v-7ff92274]{display:block!important;width:100%}.otd-pl-root--expanded .otd-pl-main[data-v-7ff92274]{display:none}.otd-pl-root--expanded .otd-pl-side[data-v-7ff92274]{display:flex;flex-direction:column;width:100%;min-width:0;max-width:none;flex:1 1 100%;box-sizing:border-box;padding-right:24px}.otd-pl-root--expanded .otd-pl-side__head[data-v-7ff92274]{flex:0 0 auto}.otd-pl-root--expanded .otd-pl-side__body[data-v-7ff92274]{flex:1 1 auto;min-width:0}.otd-pl-root--expanded .otd-pl-matrix-scroll[data-v-7ff92274]{width:100%;min-width:0;max-width:none}.otd-pl-root--expanded .otd-pl-matrix-el-table[data-v-7ff92274],.otd-pl-root--expanded .otd-pl-side__body[data-v-7ff92274],.otd-pl-root--expanded[data-v-7ff92274] .otd-pl-matrix-el-table .el-table,.otd-pl-root--expanded[data-v-7ff92274] .otd-pl-matrix-el-table .el-table__body,.otd-pl-root--expanded[data-v-7ff92274] .otd-pl-matrix-el-table .el-table__body-wrapper,.otd-pl-root--expanded[data-v-7ff92274] .otd-pl-matrix-el-table .el-table__header,.otd-pl-root--expanded[data-v-7ff92274] .otd-pl-matrix-el-table .el-table__header-wrapper{width:100%!important}.otd-pl-side__head-row[data-v-7ff92274]{display:flex;align-items:flex-start;gap:12px;min-width:0}.otd-pl-side__title[data-v-7ff92274]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.otd-pl-side__title-name[data-v-7ff92274]{display:inline;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.otd-pl-side__detail[data-v-7ff92274]{flex:0 0 64px;width:64px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap}.otd-pl-progress--center[data-v-7ff92274]{width:100%;justify-content:center}.otd-rank-card[data-v-7ff92274]{max-height:100%!important}.otd-breadcrumb[data-v-7ff92274]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 16px;margin:10px 10px 15px;background:#fff;border-radius:12px;color:#6b7280;font-size:14px;position:sticky;top:10px;z-index:20;border:1px solid #f3f4f6;transition:box-shadow .3s ease,border-color .3s ease}.otd-breadcrumb[data-v-7ff92274]:hover{box-shadow:0 4px 12px rgba(0,0,0,.06);border-color:#e5e7eb}.otd-shell[data-v-7ff92274]{padding:0 10px 10px}.otd-card--main[data-v-7ff92274]{background:#fff;border-radius:12px;display:flex;flex-direction:column;min-height:600px;border:1px solid #f3f4f6;transition:box-shadow .3s ease}.otd-card--main[data-v-7ff92274]:hover{box-shadow:0 4px 12px rgba(0,0,0,.05)}.otd-stu-detail-card[data-v-7ff92274]{padding:10px;box-sizing:border-box;min-height:0}[data-v-7ff92274] .otd-tabs{border-bottom:1px solid #f3f4f6}[data-v-7ff92274] .otd-tabs .el-tabs__header{margin:0;padding:0 8px;border-bottom:none}[data-v-7ff92274] .otd-tabs .el-tabs__nav-wrap{margin:0;padding:0}[data-v-7ff92274] .otd-tabs .el-tabs__nav-wrap:after{display:none}[data-v-7ff92274] .otd-tabs .el-tabs__nav{border:none}[data-v-7ff92274] .otd-tabs .el-tabs__item{height:auto;line-height:1.4;padding:16px 24px!important;font-weight:500;font-size:14px;color:#64748b;margin:0;border:none;border-radius:0;transition:color .2s ease,background-color .2s ease}[data-v-7ff92274] .otd-tabs .el-tabs__item:hover:not(.is-disabled){color:#409eff;background-color:#f9fafb}[data-v-7ff92274] .otd-tabs .el-tabs__item.is-active{color:#409eff;font-weight:600}[data-v-7ff92274] .otd-tabs .el-tabs__item:focus.is-active.is-focus:not(:active){box-shadow:none;border-radius:0}[data-v-7ff92274] .otd-tabs .el-tabs__active-bar{height:2px;background-color:#409eff;border-radius:999px;transition:transform .2s ease,width .2s ease}.otd-breadcrumb__back-el[data-v-7ff92274]{padding:4px 8px!important;margin:-4px 0!important;border-radius:8px!important;font-size:inherit!important;font-weight:500!important;color:#4b5563!important;transition:color .2s ease,background-color .2s ease!important}.otd-breadcrumb__back-el[data-v-7ff92274]:hover{color:#409eff!important}.otd-breadcrumb__back-el[data-v-7ff92274]>span{display:inline-flex;align-items:center;gap:6px}.otd-breadcrumb__back-el[data-v-7ff92274] .el-icon-arrow-left{font-size:12px;font-weight:700}.otd-breadcrumb__sep[data-v-7ff92274]{color:#d1d5db;font-weight:300;margin:0 2px}.otd-breadcrumb__title[data-v-7ff92274]{color:#111827;font-weight:500;font-size:14px}.otd-breadcrumb__tags[data-v-7ff92274]{display:flex;flex-wrap:wrap;gap:8px;margin-left:8px}.otd-breadcrumb__tag[data-v-7ff92274]{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:500;border-radius:4px;border-width:1px;border-style:solid}.otd-breadcrumb__tag--muted[data-v-7ff92274]{color:#4b5563;background:#f3f4f6;border-color:#e5e7eb}.otd-breadcrumb__tag--blue[data-v-7ff92274]{color:#409eff;background:#eff6ff;border-color:#dbeafe}.otd-breadcrumb__tag--purple[data-v-7ff92274]{color:#9333ea;background:#faf5ff;border-color:#e9d5ff}.otd-breadcrumb__tag--green[data-v-7ff92274]{color:#16a34a;background:#f0fdf4;border-color:#bbf7d0}.prepareLessons[data-v-7ff92274]{margin:0;min-height:calc(100vh - 120px);border-radius:0;overflow-x:hidden}.prepareLessons.otd-page[data-v-7ff92274]{background:#f9fafb;box-sizing:border-box}.top[data-v-7ff92274]{padding:20px;padding-bottom:0;font-size:18px;font-weight:300;background:#fff}.fl[data-v-7ff92274]{float:left}.fr[data-v-7ff92274]{float:right}.clearfix[data-v-7ff92274]:after{content:"";display:block;visibility:hidden;clear:both}[data-v-7ff92274] .el-dropdown-link{cursor:pointer;color:#333}.line[data-v-7ff92274]{height:50px;width:2px;background:#999;margin:0 20px}.top li[data-v-7ff92274]{cursor:pointer;float:left;margin-right:20px}.active[data-v-7ff92274]{color:#41b146}.topFrom[data-v-7ff92274] .el-form-item{margin-bottom:0}.right_top[data-v-7ff92274]{padding:20px}.right_top li[data-v-7ff92274]{margin-bottom:20px}.txt[data-v-7ff92274]{font-size:16px;font-weight:700}.left[data-v-7ff92274]{padding:20px}.dataTop li[data-v-7ff92274]{width:33%}.dataPic[data-v-7ff92274]{width:40px;height:40px;border:1px solid #ccc;border-radius:5px;overflow:hidden;background-position:50%}.dataTxt[data-v-7ff92274]{margin-left:10px}.dierBox2[data-v-7ff92274]{width:40px;height:40px;border-radius:50%;border:1px solid #c3d3df;overflow:hidden}.dierBox1[data-v-7ff92274]{width:40px;height:40px;border-radius:50%;border:1px solid #fdd98d;overflow:hidden}.dierBox3[data-v-7ff92274]{width:40px;height:40px;border-radius:50%;border:1px solid #eaa989;overflow:hidden}[data-v-7ff92274] .el-date-editor .el-range-separator{padding:0 16px}[data-v-7ff92274] .el-dialog{border-radius:10px!important}.colorTxtStyle[data-v-7ff92274]{color:#2ea1fb;font-weight:700;font-size:14px;font-weight:600;margin-left:0;line-height:34px}[data-v-7ff92274] .el-table__body tr.current-row>td.el-table__cell{background-color:#fff3d9}.otd-stu-rank-card__head[data-v-7ff92274]{gap:8px}.otd-podium-box[data-v-7ff92274]{position:relative;background:#fff;border-radius:5px 5px 0 0}.otd-rank-submit-txt[data-v-7ff92274]{font-size:13px;font-weight:600;color:#64748b}.otd-stu-rank-table-wrap[data-v-7ff92274]{position:relative}.otd-stu-rank-foot-hint[data-v-7ff92274]{padding:8px 12px 12px;font-size:12px;color:#9ca3af;text-align:center;line-height:1.5;border-top:1px solid #f3f4f6;background:rgba(249,250,251,.5)}.otd-stu-rank-num[data-v-7ff92274]{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:700;color:#6b7280;background:#f3f4f6;border-radius:6px}.otd-stu-rank-num--1[data-v-7ff92274]{color:#b45309;background:linear-gradient(135deg,#fde68a,#fbbf24)}.otd-stu-rank-num--2[data-v-7ff92274]{color:#475569;background:linear-gradient(135deg,#e2e8f0,#cbd5e1)}.otd-stu-rank-num--3[data-v-7ff92274]{color:#9a3412;background:linear-gradient(135deg,#fed7aa,#fdba74)}[data-v-7ff92274] .otd-stu-rank-el-table .otd-stu-rank-row--self td{background-color:rgba(239,246,255,.92)!important}[data-v-7ff92274] .otd-stu-rank-el-table .otd-stu-rank-row--self:hover td{background-color:rgba(219,234,254,.95)!important}.otd-stu-pl-tab-wrap[data-v-7ff92274]{min-height:calc(100vh - 245px)}[data-v-7ff92274] .otd-stu-pl-tab-wrap .otd-pl-el-table .el-table td,[data-v-7ff92274] .otd-stu-pl-tab-wrap .otd-pl-el-table .el-table th{height:75px!important;padding:0 16px!important;vertical-align:middle!important;box-sizing:border-box!important}[data-v-7ff92274] .otd-pl-matrix-el-table .el-table__body-wrapper,[data-v-7ff92274] .otd-pl-matrix-el-table .el-table__fixed-body-wrapper{min-height:390px!important}.otd-rank-table-wrap::-webkit-scrollbar,.otd-split-side::-webkit-scrollbar,.oui-scrollbar::-webkit-scrollbar{width:5px;height:5px}.otd-rank-table-wrap::-webkit-scrollbar-track,.otd-split-side::-webkit-scrollbar-track,.oui-scrollbar::-webkit-scrollbar-track{background:transparent}.otd-rank-table-wrap::-webkit-scrollbar-thumb,.otd-split-side::-webkit-scrollbar-thumb,.oui-scrollbar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}@keyframes otd-fade-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.otd-animate-in{animation:otd-fade-in .3s ease-out forwards}.otd-overview-grid{display:grid;grid-template-columns:1fr;gap:15px}@media (min-width:1024px){.otd-overview-grid{grid-template-columns:2fr 1fr}}.otd-overview-main,.otd-overview-side{display:flex;flex-direction:column;gap:15px;min-width:0}.otd-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-top:20px}@media (min-width:640px){.otd-stat-grid{grid-template-columns:repeat(4,1fr)}}.otd-stat-card{position:relative;overflow:hidden;background:#fff;padding:16px;border-radius:12px;border:1px solid #f3f4f6;transition:box-shadow .3s,border-color .2s}.otd-stat-card:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.06)}.otd-stat-card--click{cursor:pointer}.otd-stat-card__inner{position:relative;z-index:2;display:flex;align-items:baseline;gap:12px}.otd-stat-card__ico{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;align-self:center;transition:background .2s,color .2s}.otd-stat-card__ico--purple{background:#f3e8ff;color:#a855f7}.otd-stat-card__ico--blue{background:#dbeafe;color:#3461ff}.otd-stat-card__ico--orange{background:#ffedd5;color:#f97316}.otd-stat-card__ico--green{background:#dcfce7;color:#22c55e}.otd-stat-card--purple:hover{border-color:#e9d5ff}.otd-stat-card--purple:hover .otd-stat-card__ico{background:#a855f7;color:#fff}.otd-stat-card--purple:hover .otd-stat-card__num{color:#9333ea}.otd-stat-card--blue:hover{border-color:#bfdbfe}.otd-stat-card--blue:hover .otd-stat-card__ico{background:#3461ff;color:#fff}.otd-stat-card--blue:hover .otd-stat-card__num{color:#409eff}.otd-stat-card--orange:hover{border-color:#fed7aa}.otd-stat-card--orange:hover .otd-stat-card__ico{background:#f97316;color:#fff}.otd-stat-card--orange:hover .otd-stat-card__num{color:#ea580c}.otd-stat-card--green:hover{border-color:#bbf7d0}.otd-stat-card--green:hover .otd-stat-card__ico{background:#22c55e;color:#fff}.otd-stat-card--green:hover .otd-stat-card__num{color:#16a34a}.otd-stat-card__num{font-size:30px;font-weight:800;color:#1f2937;letter-spacing:-.02em;line-height:1.2;transition:color .2s}.otd-stat-card__lab{font-size:12px;font-weight:500;color:#9ca3af;white-space:nowrap}.otd-chart-card{background:#fff;border-radius:12px;border:1px solid #f3f4f6;padding:24px;transition:box-shadow .2s ease}.otd-chart-card__head{display:flex;flex-direction:column;align-items:stretch;gap:15px;margin-bottom:15px}@media (min-width:640px){.otd-chart-card__head{flex-direction:row;justify-content:space-between;align-items:center}}.otd-chart-card__title{margin:0;font-size:18px;font-weight:700;color:#1f2937;display:flex;align-items:center;gap:8px}.otd-chart-card__title-bar{width:4px;height:20px;background:#409eff;border-radius:999px;flex-shrink:0}.otd-chart-card__tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.otd-chart-form{margin:0}.otd-chart-form .el-form-item{margin-bottom:0;margin-right:0}.otd-chart-form__item--select .el-form-item__content{margin-left:0!important;line-height:1}.otd-el-select--chart{min-width:140px;max-width:200px}.otd-el-select--chart .el-input__inner{height:36px;line-height:36px;border-radius:12px;background:none;border:1px solid #e5e7eb;color:#374151;font-size:14px;padding-left:12px;padding-right:28px}.otd-el-select--chart .el-input__suffix{right:8px}.otd-el-select--chart .el-input__suffix .el-input__icon{color:#9ca3af}.otd-chart-date-wrap{display:inline-flex;align-items:center}.otd-date-range--chart .el-range-editor.el-input__inner{height:36px;line-height:36px;border-radius:12px;background:none;border:1px solid #e5e7eb;padding:0 10px}.otd-date-range--chart .el-range-input{background:transparent;color:#4b5563;font-size:13px}.otd-date-range--chart .el-range-separator{color:#9ca3af;line-height:28px;padding:0 4px}.otd-date-range--chart .el-input__icon{color:#9ca3af}.otd-chart-card__plot{position:relative;width:100%;margin-top:4px}.otd-chart-inner{width:100%;height:360px}.otd-side-card{background:#fff;border-radius:12px;border:1px solid #f3f4f6;overflow:hidden;transition:box-shadow .2s ease}.otd-side-card__head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f3f4f6;background:rgba(249,250,251,.5)}.otd-side-card__title{margin:0;font-size:16px;font-weight:700;color:#1f2937;display:flex;align-items:center;gap:8px}.otd-side-card__title-ico{color:#409eff}.otd-side-card__title-ico--gold{color:#eab308}.otd-icon-btn{color:#9ca3af;background:none;border:0;padding:6px;border-radius:6px;cursor:pointer;line-height:1;transition:color .2s,background .2s}.otd-icon-btn:hover{color:#409eff;background:#eff6ff}.otd-side-card__body{padding:20px}.otd-notice-empty{color:#9ca3af;font-size:14px}.otd-notice-preview{font-size:14px;color:#4b5563;line-height:1.6}.otd-notice-more{margin-top:8px;text-align:right;font-size:12px;color:#409eff;cursor:pointer}.otd-notice-more:hover{text-decoration:underline}.otd-rank-card{max-height:460px}.otd-rank-card,.otd-rank-hero{display:flex;flex-direction:column}.otd-rank-hero{position:relative;padding:24px;align-items:center;text-align:center;background:linear-gradient(180deg,rgba(254,252,232,.35),transparent);overflow:hidden}.otd-rank-crown{position:relative;z-index:1;margin-bottom:15px;font-size:48px;color:#facc15;filter:drop-shadow(0 1px 1px rgba(0,0,0,.08));transition:transform .2s ease}.otd-rank-hero:hover .otd-rank-crown{transform:translateY(-2px)}.otd-rank-avatar-wrap{position:relative;z-index:1;width:80px;height:80px;padding:4px;border-radius:50%;background:linear-gradient(135deg,#fde047,#facc15,#fb923c);margin-top:8px;box-sizing:border-box}.otd-rank-avatar{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid #fff;display:block;box-sizing:border-box}.otd-rank-badge{position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);background:linear-gradient(90deg,#eab308,#f97316);color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;border:1px solid #fff;white-space:nowrap}.otd-rank-name{position:relative;z-index:1;margin-top:12px;font-size:16px;font-weight:700;color:#1f2937}.otd-rank-pill{margin-top:8px;display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border-radius:999px;background:hsla(0,0%,100%,.85);border:1px solid #f3f4f6}.otd-rank-pill__lab{font-size:12px;color:#6b7280}.otd-rank-pill__val{font-size:14px;font-weight:700;color:#409eff}.otd-rank-table-wrap{flex:1;min-height:0;overflow:auto}.otd-rank-muted{padding:16px;text-align:center;font-size:12px;color:#9ca3af;background:rgba(249,250,251,.3)}.otd-rank-row__img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:1px solid #e5e7eb}.otd-rank-ac-pill{font-size:14px;font-weight:700;color:#409eff;background:#eff6ff;padding:2px 8px;border-radius:4px}.otd-rank-el-table{width:100%}.otd-rank-el-table .el-table__body tr:hover>td{background:#f9fafb!important}.otd-rank-el-table td{border-bottom:1px solid #f9fafb}.otd-split-grid{display:grid;grid-template-columns:1fr;gap:15px;align-items:stretch;min-height:0}@media (min-width:1024px){.otd-split-grid{grid-template-columns:2fr 1fr}}.otd-split-main{height:calc(100vh - 220px);overflow:hidden}.otd-split-main,.otd-split-side{min-width:0;display:flex;flex-direction:column}.otd-split-side{max-height:calc(100vh - 120px);overflow-y:auto}@media (min-width:1024px){.otd-split-side--border{padding-left:24px;border-left:1px solid #f3f4f6}}.otd-toolbar{justify-content:space-between;gap:12px;padding-bottom:16px;margin-bottom:15px;border-bottom:1px solid #f3f4f6}.otd-toolbar,.otd-toolbar__left{display:flex;flex-wrap:wrap;align-items:center}.otd-toolbar__left{gap:15px}.otd-toolbar__right{display:flex;align-items:center;gap:8px}.otd-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:700;border-radius:8px;border:0;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.otd-btn--blue{background:#409eff;color:#fff}.otd-btn--blue:hover{background:#3a8ee6;transform:translateY(-1px);box-shadow:0 4px 14px rgba(37,99,235,.32)}.otd-btn--blue:active{transform:scale(.97)}.otd-btn--danger-ghost{background:#fff;color:#4b5563;font-weight:500;border-radius:12px;border:1px solid #e5e7eb}.otd-btn--danger-ghost:hover{background:#f9fafb;color:#dc2626;border-color:#fecaca}.otd-btn--key{background:#eff6ff;color:#409eff;font-weight:900;border-radius:8px;padding:6px 12px}.otd-btn--key:hover{background:#dbeafe;transform:translateY(-1px)}.otd-btn--pzai{background:#faf5ff;color:#a855f7;font-weight:900;border-radius:8px;padding:6px 12px;user-select:none}.otd-btn--pzai:hover{background:#f3e8ff;transform:translateY(-1px)}.otd-btn--pzai__caret{font-size:10px;margin-left:2px;transition:transform .2s ease}.el-dropdown.is-opened .otd-btn--pzai .otd-btn--pzai__caret{transform:rotate(180deg)}.otd-pzai-popper.el-dropdown-menu{min-width:144px;padding:4px 0;border-radius:8px;border:1px solid #f3f4f6;margin-top:4px}.otd-pzai-popper.el-dropdown-menu .popper__arrow{display:none}.otd-pzai-popper .otd-pzai-menu__item.el-dropdown-menu__item{display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:14px;color:#374151;line-height:1;transition:background .2s ease,color .2s ease}.otd-pzai-popper .otd-pzai-menu__item--open i{color:#22c55e;font-size:16px}.otd-pzai-popper .otd-pzai-menu__item--open.el-dropdown-menu__item:focus,.otd-pzai-popper .otd-pzai-menu__item--open.el-dropdown-menu__item:not(.is-disabled):hover{background:#f0fdf4;color:#16a34a}.otd-pzai-popper .otd-pzai-menu__item--close i{color:#9ca3af;font-size:16px}.otd-pzai-popper .otd-pzai-menu__item--close.el-dropdown-menu__item:focus,.otd-pzai-popper .otd-pzai-menu__item--close.el-dropdown-menu__item:not(.is-disabled):hover{background:#fef2f2;color:#dc2626}.otd-pzai-popper .otd-pzai-menu__item--close.el-dropdown-menu__item:not(.is-disabled):hover i{color:#dc2626}.otd-link-sort{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:#6b7280;background:none;border:0;cursor:pointer;padding:4px 0;transition:color .2s}.otd-link-sort:hover{color:#409eff}.otd-pl-root-wrap{min-height:0}.otd-pl-root{display:grid;grid-template-columns:1fr;gap:15px;align-items:stretch;height:calc(100vh - 220px);min-height:600px}@media (min-width:1024px){.otd-pl-root{grid-template-columns:2fr 1fr}}.otd-pl-main{display:flex;flex-direction:column;overflow:hidden;min-width:0;min-height:0}.otd-pl-toolbar{justify-content:space-between;gap:12px;padding-bottom:16px;margin-bottom:15px;border-bottom:1px solid #f3f4f6;flex-shrink:0}.otd-pl-toolbar,.otd-pl-toolbar__left{display:flex;flex-wrap:wrap;align-items:center}.otd-pl-toolbar__left{gap:15px}.otd-pl-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:700;border-radius:8px;border:0;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}.otd-pl-btn--blue{background:#409eff;color:#fff;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.otd-pl-btn--blue:hover{background:#3a8ee6;transform:translateY(-1px);box-shadow:0 4px 14px rgba(37,99,235,.32)}.otd-pl-btn--blue:active{transform:scale(.97)}.otd-pl-btn--green{background:#16a34a;color:#fff;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.otd-pl-btn--green:hover{background:#15803d;transform:translateY(-1px);box-shadow:0 4px 14px rgba(22,163,74,.32)}.otd-pl-btn--green:active{transform:scale(.97)}.otd-pl-btn--ghost{background:#fff;color:#4b5563;font-weight:500;border-radius:12px;transition:background .2s ease,color .2s ease}.otd-pl-btn--ghost:hover{background:#f9fafb;color:#dc2626}.otd-pl-btn--bordered{border:1px solid #e5e7eb}.otd-pl-sort{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:#6b7280;background:none;border:0;cursor:pointer;padding:4px 0;transition:color .2s}.otd-pl-sort:hover{color:#409eff}.otd-pl-table-scroll{flex:1;min-height:280px;max-height:58vh;overflow:auto;border-radius:12px;border:1px solid transparent}.otd-pl-el-table{border-radius:12px}.otd-pl-el-table .el-table{border-radius:12px;overflow:hidden}.otd-pl-el-table .el-table:before{display:none}.otd-pl-el-table .el-table th{background:#f9fafb!important;color:#6b7280!important;font-size:12px;font-weight:700}.otd-pl-el-table .el-table td,.otd-pl-el-table .el-table th{padding:16px!important;border-bottom:1px solid #f3f4f6!important;border-right:none!important}.otd-pl-el-table .el-table td{font-size:14px}.otd-pl-el-table .el-table__body tr{cursor:pointer}.otd-pl-el-table .el-table__body tr:hover>td{background:rgba(239,246,255,.5)!important}.otd-pl-el-table .el-table__body tr.current-row>td{background:rgba(239,246,255,.3)!important}.otd-pl-title-link{font-weight:500;color:#1f2937;transition:color .2s}.otd-pl-title-link--black{color:rgba(0,0,0,.85);cursor:pointer;transition:color .2s ease}.otd-pl-el-table tr:hover .otd-pl-title-link--black,.otd-pl-title-link--black:hover{color:#409eff}.otd-pl-num{color:#111827;font-weight:500;font-size:14px}.otd-pl-muted{color:#6b7280;font-size:14px}.otd-pl-type-tag{display:inline-block;padding:2px 8px;border-radius:4px;background:#f3f4f6;color:#4b5563;font-size:12px}.otd-pl-progress{display:flex;align-items:center;gap:8px}.otd-pl-progress__track{width:64px;height:6px;border-radius:999px;background:#f3f4f6;overflow:hidden;flex-shrink:0}.otd-pl-progress__fill{height:100%;border-radius:999px;background:#409eff;transition:width .2s}.otd-pl-progress__txt{font-size:12px;color:#6b7280}.otd-pl-date{font-size:12px;color:#9ca3af;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.otd-pl-ops{white-space:nowrap}.otd-pl-op{padding:0;border:0;background:none;font-size:12px;font-weight:500;cursor:pointer;transition:color .2s}.otd-pl-op--primary{color:#409eff}.otd-pl-op--primary:hover{color:#3a8ee6}.otd-pl-op--danger{color:#9ca3af}.otd-pl-op--danger:hover{color:#dc2626}.otd-pl-footer{display:flex;align-items:center;justify-content:flex-end;padding:16px 4px 8px;margin-top:auto;flex-shrink:0}.otd-pl-pagination{margin:0}.otd-pl-pagination .el-pagination__total{color:#6b7280;font-weight:500}.otd-pl-pagination .el-pagination__jump{color:#6b7280}.otd-pl-pagination.is-background .el-pager li:not(.disabled).active{background-color:#409eff!important;color:#fff!important}.otd-pl-pagination.is-background .btn-next:hover:not(:disabled),.otd-pl-pagination.is-background .btn-prev:hover:not(:disabled),.otd-pl-pagination.is-background .el-pager li:not(.disabled):not(.active):hover{color:#409eff}.otd-pl-pagination .el-pagination__jump .el-input__inner:focus{border-color:#409eff}.otd-pl-side{display:flex;flex-direction:column;min-width:0;min-height:0;padding-left:0;border-left:none}@media (min-width:1024px){.otd-pl-side{padding-left:24px;border-left:1px solid #f3f4f6}}.otd-pl-side__head{flex-shrink:0;padding-bottom:16px;margin-bottom:15px;border-bottom:1px solid #f3f4f6}.otd-pl-side__head-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.otd-pl-side__title{font-size:14px;font-weight:700;color:#1f2937}.otd-pl-side__title-name{margin-left:4px;color:#409eff;font-weight:700}.otd-pl-side__detail{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:#409eff;text-decoration:none;padding:4px 8px;border-radius:6px;background:#eff6ff;transition:background .2s,color .2s}.otd-pl-side__detail:hover{color:#3a8ee6;background:#dbeafe}.otd-pl-side__legend{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:12px;font-size:12px;color:#6b7280}.otd-pl-legend-item{display:inline-flex;align-items:center;gap:6px}.otd-pl-legend-ico{width:16px;height:16px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;flex-shrink:0}.otd-pl-legend-ico--ac{background:#f0fdf4;border:1px solid #bbf7d0;color:#22c55e}.otd-pl-legend-ico--wa{background:#fef2f2;border:1px solid #fecaca;color:#ef4444}.otd-pl-legend-ico--pa{background:#fffbeb;border:1px solid #fde68a;color:#f59e0b}.otd-pl-legend-ico--na{background:#f9fafb;border:1px solid #e5e7eb;color:#d1d5db}.otd-pl-legend-ico--na:before{content:"-";font-size:12px;font-weight:700;line-height:1}.otd-pl-legend-txt{font-weight:500;color:#4b5563}.otd-pl-side__body{flex:1;min-height:0;overflow-y:auto;border-radius:12px;border:1px solid #f3f4f6;background:#fff}.otd-pl-pick-hint{flex-direction:column;gap:12px;padding:32px 16px;text-align:center;font-size:12px;color:#9ca3af}.otd-pl-pick-hint,.otd-pl-pick-hint__ico{display:flex;align-items:center;justify-content:center}.otd-pl-pick-hint__ico{width:48px;height:48px;border-radius:50%;background:none;font-size:20px;color:#d1d5db}.otd-pl-side__body .el-empty{padding:24px 16px}.otd-pl-matrix-loading{padding:40px 16px;text-align:center;font-size:13px;color:#9ca3af}.otd-pl-matrix-scroll{width:100%;overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 260px);-webkit-overflow-scrolling:touch}.otd-pl-matrix-el-table{width:100%;min-width:100%;font-size:13px}.otd-pl-matrix-el-table .el-table__body-wrapper,.otd-pl-matrix-el-table .el-table__fixed-body-wrapper{min-height:390px!important}.otd-pl-matrix-el-table ::v-deep .el-table__body,.otd-pl-matrix-el-table ::v-deep .el-table__header{min-width:100%}.otd-pl-matrix-el-table ::v-deep .el-table__fixed,.otd-pl-matrix-el-table ::v-deep .el-table__fixed-right{box-shadow:1px 0 0 0 #e5e7eb}.otd-pl-matrix-el-table ::v-deep td,.otd-pl-matrix-el-table ::v-deep th{padding:8px 0;border-right:none!important;border-bottom:none!important}.otd-pl-matrix-el-table ::v-deep .el-table__body-wrapper td,.otd-pl-matrix-el-table ::v-deep .el-table__fixed-body-wrapper td,.otd-pl-matrix-el-table ::v-deep .el-table__fixed-header-wrapper th,.otd-pl-matrix-el-table ::v-deep .el-table__header-wrapper th{border-right:none!important;border-bottom:none!important}.otd-pl-matrix-el-table ::v-deep .el-table__fixed:before,.otd-pl-matrix-el-table ::v-deep:after,.otd-pl-matrix-el-table ::v-deep:before{display:none}.otd-pl-matrix-progress{font-size:12px;font-weight:700;color:#374151}.otd-pl-matrix-code{font-family:Avenir,Helvetica,Arial,sans-serif!important;font-size:12px;font-weight:600;color:#1f2937}.otd-pl-matrix-user{display:flex;align-items:center;gap:8px;min-width:0}.otd-pl-matrix-user img{width:24px;height:24px;border-radius:50%;object-fit:cover;border:1px solid #e5e7eb;flex-shrink:0}.otd-pl-matrix-user span{font-size:12px;font-weight:700;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:72px}.otd-pl-matrix-cell-inner{min-height:36px}.otd-pl-cell,.otd-pl-matrix-cell-inner{display:flex;align-items:center;justify-content:center}.otd-pl-cell{width:32px;height:32px;margin:0 auto;border-radius:8px;flex-direction:column;font-size:11px;line-height:1;cursor:default;transition:transform .15s}.otd-pl-cell:hover{transform:scale(1.08)}.otd-pl-cell--ac{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.otd-pl-cell--wa{background:#fef2f2;border:1px solid #fecaca;color:#ef4444}.otd-pl-cell--pa{background:#fffbeb;border:1px solid #fde68a;color:#d97706}.otd-pl-cell--na{background:#f9fafb;border:1px solid transparent;color:#d1d5db;font-weight:700;font-size:12px;box-shadow:none}.otd-pl-cell__tries{font-size:8px;margin-top:2px;font-weight:600;line-height:1}.otd-stats-root{min-height:0}.otd-stats-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:15px;align-items:start}@media (min-width:1024px){.otd-stats-grid{grid-template-columns:minmax(50px,530px) minmax(0,1fr)}.otd-stats-grid--solo{grid-template-columns:minmax(50px,530px);justify-content:start}}.otd-stats-card{background:#fff;border-radius:12px;border:1px solid #f3f4f6;padding:20px}.otd-stats-card--lists{min-width:50px;max-width:530px;width:100%;box-sizing:border-box;flex-shrink:0}.otd-stats-card__title{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:0 0 16px;font-size:14px;font-weight:700;color:#1f2937}.otd-stats-card__title-main{display:inline-flex;align-items:center;gap:8px}.otd-stats-card__title-ico{color:#409eff}.otd-stats-card__hint{font-size:10px;font-weight:400;color:#9ca3af}.otd-stats-list-scroll{max-height:400px;overflow-y:auto;padding-right:8px}.otd-stats-list-item{padding:8px;border-radius:8px;cursor:pointer;transition:background .2s}.otd-stats-list-item:hover{background:none}.otd-stats-list-item__row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:12px}.otd-stats-list-item__name{font-weight:500;color:#374151;transition:color .2s}.otd-stats-list-item:hover .otd-stats-list-item__name{color:#409eff}.otd-stats-list-item__meta{color:#9ca3af;flex-shrink:0}.otd-stats-progress-track{width:100%;height:6px;border-radius:999px;background:#f3f4f6;overflow:hidden}.otd-stats-progress-fill{height:100%;border-radius:999px;background:#409eff;transition:width .5s ease}.otd-stats-board{background:#fff;border-radius:12px;border:1px solid #f3f4f6;display:flex;flex-direction:column;overflow:hidden;min-width:0}.otd-stats-banner{background:#22c55e;color:#fff;text-align:center;padding:4px;font-size:11px;font-weight:700;letter-spacing:.2em}.otd-stats-timebar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 16px;font-size:10px;color:#6b7280;background:none;border-bottom:1px solid #f3f4f6}.otd-stats-timebar__k{font-weight:600;color:#4b5563}.otd-stats-board__head{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid #f3f4f6}.otd-stats-board__title{margin:0;font-size:14px;font-weight:700;color:#1f2937;display:flex;align-items:center;gap:8px}.otd-stats-board__trophy{color:#eab308}.otd-stats-board__close{width:24px;height:24px;border:0;border-radius:999px;background:none;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s,background .2s}.otd-stats-board__close:hover{color:#4b5563;background:#f3f4f6}.otd-stats-legend{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:16px;padding:8px 16px;border-bottom:1px solid #f3f4f6;font-size:10px;color:#6b7280}.otd-stats-legend__item{display:inline-flex;align-items:center;gap:4px}.otd-stats-legend__sq{width:12px;height:12px;border-radius:2px;display:inline-block}.otd-stats-legend__sq--fastest{background:#16a34a}.otd-stats-legend__sq--ac{background:#4ade80}.otd-stats-legend__sq--wa{background:#f87171}.otd-stats-legend__sq--pending{background:#e5e7eb}.otd-stats-sb-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.otd-stats-sb-table{width:100%;min-width:max-content;border-collapse:collapse;text-align:left}.otd-stats-sb-th{padding:8px 12px;font-size:12px;font-weight:700;color:#6b7280;background:none;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:8}.otd-stats-sb-th--rank{width:56px;text-align:center;left:0;z-index:12;border-right:1px solid #e5e7eb}.otd-stats-sb-th--who{min-width:110px;left:56px;z-index:12;border-right:1px solid #e5e7eb}.otd-stats-sb-th--score{width:80px;text-align:center;border-right:1px solid #e5e7eb}.otd-stats-sb-th--prob{min-width:70px;text-align:center;border-right:1px solid #f3f4f6}.otd-stats-sb-th--prob:last-child{border-right:none}.otd-stats-sb-prob-label{font-size:12px;font-weight:700;color:#374151}.otd-stats-sb-prob-sub{font-size:10px;font-weight:400;color:#9ca3af;margin-top:2px}.otd-stats-sb-tr{border-bottom:1px solid #f3f4f6;transition:background .2s}.otd-stats-sb-tr:hover .otd-stats-sb-td{background:rgba(239,246,255,.2)}.otd-stats-sb-td{padding:8px 12px;font-size:12px;vertical-align:middle;background:#fff}.otd-stats-sb-td--rank{text-align:center;left:0}.otd-stats-sb-td--rank,.otd-stats-sb-td--who{position:sticky;z-index:6;border-right:1px solid #f3f4f6}.otd-stats-sb-td--who{left:56px}.otd-stats-sb-td--cell,.otd-stats-sb-td--score{text-align:center;border-right:1px solid #f3f4f6}.otd-stats-sb-td--cell{padding:6px}.otd-stats-sb-td--cell:last-child{border-right:none}.otd-stats-sb-user{display:flex;align-items:center;gap:8px;min-width:0}.otd-stats-sb-avatar{width:24px;height:24px;border-radius:50%;border:1px solid #e5e7eb;flex-shrink:0;object-fit:cover}.otd-stats-sb-name{font-size:12px;font-weight:500;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80px}.otd-stats-sb-score{font-size:14px;font-weight:700;color:#1f2937}.otd-stats-sb-time{font-size:10px;color:#9ca3af}.otd-stats-rank-badge{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto;font-size:12px;font-weight:700}.otd-stats-rank-badge--1{background:#fef9c3;color:#a16207}.otd-stats-rank-badge--2{background:#f3f4f6;color:#6b7280}.otd-stats-rank-badge--3{background:#ffedd5;color:#ea580c}.otd-stats-rank-num{font-size:12px;font-weight:500;color:#9ca3af}.otd-sb-cell{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:58px;padding:4px 6px;border-radius:4px;line-height:1.3}.otd-sb-cell--fastest{background:#16a34a;color:#fff}.otd-sb-cell--ac{background:#4ade80;color:#fff}.otd-sb-cell--wa{background:#f87171;color:#fff}.otd-sb-cell--pending{background:#e5e7eb;color:#6b7280}.otd-sb-cell__time{font-size:11px;font-weight:700}.otd-sb-cell__tries{font-size:10px}.otd-sb-cell--dash{color:#e5e7eb;font-size:12px}.otd-stats-footnote{padding:8px 16px;font-size:10px;color:#9ca3af;line-height:1.6;background:rgba(249,250,251,.6);border-top:1px solid #f3f4f6}.otd-split-main .el-table{border-radius:12px;overflow:hidden}.otd-split-main .el-table th{background:#f9fafb!important;color:#6b7280!important;font-size:12px;font-weight:700}.otd-split-main .el-table__body tr:hover>td{background:rgba(239,246,255,.5)!important}