:root{--bg:#f6f3ee;--panel:#fff;--ink:#26221e;--muted:#776f66;--line:#e4ddd3;--accept:#2f7d4f;--reject:#b23b2e;--accent:#c8674a}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:14px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit}main{max-width:1500px;margin:0 auto;padding:20px 24px 60px}.topbar{border-bottom:1px solid var(--line);background:var(--panel);padding:12px 24px;font-weight:600}.topbar a{text-decoration:none}h1{margin:0 0 4px;font-size:20px}h2{margin:28px 0 10px;font-size:16px}.muted{color:var(--muted)}.mono{font-family:ui-monospace,Consolas,monospace;font-size:12px}table{border-collapse:collapse;background:var(--panel);border:1px solid var(--line);width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:7px 10px}th{color:var(--muted);background:#faf8f4;font-size:12px;font-weight:600}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.pill{border:1px solid var(--line);background:#faf8f4;border-radius:999px;padding:1px 8px;font-size:12px;display:inline-block}.pill.ok{color:var(--accept);background:#eef7f1;border-color:#bfdcc9}.pill.bad{color:var(--reject);background:#fbefed;border-color:#ecc3bd}.run-layout{grid-template-columns:minmax(280px,30%) 1fr;align-items:start;gap:20px;margin-top:16px;display:grid}.sheet-col{position:sticky;top:12px}.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;margin-bottom:16px;padding:12px}.card img{background:#eee;border-radius:4px;width:100%;height:auto;display:block}.card.accept{border-color:var(--accept);box-shadow:0 0 0 1px var(--accept)}.card.reject{border-color:var(--reject);box-shadow:0 0 0 1px var(--reject)}.card-head{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:8px;display:flex}.scene-pair{grid-template-columns:1fr;gap:10px;display:grid}.controls{gap:8px;margin-top:10px;display:grid}.verdict{gap:8px;display:flex}.verdict button{border:1px solid var(--line);font:inherit;cursor:pointer;background:#faf8f4;border-radius:6px;flex:1;padding:8px;font-weight:600}.verdict button.on.accept{background:var(--accept);color:#fff;border-color:var(--accept)}.verdict button.on.reject{background:var(--reject);color:#fff;border-color:var(--reject)}.defects{flex-wrap:wrap;gap:4px 14px;display:flex}.defects label{cursor:pointer;align-items:center;gap:5px;display:inline-flex}textarea{width:100%;min-height:54px;font:inherit;border:1px solid var(--line);resize:vertical;border-radius:6px;padding:6px 8px}details summary{cursor:pointer;color:var(--muted);font-size:12px}details pre{white-space:pre-wrap;background:#faf8f4;border-radius:6px;max-height:300px;padding:8px;font-size:12px;overflow:auto}.status{color:var(--muted);min-height:16px;font-size:12px}.failed{color:var(--reject);background:#fbefed;border-radius:6px;padding:18px}@media (max-width:800px){.run-layout{grid-template-columns:1fr}.sheet-col{position:static}}table.desc{border:none;font-size:12px}table.desc th,table.desc td{padding:4px 6px}table.desc tbody th{color:var(--muted);white-space:nowrap;background:0 0;font-weight:500}table.desc tr.differs td{background:#fdf6e3}.run-layout.duo{grid-template-columns:minmax(420px,44%) 1fr}.sheet-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.sheet-pair .card{margin-bottom:10px}@media (max-width:800px){.run-layout.duo{grid-template-columns:1fr}}.candidates{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:10px;display:grid}.candidate{border:1px solid var(--line);border-radius:6px;padding:8px}.candidate.chosen{border-color:var(--accept);box-shadow:0 0 0 2px var(--accept)}.candidate img{border-radius:4px;width:100%;height:auto;display:block}button.choose{border:1px solid var(--accept);color:var(--accept);font:inherit;cursor:pointer;background:#eef7f1;border-radius:6px;padding:4px 10px;font-weight:600}button.choose:disabled{background:var(--accept);color:#fff;cursor:default}.crops{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px;display:grid}.crops figure{margin:0}.crops img{object-fit:contain;background:#eee;border-radius:4px;width:100%;height:110px}.crops figcaption{color:var(--muted);text-align:center;font-size:11px}.repair-indent{border-left:3px solid var(--line);margin-left:28px;padding-left:10px}.repair{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.repair>button,.repair-cmd button{border:1px solid var(--line);font:inherit;cursor:pointer;background:#faf8f4;border-radius:6px;padding:4px 10px;font-size:12px}.repair>button.on{border-color:var(--accent);color:var(--accent)}.repair-cmd{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:6px;display:flex}.repair-cmd code{border:1px solid var(--line);word-break:break-all;background:#faf8f4;border-radius:4px;padding:4px 8px;font-size:12px}
