@import url("https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@400;500;600;700;800&family=DM+Serif+Display&family=Figtree:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;700&family=Space+Grotesque:wght@400;500;700&display=swap");

:root {
    --color-bg: #f4f1e8;
    --color-bg-soft: #fffdf6;
    --color-surface: #ffffff;
    --color-primary: #0e4c92;
    --color-primary-strong: #062b55;
    --color-accent: #ffd429;
    --color-text: #0a2540;
    --color-muted: #6a7f99;
    --color-line: rgba(10, 37, 64, 0.1);
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-7: 2rem;
    --space-8: 2.5rem;
    --radius-sm: 8px;
    --radius-md: 12px;
    --shadow-sm: 0 2px 10px rgba(0, 0, 0, 0.12);
    --shadow-md: 0 10px 25px rgba(0, 0, 0, 0.16);
    --font-base: "Figtree", system-ui, sans-serif;
    --font-title: "Bricolage Grotesque", system-ui, sans-serif;
    --font-mono: "JetBrains Mono", ui-monospace, monospace;
    --fs-1: 0.8125rem;
    --fs-2: 0.9375rem;
    --fs-3: 1rem;
    --fs-4: 1.125rem;
    --fs-5: 1.25rem;
    --fs-6: 1.5rem;
    --layout-max: 1480px;
    --layout-wide-max: 1680px;
    --shell-gutter-desktop: clamp(18px, 2vw, 36px);
    --forums-topbar-offset: 160px;
}

html,
body {
    overflow-x: hidden;
}

html {
    font-size: 16px;
}

body {
    font-family: var(--font-base);
    font-size: var(--fs-3);
    line-height: 1.55;
    color: var(--color-text);
    background:
        radial-gradient(circle at top left, rgba(255, 212, 41, 0.12), transparent 26%),
        radial-gradient(circle at top right, rgba(26, 111, 214, 0.14), transparent 24%),
        linear-gradient(180deg, var(--color-bg), color-mix(in srgb, var(--color-bg) 84%, white));
}

#page-outer-wrap,
#page-inner-wrap,
#container,
#page-content,
#main {
    max-width: 100%;
}

.container {
    width: min(100%, var(--layout-max));
    max-width: var(--layout-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--space-4);
    padding-right: var(--space-4);
}

#page-content {
    padding: var(--space-4);
}

img,
iframe,
video,
embed,
object {
    max-width: 100%;
    height: auto;
}

table {
    width: 100%;
}

.stack>*+* {
    margin-top: var(--space-4);
}

.cluster {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    align-items: center;
}

.grid {
    display: grid;
    gap: var(--space-4);
    grid-template-columns: 1fr;
}

body:not(.dark) #page-header-mobile,
body:not(.dark) #header-navigation {
    background: color-mix(in srgb, var(--color-bg-soft) 90%, rgba(255, 255, 255, 0.78));
    border-bottom: 1px solid rgba(10, 37, 64, 0.08);
    box-shadow: 0 10px 24px rgba(10, 37, 64, 0.08);
}

body:not(.dark) .mobile-menu-toggle {
    border-color: rgba(10, 37, 64, 0.14);
    background: rgba(255, 255, 255, 0.88);
    color: #173253;
}

body:not(.dark) .mobile-menu {
    background: rgba(255, 253, 246, 0.98);
    box-shadow: 0 20px 48px rgba(10, 37, 64, 0.14);
}

body:not(.dark) .mobile-menu-list li+li {
    border-top: 1px solid rgba(10, 37, 64, 0.08);
}

body:not(.dark) .mobile-menu-list a,
body:not(.dark) #header-navigation ul li a {
    color: #173253;
}

body:not(.dark) #header-navigation ul li a:hover,
body:not(.dark) #header-navigation ul li a:focus {
    color: #0a2540;
    background: rgba(14, 76, 146, 0.08);
}

/* Header mobile */
#page-header-mobile {
    height: auto;
    min-height: 74px;
    padding: var(--space-3) 0;
}

.mobile-header-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
}

.mobile-menu-toggle {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    border: 1px solid #4d4d4d;
    border-radius: var(--radius-sm);
    background: #2d2f33;
    color: #ffffff;
    padding: 0.5rem 0.75rem;
    min-height: 44px;
}

.mobile-menu-label {
    font-size: var(--fs-2);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.mobile-menu {
    position: fixed;
    top: 0;
    right: 0;
    width: min(88vw, 22rem);
    height: 100dvh;
    background: #22252a;
    box-shadow: var(--shadow-md);
    transform: translateX(110%);
    transition: transform 220ms ease;
    z-index: 2100;
    overflow-y: auto;
    padding: var(--space-7) var(--space-4) var(--space-4);
}

.mobile-menu-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mobile-menu-list li+li {
    border-top: 1px solid #3a3f47;
}

.mobile-menu-list a {
    display: block;
    min-height: 44px;
    padding: 0.875rem 0;
    font-size: var(--fs-3);
    font-weight: 700;
    color: #ffffff;
    text-transform: uppercase;
}

.mobile-menu-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    opacity: 0;
    pointer-events: none;
    transition: opacity 220ms ease;
    z-index: 2050;
}

body.nav-expanded .mobile-menu {
    transform: translateX(0);
}

body.nav-expanded .mobile-menu-overlay {
    opacity: 1;
    pointer-events: auto;
}

/* Navigation desktop */
#header-navigation {
    height: auto;
    min-height: 50px;
}

#header-navigation ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    border-left: none;
}

#header-navigation ul li {
    float: none;
}

#header-navigation ul li a {
    min-height: 44px;
    line-height: 44px;
}

#header-navigation ul li.options {
    margin-left: auto;
}

/* Forum listing */
.forum-actions {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-top: var(--space-6);
    margin-bottom: var(--space-3);
}

.forum-actions .new_topic {
    position: static;
    width: auto;
    min-width: 150px;
    height: auto;
    min-height: 44px;
    background-size: cover;
    padding: 0.5rem 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.list_threads {
    width: 100% !important;
    margin: var(--space-3) 0 var(--space-4) !important;
    table-layout: fixed;
}

.list_threads td,
.list_threads th {
    vertical-align: middle;
    overflow-wrap: anywhere;
}

.list_threads td a,
.list_threads th a {
    word-break: break-word;
}

/* Topic */
.forum-topic-actions {
    width: 100%;
}

.forum-topic-actions form {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    flex-wrap: wrap;
}

table.lst {
    width: 100% !important;
    table-layout: fixed;
}

table.lst td,
table.lst th {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.td_pseudo,
.td_post {
    width: auto !important;
}

.blue_tbl,
.blue_tbl table {
    max-width: 100%;
}

input.input_text,
textarea.input_text,
select,
input[type="text"],
input[type="password"],
input[type="email"] {
    max-width: 100%;
}

textarea {
    max-width: 100%;
}

input.input_submit,
button.input_submit,
a.link_page {
    min-height: 36px;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
    outline: 2px solid #ffd84d;
    outline-offset: 2px;
}

@media (max-width: 767px) {
    .hidden-xs {
        display: none !important;
    }

    .visible-xs {
        display: block !important;
    }

    #page-content {
        padding: var(--space-3) var(--space-5);
    }

    #header-branding {
        height: auto;
        min-height: 90px;
    }

    .forum-actions {
        margin-top: var(--space-4);
    }

    .list_threads,
    .list_threads thead,
    .list_threads tbody,
    .list_threads tr,
    .list_threads td {
        display: block;
        width: 100%;
    }

    .list_threads tr:first-child,
    .list_threads th {
        display: none;
    }

    .list_threads {
        border: none;
        background: transparent;
    }

    .list_threads tr[class^="forumtable"] {
        border: 1px solid #d3deea;
        border-radius: var(--radius-md);
        margin-bottom: var(--space-3);
        box-shadow: var(--shadow-sm);
        overflow: hidden;
    }

    .list_threads td {
        border: none;
        min-height: 44px;
        padding: var(--space-2) var(--space-3) !important;
        text-align: left !important;
    }

    .list_threads td[data-label]::before {
        content: attr(data-label);
        display: block;
        font-size: var(--fs-1);
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: #44505e;
        margin-bottom: 2px;
    }

    .list_threads td.lt_col1,
    .list_threads td.lt_col1_pair {
        background: #ffffff;
        color: var(--color-text);
    }

    .list_threads td.lt_col2,
    .list_threads td.lt_col2_pair,
    .list_threads td.lt_col3,
    .list_threads td.lt_col3_pair {
        background: #2f5f8f;
        color: #ffffff;
    }

    .list_threads td.lt_col2[data-label]::before,
    .list_threads td.lt_col2_pair[data-label]::before,
    .list_threads td.lt_col3[data-label]::before,
    .list_threads td.lt_col3_pair[data-label]::before {
        color: #d8e4f1;
    }

    .list_threads td.lt_col4,
    .list_threads td.lt_col4_pair {
        background: #183f66;
        color: #ffffff;
    }

    .list_threads td.lt_col4[data-label]::before,
    .list_threads td.lt_col4_pair[data-label]::before {
        color: #d8e4f1;
    }

    .list_threads td.lt_col2,
    .list_threads td.lt_col2_pair,
    .list_threads td.lt_col3,
    .list_threads td.lt_col3_pair,
    .list_threads td.lt_col4,
    .list_threads td.lt_col4_pair {
        font-size: var(--fs-2);
    }

    .list_threads td.lt_col1 strong {
        font-size: var(--fs-3);
        line-height: 1.3;
    }

    .forums-home-hero {
        min-height: 230px;
    }

    .forums-home-intro,
    .forums-home-rules {
        position: static !important;
        width: 100% !important;
        height: auto !important;
    }

    .forums-home-intro {
        text-align: left;
    }

    .forums-home-rules {
        margin-top: var(--space-3);
    }

    .forums-home-logo {
        margin-top: var(--space-4) !important;
        width: min(100%, 300px) !important;
        height: auto !important;
    }

    .forums-home-logo img {
        width: 100%;
        height: auto;
    }

    .forums-toolbar {
        width: 100% !important;
        margin-bottom: var(--space-4) !important;
        table-layout: fixed;
    }

    .forums-toolbar tr,
    .forums-toolbar td,
    .forums-toolbar th {
        display: block;
        width: 100% !important;
        text-align: left !important;
    }

    .forums-toolbar th {
        padding: var(--space-2) var(--space-3);
    }

    .forums-breadcrumb {
        display: block;
        font-size: var(--fs-1) !important;
        color: #ffffff;
    }

    .forums-toolbar td {
        padding: var(--space-2) var(--space-3);
    }

    .forums-toolbar-links,
    .forums-toolbar-cats {
        display: block;
        white-space: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        padding-bottom: var(--space-1);
    }

    .forums-toolbar-links a,
    .forums-toolbar-cats a {
        display: inline-block;
        margin: 0 var(--space-1) var(--space-1) 0;
        padding: 0.35rem 0.6rem;
        border-radius: 999px;
        background: #1f3960;
        border: 1px solid #355b91;
        color: #ffffff !important;
        font-size: var(--fs-1) !important;
        line-height: 1.25;
        min-height: 32px;
    }

    .forums-toolbar-cats a {
        background: #243f2d;
        border-color: #3e6a4d;
    }

    .forum-topic-actions,
    .forum-topic-actions table,
    .forum-topic-actions tr,
    .forum-topic-actions td {
        display: block;
        width: 100% !important;
    }

    .forum-topic-actions td {
        text-align: left !important;
    }

    table.lst,
    table.lst tbody,
    table.lst tr,
    table.lst td {
        display: block;
        width: 100% !important;
    }

    table.lst tr.title0,
    table.lst tr.title0 th {
        display: none;
    }

    table.lst tr {
        border: 1px solid #c9d9ea;
        border-radius: var(--radius-md);
        margin-bottom: var(--space-4);
        background: #ffffff;
        box-shadow: var(--shadow-sm);
        overflow: hidden;
    }

    .td_pseudo {
        background: #f0f6ff;
        border-bottom: 1px solid #d8e4f1 !important;
        padding: var(--space-3) !important;
    }

    .td_post {
        padding: var(--space-3) !important;
    }

    .td_post table {
        display: block;
        width: 100% !important;
        overflow-x: auto;
    }

    .input_submit {
        display: inline-block !important;
        margin-top: var(--space-2);
    }
}

@media (min-width: 768px) {
    .visible-xs {
        display: none !important;
    }

    .hidden-xs {
        display: block !important;
    }

    #page-content {
        padding: var(--space-4) var(--space-5);
    }

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

@media (min-width: 1024px) {
    html {
        font-size: 17px;
    }

    .container {
        padding-left: var(--space-5);
        padding-right: var(--space-5);
    }

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

@media (min-width: 1200px) {

    #container,
    #page-content {
        width: 100% !important;
        max-width: var(--layout-max) !important;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (min-width: 1280px) {
    #page-content {
        padding: var(--space-5) var(--space-6);
    }
}

/* Forums redesign */

:root {
    --forums-bg: linear-gradient(180deg, #f6f8ff 0%, #eef3fb 44%, #f8fafc 100%);
    --forums-surface: rgba(255, 255, 255, 0.94);
    --forums-surface-strong: #ffffff;
    --forums-line: rgba(115, 133, 173, 0.2);
    --forums-text: #192338;
    --forums-muted: #5b6784;
    --forums-accent: #3b82f6;
    --forums-accent-strong: #224dc7;
    --forums-accent-soft: rgba(59, 130, 246, 0.14);
    --forums-shadow: 0 24px 60px rgba(39, 67, 116, 0.12);
}

#page-header-mobile {
    position: sticky;
    top: 0;
    z-index: 2500;
    background: rgba(19, 24, 36, 0.96);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
}

#header-navigation {
    position: sticky;
    top: 0;
    z-index: 2400;
    backdrop-filter: blur(18px);
    background: rgba(29, 45, 73, 0.94);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
}

#header-navigation ul li a {
    color: #f8fbff;
}

#header-navigation ul li a:hover,
#header-navigation ul li a:focus {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.08);
}

.forums-page {
    position: relative;
    color: var(--forums-text);
}

.forums-page::before {
    content: "";
    position: absolute;
    inset: -2rem -1rem auto;
    height: 22rem;
    background:
        radial-gradient(circle at top left, rgba(56, 189, 248, 0.16), transparent 36%),
        radial-gradient(circle at top right, rgba(236, 72, 153, 0.14), transparent 32%),
        radial-gradient(circle at 50% 0%, rgba(99, 102, 241, 0.14), transparent 40%);
    pointer-events: none;
    z-index: 0;
}

.forums-page>* {
    position: relative;
    z-index: 1;
}

.forum-theme-ocean,
.forum-card--ocean {
    --forums-accent: #56a7ff;
    --forums-accent-strong: #2259d4;
    --forums-accent-soft: rgba(86, 167, 255, 0.16);
}

.forum-theme-violet,
.forum-card--violet {
    --forums-accent: #8b7cff;
    --forums-accent-strong: #5d42d9;
    --forums-accent-soft: rgba(139, 124, 255, 0.18);
}

.forum-theme-rose,
.forum-card--rose {
    --forums-accent: #ff7ac2;
    --forums-accent-strong: #d63d88;
    --forums-accent-soft: rgba(255, 122, 194, 0.16);
}

.forum-theme-mint,
.forum-card--mint {
    --forums-accent: #48cfae;
    --forums-accent-strong: #1f9377;
    --forums-accent-soft: rgba(72, 207, 174, 0.16);
}

.forums-toolbar-shell {
    position: sticky;
    top: 74px;
    z-index: 2200;
    margin-bottom: var(--space-5);
}

.forums-toolbar {
    width: 100%;
    max-width: none;
    margin: 0 auto;
    padding: var(--space-3);
    border: 1px solid rgba(118, 138, 181, 0.18);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(16px);
    box-shadow: var(--forums-shadow);
}

.forums-toolbar__meta,
.forums-toolbar__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2);
}

.forums-toolbar__meta {
    justify-content: space-between;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
}

.forums-toolbar__row+.forums-toolbar__row {
    margin-top: var(--space-2);
}

.forums-breadcrumb,
.forums-breadcrumb strong {
    color: #30415f;
    font-size: var(--fs-2);
}

.forums-breadcrumb__label {
    display: inline-block;
    margin-right: var(--space-2);
    color: #70809d;
    text-transform: uppercase;
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    font-weight: 800;
}

.forums-theme-toggle,
.forums-toolbar__pill,
.forums-button,
.forums-sort-tabs__item,
.forum-choice-list__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 42px;
    padding: 0.6rem 0.95rem;
    border-radius: 999px;
    border: 1px solid transparent;
    text-decoration: none !important;
    transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.forums-theme-toggle {
    background: #111b2f;
    color: #f8fbff;
    border-color: rgba(255, 255, 255, 0.08);
    font-weight: 700;
}

.forums-theme-toggle__icon {
    width: 1rem;
    height: 1rem;
    display: inline-flex;
}

.forums-theme-toggle__icon svg {
    width: 100%;
    height: 100%;
}

.forums-toolbar__pill {
    background: rgba(17, 27, 47, 0.06);
    border-color: rgba(65, 85, 125, 0.14);
    color: #22304f !important;
    font-size: var(--fs-2);
    font-weight: 700;
}

.forums-toolbar__pill:hover,
.forums-toolbar__pill:focus,
.forums-theme-toggle:hover,
.forums-theme-toggle:focus,
.forums-button:hover,
.forums-button:focus,
.forums-sort-tabs__item:hover,
.forums-sort-tabs__item:focus,
.forum-choice-list__item:hover,
.forum-choice-list__item:focus {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(44, 62, 100, 0.14);
}

.forums-toolbar__pill.is-active,
.forums-toolbar__pill--alert {
    background: linear-gradient(135deg, var(--forums-accent), var(--forums-accent-strong));
    border-color: transparent;
    color: #ffffff !important;
}

.forums-toolbar__row--categories .forums-toolbar__pill {
    background: rgba(51, 78, 132, 0.08);
}

.forums-hero {
    display: grid;
    gap: var(--space-5);
    padding: clamp(1.25rem, 2vw, 2rem);
    border: 1px solid var(--forums-line);
    border-radius: 30px;
    background: var(--forums-bg);
    box-shadow: var(--forums-shadow);
    margin-bottom: var(--space-6);
    overflow: hidden;
}

.forums-hero__content,
.forums-hero__panel {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.forums-hero__eyebrow,
.forum-section__eyebrow {
    margin: 0;
    color: var(--forums-accent-strong);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.72rem;
    font-weight: 800;
}

.forums-hero h1,
.forum-section__header h2 {
    margin: 0;
    font-family: var(--font-title);
    font-weight: 800;
    letter-spacing: -0.035em;
    font-size: clamp(2rem, 4.2vw, 3.25rem);
    line-height: 0.98;
    color: #151e32;
}

.forum-section__header h2 {
    font-size: clamp(1.45rem, 2.6vw, 2rem);
}

.forums-hero__lead,
.forum-section__header p,
.forums-hero__microcopy {
    margin: 0;
    color: var(--forums-muted);
    font-size: 1rem;
    line-height: 1.65;
}

.forums-hero__actions,
.forums-sort-tabs,
.forum-choice-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.forums-button {
    font-weight: 800;
    font-size: var(--fs-2);
}

.forums-button--primary {
    color: #ffffff !important;
    background: linear-gradient(135deg, var(--forums-accent), var(--forums-accent-strong));
    box-shadow: 0 18px 34px rgba(35, 83, 187, 0.18);
}

.forums-button--ghost,
.forum-choice-list__item {
    color: #23304e !important;
    background: rgba(255, 255, 255, 0.7);
    border-color: rgba(88, 107, 148, 0.14);
}

.forums-sort-tabs__item {
    background: rgba(255, 255, 255, 0.72);
    border-color: rgba(88, 107, 148, 0.14);
    color: #36425d !important;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 800;
}

.forums-sort-tabs__item.is-active {
    color: #ffffff !important;
    background: linear-gradient(135deg, #1d2942, #324a76);
    border-color: transparent;
}

.forums-hero__panel {
    justify-content: center;
    padding: clamp(1rem, 2vw, 1.5rem);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(120, 136, 170, 0.18);
}

.forums-hero__mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 120px;
}

.forums-hero__mark img {
    max-width: min(100%, 320px);
    filter: drop-shadow(0 18px 26px rgba(41, 63, 108, 0.15));
}

.forum-sections,
.forum-card-list {
    display: grid;
    gap: var(--space-4);
}

.forum-section {
    padding: clamp(1rem, 2vw, 1.5rem);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(115, 133, 173, 0.16);
    box-shadow: 0 18px 44px rgba(40, 57, 96, 0.08);
}

.forum-section--featured {
    background: linear-gradient(180deg, rgba(255, 249, 238, 0.94), rgba(255, 255, 255, 0.84));
}

.forum-section__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.forum-section__header a {
    text-decoration: none;
}

.forum-card {
    position: relative;
    display: grid;
    gap: var(--space-3);
    padding: clamp(1rem, 2vw, 1.35rem);
    border-radius: 24px;
    border: 1px solid rgba(107, 125, 170, 0.16);
    background: var(--forums-surface);
    box-shadow: 0 18px 36px rgba(41, 58, 96, 0.1);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, opacity 180ms ease;
}

.forum-card:hover,
.forum-card:focus-within {
    transform: translateY(-2px);
    box-shadow: 0 26px 50px rgba(33, 54, 96, 0.14);
    border-color: rgba(74, 103, 170, 0.28);
}

/* Visited topics keep full opacity — the class is still applied for potential
   future use (e.g. unread filter) but doesn't visually dim the card. */
.forum-card.is-read {
    opacity: 1;
}

.forum-card__indicator {
    width: 2.5rem;
    height: 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    color: var(--forums-accent-strong);
    background: var(--forums-accent-soft);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
}

.forum-card__indicator svg {
    width: 1.45rem;
    height: 1.45rem;
}

.forum-card__main {
    min-width: 0;
}

.forum-card__topline,
.forum-card__footer,
.forum-card__stats,
.forum-card__actions,
.forum-card__last-post,
.forum-card__last-copy {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex-wrap: wrap;
}

.forum-card__topline {
    margin-bottom: var(--space-2);
}

.forum-card__forum-chip,
.forum-card__badge,
.forum-card__text-action,
.forum-card__menu summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0.4rem 0.7rem;
    border-radius: 999px;
    font-size: 0.76rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 800;
    text-decoration: none !important;
}

.forum-card__forum-chip {
    color: var(--forums-accent-strong) !important;
    background: var(--forums-accent-soft);
}

.forum-card__badge {
    color: #475573;
    background: rgba(237, 241, 248, 0.86);
}

.forum-card__badge--pinned {
    color: #8a4a06;
    background: rgba(255, 200, 107, 0.3);
}

.forum-card__badge--locked {
    color: #7b365f;
    background: rgba(255, 143, 193, 0.22);
}

/* Admin-only stats chip on the topic page (eye icon + total views). */
.forum-card__badge--views {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: #4a3a85;
    background: rgba(126, 110, 220, 0.16);
    font-variant-numeric: tabular-nums;
}

.forum-card__badge--views svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

.forum-card__title {
    margin: 0;
    font-size: clamp(1.1rem, 2vw, 1.35rem);
    line-height: 1.28;
}

.forum-card__title a {
    color: #172033 !important;
    text-decoration: none !important;
}

.forum-card__title a:hover,
.forum-card__title a:focus {
    text-decoration: underline !important;
}

.forum-card__meta {
    margin: 0;
    color: var(--forums-muted);
    font-size: 0.94rem;
}

.forum-card__pages-inline,
.forum-card__menu-pages,
.forum-pagination-legacy {
    color: #5c6985;
    font-size: 0.85rem;
}

.forum-card__pages-inline a,
.forum-card__menu-pages a,
.forum-pagination-legacy a {
    color: #27498f !important;
    font-weight: 700;
    text-decoration: none;
}

.forum-card__pages-inline span,
.forum-card__pages-inline a,
.forum-card__menu-pages span,
.forum-card__menu-pages a,
.forum-pagination-legacy span,
.forum-pagination-legacy a {
    margin-right: 0.35rem;
}

.forum-card__preview {
    margin-top: var(--space-3);
    padding: var(--space-3);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(241, 246, 255, 0.92), rgba(255, 255, 255, 0.94));
    border: 1px dashed rgba(91, 114, 166, 0.28);
}

.forum-card__preview-label {
    margin: 0 0 0.35rem;
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: var(--forums-accent-strong);
}

.forum-card__preview-body {
    margin: 0;
    line-height: 1.65;
    color: #30415f;
}

.forum-card__footer {
    justify-content: space-between;
    gap: var(--space-3);
    margin-top: var(--space-3);
}

.forum-card__stats {
    gap: var(--space-2);
}

.forum-stat {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 36px;
    padding: 0.42rem 0.72rem;
    border-radius: 999px;
    background: rgba(240, 244, 251, 0.88);
    color: #3f4b63;
    font-size: 0.85rem;
    font-weight: 700;
}

.forum-stat svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
}

.forum-stat__label {
    color: #65738f;
}

.forum-stat__value {
    color: #192338;
}

.forum-card__text-action {
    border: none;
    background: rgba(33, 52, 94, 0.07);
    color: #22314f;
    cursor: pointer;
}

.forum-card__menu {
    position: relative;
}

.forum-card__menu summary {
    list-style: none;
    cursor: pointer;
    background: rgba(33, 52, 94, 0.07);
    color: #22314f;
}

.forum-card__menu summary::-webkit-details-marker {
    display: none;
}

.forum-card__menu[open] summary {
    background: #16233c;
    color: #ffffff;
}

.forum-card__menu-panel {
    position: absolute;
    right: 0;
    margin-top: 0.5rem;
    min-width: 14rem;
    padding: 0.65rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(95, 112, 150, 0.16);
    box-shadow: 0 22px 40px rgba(27, 43, 80, 0.16);
    z-index: 8;
}

.forum-card__menu-link {
    display: block;
    padding: 0.45rem 0.35rem;
    color: #1d2c47 !important;
    font-weight: 700;
}

.forum-card__last-post {
    align-self: stretch;
    gap: var(--space-3);
    padding: var(--space-3);
    border-radius: 20px;
    background: rgba(17, 27, 47, 0.04);
    text-decoration: none !important;
    color: #1d2942 !important;
}

