/* Shared profile identity on the profile and both memory stages. */
.person-link, .profile-person {
  display: flex; align-items: center; gap: 14px; width: fit-content; max-width: 100%;
  color: #e61e22; border-radius: 6px; text-align:left; text-decoration:none;
}
.person-link:visited { color:#e61e22; }
.person-link { pointer-events:auto; padding: 3px 8px 3px 0; transition: color .3s, background .3s; }
.person-link:hover .person-orb { transform: scale(1.06); }
.person-link:hover .person-username { color: #e61e22; }
.person-link:focus-visible { background-color: rgb(230 30 34 / 12%); }
.person-orb {
  width: 62px; height: 62px; display: grid; place-items: center; flex-shrink: 0;
  position: relative; overflow: hidden; isolation: isolate; border-radius: 50%;
  background: radial-gradient(circle at 35% 27%, #381417, #130808 63%, #57171b 97%);
  transition: transform .6s cubic-bezier(.16,1,.3,1);
}
.person-orb::after {
  content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: radial-gradient(ellipse at 32% 16%,rgb(255 241 226 / 30%),transparent 38%),
    radial-gradient(circle at 45% 40%,transparent 48%,rgb(3 3 3 / 25%) 76%,rgb(3 3 3 / 65%) 100%);
  box-shadow:inset 0 0 0 1px rgb(255 235 228 / 18%);
}
.person-orb img { position: absolute; inset:0; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; opacity: 0; transition: opacity .6s; }
.person-orb.has-photo img { opacity: 1; }
.person-orb.has-photo .person-initial { opacity: 0; }
.person-initial { font: italic 400 35px/1 "GT Sectra",Georgia,serif; color: #e61e22; transform: translateY(-2px); }
.person-copy { min-width: 0; }
.person-username { display: block; margin:0; text-transform:none; text-decoration:none; color: #e61e22; font: italic 400 23px/1.15 "GT Sectra",Georgia,serif; letter-spacing: -.025em; overflow-wrap: anywhere; }
.person-location { display: block; margin-top: 7px; color: rgb(230 30 34 / 70%); font: 400 9px/1.7 "Favorit Mono",monospace; letter-spacing: .08em; text-transform: uppercase; overflow-wrap: anywhere; }

@media (max-width:750px),(max-height:500px) {
  .person-link, .profile-person { gap:12px; }
  .person-orb { width:48px; height:48px; }
  .person-initial { font-size:27px; }
  .person-username { font-size:22px; }
  .person-location { font-size:8px; margin-top:4px; }
}
@media (prefers-reduced-motion:reduce) { .person-orb, .person-orb img { transition:none; } }
