 d7c8e9df27
			
		
	
	
		d7c8e9df27
		
	
	
	
	
		
			
			This will crop them to a square matching behaviour of Husky and *key and allowing us to never worry about consistent alignment. Note, akkoma-fe instead displays the full image with inserted spacing.
		
			
				
	
	
		
			656 lines
		
	
	
		
			No EOL
		
	
	
		
			13 KiB
		
	
	
	
		
			CSS
		
	
	
	
	
	
			
		
		
	
	
			656 lines
		
	
	
		
			No EOL
		
	
	
		
			13 KiB
		
	
	
	
		
			CSS
		
	
	
	
	
	
| /* pleroma-light and pleroma-dark themes from pleroma-fe */
 | |
| :root {
 | |
|     --icon-filter: invert(38%) sepia(11%) saturate(209%) hue-rotate(179deg) brightness(99%) contrast(89%);
 | |
|     --wallpaper: rgba(11, 16, 23, 1);
 | |
|     --alertNeutral: rgba(185, 185, 186, 0.5);
 | |
|     --alertNeutralText: rgba(255, 255, 255, 1);
 | |
|     --avatarShadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.7);
 | |
|     --loadPostsSelected: rgba(23, 34, 46, 1);
 | |
|     --loadPostsSelectedText: rgba(185, 185, 186, 1);
 | |
|     --profileBg: rgba(7, 12, 17, 1);
 | |
|     --profileTint: rgba(15, 22, 30, 0.5);
 | |
|     --btnText: rgba(185, 185, 186, 1);
 | |
|     --btn: rgba(21, 30, 43, 1);
 | |
|     --btnShadow: 0px 0px 2px 0px rgba(0, 0, 0, 1), 0px 1px 0px 0px rgba(255, 255, 255, 0.2) inset, 0px -1px 0px 0px rgba(0, 0, 0, 0.2) inset;
 | |
|     --btnHoverShadow: 0px 0px 1px 2px rgba(185, 185, 186, 0.4) inset, 0px 1px 0px 0px rgba(255, 255, 255, 0.2) inset, 0px -1px 0px 0px rgba(0, 0, 0, 0.2) inset;
 | |
|     --lightText: rgba(236, 236, 236, 1);
 | |
|     --panelShadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.5), 0px 4px 6px 3px rgba(0, 0, 0, 0.3);
 | |
|     --panelHeaderShadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.4), 0px 1px 0px 0px rgba(255, 255, 255, 0.2) inset;
 | |
|     --topBar: rgba(21, 30, 43, 1);
 | |
|     --topBarText: rgba(159, 159, 161, 1);
 | |
|     --topBarShadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.4), 0px 2px 7px 0px rgba(0, 0, 0, 0.3);
 | |
|     --underlay: rgba(9, 14, 20, 0.6);
 | |
|     --background: rgba(15, 22, 30, 1);
 | |
|     --faint: rgba(185, 185, 186, 0.5);
 | |
|     --selectedPost: rgba(23, 34, 46, 1);
 | |
|     --link: rgba(226, 177, 136, 1);
 | |
|     --text: rgba(185, 185, 186, 1);
 | |
|     --border: rgba(26, 37, 53, 1);
 | |
|     --poll: rgba(99, 84, 72, 1);
 | |
| }
 | |
| 
 | |
| @media (prefers-color-scheme: light) {
 | |
|     :root {
 | |
|         --icon-filter: invert(67%) sepia(7%) saturate(525%) hue-rotate(173deg) brightness(90%) contrast(92%);
 | |
|         ;
 | |
|         --wallpaper: rgba(248, 250, 252, 1);
 | |
|         --alertNeutral: rgba(48, 64, 85, 0.5);
 | |
|         --alertNeutralText: rgba(0, 0, 0, 1);
 | |
|         --avatarShadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.7);
 | |
|         --loadPostsSelected: rgba(224, 233, 240, 1);
 | |
|         --loadPostsSelectedText: rgba(48, 64, 85, 1);
 | |
|         --profileBg: rgba(128, 137, 146, 1);
 | |
|         --profileTint: rgba(242, 246, 249, 0.5);
 | |
|         --btnText: rgba(48, 64, 85, 1);
 | |
|         --btn: rgba(214, 223, 237, 1);
 | |
|         --btnShadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.2), 0px 1px 0px 0px rgba(255, 255, 255, 0.5) inset, 0px -1px 0px 0px rgba(0, 0, 0, 0.2) inset;
 | |
