/* ============================================================================================
   VOLURR — SOVEREIGN UI · V2-G · SEARCH (the command palette), INTELLIGENCE (the notice plane),
   FILES (an image in the feed), MODERATION (the roster's powers)
   (app/static/css/sovereign-search.css — loads after sovereign-intel.css; tokens only)
   ============================================================================================
   The same grammar the rail and the room already speak: floating surfaces at the menu order with
   a hairline and the overlay elevation, no blur behind them; one red for the selected row and the
   one primary; captions for kinds and tags; targets that are targets. The roster's powers stop
   running past the dock's edge (DR-9) by taking their own line under the person's name.        */

/* ── SEARCH · the palette ────────────────────────────────────────────────────────────────── */
#cmdk{ background:var(--sv-scrim); backdrop-filter:none; -webkit-backdrop-filter:none; padding-top:min(11vh, 96px); z-index:var(--sv-z-menu); }
#cmdk .ck-panel{ width:min(640px, calc(100vw - 24px)); background:var(--sv-surface-0); border:1px solid var(--sv-border-subtle); border-radius:var(--sv-r-l);
  box-shadow:var(--sv-el-overlay); animation:sv-plane-in var(--sv-panel) var(--sv-ease); }
@keyframes sv-plane-in{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:none; } }
#cmdk .ck-search{ gap:var(--sv-4); padding:var(--sv-3) var(--sv-5); border-bottom:1px solid var(--sv-border-subtle); min-height:52px; }
#cmdk .ck-search svg{ width:var(--sv-ic-m); height:var(--sv-ic-m); color:var(--sv-text-muted); }
#cmdk .ck-in{ font:var(--sv-t-panel); color:var(--sv-text-primary); letter-spacing:0; min-height:var(--sv-target); }
#cmdk .ck-in::placeholder{ color:var(--sv-text-muted); font-weight:400; }
#cmdk .ck-esc{ font:var(--sv-t-caption); letter-spacing:var(--sv-caption-track); color:var(--sv-text-muted); background:var(--sv-surface-1);
  border:1px solid var(--sv-border-subtle); border-radius:var(--sv-r-s); padding:4px 7px; min-height:24px; }
#cmdk .ck-esc:hover{ color:var(--sv-text-secondary); border-color:var(--sv-border-active); }
#cmdk .ck-list{ max-height:min(56vh, 440px); padding:var(--sv-2) var(--sv-2) var(--sv-3); }
#cmdk .ck-h{ font:var(--sv-t-caption); letter-spacing:var(--sv-caption-track); text-transform:uppercase; color:var(--sv-text-muted); padding:var(--sv-3) var(--sv-4) var(--sv-2); }
#cmdk .ck-row{ gap:var(--sv-4); padding:var(--sv-2) var(--sv-4); min-height:44px; border-radius:var(--sv-r-m); border:1px solid transparent; transition:background var(--sv-fast) var(--sv-ease); }
#cmdk .ck-row:hover{ background:var(--sv-surface-1); }
#cmdk .ck-row.sel{ background:var(--sv-red-soft); border-color:var(--sv-red-line); }
#cmdk .ck-row.sel::before{ inset-inline-start:0; top:10px; bottom:10px; width:3px; background:var(--sv-red); border-radius:3px; box-shadow:none; }
#cmdk .ck-ic{ width:32px; height:32px; border-radius:var(--sv-r-s); background:var(--sv-surface-1); border:1px solid var(--sv-border-subtle); font-size:15px; color:var(--sv-text-secondary); }
#cmdk .ck-ic svg, #cmdk .ck-ic svg.ic{ width:var(--sv-ic-m); height:var(--sv-ic-m); color:var(--sv-text-secondary); }
#cmdk .ck-row.sel .ck-ic{ border-color:var(--sv-red-line); }
#cmdk .ck-row.sel .ck-ic svg, #cmdk .ck-row.sel .ck-ic svg.ic{ color:var(--sv-red); }
#cmdk .ck-emo{ font-size:15px; line-height:1; display:inline-flex; align-items:center; justify-content:center; }
#cmdk .ck-emo svg{ width:var(--sv-ic-m); height:var(--sv-ic-m); }
#cmdk .ck-lb{ font:var(--sv-t-card); color:var(--sv-text-primary); }
#cmdk .ck-sb{ font:var(--sv-t-meta); color:var(--sv-text-muted); }
#cmdk .ck-tag{ font:var(--sv-t-caption); letter-spacing:var(--sv-caption-track); text-transform:uppercase; color:var(--sv-text-secondary);
  background:var(--sv-surface-1); border:1px solid var(--sv-border-subtle); border-radius:var(--sv-r-s); padding:3px 8px; }
