#bgStars{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.80}
.public-layer{position:relative;z-index:1}

/* Shared thin navbar for public pages */
.public-navbar{background:#1f2937;border-bottom:1px solid rgba(255,255,255,0.10);box-shadow:0 1px 0 rgba(255,255,255,0.04) inset}

/* Solid panel helper used across public pages */
.glass{background:#1f2937;border:1px solid rgba(255,255,255,0.10)}

.animated-border{position:relative;overflow:hidden;--ab-thick:2px;--ab-bg:#1f2937}
/* Premium ring border: conic gradient rotates UNDER the inner panel.
   This keeps the glow on the border only (not as a background halo). */
.animated-border::before{content:"";position:absolute;inset:-55%;background:conic-gradient(from 0deg,#60a5fa,#a855f7,#60a5fa);animation:borderSpin 3s linear infinite;pointer-events:none;z-index:0;
  filter:drop-shadow(0 0 12px rgba(96,165,250,.50)) drop-shadow(0 0 14px rgba(168,85,247,.40));opacity:.95}
.animated-border::after{content:"";position:absolute;inset:var(--ab-thick);border-radius:inherit;background:var(--ab-bg);pointer-events:none;z-index:0}
.animated-border>*{position:relative;z-index:1}
@keyframes borderSpin{to{transform:rotate(360deg)}}

.glass.animated-border{--ab-bg:#1f2937}
.chip.animated-border{--ab-bg:#1f2937}
#searchWrap.animated-border{--ab-bg:#1f2937}

/* Light panels (search/filter) */
.light-panel.animated-border{--ab-bg:#e5e7eb}

.animated-bottom-border{position:relative}
.animated-bottom-border::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#3b82f6,#a855f7,#3b82f6);background-size:200% 100%;animation:shine 2.4s linear infinite}
@keyframes shine{to{background-position:200% 0}}