|         --btnHoverShadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.2), 0px 0px 1px 2px rgba(255, 195, 159, 1) inset, 0px -1px 0px 0px rgba(0, 0, 0, 0.2) inset;
 | |
|         --lightText: rgba(11, 14, 19, 1);
 | |
|         --panelShadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.5), 0px 3px 6px 1px rgba(0, 0, 0, 0.2);
 | |
|         --panelHeaderShadow: 0px 1px 0px 0px rgba(255, 255, 255, 0.5) inset, 0px 1px 3px 0px rgba(0, 0, 0, 0.3);
 | |
|         --topBar: rgba(214, 223, 237, 1);
 | |
|         --topBarText: rgba(48, 64, 85, 1);
 | |
|         --topBarShadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.6);
 | |
|         --underlay: rgba(93, 96, 134, 0.4);
 | |
|         --background: rgba(242, 246, 249, 1);
 | |
|         --faint: rgba(48, 64, 85, 0.5);
 | |
|         --selectedPost: rgba(224, 233, 240, 1);
 | |
|         --link: rgba(245, 91, 27, 1);
 | |
|         --text: rgba(48, 64, 85, 1);
 | |
|         --border: rgba(216, 230, 249, 1);
 | |
|         --poll: rgba(243, 184, 160, 1);
 | |
|     }
 | |
| }
 | |
| 
 | |
| html {
 | |
|     height: 100%;
 | |
|     overflow-y: auto;
 | |
| }
 | |
| 
 | |
| body {
 | |
|     overflow: auto;
 | |
|     margin: 0;
 | |
|     height: 100%;
 | |
|     font-family: sans-serif;
 | |
|     color: var(--text);
 | |
| }
 | |
| 
 | |
| .background-image {
 | |
|     position: fixed;
 | |
|     height: 100%;
 | |
|     top: 3.5em;
 | |
|     z-index: -1000;
 | |
|     left: 0;
 | |
|     right: -20px;
 | |
|     background-size: cover;
 | |
|     background-repeat: no-repeat;
 | |
|     background-color: var(--wallpaper);
 | |
|     background-image: var(--background-image);
 | |
|     background-position: 50%;
 | |
| }
 | |
| 
 | |
| a {
 | |
|     text-decoration: none;
 | |
|     color: var(--link);
 | |
| }
 | |
| 
 | |
| nav {
 | |
|     position: sticky;
 | |
|     top: 0;
 | |
|     width: 100%;
 | |
|     height: 3.5em;
 | |
|     background-color: var(--topBar);
 | |
|     box-shadow: var(--topBarShadow);
 | |
|     z-index: 2000;
 | |
| }
 | |
| 
 | |
| .inner-nav {
 | |
|     padding: 0 1.2em;
 | |
|     margin: auto;
 | |
|     max-width: 1110px;
 | |
| }
 | |
| 
 | |
| .inner-nav a {
 | |
|     line-height: 3.5em;
 | |
|     color: var(--topBarText);
 | |
| }
 | |
| 
 | |
| .inner-nav img {
 | |
|     height: 28px;
 | |
|     width: auto;
 | |
|     vertical-align: middle;
 | |
|     padding-right: 5px
 | |
| }
 | |
| 
 | |
| body>.container {
 | |
|     display: grid;
 | |
|     grid-template-columns: minmax(25em, 45em) 25em;
 | |
|     grid-template-areas: "content sidebar";
 | |
|     height: calc(100vh - 3.5em);
 | |
|     justify-content: center;
 | |
| }
 | |
| 
 | |
| .underlay {
 | |
|     grid-column-start: 1;
 | |
|     grid-column-end: span 2;
 | |
|     grid-row-start: 1;
 | |
|     grid-row-end: 1;
 | |
|     background-color: var(--underlay);
 | |
|     z-index: -1000;
 | |
| }
 | |
