/* Thread/Post view — matches legacy .post/.postcontainer/.postinfo layout */

/* Thread header */
.sd-thread {
    background: var(--background);
    overflow: hidden;
}

.sd-thread-header {
    padding: .75rem 1.25rem .25rem;
}

.sd-thread-title {
    font-size: 1.5em;
    font-weight: 600;
    margin: 0;
    color: var(--text-color);
    display: inline-block;
}

.sd-thread-subtitle {
    color: var(--section-header-text-color);
    font-weight: normal;
    font-size: 1.1rem;
    font-style: italic;
    margin: .25rem 0 0;
}

.sd-external-link {
    display: block;
    font-size: .85rem;
    margin-top: .25rem;
    word-break: break-all;
}

/* Thread meta bar */
.sd-thread-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    align-items: center;
    padding: .4rem 1.25rem;
    font-size: .85rem;
    color: var(--secondary-text-color);
    border-bottom: 1px solid var(--border-color);
}

.sd-thread-views, .sd-thread-replies {
    font-weight: 500;
}

.sd-thread-locked, .sd-thread-sticky {
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    padding: 2px 6px;
    border-radius: 3px;
}

.sd-thread-locked {
    background: var(--color-danger);
    color: var(--color-white);
}

.sd-thread-sticky {
    background: var(--accent-color);
    color: var(--color-white);
}

.sd-thread-hidden {
    background: var(--color-warning);
    color: var(--color-white);
}

/* Thread tags */
.sd-thread-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    padding: 0 1.25rem .5rem;
    justify-content: flex-end;
}

.sd-tag {
    display: inline-block;
    padding: 1px 8px;
    border: 1px solid var(--color-muted-border);
    border-radius: 0;
    font-size: .8rem;
    color: var(--text-color);
    text-decoration: none;
    background: transparent;
}

    .sd-tag:visited {
        color: var(--text-color);
    }

    .sd-tag:hover {
        background: var(--section-header-background);
        text-decoration: none;
        color: var(--text-color);
    }

/* Post article — shared between OP and replies */
.sd-post {
    margin-bottom: 2rem;
}

.sd-post-container {
    display: flex;
    flex-direction: column;
}

.sd-post + .sd-post {
}

/* Author panel — left column on desktop, compact on mobile */
.sd-author-panel {
    background: var(--section-header-background);
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: .5rem;
    padding: .5rem .75rem;
}

.sd-author-avatar {
    flex-shrink: 0;
    text-align: center;
    padding-top: 5px;
}

.sd-avatar-img {
    width: 50px;
    height: 50px;
    display: inline-block;
    object-fit: cover;
}

.sd-avatar-placeholder {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--accent-color);
    color: var(--color-white);
    font-size: 1.25rem;
    font-weight: 700;
    border-radius: 0;
}

.sd-avatar-none {
    background: url('/images/base/avatar.none.gif') no-repeat center;
    background-size: contain;
    width: 50px;
    height: 50px;
    display: inline-block;
}

.sd-author-name {
    font-weight: 700;
    font-size: 1.1em;
    color: var(--text-color);
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    border-bottom: 0;
}

    .sd-author-name:visited {
        color: var(--text-color);
    }

    .sd-author-name:hover {
        text-decoration: none;
    }

.sd-author-honorific {
    font-size: .85rem;
    color: var(--text-color);
    display: block;
    margin: 2px auto;
    text-align: center;
}

.sd-author-joindate {
    font-size: .8461em;
    color: var(--secondary-text-color);
    text-align: center;
    margin: 2px auto;
    display: block;
}

.sd-author-posts {
    font-size: .8461em;
    color: var(--secondary-text-color);
    text-align: center;
    margin: 2px auto;
    display: block;
}

.sd-author-karma, .sd-author-karma:visited {
    background-image: url('/images/base/karma_badge.png');
    background-repeat: no-repeat;
    color: #fdfdfd;
    display: block;
    font-weight: 700;
    font-size: .8em;
    height: 26px;
    line-height: 20px;
    margin: 8px auto 2px;
    text-align: center;
    width: 50px;
    border-bottom: none;
    text-decoration: none;
}

.sd-author-rank {
    display: block;
    margin: 5px auto;
}