#cmdk .ck-empty{ font:var(--sv-t-secondary); color:var(--sv-text-muted); padding:var(--sv-8) var(--sv-5); }

/* ── INTELLIGENCE · the notice plane ─────────────────────────────────────────────────────── */
#intelBox{ background:var(--sv-scrim); backdrop-filter:none; -webkit-backdrop-filter:none; z-index:var(--sv-z-menu); padding:min(56px, 8vh) var(--sv-5) var(--sv-5); }
#intelBox.on{ animation:sv-plane-in var(--sv-panel) var(--sv-ease); }
.intel-panel{ width:min(600px, 97vw); background:var(--sv-surface-0); border:1px solid var(--sv-border-subtle); border-radius:var(--sv-r-l); box-shadow:var(--sv-el-overlay); }
.intel-panel:focus-visible{ box-shadow:var(--sv-el-overlay), var(--sv-focus); }
.intel-top{ gap:var(--sv-4); padding:var(--sv-3) var(--sv-5); border-bottom:1px solid var(--sv-border-subtle); background:var(--sv-surface-0); min-height:56px; }
.intel-orb{ width:32px; height:32px; border-radius:var(--sv-r-s); background:var(--sv-red-soft); border:1px solid var(--sv-red-line); color:var(--sv-red);
  font:var(--sv-t-caption); letter-spacing:var(--sv-caption-track); }
.intel-top h2{ font:var(--sv-t-panel); color:var(--sv-text-primary); }
.intel-subttl{ font:var(--sv-t-meta); color:var(--sv-text-muted); }
.intel-x{ width:var(--sv-target); height:var(--sv-target); border-radius:var(--sv-r-s); border:1px solid var(--sv-border-subtle); background:var(--sv-surface-1); color:var(--sv-text-secondary); font:var(--sv-t-label); }
.intel-x:hover{ color:var(--sv-text-primary); border-color:var(--sv-border-active); }
.intel-x:focus-visible{ outline:none; box-shadow:var(--sv-focus); }
.intel-body{ padding:var(--sv-4) var(--sv-5) var(--sv-5); gap:var(--sv-3); }
.intel-empty{ font:var(--sv-t-secondary); color:var(--sv-text-muted); }
.intel-card{ background:var(--sv-surface-1); border:1px solid var(--sv-border-subtle); border-radius:var(--sv-r-m); padding:var(--sv-4) var(--sv-5);
  transition:border-color var(--sv-fast) var(--sv-ease), opacity var(--sv-fast) var(--sv-ease); }
.intel-card:hover{ border-color:var(--sv-border-active); }
.intel-card.acked{ opacity:.6; }
.intel-crow{ gap:var(--sv-2); margin-bottom:var(--sv-2); }
.intel-sev{ font:var(--sv-t-caption); letter-spacing:var(--sv-caption-track); border-radius:var(--sv-r-s); padding:2px 7px; }
.intel-wl{ font:var(--sv-t-label); color:var(--sv-red); }
.intel-ev{ font:var(--sv-t-caption); letter-spacing:var(--sv-caption-track); color:var(--sv-text-muted); border:1px solid var(--sv-border-subtle); border-radius:var(--sv-r-s); padding:1px 6px; }
.intel-int{ font:var(--sv-t-caption); letter-spacing:var(--sv-caption-track); border-radius:var(--sv-r-s); padding:1px 6px; }
.intel-int.hawkish{ color:var(--sv-warning); background:var(--sv-warning-soft); }
.intel-int.dovish{ color:var(--sv-info); background:var(--sv-info-soft); }
.intel-time{ font:var(--sv-t-numeric); font-variant-numeric:tabular-nums; color:var(--sv-text-muted); }
.intel-hl{ font:var(--sv-t-card); color:var(--sv-text-primary); }
.intel-sum{ font:var(--sv-t-secondary); color:var(--sv-text-secondary); margin-top:var(--sv-1); }
.intel-syms{ gap:var(--sv-2); margin-top:var(--sv-3); }
.intel-sym{ font:var(--sv-t-label); border-radius:var(--sv-r-pill); padding:3px 9px; min-height:26px; border:1px solid var(--sv-border-subtle); background:var(--sv-surface-2); color:var(--sv-text-secondary);
  transition:border-color var(--sv-fast) var(--sv-ease), color var(--sv-fast) var(--sv-ease); }
