/* Task previews share the site's existing typography and purple/blue palette. */
#task-preview[hidden], [data-task-preview-link][hidden] { display:none !important; }
.tp-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:28px; margin-bottom:30px; }
.tp-heading .h2 { margin:10px 0 12px; }
.tp-heading .lead { max-width:720px; }
.tp-eyebrow { color:#7050cb; font:600 12px/1.4 'JetBrains Mono',monospace; letter-spacing:.12em; text-transform:uppercase; }
.tp-controls { display:flex; gap:9px; flex-shrink:0; }
.tp-icon, .tp-pause { border:1px solid #ded9eb; background:white; color:#302448; border-radius:50%; width:43px; height:43px; display:inline-grid; place-items:center; cursor:pointer; font:20px/1 inherit; }
.tp-pause { width:auto; padding:0 17px; border-radius:24px; font:500 12px/1.2 inherit; gap:7px; grid-auto-flow:column; }
.tp-icon:hover,.tp-pause:hover { border-color:#8b61e9; background:#f6f1ff; }
.tp-icon:focus-visible,.tp-pause:focus-visible,.tp-card:focus-visible,.tp-browse:focus-visible { outline:3px solid #8d6ee9; outline-offset:4px; }
.tp-strips { display:grid; gap:18px; overflow:hidden; }
.tp-row { display:flex; gap:18px; overflow-x:auto; scrollbar-width:none; overscroll-behavior-x:contain; touch-action:pan-x pan-y; padding:5px 3px 12px; }
.tp-row::-webkit-scrollbar { display:none; }
.tp-card { position:relative; flex:0 0 338px; text-align:left; padding:0; background:#fff; border:1px solid #e6e1ef; border-radius:15px; overflow:hidden; cursor:pointer; color:#251d34; box-shadow:0 3px 12px #30244805; transition:border-color .2s,box-shadow .2s; }
.tp-card:hover { border-color:#b297e8; box-shadow:0 7px 23px #6b46b218; }
.tp-media { position:relative; display:block; aspect-ratio:8/5; overflow:hidden; background:#17141c; }
.tp-media img,.tp-media video { position:absolute; width:100%; height:100%; inset:0; object-fit:contain; }
.tp-media video { opacity:0; transition:opacity .25s; }
.tp-media video.tp-playing { opacity:1; }
.tp-play { position:absolute; right:12px; bottom:12px; width:31px; height:31px; border-radius:50%; background:#ffffffed; color:#6541ac; display:grid; place-items:center; padding-left:2px; font-size:12px; box-shadow:0 1px 7px #0002; }
.tp-card-info { display:block; padding:14px 16px 16px; }
.tp-card-meta { display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; color:#81768d; font:500 10px/1.4 'JetBrains Mono',monospace; letter-spacing:.04em; }
.tp-card-id { color:#8054c7; }
.tp-card-title { display:block; font:600 15px/1.4 'Space Grotesk',Inter,sans-serif; letter-spacing:-.02em; min-height:21px; }
.tp-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:19px; color:#938a9b; font-size:12px; }
.tp-browse { border:0; background:transparent; color:#7050bc; padding:8px 0; cursor:pointer; font:600 13px/1.5 inherit; }
.tp-dialog { width:min(1120px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); border:1px solid #ece7f4; border-radius:21px; padding:0; color:#281e38; background:#fff; box-shadow:0 28px 100px #1c0b4655; }
.tp-dialog::backdrop { background:#170e29b8; backdrop-filter:blur(5px); }
.tp-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 27px 18px; }
.tp-dialog-head h3 { font:600 23px/1.3 'Space Grotesk',Inter,sans-serif; margin:5px 0 0; }
.tp-dialog video { display:block; width:100%; max-height:65dvh; background:#141119; }
.tp-dialog-bottom { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:19px 27px 23px; }
.tp-dialog-bottom p { margin:5px 0 0; color:#7a6d89; font-size:14px; line-height:1.6; }
.tp-dialog-buttons { display:flex; gap:10px; white-space:nowrap; }
.tp-text-btn { border:1px solid #dfd7eb; border-radius:9px; padding:10px 16px; background:#fff; color:#62438d; cursor:pointer; font:500 13px/1.4 inherit; }
.tp-text-btn:disabled { opacity:.35; cursor:default; }
.tp-picker { max-width:100%; border:1px solid #dfd7eb; border-radius:7px; color:#5d4775; background:white; padding:6px; font:12px/1.5 inherit; }
@media (min-width:1500px) { .tp-card { flex-basis:360px; } }
@media (max-width:700px) { .tp-heading { display:block; } .tp-controls { margin-top:20px; } .tp-card { flex-basis:280px; } .tp-strips { gap:9px; } .tp-row { gap:12px; } .tp-dialog-head { padding:17px; } .tp-dialog-head h3 { font-size:19px; } .tp-dialog-bottom { display:block; padding:17px; } .tp-dialog-buttons { margin-top:18px; justify-content:space-between; } .tp-footer { font-size:11px; } }
@media (prefers-reduced-motion:reduce) { .tp-card,.tp-media video { transition:none; } }

/* Private selection page. Website selections do not alter source-data approval. */
.review-page { margin:0; background:#f7f5fb; color:#292034; font-family:Inter,'Noto Sans CJK SC',sans-serif; }
.review-header { position:sticky; top:0; z-index:10; display:flex; justify-content:space-between; align-items:center; gap:18px; padding:18px 32px; background:#fffc; backdrop-filter:blur(14px); border-bottom:1px solid #e8e2f1; }
.review-header h1 { margin:4px 0 0; font-size:21px; letter-spacing:-.04em; }
.review-header a { color:#7651b7; text-decoration:none; font-size:12px; }
.review-actions { display:flex; gap:10px; align-items:center; }
.review-shell { display:grid; grid-template-columns:265px minmax(0,1fr); gap:27px; max-width:1560px; padding:25px 30px 50px; margin:auto; }
.review-sidebar { align-self:start; position:sticky; top:105px; max-height:calc(100dvh - 125px); overflow-y:auto; }
.review-progress { color:#8c7e9b; font-size:12px; margin:0 0 12px; }
.review-task { display:flex; gap:11px; width:100%; padding:12px 11px; text-align:left; border:1px solid transparent; background:transparent; border-radius:9px; color:#766882; cursor:pointer; font:12px/1.5 inherit; }
.review-task:hover { background:#eee8f7; }
.review-task[aria-current=true] { background:#fff; border-color:#d7c7ec; color:#5d338d; box-shadow:0 2px 8px #62439308; }
.review-task-number { font:11px/1.7 'JetBrains Mono',monospace; color:#a293b2; }
.review-task-status { margin-left:auto; flex-shrink:0; }
.review-content { min-width:0; }
.review-titlebar { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin:0 0 17px; }
.review-titlebar h2 { margin:7px 0 5px; font-size:26px; letter-spacing:-.04em; }
.review-request { margin:0 0 18px; font-size:13px; color:#897b96; line-height:1.65; }
.review-player-wrap { background:#18151e; border-radius:13px; overflow:hidden; border:1px solid #e1dbe9; }
.review-player { display:block; width:100%; max-height:60dvh; min-height:200px; background:#18151e; }
.review-playback { display:flex; justify-content:space-between; align-items:center; gap:15px; margin:13px 0 18px; color:#91839e; font-size:12px; }
.review-playback select { background:#fff; border:1px solid #e0d6ec; color:#5f4579; padding:5px; border-radius:5px; }
.review-playback a { color:#7550aa; }
.review-quality { display:inline-flex; padding:5px 9px; border:1px solid #e4dced; border-radius:6px; background:white; color:#7d5b9c; font:11px/1.4 'JetBrains Mono',monospace; white-space:nowrap; }
.review-notice { background:#fff9ec; color:#947036; font-size:12px; line-height:1.7; border:1px solid #efdfbd; padding:11px 14px; border-radius:9px; margin-bottom:17px; }
.review-decision-panel { background:#fff; border:1px solid #e8e0ef; border-radius:12px; padding:19px; }
.review-decision-panel label { font-size:12px; color:#95859f; display:block; margin-bottom:8px; }
.review-decision-buttons { display:flex; gap:9px; flex-wrap:wrap; margin-bottom:14px; }
.review-decision { border:1px solid #e2d8ec; border-radius:8px; color:#8d7d99; background:#fff; padding:9px 18px; font:500 13px/1.4 inherit; cursor:pointer; }
.review-decision[aria-pressed=true] { color:#7245ac; border-color:#9c79c8; background:#f5effd; }
.review-notes { width:100%; min-height:72px; box-sizing:border-box; padding:10px; border:1px solid #e4dcec; border-radius:8px; resize:vertical; font:13px/1.6 inherit; color:#634e73; }
.review-saved { margin:8px 0 0; color:#aa9ab4; font-size:11px; }
.review-navigation { display:flex; justify-content:space-between; gap:20px; margin-top:19px; }
.review-source { margin-top:19px; font-size:11px; line-height:1.8; color:#a294ac; }
.review-source summary { cursor:pointer; color:#8f7c9c; }
.review-source pre { white-space:pre-wrap; overflow-wrap:anywhere; font:11px/1.7 'JetBrains Mono',monospace; background:#f0ebf6; padding:13px; border-radius:7px; }
@media (max-width:800px) { .review-header { padding:14px 17px; } .review-header h1 { font-size:17px; } .review-actions { gap:8px; } .review-actions .tp-text-btn { padding:7px; font-size:11px; } .review-shell { display:block; padding:17px; } .review-sidebar { position:static; max-height:150px; margin-bottom:22px; border-bottom:1px solid #e0d7ec; } .review-titlebar h2 { font-size:21px; } .review-quality { font-size:9px; } .review-playback { font-size:10px; } }

/* Revision notes retain the user's earlier feedback without approving a new clip. */
.review-revision{background:#f0e9fc;border:1px solid #d6c2f2;color:#563879;padding:14px 16px;border-radius:10px;margin-bottom:16px;font-size:13px;line-height:1.65}
.review-revision strong{font-size:13px;color:#5c3486}
.review-revision p{margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.review-revision details{margin-top:8px;font-size:12px}
.review-revision summary{cursor:pointer;color:#7f659d}
.review-revision a{color:#7642ac;text-decoration:underline;text-underline-offset:3px}
.review-alternatives{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:6px;font-size:12px}
.review-task[data-revised="true"] .review-task-status{color:#9560c9}
