/* CityScroll design language — single token sheet, loaded on every page. Component CSS consumes the
   role-based tokens below; pages must not hard-code a value a token names. Cool neutral ground + one
   action blue + scoped status hues; every foreground token meets WCAG 2.2 AA and --rule-strong
   clears 3:1 non-text for form controls. Full rationale + scale: docs/design-language.md. */
:root {
  /* Neutral primitives (cool near-white ground → near-black ink). */
  --cs-white: #ffffff;
  --cs-n-25: #f5f6f8;
  --cs-n-50: #eceef2;
  --cs-n-100: #dde1e7;
  --cs-n-300: #7a828f;
  --cs-n-500: #5b6470;
  --cs-n-700: #37414d;
  --cs-n-900: #12181f;

  /* Action + identity blues, and their quiet tints. */
  --cs-action: #1a44e0;
  --cs-action-hover: #10259e;
  --cs-action-tint: #eef2ff;
  --cs-action-tint-border: #c9d5ff;
  --cs-brand-navy: #1b3a8f;

  /* Status: text-safe hue + tint + border, used only to mean their state. */
  --cs-success: #1a6b34;
  --cs-success-tint: #e7f4ec;
  --cs-success-border: #b6ddc3;
  --cs-caution: #8a5a00;
  --cs-caution-tint: #fbf1d8;
  --cs-caution-border: #e6c88a;
  --cs-danger: #c01829;
  --cs-danger-tint: #fdeaec;
  --cs-danger-border: #f2b8bd;

  /* Semantic color tokens — the layer component CSS should reference. */
  --color-canvas: var(--cs-n-25);
  --color-canvas-subtle: var(--cs-n-50);
  --color-surface: var(--cs-white);
  --color-text: var(--cs-n-900);
  --color-text-soft: var(--cs-n-700);
  --color-text-muted: var(--cs-n-500);
  --color-border: var(--cs-n-100);
  --color-border-strong: var(--cs-n-300);
  --color-brand: var(--cs-brand-navy);
  --color-action: var(--cs-action);
  --color-action-hover: var(--cs-action-hover);
  --color-caution: var(--cs-caution);
  --color-success: var(--cs-success);
  --color-danger: var(--cs-danger);
  /* White on brand navy is 10.4:1; kinetic handoffs must never inherit dark text. */
  --ui-external-action-bg: var(--cs-brand-navy);
  --ui-external-action-fg: var(--cs-white);
  /* Map labels cross a continuous light-to-dark choropleth; pure ink guarantees AA at its midpoint. */
  --color-map-label-dark: #000000;

  /* Compatibility aliases: existing component CSS references these short names site-wide. */
  --paper: var(--color-canvas);
  --paper-2: var(--color-canvas-subtle);
  --card: var(--color-surface);
  --ink: var(--color-text);
  --ink-soft: var(--color-text-soft);
  --muted: var(--color-text-muted);
  --rule: var(--color-border);
  --rule-strong: var(--color-border-strong);
  --blue: var(--color-brand);
  --oxblood: var(--color-action);
  --rose: var(--color-action);
  --amber: var(--color-caution);
  --green: var(--color-success);
  --shadow: none; /* flat: hairlines and spacing carry structure, nothing floats */

  /* Type: modern-civic grotesk display + humanist sans text/UI. Both open, one font host.
     Reading and interface share Noto so equivalent body, label, input, and button roles agree.
     Brand/display stay Space Grotesk; identifiers/code keep a monospace stack at the call site. */
  --font-brand: "Space Grotesk", "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-reading: "Noto Sans", "Helvetica Neue", Arial, system-ui, sans-serif;
  --font-label: var(--font-reading);
  --font-interface: var(--font-reading);
  --font-nameplate: var(--font-brand);
  --font-display: var(--font-brand);
  --font-body: var(--font-reading);
  --font-sc: var(--font-label);
  --ui: var(--font-interface);

  /* Spacing (8-based proximity scale), measure, container, and shape. */
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  /* Shared interaction and first-view geometry floors. */
  --control-min-size: 2.75rem;
  --near-map-first-view-min: 15rem;
  --measure: 72ch;
  --maxw: 1120px;
  --radius-sm: .375rem;
  --radius-md: .625rem;
  --radius-pill: 999px;
}

