/* One font, a restrained palette, and detail only when it is useful. */
.upload-talking {
  --talking-first: #238577;
  --talking-second: #8970c7;
  margin: 20px 0 24px;
  padding: 20px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--surface-soft);
}
.upload-talking h2 {
  margin: 0 0 6px;
  font-size: 19px;
  letter-spacing: -0.4px;
}
.upload-talking p,
.upload-talking small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}
.upload-talking p {
  margin: 0 0 20px;
}
.upload-talking small {
  display: block;
  margin-top: 16px;
  font-size: 11px;
}
.upload-talking-people,
.upload-talking-counts {
  display: grid;
  grid-auto-columns: minmax(0, 1fr);
  grid-auto-flow: column;
  gap: 16px;
}
.upload-talking-person {
  min-width: 0;
}
.upload-talking-person strong {
  font-size: 13px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.upload-talking-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 6px;
  border-radius: 50%;
  background: var(--person-color, var(--talking-first));
}
.upload-talking [data-person="1"] .upload-talking-dot,
.upload-talking-bar [data-person="1"] {
  background: var(--talking-second);
}
.upload-talking-bar {
  display: flex;
  height: 12px;
  margin: 12px 0;
  overflow: hidden;
  border-radius: 999px;
  background: var(--border);
}
.upload-talking-bar span {
  background: var(--person-color, var(--talking-first));
}
.upload-talking-bar span + span {
  border-left: 2px solid var(--surface-soft);
}
.upload-talking-bar span[style="width:0%"] {
  display: none;
}
.upload-talking-counts strong {
  display: block;
  font-size: 22px;
  letter-spacing: -0.6px;
}
.upload-talking-counts span:not(.sr-only) {
  color: var(--muted);
  font-size: 12px;
}
.upload-talking.is-group .upload-talking-people,
.upload-talking.is-group .upload-talking-counts {
  grid-auto-flow: row;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
}
.upload-talking.is-group .upload-talking-people > *,
.upload-talking.is-group .upload-talking-counts > * {
  text-align: left;
}
.upload-talking-people > :nth-child(2),
.upload-talking-counts > :nth-child(2) {
  text-align: right;
}
[data-theme="dark"] .upload-talking {
  --talking-first: #65c6b4;
  --talking-second: #ae98e2;
}
@media (max-width: 480px) {
  .upload-talking {
    padding: 16px;
  }
}
.share-snapshot-button {
  font-size: 12px;
  white-space: nowrap;
}
.share-preview canvas {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}
.share-preview {
  max-width: 420px;
  margin: 16px auto;
}
.share-name-option {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  min-height: 44px;
}
.share-name-option input {
  accent-color: var(--green);
  width: 18px;
  height: 18px;
}
.share-export-status {
  font-size: 12px;
  color: var(--muted);
}
.share-export-dialog > footer {
  justify-content: flex-end;
}
@media (max-width: 700px) {
  .insight-heading {
    flex-wrap: wrap;
  }
  .share-snapshot-button {
    padding: 8px 12px;
  }
}
.message-scroll-frame {
  position: relative;
  min-width: 0;
}
.message-results {
  height: clamp(280px, 55dvh, 620px);
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-width: thin;
  scrollbar-gutter: stable;
  padding-bottom: 90px;
}
.message-results > * {
  flex-shrink: 0;
}
.message-day {
  position: sticky;
  top: 0;
  z-index: 1;
  pointer-events: none;
}
.message-jump-controls {
  position: absolute;
  bottom: 16px;
  right: 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  z-index: 2;
}
.message-jump-controls button {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: 0 2px 10px #0001;
  color: var(--green);
  display: grid;
  place-items: center;
}
.message-jump-controls button:disabled {
  opacity: 0.35;
  cursor: default;
}
.message-scope-chip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 16px;
  background: var(--green-light);
  font-size: 12px;
}
.message-scope-chip button {
  min-height: 36px;
}
.silence-day-grid > button {
  cursor: pointer;
  transition:
    transform 0.15s,
    box-shadow 0.15s;
}
.silence-day-grid > button:hover,
.activity-heatmap > button:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 0 2px var(--chat-accent);
}
.activity-detail-dialog {
  width: min(660px, calc(100% - 28px));
  max-height: min(880px, 90dvh);
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 20px;
  background: var(--surface);
  color: var(--text);
  box-shadow: 0 24px 100px #0004;
  overflow: hidden;
}
.activity-detail-dialog[open] {
  display: flex;
  flex-direction: column;
  animation: activity-dialog-in 0.18s ease-out;
}
.activity-detail-dialog::backdrop {
  background: #10271d80;
  backdrop-filter: blur(5px);
}
.activity-detail-dialog > header,
.activity-detail-dialog > footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px;
  flex-shrink: 0;
}
.activity-detail-dialog > header {
  border-bottom: 1px solid var(--border);
}
.activity-detail-dialog h2 {
  font-size: 23px;
  letter-spacing: -0.04em;
}
.activity-detail-dialog header small {
  font-size: 12px;
  color: var(--muted);
}
.activity-detail-body {
  padding: 20px 24px;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.activity-detail-body section {
  margin: 24px 0;
}
.activity-detail-body h3 {
  font-size: 16px;
  margin-bottom: 12px;
}
.activity-detail-scope {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.6;
  margin-bottom: 12px;
}
.activity-detail-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0;
}
.activity-detail-stats > div {
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 14px;
}
.activity-detail-stats strong {
  display: block;
  font-size: 28px;
  font-weight: 600;
}
.activity-detail-stats span {
  font-size: 12px;
  color: var(--muted);
}
.activity-people {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.activity-people > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
  font-size: 13px;
}
.activity-people progress {
  width: 100%;
  height: 6px;
  accent-color: var(--green);
}
.activity-people small {
  font-weight: 400;
}
.activity-facts {
  margin: 20px 0;
}
.activity-facts > div {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  font-size: 13px;
  padding: 10px 0;
  border-bottom: 1px solid var(--border);
}
.activity-facts dt {
  color: var(--muted);
  flex-shrink: 0;
}
.activity-facts dd {
  text-align: right;
  margin: 0;
}
.activity-starts,
.activity-dates {
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 12px 16px;
  margin: 12px 0;
  font-size: 13px;
}
.activity-starts summary,
.activity-dates summary {
  cursor: pointer;
  min-height: 30px;
}
.activity-starts p {
  padding: 10px 0;
  border-top: 1px solid var(--border);
}
.activity-starts small {
  display: block;
  color: var(--muted);
}
.activity-dates button {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding: 12px 0;
  border-top: 1px solid var(--border);
}
.activity-message-preview {
  display: block;
  width: 100%;
  text-align: left;
  background: var(--surface-soft);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 14px;
  margin: 10px 0;
}
.activity-message-preview > span {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  font-size: 12px;
}
.activity-message-preview time,
.activity-message-preview small {
  color: var(--muted);
  font-size: 11px;
}
.activity-message-preview p {
  font-size: 14px;
  margin: 8px 0;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}
