/* ═══ CARDS ═══ */
.cyt-card {
  --src-color: var(--cyt-clay);
  --src-tint: rgba(119,97,77,0.10);
  position: relative;
  margin-bottom: 0.95rem;
  background: linear-gradient(180deg, var(--cyt-paper-strong), var(--cyt-paper));
  border: 1px solid rgba(36,29,23,0.16);
  border-radius: 18px;
  box-shadow: var(--shadow-md);
  cursor: pointer;
  overflow: hidden;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);
}

.cyt-card::after {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 5px;
  background: var(--src-color);
}

.cyt-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,0.16) 50%, transparent 70%);
  transform: translateX(-150%);
  pointer-events: none;
  z-index: 2;
  transition: transform 0.55s ease;
}

.cyt-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-lg);
  border-color: rgba(36,29,23,0.28);
}

.cyt-card:hover::before { transform: translateX(150%); }
.cyt-card:active { transform: translateY(-1px) scale(0.997); }

.cyt-card.src-personal {
  --src-color: var(--src-personal);
  --src-tint: rgba(45,107,81,0.11);
  background: linear-gradient(180deg, var(--cyt-paper-strong), #edf4ef);
}
.cyt-card.src-bible      { --src-color: var(--src-bible);      --src-tint: rgba(148,97,31,0.11); }
.cyt-card.src-shower {
  --src-color: var(--src-shower);
  --src-tint: rgba(63,102,139,0.11);
  background: linear-gradient(180deg, var(--cyt-paper-strong), #eaf0f5);
}
.cyt-card.src-mr_rogers {
  --src-color: var(--src-mr_rogers);
  --src-tint: rgba(168,77,56,0.11);
  background: linear-gradient(180deg, var(--cyt-paper-strong), #f6e8e2);
}
.cyt-card.src-other      { --src-color: var(--src-other);      --src-tint: rgba(119,97,77,0.11); }
.cyt-card.src-gita       { --src-color: var(--src-gita);       --src-tint: rgba(153,80,47,0.11); }
.cyt-card.src-quotes     { --src-color: var(--src-quotes);     --src-tint: rgba(88,106,121,0.11); }
.cyt-card.src-tao        { --src-color: var(--src-tao);        --src-tint: rgba(47,113,99,0.11); }
.cyt-card.src-dhammapada { --src-color: var(--src-dhammapada); --src-tint: rgba(133,91,38,0.11); }

.cyt-card.src-bible,
.cyt-card.src-gita,
.cyt-card.src-tao,
.cyt-card.src-dhammapada {
  background:
    linear-gradient(180deg, var(--cyt-paper-strong), #f5ead7);
}

.cyt-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.72rem 0.9rem 0.58rem;
  border-bottom: 1px solid rgba(36,29,23,0.10);
  background: var(--src-tint);
  position: relative;
  z-index: 1;
}


.cyt-card-body {
  padding: 0.72rem 0.9rem 0.84rem;
  position: relative;
  z-index: 1;
}

.cyt-card-text {
  font-family: var(--font-display);
  font-size: 1.08rem;
  line-height: 1.56;
  color: #201a15;
  letter-spacing: -0.01em;
}


.cyt-expand-btn {
  background: none;
  border: none;
  color: var(--src-color);
  font-family: var(--font-mono);
  font-size: 0.64rem;
  font-weight: 700;
  cursor: pointer;
  padding: 0;
  margin-left: 0.25rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.cyt-expand-btn:hover { text-decoration: underline; }


.cyt-card-meta {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
  row-gap: 0.4rem;
}


.cyt-idea-card .cyt-card-header {
  gap: 0.55rem;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}

.cyt-type-stamp,
.cyt-collection-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.26rem 0.62rem;
  border-radius: 999px;
  font-family: var(--font-mono);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 1px solid transparent;
}

.cyt-type-stamp.own_thought {
  background: rgba(45,107,81,0.13);
  color: var(--cyt-emerald);
  border-color: rgba(11,122,94,0.22);
}

.cyt-type-stamp.collected_quote {
  background: rgba(63,102,139,0.12);
  color: var(--cyt-sapphire);
  border-color: rgba(37,99,235,0.22);
}

.cyt-type-stamp.imported_corpus {
  background: rgba(148,97,31,0.12);
  color: #704716;
  border-color: rgba(148,97,31,0.24);
}

.cyt-collection-badge {
  background: rgba(255,255,255,0.56);
  color: var(--src-color);
  border-color: rgba(0,0,0,0.08);
}

.cyt-collection-badge.personal { border-color: rgba(11,122,94,0.22); }
.cyt-collection-badge.bible,
.cyt-collection-badge.gita,
.cyt-collection-badge.tao,
.cyt-collection-badge.dhammapada { border-color: rgba(212,146,11,0.18); }
.cyt-collection-badge.shower { border-color: rgba(37,99,235,0.18); }
.cyt-collection-badge.mr_rogers { border-color: rgba(217,72,48,0.18); }
.cyt-collection-badge.quotes { border-color: rgba(71,85,105,0.18); }

.cyt-card-attribution-line,
.cyt-card-reference-line,
.cyt-card-context-line {
  margin-top: 0.5rem;
  display: flex;
  gap: 0.42rem;
  align-items: flex-start;
  font-size: 0.83rem;
  line-height: 1.5;
  color: var(--cyt-ink-soft);
  padding: 0.48rem 0.58rem;
  border: 1px solid rgba(36,29,23,0.09);
  border-radius: 10px;
  background: rgba(255,255,255,0.46);
}

.cyt-card-context-line {
  color: var(--cyt-ink-soft);
  padding-top: 0.55rem;
  border-top: 1px solid rgba(0,0,0,0.06);
  font-style: italic;
}

.cyt-line-label {
  flex: 0 0 auto;
  min-width: 4.75rem;
  font-family: var(--font-mono);
  font-size: 0.60rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cyt-meta-soft);
  padding-top: 0.1rem;
}

.cyt-card-reference-line {
  color: var(--cyt-ink-soft);
}

.cyt-card.is-imported .cyt-card-reference-line {
  color: var(--src-color);
  font-weight: 600;
}

.cyt-card.variant-detail .cyt-card-body {
  padding-bottom: 0.95rem;
}

.cyt-card.type-collected_quote .cyt-card-text {
  font-style: italic;
  color: var(--cyt-ink);
}

.cyt-card.type-collected_quote .cyt-card-text::before {
  content: '“';
  color: rgba(37,99,235,0.32);
  font-size: 1.15em;
  margin-right: 0.08rem;
}

.cyt-card.type-collected_quote .cyt-card-text::after {
  content: '”';
  color: rgba(37,99,235,0.32);
  font-size: 1.15em;
  margin-left: 0.08rem;
}

.cyt-card.type-imported_corpus .cyt-card-body {
  background: linear-gradient(180deg, rgba(255,255,255,0.14), rgba(255,255,255,0.02));
}

.cyt-card-meta-row,
.cyt-card-action-row {
  display: flex;
  align-items: center;
  gap: 0.48rem;
  flex-wrap: wrap;
  padding: 0.62rem 0.9rem;
  position: relative;
  z-index: 1;
}

.cyt-card-meta-row {
  border-top: 1px solid rgba(36,29,23,0.09);
  background: rgba(255,255,255,0.34);
}

.cyt-card-action-row {
  justify-content: space-between;
  border-top: 1px solid rgba(36,29,23,0.08);
  background: var(--src-tint);
}

.cyt-card-record,
.cyt-card-meta-ghost,
.cyt-card-stat {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.cyt-card-record {
  color: var(--src-color);
  font-weight: 700;
}

.cyt-card-meta-ghost {
  color: var(--cyt-meta-soft);
}

.cyt-card-stats,
.cyt-card-actions {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
}

.cyt-card-stat {
  color: var(--cyt-meta);
}

.cyt-card-stat.is-strong {
  color: var(--src-color);
  font-weight: 700;
}

.cyt-card-stat.is-score {
  color: var(--cyt-ink-soft);
  font-weight: 700;
}

.cyt-card-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  padding: 0.4rem 0.82rem;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.10);
  background: rgba(255,255,255,0.78);
  color: var(--cyt-ink-soft);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.cyt-card-action-btn:hover {
  color: var(--src-color);
  border-color: var(--src-color);
  transform: translateY(-1px);
}

.cyt-card-action-btn.is-quiet {
  background: rgba(255,255,255,0.52);
}

.cyt-card.variant-detail {
  cursor: default;
}

.cyt-card.variant-detail:hover {
  transform: none;
  box-shadow: var(--shadow-md);
  border-color: rgba(29,23,17,0.14);
}

.cyt-card.variant-daily {
  margin-bottom: 0;
}

.cyt-card.variant-daily .cyt-card-text {
  font-size: 1.14rem;
}

.cyt-card.variant-reflection,
.cyt-card.variant-connection {
  margin-bottom: 0.55rem;
}

.cyt-refl-sources-grid {
  display: grid;
  gap: 0.55rem;
  margin-top: 0.5rem;
}

.cyt-daily .cyt-card {
  box-shadow: none;
}

/* ═══ BADGES ═══ */
.cyt-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.22rem 0.56rem;
  border-radius: 8px;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: 1px solid;
  color: var(--cyt-ink-soft);
}

.cyt-badge.personal { background: rgba(11,122,94,0.10); color: var(--cyt-emerald); border-color: rgba(11,122,94,0.22); }
.cyt-badge.bible    { background: rgba(212,146,11,0.10); color: #885f08; border-color: rgba(212,146,11,0.22); }
.cyt-badge.shower   { background: rgba(37,99,235,0.10); color: var(--cyt-sapphire); border-color: rgba(37,99,235,0.22); }
.cyt-badge.mr_rogers{ background: rgba(217,72,48,0.10); color: var(--cyt-vermillion); border-color: rgba(217,72,48,0.22); }
.cyt-badge.other    { background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.10); }
.cyt-badge.gita     { background: rgba(158,77,10,0.10); color: var(--cyt-sienna); border-color: rgba(158,77,10,0.22); }
.cyt-badge.quotes   { background: rgba(71,85,105,0.10); color: var(--cyt-slate); border-color: rgba(71,85,105,0.22); }
.cyt-badge.tao      { background: rgba(13,148,136,0.10); color: var(--cyt-jade); border-color: rgba(13,148,136,0.22); }
.cyt-badge.dhammapada { background: rgba(159,107,10,0.10); color: #7a5208; border-color: rgba(159,107,10,0.22); }

.cyt-cat-link {
  --cat-hue: 220;
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  padding: 0.38rem 0.72rem;
  border: 1px solid hsl(var(--cat-hue) 42% 54% / 0.52);
  border-radius: 999px;
  background: linear-gradient(135deg,
    hsl(var(--cat-hue) 72% 93%),
    hsl(calc(var(--cat-hue) + 18) 66% 86%));
  box-shadow: 0 2px 7px hsl(var(--cat-hue) 40% 35% / 0.13);
  color: hsl(var(--cat-hue) 42% 25%);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 750;
  line-height: 1;
  letter-spacing: 0.045em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);
}

.cyt-cat-link::before {
  content: '';
  width: 0.48rem;
  height: 0.48rem;
  flex: 0 0 auto;
  border-radius: 50%;
  background: hsl(var(--cat-hue) 58% 43%);
  box-shadow: 0 0 0 3px hsl(var(--cat-hue) 70% 98% / 0.72);
}

.cyt-cat-link:hover,
.cyt-cat-link:focus-visible {
  border-color: hsl(var(--cat-hue) 55% 40% / 0.8);
  box-shadow: 0 5px 13px hsl(var(--cat-hue) 42% 30% / 0.18);
  transform: translateY(-1px);
  outline: none;
}

.cyt-tag {
  display: inline-flex;
  align-items: center;
  padding: 0.18rem 0.48rem;
  border-radius: 999px;
  font-family: var(--font-mono);
  font-size: 0.70rem;
  color: var(--cyt-meta);
  background: rgba(255,255,255,0.45);
  border: 1px solid rgba(0,0,0,0.08);
}
