@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');
:root{--text-body:14px;--text-meta:12px;--text-heading:16px;--text-title:20px;font-size:var(--text-body);font-family:'DM Sans','Noto Sans SC',system-ui,sans-serif;color:#182632;background:#f4f6f3;font-synthesis:none;--green:#31594b;--soft:#edf2e9;--border:#e0e5e2;--muted:#818887;--header:50px;--bottom:50px}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--border);background:#fff;color:inherit;border-radius:6px;padding:9px 13px;font-size:var(--text-meta);line-height:1.4;transition:background .15s,border-color .15s}button:hover{background:#f1f5f0;border-color:#c4d2c9}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,textarea:focus-visible{outline:2px solid #659783;outline-offset:3px}a{color:var(--green);text-decoration:none}h1,h2,h3,p{margin-top:0}h2{font-size:var(--text-heading);font-weight:600;margin:0}.muted{font-size:var(--text-meta);color:var(--muted)}[hidden]{display:none!important}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-button{display:grid;place-items:center;padding:0;width:36px;height:36px}.previous-icon{transform:rotate(180deg)}.down-icon{transform:rotate(90deg)}
.app-header{position:sticky;top:0;height:var(--header);z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 3.8%;border-bottom:1px solid var(--border);background:#ffffffed;box-shadow:0 2px 9px #253c3005;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:14px;font-size:var(--text-heading);font-weight:600;white-space:nowrap;letter-spacing:-.3px;color:#182632}.mark{display:grid;place-items:center;width:27px;height:27px;background:#31584c;color:#fff;font-size:25px;line-height:1;border-radius:5px;box-shadow:inset 0 0 0 1px #ffffff24}.brand .light{border-left:1px solid var(--border);padding-left:14px;font-weight:400;color:#949a98}.head-actions{display:flex;align-items:center;gap:10px}.head-actions>button{height:36px;white-space:nowrap;color:#69717b}.run-nav{display:flex;align-items:center;gap:5px;margin-right:10px;font-size:var(--text-meta);color:var(--green);white-space:nowrap}.run-nav .icon{width:15px;height:15px}.run-nav #run-position{margin-right:6px;font-weight:600;font-variant-numeric:tabular-nums}.run-nav progress{appearance:none;border:0;width:94px;height:8px;background:#dee4dd;border-radius:6px;overflow:hidden;margin-right:9px}.run-nav progress::-webkit-progress-bar{background:#dee4dd}.run-nav progress::-webkit-progress-value{background:#3e6151;border-radius:6px}.run-nav progress::-moz-progress-bar{background:#3e6151;border-radius:6px}.account-menu{position:relative;font-size:var(--text-meta);color:#68717a;margin-right:3px}.account-menu>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;padding:8px}.account-menu>summary::-webkit-details-marker{display:none}.account-menu .icon{width:12px;height:12px}.account-popover{position:absolute;right:0;top:34px;min-width:220px;padding:16px;display:flex;align-items:stretch;flex-direction:column;gap:13px;border:1px solid var(--border);border-radius:9px;background:#fff;box-shadow:0 9px 30px #21382c12}.account-popover a{font-size:var(--text-meta)}
main{width:92%;max-width:1840px;margin:0 auto;padding:20px 0 90px}.workspace{display:grid;grid-template-columns:minmax(0,1.39fr) minmax(0,1fr);gap:18px;align-items:start}.evidence-column{display:flex;flex-direction:column;gap:16px;min-width:0}.panel{border:1px solid var(--border);border-radius:10px;background:#fdfefd;box-shadow:0 3px 17px #283b2c03;overflow:hidden}.run-summary{padding:13px 20px 13px}.eyebrow{font-size:var(--text-body);letter-spacing:.6px;color:#78877e;font-weight:600;margin:0 0 3px;line-height:20px}h1{font-size:var(--text-title);line-height:1.25;font-weight:600;letter-spacing:-.65px;margin:0}.stats{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:7px;font-size:var(--text-meta);line-height:18px}.pill,.verdict{padding:3px 9px;border-radius:5px;font-size:var(--text-meta);white-space:nowrap}.core-label{background:#dcebe1;color:#254d3e;font-weight:600;letter-spacing:.1px}.verdict{background:#f5ece2;color:#885a2b}.stat{display:flex;align-items:center;gap:8px}.stat .label{color:#868b8a}.stat b{font-weight:400}.model-stat{background:#f2f4f2;padding:3px 8px;border-radius:5px}.section-head{height:49px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 20px;border-bottom:1px solid #e7ebe7}.section-head>div{display:flex;align-items:center;gap:12px;min-width:0}.section-head h2{white-space:nowrap}.section-icon{width:20px;height:20px;background:#36594c;color:#fff;border-radius:4px;display:grid;place-items:center;flex-shrink:0}.section-icon .icon{width:14px;height:14px}.task-copy{padding:8px 20px 11px}.task-copy>p{font-size:var(--text-body);line-height:20px;color:#747a7b;margin:0}.task-text{font-family:ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#f3f5f1;padding:12px;border-radius:6px;font-size:var(--text-meta);line-height:1.7;max-height:400px;overflow:auto}
.evidence{margin-top:2px}.evidence-heading{border:0;height:49px;gap:12px}.evidence-heading>div{flex-shrink:0}.video-clock{margin-left:auto;font-size:var(--text-meta);color:#7d8581;white-space:nowrap;gap:6px!important;font-variant-numeric:tabular-nums}.video-clock .icon{width:16px;height:16px}.video-clock b{font-weight:400}.evidence-heading>.icon-button{width:22px;height:24px;border:0;background:transparent;color:#7b8580;flex-shrink:0}.evidence-heading>.icon-button .icon{width:15px;height:15px}.video-wrap{height:auto;aspect-ratio:16/9;background:#18231d;margin:0 20px 10px;border-radius:7px;overflow:hidden;position:relative;display:grid;place-items:center}.video-wrap video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}.video-wrap:fullscreen{height:100%;width:100%;margin:0;border-radius:0}.video-wrap p{position:absolute;inset:auto 14px 14px;padding:12px;border-radius:5px;background:#16231de6;color:#fff;font-size:var(--text-meta);line-height:1.6;margin:0}.tabs{display:flex;align-items:center;gap:24px;margin:0 20px;border-bottom:1px solid var(--border);padding:0 6px}.tabs button{background:none;border:0;border-radius:0;padding:12px 5px 11px;font-size:var(--text-body);color:#8a908d;white-space:nowrap;border-bottom:2px solid transparent}.tabs button.active{color:#2f5748;border-bottom-color:#3d6b55;font-weight:600}.tabs .tab-count{padding:1px 5px;background:#e8f0e8;border-radius:4px;font-size:var(--text-meta);margin-left:5px}.tabs #annotate-time{margin-left:auto;font-size:var(--text-meta);color:#778b7c;padding-inline:0}.evidence-list{height:400px;overflow:auto;margin:0 20px 20px;padding:14px 14px 14px 49px;border:1px solid #e7ebe6;border-radius:7px;scrollbar-width:thin;scrollbar-color:#d9e2d9 transparent;scroll-behavior:smooth}.evidence-list>.task-text,.evidence-list>details{margin-left:-20px;font-size:var(--text-meta)}.step{position:relative;margin:0;padding:0 0 16px 12px;border-left:1px solid #d7e0d7;scroll-margin:12px}.step:last-of-type{border-left-color:transparent;padding-bottom:2px}.timeline-node{position:absolute;left:-41px;top:13px;width:7px;height:7px;border:2px solid #648572;border-radius:50%;background:#fff}.step-marker{position:absolute;left:-13px;top:4px;width:25px;height:25px;border-radius:50%;background:#4b866d;color:white;display:grid;place-items:center;box-shadow:0 0 0 5px #fdfefd}.step-marker .icon{width:14px;height:14px;stroke-width:1.6}.step-content{margin-left:16px;padding:0 0 0 2px;border-radius:6px}.step.selected .step-content{background:#eff5ee;box-shadow:0 0 0 7px #eff5ee}.step-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.step-meta{display:flex;align-items:center;gap:16px;font-size:var(--text-meta);color:#858e89;margin:2px 0 3px;line-height:20px}.step-number{font-size:var(--text-meta);line-height:20px;border-radius:4px;padding:0 6px;background:#edf4ec;color:#315d46}.step h3{font-size:var(--text-meta);font-weight:500;line-height:19px;color:#1a2933;margin:0 0 6px}.step-collapse{border:0;background:#f2f5f2;border-radius:50%;width:28px;height:28px;padding:6px;color:#6f7d74;margin-top:3px}.step-collapse .icon{width:15px;height:15px;transform:rotate(90deg)}.step-collapse[aria-expanded=false] .icon{transform:rotate(0)}.step p{font-size:var(--text-meta);line-height:1.75;color:#748077;white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0 9px}.tool-group{background:#f3f5f2;padding:8px 14px;border-radius:8px}.tool-group:empty{display:none}.step details{font-size:var(--text-meta);line-height:1.5;margin:0}.step summary{cursor:pointer;color:#7a827d;overflow-wrap:anywhere}.step pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:var(--text-meta);line-height:1.7;max-height:320px;overflow:auto;padding:10px;background:#e9eee8;border-radius:5px}.step img{max-width:100%;border-radius:6px;margin:8px 0}.step-mark{border:0;padding:5px 0;font-size:var(--text-meta);color:#728772;background:transparent}.step .step-mark{opacity:0}.step:hover .step-mark,.step:focus-within .step-mark{opacity:1}
.review{position:sticky;top:69px;max-height:calc(100dvh - 124px);overflow:auto;scrollbar-width:thin;scrollbar-color:#d9e2d9 transparent}.review>.section-head{position:sticky;top:0;height:53px;z-index:2;background:#fdfefd}.comment-icon{width:21px;height:21px;color:#375d4c}.progress{font-size:var(--text-body);color:#7c8b7c;white-space:nowrap}.insight{margin:13px 19px 16px;padding:10px 18px 13px;border:1px solid var(--border);border-radius:9px;background:#fff;cursor:pointer;transition:border-color .15s}.insight.selected{border-color:#87a692;box-shadow:0 0 0 2px #dce8df66}.insight:hover{border-color:#c1cfc2}.insight:focus-visible{outline:2px solid #79a18a;outline-offset:2px}.insight-head{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-meta);color:#8a928e;line-height:20px;margin-bottom:6px}.insight-head .status{font-size:var(--text-meta);color:#879481}.insight h3{font-size:var(--text-heading);font-weight:600;line-height:1.65;margin:0 0 5px;color:#172632}.insight p{font-size:var(--text-body);line-height:1.6;color:#7c818a;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.insight p strong{font-weight:600;color:#3d6550}.evidence-links{display:flex;flex-wrap:wrap;gap:6px 8px;margin:11px 0 11px}.evidence-links button{border:0;background:#eff3e9;color:#6e8063;font-size:var(--text-meta);line-height:18px;border-radius:4px;min-height:29px;min-width:91px;padding:5px 14px}.evidence-links button:hover{background:#e3ecdc}.judgments{display:flex;align-items:center;gap:8px;border-top:1px solid #edf0ed;padding-top:11px}.judgments button{font-size:var(--text-meta);white-space:nowrap;padding:8px 12px;line-height:17px}.judgments button.selected{border-color:#6e9a83;background:#f4faf5;color:#265943;box-shadow:inset 0 0 0 1px #6e9a8312}.judgments .edit{margin-left:auto;border:0;background:transparent;padding:8px 2px;font-size:var(--text-meta);color:#819277}.add-btn{width:calc(100% - 38px);margin:0 19px 18px;border:1px dashed #bdceba;color:#718566;background:#f8faf5;padding:13px}.empty{padding:20px;font-size:var(--text-body);line-height:1.8;color:#879082}.text-btn{border:0;background:none;color:var(--green);padding:7px 0}.primary{background:#315d4d;color:#fff;border-color:#315d4d}.primary:hover{background:#244c3d;border-color:#244c3d}
.sync-warning button{margin:8px 8px 0 0}.sync-warning span{display:block}#revision-history{padding:0 19px 16px;font-size:var(--text-meta)}#revision-history:empty{display:none}#revision-history summary{cursor:pointer;color:#658168}.chat-entry{border-top:1px solid var(--border);padding:12px 0;margin-top:12px}.chat-entry p{white-space:pre-wrap;line-height:1.7;margin:7px 0 12px}.run-loading{position:fixed;top:58px;left:50%;transform:translateX(-50%);z-index:30;max-width:80vw;padding:10px 18px;border:1px solid var(--border);border-radius:8px;background:#fcfdfb;box-shadow:0 3px 16px #243d3314;color:var(--green);font-size:var(--text-meta);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Catalog and authentication share the review workspace's quiet styling. */
.auth-card{max-width:440px;margin:70px auto;padding:32px}.auth-card h1{font-size:24px}.auth-card label{display:block;margin:18px 0;font-size:var(--text-body)}.auth-card input{display:block;width:100%;padding:12px;margin-top:8px;border:1px solid var(--border);border-radius:7px}.auth-card form>.primary{width:100%;padding:12px}#auth-error{font-size:var(--text-body);color:#9b492e}.intro{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.subtitle{font-size:var(--text-body);color:#819084;line-height:1.8;margin:12px 0 0}.suite-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.suite-card{text-align:left;padding:24px;min-height:145px;border-radius:10px;background:#fdfefd}.suite-card>span{font-size:var(--text-heading);font-weight:600;display:block}.suite-card b{font-size:23px;display:block;margin-top:16px}.suite-card small{font-size:var(--text-meta);font-weight:400;color:var(--muted)}.suite-card p{color:var(--muted);margin-bottom:0;font-size:var(--text-meta)}.filters{display:flex;gap:12px;padding:20px;flex-wrap:wrap}.filters input,.filters select{font-size:var(--text-body);border:1px solid var(--border);border-radius:6px;padding:10px;background:#fff;color:inherit}.filters input{flex:1;min-width:160px}#run-browser{margin-top:24px}.run-row{display:grid;grid-template-columns:minmax(160px,1fr) 70px 85px 20px;align-items:center;gap:20px;padding:18px 24px;border-top:1px solid var(--border);font-size:var(--text-meta);color:inherit}.run-row:hover{background:#f0f5ec}.run-row b{font-size:var(--text-body);font-weight:500}.run-row small{display:block;color:var(--muted);margin-top:7px}.run-row .run-result{color:var(--muted)}.list-pager{display:flex;justify-content:center;align-items:center;gap:20px;padding:20px;font-size:var(--text-meta)}

@media(max-width:1250px){.app-header{padding-inline:3%;gap:12px}.brand{font-size:var(--text-body);gap:9px}.head-actions{gap:7px}.head-actions>button{padding-inline:10px}.run-nav progress{width:60px}.workspace{grid-template-columns:minmax(0,1.2fr) minmax(360px,1fr)}.evidence-heading{flex-wrap:wrap;height:auto;min-height:49px;padding-block:12px;row-gap:7px}.video-clock{margin-left:auto}.stats{gap:9px}.judgments{gap:5px}.judgments button{padding-inline:8px}.judgments .edit{font-size:var(--text-meta)}}
@media(max-width:1000px){:root{--header:94px;--bottom:100px}.app-header{height:auto;min-height:var(--header);flex-wrap:wrap;padding:10px 4%;gap:9px}.brand{font-size:var(--text-heading)}.head-actions{width:100%;justify-content:flex-end;gap:8px}.run-nav{margin-right:auto}.run-nav progress{width:66px}.account-menu{margin-right:auto}.workspace{grid-template-columns:minmax(0,1fr) minmax(330px,.9fr);gap:14px}.section-head{padding-inline:15px}.task-copy{padding-inline:15px}.run-summary{padding-inline:15px}h1{font-size:25px}.review{top:calc(var(--header) + 19px);max-height:calc(100dvh - var(--header) - var(--bottom) - 25px)}.insight{margin-inline:12px;padding-inline:13px}.insight h3{font-size:var(--text-heading)}.insight p{font-size:var(--text-meta)}.video-wrap{margin-inline:14px}.tabs{margin-inline:14px;gap:13px}.tabs button{font-size:var(--text-meta)}.tabs #annotate-time{font-size:var(--text-meta)}.evidence-list{margin-inline:14px}.run-loading{top:calc(var(--header) + 8px)}main{padding-bottom:125px}}
@media(max-width:760px){.workspace{grid-template-columns:1fr}.review{position:static;max-height:none}.evidence-column{gap:14px}.video-wrap{height:auto;aspect-ratio:16/9}.evidence-list{height:330px}.app-header{position:relative}.brand{font-size:var(--text-heading)}.brand .light{font-size:var(--text-body)}.head-actions{flex-wrap:wrap;gap:6px;justify-content:flex-start}.run-nav{margin-right:auto}.head-actions>button{height:32px;font-size:var(--text-meta);padding-inline:9px}.head-actions .account-menu{margin-right:0}.run-nav progress{width:60px}.head-actions #export{display:none}.account-menu .account-popover{right:-40px}.step .step-mark{opacity:1}.judgments .edit{font-size:var(--text-meta)}.suite-grid{grid-template-columns:repeat(2,1fr)}.run-row{gap:8px;padding:16px;grid-template-columns:minmax(120px,1fr) 60px 70px}.run-row>span:last-child{display:none}.auth-card{margin:30px 15px}.run-loading{top:10px}}
@media(max-width:420px){.suite-grid{grid-template-columns:1fr}.run-nav progress{display:none}.brand{font-size:var(--text-body)}.head-actions{gap:4px}.head-actions>button{padding-inline:8px}.stats{gap:8px}.stats,.pill,.verdict{font-size:var(--text-meta)}.tabs{gap:12px}.tabs #annotate-time{font-size:var(--text-meta)}.evidence-list{padding-left:30px}.step-meta{gap:10px}.timeline-node{display:none}main{padding-bottom:160px}.insight{margin-inline:14px}.judgments .edit{font-size:var(--text-meta)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.judgments button[data-verdict="correct"]{border-color:#86ab96;color:#315d49;background:#fbfdfb}.judgments button.selected{background:#e3efe5;border-color:#608e74;color:#244e38;font-weight:500}

.video-review-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:12px 18px;color:var(--muted);font-size:var(--text-meta)}.video-review-tools button{font-size:var(--text-meta)}

.task-outcome{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:13px;padding-top:12px;border-top:1px solid var(--border);font-size:var(--text-body);color:#79847d}
.task-outcome strong{font-size:var(--text-body);font-weight:600;padding:4px 9px;border-radius:5px;background:#edf0ed;color:#68716a}
.task-outcome strong[data-result="success"]{color:#2e664b;background:#e6f1e7}.task-outcome strong[data-result="failure"]{color:#905a38;background:#f6ece2}
.task-outcome .text-btn{margin-left:auto;font-size:var(--text-meta);padding:4px 0}.evidence-list,.video-wrap{scroll-margin-block:12px}
@media(min-width:761px){
  body.review-layout{height:100dvh;overflow:hidden}
  body.review-layout main{height:calc(100dvh - var(--layout-header-height,var(--header)) - var(--layout-navigation-height,0px));min-height:0;padding-top:20px;padding-bottom:12px}
  body.review-layout #run-view,body.review-layout .workspace{height:100%;min-height:0}
  body.review-layout .workspace{align-items:stretch}
  body.review-layout .evidence-column{height:100%;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d9e2d9 transparent}
  body.review-layout .evidence-column>.panel{flex-shrink:0}
  body.review-layout .review{position:relative;top:auto;height:100%;max-height:none;min-height:0;overscroll-behavior:contain}
  body.review-layout .evidence-list{height:auto;max-height:none;overflow:visible}
}

.evidence-links button[data-time]{background:#171b1a;color:#fff}.evidence-links button[data-time]:hover{background:#303633}

.progress-review-filter{margin:12px 19px;padding:10px 12px;border:1px solid #dce6df;background:#f1f6f1;border-radius:7px;display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:var(--text-meta);color:#375744}
.progress-review-filter>span{flex:1;min-width:140px;overflow-wrap:anywhere}.progress-review-filter button{font-size:var(--text-meta);padding:5px 8px}.progress-review-filter small{width:100%;font-size:var(--text-meta);color:#738077}

.app-header{height:auto;min-height:var(--header);flex-wrap:wrap;padding-block:7px;gap:12px}
.language-switch{margin-left:auto;display:inline-flex;align-items:center;flex-shrink:0;gap:2px;padding:3px;border:1px solid #dce5de;border-radius:999px;background:#eef3ef}
.language-switch button{min-height:28px;padding:4px 11px;border:0;border-radius:999px;background:transparent;color:#68796e;font-size:var(--text-meta);line-height:20px;white-space:nowrap}
.language-switch button:hover{background:#e0e9e2}
.language-switch button[aria-pressed="true"]{background:#36594c;color:#fff}
.language-switch button:focus-visible{outline:2px solid #659783;outline-offset:2px}
select:focus-visible{outline:2px solid #659783;outline-offset:3px}
.head-actions{flex-wrap:wrap;justify-content:flex-end}
.tabs,.judgments{flex-wrap:wrap}
.tabs{row-gap:6px}
.review>.section-head{height:auto;min-height:53px;padding-block:12px;flex-wrap:wrap}
.review>.section-head h2{white-space:normal}
.run-row>span{overflow-wrap:anywhere}

.review-navigation{display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px;padding:12px 4%;border-bottom:1px solid var(--border);background:#fdfefd}
.navigation-filters{display:flex;flex:1;gap:10px;flex-wrap:wrap;min-width:0}
.navigation-filters select{height:36px;max-width:100%;min-width:140px;padding:7px 30px 7px 12px;border:1px solid var(--border);border-radius:6px;background:#fff;color:inherit;font-size:var(--text-meta)}
#nav-model-filter{min-width:220px}
.review-navigation .run-nav{margin:0 0 0 auto;gap:8px}
.review-navigation .run-nav progress{display:block;width:120px}
.navigation-message{flex-basis:100%;font-size:var(--text-meta);color:var(--muted)}
@media(max-width:760px){.navigation-filters{flex-basis:100%}.navigation-filters select{flex:1;min-width:0}#nav-model-filter{flex-basis:100%;min-width:0}.review-navigation .run-nav{width:100%;margin:0}.review-navigation .run-nav progress{flex:1;width:auto}}

/* Playback speed stays next to the evidence title; the whole group is one pill. */
.evidence-heading{height:auto;min-height:49px;flex-wrap:wrap;padding-block:9px;row-gap:8px}
.evidence-heading>.playback-speed{display:inline-flex;gap:2px;padding:3px;border:1px solid #efcf57;border-radius:999px;background:#fff1b5}
.playback-speed button{min-width:35px;min-height:27px;padding:3px 9px;border:0;border-radius:999px;background:transparent;color:#665012;font-size:var(--text-meta);line-height:20px;font-weight:500;font-variant-numeric:tabular-nums}
.playback-speed button:hover{background:#ffe58b}
.playback-speed button[aria-pressed="true"]{background:#f3cc43;color:#332704;box-shadow:0 1px 3px #8d6b1720}
.playback-speed button:focus-visible{outline:2px solid #86630b;outline-offset:2px}
.playback-speed button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:600px){.evidence-heading{display:grid;grid-template-columns:minmax(0,1fr) auto auto}.evidence-heading>.playback-speed{grid-row:2;grid-column:1 / -1;justify-self:start}.evidence-heading .video-clock{margin-left:0}}

.task-markdown>:first-child{margin-top:0}.task-markdown>:last-child{margin-bottom:0}
.task-markdown p{margin:0 0 .7em}.task-markdown ul,.task-markdown ol{padding-left:1.5em;margin:.7em 0}
.task-markdown pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f2f4f1;padding:12px;border-radius:6px}
.task-markdown code{font-size:.9em}.task-markdown table{border-collapse:collapse;display:block;overflow:auto}
.task-markdown th,.task-markdown td{padding:6px 10px;border:1px solid #dce2dc}.task-markdown a{color:#315d4c}
.task-markdown img{max-width:100%}.task-markdown blockquote{border-left:3px solid #bbcbbf;padding-left:12px;margin-left:0}
.codex-dialog{padding:0;border:1px solid var(--border);border-radius:12px;color:inherit;background:#fdfefd;width:min(540px,92vw);max-height:85dvh;box-shadow:0 12px 48px #18332826}
.codex-dialog::backdrop{background:#14261d66}
.codex-settings-body{padding:22px;line-height:1.7;font-size:var(--text-body)}
.codex-settings-body label{display:block;margin:12px 0}
.codex-settings-body input{display:block;width:100%;margin-top:6px;border:1px solid var(--border);border-radius:6px;padding:9px 12px;background:#fff}
.codex-settings-body details{margin:20px 0}.codex-settings-body summary{cursor:pointer}
.codex-device{padding:14px;margin-top:16px;background:var(--soft);border-radius:8px}
#codex-device-code{display:block;font-size:24px;letter-spacing:2px;margin:12px 0}
#codex-account-message:empty{display:none}#codex-account-message{margin:16px 0 0;color:var(--green)}

.insight-actions{display:flex;align-items:center;gap:8px}
.comment-delete{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:6px;background:transparent;color:#939c97}
.comment-delete .icon{width:15px;height:15px}
.comment-delete:hover:not(:disabled){background:#fff0ed;color:#ae5147}
.comment-hint{margin-top:14px;cursor:default}
.comment-pair{display:grid;gap:9px;margin:9px 0}
.comment-pair h4{margin:0 0 3px;font-size:var(--text-meta);font-weight:600;line-height:1.5;color:#658168}
.comment-hint-composer{display:flex;align-items:flex-end;gap:7px;padding:6px 7px 6px 12px;border:1px solid #dce4dc;border-radius:25px;background:#f5f7f3;transition:border-color .15s,box-shadow .15s}
.comment-hint-composer:focus-within{border-color:#8eae9a;box-shadow:0 0 0 2px #dce8df66}
.comment-hint textarea{display:block;flex:1;min-width:0;box-sizing:border-box;height:30px;min-height:30px;max-height:112px;padding:5px 2px;border:0;outline:none;background:transparent;resize:none;font:inherit;font-size:var(--text-body);line-height:20px;color:#243b30;scrollbar-width:thin}
.comment-hint textarea::placeholder{color:#86948b}
.comment-hint textarea:focus-visible{outline:none}
.comment-hint .comment-hint-send{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;min-height:32px;padding:0;border:0;border-radius:50%;background:var(--green);color:#fff}
.comment-hint .comment-hint-send:hover{background:#244c3d}
.comment-hint .comment-hint-send:disabled{background:#dfe6dd;color:#8c998d;opacity:1;cursor:default}
.comment-hint-send .icon{width:18px;height:18px}
.comment-feedback-reason{max-width:100%;margin:7px 5px 0 0;padding:3px 7px;border:1px solid #dce4dc;border-radius:8px;background:#f5f7f3;font:inherit;font-size:var(--text-meta);line-height:16px;color:#6f8174}
.insight .comment-hint-status{margin:7px 4px 0;font-size:var(--text-meta);line-height:1.5;color:#6f8174}
.insight .comment-hint-status[data-error="true"]{color:#98543a}

.initialization-empty{padding:20px 22px 12px;margin:0;line-height:1.7}
.initialization-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:10px;margin:0 19px 24px}
.initialize-comments{display:flex;flex:1;align-items:center;justify-content:space-between;gap:12px;min-height:58px;min-width:175px;padding:10px 12px 10px 20px;border:1px solid #c8d8c8;border-radius:999px;background:#eef4e9;color:#31594b;font-size:var(--text-body);font-weight:500;text-align:left}
.initialize-comments:hover{background:#e3eddd;border-color:#9cb69f}
.initialize-comments>.icon{width:31px;height:31px;padding:7px;border-radius:50%;background:#31594b;color:#fff}
.generation-choice{display:grid;grid-template-columns:1fr auto;align-content:center;column-gap:8px;min-width:130px;padding:7px 12px;border:1px solid #dfd9e8;border-radius:18px;background:#f6f3fa;text-align:left;color:#6a587e}
.generation-choice:hover{background:#efe9f6;border-color:#c4b3d7}
.generation-choice [data-generation-effort]{font-size:var(--text-body);font-weight:600;line-height:19px}
.generation-choice [data-generation-model]{grid-row:2;font-size:var(--text-meta);line-height:16px;white-space:nowrap}
.generation-choice>.icon{grid-column:2;grid-row:1 / 3;width:12px;height:12px;align-self:center}

.comment-hint .generation-choice-inline{display:inline-flex;gap:5px;align-items:center;min-width:0;margin-top:7px;padding:3px 8px;border-radius:999px}
.generation-choice-inline [data-generation-effort],.generation-choice-inline [data-generation-model]{font-size:var(--text-meta);line-height:16px;font-weight:400}
.generation-dialog{position:fixed;margin:0;width:460px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:18px;border:1px solid #dcd5e5;border-radius:22px;background:#faf8fd;color:#67527e;box-shadow:0 8px 36px #30234129}
.generation-dialog::backdrop{background:#17251a12}
.generation-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.generation-picker-heading strong{font-size:var(--text-title);font-weight:600}
.generation-picker-heading .text-btn{font-size:var(--text-meta);color:#80718c}
#generation-model{display:block;width:100%;margin:7px 0 18px;padding:5px 0;border:0;background:transparent;color:inherit;font:inherit;font-size:var(--text-body)}
.effort-slider{position:relative;height:32px}
#generation-effort{display:block;appearance:none;-webkit-appearance:none;width:100%;height:32px;margin:0;border:0;border-radius:999px;background:linear-gradient(to right,#bda0df 0 var(--effort-fill,40%),#e6dfef var(--effort-fill,40%) 100%);cursor:pointer}
#generation-effort::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:30px;height:30px;border:2px solid #fff;border-radius:50%;background:#fff;box-shadow:0 1px 5px #66507a40}
#generation-effort::-moz-range-thumb{width:26px;height:26px;border:2px solid #fff;border-radius:50%;background:#fff;box-shadow:0 1px 5px #66507a40}
#generation-effort:focus-visible{outline:2px solid #8f72ae;outline-offset:3px}
#generation-effort-ticks{position:absolute;inset:0 14px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
#generation-effort-ticks span{width:5px;height:5px;border-radius:50%;background:#fff9}
.effort-endpoints{display:flex;justify-content:space-between;margin-top:7px;font-size:var(--text-meta);color:#93849f}
.generation-content>p{margin:14px 0 0;font-size:var(--text-meta);line-height:1.5;color:#93849f}
@media(max-width:520px){.initialization-actions{gap:8px}.initialize-comments{min-width:150px;font-size:var(--text-meta)}.generation-choice{min-width:120px}}

.batch-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.batch-actions .generation-choice{min-width:120px;padding:3px 11px}.batch-actions .primary{align-self:stretch;white-space:nowrap}
.batch-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 24px 16px;font-size:var(--text-meta);color:var(--muted)}.batch-selection-bar label{display:flex;align-items:center;gap:10px;color:var(--green);cursor:pointer}
.batch-selection-bar input,.run-selection input{width:17px;height:17px;margin:0;accent-color:var(--green);cursor:pointer}.run-selection{display:flex;align-items:center;justify-content:center;min-height:32px}
.batch-message{margin:0 24px 14px;font-size:var(--text-meta);color:var(--green)}.batch-message:empty{display:none}
.batch-progress{margin:0 24px 16px;padding:14px 16px;background:var(--soft);border:1px solid var(--border);border-radius:10px;font-size:var(--text-meta)}.batch-progress-item+ .batch-progress-item{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.batch-progress-item>div{display:flex;justify-content:space-between;gap:12px}.batch-progress-item span{color:var(--muted)}.batch-progress progress{display:block;width:100%;height:6px;margin:12px 0;accent-color:var(--green)}.batch-progress p{margin:6px 0;line-height:1.6}.batch-progress summary{cursor:pointer}.batch-progress details p{overflow-wrap:anywhere}
.run-row{grid-template-columns:20px minmax(0,1fr);gap:14px}.run-row-link{display:grid;grid-template-columns:minmax(160px,1fr) 70px 85px 20px;align-items:center;gap:20px;color:inherit;min-width:0}.run-row-link>span{overflow-wrap:anywhere}
@media(max-width:900px){.filters #run-search{flex-basis:100%}.batch-actions{flex:1;justify-content:flex-end}}
@media(max-width:600px){.filters{gap:8px;padding:16px}.filters select{min-width:0;flex:1;padding-inline:8px}.batch-actions{flex-basis:100%;justify-content:space-between}.batch-actions .primary{flex:1}.batch-selection-bar{padding:0 16px 14px;align-items:flex-start;flex-direction:column}.batch-message{margin-inline:16px}.batch-progress{margin-inline:16px}.run-row{padding:14px 16px;gap:10px}.run-row-link{grid-template-columns:minmax(0,1fr) 74px 80px;gap:8px}.run-row-link>span:last-child{display:none}.batch-progress-item>div{flex-wrap:wrap}}

.checklist-tabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.checklist-tabs span{font-size:var(--text-meta);color:#778178}.checklist-tabs button[aria-pressed=true]{background:#dce9df;color:#244c3d}
.checklist-summary{display:block;background:#faf1e9;border:1px solid #eed9c8;padding:12px;border-radius:8px;font-weight:600}.checklist-summary textarea{width:100%;border:0;background:transparent;resize:vertical;font:inherit;font-weight:400;margin-top:6px}
.checklist-scroll{max-height:62vh;overflow:auto;margin:16px 0;border:1px solid #dfe5df;border-radius:8px;position:relative}.checklist-table{width:100%;min-width:920px;border-collapse:separate;border-spacing:0;font-size:var(--text-body)}.checklist-table th,.checklist-table td{padding:14px 12px;border-bottom:1px solid #e5e9e4;text-align:left;vertical-align:top;background:#fff}.checklist-table thead th{position:sticky;top:0;z-index:3;background:#f1f5f0}.checklist-table tr>th:first-child{position:sticky;left:0;min-width:210px;max-width:230px;z-index:2}.checklist-table thead th:first-child{z-index:4}.checklist-table td:nth-child(2){min-width:150px}.checklist-table td:nth-child(3){min-width:340px}.checklist-table td:nth-child(4){min-width:190px}.checklist-table textarea{width:100%;min-height:95px;resize:vertical;border:1px solid transparent;font:inherit;line-height:1.6;background:transparent}.checklist-table textarea:focus{border-color:#688875}.checklist-table button{margin:0 4px 6px 0}.checklist-time{background:#202624;color:#fff;border-color:#202624}.checklist-confirm{display:flex;gap:6px;align-items:center;font-size:var(--text-meta);margin-top:10px}.checklist-table input{max-width:150px}.checklist-table details{font-size:var(--text-meta);margin-top:8px}.checklist-table details label{display:block}.checklist-foot{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:var(--text-meta);padding-bottom:16px}#checklist-panel{padding:0 22px}#checklist-panel[hidden]{display:none}

:root{--composer-gap:18px}
.composer{position:fixed;bottom:var(--composer-gap);left:50%;transform:translate(-50%,0);width:calc(100% - 48px);max-width:1180px;z-index:25;border:1px solid #d9e3da;border-radius:28px;background:#fffffff2;box-shadow:0 8px 32px #263d2a1c;backdrop-filter:blur(14px);transition:transform .18s ease}
.composer[data-collapsed="true"]{transform:translate(-50%,calc(100% + var(--composer-gap)))}
.composer-toggle{position:absolute;top:-1px;left:50%;transform:translate(-50%,-100%);display:grid;place-items:center;width:44px;height:24px;padding:0;border:1px solid #d9e3da;border-bottom:0;border-radius:12px 12px 0 0;background:#fffffff5;color:#8d9b91}
.composer-toggle .icon{width:13px;height:13px;transform:rotate(90deg)}
.composer[data-collapsed="true"] .composer-toggle .icon{transform:rotate(-90deg)}
.composer-bar{display:flex;align-items:center;gap:12px;min-height:66px;padding:10px 12px}
.composer form{display:flex;align-items:flex-end;gap:10px;flex:1;min-width:0}
.composer-input{flex:1;min-width:0}
.composer textarea{display:block;width:100%;height:42px;min-height:42px;max-height:120px;resize:none;line-height:22px;padding:10px 12px;border:0;border-radius:16px;background:transparent;font-size:var(--text-body);color:#334738;scrollbar-width:thin}
.composer textarea::placeholder{color:#8b978f}
.composer textarea:focus-visible{outline-offset:0}
#revision-context{display:block;padding:0 12px;font-size:var(--text-meta);color:#658168;overflow-wrap:anywhere}
.composer-send{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;margin-bottom:3px;padding:0;border:0;border-radius:50%;background:var(--green);color:#fff}
.composer-send:hover:not(:disabled){background:#244c3d}
.composer-send:disabled{background:#e1e8df;color:#8b998d;opacity:1}
.review-footer{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;white-space:nowrap}
.review-footer .generation-choice{height:44px;min-width:125px;padding:4px 12px;border-radius:18px}
.review-footer #complete{height:44px;padding:8px 18px;border-radius:999px;font-size:var(--text-meta)}
.composer-feedback{position:fixed;right:24px;bottom:calc(var(--composer-height,66px) + var(--composer-gap) + 12px);z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:min(360px,calc(100vw - 32px));pointer-events:none}
.composer-collapsed .composer-feedback{bottom:32px}
.composer-feedback>span:empty{display:none}
.composer-feedback>span,#toast{max-width:100%;padding:7px 11px;border:1px solid #e3e7e2;border-radius:10px;background:#fffffff5;color:#768078;font-size:var(--text-meta);line-height:1.5;box-shadow:0 2px 10px #543a360c;overflow-wrap:anywhere;pointer-events:auto}
#toast{display:none;background:#fffdfcf8;border-color:#ead5d0;color:#a56861}
#toast.show{display:block}
.sync-warning{margin:0 19px 16px;padding:14px;border:1px solid #decaaa;border-radius:9px;background:#fff8e9;font-size:var(--text-meta);line-height:1.6}
body.review-layout main{padding-bottom:12px}
@media(max-width:640px){:root{--composer-gap:12px}.composer{width:calc(100% - 24px);border-radius:24px}.composer-bar{flex-wrap:wrap;gap:6px;padding:8px 10px}.composer form{flex-basis:100%}.review-footer{width:100%;gap:8px}.review-footer #complete{margin-left:auto}.review-footer .generation-choice{height:40px;min-width:120px}.composer-feedback{right:16px}.sync-warning{margin-inline:14px}}

.catalog-review-summary{margin-top:4px;font-size:var(--text-meta);color:#77867c}

/* Personal generation controls stay outside the evidence/review scroll panes. */
.review-layout #catalog-queue{display:none}
#queue-toggle{white-space:nowrap;color:var(--green);font-size:var(--text-meta)}
.queue-dialog{width:min(760px,calc(100vw - 28px));max-height:85vh;max-height:85dvh;padding:0;overflow:hidden;border:1px solid #d9e3da;border-radius:18px;color:#334738;background:#fff;box-shadow:0 16px 60px #18332833}
.queue-dialog[open]{display:flex;flex-direction:column}.queue-dialog::backdrop{background:#14261d66}
.queue-header{flex:none;padding:18px 20px 14px;border-bottom:1px solid #d9e3da;background:#f8fbf8}.queue-header .section-head{padding:0;border:0;gap:12px}.queue-header h2{margin:0}.queue-header p{font-size:var(--text-body);color:#637368;margin:10px 0 0}.queue-header #queue-message:empty{display:none}
#queue-close{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;min-height:44px;padding:8px 16px;background:var(--green);border-color:var(--green);color:white;font-weight:600}#queue-close>span:first-child{font-size:24px;line-height:1}#queue-close:hover{background:#2b493c}#queue-close:focus-visible{outline:3px solid #9ab9a5;outline-offset:3px}
#queue-jobs{min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 20px 12px;scrollbar-gutter:stable}
.queue-job{padding:18px 0;border-bottom:1px solid #e5ebe6;overflow-wrap:anywhere}.queue-job:last-child{border-bottom:0}
.queue-job-heading{display:flex;align-items:flex-start;gap:12px;justify-content:space-between}.queue-job-heading>div:first-child{min-width:0}.queue-job strong{font-size:var(--text-body);font-weight:600}.queue-job-meta{display:block;font-size:var(--text-meta);color:#637368;margin-top:8px}.queue-job-kind{display:inline-block;padding:3px 7px;margin-right:5px;border-radius:5px;background:#eaf1eb;color:var(--green);font-size:var(--text-meta);font-weight:600}.queue-job>p{font-size:var(--text-meta);color:#768078;margin:8px 0 0}
.queue-prompt{margin-top:12px;padding:10px 12px;border:1px solid #e1e8e2;border-radius:8px;background:#f8faf8;font-size:var(--text-meta)}.queue-prompt summary{cursor:pointer;color:var(--green);font-weight:600}.queue-prompt-hint{float:right;color:#768078;font-weight:400}.queue-prompt-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;margin-top:6px;color:#45574a;font-weight:400;line-height:1.6}.queue-prompt[open] .queue-prompt-preview,.queue-prompt[open] .queue-prompt-hint{display:none}.queue-prompt p{white-space:pre-wrap;line-height:1.6;margin:8px 0 0;color:#45574a}
.queue-job-actions{display:flex;gap:6px;flex-shrink:0}.queue-job-actions button{padding:7px 10px;font-size:var(--text-meta)}
.composer .system-prompt-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;min-height:44px;padding:10px 14px;border:1px solid #b8cec0;border-radius:14px;background:#edf4ee;color:var(--green);font-size:var(--text-meta);font-weight:600;white-space:nowrap}
.system-prompt-toggle .icon{width:16px;height:16px}.system-prompt-toggle .prompt-chevron{width:12px;height:12px;transform:rotate(90deg);transition:transform .15s}
.composer .system-prompt-toggle:hover,.composer .system-prompt-toggle[aria-expanded="true"]{border-color:#6f947e;background:#dcebe0}.system-prompt-toggle[aria-expanded="true"] .prompt-chevron{transform:rotate(-90deg)}
.system-prompt-panel{padding:4px 22px 16px;border-top:1px solid #e5ebe6;max-height:55vh;overflow:auto}
.system-prompt-heading{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-size:var(--text-meta)}.system-prompt-heading span,.system-prompt-panel p{font-size:var(--text-meta);color:#768078}.system-prompt-panel p{margin:8px 0}
.composer .system-prompt-panel textarea{height:180px;min-height:100px;max-height:30vh;resize:vertical;border:1px solid #d9e3da;border-radius:10px;background:#f8faf7;font:var(--text-meta)/1.6 ui-monospace,monospace}
.system-prompt-actions{display:flex;gap:8px;margin-top:10px}.system-prompt-actions button{font-size:var(--text-meta);padding:6px 12px}
@media(max-width:640px){.composer .system-prompt-toggle{margin:2px 2px 4px}.queue-job-heading{flex-direction:column}.queue-job-actions{width:100%}.queue-header{padding:14px 16px}.queue-header h2{font-size:var(--text-heading)}#queue-jobs{padding-inline:16px}.run-nav{flex-wrap:wrap}#queue-toggle{font-size:var(--text-meta)}.system-prompt-panel{padding-inline:16px}.system-prompt-heading{flex-wrap:wrap}}


.generation-dialog{overflow:visible;padding:0}
.generation-content{max-height:inherit;overflow:auto;padding:18px;border-radius:22px}
.generation-dialog::before{content:"";position:absolute;width:12px;height:12px;left:var(--anchor-x,50%);bottom:-7px;transform:translateX(-50%) rotate(45deg);background:#faf8fd;border-right:1px solid #dcd5e5;border-bottom:1px solid #dcd5e5;pointer-events:none}
.generation-dialog.opens-below::before{top:-7px;bottom:auto;border:0;border-left:1px solid #dcd5e5;border-top:1px solid #dcd5e5}
.generation-prompt{border-top:1px solid #dcd5e5;margin-top:16px;padding-top:16px;color:var(--text)}
.generation-prompt>label{font-size:var(--text-body);font-weight:600}
.generation-prompt>p{font-size:var(--text-meta);line-height:1.5;color:var(--muted);margin:8px 0}
#generation-prompt{display:block;box-sizing:border-box;width:100%;min-height:140px;resize:vertical;padding:12px;border:1px solid #dcd5e5;border-radius:10px;background:#fff;color:inherit;font:inherit;font-size:var(--text-body);line-height:1.6}
.generation-prompt .system-prompt-actions{justify-content:space-between;flex-wrap:wrap}

.review .team-review-status{font-size:var(--text-body);color:var(--muted,#69776b);line-height:1.5;margin:0 20px 14px}
.team-review-status #team-update{display:block}
#revision-history .chat-entry small{display:block;color:var(--muted,#69776b);margin:4px 0}
#revision-history .chat-entry details{margin:8px 0}
/* Suite ownership is shared; the link and assignment control remain separate targets. */
.suite-grid .suite-card{padding:0;border:1px solid var(--border);min-width:0;overflow:hidden}
.suite-open{display:block;padding:24px;color:inherit;text-decoration:none}
.suite-open:hover{background:#f0f5ec}
.suite-open>span{font-size:var(--text-heading);font-weight:600;display:block}
.suite-assignment{display:flex;align-items:center;gap:12px;padding:14px 24px;border-top:1px solid var(--border)}
.suite-assignment>span{font-size:var(--text-meta);color:var(--muted);flex-shrink:0}
.suite-assignment select{flex:1;min-width:0;max-width:100%;height:38px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:#fff;color:inherit;font:inherit;font-size:var(--text-body)}
.suite-assignment select:disabled{opacity:.55;cursor:wait}
.suite-open:focus-visible,.suite-assignment select:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}

/* Evidence remains visible beside the logs and judgments on desktop. */
@media(min-width:1200px){
 body.review-layout .workspace{grid-template-columns:minmax(320px,1fr) minmax(300px,1fr) minmax(340px,1.05fr);gap:14px}
 body.review-layout .trajectory-logs{height:100%;min-height:0;display:flex;flex-direction:column}
 .trajectory-logs>.tabs{flex-shrink:0;flex-wrap:wrap;gap:8px;margin:0 12px;padding:0}
 body.review-layout .trajectory-logs .evidence-list{flex:1;min-height:0;height:auto;max-height:none;overflow:auto;margin:0 10px 10px;padding-left:32px;overscroll-behavior:contain}
 .trajectory-logs .timeline-node{display:none}
 .trajectory-logs .step-meta{gap:8px;flex-wrap:wrap}
 .evidence-column .run-summary{padding:12px 16px}.evidence-column h1{font-size:var(--text-title)}.evidence-column .stats{gap:8px;font-size:var(--text-meta)}
 .evidence-column .video-wrap{margin-inline:12px}.evidence-column .evidence-heading{padding-inline:12px;flex-wrap:wrap;height:auto;min-height:44px;gap:6px;padding-block:8px}
 .evidence-column .video-clock{font-size:var(--text-meta)}
 .review .insight{margin-inline:12px;padding-inline:12px}.review .judgments{gap:5px;flex-wrap:wrap}
}
@media(min-width:761px) and (max-width:1199px){
 body.review-layout{height:auto;overflow:auto}
 body.review-layout main{height:auto}
 body.review-layout .workspace{height:auto;grid-template-columns:minmax(0,1fr) minmax(320px,1fr);align-items:start}
 body.review-layout .evidence-column{height:auto;grid-column:1;grid-row:1;overflow:visible}
 .trajectory-logs{grid-column:1;grid-row:2}
 body.review-layout .review{grid-column:2;grid-row:1 / span 2;position:sticky;top:12px;height:auto;max-height:calc(100dvh - 24px)}
 body.review-layout .trajectory-logs .evidence-list{height:420px;overflow:auto}
}
.trajectory-logs .tabs{flex-wrap:wrap;gap:10px}
.task-progress{margin:12px;padding:12px 12px 10px;border:1px solid #dce6df;border-radius:8px;background:#fcfdfb;min-width:0}
.task-progress-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.task-progress-heading h3{font-size:var(--text-body);margin:0;color:#315d4d}.task-progress-heading>span{font-size:var(--text-meta);color:#7c8b80}
.task-progress-note{font-size:var(--text-meta);color:#829086;line-height:1.55;margin:7px 0}
.progress-track-heading{display:flex;align-items:center;justify-content:space-between;margin-top:12px;font-size:var(--text-meta);color:#87948b;gap:6px}
.progress-track-heading b{font-weight:500;color:#4d6858}
.progress-plot{position:relative;height:90px;margin:7px 8px 0}
.progress-plot svg{width:100%;height:90px;display:block;overflow:visible}
.progress-grid path{stroke:#edf1ec;stroke-width:1;vector-effect:non-scaling-stroke}
.progress-ticks{stroke:#cbd4cb;stroke-width:1;vector-effect:non-scaling-stroke}
.progress-span{stroke:#6b9c84;stroke-width:4;stroke-linecap:round;opacity:.3;vector-effect:non-scaling-stroke}
.progress-marker{position:absolute;transform:translate(-50%,-50%);width:22px;height:22px;border:0;background:transparent;border-radius:50%;padding:6px;display:grid;place-items:center;z-index:2}
.progress-marker>span{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 2px #fcfdfb}
.progress-marker:hover,.progress-marker[aria-pressed=true]{background:#ddeae0;box-shadow:0 0 0 2px #628a7370}
.progress-marker[aria-pressed=true]>span{width:10px;height:10px}
.progress-axis{display:flex;justify-content:space-between;margin:0 2px;color:#8b968e;font-size:var(--text-meta);font-variant-numeric:tabular-nums}
.progress-cursor{position:absolute;top:0;bottom:0;width:1px;background:#5589be;pointer-events:none;z-index:1}
.progress-cursor>span{position:absolute;top:0;right:3px;font-size:var(--text-meta);color:#467eaf;white-space:nowrap;background:#fcfdfbe8;padding:0 2px}
.progress-scrubber{display:block;width:100%;height:12px;margin:6px 0 0;accent-color:#5589be;cursor:pointer}
.progress-legend{display:flex;flex-wrap:wrap;gap:8px;font-size:var(--text-meta);line-height:1.5;margin-top:11px}
.recorded{color:#548e78}.achieved{color:#298157}.unmet,.disputed{color:#bd6a58}.unknown{color:#a2aaa3}.cursor-key{color:#5589be}
.progress-subgoals{display:flex;gap:3px;margin-top:12px}
.progress-subgoals>button{flex:1;min-width:0;height:17px;padding:0;border:0;border-radius:3px;background:#e8eeea;color:#7f8a82;font-size:var(--text-meta)}
.progress-subgoals>.achieved{background:#468d6a;color:white}.progress-subgoals>.unmet{background:#c7816c;color:white}
.progress-subgoals>[aria-pressed=true]{outline:2px solid #405f4c;outline-offset:2px}
.task-progress-detail{font-size:var(--text-meta);color:#7e8a81;line-height:1.6;border-top:1px solid #e5ebe4;padding-top:8px;margin-top:10px}
.task-progress-detail>strong,.task-progress-detail>span{display:block;overflow-wrap:anywhere}.task-progress-detail>strong{font-size:var(--text-meta);color:#385b47;margin-bottom:3px}
.task-progress-detail>div{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:6px}.task-progress-detail button{padding:3px 6px;font-size:var(--text-meta)}
.progress-unplaced{font-size:var(--text-meta);color:#7d8980;margin:8px 0}.progress-unplaced button{display:block;margin:5px 0;max-width:100%;font-size:var(--text-meta);text-align:left}
@media(max-width:760px){.task-progress{padding:12px}.trajectory-logs .evidence-list{height:350px}.trajectory-logs .tabs{margin-inline:12px;gap:8px}}

/* One generation state across all three evidence columns. */
.generation-status{margin:0 0 12px;padding:12px 18px;background:#f1f6f2;border:1px solid #d3dfd7;border-radius:10px;color:#355a46;font-size:var(--text-body)}
.generation-status>div{display:flex;justify-content:space-between;gap:16px}.generation-status progress{display:block;width:100%;height:5px;margin-top:9px;accent-color:#668b75}
.sol-step-summary{border-left:3px solid #769782;padding:8px 12px;margin:8px 0;background:#f2f6f3}.sol-step-summary small,.sol-step-summary strong{display:block}.sol-step-summary small{color:#687e6e}.sol-step-summary p{margin:5px 0}
.milestone-curve{fill:none;stroke:#668b75;stroke-width:3;vector-effect:non-scaling-stroke}.attempt-choice{display:flex;align-items:center;gap:10px;margin:12px 0}.attempt-choice select{min-width:0;max-width:80%}

@media(min-width:1200px){
 body.review-layout #run-view{display:flex;flex-direction:column}
 body.review-layout #run-view[hidden]{display:none}
 body.review-layout .generation-status{flex:none}
 body.review-layout .workspace{height:auto;flex:1;min-height:0}
}
.sol-summary-select{display:block;text-align:left;border:0;background:none;padding:0;font:inherit;font-weight:600;color:inherit;cursor:pointer}

.progress-empty{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 20px;padding:20px 16px;margin:12px 0;border:1px dashed var(--line,#d5ded8);border-radius:8px;text-align:center}.progress-empty strong{font-size:var(--text-body)}.progress-empty p{font-size:var(--text-meta);line-height:1.7;color:var(--muted,#718078);margin:8px 0 14px}.progress-empty button{font:inherit;font-size:var(--text-meta);padding:8px 12px;border:1px solid #a9beb0;border-radius:6px;background:#eff4ef;color:#365847;cursor:pointer}.progress-empty button:disabled{opacity:.55;cursor:default}

/* The task-process list and staircase share the same milestone events. */
.milestone-chart{display:grid;grid-template-columns:minmax(90px,32%) minmax(0,1fr);gap:8px;margin-top:12px}.milestone-labels{position:relative;font-size:var(--text-meta);color:#526b60}.milestone-labels span{position:absolute;right:0;max-width:100%;transform:translateY(-50%);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.milestone-plot{margin:0 8px}.milestone-plot .progress-cursor{height:100%}.process-heading{display:flex;flex-direction:column;gap:5px;margin:12px 0 18px}.process-heading small{color:#7b877f;font-size:var(--text-meta)}.process-row{border-bottom:1px solid #e7ece8;padding:7px 4px}.process-select{display:grid;grid-template-columns:65px minmax(0,1fr) auto;gap:9px;width:100%;text-align:left;align-items:start;background:none;border:0;padding:6px 0;color:inherit;cursor:pointer;font:inherit}.process-select:disabled{cursor:default;opacity:1}.process-time,.process-status{font-size:var(--text-meta);color:#79887f}.process-title{font-size:var(--text-body);line-height:1.5}.process-row details{font-size:var(--text-meta);color:#7c8880;margin:0 0 3px 74px}.process-row details p{line-height:1.6}.process-row.selected,.process-row.playing{background:#eef5ef}.process-row.lost .process-status{color:#a16656}.process-row.unobserved{color:#849087}.progress-marker.playing span{outline:3px solid #9cb9a8;outline-offset:3px}
.evidence-column .run-summary{padding:9px 12px}.evidence-column .run-summary h1{font-size:var(--text-title);line-height:1.3}.evidence-column .run-summary .eyebrow{font-size:var(--text-meta);line-height:15px;margin:0}.evidence-column .run-summary .stats{gap:5px 9px;margin-top:5px;font-size:var(--text-meta)}.evidence-column .run-summary .pill,.evidence-column .run-summary .verdict{font-size:var(--text-meta);padding:2px 6px}

body.review-layout .trajectory-logs .evidence-list.task-process-view{padding-left:8px}.process-children{padding:5px 0}.process-children [data-process-event].playing{background:#e6f0e8}

@media(min-width:1200px){body.review-layout .evidence-column .video-wrap{max-height:26dvh}.process-time{font-size:var(--text-meta)}}

.progress-review {padding:12px;border:1px solid var(--line,#dce4de);border-radius:8px;margin:12px 0;background:#f7faf7}
.progress-review-dialog {width:min(780px,92vw);max-height:88vh;overflow:auto;border:1px solid #d7e0d9;border-radius:12px;padding:24px;color:#27382f;background:#fff}
.progress-review-dialog::backdrop {background:#18382b55}
.progress-review-dialog label {display:block;margin:10px 0;font-size:var(--text-body)}
.progress-review-dialog input:not([type=checkbox]),.progress-review-dialog textarea,.progress-review-dialog select {display:block;box-sizing:border-box;width:100%;padding:9px;border:1px solid #cbd8cf;border-radius:5px;background:white;color:inherit;font:inherit}
.progress-review-dialog textarea {min-height:65px;resize:vertical}
.progress-review-dialog fieldset,.shared-definition {margin:14px 0;padding:14px;border:1px solid #d7e0d9;border-radius:8px}
.progress-review-dialog button {margin:5px 8px 5px 0}
.progress-review-dialog details {margin:15px 0;padding:10px 0;border-bottom:1px solid #d7e0d9}
.progress-review-dialog summary {cursor:pointer;font-weight:600}
.progress-review-dialog p {line-height:1.6;font-size:var(--text-body);color:#586e61}
.progress-review-close {display:flex;justify-content:space-between;align-items:center}
.progress-time-fields {display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.progress-checkbox {display:flex!important;gap:8px;align-items:center}
.progress-warning {background:#fff1d5;padding:12px;border-radius:5px}
.process-row.not_achieved {border-left-color:#b98c79}
.progress-review-close {position:sticky;top:-24px;background:#fff;z-index:1;padding:12px 0;border-bottom:1px solid #d7e0d9}
.task-rules {padding:16px 8px 120px;line-height:1.7}
.task-rules h3 {margin:0 0 10px;font-size:var(--text-heading)}
.task-rules p {font-size:var(--text-body);color:#68796f}
.task-rule {padding:16px 0;border-bottom:1px solid #dce4de}
.task-rule h4 {margin:0 0 12px;font-size:var(--text-heading)}
.task-rule dl {margin:0;font-size:var(--text-body)}
.task-rule dt {font-weight:600;color:#496453;margin-top:12px}
.task-rule dd {margin:4px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.task-rule .rule-pending {color:#788479}
.rules-notice {background:#f5f1e6;padding:10px;border-radius:6px}
.trajectory-logs .tabs {flex-wrap:wrap}
.rule-code {margin:8px 0;padding:14px;background:#f1f5f2;border:1px solid #dce4de;border-radius:7px;overflow:auto;white-space:pre;font:var(--text-meta)/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;color:#294b39}
.progress-review-dialog .rule-code-editor {min-height:130px;white-space:pre;overflow:auto;font:var(--text-meta)/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:4}

.task-rule-status{padding:12px;background:var(--soft,#f2f5f1);border-radius:8px;margin:8px 0}.task-rule-status p{font-size:var(--text-meta);line-height:1.6;margin:6px 0}.task-rule-status button{margin:4px 8px 0 0}

.rule-toolbar,.rule-actions,.rule-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rule-toolbar{justify-content:space-between}.rule-toolbar h3{margin:0}.rule-badges span,.rule-badge{padding:4px 8px;border-radius:5px;background:#edf2ec;color:#456052;font-size:var(--text-meta)}.rule-actions{margin-top:12px}.rule-criterion{font-size:var(--text-body);line-height:1.7}.task-rules .task-rule-status{background:transparent;padding:12px 0;margin:0}.rule-empty{padding:24px 0;color:#78847b}

.task-rules .task-rule-status{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;padding:14px 0 18px}
.task-rule-status .rule-badges{gap:6px;min-width:0}
.task-rule-status .rule-actions{margin:0 0 0 auto;flex-shrink:0}
.task-rule-status button,.task-rules>.rule-toolbar button{margin:0;min-height:34px;padding:6px 12px}
.progress-controls{display:flex;align-items:center;justify-content:space-between;gap:10px 14px;flex-wrap:wrap;margin:12px 0 16px}
.progress-controls .attempt-choice{flex:1 1 190px;min-width:0;margin:0;font-size:var(--text-meta);gap:8px}
.progress-controls .attempt-choice select{flex:1;min-width:0;max-width:100%;width:100%;height:34px;border:1px solid #dce4de;border-radius:7px;padding:5px 9px;background:#fff;color:inherit;font:inherit;text-overflow:ellipsis}
.progress-controls>.rule-badges{margin-left:auto;flex-shrink:0}
.progress-controls+.progress-track-heading{margin-top:0}

button,input,select,textarea{font-size:var(--text-body)}
.rule-toolbar>span,.progress-empty strong,.progress-empty button,.tabs button,.step-text,.insight p{font-size:var(--text-body)}
.task-progress-heading h3{font-size:var(--text-heading)}
.evidence-column .run-summary .eyebrow{line-height:1.5}
.evidence-heading{flex-wrap:wrap;height:auto;min-height:49px;padding-block:10px;row-gap:8px}

/* First-use walkthrough */
.review-tour{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;overflow:hidden;color:var(--ink,#26332e)}
.review-tour::backdrop{background:transparent}
.tour-spotlight{position:fixed;border:2px solid #8aab99;border-radius:12px;box-shadow:0 0 0 200vmax rgb(20 35 28 / 48%);pointer-events:none}
.tour-card{position:fixed;box-sizing:border-box;width:min(380px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;background:#fff;border:1px solid #dce5df;border-radius:16px;box-shadow:0 12px 44px #152d2930;font-size:14px;line-height:1.65}
.tour-top,.tour-card footer{display:flex;align-items:center;justify-content:space-between;gap:16px}
.tour-count{color:#64776c;font-size:14px}
.tour-top button{border:0;background:none;padding:4px 8px;color:#64776c;font-size:14px}
.tour-card h2{font-size:18px;line-height:1.4;margin:16px 0 12px}
.tour-copy{font-size:14px;margin:0 0 24px;color:#42574b}
.tour-card footer button{font-size:14px;padding:8px 18px}