| 
 | |
| .column {
 | |
|     padding: 1em;
 | |
|     margin: -0.5em;
 | |
| }
 | |
| 
 | |
| .panel {
 | |
|     background-color: var(--background);
 | |
|     border-radius: 3px;
 | |
|     box-shadow: var(--panelShadow);
 | |
| }
 | |
| 
 | |
| .panel-heading {
 | |
|     background-color: var(--topBar);
 | |
|     font-size: 1.3em;
 | |
|     padding: 0.6em;
 | |
|     border-radius: 3px 3px 0 0;
 | |
|     box-shadow: var(--panelHeaderShadow);
 | |
| }
 | |
| 
 | |
| .panel-content {
 | |
|     padding: 1em;
 | |
| }
 | |
| 
 | |
| .about-content {
 | |
|     padding: 0.6em;
 | |
| }
 | |
| 
 | |
| .main {
 | |
|     grid-area: content;
 | |
|     position: relative;
 | |
| }
 | |
| 
 | |
| .sidebar {
 | |
|     grid-area: sidebar;
 | |
|     padding-left: 0.5em;
 | |
| }
 | |
| 
 | |
| .column.flex {
 | |
|     grid-column-end: sidebar-end;
 | |
| }
 | |
| 
 | |
| .scopes-input {
 | |
|     display: flex;
 | |
|     flex-direction: column;
 | |
|     margin: 1em 0;
 | |
|     color: var(--muted-text-color);
 | |
| }
 | |
| 
 | |
| 
 | |
| .status-container,
 | |
| .repeat-header,
 | |
| .user-card {
 | |
|     display: flex;
 | |
|     padding: 0.75em;
 | |
| }
 | |
| 
 | |
| .left-side {
 | |
|     margin-right: 0.75em;
 | |
| }
 | |
| 
 | |
| .right-side {
 | |
|     flex: 1;
 | |
|     min-width: 0;
 | |
| }
 | |
| 
 | |
| .repeat-header {
 | |
|     padding: 0.4em 0.75em;
 | |
|     margin-bottom: -0.75em;
 | |
| }
 | |
| 
 | |
| .repeat-header .right-side {
 | |
|     color: var(--faint);
 | |
| }
 | |
| 
 | |
| .repeat-header .u-photo {
 | |
|     height: 20px;
 | |
|     width: 20px;
 | |
|     margin-left: 28px;
 | |
| }
 | |
| 
 | |
| .status-heading {
 | |
|     margin-bottom: 0.5em;
 | |
|     line-height: 1.3;
 | |
| }
 | |
| 
 | |
| .status-heading a {
 | |
|     display: inline-block;
 | |
|     word-break: break-all;
 | |
| }
 | |
| 
 | |
| .heading-left {
 | |
|     display: flex;
 | |
|     flex: 1;
 | |
|     overflow: hidden;
 | |
| }
 | |
| 
 | |
| .heading-right {
 | |
|     display: flex;
 | |
|     align-items: center;
 | |
| }
 | |
| 
 | |
| .heading-name-row .account-name {
 | |
|     min-width: 1.6em;
 | |
|     margin-right: 0.4em;
 | |
|     white-space: nowrap;
 | |
|     overflow: hidden;
 | |
|     text-overflow: ellipsis;
 | |
|     flex: 1 1 0;
 | |
| }
 | |
| 
 | |
| .heading-name-row .username,
 | |
| .repeat-header .username {
 | |
|     white-space: nowrap;
 | |
|     overflow: hidden;
 | |
|     max-width: 85%;
 | |
|     font-weight: bold;
 | |
|     flex-shrink: 1;
 | |
|     margin: 0;
 | |
|     margin-right: 0.4em;
 | |
|     text-overflow: ellipsis;
 | |
| }
 | |
| 
 | |
| .heading-name-row {
 | |
|     display: flex;
 | |
|     justify-content: space-between;
 | |
| }
 | |
| 
 | |
| .heading-edited-row,
 | |
| .heading-reply-row {
 | |
|     font-size: 0.85em;
 | |
|     margin-top: 0.2em;
 | |
| }
 | |
