/* Shared border lights. Load after page styles.
   The opaque padding-box layer covers the gradient's entire interior.
   No composite masks or foreground gradients are used. */
@property --l8-edge-angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
@keyframes l8-edge-orbit { to { --l8-edge-angle: 360deg; } }
.destination,.hopemed-action { --edge-color:rgb(var(--hover-rgb)); --edge-surface:#100808; --edge-duration:7s; }
.hopemed-action { --edge-surface:#130808; }
.section-card { --edge-color:var(--l8-card,var(--rim-color,#ff3440)); }
.source-card,.topic-card { --edge-color:var(--l8-card,#65d8a2); }
.g-card { --edge-color:var(--g-accent); --edge-surface:#09090e; }
.l8-timeline-page .card { --edge-color:var(--rim); --edge-surface:#090909; }
.l8-map-page .card { --edge-color:#e8b873; --edge-surface:#0c0e16; }
.news-post-shell { --edge-color:var(--l8-card,#ff6262); --edge-duration:14s; }
html body :is(.destination,.hopemed-action)::before,
html body :is(.section-card,.source-card,.topic-card,.l8-timeline-page .card,.l8-map-page .card,.news-post-shell)::after,
html body .g-card::before { content:none; display:none; animation:none; }
/* Unsupported browsers retain the ordinary static border. */
@supports (background:conic-gradient(from 0deg,transparent,red)) {
 html body :is(.destination,.hopemed-action,.section-card,.source-card,.topic-card,.g-card,.l8-timeline-page .card,.l8-map-page .card,.news-post-shell),
 html body :is(.destination,.hopemed-action,.section-card,.source-card,.topic-card,.g-card,.l8-timeline-page .card,.l8-map-page .card,.news-post-shell):is(:hover,:focus-visible,:focus-within) {
  border-color:transparent;
  background:
   linear-gradient(145deg,color-mix(in srgb,var(--edge-color) 7%,var(--edge-surface,#08080b)),var(--edge-surface,#08080b)) padding-box,
   conic-gradient(from var(--l8-edge-angle),transparent 0deg,transparent 260deg,var(--edge-color) 325deg,transparent 360deg) border-box,
   linear-gradient(color-mix(in srgb,var(--edge-color) 38%,var(--edge-surface,#08080b)),color-mix(in srgb,var(--edge-color) 38%,var(--edge-surface,#08080b))) border-box;
  animation:l8-edge-orbit var(--edge-duration,12s) linear infinite;
 }
 html body .hopemed-action-reverse { animation-direction:reverse; }
 html body .g-card:nth-child(3n+2),html body.l8-map-page section:nth-child(3n+2) .card { animation-delay:-4s; }
 html body .g-card:nth-child(3n+3),html body.l8-map-page section:nth-child(3n) .card { animation-delay:-8s; }
}
@media (prefers-reduced-motion:reduce) {
 html body :is(.destination,.hopemed-action,.section-card,.source-card,.topic-card,.g-card,.l8-timeline-page .card,.l8-map-page .card,.news-post-shell),
 html body :is(.destination,.hopemed-action,.section-card,.source-card,.topic-card,.g-card,.l8-timeline-page .card,.l8-map-page .card,.news-post-shell):is(:hover,:focus-visible,:focus-within) { animation:none; }
}
@media print {
 html body .g-card { background:white; border-color:#aaa; animation:none; }
}
