
:root{
  --ink:#17202a;
  --muted:#65717d;
  --line:#e5eaed;
  --soft:#f6f8f8;
  --card:#ffffff;
  --deep:#173a5e;

  /* KoSI identity */
  --kosi-red:#ee5128;
  --kosi-orange:#f59628;
  --kosi-yellow:#f9cd31;
  --kosi-cyan:#6ac2de;
  --kosi-teal:#35a799;

  --kosi-gradient:linear-gradient(
    90deg,
    var(--kosi-red) 0%,
    var(--kosi-orange) 19%,
    var(--kosi-yellow) 39%,
    var(--kosi-cyan) 67%,
    var(--kosi-teal) 100%
  );
  --kosi-cool-gradient:linear-gradient(90deg,var(--kosi-cyan),var(--kosi-teal));
  --max:1440px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Museo Sans","Avenir Next",Arial,Helvetica,sans-serif;
  background:#fff;
  color:var(--ink);
}

/* HEADER */
.site-header{
  position:sticky;top:0;z-index:20;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(9px);
}
.brand-gradient{
  height:4px;
  width:100%;
  background:var(--kosi-gradient);
}
.header-inner{
  max-width:var(--max);margin:0 auto;
  padding:15px 32px 16px;
  display:flex;align-items:center;justify-content:space-between;gap:28px;
}
.brand{display:flex;align-items:center;gap:18px;min-width:0}
.kosi-logo{
  display:block;
  width:248px;
  max-width:33vw;
  height:auto;
  object-fit:contain;
}
.brand-divider{
  width:1px;height:38px;background:var(--line);flex:0 0 auto;
}
.observatory-brand{min-width:190px}
.brand-title{
  font-weight:700;font-size:16px;letter-spacing:-.01em;white-space:nowrap;
}
.brand-subtitle{
  font-size:11px;color:var(--muted);margin-top:3px;letter-spacing:.02em;
}

.nav{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.nav-link{
  position:relative;
  text-decoration:none;color:var(--muted);
  padding:10px 11px;border-radius:8px;font-size:13px;
  transition:background .16s ease,color .16s ease;
}
.nav-link:hover{background:var(--soft);color:var(--ink)}
.nav-link-active{
  color:var(--deep);
  font-weight:700;
  background:linear-gradient(90deg,rgba(106,194,222,.12),rgba(53,167,153,.10));
}
.nav-link-active::after{
  content:"";
  position:absolute;left:12px;right:12px;bottom:4px;height:2px;border-radius:2px;
  background:var(--kosi-cool-gradient);
}

/* PAGE */
.page-shell{max-width:var(--max);margin:0 auto;padding:64px 32px 80px}
.page-heading{max-width:980px;margin-bottom:42px}
.page-kicker,.section-kicker,.panel-kicker{
  font-size:11px;letter-spacing:.13em;font-weight:800;color:var(--kosi-teal);
}
.page-title{
  font-size:54px;line-height:1.02;letter-spacing:-.035em;
  margin:12px 0 18px;max-width:980px;
}
.page-title::after{
  content:"";
  display:block;
  width:94px;height:4px;margin-top:20px;border-radius:999px;
  background:var(--kosi-gradient);
}
.page-subtitle{
  font-size:20px;line-height:1.55;color:var(--muted);max-width:840px;margin:0;
}

/* KPI */
.kpi-grid{
  display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:16px;
}
.kpi-card{
  position:relative;overflow:hidden;
  border:1px solid var(--line);border-radius:16px;padding:21px 20px 19px;background:var(--card);
  box-shadow:0 1px 2px rgba(23,58,94,.025);
}
.kpi-card::before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:3px;
  background:var(--kosi-gradient);
  opacity:.82;
}
.kpi-label{font-size:12px;color:var(--muted);line-height:1.35;min-height:34px}
.kpi-value{font-size:34px;font-weight:750;margin-top:14px;color:var(--deep)}
.kpi-note{font-size:11px;color:var(--muted);margin-top:6px}
.snapshot-strip{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin-bottom:72px;padding-left:2px;
}
.snapshot-label{
  font-size:9px;letter-spacing:.12em;font-weight:800;color:var(--kosi-teal);
}
.snapshot-copy{font-size:11px;color:#818b94}

/* SECTIONS */
.section{margin-top:70px}
.section-intro{max-width:850px}
.section-title{font-size:32px;letter-spacing:-.025em;margin:9px 0 12px}
.section-copy{font-size:16px;line-height:1.6;color:var(--muted);max-width:820px}

.two-col{
  display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px;
}
.panel{
  position:relative;overflow:hidden;
  border:1px solid var(--line);border-radius:18px;padding:22px 22px 8px;background:white;
}
.panel::before{
  content:"";
  position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--kosi-cool-gradient);
  opacity:.78;
}
.panel-kicker{color:var(--kosi-teal)}
.panel-title{font-size:19px;margin:7px 0 6px}