.rank1, .rank2, .rank3, .rank4, .rank5 {
    background-image: url('/images/base/level_silver.png');
    height: 9px;
}

.rank1 {
    width: 9px;
}

.rank2 {
    width: 23px;
}

.rank3 {
    width: 37px;
}

.rank4 {
    width: 51px;
}

.rank5 {
    width: 65px;
}

.rank6, .rank7, .rank8, .rank9, .rank10 {
    background-image: url('/images/base/level_gold.png');
    height: 11px;
}

.rank6 {
    width: 11px;
}

.rank7 {
    width: 25px;
}

.rank8 {
    width: 39px;
}

.rank9 {
    width: 53px;
}

.rank10 {
    width: 67px;
}

.sd-author-group.usergroup {
    margin: 9px auto;
    display: block;
}

.usergroup {
    background: url('/images/base/groups.png') no-repeat;
}

    .usergroup.wcwizop {
        background-position: -412px 0;
        height: 32px;
        width: 103px;
    }

    .usergroup.moderator {
        background-position: -1px -38px;
        height: 31px;
        width: 108px;
    }

    .usergroup.sdemperor, .usergroup.sdemployee, .usergroup.sddev {
        background-position: -206px 0;
        height: 32px;
        width: 103px;
    }

    .usergroup.sdsupport {
        background-position: -309px 0;
        height: 36px;
        width: 103px;
    }

    .usergroup.galcivdev {
        background-position: -103px 0;
        height: 38px;
        width: 103px;
    }

    .usergroup.ironclad {
        background-position: 0 0;
        height: 31px;
        width: 103px;
    }

    .usergroup.advert {
        background-position: -109px -46px;
        height: 23px;
        width: 103px;
    }

    .usergroup.gpg {
        background-position: -212px -36px;
        height: 33px;
        width: 103px;
    }

    .usergroup.mothership {
        background-position: -1px -77px;
        height: 28px;
        width: 107px;
    }

    .usergroup.oxide {
        background-position: -109px -74px;
        height: 31px;
        width: 107px;
    }

    .usergroup.mohawk {
        background-position: -217px -74px;
        height: 31px;
        width: 107px;
    }

    .usergroup.bonusxp {
        background-position: -325px -74px;
        height: 31px;
        width: 107px;
    }

    .usergroup.mvp {
        background-position: -413px -41px;
        height: 31px;
        width: 102px;
    }

/* Post content — right column */
.sd-post-content {
    flex: 1 1 auto;
    overflow-x: clip;
}

.sd-post-header {
    background: var(--section-header-background);
    color: var(--text-color);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    line-height: 25px;
    padding: 0 .75rem 0 1.25rem;
    font-size: .85rem;
}

.sd-post-date {
    color: var(--secondary-text-color);
}

.sd-post-date-source {
    display: flex;
    white-space: nowrap;
}

.sd-post-source {
    display: flex;
    font-size: .85rem;
    color: var(--secondary-text-color);
    margin-left: 4px;
}

