/* RC5 — Everlaw's structure, Harvey's feel (case-record.js + the working screen). One review window with three fixed
   regions: the review list and its tag card on the left, the picture in the centre, the synced transcript and the Law
   on the right; the Case record is its own page. Calm: generous space, a strict grid, one family, sentence case, one
   accent — the ink itself (monochrome, per the identity guide): an "on" control is filled ink, everything else is quiet.
   State is weight, fill and shape; never a hue. Every rule is scoped to .ws.is-rc5 so the older views are untouched. */
.ws.is-rc5{--gut:20px;--cpad:28px;--r:10px}
/* ------------------------------------------------------------ top bar: search is the front door */
.ws.is-rc5 .ws-top{min-height:60px;gap:20px}
.ws.is-rc5 .ws-search{flex:1 1 380px;max-width:560px;margin:0 auto}
.ws.is-rc5 .ws-search input{height:40px;border-radius:10px;font-size:15px;padding-left:36px;background:var(--fill)}
.ws.is-rc5 .ws-sicon{left:12px}
.ws-pages{display:inline-flex;padding:2px;border-radius:9px;background:var(--fill);flex:none}
.ws .ws-pagebtn{min-height:32px;padding:0 14px!important;border-radius:7px;font-size:var(--t-sec);font-weight:500;color:var(--soft)!important;white-space:nowrap}
.ws .ws-pagebtn:hover{color:var(--ink)!important}
.ws .ws-pagebtn.is-on,.ws .ws-pagebtn[aria-pressed="true"]{background-color:var(--raised)!important;color:var(--ink)!important;font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.06)}
/* ------------------------------------------------------------ the grid */
.ws.is-rc5 .ws-body{grid-template-columns:clamp(268px,21%,320px) minmax(0,1fr) clamp(320px,27%,420px)}
.ws.is-rc5 .ws-left{display:flex;flex-direction:column;overflow:hidden}
.ws-lscroll{flex:1;min-height:0;overflow:auto}
.ws.is-rc5 .ws-index{top:0}
/* the stage's old head (name, recap, key chips) gives its room to the picture; the name stays for assistive tech */
.ws.is-rc5 .ws-hero{padding:0}
.ws.is-rc5 .ws-hero>:not(.ws-name){display:none!important}
.ws.is-rc5 .ws-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ws.is-rc5 .ws-rec{padding-top:0}
.ws-rechead{display:flex;align-items:baseline;gap:12px;min-height:56px;padding:18px 0 12px;min-width:0}
.ws-recname{font-family:var(--ui-d);font-size:var(--t-title);font-weight:600;line-height:1.2;letter-spacing:-.012em;white-space:nowrap}
.ws-recrole{font-size:var(--t-sec);color:var(--soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;font-variant-numeric:tabular-nums}
.ws.is-rc5 .ws-stage{height:min(56.25cqw,calc(100vh - var(--ws-top-h,61px) - var(--ws-bot-h,30px) - 300px));height:min(56.25cqw,calc(100dvh - var(--ws-top-h,61px) - var(--ws-bot-h,30px) - 300px));min-height:260px}
/* the slim bar under the picture */
.ws.is-rc5 .ws-sbar{min-height:44px;padding:6px 10px 6px 14px;gap:6px 12px}
.ws.is-rc5 .ws-leg,.ws.is-rc5 .ws-sound,.ws.is-rc5 .ws .ws-tool,.ws.is-rc5 .ws-tool{min-height:28px;padding:0 10px!important;font-size:var(--t-cap)}
.ws.is-rc5 .ws-tlabel{font-size:var(--t-cap)}
.ws.is-rc5 .ws-boxnote{padding:0 12px 8px 14px}
/* one provenance line (the bottom line): the per-part repeats stay for assistive tech only */
.ws.is-rc5 .ws-lnote,.ws.is-rc5 .ws-left .ws-sec[data-key="moments"]>.ws-note{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;padding:0}
.ws.is-rc5 .ws-clocksub .ws-rectitle{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ws.is-rc5 .ws-transport{padding-top:14px}
.ws.is-rc5 .ws-ends{padding:4px 44px 0 88px}
.ws.is-rc5 .ws-nowrow{padding:16px 0 4px;min-height:56px}
.ws.is-rc5 .ws-time{font-size:24px}
.ws.is-rc5 .ws-nowmark{min-height:28px;padding:0 10px!important;background-color:transparent!important;box-shadow:inset 0 0 0 1px var(--rule)}
.ws.is-rc5 .ws-nowmark.is-done{background-color:var(--ink)!important;box-shadow:none}
/* timeline markers: the shape says what it is */
.ws.is-rc5 .ws-dot{background:var(--soft)!important}
.ws.is-rc5 .ws-dot.is-gun{border-radius:0!important;background:transparent!important;border:0!important;width:0!important;height:0!important;margin-left:-6px!important;top:1px;
  border-left:6px solid transparent!important;border-right:6px solid transparent!important;border-bottom:11px solid var(--ink)!important;box-sizing:content-box}
.ws.is-rc5 .ws-dot.is-sound{border-radius:1px!important;transform:rotate(45deg);width:8px!important;height:8px!important;margin-left:-4px!important;top:3px;background:var(--ink)!important;border:0!important}
.ws.is-rc5 .ws-dot.is-tag{top:auto;bottom:-2px;border-radius:1px!important;width:8px!important;height:8px!important;margin-left:-4px!important;background:var(--ink)!important;border:0!important}
.ws.is-rc5 .ws-dot.is-on:not(.is-gun){box-shadow:0 0 0 3px var(--sel)}
.ws.is-rc5 .ws-tl{height:44px}
.ws-tlkey{display:inline-flex;gap:14px;flex-wrap:wrap;justify-content:center}
.ws-tlk{display:inline-flex;align-items:center;gap:6px}
.ws-tlk .ws-dot{position:static!important;margin:0!important;display:inline-block;flex:none}
.ws-tlk .ws-dot.is-said{width:7px!important;height:7px!important;border:0!important;border-radius:50%}
.ws-tlk .ws-dot.is-sound{width:7px!important;height:7px!important}
.ws-tlk .ws-dot.is-tag{width:7px!important;height:7px!important}
/* the recording switcher and the grid it opens in place */
.ws-switch{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;padding:18px 0 4px;border-top:1px solid var(--rule);margin-top:16px}
.ws .ws-recstep{min-height:32px;padding:0 10px!important;gap:4px}
.ws-recpos{font-size:var(--t-sec);color:var(--soft);font-variant-numeric:tabular-nums;min-width:4.5em;text-align:center}
.ws-alsocams{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}
.ws-alsol{font-size:var(--t-sec);color:var(--soft)}
.ws .ws-alsob{min-height:28px;padding:0 10px!important;border-radius:999px;background-color:var(--fill)!important;font-size:var(--t-cap);font-weight:500;font-variant-numeric:tabular-nums}
.ws .ws-allrecs{margin-left:auto;min-height:32px;padding:0 14px!important;border-radius:8px;background-color:var(--fill)!important;font-size:var(--t-sec);font-weight:600;color:var(--ink)!important;white-space:nowrap}
.ws .ws-allrecs[aria-expanded="true"]{background-color:var(--ink)!important;color:var(--on-ink)!important}
.ws.is-rc5 .ws-recs{padding-top:14px}
.ws.is-rc5 .ws-recs>.ws-recsh,.ws.is-rc5 .ws-recs>.ws-fine{display:none}
/* ------------------------------------------------------------ the tag card */
.cr-tagcard{flex:none;padding:16px var(--gut) 16px;border-bottom:1px solid var(--rule);background:var(--pane);display:flex;flex-direction:column;gap:10px}
.cr-tagcard.is-phone{display:none}
.cr-taghead{display:flex;flex-direction:column;gap:3px;min-height:44px}
.cr-tagwhere{font-size:var(--t-cap);font-weight:500;color:var(--soft);font-variant-numeric:tabular-nums}
.cr-tagsaid{font-size:var(--t-body);line-height:1.4;color:var(--ink);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}
.cr-tags{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.ws .cr-tag{min-height:34px;padding:0 10px!important;border-radius:8px;background-color:var(--fill)!important;font-size:var(--t-sec);font-weight:500;color:var(--ink)!important;text-align:center!important;white-space:nowrap;transition:background .15s}
.ws .cr-tag:hover:not(:disabled){background-color:var(--fill-2)!important}
.ws .cr-tag.is-on{background-color:var(--ink)!important;color:var(--on-ink)!important;font-weight:600}
.cr-qhead{font-size:var(--t-cap);font-weight:600;color:var(--soft);margin-top:2px!important}
.cr-qs{display:flex;flex-wrap:wrap;gap:4px}
.ws .cr-qchip{min-height:26px;padding:0 9px!important;border-radius:999px;font-size:var(--t-cap);font-weight:500;color:var(--soft)!important;box-shadow:inset 0 0 0 1px var(--rule);white-space:nowrap}
.ws .cr-qchip.is-suggested{color:var(--ink)!important}
.ws .cr-qchip.is-on{background-color:var(--ink)!important;color:var(--on-ink)!important;box-shadow:none}
.cr-note{display:flex;gap:6px}
.cr-note input{flex:1;min-width:0;height:32px;padding:0 10px;font:inherit;font-size:var(--t-sec);color:var(--ink);background:var(--fill);border:0;border-radius:8px}
.ws .cr-notego{flex:none;min-height:32px;padding:0 10px!important;border-radius:8px;font-size:var(--t-sec);font-weight:500;color:var(--ink)!important}
.ws .cr-notego:hover{background-color:var(--fill)!important}
.cr-tagcard.is-empty .cr-tags,.cr-tagcard.is-empty .cr-qs,.cr-tagcard.is-empty .cr-note,.cr-tagcard.is-empty .cr-qhead{opacity:.45}
.ws-tagi{position:relative}
.ws-tagi::before{content:"";width:8px;height:8px;border-radius:1px;background:var(--ink);transform:rotate(0)}
.ws-tagi[data-tag="Cuts against"]::before{background:transparent;box-shadow:inset 0 0 0 2px var(--ink)}
.ws-tagi[data-tag="Question"]::before{border-radius:50%;background:transparent;box-shadow:inset 0 0 0 2px var(--ink)}
.ws-tagi[data-tag="Key"]::before{transform:rotate(45deg)}
/* the Moments groups (Key moments, then the rest) */
.ws.is-rc5 .ws-gh{padding:10px var(--gut) 4px}
/* ------------------------------------------------------------ transcript: find, and select → Clip this */
.cr-ttools{flex:none;padding:10px var(--gut) 6px;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--rule)}
.cr-tsearch input{width:100%;height:34px;padding:0 12px;font:inherit;font-size:var(--t-sec);color:var(--ink);background:var(--fill);border:0;border-radius:8px}
.cr-tcrow{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-height:0}
.cr-tcount{font-size:var(--t-cap);color:var(--soft)}
.cr-tcount:empty{display:none}
.ws .cr-small{font-size:var(--t-cap)}
.cr-sel{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px;font-size:var(--t-cap);color:var(--soft)}
.cr-sel.is-on{color:var(--ink)}
.cr-selt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}
.ws .cr-primary{flex:none;min-height:30px;padding:0 12px!important;border-radius:8px;background-color:var(--ink)!important;color:var(--on-ink)!important;font-size:var(--t-sec);font-weight:600;white-space:nowrap}
.ws .cr-primary:disabled{opacity:.25}
.ws .ws-cueb.cr-found{background:var(--fill-2)}
.ws .ws-cueb.cr-found.is-cur{background:var(--ink)!important;color:var(--on-ink)}
.ws.is-rc5 .ws-cx{user-select:text;-webkit-user-select:text}
.ws.is-rc5 .ws-cueb{user-select:text;-webkit-user-select:text}
/* ------------------------------------------------------------ Law */
.cr-law{display:flex;flex-direction:column;gap:14px}
.cr-note1{font-size:var(--t-cap);color:var(--soft)}
.cr-h{font-size:var(--t-sec);font-weight:600;color:var(--soft)}
.cr-hq{margin-top:6px!important}
.cr-here{display:flex;flex-direction:column;gap:8px}
.cr-hit{padding:12px;border-radius:var(--r);background:var(--sel);display:flex;flex-direction:column;gap:4px}
.cr-hitq{font-size:var(--t-sec);font-weight:600}
.cr-side{font-size:var(--t-cap);font-weight:600;color:var(--soft)}
.cr-hitt{font-size:var(--t-sec);line-height:1.45}
.cr-q{border-top:1px solid var(--rule);padding-top:4px}
.cr-q:first-of-type{border-top:0}
.ws .cr-qh{width:100%;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:2px 8px;padding:10px 0!important;text-align:left}
.cr-qg{font-size:var(--t-cap);font-weight:500;color:var(--soft);white-space:nowrap}
.cr-qt{font-size:var(--t-body);font-weight:600;color:var(--ink)}
.cr-qm{grid-column:1/-1;font-size:var(--t-cap);color:var(--soft);font-variant-numeric:tabular-nums}
.cr-rule{font-size:var(--t-sec);line-height:1.5;color:var(--soft);margin:2px 0 10px!important}
.cr-sub{font-size:var(--t-cap);font-weight:600;color:var(--soft);margin:12px 0 6px!important}
.cr-auth{padding:14px;border-radius:var(--r);background:var(--card);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.cr-auth.is-compact{padding:10px 12px;gap:3px;box-shadow:none;background:var(--fill)}
.cr-authtop{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.cr-authn{font-size:var(--t-body);font-weight:600;line-height:1.35;min-width:0;overflow-wrap:anywhere;font-style:italic}
.cr-authm{font-size:var(--t-cap);color:var(--soft);font-variant-numeric:tabular-nums}
.cr-flag{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-cap);color:var(--soft);white-space:nowrap;flex:none}
.cr-dot{width:8px;height:8px;border-radius:50%;display:inline-block;box-shadow:inset 0 0 0 1.5px var(--ink)}
.cr-flag.is-green .cr-dot{background:var(--ink)}
.cr-flag.is-yellow .cr-dot{background:linear-gradient(90deg,var(--ink) 50%,transparent 50%)}
.cr-flag.is-red .cr-dot{border-radius:1px;background:var(--ink);transform:rotate(45deg)}
.cr-flag.is-red{color:var(--ink);font-weight:600}
.cr-flag.is-gray .cr-dot{box-shadow:inset 0 0 0 1.5px var(--soft)}
.cr-quote{margin:4px 0 0;padding:0 0 0 12px;border-left:2px solid var(--ink)}
.cr-quote p:first-child{font-size:var(--t-sec);line-height:1.5;font-weight:500;color:var(--ink)}
.cr-quotem{font-size:var(--t-cap);color:var(--soft);margin-top:4px!important}
.cr-lead{font-size:var(--t-cap);color:var(--soft);font-style:italic}
.cr-authacts{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:4px}
.ws .cr-file{min-height:28px;padding:0 10px!important;border-radius:8px;box-shadow:inset 0 0 0 1px var(--rule);font-size:var(--t-cap);font-weight:500;color:var(--ink)!important;white-space:nowrap}
.ws .cr-file:hover{background-color:var(--fill)!important}
.ws .cr-file.is-on{background-color:var(--ink)!important;color:var(--on-ink)!important;box-shadow:none}
.cr-cl{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-size:var(--t-cap);color:var(--ink);text-decoration:underline;text-decoration-color:var(--soft);text-underline-offset:3px}
/* ------------------------------------------------------------ the Case record page */
.ws.is-rc5[data-page="record"] .ws-body,.ws.is-rc5[data-page="record"] .ws-tabbar{display:none!important}
.cr-page{min-height:0;overflow:auto;background:var(--bg);padding:40px clamp(20px,6vw,88px) 64px}
.cr-page>*{max-width:1180px;margin-inline:auto}
.cr-phead{display:flex;flex-direction:column;gap:6px;padding-bottom:28px}
.cr-ptop{display:flex;align-items:center;justify-content:space-between;gap:16px}
.cr-ptitle{font-family:var(--ui-d);font-size:28px;font-weight:600;letter-spacing:-.02em;line-height:1.15}
.cr-ptitle:focus{outline:none}
.cr-psub{font-size:var(--t-lead);color:var(--soft);font-variant-numeric:tabular-nums}
.cr-empty{margin-top:10px!important;padding:14px 16px;border-radius:var(--r);background:var(--sel);font-size:var(--t-body);max-width:640px}
.cr-groups{display:flex;flex-direction:column;gap:18px}
.cr-g{padding:24px;border-radius:14px;background:var(--pane);box-shadow:var(--shadow)}
.cr-gh{display:flex;align-items:baseline;gap:10px}
.cr-gt{font-size:18px;font-weight:600;letter-spacing:-.01em}
.cr-gsub{font-size:var(--t-sec);color:var(--soft);margin-top:2px!important}
.cr-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:18px}
.cr-colh{font-size:var(--t-sec);font-weight:600;color:var(--soft);margin-bottom:8px!important}
.cr-none{font-size:var(--t-sec);color:var(--soft);padding:8px 0}
.cr-trow{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:10px 0;border-top:1px solid var(--rule)}
.ws .cr-tplay{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px!important;border-radius:999px;background-color:var(--fill)!important;font-size:var(--t-cap);font-weight:600;color:var(--ink)!important;white-space:nowrap;font-variant-numeric:tabular-nums}
.ws .cr-tplay:hover{background-color:var(--fill-2)!important}
.cr-tt{display:flex;flex-direction:column;gap:3px;min-width:0}
.cr-tsaid{font-size:var(--t-body);line-height:1.45}
.cr-tnote{font-size:var(--t-sec)}
.cr-ttag{font-size:var(--t-cap);color:var(--soft)}
.cr-frow{padding:10px 0;border-top:1px solid var(--rule);display:flex;flex-direction:column;gap:2px}
.cr-fn{font-size:var(--t-sec);font-weight:600;font-style:italic}
.cr-sugg{margin-top:10px}
.cr-srow{padding:10px 12px;margin-top:6px;border-radius:var(--r);background:var(--fill);display:flex;flex-direction:column;gap:8px}
.cr-st{font-size:var(--t-sec);line-height:1.5;color:var(--ink)}
.cr-sacts{display:flex;flex-wrap:wrap;gap:6px}
.cr-other,.cr-miss{margin-top:18px;padding-top:14px;border-top:1px solid var(--rule)}
.cr-miss ul{list-style:disc;padding-left:18px;display:flex;flex-direction:column;gap:3px}
.cr-miss li{font-size:var(--t-sec);color:var(--soft);line-height:1.45}
.cr-pfoot{margin-top:28px!important;font-size:var(--t-cap);color:var(--soft)}
/* ------------------------------------------------------------ narrower screens */
@media (max-width:1199px){.ws.is-rc5 .ws-body{grid-template-columns:clamp(240px,26%,280px) minmax(0,1fr) clamp(290px,31%,340px)}.ws-tlkey{display:none}}
@media (max-width:760px){
  .ws.is-rc5{--cpad:16px;--gut:16px}
  .ws.is-rc5[data-phone="source"] .ws-left,.ws.is-rc5[data-phone="details"] .ws-left{display:none}
  .ws.is-rc5 .ws-top{flex-wrap:wrap;gap:8px 10px;padding-bottom:8px}
  .ws.is-rc5 .ws-search{order:5;flex:1 1 100%;max-width:none}
  .ws.is-rc5 .ws-body{grid-template-columns:minmax(0,1fr)}
  .ws.is-rc5 .ws-stage{height:56.25cqw;min-height:0}
  .cr-tagcard.is-phone{display:flex;margin:16px 0 0;padding:14px 0 12px;border-bottom:0;border-top:1px solid var(--rule);background:transparent}
  .ws .cr-tag,.ws .cr-qchip,.ws .cr-notego,.ws .cr-file,.ws .cr-tplay,.ws .ws-allrecs,.ws .ws-recstep,.ws .ws-alsob,.ws .ws-pagebtn,.ws .cr-primary{min-height:44px}
  .cr-note input,.cr-tsearch input{height:44px}
  .cr-cols{grid-template-columns:1fr;gap:18px}
  .cr-page{padding:24px 16px 48px}
  .cr-g{padding:16px}
  .ws .ws-allrecs{margin-left:0}
  .ws-rechead{flex-wrap:wrap;gap:2px 10px;padding:12px 0 10px}
  .ws.is-rc5 .ws-ends{padding:2px var(--gut) 0}
  .ws.is-rc5[data-open="recording"] .ws-nowrow{padding-inline:var(--gut)}
}
@media (max-width:760px){.ws.is-rc5 .ws-pages{order:3}.ws.is-rc5 .ws-tools{order:4;margin-left:auto}}
.ws.is-rc5 .ws-nowm,.ws.is-rc5 .ws-nowl{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
/* phone: the recording view is laid out by order (its section is display:contents there) */
@media (max-width:760px){
  .ws.is-rc5[data-open="recording"] .ws-rechead{order:0;padding-inline:var(--gut)}
  .ws.is-rc5[data-open="recording"] .cr-tagcard.is-phone,.ws.is-rc5[data-open="recording"] .ws-switch,.ws.is-rc5[data-open="recording"] .ws-recs{order:2;margin-inline:var(--gut)}
  .ws.is-rc5[data-open="recording"] .ws-clipslot{order:4}
}
@media (max-width:760px){
  .ws.is-rc5 .ws-dots .ws-dot{background:transparent!important;border:0!important;transform:none!important;width:44px!important;height:44px!important;margin-left:-22px!important;top:0!important;bottom:auto!important;border-radius:0!important;box-shadow:none!important}
  .ws.is-rc5 .ws-dots .ws-dot::after{content:"";position:absolute;left:50%;top:30px;width:10px;height:10px;margin-left:-5px;background:var(--soft);border-radius:50%}
  .ws.is-rc5 .ws-dots .ws-dot.is-gun::after{clip-path:polygon(50% 0,100% 100%,0 100%);border-radius:0;width:12px;height:11px;margin-left:-6px;background:var(--ink)}
  .ws.is-rc5 .ws-dots .ws-dot.is-sound::after{transform:rotate(45deg);border-radius:1px;width:8px;height:8px;margin-left:-4px;top:31px;background:var(--ink)}
  .ws.is-rc5 .ws-dots .ws-dot.is-tag::after{border-radius:1px;width:8px;height:8px;margin-left:-4px;top:4px;background:var(--ink)}
  .ws.is-rc5 .ws-dots .ws-dot.is-on::after{box-shadow:0 0 0 3px var(--sel)}
}
