/* 课程播放页增强样式 */
.player-page{max-width:1280px;margin:0 auto;padding:28px 22px 70px}.player-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px}.player-main-card,.lesson-sidebar,.admin-panel,.admin-stat,.comment-card{background:#fff;border-radius:18px;box-shadow:0 10px 28px rgba(33,79,54,.08);border:1px solid rgba(30,116,74,.06)}.video-stage{position:relative;background:#101820;border-radius:18px 18px 0 0;overflow:hidden;aspect-ratio:16/9}.video-stage video{width:100%;height:100%;display:block;object-fit:cover;background:#111}.video-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#234f3a,#8bc34a);gap:12px;text-align:center;background-size:cover;background-position:center}.video-fallback i{font-size:54px}.player-tools{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#16221d;color:#fff}.player-tools-left,.player-tools-right{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tool-chip{border:0;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;padding:8px 13px;cursor:pointer}.tool-chip:hover,.tool-chip.active{background:#45a05a}.speed-select{border:0;border-radius:999px;padding:8px 10px;background:#fff;color:#333}.player-info{padding:22px}.player-title{font-size:26px;font-weight:800;color:#24382d;margin-bottom:10px}.player-meta{display:flex;gap:14px;flex-wrap:wrap;color:#76827b;font-size:14px}.progress-card{margin-top:18px;padding:16px;border-radius:14px;background:#f7fbf5}.progress-row{display:flex;align-items:center;gap:12px}.progress-line{flex:1;height:9px;background:#dfead9;border-radius:999px;overflow:hidden}.progress-fill{height:100%;width:0;background:linear-gradient(90deg,#64b263,#8bc34a);border-radius:999px}.tab-panel{margin-top:18px}.player-tabs{display:flex;gap:12px;border-bottom:1px solid #edf2ed}.player-tab{padding:12px 2px;cursor:pointer;color:#66756c;font-weight:700}.player-tab.active{color:#45a05a;border-bottom:3px solid #45a05a}.tab-content{display:none;padding:16px 0;line-height:1.8;color:#465249}.tab-content.active{display:block}.lesson-sidebar{padding:18px;align-self:start;position:sticky;top:92px}.sidebar-title{font-size:18px;font-weight:800;margin-bottom:14px;color:#26382d}.lesson-list{display:flex;flex-direction:column;gap:10px;max-height:620px;overflow:auto}.lesson-item{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:12px;border-radius:13px;background:#f8faf8;cursor:pointer;border:1px solid transparent}.lesson-item:hover,.lesson-item.active{border-color:#8bc34a;background:#f1faee}.lesson-index{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e4f1de;color:#4b8f3e;font-weight:800}.lesson-name{font-weight:700;color:#26382d}.lesson-time{font-size:12px;color:#8a948e}.lesson-status{font-size:12px;color:#45a05a}.note-box textarea,.comment-input textarea,.admin-form textarea,.admin-form input,.admin-form select{width:100%;box-sizing:border-box;border:1px solid #dfe8df;border-radius:12px;padding:12px 14px;font-size:14px;outline:none;background:#fbfdfb}.note-box textarea:focus,.comment-input textarea:focus,.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus{border-color:#8bc34a;box-shadow:0 0 0 3px rgba(139,195,74,.12)}.action-btn{border:0;border-radius:12px;background:#54ad5b;color:#fff;font-weight:800;padding:10px 16px;cursor:pointer}.action-btn.secondary{background:#eef6ea;color:#3d7f42}.comment-card{padding:16px;margin-top:16px}.comment-input{display:grid;gap:10px}.comment-list{display:grid;gap:12px;margin-top:16px}.comment-item{display:flex;gap:10px;padding:12px;background:#f8fbf7;border-radius:12px}.comment-avatar{width:36px;height:36px;border-radius:50%;background:#dff0d9;display:grid;place-items:center;color:#4d9252}.mini-admin-link{color:#45a05a;text-decoration:none;font-weight:800}.admin-page{max-width:1280px;margin:0 auto;padding:28px 22px 70px}.admin-hero{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.admin-hero h1{margin:0;font-size:28px;color:#21382b}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.admin-stat{padding:18px}.admin-stat span{display:block;color:#75827a;font-size:13px}.admin-stat strong{display:block;color:#294333;font-size:28px;margin-top:8px}.admin-layout{display:grid;grid-template-columns:420px 1fr;gap:18px}.admin-panel{padding:20px}.panel-title{font-size:18px;font-weight:800;color:#26382d;margin-bottom:14px;display:flex;align-items:center;gap:8px}.admin-form{display:grid;gap:12px}.file-drop{border:2px dashed #cfe4cd;background:#f8fcf6;border-radius:16px;padding:24px;text-align:center;color:#66816c;cursor:pointer}.file-drop i{font-size:36px;color:#70b86a;margin-bottom:8px}.video-preview{display:none;width:100%;border-radius:14px;margin-top:8px;background:#111;max-height:220px}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{border-bottom:1px solid #eef3ee;text-align:left;padding:12px 8px;font-size:14px}.admin-table th{color:#718078;font-weight:800;background:#fbfdfb}.status-pill{display:inline-block;border-radius:999px;padding:4px 9px;font-size:12px;background:#e9f7e6;color:#3d8a3d;font-weight:700}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.small-btn{border:0;border-radius:8px;padding:7px 9px;cursor:pointer;background:#eef6ea;color:#3d7f42;font-weight:700}.small-btn.red{background:#feeceb;color:#d54642}.upload-tip{font-size:13px;color:#7b8a80;line-height:1.7;background:#f7fbf5;border-radius:12px;padding:12px}.empty-admin{padding:36px;text-align:center;color:#88938c;background:#fbfdfb;border-radius:14px}@media(max-width:980px){.player-layout,.admin-layout{grid-template-columns:1fr}.lesson-sidebar{position:static}.admin-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.admin-stats{grid-template-columns:1fr}.player-tools{align-items:flex-start;flex-direction:column}.player-title{font-size:21px}.admin-hero{align-items:flex-start;flex-direction:column}}

.embed-frame{display:none;width:100%;height:100%;border:0;background:#111}.danmu-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:3}.danmu-item{position:absolute;right:-40%;white-space:nowrap;color:#fff;font-weight:800;text-shadow:0 1px 4px rgba(0,0,0,.9);animation:danmuMove 8s linear forwards;font-size:16px;background:rgba(0,0,0,.18);padding:3px 10px;border-radius:999px}@keyframes danmuMove{from{transform:translateX(0)}to{transform:translateX(-160vw)}}.danmu-input{width:150px;border:0;border-radius:999px;padding:8px 12px;outline:none}.recommend-card{margin-top:16px;padding-top:16px;border-top:1px solid #edf2ed}.recommend-list{display:grid;gap:10px}.recommend-item{display:grid;grid-template-columns:76px 1fr;gap:10px;align-items:center;padding:10px;border-radius:13px;background:#f8faf8;cursor:pointer}.recommend-item:hover{background:#f1faee}.recommend-cover{height:50px;border-radius:10px;background:linear-gradient(135deg,#79ba66,#d6edc7);display:grid;place-items:center;overflow:hidden;color:#fff}.recommend-cover img{width:100%;height:100%;object-fit:cover}.recommend-item b{display:block;color:#26382d;font-size:13px;line-height:1.35}.recommend-item span{display:block;color:#88938c;font-size:12px;margin-top:4px}.online-video-mark{position:absolute;left:10px;bottom:10px;background:rgba(20,36,28,.78);color:#fff;border-radius:999px;padding:4px 8px;font-size:12px}.video-source-box{display:grid;gap:10px;border:1px solid #e2eee0;background:#fbfdfb;border-radius:16px;padding:14px}.panel-subtitle{font-size:14px;font-weight:800;color:#3d7f42}.ent-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,18px);background:#20382a;color:#fff;padding:10px 16px;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.18);z-index:9999;opacity:0;transition:.25s}.ent-toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:720px){.danmu-input{width:110px}.danmu-item{font-size:13px}.player-tools-right{width:100%}}
.video-source-link{display:inline-flex;align-items:center;gap:6px;color:#fff;text-decoration:none;background:#00a1d6;border-radius:999px;padding:8px 13px;font-weight:700;white-space:nowrap}.video-source-link:hover{background:#18b6ea}.embed-frame{background:#000}
