*{margin:0;padding:0;box-sizing:border-box}
body{background:#141516;color:#fff;font-family:"Noto Sans SC",ui-sans-serif,system-ui,'PingFang SC','Microsoft YaHei',sans-serif;overflow-x:hidden}
a{text-decoration:none;color:inherit}
/* 播放页顶栏 */
.play-top{position:sticky;top:0;z-index:100;height:54px;display:flex;align-items:center;gap:10px;padding:0 16px;background:rgba(16,18,21,.68);backdrop-filter:blur(22px) saturate(170%);-webkit-backdrop-filter:blur(22px) saturate(170%);border-bottom:1px solid rgba(255,255,255,.06)}
.play-top .pt-back,.play-top .pt-home{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.8);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);flex-shrink:0;transition:all .2s}
.play-top .pt-back:hover,.play-top .pt-home:hover{color:#fb7299;background:rgba(251,114,153,.14);border-color:rgba(251,114,153,.35);transform:translateY(-1px)}
.play-top .pt-back svg{width:15px;height:15px}
.play-top .pt-home svg{width:15px;height:15px}
.play-top::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(251,114,153,.4),transparent);pointer-events:none}
.play-top .pt-back svg{width:15px;height:15px}

/* 播放器行 */
.play-shell{display:flex;align-items:stretch;height:calc(100vh - 54px);min-height:420px}
.play-main{width:calc(100% - 340px);min-width:0;display:flex;flex-direction:column;background:#000;position:relative}
.player-wrap{flex:1;min-width:0;position:relative;background:#000}
.player-wrap .MacPlayer,.player-wrap iframe{width:100%;height:100%!important}
/* 右侧面板 */
.play-panel{width:340px;flex-shrink:0;background:#16191d;border-left:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;min-width:0}
.panel-tabs{height:44px;display:flex;align-items:center;gap:20px;padding:0 16px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}
.panel-tabs a{font-size:14px;color:rgba(255,255,255,.6);padding:13px 0;position:relative;cursor:pointer;border:0;background:transparent}
.panel-tabs a.on{color:#fff;font-weight:700}
.panel-tabs a.on::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:#fb7299;border-radius:2px}
.panel-scroll{flex:1;overflow-y:auto;scrollbar-width:none}
.panel-scroll::-webkit-scrollbar{display:none}
.panel-pane{display:none;padding:16px 20px 24px}
.panel-pane.on{display:block}
/* 详情 */
.pd-head{display:flex;gap:12px;margin-bottom:12px}
.pd-pic{width:84px;height:112px;border-radius:10px;object-fit:cover;flex-shrink:0;background:rgba(255,255,255,.06)}
.pd-title{font-size:20px;font-weight:700;line-height:1.3;color:rgba(255,255,255,.85);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pd-meta{margin-top:8px;font-size:12px;color:rgba(255,255,255,.52);line-height:1.5}
.pd-score{margin-top:6px;color:#fb7299;font-size:13px;font-weight:700}
.pd-desc{font-size:14px;color:rgba(255,255,255,.6);line-height:1.65;margin-bottom:14px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.pd-info{font-size:12px;color:rgba(255,255,255,.46);line-height:1.7}
.pd-info p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-info b{color:rgba(255,255,255,.85);font-weight:600;margin-right:2px}
/* 选集 */
.ep-head{display:flex;align-items:center;justify-content:space-between;margin:16px 0 10px}
.ep-head h3{font-size:20px;font-weight:700;line-height:1.4;color:rgba(255,255,255,.85)}
.ep-head .ep-st{font-size:12px;color:rgba(255,255,255,.45);margin-left:10px;vertical-align:middle}
.ep-head .ep-tools{display:flex;align-items:center;gap:6px}
.ep-head button{font-size:14px;color:rgba(255,255,255,.6);background:rgba(255,255,255,.08);border:0;padding:4px 10px;border-radius:6px;cursor:pointer}
.ep-head button:hover{color:#fb7299}
.source-row{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.source-row a{font-size:14px;color:rgba(255,255,255,.7);padding:7px 15px;border-radius:8px;background:transparent;border:1px solid rgba(255,255,255,.14);cursor:pointer;transition:all .18s}
.source-row a:hover{border-color:rgba(251,114,153,.45);color:#fff;background:rgba(251,114,153,.05)}
.source-row a.on{color:#fb7299;border-color:#fb7299;font-weight:600;background:rgba(251,114,153,.07)}
.source-box{display:none}
.source-box.on{display:block}
.ep-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
@media (max-width:768px){
  .art-video-player{
    --art-control-height:41px;
  }
  .art-controls-center{
    position:static!important;
  }
  /* wap：屏蔽弹幕输入条与"弹"按钮 */
  .artplayer-plugin-danmuku{display:none!important}
  .danmu-open-btn{display:none!important}
  .art-control-volume{display:none!important}
  .art-control-speed{display:none!important}
  .art-control-quality{display:none!important}
}
.ep-grid a{height:34px;display:flex;align-items:center;justify-content:center;font-size:14px;color:rgba(255,255,255,.8);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.07);border-radius:8px;transition:all .18s;font-weight:500}
.ep-grid a:hover{color:#fff;background:rgba(251,114,153,.16);border-color:rgba(251,114,153,.38);transform:translateY(-1px)}
.ep-grid a.active{background:transparent;color:#fb7299;font-weight:700;border-color:#fb7299;box-shadow:none}
.pane-empty{font-size:13px;color:rgba(255,255,255,.5);text-align:center;padding:60px 0}
/* 手机端 */
@media (max-width:1279px){
  .play-shell{flex-direction:column;height:auto}
  .play-main{width:100%}
  .player-wrap{aspect-ratio:16/9;flex:none}
  .play-panel{width:100%;border-left:0;border-top:1px solid rgba(255,255,255,.07)}
  .panel-scroll{max-height:none;overflow-y:visible}
}
/* ===== 讨论区评论 ===== */
.cm-total{font-size:13px;color:#8b8f9a;font-weight:400;margin-left:8px}
.cm-input{display:flex;gap:10px;padding:12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);margin-bottom:4px}
.cm-me{display:flex;width:36px;height:36px;border-radius:50%;background:rgba(251,114,153,.18);border:1px solid rgba(251,114,153,.4);align-items:center;justify-content:center;color:#fb7299;font-weight:700;font-size:14px;flex-shrink:0}
.cm-input-main{flex:1;min-width:0}
.cm-input-main textarea{width:100%;min-height:68px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#e8e9ed;font-size:13px;line-height:1.7;padding:9px 11px;outline:none;resize:vertical;transition:border-color .2s;font-family:inherit}
.cm-input-main textarea:focus{border-color:rgba(251,114,153,.5)}
.cm-input-bar{display:flex;align-items:center;gap:10px;margin-top:9px}
.cm-len{font-size:12px;color:#6b6f7a;margin-left:auto}
.cm-send{border:none;background:#fb7299;color:#fff;font-size:13px;font-weight:600;border-radius:999px;padding:7px 18px;cursor:pointer;transition:all .2s}
.cm-send:hover{background:#ff8bab}
.cm-send:disabled,.cm-send.off{background:#33363f;color:#8b8f9a;cursor:not-allowed;box-shadow:none;pointer-events:none}
.cm-list{margin-top:6px}
.cm-item{display:flex;gap:10px;align-items:flex-start;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.cm-avt{flex-shrink:0;width:36px;height:36px}
.cm-avt img,.cm-avt-txt{width:36px;height:36px;border-radius:50%;object-fit:cover;background:rgba(255,255,255,.07)}
.cm-avt-txt{display:flex;align-items:center;justify-content:center;font-size:13px;color:#8b8f9a}
.cm-body{flex:1;min-width:0}
.cm-head{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.cm-name{font-size:13px;font-weight:600;color:#fb7299}
.cm-time{font-size:11px;color:#6b6f7a}
.cm-text{font-size:13px;line-height:1.7;color:#d4d8de;word-break:break-word}
.cm-text img{vertical-align:middle;margin:0 2px}
.cm-actions{display:flex;gap:14px;margin-top:7px}
.cm-op{display:inline-flex;align-items:center;gap:3px;font-size:12px;color:#8b8f9a;cursor:pointer;transition:color .2s}
.cm-op:hover{color:#fb7299}
.cm-op.disabled{color:#4a4d54;cursor:default}
.cm-sub{display:flex;gap:9px;margin-top:9px;padding:10px;border-radius:10px;background:rgba(255,255,255,.03)}
.cm-sub .cm-avt img,.cm-sub .cm-avt-txt{width:26px;height:26px;font-size:11px}
.cm-sub .cm-text{font-size:12px}
.cm-page{display:flex;justify-content:center;gap:6px;margin-top:14px;flex-wrap:wrap}
.cm-page a{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 7px;border-radius:7px;background:rgba(255,255,255,.06);color:#aab0ba;font-size:12px;transition:all .18s}
.cm-page a:hover{color:#fff;background:rgba(255,255,255,.12)}
.cm-page a.on{background:#fb7299;color:#fff;font-weight:700}
.cm-page a.dis{opacity:.35;pointer-events:none}
.cm-empty{text-align:center;padding:44px 0 36px;color:#6b6f7a;font-size:13px}
.cm-empty .cm-empty-ic{font-size:44px;line-height:1;margin-bottom:12px;opacity:.85}
/* 选集分组（30集一组） */
.ep-groups{display:flex;gap:8px;margin:10px 0;flex-wrap:wrap}
.ep-groups a{font-size:13px;color:rgba(255,255,255,.7);padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.08);cursor:pointer;transition:all .18s}
.ep-groups a:hover{color:#fff;background:rgba(255,255,255,.14)}
.ep-groups a.on{color:#fff;background:#fb7299;font-weight:600}
/* ===== 播放器状态机/续播/进度点 ===== */
.ps-overlay{position:absolute;inset:0;z-index:70;background:rgba(10,12,14,.72);display:none;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:rgba(255,255,255,.85);font-size:14px}
.ps-overlay.show{display:flex}
.ps-spin{width:34px;height:34px;border:3px solid rgba(255,255,255,.15);border-top-color:#fb7299;border-radius:50%;animation:ps-rot .8s linear infinite}
@keyframes ps-rot{to{transform:rotate(360deg)}}
.ps-btn{background:#fb7299;color:#fff;border:0;border-radius:999px;padding:8px 22px;font-size:13px;cursor:pointer;font-weight:600}
.ps-btn:hover{background:#ff8bab}
.ps-errmsg{color:rgba(255,255,255,.6);font-size:12px;max-width:82%;text-align:center}
.ps-resume{position:absolute;left:50%;top:14px;transform:translateX(-50%);z-index:75;background:rgba(20,22,26,.94);border:1px solid rgba(251,114,153,.35);border-radius:999px;padding:8px 16px;font-size:13px;color:rgba(255,255,255,.9);display:none;align-items:center;gap:10px;backdrop-filter:blur(10px);white-space:nowrap}
.ps-resume.show{display:flex}
.ps-resume b{color:#fb7299}
.ps-go{color:#fb7299!important;cursor:pointer;font-weight:600}
/* 选集已播打点 */
.ep-grid a{position:relative}
.ep-grid a.played::after{content:'';position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:#fb7299}

/* ===== 5dm 风格弹幕输入条 + 溢出防护 ===== */
/* 播放器容器裁剪，弹幕条物理上不可能溢出到播放器外部 */
.art-video-player{overflow:hidden}

/* 弹幕输入文字居中（5dm 风格） */
.artplayer-plugin-danmuku .apd-input{text-align:center}

/* 手机端：弹幕输入条并入控制条底部（yzmplayer 布局——不遮画面，随控制条显示/隐藏） */
@media (max-width:768px){
  /* 控制栏对齐 yzmplayer：41px */
  .art-video-player{
    --art-control-height:41px;
  }
  .art-controls-center{
    position:static!important;
  }
  /* 弹幕输入条：yzmplayer 布局——默认隐藏，点"弹"按钮显示 */
  .artplayer-plugin-danmuku{
    display:none!important;
    position:absolute!important;
    left:1%!important;
    right:1%!important;
    bottom:3px!important;
    margin:0!important;
    height:30px!important;
    width:auto!important;
    padding:0!important;
    gap:0!important;
    background:transparent!important;
    border-radius:0!important;
    z-index:20!important;
    -webkit-transition:all .3s ease-in-out;
    transition:all .3s ease-in-out;
  }
  .art-video-player.art-danmu-open .artplayer-plugin-danmuku{
    display:flex!important;
  }
  /* 输入框容器：yzmplayer 半透明白 35%、圆角 */
  .artplayer-plugin-danmuku .apd-emitter{
    flex:1;
    min-width:0;
    background:hsla(0,0%,100%,.35);
    border-radius:4px 0 0 4px;
    height:26px;
    padding:0 8px;
  }
  /* 输入框：居中 14px */
  .artplayer-plugin-danmuku .apd-input{
    width:100%;
    height:26px;
    font-size:14px;
    color:#fff;
    text-align:center;
    padding:0;
    box-sizing:border-box;
    border:none!important;
    outline:none;
    background:transparent!important;
  }
  .artplayer-plugin-danmuku .apd-input::placeholder{color:hsla(0,0%,100%,.75);font-size:14px}
  /* 发送按钮：yzmplayer 40px 半透明白 30% */
  .artplayer-plugin-danmuku .apd-send{
    width:40px!important;
    height:26px!important;
    border-radius:0 4px 4px 0!important;
    background:hsla(0,0%,100%,.3)!important;
    color:hsla(0,0%,100%,.85)!important;
    font-size:14px!important;
    line-height:26px!important;
    padding:0!important;
    margin:0!important;
  }
  /* 弹幕开关（输入条右侧） */
  .artplayer-plugin-danmuku .apd-toggle{
    margin-left:6px;
    opacity:.9;
  }
  /* 控制条"弹"按钮（设置图标左边） */
  .art-control.danmu-open-btn{min-width:26px;padding:0 6px}
  .art-control.danmu-open-btn .danmu-btn-text{font-size:14px;font-weight:700;color:#fff;opacity:.85}
  .art-video-player.art-danmu-open .art-control.danmu-open-btn .danmu-btn-text{color:#fb7299;opacity:1}
  .art-control-volume{display:none!important}
  .art-control-speed{display:none!important}
  .art-control-quality{display:none!important}
}
}
}

/* ===== Toast 提示（全站公共 uiToast） ===== */
.ui-toast{
  position:fixed;left:50%;bottom:15%;
  transform:translateX(-50%);
  background:rgba(20,22,26,.94);color:#fff;
  font-size:13px;padding:10px 18px;border-radius:8px;
  z-index:99999;box-shadow:0 4px 20px rgba(0,0,0,.35);
  border:1px solid rgba(251,114,153,.35);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  max-width:80%;text-align:center;
  pointer-events:none;
  animation:uiToastIn .25s ease;
}
@keyframes uiToastIn{
  from{opacity:0;transform:translateX(-50%) translateY(8px)}
  to{opacity:1;transform:translateX(-50%) translateY(0)}
}

.cm-at{color:#fb7299;font-weight:600;font-style:normal}

.cm-digg.on{color:#fb7299;font-weight:600}
.cm-digg.on svg{color:#fb7299}

/* 弹幕设置/样式面板：点击固定展开（PC+移动端），hover 保持 */
.artplayer-plugin-danmuku .apd-config.open .apd-config-panel,
.artplayer-plugin-danmuku .apd-config:hover .apd-config-panel{opacity:100!important;pointer-events:all!important}
.artplayer-plugin-danmuku .apd-style.open .apd-style-panel,
.artplayer-plugin-danmuku .apd-style:hover .apd-style-panel{opacity:100!important;pointer-events:all!important}

.artplayer-plugin-danmuku .apd-config,.artplayer-plugin-danmuku .apd-style{position:relative;z-index:30}


/* 续播提示关闭按钮 */
.ps-resume .ps-close{margin-left:2px;cursor:pointer;opacity:.55;font-size:11px;line-height:1;padding:3px 5px;border-radius:50%;transition:all .2s;flex:none}
.ps-resume .ps-close:hover{opacity:1;background:rgba(255,255,255,.12)}

/* 评论无头像显示首字 */
.cm-avt{position:relative}
.cm-avt .cm-avt-char{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;color:#fb7299;background:rgba(251,114,153,.14);border-radius:50%;font-style:normal}
.cm-avt img{position:relative;z-index:1}
