

html {
    /* Light theme */
    --black: black;
    --white: white;
    --borders: rgb(212, 219, 226);
    --greentext: #789922;
    --warning-background: #ffe0bc;
    --info-background: #D9EBFF;
    --compose-button: transparent;
    --light-text: rgb(66, 87, 108);
    --scroll-up-button: hsl(211, 28%, 6%);
    --background-hover: #F1F3F5;
    --input-background: white;
    --input-placeholder: #8D8E96;
    --button-following-text: #42576C;
    --button-follow-private: rgb(148, 122, 50);
    --button-following-private: rgb(255, 234, 178);
    --button-following-private-text: rgb(124, 102, 42);
    --menu: rgba(250,250,250, 0.5);
    --menu-text: rgb(37, 51, 66);
    --notification-new: #D6EBFE;
    --bottom-bar-icon: hsl(211, 28%, 6%);
    --label-background: rgb(241, 243, 245);
}

@media (prefers-color-scheme: dark) {

    html:not(.theme-Light) {
        /* Dark theme */
        --black: rgb(241, 243, 245);
        --white: black;
        --borders: #253342;
        --greentext: #b5bd68;
        --warning-background: #c28642;
        --info-background: #55708f;
        --compose-button: #141B23;
        --light-text: rgb(140, 158, 178);
        --scroll-up-button: --black;
        --background-hover: #141B23;
        --input-background: #141B23;
        --input-placeholder: #8D8E96;
        --button-following-text: rgb(169, 183, 197);
        --button-follow-private: rgb(148, 122, 50);
        --button-following-private: rgb(100, 82, 30);
        --button-following-private-text: var(--white);
        --menu: rgba(5,5,5, 0.5);
        --menu-text: --black;
        --notification-new: #001124;
        --bottom-bar-icon: var(--black);
        --label-background: #141B23;
    }
}

.theme-Dark{
    /* Dark theme (duplicated) */
    --black: rgb(241, 243, 245);
    --white: black;
    --borders: #253342;
    --greentext: #b5bd68;
    --warning-background: #c28642;
    --info-background: #55708f;
    --compose-button: #141B23;
    --light-text: rgb(140, 158, 178);
    --scroll-up-button: --black;
    --background-hover: #141B23;
    --input-background: #141B23;
    --input-placeholder: #8D8E96;
    --button-following-text: rgb(169, 183, 197);
    --button-follow-private: rgb(148, 122, 50);
    --button-following-private: rgb(100, 82, 30);
    --button-following-private-text: var(--white);
    --menu: rgba(5,5,5, 0.5);
    --menu-text: --black;
    --notification-new: var(--background-hover);
    --bottom-bar-icon: var(--black);
    --label-background: #141B23;
}



.accent-color-Blue {
    --accent: #0085FF;
    --blue-link: rgb(16, 131, 254);
    --default-user-avatar: url('/assets/colorized/default-user-avatar-Blue.svg');
}