.intel-sym:hover, .intel-sym.td{ border-color:var(--sv-red-line); color:var(--sv-red); background:var(--sv-red-soft); }
.intel-foot{ margin-top:var(--sv-3); gap:var(--sv-3); }
.intel-src{ font:var(--sv-t-meta); color:var(--sv-text-muted); }
.intel-src a{ color:var(--sv-red); }
.intel-acts{ gap:var(--sv-2); }
.intel-acts button{ width:var(--sv-target); height:var(--sv-target); border-radius:var(--sv-r-s); border:1px solid var(--sv-border-subtle); background:var(--sv-surface-2); color:var(--sv-text-secondary); font:var(--sv-t-label); }
.intel-acts button:hover{ color:var(--sv-text-primary); border-color:var(--sv-border-active); }
.intel-acts button:focus-visible{ outline:none; box-shadow:var(--sv-focus); }
.intel-note{ font:var(--sv-t-meta); color:var(--sv-text-muted); }
/* the interrupt banner: a floating surface, one line, one primary */
#intelBanner{ background:var(--sv-surface-floating); border:1px solid var(--sv-border-subtle); border-radius:var(--sv-r-m); box-shadow:var(--sv-el-floating);
  padding:var(--sv-3) var(--sv-4); gap:var(--sv-3); z-index:var(--sv-z-critical); transition:transform var(--sv-panel) var(--sv-ease), opacity var(--sv-panel) var(--sv-ease); }
.ib-sev{ font:var(--sv-t-caption); letter-spacing:var(--sv-caption-track); border-radius:var(--sv-r-s); }
.ib-hl{ font:var(--sv-t-card); color:var(--sv-text-primary); }
.ib-open{ font:var(--sv-t-label); color:var(--sv-text-on-red); background:var(--sv-red); border:1px solid var(--sv-red); border-radius:var(--sv-r-m); min-height:var(--sv-target); padding:0 var(--sv-4); }
.ib-open:hover{ background:var(--sv-red-hover); border-color:var(--sv-red-hover); }
.ib-x{ width:var(--sv-target); height:var(--sv-target); border-radius:var(--sv-r-s); border:1px solid var(--sv-border-subtle); background:var(--sv-surface-1); color:var(--sv-text-secondary); }
@media (max-width:560px){ .intel-panel{ border-radius:0; } }
@media (pointer:coarse){ .intel-x, .intel-acts button, .ib-x{ width:var(--sv-target-touch); height:var(--sv-target-touch); } .intel-sym{ min-height:36px; } }
@media (prefers-reduced-motion:reduce){ #cmdk.on, #cmdk .ck-panel, #intelBox.on{ animation:none; } #intelBanner{ transition:none; } }

/* ── FILES · an image in the feed and its lightbox ───────────────────────────────────────── */
#lrdDock .lrd-msg-img{ max-width:min(240px, 100%); max-height:220px; border-radius:var(--sv-r-m); border:1px solid var(--sv-border-subtle); margin-top:var(--sv-2);
  transition:border-color var(--sv-fast) var(--sv-ease); }
#lrdDock .lrd-msg-img:hover{ border-color:var(--sv-border-active); }
.lrd-imgzoom{ background:color-mix(in srgb, var(--sv-bg) 88%, transparent); z-index:var(--sv-z-modal); padding:var(--sv-6); }
.lrd-imgzoom img{ border-radius:var(--sv-r-l); box-shadow:var(--sv-el-overlay); border:1px solid var(--sv-border-subtle); }

