/* ==========================================================================
   compatibility.css — خاص بصفحة التوافق بين شخصين والدعوات
   ========================================================================== */

[hidden] { display: none !important; }

[data-group="analysts"]  { --group-color: var(--lav); }
[data-group="diplomats"] { --group-color: var(--green); }
[data-group="sentinels"] { --group-color: var(--blue); }
[data-group="explorers"] { --group-color: var(--pink); }

.comp-alert { margin-block-end: var(--gap); }

/* ---------- لافتة الدعوة الواردة ---------- */
.invite-banner {
  margin-block-end: var(--gap);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.invite-banner__info { display: grid; gap: 8px; max-width: 62ch; }
.invite-banner__info .chip { width: fit-content; background: rgba(17, 17, 17, 0.14); }
.invite-banner__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.invite-test-btn { border-color: rgba(17, 17, 17, 0.25); }

/* ---------- هيرو الاختيار والدعوة ---------- */
.comp-hero {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--gap);
  align-items: stretch;
}

.comp-picker-card {
  grid-column: span 8;
  padding: clamp(22px, 3vw, 38px);
  display: grid;
  gap: 22px;
}

.invite-card {
  --d: 100ms;
  grid-column: span 4;
  padding: clamp(22px, 3vw, 34px);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.invite-card .chip { width: fit-content; }
.invite-card__title { font-size: 1.4rem; line-height: 1.3; }
.invite-card__actions { margin-block-start: auto; display: grid; gap: 10px; }

.invite-ghost {
  border-color: rgba(255, 255, 255, 0.22);
  color: var(--on-dark);
}
.invite-ghost:hover { border-color: var(--pink); color: var(--pink); }

.invite-result {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 6px;
  border-radius: var(--r-pill);
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
}

.invite-link-input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  padding: 8px 12px;
  font-size: 0.82rem;
  color: var(--on-dark);
  outline: none;
}

.invite-copy-btn { padding: 9px 18px; font-size: 0.82rem; }

/* ---------- الرأس وتبويبات السياق ---------- */
.comp-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
}

.comp-head .chip { width: fit-content; margin-block-end: 10px; }

.comp-head__title {
  font-size: clamp(1.65rem, 3.4vw, 2.45rem);
  line-height: 1.2;
}

.comp-head__title mark {
  background: var(--pink);
  color: var(--on-color);
  padding: 0 0.25em;
  border-radius: 0.3em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.context-pills {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 5px;
  border-radius: var(--r-pill);
  background: var(--dark);
}

.ctx-pill {
  padding: 8px 14px;
  border-radius: var(--r-pill);
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--on-dark-muted);
  transition: background var(--t-fast), color var(--t-fast), scale var(--dur-slow) var(--spring-bouncy);
}
.ctx-pill:hover { color: var(--on-dark); }
.ctx-pill:active { scale: 0.94; }
.ctx-pill.is-active { background: var(--pink); color: var(--on-color); }

/* ---------- المنتقيان التفاعليان ---------- */
.pickers-row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 14px;
  align-items: center;
}

.picker-box {
  background: var(--card-2);
  border-radius: var(--r-card);
  padding: 18px;
  display: grid;
  gap: 14px;
  min-width: 0;
}

.picker-box__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.picker-box__label { font-size: 0.84rem; font-weight: 700; color: var(--muted); }
.picker-box__hint { font-size: 0.74rem; color: var(--muted); }
.mini-link { font-size: 0.8rem; font-weight: 700; color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }

.picker-letters {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.p-letter {
  aspect-ratio: 1;
  border-radius: var(--r-md);
  font-family: var(--font-latin);
  font-size: clamp(1.3rem, 2.5vw, 1.75rem);
  font-weight: 800;
  color: var(--on-color);
  display: grid;
  place-items: center;
  transition: transform 340ms var(--spring-bouncy), filter var(--t-fast);
}
.p-letter:nth-child(1) { background: var(--pink); }
.p-letter:nth-child(2) { background: var(--blue); }
.p-letter:nth-child(3) { background: var(--lav); }
.p-letter:nth-child(4) { background: var(--green); }
.p-letter:hover { transform: translateY(-3px); filter: brightness(0.97); }
.p-letter:active { transform: scale(0.9); }

.picker-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}
.picker-meta b { font-size: 1.05rem; }

.group-pill {
  padding: 4px 12px;
  border-radius: var(--r-pill);
  background: var(--group-color, var(--pink));
  color: var(--on-color);
  font-size: 0.76rem;
  font-weight: 700;
}

