:root {
    --bg-top: #2b3027;
    --bg-bottom: #1d2019;
    --header: #141611;
    --nav: #3b3b2f;
    --nav-border: #6c5b2e;
    --panel: #4a4738;
    --panel-dark: #3d3b2f;
    --panel-light: #5a5745;
    --border: #201c14;
    --border-soft: #746842;
    --text: #e6dfc7;
    --muted: #c2b696;
    --link: #e0c26a;
    --accent: #8f6c2e;
    --success: #4f5b3f;
    --error: #6f4a35;
    --radius: 0;
}

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    min-height: 100%;
}

body {
    min-height: 100vh;
    font-family: Tahoma, Verdana, Arial, sans-serif;
    font-size: 13px;
    line-height: 1.5;
    color: var(--text);
    background: #000;
}

.page-wrap {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: #000;
    background: url("/images/background.jpg") center top / cover no-repeat fixed;
}

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

.forum-user-mention {
    font-weight: 700;
}

a:hover {
    text-decoration: underline;
}

img {
    max-width: 100%;
    display: block;
}

.avatar-fallback {
    --avatar-size: 88px;
    width: var(--avatar-size);
    height: var(--avatar-size);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02)),
        repeating-linear-gradient(
            -45deg,
            rgba(255, 255, 255, 0.03) 0,
            rgba(255, 255, 255, 0.03) 8px,
            transparent 8px,
            transparent 16px
        );
    color: transparent;
    border: 1px solid var(--border);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.avatar-fallback--profile {
    --avatar-size: 200px;
}

.site-width {
    width: min(1200px, calc(100% - 24px));
    margin: 0 auto;
}

.staff-bar {
    background: #0d0f0c;
    border-bottom: 1px solid #000;
}

.staff-bar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 6px 0;
    font-size: 12px;
}

