:root{
  --rich-green:#2c7455;
  --rich-green-soft:#edf7f1;
  --rich-blue:#356eb8;
  --rich-blue-soft:#eef4fb;
  --rich-amber:#94671f;
  --rich-amber-soft:#fbf5e8;
  --rich-teal:#2e776f;
  --rich-teal-soft:#edf7f5;
  --rich-coral:#a4584c;
  --rich-coral-soft:#fbf1ef;
}

/* Screenshot-driven visual richness pass: keep the editorial system, add scanable signals. */
.hero-copy-block{position:relative}
.hero-copy-block::after{
  content:'';
  display:block;
  width:72px;
  height:3px;
  margin-top:24px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--rich-green),var(--rich-blue),var(--rich-amber));
}
.search-card{position:relative;overflow:hidden}
.search-card::before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:linear-gradient(180deg,var(--rich-green),var(--rich-blue));
  opacity:.82;
}
.search-controls .primary-button{transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.search-controls .primary-button:hover{transform:translateY(-1px);box-shadow:0 12px 25px #2c74552c}

.preview-card{position:relative;overflow:hidden}
.preview-card::before{
  content:'';
  position:absolute;
  left:0;top:0;right:0;
  height:3px;
  background:linear-gradient(90deg,var(--rich-green) 0 42%,var(--rich-blue) 42% 72%,var(--rich-amber) 72% 100%);
}
.preview-signal-rail{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin:22px 0 18px;
  border-top:1px solid var(--pm-line);
  border-bottom:1px solid var(--pm-line);
}
.preview-signal{
  position:relative;
  min-width:0;
  padding:14px 15px 14px 18px;
}
.preview-signal+ .preview-signal{border-left:1px solid var(--pm-line)}
.preview-signal::before{
  content:'';
  position:absolute;
  left:0;top:17px;
  width:6px;height:6px;
  border-radius:50%;
  background:var(--rich-green);
}
.preview-signal:nth-child(2)::before{background:var(--rich-blue)}
.preview-signal:nth-child(3)::before{background:var(--rich-amber)}
.preview-signal strong,.preview-signal span{display:block}
.preview-signal strong{font-size:11px;color:var(--text)}
.preview-signal span{margin-top:4px;font-size:9px;line-height:1.45;color:var(--subtle)}
.value-strip>div{position:relative;padding-left:42px}
.value-index{
  position:absolute;
  left:0;top:14px;
  font:700 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.08em;
  color:var(--rich-green);
}
.value-strip>div:nth-child(2) .value-index{color:var(--rich-blue)}
.value-strip>div:nth-child(3) .value-index{color:var(--rich-amber)}

/* Report: a briefing with visual rhythm, not a wall of cards. */
.report-story{position:relative}
.story-card.primary{
  position:relative;
  padding-left:24px;
}
.story-card.primary::before{
  content:'';
  position:absolute;
  left:0;top:44px;bottom:52px;
  width:4px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--rich-green),var(--rich-blue));
}
.story-card h2{max-width:980px;font-size:clamp(34px,4.25vw,54px);line-height:1.035}
.story-summary{font-size:16px;line-height:1.72}

.briefing-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin:0;
  border-bottom:1px solid var(--pm-line);
  background:linear-gradient(90deg,#ffffff7a,#f7faf8 48%,#ffffff7a);
}
.briefing-metric{
  position:relative;
  min-width:0;
  padding:19px 20px 20px;
}
.briefing-metric+.briefing-metric{border-left:1px solid var(--pm-line)}
.briefing-metric::before{
  content:'';
  position:absolute;
  top:0;left:20px;
  width:28px;height:2px;
  background:var(--rich-green);
}
.briefing-metric.blue::before{background:var(--rich-blue)}
.briefing-metric.amber::before{background:var(--rich-amber)}
.briefing-metric.teal::before{background:var(--rich-teal)}
.briefing-metric strong,.briefing-metric span{display:block}
.briefing-metric strong{font-size:25px;line-height:1;color:var(--text);letter-spacing:-.04em}
.briefing-metric span{margin-top:7px;font-size:10px;line-height:1.4;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}

