2 -webkit-overflow-scrolling: touch;
3 -ms-overflow-style: -ms-autohiding-scrollbar;
8 flex-direction: column;
15 color: $valid-value-color;
19 transition: opacity 200ms ease;
27 color: $ui-highlight-color;
29 background: transparent;
35 text-decoration: underline;
39 color: $ui-primary-color;
45 background-color: $ui-highlight-color;
48 box-sizing: border-box;
49 color: $primary-text-color;
51 display: inline-block;
62 text-transform: uppercase;
63 text-decoration: none;
64 text-overflow: ellipsis;
65 transition: all 100ms ease-in;
72 background-color: lighten($ui-highlight-color, 10%);
73 transition: all 200ms ease-out;
82 background-color: $error-red;
89 background-color: $ui-primary-color;
100 outline: 0 !important;
104 &.button-alternative,
106 &.button-alternative-2 {
110 text-transform: none;
114 &.button-alternative {
115 color: $inverted-text-color;
116 background: $ui-primary-color;
121 background-color: lighten($ui-primary-color, 4%);
125 &.button-alternative-2 {
126 background: $ui-base-lighter-color;
131 background-color: lighten($ui-base-lighter-color, 4%);
136 color: $darker-text-color;
137 background: transparent;
139 border: 1px solid $ui-primary-color;
144 border-color: lighten($ui-primary-color, 4%);
145 color: lighten($darker-text-color, 4%);
158 .layout-multiple-columns &.button--with-bell {
171 display: inline-block;
173 color: $action-button-color;
176 background: transparent;
178 transition: all 100ms ease-in;
179 transition-property: background-color, color;
180 text-decoration: none;
185 color: lighten($action-button-color, 7%);
186 background-color: rgba($action-button-color, 0.15);
187 transition: all 200ms ease-out;
188 transition-property: background-color, color;
192 background-color: rgba($action-button-color, 0.3);
196 color: darken($action-button-color, 13%);
197 background-color: transparent;
202 color: $highlight-text-color;
205 &::-moz-focus-inner {
212 outline: 0 !important;
216 color: $lighter-text-color;
221 color: darken($lighter-text-color, 7%);
222 background-color: rgba($lighter-text-color, 0.15);
226 background-color: rgba($lighter-text-color, 0.3);
230 color: lighten($lighter-text-color, 7%);
231 background-color: transparent;
235 color: $highlight-text-color;
238 color: lighten($highlight-text-color, 13%);
244 box-sizing: content-box;
245 background: rgba($base-overlay-background, 0.6);
246 color: rgba($primary-text-color, 0.7);
251 background: rgba($base-overlay-background, 0.9);
256 display: inline-flex;
258 width: auto !important;
262 display: inline-block;
271 color: $lighter-text-color;
274 background: transparent;
281 transition: all 100ms ease-in;
282 transition-property: background-color, color;
287 color: darken($lighter-text-color, 7%);
288 background-color: rgba($lighter-text-color, 0.15);
289 transition: all 200ms ease-out;
290 transition-property: background-color, color;
294 background-color: rgba($lighter-text-color, 0.3);
298 color: lighten($lighter-text-color, 20%);
299 background-color: transparent;
304 color: $highlight-text-color;
307 &::-moz-focus-inner {
314 outline: 0 !important;
325 display: inline-block;
332 margin: 0 !important;
333 border: 0 !important;
334 padding: 0 !important;
336 height: 0 !important;
349 &__sensitive-button {
357 color: $highlight-text-color;
360 input[type=checkbox] {
365 display: inline-block;
367 border: 1px solid $ui-primary-color;
368 box-sizing: border-box;
375 vertical-align: middle;
378 border-color: $highlight-text-color;
379 background: $highlight-text-color;
384 .compose-form__warning {
385 color: $inverted-text-color;
387 background: $ui-primary-color;
388 box-shadow: 0 2px 6px rgba($base-shadow-color, 0.3);
395 color: $inverted-text-color;
398 @each $lang in $cjk-langs {
406 color: $lighter-text-color;
408 text-decoration: underline;
413 text-decoration: none;
418 .emoji-picker-dropdown {
424 .compose-form__autosuggest-wrapper {
428 .autosuggest-textarea,
437 transform-origin: bottom;
440 &.spoiler-input--visible {
447 .autosuggest-textarea__textarea,
448 .spoiler-input__input {
450 box-sizing: border-box;
453 color: $inverted-text-color;
454 background: $simple-background-color;
456 font-family: inherit;
463 color: $dark-text-color;
470 @media screen and (max-width: 600px) {
475 .spoiler-input__input {
479 .autosuggest-textarea__textarea {
481 border-radius: 4px 4px 0 0;
483 padding-right: 10px + 22px;
485 scrollbar-color: initial;
487 &::-webkit-scrollbar {
491 @media screen and (max-width: 600px) {
492 height: 100px !important; // prevent auto-resize textarea
497 .autosuggest-textarea__suggestions-wrapper {
502 .autosuggest-textarea__suggestions {
503 box-sizing: border-box;
509 box-shadow: 4px 4px 6px rgba($base-shadow-color, 0.4);
510 background: $ui-secondary-color;
511 border-radius: 0 0 4px 4px;
512 color: $inverted-text-color;
516 &.autosuggest-textarea__suggestions--visible {
521 .autosuggest-textarea__suggestions__item {
530 background: darken($ui-secondary-color, 10%);
534 .autosuggest-account,
536 .autosuggest-hashtag {
540 justify-content: flex-start;
545 .autosuggest-hashtag {
546 justify-content: space-between;
551 text-overflow: ellipsis;
563 text-overflow: ellipsis;
568 .autosuggest-account-icon,
569 .autosuggest-emoji img {
576 .autosuggest-account .display-name__account {
577 color: $lighter-text-color;
580 .compose-form__modifiers {
581 color: $inverted-text-color;
582 font-family: inherit;
584 background: $simple-background-color;
586 .compose-form__upload-wrapper {
590 .compose-form__uploads-wrapper {
597 .compose-form__upload {
603 background: linear-gradient(180deg, rgba($base-shadow-color, 0.8) 0, rgba($base-shadow-color, 0.35) 80%, transparent);
605 align-items: flex-start;
606 justify-content: space-between;
608 transition: opacity .1s ease;
612 color: $secondary-text-color;
616 font-family: inherit;
621 color: lighten($secondary-text-color, 7%);
636 box-sizing: border-box;
637 background: linear-gradient(0deg, rgba($base-shadow-color, 0.8) 0, rgba($base-shadow-color, 0.35) 80%, transparent);
640 transition: opacity .1s ease;
643 background: transparent;
644 color: $secondary-text-color;
649 font-family: inherit;
659 color: $secondary-text-color;
669 .compose-form__upload-thumbnail {
671 background-color: $base-shadow-color;
672 background-position: center;
673 background-size: cover;
674 background-repeat: no-repeat;
681 .compose-form__buttons-wrapper {
683 background: darken($simple-background-color, 8%);
684 border-radius: 0 0 4px 4px;
686 justify-content: space-between;
689 .compose-form__buttons {
692 .compose-form__upload-button-icon {
696 .compose-form__sensitive-button {
699 &.compose-form__sensitive-button--visible {
703 .compose-form__sensitive-button__icon {
711 box-sizing: content-box;
715 .character-counter__wrapper {
721 .compose-form__publish {
723 justify-content: flex-end;
727 .compose-form__publish-button-wrapper {
736 font-family: $font-sans-serif, sans-serif;
739 color: $lighter-text-color;
741 &.character-counter--over {
746 .no-reduce-motion .spoiler-input {
747 transition: height 0.4s ease, opacity 0.4s ease;
752 vertical-align: middle;
754 margin: -.2ex .15em .2ex;
766 background: $ui-primary-color;
773 .reply-indicator__header {
778 .reply-indicator__cancel {
783 .reply-indicator__display-name {
784 color: $inverted-text-color;
790 text-decoration: none;
793 .reply-indicator__display-avatar {
798 .status__content--with-action {
807 .reply-indicator__content {
811 word-wrap: break-word;
814 text-overflow: ellipsis;
816 color: $primary-text-color;
822 &.status__content--with-spoiler {
825 .status__content__text {
826 white-space: pre-wrap;
838 white-space: pre-wrap;
839 unicode-bidi: plaintext;
847 color: $secondary-text-color;
848 text-decoration: none;
849 unicode-bidi: isolate;
852 text-decoration: underline;
855 color: lighten($dark-text-color, 7%);
861 text-decoration: none;
864 text-decoration: underline;
870 color: $dark-text-color;
875 color: lighten($ui-highlight-color, 8%);
878 .status__content__spoiler-link {
879 background: $action-button-color;
882 background: lighten($action-button-color, 7%);
883 text-decoration: none;
886 &::-moz-focus-inner {
893 outline: 0 !important;
897 .status__content__text {
900 &.status__content__text--visible {
906 .announcements__item__content {
907 word-wrap: break-word;
918 white-space: pre-wrap;
926 color: $secondary-text-color;
927 text-decoration: none;
930 text-decoration: underline;
935 text-decoration: none;
938 text-decoration: underline;
944 color: lighten($ui-highlight-color, 8%);
949 .status__content.status__content--collapsed {
950 max-height: 20px * 15; // 15 lines is roughly above 500 characters
953 .status__content__read-more-button {
957 color: lighten($ui-highlight-color, 8%);
959 background: transparent;
962 text-decoration: none;
966 text-decoration: underline;
970 .status__content__spoiler-link {
971 display: inline-block;
973 background: transparent;
975 color: $inverted-text-color;
979 text-transform: uppercase;
982 vertical-align: middle;
985 .status__wrapper--filtered {
986 color: $dark-text-color;
990 line-height: inherit;
993 box-sizing: border-box;
996 border-bottom: 1px solid lighten($ui-base-color, 8%);
999 .status__prepend-icon-wrapper {
1007 background: lighten($ui-base-color, 4%);
1010 .detailed-status__action-bar {
1011 background: lighten($ui-base-color, 8%);
1021 border-bottom: 1px solid lighten($ui-base-color, 8%);
1024 @supports (-ms-overflow-style: -ms-autohiding-scrollbar) {
1025 // Add margin to avoid Edge auto-hiding scrollbar appearing over content.
1026 // On Edge 16 this is 16px and Edge <=15 it's 12px, so aim for 16px.
1027 padding-right: 26px; // 10px + 16px
1032 100% { opacity: 1; }
1036 animation: fade 150ms linear;
1044 .status__relative-time,
1045 .status__visibility-icon {
1046 color: $light-text-color;
1049 .status__display-name {
1050 color: $inverted-text-color;
1054 color: $light-text-color;
1057 color: $inverted-text-color;
1062 color: $inverted-text-color;
1065 color: $highlight-text-color;
1068 a.status__content__spoiler-link {
1069 color: $primary-text-color;
1070 background: $ui-primary-color;
1073 background: lighten($ui-primary-color, 8%);
1080 .status__relative-time,
1081 .notification__relative_time {
1082 color: $dark-text-color;
1085 padding-bottom: 1px;
1088 .status__visibility-icon {
1092 .status__display-name {
1093 color: $dark-text-color;
1096 .status__info .status__display-name {
1099 padding-right: 25px;
1107 border-bottom: 1px solid $ui-secondary-color;
1110 .status-check-box__status {
1111 margin: 10px 0 10px 10px;
1121 white-space: normal;
1130 .media-gallery__item-thumbnail {
1136 .status-check-box-toggle {
1137 align-items: center;
1140 justify-content: center;
1146 color: $dark-text-color;
1148 padding-bottom: 2px;
1152 .status__display-name strong {
1153 color: $dark-text-color;
1159 text-overflow: ellipsis;
1163 .status__action-bar {
1164 align-items: center;
1169 .status__action-bar-button {
1172 &.icon-button--with-counter {
1177 .status__action-bar-dropdown {
1182 .detailed-status__action-bar-dropdown {
1185 align-items: center;
1186 justify-content: center;
1191 background: lighten($ui-base-color, 4%);
1197 justify-content: space-between;
1198 align-items: flex-start;
1201 .detailed-status__meta {
1216 .status__content__spoiler-link {
1228 .detailed-status__meta {
1230 color: $dark-text-color;
1235 .detailed-status__action-bar {
1236 background: lighten($ui-base-color, 4%);
1237 border-top: 1px solid lighten($ui-base-color, 8%);
1238 border-bottom: 1px solid lighten($ui-base-color, 8%);
1240 flex-direction: row;
1244 .detailed-status__link {
1246 text-decoration: none;
1249 .detailed-status__favorites,
1250 .detailed-status__reblogs {
1251 display: inline-block;
1257 .reply-indicator__content {
1258 color: $inverted-text-color;
1262 color: $lighter-text-color;
1268 border-bottom: 1px solid lighten($ui-base-color, 8%);
1270 .domain__domain-name {
1273 color: $primary-text-color;
1274 text-decoration: none;
1287 white-space: nowrap;
1292 border-bottom: 1px solid lighten($ui-base-color, 8%);
1298 .account__avatar-wrapper {
1303 .account__display-name {
1306 color: $darker-text-color;
1308 text-decoration: none;
1319 white-space: nowrap;
1321 text-overflow: ellipsis;
1322 color: $ui-secondary-color;
1326 .follow-recommendations-account {
1328 color: $ui-primary-color;
1331 color: $valid-value-color;
1340 .account__avatar-wrapper {
1347 @include avatar-radius;
1353 background-size: 36px 36px;
1356 display: inline-block;
1357 vertical-align: middle;
1362 @include avatar-radius;
1370 box-sizing: border-box;
1378 transform: translate(-50%, -50%);
1379 color: $primary-text-color;
1380 text-shadow: 1px 1px 2px $base-shadow-color;
1387 a .account__avatar {
1391 .account__avatar-overlay {
1392 @include avatar-size(48px);
1395 @include avatar-radius;
1396 @include avatar-size(36px);
1399 @include avatar-radius;
1406 @include avatar-radius;
1407 @include avatar-size(24px);
1415 @include avatar-radius;
1422 .account__relationship {
1425 white-space: nowrap;
1428 .account__disclaimer {
1430 border-top: 1px solid lighten($ui-base-color, 8%);
1431 color: $dark-text-color;
1436 @each $lang in $cjk-langs {
1446 text-decoration: underline;
1451 text-decoration: none;
1456 .account__action-bar {
1457 border-top: 1px solid lighten($ui-base-color, 8%);
1458 border-bottom: 1px solid lighten($ui-base-color, 8%);
1465 .account__action-bar-dropdown {
1469 vertical-align: middle;
1473 .dropdown__content.dropdown__right {
1487 .account__action-bar-links {
1494 .account__action-bar__tab {
1495 text-decoration: none;
1498 border-right: 1px solid lighten($ui-base-color, 8%);
1500 border-bottom: 4px solid transparent;
1503 border-bottom: 4px solid $ui-highlight-color;
1508 text-transform: uppercase;
1510 color: $darker-text-color;
1517 color: $primary-text-color;
1519 @each $lang in $cjk-langs {
1527 .account-authorize {
1530 .detailed-status__display-name {
1532 margin-bottom: 15px;
1537 .account-authorize__avatar {
1542 .status__display-name,
1543 .status__relative-time,
1544 .detailed-status__display-name,
1545 .detailed-status__datetime,
1546 .detailed-status__application,
1547 .account__display-name {
1548 text-decoration: none;
1551 .status__display-name,
1552 .account__display-name {
1554 color: $primary-text-color;
1564 .status__display-name,
1565 .reply-indicator__display-name,
1566 .detailed-status__display-name,
1567 a.account__display-name {
1569 text-decoration: underline;
1573 .account__display-name strong {
1576 text-overflow: ellipsis;
1579 .detailed-status__application,
1580 .detailed-status__datetime {
1584 .detailed-status .button.logo-button {
1585 margin-bottom: 15px;
1588 .detailed-status__display-name {
1589 color: $secondary-text-color;
1592 margin-bottom: 15px;
1598 text-overflow: ellipsis;
1604 color: $primary-text-color;
1608 .detailed-status__display-avatar {
1633 .status__content a {
1634 color: $dark-text-color;
1637 .status__display-name strong {
1638 color: $dark-text-color;
1645 a.status__content__spoiler-link {
1646 background: $ui-base-lighter-color;
1647 color: $inverted-text-color;
1650 background: lighten($ui-base-lighter-color, 7%);
1651 text-decoration: none;
1656 .notification__message {
1657 margin: 0 10px 0 68px;
1660 color: $darker-text-color;
1666 color: $highlight-text-color;
1672 text-overflow: ellipsis;
1676 .notification__favourite-icon-wrapper {
1685 .icon-button.star-icon.active {
1689 .icon-button.bookmark-icon.active {
1690 color: $red-bookmark;
1693 .no-reduce-motion .icon-button.star-icon {
1696 animation: spring-rotate-in 1s linear;
1702 animation: spring-rotate-out 1s linear;
1707 .notification__display-name {
1710 text-decoration: none;
1713 color: $primary-text-color;
1714 text-decoration: underline;
1718 .notification__relative_time {
1726 text-overflow: ellipsis;
1727 white-space: nowrap;
1730 .display-name__html {
1734 .display-name__account {
1738 .status__relative-time,
1739 .detailed-status__datetime {
1741 text-decoration: underline;
1750 align-items: center;
1751 justify-content: center;
1752 flex-direction: column;
1753 scrollbar-width: none; /* Firefox */
1754 -ms-overflow-style: none; /* IE 10+ */
1757 scrollbar-width: none; /* Firefox */
1758 -ms-overflow-style: none; /* IE 10+ */
1761 &::-webkit-scrollbar,
1762 *::-webkit-scrollbar {
1765 background: transparent; /* Chrome/Safari/Webkit */
1768 .image-loader__preview-canvas {
1769 max-width: $media-modal-media-max-width;
1770 max-height: $media-modal-media-max-height;
1771 background: url('../images/void.png') repeat;
1772 object-fit: contain;
1779 &.image-loader--amorphous .image-loader__preview-canvas {
1789 align-items: center;
1790 justify-content: center;
1793 max-width: $media-modal-media-max-width;
1794 max-height: $media-modal-media-max-height;
1797 object-fit: contain;
1804 align-items: center;
1807 color: $darker-text-color;
1810 color: $secondary-text-color;
1818 text-decoration: none;
1821 .navigation-bar__actions {
1824 .icon-button.close {
1826 pointer-events: none;
1827 transform: scale(0, 1) translate(-100%, 0);
1831 .compose__action-bar .icon-button {
1832 pointer-events: auto;
1833 transform: scale(1, 1) translate(0, 0);
1839 .navigation-bar__profile {
1847 .navigation-bar__profile-account {
1851 text-overflow: ellipsis;
1854 .navigation-bar__profile-edit {
1856 text-decoration: none;
1860 display: inline-block;
1863 .dropdown__content {
1868 .dropdown-menu__separator {
1869 border-bottom: 1px solid darken($ui-secondary-color, 8%);
1870 margin: 5px 7px 6px;
1875 background: $ui-secondary-color;
1878 box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
1886 transform-origin: 100% 50%;
1890 transform-origin: 50% 100%;
1894 transform-origin: 50% 0;
1898 transform-origin: 0 50%;
1902 .dropdown-menu__arrow {
1906 border: 0 solid transparent;
1911 border-width: 5px 0 5px 5px;
1912 border-left-color: $ui-secondary-color;
1918 border-width: 5px 7px 0;
1919 border-top-color: $ui-secondary-color;
1925 border-width: 0 7px 5px;
1926 border-bottom-color: $ui-secondary-color;
1932 border-width: 5px 5px 5px 0;
1933 border-right-color: $ui-secondary-color;
1937 .dropdown-menu__item {
1943 box-sizing: border-box;
1944 text-decoration: none;
1945 background: $ui-secondary-color;
1946 color: $inverted-text-color;
1948 text-overflow: ellipsis;
1949 white-space: nowrap;
1954 background: $ui-highlight-color;
1955 color: $secondary-text-color;
1961 .dropdown--active .dropdown__content {
1971 background: $ui-secondary-color;
1974 box-shadow: 0 0 15px rgba($base-shadow-color, 0.4);
1994 box-sizing: border-box;
1995 text-decoration: none;
1996 background: $ui-secondary-color;
1997 color: $inverted-text-color;
1999 text-overflow: ellipsis;
2000 white-space: nowrap;
2007 background: $ui-highlight-color;
2008 color: $secondary-text-color;
2014 vertical-align: middle;
2020 flex-direction: row;
2021 justify-content: flex-start;
2031 justify-content: center;
2039 pointer-events: none;
2041 justify-content: flex-end;
2045 justify-content: flex-start;
2051 pointer-events: auto;
2057 box-sizing: border-box;
2062 flex-direction: column;
2064 @media screen and (min-width: $no-gap-breakpoint) {
2071 .tabs-bar__wrapper {
2072 background: darken($ui-base-color, 8%);
2078 @media screen and (min-width: $no-gap-breakpoint) {
2085 @media screen and (min-width: $no-gap-breakpoint) {
2086 margin-bottom: 10px;
2091 .react-swipeable-view-container {
2100 .react-swipeable-view-container > * {
2102 align-items: center;
2103 justify-content: center;
2110 box-sizing: border-box;
2112 flex-direction: column;
2115 background: $ui-base-color;
2122 flex-direction: column;
2129 box-sizing: border-box;
2131 flex-direction: column;
2138 padding: 15px 5px 13px;
2139 color: $darker-text-color;
2140 text-decoration: none;
2143 border-bottom: 2px solid transparent;
2152 @media screen and (min-width: 631px) {
2169 padding-right: 10px;
2173 .columns-area > div {
2183 box-sizing: border-box;
2185 background: lighten($ui-base-color, 8%);
2194 padding-bottom: 13px;
2195 color: $primary-text-color;
2196 text-decoration: none;
2200 border-bottom: 2px solid lighten($ui-base-color, 8%);
2201 transition: all 50ms linear;
2202 transition-property: border-bottom, background, color;
2212 @media screen and (min-width: 631px) {
2213 background: lighten($ui-base-color, 14%);
2214 border-bottom-color: lighten($ui-base-color, 14%);
2219 border-bottom: 2px solid $highlight-text-color;
2220 color: $highlight-text-color;
2229 @media screen and (min-width: 600px) {
2237 .columns-area--mobile {
2238 flex-direction: column;
2253 grid-template-columns: minmax(0, 50%) minmax(0, 50%);
2255 @media screen and (max-width: $no-gap-breakpoint) {
2268 .autosuggest-textarea__textarea {
2276 padding-right: 30px;
2286 @supports(display: grid) {
2291 @media screen and (min-width: $no-gap-breakpoint) {
2296 @media screen and (min-width: 630px) {
2307 .account__header__bar {
2316 .compose-form .compose-form__publish .compose-form__publish-button-wrapper {
2321 padding: 15px 15px 15px (48px + 15px * 2);
2322 min-height: 48px + 2px;
2334 margin-left: 48px + 15px * 2;
2338 &__prepend-icon-wrapper {
2360 margin-left: 48px + 15px * 2;
2364 &__favourite-icon-wrapper {
2376 .account__avatar-wrapper {
2384 .floating-action-button {
2387 justify-content: center;
2388 align-items: center;
2393 background: darken($ui-highlight-color, 3%);
2398 text-decoration: none;
2399 box-shadow: 2px 3px 9px rgba($base-shadow-color, 0.4);
2404 background: lighten($ui-highlight-color, 7%);
2408 @media screen and (min-width: $no-gap-breakpoint) {
2413 .react-swipeable-view-container .columns-area--mobile {
2414 height: calc(100% - 10px) !important;
2417 .getting-started__wrapper,
2419 margin-bottom: 10px;
2423 @media screen and (max-width: 600px + (285px * 1) + (10px * 1)) {
2424 .columns-area__panels__pane--compositional {
2429 @media screen and (min-width: 600px + (285px * 1) + (10px * 1)) {
2430 .floating-action-button,
2431 .tabs-bar__link.optional {
2435 .search-page .search {
2440 @media screen and (max-width: 600px + (285px * 2) + (10px * 2)) {
2441 .columns-area__panels__pane--navigational {
2446 @media screen and (min-width: 600px + (285px * 2) + (10px * 2)) {
2459 background: $ui-highlight-color;
2460 border: 2px solid lighten($ui-base-color, 8%);
2466 color: $primary-text-color;
2474 background: $error-red;
2481 .column-link--transparent .icon-with-badge__badge {
2482 border-color: darken($ui-base-color, 8%);
2490 fill: $primary-text-color;
2493 margin-bottom: 40px;
2500 margin-bottom: 10px;
2507 color: $darker-text-color;
2511 .follow-recommendations-container {
2513 flex-direction: column;
2519 justify-content: center;
2522 padding-bottom: 200px;
2537 border: 1px solid lighten($ui-base-color, 8%);
2538 background: darken($ui-base-color, 2%);
2547 color: $darker-text-color;
2555 flex-direction: column;
2556 height: calc(100% - 10px);
2561 padding-bottom: 20px;
2567 background: transparent;
2574 flex-direction: column;
2576 padding-bottom: 71px;
2577 margin-bottom: -71px;
2580 .compose-form__autosuggest-wrapper {
2582 background-color: $white;
2583 border-radius: 4px 4px 0 0;
2587 .autosuggest-textarea__textarea {
2591 .compose-form__upload-thumbnail {
2598 margin-bottom: 10px;
2599 height: calc(100% - 20px);
2602 flex-direction: column;
2611 background: transparent;
2612 border-top: 1px solid lighten($ui-base-color, 4%);
2617 background: transparent;
2622 box-sizing: border-box;
2634 background: lighten($ui-base-color, 13%);
2635 box-sizing: border-box;
2638 flex-direction: column;
2645 background: $ui-base-color;
2649 .drawer__inner__mastodon {
2650 background: lighten($ui-base-color, 13%) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 234.80078 31.757813" width="234.80078" height="31.757812"><path d="M19.599609 0c-1.05 0-2.10039.375-2.90039 1.125L0 16.925781v14.832031h234.80078V17.025391l-16.5-15.900391c-1.6-1.5-4.20078-1.5-5.80078 0l-13.80078 13.099609c-1.6 1.5-4.19883 1.5-5.79883 0L179.09961 1.125c-1.6-1.5-4.19883-1.5-5.79883 0L159.5 14.224609c-1.6 1.5-4.20078 1.5-5.80078 0L139.90039 1.125c-1.6-1.5-4.20078-1.5-5.80078 0l-13.79883 13.099609c-1.6 1.5-4.20078 1.5-5.80078 0L100.69922 1.125c-1.600001-1.5-4.198829-1.5-5.798829 0l-13.59961 13.099609c-1.6 1.5-4.200781 1.5-5.800781 0L61.699219 1.125c-1.6-1.5-4.198828-1.5-5.798828 0L42.099609 14.224609c-1.6 1.5-4.198828 1.5-5.798828 0L22.5 1.125C21.7.375 20.649609 0 19.599609 0z" fill="#{hex-color($ui-base-color)}"/></svg>') no-repeat bottom / 100% auto;
2657 object-fit: contain;
2658 object-position: bottom left;
2661 pointer-events: none;
2666 @media screen and (min-height: 640px) {
2672 background: lighten($ui-base-color, 13%);
2680 background: lighten($ui-base-color, 8%);
2681 margin-bottom: 10px;
2683 flex-direction: row;
2686 transition: background 100ms ease-in;
2689 background: lighten($ui-base-color, 3%);
2690 transition: background 200ms ease-out;
2699 -webkit-overflow-scrolling: touch;
2701 &.optionally-scrollable {
2705 @supports(display: grid) { // hack to fix Chrome <57
2711 flex-direction: column;
2721 .scrollable.fullscreen {
2722 @supports(display: grid) { // hack to fix Chrome <57
2727 .column-back-button {
2728 box-sizing: border-box;
2730 background: lighten($ui-base-color, 4%);
2731 color: $highlight-text-color;
2735 line-height: inherit;
2744 text-decoration: underline;
2748 .column-header__back-button {
2749 background: lighten($ui-base-color, 4%);
2751 font-family: inherit;
2752 color: $highlight-text-color;
2754 white-space: nowrap;
2760 text-decoration: underline;
2764 padding: 0 15px 0 0;
2768 .column-back-button__icon {
2769 display: inline-block;
2773 .column-back-button--slim {
2777 .column-back-button--slim-button {
2788 display: inline-block;
2791 background-color: transparent;
2795 -webkit-tap-highlight-color: rgba($base-overlay-background, 0);
2796 -webkit-tap-highlight-color: transparent;
2799 .react-toggle-screenreader-only {
2801 clip: rect(0 0 0 0);
2810 .react-toggle--disabled {
2811 cursor: not-allowed;
2813 transition: opacity 0.25s;
2816 .react-toggle-track {
2820 border-radius: 30px;
2821 background-color: $ui-base-color;
2822 transition: background-color 0.2s ease;
2825 .react-toggle:is(:hover, :focus-within):not(.react-toggle--disabled) .react-toggle-track {
2826 background-color: darken($ui-base-color, 10%);
2829 .react-toggle--checked .react-toggle-track {
2830 background-color: $ui-highlight-color;
2833 .react-toggle--checked:is(:hover, :focus-within):not(.react-toggle--disabled) .react-toggle-track {
2834 background-color: lighten($ui-highlight-color, 10%);
2837 .react-toggle-track-check {
2844 margin-bottom: auto;
2848 transition: opacity 0.25s ease;
2851 .react-toggle--checked .react-toggle-track-check {
2853 transition: opacity 0.25s ease;
2856 .react-toggle-track-x {
2863 margin-bottom: auto;
2867 transition: opacity 0.25s ease;
2870 .react-toggle--checked .react-toggle-track-x {
2874 .react-toggle-thumb {
2880 border: 1px solid $ui-base-color;
2882 background-color: darken($simple-background-color, 2%);
2883 box-sizing: border-box;
2884 transition: all 0.25s ease;
2885 transition-property: border-color, left;
2888 .react-toggle--checked .react-toggle-thumb {
2890 border-color: $ui-highlight-color;
2894 background: lighten($ui-base-color, 8%);
2895 color: $primary-text-color;
2899 text-decoration: none;
2904 background: lighten($ui-base-color, 11%);
2912 background: transparent;
2913 color: $ui-secondary-color;
2918 background: transparent;
2919 color: $primary-text-color;
2923 color: $ui-highlight-color;
2928 .column-link__icon {
2929 display: inline-block;
2933 .column-link__badge {
2934 display: inline-block;
2939 background: $ui-base-color;
2944 .column-subheading {
2945 background: $ui-base-color;
2946 color: $dark-text-color;
2950 text-transform: uppercase;
2954 .getting-started__wrapper,
2957 background: $ui-base-color;
2960 .getting-started__wrapper {
2969 color: $dark-text-color;
2979 margin-bottom: 10px;
2987 color: $dark-text-color;
2989 margin-bottom: 20px;
2992 color: $dark-text-color;
2993 text-decoration: underline;
2998 text-decoration: none;
2999 color: $darker-text-color;
3004 text-decoration: underline;
3012 animation: fade 150ms linear;
3017 text-transform: uppercase;
3018 color: $darker-text-color;
3021 border-bottom: 1px solid lighten($ui-base-color, 8%);
3024 @media screen and (max-height: 810px) {
3025 .trends__item:nth-of-type(3) {
3030 @media screen and (max-height: 720px) {
3031 .trends__item:nth-of-type(2) {
3036 @media screen and (max-height: 670px) {
3045 color: $darker-text-color;
3051 .keyboard-shortcuts {
3061 padding: 0 10px 8px;
3065 display: inline-block;
3067 background-color: lighten($ui-base-color, 8%);
3068 border: 1px solid darken($ui-base-color, 4%);
3074 box-sizing: border-box;
3077 color: $inverted-text-color;
3078 background: $simple-background-color;
3080 font-family: inherit;
3091 @media screen and (max-width: 600px) {
3096 button.icon-button i.fa-retweet {
3097 background-position: 0 0;
3099 transition: background-position 0.9s steps(10);
3100 transition-duration: 0s;
3101 vertical-align: middle;
3105 display: none !important;
3109 button.icon-button.active i.fa-retweet {
3110 transition-duration: 0.9s;
3111 background-position: 0 100%;
3114 .reduce-motion button.icon-button i.fa-retweet,
3115 .reduce-motion button.icon-button.active i.fa-retweet {
3123 border: 1px solid lighten($ui-base-color, 8%);
3125 color: $dark-text-color;
3127 text-decoration: none;
3137 justify-content: center;
3138 align-items: center;
3141 background: rgba($base-shadow-color, 0.6);
3146 justify-content: center;
3147 align-items: center;
3153 color: $secondary-text-color;
3154 background: transparent;
3157 text-decoration: none;
3164 color: $primary-text-color;
3180 background: lighten($ui-base-color, 8%);
3184 .status-card-photo {
3187 text-decoration: none;
3193 .status-card-video {
3200 .status-card__title {
3204 color: $darker-text-color;
3206 text-overflow: ellipsis;
3207 white-space: nowrap;
3208 text-decoration: none;
3211 .status-card__content {
3214 padding: 14px 14px 14px 8px;
3217 .status-card__description {
3218 color: $darker-text-color;
3221 .status-card__host {
3226 text-overflow: ellipsis;
3227 white-space: nowrap;
3230 .status-card__image {
3232 background: lighten($ui-base-color, 8%);
3238 transform-origin: 50% 50%;
3241 transform: translate(-50%, -50%);
3245 .status-card.horizontal {
3248 .status-card__image {
3252 .status-card__image-image,
3253 .status-card__image-preview {
3254 border-radius: 4px 4px 0 0;
3257 .status-card__title {
3258 white-space: inherit;
3262 .status-card.compact {
3263 border-color: lighten($ui-base-color, 4%);
3269 .status-card__content {
3274 .status-card__title {
3275 white-space: nowrap;
3278 .status-card__image {
3283 a.status-card.compact:hover {
3284 background-color: lighten($ui-base-color, 4%);
3287 .status-card__image-image {
3288 border-radius: 4px 0 0 4px;
3294 background-size: cover;
3295 background-position: center center;
3298 .status-card__image-preview {
3299 border-radius: 4px 0 0 4px;
3309 background: $base-overlay-background;
3318 color: $dark-text-color;
3319 background-color: transparent;
3323 line-height: inherit;
3326 box-sizing: border-box;
3329 text-decoration: none;
3332 background: lighten($ui-base-color, 2%);
3337 border-bottom: 1px solid lighten($ui-base-color, 8%);
3342 color: $darker-text-color;
3344 box-sizing: border-box;
3353 color: lighten($ui-highlight-color, 8%);
3354 text-decoration: none;
3359 text-decoration: underline;
3360 color: lighten($ui-highlight-color, 12%);
3365 .regeneration-indicator {
3369 color: $dark-text-color;
3370 background: $ui-base-color;
3374 flex-direction: column;
3375 align-items: center;
3376 justify-content: center;
3390 padding-top: 20px + 48px;
3398 margin-bottom: 10px;
3399 color: $dark-text-color;
3409 .column-header__wrapper {
3415 box-shadow: 0 1px 0 rgba($highlight-text-color, 0.3);
3426 pointer-events: none;
3429 background: radial-gradient(ellipse, rgba($ui-highlight-color, 0.23) 0%, rgba($ui-highlight-color, 0) 60%);
3442 background: lighten($ui-base-color, 4%);
3453 padding: 15px 0 15px 15px;
3455 background: transparent;
3458 text-overflow: ellipsis;
3460 white-space: nowrap;
3464 & > .column-header__back-button {
3465 color: $highlight-text-color;
3469 .column-header__icon {
3470 color: $highlight-text-color;
3471 text-shadow: 0 0 10px rgba($highlight-text-color, 0.4);
3481 .column-header__buttons {
3486 .column-header__links {
3487 margin-bottom: 14px;
3490 .column-header__links .text-btn {
3494 .column-header__button {
3495 background: lighten($ui-base-color, 4%);
3497 color: $darker-text-color;
3503 color: lighten($darker-text-color, 7%);
3507 color: $primary-text-color;
3508 background: lighten($ui-base-color, 8%);
3511 color: $primary-text-color;
3512 background: lighten($ui-base-color, 8%);
3517 .column-header__collapsible {
3521 color: $darker-text-color;
3522 transition: max-height 150ms ease-in-out, opacity 300ms linear;
3538 background: transparent;
3540 border-top: 1px solid lighten($ui-base-color, 12%);
3545 .column-header__collapsible-inner {
3546 background: lighten($ui-base-color, 8%);
3550 .column-header__setting-btn {
3553 color: $darker-text-color;
3554 text-decoration: underline;
3558 .column-header__collapsible__extra + .column-header__setting-btn {
3562 .column-header__permission-btn {
3564 font-weight: inherit;
3565 text-decoration: underline;
3568 .column-header__setting-arrows {
3571 .column-header__setting-btn {
3586 display: inline-block;
3588 font-family: inherit;
3592 background: transparent;
3596 .column-header__issue-btn {
3597 color: $warning-red;
3601 text-decoration: underline;
3605 .column-header__icon {
3606 display: inline-block;
3610 .loading-indicator {
3611 color: $dark-text-color;
3614 text-transform: uppercase;
3619 transform: translate(-50%, -50%);
3624 transform: translateX(-50%);
3625 margin: 82px 0 0 50%;
3626 white-space: nowrap;
3630 .loading-indicator__figure {
3634 transform: translate(-50%, -50%);
3637 box-sizing: border-box;
3638 background-color: transparent;
3639 border: 0 solid lighten($ui-base-color, 26%);
3644 .no-reduce-motion .loading-indicator span {
3645 animation: loader-label 1.15s infinite cubic-bezier(0.215, 0.61, 0.355, 1);
3648 .no-reduce-motion .loading-indicator__figure {
3649 animation: loader-figure 1.15s infinite cubic-bezier(0.215, 0.61, 0.355, 1);
3652 @keyframes spring-rotate-in {
3654 transform: rotate(0deg);
3658 transform: rotate(-484.8deg);
3662 transform: rotate(-316.7deg);
3666 transform: rotate(-375deg);
3670 transform: rotate(-360deg);
3674 @keyframes spring-rotate-out {
3676 transform: rotate(-360deg);
3680 transform: rotate(124.8deg);
3684 transform: rotate(-43.27deg);
3688 transform: rotate(15deg);
3692 transform: rotate(0deg);
3696 @keyframes loader-figure {
3700 background-color: lighten($ui-base-color, 26%);
3704 background-color: lighten($ui-base-color, 26%);
3710 background-color: transparent;
3720 background-color: transparent;
3724 @keyframes loader-label {
3725 0% { opacity: 0.25; }
3727 100% { opacity: 0.25; }
3730 .video-error-cover {
3731 align-items: center;
3732 background: $base-overlay-background;
3733 color: $primary-text-color;
3736 flex-direction: column;
3738 justify-content: center;
3746 background: $base-overlay-background;
3747 color: $darker-text-color;
3759 color: lighten($darker-text-color, 8%);
3763 .media-spoiler__warning {
3768 .media-spoiler__trigger {
3791 pointer-events: none;
3800 background: transparent;
3806 display: inline-block;
3807 background: rgba($base-overlay-background, 0.5);
3810 color: $primary-text-color;
3818 .spoiler-button__overlay__label {
3819 background: rgba($base-overlay-background, 0.8);
3824 .spoiler-button__overlay__label {
3825 background: rgba($base-overlay-background, 0.5);
3831 .modal-container--preloader {
3832 background: lighten($ui-base-color, 8%);
3836 background: lighten($ui-base-color, 4%);
3837 border-top: 1px solid lighten($ui-base-color, 8%);
3838 border-bottom: 1px solid lighten($ui-base-color, 8%);
3840 flex-direction: row;
3844 .account--panel__button,
3845 .detailed-status__button {
3850 .column-settings__outer {
3851 background: lighten($ui-base-color, 8%);
3855 .column-settings__section {
3856 color: $darker-text-color;
3860 margin-bottom: 10px;
3863 .column-settings__row--with-margin {
3864 margin-bottom: 15px;
3867 .column-settings__hashtags {
3868 .column-settings__row {
3869 margin-bottom: 15px;
3874 @include search-input;
3877 color: lighten($darker-text-color, 4%);
3880 &::-moz-focus-inner {
3884 &::-moz-focus-inner,
3887 outline: 0 !important;
3891 background: lighten($ui-base-color, 4%);
3894 @media screen and (max-width: 600px) {
3900 color: $dark-text-color;
3905 &__value-container {
3910 background: lighten($ui-base-color, 8%);
3918 background: lighten($ui-base-color, 12%);
3919 color: lighten($darker-text-color, 4%);
3924 &__multi-value__label,
3926 color: $darker-text-color;
3930 &__dropdown-indicator {
3933 color: $dark-text-color;
3938 color: lighten($dark-text-color, 4%);
3942 &__indicator-separator {
3943 background-color: lighten($ui-base-color, 8%);
3947 @include search-popout;
3949 background: $ui-secondary-color;
3957 color: $inverted-text-color;
3963 background: darken($ui-secondary-color, 10%);
3969 .column-settings__row {
3970 .text-btn:not(.column-header__permission-btn) {
3971 margin-bottom: 15px;
3976 color: $primary-text-color;
3979 background-color: $base-overlay-background;
3980 text-transform: uppercase;
3997 .setting-toggle__label {
3998 color: $darker-text-color;
3999 display: inline-block;
4000 margin-bottom: 14px;
4002 vertical-align: middle;
4005 .empty-column-indicator,
4007 .follow_requests-unlocked_explanation {
4008 color: $dark-text-color;
4009 background: $ui-base-color;
4017 align-items: center;
4018 justify-content: center;
4020 @supports(display: grid) { // hack to fix Chrome <57
4029 color: $highlight-text-color;
4030 text-decoration: none;
4033 text-decoration: underline;
4038 .follow_requests-unlocked_explanation {
4039 background: darken($ui-base-color, 4%);
4044 flex-direction: column;
4047 @keyframes heartbeat {
4049 transform: scale(1);
4050 animation-timing-function: ease-out;
4054 transform: scale(0.91);
4055 animation-timing-function: ease-in;
4059 transform: scale(0.98);
4060 animation-timing-function: ease-out;
4064 transform: scale(0.87);
4065 animation-timing-function: ease-in;
4069 transform: scale(1);
4070 animation-timing-function: ease-out;
4074 .no-reduce-motion .pulse-loading {
4075 transform-origin: center center;
4076 animation: heartbeat 1.5s ease-in-out infinite both;
4079 @keyframes shake-bottom {
4082 transform: rotate(0deg);
4083 transform-origin: 50% 100%;
4087 transform: rotate(2deg);
4093 transform: rotate(-4deg);
4099 transform: rotate(4deg);
4103 transform: rotate(-2deg);
4107 transform: rotate(2deg);
4111 .no-reduce-motion .shake-bottom {
4112 transform-origin: 50% 100%;
4113 animation: shake-bottom 0.8s cubic-bezier(0.455, 0.03, 0.515, 0.955) 2s 2 both;
4116 .emoji-picker-dropdown__menu {
4117 background: $simple-background-color;
4119 box-shadow: 4px 4px 6px rgba($base-shadow-color, 0.4);
4124 .emoji-mart-scroll {
4125 transition: opacity 200ms ease;
4128 &.selecting .emoji-mart-scroll {
4133 .emoji-picker-dropdown__modifiers {
4140 .emoji-picker-dropdown__modifiers__menu {
4145 background: $simple-background-color;
4147 box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2);
4155 background: transparent;
4160 background: rgba($ui-secondary-color, 0.4);
4171 background-repeat: no-repeat;
4176 align-items: center;
4177 background: rgba($base-overlay-background, 0.8);
4180 justify-content: center;
4190 pointer-events: none;
4194 .upload-area__drop {
4198 box-sizing: border-box;
4203 .upload-area__background {
4211 background: $ui-base-color;
4212 box-shadow: 0 0 5px rgba($base-shadow-color, 0.2);
4215 .upload-area__content {
4218 align-items: center;
4219 justify-content: center;
4220 color: $secondary-text-color;
4223 border: 2px dashed $ui-base-lighter-color;
4229 color: $lighter-text-color;
4240 text-transform: uppercase;
4246 .upload-progess__message {
4250 .upload-progress__backdrop {
4254 background: $ui-base-lighter-color;
4259 .upload-progress__tracker {
4264 background: $ui-highlight-color;
4270 padding: 5px 5px 2px 2px;
4276 outline: 0 !important;
4280 filter: grayscale(100%);
4298 .dropdown--active .emoji-button img {
4303 .privacy-dropdown__dropdown {
4305 background: $simple-background-color;
4306 box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
4313 transform-origin: 50% 100%;
4317 transform-origin: 50% 0;
4321 .modal-root__container .privacy-dropdown {
4325 .modal-root__container .privacy-dropdown__dropdown {
4326 pointer-events: auto;
4330 .privacy-dropdown__option {
4331 color: $inverted-text-color;
4338 background: $ui-highlight-color;
4339 color: $primary-text-color;
4342 .privacy-dropdown__option__content {
4343 color: $primary-text-color;
4346 color: $primary-text-color;
4352 background: lighten($ui-highlight-color, 4%);
4356 .privacy-dropdown__option__icon {
4358 align-items: center;
4359 justify-content: center;
4363 .privacy-dropdown__option__content {
4365 color: $lighter-text-color;
4370 color: $inverted-text-color;
4372 @each $lang in $cjk-langs {
4380 .privacy-dropdown.active {
4381 .privacy-dropdown__value {
4382 background: $simple-background-color;
4383 border-radius: 4px 4px 0 0;
4384 box-shadow: 0 -4px 4px rgba($base-shadow-color, 0.1);
4391 background: $ui-highlight-color;
4394 color: $primary-text-color;
4399 &.top .privacy-dropdown__value {
4400 border-radius: 0 0 4px 4px;
4403 .privacy-dropdown__dropdown {
4405 box-shadow: 2px 4px 6px rgba($base-shadow-color, 0.1);
4414 @include search-input;
4418 padding-right: 30px;
4423 color: lighten($darker-text-color, 4%);
4426 &::-moz-focus-inner {
4430 &::-moz-focus-inner,
4433 outline: 0 !important;
4437 background: lighten($ui-base-color, 4%);
4440 @media screen and (max-width: 600px) {
4446 &::-moz-focus-inner {
4450 &::-moz-focus-inner,
4452 outline: 0 !important;
4460 display: inline-block;
4462 transition: all 100ms linear;
4463 transition-property: transform, opacity;
4467 color: $secondary-text-color;
4469 pointer-events: none;
4472 pointer-events: auto;
4478 transform: rotate(90deg);
4481 pointer-events: none;
4482 transform: rotate(0deg);
4488 transform: rotate(0deg);
4489 color: $action-button-color;
4493 transform: rotate(90deg);
4497 color: lighten($action-button-color, 7%);
4502 .search-results__header {
4503 color: $dark-text-color;
4504 background: lighten($ui-base-color, 2%);
4511 display: inline-block;
4516 .search-results__section {
4520 background: darken($ui-base-color, 4%);
4521 border-bottom: 1px solid lighten($ui-base-color, 8%);
4527 color: $dark-text-color;
4530 display: inline-block;
4535 .account:last-child,
4536 & > div:last-child .status {
4541 .search-results__hashtag {
4544 color: $secondary-text-color;
4545 text-decoration: none;
4550 color: lighten($secondary-text-color, 4%);
4551 text-decoration: underline;
4555 .search-results__info {
4557 color: $darker-text-color;
4566 .modal-root__overlay {
4572 background: rgba($base-overlay-background, 0.7);
4573 transition: background 0.5s;
4576 .modal-root__container {
4583 flex-direction: column;
4584 align-items: center;
4585 justify-content: center;
4586 align-content: space-around;
4588 pointer-events: none;
4592 .modal-root__modal {
4593 pointer-events: auto;
4598 .video-modal__container {
4603 .audio-modal__container {
4614 color: rgba($white, 0.7);
4620 background-color: rgba($white, 0.15);
4624 background-color: rgba($white, 0.3);
4629 .media-modal__closer {
4637 .media-modal__navigation {
4643 pointer-events: none;
4644 transition: opacity 0.3s linear;
4645 will-change: opacity;
4648 pointer-events: auto;
4651 &.media-modal__navigation--hidden {
4655 pointer-events: none;
4661 background: transparent;
4662 box-sizing: border-box;
4664 color: rgba($primary-text-color, 0.7);
4667 align-items: center;
4679 color: $primary-text-color;
4683 .media-modal__nav--left {
4687 .media-modal__nav--right {
4691 .media-modal__overlay {
4699 .picture-in-picture__footer {
4701 background: transparent;
4711 background-color: rgba($white, 0.15);
4715 background-color: rgba($white, 0.3);
4719 color: $highlight-text-color;
4724 background: rgba($highlight-text-color, 0.15);
4728 background: rgba($highlight-text-color, 0.3);
4732 &.star-icon.active {
4738 background: rgba($gold-star, 0.15);
4742 background: rgba($gold-star, 0.3);
4748 background-color: transparent;
4756 .media-modal__pagination {
4758 justify-content: center;
4759 margin-bottom: 20px;
4762 .media-modal__page-dot {
4764 background-color: $white;
4773 transition: opacity .2s ease-in-out;
4780 .media-modal__close {
4787 .media-modal__zoom-button {
4792 pointer-events: auto;
4793 transition: opacity 0.3s linear;
4794 will-change: opacity;
4797 .media-modal__zoom-button--hidden {
4798 pointer-events: none;
4805 background: $ui-secondary-color;
4806 color: $inverted-text-color;
4810 flex-direction: column;
4813 .error-modal__body {
4826 box-sizing: border-box;
4829 flex-direction: column;
4830 align-items: center;
4831 justify-content: center;
4838 .error-modal__body {
4840 flex-direction: column;
4841 justify-content: center;
4842 align-items: center;
4846 .onboarding-modal__paginator,
4847 .error-modal__footer {
4849 background: darken($ui-secondary-color, 8%);
4857 .onboarding-modal__nav,
4859 color: $lighter-text-color;
4864 line-height: inherit;
4868 background-color: transparent;
4873 color: darken($lighter-text-color, 4%);
4874 background-color: darken($ui-secondary-color, 16%);
4877 &.onboarding-modal__done,
4878 &.onboarding-modal__next {
4879 color: $inverted-text-color;
4884 color: lighten($inverted-text-color, 4%);
4890 .error-modal__footer {
4891 justify-content: center;
4897 margin-bottom: 15px;
4901 color: $inverted-text-color;
4903 text-transform: uppercase;
4908 background: $ui-base-color;
4909 color: $secondary-text-color;
4917 display: inline-block;
4924 .confirmation-modal,
4929 background: lighten($ui-secondary-color, 8%);
4930 color: $inverted-text-color;
4936 flex-direction: column;
4938 .status__display-name {
4941 padding-right: 25px;
4952 .status__content__spoiler-link {
4953 color: lighten($secondary-text-color, 8%);
4960 border-bottom-color: $ui-secondary-color;
4962 padding-bottom: 10px;
4965 .dropdown-menu__separator {
4966 border-bottom-color: $ui-secondary-color;
4970 .boost-modal__container {
4980 .boost-modal__action-bar,
4981 .confirmation-modal__action-bar,
4982 .mute-modal__action-bar,
4983 .block-modal__action-bar {
4985 justify-content: space-between;
4986 background: $ui-secondary-color;
4993 color: $lighter-text-color;
4994 padding-right: 10px;
5002 .boost-modal__status-header {
5006 .boost-modal__status-time {
5016 .mute-modal .react-toggle,
5017 .block-modal .react-toggle {
5018 vertical-align: middle;
5026 .report-modal__container {
5028 border-top: 1px solid $ui-secondary-color;
5030 @media screen and (max-width: 480px) {
5036 .report-modal__statuses,
5037 .report-modal__comment {
5038 box-sizing: border-box;
5041 @media screen and (max-width: 480px) {
5046 .report-modal__statuses,
5047 .focal-point-modal__content {
5054 .status__content a {
5055 color: $highlight-text-color;
5059 .status__content p {
5060 color: $inverted-text-color;
5063 @media screen and (max-width: 480px) {
5068 .focal-point-modal__content {
5069 @media screen and (max-width: 480px) {
5075 background: transparent;
5080 margin-bottom: 29px;
5083 .report-modal__comment {
5085 border-right: 1px solid $ui-secondary-color;
5091 margin-bottom: 20px;
5096 box-sizing: border-box;
5099 color: $inverted-text-color;
5102 font-family: inherit;
5108 border: 1px solid $ui-secondary-color;
5111 margin-bottom: 10px;
5114 border: 1px solid darken($ui-secondary-color, 8%);
5119 border: 1px solid $ui-secondary-color;
5120 margin-bottom: 10px;
5134 color: $inverted-text-color;
5135 font-family: inherit;
5143 justify-content: space-between;
5144 margin-bottom: 20px;
5148 .setting-text-label {
5150 color: $inverted-text-color;
5153 margin-bottom: 10px;
5158 margin-bottom: 24px;
5161 color: $inverted-text-color;
5166 @media screen and (max-width: 480px) {
5186 .actions-modal__item-label {
5196 max-height: calc(80vh - 75px);
5205 color: $inverted-text-color;
5209 align-items: center;
5210 text-decoration: none;
5223 background: $ui-highlight-color;
5224 color: $primary-text-color;
5228 button:first-child {
5236 .confirmation-modal__action-bar,
5237 .mute-modal__action-bar,
5238 .block-modal__action-bar {
5239 .confirmation-modal__secondary-button {
5244 .confirmation-modal__secondary-button,
5245 .confirmation-modal__cancel-button,
5246 .mute-modal__cancel-button,
5247 .block-modal__cancel-button {
5248 background-color: transparent;
5249 color: $lighter-text-color;
5256 color: darken($lighter-text-color, 4%);
5257 background-color: transparent;
5261 .confirmation-modal__container,
5262 .mute-modal__container,
5263 .block-modal__container,
5264 .report-modal__target {
5271 @each $lang in $cjk-langs {
5280 box-sizing: border-box;
5282 color: $inverted-text-color;
5283 display: inline-block;
5286 font-family: inherit;
5287 background: $simple-background-color url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14.933 18.467' height='19.698' width='15.929'><path d='M3.467 14.967l-3.393-3.5H14.86l-3.392 3.5c-1.866 1.925-3.666 3.5-4 3.5-.335 0-2.135-1.575-4-3.5zm.266-11.234L7.467 0 11.2 3.733l3.733 3.734H0l3.733-3.734z' fill='#{hex-color(darken($simple-background-color, 14%))}'/></svg>") no-repeat right 8px center / auto 16px;
5288 border: 1px solid darken($simple-background-color, 14%);
5291 padding-right: 30px;
5295 .confirmation-modal__container,
5296 .report-modal__target {
5308 margin-bottom: 24px;
5310 align-items: center;
5313 color: $inverted-text-color;
5320 .report-modal__target {
5323 .report-modal__close {
5331 background-color: $highlight-text-color;
5339 .media-gallery__gifv__label {
5342 color: $primary-text-color;
5343 background: rgba($base-overlay-background, 0.5);
5351 pointer-events: none;
5353 transition: opacity 0.1s ease;
5357 .media-gallery__gifv {
5359 .media-gallery__gifv__label {
5368 border: 1px solid lighten($ui-base-color, 8%);
5375 color: $dark-text-color;
5378 border-right: 1px solid lighten($ui-base-color, 8%);
5380 flex-direction: column;
5381 align-items: center;
5382 justify-content: center;
5395 flex-direction: column;
5396 justify-content: center;
5404 text-decoration: none;
5405 color: $dark-text-color;
5409 text-decoration: underline;
5418 .attachment-list__list {
5424 color: $dark-text-color;
5431 box-sizing: border-box;
5440 .media-gallery__item {
5442 box-sizing: border-box;
5450 .media-gallery__item-gifv-thumbnail {
5457 .media-gallery__item-thumbnail {
5460 text-decoration: none;
5461 color: $secondary-text-color;
5476 .media-gallery__preview {
5484 background: $base-overlay-background;
5491 .media-gallery__gifv {
5498 .media-gallery__item-gifv-thumbnail {
5504 transform: translateY(-50%);
5509 .media-gallery__item-thumbnail-label {
5510 clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
5511 clip: rect(1px, 1px, 1px, 1px);
5515 /* End Media Gallery */
5519 .video-player__volume__current,
5520 .video-player__volume::before {
5524 .video-player__volume__handle {
5532 box-sizing: border-box;
5534 background: darken($ui-base-color, 8%);
5536 padding-bottom: 44px;
5544 .video-player__volume::before,
5545 .video-player__seek::before {
5546 background: currentColor;
5550 .video-player__seek__buffer {
5551 background: currentColor;
5555 .video-player__buttons button,
5556 .video-player__buttons a {
5557 color: currentColor;
5563 color: currentColor;
5568 .video-player__time-sep,
5569 .video-player__time-total,
5570 .video-player__time-current {
5571 color: currentColor;
5574 .video-player__seek::before,
5575 .video-player__seek__buffer,
5576 .video-player__seek__progress {
5580 .video-player__seek__handle {
5584 .video-player__controls {
5586 background: transparent;
5593 background: $base-shadow-color;
5596 box-sizing: border-box;
5602 height: 100% !important;
5617 width: 100% !important;
5618 height: 100% !important;
5622 max-width: 100% !important;
5623 max-height: 100% !important;
5624 width: 100% !important;
5625 height: 100% !important;
5632 object-fit: contain;
5635 transform: translateY(-50%);
5645 box-sizing: border-box;
5646 background: linear-gradient(0deg, rgba($base-shadow-color, 0.85) 0, rgba($base-shadow-color, 0.45) 60%, transparent);
5649 transition: opacity .1s ease;
5658 .video-player__controls {
5672 background: $base-overlay-background;
5673 color: $darker-text-color;
5675 pointer-events: none;
5679 pointer-events: auto;
5684 color: lighten($darker-text-color, 7%);
5702 justify-content: space-between;
5703 padding-bottom: 8px;
5706 .video-player__download__icon {
5715 align-items: center;
5717 white-space: nowrap;
5719 text-overflow: ellipsis;
5722 display: inline-block;
5726 background: transparent;
5730 color: rgba($white, 0.75);
5744 text-overflow: ellipsis;
5760 display: inline-block;
5771 display: inline-flex;
5777 .no-reduce-motion & {
5778 transition: all 100ms linear;
5790 background: rgba($white, 0.35);
5797 transform: translate(0, -50%);
5807 transform: translate(0, -50%);
5808 background: lighten($ui-highlight-color, 8%);
5820 transform: translate(0, -50%);
5821 background: lighten($ui-highlight-color, 8%);
5822 box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2);
5825 .no-reduce-motion & {
5826 transition: opacity 100ms linear;
5830 &.active &__handle {
5839 text-decoration: none;
5847 text-decoration: underline;
5860 background: rgba($white, 0.35);
5875 background: lighten($ui-highlight-color, 8%);
5879 background: rgba($white, 0.2);
5891 background: lighten($ui-highlight-color, 8%);
5892 box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2);
5894 .no-reduce-motion & {
5895 transition: opacity .1s ease;
5904 .video-player__seek__handle {
5912 .video-player__buttons {
5915 padding-bottom: 10px;
5932 transition: opacity 100ms ease-in;
5938 @media screen and (max-width: $no-gap-breakpoint) {
5944 box-sizing: border-box;
5945 margin-bottom: 10px;
5950 background: darken($ui-base-color, 12%);
5964 align-items: center;
5965 background: lighten($ui-base-color, 4%);
5971 align-items: center;
5972 text-decoration: none;
5994 background: darken($ui-base-color, 8%);
6005 color: $primary-text-color;
6008 text-overflow: ellipsis;
6014 color: $darker-text-color;
6017 text-overflow: ellipsis;
6023 background: $ui-base-color;
6025 align-items: center;
6026 justify-content: center;
6028 .accounts-table__count {
6034 .account__header__content {
6035 box-sizing: border-box;
6037 border-bottom: 1px solid lighten($ui-base-color, 8%);
6039 min-height: 18px + 30px;
6040 white-space: nowrap;
6042 text-overflow: ellipsis;
6060 .account-gallery__container {
6066 .account-gallery__item {
6068 box-sizing: border-box;
6079 transform: translate(-50%, -50%);
6084 .notification__filter-bar,
6085 .account__section-headline {
6086 background: darken($ui-base-color, 4%);
6087 border-bottom: 1px solid lighten($ui-base-color, 8%);
6093 background: darken($ui-base-color, 4%);
6102 color: $darker-text-color;
6107 text-decoration: none;
6110 white-space: nowrap;
6113 color: $secondary-text-color;
6124 transform: translateX(-50%);
6125 border-style: solid;
6126 border-width: 0 10px 10px;
6127 border-color: transparent transparent lighten($ui-base-color, 8%);
6132 border-color: transparent transparent $ui-base-color;
6137 &.directory__section-headline {
6138 background: darken($ui-base-color, 2%);
6139 border-bottom-color: transparent;
6149 border-color: transparent transparent darken($ui-base-color, 7%);
6157 background: $ui-base-color;
6168 .column-settings__row .radio-button {
6175 display: inline-block;
6179 white-space: nowrap;
6181 text-overflow: ellipsis;
6185 input[type=checkbox] {
6190 display: inline-block;
6192 border: 1px solid $ui-primary-color;
6193 box-sizing: border-box;
6200 vertical-align: middle;
6203 border-color: lighten($ui-highlight-color, 8%);
6204 background: lighten($ui-highlight-color, 8%);
6209 ::-webkit-scrollbar-thumb {
6214 @include search-popout;
6223 animation: flicker 4s infinite;
6229 color: $secondary-text-color;
6233 color: $highlight-text-color;
6234 text-decoration: underline;
6237 text-decoration: none;
6243 @keyframes flicker {
6245 30% { opacity: 0.75; }
6246 100% { opacity: 1; }
6249 @media screen and (max-width: 630px) and (max-height: 400px) {
6255 will-change: margin-top;
6256 transition: margin-top $duration $delay;
6260 will-change: padding-bottom;
6261 transition: padding-bottom $duration $delay;
6266 will-change: margin-top, margin-left, margin-right, width;
6267 transition: margin-top $duration $delay, margin-left $duration ($duration + $delay), margin-right $duration ($duration + $delay);
6270 & > .navigation-bar__profile-edit {
6271 will-change: margin-top;
6272 transition: margin-top $duration $delay;
6275 .navigation-bar__actions {
6276 & > .icon-button.close {
6277 will-change: opacity transform;
6278 transition: opacity $duration * 0.5 $delay,
6279 transform $duration $delay;
6282 & > .compose__action-bar .icon-button {
6283 will-change: opacity transform;
6284 transition: opacity $duration * 0.5 $delay + $duration * 0.5,
6285 transform $duration $delay;
6300 margin: -100px 10px 0 -50px;
6303 .navigation-bar__profile {
6307 .navigation-bar__profile-edit {
6312 .navigation-bar__actions {
6313 .icon-button.close {
6314 pointer-events: auto;
6316 transform: scale(1, 1) translate(0, 0);
6320 .compose__action-bar .icon-button {
6321 pointer-events: none;
6323 transform: scale(0, 1) translate(100%, 0);
6342 .embed-modal__container {
6346 margin-bottom: 15px;
6349 .embed-modal__html {
6351 box-sizing: border-box;
6356 font-family: $font-monospace, monospace;
6357 background: $ui-base-color;
6358 color: $primary-text-color;
6361 margin-bottom: 15px;
6364 &::-moz-focus-inner {
6368 &::-moz-focus-inner,
6371 outline: 0 !important;
6375 background: lighten($ui-base-color, 4%);
6378 @media screen and (max-width: 600px) {
6383 .embed-modal__iframe {
6393 .account__moved-note {
6395 padding-bottom: 16px;
6396 background: lighten($ui-base-color, 4%);
6397 border-top: 1px solid lighten($ui-base-color, 8%);
6398 border-bottom: 1px solid lighten($ui-base-color, 8%);
6403 color: $dark-text-color;
6406 padding-bottom: 4px;
6412 text-overflow: ellipsis;
6421 .detailed-status__display-avatar {
6425 .detailed-status__display-name {
6430 .column-inline-form {
6434 justify-content: flex-start;
6435 align-items: center;
6436 background: lighten($ui-base-color, 4%);
6463 background: rgba($base-overlay-background, 0.5);
6467 background: $ui-base-color;
6468 flex-direction: column;
6470 box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
6474 @media screen and (max-width: 420px) {
6480 background: lighten($ui-base-color, 13%);
6484 border-radius: 8px 8px 0 0;
6492 border-radius: 0 0 8px 8px;
6495 width: calc(100% - 60px);
6496 box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
6497 border-radius: 0 0 0 8px;
6505 .account__display-name {
6507 text-decoration: none;
6521 background: $ui-base-color;
6522 flex-direction: column;
6524 box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
6528 @media screen and (max-width: 420px) {
6533 background: lighten($ui-base-color, 13%);
6537 background: lighten($ui-base-color, 13%);
6539 border-radius: 0 0 8px 8px;
6545 border-bottom: 1px solid lighten($ui-base-color, 8%);
6552 .list__display-name {
6555 text-decoration: none;
6567 justify-content: center;
6568 align-items: center;
6569 background: $base-shadow-color;
6579 object-fit: contain;
6580 background: $base-shadow-color;
6587 transform: translate(-50%, -50%);
6588 background: url('../images/reticle.png') no-repeat 0 0;
6590 box-shadow: 0 0 0 9999em rgba($base-shadow-color, 0.35);
6607 transition: opacity 0.1s ease;
6614 color: $primary-text-color;
6623 box-shadow: 0 0 14px rgba($base-shadow-color, 0.2);
6627 @media screen and (max-width: 480px) {
6639 .account__header__content {
6640 color: $darker-text-color;
6645 word-wrap: break-word;
6648 margin-bottom: 20px;
6657 text-decoration: underline;
6660 text-decoration: none;
6671 .account__header__image,
6673 filter: grayscale(100%);
6687 background: darken($ui-base-color, 4%);
6700 background: lighten($ui-base-color, 4%);
6702 border-bottom: 1px solid lighten($ui-base-color, 12%);
6711 background: darken($ui-base-color, 8%);
6712 border: 2px solid lighten($ui-base-color, 4%);
6719 align-items: flex-start;
6725 align-items: center;
6730 border: 1px solid lighten($ui-base-color, 12%);
6732 box-sizing: content-box;
6749 vertical-align: top;
6760 color: $primary-text-color;
6763 white-space: nowrap;
6764 text-overflow: ellipsis;
6769 color: $darker-text-color;
6772 text-overflow: ellipsis;
6786 .account__header__content {
6788 padding-bottom: 5px;
6789 color: $primary-text-color;
6791 .columns-area--mobile & {
6793 padding-right: 20px;
6797 .account__header__joined {
6800 color: $darker-text-color;
6802 .columns-area--mobile & {
6804 padding-right: 20px;
6808 .account__header__fields {
6810 border-top: 1px solid lighten($ui-base-color, 12%);
6813 color: lighten($ui-highlight-color, 8%);
6816 dl:first-child .verified {
6817 border-radius: 0 4px 0 0;
6821 color: $valid-value-color;
6831 color: $darker-text-color;
6835 display: inline-block;
6836 color: $darker-text-color;
6837 text-decoration: none;
6843 color: $primary-text-color;
6851 padding-bottom: 10px;
6852 color: $primary-text-color;
6855 border-bottom: 1px solid lighten($ui-base-color, 12%);
6857 .columns-area--mobile & {
6859 padding-right: 20px;
6866 color: $darker-text-color;
6867 text-transform: uppercase;
6873 box-sizing: border-box;
6874 width: calc(100% + 20px);
6875 color: $secondary-text-color;
6876 background: transparent;
6879 font-family: inherit;
6887 color: $dark-text-color;
6892 background: $ui-base-color;
6900 color: $dark-text-color;
6901 background: lighten($ui-base-color, 2%);
6902 border-bottom: 1px solid darken($ui-base-color, 4%);
6909 display: inline-block;
6916 align-items: center;
6918 border-bottom: 1px solid lighten($ui-base-color, 8%);
6926 color: $dark-text-color;
6928 text-overflow: ellipsis;
6929 white-space: nowrap;
6936 color: $darker-text-color;
6937 text-decoration: none;
6942 text-overflow: ellipsis;
6943 white-space: nowrap;
6949 text-decoration: underline;
6961 padding-right: 15px;
6963 color: $secondary-text-color;
6971 fill: rgba($highlight-text-color, 0.25) !important;
6972 fill-opacity: 1 !important;
6976 stroke: lighten($highlight-text-color, 6%) !important;
6977 fill: none !important;
6985 border-bottom: 1px solid lighten($ui-base-color, 8%);
6990 background: lighten($ui-base-color, 2%);
7003 display: inline-block;
7004 background: $highlight-text-color;
7008 margin: -.1ex .15em .1ex;
7014 padding-right: 15px;
7020 flex-direction: row-reverse;
7021 justify-content: space-between;
7026 color: $darker-text-color;
7031 color: $darker-text-color;
7033 white-space: nowrap;
7035 text-overflow: ellipsis;
7041 color: $primary-text-color;
7042 text-decoration: none;
7047 text-decoration: underline;
7053 word-break: break-word;
7058 background: lighten($ui-base-color, 2%);
7061 background: lighten($ui-base-color, 4%);
7064 .conversation__content__info {
7068 .conversation__content__relative-time {
7069 color: $primary-text-color;
7075 background: lighten($ui-base-color, 8%);
7078 align-items: flex-end;
7084 @media screen and (max-width: 124px + 300px) {
7090 width: calc(100% - 124px);
7094 @media screen and (max-width: 124px + 300px) {
7100 box-sizing: border-box;
7106 word-wrap: break-word;
7111 flex-direction: column;
7116 margin-bottom: 10px;
7117 padding-right: 18px;
7125 background: $highlight-text-color;
7134 color: $darker-text-color;
7141 .layout-multiple-columns .announcements__mastodon {
7145 .layout-multiple-columns .announcements__container {
7152 align-items: center;
7155 width: calc(100% - (90px - 33px));
7159 background: lighten($ui-base-color, 12%);
7167 align-items: center;
7168 transition: all 100ms ease-in;
7169 transition-property: background-color, color;
7184 vertical-align: bottom;
7185 object-fit: contain;
7196 color: $darker-text-color;
7202 background: lighten($ui-base-color, 16%);
7203 transition: all 200ms ease-out;
7204 transition-property: background-color, color;
7207 color: lighten($darker-text-color, 4%);
7212 transition: all 100ms ease-in;
7213 transition-property: background-color, color;
7214 background-color: mix(lighten($ui-base-color, 12%), $ui-highlight-color, 80%);
7216 .reactions-bar__item__count {
7217 color: lighten($highlight-text-color, 8%);
7222 .emoji-picker-dropdown {
7226 &:hover .emoji-button {
7231 color: $darker-text-color;
7239 align-items: center;
7241 transition: all 100ms ease-in;
7242 transition-property: background-color, color;
7248 color: lighten($darker-text-color, 4%);
7249 transition: all 200ms ease-out;
7250 transition-property: background-color, color;
7274 border-left: 2px solid $highlight-text-color;
7275 pointer-events: none;
7280 .picture-in-picture {
7287 border-radius: 0 0 4px 4px;
7288 background: lighten($ui-base-color, 4%);
7292 justify-content: space-between;
7296 border-radius: 4px 4px 0 0;
7297 background: lighten($ui-base-color, 4%);
7300 justify-content: space-between;
7304 text-decoration: none;
7313 color: $primary-text-color;
7314 text-decoration: none;
7319 text-overflow: ellipsis;
7324 color: $darker-text-color;
7335 .picture-in-picture-placeholder {
7336 box-sizing: border-box;
7337 border: 2px dashed lighten($ui-base-color, 8%);
7338 background: $base-shadow-color;
7340 flex-direction: column;
7341 align-items: center;
7342 justify-content: center;
7347 color: $darker-text-color;
7353 margin-bottom: 10px;
7359 border-color: lighten($ui-base-color, 12%);
7363 .notifications-permission-banner {
7365 border-bottom: 1px solid lighten($ui-base-color, 8%);
7367 flex-direction: column;
7368 align-items: center;
7369 justify-content: center;
7381 margin-bottom: 15px;
7386 color: $darker-text-color;
7387 margin-bottom: 15px;