.staff-bar-links {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.staff-bar a {
    color: #d7ccb0;
}

.staff-bar-alert {
    color: #ff7568 !important;
    font-weight: 700;
    margin-left: auto;
}

.global-site-banner {
    margin-bottom: 18px;
}

.global-site-banner-table {
    width: 100%;
    border-collapse: collapse;
    background: linear-gradient(180deg, #7d1717, #4a0f0f);
    border: 1px solid #240707;
    box-shadow: 0 10px 24px rgba(45, 0, 0, 0.22);
}

.global-site-banner-table td {
    padding: 14px 16px;
    color: #ffe8e1;
    font-weight: 700;
    text-align: center;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.masthead {
    height: 140px;
    background: url("/images/header-logo.png") center center / auto no-repeat,
        #000;
    border-bottom: 1px solid #000;
}

.masthead-inner {
    height: 100%;
    padding: 0;
}

.logo {
    display: block;
    width: 100%;
    height: 100%;
}

.logo:hover {
    text-decoration: none;
}

.top-nav {
    background: linear-gradient(180deg, #5d5a49, var(--nav));
    border-top: 1px solid var(--nav-border);
    border-bottom: 1px solid #17140d;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.top-nav-inner {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: stretch;
}

.nav-links {
    display: flex;
    flex-wrap: wrap;
}

.nav-dropdown {
    position: relative;
}

.nav-links a {
    display: inline-flex;
    align-items: center;
    min-height: 46px;
    padding: 0 16px;
    color: #f1ead2;
    border-right: 1px solid rgba(0, 0, 0, 0.35);
    font-size: 14px;
}

.nav-dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    background: #3b3b2f;
    border: 1px solid var(--border);
    z-index: 20;
}

.nav-dropdown--right .nav-dropdown-menu {
    left: auto;
    right: 0;
}

.nav-dropdown-menu a {
    display: block;
    min-height: auto;
    padding: 10px 12px;
    border-right: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.nav-dropdown-menu a:last-child {
    border-bottom: 0;
}

.nav-dropdown:hover .nav-dropdown-menu {
    display: block;
}

.nav-links a:hover {
    text-decoration: none;
    background: rgba(0, 0, 0, 0.12);
}

.nav-links-right a:last-child,
.nav-links a:last-child {
    border-right: 0;
}

.nav-button,
button,
.button-link,
.steam-button,
.cta {
    display: inline-block;
    background: linear-gradient(180deg, #927233, #644918);
    color: #fff7df;
    border: 1px solid #22180b;
    padding: 8px 12px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    border-radius: var(--radius);
}

.nav-button {
    display: inline-flex;
    align-items: center;
    min-height: 46px;
    padding: 0 16px;
    border-radius: 0;
    border-top: 0;
    border-bottom: 0;
}

.nav-button--steam {
    background: linear-gradient(180deg, #4e7b3d, #2f5425);
    border-left: 1px solid rgba(0, 0, 0, 0.35);
    border-right: 0;
    border-color: #183114;
    color: #eef8ea;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.button-green {
    background: linear-gradient(180deg, #587235, #32451f);
    border-color: #15200c;
    color: #f4f8ea;
}

.button-green:hover {
    background: linear-gradient(180deg, #688541, #3b5425);
}

.button-red {
    background: linear-gradient(180deg, #8a463a, #5e261d);
    border-color: #2a100c;
    color: #fff0ea;
}

.button-red:hover {
    background: linear-gradient(180deg, #9b5143, #6c2d22);
}

.button-orange {
    background: linear-gradient(180deg, #a56a2d, #704316);
    border-color: #2f1b08;
    color: #fff4e6;
}

.button-orange:hover {
    background: linear-gradient(180deg, #b87833, #80501b);
}

.nav-button:hover,
button:hover,
.button-link:hover,
.steam-button:hover,
.cta:hover {
    text-decoration: none;
    background: linear-gradient(180deg, #a17f39, #73541e);
}

.nav-button--steam:hover {
    background: linear-gradient(180deg, #61964b, #3a6a2d);
}

.body-shell {
    flex: 1 0 auto;
    padding: 12px 0 20px;
}

.page-header {
    background: linear-gradient(180deg, #565241, #444133);
    border: 1px solid var(--border);
    padding: 10px 14px;
    margin-bottom: 12px;
}

.page-header h1 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
    font-weight: 700;
    color: #f4edd7;
}

.page-main {
    display: grid;
    gap: 12px;
}

.page-main.has-sidebar {
    grid-template-columns: minmax(0, 1fr) 320px;
}

.page-content,
.page-sidebar {
    min-width: 0;
}

.block,
.panel,
.form-panel {
    background: var(--panel);
    border: 1px solid var(--border);
    margin-bottom: 12px;
    border-radius: var(--radius);
}

.block-header {
    background: linear-gradient(180deg, #6f673f, #5b532f);
    border-bottom: 1px solid var(--border);
    color: #f7efd9;
    font-weight: 700;
    padding: 10px 12px;
    text-transform: none;
    font-size: 16px;
}

.block-body,
.panel,
.form-panel {
    padding: 12px;
}

.block-minor {
    background: linear-gradient(180deg, #625d49, #4b4738);
    border-bottom: 1px solid var(--border);
    color: #efe4c5;
    font-weight: 700;
    padding: 8px 12px;
    font-size: 15px;
}

.link-list a {
    display: block;
    padding: 4px 0;
}

.flash-stack {
    margin-bottom: 12px;
}

.flash {
    border: 1px solid var(--border);
    padding: 10px 12px;
    margin-bottom: 8px;
}

.flash.success {
    background: var(--success);
}

.flash.error {
    background: var(--error);
}

.news-post + .news-post {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--border-soft);
}

.home-latest-threads-block {
    margin-bottom: 12px;
}

.home-thread-list {
    background: rgba(255, 255, 255, 0.02);
}

.home-thread-row {
    display: grid;
    grid-template-columns: 64px minmax(0, 1.8fr) 120px 180px 56px;
    gap: 14px;
    align-items: center;
    padding: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.home-thread-row:first-child {
    border-top: 0;
}

.home-thread-cell {
    min-width: 0;
}

.home-thread-cell--starter,
.home-thread-cell--latest-avatar {
    display: flex;
    justify-content: center;
}

.home-thread-avatar img,
.home-thread-avatar .avatar-fallback {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 999px;
    border: 0;
    display: block;
}

.home-thread-avatar--latest img,
.home-thread-avatar--latest .avatar-fallback {
    width: 40px;
    height: 40px;
    border-radius: 999px;
}

.home-thread-title {
    margin-bottom: 6px;
}

.home-thread-title a {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    color: #fff1ca;
}

.home-thread-minor {
    color: var(--muted);
    font-size: 13px;
}

.home-thread-meta-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
}

.home-thread-meta-list a {
    color: #f0ddb2;
}

.home-thread-cell--meta {
    color: var(--muted);
    font-size: 13px;
}

.home-thread-cell--meta .pairs {
    margin: 0;
}

.home-thread-cell--latest {
    color: var(--muted);
    font-size: 13px;
}

.home-thread-latest-date {
    display: block;
    color: #f0ddb2;
    margin-bottom: 4px;
}

.home-thread-latest-user a {
    color: var(--text);
}

.home-thread-empty {
    padding: 18px 14px;
}

.home-thread-empty h2 {
    margin: 0 0 8px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    color: #fff1ca;
}

.home-thread-empty p {
    margin: 0;
    color: var(--muted);
}

.news-head {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 14px;
}

.news-head-main {
    min-width: 0;
    flex: 1 1 auto;
}

.news-title,
.list-item h3,
.member-card h2,
.file-card h2 {
    margin: 0 0 6px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    color: #fff1ca;
}

.panel h1,
.panel h2,
.form-panel h1,
.form-panel h2 {
    margin-top: 0;
    font-family: Georgia, "Times New Roman", serif;
    color: #f4edd7;
}

.news-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 10px;
    color: var(--muted);
    font-size: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding-bottom: 6px;
}

.news-meta a {
    color: inherit;
}

.news-author-avatar {
    flex: 0 0 auto;
}

.news-author-avatar img,
.news-author-avatar .avatar-fallback {
    width: 56px;
    height: 56px;
    object-fit: cover;
    border: 1px solid var(--border);
}

.news-copy p:last-child {
    margin-bottom: 0;
}

.list-item,
.download-row,
.member-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.block-body > .list-item:first-child,
.block-body > .download-row:first-child,
.block-body > .member-row:first-child {
    border-top: 0;
    padding-top: 0;
}

.list-main {
    min-width: 0;
}

.list-main p,
.list-meta,
.lead,
.eyebrow {
    color: var(--muted);
}

.muted-copy {
    margin: 0;
    color: var(--muted);
}

.list-meta {
    min-width: 150px;
    text-align: right;
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 12px;
}

.home-split-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.home-split-block {
    margin-bottom: 0;
}

.home-media-row {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 12px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.block-body > .home-media-row:first-child {
    border-top: 0;
    padding-top: 0;
}

.home-media-thumb img,
.home-media-avatar img {
    width: 88px;
    height: 88px;
    object-fit: cover;
    border: 1px solid var(--border);
    border-radius: 10px;
    display: block;
}

.home-media-thumb-fallback {
    width: 88px;
    height: 88px;
    display: grid;
    place-items: center;
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #6a6551;
    color: #f2e7c7;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-align: center;
}

.home-media-main {
    min-width: 0;
}

.home-media-main h3 {
    margin: 0 0 6px;
}

.home-media-main p {
    margin: 0;
    color: var(--muted);
}

.home-inline-user {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    color: var(--muted);
    font-size: 12px;
}

.home-inline-user img {
    width: 28px;
    height: 28px;
    object-fit: cover;
    border-radius: 999px;
    border: 1px solid var(--border);
    display: block;
}

.home-sidebar-mix {
    display: grid;
    gap: 18px;
}

.home-sidebar-section {
    display: grid;
    gap: 10px;
}

.home-sidebar-section + .home-sidebar-section {
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.home-sidebar-section-title {
    color: #e7dbb6;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.home-sidebar-item {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}

.home-sidebar-avatar img,
.home-sidebar-avatar .avatar-fallback {
    width: 44px;
    height: 44px;
    object-fit: cover;
    border-radius: 999px;
    border: 0;
    display: block;
}

.home-sidebar-main {
    min-width: 0;
}

.home-sidebar-main h3 {
    margin: 0 0 4px;
    font-size: 15px;
    line-height: 1.2;
}

.home-sidebar-main p {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
}

.online-user-list {
    display: grid;
    gap: 8px;
    margin-bottom: 10px;
}

.online-user-chip {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--text);
    text-decoration: none;
}

.online-user-chip img {
    width: 36px;
    height: 36px;
    object-fit: cover;
    border-radius: 999px;
    border: 1px solid var(--border);
    display: block;
}

.pairs {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
    padding: 5px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.pairs:first-of-type {
    border-top: 0;
    padding-top: 0;
}

.pairs dt,
.pairs dd {
    margin: 0;
}

.hero,
.two-up,
.profile-layout,
.downloads-layout,
.download-detail-layout,
.admin-stats,
.member-grid {
    display: grid;
    gap: 12px;
}

.two-up {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.profile-layout {
    grid-template-columns: 280px minmax(0, 1fr);
}

.downloads-layout {
    grid-template-columns: 260px minmax(0, 1fr);
    align-items: start;
}

.downloads-hub {
    display: grid;
    gap: 12px;
}

.downloads-hero {
    margin-bottom: 0;
    overflow: hidden;
}

.downloads-hero-body {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    background:
        radial-gradient(circle at top right, rgba(224, 194, 106, 0.18), transparent 28%),
        linear-gradient(135deg, #171a14, #2e2a1f 58%, #17140f);
}

.downloads-hero-copy {
    min-width: 0;
}

.downloads-hero-kicker,
.download-showcase-category {
    color: #ccb98b;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
}

.downloads-hero-copy h1 {
    margin: 4px 0 8px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 40px;
    color: #fff1ca;
}

.downloads-hero-copy p {
    margin: 0;
    max-width: 760px;
    color: #e1d5b1;
}

.downloads-hero-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(110px, 1fr));
    gap: 10px;
    flex: 0 0 auto;
}

.downloads-hero-stat {
    display: grid;
    gap: 4px;
    padding: 14px;
    min-width: 110px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.2);
    text-align: center;
}

.downloads-hero-stat span {
    color: var(--muted);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.downloads-hero-stat strong {
    font-size: 30px;
    line-height: 1;
    color: #fff1ca;
}

.downloads-layout--hub {
    grid-template-columns: 260px minmax(0, 1fr);
}

.downloads-nav,
.downloads-filter-block {
    margin-bottom: 0;
}

.downloads-main-stack {
    display: grid;
    gap: 12px;
}

.downloads-filter-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: end;
}

.downloads-filter-search {
    display: grid;
    gap: 6px;
    font-weight: 700;
    color: #f3eacd;
}

.downloads-filter-actions {
    display: flex;
    gap: 10px;
    align-items: center;
}

.downloads-card-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
}

.download-detail-layout {
    grid-template-columns: minmax(0, 1fr) 300px;
}

.admin-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.member-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.members-list-block {
    margin-bottom: 0;
}

.members-list-body {
    padding: 0;
}

.members-list-footer {
    padding: 16px 14px 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.members-list-head,
.members-list-row {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) 190px 180px 140px;
    gap: 14px;
    align-items: center;
    padding: 14px;
}

.members-list-head {
    background: rgba(255, 255, 255, 0.04);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.members-list-row {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.members-list-body .members-list-row:first-of-type {
    border-top: 0;
}

.members-list-col {
    min-width: 0;
}

.members-list-col--member {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
}

.members-list-avatar img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border: 1px solid var(--border);
    border-radius: 10px;
    display: block;
}

.members-list-main {
    min-width: 0;
}

.members-list-main h2 {
    margin: 0 0 6px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    color: #fff1ca;
}

.members-list-main p {
    margin: 0;
    color: var(--muted);
}

.members-list-col--joined {
    color: var(--muted);
    font-size: 13px;
}

.member-card,
.file-card {
    background: var(--panel-dark);
    border: 1px solid var(--border);
    padding: 12px;
    border-radius: var(--radius);
}

.file-card {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.page-admin-list {
    display: grid;
    gap: 8px;
}

.page-admin-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 12px;
    margin-left: calc(var(--page-depth, 0) * 18px);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background:
        linear-gradient(90deg, rgba(228, 196, 120, 0.12), transparent 28%),
        var(--panel-dark);
    box-shadow: inset 4px 0 0 rgba(228, 196, 120, 0.18);
}

.page-admin-row-main {
    min-width: 0;
}

.page-admin-row-kicker {
    margin-bottom: 3px;
    color: #ccb98b;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.page-admin-row h2 {
    margin: 0 0 2px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    color: #fff1ca;
}

.page-admin-row-path {
    margin: 0 0 6px;
    color: #f1ddb1;
    word-break: break-all;
    font-size: 12px;
}

.page-admin-row-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.page-admin-row-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(255, 241, 202, 0.08);
    color: var(--muted);
    font-size: 11px;
}

.admin-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 14px;
}

.admin-console-hero {
    overflow: hidden;
}

.admin-console-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) 320px;
    gap: 18px;
    align-items: start;
}

.admin-console-kicker {
    color: #ccb98b;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-console-hero-copy h1 {
    margin: 6px 0 10px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 38px;
    color: #fff1ca;
}

.admin-console-hero-copy p {
    margin: 0 0 14px;
    color: #e2d8bb;
    max-width: 720px;
}

.admin-console-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.admin-console-alerts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.admin-console-alert {
    display: grid;
    gap: 4px;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.16);
}

.admin-console-alert.is-hot {
    border-color: rgba(170, 60, 52, 0.75);
    background: rgba(120, 34, 28, 0.22);
}

.admin-console-alert-label {
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-console-alert strong {
    font-size: 28px;
    color: #fff1ca;
    line-height: 1;
}

.admin-console-stats {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
}

.admin-console-stat {
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.03);
}

.admin-console-stat span {
    display: block;
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-console-stat strong {
    display: block;
    margin-top: 6px;
    font-size: 28px;
    color: #fff1ca;
}

.admin-console-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 12px;
}

.admin-console-link-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.admin-console-link-grid a {
    display: block;
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.03);
    color: #f1e7c8;
}

.header-links-form {
    display: grid;
    gap: 18px;
}

.header-links-subhead {
    color: #ccb98b;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.header-links-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
}

.header-link-card {
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(0, 0, 0, 0.16)),
        rgba(0, 0, 0, 0.12);
}

.header-link-card-main {
    display: grid;
    gap: 12px;
}

.header-link-title {
    display: grid;
    gap: 4px;
}

.header-link-title strong {
    color: var(--heading);
}

.header-link-title small {
    color: var(--muted);
}

.header-link-order {
    display: grid;
    gap: 6px;
}

.header-link-order span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.header-link-editor {
    display: grid;
    gap: 10px;
}

.header-link-editor summary {
    width: fit-content;
    list-style: none;
    cursor: pointer;
}

.header-link-editor summary::-webkit-details-marker {
    display: none;
}

.header-link-editor-form {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.03);
}

.downloads-list-body {
    padding-top: 8px;
}

.download-showcase-card {
    position: relative;
    display: block;
    padding: 12px;
    border: 1px solid var(--border);
    background:
        linear-gradient(180deg, rgba(22, 20, 15, 0.86), rgba(22, 20, 15, 0.86)),
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(0, 0, 0, 0.2)),
        var(--download-card-bg),
        var(--panel-dark);
    background-size: auto, auto, cover, auto;
    background-position: center center;
    background-repeat: no-repeat;
    overflow: hidden;
}

.download-showcase-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.18));
    pointer-events: none;
}

.download-showcase-body {
    position: relative;
    display: grid;
    gap: 8px;
    min-width: 0;
    overflow: hidden;
}

.download-showcase-topline,
.download-showcase-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px 12px;
    color: var(--muted);
    font-size: 12px;
    min-width: 0;
}

.download-showcase-body h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 26px;
    color: #fff1ca;
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.download-showcase-copy {
    margin: 0;
    color: #e4dcc2;
    line-height: 1.65;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.js-player,
.plyr {
    width: 100%;
}

.download-showcase-category,
.download-showcase-size,
.download-showcase-meta span {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: center;
    margin: 18px 0 10px;
    padding: 14px 0 0;
    border-top: 0;
}

.pagination-link,
.pagination-current,
.pagination-ellipsis {
    min-width: 36px;
    padding: 8px 10px;
    text-align: center;
}

.pagination-link {
    background: rgba(0, 0, 0, 0.18);
    border: 1px solid var(--border);
    color: var(--text);
}

.downloads-layout .pagination-link,
.downloads-layout .button-link,
.downloads-layout .pagination-current {
    opacity: 1;
}

.pagination-current {
    background: linear-gradient(180deg, #6f673f, #5b532f);
    border: 1px solid var(--border);
    color: #fff3cf;
    font-weight: 700;
}

.pagination-ellipsis {
    color: var(--muted);
}

.member-card p,
.file-card p {
    margin: 0 0 6px;
}

.stack-form-group {
    margin: 0;
    padding: 12px;
    border: 1px solid var(--border);
    display: grid;
    gap: 12px;
}

.stack-form-group legend {
    padding: 0 6px;
}

.file-meta,
.admin-actions {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    color: var(--muted);
}

.admin-actions form {
    margin: 0;
}

.block-body > .file-card:first-of-type {
    margin-top: 0;
}

.block-body > .file-card + .file-card {
    margin-top: 12px;
}

.profile-avatar,
.member-card img,
.image-grid img {
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.profile-status-badge {
    display: inline-block;
    padding: 4px 8px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.18);
    color: #efe4c5;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.profile-status-badge.is-active {
    background: #48573a;
}

.profile-status-badge.is-banned {
    background: #6d3f35;
}

.profile-mono {
    font-family: Consolas, "Courier New", monospace;
    font-size: 12px;
    overflow-wrap: anywhere;
}

.profile-showcase {
    display: grid;
    gap: 16px;
}

.profile-showcase-hero {
    position: relative;
    overflow: hidden;
    border: 1px solid #000;
    background:
        radial-gradient(circle at top left, rgba(224, 194, 106, 0.18), transparent 34%),
        radial-gradient(circle at top right, rgba(111, 74, 53, 0.3), transparent 30%),
        linear-gradient(135deg, #121611, #252318 55%, #16140f);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
}

.profile-showcase-backdrop {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 22px 22px;
    opacity: 0.25;
    pointer-events: none;
}

.profile-showcase-grid {
    position: relative;
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 22px;
    padding: 24px;
    align-items: center;
}

.profile-showcase-avatar-wrap {
    display: grid;
    place-items: center;
}

.profile-showcase-avatar,
.profile-showcase-avatar-fallback {
    width: 220px;
    height: 220px;
    border: 3px solid #7c6935;
    box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.45), 0 18px 36px rgba(0, 0, 0, 0.35);
    background: #000;
}

.profile-showcase-avatar {
    object-fit: cover;
}

.profile-showcase-main {
    display: grid;
    gap: 12px;
    align-content: center;
}

.profile-showcase-kicker,
.profile-panel-kicker,
.profile-stat-label,
.profile-intel-label,
.profile-showcase-meta-label {
    color: #ccb98b;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
}

.profile-showcase-name {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 7vw, 68px);
    line-height: 0.96;
    color: #fff1ca;
    text-shadow: 0 2px 0 rgba(0, 0, 0, 0.4);
}

.profile-showcase-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.profile-showcase-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.profile-showcase-meta-item {
    display: grid;
    gap: 5px;
    padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.22);
    min-width: 0;
}

.profile-showcase-meta-value {
    color: #f1e6c6;
}

.profile-showcase-alert {
    padding: 12px 14px;
    border: 1px solid rgba(145, 70, 52, 0.8);
    background: rgba(111, 74, 53, 0.3);
    color: #f5dfcb;
}

.profile-showcase-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.profile-stat-panel {
    display: grid;
    gap: 6px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background:
        linear-gradient(180deg, rgba(224, 194, 106, 0.08), rgba(0, 0, 0, 0.2)),
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(0, 0, 0, 0.18));
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03);
}

.profile-stat-panel strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 34px;
    line-height: 1;
    color: #fff1ca;
}