.forum-card__last-label {
    width: 100%;
    color: #6b7790;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.72rem;
    font-weight: 800;
}

.forum-card__last-copy {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.2rem;
}

.forum-avatar {
    width: 3rem;
    height: 3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    overflow: hidden;
    background: linear-gradient(135deg, var(--forums-accent), var(--forums-accent-strong));
    color: #ffffff;
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(40, 64, 114, 0.18);
}

.forum-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.forum-load-more {
    margin-top: var(--space-5);
    text-align: center;
}

.forum-pagination-legacy {
    margin-top: var(--space-4);
    padding: var(--space-3);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.78);
    overflow-x: auto;
    white-space: nowrap;
}

.forums-page--message {
    padding: var(--space-6);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--forums-shadow);
    text-align: center;
}

body.dark {
    background: #0d1321;
}

body.dark #page-content {
    background: linear-gradient(180deg, #0d1321 0%, #10192e 100%);
}

body.dark .forums-toolbar,
body.dark .forum-section,
body.dark .forum-card,
body.dark .forum-pagination-legacy,
body.dark .forums-page--message {
    background: rgba(14, 21, 38, 0.9);
    border-color: rgba(141, 164, 222, 0.14);
    box-shadow: 0 24px 54px rgba(0, 0, 0, 0.36);
}

body.dark .forums-hero {
    background: linear-gradient(180deg, #101a30 0%, #12203d 48%, #10192b 100%);
    border-color: rgba(141, 164, 222, 0.14);
}

body.dark .forums-hero__panel,
body.dark .forum-card__preview,
body.dark .forum-card__last-post,
body.dark .forum-stat,
body.dark .forum-card__text-action,
body.dark .forum-card__menu summary,
body.dark .forums-sort-tabs__item,
body.dark .forums-button--ghost,
body.dark .forum-choice-list__item,
body.dark .forums-toolbar__pill {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(141, 164, 222, 0.12);
}

body.dark .forums-page,
body.dark .forums-hero h1,
body.dark .forum-section__header h2,
body.dark .forum-card__title a,
body.dark .forum-card__last-post,
body.dark .forum-stat__value,
body.dark .forums-breadcrumb,
body.dark .forums-breadcrumb strong,
body.dark .forums-toolbar__pill,
body.dark .forum-card__menu-link,
body.dark .forums-page--message {
    color: #ebf1ff !important;
}

body.dark .forums-hero__lead,
body.dark .forum-section__header p,
body.dark .forums-hero__microcopy,
body.dark .forum-card__meta,
body.dark .forum-card__preview-body,
body.dark .forum-stat__label,
body.dark .forum-card__last-label,
body.dark .forum-card__pages-inline,
body.dark .forum-pagination-legacy {
    color: #aebbd8;
}

body.dark .forums-theme-toggle {
    background: #f4f7ff;
    color: #192338;
}

body.dark .forum-card__menu[open] summary,
body.dark .forums-sort-tabs__item.is-active,
body.dark .forums-toolbar__pill.is-active,
body.dark .forums-toolbar__pill--alert {
    background: linear-gradient(135deg, var(--forums-accent), var(--forums-accent-strong));
    color: #ffffff !important;
}

body.dark .forum-card__preview {
    border-color: rgba(158, 180, 232, 0.2);
}

body.dark .forum-card__menu-panel {
    background: rgba(12, 18, 33, 0.98);
    border-color: rgba(141, 164, 222, 0.14);
}

@media (max-width: 767px) {
    .forums-toolbar-shell {
        top: 74px;
        margin-bottom: var(--space-3);
    }

    .forums-toolbar {
        padding: var(--space-3);
        border-radius: 18px;
    }

    .forums-toolbar__meta {
        align-items: flex-start;
        gap: var(--space-2);
        margin-bottom: var(--space-2);
    }

    .forums-toolbar__pill,
    .forums-theme-toggle,
    .forums-button,
    .forums-sort-tabs__item,
    .forum-choice-list__item,
    .forum-card__text-action,
    .forum-card__menu summary {
        min-height: 40px;
    }

    /* Hero : tighter padding + smaller corners */
    .forums-hero {
        gap: var(--space-3);
        padding: var(--space-4);
        border-radius: 20px;
        margin-bottom: var(--space-4);
    }

    /* Section wrapper : reduce padding + corners */
    .forum-sections,
    .forum-card-list {
        gap: var(--space-3);
    }

    .forum-section {
        padding: var(--space-3) var(--space-4);
        border-radius: 20px;
    }

    .forum-section__header {
        gap: var(--space-2);
        margin-bottom: var(--space-3);
    }

    /* Forum card on mobile : grid 2-col where row 1 holds the pokeball + topline
       inline (saves height), and everything else (title, meta, stats, last-post)
       spans both columns to use the full card width. We use `display: contents`
       on __main so its children flow into the grid as if they were direct
       siblings of the indicator. */
    .forum-card {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        column-gap: 0.55rem;
        row-gap: var(--space-2);
        padding: var(--space-3) var(--space-4);
        border-radius: 18px;
        align-items: start;
    }

    .forum-card__indicator {
        grid-row: 1;
        grid-column: 1;
        width: 1.7rem;
        height: 1.7rem;
        border-radius: 10px;
        align-self: start;
    }

    .forum-card__indicator svg {
        width: 1rem;
        height: 1rem;
    }

    .forum-card__main {
        display: contents;
    }

    .forum-card__topline {
        grid-row: 1;
        grid-column: 2;
        margin-bottom: 0;
        gap: 0.4rem;
        align-items: center;
        min-width: 0;
    }

    .forum-card__title,
    .forum-card__meta,
    .forum-card__stats,
    .forum-card__footer,
    .forum-card__preview,
    .forum-card__last-post {
        grid-column: 1 / -1;
    }

    /* Compact card title + meta on mobile */
    .forum-card__title {
        font-size: 0.98rem;
        line-height: 1.25;
    }

    .forum-card__meta {
        font-size: 0.82rem;
    }

    /* Stats row : pill chips smaller, centered */
    .forum-card__footer {
        align-items: stretch;
        gap: var(--space-2);
        margin-top: var(--space-1);
    }

    .forum-card__stats {
        width: 100%;
        justify-content: space-between;
        gap: 0.4rem;
    }

    .forum-stat {
        flex: 1 1 calc(50% - 0.4rem);
        justify-content: center;
        min-height: 30px;
        padding: 0.32rem 0.6rem;
        font-size: 0.8rem;
    }

    .forum-stat svg {
        width: 0.9rem;
        height: 0.9rem;
    }

    .forum-stat__label {
        display: none;
    }

    .forum-card__actions {
        width: 100%;
        justify-content: space-between;
    }

    .forum-card__pages-inline {
        display: none;
    }

    .forum-card__menu-panel {
        left: 0;
        right: auto;
        width: min(100%, 16rem);
    }

    /* Compact "Dernier message" sub-card : single row, smaller avatar */
    .forum-card__last-post {
        width: 100%;
        gap: 0.6rem;
        padding: 0.55rem 0.7rem;
        border-radius: 14px;
        align-items: center;
    }

    .forum-card__last-post .forum-avatar {
        width: 2.2rem;
        height: 2.2rem;
        flex-shrink: 0;
        box-shadow: 0 4px 10px rgba(40, 64, 114, 0.16);
    }

    .forum-card__last-post .forum-avatar span,
    .forum-card__last-post .forum-avatar img + span {
        font-size: 0.85rem;
    }

    .forum-card__last-copy {
        flex: 1;
        flex-direction: row;
        align-items: baseline;
        flex-wrap: wrap;
        gap: 0.25rem 0.45rem;
        min-width: 0;
    }

    .forum-card__last-copy strong {
        font-size: 0.88rem;
        font-weight: 700;
    }

    .forum-card__last-copy time {
        font-size: 0.74rem;
        color: #6b7790;
        font-family: var(--font-mono, ui-monospace, monospace);
    }

    /* Hide the redundant "DERNIER MESSAGE" header label : avatar+name+time say it all on mobile */
    .forum-card__last-label {
        display: none;
    }

    /* Tighter chips in the topline (Discussions / Épinglé / etc.) */
    .forum-card__forum-chip,
    .forum-card__badge,
    .forum-card__text-action,
    .forum-card__menu summary {
        min-height: 26px;
        padding: 0.22rem 0.55rem;
        font-size: 0.66rem;
    }

    /* Reduce gap between cards in the list */
    .forum-card-list,
    .forum-sections {
        gap: var(--space-2);
    }
}

@media (min-width: 768px) {
    .forums-toolbar-shell {
        top: 50px;
    }

    .forums-hero {
        grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.85fr);
        align-items: stretch;
    }

    .forum-card {
        grid-template-columns: auto minmax(0, 1fr);
    }
}

@media (min-width: 960px) {
    .forum-card {
        grid-template-columns: auto minmax(0, 1fr) minmax(220px, 260px);
        align-items: start;
    }

    .forum-card__last-post {
        min-height: 100%;
        align-items: center;
    }

    .forum-card-list--feed,
    .forum-card-list--featured {
        gap: var(--space-3);
    }
}

/* Forums redesign v2 */

:root {
    --forums-bg: linear-gradient(180deg, #f5f7fc 0%, #edf2fa 45%, #f8fafd 100%);
    --forums-surface: rgba(255, 255, 255, 0.96);
    --forums-surface-strong: #ffffff;
    --forums-surface-soft: rgba(241, 245, 252, 0.88);
    --forums-line: rgba(107, 124, 161, 0.18);
    --forums-line-strong: rgba(88, 107, 148, 0.24);
    --forums-text: #172033;
    --forums-muted: #67748d;
    --forums-accent: #4f7cff;
    --forums-accent-strong: #2c56d4;
    --forums-accent-soft: rgba(79, 124, 255, 0.12);
    --forums-shadow: 0 20px 50px rgba(33, 53, 92, 0.12);
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

body.passlord-shell-active,
body.forums-shell-active {
    color: var(--forums-text);
}

body.passlord-shell-active:not(.dark),
body.forums-shell-active:not(.dark) {
    background:
        radial-gradient(circle at top left, rgba(255, 212, 41, 0.12), transparent 26%),
        radial-gradient(circle at top right, rgba(26, 111, 214, 0.14), transparent 24%),
        linear-gradient(180deg, var(--color-bg), color-mix(in srgb, var(--color-bg) 84%, white));
}

body.passlord-shell-active #page-outer-wrap,
body.passlord-shell-active #page-inner-wrap,
body.passlord-shell-active #container,
body.passlord-shell-active #page-content,
body.forums-shell-active #page-outer-wrap,
body.forums-shell-active #page-inner-wrap,
body.forums-shell-active #container,
body.forums-shell-active #page-content {
    background: transparent;
}

body.passlord-shell-active #page-content,
body.forums-shell-active #page-content {
    padding: 0 var(--space-3) var(--space-6);
}

body.passlord-shell-active #container,
body.forums-shell-active #container {
    padding-top: var(--forums-topbar-offset, 160px);
}

body.passlord-shell-active #page-footer {
    background: transparent;
}

.forum-theme-ocean,
.forum-card--ocean {
    --forums-accent: #54a2ff;
    --forums-accent-strong: #225bd4;
    --forums-accent-soft: rgba(84, 162, 255, 0.14);
}

.forum-theme-violet,
.forum-card--violet {
    --forums-accent: #8a79ff;
    --forums-accent-strong: #5b43d8;
    --forums-accent-soft: rgba(138, 121, 255, 0.16);
}

.forum-theme-rose,
.forum-card--rose {
    --forums-accent: #f86eb4;
    --forums-accent-strong: #cf3d83;
    --forums-accent-soft: rgba(248, 110, 180, 0.15);
}

.forum-theme-mint,
.forum-card--mint {
    --forums-accent: #3ec5a4;
    --forums-accent-strong: #1d8d73;
    --forums-accent-soft: rgba(62, 197, 164, 0.14);
}

.forums-topbar-shell {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2600;
    padding: var(--space-3) var(--space-3) 0;
}

.forums-topbar {
    width: 100%;
    max-width: none;
    margin: 0 auto;
    padding: 0.75rem 1rem;
    display: grid;
    grid-template-columns: auto minmax(16rem, 1fr) auto;
    align-items: center;
    gap: var(--space-3);
    border: 1px solid var(--forums-line);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(18px);
    box-shadow: var(--forums-shadow);
}

.forums-topbar__start,
.forums-topbar__end {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    min-width: 0;
}

.forums-topbar__end {
    justify-content: flex-end;
}

.forums-nav-toggle,
.forums-icon-button,
.forums-drawer__close {
    width: 2.75rem;
    height: 2.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--forums-line);
    border-radius: 16px;
    background: rgba(16, 24, 39, 0.04);
    color: #1c2840;
    cursor: pointer;
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease, background-color 160ms ease;
}

.forums-nav-toggle svg,
.forums-icon-button svg,
.forums-drawer__close svg {
    width: 1.2rem;
    height: 1.2rem;
}

.forums-nav-toggle:hover,
.forums-nav-toggle:focus,
.forums-icon-button:hover,
.forums-icon-button:focus,
.forums-drawer__close:hover,
.forums-drawer__close:focus {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(33, 53, 92, 0.12);
}

.forums-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.9rem;
    min-width: 0;
    color: var(--forums-text) !important;
    text-decoration: none !important;
}

.forums-brand__mark {
    width: 2.9rem;
    height: 2.9rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(20, 25, 39, 0.95), rgba(53, 68, 111, 0.96));
    box-shadow: 0 14px 28px rgba(26, 39, 66, 0.18);
    overflow: hidden;
}

.forums-brand__mark img {
    width: 88%;
    height: auto;
}

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

.forums-brand__title {
    font-family: var(--font-title);
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.forums-brand__meta {
    color: var(--forums-muted);
    font-size: 0.78rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.forums-topbar__search {
    min-width: 0;
}

.forums-search-form {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 3rem;
    border: 1px solid var(--forums-line);
    border-radius: 999px;
    background: rgba(245, 248, 253, 0.96);
    overflow: hidden;
}

.forums-search-form__icon {
    position: absolute;
    left: 1rem;
    width: 1rem;
    height: 1rem;
    color: #7382a0;
    pointer-events: none;
}

.forums-search-form__icon svg {
    width: 100%;
    height: 100%;
}

.forums-search-form input {
    width: 100%;
    height: 3rem;
    border: 0;
    background: transparent;
    padding: 0 1rem 0 2.8rem;
    color: var(--forums-text);
    font-size: 0.96rem;
}

.forums-search-form input::placeholder {
    color: #78849a;
}

.forums-search-form input:focus {
    outline: none;
}

.forums-switcher {
    position: relative;
}

.forums-switcher summary {
    list-style: none;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 2.75rem;
    padding: 0.55rem 0.9rem;
    border: 1px solid var(--forums-line);
    border-radius: 999px;
    background: rgba(17, 27, 47, 0.04);
    color: #22304f;
    font-size: 0.88rem;
    font-weight: 700;
    cursor: pointer;
    transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.forums-switcher summary::-webkit-details-marker {
    display: none;
}

.forums-switcher summary svg {
    width: 1rem;
    height: 1rem;
}

.forums-switcher[open] summary {
    background: rgba(17, 27, 47, 0.08);
}

.forums-switcher__panel {
    position: absolute;
    right: 0;
    top: calc(100% + 0.6rem);
    min-width: 15rem;
    padding: 0.6rem;
    display: grid;
    gap: 0.35rem;
    border: 1px solid var(--forums-line);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 40px rgba(26, 39, 66, 0.16);
}

.forums-switcher__panel a {
    display: block;
    padding: 0.75rem 0.9rem;
    border-radius: 14px;
    color: #23304c !important;
    text-decoration: none !important;
}

.forums-switcher__panel a:hover,
.forums-switcher__panel a:focus {
    background: rgba(79, 124, 255, 0.08);
}

.forums-topbar__link,
.forums-user-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    min-height: 2.75rem;
    padding: 0.55rem 0.85rem;
    border: 1px solid var(--forums-line);
    border-radius: 999px;
    color: #22304f !important;
    text-decoration: none !important;
    background: rgba(17, 27, 47, 0.04);
    font-size: 0.88rem;
    font-weight: 700;
}

.forums-user-chip__avatar {
    width: 1.75rem;
    height: 1.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--forums-accent-soft);
    color: var(--forums-accent-strong);
}

.forums-user-chip__avatar svg {
    width: 1rem;
    height: 1rem;
}

.forums-user-chip__label {
    max-width: 9rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.forums-user-menu {
    position: relative;
}

.forums-user-menu>summary {
    list-style: none;
    cursor: pointer;
}

.forums-user-menu>summary::-webkit-details-marker {
    display: none;
}

.forums-user-menu__caret {
    width: 1rem;
    height: 1rem;
    transition: transform 160ms ease;
}

.forums-user-menu[open]>summary {
    background: rgba(17, 27, 47, 0.08);
}

.forums-user-menu[open] .forums-user-menu__caret {
    transform: rotate(180deg);
}

.forums-user-menu__panel {
    position: absolute;
    right: 0;
    top: calc(100% + 0.6rem);
    min-width: 14rem;
    padding: 0.6rem;
    display: grid;
    gap: 0.25rem;
    border: 1px solid var(--forums-line);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 40px rgba(26, 39, 66, 0.16);
    z-index: 40;
}

.forums-user-menu__panel a {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.7rem 0.85rem;
    border-radius: 14px;
    color: #23304c !important;
    text-decoration: none !important;
    font-size: 0.88rem;
    font-weight: 600;
}

.forums-user-menu__panel a:hover,
.forums-user-menu__panel a:focus {
    background: rgba(79, 124, 255, 0.08);
}

.forums-user-menu__logout {
    color: #d92d2d !important;
}

.forums-user-menu__logout svg {
    width: 1.05rem;
    height: 1.05rem;
    flex-shrink: 0;
}

.forums-user-menu__logout:hover,
.forums-user-menu__logout:focus {
    background: rgba(217, 45, 45, 0.1) !important;
    color: #b61f1f !important;
}

.forums-counter {
    position: absolute;
    top: -0.3rem;
    right: -0.25rem;
    min-width: 1.2rem;
    height: 1.2rem;
    padding: 0 0.3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: linear-gradient(135deg, #ff6b88, #ff8f5b);
    color: #ffffff;
    font-size: 0.68rem;
    font-weight: 800;
}

.forums-icon-button {
    position: relative;
}

.forums-icon-button--alert {
    border-color: rgba(255, 107, 136, 0.28);
    color: #d24367;
    background: rgba(255, 107, 136, 0.08);
}

.forums-system-alert {
    width: 100%;
    max-width: none;
    margin: 0 auto var(--space-4);
    padding: 0.85rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(255, 184, 0, 0.28);
    background: rgba(255, 244, 209, 0.82);
    color: #6f4d00;
    font-weight: 700;
}

.forums-drawer-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(8, 12, 21, 0.46);
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease;
    z-index: 2660;
}

.forums-drawer {
    position: fixed;
    top: 0;
    left: 0;
    width: min(86vw, 22rem);
    height: 100dvh;
    padding: 1rem;
    display: grid;
    align-content: start;
    gap: var(--space-3);
    background: rgba(250, 252, 255, 0.98);
    border-right: 1px solid var(--forums-line);
    box-shadow: 0 22px 48px rgba(16, 23, 39, 0.22);
    transform: translateX(-110%);
    transition: transform 220ms ease;
    z-index: 2670;
    overflow-y: auto;
}

.forums-drawer__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
}

.forums-drawer__title {
    font-family: var(--font-title);
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.forums-drawer__section {
    padding: 0.4rem 0 0;
    border-top: 1px solid rgba(116, 134, 172, 0.16);
}

.forums-drawer__label,
.forums-sidebar__eyebrow,
.forums-feed-head__eyebrow,
.forum-section__eyebrow {
    margin: 0 0 0.65rem;
    color: var(--forums-accent-strong);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.forums-drawer__section a {
    display: block;
    padding: 0.75rem 0.85rem;
    border-radius: 14px;
    color: #22304f !important;
    text-decoration: none !important;
    font-weight: 600;
}

.forums-drawer__section a:hover,
.forums-drawer__section a:focus {
    background: rgba(79, 124, 255, 0.08);
}

body.forums-drawer-open {
    overflow: hidden;
}

body.forums-drawer-open .forums-drawer {
    transform: translateX(0);
}

body.forums-drawer-open .forums-drawer-backdrop {
    opacity: 1;
    pointer-events: auto;
}

.forums-layout {
    width: 100%;
    max-width: none;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-5);
    align-items: start;
}

.forums-page {
    position: relative;
    color: var(--forums-text);
}

.forums-main {
    min-width: 0;
    display: grid;
    gap: var(--space-4);
}

.forums-sidebar {
    display: none;
    --forums-sidebar-top: 112px;
    --forums-sidebar-bottom-gap: 24px;
}

.forums-sidebar__section {
    padding: 1rem;
    border: 1px solid var(--forums-line);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 16px 34px rgba(33, 53, 92, 0.08);
}

.forums-sidebar__section+.forums-sidebar__section {
    margin-top: var(--space-3);
}

.forums-sidebar__section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
}

.forums-sidebar__ghost,
.forums-sidebar__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    min-height: 2.75rem;
    padding: 0.65rem 0.8rem;
    border-radius: 14px;
    color: #22304f !important;
    text-decoration: none !important;
    font-size: 0.92rem;
    font-weight: 600;
}

.forums-sidebar__ghost {
    min-height: auto;
    padding: 0.2rem 0;
    color: var(--forums-accent-strong) !important;
    font-size: 0.8rem;
}

.forums-sidebar__link:hover,
.forums-sidebar__link:focus {
    background: rgba(79, 124, 255, 0.08);
}

.forums-sidebar__link.is-active,
.forums-sidebar__link--accent {
    background: linear-gradient(135deg, var(--forums-accent), var(--forums-accent-strong));
    color: #ffffff !important;
}

.forums-sidebar__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.35rem;
    height: 1.35rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.22);
    font-size: 0.7rem;
    font-weight: 800;
}

.forums-feed-head,
.forum-section {
    padding: 1.15rem;
    border: 1px solid var(--forums-line);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 18px 42px rgba(33, 53, 92, 0.08);
}

.forums-feed-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
}

.forums-feed-head h1,
.forum-section__header h2 {
    margin: 0;
    font-family: var(--font-title);
    font-weight: 800;
    letter-spacing: -0.035em;
    font-size: clamp(1.9rem, 3vw, 2.7rem);
    line-height: 0.98;
    color: #151e32;
}

.forum-section__header h2 {
    font-size: clamp(1.35rem, 2.3vw, 1.85rem);
}

.forums-feed-head__lead,
.forums-feed-head__meta,
.forum-section__header p,
.forum-card__meta,
.forum-card__preview-body,
.forum-card__last-copy time {
    margin: 0;
    color: var(--forums-muted);
    line-height: 1.55;
}

.forums-feed-head__lead {
    margin-top: 0.55rem;
    max-width: 42rem;
    font-size: 1rem;
}

.forums-feed-head__tools {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.8rem;
}

.forums-feed-head__meta {
    max-width: 28rem;
    font-size: 0.88rem;
}

.forums-feed-head__actions,
.forums-sort-tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.65rem;
    overflow-x: auto;
    padding-bottom: 0.15rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

.forums-button,
.forums-sort-tabs__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.7rem;
    padding: 0.65rem 0.95rem;
    border: 1px solid transparent;
    border-radius: 999px;
    text-decoration: none !important;
    white-space: nowrap;
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.forums-button:hover,
.forums-button:focus,
.forums-sort-tabs__item:hover,
.forums-sort-tabs__item:focus {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(33, 53, 92, 0.12);
}

.forums-button--primary {
    color: #ffffff !important;
    background: linear-gradient(135deg, var(--forums-accent), var(--forums-accent-strong));
    box-shadow: 0 16px 30px rgba(44, 86, 193, 0.18);
}

.forums-button--ghost,
.forums-sort-tabs__item {
    color: #22304f !important;
    border-color: var(--forums-line);
    background: rgba(255, 255, 255, 0.88);
}

.forums-sort-tabs__item.is-active {
    color: #ffffff !important;
    border-color: transparent;
    background: linear-gradient(135deg, #1f2d4a, #36507f);
}

.forum-sections,
.forum-card-list {
    display: grid;
    gap: var(--space-4);
}

.forum-section--featured {
    background: linear-gradient(180deg, rgba(255, 247, 233, 0.94), rgba(255, 255, 255, 0.84));
}

.forum-section__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.forum-section__header a {
    text-decoration: none;
}

.forum-card {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.95rem 1rem;
    padding: 1rem;
    border: 1px solid var(--forums-line);
    border-radius: 22px;
    background: var(--forums-surface);
    box-shadow: 0 16px 32px rgba(33, 53, 92, 0.08);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, opacity 180ms ease;
}

.forum-card:hover,
.forum-card:focus-within {
    transform: translateY(-2px);
    box-shadow: 0 22px 42px rgba(33, 53, 92, 0.12);
    border-color: var(--forums-line-strong);
}

.forum-card.is-read {
    opacity: 1;
}

.forum-card__indicator {
    width: 2.35rem;
    height: 2.35rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    color: var(--forums-accent-strong);
    background: var(--forums-accent-soft);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.45);
}

.forum-card__indicator svg {
    width: 1.25rem;
    height: 1.25rem;
}

.forum-card__main {
    min-width: 0;
}

.forum-card__topline,
.forum-card__stats,
.forum-card__last-post,
.forum-card__last-copy {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.forum-card__topline {
    margin-bottom: 0.45rem;
}

.forum-card__forum-chip,
.forum-card__badge,
.forum-card__menu summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 0.42rem 0.72rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-decoration: none !important;
}

.forum-card__forum-chip {
    color: var(--forums-accent-strong) !important;
    background: var(--forums-accent-soft);
}

.forum-card__badge {
    background: rgba(231, 237, 246, 0.95);
    color: #51607a;
}

.forum-card__badge--pinned {
    background: rgba(255, 228, 193, 0.96);
    color: #91571f;
}

