/* Compass — one search for everything at RAMCON (Kyle 10/22: "Recon still sucks. Change font and name too"; 10/24: "it's more than just
   property intelligence. It's people, employees, all kinds of things" — a better logo, and a search like CoStar or Zillow). The search screen's own type
   (Manrope, bundled; SIL Open Font License, public/fonts/LICENSE-manrope.txt), a map-and-listings layout, each row with its spot.
   Scoped to .compass so nothing else in Connects changes. Colours come from the app's theme variables (light and dark). */
@font-face{font-family:"Manrope";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/manrope-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/manrope-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/manrope-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/manrope-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:800;font-display:swap;src:url(fonts/manrope-latin-800-normal.woff2) format("woff2")}

.rc.rc2.compass{--cp-f:"Manrope",var(--f-ui),system-ui,sans-serif;--cp-acc:#2563eb;--cp-glow:#3d8bff;--cp-acc2:#8fc1ff;--cp-card:color-mix(in srgb,var(--panel,#0f1626) 88%,transparent);
  font-family:var(--cp-f);font-feature-settings:"tnum" 1,"cv11" 1;max-width:1480px;padding:8px 8px 32px}
.compass *{font-family:inherit}
.compass code,.compass kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}

/* the masthead: a hero panel with one big search, like a listings site (Kyle 10/24); it steps back to a slim bar on results */
.compass .cp-hero{display:block;position:relative;margin:0 0 18px;padding:22px 26px 24px;border:1px solid var(--line-2);border-radius:22px;
  background:
    radial-gradient(90% 140% at 100% 0%,color-mix(in srgb,var(--cp-glow) 26%,transparent),transparent 60%),
    radial-gradient(70% 120% at 0% 100%,color-mix(in srgb,var(--cp-acc) 18%,transparent),transparent 65%),
    linear-gradient(color-mix(in srgb,var(--ink) 5%,transparent) 1px,transparent 1px) 0 0/34px 34px,
    linear-gradient(90deg,color-mix(in srgb,var(--ink) 5%,transparent) 1px,transparent 1px) 0 0/34px 34px,
    var(--cp-card);
  box-shadow:0 24px 60px -36px rgba(0,0,0,.85)}
.compass .cp-hero.slim{padding:14px 18px 16px;border-radius:18px}
.compass .cp-top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.compass .cp-brand{display:flex;align-items:center;gap:12px;border:0;padding:0;color:var(--ink)}
.compass .cp-word{font:800 30px/1 var(--cp-f);letter-spacing:-.04em}
.compass .cp-by{align-self:flex-end;margin:0 0 3px -2px;font:700 11px/1 var(--cp-f);letter-spacing:.16em;text-transform:uppercase;color:var(--cp-acc2)}
.compass .cp-logo{width:40px;height:40px;flex:none;filter:drop-shadow(0 8px 18px color-mix(in srgb,var(--cp-glow) 45%,transparent))}
.compass .cp-hero.slim .cp-word{font-size:24px}
.compass .cp-hero.slim .cp-logo{width:32px;height:32px}
.compass .cp-h1{margin:26px 0 6px;font:800 clamp(30px,4.2vw,48px)/1.05 var(--cp-f);letter-spacing:-.04em;color:var(--ink)}
.compass .cp-lede{margin:0 0 18px;max-width:760px;font:500 16px/1.45 var(--cp-f);color:var(--ink-2)}
.compass .rc2-status{font-weight:600}
/* the go button inside the bar */
.compass .cp-go{flex:none;height:46px;padding:0 24px;margin-right:-8px;border:0;border-radius:13px;background:var(--cp-acc);color:#fff;font:700 15.5px/1 var(--cp-f);
  cursor:pointer;box-shadow:0 10px 24px -12px var(--cp-acc);transition:background .15s,transform .15s}