.profile-stat-link {
    color: inherit;
    text-decoration: none;
}

.profile-stat-link:hover,
.profile-stat-link:focus-visible {
    text-decoration: underline;
}

.profile-showcase-layout {
    display: grid;
    grid-template-columns: 360px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.profile-showcase-side,
.profile-showcase-mainfeed {
    display: grid;
    gap: 16px;
}

.error-page {
    display: grid;
    place-items: center;
    min-height: 60vh;
}

.error-page-hero {
    width: min(760px, 100%);
    padding: 36px 28px;
    text-align: center;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background:
        radial-gradient(circle at top, rgba(224, 194, 106, 0.18), transparent 55%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(0, 0, 0, 0.22));
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03);
}

.error-page-kicker {
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 11px;
    color: var(--muted);
}

.error-page-code {
    margin-top: 10px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(64px, 14vw, 132px);
    line-height: 0.95;
    color: #fff1ca;
}

.error-page-hero h1 {
    margin: 10px 0 12px;
}

.error-page-hero p {
    max-width: 52ch;
    margin: 0 auto;
    color: var(--muted);
}

.error-page-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 22px;
}

.profile-panel {
    position: relative;
    overflow: hidden;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(0, 0, 0, 0.24)),
        #373326;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.25);
}

.profile-panel::before {
    content: "";
    position: absolute;
    top: 0;
    left: 18px;
    width: 64px;
    height: 3px;
    background: #e0c26a;
}

