:root {
  --bg:#0d0d11;
  --bg-2:#111116;
  --panel:#15151b;
  --panel-2:#1b1b22;
  --panel-3:#202028;
  --text:#f4f2f0;
  --text-2:#d4d1d7;
  --muted:#96939f;
  --muted-2:#6f6c78;
  --line:#2a2932;
  --line-2:#37343f;
  --violet:#20b9aa;
  --violet-2:#62d4c9;
  --violet-soft:#102825;
  --teal:#55c7bf;
  --teal-soft:#142725;
  --amber:#e3a84d;
  --amber-soft:#2a2115;
  --red:#e16a6a;
  --green:#6bc58f;
  --shadow:0 18px 60px rgba(0,0,0,.34);
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}
button,input{font:inherit}
button{cursor:pointer}
.error{color:var(--red)}
[hidden]{display:none!important}

/* Login */
.login-shell{min-height:100vh;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 18%,#142a28 0,#121117 40%,#0b0b0e 76%)}
.login-shell:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 80%)}
.login-glow{position:absolute;width:520px;height:520px;border-radius:50%;background:rgba(32,185,170,.13);filter:blur(110px);top:-260px;left:50%;transform:translateX(-50%)}
.login-card{position:relative;width:min(430px,calc(100vw - 32px));background:rgba(20,20,26,.94);border:1px solid var(--line-2);border-radius:18px;padding:34px;box-shadow:var(--shadow);backdrop-filter:blur(18px)}
.brand-lockup{display:flex;align-items:center;gap:12px}.brand-lockup.large{margin-bottom:34px}.brand-lockup strong{display:block;font-size:18px}.brand-lockup span:last-child{display:block;margin-top:2px;font-size:9px;letter-spacing:1.7px;color:var(--muted)}
.brand-mark{width:46px;height:46px;border:1px solid rgba(170,140,255,.6);border-radius:13px;background:linear-gradient(145deg,#231c35,#15151b);color:#fff;display:grid;place-items:center;font-size:23px;font-weight:750;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 0 30px rgba(143,114,232,.12)}
.brand-mark.small{width:29px;height:29px;border-radius:8px;font-size:14px}
.login-copy h1{font-size:34px;letter-spacing:-1.2px;margin:0 0 8px}.login-copy p{color:var(--muted);margin:0 0 26px;line-height:1.5}
.login-card label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.65px;color:var(--text-2);margin:15px 0 5px}.login-card input{width:100%;margin-top:7px;border:1px solid var(--line-2);border-radius:10px;padding:12px 13px;background:#0e0e12;color:var(--text);outline:none}.login-card input:focus{border-color:var(--violet);box-shadow:0 0 0 3px rgba(32,185,170,.11)}.login-card small{display:block;color:var(--muted-2);margin-top:18px}
.button{border:0;border-radius:10px;padding:12px 16px}.primary{background:linear-gradient(135deg,var(--violet),#168f83);color:white;font-weight:700}.wide{width:100%;margin-top:16px}

/* Main chrome */
.appbar{height:60px;background:#0b0b0f;color:var(--text);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 17px;border-bottom:1px solid #24232b;position:relative;z-index:20}
.brand-button{justify-self:start;border:0;background:transparent;color:inherit;display:flex;align-items:center;gap:9px;padding:0}.brand-word{font-weight:760;font-size:15px}.brand-divider{height:18px;width:1px;background:#34323c;margin:0 3px}.brand-suite{font-size:9px;letter-spacing:1.4px;color:var(--muted);font-weight:800}
.workspace-tabs{height:100%;display:flex;align-items:center;gap:8px}.workspace-tab{height:34px;border:1px solid transparent;border-radius:9px;background:transparent;color:#9d9aa6;padding:0 14px;display:flex;align-items:center;gap:7px}.workspace-tab:hover{background:#15151a;color:#dcd9df}.workspace-tab.active{background:#1a1820;border-color:#302c3c;color:white;box-shadow:inset 0 -2px 0 var(--violet)}
.tab-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#292632;color:#cbc4dc;font-size:10px}
.account-area{justify-self:end;display:flex;align-items:center;gap:10px;color:#b8b5c0;font-size:11px}.account-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(107,197,143,.08)}.icon-text-button{border:1px solid var(--line-2);background:#141419;color:#e7e4e9;border-radius:8px;padding:7px 10px}
.workspace{min-height:calc(100vh - 60px)}
.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:850;color:var(--violet-2)}

/* Search home */
.search-workspace{background:var(--bg)}
.search-home{min-height:calc(100vh - 60px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px 12vh;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 38%,#191721 0,#111116 42%,#0d0d11 72%)}
.search-home-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:54px 54px;mask-image:radial-gradient(circle at 50% 42%,#000 0,transparent 72%);pointer-events:none}
.search-brand{text-align:center;margin-bottom:30px;position:relative}.search-brand h2{font-size:70px;line-height:.95;margin:10px 0 12px;font-weight:440;letter-spacing:-4.4px;color:#faf9fb}.search-brand p{color:#aaa6b2;font-size:16px;margin:0}
.hero-search,.compact-search{display:flex;align-items:center;background:#17171d;border:1px solid #3a3744;box-shadow:0 12px 44px rgba(0,0,0,.26);border-radius:12px}.hero-search{position:relative;width:min(820px,92vw);padding:7px 7px 7px 16px}.hero-search:focus-within,.compact-search:focus-within{border-color:#62547e;box-shadow:0 0 0 3px rgba(32,185,170,.10),0 12px 44px rgba(0,0,0,.26)}
.search-icon{font-size:22px;color:#8d8996}.hero-search input,.compact-search input{border:0;outline:0;background:transparent;flex:1;min-width:0;color:var(--text)}.hero-search input{font-size:16px;padding:12px 11px}.hero-search input::placeholder,.compact-search input::placeholder{color:#777380}
.search-submit,.compact-search button{border:0;border-radius:9px;background:linear-gradient(135deg,var(--violet),#168f83);color:white;padding:11px 20px;font-weight:750}
.search-type-row{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:18px;color:#6f6c78;font-size:11px}.search-type-row button{border:1px solid #302e37;border-radius:7px;background:#141419;color:#aaa6b2;padding:7px 9px}.search-type-row button:hover{border-color:#5c4f74;color:#e9e5ef;background:#191720}.search-help{position:relative;color:#686571;font-size:10px;margin:14px 0 0}

/* Results */
.results-view{min-height:calc(100vh - 60px);padding-bottom:70px;background:#0f0f13}
.compact-search-wrap{position:sticky;top:60px;z-index:12;background:rgba(11,11,15,.92);backdrop-filter:blur(14px);border-bottom:1px solid #25242c}.compact-search-inner{width:min(1180px,calc(100vw - 34px));margin:0 auto;padding:14px 0 12px}.compact-search{width:min(760px,100%);padding:4px 5px 4px 13px;background:#15151b;box-shadow:none}.compact-search input{padding:9px 8px;font-size:14px}.compact-search button{padding:9px 17px}
.choices,.status{width:min(760px,100%);margin:8px 0 0}.choices{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.choices button{border:1px solid #393642;background:#17171d;border-radius:7px;padding:6px 9px;color:#dad6df}.choices button:hover{border-color:var(--violet);background:#121e1d}.status{font-size:10px;color:#77737f;min-height:12px}
.results-shell{width:min(1180px,calc(100vw - 34px));margin:26px auto}
.result-overview{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(480px,1.6fr);gap:0;background:linear-gradient(135deg,#17171d,#141419);border:1px solid #2d2b35;border-radius:14px;overflow:hidden;box-shadow:0 14px 45px rgba(0,0,0,.15);margin-bottom:28px}.overview-query{padding:24px 26px;border-right:1px solid #2a2932;background:radial-gradient(circle at 10% 0,rgba(32,185,170,.10),transparent 55%)}.overview-title-row{display:flex;align-items:center;gap:10px;margin-top:8px}.overview-title-row h2{font-size:28px;letter-spacing:-.8px;margin:0;overflow-wrap:anywhere}.query-type-pill{font-size:9px;text-transform:uppercase;letter-spacing:.6px;color:#d8cff1;background:#142b28;border:1px solid #27534f;border-radius:6px;padding:5px 7px}.overview-query p{color:#85818d;font-size:11px;line-height:1.5;margin:12px 0 0}.overview-content{padding:22px 24px;display:grid;gap:20px}.overview-block{display:grid;gap:9px}.overview-label{font-size:10px;text-transform:uppercase;letter-spacing:.9px;color:#77737f;font-weight:800}.overview-stats{display:flex;gap:8px;flex-wrap:wrap}.overview-stat{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#1c1c23;border:1px solid #2e2c36;border-radius:9px;font-size:11px;color:#c9c5cf}.overview-stat strong{font-size:15px;color:#fff}.overview-stat.direct{border-color:#285e59}.overview-stat.username{border-color:#594523}.overview-pivots{display:flex;gap:7px;flex-wrap:wrap}.pivot-chip{border:1px solid #35323e;background:#18181e;color:#d7d3dc;border-radius:8px;padding:7px 9px;display:flex;align-items:center;gap:7px;font-size:10px}.pivot-chip:hover{border-color:#337d75;background:#121f1e}.pivot-chip .pivot-code{color:var(--violet-2);font-weight:850}.pivot-chip .pivot-value{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.results-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:15px;padding:0 2px}.results-heading h2{font-size:22px;letter-spacing:-.5px;margin:5px 0 0}.result-count{color:#817e89;font-size:11px}
.result-section{margin:20px 0 30px}.result-section-head{display:flex;align-items:center;gap:9px;border-bottom:1px solid #282730;padding:0 2px 10px;margin-bottom:10px}.result-section-head h3{font-size:11px;letter-spacing:.65px;text-transform:uppercase;margin:0;color:#dad7dd}.meaning-dot{width:7px;height:7px;border-radius:50%}.meaning-direct{background:var(--violet-2);box-shadow:0 0 12px rgba(170,140,255,.35)}.meaning-username{background:var(--amber)}.meaning-related{background:var(--teal)}.result-section-note{margin-left:auto;color:#716e7a;font-size:10px}
.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:10px}.result-card{position:relative;background:#15151b;border:1px solid #292831;border-radius:12px;padding:15px 15px 13px;box-shadow:0 6px 22px rgba(0,0,0,.08);transition:.14s ease;overflow:hidden}.result-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:#686274}.result-card.style-direct:before{background:var(--violet)}.result-card.style-username:before{background:var(--amber)}.result-card.style-related:before{background:var(--teal)}.result-card:hover{transform:translateY(-1px);border-color:#403c4b;background:#17171e;box-shadow:0 10px 28px rgba(0,0,0,.18)}
.result-card-top{display:flex;gap:11px;align-items:flex-start}.entity-icon{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;font-size:10px;font-weight:850;background:#221d31;color:#a9ddd8;border:1px solid #3b3152;flex:0 0 auto}.entity-icon.related{background:#162524;color:#79d6cf;border-color:#29403d}.entity-icon.username{background:#292013;color:#e8b661;border-color:#493719}.result-title-wrap{min-width:0;flex:1}.result-card h4{font-size:14px;margin:1px 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-type{font-size:9px;color:#77737f;text-transform:uppercase;letter-spacing:.65px}.source-badge{margin-left:auto;border:1px solid #302e37;background:#111116;color:#8c8994;border-radius:6px;padding:5px 7px;font-size:9px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.result-meta{display:grid;grid-template-columns:auto 1fr;gap:5px 12px;margin:14px 0 11px;font-size:10px}.result-meta dt{color:#77737f}.result-meta dd{margin:0;color:#c3c0c8;overflow-wrap:anywhere}.evidence-pill{display:inline-flex;align-items:center;background:#1d1a27;color:#bfb4d8;border:1px solid #302a40;border-radius:6px;padding:5px 7px;font-size:9px;font-weight:700}.style-username .evidence-pill{background:#241d13;border-color:#3c2f18;color:#cda565}.style-related .evidence-pill{background:#142321;border-color:#263c39;color:#80c9c3}
.result-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:13px}.result-actions button{border:1px solid #33313a;background:#19191f;color:#c8c5cd;border-radius:7px;padding:7px 9px;font-size:10px}.result-actions button:hover{border-color:#4b4755;color:#fff}.result-actions .add{background:#1ca99b;border-color:#20b9aa;color:white;font-weight:700}.result-actions .pivot{border-color:#493d62;color:#9ccdc8;background:#121f1e}.empty-results,.ambiguity-panel{padding:40px;text-align:center;color:#8b8793;background:#15151b;border:1px solid #2a2932;border-radius:12px}.ambiguity-panel h3{color:#f0edf3;font-size:18px;margin:0 0 8px}.ambiguity-panel p{margin:0;color:#817d89;font-size:11px}

/* Canvas */
.canvas-workspace{background:#0d0d11;display:flex;flex-direction:column}.canvas-toolbar{height:58px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 16px 0 19px;background:#111116;border-bottom:1px solid #25242c}.canvas-toolbar-title{display:flex;align-items:center;gap:12px}.canvas-summary{font-size:10px;color:#77737f}.canvas-actions{display:flex;gap:6px}.tool-button{border:1px solid #34313d;background:#17171d;color:#c4c0ca;border-radius:7px;padding:7px 10px;font-size:10px}.tool-button:hover{border-color:#4a4653;color:white}.tool-button.accent{background:#211a32;border-color:#4d3c70;color:#a9ddd8}.tool-button:disabled{opacity:.38;cursor:not-allowed}.canvas-stage-wrap{position:relative;flex:1;min-height:calc(100vh - 118px);overflow:hidden;background-color:#0f0f13;background-image:radial-gradient(circle at 50% 45%,rgba(143,114,232,.055),transparent 45%),linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:auto,38px 38px,38px 38px}.pixi-host{position:absolute;inset:0}.pixi-host canvas{display:block;width:100%;height:100%}.canvas-hint{position:absolute;left:14px;bottom:13px;display:flex;gap:4px;pointer-events:none}.canvas-hint span{background:rgba(13,13,17,.86);border:1px solid #2c2a33;color:#77737f;border-radius:6px;padding:6px 8px;font-size:9px}.pixi-error{position:absolute;inset:30% 20%;display:grid;place-items:center;text-align:center;background:#1d1617;border:1px solid #563336;border-radius:12px;color:#e0a1a1;padding:30px}

/* Drawer */
.drawer{position:fixed;z-index:50;right:0;top:60px;bottom:0;width:min(410px,92vw);background:#121217;border-left:1px solid #2b2933;box-shadow:-20px 0 54px rgba(0,0,0,.34);transform:translateX(101%);transition:transform .18s ease;display:flex;flex-direction:column}.drawer.open{transform:translateX(0)}.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;padding:21px 21px 16px;border-bottom:1px solid #292730;background:#15151b}.drawer-head h2{margin:6px 0 0;font-size:21px;letter-spacing:-.5px}.drawer-close{border:0;background:transparent;font-size:25px;color:#77737f}.drawer-close:hover{color:white}.drawer-body{padding:18px 21px 40px;overflow:auto}.detail-block{padding:0 0 17px;margin:0 0 17px;border-bottom:1px solid #292730}.detail-block:last-child{border-bottom:0}.detail-block h3{font-size:9px;text-transform:uppercase;letter-spacing:.9px;color:#77737f;margin:0 0 10px}.detail-grid{display:grid;grid-template-columns:105px 1fr;gap:8px 12px;font-size:10px}.detail-grid dt{color:#77737f}.detail-grid dd{margin:0;color:#d1cdd5;overflow-wrap:anywhere}.drawer-actions{display:flex;gap:7px;flex-wrap:wrap}.drawer-actions button{border:1px solid #34313d;border-radius:7px;background:#18181e;color:#c8c4cd;padding:8px 10px;font-size:10px}.drawer-actions .primary-action{background:#168f83;color:white;border-color:#1ca99b}.caveat{border-left:2px solid var(--amber);background:#241d13;padding:10px 11px;border-radius:0 7px 7px 0;font-size:10px;line-height:1.5;color:#d3b27c}.provenance-list{display:grid;gap:7px}.provenance-row{padding:10px;background:#18181e;border:1px solid #292730;border-radius:8px;font-size:10px;color:#b8b5be}.provenance-row strong{display:block;color:#e7e3ea;margin-bottom:4px}.toast{position:fixed;z-index:80;left:50%;bottom:22px;transform:translateX(-50%);background:#201b2b;color:#f5f1ff;border:1px solid #4b3a68;border-radius:8px;padding:9px 13px;font-size:10px;box-shadow:var(--shadow)}

@media(max-width:900px){.appbar{grid-template-columns:auto 1fr auto}.brand-suite,.brand-divider,.account-area #who{display:none}.workspace-tab{padding:0 10px}.result-overview{grid-template-columns:1fr}.overview-query{border-right:0;border-bottom:1px solid #2a2932}.results-shell,.compact-search-inner{width:min(100% - 22px,1180px)}.hero-search{width:min(94vw,820px)}.canvas-toolbar{height:auto;min-height:70px;align-items:flex-start;padding:11px;gap:9px}.canvas-actions{flex-wrap:wrap;justify-content:flex-end}.canvas-stage-wrap{min-height:calc(100vh - 130px)}}
@media(max-width:620px){.search-brand h2{font-size:58px}.result-grid{grid-template-columns:1fr}.result-section-note{display:none}.overview-content{padding:18px}.appbar{padding:0 10px}.brand-word{display:none}}

/* Lili Batch 001 — results workspace refinement
   Presentation only. Search, authorization, graph state and Canvas behaviour are unchanged. */
.overview-stat.sources{border-color:#31505a;background:#172126}
.overview-stat.sources strong{color:#9ed8df}
.section-count{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 6px;border:1px solid #35323e;border-radius:999px;background:#18181e;color:#aaa6b2;font-size:9px;font-weight:800}
.result-section-head h3{font-size:10px;letter-spacing:.78px}
.result-section-direct .result-section-head{border-bottom-color:#372f49}
.result-section-username .result-section-head{border-bottom-color:#3a3020}
.result-section-related .result-section-head{border-bottom-color:#253c3a}
.result-grid-direct{grid-template-columns:1fr}
.result-grid-direct .result-card{display:grid;grid-template-columns:minmax(250px,1.25fr) minmax(260px,.9fr) minmax(130px,.42fr);grid-template-areas:"identity meta actions" "identity evidence actions";column-gap:24px;align-items:center;min-height:124px;padding:18px 18px 17px;background:linear-gradient(105deg,#18161f 0%,#15151b 58%,#141419 100%);border-color:#342d46}
.result-grid-direct .result-card:hover{border-color:#51446d;background:linear-gradient(105deg,#1a1723 0%,#17171e 58%,#15151b 100%)}
.result-grid-direct .result-card-top{grid-area:identity;align-items:center;min-width:0}
.result-grid-direct .entity-icon{width:44px;height:44px;border-radius:11px;font-size:11px}
.result-grid-direct .result-card h4{font-size:17px;letter-spacing:-.2px;margin-bottom:5px}
.result-grid-direct .result-type{font-size:9px}
.result-grid-direct .source-badge{position:absolute;right:15px;top:13px}
.result-grid-direct .result-meta{grid-area:meta;margin:0;padding:3px 0;grid-template-columns:72px minmax(0,1fr);gap:6px 11px;border-left:1px solid #2d2936;padding-left:20px}
.result-grid-direct .evidence-pill{grid-area:evidence;justify-self:start;margin-left:20px}
.result-grid-direct .result-actions{grid-area:actions;align-self:center;justify-self:stretch;display:grid;grid-template-columns:1fr;margin:20px 0 0;min-width:128px}
.result-grid-direct .result-actions button{width:100%;padding:8px 10px}
.result-grid-username,.result-grid-related{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:8px}
.result-grid-username .result-card,.result-grid-related .result-card{padding:13px 14px 12px;background:#141419}
.result-grid-username .result-meta,.result-grid-related .result-meta{margin:11px 0 9px}
.result-grid-username .result-actions,.result-grid-related .result-actions{margin-top:10px}
.result-grid-username .result-actions button,.result-grid-related .result-actions button{padding:6px 8px}
.source-badge{font-variant-numeric:tabular-nums}
@media(max-width:900px){.result-grid-direct .result-card{grid-template-columns:1fr;grid-template-areas:"identity" "meta" "evidence" "actions";gap:12px}.result-grid-direct .source-badge{position:static;margin-left:auto}.result-grid-direct .result-meta{border-left:0;border-top:1px solid #2d2936;padding:12px 0 0}.result-grid-direct .evidence-pill{margin-left:0}.result-grid-direct .result-actions{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.result-grid-direct .result-actions button{min-width:0}}
@media(max-width:620px){.result-grid-direct .result-actions{grid-template-columns:1fr}}



/* Lili Batch 002 — Canvas investigation workspace visual refinement
   Presentation only. Graph identity, dedupe, placement, expansion and backend behaviour are unchanged. */
.canvas-workspace{background:#0a0a0d}
.canvas-toolbar{height:52px;padding:0 14px 0 18px;background:#0d0d11;border-bottom:1px solid #201f26}
.canvas-toolbar-title{gap:10px}
.canvas-toolbar-title .eyebrow{color:#20b9aa}
.canvas-summary{color:#85818d;font-size:9px}
.canvas-actions{gap:5px}
.tool-button{background:#121217;border-color:#2c2a32;color:#aaa6b1;border-radius:8px;padding:6px 9px;font-size:9px}
.tool-button:hover{background:#17171d;border-color:#403c48;color:#f0edf4}
.tool-button.accent{background:#10211f;border-color:#23504b;color:#a9ddd8}
.canvas-stage-wrap{min-height:calc(100vh - 112px);background-color:#0b0b0f;background-image:radial-gradient(circle at 48% 40%,rgba(131,99,221,.07),transparent 36%),radial-gradient(circle,rgba(255,255,255,.052) 1px,transparent 1px);background-size:auto,26px 26px}
.canvas-hint{left:16px;bottom:15px;gap:5px}
.canvas-hint span{background:rgba(12,12,16,.9);border-color:#292730;color:#85818d;border-radius:8px;padding:6px 9px;font-size:8px;box-shadow:0 5px 18px rgba(0,0,0,.18)}
.drawer{background:#0f0f13;border-left-color:#26242c;box-shadow:-22px 0 70px rgba(0,0,0,.44)}
.drawer-head{padding:19px 20px 15px;background:#121217;border-bottom-color:#26242c}
.drawer-head h2{font-size:19px}
.drawer-body{padding:17px 20px 40px}
.detail-block{border-bottom-color:#25232b}
.detail-block h3{color:#8f8999}
.provenance-row{background:#141419;border-color:#292730}
.drawer-actions button{background:#141419;border-color:#302e37}
.drawer-actions .primary-action{background:#168f83;border-color:#20b9aa}


/* Lili Batch 005 — OSINTERSECT Canvas identity
   Signal teal replaces borrowed violet accents. Platform brand colours remain platform-owned. */
.canvas-toolbar-title .eyebrow{color:#20b9aa}
.tool-button.accent{background:#10211f;border-color:#23504b;color:#a9ddd8}
.drawer-actions .primary-action{background:#168f83;border-color:#20b9aa}

/* Lili Batch 006 — paced search + progressive results
   Search is deliberately non-instant. The POC allows one active search job per session,
   makes one bounded lookup per job, and progressively reveals returned items. */
.compact-search-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:min(100%,1180px)}
.compact-search-meta .choices{flex:1}
.search-status-wrap{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:34px;margin-top:4px}
.status{width:auto;margin:0;min-height:0;display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid transparent;border-radius:8px;color:#8d8995;white-space:nowrap}
.status.is-searching{background:#121d1c;border-color:#213b38;color:#a8dcd7}
.status.is-searching:before{content:"";width:11px;height:11px;border-radius:50%;border:2px solid rgba(98,212,201,.25);border-top-color:#62d4c9;animation:lili-spin .8s linear infinite}
.cancel-search{border:1px solid #34313d;background:#15151b;color:#aaa6b2;border-radius:8px;padding:6px 9px;font-size:10px}
.cancel-search:hover{border-color:#554f5f;color:#fff}
.results-shell{margin-top:22px}
.results-heading{align-items:center;margin-bottom:14px;padding:0}
.results-title-row{display:flex;align-items:center;gap:9px;margin-top:5px}
.results-heading h2{margin:0;font-size:23px;letter-spacing:-.55px}
.query-type-pill{color:#9edbd5;background:#112725;border-color:#28534e}
.result-overview{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:transparent;border:0;border-radius:0;overflow:visible;box-shadow:none;margin:0 0 14px}
.overview-card{min-height:108px;padding:16px 17px;background:#15151b;border:1px solid #2a2932;border-radius:11px;align-content:start}
.overview-stats{margin-top:2px}
.overview-stat{padding:7px 9px;background:#19191f;border-color:#302e37}
.overview-stat.direct{border-color:#2b625c}.overview-stat.username{border-color:#564426}.overview-stat.related{border-color:#31504d}
.pivot-chip{background:#18181e;border-color:#32303a}.pivot-chip:hover{border-color:#3b756e;background:#13201f}.pivot-chip .pivot-code{color:#62d4c9}
.found-in{display:flex;align-items:center;gap:12px;padding:12px 14px;margin:0 0 18px;background:#121217;border:1px solid #25242c;border-radius:10px;overflow:auto}
.found-in .overview-label{flex:0 0 auto}
.found-in-list{display:flex;align-items:center;gap:8px;min-width:0}
.found-in-chip{display:flex;align-items:center;gap:7px;padding:5px 8px 5px 5px;border:1px solid #2d2b34;border-radius:8px;background:#17171d;color:#aaa6b2;font-size:9px;white-space:nowrap}
.found-in-icon,.result-platform-icon{--entity-colour:#20b9aa;position:relative;display:grid;place-items:center;background:var(--entity-colour);flex:0 0 auto}
.found-in-icon{width:28px;height:28px;border-radius:7px}.result-platform-icon{width:40px;height:40px;border-radius:10px}
.found-in-icon:before,.result-platform-icon:before{content:"";position:absolute;background:#fff;border-radius:5px}.found-in-icon:before{inset:5px}.result-platform-icon:before{inset:6px;border-radius:7px}
.found-in-icon-image,.result-platform-icon-image{position:relative;z-index:1;width:58%;height:58%;object-fit:contain;display:block}.found-in-icon-fallback,.result-platform-icon-fallback{position:relative;z-index:1;font-size:8px;font-weight:800;line-height:1}.result-platform-icon-fallback{font-size:10px}
.result-section{margin:16px 0 24px}.result-section-head{margin-bottom:9px}.result-section-head h3{font-size:10px}.result-section-note{font-size:9px}
.result-grid,.result-grid-direct,.result-grid-username,.result-grid-related{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.result-grid-direct .result-card,.result-grid-username .result-card,.result-grid-related .result-card{display:block;min-height:0;padding:14px;background:#15151b;border-color:#292831}
.result-grid-direct .result-card:hover,.result-grid-username .result-card:hover,.result-grid-related .result-card:hover{background:#17171d;border-color:#3a3743}
.result-grid-direct .result-card-top,.result-grid-username .result-card-top,.result-grid-related .result-card-top{display:flex;align-items:center;gap:10px}
.result-grid-direct .source-badge,.result-grid-username .source-badge,.result-grid-related .source-badge{position:static;margin-left:auto}
.result-grid-direct .result-meta,.result-grid-username .result-meta,.result-grid-related .result-meta{display:grid;grid-template-columns:54px minmax(0,1fr);gap:5px 10px;margin:12px 0 9px;padding:0;border:0}
.result-grid-direct .evidence-pill,.result-grid-username .evidence-pill,.result-grid-related .evidence-pill{margin:0}
.result-grid-direct .result-actions,.result-grid-username .result-actions,.result-grid-related .result-actions{display:flex;grid-template-columns:none;gap:6px;margin:11px 0 0;min-width:0}
.result-grid-direct .result-actions button,.result-grid-username .result-actions button,.result-grid-related .result-actions button{width:auto;padding:6px 8px}
.result-card:before{width:2px}.result-card.style-direct:before{background:#20b9aa}.result-card.style-username:before{background:#e3a84d}.result-card.style-related:before{background:#55c7bf}
.meaning-direct{background:#62d4c9;box-shadow:0 0 10px rgba(98,212,201,.24)}
.evidence-pill{background:#112725;border-color:#27504c;color:#8bd4cd}.style-username .evidence-pill{background:#241d13;border-color:#3c2f18;color:#cda565}.style-related .evidence-pill{background:#142321;border-color:#263c39;color:#80c9c3}
.result-actions .pivot{border-color:#2d534e;color:#9ddbd5;background:#121f1e}
.result-card-arrive{animation:lili-result-in .26s cubic-bezier(.2,.8,.2,1) both}
.result-skeleton-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:16px 0 26px}
.result-skeleton-card{position:relative;min-height:148px;padding:16px;border:1px solid #24232a;border-radius:11px;background:#131318;overflow:hidden}
.result-skeleton-card:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.035),transparent);animation:lili-shimmer 1.35s ease-in-out infinite}
.skeleton-icon{display:block;width:40px;height:40px;border-radius:10px;background:#202027;margin-bottom:14px}.skeleton-line{display:block;height:8px;width:60%;border-radius:5px;background:#202027;margin:9px 0}.skeleton-line.wide{width:82%}.skeleton-line.short{width:38%}
.empty-results p{margin:8px 0 0;color:#6f6c78;font-size:10px}
.drawer .eyebrow{color:#62d4c9}
@keyframes lili-spin{to{transform:rotate(360deg)}}
@keyframes lili-shimmer{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}
@keyframes lili-result-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.status.is-searching:before,.result-skeleton-card:after,.result-card-arrive{animation:none!important}.result-card{transition:none}}
@media(max-width:760px){.compact-search-meta{display:block}.search-status-wrap{justify-content:flex-start}.result-overview,.result-grid,.result-grid-direct,.result-grid-username,.result-grid-related,.result-skeleton-grid{grid-template-columns:1fr}.found-in{align-items:flex-start;flex-direction:column}}


/* Lili Batch 007 — explicit search intent + clean choice state */
.choices:empty{display:none}.choices>span:first-child{color:#8d8995}.choices button{cursor:pointer}
#results:empty{min-height:18px}


/* Lili Batch 008 — investigator search workspace
   Search graph is presentation-only and uses already-visible results. It performs zero additional OSINTERSECT lookups. */
.search-map{margin:0 0 14px;border:1px solid #282630;border-radius:12px;background:#111116;overflow:hidden}
.search-map-head{min-height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid #23222a}
.search-map-head>div{display:flex;align-items:center;gap:10px}.search-map-help{font-size:9px;color:#6f6b75}.search-map-status{font-size:9px;color:#8f8a96}
.search-map-stage{position:relative;display:grid;grid-template-columns:190px minmax(0,1fr);gap:36px;align-items:center;min-height:218px;padding:24px 28px;background-image:radial-gradient(circle,rgba(255,255,255,.045) 1px,transparent 1px);background-size:24px 24px}
.search-map-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}.search-map-line{stroke:#3a3841;stroke-width:1;opacity:.62}.search-map-line.match{stroke:#20b9aa;opacity:.78}.search-map-line.username{stroke:#a47e38;opacity:.65}.search-map-line.related{stroke:#59616a;opacity:.56}
.search-map-query,.search-map-node,.search-map-more{position:relative;z-index:1}
.search-map-query{min-height:58px;display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #4c4535;border-radius:11px;background:#171510;box-shadow:0 8px 28px rgba(0,0,0,.18)}
.search-map-query-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid #574927;border-radius:9px;background:#272116;color:#d4b66f;font-size:16px}.search-map-query strong{display:block;font-size:12px}.search-map-query small{display:block;margin-top:3px;color:#857a65;font-size:8px;text-transform:uppercase;letter-spacing:.08em}
.search-map-results{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px;align-content:center;min-height:164px}
.search-map-node{appearance:none;width:100%;min-width:0;min-height:58px;display:flex;align-items:center;gap:9px;padding:8px 9px;text-align:left;border:1px solid #302e37;border-radius:11px;background:#16161c;color:#f0edf2;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.14);transition:transform .16s ease,border-color .16s ease,background .16s ease}
.search-map-node:hover{transform:translateY(-1px);border-color:#45414c;background:#19191f}.search-map-node.search-map-match{border-color:#28635d}.search-map-node.search-map-username{border-color:#574521}
.search-map-copy{min-width:0}.search-map-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700}.search-map-copy small{display:block;margin-top:3px;color:#88838f;font-size:7.5px;text-transform:uppercase;letter-spacing:.07em}
.search-map-icon{--entity-colour:#20b9aa;position:relative;display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:9px;background:var(--entity-colour)}.search-map-icon:before{content:"";position:absolute;inset:5px;border-radius:6px;background:#fff}.search-map-icon-svg{position:relative;z-index:1;width:20px;height:20px;display:block}.search-map-icon-fallback{position:relative;z-index:1;font-size:8px;font-weight:800;line-height:1}
.search-map-node-ghost{pointer-events:none;min-height:58px;background:#141419;border-color:#24232a;overflow:hidden}.search-map-node-ghost:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.045),transparent);animation:lili-shimmer 1.25s infinite}.search-map-ghost-icon{width:36px;height:36px;border-radius:9px;background:#202027}.search-map-ghost-lines{width:70%;height:24px;border-radius:5px;background:linear-gradient(#23232a 0 7px,transparent 7px 13px,#1d1d23 13px 19px,transparent 19px)}
.search-map-more{display:grid;place-items:center;min-height:58px;border:1px dashed #34313b;border-radius:11px;color:#8d8894;font-size:9px;background:#141419}
.search-map-node-arrive{animation:lili-map-node-in .3s cubic-bezier(.2,.8,.2,1) both}
@keyframes lili-map-node-in{from{opacity:0;transform:translateX(-6px) scale(.97)}to{opacity:1;transform:none}}
.result-platform-icon{width:44px;height:44px;border-radius:10px}.result-platform-icon:before{inset:6px;border-radius:7px}.result-platform-icon-svg{position:relative;z-index:1;width:27px;height:27px;display:block}.result-platform-icon-image{display:none!important}
.found-in-icon{width:30px;height:30px;border-radius:8px}.found-in-icon:before{inset:5px;border-radius:6px}.found-in-icon-svg{position:relative;z-index:1;width:18px;height:18px;display:block}.found-in-icon-image{display:none!important}
.result-card-focus{outline:2px solid rgba(32,185,170,.8);outline-offset:2px;box-shadow:0 0 0 5px rgba(32,185,170,.08)}
@media(max-width:1050px){.search-map-stage{grid-template-columns:165px minmax(0,1fr);gap:24px}.search-map-results{grid-template-columns:repeat(2,minmax(140px,1fr))}}
@media(max-width:760px){.search-map-stage{display:block;padding:18px}.search-map-query{width:180px;margin:0 auto 16px}.search-map-results{grid-template-columns:1fr 1fr}.search-map-lines{display:none}}
@media(prefers-reduced-motion:reduce){.search-map-node-arrive,.search-map-node-ghost:after{animation:none}}

/* Lili Batch 009 replacement — evidence relationship graph.
   Search results are not connected merely because they appeared in one search.
   The view shows the actual observed bridge available in the result payload. */
.search-map{margin:0 0 16px;border:1px solid #24232b;border-radius:12px;background:#101015;overflow:hidden}
.search-map-head{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid #222129;background:#111116}
.search-map-head>div{display:flex;align-items:center;gap:10px}.search-map-help{font-size:9px;color:#716e79}.search-map-head-right{display:flex;align-items:center;gap:10px}.search-map-status,.search-map-zoom{font-size:9px;color:#8c8792}.search-map-zoom{min-width:28px;text-align:right;color:#5fbeb5}
.search-map-stage{position:relative;height:300px;min-height:300px;overflow:hidden;background-color:#0f0f13;background-image:radial-gradient(circle,rgba(255,255,255,.048) 1px,transparent 1px);background-size:22px 22px}
.search-map-world,.search-map-lines{position:absolute;left:0;top:0;transform-origin:0 0;transition:transform .2s ease}.search-map-world{z-index:2}.search-map-lines{z-index:1;overflow:visible;pointer-events:none}
.search-rel-line{stroke:#77737c;stroke-width:1;opacity:.58;vector-effect:non-scaling-stroke}.search-rel-line.direct_selector_match{stroke:#b89454;opacity:.62}.search-rel-line.observed_username,.search-rel-line.observed_phone,.search-rel-line.observed_email{stroke:#77737c;opacity:.64}.search-rel-line.same_source_record{stroke:#5c7d99;opacity:.68}.search-rel-line.related_observation{stroke:#65706f;opacity:.55}
.search-rel-entity,.search-rel-query,.search-rel-pill,.search-rel-more,.search-rel-query-ghost{position:absolute;box-sizing:border-box}
.search-rel-entity{appearance:none;border:0;border-radius:3px;background:var(--node-colour,#20b9aa);color:var(--node-text,#fff);padding:4px 5px 6px;display:grid;grid-template-rows:14px 1fr 18px;place-items:center;cursor:pointer;box-shadow:0 5px 15px rgba(0,0,0,.26);transition:filter .14s ease,transform .14s ease}
.search-rel-entity:hover{filter:brightness(1.06);transform:translateY(-1px)}.search-rel-platform{font-size:8px;line-height:14px;font-weight:700;max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-rel-entity-label{font-size:8px;line-height:16px;font-weight:700;max-width:98px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.search-rel-entity-icon{--entity-colour:transparent;position:relative;display:grid;place-items:center;width:48px;height:48px;border-radius:6px;background:#fff}.search-rel-entity-icon:before{display:none}.search-rel-entity-icon-svg{position:relative;width:30px;height:30px;display:block}.search-rel-entity-icon-fallback{font-size:10px;font-weight:800}
.search-rel-query{border:1px solid #544729;border-radius:8px;background:#18150f;color:#dec58f;display:flex;align-items:center;gap:9px;padding:7px 9px}.search-rel-query-icon{width:28px;height:28px;border-radius:7px;background:#292117;display:grid;place-items:center;color:#d5ae5a}.search-rel-query-copy strong{display:block;font-size:11px}.search-rel-query-copy small{display:block;margin-top:2px;font-size:7px;color:#8e8065;text-transform:uppercase;letter-spacing:.08em}
.search-rel-pill{appearance:none;border:1px solid #302e36;border-radius:15px;background:#19191e;color:#e9e7eb;padding:0 8px;display:flex;align-items:center;gap:7px;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.18);font:inherit}.search-rel-pill:hover{border-color:#44414b;background:#1c1c22}.search-rel-pill-icon{width:18px;height:18px;flex:0 0 18px;border:1px solid #4a4651;border-radius:50%;display:grid;place-items:center;color:#a9a4af;font-size:6px;font-weight:800}.search-rel-pill-value{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:8px;font-weight:650}.search-rel-copy{margin-left:auto;color:#77717e;font-size:9px;line-height:1}.search-rel-bridge{border-color:#354653;background:#171b20;color:#d4dde5}.search-rel-bridge .search-rel-pill-icon{border-color:#4a6579;color:#86a9c4}.search-rel-bridge .search-rel-pill-value{color:#a9bdcc}
.search-rel-more{font-size:8px;color:#807b86}.search-rel-arrive{animation:lili-rel-in .24s cubic-bezier(.2,.8,.2,1) both}@keyframes lili-rel-in{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
.search-rel-query-ghost{left:58px;top:102px;width:108px;height:78px;border-radius:4px;background:#17171c;border:1px solid #28262e;display:grid;place-items:center}.search-rel-ghost-square{width:44px;height:44px;border-radius:6px;background:#222229}.search-rel-ghost-text{position:absolute;bottom:8px;width:62px;height:7px;border-radius:3px;background:#24242b}.search-rel-ghost-pill{opacity:.65;background:#17171c;border-color:#25242b;pointer-events:none}
@media(max-width:760px){.search-map-stage{height:270px;min-height:270px}.search-map-help{display:none}}
@media(prefers-reduced-motion:reduce){.search-map-world,.search-map-lines{transition:none}.search-rel-arrive{animation:none}}
.search-map-stage{display:block;grid-template-columns:none;gap:0;padding:0;align-items:initial}

/* Lili Batch 010 — evidence-first search relationship graph.
   Search controls scroll with the results page. Relationship view keeps the searched value visible,
   shows the direct match, then observed values and only proven cross-entity relationships. */
.compact-search-wrap{position:relative;top:auto;z-index:1;background:#0d0d12;backdrop-filter:none}
.search-map{border-color:#26252c;background:#0e0e12;border-radius:10px}
.search-map-head{height:44px;padding:0 16px;background:#101014;border-bottom-color:#232229}
.search-map-help{font-size:9px;color:#77727d}.search-map-status{font-size:9px;color:#918c97}.search-map-zoom{font-size:8px;color:#5fbeb5;min-width:42px}
.search-map-stage{height:380px;min-height:360px;max-height:500px;background-color:#0d0d11;background-image:radial-gradient(circle,rgba(255,255,255,.055) 1px,transparent 1px);background-size:22px 22px;transition:height .18s ease}
.search-map-world,.search-map-lines{transition:transform .22s cubic-bezier(.2,.8,.2,1)}
.search-rel-line{stroke:#5d5b64;stroke-width:1.1;opacity:.7;vector-effect:non-scaling-stroke}
.search-rel-line.direct_selector_match{stroke:#20b9aa;opacity:.82}
.search-rel-line.observed_username,.search-rel-line.observed_phone,.search-rel-line.observed_email{stroke:#65636b;opacity:.76}
.search-rel-line.same_source_record{stroke:#7694aa;opacity:.82}
.search-rel-line.related_observation{stroke:#68736f;opacity:.72}
.search-rel-entity{border-radius:3px;padding:5px 6px 7px;grid-template-rows:15px 1fr 20px;box-shadow:0 7px 22px rgba(0,0,0,.32)}
.search-rel-platform{font-size:8.5px;line-height:15px;font-weight:750;max-width:94px}
.search-rel-entity-label{font-size:9px;line-height:18px;font-weight:750;max-width:96px}
.search-rel-entity-icon{width:54px;height:54px;border-radius:7px;box-shadow:0 1px 0 rgba(0,0,0,.08)}
.search-rel-entity-icon-svg{width:34px;height:34px}
.search-rel-query{border-color:#286861;border-radius:17px;background:#15191a;color:#e9f7f5;gap:8px;padding:6px 10px;box-shadow:0 4px 14px rgba(0,0,0,.2)}
.search-rel-query-icon{width:26px;height:26px;border-radius:50%;background:#17302e;color:#58c9be;font-size:13px}
.search-rel-query-copy{display:flex;align-items:baseline;gap:7px;min-width:0}.search-rel-query-copy small{order:0;margin:0;color:#65bcb4;font-size:7.5px}.search-rel-query-copy strong{order:1;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.search-rel-pill{border-color:#302f36;border-radius:16px;background:#18181d;color:#f0edf2;padding:0 8px;gap:7px;box-shadow:0 4px 13px rgba(0,0,0,.2)}
.search-rel-pill:hover{border-color:#46434d;background:#1c1c21}.search-rel-pill-icon{width:18px;height:18px;border-color:#4a4750;color:#b1acb7;font-size:6.5px}.search-rel-pill-value{font-size:8.5px;font-weight:700}.search-rel-copy{font-size:9px;color:#77727d}
.search-rel-edge-label{position:absolute;z-index:3;transform:translate(-50%,-50%);padding:3px 7px;border:1px solid #34323a;border-radius:9px;background:#111116;color:#a7a2ad;font-size:7px;font-weight:700;line-height:1;white-space:nowrap;pointer-events:none;box-shadow:0 2px 8px rgba(0,0,0,.24)}
.search-rel-edge-label[title]{pointer-events:auto;cursor:help}
.search-rel-more{padding:3px 7px;border:1px dashed #393640;border-radius:10px;background:#111116;color:#8c8792}
.search-rel-arrive{animation:lili-rel-in .28s cubic-bezier(.2,.8,.2,1) both}@keyframes lili-rel-in{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:760px){.search-map-stage{min-height:340px;max-height:430px}.search-rel-edge-label{display:none}}
@media(prefers-reduced-motion:reduce){.search-map-stage,.search-map-world,.search-map-lines,.search-rel-arrive{transition:none;animation:none}}
.search-rel-query-ghost,.search-rel-entity-ghost{position:absolute;box-sizing:border-box;overflow:hidden;background:#15151a;border:1px solid #292830}
.search-rel-query-ghost{border-radius:17px;display:flex;align-items:center;gap:9px;padding:7px 10px}.search-rel-ghost-circle{width:26px;height:26px;flex:0 0 26px;border-radius:50%;background:#202127}.search-rel-query-ghost .search-rel-ghost-text{width:58px;height:8px;border-radius:4px;background:#26262d}
.search-rel-entity-ghost{border-radius:3px;display:grid;place-items:center;grid-template-rows:18px 1fr 20px;padding:5px}.search-rel-ghost-platform{width:34px;height:6px;border-radius:3px;background:#23232a}.search-rel-entity-ghost .search-rel-ghost-square{width:54px;height:54px;border-radius:7px;background:#23232a}.search-rel-ghost-label{width:72px;height:7px;border-radius:3px;background:#25252c}
.search-rel-ghost-pill{background:#17171c;border-color:#292830;opacity:.8;overflow:hidden}.search-rel-query-ghost:after,.search-rel-entity-ghost:after,.search-rel-ghost-pill:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);animation:lili-shimmer 1.25s infinite}

/* Lili Batch 011 — top-down Search Results graph navigation.
   Search relationship graph now grows vertically and supports wheel zoom, empty-stage pan, and Fit. */
.search-map-head-right{gap:8px}
.search-map-zoom{min-width:38px;text-align:right;color:#7faaa5;font-variant-numeric:tabular-nums}
.search-map-fit{appearance:none;border:1px solid #345a56;border-radius:7px;background:#13201f;color:#92d8d1;padding:5px 9px;font-size:8px;font-weight:750;cursor:pointer}
.search-map-fit:hover{background:#172827;border-color:#457a74;color:#c0eee9}
.search-map-stage{height:470px;min-height:430px;max-height:540px;overflow:hidden;touch-action:none;cursor:grab;user-select:none}
.search-map-stage.is-panning{cursor:grabbing}
.search-map-world,.search-map-lines{transform-origin:0 0;will-change:transform}
.search-rel-entity,.search-rel-query,.search-rel-pill{user-select:text}
.search-rel-arrive{animation:lili-rel-in-vertical .28s cubic-bezier(.2,.8,.2,1) both}
@keyframes lili-rel-in-vertical{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
.search-map-help::after{content:" · wheel to zoom · drag to pan";color:#615e68}
@media(max-width:760px){
  .search-map-stage{height:430px;min-height:400px;max-height:480px}
  .search-map-help::after{content:""}
}
@media(prefers-reduced-motion:reduce){
  .search-rel-arrive{animation:none}
}


/* Lili Batch 012 — source-first Search Results relationship graph.
   Level 1 is source/account entities; level 2 is data observed from those sources.
   Adds explicit node dragging and reinforces standard zoom/pan affordances. */
.search-map-stage{overscroll-behavior:contain;cursor:grab}
.search-map-stage.is-panning{cursor:grabbing}
.search-map-stage.is-dragging-node{cursor:default}
.search-rel-draggable{cursor:grab;touch-action:none;user-select:none}
.search-rel-draggable.is-dragging{cursor:grabbing;z-index:6;filter:brightness(1.07)}
.search-map-stage.is-dragging-node .search-map-world,.search-map-stage.is-dragging-node .search-map-lines{transition:none}
.search-map-fit{white-space:nowrap}
.search-map-help::after{content:" · wheel to zoom · drag background to move · drag nodes";color:#66616d}
.search-rel-line.same_source_record{stroke:#728fa6;stroke-width:1.15;opacity:.85}
.search-rel-entity{transition:transform .12s ease,border-color .12s ease,filter .12s ease}
.search-rel-entity:hover{filter:brightness(1.04)}
.search-rel-pill{transition:border-color .12s ease,background .12s ease,filter .12s ease}
.search-rel-pill:hover{filter:brightness(1.05)}
@media(max-width:760px){.search-map-help::after{content:""}}

/* Batch013 — local IP geolocation map + derived-enrichment result treatment */
.ip-geo-map{margin:0 0 16px;border:1px solid #263238;border-radius:10px;background:#0b1013;overflow:hidden}
.ip-geo-map-head{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid #233039;background:#0f1519}
.ip-geo-map-head>div,.ip-geo-map-head-right{display:flex;align-items:center;gap:9px}.ip-geo-map-help{font-size:9px;color:#74848b}.ip-geo-map-status,.ip-geo-map-zoom{font-size:9px;color:#87aaa7}.ip-geo-map-zoom{min-width:38px;text-align:right;font-variant-numeric:tabular-nums}
.ip-geo-map-stage{position:relative;height:350px;min-height:320px;overflow:hidden;background:#0b1013;touch-action:none;cursor:grab;overscroll-behavior:contain;user-select:none}.ip-geo-map-stage.is-panning{cursor:grabbing}
.ip-geo-map-svg{display:block;width:100%;height:100%;background:#0b1013}.ip-geo-marker{cursor:pointer;outline:none}.ip-geo-marker-halo{fill:#20b9aa;opacity:.13;stroke:#20b9aa;stroke-width:1.1;vector-effect:non-scaling-stroke}.ip-geo-marker-ring{fill:#102c2a;stroke:#62d8cd;stroke-width:1.7;vector-effect:non-scaling-stroke}.ip-geo-marker-core{fill:#d6fffb}.ip-geo-marker:hover .ip-geo-marker-halo,.ip-geo-marker:focus .ip-geo-marker-halo,.ip-geo-marker.selected .ip-geo-marker-halo{opacity:.25}.ip-geo-marker.selected .ip-geo-marker-ring{stroke:#fff;stroke-width:2.1}
.ip-geo-map-detail{position:absolute;left:14px;bottom:14px;width:min(330px,calc(100% - 28px));padding:12px 13px;border:1px solid #314149;border-radius:9px;background:rgba(11,16,19,.94);box-shadow:0 12px 32px rgba(0,0,0,.28);pointer-events:none}.ip-geo-detail-kicker{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#6faaa4;font-weight:800}.ip-geo-detail-place{display:block;margin-top:4px;font-size:13px;color:#f4f7f7}.ip-geo-detail-grid{display:grid;grid-template-columns:auto 1fr;gap:4px 9px;margin:9px 0 0;font-size:9px}.ip-geo-detail-grid dt{color:#748087}.ip-geo-detail-grid dd{margin:0;color:#c8d2d4;overflow-wrap:anywhere}.ip-geo-detail-source{margin-top:8px;font-size:8px;color:#718087}
.ip-geo-map-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 14px;border-top:1px solid #233039;background:#0e1417;font-size:8px;color:#708087}.ip-geo-map-foot strong{color:#a6d8d3;font-size:9px}
.ip-geo-result{margin:11px 0 2px;padding:11px 12px;border:1px solid #2b3b40;border-radius:9px;background:#10191c}.ip-geo-result-kicker{font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:#69bdb5;font-weight:850}.ip-geo-result h5{margin:4px 0 8px;font-size:11px;color:#e9f1f1}.ip-geo-result-place{display:block;font-size:12px;color:#f1f5f5}.ip-geo-result-line{margin-top:4px;font-size:9px;color:#aab9bd}.ip-geo-result-state{margin:5px 0 0;font-size:10px;color:#aeb9bc}.ip-geo-result-controls{display:flex;align-items:flex-start;gap:9px;flex-wrap:wrap;margin-top:9px}.ip-geo-map-link{appearance:none;border:1px solid #35625d;border-radius:7px;background:#132321;color:#a8e1db;padding:6px 9px;font-size:8px;font-weight:750;cursor:pointer}.ip-geo-map-link:hover{background:#17302d;border-color:#4a817a}.ip-geo-enrichment-details{font-size:8px;color:#8d999d}.ip-geo-enrichment-details summary{cursor:pointer;color:#9eb4b2;padding:6px 0}.ip-geo-enrichment-body{margin-top:6px;padding:8px 9px;border-left:2px solid #31504d;background:#0d1416;color:#93a1a5;line-height:1.5}.ip-geo-temporal-note{margin-top:6px;color:#c1a980}.ip-geo-result-foot{margin-top:9px;padding-top:8px;border-top:1px solid #243237;font-size:8px;color:#6e7e83}
@media(max-width:760px){.ip-geo-map-stage{height:300px;min-height:280px}.ip-geo-map-help{display:none}.ip-geo-map-foot{align-items:flex-start;flex-direction:column}.ip-geo-map-detail{width:calc(100% - 20px);left:10px;bottom:10px}}
.source-data-kicker{margin:10px 0 -2px;font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:#8f999d;font-weight:850}


/* Batch 014 — live selector detection + OpenFreeMap/MapLibre POC map. */
.search-type-row button.detected{border-color:#20b9aa;background:#102724;color:#e8fffc;box-shadow:0 0 0 1px rgba(32,185,170,.18),0 0 18px rgba(32,185,170,.10)}
.search-type-row button.detected::before{content:"✓ ";color:#6ee0d5;font-weight:900}.search-type-row button.possible{border-color:#776847;background:#211d15;color:#ead9b0}.search-type-row button.possible::before{content:"? ";color:#d9b76b;font-weight:900}
.search-detection-note{min-height:15px;margin:9px 0 -5px;text-align:center;color:#70c9c0;font-size:9px;font-weight:700;letter-spacing:.01em}.compact-detection{text-align:left;margin:7px 0 0;min-height:0}.compact-search-meta:has(.compact-detection:not(:empty)){align-items:flex-start}
.ip-geo-map-live,.ip-geo-map-fallback{position:absolute;inset:0}.ip-geo-map-live[hidden],.ip-geo-map-fallback[hidden]{display:none!important}.ip-geo-map-live{background:#0b1013}.ip-geo-map-live .maplibregl-canvas{outline:none}.ip-geo-map-live .maplibregl-ctrl-group{background:#151b1e;border:1px solid #314047;box-shadow:none}.ip-geo-map-live .maplibregl-ctrl-group button{background-color:#151b1e}.ip-geo-map-live .maplibregl-ctrl-group button+button{border-top-color:#314047}.ip-geo-map-live .maplibregl-ctrl-attrib{background:rgba(11,16,19,.82);color:#78868b;font-size:8px}.ip-geo-map-live .maplibregl-ctrl-attrib a{color:#8eb8b4}
.ip-geo-online-marker{position:relative;width:34px;height:34px;border:0;background:transparent;padding:0;cursor:pointer;display:grid;place-items:center}.ip-geo-online-halo{position:absolute;width:32px;height:32px;border-radius:50%;background:rgba(32,185,170,.14);border:1px solid rgba(98,216,205,.55);transition:transform .15s ease,background .15s ease}.ip-geo-online-core{position:relative;width:10px;height:10px;border-radius:50%;background:#d8fffb;border:3px solid #174a45;box-shadow:0 0 0 2px #62d8cd}.ip-geo-online-marker:hover .ip-geo-online-halo,.ip-geo-online-marker:focus-visible .ip-geo-online-halo,.ip-geo-online-marker.selected .ip-geo-online-halo{transform:scale(1.22);background:rgba(32,185,170,.25)}.ip-geo-online-marker.selected .ip-geo-online-core{border-color:#fff;box-shadow:0 0 0 2px #20b9aa}
.ip-geo-map-help{color:#74848b}.ip-geo-map-foot span{max-width:75%;text-align:right}.ip-geo-map-stage{height:390px;min-height:350px;max-height:560px}.ip-geo-map-detail{z-index:4}
@media(max-width:760px){.search-detection-note{font-size:8px}.ip-geo-map-stage{height:330px;min-height:300px}.ip-geo-map-foot span{max-width:none;text-align:left}}

/* Batch021 — canonical connected-intelligence result presentation. */
.inline-pivot{appearance:none;border:0;background:transparent;color:#88d6cf;padding:0;font:inherit;text-align:left;text-decoration:underline;text-decoration-color:#315b57;text-underline-offset:2px;cursor:pointer;overflow-wrap:anywhere}.inline-pivot:hover{color:#c5fff9;text-decoration-color:#67cfc5}.inline-pivot:focus-visible{outline:1px solid #4caea5;outline-offset:2px;border-radius:3px}
.detail-expandable{padding-bottom:15px}.detail-expandable summary{cursor:pointer;color:#9f99a8;font-size:9px;text-transform:uppercase;letter-spacing:.9px;font-weight:700;margin-bottom:10px;list-style-position:inside}.detail-expandable[open] summary{color:#b9d9d6}.detail-expandable .detail-grid{margin-top:10px}.detail-grid dd,.result-meta dd{white-space:pre-wrap}

/* Batch022 Connected Serving V1 */
.connected-summary{margin:10px 0 2px;padding:9px 10px;border:1px solid rgba(127,151,170,.18);border-radius:8px;background:rgba(12,26,36,.42);display:grid;gap:5px}
.connected-summary-title{font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:#8fa7b8}
.connected-summary-row{display:grid;grid-template-columns:minmax(82px,.7fr) minmax(120px,1.4fr) auto;gap:8px;align-items:center;font-size:11px}
.connected-summary-type{color:#86a0b2}.connected-summary-value{overflow-wrap:anywhere;color:#e5edf3}.connected-summary-rel{font-size:9px;color:#91b7ad;text-align:right}
.warning-row{padding:8px 10px;border:1px solid rgba(222,168,77,.25);border-radius:7px;background:rgba(121,78,15,.12);color:#d9c49b;font-size:11px;line-height:1.45}

.result-warning{margin:8px 0;padding:7px 9px;border-radius:7px;border:1px solid rgba(222,168,77,.25);background:rgba(121,78,15,.12);color:#d9c49b;font-size:10px;line-height:1.4}

/* Batch023 Connected Intelligence warning scope */
.search-level-warnings{margin:0 0 14px;padding:10px 12px;border:1px solid rgba(222,168,77,.22);border-radius:8px;background:rgba(121,78,15,.10);color:#d9c49b;font-size:11px;line-height:1.45}
.search-level-warnings strong{display:block;margin-bottom:3px;font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:#c8aa72}
.search-level-warning+.search-level-warning{margin-top:4px}


/* Batch025 — evidence-preserving connected grouping */
.connected-group-card{border-color:#2a3438;background:#13191c}
.connected-group-card .connected-group-meta{grid-template-columns:86px minmax(0,1fr)}
.connected-group-relations{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.connected-group-members{display:grid;gap:8px}
.connected-group-member{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid #2c2b33;border-radius:8px;background:#17171c}
.connected-group-member-copy{display:grid;gap:3px;min-width:0}.connected-group-member-copy strong{font-size:11px;color:#e6e3e9;overflow-wrap:anywhere}.connected-group-member-copy span{font-size:9px;color:#8eb9b3}.connected-group-member-copy small{font-size:9px;color:#77737f;overflow-wrap:anywhere}
.connected-group-member-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.connected-group-member-actions button{border:1px solid #34313d;border-radius:6px;background:#141419;color:#c8c4cd;padding:6px 7px;font-size:9px}
.search-rel-group{background:linear-gradient(180deg,var(--node-colour,#20b9aa),color-mix(in srgb,var(--node-colour,#20b9aa) 72%,#0f1115));border:1px solid rgba(255,255,255,.12)}
.search-rel-group .search-rel-platform{max-width:158px}.search-rel-group .search-rel-entity-label{max-width:158px;font-size:9px}
@media(max-width:760px){.connected-group-member{grid-template-columns:1fr}.connected-group-member-actions{justify-content:flex-start}}

/* Batch026 — Investigator evidence workspace */
.investigator-overview{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:12px;margin-bottom:12px}.what-we-know-card{padding:18px 19px}.investigator-summary{margin:4px 0 12px;color:#d7d4dc;font-size:13px;line-height:1.55;max-width:920px}.overview-help{margin:0;color:#77737f;font-size:9px;line-height:1.45}.overview-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;margin:0 0 12px}.overview-fact{display:grid;gap:3px;padding:9px 10px;border:1px solid #2a3033;border-radius:8px;background:#111719}.overview-fact-label{font-size:8px;text-transform:uppercase;letter-spacing:.65px;color:#76aaa5;font-weight:800}.overview-fact-value{font-size:11px;color:#eef4f3;overflow-wrap:anywhere}.overview-fact small{font-size:8px;color:#777f83}.compact-stats .overview-stat{padding:6px 8px;background:#14191b}.compact-stats .overview-stat strong{font-size:13px}.compact-stats .overview-stat span{font-size:9px}
.search-coverage{display:block;padding:10px 12px;margin:0 0 18px;background:#111216;border:1px solid #25272d}.search-coverage .overview-label{display:none}.coverage-summary{display:flex;align-items:center;gap:4px;color:#918d97;font-size:9px}.coverage-summary strong{color:#c6c2cb;font-weight:650}.coverage-warning{margin:7px 0 0;padding:7px 9px;border:0;border-left:2px solid #806b42;border-radius:0;background:rgba(121,78,15,.07);font-size:9px}.coverage-warning strong{display:inline;margin:0 6px 0 0;font-size:8px}.coverage-warning .search-level-warning{display:inline}.coverage-warning[hidden]{display:none!important}
.result-section{margin-top:23px}.result-section-head{margin-bottom:9px}.result-grid-direct,.result-grid-related,.result-grid-username{gap:11px}.result-card{padding:16px 16px 14px}.result-card h4{font-size:15px}.result-type{font-size:8px}.source-badge{font-size:8px}.concise-result-meta{grid-template-columns:72px minmax(0,1fr)!important;margin:10px 0 9px!important}.connected-summary{margin-top:9px;background:#10191c;border-color:#243438}.connected-summary-title{color:#8aa29f}.connected-summary-row{grid-template-columns:minmax(90px,.7fr) minmax(120px,1.5fr) auto}.relationship-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}.why-connected{appearance:none;border:0;background:transparent;color:#74bfb7;padding:2px 0;font-size:9px;text-decoration:underline;text-decoration-color:#315650;text-underline-offset:2px;cursor:pointer}.why-connected:hover{color:#b8eee8}
.platform-identity-summary{display:grid;gap:4px;margin:11px 0 8px;padding:10px 11px;border-left:2px solid #2fb9e8;background:#101b21}.platform-primary{font-size:14px;color:#f0f4f5}.platform-identity-meta{font-size:9px;color:#9ca8ad;overflow-wrap:anywhere}.activity-preview{display:grid;gap:6px;margin:10px 0;padding:10px;border:1px solid #283239;border-radius:8px;background:#11171a}.activity-preview-row{display:flex;align-items:flex-start;gap:8px}.activity-preview-copy{display:grid;gap:2px;min-width:0}.activity-preview-copy strong{font-size:10px;color:#d8dde0;overflow-wrap:anywhere}.activity-preview-copy span{font-size:8px;color:#808a8f;overflow-wrap:anywhere}.activity-preview-more{font-size:8px;color:#71aaa5}.compact-meta{margin:8px 0!important}.connected-group-relations{margin-top:9px}
.analysis-panel{margin:18px 0 0;border:1px solid #25262d;border-radius:10px;background:#101115;overflow:hidden}.analysis-panel-head{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;background:#111217;border-bottom:1px solid #23242a}.analysis-panel-head>div{display:flex;align-items:center;gap:9px}.analysis-help{font-size:9px;color:#6f737b}.analysis-toggle{appearance:none;border:1px solid #315b56;border-radius:7px;background:#12201e;color:#8dd7cf;padding:6px 10px;font-size:9px;font-weight:750;cursor:pointer}.analysis-toggle:hover{background:#172826}.search-map.collapsed .search-map-stage,.search-map.collapsed .search-map-fit,.search-map.collapsed .search-map-zoom{display:none!important}.search-map.collapsed .search-map-head{border-bottom:0}.search-map.collapsed .search-map-help::after{content:""}.search-map.collapsed{margin-top:12px}.search-map:not(.collapsed) .analysis-toggle{border-color:#3c4048;background:#17181d;color:#b8b6bf}
.timeline-content{padding:14px}.timeline-axis{display:flex;justify-content:space-between;margin:0 0 7px 128px;color:#696e75;font-size:8px}.timeline-lanes{display:grid;gap:8px}.timeline-lane{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;align-items:center}.timeline-lane-label{font-size:9px;color:#9a969f;text-align:right}.timeline-track{position:relative;height:24px;border-left:1px solid #33343a;border-right:1px solid #33343a;background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:10% 100%}.timeline-point,.timeline-range{position:absolute;top:8px;height:8px;border:0;background:#4fc4b9;cursor:pointer;min-width:6px;box-shadow:0 0 0 2px rgba(79,196,185,.13)}.timeline-point{width:8px;border-radius:50%;transform:translateX(-4px)}.timeline-range{border-radius:5px;min-width:8px;opacity:.78}.timeline-point:hover,.timeline-range:hover{background:#8be3da}.timeline-event-list{display:grid;gap:4px;margin-top:14px;padding-top:12px;border-top:1px solid #24252b}.timeline-event{appearance:none;width:100%;display:grid;grid-template-columns:150px minmax(180px,1fr) minmax(180px,.8fr);gap:10px;text-align:left;border:0;border-radius:6px;background:transparent;color:#bdbac3;padding:7px 8px;cursor:pointer}.timeline-event:hover{background:#17181d}.timeline-event time{font-size:8px;color:#777c83}.timeline-event strong{font-size:9px;color:#d8d5dd;overflow-wrap:anywhere}.timeline-event span{font-size:8px;color:#77737f;overflow-wrap:anywhere}
.source-summary-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;padding:12px}.source-summary-card{display:grid;gap:4px;padding:10px 11px;border:1px solid #292a31;border-radius:8px;background:#14151a}.source-summary-card strong{font-size:10px;color:#d9d6de}.source-summary-card span{font-size:8px;color:#7e7b85;line-height:1.45}
.drawer{width:min(480px,94vw)}.drawer-explainer{margin:0 0 18px;padding:12px 13px;border:1px solid #2a3537;border-radius:9px;background:#11191b}.drawer-explainer strong{display:block;margin-bottom:6px;font-size:10px;color:#8ed8d1}.drawer-explainer p{margin:0;font-size:10px;line-height:1.55;color:#c7c8ca}.drawer-explainer .drawer-caveat{margin-top:8px;color:#9b969f}.why-row{padding:8px 9px;border:1px solid #2b3033;border-radius:7px;background:#14191b;color:#b7c4c3;font-size:9px}.why-row+.why-row{margin-top:5px}.activity-list{display:grid;gap:6px}.activity-list .activity-preview-row{padding:8px 9px;border:1px solid #292a31;border-radius:7px;background:#15161b}.evidence-records-detail,.technical-audit{margin:0 0 17px;border:1px solid #292a31;border-radius:8px;background:#121318}.evidence-records-detail summary,.technical-audit summary{cursor:pointer;padding:10px 11px;color:#9a969f;font-size:9px;text-transform:uppercase;letter-spacing:.75px;font-weight:750}.evidence-records-detail[open] summary,.technical-audit[open] summary{border-bottom:1px solid #292a31;color:#b8d8d5}.evidence-records-detail .connected-group-members{padding:9px}.technical-audit-body{padding:12px}.technical-audit .detail-block:last-child{margin-bottom:0}.technical-audit .detail-grid{grid-template-columns:125px 1fr}.technical-audit .detail-grid dt{font-size:8px}.technical-audit .detail-grid dd{font-size:9px}
@media(max-width:900px){.investigator-overview{grid-template-columns:1fr}.timeline-event{grid-template-columns:120px 1fr}.timeline-event span{grid-column:2}.timeline-lane{grid-template-columns:84px 1fr}.timeline-axis{margin-left:96px}.result-grid,.result-grid-direct,.result-grid-username,.result-grid-related{grid-template-columns:1fr}}
.platform-conflict{font-size:8px;color:#c9a96f;line-height:1.4}.platform-conflict+.platform-conflict{margin-top:1px}

/* Batch027 — investigator interaction and evidence simplification */
.drawer{width:min(430px,94vw)}
.drawer-head{position:sticky;top:0;z-index:5;background:#101116}
.drawer-body{padding-bottom:28px}
.drawer-back{margin:0 0 14px;border:1px solid #34413f;border-radius:7px;background:#141b1b;color:#9fd5cf;padding:7px 9px;font-size:9px;cursor:pointer}
.audit-action{margin-left:auto;color:#8b8992!important;border-color:#312f37!important;background:#121216!important}
.audit-warning{border-color:#3b3430;background:#191512}.audit-warning strong{color:#d6ae76}
.evidence-ledger-list{display:grid;gap:8px}.evidence-ledger-row{padding:11px;border:1px solid #292b31;border-radius:8px;background:#14151a}.evidence-ledger-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.evidence-ledger-head strong{font-size:10px;color:#e5e2e9}.evidence-ledger-count{font-size:8px;color:#77aaa5;white-space:nowrap}.evidence-ledger-meta{margin-top:5px;font-size:8px;color:#85818b;line-height:1.45}.evidence-ledger-row .result-actions{margin-top:8px}
.source-human-row{padding:6px 8px;border-left:2px solid #315c57;background:#14191a;color:#c4cecd;font-size:9px}.source-human-row+.source-human-row{margin-top:5px}
.activity-evidence-count{margin-left:auto;flex:0 0 auto;font-size:8px;color:#6fa9a4}.investigator-activity-list .activity-preview-row{align-items:center}
.coverage-disclosure{border:0;background:transparent}.coverage-disclosure summary{cursor:pointer;color:#777781;font-size:8px}.coverage-disclosure-body{padding:7px 0 0;color:#6f6d75;font-size:8px}.coverage-warning{margin:4px 0 0;padding:0;border:0;background:transparent;color:#8b7b63}.coverage-warning .search-level-warning{font-size:8px}
.source-summary-card small.source-underlying{color:#6c6972;font-size:7.5px}
.timeline-event{grid-template-columns:140px minmax(180px,1fr) minmax(220px,.9fr)}
.timeline-event strong{font-size:10px}.timeline-event span{line-height:1.35}
.search-map-head-right{flex-wrap:wrap;justify-content:flex-end}.search-map-zoom-controls{display:flex;align-items:center;border:1px solid #2b4643;border-radius:7px;overflow:hidden;background:#111918}.search-map-zoom-controls .search-map-fit{border:0;border-radius:0;padding:5px 8px}.search-map-zoom-controls .search-map-zoom{padding:0 7px;min-width:46px;text-align:center}.zoom-step{font-size:12px!important;line-height:1!important}
.search-map-stage{touch-action:none!important;user-select:none!important}.search-map-world,.search-map-lines{transition:none!important}
.search-rel-draggable{cursor:grab!important;user-select:none!important}.search-rel-draggable.is-dragging{cursor:grabbing!important}.search-rel-draggable.is-selected{outline:2px solid #79d9d0;outline-offset:3px;z-index:8}.search-rel-draggable.is-hovered{filter:brightness(1.12)}.search-rel-draggable.is-dimmed{opacity:.24;filter:saturate(.5)}
.search-rel-line.is-dimmed{opacity:.12!important}.search-rel-line.is-highlighted{stroke-width:2!important;opacity:1!important}
.search-rel-source{position:absolute;appearance:none;display:grid;grid-template-columns:1fr;align-content:center;gap:4px;padding:10px 12px;border:1px solid #3b3b43;border-left:3px solid #58bfb5;border-radius:8px;background:#16171c;color:#e8e6eb;text-align:left;box-shadow:0 6px 18px rgba(0,0,0,.24);cursor:grab;overflow:hidden}.search-rel-source:hover{background:#1a1b20;border-color:#51515b}.search-rel-source-kicker{font-size:7px;color:#68b9b1;letter-spacing:.08em;font-weight:800}.search-rel-source-title{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-rel-source-value{font-size:8px;color:#8b8791;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.search-rel-query{z-index:3}.search-rel-group{border-radius:8px!important}.search-rel-edge-label{font-size:7.5px;padding:3px 8px;background:#111216;border-color:#3d3a43}
.search-map-help::after{content:" · wheel or +/− to zoom · drag background to pan · drag nodes · double-click to focus branch"!important}
@media(max-width:760px){.search-map-head-right{gap:5px}.search-map-status{width:100%;text-align:right}.search-map-help::after{content:""!important}.timeline-event{grid-template-columns:105px 1fr}.timeline-event span{grid-column:2}}

/* Batch029 — embedded browser-native Connections graph recovery. */
.connections-launcher{overflow:hidden}.connections-launcher-head{border-bottom:1px solid #262932}.connections-launcher-body{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 20px;background:linear-gradient(135deg,rgba(23,36,42,.55),rgba(15,16,21,.9))}.connections-launcher-copy{display:grid;gap:5px;min-width:0}.connections-launcher-copy strong{font-size:13px;color:#e9f3f2}.connections-launcher-copy span{font-size:10px;color:#8e989e;line-height:1.45}.connections-open-button{white-space:nowrap;padding:10px 16px}.connections-launcher .search-map-status{margin-left:auto;color:#78908f;font-size:9px}
.connections-workspace{position:relative;display:block;margin:0 14px 16px;border:1px solid #30343d;border-radius:12px;overflow:hidden;background:#0d0f14}.connections-workspace[hidden]{display:none!important}.connections-workspace-shell{display:flex;flex-direction:column;min-height:560px;background:#0d0f14}.connections-workspace-header{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px 12px 16px;border-bottom:1px solid #292c34;background:#12141a}.connections-workspace-title{display:grid;gap:3px;min-width:0}.connections-workspace-title strong{font-size:14px;color:#f0f4f5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connections-workspace-title>span:last-child{font-size:9px;color:#7f8a91}.connections-workspace-toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.connections-workspace-toolbar button{appearance:none;border:1px solid #3a3f49;background:#191c23;color:#c9d0d3;border-radius:7px;padding:7px 10px;font-size:9.5px;font-weight:700;cursor:pointer}.connections-workspace-toolbar button:hover{border-color:#5a6970;background:#20252d;color:#fff}.connections-workspace-toolbar .connections-zoom-button{width:34px;height:34px;padding:0;font-size:19px;line-height:1}.connections-workspace-toolbar .connections-close{margin-left:3px;border-color:#455057;color:#b9ccce}.connections-toolbar-divider{width:1px;height:24px;background:#33363e;margin:0 2px}.connections-zoom-readout{min-width:48px;text-align:center;color:#83d3cb;font-size:10px;font-weight:800}.connections-workspace-body{position:relative;height:500px;min-height:420px;overflow:hidden;background-color:#0b0d11;background-image:radial-gradient(circle at 50% 45%,rgba(32,185,170,.055),transparent 46%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,34px 34px,34px 34px}.connections-graph-host{position:absolute;inset:0;overflow:hidden;touch-action:none;user-select:none}.connections-svg{display:block;width:100%;height:100%;outline:none;touch-action:none;user-select:none}.connections-svg-node{outline:none}.connections-svg-node:focus rect{stroke:#8ce6dd;stroke-width:3}.connections-workspace-hint{position:absolute;left:12px;bottom:10px;padding:6px 9px;border:1px solid #303640;border-radius:7px;background:rgba(12,14,19,.88);color:#77858c;font-size:8.5px;pointer-events:none}.connections-render-error{position:absolute;left:18px;right:18px;top:18px;padding:12px;border:1px solid #57383a;border-radius:9px;background:#1c1518;color:#dfa9aa;font-size:10px;z-index:3}.connections-render-error[hidden]{display:none!important}
@media(max-width:900px){.connections-workspace-header{align-items:flex-start;flex-direction:column}.connections-workspace-toolbar{width:100%;justify-content:flex-start}.connections-launcher-body{align-items:flex-start;flex-direction:column}.connections-workspace{margin:0 8px 12px}.connections-workspace-body{height:440px}}

.investigator-advanced-entry{margin-top:18px;padding-top:14px;border-top:1px solid #242730}.investigator-advanced-entry details{border:1px solid #2c3039;border-radius:9px;background:#101218}.investigator-advanced-entry summary{cursor:pointer;padding:10px 12px;color:#7f8990;font-size:9px;text-transform:uppercase;letter-spacing:.7px;font-weight:800}.investigator-advanced-copy{padding:0 12px 12px;color:#7d858b;font-size:9px;line-height:1.5}.forensic-entry-button{margin-top:8px;border:1px solid #3a3d46;background:#17191f;color:#aeb5b8;border-radius:7px;padding:7px 9px;font-size:9px;cursor:pointer}.forensic-entry-button:hover{border-color:#555e65;color:#fff}.forensic-audit-index{display:grid;gap:8px}.forensic-audit-record{padding:10px;border:1px solid #2c3038;border-radius:9px;background:#111319}.forensic-audit-record strong{display:block;color:#d9dfe1;font-size:10px}.forensic-audit-record span{display:block;margin-top:4px;color:#7f898f;font-size:8px;line-height:1.4}.forensic-audit-record button{margin-top:8px}
.timeline-event-list{display:none}.timeline-events-disclosure{margin-top:12px;border-top:1px solid #24262d;padding-top:10px}.timeline-events-disclosure summary{cursor:pointer;color:#858d93;font-size:9px;font-weight:750}.timeline-event-list.is-visible{display:grid}.timeline-lane{grid-template-columns:150px minmax(0,1fr);gap:16px}.timeline-lane-label{text-align:left;font-size:10px;color:#b0b8bc}.timeline-track{height:34px;border-radius:7px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 10%),#101318}.timeline-point,.timeline-range{top:12px;height:10px}.timeline-axis{margin-left:166px;font-size:9px}.timeline-content{padding:18px}.timeline-lanes{gap:12px}
@media(max-width:900px){.timeline-lane{grid-template-columns:100px 1fr}.timeline-axis{margin-left:116px}}

/* Batch030 — Palette graph iconography and deterministic auto layout. */
.connections-workspace-shell{min-height:556px}
.connections-workspace-header{min-height:58px;padding:10px 13px 10px 15px}
.connections-workspace-toolbar{gap:6px}
.connections-layout-badge{display:grid;grid-template-columns:auto auto;gap:2px 6px;align-items:baseline;padding:6px 9px;border:1px solid #2e333b;border-radius:7px;background:#14161b}
.connections-layout-badge span{font-size:7px;text-transform:uppercase;letter-spacing:.08em;color:#727b82}.connections-layout-badge strong{font-size:9px;color:#aac9c6;font-weight:750}
.connections-workspace-toolbar button{padding:6px 9px;font-size:9px}.connections-workspace-toolbar #connections-reset{border-color:#31534f;color:#9ed6d0;background:#13201f}
.connections-workspace-body{height:500px;min-height:440px;background-color:#0b0d11;background-image:radial-gradient(circle,rgba(255,255,255,.04) 1px,transparent 1px);background-size:24px 24px}
.connections-graph-host{z-index:1}.connections-palette-host{cursor:grab}.connections-palette-host:active{cursor:grabbing}
.connections-palette-svg{overflow:hidden}.connections-svg-node{transition:opacity .11s ease}.connections-svg-node.palette-source,.connections-svg-node.palette-entity,.connections-svg-node.palette-group{filter:drop-shadow(0 7px 12px rgba(0,0,0,.24))}.connections-svg-node.palette-attribute,.connections-svg-node.palette-query{filter:drop-shadow(0 4px 8px rgba(0,0,0,.22))}
.connections-svg-node:hover{filter:brightness(1.06) drop-shadow(0 8px 14px rgba(0,0,0,.28))}.connections-copy-hit{cursor:pointer}.connections-copy-hit:hover .connections-copy-glyph{opacity:1}.connections-copy-glyph{opacity:.66;transition:opacity .12s ease}
.connections-palette-controls{position:absolute;left:12px;top:14px;z-index:5;display:grid;grid-template-columns:34px;gap:4px;padding:5px;border:1px solid #343842;border-radius:9px;background:rgba(15,17,22,.92);box-shadow:0 7px 18px rgba(0,0,0,.28)}
.connections-palette-controls button{appearance:none;width:34px;height:34px;border:1px solid transparent;border-radius:6px;background:#191c22;color:#d6dcde;font-size:17px;font-weight:700;cursor:pointer;display:grid;place-items:center}.connections-palette-controls button:hover{background:#22262e;border-color:#49525b;color:#fff}.connections-palette-controls #connections-fit{font-size:15px;color:#9dcfca}.connections-palette-controls .connections-zoom-readout{min-width:34px;width:34px;padding:4px 0 2px;font-size:7.5px;color:#7f9694;line-height:1.1}
.connections-minimap{position:absolute;right:14px;bottom:14px;width:154px;height:92px;z-index:4;border-radius:9px;box-shadow:0 8px 24px rgba(0,0,0,.32);pointer-events:none;opacity:.94}
.connections-workspace-hint{left:58px;bottom:12px;border:0;background:rgba(10,12,16,.72);color:#6e777e;padding:5px 7px;font-size:8px}
.connections-active-edge-label{filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}
.connections-render-error{z-index:7}
@media(max-width:900px){.connections-palette-controls{left:8px;top:8px;grid-template-columns:31px;padding:4px}.connections-palette-controls button{width:31px;height:31px}.connections-minimap{width:126px;height:75px;right:9px;bottom:9px}.connections-workspace-hint{display:none}.connections-layout-badge{display:none}}
.connections-fit-glyph{position:relative;width:15px;height:15px;display:block;background:linear-gradient(#9dcfca,#9dcfca) left top/5px 1px no-repeat,linear-gradient(#9dcfca,#9dcfca) left top/1px 5px no-repeat,linear-gradient(#9dcfca,#9dcfca) right top/5px 1px no-repeat,linear-gradient(#9dcfca,#9dcfca) right top/1px 5px no-repeat,linear-gradient(#9dcfca,#9dcfca) left bottom/5px 1px no-repeat,linear-gradient(#9dcfca,#9dcfca) left bottom/1px 5px no-repeat,linear-gradient(#9dcfca,#9dcfca) right bottom/5px 1px no-repeat,linear-gradient(#9dcfca,#9dcfca) right bottom/1px 5px no-repeat}

/* Batch031 source-centric evidence presentation */
.source-result-card .result-title-wrap h4{font-size:1rem;line-height:1.2}.source-result-card .result-type{letter-spacing:.08em}.source-result-card .source-badge{max-width:15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.connected-summary-more{margin-top:.45rem}.connected-summary-more>summary{cursor:pointer;color:var(--muted);font-size:.76rem}.connected-summary-list{display:grid;gap:.28rem}
.timeline-range.timeline-observation-window{height:2px!important;top:50%;border-radius:0;background:var(--accent)!important;box-shadow:none!important}
.timeline-range.timeline-observation-window::before,.timeline-range.timeline-observation-window::after{content:"";position:absolute;top:-5px;width:2px;height:12px;background:var(--accent);border-radius:1px}.timeline-range.timeline-observation-window::before{left:0}.timeline-range.timeline-observation-window::after{right:0}

/* OSX v1 authentication */
.login-link{width:100%;margin-top:10px;border:0;background:transparent;color:#8fcfc8;font-size:11px;cursor:pointer;padding:7px}.login-link:hover{color:#c9fff8;text-decoration:underline}.login-subview{margin-top:18px;border-top:1px solid var(--line-2);padding-top:18px}.login-subview h2{font-size:20px;margin:0 0 6px}.login-subview p{color:var(--muted);font-size:12px;line-height:1.5}.login-status{min-height:18px;color:#b8dcd8;margin-top:12px;font-size:11px}.workspace-tabs,.canvas-workspace{display:none!important}
