#profile-img { object-position: center 20%; }
.link-row { position:relative; border-radius:1rem; transition:transform .2s ease,box-shadow .2s ease; }
.link-row .link-button { transform:none; padding-left:4rem; padding-right:4rem; transition:background .2s ease; }
.link-row .link-button:hover { transform:none; box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a; }
.link-row .copy-btn { width:44px; height:44px; right:8px; border:1px solid #ffffff60; background:#ffffff30; cursor:pointer; }
.copy-btn svg { width:18px; height:18px; }
.link-button:focus-visible,.copy-btn:focus-visible { outline:3px solid #922253; outline-offset:3px; }
@media (hover:hover) and (pointer:fine) {
  .link-row:hover { transform:translateY(-2px); box-shadow:0 8px 22px #8f245b26; }
  .link-row:hover .link-button { background:#ffe4f2; }
  .link-row .copy-btn:hover { background:#fff9!important; }
}
.copy-btn:active { scale:.94; }
#copy-feedback { position:fixed; z-index:70; bottom:24px; left:50%; transform:translate(-50%,12px); padding:10px 18px; border-radius:999px; background:#74204d; color:white; font:600 14px 'Quicksand',sans-serif; box-shadow:0 6px 20px #74204d30; opacity:0; pointer-events:none; transition:opacity .18s,transform .18s; max-width:calc(100vw - 32px); text-align:center; }
#copy-feedback.visible { opacity:1; transform:translate(-50%,0); }
.heart-badge { position:absolute; top:-7px; right:-9px; width:34px; height:34px; color:#b52b68; filter:drop-shadow(0 3px 5px #a9246030); animation:heart-beat 3s ease-in-out infinite; }
.heart-badge svg { width:100%; height:100%; overflow:visible; }
.heart-badge .shine { fill:none; stroke:#fff8; stroke-width:1.6; stroke-linecap:round; }
@keyframes heart-beat { 0%,45%,100% { transform:rotate(12deg) scale(1); } 52% { transform:rotate(8deg) scale(1.14); } 60% { transform:rotate(12deg) scale(1); } 68% { transform:rotate(8deg) scale(1.08); } }
#heart-garden { position:fixed; inset:0; overflow:hidden; pointer-events:none; z-index:1; }
.drifting-heart { position:absolute; bottom:-50px; left:var(--left); width:var(--size); height:var(--size); color:#a82563; opacity:0; animation:heart-drift var(--duration) linear infinite; animation-delay:var(--delay); }
.drifting-heart svg { width:100%; height:100%; }
@keyframes heart-drift { 0% { transform:translate3d(0,0,0) rotate(-15deg); opacity:0; } 12%,75% { opacity:.18; } 50% { transform:translate3d(28px,-55vh,0) rotate(15deg); } 100% { transform:translate3d(-12px,calc(-100vh - 100px),0) rotate(-12deg); opacity:0; } }
.heart-pop { position:fixed; pointer-events:none; z-index:60; width:15px; height:15px; color:var(--color); }
.heart-pop svg { width:100%; height:100%; }
body.motion-paused .drifting-heart, body.motion-paused .heart-badge { animation-play-state:paused; }
@media (prefers-reduced-motion:reduce) {
  .drifting-heart,.heart-pop { display:none!important; }
  .heart-badge,.bunny-float,.sparkle,.heart-pulse { animation:none!important; }
  .link-button,.copy-btn,.link-row,#copy-feedback { transition:none!important; }
  .link-button:hover,.link-row:hover { transform:none; }
}