.forum-card__badge--locked {
    background: rgba(221, 227, 237, 0.98);
    color: #4e5b73;
}

.forum-card__menu {
    position: relative;
    margin-left: auto;
}

.forum-card__menu summary {
    width: 2rem;
    min-width: 2rem;
    padding: 0;
    background: rgba(17, 27, 47, 0.05);
    border: 1px solid var(--forums-line);
    color: #22304f;
    cursor: pointer;
    list-style: none;
}

.forum-card__menu summary::-webkit-details-marker {
    display: none;
}

.forum-card__menu summary svg {
    width: 1rem;
    height: 1rem;
}

.forum-card__menu[open] summary {
    background: rgba(17, 27, 47, 0.1);
}

.forum-card__menu-panel {
    position: absolute;
    right: 0;
    top: calc(100% + 0.55rem);
    min-width: 14rem;
    padding: 0.65rem;
    display: grid;
    gap: 0.35rem;
    border: 1px solid var(--forums-line);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 34px rgba(26, 39, 66, 0.16);
    z-index: 5;
}

.forum-card__menu-link {
    display: block;
    width: 100%;
    padding: 0.7rem 0.8rem;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: #253455 !important;
    text-align: left;
    text-decoration: none !important;
    font-weight: 600;
}

.forum-card__menu-link:hover,
.forum-card__menu-link:focus {
    background: rgba(79, 124, 255, 0.08);
}

.forum-card__menu-link--button {
    cursor: pointer;
}

.forum-card__menu-pages {
    padding: 0.3rem 0.8rem 0;
    font-size: 0.78rem;
    line-height: 1.65;
}

.forum-card__menu-pages a {
    color: #30518f !important;
}

.forum-card__title {
    margin: 0;
    font-family: var(--font-title);
    font-weight: 700;
    letter-spacing: -0.025em;
    font-size: clamp(1.05rem, 2vw, 1.32rem);
    line-height: 1.14;
}

.forum-card__title a {
    color: #18233a !important;
    text-decoration: none !important;
}

.forum-card__title a:hover,
.forum-card__title a:focus {
    text-decoration: underline !important;
}

.forum-card__meta {
    font-size: 0.88rem;
}

.forum-card__stats {
    margin-top: 0.8rem;
}

.forum-stat {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 2.35rem;
    padding: 0.5rem 0.78rem;
    border-radius: 999px;
    background: var(--forums-surface-soft);
    color: #34425f;
    font-size: 0.82rem;
    font-weight: 700;
}

.forum-stat svg {
    width: 0.95rem;
    height: 0.95rem;
    color: var(--forums-accent-strong);
}

.forum-stat__label {
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 0.7rem;
    font-weight: 800;
}

.forum-card__preview {
    margin-top: 0.85rem;
    padding: 0.85rem 0.95rem;
    border: 1px solid var(--forums-line);
    border-radius: 18px;
    background: rgba(239, 244, 252, 0.92);
}

.forum-card__preview-label {
    margin: 0 0 0.3rem;
    color: #31415f;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.forum-card__preview-body {
    font-size: 0.84rem;
}

.forum-card__last-post {
    width: 100%;
    padding: 0.85rem 0.95rem;
    border: 1px solid rgba(119, 136, 172, 0.16);
    border-radius: 18px;
    background: rgba(245, 248, 253, 0.9);
    color: #22304f !important;
    text-decoration: none !important;
}

.forum-card__last-copy {
    flex-direction: column;
    align-items: flex-start;
}

.forum-card__last-label {
    color: #78839b;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.forum-avatar {
    width: 2.7rem;
    height: 2.7rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 16px;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(24, 36, 62, 0.96), rgba(61, 88, 142, 0.96));
    color: #ffffff;
    font-weight: 800;
    text-transform: uppercase;
}

.forum-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.forum-load-more,
.forum-pagination-legacy {
    margin-top: var(--space-4);
}

.forum-pagination-legacy div {
    text-align: left !important;
}

.forums-fab {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    width: 3.5rem;
    height: 3.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--forums-accent), var(--forums-accent-strong));
    color: #ffffff !important;
    box-shadow: 0 18px 34px rgba(44, 86, 193, 0.24);
    text-decoration: none !important;
    z-index: 2500;
}

.forums-fab svg {
    width: 1.2rem;
    height: 1.2rem;
}

body.dark {
    background: #0f1420;
    color: #eef3ff;
}

body.dark .forums-topbar,
body.dark .forums-drawer,
body.dark .forums-sidebar__section,
body.dark .forums-feed-head,
body.dark .forum-section,
body.dark .forum-card,
body.dark .forums-system-alert,
body.dark .forum-card__menu-panel {
    background: rgba(18, 23, 35, 0.95);
    border-color: rgba(97, 115, 156, 0.2);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
}

body.dark .forums-search-form,
body.dark .forums-icon-button,
body.dark .forums-nav-toggle,
body.dark .forums-topbar__link,
body.dark .forums-user-chip,
body.dark .forums-switcher summary,
body.dark .forums-button--ghost,
body.dark .forums-sort-tabs__item,
body.dark .forum-stat,
body.dark .forum-card__menu summary,
body.dark .forum-card__preview,
body.dark .forum-card__last-post {
    background: rgba(28, 35, 52, 0.96);
    border-color: rgba(97, 115, 156, 0.22);
}

body.dark .forums-search-form input,
body.dark .forums-brand,
body.dark .forums-topbar__link,
body.dark .forums-user-chip,
body.dark .forums-switcher summary,
body.dark .forum-card__title a,
body.dark .forums-feed-head h1,
body.dark .forum-section__header h2,
body.dark .forum-card__last-post,
body.dark .forums-drawer__title,
body.dark .forums-drawer__section a,
body.dark .forums-sidebar__link,
body.dark .forums-sidebar__ghost {
    color: #f3f7ff !important;
}

body.dark .forums-brand__meta,
body.dark .forums-feed-head__lead,
body.dark .forums-feed-head__meta,
body.dark .forum-section__header p,
body.dark .forum-card__meta,
body.dark .forum-card__preview-body,
body.dark .forum-card__last-label,
body.dark .forum-card__last-copy time,
body.dark .forums-search-form input::placeholder {
    color: #9eabc6;
}

body.dark .forum-card__badge {
    background: rgba(57, 67, 89, 0.94);
    color: #d3ddf2;
}

body.dark .forum-card__badge--pinned {
    background: rgba(128, 93, 28, 0.34);
    color: #ffdeab;
}

body.dark .forum-card__badge--locked {
    background: rgba(69, 77, 98, 0.96);
    color: #c9d2e6;
}

body.dark .forum-card__menu-link:hover,
body.dark .forum-card__menu-link:focus,
body.dark .forums-switcher__panel a:hover,
body.dark .forums-switcher__panel a:focus,
body.dark .forums-sidebar__link:hover,
body.dark .forums-sidebar__link:focus,
body.dark .forums-drawer__section a:hover,
body.dark .forums-drawer__section a:focus {
    background: rgba(79, 124, 255, 0.16);
}

body.dark .forums-switcher__panel {
    background: rgba(18, 23, 35, 0.98);
    border-color: rgba(97, 115, 156, 0.24);
}

body.dark .forums-user-menu__panel {
    background: rgba(18, 23, 35, 0.98);
    border-color: rgba(97, 115, 156, 0.24);
}

body.dark .forums-user-menu__panel a {
    color: #e8eefb !important;
}

body.dark .forums-user-menu__panel a:hover,
body.dark .forums-user-menu__panel a:focus {
    background: rgba(79, 124, 255, 0.16);
}

body.dark .forums-user-menu__logout {
    color: #ff6b6b !important;
}

body.dark .forums-user-menu__logout:hover,
body.dark .forums-user-menu__logout:focus {
    background: rgba(255, 107, 107, 0.16) !important;
    color: #ff8585 !important;
}

body.dark .forums-sort-tabs__item.is-active,
body.dark .forums-sidebar__link.is-active,
body.dark .forums-sidebar__link--accent,
body.dark .forums-button--primary {
    color: #ffffff !important;
}

body.dark .forums-system-alert {
    background: rgba(110, 79, 12, 0.38);
    color: #ffd976;
}

@media (max-width: 1079px) {
    .forums-topbar {
        grid-template-columns: 1fr auto;
    }

    .forums-topbar__search {
        grid-column: 1 / -1;
        order: 3;
    }

    .forums-switcher {
        display: none;
    }

    .forums-user-chip__label,
    .forums-brand__meta {
        display: none;
    }

    .forums-feed-head,
    .forum-section {
        padding: 1rem;
        border-radius: 24px;
    }
}

@media (min-width: 1080px) {

    .forums-nav-toggle,
    .forums-drawer,
    .forums-drawer-backdrop,
    .forums-fab {
        display: none !important;
    }

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

    .forums-sidebar {
        display: block;
        position: sticky;
        top: var(--forums-sidebar-top, 112px);
        align-self: start;
        will-change: top;
        transition: top 180ms ease, bottom 180ms ease;
    }

    .forums-sidebar.is-stuck-bottom {
        top: auto;
        bottom: var(--forums-sidebar-bottom-gap, 24px);
    }

    .forums-feed-head__tools {
        align-items: flex-end;
        text-align: right;
    }

    .forum-card {
        grid-template-columns: auto minmax(0, 1fr) minmax(12rem, 15rem);
        align-items: center;
    }

    .forum-card__last-post {
        width: auto;
        justify-self: end;
    }
}

@media (max-width: 767px) {
    :root {
        --forums-topbar-offset: 124px;
    }

    body.passlord-shell-active #page-content,
    body.forums-shell-active #page-content {
        padding: 0 var(--space-2) calc(var(--space-7) + 3.8rem);
    }

    .forums-topbar-shell {
        padding: var(--space-2) var(--space-2) 0;
    }

    .forums-topbar {
        padding: 0.7rem 0.8rem;
        border-radius: 20px;
        gap: var(--space-2);
    }

    .forums-brand__title {
        font-size: 1rem;
    }

    .forums-feed-head h1,
    .forum-section__header h2 {
        font-size: 1.7rem;
    }

    /* Card layout : pokeball indicator inline with the topline chips
       (DISCUSSIONS / EPINGLE) to save vertical height on mobile. */
    .forum-card {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 0.55rem;
        align-items: start;
    }

    .forum-card__indicator {
        width: 1.7rem;
        height: 1.7rem;
        border-radius: 10px;
        align-self: start;
    }

    .forum-card__indicator svg {
        width: 1rem;
        height: 1rem;
    }
}

/* Forums redesign v2.1: index page aligned with Passlord home */

body.passlord-forums-index-page {
    --forums-home-bg: #f4f1e8;
    --forums-home-bg-2: #fffdf6;
    --forums-home-ink: #0a2540;
    --forums-home-ink-2: #3a5578;
    --forums-home-ink-3: #6a7f99;
    --forums-home-brand: #0e4c92;
    --forums-home-brand-2: #1a6fd6;
    --forums-home-brand-deep: #062b55;
    --forums-home-accent: #ffd429;
    --forums-home-accent-2: #ffb800;
    --forums-home-coral: #ff6b5b;
    --forums-home-mint: #3ecf8e;
    --forums-home-grape: #8b5cf6;
}

body.passlord-forums-index-page #page-content {
    margin-top: 0;
    padding-inline: clamp(20px, 2.5vw, 40px);
    padding-bottom: clamp(40px, 5vw, 72px);
}

body.passlord-forums-index-page #container {
    padding-top: var(--forums-topbar-offset, 160px);
}

body.passlord-forums-index-page .forums-page--index {
    width: min(100%, var(--layout-wide-max));
    margin: 0 auto;
    gap: clamp(22px, 2vw, 32px);
}

body.passlord-forums-index-page .forums-page--index::before {
    content: none;
}

body.passlord-forums-index-page .forums-main {
    gap: clamp(22px, 2vw, 30px);
}

body.passlord-forums-index-page .forums-sidebar__section,
body.passlord-forums-index-page .forums-feed-head,
body.passlord-forums-index-page .forum-section,
body.passlord-forums-index-page .forum-card,
body.passlord-forums-index-page .forum-card__menu-panel,
body.passlord-forums-index-page .forum-card__preview,
body.passlord-forums-index-page .forum-card__last-post {
    border-color: rgba(10, 37, 64, 0.1);
    box-shadow: 0 10px 26px rgba(10, 37, 64, 0.08);
}

body.passlord-forums-index-page .forums-sidebar__section,
body.passlord-forums-index-page .forum-card,
body.passlord-forums-index-page .forum-card__menu-panel,
body.passlord-forums-index-page .forum-card__preview,
body.passlord-forums-index-page .forum-card__last-post {
    background: color-mix(in srgb, var(--forums-home-bg-2) 94%, white);
}

body.passlord-forums-index-page .forums-sidebar__section,
body.passlord-forums-index-page .forum-section {
    padding: clamp(20px, 2vw, 28px);
    border-radius: 32px;
}

body.passlord-forums-index-page .forums-sidebar__section {
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--forums-home-bg-2) 94%, white), color-mix(in srgb, var(--forums-home-bg) 92%, white));
}

body.passlord-forums-index-page .forums-sidebar__section-head {
    align-items: baseline;
}

body.passlord-forums-index-page .forums-sidebar__section + .forums-sidebar__section {
    margin-top: 18px;
}

body.passlord-forums-index-page .forums-sidebar__link,
body.passlord-forums-index-page .forums-sidebar__ghost {
    color: var(--forums-home-ink) !important;
}

body.passlord-forums-index-page .forums-sidebar__link:hover,
body.passlord-forums-index-page .forums-sidebar__link:focus {
    background: rgba(14, 76, 146, 0.08);
}

body.passlord-forums-index-page .forums-sidebar__link.is-active {
    background: rgba(255, 212, 41, 0.22);
    color: var(--forums-home-brand) !important;
}

body.passlord-forums-index-page .forums-sidebar__link--accent {
    background: linear-gradient(135deg, var(--forums-home-accent), var(--forums-home-accent-2));
    color: var(--forums-home-ink) !important;
    box-shadow: 0 4px 0 var(--forums-home-ink);
}

body.passlord-forums-index-page .forums-sidebar__badge {
    background: rgba(10, 37, 64, 0.08);
    color: var(--forums-home-ink);
}

body.passlord-forums-index-page .forums-feed-head {
    position: relative;
    overflow: hidden;
    padding: clamp(28px, 3vw, 40px);
    border-radius: 36px;
    background:
        radial-gradient(circle at top right, rgba(255, 107, 91, 0.14), transparent 30%),
        radial-gradient(circle at left bottom, rgba(26, 111, 214, 0.14), transparent 26%),
        linear-gradient(135deg, color-mix(in srgb, var(--forums-home-bg-2) 90%, white), color-mix(in srgb, var(--forums-home-bg) 94%, white));
    box-shadow: 0 28px 70px rgba(10, 37, 64, 0.12);
}

body.passlord-forums-index-page .forums-feed-head h1,
body.passlord-forums-index-page .forum-section__header h2,
body.passlord-forums-index-page .forum-card__title {
    color: var(--forums-home-ink);
}

body.passlord-forums-index-page .forum-section__header h2 a,
body.passlord-forums-index-page .forum-card__title a {
    color: inherit !important;
}

body.passlord-forums-index-page .forums-feed-head__lead {
    max-width: 48rem;
    font-size: clamp(1rem, 1.15vw, 1.18rem);
    line-height: 1.68;
    color: var(--forums-home-ink-2);
}

body.passlord-forums-index-page .forums-feed-head__meta,
body.passlord-forums-index-page .forum-section__header p,
body.passlord-forums-index-page .forum-card__meta,
body.passlord-forums-index-page .forum-card__preview-body,
body.passlord-forums-index-page .forum-card__last-copy time {
    color: var(--forums-home-ink-2);
}

body.passlord-forums-index-page .forums-feed-head__tools {
    gap: 1rem;
}

body.passlord-forums-index-page .forums-button,
body.passlord-forums-index-page .forums-sort-tabs__item {
    min-height: 3rem;
    padding: 0.7rem 1.1rem;
    background: color-mix(in srgb, var(--forums-home-bg-2) 92%, white);
    border-color: rgba(10, 37, 64, 0.1);
    color: var(--forums-home-ink) !important;
}

body.passlord-forums-index-page .forums-button:hover,
body.passlord-forums-index-page .forums-button:focus,
body.passlord-forums-index-page .forums-sort-tabs__item:hover,
body.passlord-forums-index-page .forums-sort-tabs__item:focus {
    box-shadow: 0 10px 26px rgba(10, 37, 64, 0.08);
}

body.passlord-forums-index-page .forums-sort-tabs__item.is-active {
    background: linear-gradient(135deg, var(--forums-home-brand), var(--forums-home-brand-deep));
    color: #ffffff !important;
}

body.passlord-forums-index-page .forum-sections,
body.passlord-forums-index-page .forum-card-list {
    gap: clamp(16px, 1.4vw, 22px);
}

body.passlord-forums-index-page .forum-section {
    overflow: hidden;
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--forums-accent) 16%, transparent), transparent 26%),
        linear-gradient(180deg, color-mix(in srgb, var(--forums-home-bg-2) 95%, white), color-mix(in srgb, var(--forums-home-bg) 94%, white));
}

body.passlord-forums-index-page .forum-section__header {
    margin-bottom: clamp(18px, 1.8vw, 24px);
}

body.passlord-forums-index-page .forum-card {
    position: relative;
    overflow: hidden;
    gap: 1rem 1.1rem;
    padding: clamp(18px, 1.6vw, 24px);
    border-radius: 28px;
}

body.passlord-forums-index-page .forum-card::before {
    content: "";
    position: absolute;
    top: 18px;
    right: 18px;
    width: 72px;
    height: 72px;
    border-radius: 999px;
    background: radial-gradient(circle, color-mix(in srgb, var(--forums-accent) 20%, transparent), transparent 70%);
    pointer-events: none;
}

body.passlord-forums-index-page .forum-card:hover,
body.passlord-forums-index-page .forum-card:focus-within {
    transform: translateY(-4px);
    box-shadow: 0 28px 70px rgba(10, 37, 64, 0.12);
}

body.passlord-forums-index-page .forum-card__indicator {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 18px;
    color: var(--forums-accent-strong);
    background: color-mix(in srgb, var(--forums-accent) 14%, white);
}

body.passlord-forums-index-page .forum-card__forum-chip {
    background: color-mix(in srgb, var(--forums-accent) 14%, white);
    color: var(--forums-accent-strong) !important;
}

body.passlord-forums-index-page .forum-card__badge {
    background: rgba(10, 37, 64, 0.06);
    color: var(--forums-home-ink-2);
}

body.passlord-forums-index-page .forum-card__badge--pinned {
    background: rgba(255, 212, 41, 0.24);
    color: #8a5a00;
}

body.passlord-forums-index-page .forum-card__badge--locked {
    background: rgba(139, 92, 246, 0.14);
    color: #5f3bc4;
}

body.passlord-forums-index-page .forum-card__menu summary {
    background: rgba(10, 37, 64, 0.04);
    color: var(--forums-home-ink);
}

body.passlord-forums-index-page .forum-card__menu[open] summary {
    background: rgba(10, 37, 64, 0.08);
}

body.passlord-forums-index-page .forum-card__menu-link {
    color: var(--forums-home-ink) !important;
}

body.passlord-forums-index-page .forum-card__menu-link:hover,
body.passlord-forums-index-page .forum-card__menu-link:focus {
    background: rgba(14, 76, 146, 0.08);
}

body.passlord-forums-index-page .forum-card__preview {
    background: rgba(247, 250, 255, 0.92);
}

body.passlord-forums-index-page .forum-card__preview-label,
body.passlord-forums-index-page .forum-card__last-label,
body.passlord-forums-index-page .forums-sidebar__eyebrow,
body.passlord-forums-index-page .forums-feed-head__eyebrow,
body.passlord-forums-index-page .forum-section__eyebrow {
    color: var(--forums-home-brand-2);
}

body.passlord-forums-index-page .forum-stat {
    background: color-mix(in srgb, var(--forums-home-bg-2) 92%, white);
    color: var(--forums-home-ink-2);
}

body.passlord-forums-index-page .forum-stat svg {
    color: var(--forums-accent-strong);
}

body.passlord-forums-index-page .forum-card__last-post {
    background: linear-gradient(180deg, rgba(247, 250, 255, 0.94), rgba(255, 253, 246, 0.94));
    border-radius: 24px;
    min-height: 100%;
}

body.passlord-forums-index-page .forum-avatar {
    border-radius: 18px;
    background: linear-gradient(135deg, var(--forums-home-brand), var(--forums-home-brand-deep));
}

body.passlord-forums-index-page .forums-fab {
    background: linear-gradient(135deg, var(--forums-home-accent), var(--forums-home-accent-2));
    color: var(--forums-home-ink) !important;
    box-shadow: 0 18px 34px rgba(255, 184, 0, 0.28);
}

@media (max-width: 1079px) {
    body.passlord-forums-index-page #page-content {
        padding-inline: clamp(16px, 2.5vw, 24px);
    }

    body.passlord-forums-index-page .forums-feed-head {
        padding: 24px;
        border-radius: 28px;
    }

    body.passlord-forums-index-page .forums-sidebar__section,
    body.passlord-forums-index-page .forum-section {
        border-radius: 28px;
    }
}

@media (max-width: 767px) {
    body.passlord-forums-index-page #page-content {
        padding-inline: 16px;
        padding-bottom: calc(var(--space-7) + 4.2rem);
    }

    body.passlord-forums-index-page #container {
        padding-top: var(--forums-topbar-offset, 124px);
    }

    body.passlord-forums-index-page .forums-page--index {
        gap: 18px;
    }

    body.passlord-forums-index-page .forums-topbar {
        gap: 8px;
    }

    body.passlord-forums-index-page .forums-topbar__start,
    body.passlord-forums-index-page .forums-topbar__end {
        gap: 8px;
    }

    body.passlord-forums-index-page .forums-brand__copy {
        display: none;
    }

    body.passlord-forums-index-page .forums-topbar__link {
        min-height: 42px;
        padding: 0 12px;
        font-size: 0.88rem;
    }

    body.passlord-forums-index-page .forums-feed-head,
    body.passlord-forums-index-page .forums-sidebar__section,
    body.passlord-forums-index-page .forum-section,
    body.passlord-forums-index-page .forum-card {
        border-radius: 24px;
    }

    body.passlord-forums-index-page .forum-card::before {
        width: 56px;
        height: 56px;
    }
}

/* Forums redesign v3.05: category page aligned with Passlord home */

body.passlord-forums-category-page {
    --forums-home-bg: #f4f1e8;
    --forums-home-bg-2: #fffdf6;
    --forums-home-ink: #0a2540;
    --forums-home-ink-2: #3a5578;
    --forums-home-ink-3: #6a7f99;
    --forums-home-brand: #0e4c92;
    --forums-home-brand-2: #1a6fd6;
    --forums-home-brand-deep: #062b55;
    --forums-home-accent: #ffd429;
    --forums-home-accent-2: #ffb800;
    --forums-home-coral: #ff6b5b;
    --forums-home-mint: #3ecf8e;
    --forums-home-grape: #8b5cf6;
}

body.passlord-forums-category-page #page-content {
    margin-top: 0;
    padding-inline: clamp(20px, 2.5vw, 40px);
    padding-bottom: clamp(48px, 5vw, 80px);
}

body.passlord-forums-category-page #container {
    padding-top: var(--forums-topbar-offset, 160px);
}

body.passlord-forums-category-page .forums-page--category {
    width: min(100%, var(--layout-wide-max));
    margin: 0 auto;
    gap: clamp(22px, 2vw, 32px);
}

body.passlord-forums-category-page .forums-page--category::before {
    content: none;
}

body.passlord-forums-category-page .forums-main {
    gap: clamp(20px, 1.8vw, 28px);
}

body.passlord-forums-category-page .forums-sidebar__section,
body.passlord-forums-category-page .forums-feed-head,
body.passlord-forums-category-page .forum-section,
body.passlord-forums-category-page .forum-card,
body.passlord-forums-category-page .forum-card__menu-panel,
body.passlord-forums-category-page .forum-card__preview,
body.passlord-forums-category-page .forum-card__last-post,
body.passlord-forums-category-page .forum-pagination-legacy {
    border-color: rgba(10, 37, 64, 0.1);
    box-shadow: 0 10px 26px rgba(10, 37, 64, 0.08);
}

body.passlord-forums-category-page .forums-sidebar__section,
body.passlord-forums-category-page .forum-card,
body.passlord-forums-category-page .forum-card__menu-panel,
body.passlord-forums-category-page .forum-card__preview,
body.passlord-forums-category-page .forum-card__last-post,
body.passlord-forums-category-page .forum-pagination-legacy {
    background: color-mix(in srgb, var(--forums-home-bg-2) 94%, white);
}

body.passlord-forums-category-page .forums-sidebar__section,
body.passlord-forums-category-page .forum-section {
    padding: clamp(20px, 2vw, 28px);
    border-radius: 32px;
}

body.passlord-forums-category-page .forums-sidebar__section {
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--forums-home-bg-2) 94%, white), color-mix(in srgb, var(--forums-home-bg) 92%, white));
}

body.passlord-forums-category-page .forums-sidebar__section-head {
    align-items: baseline;
}

body.passlord-forums-category-page .forums-sidebar__section + .forums-sidebar__section {
    margin-top: 18px;
}

body.passlord-forums-category-page .forums-sidebar__link,
body.passlord-forums-category-page .forums-sidebar__ghost {
    color: var(--forums-home-ink) !important;
}

body.passlord-forums-category-page .forums-sidebar__link:hover,
body.passlord-forums-category-page .forums-sidebar__link:focus {
    background: rgba(14, 76, 146, 0.08);
}

body.passlord-forums-category-page .forums-sidebar__link.is-active {
    background: rgba(255, 212, 41, 0.22);
    color: var(--forums-home-brand) !important;
}

body.passlord-forums-category-page .forums-sidebar__link--accent {
    background: linear-gradient(135deg, var(--forums-home-accent), var(--forums-home-accent-2));
    color: var(--forums-home-ink) !important;
    box-shadow: 0 4px 0 var(--forums-home-ink);
}

