/* =========================================================
   02. MEMBER LIST / SUBJECT REGISTRY
   ========================================================= */

.page-memberlist .c28-hero {
    display: none;
}

.page-memberlist .c28-page-tools {
    min-height: 0;
    padding: 0;
}

.page-memberlist .c28-page-tools navigation {
    display: none;
}

/* Member list belongs to the Dossiers register. */
.page-memberlist .c28-mainnav a:nth-child(3) {
    color: var(--paper);
    background: color-mix(in srgb, var(--design) 11%, transparent);
}

.page-memberlist .c28-mainnav a:nth-child(3)::after {
    transform: scaleX(1);
}

.registry-page {
    padding: clamp(24px, 4vw, 56px) 0 clamp(64px, 8vw, 110px);
}

.registry-ledger {
    position: relative;
    color: var(--txtcol);
    background: color-mix(in srgb, var(--bg-deep) 94%, transparent);
    border: 1px solid var(--hairline-strong);
    -webkit-backdrop-filter: blur(7px) saturate(0.82);
    backdrop-filter: blur(7px) saturate(0.82);
    border-top: 3px solid var(--design);
}


@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
    .registry-ledger {
        background: color-mix(in srgb, var(--bg-deep) 98.5%, transparent);
    }
}

/* ---------------------------------------------------------
   Registry masthead
   --------------------------------------------------------- */

.registry-masthead {
    position: relative;
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) minmax(220px, 310px);
    min-height: 196px;
    overflow: hidden;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--bg-deep) 98%, transparent), color-mix(in srgb, var(--bg-deep) 68%, transparent) 62%, color-mix(in srgb, var(--bg-deep) 94%, transparent)),
        var(--hgbig);
    background-position: center 44%;
    background-size: cover;
    border-bottom: 1px solid var(--hairline-strong);
}

.registry-masthead::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(color-mix(in srgb, var(--paper) 3%, transparent) 1px, transparent 1px),
        linear-gradient(90deg, color-mix(in srgb, var(--paper) 3%, transparent) 1px, transparent 1px);
    background-size: 72px 72px;
}

.registry-masthead__code,
.registry-masthead__copy,
.registry-masthead__status {
    position: relative;
    z-index: 1;
}

.registry-masthead__code {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 26px 22px;
    background: color-mix(in srgb, var(--design) 11%, transparent);
    border-right: 1px solid color-mix(in srgb, var(--design) 52%, transparent);
}

.registry-masthead__code span,
.registry-masthead__status span,
.registry-kicker,
.registry-alpha__label,
.registry-card__classification,
.registry-card__eyebrow,
.registry-photo__label,
.registry-fact dt,
.registry-stat span,
.registry-search__kicker {
    color: var(--design-light);
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.registry-masthead__code strong {
    margin-left: -0.05em;
    color: var(--design-light);
    font-family: var(--akzenttext);
    font-size: clamp(92px, 9vw, 144px);
    font-weight: 300;
    line-height: 0.63;
}

.registry-masthead__copy {
    align-self: end;
    padding: 30px clamp(26px, 4vw, 58px) 34px;
}

.registry-masthead__copy h1 {
    margin: var(--space-xs) 0 13px;
    color: var(--paper);
    font-family: var(--akzenttext);
    font-size: clamp(48px, 6vw, 92px);
    font-weight: 300;
    line-height: 0.82;
    letter-spacing: -0.035em;
    text-transform: uppercase;
}

.registry-masthead__copy p {
    max-width: 720px;
    margin: 0;
    color: var(--paper-muted);
    font-size: var(--txtm);
    line-height: 1.55;
}

.registry-masthead__status {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 30px var(--space-l) 34px;
    background: color-mix(in srgb, var(--bg-deep) 74%, transparent);
    border-left: 1px solid var(--hairline-strong);
}

.registry-masthead__status strong {
    margin: 7px 0 9px;
    color: var(--signal-light);
    font-family: var(--akzenttext);
    font-size: clamp(30px, 3vw, 46px);
    font-weight: 400;
    line-height: 0.95;
    text-transform: uppercase;
}

.registry-masthead__status small {
    color: var(--txtcol-soft);
    font-size: var(--txtxsmall);
    line-height: 1.5;
}

/* ---------------------------------------------------------
   Alphabetic index
   --------------------------------------------------------- */

.registry-alpha {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    align-items: stretch;
    background: var(--bg-deep);
    border-bottom: 1px solid var(--hairline-strong);
}

.registry-alpha__label {
    display: flex;
    align-items: center;
    padding: 16px 22px;
    color: var(--signal);
    border-right: 1px solid var(--hairline);
}

.registry-alpha__links {
    display: grid;
    grid-template-columns: repeat(26, minmax(30px, 1fr));
    min-width: 0;
}

.registry-alpha__links a {
    display: grid;
    place-items: center;
    min-height: 50px;
    color: var(--paper-muted);
    border-right: 1px solid var(--hairline);
    font-family: var(--akzenttext);
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
}

.registry-alpha__links a:last-child {
    border-right: 0;
}

.registry-alpha__links a:hover,
.registry-alpha__links a:focus-visible {
    color: var(--bg-deep);
    background: var(--signal);
    outline: 0;
}

/* ---------------------------------------------------------
   Pagination
   --------------------------------------------------------- */

.registry-pagination {
    padding: 16px clamp(var(--space-m), 3vw, 34px);
    border-bottom: 1px solid var(--hairline);
}

.registry-pagination:empty {
    display: none;
}

.registry-pagination--bottom {
    border-top: 1px solid var(--hairline);
    border-bottom: 0;
}

/* ---------------------------------------------------------
   Card grid
   --------------------------------------------------------- */

.registry-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    background: var(--hairline-strong);
}

.registry-card {
    --registry-accent: var(--design);

    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    color: var(--txtcol);
    background:
        linear-gradient(145deg, color-mix(in srgb, var(--registry-accent) 5.5%, transparent), transparent 38%),
        color-mix(in srgb, var(--bg-main) 98.5%, transparent);
    border-top: 3px solid var(--registry-accent);
}

.registry-card.ug-12 { --registry-accent: var(--liberants); }
.registry-card.ug-14 { --registry-accent: var(--scions); }
.registry-card.ug-15 { --registry-accent: var(--openers); }
.registry-card.ug-16 { --registry-accent: var(--thelics); }
.registry-card.ug-17 { --registry-accent: var(--normies); }
.registry-card.ug-18 { --registry-accent: var(--operatives); }
.registry-card.ug-19 { --registry-accent: var(--npc); }
.registry-card.ug-8  { --registry-accent: var(--design); }

.registry-card__filebar {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    min-height: 52px;
    background: color-mix(in srgb, var(--bg-deep) 92%, transparent);
    border-bottom: 1px solid var(--hairline);
}

.registry-card__serial {
    display: grid;
    grid-template-columns: auto auto;
    place-content: center;
    gap: 6px;
    color: var(--registry-accent);
    border-right: 1px solid color-mix(in srgb, var(--registry-accent) 42%, transparent);
    font-family: var(--akzenttext);
}

.registry-card__serial span {
    font-size: 10px;
    letter-spacing: 0.12em;
}

.registry-card__serial strong {
    font-size: var(--txtxl);
    font-weight: 500;
}

.registry-card__classification {
    display: flex;
    align-items: center;
    min-width: 0;
    padding: 0 16px;
    overflow: hidden;
    color: var(--paper-muted);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.registry-photo {
    position: relative;
    margin: 0;
    background: var(--bg-deep);
    border-bottom: 1px solid var(--hairline-strong);
}

.registry-photo__label {
    position: absolute;
    top: var(--space-s);
    left: var(--space-s);
    z-index: 3;
    padding: 6px var(--space-xs);
    color: var(--paper);
    background: color-mix(in srgb, var(--bg-deep) 82%, transparent);
    border-left: 2px solid var(--registry-accent);
}

.registry-photo__link {
    position: relative;
    display: block;
    aspect-ratio: var(--ava-ratio);
    overflow: hidden;
    background: var(--bg-deep);
}

.registry-photo__link::after {
    content: "";
    position: absolute;
    inset: 14px;
    z-index: 2;
    pointer-events: none;
    border: 1px solid color-mix(in srgb, var(--registry-accent) 54%, transparent);
    transition: border-color 180ms ease;
}

.registry-photo img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    object-fit: cover;
    object-position: center;
    filter: grayscale(1) contrast(1.08) brightness(0.78);
    transition: transform 360ms ease, filter 360ms ease;
}

.registry-photo__link:hover img,
.registry-photo__link:focus-visible img {
    transform: scale(1.045);
    filter: grayscale(0.84) contrast(1.08) brightness(0.88);
}

.registry-photo__link:hover::after,
.registry-photo__link:focus-visible::after {
    border-color: var(--registry-accent);
}

.registry-photo__link:focus-visible {
    outline: 1px solid var(--signal);
    outline-offset: -1px;
}

.registry-photo figcaption {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: var(--space-s);
    align-items: center;
    min-height: 44px;
    padding: 9px 14px;
    color: var(--txtcol-soft);
    background: color-mix(in srgb, var(--bg-deep) 92%, transparent);
    border-top: 1px solid var(--hairline);
    font-size: var(--txtxxsmall);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.registry-photo figcaption strong {
    overflow: hidden;
    color: var(--paper-muted);
    font-size: var(--txtxsmall);
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.registry-card__identity {
    flex: 1;
    min-width: 0;
    padding: clamp(22px, 2.4vw, 34px);
}

.registry-card__eyebrow {
    color: var(--registry-accent);
}

.registry-card__name {
    margin: var(--space-xs) 0 5px;
    padding: 0;
    border: 0;
    font-family: var(--akzenttext);
    font-size: clamp(29px, 2.45vw, 42px);
    font-weight: 400;
    line-height: 0.94;
    letter-spacing: -0.02em;
    text-transform: none;
}

.registry-card__name a {
    color: var(--paper);
    text-decoration: none;
}

.registry-card__name a:hover {
    color: var(--registry-accent);
}

.registry-card__title {
    min-height: 20px;
    margin-bottom: 21px;
    color: var(--paper-muted);
    font-size: var(--txtsmall);
    line-height: 1.45;
}

.registry-facts {
    display: grid;
    margin: 0;
    border-top: 1px solid var(--hairline);
}

.registry-fact {
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr);
    gap: var(--space-s);
    min-width: 0;
    margin: 0;
    padding: 10px 0;
    border-bottom: 1px solid var(--hairline);
}

.registry-fact.is-empty {
    display: none;
}

.registry-fact dt,
.registry-fact dd {
    min-width: 0;
    margin: 0;
}

.registry-fact dt {
    color: var(--txtcol-soft);
}

.registry-fact dd {
    overflow: hidden;
    color: var(--paper-muted);
    font-size: var(--txtsmall);
    line-height: 1.4;
    text-overflow: ellipsis;
}

.registry-fact dd small {
    display: block;
    margin-top: 3px;
    color: var(--txtcol-soft);
    font-size: var(--txtxsmall);
}

/* ---------------------------------------------------------
   Card statistics and actions
   --------------------------------------------------------- */

.registry-card__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    background: color-mix(in srgb, var(--bg-deep) 72%, transparent);
    border-top: 1px solid var(--hairline-strong);
    border-bottom: 1px solid var(--hairline-strong);
}