.sd-post-source__link {
    color: var(--secondary-text-color);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

.sd-post-source__link:hover {
    color: var(--link-color);
    text-decoration: underline;
    text-decoration-style: dotted;
}

.sd-post-source__icon {
    width: 16px;
    height: 16px;
    vertical-align: middle;
    margin: 0 4px;
}

.sd-post-edited {
    color: var(--secondary-text-color);
    font-style: italic;
    font-size: .8rem;
}

.sd-reply-anchor, .sd-reply-anchor:visited {
    color: var(--text-color);
    text-decoration: none;
    margin-right: 1rem;
    font-weight: 500;
}

    .sd-reply-anchor:hover {
        text-decoration: underline;
    }

.sd-scroll-top {
    background: url('/images/base/glyphs.png') no-repeat -128px 0;
    display: inline-block;
    width: 14px;
    height: 14px;
    text-indent: -9999px;
    overflow: hidden;
    vertical-align: middle;
    margin-left: auto;
    opacity: .5;
    border-bottom: none;
}

    .sd-scroll-top:hover {
        opacity: 1;
    }

/* Post body */
.sd-post-body {
    line-height: 150%;
    overflow-wrap: break-word;
    padding: 1em 1.25rem;
}

    .sd-post-body ul, .sd-post-body ol {
        padding-left: 2em;
        margin: .5em 0;
    }

    .sd-post-body ul {
        list-style: disc;
    }

    .sd-post-body ol {
        list-style: decimal;
    }

    .sd-post-body li {
        margin-bottom: .25em;
    }

    .sd-post-body > p:first-child {
        margin-top: 0;
    }

    .sd-post-body > p:last-child {
        margin-bottom: 0;
    }

    .sd-post-body img {
        display: inline-block;
        vertical-align: middle;
        max-width: 100%;
    }

    .sd-post-body h1, .sd-post-body h2, .sd-post-body h3 {
        line-height: 1.25em;
    }

    /* Spoiler text */
    .sd-post-body .spoiler {
        background: #000;
        color: #000;
    }

        .sd-post-body .spoiler:hover {
            color: #FDFDFD;
        }

    /* Quote blocks */
    .sd-post-body .quote, .sd-post-body blockquote {
        margin: 10px 0;
        border: 1px solid var(--post-quote-border-color);
        background: var(--post-quote-background);
    }

        .sd-post-body .quote .info, .sd-post-body blockquote .info {
            background: var(--post-quote-header-background);
            border-bottom: 1px solid var(--post-quote-border-color);
            color: var(--post-quote-header-text-color);
            line-height: 2em;
            padding: 0 10px;
            overflow: auto;
        }

            .sd-post-body .quote .info .who {
                float: left;
            }

            .sd-post-body .quote .info .num {
                float: left;
                padding-left: 5px;
            }

                .sd-post-body .quote .info .num a {
                    color: var(--post-quote-header-text-color);
                    border: 0;
                }

        .sd-post-body .quote .meats, .sd-post-body blockquote .meats, .sd-post-body blockquote > p {
            background: url(/images/Base/quote.png) no-repeat top right;
            color: var(--post-quote-text-color);
            padding: 10px;
        }

            .sd-post-body .quote .meats > p:first-child, .sd-post-body blockquote > p:first-child {
                margin-top: 0;
            }

            .sd-post-body .quote .meats > p:last-child, .sd-post-body blockquote > p:last-child {
                margin-bottom: 0;
            }
        /* Nested quotes */
        .sd-post-body .quote .quote {
            margin: 10px;
            opacity: .95;
        }

    /* Standalone blockquote fallback */
    .sd-post-body blockquote {
        border-left: 3px solid var(--post-quote-border-color);
        background: var(--post-quote-background);
        padding: .75rem 1rem;
        margin: 10px 0;
    }

/* Post status tray (OP only) */
.sd-post-tray {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: .35rem .75rem;
}

.sd-post-tray__status {
    display: flex;
    gap: .5rem;
    align-items: center;
    font-size: .85rem;
    color: var(--secondary-text-color);
    padding-left: 8px;
}

.sd-post-tray__label {
    color: var(--link-color);
}

.sd-post-tray__label--deleted {
    color: var(--color-danger, #dc3545);
    font-weight: 600;
}

.sd-post-tray__separator {
    color: var(--secondary-text-color);
}

/* Post actions tray */
.sd-post-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    padding-right: .75rem;
    align-items: center;
    justify-content: flex-end;
}

    .sd-post-actions .sd-btn {
        font-size: .75rem;
        height: 23px;
        line-height: 23px;
        padding: 0 .5rem;
    }

.sd-post-reply .sd-post-actions {
}

    .sd-post-reply .sd-post-actions > * {
        visibility: hidden;
    }

.sd-post-reply:hover .sd-post-actions > * {
    visibility: visible;
}

/* Icon-based action buttons (sprite: buttons.png) */
.sd-action-icon {
    display: inline-block;
    background: url('/images/base/buttons.png') no-repeat;
    border: none;
    cursor: pointer;
    vertical-align: middle;
    text-indent: -9999px;
    overflow: hidden;
    height: 23px;
    opacity: .7;
    padding: 0;
}

    .sd-action-icon:hover {
        opacity: 1;
    }

.sd-action-report {
    background-position: 0 -138px;
    width: 35px;
}

.sd-action-quote {
    background-position: -140px -138px;
    width: 35px;
}

.sd-action-reply {
    background-position: -175px -138px;
    width: 52px;
}

.sd-action-delete {
    background-position: -279px -138px;
    width: 35px;
}

.sd-action-edit {
    background-position: -546px -138px;
    width: 35px;
}

.sd-action-report:hover {
    background-position: 0 -161px;
}

.sd-action-quote:hover {
    background-position: -140px -161px;
}

.sd-action-reply:hover {
    background-position: -175px -161px;
}

.sd-action-delete:hover {
    background-position: -279px -161px;
}

.sd-action-edit:hover {
    background-position: -546px -161px;
}
/* Karma thumbs up icon (sprite: buttons.png) */
.sd-action-karma-up {
    background-position: -70px -138px;
    width: 35px;
}

    .sd-action-karma-up:hover {
        background-position: -70px -161px;
    }

    .sd-action-karma-up.sd-karma-voted {
        background-position: -686px -138px;
        opacity: 1;
    }

        .sd-action-karma-up.sd-karma-voted:hover {
            background-position: -686px -161px;
        }

.sd-action-separator {
    background: url('/images/base/buttons.post.separator.png') no-repeat;
    display: inline-block;
    height: 23px;
    width: 2px;
}

/* Replies container */
.sd-replies {
}

/* Reply form */
.sd-reply-form {
    border-top: 2px solid var(--border-color);
    padding: 1rem 1.25rem;
}

.sd-reply-form-title {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 .75rem;
    color: var(--text-color);
}

.sd-reply-form .sd-editor-container {
    border: 1px solid var(--border-color);
    border-radius: 3px;
    overflow: hidden;
    background: var(--background);
    max-width: 100%;
}

    .sd-reply-form .sd-editor-container .tox-tinymce {
        border: 0 !important;
    }

.sd-reply-form .sd-form-actions {
    margin-top: .75rem;
}

/* Post tray actions wrapper */
.sd-post-tray__actions {
    display: flex;
    gap: 2px;
    align-items: center;
}

/* Shared dropdown wrapper + menu */
.sd-subscribe-wrapper, .sd-dropdown-wrapper {
    position: relative;
    display: inline-block;
    z-index: 100;
}

.sd-dropdown-menu {
    position: absolute;
    top: 100%;
    z-index: 100;
    background: var(--background);
    border: 1px solid var(--border-color);
    min-width: 200px;
    box-shadow: 0 2px 6px rgba(0,0,0,.15);
    font-size: .85rem;
}

.sd-subscribe-menu {
    min-width: 285px;
}

.sd-dropdown-menu__header {
    font-weight: 600;
    padding: .5rem .75rem;
    border-bottom: 1px solid var(--border-color);
    color: var(--text-color);
}

.sd-dropdown-menu__item {
    display: block;
    padding: .35rem .75rem;
    color: var(--text-color);
    text-decoration: none;
    cursor: pointer;
    border-bottom: none;
}

    .sd-dropdown-menu__item:hover {
        background: var(--section-header-background);
        text-decoration: none;
        color: var(--text-color);
    }

.sd-dropdown-menu__divider {
    margin: .25rem 0;
    border: none;
    border-top: 1px solid var(--border-color);
}

/* Subscription star icon */
.sd-action-subscribe {
    background-position: -616px -138px;
    width: 35px;
}

    .sd-action-subscribe:hover {
        background-position: -616px -161px;
    }

.sd-action-subscribe--active {
    background-position: -651px -138px;
}

    .sd-action-subscribe--active:hover {
        background-position: -651px -161px;
    }

.sd-subscribe-menu__option {
    display: block;
    padding: .35rem .75rem;
    cursor: pointer;
    color: var(--text-color);
}

    .sd-subscribe-menu__option:hover {
        background: var(--section-header-background);
    }

    .sd-subscribe-menu__option input {
        margin-right: .4rem;
        vertical-align: middle;
    }

        .sd-subscribe-menu__option input:disabled {
            opacity: .4;
        }

/* Search icon (sprite: buttons.png) */
.sd-action-search {
    background-position: -35px -138px;
    width: 35px;
}

    .sd-action-search:hover {
        background-position: -35px -161px;
    }

/* Search dropdown menu */
.sd-search-menu {
    min-width: 260px;
}

.sd-search-menu__form {
    display: flex;
    align-items: center;
    padding: .5rem .75rem;
    gap: .35rem;
}

.sd-search-menu__input {
    flex: 1;
    padding: .35rem .5rem;
    border: 1px solid var(--border-color);
    background: var(--body-background);
    color: var(--text-color);
    font-size: .85rem;
}

.sd-search-menu__btn {
    flex-shrink: 0;
    height: 23px;
}

.sd-search-menu__advanced {
    display: block;
    padding: .35rem .75rem .5rem;
    font-size: .8rem;
    color: var(--link-color);
}

    .sd-search-menu__advanced:hover {
        text-decoration: underline;
    }

/* Gear/tools icon (sprite: buttons.png) */
.sd-action-tools {
    background-position: -105px -138px;
    width: 35px;
}

    .sd-action-tools:hover {
        background-position: -105px -161px;
    }

/* Link icon (sprite: buttons.png) */
.sd-action-links {
    background-position: -721px -138px;
    width: 35px;
}

    .sd-action-links:hover {
        background-position: -721px -161px;
    }

/* Deleted post styling */

/* Hidden post styling */
.sd-post-hidden {
    opacity: .6;
    border-left: 3px solid var(--color-warning);
}

/* Desktop (768px+): side-by-side author panel + content */
@media(min-width:768px) {
    .sd-post-container {
        flex-direction: row;
    }

    .sd-author-panel {
        flex: 0 0 160px;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        text-align: center;
        padding: 10px;
        gap: .15rem;
    }

    .sd-post-original .sd-author-panel {
        background: transparent;
        border-right: none;
        position: relative;
    }

        .sd-post-original .sd-author-panel::after {
            content: '';
            position: absolute;
            right: 0;
            top: 0;
            bottom: 0;
            width: 1px;
            background: linear-gradient(to bottom,rgba(0,0,0,0) 0,var(--border-color) 10%,var(--border-color) 90%,rgba(0,0,0,0) 100%);
        }

    .sd-post-reply .sd-author-panel {
        background: var(--section-header-background);
    }

    .sd-post-original .sd-post-header {
        background: transparent;
    }

    .sd-post-content {
        display: flex;
        flex-direction: column;
        position: relative;
        z-index: 2;
    }

    .sd-post-body {
        flex: 1 1 auto;
    }

    .sd-avatar-img {
        width: 100px;
        height: 100px;
    }

    .sd-avatar-placeholder {
        width: 100px;
        height: 100px;
        font-size: 2rem;
    }

    .sd-avatar-none {
        width: 100px;
        height: 100px;
        background-size: 100px 100px;
    }

    .sd-post-content {
        border-left: none;
    }

    .sd-post-header {
        padding: 0 1.25rem;
    }

    .sd-post-body {
        padding: 1em 1.25rem;
    }
}

/* Author panel extended fields */
.sd-author-panel__rank {
    font-size: .75rem;
    color: var(--secondary-text-color);
    margin-top: .25rem;
}

.sd-author-panel__honorific {
    font-size: .8rem;
    font-style: italic;
    color: var(--accent-color);
}

.sd-author-panel__join-date {
    font-size: .75rem;
    color: var(--table-text-color);
}

.sd-author-panel__karma-badge {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-size: .75rem;
}

.sd-author-panel__karma-badge--positive {
    color: var(--success-text-color);
}

.sd-author-panel__karma-badge--negative {
    color: var(--error-text-color);
}

.sd-author-panel__group {
    font-size: .75rem;
    color: var(--usergroup-color);
    font-weight: bold;
}

.sd-author-panel__online-status {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}

.sd-author-panel__online-status--online {
    background: var(--color-success);
}

.sd-author-panel__online-status--offline {
    background: var(--secondary-text-color);
}

.sd-author-panel__awards {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    margin: .25rem 10px 0 10px;
    justify-content: center;
}

.sd-author-panel__award-icon {
    width: 16px;
    height: 16px;
}

.sd-author-panel__founder-section {
    width: 100%;
    text-align: center;
}

.sd-author-panel__founder-label {
    display: block;
    font-size: .7rem;
    font-weight: 600;
    color: var(--secondary-text-color);
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 4px;
}

.sd-author-panel__awards--founder {
    margin-top: 0;
}

.sd-author-panel__award-icon--founder {
    width: 32px;
    height: auto;
}

.sd-author-panel__banned {
    color: var(--color-danger);
    font-weight: 600;
    font-size: .8rem;
}
/* Author rank bars */
.sd-author-panel__rank-bars {
    display: flex;
    gap: 1px;
    margin: 4px auto;
}

.sd-author-panel__rank-bar {
    width: 8px;
    height: 3px;
    background: var(--accent-color);
}
/* Post signature */
.sd-post-signature {
    border-top: 1px solid var(--border-color);
    padding: .75rem 1.25rem;
    font-size: .85rem;
    color: var(--secondary-text-color);
}
/* Sliding action panels */
.sd-post-action-panel {
    display: none;
    background: var(--alternate-background);
    border: 1px solid var(--border-color);
    padding: .75rem;
    margin-top: .5rem;
}

.sd-post-action-panel--open {
    display: block;
}
/* Karma reason form */
.sd-karma-form {
    display: flex;
    gap: .5rem;
    align-items: center;
}

.sd-karma-form__input {
    flex: 1;
    padding: .25rem .5rem;
    border: 1px solid var(--border-color);
    font-size: .85rem;
}

.sd-karma-form__submit {
    padding: .25rem .75rem;
}
/* Karma givers list */
.sd-karma-givers {
    font-size: .85rem;
}

.sd-karma-givers__item {
    padding: .25rem 0;
    border-bottom: 1px solid var(--border-color);
}
/* Subscription options */
.sd-subscription-options {
    display: flex;
    gap: .5rem;
}
/* Quick reply enhancements */
.sd-quick-reply {
    margin-top: 1rem;
    border: 1px solid var(--border-color);
    padding: 1rem;
}

.sd-quick-reply__header {
    font-weight: 600;
    margin-bottom: .5rem;
}

.sd-quick-reply__textarea {
    width: 100%;
    min-height: 150px;
    border: 1px solid var(--border-color);
    padding: .5rem;
    font-family: var(--font-family);
    font-size: var(--font-size);
    resize: vertical;
}

.sd-quick-reply__actions {
    display: flex;
    gap: .5rem;
    margin-top: .5rem;
    justify-content: flex-end;
}
/* Post edit diff viewer */
.sd-edit-diff {
    font-size: .85rem;
    border: 1px solid var(--border-color);
    margin-top: .5rem;
}

.sd-edit-diff__added {
    background: var(--color-success-bg);
}

.sd-edit-diff__removed {
    background: var(--color-danger-bg);
    text-decoration: line-through;
}
/* Edit history button and panel */
.sd-edit-history-btn {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--link-color);
    font-style: italic;
    font-size: .8rem;
    padding: 0;
    text-decoration: underline dotted;
}

    .sd-edit-history-btn:hover {
        color: var(--link-hover-color);
    }

