Last active
September 2, 2025 15:30
-
-
Save timotheegoguely/c5d7a97f7a52e215ac8d16d2e094caed to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| Mastodon v4.4 Obsidian Light Theme | |
| author: @timotheegoguely@mastodon.design | |
| last update: 2025-09-02 17:30 | |
| */ | |
| :root { | |
| --primary-color: #6364ff; /* $blurple-500 Brand Purple */ | |
| --primary-color-hover: #563acc; /* $blurple-600 Iris */ | |
| --icon-color: #9c9cc9; | |
| --icon-color-hover: #fff; | |
| --label-color: #606085; | |
| --rich-text-text-color: currentColor; | |
| --rich-text-decorations-color: var(--background-border-color); | |
| --rich-text-container-color: var(--surface-variant-active-background-color); | |
| } | |
| /* Set drawer min-width to 310px max-width to 400px */ | |
| .drawer { | |
| max-width: 400px; | |
| } | |
| /* Responsive columns layout */ | |
| @media screen and (min-width: 630.02px) { | |
| .column, .drawer { | |
| flex: 1 0 auto; | |
| } | |
| .column { | |
| width: clamp(310px, calc((100% - 400px) / 4), 400px); | |
| } | |
| } | |
| /* Increase expanded status card titles and descriptions visible lines from 1 to 4 */ | |
| .status-card.expanded .status-card__title, | |
| .status-card.expanded .status-card__description { | |
| white-space: initial; | |
| display: -webkit-box; | |
| -webkit-line-clamp: 4; | |
| -webkit-box-orient: vertical; | |
| } | |
| /* Use variables for drawer and status card image icons color */ | |
| .drawer__tab, | |
| .status-card__image { | |
| color: var(--icon-color); | |
| } | |
| .drawer__header a:active, | |
| .drawer__header a:focus, | |
| .drawer__header a:hover { | |
| color: var(--icon-color-hover); | |
| } | |
| /* Content warning */ | |
| .content-warning { | |
| border-radius: 4px; | |
| } | |
| .content-warning::before, | |
| .content-warning::after { | |
| background: var(--primary-color); | |
| } | |
| /* Reduce some icons contrast */ | |
| .column-link__icon, | |
| .column-header__icon, | |
| .account__section-headline a, | |
| .account__section-headline button, | |
| .notification__filter-bar a, | |
| .notification__filter-bar button { | |
| color: var(--icon-color); | |
| } | |
| /* Except on compose button icon */ | |
| .navigation-panel__compose-button .icon { | |
| color: currentColor; | |
| } | |
| /* Add border arround announcements and adjust background color */ | |
| .announcements { | |
| background: var(--surface-background-color); | |
| border-inline: 1px solid var(--background-border-color); | |
| } | |
| /* Adjust reactions bar buttons background color */ | |
| .reactions-bar__item { | |
| background: var(--surface-variant-background-color); | |
| } | |
| .reactions-bar__item:hover, | |
| .reactions-bar__item:active { | |
| background: var(--surface-variant-active-background-color); | |
| } | |
| /* Make scrollbar background transparent */ | |
| @supports not selector(::-webkit-scrollbar) { | |
| html { | |
| scrollbar-color: rgba(96,96,133,.25) transparent; | |
| } | |
| } | |
| /* Harmonize dropdown buttons and badges styles and fix optical centering */ | |
| .dropdown-button, | |
| .account__header__badges .account-role { | |
| font-size: 13px; | |
| line-height: 16px; | |
| letter-spacing: 0; | |
| padding: 4px 6px 5px; | |
| } | |
| /* Supporter role */ | |
| .account-role[data-account-role-id="4"] svg { | |
| opacity: 0; | |
| } | |
| .account-role[data-account-role-id="4"]::before { | |
| content: ''; | |
| width: 15px; | |
| height: 15px; | |
| -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.5 3C19.5376 3 22 5.5 22 9C22 16 14.5 20 12 21.5C9.5 20 2 16 2 9C2 5.5 4.5 3 7.5 3C9.35997 3 11 4 12 5C13 4 14.64 3 16.5 3ZM12.9339 18.6038C13.8155 18.0485 14.61 17.4955 15.3549 16.9029C18.3337 14.533 20 11.9435 20 9C20 6.64076 18.463 5 16.5 5C15.4241 5 14.2593 5.56911 13.4142 6.41421L12 7.82843L10.5858 6.41421C9.74068 5.56911 8.5759 5 7.5 5C5.55906 5 4 6.6565 4 9C4 11.9435 5.66627 14.533 8.64514 16.9029C9.39 17.4955 10.1845 18.0485 11.0661 18.6038C11.3646 18.7919 11.6611 18.9729 12 19.1752C12.3389 18.9729 12.6354 18.7919 12.9339 18.6038Z' fill='black'/%3E%3C/svg%3E%0A"); | |
| mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.5 3C19.5376 3 22 5.5 22 9C22 16 14.5 20 12 21.5C9.5 20 2 16 2 9C2 5.5 4.5 3 7.5 3C9.35997 3 11 4 12 5C13 4 14.64 3 16.5 3ZM12.9339 18.6038C13.8155 18.0485 14.61 17.4955 15.3549 16.9029C18.3337 14.533 20 11.9435 20 9C20 6.64076 18.463 5 16.5 5C15.4241 5 14.2593 5.56911 13.4142 6.41421L12 7.82843L10.5858 6.41421C9.74068 5.56911 8.5759 5 7.5 5C5.55906 5 4 6.6565 4 9C4 11.9435 5.66627 14.533 8.64514 16.9029C9.39 17.4955 10.1845 18.0485 11.0661 18.6038C11.3646 18.7919 11.6611 18.9729 12 19.1752C12.3389 18.9729 12.6354 18.7919 12.9339 18.6038Z' fill='black'/%3E%3C/svg%3E%0A"); | |
| -webkit-mask-size: contain; | |
| mask-size: contain; | |
| background-color: currentColor; | |
| position: absolute; | |
| } | |
| /* Verified */ | |
| .verified { | |
| border-color: var(--background-border-color) !important; | |
| background: none !important; | |
| } | |
| .verified dt { | |
| color: var(--label-color) !important; | |
| } | |
| /* Light theme | |
| ---------------------------------------------------------------------------- */ | |
| /* Color variables */ | |
| .theme-mastodon-light { | |
| --dropdown-border-color: #E0E0E0; | |
| --dropdown-background-color: #F6F6F6; | |
| --modal-border-color: #E0E0E0; | |
| --modal-background-color: var(--background-color-tint); | |
| --background-border-color: #E0E0E0; | |
| --background-color: #F6F6F6; | |
| --background-color-tint: hsla(0,0%,100%,.8); | |
| --on-surface-color: rgba(221,217,232,.35); | |
| --icon-color: #606085; | |
| --icon-color-hover: #000; | |
| --label-color: #45455f; | |
| --rich-text-text-color: currentColor; | |
| --rich-text-decorations-color: var(--icon-color); | |
| --rich-text-decorations-color: var(--background-border-color); | |
| --rich-text-container-color: var(--surface-variant-active-background-color); | |
| } | |
| /* Adjust some background colors */ | |
| .theme-mastodon-light .status-card__image, | |
| .theme-mastodon-light .column-subheading, | |
| .theme-mastodon-light .hashtag-bar a, | |
| .theme-mastodon-light .icon-button:active, | |
| .theme-mastodon-light .icon-button:focus, | |
| .theme-mastodon-light .icon-button:hover { | |
| background: var(--on-surface-color); | |
| } | |
| .theme-mastodon-light .status__wrapper-direct, | |
| .theme-mastodon-light .notification-group--direct, | |
| .theme-mastodon-light .notification-ungrouped--direct { | |
| background: var(--nested-card-background); | |
| } | |
| .theme-mastodon-light [class*="notification-"] .status__wrapper-direct { | |
| background: transparent; | |
| } | |
| .theme-mastodon-light .detailed-status__wrapper-direct .detailed-status, | |
| .theme-mastodon-light .detailed-status__wrapper-direct .detailed-status__action-bar { | |
| background: rgba(97,97,255,.1); | |
| } | |
| .theme-mastodon-light .detailed-status__wrapper-direct:focus .detailed-status, | |
| .theme-mastodon-light .detailed-status__wrapper-direct:focus .detailed-status__action-bar { | |
| background: rgba(97,97,255,.15); | |
| } | |
| /* Reduce Mastodon mascot opacity */ | |
| .theme-mastodon-light .drawer__inner__mastodon { | |
| opacity: .6; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment