:root { color-scheme: light; font-family: Arial, "Microsoft YaHei", sans-serif; color: #273142; background: #f6f8fb; } * { box-sizing: border-box; } body { min-width: 300px; margin: 0; background: #f6f8fb; } button { font: inherit; } .panel-header { display: flex; align-items: flex-start; justify-content: space-between; padding: 18px 16px 14px; background: #fff; border-bottom: 1px solid #e7ebf1; } .panel-header h1 { margin: 0; font-size: 17px; line-height: 24px; } .panel-header p { margin: 6px 0 0; color: #7a8495; font-size: 12px; line-height: 1.5; } .header-mark { display: inline-grid; width: 20px; height: 20px; margin-right: 4px; place-items: center; color: #fff; background: #28b66f; border-radius: 5px; } .header-action, .retry-button { border: 0; cursor: pointer; transition: background .15s ease, color .15s ease, transform .15s ease; } .header-action { width: 32px; height: 32px; color: #657084; background: #f1f4f8; border-radius: 8px; font-size: 19px; } .header-action:hover { color: #1677ff; background: #eaf3ff; } main { padding: 12px 12px 54px; } .notice { margin-bottom: 10px; padding: 9px 11px; color: #9b5b00; background: #fff7e8; border: 1px solid #ffe0a3; border-radius: 8px; font-size: 12px; line-height: 1.5; } .notice.is-success { color: #237849; background: #edf9f2; border-color: #bce8cd; } .task-list { display: grid; gap: 9px; } .task-card { display: flex; align-items: center; min-height: 66px; background: #fff; border: 1px solid #e5e9f0; border-radius: 10px; box-shadow: 0 2px 8px rgba(35, 47, 70, .04); overflow: hidden; } .task-main { display: flex; flex: 1; align-items: center; min-width: 0; padding: 11px 8px 11px 12px; text-align: left; background: transparent; border: 0; cursor: pointer; } .task-main:hover { background: #fafcff; } .platform-icon { display: inline-grid; flex: 0 0 34px; width: 34px; height: 34px; margin-right: 10px; place-items: center; color: #fff; border-radius: 9px; font-size: 14px; font-weight: 700; } .platform-xiaohongshu { background: #ff2442; } .platform-douyin { background: #15171d; } .platform-wechat_channels { background: #19b875; } .platform-bilibili { background: #00aeec; } .platform-xianyu { color: #322d00; background: #ffe500; } .task-copy { display: flex; flex: 1; min-width: 0; flex-direction: column; } .platform-name { color: #273142; font-size: 14px; line-height: 20px; } .task-title { margin-top: 2px; overflow: hidden; color: #8a93a3; font-size: 11px; line-height: 16px; text-overflow: ellipsis; white-space: nowrap; } .status-line { display: flex; align-items: center; margin-top: 4px; color: #697386; font-size: 11px; } .status-line i { width: 6px; height: 6px; margin-right: 5px; background: #9aa3b2; border-radius: 50%; } .status-line.is-running i { background: #1677ff; box-shadow: 0 0 0 3px #e8f2ff; } .status-line.is-ready i { background: #28b66f; box-shadow: 0 0 0 3px #e8f8ef; } .status-line.is-failed i { background: #f04438; box-shadow: 0 0 0 3px #ffedeb; } .status-line.is-login i { background: #f59f00; box-shadow: 0 0 0 3px #fff3d6; } .retry-button { flex: 0 0 42px; width: 42px; height: 42px; margin-right: 8px; color: #667085; background: #f5f7fa; border-radius: 9px; font-size: 21px; } .retry-button:hover { color: #1677ff; background: #eaf3ff; transform: rotate(-20deg); } .retry-button:disabled { color: #b7bec9; background: #f5f6f8; cursor: not-allowed; transform: none; } .retry-button.is-loading { animation: spin .8s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } .empty-state { padding: 54px 24px; color: #7b8595; text-align: center; } .empty-state .empty-icon { margin-bottom: 12px; color: #a9b2c0; font-size: 34px; } .empty-state strong { display: block; color: #4b5567; font-size: 14px; } .empty-state p { margin: 8px 0 0; font-size: 12px; line-height: 1.6; } footer { position: fixed; right: 0; bottom: 0; left: 0; display: flex; align-items: center; padding: 10px 14px; color: #7f8998; background: rgba(255, 255, 255, .96); border-top: 1px solid #e7ebf1; font-size: 11px; } .connection-dot { width: 7px; height: 7px; margin-right: 6px; background: #28b66f; border-radius: 50%; } .version { margin-left: auto; }