:root { color-scheme:dark; --bg:#101214; --panel:#171a1e; --line:#30363d; --line-soft:#24292f; --text:#f5f7f9; --muted:#c2c8d0; --accent:#e5b94e; --green:#55b685; --red:#e07a64; }
* { box-sizing:border-box; }
body { min-height:100vh; margin:0; background:var(--bg); color:var(--text); font-family:"Microsoft YaHei UI","Microsoft YaHei",sans-serif; letter-spacing:0; }
button,a { font:inherit; }
.topbar { min-height:64px; display:flex; align-items:center; gap:16px; padding:0 clamp(18px,4vw,52px); border-bottom:1px solid var(--line); background:#14171a; }
.back { display:grid; width:32px; height:32px; place-items:center; border:1px solid var(--line); color:var(--muted); text-decoration:none; font-size:20px; }
.topbar > div:nth-child(2) { display:flex; align-items:baseline; gap:10px; }
.topbar strong { font-size:17px; }.topbar span { color:var(--muted); font-size:12px; }
.version { margin-left:auto; display:flex; align-items:center; gap:8px; }.version code { padding:5px 7px; border:1px solid var(--line); color:var(--text); }.version.stale code { color:#f0aa8c; border-color:#a35c45; }
main { width:min(1240px,calc(100% - 40px)); margin:0 auto; padding:42px 0 72px; }
.actions { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding-bottom:28px; }
h1 { margin:0; font-size:28px; }.actions p { margin:8px 0 0; color:var(--muted); font-size:13px; }
.action-buttons { display:flex; gap:10px; }.primary,.secondary { min-height:40px; display:inline-flex; align-items:center; justify-content:center; padding:0 16px; border:1px solid var(--line); text-decoration:none; cursor:pointer; }
.primary { border-color:var(--accent); background:var(--accent); color:#18140b; font-weight:650; }.secondary { background:var(--panel); color:var(--text); }
.filters { display:flex; gap:0; border-bottom:1px solid var(--line); }.filters button { padding:11px 16px; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--muted); cursor:pointer; }.filters button.active { border-color:var(--accent); color:var(--text); }
.task-table { margin-top:18px; border:1px solid var(--line); background:var(--panel); }
.table-head,.task-row { display:grid; grid-template-columns:72px minmax(220px,1.8fr) minmax(105px,.8fr) minmax(150px,1fr) 145px 90px; align-items:center; gap:14px; padding:12px 16px; }
.table-head { min-height:44px; color:var(--muted); font-size:12px; border-bottom:1px solid var(--line); background:#14171a; }.task-row { min-height:84px; border-bottom:1px solid var(--line-soft); }.task-row:last-child { border-bottom:0; }.task-row:hover { background:#1c2025; }
.preview { width:54px; height:54px; object-fit:contain; background:#0d0f11; border:1px solid var(--line-soft); }.preview-placeholder { display:grid; place-items:center; color:var(--muted); font-size:11px; }
.task-main { min-width:0; }.task-id { display:block; color:var(--text); font:600 13px Consolas,monospace; }.clothes { display:block; margin-top:7px; overflow:hidden; color:var(--muted); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.status { font-size:12px; }.status.running,.status.review { color:var(--accent); }.status.done { color:var(--green); }.status.error { color:var(--red); }
.actions-owned,.updated { color:var(--muted); font-size:12px; }.open { justify-self:end; padding:7px 12px; border:1px solid var(--line); color:var(--text); text-decoration:none; font-size:12px; }.open:hover { border-color:var(--accent); }
.empty { min-height:220px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:var(--muted); }.empty strong { color:var(--text); }.empty button { padding:8px 12px; border:1px solid var(--line); background:transparent; color:var(--text); }
@media (max-width:850px) { main { width:min(100% - 24px,640px); padding-top:26px; }.actions { align-items:stretch; flex-direction:column; }.action-buttons { display:grid; grid-template-columns:1fr 1fr; }.table-head { display:none; }.task-row { grid-template-columns:58px minmax(0,1fr) auto; gap:10px; }.task-row .status { grid-column:2; }.actions-owned,.updated { grid-column:2; }.open { grid-column:3; grid-row:1 / span 4; }.version span { display:none; } }
@media (max-width:520px) { .action-buttons { grid-template-columns:1fr; }.filters { overflow-x:auto; }.filters button { flex:0 0 auto; }.topbar { padding:0 12px; }.version code { max-width:115px; overflow:hidden; text-overflow:ellipsis; }.task-row { padding:12px 10px; } }