.profile-panel--intel {
    background:
        linear-gradient(180deg, rgba(224, 194, 106, 0.1), rgba(0, 0, 0, 0.24)),
        #373326;
}

.profile-panel-heading {
    display: grid;
    gap: 5px;
    margin-bottom: 16px;
}

.profile-panel-heading--split {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 10px;
}

.profile-panel-heading h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
    color: #fff1ca;
}

.profile-intel-grid {
    display: grid;
    gap: 10px;
}

.profile-intel-card {
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.18);
}

.profile-intel-card strong {
    color: #f7ebc9;
}

.profile-bio-copy {
    color: #f0e7cf;
    line-height: 1.8;
}

.profile-feed {
    display: grid;
    gap: 0;
}

.profile-feed-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: start;
    padding: 14px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.profile-feed-row:first-child {
    border-top: 0;
    padding-top: 0;
}

.profile-feed-row--media {
    grid-template-columns: minmax(0, 1fr) 132px;
}

.profile-feed-main {
    min-width: 0;
}

.profile-feed-main h3 {
    margin: 0 0 4px;
    font-size: 21px;
    color: #fff1ca;
}

.profile-feed-main p,
.profile-feed-side {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
}

.profile-feed-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.profile-feed-tags span {
    padding: 4px 8px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.18);
    color: #f0e4bf;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.profile-feed-thumb-wrap {
    display: grid;
    place-items: center;
}

.profile-feed-thumb {
    width: 120px;
    height: 90px;
    object-fit: cover;
    border: 1px solid var(--border);
}

.profile-post-snippet {
    margin-top: 10px;
    color: #f1e7d0;
    line-height: 1.75;
}

.stack-form {
    display: grid;
    gap: 12px;
}

.stack-form label {
    display: grid;
    gap: 5px;
    font-weight: 700;
    color: #f3eacd;
}

input,
textarea,
select {
    width: 100%;
    background: #d7ccb0;
    color: #1b1711;
    border: 1px solid #1a150f;
    padding: 9px 10px;
    font: inherit;
    border-radius: var(--radius);
}

.is-disabled-input,
input:disabled,
textarea:disabled,
select:disabled {
    background: #b9b09a;
    color: #5b5345;
    cursor: not-allowed;
    opacity: 1;
}

textarea {
    resize: vertical;
}

.turnstile-wrap {
    margin-top: 4px;
}

.creator-picker {
    display: grid;
    gap: 8px;
}

.creator-picker-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.creator-picker-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.2);
    color: #f3eacd;
}

.creator-picker-remove {
    padding: 2px 7px;
    border-radius: 999px;
    line-height: 1;
}

.plain-list,
.category-tree {
    margin: 0;
    padding-left: 18px;
}

.category-tree ul {
    margin-top: 6px;
    padding-left: 18px;
}

.image-grid {
    grid-template-columns: repeat(4, 160px);
    gap: 8px;
    justify-content: center;
    justify-items: center;
    width: fit-content;
    margin: 0 auto;
}

.info-list {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 6px 12px;
}

.info-list dt {
    font-weight: 700;
}

.info-list dd {
    margin: 0;
    word-break: break-word;
}

.narrow {
    max-width: 700px;
}

.full-width {
    width: 100%;
    text-align: center;
}

.site-footer {
    margin-top: auto;
    background: #12140f;
    border-top: 1px solid #000;
}

.footer-inner {
    padding: 18px 0 30px;
}

.footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 14px;
}

