.profile-shell { position: fixed; inset: 48px 0 0 0; z-index: 60; pointer-events: none; }
.profile-shell.hidden { display: none; }
.profile-backdrop { position: absolute; inset: 0; background: rgba(4, 7, 11, .48); pointer-events: auto; }
.profile-panel { position: absolute; right: 0; top: 0; width: min(420px, 100vw); height: 100%; overflow: hidden; border-left: 1px solid #2a3441; background: #0f151d; box-shadow: -18px 0 42px rgba(0,0,0,.32); pointer-events: auto; }
.profile-panel-body { height: 100%; overflow-y: auto; padding: 0 14px 28px; }
.profile-panel-header { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; min-height: 58px; margin: 0 -14px 14px; padding: 9px 14px; border-bottom: 1px solid #26303c; background: rgba(15,21,29,.96); backdrop-filter: blur(10px); }
.profile-panel-header strong { font-size: 14px; }
.profile-privacy-note { margin-top: 3px; color: #78879a; font-size: 9px; }
.profile-close { width: 30px; height: 30px; padding: 0; border: 1px solid #303b49; border-radius: 7px; background: #171f29; color: #dfe8f2; font-size: 18px; }
.profile-identity { display: flex; align-items: center; gap: 13px; padding: 6px 0 14px; }
.profile-avatar-wrap { position: relative; width: 76px; height: 76px; flex: 0 0 76px; }
.profile-avatar { width: 76px; height: 76px; object-fit: cover; border: 1px solid #334255; border-radius: 50%; background: #15202d; }
.profile-avatar-fallback { display: grid; place-items: center; color: #dce9f8; font-size: 28px; font-weight: 800; }
.profile-avatar-change { position: absolute; left: 50%; bottom: -6px; transform: translateX(-50%); padding: 4px 7px; border: 1px solid #37465a; border-radius: 999px; background: #111a24; color: #c8d6e6; font-size: 9px; white-space: nowrap; cursor: pointer; }
.profile-handle { color: #f0f5fa; font-size: 18px; font-weight: 800; overflow-wrap: anywhere; }
.profile-joined { margin-top: 5px; color: #778699; font-size: 9px; }
.profile-bio { margin: 0 0 14px; padding: 10px; border: 1px solid #26313e; border-radius: 8px; background: #111820; color: #cbd6e2; font-size: 12px; line-height: 1.45; white-space: pre-wrap; }
.profile-muted, .profile-empty, .profile-loading, .profile-error { color: #768598; }
.profile-loading, .profile-error { padding: 48px 14px; text-align: center; font-size: 12px; }
.profile-edit-form, .profile-post-composer { display: grid; gap: 8px; padding: 10px; border: 1px solid #283442; border-radius: 9px; background: #111821; }
.profile-edit-form label { color: #aebdce; font-size: 10px; }
.profile-edit-form label > span { float: right; color: #6f7f91; }
.profile-edit-form input, .profile-edit-form textarea, .profile-post-composer textarea, .profile-inline-edit { width: 100%; margin-top: 5px; padding: 8px; border: 1px solid #334052; border-radius: 7px; outline: none; background: #0b1118; color: #edf3f8; }
.profile-edit-form textarea { min-height: 82px; resize: vertical; }
.profile-inline-status { min-height: 13px; color: #7f8da0; font-size: 9px; }
.profile-inline-status[data-kind="ok"] { color: #32d583; }
.profile-inline-status[data-kind="error"] { color: #ff7f7f; }
.profile-edit-actions, .profile-view-actions, .profile-post-actions, .profile-post-compose-row { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.profile-edit-actions button, .profile-view-actions button, .profile-post-actions button, .profile-post-compose-row button, .profile-image-picker { padding: 6px 9px; border: 1px solid #344153; border-radius: 7px; background: #18212c; color: #dce6ef; font-size: 10px; }
.profile-primary { background: #2764d8 !important; border-color: #3476ec !important; color: #fff !important; }
.profile-view-actions { margin-bottom: 14px; }
.profile-posts-section { margin-top: 16px; }
.profile-section-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; color: #cbd6e2; font-size: 11px; }
.profile-section-head span { color: #758396; }
.profile-post-composer textarea { min-height: 72px; margin: 0; resize: vertical; }
.profile-post-compose-row { justify-content: space-between; }
.profile-post-compose-row span { color: #748295; font-size: 9px; }
.profile-image-picker { cursor: pointer; }
.profile-image-picker.disabled { opacity: .45; cursor: default; }
.profile-post-preview { display: flex; align-items: center; gap: 8px; }
.profile-post-preview img { width: 64px; height: 64px; object-fit: cover; border: 1px solid #344153; border-radius: 7px; }
.profile-limit-note { color: #a68a5a; font-size: 9px; }
.profile-post-list { display: grid; gap: 8px; margin-top: 9px; }
.profile-post { padding: 10px; border: 1px solid #26313e; border-radius: 9px; background: #111820; }
.profile-post-meta { margin-bottom: 5px; color: #6f7e91; font-size: 9px; }
.profile-post-body { color: #d4dde7; font-size: 12px; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; }
.profile-post-image-button { width: 100%; margin-top: 8px; padding: 0; border: 0; background: transparent; }
.profile-post-image { display: block; width: 100%; max-height: 300px; object-fit: contain; border: 1px solid #303d4d; border-radius: 8px; background: #080c11; }
.profile-post-actions { margin-top: 8px; }
.profile-inline-edit { min-height: 74px; resize: vertical; }
.profile-empty { padding: 18px 8px; text-align: center; font-size: 10px; }
.profile-link { padding: 0; border: 0 !important; background: transparent !important; color: inherit; font: inherit; cursor: pointer; }
.profile-link:hover { text-decoration: underline; }
@media (max-width: 850px) {
  .profile-shell { inset: 48px 0 0 0; }
  .profile-panel { width: 100vw; border-left: 0; }
  .profile-backdrop { display: none; }
}