.registry-stat {
    display: grid;
    gap: var(--space-xxs);
    justify-items: center;
    min-width: 0;
    padding: 14px 7px;
}

.registry-stat + .registry-stat {
    border-left: 1px solid var(--hairline);
}

.registry-stat strong {
    overflow: hidden;
    max-width: 100%;
    color: var(--paper);
    font-family: var(--akzenttext);
    font-size: 19px;
    font-weight: 400;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.registry-stat span {
    color: var(--txtcol-soft);
    font-size: var(--txtxsmall);
    text-align: center;
}

.registry-card__actions {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    min-height: 48px;
    background: var(--bg-deep);
}

.registry-card__actions > a,
.registry-extract > summary {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 10px var(--space-s);
    color: var(--paper-muted);
    background: transparent;
    border: 0;
    border-right: 1px solid var(--hairline);
    cursor: pointer;
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.1em;
    text-decoration: none;
    text-transform: uppercase;
}

.registry-card__actions > a:hover,
.registry-card__actions > a:focus-visible,
.registry-extract > summary:hover,
.registry-extract > summary:focus-visible {
    color: var(--bg-deep);
    background: var(--registry-accent);
    outline: 0;
}

.registry-extract {
    position: static;
    min-width: 104px;
}

.registry-extract > summary {
    height: 100%;
    border-right: 0;
    list-style: none;
}

.registry-extract > summary::-webkit-details-marker {
    display: none;
}

.registry-extract > summary::marker {
    content: "";
}

.registry-extract[open] > summary {
    color: var(--bg-deep);
    background: var(--signal);
}

.registry-extract__panel {
    position: absolute;
    inset: 55px 14px 14px;
    z-index: 20;
    display: grid;
    align-content: start;
    gap: 15px;
    padding: clamp(22px, 3vw, 32px);
    overflow: auto;
    color: var(--txtcol);
    background:
        linear-gradient(145deg, color-mix(in srgb, var(--registry-accent) 8%, transparent), transparent 42%),
        color-mix(in srgb, var(--bg-deep) 98.5%, transparent);
    border: 1px solid var(--registry-accent);
}

.registry-extract__panel::before {
    content: "INDEX EXTRACT";
    color: var(--registry-accent);
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.16em;
}

.registry-extract__panel strong {
    color: var(--paper);
    font-family: var(--akzenttext);
    font-size: 28px;
    font-weight: 400;
}

.registry-extract__rows {
    display: grid;
    border-top: 1px solid var(--hairline);
}

.registry-extract__row {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 14px;
    padding: 11px 0;
    border-bottom: 1px solid var(--hairline);
}

.registry-extract__row span {
    color: var(--txtcol-soft);
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.registry-extract__row b {
    color: var(--paper-muted);
    font-size: var(--txtsmall);
    font-weight: 500;
}

/* ---------------------------------------------------------
   Empty registry
   --------------------------------------------------------- */

.registry-empty {
    grid-column: 1 / -1;
    display: grid;
    gap: var(--space-xs);
    min-height: 220px;
    place-content: center;
    padding: 30px;
    color: var(--txtcol-soft);
    background: var(--tbl-main);
    text-align: center;
}

.registry-empty span {
    color: var(--design-light);
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.registry-empty strong {
    color: var(--paper);
    font-family: var(--akzenttext);
    font-size: 34px;
    font-weight: 400;
}

/* ---------------------------------------------------------
   Search drawer
   --------------------------------------------------------- */

.registry-search {
    border-top: 1px solid var(--hairline-strong);
}

.registry-search > summary {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) auto;
    align-items: center;
    min-height: 70px;
    cursor: pointer;
    list-style: none;
    background: var(--bg-deep);
}

.registry-search > summary::-webkit-details-marker {
    display: none;
}

.registry-search > summary::marker {
    content: "";
}

.registry-search__number {
    display: grid;
    place-items: center;
    align-self: stretch;
    color: var(--signal);
    border-right: 1px solid var(--hairline);
    font-family: var(--akzenttext);
    font-size: 27px;
}

.registry-search__title {
    padding: 0 24px;
    color: var(--paper);
    font-family: var(--akzenttext);
    font-size: 27px;
    font-weight: 400;
    text-transform: uppercase;
}

.registry-search__state {
    padding: 0 24px;
    color: var(--design-light);
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.registry-search__state::before {
    content: "Open";
}

.registry-search[open] .registry-search__state::before {
    content: "Close";
}

.registry-search__form {
    padding: clamp(24px, 4vw, var(--space-xl));
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--design) 5.5%, transparent), transparent 42%),
        var(--tbl-main);
    border-top: 1px solid var(--hairline);
}

.registry-search__header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 25px;
    padding-bottom: var(--space-m);
    border-bottom: 1px solid var(--hairline);
}

.registry-search__header h2 {
    margin: 5px 0 0;
    color: var(--paper);
    font-family: var(--akzenttext);
    font-size: 36px;
    font-weight: 400;
}

.registry-search__header a {
    color: var(--signal-light);
    font-size: var(--txtxsmall);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.registry-search__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    background: var(--hairline-strong);
}

.registry-search__field,
.registry-search__sort {
    display: grid;
    align-content: start;
    gap: var(--space-xs);
    min-width: 0;
    padding: 20px;
    background: color-mix(in srgb, var(--bg-deep) 97%, transparent);
}

.registry-search__field label,
.registry-search__sort > label {
    color: var(--paper-muted);
    font-size: var(--txtxsmall);
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.registry-search__field small {
    color: var(--txtcol-soft);
    font-size: var(--txtxsmall);
}

.registry-search__field input,
.registry-search__sort select {
    width: 100%;
}

.registry-search__order {
    display: flex;
    flex-wrap: wrap;
    gap: 10px var(--space-m);
    min-height: 34px;
    align-items: center;
    color: var(--txtcol);
    font-size: var(--txtxsmall);
}

.registry-search__order label {
    color: var(--txtcol);
    letter-spacing: 0;
    text-transform: none;
}

.registry-search__submit {
    display: flex;
    justify-content: flex-end;
    margin-top: 20px;
}

.registry-search__submit .button {
    min-width: 190px;
    min-height: 44px;
}

/* Select2 inside the registry search */
.registry-search .select2-container {
    width: 100% !important;
}

.registry-search .select2-container .select2-choice {
    min-height: 39px;
    color: var(--paper);
    background: var(--bg-deep);
    border: 1px solid var(--hairline-strong);
    border-radius: 0;
    line-height: 37px;
}

.registry-search .select2-container-active .select2-choice {
    border-color: var(--design);
    box-shadow: none;
}

/* ---------------------------------------------------------
   Responsive member registry
   --------------------------------------------------------- */

@media (max-width: 1240px) {
    .registry-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .registry-alpha__links {
        grid-template-columns: repeat(13, minmax(34px, 1fr));
    }

    .registry-alpha__links a:nth-child(13) {
        border-right: 0;
    }

    .registry-alpha__links a:nth-child(-n+13) {
        border-bottom: 1px solid var(--hairline);
    }
}

@media (max-width: 900px) {
    .registry-masthead {
        grid-template-columns: 105px minmax(0, 1fr);
    }

    .registry-masthead__status {
        grid-column: 1 / -1;
        min-height: 104px;
        border-top: 1px solid var(--hairline);
        border-left: 0;
    }

    .registry-alpha {
        grid-template-columns: 105px minmax(0, 1fr);
    }

    .registry-search__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .registry-page {
        width: min(calc(100% - 20px), var(--content-wide));
    }

    .registry-masthead {
        grid-template-columns: 76px minmax(0, 1fr);
        min-height: 168px;
    }

    .registry-masthead__code {
        padding: var(--space-m) 10px;
    }

    .registry-masthead__code strong {
        font-size: 72px;
    }

    .registry-masthead__copy {
        padding: 25px 20px var(--space-l);
    }

    .registry-masthead__copy h1 {
        font-size: clamp(39px, 11vw, 58px);
    }

    .registry-alpha {
        grid-template-columns: 1fr;
    }

    .registry-alpha__label {
        border-right: 0;
        border-bottom: 1px solid var(--hairline);
    }

    .registry-grid {
        grid-template-columns: 1fr;
    }

    .registry-search > summary {
        grid-template-columns: 76px minmax(0, 1fr);
    }

    .registry-search__state {
        display: none;
    }

    .registry-search__number {
        grid-row: 1;
    }

    .registry-search__title {
        padding: 0 16px;
        font-size: 22px;
    }

    .registry-search__header {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 420px) {
    .registry-alpha__links {
        grid-template-columns: repeat(7, minmax(34px, 1fr));
    }

    .registry-alpha__links a {
        border-bottom: 1px solid var(--hairline);
    }

    .registry-alpha__links a:nth-child(13) {
        border-right: 1px solid var(--hairline);
    }

    .registry-card__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .registry-stat:nth-child(3) {
        border-top: 1px solid var(--hairline);
        border-left: 0;
    }

    .registry-stat:nth-child(4) {
        border-top: 1px solid var(--hairline);
    }

    .registry-card__actions {
        grid-template-columns: 1fr 1fr;
    }

    .registry-extract {
        grid-column: 1 / -1;
        min-height: 44px;
        border-top: 1px solid var(--hairline);
    }

    .registry-extract > summary {
        border-top: 0;
    }

    .registry-extract__panel {
        inset: 55px 10px 10px;
    }
}

/* =========================================================
   03. THREAD VIEW / CORRESPONDENCE RECORDS
   ========================================================= */

.page-showthread .c28-hero {
    display: none;
}

.page-showthread .c28-mainnav a:nth-child(4) {
    color: var(--paper);
    background: color-mix(in srgb, var(--design) 11%, transparent);
}

.page-showthread .c28-mainnav a:nth-child(4)::after {
    transform: scaleX(1);
}

.page-showthread .c28-page-tools {
    padding-top: var(--space-s);
}

.page-showthread .c28-page-tools navigation {
    margin-bottom: 0;
    padding: 9px 0 13px;
    background: color-mix(in srgb, var(--bg-deep) 64%, transparent);
    border-top: 1px solid var(--hairline);
}

.thread-record-page {
    padding: clamp(20px, 3.5vw, 48px) 0 clamp(var(--space-xxl), 8vw, 112px);
}

.thread-record {
    color: var(--txtcol);
    background: color-mix(in srgb, var(--bg-deep) 95%, transparent);
    border: 1px solid var(--hairline-strong);
    border-top: 3px solid var(--design);
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
    .thread-record {
        background: color-mix(in srgb, var(--bg-deep) 98.8%, transparent);
    }
}

/* ---------------------------------------------------------
   Thread masthead
   --------------------------------------------------------- */

.thread-record__masthead {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) minmax(230px, 320px);
    min-height: 205px;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--bg-deep) 98%, transparent), color-mix(in srgb, var(--bg-deep) 68%, transparent) 62%, color-mix(in srgb, var(--bg-deep) 94%, transparent)),
        var(--hgbig);
    background-position: center 52%;
    background-size: cover;
    border-bottom: 1px solid var(--hairline-strong);
}

