*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Microsoft YaHei,system-ui,sans-serif;background:#f4f7f6;color:#1d2b28}.app{max-width:860px;margin:0 auto;padding:24px 16px 48px}header h1{margin:0 0 4px;color:#0a7d6b}.sub{margin:0 0 20px;color:#5a6b66;font-size:14px}.card{background:#fff;border:1px solid #dfe7e4;border-radius:10px;padding:16px 20px;margin-bottom:16px}.card h2{margin:0 0 12px;font-size:16px}.states{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.state{padding:6px 12px;border-radius:999px;background:#edf2f0;color:#7a8a85;font-size:13px}.state.active{background:#0a7d6b;color:#fff;font-weight:600}.state.done{background:#d7ece6;color:#0a7d6b}.state.aborted{background:#b3261e;color:#fff}.status-line{font-size:15px;display:flex;gap:12px;align-items:center}.badge{background:#eef3ff;color:#234e8c;border-radius:6px;padding:3px 8px;font-size:12px}.error{margin-top:10px;padding:8px 12px;background:#fdecec;color:#b3261e;border-radius:6px;font-size:13px}.row{display:flex;gap:10px;align-items:center;margin-bottom:10px}.row.wrap{flex-wrap:wrap}button{padding:8px 14px;border:1px solid #0a7d6b;border-radius:8px;background:#fff;color:#0a7d6b;font-size:13px;cursor:pointer}button:hover{background:#0a7d6b;color:#fff}button:disabled{opacity:.5;cursor:not-allowed}.hint{color:#7a8a85;font-size:12px}.waveform{width:100%;height:120px;background:#0f1714;border-radius:8px}.quality{margin-top:10px;padding:8px 12px;border-radius:6px;font-size:13px;display:flex;gap:8px;align-items:center}.quality.pass{background:#e6f5ef;color:#0a7d6b}.quality.fail{background:#fdecec;color:#b3261e}.timeline{margin:0;padding-left:0;list-style:none;font-size:13px;color:#33443f}.timeline li{padding:3px 0;border-bottom:1px dashed #e4ebe8}.timeline code{color:#0a7d6b}.privacy{margin-top:20px;text-align:center;font-size:12px;color:#7a8a85}