body.passlord-forums-category-page .forums-sidebar__badge {
    background: rgba(10, 37, 64, 0.08);
    color: var(--forums-home-ink);
}

body.passlord-forums-category-page .forums-feed-head {
    position: relative;
    overflow: hidden;
    padding: clamp(28px, 3vw, 40px);
    border-radius: 36px;
    background:
        radial-gradient(circle at top right, rgba(255, 107, 91, 0.14), transparent 30%),
        radial-gradient(circle at left bottom, rgba(26, 111, 214, 0.14), transparent 26%),
        linear-gradient(135deg, color-mix(in srgb, var(--forums-home-bg-2) 90%, white), color-mix(in srgb, var(--forums-home-bg) 94%, white));
    box-shadow: 0 28px 70px rgba(10, 37, 64, 0.12);
}

body.passlord-forums-category-page .forums-feed-head h1,
body.passlord-forums-category-page .forum-section__header h2,
body.passlord-forums-category-page .forum-card__title {
    color: var(--forums-home-ink);
}

body.passlord-forums-category-page .forum-section__header h2 a,
body.passlord-forums-category-page .forum-card__title a {
    color: inherit !important;
}

body.passlord-forums-category-page .forums-feed-head__lead {
    max-width: 42rem;
    font-size: clamp(1rem, 1.1vw, 1.16rem);
    line-height: 1.68;
    color: var(--forums-home-ink-2);
}

body.passlord-forums-category-page .forums-feed-head__meta,
body.passlord-forums-category-page .forum-section__header p,
body.passlord-forums-category-page .forum-card__meta,
body.passlord-forums-category-page .forum-card__preview-body,
body.passlord-forums-category-page .forum-card__last-copy time {
    color: var(--forums-home-ink-2);
}

body.passlord-forums-category-page .forums-feed-head__tools {
    gap: 1rem;
}

body.passlord-forums-category-page .forums-button,
body.passlord-forums-category-page .forums-sort-tabs__item {
    min-height: 3rem;
    padding: 0.7rem 1.1rem;
    background: color-mix(in srgb, var(--forums-home-bg-2) 92%, white);
    border-color: rgba(10, 37, 64, 0.1);
    color: var(--forums-home-ink) !important;
}

body.passlord-forums-category-page .forums-button:hover,
body.passlord-forums-category-page .forums-button:focus,
body.passlord-forums-category-page .forums-sort-tabs__item:hover,
body.passlord-forums-category-page .forums-sort-tabs__item:focus {
    box-shadow: 0 10px 26px rgba(10, 37, 64, 0.08);
}

body.passlord-forums-category-page .forums-button--primary {
    background: linear-gradient(135deg, var(--forums-home-brand-2), var(--forums-home-brand));
    color: #ffffff !important;
}

body.passlord-forums-category-page .forums-sort-tabs__item.is-active {
    background: linear-gradient(135deg, var(--forums-home-brand), var(--forums-home-brand-deep));
    color: #ffffff !important;
}

body.passlord-forums-category-page .forum-sections,
body.passlord-forums-category-page .forum-card-list {
    gap: clamp(16px, 1.4vw, 22px);
}

body.passlord-forums-category-page .forum-section {
    overflow: hidden;
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--forums-accent) 16%, transparent), transparent 26%),
        linear-gradient(180deg, color-mix(in srgb, var(--forums-home-bg-2) 95%, white), color-mix(in srgb, var(--forums-home-bg) 94%, white));
}

body.passlord-forums-category-page .forum-section--featured {
    background:
        radial-gradient(circle at top right, rgba(255, 212, 41, 0.18), transparent 28%),
        linear-gradient(180deg, rgba(255, 247, 233, 0.96), rgba(255, 255, 255, 0.9));
}

body.passlord-forums-category-page .forum-section__header {
    margin-bottom: clamp(18px, 1.8vw, 24px);
}

body.passlord-forums-category-page .forum-card {
    position: relative;
    overflow: hidden;
    gap: 1rem 1.1rem;
    padding: clamp(18px, 1.6vw, 24px);
    border-radius: 28px;
}

body.passlord-forums-category-page .forum-card::before {
    content: "";
    position: absolute;
    top: 18px;
    right: 18px;
    width: 72px;
    height: 72px;
    border-radius: 999px;
    background: radial-gradient(circle, color-mix(in srgb, var(--forums-accent) 20%, transparent), transparent 70%);
    pointer-events: none;
}

body.passlord-forums-category-page .forum-card:hover,
body.passlord-forums-category-page .forum-card:focus-within {
    transform: translateY(-4px);
    box-shadow: 0 28px 70px rgba(10, 37, 64, 0.12);
}

body.passlord-forums-category-page .forum-card__indicator {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 18px;
    color: var(--forums-accent-strong);
    background: color-mix(in srgb, var(--forums-accent) 14%, white);
}

body.passlord-forums-category-page .forum-card__forum-chip {
    background: color-mix(in srgb, var(--forums-accent) 14%, white);
    color: var(--forums-accent-strong) !important;
}

body.passlord-forums-category-page .forum-card__badge {
    background: rgba(10, 37, 64, 0.06);
    color: var(--forums-home-ink-2);
}

body.passlord-forums-category-page .forum-card__badge--pinned {
    background: rgba(255, 212, 41, 0.24);
    color: #8a5a00;
}

body.passlord-forums-category-page .forum-card__badge--locked {
    background: rgba(139, 92, 246, 0.14);
    color: #5f3bc4;
}

body.passlord-forums-category-page .forum-card__menu summary {
    background: rgba(10, 37, 64, 0.04);
    color: var(--forums-home-ink);
}

body.passlord-forums-category-page .forum-card__menu[open] summary {
    background: rgba(10, 37, 64, 0.08);
}

body.passlord-forums-category-page .forum-card__menu-link {
    color: var(--forums-home-ink) !important;
}

body.passlord-forums-category-page .forum-card__menu-link:hover,
body.passlord-forums-category-page .forum-card__menu-link:focus {
    background: rgba(14, 76, 146, 0.08);
}

body.passlord-forums-category-page .forum-card__preview {
    background: rgba(247, 250, 255, 0.92);
}

body.passlord-forums-category-page .forum-card__preview-label,
body.passlord-forums-category-page .forum-card__last-label,
body.passlord-forums-category-page .forums-sidebar__eyebrow,
body.passlord-forums-category-page .forums-feed-head__eyebrow,
body.passlord-forums-category-page .forum-section__eyebrow {
    color: var(--forums-home-brand-2);
}

body.passlord-forums-category-page .forum-stat {
    background: color-mix(in srgb, var(--forums-home-bg-2) 92%, white);
    color: var(--forums-home-ink-2);
}

body.passlord-forums-category-page .forum-stat svg {
    color: var(--forums-accent-strong);
}

body.passlord-forums-category-page .forum-card__last-post {
    background: linear-gradient(180deg, rgba(247, 250, 255, 0.94), rgba(255, 253, 246, 0.94));
    border-radius: 24px;
    min-height: 100%;
}

body.passlord-forums-category-page .forum-avatar {
    border-radius: 18px;
    background: linear-gradient(135deg, var(--forums-home-brand), var(--forums-home-brand-deep));
}

body.passlord-forums-category-page .forum-pagination-legacy {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 16px 18px;
    border: 1px solid rgba(10, 37, 64, 0.1);
    border-radius: 24px;
}

body.passlord-forums-category-page .forum-pagination-legacy div {
    width: 100%;
    text-align: left !important;
}

body.passlord-forums-category-page .forum-pagination-legacy a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid rgba(10, 37, 64, 0.1);
    background: color-mix(in srgb, var(--forums-home-bg-2) 92%, white);
    color: var(--forums-home-ink) !important;
    text-decoration: none !important;
}

body.passlord-forums-category-page .forums-fab {
    background: linear-gradient(135deg, var(--forums-home-accent), var(--forums-home-accent-2));
    color: var(--forums-home-ink) !important;
    box-shadow: 0 18px 34px rgba(255, 184, 0, 0.28);
}

@media (min-width: 1080px) {
    body.passlord-forums-category-page .forums-feed-head--category {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
    }

    body.passlord-forums-category-page .forums-feed-head__tools {
        align-items: flex-end;
        text-align: right;
    }
}

@media (max-width: 1079px) {
    body.passlord-forums-category-page #page-content {
        padding-inline: clamp(16px, 2.5vw, 24px);
    }

    body.passlord-forums-category-page .forums-feed-head {
        padding: 24px;
        border-radius: 28px;
    }

    body.passlord-forums-category-page .forums-sidebar__section,
    body.passlord-forums-category-page .forum-section {
        border-radius: 28px;
    }
}

@media (max-width: 767px) {
    body.passlord-forums-category-page #page-content {
        padding-inline: 16px;
        padding-bottom: calc(var(--space-7) + 4.2rem);
    }

    body.passlord-forums-category-page #container {
        padding-top: var(--forums-topbar-offset, 124px);
    }

    body.passlord-forums-category-page .forums-page--category {
        gap: 18px;
    }

    body.passlord-forums-category-page .forums-topbar {
        gap: 8px;
    }

    body.passlord-forums-category-page .forums-topbar__start,
    body.passlord-forums-category-page .forums-topbar__end {
        gap: 8px;
    }

    body.passlord-forums-category-page .forums-brand__copy {
        display: none;
    }

    body.passlord-forums-category-page .forums-topbar__link {
        min-height: 42px;
        padding: 0 12px;
        font-size: 0.88rem;
    }

    body.passlord-forums-category-page .forums-feed-head,
    body.passlord-forums-category-page .forums-sidebar__section,
    body.passlord-forums-category-page .forum-section,
    body.passlord-forums-category-page .forum-card,
    body.passlord-forums-category-page .forum-pagination-legacy {
        border-radius: 24px;
    }

    body.passlord-forums-category-page .forums-feed-head__tools {
        align-items: flex-start;
        text-align: left;
    }

    body.passlord-forums-category-page .forum-card::before {
        width: 56px;
        height: 56px;
    }

    /* Allow the menu dropdown ([open]) to escape its card without being clipped
       by overflow:hidden defined on the desktop redesign (used to contain a
       decorative ::before blob). The blob is now confined via clip-path, while
       the dropdown can pop above its siblings thanks to a higher stacking ctx. */
    body.passlord-forums-category-page .forum-section,
    body.passlord-forums-category-page .forum-card {
        overflow: visible;
    }

    body.passlord-forums-category-page .forum-card {
        clip-path: inset(0 round 18px);
    }

    body.passlord-forums-category-page .forum-card:has(.forum-card__menu[open]) {
        clip-path: none;
        z-index: 20;
    }

    body.passlord-forums-category-page .forum-card__menu-panel {
        z-index: 50;
    }

    /* Topic card on category page : grid 2-col where row 1 holds pokeball +
       topline inline, and every other section (title, meta, stats, last-post)
       spans both columns to use the full card width. Uses `display: contents`
       on __main so its children flow into the parent grid. */
    body.passlord-forums-category-page .forum-card {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        column-gap: 0.55rem;
        row-gap: var(--space-2);
        padding: var(--space-3) var(--space-4);
        border-radius: 18px;
        align-items: start;
    }

    body.passlord-forums-category-page .forum-card__indicator {
        grid-row: 1;
        grid-column: 1;
        width: 1.7rem;
        height: 1.7rem;
        border-radius: 10px;
        align-self: start;
    }

    body.passlord-forums-category-page .forum-card__indicator svg {
        width: 1rem;
        height: 1rem;
    }

    body.passlord-forums-category-page .forum-card__main {
        display: contents;
    }

    body.passlord-forums-category-page .forum-card__topline {
        grid-row: 1;
        grid-column: 2;
        margin-bottom: 0;
        gap: 0.4rem;
        align-items: center;
        min-width: 0;
    }

    body.passlord-forums-category-page .forum-card__title,
    body.passlord-forums-category-page .forum-card__meta,
    body.passlord-forums-category-page .forum-card__stats,
    body.passlord-forums-category-page .forum-card__footer,
    body.passlord-forums-category-page .forum-card__preview,
    body.passlord-forums-category-page .forum-card__last-post {
        grid-column: 1 / -1;
    }

    body.passlord-forums-category-page .forum-card__title {
        font-size: 0.98rem;
        line-height: 1.25;
    }

    body.passlord-forums-category-page .forum-card__meta {
        font-size: 0.82rem;
    }

    body.passlord-forums-category-page .forum-card__last-post {
        gap: 0.6rem;
        padding: 0.55rem 0.7rem;
        border-radius: 14px;
        align-items: center;
    }

    body.passlord-forums-category-page .forum-card__last-post .forum-avatar {
        width: 2.2rem;
        height: 2.2rem;
        flex-shrink: 0;
    }

    body.passlord-forums-category-page .forum-card__last-copy {
        flex: 1;
        flex-direction: row;
        align-items: baseline;
        flex-wrap: wrap;
        gap: 0.25rem 0.45rem;
        min-width: 0;
    }

    body.passlord-forums-category-page .forum-card__last-label {
        display: none;
    }

    body.passlord-forums-category-page .forum-card__forum-chip,
    body.passlord-forums-category-page .forum-card__badge,
    body.passlord-forums-category-page .forum-card__menu summary {
        min-height: 26px;
        padding: 0.22rem 0.55rem;
        font-size: 0.66rem;
    }

    body.passlord-forums-category-page .forum-stat {
        flex: 1 1 calc(50% - 0.4rem);
        justify-content: center;
        min-height: 30px;
        padding: 0.32rem 0.6rem;
        font-size: 0.8rem;
    }

    body.passlord-forums-category-page .forum-stat svg {
        width: 0.9rem;
        height: 0.9rem;
    }

    body.passlord-forums-category-page .forum-stat__label {
        display: none;
    }

    body.passlord-forums-category-page .forum-card-list,
    body.passlord-forums-category-page .forum-sections {
        gap: var(--space-2);
    }
}

/* Forums redesign v3: thread view */

.forums-page--topic .forums-main {
    width: 100%;
    max-width: 980px;
}

.forums-thread-shell {
    position: relative;
}

.forums-thread-progress {
    position: sticky;
    top: 84px;
    z-index: 6;
    height: 4px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(103, 122, 161, 0.18);
    margin-bottom: var(--space-3);
}

.forums-thread-progress span {
    display: block;
    width: 100%;
    height: 100%;
    transform-origin: 0 50%;
    transform: scaleX(0);
    background: linear-gradient(90deg, var(--forums-accent), var(--forums-accent-strong));
    transition: transform 120ms ease-out;
}

.forums-thread-head,
.forums-thread-note,
.forums-thread-pager,
.forums-mod-box,
.forums-post-card__surface {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(116, 136, 176, 0.14);
    box-shadow: 0 18px 42px rgba(22, 34, 67, 0.08);
}

.forums-thread-head {
    display: grid;
    gap: var(--space-4);
    padding: 1.45rem 1.55rem;
    border-radius: 30px;
}

.forums-thread-head__eyebrow {
    margin: 0 0 0.35rem;
    color: #6d7895;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.forums-thread-head h1,
.forums-poll-card__head h2,
.passlord-login-card__head h2,
.passlord-login-aside h1,
.passlord-login-card--success h1,
.passlord-profile__title-row h1,
.passlord-profile__section-head h2 {
    font-family: var(--font-title);
    font-weight: 800;
    letter-spacing: -0.035em;
}

.forums-mod-box summary,
.passlord-profile__panel h3,
.passlord-profile__aside-card h3 {
    font-family: var(--font-title);
    font-weight: 700;
    letter-spacing: -0.025em;
}

.forums-thread-head h1 {
    margin: 0;
    color: #1f2a43;
    font-size: clamp(1.8rem, 2vw + 1rem, 2.4rem);
    line-height: 1.08;
}

.forums-thread-head__lead,
.forums-thread-note,
.forums-post-card__meta,
.forums-post-card__edited,
.forums-poll-card__head p,
.forums-poll-results__total {
    color: #6b7794;
}

.forums-thread-head__lead {
    margin: 0.6rem 0 0;
    max-width: 44rem;
    line-height: 1.55;
}

.forums-thread-head__tools {
    display: grid;
    gap: var(--space-3);
}

.forums-thread-head__badges,
.forums-thread-head__actions,
.forums-thread-pager__actions,
.forums-mod-box__links,
.forums-post-actions,
.forums-post-card__author-line {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.forums-thread-note {
    margin-top: var(--space-3);
    padding: 0.9rem 1rem;
    border-radius: 22px;
}

.forums-thread-pager,
.forums-mod-box {
    margin-top: var(--space-3);
    padding: 1rem 1.1rem;
    border-radius: 24px;
}

.forums-thread-pager {
    display: grid;
    gap: var(--space-3);
}

/* ----- Modern pager (touch-friendly) ----- */
.forums-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    padding: 4px;
    background: rgba(232, 238, 251, 0.6);
    border: 1px solid rgba(116, 136, 176, 0.16);
    border-radius: 999px;
}

.forums-pager__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 40px;
    min-width: 40px;
    padding: 0 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #22304d;
    border: 1px solid rgba(116, 136, 176, 0.16);
    font-size: var(--fs-2);
    font-weight: 700;
    text-decoration: none !important;
    transition: transform 120ms ease, box-shadow 120ms ease, background 120ms ease;
}

.forums-pager__btn:hover,
.forums-pager__btn:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(34, 48, 77, 0.12);
    background: #ffffff;
    outline: none;
}

.forums-pager__btn--icon {
    padding: 0;
    width: 40px;
}

.forums-pager__btn svg {
    width: 16px;
    height: 16px;
}

.forums-pager__btn.is-disabled {
    opacity: 0.36;
    pointer-events: none;
    background: rgba(255, 255, 255, 0.7);
}

.forums-pager__progress {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    line-height: 1.1;
    color: #22304d;
}

.forums-pager__progress strong {
    font-family: var(--font-title, system-ui, sans-serif);
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: -0.01em;
}

.forums-pager__progress small {
    font-family: var(--font-mono, ui-monospace, monospace);
    font-size: 0.7rem;
    color: #6b7794;
    letter-spacing: 0.04em;
    margin-top: 1px;
}

/* ----- Autoload sentinel ----- */
.forums-thread-autoload {
    margin-top: var(--space-3);
    padding: var(--space-4);
    border-radius: 22px;
    border: 1px dashed rgba(116, 136, 176, 0.32);
    background: rgba(255, 255, 255, 0.72);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-3);
    text-align: center;
    color: #6b7794;
}

.forums-thread-autoload__body {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-mono, ui-monospace, monospace);
    font-size: 12px;
    letter-spacing: 0.04em;
    color: #6b7794;
}

.forums-thread-autoload__spinner {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 2px solid rgba(116, 136, 176, 0.3);
    border-top-color: var(--forums-accent-strong, #2259d4);
    animation: forumsThreadSpin 0.85s linear infinite;
}

@keyframes forumsThreadSpin {
    to { transform: rotate(360deg); }
}

.forums-thread-autoload.is-loading .forums-thread-autoload__spinner {
    opacity: 1;
}

.forums-thread-autoload:not(.is-loading) .forums-thread-autoload__spinner {
    opacity: 0;
}

.forums-thread-autoload.is-end .forums-thread-autoload__spinner {
    display: none;
}

.forums-thread-autoload__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.forums-thread-autoload .forums-button {
    min-height: 40px;
}

.forums-thread-pager__topic-reply {
    margin-left: auto;
}

.forums-mod-box summary {
    cursor: pointer;
    color: #22304d;
    font-weight: 700;
    list-style: none;
}

.forums-mod-box summary::-webkit-details-marker {
    display: none;
}

.forums-mod-box__body {
    display: grid;
    gap: var(--space-3);
    margin-top: var(--space-3);
}

.forums-inline-form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.forums-inline-form label {
    color: #24324f;
    font-size: 0.9rem;
    font-weight: 700;
}

.forums-inline-form select {
    min-width: 12rem;
    min-height: 42px;
    padding: 0.65rem 0.85rem;
    border-radius: 16px;
    border: 1px solid rgba(111, 131, 171, 0.26);
    background: #f6f8fd;
    color: #1e2942;
}

.forums-thread-stream {
    display: grid;
    gap: var(--space-3);
    margin-top: var(--space-3);
}

.forums-post-card {
    display: block;
}

.forums-post-card__rail {
    display: none;
}

.forums-post-card__line {
    display: none;
}

.forums-post-card__surface {
    position: relative;
    padding: 1.15rem 1.2rem;
    border-radius: 28px;
}

.forums-post-card.is-reported .forums-post-card__surface {
    border-color: rgba(214, 122, 55, 0.35);
    background: rgba(255, 245, 236, 0.96);
}

.forums-post-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-3);
}

.forums-post-card__author {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    min-width: 0;
}

.forums-post-card__avatar {
    width: 3rem;
    height: 3rem;
    border-radius: 18px;
}

.forums-post-card__author-copy {
    min-width: 0;
}

.forums-post-card__author-line {
    margin: 0;
    align-items: center;
}

.forums-post-card__author-line a,
.forums-post-card__author-line strong {
    color: #22304d;
    font-size: 1rem;
}

.forums-post-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0.3rem 0 0;
    font-size: 0.84rem;
}

.forums-post-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0.28rem 0.7rem;
    border-radius: 999px;
    background: #eef3ff;
    color: #4d6188;
    font-size: 0.75rem;
    font-weight: 700;
}

.forums-post-badge--author {
    background: rgba(54, 108, 232, 0.12);
    color: #355cc5;
}

.forums-post-badge--report {
    background: rgba(212, 123, 54, 0.15);
    color: #a7591d;
}

.forums-post-card__menu {
    position: relative;
}

.forums-post-card__menu summary {
    width: 2.5rem;
    height: 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 1px solid rgba(111, 131, 171, 0.22);
    background: #f6f8fd;
    color: #445478;
    cursor: pointer;
    list-style: none;
}

.forums-post-card__menu summary::-webkit-details-marker {
    display: none;
}

.forums-post-card__menu svg {
    width: 1.1rem;
    height: 1.1rem;
}

.forums-post-card__menu-panel {
    position: absolute;
    top: calc(100% + 0.45rem);
    right: 0;
    min-width: 12rem;
    display: grid;
    gap: 0.25rem;
    padding: 0.4rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(111, 131, 171, 0.18);
    box-shadow: 0 16px 36px rgba(18, 28, 54, 0.14);
    z-index: 8;
}

.forums-post-card__menu-link {
    display: block;
    padding: 0.7rem 0.8rem;
    border-radius: 14px;
    color: #22304d;
    text-decoration: none !important;
    font-size: 0.9rem;
}

.forums-post-card__menu-link:hover,
.forums-post-card__menu-link:focus {
    background: rgba(79, 124, 255, 0.12);
}

.forums-post-card__menu-link--danger {
    color: #ba4a36;
}

.forums-post-card__edited {
    margin: 0.9rem 0 0;
    font-size: 0.82rem;
}

.forums-post-card__quote {
    margin: 1rem 0 0;
    padding: 0.95rem 1rem;
    border-left: 3px solid rgba(73, 104, 182, 0.35);
    border-radius: 20px;
    background: rgba(240, 244, 252, 0.88);
}

.forums-post-card__quote-label {
    margin: 0 0 0.45rem;
    color: #425173;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.forums-post-card__content {
    margin-top: 1rem;
    color: #1c263d;
    line-height: 1.75;
    font-size: 1rem;
}

.forums-post-card__content> :first-child {
    margin-top: 0;
}

.forums-post-card__content> :last-child {
    margin-bottom: 0;
}

.forums-post-card__content img {
    max-width: 100%;
    height: auto;
    border-radius: 18px;
}

.forums-post-card__content pre,
.forums-post-card__content code {
    max-width: 100%;
    overflow-x: auto;
}

.forums-poll-card {
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 22px;
    background: rgba(243, 246, 253, 0.96);
    border: 1px solid rgba(111, 131, 171, 0.14);
}

.forums-poll-card__head h2 {
    margin: 0;
    color: #21304e;
    font-size: 1rem;
}

.forums-poll-card__head p {
    margin: 0.25rem 0 0;
    font-size: 0.84rem;
}

.forums-poll-form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.9rem;
}

.forums-poll-form label {
    color: #22304d;
    font-size: 0.9rem;
    font-weight: 700;
}

.forums-poll-form select {
    min-width: 12rem;
    min-height: 42px;
    padding: 0.65rem 0.85rem;
    border-radius: 16px;
    border: 1px solid rgba(111, 131, 171, 0.26);
    background: #ffffff;
}

.forums-poll-results {
    display: grid;
    gap: 0.85rem;
    margin-top: 0.95rem;
}

.forums-poll-result {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 2fr) auto;
    gap: 0.85rem;
    align-items: center;
}

.forums-poll-result__label {
    display: grid;
    gap: 0.15rem;
    color: #22304d;
    font-size: 0.88rem;
}

.forums-poll-result__label span,
.forums-poll-result__percent {
    color: #6b7794;
    font-size: 0.82rem;
}

.forums-poll-result__bar {
    height: 0.72rem;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(103, 122, 161, 0.16);
}

.forums-poll-result__bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--forums-accent), var(--forums-accent-strong));
}

.forums-post-card__footer {
    display: grid;
    gap: 0.85rem;
    margin-top: 1rem;
    padding-top: 0.95rem;
    border-top: 1px solid rgba(111, 131, 171, 0.12);
}

.forums-post-actions {
    align-items: center;
}

.forums-post-actions--moderation {
    padding-top: 0.15rem;
}

.forums-post-action {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0.4rem 0.75rem;
    border-radius: 999px;
    background: rgba(238, 243, 255, 0.88);
    color: #425173;
    text-decoration: none !important;
    font-size: 0.84rem;
    font-weight: 700;
}

.forums-post-action--danger {
    background: rgba(205, 93, 69, 0.1);
    color: #b14734;
}

.forums-post-action:hover,
.forums-post-action:focus {
    transform: translateY(-1px);
}

body.dark .forums-thread-head,
body.dark .forums-thread-note,
body.dark .forums-thread-pager,
body.dark .forums-mod-box,
body.dark .forums-post-card__surface,
body.dark .forums-post-card__menu-panel,
body.dark .forums-poll-card {
    background: rgba(18, 23, 35, 0.95);
    border-color: rgba(97, 115, 156, 0.2);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
}

