/* Profile display - sidebar on desktop, header on mobile */ .profile-display { margin-top: 0.25rem; max-width: 100%; /* No background - same plane as page */ } .profile-banner { max-width: 100%; height: 150px; overflow: hidden; } .profile-banner img { width: 100%; height: 100%; object-fit: cover; margin: 0; border-radius: 0; } .profile-content { padding: 1.25rem; } .profile-identity { margin-bottom: 1.25rem; /* Grid unit */ } .profile-identity .avatar { width: 120px; height: 120px; margin-top: -5rem; margin-bottom: 1rem; } .profile-name-section { margin-bottom: 0.75rem; } .profile-display-name { font-size: 1.5rem; font-weight: 600; color: var(--color-text); margin: 0 0 0.25rem 0; font-family: var(--font-heading); } .profile-pronouns { font-size: 1rem; font-weight: 400; color: var(--color-muted); } .profile-handle { font-size: 0.95rem; color: var(--color-subtle); margin-bottom: 0rem; } .profile-location { font-size: 0.9rem; color: var(--color-muted); } .profile-description { color: var(--color-text); font-size: 0.875rem; line-height: 1.5; margin-top: 0.75rem; white-space: pre-wrap; } .profile-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); gap: 0.25rem; padding: 1.25rem 0; margin: 1.25rem 0; border-top: 1.5px dashed var(--color-border); border-bottom: 1.5px dashed var(--color-border); } .profile-stat { display: flex; flex-direction: column; gap: 0.25rem; } .profile-stat-label { font-size: 0.85rem; color: var(--color-subtle); } .profile-stat-value { font-size: 1.25rem; font-weight: 600; color: var(--color-primary); } .profile-links { display: flex; flex-direction: column; gap: 0.5rem; } .profile-link { color: var(--color-link); text-decoration: none; font-size: 0.9rem; transition: color 0.15s ease; } .profile-link:hover { color: var(--color-primary); } .profile-link-platform { display: inline; font-weight: 500; } .profile-loading { padding: 2rem; text-align: center; color: var(--color-muted); } /* Mobile layout */ @media (max-width: 768px) { .profile-identity .avatar { width: 80px; height: 80px; } .profile-display-name { font-size: 1.25rem; } } /* Mobile: header gets top and bottom borders */ @media (max-width: 1400px) { .profile-display { border-top: 1.5px dashed var(--color-border); border-bottom: 1.5px solid var(--color-border); } .profile-content { display: flex; flex-direction: row; justify-content: space-between; } .profile-extras { padding-inline-start: 1rem; border-inline-start: 1.5px dashed var(--color-border); } .profile-block { display: flex; flex-direction: row; } .profile-stats { border-top: none; } .profile-identity .avatar { margin-bottom: 0rem; } .profile-description { margin-top: 0rem; } .profile-name-section { margin-inline-start: 1rem; margin-top: -0.5rem; } } @media (prefers-color-scheme: dark) { .profile-display { background-color: var(--color-surface); border: 1px solid var(--color-border); } } /* Desktop: sidebar gets top and right borders */ @media (min-width: 1400px) { .profile-display { border-top: 1.5px solid var(--color-border); border-inline-end: 1.5px solid var(--color-border); } } /* Profile Invites Section */ .profile-invites { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1.5px dashed var(--color-border); } .profile-invites-header { font-size: 0.9rem; font-weight: 600; color: var(--color-text); margin: 0 0 0.75rem 0; font-family: var(--font-heading); } .profile-invites-list { display: flex; flex-direction: column; gap: 0.75rem; } .profile-invite-card { padding: 0.75rem; border: 1px solid var(--color-border); border-radius: 4px; background: var(--color-surface); } .profile-invite-from { font-size: 0.85rem; color: var(--color-subtle); margin-bottom: 0.5rem; } .profile-invite-did { color: var(--color-text); font-family: var(--font-mono); font-size: 0.8rem; } .profile-invite-message { font-size: 0.85rem; color: var(--color-muted); margin: 0.5rem 0; font-style: italic; } .profile-invite-error { font-size: 0.8rem; color: var(--color-error, #e53935); margin-bottom: 0.5rem; } .profile-invite-actions { margin-top: 0.5rem; } .profile-invite-accepted { font-size: 0.85rem; color: var(--color-success, #43a047); font-weight: 500; }