.sd-edit-history {
    padding: .75rem 1.25rem;
    border-top: 1px solid var(--border-color);
    background: var(--alternate-background);
}

.sd-edit-history-title {
    font-size: .9rem;
    font-weight: 600;
    margin: 0 0 .5rem;
    color: var(--text-color);
}

.sd-edit-history-entry {
    padding: .5rem 0;
    border-bottom: 1px solid var(--border-color);
}

    .sd-edit-history-entry:last-child {
        border-bottom: none;
    }

.sd-edit-history-meta {
    font-size: .8rem;
    color: var(--secondary-text-color);
    margin-bottom: .25rem;
    display: flex;
    gap: .5rem;
    align-items: center;
}

.sd-edit-history-user {
    font-weight: 600;
    color: var(--text-color);
}

.sd-edit-history-diff {
    font-size: .8rem;
    white-space: pre-wrap;
    word-break: break-word;
    background: var(--section-header-background);
    border: 1px solid var(--border-color);
    padding: .5rem;
    margin: .25rem 0 0;
    max-height: 300px;
    overflow-y: auto;
    font-family: Consolas,monospace;
}

.sd-edit-private {
    opacity: .7;
}

.sd-edit-private-badge {
    font-size: .7rem;
    background: var(--color-danger);
    color: var(--color-white);
    padding: 1px 4px;
    border-radius: 2px;
    font-style: normal;
}

