:root{--bg:#f5f3ee;--paper:#fffdfa;--ink:#171714;--muted:#6f7068;--line:#dcd9d0;--accent:#ee4d2d;--good:#278a57;--warn:#b66d11;--radius:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;line-height:1.55}.topbar{min-height:64px;padding:10px max(24px,calc((100% - 1120px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(255,253,250,.92);position:sticky;top:0;z-index:10}.brand{font-weight:760;font-size:18px}.brand span{font-size:11px;color:var(--accent);padding-left:4px}.topbar a{text-decoration:none;color:var(--ink)}nav{display:flex;gap:20px;font-size:14px}main{width:min(1120px,calc(100% - 32px));margin:0 auto;min-height:calc(100vh - 128px);padding:48px 0}footer{text-align:center;color:var(--muted);padding:24px}.hero{padding:56px 0 48px;max-width:850px}.eyebrow{font-size:12px;font-weight:750;letter-spacing:.12em;color:var(--accent);margin:0 0 10px}.top-gap{margin-top:18px}.hero h1,.page-head h1{font-size:clamp(34px,5vw,62px);line-height:1.08;letter-spacing:-.045em;margin:0 0 18px}.hero>p:not(.eyebrow),.page-head>p:not(.eyebrow){font-size:18px;color:var(--muted);max-width:760px}.actions{display:flex;align-items:center;gap:10px;margin-top:28px;flex-wrap:wrap}.actions form{margin:0}.button{appearance:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);text-decoration:none;padding:10px 16px;font:inherit;font-weight:650;cursor:pointer}.button.primary{background:var(--ink);color:white;border-color:var(--ink)}.button.danger{color:#9b2a1e}.button:disabled{opacity:.45;cursor:not-allowed}.grid{display:grid;gap:16px}.grid.three{grid-template-columns:repeat(3,1fr)}.card,.upload-card,.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px}.card p{color:var(--muted);margin-bottom:0}.page-head{margin-bottom:30px}.page-head h1{font-size:42px}.upload-card{max-width:700px}.dropzone{display:flex;align-items:center;justify-content:center;min-height:180px;border:1.5px dashed #aaa79d;border-radius:10px;margin-bottom:18px;cursor:pointer}.dropzone input{display:block;margin-left:20px}.alert{padding:12px 16px;border-radius:8px;margin:18px 0}.alert.error{background:#fde7e3;color:#8d261c}.alert.success{background:#def2e7;color:#186c43}.alert.warning{background:#fff0d7;color:#82500c}.row-between,.detail-title,.section-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.task-list{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.task-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line)}.task-row:last-child{border-bottom:0}.task-row:hover{background:#faf8f3}.task-row small{display:block;color:var(--muted);margin-top:4px}.task-meta{display:flex;align-items:center;gap:18px;color:var(--muted)}.status{display:inline-block;padding:4px 9px;border-radius:99px;font-size:12px;font-weight:700}.status.completed,.status.reviewed{background:#dff3e7;color:#1c7148}.status.processing,.status.exported{background:#e8edf7;color:#395f9b}.status.failed{background:#f9e3df;color:#8e3026}.status.draft{background:#eeeae1;color:#656157}.empty{text-align:center;padding:80px 20px}.detail-title{align-items:flex-end;margin-bottom:28px}.detail-title h1{font-size:34px;line-height:1.18;letter-spacing:-.025em;margin:12px 0 4px;overflow-wrap:anywhere}.detail-title p{margin:0;color:var(--muted)}.detail-title .actions{margin:0;flex-shrink:0}.back{text-decoration:none;color:var(--muted)}.mono,pre,textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.detail-grid{grid-template-columns:1.35fr .65fr;margin-bottom:16px}.panel h2,.section-title h2{margin:0 0 16px;font-size:22px}.section-title h2{margin:0}.section-title h3{margin:0}.video-panel video{width:100%;max-height:560px;background:#111;border-radius:9px}.metrics{margin:0}.metrics div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:11px 0}.metrics div:last-child{border:0}.metrics dt{color:var(--muted)}.metrics dd{margin:0;font-weight:650}.loop-panel{margin-bottom:44px}.loop-badge{font-size:13px;padding:7px 10px;border-radius:99px;font-weight:750}.loop-badge.yes{color:var(--good);background:#def2e7}.loop-badge.no{color:var(--warn);background:#fff0d7}.metric-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:10px;margin:22px 0;overflow:hidden}.metric-strip div{padding:16px;border-right:1px solid var(--line)}.metric-strip div:last-child{border-right:0}.metric-strip small{display:block;color:var(--muted)}.metric-strip strong{display:block;font-size:20px;margin-top:4px}.recommendation{background:#f0eee7;border-radius:10px;padding:15px 18px}.recommendation span{color:var(--muted);margin-right:10px}.recommendation p{margin:5px 0 0;color:var(--muted);font-size:14px}details{margin-top:16px}details summary{cursor:pointer;color:var(--muted)}pre{margin:12px 0 0;background:#1d1e1b;color:#e8e9e2;border-radius:10px;padding:18px;overflow:auto;font-size:12px;line-height:1.55;max-height:520px;white-space:pre-wrap;overflow-wrap:anywhere}.section-gap{margin:42px 0 16px}.frame-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.frame-grid figure,.contact-sheet{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow:hidden}.frame-grid img{display:block;width:100%;height:260px;object-fit:cover}.frame-grid figcaption{display:flex;justify-content:space-between;padding:9px 10px;font-size:12px}.frame-grid figcaption span{color:var(--muted)}.contact-sheet{margin-top:16px}.contact-sheet img{display:block;width:100%}.contact-sheet figcaption{padding:10px 14px;color:var(--muted)}.ocr-grid{grid-template-columns:1fr 1fr}.ocr-grid h3{font-size:14px}.ocr-list{border-top:1px solid var(--line)}.ocr-list>div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.ocr-list span{color:var(--muted);font-size:12px;text-align:right}.muted{color:var(--muted)}.json-grid{grid-template-columns:1fr 1fr}.json-grid article{min-width:0}.json-grid h3{font-size:15px}.json-grid pre{height:520px}.editor-grid{grid-template-columns:1fr 1fr}.json-editor>span{display:block;font-weight:750;margin-bottom:8px}.json-editor textarea{display:block;width:100%;height:65vh;resize:vertical;padding:16px;border:1px solid var(--line);border-radius:10px;background:#1d1e1b;color:#e8e9e2;font-size:12px;line-height:1.55}.sticky-actions{position:sticky;bottom:14px;display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding:10px;background:rgba(245,243,238,.92);border-radius:12px;backdrop-filter:blur(8px)}.library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.library-card{display:block;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:var(--ink)}.library-card>img{width:100%;height:300px;object-fit:contain;background:#efede7}.library-card>div{padding:18px}.library-card h2{font-size:19px;margin:9px 0 4px}.library-card p{margin:0;color:var(--muted);font-size:13px}.pill,.priority-badge{display:inline-block;padding:3px 8px;border-radius:99px;background:#ebe7de;color:#59564f;font-size:11px;font-weight:700}.priority-badge{background:#fde3de;color:#9b2a1e}.form-stack{display:flex;flex-direction:column;gap:20px;max-width:850px}.form-stack label>span,.form-single>span{display:block;font-weight:700;margin-bottom:6px}.form-stack input[type=text],.form-stack input:not([type]),.form-stack textarea,.form-stack select,.form-single input{width:100%;padding:11px 12px;border:1px solid #bbb7ad;background:white;border-radius:8px;font:inherit}.form-stack input[type=file]{display:block;padding:10px;border:1px dashed #aaa79d;border-radius:8px;width:100%}.form-stack small{display:block;color:var(--muted);margin-top:5px}.form-grid{grid-template-columns:1fr 1fr}.form-single{display:block;margin-bottom:18px}.form-single input{max-width:620px}.reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.reference-grid.compact{grid-template-columns:repeat(3,1fr)}.reference-grid figure,.single-reference{margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#efede7}.reference-grid img{width:100%;height:380px;display:block;object-fit:contain}.reference-grid.compact img{height:250px}.reference-grid figcaption,.single-reference figcaption{padding:9px 12px;background:var(--paper);font-size:12px;color:var(--muted)}.single-reference img{display:block;width:100%;height:350px;object-fit:contain}.danger-zone{margin-top:48px;padding:18px 20px;border:1px solid #e1b9b1;border-radius:12px;display:flex;justify-content:space-between;align-items:center}.danger-zone p{margin:3px 0 0;color:var(--muted);font-size:13px}.template-list{display:flex;flex-direction:column;gap:16px}.template-card{display:grid;grid-template-columns:210px 1fr;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.template-preview{background:#e9e6df}.template-preview img{width:100%;height:100%;min-height:300px;object-fit:cover;display:block}.template-body{padding:22px}.template-body h2{margin:9px 0 3px;font-size:22px}.template-body h2 a{color:var(--ink);text-decoration:none}.compact-dl{margin:16px 0}.compact-dl div{display:grid;grid-template-columns:110px 1fr;padding:7px 0;border-bottom:1px solid var(--line)}.compact-dl dt{color:var(--muted)}.compact-dl dd{margin:0}.source-grid{grid-template-columns:1fr 1fr}.prompt-grid{grid-template-columns:1fr 1fr}.prompt-grid .panel{min-width:0}.prompt-box.light{background:#f2f0e9;color:var(--ink);font-family:inherit;font-size:14px;max-height:none}.prompt-box.tall{height:480px}.copy-button{border:1px solid var(--line);background:white;border-radius:7px;padding:6px 10px;font-weight:650;cursor:pointer}.choice-row,.choice-grid{display:flex;gap:18px;flex-wrap:wrap}.choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}fieldset{border:1px solid var(--line);border-radius:9px;padding:14px}legend{font-weight:700}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.result-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.result-card img{width:100%;height:420px;object-fit:contain;background:#ece9e2}.result-card>div{padding:14px}.result-card p{font-size:13px;color:var(--muted)}.result-rating{display:inline-block;border-radius:99px;padding:4px 9px;font-size:12px;font-weight:700}.result-rating.usable{background:#dff3e7;color:#1c7148}.result-rating.minor_fix{background:#fff0d7;color:#82500c}.result-rating.rejected{background:#f9e3df;color:#8e3026}@media(max-width:900px){.library-grid{grid-template-columns:repeat(2,1fr)}.source-grid,.prompt-grid{grid-template-columns:1fr}.choice-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:840px){.detail-grid,.ocr-grid,.json-grid,.editor-grid{grid-template-columns:1fr}.frame-grid{grid-template-columns:repeat(2,1fr)}.metric-strip{grid-template-columns:1fr 1fr}.metric-strip div:nth-child(2){border-right:0}.detail-title{align-items:flex-start;flex-direction:column}.task-meta{flex-direction:column;align-items:flex-end;gap:5px}.topbar{align-items:flex-start;gap:8px;flex-direction:column}nav{flex-wrap:wrap}}@media(max-width:720px){.grid.three,.library-grid,.form-grid{grid-template-columns:1fr}.hero{padding-top:28px}main{padding-top:28px}.row-between{align-items:flex-start;flex-direction:column}.metric-strip{grid-template-columns:1fr}.metric-strip div{border-right:0;border-bottom:1px solid var(--line)}.frame-grid img{height:220px}.task-row{align-items:flex-start}.topbar nav{gap:12px}.template-card{grid-template-columns:1fr}.template-preview img{height:280px;min-height:0}.reference-grid{grid-template-columns:1fr}.choice-grid{grid-template-columns:1fr}.result-grid{grid-template-columns:1fr}}
.video-plan-card.is-unselected{opacity:.55}.video-plan-card.is-disabled{opacity:.65}
.quick-review-wrap{overflow-x:auto}.quick-review-table{min-width:2100px}.quick-review-table th{white-space:nowrap;position:sticky;top:0;background:var(--paper);z-index:1}.quick-review-table td{vertical-align:top;min-width:120px}.quick-review-table td:nth-child(4),.quick-review-table td:nth-child(7),.quick-review-table td:nth-child(8){min-width:190px}.quick-review-table textarea,.quick-review-table input:not([type=checkbox]),.quick-review-table select{width:100%;min-width:110px;padding:7px;border:1px solid var(--line);border-radius:7px;background:#fff;font:inherit;font-size:12px}.quick-review-table textarea{resize:vertical}.quick-review-table select[multiple]{min-height:94px}.quick-review-source{min-width:190px}.quick-review-readonly{opacity:.68}.quick-review-readonly textarea,.quick-review-readonly input,.quick-review-readonly select{background:#efede7}.viral-bulk-actions{position:sticky;top:76px;z-index:4;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.viral-management-table{min-width:1080px}.viral-management-table th{white-space:nowrap}.viral-management-table td{vertical-align:middle}.recognized-copy-card{min-width:240px;max-width:380px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:#faf8f3}.recognized-copy-card span{display:block}.recognized-copy-card span+span{margin-top:5px}.ocr-classification-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ocr-classification-card{padding:14px;border:1px solid var(--line);border-radius:10px;background:#faf8f3}.ocr-classification-card h3{margin:0 0 8px;font-size:15px}.ocr-classification-card p{margin:3px 0}.ocr-classification-card.filtered{background:#f2f0e9;color:var(--muted)}
.matrix-table input[type="number"]{width:76px}.matrix-table td{text-align:center;min-width:120px}.matrix-toggle{display:block;margin:0 auto 6px;border:0;border-radius:999px;padding:4px 9px;cursor:pointer}.batch-video-plan-table td{vertical-align:middle}.batch-video-plan-table select,.batch-video-plan-table input{min-width:92px}.tiny-plan-thumb{display:block;width:72px;height:96px;object-fit:cover;border-radius:8px}.sticky-submit-bar{position:sticky;bottom:12px;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;margin-top:18px;border:1px solid var(--border,#d9dee8);border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(20,30,50,.12)}.sticky-submit-bar div{display:flex;flex-direction:column;gap:4px}