/* Unified affordance grammar: graph travel, official sources, filters, static facts. */
.ui-constellation-link.ui-constellation-link{display:inline-flex;align-items:baseline;gap:.38em;padding:0;border:0;border-radius:0;background:transparent;color:var(--color-action,#1b3a8f);box-shadow:none;text-decoration-line:underline;text-decoration-style:solid;text-decoration-thickness:1.5px;text-underline-offset:3px}
.ui-constellation-link:hover{text-decoration-thickness:2.5px}
.ui-official-source-link.ui-official-source-link{display:inline-flex;align-items:baseline;gap:.3em;padding:0;border:0;border-radius:0;background:transparent;color:var(--color-text,#171a21);box-shadow:none;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:1.5px;text-underline-offset:3px}
.ui-official-source-link:hover{text-decoration-style:solid}
.ui-external-action.ui-external-action.ui-external-action{display:inline-flex;align-items:center;justify-content:center;gap:.38em;min-height:44px;padding:10px 13px;border:1px solid var(--ui-external-action-bg);border-radius:7px;background:var(--ui-external-action-bg);color:var(--ui-external-action-fg);font:700 13px/1.2 var(--font-interface,ui-sans-serif,system-ui,sans-serif);text-decoration:none;cursor:pointer}
.ui-external-action.ui-external-action.ui-external-action:hover{background:#102563;border-color:#102563;color:var(--ui-external-action-fg)}
.ui-external-action.ui-external-action.ui-external-action:focus-visible{outline:2px solid var(--color-focus,var(--color-action,#1b3a8f));outline-offset:3px}
.ui-object-card-primary,.ui-object-card-relations,.ui-object-card-handoffs,.ui-object-card-action-list{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.ui-object-card-copy{min-height:44px;padding:7px 11px;border:1px solid var(--color-border-strong,#7a828f);border-radius:7px;background:var(--color-surface,#fff);color:var(--color-text,#12181f);font:700 13px/1.2 var(--font-interface,ui-sans-serif,system-ui,sans-serif);cursor:pointer}
.ui-object-card-copy:focus-visible{outline:2px solid var(--color-focus,var(--color-action,#1b3a8f));outline-offset:3px}
.ui-report-issue{display:inline-flex;min-height:44px;align-items:center;padding:7px 11px;border:1px solid var(--color-action,#1b3a8f);border-radius:7px;background:transparent;color:var(--color-action,#1b3a8f);font:700 13px/1.2 var(--font-interface,ui-sans-serif,system-ui,sans-serif);cursor:pointer;text-decoration:none}
.ui-report-issue:hover,.ui-report-issue:focus-visible{background:color-mix(in srgb,var(--color-action,#1b3a8f),transparent 92%)}
.ui-report-issue:focus-visible{outline:2px solid var(--color-focus,var(--color-action,#1b3a8f));outline-offset:3px}
.ui-report-issue-fallback{border-color:var(--color-border-strong,#7a828f);color:var(--color-text-soft,#3e4652)}
.report-issue-dialog{width:min(620px,calc(100vw - 24px));max-width:620px;padding:0;border:1px solid var(--color-border-strong,#7a828f);border-radius:10px;background:var(--color-surface,#fff);color:var(--color-text,#12181f);box-shadow:0 18px 70px rgb(0 0 0 / 24%)}
.report-issue-dialog::backdrop{background:rgb(16 22 34 / 48%)}
.report-issue-dialog-inner{position:relative;display:grid;gap:10px;padding:22px}
.report-issue-dialog h2{margin:0;padding-right:35px;font:700 25px/1.1 var(--font-display,ui-sans-serif,sans-serif)}
.report-issue-intro{margin:0;color:var(--color-text-soft,#3e4652);font:14px/1.45 var(--font-interface,ui-sans-serif,sans-serif)}
.report-issue-close{position:absolute;top:15px;right:16px;width:40px;height:40px;border:1px solid var(--color-border-strong,#7a828f);border-radius:50%;background:var(--color-surface,#fff);color:var(--color-text,#12181f);font-size:24px;line-height:1;cursor:pointer}
.report-issue-target{display:grid;gap:4px;padding:12px 14px;border-left:3px solid var(--color-action,#1b3a8f);background:color-mix(in srgb,var(--color-action,#1b3a8f),transparent 94%)}
.report-issue-target-label{color:var(--color-text-muted,#606776);font:750 10px/1.2 var(--font-interface,ui-sans-serif,sans-serif);letter-spacing:.08em;text-transform:uppercase}
.report-issue-target strong{overflow-wrap:anywhere;font:700 16px/1.3 var(--font-interface,ui-sans-serif,sans-serif)}
.report-issue-target a{width:max-content;max-width:100%;color:var(--color-action,#1b3a8f);font:650 12px/1.3 var(--font-interface,ui-sans-serif,sans-serif);overflow-wrap:anywhere}
.report-issue-dialog form{display:grid;gap:6px}
.report-issue-dialog label{margin-top:4px;color:var(--color-text,#12181f);font:700 13px/1.3 var(--font-interface,ui-sans-serif,sans-serif)}
.report-issue-dialog select,.report-issue-dialog textarea,.report-issue-dialog input[type=email]{width:100%;min-width:0;padding:10px 11px;border:1px solid var(--color-border-strong,#7a828f);border-radius:6px;background:var(--color-surface,#fff);color:var(--color-text,#12181f);font:15px/1.35 var(--font-interface,ui-sans-serif,sans-serif)}
.report-issue-dialog select,.report-issue-dialog input[type=email]{min-height:44px}
.report-issue-dialog textarea{min-height:90px;resize:vertical}
.report-issue-dialog input:focus-visible,.report-issue-dialog select:focus-visible,.report-issue-dialog textarea:focus-visible{outline:2px solid var(--color-focus,var(--color-action,#1b3a8f));outline-offset:2px}
.report-issue-optional{color:var(--color-text-muted,#606776);font-weight:500}
.report-issue-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:7px}
.ui-report-issue-submit,.ui-report-issue-cancel{min-height:44px;padding:9px 14px;border:1px solid var(--color-action,#1b3a8f);border-radius:7px;font:700 13px/1.2 var(--font-interface,ui-sans-serif,sans-serif);cursor:pointer}
.ui-report-issue-submit{background:var(--color-action,#1b3a8f);color:var(--color-surface,#fff)}
.ui-report-issue-cancel{background:transparent;color:var(--color-action,#1b3a8f)}
.report-issue-status,.report-issue-failure{margin:0;color:var(--color-text-soft,#3e4652);font:13px/1.4 var(--font-interface,ui-sans-serif,sans-serif)}
.report-issue-failure{padding:10px 12px;border-left:3px solid var(--color-warning,#a55a00)}
.calendar-subscription-dialog{width:min(580px,calc(100vw - 24px));max-width:580px;max-height:calc(100vh - 24px);padding:0;border:1px solid var(--color-border-strong,#7a828f);border-radius:10px;background:var(--color-surface,#fff);color:var(--color-text,#12181f);box-shadow:0 18px 70px rgb(0 0 0 / 24%)}
.calendar-subscription-dialog::backdrop{background:rgb(16 22 34 / 48%)}
.calendar-subscription-dialog-inner{position:relative;display:grid;gap:11px;overflow:auto;padding:22px}.calendar-subscription-dialog h2{margin:0;padding-right:40px;font:700 25px/1.12 var(--font-display,ui-sans-serif,sans-serif);overflow-wrap:anywhere}.calendar-subscription-kicker{margin:0;color:var(--color-action,#1b3a8f);font:750 10px/1.2 var(--font-interface,ui-sans-serif,sans-serif);letter-spacing:.1em;text-transform:uppercase}.calendar-subscription-intro{margin:0;color:var(--color-text-soft,#3e4652);font:15px/1.5 var(--font-interface,ui-sans-serif,sans-serif)}.calendar-subscription-close{position:absolute;top:14px;right:15px;width:40px;height:40px;border:1px solid var(--color-border-strong,#7a828f);border-radius:50%;background:var(--color-surface,#fff);color:var(--color-text,#12181f);font-size:24px;line-height:1;cursor:pointer}.calendar-subscription-close:focus-visible,.calendar-subscription-open:focus-visible,.calendar-subscription-copy:focus-visible{outline:2px solid var(--color-focus,var(--color-action,#1b3a8f));outline-offset:3px}.calendar-subscription-actions{display:flex;flex-wrap:wrap;gap:8px}.calendar-subscription-open,.calendar-subscription-copy{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:10px 13px;border:1px solid var(--color-action,#1b3a8f);border-radius:7px;background:var(--color-action,#1b3a8f);color:var(--color-surface,#fff);font:700 13px/1.2 var(--font-interface,ui-sans-serif,sans-serif);text-decoration:none;cursor:pointer}.calendar-subscription-copy{background:var(--color-surface,#fff);color:var(--color-action,#1b3a8f)}.calendar-subscription-note,.calendar-subscription-status{margin:0;color:var(--color-text-muted,#606776);font:12.5px/1.45 var(--font-interface,ui-sans-serif,sans-serif)}.calendar-subscription-guidance{border-top:1px solid var(--color-border,#d6d9df);padding-top:10px}.calendar-subscription-guidance summary{cursor:pointer;color:var(--color-text,#12181f);font:700 14px/1.3 var(--font-interface,ui-sans-serif,sans-serif)}.calendar-subscription-guidance ul{display:grid;gap:8px;margin:10px 0 0;padding-left:20px;color:var(--color-text-soft,#3e4652);font:13px/1.5 var(--font-interface,ui-sans-serif,sans-serif)}.calendar-subscription-guidance li{padding-left:2px}.calendar-subscription-guidance code{overflow-wrap:anywhere}
.report-identity-picker{display:grid;gap:6px;margin:4px 0 0;padding:12px;border:1px solid var(--color-border,#c5cad3);border-radius:7px}
.report-identity-picker legend{padding:0 4px;color:var(--color-text,#12181f);font:700 13px/1.3 var(--font-interface,ui-sans-serif,sans-serif)}
.report-identity-help{margin:0;color:var(--color-text-soft,#3e4652);font:13px/1.4 var(--font-interface,ui-sans-serif,sans-serif)}
.report-identity-picker input[type=search]{width:100%;min-width:0;min-height:44px;padding:10px 11px;border:1px solid var(--color-border-strong,#7a828f);border-radius:6px;background:var(--color-surface,#fff);color:var(--color-text,#12181f);font:15px/1.35 var(--font-interface,ui-sans-serif,sans-serif)}
.report-identity-picker input[type=search]:focus-visible{outline:2px solid var(--color-focus,var(--color-action,#1b3a8f));outline-offset:2px}
.report-identity-results{display:grid;gap:6px;max-height:220px;overflow:auto}
.report-identity-result{display:flex;align-items:center;gap:8px;min-width:0;padding:6px 0;border-bottom:1px solid var(--color-border,#e0e3e8)}
.report-identity-result button{display:flex;flex:1;min-width:0;align-items:baseline;justify-content:space-between;gap:8px;padding:7px 8px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--color-text,#12181f);font:600 13px/1.3 var(--font-interface,ui-sans-serif,sans-serif);text-align:start;cursor:pointer}
.report-identity-result button:hover,.report-identity-result button:focus-visible,.report-identity-result button[aria-pressed=true]{border-color:var(--color-action,#1b3a8f);background:color-mix(in srgb,var(--color-action,#1b3a8f),transparent 94%);outline:none}
.report-identity-result button span{overflow-wrap:anywhere}
.report-identity-result button small{flex:none;color:var(--color-text-muted,#606776);font:500 11px/1.3 var(--font-interface,ui-sans-serif,sans-serif)}
.report-identity-result>a{flex:none;color:var(--color-action,#1b3a8f);font:650 12px/1.3 var(--font-interface,ui-sans-serif,sans-serif)}
.report-identity-empty,.report-identity-selected{margin:0;color:var(--color-text-soft,#3e4652);font:13px/1.4 var(--font-interface,ui-sans-serif,sans-serif)}
.report-identity-selected{font-weight:700;color:var(--color-text,#12181f)}
.ui-object-card-action-rail{margin-top:8px}
.ui-object-card-action-rail h3{margin:0 0 6px;font:700 12px/1.25 var(--font-interface,ui-sans-serif,system-ui,sans-serif);color:var(--color-text-soft,#3e4652)}
.procurement-coverage{margin:6px 0 0;color:var(--color-text-soft,var(--muted,#5b6470));font:600 12.5px/1.4 var(--font-interface,ui-sans-serif,system-ui,sans-serif)}
.money-row-card .ui-object-card-interactions{display:grid;gap:6px;margin:0 0 6px}
.money-row-card .ui-object-card-title{font-weight:700;font-size:15px}
.money-row-card .ui-object-card-action-rail{margin-top:2px}
.money-row-title-cluster{display:grid;gap:0;min-width:0}
.money-row-title-link,.money-row-inspect{font-weight:700;font-size:15px;line-height:1.3;color:var(--color-text,#12181f);text-decoration:none}
.money-row-title-link:hover{text-decoration:underline}
.money-row-inspect{display:none;width:100%;margin:0;padding:0;border:0;background:transparent;text-align:left;cursor:pointer;font:inherit}
.money-row-inspect:hover,.money-row-inspect:focus-visible{text-decoration:underline}
[data-contract-result-inspect-ready] .money-row-title-link{display:none}
[data-contract-result-inspect-ready] .money-row-inspect{display:block}
.money-row-full-record{font:700 13px/1.3 var(--font-interface,ui-sans-serif,system-ui,sans-serif)}
.contract-result-inspection-detail{display:grid;gap:10px}
.contract-result-inspection-kicker{margin:0;font:700 12px/1.3 var(--font-interface,ui-sans-serif,system-ui,sans-serif);color:var(--color-text-soft,#3e4652)}
.contract-result-inspection-overview{margin:0;display:grid;gap:6px}
.contract-result-inspection-row{display:grid;grid-template-columns:minmax(7rem,9rem) 1fr;gap:8px}
.contract-result-inspection-row dt{margin:0;font:700 12px/1.35 var(--font-interface,ui-sans-serif,system-ui,sans-serif);color:var(--color-text-soft,#3e4652)}
.contract-result-inspection-row dd{margin:0;font:14px/1.4 var(--font-reading,var(--font-body),ui-serif,Georgia,serif)}
.contract-result-inspection-summary,.contract-result-inspection-status,.contract-result-inspection-actions{margin:0}
@media print{
  [data-contract-result-inspect-ready] .money-row-title-link{display:inline}
  [data-contract-result-inspect-ready] .money-row-inspect,.money-row-full-record{display:none!important}
}
.rules-fcard .ui-object-card-primary{align-items:flex-start;justify-content:space-between}
.rules-fcard .ui-object-card-title{font-weight:700;font-size:15px;line-height:1.3}
.rules-fcard .ui-object-card-handoffs{margin-top:6px}
.rules-fcard .ui-object-card-action-rail{margin-top:10px;padding-top:10px;border-top:1px solid var(--rule)}
.rules-fcard .ui-object-card-action-rail h3{margin:0 0 7px;font:700 13px/1.3 var(--font-interface,ui-sans-serif,system-ui,sans-serif);color:var(--color-text,#12181f)}
.meetings-fcard .ui-object-card-primary{align-items:flex-start;justify-content:space-between}
.meetings-fcard .ui-object-card-title{font-weight:700;font-size:15px;line-height:1.3}
.meetings-fcard .ui-object-card-handoffs{margin-top:6px}
.meetings-fcard .ui-object-card-action-rail{margin-top:10px;padding-top:10px;border-top:1px solid var(--color-border,#d8dce2)}
.meetings-fcard .ui-object-card-action-rail h3{margin:0 0 7px;font:700 13px/1.3 var(--font-interface,ui-sans-serif,system-ui,sans-serif);color:var(--color-text,#12181f)}
.meetings-fcard .meetings-card-utilities{margin-top:8px}
.browse-static-record[data-meeting-origin]:not([data-meeting-origin=""]) .ui-object-card-primary{align-items:flex-start;justify-content:space-between}
/* gap separates label text from .ct count; do not rely on a whitespace text node (flex collapses it). */
.ui-filter-chip.ui-filter-chip{display:inline-flex;align-items:center;justify-content:center;gap:.35em;min-height:44px;padding:6px 11px;border:1px solid var(--color-action,#1b3a8f);border-radius:999px;background:transparent;color:var(--color-action,#1b3a8f);font:700 13px/1.2 var(--font-interface,ui-sans-serif,system-ui,sans-serif);cursor:pointer;text-decoration:none}
a.route-back-link{font:600 13px/1 var(--font-interface);text-decoration:none}
.ui-filter-chip[aria-pressed="true"]{background:var(--color-action,#1b3a8f);color:var(--color-surface,#fff)}
.ui-filter-chip:hover{box-shadow:0 0 0 2px color-mix(in srgb,var(--color-action,#1b3a8f),transparent 78%)}
.ui-constellation-link:focus-visible,.ui-official-source-link:focus-visible,.ui-filter-chip:focus-visible{outline:2px solid var(--color-focus,var(--color-action,#1b3a8f));outline-offset:3px}
.ui-static-fact{color:var(--color-text-muted,#606776);text-decoration:none;cursor:default}
.ui-static-fact .ct{margin-inline-start:.35em}

/* Shared typed edge-summary rail. Counts and states come from the producer's
   read model; this component only makes the next destination legible. */
.edge-summary-rail{min-width:0;margin:var(--space-4,16px) 0;padding:var(--space-3,12px);border:1px solid var(--color-border,var(--cs-n-100));border-radius:var(--radius-md,10px);background:var(--color-surface,var(--cs-white))}
.edge-summary-rail h2{margin:0 0 var(--space-2,8px);font:700 .75rem/1.2 var(--font-label,system-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-soft,var(--cs-n-700))}
.edge-summary-boundary{margin:0 0 var(--space-2,8px);color:var(--color-text-muted,var(--cs-n-500));font:500 .72rem/1.35 var(--font-label,system-ui)}
.edge-summary-rail ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--space-2,8px);margin:0;padding:0;list-style:none}
.edge-summary-item{min-width:0;border-top:2px solid var(--color-border,var(--cs-n-100))}
.edge-summary-link,.edge-summary-text{display:flex;min-width:0;flex-direction:column;gap:3px;padding:var(--space-2,8px) 0;text-decoration:none}
.edge-summary-link{color:var(--color-action,var(--cs-action))}
.edge-summary-link:hover,.edge-summary-link:focus-visible{text-decoration:underline;text-underline-offset:3px}
.edge-summary-link:focus-visible{outline:2px solid var(--color-action,var(--cs-action));outline-offset:3px;border-radius:3px}
.edge-summary-target{min-width:0;color:var(--color-text,var(--cs-n-900));font-weight:700;overflow-wrap:anywhere}
.edge-summary-detail{min-width:0;color:var(--color-text-muted,var(--cs-n-500));font:500 .78rem/1.35 var(--font-label,system-ui);overflow-wrap:anywhere}
.edge-summary-item[data-edge-state="unknown"]{border-top-color:var(--color-caution,var(--cs-caution))}
.edge-summary-item[data-edge-state="empty"]{border-top-color:var(--color-border-strong,var(--cs-n-300))}
.entity-pivot-source{margin:0 0 var(--space-2,8px);font:500 .8rem/1.35 var(--font-label,system-ui);overflow-wrap:anywhere}
.entity-pivot-held{display:inline-flex;gap:.35rem;align-items:baseline;color:var(--color-text-muted,var(--cs-n-500));border-bottom:1px dashed var(--color-caution,var(--cs-caution));overflow-wrap:anywhere}
.ui-static-fact.entity-pivot-held{border-bottom:0;text-decoration:none;cursor:default}
.entity-pivot-provisional{font:600 .72rem/1.25 var(--font-label,system-ui);color:var(--color-caution,var(--cs-caution));overflow-wrap:anywhere}
.edge-summary-provenance{margin-top:var(--space-1);border-top:1px solid var(--color-border);font:500 .76rem/1.35 var(--font-label)}
.edge-summary-provenance summary{display:flex;align-items:center;gap:.4rem;cursor:pointer;padding:var(--space-1) 0;color:var(--color-text-muted);overflow-wrap:anywhere}
.edge-summary-confidence,.edge-summary-as-of{display:inline-flex;align-items:center;border:1px solid var(--color-border);border-radius:999px;padding:1px 6px;font-size:.68rem;line-height:1.2}
.edge-summary-confidence-review{border-style:dashed;border-color:var(--color-caution);color:var(--color-caution)}
.edge-summary-confidence-unmatched{color:var(--color-text-muted)}
.edge-summary-provenance-review summary{color:var(--color-caution);border-left:3px solid var(--color-caution);padding-left:.35rem}
.edge-summary-provenance-unmatched summary{color:var(--color-text-muted);border-left:3px solid var(--color-border-strong);padding-left:.35rem}

/* Shared cardinality-adaptive facet layout. */
.cardinality-facet{min-width:min(100%,320px)}
.agency-scope-field:has(.cardinality-facet-large){flex:1 1 320px}
.facet-typeahead-head{display:flex;align-items:center;gap:var(--space-1,6px);flex-wrap:wrap}
.facet-typeahead-input{flex:1 1 220px;min-width:0}
.facet-typeahead-list{list-style:none;margin:var(--space-1,6px) 0 0;padding:0;border:1px solid var(--color-border,#d5d9e0);border-radius:6px;max-height:260px;overflow:auto;background:var(--color-surface,#fff)}
.facet-typeahead-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2,10px);align-items:center;padding:7px 9px;border-bottom:1px solid var(--color-border,#d5d9e0)}
.facet-typeahead-option:last-child{border-bottom:0}
.facet-entity-link{min-width:0;font-weight:650}
.facet-typeahead-empty{margin:var(--space-1,6px) 0 0}

body {
  accent-color: var(--color-action);
}

.brand-lockup {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
  color: var(--color-brand);
}

a.brand-lockup {
  text-decoration: none;
}

a.brand-lockup:focus-visible {
  outline: 2px solid var(--color-focus, var(--color-action, #1b3a8f));
  outline-offset: 3px;
  border-radius: 3px;
}

.brand-lockup--masthead {
  gap: clamp(var(--space-3), 2vw, var(--space-5));
}

.brand-mark,
.cr-seal {
  display: block;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  color: currentColor;
}

.brand-lockup--masthead .brand-mark {
  width: clamp(48px, 7vw, 68px);
  height: clamp(48px, 7vw, 68px);
}

.brand-lockup .cr-title {
  color: currentColor;
  font-family: var(--font-brand);
  font-weight: 700;
  letter-spacing: -.015em;
  text-transform: none;
}

.brand-lockup--masthead .cr-title {
  margin: 0;
  font-size: clamp(2.6rem, 7.2vw, 4.6rem);
  line-height: .92;
}

.home.brand-lockup {
  gap: var(--space-2);
}

.home.brand-lockup .brand-mark {
  width: 34px;
  height: 34px;
}

.home.brand-lockup:hover,
.brand-lockup--masthead:hover {
  color: var(--color-action);
}

.cr-rule--top,
header > .cr-rule:first-child {
  border-color: var(--color-brand);
}

@media (max-width: 420px) {
  .brand-lockup--masthead {
    gap: var(--space-2);
  }

  .brand-lockup--masthead .brand-mark {
    width: 44px;
    height: 44px;
  }
}