.thread-record__code {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-width: 0;
    padding: 25px 21px;
    overflow: hidden;
    background: color-mix(in srgb, var(--design) 11%, transparent);
    border-right: 1px solid color-mix(in srgb, var(--design) 52%, transparent);
}

.thread-record__code span,
.thread-record__kicker,
.thread-record__actions > span,
.correspondence-kicker,
.correspondence-photo__label,
.correspondence-facts dt,
.correspondence-stats span,
.correspondence-plate > span {
    color: var(--design-light);
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.thread-record__code strong {
    overflow: hidden;
    color: var(--design-light);
    font-family: var(--akzenttext);
    font-size: clamp(76px, 8vw, 126px);
    font-weight: 300;
    line-height: 0.64;
    text-overflow: clip;
}

.thread-record__identity {
    align-self: end;
    min-width: 0;
    padding: 31px clamp(26px, 4vw, 58px) 36px;
}

.thread-record__identity h1 {
    margin: 9px 0 17px;
    color: var(--paper);
    font-family: var(--akzenttext);
    font-size: clamp(44px, 5.7vw, 86px);
    font-weight: 300;
    line-height: 0.86;
    letter-spacing: -0.035em;
    text-transform: none;
}

.thread-record__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
    width: fit-content;
    background: var(--hairline-strong);
}

.thread-record__meta span {
    padding: var(--space-xs) var(--space-s);
    color: var(--paper-muted);
    background: color-mix(in srgb, var(--bg-deep) 88%, transparent);
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.thread-record__actions {
    display: grid;
    align-content: end;
    gap: 10px;
    padding: 30px var(--space-l) 35px;
    background: color-mix(in srgb, var(--bg-deep) 76%, transparent);
    border-left: 1px solid var(--hairline-strong);
}

.thread-record__actions .new_reply_button,
.thread-record__actions .button,
.thread-record__actions a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    color: var(--bg-deep);
    background: var(--signal);
    border: 0;
    text-decoration: none;
}

.thread-record__actions .inline_rating {
    margin: 0;
}

/* ---------------------------------------------------------
   Thread toolbars
   --------------------------------------------------------- */

.thread-record__toolbar,
.thread-record__lowerbar,
.thread-record__navigation,
.thread-record__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 62px;
    padding: var(--space-s) clamp(var(--space-m), 3vw, 34px);
    background: var(--bg-deep);
    border-bottom: 1px solid var(--hairline-strong);
}

.thread-record__toolbarlinks,
.thread-record__adjacent {
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
    background: var(--hairline);
}

.thread-record__toolbarlinks a,
.thread-record__adjacent a {
    padding: 9px var(--space-s);
    color: var(--paper-muted);
    background: var(--tbl-main);
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.09em;
    text-decoration: none;
    text-transform: uppercase;
}

.thread-record__toolbarlinks a:hover,
.thread-record__adjacent a:hover {
    color: var(--bg-deep);
    background: var(--signal);
}

.thread-record__poll:empty {
    display: none;
}

.thread-record__poll:not(:empty) {
    padding: 24px;
    border-bottom: 1px solid var(--hairline-strong);
}

.thread-record__entries {
    padding: clamp(16px, 2.6vw, 34px);
}

.thread-record__entries #posts {
    display: grid;
    gap: clamp(30px, 5vw, 72px);
}

.thread-record__navigation {
    border-top: 1px solid var(--hairline-strong);
}

.thread-record__search {
    min-width: 0;
}

.thread-record__search form {
    display: flex;
    gap: 1px;
}

.thread-record__search input {
    min-width: 190px;
}

.thread-record__lowerbar {
    border-top: 0;
}

.thread-record__quickreply,
.thread-record__extras {
    padding: 0 clamp(var(--space-m), 3vw, 34px) var(--space-l);
}

.thread-record__extras:empty {
    display: none;
}

.thread-record__footer {
    align-items: flex-start;
    border-top: 1px solid var(--hairline-strong);
}

.thread-record__footer .thread_tools {
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
    margin: 0;
    padding: 0;
    background: var(--hairline);
    list-style: none;
}

.thread-record__footer .thread_tools li {
    margin: 0;
    padding: 0;
}

.thread-record__footer .thread_tools li::before {
    content: none;
}

.thread-record__footer .thread_tools a {
    display: block;
    padding: 10px var(--space-s);
    color: var(--paper-muted);
    background: var(--tbl-main);
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-decoration: none;
    text-transform: uppercase;
}

.thread-record__moderation {
    display: grid;
    gap: var(--space-xs);
    justify-items: end;
}

.thread-record__browsing {
    padding: 16px clamp(var(--space-m), 3vw, 34px);
    color: var(--txtcol-soft);
    background: color-mix(in srgb, var(--bg-deep) 72%, transparent);
    border-top: 1px solid var(--hairline);
    font-size: var(--txtxsmall);
}

/* ---------------------------------------------------------
   Individual post / correspondence dossier
   --------------------------------------------------------- */

.correspondence-post {
    --post-accent: var(--design);

    color: var(--txtcol);
    background:
        linear-gradient(
            145deg,
            color-mix(in srgb, var(--post-accent) 4.5%, transparent),
            transparent 34%
        ),
        color-mix(in srgb, var(--bg-main) 98.5%, transparent);

    border: 1px solid var(--hairline-strong);
    border-top: 3px solid var(--post-accent);
}

.correspondence-post.ug-12 { --post-accent: var(--liberants); }
.correspondence-post.ug-14 { --post-accent: var(--scions); }
.correspondence-post.ug-15 { --post-accent: var(--openers); }
.correspondence-post.ug-16 { --post-accent: var(--thelics); }
.correspondence-post.ug-17 { --post-accent: var(--normies); }
.correspondence-post.ug-18 { --post-accent: var(--operatives); }
.correspondence-post.ug-19 { --post-accent: var(--npc); }
.correspondence-post.ug-8  { --post-accent: var(--design); }

.correspondence-post__header {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr) minmax(190px, 260px);
    min-height: 120px;
    background: color-mix(in srgb, var(--bg-deep) 90%, transparent);
    border-bottom: 1px solid var(--hairline-strong);
}

.correspondence-post__serial {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: var(--space-m) 14px;
    overflow: hidden;
    background: color-mix(in srgb, var(--post-accent) 10%, transparent);
    border-right: 1px solid color-mix(in srgb, var(--post-accent) 45%, transparent);
}

.correspondence-post__serial span {
    color: var(--post-accent);
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.14em;
}

.correspondence-post__serial strong {
    overflow: hidden;
    color: var(--post-accent);
    font-family: var(--akzenttext);
    font-size: 43px;
    font-weight: 300;
    line-height: 0.75;
}

.correspondence-post__identity {
    align-self: end;
    min-width: 0;
    padding: 20px clamp(20px, 3vw, 36px) 23px;
}

.correspondence-post__identity h2 {
    margin: 7px 0 6px;
    padding: 0;
    border: 0;
    font-family: var(--akzenttext);
    font-size: clamp(34px, 3.6vw, 58px);
    font-weight: 400;
    line-height: 0.9;
}

.correspondence-post__identity h2 a {
    color: var(--paper);
    text-decoration: none;
}

.correspondence-post__identity h2 a:hover {
    color: var(--post-accent);
}

.correspondence-post__subtitle {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs) 14px;
    color: var(--paper-muted);
    font-size: var(--txtxsmall);
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.correspondence-post__entry {
    display: grid;
    align-content: end;
    gap: 5px;
    padding: 20px 22px 23px;
    color: var(--txtcol-soft);
    background: color-mix(in srgb, var(--paper) 1.8%, transparent);
    border-left: 1px solid var(--hairline);
    font-size: var(--txtxsmall);
}

.correspondence-post__entry > span {
    color: var(--post-accent);
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.correspondence-post__entry strong a {
    color: var(--paper);
}

.correspondence-post__edited:empty {
    display: none;
}

.correspondence-post__layout {
    display: grid;
    grid-template-columns: var(--ava-w) minmax(0, 1fr);
    align-items: stretch;
}

.correspondence-dossier {
    min-width: 0;
    background: color-mix(in srgb, var(--bg-deep) 72%, transparent);
    border-right: 1px solid var(--hairline-strong);
}

.correspondence-photo {
    position: relative;
    margin: 0;
    border-bottom: 1px solid var(--hairline-strong);
}

.correspondence-photo__label {
    position: absolute;
    top: 13px;
    left: 13px;
    z-index: 3;
    padding: 6px var(--space-xs);
    color: var(--paper);
    background: color-mix(in srgb, var(--bg-deep) 84%, transparent);
    border-left: 2px solid var(--post-accent);
}

.correspondence-photo__image {
    position: relative;
    aspect-ratio: var(--ava-ratio);
    overflow: hidden;
    background: var(--bg-deep);
}

.correspondence-photo__image::after {
    content: "";
    position: absolute;
    inset: 14px;
    z-index: 2;
    pointer-events: none;
    border: 1px solid color-mix(in srgb, var(--post-accent) 56%, transparent);
}

.correspondence-photo__image > a,
.correspondence-photo__image .author_avatar {
    display: block;
    width: 100%;
    height: 100%;
}

.correspondence-photo__image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    object-fit: cover;
    object-position: center;
    filter: grayscale(1) contrast(1.08) brightness(0.8);
}