.activity-empty {
  text-align: center;
  padding: 20px;
}
.activity-empty > svg {
  width: 32px;
  height: 32px;
  margin: 8px;
}
.activity-empty p {
  font-size: 14px;
  color: var(--muted);
}
.activity-detail-dialog > footer {
  border-top: 1px solid var(--border);
}
.activity-detail-dialog footer > span {
  font-size: 12px;
  color: var(--muted);
}
.activity-dialog-open .chat-body {
  overflow: hidden;
}
@keyframes activity-dialog-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 700px) {
  .message-jump-controls button {
    width: 44px;
    height: 44px;
  }
  .message-results {
    padding: 14px 14px 115px;
  }
  .activity-detail-dialog > header,
  .activity-detail-dialog > footer,
  .activity-detail-body {
    padding: 16px;
  }
  .activity-detail-dialog > footer {
    align-items: stretch;
    flex-direction: column;
    gap: 8px;
  }
  .activity-detail-stats > div {
    padding: 10px;
  }
  .activity-detail-stats strong {
    font-size: 24px;
  }
  .activity-detail-stats span {
    font-size: 11px;
  }
  .activity-facts > div {
    flex-direction: column;
    gap: 4px;
  }
  .activity-facts dd {
    text-align: left;
  }
}
body {
  font-size: 15px;
  line-height: 1.55;
}
.chat-app {
  font-family: var(--font);
  --insight-muted: #60716b;
}
[data-theme="dark"] .chat-app {
  --insight-muted: #adbbb5;
}
.chat-app h1,
.chat-app h2,
.chat-app h3 {
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 1.25;
  text-wrap: balance;
}
.chat-app h1 {
  font-size: clamp(25px, 2.7vw, 36px);
}
.chat-app h2 {
  font-size: 19px;
}
.chat-app h3 {
  font-size: 16px;
}
.chat-app p {
  line-height: 1.65;
}
.chat-app small,
.chat-app .insight-eyebrow,
.chat-app .text-link {
  font-size: 12px;
}
.insight-eyebrow {
  letter-spacing: 0.06em;
  font-weight: 550;
}
.insight-experience,
.saas-page {
  max-width: 1160px;
  margin-inline: auto;
  padding: 30px 36px 130px;
}
.insight-heading {
  margin-bottom: 22px;
}
.insight-heading .heading-spark,
.insight-heading .insight-eyebrow,
.saas-page-heading .insight-eyebrow {
  display: none;
}
.insight-heading p,
.saas-page-heading p {
  margin-top: 8px;
  font-size: 14px;
}
.saas-page-heading {
  margin-bottom: 24px;
}
.insight-view-tabs {
  gap: 4px;
  overflow-x: auto;
  scrollbar-width: thin;
}
.insight-view-tabs button {
  min-height: 44px;
  padding: 10px 14px;
  font-size: 13px;
  white-space: nowrap;
  flex-shrink: 0;
}
.insight-toolbar {
  margin-top: 20px;
}
.active-filter-row {
  font-size: 12px;
}
.relationship-snapshot {
  padding: 22px;
  border-radius: 16px;
  margin: 20px 0;
}
.snapshot-heading h2 {
  font-size: 18px;
  margin: 6px 0 0;
}
.snapshot-heading .insight-eyebrow {
  display: none;
}
.snapshot-rings.snapshot-summary-row {
  display: flex;
  align-items: center;
  gap: 24px;
  margin: 22px 0;
}
.snapshot-summary-row > .score-ring-item {
  flex: 0 0 105px;
}
.snapshot-summary-copy {
  text-align: left;
}
.snapshot-summary-copy strong {
  font-size: 16px;
  font-weight: 550;
}
.snapshot-summary-copy p {
  font-size: 14px;
  color: var(--insight-muted);
  margin: 5px 0;
}
.snapshot-summary-copy small {
  color: var(--insight-muted);
}
.score-ring-item > span {
  font-size: 12px;
}
.score-breakdown {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px;
}
.biggest-insight {
  padding: 24px 28px;
  min-height: unset;
  margin-bottom: 22px;
  border-radius: 16px;
}
.biggest-insight h2 {
  font-size: clamp(23px, 2.2vw, 30px);
  margin: 12px 0 8px;
}
.biggest-insight p {
  font-size: 14px;
  max-width: 58ch;
}
.biggest-insight > div > span {
  font-size: 11px;
  letter-spacing: 0.08em;
}
.discovery-art {
  width: 72px;
  height: 72px;
  flex-shrink: 0;
}
.overview-disclosure {
  border: 1px solid var(--insight-border);
  border-radius: 12px;
  background: var(--insight-card);
  margin: 14px 0;
}
.overview-disclosure > summary {
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 16px 18px;
  cursor: pointer;
  font-weight: 550;
  font-size: 14px;
  min-height: 52px;
}
.overview-disclosure > summary::-webkit-details-marker {
  display: none;
}
.overview-disclosure[open] > summary svg {
  transform: rotate(180deg);
}
.disclosure-content {
  padding: 4px 18px 18px;
  min-width: 0;
}
.disclosure-content .quick-patterns,
.disclosure-content .improvement-section {
  margin: 0;
}
.relationship-snapshot .overview-disclosure {
  border: 0;
  border-top: 1px solid var(--insight-border);
  border-radius: 0;
  margin: 0;
}
.relationship-snapshot .overview-disclosure > summary {
  padding-inline: 0;
  padding-bottom: 0;
}
.relationship-snapshot .disclosure-content {
  padding-top: 24px;
}
.insight-metrics {
  gap: 12px;
}
.insight-metric {
  background: var(--insight-card) !important;
  border: 1px solid var(--insight-border);
  padding: 18px;
  border-radius: 12px;
}
.insight-metric > div > b {
  display: none;
}
.insight-metric > strong {
  font-size: 28px;
  margin: 12px 0 7px;
}
.insight-metric > div > span {
  font-size: 13px;
}
.insight-metric > small {
  font-size: 12px;
}
.premium-section-title {
  margin: 26px 0 16px;
}
.premium-section-title > span {
  font-size: 12px;
}
.insight-rhythm-grid.single-trend {
  grid-template-columns: minmax(0, 1fr);
}
.insight-card {
  border-radius: 14px;
  box-shadow: none;
}
.insight-card p,
.pattern-card p,
.improvement-section p {
  font-size: 14px;
}
.chat-quota {
  margin: 0 16px 14px;
  padding: 12px;
  border-radius: 10px;
  background: var(--chat-header);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}