.compass .cp-go:hover{background:color-mix(in srgb,var(--cp-acc) 85%,#fff)}
.compass .cp-go:active{transform:translateY(1px)}
.compass .cp-go:focus-visible{outline:3px solid color-mix(in srgb,var(--cp-glow) 60%,transparent);outline-offset:2px}
.compass .cp-hero.slim .cp-go{height:40px;padding:0 18px}

/* the search bar */
.compass .rc2-bar{height:64px;border-radius:18px;padding:0 16px 0 20px;margin:0;border:1px solid var(--line-2);
  background:linear-gradient(180deg,color-mix(in srgb,var(--ink) 4%,transparent),transparent),var(--cp-card);
  box-shadow:0 1px 0 color-mix(in srgb,var(--ink) 6%,transparent) inset,0 14px 40px -22px rgba(0,0,0,.6);transition:box-shadow .2s,border-color .2s}
.compass .rc2-bar:focus-within{border-color:var(--cp-acc);box-shadow:0 0 0 4px color-mix(in srgb,var(--cp-acc) 22%,transparent),0 18px 46px -20px rgba(0,0,0,.7)}
.compass .rc2-bar input{font:600 19px/1 var(--cp-f);letter-spacing:-.01em}
.compass .rc2-bar input,.compass .rc2-bar input:focus,.compass .rc2-bar input:focus-visible{border:0;box-shadow:none;outline:0;background:none} /* the bar is the field: no second underline */
.compass .rc2-mag{stroke:var(--cp-acc)}
.compass .cp-hero.slim .rc2-bar{height:56px}

/* the types: tabs above the bar, as a listings site has Buy / Rent / Sell */
.compass .rc2-kinds{gap:4px;margin:6px 0 10px}
.compass .cp-hero.slim .rc2-kinds{margin:12px 0 8px}
.compass .rc2-kinds button,.compass .rc2-kinds select{height:36px;padding:0 14px;font:700 14px/1 var(--cp-f);border-radius:10px;border-color:transparent;color:var(--ink-2)}
.compass .rc2-kinds button:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent)}
.compass .rc2-kinds button.on,.compass .rc2-kinds select.on{background:transparent;border-color:transparent;color:var(--ink);box-shadow:inset 0 -3px 0 var(--cp-acc);border-radius:10px 10px 2px 2px}
.compass .rc2-kinds select{border-color:var(--line)}

/* listings + filters + map */
.compass .rc3{gap:18px}
@media (min-width:1280px){
  .compass .rc3.cp-split{grid-template-columns:232px minmax(0,1fr) minmax(320px,30%)}
  .compass .rc3.cp-split.nof{grid-template-columns:minmax(0,1fr) minmax(320px,32%)}
}
.compass .cp-side{display:none}
@media (min-width:1280px){
  .compass .cp-side{display:block;position:sticky;top:12px;align-self:start;height:calc(100vh - 150px);min-height:420px;border-radius:18px;overflow:hidden;
    border:1px solid var(--line-2);box-shadow:0 20px 50px -30px rgba(0,0,0,.8);background:var(--cp-card)}
  .compass .cp-side.empty .cp-smap{display:none}
  .compass .cp-side.empty::before{content:"No map points for these yet";display:grid;place-items:center;height:100%;color:var(--ink-3);font-weight:600}
}
.compass .cp-smap{position:absolute;inset:0}
.compass .cp-sml{position:absolute;left:12px;bottom:12px;z-index:500;padding:6px 10px;border-radius:10px;background:rgba(10,16,28,.82);color:#e8f0ff;font:600 12px/1 var(--cp-f);backdrop-filter:blur(6px)}

.compass .rc3-f{border-radius:16px;padding:16px;background:var(--cp-card);border-color:var(--line)}
.compass .rc3-fh b{font:800 11px/1 var(--cp-f);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2)}
.compass .rc3-g legend{font:700 13px/1.2 var(--cp-f);color:var(--ink)}
.compass .rc3-o{border-radius:10px;padding:7px 8px}
.compass .rc3-o:hover{background:color-mix(in srgb,var(--cp-acc) 10%,transparent)}
.compass .rc3-o.on{background:color-mix(in srgb,var(--cp-acc) 16%,transparent)}
.compass .rc3-o b{font-weight:700;color:var(--ink-3)}