.correspondence-groupmark {
    position: absolute;
    top: 22px;
    right: 22px;
    z-index: 4;
    width: 10px;
    height: 10px;
    background: var(--post-accent);
    border: 1px solid color-mix(in srgb, var(--paper) 28%, transparent);
}

.correspondence-photo figcaption {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: var(--space-s);
    align-items: center;
    min-height: 48px;
    padding: 10px 14px;
    color: var(--txtcol-soft);
    background: color-mix(in srgb, var(--bg-deep) 95%, transparent);
    border-top: 1px solid var(--hairline);
    font-size: var(--txtxxsmall);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.correspondence-photo figcaption strong {
    overflow: hidden;
    color: var(--paper-muted);
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.correspondence-index > details {
    border-bottom: 1px solid var(--hairline);
}

.correspondence-index > details > summary {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 18px;
    align-items: center;
    min-height: 48px;
    cursor: pointer;
    list-style: none;
    background: color-mix(in srgb, var(--bg-deep) 96%, transparent);
}

.correspondence-index > details > summary::-webkit-details-marker {
    display: none;
}

.correspondence-index > details > summary::marker {
    content: "";
}

.correspondence-index > details > summary::after {
    content: "+";
    color: var(--post-accent);
    font-family: var(--akzenttext);
    font-size: 21px;
}

.correspondence-index > details[open] > summary::after {
    content: "−";
}

.correspondence-index > details > summary span {
    display: grid;
    place-items: center;
    align-self: stretch;
    color: var(--post-accent);
    border-right: 1px solid var(--hairline);
    font-family: var(--akzenttext);
    font-size: 15px;
}

.correspondence-index > details > summary strong {
    padding: 0 13px;
    color: var(--paper-muted);
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.correspondence-index__body {
    padding: 16px;
    color: var(--txtcol);
    background: color-mix(in srgb, var(--bg-deep) 88%, transparent);
}

.correspondence-prose {
    font-size: var(--txtsmall);
    line-height: 1.6;
}

.correspondence-prose--scroll {
    max-height: 190px;
    margin-top: 14px;
    padding-top: 14px;
    overflow: auto;
    border-top: 1px solid var(--hairline);
}

.correspondence-facts {
    display: grid;
    margin: 0;
}

.correspondence-facts > div {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 10px;
    padding: var(--space-xs) 0;
    border-bottom: 1px solid var(--hairline);
}

.correspondence-facts > div:last-child {
    border-bottom: 0;
}

.correspondence-facts dt,
.correspondence-facts dd {
    min-width: 0;
    margin: 0;
}

.correspondence-facts dt {
    color: var(--txtcol-soft);
}

.correspondence-facts dd {
    color: var(--paper-muted);
    font-size: var(--txtsmall);
}

.correspondence-facts dd small {
    display: block;
    color: var(--txtcol-soft);
    font-size: var(--txtxsmall);
}

.correspondence-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin-bottom: var(--space-s);
    background: var(--hairline);
}

.correspondence-stats > div {
    display: grid;
    gap: var(--space-xxs);
    place-items: center;
    padding: var(--space-s) 7px;
    background: var(--tbl-main);
}

.correspondence-stats strong {
    color: var(--paper);
    font-family: var(--akzenttext);
    font-size: 24px;
    font-weight: 400;
}

.correspondence-stats span {
    color: var(--txtcol-soft);
    font-size: var(--txtxsmall);
}

.correspondence-registered {
    margin-bottom: var(--space-s);
    color: var(--txtcol-soft);
    font-size: var(--txtxsmall);
}

.correspondence-note {
    position: relative;
    border-top: 1px solid var(--hairline);
}

.correspondence-note > summary {
    padding: 9px 0;
    color: var(--post-accent);
    cursor: pointer;
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.1em;
    list-style: none;
    text-transform: uppercase;
}

.correspondence-note > summary::-webkit-details-marker {
    display: none;
}

.correspondence-note > div {
    padding: 0 0 11px;
    color: var(--paper-muted);
    font-size: var(--txtsmall);
    line-height: 1.5;
}

.correspondence-contact {
    border-bottom: 1px solid var(--hairline-strong);
}

.correspondence-contact__player {
    display: grid;
    gap: 3px;
    padding: 15px;
}

.correspondence-contact__player span {
    color: var(--txtcol-soft);
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.correspondence-contact__player strong {
    color: var(--paper);
    font-family: var(--akzenttext);
    font-size: 24px;
    font-weight: 400;
}

.correspondence-contact__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
    padding: 1px;
    background: var(--hairline);
}

.correspondence-contact__actions a,
.correspondence-contact__actions > span {
    flex: 1 1 auto;
    padding: 9px 10px;
    overflow: hidden;
    color: var(--paper-muted);
    background: var(--tbl-main);
    font-size: var(--txtxxsmall);
    text-align: center;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.correspondence-plate {
    display: grid;
    gap: 9px;
    margin: 0;
    padding: 14px;
}

.correspondence-plate img {
    display: block;
    width: 100%;
    height: 170px;
    object-fit: cover;
    filter: grayscale(1) contrast(1.05) brightness(0.72);
    border: 1px solid var(--hairline-strong);
}

.correspondence-document {
    display: flex;
    min-width: 0;
    flex-direction: column;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--paper) 1.8%, transparent), transparent 26%),
        color-mix(in srgb, var(--tbl-main) 97%, transparent);
}

.correspondence-document__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    min-height: 112px;
    padding: 25px clamp(24px, 4vw, 52px);
    border-bottom: 1px solid var(--hairline-strong);
}

.correspondence-document__header h3 {
    margin: 7px 0 0;
    color: var(--paper);
    font-family: var(--akzenttext);
    font-size: clamp(27px, 3vw, 44px);
    font-weight: 400;
}

.correspondence-document__mark {
    color: color-mix(in srgb, var(--post-accent) 36%, transparent);
    font-family: var(--akzenttext);
    font-size: 72px;
    font-weight: 300;
    line-height: 0.72;
}

.correspondence-document__body {
    flex: 1;
    min-height: 520px;
    padding: clamp(34px, 5vw, 72px) clamp(var(--space-l), 5vw, 72px);
    color: var(--txtcol);
    font-size: var(--txtbase);
    line-height: 1.78;
    text-align: justify;
    text-align-last: left;
    overflow-wrap: anywhere;
}

.correspondence-document__body p:first-child {
    margin-top: 0;
}

.correspondence-document__body img,
.correspondence-document__body video,
.correspondence-document__body iframe {
    max-width: 100%;
}

.correspondence-attachments:empty,
.correspondence-signature:empty,
.correspondence-reactions:empty {
    display: none;
}

.correspondence-attachments,
.correspondence-reactions {
    padding: 20px clamp(var(--space-l), 5vw, 72px);
    border-top: 1px solid var(--hairline);
}

.correspondence-signature {
    margin: 0 clamp(var(--space-l), 5vw, 72px);
    padding: var(--space-l) 0;
    color: var(--paper-muted);
    border-top: 1px solid var(--hairline);
}

.correspondence-document__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 48px;
    padding: 10px clamp(24px, 4vw, 46px);
    color: var(--txtcol-soft);
    background: color-mix(in srgb, var(--bg-deep) 72%, transparent);
    border-top: 1px solid var(--hairline-strong);
    font-size: var(--txtxxsmall);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.correspondence-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 1px;
    background: var(--hairline-strong);
    border-top: 1px solid var(--hairline-strong);
}

.correspondence-controls__author,
.correspondence-controls__management {
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
}

.correspondence-controls a,
.correspondence-controls button {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: var(--space-xs) 11px;
    color: var(--paper-muted);
    background: var(--bg-deep);
    border: 0;
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-decoration: none;
    text-transform: uppercase;
}

.correspondence-controls a:hover,
.correspondence-controls button:hover {
    color: var(--bg-deep);
    background: var(--post-accent);
}

/* ---------------------------------------------------------
   Existing quick reply and thread extras
   --------------------------------------------------------- */

.page-showthread #quick_reply_form > table.tborder,
.page-showthread .thread-record__extras > table.tborder,
.page-showthread .thread-record__poll > table.tborder {
    width: 100%;
    margin: 0;
    color: var(--txtcol);
    background: var(--tbl-main);
    border: 1px solid var(--hairline-strong);
}

.page-showthread #quick_reply_form .thead,
.page-showthread .thread-record__extras .thead,
.page-showthread .thread-record__poll .thead {
    color: var(--paper);
    background: var(--bg-deep);
    border-color: var(--hairline);
}

.page-showthread #quick_reply_form .trow1,
.page-showthread #quick_reply_form .trow2,
.page-showthread .thread-record__extras .trow1,
.page-showthread .thread-record__extras .trow2,
.page-showthread .thread-record__poll .trow1,
.page-showthread .thread-record__poll .trow2 {
    color: var(--txtcol);
    background: color-mix(in srgb, var(--bg-main) 98%, transparent);
}

.page-showthread #quick_reply_form textarea {
    width: 100%;
    min-height: 240px;
}

/* ---------------------------------------------------------
   Responsive thread view
   --------------------------------------------------------- */

@media (max-width: 1080px) {
    .thread-record__masthead {
        grid-template-columns: 110px minmax(0, 1fr);
    }

    .thread-record__actions {
        grid-column: 1 / -1;
        grid-template-columns: auto minmax(160px, 240px) minmax(160px, 240px);
        align-items: center;
        border-top: 1px solid var(--hairline);
        border-left: 0;
    }

    .correspondence-post__layout {
        grid-template-columns: 270px minmax(0, 1fr);
    }

    .correspondence-dossier {
        width: 270px;
    }
}