.footer-copy {
    color: #b4a98d;
    font-size: 12px;
}

.page-sidebar .block {
    background: #3f3d31;
}

.page-sidebar .block-header {
    font-size: 15px;
}

.page-sidebar p {
    margin-top: 0;
}

.downloads-layout .panel > h1,
.download-detail-layout .panel > h1,
.profile-layout .panel > h2,
.profile-layout .panel > h1 {
    margin-bottom: 10px;
}

.stack-column {
    display: grid;
    gap: 12px;
    align-content: start;
}

.download-cta {
    text-align: center;
    width: 100%;
    margin-top: -2px;
}

.centered-actions {
    display: grid;
    justify-content: center;
    gap: 10px;
    text-align: center;
}

.centered-actions form {
    margin: 0;
}

.moderation-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.moderation-actions form {
    margin: 0;
}

.asset-block {
    margin: 12px 0 0;
}

.image-manager-grid {
    display: grid;
    grid-template-columns: repeat(4, 160px);
    gap: 12px;
    justify-content: center;
    padding-top: 4px;
}

.image-manager-card {
    display: grid;
    gap: 8px;
    justify-items: center;
    text-align: center;
}

.image-manager-card img {
    width: 160px;
    height: 120px;
    object-fit: cover;
    border: 1px solid var(--border);
}

.image-thumb {
    width: 160px;
    height: 120px;
    box-sizing: border-box;
    padding: 0;
    border: 1px solid var(--border);
    background: #211d16;
    cursor: pointer;
}

.image-thumb img {
    display: block;
    width: 160px;
    height: 120px;
    object-fit: cover;
    border: 0;
}

.lightbox-open {
    overflow: hidden;
}

.lightbox-overlay {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(0, 0, 0, 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 32px;
}

.lightbox-overlay[hidden] {
    display: none !important;
}

.lightbox-figure {
    margin: 0;
    max-width: calc(100vw - 220px);
    max-height: calc(100vh - 80px);
}

.lightbox-figure img {
    max-width: 100%;
    max-height: calc(100vh - 80px);
    object-fit: contain;
    border: 1px solid #4f452f;
}

.lightbox-close,
.lightbox-nav {
    background: #5b532f;
    border: 1px solid #1b160f;
    color: #fff3cf;
    width: 42px;
    height: 42px;
    font-size: 28px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.lightbox-close {
    position: absolute;
    top: 16px;
    right: 16px;
}

.category-tree a {
    color: #f0d281;
}

.info-list,
.pairs {
    font-size: 13px;
}

.flash,
.message-like {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.archive-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 8px;
}

.archive-table th,
.archive-table td {
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 8px 10px;
    text-align: left;
    vertical-align: top;
}

.archive-table th {
    background: rgba(0, 0, 0, 0.18);
    color: #f4edd7;
}

.member-activity-table td {
    word-break: break-word;
}

.member-activity-image-cell {
    width: 160px;
    min-width: 160px;
    height: 120px;
    padding: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: rgba(255, 255, 255, 0.04);
    overflow: hidden;
}

.member-activity-thumb {
    display: block;
    width: 100%;
    height: 100%;
}

.member-activity-image-cell--empty {
    background-image:
        linear-gradient(135deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02)),
        repeating-linear-gradient(
            -45deg,
            rgba(255, 255, 255, 0.03) 0,
            rgba(255, 255, 255, 0.03) 8px,
            transparent 8px,
            transparent 16px
        );
}

.master-server-status {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 11px;
    font-weight: 700;
}

.master-server-row--suggested td,
.master-server-row--refugee td {
    background: color-mix(in srgb, var(--master-server-row-color, #5e5e5e) 24%, transparent);
    box-shadow: inset 0 1px 0 color-mix(in srgb, var(--master-server-row-color, #5e5e5e) 40%, rgba(255, 243, 207, 0.08));
}

.master-list-about ul,
.master-list-about ol {
    margin: 10px 0 0 20px;
}

.master-list-about li + li {
    margin-top: 10px;
}

.master-list-legend {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 8px;
}

.master-list-legend-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.master-list-legend-swatch {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    border: 1px solid rgba(255, 255, 255, 0.14);
}

.master-server-status--online {
    background: rgba(58, 106, 45, 0.35);
    color: #dff2c8;
}

.master-server-status--offline {
    background: rgba(120, 34, 28, 0.28);
    color: #ffd7cf;
}

.master-server-status--unknown {
    background: rgba(255, 255, 255, 0.06);
    color: #f1e7c8;
}

.master-server-detail-page {
    display: grid;
    gap: 16px;
}

.master-server-hero-body {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
}

.master-server-hero-art {
    position: relative;
    min-height: 240px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border: 1px solid rgba(255, 255, 255, 0.1);
    overflow: hidden;
}

.master-server-hero-art--empty {
    background-image:
        linear-gradient(135deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02)),
        repeating-linear-gradient(
            -45deg,
            rgba(255, 255, 255, 0.03) 0,
            rgba(255, 255, 255, 0.03) 8px,
            transparent 8px,
            transparent 16px
        );
}

.master-server-hero-map {
    position: absolute;
    right: 10px;
    bottom: 10px;
    color: rgba(255, 255, 255, 0.8);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.9);
    font-size: 14px;
    font-weight: 700;
    text-align: right;
}

.master-server-kicker {
    color: var(--muted);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 700;
}

.master-server-hero-copy {
    display: grid;
    gap: 12px;
}

.master-server-hero-copy h1 {
    margin: 0;
}

.master-server-hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.master-server-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap: 16px;
}

.master-server-stat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.master-server-stat-card {
    display: grid;
    gap: 6px;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.03);
}

.master-server-stat-card span {
    color: var(--muted);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.master-server-stat-card strong {
    font-size: 22px;
    color: #fff1ca;
}

.master-server-player-list {
    margin: 0;
    padding-left: 20px;
}

.master-server-player-list li + li {
    margin-top: 6px;
}

.archive-path {
    width: 60%;
}

.archive-md5 {
    font-family: Consolas, "Courier New", monospace;
    font-size: 12px;
    color: var(--muted);
    word-break: break-all;
}

.description-text {
    white-space: pre-line;
}

.markdown-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: -4px;
}

.markdown-toolbar button {
    padding: 6px 10px;
}

.markdown-body p:first-child,
.markdown-body h1:first-child,
.markdown-body h2:first-child,
.markdown-body h3:first-child {
    margin-top: 0;
}

.markdown-body ul {
    margin: 0 0 1em 1.2em;
}

.markdown-body table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 1em;
}

.markdown-body th,
.markdown-body td {
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 8px 10px;
    text-align: left;
    vertical-align: top;
}

.markdown-body th {
    background: rgba(0, 0, 0, 0.18);
    color: #f4edd7;
}

.markdown-body blockquote {
    margin: 0 0 1em;
    padding-left: 12px;
    border-left: 3px solid var(--border-soft);
    color: var(--muted);
}

.embedded-video-block {
    margin: 0 0 1.25em;
    text-align: center;
}

.embedded-video-player-wrap {
    width: 600px;
    max-width: 100%;
    margin: 0 auto;
}

.embedded-video-player-wrap .plyr,
.embedded-video-player-wrap video {
    width: 600px;
    max-width: 100%;
    height: 350px;
    margin: 0 auto;
    background: #000;
}