.history-card[data-richness='1']{
  position:relative;
  margin:0;
  padding:18px 20px;
  border:0;
  border-bottom:1px solid var(--pm-line);
  background:#f4faf6;
}
.history-card.snapshot-state-unchanged{background:#f7f8f6}
.history-card.snapshot-state-unavailable{background:#fff8f2}
.history-head{align-items:center;gap:16px}
.snapshot-state-pill,.workspace-snapshot-pill{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:28px;
  padding:0 10px;
  border:1px solid #2c74552f;
  border-radius:999px;
  background:#ffffffb5;
  color:var(--rich-green);
  font-size:10px;
  font-weight:800;
  letter-spacing:.02em;
}
.snapshot-state-pill::before,.workspace-snapshot-pill::before{
  content:'';
  width:7px;height:7px;
  border-radius:50%;
  background:currentColor;
  box-shadow:0 0 0 4px #2c745510;
}
.snapshot-state-pill.unchanged{color:var(--muted);border-color:var(--pm-line-strong)}
.snapshot-state-pill.unavailable{color:var(--rich-amber);border-color:#94671f32}

.signal-overview{margin-top:38px}
.signal-overview-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  padding-bottom:13px;
  border-bottom:1px solid var(--pm-line);
}
.signal-overview-heading>div{font-size:23px;font-weight:800;letter-spacing:-.035em;color:var(--text)}
.signal-overview-heading p{max-width:450px;margin:0;text-align:right;font-size:12px;line-height:1.5;color:var(--muted)}
.signal-overview-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:34px;
  padding:22px 0 8px;
}
.signal-overview-panel{min-width:0}
.signal-overview-kicker{
  display:block;
  margin-bottom:13px;
  font-size:9px;
  line-height:1;
  color:var(--rich-green);
  font-weight:850;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.work-mix-stack{
  display:flex;
  width:100%;
  height:12px;
  overflow:hidden;
  border-radius:999px;
  background:#e3e8e4;
  box-shadow:inset 0 0 0 1px #2031290b;
}
.work-mix-segment{display:block;height:100%;background:var(--rich-green)}
.work-mix-segment:nth-child(2){background:var(--rich-blue)}
.work-mix-segment:nth-child(3){background:var(--rich-amber)}
.work-mix-segment:nth-child(4){background:var(--rich-teal)}
.work-mix-segment:nth-child(5){background:var(--rich-coral)}
.work-mix-segment:nth-child(n+6){background:#7d8b83}
.work-mix-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin-top:14px}
.work-mix-legend-item{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;font-size:11px;color:var(--muted)}
.work-mix-legend-item strong{font-size:11px;color:var(--text)}
.work-mix-dot{width:7px;height:7px;border-radius:50%;background:var(--rich-green)}
.work-mix-legend-item:nth-child(2) .work-mix-dot{background:var(--rich-blue)}
.work-mix-legend-item:nth-child(3) .work-mix-dot{background:var(--rich-amber)}
.work-mix-legend-item:nth-child(4) .work-mix-dot{background:var(--rich-teal)}
.work-mix-legend-item:nth-child(5) .work-mix-dot{background:var(--rich-coral)}
.repo-pulse-list{display:grid;gap:0;border-top:1px solid var(--pm-line)}
.repo-pulse-item{
  display:grid;
  grid-template-columns:8px minmax(105px,.42fr) minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-width:0;
  padding:9px 0;
  border-bottom:1px solid var(--pm-line);
}
.repo-pulse-marker{width:7px;height:7px;border-radius:2px;background:var(--rich-blue)}
.repo-pulse-item:nth-child(2) .repo-pulse-marker{background:var(--rich-green)}
.repo-pulse-item:nth-child(3) .repo-pulse-marker{background:var(--rich-amber)}
.repo-pulse-item:nth-child(4) .repo-pulse-marker{background:var(--rich-teal)}
.repo-pulse-item strong{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:var(--text)}
.repo-pulse-item>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:var(--muted)}

.project-grid{gap:14px}
.project-card{
  position:relative;
  padding:22px 22px 24px;
  border:1px solid var(--pm-line);
  border-radius:14px;
  background:#ffffffa8;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.project-card:hover{transform:translateY(-2px);border-color:#2c74552d;box-shadow:0 15px 36px #26342d0c}
.project-accent{
  display:block;
  width:34px;height:3px;
  margin-bottom:16px;
  border-radius:999px;
  background:var(--rich-green);
}
.project-card:nth-child(2n) .project-accent{background:var(--rich-blue)}
.project-card:nth-child(3n) .project-accent{background:var(--rich-amber)}
.project-card:nth-child(4n) .project-accent{background:var(--rich-teal)}
.project-repo{font-size:9px;letter-spacing:.11em}

.observation-list{gap:14px}
.observation{
  position:relative;
  min-height:138px;
  padding:22px 22px 22px 54px;
  border:1px solid var(--pm-line);
  border-radius:14px;
  background:#ffffff9c;
}
.observation:nth-child(2){background:var(--rich-blue-soft)}
.observation:nth-child(3){background:var(--rich-amber-soft)}
.observation:nth-child(4){background:var(--rich-teal-soft)}
.observation-index{
  position:absolute;
  left:20px;top:23px;
  font:800 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.08em;
  color:var(--rich-green);
}
.observation:nth-child(2) .observation-index{color:var(--rich-blue)}
.observation:nth-child(3) .observation-index{color:var(--rich-amber)}
.observation:nth-child(4) .observation-index{color:var(--rich-teal)}

.evidence-preview{margin-bottom:16px;padding:26px 0 10px}
.evidence-preview-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}
.evidence-preview-head h2{margin:0;font-size:24px;letter-spacing:-.035em;color:var(--text)}
.evidence-preview-head p{max-width:650px;margin:7px 0 0;font-size:12px;line-height:1.55;color:var(--muted)}
.evidence-count{font-size:42px;line-height:.9;letter-spacing:-.06em;color:#708077}
.evidence-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.evidence-preview-item{
  grid-template-columns:30px minmax(0,1fr)!important;
  align-items:start;
  min-height:104px;
  padding:14px!important;
  border-radius:12px!important;
  background:#ffffff!important;
  box-shadow:0 8px 24px #26342d08;
}
.evidence-preview-item .evidence-kind{grid-column:2;font-size:9px}
.evidence-details{margin-top:10px}
.technical-drawer>summary,.evidence-summary{position:relative;padding-right:50px}
.technical-drawer>summary::after,.evidence-summary::after{
  content:'+';
  position:absolute;
  right:18px;top:50%;
  transform:translateY(-50%);
  color:var(--rich-green);
  font-size:18px;
  font-weight:500;
}
.technical-drawer[open]>summary::after,.evidence-details[open]>.evidence-summary::after{content:'–'}

/* Workspace: make the developer journal state visible without becoming an admin dashboard. */
.workspace-journal-strip{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  width:max-content;
  max-width:100%;
  margin-top:18px;
  border:1px solid var(--pm-line);
  border-radius:12px;
  overflow:hidden;
  background:#ffffff9c;
}
.workspace-journal-strip .briefing-metric{min-width:110px;padding:13px 16px 14px}
.workspace-journal-strip .briefing-metric strong{font-size:18px}
.workspace-journal-strip .briefing-metric span{font-size:8px;margin-top:5px}
.workspace-journal-strip .briefing-metric::before{left:16px;width:20px}
.workspace-primary-card{overflow:hidden}
.workspace-snapshot-pill{margin:9px 0 0;width:max-content}
.workspace-snapshot-pill.empty{color:var(--rich-amber);border-color:#94671f2f}
.workspace-list-row{position:relative;padding-left:18px}
.workspace-list-row::before{
  content:'';
  position:absolute;
  left:0;top:20px;
  width:7px;height:7px;
  border-radius:50%;
  background:var(--rich-green);
  box-shadow:0 0 0 4px #2c74550e;
}
.workspace-list-panel:nth-child(2) .workspace-list-row::before{background:var(--rich-blue);box-shadow:0 0 0 4px #356eb80d}

@media(max-width:1024px){
  .briefing-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .briefing-metric:nth-child(3){border-left:0;border-top:1px solid var(--pm-line)}
  .briefing-metric:nth-child(4){border-top:1px solid var(--pm-line)}
  .signal-overview-grid{grid-template-columns:1fr;gap:26px}
  .evidence-preview-grid{grid-template-columns:1fr}
  .evidence-preview-item{min-height:0}
}

@media(max-width:760px){
  .hero-copy-block::after{margin-top:18px}
  .preview-signal-rail{grid-template-columns:1fr}
  .preview-signal+.preview-signal{border-left:0;border-top:1px solid var(--pm-line)}
  .value-strip>div{padding-left:36px}
  .story-card.primary{padding-left:18px}
  .story-card.primary::before{top:32px;bottom:38px;width:3px}
  .briefing-metrics{grid-template-columns:1fr 1fr}
  .briefing-metric{padding:16px}
  .briefing-metric::before{left:16px}
  .briefing-metric strong{font-size:22px}
  .history-card[data-richness='1']{padding:16px}
  .history-head{align-items:flex-start;flex-direction:column}
  .signal-overview-heading{align-items:flex-start;flex-direction:column;gap:7px}
  .signal-overview-heading p{text-align:left}
  .work-mix-legend{grid-template-columns:1fr}
  .repo-pulse-item{grid-template-columns:8px minmax(90px,.42fr) minmax(0,1fr)}
  .project-grid,.observation-list{gap:10px}
  .project-card,.observation{padding:18px}
  .observation{padding-left:48px;min-height:0}
  .observation-index{left:18px;top:20px}
  .evidence-preview-head{align-items:flex-start;flex-direction:column;gap:10px}
  .evidence-count{font-size:32px}
  .workspace-journal-strip{width:100%}
  .workspace-journal-strip .briefing-metric{flex:1;min-width:90px}
}

@media(max-width:420px){
  .briefing-metrics{grid-template-columns:1fr}
  .briefing-metric+.briefing-metric{border-left:0;border-top:1px solid var(--pm-line)}
  .repo-pulse-item{grid-template-columns:8px minmax(0,1fr)}
  .repo-pulse-item>span:last-child{grid-column:2;white-space:normal}
  .workspace-journal-strip{display:grid;grid-template-columns:repeat(3,1fr)}
  .workspace-journal-strip .briefing-metric{min-width:0;padding:12px 10px}
  .workspace-journal-strip .briefing-metric+.briefing-metric{border-left:1px solid var(--pm-line);border-top:0}
  .workspace-journal-strip .briefing-metric::before{left:10px}
}

@media(prefers-reduced-motion:reduce){
  .search-controls .primary-button,.project-card{transition:none}
  .search-controls .primary-button:hover,.project-card:hover{transform:none}
}
