:root { color-scheme: dark; --bg:#0a0c10; --panel:#12161d; --line:#242b36; --text:#f3f6fb; --muted:#8e98a8; --blue:#6ea8fe; --cyan:#62e5d1; --green:#67df94; --amber:#f1bd62; --red:#ff6f7d; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:radial-gradient(circle at 85% 5%,rgba(73,112,214,.16),transparent 28%),radial-gradient(circle at 5% 40%,rgba(56,190,166,.08),transparent 25%),var(--bg); color:var(--text); font:15px/1.55 Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif; }
.shell { width:min(1180px,calc(100% - 36px)); margin:auto; padding:58px 0 80px; }
.hero { display:flex; justify-content:space-between; gap:30px; align-items:flex-end; margin-bottom:34px; }
.eyebrow { color:var(--cyan); letter-spacing:.19em; font:700 11px/1.2 ui-monospace,monospace; }
h1 { font-size:clamp(34px,4.2vw,50px); letter-spacing:-.045em; line-height:1; margin:12px 0 16px; }
.lede { max-width:700px; color:#aab3c1; font-size:17px; margin:0; }
.hero-badge { border:1px solid var(--line); background:rgba(18,22,29,.8); padding:12px 16px; border-radius:999px; white-space:nowrap; color:#bac4d2; font-size:12px; letter-spacing:.08em; }
.hero-badge span { display:inline-block; width:7px; height:7px; background:var(--green); box-shadow:0 0 14px var(--green); border-radius:50%; margin-right:9px; }
.task-list-panel { margin-bottom:18px; }.task-list { display:grid; gap:12px; }.list-toolbar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; align-items:end; margin-bottom:18px; }.list-toolbar .task-filter { margin:0; }.task-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:center; padding:18px 20px; border:1px solid #29323f; border-radius:16px; background:linear-gradient(145deg,#10161e,#0c1117); }.task-heading { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }.task-id { display:inline-block; color:var(--cyan); font:750 16px ui-monospace,monospace; }.task-main strong { color:#e8eef7; font-size:16px; }.task-author-name { color:#f2c977; font-size:15px; letter-spacing:.02em; }.task-main small { display:block; color:var(--muted); margin-top:8px; font-size:12px; }.task-meta { color:#a2adbc!important; }.task-actions { display:flex; gap:8px; justify-content:flex-end; }.task-actions button,.history-line button { border:1px solid #344155; border-radius:9px; padding:9px 12px; color:#cfe0f7; background:#17202c; cursor:pointer; font-size:12px; white-space:nowrap; }.task-actions .task-upload,.history-actions .history-recheck { border-color:rgba(98,229,209,.35); color:var(--cyan); }.task-history { grid-column:1/-1; border-top:1px solid #222b37; padding-top:12px; color:#9eabbc; font-size:12px; }.task-history summary { cursor:pointer; font-size:13px; }.history-line { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; align-items:center; padding:12px 0; border-top:1px solid #1e2630; }.history-info { min-width:0; }.history-summary { display:flex; align-items:center; min-height:24px; }.history-result { font-size:12px; line-height:1.5; }.history-result.pass { color:var(--green); }.history-result.reject { color:var(--red); }.history-result.incomplete { color:var(--amber); }.history-actions { display:flex; gap:7px; justify-content:flex-end; align-self:center; }.empty-list { color:var(--muted); text-align:center; padding:28px; }.compact { width:auto!important; margin:0 0 0 auto; padding:9px 15px; font-size:12px; border-radius:9px; white-space:nowrap; }.icon-button { width:34px; height:34px; margin-left:auto; border:1px solid #303946; border-radius:10px; background:#171e27; color:#c7d0dd; cursor:pointer; font-size:22px; }.new-run-modal { width:min(560px,calc(100% - 24px)); padding:0; border:0; border-radius:20px; background:transparent; color:var(--text); }.new-run-modal::backdrop { background:rgba(2,5,9,.78); backdrop-filter:blur(8px); }.new-run-modal .panel { margin:0; }
.recheck-context { margin-top:14px; padding:11px 13px; border:1px solid rgba(98,229,209,.2); border-radius:11px; color:#b9c9d9; background:rgba(98,229,209,.06); font-size:12px; }
.grid { display:grid; grid-template-columns:1fr; gap:18px; align-items:start; }
.run-detail-modal { width:min(1040px,calc(100% - 24px)); height:min(90vh,920px); padding:0; border:1px solid #303947; border-radius:20px; background:#10151c; color:var(--text); box-shadow:0 30px 100px rgba(0,0,0,.6); }.run-detail-modal::backdrop { background:rgba(2,5,9,.78); backdrop-filter:blur(8px); }.run-detail-shell { height:100%; display:grid; grid-template-rows:auto 1fr; }.run-detail-header { display:flex; justify-content:space-between; align-items:center; padding:18px 22px; border-bottom:1px solid #29313c; }.run-detail-header span { color:var(--cyan); font:700 9px ui-monospace,monospace; letter-spacing:.16em; }.run-detail-header h2 { margin:3px 0 0; font-size:18px; }.run-detail-header p { margin:3px 0 0; color:var(--muted); font-size:12px; }.run-detail-header-actions { display:flex; align-items:center; gap:9px; }.run-stop { border:1px solid rgba(255,111,125,.6); border-radius:10px; padding:9px 13px; color:#ff9ca6; background:rgba(255,111,125,.1); cursor:pointer; font:700 12px/1.2 inherit; }.run-stop:hover { background:rgba(255,111,125,.2); }.run-stop:disabled { opacity:.6; cursor:wait; }.run-detail-body { overflow:auto; padding:18px; display:grid; gap:18px; }.run-detail-body .panel { box-shadow:none; }.run-detail-body .report-panel { margin-top:0; }
.detail-load-error { color:#ffb1b9; text-align:center; line-height:1.8; }.retry-detail { margin-top:8px; border:1px solid #344155; border-radius:9px; padding:8px 12px; color:#cfe0f7; background:#17202c; cursor:pointer; }
.panel { background:linear-gradient(145deg,rgba(20,25,33,.96),rgba(14,18,24,.96)); border:1px solid var(--line); border-radius:20px; padding:22px; box-shadow:0 22px 60px rgba(0,0,0,.22); }
.task-filter { display:block; margin:0 0 16px; }.task-filter>span { display:block; color:var(--muted); font-size:11px; margin-bottom:7px; }.task-filter-controls { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:9px; }.task-filter-controls select,.task-filter-controls input { margin:0; }
.panel-title { display:flex; gap:13px; align-items:flex-start; margin-bottom:20px; }
.panel-title>span { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:var(--blue); background:#18202c; font:700 11px ui-monospace,monospace; }
.panel-title h2 { font-size:18px; margin:0; }.panel-title p { color:var(--muted); margin:2px 0 0; font-size:12px; }
label { display:grid; gap:7px; color:#aeb8c6; font-size:12px; margin-top:14px; }
input,select { width:100%; border:1px solid #2d3542; background:#0c1016; color:var(--text); border-radius:11px; padding:12px 13px; outline:none; } input:focus,select:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(110,168,254,.1); }
.reviewer-field { margin-top:14px; }.reviewer-field>span { display:block; margin-bottom:8px; color:#aeb8c6; font-size:12px; }.reviewer-options { display:flex; flex-wrap:wrap; gap:8px; }.reviewer-options small { color:var(--muted); }.reviewer-option { border:1px solid #344155; border-radius:999px; padding:9px 15px; background:#121923; color:#b9c6d8; cursor:pointer; font:650 12px/1.2 inherit; transition:border-color .15s,background .15s,color .15s,box-shadow .15s; }.reviewer-option:hover { border-color:#5f789b; color:#eef4fc; }.reviewer-option.selected { border-color:var(--cyan); background:rgba(98,229,209,.12); color:var(--cyan); box-shadow:0 0 0 3px rgba(98,229,209,.07); }
.dropzone { min-height:142px; place-content:center; text-align:center; border:1px dashed #3b4656; border-radius:15px; padding:20px; background:rgba(8,11,15,.55); cursor:pointer; transition:.2s; }.dropzone:hover { border-color:var(--cyan); background:rgba(98,229,209,.04); }.dropzone input { display:none; }.dropzone strong { color:var(--text); font-size:15px; }.dropzone small { color:var(--muted); max-width:290px; }
details { margin-top:16px; } summary { color:#9ca7b5; cursor:pointer; font-size:12px; }.score-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.score-grid label { font-size:10px; }
.primary { width:100%; margin-top:20px; border:0; border-radius:12px; padding:13px 15px; background:linear-gradient(120deg,#477de9,#56cfc1); color:white; font-weight:700; cursor:pointer; display:flex; justify-content:space-between; }.primary:disabled { opacity:.55; cursor:wait; }.message { min-height:20px; color:var(--amber); font-size:12px; margin:10px 2px 0; }
.flow { display:grid; gap:8px; }.flow.empty { min-height:360px; place-items:center; color:var(--muted); text-align:center; padding:50px; }.stage { position:relative; display:grid; grid-template-columns:38px 1fr 14px; align-items:center; gap:12px; padding:11px 12px; border:1px solid #242b35; border-radius:12px; background:#0d1117; }.stage-index { color:#626f82; font:700 10px ui-monospace,monospace; }.stage strong { display:block; font-size:13px; }.stage p { color:#707d8e; font-size:11px; margin:1px 0 0; }.stage i { width:8px; height:8px; border-radius:50%; background:#343d49; }.stage.running { border-color:rgba(110,168,254,.55); }.stage.running i { background:var(--blue); box-shadow:0 0 0 5px rgba(110,168,254,.12); animation:pulse 1s infinite; }.stage.done i { background:var(--green); }.stage.warning i { background:var(--amber); }.stage.failed { border-color:rgba(255,111,125,.55); background:rgba(255,111,125,.04); }.stage.failed i { background:var(--red); }
@keyframes pulse { 50% { opacity:.35; } }
.report-panel,.history-panel { margin-top:18px; }.hidden { display:none; }.report-summary { display:grid; grid-template-columns:210px 1fr; gap:18px; }.result { border-radius:16px; padding:22px; background:#0d1218; }.result span,.result small { display:block; color:var(--muted); font-size:11px; }.result strong { display:block; font-size:30px; margin:7px 0; }.result.pass strong { color:var(--green); }.result.attention strong { color:var(--amber); }.result.incomplete strong { color:var(--red); }.facts { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }.facts div { background:#0d1218; border-radius:13px; padding:16px; }.facts span { color:var(--muted); display:block; font-size:11px; }.facts strong { display:block; margin-top:6px; }.questions,.alert,.actions { grid-column:1/-1; }.questions,.alert { border-radius:12px; padding:14px 16px; background:#0d1218; }.questions h3 { font-size:13px; margin:0 0 8px; }.questions p { color:#aab4c1; margin:3px 0; font-size:12px; }.alert { color:#ffc0c7; border:1px solid rgba(255,111,125,.25); }.actions { display:flex; gap:9px; flex-wrap:wrap; }.actions a { color:#c9d6e7; background:#1a222e; text-decoration:none; border-radius:10px; padding:9px 12px; font-size:12px; }
.history { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.offline-note { grid-column:1/-1; margin:0; padding:9px 12px; border:1px solid rgba(241,189,98,.28); border-radius:9px; color:#e9c878; background:rgba(241,189,98,.07); font-size:11px; }
.task-pagination { display:flex; justify-content:flex-end; align-items:center; gap:10px; margin-top:16px; color:var(--muted); font-size:12px; }.task-pagination button { border:1px solid #344155; border-radius:8px; padding:7px 11px; color:#cfe0f7; background:#17202c; cursor:pointer; font:12px/1.2 inherit; }.task-pagination button:disabled { opacity:.4; cursor:default; }
.score-card { grid-column:1/-1; padding:16px; border:1px solid #28313d; border-radius:13px; background:#0d1218; }.score-card h3 { margin:0 0 12px; font-size:14px; }.score-row { display:flex; justify-content:space-between; gap:16px; padding:8px 0; border-top:1px solid #222b36; color:#aeb9c8; }.score-row strong { color:#eef3f9; }.table-scroll { overflow:auto; }.round-card table { width:100%; min-width:860px; border-collapse:collapse; font-size:11px; }.round-card th,.round-card td { padding:9px 10px; border-bottom:1px solid #242d38; text-align:left; vertical-align:top; }.round-card th { color:#dbe6f4; background:#151c25; }.round-card td { color:#aab6c5; }.round-card td:nth-child(3) { min-width:320px; white-space:normal; }.round-valid { color:var(--green)!important; font-weight:700; }.round-invalid { color:var(--red)!important; font-weight:700; }.round-warning { margin:12px 0 0; padding:10px 12px; border-radius:9px; color:#efc976; background:rgba(241,189,98,.08); }.browser-shots { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.browser-shot { margin:0; overflow:hidden; border:1px solid #293442; border-radius:11px; background:#090d12; }.browser-shot figcaption { padding:8px 10px; color:#aab7c7; font-size:11px; }.browser-shot img { display:block; width:100%; max-height:520px; object-fit:contain; background:#06080b; }.model-meta { margin:-4px 0 10px; color:#8fa1b5; font-size:11px; }.model-opinion { padding:11px 0; border-top:1px solid #242d38; }.model-opinion strong { color:#dfe9f6; }.model-opinion p { margin:5px 0; color:#b8c3d1; }.model-opinion small { color:#7f8c9e; }
@media (max-width:850px) { .shell{width:min(100% - 22px,680px);padding-top:30px}.hero{display:block}.hero-badge{display:inline-block;margin-top:20px}.grid{grid-template-columns:1fr}.report-summary{grid-template-columns:1fr}.facts{grid-template-columns:1fr}.history{grid-template-columns:1fr}.score-grid{grid-template-columns:1fr} }
@media (max-width:700px) { .task-row{grid-template-columns:1fr}.task-actions{justify-content:flex-start}.history-line{grid-template-columns:1fr auto}.history-line small{grid-column:1}.task-list-panel .panel-title{align-items:flex-start}.compact{font-size:11px} }
@media (max-width:520px) { .task-filter-controls { grid-template-columns:1fr; } }

/* Interactive review workspace */
.dropzone.dragging { border-color:var(--cyan); background:rgba(98,229,209,.1); box-shadow:0 0 0 5px rgba(98,229,209,.07),inset 0 0 40px rgba(98,229,209,.035); transform:translateY(-2px); }
#drop-hint { color:#c5d3e5; font-weight:650; }
.stage { display:block; padding:0; overflow:hidden; }
.stage-main { width:100%; display:grid; grid-template-columns:38px 1fr 14px 20px; align-items:center; gap:12px; padding:14px 15px; border:0; background:transparent; color:var(--text); text-align:left; cursor:pointer; }
.stage-main>span:nth-child(2) { min-width:0; }.stage-main p { color:#707d8e; font-size:11px; margin:1px 0 0; }.stage-main i { width:8px; height:8px; border-radius:50%; background:#343d49; }.stage-main b { color:#637084; font-size:17px; font-weight:400; text-align:center; }
.stage.running .stage-main i { background:var(--blue); box-shadow:0 0 0 5px rgba(110,168,254,.12); animation:pulse 1s infinite; }.stage.done .stage-main i { background:var(--green); }.stage.warning .stage-main i { background:var(--amber); }.stage.failed .stage-main i { background:var(--red); }
.stage-detail { display:none; border-top:1px solid #252d38; padding:13px 15px 16px 65px; background:rgba(7,10,14,.42); }.stage.expanded .stage-detail { display:block; }.stage.warning.expanded .stage-detail { background:rgba(241,189,98,.045); }.stage.failed.expanded .stage-detail { background:rgba(255,111,125,.045); }
.empty-detail { color:#667385; font-size:12px; }.detail-block+ .detail-block { margin-top:13px; }.detail-block h4 { margin:0 0 8px; color:#9ba7b7; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }.detail-block ul { margin:0; padding-left:18px; color:#c3a96f; font-size:12px; }.detail-issue { display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:start; margin:8px 0; }.detail-issue>span { border-radius:999px; padding:2px 7px; font:700 9px ui-monospace,monospace; text-transform:uppercase; }.severity-major,.severity-blocker { background:rgba(255,111,125,.12); color:#ff9ca6; }.severity-minor,.severity-pending { background:rgba(241,189,98,.12); color:#f5c977; }.severity-info { background:rgba(110,168,254,.12); color:#9bc1ff; }.detail-issue strong { color:#b9c4d2; font:650 10px ui-monospace,monospace; }.detail-issue p { color:#d1d8e2; font-size:12px; margin:1px 0; }.detail-issue small { color:#737f90; font-size:10px; word-break:break-all; }
.result em { display:block; margin-top:10px; color:#8895a6; font-size:11px; font-style:normal; line-height:1.5; }
.original-validation { grid-column:1/-1; }.validation-row { display:grid; grid-template-columns:30px minmax(0,1fr); gap:11px; padding:11px 0; border-top:1px solid #222b36; }.validation-row>span { display:grid; place-items:center; width:25px; height:25px; border-radius:999px; background:#202a36; color:#aebdce; font-size:11px; }.validation-row strong { color:#dfe8f3; font-size:12px; }.validation-row b { margin-left:9px; font-size:10px; text-transform:uppercase; }.validation-pass>span,.validation-pass b { color:var(--green); }.validation-fail>span,.validation-fail b { color:var(--red); }.validation-pending>span,.validation-pending b { color:var(--amber); }.validation-row p { margin:4px 0; color:#c3cedb; font-size:12px; }.validation-row small { color:#7f8d9e; font-size:10px; word-break:break-word; }
.question-note { color:#788596!important; margin-bottom:12px!important; }.question { display:grid; grid-template-columns:36px 1fr; gap:11px; padding:13px 0; border-top:1px solid #222a34; }.question>span { min-width:28px; height:28px; padding:0 5px; display:grid; place-items:center; border-radius:999px; background:rgba(241,189,98,.12); color:var(--amber); font-size:9px; font-weight:750; }.question strong { display:block; color:#e3e8ef; font-size:12px; }.question textarea { width:100%; min-height:58px; resize:vertical; margin-top:9px; padding:9px 10px; border:1px solid #2a3441; border-radius:9px; background:#090d12; color:var(--text); font:12px/1.5 inherit; }.question-score { width:92px; margin-top:9px; padding:8px 10px; }.question button { margin-top:8px; border:1px solid rgba(110,168,254,.35); border-radius:9px; padding:7px 10px; background:rgba(110,168,254,.08); color:#b8d1ff; cursor:pointer; font-size:11px; }.question button:disabled { opacity:.45; cursor:wait; }.question.resolved>span { background:rgba(103,223,148,.12); color:var(--green); }.question.resolved small { display:block; color:#768395; margin-top:4px; }
.actions button,.actions a { border:0; color:#c9d6e7; background:#1a222e; text-decoration:none; border-radius:10px; padding:9px 12px; font:12px/1.4 inherit; cursor:pointer; }
.report-modal { width:min(1020px,calc(100% - 30px)); height:min(86vh,900px); padding:0; border:1px solid #303947; border-radius:20px; background:#10151c; color:var(--text); box-shadow:0 30px 100px rgba(0,0,0,.6); }.report-modal::backdrop { background:rgba(2,5,9,.75); backdrop-filter:blur(8px); }.modal-shell { height:100%; display:grid; grid-template-rows:auto 1fr; }.modal-shell header { display:flex; justify-content:space-between; align-items:center; padding:18px 22px; border-bottom:1px solid #29313c; }.modal-shell header span { color:var(--cyan); font:700 9px ui-monospace,monospace; letter-spacing:.16em; }.modal-shell header h2 { margin:3px 0 0; font-size:17px; }.modal-shell header button { width:34px; height:34px; border:1px solid #303946; border-radius:10px; background:#171e27; color:#c7d0dd; cursor:pointer; font-size:22px; }.markdown-body { overflow:auto; padding:26px clamp(18px,4vw,54px) 60px; }.markdown-body h1 { margin:0 0 22px; font-size:32px; letter-spacing:-.03em; }.markdown-body h2 { margin:32px 0 12px; padding-bottom:8px; border-bottom:1px solid #29313b; font-size:20px; }.markdown-body h3 { margin:24px 0 8px; font-size:16px; }.markdown-body p,.markdown-body li { color:#b3bdca; font-size:13px; }.markdown-body pre { overflow:auto; padding:15px; border:1px solid #28313c; border-radius:12px; background:#090d12; color:#c4d6ec; font:12px/1.6 ui-monospace,monospace; }.markdown-body strong { color:#eef3f9; }
.md-table-wrap { overflow:auto; margin:14px 0 20px; border:1px solid #28313c; border-radius:11px; }.markdown-body table { width:100%; min-width:520px; border-collapse:collapse; font-size:12px; }.markdown-body th,.markdown-body td { padding:9px 11px; border-bottom:1px solid #252d38; text-align:left; vertical-align:top; }.markdown-body th { color:#dfe8f3; background:#171e27; font-weight:700; }.markdown-body td { color:#aeb9c8; }
@media (max-width:650px) { .stage-detail{padding-left:16px}.report-modal{width:calc(100% - 12px);height:92vh}.facts{grid-template-columns:1fr 1fr} }
@media (max-width:700px) { .browser-shots { grid-template-columns:1fr; } }

/* Concurrent review and package handling status */
.history-summary { gap:10px; flex-wrap:wrap; }
.handling-badge { display:inline-flex; align-items:center; min-height:28px; padding:4px 12px; border:1px solid currentColor; border-radius:999px; font-size:13px; font-weight:800; letter-spacing:0; white-space:nowrap; }
.handling-badge.running { color:var(--blue); background:rgba(110,168,254,.12); }
.handling-badge.pending { color:var(--amber); background:rgba(241,189,98,.12); }
.handling-badge.pass,.handling-badge.handled-pass { color:var(--green); background:rgba(103,223,148,.16); box-shadow:0 0 0 2px rgba(103,223,148,.08); }
.handling-badge.reject,.handling-badge.handled-reject { color:var(--red); background:rgba(255,111,125,.16); box-shadow:0 0 0 2px rgba(255,111,125,.08); }
.task-handling-badge { margin-left:2px; transform:translateY(-1px); }
.history-actions { flex-wrap:wrap; }
.history-handle { min-width:76px; padding:10px 14px!important; font-size:13px!important; font-weight:750; }
.history-handle[data-handling="approved"] { border-color:rgba(103,223,148,.55)!important; color:var(--green)!important; background:rgba(103,223,148,.08)!important; }
.history-handle[data-handling="rejected"] { border-color:rgba(255,111,125,.55)!important; color:var(--red)!important; background:rgba(255,111,125,.08)!important; }
.history-handle[data-handling="approved"]:hover,.history-handle[data-handling="approved"].selected { background:rgba(103,223,148,.2)!important; box-shadow:0 0 0 2px rgba(103,223,148,.1); }
.history-handle[data-handling="rejected"]:hover,.history-handle[data-handling="rejected"].selected { background:rgba(255,111,125,.2)!important; box-shadow:0 0 0 2px rgba(255,111,125,.1); }
.history-handle-clear { color:#9aa8b8!important; }
.history-stop { border-color:rgba(255,111,125,.55)!important; color:#ff9ca6!important; background:rgba(255,111,125,.08)!important; font-weight:750!important; }
.history-stop:hover { background:rgba(255,111,125,.18)!important; }