@media (max-width: 800px) {
    .thread-record__toolbar,
    .thread-record__lowerbar,
    .thread-record__navigation,
    .thread-record__footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .thread-record__masthead {
        grid-template-columns: 80px minmax(0, 1fr);
    }

    .thread-record__code {
        padding: var(--space-m) 10px;
    }

    .thread-record__identity {
        padding: 26px 20px 30px;
    }

    .thread-record__actions {
        grid-template-columns: 1fr;
    }

    .correspondence-post__header {
        grid-template-columns: 74px minmax(0, 1fr);
    }

    .correspondence-post__entry {
        grid-column: 1 / -1;
        border-top: 1px solid var(--hairline);
        border-left: 0;
    }

    .correspondence-post__layout {
        grid-template-columns: 1fr;
    }

    .correspondence-dossier {
        width: auto;
        border-right: 0;
        border-bottom: 1px solid var(--hairline-strong);
    }

    .correspondence-photo__image {
        max-height: 420px;
    }

    .correspondence-index {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .correspondence-index > details {
        border-right: 1px solid var(--hairline);
    }

    .correspondence-plate img {
        height: 240px;
    }
}

@media (max-width: 540px) {
    .thread-record-page {
        width: min(calc(100% - 20px), var(--content-wide));
    }

    .thread-record__masthead {
        grid-template-columns: 65px minmax(0, 1fr);
    }

    .thread-record__code strong {
        font-size: 55px;
    }

    .thread-record__identity h1 {
        font-size: clamp(35px, 11vw, 52px);
    }

    .thread-record__entries {
        padding: 10px;
    }

    .correspondence-post__header {
        grid-template-columns: 58px minmax(0, 1fr);
    }

    .correspondence-post__serial {
        padding: 13px var(--space-xs);
    }

    .correspondence-post__serial strong {
        font-size: 31px;
    }

    .correspondence-post__identity {
        padding: var(--space-m) 15px 20px;
    }

    .correspondence-post__identity h2 {
        font-size: 34px;
    }

    .correspondence-index {
        grid-template-columns: 1fr;
    }

    .correspondence-index > details {
        border-right: 0;
    }

    .correspondence-document__header {
        min-height: 90px;
        padding: 20px;
    }

    .correspondence-document__mark {
        display: none;
    }

    .correspondence-document__body {
        min-height: 0;
        padding: 32px 20px;
        font-size: var(--txtm);
        text-align: left;
    }

    .correspondence-controls {
        align-items: stretch;
        flex-direction: column;
    }
}

/* =========================================================
   04. FORUM DISPLAY / MUNICIPAL THREAD LEDGER
   ========================================================= */

.page-forumdisplay .c28-hero {
    display: none;
}

.page-forumdisplay .c28-page-tools {
    padding-top: var(--space-s);
}

.page-forumdisplay .c28-page-tools navigation {
    margin-bottom: 0;
    padding: 9px 0 13px;
    color: var(--txtcol-soft);
    background: color-mix(in srgb, var(--bg-deep) 64%, transparent);
    border-top: 1px solid var(--hairline);
}

/* Active top-navigation register by forum family. */
.page-forumdisplay.forum-10 .c28-mainnav a:nth-child(2),
.page-forumdisplay.forum-11 .c28-mainnav a:nth-child(2),
.page-forumdisplay.forum-12 .c28-mainnav a:nth-child(2),
.page-forumdisplay.forum-13 .c28-mainnav a:nth-child(2),
.page-forumdisplay.forum-14 .c28-mainnav a:nth-child(3),
.page-forumdisplay.forum-15 .c28-mainnav a:nth-child(3),
.page-forumdisplay.forum-16 .c28-mainnav a:nth-child(3),
.page-forumdisplay.forum-17 .c28-mainnav a:nth-child(3),
.page-forumdisplay.forum-18 .c28-mainnav a:nth-child(4),
.page-forumdisplay.forum-19 .c28-mainnav a:nth-child(4),
.page-forumdisplay.forum-20 .c28-mainnav a:nth-child(4),
.page-forumdisplay.forum-21 .c28-mainnav a:nth-child(4),
.page-forumdisplay.forum-22 .c28-mainnav a:nth-child(4),
.page-forumdisplay.forum-23 .c28-mainnav a:nth-child(4),
.page-forumdisplay.forum-24 .c28-mainnav a:nth-child(4),
.page-forumdisplay.forum-25 .c28-mainnav a:nth-child(5),
.page-forumdisplay.forum-26 .c28-mainnav a:nth-child(5),
.page-forumdisplay.forum-27 .c28-mainnav a:nth-child(5),
.page-forumdisplay.forum-28 .c28-mainnav a:nth-child(5),
.page-forumdisplay.forum-29 .c28-mainnav a:nth-child(6),
.page-forumdisplay.forum-30 .c28-mainnav a:nth-child(6),
.page-forumdisplay.forum-31 .c28-mainnav a:nth-child(6),
.page-forumdisplay.forum-32 .c28-mainnav a:nth-child(6),
.page-forumdisplay.forum-33 .c28-mainnav a:nth-child(7),
.page-forumdisplay.forum-34 .c28-mainnav a:nth-child(7),
.page-forumdisplay.forum-35 .c28-mainnav a:nth-child(7),
.page-forumdisplay.forum-36 .c28-mainnav a:nth-child(7),
.page-forumdisplay.forum-37 .c28-mainnav a:nth-child(7),
.page-forumdisplay.forum-38 .c28-mainnav a:nth-child(7),
.page-forumdisplay.forum-39 .c28-mainnav a:nth-child(7) {
    color: var(--paper);
    background: color-mix(in srgb, var(--design) 11%, transparent);
}

.page-forumdisplay.forum-10 .c28-mainnav a:nth-child(2)::after,
.page-forumdisplay.forum-11 .c28-mainnav a:nth-child(2)::after,
.page-forumdisplay.forum-12 .c28-mainnav a:nth-child(2)::after,
.page-forumdisplay.forum-13 .c28-mainnav a:nth-child(2)::after,
.page-forumdisplay.forum-14 .c28-mainnav a:nth-child(3)::after,
.page-forumdisplay.forum-15 .c28-mainnav a:nth-child(3)::after,
.page-forumdisplay.forum-16 .c28-mainnav a:nth-child(3)::after,
.page-forumdisplay.forum-17 .c28-mainnav a:nth-child(3)::after,
.page-forumdisplay.forum-18 .c28-mainnav a:nth-child(4)::after,
.page-forumdisplay.forum-19 .c28-mainnav a:nth-child(4)::after,
.page-forumdisplay.forum-20 .c28-mainnav a:nth-child(4)::after,
.page-forumdisplay.forum-21 .c28-mainnav a:nth-child(4)::after,
.page-forumdisplay.forum-22 .c28-mainnav a:nth-child(4)::after,
.page-forumdisplay.forum-23 .c28-mainnav a:nth-child(4)::after,
.page-forumdisplay.forum-24 .c28-mainnav a:nth-child(4)::after,
.page-forumdisplay.forum-25 .c28-mainnav a:nth-child(5)::after,
.page-forumdisplay.forum-26 .c28-mainnav a:nth-child(5)::after,
.page-forumdisplay.forum-27 .c28-mainnav a:nth-child(5)::after,
.page-forumdisplay.forum-28 .c28-mainnav a:nth-child(5)::after,
.page-forumdisplay.forum-29 .c28-mainnav a:nth-child(6)::after,
.page-forumdisplay.forum-30 .c28-mainnav a:nth-child(6)::after,
.page-forumdisplay.forum-31 .c28-mainnav a:nth-child(6)::after,
.page-forumdisplay.forum-32 .c28-mainnav a:nth-child(6)::after,
.page-forumdisplay.forum-33 .c28-mainnav a:nth-child(7)::after,
.page-forumdisplay.forum-34 .c28-mainnav a:nth-child(7)::after,
.page-forumdisplay.forum-35 .c28-mainnav a:nth-child(7)::after,
.page-forumdisplay.forum-36 .c28-mainnav a:nth-child(7)::after,
.page-forumdisplay.forum-37 .c28-mainnav a:nth-child(7)::after,
.page-forumdisplay.forum-38 .c28-mainnav a:nth-child(7)::after,
.page-forumdisplay.forum-39 .c28-mainnav a:nth-child(7)::after {
    transform: scaleX(1);
}

.forum-register-page {
    padding: clamp(20px, 3.5vw, 48px) 0 clamp(var(--space-xxl), 8vw, 112px);
}

.forum-register {
    color: var(--txtcol);
    background: color-mix(in srgb, var(--bg-deep) 95%, transparent);
    border: 1px solid var(--hairline-strong);
    border-top: 3px solid var(--design);
    -webkit-backdrop-filter: blur(7px) saturate(0.82);
    backdrop-filter: blur(7px) saturate(0.82);
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
    .forum-register {
        background: color-mix(in srgb, var(--bg-deep) 98.8%, transparent);
    }
}

/* ---------------------------------------------------------
   Forum record masthead
   --------------------------------------------------------- */

.forum-register__masthead {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) minmax(250px, 340px);
    min-height: 225px;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--bg-deep) 98%, transparent), color-mix(in srgb, var(--bg-deep) 66%, transparent) 62%, color-mix(in srgb, var(--bg-deep) 94%, transparent)),
        var(--hgbig);
    background-position: center 48%;
    background-size: cover;
    border-bottom: 1px solid var(--hairline-strong);
}

.forum-register__code {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-width: 0;
    padding: 25px 21px;
    overflow: hidden;
    background: color-mix(in srgb, var(--design) 11%, transparent);
    border-right: 1px solid color-mix(in srgb, var(--design) 52%, transparent);
}

