.sp-content-skeleton {
  border-radius: 12px;
  background: linear-gradient(90deg, rgba(0,0,0,0.04), rgba(0,0,0,0.08), rgba(0,0,0,0.04));
  background-size: 220% 100%;
  animation: spContentSkeleton 1.2s ease-in-out infinite;
}

html[data-theme="dark"] .sp-content-skeleton {
  background: linear-gradient(90deg, rgba(255,255,255,0.06), rgba(255,255,255,0.10), rgba(255,255,255,0.06));
  background-size: 220% 100%;
}

@keyframes spContentSkeleton {
  0% { background-position: 0% 50%; }
  100% { background-position: 220% 50%; }
}

.sp-content-skeleton-row {
  height: 44px;
  margin-bottom: 10px;
}

.sp-content-trending {
  display: grid;
  gap: 10px;
}

.sp-content-trending-item {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 10px 10px;
  border: 1px solid var(--sp-border);
  border-radius: 14px;
  background-color: var(--sp-surface);
}

.sp-content-trending-item:hover {
  text-decoration: none;
  background-color: var(--sp-surface-2);
}

.sp-content-trending-rank {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 0.9em;
  color: var(--sp-fg);
  background: color-mix(in srgb, var(--sp-brand) 14%, var(--sp-surface));
  border: 1px solid color-mix(in srgb, var(--sp-brand) 18%, var(--sp-border));
}

.sp-content-trending-title {
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.15;
}

.sp-content-trending-meta {
  color: var(--sp-muted);
  font-size: 0.82em;
  margin-top: 2px;
}

.sp-content-dialog {
  border: none;
  padding: 0;
  width: min(640px, calc(100vw - 24px));
  border-radius: 16px;
  background: var(--sp-surface);
  color: var(--sp-fg);
  box-shadow: 0 22px 60px rgba(0,0,0,0.25);
}

.sp-content-dialog::backdrop {
  background: rgba(0,0,0,0.45);
}

.sp-content-dialog-form {
  margin: 0;
  display: grid;
  gap: 0;
}

.sp-content-dialog-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 12px 10px 14px;
  border-bottom: 1px solid var(--sp-border);
}

.sp-content-dialog-title {
  font-weight: 800;
  letter-spacing: -0.01em;
}

.sp-content-dialog-body {
  padding: 14px;
  display: grid;
  gap: 12px;
}

.sp-content-dialog-hint {
  color: var(--sp-muted);
  line-height: 1.55;
  font-size: var(--sp-font-sm);
}

.sp-content-dialog-textarea,
.sp-content-dialog-input {
  width: 100%;
  border: 1px solid var(--sp-border);
  border-radius: 12px;
  padding: 10px 12px;
  font-size: var(--sp-font-sm);
  background: var(--sp-surface);
  color: var(--sp-fg);
}

.sp-content-dialog-textarea:focus,
.sp-content-dialog-input:focus {
  outline: none;
  border-color: color-mix(in srgb, var(--sp-brand) 55%, var(--sp-border));
}

.sp-content-dialog-status {
  border: 1px solid var(--sp-border);
  border-radius: 12px;
  padding: 10px 12px;
  background: color-mix(in srgb, var(--sp-surface) 80%, transparent);
  color: var(--sp-muted);
  font-size: var(--sp-font-sm);
}

.sp-content-dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 12px 14px 14px 14px;
  border-top: 1px solid var(--sp-border);
}

.sp-content-toast {
  position: fixed;
  left: 50%;
  bottom: 16px;
  transform: translateX(-50%);
  z-index: 2000;
  display: grid;
  gap: 10px;
  max-width: min(640px, calc(100vw - 24px));
  pointer-events: none;
}

.sp-content-toast-item {
  pointer-events: auto;
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid var(--sp-border);
  background: color-mix(in srgb, var(--sp-surface) 88%, transparent);
  backdrop-filter: blur(10px);
  box-shadow: 0 14px 28px rgba(0,0,0,0.14);
}

.sp-content-toast-text {
  font-size: var(--sp-font-sm);
  color: var(--sp-fg);
}

.sp-content-toast-close {
  margin-left: auto;
}

