:root{font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:#172135;background:#f5f7fb;font-size:14px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #dbe1eb;background:#fff;border-radius:7px;padding:9px 14px;color:#34415a;transition:background .15s}button:hover{background:#edf2fa}button:disabled{opacity:.45;cursor:default}.primary{background:#3158da;border-color:#3158da;color:#fff}.primary:hover{background:#2445b5}.muted,small{color:#788399}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#657baf;margin:0 0 9px}h1{font-size:28px;margin:0;letter-spacing:-.6px}h2{font-size:19px;margin:0 0 18px}h3{font-size:14px;margin:24px 0 12px}p{line-height:1.6}.layout{display:grid;grid-template-columns:228px minmax(0,1fr);min-height:100vh}aside{background:#121c31;color:#e5eafa;padding:30px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.logo{display:flex;align-items:center;gap:11px;font-weight:600;line-height:1.6;margin-bottom:40px}.logo>span,.brand{background:#3158da;color:#fff;font-size:26px;border-radius:10px;width:42px;height:42px;display:grid;place-items:center}.logo small{display:block;font-size:10px;letter-spacing:1px;color:#8995b0;font-weight:400}nav{display:grid;gap:9px}nav button{border:0;background:transparent;color:#a6b1c9;text-align:left;padding:13px 16px}nav button.active{background:#273857;color:#fff}nav button:hover{background:#21304c}.aside-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;font-size:12px}.aside-bottom button{background:transparent;border:0;color:#a6b1c9;padding:8px}main{padding:38px 42px;min-width:0}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}header p.muted{margin:10px 0 0}.stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:15px}.stat{border-color:#e3e8f1;text-align:left;padding:20px;background:#fff}.stat span{color:#7e899e;font-size:12px}.stat strong{display:block;font-size:30px;margin-top:12px;color:#1d2a45}.stat.success strong{color:#26856a}.stat.failed strong{color:#c45b58}.stat.needs_review strong{color:#bc8424}.worker-line{display:flex;align-items:center;gap:9px;margin:20px 0;font-size:12px}.worker-line>.muted{margin-left:auto}.dot{width:7px;height:7px;border-radius:50%;background:#a6adbd}.dot.online{background:#28a180}.panel{background:#fff;border:1px solid #e3e8f1;border-radius:10px;overflow:hidden}.toolbar{padding:20px;display:flex;align-items:end;gap:12px;flex-wrap:wrap}label{display:grid;gap:8px;font-size:12px;color:#56647c;margin-bottom:16px}input,select,textarea{width:100%;border:1px solid #dce2ee;border-radius:6px;background:#fff;padding:10px 12px;color:#1c2b46;outline:none}input:focus,textarea:focus,select:focus{border-color:#6a88e7;box-shadow:0 0 0 3px #3158da10}textarea{resize:vertical}.toolbar label{margin:0}.toolbar select{min-width:140px}.toolbar input{width:220px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap}th{font-size:11px;font-weight:500;color:#8b95a8;text-align:left;padding:14px 17px;background:#f9fafd;border-block:1px solid #edf0f6}td{padding:17px;font-size:12px;border-bottom:1px solid #eef1f6}td small,td b{display:block}td small{font-size:10px;margin-top:7px}td b{font-weight:500}input[type=checkbox]{width:14px;height:14px;accent-color:#3158da}.mono{font-family:ui-monospace,monospace}.text{border:0;background:transparent;color:#3158da;padding:4px}.badge{display:inline-block;padding:5px 9px;border-radius:5px;font-size:11px;background:#edf0f5;color:#707e96}.badge.success{color:#22836b;background:#eaf7f1}.badge.processing{color:#4163bc;background:#eef2ff}.badge.failed{color:#b75656;background:#fff0ee}.badge.needs_review{color:#a47824;background:#fff7e2}.empty{text-align:center;padding:60px 20px;color:#9ca6b9}.empty>span{font-size:32px}.empty h3{color:#67758d;margin-top:15px}.empty p{font-size:12px}footer{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;font-size:12px;color:#8791a5}footer div{display:flex;gap:8px}.batch{padding:12px 20px;background:#f0f4ff;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}.batch button{padding:6px 9px}.banner{padding:12px 16px;border-radius:7px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;line-height:1.7}.banner button{background:transparent;border:0;padding:3px}.error{background:#fff0ee;color:#a74646}.good{background:#eaf7f1;color:#22836b}.warning{background:#fff7e2;color:#92661b}.settings{padding:28px;max-width:950px}.settings h2{margin:10px 0 14px}.settings .muted{font-size:12px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.check{display:flex;align-items:center;gap:10px}.overlay{position:fixed;inset:0;background:#0f1b3766;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;justify-content:center;align-items:center;padding:28px;z-index:10}.modal{background:#fff;border-radius:12px;width:650px;max-height:92vh;overflow:auto;padding:28px;box-shadow:0 24px 80px #12204433}.modal.wide{width:850px}.modal-head{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:20px}.modal-head h2{margin:0}.detail-status{display:flex;gap:15px;align-items:center;margin-bottom:20px;font-size:12px}.info{font-size:11px;color:#7a869d}.info>div{padding:12px 0}.info b{display:block;color:#35435b;font-weight:400;margin-top:8px;overflow-wrap:anywhere}.audio{padding:18px;background:#f6f8fc;border-radius:8px;margin:18px 0}.audio audio{display:block;width:100%;margin-bottom:12px}.audio a{color:#3158da;font-size:12px}.actions{display:flex;gap:10px}.notify{padding:14px 0;border-bottom:1px solid #edf0f6;display:flex;align-items:center;justify-content:space-between;gap:12px}.notify b{font-size:12px;font-weight:500;margin-right:8px}.notify small{display:block;font-size:11px;margin-top:8px}pre{background:#f6f8fc;padding:16px;border-radius:7px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.8;color:#526079}.attempt{font-size:11px;border-bottom:1px solid #edf0f6;padding-bottom:10px}.attempt small{display:block}summary{cursor:pointer;font-size:12px;margin-top:20px}.center{display:grid;place-items:center;min-height:100vh;padding:25px}.login{background:#fff;padding:40px;border:1px solid #e2e8f2;border-radius:14px;width:100%;max-width:430px;box-shadow:0 15px 50px #17213508}.login .brand{margin-bottom:25px}.login h1{font-size:23px}.login>.muted{margin-bottom:30px;font-size:12px}.login>.primary{width:100%;margin-top:8px}.login small{font-size:10px}code{font-size:11px}@media(max-width:1100px){main{padding:28px 22px}.layout{grid-template-columns:190px minmax(0,1fr)}aside{padding:25px 14px}.stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.layout{display:block}aside{position:static;height:auto;padding:15px}.logo{margin:0 0 16px}nav{display:flex}nav button{padding:9px 14px}.aside-bottom{display:none}main{padding:24px 14px}header{gap:15px}h1{font-size:23px}.stats{gap:8px}.stat{padding:14px}.stat strong{font-size:24px}.worker-line{flex-wrap:wrap}.worker-line>.muted{margin-left:0}.grid{grid-template-columns:1fr}.overlay{padding:12px}.modal{padding:20px}.login{padding:28px}}.source-form{margin-top:20px;padding:16px;border:1px solid #e3e8f1;border-radius:7px}.source-form label{margin-bottom:10px}.failed-retries{margin-bottom:20px}.retry-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px}.retry-heading h2{font-size:15px;margin:0}.retry-heading p{margin:7px 0 0;font-size:12px}.retry-content{border-top:1px solid #edf0f6;padding:0 20px 20px}.retry-content>.toolbar{padding:18px 0}.retry-content p{font-size:12px}.retry-preview,.retry-result{background:#f5f8ff;border:1px solid #e1e8fb;border-radius:7px;padding:14px 18px}.retry-preview .warning{padding:10px;border-radius:5px}.retry-result{background:#eff9f4;border-color:#d9eee3}@media(max-width:700px){.retry-heading{align-items:start;flex-direction:column}.retry-content>.toolbar{align-items:stretch;flex-direction:column}.retry-content .toolbar input{width:100%}}.modal video,.audio video{display:block;width:100%;max-height:60vh;margin-bottom:14px}.modal>audio{width:100%;margin:12px 0}.repair-progress{padding:12px;background:#f5f7fb;border-radius:6px;margin-bottom:12px}.repair-progress progress{width:100%;accent-color:#3158da}.task-list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px 0}.task-list-heading h2{font-size:16px;margin:0}.task-list-heading p{font-size:12px;color:#8792a6;margin:6px 0 0}.task-list-heading>span{font-size:12px;color:#788399;background:#f5f7fb;padding:6px 10px;border-radius:20px;font-variant-numeric:tabular-nums}.task-filters{padding:20px 24px}.task-filters input,.task-filters select{height:38px}.task-filters>button{height:38px}.task-table{table-layout:fixed;min-width:940px;white-space:normal}.task-table th{padding:13px 14px;color:#788399;background:#f8faff}.task-table td{padding:18px 14px;vertical-align:middle;line-height:1.5}.task-table th:nth-child(1){width:44px}.task-table th:nth-child(2){width:auto}.task-table th:nth-child(3){width:100px}.task-table th:nth-child(4){width:110px}.task-table th:nth-child(5){width:210px}.task-table th:nth-child(6){width:132px}.task-table th:last-child{width:174px}.task-table tr{transition:background .15s}.task-table tbody tr:hover{background:#fafbff}.task-table tr.is-selected{background:#f0f4ff}.task-table .select-cell{padding-left:20px;padding-right:8px}.task-identity{display:flex;align-items:center;gap:12px;min-width:0}.task-identity>div{min-width:0}.track-icon{flex:none;display:grid;place-items:center;width:38px;height:42px;border-radius:10px;background:#f0f3fc;color:#607fc9;font-size:23px}.track-icon.failed{background:#fff2ef;color:#c17c6e}.track-icon.needs_review{background:#fff7e8;color:#bd9342}.task-title{display:block;max-width:100%;padding:0;background:none;border:0;border-radius:0;font-weight:600;font-size:13px;text-align:start;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#26334d}.task-title:hover{background:none;color:#3158da}.task-table small{font-size:11px;margin-top:6px}.task-identity small{color:#8b96aa;font-size:10px;overflow-wrap:anywhere}.task-owner b{font-size:12px}.task-owner small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-media>span{font-variant-numeric:tabular-nums;font-size:11px}.task-media small{display:flex;gap:5px;align-items:center;flex-wrap:wrap;font-size:10px}.format-tag{display:inline-block;border:1px solid #e3e8f1;border-radius:4px;color:#6b7c9c;padding:0 4px;font-size:9px;font-weight:600}.meta-divider{color:#bcc4d2}.task-sync>span{font-size:11px;color:#5d6b83;display:flex;align-items:center;gap:6px}.task-sync small{padding-left:12px;font-size:10px}.sync-dot{width:6px;height:6px;border-radius:50%;background:#c5cbd7;flex:none}.sync-dot.success{background:#31a587}.sync-dot.failed{background:#d77b73}.sync-dot.pending,.sync-dot.processing{background:#7797e1}.row-actions{display:flex;justify-content:flex-end;align-items:center;gap:5px;white-space:nowrap}.row-actions button{font-size:11px;padding:7px 9px}.play-button{border-color:#e6ebfb;background:#f1f5ff;color:#4167ca}.play-button>span{font-size:9px}.row-actions .copy-button,.row-actions .detail-button{border-color:transparent;background:transparent;color:#71809b}.row-actions .detail-button{color:#4167ca}.row-actions .copy-button:hover,.row-actions .detail-button:hover{background:#edf2fc}.detail-button>span{font-size:16px;line-height:10px;margin-left:4px}.task-table .row-actions-heading{text-align:right;padding-right:26px}.drawer{position:fixed;inset:0 0 0 auto;margin:0;border:0;padding:0;width:min(640px,100vw);height:100dvh;max-height:100dvh;max-width:100vw;overflow:hidden;background:#f7f9fc;color:#172135;box-shadow:-18px 0 70px #17274426;animation:drawer-enter .22s ease-out}.drawer::backdrop{background:#13223c45;animation:drawer-shade .2s ease-out}.drawer-shell{height:100%;display:flex;flex-direction:column}.drawer-head{padding:26px 28px 23px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;background:#fff;border-bottom:1px solid #e9edf5;flex:none}.drawer-head>div{min-width:0}.drawer-head .eyebrow{font-size:10px;letter-spacing:1px;overflow-wrap:anywhere;margin-bottom:12px}.drawer-head h2{font-size:22px;line-height:1.5;margin:0;overflow-wrap:anywhere;text-align:start}.drawer-close{flex:none;border-color:#e8ecf4;border-radius:50%;width:34px;height:34px;padding:0;font-size:24px;line-height:1;color:#7d8aa1}.drawer-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;padding:22px 28px 36px;scrollbar-gutter:stable}.drawer .detail-status{margin:0 0 18px;gap:10px;flex-wrap:wrap;color:#7d89a0;font-size:11px}.detail-status .detail-app{margin-left:auto}.hold-label{color:#a47824}.detail-tabs{display:flex;gap:24px;border-bottom:1px solid #e1e7f0;margin-bottom:22px;position:sticky;top:-22px;background:#f7f9fc;z-index:1;padding-top:4px}.detail-tabs button{border:0;border-bottom:2px solid transparent;background:none;border-radius:0;padding:12px 0;font-size:12px;color:#8390a5}.detail-tabs button[aria-selected=true]{color:#3158da;border-bottom-color:#3158da;font-weight:600}.detail-card{border:1px solid #e5eaf3;border-radius:12px;background:#fff;padding:20px;margin:0 0 16px;overflow-wrap:anywhere}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.card-heading h3{font-size:13px;margin:0;color:#35435b}.card-heading>span{font-size:10px;color:#8b97ac}.card-heading>button{padding:6px 10px;font-size:11px}.detail-card .audio{padding:0;background:none;border-radius:0;margin:0}.drawer audio{width:100%;display:block;margin:0 0 16px}.drawer video{width:100%;max-height:45vh;display:block;margin:0 0 16px;border-radius:7px;background:#172135}.media-links{display:flex;align-items:center;gap:16px}.media-links button{font-size:11px;padding:6px 10px}.media-links a{font-size:11px;text-decoration:none;color:#5174ce}.detail-card .info{gap:0 20px}.detail-card .info>div{padding:10px 0}.detail-card .info b{font-size:12px;margin-top:6px}.info-full{grid-column:1/-1}.info-full b{font-size:10px!important;color:#7d8ba4}.section-empty{margin:0;color:#99a3b5;font-size:12px;line-height:1.8}.repair-summary{font-size:11px;color:#7d89a0;margin:0}.repair-summary small{display:block;margin-top:8px;color:#b75656}.detail-card .notify{align-items:flex-start}.detail-card .notify:last-child{border:0;padding-bottom:0}.detail-card .notify button{font-size:11px;padding:6px 9px;flex:none}.detail-card .notify small{line-height:1.7;overflow-wrap:anywhere}.detail-card .actions{margin-top:15px}.detail-card .actions button{font-size:12px}.music-prompt{font-size:13px;line-height:1.9;margin:0;color:#6c7890;white-space:pre-wrap;text-align:start}.lyrics-content{font-family:inherit;font-size:15px;line-height:2.2;white-space:pre-wrap;unicode-bidi:plaintext;color:#40516f;text-align:start}.detail-card summary{margin-top:0;padding:8px 0;color:#62738f}.detail-card details+details{margin-top:8px}.detail-card .attempt{line-height:1.8}.player-cover{background:linear-gradient(140deg,#eaf0ff,#f1edf9);border:1px solid #e3e7f6;border-radius:16px;padding:48px 24px;text-align:center;margin-bottom:24px;color:#6175ac}.player-cover>span{display:block;font-size:64px;line-height:1.4}.player-cover p{font-size:19px;color:#3b4b71;margin:18px 0 8px;overflow-wrap:anywhere}.player-cover small{font-size:11px}.drawer form>button.primary{width:100%}.drawer :focus-visible{outline:2px solid #6689ed;outline-offset:3px}.task-table :focus-visible{outline:2px solid #6689ed;outline-offset:3px}@keyframes drawer-enter{0%{opacity:0;clip-path:inset(0 0 0 18%)}to{opacity:1;clip-path:inset(0)}}@keyframes drawer-shade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.drawer,.drawer::backdrop{animation:none}}@media(min-width:1500px){.task-table th:nth-child(4){width:155px}.task-table th:nth-child(5){width:250px}.task-table th:last-child{width:190px}}@media(min-width:1700px){.task-table{min-width:1200px}.task-table td{padding-top:20px;padding-bottom:20px}.drawer{width:700px}.drawer-scroll{padding:24px 32px 40px}.detail-tabs{top:-24px}}@media(max-width:700px){.task-list-heading{padding:18px 16px 0}.task-filters{padding:16px;gap:10px}.task-filters label{flex:1;min-width:130px}.task-filters input,.task-filters select{width:100%;min-width:0}.drawer{width:100vw}.drawer-head{padding:20px}.drawer-head h2{font-size:20px}.drawer-scroll{padding:18px 16px 28px}.detail-tabs{top:-18px;gap:24px}.detail-card{padding:16px}.detail-card .grid{grid-template-columns:1fr 1fr}.media-links,.card-heading{flex-wrap:wrap}}
