.ws-page {
  background:
    radial-gradient(90% 55% at 0% 0%, rgba(244, 114, 182, 0.12), transparent 60%),
    radial-gradient(70% 60% at 100% 0%, rgba(56, 189, 248, 0.1), transparent 70%),
    #f8fafc;
}

.ws-card {
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 10px 24px -20px rgba(15, 23, 42, 0.4);
}

.ws-input {
  border: 1px solid #d1d5db;
  border-radius: 10px;
  background: #ffffff;
  color: #111827;
  padding: 0.7rem 0.8rem;
  resize: vertical;
}

.ws-input::placeholder {
  color: #9ca3af;
}

.ws-btn-primary,
.ws-btn-secondary {
  border-radius: 10px;
  padding: 0.5rem 0.9rem;
  font-size: 0.875rem;
  font-weight: 600;
}

.ws-btn-primary {
  background: linear-gradient(120deg, #ec4899, #f43f5e);
  color: white;
}

.ws-btn-secondary {
  border: 1px solid #d1d5db;
  color: #374151;
  background: #ffffff;
}

.ws-chip {
  border: 1px solid #d1d5db;
  border-radius: 999px;
  padding: 0.25rem 0.6rem;
  background: #ffffff;
}

.ws-post-image {
  border-radius: 12px;
  width: 100%;
  max-height: 420px;
  object-fit: contain;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
}

.ws-action-btn {
  font-size: 0.82rem;
  color: #4b5563;
}

.ws-action-btn.active {
  color: #db2777;
}

.ws-share-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.ws-icon-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.ws-action-icon {
  width: 1rem;
  height: 1rem;
  object-fit: contain;
  flex: 0 0 auto;
}

.ws-post-highlight {
  outline: 2px solid #f43f5e;
  outline-offset: 2px;
  box-shadow: 0 0 0 4px rgba(244, 63, 94, 0.16);
  transition: box-shadow 0.3s ease, outline-color 0.3s ease;
}