body.dark .forums-post-card.is-reported .forums-post-card__surface {
    background: rgba(54, 35, 22, 0.92);
    border-color: rgba(175, 112, 50, 0.34);
}

body.dark .forums-thread-head h1,
body.dark .forums-mod-box summary,
body.dark .forums-post-card__author-line a,
body.dark .forums-post-card__author-line strong,
body.dark .forums-poll-card__head h2,
body.dark .forums-inline-form label,
body.dark .forums-poll-form label,
body.dark .forums-post-card__content,
body.dark .forums-post-card__menu-link {
    color: #f3f7ff;
}

body.dark .forums-thread-head__lead,
body.dark .forums-thread-note,
body.dark .forums-post-card__meta,
body.dark .forums-post-card__edited,
body.dark .forums-poll-card__head p,
body.dark .forums-poll-result__label span,
body.dark .forums-poll-result__percent,
body.dark .forums-poll-results__total {
    color: #9eabc6;
}

body.dark .forums-thread-progress {
    background: rgba(97, 115, 156, 0.16);
}

body.dark .forums-post-card__menu summary,
body.dark .forums-inline-form select,
body.dark .forums-poll-form select,
body.dark .forums-post-action,
body.dark .forums-post-badge,
body.dark .forums-post-card__quote {
    background: rgba(28, 35, 52, 0.96);
    border-color: rgba(97, 115, 156, 0.22);
    color: #dbe4f7;
}

body.dark .forums-post-badge--author {
    background: rgba(66, 113, 227, 0.22);
    color: #bfd1ff;
}

body.dark .forums-post-badge--report,
body.dark .forums-post-action--danger {
    background: rgba(168, 95, 44, 0.24);
    color: #ffcf9f;
}

body.dark .forums-post-card__quote-label {
    color: #c0cbe4;
}

body.dark .forums-post-card__quote {
    border-left-color: rgba(101, 131, 205, 0.42);
}

body.dark .forums-post-card__line {
    background: linear-gradient(180deg, rgba(121, 147, 220, 0.45), rgba(121, 147, 220, 0.08));
}

@media (min-width: 1080px) {
    .forums-page--topic .forums-layout {
        grid-template-columns: 280px minmax(0, 1fr);
    }

    .forums-thread-head {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
    }

    .forums-thread-head__tools {
        align-items: flex-end;
        text-align: right;
    }

    .forums-post-card__footer {
        opacity: 0;
        transform: translateY(4px);
        transition: opacity 160ms ease, transform 160ms ease;
        pointer-events: none;
    }

    .forums-post-card:hover .forums-post-card__footer,
    .forums-post-card:focus-within .forums-post-card__footer {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }
}

@media (max-width: 767px) {
    .forums-thread-progress {
        top: 74px;
        margin-bottom: var(--space-2);
    }

    .forums-thread-head,
    .forums-thread-note,
    .forums-thread-pager,
    .forums-mod-box,
    .forums-post-card__surface {
        border-radius: 22px;
    }

    .forums-thread-head,
    .forums-post-card__surface {
        padding: 1rem;
    }

    .forums-post-card {
        grid-template-columns: 14px minmax(0, 1fr);
        gap: 0.65rem;
    }

    .forums-post-card__avatar {
        width: 2.65rem;
        height: 2.65rem;
    }

    .forums-post-card__header {
        flex-direction: column;
        align-items: stretch;
    }

    .forums-post-card__menu {
        align-self: flex-end;
    }

    .forums-poll-result {
        grid-template-columns: 1fr;
    }

    .forums-inline-form,
    .forums-poll-form {
        align-items: stretch;
    }

    .forums-inline-form select,
    .forums-poll-form select,
    .forums-inline-form .forums-button,
    .forums-poll-form .forums-button {
        width: 100%;
    }
}

.forums-quick-reply-home {
    height: 1px;
}

.forums-quick-reply {
    display: grid;
    gap: var(--space-3);
    margin-top: var(--space-3);
    padding: 1.15rem 1.2rem;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(116, 136, 176, 0.14);
    box-shadow: 0 18px 42px rgba(22, 34, 67, 0.08);
}

.forums-quick-reply[hidden] {
    display: none !important;
}

.forums-quick-reply.is-inline {
    margin: var(--space-2) 0 var(--space-3) 3rem;
}

.forums-quick-reply__head {
    display: flex;
    justify-content: space-between;
    gap: var(--space-3);
    align-items: flex-start;
}

.forums-quick-reply__head h2,
.forums-editor-modal__header h3 {
    margin: 0;
    color: #1f2a43;
    font-size: 1.15rem;
}

.forums-quick-reply__inline-target {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    align-items: center;
}

.forums-quick-reply__form {
    display: grid;
    gap: 0.85rem;
}

.forums-quick-reply__toolbar,
.forums-quick-reply__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
}

.forums-quick-reply__tool {
    min-width: 2.5rem;
    min-height: 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.5rem 0.8rem;
    border-radius: 14px;
    border: 1px solid rgba(111, 131, 171, 0.2);
    background: #f5f7fc;
    color: #32415f;
    cursor: pointer;
}

.forums-quick-reply__tool svg {
    width: 1rem;
    height: 1rem;
}

.forums-quick-reply__input,
.forums-editor-modal__input {
    width: 100%;
    min-height: 72px;
    padding: 0.95rem 1rem;
    border-radius: 22px;
    border: 1px solid rgba(111, 131, 171, 0.22);
    background: #fbfcff;
    color: #1c263d;
    font: inherit;
    line-height: 1.6;
    resize: vertical;
}

.forums-quick-reply__input {
    transition: min-height 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.forums-quick-reply.is-expanded .forums-quick-reply__input {
    min-height: 180px;
}

.forums-quick-reply__input:focus,
.forums-editor-modal__input:focus {
    outline: none;
    border-color: rgba(61, 95, 196, 0.42);
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.12);
}

.forums-quick-reply__status {
    padding: 0.8rem 0.95rem;
    border-radius: 16px;
    font-size: 0.9rem;
    font-weight: 600;
}

.forums-quick-reply__status.is-error {
    background: rgba(215, 86, 58, 0.1);
    color: #b44733;
}

.forums-quick-reply__status.is-success {
    background: rgba(44, 145, 92, 0.12);
    color: #26764b;
}

.forums-quick-reply__placeholder {
    margin: 0;
    color: #7c88a3;
}

.forums-quick-reply.is-loading [data-quick-reply-submit] {
    opacity: 0.8;
    pointer-events: none;
}

.forums-quick-reply.is-loading [data-submit-label="1"]::before {
    content: '';
    width: 0.9rem;
    height: 0.9rem;
    display: inline-block;
    margin-right: 0.5rem;
    border-radius: 999px;
    border: 2px solid rgba(255, 255, 255, 0.45);
    border-top-color: #ffffff;
    vertical-align: -2px;
    animation: forums-spin 0.7s linear infinite;
}

.forums-editor-modal {
    position: fixed;
    inset: 0;
    z-index: 3200;
}

.forums-editor-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(12, 18, 31, 0.64);
    backdrop-filter: blur(6px);
}

.forums-editor-modal__dialog {
    position: relative;
    width: min(1100px, calc(100vw - 2rem));
    max-height: calc(100vh - 2rem);
    margin: 1rem auto;
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 1rem;
    padding: 1.15rem;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(116, 136, 176, 0.16);
    box-shadow: 0 28px 70px rgba(8, 16, 33, 0.34);
}

.forums-editor-modal__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
    min-height: 0;
}

.forums-editor-modal__preview {
    min-height: 0;
    padding: 1rem;
    border-radius: 22px;
    background: #f6f8fd;
    border: 1px solid rgba(111, 131, 171, 0.18);
    overflow: auto;
}

.forums-editor-modal__header,
.forums-editor-modal__footer {
    display: flex;
    justify-content: space-between;
    gap: var(--space-3);
    align-items: center;
}

.forums-post-card.is-fresh .forums-post-card__surface {
    animation: forums-post-fade 2.6s ease;
}

@keyframes forums-spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes forums-post-fade {
    0% {
        box-shadow: 0 0 0 0 rgba(86, 138, 255, 0.34), 0 18px 42px rgba(22, 34, 67, 0.08);
        background: rgba(230, 240, 255, 0.96);
    }

    100% {
        box-shadow: 0 18px 42px rgba(22, 34, 67, 0.08);
        background: rgba(255, 255, 255, 0.92);
    }
}

body.dark .forums-quick-reply,
body.dark .forums-editor-modal__dialog,
body.dark .forums-editor-modal__preview {
    background: rgba(18, 23, 35, 0.96);
    border-color: rgba(97, 115, 156, 0.2);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
}

body.dark .forums-quick-reply__head h2,
body.dark .forums-editor-modal__header h3 {
    color: #f3f7ff;
}

body.dark .forums-quick-reply__tool,
body.dark .forums-quick-reply__input,
body.dark .forums-editor-modal__input {
    background: rgba(28, 35, 52, 0.96);
    border-color: rgba(97, 115, 156, 0.22);
    color: #edf2ff;
}

body.dark .forums-quick-reply__status.is-error {
    background: rgba(163, 74, 56, 0.22);
    color: #ffccb9;
}

body.dark .forums-quick-reply__status.is-success {
    background: rgba(43, 116, 77, 0.24);
    color: #bff0d4;
}

body.dark .forums-post-card.is-fresh .forums-post-card__surface {
    animation: forums-post-fade-dark 2.6s ease;
}

@keyframes forums-post-fade-dark {
    0% {
        box-shadow: 0 0 0 0 rgba(101, 139, 255, 0.32), 0 18px 42px rgba(0, 0, 0, 0.28);
        background: rgba(31, 45, 71, 0.98);
    }

    100% {
        box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
        background: rgba(18, 23, 35, 0.95);
    }
}

@media (max-width: 767px) {
    .forums-quick-reply {
        padding: 1rem;
        border-radius: 22px;
    }

    .forums-quick-reply.is-inline {
        margin-left: 1rem;
    }

    .forums-quick-reply__head,
    .forums-editor-modal__header,
    .forums-editor-modal__footer {
        flex-direction: column;
        align-items: stretch;
    }

    .forums-editor-modal__dialog {
        width: calc(100vw - 1rem);
        margin: 0.5rem auto;
        padding: 0.9rem;
        border-radius: 22px;
    }

    .forums-editor-modal__body {
        grid-template-columns: 1fr;
    }
}

/* Forums redesign v3.1: topic page aligned with Passlord home */

body.passlord-forums-topic-page {
    --forums-home-bg: #f4f1e8;
    --forums-home-bg-2: #fffdf6;
    --forums-home-ink: #0a2540;
    --forums-home-ink-2: #3a5578;
    --forums-home-ink-3: #6a7f99;
    --forums-home-brand: #0e4c92;
    --forums-home-brand-2: #1a6fd6;
    --forums-home-brand-deep: #062b55;
    --forums-home-accent: #ffd429;
    --forums-home-accent-2: #ffb800;
    --forums-home-coral: #ff6b5b;
    --forums-home-mint: #3ecf8e;
    --forums-home-grape: #8b5cf6;
}

body.passlord-forums-topic-page #page-content {
    margin-top: 0;
    padding-inline: clamp(20px, 2.5vw, 40px);
    padding-bottom: clamp(56px, 6vw, 88px);
}

body.passlord-forums-topic-page #container {
    padding-top: var(--forums-topbar-offset, 160px);
}

body.passlord-forums-topic-page .forums-page--topic {
    width: min(100%, var(--layout-wide-max));
    margin: 0 auto;
    gap: clamp(22px, 2vw, 32px);
}

body.passlord-forums-topic-page .forums-page--topic::before {
    content: none;
}

body.passlord-forums-topic-page .forums-page--topic .forums-main {
    width: 100%;
    max-width: 1120px;
    gap: clamp(18px, 1.6vw, 24px);
}

body.passlord-forums-topic-page .forums-thread-progress {
    top: 92px;
    height: 6px;
    margin-bottom: clamp(4px, 0.75vw, 10px);
}

body.passlord-forums-topic-page:not(.dark) .forums-thread-progress {
    background: rgba(10, 37, 64, 0.08);
}

body.passlord-forums-topic-page:not(.dark) .forums-thread-progress span {
    background: linear-gradient(90deg, var(--forums-home-brand-2), var(--forums-home-brand), var(--forums-home-accent-2));
}

body.passlord-forums-topic-page:not(.dark) .forums-sidebar__section,
body.passlord-forums-topic-page:not(.dark) .forums-thread-note,
body.passlord-forums-topic-page:not(.dark) .forums-thread-pager,
body.passlord-forums-topic-page:not(.dark) .forums-mod-box,
body.passlord-forums-topic-page:not(.dark) .forums-post-card__surface,
body.passlord-forums-topic-page:not(.dark) .forums-post-card__menu-panel,
body.passlord-forums-topic-page:not(.dark) .forums-poll-card,
body.passlord-forums-topic-page:not(.dark) .forums-quick-reply,
body.passlord-forums-topic-page:not(.dark) .forums-editor-modal__dialog,
body.passlord-forums-topic-page:not(.dark) .forums-editor-modal__preview {
    border-color: rgba(10, 37, 64, 0.1);
    box-shadow: 0 10px 26px rgba(10, 37, 64, 0.08);
}

body.passlord-forums-topic-page:not(.dark) .forums-sidebar__section,
body.passlord-forums-topic-page:not(.dark) .forums-thread-note,
body.passlord-forums-topic-page:not(.dark) .forums-thread-pager,
body.passlord-forums-topic-page:not(.dark) .forums-mod-box,
body.passlord-forums-topic-page:not(.dark) .forums-post-card__surface,
body.passlord-forums-topic-page:not(.dark) .forums-post-card__menu-panel,
body.passlord-forums-topic-page:not(.dark) .forums-poll-card,
body.passlord-forums-topic-page:not(.dark) .forums-quick-reply,
body.passlord-forums-topic-page:not(.dark) .forums-editor-modal__dialog {
    background: color-mix(in srgb, var(--forums-home-bg-2) 94%, white);
}

body.passlord-forums-topic-page:not(.dark) .forums-sidebar__section {
    padding: clamp(20px, 2vw, 28px);
    border-radius: 32px;
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--forums-home-bg-2) 94%, white), color-mix(in srgb, var(--forums-home-bg) 92%, white));
}

body.passlord-forums-topic-page:not(.dark) .forums-sidebar__section + .forums-sidebar__section {
    margin-top: 18px;
}

body.passlord-forums-topic-page:not(.dark) .forums-sidebar__section-head {
    align-items: baseline;
}

body.passlord-forums-topic-page:not(.dark) .forums-sidebar__eyebrow,
body.passlord-forums-topic-page:not(.dark) .forums-thread-head__eyebrow,
body.passlord-forums-topic-page:not(.dark) .forums-breadcrumb__label,
body.passlord-forums-topic-page:not(.dark) .forums-post-card__quote-label {
    color: var(--forums-home-brand-2);
}

body.passlord-forums-topic-page:not(.dark) .forums-sidebar__link,
body.passlord-forums-topic-page:not(.dark) .forums-sidebar__ghost {
    color: var(--forums-home-ink) !important;
}

body.passlord-forums-topic-page:not(.dark) .forums-sidebar__link:hover,
body.passlord-forums-topic-page:not(.dark) .forums-sidebar__link:focus {
    background: rgba(14, 76, 146, 0.08);
}

body.passlord-forums-topic-page:not(.dark) .forums-sidebar__link.is-active {
    background: rgba(255, 212, 41, 0.22);
    color: var(--forums-home-brand) !important;
}

body.passlord-forums-topic-page:not(.dark) .forums-sidebar__link--accent {
    background: linear-gradient(135deg, var(--forums-home-accent), var(--forums-home-accent-2));
    color: var(--forums-home-ink) !important;
    box-shadow: 0 4px 0 var(--forums-home-ink);
}

body.passlord-forums-topic-page:not(.dark) .forums-sidebar__badge {
    background: rgba(10, 37, 64, 0.08);
    color: var(--forums-home-ink);
}

body.passlord-forums-topic-page:not(.dark) .forums-thread-head {
    position: relative;
    overflow: hidden;
    gap: clamp(18px, 1.6vw, 24px);
    padding: clamp(28px, 3vw, 42px);
    border-radius: 36px;
    border-color: rgba(10, 37, 64, 0.1);
    background:
        radial-gradient(circle at top right, rgba(255, 107, 91, 0.14), transparent 28%),
        radial-gradient(circle at left bottom, rgba(26, 111, 214, 0.14), transparent 26%),
        linear-gradient(135deg, color-mix(in srgb, var(--forums-home-bg-2) 90%, white), color-mix(in srgb, var(--forums-home-bg) 94%, white));
    box-shadow: 0 28px 70px rgba(10, 37, 64, 0.12);
}

body.passlord-forums-topic-page:not(.dark) .forums-thread-head h1 {
    color: var(--forums-home-ink);
    font-size: clamp(2.3rem, 3vw + 0.75rem, 4.1rem);
    line-height: 0.98;
    letter-spacing: -0.04em;
}

body.passlord-forums-topic-page:not(.dark) .forums-breadcrumb,
body.passlord-forums-topic-page:not(.dark) .forums-breadcrumb strong,
body.passlord-forums-topic-page:not(.dark) .forums-thread-head__lead,
body.passlord-forums-topic-page:not(.dark) .forums-thread-note,
body.passlord-forums-topic-page:not(.dark) .forums-post-card__meta,
body.passlord-forums-topic-page:not(.dark) .forums-post-card__edited,
body.passlord-forums-topic-page:not(.dark) .forums-poll-card__head p,
body.passlord-forums-topic-page:not(.dark) .forums-poll-results__total,
body.passlord-forums-topic-page:not(.dark) .forums-quick-reply__placeholder {
    color: var(--forums-home-ink-2);
}

body.passlord-forums-topic-page:not(.dark) .forums-breadcrumb a {
    color: var(--forums-home-brand) !important;
}

body.passlord-forums-topic-page:not(.dark) .forums-thread-head__lead {
    max-width: 52rem;
    font-size: clamp(1rem, 1.05vw, 1.12rem);
    line-height: 1.68;
}

body.passlord-forums-topic-page:not(.dark) .forum-card__badge,
body.passlord-forums-topic-page:not(.dark) .forums-post-badge {
    background: rgba(10, 37, 64, 0.06);
    color: var(--forums-home-ink-2);
}

body.passlord-forums-topic-page:not(.dark) .forum-card__badge--pinned,
body.passlord-forums-topic-page:not(.dark) .forums-post-badge--author {
    background: rgba(255, 212, 41, 0.24);
    color: #8a5a00;
}

body.passlord-forums-topic-page:not(.dark) .forum-card__badge--locked {
    background: rgba(139, 92, 246, 0.14);
    color: #5f3bc4;
}

body.passlord-forums-topic-page:not(.dark) .forums-post-badge--report {
    background: rgba(255, 107, 91, 0.16);
    color: #a74b3f;
}

body.passlord-forums-topic-page:not(.dark) .forums-button--primary {
    background: linear-gradient(135deg, var(--forums-home-accent), var(--forums-home-accent-2));
    color: var(--forums-home-ink) !important;
    box-shadow: 0 4px 0 var(--forums-home-ink);
}

body.passlord-forums-topic-page:not(.dark) .forums-button--ghost {
    background: color-mix(in srgb, var(--forums-home-bg-2) 92%, white);
    border-color: rgba(10, 37, 64, 0.1);
    color: var(--forums-home-ink) !important;
}

body.passlord-forums-topic-page:not(.dark) .forums-post-card {
    gap: 1rem;
}

body.passlord-forums-topic-page:not(.dark) .forums-post-card__line {
    background: linear-gradient(180deg, rgba(26, 111, 214, 0.28), rgba(26, 111, 214, 0.04));
}

body.passlord-forums-topic-page:not(.dark) .forums-post-card__surface {
    padding: clamp(20px, 1.8vw, 28px);
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--forums-accent) 12%, transparent), transparent 22%),
        linear-gradient(180deg, color-mix(in srgb, var(--forums-home-bg-2) 96%, white), color-mix(in srgb, var(--forums-home-bg) 95%, white));
}

body.passlord-forums-topic-page:not(.dark) .forums-post-card.is-reported .forums-post-card__surface {
    border-color: rgba(255, 107, 91, 0.22);
    background: linear-gradient(180deg, rgba(255, 244, 239, 0.98), rgba(255, 251, 247, 0.98));
}

body.passlord-forums-topic-page:not(.dark) .forums-post-card__avatar,
body.passlord-forums-topic-page:not(.dark) .forum-avatar {
    border-radius: 18px;
    background: linear-gradient(135deg, var(--forums-home-brand), var(--forums-home-brand-deep));
}

body.passlord-forums-topic-page:not(.dark) .forums-post-card__author-line a,
body.passlord-forums-topic-page:not(.dark) .forums-post-card__author-line strong,
body.passlord-forums-topic-page:not(.dark) .forums-post-card__content,
body.passlord-forums-topic-page:not(.dark) .forums-poll-card__head h2,
body.passlord-forums-topic-page:not(.dark) .forums-mod-box summary,
body.passlord-forums-topic-page:not(.dark) .forums-quick-reply__head h2,
body.passlord-forums-topic-page:not(.dark) .forums-editor-modal__header h3,
body.passlord-forums-topic-page:not(.dark) .forums-inline-form label,
body.passlord-forums-topic-page:not(.dark) .forums-poll-form label {
    color: var(--forums-home-ink);
}

body.passlord-forums-topic-page:not(.dark) .forums-post-card__content {
    line-height: 1.76;
}

body.passlord-forums-topic-page:not(.dark) .forums-post-card__menu summary,
body.passlord-forums-topic-page:not(.dark) .forums-quick-reply__tool,
body.passlord-forums-topic-page:not(.dark) .forums-inline-form select,
body.passlord-forums-topic-page:not(.dark) .forums-poll-form select,
body.passlord-forums-topic-page:not(.dark) .forums-quick-reply__input,
body.passlord-forums-topic-page:not(.dark) .forums-editor-modal__input,
body.passlord-forums-topic-page:not(.dark) .forums-post-action {
    background: color-mix(in srgb, var(--forums-home-bg-2) 92%, white);
    border-color: rgba(10, 37, 64, 0.12);
    color: var(--forums-home-ink) !important;
}

body.passlord-forums-topic-page:not(.dark) .forums-post-card__menu-link {
    color: var(--forums-home-ink) !important;
}

body.passlord-forums-topic-page:not(.dark) .forums-post-card__menu-link:hover,
body.passlord-forums-topic-page:not(.dark) .forums-post-card__menu-link:focus,
body.passlord-forums-topic-page:not(.dark) .forums-post-card__menu summary:hover,
body.passlord-forums-topic-page:not(.dark) .forums-post-card__menu summary:focus,
body.passlord-forums-topic-page:not(.dark) .forums-post-action:hover,
body.passlord-forums-topic-page:not(.dark) .forums-post-action:focus,
body.passlord-forums-topic-page:not(.dark) .forums-quick-reply__tool:hover,
body.passlord-forums-topic-page:not(.dark) .forums-quick-reply__tool:focus {
    background: rgba(14, 76, 146, 0.08);
}

body.passlord-forums-topic-page:not(.dark) .forums-post-card__quote,
body.passlord-forums-topic-page:not(.dark) .forums-editor-modal__preview {
    background: rgba(247, 250, 255, 0.92);
    border-color: rgba(10, 37, 64, 0.1);
}

body.passlord-forums-topic-page:not(.dark) .forums-post-card__quote {
    border-left-color: rgba(14, 76, 146, 0.24);
}

body.passlord-forums-topic-page:not(.dark) .forums-poll-card {
    background: linear-gradient(180deg, rgba(247, 250, 255, 0.96), rgba(255, 253, 246, 0.96));
}

body.passlord-forums-topic-page:not(.dark) .forums-post-card__footer {
    border-top-color: rgba(10, 37, 64, 0.08);
}

body.passlord-forums-topic-page:not(.dark) .forums-post-action--danger,
body.passlord-forums-topic-page:not(.dark) .forums-post-card__menu-link--danger {
    background: rgba(255, 107, 91, 0.14);
    color: #a74b3f !important;
}

body.passlord-forums-topic-page:not(.dark) .forums-quick-reply {
    padding: clamp(22px, 2vw, 28px);
    border-radius: 32px;
    background:
        radial-gradient(circle at top right, rgba(255, 107, 91, 0.1), transparent 28%),
        linear-gradient(180deg, color-mix(in srgb, var(--forums-home-bg-2) 96%, white), color-mix(in srgb, var(--forums-home-bg) 94%, white));
}

body.passlord-forums-topic-page:not(.dark) .forums-fab {
    background: linear-gradient(135deg, var(--forums-home-accent), var(--forums-home-accent-2));
    color: var(--forums-home-ink) !important;
    box-shadow: 0 18px 34px rgba(255, 184, 0, 0.28);
}

body.passlord-forums-topic-page:not(.dark) .forums-quick-reply__input:focus,
body.passlord-forums-topic-page:not(.dark) .forums-editor-modal__input:focus {
    border-color: rgba(14, 76, 146, 0.28);
    box-shadow: 0 0 0 4px rgba(14, 76, 146, 0.1);
}

body.passlord-forums-topic-page:not(.dark) .forums-editor-modal__dialog {
    border-radius: 32px;
    box-shadow: 0 28px 70px rgba(10, 37, 64, 0.18);
}

@media (max-width: 1079px) {
    body.passlord-forums-topic-page #page-content {
        padding-inline: clamp(16px, 2.5vw, 24px);
    }

    body.passlord-forums-topic-page .forums-page--topic .forums-main {
        max-width: none;
    }

    body.passlord-forums-topic-page:not(.dark) .forums-sidebar__section,
    body.passlord-forums-topic-page:not(.dark) .forums-thread-head,
    body.passlord-forums-topic-page:not(.dark) .forums-thread-note,
    body.passlord-forums-topic-page:not(.dark) .forums-thread-pager,
    body.passlord-forums-topic-page:not(.dark) .forums-mod-box,
    body.passlord-forums-topic-page:not(.dark) .forums-post-card__surface,
    body.passlord-forums-topic-page:not(.dark) .forums-quick-reply {
        border-radius: 28px;
    }
}