.sd-edit-history-empty, .sd-edit-history-error {
    font-size: .85rem;
    color: var(--secondary-text-color);
    margin: 0;
}
/* Post body code blocks */
.sd-post-body pre, .sd-post-body code {
    background: var(--alternate-background);
    border: 1px solid var(--post-quote-border-color);
    font-family: Consolas,monospace;
    font-size: .9rem;
}

.sd-post-body pre {
    padding: 1rem;
    overflow-x: auto;
}

.sd-post-body code {
    padding: 2px 4px;
}

.sd-post-body .codeblock {
    margin: 10px 0;
    border: 1px solid var(--post-quote-border-color);
    overflow: auto;
}

    .sd-post-body .codeblock .lang {
        font-weight: bold;
        color: var(--post-quote-header-text-color);
        padding: 2px 2px 4px 10px;
        background: var(--post-quote-header-background);
        border-bottom: 1px solid var(--post-quote-border-color);
    }

    .sd-post-body .codeblock pre {
        margin: 0;
        border: 0;
    }

    .sd-post-body .codeblock ol {
        margin: 0;
        padding: 0 0 0 3.5em;
        font-family: monospace;
        font-size: .85rem;
        line-height: 1.6;
        list-style-type: decimal;
        background: #f8f8f8;
    }

        .sd-post-body .codeblock ol li {
            padding: 0 .5em;
            white-space: pre-wrap;
            word-wrap: break-word;
        }

        .sd-post-body .codeblock ol li.alt {
            background: #e8e8f0;
        }