.select-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.comp-select {
  width: 100%;
  min-height: 44px;
  padding: 8px 14px;
  padding-inline-end: 36px;
  border-radius: var(--r-pill);
  border: 1.5px solid var(--line);
  background: var(--card);
  font: inherit;
  color: inherit;
  font-size: 0.88rem;
  font-weight: 700;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

.select-chevron {
  position: absolute;
  inset-inline-end: 12px;
  width: 16px;
  height: 16px;
  color: var(--muted);
  pointer-events: none;
}

.swap-btn {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--dark);
  color: var(--on-dark);
  transition: transform 420ms var(--spring-bouncy), background var(--t-fast);
}
.swap-btn:hover { background: var(--pink); color: var(--on-color); transform: rotate(180deg); }
.swap-btn:active { scale: 0.9; }

/* ---------- بطاقة النتيجة والمؤشر ---------- */
.comp-output { margin-block-start: var(--gap); }

.comp-summary-grid {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: var(--gap);
  align-items: stretch;
}

.comp-score-card {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: clamp(24px, 3vw, 36px);
}

.comp-ring { position: relative; width: 132px; aspect-ratio: 1; flex: none; }
.comp-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.comp-ring circle { fill: none; stroke-width: 9; stroke-linecap: round; }
.comp-ring__track { stroke: rgba(255, 255, 255, 0.12); }
.comp-ring__fill {
  stroke: var(--pink);
  stroke-dasharray: var(--v, 0) 100;
  transition: stroke-dasharray 1s var(--ease-ios);
}
.comp-ring__label { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.comp-ring__label b { font-size: 1.6rem; line-height: 1.1; }
.comp-ring__label small { font-size: 0.74rem; color: var(--on-dark-muted); }

.comp-score-info { display: grid; gap: 10px; }
.comp-dynamic-chip { width: fit-content; background: var(--pink) !important; color: var(--on-color); }
.comp-score-title { font-size: clamp(1.35rem, 2.5vw, 1.85rem); }

.comp-axes-card { display: grid; gap: 14px; align-content: center; }
.sub-metrics { display: grid; gap: 14px; }
.sub-metric { display: grid; gap: 6px; }
.sub-metric__top { display: flex; justify-content: space-between; align-items: center; font-size: 0.88rem; font-weight: 700; }
.sub-metric__track { height: 10px; border-radius: var(--r-pill); background: var(--track); overflow: hidden; }
.sub-metric__fill {
  height: 100%;
  width: var(--w, 0%);
  border-radius: inherit;
  background: var(--m-c, var(--pink));
  transition: width 900ms var(--spring-smooth);
}

/* ---------- مقارنة الوظائف المعرفية ---------- */
.stack-compare-card {
  display: grid;
  gap: 18px;
}

.stack-vs-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--gap);
}

.stack-col {
  background: var(--card-2);
  padding: 18px;
  border-radius: var(--r-md);
  display: grid;
  gap: 12px;
}

.stack-col__head { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.stack-col__list { display: grid; gap: 8px; }

.fn-pill-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 12px;
  border-radius: var(--r-sm);
  background: var(--card);
  font-size: 0.86rem;
}

.fn-pill-row.is-shared { box-shadow: inset 3px 0 0 var(--green); }
[dir="rtl"] .fn-pill-row.is-shared { box-shadow: inset -3px 0 0 var(--green); }
.fn-pill-row b { font-family: var(--font-latin); font-size: 0.98rem; }

.stack-insight {
  padding: 16px 18px;
  border-radius: var(--r-md);
  background: color-mix(in srgb, var(--lav) 22%, var(--card-2));
  display: grid;
  gap: 6px;
}

/* ---------- التناغم والاحتكاك والنصائح ---------- */
.dual-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--gap);
}

.dual-title { font-size: 1.25rem; margin-block-end: 14px; }

.comp-list { display: grid; gap: 12px; }
.comp-list li {
  display: grid;
  gap: 3px;
  padding: 14px 16px;
  border-radius: var(--r-md);
  background: rgba(255, 255, 255, 0.44);
}
.comp-list b { font-size: 0.96rem; }
.comp-list span { font-size: 0.86rem; color: rgba(17, 17, 17, 0.78); line-height: 1.55; }

.advice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--gap);
}
.advice-title { margin-block-start: 10px; }

.real-dims-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--gap);
}

/* ---------- الاستجابة ---------- */
@media (max-width: 1060px) {
  .comp-picker-card,
  .invite-card { grid-column: 1 / -1; }
  .comp-summary-grid,
  .advice-grid { grid-template-columns: 1fr; }
}

@media (max-width: 740px) {
  .pickers-row { grid-template-columns: 1fr; }
  .swap-btn { justify-self: center; transform: rotate(90deg); }
  .swap-btn:hover { transform: rotate(270deg); }
  .stack-vs-grid,
  .dual-grid,
  .real-dims-grid { grid-template-columns: 1fr; }
  .comp-score-card { flex-direction: column; align-items: flex-start; }
}