.ps-community-form,
.ps-community-notice,
.ps-topic-directory-card {
    box-sizing: border-box;
}

.ps-community-form {
    display: grid;
    gap: 1.25rem;
    max-width: 980px;
}

.ps-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.ps-field {
    display: grid;
    gap: .45rem;
}

.ps-field label {
    font-weight: 700;
}

.ps-field input,
.ps-field select,
.ps-field textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid rgba(148, 163, 184, .35);
    border-radius: 10px;
    padding: .8rem .9rem;
    background: rgba(15, 23, 42, .65);
    color: inherit;
    font: inherit;
}

.ps-field textarea {
    resize: vertical;
    min-height: 280px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.ps-field-help,
.ps-community-form-footer p,
.ps-topic-directory-card span,
.ps-topic-directory-card small {
    opacity: .72;
}

.ps-community-form-footer {
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.ps-community-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 10px;
    padding: .75rem 1rem;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    background: var(--ps-accent, #d6253b);
    color: #fff;
}

.ps-community-button-secondary {
    background: transparent;
    border: 1px solid rgba(148, 163, 184, .35);
}

.ps-community-notice {
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 12px;
    padding: 1rem 1.1rem;
    margin: 0 0 1.25rem;
    background: rgba(30, 41, 59, .55);
}

.ps-community-notice-success {
    border-color: rgba(34, 197, 94, .5);
}

.ps-community-notice-error {
    border-color: rgba(239, 68, 68, .6);
}

.ps-code-example,
.ps-code-block pre {
    overflow-x: auto;
    white-space: pre;
    tab-size: 4;
}

.ps-code-example {
    margin: .25rem 0 0;
    border-radius: 10px;
    padding: .8rem 1rem;
    background: #0b1020;
}

.ps-code-block {
    margin: 1.25rem 0;
    border: 1px solid rgba(148, 163, 184, .25);
    border-radius: 12px;
    overflow: hidden;
    background: #080d18;
}

.ps-code-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .55rem .75rem;
    border-bottom: 1px solid rgba(148, 163, 184, .2);
    background: rgba(15, 23, 42, .95);
}

.ps-code-language {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: .8rem;
    opacity: .75;
}

.ps-copy-code {
    border: 1px solid rgba(148, 163, 184, .3);
    border-radius: 7px;
    padding: .35rem .55rem;
    background: transparent;
    color: inherit;
    cursor: pointer;
}

.ps-code-block pre {
    margin: 0;
    padding: 1rem 1.1rem;
    background: transparent;
}

.ps-code-block code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: .92rem;
}

.ps-topic-directory {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.ps-topic-directory-card {
    display: grid;
    gap: .35rem;
    padding: 1rem;
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    background: rgba(15, 23, 42, .5);
}

@media (max-width: 760px) {
    .ps-form-grid,
    .ps-topic-directory {
        grid-template-columns: 1fr;
    }
}

/* v0.2.0 — member accounts and developer profiles */
.ps-account-shell {
    display: grid;
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
}

.ps-account-sidebar,
.ps-account-main,
.ps-account-panel,
.ps-stat-card,
.ps-member-card,
.ps-profile-section,
.ps-profile-sidebar-card,
.ps-membership-card,
.ps-my-content-item {
    box-sizing: border-box;
}

.ps-account-sidebar {
    position: sticky;
    top: 6rem;
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: 16px;
    padding: 1rem;
    background: rgba(15, 23, 42, .62);
}

.ps-account-person {
    display: flex;
    align-items: center;
    gap: .85rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(148, 163, 184, .18);
}

.ps-account-person > div {
    min-width: 0;
    display: grid;
    gap: .15rem;
}

.ps-account-person strong,
.ps-account-person span,
.ps-account-person small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ps-account-person span,
.ps-account-person small,
.ps-member-handle,
.ps-my-content-meta,
.ps-profile-activity-meta {
    opacity: .72;
}

.ps-member-avatar {
    width: 72px;
    height: 72px;
    border-radius: 18px;
    object-fit: cover;
    flex: 0 0 auto;
    border: 1px solid rgba(148, 163, 184, .25);
    background: rgba(15, 23, 42, .85);
}

.ps-account-person .ps-member-avatar {
    width: 64px;
    height: 64px;
    border-radius: 16px;
}

.ps-member-avatar-large {
    width: 112px;
    height: 112px;
    border-radius: 24px;
}

.ps-member-avatar-xl {
    width: 144px;
    height: 144px;
    border-radius: 30px;
}

.ps-account-nav {
    display: grid;
    gap: .35rem;
    margin: 1rem 0;
}

.ps-account-nav a,
.ps-account-public-link {
    display: block;
    border-radius: 9px;
    padding: .7rem .75rem;
    color: inherit;
    text-decoration: none;
}

.ps-account-nav a:hover,
.ps-account-nav a.is-active {
    background: rgba(214, 37, 59, .14);
    color: var(--ps-accent, #d6253b);
}

.ps-account-public-link {
    border-top: 1px solid rgba(148, 163, 184, .18);
    border-radius: 0;
    padding-top: 1rem;
}

.ps-account-main {
    min-width: 0;
}

.ps-account-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 1.25rem;
}

.ps-account-heading h2 {
    margin: .2rem 0 0;
}

.ps-account-kicker {
    display: block;
    text-transform: uppercase;
    letter-spacing: .09em;
    font-size: .75rem;
    font-weight: 800;
    opacity: .62;
}

.ps-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .85rem;
    margin-bottom: 1rem;
}

.ps-stat-card {
    display: grid;
    gap: .2rem;
    padding: 1rem;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 14px;
    background: rgba(15, 23, 42, .48);
}

.ps-stat-card strong {
    font-size: 1.5rem;
}

.ps-stat-card span {
    opacity: .7;
}

.ps-account-panel-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.ps-account-standing-panel + .ps-stat-grid {
    margin-top: 1rem;
}

.ps-account-panel {
    padding: 1.05rem;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 14px;
    background: rgba(15, 23, 42, .42);
}

.ps-account-panel h3,
.ps-profile-section h2,
.ps-profile-sidebar-card h2,
.ps-membership-card h3 {
    margin-top: 0;
}

.ps-account-panel a,
.ps-member-profile-links a,
.ps-profile-section a,
.ps-profile-activity-list a {
    color: var(--ps-accent, #d6253b);
}

.ps-profile-photo-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
}

.ps-check-row {
    display: flex;
    gap: .55rem;
    align-items: flex-start;
    line-height: 1.4;
}

.ps-check-row input {
    width: auto;
    margin-top: .18rem;
}

.ps-skill-fieldset,
.ps-preference-fieldset {
    margin: 0;
    border: 0;
    padding: 0;
}

.ps-skill-fieldset legend,
.ps-preference-fieldset legend {
    font-weight: 700;
    margin-bottom: .4rem;
}

.ps-skill-picker {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .55rem;
}

.ps-skill-picker label {
    display: flex;
    align-items: center;
    gap: .45rem;
    min-width: 0;
    padding: .55rem .65rem;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 9px;
    font-weight: 500;
    background: rgba(15, 23, 42, .32);
}

.ps-skill-picker input {
    width: auto;
}

.ps-my-content-list {
    display: grid;
    gap: .75rem;
}

.ps-my-content-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 13px;
    background: rgba(15, 23, 42, .42);
}

.ps-my-content-item h3 {
    margin: .25rem 0 0;
    font-size: 1rem;
}

.ps-my-content-item h3 a {
    color: inherit;
    text-decoration: none;
}

.ps-my-content-meta,
.ps-profile-activity-meta {
    display: flex;
    gap: .55rem;
    flex-wrap: wrap;
    font-size: .8rem;
}

.ps-status {
    border-radius: 999px;
    padding: .12rem .45rem;
    background: rgba(148, 163, 184, .14);
}

.ps-status-publish {
    color: #86efac;
    background: rgba(34, 197, 94, .12);
}

.ps-status-pending {
    color: #fde68a;
    background: rgba(245, 158, 11, .12);
}

.ps-my-content-actions {
    display: flex;
    align-items: center;
    gap: .65rem;
    flex: 0 0 auto;
}

.ps-my-content-actions form {
    margin: 0;
}

.ps-text-button {
    border: 0;
    background: transparent;
    padding: .4rem .2rem;
    color: inherit;
    cursor: pointer;
    font: inherit;
}

.ps-danger-button {
    color: #fca5a5;
}

.ps-membership-card {
    padding: 1.25rem;
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: 16px;
    margin-bottom: 1rem;
    background: rgba(15, 23, 42, .5);
}

.ps-membership-card.is-pro {
    border-color: rgba(214, 37, 59, .7);
    box-shadow: inset 0 0 0 1px rgba(214, 37, 59, .15);
}

.ps-membership-label,
.ps-pro-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: .18rem .45rem;
    font-size: .68rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .06em;
    color: #fff;
    background: var(--ps-accent, #d6253b);
}

.ps-pro-badge {
    margin-left: .4rem;
    vertical-align: .12em;
}

.ps-pro-badge-large {
    padding: .3rem .55rem;
}

.ps-members-directory {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.ps-member-card {
    display: flex;
    gap: .8rem;
    min-width: 0;
    padding: 1rem;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 14px;
    color: inherit;
    text-decoration: none;
    background: rgba(15, 23, 42, .46);
    transition: border-color .16s ease, transform .16s ease;
}

.ps-member-card:hover {
    transform: translateY(-1px);
    border-color: rgba(214, 37, 59, .52);
}

.ps-member-card-body {
    min-width: 0;
    display: grid;
    gap: .2rem;
    align-content: start;
}

.ps-member-card-body > strong,
.ps-member-card-body > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ps-member-card-body > span {
    opacity: .68;
    font-size: .82rem;
}

.ps-member-card-body p {
    margin: .2rem 0;
    opacity: .88;
}

.ps-member-skills {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.ps-member-skills span,
.ps-member-skills a {
    border: 1px solid rgba(148, 163, 184, .2);
    border-radius: 999px;
    padding: .25rem .5rem;
    font-size: .75rem;
    color: inherit;
    text-decoration: none;
    background: rgba(148, 163, 184, .08);
}

.ps-member-profile-page {
    position: relative;
    padding-top: 0;
    padding-bottom: 0;
}

.ps-member-profile-directory-back {
    position: absolute;
    top: 18px;
    left: -20px;
    z-index: 35;
}
@media (max-width: 720px) {
    .ps-member-profile-directory-back {
        top: 10px;
        left: -8px;
    }
}


.ps-member-profile-hero {
    display: flex;
    align-items: center;
    gap: 1.35rem;
    padding: 1.3rem;
    border: 1px solid rgba(148, 163, 184, .23);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(214, 37, 59, .12), rgba(15, 23, 42, .58));
}

.ps-member-profile-intro {
    min-width: 0;
}

.ps-member-name-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .4rem;
}

.ps-member-name-row h1 {
    margin: 0;
}

.ps-member-handle {
    margin: .25rem 0;
}

.ps-member-headline {
    margin: .7rem 0;
    font-size: 1.06rem;
}

.ps-member-profile-links {
    display: flex;
    gap: .85rem;
    flex-wrap: wrap;
}

.ps-member-profile-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
    gap: 1.1rem;
    margin-top: 1.1rem;
    align-items: start;
}

.ps-member-profile-main,
.ps-member-profile-sidebar {
    display: grid;
    gap: 1rem;
}

.ps-profile-section,
.ps-profile-sidebar-card {
    padding: 1.1rem;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 14px;
    background: rgba(15, 23, 42, .42);
}

.ps-member-skills-large a {
    padding: .4rem .65rem;
    font-size: .84rem;
}

.ps-profile-activity-list {
    display: grid;
    gap: .65rem;
}

.ps-profile-activity-list article {
    padding: .75rem 0;
    border-bottom: 1px solid rgba(148, 163, 184, .15);
}

.ps-profile-activity-list article:last-child {
    border-bottom: 0;
}

.ps-profile-activity-list h3 {
    margin: .3rem 0 0;
    font-size: 1rem;
}

.ps-coming-soon-card {
    border-style: dashed;
}

.ps-member-private-notice {
    max-width: 720px;
    margin: 2rem auto;
}

@media (max-width: 980px) {
    .ps-account-shell,
    .ps-member-profile-grid {
        grid-template-columns: 1fr;
    }

    .ps-account-sidebar {
        position: static;
    }

    .ps-account-nav {
        grid-template-columns: repeat(7, minmax(max-content, 1fr));
        overflow-x: auto;
    }

    .ps-members-directory {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ps-skill-picker {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .ps-stat-grid,
    .ps-account-panel-grid,
    .ps-members-directory,
    .ps-skill-picker {
        grid-template-columns: 1fr;
    }

    .ps-account-nav {
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: max-content;
    }

    .ps-account-heading,
    .ps-my-content-item,
    .ps-member-profile-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .ps-my-content-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .ps-profile-photo-row {
        grid-template-columns: 1fr;
    }

    .ps-member-avatar-xl {
        width: 112px;
        height: 112px;
    }
}

.ps-account-logout-link {
    display: block;
    margin-top: .35rem;
    padding: .7rem .75rem;
    border-radius: 9px;
    color: #fca5a5;
    text-decoration: none;
}

.ps-account-logout-link:hover {
    background: rgba(239, 68, 68, .08);
}

/* v0.3.0 — responsive voting engine */
.ps-vote-controls {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: .25rem;
    min-width: 0;
}

.ps-vote-controls--card {
    flex-direction: column;
    justify-content: flex-start;
    width: 100%;
}

.ps-vote-controls--single {
    display: inline-flex;
    flex-wrap: wrap;
    gap: .35rem;
    padding: .45rem .55rem;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 12px;
    background: rgba(15, 23, 42, .34);
}

.ps-vote-button {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    min-width: 38px;
    min-height: 38px;
    border: 1px solid transparent;
    border-radius: 9px;
    padding: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font: inherit;
    line-height: 1;
    touch-action: manipulation;
    transition: background-color .15s ease, border-color .15s ease, transform .15s ease, opacity .15s ease;
}

.ps-vote-button:hover:not(:disabled),
.ps-vote-button:focus-visible:not(:disabled) {
    border-color: rgba(148, 163, 184, .32);
    background: rgba(148, 163, 184, .1);
}

.ps-vote-button:active:not(:disabled) {
    transform: translateY(1px);
}

.ps-vote-button-up.is-active {
    color: #a9f3cb;
    border-color: rgba(34, 197, 94, .34);
    background: rgba(34, 197, 94, .12);
}

.ps-vote-button-down.is-active {
    color: #f9b1b1;
    border-color: rgba(239, 68, 68, .34);
    background: rgba(239, 68, 68, .12);
}

.ps-vote-button:disabled {
    cursor: not-allowed;
    opacity: .38;
}

.ps-vote-controls.is-busy .ps-vote-button {
    opacity: .5;
}

.ps-vote-score {
    min-width: 2.5ch;
    text-align: center;
    font-size: .9rem;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.ps-vote-controls--single .ps-vote-score {
    min-width: 3ch;
    font-size: 1rem;
}

.ps-vote-breakdown {
    margin-left: .25rem;
    font-size: .75rem;
    opacity: .65;
    white-space: nowrap;
}

@media (max-width: 640px) {
    .ps-vote-controls--card,
    .ps-vote-controls--single {
        flex-direction: row;
        width: auto;
    }

    .ps-vote-controls--card {
        justify-content: flex-start;
    }

    .ps-vote-button {
        width: 42px;
        height: 42px;
        min-width: 42px;
        min-height: 42px;
    }

    .ps-vote-score {
        min-width: 3.25ch;
        font-size: .95rem;
    }

    .ps-vote-breakdown {
        white-space: normal;
    }
}

@media (max-width: 420px) {
    .ps-community-form,
    .ps-account-shell,
    .ps-account-main,
    .ps-member-profile-page,
    .ps-topic-directory,
    .ps-members-directory {
        min-width: 0;
        max-width: 100%;
    }

    .ps-community-button {
        width: 100%;
        min-height: 44px;
    }

    .ps-community-form-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .ps-code-toolbar {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .ps-code-block pre,
    .ps-code-example {
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/* v0.3.1 side patch — custom responsive authentication */
.ps-auth-page .ps-content-narrow {
    width: min(calc(100% - 36px), var(--ps-container, 1315px));
}

.ps-auth-page article.ps-page {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.ps-auth-page article.ps-page > h1 {
    display: none;
}

.ps-auth-page .ps-entry-content {
    margin-top: 0;
}

.ps-auth-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 500px);
    gap: clamp(2rem, 6vw, 6rem);
    align-items: center;
    min-height: min(680px, calc(100vh - 190px));
    width: 100%;
    padding-block: clamp(1rem, 4vw, 3rem);
}

.ps-auth-intro,
.ps-auth-panel,
.ps-auth-form,
.ps-auth-panel-heading {
    min-width: 0;
}

.ps-auth-intro h1 {
    margin: .35rem 0 1rem;
    max-width: 720px;
    font-size: clamp(2.55rem, 6vw, 5.5rem);
    line-height: .98;
    letter-spacing: -.065em;
}

.ps-auth-intro > p {
    max-width: 700px;
    margin: 0;
    color: #aeb8ca;
    font-size: clamp(1rem, 2vw, 1.16rem);
}

.ps-auth-code {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    margin-top: 1.5rem;
    color: #ffd3d9;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: .9rem;
}

.ps-auth-code span {
    color: var(--ps-accent, #d6253b);
    font-weight: 900;
}

.ps-auth-benefits {
    display: grid;
    gap: .6rem;
    max-width: 720px;
    margin: 1.5rem 0 0;
    padding: 0;
    list-style: none;
}

.ps-auth-benefits li {
    position: relative;
    padding-left: 1.55rem;
    color: #c4cbda;
}

.ps-auth-benefits li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #78e3b5;
    font-weight: 900;
}

.ps-auth-panel {
    width: 100%;
    border-left: 1px solid rgba(148, 163, 184, .22);
    padding-left: clamp(1.5rem, 4vw, 3rem);
}

.ps-auth-panel-heading {
    margin-bottom: 1.25rem;
}

.ps-auth-panel-heading h2 {
    margin: 0 0 .3rem;
    font-size: clamp(1.65rem, 3vw, 2.1rem);
}

.ps-auth-panel-heading p {
    margin: 0;
    opacity: .72;
}

.ps-auth-form {
    display: grid;
    gap: 1rem;
}

.ps-auth-form .ps-field input {
    min-height: 48px;
}

.ps-auth-remember {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    width: fit-content;
}

.ps-auth-remember input,
.ps-auth-panel .ps-check-row input {
    width: auto;
}

.ps-auth-submit {
    min-height: 48px;
    width: 100%;
    margin-top: .15rem;
}

.ps-auth-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: .75rem 1rem;
    margin-top: 1.1rem;
    font-size: .92rem;
}

.ps-auth-links a {
    font-weight: 750;
}

.ps-recaptcha-wrap {
    width: 304px;
    max-width: 100%;
    min-height: 78px;
    overflow: visible;
}

.ps-recaptcha-scale {
    width: 304px;
    transform-origin: left top;
}

@media (max-width: 900px) {
    .ps-auth-shell {
        grid-template-columns: 1fr;
        gap: 2rem;
        min-height: 0;
        padding-block: 1rem 2rem;
    }

    .ps-auth-intro h1 {
        max-width: 850px;
        font-size: clamp(2.35rem, 9vw, 4.5rem);
    }

    .ps-auth-panel {
        border-left: 0;
        border-top: 1px solid rgba(148, 163, 184, .22);
        padding: 1.5rem 0 0;
    }
}

@media (max-width: 560px) {
    .ps-auth-page .ps-content-narrow {
        width: min(calc(100% - 24px), var(--ps-container, 1315px));
    }

    .ps-auth-shell {
        gap: 1.4rem;
    }

    .ps-auth-intro h1 {
        font-size: clamp(2.1rem, 12vw, 3.25rem);
    }

    .ps-auth-form .ps-form-grid {
        grid-template-columns: 1fr;
    }

    .ps-auth-links {
        flex-direction: column;
    }
}

@media (max-width: 350px) {
    .ps-recaptcha-wrap {
        width: 268px;
        height: 69px;
        min-height: 69px;
        overflow: visible;
    }

    .ps-recaptcha-scale {
        transform: scale(.88);
    }
}


/* v0.3.2 — frontend account access for operational staff */
.ps-account-backend-link {
    margin-top: .65rem;
    border-top: 1px solid rgba(148, 163, 184, .14);
    padding-top: .85rem;
}

/* v0.4.0 — form alignment audit */
.ps-community-form,
.ps-auth-form,
.ps-field,
.ps-form-grid,
.ps-community-form-footer,
.ps-profile-photo-row,
.ps-preference-fieldset,
.ps-skill-fieldset {
    min-width: 0;
    width: 100%;
}

.ps-community-form,
.ps-auth-form {
    align-items: stretch;
}

.ps-form-grid {
    align-items: start;
}

.ps-form-grid > .ps-field {
    align-content: start;
}

.ps-field > label,
.ps-field > legend {
    line-height: 1.35;
}

.ps-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.ps-field select,
.ps-auth-form input:not([type="checkbox"]):not([type="radio"]),
.ps-community-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]) {
    min-height: 48px;
}

.ps-field input,
.ps-field select,
.ps-field textarea,
.ps-auth-form input,
.ps-auth-form select,
.ps-auth-form textarea,
.ps-community-form input,
.ps-community-form select,
.ps-community-form textarea {
    max-width: 100%;
    margin: 0;
}

.ps-field-help,
.ps-community-form-footer p {
    margin: .15rem 0 0;
}

.ps-check-row {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: .55rem;
    align-items: start;
    width: 100%;
}

.ps-check-row input[type="checkbox"],
.ps-check-row input[type="radio"] {
    width: 18px;
    height: 18px;
    min-width: 18px;
    min-height: 18px;
    margin: .08rem 0 0;
}

.ps-community-form-footer {
    align-items: center;
}

.ps-community-button {
    min-height: 44px;
}

/* v0.4.0 — replies and Q&A */
.ps-reply-item {
    list-style: none;
    margin: 0;
    min-width: 0;
}

.ps-reply {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    min-width: 0;
    padding: 18px 0;
    border-bottom: 1px solid rgba(148, 163, 184, .16);
}

.ps-reply-item.is-accepted-answer > .ps-reply {
    margin: 8px 0;
    padding: 18px 14px;
    border: 1px solid rgba(34, 197, 94, .32);
    border-radius: 14px;
    background: rgba(34, 197, 94, .055);
}

.ps-reply-vote {
    display: flex;
    justify-content: center;
    min-width: 0;
}

.ps-vote-controls--reply {
    flex-direction: column;
    width: 44px;
}

.ps-reply-main,
.ps-reply-author-block,
.ps-reply-content {
    min-width: 0;
}

.ps-reply-header {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    margin-bottom: 10px;
}

.ps-reply-avatar {
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    object-fit: cover;
}

.ps-reply-author-block {
    display: grid;
    gap: 2px;
}

.ps-reply-author-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    min-width: 0;
}

.ps-reply-author {
    color: inherit;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.ps-reply-date {
    color: inherit;
    opacity: .62;
    font-size: .77rem;
}

.ps-accepted-badge,
.ps-question-state {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border-radius: 999px;
    padding: .25rem .52rem;
    font-size: .72rem;
    line-height: 1.1;
    font-weight: 850;
}

.ps-accepted-badge,
.ps-question-state.ps-question-state-answered {
    color: #bbf7d0;
    border: 1px solid rgba(34, 197, 94, .32);
    background: rgba(34, 197, 94, .1);
}

.ps-question-state.ps-question-state-unanswered {
    color: #fde68a;
    border: 1px solid rgba(245, 158, 11, .32);
    background: rgba(245, 158, 11, .1);
}

.ps-question-state.ps-question-state-closed {
    color: #cbd5e1;
    border: 1px solid rgba(148, 163, 184, .3);
    background: rgba(148, 163, 184, .08);
}

.ps-reply-content {
    color: inherit;
    overflow-wrap: anywhere;
}

.ps-reply-content > :first-child {
    margin-top: 0;
}

.ps-reply-content > :last-child {
    margin-bottom: 0;
}

.ps-reply-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 14px;
    margin-top: 12px;
    font-size: .82rem;
    font-weight: 700;
}

.ps-reply-actions a,
.ps-reply-actions button {
    color: inherit;
}

.ps-inline-action-form {
    display: inline-flex;
    margin: 0;
}

.ps-accept-button {
    color: #86efac !important;
}

.ps-question-state-panel {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
    margin-top: 22px;
    padding: 11px 12px;
    border: 1px solid rgba(148, 163, 184, .18);
    border-left: 3px solid rgba(148, 163, 184, .5);
    border-radius: 10px;
    background: rgba(15, 23, 42, .34);
    color: inherit;
    font-size: .86rem;
    line-height: 1.45;
}

.ps-question-state-panel.ps-question-state-unanswered {
    border-color: rgba(245, 158, 11, .2);
    border-left-color: rgba(245, 158, 11, .78);
    background: rgba(245, 158, 11, .045);
}

.ps-question-state-panel.ps-question-state-answered {
    border-color: rgba(34, 197, 94, .19);
    border-left-color: rgba(34, 197, 94, .72);
    background: rgba(34, 197, 94, .04);
}

.ps-question-state-panel.ps-question-state-closed {
    border-color: rgba(148, 163, 184, .18);
    border-left-color: rgba(148, 163, 184, .5);
    background: rgba(148, 163, 184, .035);
}

.ps-question-state-panel > a {
    font-weight: 750;
}

.ps-question-state-panel > span:not(.ps-question-state) {
    opacity: .78;
}

.ps-question-state-panel .ps-question-state-action {
    margin-left: auto;
}

.ps-question-state-panel .ps-question-state-action .ps-text-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: .36rem .68rem;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 8px;
    background: rgba(15, 23, 42, .36);
    color: inherit;
    font-size: .78rem;
    font-weight: 750;
    text-decoration: none;
}

.ps-question-state-panel .ps-question-state-action .ps-text-button:hover,
.ps-question-state-panel .ps-question-state-action .ps-text-button:focus-visible {
    border-color: rgba(214, 37, 59, .58);
    background: rgba(214, 37, 59, .09);
}

.ps-community-reply-form {
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid rgba(148, 163, 184, .18);
}

.ps-reply-form-title {
    margin: 0 0 12px;
}

.ps-community-reply-form .logged-in-as,
.ps-community-reply-form .must-log-in {
    margin: 0 0 10px;
}

.ps-community-reply-form .form-submit {
    margin: 0;
}

.ps-my-reply-excerpt {
    margin: .45rem 0 0;
    opacity: .74;
}

@media (max-width: 720px) {
    .ps-reply {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
        padding-block: 14px;
    }

    .ps-reply-vote {
        grid-row: 2;
        justify-content: flex-start;
    }

    .ps-vote-controls--reply {
        flex-direction: row;
        width: auto;
    }

    .ps-reply-main {
        grid-row: 1;
    }

    .ps-reply-item.is-accepted-answer > .ps-reply {
        padding: 14px 10px;
    }

    .ps-question-state-panel {
        align-items: flex-start;
        flex-direction: column;
    }

    .ps-question-state-panel .ps-question-state-action {
        margin-left: 0;
    }
}

@media (max-width: 420px) {
    .ps-reply-header {
        align-items: flex-start;
    }

    .ps-reply-avatar {
        width: 38px;
        height: 38px;
    }

    .ps-reply-actions {
        gap: 8px 11px;
    }

    .ps-form-grid {
        grid-template-columns: 1fr;
    }
}

.ps-form-grid > .ps-field > label {
    display: flex;
    align-items: flex-end;
    min-height: 1.4rem;
}


/* v0.5.0 — durable reputation */
.ps-stat-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.ps-reputation-total {
    display: grid;
    justify-items: end;
    line-height: 1.05;
}

.ps-reputation-total strong,
.ps-public-reputation-total strong {
    font-size: clamp(1.7rem, 4vw, 2.4rem);
    color: #fff;
}

.ps-reputation-total span,
.ps-public-reputation-total span {
    margin-top: .25rem;
    font-size: .78rem;
    opacity: .68;
}

.ps-reputation-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.1rem;
}

.ps-reputation-rules {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
    margin-top: .9rem;
}

.ps-reputation-rules span {
    display: flex;
    align-items: baseline;
    gap: .45rem;
    padding: .6rem .7rem;
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 10px;
    background: rgba(15, 23, 42, .28);
}

.ps-reputation-rules strong {
    color: #ff9aa8;
}

.ps-topic-reputation-list {
    display: grid;
    gap: .45rem;
}

.ps-topic-reputation-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-width: 0;
    padding: .55rem .65rem;
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 9px;
    color: inherit;
    text-decoration: none;
    background: rgba(15, 23, 42, .26);
}

.ps-topic-reputation-list a:hover {
    border-color: rgba(214, 37, 59, .5);
}

.ps-topic-reputation-list span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ps-topic-reputation-list strong {
    flex: 0 0 auto;
    color: #fff;
}

.ps-reputation-history {
    min-width: 0;
}

.ps-reputation-history h3 {
    margin-bottom: .7rem;
}

.ps-reputation-history-list {
    display: grid;
    border-top: 1px solid rgba(148, 163, 184, .18);
}

.ps-reputation-row {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) auto;
    gap: .85rem;
    align-items: center;
    min-width: 0;
    padding: .8rem .25rem;
    border-bottom: 1px solid rgba(148, 163, 184, .16);
}

.ps-reputation-row > strong {
    font-variant-numeric: tabular-nums;
    font-size: 1.05rem;
}

.ps-reputation-row > strong.is-positive { color: #86efac; }
.ps-reputation-row > strong.is-negative { color: #fca5a5; }

.ps-reputation-row > div {
    display: grid;
    min-width: 0;
}

.ps-reputation-row small,
.ps-reputation-row time {
    opacity: .64;
    font-size: .76rem;
}

.ps-public-reputation-total {
    display: grid;
    margin: .3rem 0 .9rem;
}

.ps-topic-reputation-list-compact a {
    padding: .45rem .55rem;
    font-size: .82rem;
}

@media (max-width: 980px) {
    .ps-stat-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .ps-stat-grid,
    .ps-reputation-layout,
    .ps-reputation-rules {
        grid-template-columns: 1fr;
    }

    .ps-account-heading .ps-reputation-total {
        justify-items: start;
    }

    .ps-reputation-row {
        grid-template-columns: 64px minmax(0, 1fr);
    }

    .ps-reputation-row time {
        grid-column: 2;
    }
}


/* v0.6.1 — AJAX homepage feed switching */
[data-ps-feed-root] .ps-feed-list {
    transition: opacity .16s ease;
}

[data-ps-feed-root].is-feed-loading .ps-feed-list {
    opacity: .42;
    pointer-events: none;
}

.ps-feed-status {
    min-height: 1px;
}

@media (prefers-reduced-motion: reduce) {
    [data-ps-feed-root] .ps-feed-list {
        transition: none;
    }
}


/* v0.6.2 — resilient account dashboard statistics */
.ps-stat-grid {
    grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
    gap: .75rem;
    align-items: stretch;
}

.ps-stat-card {
    min-width: 0;
    overflow: hidden;
    align-content: start;
    padding: .9rem .95rem;
}

.ps-stat-card strong {
    display: block;
    min-width: 0;
    max-width: 100%;
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    line-height: 1.08;
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
    word-break: normal;
}

.ps-stat-card span {
    display: block;
    min-width: 0;
    max-width: 100%;
    font-size: .78rem;
    line-height: 1.3;
    white-space: normal;
    overflow-wrap: anywhere;
}

@media (max-width: 980px) {
    .ps-stat-grid {
        grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
    }
}

@media (max-width: 720px) {
    .ps-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 420px) {
    .ps-stat-grid {
        grid-template-columns: 1fr;
    }
}

/* v0.7.0 — Global Search & Developer Discovery */
.ps-global-search-header {
    max-width: 920px;
    margin: 0 0 1.25rem;
}

.ps-global-search-header h1 {
    margin: .25rem 0 .55rem;
    font-size: clamp(2rem, 5vw, 3.4rem);
    line-height: 1.04;
    letter-spacing: -.04em;
}

.ps-global-search-header p {
    max-width: 760px;
    margin: 0;
    opacity: .78;
}

.ps-global-search-form {
    display: grid;
    gap: 1rem;
    margin-bottom: 1.8rem;
    padding: 1rem;
    border: 1px solid rgba(148, 163, 184, .2);
    border-radius: 16px;
    background: rgba(15, 23, 42, .38);
}

.ps-global-search-query {
    display: grid;
    gap: .45rem;
}

.ps-global-search-query > label,
.ps-search-filter-grid label {
    font-weight: 750;
}

.ps-global-search-query-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .65rem;
    align-items: stretch;
}

.ps-global-search-query-row input {
    min-width: 0;
    min-height: 46px;
}

.ps-search-filter-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .75rem;
    align-items: end;
}

.ps-search-filter-grid .ps-field {
    min-width: 0;
}

.ps-search-filter-grid select {
    min-height: 44px;
}

.ps-search-section {
    margin-top: 1.6rem;
    min-width: 0;
}

.ps-search-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .75rem;
}

.ps-search-section-heading h2 {
    margin: .18rem 0 0;
    font-size: clamp(1.45rem, 3vw, 2rem);
}

.ps-search-section-heading > span {
    flex: 0 0 auto;
    opacity: .64;
    font-size: .82rem;
}

.ps-search-discovery-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
}

.ps-search-discovery-card,
.ps-search-member-card,
.ps-search-term-card,
.ps-related-item {
    min-width: 0;
    border: 1px solid rgba(148, 163, 184, .2);
    background: rgba(15, 23, 42, .36);
}

.ps-search-discovery-card {
    padding: 1rem;
    border-radius: 14px;
}

.ps-search-discovery-card h3 {
    margin: 0 0 .7rem;
    font-size: 1rem;
}

.ps-search-mini-list {
    display: grid;
    gap: .38rem;
}

.ps-search-mini-list > a {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-width: 0;
    padding: .55rem .6rem;
    border-radius: 9px;
    color: inherit;
    text-decoration: none;
}

.ps-search-mini-list > a:hover {
    background: rgba(214, 37, 59, .08);
}

.ps-search-mini-list > a > span {
    display: grid;
    min-width: 0;
}

.ps-search-mini-list strong,
.ps-search-mini-list small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ps-search-mini-list small {
    opacity: .64;
    font-size: .74rem;
}

.ps-search-mini-avatar {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 50%;
    object-fit: cover;
}

.ps-search-members-grid,
.ps-search-term-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: .8rem;
}

.ps-search-member-card,
.ps-search-term-card {
    display: flex;
    gap: .8rem;
    padding: .9rem;
    border-radius: 13px;
    color: inherit;
    text-decoration: none;
}

.ps-search-member-card:hover,
.ps-search-term-card:hover,
.ps-related-item:hover {
    border-color: rgba(214, 37, 59, .55);
    background: rgba(214, 37, 59, .055);
}

.ps-search-member-card > div,
.ps-search-term-card {
    min-width: 0;
}

.ps-search-member-card > div {
    display: grid;
    align-content: start;
    gap: .18rem;
}

.ps-search-member-card > div > span {
    opacity: .65;
    font-size: .78rem;
}

.ps-search-member-card p {
    margin: .25rem 0;
    opacity: .8;
    font-size: .86rem;
}

.ps-search-term-card {
    display: grid;
    gap: .28rem;
}

.ps-search-term-card strong {
    font-size: 1rem;
}

.ps-search-term-card p {
    margin: .15rem 0;
    opacity: .74;
    font-size: .84rem;
}

.ps-search-term-card small {
    opacity: .58;
}

.ps-search-pagination {
    margin-top: 1rem;
}

.ps-search-pagination .page-numbers {
    margin: 0 .2rem .2rem 0;
}

.ps-related-discussions {
    margin-top: 1.6rem;
    padding-top: 1.35rem;
    border-top: 1px solid rgba(148, 163, 184, .18);
}

.ps-related-heading h2 {
    margin: .15rem 0 .75rem;
    font-size: 1.35rem;
}

.ps-related-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
}

.ps-related-item {
    display: grid;
    gap: .3rem;
    padding: .85rem;
    border-radius: 12px;
    color: inherit;
    text-decoration: none;
}

.ps-related-item strong {
    line-height: 1.35;
}

.ps-related-item small {
    opacity: .6;
    font-size: .75rem;
}

.ps-related-type {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    color: #ff9aa8;
    text-transform: uppercase;
    letter-spacing: .07em;
    font-size: .68rem;
    font-weight: 800;
}

.ps-similar-results {
    margin-top: .55rem;
    padding: .75rem;
    border: 1px solid rgba(214, 37, 59, .25);
    border-radius: 11px;
    background: rgba(214, 37, 59, .045);
}

.ps-similar-results[hidden] {
    display: none !important;
}

.ps-similar-results strong.ps-similar-heading {
    display: block;
    margin-bottom: .45rem;
    color: #fff;
    font-size: .82rem;
}

.ps-similar-results ul {
    display: grid;
    gap: .3rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ps-similar-results a {
    display: block;
    padding: .35rem 0;
    color: inherit;
    text-decoration: none;
}

.ps-similar-results a:hover {
    color: #ff9aa8;
}

.ps-similar-results small {
    display: block;
    opacity: .62;
    font-size: .72rem;
}

@media (max-width: 1080px) {
    .ps-search-filter-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .ps-search-filter-grid,
    .ps-search-discovery-grid,
    .ps-related-list {
        grid-template-columns: 1fr;
    }

    .ps-search-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: .25rem;
    }
}

@media (max-width: 560px) {
    .ps-global-search-form {
        margin-inline: -2px;
        padding: .8rem;
        border-left: 0;
        border-right: 0;
        border-radius: 0;
    }

    .ps-global-search-query-row {
        grid-template-columns: 1fr;
    }

    .ps-global-search-query-row .ps-community-button {
        width: 100%;
    }

    .ps-search-members-grid,
    .ps-search-term-grid {
        grid-template-columns: 1fr;
    }
}

/* v0.8.0 — private saves and following */
.ps-relation-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-width: 0;
    white-space: nowrap;
}

.ps-relation-button.is-active {
    color: #ff9aa8 !important;
}

.ps-relation-button.is-busy {
    opacity: .62;
    cursor: wait;
}

.ps-thread-relationship-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .65rem;
    margin-top: 1.1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(148, 163, 184, .16);
}

.ps-topic-follow-control {
    display: flex;
    align-items: center;
    margin-top: .85rem;
}

.ps-reply-save-button {
    padding: 0;
    min-height: 0;
    font-weight: inherit;
}

.ps-relationship-account-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

/* v0.23.104.28 — keep Pro Saved Collections visually separated from the normal Saved library. */
.ps-pro-saved-collections + .ps-relationship-account-grid {
    margin-top: 1.15rem;
}

.ps-account-intro {
    margin: -.55rem 0 1.1rem;
    opacity: .76;
}

.ps-relationship-list {
    display: grid;
    gap: .35rem;
}

.ps-relationship-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .9rem;
    padding: .8rem 0;
    border-bottom: 1px solid rgba(148, 163, 184, .14);
    min-width: 0;
}

.ps-relationship-item:last-child {
    border-bottom: 0;
}

.ps-relationship-item > div {
    display: grid;
    gap: .15rem;
    min-width: 0;
}

.ps-relationship-title {
    color: inherit;
    font-weight: 750;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.ps-relationship-title:hover {
    color: #ff9aa8;
}

.ps-relationship-item small,
.ps-empty-inline {
    opacity: .66;
}


/* v0.23.105.42z133 — Account → Hidden AJAX pagination, amount selector and Clear All. */
.ps-hidden-manager {
    display: grid;
    gap: .8rem;
}

.ps-hidden-toolbar,
.ps-hidden-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem 1rem;
    flex-wrap: wrap;
}

.ps-hidden-summary,
.ps-hidden-range,
.ps-hidden-status {
    color: rgba(226, 232, 240, .76);
    font-size: .84rem;
}

.ps-hidden-summary strong {
    color: #f8fafc;
}

.ps-hidden-toolbar-actions,
.ps-hidden-page-actions,
.ps-hidden-size {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
}

.ps-hidden-size {
    color: rgba(226, 232, 240, .78);
    font-size: .82rem;
    white-space: nowrap;
}

.ps-hidden-size select {
    min-height: 38px;
    padding: .35rem 1.85rem .35rem .65rem;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 8px;
    background: #0c1118;
    color: #f8fafc;
}

.ps-hidden-status:empty {
    display: none;
}

.ps-hidden-manager.is-loading [data-ps-hidden-results] {
    opacity: .58;
    pointer-events: none;
}

.ps-hidden-pagination {
    padding-top: .55rem;
    border-top: 1px solid rgba(148, 163, 184, .14);
}

.ps-hidden-pagination .ps-community-button {
    min-height: 36px;
    padding: 7px 11px;
}

@media (max-width: 620px) {
    .ps-hidden-toolbar,
    .ps-hidden-pagination {
        align-items: stretch;
        flex-direction: column;
    }

    .ps-hidden-toolbar-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ps-hidden-size,
    .ps-hidden-page-actions {
        justify-content: space-between;
        width: 100%;
    }

    .ps-hidden-toolbar-actions > .ps-community-button {
        width: 100%;
    }
}

.ps-feed-tabs .ps-tab {
    flex: 0 0 auto;
}

@media (max-width: 820px) {
    .ps-relationship-account-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .ps-thread-relationship-actions .ps-community-button {
        flex: 1 1 150px;
    }

    .ps-relationship-item {
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
    }

    .ps-relationship-item .ps-relation-button {
        width: fit-content;
    }
}


/* v0.9.0 — Reddit-style discussion UX */
.ps-reply-sort {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem;
    margin: .25rem 0 1rem;
    font-size: .82rem;
}
.ps-reply-sort > span { opacity: .7; font-weight: 700; }
.ps-reply-sort-link { padding: .35rem .62rem; border-radius: 999px; color: inherit; border: 1px solid transparent; }
.ps-reply-sort-link.is-active { border-color: rgba(214,37,59,.35); background: rgba(214,37,59,.1); color: #fff; }
.ps-discussion-status { min-height: 1.2rem; margin: -.4rem 0 .45rem; font-size: .8rem; opacity: .72; }
.ps-comment-list.is-loading { opacity: .48; pointer-events: none; }
.ps-collapse-reply { flex: 0 0 auto; width: 24px; height: 24px; border: 0; border-radius: 6px; padding: 0; background: rgba(148,163,184,.1); color: inherit; line-height: 1; }
.ps-reply-meta-row { display: flex; flex-wrap: wrap; gap: .35rem .55rem; align-items: center; font-size: .75rem; opacity: .68; }
.ps-reply-target-row { display:flex; flex-wrap:wrap; align-items:center; gap:.28rem; margin-top:.22rem; font-size:.75rem; line-height:1.35; color:var(--ps-muted,#a6adbb); }
.ps-reply-target-prefix { opacity:.72; }
.ps-reply-target-link { color:var(--ps-text,#f5f7fb); font-weight:800; text-decoration:none; }
.ps-reply-target-link:hover, .ps-reply-target-link:focus-visible { text-decoration:underline; }
.ps-role-badge { display:inline-flex; align-items:center; border-radius:999px; padding:.15rem .4rem; font-size:.62rem; font-weight:900; letter-spacing:.04em; }
.ps-role-badge-op { color:#fecdd3; background:rgba(214,37,59,.12); border:1px solid rgba(214,37,59,.3); }
.ps-role-badge-mod { color:#bfdbfe; background:rgba(59,130,246,.1); border:1px solid rgba(59,130,246,.28); }
.ps-role-badge-pro { color:#fde68a; background:rgba(245,158,11,.1); border:1px solid rgba(245,158,11,.28); }
.ps-reply-edited { font-style: italic; }
.ps-inline-reply-slot { margin-top: .8rem; }
.ps-inline-composer { gap: .7rem; padding: .85rem; border-left: 2px solid rgba(214,37,59,.4); background: rgba(255,255,255,.018); border-radius: 0 10px 10px 0; }
.ps-inline-composer > label { font-size:.82rem; font-weight:800; }
.ps-inline-composer textarea { min-height: 120px; resize: vertical; }
.ps-inline-composer-actions { display:flex; flex-wrap:wrap; gap:.55rem; }
.ps-reply-item.is-collapsed > .ps-reply .ps-reply-vote,
.ps-reply-item.is-collapsed > .ps-reply .ps-reply-content,
.ps-reply-item.is-collapsed > .ps-reply .ps-reply-actions,
.ps-reply-item.is-collapsed > .ps-reply .ps-inline-reply-slot,
.ps-reply-item.is-collapsed > .children { display:none !important; }
.ps-reply-item.is-collapsed > .ps-reply { padding-block: 9px; }
.ps-comment-list .children { border-left: 1px solid rgba(148,163,184,.18); margin-left: 1.2rem; padding-left: 1rem; }
@media (max-width: 720px) {
    .ps-comment-list .children { margin-left: .55rem; padding-left: .6rem; }
    .ps-reply-sort { overflow-x:auto; flex-wrap:nowrap; padding-bottom:.25rem; }
    .ps-reply-sort-link { white-space:nowrap; }
}
@media (max-width: 420px) {
    .ps-reply-header { gap:7px; }
    .ps-collapse-reply { width:22px; height:22px; }
    .ps-inline-composer-actions .ps-community-button { flex:1 1 auto; }
}

.ps-context-banner { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem .75rem; margin:0 0 .8rem; padding:.7rem .85rem; border:1px solid rgba(214,37,59,.24); border-radius:10px; background:rgba(214,37,59,.05); font-size:.8rem; }
.ps-context-banner span { opacity:.72; }
.ps-context-banner a { margin-left:auto; font-weight:800; }
.ps-continue-thread { color:#ffb6c0 !important; }
@media (max-width:560px) { .ps-context-banner a { margin-left:0; width:100%; } }

/* v0.9.2 — thread/reply rendering hardening */
.ps-entry-content,
.ps-reply-content,
.ps-reply-main,
.ps-comments,
.ps-comment-list,
.ps-comment-list .children {
    min-width: 0;
    max-width: 100%;
}

.ps-entry-content .ps-code-block,
.ps-reply-content .ps-code-block {
    min-width: 0;
    max-width: 100%;
}

.ps-entry-content .ps-code-block pre,
.ps-reply-content .ps-code-block pre {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
}

.ps-reply-content {
    overflow-x: clip;
}

@supports not (overflow: clip) {
    .ps-reply-content {
        overflow-x: hidden;
    }
}

/* v0.9.4 — native Reddit-style top-level discussion composer */
.ps-top-composer {
    margin: 0 0 1.15rem;
    min-width: 0;
}

.ps-top-composer-form {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 12px;
    background: rgba(8, 11, 17, .72);
    transition: border-color .18s ease, box-shadow .18s ease;
}

.ps-top-composer-form:focus-within {
    border-color: rgba(214, 37, 59, .62);
    box-shadow: 0 0 0 3px rgba(214, 37, 59, .08);
}

.ps-top-composer-identity {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .72rem .85rem .4rem;
    color: rgba(226, 232, 240, .7);
    font-size: .76rem;
}

.ps-top-composer-identity strong {
    color: #fff;
}

.ps-top-composer-avatar {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    object-fit: cover;
}

.ps-top-composer-form textarea {
    display: block;
    width: 100%;
    min-width: 0;
    min-height: 132px;
    max-height: 520px;
    margin: 0;
    padding: .7rem .9rem 1rem;
    resize: vertical;
    border: 0;
    outline: 0;
    border-radius: 0;
    background: transparent;
    color: #eef2f8;
    font: inherit;
    line-height: 1.6;
    box-shadow: none;
}

.ps-top-composer-form textarea::placeholder {
    color: rgba(203, 213, 225, .48);
}

.ps-top-composer-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding: .62rem .7rem;
    border-top: 1px solid rgba(148, 163, 184, .14);
    background: rgba(255, 255, 255, .018);
}

.ps-top-composer-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .55rem;
    min-width: 0;
    color: rgba(203, 213, 225, .56);
    font-size: .72rem;
}

.ps-composer-tool {
    min-height: 32px;
    padding: .32rem .58rem;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 7px;
    background: transparent;
    color: #d9deea;
    font: inherit;
    font-weight: 750;
    cursor: pointer;
}

.ps-composer-tool:hover,
.ps-composer-tool:focus-visible {
    border-color: rgba(214, 37, 59, .5);
    color: #fff;
}

.ps-top-composer-submit {
    flex: 0 0 auto;
    min-height: 36px;
    padding: .45rem .8rem;
}

.ps-top-composer-logged-out {
    padding: .8rem;
    border: 1px solid rgba(148, 163, 184, .2);
    border-radius: 12px;
    background: rgba(255, 255, 255, .015);
}

.ps-top-composer-prompt {
    display: flex;
    align-items: center;
    gap: .8rem;
}

.ps-top-composer-prompt > div {
    min-width: 0;
    flex: 1 1 auto;
}

.ps-top-composer-prompt strong {
    display: block;
    color: #fff;
}

.ps-top-composer-prompt p {
    margin: .18rem 0 0;
    color: rgba(203, 213, 225, .64);
    font-size: .78rem;
}

.ps-top-composer-avatar-placeholder {
    display: block;
    background: rgba(148, 163, 184, .13);
    border: 1px solid rgba(148, 163, 184, .18);
}

.ps-comment-list:empty {
    margin: 0;
    padding: 0;
}

@media (max-width: 560px) {
    .ps-top-composer-footer,
    .ps-top-composer-prompt {
        align-items: stretch;
        flex-direction: column;
    }

    .ps-top-composer-tools {
        width: 100%;
    }

    .ps-top-composer-submit,
    .ps-top-composer-prompt .ps-community-button {
        width: 100%;
        justify-content: center;
    }
}

/* Submit page code-formatting sidebar. */
.ps-submit-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
    gap: 1.5rem;
    align-items: start;
    max-width: 1240px;
}

.ps-submit-layout .ps-submit-form {
    max-width: none;
    min-width: 0;
}

.ps-submit-help {
    min-width: 0;
}

.ps-submit-help-card {
    box-sizing: border-box;
    padding: 1.15rem;
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: 12px;
    background: rgba(15, 23, 42, .5);
}

.ps-submit-help-card h2 {
    margin: 0 0 .75rem;
    font-size: 1.05rem;
}

.ps-submit-help-card p {
    margin: 0 0 .8rem;
    line-height: 1.55;
}

.ps-submit-help-card .ps-code-example {
    max-width: 100%;
    margin: .9rem 0;
    overflow-x: auto;
    white-space: pre;
}

.ps-submit-help-tip {
    font-size: .92rem;
    opacity: .86;
}

.ps-submit-help-card ul {
    margin: .9rem 0 0;
    padding-left: 1.2rem;
}

.ps-submit-help-card li {
    margin: .45rem 0;
    line-height: 1.45;
}

@media (min-width: 961px) {
    .ps-submit-help-card {
        position: sticky;
        top: 92px;
    }
}

@media (max-width: 960px) {
    .ps-submit-layout {
        grid-template-columns: 1fr;
    }

    .ps-submit-help {
        order: 2;
    }
}

@media (max-width: 520px) {
    .ps-submit-help-card {
        padding: 1rem;
    }
}

/* v0.10.0 — on-site notification center */
.ps-notification-center {
    position: relative;
    flex: 0 0 auto;
}

.ps-notification-bell {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 9px;
    background: rgba(255,255,255,.025);
    color: #e7ebf3;
    cursor: pointer;
}

.ps-notification-bell:hover,
.ps-notification-bell:focus-visible,
.ps-notification-center.is-open .ps-notification-bell {
    border-color: rgba(214, 37, 59, .55);
    background: rgba(214, 37, 59, .08);
    color: #fff;
}

.ps-notification-bell-icon {
    font-size: 1rem;
    line-height: 1;
}

.ps-notification-count {
    position: absolute;
    top: -6px;
    right: -7px;
    min-width: 19px;
    height: 19px;
    padding: 0 4px;
    border: 2px solid #0b0d12;
    border-radius: 999px;
    background: #d6253b;
    color: #fff;
    font-size: .65rem;
    font-weight: 800;
    line-height: 15px;
    text-align: center;
}

.ps-notification-menu {
    position: absolute;
    z-index: 250;
    top: calc(100% + 10px);
    right: 0;
    width: min(390px, calc(100vw - 24px));
    max-height: min(620px, calc(100vh - 95px));
    overflow: hidden auto;
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: 12px;
    background: #10141d;
    box-shadow: 0 22px 55px rgba(0,0,0,.42);
}

.ps-notification-menu-head {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding: .85rem 1rem;
    border-bottom: 1px solid rgba(148, 163, 184, .16);
    background: #10141d;
}

.ps-notification-menu-head strong { color: #fff; }
.ps-notification-menu-list { min-width: 0; }
.ps-notification-loading,
.ps-notification-empty { margin: 0; padding: 1rem; color: rgba(203,213,225,.65); }

.ps-notification-item {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    min-width: 0;
    padding: .85rem 0;
    border-bottom: 1px solid rgba(148, 163, 184, .13);
}

.ps-notification-item.is-compact { padding: 0; }
.ps-notification-item.is-compact .ps-notification-main { padding: .8rem 1rem; }
.ps-notification-item.is-unread { background: rgba(214, 37, 59, .045); }
.ps-notification-item.is-read { opacity: .72; }

.ps-notification-main {
    display: flex;
    flex: 1 1 auto;
    gap: .7rem;
    min-width: 0;
    color: inherit;
    text-decoration: none;
}

.ps-notification-dot {
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    margin-top: .45rem;
    border-radius: 50%;
    background: transparent;
}

.is-unread .ps-notification-dot { background: #d6253b; }

.ps-notification-copy {
    display: block;
    min-width: 0;
}
.ps-notification-copy strong,
.ps-notification-copy span,
.ps-notification-copy small { display: block; }
.ps-notification-copy strong { color: #fff; font-size: .88rem; }
.ps-notification-copy span { margin-top: .14rem; color: rgba(226,232,240,.76); font-size: .79rem; line-height: 1.42; overflow-wrap: anywhere; }
.ps-notification-copy small { margin-top: .32rem; color: rgba(148,163,184,.68); font-size: .69rem; }

.ps-notification-view-all {
    display: block;
    padding: .8rem 1rem;
    color: #fff;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}
.ps-notification-view-all:hover { background: rgba(255,255,255,.035); }

.ps-account-notifications .ps-notification-item { padding: 1rem; }
.ps-account-notifications .ps-notification-main { min-width: 0; }
.ps-notification-actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: .65rem;
    padding-right: .2rem;
}
.ps-notification-pagination { margin-top: 1.2rem; }

@media (max-width: 700px) {
    .ps-notification-menu {
        position: fixed;
        top: 70px;
        right: 12px;
        left: 12px;
        width: auto;
        max-height: calc(100vh - 86px);
    }
    .ps-account-notifications .ps-notification-item {
        flex-direction: column;
    }
    .ps-notification-actions {
        width: 100%;
        padding-left: 1.45rem;
    }
}

@media (max-width: 420px) {
    .ps-notification-bell { width: 38px; height: 38px; }
    .ps-notification-menu-head { align-items: flex-start; }
}

/* v0.11.0 — account security and social sign-in */
.ps-social-auth {
    margin: 1rem 0 1.15rem;
}

.ps-auth-divider {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin: .85rem 0;
    color: rgba(203,213,225,.58);
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.ps-auth-divider::before,
.ps-auth-divider::after {
    content: "";
    flex: 1 1 auto;
    height: 1px;
    background: rgba(148,163,184,.16);
}

.ps-social-auth-stack {
    display: grid;
    gap: .65rem;
}

.ps-social-auth-button {
    display: flex;
    align-items: center;
    gap: .8rem;
    width: 100%;
    min-height: 46px;
    padding: .7rem .85rem;
    border: 1px solid rgba(148,163,184,.22);
    border-radius: 11px;
    background: rgba(255,255,255,.025);
    color: #eef2f7;
    font-weight: 700;
    text-decoration: none;
}

.ps-social-auth-button:hover,
.ps-social-auth-button:focus-visible {
    border-color: rgba(255,255,255,.36);
    background: rgba(255,255,255,.055);
    color: #fff;
}

.ps-social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    font-size: .72rem;
    font-weight: 900;
    line-height: 1;
}

.ps-social-google .ps-social-icon,
.ps-social-icon.ps-social-google {
    background: #fff;
    color: #4285f4;
}

.ps-social-x .ps-social-icon,
.ps-social-icon.ps-social-x {
    background: #000;
    color: #fff;
    border: 1px solid rgba(255,255,255,.35);
}

.ps-social-linkedin .ps-social-icon,
.ps-social-icon.ps-social-linkedin {
    background: #0a66c2;
    color: #fff;
}

.ps-social-discord .ps-social-icon,
.ps-social-icon.ps-social-discord {
    background: #5865f2;
    color: #fff;
}

.ps-social-github .ps-social-icon,
.ps-social-icon.ps-social-github {
    background: #f0f3f7;
    color: #111827;
}

.ps-auth-shell--mfa .ps-auth-panel {
    align-self: center;
}

.ps-security-summary,
.ps-security-card,
.ps-security-reminder {
    min-width: 0;
    border: 1px solid rgba(148,163,184,.18);
    border-radius: 12px;
    background: rgba(17,22,32,.72);
}

.ps-security-summary {
    display: grid;
    grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);
    gap: 1rem;
    align-items: center;
    margin-bottom: 1rem;
    padding: 1rem 1.1rem;
}

.ps-security-summary.is-protected {
    border-color: rgba(34,197,94,.34);
}

.ps-security-summary.needs-action {
    border-color: rgba(245,158,11,.35);
}

.ps-security-summary h3,
.ps-security-card h3,
.ps-security-reminder strong {
    margin: 0;
    color: #fff;
}

.ps-security-summary p,
.ps-security-card p,
.ps-security-reminder p {
    margin: .35rem 0 0;
    color: rgba(226,232,240,.76);
    line-height: 1.55;
}

.ps-security-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 1rem;
    margin: 1rem 0;
}

.ps-security-card {
    margin: 1rem 0;
    padding: 1rem 1.1rem;
}

.ps-security-grid .ps-security-card {
    margin: 0;
}

.ps-security-state {
    display: inline-flex;
    margin-top: .8rem !important;
    padding: .25rem .5rem;
    border-radius: 999px;
    background: rgba(214,37,59,.11);
    color: #fff !important;
    font-size: .76rem;
    font-weight: 800;
}

.ps-security-inline-form {
    margin-top: .85rem;
}

.ps-security-inline-form .ps-field {
    margin-bottom: .75rem;
}

.ps-security-secret {
    display: grid;
    gap: .35rem;
    margin: .9rem 0;
}

.ps-security-secret code,
.ps-security-uri {
    display: block;
    max-width: 100%;
    padding: .65rem .75rem;
    overflow-wrap: anywhere;
    border: 1px solid rgba(148,163,184,.2);
    border-radius: 8px;
    background: #090c12;
    color: #f8fafc;
}

.ps-security-choice-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .8rem 1rem;
    margin-top: .8rem;
}

.ps-recovery-code-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: .55rem;
    margin-top: .9rem;
}

.ps-recovery-code-grid code {
    padding: .6rem .7rem;
    border: 1px dashed rgba(148,163,184,.28);
    border-radius: 8px;
    background: #090c12;
    color: #fff;
    text-align: center;
    letter-spacing: .06em;
}

.ps-linked-provider-list,
.ps-trusted-device-list {
    display: grid;
    gap: .6rem;
    margin-top: .9rem;
}

.ps-linked-provider,
.ps-trusted-device {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-width: 0;
    padding: .72rem .8rem;
    border: 1px solid rgba(148,163,184,.14);
    border-radius: 9px;
    background: rgba(255,255,255,.018);
}

.ps-linked-provider > div,
.ps-trusted-device > div {
    display: grid;
    flex: 1 1 auto;
    min-width: 0;
}

.ps-linked-provider strong,
.ps-trusted-device strong {
    color: #fff;
}

.ps-linked-provider span,
.ps-trusted-device span,
.ps-security-muted {
    color: rgba(203,213,225,.62);
    font-size: .78rem;
}

.ps-inline-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: .38rem .65rem;
    border: 1px solid rgba(214,37,59,.36);
    border-radius: 7px;
    background: transparent;
    color: #ff6b7d;
    font: inherit;
    font-size: .76rem;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
}

.ps-inline-action:hover,
.ps-inline-action:focus-visible {
    background: rgba(214,37,59,.09);
    color: #fff;
}

.ps-security-reminder {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 1rem;
    padding: .9rem 1rem;
    border-color: rgba(245,158,11,.34);
    background: rgba(245,158,11,.055);
}

.ps-security-reminder-actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: .55rem;
}

.ps-security-reminder-actions form {
    margin: 0;
}

@media (max-width: 760px) {
    .ps-security-grid,
    .ps-security-summary {
        grid-template-columns: 1fr;
    }

    .ps-security-reminder {
        align-items: flex-start;
        flex-direction: column;
    }

    .ps-security-reminder-actions {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .ps-recovery-code-grid {
        grid-template-columns: 1fr;
    }

    .ps-linked-provider,
    .ps-trusted-device {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .ps-linked-provider form,
    .ps-linked-provider .ps-inline-action,
    .ps-trusted-device form,
    .ps-trusted-device .ps-inline-action {
        margin-left: 36px;
    }

    .ps-security-reminder-actions,
    .ps-security-reminder-actions .ps-community-button,
    .ps-security-reminder-actions form {
        width: 100%;
    }
}

.ps-provider-unlink-form {
    display: flex;
    flex: 0 1 310px;
    justify-content: flex-end;
    gap: .45rem;
    margin: 0;
}

.ps-provider-reauth {
    min-width: 0;
    width: 170px;
    min-height: 34px;
    padding: .36rem .55rem;
    border: 1px solid rgba(148,163,184,.2);
    border-radius: 7px;
    background: #090c12;
    color: #fff;
    font: inherit;
    font-size: .76rem;
}

@media (max-width: 560px) {
    .ps-provider-unlink-form {
        flex: 1 1 100%;
        width: 100%;
        margin-left: 36px;
    }

    .ps-provider-reauth {
        flex: 1 1 auto;
        width: auto;
    }
}

/* v0.12.0 — wider account workspace + identity verification */
.ps-account-page .ps-content-narrow {
    width: min(calc(100% - 36px), var(--ps-container, 1315px));
    max-width: var(--ps-container, 1315px);
}
.ps-account-page .ps-page {
    padding-inline: clamp(20px, 3vw, 42px);
}
.ps-account-shell {
    grid-template-columns: minmax(250px, 310px) minmax(0, 1fr);
    gap: clamp(1.5rem, 2.6vw, 2.5rem);
}
.ps-account-main { min-width: 0; }
.ps-account-panel-grid { gap: 1.15rem; }
.ps-stat-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1rem;
}
.ps-stat-card { min-width: 0; }
.ps-stat-card strong {
    font-size: clamp(1.35rem, 2.2vw, 1.75rem);
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
}
.ps-identity-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.ps-identity-status { margin: .6rem 0 1rem; }
.ps-identity-status strong {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: .3rem .65rem;
    border-radius: 999px;
    background: rgba(148,163,184,.12);
    border: 1px solid rgba(148,163,184,.22);
}
.ps-identity-status-verified strong { background: rgba(34,197,94,.12); border-color: rgba(34,197,94,.35); }
.ps-identity-status-pending strong { background: rgba(245,158,11,.12); border-color: rgba(245,158,11,.35); }
.ps-identity-status-denied strong { background: rgba(239,68,68,.12); border-color: rgba(239,68,68,.35); }
.ps-identity-badge {
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    padding: 0;
    margin-left: .4rem;
    box-sizing: border-box;
    border-radius: 50%;
    border: 1px solid rgba(255,215,64,.72);
    background: linear-gradient(145deg, #6b4b00, #2b2106);
    color: #ffd84d;
    font-size: .76rem;
    font-weight: 950;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    text-indent: 0;
    vertical-align: middle;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 1px 5px rgba(0,0,0,.35);
}
.ps-identity-badge.is-compact { width: 18px; height: 18px; font-size: .62rem; }
.ps-member-profile-avatar-wrap,
.ps-account-avatar-wrap { position: relative; display: inline-flex; flex: 0 0 auto; }
.ps-account-avatar-wrap > .ps-identity-badge {
    position: absolute;
    right: -3px;
    bottom: 2px;
    margin: 0;
    box-shadow: 0 0 0 3px #0b0d12, inset 0 0 0 1px rgba(255,255,255,.08), 0 1px 5px rgba(0,0,0,.35);
}
.ps-member-name-row { flex-wrap: wrap; }
@media (max-width: 1080px) {
    .ps-account-page .ps-content-narrow { width: min(calc(100% - 28px), var(--ps-container, 1315px)); }
    .ps-account-shell { grid-template-columns: 230px minmax(0, 1fr); gap: 1.25rem; }
}
@media (max-width: 980px) {
    .ps-account-shell { grid-template-columns: 1fr; }
    .ps-identity-layout { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
    .ps-account-page .ps-content-narrow { width: min(calc(100% - 20px), 100%); }
    .ps-account-page .ps-page { padding-inline: 16px; }
    .ps-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 400px) {
    .ps-stat-grid { grid-template-columns: 1fr; }
}

/* v0.12.1 — mobile Account usability side patch */
.ps-account-menu-toggle { display: none; }
.ps-account-menu-panel { min-width: 0; }

@media (max-width: 980px) {
    .ps-account-page .ps-content-narrow {
        width: min(calc(100% - 20px), 100%);
        max-width: none;
    }
    .ps-account-page .ps-page {
        padding: 18px 14px 28px;
        overflow: visible;
    }
    .ps-account-shell {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 1rem;
        width: 100%;
        min-width: 0;
    }
    .ps-account-sidebar,
    .ps-account-main,
    .ps-account-panel,
    .ps-identity-layout,
    .ps-community-form {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }
    .ps-account-sidebar {
        position: static;
        top: auto;
        padding: .9rem;
        border-radius: 14px;
        overflow: hidden;
    }
    .ps-account-person {
        padding-bottom: .85rem;
    }
    .ps-account-person .ps-member-avatar {
        width: 52px;
        height: 52px;
        border-radius: 13px;
    }
    .ps-account-menu-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        width: 100%;
        min-height: 44px;
        margin-top: .8rem;
        padding: .7rem .8rem;
        border: 1px solid rgba(148,163,184,.24);
        border-radius: 10px;
        background: #0d1119;
        color: #fff;
        font-weight: 800;
        text-align: left;
    }
    .ps-account-menu-toggle[aria-expanded="true"] > span:last-child {
        transform: rotate(180deg);
    }
    .ps-account-menu-panel { display: none; padding-top: .55rem; }
    .ps-account-sidebar.is-menu-open .ps-account-menu-panel { display: block; }
    .ps-account-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-flow: row;
        grid-auto-columns: initial;
        gap: .45rem;
        margin: 0 0 .7rem;
        overflow: visible;
    }
    .ps-account-nav a {
        display: flex;
        align-items: center;
        min-height: 42px;
        min-width: 0;
        padding: .65rem .7rem;
        border: 1px solid rgba(148,163,184,.14);
        overflow-wrap: anywhere;
    }
    .ps-account-public-link,
    .ps-account-logout-link {
        min-height: 42px;
        padding: .7rem .75rem;
    }
    .ps-account-heading {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: .8rem;
        margin-bottom: 1rem;
    }
    .ps-account-heading > * { min-width: 0; }
    .ps-account-heading h2 {
        max-width: 100%;
        overflow-wrap: anywhere;
    }
    .ps-account-heading .ps-community-button,
    .ps-account-heading .ps-button-secondary {
        width: 100%;
    }
    .ps-account-panel-grid,
    .ps-identity-layout {
        grid-template-columns: minmax(0, 1fr);
    }
    .ps-account-panel,
    .ps-stat-card {
        overflow-wrap: anywhere;
    }
}

@media (max-width: 560px) {
    .ps-account-page .ps-content-narrow { width: calc(100% - 12px); }
    .ps-account-page .ps-page { padding: 14px 8px 24px; }
    .ps-account-sidebar { padding: .75rem; }
    .ps-account-person { gap: .7rem; }
    .ps-account-nav { grid-template-columns: minmax(0, 1fr); }
    .ps-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
    .ps-stat-card { padding: .8rem; }
    .ps-account-panel { padding: .9rem; }
    .ps-community-form input,
    .ps-community-form select,
    .ps-community-form textarea,
    .ps-community-form button,
    .ps-community-form .ps-community-button {
        max-width: 100%;
    }
}

@media (max-width: 360px) {
    .ps-stat-grid { grid-template-columns: minmax(0, 1fr); }
}

/* v0.13.0 — public @handle management */
.ps-handle-panel {
    margin-top: 1.25rem;
}
.ps-account-heading-compact {
    margin-bottom: .75rem;
}
.ps-handle-current {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: .45rem .7rem;
    border: 1px solid rgba(214,37,59,.34);
    border-radius: 999px;
    background: rgba(214,37,59,.08);
    color: #fff;
    font-weight: 800;
    overflow-wrap: anywhere;
}
.ps-handle-policy-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .7rem;
    margin: 1rem 0;
}
.ps-handle-policy-grid > div {
    min-width: 0;
    padding: .8rem;
    border: 1px solid rgba(148,163,184,.16);
    border-radius: 10px;
    background: #0d1119;
}
.ps-handle-policy-grid strong,
.ps-handle-policy-grid span {
    display: block;
}
.ps-handle-policy-grid span {
    margin-top: .3rem;
    color: #aab3c1;
    overflow-wrap: anywhere;
}
.ps-handle-input-wrap {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;
    border: 1px solid rgba(148,163,184,.24);
    border-radius: 10px;
    background: #0b0f16;
    overflow: hidden;
}
.ps-handle-input-wrap > span {
    flex: 0 0 auto;
    padding: 0 .1rem 0 .8rem;
    color: #8f9bab;
    font-weight: 800;
}
.ps-handle-input-wrap input {
    min-width: 0;
    flex: 1 1 auto;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.ps-handle-availability {
    min-height: 1.35em;
    margin: .45rem 0 0;
    font-size: .9rem;
    font-weight: 700;
}
.ps-handle-availability.is-checking { color: #aab3c1; }
.ps-handle-availability.is-available { color: #8ee6a5; }
.ps-handle-availability.is-unavailable { color: #ff8998; }

@media (max-width: 760px) {
    .ps-handle-policy-grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .ps-handle-panel .ps-account-heading-compact {
        gap: .65rem;
    }
    .ps-handle-current {
        align-self: flex-start;
    }
}

/* v0.14.0 — Moderation & abuse controls */
.ps-thread-moderation-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 10px;
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid var(--ps-border, #252b38);
}

.ps-report-control,
.ps-moderator-quick-controls,
.ps-duplicate-controls {
    position: relative;
}

[data-ps-action-popover="1"][open] {
    z-index: 90;
}

.ps-report-control > summary,
.ps-moderator-quick-controls > summary {
    cursor: pointer;
    list-style: none;
    color: var(--ps-muted, #9ba4b5);
    font-size: .86rem;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.ps-report-control > summary::-webkit-details-marker,
.ps-moderator-quick-controls > summary::-webkit-details-marker {
    display: none;
}

.ps-report-form {
    width: min(380px, calc(100vw - 32px));
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 14px;
    border: 1px solid var(--ps-border, #293142);
    border-radius: 12px;
    background: var(--ps-panel, #10151f);
    box-shadow: 0 18px 44px rgba(0, 0, 0, .38);
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    z-index: 90;
}

.ps-report-form label {
    display: grid;
    gap: 6px;
    font-size: .82rem;
    color: var(--ps-muted, #a5adba);
}

.ps-report-form select,
.ps-report-form textarea,
.ps-moderation-inline-form input,
.ps-moderation-note-form textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    border: 1px solid var(--ps-border, #30384a);
    border-radius: 9px;
    background: #0b1018;
    color: var(--ps-text, #f5f7fb);
    padding: 10px 11px;
}

.ps-report-honeypot,
.ps-community-honeypot {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    white-space: nowrap !important;
}

.ps-moderator-quick-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    width: min(520px, calc(100vw - 32px));
    margin: 0;
    padding: 12px;
    border: 1px solid var(--ps-border, #293142);
    border-radius: 10px;
    background: var(--ps-panel, #10151f);
    box-shadow: 0 18px 44px rgba(0, 0, 0, .38);
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    z-index: 90;
}

.ps-community-owner-delete-discussion {
    flex: 1 1 100%;
    display: grid;
    gap: 8px;
    padding-top: 10px;
    margin-top: 4px;
    border-top: 1px solid var(--ps-border, #293142);
}

.ps-community-owner-delete-discussion label {
    display: grid;
    gap: 6px;
    width: 100%;
    color: var(--ps-muted, #a5adba);
    font-size: .82rem;
}

.ps-community-owner-delete-discussion input[type="text"] {
    width: 100%;
    min-width: 0;
    border: 1px solid var(--ps-border, #30384a);
    border-radius: 9px;
    background: #0b1018;
    color: var(--ps-text, #f5f7fb);
    padding: 9px 10px;
}

.ps-community-owner-delete-confirm {
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: start;
    gap: 8px !important;
}

.ps-community-owner-delete-confirm input {
    margin-top: 3px;
}

.ps-community-owner-delete-discussion .ps-danger-button {
    justify-self: start;
}

.ps-role-badge-pin {
    border-color: rgba(234, 179, 8, .45) !important;
    background: rgba(234, 179, 8, .12) !important;
    color: #fde68a !important;
}

.ps-moderation-workspace {
    min-width: 0;
}

.ps-moderation-open-count {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 11px;
    border: 1px solid rgba(230, 35, 61, .35);
    border-radius: 999px;
    background: rgba(230, 35, 61, .09);
    color: #ff8f9d;
    font-size: .8rem;
    font-weight: 700;
}

.ps-moderation-tabs {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 18px 0;
}

.ps-moderation-tabs a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 12px;
    border: 1px solid var(--ps-border, #293142);
    border-radius: 9px;
    color: var(--ps-muted, #abb3c2);
    text-decoration: none;
}

.ps-moderation-tabs a.is-active {
    border-color: rgba(230, 35, 61, .45);
    background: rgba(230, 35, 61, .13);
    color: #fff;
}

/* v0.23.105.41 — moderation queue labels and counts are separate controls. */
.ps-moderation-tab-item {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 36px;
    padding: 0 8px 0 0;
    border: 1px solid var(--ps-border, #293142);
    border-radius: 9px;
    background: transparent;
}

.ps-moderation-tab-item > a {
    min-height: 34px;
    padding: 0 0 0 12px;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.ps-moderation-tab-item > a.is-active {
    border: 0;
    background: transparent;
}

.ps-moderation-tab-item.is-active {
    border-color: rgba(230, 35, 61, .45);
    background: rgba(230, 35, 61, .13);
}

.ps-moderation-tab-item .ps-moderation-filter-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 24px;
    min-width: 24px;
    height: 24px;
    padding: 0;
    border-radius: 50%;
    background: #d61f3c;
    color: #fff;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 0 0 1px rgba(255,255,255,.08) inset;
    cursor: default;
    user-select: none;
}

.ps-moderation-tab-item.is-active .ps-moderation-filter-count {
    background: #ef233c;
}

.ps-moderation-report-list {
    display: grid;
    gap: 16px;
}

/* v0.23.105.42z49 — neutral moderation-queue empty state across all status tabs. */
.ps-moderation-empty {
    box-sizing: border-box;
    width: 100%;
    margin-top: 16px;
    padding: 20px 22px;
    border: 1px solid var(--ps-border, #293142);
    border-radius: 14px;
    background: var(--ps-panel, #10151f);
}

.ps-moderation-empty h3 {
    margin: 0 0 6px;
    font-size: 1rem;
    line-height: 1.35;
}

.ps-moderation-empty p {
    margin: 0;
    color: var(--ps-muted, #929baa);
    line-height: 1.55;
}

.ps-moderation-report-card {
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--ps-border, #293142);
    border-radius: 14px;
    background: var(--ps-panel, #10151f);
}

.ps-moderation-report-card > header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 12px;
}

.ps-moderation-report-card > header > div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.ps-moderation-report-card > header time {
    white-space: nowrap;
    color: var(--ps-muted, #929baa);
    font-size: .78rem;
}

.ps-moderation-target,
.ps-moderation-details {
    overflow-wrap: anywhere;
}

.ps-moderation-notes {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    margin: 12px 0;
    padding: 12px;
    border: 1px solid var(--ps-border, #293142);
    border-radius: 10px;
    background: #0b1018;
    color: var(--ps-muted, #c0c6d1);
    font: inherit;
    font-size: .84rem;
}

.ps-moderation-actions-grid,
.ps-moderation-object-actions,
.ps-moderation-user-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    align-items: center;
    margin-top: 14px;
}

.ps-moderation-object-actions h4,
.ps-moderation-user-actions h4 {
    flex: 0 0 100%;
    margin: 0 0 2px;
}

.ps-moderation-note-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: end;
    margin-top: 14px;
}

.ps-moderation-note-form label {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.ps-moderation-inline-form {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    min-width: 0;
}

.ps-moderation-inline-form input[type="text"] {
    width: min(280px, 100%);
}

.ps-moderation-inline-form input[type="number"] {
    width: 86px;
    min-height: 38px;
    border: 1px solid var(--ps-border, #30384a);
    border-radius: 9px;
    background: #0b1018;
    color: #fff;
    padding: 8px 9px;
}

.ps-moderation-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 18px;
}

.ps-account-restriction-notice {
    margin-bottom: 18px;
}

.ps-member-profile-links .ps-report-control {
    display: inline-block;
}

.ps-reply-actions .ps-report-control {
    display: inline-block;
}

.ps-reply-actions .ps-report-control > summary {
    font-size: inherit;
}

/* v0.23.60 — floating front-end action popovers. These overlays must never
   change the height or shape of Thread, reply, or member-profile cards. */
[data-ps-action-popover="1"].is-align-right > .ps-report-form,
[data-ps-action-popover="1"].is-align-right > .ps-moderator-quick-grid,
[data-ps-action-popover="1"].is-align-right > .ps-duplicate-form,
[data-ps-action-popover="1"].is-align-right > form {
    left: auto;
    right: 0;
}

[data-ps-action-popover="1"].is-open-up > .ps-report-form,
[data-ps-action-popover="1"].is-open-up > .ps-moderator-quick-grid,
[data-ps-action-popover="1"].is-open-up > .ps-duplicate-form,
[data-ps-action-popover="1"].is-open-up > form {
    top: auto;
    bottom: calc(100% + 10px);
}

[data-ps-action-popover="1"] > .ps-report-form,
[data-ps-action-popover="1"] > .ps-moderator-quick-grid,
[data-ps-action-popover="1"] > .ps-duplicate-form,
[data-ps-action-popover="1"] > form {
    max-height: min(520px, calc(100vh - 32px));
    overflow: auto;
    overscroll-behavior: contain;
}

@media (max-width: 640px) {
    body.ps-action-popover-open::before {
        content: "";
        position: fixed;
        inset: 0;
        z-index: 998;
        background: rgba(2, 6, 12, .58);
        backdrop-filter: blur(1px);
    }

    [data-ps-action-popover="1"] > .ps-report-form,
    [data-ps-action-popover="1"] > .ps-moderator-quick-grid,
    [data-ps-action-popover="1"] > .ps-duplicate-form,
    [data-ps-action-popover="1"] > form {
        position: fixed;
        z-index: 1000;
        top: auto !important;
        right: 12px !important;
        bottom: 12px !important;
        left: 12px !important;
        width: auto;
        max-width: none;
        max-height: min(78vh, 620px);
        margin: 0;
        overflow: auto;
        box-shadow: 0 24px 64px rgba(0, 0, 0, .55);
    }
}

@media (max-width: 720px) {
    .ps-moderation-report-card {
        padding: 14px;
    }

    .ps-moderation-report-card > header {
        display: grid;
        gap: 8px;
    }

    .ps-moderation-report-card > header time {
        white-space: normal;
    }

    .ps-moderation-note-form {
        grid-template-columns: 1fr;
    }

    .ps-moderation-inline-form,
    .ps-moderation-actions-grid,
    .ps-moderation-object-actions,
    .ps-moderation-user-actions {
        align-items: stretch;
    }

    .ps-moderation-inline-form > *,
    .ps-moderation-inline-form input[type="text"],
    .ps-moderation-inline-form input[type="number"] {
        width: 100%;
        max-width: none;
    }

    .ps-moderation-pagination {
        flex-wrap: wrap;
    }
}

.ps-moderation-audit {
    margin-top: 26px;
    padding-top: 20px;
    border-top: 1px solid var(--ps-border, #293142);
}

.ps-moderation-audit-list {
    display: grid;
    gap: 6px;
}

.ps-moderation-audit-row {
    display: grid;
    grid-template-columns: minmax(180px, 1.4fr) minmax(120px, .8fr) minmax(100px, .7fr) auto;
    gap: 10px;
    align-items: center;
    padding: 9px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .06);
    font-size: .82rem;
}

.ps-moderation-audit-row span,
.ps-moderation-audit-row time {
    color: var(--ps-muted, #9ba4b5);
    overflow-wrap: anywhere;
}

@media (max-width: 720px) {
    .ps-moderation-audit-row {
        grid-template-columns: 1fr;
        gap: 3px;
    }
}

/* Minimal automated-account disclosure. Kept intentionally subdued and away from identity/handle labels. */
.ps-responder-disclosure { margin:.45rem 0 0;color:var(--ps-muted,#9aa4b2);font-size:.72rem;line-height:1.25;opacity:.82; }
.ps-responder-meta{font-size:.68rem;color:var(--ps-muted,#9aa4b2);opacity:.78;}

/* v0.18.0 — discussion integrity, duplicate resolution, edit history, reply placeholders */
.ps-duplicate-notice {
    margin: 1rem 0;
    padding: 1rem 1.05rem;
    border: 1px solid rgba(214, 167, 37, .42);
    border-radius: 12px;
    background: rgba(214, 167, 37, .08);
}
.ps-duplicate-notice > strong { color: #f2cf63; }
.ps-duplicate-notice p:last-child { margin-bottom: 0; }
.ps-duplicate-moderator-note { color: var(--ps-muted, #a6adbb); }
.ps-duplicate-controls {
    display: inline-block;
    margin: .9rem 0;
    padding: 0;
    border: 0;
    background: transparent;
}
.ps-duplicate-controls > summary {
    cursor: pointer;
    list-style: none;
    color: var(--ps-muted, #9ba4b5);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.ps-duplicate-controls > summary::-webkit-details-marker { display: none; }
.ps-duplicate-controls > form {
    width: min(680px, calc(100vw - 32px));
    margin: 0;
    padding: 14px;
    border: 1px solid var(--ps-border, #293142);
    border-radius: 12px;
    background: var(--ps-panel, #10151f);
    box-shadow: 0 18px 44px rgba(0, 0, 0, .38);
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    z-index: 90;
}
.ps-duplicate-form {
    display: grid;
    grid-template-columns: minmax(160px, .6fr) minmax(220px, 1fr) auto;
    gap: .7rem;
    align-items: end;
}
.ps-duplicate-form label { min-width: 0; }
.ps-duplicate-form label > span { display: block; margin-bottom: .3rem; font-size: .82rem; color: var(--ps-muted, #a6adbb); }
.ps-duplicate-form input { width: 100%; min-width: 0; }
.ps-edit-history-link {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    align-items: center;
    margin: .8rem 0;
    color: var(--ps-muted, #a6adbb);
    font-size: .86rem;
}
.ps-edit-history-panel {
    margin: 1.2rem 0;
    padding: 1rem;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 12px;
    background: rgba(15, 23, 42, .32);
}
.ps-edit-history-heading {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}
.ps-edit-history-heading h2 { margin: .1rem 0 0; }
.ps-edit-history-intro { color: var(--ps-muted, #a6adbb); }
.ps-edit-history-list { display: grid; gap: .7rem; }
.ps-edit-history-item {
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 10px;
    background: rgba(4, 8, 15, .34);
    overflow: hidden;
}
.ps-edit-history-item > summary { cursor: pointer; padding: .8rem .9rem; }
.ps-edit-history-content { padding: .2rem .9rem .9rem; overflow-wrap: anywhere; min-width: 0; }
.ps-edit-history-content .ps-code-block { max-width: 100%; }
.ps-reply-placeholder {
    display: block;
    margin: 10px 0 12px;
    padding: 0;
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 12px;
    background: rgba(15, 23, 42, .34);
    box-shadow: inset 3px 0 0 rgba(148, 163, 184, .18);
    overflow: hidden;
    opacity: 1;
}
.ps-reply-placeholder--moderated {
    box-shadow: inset 3px 0 0 rgba(245, 158, 11, .34);
}
.ps-reply-placeholder > .ps-reply-main {
    width: 100%;
    min-width: 0;
    padding: 13px 15px 12px;
    box-sizing: border-box;
}
.ps-reply-placeholder-header {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: .65rem;
    min-width: 0;
    color: var(--ps-muted, #a6adbb);
}
.ps-reply-placeholder-toggle {
    width: 26px;
    height: 26px;
    min-width: 26px;
    border: 1px solid rgba(148, 163, 184, .14);
    background: rgba(148, 163, 184, .08);
    border-radius: 7px;
    color: #cbd5e1;
}
.ps-reply-placeholder-toggle:hover,
.ps-reply-placeholder-toggle:focus-visible {
    border-color: rgba(148, 163, 184, .34);
    background: rgba(148, 163, 184, .14);
}
.ps-reply-placeholder-status {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: .4rem .55rem;
    min-width: 0;
    line-height: 1.4;
}
.ps-reply-placeholder-badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: .08rem .42rem;
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 999px;
    background: rgba(148, 163, 184, .07);
    color: #d7dde7;
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .01em;
}
.ps-reply-placeholder--moderated .ps-reply-placeholder-badge {
    border-color: rgba(245, 158, 11, .25);
    background: rgba(245, 158, 11, .08);
    color: #f4d58a;
}
.ps-reply-placeholder-title {
    color: var(--ps-muted, #a6adbb);
    font-size: .88rem;
    font-weight: 600;
}
.ps-reply-placeholder-content {
    margin: .7rem 0 0 2.55rem;
    padding: .65rem 0 0;
    border-top: 1px solid rgba(148, 163, 184, .12);
    color: var(--ps-muted, #a6adbb);
    font-size: .84rem;
    line-height: 1.55;
}
.ps-reply-placeholder-content p { margin: 0; }
.ps-reply-placeholder-reason {
    margin-top: .55rem !important;
    padding-top: .55rem;
    border-top: 1px solid rgba(148, 163, 184, .12);
    color: #cbd5e1;
    font-style: normal;
}
.ps-reply-placeholder-actions {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: .65rem 0 0 2.55rem;
    padding: .6rem 0 0;
    border-top: 1px solid rgba(148, 163, 184, .10);
}
.ps-reply-placeholder-context {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: .2rem .55rem;
    border: 1px solid rgba(148, 163, 184, .16);
    border-radius: 8px;
    color: #cbd5e1;
    font-size: .78rem;
    font-weight: 750;
    text-decoration: none;
}
.ps-reply-placeholder-context:hover,
.ps-reply-placeholder-context:focus-visible {
    border-color: rgba(214, 37, 59, .38);
    background: rgba(214, 37, 59, .07);
    color: #fff;
}
.ps-reply-item.is-collapsed > .ps-reply.ps-reply-placeholder {
    padding: 0;
}
.ps-reply-item.is-collapsed > .ps-reply.ps-reply-placeholder > .ps-reply-main {
    padding-block: 10px;
}
@media (max-width: 760px) {
    .ps-reply-placeholder > .ps-reply-main { padding: 11px 12px 10px; }
    .ps-reply-placeholder-content,
    .ps-reply-placeholder-actions { margin-left: 0; }
    .ps-reply-placeholder-status { gap: .28rem .45rem; }
    .ps-duplicate-form { grid-template-columns: 1fr; }
    .ps-edit-history-heading { flex-direction: column; }
    .ps-edit-history-panel { padding: .8rem; }
}
.ps-role-badge-duplicate {
    display: inline-flex;
    align-items: center;
    padding: .12rem .42rem;
    border-radius: 999px;
    border: 1px solid rgba(214, 167, 37, .42);
    background: rgba(214, 167, 37, .09);
    color: #f2cf63;
    font-size: .65rem;
    font-weight: 850;
    letter-spacing: .035em;
}
.ps-deleted-user-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    min-width: 48px;
    height: 48px;
    min-height: 48px;
    border-radius: 50%;
    border: 1px solid rgba(148, 163, 184, .25);
    background: rgba(148, 163, 184, .08);
    color: var(--ps-muted, #a6adbb);
    font-weight: 800;
}
.ps-deleted-user-name { color: var(--ps-muted, #a6adbb); }
.ps-reply-placeholder-reason {
    margin-top: .55rem;
    padding-top: .55rem;
    border-top: 1px dashed rgba(148, 163, 184, .2);
    font-style: normal;
}

/* v0.20.0 — Topic governance and member blocking */
.ps-topic-governance {
    display: grid;
    gap: 14px;
    margin-top: 16px;
}
.ps-topic-rules,
.ps-topic-moderators,
.ps-topic-rules-preview {
    border: 1px solid var(--ps-border, rgba(148, 163, 184, .24));
    border-radius: 12px;
    background: var(--ps-surface, rgba(15, 23, 42, .55));
    padding: 14px 16px;
}
.ps-topic-rules h3,
.ps-topic-moderators h3 {
    margin: 0 0 8px;
    font-size: 1rem;
}
.ps-topic-rules ol,
.ps-topic-rules-preview ol {
    margin: 8px 0 0 1.25rem;
    padding: 0;
}
.ps-topic-rules li,
.ps-topic-rules-preview li {
    margin: 5px 0;
}
.ps-topic-moderator-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.ps-topic-moderator-list a,
.ps-topic-moderator-list > span {
    display: inline-flex;
    gap: 5px;
    align-items: center;
    max-width: 100%;
    overflow-wrap: anywhere;
}
.ps-topic-moderator-list a span {
    opacity: .72;
}
.ps-topic-rules-preview {
    margin-top: 10px;
    font-size: .94rem;
}
.ps-blocked-reply > .ps-reply-main {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
}
.ps-blocked-reply .ps-community-notice {
    width: 100%;
    margin: 0;
}
.ps-member-block-form {
    display: inline-flex;
}
@media (max-width: 600px) {
    .ps-topic-rules,
    .ps-topic-moderators,
    .ps-topic-rules-preview {
        padding: 12px;
    }
}

/* v0.21.0 account-security completion */
.ps-step-up-card.is-verified {
    border-color: rgba(34,197,94,.34);
}

.ps-step-up-social {
    margin-top: .9rem;
}

.ps-totp-qr-wrap {
    display: grid;
    justify-items: start;
    gap: .55rem;
    margin: 1rem 0;
}

.ps-totp-qr {
    display: inline-grid;
    place-items: center;
    width: min(230px, 100%);
    min-height: 180px;
    padding: .75rem;
    border-radius: 12px;
    background: #fff;
    color: #111827;
    overflow: hidden;
}

.ps-totp-qr svg {
    display: block;
    width: 100%;
    height: auto;
    max-width: 210px;
}

.ps-totp-qr.is-error {
    background: rgba(127,29,29,.24);
    color: #fee2e2;
    text-align: center;
}

@media (max-width: 520px) {
    .ps-totp-qr-wrap,
    .ps-totp-qr {
        justify-items: center;
        margin-inline: auto;
    }
}

/* v0.23.332z — transient notices fill their local content container. */
.ps-community-notice[data-ps-auto-dismiss] {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    min-height: 0;
    padding: .68rem 2.65rem .68rem .85rem;
    margin: 0 0 .9rem;
    border-radius: 6px;
    line-height: 1.4;
}
.ps-community-notice[data-ps-auto-dismiss] p { margin: 0; }
.ps-transient-notice-close {
    position: absolute;
    top: 50%;
    right: .55rem;
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    transform: translateY(-50%);
    padding: 0;
    border: 1px solid rgba(148,163,184,.28);
    border-radius: 5px;
    background: rgba(15,23,42,.12);
    color: inherit;
    font: 700 20px/1 system-ui,sans-serif;
    cursor: pointer;
    opacity: .72;
}
.ps-transient-notice-close:hover,
.ps-transient-notice-close:focus-visible {
    opacity: 1;
    border-color: currentColor;
    outline: none;
}
@media (max-width: 640px) {
    .ps-community-notice[data-ps-auto-dismiss] { width: 100%; max-width: 100%; }
}

/* v0.21.1, expanded v0.23.105.19: temporary front-end notices fade after a reading-aware delay. */
[data-ps-auto-dismiss] {
    transition: opacity .55s ease, transform .55s ease;
}

[data-ps-auto-dismiss].is-auto-dismissing {
    opacity: 0;
    transform: translateY(-4px);
    pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
    [data-ps-auto-dismiss] {
        transition-duration: .01ms;
    }
}

/* v0.22.0 — progressive discussions, accepted-answer history, and badges */
.ps-progressive-root-actions {
    display: flex;
    justify-content: center;
    margin: 1rem 0 .25rem;
}
.ps-progressive-root-actions .ps-community-button {
    min-width: min(100%, 260px);
}
.ps-progressive-child-actions {
    display: flex;
    margin-top: .7rem;
}
.ps-progressive-child-actions .ps-load-more-children {
    min-height: 38px;
    padding: .45rem .75rem;
    font-size: .82rem;
}
.ps-progressive-noscript {
    margin: .75rem 0 0;
}
.ps-comment-list.is-loading,
.ps-progressive-root-actions button:disabled,
.ps-progressive-child-actions button:disabled {
    opacity: .68;
}

.ps-account-subnav {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin: 0 0 1rem;
}
.ps-account-subnav a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: .45rem .75rem;
    border: 1px solid var(--ps-border, rgba(255,255,255,.12));
    border-radius: 999px;
    text-decoration: none;
}
.ps-account-subnav a.is-active {
    border-color: rgba(214,37,59,.5);
    background: rgba(214,37,59,.12);
    color: #fff;
}

.ps-member-badges {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: center;
}
.ps-member-badges.is-compact {
    margin-top: .55rem;
}
.ps-member-badge {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    min-height: 34px;
    padding: .35rem .62rem;
    border: 1px solid rgba(234,179,8,.32);
    border-radius: 999px;
    background: rgba(234,179,8,.08);
    max-width: 100%;
}
.ps-member-badge-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 24px;
    height: 24px;
    padding-inline: 4px;
    border-radius: 999px;
    background: rgba(234,179,8,.16);
    font-weight: 800;
    font-size: .72rem;
    line-height: 1;
}
.ps-member-badge-label {
    min-width: 0;
    overflow-wrap: anywhere;
    font-size: .8rem;
    font-weight: 700;
}
.ps-member-badges.is-compact .ps-member-badge {
    min-height: 30px;
    padding: .28rem .5rem;
}
.ps-member-badges.is-compact .ps-member-badge-icon {
    min-width: 21px;
    height: 21px;
    font-size: .66rem;
}
.ps-member-badges.is-compact .ps-member-badge-label {
    font-size: .75rem;
}
.ps-badge-panel + .ps-badge-progress-panel {
    margin-top: 1rem;
}

.ps-badge-progress-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
    gap: .8rem;
}
.ps-badge-progress-item {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    gap: .7rem;
    align-items: start;
    padding: .8rem;
    border: 1px solid var(--ps-border, rgba(255,255,255,.12));
    border-radius: 12px;
}
.ps-badge-progress-item p {
    margin: .25rem 0 .4rem;
}
.ps-badge-progress-item.is-earned {
    border-color: rgba(234,179,8,.35);
}
.ps-badge-earned-text,
.ps-badge-progress-text {
    font-size: .78rem;
    opacity: .8;
}
.ps-profile-accepted-list p {
    margin: .35rem 0 0;
    overflow-wrap: anywhere;
}

@media (max-width: 520px) {
    .ps-progressive-root-actions .ps-community-button,
    .ps-progressive-child-actions .ps-community-button {
        width: 100%;
    }
    .ps-account-subnav {
        display: grid;
        grid-template-columns: 1fr;
    }
    .ps-account-subnav a {
        justify-content: center;
    }
    .ps-member-badge {
        max-width: 100%;
    }
}
.ps-accepted-history-panel {
    margin-top: 1rem;
}
.ps-accepted-history-list {
    display: grid;
    gap: .65rem;
}
.ps-accepted-history-item {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    gap: .7rem;
    align-items: start;
    padding: .7rem .75rem;
    border: 1px solid var(--ps-border, rgba(255,255,255,.12));
    border-radius: 10px;
}
.ps-accepted-history-item > div {
    min-width: 0;
    display: grid;
    gap: .2rem;
}
.ps-accepted-history-item a {
    overflow-wrap: anywhere;
}
.ps-accepted-history-item span:last-child {
    font-size: .78rem;
    opacity: .72;
}
.ps-status-unaccepted {
    opacity: .78;
}


/* v0.23.3 — X registration visibility + cleaner Join form */
.ps-auth-shell--join .ps-social-auth-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ps-auth-shell--join .ps-social-auth-button {
    min-width: 0;
    padding-inline: .78rem;
}

.ps-auth-shell--join .ps-social-auth-button > span:last-child {
    min-width: 0;
    overflow-wrap: anywhere;
}

.ps-auth-form--join {
    gap: 1.15rem;
}

.ps-join-form-section {
    display: grid;
    gap: .8rem;
    padding: 1rem;
    border: 1px solid rgba(148, 163, 184, .16);
    border-radius: 13px;
    background: rgba(255, 255, 255, .018);
}

.ps-join-section-heading {
    display: grid;
    gap: .25rem;
}

.ps-join-section-heading h3 {
    margin: 0;
    color: #f4f7fb;
    font-size: .98rem;
    line-height: 1.3;
}

.ps-join-section-heading p {
    margin: 0;
    color: rgba(203, 213, 225, .7);
    font-size: .8rem;
    line-height: 1.5;
}

.ps-auth-form--join .ps-form-grid {
    gap: .85rem;
}

.ps-auth-form--join .ps-field {
    gap: .4rem;
}

.ps-auth-form--join .ps-field > label {
    min-height: 0;
    align-items: center;
    color: #eef2f7;
    font-size: .88rem;
}

.ps-auth-form--join .ps-field input {
    min-height: 50px;
    border-color: rgba(148, 163, 184, .3);
    background: rgba(8, 13, 24, .72);
}

.ps-auth-form--join .ps-field input:focus {
    border-color: rgba(214, 37, 59, .72);
    outline: 2px solid rgba(214, 37, 59, .16);
    outline-offset: 1px;
}

.ps-join-verification {
    display: grid;
    gap: .55rem;
    padding: .1rem 0 0;
}

.ps-join-verification-label {
    color: rgba(203, 213, 225, .72);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

@media (max-width: 560px) {
    .ps-auth-shell--join .ps-social-auth-stack {
        grid-template-columns: 1fr;
    }

    .ps-join-form-section {
        padding: .9rem;
    }
}

/* v0.23.4 — verified-email MFA recovery */
.ps-security-card-heading-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.ps-security-card-heading-row > div {
    min-width: 0;
}

.ps-security-pill {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: .3rem .6rem;
    border: 1px solid rgba(148,163,184,.22);
    border-radius: 999px;
    background: rgba(15,23,42,.7);
    color: rgba(226,232,240,.78);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .02em;
    white-space: nowrap;
}

.ps-security-pill.is-on {
    border-color: rgba(34,197,94,.38);
    background: rgba(34,197,94,.11);
    color: #dcfce7;
}

.ps-security-pill.is-off {
    border-color: rgba(245,158,11,.34);
    background: rgba(245,158,11,.08);
    color: #fef3c7;
}

.ps-security-email-label {
    margin-top: .85rem !important;
}

.ps-email-verify-form {
    display: grid;
    grid-template-columns: minmax(0, 220px) auto;
    gap: .75rem;
    align-items: end;
    max-width: 560px;
}

.ps-email-verify-form .ps-field {
    margin: 0;
}

.ps-email-recovery-divider {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin: 1rem 0 .75rem;
    color: rgba(148,163,184,.76);
    font-size: .76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.ps-email-recovery-divider::before,
.ps-email-recovery-divider::after {
    content: "";
    flex: 1 1 auto;
    height: 1px;
    background: rgba(148,163,184,.2);
}

.ps-email-recovery-mfa-form {
    display: grid;
    gap: .65rem;
}

.ps-email-recovery-mfa-form .ps-community-button {
    width: 100%;
    justify-content: center;
}

@media (max-width: 620px) {
    .ps-security-card-heading-row {
        display: grid;
    }

    .ps-security-pill {
        justify-self: start;
    }

    .ps-email-verify-form {
        grid-template-columns: 1fr;
    }
}


/* v0.23.7 policy acknowledgement */
.ps-policy-consent {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    padding: .85rem 1rem;
    margin: .9rem 0 1rem;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 12px;
    background: rgba(255,255,255,.035);
    line-height: 1.5;
}
.ps-policy-consent input { margin-top: .24rem; flex: 0 0 auto; }
.ps-policy-consent a,
.ps-policy-social-note a { text-decoration: underline; text-underline-offset: 2px; }
.ps-policy-social-note {
    margin: .75rem 0 0;
    font-size: .83rem;
    line-height: 1.5;
    opacity: .82;
}

/* v0.23.22 responder-output compatibility */
.ps-reply-content .ps-inline-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.92em;padding:.08em .3em;border-radius:4px;background:rgba(148,163,184,.12);overflow-wrap:anywhere}.ps-reply-content .ps-ai-legacy-table-row{margin:.65rem 0;padding:.65rem .75rem;border-left:3px solid rgba(148,163,184,.35);background:rgba(148,163,184,.06);line-height:1.55}


/* v0.23.24 — separate thread composer + full nested reply composer */
.ps-thread-composer-card {
    margin-top: 1rem;
    margin-bottom: 1rem;
    padding: 1rem;
}

.ps-thread-composer-card .ps-top-composer {
    margin: 0;
}

.ps-thread-composer-card + .ps-comments {
    margin-top: 1rem;
}

.ps-inline-reply-slot:empty {
    display: none;
}

.ps-inline-reply-slot:not(:empty) {
    margin-top: .9rem;
}

.ps-inline-composer {
    width: 100%;
    min-width: 0;
    padding: .75rem 0 0;
}

.ps-inline-composer-context {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem;
    margin: 0 0 .45rem;
    color: rgba(203, 213, 225, .66);
    font-size: .76rem;
}

.ps-inline-composer-context strong {
    color: #eef2f8;
}

.ps-inline-composer-form {
    width: 100%;
}

.ps-inline-composer-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: .5rem;
}

.ps-inline-composer .ps-top-composer-identity {
    padding-top: .62rem;
}

.ps-inline-composer .ps-top-composer-form textarea {
    min-height: 118px;
}

@media (max-width: 560px) {
    .ps-thread-composer-card {
        padding: .75rem;
    }

    .ps-inline-composer-actions {
        width: 100%;
    }

    .ps-inline-composer-actions .ps-community-button {
        flex: 1 1 0;
        justify-content: center;
    }
}


.ps-top-composer-heading {
    margin: 0 0 .8rem;
}

.ps-top-composer-heading h2 {
    margin: 0;
    color: #f8fafc;
    font-size: 1.08rem;
    line-height: 1.3;
}

.ps-top-composer-heading p {
    margin: .28rem 0 0;
    max-width: 760px;
    color: rgba(203, 213, 225, .62);
    font-size: .78rem;
    line-height: 1.5;
}


/* v0.23.25 — My Content Pro-only Trash placeholder */
.ps-pro-trash-control {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .18rem;
    padding-top: .04rem;
}
.ps-trash-disabled,
.ps-trash-disabled:disabled {
    color: rgba(252, 165, 165, .48);
    cursor: not-allowed;
    opacity: .7;
}
.ps-pro-only-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 18px;
    padding: .12rem .4rem;
    border: 1px solid rgba(214, 37, 59, .45);
    border-radius: 999px;
    color: #fecaca;
    background: rgba(214, 37, 59, .12);
    font-size: .62rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .045em;
    text-transform: uppercase;
    white-space: nowrap;
}


/* v0.23.31 — Question answer composer accordion */
.ps-answer-accordion {
    margin: 0;
    min-width: 0;
}

.ps-answer-accordion-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .15rem 0 .8rem;
    color: #f8fafc;
    cursor: pointer;
    list-style: none;
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.3;
    user-select: none;
}

.ps-answer-accordion-summary::-webkit-details-marker {
    display: none;
}

.ps-answer-accordion-summary:focus-visible {
    outline: 2px solid rgba(248, 113, 113, .72);
    outline-offset: 5px;
    border-radius: 5px;
}

.ps-answer-accordion-label {
    display: inline-block;
}

.ps-answer-accordion:not([open]) .ps-answer-accordion-label {
    animation: ps-answer-label-blink 1.35s ease-in-out infinite;
}

.ps-answer-accordion-chevron {
    flex: 0 0 auto;
    opacity: .62;
    transform: rotate(0deg);
    transition: transform .18s ease, opacity .18s ease;
}

.ps-answer-accordion[open] .ps-answer-accordion-chevron {
    transform: rotate(180deg);
    opacity: .9;
}

.ps-answer-accordion-body {
    min-width: 0;
}

.ps-answer-accordion-help {
    margin: 0 0 .8rem;
    max-width: 760px;
    color: rgba(203, 213, 225, .62);
    font-size: .78rem;
    line-height: 1.5;
}

@keyframes ps-answer-label-blink {
    0%, 42%, 100% { opacity: 1; }
    58%, 82% { opacity: .28; }
}

@media (prefers-reduced-motion: reduce) {
    .ps-answer-accordion:not([open]) .ps-answer-accordion-label {
        animation: none;
    }
    .ps-answer-accordion-chevron {
        transition: none;
    }
}

/* v0.23.34 — Account/Profile public-launch accessibility polish */
.ps-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 6px 0 4px !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.ps-account-nav a,
.ps-account-public-link,
.ps-account-logout-link,
.ps-member-profile-links a,
.ps-member-skills a,
.ps-profile-activity-list a,
.ps-topic-reputation-list a,
.ps-member-card {
    outline-offset: 4px;
}

.ps-account-nav a:focus-visible,
.ps-account-public-link:focus-visible,
.ps-account-logout-link:focus-visible,
.ps-account-menu-toggle:focus-visible,
.ps-member-profile-links a:focus-visible,
.ps-member-skills a:focus-visible,
.ps-profile-activity-list a:focus-visible,
.ps-topic-reputation-list a:focus-visible,
.ps-member-card:focus-visible,
.ps-text-button:focus-visible,
.ps-member-profile-page button:focus-visible {
    outline: 3px solid rgba(248, 113, 113, .88);
    outline-offset: 3px;
}

.ps-account-page .ps-community-form input:focus-visible,
.ps-account-page .ps-community-form select:focus-visible,
.ps-account-page .ps-community-form textarea:focus-visible {
    outline: 3px solid rgba(248, 113, 113, .78);
    outline-offset: 2px;
    border-color: rgba(248, 113, 113, .8);
}

.ps-account-nav a[aria-current="page"] {
    background: rgba(214, 37, 59, .14);
    color: var(--ps-accent, #d6253b);
    font-weight: 800;
}

.ps-account-menu-toggle > span:last-child {
    transition: transform .18s ease;
}

.ps-member-profile-intro,
.ps-member-profile-links,
.ps-profile-section,
.ps-profile-sidebar-card,
.ps-profile-activity-list,
.ps-profile-activity-list article,
.ps-profile-activity-list h3 {
    min-width: 0;
}

.ps-member-profile-links a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    overflow-wrap: anywhere;
}

.ps-member-skills a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
}

.ps-topic-reputation-list a {
    min-height: 44px;
}

.ps-profile-activity-list h3 a,
.ps-account-panel a,
.ps-my-content-item h3,
.ps-my-content-item h3 a {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.ps-account-page .ps-check-row input[type="checkbox"]:focus-visible,
.ps-account-page .ps-check-row input[type="radio"]:focus-visible {
    outline: 3px solid rgba(248, 113, 113, .82);
    outline-offset: 3px;
}

@media (max-width: 980px) {
    .ps-account-nav a,
    .ps-account-public-link,
    .ps-account-logout-link {
        min-height: 44px;
    }
}

@media (max-width: 560px) {
    .ps-member-profile-links {
        gap: .35rem .75rem;
    }
    .ps-member-profile-links a {
        flex: 1 1 auto;
        justify-content: center;
        padding-inline: .35rem;
    }
    .ps-profile-section,
    .ps-profile-sidebar-card {
        overflow-wrap: anywhere;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ps-account-menu-toggle > span:last-child,
    .ps-member-card {
        transition: none !important;
    }
}


/* v0.23.42 — banned-account appeal and enforcement history layout */
.ps-ban-appeal-panel,
.ps-ban-appeal-history,
.ps-ban-appeal-form {
    margin-bottom: 1.15rem;
}

.ps-enforcement-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin: 1rem 0 0;
}

.ps-enforcement-summary > div {
    min-width: 0;
    padding: .85rem;
    border: 1px solid var(--ps-border, rgba(148, 163, 184, .28));
    border-radius: 12px;
    background: var(--ps-surface-soft, rgba(148, 163, 184, .07));
}

.ps-enforcement-summary dt {
    margin: 0 0 .25rem;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.ps-enforcement-summary dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.ps-enforcement-history-row,
.ps-enforcement-note {
    min-width: 0;
    margin-top: .75rem;
    padding: .85rem 0 0;
    border-top: 1px solid var(--ps-border, rgba(148, 163, 184, .28));
    overflow-wrap: anywhere;
}

.ps-enforcement-history-row time,
.ps-enforcement-note time {
    opacity: .78;
    font-size: .9em;
}

.ps-ban-appeal-form textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

@media (max-width: 640px) {
    .ps-enforcement-summary {
        grid-template-columns: 1fr;
    }
}


/* v0.23.46 Community Read-Only / Incident Mode */
.ps-incident-banner{position:relative;z-index:50;margin:0;border-bottom:1px solid rgba(217,119,6,.35);background:#fff7ed;color:#7c2d12}.ps-incident-banner-inner{display:flex;gap:12px;align-items:flex-start;box-sizing:border-box;max-width:var(--ps-container,1315px);margin:0 auto;padding:12px 24px}.ps-incident-banner-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#9a3412;color:#fff;font-weight:800;line-height:1}.ps-incident-banner strong{display:block;margin:1px 0 2px;font-size:14px}.ps-incident-banner p{margin:0;font-size:13px;line-height:1.45;color:#9a3412}.ps-incident-inline-notice{border-left:4px solid #d97706}.ps-relation-button.is-read-only{opacity:.55;cursor:not-allowed}@media(max-width:600px){.ps-incident-banner-inner{padding:11px 16px}}

/* v0.23.47 — per-Thread Slow Mode */
.ps-slow-mode-notice {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
    margin: 18px 0;
    padding: 14px 16px;
    border: 1px solid rgba(14, 165, 233, .32);
    border-radius: 12px;
    background: rgba(14, 165, 233, .08);
    color: var(--ps-text, #f5f7fb);
}

.ps-slow-mode-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(56, 189, 248, .35);
    border-radius: 50%;
    background: rgba(14, 165, 233, .13);
    line-height: 1;
}

.ps-slow-mode-notice > div:last-child {
    min-width: 0;
}

.ps-slow-mode-notice strong {
    display: block;
    margin: 0 0 3px;
}

.ps-slow-mode-notice p {
    margin: 0;
    color: var(--ps-muted, #a5adba);
    overflow-wrap: anywhere;
}

.ps-slow-mode-notice .ps-slow-mode-member-status {
    margin-top: 6px;
    color: var(--ps-text, #f5f7fb);
}

.ps-slow-mode-wait {
    border-left: 4px solid #0ea5e9;
}

.ps-slow-mode-moderator-form {
    flex: 1 1 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 12px;
    min-width: 0;
    margin-top: 4px;
    padding-top: 12px;
    border-top: 1px solid var(--ps-border, #293142);
}

.ps-slow-mode-moderator-heading {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 6px 12px;
    color: var(--ps-text, #f5f7fb);
}

.ps-slow-mode-moderator-heading span {
    color: var(--ps-muted, #a5adba);
    font-size: .82rem;
}

.ps-slow-mode-moderator-form label {
    display: grid;
    align-content: start;
    gap: 5px;
    min-width: 0;
    color: var(--ps-muted, #a5adba);
    font-size: .8rem;
}

.ps-slow-mode-moderator-form input,
.ps-slow-mode-moderator-form select {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    border: 1px solid var(--ps-border, #30384a);
    border-radius: 9px;
    background: #0b1018;
    color: var(--ps-text, #f5f7fb);
    padding: 9px 10px;
}

.ps-slow-mode-moderator-form small {
    line-height: 1.35;
}

.ps-slow-mode-moderator-form button {
    justify-self: start;
    align-self: end;
}

@media (max-width: 680px) {
    .ps-slow-mode-notice {
        padding: 12px 13px;
    }
    .ps-slow-mode-moderator-form {
        grid-template-columns: minmax(0, 1fr);
    }
    .ps-slow-mode-moderator-heading,
    .ps-slow-mode-moderator-form button {
        grid-column: 1;
    }
}

/* v0.23.48 — front-end account email change */
.ps-account-email-current {
    display: grid;
    grid-template-columns: minmax(0, 150px) minmax(0, 1fr);
    gap: .45rem 1rem;
    align-items: center;
    margin-top: .9rem;
    padding: .75rem .85rem;
    border: 1px solid rgba(148,163,184,.18);
    border-radius: 9px;
    background: rgba(9,12,18,.52);
}

.ps-account-email-current span {
    color: rgba(148,163,184,.84);
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.ps-account-email-current strong {
    min-width: 0;
    overflow-wrap: anywhere;
    color: #fff;
}

.ps-account-email-pending {
    margin-top: .9rem;
    padding: .8rem .9rem;
    border: 1px solid rgba(245,158,11,.28);
    border-radius: 9px;
    background: rgba(245,158,11,.07);
}

.ps-account-email-pending strong {
    color: #fef3c7;
}

.ps-account-email-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .65rem 1rem;
    margin-top: .7rem;
}

.ps-account-email-actions form {
    margin: 0;
}

@media (max-width: 620px) {
    .ps-account-email-current {
        grid-template-columns: 1fr;
    }

    .ps-account-email-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ps-account-email-actions form,
    .ps-account-email-actions .ps-community-button,
    .ps-account-email-actions .ps-inline-action {
        width: 100%;
    }
}


/* v0.23.49 — front-end account password change */
.ps-account-password-safety {
    margin-top: .9rem;
    padding: .8rem .9rem;
    border: 1px solid rgba(56,189,248,.24);
    border-radius: 9px;
    background: rgba(14,165,233,.07);
}

.ps-account-password-safety strong {
    display: block;
    margin-bottom: .25rem;
    color: #e0f2fe;
}

.ps-account-password-safety p {
    margin: 0;
}

.ps-password-change-form {
    margin-top: .9rem;
}

.ps-password-change-form .ps-field-help {
    margin-top: .35rem;
}

/* v0.23.51 — browser-local Thread/reply draft autosave and recovery */
.ps-draft-status-row {
    display: flex;
    align-items: center;
    min-width: 0;
    margin: .65rem 0 .75rem;
}

.ps-draft-status {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    color: rgba(203,213,225,.78);
    font-size: .78rem;
    line-height: 1.4;
}

.ps-draft-status::before {
    content: '';
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    margin-right: .45rem;
    border-radius: 999px;
    background: currentColor;
    opacity: .62;
}

.ps-draft-status[data-state="saved"],
.ps-draft-status[data-state="restored"] {
    color: #86efac;
}

.ps-draft-status[data-state="saving"] {
    color: #bae6fd;
}

.ps-draft-status[data-state="error"] {
    color: #fca5a5;
}

.ps-draft-recovery {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin: .8rem 0 1rem;
    padding: .85rem .95rem;
    border: 1px solid rgba(56,189,248,.26);
    border-radius: 10px;
    background: rgba(14,165,233,.075);
}

.ps-draft-recovery-copy {
    display: grid;
    min-width: 0;
    gap: .2rem;
}

.ps-draft-recovery-copy strong {
    color: #e0f2fe;
    font-size: .92rem;
}

.ps-draft-recovery-copy span {
    color: rgba(203,213,225,.82);
    font-size: .8rem;
    line-height: 1.4;
}

.ps-draft-recovery-actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: .5rem;
}

.ps-inline-composer .ps-draft-recovery {
    margin-top: .65rem;
}

@media (max-width: 680px) {
    .ps-draft-recovery {
        align-items: stretch;
        flex-direction: column;
    }

    .ps-draft-recovery-actions {
        width: 100%;
    }

    .ps-draft-recovery-actions .ps-community-button {
        flex: 1 1 150px;
        justify-content: center;
    }
}

/* v0.23.53 — Account Privacy & Data request center */
.ps-account-panel + .ps-privacy-request-grid,
.ps-privacy-request-grid + .ps-account-panel {
    margin-top: 1rem;
}

.ps-privacy-request-card .ps-community-form,
.ps-privacy-retention-note {
    margin-top: 1rem;
}

.ps-privacy-request-status {
    margin: 1rem 0;
}

/* Privacy destructive-action buttons keep readable white text in every state. */
.ps-privacy-request-card .ps-community-button.ps-danger-button,
.ps-privacy-request-card .ps-community-button.ps-danger-button:disabled {
    color: #fff !important;
    -webkit-text-fill-color: #fff;
}

.ps-privacy-request-card .ps-community-button:disabled {
    opacity: .58;
    cursor: not-allowed;
}

.ps-privacy-summary dd {
    overflow-wrap: anywhere;
}

@media (max-width: 640px) {
    .ps-privacy-request-grid {
        grid-template-columns: 1fr;
    }
}

/* v0.23.54 — categorized Account sidebar accordions */
.ps-account-nav.ps-account-nav-accordion {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .65rem;
    margin: 1rem 0;
}

.ps-account-nav-group {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, .16);
    border-radius: 12px;
    background: rgba(15, 23, 42, .22);
}

.ps-account-nav-group-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: .72rem .8rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .055em;
    line-height: 1.25;
    text-align: left;
    text-transform: uppercase;
    cursor: pointer;
}

.ps-account-nav-group-toggle:hover,
.ps-account-nav-group.has-active > .ps-account-nav-group-toggle {
    background: rgba(148, 163, 184, .07);
    color: #fff;
}

.ps-account-nav-group.has-active {
    border-color: rgba(214, 37, 59, .30);
}

.ps-account-nav-group.has-active > .ps-account-nav-group-toggle {
    color: var(--ps-accent, #d6253b);
}

.ps-account-nav-group-chevron {
    flex: 0 0 auto;
    font-size: 1rem;
    line-height: 1;
    transition: transform .18s ease;
}

.ps-account-nav-group-toggle[aria-expanded="false"] .ps-account-nav-group-chevron {
    transform: rotate(-90deg);
}

.ps-account-nav-group-links {
    display: grid;
    gap: .2rem;
    min-width: 0;
    padding: .25rem .35rem .4rem;
    border-top: 1px solid rgba(148, 163, 184, .12);
}

.ps-account-nav-group-links[hidden] {
    display: none !important;
}

/* v0.23.184 — task-cluster dividers inside Account accordions. */
.ps-account-nav-divider {
    display: block;
    height: 1px;
    margin: .3rem .55rem;
    background: rgba(148, 163, 184, .16);
    pointer-events: none;
}

.ps-account-nav.ps-account-nav-accordion .ps-account-nav-group-links a {
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 39px;
    padding: .58rem .65rem;
    border: 0;
    border-radius: 8px;
    color: inherit;
    text-decoration: none !important;
    overflow-wrap: anywhere;
}

.ps-account-nav.ps-account-nav-accordion .ps-account-nav-group-links a:hover {
    background: rgba(148, 163, 184, .08);
}

.ps-account-nav.ps-account-nav-accordion .ps-account-nav-group-links a.is-active,
.ps-account-nav.ps-account-nav-accordion .ps-account-nav-group-links a[aria-current="page"] {
    background: rgba(214, 37, 59, .14);
    color: var(--ps-accent, #d6253b);
    font-weight: 800;
}

.ps-account-nav-group-toggle:focus-visible {
    outline: 3px solid rgba(248, 113, 113, .88);
    outline-offset: -3px;
}

@media (max-width: 980px) {
    .ps-account-nav.ps-account-nav-accordion {
        grid-template-columns: minmax(0, 1fr);
        gap: .55rem;
        margin-bottom: .75rem;
    }

    .ps-account-nav.ps-account-nav-accordion .ps-account-nav-group-links a {
        min-height: 42px;
        border: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ps-account-nav-group-chevron {
        transition: none;
    }
}

@media (max-width: 720px) {
    .ps-duplicate-form {
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
    }
}

/* v0.23.64: immediate optimistic reply acknowledgement while AJAX/server hooks finish. */
.ps-reply-optimistic {
    opacity: .88;
}
.ps-reply-optimistic > .ps-reply {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    width: 100%;
    padding: 14px 16px;
    border: 1px dashed rgba(148, 163, 184, .52);
    border-radius: 12px;
}
.ps-reply-optimistic > .ps-reply > .ps-reply-main {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
}
.ps-reply-optimistic-header {
    display: flex;
    align-items: center;
    gap: .65rem;
    flex-wrap: wrap;
}
.ps-reply-optimistic-status {
    font-size: .84em;
    opacity: .78;
}
.ps-reply-optimistic-content {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
.ps-reply-optimistic.is-confirmed {
    opacity: 1;
}
.ps-reply-optimistic.is-pending > .ps-reply {
    border-style: solid;
}

/* v0.23.77: make Thread body minimum-length validation visually unambiguous. */
.ps-field-requirement {
    margin-left: .35rem;
    font-size: .82em;
    font-weight: 500;
    opacity: .68;
}

.ps-field-help-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem 1rem;
    flex-wrap: wrap;
}

.ps-field-help-row .ps-field-help,
.ps-field-counter,
.ps-field-validation {
    margin: .15rem 0 0;
}

.ps-field-counter {
    flex: 0 0 auto;
    font-size: .9rem;
    opacity: .72;
}

.ps-field-counter.is-ready {
    opacity: .9;
}

.ps-field-validation {
    border-left: 3px solid var(--ps-accent, #d6253b);
    padding: .42rem .65rem;
    border-radius: 0 8px 8px 0;
    background: rgba(214, 37, 59, .1);
    font-weight: 650;
}

.ps-thread-content-field.is-invalid textarea {
    border-color: var(--ps-accent, #d6253b);
    box-shadow: 0 0 0 1px rgba(214, 37, 59, .15);
}

@media (max-width: 520px) {
    .ps-field-help-row {
        display: grid;
        gap: .35rem;
    }
}

/* v0.23.78 — Reddit-style rich composer shell, retaining existing ProfoundSyntax posting pipeline. */
.ps-rich-composer {
    position: relative;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 14px;
    background: rgba(8, 11, 17, .76);
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.ps-rich-composer.is-focused {
    border-color: rgba(226, 232, 240, .52);
    box-shadow: 0 0 0 2px rgba(226, 232, 240, .055);
    background: rgba(9, 13, 20, .9);
}

.ps-rich-composer.is-invalid {
    border-color: rgba(248, 113, 113, .8);
    box-shadow: 0 0 0 2px rgba(248, 113, 113, .1);
}

.ps-rich-composer-source,
.ps-top-composer-form .ps-rich-composer-source,
.ps-community-form .ps-rich-composer-source {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    min-width: 1px !important;
    min-height: 1px !important;
    max-width: 1px !important;
    max-height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.ps-rich-composer-editor {
    display: block;
    width: 100%;
    min-width: 0;
    min-height: 142px;
    max-height: 560px;
    overflow: auto;
    padding: .92rem 1rem 1rem;
    outline: 0;
    color: #eef2f8;
    font: inherit;
    line-height: 1.62;
    white-space: normal;
    overflow-wrap: anywhere;
    caret-color: #fff;
}

.ps-rich-composer-thread .ps-rich-composer-editor {
    min-height: 300px;
}

.ps-inline-composer .ps-rich-composer-editor {
    min-height: 124px;
}

.ps-rich-composer-editor:empty::before {
    content: attr(data-placeholder);
    color: rgba(203, 213, 225, .48);
    pointer-events: none;
}

.ps-rich-composer-editor p {
    margin: 0 0 .75rem;
}

.ps-rich-composer-editor p:last-child {
    margin-bottom: 0;
}

.ps-rich-composer-editor blockquote {
    margin: .5rem 0 .75rem;
    padding: .15rem 0 .15rem .8rem;
    border-left: 3px solid rgba(148, 163, 184, .45);
    color: rgba(226, 232, 240, .8);
}

.ps-rich-composer-editor ul,
.ps-rich-composer-editor ol {
    margin: .45rem 0 .75rem 1.4rem;
    padding: 0;
}

.ps-rich-composer-editor code:not(pre code) {
    padding: .12em .32em;
    border-radius: 4px;
    background: rgba(148, 163, 184, .14);
    color: #f1f5f9;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: .92em;
}

.ps-rich-composer-editor pre {
    margin: .6rem 0 .8rem;
    padding: .8rem .9rem;
    overflow: auto;
    border: 1px solid rgba(148, 163, 184, .2);
    border-radius: 8px;
    background: #080b11;
    color: #e5e7eb;
    white-space: pre;
}

.ps-rich-composer-editor pre code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: .9em;
}

.ps-rich-composer-toolbar {
    display: flex;
    flex-direction: column;
    gap: 0;
    border-top: 1px solid rgba(148, 163, 184, .15);
    background: rgba(255, 255, 255, .018);
}

.ps-rich-tools-primary,
.ps-rich-tools-secondary {
    display: flex;
    align-items: center;
    gap: .12rem;
    min-width: 0;
    padding: .36rem .48rem;
}

.ps-rich-tools-secondary {
    border-top: 1px solid rgba(148, 163, 184, .1);
}

.ps-rich-tools-secondary[hidden] {
    display: none !important;
}

.ps-rich-tool {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: rgba(226, 232, 240, .78);
    font: inherit;
    font-size: .83rem;
    font-weight: 750;
    line-height: 1;
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
}

.ps-rich-tool:hover,
.ps-rich-tool:focus-visible {
    outline: 0;
    background: rgba(148, 163, 184, .14);
    color: #fff;
}

.ps-rich-tool:focus-visible {
    box-shadow: 0 0 0 2px rgba(226, 232, 240, .24);
}

.ps-rich-tool-more {
    margin-left: .08rem;
    letter-spacing: .04em;
}

.ps-rich-composer-ready .ps-top-composer-tools {
    display: none;
}

.ps-rich-composer-ready .ps-top-composer-footer {
    justify-content: flex-end;
}

.ps-top-composer-form.ps-rich-composer-ready {
    overflow: visible;
}

.ps-top-composer-form.ps-rich-composer-ready > .ps-rich-composer {
    margin: 0 .7rem;
}

.ps-top-composer-form.ps-rich-composer-ready .ps-top-composer-footer {
    margin-top: .5rem;
}

.ps-submit-form .ps-rich-composer {
    margin-top: .18rem;
}

@media (max-width: 560px) {
    .ps-rich-composer-editor {
        min-height: 126px;
        padding: .8rem .82rem .9rem;
    }

    .ps-rich-composer-thread .ps-rich-composer-editor {
        min-height: 230px;
    }

    .ps-rich-tools-primary,
    .ps-rich-tools-secondary {
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: none;
    }

    .ps-rich-tools-primary::-webkit-scrollbar,
    .ps-rich-tools-secondary::-webkit-scrollbar {
        display: none;
    }

    .ps-rich-tool {
        width: 36px;
        height: 36px;
    }
}

/* v0.23.81 — rich composer media controls + rendered Community media. */
.ps-rich-media-input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.ps-rich-media-tool {
    font-weight: 800;
}

.ps-rich-media-tray {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem;
    padding: .55rem .75rem .2rem;
    border-top: 1px solid rgba(148,163,184,.13);
}

.ps-rich-media-tray[hidden] {
    display: none !important;
}

.ps-rich-media-chip {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    max-width: 100%;
    padding: .35rem .55rem;
    border: 1px solid rgba(148,163,184,.28);
    border-radius: 999px;
    background: rgba(15,23,42,.72);
    color: #dbe4ef;
    font-size: .78rem;
    line-height: 1.2;
}

.ps-rich-media-chip > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: min(420px, 62vw);
}

.ps-rich-media-chip.is-new {
    border-style: dashed;
}

.ps-rich-media-remove {
    width: 1.35rem;
    height: 1.35rem;
    display: inline-grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(148,163,184,.12);
    color: inherit;
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
}

.ps-rich-media-remove:hover,
.ps-rich-media-remove:focus-visible {
    background: rgba(214,37,59,.24);
    outline: none;
}

.ps-rich-media-note {
    flex: 1 1 100%;
    color: #98a7ba;
    font-size: .75rem;
    line-height: 1.45;
}

.ps-community-media {
    display: grid;
    gap: .85rem;
    margin-top: 1rem;
}

.ps-media-video-frame,
.ps-media-local-video {
    width: min(100%, 920px);
    border-radius: 12px;
    overflow: hidden;
    background: #05080d;
    border: 1px solid rgba(148,163,184,.2);
}

.ps-media-video-frame {
    position: relative;
    aspect-ratio: 16 / 9;
}

.ps-media-video-frame iframe,
.ps-media-local-video video {
    display: block;
    width: 100%;
    border: 0;
}

.ps-media-video-frame iframe {
    position: absolute;
    inset: 0;
    height: 100%;
}

.ps-media-local-video video {
    max-height: 70vh;
    background: #000;
}

.ps-media-youtube-fallback {
    display: inline-flex;
    align-items: center;
    margin-top: .45rem;
    font-size: .8rem;
    line-height: 1.35;
}

.ps-media-review-note {
    width: fit-content;
    max-width: 100%;
    padding: .5rem .7rem;
    border: 1px solid rgba(245,158,11,.32);
    border-radius: 8px;
    background: rgba(245,158,11,.08);
    color: #f7c76f;
    font-size: .8rem;
}

.ps-media-image-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
    gap: .65rem;
    width: min(100%, 980px);
}

.ps-media-image-link {
    display: block;
    min-width: 0;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(148,163,184,.2);
    background: rgba(2,6,23,.55);
}

.ps-community-media-image {
    display: block;
    width: 100%;
    height: auto;
    max-height: 640px;
    object-fit: contain;
}

@media (max-width: 560px) {
    .ps-rich-media-chip > span {
        max-width: 70vw;
    }
    .ps-media-image-grid {
        grid-template-columns: 1fr;
    }
}


/* v0.23.83 — tiered media quotas, media reporting, and integrity tooling. */
.ps-media-item {
    min-width: 0;
}
.ps-media-item-actions {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin-top: .38rem;
    min-height: 1.15rem;
}
.ps-media-item-actions .ps-report-control > summary {
    font-size: .76rem;
    opacity: 1;
}

/* v0.23.107 — media report controls must remain usable inside clipped media frames. */
.ps-media-item-actions {
    align-items: flex-start;
    flex-wrap: wrap;
}
.ps-media-item-actions .ps-report-control {
    position: static;
    min-width: 0;
}
.ps-media-item-actions .ps-report-control[open] {
    flex: 1 1 100%;
}
.ps-media-item-actions .ps-report-control > summary {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: .28rem .52rem;
    border: 1px solid var(--ps-border, rgba(255,255,255,.14));
    border-radius: 8px;
    background: rgba(255,255,255,.035);
    color: var(--ps-text, #f5f7fb);
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
}
.ps-media-item-actions .ps-report-control > summary:hover,
.ps-media-item-actions .ps-report-control > summary:focus-visible {
    background: rgba(255,255,255,.075);
    outline: none;
}
.ps-media-item-actions .ps-report-form {
    position: static;
    inset: auto;
    width: min(100%, 390px);
    max-width: 100%;
    margin: .42rem 0 0;
    box-shadow: 0 14px 28px rgba(0,0,0,.22);
}
.ps-media-item-image .ps-media-item-actions {
    padding: 0 .15rem .1rem;
}
.ps-moderation-inline-media-actions {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
    align-items: center;
}

/* v0.23.90 — general developer/document attachments. */
.ps-media-attachment-list {
    display: grid;
    gap: .55rem;
    width: min(100%, 920px);
}
.ps-media-item-attachment {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .45rem .8rem;
    padding: .72rem .82rem;
    border: 1px solid rgba(148,163,184,.20);
    border-radius: 10px;
    background: rgba(15,23,42,.46);
}
.ps-media-item-attachment .ps-media-review-note,
.ps-media-item-attachment .ps-media-item-actions {
    grid-column: 1 / -1;
}
.ps-media-attachment-link {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: inherit;
    text-decoration: none;
    overflow-wrap: anywhere;
}
.ps-media-attachment-link:hover,
.ps-media-attachment-link:focus-visible {
    text-decoration: underline;
}
.ps-media-attachment-size {
    color: #98a7ba;
    font-size: .78rem;
    white-space: nowrap;
}
.ps-rich-media-chip[data-kind="attachment"] {
    border-color: rgba(96,165,250,.34);
}
@media (max-width: 560px) {
    .ps-media-item-attachment {
        grid-template-columns: 1fr;
    }
    .ps-media-attachment-size {
        white-space: normal;
    }
}

/* v0.23.100.1 — independent language drawer + Back to Top controls. */
.ps-language-drawer {
    --ps-language-right: 0px;
    --ps-language-bottom: 96px;
    position: fixed;
    right: max(0px, min(var(--ps-language-right), calc(100vw - 44px)));
    bottom: max(0px, min(var(--ps-language-bottom), calc(100vh - 132px)));
    z-index: 9991;
    display: flex;
    align-items: stretch;
    max-width: calc(100vw - 8px);
    filter: drop-shadow(0 8px 28px rgba(0,0,0,.28));
}
.ps-language-drawer-panel {
    display: flex;
    width: 230px;
    max-width: calc(100vw - 52px);
    overflow: hidden;
    opacity: 1;
    visibility: visible;
    border: 1px solid rgba(255,255,255,.12);
    border-right: 0;
    border-radius: 14px 0 0 14px;
    background: rgba(12,17,24,.97);
    transition: width .22s ease, opacity .18s ease, visibility .18s ease, border-color .18s ease;
}
.ps-language-drawer.is-closed .ps-language-drawer-panel {
    width: 0;
    opacity: 0;
    visibility: hidden;
    border-color: transparent;
}
.ps-language-selector {
    display: flex;
    flex: 1 0 230px;
    min-width: 230px;
    margin: 0;
    padding: 12px;
    align-items: center;
    gap: 8px;
    color: #e8edf5;
    font-size: 12px;
    line-height: 1;
}
.ps-language-selector label {
    flex: 0 0 auto;
    font-weight: 700;
}
.ps-language-selector .ps-language-honeypot {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
.ps-language-selector select {
    min-width: 0;
    width: 100%;
    height: 34px;
    margin: 0;
    padding: 0 28px 0 10px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 999px;
    background-color: #111923;
    color: #f5f7fb;
    font-size: 12px;
}
.ps-language-selector button {
    min-height: 32px;
    border: 0;
    border-radius: 999px;
    padding: 0 12px;
}
.ps-language-drawer-toggle {
    display: inline-flex;
    flex: 0 0 44px;
    width: 44px;
    min-width: 44px;
    min-height: 116px;
    margin: 0;
    padding: 9px 7px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 0;
    background: rgba(12,17,24,.98);
    color: #f5f7fb;
    cursor: pointer;
    appearance: none;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-family: inherit;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    writing-mode: vertical-rl;
    text-orientation: mixed;
}
.ps-language-drawer.is-closed .ps-language-drawer-toggle {
    border-radius: 12px 0 0 12px;
}
.ps-language-drawer-toggle:hover,
.ps-language-drawer-toggle:focus-visible {
    border-color: rgba(255,255,255,.30);
    background: #111923;
    color: #fff;
}
.ps-language-drawer-toggle:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}
.ps-language-drawer-icon {
    font-size: 17px;
    line-height: 1;
}
.ps-language-drawer-label {
    white-space: nowrap;
}
.ps-language-drawer-chevron {
    font-size: 18px;
    line-height: 1;
    transform: rotate(180deg);
    transition: transform .2s ease;
}
.ps-language-drawer.is-closed .ps-language-drawer-chevron {
    transform: rotate(0deg);
}

.ps-page-scroll-rail {
    --ps-top-right: 18px;
    --ps-scroll-open-right: max(0px, min(var(--ps-top-right), 72px));
    position: fixed;
    top: 50%;
    right: 0;
    z-index: 9990;
    width: calc(76px + var(--ps-scroll-open-right));
    height: 154px;
    transform: translateY(-50%);
    pointer-events: auto;
}

.ps-page-scroll-rail::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: calc(76px + var(--ps-scroll-open-right));
    height: 154px;
    background: transparent;
    pointer-events: auto;
}
.ps-page-scroll-rail-panel {
    position: absolute;
    top: 0;
    right: var(--ps-scroll-open-right);
    z-index: 1;
    display: grid;
    grid-template-rows: repeat(3, 42px);
    gap: 3px;
    box-sizing: border-box;
    width: 58px;
    padding: 7px;
    border: 1px solid rgba(255,255,255,.14);
    border-right-color: rgba(255,49,83,.44);
    border-radius: 14px;
    background: radial-gradient(circle at 14px 50%,rgba(255,49,83,.11),transparent 42%),linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0)),rgba(10,15,22,.97);
    box-shadow: 0 16px 42px rgba(0,0,0,.42),0 0 0 1px rgba(255,49,83,.05) inset;
    transform: translateX(calc(62px + var(--ps-scroll-open-right)));
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: transform .2s cubic-bezier(.2,.72,.28,1),opacity .12s ease,visibility 0s linear .2s,border-color .2s ease,box-shadow .2s ease;
    overflow: hidden;
}
.ps-page-scroll-rail-panel::after {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    bottom: 10px;
    width: 2px;
    border-radius: 999px;
    background: linear-gradient(180deg,transparent,#ff3153 22%,#ff3153 78%,transparent);
    opacity: .82;
    pointer-events: none;
}
.ps-page-scroll-rail-peek {
    position: absolute !important;
    top: 7px !important;
    right: -6px !important;
    left: auto !important;
    z-index: 2;
    display: grid !important;
    grid-template-rows: 42px 42px 42px;
    align-items: center;
    justify-items: center;
    box-sizing: border-box;
    width: 34px !important;
    min-width: 34px !important;
    height: 132px !important;
    min-height: 132px !important;
    margin: 0 !important;
    padding: 0 5px 0 3px !important;
    border: 1px solid rgba(255,49,83,.34) !important;
    border-right: 0 !important;
    border-radius: 12px 0 0 12px !important;
    background: rgba(10,15,22,.96) !important;
    color: #ff4664 !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    cursor: pointer;
    appearance: none;
    pointer-events: auto;
    opacity: 1 !important;
    visibility: visible !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.35) !important;
    text-shadow: 0 0 12px rgba(255,49,83,.24);
    transition: opacity .1s ease,visibility 0s linear 0s,background .15s ease;
}
.ps-page-scroll-rail-peek:hover,.ps-page-scroll-rail-peek:focus-visible { background: rgba(255,49,83,.1) !important; outline: none; }
.ps-page-scroll-rail-peek:focus-visible { box-shadow: inset 0 0 0 2px rgba(255,49,83,.8),0 12px 30px rgba(0,0,0,.35) !important; }
.ps-page-scroll-rail-peek-dot { width:9px;height:9px;border:2px solid #ff3153;border-radius:50%;background:rgba(255,49,83,.24);box-shadow:0 0 0 4px rgba(255,49,83,.06); }
.ps-page-scroll-rail:hover .ps-page-scroll-rail-panel,
.ps-page-scroll-rail:focus-within .ps-page-scroll-rail-panel,
.ps-page-scroll-rail.is-open .ps-page-scroll-rail-panel {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
    border-color: rgba(255,255,255,.23);
    border-right-color: rgba(255,49,83,.68);
    box-shadow: 0 18px 46px rgba(0,0,0,.46),0 0 28px rgba(255,49,83,.1);
}
.ps-page-scroll-rail:hover .ps-page-scroll-rail-peek,
.ps-page-scroll-rail:focus-within .ps-page-scroll-rail-peek,
.ps-page-scroll-rail.is-open .ps-page-scroll-rail-peek {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition-delay: 0s;
}
.ps-page-scroll-rail-button {
    position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
    width:42px !important;min-width:42px !important;height:42px !important;min-height:42px !important;margin:0 !important;padding:0 !important;
    border:1px solid transparent !important;border-radius:10px !important;background:rgba(255,255,255,.018) !important;color:#f5f7fb !important;
    cursor:pointer;appearance:none;font:inherit !important;font-size:21px !important;font-weight:900 !important;line-height:1 !important;text-transform:none !important;letter-spacing:normal !important;
    box-shadow:none !important;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease;
}
.ps-page-scroll-rail-button:hover,.ps-page-scroll-rail-button:focus-visible { background:rgba(255,49,83,.14) !important;border-color:rgba(255,49,83,.24) !important;color:#fff !important;transform:translateX(-1px); }
.ps-page-scroll-rail-button:focus-visible { outline:2px solid #ff3153;outline-offset:-2px; }
.ps-page-scroll-rail-button-center::before,.ps-page-scroll-rail-button-center::after { content:'';position:absolute;left:8px;right:8px;height:1px;background:rgba(255,255,255,.1); }
.ps-page-scroll-rail-button-center::before { top:2px; }.ps-page-scroll-rail-button-center::after { bottom:2px; }
.ps-page-scroll-rail-center-dot { width:12px;height:12px;border:2px solid #ff3153;border-radius:50%;background:rgba(255,49,83,.2);box-shadow:0 0 0 4px rgba(255,49,83,.06); }
.ps-page-scroll-rail[hidden] { display:none !important; }
@media (hover:none),(pointer:coarse) {
    .ps-page-scroll-rail:hover .ps-page-scroll-rail-panel,.ps-page-scroll-rail:focus-within .ps-page-scroll-rail-panel { transform:translateX(calc(62px + var(--ps-scroll-open-right)));opacity:0;visibility:hidden;pointer-events:none; }
    .ps-page-scroll-rail:hover .ps-page-scroll-rail-peek,.ps-page-scroll-rail:focus-within .ps-page-scroll-rail-peek { opacity:1 !important;visibility:visible !important;pointer-events:auto !important; }
    .ps-page-scroll-rail.is-open .ps-page-scroll-rail-panel { transform:translateX(0);opacity:1;visibility:visible;pointer-events:auto; }
    .ps-page-scroll-rail.is-open .ps-page-scroll-rail-peek { opacity:0 !important;visibility:hidden !important;pointer-events:none !important; }
}
@media (prefers-reduced-motion:reduce) { .ps-page-scroll-rail-panel,.ps-page-scroll-rail-peek,.ps-page-scroll-rail-button { transition:none; } }


body .ps-page-scroll-rail button.ps-page-scroll-rail-peek {
    width: 24px;
    height: 132px;
    min-width: 0;
}
body .ps-page-scroll-rail button.ps-page-scroll-rail-button {
    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
}


/* v0.23.104.38 — searchable multi-column Language drawer picker. */
.ps-language-drawer.is-open .ps-language-drawer-panel {
    overflow: visible;
}
.ps-language-selector {
    position: relative;
}
.ps-language-picker {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
}
.ps-language-picker-trigger,
.ps-language-picker-popover {
    display: none;
}
.ps-language-picker.is-enhanced .ps-language-picker-trigger {
    display: flex;
}
.ps-language-picker.is-enhanced .ps-language-native-select {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.ps-language-picker-trigger {
    width: 100%;
    min-width: 0;
    height: 36px;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0 10px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 999px;
    background: #111923;
    color: #f5f7fb;
    font: inherit;
    cursor: pointer;
}
.ps-language-picker-trigger:hover,
.ps-language-picker-trigger:focus-visible,
.ps-language-picker.is-open .ps-language-picker-trigger {
    border-color: rgba(255,255,255,.34);
    background: #151f2c;
}
.ps-language-picker-trigger:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}
.ps-language-picker-flag,
.ps-language-picker-option-flag {
    flex: 0 0 auto;
    font-size: 17px;
    line-height: 1;
}
.ps-language-picker-current {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ps-language-picker-caret {
    margin-left: auto;
    font-size: 16px;
    line-height: 1;
    transition: transform .16s ease;
}
.ps-language-picker.is-open .ps-language-picker-caret {
    transform: rotate(180deg);
}
.ps-language-picker-popover {
    position: absolute;
    right: 0;
    bottom: calc(100% + 10px);
    z-index: 10020;
    width: min(430px, calc(100vw - 68px));
    padding: 10px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
    background: #0d141e;
    box-shadow: 0 18px 48px rgba(0,0,0,.46);
}
.ps-language-picker.is-enhanced .ps-language-picker-popover:not([hidden]) {
    display: block;
}
.ps-language-picker-search {
    display: flex !important;
    align-items: center;
    gap: 8px;
    width: 100%;
    margin: 0 0 9px;
    padding: 0 10px;
    height: 38px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 10px;
    background: #111923;
    color: #aeb8c6;
}
.ps-language-picker-search input {
    width: 100%;
    min-width: 0;
    height: 34px;
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #f5f7fb;
    font: inherit;
    box-shadow: none;
}
.ps-language-picker-search input::placeholder {
    color: #8793a4;
}
.ps-language-picker-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    max-height: min(330px, calc(100vh - 190px));
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    padding-right: 2px;
}
.ps-language-picker-option {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    margin: 0;
    padding: 7px 9px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    color: #e8edf5;
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.ps-language-picker-option:hover,
.ps-language-picker-option:focus-visible {
    border-color: rgba(255,255,255,.13);
    background: rgba(255,255,255,.06);
    outline: 0;
}
.ps-language-picker-option.is-selected {
    border-color: rgba(255,255,255,.22);
    background: rgba(255,255,255,.10);
}
.ps-language-picker-option-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 650;
}
.ps-language-picker-option-code {
    color: #7f8b9c;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .04em;
}
.ps-language-picker-empty {
    margin: 8px 4px 2px;
    color: #9aa6b6;
    text-align: center;
}
@media (max-width: 640px) {
    .ps-language-picker-popover {
        width: min(300px, calc(100vw - 62px));
        max-height: min(420px, calc(100vh - 150px));
    }
    .ps-language-picker-list {
        grid-template-columns: 1fr;
        max-height: min(330px, calc(100vh - 230px));
    }
}

/* v0.23.104.14 — full-site blocking translation veil with bottom status card. */
.ps-language-translation-overlay {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 20px;
    background: rgba(4, 8, 14, .82);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    cursor: wait;
    transition: opacity .16s ease, visibility .16s ease;
}
.ps-language-translation-overlay.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.ps-language-translation-overlay[hidden] {
    display: none !important;
}
.ps-language-translation-overlay-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas: "spinner title" "spinner message";
    column-gap: 14px;
    row-gap: 4px;
    width: min(620px, calc(100vw - 40px));
    min-height: 0;
    padding: 15px 18px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
    background: rgba(12,17,24,.97);
    box-shadow: 0 18px 54px rgba(0,0,0,.42);
    color: #f5f7fb;
    text-align: left;
    align-items: center;
    justify-content: stretch;
}
.ps-language-translation-overlay-card strong {
    grid-area: title;
    font-size: 15px;
    line-height: 1.3;
}
.ps-language-translation-overlay-card > span:not(.ps-language-translation-spinner) {
    grid-area: message;
    color: #b9c2cf;
    font-size: 12px;
    line-height: 1.45;
}
.ps-language-translation-spinner {
    grid-area: spinner;
    width: 28px;
    height: 28px;
    border: 3px solid rgba(255,255,255,.22);
    border-top-color: currentColor;
    border-radius: 50%;
    animation: ps-language-translation-spin .75s linear infinite;
}
body.ps-language-translation-busy {
    overflow: hidden !important;
    overscroll-behavior: none;
}
@keyframes ps-language-translation-spin {
    to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
    .ps-language-translation-overlay { transition: none; }
    .ps-language-translation-spinner { animation-duration: 1.8s; }
}

@media (max-width: 640px) {
    .ps-language-drawer-panel {
        width: 204px;
        max-width: calc(100vw - 50px);
    }
    .ps-language-selector {
        flex-basis: 204px;
        min-width: 204px;
        padding: 10px;
        flex-wrap: wrap;
    }
    .ps-language-selector label {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0,0,0,0);
        white-space: nowrap;
    }
    .ps-language-selector select {
        min-width: 150px;
        max-width: 184px;
    }
    .ps-language-drawer-toggle {
        min-height: 104px;
    }
}

/* v0.23.93 — Pro-only general attachment toolbar entitlement. */
.ps-rich-pro-tool-wrap {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding-bottom: 0;
}

.ps-rich-tool-pro-disabled,
.ps-rich-tool-pro-disabled:disabled {
    color: rgba(226, 232, 240, .34);
    background: transparent;
    cursor: not-allowed;
    opacity: .72;
}

.ps-rich-tool-pro-disabled:hover,
.ps-rich-tool-pro-disabled:focus-visible {
    color: rgba(226, 232, 240, .34);
    background: transparent;
    box-shadow: none;
}

.ps-rich-pro-only-pill {
    display: none !important;
}

@media (max-width: 520px) {
    .ps-rich-pro-tool-wrap {
        min-width: 0;
    }
}

/* v0.23.96 local open-source translation runtime + AlmaLinux Python bootstrap */
.ps-translation-shell { min-width: 0; }
.ps-translation-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid rgba(255,255,255,.08);
}
.ps-translation-status {
    color: rgba(232,237,245,.64);
    font-size: 12px;
    line-height: 1.4;
}
.ps-translation-status.is-error { color: #ff9b9b; }
.ps-translation-result[dir="rtl"] { direction: rtl; text-align: right; }
.ps-translation-result .ps-code-block,
.ps-translation-result pre,
.ps-translation-result code { direction: ltr; text-align: left; }


/* v0.23.98 — intentional RTL presentation for translated Community UI only. */
.ps-ui-rtl-text,
.ps-ui-rtl-control {
    unicode-bidi: isolate;
}

.ps-interface-rtl-ready .ps-ui-rtl-text,
.ps-interface-rtl-ready .ps-ui-rtl-control {
    direction: rtl;
}

/* Keep the floating language + Back to Top pair in its established physical
   order. Only the translated label itself adopts RTL direction. */
.ps-interface-rtl-ready .ps-language-drawer {
    direction: ltr;
}
.ps-interface-rtl-ready .ps-language-selector [data-ps-ui-key="ui_language"] {
    direction: rtl;
    text-align: right;
}

/* Account navigation is translated, so its text alignment, accordion
   affordances, and directional arrows mirror intentionally for Arabic/Hebrew.
   Account identity values above it are deliberately not included. */
.ps-interface-rtl-ready .ps-account-menu-toggle.ps-ui-rtl-control,
.ps-interface-rtl-ready .ps-account-nav-group-toggle.ps-ui-rtl-control,
.ps-interface-rtl-ready .ps-account-nav-group-links a.ps-ui-rtl-control,
.ps-interface-rtl-ready .ps-account-public-link.ps-ui-rtl-control,
.ps-interface-rtl-ready .ps-account-logout-link.ps-ui-rtl-control {
    direction: rtl;
    text-align: right;
}
.ps-interface-rtl-ready .ps-account-nav-group-toggle.ps-ui-rtl-control[aria-expanded="false"] .ps-account-nav-group-chevron {
    transform: rotate(90deg);
}
.ps-account-public-link .ps-account-link-arrow {
    display: inline-block;
}
.ps-interface-rtl-ready .ps-account-public-link.ps-ui-rtl-control .ps-account-link-arrow {
    transform: scaleX(-1);
}

/* Navigation links tagged by the safe translated-navigation mapper receive
   RTL text direction without changing document direction or unrelated theme UI. */
.ps-interface-rtl-ready a.ps-ui-rtl-control {
    direction: rtl;
    unicode-bidi: isolate;
}

/* Translated Arabic/Hebrew prose flows RTL, but technical/code fragments keep
   their established LTR presentation. Original source content is untouched. */
.ps-translation-result[dir="rtl"] {
    direction: rtl;
    text-align: right;
    unicode-bidi: isolate;
}
.ps-translation-result[dir="rtl"] .ps-code-block,
.ps-translation-result[dir="rtl"] pre,
.ps-translation-result[dir="rtl"] code,
.ps-translation-result[dir="rtl"] kbd,
.ps-translation-result[dir="rtl"] samp {
    direction: ltr;
    text-align: left;
    unicode-bidi: isolate;
}

/* v0.23.104.4 — Pro Membership plan cards and live Thread Trash */
a.ps-pro-only-pill {
    text-decoration: none;
}
a.ps-pro-only-pill:hover,
a.ps-pro-only-pill:focus-visible {
    text-decoration: underline;
}
form.ps-pro-trash-control {
    margin: 0;
}
.ps-pro-plan-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin: 1rem 0;
}
.ps-pro-plan-card {
    margin-bottom: 0;
}
.ps-pro-plan-price {
    margin: .6rem 0 1rem;
    font-size: 1.15rem;
    font-weight: 800;
}
@media (max-width: 680px) {
    .ps-pro-plan-grid {
        grid-template-columns: 1fr;
    }
}

/* v0.23.104.10 — paint-safe Language drawer memory + expanded achievement families. */
.ps-language-drawer.is-state-pending .ps-language-drawer-panel {
    width: 0;
    opacity: 0;
    visibility: hidden;
    border-color: transparent;
    transition: none !important;
}
html.ps-language-drawer-pref-open .ps-language-drawer.is-state-pending .ps-language-drawer-panel {
    width: 230px;
    opacity: 1;
    visibility: visible;
    border-color: rgba(255,255,255,.12);
}
.ps-language-drawer.is-state-pending .ps-language-drawer-toggle,
html.ps-language-drawer-pref-closed .ps-language-drawer.is-state-pending .ps-language-drawer-toggle {
    border-radius: 12px 0 0 12px;
}
html.ps-language-drawer-pref-open .ps-language-drawer.is-state-pending .ps-language-drawer-toggle {
    border-radius: 0;
}
.ps-language-drawer.is-state-pending .ps-language-drawer-chevron,
html.ps-language-drawer-pref-closed .ps-language-drawer.is-state-pending .ps-language-drawer-chevron {
    transform: rotate(0deg);
    transition: none !important;
}
html.ps-language-drawer-pref-open .ps-language-drawer.is-state-pending .ps-language-drawer-chevron {
    transform: rotate(180deg);
}

.ps-member-badge,
.ps-badge-progress-item {
    --ps-badge-accent: rgba(234,179,8,.72);
    --ps-badge-soft: rgba(234,179,8,.10);
    --ps-badge-icon: rgba(234,179,8,.18);
}
.ps-member-badge {
    border-color: var(--ps-badge-accent);
    background: linear-gradient(135deg, var(--ps-badge-soft), rgba(255,255,255,.015));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
.ps-member-badge .ps-member-badge-icon,
.ps-badge-progress-item .ps-member-badge-icon {
    background: var(--ps-badge-icon);
    border: 1px solid var(--ps-badge-accent);
}
.ps-badge-progress-item.is-earned {
    border-color: var(--ps-badge-accent);
    background: linear-gradient(135deg, var(--ps-badge-soft), rgba(255,255,255,.012));
}

.ps-badge-family-membership {
    --ps-badge-accent: rgba(244,63,94,.72);
    --ps-badge-soft: rgba(190,24,93,.15);
    --ps-badge-icon: rgba(250,204,21,.16);
}
.ps-member-badge.ps-badge-family-membership {
    border-color: rgba(250,204,21,.46);
    background: linear-gradient(135deg, rgba(190,24,93,.20), rgba(250,204,21,.07));
}
.ps-member-badge.ps-badge-slug-pro-member .ps-member-badge-icon,
.ps-badge-progress-item.ps-badge-slug-pro-member .ps-member-badge-icon {
    min-width: 31px;
    padding-inline: 6px;
    color: #fff4b0;
    font-size: .62rem;
    letter-spacing: .04em;
}

.ps-badge-family-contribution {
    --ps-badge-accent: rgba(34,211,238,.55);
    --ps-badge-soft: rgba(8,145,178,.10);
    --ps-badge-icon: rgba(34,211,238,.14);
}
.ps-badge-family-solutions {
    --ps-badge-accent: rgba(52,211,153,.56);
    --ps-badge-soft: rgba(5,150,105,.10);
    --ps-badge-icon: rgba(52,211,153,.14);
}
.ps-badge-family-recognition {
    --ps-badge-accent: rgba(251,191,36,.60);
    --ps-badge-soft: rgba(217,119,6,.11);
    --ps-badge-icon: rgba(251,191,36,.15);
}
.ps-badge-family-expertise {
    --ps-badge-accent: rgba(167,139,250,.64);
    --ps-badge-soft: rgba(124,58,237,.12);
    --ps-badge-icon: rgba(167,139,250,.16);
}
.ps-badge-family-legacy {
    --ps-badge-accent: rgba(125,211,252,.52);
    --ps-badge-soft: rgba(14,116,144,.10);
    --ps-badge-icon: rgba(125,211,252,.14);
}
.ps-badge-family-reputation.ps-badge-tier-bronze {
    --ps-badge-accent: rgba(205,127,50,.66);
    --ps-badge-soft: rgba(146,84,28,.12);
    --ps-badge-icon: rgba(205,127,50,.16);
}
.ps-badge-family-reputation.ps-badge-tier-silver {
    --ps-badge-accent: rgba(203,213,225,.64);
    --ps-badge-soft: rgba(148,163,184,.10);
    --ps-badge-icon: rgba(203,213,225,.15);
}
.ps-badge-family-reputation.ps-badge-tier-gold {
    --ps-badge-accent: rgba(250,204,21,.68);
    --ps-badge-soft: rgba(202,138,4,.11);
    --ps-badge-icon: rgba(250,204,21,.16);
}
.ps-badge-family-reputation.ps-badge-tier-platinum,
.ps-badge-family-solutions.ps-badge-tier-platinum {
    --ps-badge-accent: rgba(192,132,252,.68);
    --ps-badge-soft: rgba(126,34,206,.12);
    --ps-badge-icon: rgba(216,180,254,.17);
}
.ps-badge-progress-item .ps-member-badge-icon {
    min-width: 34px;
    height: 34px;
    font-size: .68rem;
}

/* v0.23.104.11 — ProfoundSyntax Pro experience */
.ps-pro-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.ps-pro-panel-heading>div{display:flex;align-items:center;gap:10px}.ps-pro-panel-heading h3{margin:0}.ps-pro-pill{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:4px 8px;border:1px solid rgba(250,204,21,.5);border-radius:999px;background:linear-gradient(135deg,rgba(190,24,93,.22),rgba(250,204,21,.10));color:#fff1a8;font-size:.66rem;font-weight:800;letter-spacing:.07em;line-height:1;text-transform:uppercase}
.ps-pro-badge-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.ps-pro-badge-choice{display:flex;align-items:center;gap:10px;min-width:0;padding:11px 12px;border:1px solid var(--ps-border,#2b3548);border-radius:11px;background:rgba(255,255,255,.018);cursor:pointer}.ps-pro-badge-choice:has(input:checked){border-color:rgba(239,35,60,.55);background:rgba(239,35,60,.09)}.ps-pro-badge-choice input{flex:0 0 auto}.ps-pro-badge-choice .ps-member-badge{min-width:0}.ps-pro-badge-choice>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ps-pro-banner-preview{overflow:hidden;margin:8px 0 10px;border:1px solid var(--ps-border,#2b3548);border-radius:12px;background:#0d1118;aspect-ratio:4/1}.ps-pro-banner-preview img{width:100%;height:100%;display:block;object-fit:cover}.ps-pro-profile-editor .ps-form-grid{align-items:start}
.ps-member-profile-hero.has-pro-enhanced{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--ps-profile-accent,#ef233c) 48%,var(--ps-border,#2b3548));box-shadow:inset 3px 0 0 var(--ps-profile-accent,#ef233c)}.ps-member-profile-hero.has-pro-enhanced.has-pro-banner{padding-top:112px}.ps-member-profile-hero.has-pro-enhanced.has-pro-banner::before{content:"";position:absolute;inset:0 0 auto;height:96px;background-image:linear-gradient(180deg,rgba(7,10,15,.03),rgba(7,10,15,.72)),var(--ps-profile-banner);background-position:center;background-size:cover;border-bottom:1px solid color-mix(in srgb,var(--ps-profile-accent,#ef233c) 38%,transparent)}.ps-member-profile-hero.has-pro-enhanced>*{position:relative;z-index:1}.ps-pro-featured-badges-shell{margin-top:12px}.ps-pro-featured-label{display:block;margin-bottom:7px;color:var(--ps-muted,#aab3c3);font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.ps-pro-featured-badges{display:flex;flex-wrap:wrap;gap:7px}.ps-pro-featured-badge{box-shadow:0 0 0 1px rgba(255,255,255,.015),0 6px 18px rgba(0,0,0,.12)}
.ps-pro-featured-content{border-color:color-mix(in srgb,var(--ps-profile-accent,#ef233c) 32%,var(--ps-border,#2b3548));background:linear-gradient(145deg,color-mix(in srgb,var(--ps-profile-accent,#ef233c) 7%,transparent),rgba(255,255,255,.012))}.ps-pro-featured-content-kicker{display:flex;align-items:center;gap:9px;margin-bottom:9px;color:var(--ps-muted,#aab3c3);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.ps-pro-featured-content h3{margin-top:0}
.ps-pro-collection-create{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin:14px 0}.ps-pro-collection-create .ps-field{flex:1 1 260px;margin:0}.ps-pro-collection-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 18px}.ps-pro-collection-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--ps-border,#2b3548);border-radius:11px;background:rgba(255,255,255,.018)}.ps-pro-collection-card>div{display:grid;gap:3px}.ps-pro-collection-card small{color:var(--ps-muted,#aab3c3)}.ps-pro-collection-items{display:grid;gap:16px}.ps-pro-collection-assignment-group{display:grid;gap:8px}.ps-pro-collection-assignment-group h4{margin:0}.ps-pro-collection-assignment{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,220px) auto;gap:9px;align-items:center;padding:9px 0;border-top:1px solid rgba(255,255,255,.06)}.ps-pro-collection-assignment a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ps-pro-collection-assignment select{width:100%}
.ps-pro-analytics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:16px 0}.ps-pro-analytics-card{display:grid;gap:4px;padding:14px;border:1px solid var(--ps-border,#2b3548);border-radius:12px;background:linear-gradient(145deg,rgba(239,35,60,.045),rgba(255,255,255,.014))}.ps-pro-analytics-card strong{font-size:1.55rem;line-height:1;color:var(--ps-text,#f5f7fb)}.ps-pro-analytics-card span{color:var(--ps-muted,#aab3c3);font-size:.8rem}.ps-pro-analytics-table-wrap{overflow-x:auto}.ps-pro-analytics-table{width:100%;border-collapse:collapse}.ps-pro-analytics-table th,.ps-pro-analytics-table td{padding:10px 11px;border-bottom:1px solid rgba(255,255,255,.07);text-align:left;vertical-align:top}.ps-pro-analytics-table th{color:var(--ps-muted,#aab3c3);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.ps-pro-analytics-table td:not(:first-child),.ps-pro-analytics-table th:not(:first-child){white-space:nowrap}.ps-pro-only-panel{border-color:rgba(250,204,21,.23);background:linear-gradient(145deg,rgba(190,24,93,.05),rgba(250,204,21,.025))}
@media(max-width:760px){.ps-pro-badge-choice-grid,.ps-pro-collection-cards{grid-template-columns:1fr}.ps-pro-analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ps-pro-collection-assignment{grid-template-columns:1fr}.ps-pro-collection-assignment a{white-space:normal}.ps-member-profile-hero.has-pro-enhanced.has-pro-banner{padding-top:92px}.ps-member-profile-hero.has-pro-enhanced.has-pro-banner::before{height:78px}}
@media(max-width:430px){.ps-pro-analytics-grid{grid-template-columns:1fr}}

/* v0.23.104.19 — Pro profile banner clarity + non-member Pro CTA contrast */
.ps-member-profile-hero.has-pro-enhanced.has-pro-banner {
    background: #11151e;
}
.ps-member-profile-hero.has-pro-enhanced.has-pro-banner::before {
    background-image: var(--ps-profile-banner);
    background-position: var(--ps-profile-banner-x, 50%) var(--ps-profile-banner-y, 50%);
    background-size: cover;
    background-repeat: no-repeat;
}
.ps-pro-only-panel .ps-community-button,
.ps-pro-only-panel .ps-community-button:visited,
.ps-pro-only-panel .ps-community-button:hover,
.ps-pro-only-panel .ps-community-button:focus,
.ps-pro-only-panel .ps-community-button:focus-visible {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}


/* v0.23.104.21 — reliable draggable Pro profile banner focal positioning */
.ps-pro-banner-preview{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;outline:none;background-size:cover;background-repeat:no-repeat;background-position:50% 50%;overscroll-behavior:contain}
.ps-pro-banner-preview:active,.ps-pro-banner-preview.is-dragging{cursor:grabbing}
.ps-pro-banner-preview:focus-visible{box-shadow:0 0 0 3px rgba(239,35,60,.25);border-color:var(--ps-accent,#ef233c)}
.ps-pro-banner-drag-hint{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(5,8,12,.78);color:#fff;font-size:.72rem;font-weight:700;line-height:1;box-shadow:0 4px 14px rgba(0,0,0,.28);pointer-events:none;opacity:.92}
.ps-pro-banner-preview:hover .ps-pro-banner-drag-hint,.ps-pro-banner-preview:focus-visible .ps-pro-banner-drag-hint,.ps-pro-banner-preview.is-dragging .ps-pro-banner-drag-hint{opacity:1}
.ps-pro-banner-position-actions{display:flex;justify-content:flex-end;margin:-2px 0 8px}
.ps-pro-banner-position-actions [hidden]{display:none!important}
@media (max-width:760px){.ps-pro-banner-drag-hint{bottom:7px;font-size:.68rem}}

/* v0.23.104.22 — Pro profile banner covers the complete hero */
.ps-member-profile-hero.has-pro-enhanced.has-pro-banner {
    background: transparent !important;
    padding-top: 1.3rem;
    isolation: isolate;
}
.ps-member-profile-hero.has-pro-enhanced.has-pro-banner::before {
    inset: 0;
    height: auto;
    z-index: 0;
    border-bottom: 0;
    background-image: var(--ps-profile-banner);
    background-position: var(--ps-profile-banner-x, 50%) var(--ps-profile-banner-y, 50%);
    background-size: cover;
    background-repeat: no-repeat;
}
.ps-member-profile-hero.has-pro-enhanced.has-pro-banner > * {
    background: transparent;
}
.ps-member-profile-hero.has-pro-enhanced.has-pro-banner .ps-member-profile-intro,
.ps-member-profile-hero.has-pro-enhanced.has-pro-banner .ps-member-profile-intro h1,
.ps-member-profile-hero.has-pro-enhanced.has-pro-banner .ps-member-profile-intro p,
.ps-member-profile-hero.has-pro-enhanced.has-pro-banner .ps-member-profile-intro a,
.ps-member-profile-hero.has-pro-enhanced.has-pro-banner .ps-pro-featured-label {
    text-shadow: 0 1px 3px rgba(0,0,0,.96), 0 0 9px rgba(0,0,0,.72);
}
@media (max-width: 760px) {
    .ps-member-profile-hero.has-pro-enhanced.has-pro-banner {
        padding-top: 1.3rem;
    }
}


/* v0.23.104.24 — compact public profile utility navigation */
.ps-profile-utility-nav {
    padding: .9rem;
}

.ps-profile-utility-nav h2 {
    margin: 0 0 .65rem;
    font-size: .95rem;
}

.ps-profile-utility-links {
    display: grid;
    gap: .38rem;
}

.ps-profile-utility-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 34px;
    padding: .45rem .6rem;
    border: 1px solid rgba(148, 163, 184, .16);
    border-radius: 8px;
    background: rgba(15, 23, 42, .26);
    color: var(--ps-text, #f8fafc);
    font-size: .82rem;
    line-height: 1.2;
    text-decoration: none;
    transition: border-color .16s ease, background-color .16s ease, color .16s ease;
}

.ps-profile-utility-links a::after {
    content: '→';
    margin-left: .55rem;
    color: rgba(248, 250, 252, .55);
}

.ps-profile-utility-links a:hover,
.ps-profile-utility-links a:focus-visible {
    border-color: rgba(239, 35, 60, .48);
    background: rgba(239, 35, 60, .10);
    color: #fff;
}

@media (max-width: 980px) {
    .ps-profile-utility-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .ps-profile-utility-links {
        grid-template-columns: 1fr;
    }
}

/* v0.23.105.13 — existing submit composer with member-created Community context. */
.ps-submit-community-context {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin: 0 0 20px;
    padding: 18px 20px;
    border: 1px solid rgba(229,43,67,.28);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(229,43,67,.10), rgba(17,23,28,.96) 52%);
}
.ps-submit-community-context > div:first-child { min-width: 0; }
.ps-submit-community-kicker {
    display: block;
    margin-bottom: 5px;
    color: #ff7184;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.ps-submit-community-context h2 { margin: 0; color: #f2f6f8; font-size: 22px; overflow-wrap: anywhere; }
.ps-submit-community-context p { margin: 8px 0 0; color: #9eabb4; line-height: 1.55; }
.ps-submit-community-context-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 8px 12px; }
.ps-submit-community-context-actions a { color: #ff8a9a; font-weight: 800; white-space: nowrap; }
@media (max-width: 720px) {
    .ps-submit-community-context { flex-direction: column; }
    .ps-submit-community-context-actions { width: 100%; }
}


/* v0.23.105.22 — wide responsive Explore Topics + Communities page shells. */
body.ps-community-wide-page .ps-content-narrow {
    width: min(calc(100% - 36px), var(--ps-container, 1315px));
    max-width: var(--ps-container, 1315px);
}
body.ps-community-wide-page article.ps-page {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}
@media (max-width: 1280px) {
    body.ps-community-wide-page .ps-content-narrow {
        width: min(calc(100% - 28px), var(--ps-container, 1315px));
    }
}
@media (max-width: 1080px) {
    body.ps-topics-directory-page .ps-topic-directory {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 700px) {
    body.ps-community-wide-page .ps-content-narrow {
        width: min(calc(100% - 20px), 100%);
        max-width: none;
    }
    body.ps-topics-directory-page .ps-topic-directory {
        grid-template-columns: 1fr;
    }
}

/* v0.23.105.23 — Community-scoped notification controls */
.ps-notification-item.is-compact {
    flex-direction: column;
    align-items: stretch;
}
.ps-notification-community-actions.is-compact {
    display: flex;
    justify-content: flex-end;
    padding: 0 .95rem .7rem 2.45rem;
}
.ps-notification-community-actions .ps-text-button,
.ps-notification-community-actions.is-compact .ps-text-button {
    font-size: .72rem;
}
.ps-notification-community-controls {
    margin: 0 0 1.1rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(148,163,184,.18);
    border-radius: 12px;
    background: rgba(255,255,255,.02);
}
.ps-notification-community-controls-head h3 {
    margin: 0;
    color: #fff;
}
.ps-notification-community-controls-head p {
    margin: .4rem 0 0;
    color: rgba(203,213,225,.72);
    line-height: 1.55;
}
.ps-notification-community-control-list {
    display: grid;
    gap: .65rem;
    margin-top: .9rem;
}
.ps-notification-community-control-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .75rem .8rem;
    border: 1px solid rgba(148,163,184,.13);
    border-radius: 10px;
    background: rgba(8,12,18,.42);
}
.ps-notification-community-control-row strong,
.ps-notification-community-control-row small {
    display: block;
}
.ps-notification-community-control-row strong { color: #fff; }
.ps-notification-community-control-row small {
    margin-top: .18rem;
    color: rgba(148,163,184,.72);
    font-size: .72rem;
}
.ps-community-notification-toggle { flex: 0 0 auto; }
.ps-notification-community-status {
    min-height: 1.2em;
    margin: .7rem 0 0;
    color: rgba(203,213,225,.72);
    font-size: .78rem;
}
@media (max-width: 620px) {
    .ps-notification-community-control-row {
        align-items: stretch;
        flex-direction: column;
    }
    .ps-community-notification-toggle { width: 100%; }
}

/* Contribution author standing — v0.23.105.25 */
.ps-contribution-status {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    margin-left: .4rem;
    padding: .08rem .45rem;
    border: 1px solid rgba(148,163,184,.22);
    border-radius: 999px;
    background: rgba(148,163,184,.08);
    color: rgba(226,232,240,.82);
    font-size: .68rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    vertical-align: middle;
}
.ps-contribution-status-suspended,
.ps-contribution-status-readonly {
    border-color: rgba(245,158,11,.34);
    background: rgba(245,158,11,.10);
    color: #fbbf24;
}
.ps-contribution-status-banned,
.ps-contribution-status-departed {
    border-color: rgba(239,68,68,.38);
    background: rgba(239,68,68,.11);
    color: #fca5a5;
}
.ps-contribution-status-removed,
.ps-contribution-status-former {
    border-color: rgba(148,163,184,.26);
    background: rgba(148,163,184,.08);
    color: #cbd5e1;
}
@media (max-width: 620px) {
    .ps-contribution-status {
        margin-left: .28rem;
        font-size: .64rem;
    }
}



/* v0.23.139a — shared compact frontend page-return control. */
.ps-context-back,
.ps-context-back:visited {
    position: relative;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border: 1px solid #273142;
    border-radius: 10px;
    background: #0c1119;
    color: #f8fafc;
    text-decoration: none !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .22);
    transition: border-color .14s ease, background .14s ease, color .14s ease, transform .14s ease;
}
.ps-context-back:hover,
.ps-context-back:focus-visible {
    border-color: rgba(214, 37, 59, .82);
    background: #111722;
    color: #fff;
    outline: none;
    transform: translateX(-1px);
}
.ps-context-back:focus-visible {
    box-shadow: 0 0 0 3px rgba(214, 37, 59, .22), 0 8px 18px rgba(0, 0, 0, .22);
}
.ps-context-back__arrow {
    font-size: 1.18rem;
    font-weight: 800;
    line-height: 1;
    transform: translateX(-1px);
}
.ps-context-back__tooltip {
    position: absolute;
    left: calc(100% + 9px);
    top: 50%;
    transform: translate(-3px, -50%);
    z-index: 80;
    padding: 7px 9px;
    border: 1px solid #2a3445;
    border-radius: 8px;
    background: #090d14;
    color: #f8fafc;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .32);
    font-size: .76rem;
    font-weight: 650;
    line-height: 1.25;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .14s ease, transform .14s ease, visibility .14s ease;
}
.ps-context-back:hover .ps-context-back__tooltip,
.ps-context-back:focus-visible .ps-context-back__tooltip {
    opacity: 1;
    visibility: visible;
    transform: translate(0, -50%);
}
@media (prefers-reduced-motion: reduce) {
    .ps-context-back,
    .ps-context-back__tooltip { transition: none; }
}
@media (max-width: 720px) {
    .ps-context-back__tooltip {
        left: 0;
        top: calc(100% + 7px);
        transform: translateY(-3px);
    }
    .ps-context-back:hover .ps-context-back__tooltip,
    .ps-context-back:focus-visible .ps-context-back__tooltip { transform: translateY(0); }
}

/* Community Discussion return navigation — compact arrow v0.23.105.28 */
.ps-single.ps-thread-single {
    position: relative;
}

.ps-community-thread-return {
    position: absolute;
    top: 40px;
    left: -31px;
    z-index: 3;
    margin: 0;
}

.ps-community-thread-return__link,
.ps-community-thread-return__link:visited {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #273142;
    border-radius: 10px;
    background: #0c1119;
    color: #f8fafc;
    text-decoration: none !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .22);
}

.ps-community-thread-return__link:hover,
.ps-community-thread-return__link:focus-visible {
    border-color: rgba(214, 37, 59, .82);
    background: #111722;
    color: #fff;
    outline: none;
}

.ps-community-thread-return__link:focus-visible {
    box-shadow: 0 0 0 3px rgba(214, 37, 59, .22), 0 8px 18px rgba(0, 0, 0, .22);
}

.ps-community-thread-return__arrow {
    font-size: 1.18rem;
    line-height: 1;
    transform: translateX(-1px);
}

.ps-community-thread-return__tooltip {
    position: absolute;
    left: calc(100% + 9px);
    top: 50%;
    transform: translate(-3px, -50%);
    z-index: 5;
    padding: 7px 9px;
    border: 1px solid #2a3445;
    border-radius: 8px;
    background: #090d14;
    color: #f8fafc;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .32);
    font-size: .76rem;
    font-weight: 600;
    line-height: 1.25;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .14s ease, transform .14s ease, visibility .14s ease;
}

.ps-community-thread-return__link:hover .ps-community-thread-return__tooltip,
.ps-community-thread-return__link:focus-visible .ps-community-thread-return__tooltip {
    opacity: 1;
    visibility: visible;
    transform: translate(0, -50%);
}

@media (prefers-reduced-motion: reduce) {
    .ps-community-thread-return__tooltip {
        transition: none;
    }
}

@media (max-width: 1080px) {
    .ps-community-thread-return {
        position: static;
        margin: 0 0 14px;
    }

    .ps-community-thread-return__tooltip {
        left: 0;
        top: calc(100% + 7px);
        transform: translateY(-3px);
    }

    .ps-community-thread-return__link:hover .ps-community-thread-return__tooltip,
    .ps-community-thread-return__link:focus-visible .ps-community-thread-return__tooltip {
        transform: translateY(0);
    }
}

/* v0.23.105.39c — notification placement, Pro banner fallback, plus retained v0.23.105.39b side patch UI. */
.ps-notification-menu-actions,
.ps-notification-heading-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .45rem .75rem;
}
.ps-notification-clear-all { color: #ff9aaa; }
.ps-notification-clear-all:hover,
.ps-notification-clear-all:focus-visible { color: #fff; }

.ps-notification-list-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .55rem .75rem;
    margin: 1.35rem 0 .85rem;
    padding-top: .2rem;
}
.ps-notification-community-controls + .ps-notification-list-toolbar {
    margin-top: 1.4rem;
}

.ps-community-pro-control.is-pro-locked {
    border-color: rgba(250, 204, 21, .2);
    background: rgba(148, 163, 184, .045);
}
.ps-community-pro-control.is-pro-locked input,
.ps-community-pro-control.is-pro-locked output,
.ps-community-pro-control.is-pro-locked small,
.ps-community-pro-control.is-pro-locked .ps-community-appearance-remove {
    opacity: .58;
}
.ps-community-pro-control.is-pro-locked input,
.ps-community-pro-control.is-pro-locked label {
    cursor: not-allowed;
}
.ps-community-pro-control .ps-pro-only-pill {
    margin-left: .35rem;
    opacity: 1;
    vertical-align: middle;
}
.ps-pro-fallback-note {
    padding: .7rem .8rem;
    border: 1px solid rgba(250, 204, 21, .22);
    border-radius: 10px;
    background: rgba(250, 204, 21, .045);
}

.ps-popular-communities-card { padding: 16px; }
.ps-popular-communities-card h2 {
    margin: 0 0 12px;
    color: #f4f7fa;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.ps-popular-communities-list {
    display: grid;
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.ps-popular-community-link {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 7px 5px;
    border-radius: 9px;
    text-decoration: none;
}
.ps-popular-community-link:hover,
.ps-popular-community-link:focus-visible { background: rgba(255,255,255,.045); }
.ps-popular-community-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    overflow: hidden;
    border: 1px solid rgba(148,163,184,.2);
    border-radius: 50%;
    background: rgba(255,255,255,.055);
    color: #fff;
    font-size: .9rem;
    font-weight: 900;
}
.ps-popular-community-icon-image { width: 100%; height: 100%; object-fit: cover; }
.ps-popular-community-copy { min-width: 0; }
.ps-popular-community-copy strong,
.ps-popular-community-copy small { display: block; }
.ps-popular-community-copy strong {
    overflow: hidden;
    color: #eef3f7;
    font-size: .88rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ps-popular-community-copy small {
    margin-top: 2px;
    color: rgba(203,213,225,.64);
    font-size: .7rem;
}
.ps-popular-communities-more {
    display: inline-flex;
    margin-top: 10px;
    color: #ff94a4;
    font-size: .76rem;
    font-weight: 800;
}

.ps-thread-featured-media {
    width: 100%;
    margin-top: 13px;
    overflow: hidden;
    border: 1px solid rgba(148,163,184,.16);
    border-radius: 12px;
    background: #090d12;
}
.ps-thread-featured-image-link { display: block; line-height: 0; }
.ps-thread-featured-image {
    display: block;
    width: 100%;
    max-height: 520px;
    object-fit: contain;
    background: #080b0f;
}
.ps-thread-featured-video-frame {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #05070a;
}
.ps-thread-featured-video-frame iframe,
.ps-thread-featured-video-frame video {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: contain;
}
.ps-thread-featured-video-preview-frame,
.ps-thread-featured-video-preview-frame video {
    cursor: default;
}
.ps-thread-featured-video-preview-frame video,
video[data-ps-feed-video-preview="1"] {
    pointer-events: none !important;
}
.ps-community-space-thread-card .ps-thread-featured-media { margin-top: 14px; }

@media (max-width: 620px) {
    .ps-notification-menu-head { align-items: flex-start; }
    .ps-notification-menu-actions { justify-content: flex-start; }
    .ps-notification-heading-actions { width: 100%; justify-content: flex-start; }
    .ps-notification-heading-actions .ps-community-button { flex: 1 1 150px; }
    .ps-notification-list-toolbar { align-items: stretch; justify-content: stretch; }
    .ps-notification-list-toolbar .ps-community-button { flex: 1 1 150px; }
    .ps-thread-featured-media { border-radius: 9px; }
}

/* v0.23.105.39d — split guest/member homepage sidebar cards. */
.ps-popular-communities-card h2,
.ps-home-recent-posts-card h2 {
    text-transform: none;
    letter-spacing: 0;
    font-size: 1.05rem;
}
.ps-home-recent-posts-card { padding: 16px; }
.ps-home-recent-posts-list {
    display: grid;
    gap: 3px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.ps-home-recent-post-link {
    display: block;
    min-width: 0;
    padding: 9px 7px;
    border-radius: 9px;
    text-decoration: none;
}
.ps-home-recent-post-link:hover,
.ps-home-recent-post-link:focus-visible { background: rgba(255,255,255,.045); }
.ps-home-recent-post-link strong {
    display: -webkit-box;
    overflow: hidden;
    color: #eef3f7;
    font-size: .88rem;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.ps-home-recent-post-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 8px;
    margin-top: 4px;
    color: #7f8a9d;
    font-size: .72rem;
}
.ps-home-recent-posts-empty { margin-top: 0; }

/* v0.23.105.39f — Recent Posts source identity + scalable Community mute controls. */
.ps-home-recent-posts-list {
    gap: 5px;
}
.ps-home-recent-post-item + .ps-home-recent-post-item {
    border-top: 1px solid rgba(148,163,184,.12);
}
.ps-home-recent-post-link {
    display: grid;
    gap: 7px;
    padding: 10px 7px;
}
.ps-home-recent-post-source {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.ps-home-recent-post-source-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    overflow: hidden;
    border: 1px solid rgba(148,163,184,.2);
    border-radius: 50%;
    background: rgba(255,255,255,.06);
    color: #fff;
    font-size: .76rem;
    font-weight: 900;
    line-height: 1;
}
.ps-home-recent-post-source-avatar.is-main-site {
    border-color: rgba(214,37,59,.55);
    background: linear-gradient(145deg, #d6253b, #8f1022);
    color: #fff;
}
.ps-home-recent-post-source-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ps-home-recent-post-source-copy {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 3px 7px;
    min-width: 0;
}
.ps-home-recent-post-source-name {
    overflow: hidden;
    color: #dce4ed;
    font-size: .72rem;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ps-home-recent-post-source-copy time {
    color: #758196;
    font-size: .68rem;
    white-space: nowrap;
}
.ps-home-recent-post-title,
.ps-home-recent-post-preview {
    display: -webkit-box;
    overflow: hidden;
    color: #eef3f7;
    font-size: .88rem;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
/* Supersede the v0.23.105.39d title selector now that the source line also
   contains identity text. */
.ps-home-recent-post-link > strong.ps-home-recent-post-title,
.ps-home-recent-post-link > .ps-home-recent-post-preview {
    display: -webkit-box;
}

.ps-notification-community-control-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-height: 460px;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-gutter: stable;
    padding-right: 3px;
}
.ps-notification-community-control-row {
    align-items: stretch;
    flex-direction: column;
    justify-content: flex-start;
    min-width: 0;
    min-height: 126px;
}
.ps-notification-community-control-row.is-muted {
    border-color: rgba(214,37,59,.34);
    background: rgba(214,37,59,.055);
}
.ps-notification-community-control-identity {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
    min-width: 0;
}
.ps-notification-community-control-identity > div {
    min-width: 0;
}
.ps-notification-community-control-identity strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ps-notification-community-mute-state {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    min-height: 22px;
    padding: 2px 8px;
    border: 1px solid rgba(148,163,184,.2);
    border-radius: 999px;
    background: rgba(148,163,184,.08);
    color: rgba(226,232,240,.76);
    font-size: .67rem;
    font-weight: 800;
    line-height: 1;
}
.ps-notification-community-mute-state.is-muted {
    border-color: rgba(255,130,148,.4);
    background: rgba(214,37,59,.14);
    color: #ffbdc7;
}
.ps-notification-community-control-row .ps-community-notification-toggle {
    width: 100%;
    margin-top: auto;
}
@media (max-width: 760px) {
    .ps-notification-community-control-list {
        grid-template-columns: 1fr;
        max-height: none;
        overflow: visible;
        padding-right: 0;
    }
    .ps-notification-community-control-row {
        min-height: 0;
    }
}
.ps-home-recent-post-item {
    padding: 10px 7px;
    border-radius: 9px;
}
.ps-home-recent-post-item:hover,
.ps-home-recent-post-item:focus-within { background: rgba(255,255,255,.045); }
.ps-home-recent-post-item .ps-home-recent-post-link {
    display: block;
    padding: 0;
    border-radius: 0;
}
.ps-home-recent-post-item .ps-home-recent-post-link:hover,
.ps-home-recent-post-item .ps-home-recent-post-link:focus-visible { background: transparent; }
.ps-home-recent-post-source {
    justify-content: flex-start;
    margin-bottom: 7px;
}
.ps-home-recent-post-source-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    color: inherit;
    text-decoration: none;
}
.ps-home-recent-post-source-link:hover .ps-home-recent-post-source-name,
.ps-home-recent-post-source-link:focus-visible .ps-home-recent-post-source-name { color: #fff; }
.ps-home-recent-post-source > time {
    flex: 0 0 auto;
    color: #758196;
    font-size: .68rem;
    white-space: nowrap;
}


/* v0.23.105.40c — visible Community moderator tool surfaces. */
.ps-moderator-card-tools-link {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 4px 9px;
    border: 1px solid var(--ps-border, #293142);
    border-radius: 999px;
    color: var(--ps-muted, #a5adba);
    font-size: .78rem;
    font-weight: 800;
    text-decoration: none;
}
.ps-moderator-card-tools-link:hover,
.ps-moderator-card-tools-link:focus-visible {
    color: var(--ps-text, #f5f7fb);
    border-color: rgba(96,165,250,.52);
}
.ps-moderator-current-role {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--ps-border, #293142);
    border-radius: 10px;
    background: rgba(96,165,250,.07);
    color: var(--ps-muted, #a5adba);
    font-size: .78rem;
}
.ps-moderator-current-role strong { color: var(--ps-text, #f5f7fb); }
.ps-moderator-tool-note {
    display: block;
    width: 100%;
    color: var(--ps-muted, #a5adba);
    font-size: .78rem;
    line-height: 1.45;
}
.ps-community-media-moderator-actions {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
}
.ps-community-media-moderator-actions form { margin: 0; }


/* v0.23.105.41d — bounded Discussion + Reddit-style feed media. */
.ps-thread-single,
.ps-thread-single .ps-entry-content,
.ps-thread-single .ps-community-media,
.ps-thread-single .ps-media-item,
.ps-thread-single .ps-media-image-grid,
.ps-thread-single .ps-media-image-link,
.ps-thread-single .ps-media-video-frame,
.ps-thread-single .ps-media-local-video,
.ps-post-card-body,
.ps-thread-featured-media,
.ps-thread-featured-image-link,
.ps-thread-featured-video-frame {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

/* Media embedded directly in a saved Discussion body must never escape the Thread card. */
.ps-thread-single .ps-entry-content img,
.ps-thread-single .ps-entry-content video,
.ps-thread-single .ps-entry-content iframe,
.ps-thread-single .ps-entry-content embed,
.ps-thread-single .ps-entry-content object {
    display: block;
    max-width: 100% !important;
    box-sizing: border-box;
}
.ps-thread-single .ps-entry-content img,
.ps-thread-single .ps-entry-content video {
    width: auto;
    height: auto;
    max-height: min(72vh, 760px);
    object-fit: contain;
}
.ps-thread-single .ps-entry-content video {
    width: 100%;
    background: #05080d;
}
.ps-thread-single .ps-entry-content iframe {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9;
    border: 0;
    background: #05080d;
}
.ps-thread-single .ps-entry-content figure,
.ps-thread-single .ps-entry-content .wp-block-image,
.ps-thread-single .ps-entry-content .wp-block-video,
.ps-thread-single .ps-entry-content .wp-block-embed,
.ps-thread-single .ps-entry-content .wp-video,
.ps-thread-single .ps-entry-content .wp-video-shortcode {
    max-width: 100% !important;
    overflow: hidden;
    box-sizing: border-box;
}

/* Canonical Discussion media: preserve aspect ratio and clip every surface to its card. */
.ps-community-media,
.ps-media-image-grid,
.ps-media-video-frame,
.ps-media-local-video {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}
.ps-community-media-image,
.ps-media-local-video video,
.ps-media-video-frame iframe {
    max-width: 100%;
}
.ps-media-local-video video {
    width: 100%;
    height: auto;
    max-height: min(72vh, 760px);
    object-fit: contain;
}

/* Main feed media behaves like a bounded Reddit media stage. */
.ps-thread-featured-media {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    contain: inline-size;
}
.ps-thread-featured-image-link {
    display: flex;
    width: 100%;
    max-width: 100%;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #080b0f;
}
.ps-thread-featured-image {
    display: block;
    width: auto;
    max-width: 100% !important;
    height: auto;
    max-height: min(72vh, 680px);
    object-fit: contain;
    margin: 0 auto;
}
.ps-thread-featured-video-frame {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}
.ps-thread-featured-video-frame iframe,
.ps-thread-featured-video-frame video {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100%;
    object-fit: contain;
}

@media (max-width: 620px) {
    .ps-thread-single .ps-entry-content img,
    .ps-thread-single .ps-entry-content video,
    .ps-thread-featured-image {
        max-height: 70vh;
    }
}


/* v0.23.105.42c — member-visible Community mute/ban details. */
.ps-community-member-restriction-notice {
    display: grid;
    gap: 12px;
}
.ps-community-member-restriction-heading {
    display: grid;
    gap: 5px;
}
.ps-community-member-restriction-heading p,
.ps-community-member-restriction-details p,
.ps-community-member-restriction-back {
    margin: 0;
}
.ps-community-member-restriction-details {
    display: grid;
    gap: 7px;
    padding: 11px 12px;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 10px;
    background: rgba(15, 23, 42, .35);
}
.ps-community-member-restriction-details strong {
    color: inherit;
}
.ps-community-member-restriction-back {
    padding-top: 2px;
}


/* v0.23.105.42e — compact frontend action-button rhythm. Width rules are intentionally untouched. */
body:not(.wp-admin) .ps-button {
    min-height: 26px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
}
body:not(.wp-admin) button.ps-button,
body:not(.wp-admin) a.ps-button,
body:not(.wp-admin) input.ps-button {
    box-sizing: border-box;
}


/* v0.23.105.42z7 — header controls are not compact content-action buttons.
   The Theme owns the header control geometry; keep the legacy compact frontend
   action rhythm from v0.23.105.42e out of Search/Account/Admin/Login/Join. */
body:not(.wp-admin) .ps-site-header .ps-button {
    min-height: 40px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    font-size: .875rem !important;
    line-height: 1.2 !important;
}

/* v0.23.105.42z41 — guest-drawer Email/Login controls are navigation/auth
   controls, not compact content actions. Match the social-login geometry even
   when the global compact .ps-button rule is loaded after the Theme. */
body:not(.wp-admin) .ps-community-drawer .ps-guest-drawer-actions .ps-button,
body:not(.wp-admin) .ps-community-drawer .ps-guest-drawer-actions a.ps-button {
    min-height: 42px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    font-size: .875rem !important;
    line-height: 1.2 !important;
}

/* v0.23.105.42p — archived Discussion state. */
.ps-community-archive-badge {
    display:inline-flex;
    align-items:center;
    border:1px solid currentColor;
    border-radius:999px;
    padding:.15rem .5rem;
    font-size:.72rem;
    font-weight:800;
    line-height:1.2;
}
.ps-community-archive-notice {
    margin:1rem 0;
    padding:1rem 1.1rem;
    border:1px solid currentColor;
    border-radius:12px;
}
.ps-community-archive-notice-heading { display:flex; gap:.65rem; align-items:center; flex-wrap:wrap; margin-bottom:.45rem; }
.ps-community-archive-notice p { margin:.35rem 0; }
.ps-community-archived-read-only { max-width:34rem; font-size:.9rem; line-height:1.4; }

/* v0.23.105.42t — Community-specific custom emoji management + composer picker. */
.ps-community-custom-emoji {
    display: inline-block;
    width: 1.35em;
    height: 1.35em;
    object-fit: contain;
    vertical-align: -0.28em;
    margin: 0 .08em;
}
.ps-community-emojis-panel .ps-community-emoji-form-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 14px;
}
.ps-community-emojis-panel .ps-community-emoji-form-grid .ps-field:last-child { grid-column: 1 / -1; }
/* v0.23.168a — keep paired Emoji fields top-aligned even when only one field has helper text. */
.ps-community-emojis-panel .ps-community-emoji-form-grid > .ps-field {
    align-content: start;
    align-self: start;
}
.ps-community-emojis-panel .ps-community-emoji-form-grid > .ps-field > span:first-child {
    align-self: start;
}
.ps-community-emoji-summary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.ps-community-emoji-summary img,
.ps-community-emoji-preview img {
    object-fit: contain;
    border-radius: 6px;
}
.ps-community-emoji-summary strong { white-space: nowrap; }
.ps-community-emoji-summary span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ps-community-emoji-preview {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}
.ps-community-emoji-card.is-retired { opacity: .82; }
.ps-rich-composer { position: relative; }
.ps-community-emoji-editor {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: -0.28em;
    margin: 0 .08em;
}
.ps-community-emoji-editor img {
    width: 1.35em;
    height: 1.35em;
    object-fit: contain;
    pointer-events: none;
}
.ps-community-emoji-picker {
    position: fixed;
    z-index: 100120;
    width: min(420px, calc(100vw - 24px));
    max-height: none;
    overflow: hidden;
    padding: 10px;
    background: var(--ps-surface, #fff);
    color: inherit;
    border: 1px solid rgba(127,127,127,.34);
    border-radius: 12px;
    box-shadow: 0 20px 56px rgba(0,0,0,.34);
    isolation: isolate;
}
.ps-community-emoji-picker.is-open { display: block; }
.ps-community-emoji-picker-search {
    width: 100%;
    margin: 0 0 10px;
}
.ps-community-emoji-picker-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(78px, 1fr));
    gap: 7px;
    max-height: min(210px, 34vh);
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    padding-right: 3px;
}
.ps-community-emoji-picker-item {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-height: 64px;
    padding: 6px;
    border: 1px solid rgba(127,127,127,.22);
    border-radius: 8px;
    background: transparent;
    color: inherit;
    cursor: pointer;
}
.ps-community-emoji-picker-item:hover,
.ps-community-emoji-picker-item:focus-visible { background: rgba(127,127,127,.12); }
.ps-community-emoji-picker-item img { width: 28px; height: 28px; object-fit: contain; }
.ps-community-emoji-picker-item span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.ps-community-emoji-picker-item small { font-size: 9px; opacity: .72; line-height: 1; }
.ps-community-emoji-picker-empty { margin: 10px 0 0; }
@media (max-width: 640px) {
    .ps-community-emojis-panel .ps-community-emoji-form-grid { grid-template-columns: 1fr; }
    .ps-community-emojis-panel .ps-community-emoji-form-grid .ps-field:last-child { grid-column: auto; }
    .ps-community-emoji-picker { width: calc(100vw - 16px); max-height: none; }
    .ps-community-emoji-picker-grid { grid-template-columns: repeat(auto-fill, minmax(72px, 1fr)); max-height: min(180px, 32vh); }
}

/* v0.23.105.42u — portal emoji picker + server-rendered composer preview. */
.ps-community-emoji-delete-panel { margin-top: 14px; }
.ps-community-emoji-delete-panel > summary { cursor: pointer; font-weight: 700; }
.ps-community-emoji-delete-form { margin-top: 12px; }
.ps-community-emojis-delete-all { margin-top: 18px; }

.ps-composer-preview-overlay {
    position: fixed;
    inset: 0;
    z-index: 100300;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(3,8,15,.72);
    backdrop-filter: blur(5px);
}
.ps-composer-preview-dialog {
    width: min(920px, 100%);
    max-height: min(88vh, 960px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(127,127,127,.34);
    border-radius: 16px;
    background: var(--ps-surface, #10141b);
    color: inherit;
    box-shadow: 0 28px 90px rgba(0,0,0,.5);
}
.ps-composer-preview-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 22px 16px;
    border-bottom: 1px solid rgba(127,127,127,.22);
}
.ps-composer-preview-header h2 { margin: 0 0 5px; font-size: clamp(20px,2.2vw,28px); }
.ps-composer-preview-header p { margin: 0; opacity: .78; }
.ps-composer-preview-close {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(127,127,127,.3);
    border-radius: 999px;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font-size: 20px;
}
.ps-composer-preview-body { overflow: auto; padding: 22px; }
.ps-composer-preview-post {
    padding: 20px;
    border: 1px solid rgba(127,127,127,.24);
    border-radius: 12px;
    background: rgba(127,127,127,.045);
}
.ps-composer-preview-post h3 { margin: 0 0 16px; font-size: clamp(19px,2vw,25px); }
.ps-composer-preview-rendered > :first-child { margin-top: 0; }
.ps-composer-preview-rendered > :last-child { margin-bottom: 0; }
.ps-composer-preview-rendered .ps-community-custom-emoji { vertical-align: -0.25em; }
.ps-composer-preview-status { margin: 0; padding: 26px; text-align: center; opacity: .84; }
.ps-composer-preview-status.is-error { color: #ff8f8f; }
.ps-composer-preview-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 22px;
    border-top: 1px solid rgba(127,127,127,.22);
}
.ps-composer-preview-question { margin: 0; font-weight: 700; }
.ps-composer-preview-actions { display: flex; gap: 10px; margin-left: auto; }
.ps-composer-preview-actions .ps-community-button:disabled,
.ps-composer-preview-actions .ps-button:disabled {
    opacity: .42;
    cursor: not-allowed;
    filter: saturate(.35);
    box-shadow: none;
    pointer-events: none;
}
.ps-composer-preview-overlay[data-ps-preview-state="loading"] .ps-composer-preview-actions .ps-community-button:disabled,
.ps-composer-preview-overlay[data-ps-preview-state="loading"] .ps-composer-preview-actions .ps-button:disabled {
    transform: none;
}
.ps-composer-preview-submit-hint {
    flex: 1 1 100%;
    margin: 8px 0 0;
    font-size: .9rem;
    line-height: 1.45;
    opacity: .78;
}
body.ps-composer-preview-open { overflow: hidden; }
@media (max-width: 640px) {
    .ps-composer-preview-overlay { padding: 10px; align-items: flex-end; }
    .ps-composer-preview-dialog { max-height: 94vh; border-radius: 14px 14px 0 0; }
    .ps-composer-preview-header, .ps-composer-preview-body, .ps-composer-preview-footer { padding-left: 15px; padding-right: 15px; }
    .ps-composer-preview-footer { align-items: stretch; flex-direction: column; }
    .ps-composer-preview-actions { width: 100%; margin: 0; }
    .ps-composer-preview-actions .ps-community-button,
    .ps-composer-preview-actions .ps-button { flex: 1 1 0; }
}
.ps-composer-preview-media {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid rgba(127,127,127,.2);
}
.ps-composer-preview-media .ps-rich-media-tray {
    margin: 0;
}
.ps-composer-preview-media .ps-rich-media-chip {
    pointer-events: none;
}
.ps-community-emoji-picker[hidden],
.ps-composer-preview-overlay[hidden] { display: none !important; }

/* v0.23.105.42z — owner-feature Pro entitlement locked states. */
.ps-community-entitlement-locked {
    display: grid;
    gap: 8px;
    margin: 0 0 18px;
    padding: 16px 18px;
    border: 1px solid rgba(245, 158, 11, .38);
    border-radius: 12px;
    background: rgba(245, 158, 11, .08);
}
.ps-community-entitlement-locked h2,
.ps-community-entitlement-locked p {
    margin: 0;
}
.ps-community-entitlement-locked h2 {
    font-size: clamp(17px, 1.8vw, 21px);
    line-height: 1.25;
}
.ps-community-entitlement-locked p {
    line-height: 1.55;
}
.ps-community-entitlement-inline {
    display: inline-block;
    margin-left: 8px;
    font-size: .85em;
    opacity: .78;
}
@media (max-width: 640px) {
    .ps-community-entitlement-locked {
        padding: 14px;
    }
    .ps-community-entitlement-inline {
        display: block;
        margin: 6px 0 0;
    }
}

/* v0.23.105.42z2 — clear locked Emoji-tool symbol. */
.ps-rich-emoji-tool.ps-rich-tool-pro-disabled .ps-rich-locked-symbol {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1em;
    font-size: 17px;
    line-height: 1;
    font-weight: 700;
}


/* v0.23.105.42z11 — required Sensitive Change Verification modal. */
.ps-sensitive-change-overlay {
    position: fixed;
    inset: 0;
    z-index: 100060;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(2, 6, 12, .76);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}
.ps-sensitive-change-dialog {
    width: min(560px, 100%);
    max-height: min(760px, calc(100vh - 48px));
    overflow: auto;
    border: 1px solid var(--ps-border, rgba(148,163,184,.28));
    border-radius: 14px;
    background: var(--ps-surface, #111827);
    box-shadow: 0 24px 70px rgba(0,0,0,.5);
    padding: 22px;
    color: var(--ps-text, #f8fafc);
}
.ps-sensitive-change-dialog-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}
.ps-sensitive-change-dialog h3 {
    margin: 2px 0 0;
    font-size: clamp(1.3rem, 2vw, 1.65rem);
}
.ps-sensitive-change-dialog > p {
    margin: 0 0 16px;
    color: var(--ps-muted, #cbd5e1);
}
.ps-sensitive-change-form {
    margin-top: 16px;
}
.ps-sensitive-change-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-top: 16px;
}
.ps-sensitive-change-actions .ps-community-button {
    min-width: 0;
}
body.ps-sensitive-change-modal-open {
    overflow: hidden;
}
@media (max-width: 600px) {
    .ps-sensitive-change-overlay {
        align-items: end;
        padding: 10px;
    }
    .ps-sensitive-change-dialog {
        width: 100%;
        max-height: calc(100vh - 20px);
        border-radius: 14px 14px 10px 10px;
        padding: 18px 16px;
    }
    .ps-sensitive-change-actions {
        align-items: stretch;
        flex-direction: column;
    }
    .ps-sensitive-change-actions .ps-community-button,
    .ps-sensitive-change-actions a.ps-community-button {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}
@media (prefers-reduced-motion: reduce) {
    .ps-sensitive-change-overlay,
    .ps-sensitive-change-dialog {
        scroll-behavior: auto;
    }
}


/* v0.23.105.42z34 — paid members do not need Pro Only advertising pills. */
.ps-current-user-pro .ps-pro-only-pill { display: none !important; }

/* v0.23.105.42z39 — standardize promotional Pro pills and hide them from
   members who already have an active Pro entitlement. Membership badges such
   as .ps-pro-badge are intentionally not affected. */
.ps-pro-only-pill,
.ps-pro-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 3px 8px;
    border: 1px solid rgba(230, 179, 56, .62);
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(102, 76, 12, .38), rgba(62, 46, 8, .28));
    color: #ffe17a;
    box-shadow: inset 0 1px 0 rgba(255, 238, 163, .06);
    font-size: .64rem;
    font-weight: 850;
    letter-spacing: .055em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}
a.ps-pro-only-pill {
    color: #ffe17a;
    text-decoration: none;
}
a.ps-pro-only-pill:hover,
a.ps-pro-only-pill:focus-visible {
    border-color: rgba(255, 214, 94, .85);
    background: linear-gradient(180deg, rgba(126, 94, 14, .46), rgba(77, 56, 8, .34));
    color: #fff0ad;
    text-decoration: none;
}
.ps-current-user-pro .ps-pro-only-pill,
.ps-current-user-pro .ps-pro-pill {
    display: none !important;
}

/* Widget wrappers use the Theme's normal ps-card/ps-widget shell. These small
   adjustments keep the reusable plugin widgets visually identical to the
   equivalent native sidebar cards. */
.ps-community-recent-posts-widget.ps-home-recent-posts-card {
    padding: 16px;
}
.ps-legal-links-widget .ps-legal-links {
    margin: 0;
}

/* v0.23.105.42z40 — cleanup pass: directory privacy, tier badges, login launchpad,
   moderation controls, and Blog-only widgets. */
.ps-members-filters {
    grid-template-columns: minmax(260px, 1.5fr) repeat(3, minmax(140px, .8fr)) auto;
}

.ps-access-tier-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .035em;
    line-height: 1;
    white-space: nowrap;
    vertical-align: middle;
}
.ps-access-tier-pill-pro {
    border: 1px solid rgba(230, 179, 56, .68);
    background: linear-gradient(180deg, rgba(102, 76, 12, .4), rgba(62, 46, 8, .3));
    color: #ffe17a;
    box-shadow: inset 0 1px 0 rgba(255, 238, 163, .06);
}

.ps-signed-in-launchpad {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, .72fr);
    gap: 28px;
    width: min(100%, var(--ps-container, 1315px));
    margin: 0 auto;
    padding: clamp(26px, 4vw, 46px);
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 18px;
    background:
        radial-gradient(circle at 9% 34%, rgba(229, 37, 65, .14), transparent 27%),
        linear-gradient(135deg, rgba(17, 23, 34, .97), rgba(10, 14, 21, .98));
    box-shadow: 0 26px 72px rgba(0,0,0,.22);
}
.ps-signed-in-main { min-width: 0; }
.ps-signed-in-intro { display: flex; align-items: center; gap: 20px; }
.ps-signed-in-avatar-wrap { position: relative; flex: 0 0 auto; }
.ps-signed-in-avatar { display: block; width: 92px; height: 92px; border: 3px solid rgba(229,37,65,.42); border-radius: 50%; box-shadow: 0 0 0 9px rgba(229,37,65,.07), 0 0 34px rgba(229,37,65,.22); }
.ps-signed-in-presence { position: absolute; right: 2px; bottom: 7px; width: 16px; height: 16px; border: 3px solid #111722; border-radius: 50%; background: #31d67b; box-shadow: 0 0 14px rgba(49,214,123,.44); }
.ps-signed-in-copy h1 { margin: 4px 0 5px; font-size: clamp(2rem, 4vw, 3.45rem); line-height: 1.02; letter-spacing: -.045em; color: #f7f9fc; }
.ps-signed-in-copy h2 { margin: 0 0 8px; font-size: 1.1rem; color: #f2f5fa; }
.ps-signed-in-copy p { margin: 0; max-width: 680px; color: #aeb9ca; line-height: 1.6; }
.ps-signed-in-continue { width: min(100%, 420px); min-height: 48px; margin-top: 24px; justify-content: space-between; padding-inline: 18px; }
.ps-signed-in-shortcuts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.ps-signed-in-shortcut { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 46px; padding: 9px 12px; border: 1px solid rgba(148,163,184,.24); border-radius: 10px; background: rgba(10,15,24,.68); color: #e8edf5; font-weight: 750; text-decoration: none; transition: border-color .15s ease, background .15s ease; }
.ps-signed-in-shortcut:hover, .ps-signed-in-shortcut:focus-visible { border-color: rgba(229,37,65,.62); background: rgba(229,37,65,.08); color: #fff; }
.ps-signed-in-logout { margin: 16px 0 0; color: #7f8b9f; font-size: .86rem; }
.ps-signed-in-logout a { color: #ff8c9b; }
.ps-session-status-panel { overflow: hidden; align-self: stretch; border: 1px solid rgba(148,163,184,.24); border-radius: 14px; background: #080b10; box-shadow: 0 18px 48px rgba(0,0,0,.28); }
.ps-session-window-bar { display: flex; align-items: center; gap: 7px; min-height: 42px; padding: 0 14px; border-bottom: 1px solid rgba(148,163,184,.18); background: #111722; }
.ps-session-window-bar > span { width: 9px; height: 9px; border-radius: 50%; background: #39445a; }
.ps-session-window-bar > span:first-child { background: #e94a5d; }
.ps-session-window-bar strong { margin-left: auto; padding: 4px 8px; border: 1px solid rgba(49,214,123,.25); border-radius: 999px; background: rgba(49,214,123,.1); color: #65e9a4; font-size: .68rem; }
.ps-session-status-panel pre { overflow-x: auto; margin: 0; padding: 26px 24px; border: 0; background: transparent; font-size: .86rem; line-height: 1.75; }
.ps-session-comment { color: #6f7d91; }
.ps-session-key { color: #ff6f86; }
.ps-session-value { color: #78e9c0; }

.ps-moderation-clear-row { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin: 12px 0 18px; }
.ps-moderation-clear-row p { margin: 0; max-width: 720px; color: rgba(226,232,240,.66); font-size: .8rem; line-height: 1.4; }
.ps-moderation-clear-row form { flex: 0 0 auto; }

.ps-blog-search-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.ps-blog-search-form input[type="search"] { min-width: 0; min-height: 42px; padding: 9px 11px; border: 1px solid rgba(148,163,184,.24); border-radius: 10px; background: #0b1018; color: #f4f7fb; }
.ps-blog-search-form .ps-community-button { min-height: 42px; padding-inline: 13px; }
.ps-blog-recent-list { display: grid; gap: 8px; }
.ps-blog-recent-item { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 10px; align-items: center; padding: 7px; border: 1px solid transparent; border-radius: 10px; color: inherit; text-decoration: none; transition: border-color .15s ease, background .15s ease; }
.ps-blog-recent-item:hover, .ps-blog-recent-item:focus-visible { border-color: rgba(148,163,184,.22); background: rgba(255,255,255,.025); }
.ps-blog-recent-thumb { display: flex; align-items: center; justify-content: center; width: 58px; aspect-ratio: 1.2 / 1; border-radius: 8px; background-position: center; background-size: cover; background-color: #0a0f17; color: #ff6f86; font-weight: 900; }
.ps-blog-recent-copy { min-width: 0; }
.ps-blog-recent-copy strong { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: #eef2f8; font-size: .83rem; line-height: 1.28; }
.ps-blog-recent-copy small { display: block; margin-top: 4px; color: #78869a; font-size: .68rem; line-height: 1.25; }
.ps-pro-upsell-widget { position: relative; overflow: hidden; border-color: rgba(230,179,56,.28) !important; background: radial-gradient(circle at 100% 0, rgba(230,179,56,.1), transparent 46%), linear-gradient(145deg, rgba(24,22,18,.96), rgba(15,18,25,.98)) !important; }
.ps-pro-upsell-heading { display: flex; align-items: center; gap: 9px; }
.ps-pro-upsell-heading h3 { margin: 0; color: #f7f2df; font-size: 1rem; }
.ps-pro-upsell-widget p { margin: 10px 0 14px; color: #aeb5c1; font-size: .82rem; line-height: 1.5; }
.ps-pro-upsell-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 12px; border-top: 1px solid rgba(230,179,56,.2); color: #ffe17a; font-weight: 800; text-decoration: none; }
.ps-pro-upsell-link:hover, .ps-pro-upsell-link:focus-visible { color: #fff0ad; }

@media (max-width: 900px) {
    .ps-signed-in-launchpad { grid-template-columns: 1fr; }
    .ps-session-status-panel { min-height: 0; }
}
@media (max-width: 600px) {
    .ps-signed-in-launchpad { padding: 22px 16px; }
    .ps-signed-in-intro { align-items: flex-start; flex-direction: column; }
    .ps-signed-in-shortcuts { grid-template-columns: 1fr; }
    .ps-moderation-clear-row { align-items: stretch; flex-direction: column; }
    .ps-moderation-clear-row form .ps-community-button { width: 100%; justify-content: center; }
    .ps-blog-search-form { grid-template-columns: 1fr; }
}


/* v0.23.105.42z42 — Recent Moderation Activity clear control. */
.ps-moderation-audit-controls {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}
.ps-moderation-audit-clear-form { margin: 0; }
.ps-moderation-audit-clear-form .ps-community-button { min-height: 38px; }
@media (max-width: 720px) {
    .ps-moderation-audit-controls {
        width: 100%;
        justify-content: flex-start;
    }
}

/* -------------------------------------------------------------------------
 * v0.23.105.42z44 — Moderation Queue case-layout redesign
 * ---------------------------------------------------------------------- */
.ps-moderation-case-card {
    padding: 0;
    overflow: hidden;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(18, 24, 35, .98), rgba(13, 18, 27, .98));
}

.ps-moderation-case-card > .ps-moderation-case-header {
    margin: 0;
    padding: 18px 20px;
    border-bottom: 1px solid var(--ps-border, #293142);
    background: rgba(255,255,255,.015);
}

.ps-moderation-case-title {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 10px;
    min-width: 0;
}

.ps-moderation-case-title strong {
    min-width: 0;
    font-size: 1rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.ps-moderation-case-id {
    color: var(--ps-muted, #9aa3b1);
    font-size: .82rem;
    font-weight: 700;
}

.ps-moderation-case-summary {
    margin: 16px 20px 0;
    padding: 16px;
    border: 1px solid var(--ps-border, #293142);
    border-radius: 12px;
    background: rgba(255,255,255,.018);
}

.ps-moderation-section-heading {
    display: grid;
    gap: 4px;
    margin-bottom: 12px;
}

.ps-moderation-section-heading h4 {
    margin: 0;
    color: var(--ps-text, #f3f5f8);
    font-size: .92rem;
    font-weight: 800;
}

.ps-moderation-section-heading p {
    margin: 0;
    color: var(--ps-muted, #929baa);
    font-size: .8rem;
    line-height: 1.5;
}

.ps-moderation-summary-meta {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(150px, 1fr) minmax(150px, 1fr);
    gap: 12px;
}

.ps-moderation-summary-meta > div {
    min-width: 0;
    display: grid;
    gap: 4px;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.055);
    border-radius: 9px;
    background: #0b1018;
}

.ps-moderation-meta-label {
    color: var(--ps-muted, #929baa);
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.ps-moderation-summary-meta a,
.ps-moderation-summary-meta span:not(.ps-moderation-meta-label) {
    overflow-wrap: anywhere;
}

.ps-moderation-case-summary .ps-moderation-details {
    margin: 12px 0 0;
    padding: 12px;
    border-left: 3px solid rgba(230,35,61,.65);
    border-radius: 8px;
    background: rgba(230,35,61,.055);
    color: var(--ps-text, #e8ebf0);
    line-height: 1.55;
}

.ps-moderation-existing-notes {
    display: grid;
    gap: 7px;
    margin-top: 12px;
}

.ps-moderation-existing-notes > strong {
    font-size: .8rem;
}

.ps-moderation-existing-notes .ps-moderation-notes {
    margin: 0;
}

.ps-moderation-case-card > .ps-moderation-card-section {
    margin: 16px 20px 0;
    padding: 16px;
    border: 1px solid var(--ps-border, #293142);
    border-radius: 12px;
    background: rgba(255,255,255,.012);
}

.ps-moderation-card-section-decision .ps-moderation-actions-grid {
    margin-top: 0;
}

.ps-moderation-decision-state {
    width: 100%;
    padding: 11px 13px;
    border: 1px solid rgba(255,255,255,.055);
    border-radius: 9px;
    background: #0b1018;
    color: var(--ps-muted, #aab2bf);
    font-size: .84rem;
}

.ps-moderation-note-section .ps-moderation-note-form {
    margin-top: 0;
    align-items: stretch;
}

.ps-moderation-note-section .ps-moderation-note-form textarea {
    width: 100%;
    min-height: 88px;
    resize: vertical;
    box-sizing: border-box;
}

.ps-moderation-note-section .ps-moderation-note-form > .ps-community-button {
    align-self: end;
    min-height: 42px;
    white-space: nowrap;
}

.ps-moderation-action-panels {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 16px 20px 20px;
}

.ps-moderation-action-panels > .ps-moderation-card-section {
    min-width: 0;
    margin: 0;
    padding: 16px;
    border: 1px solid var(--ps-border, #293142);
    border-radius: 12px;
    background: rgba(255,255,255,.012);
}

.ps-moderation-action-panels .ps-moderation-section-heading {
    grid-column: 1 / -1;
}

.ps-moderation-action-panels .ps-moderation-object-actions,
.ps-moderation-action-panels .ps-moderation-user-actions {
    display: block;
}

.ps-moderation-action-row {
    display: grid;
    grid-template-columns: minmax(130px, .8fr) minmax(190px, 1.4fr) auto;
    gap: 10px;
    align-items: center;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 10px 0;
    border-top: 1px solid rgba(255,255,255,.055);
}

.ps-moderation-section-heading + .ps-moderation-action-row {
    border-top: 0;
    padding-top: 2px;
}

.ps-moderation-action-name {
    min-width: 0;
    color: var(--ps-text, #eef1f5);
    font-size: .82rem;
    font-weight: 750;
    line-height: 1.35;
}

.ps-moderation-action-row input[type="text"] {
    width: 100%;
    max-width: none;
    min-width: 0;
    box-sizing: border-box;
}

.ps-moderation-action-row > .ps-community-button {
    min-width: 72px;
    min-height: 38px;
    justify-content: center;
    white-space: nowrap;
}

.ps-moderation-action-row > .ps-danger-button {
    border-color: rgba(239,35,60,.6);
    color: #ff899a;
}

.ps-moderation-duration-field {
    display: grid;
    grid-template-columns: 76px auto;
    gap: 8px;
    align-items: center;
    min-width: 0;
}

.ps-moderation-duration-field input[type="number"] {
    width: 76px;
    min-width: 0;
}

.ps-moderation-duration-field span {
    color: var(--ps-muted, #929baa);
    font-size: .78rem;
}

.ps-moderation-user-actions .ps-moderation-suspend-row {
    grid-template-columns: minmax(100px, .65fr) minmax(115px, .8fr) minmax(180px, 1.3fr) auto;
}

.ps-moderation-move-row .ps-moderation-action-hint {
    min-width: 0;
    color: var(--ps-muted, #929baa);
    font-size: .76rem;
    line-height: 1.45;
}

.ps-moderation-actions-grid {
    gap: 8px;
}

.ps-moderation-actions-grid form {
    margin: 0;
}

.ps-moderation-actions-grid .ps-text-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 7px 12px;
    border: 1px solid var(--ps-border, #30384a);
    border-radius: 9px;
    background: #0b1018;
    color: var(--ps-text, #eef1f5);
    font-weight: 700;
    text-decoration: none;
}

.ps-moderation-actions-grid .ps-text-button:hover,
.ps-moderation-actions-grid .ps-text-button:focus {
    border-color: rgba(230,35,61,.55);
    background: rgba(230,35,61,.08);
    color: #fff;
}

@media (max-width: 1120px) {
    .ps-moderation-summary-meta {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .ps-moderation-summary-meta > :first-child {
        grid-column: 1 / -1;
    }

    .ps-moderation-action-panels {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .ps-moderation-case-card > .ps-moderation-case-header,
    .ps-moderation-case-summary,
    .ps-moderation-case-card > .ps-moderation-card-section,
    .ps-moderation-action-panels {
        margin-left: 12px;
        margin-right: 12px;
    }

    .ps-moderation-case-card > .ps-moderation-case-header {
        margin: 0;
        padding: 14px;
    }

    .ps-moderation-case-summary,
    .ps-moderation-case-card > .ps-moderation-card-section,
    .ps-moderation-action-panels > .ps-moderation-card-section {
        padding: 14px;
    }

    .ps-moderation-summary-meta {
        grid-template-columns: 1fr;
    }

    .ps-moderation-summary-meta > :first-child {
        grid-column: auto;
    }

    .ps-moderation-note-section .ps-moderation-note-form {
        grid-template-columns: 1fr;
    }

    .ps-moderation-note-section .ps-moderation-note-form > .ps-community-button {
        width: 100%;
    }

    .ps-moderation-action-row,
    .ps-moderation-user-actions .ps-moderation-suspend-row {
        grid-template-columns: 1fr;
        gap: 7px;
        padding: 12px 0;
    }

    .ps-moderation-action-row > .ps-community-button {
        width: 100%;
    }

    .ps-moderation-duration-field {
        grid-template-columns: 86px auto;
    }
}


/* -------------------------------------------------------------------------
 * v0.23.105.42z46 — Moderation history accordions + overflow-safe action rows
 * ---------------------------------------------------------------------- */
.ps-moderation-case-body {
    min-width: 0;
}

.ps-moderation-case-body > .ps-moderation-card-section {
    margin: 16px 20px 0;
    padding: 16px;
    border: 1px solid var(--ps-border, #293142);
    border-radius: 12px;
    background: rgba(255,255,255,.012);
}

.ps-moderation-case-header-end {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.ps-moderation-history-accordion > summary {
    list-style: none;
    cursor: pointer;
    user-select: none;
}

.ps-moderation-history-accordion > summary::-webkit-details-marker {
    display: none;
}

.ps-moderation-history-accordion > summary:focus-visible {
    outline: 2px solid rgba(230,35,61,.75);
    outline-offset: -3px;
}

.ps-moderation-history-chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid var(--ps-border, #30384a);
    border-radius: 8px;
    color: var(--ps-muted, #aab2bf);
    font-size: 1rem;
    line-height: 1;
    transition: transform .18s ease, border-color .18s ease, color .18s ease;
}

.ps-moderation-history-accordion[open] .ps-moderation-history-chevron {
    transform: rotate(180deg);
    border-color: rgba(230,35,61,.45);
    color: #fff;
}

.ps-moderation-history-accordion:not([open]) .ps-moderation-case-header {
    border-bottom-color: transparent;
}

.ps-moderation-action-panels > .ps-moderation-card-section {
    overflow: hidden;
}

.ps-moderation-action-row,
.ps-moderation-user-actions .ps-moderation-suspend-row {
    grid-template-columns: minmax(100px, .62fr) minmax(0, 1.5fr) auto;
}

.ps-moderation-action-fields {
    display: block;
    min-width: 0;
    width: 100%;
}

.ps-moderation-action-fields > input[type="text"] {
    width: 100%;
    min-width: 0;
    max-width: none;
    box-sizing: border-box;
}

.ps-moderation-action-fields-suspend {
    display: grid;
    grid-template-columns: minmax(102px, 112px) minmax(0, 1fr);
    gap: 8px;
    align-items: center;
}

.ps-moderation-action-fields-suspend .ps-moderation-duration-field {
    grid-template-columns: 68px auto;
    gap: 6px;
}

.ps-moderation-action-fields-suspend .ps-moderation-duration-field input[type="number"] {
    width: 68px;
}

.ps-moderation-action-row > .ps-community-button {
    max-width: 100%;
}

.ps-moderation-history-clear-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 14px 0 18px;
    padding: 12px 14px;
    border: 1px solid var(--ps-border, #293142);
    border-radius: 11px;
    background: rgba(255,255,255,.012);
}

.ps-moderation-history-clear-row form {
    margin: 0;
    flex: 0 0 auto;
}

.ps-moderation-history-clear-row p {
    margin: 0;
    color: var(--ps-muted, #929baa);
    font-size: .8rem;
    line-height: 1.5;
}

@media (max-width: 920px) {
    .ps-moderation-action-panels {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .ps-moderation-case-body > .ps-moderation-card-section {
        margin-left: 12px;
        margin-right: 12px;
        padding: 14px;
    }

    .ps-moderation-action-row,
    .ps-moderation-user-actions .ps-moderation-suspend-row {
        grid-template-columns: 1fr;
    }

    .ps-moderation-action-fields-suspend {
        grid-template-columns: minmax(102px, 112px) minmax(0, 1fr);
    }

    .ps-moderation-history-clear-row {
        align-items: stretch;
        flex-direction: column;
    }

    .ps-moderation-history-clear-row .ps-community-button {
        width: 100%;
    }
}

@media (max-width: 460px) {
    .ps-moderation-action-fields-suspend {
        grid-template-columns: 1fr;
    }

    .ps-moderation-case-header-end {
        width: 100%;
        justify-content: space-between;
    }
}

/* -------------------------------------------------------------------------
 * v0.23.105.42z48 — History accordion alignment + empty audit CSS repair
 * ---------------------------------------------------------------------- */
.ps-moderation-history-accordion > summary.ps-moderation-case-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    width: 100%;
    box-sizing: border-box;
    align-items: center;
    column-gap: 18px;
    list-style: none;
}

.ps-moderation-history-accordion > summary.ps-moderation-case-header::marker {
    content: "";
    font-size: 0;
}

.ps-moderation-history-accordion > summary.ps-moderation-case-header::-webkit-details-marker {
    display: none;
}

.ps-moderation-history-accordion > summary.ps-moderation-case-header .ps-moderation-case-title {
    min-width: 0;
}

.ps-moderation-history-accordion > summary.ps-moderation-case-header .ps-moderation-case-header-end {
    width: auto;
    margin: 0;
    justify-self: end;
    justify-content: flex-end;
    white-space: nowrap;
}

.ps-moderation-audit-empty {
    display: grid;
    gap: 5px;
    margin-top: 16px;
    padding: 18px 20px;
    border: 1px solid var(--ps-border, #293142);
    border-radius: 12px;
    background: rgba(255,255,255,.012);
}

.ps-moderation-audit-empty strong {
    color: var(--ps-text, #f3f5f8);
    font-size: .92rem;
}

.ps-moderation-audit-empty p {
    margin: 0;
    color: var(--ps-muted, #929baa);
    line-height: 1.5;
}

@media (max-width: 720px) {
    .ps-moderation-history-accordion > summary.ps-moderation-case-header {
        grid-template-columns: minmax(0, 1fr) auto;
        column-gap: 12px;
    }

    .ps-moderation-history-accordion > summary.ps-moderation-case-header .ps-moderation-case-header-end {
        width: auto;
    }

    .ps-moderation-history-accordion > summary.ps-moderation-case-header .ps-moderation-case-header-end time {
        display: none;
    }
}

/* v0.23.105.42z53 — polished logged-out Account workspace */
.ps-account-guest {
    display: grid;
    gap: 24px;
    margin: 0;
}

.ps-account-guest-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, .75fr);
    gap: 28px;
    align-items: stretch;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 18px;
    padding: clamp(24px, 3vw, 36px);
    background:
        radial-gradient(circle at 92% 10%, rgba(214, 37, 59, .18), transparent 38%),
        linear-gradient(135deg, rgba(17, 24, 39, .96), rgba(10, 15, 24, .98));
    box-shadow: 0 18px 48px rgba(0, 0, 0, .18);
}

.ps-account-guest-copy {
    align-self: center;
    min-width: 0;
}

.ps-account-guest-copy .ps-account-kicker {
    display: inline-block;
    margin: 0 0 10px;
    color: #f0445b;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.ps-account-guest-copy h2 {
    margin: 0;
    max-width: 760px;
    font-size: clamp(2rem, 4vw, 3.15rem);
    line-height: 1.04;
}

.ps-account-guest-copy > p:not(.ps-account-guest-note) {
    max-width: 760px;
    margin: 16px 0 0;
    color: rgba(226, 232, 240, .82);
    font-size: 1rem;
    line-height: 1.7;
}

.ps-account-guest-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.ps-account-guest-actions .ps-community-button {
    min-width: 118px;
    justify-content: center;
}

.ps-account-guest-note {
    margin: 16px 0 0;
    max-width: 760px;
    color: rgba(148, 163, 184, .92);
    font-size: .9rem;
    line-height: 1.55;
}

.ps-account-guest-summary {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    border: 1px solid rgba(214, 37, 59, .3);
    border-radius: 16px;
    padding: 22px;
    background: rgba(5, 10, 18, .62);
}

.ps-account-guest-summary-label {
    color: #f0445b;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.ps-account-guest-summary strong {
    margin-top: 8px;
    color: #f8fafc;
    font-size: 1.08rem;
}

.ps-account-guest-summary ul {
    display: grid;
    gap: 10px;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

.ps-account-guest-summary li {
    position: relative;
    margin: 0;
    padding-left: 20px;
    color: rgba(226, 232, 240, .78);
    line-height: 1.5;
}

.ps-account-guest-summary li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: .62em;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #d6253b;
    box-shadow: 0 0 0 4px rgba(214, 37, 59, .12);
}

.ps-account-guest-features {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.ps-account-guest-feature {
    display: flex;
    gap: 14px;
    min-width: 0;
    border: 1px solid rgba(148, 163, 184, .2);
    border-radius: 16px;
    padding: 20px;
    background: rgba(15, 23, 34, .82);
}

.ps-account-guest-feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(214, 37, 59, .42);
    border-radius: 12px;
    background: rgba(214, 37, 59, .1);
    color: #ff5d73;
    font-size: 1rem;
    font-weight: 800;
}

.ps-account-guest-feature h3 {
    margin: 1px 0 6px;
    color: #f8fafc;
    font-size: 1rem;
}

.ps-account-guest-feature p {
    margin: 0;
    color: rgba(148, 163, 184, .96);
    font-size: .9rem;
    line-height: 1.55;
}

@media (max-width: 980px) {
    .ps-account-guest-hero {
        grid-template-columns: 1fr;
    }

    .ps-account-guest-features {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .ps-account-guest {
        gap: 16px;
    }

    .ps-account-guest-hero {
        gap: 20px;
        border-radius: 14px;
        padding: 20px 18px;
    }

    .ps-account-guest-copy h2 {
        font-size: clamp(1.8rem, 10vw, 2.45rem);
    }

    .ps-account-guest-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .ps-account-guest-actions .ps-community-button {
        width: 100%;
    }

    .ps-account-guest-summary,
    .ps-account-guest-feature {
        padding: 17px;
    }
}


/* v0.23.105.42z58 — Community User Flair identity badge + Guide prompt. */
.ps-community-user-flair {
    --ps-user-flair-bg: #374151;
    --ps-user-flair-text: #fff;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    max-width: 100%;
    min-height: 22px;
    padding: 2px 8px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
    background: var(--ps-user-flair-bg);
    color: var(--ps-user-flair-text);
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: .01em;
    vertical-align: middle;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}

.ps-community-user-flair > span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ps-community-user-flair img,
.ps-community-user-flair .ps-community-emoji {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    object-fit: contain;
    vertical-align: middle;
}

.ps-community-thread-author-line,
.ps-community-highlight-author-line {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    flex-wrap: wrap;
}

.ps-community-guide-user-flair-prompt {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 24px;
    padding: 22px 24px;
    border: 1px solid rgba(148, 163, 184, .17);
    border-radius: 16px;
    background: rgba(15, 23, 42, .56);
}

.ps-community-guide-user-flair-prompt h3 {
    margin: 5px 0 6px;
}

.ps-community-guide-user-flair-prompt p {
    margin: 0;
    color: rgba(226, 232, 240, .76);
}

.ps-community-guide-user-flair-prompt .ps-button {
    flex: 0 0 auto;
}

@media (max-width: 720px) {
    .ps-community-guide-user-flair-prompt {
        align-items: stretch;
        flex-direction: column;
        gap: 16px;
    }

    .ps-community-guide-user-flair-prompt .ps-button {
        width: 100%;
        justify-content: center;
    }
}

/* v0.23.105.42z65 — professional Thread moderator workspace + deliberate removal flow. */
.ps-moderator-tools-panel {
    width: min(680px, calc(100vw - 32px));
    display: grid;
    gap: 14px;
    padding: 16px;
    border-radius: 16px;
    background: #0d131d;
}
.ps-moderator-tools-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--ps-border, #293142);
}
.ps-moderator-tools-heading {
    display: grid;
    gap: 3px;
    min-width: 0;
}
.ps-moderator-tools-kicker {
    color: var(--ps-muted, #9ba4b5);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.ps-moderator-tools-heading > strong {
    color: var(--ps-text, #f5f7fb);
    font-size: 1rem;
}
.ps-moderator-tools-panel .ps-moderator-current-role {
    width: auto;
    min-width: 205px;
    margin: 0;
}
.ps-moderator-tools-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
.ps-moderator-tool-section,
.ps-moderator-tool-accordion {
    min-width: 0;
    margin: 0;
    padding: 13px;
    border: 1px solid var(--ps-border, #293142);
    border-radius: 12px;
    background: rgba(255,255,255,.018);
}
.ps-moderator-tool-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 11px;
}
.ps-moderator-tool-section-heading > div {
    display: grid;
    gap: 3px;
    min-width: 0;
}
.ps-moderator-tool-section-heading strong,
.ps-moderator-tool-accordion > summary strong {
    color: var(--ps-text, #f5f7fb);
    font-size: .88rem;
}
.ps-moderator-tool-section-heading span,
.ps-moderator-tool-accordion > summary small {
    color: var(--ps-muted, #9ba4b5);
    font-size: .75rem;
    line-height: 1.4;
}
.ps-moderator-action-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    align-items: start;
}
.ps-moderator-action-form,
.ps-moderator-highlight-control .ps-moderator-quick-form {
    margin: 0;
}
.ps-moderator-action-form .ps-community-button {
    width: 100%;
    justify-content: center;
}
.ps-moderator-removal-control {
    min-width: 0;
}
.ps-moderator-removal-inline {
    grid-column: 1 / -1;
}
.ps-moderator-action-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 7px 12px;
    border: 1px solid var(--ps-border, #30384a);
    border-radius: 9px;
    background: #121925;
    color: var(--ps-text, #f5f7fb);
    font-size: .8rem;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
    user-select: none;
}
.ps-moderator-action-trigger::-webkit-details-marker { display: none; }
.ps-moderator-action-trigger-danger {
    border-color: rgba(239,68,68,.42);
    background: rgba(239,68,68,.08);
    color: #ff9aa5;
}
.ps-moderator-action-trigger-danger:hover,
.ps-moderator-action-trigger-danger:focus-visible {
    border-color: rgba(239,68,68,.72);
    background: rgba(239,68,68,.14);
    color: #ffc1c7;
}
.ps-moderator-removal-inline[open] > .ps-moderator-action-trigger {
    width: 100%;
    justify-content: flex-start;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}
.ps-moderator-removal-form {
    display: grid;
    gap: 11px;
    min-width: 0;
    padding: 13px;
    border: 1px solid rgba(239,68,68,.30);
    border-radius: 11px;
    background: #0b1018;
}
.ps-moderator-removal-inline > .ps-moderator-removal-form {
    border-top: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
.ps-moderator-removal-heading {
    display: grid;
    gap: 4px;
}
.ps-moderator-removal-heading strong {
    color: #ffc1c7;
    font-size: .9rem;
}
.ps-moderator-removal-heading p,
.ps-moderator-removal-footer small {
    margin: 0;
    color: var(--ps-muted, #9ba4b5);
    font-size: .75rem;
    line-height: 1.45;
}
.ps-moderator-removal-reason {
    display: grid;
    gap: 6px;
    min-width: 0;
    color: var(--ps-muted, #a5adba);
    font-size: .78rem;
    font-weight: 700;
}
.ps-moderator-removal-reason textarea {
    width: 100%;
    min-width: 0;
    max-width: none;
    box-sizing: border-box;
    resize: vertical;
    border: 1px solid var(--ps-border, #30384a);
    border-radius: 9px;
    background: #080d14;
    color: var(--ps-text, #f5f7fb);
    padding: 10px 11px;
    line-height: 1.45;
}
.ps-moderator-removal-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 2px;
}
.ps-moderator-removal-footer .ps-community-button {
    flex: 0 0 auto;
}
.ps-moderator-removal-popover {
    position: relative;
    display: inline-block;
}
.ps-moderator-removal-popover > .ps-moderator-action-trigger {
    min-height: 30px;
    padding: 4px 9px;
    font-size: .78rem;
}
.ps-moderator-removal-popover > .ps-moderator-removal-form {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    z-index: 90;
    width: min(480px, calc(100vw - 32px));
    box-shadow: 0 18px 44px rgba(0,0,0,.42);
}
.ps-moderator-highlight-control .ps-community-highlight-quick-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    width: 100%;
}
.ps-moderator-highlight-control select {
    width: 100%;
    min-width: 0;
    border: 1px solid var(--ps-border, #30384a);
    border-radius: 9px;
    background: #0b1018;
    color: var(--ps-text, #f5f7fb);
    padding: 8px 10px;
}
.ps-moderator-tool-accordion {
    padding: 0;
    overflow: hidden;
}
.ps-moderator-tool-accordion > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 13px;
    cursor: pointer;
    list-style: none;
}
.ps-moderator-tool-accordion > summary::-webkit-details-marker { display: none; }
.ps-moderator-tool-accordion > summary > span:first-child {
    display: grid;
    gap: 3px;
    min-width: 0;
}
.ps-moderator-tool-status {
    flex: 0 0 auto;
    padding: 4px 8px;
    border: 1px solid var(--ps-border, #30384a);
    border-radius: 999px;
    background: #101722;
    color: var(--ps-muted, #a5adba);
    font-size: .72rem;
    font-weight: 800;
}
.ps-moderator-tool-accordion[open] > summary {
    border-bottom: 1px solid var(--ps-border, #293142);
    background: rgba(255,255,255,.02);
}
.ps-moderator-tool-accordion-body {
    padding: 13px;
}
.ps-slow-mode-moderator-form-compact {
    margin: 0;
    padding: 0;
    border-top: 0;
}
.ps-moderator-tool-section-compact {
    display: flex;
    align-items: center;
}
.ps-moderator-context-help {
    display: grid;
    gap: 5px;
    padding: 2px 2px 0;
}
.ps-moderator-context-help p {
    margin: 0;
    color: var(--ps-muted, #8f99aa);
    font-size: .72rem;
    line-height: 1.45;
}
.ps-moderator-danger-zone {
    border-color: rgba(239,68,68,.24);
    background: rgba(239,68,68,.035);
}
.ps-moderator-danger-zone .ps-community-owner-delete-discussion {
    margin: 0;
    padding: 0;
    border-top: 0;
}
.ps-moderator-tools-panel .ps-saved-response-picker {
    margin: 0;
    padding: 10px;
    border: 1px solid var(--ps-border, #293142);
    border-radius: 10px;
    background: rgba(255,255,255,.02);
}
.ps-moderator-tools-panel .ps-saved-response-picker select,
.ps-moderator-removal-popover .ps-saved-response-picker select {
    min-height: 38px;
    border: 1px solid var(--ps-border, #30384a);
    border-radius: 9px;
    background: #080d14;
    color: var(--ps-text, #f5f7fb);
    padding: 7px 9px;
}

@media (max-width: 700px) {
    .ps-moderator-tools-header {
        grid-template-columns: 1fr;
    }
    .ps-moderator-tools-panel .ps-moderator-current-role {
        width: 100%;
        min-width: 0;
    }
    .ps-moderator-action-grid,
    .ps-moderator-highlight-control .ps-community-highlight-quick-form,
    .ps-slow-mode-moderator-form-compact {
        grid-template-columns: 1fr;
    }
    .ps-moderator-removal-footer {
        align-items: stretch;
        flex-direction: column;
    }
    .ps-moderator-removal-footer .ps-community-button {
        width: 100%;
        justify-content: center;
    }
}

/* z65 — make the Moderator Tools launcher read as a control, not an underlined text link. */
.ps-moderator-quick-controls > summary {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 5px 10px;
    border: 1px solid var(--ps-border, #293142);
    border-radius: 999px;
    background: rgba(255,255,255,.025);
    color: var(--ps-muted, #a5adba);
    font-size: .8rem;
    font-weight: 800;
    text-decoration: none;
}
.ps-moderator-quick-controls > summary:hover,
.ps-moderator-quick-controls > summary:focus-visible,
.ps-moderator-quick-controls[open] > summary {
    border-color: rgba(96,165,250,.50);
    background: rgba(96,165,250,.08);
    color: var(--ps-text, #f5f7fb);
}
.ps-moderator-quick-controls[data-ps-action-popover="1"] > .ps-moderator-tools-panel {
    max-height: min(680px, calc(100vh - 32px));
    overflow: auto;
    overscroll-behavior: contain;
}

/* Community Wiki resource insertion inside the shared rich composer. */
.ps-rich-wiki-select {
    min-height: 34px;
    max-width: 220px;
    padding: 5px 30px 5px 10px;
    border: 1px solid var(--ps-border, #d8dde6);
    border-radius: 8px;
    background: var(--ps-surface, #fff);
    color: inherit;
    font: inherit;
    font-size: 13px;
    line-height: 1.2;
}
.ps-rich-wiki-select:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}
@media (max-width: 640px) {
    .ps-rich-wiki-select {
        width: 100%;
        max-width: 100%;
    }
}

/* v0.23.105.42z100 — Roadmap 10 search scope + Community results. */
.ps-search-active-community {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
    padding: 9px 12px;
    border: 1px solid var(--ps-community-border, rgba(255,255,255,.12));
    border-radius: 10px;
    background: var(--ps-community-panel, #0d141d);
}
.ps-search-active-community span { color: #f3f6fb; font-weight: 800; }
.ps-search-active-community a { color: #ff6b7d; font-size: .84rem; font-weight: 750; }
.ps-search-community-card strong { font-size: 1rem; }

/* v0.23.105.42z104 — Discussion image centering + viewport-fit accessible lightbox. */
.ps-thread-single .ps-single-featured,
.ps-thread-single .ps-entry-content figure,
.ps-thread-single .ps-entry-content .wp-block-image,
.ps-thread-single .ps-media-image-grid {
    margin-left: auto;
    margin-right: auto;
}
.ps-thread-single .ps-single-featured,
.ps-thread-single .ps-entry-content figure,
.ps-thread-single .ps-entry-content .wp-block-image {
    text-align: center;
}
.ps-thread-single .ps-single-featured img,
.ps-thread-single .ps-entry-content img:not(.ps-community-custom-emoji),
.ps-thread-single .ps-community-media-image,
.ps-thread-featured-image[data-ps-lightbox-image] {
    margin-left: auto;
    margin-right: auto;
}
.ps-thread-single .ps-entry-content img:not(.ps-community-custom-emoji),
.ps-thread-single .ps-single-featured img,
[data-ps-lightbox-image] {
    cursor: zoom-in;
}
.ps-thread-single .ps-entry-content img:not(.ps-community-custom-emoji):focus-visible,
.ps-thread-single .ps-single-featured img:focus-visible,
[data-ps-lightbox-link]:focus-visible {
    outline: 2px solid var(--ps-accent, #ef3340);
    outline-offset: 3px;
    border-radius: 8px;
}

/* v0.23.105.42z106 — ProfoundSyntax presentation overrides for self-hosted PhotoSwipe 5.4.4. */
.pswp {
    --pswp-bg: rgba(2, 6, 12, .97);
    --pswp-root-z-index: 2147482500;
    --pswp-icon-color: #f7f9fc;
    --pswp-icon-color-secondary: #0b111a;
    --pswp-icon-stroke-color: rgba(255,255,255,.16);
    font-family: inherit;
}
.pswp__button {
    border-radius: 999px;
}
.pswp__button:focus-visible,
.pswp__button:hover {
    outline: 2px solid var(--ps-accent, #ef3340);
    outline-offset: 2px;
}
.pswp__counter {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    text-shadow: 0 1px 3px rgba(0,0,0,.65);
}
.pswp__profoundsyntax-caption {
    position: absolute;
    z-index: 10;
    left: 50%;
    bottom: max(14px, env(safe-area-inset-bottom));
    transform: translateX(-50%);
    width: min(760px, calc(100vw - 32px));
    max-height: 54px;
    overflow: auto;
    padding: 8px 12px;
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: 10px;
    background: rgba(8, 12, 19, .84);
    color: #eef2f8;
    font-size: .88rem;
    line-height: 1.35;
    text-align: center;
    box-shadow: 0 8px 28px rgba(0,0,0,.34);
    pointer-events: auto;
}
.pswp__profoundsyntax-caption[hidden] { display: none !important; }
@media (max-width: 640px) {
    .pswp__profoundsyntax-caption {
        width: calc(100vw - 20px);
        bottom: max(8px, env(safe-area-inset-bottom));
        max-height: 48px;
        padding: 7px 10px;
        font-size: .8rem;
    }
}


/* v0.23.105.42z106 — responsive Developer Links on member profiles. */
.ps-developer-links-editor {
    margin: 0 0 1rem;
    padding: 0;
    border: 0;
}
.ps-developer-links-editor > legend {
    margin-bottom: .25rem;
    font-weight: 800;
}
.ps-developer-links-editor-grid {
    margin-top: .7rem;
}
.ps-developer-social-links {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: .8rem;
    max-width: 100%;
}
.ps-developer-social-link {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    min-width: 0;
    min-height: 40px;
    padding: .36rem .62rem .36rem .42rem;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 999px;
    background: rgba(15, 23, 42, .56);
    color: inherit;
    text-decoration: none;
    line-height: 1.15;
}
.ps-developer-social-link:hover {
    border-color: rgba(239, 51, 64, .62);
    background: rgba(239, 51, 64, .09);
}
.ps-developer-social-link:focus-visible {
    outline: 3px solid rgba(248, 113, 113, .88);
    outline-offset: 3px;
}
.ps-developer-social-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    min-width: 28px;
    height: 28px;
    padding: 0 .3rem;
    border-radius: 999px;
    background: rgba(239, 51, 64, .16);
    color: #fff;
    font-size: .67rem;
    font-weight: 900;
    letter-spacing: -.01em;
}
.ps-developer-social-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .86rem;
    font-weight: 750;
}
@media (max-width: 560px) {
    .ps-developer-social-links {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }
    .ps-developer-social-link {
        width: 100%;
        border-radius: 10px;
    }
}
@media (max-width: 380px) {
    .ps-developer-social-links { grid-template-columns: 1fr; }
}

/* v0.23.105.42z107 — PhotoSwipe appearance presets. */
.pswp--profoundsyntax {
    --pswp-bg: #05080d;
}
.pswp--profoundsyntax .pswp__top-bar {
    align-items: center;
    padding: 8px 8px 0;
    box-sizing: border-box;
}
.pswp--profoundsyntax .pswp__button {
    width: 44px;
    height: 44px;
    margin: 7px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(7, 11, 18, .72);
    box-shadow: 0 8px 24px rgba(0,0,0,.24);
}
.pswp--profoundsyntax .pswp__button:hover,
.pswp--profoundsyntax .pswp__button:focus-visible {
    background: rgba(20, 28, 42, .94);
}
.pswp--profoundsyntax .pswp__button--zoom,
.pswp--profoundsyntax .pswp__button--close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.pswp--profoundsyntax .pswp__button--zoom .pswp__icn,
.pswp--profoundsyntax .pswp__button--close .pswp__icn {
    top: 50%;
    left: 50%;
    right: auto;
    transform: translate(-50%, -50%);
}
.pswp--profoundsyntax .pswp__button--zoom {
    margin-right: 4px;
}
.pswp--ps-classic .pswp__counter {
    margin: 12px 0 0 14px;
    padding: 6px 9px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    background: rgba(7, 11, 18, .66);
}
.pswp--ps-gallery .pswp__button--arrow--prev,
.pswp--ps-gallery .pswp__button--arrow--next {
    width: 54px;
    height: 54px;
    border-color: rgba(255,255,255,.26);
    background: rgba(4, 8, 14, .82);
}
.pswp--ps-gallery .pswp__counter {
    left: 50%;
    transform: translateX(-50%);
    margin: 12px 0 0;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(4,8,14,.76);
}
.pswp__profoundsyntax-gallery-strip {
    position: absolute;
    z-index: 20;
    left: 50%;
    bottom: max(10px, env(safe-area-inset-bottom));
    transform: translateX(-50%);
    display: flex;
    gap: 7px;
    max-width: min(760px, calc(100vw - 32px));
    padding: 7px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 12px;
    background: rgba(4,8,14,.86);
    box-shadow: 0 12px 36px rgba(0,0,0,.36);
}
.pswp__profoundsyntax-gallery-thumb {
    flex: 0 0 62px;
    width: 62px;
    height: 44px;
    padding: 2px;
    border: 2px solid transparent;
    border-radius: 7px;
    background: rgba(255,255,255,.06);
    cursor: pointer;
}
.pswp__profoundsyntax-gallery-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}
.pswp__profoundsyntax-gallery-thumb.is-active {
    border-color: var(--ps-accent, #ef3340);
}
.pswp__profoundsyntax-gallery-thumb:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}
.pswp--ps-gallery .pswp__profoundsyntax-caption {
    bottom: max(72px, calc(env(safe-area-inset-bottom) + 68px));
}
.pswp--ps-minimal .pswp__top-bar {
    background: linear-gradient(180deg, rgba(0,0,0,.42), transparent);
}
.pswp--ps-minimal .pswp__button--close {
    width: 48px;
    height: 48px;
    background: rgba(4,8,14,.64);
}
.pswp--ps-minimal .pswp__profoundsyntax-caption {
    background: rgba(4,8,14,.58);
    border-color: rgba(255,255,255,.11);
}
@media (max-width: 640px) {
    .pswp__profoundsyntax-gallery-strip {
        max-width: calc(100vw - 18px);
        gap: 5px;
        padding: 5px;
    }
    .pswp__profoundsyntax-gallery-thumb {
        flex-basis: 52px;
        width: 52px;
        height: 38px;
    }
    .pswp--ps-gallery .pswp__profoundsyntax-caption {
        bottom: max(62px, calc(env(safe-area-inset-bottom) + 58px));
    }
}

/* v0.23.105.42z107 — public profile AJAX navigation and organized content surface. */
.ps-member-profile-page {
    max-width: var(--ps-container, 1315px);
}
.ps-member-profile-avatar-wrap {
    position: relative;
}
.ps-profile-hero-presence {
    position: absolute;
    right: 4px;
    bottom: 6px;
    width: 18px;
    height: 18px;
    border: 3px solid #0b1018;
    border-radius: 999px;
    background: #64748b;
    box-shadow: 0 2px 8px rgba(0,0,0,.32);
}
.ps-profile-hero-presence.is-online,
.ps-profile-presence-dot.is-online {
    background: #22c55e;
}
.ps-profile-hero-presence.is-offline,
.ps-profile-presence-dot.is-offline {
    background: #64748b;
}
.ps-mature-profile-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 3px 8px;
    border: 1px solid rgba(248,113,113,.58);
    border-radius: 999px;
    background: rgba(127,29,29,.26);
    color: #fecaca;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .04em;
}
.ps-profile-tabs {
    display: flex;
    gap: 4px;
    margin: 12px 0 0;
    padding: 0 4px;
    overflow-x: auto;
    overflow-y: hidden;
    -ms-overflow-style: none;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
    border-bottom: 1px solid rgba(148,163,184,.2);
}
.ps-profile-tabs::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}
.ps-profile-tab-link {
    position: relative;
    flex: 0 0 auto;
    padding: 12px 14px 11px;
    color: inherit;
    text-decoration: none;
    font-weight: 750;
    border-radius: 10px 10px 0 0;
}
.ps-profile-tab-link:hover {
    background: rgba(148,163,184,.08);
}
.ps-profile-tab-link.is-active::after {
    content: "";
    position: absolute;
    left: 11px;
    right: 11px;
    bottom: -1px;
    height: 3px;
    border-radius: 999px 999px 0 0;
    background: var(--ps-accent, #ef3340);
}
.ps-profile-tab-link:focus-visible,
.ps-profile-content-control:focus-visible {
    outline: 3px solid rgba(248,113,113,.86);
    outline-offset: 3px;
}
.ps-profile-content-control {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: 11px;
    margin: 12px 0 0;
    padding: 12px 15px;
    border: 1px solid rgba(148,163,184,.2);
    border-radius: 13px;
    background: rgba(7,11,18,.68);
    color: inherit;
    text-decoration: none;
}
.ps-profile-content-control:hover {
    border-color: rgba(239,51,64,.48);
    background: rgba(239,51,64,.06);
}
.ps-profile-content-control > span:nth-child(2) {
    display: grid;
    gap: 2px;
}
.ps-profile-content-control small {
    color: var(--ps-muted, #aab3c3);
}
.ps-profile-content-control-icon {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: rgba(148,163,184,.1);
}
.ps-profile-tab-panel {
    min-height: 260px;
    margin-top: 14px;
    transition: opacity .15s ease;
}
.ps-profile-tab-panel.is-loading {
    opacity: .56;
    pointer-events: none;
}
.ps-profile-tab-section {
    display: grid;
    gap: 13px;
}
.ps-profile-tab-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.ps-profile-tab-heading h2 {
    margin: 2px 0 0;
}
.ps-profile-tab-kicker {
    color: var(--ps-muted,#aab3c3);
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.ps-profile-discussion-list,
.ps-profile-reply-list {
    display: grid;
    gap: 12px;
}
.ps-profile-discussion-list .ps-post-card {
    margin: 0;
}
.ps-profile-reply-card {
    padding: 16px;
    border: 1px solid rgba(148,163,184,.2);
    border-radius: 14px;
    background: rgba(15,23,42,.42);
}
.ps-profile-reply-card h3 {
    margin: 5px 0 8px;
}
.ps-profile-reply-card p {
    margin: 0 0 10px;
    color: var(--ps-muted,#c0c7d2);
}
.ps-profile-reply-meta,
.ps-profile-reply-open {
    font-size: .82rem;
}
.ps-profile-load-more-wrap {
    display: flex;
    justify-content: center;
    padding: 3px 0 8px;
}
.ps-profile-about-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(280px, .9fr);
    gap: 14px;
    align-items: start;
}
.ps-profile-about-main,
.ps-profile-about-sidebar {
    display: grid;
    gap: 14px;
}
.ps-profile-about-sidebar .ps-developer-social-links {
    margin-top: .35rem;
}
.ps-profile-about-sidebar .ps-developer-social-link {
    flex: 1 1 145px;
}
.ps-profile-presence-row {
    display: flex;
    align-items: center;
    gap: 8px;
}
.ps-profile-presence-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 999px;
}
.ps-mature-profile-notice {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 12px;
    padding: 12px 14px;
    border: 1px solid rgba(248,113,113,.28);
    border-radius: 13px;
    background: rgba(127,29,29,.11);
}
.ps-mature-profile-notice > div {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 9px;
    align-items: center;
}
.ps-mature-profile-notice p {
    grid-column: 1 / -1;
    margin: 5px 0 0;
    color: var(--ps-muted,#c0c7d2);
}
.ps-mature-profile-notice.is-revealed {
    display: none;
}
.ps-member-profile-page.ps-mature-mode-blur:not(.is-mature-revealed) .ps-member-profile-avatar-wrap img,
.ps-member-profile-page.ps-mature-mode-blur:not(.is-mature-revealed) .ps-profile-discussion-list img,
.ps-member-profile-page.ps-mature-mode-blur:not(.is-mature-revealed) .ps-profile-discussion-list video,
.ps-member-profile-page.ps-mature-mode-blur:not(.is-mature-revealed) .ps-profile-discussion-list iframe,
.ps-member-profile-page.ps-mature-mode-blur:not(.is-mature-revealed) .ps-pro-featured-content img,
.ps-member-profile-page.ps-mature-mode-blur:not(.is-mature-revealed) .ps-pro-featured-content video,
.ps-member-profile-page.ps-mature-mode-blur:not(.is-mature-revealed) .ps-pro-featured-content iframe {
    filter: blur(22px) saturate(.65);
}
.ps-member-profile-page.ps-mature-mode-blur:not(.is-mature-revealed) .ps-member-profile-hero.has-pro-banner::before {
    filter: blur(22px) saturate(.65);
    transform: scale(1.05);
}
.ps-member-profile-page.ps-mature-mode-blur:not(.is-mature-revealed) .ps-profile-discussion-list video,
.ps-member-profile-page.ps-mature-mode-blur:not(.is-mature-revealed) .ps-profile-discussion-list iframe,
.ps-member-profile-page.ps-mature-mode-blur:not(.is-mature-revealed) .ps-pro-featured-content video,
.ps-member-profile-page.ps-mature-mode-blur:not(.is-mature-revealed) .ps-pro-featured-content iframe {
    pointer-events: none;
}
.ps-member-profile-page.ps-mature-mode-hide .ps-member-profile-avatar-wrap img,
.ps-member-profile-page.ps-mature-mode-hide .ps-profile-discussion-list img,
.ps-member-profile-page.ps-mature-mode-hide .ps-profile-discussion-list video,
.ps-member-profile-page.ps-mature-mode-hide .ps-profile-discussion-list iframe,
.ps-member-profile-page.ps-mature-mode-hide .ps-pro-featured-content img,
.ps-member-profile-page.ps-mature-mode-hide .ps-pro-featured-content video,
.ps-member-profile-page.ps-mature-mode-hide .ps-pro-featured-content iframe {
    visibility: hidden !important;
}
.ps-member-profile-page.ps-mature-mode-hide .ps-member-profile-hero.has-pro-banner::before {
    background-image: none !important;
    background: #101722 !important;
}

/* Edit Profile / Preferences control hub. */
.ps-profile-controls-hub {
    display: grid;
    gap: 13px;
    margin: 0 0 18px;
    padding: 16px;
    border: 1px solid rgba(148,163,184,.22);
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(239,51,64,.05), rgba(15,23,42,.34));
}
.ps-profile-controls-hub h3 {
    margin: 2px 0 5px;
}
.ps-profile-controls-hub p {
    margin: 0;
    color: var(--ps-muted,#aab3c3);
}
.ps-profile-controls-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 8px;
}
.ps-profile-controls-links a {
    padding: 9px 11px;
    border: 1px solid rgba(148,163,184,.18);
    border-radius: 9px;
    background: rgba(7,11,18,.45);
    color: inherit;
    text-decoration: none;
}
.ps-profile-controls-links a:hover {
    border-color: rgba(239,51,64,.46);
}
.ps-profile-mature-control,
.ps-profile-online-control {
    align-items: flex-start;
}
.ps-profile-mature-control > span,
.ps-profile-online-control > span {
    display: grid;
    gap: 3px;
}
.ps-profile-mature-control small,
.ps-profile-online-control small {
    color: var(--ps-muted,#aab3c3);
    font-weight: 400;
}
@media (max-width: 900px) {
    .ps-profile-about-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 640px) {
    .ps-profile-tab-heading,
    .ps-mature-profile-notice {
        align-items: stretch;
        flex-direction: column;
    }
    .ps-profile-controls-links {
        grid-template-columns: 1fr;
    }
    .ps-profile-content-control {
        grid-template-columns: auto minmax(0,1fr) auto;
    }
}


.ps-mature-avatar-placeholder {
    display: grid;
    place-items: center;
    background: #151b25;
    border: 1px solid rgba(248,113,113,.38);
    color: #fecaca;
    font-weight: 900;
    letter-spacing: .04em;
}
.ps-profile-text-discussion-card {
    padding: 16px;
    border: 1px solid rgba(148,163,184,.2);
    border-radius: 14px;
    background: rgba(15,23,42,.42);
}
.ps-profile-text-discussion-card h3 { margin: 5px 0 8px; }
.ps-profile-text-discussion-card p { margin: 0 0 10px; color: var(--ps-muted,#c0c7d2); }
.ps-mature-media-withheld { display:inline-flex; align-items:center; gap:7px; color:var(--ps-muted,#aab3c3); font-size:.82rem; }

/* v0.23.105.42z109 — Presence Status selector/profile synchronization. */
.ps-profile-hero-presence.is-hidden,
.ps-profile-presence-row.is-hidden {
    display: none;
}

/* v0.23.105.42z109 — profile privacy matrix + PhotoSwipe close alignment. */
.pswp--profoundsyntax .pswp__button--close {
    border-radius: 999px;
}
.pswp--profoundsyntax .pswp__button--close .pswp__icn {
    top: 50%;
    left: 50%;
    width: 30px;
    height: 30px;
    transform: translate(-50%, -50%);
}
.ps-profile-visibility-notice {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 12px 0 0;
    padding: 10px 14px;
    border: 1px solid rgba(148,163,184,.24);
    border-radius: 10px;
    background: rgba(15,23,42,.5);
    font-size: .9rem;
}
.ps-profile-visibility-notice strong { white-space: nowrap; }
.ps-profile-visibility-private { border-color: rgba(239,68,68,.34); }
.ps-profile-visibility-members { border-color: rgba(56,189,248,.30); }
.ps-member-visibility-pill {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 2px 7px;
    border: 1px solid rgba(56,189,248,.28);
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
    white-space: nowrap;
}
@media (max-width: 640px) {
    .ps-profile-visibility-notice { align-items: flex-start; flex-direction: column; gap: 3px; }
}

/* z112 Roadmap 11B — private member Chat */
.ps-chat-header-control{position:relative;display:inline-flex;align-items:center;justify-content:center}
.ps-chat-header-button{position:relative;width:40px;height:40px;min-width:40px;padding:0;border:1px solid var(--ps-border,#343943);border-radius:50%;background:var(--ps-surface,#181b20);color:inherit;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.ps-chat-header-button:hover,.ps-chat-header-button:focus-visible{border-color:currentColor;outline:none}
.ps-chat-header-button svg{width:20px;height:20px;fill:currentColor;display:block}
.ps-chat-unread{position:absolute;top:-5px;right:-7px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#d92d20;color:#fff;font-size:10px;font-weight:700;line-height:18px;text-align:center;box-shadow:0 0 0 2px var(--ps-surface,#181b20);z-index:2}
.ps-mobile-chat-button{position:relative}
.ps-mobile-chat-button .ps-chat-unread{top:-6px;right:-6px}

.ps-chat-drawer{--ps-chat-right-offset:16px;position:fixed;right:var(--ps-chat-right-offset);bottom:16px;width:min(420px,calc(100vw - var(--ps-chat-right-offset) - 16px));height:min(720px,calc(100dvh - 96px));z-index:100050;background:var(--ps-surface,#181b20);border:1px solid var(--ps-border,#343943);border-radius:18px;box-shadow:0 18px 56px rgba(0,0,0,.42);overflow:hidden;color:inherit}
.ps-chat-drawer[hidden]{display:none!important}
.ps-chat-shell{height:100%;display:grid;grid-template-rows:auto auto auto minmax(0,1fr)}
.ps-chat-head{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--ps-border,#343943)}
.ps-chat-head>div{min-width:0;display:flex;flex-direction:column;gap:1px}
.ps-chat-head strong{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ps-chat-kicker{font-size:11px;line-height:1.2;text-transform:uppercase;letter-spacing:.08em;opacity:.65}
.ps-chat-close{width:36px;height:36px;min-width:36px;border:1px solid var(--ps-border,#343943);border-radius:50%;background:transparent;color:inherit;font-size:24px;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0 0 2px;cursor:pointer}
.ps-chat-close:hover,.ps-chat-close:focus-visible{border-color:currentColor;outline:none}
.ps-chat-toolbar{display:flex;gap:6px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--ps-border,#343943);overflow-x:auto;scrollbar-width:none}
.ps-chat-toolbar::-webkit-scrollbar{display:none}
.ps-chat-toolbar .ps-text-button{white-space:nowrap}
.ps-chat-status{min-height:0;padding:0 12px;font-size:12px}
.ps-chat-status:not(:empty){padding-top:8px;padding-bottom:8px;border-bottom:1px solid var(--ps-border,#343943)}
.ps-chat-status.is-error{color:#ff8e8e}
.ps-chat-body{min-height:0;overflow:hidden}
/* Chat view state contract: author display rules must never override the HTML hidden state. */
.ps-chat-body>[hidden]{display:none!important}
.ps-chat-welcome,.ps-chat-list-view,.ps-chat-new-view,.ps-chat-group-new-view,.ps-chat-conversation-view{height:100%;min-height:0}
.ps-chat-welcome{overflow:auto;padding:22px}
.ps-chat-welcome h3{margin-top:0}
.ps-chat-welcome-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.ps-chat-list-view{overflow:auto}
.ps-chat-list-view>div{display:flex;flex-direction:column}
.ps-chat-row,.ps-chat-search-result{width:100%;border:0;border-bottom:1px solid var(--ps-border,#343943);background:transparent;color:inherit;text-align:left;display:grid;grid-template-columns:minmax(0,1fr) minmax(80px,.8fr) auto;align-items:center;gap:10px;padding:12px 14px;cursor:pointer}
.ps-chat-row:hover,.ps-chat-row:focus-visible,.ps-chat-search-result:hover,.ps-chat-search-result:focus-visible{background:rgba(127,127,127,.08);outline:none}
.ps-chat-row.is-unread{font-weight:600}
.ps-chat-person{min-width:0;display:flex;align-items:center;gap:10px}
.ps-chat-person img{width:38px;height:38px;border-radius:50%;object-fit:cover;flex:0 0 auto;background:rgba(127,127,127,.14)}
.ps-chat-person>span{min-width:0;display:flex;flex-direction:column}
.ps-chat-person strong,.ps-chat-person small,.ps-chat-person span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ps-chat-person small,.ps-chat-person span{font-size:12px;opacity:.7}
.ps-chat-row-copy{min-width:0;display:flex;flex-direction:column;gap:3px}
.ps-chat-row-copy>span,.ps-chat-row-copy>small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ps-chat-row-copy>small{opacity:.65}
.ps-chat-row-unread{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#d92d20;color:#fff;font-size:11px;line-height:22px;text-align:center}
.ps-chat-empty{padding:18px 14px;margin:0;opacity:.82}
.ps-chat-empty.is-error{color:#ff8e8e}
.ps-chat-new-view,.ps-chat-group-new-view{overflow:auto;padding:14px}
.ps-chat-new-view>label,.ps-chat-group-new-view>label{display:block;font-weight:700;margin:0 0 7px}
.ps-chat-new-view input[type="search"],.ps-chat-group-new-view input[type="search"],.ps-chat-group-new-view input[type="text"]{width:100%}
.ps-chat-group-new-view>label:not(:first-child){margin-top:14px}
.ps-chat-group-selected{margin:12px 0}
.ps-chat-group-selected-label{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:700;margin-bottom:7px}
.ps-chat-group-chips{display:flex;gap:7px;flex-wrap:wrap}
.ps-chat-group-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ps-border,#343943);border-radius:999px;padding:5px 7px 5px 10px;font-size:12px}
.ps-chat-group-chip button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:16px;line-height:1;padding:0 2px}
.ps-chat-group-create-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}
.ps-chat-help{font-size:12px;opacity:.72;margin:7px 0 12px}
.ps-chat-search-results{border:1px solid var(--ps-border,#343943);border-radius:12px;overflow:hidden}
.ps-chat-search-result{grid-template-columns:minmax(0,1fr) auto;border-bottom:1px solid var(--ps-border,#343943)}
.ps-chat-search-result:last-child{border-bottom:0}
.ps-chat-search-action{font-size:12px;font-weight:700}

.ps-chat-conversation-view{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;overflow:hidden}
.ps-chat-conversation-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--ps-border,#343943)}
.ps-chat-conversation-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.ps-chat-request-actions{padding:10px 12px;border-bottom:1px solid var(--ps-border,#343943);background:rgba(127,127,127,.06);font-size:13px}
.ps-chat-request-actions p{margin:0 0 8px}
.ps-chat-request-actions p:last-child{margin-bottom:0}
.ps-chat-request-actions>div{display:flex;gap:8px;flex-wrap:wrap}
.ps-chat-messages{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:14px;display:flex;flex-direction:column;gap:10px}
.ps-chat-message{max-width:84%;display:flex;flex-direction:column;gap:4px;align-self:flex-start}
.ps-chat-message.is-mine{align-self:flex-end;align-items:flex-end}
.ps-chat-bubble{padding:9px 11px;border-radius:14px;background:rgba(127,127,127,.13);white-space:pre-wrap;overflow-wrap:anywhere}
.ps-chat-message.is-mine .ps-chat-bubble{background:rgba(217,45,32,.18)}
.ps-chat-message-meta{display:flex;align-items:center;gap:8px;font-size:11px;opacity:.68}
.ps-chat-message-report{border:0;background:transparent;color:inherit;text-decoration:underline;text-underline-offset:2px;padding:0;font-size:11px;cursor:pointer}
.ps-chat-load-older{align-self:center;margin-bottom:3px}
.ps-chat-report-panel{padding:12px;border-top:1px solid var(--ps-border,#343943);background:var(--ps-surface,#181b20)}
.ps-chat-report-panel h4{margin:0 0 8px}
.ps-chat-report-panel select,.ps-chat-report-panel textarea{width:100%;margin-bottom:8px}
.ps-chat-report-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.ps-chat-compose{border-top:1px solid var(--ps-border,#343943);padding:10px 12px;background:var(--ps-surface,#181b20)}
.ps-chat-compose textarea{width:100%;max-height:140px;resize:vertical;margin:0 0 7px}
.ps-chat-compose-row{display:flex;justify-content:space-between;gap:10px;align-items:center}
.ps-chat-text-only{font-size:11px;opacity:.62}
.ps-profile-message-member,.ps-profile-follow-member{white-space:nowrap}

/* v0.23.105.42z125 — keep public-profile actions on one professional baseline.
   Report Member is a <details>/<summary> control while Block is a form and
   Follow/Message are buttons; normalize their direct-child boxes here. */
.ps-member-profile-links{align-items:center}
.ps-member-profile-links>a,
.ps-member-profile-links>button,
.ps-member-profile-links>.ps-inline-action-form,
.ps-member-profile-links>.ps-report-control{align-self:center;margin-top:0;margin-bottom:0}
.ps-member-profile-links>.ps-inline-action-form,
.ps-member-profile-links>.ps-report-control{display:inline-flex;align-items:center;min-height:44px}
.ps-member-profile-links>.ps-inline-action-form>.ps-text-button,
.ps-member-profile-links>.ps-report-control>summary{display:inline-flex;align-items:center;min-height:44px;margin:0;line-height:1.2}
.ps-member-profile-links>.ps-report-control>summary{cursor:pointer}

@media (max-width:700px){
  html.ps-chat-open{overflow:hidden}
  .ps-chat-drawer[data-mobile-enabled="1"]{left:8px;right:8px;top:max(64px,env(safe-area-inset-top));bottom:max(8px,env(safe-area-inset-bottom));width:auto;height:auto;border-radius:16px;--ps-chat-right-offset:8px}
  .ps-chat-row{grid-template-columns:minmax(0,1fr) auto}
  .ps-chat-row-copy{grid-column:1/-1;padding-left:48px}
  .ps-chat-conversation-head{align-items:flex-start;flex-direction:column}
  .ps-chat-conversation-tools{justify-content:flex-start}
  .ps-chat-message{max-width:90%}
}
.ps-chat-message-bubble{padding:9px 11px;border-radius:14px;background:rgba(127,127,127,.13);white-space:normal;overflow-wrap:anywhere}
.ps-chat-message.is-mine .ps-chat-message-bubble{background:rgba(217,45,32,.18)}
.ps-chat-message-bubble>div{white-space:pre-wrap}
.ps-chat-message-bubble footer{display:flex;align-items:center;gap:8px;justify-content:flex-end;margin-top:4px;font-size:11px;opacity:.68}
.ps-chat-report-card{display:grid;gap:8px}
.ps-chat-report-card>strong{font-size:14px}
.ps-chat-report-card label{display:grid;gap:5px;font-size:12px}
.ps-chat-report-card>div{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}


/* z113 — mobile Chat entry-point authority.
   The desktop/tablet header control is not a mobile control. On phones it must
   disappear completely; the separately-rendered mobile navigation action is
   the only entry point and is emitted only when Show Chat on mobile is enabled. */
@media (max-width:700px){
  .ps-chat-header-control{display:none!important}
}

/* z120 — participant-local archived Chat deletion + own-message tombstones. */
.ps-chat-danger-link,.ps-chat-message-delete{color:#ff8d85}
.ps-chat-message-delete{border:0;background:transparent;text-decoration:underline;text-underline-offset:2px;padding:0;font-size:11px;cursor:pointer}
.ps-chat-message.is-deleted .ps-chat-message-bubble{opacity:.72}
.ps-chat-message-deleted{font-style:italic}
.ps-chat-delete-confirm>strong{line-height:1.45}

.ps-community-button-danger{border-color:rgba(255,77,66,.62);color:#ff9b94}

/* z121 Private Chat safety controls */
.ps-chat-conversation-tools{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.ps-chat-conversation-tools .ps-chat-danger-link{color:var(--ps-danger,#ff6b78)}
.ps-chat-safety-admin-actions .ps-moderation-action-row{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start}

.ps-chat-admin-report-context{margin:12px 0;padding:12px;border:1px solid var(--ps-border,#dcdcde);border-radius:8px}
.ps-chat-admin-report-context h5{margin:0 0 6px;font-size:14px}
.ps-chat-admin-context-list{display:grid;gap:8px;max-height:360px;overflow:auto}
.ps-chat-admin-context-row{padding:8px 10px;background:rgba(127,127,127,.08);border-radius:7px}
.ps-chat-admin-context-row p{margin:4px 0 0;white-space:pre-wrap}


/* v0.23.107 — Roadmap 19A private Group Chat. */
.ps-chat-group-avatar{width:38px;height:38px;min-width:38px;border-radius:50%;display:grid;place-items:center;background:rgba(127,127,127,.14)}
.ps-chat-group-avatar svg{width:21px;height:21px;fill:currentColor;opacity:.82}
.ps-chat-message-sender{font-size:11px;font-weight:700;opacity:.72;padding:0 4px}
.ps-chat-group-panel{gap:12px}
.ps-chat-group-member-list{display:grid;gap:8px;max-height:280px;overflow:auto;padding-right:2px}
.ps-chat-group-member{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;border:1px solid var(--ps-border,#343943);border-radius:10px}
.ps-chat-group-member-meta{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.ps-chat-group-role{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--ps-border,#343943);border-radius:999px;padding:3px 6px;opacity:.82}
.ps-chat-group-role.is-pending{opacity:.62}
.ps-chat-group-member-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.ps-chat-group-manage-name{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}
.ps-chat-group-manage-name label{margin:0}
.ps-chat-group-invite-results{max-height:220px;overflow:auto}
.ps-chat-group-panel input[type="text"],.ps-chat-group-panel input[type="search"]{width:100%}
@media (max-width:700px){
  .ps-chat-group-manage-name{grid-template-columns:1fr}
  .ps-chat-group-member{grid-template-columns:1fr}
  .ps-chat-group-member-meta{justify-content:flex-start}
  .ps-chat-group-member-actions{justify-content:flex-start}
}


/* v0.23.105.42z128 — Roadmap 12 unified Discussion actions + personal Hide */
.ps-discussion-actions-menu { position: relative; display: inline-flex; align-items: center; }
.ps-discussion-actions-menu > summary { list-style: none; display: inline-grid; place-items: center; width: 34px; height: 34px; min-width: 34px; border: 1px solid var(--ps-border, #293142); border-radius: 9px; color: var(--ps-muted, #a5adba); background: transparent; cursor: pointer; font-size: 1rem; line-height: 1; letter-spacing: .08em; }
.ps-discussion-actions-menu > summary::-webkit-details-marker { display: none; }
.ps-discussion-actions-menu > summary:hover,
.ps-discussion-actions-menu > summary:focus-visible,
.ps-discussion-actions-menu[open] > summary { color: var(--ps-text, #f5f7fb); border-color: rgba(229,36,64,.58); background: rgba(229,36,64,.09); outline: none; }
.ps-discussion-actions-panel { width: min(290px, calc(100vw - 32px)); display: grid; gap: 4px; margin: 0; padding: 8px; position: absolute; top: calc(100% + 8px); left: 0; z-index: 90; border: 1px solid var(--ps-border, #293142); border-radius: 12px; background: var(--ps-panel, #10151f); box-shadow: 0 18px 44px rgba(0,0,0,.38); }
.ps-discussion-actions-menu.is-align-right > .ps-discussion-actions-panel { left: auto; right: 0; }
.ps-discussion-actions-menu.is-open-up > .ps-discussion-actions-panel { top: auto; bottom: calc(100% + 8px); }
.ps-discussion-actions-panel .ps-discussion-menu-action,
.ps-discussion-actions-panel .ps-report-control-menu > summary { width: 100%; min-height: 40px; display: flex; align-items: center; justify-content: flex-start; padding: 9px 10px; border: 0; border-radius: 8px; background: transparent; color: var(--ps-text, #f5f7fb); font: inherit; font-size: .86rem; font-weight: 700; text-align: left; text-decoration: none; cursor: pointer; }
.ps-discussion-actions-panel .ps-discussion-menu-action:hover,
.ps-discussion-actions-panel .ps-discussion-menu-action:focus-visible,
.ps-discussion-actions-panel .ps-report-control-menu > summary:hover,
.ps-discussion-actions-panel .ps-report-control-menu > summary:focus-visible { background: rgba(255,255,255,.06); outline: none; }
.ps-discussion-actions-panel .ps-discussion-hide-action { color: #ff9aa8; }
.ps-discussion-actions-panel .ps-report-control-menu { width: 100%; position: static; }
.ps-discussion-actions-panel .ps-report-control-menu > summary::-webkit-details-marker { display: none; }
.ps-discussion-actions-panel .ps-report-control-menu .ps-report-form { position: static; width: 100%; margin: 4px 0 0; box-shadow: none; border-radius: 9px; }
/* z129: the unified Discussion menu belongs in the Discussion header, not the footer. */
.ps-discussion-actions-menu-single { margin: 0; }
.ps-discussion-actions-menu-single > summary { width: 40px; height: 40px; min-width: 40px; }
.ps-post-card-header-actions .ps-discussion-actions-menu,
.ps-single-thread-header-actions .ps-discussion-actions-menu { flex: 0 0 auto; }
.ps-post-card-header-actions .ps-discussion-actions-panel,
.ps-single-thread-header-actions .ps-discussion-actions-panel { left: auto; right: 0; }
.ps-post-card.is-ps-personally-hidden { opacity: 0; transform: translateY(-4px); transition: opacity .16s ease, transform .16s ease; pointer-events: none; }
@media (max-width: 640px) {
    .ps-discussion-actions-panel { position: fixed; left: 16px !important; right: 16px !important; top: auto !important; bottom: 16px !important; width: auto; max-height: min(72vh, 520px); overflow: auto; border-radius: 14px; }
}


/* v0.23.105.42z130 — Community Discussion Join + overflow header cluster. */
.ps-post-card-header-actions,
.ps-single-thread-header-actions {
    gap: 8px;
    flex-wrap: nowrap;
}
.ps-discussion-community-join-form {
    margin: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
}
.ps-discussion-community-join {
    box-sizing: border-box;
    min-width: 54px;
    height: 34px;
    padding: 0 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(229, 36, 64, .72);
    border-radius: 999px;
    background: var(--ps-accent, #d6253b);
    color: #fff;
    font: inherit;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
}
.ps-discussion-community-join:hover,
.ps-discussion-community-join:focus-visible {
    background: #ec3550;
    color: #fff;
    outline: none;
    box-shadow: 0 0 0 3px rgba(229, 36, 64, .18);
}
.ps-discussion-community-join.is-pending {
    border-color: var(--ps-border, #293142);
    background: transparent;
    color: var(--ps-muted, #a5adba);
    cursor: default;
    box-shadow: none;
}
.ps-single-thread-header-actions .ps-discussion-community-join {
    height: 40px;
    min-width: 62px;
    padding-inline: 15px;
}
.ps-discussion-actions-panel .ps-discussion-menu-login,
.ps-discussion-actions-panel .ps-discussion-menu-action.is-disabled {
    text-decoration: none;
}
.ps-discussion-actions-panel .ps-discussion-menu-action.is-disabled {
    cursor: default;
    opacity: .7;
}
@media (max-width: 560px) {
    .ps-post-card-header-actions,
    .ps-single-thread-header-actions { gap: 6px; }
    .ps-discussion-community-join { min-width: 50px; padding-inline: 11px; }
}


/* v0.23.105.42z132 — Community Discussion role-aware membership state + borderless overflow trigger. */
.ps-post-card-header-actions .ps-discussion-actions-menu > summary,
.ps-single-thread-header-actions .ps-discussion-actions-menu > summary {
    width: auto;
    min-width: 0;
    height: 34px;
    padding: 0 3px;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
}
.ps-single-thread-header-actions .ps-discussion-actions-menu-single > summary {
    width: auto;
    min-width: 0;
    height: 40px;
}
.ps-post-card-header-actions .ps-discussion-actions-menu > summary:hover,
.ps-post-card-header-actions .ps-discussion-actions-menu > summary:focus-visible,
.ps-post-card-header-actions .ps-discussion-actions-menu[open] > summary,
.ps-single-thread-header-actions .ps-discussion-actions-menu > summary:hover,
.ps-single-thread-header-actions .ps-discussion-actions-menu > summary:focus-visible,
.ps-single-thread-header-actions .ps-discussion-actions-menu[open] > summary {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--ps-text, #f5f7fb);
}
.ps-post-card-header-actions .ps-discussion-actions-menu > summary:focus-visible,
.ps-single-thread-header-actions .ps-discussion-actions-menu > summary:focus-visible {
    outline: 2px solid rgba(229,36,64,.72);
    outline-offset: 2px;
}
.ps-discussion-community-join.is-joined {
    border-color: rgba(255,255,255,.18);
    background: rgba(255,255,255,.08);
    color: var(--ps-text, #f5f7fb);
    cursor: default;
    box-shadow: none;
}
.ps-discussion-community-join.is-joined:hover,
.ps-discussion-community-join.is-joined:focus-visible {
    border-color: rgba(255,255,255,.18);
    background: rgba(255,255,255,.08);
    color: var(--ps-text, #f5f7fb);
    box-shadow: none;
}

/* v0.23.105.42z136 — Roadmap 13 Recognition dropdown polish.
   Keeps the existing Recognition system, but makes Discussion choices a compact
   bounded submenu and reply choices a real floating action popover. */
.ps-recognition-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    min-width: 0;
}
.ps-recognition-summary[hidden] { display: none !important; }
.ps-recognition-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 4px 9px;
    border: 1px solid rgba(148,163,184,.18);
    border-radius: 999px;
    background: rgba(255,255,255,.045);
    color: var(--ps-muted, #a5adba);
    font-size: .76rem;
    font-weight: 750;
    line-height: 1.1;
    white-space: nowrap;
}
.ps-recognition-chip strong {
    color: var(--ps-text, #f5f7fb);
    font-size: .72rem;
}
.ps-recognition-summary-single { margin: 14px 0 4px; }

.ps-recognition-picker {
    width: 100%;
    min-width: 0;
}
.ps-recognition-picker > summary {
    list-style: none;
    min-width: 0;
}
.ps-recognition-picker > summary::-webkit-details-marker { display: none; }
.ps-recognition-picker-summary::after {
    content: "";
    flex: 0 0 auto;
    width: 6px;
    height: 6px;
    margin-left: auto;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    opacity: .72;
    transform: rotate(45deg) translateY(-1px);
    transform-origin: center;
    transition: transform .14s ease, opacity .14s ease;
}
.ps-recognition-picker[open] > .ps-recognition-picker-summary::after {
    opacity: 1;
    transform: rotate(225deg) translate(-1px, -1px);
}
.ps-recognition-picker-panel {
    display: grid;
    gap: 2px;
    min-width: 0;
    box-sizing: border-box;
}
.ps-recognition-option {
    position: relative;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    display: grid;
    gap: 2px;
    padding: 8px 9px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: var(--ps-text, #f5f7fb);
    font: inherit;
    text-align: left;
    cursor: pointer;
    overflow: hidden;
}
.ps-recognition-option strong {
    min-width: 0;
    font-size: .8rem;
    line-height: 1.25;
}
.ps-recognition-option span {
    min-width: 0;
    color: var(--ps-muted, #a5adba);
    font-size: .69rem;
    line-height: 1.3;
    font-weight: 500;
    overflow-wrap: anywhere;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.ps-recognition-option:hover,
.ps-recognition-option:focus-visible {
    border-color: rgba(148,163,184,.18);
    background: rgba(255,255,255,.055);
    outline: none;
}
.ps-recognition-option.is-active {
    border-color: rgba(229,36,64,.38);
    background: rgba(229,36,64,.085);
    box-shadow: inset 2px 0 0 rgba(229,36,64,.78);
}
.ps-recognition-option.is-active strong { color: #ff9aaa; }
.ps-recognition-remove {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-top: 3px;
    border-top-color: rgba(148,163,184,.14);
    border-radius: 7px;
    color: #ff9aaa;
    font-weight: 750;
}
.ps-recognition-remove[hidden] { display: none !important; }
.ps-recognition-picker-status {
    min-height: 0;
    padding: 2px 8px 0;
    color: var(--ps-muted, #a5adba);
    font-size: .7rem;
    line-height: 1.3;
}
.ps-recognition-picker-status:empty { display: none; }
.ps-recognition-picker.is-busy { opacity: .72; }

/* Discussion Recognition stays inside the canonical three-dot menu, but it is
   bounded and compact instead of becoming a wide stack of cards. */
.ps-discussion-actions-panel {
    max-height: min(70vh, 560px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
}
.ps-discussion-actions-panel .ps-recognition-picker-discussion {
    width: 100%;
    min-width: 0;
}
.ps-discussion-actions-panel .ps-recognition-picker-discussion > summary {
    justify-content: flex-start;
    gap: 9px;
}
.ps-discussion-actions-panel .ps-recognition-picker-discussion > summary > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ps-discussion-actions-panel .ps-recognition-picker-discussion[open] > .ps-recognition-picker-summary {
    background: rgba(255,255,255,.055);
}
.ps-discussion-actions-panel .ps-recognition-picker-discussion .ps-recognition-picker-panel {
    width: 100%;
    min-width: 0;
    margin: 4px 0 3px;
    padding: 5px;
    border: 1px solid rgba(148,163,184,.13);
    border-radius: 9px;
    background: rgba(255,255,255,.018);
}

/* Reply Recognition behaves like the other floating reply tools. Opening it
   never changes the reply action row width/height. */
.ps-reply-actions .ps-recognition-summary-reply {
    flex: 0 1 auto;
    gap: 5px;
}
.ps-reply-actions .ps-recognition-summary-reply .ps-recognition-chip {
    min-height: 26px;
    padding: 3px 8px;
    font-size: .72rem;
}
.ps-reply-actions .ps-recognition-picker-reply {
    position: relative;
    width: auto;
    min-width: 0;
    flex: 0 0 auto;
}
.ps-reply-actions .ps-recognition-picker-reply > summary {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: auto;
    min-height: 28px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
    cursor: pointer;
}
.ps-reply-actions .ps-recognition-picker-reply > summary::after {
    margin-left: 1px;
    width: 5px;
    height: 5px;
}
.ps-reply-actions .ps-recognition-picker-reply > summary:hover,
.ps-reply-actions .ps-recognition-picker-reply[open] > summary {
    color: var(--ps-text, #f5f7fb);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.ps-reply-actions .ps-recognition-picker-reply > summary:focus-visible {
    outline: 2px solid rgba(229,36,64,.78);
    outline-offset: 3px;
    border-radius: 3px;
}
.ps-reply-actions .ps-recognition-picker-reply .ps-recognition-picker-panel {
    position: absolute;
    z-index: 120;
    top: calc(100% + 8px);
    left: 0;
    width: min(340px, calc(100vw - 32px));
    min-width: min(300px, calc(100vw - 32px));
    max-height: min(430px, calc(100vh - 32px));
    margin: 0;
    padding: 7px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid var(--ps-border, #293142);
    border-radius: 12px;
    background: var(--ps-panel, #10151f);
    box-shadow: 0 18px 44px rgba(0,0,0,.42);
}
.ps-reply-actions .ps-recognition-picker-reply.is-align-right > .ps-recognition-picker-panel {
    left: auto;
    right: 0;
}
.ps-reply-actions .ps-recognition-picker-reply.is-open-up > .ps-recognition-picker-panel {
    top: auto;
    bottom: calc(100% + 8px);
}

@media (max-width: 640px) {
    .ps-recognition-chip { white-space: normal; }
    .ps-discussion-actions-panel .ps-recognition-picker-discussion .ps-recognition-picker-panel {
        padding: 6px;
    }
    .ps-recognition-option { padding: 9px 10px; }
    .ps-reply-actions .ps-recognition-summary-reply { flex-basis: 100%; }
    .ps-reply-actions .ps-recognition-picker-reply .ps-recognition-picker-panel {
        position: fixed;
        z-index: 1000;
        top: auto !important;
        right: 12px !important;
        bottom: 12px !important;
        left: 12px !important;
        width: auto;
        min-width: 0;
        max-width: none;
        max-height: min(72vh, 560px);
        margin: 0;
        padding: 8px;
        border-radius: 14px;
        box-shadow: 0 24px 64px rgba(0,0,0,.55);
    }
}

/* v0.23.105.42z137 — Recognition mobile runtime + bottom-sheet state repair.
   Discussion Recognition remains nested in the canonical three-dot action menu,
   but on phones it becomes the active view of that bounded sheet instead of
   expanding underneath the ordinary action list. */
@media (max-width: 640px) {
    .ps-discussion-actions-menu[open] > .ps-discussion-actions-panel {
        z-index: 1000;
    }

    .ps-discussion-actions-menu.is-recognition-mobile-open > .ps-discussion-actions-panel {
        display: block;
        padding: 0;
        max-height: min(78vh, 620px);
        overflow: hidden;
    }

    .ps-discussion-actions-menu.is-recognition-mobile-open > .ps-discussion-actions-panel > :not(.ps-recognition-picker-discussion) {
        display: none !important;
    }

    .ps-discussion-actions-menu.is-recognition-mobile-open .ps-recognition-picker-discussion {
        display: grid;
        grid-template-rows: auto minmax(0, 1fr);
        width: 100%;
        max-height: min(78vh, 620px);
        min-height: 0;
    }

    .ps-discussion-actions-menu.is-recognition-mobile-open .ps-recognition-picker-discussion > .ps-recognition-picker-summary {
        position: relative;
        z-index: 2;
        display: flex;
        align-items: center;
        gap: 10px;
        width: 100%;
        min-height: 50px;
        padding: 12px 14px;
        border: 0;
        border-bottom: 1px solid rgba(148,163,184,.16);
        border-radius: 0;
        background: rgba(255,255,255,.025);
        color: var(--ps-text, #f5f7fb);
        text-decoration: none;
    }

    .ps-discussion-actions-menu.is-recognition-mobile-open .ps-recognition-picker-discussion > .ps-recognition-picker-summary::before {
        content: "←";
        flex: 0 0 auto;
        font-size: 1rem;
        line-height: 1;
        opacity: .9;
    }

    .ps-discussion-actions-menu.is-recognition-mobile-open .ps-recognition-picker-discussion > .ps-recognition-picker-summary::after {
        display: none;
    }

    .ps-discussion-actions-menu.is-recognition-mobile-open .ps-recognition-picker-discussion .ps-recognition-picker-panel {
        width: 100%;
        min-width: 0;
        max-height: calc(min(78vh, 620px) - 50px);
        margin: 0;
        padding: 8px;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .ps-discussion-actions-menu.is-recognition-mobile-open .ps-recognition-option {
        min-height: 48px;
        padding: 10px 11px;
    }
}

/* v0.23.105.42z138 — robust mobile Recognition sheet + floating-tool layering.
   The Recognition panel is fixed to the viewport whenever its disclosure is
   open on a phone, so it cannot be clipped by the parent Discussion action
   sheet. The z137 active-view class still hides the underlying action rows. */
.ps-recognition-mobile-back {
    display: none;
}

@media (max-width: 640px) {
    /* The Language drawer intentionally sits above ordinary page content, but
       must not intercept taps while a modal action sheet is active. */
    body.ps-action-popover-open .ps-language-drawer {
        z-index: 80;
        pointer-events: none;
    }

    .ps-discussion-actions-menu.is-recognition-mobile-open > .ps-discussion-actions-panel {
        overflow: visible;
        border-color: transparent;
        background: transparent;
        box-shadow: none;
        pointer-events: none;
    }

    .ps-discussion-actions-menu.is-recognition-mobile-open .ps-recognition-picker-discussion {
        pointer-events: auto;
    }

    .ps-recognition-picker-discussion[open] > .ps-recognition-picker-panel {
        position: fixed !important;
        z-index: 1002;
        top: max(72px, calc(env(safe-area-inset-top, 0px) + 56px)) !important;
        right: 12px !important;
        bottom: max(12px, env(safe-area-inset-bottom, 0px)) !important;
        left: 12px !important;
        display: grid;
        align-content: start;
        gap: 4px;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 8px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        border: 1px solid var(--ps-border, #293142) !important;
        border-radius: 16px !important;
        background: var(--ps-panel, #10151f) !important;
        box-shadow: 0 24px 64px rgba(0,0,0,.58) !important;
        -webkit-overflow-scrolling: touch;
        pointer-events: auto;
    }

    .ps-recognition-mobile-back {
        position: sticky;
        top: -8px;
        z-index: 2;
        display: flex;
        align-items: center;
        gap: 9px;
        width: calc(100% + 16px);
        min-height: 48px;
        margin: -8px -8px 4px;
        padding: 11px 14px;
        border: 0;
        border-bottom: 1px solid rgba(148,163,184,.16);
        border-radius: 16px 16px 0 0;
        background: var(--ps-panel, #10151f);
        color: var(--ps-text, #f5f7fb);
        font: inherit;
        font-size: .86rem;
        font-weight: 800;
        text-align: left;
        cursor: pointer;
    }

    .ps-recognition-mobile-back:focus-visible {
        outline: 2px solid rgba(229,36,64,.8);
        outline-offset: -4px;
    }

    .ps-recognition-picker-discussion[open] > .ps-recognition-picker-summary {
        /* The fixed sheet carries its own Back header; the nested summary stays
           as the state owner but should not form a second visible header. */
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        min-height: 0 !important;
        margin: -1px !important;
        padding: 0 !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        clip-path: inset(50%) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }

    .ps-recognition-picker-discussion[open] > .ps-recognition-picker-panel .ps-recognition-option {
        min-height: 52px;
        padding: 10px 11px;
    }

    .ps-recognition-picker-discussion[open] > .ps-recognition-picker-panel .ps-recognition-option span {
        -webkit-line-clamp: 3;
    }
}


/* v0.23.105.42z140 — mobile action-sheet hit-testing + floating-control collision fix.
   The old body pseudo-backdrop could live in a root stacking/compositing layer
   above nested fixed action panels on some mobile/browser layouts. Remove that
   visual pseudo-layer entirely; JavaScript now owns outside-tap dismissal. */
@media (max-width: 640px) {
    body.ps-action-popover-open::before {
        content: none !important;
        display: none !important;
        background: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        pointer-events: none !important;
    }

    /* Floating page utilities must never cover or intercept the modal-like
       Discussion/Recognition action experience. Restore automatically when
       the final action popover closes and the body state class is removed. */
    body.ps-action-popover-open .ps-language-drawer,
    body.ps-action-popover-open .ps-page-scroll-rail {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    /* Keep the actionable sheet itself pointer-active. */
    body.ps-action-popover-open [data-ps-action-popover="1"][open] > .ps-discussion-actions-panel,
    body.ps-action-popover-open [data-ps-action-popover="1"][open] > .ps-report-form,
    body.ps-action-popover-open [data-ps-action-popover="1"][open] > .ps-moderator-quick-grid,
    body.ps-action-popover-open [data-ps-action-popover="1"][open] > .ps-duplicate-form,
    body.ps-action-popover-open [data-ps-action-popover="1"][open] > form,
    body.ps-action-popover-open .ps-recognition-picker-discussion[open] > .ps-recognition-picker-panel {
        pointer-events: auto !important;
    }
}

/* v0.23.105.42z201 — fenced-code feed preview hardening */
.ps-post-excerpt .ps-thread-feed-preview,
[data-ps-thread-card-excerpt] .ps-thread-feed-preview {
    display: grid;
    gap: .65rem;
    min-width: 0;
}
.ps-post-excerpt .ps-thread-feed-preview-text,
[data-ps-thread-card-excerpt] .ps-thread-feed-preview-text {
    margin: 0;
}
.ps-post-excerpt .ps-code-block-preview,
[data-ps-thread-card-excerpt] .ps-code-block-preview {
    margin: .35rem 0;
    min-width: 0;
    max-width: 100%;
}
.ps-post-excerpt .ps-code-block-preview pre,
[data-ps-thread-card-excerpt] .ps-code-block-preview pre {
    width: 100%;
    max-width: 100%;
    max-height: 220px;
    overflow: auto;
}



/* v0.23.106q — Roadmap 18G member first-use guidance. */
.ps-account-first-use{margin:0 0 22px;padding:22px}.ps-account-first-use-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.ps-account-first-use-head h3{margin:4px 0 8px}.ps-account-first-use-head p{margin:0;max-width:760px}.ps-first-use-dismiss-form{flex:0 0 auto;margin:0}.ps-account-first-use-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.ps-first-use-step{min-width:0;border:1px solid var(--ps-border,#d8dee6);border-radius:12px;padding:16px;background:var(--ps-surface,#fff)}.ps-first-use-step.is-complete{opacity:.78}.ps-first-use-step h4{margin:7px 0}.ps-first-use-step p{margin:0 0 10px}.ps-first-use-status{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:999px;font-size:.78rem;font-weight:700;background:rgba(127,127,127,.12)}.ps-first-use-step.is-complete .ps-first-use-status{background:rgba(35,134,54,.12)}.ps-first-use-chat-note{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--ps-border,#d8dee6)}.ps-my-communities-empty{margin:0;padding:24px}.ps-my-communities-empty h3{margin-top:0}.ps-my-communities-empty-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.ps-my-communities-empty-actions .ps-community-button{margin:0}
@media(max-width:820px){.ps-account-first-use-grid{grid-template-columns:1fr}.ps-account-first-use-head{align-items:stretch}.ps-first-use-dismiss-form{align-self:flex-start}}
@media(max-width:560px){.ps-account-first-use{padding:16px}.ps-account-first-use-head{flex-direction:column;gap:10px}.ps-my-communities-empty{padding:18px}.ps-my-communities-empty-actions{display:grid;grid-template-columns:1fr}.ps-my-communities-empty-actions .ps-community-button{width:100%;justify-content:center}}

/* v0.23.107a — Private Chat drawer viewport/composer containment side patch.
   Keep chrome and composer reachable; only message history may consume the
   remaining vertical space. This intentionally overrides the older inner grid
   so wrapped conversation tools cannot push the send control below the drawer. */
.ps-chat-shell{min-height:0;overflow:hidden}
.ps-chat-body{min-height:0;overflow:hidden;display:flex;flex-direction:column}
.ps-chat-body>.ps-chat-welcome,
.ps-chat-body>.ps-chat-list-view,
.ps-chat-body>.ps-chat-new-view,
.ps-chat-body>.ps-chat-group-new-view,
.ps-chat-body>.ps-chat-conversation-view{flex:1 1 auto;min-height:0;max-height:100%}
.ps-chat-conversation-view{height:auto;display:flex;flex-direction:column;overflow:hidden}
.ps-chat-conversation-head,
.ps-chat-request-actions,
.ps-chat-report-panel,
.ps-chat-compose{flex:0 0 auto;min-height:0}
.ps-chat-messages{flex:1 1 0;height:0;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.ps-chat-compose{position:relative;z-index:3;margin:0;padding:10px 12px max(10px,env(safe-area-inset-bottom));box-sizing:border-box;box-shadow:0 -8px 18px rgba(0,0,0,.08)}
.ps-chat-compose textarea{box-sizing:border-box;display:block;min-height:52px;height:52px;max-height:96px;resize:none;overflow-y:auto;margin:0 0 8px}
.ps-chat-compose-row{min-height:40px;flex:0 0 auto}
.ps-chat-compose [data-ps-chat-send]{flex:0 0 auto;min-width:88px;min-height:40px;white-space:nowrap}
.ps-chat-compose [data-ps-chat-send]::after{content:"➜";display:inline-block;margin-left:7px;font-size:1.05em;line-height:1;transform:translateY(-.02em)}
@media (max-height:700px) and (min-width:701px){
  .ps-chat-drawer{top:72px;bottom:8px;height:auto;max-height:none}
  .ps-chat-head{min-height:50px;padding-block:8px}
  .ps-chat-toolbar{padding-block:6px}
  .ps-chat-conversation-head{padding-block:8px}
  .ps-chat-messages{padding-block:10px}
  .ps-chat-compose{padding-top:8px}
  .ps-chat-compose textarea{min-height:44px;height:44px;max-height:78px}
}
@media (max-width:700px){
  .ps-chat-drawer[data-mobile-enabled="1"]{overflow:hidden}
  .ps-chat-compose{padding-bottom:max(10px,env(safe-area-inset-bottom))}
  .ps-chat-compose-row{gap:8px}
  .ps-chat-compose [data-ps-chat-send]{min-width:82px}
}


/* v0.23.107b — measured Private Chat viewport contract.
   JavaScript reserves the real rendered height of conversation chrome and the
   full composer (textarea + send row) before sizing message history. These
   guards prevent wrapped actions or report panels from becoming unbounded. */
.ps-chat-drawer{box-sizing:border-box;max-height:calc(100dvh - 32px)}
.ps-chat-shell{height:100%;max-height:100%;min-height:0;overflow:hidden}
.ps-chat-body{box-sizing:border-box;min-height:0;max-height:100%;overflow:hidden}
.ps-chat-conversation-view{box-sizing:border-box;min-height:0;max-height:100%;overflow:hidden}
.ps-chat-conversation-head{box-sizing:border-box;max-height:min(180px,32dvh);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.ps-chat-request-actions{box-sizing:border-box;max-height:min(180px,30dvh);overflow-y:auto;overscroll-behavior:contain}
.ps-chat-report-panel{box-sizing:border-box;max-height:min(300px,42dvh);overflow-y:auto;overscroll-behavior:contain}
.ps-chat-messages{box-sizing:border-box;min-height:0!important;overflow-y:auto!important}
.ps-chat-compose{box-sizing:border-box;flex:0 0 auto!important;min-height:0;max-height:none;overflow:visible}
.ps-chat-compose-row{display:flex!important;visibility:visible;flex:0 0 auto;min-height:40px}
.ps-chat-compose [data-ps-chat-send]{display:inline-flex!important;visibility:visible;align-items:center;justify-content:center}
@media (max-width:700px){
  .ps-chat-drawer[data-mobile-enabled="1"]{max-height:none}
  .ps-chat-conversation-head{max-height:min(170px,28dvh)}
  .ps-chat-request-actions{max-height:min(150px,24dvh)}
  .ps-chat-report-panel{max-height:min(260px,38dvh)}
}

/* Roadmap 19B — private Chat media & attachments */
.ps-chat-media-toolbar{display:grid;gap:7px;margin:0 0 8px;padding:8px;border:1px solid var(--ps-border,#343943);border-radius:10px;background:rgba(255,255,255,.025)}
.ps-chat-media-toolbar[hidden]{display:none!important}
.ps-chat-media-private{font-size:11px;line-height:1.35;opacity:.72}
.ps-chat-media-buttons{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.ps-chat-media-button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:5px 10px;border:1px solid var(--ps-border,#343943);border-radius:9px;background:rgba(255,255,255,.04);font-size:12px;font-weight:600;cursor:pointer}
.ps-chat-media-button:hover,.ps-chat-media-button:focus-within{border-color:rgba(239,68,68,.7);background:rgba(239,68,68,.08)}
.ps-chat-media-selected{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:start;padding-top:6px;border-top:1px solid rgba(255,255,255,.08);font-size:11px}
.ps-chat-media-selected[hidden]{display:none!important}
.ps-chat-media-selected strong{grid-column:1/2}
.ps-chat-media-selected span{grid-column:1/2;overflow-wrap:anywhere;opacity:.78}
.ps-chat-media-selected button{grid-column:2/3;grid-row:1/3;align-self:center}
.ps-chat-compose-hint{font-size:11px;line-height:1.35;opacity:.72}
.ps-chat-message-media{display:grid;gap:7px;margin-top:7px;white-space:normal!important}
.ps-chat-message-media:first-child{margin-top:0}
.ps-chat-media-image{display:block;overflow:hidden;border-radius:10px;max-width:min(290px,100%);background:#0d1015}
.ps-chat-media-image img{display:block;width:auto;max-width:100%;max-height:280px;object-fit:contain;margin:0}
.ps-chat-media-video{display:block;width:min(320px,100%);max-height:300px;border-radius:10px;background:#000}
.ps-chat-media-file{display:flex;align-items:center;gap:8px;max-width:100%;padding:8px 10px;border:1px solid var(--ps-border,#343943);border-radius:9px;background:rgba(255,255,255,.035);color:inherit;text-decoration:none;overflow-wrap:anywhere}
.ps-chat-media-file:hover{text-decoration:none;border-color:rgba(239,68,68,.65)}
.ps-chat-message-text+.ps-chat-message-media{margin-top:8px}
.ps-chat-admin-media{margin:6px 0 0 18px}
@media (max-width:640px){
  .ps-chat-media-image img{max-height:220px}
  .ps-chat-media-video{max-height:230px}
  .ps-chat-media-selected{grid-template-columns:1fr}
  .ps-chat-media-selected button{grid-column:1;grid-row:auto;justify-self:start}
}

/* v0.23.107f — Chat media limits + private media viewer. */
.ps-chat-media-buttons{display:grid;grid-template-columns:1fr;gap:7px;align-items:stretch}
.ps-chat-media-control{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center;min-width:0;padding:7px;border:1px solid rgba(255,255,255,.075);border-radius:9px;background:rgba(255,255,255,.018)}
.ps-chat-media-control .ps-chat-media-button{min-width:64px;margin:0}
.ps-chat-media-limit-copy{display:grid;gap:2px;min-width:0;font-size:10px;line-height:1.25;color:rgba(232,237,245,.68)}
.ps-chat-media-limit-copy span{min-width:0;overflow-wrap:anywhere}
.ps-chat-media-limit-copy b{color:rgba(255,255,255,.9);font-weight:700}
.ps-chat-message-media{display:grid;gap:7px;margin-top:7px}
.ps-chat-media-image,.ps-chat-media-video-trigger{position:relative;display:block;width:fit-content;max-width:100%;margin:0;padding:0;border:0;border-radius:10px;background:#0d1015;overflow:hidden;cursor:zoom-in;text-align:left}
.ps-chat-media-image:focus-visible,.ps-chat-media-video-trigger:focus-visible{outline:2px solid var(--ps-accent,#ef4444);outline-offset:2px}
.ps-chat-media-image img{display:block;width:auto;max-width:100%;max-height:280px;object-fit:contain;margin:0}
.ps-chat-media-video-trigger{width:min(320px,100%)}
.ps-chat-media-video{display:block;width:100%;max-height:300px;object-fit:contain;border-radius:10px;background:#000}
.ps-chat-media-expand{position:absolute;right:7px;top:7px;display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:999px;background:rgba(5,8,12,.82);color:#fff;font-size:13px;line-height:1;box-shadow:0 1px 5px rgba(0,0,0,.3)}
.ps-chat-media-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding-left:3px;border-radius:999px;background:rgba(239,68,68,.92);color:#fff;font-size:18px;box-shadow:0 3px 16px rgba(0,0,0,.35)}
html.ps-chat-media-viewer-open{overflow:hidden}
.ps-chat-media-viewer[hidden]{display:none!important}
.ps-chat-media-viewer{position:fixed;inset:0;z-index:1000000;display:flex;align-items:center;justify-content:center;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:rgba(3,6,10,.94);backdrop-filter:blur(5px)}
.ps-chat-media-viewer-stage{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-width:0;min-height:0}
.ps-chat-media-viewer-image,.ps-chat-media-viewer-video{display:block;max-width:min(94vw,1500px);max-height:90vh;width:auto;height:auto;object-fit:contain;border-radius:10px;background:#000;box-shadow:0 18px 60px rgba(0,0,0,.55)}
.ps-chat-media-viewer-video{width:min(94vw,1280px)}
.ps-chat-media-viewer-close{position:fixed;right:max(18px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));z-index:2;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(15,18,24,.9);color:#fff;font-size:28px;line-height:1;cursor:pointer}
.ps-chat-media-viewer-close:hover,.ps-chat-media-viewer-close:focus-visible{border-color:#ef4444;background:#251014;outline:none}
@media (max-width:720px){.ps-chat-media-control{grid-template-columns:64px minmax(0,1fr);gap:7px;padding:6px}.ps-chat-media-limit-copy{font-size:9.5px}.ps-chat-media-image img{max-height:220px}.ps-chat-media-video{max-height:230px}.ps-chat-media-viewer{padding:58px 10px 18px}.ps-chat-media-viewer-image,.ps-chat-media-viewer-video{max-width:96vw;max-height:82vh}}
.ps-chat-media-control.is-disabled{opacity:.66}
.ps-chat-media-control.is-disabled .ps-chat-media-button{cursor:not-allowed;border-style:dashed;background:rgba(255,255,255,.025)}

/* v0.23.107i — compact Chat media toolbar + single accessible help legend. */
.ps-chat-media-toolbar{position:relative;gap:5px;margin:0 0 6px;padding:6px 7px}
.ps-chat-media-toolbar-head{display:flex;align-items:center;justify-content:flex-end;min-height:22px}
.ps-chat-media-security{display:inline-flex;align-items:center;gap:6px}
.ps-chat-media-private{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;line-height:1;color:rgba(232,237,245,.58);white-space:nowrap}
.ps-chat-media-help-button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.045);color:#e8edf5;font-size:12px;font-weight:800;line-height:1;cursor:pointer}
.ps-chat-media-help-button:hover,.ps-chat-media-help-button:focus-visible,.ps-chat-media-help-button[aria-expanded="true"]{border-color:rgba(239,68,68,.75);background:rgba(239,68,68,.12);outline:none}
.ps-chat-media-help-panel{position:absolute;right:6px;bottom:calc(100% - 24px);z-index:42;width:min(390px,calc(100vw - 42px));max-height:min(440px,58dvh);overflow:auto;padding:12px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:#11151c;color:#e8edf5;box-shadow:0 18px 48px rgba(0,0,0,.52)}
.ps-chat-media-help-panel[hidden]{display:none!important}
.ps-chat-media-help-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.1)}
.ps-chat-media-help-head strong{font-size:14px;line-height:1.3}
.ps-chat-media-help-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:transparent;color:#fff;font-size:19px;line-height:1;cursor:pointer}
.ps-chat-media-help-close:hover,.ps-chat-media-help-close:focus-visible{border-color:#ef4444;background:rgba(239,68,68,.1);outline:none}
.ps-chat-media-help-grid{display:grid;gap:9px}
.ps-chat-media-help-item{padding:10px;border:1px solid rgba(255,255,255,.09);border-radius:9px;background:rgba(255,255,255,.025)}
.ps-chat-media-help-item h4{margin:0 0 6px;font-size:13px;color:#fff}
.ps-chat-media-help-item p{margin:4px 0;font-size:11.5px;line-height:1.45;color:rgba(232,237,245,.84);overflow-wrap:anywhere}
.ps-chat-media-help-item strong{color:#fff}
.ps-chat-media-help-types{color:rgba(232,237,245,.6)!important;font-size:10.5px!important}
.ps-chat-media-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;align-items:center}
.ps-chat-media-control{position:relative;display:block;min-width:0;padding:0;border:0;background:transparent}
.ps-chat-media-control .ps-chat-media-button{display:flex;width:100%;min-width:0;min-height:32px;margin:0;padding:5px 8px}
.ps-chat-media-control.is-disabled{opacity:.72}
.ps-chat-media-control.is-disabled .ps-chat-media-button{cursor:not-allowed;border-style:dashed;background:rgba(255,255,255,.025)}
.ps-chat-media-limit-copy{display:none!important}
.ps-chat-media-file{position:relative;width:fit-content;cursor:pointer;text-align:left;font:inherit}
.ps-chat-media-file .ps-chat-media-expand{position:static;flex:0 0 auto;margin-left:auto;width:22px;height:22px;font-size:11px}
.ps-chat-media-viewer-stage{overflow:auto;padding:14px}
.ps-chat-media-viewer-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;max-width:min(94vw,1500px);max-height:92vh;min-width:0}
.ps-chat-media-viewer-visual{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;max-height:calc(90vh - 88px)}
.ps-chat-media-viewer-card .ps-chat-media-viewer-image,.ps-chat-media-viewer-card .ps-chat-media-viewer-video{max-height:calc(90vh - 105px)}
.ps-chat-media-viewer-info{display:flex;align-items:center;justify-content:center;gap:9px 14px;flex-wrap:wrap;max-width:min(94vw,980px);padding:10px 12px;border:1px solid rgba(255,255,255,.13);border-radius:10px;background:rgba(15,18,24,.94);color:#e8edf5}
.ps-chat-media-viewer-info strong{max-width:520px;overflow-wrap:anywhere}
.ps-chat-media-viewer-info>span{font-size:11px;color:rgba(232,237,245,.66);overflow-wrap:anywhere}
.ps-chat-media-download{min-height:34px!important;padding:6px 12px!important;text-decoration:none!important}
.ps-chat-media-viewer-card-attachment{width:min(92vw,520px);padding:26px 22px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:#11151c;box-shadow:0 18px 60px rgba(0,0,0,.55)}
.ps-chat-media-viewer-file-icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:16px;background:rgba(239,68,68,.10);font-size:34px}
.ps-chat-media-viewer-card-attachment .ps-chat-media-viewer-info{width:100%;border:0;background:transparent;padding:0}
@media (max-width:720px){.ps-chat-media-toolbar{padding:6px}.ps-chat-media-buttons{gap:5px}.ps-chat-media-control .ps-chat-media-button{min-height:31px;padding:5px 6px;font-size:11px}.ps-chat-media-help-panel{right:4px;width:min(360px,calc(100vw - 28px));max-height:52dvh;padding:10px}.ps-chat-media-help-item p{font-size:11px}.ps-chat-media-viewer-stage{padding:8px}.ps-chat-media-viewer-info{gap:7px 10px;padding:8px 10px}.ps-chat-media-viewer-card-attachment{padding:20px 14px}}

/* v0.23.107k — private Chat local-only message translation */
.ps-chat-translation-toggle{
    appearance:none;
    border:0;
    background:transparent;
    color:var(--ps-link,#ff7a86);
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    min-height:24px;
    margin:5px 0 0;
    padding:0;
    font:inherit;
    font-size:11px;
    line-height:1.25;
    text-decoration:underline;
    text-underline-offset:2px;
}
.ps-chat-translation-toggle:hover,.ps-chat-translation-toggle:focus-visible{opacity:.9;text-decoration-thickness:2px}
.ps-chat-message-text[dir="rtl"]{text-align:right;unicode-bidi:plaintext}


/* v0.23.108b — Private Chat composer DOM/layout containment + compact media action row. */
.ps-chat-compose[hidden]{display:none!important}
.ps-chat-compose{display:grid;grid-template-rows:auto auto auto;gap:8px}
.ps-chat-compose textarea{margin:0!important}
.ps-chat-media-toolbar{margin:0!important;padding:7px 8px!important;gap:7px!important}
.ps-chat-media-toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.ps-chat-media-buttons{display:flex!important;align-items:center!important;flex:1 1 auto;flex-wrap:nowrap!important;gap:6px!important;min-width:0}
.ps-chat-media-control{flex:0 1 auto;min-width:0}
.ps-chat-media-control .ps-chat-media-button{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;width:auto!important;min-width:0;min-height:34px!important;padding:6px 9px!important;white-space:nowrap}
.ps-chat-media-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex:0 0 16px}
.ps-chat-media-icon svg{display:block;width:16px;height:16px;fill:currentColor}
.ps-chat-media-security{display:inline-flex!important;align-items:center;justify-content:flex-end;gap:6px;flex:0 0 auto;margin-left:auto}
.ps-chat-media-toolbar-head{display:none!important}
.ps-chat-media-selected{box-sizing:border-box;max-height:64px;overflow:auto;min-width:0;padding-top:6px!important}
.ps-chat-media-selected span{min-width:0;white-space:nowrap;overflow:hidden!important;text-overflow:ellipsis}
.ps-chat-compose-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:40px;margin:0}
.ps-chat-compose-hint{min-width:0;overflow-wrap:anywhere}
.ps-chat-compose [data-ps-chat-send]{justify-self:end;align-self:center;min-width:88px;max-width:100%;margin:0}
.ps-chat-compose [data-ps-chat-send]:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:420px){
  .ps-chat-media-toolbar-row{gap:6px}
  .ps-chat-media-buttons{gap:4px!important}
  .ps-chat-media-control .ps-chat-media-button{gap:4px;padding:6px 7px!important;font-size:10.5px}
  .ps-chat-media-icon,.ps-chat-media-icon svg{width:14px;height:14px;flex-basis:14px}
  .ps-chat-media-private{font-size:9px!important}
  .ps-chat-compose-row{gap:8px}
  .ps-chat-compose [data-ps-chat-send]{min-width:78px}
}


/* v0.23.121 — keep the Private Chat composer inert while media is uploading. */
.ps-chat-compose{position:relative}
.ps-chat-compose.is-media-uploading{cursor:progress}
.ps-chat-compose.is-media-uploading::after{
    content:attr(data-ps-chat-upload-label);
    position:absolute;
    inset:0;
    z-index:8;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:100%;
    padding:10px;
    box-sizing:border-box;
    border-radius:10px;
    background:rgba(12,15,20,.82);
    color:inherit;
    font-weight:600;
    text-align:center;
    pointer-events:auto;
}
.ps-chat-compose.is-media-uploading button,
.ps-chat-compose.is-media-uploading input,
.ps-chat-compose.is-media-uploading textarea,
.ps-chat-compose.is-media-uploading select{cursor:progress!important}

/* v0.23.122 — Roadmap 22A member trophies and profile Trophy Showcase. */
.ps-trophy-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
    gap: .7rem;
}
.ps-trophy-list.is-compact {
    grid-template-columns: 1fr;
    gap: .58rem;
}
.ps-trophy-item {
    display: flex;
    align-items: center;
    gap: .72rem;
    min-width: 0;
    padding: .75rem;
    border: 1px solid rgba(234,179,8,.3);
    border-radius: 13px;
    background: rgba(234,179,8,.065);
}
.ps-trophy-item.is-compact {
    padding: .48rem .2rem;
    border: 0;
    border-radius: 0;
    background: transparent;
}
.ps-trophy-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    border: 2px solid rgba(234,179,8,.48);
    border-radius: 50%;
    background: rgba(234,179,8,.12);
    font-size: .76rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -.02em;
    text-align: center;
}
.ps-trophy-item.is-compact .ps-trophy-icon {
    flex-basis: 38px;
    width: 38px;
    height: 38px;
    font-size: .68rem;
}
.ps-trophy-copy {
    display: grid;
    gap: .14rem;
    min-width: 0;
}
.ps-trophy-copy strong {
    overflow-wrap: anywhere;
    font-size: .88rem;
}
.ps-trophy-copy > span {
    color: var(--ps-muted,#aab3c3);
    font-size: .78rem;
    line-height: 1.42;
}
.ps-trophy-panel + .ps-trophy-showcase-manager,
.ps-trophy-showcase-manager + .ps-trophy-progress-panel {
    margin-top: 1rem;
}
.ps-trophy-showcase-picker {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
    gap: .72rem;
    margin: .85rem 0;
}
.ps-trophy-showcase-choice {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    gap: .6rem;
    align-items: center;
    padding: .6rem .7rem;
    border: 1px solid var(--ps-border,rgba(255,255,255,.12));
    border-radius: 12px;
    cursor: pointer;
}
.ps-trophy-showcase-choice:has(input:checked) {
    border-color: rgba(234,179,8,.48);
    background: rgba(234,179,8,.07);
}
.ps-trophy-showcase-choice input {
    width: auto;
    margin: 0;
}
.ps-trophy-showcase-choice .ps-trophy-item {
    padding: 0;
}
.ps-trophy-progress-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
    gap: .8rem;
}
.ps-trophy-progress-item {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    gap: .72rem;
    align-items: start;
    padding: .85rem;
    border: 1px solid var(--ps-border,rgba(255,255,255,.12));
    border-radius: 12px;
}
.ps-trophy-progress-item.is-earned {
    border-color: rgba(234,179,8,.35);
}
.ps-trophy-progress-item p {
    margin: .25rem 0 .42rem;
}
.ps-trophy-earned-text,
.ps-trophy-progress-text {
    font-size: .78rem;
    opacity: .82;
}
.ps-profile-trophies-card .ps-profile-trophy-manage {
    display: inline-flex;
    margin-top: .7rem;
    font-size: .8rem;
    font-weight: 700;
    text-decoration: none;
}

@media (max-width: 520px) {
    .ps-trophy-showcase-picker,
    .ps-trophy-progress-list,
    .ps-trophy-list {
        grid-template-columns: 1fr;
    }
}

/* v0.23.122b — Trophy artwork retained; profile now uses the normal site shell/container layout. */
.ps-trophy-icon {
    position: relative;
    overflow: hidden;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    padding: 2px;
    border: 2px solid rgba(234,179,8,.82);
    border-radius: 50%;
    background: #21180b;
    box-shadow: inset 0 0 0 1px rgba(255,225,128,.22), 0 4px 12px rgba(0,0,0,.18);
}
.ps-trophy-icon img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    border-radius: 50%;
    object-fit: cover;
    object-position: center;
}
.ps-trophy-year-value {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: #ffe293;
    font-size: .67rem;
    font-weight: 950;
    letter-spacing: -.04em;
    text-shadow: 0 1px 2px #000, 0 0 5px rgba(0,0,0,.9);
    pointer-events: none;
}
.ps-trophy-item.is-compact .ps-trophy-icon {
    flex-basis: 44px;
    width: 44px;
    height: 44px;
}
.ps-trophy-progress-item .ps-trophy-icon {
    flex-basis: 52px;
    width: 52px;
    height: 52px;
}
.ps-profile-trophies-card .ps-trophy-list.is-compact {
    gap: .45rem;
}


/* v0.23.124e — frontend action-link contrast parity.
   Theme link/visited states must never recolor button text into the accent
   background. Keep solid and secondary Community action labels readable. */
body:not(.wp-admin) a.ps-community-button,
body:not(.wp-admin) a.ps-community-button:visited,
body:not(.wp-admin) a.ps-community-button:hover,
body:not(.wp-admin) a.ps-community-button:focus,
body:not(.wp-admin) a.ps-community-button:focus-visible {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

/* v0.23.124e — Pro benefits use always-open information panels, never
   accordions. The same authoritative catalog renders short visitor copy and
   full signed-in details. */
.ps-pro-benefits-card { display:grid; gap:12px; }
.ps-pro-benefits-card > h3,
.ps-pro-benefits-card > .ps-pro-benefits-intro { margin:0; }
.ps-pro-benefits-intro { opacity:.82; line-height:1.55; }
.ps-pro-benefit-list { display:grid; gap:10px; }
.ps-pro-benefit-item {
    overflow:hidden;
    border:1px solid rgba(148,163,184,.22);
    border-radius:12px;
    background:rgba(15,23,42,.34);
}
.ps-pro-benefit-title {
    padding:11px 13px;
    border-bottom:1px solid rgba(148,163,184,.16);
    background:rgba(255,255,255,.025);
}
.ps-pro-benefit-title strong { display:block; line-height:1.35; }
.ps-pro-benefit-detail { padding:11px 13px 12px; }
.ps-pro-benefit-detail p { margin:0; line-height:1.58; }
.ps-pro-benefit-list.is-summary .ps-pro-benefit-detail { padding-top:9px; padding-bottom:10px; }
.ps-pro-benefit-list.is-summary .ps-pro-benefit-detail p { opacity:.84; }
.ps-pro-public-overview { display:grid; gap:18px; }
.ps-pro-public-overview .ps-membership-card { margin-bottom:0; }
.ps-pro-public-hero .ps-account-guest-summary p { margin:8px 0 0; }
.ps-account-guest-feature-link { display:inline-flex; margin-top:6px; font-weight:700; text-decoration:none; }
.ps-pro-product-benefits {
    display:grid;
    gap:12px;
    clear:both;
    margin:24px 0 10px;
    padding:18px;
    border:1px solid rgba(148,163,184,.24);
    border-radius:16px;
    background:rgba(15,23,42,.5);
}
.ps-pro-product-benefits h2,
.ps-pro-product-benefits > p { margin:0; }
@media (max-width:620px) {
    .ps-pro-benefit-title,
    .ps-pro-benefit-detail { padding-left:11px; padding-right:11px; }
    .ps-pro-product-benefits { padding:14px; }
}


/* Roadmap 23C-1 Project Entity Foundation */
.ps-projects-account{display:grid;gap:22px}.ps-projects-account-intro{margin:0;color:var(--ps-muted,#aab3c5);line-height:1.65}.ps-project-editor{display:grid;gap:18px;padding:20px;border:1px solid var(--ps-border,#293346);border-radius:16px;background:var(--ps-card,#111827)}.ps-project-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ps-project-field{display:grid;gap:7px;min-width:0}.ps-project-field-wide{grid-column:1/-1}.ps-project-field>span,.ps-project-github-fieldset legend{font-weight:750}.ps-project-field small,.ps-project-github-fieldset p{color:var(--ps-muted,#98a2b3);line-height:1.5}.ps-project-field input,.ps-project-field textarea,.ps-project-field select{width:100%;box-sizing:border-box}.ps-project-url-field{align-self:start;align-content:start}.ps-project-url-field input[type=url]{min-height:46px;height:46px}.ps-project-readonly-value{width:100%;box-sizing:border-box;min-height:46px;display:flex;align-items:center;padding:10px 12px;border:1px solid var(--ps-border,#293346);border-radius:10px;background:rgba(255,255,255,.025);color:var(--ps-text,#e8edf6);font-weight:650}.ps-project-field-readonly{align-self:start}.ps-project-github-fieldset{display:grid;gap:12px;margin:0;padding:16px;border:1px solid var(--ps-border,#293346);border-radius:14px}.ps-project-checkbox{display:flex;align-items:flex-start;gap:9px}.ps-project-checkbox input{margin-top:4px}.ps-project-github-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ps-project-github-choices label{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border:1px solid var(--ps-border,#293346);border-radius:10px}.ps-project-form-actions,.ps-project-account-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.ps-projects-list-section{display:grid;gap:12px}.ps-projects-list-section h3{margin:0}.ps-projects-account-list{display:grid;gap:10px}.ps-project-account-card{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--ps-border,#293346);border-radius:12px;background:var(--ps-card,#111827)}.ps-project-account-card>div:first-child{display:grid;gap:4px}.ps-project-account-card span{color:var(--ps-muted,#98a2b3);font-size:.88rem}.ps-project-account-actions form{margin:0}.ps-project-account-actions button{appearance:none;border:0;background:none;padding:0;color:var(--ps-accent,#ff365f);font:inherit;cursor:pointer;text-decoration:underline}.ps-project-single{display:grid;gap:24px;padding-block:30px}.ps-project-single-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:24px;border:1px solid var(--ps-border,#293346);border-radius:18px;background:var(--ps-card,#111827)}.ps-project-single-header h1{margin:.2rem 0 .65rem}.ps-project-single-header p{margin:0;max-width:760px;color:var(--ps-muted,#aab3c5);line-height:1.65}.ps-project-kicker{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ps-accent,#ff365f)}.ps-project-meta-pills{display:flex;gap:8px;flex-wrap:wrap}.ps-project-meta-pills span,.ps-project-tech-list span{display:inline-flex;padding:6px 10px;border:1px solid var(--ps-border,#293346);border-radius:999px;font-size:.82rem}.ps-project-single-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.ps-project-main,.ps-project-sidebar{display:grid;gap:16px}.ps-project-section,.ps-project-sidebar-card{padding:20px;border:1px solid var(--ps-border,#293346);border-radius:16px;background:var(--ps-card,#111827)}.ps-project-section h2,.ps-project-sidebar-card h2{margin:0 0 14px}.ps-project-content{line-height:1.72}.ps-project-tech-list{display:flex;flex-wrap:wrap;gap:8px}.ps-project-repo-list{display:grid;gap:10px}.ps-project-repo-list>a{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--ps-border,#293346);border-radius:12px;text-decoration:none}.ps-project-repo-list>a span,.ps-project-repo-list>a small{color:var(--ps-muted,#98a2b3)}.ps-project-sidebar-card{display:grid;gap:10px}.ps-project-sidebar-card>a,.ps-project-collaborators>a{color:var(--ps-accent,#ff365f)}.ps-project-collaborators{display:flex;flex-wrap:wrap;gap:8px 12px}@media(max-width:900px){.ps-project-single-grid{grid-template-columns:1fr}.ps-project-form-grid,.ps-project-github-choices{grid-template-columns:1fr}.ps-project-field-wide{grid-column:auto}.ps-project-single-header,.ps-project-account-card{align-items:stretch;flex-direction:column}}

/* Roadmap 23C-2 — Project collaboration, gallery, relationships, and profile portfolio. */
.ps-projects-invitations,.ps-projects-collaborating{display:grid;gap:12px}.ps-projects-invitations h3,.ps-projects-collaborating h3{margin:0}.ps-project-editor-section{display:grid;gap:14px;margin:0;padding:16px;border:1px solid var(--ps-border,#293346);border-radius:14px}.ps-project-editor-section>legend{font-weight:750}.ps-project-editor-section>p,.ps-project-owner-controlled-note p{margin:0;color:var(--ps-muted,#98a2b3);line-height:1.55}.ps-project-owner-controlled-note{padding:14px 16px;border:1px solid var(--ps-border,#293346);border-radius:12px;background:rgba(255,255,255,.015)}.ps-project-collaboration-status{display:flex;flex-wrap:wrap;gap:8px}.ps-project-collaboration-status span{display:inline-flex;padding:5px 9px;border:1px solid var(--ps-border,#293346);border-radius:999px;color:var(--ps-muted,#aab3c5);font-size:.82rem}.ps-project-editor-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ps-project-editor-gallery label{display:grid;gap:7px;padding:8px;border:1px solid var(--ps-border,#293346);border-radius:12px}.ps-project-gallery-frame{display:grid;width:100%;overflow:hidden;place-items:center;background:var(--ps-card,#111827)}.ps-project-gallery-frame-editor{aspect-ratio:1/1;border-radius:8px}.ps-project-gallery-frame-public{aspect-ratio:16/10}.ps-project-gallery-image{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important}.ps-project-editor-gallery .ps-project-gallery-remove{font-size:.82rem}.ps-project-related-group{display:grid;gap:8px;margin:0;padding:12px;border:1px solid var(--ps-border,#293346);border-radius:12px}.ps-project-related-group legend{font-weight:700}.ps-project-related-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ps-project-related-options label{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;border:1px solid rgba(148,163,184,.18);border-radius:9px}.ps-project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ps-project-gallery-item{display:block;overflow:hidden;border:1px solid var(--ps-border,#293346);border-radius:12px;background:var(--ps-card,#111827)}.ps-project-related-public{display:grid;gap:14px}.ps-project-related-public>div{display:grid;gap:7px}.ps-project-related-public a{display:block;color:var(--ps-accent,#ff365f)}.ps-profile-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ps-profile-project-card{display:grid;gap:10px;padding:16px;border:1px solid var(--ps-border,#293346);border-radius:14px;background:var(--ps-card,#111827)}.ps-profile-project-card h3,.ps-profile-project-card p{margin:0}.ps-profile-project-card h3 a{text-decoration:none}.ps-profile-project-card p{color:var(--ps-muted,#aab3c5);line-height:1.55}.ps-profile-project-card-top{display:flex;justify-content:space-between;gap:8px;color:var(--ps-muted,#98a2b3);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.ps-profile-project-tech{display:flex;flex-wrap:wrap;gap:6px}.ps-profile-project-tech span{padding:4px 7px;border:1px solid var(--ps-border,#293346);border-radius:999px;font-size:.76rem}.ps-profile-empty-state{padding:22px;border:1px dashed var(--ps-border,#293346);border-radius:14px}.ps-profile-empty-state h3{margin:0 0 6px}.ps-profile-empty-state p{margin:0;color:var(--ps-muted,#98a2b3)}
@media(max-width:760px){.ps-project-editor-gallery,.ps-project-related-options,.ps-project-gallery,.ps-profile-project-grid{grid-template-columns:1fr}}

/* v0.23.126d — Project gallery quota visibility. */
.ps-project-gallery-quota{margin:0;padding:10px 12px;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:rgba(255,255,255,.018);color:var(--ps-muted,#98a2b3);font-size:.86rem;line-height:1.55}.ps-project-gallery-quota strong{color:var(--ps-text,#e8edf6)}

/* v0.23.126e — Project collaborator control parity + field alignment. */
.ps-project-peer-field{align-content:start;align-self:start}
.ps-project-peer-field>select,.ps-project-peer-field>.ps-project-readonly-value{height:52px;min-height:52px;margin:0}
.ps-project-readonly-multiline{min-height:76px;height:auto;align-items:flex-start;white-space:normal;line-height:1.55;overflow-wrap:anywhere}
.ps-project-owner-controlled-note.ps-project-field-wide{margin-top:0}
@media(max-width:900px){.ps-project-peer-field>select,.ps-project-peer-field>.ps-project-readonly-value{height:50px;min-height:50px}}

/* v0.23.127 — Roadmap 23D Runnable Code / Open In */
.ps-code-actions {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-left: auto;
}

.ps-code-open-wrap {
    position: relative;
}

.ps-code-open-toggle,
.ps-code-open-provider {
    border: 1px solid rgba(148, 163, 184, .3);
    border-radius: 7px;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font: inherit;
}

.ps-code-open-toggle {
    padding: .35rem .55rem;
}

.ps-code-open-toggle:hover,
.ps-code-open-toggle:focus-visible,
.ps-code-open-provider:hover,
.ps-code-open-provider:focus-visible {
    border-color: rgba(214, 37, 59, .78);
    outline: none;
}

.ps-code-open-menu {
    position: absolute;
    z-index: 40;
    top: calc(100% + .45rem);
    right: 0;
    width: min(310px, calc(100vw - 2rem));
    padding: .65rem;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 10px;
    background: #0f172a;
    box-shadow: 0 16px 40px rgba(0, 0, 0, .32);
}

.ps-code-open-menu[hidden] {
    display: none !important;
}

.ps-code-open-note,
.ps-code-open-status {
    margin: 0 0 .55rem;
    color: rgba(226, 232, 240, .74);
    font-size: .78rem;
    line-height: 1.45;
}

.ps-code-open-provider {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .55rem .65rem;
    text-align: left;
}

.ps-code-open-provider + .ps-code-open-provider {
    margin-top: .35rem;
}

.ps-code-open-status {
    margin-top: .55rem;
    margin-bottom: 0;
    color: #fda4af;
}

@media (max-width: 560px) {
    .ps-code-toolbar {
        align-items: flex-start;
    }
    .ps-code-actions {
        flex-wrap: wrap;
        justify-content: flex-end;
    }
}


/* v0.23.127b — Runnable Code action alignment + unclipped adaptive menu. */
.ps-code-block-runnable {
    position: relative;
    z-index: 1;
    overflow: visible;
}

.ps-code-block-runnable.is-open-menu {
    z-index: 90;
}

.ps-code-block-runnable .ps-code-toolbar {
    position: relative;
    z-index: 3;
    min-height: 52px;
    border-radius: 11px 11px 0 0;
}

.ps-code-block-runnable > pre {
    position: relative;
    z-index: 1;
    border-radius: 0 0 11px 11px;
    overflow-x: auto;
}

.ps-code-block-runnable .ps-code-language {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    line-height: 1.2;
}

.ps-code-actions {
    flex: 0 0 auto;
    min-height: 40px;
}

.ps-code-actions > .ps-copy-code,
.ps-code-open-toggle {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    margin: 0;
    padding: .45rem .7rem;
    line-height: 1.1;
    white-space: nowrap;
}

.ps-code-open-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.ps-code-open-menu {
    z-index: 120;
    top: calc(100% + .55rem);
    right: 0;
    max-height: min(420px, calc(100vh - 32px));
    overflow-y: auto;
    overscroll-behavior: contain;
}

.ps-code-open-wrap.is-open-up .ps-code-open-menu {
    top: auto;
    bottom: calc(100% + .55rem);
}

@media (max-width: 560px) {
    .ps-code-block-runnable .ps-code-toolbar {
        align-items: center;
    }
    .ps-code-block-runnable .ps-code-language {
        min-height: 38px;
    }
    .ps-code-block-runnable .ps-code-actions {
        width: auto;
        min-height: 38px;
        flex-wrap: nowrap;
        justify-content: flex-end;
    }
    .ps-code-actions > .ps-copy-code,
    .ps-code-open-toggle {
        min-height: 38px;
        padding: .42rem .62rem;
    }
    .ps-code-open-menu {
        width: min(310px, calc(100vw - 24px));
    }
}


/* v0.23.127d — cross-browser compact Open In provider menu.
   Explicitly reset native button geometry so Chromium-family browsers such as
   Comet cannot stretch provider rows differently from Firefox. */
.ps-code-open-toggle,
.ps-code-open-provider {
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
    font-family: inherit;
    font-size: .875rem;
    font-weight: 500;
    letter-spacing: normal;
    line-height: 1.2;
}

.ps-code-open-menu {
    width: min(292px, calc(100vw - 24px));
    max-height: min(330px, calc(100vh - 24px));
    padding: .55rem;
}

.ps-code-open-note,
.ps-code-open-status {
    font-size: .75rem;
    line-height: 1.35;
    margin-bottom: .45rem;
}

.ps-code-open-provider {
    min-height: 42px;
    max-height: 42px;
    padding: 0 .7rem;
    flex: 0 0 42px;
    white-space: nowrap;
}

.ps-code-open-provider + .ps-code-open-provider {
    margin-top: .3rem;
}

.ps-code-open-provider > span[aria-hidden="true"] {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    line-height: 1;
}

@media (max-width: 560px) {
    .ps-code-open-menu {
        width: min(284px, calc(100vw - 20px));
        max-height: min(300px, calc(100vh - 20px));
    }
    .ps-code-open-provider {
        min-height: 40px;
        max-height: 40px;
        flex-basis: 40px;
        font-size: .84rem;
    }
}

/* v0.23.127e — deterministic provider-label alignment across Firefox/Chromium.
   Provider labels and arrows are explicit grid items so browsers cannot place
   anonymous text flex items on different baselines. */
.ps-code-open-provider {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 18px;
    align-items: center;
    justify-content: stretch;
    column-gap: .65rem;
    text-align: left;
    line-height: 1;
}

.ps-code-open-provider-label,
.ps-code-open-provider-arrow {
    display: flex;
    align-items: center;
    height: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    line-height: 1.2;
}

.ps-code-open-provider-label {
    justify-content: flex-start;
    min-width: 0;
}

.ps-code-open-provider-arrow {
    justify-content: center;
    width: 18px;
    margin-left: 0;
    line-height: 1;
}


/* v0.23.127f — eliminate Chromium/Comet horizontal menu scrolling and label clipping.
   Keep the provider list vertically scrollable only when viewport height requires it. */
.ps-code-open-menu {
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: auto;
}

.ps-code-open-provider {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

.ps-code-open-provider-label {
    display: block;
    align-self: center;
    width: auto;
    min-width: 0;
    max-width: 100%;
    height: auto;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: clip;
    line-height: 1.2;
}

.ps-code-open-provider-arrow {
    align-self: center;
    height: auto;
}


/* v0.23.127g — browser-independent Open In portal.
   While open, the menu is moved to document.body and positioned with fixed
   viewport coordinates so code-block overflow/layout cannot distort it. */
.ps-code-open-menu.ps-code-open-menu-portal {
    position: fixed !important;
    right: auto !important;
    bottom: auto !important;
    box-sizing: border-box;
    width: 292px;
    max-width: calc(100vw - 16px);
    max-height: none;
    margin: 0;
    overflow: visible;
    z-index: 2147483000 !important;
    color: #e2e8f0;
}
.ps-code-open-menu-portal .ps-code-open-provider {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 18px;
    align-items: center;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: visible;
}
.ps-code-open-menu-portal .ps-code-open-provider-label {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    min-width: 0;
    max-width: none;
    height: 100%;
    overflow: visible;
    white-space: nowrap;
    text-overflow: clip;
    color: inherit;
}
.ps-code-open-menu-portal .ps-code-open-provider-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 100%;
    color: inherit;
}


/* v0.23.127h — deterministic portal row alignment across Comet/Chromium/Firefox.
   Use a simple flex row in the body portal so the provider label stays left,
   the external-link arrow stays right, and neither can wrap onto another line. */
.ps-code-open-menu.ps-code-open-menu-portal .ps-code-open-provider {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .65rem !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 0 .7rem !important;
    text-align: left !important;
    white-space: nowrap !important;
    overflow: hidden !important;
}
.ps-code-open-menu.ps-code-open-menu-portal .ps-code-open-provider-label {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: calc(100% - 28px) !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    position: static !important;
    transform: none !important;
}
.ps-code-open-menu.ps-code-open-menu-portal .ps-code-open-provider-arrow {
    display: inline-flex !important;
    flex: 0 0 18px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    position: static !important;
    transform: none !important;
}

/* Roadmap 23F-1 — Package Ecosystem Project cards. */
.ps-package-card{display:grid;gap:14px}.ps-package-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ps-package-card-head h2{margin:.2rem 0 0;overflow-wrap:anywhere}.ps-package-version{display:inline-flex;align-items:center;white-space:nowrap;padding:6px 10px;border:1px solid var(--ps-border,#293346);border-radius:999px;font-size:.82rem;font-weight:750}.ps-package-description{margin:0;color:var(--ps-muted,#aab3c5);line-height:1.65}.ps-package-facts{display:flex;flex-wrap:wrap;gap:8px}.ps-package-facts>span{display:inline-flex;gap:6px;padding:7px 10px;border:1px solid var(--ps-border,#293346);border-radius:10px;font-size:.86rem}.ps-package-install{display:grid;gap:7px}.ps-package-install>span{font-weight:750}.ps-package-install>div{display:flex;align-items:stretch;gap:8px}.ps-package-install code{flex:1;min-width:0;overflow:auto;padding:11px 12px;border:1px solid var(--ps-border,#293346);border-radius:10px;background:rgba(0,0,0,.2);white-space:nowrap}.ps-package-copy{flex:0 0 auto;padding:9px 13px;border:1px solid var(--ps-border,#293346);border-radius:10px;background:transparent;color:inherit;font:inherit;font-weight:750;cursor:pointer}.ps-package-copy:hover,.ps-package-copy:focus-visible{border-color:var(--ps-accent,#ff365f);color:var(--ps-accent,#ff365f)}.ps-package-links{display:flex;flex-wrap:wrap;gap:10px 16px}.ps-package-links a{color:var(--ps-accent,#ff365f);text-decoration:none}.ps-package-footnote,.ps-integration-public-note{margin:0;color:var(--ps-muted,#98a2b3);font-size:.86rem;line-height:1.55}@media(max-width:640px){.ps-package-card-head{display:grid}.ps-package-version{justify-self:start}.ps-package-install>div{display:grid}.ps-package-copy{width:100%}}
.ps-ask-extension-preview{display:grid;gap:10px;margin:0 0 16px}.ps-ask-extension-preview h2,.ps-ask-extension-preview p{margin:0}.ps-ask-extension-preview details{min-width:0}.ps-ask-extension-preview summary{cursor:pointer;font-weight:700}.ps-ask-extension-preview pre{box-sizing:border-box;max-width:100%;max-height:320px;overflow:auto;margin:10px 0 0;padding:12px;border-radius:10px}.ps-ask-extension-preview pre code{white-space:pre;word-break:normal}.ps-ask-extension-preview .ps-community-notice{margin:0}

/* Roadmap 23J — provider-neutral Smart Card presentation. Provider modules own data/permissions; this layer owns layout only. */
.ps-smart-card{min-width:0;box-sizing:border-box}.ps-smart-card--standard{display:grid;gap:14px}.ps-smart-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ps-smart-card-heading{min-width:0}.ps-smart-card-kicker{display:block;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ps-accent,#ff365f)}.ps-smart-card-title{overflow-wrap:anywhere}.ps-smart-card--standard .ps-smart-card-title{margin:.2rem 0 0}.ps-smart-card-badge{display:inline-flex;align-items:center;white-space:nowrap;padding:6px 10px;border:1px solid var(--ps-border,#293346);border-radius:999px;font-size:.82rem;font-weight:750}.ps-smart-card-description{margin:0;color:var(--ps-muted,#aab3c5);line-height:1.6}.ps-smart-card-facts{display:flex;flex-wrap:wrap;gap:8px}.ps-smart-card-fact{display:inline-flex;gap:6px;padding:7px 10px;border:1px solid var(--ps-border,#293346);border-radius:10px;font-size:.86rem}.ps-smart-card-code{display:grid;gap:7px}.ps-smart-card-code>span{font-weight:750}.ps-smart-card-code>div{display:flex;align-items:stretch;gap:8px}.ps-smart-card-code code{flex:1;min-width:0;overflow:auto;padding:11px 12px;border:1px solid var(--ps-border,#293346);border-radius:10px;background:rgba(0,0,0,.2);white-space:nowrap}.ps-smart-card-copy{flex:0 0 auto;padding:9px 13px;border:1px solid var(--ps-border,#293346);border-radius:10px;background:transparent;color:inherit;font:inherit;font-weight:750;cursor:pointer}.ps-smart-card-copy:hover,.ps-smart-card-copy:focus-visible{border-color:var(--ps-accent,#ff365f);color:var(--ps-accent,#ff365f)}.ps-smart-card-actions{display:flex;flex-wrap:wrap;gap:10px 16px}.ps-smart-card-action{color:var(--ps-accent,#ff365f);text-decoration:none}.ps-smart-card-action:hover,.ps-smart-card-action:focus-visible{text-decoration:underline}.ps-smart-card-note{margin:0;color:var(--ps-muted,#98a2b3);font-size:.86rem;line-height:1.55}.ps-smart-card--compact{display:grid;gap:4px;padding:10px;border:1px solid var(--ps-border,#293346);border-radius:12px;background:rgba(255,255,255,.025);color:inherit;text-decoration:none}.ps-smart-card--compact:hover,.ps-smart-card--compact:focus-visible{border-color:currentColor}.ps-smart-card--compact .ps-smart-card-title{display:block}.ps-smart-card--compact .ps-smart-card-description{font-size:.84rem;opacity:.82}.ps-smart-card-meta{display:flex;flex-wrap:wrap;gap:9px;font-size:.76rem;opacity:.76}.ps-smart-card--compact .ps-smart-card-badge{padding:2px 6px;font-size:.74rem}@media(max-width:640px){.ps-smart-card-head{display:grid}.ps-smart-card--standard .ps-smart-card-badge{justify-self:start}.ps-smart-card-code>div{display:grid}.ps-smart-card-copy{width:100%}}

/* Roadmap 23J-B — deliberate GitHub Repository / Issue / Pull Request / Release Smart Cards. */
.ps-github-universal-card{margin:16px 0;padding:16px;border:1px solid var(--ps-border,#293346);border-radius:14px;background:rgba(255,255,255,.025)}
.ps-rich-github-card{display:grid;gap:5px;margin:10px 0;padding:12px;border:1px dashed var(--ps-border,#293346);border-radius:12px;background:rgba(255,255,255,.025);cursor:default;user-select:none}
.ps-rich-github-card-kicker{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ps-accent,#ff365f)}
.ps-rich-github-card-title{overflow-wrap:anywhere}.ps-rich-github-card-description{font-size:.86rem;color:var(--ps-muted,#aab3c5);line-height:1.5}
.ps-github-smart-card-dialog{box-sizing:border-box;width:min(680px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto;padding:22px;border:1px solid var(--ps-border,#293346);border-radius:16px;background:var(--ps-surface,#111827);color:inherit}
.ps-github-smart-card-dialog::backdrop{background:rgba(0,0,0,.58)}
.ps-github-smart-card-dialog h2{margin:0 0 14px}.ps-github-smart-card-dialog>label{display:block;margin-bottom:6px;font-weight:750}
.ps-github-smart-card-dialog>input{box-sizing:border-box;width:100%;min-height:44px}.ps-github-smart-card-dialog .ps-field-help{margin:8px 0 0}
.ps-github-smart-card-dialog-status{min-height:1.4em;margin-top:10px}.ps-github-smart-card-dialog-preview{margin-top:12px}
.ps-github-smart-card-dialog-preview .ps-rich-github-card{margin:0}.ps-github-smart-card-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px}
.ps-community-guide-resource-list .ps-smart-card{width:100%}
@media(max-width:640px){.ps-github-smart-card-dialog-actions{display:grid}.ps-github-smart-card-dialog-actions .ps-button{width:100%}.ps-github-universal-card{padding:13px}}


/* v0.23.139b — contextual return arrows sit on the left border seam on desktop. */
.ps-community-space-hero-edge-back {
    overflow: visible;
}
.ps-community-space-hero-edge-back .ps-context-back {
    position: absolute;
    top: 40px;
    left: -31px;
    z-index: 35;
}
.ps-community-space-hero-edge-back .ps-owner-workspace-hero-utility:has(> .ps-context-back:only-child),
.ps-community-space-hero-edge-back .ps-moderator-onboarding-hero-actions:has(> .ps-context-back:only-child),
.ps-community-space-hero-edge-back .ps-community-event-hero-actions:has(> .ps-context-back:only-child) {
    min-height: 0;
    margin-top: 0;
}
.ps-account-page .ps-page {
    position: relative;
    overflow: visible;
}
.ps-account-heading > .ps-context-back {
    position: absolute;
    top: 40px;
    left: -31px;
    z-index: 35;
}
.ps-member-profile-directory-back {
    top: 40px;
    left: -31px;
}
@media (max-width: 1080px) {
    .ps-community-space-hero-edge-back .ps-context-back,
    .ps-account-heading > .ps-context-back,
    .ps-member-profile-directory-back {
        position: static;
        margin: 0 0 14px;
    }
    .ps-community-space-hero-edge-back .ps-owner-workspace-hero-utility:has(> .ps-context-back:only-child),
    .ps-community-space-hero-edge-back .ps-moderator-onboarding-hero-actions:has(> .ps-context-back:only-child),
    .ps-community-space-hero-edge-back .ps-community-event-hero-actions:has(> .ps-context-back:only-child) {
        min-height: auto;
        margin-top: 16px;
    }
}
/* Keep the hero itself as the positioning anchor on the two edge-back heroes
   whose content wrapper is otherwise positioned for banner layering. */
.ps-moderator-onboarding-hero.ps-community-space-hero-edge-back .ps-community-space-hero-content,
.ps-community-event-mode-hero.ps-community-space-hero-edge-back .ps-community-space-hero-content {
    position: static;
}


/* v0.23.141 — Roadmap 23D-2 explicit multi-block/multi-file handoff. */
.ps-code-open-combined[hidden]{display:none!important}
.ps-code-open-combined{margin-top:.55rem;padding-top:.55rem;border-top:1px solid rgba(148,163,184,.22)}
.ps-code-open-combined-title{margin:0 0 .25rem;color:#e2e8f0;font-size:.78rem;font-weight:700;line-height:1.3}
.ps-code-open-combined-note{margin:0 0 .45rem;color:rgba(226,232,240,.68);font-size:.72rem;line-height:1.35}
.ps-code-open-combined .ps-code-open-provider[hidden]{display:none!important}
.ps-code-open-combined .ps-code-open-provider+.ps-code-open-provider{margin-top:.3rem}

/* v0.23.174a — Thread previews are visual summaries, not miniature Discussions. */
article.ps-post-card.type-ps_thread .ps-post-excerpt,
[data-ps-thread-card-id] [data-ps-thread-card-excerpt],
.ps-community-space-thread-card [data-ps-thread-card-excerpt],
[data-ps-thread-preview-inert="1"] {
    -webkit-user-select: none !important;
    user-select: none !important;
    cursor: default !important;
}
article.ps-post-card.type-ps_thread .ps-post-excerpt *,
[data-ps-thread-card-id] [data-ps-thread-card-excerpt] *,
.ps-community-space-thread-card [data-ps-thread-card-excerpt] *,
[data-ps-thread-preview-inert="1"] * {
    -webkit-user-select: none !important;
    user-select: none !important;
}
[data-ps-thread-preview-inert="1"] a,
[data-ps-thread-preview-inert="1"] button,
[data-ps-thread-preview-inert="1"] input,
[data-ps-thread-preview-inert="1"] select,
[data-ps-thread-preview-inert="1"] textarea,
[data-ps-thread-preview-inert="1"] summary,
[data-ps-thread-preview-inert="1"] details,
[data-ps-thread-preview-inert="1"] iframe,
[data-ps-thread-preview-inert="1"] video,
[data-ps-thread-preview-inert="1"] audio,
[data-ps-thread-preview-inert="1"] img {
    pointer-events: none !important;
}
[data-ps-thread-preview-inert="1"] .ps-code-block-preview,
[data-ps-thread-preview-inert="1"] .ps-code-block-preview pre,
[data-ps-thread-preview-inert="1"] pre,
[data-ps-thread-preview-inert="1"] code {
    overflow: hidden !important;
    scrollbar-width: none !important;
    pointer-events: none !important;
}
[data-ps-thread-preview-inert="1"] .ps-code-block-preview pre::-webkit-scrollbar,
[data-ps-thread-preview-inert="1"] pre::-webkit-scrollbar {
    display: none !important;
}


/* v0.23.176 — inline YouTube rich blocks + configurable inert feed previews. */
.ps-inline-youtube,
.ps-rich-inline-youtube {
    width: min(100%, 920px);
    margin: 1rem 0;
}
.ps-inline-youtube-frame,
.ps-rich-inline-youtube-frame {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 12px;
    background: rgba(0,0,0,.18);
}
.ps-inline-youtube-frame iframe,
.ps-rich-inline-youtube-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
.ps-rich-inline-youtube {
    position: relative;
    padding: .65rem;
    border: 1px dashed var(--ps-border, #293346);
    border-radius: 14px;
    background: rgba(255,255,255,.025);
}
.ps-rich-inline-youtube-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: .45rem;
}
.ps-rich-inline-youtube-remove {
    min-width: 32px;
    min-height: 32px;
    border: 1px solid currentColor;
    border-radius: 999px;
    background: transparent;
    cursor: pointer;
}
.ps-rich-inline-youtube-disabled {
    display: grid;
    place-items: center;
    min-height: 120px;
    padding: 1rem;
    text-align: center;
}
.ps-thread-featured-youtube-preview {
    position: relative;
    overflow: hidden;
    pointer-events: none;
    user-select: none;
}
.ps-thread-featured-youtube-preview img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ps-thread-featured-youtube-preview-label {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    border-radius: 999px;
    background: rgba(0,0,0,.72);
    color: #fff;
    font-size: 1.45rem;
    line-height: 1;
}


/* v0.23.176a — code-content hydration shield and site upload progress. */
.ps-content-hydration {
    position: relative;
    min-height: 132px;
}
.ps-content-hydration.is-pending .ps-content-hydration-body {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    user-select: none;
}
.ps-content-hydration-body {
    transition: opacity .14s ease;
}
.ps-content-hydration-overlay {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    min-height: 132px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 24px;
    text-align: center;
    border: 1px solid var(--ps-border, rgba(127,127,127,.28));
    border-radius: 12px;
    background: var(--ps-surface, #fff);
}
.ps-content-hydration-overlay > span:last-child {
    max-width: 34rem;
    opacity: .78;
}
.ps-content-hydration-spinner {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    border: 3px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: ps-upload-spin .8s linear infinite;
}
.ps-content-hydration.is-ready .ps-content-hydration-overlay,
.ps-content-hydration-overlay[aria-hidden="true"] {
    display: none;
}
.ps-site-upload-overlay {
    position: fixed;
    inset: 0;
    z-index: 2147483600;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background:
        radial-gradient(circle at 50% 42%, rgba(214,37,59,.20), transparent 34%),
        rgba(5, 9, 15, .90);
    backdrop-filter: blur(7px);
}
.ps-site-upload-overlay::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .16;
    background-image:
        linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);
    background-size: 34px 34px;
    mask-image: radial-gradient(circle at center, #000 0 42%, transparent 82%);
}
.ps-site-upload-overlay[hidden] { display: none !important; }
.ps-site-upload-card {
    position: relative;
    width: min(560px, 100%);
    display: grid;
    justify-items: center;
    gap: 12px;
    overflow: hidden;
    padding: 30px 30px 26px;
    border: 1px solid rgba(214,37,59,.48);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(18,24,34,.98), rgba(8,13,22,.98));
    color: #f8fafc;
    box-shadow: 0 30px 90px rgba(0,0,0,.54), inset 0 1px 0 rgba(255,255,255,.05);
    text-align: center;
}
.ps-site-upload-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--ps-accent,#d6253b) 22% 78%, transparent);
    box-shadow: 0 0 20px rgba(214,37,59,.55);
}
.ps-site-upload-card::after {
    content: "";
    position: absolute;
    inset: auto -20% -72% 32%;
    height: 220px;
    pointer-events: none;
    background: radial-gradient(circle, rgba(214,37,59,.16), transparent 68%);
}
.ps-site-upload-card h2,
.ps-site-upload-card p { margin: 0; }
.ps-site-upload-sigil {
    position: relative;
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    margin-bottom: 2px;
    border: 1px solid rgba(214,37,59,.62);
    border-radius: 12px;
    background: rgba(214,37,59,.08);
    box-shadow: 0 0 0 6px rgba(214,37,59,.055), 0 0 30px rgba(214,37,59,.18);
}
.ps-site-upload-sigil::before,
.ps-site-upload-sigil::after {
    content: "";
    position: absolute;
    inset: -8px;
    border: 1px solid rgba(214,37,59,.22);
    border-radius: 16px;
    animation: ps-upload-pulse 1.8s ease-out infinite;
}
.ps-site-upload-sigil::after { animation-delay: .9s; }
.ps-site-upload-sigil-code {
    font: 800 16px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    letter-spacing: -.08em;
    color: #fff;
}
.ps-site-upload-kicker {
    font: 800 11px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    letter-spacing: .16em;
    color: #f87171;
}
.ps-site-upload-card h2 {
    max-width: 480px;
    font-size: clamp(1.35rem, 3vw, 1.75rem);
    line-height: 1.2;
}
.ps-site-upload-message {
    max-width: 470px;
    color: rgba(248,250,252,.76);
    line-height: 1.55;
}
.ps-site-upload-progress-shell {
    width: 100%;
    margin-top: 6px;
    padding: 4px;
    border: 1px solid rgba(148,163,184,.24);
    border-radius: 7px;
    background: rgba(2,6,23,.72);
}
.ps-site-upload-progress {
    display: block;
    width: 100%;
    height: 10px;
    overflow: hidden;
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    border-radius: 4px;
    background: rgba(148,163,184,.18);
    color: var(--ps-accent,#d6253b);
}
.ps-site-upload-progress::-webkit-progress-bar { background: rgba(148,163,184,.18); border-radius: 4px; }
.ps-site-upload-progress::-webkit-progress-value {
    border-radius: 4px;
    background: linear-gradient(90deg, #991b1b, var(--ps-accent,#d6253b), #fb7185);
    box-shadow: 0 0 16px rgba(214,37,59,.42);
}
.ps-site-upload-progress::-moz-progress-bar {
    border-radius: 4px;
    background: linear-gradient(90deg, #991b1b, var(--ps-accent,#d6253b), #fb7185);
}
.ps-site-upload-meta {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    color: rgba(248,250,252,.72);
    font-size: .86rem;
    text-align: left;
}
.ps-site-upload-status { min-width: 0; line-height: 1.4; }
.ps-site-upload-value {
    flex: 0 0 auto;
    font-variant-numeric: tabular-nums;
    font: 800 .95rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    color: #fff;
}
.ps-site-upload-overlay.is-processing .ps-site-upload-sigil,
.ps-site-upload-card.is-processing .ps-site-upload-sigil { box-shadow: 0 0 0 6px rgba(214,37,59,.07), 0 0 38px rgba(214,37,59,.3); }
@keyframes ps-upload-pulse {
    0% { opacity: .72; transform: scale(.86); }
    100% { opacity: 0; transform: scale(1.22); }
}
html.ps-site-upload-active,
html.ps-site-upload-active body { overflow: hidden !important; }
@keyframes ps-upload-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    .ps-content-hydration-body { transition: none; }
    .ps-content-hydration-spinner { animation-duration: 1.8s; }
    .ps-site-upload-sigil::before,
    .ps-site-upload-sigil::after { animation: none; }
}

/* CSS-only safety release if JavaScript is unavailable before hydration. */
.ps-content-hydration.is-pending .ps-content-hydration-body {
    animation: ps-content-hydration-body-failsafe 0s linear 4s forwards;
}
.ps-content-hydration.is-pending .ps-content-hydration-overlay {
    animation: ps-content-hydration-overlay-failsafe 0s linear 4s forwards;
}
@keyframes ps-content-hydration-body-failsafe {
    to { opacity: 1; visibility: visible; pointer-events: auto; user-select: auto; }
}
@keyframes ps-content-hydration-overlay-failsafe {
    to { opacity: 0; visibility: hidden; pointer-events: none; }
}


/* v0.23.179 — account-backed member draft workflow. */
.ps-submit-action-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .6rem;
}
.ps-reply-drafts-panel .ps-my-content-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .55rem;
}
@media (max-width: 560px) {
    .ps-submit-action-row > .ps-community-button { flex: 1 1 auto; justify-content: center; }
}

/* Roadmap 25A — official Project ↔ Discussion relationship */
.ps-thread-project-card{display:grid;gap:10px;margin:18px 0;padding:16px 18px;border:1px solid var(--ps-border,#293346);border-radius:14px;background:var(--ps-card,#111827)}
.ps-thread-project-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ps-thread-project-card-kicker{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--ps-accent,#ff365f)}
.ps-thread-project-card-status{display:inline-flex;padding:4px 9px;border:1px solid var(--ps-border,#293346);border-radius:999px;font-size:.78rem;color:var(--ps-muted,#aab3c5)}
.ps-thread-project-card h3{margin:0;font-size:1.08rem}.ps-thread-project-card h3 a{text-decoration:none}
.ps-thread-project-card p{margin:0;color:var(--ps-muted,#aab3c5);line-height:1.55}
.ps-thread-project-card-tech{display:flex;flex-wrap:wrap;gap:6px}.ps-thread-project-card-tech span{display:inline-flex;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.045);font-size:.78rem}
.ps-thread-project-card-open{justify-self:start;font-weight:750;color:var(--ps-accent,#ff365f)}
.ps-composer-preview-project{margin-top:16px}.ps-composer-preview-project .ps-thread-project-card{margin:0}
.ps-thread-project-field select{width:100%}
@media(max-width:640px){.ps-thread-project-card-heading{align-items:flex-start;flex-direction:column}.ps-thread-project-card{padding:14px}}

/* Roadmap 25-3 — hosted Project source intake. */
.ps-project-source-section{gap:16px}.ps-project-demo-mode-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ps-project-demo-mode-options label{display:flex;align-items:flex-start;gap:8px;padding:11px 12px;border:1px solid var(--ps-border,#293346);border-radius:10px;background:rgba(255,255,255,.015);cursor:pointer}.ps-project-demo-mode-options input{margin-top:3px}.ps-project-source-panel{display:grid;gap:12px;padding:14px;border:1px solid rgba(148,163,184,.18);border-radius:12px}.ps-project-runtime-entitlement,.ps-project-source-status{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--ps-border,#293346);border-radius:10px;background:rgba(255,255,255,.02)}.ps-project-runtime-entitlement span,.ps-project-source-status span{color:var(--ps-muted,#98a2b3);line-height:1.5}.ps-project-source-status-valid{border-color:rgba(34,197,94,.4)}.ps-project-source-status-policy-updated{border-color:rgba(59,130,246,.45)}.ps-project-source-status-error{border-color:rgba(244,63,94,.45)}@media(max-width:760px){.ps-project-demo-mode-options{grid-template-columns:1fr}}
/* Roadmap 25-4 — hosted source preview control. */
.ps-project-source-status .ps-community-button{justify-self:start;margin-top:8px}


/* Roadmap 25-5 — hosted Project immutable build lifecycle. */
.ps-project-build-lifecycle{display:grid;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--ps-border,#2b3545)}
.ps-project-build-lifecycle-head,.ps-project-build-card,.ps-project-build-history-row,.ps-project-build-empty{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--ps-border,#2b3545);border-radius:8px;background:rgba(10,16,25,.28)}
.ps-project-build-lifecycle-head>div,.ps-project-build-card>div:first-child,.ps-project-build-history-row>div:first-child,.ps-project-build-empty{display:grid;gap:5px}
.ps-project-build-lifecycle span,.ps-project-build-history span{color:var(--ps-muted,#aeb8c8);font-size:.92rem;line-height:1.45}
.ps-project-build-retention{white-space:nowrap}
.ps-project-build-card-draft{border-color:rgba(91,141,239,.55)}
.ps-project-build-card-active{border-color:rgba(55,184,112,.6)}
.ps-project-build-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}
.ps-project-build-detached-form{display:none!important}
.ps-project-build-history{border:1px solid var(--ps-border,#2b3545);border-radius:8px;overflow:hidden}
.ps-project-build-history>summary{cursor:pointer;padding:12px 14px;font-weight:700}
.ps-project-build-history-list{display:grid;gap:1px;border-top:1px solid var(--ps-border,#2b3545)}
.ps-project-build-history-row{border:0;border-radius:0}
@media (max-width:760px){.ps-project-build-lifecycle-head,.ps-project-build-card,.ps-project-build-history-row{display:grid}.ps-project-build-retention{white-space:normal}.ps-project-build-actions{justify-content:flex-start}}

/* v0.23.192n — non-destructive entitlement overage + Project build delete contrast. */
.ps-project-build-actions .ps-community-button-danger{color:#fff!important}
.ps-project-build-overage{display:grid;gap:4px;padding:11px 13px;border:1px solid rgba(245,158,11,.5);border-radius:8px;background:rgba(245,158,11,.08)}
.ps-project-build-overage strong{color:#f8fafc}
.ps-project-build-overage span{color:var(--ps-muted,#aeb8c8);line-height:1.5}
.ps-project-build-actions .ps-community-button:disabled{opacity:.58;cursor:not-allowed}

/* v0.23.189c — clarify that a pending draft and retained rollback are independent states. */
.ps-project-build-lifecycle-note{margin:0;padding:0 2px;color:var(--ps-muted,#aeb8c8);font-size:.86rem;line-height:1.5}

/* Roadmap 25-7 — Hosted Demo Project UX */
.ps-project-hosted-demo{display:grid;gap:16px}.ps-project-hosted-demo-head,.ps-project-source-browser-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ps-project-hosted-demo-head h2,.ps-project-source-browser-head h2{margin:2px 0 0}.ps-project-build-pill{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border:1px solid var(--ps-border,#293346);border-radius:999px;color:var(--ps-muted,#98a2b3);font-size:12px;font-weight:700;white-space:nowrap}.ps-project-demo-poster{position:relative;overflow:hidden;border:1px solid var(--ps-border,#293346);border-radius:12px;background:#090e16;aspect-ratio:16/9}.ps-project-demo-poster img{display:block;width:100%;height:100%;object-fit:cover}.ps-project-demo-poster-fallback{display:grid;width:100%;height:100%;place-items:center;background:radial-gradient(circle at 35% 25%,rgba(229,43,80,.18),transparent 40%),linear-gradient(135deg,#0a1019,#111927)}.ps-project-demo-poster-fallback span{font:800 clamp(34px,8vw,74px)/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:rgba(232,238,248,.38)}.ps-project-demo-poster-badge{position:absolute;left:10px;bottom:10px;padding:5px 9px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(6,10,16,.82);color:#fff;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;backdrop-filter:blur(8px)}.ps-profile-project-card>.ps-project-demo-poster,.ps-search-project-card>.ps-project-demo-poster{margin:-1px -1px 12px;aspect-ratio:16/7;border-radius:10px 10px 7px 7px}.ps-project-demo-trust-note{padding:14px 16px;border:1px solid rgba(148,163,184,.22);border-radius:10px;background:rgba(148,163,184,.055)}.ps-project-demo-trust-note strong{display:block;margin-bottom:4px}.ps-project-demo-trust-note p{margin:0;color:var(--ps-muted,#98a2b3);line-height:1.55}.ps-project-demo-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.ps-project-demo-unavailable{color:var(--ps-muted,#98a2b3);font-weight:700}.ps-project-hosted-demo>.ps-report-control{justify-self:start}.ps-project-source-sharing-fieldset{display:grid;gap:12px;margin-top:16px;padding:16px;border:1px solid var(--ps-border,#293346);border-radius:12px}.ps-project-source-sharing-fieldset legend{padding:0 6px;font-weight:800}.ps-project-source-sharing-fieldset>p{margin:0;color:var(--ps-muted,#98a2b3)}.ps-project-source-browser{display:grid;gap:14px}.ps-project-source-browser-note{margin:0;color:var(--ps-muted,#98a2b3)}.ps-project-source-layout{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:14px;min-height:360px}.ps-project-source-files{overflow:auto;max-height:620px;border:1px solid var(--ps-border,#293346);border-radius:10px;background:rgba(255,255,255,.015)}.ps-project-source-files ul{list-style:none;margin:0;padding:6px}.ps-project-source-files li{margin:0}.ps-project-source-files a{display:block;padding:8px 10px;border-radius:7px;color:inherit;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere}.ps-project-source-files a[aria-current=page]{background:rgba(229,43,80,.14);color:#fff}.ps-project-source-file{min-width:0;border:1px solid var(--ps-border,#293346);border-radius:10px;overflow:hidden;background:#070b11}.ps-project-source-file-head{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border-bottom:1px solid var(--ps-border,#293346);background:#0d131d;font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.ps-project-source-file-head span{color:var(--ps-muted,#98a2b3)}.ps-project-source-file pre{margin:0;max-height:620px;padding:16px;overflow:auto;tab-size:4;color:#dce6f5;background:#070b11;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre}.ps-project-source-file>.ps-community-notice{margin:14px}.ps-project-demo-poster-search,.ps-project-demo-poster-profile{pointer-events:none}@media(max-width:760px){.ps-project-hosted-demo-head,.ps-project-source-browser-head{align-items:stretch;flex-direction:column}.ps-project-source-layout{grid-template-columns:1fr;min-height:0}.ps-project-source-files{max-height:220px}.ps-project-source-file pre{max-height:480px}.ps-project-demo-actions>.ps-community-button{flex:1 1 160px;text-align:center}}

/* v0.23.192 — Roadmap 25 R25-8 Project Code Canvas MVP. */
.ps-project-code-canvas{display:grid;gap:16px}
.ps-code-canvas-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:10px;padding:12px;border:1px solid var(--ps-border,#2b3544);border-radius:8px;background:var(--ps-panel-soft,rgba(255,255,255,.025))}
.ps-code-canvas-toolbar label{display:grid;gap:6px;min-width:min(100%,260px)}
.ps-code-canvas-toolbar select,.ps-code-canvas-family-head select{min-height:40px}
.ps-project-code-canvas .ps-community-button:disabled{background:#4b5563!important;border-color:#6b7280!important;color:#e5e7eb!important;box-shadow:none!important;text-shadow:none!important;opacity:.68!important;cursor:not-allowed!important;filter:grayscale(1) saturate(0)!important;transform:none!important}
.ps-code-canvas-editor-grid{display:grid;gap:14px}
.ps-code-canvas-family{display:grid;gap:8px;border:1px solid var(--ps-border,#2b3544);border-radius:8px;overflow:hidden;background:#080c12}
.ps-code-canvas-family-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border-bottom:1px solid #263142;background:#101722;color:#e8eef8}
.ps-code-canvas-family-head>span{font:500 12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;color:#aebbd0;overflow-wrap:anywhere}
.ps-code-canvas-file{display:none}
.ps-code-canvas-file.is-active{display:block}
.ps-code-canvas-file textarea{display:block;width:100%;min-height:300px;margin:0;padding:14px;border:0;border-radius:0;resize:vertical;background:#05080d;color:#e7edf7;font:13px/1.55 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;tab-size:4;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;overflow-x:hidden;overflow-y:auto}
.ps-code-canvas-file textarea:focus{outline:2px solid var(--ps-accent,#e52b50);outline-offset:-2px}
.ps-code-canvas-file textarea[hidden]{display:none!important}
.ps-code-canvas-file-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid #202c3c;background:#0b111a}
.ps-code-canvas-view-toggle{display:inline-flex;overflow:hidden;border:1px solid #34445a;border-radius:7px;background:#071019}
.ps-code-canvas-view-button,.ps-code-canvas-format-button{appearance:none;min-height:30px;padding:5px 9px;border:0;background:transparent;color:#aebbd0;font:700 11px/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}
.ps-code-canvas-view-button+.ps-code-canvas-view-button{border-left:1px solid #34445a}
.ps-code-canvas-view-button.is-active{background:rgba(229,43,80,.18);color:#fff}
.ps-code-canvas-view-button:focus-visible,.ps-code-canvas-format-button:focus-visible{outline:2px solid var(--ps-accent,#e52b50);outline-offset:2px}
.ps-code-canvas-format-button{border:1px solid #34445a;border-radius:7px;background:#111b28;color:#dce6f5}
.ps-code-canvas-format-button:hover{background:#172437}
.ps-code-canvas-wrap-note{margin-left:auto;color:#8fa0b6;font-size:11px;font-weight:700;white-space:nowrap}
.ps-code-canvas-readable-view{max-height:520px;overflow-x:hidden;overflow-y:auto;background:#05080d;color:#e7edf7}
.ps-code-canvas-readable-view[hidden]{display:none!important}
.ps-code-canvas-readable-view pre{margin:0;padding:14px;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font:13px/1.55 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;tab-size:4}
.ps-code-canvas-format-help{margin:0;color:var(--ps-muted,#aebbd0);font-size:13px;line-height:1.5}
.ps-code-canvas-save-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ps-code-canvas-save-row span,.ps-code-canvas-help{color:var(--ps-muted,#aebbd0);font-size:13px;line-height:1.5}
.ps-code-canvas-preview-wrap{display:grid;grid-template-rows:auto minmax(320px,52vh);overflow:hidden;border:1px solid #2c3a4f;border-radius:10px;background:#071019;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.ps-code-canvas-preview-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid #26364a;background:linear-gradient(180deg,#131d2a,#0d1520)}
.ps-code-canvas-preview-head strong{color:#f4f7fb}
.ps-code-canvas-preview-head span{color:#aebbd0;font-size:12px}
.ps-code-canvas-preview-stage{position:relative;min-height:320px;background:radial-gradient(circle at 50% 18%,rgba(79,123,176,.18),transparent 36%),linear-gradient(180deg,#09121c,#050a10);isolation:isolate}
.ps-code-canvas-preview-stage:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:24px 24px}
.ps-code-canvas-preview-empty{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:28px;text-align:center;color:#dce6f5;transition:opacity .16s ease,visibility .16s ease}
.ps-code-canvas-preview-empty>span:last-child{max-width:600px;color:#96a9c1;font-size:13px;line-height:1.55}
.ps-code-canvas-preview-mark{display:grid;place-items:center;min-width:58px;height:42px;padding:0 12px;border:1px solid rgba(116,153,201,.38);border-radius:9px;background:rgba(13,26,40,.86);box-shadow:0 10px 30px rgba(0,0,0,.28);font:700 17px/1 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:#dbeaff}
.ps-code-canvas-preview-wrap.is-preview-live .ps-code-canvas-preview-empty{opacity:0;visibility:hidden;pointer-events:none}
.ps-code-canvas-preview{position:relative;z-index:1;display:block;width:100%;height:100%;min-height:320px;border:0;background:transparent}
.ps-project-build-protected-note{display:block;margin-top:5px;color:#8fa0b6;font-size:11px;line-height:1.4}
@media(max-width:720px){.ps-code-canvas-toolbar{align-items:stretch}.ps-code-canvas-toolbar>*{width:100%}.ps-code-canvas-toolbar .ps-community-button{justify-content:center}.ps-code-canvas-family-head{align-items:flex-start;flex-direction:column}.ps-code-canvas-family-head select{width:100%}.ps-code-canvas-file-tools{align-items:stretch}.ps-code-canvas-view-toggle{width:100%}.ps-code-canvas-view-button{flex:1 1 50%}.ps-code-canvas-format-button{width:100%}.ps-code-canvas-wrap-note{margin-left:0}.ps-code-canvas-file textarea{min-height:240px}.ps-code-canvas-preview-wrap{grid-template-rows:auto minmax(280px,60vh)}}
@media(prefers-reduced-motion:reduce){.ps-code-canvas-preview{scroll-behavior:auto}.ps-code-canvas-preview-empty{transition:none}}


/* v0.23.192c — public profile header readability + compact action controls */
.ps-member-profile-hero.has-pro-enhanced.has-pro-banner.has-admin-banner-overlay::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: rgba(6, 9, 14, var(--ps-profile-banner-overlay-opacity, .58));
}
.ps-member-profile-hero.has-pro-enhanced.has-pro-banner.has-admin-banner-overlay > * {
    position: relative;
    z-index: 1;
}
.ps-member-profile-hero.has-pro-enhanced.has-pro-banner .ps-pro-featured-badge {
    border-color: color-mix(in srgb, var(--ps-badge-accent, #fbbf24) 72%, rgba(255,255,255,.18));
    background: rgba(10, 14, 22, .92);
    box-shadow: 0 6px 18px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.055);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.ps-member-profile-hero.has-pro-enhanced.has-pro-banner .ps-pro-featured-badge .ps-member-badge-label {
    color: #fff;
    text-shadow: 0 1px 2px rgba(0,0,0,.8);
}
.ps-member-badge.ps-badge-slug-pro-member .ps-member-badge-icon,
.ps-badge-progress-item.ps-badge-slug-pro-member .ps-member-badge-icon {
    border-color: #fde68a;
    background: #fbbf24;
    color: #fff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.38), 0 1px 4px rgba(0,0,0,.22);
}
.ps-pro-badge,
.ps-pro-badge-large {
    border: 1px solid #fde68a;
    background: #fbbf24;
    color: #fff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.32), 0 1px 4px rgba(0,0,0,.18);
}
.ps-member-profile-links {
    gap: .4rem .55rem;
    margin-top: .55rem;
    align-items: center;
}
.ps-member-profile-links > a,
.ps-member-profile-links > button,
.ps-member-profile-links > .ps-inline-action-form,
.ps-member-profile-links > .ps-report-control {
    flex: 0 0 auto;
    min-width: 0;
}
.ps-member-profile-links > a,
.ps-member-profile-links > button,
.ps-member-profile-links > .ps-inline-action-form > .ps-text-button,
.ps-member-profile-links > .ps-report-control > summary {
    min-height: 36px;
    padding: .42rem .68rem;
    border-radius: 8px;
    line-height: 1.15;
    white-space: nowrap;
}
.ps-member-profile-links > .ps-inline-action-form,
.ps-member-profile-links > .ps-report-control {
    min-height: 36px;
}
.ps-member-profile-links > .ps-inline-action-form > .ps-text-button,
.ps-member-profile-links > .ps-report-control > summary {
    box-sizing: border-box;
}
@media (max-width: 560px) {
    .ps-member-profile-links {
        gap: .4rem;
    }
    .ps-member-profile-links > a,
    .ps-member-profile-links > button,
    .ps-member-profile-links > .ps-inline-action-form,
    .ps-member-profile-links > .ps-report-control {
        flex: 0 1 auto;
        width: auto;
    }
    .ps-member-profile-links > a,
    .ps-member-profile-links > button,
    .ps-member-profile-links > .ps-inline-action-form > .ps-text-button,
    .ps-member-profile-links > .ps-report-control > summary {
        min-height: 38px;
        padding: .45rem .62rem;
    }
}

/* Roadmap 26 R26-1 — structured Project/game discovery metadata. */
.ps-project-discovery-fieldset{grid-column:1/-1}.ps-project-discovery-help,.ps-project-game-discovery>p{margin:0;color:var(--ps-muted,#98a2b3);line-height:1.55}.ps-project-game-discovery{display:grid;gap:14px;margin:0;padding:16px;border:1px solid var(--ps-border,#293346);border-radius:12px}.ps-project-game-discovery[hidden]{display:none!important}.ps-project-discovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ps-project-discovery-group{display:grid;gap:8px}.ps-project-discovery-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ps-project-discovery-check-grid label{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;border:1px solid var(--ps-border,#293346);border-radius:10px;background:rgba(255,255,255,.02)}.ps-project-discovery-check-grid input{margin-top:3px}.ps-project-discovery-details{display:grid;gap:12px;margin:0}.ps-project-discovery-details>div{display:grid;grid-template-columns:minmax(110px,150px) minmax(0,1fr);gap:12px;align-items:start}.ps-project-discovery-details dt{font-weight:800}.ps-project-discovery-details dd{display:flex;flex-wrap:wrap;gap:7px;margin:0}.ps-project-discovery-details dd span{display:inline-flex;padding:5px 9px;border:1px solid var(--ps-border,#293346);border-radius:999px;font-size:.84rem}@media(max-width:900px){.ps-project-discovery-grid,.ps-project-discovery-check-grid{grid-template-columns:1fr}.ps-project-discovery-details>div{grid-template-columns:1fr;gap:6px}}

/* Roadmap 26 R26-2 — Project/Game cover cards. */
.ps-project-cover{position:relative;display:block;min-width:0;overflow:hidden;border:1px solid var(--ps-border,#293346);border-radius:14px;background:linear-gradient(145deg,#0b111b,#151e2d);isolation:isolate}
.ps-project-cover-image{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important}
.ps-project-cover-fallback{display:grid;width:100%;height:100%;min-height:100%;place-items:center;align-content:center;gap:10px;padding:18px;background:radial-gradient(circle at 28% 18%,rgba(229,43,80,.18),transparent 34%),linear-gradient(145deg,#0a1019,#182234);text-align:center}
.ps-project-cover-fallback-mark{font:800 clamp(28px,6vw,62px)/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:rgba(232,238,248,.42)}
.ps-project-cover-fallback-type{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(232,238,248,.68)}
.ps-project-cover-badges{position:absolute;z-index:2;left:9px;right:9px;bottom:9px;display:flex;flex-wrap:wrap;gap:5px;align-items:flex-end}
.ps-project-cover-badge{display:inline-flex;max-width:100%;padding:4px 7px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(6,10,16,.84);color:#fff;font-size:10px;font-weight:800;letter-spacing:.035em;line-height:1.2;text-transform:uppercase;backdrop-filter:blur(7px)}
.ps-project-cover-badge-demo{background:rgba(6,10,16,.9)}
.ps-project-cover-search,.ps-project-cover-profile{width:100%;aspect-ratio:3/4}
.ps-search-project-card>.ps-project-cover-search{margin:-.9rem -.9rem .55rem;width:calc(100% + 1.8rem);border-width:0 0 1px;border-radius:13px 13px 8px 8px}
.ps-profile-project-card>.ps-project-cover-profile{margin:-16px -16px 2px;width:calc(100% + 32px);border-width:0 0 1px;border-radius:14px 14px 8px 8px}
.ps-project-cover-discussion{width:100%;aspect-ratio:16/7;border-radius:10px}
.ps-project-cover-discussion .ps-project-cover-fallback-mark{font-size:38px}
.ps-project-cover-single{width:180px;flex:0 0 180px;aspect-ratio:3/4}
.ps-project-single-header-copy{flex:1 1 auto;min-width:0}
.ps-project-cover-account{width:58px;flex:0 0 58px;aspect-ratio:3/4;border-radius:9px}
.ps-project-cover-account .ps-project-cover-badges{display:none}
.ps-project-cover-account .ps-project-cover-fallback{padding:4px;gap:3px}.ps-project-cover-account .ps-project-cover-fallback-mark{font-size:20px}.ps-project-cover-account .ps-project-cover-fallback-type{font-size:7px}
.ps-project-account-card>.ps-project-cover{display:block}.ps-project-account-card-copy{display:grid;gap:4px;min-width:0;flex:1 1 auto}
.ps-project-cover-editor-preview{display:flex;align-items:center;gap:14px;min-width:0}.ps-project-cover-editor-preview>.ps-project-cover-image{width:112px!important;height:149px!important;flex:0 0 112px;border:1px solid var(--ps-border,#293346);border-radius:10px;object-fit:cover!important}.ps-project-cover-editor-preview>div{display:grid;gap:10px;min-width:0}.ps-project-cover-help{margin:0;color:var(--ps-muted,#98a2b3);line-height:1.55}
@media(max-width:900px){.ps-project-cover-single{width:148px;flex-basis:148px}.ps-project-account-card>.ps-project-cover-account{width:72px;flex-basis:72px}.ps-project-account-card-copy{width:100%}}
@media(max-width:560px){.ps-project-cover-editor-preview{align-items:flex-start;flex-direction:column}.ps-project-cover-editor-preview>.ps-project-cover-image{width:96px!important;height:128px!important;flex-basis:96px}.ps-project-cover-single{width:132px;flex-basis:132px}}
.ps-project-hero{overflow:hidden;width:100%;aspect-ratio:16/6;border:1px solid var(--ps-border,#293346);border-radius:18px;background:#0a1019}.ps-project-hero-image{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important}.ps-project-artwork-divider{height:1px;background:var(--ps-border,#293346);margin:2px 0}.ps-project-cover-subhead{display:grid;gap:4px}.ps-project-cover-subhead>span{color:var(--ps-muted,#98a2b3);line-height:1.5}.ps-project-hero-editor-preview{display:grid;gap:10px}.ps-project-hero-editor-preview>.ps-project-hero-image{width:100%!important;max-width:520px!important;aspect-ratio:16/6;border:1px solid var(--ps-border,#293346);border-radius:10px;object-fit:cover!important}
@media(max-width:640px){.ps-project-hero{aspect-ratio:16/7;border-radius:14px}}


/* Roadmap 26 R26-3 — Project Updates / Devlogs + changelog. */
.ps-project-update-fields{display:grid;gap:12px;margin:14px 0;padding:16px;border:1px solid var(--ps-border,#293346);border-radius:14px;background:rgba(255,255,255,.018)}
.ps-project-update-fields[hidden]{display:none!important}.ps-project-update-fields legend{font-weight:800}.ps-project-update-grid{align-items:start}.ps-project-update-build-field{grid-column:1/-1}
.ps-project-updates{display:grid;gap:16px}.ps-project-updates-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.ps-project-updates-heading h2{margin:.18rem 0 0}.ps-project-update-kicker{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--ps-accent,#ff365f)}.ps-project-current-version,.ps-project-version-pill{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid var(--ps-border,#293346);border-radius:999px;font-size:.8rem;font-weight:750}.ps-project-update-list{display:grid;gap:12px}.ps-project-update-card{display:grid;gap:8px;padding:14px 15px;border:1px solid var(--ps-border,#293346);border-radius:13px;background:rgba(255,255,255,.018)}.ps-project-update-card h3{margin:0}.ps-project-update-card h3 a{text-decoration:none}.ps-project-update-card p{margin:0;color:var(--ps-muted,#aab3c5);line-height:1.55}.ps-project-update-card-meta,.ps-project-update-card-foot{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;color:var(--ps-muted,#98a2b3);font-size:.82rem}.ps-project-update-type,.ps-project-update-version{display:inline-flex;padding:4px 8px;border-radius:999px;border:1px solid var(--ps-border,#293346);font-weight:750;color:var(--ps-text,#e8edf6)}.ps-project-update-card-foot{justify-content:space-between}.ps-project-update-card-foot a{color:var(--ps-accent,#ff365f);font-weight:750}.ps-thread-project-update-meta{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;margin:16px 0;padding:12px 14px;border:1px solid var(--ps-border,#293346);border-radius:12px;background:rgba(255,255,255,.018);color:var(--ps-muted,#aab3c5)}.ps-thread-project-update-meta .ps-project-update-type{color:var(--ps-text,#e8edf6)}
@media(max-width:640px){.ps-project-update-card-foot{align-items:flex-start;flex-direction:column}.ps-project-update-grid{grid-template-columns:1fr}.ps-project-update-build-field{grid-column:auto}}
.ps-project-update-manager{display:grid;gap:12px;margin:18px 0;padding:16px;border:1px solid var(--ps-border,#293346);border-radius:14px;background:rgba(255,255,255,.018)}
.ps-project-update-manager-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.ps-project-update-manager-head h3{margin:.18rem 0 0}.ps-project-update-manager-summary{margin:0;color:var(--ps-muted,#aab3c5);line-height:1.55}.ps-project-update-manager-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
@media(max-width:640px){.ps-project-update-manager-actions .ps-community-button{width:100%;justify-content:center}}

/* R26-3c dedicated Project Update composer */
.ps-project-update-compose-context{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:0 0 18px;padding:16px 18px;border:1px solid var(--ps-border,#293346);border-radius:14px;background:rgba(255,255,255,.018)}
.ps-project-update-compose-context h2{margin:.2rem 0 .4rem}.ps-project-update-compose-context p{margin:.25rem 0;color:var(--ps-muted,#aab3c5);line-height:1.55}.ps-project-update-locked-value{display:flex;align-items:center;min-height:46px;padding:10px 12px;border:1px solid var(--ps-border,#293346);border-radius:9px;background:rgba(255,255,255,.025);color:var(--ps-text,#e8edf6);font-weight:750}.ps-project-update-compose-form .ps-project-update-fields{margin-top:4px}.ps-submit-layout.is-project-update-compose .ps-submit-help-card:before{content:"Project Update";display:block;margin-bottom:8px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--ps-accent,#ff365f)}
@media(max-width:640px){.ps-project-update-compose-context .ps-community-button{width:100%;justify-content:center}}

/* Roadmap 26 R26-3d — per-build changelog sidebar + AJAX history browser. */
.ps-project-changelog-sidebar{gap:12px}.ps-project-changelog-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.ps-project-changelog-sidebar-head h2{margin:0}.ps-project-changelog-sidebar-head>span{display:inline-flex;min-width:28px;height:28px;align-items:center;justify-content:center;border:1px solid var(--ps-border,#293346);border-radius:999px;font-size:.78rem;font-weight:750}.ps-project-changelog-compact-list{display:grid;gap:10px}.ps-project-changelog-compact-item{display:grid;gap:6px;padding:10px 0;border-bottom:1px solid rgba(148,163,184,.16)}.ps-project-changelog-compact-item:last-child{border-bottom:0}.ps-project-changelog-compact-meta,.ps-project-changelog-compact-foot{display:flex;gap:6px 8px;align-items:center;flex-wrap:wrap;color:var(--ps-muted,#98a2b3);font-size:.74rem}.ps-project-changelog-compact-title{font-weight:750;text-decoration:none;line-height:1.35}.ps-project-changelog-compact-foot .ps-project-update-build-state{font-size:inherit}.ps-project-changelog-view-all{font-weight:750;color:var(--ps-accent,#ff365f)}.ps-project-changelog-post{width:100%;justify-content:center}.ps-project-changelog-status{min-height:1px;margin:0;color:var(--ps-muted,#98a2b3);font-size:.78rem}.ps-project-changelog-browser{display:grid;gap:18px}.ps-project-changelog-browser-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.ps-project-changelog-browser-heading h2{margin:.18rem 0 0}.ps-project-changelog-browser-grid{display:grid;grid-template-columns:minmax(210px,300px) minmax(0,1fr);gap:16px;align-items:start}.ps-project-changelog-index{display:grid;gap:8px}.ps-project-changelog-index-item{display:grid;gap:4px;padding:11px 12px;border:1px solid var(--ps-border,#293346);border-radius:10px;text-decoration:none;background:rgba(255,255,255,.012)}.ps-project-changelog-index-item span{font-weight:750}.ps-project-changelog-index-item small{color:var(--ps-muted,#98a2b3);line-height:1.35}.ps-project-changelog-index-item.is-active{border-color:var(--ps-accent,#ff365f);background:rgba(255,255,255,.03)}.ps-project-changelog-reader{min-width:0}.ps-project-changelog-detail{display:grid;gap:14px;padding:16px;border:1px solid var(--ps-border,#293346);border-radius:14px;background:rgba(255,255,255,.012)}.ps-project-changelog-detail h2{margin:0}.ps-project-changelog-detail-meta{display:flex;gap:8px 12px;align-items:center;flex-wrap:wrap;color:var(--ps-muted,#98a2b3);font-size:.82rem}.ps-project-changelog-body{min-width:0;line-height:1.7}.ps-project-changelog-body img,.ps-project-changelog-body video{max-width:100%;height:auto}.ps-project-changelog-empty{margin:0;color:var(--ps-muted,#98a2b3)}@media(max-width:720px){.ps-project-changelog-browser-grid{grid-template-columns:1fr}.ps-project-changelog-index{grid-template-columns:1fr}.ps-project-changelog-browser-heading>a{width:100%}}
/* v0.23.199e — dedicated Project Update / changelog composer cleanup. */
.ps-submit-layout.is-project-update-compose{
    grid-template-columns:minmax(0,900px);
    max-width:900px;
}
.ps-project-update-locked-summary{
    display:grid;
    gap:8px;
    margin-bottom:14px;
    padding:12px 14px;
    border:1px solid var(--ps-border,#293346);
    border-radius:10px;
    background:rgba(255,255,255,.018);
}
.ps-project-update-locked-summary .ps-field{margin:0}
.ps-project-update-compose-form .ps-thread-content-field{margin-top:16px}

/* v0.23.200 — R26-4 Project watch, compact Profile Project directory, and polished Project metadata. */
.ps-project-header-side{flex:0 0 min(380px,36%);display:grid;gap:10px;align-self:flex-start}.ps-project-meta-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;border:1px solid var(--ps-border,#293346);border-radius:16px;background:rgba(4,9,18,.22)}.ps-project-meta-pill{display:flex;align-items:center;gap:9px;min-height:42px;padding:8px 12px;border:1px solid var(--ps-border,#293346);border-radius:999px;background:rgba(255,255,255,.025);font-size:.82rem;font-weight:720;line-height:1.2}.ps-project-meta-pill i{display:block;flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px rgba(255,255,255,.035)}.ps-project-meta-pill-type{color:#67b7ff;border-color:rgba(63,151,234,.42);background:rgba(32,112,190,.08)}.ps-project-meta-pill-version{color:#b99aff;border-color:rgba(143,94,224,.42);background:rgba(116,73,186,.08)}.ps-project-meta-pill-status{color:#f4b65d;border-color:rgba(211,142,42,.42);background:rgba(190,119,24,.08)}.ps-project-meta-pill-visibility{color:#59d69a;border-color:rgba(47,167,111,.42);background:rgba(32,137,89,.08)}.ps-project-meta-pill strong{color:inherit;font-weight:800}.ps-project-watch-control{display:flex;justify-content:flex-end}.ps-project-watch-button{min-height:38px}.ps-project-former-owner{display:grid;gap:3px}.ps-project-former-owner strong{color:var(--ps-text,#e8edf6)}.ps-project-former-owner span{color:var(--ps-muted,#98a2b3);font-size:.82rem}
.ps-profile-projects{display:grid;gap:14px}.ps-profile-project-heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ps-profile-project-count{color:var(--ps-muted,#98a2b3);font-size:.84rem}.ps-profile-project-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(125px,1fr)) auto;gap:9px;align-items:end;padding:11px;border:1px solid var(--ps-border,#293346);border-radius:12px;background:rgba(255,255,255,.018)}.ps-profile-project-filters label{display:grid;gap:5px;min-width:0}.ps-profile-project-filters label>span{font-size:.72rem;font-weight:760;color:var(--ps-muted,#98a2b3);text-transform:uppercase;letter-spacing:.04em}.ps-profile-project-filters input,.ps-profile-project-filters select{width:100%;min-width:0;height:38px;padding:6px 9px;border:1px solid var(--ps-border,#293346);border-radius:9px;background:var(--ps-card,#111827);color:var(--ps-text,#e8edf6)}.ps-profile-project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:12px}.ps-profile-project-card{display:grid;grid-template-columns:94px minmax(0,1fr);gap:11px;min-width:0;min-height:142px;padding:10px;border:1px solid var(--ps-border,#293346);border-radius:13px;background:var(--ps-card,#111827);overflow:hidden}.ps-profile-project-card>.ps-project-cover-profile{grid-column:1;grid-row:1;width:94px!important;height:auto!important;max-width:94px!important;margin:0!important;aspect-ratio:3/4;border:1px solid var(--ps-border,#293346)!important;border-radius:9px!important;overflow:hidden}.ps-profile-project-card>.ps-project-cover-profile img{width:100%!important;height:100%!important;object-fit:cover!important}.ps-profile-project-card-copy{grid-column:2;min-width:0;display:grid;align-content:start;gap:6px}.ps-profile-project-card h3{font-size:1rem;line-height:1.25}.ps-profile-project-card h3 a{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.ps-profile-project-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.84rem;line-height:1.42}.ps-profile-project-card-top{gap:6px;font-size:.67rem}.ps-profile-project-status span{display:inline-flex;padding:3px 7px;border:1px solid var(--ps-border,#293346);border-radius:999px;color:var(--ps-muted,#aab3c5);font-size:.7rem}.ps-profile-project-tech{gap:4px}.ps-profile-project-tech span{padding:3px 6px;font-size:.68rem}.ps-profile-project-card>.ps-project-demo-poster{grid-column:1;grid-row:1;width:94px!important;height:auto!important;margin:0!important;aspect-ratio:3/4!important;border-radius:9px!important}.ps-profile-project-card>.ps-project-demo-poster img{object-fit:cover}.ps-profile-load-more-wrap{display:flex;justify-content:center}
.ps-watched-projects{padding:14px;border:1px solid var(--ps-border,#293346);border-radius:14px;background:rgba(255,255,255,.012)}.ps-account-subheading{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.ps-account-subheading h3{margin:2px 0 0}.ps-project-watch-count{color:var(--ps-muted,#98a2b3);font-size:.82rem}.ps-watched-project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:9px}.ps-watched-project-card{display:grid;grid-template-columns:54px minmax(0,1fr);gap:9px;align-items:center;padding:8px;border:1px solid var(--ps-border,#293346);border-radius:10px;background:var(--ps-card,#111827)}.ps-watched-project-card>.ps-project-cover-account{grid-row:1/3;width:54px!important;max-width:54px!important;margin:0!important;border-radius:7px!important}.ps-watched-project-copy{display:grid;gap:2px;min-width:0}.ps-watched-project-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ps-watched-project-copy span{color:var(--ps-muted,#98a2b3);font-size:.76rem}.ps-watched-project-card>.ps-project-watch-button{grid-column:2;justify-self:start;min-height:30px;padding:4px 8px}.ps-preference-subgroup{display:grid;gap:7px;margin-top:9px;padding:10px 12px;border:1px solid var(--ps-border,#293346);border-radius:10px;background:rgba(255,255,255,.015)}.ps-preference-subgroup>strong{font-size:.82rem}
@media(max-width:1100px){.ps-profile-project-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.ps-profile-project-filters>button{justify-self:start}.ps-project-header-side{flex-basis:330px}}
@media(max-width:900px){.ps-project-header-side{width:100%;flex-basis:auto}.ps-project-meta-panel{max-width:520px}.ps-project-watch-control{justify-content:flex-start}}
@media(max-width:680px){.ps-profile-project-filters{grid-template-columns:1fr}.ps-profile-project-card{grid-template-columns:78px minmax(0,1fr)}.ps-profile-project-card>.ps-project-cover-profile,.ps-profile-project-card>.ps-project-demo-poster{width:78px!important;max-width:78px!important}.ps-project-meta-panel{grid-template-columns:1fr}.ps-account-subheading{align-items:flex-start;flex-direction:column}}


/* v0.23.200a — retained Project Update management / administrator-reviewed removal requests. */
.ps-project-update-manager-list{display:grid;gap:8px;margin-top:2px}.ps-project-update-manager-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid rgba(148,163,184,.16);border-radius:10px;background:rgba(255,255,255,.012)}.ps-project-update-manager-item-copy{display:grid;gap:3px;min-width:0}.ps-project-update-manager-item-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ps-project-update-manager-item-copy span{color:var(--ps-muted,#98a2b3);font-size:.76rem}.ps-project-update-manager-all{font-weight:750;color:var(--ps-accent,#ff365f)}
.ps-project-update-management-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.ps-project-update-management-actions>.ps-community-button{min-height:34px;padding:6px 10px}.ps-project-update-removal-control{position:relative}.ps-project-update-removal-control>summary{cursor:pointer;color:#f2ad61;font-weight:750;font-size:.8rem;list-style:none}.ps-project-update-removal-control>summary::-webkit-details-marker{display:none}.ps-project-update-removal-form{display:grid;gap:8px;min-width:280px;max-width:420px;margin-top:8px;padding:10px;border:1px solid var(--ps-border,#293346);border-radius:10px;background:var(--ps-card,#111827);text-align:left}.ps-project-update-removal-form label{display:grid;gap:5px}.ps-project-update-removal-form textarea{width:100%;min-height:76px;resize:vertical}.ps-project-update-removal-form p{margin:0;color:var(--ps-muted,#98a2b3);font-size:.78rem;line-height:1.45}.ps-project-update-removal-state{max-width:330px;color:#f2ad61;font-size:.76rem;font-weight:720;line-height:1.35}.ps-project-changelog-detail-actions{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}.ps-project-changelog-detail-actions>.ps-project-update-management-actions{justify-content:flex-start}.ps-my-content-actions>.ps-project-update-management-actions{justify-content:flex-end}
@media(max-width:760px){.ps-project-update-manager-item{grid-template-columns:1fr}.ps-project-update-management-actions,.ps-my-content-actions>.ps-project-update-management-actions{justify-content:flex-start}.ps-project-update-removal-form{min-width:0;width:min(100%,420px)}}

/* v0.23.200e — unified frontend width normalization.
   Theme v0.3.47.64 owns --ps-container:1315px; these Community-owned page
   shells use the same token so Account, Members, directories and profiles
   cannot silently drift wider than the rest of the frontend again. */
.ps-account-page .ps-content-narrow,
.ps-members-page .ps-content-narrow,
body.ps-community-wide-page .ps-content-narrow {
    width: min(calc(100% - 36px), var(--ps-container, 1315px));
    max-width: var(--ps-container, 1315px);
}
.ps-member-profile-page { max-width: var(--ps-container, 1315px); }
@media (max-width: 720px) {
    .ps-account-page .ps-content-narrow,
    .ps-members-page .ps-content-narrow,
    body.ps-community-wide-page .ps-content-narrow {
        width: min(calc(100% - 20px), 100%);
        max-width: none;
    }
}

/* v0.23.227h — Account rail outer-edge drawer + full workspace expansion */
.ps-account-shell {
    --ps-account-rail-width: 280px;
    --ps-account-rail-gap: 1.5rem;
    position: relative;
    width: 100%;
    max-width: none;
    grid-template-columns: minmax(220px, var(--ps-account-rail-width)) minmax(0, 1fr);
    gap: var(--ps-account-rail-gap);
}
.ps-account-sidebar { grid-column: 1; grid-row: 1; }
.ps-account-main { grid-column: 2; grid-row: 1; min-width: 0; width: 100%; max-width: none; }
.ps-account-rail-toggle {
    display: inline-flex;
    position: fixed;
    top: 50vh;
    left: var(--ps-account-rail-toggle-left, 0px);
    z-index: 40;
    width: 34px;
    height: 96px;
    margin: 0;
    padding: 0;
    transform: translate(-100%, -50%);
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(148,163,184,.28);
    border-right-color: rgba(148,163,184,.18);
    border-radius: 12px 0 0 12px;
    background: #101724;
    color: #cbd5e1;
    box-shadow: 0 10px 24px rgba(0,0,0,.28);
    cursor: pointer;
}
.ps-account-rail-toggle:hover { color: #fff; border-color: rgba(255,54,95,.52); background: #141d2d; }
.ps-account-rail-toggle:focus-visible { outline: 3px solid rgba(255,54,95,.32); outline-offset: 3px; }
.ps-account-rail-toggle-icon { display: block; font-size: 1.55rem; line-height: 1; transform: translateX(1px); }
.ps-account-shell.is-account-rail-collapsed { grid-template-columns: minmax(0, 1fr); gap: 0; }
.ps-account-shell.is-account-rail-collapsed > .ps-account-sidebar { display: none; }
.ps-account-shell.is-account-rail-collapsed > .ps-account-main { grid-column: 1; width: 100%; max-width: none; }
body.ps-account-rail-collapsed .ps-account-page .ps-content-narrow,
.ps-account-page.ps-account-rail-collapsed .ps-content-narrow {
    width: calc(100% - 24px);
    max-width: none;
}
body.ps-account-rail-collapsed .ps-account-page .ps-account-shell,
body.ps-account-rail-collapsed .ps-account-page .ps-account-main,
.ps-account-page.ps-account-rail-collapsed .ps-account-shell,
.ps-account-page.ps-account-rail-collapsed .ps-account-main {
    width: 100%;
    max-width: none;
}
@media (max-width: 1080px) and (min-width: 981px) {
    .ps-account-shell { --ps-account-rail-width: 230px; --ps-account-rail-gap: 1.25rem; grid-template-columns: var(--ps-account-rail-width) minmax(0, 1fr); }
}
@media (max-width: 980px) {
    .ps-account-rail-toggle { display: none !important; }
    body.ps-account-rail-collapsed .ps-account-page .ps-content-narrow, .ps-account-page.ps-account-rail-collapsed .ps-content-narrow { width: min(calc(100% - 20px), 100%); max-width: none; }
    .ps-account-shell,
    .ps-account-shell.is-account-rail-collapsed { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
    .ps-account-shell.is-account-rail-collapsed > .ps-account-sidebar { display: block; }
    .ps-account-shell > .ps-account-sidebar,
    .ps-account-shell > .ps-account-main { grid-column: 1; }
    .ps-account-shell > .ps-account-sidebar { grid-row: 1; }
    .ps-account-shell > .ps-account-main { grid-row: 2; }
}


/* v0.23.227i — Account rail avatar-edge handle + centered collapsed content */
@media (min-width: 981px) {
    .ps-account-rail-toggle {
        width: 28px;
        height: 78px;
        left: var(--ps-account-rail-toggle-left, 0px);
        transform: translate(-100%, -50%);
        border-radius: 5px 0 0 5px;
        border-right-color: rgba(148,163,184,.30);
        box-shadow: 0 8px 18px rgba(0,0,0,.24);
    }
    .ps-account-rail-toggle-icon {
        font-size: 1.35rem;
        transform: none;
    }
    .ps-account-shell.is-account-rail-collapsed {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }
    .ps-account-shell.is-account-rail-collapsed > .ps-account-main {
        grid-column: 1;
        width: 100%;
        max-width: calc(var(--ps-container, 1315px) - var(--ps-account-rail-width) - var(--ps-account-rail-gap));
        margin-inline: auto;
    }
    body.ps-account-rail-collapsed .ps-account-page .ps-content-narrow,
    .ps-account-page.ps-account-rail-collapsed .ps-content-narrow {
        width: min(calc(100% - 36px), var(--ps-container, 1315px));
        max-width: var(--ps-container, 1315px);
        margin-inline: auto;
    }
    body.ps-account-rail-collapsed .ps-account-page .ps-account-shell,
    .ps-account-page.ps-account-rail-collapsed .ps-account-shell {
        width: 100%;
        max-width: none;
    }
}
\n\n/* v0.23.227j — Account rail outer-border spacing + fully rounded handle */
@media (min-width: 981px) {
    .ps-account-rail-toggle {
        width: 30px;
        height: 74px;
        left: var(--ps-account-rail-toggle-left, 0px);
        transform: translate(-50%, -50%);
        border: 1px solid rgba(148,163,184,.30);
        border-radius: 12px;
        background: #101724;
        box-shadow: 0 8px 18px rgba(0,0,0,.24);
    }
    .ps-account-rail-toggle:hover {
        border-color: rgba(255,54,95,.52);
    }
    .ps-account-rail-toggle-icon {
        font-size: 1.3rem;
        transform: none;
    }
}

/* v0.23.273j: compact approval checkpoint status; avoid duplicate full-page notice on Profile. */
.ps-approval-checkpoint-notice{margin:0 0 18px;padding:16px 18px;border-radius:12px}
.ps-approval-checkpoint-notice h3{margin:0 0 5px;font-size:1rem;line-height:1.3}
.ps-approval-checkpoint-notice p{margin:0;color:var(--ps-muted,#aab3c5);line-height:1.5}
.ps-approval-checkpoint-status-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.ps-approval-checkpoint-pill{display:inline-flex;flex:0 0 auto;align-items:center;min-height:28px;padding:4px 9px;border:1px solid rgba(245,158,11,.35);border-radius:999px;background:rgba(245,158,11,.09);color:#f7c96b;font-size:.72rem;font-weight:800;letter-spacing:.02em;white-space:nowrap}
@media(max-width:640px){.ps-approval-checkpoint-status-row{flex-direction:column;gap:10px}.ps-approval-checkpoint-pill{align-self:flex-start}}

/* v0.23.303l: shared transient frontend confirmation lifecycle. */
.ps-support-notice[data-ps-auto-dismiss],
.ps-career-application-success[data-ps-auto-dismiss],
.ps-ads-notice-success[data-ps-auto-dismiss],
.ps-privacy-confirmation-success[data-ps-auto-dismiss]{
    position:relative;
    transition:opacity .5s ease,transform .5s ease,max-height .5s ease,margin .5s ease,padding .5s ease,border-width .5s ease;
}



#ps-advertising-region-controls.ps-ad-region-managed{opacity:.58}
#ps-advertising-region-controls.ps-ad-region-managed select,#ps-advertising-region-controls.ps-ad-region-managed input{cursor:not-allowed}

/* Roadmap 30-1: Verified Answers / Trusted Knowledge. */
.ps-verified-answer-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid currentColor;border-radius:999px;font-size:.78rem;font-weight:700;line-height:1.35}
.ps-verification-review-badge{display:inline-flex;align-items:center;padding:2px 8px;border:1px dashed currentColor;border-radius:999px;font-size:.76rem;font-weight:650;line-height:1.35;opacity:.82}
.ps-verified-answer-note{margin:10px 0 0;padding:9px 11px;border:1px solid var(--ps-border,#d8dee6);border-radius:10px;font-size:.88rem;line-height:1.45}
.ps-verified-answer-control{display:inline-block;position:relative}
.ps-verified-answer-control>summary{cursor:pointer;list-style:none}
.ps-verified-answer-control>summary::-webkit-details-marker{display:none}
.ps-verified-answer-form{display:grid;gap:7px;min-width:min(320px,80vw);margin-top:8px;padding:10px;border:1px solid var(--ps-border,#d8dee6);border-radius:10px;background:var(--ps-surface,#fff);box-shadow:0 10px 28px rgba(15,23,42,.12);position:absolute;z-index:20}
.ps-verified-answer-form label{font-weight:700}
.ps-verified-answer-form input[type="text"]{width:100%}
.ps-verified-answer-form small{line-height:1.35;opacity:.78}
.ps-search-verified-filter label{display:flex;align-items:center;gap:8px;min-height:42px;font-weight:600}
.ps-search-verified-filter input[type="checkbox"]{width:auto;margin:0}
@media(max-width:700px){.ps-verified-answer-form{position:static;min-width:0;width:min(100%,320px);box-shadow:none}}

/* R30-2 visual refinement + R30-3 collaboration discovery */
.ps-search-save-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:-1px;padding:12px 16px;border:1px solid var(--ps-border,#293346);border-top:0;border-radius:0 0 14px 14px;background:rgba(17,24,39,.72)}.ps-search-save-row .ps-community-button{min-height:36px;padding:7px 13px}.ps-search-save-row>a{font-size:.86rem;font-weight:700}.ps-search-save-row .ps-field-help{margin-left:auto;font-size:.78rem}.ps-saved-searches-panel>p:first-of-type{max-width:760px;color:var(--ps-muted,#98a2b3)}.ps-saved-searches-panel .ps-relationship-list{display:grid;gap:10px}.ps-saved-search-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 16px!important;border:1px solid rgba(148,163,184,.16);border-radius:12px;background:rgba(255,255,255,.018)}.ps-saved-search-item>div:first-child{display:grid;gap:4px;min-width:0}.ps-saved-search-item .ps-relationship-title{font-size:1rem;font-weight:800}.ps-saved-search-item small{color:var(--ps-muted,#98a2b3)}.ps-saved-search-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.ps-saved-search-controls label{display:grid;gap:4px;color:var(--ps-muted,#98a2b3);font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.035em}.ps-saved-search-controls select{min-width:128px;min-height:36px;padding:6px 30px 6px 9px}.ps-saved-search-controls .ps-community-button{min-height:36px;padding:6px 10px}.ps-project-collaboration-discovery{display:grid;gap:12px}.ps-project-open-role-editor{display:grid;gap:10px}.ps-project-open-role-row{display:grid;grid-template-columns:minmax(150px,.75fr) minmax(180px,1fr);gap:10px;padding:12px;border:1px solid rgba(148,163,184,.16);border-radius:10px;background:rgba(255,255,255,.012)}.ps-project-open-role-row label{display:grid;gap:5px}.ps-project-open-role-row .is-wide{grid-column:1/-1}.ps-project-collaboration-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.ps-project-collaboration-heading h2{margin:0}.ps-project-collaboration-pill,.ps-explore-collab-badge{display:inline-flex;align-items:center;padding:3px 8px;border:1px solid rgba(34,197,94,.35);border-radius:999px;background:rgba(34,197,94,.08);font-size:.72rem;font-weight:800;white-space:nowrap}.ps-project-open-roles{display:grid;gap:8px;margin:10px 0}.ps-project-open-role{display:grid;gap:3px;padding:9px 10px;border:1px solid rgba(148,163,184,.14);border-radius:9px}.ps-project-open-role span,.ps-project-open-role p{margin:0;color:var(--ps-muted,#98a2b3);font-size:.82rem;line-height:1.4}@media(max-width:760px){.ps-saved-search-item{grid-template-columns:1fr}.ps-saved-search-controls{align-items:stretch}.ps-saved-search-controls label,.ps-saved-search-controls select{width:100%}.ps-search-save-row .ps-field-help{width:100%;margin-left:0}.ps-project-open-role-row{grid-template-columns:1fr}}


/* v0.23.306a: R30-3 collaboration layout correction. */
.ps-project-collaboration-discovery{width:100%;max-width:none;box-sizing:border-box;padding:18px!important;border-radius:14px}.ps-project-collaboration-discovery>p{max-width:820px;margin:0;color:var(--ps-muted,#98a2b3);line-height:1.55}.ps-project-collaboration-status-field{max-width:420px}.ps-project-collaboration-status-field select{width:100%;min-height:44px}.ps-project-open-role-editor{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ps-project-open-role-editor[hidden]{display:none!important}.ps-project-open-role-row{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px;padding:14px;border-radius:12px;background:rgba(255,255,255,.018)}.ps-project-open-role-row label{min-width:0}.ps-project-open-role-row select,.ps-project-open-role-row input,.ps-project-open-role-row textarea{width:100%;max-width:none;box-sizing:border-box}.ps-project-open-role-row textarea{min-height:84px;resize:vertical}.ps-project-open-role-row .is-wide{grid-column:1/-1}.ps-project-open-role-row span{font-size:.78rem;font-weight:750}.ps-project-collaboration-discovery legend{padding:0 8px;font-weight:800}.ps-project-collaboration-discovery .ps-project-field{margin:0}.ps-project-collaboration-discovery .ps-project-open-role-editor{margin-top:2px}@media(max-width:980px){.ps-project-open-role-editor{grid-template-columns:1fr}}@media(max-width:620px){.ps-project-collaboration-discovery{padding:14px!important}.ps-project-open-role-row{grid-template-columns:1fr}.ps-project-open-role-row .is-wide{grid-column:auto}}

/* v0.23.306b: full-row collaboration discovery + right-aligned Explore filter actions. */
.ps-project-collaboration-discovery{grid-column:1/-1}.ps-explore-filter-actions{grid-column:span 2;display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.ps-explore-filter-actions>.ps-community-button{min-width:110px;min-height:40px;margin:0}@media(max-width:760px){.ps-explore-filter-actions{grid-column:1/-1;justify-content:flex-end}}@media(max-width:500px){.ps-explore-filter-actions{grid-column:auto;justify-content:flex-end;flex-wrap:wrap}}

.ps-project-open-role-row select{font-size:.78rem}

/* R30-4 — Structured Project Feedback / RFC workflow */
.ps-project-feedback-compose-context,
.ps-project-feedback-manager,
.ps-thread-project-feedback-meta {
    border: 1px solid var(--ps-border, rgba(148,163,184,.24));
    border-radius: 16px;
    background: var(--ps-surface, rgba(15,23,42,.42));
}
.ps-project-feedback-compose-context {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 20px;
    margin-bottom: 18px;
}
.ps-project-feedback-compose-context h2,
.ps-project-feedback-manager h3,
.ps-project-feedback-section h2 { margin: 3px 0 6px; }
.ps-project-feedback-kicker {
    display: inline-block;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 750;
    letter-spacing: .075em;
    text-transform: uppercase;
    color: var(--ps-muted, #9aa6b8);
}
.ps-project-feedback-category-field { margin-bottom: 16px; }
.ps-project-feedback-manager {
    grid-column: 1 / -1;
    display: grid;
    gap: 14px;
    padding: 18px 20px;
    margin-top: 18px;
}
.ps-project-feedback-manager-head,
.ps-project-feedback-public-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}
.ps-project-feedback-count,
.ps-project-feedback-badge,
.ps-project-feedback-category,
.ps-project-feedback-state {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: max-content;
    max-width: 100%;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}
.ps-project-feedback-count,
.ps-project-feedback-category { padding: 5px 9px; background: rgba(148,163,184,.12); }
.ps-project-feedback-badge { padding: 6px 10px; background: rgba(96,165,250,.14); }
.ps-project-feedback-manager-list,
.ps-project-feedback-public-list { display: grid; gap: 10px; }
.ps-project-feedback-manager-list article,
.ps-project-feedback-public-list article {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding: 13px 14px;
    border: 1px solid var(--ps-border, rgba(148,163,184,.20));
    border-radius: 12px;
    background: rgba(148,163,184,.04);
}
.ps-project-feedback-manager-list article > div,
.ps-project-feedback-public-list article > div { display: grid; gap: 4px; min-width: 0; }
.ps-project-feedback-manager-list article span { color: var(--ps-muted, #9aa6b8); font-size: 12px; }
.ps-project-feedback-public-list h3,
.ps-project-feedback-public-list p { margin: 0; }
.ps-project-feedback-public-list p { color: var(--ps-muted, #9aa6b8); }
.ps-thread-project-feedback-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 14px;
    padding: 12px 14px;
    margin: 14px 0;
}
.ps-project-feedback-state {
    margin-top: 10px;
    padding: 6px 10px;
    background: rgba(148,163,184,.12);
}
.ps-project-feedback-state.is-planned { background: rgba(59,130,246,.14); }
.ps-project-feedback-state.is-resolved { background: rgba(34,197,94,.14); }
.ps-project-feedback-state.is-declined { background: rgba(244,63,94,.12); }
.ps-project-feedback-state-control { margin-top: 10px; }
.ps-project-feedback-state-control > summary { cursor: pointer; font-size: 12px; font-weight: 700; }
.ps-project-feedback-state-control form {
    display: grid;
    grid-template-columns: minmax(150px, .75fr) minmax(220px, 1.25fr) auto;
    gap: 10px;
    align-items: end;
    margin-top: 10px;
    padding: 12px;
    border: 1px solid var(--ps-border, rgba(148,163,184,.20));
    border-radius: 12px;
    background: rgba(148,163,184,.04);
}
.ps-project-feedback-state-control label { display: grid; gap: 5px; min-width: 0; }
.ps-project-feedback-state-control label > span { font-size: 11px; font-weight: 700; color: var(--ps-muted, #9aa6b8); }
@media (max-width: 760px) {
    .ps-project-feedback-compose-context,
    .ps-project-feedback-manager-head,
    .ps-project-feedback-public-head,
    .ps-project-feedback-manager-list article,
    .ps-project-feedback-public-list article { flex-direction: column; align-items: stretch; }
    .ps-project-feedback-state-control form { grid-template-columns: 1fr; }
}

/* v0.23.307a — R30-4 frontend action clarity */
a.ps-community-button,
a.ps-community-button:link,
a.ps-community-button:visited,
a.ps-community-button:hover,
a.ps-community-button:focus,
a.ps-community-button:active {
    text-decoration: none !important;
}
.ps-project-feedback-compose-context > .ps-community-button {
    gap: .5rem;
    white-space: nowrap;
}
.ps-project-feedback-compose-context .ps-button-arrow {
    display: inline-block;
    font-size: 1.05em;
    line-height: 1;
}


/* v0.23.307c — R30-4 submit navigation correction. Removes the shortcode-injected Feedback back control now that the theme owns the canonical page-seam return arrow; removes the Feedback Back to Project action for all users. Presentation/navigation only. */
/* v0.23.307b — Project Feedback submit navigation parity. */

/* R30-5 Personalized Developer Digest */
.ps-developer-digest{display:grid;gap:18px}.ps-developer-digest-settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px) auto;gap:14px;align-items:center;padding:18px}.ps-developer-digest-settings p{margin:5px 0 0}.ps-developer-digest-settings select{width:100%}.ps-developer-digest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ps-developer-digest-section{padding:18px;min-width:0}.ps-developer-digest-section h3{margin:0 0 12px}.ps-developer-digest-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.ps-developer-digest-list li{display:grid;gap:3px;padding-top:10px;border-top:1px solid var(--ps-border,#303746)}.ps-developer-digest-list li:first-child{padding-top:0;border-top:0}.ps-developer-digest-list a{text-decoration:none;font-weight:700}.ps-developer-digest-list small{opacity:.75}@media(max-width:900px){.ps-developer-digest-settings{grid-template-columns:1fr}.ps-developer-digest-settings .ps-community-button{justify-self:start}.ps-developer-digest-grid{grid-template-columns:1fr}}

.ps-project-industry-credits{gap:12px}.ps-project-industry-credit-list{display:grid;gap:8px}.ps-project-industry-credit{display:grid;gap:3px;padding:10px 11px;border:1px solid rgba(148,163,184,.16);border-radius:10px;background:rgba(255,255,255,.018);min-width:0}.ps-project-industry-credit strong,.ps-project-industry-credit span,.ps-project-industry-credit small{min-width:0;overflow-wrap:anywhere}.ps-project-industry-credit span,.ps-project-industry-credit small{color:var(--ps-muted,#98a2b3);font-size:.8rem;line-height:1.4}.ps-project-industry-credit small{font-size:.74rem}.ps-project-industry-credits>a{font-weight:750;text-decoration:none}

.ps-project-professional-fit{display:grid;gap:3px;margin:10px 0;padding:10px 11px;border:1px solid rgba(96,165,250,.28);border-radius:10px;background:rgba(96,165,250,.07)}.ps-project-professional-fit strong{font-size:.82rem}.ps-project-professional-fit span,.ps-project-professional-fit small{color:var(--ps-muted,#98a2b3);font-size:.76rem;line-height:1.4}.ps-explore-collab-footer{flex-wrap:wrap;gap:6px}.ps-explore-industry-fit{display:inline-flex;align-items:center;max-width:100%;padding:4px 9px;border:1px solid rgba(96,165,250,.32);border-radius:999px;background:rgba(96,165,250,.08);color:#bfdbfe;font-size:.7rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Roadmap 33 R33-3 alignment follow-up + R33-4 historical changelog import. */
.ps-project-developer-taxonomy .ps-project-field select[multiple]{height:216px;min-height:216px;max-height:216px;overflow:auto}.ps-project-history-import{grid-column:1/-1;display:grid;gap:14px;padding:18px 20px;margin-top:18px;border:1px solid var(--ps-border,rgba(148,163,184,.24));border-radius:16px;background:var(--ps-surface,rgba(15,23,42,.42));box-sizing:border-box}.ps-project-history-import>p{margin:0;color:var(--ps-muted,#9aa6b8);line-height:1.55}.ps-project-history-import-form,.ps-project-history-preview{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);gap:14px;align-items:start}.ps-project-history-import-form label{display:grid;gap:6px;min-width:0}.ps-project-history-import-form label>span{font-size:.78rem;font-weight:750}.ps-project-history-import-form select,.ps-project-history-import-form input[type=file],.ps-project-history-import-form textarea{width:100%;box-sizing:border-box}.ps-project-history-import-form textarea{min-height:190px;resize:vertical}.ps-project-history-text{grid-row:span 2}.ps-project-history-import-form>.ps-community-button{justify-self:start}.ps-project-history-preview{grid-template-columns:1fr}.ps-project-history-preview-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.ps-project-history-preview-head span{color:var(--ps-muted,#9aa6b8);font-size:.8rem}.ps-project-history-preview-list{display:grid;gap:8px;max-height:520px;overflow:auto;padding-right:4px}.ps-project-history-preview-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:12px;border:1px solid rgba(148,163,184,.16);border-radius:11px;background:rgba(255,255,255,.018)}.ps-project-history-preview-item>span{display:grid;gap:3px;min-width:0}.ps-project-history-preview-item small,.ps-project-history-preview-item>span>span{color:var(--ps-muted,#9aa6b8);font-size:.78rem;line-height:1.4}.ps-project-history-preview-item.is-duplicate{opacity:.6}.ps-project-history-import .ps-community-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ps-project-history-import .ps-community-notice form{margin:0}@media(max-width:760px){.ps-project-developer-taxonomy .ps-project-field select[multiple]{height:216px;min-height:216px;max-height:216px}.ps-project-history-import-form{grid-template-columns:1fr}.ps-project-history-text{grid-row:auto}.ps-project-history-preview-head{align-items:flex-start;flex-direction:column}}.ps-project-history-source,.ps-project-history-source option{font-size:14px!important;line-height:1.25!important}.ps-project-history-source{min-height:46px;height:46px;padding:0 36px 0 14px}.ps-project-history-preview-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ps-project-history-ajax-status{font-size:.82rem;color:var(--ps-muted,#9aa6b8);line-height:1.35}.ps-project-history-import-form button[aria-busy="true"]{cursor:wait;opacity:.72}

/* v0.23.321b — R33-4 historical import reset / file-clear refinement. */
.ps-project-history-file-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.ps-project-history-file-actions small{margin:0}.ps-project-history-file-actions .ps-text-button,.ps-project-history-preview-actions .ps-text-button{min-height:36px;padding:5px 2px}.ps-project-history-import template{display:none!important}

/* R33-6 Collaboration Matching 2.0. */
.ps-project-collaboration-match-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ps-project-collaboration-match-grid label{display:grid;gap:6px;min-width:0}.ps-project-collaboration-match-grid label>span{font-size:.78rem;font-weight:750}.ps-project-collaboration-match-grid select{width:100%;min-height:156px;box-sizing:border-box}.ps-project-developer-fit{border-color:rgba(96,165,250,.28)!important;background:rgba(96,165,250,.07)!important}.ps-project-developer-fit strong{color:#bfdbfe}@media(max-width:900px){.ps-project-collaboration-match-grid{grid-template-columns:1fr}}

/* R33-9 / R33-9A asset-library presentation correction. */
.ps-asset-editor .ps-project-checkbox{display:flex;align-items:center;gap:9px;line-height:1.35}.ps-asset-editor .ps-project-checkbox>span{min-width:0}.ps-asset-editor .ps-project-checkbox input[type=checkbox],.ps-asset-editor .ps-project-checkbox input[type=radio]{appearance:auto!important;-webkit-appearance:auto!important;width:16px!important;min-width:16px!important;max-width:16px!important;height:16px!important;min-height:16px!important;max-height:16px!important;flex:0 0 16px!important;margin:0!important;padding:0!important;border-radius:3px!important;box-sizing:border-box!important}.ps-asset-check-field{grid-template-rows:auto minmax(44px,auto);align-content:start}.ps-asset-check-field .ps-project-checkbox,.ps-asset-attribution>.ps-project-checkbox{display:flex;align-items:center;min-height:44px;height:auto;padding:10px 12px}.ps-asset-attribution{align-content:start}.ps-asset-attribution>.ps-project-checkbox{width:100%;box-sizing:border-box}.ps-asset-grid>.ps-project-field{align-self:start}.ps-asset-grid>.ps-project-field>input,.ps-asset-grid>.ps-project-field>select{height:44px}.ps-asset-grid>.ps-project-field>textarea{width:100%}
.ps-asset-editor{gap:14px;padding:0;border:0;background:transparent}.ps-asset-section{box-sizing:border-box;border:1px solid var(--ps-border,#293346);border-radius:14px;background:var(--ps-card,#111827)}.ps-asset-section-primary{display:grid;gap:16px;padding:18px}.ps-asset-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:1px solid rgba(148,163,184,.14)}.ps-asset-section-heading h3{margin:3px 0 0;font-size:1.03rem}.ps-asset-section-heading p{max-width:460px;margin:0;color:var(--ps-muted,#98a2b3);font-size:.84rem;line-height:1.5}.ps-asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.ps-asset-details{overflow:hidden}.ps-asset-details>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;cursor:pointer;list-style:none}.ps-asset-details>summary::-webkit-details-marker{display:none}.ps-asset-details>summary:after{content:'+';display:grid;width:27px;height:27px;flex:0 0 27px;place-items:center;border:1px solid var(--ps-border,#293346);border-radius:8px;color:var(--ps-muted,#98a2b3);font-size:1rem;font-weight:800}.ps-asset-details[open]>summary:after{content:'−'}.ps-asset-details>summary span{display:grid;gap:3px}.ps-asset-details>summary strong{font-size:.94rem}.ps-asset-details>summary small{color:var(--ps-muted,#98a2b3);font-size:.78rem;font-weight:500;line-height:1.4}.ps-asset-details[open]>summary{border-bottom:1px solid rgba(148,163,184,.14)}.ps-asset-details-body{padding:17px}.ps-asset-editor .ps-project-field>span:first-child{font-size:.79rem;font-weight:760}.ps-asset-editor .ps-project-field input,.ps-asset-editor .ps-project-field select{min-height:44px}.ps-asset-editor .ps-project-field textarea{min-height:88px;resize:vertical}.ps-asset-editor .ps-project-field small{margin-top:-1px;font-size:.76rem}.ps-asset-editor .ps-project-field select.ps-asset-technology-select[multiple]{height:300px!important;min-height:300px!important;max-height:300px!important;overflow:auto!important}.ps-asset-check-field{align-content:start}.ps-asset-check-field .ps-project-checkbox,.ps-asset-attribution>.ps-project-checkbox{min-height:44px;box-sizing:border-box;padding:10px 12px;border:1px solid var(--ps-border,#293346);border-radius:10px;background:rgba(255,255,255,.018)}.ps-asset-attribution textarea{margin-top:2px}.ps-asset-state{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:center;padding:14px 16px;border:1px solid var(--ps-border,#293346);border-radius:12px;background:rgba(255,255,255,.018)}.ps-asset-state>div:first-child{display:grid;gap:4px;min-width:0}.ps-asset-state>div:first-child strong{overflow-wrap:anywhere}.ps-asset-state-pills{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.ps-asset-state-pills span{display:inline-flex;padding:5px 8px;border:1px solid rgba(148,163,184,.2);border-radius:999px;color:var(--ps-muted,#aab3c5);font-size:.74rem;font-weight:700}.ps-asset-state code{grid-column:1/-1;overflow:auto;padding:8px 10px;border-radius:8px;background:rgba(0,0,0,.18);color:var(--ps-muted,#aab3c5);font-size:.73rem}.ps-asset-form-actions{padding-top:2px}.ps-asset-delete-row{justify-content:flex-end;margin-top:-4px}.ps-asset-editor+.ps-asset-delete-row{padding:0 4px}.ps-projects-account>.ps-account-heading{margin-bottom:0;padding-bottom:2px}.ps-projects-account>.ps-account-heading p{max-width:850px}.ps-projects-account .ps-storage-summary-card{margin-bottom:-4px}@media(max-width:760px){.ps-asset-section-heading{display:grid;gap:7px}.ps-asset-grid{grid-template-columns:1fr}.ps-asset-grid .ps-project-field-wide{grid-column:auto}.ps-asset-state{grid-template-columns:1fr}.ps-asset-state-pills{justify-content:flex-start}.ps-asset-details>summary{padding:14px}.ps-asset-details-body,.ps-asset-section-primary{padding:14px}}

/* v0.23.327e — Structured Developer Profile layout correction */
.ps-developer-profile-structured {
    display: grid;
    gap: 16px;
    margin: 0;
    padding: 18px;
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: 14px;
    background: rgba(15, 23, 42, .18);
}
.ps-developer-profile-structured > legend {
    padding: 0 8px;
    font-size: 1.05rem;
    font-weight: 800;
}
.ps-developer-profile-intro { margin: 0; }
.ps-developer-profile-section {
    min-width: 0;
    padding: 16px;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 12px;
    background: rgba(15, 23, 42, .30);
}
.ps-developer-profile-section-head {
    display: grid;
    gap: 4px;
    margin-bottom: 12px;
}
.ps-developer-profile-section-head h3,
.ps-developer-profile-section-head p { margin: 0; }
.ps-developer-profile-section-head h3 { font-size: 1rem; }
.ps-developer-profile-section-head p { font-size: .86rem; opacity: .72; }
.ps-developer-profile-focus-grid { gap: 12px; }
.ps-developer-choice-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}
.ps-developer-choice {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 10px;
    background: rgba(15, 23, 42, .36);
    font-weight: 600 !important;
    line-height: 1.3;
}
.ps-developer-choice input[type=checkbox] {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px;
    margin: 0;
    flex: 0 0 16px;
}
.ps-developer-choice span { min-width: 0; overflow-wrap: anywhere; }
.ps-language-proficiency-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.ps-language-proficiency-item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 9px !important;
    min-width: 0;
    padding: 11px 12px !important;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 10px;
    background: rgba(15, 23, 42, .36);
    font-weight: 600 !important;
}
.ps-language-proficiency-name {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
}
.ps-language-proficiency-name input[type=checkbox] {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px;
    margin: 0;
    flex: 0 0 16px;
}
.ps-language-proficiency-name span { min-width: 0; overflow-wrap: anywhere; }
.ps-developer-profile-structured .ps-language-proficiency-item select {
    width: 100% !important;
    min-width: 0;
    height: 42px;
    padding: 7px 34px 7px 10px;
}
.ps-developer-learning-select {
    width: 100% !important;
    height: 260px !important;
    min-height: 260px !important;
    max-height: 260px !important;
    padding: 8px 10px !important;
    line-height: 1.45;
}
.ps-developer-learning-select optgroup { font-weight: 800; }
.ps-developer-learning-select option { padding: 3px 6px; }
@media (max-width: 1180px) {
    .ps-developer-choice-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ps-language-proficiency-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
    .ps-developer-profile-structured { padding: 14px; }
    .ps-developer-choice-grid,
    .ps-language-proficiency-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
    .ps-developer-choice-grid,
    .ps-language-proficiency-grid { grid-template-columns: 1fr; }
}

/* R33-9A3 secure Asset package quarantine staging */
.ps-asset-package-card{margin-top:18px}
.ps-asset-package-upload-form{display:grid;gap:7px;margin-top:12px}
.ps-asset-package-upload-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}
.ps-asset-package-upload-form .ps-project-field{margin:0;min-width:0}
.ps-asset-package-upload-form input[type=file]{width:100%;min-height:44px;box-sizing:border-box}
.ps-asset-package-upload-row>.ps-community-button{min-height:44px;margin:0;align-self:end}
.ps-asset-package-upload-help{display:block;margin:0;color:var(--ps-muted,#9da8bb);line-height:1.45}
.ps-asset-package-list{display:grid;gap:10px;margin-top:18px}
.ps-asset-package-list h4{margin:0 0 2px}
.ps-asset-package-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--ps-border,#30384a);border-radius:12px;background:rgba(255,255,255,.02)}
.ps-asset-package-row>div{display:grid;gap:4px;min-width:0}
.ps-asset-package-row strong,.ps-asset-package-row small{overflow-wrap:anywhere}
.ps-asset-package-row form{margin:0;flex:0 0 auto}
.ps-asset-package-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.ps-asset-package-actions form{margin:0}.ps-asset-package-actions .ps-community-button,.ps-asset-package-actions .ps-text-button{white-space:nowrap}
@media (max-width:700px){.ps-asset-package-row{align-items:flex-start;flex-direction:column}.ps-asset-package-upload-row{grid-template-columns:1fr;align-items:stretch}.ps-asset-package-upload-row>.ps-community-button{width:100%}}


/* R33-10 Project / Build Asset Library dependency bridge */
.ps-project-asset-library{margin-top:18px;display:grid;gap:16px}
.ps-project-asset-library-head{align-items:flex-start;gap:18px}
.ps-project-asset-library-head p{margin:6px 0 0;max-width:74ch;color:var(--ps-muted,#9da8bb)}
.ps-project-asset-library-summary{display:grid;place-items:center;min-width:84px;padding:10px 14px;border:1px solid var(--ps-border,#30384a);border-radius:12px;background:rgba(255,255,255,.025)}
.ps-project-asset-library-summary strong{font-size:1.35rem;line-height:1}
.ps-project-asset-library-summary span{font-size:.78rem;color:var(--ps-muted,#9da8bb);text-transform:uppercase;letter-spacing:.06em;margin-top:5px}
.ps-project-asset-runtime-context{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:rgba(15,23,42,.34)}
.ps-project-asset-runtime-context span{color:var(--ps-muted,#9da8bb);font-size:.86rem}
.ps-project-asset-dependency-list{display:grid;gap:10px}
.ps-project-asset-dependency-card{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--ps-border,#30384a);border-radius:12px;background:rgba(255,255,255,.02)}
.ps-project-asset-dependency-main{display:grid;gap:8px;min-width:0;flex:1}
.ps-project-asset-dependency-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ps-project-asset-dependency-title strong{font-size:1rem}
.ps-project-asset-dependency-title code{font-size:.78rem;overflow-wrap:anywhere}
.ps-project-asset-dependency-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--ps-muted,#9da8bb);font-size:.86rem}
.ps-project-asset-dependency-badges{display:flex;gap:7px;flex-wrap:wrap}
.ps-project-asset-badge{display:inline-flex;align-items:center;min-height:26px;padding:3px 8px;border:1px solid rgba(148,163,184,.2);border-radius:999px;background:rgba(148,163,184,.08);font-size:.76rem;font-weight:700;text-transform:none}
.ps-project-asset-revision-note{color:#f6c96d;line-height:1.45}
.ps-project-asset-dependency-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;flex:0 0 auto}
.ps-project-asset-dependency-actions form{margin:0}
.ps-project-asset-empty{display:grid;gap:4px;padding:14px;border:1px dashed rgba(148,163,184,.28);border-radius:12px;color:var(--ps-muted,#9da8bb)}
.ps-project-asset-empty strong{color:inherit}
.ps-project-asset-attach{border:1px solid var(--ps-border,#30384a);border-radius:12px;background:rgba(255,255,255,.015);overflow:hidden}
.ps-project-asset-attach summary{cursor:pointer;padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.ps-project-asset-attach summary span{display:grid;gap:3px}
.ps-project-asset-attach summary small{color:var(--ps-muted,#9da8bb);font-weight:400}
.ps-project-asset-attach-body{display:grid;gap:16px;padding:0 14px 14px}
.ps-project-asset-attach-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end}
.ps-project-asset-attach-form .ps-project-field{margin:0}
.ps-project-asset-available{display:grid;gap:10px}
.ps-project-asset-available h4{margin:0}
.ps-project-asset-available-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ps-project-asset-available-grid article{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:rgba(15,23,42,.26)}
.ps-project-asset-available-grid article>div{display:grid;gap:5px;min-width:0}
.ps-project-asset-available-grid article code,.ps-project-asset-available-grid article small{overflow-wrap:anywhere}
.ps-project-asset-available-grid article form{margin:2px 0 0}
.ps-project-asset-build-lock{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid rgba(83,117,255,.24);border-radius:12px;background:rgba(83,117,255,.07)}
.ps-project-asset-build-lock>div{display:grid;gap:5px;min-width:0}
.ps-project-asset-build-lock form{margin:0;flex:0 0 auto}
.ps-project-asset-build-lock span,.ps-project-asset-build-lock small{color:var(--ps-muted,#9da8bb);line-height:1.45}
.ps-project-asset-boundary{margin:0;color:var(--ps-muted,#9da8bb);font-size:.84rem;line-height:1.5}
@media(max-width:900px){.ps-project-asset-attach-form{grid-template-columns:1fr 1fr}.ps-project-asset-attach-form>.ps-community-button{grid-column:1/-1}.ps-project-asset-available-grid{grid-template-columns:1fr}}
@media(max-width:700px){.ps-project-asset-library-head,.ps-project-asset-dependency-card,.ps-project-asset-build-lock,.ps-project-asset-available-grid article{align-items:stretch;flex-direction:column}.ps-project-asset-library-summary{width:100%}.ps-project-asset-dependency-actions{justify-content:flex-start}.ps-project-asset-attach-form{grid-template-columns:1fr}.ps-project-asset-attach-form>.ps-community-button{grid-column:auto}.ps-project-asset-dependency-actions .ps-community-button,.ps-project-asset-build-lock .ps-community-button{width:100%}}

/* v0.23.331a feed Ad adjacency backstop */
.ps-feed-ad-separator{display:block;width:100%;min-height:26px;margin:8px 0 12px;border-top:1px solid rgba(148,163,184,.13);border-bottom:1px solid rgba(148,163,184,.07);background:linear-gradient(90deg,transparent,rgba(148,163,184,.025),transparent);pointer-events:none}

/* v0.23.332d — Waitlist social providers remain visible but cannot authenticate. */
.ps-social-auth-button.is-waitlist-disabled{opacity:.42;filter:grayscale(1);cursor:not-allowed;pointer-events:none;user-select:none;border-style:dashed;}
.ps-social-auth-disabled-note{margin:.65rem 0 0;color:var(--ps-muted,#98a2b3);font-size:.78rem;line-height:1.45;text-align:center;}

/* v0.23.332y — container-aware frontend notice width normalization.
   Shared Community notices fill the local content region they belong to and
   shrink with that region at narrower browser widths. */
.ps-community-notice,
.ps-community-notice[data-ps-auto-dismiss] {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

/* v0.23.332z — Account real-name/access notices must span the full Account content column. */
.ps-account-main > .ps-community-notice,
.ps-account-main > .ps-community-notice[data-ps-auto-dismiss],
.ps-account-main > .ps-approval-checkpoint-notice {
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    box-sizing: border-box;
}


/* v0.23.333a — persistent real-name approval status cards + balanced transient notice rhythm. */
.ps-real-name-status-card{
    width:100%;max-width:none;min-width:0;box-sizing:border-box;
    display:grid;gap:16px;margin:0 0 20px;padding:18px;
    border:1px solid rgba(148,163,184,.28);border-radius:14px;
    background:rgba(30,41,59,.55);
}
.ps-real-name-status-card.is-attention{border-color:rgba(245,158,11,.34)}
.ps-real-name-status-card.is-error{border-color:rgba(239,68,68,.46)}
.ps-real-name-status-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;min-width:0}
.ps-real-name-status-head>div{min-width:0}
.ps-real-name-status-kicker{display:block;margin:0 0 5px;color:var(--ps-muted,#98a2b3);font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.ps-real-name-status-head h3{margin:0 0 7px;font-size:1.08rem;line-height:1.3}
.ps-real-name-status-head p{margin:0;color:var(--ps-muted,#aab3c5);line-height:1.55}
.ps-real-name-status-pill{display:inline-flex;flex:0 0 auto;align-items:center;min-height:30px;padding:5px 10px;border:1px solid rgba(245,158,11,.35);border-radius:999px;background:rgba(245,158,11,.09);color:#f7c96b;font-size:.73rem;font-weight:800;white-space:nowrap}
.ps-real-name-status-pill.is-error{border-color:rgba(239,68,68,.4);background:rgba(239,68,68,.08);color:#ff9aa8}
.ps-real-name-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ps-real-name-status-metric{min-width:0;padding:14px 15px;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:rgba(15,23,42,.32)}
.ps-real-name-status-metric>span{display:block;margin:0 0 5px;color:var(--ps-muted,#98a2b3);font-size:.71rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.ps-real-name-status-metric>strong{display:block;margin:0 0 8px;font-size:1rem;line-height:1.3}
.ps-real-name-status-metric>p{margin:0;color:var(--ps-muted,#aab3c5);font-size:.88rem;line-height:1.5}
.ps-real-name-status-reason{margin:0;padding-top:2px;color:var(--ps-muted,#aab3c5);line-height:1.5}
.ps-community-notice[data-ps-auto-dismiss]{padding:.78rem 2.65rem .78rem .95rem}
.ps-community-notice[data-ps-auto-dismiss] h3{margin:0 0 .35rem;line-height:1.3}
.ps-community-notice[data-ps-auto-dismiss] p{margin:0;line-height:1.45}
.ps-community-notice[data-ps-auto-dismiss] p+p{margin-top:.35rem}
@media(max-width:700px){
    .ps-real-name-status-card{padding:15px;gap:14px}
    .ps-real-name-status-head{flex-direction:column;gap:10px}
    .ps-real-name-status-pill{align-self:flex-start}
    .ps-real-name-status-grid{grid-template-columns:1fr}
}

/* Storage allowance summary cards */
.ps-storage-summary-card{display:grid;gap:16px}
.ps-storage-summary-card .ps-account-card-header{margin:0}
.ps-storage-summary-card .ps-account-card-header p{max-width:760px;margin:7px 0 0;color:var(--ps-muted,#aab3c5);line-height:1.5}
.ps-storage-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ps-storage-summary-metric{min-width:0;padding:14px 15px;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:rgba(15,23,42,.32)}
.ps-storage-summary-metric>span,.ps-storage-summary-foot>div>span{display:block;margin:0 0 5px;color:var(--ps-muted,#98a2b3);font-size:.71rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.ps-storage-summary-metric>strong{display:block;margin:0 0 8px;font-size:1rem;line-height:1.3}
.ps-storage-summary-metric>p{margin:0;color:var(--ps-muted,#aab3c5);font-size:.88rem;line-height:1.5}
.ps-storage-summary-foot{display:grid;grid-template-columns:minmax(180px,.4fr) minmax(0,1fr);gap:24px;align-items:center;padding:14px 20px 14px 15px;border:1px solid rgba(148,163,184,.14);border-radius:12px;background:rgba(255,255,255,.018)}
.ps-storage-summary-foot>div>strong{display:block;font-size:.98rem;line-height:1.3}
.ps-storage-summary-foot>p{margin:0;color:var(--ps-muted,#aab3c5);font-size:.88rem;line-height:1.5;text-align:right;align-self:center}
.ps-storage-summary-alert{display:grid;gap:4px;padding:12px 14px;border:1px solid rgba(245,158,11,.26);border-radius:10px;background:rgba(245,158,11,.06);font-size:.86rem;line-height:1.45}
.ps-storage-summary-alert span{color:var(--ps-muted,#aab3c5)}
@media(max-width:760px){.ps-storage-summary-grid{grid-template-columns:1fr}.ps-storage-summary-foot{grid-template-columns:1fr;gap:10px;padding-right:15px}.ps-storage-summary-foot>p{text-align:left}}


/* R33-11B1 protected 3D Asset preview */
.ps-asset-3d-preview-modal[hidden]{display:none!important}.ps-asset-3d-preview-modal{position:fixed;inset:0;z-index:100080;display:grid;place-items:center;padding:24px}.ps-asset-3d-preview-backdrop{position:absolute;inset:0;background:rgba(2,5,10,.82);backdrop-filter:blur(8px)}.ps-asset-3d-preview-dialog{position:relative;width:min(1180px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:auto;border:1px solid rgba(148,163,184,.22);border-radius:18px;background:#0d121c;box-shadow:0 28px 90px rgba(0,0,0,.55);padding:18px}.ps-asset-3d-preview-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.ps-asset-3d-preview-dialog h3{margin:3px 0 0}.ps-asset-3d-preview-close{appearance:none;border:1px solid rgba(148,163,184,.28);background:#111827;color:#fff;border-radius:10px;width:42px;height:42px;font-size:26px;line-height:1;cursor:pointer}.ps-asset-3d-preview-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px}.ps-asset-3d-preview-stage{position:relative;min-height:520px;border:1px solid rgba(148,163,184,.2);border-radius:14px;overflow:hidden;background:#0a0e16}.ps-asset-3d-preview-stage canvas{display:block;width:100%;height:520px;touch-action:none;cursor:grab}.ps-asset-3d-preview-stage canvas:active{cursor:grabbing}.ps-asset-3d-preview-status{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;pointer-events:none;color:#cbd5e1}.ps-asset-3d-preview-status:empty{display:none}.ps-asset-3d-preview-help{position:absolute;left:12px;bottom:12px;padding:7px 10px;border-radius:999px;background:rgba(6,10,17,.76);border:1px solid rgba(148,163,184,.18);font-size:12px;color:#cbd5e1;pointer-events:none}.ps-asset-3d-preview-meta{border:1px solid rgba(148,163,184,.18);border-radius:14px;background:#101620;padding:16px}.ps-asset-3d-preview-meta h4{margin:0 0 12px}.ps-asset-3d-preview-meta dl{margin:0;display:grid;gap:0}.ps-asset-3d-preview-meta dl>div{display:grid;grid-template-columns:minmax(88px,.82fr) minmax(0,1.18fr);align-items:start;gap:14px;padding:9px 0;border-bottom:1px solid rgba(148,163,184,.12)}.ps-asset-3d-preview-meta dt{color:#94a3b8;min-width:0}.ps-asset-3d-preview-meta dd{margin:0;min-width:0;text-align:right;color:#f8fafc;overflow-wrap:anywhere;word-break:normal}.ps-asset-3d-preview-meta .ps-3d-meta-wide dd{line-height:1.45}.ps-3d-extension-list{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.ps-3d-extension-chip{display:inline-flex;max-width:100%;padding:3px 7px;border:1px solid rgba(148,163,184,.2);border-radius:999px;background:rgba(15,23,42,.72);font-size:11px;line-height:1.35;color:#e2e8f0;overflow-wrap:anywhere}.ps-3d-meta-empty{color:#cbd5e1}.ps-asset-3d-preview-meta p{margin:14px 0 0;color:#94a3b8;font-size:12px;line-height:1.55}.ps-asset-package-actions .ps-asset-3d-preview-open{white-space:nowrap}@media(max-width:860px){.ps-asset-3d-preview-modal{padding:12px}.ps-asset-3d-preview-dialog{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.ps-asset-3d-preview-layout{grid-template-columns:1fr}.ps-asset-3d-preview-stage,.ps-asset-3d-preview-stage canvas{min-height:360px;height:360px}.ps-asset-3d-preview-meta{max-height:280px;overflow:auto}.ps-asset-3d-preview-meta dl>div{grid-template-columns:minmax(100px,.7fr) minmax(0,1.3fr)}}}


/* R33-11B2 protected shaded 3D preview controls */
.ps-asset-3d-preview-toolbar{position:absolute;top:12px;left:12px;z-index:3;display:flex;gap:6px;padding:6px;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:rgba(6,10,17,.78);backdrop-filter:blur(8px)}
.ps-asset-3d-preview-toolbar button{appearance:none;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:#111827;color:#cbd5e1;padding:7px 10px;font-size:12px;line-height:1;cursor:pointer}
.ps-asset-3d-preview-toolbar button:hover,.ps-asset-3d-preview-toolbar button:focus-visible{border-color:rgba(248,250,252,.36);color:#fff}
.ps-asset-3d-preview-toolbar button.is-active{background:#f8fafc;color:#111827;border-color:#f8fafc;font-weight:700}
.ps-asset-3d-preview-toolbar select{appearance:none;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:#111827;color:#cbd5e1;padding:7px 28px 7px 10px;font-size:12px;line-height:1;cursor:pointer;max-width:180px;background-image:linear-gradient(45deg,transparent 50%,#94a3b8 50%),linear-gradient(135deg,#94a3b8 50%,transparent 50%);background-position:calc(100% - 13px) 50%,calc(100% - 9px) 50%;background-size:4px 4px,4px 4px;background-repeat:no-repeat}
.ps-asset-3d-preview-toolbar select:hover,.ps-asset-3d-preview-toolbar select:focus-visible{border-color:rgba(248,250,252,.36);color:#fff;outline:none}

/* R33-12A Browser 3D Creator workspace foundation */
.ps-3d-creator-card{margin:20px 0;border:1px solid var(--ps-border,#2b3545);border-radius:16px;background:var(--ps-surface,#111827);overflow:hidden}.ps-3d-creator-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px}.ps-3d-creator-heading h3{margin:4px 0 6px}.ps-3d-creator-heading p{margin:0;max-width:820px;color:var(--ps-text-muted,#aeb8c8)}.ps-3d-creator-workspace{border-top:1px solid var(--ps-border,#2b3545);background:#0b111b}.ps-3d-creator-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid #253043;background:#101827}.ps-3d-tool-group{display:flex;align-items:center;gap:6px;padding-right:12px;border-right:1px solid #2b3545}.ps-3d-tool-group>span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#8fa0b8}.ps-3d-tool-group button,.ps-3d-creator-object{appearance:none;border:1px solid #334155;background:#121c2c;color:#e8edf5;border-radius:8px;padding:7px 10px;font:inherit;cursor:pointer}.ps-3d-tool-group button:hover,.ps-3d-creator-object:hover{border-color:#5a6f8f;background:#172337}.ps-3d-tool-group button.is-active{background:#e8edf5;color:#101722;border-color:#e8edf5;font-weight:700}.ps-3d-tool-group button:disabled{opacity:.45;cursor:not-allowed}.ps-3d-tool-group-end{margin-left:auto;border-right:0;padding-right:0}.ps-3d-creator-main{display:grid;grid-template-columns:190px minmax(0,1fr) 220px;min-height:520px}.ps-3d-creator-outliner,.ps-3d-creator-inspector{background:#0f1724;padding:12px;border-right:1px solid #253043}.ps-3d-creator-inspector{border-right:0;border-left:1px solid #253043}.ps-3d-creator-panel-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;color:#f4f7fb}.ps-3d-creator-panel-title span{min-width:24px;text-align:center;padding:2px 7px;border-radius:999px;background:#1b2637;color:#9fb0c8;font-size:12px}.ps-3d-creator-object-list{display:grid;gap:6px}.ps-3d-creator-object{width:100%;text-align:left}.ps-3d-creator-object.is-selected{border-color:#f03850;background:#391724;color:#fff}.ps-3d-creator-object-empty,.ps-3d-creator-selection-empty{font-size:13px;color:#8290a5}.ps-3d-creator-viewport-wrap{position:relative;min-width:0}.ps-3d-creator-viewport{position:absolute;inset:0;min-height:520px;outline:0}.ps-3d-creator-viewport canvas{display:block;width:100%;height:100%}.ps-3d-creator-help{position:absolute;left:12px;bottom:12px;z-index:2;padding:7px 10px;border:1px solid #29374b;border-radius:999px;background:rgba(6,10,17,.84);font-size:12px;color:#c4cfdd;pointer-events:none}.ps-3d-creator-selection>strong{display:block;margin-bottom:10px;overflow-wrap:anywhere}.ps-3d-creator-selection dl{margin:0;display:grid;gap:8px}.ps-3d-creator-selection dl>div{padding:8px 0;border-bottom:1px solid #253043}.ps-3d-creator-selection dt{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#8392a7}.ps-3d-creator-selection dd{margin:3px 0 0;font-size:13px;color:#eef3f8;overflow-wrap:anywhere}.ps-3d-creator-status{padding:9px 12px;border-top:1px solid #253043;background:#0e1623;color:#aebbd0;font-size:12px}@media(max-width:980px){.ps-3d-creator-main{grid-template-columns:150px minmax(0,1fr)}.ps-3d-creator-inspector{grid-column:1/-1;border-left:0;border-top:1px solid #253043;display:flex;gap:20px;align-items:flex-start}.ps-3d-creator-selection dl{display:flex;flex-wrap:wrap;gap:18px}.ps-3d-creator-selection dl>div{border:0;padding:0}.ps-3d-creator-main{min-height:590px}.ps-3d-creator-viewport{min-height:520px}}@media(max-width:700px){.ps-3d-creator-heading{align-items:flex-start;flex-direction:column}.ps-3d-creator-main{display:block}.ps-3d-creator-outliner{border-right:0;border-bottom:1px solid #253043}.ps-3d-creator-object-list{display:flex;gap:6px;overflow-x:auto}.ps-3d-creator-object{width:auto;min-width:max-content}.ps-3d-creator-viewport-wrap,.ps-3d-creator-viewport{position:relative;min-height:430px}.ps-3d-creator-inspector{display:block}.ps-3d-tool-group-end{margin-left:0}.ps-3d-creator-help{right:12px;border-radius:10px}}

/* R33-12B Browser 3D Creator editing controls */
.ps-3d-creator-main{grid-template-columns:190px minmax(0,1fr) 270px}.ps-3d-creator-name-field{display:grid;gap:6px;margin-bottom:14px}.ps-3d-creator-name-field>span,.ps-3d-transform-editor legend{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#8392a7}.ps-3d-creator-name-field input,.ps-3d-transform-editor input{width:100%;min-width:0;box-sizing:border-box;border:1px solid #334155;border-radius:7px;background:#0b1320;color:#eef3f8;padding:7px 8px;font:inherit}.ps-3d-creator-name-field input:focus,.ps-3d-transform-editor input:focus{outline:2px solid rgba(240,56,80,.35);border-color:#f03850}.ps-3d-transform-editor{display:grid;gap:12px}.ps-3d-transform-editor fieldset{margin:0;padding:0;border:0}.ps-3d-transform-editor legend{margin:0 0 7px}.ps-3d-transform-editor fieldset{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.ps-3d-transform-editor fieldset legend{grid-column:1/-1}.ps-3d-transform-editor label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px;font-size:11px;color:#9dacbf}.ps-3d-transform-editor input{padding:6px}.ps-3d-snap-note{margin:12px 0 0;font-size:11px;line-height:1.45;color:#8290a5}.ps-3d-tool-group button[data-ps-3d-snap].is-active{background:#e8edf5;color:#101722;border-color:#e8edf5;font-weight:700}@media(max-width:980px){.ps-3d-creator-main{grid-template-columns:150px minmax(0,1fr)}.ps-3d-creator-inspector{display:block}.ps-3d-transform-editor{grid-template-columns:repeat(3,minmax(0,1fr))}.ps-3d-transform-editor fieldset{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.ps-3d-transform-editor{grid-template-columns:1fr}.ps-3d-transform-editor fieldset{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* R33-12C Browser 3D Creator Asset package export */
.ps-3d-package-panel{border-top:1px solid #273244;background:#0d1521;padding:14px 16px;display:grid;gap:12px}.ps-3d-package-heading{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,280px) auto;gap:12px;align-items:end}.ps-3d-package-heading>div{display:grid;gap:3px}.ps-3d-package-heading strong{font-size:14px}.ps-3d-package-heading label,.ps-3d-package-output label{display:grid;gap:5px}.ps-3d-package-heading label>span,.ps-3d-package-output label>span,.ps-3d-package-output>div>span{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8290a5}.ps-3d-package-heading input,.ps-3d-package-output input,.ps-3d-package-output textarea{box-sizing:border-box;width:100%;border:1px solid #334155;border-radius:7px;background:#0b1320;color:#eef3f8;padding:7px 8px;font:inherit}.ps-3d-package-heading button,.ps-3d-package-actions button{border:1px solid #334155;border-radius:8px;background:#111c2c;color:#eef3f8;padding:8px 11px;cursor:pointer}.ps-3d-package-heading button:hover,.ps-3d-package-actions button:hover{border-color:#64748b}.ps-3d-package-output{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(240px,1.2fr);gap:10px 14px;border:1px solid #263448;border-radius:10px;padding:12px;background:#0a111c}.ps-3d-package-output>div{display:grid;gap:5px;min-width:0}.ps-3d-package-output code{display:block;overflow-wrap:anywhere;color:#d9e5f5}.ps-3d-package-output label{grid-column:1/-1}.ps-3d-package-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.ps-3d-package-output>p{grid-column:1/-1;margin:0;color:#91a0b5;font-size:11px;line-height:1.5}@media(max-width:800px){.ps-3d-package-heading{grid-template-columns:1fr}.ps-3d-package-output{grid-template-columns:1fr}.ps-3d-package-actions{display:grid;grid-template-columns:1fr}.ps-3d-package-actions button{width:100%}}
.ps-3d-project-panel{border-top:1px solid #273244;background:linear-gradient(180deg,#101824 0%,#0d1521 100%);padding:16px;display:grid;gap:12px}.ps-3d-project-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.ps-3d-project-title{display:grid;gap:3px;min-width:0}.ps-3d-project-title strong{font-size:15px;color:#f5f8fc}.ps-3d-project-title small{color:#8f9db1;font-size:12px;line-height:1.45}.ps-3d-project-state-wrap{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.ps-3d-project-autosave{font-size:11px;color:#7f8da1}.ps-3d-project-state-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:4px 11px;border:1px solid #3a4658;border-radius:999px;background:#121c2a;color:#b7c3d4;font-size:12px;font-weight:800;white-space:nowrap}.ps-3d-project-state-badge.is-saved{border-color:#1d8d62;background:#0d2b23;color:#68e0aa}.ps-3d-project-state-badge.is-dirty{border-color:#d59d30;background:#33260d;color:#ffd777}.ps-3d-project-state-badge.is-saving{border-color:#4f78b7;background:#14233a;color:#9ec5ff}.ps-3d-project-save-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;padding:12px;border:1px solid #263448;border-radius:12px;background:#0a111c}.ps-3d-project-name-field,.ps-3d-project-select-field{display:grid;gap:5px}.ps-3d-project-name-field>span,.ps-3d-project-select-field>span{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8290a5}.ps-3d-project-name-field input,.ps-3d-project-select-field select{box-sizing:border-box;width:100%;min-height:42px;border:1px solid #334155;border-radius:8px;background:#0b1320;color:#eef3f8;padding:9px 11px;font:inherit}.ps-3d-project-name-field input:focus,.ps-3d-project-select-field select:focus{outline:0;border-color:#647da1;box-shadow:0 0 0 2px rgba(100,125,161,.14)}.ps-3d-project-save-button{min-height:42px;min-width:132px}.ps-3d-project-library{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.ps-3d-project-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ps-3d-project-actions button,.ps-3d-autosave-toggle{border:1px solid #334155;border-radius:8px;background:#111c2c;color:#eef3f8;padding:8px 11px;cursor:pointer;font:inherit}.ps-3d-project-actions button:hover,.ps-3d-autosave-toggle:hover{border-color:#64748b;background:#172337}.ps-3d-project-actions button:disabled{opacity:.45;cursor:not-allowed}.ps-3d-project-actions .ps-3d-project-delete:not(:disabled){border-color:#6f3440;color:#ffb8c1}.ps-3d-project-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px}.ps-3d-project-footer p{margin:0;color:#91a0b5;font-size:11px;line-height:1.5}.ps-3d-autosave-toggle{padding:6px 10px;font-size:11px;white-space:nowrap}.ps-3d-autosave-toggle.is-active{border-color:#285a4a;background:#10271f;color:#8ce7bd}@media(max-width:800px){.ps-3d-project-topbar,.ps-3d-project-footer{align-items:stretch;flex-direction:column}.ps-3d-project-state-wrap{justify-content:flex-start}.ps-3d-project-save-row,.ps-3d-project-library{grid-template-columns:1fr}.ps-3d-project-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.ps-3d-project-save-button,.ps-3d-project-actions button{width:100%}}@media(max-width:520px){.ps-3d-project-actions{grid-template-columns:1fr}}

.ps-3d-project-state-badge{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:5px 10px;border:1px solid #334155;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;color:#cbd5e1;background:#0b1320}.ps-3d-project-state-badge.is-dirty{border-color:#d9485f;color:#ff7287;background:rgba(217,72,95,.10)}.ps-3d-project-state-badge.is-saved{border-color:#2d9f63;color:#62d893;background:rgba(45,159,99,.10)}

/* v0.23.346 — R33-12F Creator Project Library + Export Workflow Polish */
.ps-3d-creator-heading .ps-3d-creator-toggle{flex:0 0 auto;width:auto;min-width:0;min-height:36px;height:auto;padding:8px 14px;border-radius:999px;line-height:1.15;white-space:nowrap;align-self:center}
.ps-3d-project-save-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ps-3d-project-copy-button{min-height:42px;white-space:nowrap}.ps-3d-package-heading>div{align-content:start}.ps-3d-package-state{display:inline-flex;align-items:center;width:max-content;margin-top:4px;padding:3px 8px;border:1px solid #334155;border-radius:999px;background:#0b1320;color:#9dacbf;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.ps-3d-package-state.is-ready{border-color:#1d8d62;background:#0d2b23;color:#68e0aa}.ps-3d-package-state.is-stale{border-color:#d59d30;background:#33260d;color:#ffd777}
@media(max-width:800px){.ps-3d-project-save-actions{display:grid;grid-template-columns:1fr 1fr}.ps-3d-project-save-actions .ps-community-button{width:100%}}
@media(max-width:520px){.ps-3d-project-save-actions{grid-template-columns:1fr}}

/* R33-12G Creator MVP hardening */
.ps-3d-creator-error{position:absolute;inset:20px;display:grid;place-content:center;gap:8px;text-align:center;padding:24px;border:1px solid #7f3340;border-radius:12px;background:#1d1116;color:#f4d7dc}.ps-3d-creator-error strong{font-size:16px}.ps-3d-creator-error span{max-width:520px;color:#d9aeb6;font-size:13px;line-height:1.5}
.ps-3d-revision-handoff{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(200px,1fr) minmax(120px,.45fr) minmax(180px,.9fr) auto;gap:10px;align-items:end;border:1px solid #263448;border-radius:10px;padding:12px;background:#0a111c}.ps-3d-revision-handoff-copy{display:grid;gap:3px;align-self:start}.ps-3d-revision-handoff-copy strong{font-size:13px}.ps-3d-revision-handoff-copy small{color:#91a0b5;font-size:11px;line-height:1.45}.ps-3d-revision-handoff label{display:grid;gap:5px}.ps-3d-revision-handoff label>span{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8290a5}.ps-3d-revision-handoff input,.ps-3d-revision-handoff select{box-sizing:border-box;width:100%;border:1px solid #334155;border-radius:7px;background:#0b1320;color:#eef3f8;padding:7px 8px;font:inherit}.ps-3d-revision-handoff button{border-radius:999px;white-space:nowrap}.ps-3d-revision-result{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid #263448;padding-top:10px}.ps-3d-revision-result[hidden]{display:none}.ps-3d-revision-result strong{color:#68e0aa}.ps-3d-revision-result small{color:#9dacbf;flex:1 1 320px}@media(max-width:1080px){.ps-3d-revision-handoff{grid-template-columns:1fr 1fr}.ps-3d-revision-handoff-copy,.ps-3d-revision-result{grid-column:1/-1}}@media(max-width:700px){.ps-3d-revision-handoff{grid-template-columns:1fr}.ps-3d-revision-handoff-copy,.ps-3d-revision-result{grid-column:auto}.ps-3d-revision-handoff button{width:100%}}
.ps-asset-revision-history{margin-top:12px}.ps-asset-revision-list{display:grid;gap:8px;padding:12px}.ps-asset-revision-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #2a3547;border-radius:9px;background:#0b1320}.ps-asset-revision-row>div:first-child{display:grid;gap:3px;min-width:0}.ps-asset-revision-row strong{font-size:12px;overflow-wrap:anywhere}.ps-asset-revision-row span{color:#91a0b5;font-size:11px}.ps-asset-revision-row.is-current{border-color:#1d8d62;background:#0d211d}.ps-asset-revision-row-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ps-asset-revision-row-meta>span{display:inline-flex;padding:3px 8px;border:1px solid #1d8d62;border-radius:999px;background:#0d2b23;color:#68e0aa;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.ps-asset-revision-row-meta code{color:#b9c6d8;font-size:10px}@media(max-width:640px){.ps-asset-revision-row{align-items:flex-start;flex-direction:column}.ps-asset-revision-row-meta{justify-content:flex-start}}

/* v0.23.348a — R33-13A responsive handoff layout correction */
.ps-3d-package-heading{grid-template-columns:minmax(0,1fr) minmax(180px,260px);align-items:end}
.ps-3d-package-heading>div{grid-column:1/-1;min-width:0}
.ps-3d-package-heading label{min-width:0}
.ps-3d-package-heading>button{justify-self:start;max-width:100%;white-space:normal}
.ps-3d-revision-handoff{grid-template-columns:minmax(0,1.45fr) minmax(110px,.45fr) minmax(0,1fr) auto;align-items:end}
.ps-3d-revision-handoff-copy{grid-column:1/-1;min-width:0}
.ps-3d-revision-handoff label{min-width:0}
.ps-3d-revision-handoff select,.ps-3d-revision-handoff input{min-width:0;max-width:100%}
.ps-3d-revision-handoff>[data-ps-3d-create-revision]{justify-self:start;max-width:100%;white-space:normal;text-align:center}
@media(max-width:1180px){
  .ps-3d-package-heading{grid-template-columns:minmax(0,1fr) auto}
  .ps-3d-revision-handoff{grid-template-columns:minmax(0,1fr) minmax(120px,.45fr)}
  .ps-3d-revision-handoff .ps-3d-revision-notes{grid-column:1/2}
  .ps-3d-revision-handoff>[data-ps-3d-create-revision]{grid-column:2/3;justify-self:stretch}
}
@media(max-width:760px){
  .ps-3d-package-heading,.ps-3d-revision-handoff{grid-template-columns:1fr}
  .ps-3d-package-heading>div,.ps-3d-revision-handoff-copy,.ps-3d-revision-handoff .ps-3d-revision-notes,.ps-3d-revision-handoff>[data-ps-3d-create-revision]{grid-column:auto}
  .ps-3d-package-heading>button,.ps-3d-revision-handoff>[data-ps-3d-create-revision]{width:100%;justify-self:stretch}
}

/* v0.23.348b — Account-column-safe Asset Package / revision layout */
.ps-3d-package-panel,.ps-3d-package-heading,.ps-3d-revision-handoff,.ps-3d-package-output{box-sizing:border-box;width:100%;min-width:0;max-width:100%}
.ps-3d-package-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:stretch}
.ps-3d-package-heading>div,.ps-3d-package-heading>label,.ps-3d-package-heading>button{grid-column:1;min-width:0;max-width:100%}
.ps-3d-package-heading>label{width:100%}
.ps-3d-package-heading>button{justify-self:start;width:auto;white-space:normal;overflow-wrap:anywhere}
.ps-3d-revision-handoff{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:stretch;overflow:hidden}
.ps-3d-revision-handoff-copy,.ps-3d-revision-handoff>label,.ps-3d-revision-handoff>[data-ps-3d-create-revision],.ps-3d-revision-result{grid-column:1;min-width:0;max-width:100%}
.ps-3d-revision-handoff>label{width:100%}
.ps-3d-revision-handoff select,.ps-3d-revision-handoff input{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%}
.ps-3d-revision-handoff>[data-ps-3d-create-revision]{justify-self:start;width:auto;white-space:normal;text-align:center;overflow-wrap:anywhere}
.ps-3d-revision-result{width:100%;box-sizing:border-box}
@media(max-width:520px){.ps-3d-package-heading>button,.ps-3d-revision-handoff>[data-ps-3d-create-revision]{width:100%;justify-self:stretch}}

/* v0.23.349 — R33-13B immutable revision restore + compact revision actions */
.ps-3d-revision-handoff>[data-ps-3d-create-revision]{min-height:36px;height:auto;padding:8px 14px;border-radius:999px;line-height:1.15;white-space:nowrap;overflow-wrap:normal}
.ps-asset-revision-row-meta .ps-asset-revision-restore-form{display:inline-flex;margin:0}
.ps-asset-revision-restore-button{min-height:32px;height:auto;padding:6px 10px;border-radius:999px;line-height:1.15;white-space:nowrap}
.ps-asset-revision-row-meta>.ps-asset-revision-package-missing{display:inline-flex;padding:3px 8px;border:1px solid #3b4759;border-radius:999px;background:#111923;color:#9dacbf;font-size:10px;font-weight:700;letter-spacing:0;text-transform:none}
.ps-asset-revision-row>div:first-child small{color:#7f91aa;font-size:10px;line-height:1.4}
@media(max-width:640px){.ps-asset-revision-row-meta .ps-asset-revision-restore-form{width:100%}.ps-asset-revision-restore-button{width:100%}}

/* R33-13C — protected animation timeline/playback inspector. */
.ps-asset-3d-animation-inspector[hidden]{display:none!important}
.ps-asset-3d-animation-inspector{position:absolute;left:12px;right:12px;bottom:48px;z-index:4;padding:10px 12px;border:1px solid rgba(148,163,184,.2);border-radius:12px;background:rgba(6,10,17,.9);backdrop-filter:blur(10px);box-shadow:0 12px 28px rgba(0,0,0,.24)}
.ps-asset-3d-animation-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:8px}.ps-asset-3d-animation-head>div:first-child{display:grid;gap:4px;min-width:0}.ps-asset-3d-animation-head select{appearance:none;min-width:180px;max-width:320px;width:min(320px,42vw);border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#111827;color:#e2e8f0;padding:7px 28px 7px 10px;font-size:12px;line-height:1.1}
.ps-asset-3d-animation-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.ps-asset-3d-animation-actions button{appearance:none;border:1px solid rgba(148,163,184,.22);border-radius:999px;background:#111827;color:#e2e8f0;padding:7px 11px;font-size:12px;line-height:1;cursor:pointer;white-space:nowrap}.ps-asset-3d-animation-actions button:hover,.ps-asset-3d-animation-actions button:focus-visible{border-color:rgba(248,250,252,.4);color:#fff}.ps-asset-3d-animation-actions button.is-active{background:#f8fafc;border-color:#f8fafc;color:#111827;font-weight:700}
.ps-asset-3d-animation-inspector input[type=range]{display:block;width:100%;margin:0;cursor:pointer}.ps-asset-3d-animation-stats{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:7px;color:#94a3b8;font-size:11px;line-height:1.35}.ps-asset-3d-animation-stats strong{color:#f8fafc;font-weight:700}
@media(max-width:860px){.ps-asset-3d-animation-inspector{bottom:46px}.ps-asset-3d-animation-head{align-items:stretch;flex-direction:column}.ps-asset-3d-animation-head select{width:100%;max-width:none}.ps-asset-3d-animation-actions{justify-content:flex-start}}

/* v0.23.351 — R33-13D material editor + structural protected-preview viewport toolbar */
.ps-asset-3d-preview-stage{display:grid;grid-template-rows:auto minmax(360px,1fr) auto;min-height:0}
.ps-asset-3d-preview-toolbar{position:relative;top:auto;left:auto;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:0;border-bottom:1px solid rgba(148,163,184,.18);border-radius:0;background:#0f1622;backdrop-filter:none}
.ps-asset-3d-preview-toolbar>.ps-account-kicker{margin:0;white-space:nowrap}
.ps-asset-3d-preview-toolbar-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.ps-asset-3d-preview-canvas-wrap{position:relative;min-height:460px;overflow:hidden;background:#0a0e16}
.ps-asset-3d-preview-canvas-wrap canvas,.ps-asset-3d-preview-stage canvas{width:100%;height:100%;min-height:460px}
.ps-asset-3d-preview-canvas-wrap .ps-asset-3d-preview-status{position:absolute;inset:0}
.ps-asset-3d-animation-inspector{position:relative;left:auto;right:auto;bottom:auto;z-index:4;margin:12px;padding:10px 12px}
.ps-asset-3d-preview-help{position:absolute;left:12px;bottom:12px}
.ps-3d-material-editor{display:grid;gap:10px;margin:0 0 16px;padding:12px;border:1px solid #253043;border-radius:10px;background:#0b1320}
.ps-3d-material-editor-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#8392a7}
.ps-3d-material-editor label{display:grid;grid-template-columns:minmax(82px,.72fr) minmax(0,1fr) auto;align-items:center;gap:8px;font-size:11px;color:#9dacbf}
.ps-3d-material-editor input[type=color]{width:100%;min-width:0;height:34px;padding:2px;border:1px solid #334155;border-radius:7px;background:#0b1320;cursor:pointer}
.ps-3d-material-editor input[type=range]{width:100%;min-width:0;margin:0}.ps-3d-material-editor input[type=range],.ps-asset-3d-animation-inspector input[type=range]{--ps-range-percent:0%;height:18px;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;-webkit-appearance:none;appearance:none;background:transparent!important;overflow:visible;vertical-align:middle}.ps-3d-material-editor input[type=range]::-webkit-slider-runnable-track,.ps-asset-3d-animation-inspector input[type=range]::-webkit-slider-runnable-track{height:6px;border:0;border-radius:999px;background:linear-gradient(to right,#e52b45 0 var(--ps-range-percent),#eef2f7 var(--ps-range-percent) 100%)}.ps-3d-material-editor input[type=range]::-webkit-slider-thumb,.ps-asset-3d-animation-inspector input[type=range]::-webkit-slider-thumb{width:14px;height:14px;margin-top:-4px;border:0;border-radius:50%;background:#e52b45;box-shadow:none;-webkit-appearance:none;appearance:none}.ps-3d-material-editor input[type=range]::-moz-range-track,.ps-asset-3d-animation-inspector input[type=range]::-moz-range-track{height:6px;border:0;border-radius:999px;background:#eef2f7}.ps-3d-material-editor input[type=range]::-moz-range-progress,.ps-asset-3d-animation-inspector input[type=range]::-moz-range-progress{height:6px;border:0;border-radius:999px;background:#e52b45}.ps-3d-material-editor input[type=range]::-moz-range-thumb,.ps-asset-3d-animation-inspector input[type=range]::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:50%;background:#e52b45;box-shadow:none}.ps-3d-material-editor input[type=range]:focus-visible,.ps-asset-3d-animation-inspector input[type=range]:focus-visible{outline:2px solid rgba(96,165,250,.78);outline-offset:3px}
.ps-3d-material-editor output{min-width:34px;text-align:right;color:#eef3f8;font-size:11px;font-variant-numeric:tabular-nums}
.ps-3d-material-color{grid-template-columns:minmax(82px,.72fr) minmax(0,1fr)!important}.ps-3d-material-color output{display:none}
@media(max-width:860px){.ps-asset-3d-preview-stage{min-height:0}.ps-asset-3d-preview-canvas-wrap,.ps-asset-3d-preview-canvas-wrap canvas,.ps-asset-3d-preview-stage canvas{min-height:360px;height:360px}.ps-asset-3d-preview-toolbar{align-items:flex-start;flex-direction:column}.ps-asset-3d-preview-toolbar-actions{justify-content:flex-start}.ps-asset-3d-animation-inspector{margin:10px}.ps-asset-3d-preview-help{right:12px;border-radius:10px}}

/* v0.23.352 — R33-13E bounded base-color texture editor */
.ps-3d-texture-editor{display:grid;gap:.5rem;padding:.65rem;border:1px solid var(--ps-border-subtle,#26364d);border-radius:10px;background:rgba(5,10,18,.3)}
.ps-3d-texture-editor>span{font-size:.72rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase;color:var(--ps-text-muted,#8ca3c2)}
.ps-3d-texture-controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.ps-3d-texture-choose{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:.42rem .72rem;border:1px solid var(--ps-border,#31445e);border-radius:999px;background:var(--ps-panel-raised,#111b2b);font-weight:700;cursor:pointer}
.ps-3d-texture-choose input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.ps-3d-texture-status{min-width:0;font-size:.8rem;color:var(--ps-text-secondary,#b4c4db);overflow-wrap:anywhere}
.ps-3d-texture-preview{display:block;width:100%;max-height:120px;object-fit:contain;border:1px solid var(--ps-border-subtle,#26364d);border-radius:8px;background:#080d16}
.ps-3d-texture-editor small{font-size:.72rem;line-height:1.4;color:var(--ps-text-muted,#8ca3c2)}

/* v0.23.352b — legal widget separator baseline repair. */
.ps-legal-links-widget .ps-legal-links-row{display:flex;align-items:center;flex-wrap:wrap;column-gap:8px;row-gap:8px;line-height:1.35}
.ps-legal-links-widget .ps-legal-links-row>a{display:inline-flex;align-items:center;line-height:1.35}
.ps-legal-links-widget .ps-legal-links-separator{display:inline-flex;align-items:center;justify-content:center;align-self:center;line-height:1;height:1.35em;transform:translateY(-.01em)}
.ps-legal-links-widget .ps-legal-links-copyright{display:block;margin-top:12px;line-height:1.45}
.ps-feed-ad-share{display:inline-flex;align-items:center;gap:5px}
.ps-live-social-share-row [data-ps-live-share-stream]{display:inline-flex;align-items:center;justify-content:center;gap:5px}

/* v0.23.352c — compact legal widget spacing; keep separator baseline alignment. */
.ps-legal-links-widget{padding:12px 16px!important;min-height:0!important}
.ps-legal-links-widget .ps-legal-links{display:block;margin:0!important}
.ps-legal-links-widget .ps-legal-links-row{column-gap:7px;row-gap:4px;line-height:1.25}
.ps-legal-links-widget .ps-legal-links-row>a{line-height:1.25}
.ps-legal-links-widget .ps-legal-links-separator{height:1.25em;line-height:1}
.ps-legal-links-widget .ps-legal-links-copyright{display:block;margin-top:8px;line-height:1.3}

/* v0.23.352d — compact legal-card rhythm + tablet vertical centering. */
.ps-legal-links-widget{padding:9px 14px!important;min-height:0!important;height:auto!important}
.ps-legal-links-widget .ps-legal-links{display:block;margin:0!important}
.ps-legal-links-widget .ps-legal-links-row{column-gap:7px;row-gap:1px;line-height:.15}
.ps-legal-links-widget .ps-legal-links-row>a{line-height:1.15}
.ps-legal-links-widget .ps-legal-links-separator{height:1.15em;line-height:1}
.ps-legal-links-widget .ps-legal-links-copyright{display:block;margin-top:5px;line-height:1.2}
@media (min-width:700px) and (max-width:1100px){
  .ps-legal-links-widget{align-self:center!important}
}

/* v0.23.353 — R33-13F texture placement / UV transform controls */
.ps-3d-texture-transform{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:.15rem;padding-top:.55rem;border-top:1px solid var(--ps-border-subtle,#26364d)}
.ps-3d-texture-transform-title{grid-column:1/-1;font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ps-text-muted,#8ca3c2)}
.ps-3d-texture-transform label{display:grid;gap:.22rem;min-width:0;font-size:.72rem;color:var(--ps-text-secondary,#b4c4db)}
.ps-3d-texture-transform input{width:100%;min-width:0;box-sizing:border-box}
.ps-3d-texture-transform-wide{grid-column:1/-1}
@media(max-width:520px){.ps-3d-texture-transform{grid-template-columns:1fr}}

/* v0.23.353a — R33-13F Texture Placement inspector layout corrective. */
.ps-3d-texture-transform{grid-template-columns:minmax(0,1fr);gap:.5rem}
.ps-3d-texture-transform-title,.ps-3d-texture-transform-hint,.ps-3d-texture-transform-wide{grid-column:1}
.ps-3d-texture-transform-hint{margin-top:-.1rem;font-size:.68rem;line-height:1.35;color:var(--ps-text-muted,#8ca3c2)}
.ps-3d-material-editor .ps-3d-texture-transform label{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:.28rem;align-items:stretch;min-width:0}
.ps-3d-material-editor .ps-3d-texture-transform label>span{display:block;min-width:0;line-height:1.25}
.ps-3d-material-editor .ps-3d-texture-transform input[type=number]{display:block;width:100%;min-width:0;max-width:100%;height:36px;padding:.42rem .55rem;box-sizing:border-box}
.ps-3d-material-editor .ps-3d-texture-transform input[type=number]:disabled{opacity:.58;cursor:not-allowed}


/* v0.23.353b — deterministic texture load feedback and fading notices. */
.ps-3d-texture-notice{margin:.1rem 0;padding:.5rem .6rem;border:1px solid var(--ps-border-subtle,#26364d);border-radius:8px;background:#0b1422;color:var(--ps-text-secondary,#c5d1e2);font-size:.76rem;line-height:1.35;opacity:0;transform:translateY(-3px);transition:opacity .2s ease,transform .2s ease}
.ps-3d-texture-notice.is-visible{opacity:1;transform:translateY(0)}
.ps-3d-texture-notice.is-success{border-color:#1f7a58;background:rgba(9,58,42,.5);color:#8ff0c5}
.ps-3d-texture-notice.is-error{border-color:#8d3342;background:rgba(72,16,29,.56);color:#ffb4c0}
@media(prefers-reduced-motion:reduce){.ps-3d-texture-notice{transition:none;transform:none}}

/* R33-13G Advanced PBR map slots */
.ps-3d-pbr-map-editor{display:grid;gap:.55rem;margin-top:.15rem;padding-top:.65rem;border-top:1px solid var(--ps-border-subtle,#26364d)}
.ps-3d-pbr-map-title{font-size:.72rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase;color:var(--ps-text-muted,#8ca3c2)}
.ps-3d-pbr-map-editor>small{font-size:.69rem;line-height:1.4;color:var(--ps-text-muted,#8ca3c2)}
.ps-3d-pbr-map-row{display:grid;gap:.38rem;padding:.52rem;border:1px solid var(--ps-border-subtle,#26364d);border-radius:9px;background:rgba(5,10,18,.22)}
.ps-3d-pbr-map-label{font-size:.76rem;font-weight:750;color:var(--ps-text-secondary,#c5d1e2)}
.ps-3d-pbr-map-actions{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}
.ps-3d-pbr-map-actions .ps-community-button{min-height:34px;padding:.42rem .7rem}
.ps-3d-pbr-map-status{font-size:.7rem;line-height:1.3;color:var(--ps-text-muted,#8ca3c2);overflow-wrap:anywhere}

/* v0.23.354a — Creator viewport/inspector height decoupling */
@media (min-width:981px){
  .ps-3d-creator-main{
    height:560px;
    min-height:560px;
    align-items:stretch;
  }
  .ps-3d-creator-outliner,
  .ps-3d-creator-inspector{
    box-sizing:border-box;
    height:560px;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
  }
  .ps-3d-creator-viewport-wrap{
    height:560px;
    min-height:560px;
    align-self:start;
  }
  .ps-3d-creator-viewport{
    min-height:0;
  }
}


/* v0.23.354b — protected 3D Preview viewport/metadata height decoupling. */
@media (min-width:861px){
  .ps-asset-3d-preview-layout{align-items:start}
  .ps-asset-3d-preview-stage{grid-template-rows:auto 460px auto;align-self:start;min-height:0;height:auto}
  .ps-asset-3d-preview-canvas-wrap{height:460px;min-height:460px}
  .ps-asset-3d-preview-canvas-wrap canvas,.ps-asset-3d-preview-stage canvas{display:block;width:100%;height:460px;min-height:460px}
  .ps-asset-3d-preview-meta{align-self:start;max-height:min(620px,calc(100vh - 150px));overflow:auto}
  .ps-asset-3d-animation-inspector{min-height:0;height:auto}
}
@media (max-width:860px){
  .ps-asset-3d-preview-layout{align-items:start}
  .ps-asset-3d-preview-stage{grid-template-rows:auto 360px auto;height:auto}
  .ps-asset-3d-preview-canvas-wrap{height:360px;min-height:360px}
  .ps-asset-3d-preview-meta{align-self:start}
}

/* v0.23.354c — Creator notification lane */
.ps-3d-creator-notice-lane{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:0;max-width:min(360px,40vw)}
.ps-3d-tool-group-end{align-items:flex-start;gap:8px}
.ps-3d-creator-notice-lane:empty{display:none}
.ps-3d-creator-notice-lane .ps-3d-texture-notice{box-sizing:border-box;margin:0;min-width:180px;max-width:100%;padding:.42rem .58rem;font-size:.72rem;line-height:1.25;box-shadow:0 8px 22px rgba(0,0,0,.2)}
@media(max-width:980px){.ps-3d-creator-notice-lane{order:10;width:100%;max-width:none;align-items:stretch}.ps-3d-tool-group-end{width:100%;margin-left:0;flex-wrap:wrap}.ps-3d-creator-notice-lane .ps-3d-texture-notice{min-width:0;width:100%}}

/* R33-13H object grouping / hierarchy */
.ps-3d-creator-object{padding-left:calc(10px + (var(--ps-3d-depth,0) * 16px))}.ps-3d-creator-object.is-group{font-weight:800;background:#162033}.ps-3d-group-selection{display:grid;gap:4px;margin:0 0 12px;padding:10px;border:1px solid #2d3b50;border-radius:9px;background:#0c1522}.ps-3d-group-selection small{color:#91a1b7;line-height:1.35}.ps-3d-parent-field{display:grid;gap:5px;margin:0 0 12px;font-size:11px;color:#9dacbf}.ps-3d-parent-field select{width:100%;min-width:0;height:36px;border:1px solid #334155;border-radius:7px;background:#0b1320;color:#eef3f8;padding:0 8px}.ps-3d-group-selection[hidden],.ps-3d-parent-field[hidden],.ps-3d-material-editor[hidden]{display:none!important}

/* R33-13I multi-select scene editing */
.ps-3d-creator-object.is-selected{box-shadow:inset 3px 0 0 #ff3153}
.ps-3d-multi-selection{display:grid;gap:5px;padding:10px;border:1px solid #34445d;border-radius:9px;background:#0c1522;color:#eef3f8}
.ps-3d-multi-selection small{color:#91a1b7;line-height:1.35}
.ps-3d-multi-selection[hidden]{display:none!important}

/* v0.23.359 — R33-13K Mesh Editing Foundation */
.ps-3d-mesh-edit-panel{display:grid;gap:5px;margin:0 0 12px;padding:10px;border:1px solid #3f5470;border-radius:9px;background:#0b1725;color:#eef3f8}
.ps-3d-mesh-edit-panel strong{color:#fff}.ps-3d-mesh-edit-panel small{color:#9fb0c8;line-height:1.4}.ps-3d-mesh-edit-panel>span{font-size:11px;font-weight:800;color:#ffcb67;text-transform:uppercase;letter-spacing:.04em}
.ps-3d-mesh-edit-panel[hidden]{display:none!important}
.ps-3d-mesh-tool-group button.is-active,.ps-3d-mesh-action-group button.is-active{background:#e8edf5;color:#101722;border-color:#e8edf5;font-weight:700}
.ps-3d-mesh-tool-group,.ps-3d-mesh-action-group{flex-wrap:wrap}
@media(max-width:980px){.ps-3d-mesh-tool-group,.ps-3d-mesh-action-group{width:auto}}

/* R33-13L UV Editing Foundation */
.ps-3d-uv-edit-panel{display:grid;gap:9px;margin:0 0 12px;padding:10px;border:1px solid #3f5470;border-radius:9px;background:#091522;color:#eef3f8}
.ps-3d-uv-edit-panel[hidden]{display:none!important}.ps-3d-uv-edit-title{display:grid;gap:3px}.ps-3d-uv-edit-title small,.ps-3d-uv-edit-panel>small{color:#9fb0c8;line-height:1.4}
.ps-3d-uv-edit-panel canvas{display:block;width:100%;height:auto;aspect-ratio:4/3;border:1px solid #2c4158;border-radius:7px;background:#07111d}
.ps-3d-uv-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.ps-3d-uv-actions button,.ps-3d-uv-transform button{min-height:34px}
.ps-3d-uv-transform{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ps-3d-uv-transform label{display:grid;gap:4px;min-width:0}.ps-3d-uv-transform label span{font-size:11px;color:#b9c7d9;font-weight:700}.ps-3d-uv-transform input{width:100%;min-width:0;box-sizing:border-box}.ps-3d-uv-transform-wide,.ps-3d-uv-transform>button{grid-column:1/-1}
@media(max-width:520px){.ps-3d-uv-actions,.ps-3d-uv-transform{grid-template-columns:1fr}}

.ps-3d-uv-preview-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.ps-3d-uv-preview-tools small{color:#9fb0c8}.ps-3d-uv-preview-tools button.is-active{border-color:#38bdf8;box-shadow:0 0 0 1px rgba(56,189,248,.2) inset}
.ps-asset-optimization-card{display:grid;gap:18px}.ps-asset-optimization-card>p{margin:0;line-height:1.65}.ps-asset-optimization-card .ps-asset-optimization-summary{margin:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ps-asset-optimization-card .ps-asset-optimization-summary .ps-stat-card{display:flex;min-height:86px;flex-direction:column;justify-content:center;gap:6px;padding:14px 16px}.ps-asset-optimization-card .ps-asset-optimization-summary strong{font-size:1.05rem;line-height:1.25}.ps-asset-optimization-card .ps-asset-optimization-summary span{font-size:.78rem;line-height:1.35;color:var(--ps-muted,#9aa6b8)}.ps-asset-optimization-card form{margin:0}.ps-asset-optimization-card form .ps-community-button{margin:0}.ps-asset-optimization-report{display:grid;gap:9px;padding:16px;border:1px solid var(--ps-border,#283347);border-radius:12px;background:rgba(255,255,255,.025)}.ps-asset-optimization-report h4,.ps-asset-optimization-report p{margin:0}.ps-asset-optimization-card>.ps-community-notice{margin:0}@media(max-width:760px){.ps-asset-optimization-card .ps-asset-optimization-summary{grid-template-columns:1fr}}
.ps-asset-optimization-card .ps-asset-optimization-form{margin:0 0 4px}.ps-asset-optimization-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;min-height:44px}.ps-asset-optimization-card .ps-asset-optimization-analyze-button{min-height:44px;padding:.78rem 1.15rem;border:1px solid rgba(255,255,255,.08);background:var(--ps-accent,#d6253b);color:#fff;box-shadow:0 8px 22px rgba(214,37,59,.18);font-weight:800}.ps-asset-optimization-card .ps-asset-optimization-analyze-button:hover,.ps-asset-optimization-card .ps-asset-optimization-analyze-button:focus-visible{filter:brightness(1.08);box-shadow:0 10px 26px rgba(214,37,59,.24)}.ps-asset-optimization-card .ps-asset-optimization-analyze-button:disabled{cursor:wait;opacity:.72;filter:none}.ps-asset-optimization-status{font-size:.82rem;line-height:1.4;color:var(--ps-muted,#9aa6b8)}.ps-asset-optimization-report-slot:empty{display:none}.ps-asset-optimization-report-slot:not(:empty){display:grid;gap:16px}.ps-asset-optimization-report-slot>.ps-community-notice{margin:0}
.ps-asset-optimization-framework,.ps-asset-optimization-candidate{display:grid;gap:14px;padding:16px;border:1px solid var(--ps-border,#283347);border-radius:12px;background:rgba(255,255,255,.025)}.ps-asset-optimization-framework h4,.ps-asset-optimization-framework p,.ps-asset-optimization-candidate h4,.ps-asset-optimization-candidate p{margin:0}.ps-asset-optimization-framework>div{display:grid;gap:7px}.ps-asset-optimization-candidate-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.ps-asset-optimization-candidate-head>div{display:grid;gap:5px;min-width:0}.ps-asset-optimization-candidate-head h4{overflow-wrap:anywhere}.ps-asset-optimization-parity{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border:1px solid var(--ps-border,#283347);border-radius:999px;font-size:.78rem;font-weight:800}.ps-asset-optimization-parity.is-pass{border-color:rgba(54,211,153,.34);background:rgba(54,211,153,.08)}.ps-asset-optimization-candidate .ps-community-notice{margin:0}.ps-asset-optimization-framework form,.ps-asset-optimization-candidate form{margin:0}@media(max-width:760px){.ps-asset-optimization-candidate-head{display:grid}.ps-asset-optimization-parity{justify-self:start}}
.ps-asset-optimization-parity.is-blocked{border-color:rgba(255,183,77,.34);background:rgba(255,183,77,.08)}
.ps-asset-optimization-framework .ps-asset-optimization-advanced{margin-top:16px;border-top:1px solid var(--ps-border,#2d3748);padding-top:14px}.ps-asset-optimization-framework .ps-asset-optimization-advanced summary{cursor:pointer;font-weight:700}.ps-asset-optimization-framework .ps-asset-optimization-advanced p{margin:10px 0 12px}.ps-asset-optimization-badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
/* v0.23.363a — R33-13M3A optimized-candidate visual-parity gate. */
.ps-asset-optimization-parity.is-pending{border-color:#7e6a28;background:rgba(126,106,40,.16);color:#e3c86b}
.ps-asset-optimization-visual-gate{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0;padding:16px 18px;border:1px solid var(--ps-border,#344154);border-radius:12px;background:rgba(16,25,40,.58)}
.ps-asset-optimization-visual-gate>div:first-child{display:grid;gap:5px;min-width:0}
.ps-asset-optimization-visual-gate>div:first-child span{color:var(--ps-muted,#a3adbd);line-height:1.55}
.ps-asset-optimization-visual-gate .ps-asset-3d-preview-open{white-space:nowrap;border:1px solid #e52b45;border-radius:10px;padding:10px 14px;background:#e52b45;color:#fff;font-weight:700;text-decoration:none}
.ps-asset-optimization-visual-gate .ps-asset-3d-preview-open:hover,.ps-asset-optimization-visual-gate .ps-asset-3d-preview-open:focus-visible{filter:brightness(1.08)}
@media(max-width:760px){.ps-asset-optimization-visual-gate{align-items:stretch;flex-direction:column}.ps-asset-optimization-visual-gate .ps-asset-3d-preview-open{width:100%}}
.ps-asset-meshopt-qualification{display:grid;gap:12px}.ps-asset-optimization-divider{height:1px;background:var(--ps-border,#2d3748);margin:2px 0}.ps-asset-meshopt-result-slot:empty{display:none}.ps-asset-meshopt-result-slot:not(:empty){display:block;margin-top:2px}.ps-asset-meshopt-result{display:grid;gap:13px;padding:15px;border:1px solid rgba(54,211,153,.28);border-radius:12px;background:rgba(54,211,153,.035)}.ps-asset-meshopt-result h4,.ps-asset-meshopt-result p{margin:0}.ps-asset-meshopt-result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.ps-asset-meshopt-view-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ps-asset-meshopt-view{display:grid;gap:4px;padding:11px 12px;border:1px solid var(--ps-border,#2d3748);border-radius:10px;background:rgba(8,16,28,.45);min-width:0}.ps-asset-meshopt-view strong{overflow-wrap:anywhere}.ps-asset-meshopt-view span{font-size:.8rem;color:var(--ps-muted,#9aa6b8);line-height:1.45}.ps-asset-meshopt-view code{font-size:.72rem;overflow-wrap:anywhere;color:#8bd9bd}.ps-asset-meshopt-result .ps-community-notice{margin:0}@media(max-width:760px){.ps-asset-meshopt-view-grid{grid-template-columns:1fr}}
.ps-blender-test-card{display:grid;gap:14px;margin-top:16px;padding:16px;border:1px solid var(--ps-border,#293346);border-radius:12px;background:rgba(255,255,255,.018);box-sizing:border-box}.ps-blender-test-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.ps-blender-test-head>div{display:grid;gap:4px}.ps-blender-test-head small,.ps-blender-test-card>p small{color:var(--ps-muted,#98a2b3);line-height:1.45}.ps-blender-test-pass{display:inline-flex;align-items:center;padding:6px 9px;border:1px solid rgba(52,211,153,.42);border-radius:999px;color:#9ff0cf;font-size:.75rem;font-weight:800;white-space:nowrap}.ps-blender-test-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ps-blender-test-summary>span{display:grid;gap:4px;padding:10px 12px;border:1px solid rgba(148,163,184,.16);border-radius:10px;background:rgba(0,0,0,.12);overflow-wrap:anywhere}.ps-blender-test-summary strong{font-size:.74rem;color:var(--ps-muted,#98a2b3);text-transform:uppercase;letter-spacing:.04em}.ps-blender-test-form{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:14px}.ps-blender-test-form .ps-project-field{margin:0}.ps-blender-test-form .ps-project-field-wide{grid-column:1/-1}.ps-blender-test-form input[type=text],.ps-blender-test-form textarea{width:100%;box-sizing:border-box}.ps-blender-test-directions{display:grid;gap:8px;margin:0;padding:12px 14px;border:1px solid var(--ps-border,#293346);border-radius:10px}.ps-blender-test-directions legend{padding:0 6px;font-size:.79rem;font-weight:760}.ps-blender-test-directions .ps-project-checkbox{display:flex;align-items:center;gap:9px}.ps-blender-test-directions input[type=checkbox]{appearance:auto!important;-webkit-appearance:auto!important;width:16px!important;min-width:16px!important;max-width:16px!important;height:16px!important;min-height:16px!important;max-height:16px!important;margin:0!important;padding:0!important;flex:0 0 16px!important}.ps-blender-test-form .ps-project-form-actions{grid-column:1/-1}.ps-blender-test-clear{margin:0}.ps-blender-test-clear .ps-text-button{padding:0}@media(max-width:760px){.ps-blender-test-head{display:grid}.ps-blender-test-summary,.ps-blender-test-form{grid-template-columns:1fr}.ps-blender-test-form .ps-project-field-wide,.ps-blender-test-form .ps-project-form-actions{grid-column:auto}}
.ps-blender-external-card{display:grid;gap:14px;margin-top:16px;padding:16px;border:1px solid var(--ps-border,#293346);border-radius:12px;background:rgba(255,255,255,.018);box-sizing:border-box}.ps-blender-external-stage{display:inline-flex;align-items:center;padding:6px 9px;border:1px solid rgba(96,165,250,.42);border-radius:999px;color:#b9d8ff;font-size:.75rem;font-weight:800;white-space:nowrap}.ps-blender-external-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.ps-blender-external-form .ps-project-field{margin:0}.ps-blender-external-form .ps-project-field-wide,.ps-blender-external-form .ps-project-form-actions{grid-column:1/-1}.ps-blender-external-form input[type=file],.ps-blender-external-form input[type=text],.ps-blender-external-form textarea{width:100%;box-sizing:border-box}.ps-blender-external-form input[readonly]{opacity:.78}.ps-blender-external-foot{margin:0;color:var(--ps-muted,#98a2b3);line-height:1.45}.ps-external-glb-notice{margin-top:16px;margin-bottom:0}@media(max-width:760px){.ps-blender-external-form{grid-template-columns:1fr}.ps-blender-external-form .ps-project-field-wide,.ps-blender-external-form .ps-project-form-actions{grid-column:auto}}
.ps-pro-profile-editor>.ps-field:not(.ps-pro-banner-field),.ps-pro-profile-editor>.ps-form-grid{margin-top:18px}.ps-pro-profile-editor>.ps-form-grid+.ps-field{margin-top:18px}.ps-pro-profile-editor .ps-form-grid{gap:18px;align-items:start}.ps-pro-profile-editor>.ps-field:not(.ps-pro-banner-field),.ps-pro-profile-editor .ps-form-grid>.ps-field{align-content:start;gap:7px}.ps-pro-profile-editor>.ps-field:not(.ps-pro-banner-field)>label,.ps-pro-profile-editor .ps-form-grid>.ps-field>label{display:flex;align-items:center;min-height:22px;margin:0;line-height:1.35}.ps-pro-profile-editor #ps-pro-profile-accent,.ps-pro-profile-editor #ps-pro-linkedin,.ps-pro-profile-editor #ps-pro-stackoverflow,.ps-pro-profile-editor #ps-pro-featured-thread{min-height:50px}.ps-pro-profile-editor>.ps-field:not(.ps-pro-banner-field)>.ps-field-help{margin:2px 0 0;line-height:1.45}@media(max-width:760px){.ps-pro-profile-editor>.ps-field:not(.ps-pro-banner-field),.ps-pro-profile-editor>.ps-form-grid,.ps-pro-profile-editor>.ps-form-grid+.ps-field{margin-top:16px}}
.ps-3d-inspector-head{display:grid;gap:10px;margin-bottom:12px}.ps-3d-inspector-head h4{margin:0}.ps-3d-inspector-tabs{display:flex;flex-wrap:wrap;gap:6px}.ps-3d-inspector-tabs button{appearance:none;border:1px solid rgba(148,163,184,.2);border-radius:999px;background:#0d1420;color:#cbd5e1;padding:6px 9px;font-size:11px;line-height:1;cursor:pointer}.ps-3d-inspector-tabs button:hover,.ps-3d-inspector-tabs button:focus-visible{border-color:rgba(248,250,252,.4);color:#fff;outline:none}.ps-3d-inspector-tabs button.is-active{background:#f8fafc;border-color:#f8fafc;color:#111827;font-weight:800}.ps-3d-inspector-panel[hidden]{display:none!important}.ps-3d-inspector-empty,.ps-3d-inspector-note{margin:6px 0;color:#94a3b8;font-size:12px;line-height:1.55}.ps-3d-inspector-cards,.ps-3d-node-list,.ps-3d-uv-grid{display:grid;gap:10px}.ps-3d-inspector-card,.ps-3d-node-card,.ps-3d-uv-card,.ps-3d-texture-card{border:1px solid rgba(148,163,184,.16);border-radius:11px;background:#0c121c;padding:11px}.ps-3d-inspector-card-head,.ps-3d-node-title,.ps-3d-uv-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.ps-3d-color-swatch{width:26px;height:26px;flex:0 0 26px;border:1px solid rgba(255,255,255,.2);border-radius:7px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)}.ps-3d-inspector-card dl,.ps-3d-node-card dl,.ps-3d-uv-card dl,.ps-3d-texture-card dl{margin:0;display:grid;gap:0}.ps-3d-inspector-card dl>div,.ps-3d-node-card dl>div,.ps-3d-uv-card dl>div,.ps-3d-texture-card dl>div{display:grid;grid-template-columns:minmax(88px,.82fr) minmax(0,1.18fr);gap:10px;padding:6px 0;border-bottom:1px solid rgba(148,163,184,.1)}.ps-3d-inspector-card dl>div:last-child,.ps-3d-node-card dl>div:last-child,.ps-3d-uv-card dl>div:last-child,.ps-3d-texture-card dl>div:last-child{border-bottom:0}.ps-3d-inspector-card dt,.ps-3d-node-card dt,.ps-3d-uv-card dt,.ps-3d-texture-card dt{color:#94a3b8}.ps-3d-inspector-card dd,.ps-3d-node-card dd,.ps-3d-uv-card dd,.ps-3d-texture-card dd{margin:0;text-align:right;color:#f8fafc;overflow-wrap:anywhere}.ps-3d-texture-grid{display:grid;gap:10px}.ps-3d-texture-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:start}.ps-3d-texture-thumb{width:92px;aspect-ratio:1;border:1px solid rgba(148,163,184,.16);border-radius:9px;overflow:hidden;background:repeating-conic-gradient(#111827 0 25%,#1f2937 0 50%) 50%/14px 14px}.ps-3d-texture-thumb img{display:block;width:100%;height:100%;object-fit:contain}.ps-3d-node-card{margin-left:calc(var(--ps-node-depth,0) * 8px)}.ps-3d-node-title>span,.ps-3d-uv-head>span{display:inline-flex;padding:3px 7px;border:1px solid rgba(148,163,184,.18);border-radius:999px;color:#cbd5e1;font-size:10px;white-space:nowrap}.ps-3d-uv-card canvas{display:block;width:100%;height:180px;margin:8px 0 10px;border:1px solid rgba(148,163,184,.16);border-radius:9px;background:#0a0e16}@media(max-width:860px){.ps-3d-texture-card{grid-template-columns:72px minmax(0,1fr)}.ps-3d-texture-thumb{width:72px}.ps-3d-node-card{margin-left:0}.ps-3d-inspector-tabs{gap:5px}.ps-3d-inspector-tabs button{padding:6px 8px}}
.ps-asset-optimization-compare-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end}.ps-asset-optimization-compare-actions .ps-community-button{margin:0}@media (max-width:720px){.ps-asset-optimization-compare-actions{justify-content:flex-start}}@media (hover:hover) and (pointer:fine){body:not(.wp-admin) :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.button,a[class*="-button"],a[class*="-btn"],a[class*="-cta"],[role="button"]):not(:disabled):not([disabled]):not([aria-disabled="true"]):not(.disabled):not(.is-disabled):not([class*="disabled"]):hover{filter:brightness(1.14) saturate(1.04)}body:not(.wp-admin) input[type="file"]:not(:disabled):not([disabled])::file-selector-button:hover{filter:brightness(1.14) saturate(1.04)}}@media (hover:hover) and (pointer:fine){body:not(.wp-admin) :is(button,input[type="button"],input[type="submit"],input[type="reset"],a,[role="button"]):is(.ps-community-button-secondary,.ps-community-button-ghost,.ps-button-secondary,.ps-button-ghost,.ps-ads-button-secondary,[class*="-button-secondary"],[class*="-button-ghost"]):not(:disabled):not([disabled]):not([aria-disabled="true"]):not(.disabled):not(.is-disabled):not([class*="disabled"]):hover{background-color:rgba(148,163,184,.16)}}.ps-asset-package-upload-form input[type=file]{width:100%;min-height:52px;padding:0;border:1px solid var(--ps-border,#293346);border-radius:12px;background:rgba(15,23,42,.55);color:var(--ps-text,#e8edf6);font:inherit;line-height:1.3;overflow:hidden}.ps-asset-package-upload-form input[type=file]::file-selector-button{appearance:none;-webkit-appearance:none;border:0;border-right:1px solid var(--ps-border,#293346);border-radius:0;margin:0 12px 0 0;padding:13px 16px;min-height:50px;background:rgba(255,255,255,.06);color:var(--ps-text,#e8edf6);font:inherit;font-weight:700;cursor:pointer}.ps-asset-package-upload-form input[type=file]::-webkit-file-upload-button{appearance:none;-webkit-appearance:none;border:0;border-right:1px solid var(--ps-border,#293346);border-radius:0;margin:0 12px 0 0;padding:13px 16px;min-height:50px;background:rgba(255,255,255,.06);color:var(--ps-text,#e8edf6);font:inherit;font-weight:700;cursor:pointer}.ps-asset-package-upload-row{align-items:end}.ps-asset-package-upload-row>.ps-asset-package-upload-action{box-sizing:border-box;height:52px;min-height:52px;max-height:52px;align-self:end;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border-radius:10px;line-height:1.2;white-space:nowrap}.ps-asset-package-upload-form input[type=file]{height:52px;min-height:52px;max-height:52px;border-radius:10px}.ps-asset-package-upload-form input[type=file]::file-selector-button{height:50px;min-height:50px;max-height:50px;border-radius:0;padding:0 16px;vertical-align:middle}.ps-asset-package-upload-form input[type=file]::-webkit-file-upload-button{height:50px;min-height:50px;max-height:50px;border-radius:0;padding:0 16px;vertical-align:middle}@media (max-width:700px){.ps-asset-package-upload-row>.ps-asset-package-upload-action{width:100%;max-width:none;align-self:stretch}}body:not(.wp-admin) input[type="file"]:not([hidden]):not([data-ps-3d-texture-file]):not([data-ps-3d-pbr-map-file]){box-sizing:border-box;width:100%;height:52px;min-height:52px;max-height:52px;padding:0;border:1px solid var(--ps-border,#293346);border-radius:10px;background:rgba(15,23,42,.55);color:var(--ps-text,#e8edf6);font:inherit;line-height:1.3;overflow:hidden}body:not(.wp-admin) input[type="file"]:not([hidden]):not([data-ps-3d-texture-file]):not([data-ps-3d-pbr-map-file])::file-selector-button{appearance:none;-webkit-appearance:none;box-sizing:border-box;height:50px;min-height:50px;max-height:50px;margin:0 12px 0 0;padding:0 16px;border:0;border-right:1px solid var(--ps-border,#293346);border-radius:0;background:rgba(255,255,255,.06);color:var(--ps-text,#e8edf6);font:inherit;font-weight:700;vertical-align:middle;cursor:pointer}body:not(.wp-admin) input[type="file"]:not([hidden]):not([data-ps-3d-texture-file]):not([data-ps-3d-pbr-map-file])::-webkit-file-upload-button{appearance:none;-webkit-appearance:none;box-sizing:border-box;height:50px;min-height:50px;max-height:50px;margin:0 12px 0 0;padding:0 16px;border:0;border-right:1px solid var(--ps-border,#293346);border-radius:0;background:rgba(255,255,255,.06);color:var(--ps-text,#e8edf6);font:inherit;font-weight:700;vertical-align:middle;cursor:pointer}body:not(.wp-admin) input[type="file"]:not([hidden]):not([data-ps-3d-texture-file]):not([data-ps-3d-pbr-map-file]):focus-visible{outline:2px solid rgba(229,43,67,.45);outline-offset:2px;border-color:rgba(229,43,67,.72)}body:not(.wp-admin) input[type="file"]:disabled,body:not(.wp-admin) input[type="file"][disabled]{opacity:.58;cursor:not-allowed}body:not(.wp-admin) input[type="file"]:disabled::file-selector-button,body:not(.wp-admin) input[type="file"][disabled]::file-selector-button{cursor:not-allowed}.ps-project-asset-attach-body{gap:20px;padding:0 16px 16px}.ps-project-asset-attach-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;align-items:start;padding:16px;border:1px solid rgba(148,163,184,.16);border-radius:12px;background:rgba(15,23,42,.24)}.ps-project-asset-attach-form .ps-project-field{display:grid;gap:7px;margin:0;min-width:0}.ps-project-asset-attach-form .ps-project-field>span{line-height:1.3}.ps-project-asset-attach-form input[type=text]{width:100%;min-height:48px;box-sizing:border-box}.ps-project-asset-attach-form .ps-project-field small{margin:0;line-height:1.45;color:var(--ps-muted,#9da8bb)}.ps-project-asset-attach-form>.ps-community-button{grid-column:1/-1;justify-self:start;min-height:46px;margin:0}.ps-project-asset-available{gap:12px;padding-top:2px}.ps-project-asset-available h4{margin:0;font-size:1rem}.ps-project-asset-available-grid{gap:12px}.ps-project-asset-available-grid article{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,190px);align-items:stretch;gap:14px;padding:14px;border-radius:12px}.ps-project-asset-available-grid article>div:first-child{align-content:start}.ps-project-asset-available-grid article>div:last-child{display:grid;align-content:start;gap:10px}.ps-project-asset-available-grid article form{margin:0}.ps-project-asset-available-grid article .ps-community-button{width:100%;min-height:44px;justify-content:center;white-space:normal;text-align:center}@media(max-width:900px){.ps-project-asset-attach-form{grid-template-columns:1fr}.ps-project-asset-attach-form>.ps-community-button{grid-column:auto}.ps-project-asset-available-grid article{grid-template-columns:minmax(0,1fr) minmax(160px,180px)}}@media(max-width:620px){.ps-project-asset-attach-form{padding:14px}.ps-project-asset-attach-form>.ps-community-button{width:100%;justify-content:center}.ps-project-asset-available-grid article{grid-template-columns:1fr}.ps-project-asset-available-grid article>div:last-child{width:100%}}.ps-project-update-admin-trash-form{display:inline-flex;align-items:center;margin:0}.ps-project-update-admin-trash-form .ps-danger-button{white-space:nowrap}
/* v0.23.375vm — Profile uploader vertical rhythm */
.ps-profile-form .ps-profile-upload-section{display:grid;gap:10px;align-content:start}
.ps-profile-form .ps-profile-upload-section>label:not(.ps-check-row){display:block;margin:0;line-height:1.4}
.ps-profile-form .ps-profile-upload-section>input[type=file]{margin:0}
.ps-profile-form .ps-profile-upload-section>.ps-field-help{margin:0;line-height:1.55}
.ps-profile-form .ps-profile-upload-section>.ps-check-row{margin:2px 0 0}
.ps-profile-photo-row .ps-profile-upload-section{width:100%}
.ps-pro-profile-editor .ps-pro-banner-field.ps-profile-upload-section{gap:10px}

/* v0.23.375vm — manual Industry Credit cover rights are contextual only */
.ps-industry-cover-rights[hidden]{display:none!important}
.ps-profile-form .ps-profile-upload-section{display:grid;gap:14px;align-content:start;margin-block:10px 18px}.ps-profile-form .ps-profile-upload-section>label:not(.ps-check-row){display:block;margin:4px 0 0;line-height:1.45}.ps-profile-form .ps-profile-upload-section>input[type=file]{margin:0 0 4px}.ps-profile-form .ps-profile-upload-section>.ps-field-help{margin:0 0 2px;line-height:1.6}.ps-profile-form .ps-profile-upload-section>.ps-check-row{margin:5px 0 0}.ps-asset-kit-checks{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.ps-asset-kit-checks span{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border:1px solid var(--ps-border,#344055);border-radius:999px;font-size:.78rem;line-height:1.2}.ps-asset-kit-checks .is-pass{border-color:rgba(74,222,128,.42)}.ps-asset-kit-checks .is-pending{opacity:.78}.ps-production-kit-readiness{padding:14px;border:1px solid var(--ps-border,#293346);border-radius:12px;background:rgba(255,255,255,.018)}.ps-seller-center{display:grid;gap:26px;align-content:start}.ps-seller-center>.ps-account-heading{margin:0}.ps-seller-center>.ps-account-heading p{margin-top:10px;max-width:920px;line-height:1.65}.ps-seller-center>.ps-account-card,.ps-seller-center>form.ps-account-card{margin:0}.ps-seller-center .ps-account-card-header{margin:0 0 8px}.ps-seller-center .ps-account-card-header h3{margin:5px 0 0}.ps-seller-center .ps-account-card-header p{margin:10px 0 0;line-height:1.6}.ps-seller-status-card{display:grid;gap:14px}.ps-seller-status-card>p{margin:0;line-height:1.6}.ps-seller-application-summary{display:grid;gap:16px}.ps-seller-application-summary .ps-asset-grid{gap:18px 20px}.ps-seller-application-form{gap:22px!important}.ps-seller-application-form .ps-asset-grid{gap:20px 22px}.ps-seller-application-form .ps-project-field{gap:9px}.ps-seller-application-form .ps-project-field>span{line-height:1.35}.ps-seller-application-form .ps-project-field small{display:block;margin:2px 0 0;line-height:1.55}.ps-seller-application-form textarea{line-height:1.55;min-height:150px;resize:vertical}.ps-seller-acknowledgements{display:grid;gap:15px;margin-top:2px;padding-top:20px;border-top:1px solid var(--ps-border,#293346)}.ps-seller-acknowledgements .ps-marketplace-rights-row{margin:0!important;line-height:1.55}.ps-seller-form-actions{padding-top:2px}.ps-seller-admin-queue{display:grid;gap:18px}.ps-seller-admin-queue>.ps-account-card{margin-top:0!important}@media(max-width:760px){.ps-seller-center{gap:22px}.ps-seller-application-form .ps-asset-grid,.ps-seller-application-summary .ps-asset-grid{gap:16px}.ps-seller-acknowledgements{padding-top:17px}}