| 
 | |
| .reply-to-link {
 | |
|     color: var(--faint);
 | |
| }
 | |
| 
 | |
| .reply-to-link:hover {
 | |
|     text-decoration: underline;
 | |
| }
 | |
| 
 | |
| #selected {
 | |
|     background-color: var(--selectedPost);
 | |
| }
 | |
| 
 | |
| .timeago {
 | |
|     color: var(--faint);
 | |
| }
 | |
| 
 | |
| #selected .timeago {
 | |
|     color: var(--text);
 | |
| }
 | |
| 
 | |
| .timeago :hover {
 | |
|     text-decoration: underline;
 | |
| }
 | |
| 
 | |
| .h-card {
 | |
|     min-height: 48px;
 | |
|     margin-bottom: 8px;
 | |
| }
 | |
| 
 | |
| header a,
 | |
| .h-card a {
 | |
|     text-decoration: none;
 | |
| }
 | |
| 
 | |
| header a:hover,
 | |
| .h-card a:hover {
 | |
|     text-decoration: underline;
 | |
| }
 | |
| 
 | |
| .attachments {
 | |
|     margin-top: 0.5em;
 | |
|     flex-direction: row;
 | |
|     display: flex;
 | |
|     flex-wrap: nowrap;
 | |
|     align-content: stretch;
 | |
|     max-height: 24em;
 | |
| }
 | |
| 
 | |
| .attachment {
 | |
|     border: 1px solid var(--border);
 | |
|     border-radius: 3px;
 | |
|     display: flex;
 | |
|     flex-grow: 1;
 | |
|     justify-content: center;
 | |
|     position: relative;
 | |
|     min-width: 0;
 | |
| }
 | |
| 
 | |
| .attachment>* {
 | |
|     width: 100%;
 | |
|     object-fit: contain;
 | |
| }
 | |
| 
 | |
| .attachment:not(:last-child) {
 | |
|     margin-right: 0.5em;
 | |
| }
 | |
| 
 | |
| .nsfw-banner {
 | |
|     position: absolute;
 | |
|     height: 100%;
 | |
|     display: flex;
 | |
|     align-items: center;
 | |
| }
 | |
| 
 | |
| .nsfw-banner div {
 | |
|     width: 100%;
 | |
|     text-align: center;
 | |
| }
 | |
| 
 | |
| .nsfw-banner:not(:hover) {
 | |
|     background-color: var(--background);
 | |
| }
 | |
| 
 | |
| .nsfw-banner:hover div {
 | |
|     display: none;
 | |
| }
 | |
| 
 | |
| .poll-option {
 | |
|     position: relative;
 | |
|     display: flex;
 | |
|     margin: 0.75em 0.5em;
 | |
|     padding: 0.1em 0.25em;
 | |
|     word-break: break-word;
 | |
|     z-index: 1;
 | |
| }
 | |
| 
 | |
| .poll-option .percentage {
 | |
|     width: 3.5em;
 | |
|     flex-shrink: 0;
 | |
| }
 | |
| 
 | |
| .poll-option .fill {
 | |
|     height: 100%;
 | |
|     position: absolute;
 | |
|     background-color: var(--poll);
 | |
|     border-radius: 3px;
 | |
|     top: 0;
 | |
|     left: 0;
 | |
|     z-index: -1;
 | |
| }
 | |
| 
 | |
| .status-actions {
 | |
|     position: relative;
 | |
|     width: 100%;
 | |
|     display: flex;
 | |
|     margin-top: 0.75em;
 | |
| }
 | |
| 
 | |
| .status-actions>* {
 | |
|     max-width: 4em;
 | |
|     flex: 1;
 | |
|     display: flex;
 | |
| }
 | |
| 
 | |
