/*
 * TPC Curiosity Stream Discovery Bridge v0.1.2
 * Embedded Stream shelf: exact-theme notes, quiet social-card identity.
 */

.tpc-csdb {
  --tpc-csdb-accent: #6d88a8;
  --tpc-csdb-ink: #405969;
  --tpc-csdb-soft: #f3f6f8;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin: 1.55rem 0 1.75rem;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #263746;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.tpc-csdb,
.tpc-csdb * {
  box-sizing: border-box;
}

.tpc-csdb__shelf-head {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 0.68rem;
  align-items: center;
  margin: 0 0 0.78rem;
  padding: 0 0 0.72rem;
  border-bottom: 1px solid rgba(52, 65, 75, 0.11);
}

.tpc-csdb__infinity {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(83, 103, 119, 0.22);
  border-color: color-mix(in srgb, var(--tpc-csdb-accent) 34%, #cfd7dd);
  border-radius: 999px;
  background: linear-gradient(145deg, #ffffff 0%, var(--tpc-csdb-soft) 100%);
  box-shadow: 0 1px 3px rgba(31, 43, 52, 0.06);
  color: var(--tpc-csdb-ink);
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 1.18rem !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.tpc-csdb__shelf-title {
  min-width: 0;
}

.tpc-csdb__heading {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  font-family: inherit !important;
  font-size: 1.0625rem !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 1.28 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #293946 !important;
}

.tpc-csdb__summary {
  margin: 0.12rem 0 0 !important;
  padding: 0 !important;
  font-family: inherit !important;
  font-size: 0.72rem !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.012em !important;
  text-transform: none !important;
  color: #6a747c !important;
}

.tpc-csdb__stream {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
}

.tpc-csdb__stream-item {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: stretch;
  margin: 0;
  padding: 0 0 0.72rem;
}

.tpc-csdb__stream-item.is-last {
  padding-bottom: 0;
}

.tpc-csdb__rail {
  position: relative;
  display: flex;
  justify-content: flex-start;
  padding-top: 0.74rem;
}

.tpc-csdb__stream-item:not(.is-last) .tpc-csdb__rail::after {
  content: "";
  position: absolute;
  top: 2.58rem;
  bottom: -0.72rem;
  left: 15px;
  width: 1px;
  background: linear-gradient(to bottom, rgba(101, 119, 132, 0.3), rgba(88, 102, 113, 0.08));
  background: linear-gradient(to bottom, color-mix(in srgb, var(--tpc-csdb-accent) 48%, #d7dee3), rgba(88, 102, 113, 0.08));
}

.tpc-csdb__node {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 31px;
  height: 31px;
  border: 1px solid rgba(83, 103, 119, 0.22);
  border-color: color-mix(in srgb, var(--tpc-csdb-accent) 38%, #d6dde2);
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 1px 4px rgba(31, 43, 52, 0.07);
  font-family: "Apple Color Emoji", "Segoe UI Emoji", sans-serif !important;
  font-size: 0.9rem !important;
  line-height: 1 !important;
}

.tpc-csdb__note {
  --tpc-csdb-card-accent: var(--tpc-csdb-accent);
  --tpc-csdb-card-ink: var(--tpc-csdb-ink);
  --tpc-csdb-card-soft: var(--tpc-csdb-soft);
  position: relative;
  min-width: 0;
  margin: 0 !important;
  padding: 0.82rem 0.9rem 0.78rem;
  overflow: hidden;
  border: 1px solid rgba(56, 67, 76, 0.13);
  border-top: 2px solid var(--tpc-csdb-card-accent);
  border-radius: 12px;
  background: linear-gradient(135deg, var(--tpc-csdb-card-soft) 0%, #fff 40%, #fff 100%);
  box-shadow: 0 1px 2px rgba(20, 24, 28, 0.03), 0 7px 20px rgba(20, 24, 28, 0.035);
  transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

.tpc-csdb__note:hover {
  border-color: rgba(83, 103, 119, 0.25);
  border-color: color-mix(in srgb, var(--tpc-csdb-card-accent) 38%, #d1d8dd);
  box-shadow: 0 2px 4px rgba(20, 24, 28, 0.035), 0 9px 24px rgba(20, 24, 28, 0.045);
  transform: translateY(-1px);
}

.tpc-csdb__note-head {
  display: grid;
  grid-template-columns: 31px minmax(0, 1fr);
  gap: 0.55rem;
  align-items: center;
  margin: 0 0 0.48rem !important;
  padding: 0 !important;
  border: 0 !important;
}

.tpc-csdb__brand-mark {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 31px;
  height: 31px;
  overflow: hidden;
  border: 1px solid rgba(67, 74, 80, 0.12);
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(22, 27, 31, 0.055);
  color: var(--tpc-csdb-card-ink);
}

.tpc-csdb__brand-fallback {
  position: relative;
  z-index: 1;
  font-size: 0.7rem !important;
  line-height: 1 !important;
}

.tpc-csdb__brand-mark img {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  padding: 1px;
  border-radius: inherit;
  background: #fff;
  object-fit: contain;
}

.tpc-csdb__identity {
  display: block;
  min-width: 0;
}

.tpc-csdb__brand-name {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  font-family: inherit !important;
  font-size: 0.78rem !important;
  font-style: normal !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #2d3942 !important;
}

.tpc-csdb__meta {
  display: block;
  margin: 0.06rem 0 0 !important;
  padding: 0 !important;
  font-family: inherit !important;
  font-size: 0.66rem !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.32 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #717a81 !important;
}

.tpc-csdb__text {
  margin: 0 !important;
  padding: 0 !important;
  font-family: inherit !important;
  font-size: 0.9375rem !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.56 !important;
  letter-spacing: 0.001em !important;
  text-transform: none !important;
  color: #26333d !important;
  overflow-wrap: anywhere;
}

.tpc-csdb__media {
  margin: 0.62rem 0 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid rgba(58, 65, 72, 0.09);
  border-radius: 9px;
  background: #fafbfb;
}

.tpc-csdb__image {
  display: block;
  width: 100%;
  height: auto;
  max-height: 420px;
  object-fit: contain;
}

.tpc-csdb__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.28rem;
  margin: 0.54rem 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.tpc-csdb__pills a {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  margin: 0 !important;
  padding: 0.19rem 0.44rem !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.78) !important;
  box-shadow: inset 0 0 0 1px rgba(65, 78, 88, 0.07);
  font-family: inherit !important;
  font-size: 0.65rem !important;
  font-style: normal !important;
  font-weight: 550 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #65727a !important;
  text-decoration: none !important;
}

.tpc-csdb__pills a:hover,
.tpc-csdb__pills a:focus-visible {
  border-color: var(--tpc-csdb-card-accent) !important;
  background: #fff !important;
  color: var(--tpc-csdb-card-ink) !important;
  outline: 0;
}

.tpc-csdb__pills a:focus-visible,
.tpc-csdb__cta:focus-visible {
  outline: 3px solid #4a90e2 !important;
  outline-offset: 3px !important;
}

.tpc-csdb__shelf-foot {
  margin: 0.78rem 0 0 !important;
  padding: 0 0 0 42px !important;
  border: 0 !important;
}

.tpc-csdb__cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  min-height: 39px;
  margin: 0 !important;
  padding: 0.56rem 0.72rem !important;
  border: 1px solid rgba(56, 67, 76, 0.12) !important;
  border-radius: 10px !important;
  background: linear-gradient(90deg, var(--tpc-csdb-soft) 0%, rgba(255, 255, 255, 0.94) 72%) !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: 0.78rem !important;
  font-style: normal !important;
  font-weight: 650 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--tpc-csdb-ink) !important;
  text-decoration: none !important;
  transition: border-color 150ms ease, background-color 150ms ease, transform 150ms ease;
}

.tpc-csdb__cta:hover,
.tpc-csdb__cta:focus-visible {
  border-color: rgba(83, 103, 119, 0.28) !important;
  border-color: color-mix(in srgb, var(--tpc-csdb-accent) 55%, #ccd4da) !important;
  background: #fff !important;
  transform: translateY(-1px);
}

.tpc-csdb__cta-mark {
  flex: 0 0 auto;
  font-size: 1rem !important;
  line-height: 1 !important;
}

.tpc-csdb + .tpc-aiv,
.tpc-csdb + .tpc-ai-discovery {
  margin-top: 1.45rem;
}

@media (max-width: 600px) {
  .tpc-csdb {
    margin: 1.3rem 0 1.55rem;
  }

  .tpc-csdb__shelf-head {
    grid-template-columns: 33px minmax(0, 1fr);
    gap: 0.58rem;
  }

  .tpc-csdb__infinity {
    width: 31px;
    height: 31px;
  }

  .tpc-csdb__stream-item {
    grid-template-columns: 34px minmax(0, 1fr);
  }

  .tpc-csdb__stream-item:not(.is-last) .tpc-csdb__rail::after {
    left: 13px;
  }

  .tpc-csdb__node {
    width: 27px;
    height: 27px;
    font-size: 0.78rem !important;
  }

  .tpc-csdb__note {
    padding: 0.75rem 0.78rem 0.72rem;
    border-radius: 11px;
  }

  .tpc-csdb__text {
    font-size: 0.925rem !important;
    line-height: 1.55 !important;
  }

  .tpc-csdb__shelf-foot {
    padding-left: 34px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tpc-csdb *,
  .tpc-csdb *::before,
  .tpc-csdb *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}
