/* The app's IBM Plex type, flat card interiors and distinct working surfaces.
   Scoped to product examples: marketing typography, CTA and globe stay intact.
   Source contracts and intentional adaptations: docs/specs/2026-09-10-product-previews.md. */
.product-preview {
  --preview-ink: #1f1f1f;
  --preview-muted: #62616b;
  --preview-line: #dedbe4;
  --preview-canvas: #f4f3f7;
  --preview-purple: #4500a9;
  --preview-purple-soft: #f4effa;
  --preview-raised: 0 1px 2px #1018280f, 0 1px 3px #1018281a;
  --preview-frame: 0 1px 3px #1018280a, 0 20px 48px -24px #25203433;
  --preview-inset: 28px;
  font-family: "IBM Plex Sans", sans-serif;
  color: var(--preview-ink);
}
.product-preview :is(h3, h4) {
  font-family: "IBM Plex Sans", sans-serif;
  font-weight: 600;
  letter-spacing: -.015em;
  line-height: 1.3;
  text-wrap: pretty;
}
.product-preview:is(.feed-demo, .assessment-demo, .context-demo, .opportunity-demo, .curated-finding, .brief-example) {
  border: 1px solid #d9d2e4;
  border-radius: 16px;
  box-shadow: var(--preview-frame);
  background: var(--preview-canvas);
  overflow: hidden;
}
.product-preview .product-bar {
  min-height: 76px;
  padding: 16px var(--preview-inset);
  background: #fff;
  border-color: var(--preview-line);
  font-size: 17px;
  font-weight: 500;
}
.product-preview .product-bar > .preview-note {
  font-size: 14px;
  font-weight: 400;
  color: var(--preview-muted);
}
.product-preview .product-bar .icon { color: var(--preview-purple); width: 21px; height: 21px; }
.product-preview .preview-identity { display: inline-flex; align-items: center; gap: 12px; font-size: 17px; font-weight: 500; color: var(--preview-ink); }
.product-preview .preview-emblem { display: inline-grid; place-items: center; width: 36px; height: 36px; flex: 0 0 36px; border-radius: 11px; background: #f0e9f8; }
.product-preview .preview-emblem img { display: block; width: 23px; height: 27px; }
.product-preview .text-link {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  min-height: 44px;
  color: var(--preview-purple);
  border: 0;
  border-radius: 8px;
  background: transparent;
  padding: 4px 0;
  gap: 14px;
  box-shadow: none;
}
.product-preview .text-link::after { display: none; }
.product-preview .text-link .icon { width: 34px; height: 34px; padding: 8px; color: inherit; border: 1px solid #d8c8ed; border-radius: 50%; background: #fbf9fd; flex: none; transition: background-color 120ms, border-color 120ms; }
.product-preview .text-link:hover { background: transparent; color: #300077; }
.product-preview .text-link:hover .icon { background: #eee5f8; border-color: #a787d1; }
.product-preview :is(a, button):focus-visible { outline: 2px solid var(--preview-purple); outline-offset: 3px; }
.product-preview .preview-tag {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 10px;
  border: 1px solid #eddacb;
  border-radius: 999px;
  background: #fffcf6;
  color: #9c4402;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}
.product-preview .preview-tag .icon { width: 16px; height: 16px; flex: none; }
.product-preview .preview-tag-opportunity { color: #5c239c; background: #f5f0fb; border-color: #e0d2f0; }
.product-preview .preview-tag-neutral { color: #474747; background: #f5f5f5; border-color: #dedee5; }

/* Feed: quiet navigation, a recessed canvas, and distinct assessment cards. */
.product-preview .feed-layout { grid-template-columns: 210px minmax(0, 1fr); }
.product-preview .feed-sidebar { background: #f8f5fc; padding: 26px 14px; border-color: #e6e0ed; }
.product-preview .feed-sidebar > span,
.product-preview .feed-watch > span { color: var(--preview-muted); font-size: 14px; margin: 0 12px 14px; }
.product-preview .feed-sidebar > button {
  padding: 12px;
  min-height: 46px;
  font-size: 15px;
  border-radius: 8px;
  gap: 9px;
  margin-bottom: 8px;
  color: #474747;
}
.product-preview .feed-sidebar > button .icon { width: 18px; height: 18px; }
.product-preview .feed-sidebar > button.is-active {
  background: #ebe3f6;
  border-color: transparent;
  color: var(--preview-purple);
  font-weight: 500;
  box-shadow: none;
}
.product-preview .feed-watch { margin-top: 28px; border-color: var(--preview-line); }
.product-preview .feed-watch p { display: flex; align-items: start; gap: 9px; font-size: 14px; line-height: 1.5; margin: 18px 10px; color: var(--preview-muted); }
.product-preview .feed-watch .icon { width: 17px; height: 17px; margin-top: 2px; flex: none; color: #82748f; }
.product-preview .feed-content { padding: 28px; background: var(--preview-canvas); }
.product-preview .feed-content-heading { border: 0; padding-bottom: 22px; }
.product-preview .feed-content-heading h3 { font-size: 22px; max-width: 540px; }
.product-preview .feed-item {
  padding: 26px 28px;
  margin-bottom: 18px;
  border: 1px solid var(--preview-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 1px 3px #10182807;
}
.product-preview .feed-item:last-child { border-bottom: 1px solid var(--preview-line); margin-bottom: 0; }
.product-preview .feed-item:first-of-type { border-color: #cbbadd; box-shadow: var(--preview-raised); }
.product-preview .finding-meta { flex-wrap: wrap; gap: 8px 12px; font-size: 14px; margin-bottom: 18px; color: var(--preview-muted); }
.product-preview .feed-item h4 { font-size: 24px; max-width: 760px; }
.product-preview .feed-item p { font-size: 16px; line-height: 1.6; color: var(--preview-muted); margin-top: 12px; max-width: 76ch; }
.product-preview .feed-path { gap: 8px; margin-top: 22px; }
.product-preview .feed-path :is(span, strong) {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  padding: 9px 12px;
  border-radius: 8px;
  border: 1px solid #e6e1ec;
  background: #f9f8fb;
  color: #474747;
}
.product-preview .feed-path strong { background: var(--preview-purple-soft); border-color: #daccee; color: var(--preview-purple); }
.product-preview .feed-path :is(span, strong) .icon { width: 17px; height: 17px; color: inherit; }
.product-preview .feed-item-bottom { border-top: 1px solid #ebebef; padding-top: 18px; margin-top: 22px; align-items: center; flex-wrap: wrap; gap: 12px 20px; }
.product-preview .feed-item-bottom > span { display: flex; align-items: start; gap: 8px; font-size: 14px; line-height: 1.5; color: var(--preview-muted); max-width: 340px; }
.product-preview .feed-item-bottom > span > .icon { width: 17px; height: 17px; margin-top: 2px; flex: none; color: #8a779d; }
.product-preview .feed-item .text-link { font-size: 15px; margin-top: 20px; }
.product-preview .feed-item-bottom .text-link { margin-top: 0; }
.product-preview .alert-preview {
  margin: 0;
  padding: 22px 28px;
  border-color: #daccee;
  background: var(--preview-purple-soft);
  align-items: start;
  gap: 16px;
}
.product-preview .alert-symbol { flex: none; border-radius: 12px; background: #fff; color: var(--preview-purple); box-shadow: var(--preview-raised); padding: 10px; }
.product-preview .alert-preview strong { font-size: 19px; font-weight: 600; }
.product-preview .alert-preview p { margin-top: 6px; font-size: 16px; line-height: 1.55; color: var(--preview-muted); }

/* Assessment: one document surface, source records, and a contextual conversation. */
.product-preview .investigation-opening { padding-inline: var(--preview-inset); background: #fff; border-color: var(--preview-line); }
.product-preview .report-tabs { border: 0; border-bottom: 1px solid var(--preview-line); padding: 0 var(--preview-inset); gap: 28px; background: #fff; }
.product-preview .report-tabs button { border: 0; border-bottom: 2px solid transparent; border-radius: 0; min-height: 62px; padding: 16px 0; font-size: 15px; color: var(--preview-muted); }
.product-preview .report-tabs button[aria-selected="true"] { background: #fff; border-color: #7437b5; box-shadow: none; color: var(--preview-purple); font-weight: 500; }
.product-preview .report-panel { margin: 0; padding: 32px var(--preview-inset); border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.product-preview .report-panel > h3 { font-size: 28px; letter-spacing: -.015em; line-height: 1.3; }
.product-preview .report-lead { font-size: 17px; line-height: 1.65; color: var(--preview-muted); max-width: 80ch; }
.product-preview .report-columns { gap: 36px; align-items: start; }
.product-preview .report-columns h4 { display: flex; align-items: start; gap: 9px; font-size: 17px; font-weight: 600; margin-bottom: 12px; }
.product-preview .report-columns h4 .icon { width: 19px; height: 19px; flex: none; margin-top: 2px; color: #795499; }
.product-preview .report-columns p { font-size: 16px; line-height: 1.6; }
.product-preview .report-implication { border: 0; border-radius: 0; background: transparent; padding: 0; }
.product-preview .evidence-records { display: grid; gap: 0; margin-top: 28px; }
.product-preview .evidence-row { display: grid; grid-template-columns: 42px minmax(0, 1fr); padding: 24px 0; gap: 16px; border-color: var(--preview-line); }
.product-preview .preview-record-icon { display: grid; place-items: center; width: 42px; height: 48px; border: 1px solid #e2d9ed; border-radius: 8px; background: #f8f5fc; color: #74439f; }
.product-preview .preview-record-icon .icon { width: 22px; height: 22px; }
.product-preview .evidence-heading { display: flex; gap: 8px 20px; align-items: baseline; justify-content: space-between; flex-wrap: wrap; }
.product-preview .evidence-heading h4 { margin: 0; font-size: 18px; }
.product-preview .evidence-heading > span { color: var(--preview-muted); font-size: 14px; line-height: 1.5; }
.product-preview .evidence-row p { margin-top: 10px; font-size: 16px; line-height: 1.6; color: var(--preview-muted); }
.product-preview .agent-question { padding: 24px var(--preview-inset); background: #f4effa; border-color: #e0d5ec; gap: 22px; }
.product-preview .agent-question > .preview-identity { font-size: 15px; flex: none; }
.product-preview .agent-question > button { min-width: 0; border: 1px solid #c7b3df; border-radius: 16px; font-size: 16px; line-height: 1.5; padding: 12px 12px 12px 20px; background: #fff; box-shadow: var(--preview-raised); gap: 20px; }
.product-preview .agent-question > button:hover { border-color: #9368c3; background: #fff; box-shadow: 0 2px 8px #4500a913; }
.product-preview .preview-send { display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 36px; border-radius: 50%; background: #6331a1; color: #fff; box-shadow: inset 0 1px 0 #ffffff30, 0 2px 3px #4500a91c; }
.product-preview .preview-send .icon { width: 20px; height: 20px; flex: none; color: inherit; }
.product-preview .agent-question > button:focus-visible .preview-send .icon { transform: translateY(-2px); }
@media (hover: hover) and (pointer: fine) {
  .product-preview .agent-question > button:hover .preview-send .icon { transform: translateY(-2px); }
}
.product-preview .agent-answer { padding: 28px var(--preview-inset); border-color: #e0d5ec; background: #faf8fd; align-items: start; gap: 16px; }
.product-preview .agent-answer > div { min-width: 0; background: #fff; padding: 24px; border: 1px solid var(--preview-line); border-radius: 0 16px 16px 16px; }
.product-preview .agent-answer h4 { font-size: 22px; }
.product-preview .agent-answer p { font-size: 16px; line-height: 1.6; }
.product-preview .report-unknown { font-size: 14px; }

/* Context and opportunities use the same surface system without extra controls. */
.product-preview.context-demo { gap: 24px; padding: 24px; }
.product-preview .context-inputs { padding: 8px; }
.product-preview .context-inputs h3 { font-size: 22px; }
.product-preview .context-inputs > div { border: 1px solid var(--preview-line); background: #fff; border-radius: 12px; padding: 16px; margin-top: 12px; gap: 14px; align-items: center; }
.product-preview .context-inputs > div > .icon { color: #704897; background: #f4effa; width: 38px; height: 38px; padding: 9px; border-radius: 10px; flex: none; }
.product-preview .context-inputs > div > span { font-size: 16px; font-weight: 500; }
.product-preview .context-inputs small { font-size: 14px; font-weight: 400; line-height: 1.5; }
.product-preview .context-inputs .button { font-size: 15px; }
.product-preview .context-result { border: 1px solid #daccee; border-radius: 16px; box-shadow: var(--preview-raised); padding: 32px; }
.product-preview .context-world { font-size: 14px; color: var(--preview-purple); }
.product-preview .context-result h3 { font-size: 28px; }
.product-preview .context-result > p:not(.context-private) { font-size: 16px; line-height: 1.6; }
.product-preview .context-relevance { font-size: 14px; line-height: 1.5; color: var(--preview-purple); border-radius: 8px; }
.product-preview .context-private { font-size: 14px; }
.product-preview .opportunity-path { gap: 24px; padding: 32px; border: 0; }
.product-preview .opportunity-path > span { gap: 12px; flex: 1; font-size: 16px; font-weight: 500; padding: 20px; background: #fff; border: 1px solid var(--preview-line); border-radius: 12px; box-shadow: 0 1px 2px #10182806; }
.product-preview .opportunity-path > span > .icon { width: 26px; height: 26px; }
.product-preview .opportunity-copy { margin: 0 24px 24px; padding: 32px; border: 1px solid var(--preview-line); border-radius: 16px; gap: 40px; box-shadow: var(--preview-raised); }
.product-preview .opportunity-copy h3 { font-size: 28px; }
.product-preview .opportunity-copy h4 { font-size: 17px; font-weight: 600; }
.product-preview .opportunity-copy :is(p, ul) { font-size: 16px; line-height: 1.6; }

/* The homepage is one compact Feed composition, not a second dashboard. */
.product-preview.curated-finding { padding: 0; background: #fff; }
.product-preview .curated-heading { padding: 20px 28px; border: 0; border-bottom: 1px solid var(--preview-line); font-weight: 500; }
.product-preview .curated-body { padding: 28px; border: 0; background: #fff; border-radius: 0; box-shadow: none; }
.product-preview .curated-body h3 { font-size: 28px; letter-spacing: -.015em; margin-top: 18px; line-height: 1.3; }
.product-preview .curated-body > p { font-size: 16px; margin-top: 14px; line-height: 1.6; }
.product-preview .curated-body .finding-consequence { border: 0; border-top: 1px solid var(--preview-line); padding: 16px 0 0; margin-top: 18px; font-size: 16px; color: var(--preview-ink); }
.product-preview .curated-alert { margin-top: 0; padding: 24px 28px; border: 0; border-top: 1px solid #e0d5ec; border-radius: 0; background: var(--preview-purple-soft); gap: 16px; }
.product-preview .curated-alert > .icon { width: 20px; height: 20px; flex: none; }
.product-preview .curated-alert h4 { font-size: 20px; line-height: 1.3; }
.product-preview .curated-alert p { margin-top: 8px; font-size: 16px; line-height: 1.55; }
.product-preview.brief-example { background: #fff; padding: 32px; }
.product-preview.brief-example h3 { font-size: 24px; margin-top: 0; }
.product-preview.brief-example p { font-size: 17px; line-height: 1.65; }
.product-preview.brief-example .detail-output-link { border-top: 1px solid var(--preview-line); padding-top: 22px; margin-top: 24px; font-size: 22px; }

/* A two-entry history, with the latest assessment on the same reading axis. */
.product-preview .solution-update-header { padding: 18px 28px; }
.product-preview .solution-update-history { padding: 26px 28px 0 62px; }
.product-preview .solution-history-dot { left: 31px; top: 31px; width: 8px; height: 8px; background: #a993bb; box-shadow: 0 0 0 4px #f3eef9; }
.product-preview .solution-update-history::after { left: 34px; top: 43px; bottom: -24px; border-color: #d7c8e7; }
.product-preview .solution-update-latest { position: relative; padding: 28px 28px 30px 62px; }
.product-preview .solution-update-latest::before { content: ""; position: absolute; left: 30px; top: 37px; width: 10px; height: 10px; border-radius: 50%; background: #7b41b4; box-shadow: 0 0 0 5px #f0e9f8; }
.product-preview .solution-update-decision { display: flex; align-items: start; gap: 12px; padding: 22px 28px; background: #f8f5fc; }
.product-preview .solution-update-decision > .icon { flex: none; color: #7c569c; width: 20px; height: 20px; margin-top: 2px; }

/* Reports retain a paper-like document, with product typography and elevation. */
.product-preview.briefing-preview { background: var(--preview-canvas); border: 1px solid #daccee; border-radius: 16px; }
.product-preview .briefing-document { border-color: var(--preview-line); border-radius: 4px; box-shadow: 0 4px 12px #10182814, 0 2px 4px #10182808; }
.product-preview .briefing-document > h3 { font-size: clamp(28px, 3vw, 38px); letter-spacing: -.02em; line-height: 1.2; }
.product-preview .briefing-findings h4 { font-size: 23px; }
.product-preview .briefing-findings .briefing-implication { background: var(--preview-purple-soft); border: 1px solid #e9e0f5; border-radius: 8px; padding: 16px; font-size: 16px; }

@media (max-width: 1000px) {
  .product-preview .feed-layout { display: block; }
  .product-preview .feed-sidebar { display: flex; padding: 14px 20px; gap: 10px; border-right: 0; border-bottom: 1px solid var(--preview-line); flex-wrap: wrap; }
  .product-preview .feed-sidebar > span, .product-preview .feed-watch { display: none; }
  .product-preview .feed-sidebar > button { width: auto; margin: 0; padding: 10px 16px; }
  .product-preview .feed-content { padding: 24px; }
  .product-preview .feed-item { padding: 24px; }
}
@media (max-width: 700px) {
  .product-preview { --preview-inset: 20px; }
  .product-preview .product-bar { padding: 16px var(--preview-inset); gap: 8px 16px; flex-wrap: wrap; }
  .product-preview .feed-sidebar { padding: 12px; gap: 6px; flex-wrap: nowrap; }
  .product-preview .feed-sidebar > button { flex: 1 0 auto; min-width: 0; padding: 10px 8px; justify-content: center; font-size: 14px; }
  .product-preview .feed-sidebar > button > .icon, .product-preview .feed-filter-detail { display: none; }
  .product-preview .feed-content { padding: 20px 12px 16px; }
  .product-preview .feed-content-heading { padding: 0 4px 18px; }
  .product-preview .feed-content-heading h3 { font-size: 20px; }
  .product-preview .feed-item { padding: 20px 18px; }
  .product-preview .feed-item h4 { font-size: 23px; }
  .product-preview .feed-item .text-link { white-space: normal; }
  .product-preview .finding-meta { margin-bottom: 16px; }
  .product-preview .feed-path { display: grid; justify-items: start; gap: 5px; }
  .product-preview .feed-path > .icon { transform: rotate(90deg); margin-left: 16px; width: 18px; height: 18px; }
  .product-preview .feed-item-bottom { gap: 16px; }
  .product-preview .alert-preview { padding: 20px; flex-direction: column; gap: 12px; }
  .product-preview .report-tabs { display: grid; grid-template-columns: minmax(max-content, 1fr) minmax(0, 1.15fr) minmax(0, 1fr); padding: 0 var(--preview-inset); gap: 10px; }
  .product-preview .report-tabs button { border-radius: 0; white-space: normal; font-size: 14px; line-height: 1.4; padding: 12px 0; min-height: 64px; }
  .product-preview .report-panel { margin: 0; padding: 26px var(--preview-inset); }
  .product-preview .report-panel > h3 { font-size: 25px; }
  .product-preview .report-columns { grid-template-columns: 1fr; gap: 24px; }
  .product-preview .report-implication { padding: 0; }
  .product-preview .agent-question { padding: 20px var(--preview-inset); flex-direction: column; align-items: start; gap: 14px; }
  .product-preview .agent-question > button { border-radius: 16px; padding: 14px 12px 14px 16px; gap: 16px; width: 100%; }
  .product-preview .agent-answer { padding: 24px var(--preview-inset); gap: 10px; }
  .product-preview .agent-answer > .preview-emblem { display: none; }
  .product-preview .agent-answer > div { padding: 22px 18px; }
  .product-preview .evidence-row { grid-template-columns: 34px minmax(0, 1fr); gap: 12px; }
  .product-preview .preview-record-icon { width: 34px; height: 40px; }
  .product-preview .evidence-heading { display: block; }
  .product-preview .evidence-heading > span { display: block; margin-top: 6px; }
  .product-preview.context-demo { grid-template-columns: 1fr; gap: 24px; padding: 16px; }
  .product-preview .context-inputs { padding: 0; }
  .product-preview .context-result { padding: 24px 20px; }
  .product-preview .context-result h3 { font-size: 25px; }
  .product-preview .opportunity-path { flex-direction: column; padding: 20px; gap: 8px; }
  .product-preview .opportunity-path > span { width: 100%; flex-direction: row; padding: 16px; gap: 16px; }
  .product-preview .opportunity-path > .icon { transform: rotate(90deg); width: 18px; height: 18px; }
  .product-preview .opportunity-copy { grid-template-columns: 1fr; margin: 0 12px 16px; padding: 24px 20px; gap: 24px; }
  .product-preview .opportunity-copy h3 { font-size: 25px; }
  .product-preview.curated-finding { padding: 0; }
  .product-preview .curated-heading { padding: 18px 20px; }
  .product-preview .curated-body { padding: 22px 20px; }
  .product-preview .curated-body h3 { font-size: 25px; }
  .product-preview .curated-alert { padding: 22px 20px; gap: 12px; }
  .product-preview .curated-alert h4 { font-size: 19px; }
  .product-preview.brief-example { padding: 26px 24px; }
  .product-preview.brief-example h3 { font-size: 23px; }
  .product-preview .solution-update-header { padding: 18px 20px; }
  .product-preview .solution-update-history { padding: 24px 20px 0 48px; }
  .product-preview .solution-history-dot { left: 22px; top: 30px; }
  .product-preview .solution-update-history::after { left: 25px; top: 42px; }
  .product-preview .solution-update-latest { padding: 26px 20px 28px 48px; }
  .product-preview .solution-update-latest::before { left: 21px; top: 34px; }
  .product-preview .solution-update-decision { padding: 22px 20px; }
  .product-preview.briefing-preview { padding: 20px 12px; }
  .product-preview .briefing-document { padding: 26px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .product-preview .text-link .icon, .product-preview .agent-question > button { transition: none; }
  .product-preview .agent-question > button:is(:hover, :focus-visible) .preview-send .icon { transform: none; }
}
@media (forced-colors: active) {
  .product-preview, .product-preview * { box-shadow: none !important; }
  .product-preview .feed-sidebar > button[aria-pressed="true"],
  .product-preview .report-tabs button[aria-selected="true"] { outline: 2px solid Highlight; outline-offset: -3px; }
}
