:root{font-family:Inter,"Microsoft YaHei","PingFang SC",sans-serif;color:#172033;background:#fbfaf7;color-scheme:light;--panel:#fff;--line:#e8e3da;--muted:#7f8490;--blue:#2468ed;--green:#20a464;--orange:#e79324;--red:#e94b55}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#fbfaf7}button,input,textarea{font:inherit}button{color:#263044;background:#fff;border:1px solid #dedfe3;border-radius:7px;padding:10px 15px;cursor:pointer;transition:.18s}button:hover{border-color:#8badf7;color:var(--blue);background:#f7faff}.primary{border-color:var(--blue);background:var(--blue);color:#fff;font-weight:600;box-shadow:0 5px 14px #2468ed22}.primary:hover{background:#1759d7;color:#fff}.danger{color:var(--red)!important}header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid #ececec;background:#fff;position:sticky;top:0;z-index:4}header>div{display:flex;gap:11px;align-items:center}header b{font-size:19px;color:#111827}.logo{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;background:#3976ef;color:#fff;font-size:13px}header small{display:none}nav{height:100%;display:flex;align-items:center;gap:8px}nav button{height:100%;border:0;border-radius:0;background:transparent;color:#323844;padding:0 16px;position:relative}nav button.active{color:var(--blue);font-weight:600;background:transparent}nav button.active:after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:3px;background:var(--blue);border-radius:3px 3px 0 0}main{max-width:1400px;margin:auto;padding:40px 50px}.tab{display:none}.tab.active{display:block}.hero{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:36px}.hero h1{font-size:30px;letter-spacing:-.5px;margin:0 0 10px;color:#141b2b}.hero p,.dialog-head p{color:var(--muted);margin:0;font-size:14px}.hero .primary{padding:14px 24px;font-size:16px}.stats{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:80px;max-width:860px;margin:0 0 28px 4px}.stat{display:flex;flex-direction:column-reverse;gap:5px;position:relative;padding-left:38px}.stat:before{content:"";position:absolute;left:0;top:5px;width:24px;height:24px;border:2px solid #b7bac0;border-radius:50%}.stat b{font-size:17px}.stat span{color:#858a94;font-size:12px}.grid{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 8px 25px #40381c0a}.card{display:grid;grid-template-columns:minmax(240px,1.35fr) minmax(340px,1.5fr) minmax(150px,.7fr) 190px;gap:28px;align-items:center;padding:20px 28px;border-bottom:1px solid #ece8e1}.card:last-child{border-bottom:0}.card-top{min-width:0}.card h3{font-size:16px;margin:0 0 7px;color:#1d2433}.muted{color:var(--muted);font-size:13px;line-height:1.55}.card-top>.badge{display:inline-block;margin-top:8px}.source-list{min-width:0}.source{padding:3px 0}.source-row{display:flex;align-items:center;gap:9px}.source-row:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);flex:none}.source.offline .source-row:before{background:var(--orange)}.url{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#555e6c;font-size:12px}.badge{font-size:12px;color:var(--green);white-space:nowrap}.badge.offline{color:var(--orange)}.meta{display:flex;gap:10px;color:#7d838c;font-size:12px;padding-left:15px;margin-top:2px}.source-format{color:#515a68;font-size:13px}.card-actions{display:flex;justify-content:flex-end;gap:4px}.card-actions button{padding:7px 8px;border:0;color:var(--blue);background:transparent;font-size:13px}.share-layout{display:grid;grid-template-columns:310px 1fr;gap:24px}aside,.stage{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}aside h2{margin:0}aside>p{color:var(--muted)}.playlist-item{padding:13px;margin:7px 0;border-radius:8px;cursor:pointer;border:1px solid transparent}.playlist-item:hover,.playlist-item.active{border-color:#bdd0fb;background:#f5f8ff}.playlist-item small{display:block;color:var(--muted);margin-top:5px}.player-wrap{aspect-ratio:16/9;background:#f0f2f5;border-radius:10px;display:grid;place-items:center;overflow:hidden;position:relative}video{width:100%;height:100%;display:none;background:#000}.empty-player{text-align:center;color:var(--muted)}.empty-player span{font-size:42px;color:#9db9f5}#nowPlaying h2{margin-bottom:5px}#nowPlaying p{color:var(--muted)}dialog{width:min(650px,94vw);border:1px solid #e2ded7;border-radius:14px;background:#fff;color:#1c2433;padding:0;box-shadow:0 24px 70px #24304a29}dialog::backdrop{background:#17203355;backdrop-filter:blur(2px)}form{padding:26px}.dialog-head{display:flex;justify-content:space-between}.dialog-head h2{margin:0 0 5px}.icon{font-size:24px;border:0;background:transparent;padding:0 8px}label{display:block;margin-top:18px;font-weight:600;color:#333b49}label span{float:right;color:var(--muted);font-size:11px;font-weight:400}input,textarea{display:block;width:100%;margin-top:8px;background:#fff;border:1px solid #dcdde1;border-radius:7px;padding:11px;color:#1f2937}input:focus,textarea:focus{outline:3px solid #2468ed18;border-color:#78a0f3}textarea{resize:vertical;min-height:70px}.urls{min-height:110px;font-family:Consolas,monospace;font-size:13px}.actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.probe-box{margin-top:12px;padding:12px;border:1px solid #cddbf7;border-radius:8px;background:#f7f9fe;font-size:13px}.probe-box.error{border-color:#f2bdc1;color:#d83441}#toast{position:fixed;right:25px;bottom:25px;padding:12px 18px;background:#1d2a43;color:#fff;border-radius:8px;opacity:0;transform:translateY(15px);transition:.2s;pointer-events:none;z-index:20}#toast.show{opacity:1;transform:none}@media(max-width:900px){header{height:auto;min-height:64px;flex-wrap:wrap;padding:10px 18px}nav{flex-wrap:wrap}nav button{height:42px;padding:0 9px}main{padding:28px 18px}.hero{gap:18px}.stats{gap:20px}.card{grid-template-columns:1fr 1fr}.card-actions{justify-content:flex-start}.share-layout{grid-template-columns:1fr}}@media(max-width:620px){.hero{display:block}.hero .primary{margin-top:20px;width:100%}.stats{grid-template-columns:1fr;gap:16px}.card{grid-template-columns:1fr;gap:12px;padding:18px}.share-layout{grid-template-columns:1fr}}