/* SIGNALS */
.signal-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:26px;
}
.signal-card{
  position:relative;overflow:hidden;
  border:1px solid var(--line);border-radius:18px;padding:24px;background:var(--card);
}
.signal-card::before{
  content:"";position:absolute;left:0;top:0;width:4px;height:100%;
  background:linear-gradient(180deg,var(--kosi-orange),var(--kosi-yellow),var(--kosi-cyan));
  opacity:.84;
}
.signal-meta{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.signal-id{font-size:10px;font-weight:800;color:var(--kosi-teal);letter-spacing:.03em}
.signal-family{font-size:11px;color:var(--muted)}
.signal-title{font-size:21px;line-height:1.25;margin:5px 0 18px}
.signal-label{font-size:9px;letter-spacing:.11em;font-weight:800;color:#7b858d;margin-top:14px}
.signal-copy{font-size:14px;line-height:1.55;margin:5px 0;color:#34404a}
.pill-row{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}
.pill{
  display:inline-block;
  background:linear-gradient(90deg,rgba(106,194,222,.10),rgba(53,167,153,.08));
  border:1px solid rgba(53,167,153,.10);
  border-radius:999px;padding:7px 10px;font-size:11px;color:var(--muted);
}

/* ANALYTICAL LOGIC */
.logic-row{
  display:grid;grid-template-columns:1fr auto 1fr auto 1fr;
  gap:14px;align-items:center;margin-top:24px;
}
.logic-card,.roadmap-card{
  position:relative;overflow:hidden;
  border:1px solid var(--line);border-radius:16px;padding:22px;background:#f8faf9;
}
.logic-card:nth-of-type(1)::before,
.logic-card:nth-of-type(3)::before,
.logic-card:nth-of-type(5)::before{
  content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--kosi-gradient);
}
.logic-card h3,.roadmap-card h3{margin:8px 0 4px;font-size:18px}
.logic-card p{margin:0;color:var(--muted);font-size:14px}
.logic-num{font-size:10px;letter-spacing:.13em;color:var(--kosi-teal);font-weight:800}
.logic-arrow{font-size:24px;color:#aab3bb}
.roadmap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}
.roadmap-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--kosi-cool-gradient);
}

/* FOOTER */
.site-footer{border-top:1px solid var(--line);padding:26px 32px}
.footer-copy{max-width:var(--max);margin:0 auto;font-size:12px;color:var(--muted)}

/* RESPONSIVE */
@media(max-width:1180px){
  .kosi-logo{width:210px}
  .observatory-brand{display:none}
  .brand-divider{display:none}
}
@media(max-width:1100px){
  .kpi-grid{grid-template-columns:repeat(3,1fr)}
  .roadmap-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .header-inner{align-items:flex-start;flex-direction:column;padding:14px 20px}
  .kosi-logo{width:245px;max-width:78vw}
  .nav{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}
  .nav-link{white-space:nowrap}
  .page-shell{padding:48px 20px 64px}
  .page-title{font-size:40px}
  .kpi-grid,.two-col,.signal-grid{grid-template-columns:1fr}
  .logic-row{grid-template-columns:1fr}
  .logic-arrow{transform:rotate(90deg);text-align:center}
}