| .status-summary {
 | |
|     display: block;
 | |
|     font-style: italic;
 | |
|     padding-bottom: 0.5em;
 | |
|     margin-bottom: 0.5em;
 | |
|     border-style: solid;
 | |
|     border-width: 0 0 1px 0;
 | |
|     border-color: var(--border, #222);
 | |
| }
 | |
| 
 | |
| summary {
 | |
|     text-align: center;
 | |
|     color: var(--link);
 | |
|     cursor: pointer;
 | |
| }
 | |
| 
 | |
| .status-body {
 | |
|     word-wrap: break-word;
 | |
|     word-break: break-word;
 | |
|     line-height: 1.4;
 | |
| }
 | |
| 
 | |
| .user-info {
 | |
|     padding: 0.5em 26px;
 | |
| }
 | |
| 
 | |
| .user-info .container {
 | |
|     padding: 18px 0 6px 0;
 | |
|     display: flex;
 | |
|     align-items: flex-start;
 | |
|     max-height: 56px;
 | |
| }
 | |
| 
 | |
| .user-info a {
 | |
|     color: var(--lightText);
 | |
| }
 | |
| 
 | |
| .user-info .avatar img {
 | |
|     height: 56px;
 | |
|     width: 56px;
 | |
| }
 | |
| 
 | |
| .avatar img {
 | |
|     border-radius: 3px;
 | |
|     box-shadow: var(--avatarShadow);
 | |
|     object-fit: cover;
 | |
| }
 | |
| 
 | |
| .user-summary {
 | |
|     display: block;
 | |
|     margin-left: 0.6em;
 | |
|     text-align: left;
 | |
|     text-overflow: ellipsis;
 | |
|     white-space: nowrap;
 | |
|     flex: 1 1 0;
 | |
|     z-index: 1;
 | |
|     line-height: 2em;
 | |
|     color: var(--lightText);
 | |
| }
 | |
| 
 | |
| .button-default {
 | |
|     user-select: none;
 | |
|     color: var(--btnText);
 | |
|     background-color: var(--btn);
 | |
|     border: none;
 | |
|     border-radius: 4px;
 | |
|     box-shadow: var(--btnShadow);
 | |
|     font-size: 1em;
 | |
|     min-height: 2em;
 | |
| }
 | |
| 
 | |
| .button-default:hover {
 | |
|     box-shadow: var(--btnHoverShadow);
 | |
|     cursor: pointer;
 | |
| }
 | |
| 
 | |
| .user-bio {
 | |
|     text-align: center;
 | |
|     display: block;
 | |
|     line-height: 1.3;
 | |
|     padding: 1em;
 | |
|     margin: 0;
 | |
| }
 | |
| 
 | |
| .user-banner {
 | |
|     position: absolute;
 | |
|     top: 0;
 | |
|     left: 0;
 | |
|     right: 0;
 | |
|     bottom: 0;
 | |
|     background-image: linear-gradient(to bottom, var(--profileTint), var(--profileTint)),
 | |
|         var(--user-banner);
 | |
|     background-size: cover;
 | |
|     background-color: var(--profileBg);
 | |
|     -webkit-mask: linear-gradient(to top, white, transparent) bottom no-repeat,
 | |
|         linear-gradient(to top, white, white);
 | |
|     -webkit-mask-composite: xor;
 | |
|     -webkit-mask-size: 100% 60%;
 | |
|     z-index: -2;
 | |
| }
 | |
| 
 | |
| .user-header {
 | |
|     position: relative;
 | |
|     z-index: 1;
 | |
| }
 | |
| 
 | |
| .user-role {
 | |
|     color: var(--alertNeutralText);
 | |
|     background-color: var(--alertNeutral);
 | |
|     margin: 0 0.35em;
 | |
|     padding: 0 0.25em;
 | |
|     border-radius: 2px;
 | |
| }
 | |
| 
 | |
| .user-profile-fields {
 | |
|     margin: 0 0.5em;
 | |
| }
 | |
| 
 | |
| .user-profile-field {
 | |
|     display: flex;
 | |
|     margin: 0.25em;
 | |
|     border: 1px solid var(--border, #222);
 | |
|     border-radius: 3px;
 | |
|     line-height: 1.3;
 | |
|     text-overflow: ellipsis;
 | |
|     white-space: nowrap;
 | |
|     overflow: hidden;
 | |
| }
 | |
| 
 | |
| .user-profile-field dt {
 | |
|     padding: 0.5em 1.5em;
 | |
|     box-sizing: border-box;
 | |
|     flex: 0 1 30%;
 | |
|     font-weight: 500;
 | |
|     color: var(--lightText);
 | |
|     border-right: 1px solid var(--border);
 | |
|     text-align: right;
 | |
| }
 | |
| 
 | |
| .user-profile-field dd {
 | |
|     padding: 0.5em 1.5em;
 | |
|     box-sizing: border-box;
 | |
|     flex: 1 1 30%;
 | |
|     margin: 0 0 0 0.25em;
 | |
| }
 | |
| 
 | |
| .user-counts {
 | |
|     display: flex;
 | |
|     line-height: 1em;
 | |
|     padding: 0.5em 1.5em 0 1.5em;
 | |
|     text-align: center;
 | |
|     justify-content: space-between;
 | |
|     color: var(--lightText);
 | |
|     flex-wrap: wrap;
 | |
| }
 | |
| 
 | |
| .user-count {
 | |
|     flex: 1 0 auto;
 | |
|     padding: 0.5em 0;
 | |
|     margin: 0 0.5em;
 | |
| }
 | |
| 
 | |
| .user-count h5 {
 | |
|     font-size: 1em;
 | |
|     font-weight: bolder;
 | |
|     margin: 0 0 0.25em;
 | |
| }
 | |
| 
 | |
| .tab-switcher {
 | |
|     display: flex;
 | |
|     padding-top: 5px;
 | |
|     overflow-x: auto;
 | |
|     overflow-y: hidden;
 | |
|     border-bottom: 1px solid var(--border);
 | |
| }
 | |
| 
 | |
| .tab-switcher::before,
 | |
| .tab-switcher::after {
 | |
|     flex: 1 1 auto;
 | |
|     content: '';
 | |
| }
 | |
| 
 | |
| .tab {
 | |
|     flex: 0 0 auto;
 | |
|     padding: 6px 1em;
 | |
|     border-bottom-left-radius: 0;
 | |
|     border-bottom-right-radius: 0;
 | |
| }
 | |
| 
 | |
| .tab.active {
 | |
|     background: transparent;
 | |
| }
 | |
| 
 | |
| .profile .status-container {
 | |
|     border-bottom: 1px solid var(--border);
 | |
| }
 | |
| 
 | |
| .bottom-line {
 | |
|     display: flex;
 | |
| }
 | |
| 
 | |
| .load-posts {
 | |
|     display: block;
 | |
|     box-sizing: border-box;
 | |
|     height: 3.5em;
 | |
|     line-height: 3.5em;
 | |
|     padding: 0 1em;
 | |
|     width: 100%;
 | |
|     text-align: center;
 | |
| }
 | |
| 
 | |
| .load-posts:hover {
 | |
|     background-color: var(--loadPostsSelected);
 | |
|     color: var(--loadPostsSelectedText);
 | |
| }
 | |
| 
 | |
| 
 | |
| .fa-icon {
 | |
|     height: 0.875em;
 | |
|     margin: 0 0.3em;
 | |
|     filter: var(--icon-filter);
 | |
|     align-self: center;
 | |
| }
 | |
| 
 | |
| .status-actions .fa-icon {
 | |
|     height: 1.1em;
 | |
| }
 | |
| 
 | |
| .reply-to-link .fa-icon {
 | |
|     transform: scale(-1, 1);
 | |
| }
 | |
| 
 | |
| @media (max-width: 800px) {
 | |
|     body>.container {
 | |
|         display: block;
 | |
|     }
 | |
| 
 | |
|     .column {
 | |
|         padding: 0;
 | |
|         margin: 0;
 | |
|     }
 | |
| 
 | |
|     .sidebar {
 | |
|         display: none;
 | |
|     }
 | |
| }
 | |
| 
 | |
| img:not(.u-photo, .fa-icon) {
 | |
|     width: auto;
 | |
|     height: 32px;
 | |
|     padding: 0;
 | |
|     vertical-align: middle;
 | |
| }
 | |
| 
 | |
| .username img:not(.u-photo) {
 | |
|     width: auto;
 | |
|     height: 16px;
 | |
| } |