@layer theme {
  /* Blue-grey glass replaces the white catalog call to action. */
  [data-theme="dark"] :is(.catalog-card, .ai-card) .catalog-action:not(:disabled) {
    background: linear-gradient(145deg, #354f63, #25394b 55%, #213041) !important;
    color: #edf6ff !important;
    box-shadow: inset 0 1px 0 rgba(216,236,255,.23), inset 0 0 0 1px rgba(178,209,239,.17), 0 4px 12px rgba(0,0,0,.20) !important;
  }
  [data-theme="dark"] :is(.catalog-card, .ai-card) .catalog-action:not(:disabled) :is(span,svg) {
    color: #edf6ff !important;
  }
  @media (hover:hover) {
    [data-theme="dark"] :is(.catalog-card, .ai-card) .catalog-action:not(:disabled):hover {
      background: linear-gradient(145deg, #42647b, #2c465d 55%, #293d52) !important;
      box-shadow: inset 0 1px 0 rgba(226,242,255,.32), inset 0 0 0 1px rgba(178,209,239,.23), 0 5px 18px rgba(93,153,195,.13) !important;
    }
  }
  [data-theme="dark"] :is(.catalog-card, .ai-card) .catalog-action:disabled {
    background: rgba(180,198,223,.045) !important;
    color: #8e9cae !important;
    box-shadow: inset 0 0 0 1px rgba(188,207,234,.11) !important;
  }
}

/* A small fixed constellation, rendered only inside the home hero. */
.home-starlight {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.home-starlight > i {
  position: absolute;
  left: var(--star-x);
  top: var(--star-y);
  width: var(--star-size,2px);
  height: var(--star-size,2px);
  border-radius: 50%;
  background: #eef7ff;
  box-shadow: 0 0 4px 1px rgba(226,242,255,.70), 0 0 12px 3px rgba(213,234,255,.24), 0 0 23px 5px rgba(201,224,251,.07);
  opacity: .65;
}
.home-starlight > i:nth-child(4n + 1)::after {
  content: "";
  position: absolute;
  inset: -3px;
  background: linear-gradient(transparent 43%, rgba(235,246,255,.47) 50%, transparent 57%), linear-gradient(90deg,transparent 43%,rgba(235,246,255,.47) 50%,transparent 57%);
}
@media (prefers-reduced-motion:no-preference) {
  .home-starlight > i {
    animation: starlight-breathe var(--star-duration,8s) ease-in-out var(--star-delay,0s) infinite alternate;
  }
}
@keyframes starlight-breathe {
  0%, 15% { opacity: .30; }
  70%, 100% { opacity: .86; }
}
@media (max-width:639px) {
  .home-starlight > i:nth-child(n+9) { display: none; }
}
