/* Research edition: deliberate small multiples, shared scales, readable evidence. */
:root{--ocean:#0b2633;--blue:#297aa0;--amber:#bc7836;--grid:#e3ebed;--research-border:#cedcdf}
body{background:#f0f4f3}
.app-header{background:#0b2633}
.intro{margin-bottom:22px}
.intro h1{font-weight:610;letter-spacing:-1.65px}
.intro>div>p:last-child{max-width:680px;line-height:1.65}
.workspace-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #bed0d4;margin-bottom:18px}
.workspace-nav>div{display:flex;gap:8px;flex-wrap:wrap}
.workspace-nav button{display:flex;align-items:center;gap:9px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;font-size:13px;font-weight:550;padding:13px 13px 12px;color:#526d75}
.workspace-nav button:hover{background:#e5edec;color:#183d49}
.workspace-nav button[aria-pressed=true]{background:transparent;border-color:#1b6679;color:#173945}
.workspace-nav button span{font:10px var(--mono);color:#778f93}
.workspace-nav button[aria-pressed=true] span{color:#1b6679}
.workspace-caption{font:10px var(--mono);letter-spacing:1px;color:#7b9196;white-space:nowrap}
.panel{border-color:var(--research-border);box-shadow:0 3px 17px #17384208}
.panel-heading{padding-top:20px}
.map-panel{background:#fff}
.map-wrap{background:var(--ocean);border:0;border-radius:4px;aspect-ratio:2/1}
.map-wrap svg{touch-action:none;cursor:grab}
.map-wrap svg:active{cursor:grabbing}
.map-topline{position:absolute;top:11px;left:13px;right:13px;display:flex;justify-content:space-between;pointer-events:none;color:#d3e7e8;font:9px var(--mono);letter-spacing:1px;text-shadow:0 1px 5px #061923}
.map-caption{background:#0d2a37e8;color:#d5e8e9;border:1px solid #627f8780;padding:7px 10px;bottom:11px;left:12px;font-size:10px}
.map-mode{position:absolute;right:11px;bottom:11px;display:flex;gap:3px;padding:3px;background:#0d2a37e8;border:1px solid #627f8780;border-radius:5px}
.map-mode button{background:transparent;color:#c7dedf;border:0;padding:4px 8px;font-size:10px;min-height:24px}
.map-mode button[aria-pressed=true]{background:#d2ede5;color:#143b45}
.map-footer{font-size:10px;align-items:center}
#map-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#map-legend>span{display:flex;align-items:center;gap:4px}
#map-legend i{display:inline-block;width:9px;height:9px;border-radius:50%}
.depth-ramp{width:84px;height:8px;border-radius:5px;background:linear-gradient(90deg,#d8f4d5,#57d4c0,#3d9fcb);border:1px solid #bbd1d4}
.unknown-key{margin-left:7px}
.map-interaction-note{font-size:10px;color:#647b82;padding:0 20px 14px;line-height:1.4}
.ocean-name{fill:#9bbbc4;fill-opacity:.4;letter-spacing:2.5px;font:9px var(--mono);text-anchor:middle;pointer-events:none}
.country-labels text{font:9px var(--mono);letter-spacing:1px;text-anchor:middle;fill:#bfd9df;paint-order:stroke;stroke:#163746;stroke-width:3px;pointer-events:none}
.region-cluster{outline:none;cursor:pointer}
.region-halo{fill:#56c7c030;stroke:#80ded25e;stroke-width:1}
.region-core{fill:#c3e9d8;stroke:#082b35;stroke-width:2;filter:drop-shadow(0 2px 8px #09182188)}
.region-cluster.hovered .region-core,.region-cluster:hover .region-core,.region-cluster:focus-visible .region-core{fill:#fff0af;stroke:#ffdb86;stroke-width:3}
.region-cluster.empty-cluster{opacity:.4}
.region-count{font:700 14px Inter,sans-serif;text-anchor:middle;fill:#123c46;pointer-events:none}
.region-name{font:600 13px Inter,sans-serif;text-anchor:middle;fill:#f2fafa;paint-order:stroke;stroke:#0b2633;stroke-width:3px;pointer-events:none}
.geo-pin{cursor:pointer;filter:drop-shadow(0 1px 2px #001d2cbb)}
.geo-pin.hovered,.geo-pin:focus-visible,.geo-pin.selected{stroke:#fff3b8;stroke-width:3px;filter:drop-shadow(0 0 7px #ffda74)}
.selected-map-label{font:600 12px var(--mono);fill:#fff5c1;paint-order:stroke;stroke:#092631;stroke-width:4px}
.viz-tooltip{position:fixed;z-index:80;pointer-events:none;max-width:250px;min-width:140px;background:#092835f2;color:#e5f4f1;border:1px solid #668a91;padding:10px 12px;border-radius:5px;box-shadow:0 12px 28px #0a252b55;font-size:11px;line-height:1.5}
.viz-tooltip strong{display:block;color:white;font-size:12px;margin-bottom:4px}
.viz-tooltip span{display:block;color:#c1dade}
.chart-grid svg text{font-size:11px}
#timeline,#depth-chart{padding:0 11px 0 4px}
#timeline .tick text,#depth-chart .tick text{font:11px Inter,sans-serif}
#timeline .chart-grid-lines line,#depth-chart .tick line,.compare-axis line,.compare-time-axis line{stroke:var(--grid)}
#timeline .year-hit{fill:transparent;stroke:transparent;stroke-width:2}
#timeline .year-mark{cursor:pointer}
#timeline .year-mark:hover .year-hit,#timeline .year-mark:focus-visible .year-hit{stroke:#b88035;stroke-width:2}
#timeline .year-mark[aria-pressed=true] .year-context{stroke:#bd762d;stroke-width:2}
#timeline .year-context{fill:#e3ebed}
#timeline .year-count{font:600 12px Inter,sans-serif;fill:#234d58}
#timeline .brush-label{font:9px var(--mono);fill:#647e87;letter-spacing:1px}
#timeline .time-brush .overlay{fill:#f4f6f5;cursor:crosshair}
#timeline .time-brush .selection{fill:#76bdb7;fill-opacity:.2;stroke:#2d777e}
#timeline .time-brush .handle{fill:#227480;width:7px}
#depth-chart .observation{cursor:pointer}
#depth-chart .observation.hovered,#depth-chart .observation:hover{stroke:#ad751c;stroke-width:2.5px}
#depth-chart .unknown-axis{fill:#786d5e;font:10px var(--mono)}
.facet-bar svg{width:100%;height:7px;display:block;overflow:visible}
.facet-context{fill:#e1e9e9}
.facet-selection{fill:#236879}
.facets-grid .facet-bar{margin-bottom:5px}
.facets-grid .facet-bar .bar-label{font-size:10px;margin-bottom:5px}
.facets-grid .facet-bar:focus-visible{outline-offset:2px}
.lifecycle-intro{padding:14px 3px 5px}
.lifecycle-intro h2{font-size:clamp(21px,2vw,29px);letter-spacing:-.7px}
.lifecycle-intro p:last-child{font-size:12px;color:#547079;max-width:700px;margin-top:10px}
.lifecycle-stages{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;padding:3px 17px 17px}
.stage-card{display:flex;flex-direction:column;align-items:start;text-align:left;min-width:0;min-height:90px;background:#f7faf9;border:1px solid #dce7e6;padding:11px 9px;position:relative;overflow:hidden}
.stage-card:after{content:'→';position:absolute;top:9px;right:6px;color:#a8bec0;font-size:11px}
.stage-card:last-child:after{content:''}
.stage-card[aria-pressed=true]{background:#e5f2ee;border-color:#37747a;color:#123d46}
.stage-card strong{font-size:10px;line-height:1.2;margin:12px 0 7px}
.stage-card .stage-number{font:9px var(--mono);color:#6a8b91}
.stage-card .stage-count{font:9px var(--mono);color:#58737b}
.stage-card i{height:3px;display:block;background:#418b95;margin-top:auto}
.lifecycle-controls{display:flex;gap:13px;flex-wrap:wrap;padding:5px 20px 10px}
.lifecycle-controls label{font-size:11px;color:#526e75;display:flex;align-items:center;gap:7px}
.lifecycle-controls select{font-size:11px;max-width:210px}
#lifecycle-matrix{display:block;width:100%;max-height:380px;padding:3px 18px 7px}
#lifecycle-matrix .tick text{font-size:11px;fill:#44646d}
.matrix-cell{cursor:pointer}
.matrix-cell rect{stroke-linejoin:round}
.matrix-cell:hover rect,.matrix-cell:focus-visible rect{stroke:#bd7731;stroke-width:3}
.matrix-cell text{font:600 12px var(--mono);pointer-events:none}
.hypothesis-tag{background:#fbf0db;color:#825d2c;padding:5px 8px;border-radius:3px;font:9px var(--mono);letter-spacing:.3px}
#review-threads{padding:0 20px 14px}
.review-thread{border:1px solid #dde8e7;border-radius:5px;margin-bottom:7px;background:#fbfcfc}
.review-thread[open]{border-color:#b3d0d0;background:#f6fbf9}
.review-thread summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 14px;list-style:none}
.review-thread summary::-webkit-details-marker{display:none}
.review-thread summary:after{content:'+';font-size:16px;color:#45737b;margin-left:6px}
.review-thread[open] summary:after{content:'−'}
.review-thread summary span:first-child{display:grid;gap:4px;flex:1}
.review-thread summary small{font:9px var(--mono);color:#62818a;text-transform:uppercase;letter-spacing:.3px}
.review-thread summary strong{font-size:13px;font-weight:600}
.thread-count{font:10px var(--mono);color:#637c83;white-space:nowrap}
.thread-content{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;border-top:1px solid #dae7e5;padding:17px}
.thread-step span,.thread-evidence>span{font:9px var(--mono);color:#507780;letter-spacing:.5px}
.thread-step p{font-size:11px;line-height:1.55;margin-top:8px;color:#34515a}
.thread-evidence{grid-column:1/-1;border-top:1px solid #dce8e6;padding-top:12px}
.thread-evidence div{display:flex;gap:5px;flex-wrap:wrap;margin:9px 0}
.thread-evidence button{font:10px var(--mono);min-height:27px}
.thread-evidence small{font-size:10px;color:#647b82}
.research-note{border:1px solid #b9cecd;border-left:4px solid #3c858b;border-radius:5px;background:#e9f1f0;padding:17px 20px}
.research-note p{font-size:11px;line-height:1.6;max-width:810px}
.comparison-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin:7px 0 18px}
.comparison-heading h2{font-size:clamp(22px,2.1vw,29px);margin-bottom:7px;letter-spacing:-.6px}
.comparison-heading p:last-child{font-size:12px;color:#5f7780}
.compare-mode{display:flex;border:1px solid #aac4c9;padding:3px;border-radius:5px;white-space:nowrap}
.compare-mode button{font-size:11px;min-height:30px;border:0;background:transparent}
.compare-mode button[aria-pressed=true]{background:#193c48;color:white}
.cohort-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cohort-card{padding:0}
.cohort-a{border-top:4px solid var(--blue)}
.cohort-b{border-top:4px solid var(--amber)}
.cohort-heading{display:flex;align-items:center;gap:12px;padding:18px 18px 9px}
.cohort-letter{width:38px;height:38px;display:grid;place-items:center;background:#dceef5;color:#276b88;font:700 18px var(--mono);border-radius:5px}
.cohort-b .cohort-letter{background:#faebdc;color:#a46831}
.cohort-heading>div{flex:1}
.cohort-heading label{display:block;font:9px var(--mono);color:#6e858d;margin-bottom:4px;text-transform:uppercase}
.cohort-heading select{max-width:100%;width:100%;font-weight:600;border:0;border-bottom:1px solid #c7d9dc;border-radius:0;padding-left:0;background:transparent;font-size:14px}
.cohort-heading>strong{font:600 28px Inter,sans-serif;letter-spacing:-1px;white-space:nowrap}
.cohort-heading>strong small{font:10px var(--mono);display:block;text-align:right;letter-spacing:0;color:#6d838a}
.cohort-definition{font:10px/1.5 var(--mono);color:#57717a;min-height:35px;margin:0 18px 10px}
.cohort-card svg{display:block;width:calc(100% - 28px);height:auto;max-height:215px;aspect-ratio:2/1;margin:0 14px;border-radius:4px}
.cohort-card .ocean-name{font-size:11px}
.cohort-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#dce7e7;margin:15px 17px}
.cohort-metrics span{background:#f8fbfa;display:grid;gap:3px;padding:9px 7px;font-size:9px;color:#617980}
.cohort-metrics strong{font-size:12px;color:#183e49}
.cohort-actions{display:flex;gap:8px;flex-wrap:wrap;padding:0 17px 17px}
.cohort-actions button{font-size:10px;min-height:30px;padding:5px 9px}
.comparison-status{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:13px 4px}
.comparison-status p{font-size:11px;flex:1;color:#526b73}
.comparison-legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:#e6eeed;border:1px solid #ccdddc;border-radius:5px;padding:10px 16px;font-size:11px;margin:0 0 16px}
.comparison-legend span{display:flex;align-items:center;gap:6px}
.comparison-legend strong{font-weight:550}
.comparison-legend i{display:inline-block;width:12px;height:9px;border-radius:2px}
.key-a{background:var(--blue)}.key-b{background:var(--amber)}
#comparison-denominator{margin-left:auto;font:10px var(--mono);color:#4f6b73}
#compare-view>.panel{margin-bottom:16px}
#compare-time{display:block;width:100%;height:auto;padding:0 17px 14px}
.comparison-charts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.comparison-charts svg{display:block;width:100%;height:auto;padding:0 12px 10px}
.comparison-charts .panel-heading select{max-width:165px}
.comparison-charts .compare-row text{font:11px Inter,sans-serif;fill:#42616b}
.comparison-charts .compare-row .value-a{fill:var(--blue);font-weight:600}
.comparison-charts .compare-row .value-b{fill:var(--amber);font-weight:600}
.compare-table summary{cursor:pointer;padding:16px 20px;font-size:12px;font-weight:600}
.compare-table summary:hover{background:#f5f8f8}
.compare-table>div{padding:0 20px 20px;overflow:auto}
.compare-table table{border-collapse:collapse;width:100%;font-size:11px;min-width:520px;margin-top:10px}
.compare-table caption{text-align:left;font-size:11px;color:#54717b;padding:10px 0}
.compare-table th,.compare-table td{border-bottom:1px solid #dce6e5;padding:8px 10px;text-align:right;font-variant-numeric:tabular-nums}
.compare-table th:first-child{text-align:left}
.compare-table thead th{color:#506e75;font-weight:600;background:#eef4f2}
.comparison-caveat{background:#f7f0e5;border-left:4px solid #b47b37;border-radius:4px;padding:14px 16px;margin-bottom:20px;font-size:11px;color:#615841;line-height:1.65}
.app-footer{border-top:1px solid #d7e2e1;margin-top:18px}
@media(max-width:1200px){.lifecycle-stages{grid-template-columns:repeat(4,1fr)}.stage-card{min-height:78px}.comparison-charts{grid-template-columns:1fr}.comparison-charts svg{max-height:380px}}
@media(max-width:850px){.workspace-caption{display:none}.workspace-nav button{font-size:12px}.cohort-grid{gap:10px}.cohort-heading{padding:13px}.cohort-card svg{max-height:none}.thread-content{grid-template-columns:1fr 1fr}.report-panel{max-height:700px}}
@media(max-width:600px){.workspace-nav>div{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:0}.workspace-nav button{display:block;padding:9px 5px 10px;font-size:10px;line-height:1.4;text-align:center}.workspace-nav button span{display:block}.map-mode{right:6px;bottom:6px}.map-caption{max-width:70%;bottom:7px;left:7px;font-size:8px}.map-interaction-note{font-size:9px}.map-footer{font-size:9px}.map-topline{font-size:8px}.region-name{font-size:24px}.region-count{font-size:24px}.country-labels text{font-size:17px}.selected-map-label{font-size:21px}.chart-grid .panel{overflow-x:auto}.chart-grid svg{min-width:510px}.lifecycle-stages{grid-template-columns:repeat(2,1fr)}.lifecycle-controls label{flex:1 1 125px;display:block}.lifecycle-controls select{width:100%;margin-top:5px}.lifecycle-intro h2{font-size:21px}.matrix-panel{overflow-x:auto}#lifecycle-matrix{min-width:740px}.thread-content{grid-template-columns:1fr}.thread-evidence{grid-column:1}.review-thread summary strong{font-size:12px}.cohort-grid{grid-template-columns:1fr}.cohort-card svg{max-height:250px}.comparison-heading{display:block}.compare-mode{display:inline-flex;margin-top:13px}.comparison-status p{flex-basis:100%}.comparison-legend{gap:8px 13px}.comparison-legend span{font-size:10px}#comparison-denominator{flex-basis:100%;margin-left:0}#compare-view>.panel:not(.compare-table){overflow-x:auto}#compare-time{min-width:750px}.comparison-charts .panel{overflow-x:auto}.comparison-charts svg{min-width:540px}.cohort-heading>strong{font-size:23px}.comparison-charts .panel-heading select{font-size:10px;max-width:116px}}

/* Compact analytical canvas: the evidence list and detailed methods scroll within their panels. */
.metric-viz{display:block;width:100%;height:36px;overflow:visible}
.metric-viz text{font:8px var(--mono);fill:#72898c;letter-spacing:.35px}
.chart-switch{display:flex;gap:4px;padding:6px;background:#e6efed;border:1px solid #cfdddc;border-radius:6px}
.chart-switch button{flex:1;border:0;min-height:28px;padding:4px 8px;background:transparent;font-size:11px}
.chart-switch button[aria-pressed=true]{background:#173d49;color:#fff}
.trend-readout{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:2px 12px 1px;padding:4px 9px;border:1px solid #dce8e8;border-radius:4px;background:#f4f8f7}
.trend-readout span{display:flex;flex-direction:column;min-width:0}
.trend-readout strong{font:650 15px Inter,sans-serif;letter-spacing:-.35px;color:#174f5d;font-variant-numeric:tabular-nums;white-space:nowrap}
.trend-readout small{font:9px var(--mono);color:#607c83;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trend-readout span+span{padding-left:9px;border-left:1px solid #cddedd}
.comparison-charts{display:flex;flex-direction:column}
.comparison-charts>.panel{flex:1;min-height:0}
.comparison-caveat{margin:10px 14px;padding:9px 12px}
@media(min-width:1100px) and (min-height:800px){
  html,body{height:100%;overflow:hidden}
  .app-header{min-height:54px;height:54px;padding:0 18px}
  .brand-mark{font-size:33px}.identity strong{font-size:17px}.header-actions{gap:12px}
  main{height:calc(100dvh - 54px);max-width:none;padding:10px 16px 8px;display:flex;flex-direction:column;overflow:hidden}
  .intro{flex:0 0 34px;margin:0 0 5px}.intro h1{font-size:22px;letter-spacing:-.7px}
  .intro .eyebrow,.intro-note,.intro>div>p:last-child{display:none!important}
  .workspace-nav{flex:0 0 36px;margin-bottom:7px}.workspace-nav button{padding:6px 12px 7px;font-size:12px}.workspace-caption{font-size:9px}
  .toolbar{flex:0 0 40px;gap:8px;padding-bottom:6px}.toolbar select{height:31px;padding-top:5px;padding-bottom:5px}.toolbar input{padding:7px 0}.toolbar button{min-height:30px}
  .selection-row{flex:0 0 27px;min-height:0;padding:2px 0;gap:6px}.selection-row>p{min-width:145px;font-size:10px}.chip{min-height:22px;padding:1px 6px}.selection-row .text-button{min-height:23px}
  .metrics{flex:0 0 87px;min-height:0;margin-bottom:8px}.metrics>div{min-height:0;padding:7px 12px 4px}.metrics>div>span{font-size:10px}.metrics strong{font-size:22px;line-height:1;margin:3px 0 0}.metrics strong small{font-size:12px}.metric-viz{height:34px}.metric-line{display:none}
  .workspace{flex:1;min-height:0;grid-template-columns:minmax(0,1fr) clamp(250px,21vw,310px);gap:9px;align-items:stretch}
  .views{min-height:0;overflow:hidden;gap:9px}
  #explore-view{grid-template-columns:minmax(0,1.14fr) minmax(0,1fr);grid-template-rows:minmax(0,1.2fr) minmax(0,1fr)}
  #explore-view .map-panel{grid-column:1;grid-row:1;display:flex;flex-direction:column}
  #explore-view .chart-grid{display:contents}
  #explore-view .timeline-panel{grid-column:2;grid-row:1}
  #explore-view .depth-panel{grid-column:2;grid-row:2}
  #explore-view .facets-panel{grid-column:1;grid-row:2;overflow:auto;scrollbar-width:thin}
  #explore-view .panel-heading{padding:8px 11px 6px;min-height:37px;flex-shrink:0}
  #explore-view .panel-heading .eyebrow{font-size:8px;margin-bottom:2px}
  #explore-view h2{font-size:13px}
  .map-wrap{flex:1;min-height:0;max-height:none!important;aspect-ratio:auto!important;margin:0 7px}
  .map-footer{padding:6px 11px;min-height:26px}.map-interaction-note{display:none}
  #explore-view .timeline-panel,#explore-view .depth-panel{display:flex;flex-direction:column;min-height:0}
  #explore-view .legend{flex:0 0 16px;margin:0;padding:0 12px;gap:7px}
  #explore-view .trend-readout{flex:0 0 35px;margin:2px 9px 0;padding:3px 8px}
  #explore-view #timeline,#explore-view #depth-chart{flex:1;min-height:0;height:100%;max-height:none;padding:0 7px}
  #explore-view .chart-note{display:none}
  #explore-view .date-range{flex:0 0 31px;padding:1px 11px 3px}.date-range select{height:25px}
  #explore-view .pill-filters{flex:0 0 30px;flex-wrap:nowrap;overflow-x:auto;padding:2px 8px;scrollbar-width:thin}
  #explore-view .pill-filters button{white-space:nowrap;min-height:23px;padding:2px 5px}
  #explore-view .facets-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:4px 11px 6px}
  #explore-view .facets-grid>div+div{padding-left:9px;border-left:1px solid #e8eeed}
  #explore-view .facets-grid h3{font-size:10px;margin-bottom:5px}
  #explore-view .facet-bar{min-height:29px;padding-bottom:2px;margin-bottom:2px}
  #explore-view .facet-bar .bar-label{font-size:9px;margin-bottom:3px}
  #explore-view .chart-footnote{display:none}
  .report-panel{position:static;max-height:none;min-height:0;height:100%}.report-panel>.panel-heading{padding:8px 11px;min-height:39px}
  .list-tools{padding:5px 11px}.list-tools p{margin-bottom:3px}.report-list{min-height:0}
  .record{min-height:70px;padding:8px 11px}.record .record-title{margin:4px 0 2px;font-size:11px}.record .record-meta:last-child{display:none}
  #report-detail{max-height:46%;padding:10px}.detail-grid{gap:7px;margin-bottom:9px}.detail-section{margin-bottom:8px}
  .app-footer{display:none}
  #lifecycle-view{grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr);grid-template-rows:30px 104px minmax(0,1fr)}
  .lifecycle-intro{grid-column:1/-1;padding:1px 3px}.lifecycle-intro .eyebrow,.lifecycle-intro p:last-child{display:none}.lifecycle-intro h2{font-size:16px}
  #lifecycle-view>.panel:nth-of-type(2){grid-column:1/-1;grid-row:2}
  #lifecycle-view>.matrix-panel{grid-column:1;grid-row:3;display:flex;flex-direction:column;overflow:auto;scrollbar-width:thin}
  #lifecycle-view>.panel:nth-of-type(4){grid-column:2;grid-row:3;overflow:auto;scrollbar-width:thin}
  #lifecycle-view .panel-heading{padding:7px 12px 5px;min-height:35px}
  #lifecycle-view .panel-heading .eyebrow{display:none}
  .lifecycle-stages{grid-template-columns:repeat(8,minmax(0,1fr));padding:0 10px 8px;gap:5px}
  .stage-card{min-height:60px;padding:6px}.stage-card strong{font-size:9px;margin:3px 0}.stage-card .stage-count{font-size:8px}
  .lifecycle-controls{gap:5px 9px;padding:2px 10px 4px}.lifecycle-controls label{font-size:9px}.lifecycle-controls select{height:25px;padding:2px 20px 2px 5px;font-size:9px}
  #lifecycle-matrix{flex:1;min-height:0;max-height:none;padding:0 8px}
  #lifecycle-view .chart-footnote,.research-note{display:none}
  #review-threads{padding:0 9px 9px}.review-thread summary{padding:8px}.review-thread summary strong{font-size:11px}
  .thread-content{grid-template-columns:1fr 1fr;gap:7px;padding:9px}.thread-evidence{grid-column:1/-1}
  #compare-view{position:relative;flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);grid-template-rows:36px minmax(0,220px) 31px minmax(0,1fr);gap:8px;overflow:hidden}
  .comparison-heading{grid-column:1/-1;grid-row:1;margin:0;align-items:center}.comparison-heading .eyebrow,.comparison-heading p:last-child{display:none}.comparison-heading h2{font-size:17px;margin:0}.compare-mode button{min-height:25px;padding:3px 8px}
  .cohort-grid{grid-column:1/-1;grid-row:2;gap:8px;min-height:0}.cohort-card{display:flex;flex-direction:column;min-height:0}
  .cohort-heading{padding:7px 10px 2px}.cohort-letter{width:27px;height:27px;font-size:14px}.cohort-heading select{font-size:11px;height:27px}.cohort-heading>strong{font-size:20px}
  .cohort-definition{min-height:0;margin:0 10px 3px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cohort-card svg{flex:1;min-height:0;max-height:none;height:100%;width:calc(100% - 18px);margin:0 9px;aspect-ratio:auto}
  .cohort-metrics{margin:3px 9px}.cohort-metrics span{padding:3px 5px;font-size:8px;display:flex;align-items:center;gap:5px}.cohort-metrics strong{font-size:10px}
  .cohort-actions{padding:0 9px 6px;gap:5px}.cohort-actions button{min-height:23px;padding:2px 6px;font-size:9px}
  .comparison-status{grid-column:1;grid-row:3;padding:0 4px;gap:5px}.comparison-status p{font-size:9px;flex:1;line-height:1.2}.comparison-status button{font-size:9px}
  .comparison-legend{display:none}
  #compare-view>.panel:not(.compare-table){grid-column:1;grid-row:4;min-height:0;margin:0;display:flex;flex-direction:column}
  #compare-view>.panel:not(.compare-table) .panel-heading,.comparison-charts .panel-heading{padding:7px 10px 4px;min-height:37px}
  #compare-time{flex:1;min-height:0;height:100%;max-height:100%;padding:0 7px 5px}
  .comparison-charts{grid-column:2;grid-row:4;min-height:0;margin:0;gap:6px}
  .comparison-charts .panel{display:flex;flex-direction:column;min-height:0;overflow:auto;scrollbar-width:thin}
  .comparison-charts svg{width:100%;height:auto;max-height:none;flex:none;padding:0 6px 5px}
  .chart-switch{flex:0 0 34px;padding:3px}.chart-switch button{min-height:25px}
  .compare-table{grid-column:2;grid-row:3;justify-self:end;align-self:start;z-index:15;overflow:visible;max-height:80vh}
  .compare-table summary{padding:5px 9px;font-size:10px}.compare-table[open]{position:absolute;right:0;top:0;width:min(720px,90vw);overflow:auto;box-shadow:0 16px 40px #102b3b33;background:#fff}
}
@media(max-width:1099px),(max-height:799px){.metric-viz{height:36px}.comparison-charts{gap:10px}.comparison-charts .panel{min-height:0}}

/* Investigation view: coordinated signals and an annual equipment matrix. */
body{background:#e8f0ee}
.signal-deck{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 0 12px}
.signal-card{min-width:0;display:grid;grid-template-rows:auto auto minmax(32px,1fr) auto;background:#10303e;color:#eefaf6;border:1px solid #315462;border-top:3px solid #67d9c6;border-radius:5px;padding:10px 13px 8px}
.signal-card:nth-child(2){border-top-color:#f3bd78}.signal-card:nth-child(3){border-top-color:#a7b7ff}.signal-card:nth-child(4){border-top-color:#ed9a9a}
.signal-card>span{font:9px var(--mono);letter-spacing:.9px;color:#a8c3c8}
.signal-card strong{font:600 clamp(17px,1.7vw,24px) Inter,sans-serif;letter-spacing:-.6px;font-variant-numeric:tabular-nums;margin:4px 0 0;white-space:nowrap}
.signal-card svg{display:block;width:100%;height:43px;overflow:visible}
.signal-card svg text{font:8px var(--mono);fill:#9eb9bf}
.signal-card small{font:9px var(--mono);color:#b5cdd0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.matrix-mode{display:flex;gap:2px;padding:2px;background:#eaf1ef;border:1px solid #d4e2df;border-radius:4px}
.matrix-mode button{min-height:25px;border:0;background:transparent;padding:3px 8px;font-size:10px;white-space:nowrap}
.matrix-mode button[aria-pressed=true]{background:#164654;color:#fff}
#timeline{overflow:visible}
#timeline .matrix-kicker,#timeline .brush-label{font:9px var(--mono);letter-spacing:.5px;fill:#668087}
#timeline .matrix-row-label text{font:10px Inter,sans-serif;fill:#33545c}
#timeline .matrix-year,#timeline .matrix-tile{cursor:pointer;outline:none}
#timeline .matrix-year rect{fill:#e6efed}
#timeline .matrix-year text{font:600 12px var(--mono);fill:#35565e}
#timeline .matrix-year:hover rect,#timeline .matrix-year:focus-visible rect{fill:#cae4df}
#timeline .matrix-year[aria-pressed=true] rect{fill:#164654}
#timeline .matrix-year[aria-pressed=true] text{fill:#fff}
#timeline .matrix-tile rect{stroke:#fff;stroke-width:1}
#timeline .matrix-tile:hover rect,#timeline .matrix-tile:focus-visible rect{stroke:#bc7134;stroke-width:3}
#timeline .matrix-tile[aria-pressed=true] rect{stroke:#a75d20;stroke-width:3}
#timeline .matrix-tile text{font:650 13px var(--mono);pointer-events:none}
#timeline .matrix-context{fill:#dce8e7}
#timeline .matrix-active{fill:#317e85}
#timeline .matrix-totals text{font:600 10px var(--mono);fill:#315c65}
#timeline .time-brush .overlay{fill:#eff5f3}
@media(min-width:1100px) and (min-height:800px){
  .signal-deck{flex:0 0 103px;min-height:0;margin-bottom:8px}
  .signal-card{padding:6px 10px 3px;grid-template-rows:auto auto minmax(0,1fr) auto}
  .signal-card strong{font-size:19px;line-height:1.1;margin:2px 0 0}
  .signal-card svg{height:35px}
  .signal-card small{font-size:8px}
  #explore-view .timeline-panel .panel-heading{align-items:center}
  #explore-view .timeline-panel .panel-heading .eyebrow{display:none}
  #explore-view .matrix-mode button{min-height:22px;font-size:9px;padding:2px 6px}
}
@media(max-width:850px){.signal-deck{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.signal-deck{gap:5px}.signal-card{padding:8px}.signal-card strong{font-size:17px}.signal-card small{font-size:8px}}

/* Pinned comparisons and a reviewable local evidence trail. */
#evidence-count{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:3px;padding:0 4px;border-radius:9px;background:#365864;color:#fff;font:10px var(--mono)}
.pin-controls{display:flex;gap:3px;align-items:center;flex:none}
.pin-controls button{min-height:27px;padding:4px 7px;border-color:#bdd0cf;font:10px var(--mono)}
.pin-controls [data-pin="a"]{border-left:3px solid var(--blue)}
.pin-controls [data-pin="b"]{border-left:3px solid var(--amber)}
.pin-controls button[aria-pressed=true]{background:#173d49;color:#fff}
#compare-pins:not(:disabled){background:#173d49;color:#fff;border-color:#173d49}
.compare-heading-actions{display:flex;align-items:center;gap:8px;flex:none}
.save-observation{background:#173d49;color:#fff;border-color:#173d49;font-size:11px}
.save-observation:hover{background:#255d68;color:#fff}
.evidence-dialog{width:min(760px,calc(100% - 32px));overflow-y:auto;padding:26px 30px}
.evidence-dialog h2{margin-bottom:8px}
.evidence-dialog .evidence-intro{color:#536f77;font-size:12px;line-height:1.6;margin-bottom:16px}
.evidence-dialog input,.evidence-dialog textarea{display:block;width:100%;background:#f7faf9;border:1px solid #bdd0cf;border-radius:4px;padding:9px 11px;font-size:12px;margin-bottom:15px}
.evidence-dialog .evidence-caveat{background:#f6f0e5;border-left:3px solid #b8833f;padding:9px 12px;font-size:11px;line-height:1.5}
.evidence-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:14px}
.evidence-actions button{font-size:11px;min-height:32px}
.evidence-item{border:1px solid #d4e2e0;border-left:3px solid #2e7180;background:#fbfdfc;border-radius:5px;padding:13px 15px;margin:9px 0}
.evidence-item-top{display:flex;justify-content:space-between;color:#718a90;font:9px var(--mono);letter-spacing:.4px}
.evidence-item h3{font-size:15px;margin:7px 0 4px}
.evidence-item>p{font-size:11px;color:#46636c;line-height:1.55;margin:5px 0}
.evidence-groups{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}
.evidence-groups span{display:grid;gap:3px;min-width:0;background:#eef4f2;padding:8px;font-size:10px;color:#49656e;overflow-wrap:anywhere}
.evidence-groups span:first-child{border-top:2px solid var(--blue)}
.evidence-groups span:last-child{border-top:2px solid var(--amber)}
.evidence-groups b{font:700 12px var(--mono);color:#244c58}
.evidence-item .evidence-coverage{font:10px/1.6 var(--mono);color:#526f77}
.evidence-item .evidence-drift{color:#85542c;background:#fff2e3;padding:7px}
.evidence-item details{border-top:1px solid #e4edeb;margin-top:7px;padding-top:6px}
.evidence-item summary{cursor:pointer;font:10px var(--mono);color:#315d67}
.evidence-ids{display:flex;flex-wrap:wrap;gap:4px;max-height:155px;overflow:auto;padding:8px 0}
.evidence-ids button{min-height:23px;padding:2px 5px;font:9px var(--mono)}
.evidence-item-actions{display:flex;gap:6px;margin-top:12px}
.evidence-item-actions button{min-height:29px;padding:4px 8px;font-size:10px}
.evidence-item-actions button:first-child{background:#173d49;color:white;border-color:#173d49}
@media(min-width:1100px) and (min-height:800px){
  .selection-row #chips{min-width:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}
  .selection-row .pin-controls button{min-height:23px;padding:2px 6px;font-size:9px}
  .selection-row .text-button{flex:none}
  #compare-view .save-observation{min-height:27px;padding:3px 8px;font-size:10px}
}
@media(max-width:850px){.compare-heading-actions{margin-top:10px;flex-wrap:wrap}}
@media(max-width:580px){.pin-controls{order:2;width:100%}.pin-controls button{flex:1}.evidence-dialog{padding:22px 16px}.evidence-groups{grid-template-columns:1fr}}
