@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url('/assets/fonts/inter-variable-latin.woff2') format('woff2')}
/* ————— Vizion portal design system —————
   One idea: a lawyer is buying time back. The surface stays quiet so the
   evidence is the loudest thing on screen. Enclosure (border + radius) is
   reserved for OBJECTS you act on — matter cards, recordings, the player,
   dialogs, the transcript instrument. Everything else is open air separated
   by whitespace and hairlines. Spacing sits on a 4px scale; radii and line
   weights come only from tokens. Desktop-first; mobile is a first-class
   reflow, not a shrink. */
:root{
  --sans:Inter,-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;
  --line:rgba(29,29,31,.10);--hairline:rgba(29,29,31,.08);--wash:rgba(29,29,31,.045);
  --s-1:4px;--s0:8px;--s1:12px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;
  --r-pill:999px;--r-object:16px;--r-control:10px;--r-screen:20px;
  --shadow-object:0 1px 2px rgba(29,29,31,.04),0 8px 24px -18px rgba(29,29,31,.25);
  --ease:cubic-bezier(.25,.1,.25,1);
  --glass:rgba(255,255,255,.85);--speaking-wash:rgba(29,29,31,.065);
  --ground:#f7f7f8;--ground-inset:#f0f1f3;--flag-skeleton:#EAEAED;
  --mode-muted:#60636b;--mode-line:#dedfe3;--mode-hairline:#e6e7eb;
  --scroll-thumb:rgba(29,29,31,.22);--scroll-thumb-hover:rgba(29,29,31,.28);--shadow-color:rgba(18,20,26,.16)
}
:root[data-theme="dark"]{
  --hairline:rgba(245,245,247,.10);--glass:rgba(19,19,21,.72);
  --shadow-object:0 1px 2px rgba(0,0,0,.5),0 16px 44px -22px rgba(0,0,0,.85);
  --shadow-color:rgba(0,0,0,.62);--speaking-wash:rgba(245,245,247,.06);
  --ground:#131315;--ground-inset:#1D1D1F;--flag-skeleton:#28282B;
  --mode-muted:#98989F;--mode-line:#343437;--mode-hairline:#28282B;
  --scroll-thumb:rgba(245,245,247,.22);--scroll-thumb-hover:rgba(245,245,247,.3)
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --hairline:rgba(245,245,247,.10);--glass:rgba(19,19,21,.72);
  --shadow-object:0 1px 2px rgba(0,0,0,.5),0 16px 44px -22px rgba(0,0,0,.85);
  --shadow-color:rgba(0,0,0,.62);--speaking-wash:rgba(245,245,247,.06);
  --ground:#131315;--ground-inset:#1D1D1F;--flag-skeleton:#28282B;
  --mode-muted:#98989F;--mode-line:#343437;--mode-hairline:#28282B;
  --scroll-thumb:rgba(245,245,247,.22);--scroll-thumb-hover:rgba(245,245,247,.3)
}}
html{scroll-behavior:smooth}
body{padding:var(--s4) var(--s3);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;background:var(--void)}
section,[id]{scroll-margin-top:88px}
.wrap{max-width:1120px;margin:0 auto}.review-mode .wrap{max-width:1280px}
header{min-height:60px;padding:10px 20px;border:1px solid var(--hairline);border-radius:var(--r-pill);margin:0 0 var(--s6);background:var(--glass);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);gap:10px;position:sticky;top:var(--s2);z-index:40;box-shadow:var(--shadow-object)}
header img{width:26px;height:26px}header a{font-size:15px;letter-spacing:-.02em}
.portal-nav{display:flex;gap:var(--s0);margin-left:auto}.portal-nav button{font:inherit;font-size:13px;border:0;border-radius:var(--r-pill);background:transparent;color:var(--ink);padding:10px 16px;cursor:pointer;transition:background .2s var(--ease)}.portal-nav button:last-child{border:1px solid var(--line)}.portal-nav button:hover{background:var(--panel)}
.portal-intro{margin:var(--s2) 0 var(--s5)}.portal-eyebrow,.review-eyebrow{font-size:11px;letter-spacing:.16em;font-weight:600;color:var(--muted);margin-bottom:var(--s1)}
h1{font-size:clamp(34px,4.6vw,56px);font-weight:600;letter-spacing:-.045em;line-height:1.06;margin-bottom:var(--s2);text-wrap:balance}.sub{max-width:52ch;font-size:17px;color:var(--muted);margin-bottom:0}.review-mode .portal-intro{display:none}
#uploaderCard{background:transparent;border:0;padding:0}
.btn{border-radius:var(--r-pill);font-family:var(--sans);font-size:14px;padding:12px 22px;transition:transform .15s var(--ease),opacity .15s var(--ease),background .2s var(--ease)}
.btn-primary{background:var(--ink);color:var(--on-ink)}.btn-ghost{background:var(--void);border:1px solid var(--line)}
.btn:hover{opacity:1;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{transform:none}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}
#account{margin:0 0 var(--s4);padding:0}.matter-list-heading{display:flex;gap:var(--s2);align-items:center;justify-content:space-between}.matter-list-heading h2{font-size:26px;letter-spacing:-.03em;font-weight:600}#acctWho{font-size:12px;color:var(--muted)}.matter-list-hint{font-size:14px;color:var(--muted);margin-top:var(--s0)}
.gallery{gap:var(--s2);margin-top:var(--s3)}
.matter-card{border-radius:var(--r-object);padding:var(--s3);gap:var(--s2);background:var(--panel);border:1px solid transparent;min-height:200px;transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}
.matter-card:hover{border-color:var(--line);box-shadow:var(--shadow-object);transform:translateY(-2px)}
.matter-card .mname{font-size:17px;line-height:1.4;letter-spacing:-.02em;overflow-wrap:anywhere;word-break:normal}
.matter-card .mmeta{font-family:var(--sans);font-size:12px;letter-spacing:0;text-transform:none;gap:10px;font-variant-numeric:tabular-nums}
.matter-card .chip{padding:0;border:0}.matter-card .btn{align-self:flex-start;min-width:145px}
.review-upload{padding:var(--s3);border:1px solid var(--hairline);border-radius:var(--r-object);margin-top:var(--s3)}.review-upload>summary{font-weight:600;font-size:14px;cursor:pointer}.review-upload[open]>summary{margin-bottom:var(--s3)}.review-mode #account,.review-mode #uploadPanel{display:none}.review-mode #recap,.review-mode #playerbox,.review-mode #viewer{display:none}
#matterReview{margin:0}#matterReview[hidden]{display:none}
.review-heading{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);margin-bottom:var(--s4)}
.review-heading h2{font-size:clamp(26px,3vw,38px);font-weight:600;letter-spacing:-.04em;line-height:1.15;max-width:34ch;text-wrap:balance}
.review-heading .btn{flex:none}.review-heading .review-eyebrow{margin-bottom:var(--s0)}
.review-recording-bar{display:flex;align-items:center;gap:var(--s2);background:var(--panel);border-radius:var(--r-control);padding:var(--s1) var(--s2);margin-bottom:var(--s3)}
.review-recording-bar label{font-size:13px;font-weight:600}
.review-recording-bar select{flex:1;min-width:0;width:100%;font:inherit;font-size:14px;border:0;background:transparent;padding:6px;color:var(--ink)}
.review-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,1fr);gap:var(--s4);align-items:start}
.review-media,.review-transcript{min-width:0}
.review-upload-context{font-size:13px;color:var(--muted);margin:0 0 var(--s1)}
.review-label{font-size:12px;color:var(--muted);margin-bottom:var(--s1)}
.review-media>select{width:100%;font:inherit;font-size:14px;background:var(--void);border:1px solid var(--line);border-radius:var(--r-control);padding:12px;margin-bottom:var(--s1);color:var(--ink)}
.review-screen{position:relative;aspect-ratio:16/9;background:#151517;border-radius:var(--r-screen);overflow:hidden;box-shadow:var(--shadow-object)}
.review-screen video{width:100%;height:100%;display:block;object-fit:contain}
.review-screen-message{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--s4);text-align:center;background:#18181b;color:#fff;gap:var(--s0)}
.review-screen-message strong{font-size:20px;font-weight:500}.review-screen-message p{font-size:14px;color:#bfbfc4;max-width:34ch}
.review-playback{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:var(--s2)}
.review-main-play{min-width:145px}.review-playback label{margin-left:auto;font-size:12px;color:var(--muted)}
.review-playback select{font:inherit;font-size:13px;border:0;background:var(--panel);border-radius:8px;padding:10px;color:var(--ink)}
.review-timeline{display:flex;align-items:center;gap:var(--s1);margin-top:var(--s2)}
.review-timeline input{flex:1;min-width:0;accent-color:var(--ink);cursor:pointer}
.review-timeline span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.review-speaking{font-size:13px;color:var(--muted);padding:var(--s1) 0}
.review-record{margin-top:var(--s3);padding-top:var(--s2);border-top:1px solid var(--hairline);font-size:12px;color:var(--muted)}
.review-record summary{cursor:pointer;font-size:13px;color:var(--ink)}.review-record p{margin-top:10px;overflow-wrap:anywhere}
/* The transcript is the instrument the lawyer works — it keeps its enclosure. */
.review-transcript{border:1px solid var(--hairline);border-radius:var(--r-object);overflow:hidden;padding:var(--s3);background:var(--void);box-shadow:var(--shadow-object)}
.review-transcript h3{font-size:20px;font-weight:600;letter-spacing:-.025em}
.review-hint{font-size:13px;color:var(--muted);line-height:1.6;margin:6px 0 var(--s2)}.review-hint:empty{display:none}
.review-filters{display:flex;flex-wrap:wrap;gap:var(--s1);align-items:center;margin-top:var(--s2)}
.review-filters input[type=search]{width:100%;font:inherit;font-size:14px;color:var(--ink);background:var(--panel);border:1px solid transparent;border-radius:var(--r-control);padding:12px;transition:border-color .2s var(--ease)}
.review-filters input[type=search]:focus{border-color:var(--line)}
.review-filters select{font:inherit;font-size:12px;background:var(--void);border:1px solid var(--line);padding:8px;border-radius:8px;max-width:60%}
.review-follow{font-size:11px;display:flex;align-items:center;gap:5px;margin-left:auto;accent-color:var(--ink)}
.review-notice{font-size:13px;color:var(--muted);margin:var(--s2) 0;line-height:1.6}.review-notice:empty{display:none}
.review-cues{max-height:480px;overflow-y:auto;overscroll-behavior:contain;margin-top:var(--s1);scrollbar-width:thin}
.review-cue{display:grid;grid-template-columns:44px minmax(0,1fr);width:100%;gap:4px 12px;padding:var(--s2) 10px;text-align:left;background:transparent;border:0;border-top:1px solid var(--hairline);font:inherit;font-size:14px;color:var(--ink);cursor:pointer;border-radius:4px}
.review-cue strong{font-size:12px;font-weight:600}
.review-time{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;line-height:1.8}
.review-words{grid-column:2;line-height:1.7;overflow-wrap:anywhere}
.review-cue:hover,.review-cue.is-speaking{background:var(--wash)}
.review-cue:not(button){cursor:text}.review-cue:not(button):hover{background:transparent}
.review-cue.is-speaking{box-shadow:inset 3px 0 0 var(--ink)}
.review-transcript>.btn{margin-top:var(--s2);width:100%}
dialog{margin:auto;width:min(680px,calc(100% - 32px));max-height:82vh;border:1px solid var(--hairline);border-radius:24px;padding:var(--s4);color:var(--ink);font:inherit;background:var(--void);box-shadow:0 24px 80px #0003}
dialog::backdrop{background:#0006;backdrop-filter:blur(4px)}
.exports-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--s2)}.exports-heading h2{font-size:28px;letter-spacing:-.035em}.exports-heading .portal-eyebrow{margin-bottom:6px}
.export-documents{display:grid;grid-template-columns:1fr 1fr;gap:var(--s1);margin-top:var(--s3)}
.export-documents a{display:flex;flex-direction:column;border:1px solid var(--hairline);border-radius:12px;padding:var(--s2);margin:0;font-size:14px;word-break:normal;gap:6px;transition:background .2s var(--ease)}
.export-documents a:hover{background:var(--panel);text-decoration:none}.export-documents small{font-size:11px;color:var(--muted)}
.export-supporting{grid-column:1/-1;margin-top:var(--s2);border-top:1px solid var(--hairline);padding-top:var(--s2)}
.export-supporting summary{font-size:13px;cursor:pointer;margin-bottom:var(--s1)}
.export-supporting a{border:0;border-radius:0;border-bottom:1px solid var(--hairline);padding:12px 0}
footer{border-top:1px solid var(--hairline);padding-top:var(--s3);margin-top:var(--s6);font-size:12px;color:var(--muted)}
[hidden]{display:none!important}
@media(max-width:800px){body{padding:var(--s2)}header{margin-bottom:var(--s4);padding:8px 12px;top:8px}.portal-nav{gap:0}.portal-nav button{padding:8px 10px;font-size:12px}.review-grid{grid-template-columns:minmax(0,1fr);gap:var(--s3)}.review-heading{align-items:flex-start;gap:var(--s1)}.review-heading .btn{padding:10px 14px;font-size:12px}.review-heading h2{font-size:24px}.review-recording-bar{gap:var(--s0)}.review-recording-bar label{display:none}.review-cues{max-height:440px}.matter-list-heading{display:block}#acctWho{display:block;margin-top:6px}.export-documents{grid-template-columns:1fr}dialog{padding:var(--s3)}.review-playback .btn{padding:12px 14px;font-size:12px}.review-main-play{min-width:125px}.btn{padding:12px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;transform:none!important}}

.review-speaker{font:inherit;font-size:12px;font-weight:600;text-align:left;color:var(--ink)}button.review-speaker{padding:0;border:0;background:none;justify-self:start;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px;cursor:pointer}button.review-words{font:inherit;font-size:14px;text-align:left;border:0;background:none;color:var(--ink);padding:0;cursor:pointer}#reviewSpeakerName{display:block;width:100%;box-sizing:border-box;padding:12px;margin:8px 0 16px;font:inherit;border:1px solid var(--line);border-radius:8px}.review-name-actions{display:flex;justify-content:flex-end;gap:12px}

.review-word-check{grid-column:2;color:var(--muted);font-size:11px}
button.review-time{font:inherit;font-size:11px;line-height:1.8;font-variant-numeric:tabular-nums;color:var(--muted);border:0;background:transparent;padding:0;text-align:left;align-self:start;cursor:pointer}button.review-time:hover{text-decoration:underline}

.review-current{background:var(--panel);border-radius:12px;padding:14px 16px;margin:var(--s2) 0;max-height:180px;overflow-y:auto}.review-current-label{font-size:12px;font-weight:600;margin-bottom:6px;font-variant-numeric:tabular-nums}.review-current-words{font-size:15px;line-height:1.6;overflow-wrap:anywhere}.review-transcript.has-passages .review-cues{height:360px;max-height:360px}.review-return-current{font-size:12px}.review-cue.is-speaking .review-time{color:var(--ink);font-weight:600}
.review-mention-topics{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--s2)}.review-mention-label{width:100%;font-size:12px;color:var(--muted);margin-bottom:2px}.review-mention-topics button{font:inherit;font-size:11px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--void);color:var(--ink);cursor:pointer}.review-mention-topics button[aria-pressed=true]{background:var(--ink);color:var(--on-ink)}
.review-marks{margin-top:var(--s3)}.review-marks h3{font-size:16px;font-weight:600}.review-mark-list{max-height:260px;overflow:auto}.review-mark{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--hairline);padding:12px 0}.review-mark-jump{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px;text-align:left;font:inherit;color:var(--ink);background:transparent;border:0;cursor:pointer}.review-mark-jump strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}.review-mark-jump span{font-size:12px;color:var(--muted)}.review-mark-remove{font:inherit;font-size:12px;border:0;background:transparent;color:var(--muted);cursor:pointer;padding:8px}#reviewMomentLabel{display:block;width:100%;box-sizing:border-box;padding:12px;margin:8px 0 16px;font:inherit;border:1px solid var(--line);border-radius:8px}
/* Findings read as a document, not a crate of boxes: open sections, hairline rules. */
.review-synopsis{margin:0 0 var(--s4);padding:var(--s3) 0 0;border:0;border-top:1px solid var(--hairline);border-radius:0}
.review-analysis-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px}.review-analysis-heading h3,.review-issues>h3{font-size:21px;letter-spacing:-.025em;font-weight:600}.review-analysis-scope{font-size:12px;color:var(--muted)}
.review-synopsis-item{margin-top:var(--s2);font-size:15px;line-height:1.65;overflow-wrap:anywhere;max-width:74ch}
.review-citation-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.review-citation-time{font:inherit;font-size:12px;font-variant-numeric:tabular-nums;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);padding:5px 9px;cursor:pointer;white-space:nowrap;transition:background .15s var(--ease)}.review-citation-time:hover{background:var(--hover)}
.review-analysis-context{font-size:12px;margin-top:var(--s1);color:var(--muted)}.review-analysis-context>summary{cursor:pointer}
.review-analysis-citation blockquote{margin:8px 0 0;border-left:2px solid var(--line);padding-left:12px;font-size:14px;line-height:1.65;color:var(--ink);overflow-wrap:anywhere}.review-analysis-context>.review-analysis-citation{margin-top:12px}
.review-analysis-more{margin-top:var(--s2);font-size:13px}.review-analysis-more>summary{cursor:pointer;color:var(--muted)}
.review-issues{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--hairline)}
.review-issue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3);margin-top:var(--s3)}
.review-issue-card{min-width:0;border:1px solid var(--hairline);border-radius:var(--r-object);padding:var(--s3);background:var(--void)}
.review-issue-category{font-size:11px;color:var(--muted);margin-bottom:8px;letter-spacing:.08em;text-transform:uppercase}
.review-issue-card h4{font-size:18px;font-weight:600;line-height:1.4;letter-spacing:-.02em;overflow-wrap:anywhere}
.review-issue-reason{font-size:14px;line-height:1.65;margin:12px 0 16px;overflow-wrap:anywhere}
.review-issue-passages>.review-analysis-citation+.review-analysis-citation{margin-top:16px}
.review-issue-unknowns{font-size:13px;color:var(--muted);margin-top:var(--s2)}.review-issue-unknowns strong{font-weight:600}.review-issue-unknowns ul{padding-left:18px;margin-top:6px}.review-issue-unknowns li{margin-top:4px;overflow-wrap:anywhere}
.review-issue-card>.btn{margin-top:var(--s2);font-size:12px}.review-analysis-status{margin-top:var(--s3)}
@media(max-width:800px){.review-synopsis{padding:var(--s2) 0 0}.review-issue-grid{grid-template-columns:minmax(0,1fr)}.review-issue-card{padding:var(--s2)}}
.review-issue-jump{margin-left:auto;font-size:12px;padding:8px 12px}
.review-clip-editor{margin-top:var(--s3);padding:var(--s3);border:1px solid var(--hairline);border-radius:var(--r-object)}.review-clip-editor h3,.review-clips h3{font-size:16px;font-weight:600}.review-clip-editor label{display:block;font-size:12px;margin-bottom:6px}.review-clip-editor input{font:inherit;font-size:14px;box-sizing:border-box;width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;margin-bottom:10px}.review-clip-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}.review-clip-range .btn,.review-clip-actions .btn{font-size:12px;padding:9px 12px}.review-clip-actions{display:flex;flex-wrap:wrap;gap:8px}.review-clips{margin-top:var(--s3)}.review-clip-row{padding:16px 0;border-bottom:1px solid var(--hairline)}.review-clip-jump{font:inherit;font-size:14px;font-weight:500;background:transparent;border:0;padding:0;color:var(--ink);text-align:left;cursor:pointer;overflow-wrap:anywhere}.review-clip-disclosure{font-size:12px;color:var(--muted);margin:8px 0 12px}.review-clip-row>.btn{display:inline-block;font-size:12px;padding:9px 12px}.review-clip-row .review-analysis-context>a{display:block;margin-top:10px;font-size:12px}.review-clip-row .review-hint{margin-bottom:6px}
.review-clip-row a{color:var(--ink)}