.forum-register__code span,
.forum-register__kicker,
.forum-register__status > span,
.forum-section-heading__kicker,
.thread-ledger__kicker,
.thread-ledger-row__eyebrow,
.thread-ledger-row__lastpost > span,
.thread-ledger-row__volume span,
.forum-register__rules summary span,
.forum-register__rules-link span {
    color: var(--design-light);
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.forum-register__code strong {
    overflow: hidden;
    color: var(--design-light);
    font-family: var(--akzenttext);
    font-size: clamp(76px, 8vw, 126px);
    font-weight: 300;
    line-height: 0.64;
}

.forum-register__identity {
    align-self: end;
    min-width: 0;
    padding: 31px clamp(26px, 4vw, 58px) 36px;
}

.forum-register__identity h1 {
    margin: 9px 0 15px;
    color: var(--paper);
    font-family: var(--akzenttext);
    font-size: clamp(44px, 5.7vw, 86px);
    font-weight: 300;
    line-height: 0.86;
    letter-spacing: -0.035em;
}

.forum-register__description {
    max-width: 820px;
    color: var(--paper-muted);
    font-size: var(--txtm);
    line-height: 1.55;
}

.forum-register__status {
    display: grid;
    align-content: end;
    gap: 7px;
    padding: 30px var(--space-l) 35px;
    background: color-mix(in srgb, var(--bg-deep) 76%, transparent);
    border-left: 1px solid var(--hairline-strong);
}

.forum-register__status > strong {
    color: var(--signal-light);
    font-family: var(--akzenttext);
    font-size: clamp(30px, 3vw, 46px);
    font-weight: 400;
    text-transform: uppercase;
}

.forum-register__presence,
.forum-register__staff {
    display: grid;
    gap: 3px;
    padding-top: 10px;
    color: var(--txtcol-soft);
    border-top: 1px solid var(--hairline);
    font-size: var(--txtxsmall);
}

.forum-register__presence span,
.forum-register__staff span {
    color: var(--txtcol-soft);
    font-size: var(--txtxxsmall);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.forum-register__presence strong,
.forum-register__staff strong {
    color: var(--paper-muted);
    font-weight: 500;
}

/* ---------------------------------------------------------
   Forum rules
   --------------------------------------------------------- */

.forum-register__rules,
.forum-register__rules-link {
    border-bottom: 1px solid var(--hairline-strong);
}

.forum-register__rules > summary,
.forum-register__rules-link {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    min-height: 62px;
    align-items: center;
    cursor: pointer;
    list-style: none;
    color: var(--paper-muted);
    background: var(--bg-deep);
    text-decoration: none;
}

.forum-register__rules > summary::-webkit-details-marker {
    display: none;
}

.forum-register__rules > summary span,
.forum-register__rules-link span {
    display: flex;
    align-items: center;
    align-self: stretch;
    padding: 0 22px;
    color: var(--signal);
    border-right: 1px solid var(--hairline);
}

.forum-register__rules > summary strong,
.forum-register__rules-link strong {
    padding: 0 24px;
    color: var(--paper);
    font-family: var(--akzenttext);
    font-size: 24px;
    font-weight: 400;
}

.forum-register__rules-body {
    padding: 26px clamp(24px, 4vw, 52px);
    color: var(--txtcol);
    background: color-mix(in srgb, var(--bg-main) 98%, transparent);
    border-top: 1px solid var(--hairline);
    line-height: 1.65;
}

/* ---------------------------------------------------------
   Section headings and attached subforums
   --------------------------------------------------------- */

.forum-register__subforums {
    --category-color: var(--design-light);

    padding: clamp(24px, 4vw, var(--space-xl));
    border-bottom: 1px solid var(--hairline-strong);
}

.forum-section-heading {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    align-items: end;
    margin-bottom: var(--space-m);
    border-bottom: 1px solid var(--hairline);
}

.forum-section-heading__number {
    color: var(--design-light);
    font-family: var(--akzenttext);
    font-size: 46px;
    font-weight: 300;
    line-height: 0.9;
}

.forum-section-heading h2 {
    margin: 5px 0 var(--space-s);
    color: var(--paper);
    font-family: var(--akzenttext);
    font-size: 34px;
    font-weight: 400;
}

.forumdisplay-subforums__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.forumdisplay-subforums__grid .forum-card {
    grid-template-columns: 110px minmax(0, 1fr);
    grid-template-areas:
        "visual content"
        "stats stats"
        "last last";
}

.forumdisplay-subforums__grid .forum-card__visual {
    grid-area: visual;
}

.forumdisplay-subforums__grid .forum-card__content {
    grid-area: content;
}

.forumdisplay-subforums__grid .forum-card__stats {
    grid-area: stats;
    border-top: 1px solid var(--hairline);
    border-left: 0;
}

.forumdisplay-subforums__grid .forum-card__lastpost {
    grid-area: last;
    border-top: 1px solid var(--hairline);
    border-left: 0;
}

/* ---------------------------------------------------------
   Thread ledger masthead
   --------------------------------------------------------- */

.thread-ledger {
    background: color-mix(in srgb, var(--bg-deep) 97%, transparent);
}

.thread-ledger__masthead {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 20px;
    min-height: 92px;
    background: var(--bg-deep);
    border-bottom: 1px solid var(--hairline-strong);
}

.thread-ledger__heading {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    align-items: center;
    min-width: 0;
}

.thread-ledger__number {
    display: grid;
    place-items: center;
    align-self: stretch;
    color: var(--design-light);
    background: color-mix(in srgb, var(--design) 10%, transparent);
    border-right: 1px solid color-mix(in srgb, var(--design) 42%, transparent);
    font-family: var(--akzenttext);
    font-size: 34px;
}

.thread-ledger__heading > div {
    padding: 14px 24px;
}

.thread-ledger__heading h2 {
    margin: var(--space-xxs) 0 0;
    color: var(--paper);
    font-family: var(--akzenttext);
    font-size: 34px;
    font-weight: 400;
}

.thread-ledger__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: flex-end;
    gap: 1px;
    min-width: 0;
    padding: 1px;
    background: var(--hairline);
}

.thread-ledger__actions > a,
.thread-ledger__actions .new_thread_button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 88px;
    padding: 0 16px;
    color: var(--paper-muted);
    background: var(--tbl-main);
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-decoration: none;
    text-transform: uppercase;
}

.thread-ledger__actions .new_thread_button {
    color: var(--bg-deep);
    background: var(--signal);
}

.thread-ledger__columns,
.thread-ledger-row {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) 190px minmax(220px, 0.46fr) 42px;
}

.thread-ledger__columns {
    min-height: 42px;
    color: var(--txtcol-soft);
    background: color-mix(in srgb, var(--bg-deep) 92%, transparent);
    border-bottom: 1px solid var(--hairline-strong);
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.thread-ledger__columns > span {
    display: flex;
    align-items: center;
    padding: 0 16px;
    border-right: 1px solid var(--hairline);
}

.thread-ledger__columns > span:nth-child(3) {
    justify-content: center;
}

.thread-ledger__columns > span:nth-child(4) {
    justify-content: flex-end;
}

.thread-ledger__selectall {
    display: grid;
    place-items: center;
    cursor: pointer;
}

/* ---------------------------------------------------------
   Thread ledger rows
   --------------------------------------------------------- */

.thread-ledger-row {
    min-height: 126px;
    color: var(--txtcol);
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--design) 2.5%, transparent), transparent 33%),
        color-mix(in srgb, var(--bg-main) 98.5%, transparent);
    border-bottom: 1px solid var(--hairline-strong);
}

.thread-ledger-row:hover {
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--design) 7%, transparent), transparent 40%),
        color-mix(in srgb, var(--bg-main) 99.5%, transparent);
}

.thread-ledger-row__record,
.thread-ledger-row__subject,
.thread-ledger-row__volume,
.thread-ledger-row__lastpost,
.thread-ledger-row__select {
    min-width: 0;
    border-right: 1px solid var(--hairline);
}

.thread-ledger-row__record {
    position: relative;
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-content: center;
    gap: 5px 6px;
    padding: var(--space-m) 14px;
    background: color-mix(in srgb, var(--bg-deep) 60%, transparent);
}

.thread-ledger-row__record .thread_status {
    grid-row: 1 / span 2;
    align-self: center;
    width: 10px;
    height: 10px;
    background: var(--txtcol-soft);
    border: 1px solid color-mix(in srgb, var(--paper) 20%, transparent);
}

.thread-ledger-row__record .newfolder,
.thread-ledger-row__record .newhotfolder,
.thread-ledger-row__record .newlockfolder,
.thread-ledger-row__record .newhotlockfolder,
.thread-ledger-row__record .dot_newfolder,
.thread-ledger-row__record .dot_newhotfolder,
.thread-ledger-row__record .dot_newlockfolder,
.thread-ledger-row__record .dot_newhotlockfolder {
    background: var(--design-light);
}

.thread-ledger-row__code {
    color: var(--design-light);
    font-size: var(--txtsmall);
    font-weight: 600;
    letter-spacing: 0.11em;
}

.thread-ledger-row__record > strong {
    overflow: hidden;
    color: var(--paper-muted);
    font-family: var(--akzenttext);
    font-size: 22px;
    font-weight: 400;
    text-overflow: ellipsis;
}

.thread-ledger-row__icon {
    position: absolute;
    right: 10px;
    bottom: var(--space-xs);
    opacity: 0.42;
}

.thread-ledger-row__icon-image {
    display: block;
    width: 14px;
    height: 14px;
    object-fit: contain;
}

.thread-ledger-row__subject {
    align-self: stretch;
    padding: 23px clamp(20px, 3vw, 34px);
}

.thread-ledger-row__eyebrow {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    min-height: 14px;
    color: var(--design-light);
}

.thread-ledger-row__attachment {
    display: inline-grid;
    place-items: center;
    width: 14px;
    height: 14px;
    color: var(--bg-deep);
    background: var(--signal);
    font-size: var(--txtm);
    line-height: 1;
}

.thread-ledger-row__title {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 7px;
    margin: var(--space-xs) 0 var(--space-s);
    color: var(--paper);
    font-family: var(--akzenttext);
    font-size: clamp(24px, 2.3vw, 34px);
    font-weight: 400;
    line-height: 1;
}

.thread-ledger-row__title a {
    color: inherit;
    text-decoration: none;
}

.thread-ledger-row__title a:hover {
    color: var(--design-light);
}

.thread-ledger-row__unread {
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    color: var(--bg-deep) !important;
    background: var(--signal);
    font-family: var(--akzenttext);
    font-size: 15px;
}

.thread-ledger-row__origin {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 16px;
    color: var(--txtcol-soft);
    font-size: var(--txtxsmall);
}

.thread-ledger-row__origin a {
    color: var(--paper-muted);
}

.thread-ledger-row__volume {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.thread-ledger-row__volume > div {
    display: grid;
    place-content: center;
    gap: 6px;
    min-width: 0;
    text-align: center;
}

.thread-ledger-row__volume > div + div {
    border-left: 1px solid var(--hairline);
}

.thread-ledger-row__volume strong {
    color: var(--paper-muted);
    font-family: var(--akzenttext);
    font-size: 29px;
    font-weight: 300;
}

.thread-ledger-row__volume strong a {
    color: inherit;
}

.thread-ledger-row__volume span {
    color: var(--txtcol-soft);
    font-size: var(--txtxsmall);
}

.thread-ledger-row__lastpost {
    display: grid;
    align-content: center;
    justify-items: end;
    gap: 6px;
    padding: 20px 24px;
    color: var(--txtcol-soft);
    background: color-mix(in srgb, var(--paper) 1.8%, transparent);
    text-align: right;
    font-size: var(--txtxsmall);
}

.thread-ledger-row__lastpost strong {
    color: var(--paper-muted);
    font-weight: 500;
}

.thread-ledger-row__lastpost a {
    color: var(--design-light);
}

.thread-ledger-row__select {
    display: grid;
    place-items: center;
    cursor: pointer;
    border-right: 0;
}

.thread-ledger-row__select--disabled {
    color: var(--txtcol-soft);
    cursor: default;
}

.thread-ledger-row--announcement {
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--signal) 7%, transparent), transparent 40%),
        color-mix(in srgb, var(--bg-main) 98.5%, transparent);
    border-left: 3px solid var(--signal);
}

