
.tx-luping{padding:.2rem 0;font-size:0.7rem}
.tx-luping .lp-layout{display:flex;gap:.7rem;align-items:flex-start;flex-wrap:wrap}
.tx-luping .lp-stage{flex:0 0 60%;min-width:0;background:#fff;border:1px solid #e8ecf1;border-radius:12px;overflow:hidden;box-shadow:0 2px 10px rgba(20,30,60,.05)}
.tx-luping .lp-side{flex:0 0 38%;min-width:0;display:flex;flex-direction:column;gap:.6rem}
.tx-luping .lp-stage-head{display:flex;justify-content:space-between;align-items:center;padding:.5rem .7rem;border-bottom:1px solid #eef1f4;flex-wrap:wrap;gap:.4rem}
.tx-luping .lp-modes{display:inline-flex;background:#f2f4f8;border-radius:8px;padding:2px;gap:2px}
.tx-luping .lp-mode{border:0;background:transparent;padding:.22rem .6rem;border-radius:6px;cursor:pointer;font-size:0.72rem;color:#6b7280}
.tx-luping .lp-mode.act{background:#fff;color:#6366f1;box-shadow:0 1px 3px rgba(0,0,0,.1);font-weight:600}
.tx-luping .lp-fixedrow{display:none;align-items:center;gap:.4rem;font-size:0.7rem;color:#6b7280;padding:.32rem .7rem;border-bottom:1px solid #f2f4f8;background:#fafbfc}
.tx-luping .lp-fixedrow select{padding:.16rem .3rem;border:1px solid #e0e4ea;border-radius:6px;background:#fff;font-size:0.7rem}
.tx-luping .lp-recinfo{display:none;align-items:center;gap:.35rem;font-variant-numeric:tabular-nums;font-weight:600;color:#ef4444;font-size:0.78rem}
.tx-luping .lp-recinfo.live{display:inline-flex}
.tx-luping .lp-dot{width:8px;height:8px;border-radius:50%;background:#ef4444;animation:lpPulse 1.2s infinite}
@-webkit-keyframes lpPulse{0%{box-shadow:0 0 0 0 rgba(239,68,68,.5)}100%{box-shadow:0 0 0 8px rgba(239,68,68,0)}}
@keyframes lpPulse{0%{box-shadow:0 0 0 0 rgba(239,68,68,.5)}100%{box-shadow:0 0 0 8px rgba(239,68,68,0)}}
.tx-luping .lp-preview{position:relative;background:#0f1115;aspect-ratio:16/9;overflow:hidden}
.tx-luping .lp-preview video,.tx-luping .lp-preview canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.tx-luping #lpVideo{position:absolute;left:-9999px;top:0;width:2px;height:2px;opacity:0;pointer-events:none}
.tx-luping .lp-resultview{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000;display:none;z-index:3}
.tx-luping .lp-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8a93a6;gap:.5rem;text-align:center;padding:1rem}
.tx-luping .lp-ph-icon{font-size:1.5rem;color:#ef4444;font-weight:700;letter-spacing:2px}
.tx-luping .lp-placeholder p{margin:0;font-size:0.75rem}
.tx-luping .lp-countdown{position:absolute;inset:0;display:none;align-items:center;justify-content:center;font-size:4.5rem;font-weight:800;color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.5);z-index:6;pointer-events:none}
.tx-luping .lp-cam{position:absolute;right:10px;bottom:10px;width:140px;max-width:28%;aspect-ratio:4/3;border-radius:8px;overflow:hidden;border:2px solid #fff;box-shadow:0 4px 12px rgba(0,0,0,.3);z-index:5;display:none}
.tx-luping .lp-cam video{width:100%;height:100%;object-fit:cover}
.tx-luping #lpSelOverlay{position:absolute;border:2px dashed #6366f1;background:rgba(99,102,241,.12);display:none;z-index:4;pointer-events:none}
.tx-luping .lp-selhint{position:absolute;top:8px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.6);color:#fff;padding:.2rem .6rem;border-radius:14px;font-size:0.7rem;display:none;z-index:7;white-space:nowrap}
.tx-luping .lp-stage-foot{display:flex;gap:.5rem;padding:.55rem .7rem;background:#fafbfc;border-top:1px solid #eef1f4;flex-wrap:wrap}
.tx-luping .lp-btn{border:0;cursor:pointer;padding:.42rem 1rem;border-radius:8px;font-size:0.75rem;font-weight:600;transition:.2s}
.tx-luping .lp-start{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;flex:1}
.tx-luping .lp-start:hover:not(:disabled){filter:brightness(1.08)}
.tx-luping .lp-stop{background:#ef4444;color:#fff}
.tx-luping .lp-pause{background:#f3f4f6;color:#374151}
.tx-luping .lp-btn:disabled{opacity:.5;cursor:not-allowed}
.tx-luping .lp-card{background:#fff;border:1px solid #e8ecf1;border-radius:10px;padding:.55rem .7rem;box-shadow:0 1px 5px rgba(20,30,60,.04)}
.tx-luping .lp-card h3{margin:0 0 .35rem;font-size:0.8rem;color:#1f2937;display:flex;justify-content:space-between;align-items:center;cursor:pointer;user-select:none}
.tx-luping .lp-card h3:hover{color:#4f46e5}
.tx-luping .lp-card h3 .lp-arrow{font-size:0.7rem;transition:transform .25s;color:#9ca3af}
.tx-luping .lp-card.lp-collapsed h3 .lp-arrow{transform:rotate(-90deg)}
.tx-luping .lp-card-body{overflow:hidden;transition:max-height .25s ease,opacity .2s}
.tx-luping .lp-card.lp-collapsed .lp-card-body{max-height:0;opacity:0;margin:0}
.tx-luping .lp-card:not(.lp-collapsed) .lp-card-body{max-height:600px}
.tx-luping .lp-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0;gap:.5rem;font-size:0.72rem}
.tx-luping .lp-row>span{color:#374151;white-space:nowrap}
.tx-luping .lp-row input[type=number],.tx-luping .lp-row select{width:74px;padding:.18rem .3rem;border:1px solid #e0e4ea;border-radius:6px;background:#fff;font-size:0.72rem}
.tx-luping #lpMicDev{min-width:120px;width:120px;max-width:160px}
.tx-luping .lp-row input[type=range]{flex:1;min-width:30px;accent-color:#6366f1;height:14px}
.tx-luping .lp-row .lp-wm{width:230px;flex:none;padding:.18rem .35rem;border:1px solid #e0e4ea;border-radius:6px;font-size:0.72rem;background:#fff}
.tx-luping .lp-row .lp-wm:disabled{background:#f3f4f6;color:#9ca3af}
.tx-luping .lp-sw{position:relative;width:34px;height:19px;flex:none}
.tx-luping .lp-sw input{opacity:0;width:0;height:0;position:absolute}
.tx-luping .lp-sw i{position:absolute;inset:0;background:#d1d5db;border-radius:19px;transition:.2s;cursor:pointer}
.tx-luping .lp-sw i:before{content:'';position:absolute;width:15px;height:15px;left:2px;top:2px;background:#fff;border-radius:50%;transition:.2s}
.tx-luping .lp-sw input:checked+i{background:#6366f1}
.tx-luping .lp-sw input:checked+i:before{transform:translateX(15px)}
.tx-luping .lp-keyinput{display:inline-block;min-width:52px;text-align:center;border:1px solid #c7d2fe;border-radius:5px;padding:.12rem .4rem;background:#eef2ff;font-weight:600;color:#4f46e5;cursor:pointer;font-size:0.72rem;box-shadow:0 1px 2px rgba(79,70,229,.15)}
.tx-luping .lp-keyinput:hover{background:#e0e7ff;border-color:#a5b4fc}
.tx-luping .lp-keyinput.lp-key-editing{background:#fee2e2;border-color:#ef4444;color:#b91c1c;box-shadow:0 0 0 2px rgba(239,68,68,.3)}
.tx-luping .lp-val{min-width:28px;text-align:right;font-size:0.68rem;color:#6b7280}
.tx-luping .lp-result{margin-top:.8rem;background:#fff;border:1px solid #e8ecf1;border-radius:10px;padding:.7rem}
.tx-luping .lp-result h3{margin:0 0 .4rem;font-size:0.8rem;color:#1f2937}
.tx-luping .lp-result video{width:100%;border-radius:8px;background:#000;margin:.3rem 0}
.tx-luping .lp-download{display:inline-block;text-decoration:none;background:linear-gradient(135deg,#10b981,#059669);color:#fff}
.tx-luping .lp-history{margin-top:.8rem}
.tx-luping .lp-history h3{font-size:0.8rem;color:#1f2937;margin:0 0 .4rem;display:flex;justify-content:space-between;align-items:center}
.tx-luping .lp-help{background:#fff;border:1px solid #e8ecf1;border-radius:12px;padding:.8rem .9rem;margin-top:.7rem}
.tx-luping .help h3,.tx-luping .lp-help h3{font-size:0.85rem;color:#1f2937;margin:0 0 .6rem}
.tx-luping .lp-help-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
.tx-luping .lp-help-item{background:#f8fafc;border:1px solid #eef1f4;border-radius:8px;padding:.55rem .65rem}
.tx-luping .lp-help-item b{font-size:0.72rem;color:#4f46e5}
.tx-luping .lp-help-item p{margin:.25rem 0 0;font-size:0.68rem;color:#4b5563;line-height:1.55}
.tx-luping .lp-help-warn{margin:.6rem 0 0;font-size:0.66rem;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:.45rem .6rem}
@media(max-width:900px){.tx-luping .lp-help-grid{grid-template-columns:1fr}}
.tx-luping .lp-clear{color:#ef4444;border-color:#f3c2c2;font-weight:400}
.tx-luping .lp-hrow{display:flex;align-items:center;gap:.6rem;background:#fff;border:1px solid #e8ecf1;border-radius:8px;padding:.4rem;margin-bottom:.4rem}
.tx-luping .lp-hrow video{width:96px;flex:none;border-radius:6px;background:#000}
.tx-luping .lp-hmeta{flex:1;display:flex;flex-direction:column;font-size:0.68rem;color:#6b7280}
.tx-luping .lp-mini-btn{border:1px solid #e0e4ea;background:#f8fafc;padding:.2rem .55rem;border-radius:6px;cursor:pointer;font-size:0.68rem;color:#374151;text-decoration:none;display:inline-block}
.tx-luping .lp-hops{display:flex;gap:.4rem;align-items:center}
.tx-luping .lp-del{color:#ef4444;border-color:#f3c2c2}
.tx-luping .lp-empty{color:#9ca3af;text-align:center;padding:1.2rem;margin:0;font-size:0.72rem}
.tx-luping .lp-hint{color:#9ca3af;font-size:0.68rem;margin:.3rem 0 0}
.tx-luping .lp-minibar{position:fixed;right:16px;bottom:16px;z-index:9999;display:none;align-items:center;gap:.4rem;background:rgba(30,32,40,.92);color:#fff;padding:.35rem .6rem;border-radius:20px;box-shadow:0 6px 18px rgba(0,0,0,.3);font-size:0.72rem;cursor:move}
.tx-luping .lp-mini-dot{width:7px;height:7px;border-radius:50%;background:#ef4444}
.tx-luping .lp-minibar button{background:rgba(255,255,255,.15);border:0;color:#fff;padding:.2rem .5rem;border-radius:12px;cursor:pointer;font-size:0.68rem}
.night .tx-luping .lp-stage,.night .tx-luping .lp-card,.night .tx-luping .lp-result,.night .tx-luping .lp-hrow{background:#1e2128;border-color:#333842}
.night .tx-luping .lp-stage-foot{background:#191c22;border-color:#333842}
.night .tx-luping .lp-card h3,.night .tx-luping .lp-result h3,.night .tx-luping .lp-history h3{color:#e5e7eb}
.night .tx-luping .lp-row>span{color:#d1d5db}
.night .tx-luping .lp-modes{background:#191c22}
.night .tx-luping .lp-mode{color:#9ca3af}
.night .tx-luping .lp-mode.act{background:#2a2e37;color:#a5b4fc}
.night .tx-luping .lp-row input[type=number],.night .tx-luping .lp-row select,.night .tx-luping .lp-keyinput{background:#14161a;border-color:#3a3f4a;color:#eee}
.night .tx-luping .lp-row .lp-wm{background:#14161a;border-color:#3a3f4a;color:#eee}
.night .tx-luping .lp-row .lp-wm:disabled{background:#1e2128;color:#6b7280}
.night .tx-luping .lp-pause{background:#2a2e37;color:#d1d5db}
.night .tx-luping .lp-mini-btn{background:#2a2e37;border-color:#3a3f4a;color:#d1d5db}
.night .tx-luping .lp-fixedrow{background:#191c22;border-color:#333842;color:#9ca3af}
@media(max-width:900px){.tx-luping .lp-layout{flex-direction:column}.tx-luping .lp-stage,.tx-luping .lp-side{flex:0 0 100%;width:100%;min-width:0}.tx-luping .lp-countdown{font-size:4rem}}