.review-visual{margin-top:var(--s2);padding-top:var(--s2);border-top:1px solid var(--hairline)}.review-visual>summary{font-size:13px;color:var(--muted);cursor:pointer}.review-visual-coverage,.review-acoustic-coverage{font-size:12px;color:var(--muted);margin:12px 0 16px;line-height:1.6}.review-visual-moments{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.review-visual-moment{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px}.review-visual-moment p{font-size:14px;line-height:1.6;overflow-wrap:anywhere}.review-visual-time{font:inherit;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--ink);padding:5px 8px;cursor:pointer;white-space:nowrap}.review-visual-time:hover{background:var(--hover)}.review-visual-more{margin-top:16px;font-size:13px}.review-visual-more>summary{cursor:pointer;color:var(--muted)}.review-visual-more[open]>.review-visual-moments{margin-top:16px}

/* Story: the recording's own draft narrative. Beats read as prose with a
   playable clock in the margin; the corroboration label stays a quiet chip,
   never a verdict. An audio-only beat has no picture behind it — say so with
   a calm inset, not an alarm colour. */
.review-narrative{margin-top:var(--s2);padding-top:var(--s2);border-top:1px solid var(--hairline)}.review-narrative>h3{font-size:14px;font-weight:600;letter-spacing:-.01em;margin:0 0 var(--s0)}.review-narrative-hint{font-size:12px;color:var(--muted);margin:0 0 var(--s2);line-height:1.6}.review-narrative-beats{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-1)}.review-narrative-beat{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:var(--s1);padding:var(--s1) 0;border-top:1px solid var(--hairline)}.review-narrative-beat:first-child{border-top:0;padding-top:0}.review-narrative-beat>.review-visual-time{justify-self:start}.review-narrative-body p{font-size:14px;line-height:1.65;margin:0;overflow-wrap:anywhere}.review-narrative-corroboration{display:inline-block;margin-top:var(--s0);font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:3px 8px;white-space:nowrap}
.review-narrative-beat.is-audio-only{background:var(--wash);border-radius:var(--r-control);border-top-color:transparent;padding:var(--s1)}.review-narrative-beat.is-audio-only+.review-narrative-beat{border-top-color:transparent}.review-narrative-beat.is-audio-only .review-narrative-corroboration{background:var(--void)}
.review-narrative-questions{margin-top:var(--s2);font-size:13px}.review-narrative-questions>summary{cursor:pointer;color:var(--muted)}.review-narrative-questions p{font-size:13px;line-height:1.6;color:var(--muted);margin:var(--s0) 0 0}

.review-acoustic{margin-top:var(--s2);padding-top:var(--s2);border-top:1px solid var(--hairline)}.review-acoustic>summary{font-size:13px;color:var(--muted);cursor:pointer}.review-acoustic-moments{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:0 0 12px}.review-acoustic-moment{display:flex;flex-wrap:wrap;align-items:center;gap:8px}

.portal-update{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:var(--panel);border:0;border-radius:var(--r-control);padding:var(--s2) var(--s3);margin:0 0 var(--s3);font-size:14px}
.review-progress{padding:var(--s2) var(--s3);border:0;border-radius:var(--r-control);background:var(--panel);margin-bottom:var(--s3)}.review-progress>strong{font-size:16px;font-weight:600}.review-progress>.review-hint{margin:6px 0 14px}.review-progress>.btn{font-size:12px;padding:8px 12px;margin:0 8px 0 0}
.review-gallery{margin:0 0 var(--s3)}.review-gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.review-gallery-heading h3{font-size:18px;font-weight:600;letter-spacing:-.02em}.review-gallery-heading .btn{padding:8px 12px;font-size:12px}.review-gallery-hint{font-size:12px;color:var(--muted);margin:8px 0 14px}
.review-gallery-grid{--gallery-columns:4;display:grid;grid-template-columns:repeat(var(--gallery-columns),minmax(0,1fr));gap:var(--s2)}
.review-gallery-grid.is-expanded{max-height:430px;overflow-y:auto;overscroll-behavior:contain;padding:3px;scrollbar-width:thin}
.review-recording-card{min-width:0;border:1px solid var(--hairline);border-radius:14px;overflow:hidden;background:var(--void);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.review-recording-card:hover{box-shadow:var(--shadow-object);transform:translateY(-2px)}
.review-recording-card.is-selected{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.review-card-frame{position:relative;aspect-ratio:16/9;background:var(--panel);cursor:pointer;overflow:hidden}.review-card-frame video,.review-card-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;background:#18181b}.review-card-placeholder{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;padding:12px;text-align:center;color:var(--muted);font-size:12px}.review-card-body{padding:12px 14px}.review-card-open{border:0;padding:0;background:none;color:var(--ink);font:inherit;font-size:14px;font-weight:600;cursor:pointer;text-align:left}.review-card-selected{float:right;font-size:10px;color:var(--muted);padding-top:3px}.review-card-context,.review-card-date,.review-card-filename{font-size:11px;color:var(--muted);margin:5px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-card-preview{font:inherit;font-size:11px;border:1px solid var(--line);background:var(--void);color:var(--ink);border-radius:999px;padding:5px 10px;margin-top:9px;cursor:pointer}
@media(min-width:1600px){.review-gallery-grid{--gallery-columns:5}}
@media(max-width:1099px){.review-gallery-grid{--gallery-columns:2}}
@media(max-width:479px){.review-gallery-grid{--gallery-columns:1}.review-gallery-grid.is-expanded{max-height:390px}}
@media(prefers-reduced-motion:reduce),(hover:none){.review-gallery-hint{font-size:0}.review-gallery-hint::after{content:'Choose Preview for a short muted preview. Open a recording to review it.';font-size:12px}}

.review-card-refs,.review-refs{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0}
.review-card-refs:empty,.review-refs:empty{display:none}
.review-ref{font-size:11px;line-height:1.2;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--void);color:var(--ink);white-space:nowrap}
.review-ref.is-confirmed{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}
.review-ref.is-provisional{background:var(--void);color:var(--ink);border-color:var(--ink)}
.review-ref.is-unresolved{background:var(--void);color:var(--muted);border-style:dashed}
.review-record-note{margin-top:10px}

.review-events{margin:0 0 var(--s4);padding-top:var(--s3);border-top:1px solid var(--hairline)}
.review-events>h3{font-size:21px;font-weight:600;letter-spacing:-.025em}
.review-event-card{border:1px solid var(--hairline);border-radius:var(--r-object);padding:var(--s3);margin-top:var(--s2);background:var(--void)}
.review-event-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.review-event-name{font-size:16px;font-weight:600;margin:0}
.review-event-meta{font-size:12px;color:var(--muted);margin:12px 0 4px}
.review-event-recordings,.review-event-unknowns{margin:4px 0 0;padding-left:18px;font-size:13px}
.review-event-recordings li,.review-event-unknowns li{margin:4px 0}
.review-event-source{font-weight:500}
.review-event-sync{display:block;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.review-event-cites{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}
.review-event-cite-label{font-size:12px;color:var(--muted)}
.review-event-cite{font:inherit;font-size:12px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--void);color:var(--ink);cursor:pointer;transition:background .15s var(--ease)}
.review-event-cite:hover{background:var(--panel)}
.review-event-cite.is-counter{border-style:dashed;color:var(--muted)}
.review-event-model{font-size:11px;color:var(--muted);margin-top:12px}
/* The overview is the first thing a lawyer reads — set it like an opening page, not a box. */
.review-overview{border:0;border-radius:0;padding:0 0 var(--s3);margin:0 0 var(--s4);background:transparent;border-bottom:1px solid var(--hairline)}
.review-overview[hidden]{display:none}
.review-overview-head{display:flex;align-items:center;gap:12px;margin-bottom:var(--s1)}
.review-overview-text{font-size:17px;line-height:1.65;color:var(--ink);margin:0 0 var(--s2);max-width:70ch;letter-spacing:-.011em}
.review-overview-cites{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:var(--s0)}


/* ——— release-line components and tab-IA layout (kept verbatim; these intentionally win the cascade where they restyle base selectors) ——— */
/* Object boxes: thin class-coloured outlines with a hairline dark halo for
   contrast on bright scenes; small mono class labels (never an identity).
   person = near-white, vehicle = cool grey, firearm lead = the weapon red
   the command center and quick look use. */
.review-spatial-layer{position:absolute;z-index:2;pointer-events:none;overflow:visible}.review-track-box{--track-color:#F4F4F6;position:absolute;box-sizing:border-box;border:1.5px solid var(--track-color);border-radius:1px;box-shadow:0 0 0 1px rgba(0,0,0,.5)}.review-track-box.is-vehicle{--track-color:#AEB6BF}.review-track-box.is-firearm{--track-color:#FF3B30;border-width:2px;box-shadow:0 0 0 1px rgba(0,0,0,.6),0 0 0 3px rgba(255,59,48,.28)}.review-track-box.is-low-confidence{border-style:dashed}.review-track-box.is-firearm.is-low-confidence{border-width:1.5px;box-shadow:0 0 0 1px rgba(0,0,0,.5)}.review-track-box.is-firearm.is-lead{border-style:solid}.review-track-box.is-firearm.is-lead>span{max-width:max(100%,215px)}.review-track-box.is-bridged{border-style:dotted;opacity:.72}.review-track-box.is-bridged>span{font-style:italic}.review-track-box.has-assessment{--track-color:#FF3B30;border-width:2px;box-shadow:0 0 0 1px rgba(0,0,0,.6),0 0 0 3px rgba(255,59,48,.28)}.review-track-box.has-assessment>span{background:rgba(0,0,0,.9);color:#FF3B30}.review-track-box>span{position:absolute;left:-1.5px;top:-17px;max-width:max(100%,170px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:1px 5px;border-radius:2px 2px 0 0;background:#0a0a0c;color:var(--track-color);font:500 10px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.02em}.review-track-box.is-top>span{top:0;border-radius:0 0 2px 0}.review-track-box.is-right>span{left:auto;right:-1.5px}
/* Full screen carries the overlay: the screen container (video + box layers)
   goes full screen, never the bare video. */
.review-screen:fullscreen{aspect-ratio:auto!important;width:100%!important;height:100%!important;max-height:none!important;border-radius:0!important;background:#000!important;box-shadow:none!important}
.review-screen:-webkit-full-screen{aspect-ratio:auto!important;width:100%!important;height:100%!important;max-height:none!important;border-radius:0!important;background:#000!important}
.review-screen:fullscreen::after{display:none}.review-screen:fullscreen video,.review-screen:-webkit-full-screen video{width:100%;height:100%;object-fit:contain}.review-spatial-toggle[aria-pressed=true],.review-weapons-toggle[aria-pressed=true],.review-candidate-toggle[aria-pressed=true]{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.review-spatial-toggle.is-unavailable,.review-spatial-toggle.is-unavailable[aria-pressed=true]{background:transparent;color:var(--muted);border-style:dashed;border-color:var(--line);cursor:default}
.review-caption-toggle{min-height:44px}.review-caption-toggle[aria-pressed=true]{background:var(--ink);color:var(--on-ink)}.review-caption-toggle:disabled{color:var(--muted);cursor:default}.review-caption-hint{font-size:12px;color:var(--muted);margin:8px 0 0}.review-screen video::cue{font-family:Inter,Arial,sans-serif;font-size:clamp(14px,1.6vw,22px);background:rgba(0,0,0,.82);color:#fff}
.review-version-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.review-version-bar .review-label{margin:0}.review-redaction-button{font-size:12px;flex-shrink:0;min-height:44px}.review-redaction-dialog{width:min(920px,calc(100% - 32px));max-height:90vh}.review-redaction-dialog h2{font-size:24px;line-height:1.3;margin:0 0 8px}.review-redaction-dialog video{display:block;width:100%;max-height:55vh;background:#151515;border-radius:12px;margin:16px 0}.review-redaction-dialog video[hidden]{display:none}.review-redaction-status{font-size:14px;line-height:1.5}.review-redaction-dialog>.btn{margin-top:12px}@media(max-width:480px){.review-version-bar{align-items:flex-start;flex-wrap:wrap}.review-redaction-dialog{padding:20px}.review-redaction-dialog h2{font-size:20px}}
.review-force-context{grid-column:2;justify-self:start;max-width:100%;white-space:normal;font-size:12px;padding:8px 12px}
.review-unassigned{font-size:12px;padding:8px 12px;justify-self:start}.review-unassigned[aria-pressed=true]{background:var(--ink);color:var(--on-ink)}
.review-name-dialog{box-sizing:border-box;width:min(640px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--void);color:var(--ink)}
.review-name-dialog::backdrop{background:rgba(0,0,0,.55)}.review-name-dialog h2{font-size:24px;margin:0 0 8px}.review-name-dialog .review-hint{line-height:1.5;margin:8px 0 12px}
.review-name-samples{margin:16px 0 24px}.review-name-samples label{font-size:13px;font-weight:600}.review-name-samples select{display:block;box-sizing:border-box;width:100%;font:inherit;font-size:14px;padding:10px;margin:8px 0 12px;border:1px solid var(--line);border-radius:8px;background:var(--void);color:var(--ink)}
.review-name-samples video{display:block;width:100%;max-height:220px;aspect-ratio:16/9;background:#18181b;border-radius:8px;object-fit:contain}.review-name-samples blockquote{margin:12px 0;padding:0 0 0 12px;border-left:2px solid var(--line);font-size:14px;line-height:1.6;max-height:100px;overflow:auto;overflow-wrap:anywhere}
.review-name-sample-controls{display:flex;gap:8px;flex-wrap:wrap}.review-name-sample-controls .btn{font-size:12px;padding:10px 12px}.review-name-dialog .review-name-actions{flex-wrap:wrap}
@media(max-width:650px){.review-name-dialog{padding:16px}.review-name-samples video{max-height:160px}}
.review-visual-disclosure{display:block;color:var(--muted);font-size:11px;margin-top:8px}
.review-visual-cues{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.review-visual-cue{font-size:11px;font-weight:600;letter-spacing:.02em;padding:3px 8px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--ink);white-space:nowrap}.review-visual-cues .review-visual-disclosure{display:inline;margin-top:0}
.review-visual-audio{margin:10px 0 0;padding:10px 12px;border-left:2px solid var(--line);font-size:12px;line-height:1.55;color:var(--ink)}
.review-visual-moment>.review-visual-time{justify-self:start}.review-visual-moment>.review-visual-disclosure{grid-column:1/-1}.review-visual-moment>.review-visual-audio{grid-column:2}.review-visual-repeat-sample{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}.review-visual-repeat-sample .review-visual-audio{margin-top:0}
.review-summary-state{font-size:12px;padding:4px 10px;border:1px dashed var(--muted);border-radius:6px;color:var(--ink)}
.review-summary-guidance{font-size:14px;line-height:1.6;max-width:76ch;margin:12px 0;color:var(--ink)}
.review-summary-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.review-summary-actions .btn{font-size:13px;padding:10px 16px}
.review-browse-scope{font-size:12px;color:var(--muted);line-height:1.6;margin:8px 0}
.review-synopsis .review-analysis-status{margin:8px 0;font-size:12px;color:var(--muted)}
.review-transcript{scroll-margin-top:24px}
@media(min-width:1100px){.review-transcript{position:sticky;top:24px}.review-grid{grid-template-columns:minmax(0,1.6fr) minmax(360px,1fr)}}
.review-overview{margin:0 0 28px;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--void)}.review-overview>h3{font-size:20px;font-weight:600;letter-spacing:-.025em}.review-overview>.review-hint{margin-top:8px}.review-overview>.review-notice{margin:12px 0}.review-overview-folders,.review-overview-groups{margin:14px 0;font-size:14px}.review-overview-folders>summary,.review-overview-groups>summary{cursor:pointer;font-weight:500}.review-overview-folders>.review-hint{margin:10px 0}.review-overview-folder{margin:14px 0;padding:12px 0;border-top:1px solid var(--line)}.review-overview-folder h4{font-size:14px;font-weight:600;overflow-wrap:anywhere}.review-overview-folder>.review-hint{margin-top:8px}.review-overview-open{display:block;max-width:100%;font:inherit;font-size:13px;border:0;background:none;padding:8px 0;text-align:left;color:var(--ink);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;cursor:pointer}.review-overview-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}.review-overview-cards:empty{display:none}.review-overview-card{min-width:0;padding:20px;background:var(--panel);border-radius:12px}.review-overview-card h4{font-size:16px;font-weight:600}.review-overview-source{font-size:12px;color:var(--muted);overflow-wrap:anywhere;margin:6px 0 10px}.review-overview-card>.review-hint{font-size:12px}.review-overview-extra{margin-top:12px;font-size:13px}.review-overview-extra>summary{cursor:pointer;font-weight:500}.review-overview>.btn{font-size:13px;padding:10px 16px}@media(max-width:800px){.review-overview{padding:16px}.review-overview-cards{grid-template-columns:minmax(0,1fr)}.review-overview-card{padding:16px}}
.review-mode.review-draft #uploadPanel{display:block}.review-draft #dropzone,.review-draft #folderBtn,.review-draft #uploadBtn{display:none}
/* a request whose start was not confirmed: one step (resume it); the competing starts and the classic review wait */
.review-resume #startReview,.review-resume #startRedactLink,.review-resume #matterReview,.review-resume #matterAccount,.review-resume #workspaceBar{display:none!important}
/* Keep the recording and its words central; secondary tools remain discoverable. */
.review-cross-dialog{width:min(1180px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line-solid);border-radius:14px;padding:24px;color:var(--ink);background:var(--void)}
.review-cross-dialog::backdrop{background:rgba(0,0,0,.55)}
.review-cross-dialog h2{margin:0 0 12px}.review-cross-dialog select{max-width:100%;display:block;margin:12px 0;padding:10px;border:1px solid var(--line-solid);border-radius:8px;font:inherit}
.review-cross-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin:16px 0}.review-cross-grid section{min-width:0}.review-cross-grid h3{font-size:14px;overflow-wrap:anywhere;margin:8px 0}.review-cross-grid video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#111;border-radius:8px}.review-cross-time{font-size:13px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:10px 0}.review-cross-grid [aria-pressed=true]{background:var(--ink);color:var(--on-ink)}
.review-cross-dialog input[type=range]{width:100%;margin:12px 0}.review-cross-dialog>.btn{margin:8px 8px 8px 0}.review-cross-dialog .review-hint{line-height:1.5}
.review-manual-label{display:block;font-size:13px;color:var(--muted)}.review-manual-label select{width:100%;margin:6px 0 12px}.review-manual-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.review-manual-comparison video{margin-bottom:10px}.review-manual-comparison [hidden]{display:none!important}
@media(max-width:650px){.review-cross-dialog{padding:16px}.review-cross-grid{grid-template-columns:minmax(0,1fr);gap:12px}.review-cross-dialog h2{font-size:22px}}
.review-all-angles{width:min(1280px,calc(100vw - 48px))}.review-angles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin:16px 0}.review-angles-grid section{min-width:0}.review-angles-grid h3{font-size:13px;overflow-wrap:anywhere;margin:8px 0}.review-angles-grid video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#111;border-radius:8px}.review-angles-grid [aria-pressed=true]{background:var(--ink);color:var(--on-ink)}
@media(max-width:650px){.review-angles-grid{grid-template-columns:minmax(0,1fr);gap:12px}}

.review-mode header{margin-bottom:24px;box-shadow:none;border-radius:12px}
.review-heading{margin-bottom:18px;gap:16px}
.review-heading h2{font-size:clamp(22px,2.6vw,30px);max-width:52ch;overflow-wrap:anywhere}
.review-workspace-nav{display:flex;gap:8px;flex-wrap:wrap;position:sticky;top:0;z-index:5;background:var(--void);border-bottom:1px solid var(--line);padding:10px 0;margin:0 0 20px}
.review-workspace-nav button,.review-workspace-nav a{font:inherit;font-size:14px;color:var(--ink);background:var(--void);border:1px solid var(--line);border-radius:8px;padding:10px 14px;cursor:pointer;text-decoration:none}
.review-workspace-nav button:hover,.review-workspace-nav a:hover{background:var(--panel)}
.review-workspace-nav [aria-current=true],.review-workspace-nav [aria-selected=true]{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}
.review-progress{padding:12px 16px;margin-bottom:16px;border-radius:10px}
.review-progress>.review-hint{margin:4px 0 8px}
.review-recording-bar{padding:8px 12px;margin-bottom:12px;border-radius:8px}
.review-grid,.review-overview,.review-gallery,.review-marks,.review-synopsis,.review-recording-bar{scroll-margin-top:86px}
.review-playback{gap:8px}
.review-playback .btn{border-radius:8px;padding:10px 14px;min-height:44px}
.review-transcript{border-radius:12px;padding:18px}
.review-overview{padding:18px;border-radius:12px;margin-top:24px}
.review-overview-card{padding:16px}
.review-gallery{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
@media(min-width:1100px){.review-transcript{top:76px}.review-grid{gap:20px}}
@media(max-width:600px){.review-workspace-nav{gap:6px;padding:8px 0}.review-workspace-nav button,.review-workspace-nav a{font-size:12px;padding:10px}.review-heading h2{font-size:22px}.review-transcript{padding:14px}.review-playback .btn{flex:1 1 auto}}
.review-packet-actions{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.review-packet-dialog{width:min(940px,calc(100vw - 32px));max-height:88vh;overflow:auto;border:1px solid var(--line-solid);border-radius:16px;padding:24px;color:var(--ink);background:var(--void)}
.review-packet-dialog::backdrop{background:rgba(0,0,0,.45)}
.review-packet-recording{border-top:1px solid var(--line-solid);padding:24px 0;overflow-wrap:anywhere}
.review-packet-recording details{margin-top:16px}
.review-packet-recording summary{cursor:pointer;font-weight:600}
.review-packet-recording p,.review-packet-recording li{line-height:1.6}
.review-analysis-lead{border:1px solid var(--line,var(--line-solid));border-radius:14px;padding:20px;margin:16px 0 24px;background:var(--panel,var(--panel))}
.review-analysis-lead .review-synopsis-item{padding:8px 0;border-top:1px solid var(--line,var(--line-solid))}
.review-findings{border:1px solid var(--line,var(--line-solid));border-radius:14px;padding:20px;margin:0 0 24px;background:var(--panel,var(--panel))}
.review-findings h3{font-size:16px;font-weight:600;letter-spacing:-.01em;margin:0 0 8px}
.review-findings .review-hint{margin:0 0 16px}
.review-findings .review-packet-actions{justify-content:flex-start}
.review-screen.is-audio{aspect-ratio:auto;min-height:190px}.review-screen.is-audio video{height:190px}.review-screen.is-audio .review-screen-message{pointer-events:none}
.review-documents{margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:14px}.review-document{padding:18px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.review-document h4{font-size:16px;margin-bottom:8px}.review-document p,.review-document li{font-size:14px;line-height:1.6;margin:10px 0}.review-document details{margin-top:12px}.review-document .btn{display:inline-block}

/* ————— polish pass: the review workspace as a quiet instrument —————
   Same tokens, same restraint, deeper craft. Mono numerals for every clock;
   one hairline vignette on the player; transitions on the 120–200ms --ease
   scale. Monochrome: firearm review cues are marked by a heavier ink rule and
   weight, never by an accent colour (owner rule: no amber). */
:root{
  --shadow-lift:0 1px 2px rgba(29,29,31,.05),0 14px 34px -16px rgba(29,29,31,.30);
  --ring:0 0 0 3px rgba(29,29,31,.12);
  --mono-clock:var(--mono,ui-monospace,SFMono-Regular,Menlo,monospace)
}

/* Player theater — the one dark surface, now with depth and separation. */
.review-screen{box-shadow:var(--shadow-lift)}
.review-screen::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:var(--r-screen);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),inset 0 0 0 1px rgba(255,255,255,.04),
    inset 0 -72px 96px -64px rgba(0,0,0,.72),inset 0 32px 56px -40px rgba(0,0,0,.38)}
.review-screen-message{z-index:2}
.review-playback{margin-top:var(--s2);padding-top:var(--s2);border-top:1px solid var(--hairline)}
.review-playback .btn{transition:transform .15s var(--ease),background .15s var(--ease),box-shadow .15s var(--ease),opacity .15s var(--ease)}
.review-playback .btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-object)}
.review-playback .btn:active:not(:disabled){transform:translateY(0);box-shadow:none}
.review-playback .btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px;box-shadow:var(--ring)}
.review-playback select{cursor:pointer;transition:background .15s var(--ease)}
.review-playback select:hover{background:var(--hover)}

/* Timeline — a real instrument control: hairline track that thickens on
   approach, a lifted thumb, and mono tabular clocks on both ends. */
.review-timeline input[type=range]{-webkit-appearance:none;appearance:none;flex:1;min-width:0;height:22px;padding:0;background:transparent;cursor:pointer}
.review-timeline input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:var(--rail);transition:height .15s var(--ease)}
.review-timeline input[type=range]:hover::-webkit-slider-runnable-track,
.review-timeline input[type=range]:focus-visible::-webkit-slider-runnable-track{height:6px}
.review-timeline input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-5px;border-radius:50%;background:var(--ink);border:2px solid var(--void);box-shadow:0 1px 3px rgba(29,29,31,.35);transition:transform .12s var(--ease)}
.review-timeline input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.15)}
.review-timeline input[type=range]:active::-webkit-slider-thumb{transform:scale(1.3)}
.review-timeline input[type=range]::-moz-range-track{height:4px;border-radius:999px;background:var(--rail)}
.review-timeline input[type=range]::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:var(--ink);border:2px solid var(--void);box-shadow:0 1px 3px rgba(29,29,31,.35);transition:transform .12s var(--ease)}
.review-timeline input[type=range]:hover::-moz-range-thumb{transform:scale(1.15)}
.review-timeline input[type=range]:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:999px}
.review-timeline span{font-family:var(--mono-clock);font-size:11px;letter-spacing:0}