.embedded-video-cta {
    margin-top: 12px;
}

.markdown-body code {
    padding: 1px 4px;
    background: rgba(0, 0, 0, 0.3);
}

.forum-inline-image {
    display: block;
    max-width: 100%;
    width: auto;
    height: auto;
    margin: 12px auto;
    border: 1px solid var(--border);
}

.file-info-list {
    display: grid;
    gap: 10px;
}

.file-info-row {
    display: grid;
    gap: 4px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.file-info-row:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.file-info-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
}

.file-info-value {
    color: var(--text);
}

.creator-display-lines {
    display: grid;
    gap: 4px;
}

.creator-line {
    line-height: 1.5;
}

.file-info-hash {
    font-family: Consolas, "Courier New", monospace;
    font-size: 12px;
    line-height: 1.6;
    color: #f0e4bf;
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 8px;
    overflow-wrap: anywhere;
}

.forum-overview {
    display: grid;
    gap: 12px;
}

.forum-category-block {
    margin-bottom: 0;
}

.forum-category-body {
    padding: 0;
}

.forum-node-row {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 150px 280px;
    align-items: center;
    gap: 14px;
    padding: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.forum-category-body .forum-node-row:first-child {
    border-top: 0;
}

.forum-node-icon {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
}

.forum-node-main {
    min-width: 0;
}

.forum-node-title {
    margin: 0 0 4px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    color: #fff1ca;
}

.forum-node-description {
    color: var(--muted);
}

.forum-subnodes {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
    color: var(--muted);
    font-size: 13px;
}

.forum-subnodes-label {
    font-weight: 700;
    color: #d9c59a;
}

.forum-subnodes-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.forum-subnodes-list li {
    margin: 0;
    padding: 0;
}

.forum-subnodes-list a {
    color: #e4d1a4;
}

.forum-node-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.forum-stat {
    margin: 0;
    text-align: center;
}

.forum-stat dt {
    margin: 0 0 2px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.forum-stat dd {
    margin: 0;
    color: #f3e8c5;
    font-size: 18px;
    font-weight: 700;
}

.forum-node-latest {
    min-width: 0;
    color: var(--muted);
    font-size: 12px;
}

.forum-latest-title {
    margin-bottom: 4px;
    line-height: 1.35;
}

.forum-latest-title a {
    color: #f1dfae;
    font-weight: 700;
}

.forum-latest-meta,
.forum-latest-empty {
    color: var(--muted);
}

.forum-latest-meta {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
}

.forum-latest-user {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-right: 10px;
}

.forum-latest-user img {
    width: 20px;
    height: 20px;
    object-fit: cover;
    border-radius: 999px;
    border: 1px solid var(--border);
    display: block;
}

.forum-latest-avatar-fallback {
    font-size: 7px;
    letter-spacing: 0;
}

.forum-latest-separator {
    margin: 0 4px;
}

.forum-file-embed {
    margin: 12px auto;
    max-width: 760px;
    text-align: center;
}

.forum-file-embed-images {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

.forum-file-embed-image-button {
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.forum-file-embed-images img {
    width: 160px;
    height: 120px;
    object-fit: cover;
    border: 1px solid var(--border);
    display: block;
}

.forum-file-embed-empty {
    color: var(--muted);
}

.forum-file-embed-actions {
    margin-top: 12px;
}

.forum-file-embed-actions a {
    font-weight: 700;
}

.forum-view,
.thread-view {
    display: grid;
    gap: 12px;
}

.forum-view-header,
.thread-view-header {
    margin-bottom: 0;
}

.forum-view-header-body {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 16px;
}

.forum-view-heading {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}

.forum-view-heading-copy {
    min-width: 0;
}

.forum-view-title,
.thread-view-title {
    margin: 0 0 6px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    color: #fff1ca;
}

.forum-view-description,
.thread-view-meta {
    color: var(--muted);
}

.thread-view-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.forum-thread-block {
    margin-bottom: 0;
}

.forum-thread-list {
    padding: 0;
}

.forum-thread-row {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 150px 220px;
    gap: 14px;
    align-items: center;
    padding: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.forum-thread-list .forum-thread-row:first-child {
    border-top: 0;
}

.forum-thread-icon {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
}

.forum-page-icon {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    flex: 0 0 auto;
}

.forum-thread-main,
.forum-thread-latest {
    min-width: 0;
}

.forum-thread-title {
    margin: 0 0 4px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    color: #fff1ca;
}

.forum-thread-meta {
    color: var(--muted);
    font-size: 12px;
}

.forum-thread-counts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.forum-empty {
    padding: 12px;
    color: var(--muted);
}

.forum-anchor {
    display: block;
    position: relative;
    top: -80px;
    visibility: hidden;
}

.forum-admin-card {
    align-items: flex-start;
}

.forum-admin-card--depth1 {
    margin-left: 24px;
}

.forum-admin-card--depth2 {
    margin-left: 48px;
}

.forum-admin-card--depth3 {
    margin-left: 72px;
}

.forum-admin-main {
    flex: 1 1 auto;
    min-width: 0;
}

.forum-admin-main h2 {
    margin: 0 0 6px;
}

.forum-admin-main p {
    margin: 0 0 8px;
}

.forum-admin-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    color: var(--muted);
    font-size: 12px;
}

.forum-permission-card {
    display: grid;
    gap: 14px;
}

.forum-permission-card + .forum-permission-card {
    margin-top: 12px;
}

.forum-permission-card--depth1 {
    margin-left: 24px;
}

.forum-permission-card--depth2 {
    margin-left: 48px;
}

.forum-permission-card--depth3 {
    margin-left: 72px;
}

.forum-permission-header {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: start;
}

.forum-permission-header h2 {
    margin: 0 0 6px;
}

.forum-permission-header p {
    margin: 0;
}

.forum-permission-table {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) 100px 100px 120px;
    gap: 8px 12px;
    align-items: center;
}

.submission-permission-table {
    display: grid;
    grid-template-columns: minmax(160px, 1fr) 110px 110px;
    gap: 8px 12px;
    align-items: center;
    margin-bottom: 16px;
}

.submission-permission-table-head {
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.forum-permission-table-head {
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.forum-permission-principal {
    color: var(--text);
}

.forum-permission-cell {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
}

.forum-permission-cell .toggle-switch,
.submission-toggle-cell .toggle-switch {
    margin: 0 auto;
}

.submission-toggle-cell {
    display: flex;
    justify-content: center;
    align-items: center;
}

.thread-messages {
    margin-bottom: 0;
}

.thread-messages-body {
    padding: 0;
}

.thread-message {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.thread-messages-body .thread-message:first-child {
    border-top: 0;
}

.thread-message-inner {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    min-width: 0;
}

.thread-message-user {
    background: rgba(0, 0, 0, 0.14);
    border-right: 1px solid rgba(255, 255, 255, 0.08);
    padding: 12px;
    display: grid;
    gap: 12px;
    align-content: start;
    justify-items: center;
    text-align: center;
}

.thread-message-avatar img {
    width: 128px;
    height: 128px;
    object-fit: cover;
    border: 1px solid var(--border);
}

.thread-message-username {
    margin: 0 0 4px;
    font-size: 22px;
    color: #fff1ca;
}

.thread-message-user-title,
.thread-message-user-stats {
    color: var(--muted);
    font-size: 12px;
}

.thread-message-user-stats {
    display: grid;
    gap: 6px;
    margin-top: 8px;
}

.thread-message-user-details {
    width: 100%;
}

.thread-message-main {
    min-width: 0;
    padding: 12px;
}

.thread-message-attribution {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding-bottom: 6px;
    margin-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    color: var(--muted);
    font-size: 12px;
}

.thread-message-attribution-main,
.thread-message-attribution-actions,
.thread-message-edit-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.thread-message-attribution-actions form {
    margin: 0;
}

.thread-message-inline-button {
    background: transparent;
    border: 0;
    color: #d6b36a;
    padding: 0;
    cursor: pointer;
    font: inherit;
}

.thread-message-content iframe {
    display: block;
    max-width: 100%;
    margin: 8px 0;
    border: 0;
}

.thread-message-content {
    color: var(--text);
}

.group-badge {
    --group-accent: #c89b3c;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border-radius: 999px;
    border: 1px solid var(--group-accent);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(0, 0, 0, 0.18)), var(--group-accent);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18), 0 0 0 1px rgba(0, 0, 0, 0.18);
    color: #fff7df;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.group-form-panel {
    max-width: none;
}

.group-form-grid {
    gap: 16px;
}

.group-color-row {
    display: grid;
    grid-template-columns: 56px minmax(0, 220px);
    gap: 10px;
    align-items: center;
}

.group-color-row input[type="color"] {
    inline-size: 56px;
    block-size: 40px;
    padding: 0;
    border-radius: 10px;
    border: 1px solid var(--border);
    background: transparent;
    cursor: pointer;
}

.group-toggle-list {
    display: grid;
    gap: 12px;
}

.toggle-field {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.03);
}

.toggle-text {
    display: grid;
    gap: 4px;
}

.toggle-text strong {
    color: var(--heading);
}

.toggle-text small {
    color: var(--muted);
}

.toggle-switch {
    position: relative;
    inline-size: 58px;
    block-size: 32px;
    flex: 0 0 auto;
}

.toggle-switch input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    margin: 0;
}

.toggle-slider {
    position: absolute;
    inset: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    transition: background 0.18s ease;
}

.toggle-slider::before {
    content: "";
    position: absolute;
    top: 4px;
    left: 4px;
    inline-size: 24px;
    block-size: 24px;
    border-radius: 50%;
    background: #fff9e8;
    transition: transform 0.18s ease;
}

.toggle-switch input:checked + .toggle-slider {
    background: linear-gradient(135deg, #d4aa58, #8e6b29);
}

.toggle-switch input:checked + .toggle-slider::before {
    transform: translateX(26px);
}

.group-button-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.group-button-row > * {
    margin: 0;
}

.admin-member-search-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: end;
    margin-bottom: 12px;
}

.admin-member-search-field {
    min-width: 0;
}

.admin-member-search-actions {
    flex-wrap: nowrap;
    align-items: center;
}

.discord-widget {
    display: grid;
    gap: 10px;
}

.game-server-widget-list {
    display: grid;
    gap: 12px;
}

.game-server-widget-card {
    display: grid;
    gap: 12px;
    justify-items: center;
    text-align: center;
}

.game-server-widget-thumb {
    display: block;
    width: 200px;
    height: 150px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.16);
}

.game-server-widget-thumb img {
    display: block;
    width: 200px;
    height: 150px;
    object-fit: cover;
}

.game-server-widget-thumb-placeholder {
    display: grid;
    place-items: center;
    width: 200px;
    height: 150px;
    padding: 10px;
    text-align: center;
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02)),
        repeating-linear-gradient(
            -45deg,
            rgba(255, 255, 255, 0.03) 0,
            rgba(255, 255, 255, 0.03) 8px,
            transparent 8px,
            transparent 16px
        );
}