.thread-ledger-row--announcement .thread-ledger-row__code,
.thread-ledger-row--announcement .thread-ledger-row__eyebrow {
    color: var(--signal-light);
}

.thread-ledger-row--deleted {
    opacity: 0.62;
}

/* ---------------------------------------------------------
   Thread separators, empty states and selection
   --------------------------------------------------------- */

.thread-ledger__section {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    min-height: 48px;
    align-items: center;
    color: var(--paper-muted);
    background: color-mix(in srgb, var(--bg-deep) 96%, transparent);
    border-bottom: 1px solid var(--hairline-strong);
}

.thread-ledger__section span {
    align-self: stretch;
    display: flex;
    align-items: center;
    padding: 0 var(--space-m);
    color: var(--design-light);
    border-right: 1px solid var(--hairline);
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.thread-ledger__section strong {
    padding: 0 22px;
    font-family: var(--akzenttext);
    font-size: 22px;
    font-weight: 400;
}

.thread-ledger__section--announcement span {
    color: var(--signal);
}

.thread-ledger__empty {
    display: grid;
    gap: 7px;
    min-height: 190px;
    place-content: center;
    padding: 30px;
    color: var(--txtcol-soft);
    background: var(--tbl-main);
    text-align: center;
    border-bottom: 1px solid var(--hairline-strong);
}

.thread-ledger__empty span {
    color: var(--design-light);
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.thread-ledger__empty strong {
    color: var(--paper);
    font-family: var(--akzenttext);
    font-size: 30px;
    font-weight: 400;
}

.thread-ledger__selection {
    padding: var(--space-s) var(--space-m);
    color: var(--paper-muted);
    background: color-mix(in srgb, var(--design) 12%, transparent);
    border-bottom: 1px solid color-mix(in srgb, var(--design) 34%, transparent);
    font-size: var(--txtxsmall);
    text-align: center;
}

.thread-ledger__selection a {
    color: var(--signal-light);
}

/* ---------------------------------------------------------
   Sorting, pagination and utilities
   --------------------------------------------------------- */

.thread-ledger__sort {
    border-bottom: 1px solid var(--hairline-strong);
}

.thread-ledger__sort > summary {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr) 26px;
    min-height: 54px;
    align-items: center;
    cursor: pointer;
    list-style: none;
    color: var(--paper-muted);
    background: var(--bg-deep);
}

.thread-ledger__sort > summary::-webkit-details-marker {
    display: none;
}

.thread-ledger__sort > summary::after {
    content: "+";
    color: var(--signal);
    font-family: var(--akzenttext);
    font-size: var(--txtxl);
}

.thread-ledger__sort[open] > summary::after {
    content: "−";
}

.thread-ledger__sort > summary span {
    align-self: stretch;
    display: flex;
    align-items: center;
    padding: 0 var(--space-m);
    color: var(--design-light);
    border-right: 1px solid var(--hairline);
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.thread-ledger__sort > summary strong {
    padding: 0 22px;
    font-family: var(--akzenttext);
    font-size: 21px;
    font-weight: 400;
}

.thread-ledger__sort form {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
    gap: 1px;
    padding: 1px;
    background: var(--hairline);
}

.thread-ledger__sort label {
    display: grid;
    gap: 7px;
    padding: 15px;
    background: var(--tbl-main);
}

.thread-ledger__sort label > span {
    color: var(--txtcol-soft);
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.thread-ledger__sort select {
    width: 100%;
}

.thread-ledger__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 66px;
    padding: var(--space-s) var(--space-m);
    background: color-mix(in srgb, var(--bg-deep) 92%, transparent);
    border-bottom: 1px solid var(--hairline-strong);
}

.thread-ledger__newrecord .new_thread_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 16px;
    color: var(--bg-deep);
    background: var(--signal);
    text-decoration: none;
}

.forum-register__utilities {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.7fr);
    gap: 1px;
    padding: 1px;
    background: var(--hairline-strong);
}

.forum-register__moderation-tools,
.forum-register__search-tools {
    min-width: 0;
    padding: 20px;
    background: var(--bg-deep);
}

.forum-register__moderation-tools:empty,
.forum-register__search-tools:empty {
    display: none;
}

.forum-register__moderation-tools form,
.forum-register__search-tools form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-xs);
    margin: 0;
}

.forum-register__search-tools {
    display: grid;
    gap: var(--space-s);
}

.forum-register__search-tools br,
.forum-register__moderation-tools br {
    display: none;
}

/* ---------------------------------------------------------
   Responsive forum display
   --------------------------------------------------------- */

@media (max-width: 1100px) {
    .forum-register__masthead {
        grid-template-columns: 110px minmax(0, 1fr);
    }

    .forum-register__status {
        grid-column: 1 / -1;
        grid-template-columns: auto 1fr 1fr;
        align-items: center;
        border-top: 1px solid var(--hairline);
        border-left: 0;
    }

    .thread-ledger__columns,
    .thread-ledger-row {
        grid-template-columns: 82px minmax(0, 1fr) 160px 210px 38px;
    }

    .thread-ledger__sort form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .forumdisplay-subforums__grid {
        grid-template-columns: 1fr;
    }

    .thread-ledger__masthead {
        align-items: stretch;
        flex-direction: column;
    }

    .thread-ledger__actions {
        justify-content: stretch;
    }

    .thread-ledger__actions > a,
    .thread-ledger__actions .new_thread_button {
        flex: 1 1 180px;
        min-height: 46px;
    }

    .thread-ledger__columns {
        display: none;
    }

    .thread-ledger-row {
        grid-template-columns: 72px minmax(0, 1fr) 42px;
        grid-template-areas:
            "record subject select"
            "volume volume volume"
            "last last last";
    }

    .thread-ledger-row__record {
        grid-area: record;
    }

    .thread-ledger-row__subject {
        grid-area: subject;
    }

    .thread-ledger-row__volume {
        grid-area: volume;
        min-height: 88px;
        border-top: 1px solid var(--hairline);
        border-right: 0;
    }

    .thread-ledger-row__lastpost {
        grid-area: last;
        min-height: 84px;
        border-top: 1px solid var(--hairline);
        border-right: 0;
    }

    .thread-ledger-row__select {
        grid-area: select;
    }

    .forum-register__utilities {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .forum-register-page {
        width: min(calc(100% - 20px), var(--content-wide));
    }

    .forum-register__masthead {
        grid-template-columns: 65px minmax(0, 1fr);
    }

    .forum-register__code {
        padding: var(--space-m) 9px;
    }

    .forum-register__code strong {
        font-size: 55px;
    }

    .forum-register__identity {
        padding: 26px 20px 30px;
    }

    .forum-register__identity h1 {
        font-size: clamp(35px, 11vw, 52px);
    }

    .forum-register__status {
        grid-template-columns: 1fr;
    }

    .forum-register__rules > summary,
    .forum-register__rules-link {
        grid-template-columns: 92px minmax(0, 1fr);
    }

    .forum-register__subforums {
        padding: 20px 10px;
    }

    .forumdisplay-subforums__grid .forum-card {
        grid-template-columns: 1fr;
        grid-template-areas:
            "visual"
            "content"
            "stats"
            "last";
    }

    .forumdisplay-subforums__grid .forum-card__visual {
        min-height: 120px;
        border-right: 0;
        border-bottom: 1px solid var(--hairline);
    }

    .thread-ledger__heading {
        grid-template-columns: 60px minmax(0, 1fr);
    }

    .thread-ledger__heading > div {
        padding: var(--space-s) 15px;
    }

    .thread-ledger-row {
        grid-template-columns: 58px minmax(0, 1fr) 36px;
    }

    .thread-ledger-row__record {
        padding: var(--space-s) 7px;
    }

    .thread-ledger-row__record > strong {
        font-size: 17px;
    }

    .thread-ledger-row__subject {
        padding: 19px 14px;
    }

    .thread-ledger-row__title {
        font-size: 25px;
    }

    .thread-ledger__section {
        grid-template-columns: 116px minmax(0, 1fr);
    }

    .thread-ledger__sort > summary {
        grid-template-columns: 116px minmax(0, 1fr) 22px;
    }

    .thread-ledger__sort form {
        grid-template-columns: 1fr;
    }

    .thread-ledger__footer {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* =========================================================
   05. COMPACT SYSTEM PAGES
   - Profile moderation
   - Permission errors
   - Registration
   ========================================================= */


/* ---------------------------------------------------------
   Profile moderation record
   --------------------------------------------------------- */

.dossier-adminbar {
    display: grid;
    gap: 1px;
    background: var(--hairline-strong);
}

.dossier-moderation {
    min-width: 0;
    color: var(--txtcol);
    background: var(--bg-deep);
}

.dossier-moderation > summary {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) 26px;
    min-height: 52px;
    align-items: center;
    cursor: pointer;
    list-style: none;
    background: var(--bg-deep);
}

.dossier-moderation > summary::-webkit-details-marker {
    display: none;
}

.dossier-moderation > summary::after {
    content: "+";
    color: var(--signal);
    font-family: var(--akzenttext);
    font-size: var(--txtxl);
}

.dossier-moderation[open] > summary::after {
    content: "−";
}

.dossier-moderation > summary span {
    display: flex;
    align-items: center;
    align-self: stretch;
    padding: 0 var(--space-m);
    color: var(--akzent-red-soft);
    border-right: 1px solid var(--hairline);
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.dossier-moderation > summary strong {
    padding: 0 20px;
    color: var(--paper);
    font-family: var(--akzenttext);
    font-size: 22px;
    font-weight: 400;
}

.dossier-moderation__body {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(260px, 1fr) minmax(0, 1.2fr);
    gap: 1px;
    padding: 1px;
    background: var(--hairline);
    border-top: 1px solid var(--hairline-strong);
}

.dossier-moderation__data,
.dossier-moderation__actions,
.dossier-moderation__notes {
    min-width: 0;
    margin: 0;
    padding: 16px;
    background: var(--tbl-main);
}

.dossier-moderation__data {
    display: grid;
    align-content: start;
}

.dossier-moderation__data > div {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: var(--space-s);
    padding: var(--space-xs) 0;
    border-bottom: 1px solid var(--hairline);
}

.dossier-moderation__data dt,
.dossier-moderation__data dd {
    min-width: 0;
    margin: 0;
}

.dossier-moderation__data dt,
.dossier-moderation__notes > span {
    color: var(--txtcol-soft);
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.dossier-moderation__data dd {
    color: var(--paper-muted);
    overflow-wrap: anywhere;
}

.dossier-moderation__actions ul {
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
    margin: 0;
    padding: 1px;
    background: var(--hairline);
    list-style: none;
}

.dossier-moderation__actions li {
    flex: 1 1 150px;
    margin: 0;
    padding: 0;
}

.dossier-moderation__actions li::before {
    content: none;
}

.dossier-moderation__actions a {
    display: flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    padding: 7px 10px;
    color: var(--paper-muted);
    background: var(--bg-deep);
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.07em;
    text-decoration: none;
    text-transform: uppercase;
}

.dossier-moderation__actions a:hover {
    color: var(--bg-deep);
    background: var(--akzent-red-soft);
}

.dossier-moderation__notes {
    display: grid;
    align-content: start;
    gap: 10px;
}

.dossier-moderation__notes-text {
    max-height: 100px;
    overflow: auto;
    color: var(--paper-muted);
    font-size: var(--txtsmall);
    line-height: 1.5;
}

.dossier-moderation__notes-action a {
    color: var(--signal-light);
    font-size: var(--txtxsmall);
}


/* ---------------------------------------------------------
   Permission error record
   --------------------------------------------------------- */

body:has(.permission-record) .c28-hero {
    display: none;
}

body:has(.permission-record) .c28-page-tools {
    min-height: 0;
    padding: 0;
}

body:has(.permission-record) #content > .wrapper > br {
    display: none;
}

body:has(.permission-record) #content > .wrapper > table.tborder {
    width: min(calc(100% - 40px), 780px);
    margin: clamp(34px, 7vw, 90px) auto;
    background: transparent;
    border: 0;
}

body:has(.permission-record) #content > .wrapper > table.tborder > tbody > tr:first-child {
    display: none;
}

body:has(.permission-record) #content > .wrapper > table.tborder .trow1 {
    padding: 0;
    background: transparent;
    border: 0;
}

