
.tx-lrc .mdiv{display:flex;gap:0.75rem}
.tx-lrc .mlf{width:calc(100% - 20.75rem);background:#fff;border:1px solid #eef1f4;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.05);overflow:hidden}
.tx-lrc #preview{padding:0.85rem;height:100%;width:100%;overflow-y:auto;line-height:var(--lrc-lh,1.8);position:relative;background:radial-gradient(circle at 18% 15%,rgba(52,152,219,.13),transparent 55%),radial-gradient(circle at 82% 28%,rgba(6,182,114,.11),transparent 55%),radial-gradient(circle at 55% 88%,rgba(243,156,18,.09),transparent 55%),linear-gradient(150deg,#f2f8ff 0%,#f7fafc 45%,#eff6f3 100%);background-attachment:local;--lrc-accent:#06b672;--lrc-accent-grad:#0e9dd6;--lrc-accent-rgb:6,182,114;--lrc-font-size:16px;--lrc-lh:1.8;--lrc-font:inherit}
.tx-lrc #preview[data-theme="blue"]{--lrc-accent:#3498db;--lrc-accent-grad:#22d3ee;--lrc-accent-rgb:52,152,219}
.tx-lrc #preview[data-theme="purple"]{--lrc-accent:#8b5cf6;--lrc-accent-grad:#ec4899;--lrc-accent-rgb:139,92,246}
.tx-lrc #preview[data-theme="pink"]{--lrc-accent:#ec4899;--lrc-accent-grad:#f97316;--lrc-accent-rgb:236,72,153}
.tx-lrc #preview[data-theme="orange"]{--lrc-accent:#f59e0b;--lrc-accent-grad:#ef4444;--lrc-accent-rgb:245,158,11}
.tx-lrc #preview::-webkit-scrollbar{width:6px}
.tx-lrc #preview::-webkit-scrollbar-thumb{background-color:#d5dbdf;border-radius:6px}
.tx-lrc #preview::-webkit-scrollbar-track{background-color:#f6f7fa}
.tx-lrc #preview .lrctips{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:1.5rem;opacity:0.4;color:#888}
.tx-lrc .audio-section{background-color:#f7faf9;padding:3px 3px 5px;border:1px solid #e8f3ed;border-radius:10px}
.tx-lrc .form-group{margin-bottom:0.05rem}
.tx-lrc .file-upload{background-color:#f7faf9;border:1.5px dashed #c9e8da;border-radius:10px;padding:1rem;text-align:center;margin-bottom:0.5rem;cursor:pointer;transition:all 0.3s}
.tx-lrc .file-upload::before{content:'♫';font-size:1.8rem;color:#06b672;display:block;opacity:.55;line-height:1}
.tx-lrc .file-upload:hover{border-color:#06b672;background:#f0faf5}
.tx-lrc .file-upload p{margin:0.5rem 0;color:#6c757d}
.tx-lrc .audio-player{width:100%;height:2rem;line-height:2rem;background-color:#f3f4f5;border-radius:6px}
.tx-lrc .progress-bar{height:5px;background-color:#e8ecef;margin:0.5rem 0;overflow:hidden;border-radius:3px}
.tx-lrc .progress{height:100%;background-color:#06b672;width:0%;transition:width 0.3s}
.tx-lrc .current-time{font-size:0.8rem;text-align:center;margin:0.5rem 0 0 0;color:#888}
.tx-lrc #wave-canvas{width:100%;height:60px;background:#f3f4f5;border-radius:6px;margin-top:6px;display:block}
.tx-lrc .copys{float:right;font-size:12px;cursor:pointer;color:#06b672;line-height:1.6}
.tx-lrc .mlr{width:20rem;padding-left:0;display:flex;flex-direction:column;gap:0.5rem}
.tx-lrc .mlr>div{background:#fff;border:1px solid #eef1f4;border-radius:10px;padding:0.6rem 0.7rem;margin:0;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.tx-lrc .mlr>div:last-child{margin:0}
.tx-lrc input[type="radio"]{accent-color:#06b672;margin-right:4px}
.tx-lrc .lyric-line{padding:0.4rem 0.6rem;border-left:4px solid transparent;border-radius:6px;transition:background-color 0.2s;cursor:pointer;display:flex;align-items:center}
.tx-lrc .lyric-line:hover{background-color:#e8f4fc}
.tx-lrc .lyric-line.active{background-color:#d1ecf1;border-left-color:var(--lrc-accent)}
.tx-lrc .lyric-line.singing{background-color:#e3f4ff;border-left-color:var(--lrc-accent);box-shadow:0 0 0 2px rgba(var(--lrc-accent-rgb),.25)}
.tx-lrc .lyric-line.checking{background:linear-gradient(90deg,#e6f7ef,#d6f2e6 60%,#e6f7ef);border-left-color:var(--lrc-accent);box-shadow:0 4px 16px rgba(var(--lrc-accent-rgb),.18)}
.tx-lrc .lyric-line.checking .lyric-text{color:#0a7d52;font-size:var(--lrc-font-size-check,var(--lrc-font-size,16px));font-weight:700;display:inline-block;transform-origin:center center;animation:txCheckBreathe 1.8s ease-in-out infinite}
/* 动效选择「无」：校对高亮行只保留高亮，关闭呼吸动画；高亮歌词文字实色加粗加大（禁用渐变透明，避免无动效时文字发虚看不清） */
.tx-lrc .fx-none .lyric-line.checking .lyric-text{animation:none;background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:currentColor!important;color:#0a7d52!important;font-weight:700;font-size:calc(var(--lrc-font-size-check,var(--lrc-font-size,16px)) * 1.15)!important}
.tx-lrc .fx-none .lyric-line.checking .lyric-char{animation:none;color:#0a7d52!important;-webkit-text-fill-color:currentColor!important}
.tx-lrc .fx-none .lyric-line.singing .lyric-text{color:#0a7d52!important;font-weight:700;font-size:calc(var(--lrc-font-size,16px) * 1.15)!important}
.tx-lrc .fx-none .lyric-line.active .lyric-text{color:#0a7d52!important;font-weight:700;font-size:calc(var(--lrc-font-size,16px) * 1.15)!important}
body.night .tx-lrc .fx-none .lyric-line.checking .lyric-text,body.night .tx-lrc .fx-none .lyric-line.singing .lyric-text,body.night .tx-lrc .fx-none .lyric-line.active .lyric-text{color:#34d399!important}
body.night .tx-lrc .fx-none .lyric-line.checking .lyric-char{color:#34d399!important}
@supports ((-webkit-background-clip:text) or (background-clip:text)){.tx-lrc .lyric-line.checking .lyric-text{background:linear-gradient(90deg,var(--lrc-accent),var(--lrc-accent-grad),var(--lrc-accent));-webkit-background-clip:text;background-clip:text;color:transparent}}
.tx-lrc .lyric-char{transition:background-color .15s,color .15s,transform .15s;border-radius:3px;display:inline-block}
/* ========== 校对动效（美化栏选择，播放/校对到哪句哪句带动效） ========== */
/* 逐字跳动：当前句每个字依次上跳 */
.tx-lrc .lyric-line.fx-charbounce .lyric-char{display:inline-block;animation:fxCharBounce .6s ease-in-out infinite}
.tx-lrc .lyric-line.fx-charbounce .lyric-char:nth-child(1){animation-delay:0s}
.tx-lrc .lyric-line.fx-charbounce .lyric-char:nth-child(2){animation-delay:.06s}
.tx-lrc .lyric-line.fx-charbounce .lyric-char:nth-child(3){animation-delay:.12s}
.tx-lrc .lyric-line.fx-charbounce .lyric-char:nth-child(4){animation-delay:.18s}
.tx-lrc .lyric-line.fx-charbounce .lyric-char:nth-child(5){animation-delay:.24s}
.tx-lrc .lyric-line.fx-charbounce .lyric-char:nth-child(6){animation-delay:.3s}
.tx-lrc .lyric-line.fx-charbounce .lyric-char:nth-child(7){animation-delay:.36s}
.tx-lrc .lyric-line.fx-charbounce .lyric-char:nth-child(8){animation-delay:.42s}
.tx-lrc .lyric-line.fx-charbounce .lyric-char:nth-child(9){animation-delay:.48s}
.tx-lrc .lyric-line.fx-charbounce .lyric-char:nth-child(10){animation-delay:.54s}
.tx-lrc .lyric-line.fx-charbounce .lyric-char:nth-child(11){animation-delay:.6s}
.tx-lrc .lyric-line.fx-charbounce .lyric-char:nth-child(12){animation-delay:.66s}
.tx-lrc .lyric-line.fx-charbounce .lyric-char:nth-child(13){animation-delay:.72s}
.tx-lrc .lyric-line.fx-charbounce .lyric-char:nth-child(14){animation-delay:.78s}
.tx-lrc .lyric-line.fx-charbounce .lyric-char:nth-child(15){animation-delay:.84s}
.tx-lrc .lyric-line.fx-charbounce .lyric-char:nth-child(16){animation-delay:.9s}
@keyframes fxCharBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
/* 校对行（字已放大）：逐字跳动幅度缩小，放大字跳动过猛会显得乱 */
.tx-lrc .lyric-line.checking.fx-charbounce .lyric-char{animation-name:fxCharBounceSmall}
@keyframes fxCharBounceSmall{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
/* 逐字跳动：禁用渐变文字（transform 位移与 background-clip:text 裁剪冲突会导致文字空白），改用实色 */
.tx-lrc .lyric-line.fx-charbounce .lyric-text{background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:currentColor!important;color:#0a7d52!important}
.tx-lrc .lyric-line.fx-charbounce .lyric-char{color:inherit!important;-webkit-text-fill-color:inherit!important}
body.night .tx-lrc .lyric-line.fx-charbounce .lyric-text{color:#34d399!important}
/* 闪光扫过：高光带从左到右扫过 */
@supports ((-webkit-background-clip:text) or (background-clip:text)){.tx-lrc .lyric-line.fx-shine .lyric-text{background:linear-gradient(90deg,var(--lrc-accent,#06b672) 0%,#fff 45%,var(--lrc-accent,#06b672) 55%,var(--lrc-accent,#06b672) 100%);background-size:320% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:fxShine 5s linear infinite}}
@keyframes fxShine{from{background-position:160% 0}to{background-position:-160% 0}}
/* 霓虹光晕：彩色光晕脉冲 */
.tx-lrc .lyric-line.fx-neon .lyric-text{animation:fxNeon 1.6s ease-in-out infinite}
@keyframes fxNeon{0%,100%{text-shadow:0 0 4px rgba(0,255,255,.55),0 0 14px rgba(0,255,255,.35)}50%{text-shadow:0 0 8px rgba(255,0,255,.75),0 0 26px rgba(255,0,255,.5)}}
/* 彩虹流动 */
@supports ((-webkit-background-clip:text) or (background-clip:text)){.tx-lrc .lyric-line.fx-rainbow .lyric-text{background:linear-gradient(90deg,#f33,#fc3,#3f3,#3cf,#33f,#f3f,#f33);background-size:400% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:fxRainbow 3s linear infinite}}
@keyframes fxRainbow{from{background-position:0% 0}to{background-position:400% 0}}
/* 心跳脉冲 */
.tx-lrc .lyric-line.fx-pulse .lyric-text{animation:fxPulse 1.2s ease-in-out infinite}
@keyframes fxPulse{0%,100%{transform:scale(1)}15%{transform:scale(1.07)}30%{transform:scale(1)}45%{transform:scale(1.05)}60%{transform:scale(1)}}
/* 弹跳 */
.tx-lrc .lyric-line.fx-bounce .lyric-text{animation:fxBounce .8s ease-in-out infinite}
@keyframes fxBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
/* 渐隐轮播 */
.tx-lrc .lyric-line.fx-fade{animation:fxFade 2.2s ease-in-out infinite}
@keyframes fxFade{0%,100%{opacity:1}50%{opacity:.3}}
/* 音符跳动：音符随节奏跳动（整句=行首音符，逐字=跟随当前高亮字：打点字/校对播放字，仅一个音符） */
.tx-lrc .lyric-line.fx-note .lyric-text{position:relative;display:inline-block;background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:currentColor!important;color:#0a7d52!important}
body.night .tx-lrc .lyric-line.fx-note .lyric-text{color:#34d399!important}
.tx-lrc .lyric-line.fx-note .lyric-text::before{content:'♪';position:absolute;top:-1.15em;left:0;font-size:1em;line-height:1;color:#f5b50a;text-shadow:0 0 6px rgba(245,181,10,.6);animation:fxNote 1.1s ease-in-out infinite}
/* 当前高亮字存在（逐字行：打点字/校对播放字）时隐藏行首音符，只保留跟随当前字的音符；整句行无字级高亮时保留行首音符 */
@supports selector(:has(.lyric-char)){.tx-lrc .lyric-line.fx-note .lyric-text:has(.lyric-char.char-active)::before,
.tx-lrc .lyric-line.fx-note .lyric-text:has(.lyric-char.char-singing)::before{display:none}}
.tx-lrc .lyric-line.fx-note .lyric-char{position:relative;animation:none!important;transform:none!important}
.tx-lrc .lyric-line.fx-note .lyric-char.char-singing::before,
.tx-lrc .lyric-line.fx-note .lyric-char.char-active::before{content:'♪';position:absolute;top:-1.2em;left:50%;font-size:1em;line-height:1;color:#f5b50a;text-shadow:0 0 6px rgba(245,181,10,.6);animation:fxNoteChar 1.1s ease-in-out infinite}
@keyframes fxNote{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-10px) rotate(8deg)}}
@keyframes fxNoteChar{0%,100%{transform:translate(-50%,0) rotate(-8deg)}50%{transform:translate(-50%,-10px) rotate(8deg)}}
/* 音乐律动：高亮文字随节拍弹跳（JS 检测低频能量突增触发跳起→快速回落，音乐越强峰值越大，上限1.30放大跳动范围） */
.tx-lrc .lyric-line.fx-beat .lyric-text{display:inline-block;transform-origin:center center;transform:scale(var(--beat-scale,1));transition:transform .05s linear;animation:none;background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:currentColor!important;color:#0a7d52!important;font-weight:700}
body.night .tx-lrc .lyric-line.fx-beat .lyric-text{color:#34d399!important}
/* ========== 校对动效 CSS 结束 ========== */
.tx-lrc .lyric-char.char-singing{background:var(--lrc-accent);color:#fff;border-radius:4px}
.tx-lrc .lyric-char.char-active{background:linear-gradient(180deg,var(--lrc-accent),var(--lrc-accent-grad));color:#fff;border-radius:4px;transform:scale(1.3);box-shadow:0 3px 10px rgba(var(--lrc-accent-rgb),.45);animation:txCharPop .3s ease-out}
.tx-lrc .lyric-line.char-mode{background-color:#fff8e6;border-left-color:#f39c12}
.tx-lrc .lyric-line.reading{background-color:#e8f1fb;border-left-color:#3498db}
.tx-lrc .lyric-line.char-mode .lyric-char{cursor:pointer}
.tx-lrc .lyric-line.char-mode .lyric-char:hover{background:#fdecc8}
.tx-lrc .lyric-char.char-next{background:var(--lrc-accent);color:#fff;border-radius:4px;animation:txCharBlink 1s infinite}
@keyframes txCharBlink{50%{opacity:.45}}
@keyframes txCheckBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes txCharPop{0%{transform:scale(.75)}55%{transform:scale(1.4)}100%{transform:scale(1.3)}}
.tx-lrc .lrc-progress-bar{position:sticky;top:0;left:0;height:3px;width:0%;background:linear-gradient(90deg,var(--lrc-accent),var(--lrc-accent-grad),var(--lrc-accent));border-radius:3px;z-index:5;transition:width .2s linear;box-shadow:0 0 8px rgba(var(--lrc-accent-rgb),.5)}
.tx-lrc .lrc-beautify{display:flex;align-items:center;gap:6px;padding:0.5rem 0.7rem;background:#f8fafc;border-bottom:1px solid #eef1f4;flex-wrap:wrap;position:sticky;top:0;z-index:30}
.tx-lrc .lrc-beautify .bt-label{font-size:12px;color:#7f8c8d;margin-right:2px}
.tx-lrc .lrc-beautify button{height:24px;padding:0 10px;border:1px solid #d5dbdf;border-radius:6px;background:#fff;color:#333;font-size:12px;cursor:pointer;line-height:22px}
.tx-lrc .lrc-beautify button:hover{border-color:var(--lrc-accent,#06b672);color:var(--lrc-accent,#06b672)}
.tx-lrc .lrc-beautify .theme-dot{width:20px;height:20px;padding:0;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.tx-lrc .lrc-beautify .theme-dot.on{border-color:#333;box-shadow:0 0 0 2px rgba(0,0,0,.35)}
.tx-lrc .lrc-beautify .bt-sep{width:1px;height:16px;background:#d5dbdf;margin:0 2px}
.tx-lrc .lrc-beautify select{height:24px;font-size:12px;border:1px solid #d5dbdf;border-radius:6px;background:#fff;color:#333;padding:0 4px;max-width:110px}
.tx-lrc .sync-mode{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:#666}
.tx-lrc .mode-btn{padding:5px 12px;border:1px solid #ccc;border-radius:6px 0 0 6px;font-size:13px;color:#333;background:#fff;cursor:pointer}
.tx-lrc .mode-btn + .mode-btn{border-radius:0 6px 6px 0;border-left:none}
.tx-lrc .mode-btn.mode-on{background:var(--lrc-accent,#3498db);color:#fff;border-color:var(--lrc-accent,#3498db)}
.tx-lrc .line-no{color:#aaa;font-size:11px;margin-right:6px;min-width:20px;text-align:right}
.tx-lrc .timestamp{color:#7f8c8d;font-size:12px;margin-right:0.25rem;min-width:4.2rem}
.tx-lrc .lyric-text{color:#2c3e50;flex:1;font-size:var(--lrc-font-size,16px);font-family:var(--lrc-font,inherit)}
.tx-lrc .lyric-actions{display:flex;gap:3px;margin-left:10px;opacity:0;transition:opacity 0.2s;flex-shrink:0}
.tx-lrc .lyric-line:hover .lyric-actions{opacity:1}
.tx-lrc .action-btn{background:none;border:1px solid #ddd;cursor:pointer;font-size:12px;padding:1px 5px;border-radius:3px;color:#555}
.tx-lrc .action-btn:hover{border-color:#06b672;color:#06b672}

.tx-lrc .action-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px;background:#fff;border:1px solid #e8ecef;border-radius:10px;padding:8px 10px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.tx-lrc .btn-group{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:5px;align-items:center;padding:4px 2px}
.tx-lrc .btn-group>b{font-size:12px;font-weight:normal;letter-spacing:1px;margin-right:2px;display:inline-flex;align-items:center;gap:3px;height:29px;white-space:nowrap;line-height:1}
.tx-lrc .btn-group>b::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block}
.tx-lrc .btn-group.g-green>b{color:#06b672}
.tx-lrc .btn-group.g-blue>b{color:#3498db}
.tx-lrc .btn-group.g-orange>b{color:#ff8f1f}
.tx-lrc .btn-group.g-purple>b{color:#8f6ef0}
.tx-lrc .btn-group button{padding:5px 9px;border:1px solid #06b672;border-radius:6px;background:#fff;color:#06b672;font-size:12.5px;cursor:pointer;transition:all .2s}
.tx-lrc .btn-group button:hover{background:#e8faf0;border-color:#059b61;color:#059b61}
.tx-lrc .btn-group button:disabled{opacity:.5;cursor:not-allowed}

.tx-lrc .btn-group.g-blue button{color:#0369c9;border-color:#7fb9e8;background:#fff}
.tx-lrc .btn-group.g-blue button:hover{background:#eaf3fc;border-color:#3498db;color:#0369c9}
.tx-lrc .btn-group.g-purple button{color:#7c3aed;border-color:#c4b5fd;background:#fff}
.tx-lrc .btn-group.g-purple button:hover{background:#f3edff;border-color:#a78bfa;color:#7c3aed}
.tx-lrc .btn-group.g-orange button{color:#ea6b0a;border-color:#fbc08d;background:#fff}
.tx-lrc .btn-group.g-orange button:hover{background:#fef0e2;border-color:#f59e0b;color:#ea6b0a}

.tx-lrc .btn-group #start-sync.on,.tx-lrc .btn-group #start-check.on{background:#06b672;color:#fff}
.tx-lrc .btn-group #start-sync.on:hover,.tx-lrc .btn-group #start-check.on:hover{background:#059b61;border-color:#059b61;color:#fff}
.tx-lrc .btn-group.g-purple #apply-offset{background:#7c3aed;color:#fff}
.tx-lrc .btn-group.g-purple #apply-offset:hover{background:#6d28d9;border-color:#6d28d9;color:#fff}
.tx-lrc .btn-group.g-orange #dowgeci{background:#f97316;color:#fff}
.tx-lrc .btn-group.g-orange #dowgeci:hover{background:#ea580c;border-color:#ea580c;color:#fff}
    .tools-cent .video-mask{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99999;background:rgba(15,23,42,.6);display:flex;align-items:center;justify-content:center}
    .tools-cent .video-choose{background:#fff;border-radius:16px;padding:24px 30px;text-align:center;box-shadow:0 24px 64px rgba(0,0,0,.35);min-width:420px;max-width:92vw}
    .tools-cent .video-choose .vc-title{font-size:18px;font-weight:700;color:#1e293b;margin-bottom:16px}
    .tools-cent .video-choose .vc-row{display:flex;align-items:center;gap:12px;margin-bottom:14px;justify-content:center;flex-wrap:wrap}
    .tools-cent .video-choose .vc-label{font-size:13px;color:#94a3b8;white-space:nowrap;flex:none}
    .tools-cent .video-choose .vc-options{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
    .tools-cent .video-choose .vc-btn{padding:10px 18px;border-radius:10px;border:2px solid #d5dae1;background:#fff;font-size:14px;cursor:pointer;color:#475569;transition:all .2s}
    .tools-cent .video-choose .vc-btn:hover{border-color:#7c3aed;color:#7c3aed;background:#f3edff;transform:translateY(-1px)}
    .tools-cent .video-choose .vc-btn.on{border-color:#06b672;color:#067a4e;background:#e6f7ef;box-shadow:0 0 0 2px rgba(6,182,114,.18)}
    .tools-cent .video-choose .vc-actions{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:6px}
    .tools-cent .video-choose .vc-go{padding:11px 34px;border-radius:10px;border:none;background:linear-gradient(135deg,#06b672,#0e9dd6);color:#fff;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 6px 18px rgba(6,182,114,.35);transition:all .2s}
    .tools-cent .video-choose .vc-go:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(6,182,114,.45)}
    .tools-cent .video-choose .vc-cancel{border:none;background:none;color:#94a3b8;cursor:pointer;font-size:13px;padding:4px 10px}
    .tools-cent .video-choose .vc-cancel:hover{color:#64748b}
    body.night .tools-cent .video-choose{background:#1e293b}
    body.night .tools-cent .video-choose .vc-title{color:#e2e8f0}
    body.night .tools-cent .video-choose .vc-btn{background:#273244;border-color:#4b5a6b;color:#cbd5e1}
    body.night .tools-cent .video-choose .vc-btn:hover{border-color:#8b5cf6;color:#c4b5fd;background:#31234d}
    body.night .tools-cent .video-choose .vc-btn.on{border-color:#34d399;color:#6ee7b7;background:#1c3a4e;box-shadow:0 0 0 2px rgba(52,211,153,.18)}
    body.night .tools-cent .video-choose .vc-cancel{color:#64748b}
    body.night .tools-cent .video-choose .vc-cancel:hover{color:#94a3b8}
    /* 全屏歌词电台 */
    .tools-cent .radio-mask{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99999;background:#0b1220;display:flex;align-items:center;justify-content:center}
    .tools-cent .radio-stage{width:100%;height:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 20% 18%,rgba(52,152,219,.22),transparent 55%),radial-gradient(circle at 80% 30%,rgba(6,182,114,.18),transparent 55%),radial-gradient(circle at 50% 90%,rgba(243,156,18,.12),transparent 50%),linear-gradient(160deg,#0b1220 0%,#0e2a26 60%,#101b2e 100%)}
    .tools-cent .radio-head{position:absolute;top:6%;left:0;right:0;display:flex;justify-content:space-between;align-items:baseline;padding:0 7%;z-index:2}
    .tools-cent .radio-head .radio-title{font-size:2.4rem;font-weight:700;color:#fff;text-shadow:0 4px 24px rgba(6,182,114,.35);letter-spacing:.08em;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .tools-cent .radio-head .radio-time{font-size:1.4rem;color:rgba(255,255,255,.55);font-variant-numeric:tabular-nums}
    .tools-cent .radio-lyrics{position:relative;z-index:1;text-align:center;line-height:2.4;min-height:40vh;display:flex;flex-direction:column;justify-content:center}
    .tools-cent .radio-lyrics .radio-line{transition:all .5s}
    .tools-cent .radio-lyrics .r-prev{font-size:2rem;color:rgba(255,255,255,.32);transform:translateY(calc(-100% - 1.6rem));opacity:.4}
    .tools-cent .radio-lyrics .r-cur{font-size:3.6rem;font-weight:700;color:#fff;text-shadow:0 0 30px rgba(52,211,153,.55),0 6px 30px rgba(0,0,0,.5);background:linear-gradient(90deg,#34d399,#22d3ee,#34d399);-webkit-background-clip:text;background-clip:text;color:transparent;transform:scale(1.06)}
    .tools-cent .radio-lyrics .r-next{font-size:2rem;color:rgba(255,255,255,.45);transform:translateY(calc(100% + 1.6rem));opacity:.5}
    .tools-cent .radio-foot{position:absolute;bottom:7%;left:0;right:0;display:flex;justify-content:center;gap:16px;z-index:2}
    .tools-cent .radio-btn{padding:12px 34px;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;font-size:1.1rem;cursor:pointer;backdrop-filter:blur(6px);transition:all .2s}
    .tools-cent .radio-btn:hover{background:rgba(255,255,255,.18);transform:translateY(-2px)}
    .tools-cent .radio-btn.radio-exit{border-color:rgba(255,255,255,.15);color:rgba(255,255,255,.7)}

.tx-lrc .btn-group #char-tap{background:#06b672;color:#fff;border-color:#06b672}
.tx-lrc .btn-group #char-tap:hover{background:#059b61;color:#fff}

.tx-lrc .btn-group #sync-toggle.sync-on{background:#06b672;color:#fff;border-color:#06b672}
.tx-lrc .btn-group #sync-toggle.sync-on:hover{background:#059b61;color:#fff}

.guide-pop{position:fixed;z-index:100001;max-width:330px;background:#fff;border:1px solid #d2f0e0;border-left:4px solid #06b672;border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.14);padding:14px 16px;font-size:13px;color:#2c3e50;line-height:1.7}
.guide-pop .g-title{font-weight:600;color:#06b672;margin-bottom:4px;font-size:14px}
.guide-pop .g-body{margin-bottom:10px}
.guide-pop .g-btns{display:flex;gap:6px;justify-content:space-between;align-items:center}
.guide-pop .g-btns>span{display:flex;gap:12px;align-items:center}
.guide-pop .g-btns .g-step{color:#999;font-size:11px}
.guide-pop .g-btn{padding:4px 12px;border:1px solid #06b672;border-radius:6px;background:#fff;color:#06b672;font-size:12px;cursor:pointer;transition:all .2s}
.guide-pop .g-btn:hover{background:#e8faf0}
.guide-pop .g-btn.g-primary{background:#06b672;color:#fff}
.guide-pop .g-btn.g-primary:hover{background:#059b61}
.guide-pop .g-btn.g-skip{border-color:#ccc;color:#888}
.guide-pop .g-btn.g-skip:hover{background:#f5f5f5}
.guide-target{outline:2px dashed #06b672;outline-offset:3px;animation:gPulse 1.2s infinite;transition:outline-color .2s}
@keyframes gPulse{50%{outline-color:#f39c12}}
body.night .guide-pop{background:#1e2937;border-color:#0e7a4e;border-left-color:#06b672;color:#d1e8dd}
body.night .guide-pop .g-title{color:#6ee7b7}
body.night .guide-pop .g-step{color:#7a8a98}
body.night .guide-pop .g-btn{background:#273244;border-color:#06b672;color:#6ee7b7}
body.night .guide-pop .g-btn:hover{background:#123a2b}
body.night .guide-pop .g-btn.g-primary{background:#06b672;color:#fff}
body.night .guide-pop .g-btn.g-primary:hover{background:#059b61}
body.night .guide-pop .g-btn.g-skip{border-color:#4b5563;color:#9aa5b0}
body.night .guide-pop .g-btn.g-skip:hover{background:#374151}
@media(max-width:767px){.guide-pop{left:10px!important;right:10px;max-width:none;width:auto}}
.tx-lrc .guide-restart-link{font-size:12px;color:#999;font-weight:400;cursor:pointer;margin-left:6px}
.tx-lrc .guide-restart-link:hover{color:#06b672}
body.night .tx-lrc .guide-restart-link{color:#7a8a98}
body.night .tx-lrc .guide-restart-link:hover{color:#6ee7b7}

.tx-lrc .btn-group .mode-btn{background:#fff;border:1px solid #3498db;color:#0369c9;border-radius:6px 0 0 6px}.tx-lrc .btn-group .mode-btn + .mode-btn{border-radius:0 6px 6px 0;border-left:none}
.tx-lrc .btn-group .mode-btn.mode-on{background:#3498db;color:#fff}
.tx-lrc .btn-group .offset-box{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:#7b8794}
.tx-lrc .btn-group #offset-val{width:44px;padding:4px 6px;border:1px solid #d8dee4;border-radius:6px;font-size:13px;color:#333;background:#fff}
.tx-lrc .tx-lrc-tip{background:linear-gradient(90deg,#e9faf2,#f5fbf8);border:1px solid #d2f0e0;border-left:4px solid #06b672;border-radius:8px;padding:10px 14px;font-size:13px;color:#3d6b53;margin-bottom:14px;line-height:1.8}
.tx-lrc .resttips{margin-top:20px;background:#fff;border:1px solid #eef1f4;border-radius:12px;padding:20px 24px;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.tx-lrc .resttips h4.resttipstitle{font-size:15px;color:#1f2937;margin:14px 0 10px;padding-left:10px;border-left:4px solid #06b672;display:inline-block;line-height:1.4}
.tx-lrc .resttips h4.resttipstitle:first-child{margin-top:0}
.tx-lrc .resttips p,.tx-lrc .resttips li{font-size:13px;color:#555;line-height:1.9;margin:6px 0}
.tx-lrc .resttips ul{margin:6px 0;padding-left:18px}
.tx-lrc .resttips code{background:#f0f2f4;border-radius:4px;padding:1px 6px;font-size:12px;color:#c0392b}

body.night .tx-lrc .mlf{background:#1a1a1a;border:1px solid #444}
body.night .tx-lrc #preview::-webkit-scrollbar-thumb{background-color:#444}
body.night .tx-lrc #preview::-webkit-scrollbar-track{background-color:#333}
body.night .tx-lrc .audio-section{background-color:#181a1b;border:1px solid #2c3a33}
body.night .tx-lrc .file-upload{background-color:#232324;border:1.5px dashed #3a4d43}
body.night .tx-lrc .file-upload:hover{border-color:#06b672;background:#1c2b23}
body.night .tx-lrc .file-upload p{color:#ddd}
body.night .tx-lrc .progress-bar{background-color:#444}
body.night .tx-lrc .progress{background-color:#06b672}
body.night .tx-lrc .current-time{color:#bbb}
body.night .tx-lrc #wave-canvas{background:#20272e}
body.night .tx-lrc .mlr>div{background:#1f2937;border:1px solid #374151;box-shadow:none}
body.night .tx-lrc .lyric-line:hover{background-color:#2a4a63}
body.night .tx-lrc .lyric-line.active{background-color:#444;border-left:4px solid var(--lrc-accent)}
body.night .tx-lrc .lyric-line.singing{background-color:#1c3a4e;border-left:4px solid var(--lrc-accent)}
body.night .tx-lrc .lyric-line.checking{background:linear-gradient(90deg,#1d3327,#18323f 60%,#1d3327);border-left-color:var(--lrc-accent);box-shadow:0 4px 16px rgba(var(--lrc-accent-rgb),.2)}
body.night .tx-lrc .lyric-line.checking .lyric-text{color:#34d399;font-size:var(--lrc-font-size-check,var(--lrc-font-size,16px));font-weight:700;display:inline-block;transform-origin:center center;animation:txCheckBreathe 1.8s ease-in-out infinite}
body.night .tx-lrc .fx-none .lyric-line.checking .lyric-text{animation:none}
body.night .tx-lrc .fx-none .lyric-line.checking .lyric-char{animation:none}
@supports ((-webkit-background-clip:text) or (background-clip:text)){body.night .tx-lrc .lyric-line.checking .lyric-text{background:linear-gradient(90deg,var(--lrc-accent),var(--lrc-accent-grad),var(--lrc-accent));-webkit-background-clip:text;background-clip:text;color:transparent}}
body.night .tx-lrc .lyric-char.char-active{background:linear-gradient(180deg,var(--lrc-accent),var(--lrc-accent-grad));color:#fff;transform:scale(1.3);box-shadow:0 3px 10px rgba(var(--lrc-accent-rgb),.5);animation:txCharPop .3s ease-out}
body.night .tx-lrc #preview{background:radial-gradient(circle at 18% 15%,rgba(52,152,219,.18),transparent 55%),radial-gradient(circle at 82% 28%,rgba(6,182,114,.14),transparent 55%),radial-gradient(circle at 55% 88%,rgba(243,156,18,.10),transparent 55%),linear-gradient(150deg,#15202c,#1a2833 45%,#16241f 100%);background-attachment:local}
body.night .tx-lrc .lrc-progress-bar{box-shadow:0 0 10px rgba(52,152,219,.6)}
body.night .tx-lrc .sync-mode{color:#bbb}
body.night .tx-lrc .mode-btn{background:#333;border-color:#555;color:#eee}
body.night .tx-lrc .mode-btn.mode-on{background:var(--lrc-accent,#3498db);color:#fff;border-color:var(--lrc-accent,#3498db)}
body.night .tx-lrc .timestamp{color:#ddd}
body.night .tx-lrc .lyric-text{color:#ddd}
body.night .tx-lrc .lrc-beautify{background:#1f2937;border-bottom-color:#374151}
body.night .tx-lrc .lrc-beautify button{background:#273244;border-color:#4b5a6b;color:#ccc}
body.night .tx-lrc .lrc-beautify button:hover{border-color:var(--lrc-accent,#06b672);color:var(--lrc-accent,#06b672)}
body.night .tx-lrc .lrc-beautify select{background:#273244;border-color:#4b5a6b;color:#ccc}
body.night .tx-lrc .lrc-beautify .bt-sep{background:#4b5a6b}
body.night .tx-lrc .lrc-beautify .theme-dot.on{border-color:#fff}
body.night .tx-lrc .action-btn{color:#ccc;border-color:#555}
body.night .tx-lrc .lyric-line.char-mode{background-color:#2a2a2a;border-left-color:#f39c12}
body.night .tx-lrc .lyric-line.reading{background-color:#1c3a4e;border-left-color:#3498db}
body.night .tx-lrc .lyric-line.char-mode .lyric-char:hover{background:#3a3a3a}
body.night .tx-lrc .tx-lrc-tip{background:#14211c;border-color:#2c3a33;border-left-color:#06b672;color:#8fd4b0}
body.night .tx-lrc .action-bar{background:#1f2937;border-color:#374151}
body.night .tx-lrc .btn-group>b{color:#9aa5b0}
body.night .tx-lrc .btn-group.g-green>b{color:#6ee7b7}
body.night .tx-lrc .btn-group.g-blue>b{color:#93c5fd}
body.night .tx-lrc .btn-group.g-orange>b{color:#fdba74}
body.night .tx-lrc .btn-group.g-purple>b{color:#c4b5fd}
body.night .tx-lrc .btn-group button{background:#273244;border-color:#06b672;color:#6ee7b7}
body.night .tx-lrc .btn-group button:hover{background:#123a2b;border-color:#06b672}
body.night .tx-lrc .btn-group.g-blue button{background:#16293f;border-color:#2563a8;color:#93c5fd}
body.night .tx-lrc .btn-group.g-blue button:hover{background:#1c3a5c;border-color:#3498db}
body.night .tx-lrc .btn-group.g-purple button{background:#241a38;border-color:#6d4aa0;color:#c4b5fd}
body.night .tx-lrc .btn-group.g-purple button:hover{background:#31234d;border-color:#8b5cf6}
body.night .tx-lrc .btn-group.g-orange button{background:#2d2216;border-color:#9a5b1e;color:#fdba74}
body.night .tx-lrc .btn-group.g-orange button:hover{background:#3b2c1a;border-color:#f59e0b}
body.night .tx-lrc .btn-group #start-sync.on,body.night .tx-lrc .btn-group #start-check.on{background:#06b672;color:#fff}
body.night .tx-lrc .btn-group #start-sync.on:hover,body.night .tx-lrc .btn-group #start-check.on:hover{background:#059b61}
body.night .tx-lrc .btn-group.g-purple #apply-offset{background:#7c3aed;color:#fff}
body.night .tx-lrc .btn-group.g-purple #apply-offset:hover{background:#6d28d9}
body.night .tx-lrc .btn-group.g-orange #dowgeci{background:#f97316;color:#fff}
body.night .tx-lrc .btn-group.g-orange #dowgeci:hover{background:#ea580c}
body.night .tx-lrc .btn-group #char-tap{background:#06b672;color:#fff;border-color:#06b672}

body.night .tx-lrc .btn-group #sync-toggle.sync-on{background:#06b672;color:#fff;border-color:#06b672}
body.night .tx-lrc .btn-group #sync-toggle.sync-on:hover{background:#059a61}
body.night .tx-lrc .btn-group .mode-btn{background:#12314a;border-color:#3498db;color:#93c5fd}
body.night .tx-lrc .btn-group .mode-btn.mode-on{background:#3498db;color:#fff}
body.night .tx-lrc .btn-group .offset-box{color:#9aa5b0}
body.night .tx-lrc .btn-group #offset-val{background:#111827;border-color:#4b5563;color:#ddd}
body.night .tx-lrc .resttips{background:#1d1d1d;border-color:#383838;box-shadow:none}
body.night .tx-lrc .resttips h4.resttipstitle{color:#eee}
body.night .tx-lrc .resttips p,body.night .tx-lrc .resttips li{color:#aaa}
body.night .tx-lrc .resttips code{background:#333;color:#e8877a}

@media screen and (max-width:1290px){
    .tx-lrc .mdiv{display:block}
    .tx-lrc .mlf{width:100%;height:20rem}
    .tx-lrc .mlr{width:100%;padding-left:0rem;margin-top:0.75rem}
}
@media screen and (max-width:768px){
    .tx-lrc .btn-group{flex:1 1 100%;min-width:0}
    /* 手机端窄屏：歌词字号缩小、行距收紧、左右 padding 压缩，让歌词文本铺满框架 */
    .tx-lrc #preview{--lrc-font-size:13px;--lrc-lh:1.45;padding:0.35rem}
    .tx-lrc .lyric-line{padding:0.2rem 0.25rem}
    .tx-lrc .line-no{font-size:10px;min-width:15px;margin-right:2px}
    .tx-lrc .timestamp{font-size:10px;min-width:3.3rem;margin-right:0.15rem}
    .tx-lrc .lyric-text{font-size:var(--lrc-font-size)}
    .tx-lrc .action-btn{font-size:10px;padding:1px 3px}
    .tx-lrc .lyric-actions{gap:2px;margin-left:5px}
    /* 手机端窄屏布局：歌词文本独占第一行，序号+时间戳+按钮组落到第二行 */
    .tx-lrc .lyric-line{flex-wrap:wrap;align-items:flex-start;row-gap:3px}
    .tx-lrc .lyric-line .lyric-text{order:1;flex:1 0 100%!important;margin-bottom:2px}
    .tx-lrc .lyric-line .line-no{order:2;align-self:center}
    .tx-lrc .lyric-line .timestamp{order:3;align-self:center}
    .tx-lrc .lyric-line .lyric-actions{order:4;margin-left:auto;align-self:center;opacity:1;flex-wrap:nowrap}
}
@media screen and (max-width:550px){
    .tx-lrc #preview .lrctips{font-size:1rem;opacity:0.4;width:100%;text-align:center}
    .tx-lrc .btn-group button{padding:5px 9px;font-size:12px}
    .tx-lrc .lyric-line{flex-wrap:wrap}
    .tx-lrc .lyric-actions{opacity:1;margin-left:auto;flex-wrap:nowrap;justify-content:flex-end}
}
@media screen and (max-width:350px){
    .tx-lrc .current-time{font-size:0.8rem}
}