@media (max-width: 767px) {
    body.passlord-forums-topic-page #page-content {
        padding-inline: 16px;
        padding-bottom: calc(var(--space-7) + 4.2rem);
    }

    body.passlord-forums-topic-page #container {
        padding-top: var(--forums-topbar-offset, 124px);
    }

    body.passlord-forums-topic-page .forums-topbar {
        gap: 8px;
    }

    body.passlord-forums-topic-page .forums-topbar__start,
    body.passlord-forums-topic-page .forums-topbar__end {
        gap: 8px;
    }

    body.passlord-forums-topic-page .forums-brand__copy {
        display: none;
    }

    body.passlord-forums-topic-page .forums-topbar__link {
        min-height: 42px;
        padding: 0 12px;
        font-size: 0.88rem;
    }

    body.passlord-forums-topic-page .forums-thread-progress {
        top: 74px;
    }

    body.passlord-forums-topic-page:not(.dark) .forums-thread-head,
    body.passlord-forums-topic-page:not(.dark) .forums-thread-note,
    body.passlord-forums-topic-page:not(.dark) .forums-thread-pager,
    body.passlord-forums-topic-page:not(.dark) .forums-mod-box,
    body.passlord-forums-topic-page:not(.dark) .forums-post-card__surface,
    body.passlord-forums-topic-page:not(.dark) .forums-quick-reply {
        border-radius: 24px;
    }

    body.passlord-forums-topic-page:not(.dark) .forums-thread-head {
        padding: 24px;
    }

    body.passlord-forums-topic-page:not(.dark) .forums-thread-head h1 {
        font-size: 2.2rem;
    }
}

.passlord-login-page {
    width: 100%;
    max-width: none;
    margin: 2rem auto 3rem;
}

.passlord-login-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 460px);
    gap: 1.5rem;
    align-items: stretch;
}

.passlord-login-shell--status {
    grid-template-columns: minmax(0, 620px);
    justify-content: center;
}

.passlord-login-aside,
.passlord-login-card {
    position: relative;
    border-radius: 32px;
    border: 1px solid rgba(116, 136, 176, 0.14);
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 22px 48px rgba(20, 31, 61, 0.08);
}

.passlord-login-aside {
    padding: 2rem;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(242, 142, 210, 0.28), transparent 34%),
        radial-gradient(circle at bottom left, rgba(108, 167, 255, 0.2), transparent 30%),
        linear-gradient(160deg, rgba(246, 249, 255, 0.98), rgba(236, 242, 252, 0.98));
}

.passlord-login-aside::after {
    content: '';
    position: absolute;
    inset: auto -4rem -5rem auto;
    width: 16rem;
    height: 16rem;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(102, 153, 255, 0.18), rgba(102, 153, 255, 0));
    pointer-events: none;
}

.passlord-login-card {
    padding: 2rem;
}

.passlord-login-card--success {
    text-align: center;
}

.passlord-login-card__head h2,
.passlord-login-aside h1,
.passlord-login-card--success h1 {
    margin: 0;
    color: #1b2540;
    line-height: 1.08;
}

.passlord-login-aside h1,
.passlord-login-card--success h1 {
    font-size: clamp(2rem, 3vw, 3.2rem);
}

.passlord-login-card__head h2 {
    font-size: 2rem;
}

.passlord-login__eyebrow {
    margin: 0 0 0.75rem;
    color: #5b6b8c;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.passlord-login__lead,
.passlord-login-card__head p,
.passlord-login__feature span,
.passlord-login__context span,
.passlord-login-card__footer p,
.passlord-login__fatal p {
    color: #5f6d8a;
    font-size: 1rem;
    line-height: 1.65;
}

.passlord-login__context {
    display: grid;
    gap: 0.35rem;
    margin-top: 1.5rem;
    padding: 1rem 1.1rem;
    border-radius: 20px;
    background: rgba(24, 38, 73, 0.06);
    border: 1px solid rgba(94, 118, 170, 0.15);
}

.passlord-login__context strong,
.passlord-login__feature strong {
    color: #22304d;
    font-size: 0.96rem;
}

.passlord-login__feature-list {
    display: grid;
    gap: 0.9rem;
    margin-top: 1.6rem;
}

.passlord-login__feature {
    display: grid;
    gap: 0.2rem;
    padding: 1rem 1.05rem;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(116, 136, 176, 0.12);
}

.passlord-login__alert {
    margin: 1.35rem 0 0;
    padding: 0.95rem 1rem;
    border-radius: 18px;
    background: rgba(214, 94, 66, 0.1);
    border: 1px solid rgba(203, 90, 63, 0.18);
    color: #b14633;
    font-weight: 700;
}

.passlord-login-form {
    display: grid;
    gap: 1rem;
    margin-top: 1.5rem;
}

.passlord-login-form__field {
    display: grid;
    gap: 0.5rem;
}

.passlord-login-form__field label {
    margin: 0;
    color: #21304e;
    font-size: 0.92rem;
    font-weight: 700;
}

.passlord-login-form__label-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.8rem;
}

.passlord-login-form__meta-link {
    color: #4f6dcc;
    font-size: 0.88rem;
    font-weight: 700;
    text-decoration: none;
}

.passlord-login-form__input {
    width: 100%;
    min-height: 56px;
    padding: 0.95rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(116, 136, 176, 0.26);
    background: #fbfcff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
    color: #162341;
    font-size: 1rem;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.passlord-login-form__input:focus {
    outline: none;
    border-color: rgba(79, 109, 204, 0.45);
    box-shadow: 0 0 0 4px rgba(79, 109, 204, 0.12);
}

.passlord-login__button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 52px;
    padding: 0.9rem 1.2rem;
    border-radius: 18px;
    border: 1px solid transparent;
    text-decoration: none !important;
    font-size: 1rem;
    font-weight: 800;
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.passlord-login__button:hover,
.passlord-login__button:focus {
    transform: translateY(-1px);
}

.passlord-login__button--wide {
    width: 100%;
}

.passlord-login__button--primary {
    border: 0;
    background: linear-gradient(135deg, #6c97d7, #4f6dcc);
    box-shadow: 0 16px 30px rgba(79, 109, 204, 0.24);
    color: #ffffff;
}

.passlord-login__button--ghost {
    border-color: rgba(116, 136, 176, 0.2);
    background: rgba(243, 246, 252, 0.92);
    color: #30405f;
}

.passlord-login-card__footer {
    display: grid;
    gap: 0.8rem;
    margin-top: 0.4rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(116, 136, 176, 0.14);
}

.passlord-login-card__footer p,
.passlord-login__debug {
    margin: 0;
    text-align: center;
}

.passlord-login__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.8rem;
    margin-top: 1.4rem;
}

.passlord-login__fatal {
    margin-top: 1.5rem;
}

body.dark .passlord-login-aside,
body.dark .passlord-login-card {
    background: rgba(18, 23, 35, 0.95);
    border-color: rgba(97, 115, 156, 0.2);
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.28);
}

body.dark .passlord-login-aside {
    background:
        radial-gradient(circle at top right, rgba(239, 141, 212, 0.16), transparent 34%),
        radial-gradient(circle at bottom left, rgba(103, 149, 255, 0.16), transparent 30%),
        linear-gradient(160deg, rgba(26, 32, 49, 0.98), rgba(18, 23, 35, 0.98));
}

body.dark .passlord-login-card__head h2,
body.dark .passlord-login-aside h1,
body.dark .passlord-login-card--success h1,
body.dark .passlord-login__context strong,
body.dark .passlord-login__feature strong,
body.dark .passlord-login-form__field label {
    color: #f3f7ff;
}

body.dark .passlord-login__eyebrow,
body.dark .passlord-login__lead,
body.dark .passlord-login-card__head p,
body.dark .passlord-login__feature span,
body.dark .passlord-login__context span,
body.dark .passlord-login-card__footer p,
body.dark .passlord-login__fatal p {
    color: #aab6cf;
}

body.dark .passlord-login__context,
body.dark .passlord-login__feature,
body.dark .passlord-login__button--ghost {
    background: rgba(28, 35, 52, 0.92);
    border-color: rgba(97, 115, 156, 0.2);
    color: #e7efff;
}

body.dark .passlord-login-form__input {
    background: rgba(28, 35, 52, 0.96);
    border-color: rgba(97, 115, 156, 0.22);
    color: #edf2ff;
}

body.dark .passlord-login__alert {
    background: rgba(163, 74, 56, 0.22);
    border-color: rgba(191, 101, 79, 0.28);
    color: #ffd2c5;
}

@media (max-width: 980px) {
    .passlord-login-shell {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .passlord-login-page {
        width: min(100%, calc(100% - 1rem));
        margin: 1rem auto 2rem;
    }

    .passlord-login-aside,
    .passlord-login-card {
        padding: 1.2rem;
        border-radius: 24px;
    }

    .passlord-login-aside h1,
    .passlord-login-card__head h2,
    .passlord-login-card--success h1 {
        font-size: 1.8rem;
    }

    .passlord-login-form__label-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .passlord-login__actions {
        flex-direction: column;
    }
}

.passlord-register-shell {
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, 480px);
}

.passlord-register-aside {
    display: grid;
    grid-template-rows: auto minmax(260px, 1fr);
    gap: 1.5rem;
}

.passlord-register-aside__copy {
    display: grid;
    gap: 0.2rem;
}

.passlord-register-aside__context {
    margin-bottom: 0.2rem;
}

.passlord-register-illustration {
    position: relative;
    min-height: 330px;
    border-radius: 28px;
    border: 1px solid rgba(255, 255, 255, 0.34);
    overflow: hidden;
    background:
        radial-gradient(circle at top left, rgba(255, 255, 255, 0.62), rgba(255, 255, 255, 0)),
        linear-gradient(180deg, rgba(155, 204, 255, 0.68), rgba(255, 240, 204, 0.46) 58%, rgba(255, 255, 255, 0.24));
}

.passlord-register-illustration__sky,
.passlord-register-illustration__sun,
.passlord-register-illustration__hill,
.passlord-register-illustration__card {
    position: absolute;
}

.passlord-register-illustration__sky {
    inset: 0;
    background:
        radial-gradient(circle at 18% 24%, rgba(255, 255, 255, 0.52), rgba(255, 255, 255, 0) 26%),
        radial-gradient(circle at 82% 18%, rgba(255, 255, 255, 0.38), rgba(255, 255, 255, 0) 24%);
}

.passlord-register-illustration__sun {
    top: 2.4rem;
    right: 2.8rem;
    width: 5.5rem;
    height: 5.5rem;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(255, 246, 205, 0.96), rgba(255, 208, 124, 0.8));
    box-shadow: 0 0 0 16px rgba(255, 238, 170, 0.2);
}

.passlord-register-illustration__hill {
    left: -10%;
    right: -10%;
    border-radius: 50% 50% 0 0;
}

.passlord-register-illustration__hill--back {
    bottom: 3.9rem;
    height: 42%;
    background: linear-gradient(180deg, rgba(137, 200, 132, 0.9), rgba(74, 149, 87, 0.98));
}

.passlord-register-illustration__hill--front {
    bottom: -2.8rem;
    height: 48%;
    background: linear-gradient(180deg, rgba(102, 179, 110, 0.98), rgba(47, 111, 75, 1));
}

.passlord-register-illustration__card {
    display: grid;
    gap: 0.45rem;
    width: min(16rem, calc(100% - 3rem));
    padding: 1rem 1.1rem;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(116, 136, 176, 0.14);
    box-shadow: 0 18px 34px rgba(24, 36, 68, 0.12);
    color: #20304f;
}

.passlord-register-illustration__card strong {
    font-size: 0.96rem;
    line-height: 1.45;
}

.passlord-register-illustration__card--one {
    left: 1.5rem;
    bottom: 6.8rem;
    transform: rotate(-4deg);
}

.passlord-register-illustration__card--two {
    right: 1.4rem;
    bottom: 3rem;
    transform: rotate(5deg);
}

.passlord-register-illustration__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 2rem;
    padding: 0.3rem 0.8rem;
    border-radius: 999px;
    background: rgba(79, 109, 204, 0.12);
    color: #4a67bf;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.passlord-register-card {
    display: grid;
    align-content: start;
}

.passlord-register-card--success .passlord-login__lead {
    max-width: 42rem;
    margin-left: auto;
    margin-right: auto;
}

.passlord-register-form {
    gap: 1.1rem;
}

.passlord-register-form__label-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
}

.passlord-register-form__hint {
    margin: -0.1rem 0 0;
    color: #667795;
    font-size: 0.85rem;
    line-height: 1.5;
}

.passlord-register-status,
.passlord-register-strength__label {
    font-size: 0.82rem;
    font-weight: 700;
    color: #6a7894;
}

.passlord-register-status {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.passlord-register-status[data-state="loading"] {
    color: #4f6dcc;
}

.passlord-register-status[data-state="success"] {
    color: #2d8a57;
}

.passlord-register-status[data-state="error"] {
    color: #b84b39;
}

.passlord-register-password {
    position: relative;
}

.passlord-register-password__input {
    padding-right: 3.7rem;
}

.passlord-register-password__toggle {
    position: absolute;
    top: 50%;
    right: 0.9rem;
    width: 2.6rem;
    height: 2.6rem;
    transform: translateY(-50%);
    border-radius: 14px;
    border: 1px solid rgba(116, 136, 176, 0.22);
    background: rgba(244, 247, 252, 0.96);
    color: #4b5f89;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.passlord-register-password__toggle:hover,
.passlord-register-password__toggle:focus {
    transform: translateY(-50%) scale(1.02);
    border-color: rgba(79, 109, 204, 0.34);
    background: rgba(236, 242, 255, 0.98);
}

.passlord-register-password__toggle svg {
    width: 1.2rem;
    height: 1.2rem;
}

.passlord-register-strength {
    display: grid;
    gap: 0.35rem;
}

.passlord-register-strength__meter {
    display: block;
    width: 100%;
    height: 0.6rem;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(109, 129, 168, 0.16);
}

.passlord-register-strength__meter span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(135deg, #a9b6d4, #8d9dbf);
    transition: width 180ms ease, background 180ms ease;
}

.passlord-register-strength__meter span[data-strength="weak"] {
    background: linear-gradient(135deg, #f08b67, #d75743);
}

.passlord-register-strength__meter span[data-strength="medium"] {
    background: linear-gradient(135deg, #f0c267, #d99b38);
}

.passlord-register-strength__meter span[data-strength="strong"] {
    background: linear-gradient(135deg, #67be8a, #2d8a57);
}

.passlord-register-legal {
    display: grid;
    gap: 0.8rem;
    padding: 1rem 1.1rem;
    border-radius: 22px;
    background: rgba(244, 247, 252, 0.92);
    border: 1px solid rgba(116, 136, 176, 0.16);
}

.passlord-register-legal__check {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.85rem;
    align-items: start;
    margin: 0;
    color: #30405f;
    font-size: 0.94rem;
    line-height: 1.6;
}

.passlord-register-legal__check input {
    margin-top: 0.25rem;
}

.passlord-register-legal__note {
    margin: 0;
    color: #677793;
    font-size: 0.83rem;
    line-height: 1.55;
}

.passlord-register-link {
    display: inline;
    padding: 0;
    border: 0;
    background: none;
    color: #4f6dcc;
    font-weight: 800;
    text-decoration: underline;
}

.passlord-register-form__honeypot {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.passlord-modal-open {
    overflow: hidden;
}

.passlord-auth-modal {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    place-items: center;
    padding: 1rem;
}

.passlord-auth-modal[hidden] {
    display: none !important;
}

.passlord-auth-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(12, 18, 31, 0.64);
    backdrop-filter: blur(6px);
}

.passlord-auth-modal__dialog {
    position: relative;
    width: min(760px, calc(100vw - 2rem));
    max-height: calc(100vh - 2rem);
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 0.8rem;
    padding: 1.2rem;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(116, 136, 176, 0.16);
    box-shadow: 0 28px 70px rgba(8, 16, 33, 0.34);
}

.passlord-auth-modal__header {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
}

.passlord-auth-modal__header h3 {
    margin: 0;
    color: #1b2540;
    font-size: 1.65rem;
    line-height: 1.15;
}

.passlord-auth-modal__close {
    width: 2.7rem;
    height: 2.7rem;
    border-radius: 16px;
    border: 1px solid rgba(116, 136, 176, 0.18);
    background: rgba(243, 246, 252, 0.92);
    color: #30405f;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.passlord-auth-modal__close svg {
    width: 1.2rem;
    height: 1.2rem;
}

.passlord-auth-modal__body {
    min-height: 0;
    overflow: auto;
    padding-right: 0.4rem;
}

.passlord-auth-modal__body--prose h3,
.passlord-auth-modal__body--prose h4 {
    color: #1d2b49;
}

.passlord-auth-modal__body--prose h3 {
    margin: 0 0 1rem;
    font-size: 1.18rem;
}

.passlord-auth-modal__body--prose p,
.passlord-auth-modal__body--prose li {
    color: #586884;
    font-size: 0.96rem;
    line-height: 1.7;
}

.passlord-auth-modal__body--prose ul {
    padding-left: 1.2rem;
}

body.dark .passlord-register-illustration {
    border-color: rgba(255, 255, 255, 0.06);
    background:
        radial-gradient(circle at top left, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0)),
        linear-gradient(180deg, rgba(43, 71, 108, 0.8), rgba(26, 31, 47, 0.92) 58%, rgba(17, 22, 35, 0.96));
}

body.dark .passlord-register-illustration__sun {
    background: radial-gradient(circle, rgba(255, 241, 195, 0.92), rgba(245, 181, 94, 0.78));
    box-shadow: 0 0 0 16px rgba(246, 202, 106, 0.08);
}

body.dark .passlord-register-illustration__hill--back {
    background: linear-gradient(180deg, rgba(66, 115, 97, 0.88), rgba(30, 65, 55, 1));
}

body.dark .passlord-register-illustration__hill--front {
    background: linear-gradient(180deg, rgba(41, 89, 78, 0.98), rgba(17, 39, 33, 1));
}

body.dark .passlord-register-illustration__card,
body.dark .passlord-register-legal,
body.dark .passlord-auth-modal__dialog {
    background: rgba(18, 23, 35, 0.96);
    border-color: rgba(97, 115, 156, 0.2);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
}

body.dark .passlord-register-illustration__card strong,
body.dark .passlord-auth-modal__header h3,
body.dark .passlord-register-legal__check {
    color: #eef3ff;
}

body.dark .passlord-register-illustration__badge,
body.dark .passlord-register-status,
body.dark .passlord-register-strength__label,
body.dark .passlord-register-form__hint,
body.dark .passlord-register-legal__note,
body.dark .passlord-auth-modal__body--prose p,
body.dark .passlord-auth-modal__body--prose li {
    color: #aab6cf;
}

body.dark .passlord-register-illustration__badge,
body.dark .passlord-register-password__toggle,
body.dark .passlord-auth-modal__close {
    background: rgba(28, 35, 52, 0.92);
    border-color: rgba(97, 115, 156, 0.22);
    color: #d5e3ff;
}

body.dark .passlord-register-strength__meter {
    background: rgba(97, 115, 156, 0.24);
}

body.dark .passlord-register-link {
    color: #9ebcff;
}

@media (max-width: 980px) {
    .passlord-register-shell {
        grid-template-columns: 1fr;
    }

    .passlord-register-illustration {
        min-height: 280px;
    }
}

@media (max-width: 767px) {
    .passlord-register-aside {
        grid-template-rows: auto auto;
    }

    .passlord-register-illustration {
        min-height: 240px;
    }

    .passlord-register-illustration__card {
        width: calc(100% - 2rem);
    }

    .passlord-register-illustration__card--one {
        left: 1rem;
        bottom: 6rem;
    }

    .passlord-register-illustration__card--two {
        right: 1rem;
        bottom: 1.5rem;
    }

    .passlord-register-form__label-row,
    .passlord-auth-modal__header {
        align-items: start;
        flex-direction: column;
    }

    .passlord-auth-modal__dialog {
        width: calc(100vw - 1rem);
        max-height: calc(100vh - 1rem);
        padding: 1rem;
    }
}

.passlord-login__notice {
    margin: 0 0 1rem;
    padding: 0.9rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(47, 93, 255, 0.12);
    background: rgba(47, 93, 255, 0.08);
    color: #1f3b84;
    font-size: 0.95rem;
    line-height: 1.55;
}

.passlord-login__notice.is-success {
    border-color: rgba(39, 142, 98, 0.18);
    background: rgba(39, 142, 98, 0.1);
    color: #1b6b49;
}

.forums-compose-open {
    overflow: hidden;
}

.forums-topic-compose-page {
    width: min(1380px, calc(100vw - 3.2rem));
    margin: 0 auto;
    padding: 2rem 0 3.4rem;
}

.forums-topic-compose-page__head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1.4rem;
    margin-bottom: 1.6rem;
}

.forums-topic-compose {
    position: relative;
    z-index: 40;
}

.forums-topic-compose__overlay {
    position: fixed;
    inset: 0;
    z-index: 1180;
    display: grid;
    place-items: center;
    padding: 1rem;
}

.forums-topic-compose__overlay[hidden] {
    display: none !important;
}

.forums-topic-compose__backdrop {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(255, 216, 114, 0.16), rgba(119, 189, 233, 0.14) 52%, rgba(255, 171, 160, 0.18)),
        rgba(9, 17, 35, 0.58);
    backdrop-filter: blur(14px);
}

.forums-topic-compose__dialog,
.forums-topic-compose__page-card {
    position: relative;
    width: min(1240px, calc(100vw - 2rem));
    border-radius: 34px;
    border: 1px solid rgba(121, 136, 166, 0.22);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.97), rgba(248, 245, 236, 0.98)),
        linear-gradient(135deg, rgba(255, 214, 115, 0.12), rgba(106, 194, 227, 0.09), rgba(255, 179, 166, 0.14));
    box-shadow: 0 34px 90px rgba(14, 20, 37, 0.24);
    overflow: hidden;
}

.forums-topic-compose.is-expanded .forums-topic-compose__dialog {
    width: min(1440px, calc(100vw - 1rem));
}

.forums-topic-compose.is-standalone .forums-topic-compose__page-card {
    width: 100%;
}

.forums-topic-compose__surface {
    display: grid;
    gap: 1.6rem;
    padding: 1.7rem;
}

.forums-topic-compose__header {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1.2rem;
}

.forums-topic-compose__header h2 {
    margin: 0.2rem 0 0;
    color: #15284a;
    font-size: clamp(2rem, 3vw, 3.2rem);
    line-height: 0.95;
    letter-spacing: -0.05em;
}

.forums-topic-compose__lead {
    margin: 0.55rem 0 0;
    max-width: 56rem;
    color: #667896;
    font-size: 1rem;
    line-height: 1.7;
}

.forums-topic-compose__header-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
}

.forums-topic-compose__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.85fr);
    gap: 1.2rem;
    align-items: start;
}

.forums-topic-compose__editor,
.forums-topic-compose__preview {
    min-width: 0;
    border-radius: 28px;
    border: 1px solid rgba(121, 136, 166, 0.18);
    background: rgba(255, 255, 255, 0.82);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

.forums-topic-compose__editor {
    padding: 1.35rem;
    display: grid;
    gap: 1rem;
}

.forums-topic-compose__preview {
    position: sticky;
    top: 1rem;
    padding: 1.25rem;
    min-height: 100%;
}

.forums-topic-compose__preview .forums-post-card__content {
    color: #27395a;
    font-size: 0.98rem;
    line-height: 1.7;
}

.forums-topic-compose__field {
    display: grid;
    gap: 0.5rem;
}

.forums-topic-compose__field label,
.forums-topic-compose__moderation label {
    color: #203558;
    font-size: 0.9rem;
    font-weight: 800;
    letter-spacing: 0.01em;
}

.forums-topic-compose__label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.forums-topic-compose__title,
.forums-topic-compose__select,
.forums-topic-compose__poll-duration input,
.forums-topic-compose__message {
    width: 100%;
    border-radius: 22px;
}

.forums-topic-compose__title,
.forums-topic-compose__select,
.forums-topic-compose__poll-duration input {
    min-height: 3.35rem;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(121, 136, 166, 0.24);
    background: rgba(248, 250, 255, 0.92);
    color: #203558;
}

.forums-topic-compose__forum-lock {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.72rem 0.9rem;
    border-radius: 999px;
    border: 1px solid rgba(121, 136, 166, 0.18);
    background: rgba(249, 249, 244, 0.95);
    color: #203558;
}

.forums-topic-compose__toolbar {
    padding: 0.6rem;
    border-radius: 22px;
    border: 1px solid rgba(121, 136, 166, 0.18);
    background: rgba(248, 250, 255, 0.78);
}

.forums-topic-compose__message {
    min-height: 22rem;
    padding: 1rem 1.1rem;
    resize: vertical;
}

.forums-topic-compose__advanced {
    border-radius: 26px;
    border: 1px solid rgba(121, 136, 166, 0.16);
    background: rgba(248, 247, 241, 0.92);
    overflow: hidden;
}

.forums-topic-compose__advanced summary {
    padding: 1rem 1.15rem;
    cursor: pointer;
    list-style: none;
    color: #203558;
    font-size: 0.94rem;
    font-weight: 800;
}

.forums-topic-compose__advanced summary::-webkit-details-marker {
    display: none;
}

.forums-topic-compose__advanced-grid {
    display: grid;
    gap: 1rem;
    padding: 0 1.15rem 1.15rem;
}

.forums-topic-compose__poll-grid {
    display: grid;
    gap: 0.85rem;
    padding: 0.95rem 1rem;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.82);
}

.forums-topic-compose__check {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    color: #415575;
    font-size: 0.92rem;
}

.forums-topic-compose__poll-duration {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.forums-topic-compose__poll-duration label {
    display: grid;
    gap: 0.35rem;
    color: #5f7290;
    font-size: 0.82rem;
    font-weight: 700;
}

.forums-topic-compose__moderation {
    display: grid;
    gap: 0.8rem;
    padding: 0.95rem 1rem;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.82);
}

