/* ── Share Modal ── */
#share-modal {
  position: fixed; inset: 0; z-index: 300;
  display: none; align-items: flex-end;
  background: rgba(0,0,0,0.6);
  backdrop-filter: blur(4px);
}
#share-modal.open { display: flex; }
.share-sheet {
  width: 100%; background: #1a1a1a;
  border-radius: 20px 20px 0 0;
  padding: 20px 20px calc(20px + env(safe-area-inset-bottom));
  animation: slideUp .3s cubic-bezier(0.32,0.72,0,1);
}
.share-title { font-size: 16px; font-weight: 700; margin-bottom: 20px; text-align: center; }
.share-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 20px; }
.share-option { display: flex; flex-direction: column; align-items: center; gap: 8px; cursor: pointer; }
.share-option-icon {
  width: 52px; height: 52px; border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; transition: transform .15s;
}
.share-option:hover .share-option-icon { transform: scale(1.1); }
.share-option-label { font-size: 11px; color: var(--muted); font-weight: 500; }
.share-cancel {
  width: 100%; padding: 14px;
  background: rgba(255,255,255,0.06); border: none; border-radius: 14px;
  color: var(--text); font-family: 'DM Sans', sans-serif;
  font-size: 15px; font-weight: 600; cursor: pointer; transition: background .2s;
}
.share-cancel:hover { background: rgba(255,255,255,0.1); }