/* Legacy quote block classes */
.sd-post-body .Article_Quote, .sd-post-body .mb-Body-Quote-Table {
    margin: 10px 0;
    padding: 10px;
    border: 1px solid var(--post-quote-border-color);
    background: var(--post-quote-background);
    color: var(--post-quote-text-color);
}
/* Embedded images */
.sd-post-body img {
    max-width: 100%;
    height: auto;
    cursor: pointer;
}

    .sd-post-body img.emoticon {
        vertical-align: middle;
        display: inline;
        max-height: 1.5em;
        cursor: default;
    }
/* Event alert banner */
.sd-event-alert {
    background: var(--message-background);
    border: 1px solid var(--message-border-color);
    color: var(--message-text-color);
    padding: .75rem;
    margin-bottom: .5rem;
}
/* Locked thread message (non-meta version) */
.sd-thread-locked-msg {
    background: var(--alternate-background);
    border: 1px solid var(--border-color);
    padding: 1rem;
    text-align: center;
    color: var(--secondary-text-color);
    font-style: italic;
}
/* Social sharing widget */
.sd-social-share {
    display: flex;
    gap: .5rem;
    align-items: center;
    padding: .5rem .75rem;
    border-top: 1px solid var(--border-color);
}

.sd-social-share__label {
    font-size: .8rem;
    color: var(--secondary-text-color);
}