/* ==========================================================
   POLICY IMPLEMENTATION v1.2
   ========================================================== */
.policy-kpi-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 68px;
}
.policy-kpi{
  position:relative;overflow:hidden;
  border:1px solid var(--line);border-radius:16px;padding:20px;background:#fff;
}
.policy-kpi::before{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--kosi-cool-gradient);
}
.policy-kpi-warm::before{background:linear-gradient(90deg,var(--kosi-yellow),var(--kosi-orange),var(--kosi-red))}
.policy-kpi-label{font-size:11px;color:var(--muted);line-height:1.35;min-height:30px}
.policy-kpi-value{font-size:27px;line-height:1.1;font-weight:750;color:var(--deep);margin-top:12px;word-break:normal}
.policy-kpi-note{font-size:10px;color:#8a949c;margin-top:7px}

.field-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:26px;
}
.field-card{
  appearance:none;-webkit-appearance:none;
  text-align:left;cursor:pointer;font-family:inherit;color:inherit;
  position:relative;overflow:hidden;
  border:1px solid var(--line);background:white;border-radius:16px;padding:19px;
  min-height:138px;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.field-card::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--kosi-cool-gradient);
}
.field-card:hover{
  transform:translateY(-2px);border-color:rgba(53,167,153,.32);
  box-shadow:0 8px 24px rgba(23,58,94,.06);
}
.field-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}
.field-code{font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--kosi-teal)}
.field-count{font-size:10px;color:var(--muted)}
.field-card-title{font-size:15px;font-weight:700;line-height:1.3;margin:11px 0 16px}
.mini-phase-row{display:flex;gap:6px;flex-wrap:wrap}
.mini-phase{
  border-radius:999px;padding:5px 7px;font-size:9px;font-weight:600;background:#f5f7f7;color:#65717d;
}
.mini-phase-teal{background:rgba(53,167,153,.09);color:#287d73}
.mini-phase-cyan{background:rgba(106,194,222,.12);color:#397f97}
.mini-phase-orange{background:rgba(238,81,40,.08);color:#bd4729}

.policy-matrix-panel{
  border:1px solid var(--line);border-radius:18px;padding:26px 26px 12px;background:#fff;
}
.compact-title{font-size:27px;margin-top:7px}

.policy-filter-grid{
  display:grid;grid-template-columns:1.2fr 1fr 1.05fr .95fr;gap:12px;
  padding:18px;border:1px solid var(--line);border-radius:16px;background:#f9fbfa;
  margin:24px 0 12px;
}
.filter-item{min-width:0}
.filter-label{
  display:block;font-size:9px;font-weight:800;letter-spacing:.10em;text-transform:uppercase;
  color:#71808b;margin:0 0 7px 2px;
}
.policy-search{
  width:100%;height:38px;border:1px solid #dce3e6;border-radius:7px;padding:0 12px;
  font-family:inherit;font-size:13px;color:var(--ink);background:white;outline:none;
}
.policy-search:focus{border-color:var(--kosi-cyan);box-shadow:0 0 0 2px rgba(106,194,222,.10)}
.result-count{font-size:11px;color:var(--muted);margin:8px 0 12px}

.measure-detail-grid{
  display:grid;grid-template-columns:.84fr 1.16fr;gap:0;
  margin-top:22px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;
}
.measure-detail-main{padding:28px;background:#f9fbfa;border-right:1px solid var(--line)}
.measure-detail-context{padding:28px;max-height:650px;overflow-y:auto}
.detail-eyebrow,.detail-section-label{
  font-size:9px;font-weight:800;letter-spacing:.12em;color:var(--kosi-teal);margin-bottom:9px;
}
.measure-detail-title{font-size:27px;line-height:1.18;letter-spacing:-.02em;margin:0 0 16px}
.detail-pill-row{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:22px}
.detail-pill{
  font-size:9px;color:#65717d;border:1px solid #e4e9eb;background:#fff;border-radius:999px;padding:6px 8px;
}
.detail-pill-phase{background:rgba(53,167,153,.08);border-color:rgba(53,167,153,.10)}
.measure-intro{font-size:14px;line-height:1.62;color:#45515a}
.source-link{
  display:inline-block;margin-top:12px;text-decoration:none;color:var(--kosi-teal);font-size:12px;font-weight:700;
}
.detail-long-copy,.detail-context-copy,.advocacy-evidence-copy{
  font-size:13px;line-height:1.65;color:#3b4851;white-space:pre-line;
}
.detail-mini-label{
  font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7c8790;margin:18px 0 5px;
}
.context-title{font-size:20px;margin:4px 0 15px}
.empty-state{
  margin-top:22px;padding:32px;border:1px dashed #d8e0e3;border-radius:16px;background:#fbfcfc;text-align:center;
}
.empty-state-kicker{font-size:9px;font-weight:800;letter-spacing:.12em;color:var(--kosi-teal)}
.empty-state-title{font-size:19px;margin:8px 0 6px}
.empty-state-copy{font-size:13px;color:var(--muted);margin:0}

/* ADVOCACY */
.advocacy-section{padding-top:4px}
.advocacy-lens{
  position:relative;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;
}
.advocacy-lens::before{
  content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--kosi-gradient);
}
.advocacy-head{padding:36px 34px 18px;max-width:950px}
.advocacy-kicker{font-size:10px;font-weight:800;letter-spacing:.13em;color:var(--kosi-orange)}
.advocacy-title{font-size:40px;letter-spacing:-.035em;margin:9px 0 8px}
.advocacy-subtitle{font-size:16px;line-height:1.6;color:var(--muted);max-width:850px}
.advocacy-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 34px 24px}
.advocacy-two-col{padding:0 34px}
.advocacy-panel{border:1px solid var(--line);border-radius:17px;padding:24px;max-height:500px;overflow:auto}
.advocacy-source{background:#fbfcfc}
.advocacy-analysis{background:linear-gradient(135deg,rgba(106,194,222,.07),rgba(53,167,153,.04))}
.advocacy-panel-title{font-size:21px;margin:4px 0 16px}
.adv-question{display:grid;grid-template-columns:28px 1fr;gap:12px;border-top:1px solid rgba(53,167,153,.12);padding:13px 0}
.adv-question:first-of-type{border-top:0}
.adv-question p{font-size:13px;line-height:1.5;margin:0;color:#34404a}
.adv-q-num{font-size:10px;font-weight:800;color:var(--kosi-teal);padding-top:2px}
.analysis-caveat{
  margin-top:15px;border-left:3px solid var(--kosi-yellow);padding:10px 12px;background:rgba(249,205,49,.07);
  font-size:11px;color:#6c7479;
}
.advocacy-candidates{padding:32px 34px 36px}
.candidate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.candidate-card{border:1px solid var(--line);border-radius:15px;padding:18px;background:#fff}
.candidate-label{font-size:8px;font-weight:800;letter-spacing:.12em;color:var(--kosi-orange)}
.candidate-title{font-size:15px;line-height:1.3;margin:8px 0 6px}
.candidate-provider{font-size:11px;line-height:1.4;color:#59656e}
.candidate-tags{display:flex;gap:5px;flex-wrap:wrap;margin:12px 0}
.candidate-tag{font-size:9px;background:#f4f7f7;color:#68747d;border-radius:999px;padding:5px 7px}
.candidate-caveat{font-size:10px;line-height:1.45;color:#929aa0;margin:8px 0 0}

/* Dash dropdown visual alignment */
.policy-dropdown .Select-control{border-color:#dce3e6;border-radius:7px;height:38px}
.policy-dropdown .Select-placeholder,
.policy-dropdown .Select-value-label,
.policy-dropdown .Select-input{font-size:12px}
.policy-dropdown .Select-menu-outer{font-size:12px;z-index:1000}

@media(max-width:1100px){
  .field-grid{grid-template-columns:repeat(2,1fr)}
  .policy-filter-grid{grid-template-columns:repeat(2,1fr)}
  .candidate-grid{grid-template-columns:1fr}
}
@media(max-width:820px){
  .policy-kpi-grid,.advocacy-kpi-grid{grid-template-columns:repeat(2,1fr)}
  .field-grid,.policy-filter-grid,.measure-detail-grid{grid-template-columns:1fr}
  .measure-detail-main{border-right:0;border-bottom:1px solid var(--line)}
  .advocacy-two-col{grid-template-columns:1fr;padding:0 20px}
  .advocacy-head,.advocacy-candidates{padding-left:20px;padding-right:20px}
  .advocacy-kpi-grid{padding-left:20px;padding-right:20px}
}

.candidate-match{background:rgba(249,205,49,.10);color:#8a6b1d}


/* ==========================================================
   FUNDING & SUPPORT v1.3
   ========================================================== */
.coverage-callout{display:flex;align-items:baseline;gap:8px;margin:18px 0 4px}
.coverage-big{font-size:34px;font-weight:750;color:var(--deep)}
.coverage-copy{font-size:13px;color:var(--muted)}
.chart-caveat{font-size:10px;color:#8b949b;line-height:1.5;margin:8px 0 4px}
.support-mode-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}
.support-mode-card{
  display:flex;align-items:center;gap:12px;border:1px solid var(--line);
  border-radius:13px;padding:13px;background:#fbfcfc
}
.support-mode-count{font-size:22px;font-weight:750;color:var(--kosi-teal);min-width:38px}
.support-mode-label{font-size:12px;line-height:1.35;color:#34404a}
.funding-filter-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;
  padding:18px;border:1px solid var(--line);border-radius:16px;background:#f9fbfa;
  margin:24px 0 12px
}
.funding-search-wide{grid-column:1 / -1}
.funding-provider{font-size:13px;color:var(--muted);margin:-6px 0 15px;line-height:1.45}

@media(max-width:1100px){.funding-filter-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){
  .support-mode-grid,.funding-filter-grid{grid-template-columns:1fr}
  .funding-search-wide{grid-column:auto}
}


/* ==========================================================
   REGIONAL ECOSYSTEMS v1.4
   ========================================================== */
.regions-map-grid{
  display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.65fr);
  gap:18px;margin-top:28px;
}
.regions-map-panel,.regions-side-panel{
  border:1px solid var(--line);border-radius:18px;background:#fff;padding:24px;
}
.regions-map-panel{overflow:hidden}
.regions-side-panel{background:#f9fbfa}
.region-selector{margin:13px 0 22px}
.regions-guide{border-top:1px solid #e5eaed;padding-top:18px;margin-top:18px}
.regions-guide-copy{font-size:12px;line-height:1.52;color:#5f6b74;margin:8px 0}
.region-legend{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}
.region-legend-pill{
  font-size:9px;padding:6px 8px;background:#fff;border:1px solid var(--line);border-radius:999px;color:#64717a
}

.region-profile-head{margin-bottom:20px}
.region-profile-title{font-size:38px;letter-spacing:-.035em;margin:7px 0 8px}
.region-profile-subtitle{font-size:14px;color:var(--muted);max-width:760px;line-height:1.55}
.region-kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:11px;margin:20px 0 20px}
.region-kpi{
  position:relative;overflow:hidden;border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff
}
.region-kpi::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--kosi-cool-gradient)}
.region-kpi-label{font-size:10px;color:var(--muted)}
.region-kpi-value{font-size:27px;font-weight:750;color:var(--deep);margin-top:9px}
.region-kpi-note{font-size:9px;color:#8b949b;margin-top:4px}
.region-profile-two-col{display:grid;grid-template-columns:.82fr 1.18fr;gap:16px}
.region-profile-chart,.region-context-panel{
  border:1px solid var(--line);border-radius:17px;padding:22px;background:#fff
}
.region-context-panel{background:#fbfcfc;max-height:480px;overflow:auto}
.region-context-copy{font-size:13px;line-height:1.65;color:#3e4a53}
.region-qa-notice{
  border-left:3px solid var(--kosi-orange);background:rgba(245,150,40,.06);
  padding:12px 14px;margin:13px 0 18px;border-radius:0 10px 10px 0
}
.region-qa-label{font-size:8px;font-weight:800;letter-spacing:.12em;color:var(--kosi-orange)}
.region-qa-copy{font-size:11px;line-height:1.5;color:#68747d;margin:5px 0 0}

.region-compare-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:720px;margin:22px 0}
.region-entity-filters{
  display:grid;grid-template-columns:320px 1fr;gap:12px;
  padding:18px;border:1px solid var(--line);border-radius:16px;background:#f9fbfa;margin:22px 0 12px
}

.coverage-state-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f2;padding:9px 0}
.coverage-state-row:last-child{border-bottom:0}
.coverage-state{font-size:12px;color:#34404a}
.coverage-state-count{
  min-width:30px;text-align:center;font-size:11px;font-weight:750;color:var(--kosi-teal);
  background:rgba(53,167,153,.08);border-radius:999px;padding:4px 7px
}

@media(max-width:1100px){
  .regions-map-grid,.region-profile-two-col{grid-template-columns:1fr}
  .region-kpi-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
  .region-kpi-grid{grid-template-columns:repeat(2,1fr)}
  .region-compare-controls,.region-entity-filters{grid-template-columns:1fr}
}


/* ==========================================================
   KNOWLEDGE GRAPH v1.5
   ========================================================== */
.knowledge-grid{
  display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,.7fr);
  gap:18px;margin-top:28px
}
.knowledge-network-panel,.knowledge-detail-panel{
  border:1px solid var(--line);border-radius:18px;background:#fff;padding:24px;min-width:0
}
.knowledge-detail-panel{background:#f9fbfa}
.knowledge-controls{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
  padding:16px;border:1px solid var(--line);border-radius:14px;background:#f9fbfa;margin:20px 0 8px
}
.knowledge-legend{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0 12px}
.knowledge-legend-item{display:flex;align-items:center;gap:6px;font-size:9px;color:#68747d}
.knowledge-legend-dot{width:9px;height:9px;border-radius:50%;display:inline-block}

.knowledge-empty{text-align:center;padding:80px 22px}
.knowledge-detail{padding:6px 2px}
.knowledge-detail-title{font-size:27px;line-height:1.18;letter-spacing:-.025em;margin:7px 0 10px}
.knowledge-type-badge{
  display:inline-block;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:700;
  background:rgba(53,167,153,.09);color:#2D8F82;margin-bottom:12px
}
.knowledge-context{font-size:12px;color:#65717d;line-height:1.5;margin:4px 0 10px}
.knowledge-description{font-size:13px;line-height:1.65;color:#3e4a53}
.knowledge-links{display:flex;gap:12px;flex-wrap:wrap}
.knowledge-source-link{margin-left:0}
.knowledge-connections-label{margin-top:28px}
.connection-list{max-height:330px;overflow:auto}
.connection-row{border-top:1px solid #e8edef;padding:11px 0}
.connection-row:first-child{border-top:0}
.connection-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}
.connection-relation{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#65717d}
.connection-class{font-size:8px;border-radius:999px;padding:4px 6px}
.connection-native{background:rgba(53,167,153,.09);color:#2D8F82}
.connection-structured{background:rgba(245,150,40,.10);color:#A86D21}
.connection-title{font-size:12px;font-weight:650;color:#27323b;margin-top:5px}

.evidence-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.evidence-card{
  position:relative;overflow:hidden;border:1px solid var(--line);border-radius:16px;padding:22px;background:#fff
}
.evidence-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--kosi-cool-gradient)}
.evidence-card:nth-child(2)::before,.evidence-card:nth-child(3)::before{
  background:linear-gradient(90deg,var(--kosi-yellow),var(--kosi-orange))
}
.evidence-card-label{font-size:9px;font-weight:800;letter-spacing:.10em}
.evidence-native{color:var(--kosi-teal)}
.evidence-structured{color:var(--kosi-orange)}
.evidence-card-title{font-size:17px;margin:8px 0 8px}
.evidence-card-copy{font-size:12px;line-height:1.55;color:#65717d;min-height:58px}
.evidence-card-count{font-size:11px;font-weight:700;color:#34404a;margin-top:14px}

@media(max-width:1100px){
  .knowledge-grid{grid-template-columns:1fr}
  .knowledge-detail-panel{min-height:300px}
}
@media(max-width:820px){
  .knowledge-controls,.evidence-card-grid{grid-template-columns:1fr}
}


/* ==========================================================
   FIELD SIGNALS v1.6
   ========================================================== */
.signal-pipeline{
  display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:24px
}
.signal-pipeline-card{
  position:relative;overflow:hidden;border:1px solid var(--line);border-radius:14px;padding:17px;background:#fff
}
.signal-pipeline-card::before{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--kosi-gradient)
}
.signal-pipeline-num{font-size:9px;font-weight:800;color:var(--kosi-teal);letter-spacing:.11em}
.signal-pipeline-title{font-size:13px;line-height:1.25;margin:8px 0 6px}
.signal-pipeline-copy{font-size:10px;line-height:1.45;color:#72808a;margin:0}

.signal-filter-grid{
  display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:12px;
  padding:18px;border:1px solid var(--line);border-radius:16px;background:#f9fbfa;margin:22px 0 12px
}
.signal-portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}
.signal-summary-card{
  appearance:none;-webkit-appearance:none;text-align:left;cursor:pointer;font-family:inherit;color:inherit;
  position:relative;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#fff;padding:22px;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease
}
.signal-summary-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(23,58,94,.06);border-color:#d7dfe2}
.signal-card-accent{position:absolute;left:0;top:0;bottom:0;width:4px;opacity:.88}
.signal-card-observation{font-size:12px;line-height:1.55;color:#53606a;margin:0}

.signal-workbench{border-top:1px solid #eef1f2;padding-top:64px}
.signal-detail-head{max-width:920px;margin-bottom:24px}
.signal-detail-meta{display:flex;gap:10px;align-items:center}
.signal-detail-id{font-size:10px;font-weight:800;color:var(--kosi-teal)}
.signal-detail-family{font-size:10px;color:#71808a}
.signal-detail-title{font-size:34px;line-height:1.12;letter-spacing:-.03em;margin:9px 0 14px}
.signal-detail-block{border:1px solid var(--line);border-radius:16px;padding:22px;background:#fff}
.signal-detail-analysis{background:linear-gradient(135deg,rgba(106,194,222,.06),rgba(53,167,153,.035))}
.signal-detail-copy{font-size:14px;line-height:1.65;color:#3e4a53;margin:0}

.signal-evidence-section{margin-top:28px;border:1px solid var(--line);border-radius:18px;padding:25px;background:#fff}
.signal-subtitle{font-size:22px;margin:7px 0 14px}
.signal-evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.signal-evidence-card{border:1px solid var(--line);border-radius:13px;padding:16px;background:#fbfcfc}
.signal-evidence-type{font-size:8px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#7b8790}
.signal-evidence-value{font-size:25px;font-weight:750;color:var(--kosi-teal);margin:7px 0 2px}
.signal-evidence-title{font-size:13px;line-height:1.35;margin:4px 0 8px}
.signal-evidence-copy{font-size:10px;line-height:1.5;color:#68747d}
.signal-evidence-source{font-size:8px;color:#919a9f;margin-top:10px;border-top:1px solid #edf1f2;padding-top:8px}

.signal-caveat{
  margin-top:18px;border-left:4px solid var(--kosi-yellow);background:rgba(249,205,49,.06);
  padding:18px 20px;border-radius:0 13px 13px 0
}
.signal-caveat-copy{font-size:13px;line-height:1.6;color:#56626b;margin:0}

.signal-pattern-panel{
  margin-top:18px;border:1px solid rgba(245,150,40,.28);border-radius:17px;padding:23px;
  background:linear-gradient(135deg,rgba(249,205,49,.055),rgba(245,150,40,.035))
}
.pattern-hypothesis-title{font-size:21px;line-height:1.35;margin:8px 0 18px}
.signal-workflow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.signal-workflow-cell{border-top:1px solid rgba(245,150,40,.18);padding-top:12px}
.signal-workflow-label{font-size:8px;font-weight:800;letter-spacing:.10em;color:#A86D21}
.signal-workflow-copy{font-size:11px;line-height:1.5;color:#5f6870;margin:5px 0 0}

@media(max-width:1100px){
  .signal-pipeline{grid-template-columns:repeat(3,1fr)}
  .signal-evidence-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .signal-pipeline,.signal-filter-grid,.signal-portfolio-grid,.signal-evidence-grid,.signal-workflow-grid{grid-template-columns:1fr}
}


/* ==========================================================
   v1.0 CONSOLIDATION
   ========================================================== */
.brand-release-badge{
  display:inline-block;margin-left:8px;padding:2px 5px;border-radius:999px;
  background:rgba(53,167,153,.09);color:#2D8F82;font-size:8px;font-weight:800;letter-spacing:.05em
}
.footer-version{font-weight:700;color:var(--kosi-teal)}

.evidence-ribbon{
  display:grid;grid-template-columns:repeat(3,1fr);
  border:1px solid var(--line);border-radius:13px;overflow:hidden;
  margin:-14px 0 34px;background:#fbfcfc;max-width:920px
}
.ribbon-item{padding:10px 13px;border-right:1px solid var(--line)}
.ribbon-item:last-child{border-right:0}
.ribbon-stage{display:block;font-size:9px;font-weight:800;letter-spacing:.08em;color:#8A949C}
.ribbon-active{color:var(--kosi-teal)}
.ribbon-copy{display:block;font-size:9px;color:#9AA2A8;margin-top:2px}

.knowledge-controls-3{grid-template-columns:1fr 1fr auto}
.knowledge-fit-control{min-width:110px}
.secondary-action-button{
  height:38px;border:1px solid #dce3e6;border-radius:7px;background:#fff;color:#41505a;
  padding:0 14px;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer
}
.secondary-action-button:hover{border-color:var(--kosi-cyan);background:rgba(106,194,222,.06)}

.signal-summary-selected{
  border-color:rgba(53,167,153,.45)!important;
  box-shadow:0 0 0 2px rgba(53,167,153,.08),0 8px 24px rgba(23,58,94,.05)
}
.signal-summary-selected::after{
  content:"Selected";position:absolute;right:14px;top:12px;
  font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#2D8F82;
  background:rgba(53,167,153,.08);border-radius:999px;padding:4px 6px
}

@media(max-width:820px){
  .evidence-ribbon,.knowledge-controls-3{grid-template-columns:1fr}
  .ribbon-item{border-right:0;border-bottom:1px solid var(--line)}
  .ribbon-item:last-child{border-bottom:0}
}