/* ── MODERATION · the roster: the person first, the powers on their own line ─────────────── */
#lrdDock .lrd-memhd{ padding:var(--sv-3) var(--sv-3) var(--sv-2); }
#lrdDock .lrd-memhd-t{ font:var(--sv-t-caption); letter-spacing:var(--sv-caption-track); text-transform:uppercase; color:var(--sv-text-muted); }
#lrdDock .lrd-m{ flex-wrap:wrap; gap:var(--sv-2) var(--sv-3); padding:var(--sv-2) var(--sv-3); border-radius:var(--sv-r-m); transition:background var(--sv-fast) var(--sv-ease); }
#lrdDock .lrd-m:hover{ background:var(--sv-surface-1); }
#lrdDock .lrd-m.me{ background:var(--sv-red-soft); }
#lrdDock .lrd-mn{ font:var(--sv-t-card); color:var(--sv-text-primary); }
#lrdDock .lrd-role, #lrdDock .lrd-rolebadge{ font:var(--sv-t-caption); letter-spacing:var(--sv-caption-track); text-transform:uppercase; color:var(--sv-text-muted); }
#lrdDock .lrd-role.role-owner, #lrdDock .lrd-role.role-admin, #lrdDock .lrd-rolebadge.role-owner, #lrdDock .lrd-rolebadge.role-admin{ color:var(--sv-red); }
#lrdDock .lrd-role.role-moderator, #lrdDock .lrd-rolebadge.role-moderator{ color:var(--sv-warning); }
#lrdDock .lrd-rolesel{ font:var(--sv-t-label); color:var(--sv-text-secondary); background:var(--sv-surface-0); border:1px solid var(--sv-border-subtle); border-radius:var(--sv-r-s); padding:0 var(--sv-3); min-height:var(--sv-target); }
#lrdDock .lrd-rolesel:focus-visible{ outline:none; box-shadow:var(--sv-focus); border-color:var(--sv-border-active); }
#lrdDock .lrd-youtag{ font:var(--sv-t-caption); letter-spacing:var(--sv-caption-track); color:var(--sv-red); background:var(--sv-red-soft); border:1px solid var(--sv-red-line); border-radius:var(--sv-r-s); padding:1px 5px; }
/* DR-9. The powers ran past the dock's edge (measured lrd-mbtn@1936 on a 1920 viewport): seven 27 px
   buttons on the name's line in 348 px. They take their own line under the name now, wrap when a
   finger needs them larger, and are never hidden behind a hover. */
#lrdDock .lrd-mactions{ flex:1 0 100%; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:var(--sv-2); margin-inline-start:0; padding-inline-start:calc(32px + var(--sv-3)); }
#lrdDock .lrd-mbtn{ width:var(--sv-target); height:var(--sv-target); border-radius:var(--sv-r-s); border:1px solid var(--sv-border-subtle); background:var(--sv-surface-0); color:var(--sv-text-secondary);
  transition:color var(--sv-fast) var(--sv-ease), border-color var(--sv-fast) var(--sv-ease), background var(--sv-fast) var(--sv-ease); }
#lrdDock .lrd-mbtn svg{ width:var(--sv-ic-s); height:var(--sv-ic-s); }
#lrdDock .lrd-mbtn:hover{ color:var(--sv-text-primary); border-color:var(--sv-border-active); }
@media (pointer:coarse){ #lrdDock .lrd-mbtn{ width:var(--sv-target-touch); height:var(--sv-target-touch); } #lrdDock .lrd-rolesel{ min-height:var(--sv-target-touch); } }
/* the lock bar and the real-metrics dashboard */
#lrdDock .lrd-modbar{ gap:var(--sv-3); margin-bottom:var(--sv-3); }
#lrdDock .lrd-dash{ gap:var(--sv-2); margin-bottom:var(--sv-4); }
#lrdDock .lrd-stat{ background:var(--sv-surface-0); border:1px solid var(--sv-border-subtle); border-radius:var(--sv-r-s); padding:var(--sv-3) var(--sv-2); }
#lrdDock .lrd-stat b{ font:var(--sv-t-financial); font-variant-numeric:tabular-nums; color:var(--sv-text-primary); }
#lrdDock .lrd-stat span{ font:var(--sv-t-caption); letter-spacing:var(--sv-caption-track); text-transform:uppercase; color:var(--sv-text-muted); }

/* the source link was an 8x22 glyph (measured A:8x22 on touch): a target now, on any pointer */
.intel-src a{ display:inline-flex; align-items:center; justify-content:center; min-width:24px; min-height:24px; border-radius:var(--sv-r-s); }
.intel-src a:focus-visible{ outline:none; box-shadow:var(--sv-focus); }
@media (pointer:coarse){ .intel-src a{ min-width:var(--sv-target-touch); min-height:var(--sv-target-touch); } }