/* Post karma earned badge */
.sd-karma-badge {
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: default;
    vertical-align: middle;
}

.sd-karma-badge__count {
    display: inline-block;
    background: url('/images/base/post.karma.png') no-repeat center top;
    color: #fdfdfd;
    font-size: 10px;
    font-weight: 700;
    width: 32px;
    height: 23px;
    line-height: 16px;
    text-align: center;
    vertical-align: middle;
}

.sd-karma-badge__tooltip {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    bottom: calc(100% + 6px);
    left: 0;
    background: var(--tooltip-background-color);
    color: var(--tooltip-color);
    border: 1px solid var(--tooltip-border-color);
    padding: 6px 10px;
    font-size: .8rem;
    white-space: nowrap;
    z-index: 200;
    pointer-events: none;
    transition: opacity .15s;
    border-radius: 3px;
    box-shadow: 0 2px 8px rgba(0,0,0,.3);
}

    .sd-karma-badge__tooltip::after {
        content: '';
        position: absolute;
        top: 100%;
        left: 10px;
        border: 5px solid transparent;
        border-top-color: var(--tooltip-border-color);
    }

.sd-karma-badge:hover .sd-karma-badge__tooltip {
    visibility: visible;
    opacity: 1;
}

.sd-karma-badge__giver {
    display: block;
    padding: 1px 0;
}

