.location-affinities{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:10px 0 24px;padding:14px 20px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.location-affinities>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;font-size:13px}
.location-affinities dt{font-weight:700}.location-affinities dd{margin:0;color:var(--muted)}
.finale-chosen{position:relative;isolation:isolate;width:230px;margin:28px auto 24px;animation:finale-arrive 1s cubic-bezier(.18,.8,.3,1) both}
.finale-halo{position:absolute;z-index:-1;inset:-42px;background:radial-gradient(ellipse,#f2b0c245,transparent 70%);border-radius:50%;animation:finale-breathe 4s ease-in-out infinite}
.finale-chosen:before,.finale-chosen:after{content:"✦";position:absolute;z-index:2;color:#e9a8bb;text-shadow:0 0 18px #f8c8d4;font-size:26px;animation:finale-twinkle 3s ease-in-out infinite}
.finale-chosen:before{top:14%;left:-18px}.finale-chosen:after{bottom:22%;right:-16px;animation-delay:1s;font-size:18px}
.finale-album{margin:18px auto 6px}.love-finale>h1,.love-finale>p,.love-finale>.finale-stats{animation:finale-arrive 1s .2s both}.finale-roster{animation:finale-arrive 1s .35s both}
@keyframes finale-arrive{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:none}}
@keyframes finale-breathe{50%{transform:scale(1.1);opacity:.6}}
@keyframes finale-twinkle{50%{opacity:.3;transform:scale(.7) rotate(20deg)}}
@media(max-width:600px){.location-affinities{grid-template-columns:1fr}.finale-chosen{width:205px}}