.permission-record {
    color: var(--txtcol);
    background: color-mix(in srgb, var(--tbl-main) 95%, transparent);
    border: 1px solid var(--hairline-strong);
    border-top: 3px solid var(--akzent-red-soft);
}

.permission-record__header {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    align-items: center;
    min-height: 68px;
    background: var(--bg-deep);
    border-bottom: 1px solid var(--hairline-strong);
}

.permission-record__header span {
    display: flex;
    align-items: center;
    align-self: stretch;
    padding: 0 var(--space-m);
    color: var(--akzent-red-soft);
    border-right: 1px solid var(--hairline);
    font-size: var(--txtxxsmall);
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.permission-record__header strong {
    padding: 0 22px;
    color: var(--paper);
    font-family: var(--akzenttext);
    font-size: 28px;
    font-weight: 400;
    text-transform: uppercase;
}

.permission-record__intro {
    padding: 22px 26px;
    color: var(--paper-muted);
    border-bottom: 1px solid var(--hairline);
    line-height: 1.6;
}

.permission-record__actions {
    display: flex;
    gap: 1px;
    padding: 1px;
    background: var(--hairline);
}

.permission-record__actions a {
    flex: 1;
    display: flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    color: var(--paper-muted);
    background: var(--bg-deep);
    font-size: var(--txtxsmall);
    font-weight: 600;
    letter-spacing: 0.09em;
    text-decoration: none;
    text-transform: uppercase;
}

.permission-record__actions a:last-child {
    color: var(--bg-deep);
    background: var(--signal);
}

.permission-record__reasons {
    display: grid;
    gap: 1px;
    margin: 0;
    padding: 1px;
    background: var(--hairline);
    counter-reset: permission-reason;
}

.permission-record__reasons li {
    position: relative;
    margin: 0;
    padding: 14px var(--space-m) 14px 58px;
    color: var(--txtcol);
    background: var(--tbl-main);
    list-style: none;
    line-height: 1.5;
    counter-increment: permission-reason;
}

.permission-record__reasons li::before {
    content: counter(permission-reason, decimal-leading-zero);
    position: absolute;
    top: 0;
    left: 0;
    display: grid;
    width: 42px;
    height: 100%;
    place-items: center;
    color: var(--design-light);
    background: var(--bg-deep);
    border-right: 1px solid var(--hairline);
    font-family: var(--akzenttext);
    font-size: var(--txtl);
}

.permission-record__identity {
    padding: 13px var(--space-m);
    color: var(--txtcol-soft);
    background: var(--bg-deep);
    border-top: 1px solid var(--hairline);
    font-size: var(--txtxsmall);
    text-align: right;
}


/* ---------------------------------------------------------
   Registration record
   Preserves MyBB validation, CAPTCHA and plugin subtemplates.
   --------------------------------------------------------- */

body:has(#registration_form) .c28-hero {
    display: none;
}

body:has(#registration_form) .c28-page-tools {
    min-height: 0;
    padding: 0;
}

#registration_form {
    width: min(calc(100% - 40px), 1080px);
    margin: clamp(var(--space-l), 5vw, 68px) auto;
    color: var(--txtcol);
}

#registration_form > input[name="regcheck1"],
#registration_form > input[name="regcheck2"] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    pointer-events: none;
}

#registration_form > table.tborder {
    display: block;
    width: 100%;
    margin: 0;
    color: var(--txtcol);
    background: color-mix(in srgb, var(--tbl-main) 95%, transparent);
    border: 1px solid var(--hairline-strong);
    border-top: 3px solid var(--design);
}

#registration_form > table.tborder > tbody {
    display: block;
}

#registration_form > table.tborder > tbody > tr:first-child {
    display: block;
}

#registration_form > table.tborder > tbody > tr:first-child > .thead {
    display: grid;
    min-height: 70px;
    align-items: center;
    padding: 14px 24px;
    color: var(--paper);
    background:
        linear-gradient(
            90deg,
            color-mix(in srgb, var(--design) 12%, transparent),
            transparent
        ),
        var(--bg-deep);
    border: 0;
    border-bottom: 1px solid var(--hairline-strong);
    font-family: var(--akzenttext);
    font-size: 30px;
    font-weight: 400;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

#registration_form > table.tborder > tbody > tr:nth-child(2) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    background: var(--hairline-strong);
}

#registration_form > table.tborder > tbody > tr:nth-child(2) > td {
    display: block;
    width: auto !important;
    min-width: 0;
    padding: 14px;
    color: var(--txtcol);
    background: var(--tbl-main);
    border: 0;
}

#registration_form fieldset {
    min-width: 0;
    margin: 0 0 10px;
    padding: var(--space-s);
    color: var(--txtcol);
    background: color-mix(in srgb, var(--bg-deep) 72%, var(--tbl-main));
    border: 1px solid var(--hairline);
    border-radius: 0;
}

#registration_form fieldset:last-child {
    margin-bottom: 0;
}

#registration_form fieldset + br {
    display: none;
}

#registration_form legend {
    padding: 0 var(--space-xs);
    color: var(--design-light);
    font-family: var(--akzenttext);
    font-size: var(--txtsmall);
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

#registration_form fieldset table {
    width: 100%;
    color: var(--txtcol);
    background: transparent;
    border-collapse: collapse;
}

#registration_form fieldset td {
    padding: 5px;
    color: var(--txtcol);
    background: transparent;
    border: 0;
}

#registration_form fieldset tr + tr td {
    border-top: 1px solid color-mix(in srgb, var(--hairline) 70%, transparent);
}

#registration_form .smalltext {
    color: var(--txtcol-soft);
    line-height: 1.45;
}

#registration_form label {
    color: var(--paper-muted);
}

#registration_form input.textbox,
#registration_form input[type="password"],
#registration_form select,
#registration_form textarea {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
}

#registration_form input.checkbox,
#registration_form input.radio {
    width: auto;
}

#registration_form #captcha_img {
    max-width: 180px;
    height: auto;
    filter: grayscale(1) contrast(1.1);
    border: 1px solid var(--hairline-strong);
}

#registration_form #password_status,
#registration_form #email_status,
#registration_form #imagestring_status,
#registration_form #answer_status {
    padding: 6px var(--space-xs);
    color: var(--paper-muted);
    background: var(--bg-deep);
    font-size: var(--txtxsmall);
}

#registration_form .select2-container {
    width: 100% !important;
}

#registration_form .select2-container .select2-choice {
    min-height: 38px;
    color: var(--paper);
    background: var(--bg-deep);
    border: 1px solid var(--hairline-strong);
    border-radius: 0;
    line-height: 36px;
}

#registration_form > br {
    display: none;
}

#registration_form > div[align="center"] {
    display: flex;
    justify-content: flex-end;
    margin-top: 1px;
    padding: 14px;
    background: var(--bg-deep);
    border: 1px solid var(--hairline-strong);
    border-top: 0;
}

#registration_form > div[align="center"] .button {
    min-width: 230px;
    min-height: 42px;
    color: var(--bg-deep);
    background: var(--signal);
}


/* ---------------------------------------------------------
   Compact system page responsiveness
   --------------------------------------------------------- */

@media (max-width: 860px) {
    .dossier-moderation__body {
        grid-template-columns: 1fr;
    }

    #registration_form > table.tborder > tbody > tr:nth-child(2) {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 580px) {
    body:has(.permission-record) #content > .wrapper > table.tborder,
    #registration_form {
        width: min(calc(100% - 20px), 1080px);
    }

    .permission-record__header {
        grid-template-columns: 112px minmax(0, 1fr);
    }

    .permission-record__header span {
        padding: 0 var(--space-s);
    }

    .permission-record__header strong {
        padding: 0 14px;
        font-size: 22px;
    }

    .permission-record__actions {
        flex-direction: column;
    }

    #registration_form > table.tborder > tbody > tr:nth-child(2) > td {
        padding: 9px;
    }

    #registration_form fieldset {
        padding: 9px;
    }

    #registration_form fieldset table,
    #registration_form fieldset tbody,
    #registration_form fieldset tr,
    #registration_form fieldset td {
        display: block;
        width: 100% !important;
    }

    #registration_form fieldset td {
        padding: 5px 0;
    }

    #registration_form fieldset tr + tr td {
        border-top: 0;
    }

    #registration_form > div[align="center"] {
        justify-content: stretch;
    }

    #registration_form > div[align="center"] .button {
        width: 100%;
        min-width: 0;
    }
}