.accent-color-Red {
    --accent: rgb(185, 22, 22);
    --blue-link: color-mix(in hsl, var(--accent), #fff 20%);
    --default-user-avatar: url('/assets/colorized/default-user-avatar-Red.svg');
}

.accent-color-Green {
    --accent: rgb(22, 185, 36);
    --blue-link: color-mix(in hsl, var(--accent), #fff 20%);
    --default-user-avatar: url('/assets/colorized/default-user-avatar-Green.svg');
}

.accent-color-Orange {
    --accent: rgb(228, 134, 47);
    --blue-link: color-mix(in hsl, var(--accent), #fff 20%);
    --default-user-avatar: url('/assets/colorized/default-user-avatar-Orange.svg');
}

.accent-color-Pink {
    --accent: rgb(212, 40, 218);
    --blue-link: color-mix(in hsl, var(--accent), #fff 20%);
    --default-user-avatar: url('/assets/colorized/default-user-avatar-Pink.svg');
}

.accent-color-Purple {
    --accent: rgb(81, 44, 218);
    --blue-link: color-mix(in hsl, var(--accent), #fff 20%);
    --default-user-avatar: url('/assets/colorized/default-user-avatar-Purple.svg');
}

.accent-color-Gray {
    --accent: rgb(151, 151, 151);
    --blue-link: color-mix(in hsl, var(--accent), #fff 20%);
    --default-user-avatar: url('/assets/colorized/default-user-avatar-Gray.svg');
}

.force-blue-link-accent-color {
    --blue-link: var(--accent) !important; /* html2canvas doesn't support color-mix and throws */   
}

/* If you update these colors, also update colorize.ps1 and run it. */


html, body, button {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    margin: 0;
    color: var(--black);
}

html {
    overflow-y: scroll;
    overflow-x: hidden;
    font-size: 15px;
    background: var(--white);
}

textarea, input{
    background-color: var(--input-background);
    border: 1px solid var(--borders);
    color: var(--black);
}
textarea::placeholder, input::placeholder{
    color: var(--input-placeholder);
}


.custom-feed-author-link{
    top: 20px !important;
}

.page {
    position: relative;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1;
    min-width: 0;
    padding-bottom: 70px;
}

.sidebar {
    padding-top: 50px;
    padding-left: 5px;
}

    .sidebar nav {
        font-size: 20pt;
        font-weight: normal !important;
    }

        .sidebar nav > div {
            margin-bottom: 5px;
        }

.background-shadow {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.theater-background, .theater{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 50;
}
.theater-background {
    background-color: black;
    opacity: 0.9;
}

.theater{
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: column;
}
.theater-image-container{
    flex: 1;
    min-height: 0;
}

.theater-image {
    aspect-ratio: 1;
    object-fit: contain;
    width: 100%;
    height: 100%;
}

.theater-alt, .theater-full-post-link{
    background: #333;
    color: white;
    max-height: 120px;
    padding: 10px;
    overflow-x: auto;
    font-size: 9pt;
    white-space: pre-wrap;
}

.theater-alt.theater-alt-reduced-max-height{

    max-height: 84px; /* 120px - height of theater-full-post-link */
}

.theater-full-post-link{
    font-weight: bold;
}

.theater-date {
    font-weight: normal;
}

.page {
    flex-direction: row;
}


.sidebar {
    height: 0;
    position: fixed;
    top: 0;
}

.sidebar, .sidebar-placeholder {
    width: 220px;
}

.sidebar-button {
    display: none;
    padding: 0;
    position: absolute;
    backdrop-filter: blur(10px);
    background-color:  rgb(from var(--white) r g b / 0.5);
    border-radius: 0px 0px 5px 0px;
    margin: 0;
}

.sidebar-button.sidebar-button-fixed{
    position: fixed;
}

.scroll-up-button {
    position: fixed;
    bottom: 30px;
    left: calc(max(-220px - 50px + 50vw, 148px));
    backdrop-filter: blur(10px);
    background-color: rgb(from var(--white) r g b / 0.8);
    border-radius: 100px;
    border: 1px solid var(--borders);
    z-index: 30;
    width: 52px;
    height: 52px;
    display: flex;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    padding: 0px;
    color: var(--scroll-up-button);
    
    
}

.scroll-up-button-badge {
    background-color: var(--accent);
    border-radius: 50px;
    width: 11px;
    height: 11px;
    position: absolute;
    margin-top: -32px;
    margin-left: 32px;
}

.bottom-bar {
    display: none;
    background: var(--white);
    position: fixed;
    bottom: 0;
    height: 57px;
    width: 100%;
    border-top: 1px solid var(--borders);
    align-items: stretch;
    flex-direction: row;
    z-index: 30;
}

.bottom-bar a{
    width: 100%;
    text-align: center;
    padding-top: 14px;
    color: var(--bottom-bar-icon);
}

.image-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 3px;

}
.image-grid-cell {

    overflow: hidden;
    aspect-ratio: 1 / 1;

}

.image-grid-cell-link {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
}

.image-grid-cell-image {
    width: 100%;
    height: 100%;
    
    aspect-ratio: 1;
    object-fit: cover;
}

.image-grid-cell-video-icon {
    position: absolute;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: 0.7;

}

@media (max-width: 700px){
    .image-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 700px) {
    .page {
        flex-direction: row;
    }

    .bottom-bar{
        display: flex;
    }

    .back-link {
        margin-top: 12px !important;
    }
    
    .feed-author-link {
        top: 60px !important; 
    }

    .custom-feed-author-link{
        top: 4px !important;
    }

    .top-spacer-mobile {
        height: 20px;
    }

    .scroll-up-button {
        left: 15px;
        bottom: 75px;
    }

    main{
        padding-top: 30px;
        border: 0 !important;
    }
    .profile-page {
        margin-top: 20px;
    }

    .sidebar {
        box-shadow: 10px 0 10px -5px rgba(0, 0, 0, 0.5);
        height: 100vh;
        display: none;
    }

    .sidebar {
        width: 220px;
        background-color: var(--white);
        z-index: 50;
    }
    .sidebar-placeholder {
        display: none;
    }

    .sidebar-open .sidebar {
        display: block;
        backdrop-filter: blur(10px);
        background-color:  rgb(from var(--white) r g b / 0.8);
    }

    .sidebar-open .background-shadow {
        display: block;
        background-color: gray;
        opacity: 0.3;
        z-index: 40;
        position: fixed;
    }
    .sidebar-button {
        display: block;
        background: none;
        border: none;
        padding-left: 0px;
        padding-top: 5px;
        cursor: pointer;
        z-index: 45;
        width: 50px;
        height: 45px;
        top: 0px;
    }

    .tabbed-lists-header{
        width: 100vw;
    }
}


#blazor-error-ui {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }



a {
    text-decoration: none;
    color: var(--black);
}

main {
    border-left: 1px solid;
    border-right: 1px solid;
    border-color: var(--borders);
    min-height: 100vh;
}

h1 {
    margin-left: 20px;
    word-wrap: anywhere;
}

.main-padding {
    margin-left: 20px;
}

/*html, body, .page, main {
    height: 100% !important;
}*/

.underline-on-hover:hover, .blue-link:hover {
    text-decoration: underline;
}
.blue-link {
    color: var(--blue-link);
}

body {
    max-width: 820px;
    margin: 0 auto;

}

li {
    list-style: none;
}

ul {
    padding-left: 0px;
}

.post-list {
    margin: 20px auto;
    position: relative;
}

    .post-list > .post.post-last-of-group {
        margin-bottom: 30px;
    }
.post-thread-line, .post-thread-continuation-line {
    position: absolute;
    bottom: 0;
    top: 0;
    margin-left: 38px;
}

.post-thread-line {
    border-left: 2px solid var(--borders);
    top: 50px;
    pointer-events: none;
}

.post-thread-continuation-line {
    border-left: 2px dotted var(--borders);
    height: 50px;
}

.post-group-separator {
    margin-top: -20px;
    border-bottom: 1px solid var(--borders);
    width: 100%;
    position: absolute;
}

.post-rest-of-thread {
    display: block;
    margin-bottom: 10px;
}


.post {
    position: relative;
}

.post-focal {
    padding-bottom: 10px;
}

.post-focal > .post-background-link {
    pointer-events: none;
}

.post-focal > .post-body {
    margin-top: 5px;
    font-size: 18.75px;
    margin-bottom: 5px;
    cursor: text;
}

.post-focal > .post-meta > .handle-generic{
    display: block;
}
.post-focal > .post-meta > .handle-generic::before{
    width: auto;
}

.profile-row {
    margin-bottom: 10px;
    padding-left: 20px;
    position: relative;
    border-bottom: 1px solid var(--borders);
    padding-bottom: 10px;
    min-height: 50px;
}

.profile-row-avatar{
    position: absolute;
}

.profile-row-name {
    font-weight: bold;
    position: relative;
    display: inline-block;
    word-break: break-word;
}



.profile-indented {
    margin-left: 60px;
    margin-right: 120px;
}

.profile-row-description{
    white-space: pre-wrap;
    word-break: break-word;
    overflow-wrap: break-word;
    margin-top: 8px;
    margin-right: 20px;
}

.profile-image-small {
    vertical-align: middle;
}

.post-author-image-link {
    position: absolute;
    margin-left: 16px;
}

.post-author-image, .profile-image-small {
    width: 42px;
    height: 42px;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 24px;
    border: 1px solid gray;
}

.profile-image-large-link{
    cursor: default;
    margin-left: 9px;
}
.profile-image-large {
    width: 128px;
    height: 128px;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 128px;
    border: 1px solid gray;
    margin-top: 10px;
    position: relative;
    z-index: 9;
    margin-top: 83px;
    outline: 1.5px solid var(--white);
    background: var(--white);
}

.profile-follow-relationship {
    background-color: var(--background-hover);
    padding: 4px;
    border-radius: 3px;
    margin-bottom: 6px;
    display: inline-block;
    margin-right: 4px;
    margin-top: 2px;
}

.post-date, .handle-generic {
    color: var(--light-text) !important; 
}

.handle-generic {
    transition: opacity 0.5s linear;
}

.handle-with-at-prefix::before{
    content: '@';
}
.post:not(.post-focal) .post-meta .handle-without-at-prefix {
    margin-left: 5px;
}
.post .handle-generic::before,
.search-form-suggestions .handle-generic::before
{
    width: 17px;
    display: inline-block;
    text-align: right;
}

.handle-uncertain::before{
    content: '(?)';
}
.handle-invalid::before{
    content: '(!)';
}
.handle-uncertain{
    opacity: 0.3
}

.post-reposted-by {
    
    margin-bottom: 2px;
    color: gray;
    font-size: 10pt;
}

.post-reposted-by-icon {
    position: absolute;
    margin-left: -18px;
    margin-top: 2px;
}


.post-in-reply-to {
    margin-left: 30px;
    margin-top: 5px;
    margin-bottom: 10px;
    color: gray;
    font-size: 10pt;
}
.post-in-reply-to > span {
    padding-left: 15px;
}
.post-in-reply-to-icon {
    position: absolute;
    margin-top: 4px;
}


.post-error, .profile-row-error {
    color: gray;
    font-style: italic;
}

.post-image-link {
    vertical-align: top;
}

.post-image {
    width: 100%;
    max-height: 700px;
    object-fit: cover;
    pointer-events: all;
}

.post-video{
    width: calc(100% - 10px);
    pointer-events: all;
}

.post-image-list{
    pointer-events: none;
}

.post-image-list-compact {
    line-height: 0px;
}

    .post-image-list-compact .post-image {
        width: calc(50% - 2px);
        margin: 1px;
        max-height: 390px;
        object-fit: cover;
    }
    .post-quoted .post-image{
        width: calc(25% - 4px);
        max-height: 195px;
    }

.bsky-link {
    filter: grayscale() opacity(0.7);
}
.search-link {
    filter: grayscale() opacity(0.5);
}
    .bsky-link img, .search-link img {
        width: 20px;
        height: 20px;
        vertical-align: sub;
    }
.post-body {
    white-space: pre-wrap;
    word-break: break-word;
    overflow-wrap: break-word;
    display: block;
    padding-right: 8px;
    cursor: pointer;
}

.post-indented, .notification-indented, .notification-post-media {
    margin-left: 70px;
    position: relative; /* otherwise z-index doesn't work */
}

.post-focal > .post-indented {
    margin-left: 20px;
}

.post-background-link, .notification-background-link {
    position: absolute;
    display: block;
    width:100%;
    height: 100%;
}
.notification-background-link {
    top: 0px;
}

.display-block{
    display: block;
}

.post-status-bar {
    /*background-color: #f4f4f4;*/
    padding: 5px;
    filter: grayscale() opacity(0.5);
}
    .post-status-bar a {
        margin-right: 30px;
    }

.post-action-bar {
    margin-top: 10px;
    display: flex;
}

.post-action-bar-hidden {
    height: 10px;
}


.post-action-bar-spacer {
    width: 25%;
    display: inline-block;
}

.post-action-bar-button {
    background: none;
    border-radius: 50px;
    padding: 5px 8px;
}
.post-action-bar-button {
    background: none;
    border-radius: 50px;
    padding: 5px 8px;
    color: #6F869F;
    cursor: pointer;
}
    .post-action-bar-button svg {
        vertical-align: middle;
        margin-right: 5px;
        position: relative;
        margin-top: -3px;

    }
    .post-action-bar-button:hover {
        background: var(--background-hover);
    }
.post-action-bar-button-repost.post-action-bar-button-checked {
    color: rgb(19, 195, 113);
}
.post-action-bar-button-like.post-action-bar-button-checked {
    color: #EC4899;
}


.post-author {
    font-weight: bold;
}

.post-date {
    color: gray;
}

.post-quoted {
    border: 1px solid var(--borders);
    border-radius: 5px;
    margin-top: 5px;
    margin-bottom: 5px;
    margin-right: 20px;
    padding-top: 5px;
}
    .post-quoted .post-author-image-link {
        margin-left: 6px;
        margin-top: 4px;
    }
    .post-quoted .post-author-image {
        width: 16px;
        height: 16px;
    }
    
    .post-quoted .post-indented.post-meta{
        margin-left: 30px;
    }

    .post-quoted .post-indented {
        margin-left: 10px;
        padding-bottom: 10px;
    }

    .post-quoted .post-in-reply-to{
        margin-top: 0px;
        margin-bottom: 0px;
        padding-bottom: 6px;
    }

.tabbed-lists-header {
    margin-top: 20px;
    margin-bottom: 25px;
    white-space: nowrap;
    width: 100%;
    height: 40px;
}

.tabbed-lists-header-inner {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap; 
    scrollbar-width: none;
}


.tabbed-lists-header a {
    font-size: 11pt;
    font-weight: bold;
    padding: 7px 10px;
    flex: 0 0 auto;
    scroll-snap-align: center;
    color: var(--light-text);
}
.tabbed-lists-header a:hover {
    background-color: var(--background-hover);
}
.tabbed-lists-header a.active {
    border-bottom: 3px solid var(--accent);
}




.pagination-button {
    position: relative;
    margin-bottom: 30px;
}
    .pagination-button a {
        box-sizing: border-box;
        width: 100%;
        display: block;
        text-align: center;
        padding: 20px;
        background-color: var(--background-hover);
    }


.search-form {
    margin-top: 15px;
    text-align: left;
    width: 400px;
    margin: 0 auto;
    position: relative;
}

    .search-form input[type=submit] {
        padding: 3px 4px;
    }

.search-form-query {
    width: 300px !important;
}
.search-form-query input {
    width:  100% !important;
    height: 30px;
}
.search-form-submit{
    width: min-content !important;
    margin-left: 10px;
}
.search-form-submit input {
    width: 50px !important;
    height: 30px;
}

.search-form label {
    font-size: 9pt;
    width: 200px;
    display: inline-block;
    text-align: left;
}

.notification-badge {
    background-color: var(--accent);
    min-width: 16px;
    height: 16px;
    border-radius: 100px;
    font-size: 9pt !important;
    font-weight: bold;
    color: white;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    margin-left: 5px;
    margin-top: 0px;
    padding: 2px 2px;
}


.bottom-bar .notification-badge {
    margin-top: -6px;
    margin-left: -12px;
}


    .search-form input, .search-form select {
        display: block;
        margin-bottom: 5px;
        width: 220px;
        box-sizing: content-box;
    }

.profile-follow-links{
    margin-top: 8px;
}

.profile-follow-links a{
    color: var(--light-text);   
}

.profile-page-blocked .profile-image-large,
.profile-page-blocked .profile-banner,
.profile-page-blocked .profile-follow-links,
.profile-page-blocked .profile-description,
.profile-page-blocked .profile-join-date,
.profile-page-blocked .post-list,
.profile-row-blocked .profile-image-small,
.profile-row-blocked .profile-row-description
 {
    filter: blur(5px)
}

.profile-row-meta {
    word-break: break-word;
    overflow-wrap: break-word;
}

.profile-description{
    margin-top: 10px;
    white-space: pre-wrap;
    word-break: break-word;
    overflow-wrap: break-word;
}

.handle-generic {
    word-break: break-word;
}

.profile-banner{
    width: 100%;
    height: 150px;
    position: absolute;
}
.profile-banner-no-image{
    background-color: var(--accent);
}
.profile-banner img{
    width: 100%;
    aspect-ratio: 1;
    height: 150px;
    object-fit: cover;
}

.notification {
    padding-top: 13px;
    padding-bottom: 13px;
    border-bottom: 1px solid var(--borders);
    position: relative;
    display: block;
    transition: background-color 4s linear;
}

.notification-new{
    background-color: var(--notification-new);
}

.notification-meta {
    color: var(--black);
}

.notification summary {
    list-style: none;
    cursor: pointer;
}

details[open] .summary-when-closed {
    display: none;
}

details:not([open]) .summary-when-open {
    display: none;
}

.notification .inline-profile-link {
    color: var(--black);
    font-weight: bold;
}

.notification-profile-summary .profile-image-small {
    width: 35px;
    height: 35px;
}

.notification-profile-summaries-overflow {
    margin-left: 5px;
    color: var(--light-text);
    font-size: 14pt;
}
.notification-profile-summaries-overflow svg {
    margin-top: 5px;
    position: absolute;
}
.summary-when-open .notification-profile-summaries-overflow svg {
    margin-left: 20px;
}

.notification-profile-entry {
    display: block;
    font-weight: bold;
    text-decoration: none !important;
    padding-top: 4px;
    padding-bottom: 4px;
}
    .notification-profile-entry .profile-image-small {
        width: 35px;
        height: 35px;
    }

.notification-post-text, .notification-date {
    color: var(--light-text);
    pointer-events: none;
}
.notification-post-media{
    pointer-events: none;
}
.notification-post-media-thumbnail{
    aspect-ratio: 1;
    object-fit: cover;
    width: 100px;
    height: 100px;
    border: 1px solid #E3E7ED;
    border-radius: 4px;
    margin-right: 3px;
}

.notification-single-profile {
    pointer-events: none;
}
    .notification-single-profile .inline-profile-link,
    .notification-single-profile .notification-profile-summary {
        pointer-events: all;
    }

.notification-kind-icon {
    position: absolute;
    pointer-events: none;
    margin-top: 5px;
    margin-left: 20px;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.post-external-preview {
    border: 1px solid var(--borders);
    border-radius: 12px;
    display: block;
    margin-right: 16px;
    overflow: hidden;
}

.post-quoted .post-external-preview {
    margin-bottom: 20px;
}

.post-external-gif {
    display: block;
    margin-right: 20px;
}
    .post-external-gif img {
        width: 100%;
    }
.post-external-preview-image {
    width: 100%;
    object-fit: cover;
    max-height: 500px;
}

.post-external-preview-metadata {
    padding: 10px;
}

.post-external-preview-title {
    margin: 0;
    font-size: 15px;
}
.post-external-preview-summary {
    font-size: 13.125px;
    white-space: pre-wrap;
    word-break: break-word;
    overflow-wrap: break-word;
}
.post-external-preview-domain {
    color: var(--light-text);
    font-size: 11.25px;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid var(--borders);
}

    .post-external-preview-domain svg {
        position: absolute;
        margin-top: 2px;
    }
    .post-external-preview-domain span {
        position: relative;
        margin-left: 18px;
    }



.post-external-preview-compact{
    display: flex;
}

.post-external-preview-compact .post-external-preview-image{
    flex: 0 1 25%;
    object-fit: cover;
    aspect-ratio: 1;
}
.post-external-preview-compact .post-external-preview-metadata{
    flex: 1;
    display: flex;
    flex-direction: column;
}
.post-external-preview-compact .post-external-preview-title {
    flex: 0 1 auto;
}
.post-external-preview-compact .post-external-preview-summary {
    flex: 1;
}
.post-external-preview-compact .post-external-preview-domain {
    flex: 0 1 auto;
}
.profile-followers-you-follow {
    margin-top: 10px;
    display: block;
}
.profile-followers-you-follow-avatar {
    width: 13px;
    display: inline-block;
    position: relative;
}
.profile-followers-you-follow-avatar img {
    width: 30px;
    height: 30px;
    border-color: var(--white);
}
.profile-followers-you-follow-text {
    margin-left: 20px;
    font-size: 13.125px;
}

.feed-author-link {
    position: absolute;
    right: 10px;
    top: 30px;
    font-size: 10pt;
    text-align: right;
}

.compose-form {
    margin-right: 20px;
}
.compose-textarea {
    width: 100%;
    height: 140px;
    box-sizing: border-box;
    font-family: inherit;
    font-size: 12pt;
}
.compose-submit-container {
    text-align: right;
}
.compose-textarea-limit-container{
    width: 100%;
    height: 5px;
    background: var(--white);
}
.compose-textarea-limit{
    width: 0%;
    background: var(--accent);
    height: 100%;
}
.compose-textarea-limit-exceeded {
    background: #E60000;
}


button, input[type=submit], .button {
    padding: 10px 20px;
    background-color: var(--accent);
    border: 0px;
    color: white;
    border-radius: 5px;
    cursor: pointer;
}

a.button {
    display: inline-block;
    font-size: 10pt;
}

button[disabled], input[type=submit][disabled] {
    background-color: gray;
    cursor: default;
}
a[disabled]{
    color: gray;
    cursor: default;
    pointer-events: none;
}

.menu-item[disabled]{
    background: transparent;
    color: gray;
}


.sidebar-item-small {
    font-size: 12pt;
}
.sidebar-item-post {
    background-color: var(--accent);
    border: 0px;
    border-radius: 50px;
    width: 140px;
    font-size: 13pt;
    margin-top: 20px !important;
    margin-bottom: 40px !important;
}
    .sidebar-item-post a {
        color: white;
        width: 100%;
        display: block;
        text-align: center;
        padding: 10px 0;
    }

.post-focal > .post-meta {
    margin-bottom: 5px;
    
    margin-left: 70px;
}
.post-focal > .post-action-bar {
    margin-top: 0;
}

.post-focal-date {
    border-top: 1px solid var(--borders);
    padding: 10px 0;
    margin-top: 15px;
    display: block;
}
.post-focal-stats {
    border-top: 1px solid var(--borders);
    padding: 10px 0;
}
.post-focal-stats a {
    margin-right: 20px;
}
.post-focal > .post-action-bar {
    border-top: 1px solid var(--borders);
    border-bottom: 1px solid var(--borders);
    padding: 7px 0;
}
.post-focal-compose-reply-container {
    border-bottom: 1px solid var(--borders);
}
.post-focal-compose-reply {
    display: block;
    padding: 10px 10px;
    border-radius: 10px;
    margin: 5px;
    color: var(--light-text);
    background-color: var(--compose-button);
}
    .post-focal-compose-reply:hover {
        background-color: var(--background-hover);
    }
    .post-focal-compose-reply .profile-image-small {
        width: 24px;
        height: 24px;
    }

.compose-cancel-button {
    margin-left: 20px;
}

.post-focal .follow-button {
    position: absolute;
    right: 20px;
    z-index: 6;
}

.follow-button, .unblock-button {
    background-color: rgb(37, 51, 66);
    border-radius: 50px;
}

.follow-button.follow-button-private {
    background-color: var(--button-follow-private);
}

.follow-button-unfollow, .unblock-button {
    background-color: var(--background-hover);
    color: var(--button-following-text);
}

.follow-button-unfollow.follow-button-private  {
    background-color: var(--button-following-private);
    color: var(--button-following-private-text);
}
.profile-page {
    position: relative;
}
.profile-follow-area {
    position: absolute;
    right: 20px;
    top: 160px;
}

.profile-follow-area .post-action-bar-button {
    padding: 8px;
}
.profile-follow-area .post-action-bar-button svg {
    margin: 0;
}

.profile-page h1{
    margin-top: 0px;
    margin-bottom: 0px;
}
.profile-row .follow-button {
    position: absolute;
    right: 20px;
    top: 0px;
}

.profile-menu {
    width: 300px !important;
}

.post-post-menu {
    width: 300px !important;
}

.menu-button-wrapper{
    display: inline-block;
}

.menu {
    border-radius: 4px;
    border: 1px solid var(--borders);
    box-shadow: 1px 1px 3px 3px rgba(0, 0, 0, 0.1);
    width: 150px;
    display: none;
    backdrop-filter: blur(10px);
    background-color: var(--menu);
    z-index: 35;
    position: absolute;
}
.menu.menu-visible {
    display: block;
}
.menu-item {
    padding: 10px 10px;
    cursor: pointer;
    border-radius: 5px;
    overflow: hidden;
    margin: 2px;
    color: var(--menu-text);
    background: none;
    display: block;
    text-align: left;
    width: calc(100% - 4px);
    font-size: 10pt;
    box-sizing: border-box;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
    .menu-item:not(.menu-item-hide-focus):focus {
        background: #a4a4a53d;
    }

.menu-item-advanced {
    display: none;
}

.show-advanced-menu-items .menu-item-advanced {
    display: block;
}


.compose-quoted-post {
    margin-left: 50px;
    margin-top: 20px;

}


.post-action-bar-disabled {
    pointer-events: none;
    opacity: 0.5;
}

.whole-page-spinner{
    margin-top: 33vh;
}
.whole-page-spinner .spinner{
    margin-top: 0;
}

.spinner {
    animation: rotate 0.75s linear infinite;
    width: 20px;
    height: 20px;
    margin: 0 auto;
    position: relative;
    margin-top: -90px;
    top: 5px;
    color: var(--accent);
}

.pagination-button.spinner-visible {
    background: none;
}
.pagination-button.spinner-visible a{
    visibility: hidden;
}
@keyframes rotate {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(360deg);
    }
  }

  
  .post-action-bar-button svg {
    pointer-events: none;
  }
  .post-action-bar-button-checked .if-have-not-relationship{
    display: none;
  }
  .if-have-relationship{
    display: none;
  }
  .post-action-bar-button-checked .if-have-relationship{
    display: inline;
  }

  textarea {
    resize: none;
  }

  .display-none {
    display: none;
  }

.list-list,  .feed-list{
    /*border-top: 1px solid var(--borders);*/
}

.list-metadata-row, .feed-metadata-row {
    padding: 20px;
    border-bottom: 1px solid var(--borders);
    position: relative;
}
.list-metadata-row-name, .feed-metadata-row-name{
    font-weight: bold;
}
.list-metadata-row-author, .feed-metadata-row-author{
    margin-bottom: 12px;
}
.list-metadata-row-description, .feed-metadata-row-description{
    color: gray;
    padding-bottom: 5px;
    white-space: pre-wrap;
    word-break: break-word;
    overflow-wrap: break-word;
    
}

.list-metadata-row-hide-moderator .list-metadata-row-name {
    padding: 10px 0;
    margin-bottom: 5px;
}
.list-metadata-row-hide-moderator .list-metadata-row-author {
    display: none;
}
.list-page-description{
    margin-bottom: 20px;
    color: gray;
}

.feed-indented, .list-indented{
    margin-left: 60px;
}
.feed-metadata-avatar, .list-metadata-avatar{
    position: absolute;
    margin-top: 2px;
}
.feed-metadata-avatar img, .list-metadata-avatar img{
    width: 42px;
    height: 42px;
    aspect-ratio: 1;
    object-fit: cover;
}
.feed-metadata-row-implementation {
    color: #aaa;
}


.post {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.post-meta-nonfocal{ 
    white-space: nowrap;
    max-width: 100%;
    justify-content: flex-start;
    padding-top: 1px;
    padding-bottom: 1px;
    display: flex;
}

.post-meta-nonfocal .post-author {
    flex: 0 1 auto;
}

.post-meta-nonfocal .handle-generic {
    padding-right: 4px;
    flex: 0 10000 auto;
}

.post-meta-nonfocal a {
    flex-grow: 0;
    flex-shrink: 1;
    flex-basis: auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}
.post-meta-nonfocal a.post-date{
    flex: 0 0 auto;
    padding: 0 4px;
}

.post-meta-focal .handle-generic{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.post-blocked > .label-badge-list,
.post-blocked > .post-author-image-link-container > .post-author-image-link,
.post-blocked > .post-author-image-link,
.post-blocked > .post-body,
.post-blocked > .post-error,
.post-blocked > .post-external-gif,
.post-blocked > .post-external-preview,
.post-blocked > .post-image-list,
.post-blocked > .post-in-reply-to,
.post-blocked > .post-meta
{
    filter: blur(5px);
}

.profile-page-blocked .post-blocked * {
    filter: none !important; /* don't blur twice */
}

.post-muted .label-badge-list,
.post-muted .post-author-image-link-container > .post-author-image-link,
.post-muted .post-author-image-link,
.post-muted .post-body,
.post-muted .post-external-gif,
.post-muted .post-external-preview,
.post-muted .post-image-list,
.post-muted .post-in-reply-to,
.post-muted .post-meta
{
    opacity: 0.4;
}


.post-blur-reason-container{
    display: flex;
    position: absolute;
    justify-content: center;
    align-items: center;
    margin-top: 0px;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.post-blur-reason{
    text-shadow: var(--white) 0 0 8px;
    color: var(--black);
    font-weight: bold;
    z-index: 10;
    pointer-events: all;
    padding: 0 3px;
    text-align: center;
}

.post-has-quote > .post-blur-reason-container,
.post-focal > .post-blur-reason-container {
    align-items: flex-start;
}
.post-focal > .post-blur-reason-container {
    margin-top: 40px;
}

.search-form-suggestions{
    box-shadow: 4px 4px 10px 5px rgba(0, 0, 0, 0.2);
    border-radius: 4px;
    width: 100%;
    position: absolute;
    background: var(--white);
    z-index: 40;
    overflow: hidden;
    border: 1px solid var(--borders);
}


.search-form-suggestions a {
    display: block;
    padding: 5px 0 5px 10px;
    white-space: nowrap;
    height: 40px;
    align-content: center;
    padding-left: 55px;
}

.search-form-suggestion:focus{
    background: var(--background-hover);
}
.search-form-suggestions .profile-image-small{
    position: absolute;
    left: 4px;

}

.post-stats-animated{
    transition: opacity 0.25s;
}

.profile-badge {
    transition: opacity 0.25s;
    margin-left: 4px;
}

.profile-badge-pending{
    opacity: 0.05;
}
.profile-badge img{
    width: 16px;
    width: 16px;
    vertical-align: middle;
    position: relative;
    top: -1px;
}
h1 .profile-badge img{
    width: 20px;
    width: 20px;
}

.search-form-suggestions .profile-image-small {
    background-image: var(--default-user-avatar);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat; 
}

.sidebar-announcement {
    font-size: 9pt;
    background: var(--warning-background);
    margin-right: 10px;
}

.emoji, .custom-emoji {
    height: 1.2em;
    width: 1.2em;
    vertical-align: -20%;
    margin-left: 0.075em;
    margin-right: 0.075em;
    display: inline-block;
}

.page-error {
    margin: 60px;
    font-size: 18pt;
}

.label-badge {
    background-color: var(--label-background);
    color: var(--light-text);
    border-radius: 1000px;
    padding: 2px 10px 4px 10px;
    font-size: 10pt;
    margin-bottom: 2px;
    margin-right: 1px;
}

.profile-labels{
    margin-top: 20px;
}

.post > .label-badge-list {
    margin-bottom: 5px;
}


.post-focal > .label-badge-list {
    margin-top: 0px;
    margin-bottom: 4px;
}

.post:not(.post-focal) > .label-badge-list {
    margin-top: 4px;
    margin-bottom: 3px;
}

.profile-link-to-full-profile a, .post-link-to-external-thread a {
    padding: 10px;
    background: var(--background-hover);
    text-align: center;
    margin: 50px 20%;
    display: block;

}


.post-small-media-thumbnail .post-image,
.post-small-media-thumbnail video {
    max-width: 250px;
    max-height: 250px;
    object-fit: scale-down;
    width: auto;
    height: auto;
    object-position: left;
    pointer-events: none;
}

.post-body b{
    font-style: italic;
    font-weight: normal;
}

.pagination-button .spinner {
    margin-top: 20px;
}

.pagination-button-error-details {
    text-align: center;
    margin-top: 10px;
}

.rss-fetch-error, .profile-account-error {
    margin-top: 20px;
    color: rgb(201, 0, 0);
    font-weight: bold;
}
.profile-account-error {
    text-align: center;
}

.debug-table{

    border-collapse: collapse;
    margin: 10px;
}
.debug-table td, .debug-table th{
    text-align: right;
    border: 1px solid lightgray;
    padding: 1px 5px;
}

body:has(.debug-table){
    max-width: 1800px;
}

.quoted-text{
    color: var(--greentext);
}

.mute-form table{
    width: 100%;
    text-align: left;
}

.mute-form-col-word {
    width: 40%
}
.mute-form-col-user {
    width: 40%
}

.mute-form-word-input, .mute-form-col-user input{
    width: calc(100% - 20px);
}

.mute-form-table-button {
    width: 100%;
}

.mute-form-make-global-button{
    background: none;
    color: red;
    text-align: center;
    padding: 0;
    padding-bottom: 1px;
    width: 25px;
    height: 25px;
}
.mute-form-make-global-button:hover{
    background: rgb(255, 230, 230);
}

.settings-section-link {
    display: block;
    font-size: 18pt;
}
.settings-section-link:hover {
    text-decoration: underline;
}
.settings-takeout h2{
    margin-bottom: 2px;
}

.settings-takeout {
    font-size: 10pt;
}

.settings-takeout code {
    white-space: pre-wrap;
    font-size: 8pt;
    display: block;
    background: color-mix(in hsl, var(--white), #777 20%);
    padding: 4px;
    margin-top: 5px;
}
#settings-takeout-tip{
    margin: 0 20px;
    background: var(--info-background);
    padding: 5px;
    font-size: 10pt;
}

.settings-takeout a.button, button{
    margin-top: 5px;
}

.settings-appearance label  {
    display: block;
    cursor: pointer;
}
.settings-appearance radio  {
    cursor: pointer;
}

input[type=radio], input[type=checkbox]{
    accent-color: var(--accent);
}

.post-blur-reason a, .profile-follow-relationship a {
    color: var(--black) !important;
}
.profile-page-blocked .post-blur-reason {
    display: none;
}
.no-results {
    text-align: center;
}
.feed-grid-toggle {
    display: inline-block;
}

.popular-feeds-separator {
    margin-top: 120px;
}
.feed-metadata-row-compact {
    border-bottom: none;
    display: flex;
    padding-top: 0;
    padding-bottom: 5px;
}

.feed-metadata-row-compact .feed-metadata-avatar{
    flex: 0 1 auto;
    position: relative;
}
.feed-metadata-row-compact .feed-metadata-row-name {
    flex: 1 1 auto;
    align-self: stretch;
    margin-left: 10px;
    display: flex;
}
.feed-metadata-row-compact .feed-metadata-row-name a{
    display: block;
    flex: 1 1 auto;
    padding-top: 11px;
    padding-bottom: 5px;
    
}

.labeler-mode {
    margin-right: 10px;
    background: var(--label-background);
    color: var(--black);
}
.labeler-mode-active {
    margin-right: 10px;
    background-color: var(--accent);
    color: white;
}
.list-metadata-row-modes{
    text-align: right;
}

.repository-import-row {
    font-size: 9.5pt;
}
.repository-import-row-details {
    color: var(--light-text);
    padding-left: 20px;

}



.time-series {
    background: black;
    width: 100%;
    height: 200px;
    display: flex;
    flex-direction: row;
    position: relative;
}

.time-series-column-wrapper {
    position: absolute;
    height: 100%;
}
.time-series-column {
    background: green;
    bottom: 0px;
    position: absolute;
    width: 100%;
}
.time-series-current{
    text-align: right;
    margin-right: 10px;
}

.time-series-title {
    margin-top: 20px;
    margin-bottom: 0px;
}

.property-name {
    color: gray;
    font-size: 9pt;
}

#upload-drop-zone {
    width: 100%;
    opacity: 0.5;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1em;
    cursor: pointer;
    text-align: center;
    box-sizing: border-box;
}
#upload-drop-zone.dragover {
    background-color: #eef;
}

.upload-thumb-container {
    position: relative;
    display: inline-block;
    min-height: 100px;
    max-width: 200px;
}

.upload-thumb-container img {
    object-fit: contain;
    aspect-ratio: 1;
    display: block;
    width: 100%;
}

.upload-thumb-container button {
    position: absolute;
    top: 5px;
    right: 5px;
    margin: 0;
    border-radius: 200px;
    padding: 0;
    width: 20px;
    height: 20px;
    background: rgba(190, 190, 190, 0.8);
    color: black;
    font-weight: bold;
}
.upload-file-entry {
    display: flex;
    margin-bottom: 5px;
}
.upload-file-entry textarea {
    box-sizing: border-box;
    font-family: inherit;
    font-size: 10pt;
    flex-grow: 1;
    margin-left: 10px;
}

.profile-join-date {
    color: var(--light-text);
    margin-top: 5px;
}

.performance-timeline{
    height: 70px;
    position: relative;
    margin-left: 10px;
    margin-right: 10px;
    border: 1px solid var(--black);
}

.performance-timeline-entry{
    position: absolute;
    overflow: hidden;
    height: 50px;
    font-size: 7pt;
}

.performance-timeline-lock{
    position: absolute;
    top: 50px;
    height: 20px;
    overflow: hidden;
    font-size: 7pt;
    background-color: magenta;
    border-left: 1px solid gray;
    padding-top: 3px;
    box-sizing: border-box;
}

.performance-timeline-lock-PrimaryRead,
.performance-timeline-lock-PrimaryReadUrgent{
    background-color: rgb(144, 214, 38);
}

.performance-timeline-lock-PrimaryWrite,
.performance-timeline-lock-PrimaryWriteUrgent{
    background-color: rgb(255, 184, 103);
}
.performance-timeline-lock-PrimaryUpgradeable{
    background-color: rgb(255, 209, 156);
}
.performance-timeline-lock-SecondaryRead{
    background-color: rgb(194, 255, 103);
}
.performance-timeline-summary-group{
    text-wrap: nowrap;
}

.performance-timeline-summary-table {
    margin-left: 10px;
}
.performance-timeline-summary-table th {
    text-align: left;
}