.forums-topic-compose__status,
.forums-topic-compose__alert {
    padding: 0.95rem 1rem;
    border-radius: 20px;
    font-size: 0.95rem;
    line-height: 1.6;
}

.forums-topic-compose__status {
    border: 1px solid rgba(47, 93, 255, 0.12);
    background: rgba(47, 93, 255, 0.08);
    color: #254389;
}

.forums-topic-compose__status.is-error,
.forums-topic-compose__alert.is-error {
    border: 1px solid rgba(215, 87, 67, 0.16);
    background: rgba(215, 87, 67, 0.1);
    color: #9b3228;
}

.forums-topic-compose__footer {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
}

.forums-topic-compose__actions {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
}

.forums-topic-compose__legal {
    margin: 0;
    max-width: 26rem;
    color: #6d7e98;
    font-size: 0.82rem;
    line-height: 1.6;
    text-align: right;
}

.forums-topic-compose__gate {
    display: grid;
    gap: 1rem;
    padding: 1.3rem;
    border-radius: 26px;
    border: 1px solid rgba(121, 136, 166, 0.18);
    background: rgba(248, 250, 255, 0.78);
}

.forums-topic-compose__gate p {
    margin: 0;
    color: #536885;
    line-height: 1.7;
}

.forums-topic-compose__gate-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

body.dark .forums-topic-compose__dialog,
body.dark .forums-topic-compose__page-card,
body.dark .forums-topic-compose__editor,
body.dark .forums-topic-compose__preview,
body.dark .forums-topic-compose__advanced,
body.dark .forums-topic-compose__poll-grid,
body.dark .forums-topic-compose__moderation,
body.dark .forums-topic-compose__gate,
body.dark .forums-topic-compose__forum-lock {
    background: rgba(18, 23, 35, 0.96);
    border-color: rgba(97, 115, 156, 0.22);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
}

body.dark .forums-topic-compose__header h2,
body.dark .forums-topic-compose__field label,
body.dark .forums-topic-compose__moderation label,
body.dark .forums-topic-compose__forum-lock,
body.dark .forums-topic-compose__preview .forums-post-card__content {
    color: #eef3ff;
}

body.dark .forums-topic-compose__lead,
body.dark .forums-topic-compose__legal,
body.dark .forums-topic-compose__gate p,
body.dark .forums-topic-compose__poll-duration label,
body.dark .forums-topic-compose__check {
    color: #aab6cf;
}

body.dark .forums-topic-compose__title,
body.dark .forums-topic-compose__select,
body.dark .forums-topic-compose__poll-duration input,
body.dark .forums-topic-compose__message,
body.dark .forums-topic-compose__toolbar {
    background: rgba(28, 35, 52, 0.92);
    border-color: rgba(97, 115, 156, 0.22);
    color: #eef3ff;
}

@media (max-width: 1080px) {
    .forums-topic-compose__layout {
        grid-template-columns: 1fr;
    }

    .forums-topic-compose__preview {
        position: static;
    }
}

@media (max-width: 767px) {
    .forums-topic-compose__overlay {
        padding: 0;
    }

    .forums-topic-compose__dialog,
    .forums-topic-compose__page-card {
        width: 100vw;
        min-height: 100vh;
        border-radius: 0;
    }

    .forums-topic-compose__surface,
    .forums-topic-compose-page {
        padding: 1rem;
    }

    .forums-topic-compose-page {
        width: 100%;
    }

    .forums-topic-compose-page__head,
    .forums-topic-compose__header,
    .forums-topic-compose__footer {
        align-items: start;
        flex-direction: column;
    }

    .forums-topic-compose__header-actions,
    .forums-topic-compose__actions,
    .forums-topic-compose__gate-actions {
        width: 100%;
    }

    .forums-topic-compose__actions .forums-button,
    .forums-topic-compose__gate-actions .forums-button {
        flex: 1 1 0;
        justify-content: center;
    }

    .forums-topic-compose__legal {
        max-width: none;
        text-align: left;
    }

    .forums-topic-compose__poll-duration {
        grid-template-columns: 1fr;
    }
}

.passlord-login__notice.is-error {
    border-color: rgba(196, 68, 68, 0.18);
    background: rgba(196, 68, 68, 0.1);
    color: #8f2e2e;
}

.passlord-social-auth {
    display: grid;
    gap: 0.75rem;
    margin-bottom: 1.4rem;
}

.passlord-apple-signin,
.passlord-apple-signin__button {
    width: 100%;
    min-height: 52px;
}

.passlord-apple-signin {
    border-radius: 18px;
    overflow: hidden;
}

.passlord-social-auth__button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.85rem;
    min-height: 52px;
    padding: 0.95rem 1.15rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    background: #ffffff;
    color: #1f2937;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.passlord-social-auth__button:hover,
.passlord-social-auth__button:focus {
    transform: translateY(-1px);
    box-shadow: 0 16px 28px rgba(15, 23, 42, 0.08);
    border-color: rgba(47, 93, 255, 0.2);
}

.passlord-social-auth__button.is-disabled {
    opacity: 0.56;
    cursor: default;
    pointer-events: none;
    box-shadow: none;
    transform: none;
}

.passlord-social-auth__button--apple {
    background: linear-gradient(135deg, #111827 0%, #1f2937 100%);
    border-color: transparent;
    color: #ffffff;
}

.passlord-social-auth__button--google {
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
}

.passlord-social-auth__button--facebook {
    background: linear-gradient(135deg, #1877f2 0%, #0b57d0 100%);
    border-color: transparent;
    color: #ffffff;
}

.passlord-social-auth__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.22);
    font-size: 1rem;
    font-weight: 800;
    text-transform: uppercase;
}

.passlord-social-auth__button--google .passlord-social-auth__icon {
    background: rgba(47, 93, 255, 0.08);
    color: #1f3b84;
}

.passlord-social-auth__divider {
    position: relative;
    margin: 0 0 1.4rem;
    text-align: center;
}

.passlord-social-auth__divider::before {
    content: "";
    position: absolute;
    inset: 50% 0 auto;
    border-top: 1px solid rgba(148, 163, 184, 0.28);
}

.passlord-social-auth__divider span {
    position: relative;
    z-index: 1;
    display: inline-block;
    padding: 0 0.9rem;
    background: #ffffff;
    color: #64748b;
    font-size: 0.85rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.passlord-social-page .passlord-register-shell {
    align-items: stretch;
}

.passlord-social-card {
    align-self: center;
}

.passlord-social-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.2rem;
    padding: 0.95rem 1rem;
    border-radius: 18px;
    background: rgba(47, 93, 255, 0.06);
    color: #516179;
}

.passlord-social-summary strong {
    display: block;
    color: #24304a;
    margin-bottom: 0.2rem;
}

.passlord-social-consent {
    margin: 0 0 1.2rem;
    color: #64748b;
    font-size: 0.92rem;
    line-height: 1.6;
}

.passlord-profile__social-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.passlord-profile__social-card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.1rem;
    border-radius: 22px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.95) 100%);
}

.passlord-profile__social-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.passlord-profile__social-brand {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
}

.passlord-profile__social-brand p {
    margin: 0.25rem 0 0;
    color: #64748b;
    font-size: 0.92rem;
    line-height: 1.45;
}

.passlord-profile__social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 999px;
    background: rgba(47, 93, 255, 0.08);
    color: #1f3b84;
    font-size: 1rem;
    font-weight: 800;
    text-transform: uppercase;
    flex-shrink: 0;
}

.passlord-profile__social-actions {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.passlord-profile__social-form {
    display: flex;
}

.passlord-profile__social-form .passlord-profile__button,
.passlord-profile__social-actions>.passlord-profile__button {
    width: 100%;
    justify-content: center;
}

.passlord-profile__button.is-disabled {
    opacity: 0.56;
    pointer-events: none;
}

body.dark .passlord-login__notice {
    border-color: rgba(96, 165, 250, 0.2);
    background: rgba(37, 99, 235, 0.14);
    color: #dbeafe;
}

body.dark .passlord-social-auth__button,
body.dark .passlord-social-auth__divider span,
body.dark .passlord-social-summary,
body.dark .passlord-profile__social-card {
    background: rgba(15, 23, 42, 0.78);
    color: #e2e8f0;
}

body.dark .passlord-social-auth__button {
    border-color: rgba(148, 163, 184, 0.16);
}

body.dark .passlord-social-auth__button--apple,
body.dark .passlord-social-auth__button--facebook {
    border-color: transparent;
}

body.dark .passlord-social-auth__divider::before {
    border-top-color: rgba(148, 163, 184, 0.18);
}

body.dark .passlord-social-summary strong,
body.dark .passlord-profile__social-brand p,
body.dark .passlord-social-consent {
    color: #cbd5e1;
}

.passlord-footer {
    margin-top: 2rem;
    padding: 0 0 1.25rem;
    background: transparent !important;
}

.passlord-footer__shell {
    width: 100%;
    max-width: none;
    margin: 0 auto;
    padding-top: 0;
}

.passlord-footer__top,
.passlord-footer__bottom {
    border: 1px solid rgba(116, 136, 176, 0.16);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 18px 42px rgba(20, 31, 61, 0.08);
}

.passlord-footer__top {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.3fr);
    gap: 1.5rem;
    padding: 1.6rem;
    border-radius: 28px;
}

.passlord-footer__brand {
    display: grid;
    gap: 1rem;
}

.passlord-footer__logo {
    display: inline-flex;
    align-items: center;
    gap: 0.9rem;
    text-decoration: none !important;
    color: #192540 !important;
}

.passlord-footer__logo-mark {
    width: 3.25rem;
    height: 3.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(20, 25, 39, 0.96), rgba(53, 68, 111, 0.96));
    box-shadow: 0 16px 30px rgba(26, 39, 66, 0.16);
}

.passlord-footer__logo-mark img {
    width: 86%;
    height: auto;
}

.passlord-footer__logo-copy {
    display: grid;
    gap: 0.15rem;
}

.passlord-footer__logo-copy strong {
    font-size: 1.15rem;
    line-height: 1.1;
}

.passlord-footer__logo-copy span,
.passlord-footer__lead,
.passlord-footer__bottom p {
    color: #5f6d8a;
    line-height: 1.6;
}

.passlord-footer__socials,
.passlord-footer__bottom-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.passlord-footer__socials a,
.passlord-footer__bottom-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.5rem;
    padding: 0.55rem 0.85rem;
    border-radius: 999px;
    border: 1px solid rgba(116, 136, 176, 0.16);
    background: rgba(245, 248, 253, 0.92);
    color: #2c3d60 !important;
    font-size: 0.88rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.passlord-footer__socials a:hover,
.passlord-footer__socials a:focus,
.passlord-footer__bottom-links a:hover,
.passlord-footer__bottom-links a:focus {
    transform: translateY(-1px);
    box-shadow: 0 14px 26px rgba(20, 31, 61, 0.1);
}

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

.passlord-footer__column {
    display: grid;
    align-content: start;
    gap: 0.35rem;
}

.passlord-footer__title {
    margin: 0 0 0.35rem;
    color: #5b6b8c;
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.14em;
}

.passlord-footer__column a {
    color: #243555 !important;
    text-decoration: none !important;
    padding: 0.4rem 0;
    font-weight: 600;
}

.passlord-footer__column a:hover,
.passlord-footer__column a:focus {
    color: var(--forums-accent-strong) !important;
}

.passlord-footer__bottom {
    margin-top: 1rem;
    padding: 1rem 1.25rem;
    border-radius: 22px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.passlord-footer__bottom p {
    margin: 0;
    max-width: 46rem;
    font-size: 0.92rem;
}

body.dark .passlord-footer__top,
body.dark .passlord-footer__bottom {
    background: rgba(18, 23, 35, 0.95);
    border-color: rgba(97, 115, 156, 0.2);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
}

body.dark .passlord-footer__logo,
body.dark .passlord-footer__column a {
    color: #f3f7ff !important;
}

body.dark .passlord-footer__logo-copy span,
body.dark .passlord-footer__lead,
body.dark .passlord-footer__bottom p,
body.dark .passlord-footer__title {
    color: #aab6cf;
}

body.dark .passlord-footer__socials a,
body.dark .passlord-footer__bottom-links a {
    background: rgba(28, 35, 52, 0.96);
    border-color: rgba(97, 115, 156, 0.22);
    color: #edf2ff !important;
}

@media (max-width: 1023px) {
    .passlord-footer__top {
        grid-template-columns: 1fr;
    }

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

@media (max-width: 767px) {
    .passlord-footer {
        margin-top: 1.25rem;
        padding-bottom: 1rem;
    }

    .passlord-footer__top,
    .passlord-footer__bottom {
        padding: 1rem;
        border-radius: 22px;
    }

    .passlord-footer__nav {
        grid-template-columns: 1fr;
    }

    .passlord-footer__bottom-links {
        width: 100%;
    }

    .passlord-footer__bottom-links a {
        width: 100%;
    }
}

.passlord-home {
    width: 100%;
    max-width: none;
    margin: 0 auto;
    display: grid;
    gap: 1.5rem;
}

@media (min-width: 1024px) {

    body.passlord-shell-active #page-content,
    body.forums-shell-active #page-content {
        padding-left: var(--shell-gutter-desktop);
        padding-right: var(--shell-gutter-desktop);
    }

    .forums-topbar-shell {
        padding-left: var(--shell-gutter-desktop);
        padding-right: var(--shell-gutter-desktop);
    }
}

.passlord-home__hero,
.passlord-home__panel,
.passlord-home__cta,
.passlord-pillar-card {
    border: 1px solid rgba(116, 136, 176, 0.16);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 18px 42px rgba(20, 31, 61, 0.08);
}

.passlord-home__hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.9fr);
    gap: 1.5rem;
    padding: clamp(1.25rem, 3vw, 2rem);
    border-radius: 34px;
    background:
        radial-gradient(circle at top right, rgba(243, 140, 205, 0.24), transparent 28%),
        radial-gradient(circle at left bottom, rgba(110, 160, 255, 0.18), transparent 28%),
        linear-gradient(165deg, rgba(246, 249, 255, 0.98), rgba(235, 241, 251, 0.96));
}

.passlord-home__hero-copy {
    position: relative;
    z-index: 1;
    display: grid;
    align-content: center;
    gap: 1rem;
}

.passlord-home__hero-copy h1,
.passlord-home__section-head h2,
.passlord-home__panel-head h3,
.passlord-home__cta h2,
.passlord-pillar-card h3,
.passlord-topic-card h4,
.passlord-fic-card h4 {
    margin: 0;
    color: #17233b;
    line-height: 1.04;
}

.passlord-home__hero-copy h1 {
    font-size: clamp(2.3rem, 5vw, 4.4rem);
    max-width: 11ch;
}

.passlord-home__eyebrow {
    margin: 0;
    color: #5b6b8c;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.passlord-home__lead,
.passlord-home__status span,
.passlord-home__cta p,
.passlord-pillar-card p,
.passlord-home__empty,
.passlord-fic-card p,
.passlord-topic-card__meta,
.passlord-topic-card__foot span,
.passlord-fic-card__meta {
    margin: 0;
    color: #5f6d8a;
    line-height: 1.65;
}

.passlord-home__lead {
    max-width: 42rem;
    font-size: 1.05rem;
}

.passlord-home__status {
    display: grid;
    gap: 0.25rem;
    max-width: 36rem;
    padding: 0.95rem 1rem;
    border-radius: 20px;
    background: rgba(24, 38, 73, 0.06);
    border: 1px solid rgba(94, 118, 170, 0.15);
}

.passlord-home__status strong,
.passlord-topic-card__foot strong {
    color: #243555;
}

.passlord-home__actions,
.passlord-home__cta-actions,
.passlord-home__metrics,
.passlord-topic-card__tags,
.passlord-home__device-pill-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.passlord-home__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.1rem;
    padding: 0.8rem 1.15rem;
    border-radius: 999px;
    border: 1px solid transparent;
    text-decoration: none !important;
    font-size: 0.94rem;
    font-weight: 800;
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.passlord-home__button:hover,
.passlord-home__button:focus {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(20, 31, 61, 0.12);
}

.passlord-home__button--primary {
    background: linear-gradient(135deg, var(--forums-accent), var(--forums-accent-strong));
    color: #ffffff !important;
}

.passlord-home__button--ghost {
    background: rgba(255, 255, 255, 0.82);
    border-color: rgba(116, 136, 176, 0.18);
    color: #263858 !important;
}

.passlord-home__metrics {
    margin-top: 0.25rem;
}

.passlord-home__metric {
    min-width: 8.5rem;
    padding: 0.85rem 0.95rem;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(116, 136, 176, 0.12);
}

.passlord-home__metric strong {
    display: block;
    color: #17233b;
    font-size: 1.3rem;
    line-height: 1.1;
}

.passlord-home__metric span {
    display: block;
    margin-top: 0.25rem;
    color: #5f6d8a;
    font-size: 0.82rem;
    line-height: 1.45;
}

.passlord-home__hero-visual {
    position: relative;
    min-height: 340px;
    display: grid;
    place-items: center;
}

.passlord-home__hero-orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(6px);
    opacity: 0.85;
}

.passlord-home__hero-orb--pink {
    top: 0;
    right: 1.5rem;
    width: 8rem;
    height: 8rem;
    background: radial-gradient(circle, rgba(243, 140, 205, 0.75), rgba(243, 140, 205, 0));
}

.passlord-home__hero-orb--blue {
    left: 0;
    bottom: 1rem;
    width: 9rem;
    height: 9rem;
    background: radial-gradient(circle, rgba(106, 153, 255, 0.62), rgba(106, 153, 255, 0));
}

.passlord-home__device {
    position: relative;
    z-index: 1;
    width: min(100%, 360px);
    border-radius: 32px;
    padding: 0.95rem;
    background: rgba(16, 22, 35, 0.94);
    box-shadow: 0 28px 48px rgba(14, 20, 34, 0.32);
}

.passlord-home__device-head {
    display: flex;
    gap: 0.4rem;
    padding-bottom: 0.75rem;
}

.passlord-home__device-head span {
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.26);
}

.passlord-home__device-body {
    display: grid;
    gap: 0.85rem;
    padding: 1rem;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(246, 249, 255, 0.96), rgba(232, 239, 250, 0.96));
}

.passlord-home__device-card {
    padding: 0.95rem 1rem;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(116, 136, 176, 0.14);
}

.passlord-home__device-card p,
.passlord-home__device-card span {
    margin: 0;
    color: #5f6d8a;
}

.passlord-home__device-card p {
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.passlord-home__device-card strong {
    display: block;
    margin: 0.3rem 0 0.25rem;
    color: #17233b;
}

.passlord-home__device-card--alt {
    background: linear-gradient(135deg, rgba(255, 247, 233, 0.98), rgba(255, 255, 255, 0.96));
}

.passlord-home__device-pill-row span {
    padding: 0.5rem 0.8rem;
    border-radius: 999px;
    background: rgba(20, 31, 61, 0.08);
    color: #243555;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.passlord-home__section {
    display: grid;
    gap: 1rem;
}

.passlord-home__section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
}

.passlord-home__section-head h2 {
    font-size: clamp(1.7rem, 3vw, 2.5rem);
}

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

.passlord-home__panel {
    display: grid;
    gap: 1rem;
    padding: 1.2rem;
    border-radius: 28px;
}

.passlord-home__panel-head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
}

.passlord-home__panel-head h3 {
    font-size: 1.45rem;
}

.passlord-home__panel-head a {
    color: #3657a5 !important;
    text-decoration: none !important;
    font-weight: 700;
}

.passlord-home__stack {
    display: grid;
    gap: 0.85rem;
}

.passlord-home__empty {
    padding: 1rem;
    border-radius: 18px;
    background: rgba(243, 246, 252, 0.88);
}

.passlord-topic-card,
.passlord-fic-card {
    border: 1px solid rgba(116, 136, 176, 0.14);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.9);
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.passlord-topic-card:hover,
.passlord-topic-card:focus-within,
.passlord-fic-card:hover,
.passlord-fic-card:focus-within {
    transform: translateY(-2px);
    box-shadow: 0 18px 34px rgba(20, 31, 61, 0.1);
    border-color: rgba(86, 115, 179, 0.24);
}

.passlord-topic-card {
    padding: 1rem;
}

.passlord-topic-card--ocean {
    background: linear-gradient(180deg, rgba(244, 249, 255, 0.96), rgba(255, 255, 255, 0.92));
}

.passlord-topic-card--violet {
    background: linear-gradient(180deg, rgba(248, 246, 255, 0.96), rgba(255, 255, 255, 0.92));
}

.passlord-topic-card--rose {
    background: linear-gradient(180deg, rgba(255, 246, 251, 0.96), rgba(255, 255, 255, 0.92));
}

.passlord-topic-card--mint {
    background: linear-gradient(180deg, rgba(242, 253, 249, 0.96), rgba(255, 255, 255, 0.92));
}

.passlord-topic-card__top,
.passlord-topic-card__meta,
.passlord-topic-card__foot,
.passlord-fic-card__top,
.passlord-fic-card__meta {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.passlord-topic-card__top {
    justify-content: space-between;
}

.passlord-topic-card__tag,
.passlord-fic-card__genre,
.passlord-fic-card__rating {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.9rem;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.passlord-topic-card__tag {
    background: rgba(20, 31, 61, 0.08);
    color: #31466f;
}

.passlord-topic-card__tag--ghost {
    background: rgba(255, 255, 255, 0.74);
}

.passlord-topic-card__tag--accent,
.passlord-fic-card__rating {
    background: rgba(255, 227, 174, 0.88);
    color: #8b5a12;
}

.passlord-topic-card__time {
    color: #617192;
    font-size: 0.82rem;
    font-weight: 700;
}

.passlord-topic-card h4,
.passlord-fic-card h4 {
    font-size: 1.12rem;
}

.passlord-topic-card h4 {
    margin-top: 0.7rem;
}

.passlord-topic-card h4 a,
.passlord-fic-card h4 a {
    color: #17233b !important;
    text-decoration: none !important;
}

.passlord-topic-card h4 a:hover,
.passlord-topic-card h4 a:focus,
.passlord-fic-card h4 a:hover,
.passlord-fic-card h4 a:focus {
    text-decoration: underline !important;
}

.passlord-topic-card__meta {
    margin-top: 0.6rem;
    font-size: 0.88rem;
}

.passlord-topic-card__foot {
    margin-top: 0.9rem;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(116, 136, 176, 0.12);
}

.passlord-topic-card__avatar,
.passlord-fic-card__cover {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-weight: 800;
    text-transform: uppercase;
}

.passlord-topic-card__avatar {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(20, 31, 61, 0.92), rgba(89, 119, 186, 0.92));
    color: #ffffff;
}

.passlord-fic-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.95rem;
    padding: 1rem;
}

.passlord-fic-card__cover {
    width: 3.4rem;
    height: 4.5rem;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(24, 35, 59, 0.96), rgba(102, 132, 206, 0.94));
    color: #ffffff;
    font-size: 1.2rem;
    box-shadow: 0 16px 24px rgba(20, 31, 61, 0.16);
}

.passlord-fic-card__body {
    min-width: 0;
}

.passlord-fic-card__genre {
    background: rgba(20, 31, 61, 0.08);
    color: #31466f;
}

.passlord-fic-card h4 {
    margin: 0.45rem 0 0.2rem;
}

.passlord-fic-card p {
    font-size: 0.92rem;
}

.passlord-fic-card__meta {
    margin-top: 0.55rem;
    font-size: 0.82rem;
}

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

.passlord-pillar-card {
    display: grid;
    gap: 0.85rem;
    padding: 1.2rem;
    border-radius: 26px;
}

.passlord-pillar-card__icon {
    width: 3rem;
    height: 3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    background: rgba(84, 162, 255, 0.12);
    color: #3058b1;
}

.passlord-pillar-card__icon svg {
    width: 1.35rem;
    height: 1.35rem;
}

.passlord-home__cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1.35rem 1.5rem;
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, rgba(243, 140, 205, 0.16), transparent 24%),
        linear-gradient(160deg, rgba(246, 249, 255, 0.98), rgba(236, 242, 252, 0.98));
}

.passlord-home__cta h2 {
    font-size: clamp(1.7rem, 3vw, 2.6rem);
    max-width: 20ch;
}

.passlord-home__cta p {
    margin-top: 0.6rem;
    max-width: 44rem;
}

body.dark .passlord-home__hero,
body.dark .passlord-home__panel,
body.dark .passlord-home__cta,
body.dark .passlord-pillar-card,
body.dark .passlord-topic-card,
body.dark .passlord-fic-card {
    background: rgba(18, 23, 35, 0.95);
    border-color: rgba(97, 115, 156, 0.2);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
}

body.dark .passlord-home__hero {
    background:
        radial-gradient(circle at top right, rgba(239, 141, 212, 0.16), transparent 28%),
        radial-gradient(circle at left bottom, rgba(103, 149, 255, 0.16), transparent 28%),
        linear-gradient(165deg, rgba(26, 32, 49, 0.98), rgba(18, 23, 35, 0.98));
}

body.dark .passlord-home__hero-copy h1,
body.dark .passlord-home__section-head h2,
body.dark .passlord-home__panel-head h3,
body.dark .passlord-home__cta h2,
body.dark .passlord-pillar-card h3,
body.dark .passlord-topic-card h4,
body.dark .passlord-fic-card h4,
body.dark .passlord-topic-card h4 a,
body.dark .passlord-fic-card h4 a,
body.dark .passlord-home__metric strong,
body.dark .passlord-home__status strong,
body.dark .passlord-topic-card__foot strong {
    color: #f3f7ff !important;
}

body.dark .passlord-home__lead,
body.dark .passlord-home__status span,
body.dark .passlord-home__cta p,
body.dark .passlord-pillar-card p,
body.dark .passlord-home__empty,
body.dark .passlord-fic-card p,
body.dark .passlord-topic-card__meta,
body.dark .passlord-topic-card__foot span,
body.dark .passlord-fic-card__meta,
body.dark .passlord-home__eyebrow,
body.dark .passlord-home__metric span,
body.dark .passlord-topic-card__time {
    color: #aab6cf;
}

