/* Theme-colored rim light; native entry behavior stays intact. */
@property --edge-phase {
  syntax: '<angle>';
  inherits: true;
  initial-value: 0deg;
}
@keyframes entry-edge-flow { to { --edge-phase: 360deg; } }
.platform-card { padding-bottom: 100px; }
.platform-card .card-copy { margin-bottom: 0; }
.entry-action {
  position: absolute; left: 32px; bottom: 27px; z-index: 6;
  display: inline-flex; isolation: isolate;
}
.entry-action::before {
  content: ''; position: absolute; left: 9%; right: 9%; bottom: -11px; height: 15px;
  z-index: -1; border-radius: 50%; background: #01081166; filter: blur(9px); pointer-events: none;
  transition: transform 280ms cubic-bezier(.22, 1, .36, 1), opacity 280ms ease;
}
.entry-link {
  --glass-tint: 137, 196, 209;
  --edge-intensity: 0;
  position: relative; isolation: isolate; display: inline-flex;
  align-items: center; justify-content: space-between; min-height: 48px;
  gap: 29px; padding: 0 21px; overflow: visible;
  border: 1px solid #e4f6ff40; border-bottom-color: #c3e9f25e; border-radius: 100px;
  background: linear-gradient(165deg, #e1f5ff20, #b5d0e00a 44%, #1323351a 65%, #c1eaff1c), rgba(var(--glass-tint), .12);
  -webkit-backdrop-filter: blur(12px) saturate(1.3) brightness(1.14);
  backdrop-filter: blur(12px) saturate(1.3) brightness(1.14);
  box-shadow: 0 16px 28px -12px #000000b3, 0 6px 10px -5px #00000080, inset 0 1.5px 1.5px #ffffff42, inset 0 -1px 1px #07132240;
  color: #f0f8fb; font-size: 13px; font-weight: 600; line-height: 1.2;
  letter-spacing: .035em; text-decoration: none; cursor: pointer;
  text-shadow: 0 1px 2px #07152680;
  transform: translateY(0);
  animation: entry-edge-flow 3.6s linear infinite;
  animation-play-state: paused;
  transition: transform 280ms cubic-bezier(.22, 1, .36, 1), box-shadow 280ms ease, border-color 200ms ease;
}
.entry-link::before {
  content: ''; position: absolute; inset: 1px; z-index: -1; pointer-events: none;
  border-radius: inherit;
  background:
    conic-gradient(from var(--edge-phase), transparent 0deg 260deg,
      rgba(var(--accent), calc(var(--edge-intensity) * .025)) 300deg,
      rgba(var(--accent), calc(var(--edge-intensity) * .1)) 346deg, transparent 360deg),
    linear-gradient(135deg, #ffffff14, transparent 31%, transparent 75%, #d7f1ff12);
  box-shadow: inset 1px 0 1px #f0fbff24, inset -1px 0 1px #8dbfda1a;
}
.entry-link::after {
  content: ''; position: absolute; inset: -1px; padding: 1.4px; z-index: 1;
  pointer-events: none; border-radius: inherit;
  background: conic-gradient(from var(--edge-phase), transparent 0deg 245deg,
    rgba(var(--accent), .04) 275deg, rgba(var(--accent), .35) 316deg,
    rgba(var(--accent), .95) 345deg, #f5ffffb8 351deg,
    rgba(var(--accent), .55) 355deg, transparent 360deg);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  filter: drop-shadow(0 0 3px rgba(var(--accent), .4));
  opacity: var(--edge-intensity);
  transition: opacity 240ms ease;
}
.entry-link > span { position: relative; z-index: 2; }
.unavailable-status { --glass-tint: 183, 164, 148; color: #f4ece0; border-color: #f4e7d936; }
.arrow { width: 18px; height: 18px; display: block; }
.arrow svg { width: 100%; height: 100%; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.entry-link:focus-visible {
  --edge-intensity: 1;
  animation-play-state: running;
  transform: translateY(-3px);
  box-shadow: 0 21px 32px -12px #000000b3, 0 8px 13px -5px #00000080, inset 0 1.5px 1.5px #ffffff52, inset 0 -1px 1px #07132240;
}
.entry-link:active { transform: translateY(1px) scale(.985); transition-duration: 110ms; }
@media (hover: hover) and (pointer: fine) {
  /* Keep the hit plane stationary while its glass surface rises, avoiding edge flicker. */
  .entry-action:hover .entry-link, .entry-link:hover {
    --edge-intensity: 1;
    animation-play-state: running;
    transform: translateY(-5px);
    border-color: #e4f6ff70;
    box-shadow: 0 24px 34px -12px #000000bf, 0 10px 15px -6px #0000008c, inset 0 1.5px 1.5px #ffffff52, inset 0 -1px 1px #07132240;
  }
  .entry-action:hover::before { transform: scaleX(1.12); opacity: .7; }
  .entry-action:hover .entry-link:active { transform: translateY(-1px) scale(.985); }
}
@media (prefers-reduced-motion: reduce) {
  .entry-action .entry-link, .entry-action:hover .entry-link:active { transform: none !important; transition: none; animation: none !important; }
  .entry-link::after { transition: none; }
  .entry-action::before { transform: none !important; transition: none; }
}
@media (min-width: 1800px) { .entry-action { left: 38px; bottom: 33px; } }
@media (max-width: 1000px) { .entry-action { left: 26px; bottom: 27px; } }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .entry-link { background: #293b4c; }
  .unavailable-status { background: #383a43; }
}
