:root{color:#1d1d1f;--line:#d8d8dc;--accent:#1f5fbf;--warn:#b25000;--error:#b3261e;background:#fafafa;font:14px/1.4 system-ui,sans-serif}body{margin:0}main{padding:12px 20px 40px}main.narrow{max-width:900px}main.center{justify-items:center;padding-top:60px;display:grid}h1{margin:4px 0 12px;font-size:20px}h2{margin:16px 0 6px;font-size:16px}a{color:var(--accent)}button{font:inherit;padding:2px 8px}input{font:inherit}kbd{border:1px solid var(--line);background:#fff;border-radius:3px;padding:0 4px;font:12px ui-monospace,monospace}table{border-collapse:collapse;background:#fff;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:4px 8px}.muted{color:#6e6e73}.error{color:var(--error)}.warn-text{color:var(--warn);font-weight:600}.spacer{flex:1}.topbar{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:12px;padding:6px 20px;display:flex}.actions{white-space:nowrap}.confirm{background:#fff6e5;border:1px solid #f0c36d;padding:4px 8px;display:inline-block}.tag-pill{border:1px solid var(--line);border-radius:8px;margin-left:6px;padding:0 6px;font-size:12px}.row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.upload{margin-bottom:16px}.upload fieldset{border:0;flex-wrap:wrap;align-items:center;gap:12px;margin:0;padding:0;display:flex}.upload-progress{justify-items:start;gap:4px;margin-top:8px;display:grid}.upload-progress progress{width:420px}.player video{background:#000;width:100%;max-height:46vh;display:block}.player-frame{position:relative}.entry-box{box-sizing:border-box;pointer-events:none;border:2px solid #ffd60a;position:absolute;box-shadow:0 0 0 1px #0009}.item-panel .crop{margin:0;position:relative}.crop-show{cursor:pointer;background:0 0;border:0;padding:0}.crop-zoom{background:#ffffffd9;padding:0 4px;line-height:1.4;position:absolute;top:4px;right:4px}.player-bar{align-items:center;gap:8px;margin:4px 0;display:flex}.player-bar input[type=range]{flex:1}.time{white-space:nowrap;font:12px ui-monospace,monospace}.timeline{border:1px solid var(--line);background:#eee;height:22px;margin:4px 0 12px;position:relative}.timeline .span{white-space:nowrap;color:#fff;background:#9db7e3;border:0;border-right:1px solid #fff;padding:0 2px;font-size:11px;position:absolute;top:0;bottom:0;overflow:hidden}.timeline .span.selected{z-index:1;outline:2px solid #1d1d1f}.timeline .span.editing{outline:1px dashed var(--accent);z-index:2;background:#1f5fbf59}.swatch{border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.editor{border:1px solid var(--line);background:#fff;margin-bottom:12px;padding:4px 12px 8px}.editor.selected{border-color:var(--accent);background:#eef4fd}.queue{grid-template-columns:150px minmax(320px,1fr) 420px;align-items:start;gap:16px;display:grid}.item-list{max-height:80vh;margin:0;padding:0;font:12px ui-monospace,monospace;list-style:none;overflow:auto}.item-list button{text-align:left;background:0 0;border:0;width:100%;padding:2px 4px}.item-list .current button{background:var(--accent);color:#fff}.item-panel .crops{flex-wrap:wrap;gap:8px;display:flex}.item-panel img{border:1px solid var(--line);background:#fff;max-width:100%;max-height:220px}.item-panel figure{margin:0}.item-panel figcaption{font-size:12px}.marks{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.barcode{align-items:center;gap:6px;display:inline-flex}.barcode-where{font-weight:600}.barcode-digits{font-family:ui-monospace,monospace}.barcode-picture{position:relative}.item-panel .barcode-thumb{border:1px solid var(--line);background:#fff;padding:0;line-height:0}.item-panel .barcode-thumb img{border:0;max-width:64px;max-height:32px}.barcode-thumb.active,.barcode-thumb:focus-visible{outline:2px solid var(--accent)}.item-panel .barcode-large{z-index:5;max-width:480px;max-height:360px;display:none;position:absolute;top:40px;left:0;box-shadow:0 4px 16px #00000040}.barcode-picture.open .barcode-large,.barcode-picture:hover .barcode-large{display:block}button.link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.how-to{position:fixed;top:48px;right:16px}.guide{z-index:10;border-left:1px solid var(--line);background:#fff;width:min(560px,45vw);padding:0 20px 20px;font-size:14px;position:fixed;top:0;bottom:0;right:0;overflow:auto;box-shadow:-4px 0 16px #0000001f}.guide-bar{background:#fff;justify-content:space-between;margin:0;padding:12px 0;display:flex;position:sticky;top:0}.guide h2,.guide h3,.guide h4{scroll-margin-top:56px}.guide table{border-collapse:collapse}.guide th,.guide td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:4px 6px}.mark{color:#1e6b33;background:#e2f2e5;border-radius:3px;padding:1px 6px;font-weight:600}.mark.warn{color:var(--warn);background:#fff0e0}.mark.flag{color:#a11d1d;background:#fde4e4}.form .field{border:1px solid #0000;border-radius:4px;outline:none;align-items:center;gap:8px;padding:6px 8px;display:flex}.form .field.active{border-color:var(--accent);background:#eef4fd}.form .field input{flex:1}.form .label{width:80px;font-weight:600}.choice{border:1px solid var(--line);background:#fff;border-radius:3px;padding:1px 6px}.choice.on{background:var(--accent);border-color:var(--accent);color:#fff}.progress{font-weight:600}.stale{border:1px solid var(--error);background:#fdecea;padding:6px 10px}.keys{font-size:12px}.search{border:1px solid var(--line);background:#fff;width:560px;padding:10px;position:fixed;top:80px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #0003}.search input{box-sizing:border-box;width:100%;padding:4px 6px}.search ul{max-height:50vh;margin:6px 0;padding:0;list-style:none;overflow:auto}.search li{padding:3px 6px}.search li.on{background:var(--accent);color:#fff}.search li.on .muted{color:#dfe8f7}.badge{color:#5c4500;background:#fbe7a1;border-radius:3px;margin-right:4px;padding:0 5px;font-size:11px;font-weight:600;display:inline-block}.item-list .current .badge{color:#5c4500}.proposals{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.proposals .label{font-weight:600}.item-panel .proposal img{max-height:72px}.no-crop{color:#6e6e73;width:72px;font-size:11px;display:inline-block}.thumb{vertical-align:middle;border:1px solid var(--line);height:40px;margin-right:4px}.thumb.none{color:#6e6e73;width:40px;font-size:10px;display:inline-block}.form .field.duplicate{background:#fff6e5}.picker button{all:unset;cursor:pointer;width:100%;display:block}.row button.on{background:var(--accent);color:#fff}.queue-bar{grid-column:1/-1;margin:0}.duplicates-link{font-weight:600}.pair{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.pair-side{border:1px solid var(--line);padding:0 12px 12px}.pair-side .crops{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.pair-side img{border:1px solid var(--line);background:#fff;max-width:100%;max-height:220px}.verdict{color:var(--accent)}.help-button{border:1px solid var(--line);width:20px;height:20px;color:var(--accent);cursor:help;background:#fff;border-radius:50%;padding:0;font-weight:600;line-height:1}.help-note{border:1px solid var(--line);border-radius:6px;max-width:420px;padding:4px 16px 8px;box-shadow:0 4px 16px #00000024}.help-note h3{margin:10px 0 4px;font-size:15px}.help-note p{margin:6px 0}.catalog-picture{border:1px solid var(--line);vertical-align:middle;cursor:zoom-in;background:#fff;flex:none;justify-content:center;align-items:center;padding:0;line-height:0;display:inline-flex}.catalog-picture.thumb{width:40px;height:40px}.catalog-picture.card{width:120px;height:120px}.catalog-picture img{object-fit:contain;border:0;width:100%;height:100%;max-height:none}.catalog-picture.none{color:#6e6e73;text-align:center;cursor:default;font-size:10px;line-height:1.2}.picture-popover{border:1px solid var(--line);border-radius:6px;padding:8px;box-shadow:0 8px 30px #0003}.picture-popover img{object-fit:contain;border:0;max-width:min(80vw,800px);max-height:80vh;display:block}.picture-popover p{text-align:center;margin:6px 0 0}.catalog-card{align-items:center;gap:12px;margin:2px 8px 6px 96px;display:flex}.catalog-card p{margin:2px 0}.candidates ul{flex-wrap:wrap;gap:8px 16px;margin:4px 0;padding:0;list-style:none;display:flex}.candidates li,.search li{align-items:center;gap:8px;display:flex}.candidates .candidate{text-align:left}.review{grid-template-columns:minmax(360px,1fr) minmax(420px,1fr);align-items:start;gap:16px;display:grid}.review-video{position:sticky;top:8px}.review-video .player video{max-height:72vh}.review-list{max-height:calc(100vh - 140px);position:relative;overflow-y:auto}.count-line{margin:0 0 8px;font-weight:600}.review-rows,.review-tags{margin:0;padding:0;list-style:none}.review-tags{margin-left:28px}.review-entry{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:40px 56px 1fr auto;align-items:center;gap:8px;padding:4px;display:grid}.review-entry.lit{background:#eef4fd}.review-entry.paired{background:#fff6cc}.review-entry.selected{outline:2px solid var(--accent);outline-offset:-2px}.review-crop{justify-content:center;align-items:center;width:56px;height:72px;display:flex}.review-crop img,.frame-cut{max-width:56px;max-height:72px;display:block}.review-answer .catalog-picture{vertical-align:middle}.review-meta{color:#6e6e73;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.draft-differs{color:var(--warn);font-size:12px;display:block}.times{font-weight:600}.note-icon{cursor:help}.row-label{text-align:center;color:#fff;background:#8e8e93;border-radius:4px;min-width:28px;padding:1px 4px;font-weight:600;display:inline-block}.status-in-catalog{--status:#1e8e3e}.status-not-in-catalog{--status:#d98a00}.status-flagged{--status:#d93025}.status-unanswered{--status:#1a73e8}.status-not-real{--status:#8e8e93}.row-label[class*=status-]{background:var(--status)}.review-box{box-sizing:border-box;border:2px solid var(--status,#fff);cursor:pointer;background:0 0;padding:0;position:absolute;box-shadow:0 0 0 1px #00000080}.review-box.paired,.review-box.selected{border-width:4px;box-shadow:0 0 0 2px #fff}.review-box .box-label{background:var(--status);color:#fff;padding:0 3px;font:600 11px/1.2 system-ui;position:absolute;top:-2px;left:-2px}.review-box.dropped{box-shadow:none;border:2px dashed #ffffff8c}.review-box.dropped:hover{background:#ffffff1f;border-color:#fff}.pins{height:22px;margin:0 8px;position:relative}.pin{color:#fff;background:var(--status);border:none;border-radius:3px;padding:0 4px;font-size:11px;position:absolute;transform:translate(-50%)}
