gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

style.css (16213B)


      1 /*
      2    GoToSocial
      3    Copyright (C) 2021-2023 GoToSocial Authors admin@gotosocial.org
      4 
      5    This program is free software: you can redistribute it and/or modify
      6    it under the terms of the GNU Affero General Public License as published by
      7    the Free Software Foundation, either version 3 of the License, or
      8    (at your option) any later version.
      9 
     10    This program is distributed in the hope that it will be useful,
     11    but WITHOUT ANY WARRANTY; without even the implied warranty of
     12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     13    GNU Affero General Public License for more details.
     14 
     15    You should have received a copy of the GNU Affero General Public License
     16    along with this program.  If not, see <http://www.gnu.org/licenses/>.
     17 */
     18 
     19 body {
     20 	grid-template-rows: auto 1fr;
     21 }
     22 
     23 .content {
     24 	grid-column: 1 / span 3; /* stretch entire width, to fit panel + sidebar nav */
     25 	width: 100%;
     26 }
     27 
     28 header {
     29 	justify-content: start;
     30 
     31 	a {
     32 		margin: 1.5rem;
     33 		gap: 1rem;
     34 
     35 		h1 {
     36 			font-size: 1.5rem;
     37 		}
     38 
     39 		img {
     40 			height: 3rem;
     41 		}
     42 	}
     43 }
     44 
     45 #root {
     46 	box-sizing: border-box;
     47 	display: flex;
     48 	justify-content: center;
     49 	flex-wrap: wrap;
     50 	margin: 0 1rem;
     51 	gap: 1rem;
     52 
     53 	section.oauth {
     54 		max-width: 92%;
     55 		width: 60rem;
     56 	}
     57 
     58 	section.with-sidebar {
     59 		flex-grow: 100;
     60 		flex-basis: 40rem;
     61 		background: $bg-accent;
     62 		padding: 2rem;
     63 		border-radius: $br;
     64 		max-width: 100%;
     65 
     66 		& > div, & > form {
     67 			border-left: 0.2rem solid $border-accent;
     68 			padding-left: 0.4rem;
     69 			display: flex;
     70 			flex-direction: column;
     71 			gap: 0.5rem;
     72 			margin: 1rem 0;
     73 
     74 			h2 {
     75 				margin: 0;
     76 				margin-top: 0.1rem;
     77 			}
     78 
     79 			&:only-child {
     80 				border-left: none;
     81 			}
     82 
     83 			&:first-child {
     84 				margin-top: 0;
     85 			}
     86 
     87 			&:last-child {
     88 				margin-bottom: 0;
     89 			}
     90 
     91 			&.without-border {
     92 				border-left: 0;
     93 				padding-left: 0;
     94 			}
     95 		}
     96 
     97 		& > .error {
     98 			display: grid; /* prevents error overflowing */
     99 		}
    100 	}
    101 
    102 	.sidebar {
    103 		flex-grow: 1;
    104 		flex-basis: 20rem;
    105 		align-self: start;
    106 		justify-self: end;
    107 		background: $bg;
    108 		display: flex;
    109 		flex-direction: column;
    110 
    111 		.account-card {
    112 			grid-template-columns: auto 1fr auto;
    113 
    114 			img.avatar {
    115 				width: 4rem;
    116 				height: 4rem;
    117 			}
    118 
    119 			span {
    120 				grid-row: 2;
    121 			}
    122 
    123 			.logout {
    124 				font-size: 1.5rem;
    125 				align-self: center;
    126 				grid-row: 1 / span 2;
    127 			}
    128 
    129 			&:hover {
    130 				background: $list-entry-bg;
    131 			}
    132 		}
    133 	}
    134 }
    135 
    136 nav.menu-tree {
    137 	ul {
    138 		display: flex;
    139 		flex-direction: column;
    140 		list-style-type: none;
    141 		margin: 0;
    142 		padding: 0;
    143 	}
    144 
    145 	.icon {
    146 		margin-right: 0.5rem;
    147 	}
    148 
    149 	/* top-level ul */
    150 	& > ul {
    151 		gap: 0.3rem;
    152 		padding: 0.2rem;
    153 	}
    154 
    155 	li.top-level { /* top-level categories, orange all-caps titles */
    156 		border-top: 0.1rem solid $gray3;
    157 		display: flex;
    158 		flex-direction: column;
    159 		gap: 0.3rem;
    160 		margin: 0;
    161 
    162 		& > a.title {
    163 			text-decoration: none;
    164 			color: $settings-nav-header-fg;
    165 			padding: 0.5rem;
    166 			padding-bottom: 0;
    167 			margin: 0;
    168 			font-size: 0.8rem;
    169 			font-weight: bold;
    170 			text-transform: uppercase;
    171 		}
    172 
    173 		& > ul {
    174 			gap: 0.2rem;
    175 		}
    176 	}
    177 
    178 	li.expanding { /* second-level categories, expanding box, active shows nested */
    179 		a {
    180 			display: block;
    181 			color: $fg;
    182 			text-decoration: none;
    183 
    184 			border: 0.1rem solid transparent;
    185 			border-radius: $br;
    186 			padding: 0.5rem;
    187 			transition: background 0.1s;
    188 
    189 			&:hover {
    190 				color: $settings-nav-fg-hover;
    191 				background: $settings-nav-bg-hover;
    192 			}
    193 
    194 			&:focus, &:active {
    195 				border-color: $settings-nav-border-active;
    196 				outline: none;
    197 			}
    198 		}
    199 
    200 		&.active {
    201 			border: 0.1rem solid $settings-nav-border-active;
    202 			border-radius: $br;
    203 			overflow: hidden;
    204 
    205 			a {
    206 				transition: background 0s;
    207 				border: none;
    208 				color: $settings-nav-fg-active;
    209 				background: $settings-nav-bg-active;
    210 				font-weight: bold;
    211 				border-radius: 0;
    212 			}
    213 		}
    214 	}
    215 
    216 	li.nested { /* any deeper nesting, just has indent */
    217 		a.title {
    218 			padding-left: 1rem;
    219 			font-weight: normal;
    220 			color: $fg;
    221 			background: $gray4;
    222 
    223 			&:focus {
    224 				color: $fg-accent;
    225 				outline: none;
    226 			}
    227 
    228 			&:hover {
    229 				background: $settings-nav-bg-hover;
    230 			}
    231 		}
    232 
    233 		&.active {
    234 			a.title {
    235 				color: $fg-accent;
    236 				font-weight: bold;
    237 			}
    238 		}
    239 	}
    240 }
    241 
    242 .capitalize {
    243 	text-transform: capitalize;
    244 }
    245 
    246 input, select, textarea {
    247 	box-sizing: border-box;
    248 }
    249 
    250 .error {
    251 	color: $error-fg;
    252 	background: $error-bg;
    253 	border: 0.02rem solid $error-fg;
    254 	border-radius: $br;
    255 	font-weight: bold;
    256 	padding: 0.5rem;
    257 	white-space: pre-wrap;
    258 	position: relative;
    259 
    260 	a {
    261 		color: $error-link;
    262 	}
    263 
    264 	.details {
    265 		max-width: 100%;
    266 		overflow: hidden;
    267 		display: flex;
    268 		flex-direction: column;
    269 		gap: 0.5rem;
    270 	}
    271 
    272 	pre {
    273 		background: $bg;
    274 		color: $fg;
    275 		padding: 1rem;
    276 		overflow: auto;
    277 		margin: 0;
    278 	}
    279 }
    280 
    281 .hidden {
    282 	display: none;
    283 }
    284 
    285 .messagebutton, .messagebutton > div {
    286 	display: flex;
    287 	align-items: center;
    288 	flex-wrap: wrap;
    289 
    290 	div.padded {
    291 		margin-left: 1rem;
    292 	}
    293 
    294 	button, .button {
    295 		white-space: nowrap;
    296 		margin-right: 1rem;
    297 	}
    298 }
    299 
    300 .messagebutton > div {
    301 	button, .button {
    302 		margin-top: 1rem;
    303 	}
    304 }
    305 
    306 .notImplemented {
    307 	border: 2px solid rgb(70, 79, 88);
    308 	background: repeating-linear-gradient(
    309 		-45deg,
    310 		#525c66,
    311 		#525c66 10px,
    312 		rgb(70, 79, 88) 10px,
    313 		rgb(70, 79, 88) 20px
    314 	) !important;
    315 }
    316 
    317 section.with-sidebar > div, section.with-sidebar > form {
    318 	display: flex;
    319 	flex-direction: column;
    320 	gap: 1rem;
    321 
    322 	input, textarea {
    323 		width: 100%;
    324 		line-height: 1.5rem;
    325 	}
    326 
    327 	button {
    328 		width: auto;
    329 		align-self: flex-start;
    330 		line-height: 1.5rem;
    331 	}
    332 
    333 	input[type=checkbox] {
    334 		justify-self: start;
    335 		width: initial;
    336 	}
    337 
    338 	textarea {
    339 		width: 100%;
    340 	}
    341 	
    342 	h1 {
    343 		margin-bottom: 0.5rem;
    344 	}
    345 	
    346 	.moreinfolink {
    347 		font-size: 0.9em;
    348 	}
    349 	
    350 	.labelinput .border {
    351 		border-radius: 0.2rem;
    352 		border: 0.15rem solid $border_accent;
    353 		padding: 0.3rem;
    354 		display: flex;
    355 		flex-direction: column;
    356 	}
    357 	
    358 	.file-input.button {
    359 		display: inline-block;
    360 		font-size: 1rem;
    361 		font-weight: normal;
    362 		padding: 0.3rem 0.3rem;
    363 		align-self: flex-start;
    364 		margin-right: 0.2rem;
    365 	}
    366 	
    367 	.labelinput, .labelselect {
    368 		display: flex;
    369 		flex-direction: column;
    370 		gap: 0.4rem;
    371 	}
    372 	
    373 	.labelcheckbox {
    374 		display: flex;
    375 		gap: 0.4rem;
    376 	}
    377 	
    378 	.titlesave {
    379 		display: flex;
    380 		flex-wrap: wrap;
    381 		gap: 0.4rem;
    382 	}
    383 }
    384 
    385 .form-flex {
    386 	display: flex;
    387 	flex-direction: column;
    388 	gap: 1rem;
    389 }
    390 
    391 .file-upload > div {
    392 	display: flex;
    393 	gap: 1rem;
    394 
    395 	img {
    396 		height: 8rem;
    397 		border: 0.2rem solid $border-accent;
    398 	}
    399 
    400 	img.avatar {
    401 		width: 8rem;
    402 	}
    403 
    404 	img.header {
    405 		width: 24rem;
    406 	}
    407 }
    408 
    409 .user-profile {
    410 	.overview {
    411 		display: grid;
    412 		max-width: 60rem;
    413 		grid-template-columns: 70% 30%;
    414 		grid-template-rows: 100%;
    415 		gap: 1rem;
    416 
    417 		.profile {
    418 			padding: 0;
    419 
    420 			.header {
    421 				border: 0.1rem solid $gray1;
    422 			}
    423 		}
    424 
    425 		.files {
    426 			width: 100%;
    427 			display: flex;
    428 			flex-direction: column;
    429 			justify-content: center;
    430 			gap: 1rem;
    431 
    432 			h3 {
    433 				margin: 0;
    434 				margin-bottom: 0.3rem;
    435 			}
    436 
    437 			span {
    438 				font-style: italic;
    439 			}
    440 		}
    441 	}
    442 
    443 	.fields {
    444 		display: flex;
    445 		flex-direction: column;
    446 		gap: 0.5rem;
    447 		
    448 		.entry {
    449 			display: flex;
    450 			gap: 0.5rem;
    451 		}
    452 	}
    453 }
    454 
    455 form {
    456 	display: flex;
    457 	flex-direction: column;
    458 	gap: 0.5rem;
    459 }
    460 
    461 .form-field label {
    462 	font-weight: bold;
    463 }
    464 
    465 .form-field.file label {
    466 	display: grid;
    467 	grid-template-columns: auto 1fr;
    468 
    469 	.label {
    470 		grid-column: 1 / span 2;
    471 	}
    472 }
    473 
    474 span.form-info {
    475 	flex: 1 1 auto;
    476 	overflow: hidden;
    477 	text-overflow: ellipsis;
    478 	white-space: nowrap;
    479 	padding: 0.3rem 0;
    480 	font-weight: initial;
    481 }
    482 
    483 .checkbox-list {
    484 	.header, .entry {
    485 		display: grid;
    486 		gap: 0 1rem;
    487 	}
    488 }
    489 
    490 .instance-list {
    491 	p {
    492 		margin-top: 0;
    493 	}
    494 
    495 	.filter {
    496 		display: flex;
    497 		gap: 0.5rem;
    498 	}
    499 
    500 	.entry {
    501 		padding: 0.5rem;
    502 		margin: 0.2rem 0;
    503 
    504 		#domain {
    505 			flex: 1 1 auto;
    506 			overflow: hidden;
    507 			white-space: nowrap;
    508 			text-overflow: ellipsis;
    509 		}
    510 	}
    511 }
    512 
    513 .bulk h2 {
    514 	display: flex;
    515 	justify-content: space-between;
    516 }
    517 
    518 .emoji-list {
    519 	background: $list-entry-bg;
    520 
    521 	.header .form-field {
    522 		flex: 1 1 auto;
    523 	}
    524 
    525 	.entry {
    526 		flex-direction: column;
    527 
    528 		b {
    529 			padding-left: 0.4rem;
    530 		}
    531 
    532 		.emoji-group {
    533 			display: flex;
    534 			flex-wrap: wrap;
    535 	
    536 			a {
    537 				border-radius: $br;
    538 				padding: 0.4rem;
    539 				line-height: 0;
    540 	
    541 				img {
    542 					height: 2rem;
    543 					width: 2rem;
    544 					object-fit: contain;
    545 					vertical-align: middle;
    546 				}
    547 
    548 				&:hover {
    549 					background: $list-entry-hover-bg;
    550 				}
    551 			}
    552 		}
    553 
    554 		&:hover {
    555 			background: inherit;
    556 		}
    557 	}
    558 }
    559 
    560 .toot {
    561 	padding-top: 0.5rem;
    562 	.contentgrid {
    563 		padding: 0 0.5rem;
    564 	}
    565 }
    566 
    567 @media screen and (max-width: 60rem) {
    568 	/* vertical layout */
    569 	#root {
    570 		padding: 1rem;
    571 		grid-template-columns: 100%;
    572 		grid-template-rows: auto auto;
    573 
    574 		.sidebar {
    575 			justify-self: auto;
    576 			margin-bottom: 2rem;
    577 		}
    578 
    579 		.sidebar, section.with-sidebar {
    580 			border-top-left-radius: $br;
    581 			border-top-right-radius: $br;
    582 			border-bottom-left-radius: $br;
    583 			border-bottom-right-radius: $br;
    584 		}
    585 
    586 		.sidebar a:first-child h2 {
    587 			border-top-right-radius: $br;
    588 		}
    589 	}
    590 
    591 	section {
    592 		grid-column: 1;
    593 	}
    594 
    595 	.user-profile .overview {
    596 		grid-template-columns: auto;
    597 		grid-template-rows: auto 1fr;
    598 	}
    599 
    600 	main section {
    601 		padding: 0.75rem;
    602 	}
    603 
    604 	.instance-list .filter {
    605 		flex-direction: column;
    606 	}
    607 }
    608 
    609 .combobox-wrapper {
    610   display: flex;
    611   flex-direction: column;
    612 
    613 	input[aria-expanded="true"] {
    614 		border-bottom: none;
    615 	}
    616 }
    617 
    618 .combobox {
    619   height: 2.5rem;
    620   font-size: 1rem;
    621   line-height: 1.5rem;
    622 }
    623 
    624 .popover {
    625   position: relative;
    626   z-index: 50;
    627   display: flex;
    628   max-height: min(var(--popover-available-height,300px),300px);
    629   flex-direction: column;
    630   overflow: auto;
    631   overscroll-behavior: contain;
    632 	border: 0.15rem solid $orange2;
    633 	background: $bg-accent;
    634 }
    635 
    636 .combobox-item {
    637   display: flex;
    638   cursor: pointer;
    639   scroll-margin: 0.5rem;
    640   align-items: center;
    641   gap: 0.5rem;
    642   padding: 0.5rem;
    643 	line-height: 1.5rem;
    644 	border-bottom: 0.15rem solid $gray3;
    645 
    646 	&:last-child {
    647 		border: none;
    648 	}
    649 
    650 	img {
    651 		height: 1.5rem;
    652 		width: 1.5rem;
    653 		object-fit: contain;
    654 	}
    655 }
    656 
    657 .combobox-item:hover {
    658 	background: $button-hover-bg;
    659 	color: $button-fg;
    660 }
    661 
    662 .combobox-item[data-active-item] {
    663   background: $button-hover-bg;
    664   color: hsl(204 20% 100%);
    665 }
    666 
    667 .row {
    668 	display: flex;
    669 	gap: 0.5rem;
    670 }
    671 
    672 .emoji-detail {
    673 	display: flex;
    674 	flex-direction: column;
    675 	gap: 1rem !important;
    676 
    677 	& > a {
    678 		align-self: flex-start;
    679 	}
    680 
    681 	.emoji-header {
    682 		display: flex;
    683 		align-items: center;
    684 		gap: 0.5rem;
    685 
    686 		div {
    687 			display: flex;
    688 			flex-direction: column;
    689 			gap: 0.5rem;
    690 		}
    691 
    692 		img {
    693 			height: 8.5rem;
    694 			width: 8.5rem;
    695 			border: 0.2rem solid $border-accent;
    696 			object-fit: contain;
    697 			padding: 0.5rem;
    698 		}
    699 	}
    700 
    701 	.update-category {
    702 		.combobox-wrapper button {
    703 			font-size: 1rem;
    704 			margin: 0.15rem 0;
    705 		}
    706 	
    707 		.row {
    708 			margin-top: 0.1rem;
    709 		}
    710 	}
    711 
    712 	.update-image {
    713 		display: flex;
    714 		flex-direction: column;
    715 		gap: 0.5rem;
    716 	}
    717 }
    718 
    719 .left-border {
    720 	border-left: 0.2rem solid $border-accent;
    721 	padding-left: 0.4rem;
    722 }
    723 
    724 .parse-emoji {
    725 	.parsed {
    726 		margin-top: 0.5rem;
    727 		display: flex;
    728 		flex-direction: column;
    729 		gap: 1rem;
    730 
    731 		span {
    732 			margin-bottom: -0.5rem;
    733 		}
    734 		
    735 		.action-buttons {
    736 			gap: 1rem;
    737 		}
    738 
    739 		.checkbox-list {
    740 			.entry {
    741 				grid-template-columns: auto auto 1fr;
    742 			}
    743 
    744 			.emoji {
    745 				height: 2rem;
    746 				width: 2rem;
    747 				margin: 0;
    748 			}
    749 		}
    750 	}
    751 }
    752 
    753 .info {
    754 	color: $info-fg;
    755 	background: $info-bg;
    756 	padding: 0.5rem;
    757 	border-radius: $br;
    758 
    759 	display: flex;
    760 	gap: 0.5rem;
    761 	align-items: center;
    762 
    763 	i {
    764 		margin-top: 0.1em;
    765 	}
    766 	
    767 	a {
    768 		color: $info-link;
    769 	}
    770 
    771 	p {
    772 		margin-top: 0;
    773 	}
    774 }
    775 
    776 button.with-icon, .button.with-icon {
    777 	display: flex;
    778 	align-content: center;
    779 	padding-right: calc(0.5rem + $fa-fw);
    780 
    781 	.fa {
    782 		align-self: center;
    783 	}
    784 }
    785 
    786 button.with-padding {
    787 	padding: 0.5rem calc(0.5rem + $fa-fw);
    788 }
    789 
    790 .loading-icon {
    791 	align-self: flex-start;
    792 }
    793 
    794 .fadeout {
    795 	animation-name: fadeout;
    796 	animation-duration: 0.5s;
    797 	animation-delay: 2s;
    798 	animation-fill-mode: forwards;
    799 }
    800 
    801 .suspend-import-list {
    802 	.checkbox-list-wrapper {
    803 		overflow-x: auto;
    804 		display: grid;
    805 		gap: 1rem;
    806 	}
    807 
    808 	.checkbox-list {
    809 
    810 		.header {
    811 			input[type="checkbox"] {
    812 				align-self: start;
    813 				height: 1.5rem;
    814 			}
    815 		}
    816 
    817 		.entry {
    818 			gap: 0;
    819 			width: 100%;
    820 			grid-template-columns: auto minmax(25ch, 2fr) minmax(40ch, 1fr);
    821 			grid-template-rows: auto 1fr;
    822 
    823 			input[type="checkbox"] {
    824 				margin-right: 1rem;
    825 			}
    826 
    827 			.domain-input {
    828 				margin-right: 0.5rem;
    829 				display: grid;
    830 				grid-template-columns: 1fr $fa-fw;
    831 				gap: 0.5rem;
    832 
    833 				#icon {
    834 					align-self: center;
    835 	
    836 					.already-blocked {
    837 						color: $green1;
    838 					}
    839 		
    840 					.suggest-changes {
    841 						color: $orange2;
    842 					}
    843 				}
    844 			}
    845 
    846 			p {
    847 				align-self: center;
    848 				margin: 0;
    849 				grid-column: 4;
    850 				grid-row: 1 / span 2;
    851 			}
    852 		}
    853 	}
    854 }
    855 
    856 .import-export {
    857 	p {
    858 		margin: 0;
    859 	}
    860 
    861 	.export-file {
    862 		display: flex;
    863 		gap: 0.7rem;
    864 		align-items: center;
    865 	}
    866 
    867 	.button-grid {
    868 		display: inline-grid;
    869 		grid-template-columns: auto auto auto;
    870 		align-self: start;
    871 		gap: 0.5rem;
    872 
    873 		button {
    874 			width: 100%;
    875 		}
    876 	}
    877 }
    878 
    879 @media screen and (max-width: 35rem) {
    880 	.import-export {
    881 		.button-grid {
    882 			grid-template-columns: auto auto;
    883 
    884 			b { /* filler item */
    885 				display: none;
    886 			}
    887 
    888 			& > * {
    889 				grid-column: 1 / span 2;
    890 				justify-self: start;
    891 			}
    892 
    893 			.export-file-button, .export-file {
    894 				grid-column: span 1;
    895 			}
    896 		}
    897 	}
    898 }
    899 
    900 .update-hints {
    901 	background: $list-entry-alternate-bg;
    902 	border: 0.1rem solid $border-accent;
    903 	/* border-radius: $br; */
    904 	padding: 0.5rem;
    905 	display: flex;
    906 	flex-direction: column;
    907 
    908 	.hints {
    909 		max-width: 100%;
    910 		align-self: start;
    911 		align-items: center;
    912 		margin: 1rem 0;
    913 		display: inline-grid;
    914 		grid-template-columns: auto auto auto auto;
    915 		gap: 1rem;
    916 	}
    917 }
    918 
    919 .export-format-table-wrapper {
    920 	overflow-x: auto;
    921 
    922 	&, th, td {
    923 		border: 0.1rem solid $gray1 !important;
    924 	}
    925 
    926 	.export-format-table {
    927 		background: $list-entry-alternate-bg;
    928 		border-style: hidden;
    929 		border-collapse: collapse;
    930 	
    931 		th, td {
    932 			padding: 0.3rem;
    933 		}
    934 	
    935 		th {
    936 			background: $list-entry-bg;
    937 		}
    938 	
    939 		td {
    940 			text-align: center;
    941 	
    942 			.fa-check {
    943 				color: $green1;
    944 			}
    945 	
    946 			.fa-times {
    947 				color: $error3;
    948 			}
    949 		}
    950 	}
    951 }
    952 
    953 .form-field.radio {
    954 	&, label {
    955 		display: flex;
    956 		gap: 0.5rem;
    957 	}
    958 
    959 	input {
    960 		width: auto;
    961 		place-self: center;
    962 	}
    963 }
    964 
    965 .reports {
    966 	p {
    967 		margin: 0;
    968 	}
    969 
    970 	.report {
    971 		display: flex;
    972 		flex-direction: column;
    973 		gap: 0.5rem;
    974 		margin: 0.5rem 0;
    975 
    976 		text-decoration: none;
    977 		color: $fg;
    978 
    979 		padding: 1rem;
    980 
    981 		border: none;
    982 		border-left: 0.3rem solid $border-accent;
    983 
    984 		.usernames {
    985 			line-height: 2rem;
    986 		}
    987 
    988 		.byline {
    989 			display: grid;
    990 			grid-template-columns: 1fr auto;
    991 			gap: 0.5rem;
    992 
    993 			.status {
    994 				color: $border-accent;
    995 			}
    996 		}
    997 
    998 		.details {
    999 			display: grid;
   1000 			grid-template-columns: auto 1fr;
   1001 			gap: 0.2rem 0.5rem;
   1002 			padding: 0.5rem;
   1003 
   1004 			justify-items: start;
   1005 		}
   1006 
   1007 		h3 {
   1008 			margin: 0;
   1009 		}
   1010 
   1011 		&.resolved {
   1012 			color: $fg-reduced;
   1013 			border-left: 0.4rem solid $bg;
   1014 
   1015 			.byline .status {
   1016 				color: $fg-reduced;
   1017 			}
   1018 			
   1019 			.user {
   1020 				opacity: 0.8;
   1021 			}
   1022 		}
   1023 
   1024 		&.detail {
   1025 			border: none;
   1026 			padding: 0;
   1027 		}
   1028 	}
   1029 
   1030 	.report.detail {
   1031 		display: flex;
   1032 		flex-direction: column;
   1033 		margin-top: 1rem;
   1034 		gap: 1rem;
   1035 
   1036 		.info-block {
   1037 			padding: 0.5rem;
   1038 			background: $gray2;
   1039 		}
   1040 
   1041 		.info {
   1042 			display: block;
   1043 		}
   1044 
   1045 		.reported-toots {
   1046 			margin-top: 0.5rem;
   1047 		}
   1048 
   1049 		.toot .toot-info {
   1050 			padding: 0.5rem;
   1051 			background: $toot-info-bg;
   1052 
   1053 			a {
   1054 				color: $fg-reduced;
   1055 			}
   1056 
   1057 			&:last-child {
   1058 				border-bottom-left-radius: $br;
   1059 				border-bottom-right-radius: $br;
   1060 			}
   1061 		}
   1062 	}
   1063 
   1064 	.user {
   1065 		line-height: 1.3rem;
   1066 		display: inline-block;
   1067 		background: $fg-accent;
   1068 		color: $bg;
   1069 		border-radius: $br;
   1070 		padding: 0.15rem 0.15rem;
   1071 		margin: 0 0.1rem;
   1072 		font-weight: bold;
   1073 		text-decoration: none;
   1074 
   1075 		.acct {
   1076 			word-break: break-all;
   1077 		}
   1078 
   1079 		&.suspended {
   1080 			background: $bg-accent;
   1081 			color: $fg;
   1082 			text-decoration: line-through;
   1083 		}
   1084 
   1085 		&.local {
   1086 			background: $green1;
   1087 		}
   1088 	}
   1089 }
   1090 
   1091 .account-search {
   1092 	form {
   1093 		margin-bottom: 1rem;
   1094 	}
   1095 
   1096 	.list {
   1097 		margin: 0.5rem 0;
   1098 
   1099 		a {
   1100 			color: $fg;
   1101 			text-decoration: none;
   1102 
   1103 			#username {
   1104 				color: $link-fg;
   1105 				margin-left: 0.5em;
   1106 			}
   1107 		}
   1108 	}
   1109 }
   1110 
   1111 .account-detail {
   1112 	display: flex;
   1113 	flex-direction: column;
   1114 	gap: 1rem;
   1115 
   1116 	.profile {
   1117 		overflow: hidden;
   1118 		max-width: 60rem;
   1119 	}
   1120 
   1121 	.action-buttons {
   1122 		display: flex;
   1123 		gap: 0.5rem;
   1124 	}
   1125 }
   1126 
   1127 @media screen and (orientation: portrait) {
   1128 	.reports .report .byline {
   1129 		grid-template-columns: 1fr;
   1130 
   1131 		.status {
   1132 			grid-row: 1;
   1133 		}
   1134 	}
   1135 }
   1136 
   1137 [role="button"] {
   1138 	cursor: pointer;
   1139 }
   1140 
   1141 @keyframes fadeout {
   1142 	from {
   1143 		opacity: 1;
   1144 	}
   1145 	to {
   1146 		opacity: 0;
   1147 	}
   1148 }