body.dark .passlord-home__status,
body.dark .passlord-home__metric,
body.dark .passlord-home__empty,
body.dark .passlord-home__button--ghost,
body.dark .passlord-topic-card__tag,
body.dark .passlord-fic-card__genre,
body.dark .passlord-home__device-card,
body.dark .passlord-home__device-pill-row span {
    background: rgba(28, 35, 52, 0.94);
    border-color: rgba(97, 115, 156, 0.22);
    color: #edf2ff;
}

body.dark .passlord-home__device-body {
    background: linear-gradient(180deg, rgba(28, 35, 52, 0.98), rgba(19, 25, 38, 0.98));
}

body.dark .passlord-home__panel-head a {
    color: #9ebcff !important;
}

@media (max-width: 1100px) {

    .passlord-home__hero,
    .passlord-home__hub-grid,
    .passlord-home__pillars {
        grid-template-columns: 1fr;
    }

    .passlord-home__hero-visual {
        min-height: 280px;
    }

    .passlord-home__cta {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 767px) {
    .passlord-home {
        gap: 1rem;
    }

    .passlord-home__hero,
    .passlord-home__panel,
    .passlord-home__cta,
    .passlord-pillar-card {
        padding: 1rem;
        border-radius: 24px;
    }

    .passlord-home__hero-copy h1 {
        max-width: none;
        font-size: 2.2rem;
    }

    .passlord-home__hero-visual {
        min-height: 220px;
    }

    .passlord-home__device {
        width: 100%;
        max-width: 320px;
    }

    .passlord-home__panel-head,
    .passlord-home__section-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .passlord-fic-card {
        grid-template-columns: 1fr;
    }

    .passlord-fic-card__cover {
        width: 3rem;
        height: 4rem;
    }

    .passlord-home__cta-actions,
    .passlord-home__actions {
        width: 100%;
    }

    .passlord-home__cta-actions .passlord-home__button,
    .passlord-home__actions .passlord-home__button {
        width: 100%;
    }
}

.passlord-profile {
    --profile-border: rgba(15, 23, 42, 0.08);
    --profile-panel: rgba(255, 255, 255, 0.92);
    --profile-muted: #5f6b85;
    --profile-title: #172033;
    --profile-shadow: 0 28px 70px rgba(15, 23, 42, 0.12);
    width: 100%;
    max-width: none;
    margin: 0 auto 4rem;
    color: var(--profile-title);
}

.passlord-profile--empty {
    min-height: 50vh;
    display: flex;
    align-items: center;
}

.passlord-profile__empty-card,
.passlord-profile__flash,
.passlord-profile__panel,
.passlord-profile__aside-card,
.passlord-profile__stat-card {
    border: 1px solid var(--profile-border);
    background: var(--profile-panel);
    box-shadow: var(--profile-shadow);
}

.passlord-profile__empty-card {
    width: min(620px, 100%);
    margin: 3rem auto 0;
    padding: 2rem;
    border-radius: 32px;
    text-align: center;
}

.passlord-profile__flash {
    width: 100%;
    max-width: none;
    margin: 1rem auto 1.25rem;
    padding: 1rem 1.25rem;
    border-radius: 22px;
    line-height: 1.6;
}

.passlord-profile__flash.is-success {
    border-color: rgba(22, 163, 74, 0.22);
    background: rgba(240, 253, 244, 0.92);
    color: #166534;
}

.passlord-profile__flash.is-error {
    border-color: rgba(220, 38, 38, 0.22);
    background: rgba(254, 242, 242, 0.92);
    color: #991b1b;
}

.passlord-profile__hero {
    position: relative;
    overflow: hidden;
    border-radius: 34px;
    border: 1px solid rgba(255, 255, 255, 0.45);
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 34px 80px rgba(15, 23, 42, 0.16);
    backdrop-filter: blur(18px);
}

.passlord-profile__cover {
    min-height: 220px;
}

.passlord-profile__hero-inner {
    position: relative;
    display: grid;
    gap: 1.5rem;
    grid-template-columns: auto minmax(0, 1fr) minmax(260px, 320px);
    padding: 0 2rem 2rem;
    margin-top: -4rem;
}

.passlord-profile__avatar {
    width: 124px;
    height: 124px;
    border-radius: 999px;
    border: 6px solid rgba(255, 255, 255, 0.94);
    background: linear-gradient(135deg, #111827, #334155);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.8rem;
    font-weight: 800;
    box-shadow: 0 22px 48px rgba(15, 23, 42, 0.2);
    overflow: hidden;
}

.passlord-profile__avatar img,
.passlord-profile__mini-avatar img,
.passlord-profile__gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.passlord-profile__hero-main {
    display: grid;
    gap: 1.25rem;
    align-content: start;
    padding-top: 4.75rem;
}

.passlord-profile__eyebrow {
    margin: 0 0 0.45rem;
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 800;
    color: #64748b;
}

.passlord-profile__title-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    align-items: center;
}

.passlord-profile__title-row h1,
.passlord-profile__section-head h2 {
    margin: 0;
    color: #111827;
}

.passlord-profile__title-row h1 {
    font-size: clamp(2.1rem, 4vw, 3.3rem);
    line-height: 0.95;
}

.passlord-profile__presence {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.85rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(15, 23, 42, 0.08);
    font-size: 0.9rem;
    font-weight: 700;
    color: #0f172a;
}

.passlord-profile__presence-dot {
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 999px;
    background: #ef4444;
    box-shadow: 0 0 0 0.25rem rgba(239, 68, 68, 0.12);
}

.passlord-profile__presence.is-online .passlord-profile__presence-dot {
    background: #22c55e;
    box-shadow: 0 0 0 0.25rem rgba(34, 197, 94, 0.14);
}

.passlord-profile__badges,
.passlord-profile__actions,
.passlord-profile__work-meta,
.passlord-profile__panel-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}

.passlord-profile__badge,
.passlord-profile__chip,
.passlord-profile__status {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.9rem;
    border-radius: 999px;
    background: rgba(240, 244, 255, 0.92);
    border: 1px solid rgba(92, 117, 210, 0.16);
    color: #213067;
    font-size: 0.9rem;
    font-weight: 700;
}

.passlord-profile__badge--muted {
    background: rgba(255, 255, 255, 0.7);
    border-color: rgba(15, 23, 42, 0.08);
    color: #475569;
}

.passlord-profile__meta {
    margin: 0;
    color: var(--profile-muted);
    line-height: 1.6;
}

.passlord-profile__meta strong {
    color: #0f172a;
}

.passlord-profile__meta-sep {
    margin: 0 0.4rem;
    color: #94a3b8;
}

.passlord-profile__button,
.passlord-profile__inline-link,
.passlord-profile__quick-links a,
.passlord-profile__work-card,
.passlord-profile__timeline-item {
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.passlord-profile__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-height: 46px;
    padding: 0.85rem 1.1rem;
    border-radius: 16px;
    text-decoration: none;
    font-weight: 700;
    border: 1px solid transparent;
}

.passlord-profile__button--primary {
    background: linear-gradient(135deg, #2563eb, #7c3aed);
    color: #ffffff;
    box-shadow: 0 18px 30px rgba(99, 102, 241, 0.22);
}

.passlord-profile__button--ghost {
    background: rgba(255, 255, 255, 0.72);
    border-color: rgba(15, 23, 42, 0.09);
    color: #172033;
}

.passlord-profile__button:hover,
.passlord-profile__work-card:hover,
.passlord-profile__timeline-item:hover,
.passlord-profile__quick-links a:hover {
    transform: translateY(-1px);
}

.passlord-profile__hero-stats {
    display: grid;
    gap: 0.85rem;
    padding-top: 4.75rem;
}

.passlord-profile__stat-card {
    border-radius: 24px;
    padding: 1.15rem 1.1rem;
}

.passlord-profile__stat-label,
.passlord-profile__stat-foot {
    display: block;
}

.passlord-profile__stat-label {
    font-size: 0.82rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.passlord-profile__stat-value {
    display: block;
    margin-top: 0.4rem;
    font-size: 1.7rem;
    line-height: 1;
    color: #111827;
}

.passlord-profile__stat-foot {
    margin-top: 0.45rem;
    color: var(--profile-muted);
    line-height: 1.4;
}

.passlord-profile__tabs {
    position: sticky;
    top: 82px;
    z-index: 15;
    display: flex;
    gap: 0.75rem;
    overflow-x: auto;
    margin-top: 1.2rem;
    padding: 0.5rem;
    border-radius: 24px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.84);
    backdrop-filter: blur(18px);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
}

.passlord-profile__tab {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0.75rem 1rem;
    border-radius: 16px;
    color: #475569;
    text-decoration: none;
    font-weight: 700;
    white-space: nowrap;
}

.passlord-profile__tab.is-active,
.passlord-profile__tab:hover {
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.12), rgba(124, 58, 237, 0.14));
    color: #0f172a;
}

.passlord-profile__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 1.25rem;
    margin-top: 1.25rem;
}

.passlord-profile__main {
    display: grid;
    gap: 1.25rem;
}

.passlord-profile__section {
    scroll-margin-top: 150px;
}

.passlord-profile__section-head,
.passlord-profile__panel-headline,
.passlord-profile__work-top,
.passlord-profile__friendcode-head,
.passlord-profile__timeline-top {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}

.passlord-profile__section-head {
    margin-bottom: 0.85rem;
}

.passlord-profile__panel,
.passlord-profile__aside-card {
    border-radius: 28px;
    padding: 1.4rem;
}

.passlord-profile__panel h3,
.passlord-profile__aside-card h3 {
    margin: 0;
    color: #111827;
}

.passlord-profile__panel p:last-child,
.passlord-profile__aside-card p:last-child {
    margin-bottom: 0;
}

.passlord-profile__about-grid,
.passlord-profile__works-grid,
.passlord-profile__account-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.passlord-profile__richtext,
.passlord-profile__muted {
    color: var(--profile-muted);
    line-height: 1.7;
}

.passlord-profile__richtext img {
    max-width: 100%;
    border-radius: 18px;
}

.passlord-profile__facts {
    margin: 0;
    display: grid;
    gap: 0.85rem;
}

.passlord-profile__facts div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.07);
}

.passlord-profile__facts div:last-child,
.passlord-profile__summary-list li:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

.passlord-profile__facts dt,
.passlord-profile__summary-list span {
    color: #64748b;
}

.passlord-profile__facts dd,
.passlord-profile__summary-list strong {
    margin: 0;
    color: #0f172a;
    text-align: right;
}

.passlord-profile__friendcodes,
.passlord-profile__gallery,
.passlord-profile__timeline,
.passlord-profile__work-list {
    display: grid;
    gap: 0.9rem;
}

.passlord-profile__friendcodes {
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.passlord-profile__friendcode,
.passlord-profile__work-card,
.passlord-profile__timeline-item,
.passlord-profile__gallery-card {
    border-radius: 22px;
    border: 1px solid rgba(15, 23, 42, 0.07);
    background: rgba(247, 249, 252, 0.88);
}

.passlord-profile__friendcode {
    padding: 1rem;
}

.passlord-profile__friendcode-head img {
    width: 2.25rem;
    height: 2.25rem;
    object-fit: contain;
}

.passlord-profile__friendcode code {
    display: block;
    margin: 0.9rem 0 0.6rem;
    padding: 0.7rem 0.8rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.84);
    font-size: 1rem;
    color: #111827;
}

.passlord-profile__friendcode-state {
    font-size: 0.82rem;
    font-weight: 700;
}

.passlord-profile__friendcode-state.is-visible {
    color: #166534;
}

.passlord-profile__friendcode-state.is-hidden {
    color: #991b1b;
}

.passlord-profile__work-card,
.passlord-profile__timeline-item,
.passlord-profile__gallery-card {
    padding: 1rem 1.05rem;
    text-decoration: none;
    color: inherit;
}

.passlord-profile__work-card p,
.passlord-profile__timeline-item p,
.passlord-profile__gallery-card p {
    margin: 0.35rem 0 0;
    color: var(--profile-muted);
}

.passlord-profile__timeline-item {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 0.95rem;
    align-items: start;
}

.passlord-profile__timeline-bullet,
.passlord-profile__mini-avatar {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    background: linear-gradient(135deg, #dbeafe, #ede9fe);
    color: #1e293b;
    overflow: hidden;
}

.passlord-profile__timeline-label,
.passlord-profile__timeline-time,
.passlord-profile__work-top span {
    font-size: 0.82rem;
    color: #64748b;
}

.passlord-profile__timeline-item.is-forum .passlord-profile__timeline-bullet {
    background: linear-gradient(135deg, #dbeafe, #bfdbfe);
}

.passlord-profile__timeline-item.is-fanfic .passlord-profile__timeline-bullet {
    background: linear-gradient(135deg, #fae8ff, #f5d0fe);
}

.passlord-profile__timeline-item.is-team .passlord-profile__timeline-bullet {
    background: linear-gradient(135deg, #dcfce7, #bbf7d0);
}

.passlord-profile__timeline-item.is-avatar .passlord-profile__timeline-bullet {
    background: linear-gradient(135deg, #fde68a, #fdba74);
}

.passlord-profile__gallery {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.passlord-profile__gallery-card {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
}

.passlord-profile__gallery-thumb {
    width: 108px;
    height: 108px;
    border-radius: 22px;
    overflow: hidden;
    background: linear-gradient(135deg, #dbeafe, #e2e8f0);
}

.passlord-profile__gallery-body {
    min-width: 0;
}

.passlord-profile__status.validated {
    background: rgba(220, 252, 231, 0.9);
    border-color: rgba(34, 197, 94, 0.16);
    color: #166534;
}

.passlord-profile__status.refused {
    background: rgba(254, 226, 226, 0.9);
    border-color: rgba(239, 68, 68, 0.16);
    color: #991b1b;
}

.passlord-profile__status.archived,
.passlord-profile__status.pending {
    background: rgba(255, 247, 237, 0.9);
    border-color: rgba(251, 146, 60, 0.16);
    color: #9a3412;
}

.passlord-profile__form,
.passlord-profile__moderation-grid,
.passlord-profile__checkbox-list,
.passlord-profile__quick-links {
    display: grid;
    gap: 1rem;
}

.passlord-profile__field {
    display: grid;
    gap: 0.55rem;
    color: #334155;
    font-weight: 600;
}

.passlord-profile__field--checkbox {
    grid-template-columns: 1.2rem minmax(0, 1fr);
    align-items: start;
}

.passlord-profile__field--checkbox span,
.passlord-profile__field>span {
    line-height: 1.4;
}

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

.passlord-profile__form-grid--checks {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.passlord-profile__field input[type="text"],
.passlord-profile__field input[type="password"],
.passlord-profile__field select,
.passlord-profile__field textarea,
.passlord-profile__field:not(.passlord-profile__field--checkbox)>input,
.passlord-profile__field:not(.passlord-profile__field--checkbox)>select,
.passlord-profile__field:not(.passlord-profile__field--checkbox)>textarea {
    width: 100%;
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: rgba(255, 255, 255, 0.94);
    border-radius: 16px;
    padding: 0.85rem 0.95rem;
    color: #0f172a;
    box-sizing: border-box;
}

.passlord-profile__field textarea {
    resize: vertical;
    min-height: 120px;
}

.passlord-profile__field input:focus,
.passlord-profile__field select:focus,
.passlord-profile__field textarea:focus {
    outline: none;
    border-color: rgba(79, 70, 229, 0.55);
    box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.14);
}

.passlord-profile__radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    color: #475569;
    font-weight: 600;
}

.passlord-profile__form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}

.passlord-profile__identity-preview {
    display: flex;
    gap: 0.9rem;
    align-items: center;
    padding: 1rem;
    border-radius: 20px;
    background: rgba(247, 249, 252, 0.9);
    border: 1px solid rgba(15, 23, 42, 0.07);
}

.passlord-profile__inline-link,
.passlord-profile__quick-links a {
    color: #3156c9;
    font-weight: 700;
    text-decoration: none;
}

.passlord-profile__summary-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.passlord-profile__summary-list li {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 0;
    border-bottom: 1px solid rgba(15, 23, 42, 0.07);
}

.passlord-profile__quick-links a {
    padding: 0.8rem 0.95rem;
    border-radius: 14px;
    background: rgba(247, 249, 252, 0.88);
    border: 1px solid rgba(15, 23, 42, 0.07);
}

.passlord-profile__aside {
    display: grid;
    gap: 1rem;
    align-content: start;
    position: sticky;
    top: 154px;
    height: fit-content;
}

.passlord-profile__empty-state {
    padding: 1.35rem;
    border-radius: 24px;
    border: 1px dashed rgba(15, 23, 42, 0.14);
    background: rgba(255, 255, 255, 0.7);
}

.passlord-profile__empty-state p,
.passlord-profile__empty-state strong {
    display: block;
}

body.dark .passlord-profile {
    --profile-border: rgba(148, 163, 184, 0.14);
    --profile-panel: rgba(15, 23, 42, 0.82);
    --profile-muted: #cbd5e1;
    --profile-title: #f8fafc;
    --profile-shadow: 0 34px 80px rgba(2, 6, 23, 0.42);
}

body.dark .passlord-profile__hero,
body.dark .passlord-profile__tabs {
    border-color: rgba(148, 163, 184, 0.12);
    background: rgba(15, 23, 42, 0.78);
}

body.dark .passlord-profile__badge,
body.dark .passlord-profile__chip,
body.dark .passlord-profile__status,
body.dark .passlord-profile__friendcode,
body.dark .passlord-profile__work-card,
body.dark .passlord-profile__timeline-item,
body.dark .passlord-profile__gallery-card,
body.dark .passlord-profile__identity-preview,
body.dark .passlord-profile__quick-links a {
    background: rgba(30, 41, 59, 0.76);
    border-color: rgba(148, 163, 184, 0.12);
    color: #e2e8f0;
}

body.dark .passlord-profile__title-row h1,
body.dark .passlord-profile__section-head h2,
body.dark .passlord-profile__panel h3,
body.dark .passlord-profile__aside-card h3,
body.dark .passlord-profile__stat-value,
body.dark .passlord-profile__facts dd,
body.dark .passlord-profile__summary-list strong {
    color: #f8fafc;
}

body.dark .passlord-profile__presence,
body.dark .passlord-profile__button--ghost,
body.dark .passlord-profile__friendcode code {
    background: rgba(15, 23, 42, 0.74);
    border-color: rgba(148, 163, 184, 0.14);
    color: #f8fafc;
}

body.dark .passlord-profile__field input[type="text"],
body.dark .passlord-profile__field input[type="password"],
body.dark .passlord-profile__field select,
body.dark .passlord-profile__field textarea,
body.dark .passlord-profile__field:not(.passlord-profile__field--checkbox)>input,
body.dark .passlord-profile__field:not(.passlord-profile__field--checkbox)>select,
body.dark .passlord-profile__field:not(.passlord-profile__field--checkbox)>textarea {
    background: rgba(15, 23, 42, 0.86);
    border-color: rgba(148, 163, 184, 0.15);
    color: #f8fafc;
}

body.dark .passlord-profile__empty-state {
    background: rgba(15, 23, 42, 0.65);
    border-color: rgba(148, 163, 184, 0.16);
}

@media (max-width: 1100px) {

    .passlord-profile__hero-inner,
    .passlord-profile__layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .passlord-profile__hero-stats,
    .passlord-profile__aside {
        position: static;
    }

    .passlord-profile__hero-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding-top: 0;
    }
}

@media (max-width: 860px) {
    .passlord-profile {
        width: min(100%, calc(100% - 1rem));
    }

    .passlord-profile__hero-inner {
        padding: 0 1rem 1rem;
        margin-top: -3.2rem;
    }

    .passlord-profile__avatar {
        width: 98px;
        height: 98px;
        font-size: 2.2rem;
    }

    .passlord-profile__hero-main {
        padding-top: 3.8rem;
    }

    .passlord-profile__about-grid,
    .passlord-profile__works-grid,
    .passlord-profile__account-grid,
    .passlord-profile__form-grid,
    .passlord-profile__form-grid--checks {
        grid-template-columns: minmax(0, 1fr);
    }

    .passlord-profile__gallery-card {
        grid-template-columns: 88px minmax(0, 1fr);
    }

    .passlord-profile__gallery-thumb {
        width: 88px;
        height: 88px;
    }

    .passlord-social-summary,
    .passlord-profile__social-head {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 640px) {
    .passlord-profile__hero {
        border-radius: 28px;
    }

    .passlord-profile__cover {
        min-height: 170px;
    }

    .passlord-profile__hero-inner {
        gap: 1rem;
    }

    .passlord-profile__hero-stats {
        grid-template-columns: minmax(0, 1fr);
    }

    .passlord-profile__tabs {
        top: 70px;
    }

    .passlord-profile__panel,
    .passlord-profile__aside-card,
    .passlord-profile__empty-card {
        padding: 1rem;
        border-radius: 22px;
    }

    .passlord-profile__button,
    .passlord-profile__form-actions .passlord-profile__button {
        width: 100%;
    }

    .passlord-profile__form-actions {
        align-items: stretch;
    }

    .passlord-profile__title-row h1 {
        font-size: 2rem;
    }
}

/* ============================================================
   Forums search page (services/forums/search.php)
   - Reuses .forum-card markup from forum.tpl
   - body has class .passlord-forums-category-page so all the
     forum-card styles already apply via that scope
   - This block adds the search-form panel + section variants
   ============================================================ */

.passlord-forums-search-page .forums-page__shell {
    display: grid;
    gap: clamp(18px, 2vw, 26px);
}

.forum-section--search {
    background:
        radial-gradient(circle at top right, rgba(255, 212, 41, 0.18), transparent 28%),
        linear-gradient(180deg, rgba(255, 252, 245, 0.96), rgba(255, 255, 255, 0.9));
}

.forum-section__eyebrow {
    margin: 0 0 6px;
    font-family: var(--font-mono, ui-monospace, monospace);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(34, 89, 212, 0.85);
}

.forum-section--search .forum-section__header h1 {
    margin: 0 0 6px;
    font-family: var(--font-title, system-ui, sans-serif);
    font-size: clamp(1.4rem, 2.4vw, 1.85rem);
    font-weight: 800;
    letter-spacing: -0.01em;
    line-height: 1.18;
    color: var(--forums-home-ink, #0a2540);
}

.forum-section--search .forum-section__header p {
    margin: 0;
    color: var(--forums-home-ink-2, #4a5670);
    font-size: 0.96rem;
    line-height: 1.55;
}

.forums-search-panel {
    display: grid;
    grid-template-columns: minmax(140px, auto) minmax(180px, 1fr) minmax(140px, auto) auto auto;
    align-items: end;
    gap: 12px 14px;
    margin-top: clamp(16px, 1.6vw, 22px);
    padding: clamp(14px, 1.4vw, 18px);
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(115, 133, 173, 0.16);
    border-radius: 22px;
    box-shadow: 0 12px 28px rgba(40, 57, 96, 0.08);
}

.forums-search-panel__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.forums-search-panel__field--grow {
    grid-column: span 1;
}

.forums-search-panel__label {
    font-family: var(--font-mono, ui-monospace, monospace);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #6b7794;
}

.forums-search-panel__input,
.forums-search-panel__select {
    width: 100%;
    min-height: 44px;
    padding: 0.6rem 0.85rem;
    border: 1px solid rgba(111, 131, 171, 0.26);
    border-radius: 14px;
    background: #f6f8fd;
    color: #1e2942;
    font-size: 0.95rem;
    font-family: inherit;
    transition: border-color 120ms ease, box-shadow 120ms ease, background 120ms ease;
}

.forums-search-panel__input:focus,
.forums-search-panel__select:focus {
    outline: none;
    border-color: rgba(34, 89, 212, 0.5);
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(34, 89, 212, 0.14);
}

.forums-search-panel__check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0.5rem 0.75rem;
    border-radius: 14px;
    background: rgba(232, 238, 251, 0.6);
    color: #22304d;
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}

.forums-search-panel__check input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: var(--forums-accent-strong, #2259d4);
}

.forums-search-panel__submit {
    min-height: 44px;
    padding: 0.6rem 1.1rem;
    border-radius: 999px;
    font-weight: 800;
    letter-spacing: 0.01em;
}

.forums-search-panel__submit svg {
    width: 14px;
    height: 14px;
}

/* Results header: row with copy + actions on right */
.forum-section--search-results-head .forum-section__header {
    align-items: flex-start;
}

.forum-section--search-results-head .forum-section__header h2 {
    margin: 0 0 6px;
    font-family: var(--font-title, system-ui, sans-serif);
    font-size: clamp(1.05rem, 1.6vw, 1.3rem);
    font-weight: 700;
    line-height: 1.3;
    color: var(--forums-home-ink, #0a2540);
}

.forum-section--search-results-head .forum-section__header h2 em {
    font-style: normal;
    color: var(--forums-accent-strong, #2259d4);
}

.forum-section--search-results-head .forum-section__header p {
    margin: 0;
    color: var(--forums-home-ink-2, #4a5670);
    font-size: 0.92rem;
}

.forum-section__actions {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}

/* Search results list — small breathing room above the pager */
.forums-pager--search {
    margin-top: clamp(14px, 1.4vw, 20px);
}

/* ----- Mobile compaction (≤ 767px) ----- */
@media (max-width: 767px) {
    .passlord-forums-search-page .forums-page__shell {
        gap: 14px;
    }

    .forums-search-panel {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
        padding: 14px;
    }

    .forums-search-panel__field--grow {
        grid-column: 1 / -1;
    }

    .forums-search-panel__submit {
        width: 100%;
        justify-content: center;
    }

    .forum-section--search .forum-section__header h1 {
        font-size: 1.4rem;
    }

    .forum-section--search-results-head .forum-section__header {
        flex-direction: column;
        align-items: stretch;
    }

    .forum-section__actions {
        margin-left: 0;
        width: 100%;
    }

    .forum-section__actions .forums-button {
        flex: 1 1 auto;
        justify-content: center;
    }
}

/* ----- Tablet (≤ 1199px) — collapse to 2 columns for the form ----- */
@media (max-width: 1199px) and (min-width: 768px) {
    .forums-search-panel {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .forums-search-panel__field--grow {
        grid-column: 1 / -1;
    }

    .forums-search-panel__check {
        grid-column: 1 / -1;
    }

    .forums-search-panel__submit {
        grid-column: 1 / -1;
    }
}