:root{
  --navy:#14213d; --deep:#0b1020; --gold:#f6c85f; --amber:#ef8b45;
  --paper:#f6f0df; --ink:#1f2933; --muted:#6b7280; --line:rgba(246,200,95,.28);
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif;
  background:linear-gradient(135deg,var(--deep),var(--navy) 55%,#1a2f4d);
  color:var(--paper);min-height:100vh;padding:40px 20px 80px;
}
.wrap{max-width:920px;margin:0 auto}
.wrap.wide{max-width:1400px}
h1{font-size:30px;color:var(--gold);margin-bottom:8px;letter-spacing:.5px}
.sub{color:rgba(246,240,223,.65);font-size:14px;margin-bottom:28px}
.card{
  background:var(--paper);color:var(--ink);border-radius:20px;padding:28px;
  border:2px solid var(--line);box-shadow:0 16px 48px rgba(0,0,0,.35);
}
label{display:block;font-size:13px;font-weight:600;color:var(--navy);margin:16px 0 6px}
label:first-of-type{margin-top:0}
.hint{font-weight:400;color:var(--muted);font-size:12px;margin-left:6px}
input,textarea{
  width:100%;padding:10px 12px;border:1px solid #d8d2c2;border-radius:10px;
  font:14px/1.6 inherit;background:#fff;color:var(--ink);
}
textarea{resize:vertical;min-height:60px}
input:focus,textarea:focus{outline:2px solid var(--gold);border-color:transparent}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
@media(max-width:680px){.grid2{grid-template-columns:1fr}}
.btn{
  display:inline-block;padding:12px 26px;border:0;border-radius:12px;cursor:pointer;
  background:var(--navy);color:var(--gold);font-size:15px;font-weight:600;
}
.btn:hover{background:#1c2f52}
.btn.ghost{background:transparent;border:1px solid #cbbfa3;color:var(--navy)}
.btn.gold{background:var(--gold);color:var(--navy)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.row{display:flex;gap:12px;align-items:center;margin-top:24px;flex-wrap:wrap}
.err{color:#c0392b;font-size:13px;margin-top:10px;min-height:18px}

/* 进度 */
.stages{display:flex;gap:10px;margin:22px 0;flex-wrap:wrap}
.stage{
  flex:1 1 180px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.5);
  border:1px solid #ded6c4;font-size:13px;color:var(--muted);
}
.stage b{display:block;color:var(--navy);font-size:14px;margin-bottom:4px}
.stage.run{background:#fff8e6;border-color:var(--gold);box-shadow:0 0 0 3px rgba(246,200,95,.25)}
.stage.done{background:#e8f4e8;border-color:#4a9;color:#2a7a2a}
.stage.done b{color:#2a7a2a}
.stage.bad{background:#fdecea;border-color:#e74c3c;color:#c0392b}

iframe.preview{
  width:100%;height:520px;border:1px solid #ded6c4;border-radius:14px;background:#fff;margin-top:18px;
}
.issue{border-left:4px solid var(--amber);background:#fff5e6;padding:12px 16px;border-radius:0 10px 10px 0;margin:10px 0;font-size:14px}
.issue.high{border-color:#e74c3c;background:#fdecea}
.issue .where{font-weight:600;color:var(--navy)}
.issue .field{display:inline-block;font-size:11px;background:var(--navy);color:var(--gold);padding:2px 8px;border-radius:20px;margin-left:8px;vertical-align:middle}
.verdict{margin-top:14px;padding:14px 16px;background:var(--navy);color:var(--gold);border-radius:12px;font-size:14px}

/* 作品墙 */
.wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin-top:24px}
.tile{background:var(--paper);border-radius:14px;overflow:hidden;border:2px solid var(--line);text-decoration:none;color:var(--ink);display:block}
.tile .thumb{height:180px;overflow:hidden;background:#fff;position:relative}
.tile .thumb iframe{width:1120px;height:720px;border:0;transform:scale(.25);transform-origin:0 0;pointer-events:none}
.tile .meta{padding:10px 14px;font-size:13px}
.tile .meta b{display:block;color:var(--navy);font-size:14px}
.tile.pending .thumb{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px}

/* 表格 */
table.list{width:100%;border-collapse:collapse;background:var(--paper);color:var(--ink);border-radius:14px;overflow:hidden;font-size:13px}
table.list th,table.list td{padding:10px 12px;text-align:left;border-bottom:1px solid #e6dfcd}
table.list th{background:var(--navy);color:var(--gold);font-weight:600}
table.list tr:last-child td{border-bottom:0}
.pill{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:600}
.pill.queued{background:#eee;color:#555}
.pill.running{background:#fff3cd;color:#8a6d00}
.pill.done{background:#d4edda;color:#2a7a2a}
.pill.failed{background:#f8d7da;color:#a12}
.pill.revising{background:#d1e7ff;color:#0056b3}
