/* Signals Search — SIG-SEARCH-R3 (D23-R4) · R3b (the board's workspace). Search-only pieces
   of the Round 3 board: the title strip with the query, the three bordered panel columns,
   the filter rows with facet counts, the person rows, the results footer, the person-record
   preview pane (always present at ≥1280). The page heading, the
   inspector/overlay, chips, skeletons and state cards are the shared
   public/css/signals-grammar.css. Tokens are the shell's (ll-v5.css). No animation
   of its own — reduced motion is the shell's. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
main.signals-v2.ssr{line-height:1.5;}
/* the workspace fills the member's chosen content width (the shell's natural · wide · full
   switch), centred under the shell's gap like every other page; no title strip (R3e) */
main.signals-v2.ssr.shell-content{max-width:var(--content-max);padding-inline:0;}
.ssr .rlink{border:none;background:none;padding:0 .2rem;font-family:var(--mono);font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--violet);cursor:pointer;}
/* SIG-LANGUAGE-4 (operator GO 2026-09-02): Search's heads, cards, chips, controls, facets, readings and
   fine print are the shared D29 pieces in signals-grammar.css; this sheet keeps composition only —
   the three-panel workspace, the sunk rail, the grids, the sparklines, the responsive folding. */
/* the lockbar is the card in one stated variant — a viewer-state tint, because it speaks to the visitor */
.lockbar{display:flex;align-items:center;gap:var(--s4) var(--s6);flex-wrap:wrap;margin:0 auto var(--s4);max-width:var(--content-max,none);border-color:color-mix(in srgb,var(--violet) 35%,var(--border));background:color-mix(in srgb,var(--violet) 7%,var(--card));}
.lockcopy{flex:1 1 420px;}
.lockcopy h2{margin:0 0 var(--s1);}
.lockcopy p{margin:0;}
.lockacts{display:flex;gap:var(--s2);flex-wrap:wrap;align-items:center;}

/* ---------- signed out ---------- */
.lockbar[hidden]{display:none;}

/* ---------- the field (operator amendment R3d: "there's not even a spot to search") — the
   results column leads with the query in the Wire's check-bar grammar; the shell's box
   mirrors it ---------- */
.qbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:.35rem .2rem .9rem;}
.qbar[hidden]{display:none;}
.qfield{flex:1 1 420px;display:flex;align-items:center;gap:var(--s2);}
.qfield input{flex:1 1 160px;min-width:0;}
.qbar .fbtn{display:none;}

/* ---------- the workspace: three full-bleed panels (frame 01) — the sunk filter column with
   its right border, the results, the preview pane with its left border — filling the frame
   to the bottom of the viewport ---------- */
/* the workspace ends like every other box on Signals (operator, 2026-09-02: "the bottom of the search page and the
   bottom of the columns don't blend well"): the register's surface — a full border, the token radius, corners that
   clip the sunk rail and the preview pane, a breath of air before the legal line */
.cols{display:grid;grid-template-columns:256px minmax(0,1fr) 400px;gap:0;align-items:stretch;min-height:calc(100vh - var(--topchrome-h,96px) - 1.5rem);max-width:var(--content-max,none);width:100%;margin-inline:auto;border:1px solid var(--border);border-radius:var(--r-md);overflow:clip;box-shadow:var(--sh-sm);margin-bottom:var(--s6);}
.cols[hidden]{display:none;}
.fcol{display:block;min-width:0;background:var(--sunk);border-right:1px solid var(--border);padding:16px 16px 14px;}
.fstick{position:sticky;top:calc(var(--topchrome-h,96px) + .6rem);display:flex;flex-direction:column;gap:.9rem;}
.fgroup{display:flex;flex-direction:column;gap:.2rem;}
.flab{padding:0 var(--s1) var(--s1);}
.frow span small{font-family:var(--mono);font-size:.625rem;color:var(--dim);margin-left:.3rem;}
.frow .spk{flex:none;width:44px;height:15px;color:var(--dim);margin:0 .2rem;opacity:.85;}
.frow .spk polyline{fill:none;stroke:currentColor;stroke-width:1.2;stroke-linejoin:round;vector-effect:non-scaling-stroke;}
.frow.is-on .spk,.frow:hover .spk{color:var(--violet);opacity:1;}
.fnote{margin:var(--s1) var(--s1) 0;}
.fnote .pro{color:var(--violet);font-weight:700;letter-spacing:.06em;}
.fnote.facets{border-top:1px solid var(--border);padding-top:var(--s3);}
.fmore{padding:0;}
.fmore summary{list-style:none;}
.fmore summary::-webkit-details-marker{display:none;}
.fmore.on summary{border-color:var(--ac);color:var(--ink);}
.moregrid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2);margin-top:var(--s2);}
.moregrid label{display:flex;flex-direction:column;gap:var(--s1);}
.moregrid input{width:100%;}
.moregrid .fnote{grid-column:1 / -1;margin:0;}
.frow .spk{flex:none;width:44px;height:15px;color:var(--dim);margin:0 .2rem;opacity:.85;}
.frow .spk polyline{fill:none;stroke:currentColor;stroke-width:1.2;stroke-linejoin:round;vector-effect:non-scaling-stroke;}
.fnote .pro{color:var(--violet);font-weight:700;letter-spacing:.06em;}
.fnote.facets{border-top:1px solid var(--border);padding-top:.7rem;}
.moregrid .fnote{grid-column:1 / -1;margin:0;}
.fstick .fclear{align-self:flex-start;}