.sd-karma-badge__more {
    display: block;
    padding: 2px 0 0;
    font-style: italic;
    color: var(--secondary-text-color);
}
/* Reply tray layout */
.sd-reply-tray {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--section-header-background);
}

.sd-reply-tray__karma {
    display: flex;
    align-items: center;
    padding: 0 .5rem;
}
/* Mobile: keep badge inline and prevent tooltip overflow */
@media(max-width:767px) {
    .sd-karma-badge__tooltip {
        left: 0;
        transform: none;
        max-width: 200px;
        white-space: normal;
    }

    .sd-author-panel {
        display: grid;
        grid-template-columns: auto 1fr auto;
        grid-template-rows: min-content min-content;
        gap: 0 .5rem;
        align-items: start;
    }

    .sd-author-avatar {
        grid-column: 1;
        grid-row: 1 / 3;
        align-self: start;
    }

    .sd-author-karma, .sd-author-karma:visited {
        grid-column: 1;
        grid-row: 3;
        margin: 2px auto 0;
    }

    .sd-author-name {
        grid-column: 2;
        grid-row: 1;
    }

    .sd-author-rank {
        grid-column: 2;
        grid-row: 2;
        margin: 0;
    }

    .sd-author-group {
        grid-column: 3;
        grid-row: 1 / 3;
        align-self: center;
    }

    .sd-author-panel__awards {
        grid-column: 2 / 4;
        grid-row: 3;
    }

    .sd-author-panel__founder-section {
        grid-column: 2 / 4;
        grid-row: 4;
    }

    .sd-author-honorific,
    .sd-author-joindate {
        display: none;
    }

    .sd-post-source {
        display: none;
    }

    .sd-post-original .sd-post-content {
        display: flex;
        flex-direction: column;
    }

    .sd-post-original .sd-post-header {
        order: -1;
    }
}
/* Signup prompt moved to shared/base.css so the standalone Welcome Guest
   landing page (/login-required) also picks it up. */
/* Confluence embedded content */
.confluence-embed{margin:1rem 0;line-height:1.7}
.confluence-embed h3{margin:0 0 .5rem;font-size:1.25rem}
.confluence-embed img,.confluence-embedded-file-wrapper img{max-width:100%;height:auto}

/* Inline editing */
.sd-inline-edit-container {
    margin: .5rem 0;
}
.sd-inline-edit-toolbar {
    display: flex;
    gap: .5rem;
    margin-top: .5rem;
    padding: .5rem 0;
}
.sd-inline-edit-save,
.sd-inline-edit-cancel {
    padding: .4rem 1rem;
    font-size: .85rem;
    cursor: pointer;
}

/* Edit diff display */
.sd-diff-del {
    background: var(--diff-removed-bg);
    color: var(--diff-removed-text);
    text-decoration: line-through;
    padding: 1px 4px;
    font-family: monospace;
    font-size: .85rem;
    white-space: pre-wrap;
}
.sd-diff-new {
    background: var(--diff-added-bg);
    color: var(--diff-added-text);
    padding: 1px 4px;
    font-family: monospace;
    font-size: .85rem;
    white-space: pre-wrap;
}
.sd-diff-unchanged {
    padding: 1px 4px;
    font-family: monospace;
    font-size: .85rem;
    color: var(--secondary-text-color);
    white-space: pre-wrap;
}

/* Collapsed original post (pages > 1) */
.sd-op-full--hidden {
    display: none;
}

.sd-op-collapsed-header {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .75rem 1.25rem;
    cursor: pointer;
    border-bottom: 1px solid var(--border-color);
}

.sd-op-collapsed-header:hover {
    background: var(--alternate-background);
}

.sd-op-collapsed-avatar {
    width: 32px;
    height: 32px;
    border-radius: 4px;
    object-fit: cover;
    flex-shrink: 0;
}

.sd-op-collapsed-author {
    font-weight: 600;
    color: var(--link-color);
    white-space: nowrap;
    flex-shrink: 0;
}

.sd-op-collapsed-title {
    font-size: 1.25em;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
    min-width: 0;
}

.sd-op-collapsed-expand {
    color: var(--secondary-text-color);
    font-size: .75rem;
    flex-shrink: 0;
    transition: transform .2s;
}

.sd-post-original--expanded .sd-op-collapsed-expand {
    transform: rotate(180deg);
}
