.cmp-peek-modal.peek-modal { 
  position: fixed; 
  inset: 0; 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  background: rgba(0, 0, 0, 0.7); 
  z-index: 7000; 
  animation: fadeIn .25s ease; 
}

.cmp-peek-modal.hidden { display: none; }

.cmp-peek-modal .peek-frame { 
  background: rgba(20, 25, 40, 0.95); 
  -webkit-backdrop-filter: blur(6px); 
  backdrop-filter: blur(6px); 
  padding: 16px 20px; 
  border: 1px solid #666; 
  border-radius: 8px; 
  color: #fff; 
  font: 14px/1.4 system-ui; 
  min-width: 220px; 
  max-width: 400px; 
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6); 
}

.cmp-peek-modal .peek-header { font-weight:600; letter-spacing:1px; font-size:12px; opacity:0.8; margin-bottom:6px; }
.cmp-peek-modal .peek-text { font-size:13px; margin-bottom:12px; }
.cmp-peek-modal .peek-actions { text-align:right; }

/* Monster profile card in peek modal - compact styling */
.cmp-peek-modal .peek-frame:has(.profile-card) {
  min-width: 300px;
  max-width: 350px;
  padding: 12px;
}

.cmp-peek-modal .profile-card {
  margin: 0;
  transform: none;
  max-width: 100%;
  background: white;
  border: 1px solid #ddd;
  border-radius: 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  color: #333;
}

.cmp-peek-modal .profile-card .trait-slider-shadow {
  pointer-events: none;
  opacity: 0.8;
}

.cmp-peek-modal .profile-card .pc-name,
.cmp-peek-modal .profile-card .pc-desc,
.cmp-peek-modal .profile-card .trait-label,
.cmp-peek-modal .profile-card .trait-value,
.cmp-peek-modal .profile-card .trait-min,
.cmp-peek-modal .profile-card .trait-max {
  color: #333 !important;
}

.cmp-peek-modal .peek-actions {
  margin-top: 12px;
  text-align: center;
}

/* Attack pulse effect on owned cards / player profile cards */
.cmp-player-profile-card.attack-pulse { box-shadow:0 0 0 0 rgba(255,50,50,0.7); animation:attackPulse 1s ease-out 2; }
@keyframes attackPulse { 0% { box-shadow:0 0 0 0 rgba(255,50,50,0.8); } 50% { box-shadow:0 0 12px 6px rgba(255,50,50,0.3); } 100% { box-shadow:0 0 0 0 rgba(255,50,50,0); } }