/* ---------- results ---------- */
.rcol{display:flex;flex-direction:column;min-width:0;padding:10px 14px 12px;}
.rhead{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;flex-wrap:wrap;padding:.2rem .4rem .7rem;}
.rhint{margin:var(--s1) var(--s2) 0;}
.sentence{margin:0;}
.sortl{display:inline-flex;align-items:center;gap:var(--s2);}
.plist{display:flex;flex-direction:column;}
/* a person row inside the register: the grid is Search's, the surface and the hairlines are the register's */
.prow{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) 172px 84px;gap:.8rem;align-items:center;padding:var(--s2) var(--s3);border-top:1px solid var(--border-2);cursor:pointer;min-height:56px;}
.prow:first-child{border-top:0;}
.prow:hover{background:var(--row-hover,color-mix(in srgb,var(--ink) 4%,transparent));}
.prow.sel{background:color-mix(in srgb,var(--violet) 9%,var(--card));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--violet) 45%,transparent);}
.prow .pt b{font-family:var(--mono);font-size:.78rem;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.prow .pt span{font-family:var(--mono);font-size:.64rem;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.prow .obar.nf{display:block;height:8px;border-radius:2px;background:var(--oc-grey-soft);}
.prow .pmeta{font-family:var(--mono);font-size:.64rem;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.prow .unp.bad{color:var(--oc-red);}
.prow .go{font-family:var(--mono);font-size:.64rem;font-weight:700;color:var(--violet);text-align:right;white-space:nowrap;opacity:0;}
.rfoot{display:flex;align-items:center;gap:.6rem 1rem;flex-wrap:wrap;padding:.8rem .2rem 0;font-family:var(--mono);font-size:.64rem;color:var(--dim);}
.rfoot .asof{margin-left:auto;}
.prow:focus-visible{outline:2px solid var(--violet);outline-offset:-2px;}
.prow .av{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.64rem;font-weight:700;color:var(--violet);background:color-mix(in srgb,var(--violet) 12%,var(--card));border:1px solid color-mix(in srgb,var(--violet) 30%,var(--border));}
.prow .pt{min-width:0;display:flex;flex-direction:column;gap:.12rem;}
.prow .pout{display:flex;flex-direction:column;gap:.3rem;min-width:0;}
.prow .unp{font-weight:700;}
.prow.sel .go,.prow:hover .go,.prow:focus-visible .go{opacity:1;}
.prow:focus-visible{outline:2px solid var(--violet);outline-offset:-2px;}

/* ---------- the preview: the third panel at ≥1280 (always present — the first match
   previews, a row swaps it), the grammar's overlay below ---------- */
.pcol.insp{position:sticky;top:calc(var(--topchrome-h,96px) + .6rem);right:auto;bottom:auto;left:auto;width:auto;align-self:stretch;max-height:none;overflow:visible;border:0;border-left:1px solid var(--border);border-radius:0;background:var(--card);box-shadow:none;padding:0;z-index:1;}
.pcol.insp > .pstick{position:sticky;top:calc(var(--topchrome-h,96px) + .6rem);max-height:calc(100vh - var(--topchrome-h,96px) - 1.2rem);overflow:auto;padding:18px 18px 18px 20px;}
.pcol.insp[hidden]{display:none;}
.pcol.insp .x{display:none;}
.pvline{margin:var(--s1) 0 var(--s3);}
.pvfacts{flex-wrap:wrap;gap:var(--s3) var(--s6);margin:0 0 var(--s3);}
.pvfacts .pv.bad{color:var(--oc-red);}
.pvsent{margin:0 0 var(--s2);}
.pvsent b.bad{color:var(--oc-red);}
.pvsent b.good{color:var(--oc-green);}
.rbar{margin:0 0 var(--s4);}
.insp .trail .tr{padding:var(--s1) 0;border-top:1px solid var(--border-2);}
.pvopen span{display:block;}
.pvopen{display:flex;flex-direction:column;gap:.3rem;margin-top:.9rem;}

/* ---------- responsive (handoff §5) ---------- */
@media (max-width:1279px){
  .cols{grid-template-columns:240px minmax(0,1fr);min-height:0;}
  .pcol.insp{position:fixed;top:calc(var(--topchrome-h,96px) + .6rem);right:.8rem;bottom:.8rem;left:auto;width:min(440px,calc(100% - 1.6rem));border:1px solid var(--border);border-radius:14px;background:var(--card);box-shadow:var(--sh-lg);padding:0;z-index:30;max-height:none;align-self:auto;overflow:auto;}
  .pcol.insp > .pstick{position:static;max-height:none;overflow:visible;padding:1rem 1.1rem 1.2rem;}
  .prow .go{opacity:1;}
  .pcol.insp .x{display:block;}
  .prow{grid-template-columns:36px minmax(0,1fr) 150px 84px;}
}
@media (max-width:719px){
  .cols{grid-template-columns:1fr;}
  .cols{border:0;}
  .qbar{margin:.6rem 0 .8rem;}
  .qfield{flex-basis:100%;}
  .rcol{padding:0 14px;}
  .qbar .fbtn{display:inline-flex;}
  /* frame 04: every facet lives in one Filters sheet (Round 1 · 03b); the sheet is the column */
  .fcol{display:none;position:static;margin:.8rem 14px;padding:.8rem;border:1px solid var(--border);border-radius:12px;background:var(--card);}
  .fcol.open{display:block;}
  .fstick{position:static;}
  .frow{min-height:44px;}
  .prow{grid-template-columns:36px minmax(0,1fr) auto;grid-template-areas:"av pt go" "av pout pout";gap:.25rem .7rem;padding:.7rem .6rem;}
  .prow .av{grid-area:av;}
  .prow .pt{grid-area:pt;}
  .prow .pt span{white-space:normal;}
  .prow .pout{grid-area:pout;}
  .prow .go{grid-area:go;align-self:start;}
  .pcol.insp{display:none;}
  .rfoot .asof{margin-left:0;width:100%;}
  .rhead{flex-direction:column;align-items:flex-start;}
}
