/* FMG style control plane: global design tokens + reusable glass primitives */
:root {
  --fmg-color-ink-900: #141633;
  --fmg-color-ink-700: #374151;
  --fmg-color-accent: #7334f0;
  --fmg-color-line: #e5e7eb;
  --fmg-color-surface: #ffffff;
  --fmg-color-surface-soft: color-mix(in srgb, #141633, #ffffff 96%);

  --fmg-radius-sm: 12px;
  --fmg-radius-md: 18px;
  --fmg-radius-lg: 24px;
  --fmg-pill-radius: 999px;

  --fmg-shadow-glass: 0 18px 45px rgba(0, 0, 0, 0.06);
  --fmg-shadow-soft: 0 10px 25px rgba(0, 0, 0, 0.04);
  --fmg-border-subtle: 1px solid rgba(20, 22, 51, 0.14);
  --fmg-rail-top-thickness: 5px;
}

.fmg-cp-surface {
  background:
    radial-gradient(
      140% 92% at 6% -10%,
      rgba(255, 255, 255, 0.66) 0%,
      rgba(255, 255, 255, 0) 60%
    ),
    linear-gradient(
      158deg,
      rgba(255, 255, 255, 0.94) 0%,
      rgba(246, 250, 255, 0.88) 52%,
      rgba(237, 244, 255, 0.8) 100%
    );
  border: 1px solid var(--fmg-color-line);
  border-radius: var(--fmg-radius-lg);
  box-shadow:
    var(--fmg-shadow-glass),
    inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.fmg-cp-top-rail-glass {
  position: relative;
  overflow: hidden;
}

.fmg-cp-top-rail-glass::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: var(--fmg-rail-top-thickness);
  background:
    linear-gradient(
      90deg,
      color-mix(in srgb, var(--fmg-color-accent), white 48%) 0%,
      var(--fmg-color-accent) 46%,
      color-mix(in srgb, var(--fmg-color-ink-900), var(--fmg-color-accent) 44%) 100%
    ) left 0 top 0 / 100% calc(var(--fmg-rail-top-thickness) - 1px) no-repeat,
    linear-gradient(
      90deg,
      rgba(255, 255, 255, 0.72) 0%,
      rgba(255, 255, 255, 0.12) 100%
    ) left 0 bottom 0 / 100% 1px no-repeat;
  pointer-events: none;
}

.fmg-cp-top-rail-glass::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 14px;
  background: radial-gradient(
    96% 130% at 50% 0%,
    color-mix(in srgb, var(--fmg-color-accent), transparent 90%) 0%,
    color-mix(in srgb, var(--fmg-color-accent), transparent 100%) 78%
  );
  pointer-events: none;
}

.fmg-cp-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: var(--fmg-pill-radius);
  background: color-mix(in srgb, var(--fmg-color-accent), transparent 94%);
  border: 1px solid color-mix(in srgb, var(--fmg-color-accent), transparent 82%);
  color: var(--fmg-color-ink-900);
}

.fmg-cp-faq-details {
  border: 1px solid var(--fmg-color-line);
  border-radius: var(--fmg-radius-md);
  background: linear-gradient(
    180deg,
    var(--fmg-color-surface) 0%,
    color-mix(in srgb, var(--fmg-color-ink-900), transparent 98%) 100%
  );
  box-shadow:
    0 8px 20px rgba(17, 24, 39, 0.03),
    inset 0 1px 0 rgba(255, 255, 255, 0.6);
  overflow: hidden;
}

.fmg-cp-faq-summary {
  list-style: none;
  cursor: pointer;
  padding: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-weight: 900;
  color: var(--fmg-color-ink-900);
}

.fmg-cp-faq-summary::-webkit-details-marker {
  display: none;
}

.fmg-cp-faq-q {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.fmg-cp-faq-toggle {
  width: 30px;
  height: 30px;
  border-radius: var(--fmg-radius-sm);
  border: 1px solid color-mix(in srgb, var(--fmg-color-accent), transparent 75%);
  background: color-mix(in srgb, var(--fmg-color-accent), transparent 90%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  position: relative;
}

.fmg-cp-faq-toggle::before,
.fmg-cp-faq-toggle::after {
  content: "";
  position: absolute;
  background: var(--fmg-color-accent);
  border-radius: 2px;
}

.fmg-cp-faq-toggle::before {
  width: 14px;
  height: 2px;
}

.fmg-cp-faq-toggle::after {
  width: 2px;
  height: 14px;
}

.fmg-cp-faq-details[open] .fmg-cp-faq-toggle::after {
  display: none;
}

.fmg-cp-faq-a {
  padding: 0 14px 14px;
  font-size: 14px;
  color: var(--fmg-color-ink-700);
}

.fmg-cp-faq-a p {
  margin: 0;
}
