.ngk-ca {
  --ngk-ca-radius: 20px;
  --ngk-ca-text: #21174d;
  --ngk-ca-muted: #30364b;
  --ngk-ca-accent: #5b36d6;
  --ngk-ca-accent-2: #8c55e8;
  --ngk-ca-soft: #e8e0ff;
  --ngk-ca-soft-2: #f4f0ff;
  --ngk-ca-line: rgba(91,54,214,.42);
  --ngk-ca-shadow: rgba(65,42,150,.20);
  width:100%; max-width:100%; box-sizing:border-box;
  font-family:inherit;
}
.ngk-ca *, .ngk-ca *::before, .ngk-ca *::after { box-sizing:border-box; }



.ngk-ca-item {
  position:relative; isolation:isolate; overflow:hidden;
  border-radius:var(--ngk-ca-radius);
  background:linear-gradient(145deg,var(--ngk-ca-soft-2),#fff 72%);
  border:1.5px solid var(--ngk-ca-line);
  box-shadow:0 9px 26px var(--ngk-ca-shadow), 0 2px 7px rgba(25,27,43,.08);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.ngk-ca-item::before {
  content:""; position:absolute; inset:-2px; z-index:-1; opacity:0;
  background:linear-gradient(110deg,transparent 12%,color-mix(in srgb,var(--ngk-ca-accent) 52%,transparent) 40%,color-mix(in srgb,var(--ngk-ca-accent-2) 62%,transparent) 53%,transparent 80%);
  background-size:230% 100%; filter:blur(7px); transition:opacity .28s ease;
}

.ngk-ca-trigger {
  position:relative; width:100%; min-height:74px; border:0; border-radius:inherit;
  padding:16px 74px 16px 22px; display:flex; align-items:center; gap:14px;
  background:linear-gradient(135deg,var(--ngk-ca-soft) 0%,var(--ngk-ca-soft-2) 58%,#fff 100%);
  color:var(--ngk-ca-text) !important; text-align:left; cursor:pointer; font:inherit; overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
.ngk-ca-trigger::before {
  content:""; position:absolute; top:-65%; bottom:-65%; width:26%; left:-45%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.98),transparent);
  transform:skewX(-18deg); opacity:.9; pointer-events:none;
}
.ngk-ca-trigger::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(circle at 12% 50%,color-mix(in srgb,var(--ngk-ca-accent) 10%,transparent),transparent 36%);
}

.ngk-ca-accent {
  position:relative; z-index:1; flex:0 0 5px; align-self:stretch; min-height:36px; border-radius:999px;
  background:linear-gradient(180deg,var(--ngk-ca-accent),var(--ngk-ca-accent-2));
  box-shadow:0 0 15px color-mix(in srgb,var(--ngk-ca-accent) 48%,transparent);
}
.ngk-ca-title {
  position:relative; z-index:1;
  color:var(--ngk-ca-text) !important;
  -webkit-text-fill-color:var(--ngk-ca-text) !important;
  opacity:1 !important;
  font-weight:800 !important;
  font-size:clamp(18px,1.7vw,21px) !important;
  line-height:1.38; letter-spacing:-.01em;
  text-shadow:0 1px 0 rgba(255,255,255,.55);
  transition:transform .25s ease,color .25s ease;
}
.ngk-ca-icon {
  position:absolute; z-index:2; right:18px; top:50%; width:40px; height:40px; transform:translateY(-50%);
  border-radius:50%;
  background:linear-gradient(145deg,#fff,var(--ngk-ca-soft));
  border:1.5px solid color-mix(in srgb,var(--ngk-ca-accent) 38%,#fff);
  box-shadow:0 6px 17px var(--ngk-ca-shadow);
  transition:transform .28s ease, box-shadow .28s ease, background .28s ease;
}
.ngk-ca-icon::before,.ngk-ca-icon::after {
  content:""; position:absolute; left:50%; top:50%; width:15px; height:2.7px; border-radius:999px;
  background:var(--ngk-ca-accent); transform:translate(-50%,-50%); transition:transform .28s ease,opacity .28s ease;
}
.ngk-ca-icon::after { transform:translate(-50%,-50%) rotate(90deg); }
.ngk-ca-trigger[aria-expanded="true"] .ngk-ca-icon { transform:translateY(-50%) rotate(180deg); background:var(--ngk-ca-soft); }
.ngk-ca-trigger[aria-expanded="true"] .ngk-ca-icon::after { opacity:0; transform:translate(-50%,-50%) rotate(0deg); }

.ngk-ca-panel {
  overflow:hidden;
  background:linear-gradient(180deg,#fff 0%,var(--ngk-ca-soft-2) 100%);
  border-top:1px solid color-mix(in srgb,var(--ngk-ca-accent) 25%,transparent);
}
.ngk-ca-panel[hidden] { display:none; }
.ngk-ca-panel-inner { overflow:hidden; }
.ngk-ca-content { padding:20px 24px 23px; color:var(--ngk-ca-muted); font-size:16px; line-height:1.76; }
.ngk-ca-content > :first-child { margin-top:0; }
.ngk-ca-content > :last-child { margin-bottom:0; }
.ngk-ca-content a { color:var(--ngk-ca-accent); text-decoration-thickness:1px; text-underline-offset:3px; }
.ngk-ca-content img { max-width:100%; height:auto; border-radius:14px; }
.ngk-ca-content table { width:100%; border-collapse:collapse; }
.ngk-ca-content th,.ngk-ca-content td { padding:9px 10px; border:1px solid #e8eaf1; }

.ngk-ca-item.is-open {
  box-shadow:0 15px 36px var(--ngk-ca-shadow),0 3px 10px rgba(25,27,43,.09);
  border-color:var(--ngk-ca-accent);
}
.ngk-ca-item.is-open .ngk-ca-trigger { background:linear-gradient(135deg,color-mix(in srgb,var(--ngk-ca-soft) 92%,#fff),var(--ngk-ca-soft-2)); }
.ngk-ca-trigger:focus-visible { outline:3px solid color-mix(in srgb,var(--ngk-ca-accent) 38%,transparent); outline-offset:3px; }

@media (hover:hover) {
  .ngk-ca-item:hover { transform:translateY(-3px); box-shadow:0 18px 40px var(--ngk-ca-shadow),0 4px 12px rgba(25,27,43,.10); border-color:var(--ngk-ca-accent); }
  .ngk-ca-item:hover::before { opacity:.86; animation:ngkCaAura 3.4s linear infinite; }
  .ngk-ca-item:hover .ngk-ca-trigger::before { animation:ngkCaSweep 1.05s ease both; }
  .ngk-ca-item:hover .ngk-ca-title { transform:translateX(3px); color:var(--ngk-ca-accent) !important; -webkit-text-fill-color:var(--ngk-ca-accent) !important; }
  .ngk-ca-item:hover .ngk-ca-icon { box-shadow:0 9px 24px color-mix(in srgb,var(--ngk-ca-accent) 34%,transparent); }
}

@keyframes ngkCaSweep { from{left:-45%;} to{left:125%;} }
@keyframes ngkCaAura { from{background-position:0 0;} to{background-position:230% 0;} }

@media (max-width:767px) {
  .ngk-ca { --ngk-ca-radius:17px; }
  .ngk-ca-trigger { min-height:66px; padding:14px 62px 14px 16px; gap:11px; }
  .ngk-ca-title { font-size:18px !important; font-weight:800 !important; }
  .ngk-ca-accent { flex-basis:4px; min-height:32px; }
  .ngk-ca-icon { right:13px; width:36px; height:36px; }
  .ngk-ca-content { padding:16px 17px 19px; font-size:15px; line-height:1.72; }
}

@media (prefers-reduced-motion:reduce) {
  .ngk-ca-item,.ngk-ca-item::before,.ngk-ca-trigger::before,.ngk-ca-title,.ngk-ca-icon,.ngk-ca-icon::before,.ngk-ca-icon::after,.ngk-ca-panel-inner { animation:none!important; transition:none!important; }
}