.compass .rc3-main{border-radius:18px;overflow:hidden;background:var(--cp-card);border-color:var(--line)}
.compass .rc3-bar{padding:14px 16px;gap:10px}
.compass .rc3-n{font:500 15px/1.2 var(--cp-f)}
.compass .rc3-n b{font:800 22px/1 var(--cp-f);letter-spacing:-.02em;margin-right:4px}
.compass .rc3-views{border-radius:12px}
.compass .rc3-views button.on{background:var(--cp-acc);color:#fff}
.compass .rc3-chip{border-radius:10px;background:color-mix(in srgb,var(--cp-acc) 18%,transparent);border-color:color-mix(in srgb,var(--cp-acc) 45%,transparent);font-weight:600}

/* the listing rows: a spot, the name, the facts */
.compass .rc3-t{border-collapse:separate;border-spacing:0}
.compass .rc3-t thead th{font:800 10.5px/1 var(--cp-f);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);padding:12px 14px;background:transparent;border-bottom:1px solid var(--line)}
.compass .rc3-t tbody tr{transition:background .15s,box-shadow .15s;cursor:pointer}
.compass .rc3-t tbody td{padding:12px 14px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);font:600 14px/1.3 var(--cp-f);vertical-align:middle}
.compass .rc3-t tbody tr:hover,.compass .rc3-t tbody tr.hl{background:color-mix(in srgb,var(--cp-acc) 9%,transparent)}
.compass .rc3-t tbody tr.on{background:color-mix(in srgb,var(--cp-acc) 16%,transparent);box-shadow:inset 3px 0 0 var(--cp-acc)}
.compass .rc3-t tbody tr.hl{box-shadow:inset 3px 0 0 var(--cp-acc)}
.compass .rc3-name{display:flex;align-items:center;gap:14px;min-width:240px}
.compass .rc3-name a{font:700 15.5px/1.25 var(--cp-f);letter-spacing:-.01em;color:var(--ink);text-decoration:none}
.compass .rc3-name small{display:block;margin-top:3px;font:500 12.5px/1.3 var(--cp-f);color:var(--ink-3)}

.compass .cp-th{position:relative;flex:none;width:84px;height:60px;border-radius:12px;overflow:hidden;background:#1a2333;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 12%,transparent) inset,0 8px 18px -12px rgba(0,0,0,.9)}
.compass .cp-th img{position:absolute;width:256px;height:256px;max-width:none;filter:saturate(.75) contrast(1.05)}
.compass .cp-th i{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--cp-acc);border:2px solid #fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--cp-acc) 35%,transparent)}
.compass .cp-th::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 1px rgba(255,255,255,.08) inset;pointer-events:none}
.compass .cp-th.none{display:grid;place-items:center;background:
  radial-gradient(120% 90% at 20% 0%,color-mix(in srgb,var(--cp-acc) 40%,transparent),transparent 60%),
  repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 2px,transparent 2px 9px),#18233a}
.compass .cp-th.none.k-project{background:radial-gradient(120% 90% at 20% 0%,rgba(255,159,26,.45),transparent 60%),repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 2px,transparent 2px 9px),#2a2016}
.compass .cp-th.none svg,.compass .cp-th.none .rc-ico{transform:scale(1.25);opacity:.9}

.compass .rc3-map{border-radius:0 0 18px 18px}
.compass .rc3-pop b{font-family:var(--cp-f)}

/* the start page */
.compass .rc2-card{border-radius:18px;background:var(--cp-card);border-color:var(--line)}
.compass .rc2-h{font:800 11px/1 var(--cp-f);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2)}
.compass .rc2-tile{border-radius:14px;transition:transform .15s,border-color .15s,box-shadow .15s}
.compass .rc2-tile:hover{transform:translateY(-2px);border-color:var(--cp-acc);box-shadow:0 14px 30px -18px var(--cp-acc)}
.compass .rc2-tile b{font:700 15px/1.2 var(--cp-f)}