.game-server-widget-copy {
    display: grid;
    gap: 4px;
    min-width: 0;
    justify-items: center;
}

.game-server-widget-copy strong {
    color: var(--heading);
}

.game-server-widget-copy span,
.game-server-widget-copy a {
    overflow-wrap: anywhere;
}

.discord-widget-cta {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    font-weight: 700;
}

.discord-widget-cta a {
    color: #fff1ca;
}

.discord-member-list {
    display: grid;
    gap: 8px;
}

.discord-member-row {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.16);
}

.discord-member-row img,
.discord-member-avatar-fallback {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    display: block;
    object-fit: cover;
}

.discord-member-name {
    min-width: 0;
    color: var(--text);
    font-weight: 700;
    overflow-wrap: anywhere;
}

.discord-member-row--online {
    border-left: 4px solid #42ff00;
}

.discord-member-row--idle {
    border-left: 4px solid #f6ff00;
}

.discord-member-row--dnd {
    border-left: 4px solid #ff0000;
}

.discord-member-row--offline,
.discord-member-row--unavailable {
    border-left: 4px solid #9ca3af;
}

.discord-member-tile.discord-member-row--online {
    border-left: 4px solid #42ff00;
}

.discord-member-tile.discord-member-row--idle {
    border-left: 4px solid #f6ff00;
}

.discord-member-tile.discord-member-row--dnd {
    border-left: 4px solid #ff0000;
}

.discord-member-tile.discord-member-row--offline,
.discord-member-tile.discord-member-row--unavailable {
    border-left: 4px solid #9ca3af;
}

.discord-widget-legend {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
    font-size: 12px;
    color: var(--muted);
    text-align: center;
}

.discord-widget-legend-item {
    font-weight: 700;
}

.discord-widget-legend-item + .discord-widget-legend-item::before {
    content: "\2022";
    display: inline-block;
    margin-right: 12px;
    color: rgba(255, 255, 255, 0.45);
}

.discord-widget-legend-item--online {
    color: #42ff00;
}

.discord-widget-legend-item--idle {
    color: #f6ff00;
}

.discord-widget-legend-item--dnd {
    color: #ff0000;
}

.discord-widget-legend-item--offline {
    color: #9ca3af;
}

.gameservers-page {
    display: grid;
    gap: 14px;
}

.server-list {
    display: grid;
    gap: 14px;
}

.server-list-card {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(0, 0, 0, 0.18)),
        rgba(0, 0, 0, 0.16);
}

.server-list-map {
    position: relative;
    min-height: 220px;
    background-color: rgba(0, 0, 0, 0.22);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.server-list-map--empty {
    background-image:
        linear-gradient(135deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02)),
        repeating-linear-gradient(
            -45deg,
            rgba(255, 255, 255, 0.03) 0,
            rgba(255, 255, 255, 0.03) 10px,
            transparent 10px,
            transparent 20px
        );
}

.server-list-overlay {
    display: grid;
    gap: 14px;
    min-height: 220px;
    padding: 18px;
    background: linear-gradient(180deg, rgba(7, 11, 18, 0.2), rgba(7, 11, 18, 0.88));
}

.server-list-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.server-list-heading {
    display: grid;
    gap: 4px;
}

.server-list-heading h2 {
    margin: 0;
    color: #fff4d9;
    font-size: 24px;
    line-height: 1.1;
}

.server-list-kicker {
    color: #ccb98b;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.server-list-description {
    max-width: 62ch;
    margin: 0;
    color: rgba(255, 245, 220, 0.88);
}

.server-list-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: auto;
}

.server-list-stat {
    display: grid;
    gap: 4px;
    min-width: 140px;
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(9, 13, 19, 0.5);
}