/* Cue rows — crisper state changes, mono time chips, a quieter speaker pill. */
.review-cue{transition:background .15s var(--ease),box-shadow .15s var(--ease)}
.review-cue.is-speaking{background:var(--speaking-wash)}
.review-time,button.review-time{font-family:var(--mono-clock);font-size:10.5px;letter-spacing:0;padding-top:1px}
button.review-time{transition:color .15s var(--ease)}
button.review-time:hover{color:var(--ink);text-decoration:none}
.review-cue .review-speaker{font-size:11px;letter-spacing:.01em;align-self:center}
strong.review-speaker{background:var(--panel);border-radius:var(--r-pill);padding:2px 8px;justify-self:start}
button.review-speaker{transition:color .15s var(--ease)}
button.review-speaker:hover{color:#000}
.review-word-check{font-family:var(--mono-clock);font-size:10px;letter-spacing:.04em;text-transform:uppercase}

/* Citation and moment chips — the seek affordance, in mono with a lift. */
.review-citation-time,.review-visual-time{font-family:var(--mono-clock);font-size:11px;
  transition:background .15s var(--ease),border-color .15s var(--ease),transform .15s var(--ease),box-shadow .15s var(--ease)}
.review-citation-time:hover,.review-visual-time:hover{background:var(--void);border-color:var(--ink);transform:translateY(-1px);box-shadow:var(--shadow-object)}
.review-citation-time:active,.review-visual-time:active{transform:translateY(0);box-shadow:none}
.review-event-cite{transition:background .15s var(--ease),border-color .15s var(--ease),transform .15s var(--ease)}
.review-event-cite:hover{border-color:var(--ink);transform:translateY(-1px)}

/* Visual review cues — firearm cues carry a heavier ink rule, not a colour. */
.review-visual-cue{border-radius:6px;padding:4px 9px}
.review-visual-cue.is-firearm{border-left:2px solid var(--ink);padding-left:8px}

/* Gallery — darker frame, smoother lift, steadier poster box. */
.review-recording-card{transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease)}
.review-recording-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.review-recording-card.is-selected{box-shadow:0 0 0 1px var(--ink),var(--shadow-object)}
.review-card-frame{background:#18181b;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.review-card-preview{transition:background .15s var(--ease),border-color .15s var(--ease)}
.review-card-preview:hover{border-color:var(--ink);background:var(--panel)}
.review-card-open{transition:color .15s var(--ease)}
.review-card-open:hover{color:#000;text-decoration:underline;text-underline-offset:3px}

/* Transcript column — the instrument panel: soft top light, heading rhythm. */
.review-transcript{box-shadow:var(--shadow-object),inset 0 1px 0 var(--void)}
.review-transcript h3{letter-spacing:-.03em;margin-bottom:2px}
.review-marks h3,.review-clips h3,.review-gallery-heading h3,.review-events>h3,.review-issues>h3{letter-spacing:-.025em}
.review-current{transition:background .15s var(--ease)}
.review-current-label{font-family:var(--mono-clock);font-size:11px;font-weight:500}

/* Scrollbars — thin, quiet, revealed on hover only. */
.review-cues,.review-mark-list,.review-current,.review-gallery-grid.is-expanded,.review-chat-messages{scrollbar-width:thin;scrollbar-color:transparent transparent}
.review-cues:hover,.review-mark-list:hover,.review-current:hover,.review-gallery-grid.is-expanded:hover,.review-chat-messages:hover{scrollbar-color:var(--scroll-thumb-hover) transparent}
.review-cues::-webkit-scrollbar,.review-mark-list::-webkit-scrollbar,.review-current::-webkit-scrollbar,.review-gallery-grid.is-expanded::-webkit-scrollbar,.review-chat-messages::-webkit-scrollbar{width:8px;height:8px}
.review-cues::-webkit-scrollbar-thumb,.review-mark-list::-webkit-scrollbar-thumb,.review-current::-webkit-scrollbar-thumb,.review-gallery-grid.is-expanded::-webkit-scrollbar-thumb,.review-chat-messages::-webkit-scrollbar-thumb{background:transparent;border-radius:999px}
.review-cues:hover::-webkit-scrollbar-thumb,.review-mark-list:hover::-webkit-scrollbar-thumb,.review-current:hover::-webkit-scrollbar-thumb,.review-gallery-grid.is-expanded:hover::-webkit-scrollbar-thumb,.review-chat-messages:hover::-webkit-scrollbar-thumb{background:var(--scroll-thumb);background-clip:padding-box;border:2px solid transparent}
.review-cues::-webkit-scrollbar-track,.review-mark-list::-webkit-scrollbar-track,.review-current::-webkit-scrollbar-track,.review-gallery-grid.is-expanded::-webkit-scrollbar-track,.review-chat-messages::-webkit-scrollbar-track{background:transparent}

/* ————— Evidence chat dock —————
   Collapsed it is a single quiet bar; expanded, a conversation where every
   assistant claim carries a playable citation and the draft disclaimer. */
.review-chat{margin-top:var(--s3);border:1px solid var(--hairline);border-radius:var(--r-object);background:var(--void);box-shadow:var(--shadow-object);overflow:hidden}
.review-chat-bar{display:flex;align-items:center;gap:10px;width:100%;font:inherit;font-size:14px;font-weight:600;color:var(--ink);background:var(--panel);border:0;padding:14px 18px;cursor:pointer;text-align:left;transition:background .15s var(--ease)}
.review-chat-bar:hover{background:var(--hover)}
.review-chat-bar[aria-expanded=true]{background:transparent}
.review-chat-bar::after{content:"";margin-left:auto;width:8px;height:8px;flex:none;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg) translateY(-2px);transition:transform .18s var(--ease)}
.review-chat-bar[aria-expanded=true]::after{transform:rotate(225deg) translateY(-2px)}
.review-chat-bar:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.review-chat-panel{border-top:1px solid var(--hairline);padding:var(--s2)}
.review-chat-messages{display:flex;flex-direction:column;gap:12px;max-height:340px;overflow-y:auto;overscroll-behavior:contain;padding:4px 4px 8px}
.review-chat-empty{padding:2px 2px 6px}
.review-chat-hints{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.review-chat-hints button{font:inherit;font-size:12px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--void);color:var(--ink);padding:7px 12px;cursor:pointer;transition:border-color .15s var(--ease),background .15s var(--ease)}
.review-chat-hints button:hover{border-color:var(--ink);background:var(--panel)}
.review-chat-message{max-width:88%;border-radius:14px;padding:10px 14px;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.review-chat-message.is-user{align-self:flex-end;background:var(--ink);color:var(--on-ink);border-bottom-right-radius:4px;white-space:pre-wrap}
.review-chat-message.is-assistant{align-self:flex-start;background:var(--panel);border:1px solid var(--hairline);border-bottom-left-radius:4px}
.review-chat-answer{margin:0;white-space:pre-wrap}
.review-chat-message .review-citation-links{margin-top:10px}
.review-chat-disclaimer{font-size:11px;color:var(--muted);margin:10px 0 0;padding-top:8px;border-top:1px solid var(--hairline)}
.review-chat-message.is-pending{display:flex;align-items:center;gap:5px;padding:14px 16px}
.review-chat-message.is-pending span{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:review-chat-pulse 1.1s var(--ease) infinite}
.review-chat-message.is-pending span:nth-child(2){animation-delay:.15s}
.review-chat-message.is-pending span:nth-child(3){animation-delay:.3s}
@keyframes review-chat-pulse{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
.review-chat-composer{display:flex;align-items:flex-end;gap:10px;margin-top:12px}
.review-chat-composer textarea{flex:1;min-width:0;min-height:44px;max-height:160px;resize:vertical;font:inherit;font-size:14px;line-height:1.5;color:var(--ink);background:var(--panel);border:1px solid transparent;border-radius:var(--r-control);padding:10px 12px;transition:border-color .15s var(--ease),background .15s var(--ease)}
.review-chat-composer textarea:focus{outline:none;border-color:var(--ink);background:var(--void)}
.review-chat-composer textarea:disabled{opacity:.6}
.review-chat-composer .btn{flex:none;min-height:44px}
.review-chat .review-notice{margin:10px 2px 0}
@media(max-width:800px){.review-chat-message{max-width:100%}.review-chat-panel{padding:var(--s1)}}
@media(prefers-reduced-motion:reduce){.review-chat-message.is-pending span{animation:none;opacity:.6}}

/* ————— Fused review cues —————
   A box painted on the displayed picture and a banner over the player, both
   driven by the playhead and both carrying the same honest qualifier: these
   are leads for a human to verify against the source, never findings. The box
   sits on the letterboxed picture rect (see videoContentRect), not on the
   element box, so normalized coordinates land where the evidence actually is. */
.review-cue-layer{position:absolute;z-index:3;pointer-events:none;overflow:visible}
.review-cue-layer[hidden]{display:none}
.review-cue-box{position:absolute;box-sizing:border-box;border:3px solid #E0281E;border-radius:2px;
  box-shadow:0 0 0 1px #000000b3,0 0 16px 4px #e0281e73,inset 0 0 0 1px #00000073}
.review-cue-box-label{position:absolute;left:-3px;top:-27px;max-width:max(100%,190px);overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;padding:4px 8px;border-radius:5px 5px 0 0;background:#E0281E;color:#fff;
  font:700 12px/1.3 var(--mono-clock);letter-spacing:.07em;box-shadow:0 1px 3px #000000a6}
.review-cue-box.is-top>.review-cue-box-label{top:0;border-radius:0 0 5px 0}
.review-cue-box.is-right>.review-cue-box-label{left:auto;right:-3px}
.review-cue-alert{position:absolute;z-index:4;left:0;right:0;top:0;display:flex;flex-direction:column;align-items:center;gap:3px;
  padding:10px 16px 11px;text-align:center;pointer-events:none;color:#fff;
  background:linear-gradient(180deg,#b3120af2,#8c0d07e6);border-bottom:2px solid #E0281E;box-shadow:0 8px 20px #00000059;
  animation:review-cue-alert-pulse 1.8s ease-in-out infinite}
.review-cue-alert[hidden]{display:none}
.review-cue-alert:not(.is-firearm){background:linear-gradient(180deg,#2c2c2ef2,#1d1d1fe6);border-bottom-color:#F5F5F7}
.review-cue-alert-line{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:8px}
.review-cue-alert-mark{font-size:17px;line-height:1.1}
.review-cue-alert-names{font:700 clamp(15px,1.5vw,20px)/1.2 var(--mono-clock);letter-spacing:.09em;text-transform:uppercase}
.review-cue-alert-dot{opacity:.65}
.review-cue-alert-time{font:600 clamp(14px,1.3vw,18px)/1.2 var(--mono-clock);letter-spacing:.04em;font-variant-numeric:tabular-nums}
.review-cue-alert-note{font-size:11.5px;letter-spacing:.02em;color:#ffffffdb}
@keyframes review-cue-alert-pulse{0%,100%{box-shadow:0 8px 20px #00000059}50%{box-shadow:0 8px 28px #e0281e73}}
@media(prefers-reduced-motion:reduce){.review-cue-alert{animation:none}}
@media(max-width:560px){.review-cue-alert{padding:8px 12px 9px}.review-cue-alert-note{font-size:11px}}

/* The recap list: a cued moment is what the reviewer came for, so it reads
   first — larger chips, a raised card, and the rest of the list left as it was. */
.review-visual-cues .review-visual-cue{font-size:13px;font-weight:600;line-height:1.3;padding:7px 12px;border-radius:9px;letter-spacing:.005em}
.review-visual-cues .review-visual-cue.is-firearm{border-left:3px solid var(--ink);padding-left:11px;
  background:var(--flag-bg);border-color:var(--flag-line-strong);color:var(--flag-ink);font-weight:700}
.review-visual-cues{gap:10px;margin-top:10px}
.review-visual-moment.has-cues{padding:14px;border-radius:var(--r-object,12px);background:var(--flag-bg-soft);box-shadow:inset 0 0 0 1px var(--flag-line)}
.review-visual-moment.has-cues>p{font-weight:500}
.review-visual-moment.has-cues>.review-visual-time{background:var(--void);border-color:var(--flag-line-strong)}

/* ————— flagged-moments panel —————
   Every flagged moment in the matter as one collapsible list, directly under
   the sticky nav. Collapsed it states the counts; expanded it groups firearm
   cues, possible gunshots, camera-covered moments, and transcript issues.
   Firearm and gunshot rows carry the heavier ink rule already used by the recap
   chips; everything else stays neutral so the signal keeps meaning something.
   The qualifier is part of the component, not optional. */
.review-flagged{display:flex;flex-direction:column;gap:8px;margin:0 0 16px;padding:14px 16px;
  border:1px solid var(--flag-line);border-radius:var(--r-object,12px);background:var(--flag-bg-soft)}
.review-flagged-toggle{display:flex;align-items:baseline;gap:10px;width:100%;padding:0;margin:0;
  font:inherit;text-align:left;background:none;border:0;cursor:pointer}
.review-flagged-label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--flag-ink);white-space:nowrap}
.review-flagged-summary{font-size:13px;color:var(--muted,var(--muted));flex:1 1 auto;min-width:0}
.review-flagged-chevron{flex:0 0 auto;color:var(--muted,var(--muted))}
.review-flagged-chevron::before{content:'▸';display:inline-block;transition:transform 160ms var(--ease,ease)}
.review-flagged-toggle[aria-expanded="true"] .review-flagged-chevron::before{transform:rotate(90deg)}
.review-flagged-body{display:flex;flex-direction:column;gap:12px;padding-top:10px;border-top:1px solid var(--flag-line)}
.review-flagged-group{display:flex;flex-direction:column;gap:6px}
.review-flagged-group h4{margin:0;font-size:13px;font-weight:700;color:var(--ink)}
.review-flagged-item{display:flex;flex-direction:column;gap:2px;width:100%;font:inherit;text-align:left;
  background:var(--void);border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;
  transition:background 160ms var(--ease,ease),border-color 160ms var(--ease,ease)}
.review-flagged-item:hover{background:var(--panel)}
.review-flagged-item.is-firearm{border-color:var(--flag-line-strong);background:var(--flag-bg);
  border-left:3px solid var(--ink);padding-left:11px}
.review-flagged-item.is-firearm:hover{background:var(--flag-bg)}
.review-flagged-item-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.review-flagged-cue{font-size:13px;font-weight:700;color:var(--ink)}
.review-flagged-item.is-firearm .review-flagged-cue{color:var(--flag-ink)}
.review-flagged-meta{font-size:12px;color:var(--muted,var(--muted));font-variant-numeric:tabular-nums;white-space:nowrap}
.review-flagged-context{font-size:12px;color:var(--muted,var(--muted));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.review-flagged-note{font-size:12px;color:var(--muted,var(--muted))}
.review-flagged-loading{display:flex;flex-direction:column;gap:8px}
.review-flagged-loading span{height:34px;border-radius:10px;background:var(--flag-skeleton);
  animation:review-flagged-pulse 1.2s var(--ease,ease) infinite}
.review-flagged-loading span:nth-child(2){animation-delay:.15s}
.review-flagged-loading span:nth-child(3){animation-delay:.3s}
@keyframes review-flagged-pulse{0%,100%{opacity:.45}50%{opacity:1}}

/* ————— documents as a list, not a wall —————
   Nine documents opened inline ran to thousands of pixels and buried the
   recordings gallery under them. Each row is closed by default and states its
   note and page count, so a reviewer chooses what to open. */
.review-documents-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s2,12px);flex-wrap:wrap}
.review-documents-head h3{margin:0}
.review-document{padding:0;border-top:1px solid var(--line)}
.review-document>summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  flex-wrap:wrap;padding:16px 0;cursor:pointer;list-style:none}
.review-document>summary::-webkit-details-marker{display:none}
.review-document>summary::before{content:'▸';margin-right:10px;color:var(--muted,var(--muted));
  transition:transform 160ms var(--ease,ease);display:inline-block}
.review-document[open]>summary::before{transform:rotate(90deg)}
.review-document-title{font-size:16px;font-weight:600;flex:1 1 auto;min-width:0}
.review-document-count{font-size:12px;color:var(--muted,var(--muted));font-variant-numeric:tabular-nums;white-space:nowrap}
.review-document[open]>summary{border-bottom:1px solid var(--line)}
.review-document>*:not(summary){margin-left:22px}

.review-documents,.review-gallery,.review-flagged{scroll-margin-top:86px}
@media(max-width:600px){.review-flagged{padding:12px}
  .review-flagged-item-head{flex-direction:column;gap:0}
  .review-flagged-meta{white-space:normal}
  .review-document-count{white-space:normal}}
@media(prefers-reduced-motion:reduce){.review-document>summary::before,
  .review-flagged-chevron::before{transition:none}
  .review-flagged-loading span{animation:none;opacity:.6}}

/* ————— occasional tools, collapsed —————
   Redaction preview, camera comparison, and all-angles stay one click away
   but out of the watch-and-read flow: a single quiet disclosure beside the
   source label instead of three competing buttons. */
.review-extra-tools{flex:none;font-size:13px}
.review-extra-tools>summary{cursor:pointer;list-style:none;font-size:12px;font-weight:500;color:var(--muted);
  border:1px solid var(--line);border-radius:var(--r-pill);padding:8px 14px;transition:color .15s var(--ease),border-color .15s var(--ease)}
.review-extra-tools>summary::-webkit-details-marker{display:none}
.review-extra-tools>summary::before{content:'▸';margin-right:7px;display:inline-block;transition:transform 160ms var(--ease)}
.review-extra-tools[open]>summary::before{transform:rotate(90deg)}
.review-extra-tools>summary:hover{color:var(--ink);border-color:var(--ink)}
.review-extra-tools-body{display:flex;flex-wrap:wrap;gap:8px;position:absolute;right:0;z-index:6;margin-top:8px;
  width:max-content;max-width:min(460px,calc(100vw - 48px));
  padding:12px;background:var(--void);border:1px solid var(--hairline);border-radius:var(--r-control);box-shadow:var(--shadow-lift)}
.review-extra-tools{position:relative}
.review-extra-tools-body .btn{font-size:12px;padding:8px 12px;min-height:0;white-space:nowrap}
@media(prefers-reduced-motion:reduce){.review-extra-tools>summary::before{transition:none}}

/* ————— step-by-step account of one recording —————
   The draft timeline reads like the synopsis: open air, hairline rules, mono
   clocks that seek on click. Kind chips stay quiet; only the flag chip carries
   the heavier ink rule, and uncertain steps are muted rather than alarming. */
.review-steps{margin:0 0 var(--s4);padding:var(--s3) 0 0;border-top:1px solid var(--hairline);scroll-margin-top:86px}
.review-steps>h3{font-size:21px;font-weight:600;letter-spacing:-.025em}
.review-steps-list{list-style:none;margin:var(--s2) 0 0;padding:0;display:flex;flex-direction:column}
.review-steps-event{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:var(--s1);padding:10px 0;border-top:1px solid var(--hairline)}
.review-steps-event:first-child{border-top:0;padding-top:0}
.review-steps-body{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px}
.review-steps-kind{flex:none;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);
  border:1px solid var(--line);border-radius:var(--r-pill);padding:2px 8px;white-space:nowrap}
.review-steps-event.is-flag .review-steps-kind{color:var(--flag-ink);background:var(--flag-bg);border-color:var(--flag-line-strong);border-left:3px solid var(--ink);padding-left:9px}
.review-steps-text{margin:0;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.review-steps-event.is-uncertain .review-steps-text,.review-steps-event.is-uncertain .review-steps-kind{opacity:.55}
.review-steps-note{font-size:12px;color:var(--muted);margin:var(--s1) 0 0}

/* Acoustic runs collapse into one expandable group: the summary states count
   and span, the shared candidate wording appears once, and the expanded rows
   keep their own clocks and sentences. */
.review-steps-group{padding:10px 0;border-top:1px solid var(--hairline)}
.review-steps-group:first-child{border-top:0;padding-top:0}
.review-steps-acoustic-group>summary{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:var(--s1);
  cursor:pointer;list-style:none;border-radius:6px}
.review-steps-acoustic-group>summary::-webkit-details-marker{display:none}
.review-steps-acoustic-group>summary .review-steps-body::after{content:'▸';color:var(--muted);font-size:12px;
  display:inline-block;transition:transform 160ms var(--ease)}
.review-steps-acoustic-group[open]>summary .review-steps-body::after{transform:rotate(90deg)}
.review-steps-acoustic-group>summary:hover .review-steps-text{color:#000}
.review-steps-group-time{font-family:var(--mono-clock);font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted);
  border:1px solid var(--line);border-radius:8px;background:var(--void);padding:5px 9px;white-space:nowrap}
.review-steps-group-note{font-size:13px;color:var(--muted);line-height:1.6;margin:8px 0 0;max-width:74ch}
.review-steps-group-list{list-style:none;margin:10px 0 0;padding:0 0 0 14px;border-left:2px solid var(--hairline);
  display:flex;flex-direction:column}
.review-steps-group-list .review-steps-event{padding:8px 0}
.review-steps-group-list .review-steps-event:first-child{padding-top:0}
.review-steps-group-list .review-steps-event:last-child{padding-bottom:0}
@media(prefers-reduced-motion:reduce){.review-steps-acoustic-group>summary .review-steps-body::after{transition:none}}

/* A task keeps its own surface; switching tasks never remounts the player. */
.review-workspace-view[hidden]{display:none!important}
.review-workspace-nav[role=tablist]{gap:4px;padding:6px;max-width:410px;border:1px solid var(--line);border-radius:12px;background:var(--panel);position:static;margin-bottom:24px}
.review-workspace-nav[role=tablist] button{flex:1;min-height:44px;border-color:transparent;background:transparent;font-weight:500}
.review-workspace-nav[role=tablist] [aria-selected=true]{background:var(--void);color:var(--ink);border-color:var(--line);box-shadow:0 1px 3px #0000000a}
.review-workspace-nav[role=tablist] button:focus-visible,.review-section-menu summary:focus-visible,.analysis-completion-details summary:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.review-section-menu{margin:24px 0;border-top:1px solid var(--hairline);padding-top:16px}
.review-section-menu>summary{cursor:pointer;color:var(--muted);font-size:13px;width:fit-content}
.review-jump-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.review-jump-nav .btn{font-size:12px;padding:8px 12px}
.review-research-intro{max-width:70ch;margin:8px 0 24px}
.review-research-intro h3{font-size:28px;letter-spacing:-.03em;margin:8px 0}
.review-document-search{display:block;width:100%;max-width:600px;min-height:46px;padding:12px 14px;background:var(--void);color:var(--ink);border:1px solid var(--line);border-radius:10px;font:inherit;font-size:14px;margin:18px 0 8px}
.review-document[hidden]{display:none!important}
.analysis-completion h3{font-size:14px;margin:0 0 6px}
.analysis-completion>p{font-size:13px;line-height:1.55;margin:6px 0 10px}
.analysis-completion-details>summary{font-size:12px;font-weight:500;cursor:pointer;min-height:32px;padding:7px 0;width:fit-content}
.analysis-completion-details dl{font-size:12px;line-height:1.5;padding-top:10px}
@media(max-width:600px){.review-workspace-nav[role=tablist]{max-width:none;width:100%;box-sizing:border-box}.review-workspace-nav[role=tablist] button{font-size:14px}.review-section-menu{margin:16px 0}.review-research-intro h3{font-size:23px}}

.review-flagged-window{border:1px solid var(--border,#e5e7eb);border-radius:10px;overflow:hidden;margin:8px 0;background:var(--void)}
.review-flagged-window>.review-flagged-item{border:0;border-radius:0;margin:0;width:100%}
.review-flagged-support{font-size:12px;line-height:1.5;color:#525252;margin:8px 12px}
.review-flagged-more{margin:10px 12px;font-size:13px}
.review-flagged-more>summary{cursor:pointer;padding:6px 0;font-weight:600}

.review-flagged{background:var(--void);border-color:#e5e7eb}
.review-progress[data-state="SUCCEEDED"]{display:grid;grid-template-columns:1fr auto;gap:4px 8px;padding:10px 12px}
.review-progress[data-state="SUCCEEDED"]>strong{font-size:14px}
.review-progress[data-state="SUCCEEDED"]>.review-hint{grid-column:1/-1;grid-row:2;font-size:12px;margin:0}
.review-progress[data-state="SUCCEEDED"]>.btn{font-size:11px;padding:5px 8px;margin:0}

/* Draft cues stay readable without masking the footage or implying a finding. */
.review-cue-alert,.review-cue-alert:not(.is-firearm){left:8px;right:8px;top:8px;width:fit-content;max-width:calc(100% - 16px);padding:6px 10px;align-items:flex-start;text-align:left;background:var(--flag-bg);color:var(--flag-ink);border:1px solid var(--flag-line-strong);border-radius:6px;box-shadow:none;animation:none}
.review-cue-alert-line{justify-content:flex-start;gap:5px}
.review-cue-alert-names,.review-cue-alert-time{font:600 12px/1.4 var(--font, sans-serif);letter-spacing:0;text-transform:none}
.review-cue-alert-note{color:var(--flag-ink);font-size:10px}
.review-cue-box{border-color:#FF3B30;box-shadow:0 0 0 1px #0009}
.review-cue-box-label{background:rgba(0,0,0,.9);color:#FF3B30;letter-spacing:0;font-size:11px}
.review-chat-panel>select{font:inherit;max-width:100%;padding:8px;margin-bottom:10px;border:1px solid var(--line);border-radius:8px;background:var(--void)}

/* Video-first review workspace. One persistent player, one task panel. */
.review-mode{background:var(--panel);padding-top:16px}
.review-mode header{position:static;min-height:44px;margin-bottom:24px;padding:0 0 12px;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;background:transparent;backdrop-filter:none}
.review-mode .wrap{max-width:1440px}
.review-mode .review-heading{margin-bottom:16px;align-items:center;gap:24px}
.review-mode .review-heading h2{font-size:clamp(24px,2.3vw,32px);letter-spacing:-.045em;font-weight:600;line-height:1.2}
.review-mode .review-heading .review-eyebrow{margin-bottom:8px;font-size:11px}
.review-mode .review-heading .btn{min-height:44px;font-size:13px;padding:10px 16px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:var(--r-pill)}
.review-mode .review-workspace-nav{margin-bottom:16px}
.review-editor{grid-template-columns:minmax(0,1.8fr) minmax(360px,1fr);gap:32px;align-items:start}
.review-editor .review-media{min-width:0}
.review-editor .review-recording-bar{margin:0 0 16px;padding:8px 0;background:transparent;border:0;border-radius:0;gap:16px;min-height:44px;box-sizing:border-box}
.review-editor .review-recording-bar label{display:block;font-weight:500;color:var(--muted);white-space:nowrap}
.review-editor .review-recording-bar select{font-size:15px;font-weight:500;padding:8px 12px;border-radius:var(--r-control)}
.review-editor .review-recording-bar select:hover{background:var(--wash)}
.review-editor .review-screen{border-radius:var(--r-screen);box-shadow:0 2px 6px var(--shadow-color),0 20px 48px -24px var(--shadow-color)}
.review-editor .review-timeline{margin-top:24px}
.review-editor .review-playback{margin-top:16px;gap:8px}
.review-editor .review-playback>.btn{font-size:13px;padding:10px 16px;border-radius:var(--r-pill);min-width:0;min-height:44px}
.review-player-options{position:relative;margin-left:auto;font-size:12px}
.review-player-options>summary{cursor:pointer;padding:12px 16px;border:0;border-radius:var(--r-pill);background:transparent;list-style:none;font-size:13px}
.review-player-options>summary:hover{background:var(--wash)}
.review-player-options[open]{flex-basis:100%;display:flex;flex-wrap:wrap;gap:8px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--void)}
.review-player-options[open]>summary{margin-bottom:8px}
.review-player-options .btn{font-size:12px;padding:8px 12px;border-radius:8px}
.review-source-details,.review-matter-details{padding:12px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted);margin-top:12px}
.review-source-details>summary,.review-matter-details>summary{cursor:pointer;width:fit-content}
.review-source-details[open]>summary,.review-matter-details[open]>summary{margin-bottom:16px}
.review-inspector{min-width:0;background:var(--void);border:1px solid var(--hairline);border-radius:20px;overflow:hidden;box-shadow:0 2px 8px var(--shadow-color)}
.review-inspector-tabs{display:flex;padding:8px;margin:16px 16px 0;border:0;border-radius:var(--r-control);background:var(--panel);gap:4px}
.review-inspector-tabs button{flex:1;min-height:44px;font:500 13px var(--sans);background:transparent;color:var(--muted);border:0;border-radius:6px;padding:10px 8px;cursor:pointer}
.review-inspector-tabs button[aria-selected=true]{color:var(--ink);background:var(--void);box-shadow:0 1px 4px var(--shadow-color)}
.review-inspector-tabs button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.review-inspector>[role=tabpanel]{padding:24px;max-height:calc(100vh - 320px);min-height:400px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.review-inspector .review-transcript{border:0;border-radius:0;box-shadow:none}
.review-inspector h3,.review-inspector .review-analysis-heading h3{font-size:20px;letter-spacing:-.035em;line-height:1.3;font-weight:600}
.review-inspector .review-analysis-lead,.review-inspector .review-synopsis{padding-top:0;margin-top:0;border-top:0;margin-bottom:24px}
.review-inspector .review-synopsis-item{font-size:15px;line-height:1.7;margin-top:16px}
.review-inspector .review-hint{font-size:13px;line-height:1.6;margin-bottom:16px}
.review-inspector .review-issue-grid{grid-template-columns:1fr}
.review-inspector .review-flagged{padding:12px;background:var(--panel-soft);border-color:var(--line)}
.review-inspector .review-flagged-toggle{flex-wrap:wrap;gap:4px}
.review-inspector .review-flagged-summary{font-size:12px}
.review-inspector .review-chat{margin:0;border:0;box-shadow:none;border-radius:0}
.review-inspector .review-chat-bar{display:none}
.review-inspector .review-chat-panel{padding:0;border:0}
.review-inspector .review-chat-hints{display:grid;gap:8px;margin:24px 0}
.review-inspector .review-chat-intro{font-size:15px;color:var(--muted);margin-top:8px;line-height:1.5}
.review-inspector .review-chat-hints button{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border:0;border-radius:12px;background:var(--panel);font-size:14px;line-height:1.5;padding:14px 16px;min-height:48px}
.review-inspector .review-chat-hints button::after{content:"↗";font-size:16px;color:var(--muted)}
.review-inspector .review-chat-hints button:hover{background:var(--hover)}
.review-inspector .review-chat-message{max-width:100%;font-size:14px;line-height:1.65}
.review-inspector .review-chat-composer{flex-wrap:wrap}
.review-inspector .review-chat-composer textarea{flex-basis:100%;min-height:88px;border-color:var(--line);background:var(--panel);border-radius:12px;padding:14px 16px}
.review-inspector .review-chat-composer .btn{margin-left:auto;padding:9px 18px;font-size:13px}
.review-inspector .review-current{max-height:120px;padding:10px 12px}
.review-inspector .review-current-words{font-size:13px}
.review-inspector .review-filters{gap:8px}
.review-inspector .review-cues,.review-inspector .review-transcript.has-passages .review-cues{height:auto;max-height:none}
.review-mode .review-progress{margin-bottom:12px;padding:10px 12px;font-size:12px}
@media(max-width:900px){
 .review-editor{grid-template-columns:minmax(0,1fr)}
 .review-inspector>[role=tabpanel]{max-height:560px;min-height:280px}
 .review-mode .review-heading{align-items:flex-start;gap:10px}
 .review-mode .review-heading h2{font-size:21px}
 .review-mode .review-packet-actions{gap:6px}
 .review-mode .review-heading .btn{padding:7px 9px;font-size:11px}
 .review-mode header{margin-bottom:14px}
}

.review-mode .review-workspace-nav[role=tablist]{width:fit-content;padding:4px;gap:4px;margin-bottom:16px;border:0;background:var(--hover);border-radius:12px}
.review-mode .review-workspace-nav[role=tablist] button{padding:10px 24px;font-size:14px;border:0}
.review-mode .review-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:9px 12px;margin-bottom:8px;background:var(--ground-inset)}
.review-mode .review-progress strong{font-size:12px;grid-column:1}
.review-mode .review-progress p{grid-column:1;margin:0;font-size:12px}
.review-mode .review-progress>.btn{grid-column:2;grid-row:1 / span 2;padding:7px 10px;font-size:11px;align-self:center}
.review-mode .review-progress>.btn:not([hidden])~.btn:not([hidden]){grid-row:auto}
.review-mode .review-workspace-view>.review-notice{margin:8px 0 12px;font-size:12px}
.review-inspector .review-analysis-lead{background:transparent;border-radius:0;padding:0;box-shadow:none}
@media(max-width:600px){.review-mode .review-workspace-nav[role=tablist] button{padding:8px 16px}.review-mode .review-progress{gap:4px 8px}}

.review-mode .review-progress[data-state="SUCCEEDED"]>.review-hint{grid-column:1}
@media(max-width:600px){
 .review-mode .review-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
 .review-mode .review-heading>div{min-width:0}
 .review-mode .review-heading h2{max-width:none;overflow-wrap:anywhere}
 .review-mode .review-heading .review-packet-actions{display:flex;flex-wrap:wrap;justify-content:flex-start}
}

/* Keep the same reading rhythm when the workspace stacks. */
@media(max-width:900px){
 .review-editor{grid-template-columns:minmax(0,1fr);gap:24px}
 .review-mode .review-heading h2{font-size:26px}
 .review-mode .review-heading .btn{font-size:13px;padding:10px 14px}
 .review-inspector>[role=tabpanel]{max-height:640px;min-height:280px}
}
@media(max-width:600px){
 .review-mode{padding-top:16px}
 .review-mode header{margin-bottom:24px;padding-bottom:16px}
 .review-mode .review-heading{gap:16px;margin-bottom:24px}
 .review-mode .review-heading h2{font-size:26px}
 .review-editor .review-screen{border-radius:12px}
 .review-inspector-tabs{margin:12px 12px 0;padding:4px}
 .review-inspector>[role=tabpanel]{padding:20px;min-height:280px}
 .review-mode .review-workspace-nav[role=tablist]{width:100%}
}

@media(min-width:901px){
 .review-editor .review-screen:not(.is-audio){width:100%;max-height:max(240px,calc(100dvh - 540px))}
}

/* Evidence workspace: compact navigation, one reading pane, optional detail. */
.review-mode{background:var(--void);padding-top:16px}
.review-mode header{min-height:36px;padding:0 0 12px;margin-bottom:16px}
.review-mode .review-heading{margin:0 0 12px;gap:24px}
.review-mode .review-heading h2{font-size:22px;line-height:1.3;letter-spacing:-.035em;max-width:none}
.review-mode .review-heading .review-eyebrow{font-size:10px;margin-bottom:4px}
.review-mode .review-heading .btn{min-height:40px;font-size:12px;padding:8px 12px;border-color:transparent;border-radius:8px}
.review-mode .review-heading .btn:hover{background:var(--panel)}
.review-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);margin-bottom:20px;position:relative;z-index:6}
.review-mode .review-toolbar .review-workspace-nav[role=tablist]{margin:0;padding:0;gap:24px;background:transparent;border:0;border-radius:0;width:auto}
.review-mode .review-toolbar .review-workspace-nav[role=tablist] button{padding:12px 0;border:0;border-bottom:2px solid transparent;border-radius:0;min-height:44px;box-shadow:none;font-size:13px;color:var(--muted);background:transparent}
.review-mode .review-toolbar .review-workspace-nav[role=tablist] button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink)}
.review-status-details{position:relative;flex:none;font-size:12px}
.review-status-details>summary{cursor:pointer;padding:10px 0;color:var(--muted);list-style:none}
.review-status-details>summary::after{content:'⌄';margin-left:8px}
.review-status-details.needs-attention>summary{color:var(--warn)}
.review-status-details.needs-attention>summary::before{content:'';display:inline-block;width:6px;height:6px;background:var(--ink);border-radius:50%;margin-right:8px;vertical-align:middle}
.review-status-body{position:absolute;right:0;top:100%;width:360px;max-width:calc(100vw - 32px);padding:16px;box-sizing:border-box;background:var(--void);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 36px var(--shadow-color);z-index:20}
.review-mode .review-status-body .review-progress{background:transparent;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.review-mode .review-status-body .review-progress strong{font-size:14px;flex-basis:100%}
.review-mode .review-status-body .review-progress p{font-size:13px;line-height:1.6;flex-basis:100%}
.review-mode .review-status-body .review-notice{font-size:12px;margin:12px 0 0}
.review-editor{grid-template-columns:minmax(0,1.9fr) minmax(340px,1fr);gap:24px}
.review-editor .review-recording-bar{margin-bottom:12px;padding:0;min-height:44px}
.review-editor .review-recording-bar select{font-size:14px}
.review-editor .review-screen{border-radius:12px;box-shadow:none}
.review-editor .review-timeline{margin-top:16px}
.review-editor .review-playback{margin-top:12px}
.review-editor .review-playback>.btn{font-size:12px;min-height:40px;padding:10px 14px}
.review-editor .review-screen:not(.is-audio){max-height:none}
.review-inspector{background:transparent;border:0;border-left:1px solid var(--line);padding-left:24px;border-radius:0;box-shadow:none}
.review-inspector-tabs{margin:0 0 20px;padding:0;gap:24px;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0}
.review-inspector-tabs button{flex:0 1 auto;min-height:44px;padding:12px 0;border-radius:0;border-bottom:2px solid transparent;font-size:13px;box-shadow:none}
.review-inspector-tabs button[aria-selected=true]{background:transparent;box-shadow:none;border-bottom-color:var(--ink)}
.review-inspector>[role=tabpanel]{padding:0 8px 0 0;min-height:340px;max-height:calc(100dvh - 360px)}
.review-inspector .review-synopsis-item{font-size:14px;line-height:1.6}
.review-inspector-summary:has(.review-analysis-lead:not([hidden])) .review-synopsis[data-state=unavailable]{display:none}
.review-moments-heading{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:8px}
.review-draft-label{font-size:11px;color:var(--muted);white-space:nowrap}
.review-moment-card{padding:16px 0;border-top:1px solid var(--hairline)}
.review-moment-heading{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.review-moment-play{font:500 12px var(--sans);font-variant-numeric:tabular-nums;border:0;border-radius:6px;background:var(--panel);color:var(--ink);padding:10px 12px;cursor:pointer;white-space:nowrap}
.review-moment-play:hover{background:var(--hover)}
.review-moment-label{font-size:12px;line-height:1.5;color:var(--muted)}
.review-moment-note>summary{list-style:none;cursor:pointer}
.review-moment-note>summary::-webkit-details-marker,.review-status-details>summary::-webkit-details-marker{display:none}
.review-moment-excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;line-height:1.6}
.review-moment-expand{display:block;font-size:12px;color:var(--muted);margin-top:8px;text-decoration:underline;text-underline-offset:3px}
.review-moment-note[open] .review-moment-excerpt,.review-moment-note[open] .review-moment-expand{display:none}
.review-moment-note[open]>summary::after{content:'Close note';font-size:12px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.review-moment-note>p{font-size:14px;line-height:1.65;margin-top:12px}
.review-all-notes{font:500 13px var(--sans);color:var(--ink);border:0;background:transparent;padding:12px 0;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.review-note-coverage{margin-top:12px;font-size:12px;color:var(--muted)}
.review-note-coverage>summary{cursor:pointer;padding:8px 0}
.review-note-coverage[open]>.review-hint{margin-top:8px}
.review-ask-moment{width:100%;min-height:44px;font:500 13px var(--sans);color:var(--ink);background:var(--panel);border:1px solid var(--hairline);border-radius:10px;margin-top:20px;padding:12px 16px;text-align:left;cursor:pointer}
.review-ask-moment:hover{background:var(--hover)}
.review-ask-moment:disabled{opacity:.5;cursor:default}
.review-moment-note>summary:focus-visible,.review-note-coverage>summary:focus-visible,.review-status-details>summary:focus-visible,.review-ask-moment:focus-visible,.review-moment-play:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.review-inspector .review-chat-messages{max-height:none}
.review-inspector .review-chat-hints{margin:16px 0}
.review-inspector .review-chat-hints button{padding:12px;font-size:13px;border-radius:8px}
.review-inspector .review-chat-hints button::after{content:none}
@media(min-width:901px){.review-editor .review-screen:not(.is-audio){width:100%;max-height:max(260px,calc(100dvh - 370px))}}
@media(max-width:900px){
 .review-editor{grid-template-columns:minmax(0,1fr)}
 .review-inspector{padding:20px 0 0;border-left:0;border-top:1px solid var(--line)}
 .review-inspector>[role=tabpanel]{max-height:560px;min-height:200px}
 .review-mode .review-heading h2{font-size:22px}
}
@media(max-width:600px){
 .review-mode header{margin-bottom:16px;padding-bottom:12px}
 .review-mode .review-heading{gap:4px;margin-bottom:8px}
 .review-mode .review-heading h2{font-size:20px}
 .review-mode .review-heading .review-packet-actions{gap:8px}
 .review-mode .review-heading .btn{padding:8px 0;margin-right:12px;font-size:12px}
 .review-toolbar{gap:8px;margin-bottom:12px;align-items:center}
 .review-mode .review-toolbar .review-workspace-nav[role=tablist]{gap:16px;flex:none}
 .review-mode .review-toolbar .review-workspace-nav[role=tablist] button{font-size:12px}
 .review-status-details{font-size:11px;min-width:0;flex:0 1 auto;text-align:right}
 .review-status-body{text-align:left}
 .review-editor .review-recording-bar{gap:8px}
 .review-editor .review-recording-bar select{padding:8px 4px;font-size:13px}
 .review-inspector-tabs{margin-bottom:20px}
}
.review-player-options .review-object-scope{display:flex;align-items:center;gap:8px;margin:8px 0;font-size:13px;color:var(--ink);width:100%}
.review-object-scope input{width:16px;height:16px;accent-color:var(--ink)}

/* Matter workspace: overview first, then a source library and evidence desk. */
.review-mode{background:var(--panel);padding:24px 32px 40px}
.review-mode .wrap{max-width:1600px}
.review-mode header{position:static;background:transparent;border:0;border-radius:0;box-shadow:none;padding:0 0 20px;margin-bottom:32px;border-bottom:1px solid var(--line);min-height:48px;backdrop-filter:none}
.review-mode header img{width:28px;height:28px}
.review-mode .review-heading{align-items:flex-end;margin-bottom:24px;gap:32px}
.review-mode .review-heading h2{font-size:clamp(24px,2.3vw,36px);line-height:1.2;letter-spacing:-.045em;max-width:44ch;text-wrap:pretty}
.review-mode .review-heading .review-eyebrow{font-size:10px;letter-spacing:.16em;margin-bottom:10px}
.review-mode .review-heading .btn{font-size:13px;min-height:44px;padding:12px 16px;border-radius:10px;white-space:nowrap}
.review-mode .review-heading .btn-primary{background:var(--ink);color:var(--on-ink)}
.review-mode .review-heading .btn-primary:hover{background:color-mix(in srgb,var(--ink) 88%,var(--void))}
.review-mode .review-heading .btn-ghost{background:transparent;border:1px solid var(--line)}
.review-toolbar{border:0;margin-bottom:24px;background:var(--panel);border-radius:12px;padding:5px 12px 5px 5px;gap:16px}
.review-mode .review-toolbar .review-workspace-nav[role=tablist]{gap:4px;max-width:none;flex-wrap:nowrap}
.review-mode .review-toolbar .review-workspace-nav[role=tablist] button{padding:10px 24px;border:0;border-radius:8px;min-height:44px;font-size:13px;color:#5a5a60}
.review-mode .review-toolbar .review-workspace-nav[role=tablist] button[aria-selected=true]{background:var(--void);color:var(--ink);box-shadow:0 1px 4px var(--shadow-color)}
.review-status-details{font-size:12px}
.review-status-details>summary{min-height:44px;display:flex;align-items:center;justify-content:flex-end;padding:8px;box-sizing:border-box}
.review-brief{max-width:1200px;margin:0 auto}
.review-brief-hero{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:16px 0 24px}
.review-brief-hero h3{font-size:36px;line-height:1.1;letter-spacing:-.05em;font-weight:550;margin:0 0 12px}
.review-brief-hero .review-eyebrow{font-size:10px;margin-bottom:12px}
.review-brief-intro{font-size:15px;line-height:1.6;color:var(--muted);max-width:65ch;margin:0}
.review-brief-hero>.btn{flex:none;border-radius:12px;padding:16px 24px;min-height:52px}
.review-brief-inventory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--void);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.review-brief-stat{display:flex;flex-direction:column;gap:6px;padding:24px 32px;border:0;border-right:1px solid var(--line);background:transparent;text-align:left;font-family:var(--sans);cursor:pointer;color:var(--ink);min-width:0}
.review-brief-stat:last-child{border-right:0}
.review-brief-stat:hover{background:var(--panel-soft)}
.review-brief-stat strong{font-size:36px;font-weight:500;line-height:1.1;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.review-brief-stat>span{font-size:13px;color:var(--muted)}
.review-brief-scope{font-size:11px;color:var(--muted);margin:10px 0 24px;line-height:1.5}
.review-brief-content{display:grid;grid-template-columns:minmax(0,1fr) 248px;gap:32px;align-items:start;margin-top:32px}
.review-brief-content>*{min-width:0}
.review-brief-actions{display:grid;grid-template-columns:1fr;gap:8px;margin:0;position:sticky;top:24px}
.review-brief-action{display:flex;gap:16px;align-items:flex-start;min-width:0;padding:20px 16px;background:transparent;border:0;border-top:1px solid #d9d9df;text-align:left;font-family:var(--sans);color:var(--ink);cursor:pointer}
.review-brief-action:hover{background:var(--hover);border-radius:0 0 12px 12px}
.review-action-number{font-size:11px;color:var(--muted);padding-top:4px;font-variant-numeric:tabular-nums}
.review-brief-action>span:nth-child(2){display:flex;flex-direction:column;gap:8px;min-width:0}
.review-brief-action strong{font-size:14px;font-weight:600}
.review-brief-action>span:nth-child(2)>span{font-size:12px;line-height:1.6;color:var(--muted)}
.review-action-arrow{margin-left:auto;font-size:18px}
.review-brief .review-overview{padding:0;border:0;margin:0;background:transparent}
.review-brief .review-overview>h3{font-size:24px;font-weight:550;letter-spacing:-.035em;margin-bottom:8px}
.review-brief .review-overview>.review-hint{font-size:13px;max-width:75ch}
.review-brief .review-overview>.review-notice{font-size:12px;padding:12px 0;margin:0 0 16px;color:var(--muted)}
.review-brief .review-overview-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.review-brief .review-overview-card{padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--void);min-width:0;margin:0}
.review-brief .review-overview-card h4{font-size:17px;font-weight:600;letter-spacing:-.02em;margin:0 0 4px}
.review-brief .review-overview-card>.review-hint{font-size:11px;color:var(--muted);margin:8px 0}
.review-brief .review-overview-source{font-size:12px;overflow-wrap:anywhere}
.review-brief .review-synopsis-item{font-size:14px;line-height:1.7;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.review-brief .review-synopsis-item>p{margin:0 0 12px}
.review-brief .review-citation-time{border:0;border-radius:8px;background:var(--panel);padding:10px 12px;min-height:44px;font-size:12px;max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left}
.review-brief .review-overview-folders,.review-brief .review-overview-groups{margin-top:20px;font-size:13px}
.review-evidence-desk{display:grid;grid-template-columns:224px minmax(0,1fr);gap:24px;align-items:start}
.review-source-library{min-width:0;position:sticky;top:24px}
.review-source-library>summary{font-size:13px;font-weight:600;cursor:pointer;padding:16px 0;min-height:48px;box-sizing:border-box}
.review-source-library-body{min-width:0}
.review-source-library input{display:block;width:100%;box-sizing:border-box;min-height:44px;border:1px solid var(--line);border-radius:10px;padding:12px;font:13px var(--sans);background:var(--void);color:var(--ink)}
.review-source-list-status{font-size:11px;color:var(--muted);margin:12px 0}
.review-source-list{max-height:calc(100dvh - 360px);min-height:80px;overflow-y:auto;scrollbar-width:thin;display:grid;gap:4px;padding:4px}
.review-source-item{display:flex;align-items:flex-start;gap:10px;text-align:left;min-width:0;width:100%;padding:12px 8px;border:1px solid transparent;background:transparent;border-radius:10px;color:var(--ink);font-family:var(--sans);cursor:pointer}
.review-source-item:hover{background:var(--hover)}
.review-source-item[aria-current=true]{background:var(--void);border-color:var(--line);box-shadow:0 2px 4px var(--shadow-color)}
.review-source-number{display:flex;align-items:center;justify-content:center;flex:none;width:30px;height:34px;border-radius:6px;background:var(--panel);color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}
.review-source-item[aria-current=true] .review-source-number{background:var(--ink);color:var(--on-ink)}
.review-source-copy{min-width:0;display:flex;flex-direction:column;gap:6px}
.review-source-copy strong{font-size:12px;font-weight:500;line-height:1.5;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.review-source-copy>span{font-size:10px;line-height:1.5;color:var(--muted)}
.review-evidence-desk .review-editor{min-width:0;grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:0;background:var(--void);border:1px solid var(--line);border-radius:16px;overflow:clip;align-items:stretch}
.review-evidence-desk .review-media{padding:20px;min-width:0}
.review-evidence-desk .review-recording-bar{padding:0 0 16px;margin:0;background:transparent;border:0;gap:12px}
.review-evidence-desk .review-recording-bar label{font-size:11px;white-space:nowrap}
.review-evidence-desk .review-recording-bar select{font-size:13px;font-weight:500;min-height:44px;padding:8px;background:var(--panel);border-radius:8px}
.review-evidence-desk .review-screen{border-radius:10px;box-shadow:none}
.review-evidence-desk .review-inspector{background:var(--void);border-left:1px solid var(--line);border-radius:0;padding:20px;min-width:0;box-shadow:none}
.review-evidence-desk .review-inspector-tabs{margin:0 0 20px;padding:4px;background:var(--panel);border-radius:10px;gap:4px;border:0}
.review-evidence-desk .review-inspector-tabs button{padding:10px 8px;font-size:12px;border-radius:7px;border:0;min-height:40px;background:transparent}
.review-evidence-desk .review-inspector-tabs button[aria-selected=true]{background:var(--void);box-shadow:0 1px 3px var(--shadow-color)}
.review-evidence-desk .review-inspector>[role=tabpanel]{padding:0;min-height:240px;max-height:calc(100dvh - 370px);overflow:auto;scrollbar-width:thin}
.review-evidence-desk .review-inspector h3{font-size:18px;letter-spacing:-.025em}
.review-evidence-desk .review-playback{gap:8px}
.review-evidence-desk .review-playback>.btn{font-size:11px;padding:10px 12px;min-height:44px;border-radius:8px;min-width:0}
.review-evidence-desk .review-player-options{font-size:11px}
.review-evidence-desk .review-player-options>summary{min-height:44px;display:flex;align-items:center}
.review-evidence-desk .review-source-details{font-size:12px}
.review-mode .review-matter-details{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}
.review-mode .review-documents,.review-mode .review-research-intro{background:var(--void);border:1px solid var(--line);border-radius:16px;padding:32px}
.review-mode .review-documents h3,.review-mode .review-research-intro h3{font-size:28px;letter-spacing:-.04em}
@media(max-width:1199px){
 .review-mode{padding:24px}
 .review-evidence-desk{grid-template-columns:minmax(0,1fr);gap:16px}
 .review-source-library{position:static;background:var(--void);border:1px solid var(--line);border-radius:12px;padding:0 16px}
 .review-source-library-body{padding-bottom:16px}
 .review-source-list{max-height:240px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .review-evidence-desk .review-editor{grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr)}
 .review-brief-action{gap:10px;padding-left:0;padding-right:0}
}
@media(max-width:1000px){
 .review-evidence-desk .review-editor{grid-template-columns:minmax(0,1fr)}
 .review-evidence-desk .review-inspector{border-left:0;border-top:1px solid var(--line)}
 .review-evidence-desk .review-inspector>[role=tabpanel]{max-height:480px;min-height:180px}
 .review-brief-content{grid-template-columns:1fr}
 .review-brief-actions{grid-template-columns:repeat(3,minmax(0,1fr));position:static}
}
@media(max-width:760px){
 .review-mode{padding:16px}
 .review-mode header{margin-bottom:24px;padding-bottom:16px}
 .review-mode .review-heading{display:block;margin-bottom:20px}
 .review-mode .review-heading h2{font-size:26px;line-height:1.2}
 .review-mode .review-heading .review-packet-actions{margin-top:16px;gap:8px}
 .review-mode .review-heading .btn{padding:10px 14px;margin:0;font-size:12px}
 .review-toolbar{flex-wrap:wrap;gap:0;padding:4px;margin-bottom:16px}
 .review-mode .review-toolbar .review-workspace-nav[role=tablist]{flex:1;width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}
 .review-mode .review-toolbar .review-workspace-nav[role=tablist] button{padding:10px 5px;font-size:12px}
 .review-status-details{width:100%;text-align:left}
 .review-status-details>summary{justify-content:flex-start;padding:8px 12px;font-size:11px}
 .review-status-body{left:0;right:auto}
 .review-brief-hero{display:block;padding:20px 0 24px}
 .review-brief-hero h3{font-size:36px}
 .review-brief-intro{font-size:14px}
 .review-brief-hero>.btn{margin-top:20px;width:100%;min-height:48px;padding:12px 20px}
 .review-brief-stat{padding:20px 12px;gap:8px}
 .review-brief-stat strong{font-size:30px}
 .review-brief-stat>span{font-size:11px;line-height:1.5}
 .review-brief-actions{grid-template-columns:1fr;gap:0;margin-bottom:24px}
 .review-brief-action{padding:16px 4px;gap:16px}
 .review-brief-action>span:nth-child(2){gap:4px}
 .review-brief .review-overview-cards{grid-template-columns:1fr;gap:16px}
 .review-brief .review-overview-card{padding:20px}
 .review-source-list{grid-template-columns:1fr;max-height:240px}
 .review-evidence-desk .review-editor{grid-template-columns:minmax(0,1fr)}
 .review-evidence-desk .review-media{padding:16px}
 .review-evidence-desk .review-inspector{border-left:0;border-top:1px solid var(--line);padding:20px 16px}
 .review-evidence-desk .review-inspector>[role=tabpanel]{max-height:520px;min-height:180px}
 .review-evidence-desk .review-recording-bar{gap:8px}
 .review-mode .review-documents,.review-mode .review-research-intro{padding:20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.review-mode .btn{transition:none;transform:none}}

/* Flag, source, follow-up: show the work before the tools. */
.review-mode header{margin-bottom:20px;padding-bottom:16px}
.review-mode .review-heading{margin-bottom:20px}
.review-mode .review-heading h2{font-size:clamp(22px,2vw,30px)}
.review-mode .review-toolbar{margin-bottom:28px}
.review-mode .review-toolbar .review-workspace-nav[role=tablist] button{white-space:nowrap}
.review-brief{max-width:920px}
.review-attention-heading{margin:0 0 16px}
.review-attention-heading h3{font-size:32px;line-height:1.2;font-weight:550;letter-spacing:-.04em;margin:0 0 8px}
.review-attention-heading>.review-hint{font-size:15px;color:var(--muted)}
.review-attention-status{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 24px;max-width:75ch}
.review-attention-feed{display:grid;gap:16px}
.review-attention-card{min-width:0;background:var(--void);border:1px solid var(--line);border-radius:16px;padding:24px 28px;position:relative}
.review-attention-card::before{content:'';position:absolute;top:28px;left:0;width:3px;height:32px;background:var(--ink);border-radius:0 3px 3px 0}
.review-attention-source{font-size:12px;color:var(--muted);line-height:1.5;margin:0 0 12px;overflow-wrap:anywhere}
.review-attention-card h4{font-size:21px;line-height:1.35;font-weight:550;letter-spacing:-.025em;margin:0 0 12px;overflow-wrap:anywhere}
.review-attention-description{font-size:15px;line-height:1.65;max-width:75ch;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 12px}
.review-attention-limit{font-size:12px;color:var(--muted);line-height:1.6;margin:12px 0 20px}
.review-attention-actions{display:flex;gap:10px;flex-wrap:wrap}
.review-sequence-cues{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.review-sequence-cue{font-size:12px;line-height:1.5;padding:4px 8px;border-radius:6px;background:var(--bg,var(--panel));overflow-wrap:anywhere;max-width:100%}
.review-attention-actions .btn{font-size:13px;min-height:44px;padding:12px 18px;border-radius:10px}
.review-attention-actions .btn-primary{min-width:132px}
.review-attention-details{font-size:12px;margin:12px 0 0;color:var(--muted)}
.review-attention-details>summary{cursor:pointer;min-height:32px;padding:4px 0}
.review-attention-details>p{font-size:14px;line-height:1.7;margin:12px 0;color:var(--ink)}
.review-attention-more,.review-attention-sounds{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--void);padding:0 20px}
.review-attention-more>summary,.review-attention-sounds>summary{font-size:13px;padding:16px 0;cursor:pointer;min-height:48px}
.review-attention-more .review-attention-card,.review-attention-sounds .review-attention-card{margin:12px 0;border-radius:10px}
.review-attention-sounds .review-attention-card::before{background:#c4c4c9}
.review-attention-more>.btn,.review-attention-sounds>.btn{margin:0 0 16px}
.review-attention-gaps{font-size:12px;color:var(--muted);line-height:1.6;margin:20px 0 0}
.review-attention-footer{display:flex;align-items:center;gap:12px;margin:20px 0 32px}
.review-attention-footer .btn{font-size:13px;padding:12px 18px;border-radius:10px}
.review-attention-feed:has(.review-attention-card)~.review-attention-footer>.btn-primary{background:transparent;color:var(--ink);border:1px solid var(--line)}
.review-all-evidence,.review-secondary-tools{border-top:1px solid var(--line);margin:0;padding:0 0 16px;min-width:0}
.review-all-evidence>summary,.review-secondary-tools>summary{font-size:13px;font-weight:500;cursor:pointer;padding:20px 0;min-height:48px}
.review-all-evidence>.review-brief-inventory{margin:0 0 12px}
.review-all-evidence .review-overview{margin:28px 0 0}
.review-all-evidence .review-overview-card{padding:20px}
.review-secondary-tools .review-workspace-view{display:block}
.review-saved-workspace{max-width:960px;margin:0 auto}
.review-saved-intro{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.review-saved-intro h3{font-size:30px;letter-spacing:-.04em;font-weight:550;flex-basis:100%}
.review-saved-intro .review-hint{flex:1;min-width:220px;font-size:14px}
.review-saved-intro .btn{border-radius:10px;min-height:44px}
.review-saved-workspace .review-marks{background:var(--void);border:1px solid var(--line);border-radius:16px;padding:24px}
.review-saved-workspace .review-marks h3{font-size:18px}
.review-saved-workspace .review-mark{padding:16px 0}
.review-saved-workspace .review-mark-jump{min-width:0}
.review-saved-workspace .review-mark-jump strong{overflow-wrap:anywhere}
.review-saved-confirmation{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);box-sizing:border-box;z-index:45;background:var(--ink);color:var(--on-ink);border-radius:12px;padding:14px 20px;box-shadow:0 8px 30px #0002;display:flex;align-items:center;gap:20px;font-size:13px}
.review-saved-confirmation button{font:inherit;background:transparent;border:0;color:#fff;text-decoration:underline;text-underline-offset:4px;cursor:pointer;min-height:40px}
@media(max-width:760px){
 .review-mode .review-heading h2{font-size:24px}
 .review-attention-heading h3{font-size:28px}
 .review-attention-card{padding:20px}
 .review-attention-card h4{font-size:19px}
 .review-attention-description{font-size:14px}
 .review-attention-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .review-attention-actions .btn{padding:12px 8px;font-size:12px;min-width:0}
 .review-attention-more,.review-attention-sounds{padding:0 12px}
 .review-saved-confirmation{bottom:16px;width:calc(100vw - 32px);gap:12px;padding:12px 16px}
 .review-saved-workspace .review-marks{padding:20px}
}

.review-document-page-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}
.review-document-page-text{line-height:1.65;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface,var(--panel-soft))}

/* The matter opens with its evidence, before individual playback tools. */
.review-brief{max-width:1100px}
.review-attention-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.review-attention-heading .review-hint{font-size:15px;line-height:1.6;margin:0}
.review-attention-heading>.btn{flex-shrink:0;min-height:48px;font-size:14px}
.review-brief>.review-brief-inventory{margin:0 0 32px}
.review-case-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px}
.review-case-moments,.review-case-documents{min-width:0}
.review-case-layout h4{font-size:20px;font-weight:550;letter-spacing:-.025em;margin:0 0 12px}
.review-case-documents>.review-hint{font-size:13px;line-height:1.6;margin:0 0 20px}
.review-case-document{padding:20px 0;border-top:1px solid var(--line)}
.review-case-document h5{font-size:14px;font-weight:600;line-height:1.5;margin:0 0 8px;overflow-wrap:anywhere}
.review-case-document-excerpt{font-size:14px;line-height:1.65;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.review-case-document-source{background:none;border:0;padding:8px 0;min-height:44px;font:inherit;font-size:13px;text-align:left;text-decoration:underline;text-underline-offset:4px;cursor:pointer;color:var(--ink)}
.review-case-documents>.btn{font-size:13px;min-height:44px;margin-bottom:24px}
.review-case-layout{align-items:start;margin-bottom:40px}
.review-case-layout>.review-overview{min-width:0}
.review-case-layout .review-overview>h3{font-size:20px;letter-spacing:-.025em;margin-top:0}
.review-case-layout .review-overview-cards{grid-template-columns:minmax(0,1fr);gap:12px}
.review-case-layout .review-overview-card{padding:20px 24px;border-radius:12px}
.review-case-layout .review-overview-card h4{font-size:15px;line-height:1.5}
.review-case-layout .review-overview-source{font-size:11px;color:var(--muted);margin:8px 0;overflow-wrap:anywhere}
.review-overview-basis{font-size:12px;line-height:1.5;color:var(--muted);margin:4px 0 16px}
.review-overview-provenance{font-size:12px;color:var(--muted);margin-top:12px}
.review-overview-provenance>summary{cursor:pointer;min-height:44px;padding:14px 0}
.review-overview-provenance>.review-hint{font-size:12px;line-height:1.65}
.review-case-layout .review-overview-card>.review-hint{font-size:12px;line-height:1.5}
.review-case-layout .review-synopsis-item>p{font-size:15px;line-height:1.65}
.review-case-moments>h4{font-size:20px;font-weight:550;letter-spacing:-.025em;margin:0 0 12px}
.review-summary-supporting{border-top:1px solid var(--line);margin-top:24px;padding-top:8px}
.review-summary-supporting>summary{cursor:pointer;min-height:48px;padding:14px 0;font-size:14px;font-weight:550}
.review-summary-supporting-body>.review-synopsis,.review-summary-supporting-body>.review-narrative{margin-top:16px}
.review-moment-audio{margin-top:16px;padding:12px;border-left:2px solid var(--line);background:var(--panel);grid-column:1/-1}
.review-moment-audio h4{font-size:12px;font-weight:550;margin:0 0 12px;color:var(--muted)}
.review-moment-passage{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;margin:0 0 12px}
.review-moment-passage blockquote{margin:0;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.review-moment-passage .review-visual-time{font-size:12px;white-space:nowrap}
.review-speakers-panel h3{font-size:22px;letter-spacing:-.025em;margin:0 0 8px}
.review-speakers-source{font-size:13px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere;margin:0 0 20px}
.review-speakers-count{font-size:14px;font-weight:550;margin:0 0 8px}
.review-speakers-panel>.review-hint{font-size:13px;line-height:1.65;margin:0 0 20px}
.review-speaker-card{border-top:1px solid var(--line);padding:24px 0}
.review-speaker-heading{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.review-speaker-heading h4{font-size:16px;margin:0;font-weight:550;overflow-wrap:anywhere}
.review-speaker-state{font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:4px 6px}
.review-speaker-card>.review-hint{font-size:12px;margin:8px 0 16px}
.review-speaker-samples{display:grid;gap:8px}
.review-speaker-sample{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:start;min-height:44px;width:100%;padding:12px;background:var(--panel);border:1px solid transparent;border-radius:8px;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.review-speaker-sample:hover{border-color:var(--line)}
.review-speaker-sample-time{font-size:12px;font-variant-numeric:tabular-nums;line-height:1.65}
.review-speaker-sample-words{font-size:13px;line-height:1.65;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.review-speaker-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.review-speaker-actions>.btn{min-height:44px;font-size:12px;padding:10px 14px}
.review-speakers-unassigned{display:block;background:none;border:0;padding:12px 0;min-height:44px;text-align:left;font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:4px;cursor:pointer;color:var(--ink)}
.review-speakers-limit{font-size:12px;line-height:1.65;color:var(--muted);margin:0 0 24px}
.review-speakers-more>summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:13px}
.matter-library-controls{display:flex;gap:12px;margin:24px 0 8px;align-items:center}
.matter-library-controls input,.matter-library-controls select{font:inherit;font-size:14px;min-height:48px;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:var(--void);color:var(--ink);min-width:0}
.matter-library-controls input{flex:1}.matter-card[hidden]{display:none!important}
.review-ocr-launch{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0 32px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.review-ocr-launch h3,.review-ocr-heading h3{font-size:24px;letter-spacing:-.025em;margin:0 0 8px}
.review-ocr-launch .review-hint{margin:0;max-width:58ch}.review-ocr-launch>.btn{flex-shrink:0}
.review-ocr-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.review-ocr>select{width:100%;font:inherit;font-size:14px;color:var(--ink);background:var(--void);border:1px solid var(--line);padding:14px;border-radius:10px;margin:8px 0 20px}
.review-ocr-controls,.review-ocr-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.review-ocr-controls label{display:flex;align-items:center;gap:8px;font-size:14px}
.review-ocr-controls input{width:80px;min-height:44px;font:inherit;color:var(--ink);padding:8px;border:1px solid var(--line);border-radius:8px}
.review-ocr-controls>.btn,.review-ocr-actions>.btn{min-height:44px}
.review-ocr-text{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:15px;line-height:1.8;border:1px solid var(--line);border-radius:12px;background:var(--void);padding:32px;max-height:65vh;overflow:auto;margin:16px 0 32px}
.review-ocr-text:empty{display:none}
@media(max-width:600px){.matter-library-controls{align-items:stretch;flex-direction:column}.review-ocr-launch{align-items:flex-start;flex-direction:column;gap:16px}.review-ocr-heading{align-items:flex-start}.review-ocr-text{padding:16px}.review-ocr-controls,.review-ocr-actions{gap:8px}.review-ocr-controls>.btn,.review-ocr-actions>.btn{padding:10px 12px}}
@media(max-width:1000px){
 .review-evidence-desk .review-inspector>.review-speakers-panel,.review-evidence-desk .review-inspector>.review-inspector-summary{max-height:none;min-height:0;overflow:visible}
}
@media(max-width:860px){
 .review-case-layout{grid-template-columns:minmax(0,1fr);gap:8px}
 .review-case-documents{margin-bottom:16px}
 .review-attention-heading{align-items:flex-start;flex-direction:column;gap:16px}
 .review-attention-heading h3{font-size:28px}
 .review-case-document-excerpt{-webkit-line-clamp:3}
}

/* Evidence workspace: source navigation, original, and cited account. */
.review-mode{background:var(--ground);--muted:var(--mode-muted);--line:var(--mode-line);--hairline:var(--mode-hairline)}
.review-mode header{margin-bottom:24px;padding-bottom:16px}
.review-mode .review-heading{align-items:center;gap:32px;margin-bottom:16px}
.review-mode .review-heading h2{font-size:clamp(22px,1.9vw,30px);line-height:1.25;letter-spacing:-.035em}
.review-mode .review-eyebrow{font-size:11px;letter-spacing:.14em;margin-bottom:8px}
.review-mode .review-heading .btn{border-radius:8px;min-height:44px;padding:12px 16px;font-size:14px}
.review-mode .review-toolbar{background:transparent;border-bottom:1px solid var(--line);border-radius:0;padding:0;margin-bottom:24px;gap:24px}
.review-mode .review-toolbar .review-workspace-nav[role=tablist]{gap:28px;flex:none;width:auto;display:flex;padding:0}
.review-mode .review-toolbar .review-workspace-nav[role=tablist] button{padding:14px 0;min-height:48px;font-size:14px;border-radius:0;border-bottom:2px solid transparent;box-shadow:none;background:transparent;color:var(--muted)}
.review-mode .review-toolbar .review-workspace-nav[role=tablist] button[aria-selected=true]{border-bottom-color:var(--ink);color:var(--ink);background:transparent;box-shadow:none}
.review-status-details>summary{font-size:14px;padding:12px 0 12px 12px}
.review-status-body{max-height:min(72dvh,680px);overflow:auto;overscroll-behavior:contain}
.review-status-source{font-size:13px;line-height:1.6;overflow-wrap:anywhere;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin:16px 0 12px}
.review-status-body .review-completion{margin-top:0}
.review-evidence-desk{grid-template-columns:224px minmax(0,1fr);gap:24px}
.review-source-library{top:20px}
.review-source-library>summary{font-size:14px;padding:12px 4px;min-height:44px}
.review-source-library input{border-radius:8px;background:var(--void);font-size:14px;min-height:44px;padding:10px 12px}
.review-source-list-status{margin:12px 4px;font-size:12px}
.review-source-list{padding:0;gap:6px;max-height:calc(100dvh - 330px)}
.review-source-item{padding:14px 10px;border-radius:8px;gap:10px;min-height:76px;align-items:flex-start}
.review-source-item[aria-current=true]{border-color:var(--line-solid);box-shadow:0 1px 3px var(--shadow-color)}
.review-source-number{width:28px;height:32px;font-size:12px;background:transparent;border:1px solid var(--line);border-radius:5px}
.review-source-item[aria-current=true] .review-source-number{background:var(--ink);border-color:var(--ink)}
.review-source-copy strong{font-size:14px;line-height:1.5;font-weight:550}
.review-source-copy>span{font-size:12px}
.review-evidence-desk .review-editor{grid-template-columns:minmax(0,1.12fr) minmax(360px,1fr);gap:24px;align-items:start;background:transparent;border:0;border-radius:0;overflow:visible}
.review-evidence-desk .review-media{padding:0;min-width:0}
.review-evidence-desk .review-recording-bar{display:block;padding:0;margin:0 0 16px}
.review-evidence-desk .review-recording-bar label{display:block;font-size:12px;font-weight:550;color:var(--muted);letter-spacing:.06em;margin:0 0 6px}
.review-evidence-desk .review-recording-bar select{display:block;width:100%;min-height:44px;background:var(--void);border:1px solid var(--line);border-radius:8px;font-size:14px;padding:10px 12px}
.review-evidence-desk .review-screen{border-radius:12px;background:#161618}
.review-evidence-desk .review-timeline{margin:12px 0;gap:12px}
.review-evidence-desk .review-playback{padding:0 0 16px;gap:8px;border-bottom:1px solid var(--line)}
.review-evidence-desk .review-playback>.btn{font-size:14px;border-radius:8px;min-height:44px;padding:10px 14px}
.review-evidence-desk .review-player-options{margin-left:auto;font-size:14px}
.review-evidence-desk .review-version-bar{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin:16px 0}
.review-evidence-desk .review-version-bar .review-label{font-size:13px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
.review-evidence-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.review-evidence-actions>.btn,.review-evidence-actions>.review-extra-tools>summary{font-size:13px;font-weight:500;min-height:44px;padding:10px 12px;border-radius:8px;background:var(--void);border:1px solid var(--line);margin:0;white-space:normal}
.review-evidence-actions>.review-extra-tools{margin:0;font-size:13px}
.review-evidence-desk .review-source-details{margin-top:20px;border-top:1px solid var(--line);padding-top:4px;font-size:13px}
.review-evidence-desk .review-inspector{padding:24px;background:var(--void);border:1px solid var(--line);border-radius:12px;box-shadow:0 2px 6px var(--shadow-color);min-width:0}
.review-evidence-desk .review-inspector-tabs{padding:0;margin:0 0 20px;gap:24px;justify-content:flex-start;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.review-evidence-desk .review-inspector-tabs button{flex:0 1 auto;min-width:0;min-height:44px;padding:8px 0;font-size:14px;color:var(--muted);border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;box-shadow:none}
.review-evidence-desk .review-inspector-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink);background:transparent;box-shadow:none}
.review-evidence-desk .review-inspector>[role=tabpanel]{max-height:max(420px,calc(100dvh - 320px));min-height:240px;padding-right:4px;overflow:auto;scrollbar-width:thin;scrollbar-gutter:stable}
.review-evidence-desk .review-analysis-heading{display:block;margin-bottom:20px}
.review-evidence-desk .review-analysis-heading h3{font-size:22px;line-height:1.3;letter-spacing:-.03em;margin:0 0 6px}
.review-evidence-desk .review-analysis-scope{margin:0;font-size:13px;line-height:1.5;color:var(--muted)}
.review-evidence-desk .review-synopsis-item{margin:0 0 20px;padding:0 0 20px;border-bottom:1px solid var(--line)}
.review-evidence-desk .review-synopsis-item>p{font-size:16px;line-height:1.75;margin:0 0 12px;overflow-wrap:anywhere}
.review-evidence-desk .review-exchange{display:flex;flex-direction:column}
.review-evidence-desk .review-exchange>.review-citation-links{order:-1;margin:0 0 12px}
.review-evidence-desk .review-citation-links button{font-size:14px;min-height:44px;padding:8px 12px;background:var(--panel);border:1px solid var(--line);border-radius:7px}
.review-exchange-qualification{display:block;font-size:13px;line-height:1.6;color:var(--muted);margin-bottom:12px}
.review-exchange-turn{display:block;margin:0 0 8px}
.review-exchange-speaker{font-size:13px;color:var(--muted);font-weight:500}
.review-exchange-separator{display:none}
.review-evidence-desk .review-analysis-context{margin:4px 0 0}
.review-evidence-desk .review-analysis-context>summary,.review-evidence-desk .review-analysis-more>summary{font-size:14px;min-height:44px;padding:10px 0;color:var(--muted)}
.review-evidence-desk .review-analysis-lead{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
.review-evidence-desk .review-ask-moment{margin-top:16px;background:transparent;border:1px solid var(--line);border-radius:8px;min-height:44px;font-size:14px}
.review-evidence-desk .review-summary-supporting{margin-top:20px}
.review-mode .review-matter-details{margin-top:32px;font-size:14px}
.review-brief{max-width:1200px;margin-left:auto;margin-right:auto}
.review-attention-heading{margin:8px 0 24px}
.review-attention-heading h3{font-size:30px;line-height:1.25;letter-spacing:-.035em}
.review-attention-heading .review-hint{font-size:14px}
.review-attention-heading>.btn{border-radius:8px;min-height:44px;padding:12px 18px;font-size:14px}
.review-brief>.review-brief-inventory{display:flex;background:var(--void);border:1px solid var(--line);border-radius:12px;margin-bottom:32px;overflow:hidden}
.review-brief-stat{flex:1;min-width:0;display:flex;align-items:center;justify-content:flex-start;gap:16px;padding:20px 24px;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent}
.review-brief-stat:last-child{border-right:0}
.review-brief-stat strong{font-size:28px;line-height:1;font-weight:550;letter-spacing:-.04em}
.review-brief-stat>span{font-size:14px;line-height:1.5;text-align:left;color:var(--muted)}
.review-case-layout{grid-template-columns:minmax(0,1fr) 288px;gap:28px;margin-bottom:32px}
.review-case-layout .review-overview-card{padding:24px;border-radius:10px}
.review-case-documents{background:var(--void);border:1px solid var(--line);border-radius:10px;padding:24px}
.review-case-documents h4,.review-case-layout .review-overview>h3,.review-case-moments>h4{font-size:18px;letter-spacing:-.025em}
.review-attention-card{border-radius:10px;padding:24px}
.review-attention-card h4{font-size:19px;line-height:1.4}
@media(min-width:1600px){.review-evidence-desk .review-editor{grid-template-columns:minmax(0,1.3fr) minmax(400px,1fr)}}
@media(max-width:1199px){
 .review-evidence-desk{grid-template-columns:minmax(0,1fr);gap:16px}
 .review-source-library{position:static;border-radius:8px;padding:0 16px}
 .review-source-list{max-height:240px}
 .review-evidence-desk .review-editor{grid-template-columns:minmax(0,1.1fr) minmax(320px,1fr);gap:20px}
 .review-evidence-desk .review-inspector{padding:16px 20px}
 .review-evidence-desk .review-inspector-tabs{gap:16px}
}
@media(max-width:900px){
 .review-evidence-desk .review-editor{grid-template-columns:minmax(0,1fr)}
 .review-evidence-desk .review-inspector{padding:20px 24px;border:1px solid var(--line)}
 .review-evidence-desk .review-inspector>[role=tabpanel]{max-height:560px;min-height:180px}
 .review-evidence-desk .review-inspector>.review-inspector-summary,.review-evidence-desk .review-inspector>.review-speakers-panel{max-height:none;min-height:0;overflow:visible}
 .review-case-layout{grid-template-columns:minmax(0,1fr);gap:24px}
 .review-case-documents{margin-bottom:0}
}
@media(max-width:600px){
 .review-mode header{margin-bottom:20px;padding-bottom:12px}
 .review-mode .review-heading{gap:12px;margin-bottom:12px}
 .review-mode .review-heading h2{font-size:22px;line-height:1.3}
 .review-mode .review-heading .review-packet-actions{margin-top:14px}
 .review-mode .review-heading .btn{font-size:13px;padding:10px 12px}
 .review-mode .review-toolbar{gap:0;margin-bottom:20px}
 .review-mode .review-toolbar .review-workspace-nav[role=tablist]{display:flex;width:100%;justify-content:space-between;gap:12px}
 .review-mode .review-toolbar .review-workspace-nav[role=tablist] button{padding:12px 0;font-size:14px;flex:none}
 .review-status-details{width:100%;border-top:1px solid var(--hairline)}
 .review-status-details>summary{padding:8px 0;justify-content:flex-start;font-size:13px}
 .review-evidence-desk .review-inspector{padding:16px;border-radius:10px}
 .review-evidence-desk .review-inspector-tabs{justify-content:space-between;gap:12px}
 .review-evidence-desk .review-inspector-tabs button{font-size:14px}
 .review-evidence-desk .review-playback>.btn{font-size:13px;padding:10px 12px}
 .review-evidence-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .review-evidence-actions>.btn{width:100%;font-size:13px;padding:10px 8px}
 .review-evidence-actions>.review-extra-tools{grid-column:1/-1;justify-self:start}
 .review-evidence-desk .review-recording-bar{margin-bottom:12px}
 .review-evidence-desk .review-source-details{margin-top:16px}
 .review-attention-heading h3{font-size:26px}
 .review-attention-heading .review-hint{font-size:14px}
 .review-brief>.review-brief-inventory{margin-bottom:24px}
 .review-brief-stat{flex-direction:column;align-items:flex-start;padding:16px 12px;gap:8px}
 .review-brief-stat strong{font-size:24px}
 .review-brief-stat>span{font-size:12px}
 .review-case-layout .review-overview-card,.review-case-documents,.review-attention-card{padding:20px}
}

/* Readable content shares the same scale across the entire workspace. */
.review-mode .review-hint,.review-mode .review-notice{font-size:14px;line-height:1.65}
.review-evidence-desk .review-inspector>.review-inspector-summary{max-height:none;min-height:0;overflow:visible;scrollbar-gutter:auto;padding-right:0}
.review-evidence-desk .review-inspector h3{font-size:22px;line-height:1.35}
.review-evidence-desk .review-inspector-tabs{flex-wrap:wrap;row-gap:0}
.review-exchange-turn{line-height:1.7;margin:0 0 12px}
.review-exchange-content{font-size:16px;line-height:1.75}
.review-exchange-speaker{display:block;font-size:12px;font-weight:600;color:var(--muted);margin:0 0 3px}
.review-exchange-wording{display:inline-block;font-size:12px;font-weight:500;color:var(--flag-ink);background:var(--flag-bg);border:1px solid var(--flag-line);border-radius:5px;padding:3px 8px;margin:0 0 12px}
.review-extract-scope{font-size:13px;line-height:1.6;color:var(--muted);margin:8px 0 20px}
.review-brief .review-synopsis-item{font-size:16px;line-height:1.75}
.review-brief .review-overview-card>.review-hint,.review-brief .review-overview-source{font-size:13px;line-height:1.6}
.review-brief .review-overview-card h4{font-size:17px;line-height:1.5}
.review-brief .review-overview-open{font-size:14px;min-height:44px;padding:10px 0}
.review-case-document-excerpt,.review-document p,.review-document li{font-size:15px;line-height:1.75}
.review-document-title{font-size:16px;line-height:1.5}
.review-document>summary{min-height:48px;padding:8px 0;cursor:pointer}
.review-document-page-text,.review-ocr-text{font-size:16px;line-height:1.8}
.review-evidence-desk .review-inspector .review-chat-message{font-size:16px;line-height:1.75;padding:16px}
.review-inspector .review-chat-intro{font-size:15px;color:var(--ink);line-height:1.7}
.review-inspector .review-chat-hints button{font-size:14px;min-height:48px;padding:14px 16px;border:1px solid var(--line);background:var(--void)}
.review-inspector .review-chat-panel>select{width:100%;font-size:14px;min-height:44px;padding:10px 12px;margin-bottom:16px}
.review-inspector .review-chat-composer textarea{font-size:16px;line-height:1.6;min-height:108px;background:var(--void)}
.review-inspector .review-chat-composer .btn{min-height:44px;font-size:14px}
.review-chat-disclaimer{font-size:12px;line-height:1.6}
.review-evidence-desk .review-cue{font-size:15px;line-height:1.7;padding:16px 8px;grid-template-columns:48px minmax(0,1fr)}
.review-evidence-desk .review-words,button.review-words{font-size:15px;line-height:1.7}
.review-evidence-desk .review-time,.review-evidence-desk .review-speaker{font-size:12px}
.review-evidence-desk .review-current{max-height:none;height:auto;overflow:visible}
.review-evidence-desk .review-current-words{font-size:16px;line-height:1.7}
.review-evidence-desk .review-cues{scrollbar-color:#c2c4ca transparent}
.review-speaker-sample-words{font-size:14px;line-height:1.7}
.review-speaker-actions>.btn,.review-speakers-unassigned{font-size:14px}
.review-summary-guidance{font-size:15px;line-height:1.75;max-width:55ch}
.review-summary-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.review-summary-actions>.btn{font-size:14px;min-height:44px}
.review-mode dialog{padding:28px;border-radius:16px}
.review-mode dialog h2{font-size:26px;line-height:1.3;letter-spacing:-.03em}
.review-mode dialog label,.review-mode dialog select,.review-mode dialog input{font-size:15px}
.review-mode dialog select{min-height:44px}
.review-status-body{width:400px;padding:20px}
.review-status-body .review-status-source{font-size:13px}
.review-source-item:focus-visible{outline-offset:-2px}
.review-mode footer{margin-top:40px;padding-top:24px}
@media(min-width:1200px) and (min-height:800px){.review-evidence-desk .review-media{position:sticky;top:24px}}
@media(max-width:900px){
 html:has(body.review-mode){scroll-padding-bottom:96px}
 .review-mode :is(button,input,select,textarea,a,summary){scroll-margin-bottom:96px}
 .review-mode{padding-bottom:100px}
 .review-evidence-desk .review-inspector{overflow:visible}
 .review-evidence-desk .review-inspector>[role=tabpanel]{position:static;max-height:none;min-height:0;height:auto;overflow:visible;scrollbar-gutter:auto;padding-right:0;scroll-margin-top:20px}
 .review-evidence-desk .review-current{max-height:none;height:auto;overflow:visible}
 .review-evidence-desk .review-inspector .review-cues,.review-evidence-desk .review-transcript.has-passages .review-cues{height:auto;max-height:480px;min-height:140px;overflow-y:auto;overscroll-behavior:auto}
 .review-evidence-desk .review-inspector-tabs{position:fixed;bottom:0;left:0;right:0;z-index:45;display:flex;justify-content:space-around;flex-wrap:nowrap;gap:8px;margin:0;padding:8px 12px max(8px,env(safe-area-inset-bottom));background:var(--void);border:0;border-top:1px solid var(--line);box-shadow:0 -4px 20px var(--shadow-color);border-radius:0}
 .review-evidence-desk .review-inspector-tabs button{min-height:48px;font-size:14px;padding:10px 8px;flex:1;border-bottom:0;border-radius:8px}
 .review-evidence-desk .review-inspector-tabs button[aria-selected=true]{background:var(--panel);border-bottom:0;font-weight:600}
}
@media(max-width:600px){
 .review-mode{padding:16px 12px 100px}
 .review-mode .review-toolbar .review-workspace-nav[role=tablist]{gap:14px;overflow-x:auto;justify-content:flex-start}
 .review-mode .review-toolbar .review-workspace-nav[role=tablist] button{font-size:14px;flex-shrink:0}
 .review-evidence-desk .review-inspector-tabs{gap:4px;justify-content:space-around}
 .review-evidence-desk .review-inspector-tabs button{font-size:14px;flex-shrink:0}
 .review-evidence-desk .review-timeline span{font-size:12px}
 .review-evidence-desk .review-playback>.btn,.review-evidence-actions>.btn{font-size:13px}
 .review-evidence-desk .review-inspector{padding:20px 16px}
 .review-brief-stat>span{font-size:12px}
 .review-mode dialog{padding:20px;max-height:90dvh}
}

/* Matter list and intake use the same legible controls as the review desk. */
body:not(.review-mode){background:var(--ground)}
body:not(.review-mode) .wrap{max-width:1160px}
body:not(.review-mode) header{border:0;border-radius:0;position:static;background:transparent;box-shadow:none;padding:0 0 20px;margin-bottom:40px;border-bottom:1px solid var(--line)}
.portal-intro h1{font-size:clamp(32px,4vw,46px);line-height:1.15;max-width:20ch}
.portal-intro .sub{font-size:16px;line-height:1.75;max-width:62ch}
#gateCard{max-width:560px;background:var(--void);padding:32px;border-radius:16px;border:1px solid var(--line)}
#gateCard>strong{font-size:22px;line-height:1.4;letter-spacing:-.025em}
.gate-row input,.gate-row .btn{min-height:48px;font-size:16px}
#account .matter-list-heading h2{font-size:30px;line-height:1.3}
.matter-card{background:var(--void);border:1px solid var(--line);min-height:220px;padding:24px}
.matter-card .mname{font-size:18px;line-height:1.5;font-weight:600}
.matter-card .mmeta{font-size:13px;line-height:1.6}
.matter-card .btn{font-size:14px;min-height:44px;margin-top:auto}
.review-upload{background:var(--void);padding:24px}
.review-upload>summary{font-size:17px;min-height:44px;line-height:1.5}
.dropzone{padding:32px 24px;background:var(--panel-soft);border:1px dashed var(--line-solid);border-radius:12px}
.dropzone strong{font-size:20px;line-height:1.5}
.dropzone small{font-size:14px;line-height:1.7;display:block;margin-top:8px}
#uploadPanel>.actions>.btn{min-height:44px;font-size:14px}
@media(max-width:600px){#gateCard{padding:24px}.gate-row{flex-direction:column}.gate-row input{flex-basis:auto;width:100%}.review-upload{padding:20px}.dropzone{padding:24px 16px}}
.review-equipment-moments{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid var(--line,#e0e0e5)}
.review-equipment-moments[hidden]{display:none}
.review-equipment-title{font-size:13px;font-weight:600;margin-right:4px}
.review-equipment-moments small{flex-basis:100%;font-size:12px;margin:0}
.review-equipment-box{border-width:2px}

/* ————— appearance: dark ground —————
   Same monochrome instrument on the dark-grounds identity. Only tokens move;
   the video letterbox and alert red stay constant. */
:root[data-theme="dark"]{
  --line:rgba(245,245,247,.13);--hairline:rgba(245,245,247,.09);--wash:rgba(245,245,247,.05);
  --shadow-object:0 1px 2px rgba(0,0,0,.35),0 8px 24px -18px rgba(0,0,0,.55);
  --shadow-lift:0 1px 2px rgba(0,0,0,.40),0 14px 34px -16px rgba(0,0,0,.60);
  --ring:0 0 0 3px rgba(245,245,247,.16);
  --glass:rgba(19,19,21,.82);--speaking-wash:rgba(245,245,247,.08);
  --scroll-thumb:rgba(245,245,247,.25);--scroll-thumb-hover:rgba(245,245,247,.33);
  --ground:#131315;--ground-inset:#1D1D1F;--flag-skeleton:#28282B;
  --mode-muted:#98989F;--mode-line:#343437;--mode-hairline:rgba(245,245,247,.09);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --line:rgba(245,245,247,.13);--hairline:rgba(245,245,247,.09);--wash:rgba(245,245,247,.05);
    --shadow-object:0 1px 2px rgba(0,0,0,.35),0 8px 24px -18px rgba(0,0,0,.55);
    --shadow-lift:0 1px 2px rgba(0,0,0,.40),0 14px 34px -16px rgba(0,0,0,.60);
    --ring:0 0 0 3px rgba(245,245,247,.16);
    --glass:rgba(19,19,21,.82);--speaking-wash:rgba(245,245,247,.08);
    --scroll-thumb:rgba(245,245,247,.25);--scroll-thumb-hover:rgba(245,245,247,.33);
    --ground:#131315;--ground-inset:#1D1D1F;--flag-skeleton:#28282B;
    --mode-muted:#98989F;--mode-line:#343437;--mode-hairline:rgba(245,245,247,.09);
  }
}

/* ————— calm pass: fewer words in the eye at once —————
   Guidance text steps back; headings and evidence step forward. No content
   is removed — secondary prose is smaller, dimmer, and narrower. */
.review-hint,.review-notice,.review-chat-disclaimer,.review-attention-limit,.review-brief-scope{
  font-size:12.5px;color:var(--dim);max-width:62ch;line-height:1.55}
.review-eyebrow{font-size:10.5px;letter-spacing:.12em;color:var(--dim)}
.review-heading h2,.review-analysis-heading h3{letter-spacing:-.01em}
.review-workspace-view{margin-top:var(--s3)}
.review-jump-nav .btn{font-size:12px;padding:.5rem .9rem}
:root[data-theme="dark"] header img{filter:invert(1)}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) header img{filter:invert(1)} }
/* Enhanced-frame derivative dialog and per-cue state lines (firearm lane). */
.review-enhancement-dialog{width:min(760px,calc(100% - 32px));max-height:90vh;overflow:auto}.review-enhancement-dialog h2{font-size:22px;line-height:1.3;margin:0 0 8px}
.review-enhancement-notice{margin:0 0 10px;font-size:14px;line-height:1.55;border-left:3px solid var(--ink);padding-left:10px}
.review-enhancement-figure{margin:12px 0;display:grid;gap:6px}.review-enhancement-figure img{display:block;max-width:100%;max-height:52vh;margin:0 auto;border-radius:6px;background:#111;outline:2px solid var(--dim);outline-offset:0}
.review-enhancement-figure img[hidden]{display:none}.review-enhancement-steps{margin:8px 0;padding-left:22px;font-size:13px;line-height:1.6}
.review-enhancement-facts{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:8px 0 14px;font-size:12px;line-height:1.5}.review-enhancement-facts dt{color:var(--muted)}.review-enhancement-facts dd{margin:0;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.review-visual-state,.review-visual-cue-state{margin:6px 0 0;font-size:13px;line-height:1.55;overflow-wrap:anywhere}.review-visual-state.is-firearm>strong,.review-visual-cue-state.is-firearm>strong{color:inherit;box-shadow:inset 0 -2px 0 currentColor}
.review-enhancement-open{margin-top:6px;font-size:12px;min-height:40px}.review-visual-audit{display:block;margin-top:4px;color:var(--muted)}
@media(max-width:480px){.review-enhancement-dialog{padding:18px}.review-enhancement-facts{grid-template-columns:1fr}}
.review-visual-leads{margin:0 0 14px;padding:10px 12px;border-left:3px solid var(--ink);background:var(--wash);border-radius:0 8px 8px 0}.review-visual-leads-coverage{margin:0 0 8px;font-size:13px;line-height:1.55}
.review-visual-leads-list{margin:0;padding:0;list-style:none;display:grid;gap:6px}.review-visual-leads-list li{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:baseline;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.review-lead-time{font:inherit;font-size:12px;font-variant-numeric:tabular-nums;min-height:32px;padding:2px 8px;border:1px solid var(--line);border-radius:6px;background:transparent;color:inherit;cursor:pointer}
/* Always-visible one-line disclosure for the boxes on screen (why none, held, hidden or refused candidates). */
.review-box-note{margin:6px 0 0;font-size:12px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}.review-box-note[hidden]{display:none}
.review-cue-box.is-unchecked{border-style:dashed;box-shadow:0 0 0 1px #0009}.review-cue-box.is-unchecked>.review-cue-box-label{max-width:max(100%,320px)}
/* Handcuffs (restraint) leads: a neutral silver outline and label, never the firearm colour. */
.review-cue-box.is-restraint{border-color:#E6E8EB;border-style:solid;box-shadow:0 0 0 1px #000c,inset 0 0 0 1px #0007}
.review-cue-box.is-restraint>.review-cue-box-label{background:#E6E8EB;color:#111;letter-spacing:0}
.review-visual-cue.is-restraint,.review-visual-cues .review-visual-cue.is-restraint{border-left:3px solid var(--ink,#111);padding-left:11px}
.review-visual-state.is-restraint>strong,.review-visual-cue-state.is-restraint>strong{color:inherit;box-shadow:inset 0 -2px 0 #9AA3AD}

.review-track-box.is-restraint{border-color:#E6E8EB;border-style:dashed}
.review-track-box.is-restraint>span{background:#E6E8EB;color:#111}