@media (max-width:700px){
  .compass .cp-hero{padding:16px 14px 16px;border-radius:16px}
  .compass .cp-word{font-size:24px}
  .compass .cp-logo{width:32px;height:32px}
  .compass .cp-h1{margin-top:16px}
  .compass .cp-lede{font-size:14.5px}
  .compass .cp-go{padding:0 14px;height:40px}
  .compass .rc2-kbd{display:none}
  .compass .rc2-bar{height:54px;border-radius:14px}
  .compass .rc2-bar input{font-size:16px}
  .compass .rc3-name{min-width:0}
  .compass .cp-th{border-radius:10px} /* R294-THUMB-CLIP: stays 84×60 — the crop and pin are worked out for that size */
}
.compass .cp-credit{margin-top:6px;font-size:12px}
.compass .cp-credit a{color:inherit;text-decoration:underline}
/* your recent searches (Kyle 10/24: only your own) */
.compass .rct-chips{display:flex;flex-wrap:wrap;gap:8px}
.compass .rct-mys .rct-ms{font:600 13.5px/1 var(--cp-f);padding:8px 14px}
.compass .rct-mys .rct-ms small{margin-left:4px;color:var(--ink-3);font-weight:600}
.compass .rct-mys .rc2-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
/* IQ24 research panel (public/research-ui.js) */
.rs-panel{margin:0 0 18px;padding:14px 16px;border:1px solid var(--line-2);border-radius:14px;background:color-mix(in srgb,var(--cp-acc,#2563eb) 5%,transparent)}
.rs-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.rs-head h3 small{font-weight:500;color:var(--ink-3);font-size:12px;margin-left:6px;letter-spacing:0;text-transform:none}
.rs-last{margin:8px 0}.rs-bl{margin:8px 0;font-size:13px;color:var(--ink-3)}
.rs-bl span{display:inline-block;margin:2px 4px;padding:2px 8px;border-radius:999px;border:1px dashed var(--line-2);color:var(--ink)}
.rs-h{margin:14px 0 6px;font-size:13px}
.rs-f{padding:10px 12px;margin:6px 0;border:1px solid var(--line-2);border-radius:10px;background:var(--panel,transparent)}
.rs-fh{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.rs-v{font-weight:700}
.rs-c{font-size:11px;padding:1px 7px;border-radius:999px;border:1px solid var(--line-2);color:var(--ink-3)}.rs-c.likely{color:var(--ok,#16a34a)}
.rs-f blockquote{margin:6px 0;padding:2px 10px;border-left:3px solid var(--line-2);color:var(--ink-3);font-size:13px}
.rs-src{font-size:12px;color:var(--ink-3)}.rs-acts{display:flex;gap:8px;margin-top:8px;align-items:center}
.rs-acts input{min-height:36px;padding:4px 10px;border-radius:8px;border:1px solid var(--line-2);background:transparent;color:var(--ink)}
.rs-rej{margin-top:10px;font-size:13px}.rs-worth{margin-top:12px;font-size:13px;color:var(--ink-3)}
.rs-ck{color:var(--ink-3)}.rs-ck.ok{color:var(--ok,#16a34a)}
.rs-acts.rs-why{flex-direction:column;align-items:stretch}.rs-whyh{font-size:12px;color:var(--ink-3)}
.rs-codes{display:flex;flex-wrap:wrap;gap:6px}
/* IQ24-2 the Compass Graph (public/intelgraph-ui.js): an operations canvas — dark in both themes, like a map */
.ig{margin:0 0 18px;padding:16px;border:1px solid var(--line-2);border-radius:18px;color:#e6edf7;
  background:linear-gradient(rgba(120,160,255,.06) 1px,transparent 1px) 0 0/28px 28px,linear-gradient(90deg,rgba(120,160,255,.06) 1px,transparent 1px) 0 0/28px 28px,
  radial-gradient(80% 120% at 50% 0%,#14244a,#0a1020 70%);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.ig .rc-sten{color:#fff}.ig .rc-sten small{font-weight:500;color:#9fb0cc;font-size:12px;margin-left:6px;letter-spacing:0;text-transform:none}
.ig .sec-note{color:#9fb0cc}.ig .loading{color:#9fb0cc}
.ig .linkbtn.sec{background:rgba(255,255,255,.06);color:#e6edf7;border-color:rgba(255,255,255,.18)}
.ig-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.ig-tools{display:flex;gap:8px}
.ig-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:14px;align-items:start}
.ig-cv{border-radius:14px;background:radial-gradient(closest-side,rgba(61,139,255,.14),transparent);min-width:0}
.ig-svg{width:100%;height:auto;display:block}
.ig-ring{fill:none;stroke:rgba(143,193,255,.12);stroke-dasharray:3 6}
.ig-e{fill:none;stroke:rgba(143,193,255,.28);stroke-width:1.2}.ig-e.h2{stroke-dasharray:4 4;stroke:rgba(143,193,255,.2)}.ig-e.on{stroke:#8fc1ff;stroke-width:2.2}
.ig-n{cursor:pointer;outline:none}.ig-n circle{stroke:#0a1020;stroke-width:2}.ig-n:hover circle,.ig-n:focus circle,.ig-n.on circle{stroke:#fff;stroke-width:2.5}
.ig-pulse{fill:none;stroke-width:2;opacity:.55;animation:igp 2.2s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes igp{0%{transform:scale(.7);opacity:.7}100%{transform:scale(1.5);opacity:0}}
.ig-t{fill:#c9d6ea;font-size:12px;pointer-events:none;paint-order:stroke;stroke:#0a1020;stroke-width:3px}
.ig-n.on .ig-t{fill:#fff;font-weight:700}
.ig-cr{fill:none;stroke:rgba(255,255,255,.35);stroke-width:2}
.ig-ct{fill:#fff;font-size:14px;font-weight:800;text-anchor:middle}.ig-cs{fill:#cfe0ff;font-size:11px;text-anchor:middle}
.ig-card{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);font-size:13px}
.ig-card p{margin:6px 0 10px;color:#c9d6ea}.ig-kick{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8fc1ff}
.ig-ttl{font-size:16px;font-weight:800;margin:4px 0}.ig-rel{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0}
.ig-rel span{font-size:11px;padding:2px 8px;border-radius:999px;background:rgba(143,193,255,.14);color:#cfe0ff}
.ig-st{margin:6px 0}.ig-ev{margin:8px 0;padding-left:16px;color:#c9d6ea}.ig-soon{color:#ffb454;font-weight:700}
.ig-acts{display:flex;gap:8px;margin-top:10px;align-items:center}
.ig-leg{display:flex;flex-wrap:wrap;gap:6px}.ig-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 10px;border-radius:999px;
  border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:#e6edf7;font:inherit;font-size:12px;cursor:pointer}
.ig-chip i{width:9px;height:9px;border-radius:50%;display:inline-block}.ig-chip.off{opacity:.4;text-decoration:line-through}
.ig-low{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:14px;margin-top:12px}
.ig .rs-h{color:#cfe0ff;margin:4px 0 6px}
.ig-tsvg{width:100%;height:auto;display:block;background:rgba(255,255,255,.03);border-radius:10px}
.ig-tk{stroke:rgba(255,255,255,.07)}.ig-tl{fill:#7d8db0;font-size:10px;text-anchor:middle}.ig-ln{fill:#7d8db0;font-size:10px}
.ig-now{stroke:#ffb454;stroke-width:1.5;stroke-dasharray:3 3}.ig-nowt{fill:#ffb454;font-size:10px;font-weight:700}
.ig-td{cursor:pointer;stroke:#0a1020;stroke-width:1}.ig-td.soon{stroke:#ffb454;stroke-width:1.5}
.ig-since{fill:rgba(34,197,94,.08)}.ig-since-l{font-size:12px;margin-bottom:8px;padding:8px 10px;border-radius:10px;background:rgba(34,197,94,.1);color:#cdeed8}
.ig-sig{position:relative;padding:10px 12px 10px 14px;margin-bottom:8px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.ig-sig::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:#7d8db0}
.ig-sig.high::before{background:#ff7a45}.ig-sig.watch::before{background:#3d8bff}
.ig-sh{display:flex;gap:8px;align-items:baseline;justify-content:space-between}.ig-rt{font-size:10px;color:#8fc1ff;text-transform:uppercase;letter-spacing:.06em}
.ig-sw{font-size:12px;color:#c9d6ea;margin:3px 0}.ig-sn{font-size:12px;color:#fff}
.ig-sev{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.ig-evb{font:inherit;font-size:11px;padding:3px 8px;min-height:28px;border-radius:8px;border:1px solid rgba(143,193,255,.3);background:transparent;color:#cfe0ff;cursor:pointer}
.ig-src{font-size:11px;color:#8fc1ff}
.ig.ig-max{position:fixed;inset:12px;z-index:900;overflow:auto;margin:0}
@media (max-width:860px){.ig-grid,.ig-low{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.ig-pulse{animation:none}}
.ig-lane{stroke:rgba(255,255,255,.06)}.ig-tsvg .ig-ln,.ig-tsvg .ig-tl{font-size:11px}
.ig-list{display:none}
.ig-list details{margin:6px 0;border-radius:10px;background:rgba(255,255,255,.04)}.ig-list summary{padding:10px 12px;cursor:pointer;display:flex;gap:8px;align-items:center}
.ig-list summary i{width:9px;height:9px;border-radius:50%;display:inline-block}
.ig-li{display:flex;flex-wrap:wrap;gap:4px 8px;width:100%;text-align:left;min-height:44px;padding:8px 12px;border:0;border-top:1px solid rgba(255,255,255,.06);background:transparent;color:#e6edf7;font:inherit;font-size:13px;cursor:pointer}
.ig-li span{color:#9fb0cc;font-size:12px}.ig-li em{color:#22c55e;font-style:normal;font-size:11px;font-weight:700}.ig-li.on{background:rgba(143,193,255,.12)}
@media (max-width:640px){.ig-svg{display:none}.ig-list{display:block}}