.server-list-stat strong,
.server-list-stat a {
    color: #f5edd4;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
}

.server-list-stat a:hover,
.server-list-address a:hover {
    color: #ffffff;
}

.server-list-stat-label {
    color: #ccb98b;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.server-list-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 18px 16px;
}

.server-list-address {
    display: grid;
    gap: 4px;
}

.server-list-address a,
.server-list-address span:last-child {
    color: #f5edd4;
    font-weight: 700;
    text-decoration: none;
}

.server-list-note {
    color: rgba(255, 245, 220, 0.72);
    font-size: 12px;
}

.gameservers-discord-card {
    display: grid;
    gap: 12px;
}

.gameservers-discord-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.gameservers-discord-copy {
    display: grid;
    gap: 4px;
}

.gameservers-discord-copy h1,
.gameservers-discord-copy h2 {
    margin: 0;
}

.gameservers-discord-link {
    color: #fff1ca;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    font-weight: 700;
}

.discord-members-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}

.gameservers-table {
    table-layout: fixed;
}

.discord-member-tile {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.16);
}

.discord-member-tile img {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    display: block;
    object-fit: cover;
}

.gameserver-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 12px;
}

.gameserver-card {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(0, 0, 0, 0.16)),
        rgba(0, 0, 0, 0.12);
}

.gameserver-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.gameserver-card-head h2 {
    margin: 0;
    font-size: 20px;
}

.gameserver-kicker {
    display: block;
    margin-bottom: 4px;
    color: #ccb98b;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.gameserver-status-badge {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: rgba(156, 163, 175, 0.18);
    color: #d1d5db;
}

.gameserver-status-badge--online {
    background: rgba(66, 255, 0, 0.14);
    color: #b9ff9a;
}

.gameserver-status-badge--offline {
    background: rgba(156, 163, 175, 0.16);
    color: #d1d5db;
}

.gameserver-status-badge--maintenance {
    background: rgba(246, 255, 0, 0.12);
    color: #fbffae;
}

.gameserver-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.gameserver-meta div {
    display: grid;
    gap: 4px;
}

.gameserver-meta dt {
    margin: 0;
    color: #ccb98b;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.gameserver-meta dd {
    margin: 0;
    color: #f3eacd;
}

.gameserver-card p {
    margin: 0;
}

.gameserver-admin-status {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    font-size: 12px;
    font-weight: 700;
}

.downloads-nav-stack {
    display: grid;
    gap: 12px;
    align-content: start;
}

.downloads-submit-button {
    display: block;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    background: linear-gradient(180deg, #4f8dff, #2d63d6);
    border-color: #2149a8;
    color: #f7fbff;
}

.downloads-submit-button:hover {
    background: linear-gradient(180deg, #669dff, #396fe3);
    border-color: #2a57bf;
    color: #ffffff;
}

.server-map-cell {
    width: 240px;
    min-width: 240px;
    height: 120px;
    padding: 0;
    vertical-align: bottom;
    background-color: rgba(0, 0, 0, 0.18);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;
}

.server-map-cell--has-image {
    position: relative;
}

.server-map-cell--empty {
    background-image:
        linear-gradient(135deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02)),
        repeating-linear-gradient(
            -45deg,
            rgba(255, 255, 255, 0.03) 0,
            rgba(255, 255, 255, 0.03) 8px,
            transparent 8px,
            transparent 16px
        );
}

.server-map-surface {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    width: 100%;
    height: 120px;
    padding: 8px;
    box-sizing: border-box;
    text-decoration: none;
}

.server-map-name {
    display: inline-block;
    max-width: 100%;
    padding: 0;
    background: transparent;
    border: 0;
    color: rgba(255, 255, 255, 0.72);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.85);
    font-size: 13px;
    font-weight: 700;
    text-align: right;
}

.gameservers-table td.gameservers-table-value {
    text-align: center;
}

.gameservers-table thead th {
    text-align: left;
}

@media (max-width: 900px) {
    .page-main.has-sidebar,
    .two-up,
    .profile-layout,
    .profile-layout--expanded,
    .downloads-layout,
    .download-detail-layout,
    .admin-stats,
    .master-server-hero-body,
    .master-server-detail-grid {
        grid-template-columns: 1fr;
    }

    .admin-member-search-form {
        grid-template-columns: 1fr;
    }

    .gameserver-meta {
        grid-template-columns: 1fr;
    }

    .server-list-title-row,
    .server-list-footer {
        flex-direction: column;
        align-items: flex-start;
    }

    .server-list-map,
    .server-list-overlay {
        min-height: 0;
    }

    .game-server-widget-card {
        grid-template-columns: 1fr;
    }

    .admin-member-search-actions {
        flex-wrap: wrap;
    }

    .image-grid {
        grid-template-columns: repeat(2, 160px);
    }

    .master-server-stat-grid {
        grid-template-columns: 1fr;
    }

    .top-nav-inner,
    .nav-links {
        display: block;
    }

    .nav-links a {
        border-right: 0;
        border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    }

    .list-item,
    .file-card,
    .download-row,
    .page-admin-row,
    .member-row {
        flex-direction: column;
    }

    .home-split-grid {
        grid-template-columns: 1fr;
    }

    .home-thread-row {
        grid-template-columns: 1fr;
    }

    .profile-showcase-grid,
    .profile-showcase-layout,
    .profile-showcase-stats {
        grid-template-columns: 1fr;
    }

    .profile-showcase-avatar,
    .profile-showcase-avatar-fallback {
        width: 180px;
        height: 180px;
    }

    .profile-showcase-meta,
    .profile-intel-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .downloads-hero-body,
    .downloads-filter-form,
    .downloads-card-grid,
    .download-showcase-card {
        grid-template-columns: 1fr;
    }

    .downloads-hero-body {
        display: grid;
    }

    .downloads-hero-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-console-hero-grid,
    .admin-console-grid,
    .admin-console-stats,
    .admin-console-link-grid {
        grid-template-columns: 1fr;
    }

    .members-list-head {
        display: none;
    }

    .members-list-row {
        grid-template-columns: 1fr;
    }

    .members-list-col--member {
        grid-template-columns: 72px minmax(0, 1fr);
    }

    .list-meta,
    .file-meta,
    .admin-actions {
        min-width: 0;
        text-align: left;
        align-items: flex-start;
    }

    .page-admin-row {
        margin-left: calc(var(--page-depth, 0) * 14px);
    }

    .profile-feed-row,
    .profile-feed-row--media {
        grid-template-columns: 1fr;
    }

    .lightbox-overlay {
        padding: 16px;
    }

    .lightbox-figure {
        max-width: calc(100vw - 120px);
    }

    .forum-node-row {
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .forum-node-stats {
        grid-column: 2;
        justify-content: start;
        max-width: 220px;
    }

    .forum-node-latest {
        grid-column: 2;
    }

    .forum-view-header-body,
    .thread-message-inner,
    .forum-thread-row {
        grid-template-columns: 1fr;
    }

    .forum-thread-counts,
    .forum-thread-latest {
        grid-column: auto;
    }

    .forum-permission-header {
        flex-direction: column;
    }

    .forum-permission-table {
        grid-template-columns: minmax(120px, 1fr) 72px 72px 92px;
        font-size: 13px;
    }

    .thread-message-user {
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }

    .toggle-field {
        align-items: flex-start;
    }
}
