.danmaku-player{ position:relative; background:#000; border-radius:8px; overflow:hidden; }
.danmaku-player .dm-video{ width:100%; height:100%; display:block; object-fit:contain; }
.danmaku-player .dm-layer{ position:absolute; inset:0; pointer-events:none; }
.danmaku-player .dm-item{ position:absolute; white-space:nowrap; font-size:16px; font-weight:600; text-shadow: 0 1px 2px rgba(0,0,0,.5); }
.danmaku-player .dm-item.run{ transform:translateX(-110%); transition: transform 6s linear; }
.danmaku-player .dm-item.dm-scroll{ left:110%; }
.danmaku-player .dm-item.dm-top{ left:50%; transform:translateX(-50%); }
.danmaku-player .dm-item.dm-bottom{ left:50%; transform:translateX(-50%); }
.danmaku-player.playing .dm-item.dm-top, .danmaku-player.playing .dm-item.dm-bottom{ opacity:.95; }

.danmaku-player .dm-controls{ position:absolute; left:0; right:0; bottom:0; display:flex; align-items:center; gap:8px; padding:8px 10px; background:linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,0.55)); }
.danmaku-player .dm-btn{ background:rgba(255,255,255,0.85); border:0; border-radius:14px; padding:4px 8px; cursor:pointer; }
.danmaku-player .dm-time{ color:#fff; font-size:12px; min-width:90px; }
.danmaku-player .dm-progress{ flex:1; height:4px; background:rgba(255,255,255,0.3); border-radius:2px; position:relative; cursor:pointer; }
.danmaku-player .dm-buffer{ position:absolute; left:0; top:0; height:100%; background:rgba(255,255,255,0.5); width:0; border-radius:2px; }
.danmaku-player .dm-current{ position:absolute; left:0; top:0; height:100%; background:#FF6B9D; width:0; border-radius:2px; }
.danmaku-player .dm-volume{ width:90px; }
.danmaku-player .dm-speed{ background:rgba(255,255,255,0.85); border-radius:10px; padding:2px 6px; }
.danmaku-player .dm-loading{ position:absolute; left:50%; top:50%; width:28px; height:28px; margin-left:-14px; margin-top:-14px; border-radius:50%; border:3px solid #fff; border-top-color:transparent; animation: dm-spin .8s linear infinite; display:none; }
@keyframes dm-spin{ to{ transform: rotate(360deg); } }

.danmaku-player .dm-send{ position:absolute; left:0; right:0; bottom:40px; display:flex; gap:6px; padding:6px 10px; background:rgba(0,0,0,0.35); }
.danmaku-player .dm-input{ flex:1; border-radius:8px; border:1px solid #ccc; padding:6px 8px; }
.danmaku-player.dm-off .dm-layer{ display:none; }