.chat-quota strong,
.chat-quota small {
  display: block;
}
.chat-quota small {
  font-size: 11px;
  color: var(--chat-muted);
}
.chat-quota a {
  font-weight: 600;
  color: var(--chat-accent);
  min-height: 44px;
  display: flex;
  align-items: center;
}
.chat-list-caption,
.workspace-links {
  display: none;
}
.chat-row {
  min-height: 80px;
}
.demo-entry,
.demo-mode-banner {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 20px;
  border: 1px solid var(--insight-border);
  border-radius: 12px;
  background: var(--insight-card);
  margin-bottom: 24px;
}
.demo-entry > svg {
  width: 24px;
  height: 24px;
  color: var(--chat-accent);
}
.demo-entry span {
  flex: 1;
}
.demo-entry strong,
.demo-entry small,
.demo-mode-banner small {
  display: block;
}
.demo-entry small,
.demo-mode-banner small {
  color: var(--insight-muted);
  margin-top: 4px;
}
.demo-entry b,
.demo-mode-banner a {
  font-size: 13px;
  color: var(--chat-accent);
  white-space: nowrap;
}
.demo-mode-banner {
  justify-content: space-between;
  background: var(--chat-header);
  font-size: 13px;
  padding: 12px 16px;
}
.demo-mode-banner a {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.member-access-note {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 15px 18px;
  margin-top: 22px;
  border: 1px solid color-mix(in srgb, var(--chat-accent) 28%, var(--insight-border));
  border-radius: 14px;
  background: color-mix(in srgb, var(--chat-accent) 7%, var(--insight-card));
}
.member-access-note > svg {
  width: 22px;
  height: 22px;
  color: var(--chat-accent);
  flex: 0 0 auto;
}
.member-access-note strong,
.member-access-note span {
  display: block;
}
.member-access-note span {
  margin-top: 3px;
  color: var(--insight-muted);
  font-size: 12px;
}
.dashboard-topics {
  display: grid;
  gap: 22px;
}
.dashboard-topics > header {
  display: flex;
  align-items: flex-start;
  gap: 15px;
}
.dashboard-topics > header h2 {
  margin: 5px 0 7px;
  font-size: clamp(24px, 3vw, 38px);
  letter-spacing: -0.035em;
}
.dashboard-topics > header p,
.dashboard-topics > aside span {
  color: var(--insight-muted);
  line-height: 1.7;
}
.topic-cloud {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.topic-cloud button {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 8px 10px;
  min-height: 112px;
  padding: 17px;
  border: 1px solid var(--insight-border);
  border-radius: 15px;
  background: var(--insight-card);
  color: var(--chat-ink);
  text-align: left;
  cursor: pointer;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.topic-cloud button:hover,
.topic-cloud button:focus-visible {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--chat-accent) 55%, var(--insight-border));
  box-shadow: 0 12px 28px rgb(20 58 48 / 8%);
}
.topic-cloud button > span,
.topic-cloud button > small {
  color: var(--insight-muted);
  font-size: 10px;
}
.topic-cloud button > strong {
  overflow: hidden;
  font-size: 16px;
  text-overflow: ellipsis;
}
.topic-cloud button > svg {
  width: 15px;
  color: var(--chat-accent);
}
.topic-cloud button > b {
  grid-column: 1 / -1;
  height: 3px;
  overflow: hidden;
  border-radius: 99px;
  background: var(--insight-border);
}
.topic-cloud button > b i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--chat-accent);
}
.dashboard-topics > aside {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 17px 19px;
  border-radius: 15px;
  background: var(--chat-header);
}
.dashboard-topics > aside strong,
.dashboard-topics > aside span {
  display: block;
}
.dashboard-topics > aside span {
  margin-top: 3px;
  font-size: 12px;
}
@media (max-width: 700px) {
  .topic-cloud { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-topics > aside { align-items: stretch; flex-direction: column; }
}
.dashboard-language {
  display: grid;
  gap: 22px;
}
.dashboard-language > header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  gap: 15px;
}
.dashboard-language > header h2 {
  margin: 5px 0 7px;
  font-size: clamp(24px, 3vw, 38px);
  letter-spacing: -0.035em;
}
.dashboard-language > header p,
.dashboard-language > footer,
.language-words > p {
  color: var(--insight-muted);
  line-height: 1.65;
}
.dashboard-language > header > strong {
  display: grid;
  min-width: 125px;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, #e46851 35%, var(--insight-border));
  border-radius: 15px;
  background: color-mix(in srgb, #e46851 7%, var(--insight-card));
  text-align: center;
}
.dashboard-language > header > strong b {
  font-size: 30px;
}
.dashboard-language > header > strong small {
  color: var(--insight-muted);
  font-size: 10px;
}
.dashboard-language > section {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, .9fr);
  gap: 14px;
}
.language-ranking,
.language-words {
  padding: 20px;
  border: 1px solid var(--insight-border);
  border-radius: 16px;
  background: var(--insight-card);
}
.language-ranking h3,
.language-words h3 {
  margin: 0 0 16px;
  font-size: 14px;
}
.language-ranking > div {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 6px 12px;
  overflow: hidden;
  padding: 11px 0;
}
.language-ranking > div + div {
  border-top: 1px solid var(--insight-border);
}
.language-ranking > div span {
  display: flex;
  align-items: center;
  gap: 9px;
}
.language-ranking > div span b {
  display: grid;
  width: 23px;
  height: 23px;
  place-items: center;
  border-radius: 50%;
  background: var(--chat-header);
  color: var(--chat-accent);
  font-size: 10px;
}
.language-ranking > div em {
  color: var(--insight-muted);
  font-size: 11px;
  font-style: normal;
}
.language-ranking > div > i {
  grid-column: 1 / -1;
  display: block;
  height: 3px;
  border-radius: 99px;
  background: #e46851;
}
.language-words > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.language-words button {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid var(--insight-border);
  border-radius: 12px;
  background: var(--chat-header);
  color: var(--chat-ink);
  cursor: pointer;
  transition: transform 160ms ease, border-color 160ms ease;
}
.language-words button:hover,
.language-words button:focus-visible {
  transform: translateY(-2px);
  border-color: #e46851;
}
.language-words button span {
  color: #c7523d;
  font-size: 11px;
  font-weight: 700;
}
.language-words button svg {
  width: 14px;
}
.dashboard-language > footer {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
}
.dashboard-language > footer svg {
  width: 15px;
  color: var(--chat-accent);
}
@media (max-width: 700px) {
  .dashboard-language > header { grid-template-columns: auto minmax(0, 1fr); }
  .dashboard-language > header > strong { grid-column: 1 / -1; }
  .dashboard-language > section { grid-template-columns: 1fr; }
}
.pricing-grid {
  gap: 16px;
  margin: 32px 0 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.pricing-card {
  min-width: 0;
  border-radius: 16px;
  padding: 26px 22px;
  box-shadow: none;
  display: flex;
  flex-direction: column;
}
.pricing-card h2 {
  font-size: 40px;
  font-weight: 600;
  margin-top: 12px;
}
.pricing-card h2 small {
  font-size: 12px;
  font-weight: 400;
  white-space: nowrap;
}
.pricing-card > p {
  font-size: 13px;
  min-height: 44px;
}
.pricing-card ul {
  flex: 1;
  margin: 20px 0 24px;
}
.pricing-card li {
  font-size: 13px;
  line-height: 1.6;
  gap: 8px;
  margin: 12px 0;
}
.pricing-card li:first-child {
  font-size: 17px;
  font-weight: 600;
  color: var(--chat-ink);
}
.pricing-card > small {
  font-size: 11px;
  line-height: 1.5;
}
.plan-recommendation {
  font-size: 10px;
  letter-spacing: 0.07em;
}
.plan-value {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  padding: 32px 0;
  margin-top: 16px;
  border-top: 1px solid var(--insight-border);
}
.plan-value h2 {
  font-size: 16px;
  margin: 12px 0 8px;
}
.plan-value p,
.pricing-faq p {
  font-size: 13px;
  color: var(--insight-muted);
}
.plan-value svg {
  color: var(--chat-accent);
}
.pricing-faq {
  border-top: 1px solid var(--insight-border);
  padding: 16px 0;
}
.pricing-faq summary {
  cursor: pointer;
  font-size: 14px;
  min-height: 32px;
}
.pricing-faq p {
  margin: 12px 0;
  max-width: 80ch;
}
.quota-paywall > svg {
  width: 40px;
  height: 40px;
  color: var(--green);
}
.quota-paywall > p {
  margin: 16px 0;
}
.quota-paywall > div {
  border: 1px solid var(--border);
  padding: 14px;
  border-radius: 10px;
  margin: 12px 0;
}
.quota-paywall strong,
.quota-paywall span {
  display: block;
}
.quota-paywall span {
  font-size: 13px;
  color: var(--muted);
  margin-top: 4px;
}
.upload-allowance,
.sample-notice {
  background: var(--green-light);
  padding: 16px;
  border-radius: 12px;
  margin: 18px 0;
  font-size: 13px;
}
.upload-allowance p {
  margin: 8px 0;
  font-size: 13px;
}
.upload-allowance a,
.sample-notice a {
  text-decoration: underline;
  display: inline-block;
  padding-top: 6px;
}
.insight-ai-bar {
  max-width: 520px;
}
.insight-ai-bar small b {
  display: none;
}
.button,
.icon-button {
  min-height: 44px;
}
@media (max-width: 1200px) {
  .insight-experience,
  .saas-page {
    padding: 24px 22px 130px;
  }
  .pricing-card {
    padding: 24px 16px;
  }
  .pricing-card h2 {
    font-size: 34px;
  }
  .pricing-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 701px) and (max-width: 1050px) {
  .pricing-grid {
    grid-template-columns: 1fr;
  }
  .pricing-card > p {
    min-height: 0;
  }
  .plan-value {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .demo-entry {
    flex-wrap: wrap;
  }
  .score-breakdown {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  .insight-experience,
  .saas-page {
    padding: 20px 16px 150px;
  }
  .chat-contact-copy strong {
    font-size: 15px;
  }
  .insight-heading h1,
  .saas-page-heading h1 {
    font-size: 28px;
  }
  .insight-heading {
    gap: 16px;
  }
  .insight-view-tabs {
    margin-inline: -16px;
    padding-inline: 16px;
  }
  .insight-view-tabs button {
    padding: 10px 12px;
  }
  .relationship-snapshot {
    padding: 18px;
  }
  .snapshot-heading {
    align-items: flex-start;
  }
  .snapshot-heading .text-link {
    font-size: 0;
  }
  .snapshot-heading .text-link svg {
    width: 20px;
    height: 20px;
  }
  .snapshot-summary-row > .score-ring-item {
    flex-basis: 80px;
  }
  .snapshot-rings.snapshot-summary-row {
    gap: 16px;
  }
  .snapshot-summary-copy strong {
    font-size: 14px;
  }
  .snapshot-summary-copy p,
  .snapshot-summary-copy small {
    font-size: 12px;
  }
  .score-breakdown {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }
  .biggest-insight {
    padding: 22px;
  }
  .discovery-art {
    display: none;
  }
  .insight-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .insight-metric {
    padding: 16px;
  }
  .premium-section-title {
    align-items: flex-start;
    gap: 10px;
  }
  .premium-section-title h2 {
    font-size: 17px;
  }
  .premium-section-title > span {
    display: none;
  }
  .disclosure-content {
    padding-inline: 12px;
  }
  .demo-entry,
  .demo-mode-banner {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 8px;
    padding: 16px;
  }
  .demo-entry > svg {
    display: none;
  }
  .demo-entry span {
    flex-basis: 100%;
  }
  .demo-entry b {
    min-height: 40px;
    display: flex;
    align-items: center;
  }
  .demo-mode-banner small {
    font-size: 11px;
  }
  .demo-mode-banner {
    padding: 10px 12px;
    margin-bottom: 18px;
  }
  .demo-mode-banner small {
    display: none;
  }
  .demo-mode-banner strong {
    font-size: 12px;
  }
  .demo-mode-banner a {
    font-size: 12px;
  }
  .demo-mode-banner a {
    min-height: 32px;
  }
  .pricing-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .pricing-card {
    padding: 26px;
  }
  .pricing-card > p {
    min-height: 0;
  }
  .pricing-card li {
    font-size: 14px;
  }
  .plan-value {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .insight-ai-bar {
    bottom: calc(16px + env(safe-area-inset-bottom));
    width: calc(100% - 32px);
  }
  input,
  select,
  textarea,
  .chat-app input,
  .chat-app select {
    font-size: 16px;
  }
  .chat-quota small {
    font-size: 12px;
  }
  .saas-bottom-nav {
    padding-bottom: env(safe-area-inset-bottom);
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* Share cards remain available on every plan. */
.share-template-options{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.share-template-options [aria-pressed="true"]{background:#13584a;color:#fff}.share-link-note{font-size:13px;color:#617a71;line-height:1.6}.share-public-url{width:100%;min-width:0;padding:10px;border:1px solid #d7e3dd;border-radius:8px;font-size:12px}.share-export-dialog>footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.share-export-dialog>footer .button{min-height:42px;margin:0;font-size:12px;padding:10px;white-space:normal}.rp-heading-actions{display:flex;align-items:flex-end;flex-direction:column;gap:12px}.rp-takeaways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 30px}.rp-takeaways button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;padding:18px;border:1px solid #dce8e1;border-radius:16px;background:#f5f8f3;color:#173e34;cursor:pointer}.rp-takeaways strong{font-size:30px;line-height:1.2}.rp-takeaways span,.rp-takeaways small{font-size:12px;line-height:1.5}.rp-takeaways svg{width:14px;height:14px}@media(max-width:600px){.rp-heading-actions{align-items:flex-start}.rp-takeaways{gap:6px}.rp-takeaways button{padding:10px}.rp-takeaways strong{font-size:24px}.rp-takeaways small{font-size:10px}}

.product-journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:36px 0 20px}.product-journey-grid article{padding:28px;border:1px solid #deded2;border-radius:20px;background:#f5f6ed}.product-journey-grid article:nth-child(2){background:#f9eee4}.product-journey-grid article:nth-child(3){background:#eaf2ed}.product-journey-grid span{font-size:11px;letter-spacing:.12em}.product-journey-grid h3{font-size:25px;margin:22px 0 12px}.product-journey-grid p{font-size:15px;line-height:1.75}.product-journey-grid a{display:inline-block;margin-top:16px;font-weight:600;color:#13584a}.comparison-pickers{display:grid;grid-template-columns:1fr 1fr;gap:12px}#history-compare-form label{display:grid;gap:6px;margin-bottom:14px}#history-compare-form select{max-width:100%;min-width:0;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:inherit}.comparison-table{overflow:auto}.comparison-table table{width:100%;border-collapse:collapse;font-size:13px}.comparison-table th,.comparison-table td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--border);white-space:nowrap}.comparison-note{padding:12px;background:#faf2dc;color:#66502c;border-radius:8px}.history-controls{flex-wrap:wrap;gap:10px}@media(max-width:700px){.product-journey-grid{grid-template-columns:1fr}.comparison-pickers{grid-template-columns:1fr}.product-journey-grid article{padding:22px}}
