/* Quiet violet lighting, matte black surfaces. Feed artwork stays unchanged. */
:root {
  --calm-surface: linear-gradient(155deg, #21172c 0%, #141019 48%, #0b090e 100%);
  --calm-border: #b79bc52b;
  --calm-page: linear-gradient(90deg, #03020580, transparent 14%, transparent 86%, #03020580),
    radial-gradient(ellipse at 50% 12%, #281831 0%, #120d18 46%, #08060c 100%);
}
#profile-page, #settings-page { background: var(--calm-page); background-attachment: fixed; }
#profile-page .profile-top, #profile-page .profile-edit, .settings-section {
  border-color: var(--calm-border); background: var(--calm-surface); box-shadow: 0 12px 32px #00000018;
}
#profile-page .profile-tabs { border-color: var(--calm-border); }
#profile-page .profile-tabs button { color: #b5a8bf; }
#profile-page .profile-tabs button.active { color: #f0e8f6; border-color: #b499cb; }
#profile-page .profile-back, #profile-page .profile-settings-button,
#settings-page .profile-back, #settings-page .settings-action {
  border-color: var(--calm-border); background: var(--calm-surface); color: #e9dfef;
}
dialog.profile-dialog, dialog.social-dialog, dialog.comments-dialog, dialog.dm-consent-dialog,
dialog.dm-chat-dialog, dialog.profile-edit-dialog, dialog.share-dialog, dialog.auth-dialog,
dialog.video-post-dialog, dialog.thumbnail-dialog, dialog.avatar-crop-dialog, dialog.report-dialog {
  border-color: #b79bc54a; color: #f2edf5; background: var(--calm-surface);
  box-shadow: 0 24px 80px #0009;
}
.settings-row, #profile-page .profile-stat { border-color: #d0b9e01a; }
/* One opaque media layer, plus a readability scrim over the actual cover. */
.profile-video-item.has-post-cover { background-image: none; background-color: #0b090e; }
.profile-video-item .profile-video-preview, .profile-video-item .profile-thumbnail-image { opacity: 1; }
.profile-video-item.has-post-cover::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(0deg, #08060de8, #08060d55 38%, transparent 70%);
}
.profile-video-item.has-post-cover > strong, .profile-video-item.has-post-cover > small { z-index: 2; }
.profile-video-item .profile-thumbnail-image, .profile-video-item .profile-video-preview { z-index: 0; }
.profile-video-item.has-post-cover::before { z-index: 1; }
.profile-video-item.has-post-cover::after { z-index: 2; }
.profile-post-menu { position:absolute; top:8px; right:8px; z-index:3; display:grid; place-items:center; width:44px; height:44px; padding:0 0 8px; border:1px solid #c9b4de45; border-radius:50%; background:#100c19e8; color:#f1e9f7; font-size:28px; line-height:1; }
.profile-post-tile .profile-video-item::after { display:none; }
.post-options-dialog { color:#f2edf5; border:1px solid #b79bc54a; border-radius:18px; background:var(--calm-surface); }
.post-options-dialog .text-button { display:block; margin:18px auto 0; }
.post-options-dialog::backdrop, .post-edit-dialog::backdrop { background:#03020799; backdrop-filter:none; }
.post-edit-dialog .check-row { min-height:44px; gap:12px; }
.post-edit-dialog input[type=checkbox] { width:25px; height:25px; flex:0 0 25px; accent-color:#b499cb; }
.post-edit-dialog [data-message] { overflow-wrap:anywhere; }
.auth-form .legal-consent { display:flex; align-items:flex-start; gap:12px; padding:12px; border:1px solid var(--calm-border); border-radius:12px; line-height:1.7; }
.auth-form .legal-consent[hidden] { display:none; }
.legal-consent input { width:25px; height:25px; min-width:25px; flex:0 0 25px; margin:2px 0 0; accent-color:#b499cb; }
.legal-consent a { text-decoration:underline; text-underline-offset:3px; color:#e0c9f4; }
.legal-consent span { min-width:0; }
.danger-button { color:#ffd2df!important; border-color:#b76c814d!important; }
.priority-dialog .check-row { display:flex; gap:12px; align-items:center; min-height:44px; }
.priority-dialog input[type=checkbox] { width:25px; height:25px; min-width:25px; accent-color:#b499cb; }
.priority-dialog [role=status] { white-space:pre-wrap; overflow-wrap:anywhere; color:#e5ccd8; }
.support-entry-link { color:#cdb5df; font-size:13px; text-align:center; padding:10px; }
