/* 首頁開始診斷 CTA：獨立檔名避開舊診斷樣式的長效快取。 */
.diagnosis-orb {
  isolation: isolate;
  border-color: rgba(224,195,133,.88);
  background: radial-gradient(circle at 36% 27%, rgba(255,246,218,.1), transparent 30%), rgba(8,8,8,.88);
  box-shadow: 0 0 0 18px rgba(199,168,107,.035), 0 0 36px rgba(199,168,107,.15), 0 0 94px rgba(199,168,107,.11), inset 0 0 34px rgba(199,168,107,.045), 0 28px 80px rgba(0,0,0,.42);
  transition: transform .45s cubic-bezier(.2,.8,.2,1), background .45s, border-color .45s, box-shadow .45s;
}
.diagnosis-orb::before {
  z-index: 0;
  inset: -24px;
  border-color: rgba(199,168,107,.28);
  box-shadow: 0 0 28px rgba(199,168,107,.12), inset 0 0 22px rgba(199,168,107,.055);
  animation: diagnosis-orb-halo 3.2s ease-in-out infinite;
}
.diagnosis-orb::after {
  z-index: 0;
  inset: 12px;
  border-color: rgba(255,255,255,.08);
  background: linear-gradient(112deg, transparent 31%, rgba(255,247,220,.04) 41%, rgba(255,247,220,.28) 50%, rgba(255,247,220,.04) 59%, transparent 69%);
  background-position: 180% 0;
  background-size: 260% 100%;
  box-shadow: inset 0 0 26px rgba(199,168,107,.025);
  animation: diagnosis-orb-shine 4.8s ease-in-out infinite;
}
.diagnosis-orb:hover {
  border-color: rgba(243,218,164,.98);
  background: radial-gradient(circle at 36% 27%, rgba(255,246,218,.15), transparent 33%), #12110f;
  box-shadow: 0 0 0 26px rgba(199,168,107,.055), 0 0 48px rgba(199,168,107,.24), 0 0 118px rgba(199,168,107,.17), inset 0 0 42px rgba(199,168,107,.07), 0 30px 90px rgba(0,0,0,.52);
}
.diagnosis-orb:hover::after { border-color: rgba(255,255,255,.14); }
.diagnosis-orb:active { transform: scale(.99); }
.diagnosis-orb strong { position: relative; z-index: 1; text-shadow: 0 0 18px rgba(255,247,224,.12); }
.diagnosis-orb span { position: relative; z-index: 1; color: #dfc58d; text-shadow: 0 0 14px rgba(199,168,107,.28); }

@keyframes diagnosis-orb-halo {
  0%,100% { opacity: .48; box-shadow: 0 0 20px rgba(199,168,107,.09), inset 0 0 18px rgba(199,168,107,.04); transform: scale(.96); }
  50% { opacity: 1; box-shadow: 0 0 38px rgba(199,168,107,.2), inset 0 0 30px rgba(199,168,107,.08); transform: scale(1.07); }
}
@keyframes diagnosis-orb-shine {
  0%,18% { opacity: .16; background-position: 180% 0; }
  46%,54% { opacity: .72; }
  82%,100% { opacity: .16; background-position: -80% 0; }
}

@media (prefers-reduced-motion: reduce) {
  .diagnosis-orb::before, .diagnosis-orb::after { animation: none; }
}
