html {
    height: 100%;
    overflow-x: hidden
}

body {
    font-family: Arial;
    color: #533932;
    background: #f2ebdd;
    background-image: url(../../../arena/themes/day/tmp/bg.webp);
    font-size: 140%;
    display: flex;
    flex-direction: column;
    min-height: 100vh
}

a:active, a:link, a:visited {
    color: #3b8465;
    text-decoration: none
}

a:hover {
    color: #8aa648;
    text-decoration: none
}

.small {
    font-size: .8em;
    color: #4a4944;
    display: inline-block
}

.topnav {
    overflow: hidden;
    position: relative;
    display: flex;
    justify-content: center;
    margin-top: 15px;
    flex-wrap: wrap;
    border-bottom: none;
}

.topnav a {
    color: #5e4b4b;
    text-decoration: none;
    padding: 14px 16px;
    font-size: 17px;
    text-transform: uppercase;
    font-weight: 700;
    margin: 0 10px
}

.topnav a:hover {
    color: #688c32
}

@media screen and (max-width: 100%) {
    .topnav a {
        width: auto;
        text-align: center;
        margin: 5px 0
    }
}

.container {
    box-sizing: border-box;
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    flex-grow: 1;
    min-width: 0
}

.article {
    margin: 2%
}

.main {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center
}

.screen {
    max-width: 100%;
    margin-top: 1em;
    margin-bottom: 1em
}

.mainrevers {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center
}

@media screen and (max-width: 768px) {
    .mainrevers {
        flex-direction: column-reverse
    }
}

.marginindex {
    margin-bottom: 30px;
    padding-top: 20px;
    color: #4d3a36;
    max-width: 433px;
    margin-left: 2%;
    background-color: #ebdabe;
    background-image: url(../../cardtitle.webp);
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
    -webkit-box-shadow: 0 5px 13px 1px rgba(0, 0, 0, .2);
    -moz-box-shadow: 0 5px 13px 1px rgba(0, 0, 0, .2);
    box-shadow: 0 5px 13px 1px rgba(0, 0, 0, .2)
}

@media screen and (min-width: 960px) {
    .marginindex {
        margin-left: 32px;
        margin-right: -6px
    }
}

.game-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 433px));
    justify-content: center;
    gap: clamp(32px, 8vw, 160px)
}

.game-cards .col_50 {
    float: none;
    width: 100%;
    margin: 0
}

.game-cards .marginindex {
    max-width: none;
    margin: 0 0 30px
}

@media screen and (max-width: 768px) {
    .game-cards {
        grid-template-columns: minmax(0, 433px);
        gap: 0
    }
}

/* Жёсткое переопределение старой верхней панели для гостевых страниц. */
body.site-razdel .topnav.topnav--guest {
    position: fixed;
    top: 10px;
    left: 12px;
    right: auto;
    z-index: 200;
    width: auto;
    max-width: calc(100vw - 260px);
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: nowrap;
    gap: 7px;
    justify-content: flex-start;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.site-razdel .topnav.topnav--guest a {
    flex: 0 0 auto;
    min-height: 34px;
    width: auto;
    padding: 0 14px;
    margin: 0;
    border: 1px solid rgba(151, 122, 88, 0.42);
    border-radius: 999px;
    background: rgba(255, 251, 239, 0.78);
    box-shadow: 0 2px 10px -7px rgba(45, 25, 8, 0.45);
}

body.site-razdel .topnav.topnav--user {
    background: transparent;
    box-shadow: none;
    border-left: 0;
    border-right: 0;
    border-top: 0;
    border-radius: 0;
}

@media screen and (max-width: 768px) {
    body.site-razdel .topnav.topnav--guest {
        left: 8px;
        right: 92px;
        max-width: none;
        overflow-x: auto;
        scrollbar-width: none;
    }

    body.site-razdel .topnav.topnav--guest::-webkit-scrollbar {
        display: none;
    }

    body.site-razdel .topnav.topnav--guest a {
        min-height: 40px;
        padding: 0 11px;
    }
}

/* ============================================================
   Разделы сайта: чистый RPG-экран без лишних карточек.
   Фон страницы — основная поверхность; панели остаются только
   там, где они действительно являются инструментом (почта/списки).
   ============================================================ */
body.site-razdel {
    --dw-page-text: #4b352c;
    --dw-page-muted: #76604f;
    --dw-page-link: #236f54;
    --dw-page-link-hover: #5f812c;
    --dw-page-line: rgba(122, 91, 60, 0.28);
    --dw-page-line-strong: rgba(96, 64, 38, 0.44);
    --dw-page-button: #4b342e;
    --dw-page-button-hover: #5a4138;
    color: var(--dw-page-text);
    font-size: clamp(17px, 1.15vw, 19px);
    line-height: 1.64;
}

body.site-razdel .container {
    max-width: 1260px;
    padding: 70px clamp(14px, 4vw, 54px) 34px;
}

body.site-razdel .theme-switch {
    top: 10px;
    right: 12px;
}

body.site-razdel .topnav {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

body.site-razdel .topnav--guest {
    position: fixed;
    top: 10px;
    left: 12px;
    z-index: 200;
    width: auto;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 7px;
    justify-content: flex-start;
    overflow: visible;
}

body.site-razdel .topnav--guest a {
    min-height: 34px;
    padding: 0 14px;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--dw-page-link);
    background: rgba(255, 251, 239, 0.74);
    border: 1px solid rgba(151, 122, 88, 0.42);
    border-radius: 999px;
    box-shadow: 0 2px 10px -7px rgba(45, 25, 8, 0.45);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    font-size: 0.74rem;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
}

body.site-razdel .topnav--guest a:hover,
body.site-razdel .topnav--guest a:focus-visible {
    color: #20150f;
    background: rgba(255, 248, 231, 0.96);
    border-color: rgba(112, 80, 45, 0.55);
}

body.site-razdel .topnav--user {
    position: relative;
    width: min(100%, 1040px);
    margin: 0 auto 28px;
    padding: 0 0 11px;
    display: flex;
    gap: clamp(10px, 2vw, 28px);
    justify-content: center;
    border-bottom: 1px solid var(--dw-page-line);
}

body.site-razdel .topnav--user a {
    min-height: 0;
    padding: 0 0 3px;
    margin: 0;
    color: var(--dw-page-muted);
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
}

body.site-razdel .topnav--user a:hover,
body.site-razdel .topnav--user a:focus-visible {
    color: var(--dw-page-link);
    background: transparent;
    text-decoration: none;
}

body.site-razdel .hero,
body.site-razdel .article,
body.site-razdel .top_user {
    width: min(100%, 1060px);
    margin-left: auto;
    margin-right: auto;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

body.site-razdel .hero {
    margin-top: 0;
    margin-bottom: 20px;
    padding: 0;
    text-align: center;
    color: var(--dw-page-muted);
}

body.site-razdel .article,
body.site-razdel .top_user {
    padding: 0;
}

body.site-razdel .article:not(.messenger) {
    text-align: center;
}

body.site-razdel .article.messenger {
    width: min(calc(100vw - 32px), 1180px);
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

body.site-razdel h1,
body.site-razdel .H2game {
    margin: 0 0 0.7em;
    font-size: clamp(1.8rem, 3vw, 2.55rem);
    line-height: 1.12;
    color: var(--dw-page-text);
}

body.site-razdel h2 {
    font-size: clamp(1.12rem, 1.7vw, 1.45rem);
}

body.site-razdel hr {
    width: min(100%, 760px);
    margin: 24px auto;
    border: 0;
    border-top: 1px solid var(--dw-page-line);
}

body.site-razdel .article > hr:first-child,
body.site-razdel .article > hr:last-child,
body.site-razdel noindex > hr:first-child {
    display: none;
}

body.site-razdel img.social {
    width: 38px;
    height: 38px;
    margin: 0 5px 12px;
    border-radius: 7px;
    box-shadow: none;
}

body.site-razdel .article form:not(.msg-chip-form):not(.msg-composer):not(.msg-add-form):not(.msg-new-form),
body.site-razdel .hero form:not(.msg-chip-form):not(.msg-composer):not(.msg-add-form):not(.msg-new-form) {
    width: min(100%, 620px);
    margin: 18px auto 0;
    padding: 0;
    display: grid;
    gap: 14px;
    text-align: left;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

body.site-razdel label {
    color: var(--dw-page-muted);
    font-size: 0.98rem;
}

body.site-razdel input[type="email"],
body.site-razdel input:not([type]),
body.site-razdel input[type="password"],
body.site-razdel input[type="text"],
body.site-razdel input[type="search"],
body.site-razdel input[type="url"],
body.site-razdel input[type="tel"],
body.site-razdel input[type="number"],
body.site-razdel textarea,
body.site-razdel select {
    min-height: 46px;
    padding: 9px 12px;
    background: rgba(255, 251, 239, 0.44);
    border: 1px solid var(--dw-page-line-strong);
    border-radius: 3px;
    box-shadow: inset 0 1px 2px rgba(65, 37, 13, 0.06);
}

body.site-razdel textarea {
    min-height: 160px;
}

body.site-razdel label:has(input[type="checkbox"]) {
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

body.site-razdel .button,
body.site-razdel a.button,
body.site-razdel button.button,
body.site-razdel input[type="submit"].button {
    min-height: 44px;
    padding: 0 24px;
    border-radius: 3px;
    background: var(--dw-page-button);
    color: #fff8e9;
    border: 1px solid rgba(50, 31, 21, 0.2);
    box-shadow: none;
}

body.site-razdel .button:hover,
body.site-razdel a.button:hover,
body.site-razdel button.button:hover,
body.site-razdel input[type="submit"].button:hover {
    background: var(--dw-page-button-hover);
    color: #ffffff;
}

body.site-razdel form input[type="submit"].button {
    width: 100%;
}

body.site-razdel .warning,
body.site-razdel .success,
body.site-razdel .message,
body.site-razdel .info {
    width: min(100%, 900px);
    margin: 16px auto;
    border-radius: 3px;
    text-align: left;
}

body.site-razdel .message,
body.site-razdel .info {
    background: rgba(255, 251, 239, 0.32);
    border: 1px solid var(--dw-page-line);
}

body.site-razdel .article.legal-grid {
    width: min(100%, 1180px);
    padding-top: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.site-razdel .bottominfo {
    margin-top: 58px;
    padding-top: 18px;
    border-top: 1px solid var(--dw-page-line);
}

@media screen and (max-width: 768px) {
    body.site-razdel .container {
        padding: 64px 12px 24px;
    }

    body.site-razdel .topnav--guest {
        left: 8px;
        right: 92px;
        gap: 5px;
        overflow-x: auto;
        scrollbar-width: none;
    }

    body.site-razdel .topnav--guest::-webkit-scrollbar {
        display: none;
    }

    body.site-razdel .topnav--guest a {
        flex: 0 0 auto;
        min-height: 40px;
        padding: 0 11px;
        font-size: 0.72rem;
    }

    body.site-razdel .topnav--user {
        justify-content: flex-start;
        overflow-x: auto;
        scrollbar-width: none;
        margin-bottom: 22px;
    }

    body.site-razdel .topnav--user::-webkit-scrollbar {
        display: none;
    }

    body.site-razdel .topnav--user a {
        flex: 0 0 auto;
    }

    body.site-razdel .hero,
    body.site-razdel .article,
    body.site-razdel .top_user {
        width: 100%;
    }

    body.site-razdel .article.messenger {
        width: 100%;
    }

    body.site-razdel h1,
    body.site-razdel .H2game {
        font-size: clamp(1.65rem, 8vw, 2.1rem);
    }

    body.site-razdel .article form:not(.msg-chip-form):not(.msg-composer):not(.msg-add-form):not(.msg-new-form),
    body.site-razdel .hero form:not(.msg-chip-form):not(.msg-composer):not(.msg-add-form):not(.msg-new-form) {
        width: 100%;
    }

    body.site-razdel .article.legal-grid {
        grid-template-columns: 1fr;
    }
}

.marginindex a {
    color: #3f3e35
}

.marginindex:hover {
    -webkit-box-shadow: 0 5px 13px 1px rgba(0, 0, 0, .33);
    -moz-box-shadow: 0 5px 13px 1px rgba(0, 0, 0, .33);
    box-shadow: 0 5px 13px 1px rgba(0, 0, 0, .33)
}

.cardinfo {
    font-size: .9em;
    text-align: left;
    border-top: 4px dashed #bea890;
    color: #444536;
    background-color: #f2e4c9;
    background-image: url(../../infocard.webp);
    border-bottom: 4px dashed #bea890;
    padding: 20px;
    min-height: 156px
}

.buttoncard {
    padding-top: 20px;
    padding-bottom: 20px;
    font-weight: 700
}

.buttoncard:hover {
    color: #000
}

hr {
    margin: 30px 0;
    padding: 0;
    height: 0;
    border: none;
    border-top: 2px dashed #bea890
}

textarea {
    color: #4d3a36;
    background-color: #fffbef;
    border: 2px solid #ac977c;
    min-width: 68%;
    min-height: 140px
}

input {
    margin: 1px;
    color: #4d3a36;
    background-color: #faf8eb;
    border: 2px solid #ac977c
}

.znaks {
    background: #f3e6d0;
    padding: 4px;
    margin: 1px;
    border: 2px solid #2a2924;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px
}

.top_user {
    color: #4d3a36;
    background-color: #ebdabe;
    background-image: url(../../card.webp);
    padding: 34px;
    text-align: center;
    box-shadow: 0 5px 13px 1px rgba(0, 0, 0, .2)
}

.top_users {
    color: #4d3a36;
    max-width: 433px;
    background-color: #ebdabe;
    background-image: url(../../topusers.webp);
    padding: 10px;
    margin-bottom: 15px;
    margin-left: 5%;
    min-height: 5em;
    text-align: center;
    position: relative
}

.top_users p {
    justify-content: center;
    align-items: center
}

.top_users:before {
    z-index: -1;
    position: absolute;
    content: "";
    bottom: 15px;
    right: 10px;
    left: auto;
    width: 50%;
    top: 80%;
    background: #828282;
    -webkit-box-shadow: 0 15px 10px #828282;
    -moz-box-shadow: 0 15px 10px #828282;
    box-shadow: 0 15px 10px #828282;
    -webkit-transform: rotate(3deg);
    -moz-transform: rotate(3deg);
    -o-transform: rotate(3deg);
    -ms-transform: rotate(3deg);
    transform: rotate(3deg)
}

.top_users:hover {
    -webkit-box-shadow: 0 5px 13px 1px rgb(0 0 0 / 24%);
    -moz-box-shadow: 0 5px 13px 1px rgb(0 0 0 / 24%);
    box-shadow: 0 5px 13px 1px rgb(0 0 0 / 20%)
}

.center {
    text-align: center
}

p a:link, p a:visited {
    color: #3b8465
}

p a:hover {
    color: #8aa648
}

.top_user h2 {
    font-family: impact;
    font-weight: 500;
    line-height: 1;
    font-size: 175%;
    color: #533932;
    text-transform: capitalize;
    display: block
}

.top_user h3 {
    font-family: impact;
    font-weight: 500;
    line-height: 1;
    font-size: 117%;
    color: #4a4944;
    display: block
}

.social {
    margin: 2px;
    margin-left: 4px;
    margin-right: 4px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    -webkit-box-shadow: 0 2px 12px -6px rgba(0, 0, 0, .71);
    -moz-box-shadow: 0 2px 12px -6px rgba(0, 0, 0, .71);
    box-shadow: 0 2px 12px -6px rgba(0, 0, 0, .71)
}

.imgtittle {
    border: 2px solid #bea890;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px
}

.imgico {
    display: inline;
    vertical-align: middle
}

.button, a.button {
    background-color: #4d3a36;
    border: none;
    color: #f6efdf;
    padding: 15px 32px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 14px;
    margin: 4px 2px;
    cursor: pointer;
    font-weight: 700;
    -webkit-box-shadow: 0 2px 12px -6px rgba(0, 0, 0, .71);
    -moz-box-shadow: 0 2px 12px -6px rgba(0, 0, 0, .71);
    box-shadow: 0 2px 12px -6px rgba(0, 0, 0, .71)
}

a.button:link, a.button:visited, a.button:active {
    color: #f6efdf
}

.button:hover, a.button:hover, a.button:focus-visible {
    font-weight: 700;
    background-color: #594940;
    color: #fff;
    text-decoration: none
}

.info {
    text-align: center;
    font-size: 75%;
    background: rgba(211, 192, 174, .3);
    padding: 10px;
    margin-top: 20px;
    margin-bottom: 20px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px
}

.hero {
    padding: 10px 0 10px 2%
}

.bottominfo {
    margin-top: 1em;
    margin: 10px;
    color: #79776e;
    border-top: 2px dashed #bea890
}

.bottomleft {
    margin-top: 10px;
    text-align: justify;
    font-size: 14px
}

.bottomright, .bottomright a {
    margin-top: 10px;
    text-align: right;
    text-transform: UPPERCASE;
    font-size: .9em;
    line-height: 2
}

.header-h1 {
    position: relative;
    text-align: center
}

.header-h1 h1 {
    display: inline-block;
    margin-bottom: 0;
    padding: .5rem 1rem;
    font-size: 1.25rem;
    color: #6e6b5c;
    background: url(../../topusers.webp);
    clip-path: polygon(3% 0, 7% 1%, 11% 0, 16% 2%, 20% 0, 23% 2%, 28% 2%, 32% 1%, 35% 1%, 39% 3%, 41% 1%, 45% 0, 47% 2%, 50% 2%, 53% 0, 58% 2%, 60% 2%, 63% 1%, 65% 0, 67% 2%, 69% 2%, 73% 1%, 76% 1%, 79% 0, 82% 1%, 85% 0, 87% 1%, 89% 0, 92% 1%, 96% 0, 98% 3%, 99% 3%, 99% 6%, 100% 11%, 98% 15%, 100% 21%, 99% 28%, 100% 32%, 99% 35%, 99% 40%, 100% 43%, 99% 48%, 100% 53%, 100% 57%, 99% 60%, 100% 64%, 100% 68%, 99% 72%, 100% 75%, 100% 79%, 99% 83%, 100% 86%, 100% 90%, 99% 94%, 99% 98%, 95% 99%, 92% 99%, 89% 100%, 86% 99%, 83% 100%, 77% 99%, 72% 100%, 66% 98%, 62% 100%, 59% 99%, 54% 99%, 49% 100%, 46% 98%, 43% 100%, 40% 98%, 38% 100%, 35% 99%, 31% 100%, 28% 99%, 25% 99%, 22% 100%, 19% 99%, 16% 100%, 13% 99%, 10% 99%, 7% 100%, 4% 99%, 2% 97%, 1% 97%, 0 94%, 1% 89%, 0 84%, 1% 81%, 0 76%, 0 71%, 1% 66%, 0 64%, 0 61%, 0 59%, 1% 54%, 0 49%, 1% 45%, 0 40%, 1% 37%, 0 34%, 1% 29%, 0 23%, 2% 20%, 1% 17%, 1% 13%, 0 10%, 1% 6%, 1% 3%)
}

a:hover h3 {
    text-decoration: none;
    color: #222220
}

h3 {
    margin: auto;
    color: #4d3a36;
    font-weight: 700;
    font-size: 1.5em;
    margin-bottom: .5em
}

h1 {
    margin: auto;
    color: #4d3a36;
    font-weight: 700;
    font-size: 1.5em;
    margin-bottom: .2em;
    margin-top: .5em;
    display: block
}

.H2game {
    margin: auto;
    color: #4d3a36;
    font-weight: 700;
    font-size: 1.5em;
    margin-bottom: .2em;
    margin-top: .5em;
    display: block
}

h2, h4, h5, h6 {
    font-weight: 700;
    display: block;
    font-size: .7em;
    color: #4a3c31
}

.kostum {
    color: #a15fb8;
    font-weight: 700;
    white-space: nowrap
}

.magitem a, .magitem a:hover, .magitem a:visited {
    color: #2d6f99;
    display: inline-block
}

.magitem {
    display: inline-block;
    color: #2d6f99
}

.craftitem a, .craftitem a:hover, .craftitem a:visited {
    color: #688c32;
    display: inline-block
}

.craftitem {
    display: inline-block;
    color: #688c32
}

.defaultitem a, .defaultitem a:hover, .defaultitem a:visited {
    color: #583522;
    display: inline-block
}

.defaultitem {
    display: inline-block;
    color: #583522
}

.form label {
    display: inline-block;
    padding: 0 0 4px 0
}

@media only screen and (max-width: 480px) {
    .header:before, .hero:before {
        display: none !important
    }

    .container {
        overflow: auto
    }
}

@media only screen and (max-width: 768px) {
    .header:before, .hero:before {
        display: none !important
    }
}

::-webkit-scrollbar {
    width: 12px
}

::-webkit-scrollbar-track {
    background: #faf8eb
}

::-webkit-scrollbar-thumb {
    background-color: #918271;
    border-radius: 20px;
    border: 3px solid #faf8eb
}

body {
    scrollbar-width: thin;
    scrollbar-color: #918271 #faf8eb
}

body {
    scrollbar-face-color: #918271;
    scrollbar-shadow-color: #faf8eb;
    scrollbar-highlight-color: #faf8eb;
    scrollbar-3dlight-color: #faf8eb;
    scrollbar-darkshadow-color: #faf8eb;
    scrollbar-track-color: #faf8eb;
    scrollbar-arrow-color: #faf8eb
}

.balance {
    display: block;
    width: 100%;
    text-transform: uppercase;
    font-weight: bold;
    font-size: calc(3em + 7vw);
    text-align: center;
}

.privatmessage {
    padding: 10px 14px;
    min-height: 30px;
    color: #13130E;
    background: #FFFBEF;
    margin-bottom: 10px;
}

.privatdata {
    font-size: 0.5em;
    display: inline-block;
}

.privatname {
    font-weight: normal;
    color: #FAF8EB;
    background: rgba(88, 72, 60, 0.6);
    padding: 2px;
    padding-left: 6px;
    text-shadow: none;
}

.privatname a {
    color: #FCF0DA;
}

.red a,
.red a:hover,
.red a:visited {
    color: #C15052;
    display: inline-block;
}

.red {
    display: inline-block;
    color: #C15052;
}

.warning {
    border: 1px solid #c07306;
    color: #fff;
    padding: 4px 14px;
    background: #e0901e;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
}

.success {
    border: 1px solid #307904;
    color: #fff;
    background: #58a22c;
    padding: 4px 14px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
}

.message {
    color: #5a453d;
    background: #e0d4c0;
    padding: 4px 14px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
}

select {
    margin: 1px;
    color: #000000;
    background-color: #F6EFE4;
    border: #AC977C solid 2px;
}

.payment-provider-select {
    box-sizing: border-box;
    width: 282px;
    max-width: 100%;
    min-height: 36px;
    padding: 4px 8px;
    color: #4d3a36;
    background-color: #faf8eb;
    border: 2px solid #ac977c;
    font-family: Arial, sans-serif;
    font-size: 1em;
    line-height: 1.2;
    cursor: pointer;
}

.payment-provider-select:focus {
    outline: 2px solid rgba(77, 58, 54, .25);
    outline-offset: 1px;
}

/* ============================================================
   Мессенджер (диалоговый интерфейс)
   ============================================================ */

/* Контейнер мессенджера — всегда во всю ширину игрового пространства.
   Break-out из узкого .container (которое в flex-item ужимается под контент).
   Не трогаем глобальный layout — растягиваем только саму .article.messenger. */
.messenger {
    display: block;
    box-sizing: border-box;
    width: min(calc(100vw - 32px), 1248px);
    margin-left: 50%;
    margin-right: auto;
    transform: translateX(-50%);
    max-width: none;
}

@media screen and (max-width: 640px) {
    .messenger {
        width: calc(100vw - 16px);
    }
}

.messenger .msg-tabs,
.messenger .msg-list,
.messenger .msg-dialog-header,
.messenger .msg-dialog-toolbar,
.messenger .msg-thread,
.messenger .msg-composer,
.messenger .msg-add-form,
.messenger .msg-older-hint,
.messenger .msg-actions,
.messenger .msg-confirm,
.messenger .msg-new,
.messenger .msg-search-form,
.messenger .msg-search-results,
.messenger .msg-search-result-head,
.messenger .msg-empty {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
}

/* Форма «Открыть диалог» (вход в новый разговор) не должна растягиваться на всю ширину */
.messenger .msg-new-form {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
}

/* Восстанавливаем цвет ссылок-кнопок в мессенджере (общее правило a:link перебивало .button) */
.msg-empty a.button,
.msg-empty a.button:visited,
.msg-actions a.button,
.msg-actions a.button:visited,
.msg-new a.button,
.msg-new a.button:visited,
.msg-confirm a.button,
.msg-confirm a.button:visited {
    color: #f6efdf;
}

.msg-empty a.button:hover,
.msg-actions a.button:hover,
.msg-new a.button:hover,
.msg-confirm a.button:hover {
    color: #fff;
}

.msg-tabs {
    display: flex;
    gap: 4px;
    margin: 10px 0 14px;
    border-bottom: 2px solid #bea890;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

.msg-tabs::-webkit-scrollbar {
    height: 4px;
}

.msg-tabs::-webkit-scrollbar-thumb {
    background: #bea890;
    border-radius: 2px;
}

.msg-tab {
    padding: 10px 16px;
    color: #5e4b4b;
    font-weight: 600;
    text-decoration: none;
    border-radius: 8px 8px 0 0;
    background: transparent;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    flex: 0 0 auto;
    transition: background-color .15s ease;
}

.msg-tab:hover {
    background: rgba(190, 168, 144, 0.25);
    color: #4d3a36;
}

.msg-tab--active,
.msg-tab--active:hover {
    background: #4d3a36;
    color: #f6efdf !important;
    cursor: default;
}

.msg-badge {
    display: inline-block;
    min-width: 20px;
    height: 20px;
    line-height: 20px;
    padding: 0 6px;
    text-align: center;
    background: #c15052;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    border-radius: 10px;
    margin-left: 6px;
}

.msg-badge--lg {
    min-width: 26px;
    height: 26px;
    line-height: 26px;
    font-size: 13px;
    border-radius: 13px;
    margin-left: 8px;
}

/* --- Список диалогов --- */

.msg-list {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid #d8c5a8;
}

.msg-list-item {
    position: relative;
    border-bottom: 1px solid #d8c5a8;
    background: #fffbef;
    transition: background-color .15s ease;
}

.msg-list-link--inset {
    padding-right: 50px !important;
}

.msg-list-remove {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    line-height: 1;
    color: #b85a5c !important;
    background: rgba(193, 80, 82, 0.08);
    border-radius: 50%;
    text-decoration: none !important;
    opacity: 0.7;
    transition: opacity .15s, background-color .15s;
}

.msg-list-remove:hover {
    opacity: 1;
    background: rgba(193, 80, 82, 0.18);
    color: #c15052 !important;
}

.msg-add-form {
    display: flex;
    gap: 8px;
    margin: 0 0 14px;
    align-items: stretch;
}

.msg-add-form .msg-input {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
}

.msg-add-form .button {
    margin: 0;
    padding: 0 18px;
    min-height: 44px;
    white-space: nowrap;
}

.msg-list-item:hover {
    background: #f6efdf;
}

.msg-list-item--unread {
    background: #fdf3d6;
}

.msg-list-item--unread:hover {
    background: #f7eac4;
}

.msg-list-link {
    display: block;
    padding: 12px 14px;
    color: #3a2f29 !important;
    text-decoration: none !important;
    min-height: 48px;
}

.msg-list-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.msg-list-row + .msg-list-row {
    margin-top: 4px;
}

.msg-list-name {
    font-size: 1em;
    color: #4d3a36;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1 1 auto;
    min-width: 0;
}

.msg-list-time {
    font-size: 0.75em;
    color: #8a7869;
    flex: 0 0 auto;
    white-space: nowrap;
}

.msg-list-preview {
    color: #5a453d;
    font-size: 0.9em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1 1 auto;
    min-width: 0;
}

.msg-list-prefix {
    color: #8a7869;
    font-style: italic;
}

.msg-list-item--unread .msg-list-preview {
    color: #3a2f29;
    font-weight: 600;
}

.msg-actions {
    margin: 14px 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.msg-link-danger {
    color: #c15052 !important;
    padding: 8px 4px;
    display: inline-block;
}

.msg-empty {
    text-align: center;
    padding: 30px 14px;
    color: #5a453d;
}

/* --- Диалог: шапка --- */

.msg-dialog-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    background: rgba(88, 72, 60, 0.85);
    color: #faf8eb;
    border-radius: 8px 8px 0 0;
    margin-bottom: 0;
}

.msg-dialog-header b {
    color: #fffbef;
}

.msg-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: #faf8eb !important;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 50%;
    font-size: 22px;
    line-height: 1;
    text-decoration: none !important;
    flex: 0 0 auto;
}

.msg-back:hover {
    background: rgba(255, 255, 255, 0.18);
    color: #fff !important;
}

.msg-dialog-title {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.msg-dialog-clear {
    color: #ffd6d6 !important;
    font-size: 0.85em;
    padding: 6px 10px;
    border-radius: 6px;
    text-decoration: none !important;
    flex: 0 0 auto;
}

.msg-dialog-clear:hover {
    background: rgba(193, 80, 82, 0.4);
    color: #fff !important;
}

.msg-older-hint {
    background: #f0e5d0;
    color: #5a453d;
    font-size: 0.8em;
    padding: 6px 12px;
    text-align: center;
}

/* --- Тулбар действий с собеседником (контакт/игнор) --- */

.msg-dialog-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 8px 12px;
    background: #ede2c8;
    border-bottom: 1px solid #d8c5a8;
}

.msg-chip-form {
    margin: 0;
    padding: 0;
    display: inline;
}

.msg-chip {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border-radius: 16px;
    background: #fffbef;
    color: #4d3a36;
    font-size: 0.85em;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid #c9b899;
    cursor: pointer;
    font-family: inherit;
    min-height: 32px;
    line-height: 1;
    transition: background-color .15s ease, border-color .15s ease;
}

.msg-chip:hover {
    background: #f6efdf;
    border-color: #a48560;
}

.msg-chip--active {
    background: #d9ebc6;
    color: #3a5d20;
    border-color: #9bc274;
}

.msg-chip--active:hover {
    background: #c8de9f;
    border-color: #7da556;
}

.msg-chip--danger {
    color: #b85a5c;
    border-color: #e0b9b9;
}

.msg-chip--danger:hover {
    background: #fbeaea;
    border-color: #c15052;
}

.msg-chip--ignored {
    background: #fbeaea;
    color: #8a2a2c;
    border-color: #c15052;
}

.msg-chip--ignored:hover {
    background: #f5d6d6;
    border-color: #8a2a2c;
}

/* --- Лента сообщений --- */

.msg-thread {
    background: #f3ead8;
    padding: 14px 10px;
    max-height: 60vh;
    overflow-y: auto;
    border-left: 1px solid #d8c5a8;
    border-right: 1px solid #d8c5a8;
}

.msg-thread--empty {
    text-align: center;
    color: #8a7869;
    padding: 30px 14px;
}

.msg-date-sep {
    text-align: center;
    margin: 12px 0;
    position: relative;
}

.msg-date-sep span {
    background: #e6d8bc;
    color: #5a453d;
    font-size: 0.75em;
    padding: 3px 12px;
    border-radius: 12px;
    display: inline-block;
}

.msg-row {
    display: flex;
    margin-bottom: 8px;
}

.msg-row--in {
    justify-content: flex-start;
}

.msg-row--out {
    justify-content: flex-end;
}

.msg-bubble {
    max-width: 78%;
    padding: 8px 12px 22px;
    border-radius: 14px;
    position: relative;
    word-wrap: break-word;
    overflow-wrap: break-word;
    line-height: 1.35;
    font-size: 0.95em;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.08);
}

.msg-bubble--in {
    background: #fffbef;
    color: #2a2520;
    border-bottom-left-radius: 4px;
}

.msg-bubble--out {
    background: #d9ebc6;
    color: #2a2520;
    border-bottom-right-radius: 4px;
}

.msg-bubble-text {
    white-space: pre-wrap;
    word-wrap: break-word;
}

.msg-bubble-meta {
    position: absolute;
    bottom: 4px;
    right: 10px;
    font-size: 0.7em;
    color: #8a7869;
    display: flex;
    align-items: center;
    gap: 6px;
}

.msg-bubble-time {
    color: #8a7869;
}

/* Видимо скрытый, но доступный скрин-ридерам текст (a11y) */
.msg-sr-only {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Индикатор «не прочитано» — серо-зелёная точка рядом со временем у исходящих.
   Когда собеседник открывает диалог, is_read = 1 и точка пропадает. */
.msg-bubble-unread {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #7a8a5a;
    vertical-align: middle;
    margin-right: 2px;
    box-shadow: 0 0 0 1px rgba(122, 138, 90, 0.25);
}

.msg-bubble-del {
    color: #b85a5c !important;
    font-size: 1.4em;
    line-height: 1;
    text-decoration: none !important;
    padding: 0 4px;
    opacity: 0.55;
    transition: opacity .15s ease;
}

.msg-bubble-del:hover {
    opacity: 1;
    color: #c15052 !important;
}

/* --- Composer (поле ответа) --- */

.msg-composer {
    background: #fffbef;
    padding: 10px;
    border: 1px solid #d8c5a8;
    border-top: none;
    border-radius: 0 0 8px 8px;
    margin-bottom: 14px;
}

.msg-composer-row {
    display: flex;
    gap: 8px;
    align-items: stretch;
}

.msg-composer-input {
    flex: 1 1 auto;
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid #ac977c;
    border-radius: 8px;
    background: #fffbef;
    color: #2a2520;
    font-family: inherit;
    font-size: 1em;
    resize: vertical;
    min-height: 44px;
    max-height: 200px;
}

.msg-composer-input:focus {
    outline: none;
    border-color: #4d3a36;
    box-shadow: 0 0 0 2px rgba(77, 58, 54, 0.15);
}

.msg-composer-send {
    background-color: #4d3a36;
    color: #f6efdf;
    border: none;
    padding: 0 22px;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    font-size: 0.95em;
    min-height: 44px;
    flex: 0 0 auto;
}

.msg-composer-send:hover {
    background-color: #594940;
}

.msg-composer-notice {
    background: #fff3cd;
    color: #5a4a1a;
    padding: 8px 12px;
    border-radius: 6px;
    margin-bottom: 8px;
    font-size: 0.85em;
}

.msg-composer--disabled {
    text-align: center;
    color: #8a7869;
    padding: 14px;
}

/* --- Подтверждение / новое сообщение / поиск --- */

.msg-confirm {
    background: #fff3cd;
    border: 1px solid #e0c97f;
    padding: 16px;
    border-radius: 8px;
    margin-top: 10px;
}

.msg-confirm p {
    margin: 0 0 10px;
}

.msg-confirm form {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.msg-new, .msg-search-form {
    margin-top: 10px;
}

.msg-new h2 {
    margin: 0 0 12px;
    font-size: 1.2em;
    color: #4d3a36;
}

.msg-new-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 420px;
}

.msg-new-form label {
    display: block;
    color: #4d3a36;
}

.msg-input {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #ac977c;
    border-radius: 8px;
    background: #fffbef;
    color: #2a2520;
    font-size: 1em;
    box-sizing: border-box;
    min-height: 44px;
}

.msg-input:focus {
    outline: none;
    border-color: #4d3a36;
    box-shadow: 0 0 0 2px rgba(77, 58, 54, 0.15);
}

.msg-new-hint {
    margin-top: 14px;
    color: #5a453d;
    font-size: 0.9em;
}

.msg-search-result-head {
    margin: 10px 0;
    padding: 8px 12px;
    background: #f0e5d0;
    border-radius: 6px;
}

.msg-search-results {
    list-style: none;
    margin: 0;
    padding: 0;
}

.msg-search-item {
    padding: 10px 12px;
    border-bottom: 1px solid #d8c5a8;
    background: #fffbef;
}

.msg-search-item:hover {
    background: #f6efdf;
}

/* --- Адаптивность --- */

@media screen and (max-width: 640px) {
    .msg-tabs {
        gap: 2px;
    }
    .msg-tab {
        padding: 10px 14px;
        font-size: 0.9em;
    }
    .msg-bubble {
        max-width: 88%;
        font-size: 0.95em;
    }
    .msg-thread {
        padding: 10px 6px;
        max-height: 55vh;
    }
    .msg-dialog-header {
        padding: 8px 10px;
        gap: 8px;
    }
    .msg-list-link {
        padding: 12px 10px;
    }
    .msg-list-name {
        font-size: 0.95em;
    }
    .msg-composer-row {
        flex-direction: column;
    }
    .msg-composer-send {
        width: 100%;
        padding: 12px;
    }
    .msg-add-form {
        flex-direction: column;
    }
    .msg-add-form .button {
        width: 100%;
        padding: 12px;
    }
    .msg-actions {
        flex-direction: column;
        align-items: stretch;
    }
    .msg-actions .button,
    .msg-actions .msg-link-danger {
        text-align: center;
    }
}

@media screen and (max-width: 380px) {
    .msg-bubble {
        max-width: 92%;
        padding: 6px 10px 20px;
    }
    .msg-list-time {
        font-size: 0.7em;
    }
}

/* ============================================================
   Переключатель тем (главная): Ночной режим / Режим слабого зрения
   Фиксирован в верхнем правом углу — не сдвигает основной контент.
   Адаптивный: на широких экранах — пилюля «иконка + текст»,
   на узких — компактная круглая кнопка с иконкой.
   ============================================================ */
.theme-switch__btn {
    color: #5e4b4b;
    background: rgba(255, 251, 239, 0.85);
    border: 1px solid rgba(190, 168, 144, 0.65);
    cursor: pointer;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    box-shadow: 0 2px 10px -4px rgba(0, 0, 0, 0.28);
    transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.theme-switch__btn:hover,
.theme-switch__btn:focus-visible {
    color: #000;
    background: #fff8e9;
    border-color: #8a7869;
    text-decoration: none;
    box-shadow: 0 3px 14px -4px rgba(0, 0, 0, 0.38);
}

.theme-switch__btn[aria-pressed="true"] {
    color: #fff8e9;
    background: #4d3a36;
    border-color: #4d3a36;
    box-shadow: 0 3px 14px -4px rgba(77, 58, 54, 0.6);
}

@media (prefers-reduced-motion: reduce) {
    .theme-switch__btn {
        transition: none;
    }
}

/* ============================================================
   Глобальные формы (login, registration, lostpassword, account,
   balance, key, paycreate). Согласованы со skin.css — пергамент,
   бронзовая рамка, ржавая галочка. Чекбокс оформляется
   отдельным блоком (а не системным).
   ============================================================ */
input[type="email"],
input[type="password"],
input[type="text"],
input[type="search"],
input[type="url"],
input[type="tel"],
input[type="number"] {
    color: #4d3a36;
    background-color: #faf8eb;
    border: 2px solid #ac977c;
    padding: 6px 8px;
    font-size: 0.95rem;
    line-height: 1.4;
}

input[type="email"]:focus,
input[type="password"]:focus,
input[type="text"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: #4d3a36;
    box-shadow: 0 0 0 2px rgba(77, 58, 54, 0.18);
}

input:invalid,
textarea:invalid {
    /* reset.css красит required-поля в розовый (#f0dddd) — в глобальной
       обвязке это не нужно, бронзовая рамка остаётся читабельной. */
    background-color: #faf8eb;
    box-shadow: none;
}

input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    width: 22px;
    height: 22px;
    min-width: 22px;
    min-height: 22px;
    margin: 0 0.5em 0 0;
    border: 2px solid #ac977c;
    border-radius: 3px;
    background: #faf8eb;
    box-shadow: inset 0 1px 2px rgba(60, 40, 15, 0.12);
    cursor: pointer;
    position: relative;
    vertical-align: middle;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

input[type="checkbox"]::after {
    content: '✓';
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    line-height: 1;
    color: transparent;
    pointer-events: none;
    transition: color 0.15s ease;
}

input[type="checkbox"]:checked {
    background: #faf8eb;
    border-color: rgba(120, 85, 45, 0.85);
}

input[type="checkbox"]:checked::after {
    color: #732e1c; /* rust-deep */
}

input[type="checkbox"]:hover {
    border-color: rgba(120, 85, 45, 0.85);
    background: #fffbef;
}

input[type="checkbox"]:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px rgba(77, 58, 54, 0.25), inset 0 1px 2px rgba(60, 40, 15, 0.12);
}

input[type="checkbox"]:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Браузерный автофилл (Chrome, Edge, Safari) подменяет фон поля
   на белый/голубой, что ломает тему. Перекрываем через -webkit-box-shadow
   большого размера, имитирующего фоновый цвет. */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill {
    -webkit-text-fill-color: #4d3a36;
    -webkit-box-shadow: 0 0 0 1000px #faf8eb inset;
    caret-color: #4d3a36;
    transition: background-color 5000s ease-in-out 0s;
}

/* ============================================================
   Разделы сайта (razdels/*)
   Единый чистый интерфейс поверх легаси-разметки: адаптивные
   страницы, аккуратные формы, спокойные разделители.
   ============================================================ */
body.site-razdel {
    --dw-page-text: #4f3a31;
    --dw-page-muted: #7c6756;
    --dw-page-link: #2f7a5b;
    --dw-page-link-hover: #6c8a30;
    --dw-page-paper: rgba(255, 250, 239, 0.88);
    --dw-page-paper-strong: #fff8e9;
    --dw-page-line: rgba(154, 121, 86, 0.28);
    --dw-page-line-strong: rgba(118, 86, 54, 0.42);
    --dw-page-button: #4d3a36;
    --dw-page-button-hover: #5b463d;
    --dw-page-shadow: 0 24px 70px -56px rgba(65, 37, 13, 0.72);
    color: var(--dw-page-text);
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(16px, 1.35vw, 19px);
    line-height: 1.62;
}

body.site-razdel .container {
    max-width: 1180px;
    padding: 48px clamp(12px, 3vw, 28px) 34px;
}

body.site-razdel .topnav {
    width: min(100%, 980px);
    margin: 0 auto 28px;
    padding: 8px;
    gap: 6px;
    border: 1px solid var(--dw-page-line);
    border-radius: 8px;
    background: color-mix(in srgb, var(--dw-page-paper) 88%, transparent);
    box-shadow: var(--dw-page-shadow);
}

body.site-razdel .topnav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 16px;
    margin: 0;
    border-radius: 6px;
    color: var(--dw-page-muted);
    font-size: 0.78rem;
    letter-spacing: 0;
    line-height: 1;
}

body.site-razdel .topnav a:hover,
body.site-razdel .topnav a:focus-visible {
    color: var(--dw-page-text);
    background: rgba(120, 85, 45, 0.08);
}

body.site-razdel .hero,
body.site-razdel .article,
body.site-razdel .top_user {
    box-sizing: border-box;
    width: min(100%, 920px);
    margin-left: auto;
    margin-right: auto;
}

body.site-razdel .hero {
    padding: 0;
    margin-top: 18px;
    margin-bottom: 16px;
    color: var(--dw-page-muted);
    text-align: center;
}

body.site-razdel .hero + .hero {
    margin-top: 0;
}

body.site-razdel .article,
body.site-razdel .top_user {
    padding: clamp(18px, 3vw, 30px);
    background: var(--dw-page-paper);
    border: 1px solid var(--dw-page-line);
    border-radius: 8px;
    box-shadow: var(--dw-page-shadow);
}

body.site-razdel .top_user .article {
    width: 100%;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

body.site-razdel .article.messenger {
    width: min(calc(100vw - 32px), 1120px);
    padding: clamp(12px, 2vw, 20px);
}

body.site-razdel h1,
body.site-razdel .H2game,
body.site-razdel h2,
body.site-razdel h3 {
    color: var(--dw-page-text);
    letter-spacing: 0;
}

body.site-razdel h1,
body.site-razdel .H2game {
    font-size: clamp(1.55rem, 3vw, 2.2rem);
    line-height: 1.16;
    margin: 0 0 0.35em;
}

body.site-razdel h2 {
    font-size: clamp(1.08rem, 1.7vw, 1.32rem);
    line-height: 1.24;
}

body.site-razdel .header-h1 h1 {
    background: transparent;
    clip-path: none;
    padding: 0;
}

body.site-razdel a:link,
body.site-razdel a:visited,
body.site-razdel p a:link,
body.site-razdel p a:visited {
    color: var(--dw-page-link);
}

body.site-razdel a:hover,
body.site-razdel p a:hover {
    color: var(--dw-page-link-hover);
}

body.site-razdel hr {
    width: min(100%, 680px);
    margin: 22px auto;
    border: 0;
    border-top: 1px solid var(--dw-page-line);
}

body.site-razdel .article > hr:first-child,
body.site-razdel .article > hr:last-child,
body.site-razdel noindex > hr:first-child {
    display: none;
}

body.site-razdel .center {
    text-align: center;
}

body.site-razdel .small {
    color: var(--dw-page-muted);
}

body.site-razdel img.social {
    width: 38px;
    height: 38px;
    margin: 0 4px 8px;
    border-radius: 8px;
    box-shadow: 0 10px 20px -16px rgba(45, 25, 8, 0.7);
}

body.site-razdel a:has(> img.social) {
    display: inline-flex;
}

body.site-razdel .article form:not(.msg-chip-form):not(.msg-composer):not(.msg-add-form):not(.msg-new-form),
body.site-razdel .hero form:not(.msg-chip-form):not(.msg-composer):not(.msg-add-form):not(.msg-new-form) {
    box-sizing: border-box;
    width: min(100%, 460px);
    margin: 16px auto;
    padding: 18px;
    display: grid;
    gap: 10px;
    text-align: left;
    background: color-mix(in srgb, var(--dw-page-paper-strong) 82%, transparent);
    border: 1px solid var(--dw-page-line);
    border-radius: 8px;
}

body.site-razdel .article form.form {
    margin-top: 14px;
    margin-bottom: 20px;
}

body.site-razdel label {
    color: var(--dw-page-muted);
    font-size: 0.94rem;
    line-height: 1.35;
}

body.site-razdel input[type="email"],
body.site-razdel input:not([type]),
body.site-razdel input[type="password"],
body.site-razdel input[type="text"],
body.site-razdel input[type="search"],
body.site-razdel input[type="url"],
body.site-razdel input[type="tel"],
body.site-razdel input[type="number"],
body.site-razdel textarea,
body.site-razdel select {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-height: 42px;
    margin: 4px 0 0;
    padding: 9px 11px;
    border: 1px solid var(--dw-page-line-strong);
    border-radius: 6px;
    background-color: var(--dw-page-paper-strong);
    color: var(--dw-page-text);
    font: inherit;
    font-size: 1rem;
}

body.site-razdel textarea {
    min-height: 150px;
    resize: vertical;
}

body.site-razdel input[type="radio"] {
    width: auto;
    min-height: 0;
    margin: 0 6px;
}

body.site-razdel input[type="checkbox"] {
    flex: 0 0 auto;
}

body.site-razdel label:has(input[type="checkbox"]) {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

body.site-razdel .button,
body.site-razdel a.button,
body.site-razdel button.button,
body.site-razdel input[type="submit"].button {
    min-height: 42px;
    padding: 0 20px;
    border-radius: 6px;
    background: var(--dw-page-button);
    color: #fff8e9;
    border: 1px solid transparent;
    box-shadow: 0 16px 28px -24px rgba(42, 24, 8, 0.85);
}

body.site-razdel .button:hover,
body.site-razdel a.button:hover,
body.site-razdel button.button:hover,
body.site-razdel input[type="submit"].button:hover {
    background: var(--dw-page-button-hover);
    color: #ffffff;
}

body.site-razdel .warning,
body.site-razdel .success,
body.site-razdel .message,
body.site-razdel .info {
    display: block;
    margin: 14px auto;
    padding: 12px 14px;
    border-radius: 8px;
    border-width: 1px;
    text-align: left;
}

body.site-razdel .message,
body.site-razdel .info {
    color: var(--dw-page-text);
    background: color-mix(in srgb, var(--dw-page-paper-strong) 72%, transparent);
    border: 1px solid var(--dw-page-line);
}

body.site-razdel .balance {
    font-size: clamp(3.5rem, 13vw, 9rem);
    line-height: 0.95;
    color: var(--dw-page-text);
}

body.site-razdel .article:has(> .col_33) {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 2.4vw, 28px);
}

body.site-razdel .article.legal-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 2.4vw, 28px);
}

body.site-razdel .article:has(> .col_33) > .col_33,
body.site-razdel .article:has(> .col_33) > .col_100,
body.site-razdel .article.legal-grid > .col_33,
body.site-razdel .article.legal-grid > .col_100 {
    float: none;
    width: auto;
    margin: 0;
}

body.site-razdel .article:has(> .col_33) > .col_100,
body.site-razdel .article.legal-grid > .col_100 {
    grid-column: 1 / -1;
}

body.site-razdel .article.legal-grid > .clearfix {
    display: none;
}

body.site-razdel .article.legal-grid::before,
body.site-razdel .article.legal-grid::after {
    display: none;
    content: none;
}

body.site-razdel .bottominfo {
    width: min(100%, 1180px);
    margin: 42px auto 0;
    padding: 18px clamp(12px, 3vw, 28px) 0;
    border-top: 1px solid var(--dw-page-line);
}

@media screen and (max-width: 768px) {
    body.site-razdel .container {
        padding-top: 60px;
    }

    body.site-razdel .topnav {
        justify-content: flex-start;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }

    body.site-razdel .topnav a {
        flex: 0 0 auto;
    }

    body.site-razdel .article,
    body.site-razdel .top_user {
        padding: 16px;
    }

    body.site-razdel .article.messenger {
        width: calc(100vw - 16px);
        padding: 10px;
    }

    body.site-razdel .article:has(> .col_33),
    body.site-razdel .article.legal-grid {
        grid-template-columns: 1fr;
    }

    body.site-razdel .bottomright,
    body.site-razdel .bottomleft {
        text-align: left;
    }
}

/* Финальный слой для разделов: экран сам является основной поверхностью. */
body.site-razdel .hero,
body.site-razdel .article:not(.messenger),
body.site-razdel .top_user {
    max-width: min(100%, 1120px);
    margin-left: auto;
    margin-right: auto;
    padding-left: clamp(10px, 3vw, 28px);
    padding-right: clamp(10px, 3vw, 28px);
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

body.site-razdel .hero {
    padding-top: 8px;
    padding-bottom: 8px;
}

body.site-razdel .article:not(.messenger) {
    padding-top: 12px;
    padding-bottom: 12px;
}

body.site-razdel .article form:not(.msg-chip-form):not(.msg-composer):not(.msg-add-form):not(.msg-new-form),
body.site-razdel .hero form:not(.msg-chip-form):not(.msg-composer):not(.msg-add-form):not(.msg-new-form) {
    width: min(100%, 460px);
    margin: 18px auto 22px;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

body.site-razdel .article form:not(.msg-chip-form):not(.msg-composer):not(.msg-add-form):not(.msg-new-form) label,
body.site-razdel .hero form:not(.msg-chip-form):not(.msg-composer):not(.msg-add-form):not(.msg-new-form) label {
    display: block;
    margin-bottom: 14px;
}

body.site-razdel input[type="email"],
body.site-razdel input:not([type]),
body.site-razdel input[type="password"],
body.site-razdel input[type="text"],
body.site-razdel input[type="search"],
body.site-razdel input[type="url"],
body.site-razdel input[type="tel"],
body.site-razdel input[type="number"],
body.site-razdel textarea,
body.site-razdel select {
    background-color: color-mix(in srgb, var(--dw-page-paper-strong) 64%, transparent);
    box-shadow: inset 0 1px 2px rgba(80, 48, 18, 0.08);
}

body.site-razdel .article:has(> .col_33),
body.site-razdel .article.legal-grid {
    max-width: min(100%, 1180px);
    gap: clamp(20px, 3.5vw, 48px);
}

body.site-razdel .article:has(> .col_33) > .col_33,
body.site-razdel .article.legal-grid > .col_33 {
    padding-top: 18px;
    border-top: 1px solid var(--dw-page-line);
}

body.site-razdel .article:has(> .col_33) > .col_100,
body.site-razdel .article.legal-grid > .col_100 {
    padding: 12px 0;
    border-top: 1px solid var(--dw-page-line);
    border-bottom: 1px solid var(--dw-page-line);
    border-radius: 0;
    background: transparent;
}

body.site-razdel .article:has(> .col_33) > .col_100 .warning,
body.site-razdel .article:has(> .col_33) > .col_100 .info,
body.site-razdel .article.legal-grid > .col_100 .warning,
body.site-razdel .article.legal-grid > .col_100 .info {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: left;
}

@media screen and (max-width: 768px) {
    body.site-razdel .hero,
    body.site-razdel .article:not(.messenger),
    body.site-razdel .top_user {
        max-width: none;
        width: 100%;
        padding-left: 12px;
        padding-right: 12px;
    }

    body.site-razdel .hero {
        padding-top: 2px;
    }

    body.site-razdel .article form:not(.msg-chip-form):not(.msg-composer):not(.msg-add-form):not(.msg-new-form),
    body.site-razdel .hero form:not(.msg-chip-form):not(.msg-composer):not(.msg-add-form):not(.msg-new-form) {
        width: 100%;
    }

    body.site-razdel img.social {
        width: 36px;
        height: 36px;
        margin-inline: 3px;
    }
}

/* Мессенджер: широкий интерфейс с единственным скроллом страницы. */
body.site-razdel:has(.messenger) {
    --msg-wide: 1520px;
    --msg-edge: clamp(10px, 2.2vw, 28px);
    --msg-top: 58px;
    --msg-tabs-top: 58px;
    --msg-dialog-top: 112px;
    --msg-bottom-gap: 118px;
}

body.site-razdel:has(.messenger) .container {
    width: 100%;
    max-width: none;
    padding-left: var(--msg-edge);
    padding-right: var(--msg-edge);
    padding-bottom: calc(var(--msg-bottom-gap) + 38px);
}

body.site-razdel:has(.messenger) .topnav.topnav--user {
    position: fixed;
    top: 10px;
    left: 12px;
    right: auto;
    z-index: 220;
    width: auto;
    max-width: calc(100vw - 320px);
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: nowrap;
    gap: 7px;
    overflow-x: auto;
    overflow-y: hidden;
    border: 0;
    background: transparent;
    scrollbar-width: none;
}

body.site-razdel:has(.messenger) .topnav.topnav--user::-webkit-scrollbar {
    display: none;
}

body.site-razdel:has(.messenger) .topnav.topnav--user a {
    flex: 0 0 auto;
    min-height: 34px;
    padding: 0 14px;
    color: var(--dw-page-link);
    border: 1px solid rgba(151, 122, 88, 0.42);
    border-radius: 999px;
    background: rgba(255, 251, 239, 0.78);
    box-shadow: 0 2px 10px -7px rgba(45, 25, 8, 0.45);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

body.site-razdel .article.messenger {
    width: min(100%, var(--msg-wide));
    max-width: none;
    margin: 0 auto;
    padding: 0;
    transform: none;
    background: transparent;
    border: 0;
    box-shadow: none;
    text-align: left;
}

body.site-razdel .messenger .msg-tabs {
    margin: 0 0 18px;
    padding: 0 0 8px;
    border-bottom: 1px solid var(--dw-page-line);
    background: color-mix(in srgb, var(--dw-page-paper-strong) 78%, transparent);
}

body.site-razdel .messenger .msg-tab {
    border-radius: 999px;
    min-height: 34px;
    padding: 0 14px;
}

body.site-razdel .messenger .msg-dialog-shell {
    width: 100%;
}

body.site-razdel .messenger--dialog .msg-dialog-header {
    padding: 10px 12px;
    border-radius: 0;
    border-top: 0;
    border-bottom: 1px solid var(--dw-page-line);
    background: transparent;
    color: var(--dw-page-text);
}

body.site-razdel .messenger--dialog .msg-dialog-header b {
    color: var(--dw-page-text);
}

body.site-razdel .messenger--dialog .msg-back {
    color: var(--dw-page-link) !important;
    background: transparent;
    border: 1px solid var(--dw-page-line);
}

body.site-razdel .messenger--dialog .msg-dialog-clear {
    color: #9a3b3d !important;
    border: 1px solid rgba(154, 59, 61, 0.22);
    background: rgba(154, 59, 61, 0.06);
}

body.site-razdel .messenger--dialog .msg-dialog-toolbar {
    padding: 8px 0;
    background: transparent;
    border: 0;
}

body.site-razdel .messenger .msg-older-hint {
    background: transparent;
    border-top: 1px solid var(--dw-page-line);
    border-bottom: 1px solid var(--dw-page-line);
}

body.site-razdel .messenger--dialog .msg-thread {
    padding: clamp(16px, 2vw, 28px) 0 28px;
    background: transparent;
    border: 0;
}

body.site-razdel .messenger--dialog .msg-row {
    margin-bottom: 10px;
}

body.site-razdel .messenger--dialog .msg-bubble {
    max-width: min(76%, 920px);
    padding: 10px 14px 24px;
    border-radius: 12px;
    box-shadow: 0 10px 28px -24px rgba(45, 25, 8, 0.55);
}

body.site-razdel .messenger--dialog .msg-bubble--in {
    background: color-mix(in srgb, var(--dw-page-paper-strong) 76%, transparent);
    border: 1px solid rgba(122, 91, 60, 0.18);
}

body.site-razdel .messenger--dialog .msg-bubble--out {
    background: rgba(76, 107, 45, 0.24);
    border: 1px solid rgba(76, 107, 45, 0.22);
}

body.site-razdel .messenger--dialog .msg-composer,
body.site-razdel .messenger--list .msg-actions {
    padding: 10px;
    border: 1px solid var(--dw-page-line);
    border-radius: 10px;
    background: var(--dw-page-paper-strong);
}

body.site-razdel .messenger--dialog .msg-composer {
    border-top: 1px solid var(--dw-page-line);
}

body.site-razdel .messenger--dialog .msg-composer-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(118px, 136px);
    align-items: stretch;
}

body.site-razdel .messenger--dialog .msg-composer-input {
    min-height: 54px;
    max-height: 32vh;
    resize: vertical;
}

body.site-razdel .msg-composer-game,
body.site-razdel .messenger--list .msg-actions .button,
body.site-razdel .messenger--list .msg-actions .msg-link-danger {
    min-height: 44px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

body.site-razdel .msg-composer-game {
    color: var(--dw-page-link) !important;
    border: 1px solid var(--dw-page-line-strong);
    background: transparent;
}

body.site-razdel .messenger--list .msg-actions {
    justify-content: center;
}

body.site-razdel .messenger--list .msg-actions .msg-link-danger {
    color: #fff8e9 !important;
    background: #7d3537;
    border: 1px solid transparent;
}

@media screen and (max-width: 768px) {
    body.site-razdel:has(.messenger) {
        --msg-edge: 8px;
        --msg-tabs-top: 58px;
        --msg-dialog-top: 106px;
        --msg-bottom-gap: 176px;
    }

    body.site-razdel:has(.messenger) .container {
        padding-top: 62px;
    }

    body.site-razdel:has(.messenger) .topnav.topnav--user {
        left: 8px;
        right: 92px;
        max-width: none;
    }

    body.site-razdel .messenger .msg-tabs {
        margin-bottom: 12px;
        padding-bottom: 6px;
    }

    body.site-razdel .messenger--dialog .msg-dialog-header {
        top: var(--msg-dialog-top);
        gap: 7px;
    }

    body.site-razdel .messenger--dialog .msg-dialog-toolbar {
        top: calc(var(--msg-dialog-top) + 58px);
        overflow-x: auto;
        flex-wrap: nowrap;
        scrollbar-width: none;
    }

    body.site-razdel .messenger--dialog .msg-dialog-toolbar::-webkit-scrollbar {
        display: none;
    }

    body.site-razdel .messenger--dialog .msg-thread {
        min-height: calc(100vh - 220px);
        padding-top: 14px;
    }

    body.site-razdel .messenger--dialog .msg-bubble {
        max-width: 92%;
    }

    body.site-razdel .messenger--dialog .msg-composer-row {
        grid-template-columns: 1fr 1fr;
    }

    body.site-razdel .messenger--dialog .msg-composer-input {
        grid-column: 1 / -1;
    }

    body.site-razdel .messenger--list .msg-actions {
        justify-content: stretch;
    }

    body.site-razdel .messenger--list .msg-actions .button,
    body.site-razdel .messenger--list .msg-actions .msg-link-danger {
        flex: 1 1 auto;
    }
}

/* Мессенджер: исправления липких панелей, ширины и режима чтения. */
body.site-razdel:has(.messenger) {
    --msg-bottom-gap: 24px;
}

body.site-razdel:has(.messenger) .container {
    padding-bottom: 28px;
}

body.site-razdel .messenger .msg-tabs,
body.site-razdel .messenger--dialog .msg-dialog-header,
body.site-razdel .messenger--dialog .msg-dialog-toolbar {
    background: var(--dw-page-paper-strong);
}

body.site-razdel .messenger--dialog .msg-dialog-header {
    padding: 10px 0;
}

body.site-razdel .messenger--dialog .msg-dialog-toolbar {
    z-index: 160;
    border-bottom: 1px solid var(--dw-page-line);
}

body.site-razdel .messenger--dialog .msg-composer,
body.site-razdel .messenger--list .msg-actions {
    box-sizing: border-box;
    max-width: 100%;
    overflow: visible;
}

body.site-razdel .messenger--list .msg-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

body.site-razdel .msg-composer-send,
body.site-razdel .msg-composer-game,
body.site-razdel .messenger--list .msg-actions .button,
body.site-razdel .messenger--list .msg-actions .msg-link-danger,
body.site-razdel .messenger .msg-new-form .button,
body.site-razdel .messenger .msg-quick-links .button {
    box-sizing: border-box;
    min-height: 44px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1.15;
    text-align: center;
}

body.site-razdel .messenger--dialog .msg-composer-row {
    gap: 8px;
}

body.site-razdel .messenger--dialog .msg-composer-input {
    box-sizing: border-box;
    width: 100%;
}

@media screen and (max-width: 768px) {
    body.site-razdel:has(.messenger) .container {
        padding-bottom: 18px;
    }

    body.site-razdel .messenger--dialog .msg-composer,
    body.site-razdel .messenger--list .msg-actions {
        bottom: 6px;
        margin-top: 16px;
        padding: 8px;
        border-radius: 8px;
    }

    body.site-razdel .messenger--dialog .msg-composer-row,
    body.site-razdel .messenger--list .msg-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    body.site-razdel .msg-composer-send,
    body.site-razdel .msg-composer-game,
    body.site-razdel .messenger--list .msg-actions .button,
    body.site-razdel .messenger--list .msg-actions .msg-link-danger {
        width: 100%;
        min-width: 0;
        white-space: normal;
    }
}

/* ============================================================
   Wide game shell 2026: единый широкий каркас для главной,
   разделов и мессенджера. Последний слой намеренно перекрывает
   старые float/card-правила без изменения серверной логики.
   ============================================================ */
body {
    --dw-shell-max: 1640px;
    --dw-shell-pad: clamp(12px, 2.6vw, 42px);
    --dw-shell-bg: #fff8e9;
    --dw-shell-bg-soft: rgba(255, 248, 233, 0.94);
    --dw-shell-line: rgba(190, 150, 88, 0.34);
    --dw-shell-line-strong: rgba(190, 150, 88, 0.54);
    --dw-shell-text: #4d352c;
    --dw-shell-muted: #8d714e;
    --dw-shell-accent: #d4a447;
    --dw-shell-control: #2d241d;
    --dw-shell-control-hover: #3a2e25;
    --dw-shell-danger: #743235;
}

body > .container {
    width: 100%;
    max-width: var(--dw-shell-max);
    padding-left: var(--dw-shell-pad);
    padding-right: var(--dw-shell-pad);
}

body .bottominfo {
    box-sizing: border-box;
    width: 100vw;
    margin: 56px 0 0 calc(50% - 50vw);
    padding: 22px max(var(--dw-shell-pad), calc((100vw - var(--dw-shell-max)) / 2 + var(--dw-shell-pad))) 24px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: start;
    color: var(--dw-shell-muted);
    border-top: 1px solid var(--dw-shell-line);
    background: color-mix(in srgb, var(--dw-shell-bg) 84%, transparent);
}

body .bottominfo > .col_50 {
    width: auto;
    margin: 0;
    float: none;
}

body .bottomleft,
body .bottomright,
body .bottomright a {
    margin-top: 0;
    line-height: 1.55;
}

body .bottomleft {
    max-width: 820px;
    text-align: left;
    font-size: 14px;
}

body .bottomright,
body .bottomright a {
    text-align: right;
    font-size: 16px;
}

body.site-razdel,
body.site-razdel:has(.messenger) {
    --msg-wide: 1540px;
    --msg-edge: var(--dw-shell-pad);
    --msg-tabs-top: 52px;
    --msg-dialog-top: 100px;
}

body.site-razdel .container,
body.site-razdel:has(.messenger) .container {
    max-width: var(--dw-shell-max);
    padding-left: var(--dw-shell-pad);
    padding-right: var(--dw-shell-pad);
}

body.site-razdel .article.messenger {
    width: min(100%, var(--msg-wide));
}

body.site-razdel .messenger .msg-tabs {
    margin: 0;
    padding: 8px 0 9px;
    gap: 8px;
    border-bottom: 1px solid var(--dw-shell-line);
    background: var(--dw-shell-bg);
}

body.site-razdel .messenger .msg-tab {
    min-height: 36px;
    padding: 0 15px;
    border-radius: 999px;
    color: var(--dw-shell-muted);
    background: transparent;
}

body.site-razdel .messenger .msg-tab--active,
body.site-razdel .messenger .msg-tab--active:hover {
    color: #fff4d8 !important;
    background: var(--dw-shell-control);
}

body.site-razdel .messenger--dialog .msg-dialog-header {
    margin: 0;
    padding: 12px 0;
    border-top: 0;
    border-bottom: 1px solid var(--dw-shell-line);
    background: var(--dw-shell-bg);
}

body.site-razdel .messenger--dialog .msg-dialog-toolbar {
    margin: 0;
    padding: 12px 0 10px;
    border-bottom: 1px solid var(--dw-shell-line);
    background: var(--dw-shell-bg);
}

body.site-razdel .messenger--dialog .msg-thread {
    padding-top: 22px;
}

body.site-razdel .messenger .msg-new,
body.site-razdel .messenger .msg-search-form {
    width: min(100%, 980px);
    margin-top: 12px;
}

body.site-razdel .messenger .msg-new-form {
    width: min(100%, 720px);
    max-width: none;
    gap: 12px;
}

body.site-razdel .messenger .msg-new-hint {
    margin: 22px 0 10px;
    color: var(--dw-shell-muted);
}

body.site-razdel .messenger .msg-new-hint + p {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

body.site-razdel .messenger--dialog .msg-composer {
    padding: 10px;
    background: var(--dw-shell-bg);
}

body.site-razdel .messenger--dialog .msg-composer-row {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(128px, auto);
    gap: 8px;
    align-items: stretch;
}

body.site-razdel .messenger .button,
body.site-razdel .messenger a.button,
body.site-razdel .messenger button.button,
body.site-razdel .messenger input[type="submit"].button,
body.site-razdel .msg-composer-send,
body.site-razdel .msg-composer-game,
body.site-razdel .messenger--list .msg-actions .button,
body.site-razdel .messenger--list .msg-actions .msg-link-danger {
    box-sizing: border-box;
    min-height: 46px;
    height: auto;
    padding: 0 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    border: 1px solid transparent;
    background: var(--dw-shell-control);
    color: #fff2d2 !important;
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.15;
    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;
    box-shadow: none;
}

body.site-razdel .messenger .button:hover,
body.site-razdel .messenger a.button:hover,
body.site-razdel .msg-composer-send:hover,
body.site-razdel .msg-composer-game:hover {
    background: var(--dw-shell-control-hover);
    color: #fff8e9 !important;
}

body.site-razdel .msg-composer-game {
    background: transparent;
    color: var(--dw-shell-accent) !important;
    border-color: var(--dw-shell-line-strong);
}

body.site-razdel .messenger--list .msg-actions {
    width: min(100%, var(--msg-wide));
    margin: 28px auto 0;
    display: flex;
    justify-content: center;
    gap: 10px;
    border-radius: 10px;
}

body.site-razdel .messenger--list .msg-actions .msg-link-danger {
    background: var(--dw-shell-danger);
}

body.site-razdel .msg-composer-input,
body.site-razdel .messenger .msg-input {
    border-radius: 8px;
    border-color: var(--dw-shell-line-strong);
    background: rgba(17, 12, 8, 0.03);
}

@media screen and (max-width: 900px) {
    body.site-razdel,
    body.site-razdel:has(.messenger) {
        --msg-tabs-top: 58px;
        --msg-dialog-top: 104px;
    }

    body .bottominfo {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    body .bottomright,
    body .bottomright a {
        text-align: left;
    }

    body.site-razdel .messenger--dialog .msg-composer-row {
        grid-template-columns: 1fr;
    }

    body.site-razdel .messenger .button,
    body.site-razdel .messenger a.button,
    body.site-razdel .msg-composer-send,
    body.site-razdel .msg-composer-game,
    body.site-razdel .messenger--list .msg-actions .button,
    body.site-razdel .messenger--list .msg-actions .msg-link-danger {
        width: 100%;
        min-width: 0;
        white-space: normal;
    }

    body.site-razdel .messenger .msg-new-hint + p,
    body.site-razdel .messenger--list .msg-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 520px) {
    body > .container,
    body.site-razdel .container,
    body.site-razdel:has(.messenger) .container {
        padding-left: 8px;
        padding-right: 8px;
    }

    body.site-razdel .messenger .msg-tabs {
        gap: 5px;
    }

    body.site-razdel .messenger .msg-tab {
        min-height: 34px;
        padding: 0 10px;
        font-size: 0.86rem;
    }
}

/* ============================================================
   Messenger/site hard reset 2026.
   This block intentionally wins over all older page/theme layers.
   ============================================================ */
body {
    --dw-page-bg-solid: #fff8e9;
    --dw-night-bg-solid: #070604;
    --dw-control-bg: #251f19;
    --dw-control-bg-hover: #342a21;
    --dw-control-border: rgba(214, 168, 78, 0.36);
    --dw-control-text: #ffe6ad;
    --dw-danger-bg: #6b2d31;
    --dw-footer-muted: #8b6d43;
    --dw-header-h: 198px;
}

body .bottominfo {
    width: 100%;
    margin: 64px 0 0;
    padding: 22px clamp(14px, 3vw, 56px) 26px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, auto);
    gap: clamp(18px, 4vw, 64px);
    align-items: start;
    border-top: 1px solid rgba(190, 150, 88, 0.26);
    background: transparent;
}

body .bottominfo::before,
body .bottominfo::after {
    content: none;
}

body .bottominfo > .col_50 {
    float: none;
    width: auto;
    margin: 0;
    min-width: 0;
}

body .bottomleft,
body .bottomright,
body .bottomright a {
    margin: 0;
    color: var(--dw-footer-muted);
}

body .bottomleft {
    max-width: 900px;
    font-size: 14px;
    line-height: 1.55;
    text-align: left;
}

body .bottomright {
    justify-self: end;
    text-align: right;
}

body .bottomright,
body .bottomright a {
    font-size: 17px;
    line-height: 1.55;
    text-transform: uppercase;
}

body.site-razdel:has(.messenger--dialog)::before {
    content: none;
}

body.site-razdel .messenger--dialog .msg-bubble {
    max-width: min(72%, 960px);
}

body.site-razdel .messenger .button,
body.site-razdel .messenger a.button,
body.site-razdel .messenger button.button,
body.site-razdel .messenger input[type="submit"].button,
body.site-razdel .messenger .msg-composer-send,
body.site-razdel .messenger .msg-composer-game,
body.site-razdel .messenger .msg-actions .button,
body.site-razdel .messenger .msg-actions .msg-link-danger,
body.site-razdel .messenger .msg-chip,
body.site-razdel .messenger .msg-dialog-clear,
body.site-razdel .messenger .msg-back {
    box-sizing: border-box;
    min-height: 38px;
    height: auto;
    padding: 0 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 1px solid var(--dw-control-border);
    background: var(--dw-control-bg);
    color: var(--dw-control-text) !important;
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1.12;
    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;
    box-shadow: none;
}

body.site-razdel .messenger .button:hover,
body.site-razdel .messenger a.button:hover,
body.site-razdel .messenger button.button:hover,
body.site-razdel .messenger .msg-composer-send:hover,
body.site-razdel .messenger .msg-composer-game:hover,
body.site-razdel .messenger .msg-chip:hover,
body.site-razdel .messenger .msg-dialog-clear:hover,
body.site-razdel .messenger .msg-back:hover {
    background: var(--dw-control-bg-hover);
    color: #fff4cf !important;
}

body.site-razdel .messenger .msg-composer-send {
    min-height: 72px;
    border-radius: 8px;
}

body.site-razdel .messenger .msg-composer-game {
    min-height: 72px;
    border-radius: 8px;
    background: transparent;
}

body.site-razdel .messenger .msg-actions .msg-link-danger,
body.site-razdel .messenger .msg-dialog-clear {
    background: transparent;
    color: #dc6868 !important;
    border-color: rgba(180, 68, 72, 0.35);
}

body.site-razdel .messenger .msg-actions .msg-link-danger:hover,
body.site-razdel .messenger .msg-dialog-clear:hover {
    background: var(--dw-danger-bg);
    color: #ffe5df !important;
}

body.site-razdel .messenger .msg-new {
    width: min(100%, 920px);
}

body.site-razdel .messenger .msg-new-form {
    width: min(100%, 720px);
    max-width: none;
}

body.site-razdel .messenger .msg-new-hint + p {
    width: min(100%, 720px);
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(180px, 1fr));
    gap: 10px;
}

@media screen and (max-width: 760px) {
    body {
        --dw-header-h: 210px;
    }

    body .bottominfo {
        grid-template-columns: 1fr;
        margin-top: 42px;
    }

    body .bottomright {
        justify-self: start;
        text-align: left;
    }

    body.site-razdel .messenger--dialog .msg-composer-row,
    body.site-razdel .messenger .msg-new-hint + p {
        grid-template-columns: 1fr;
    }

    body.site-razdel .messenger .button,
    body.site-razdel .messenger a.button,
    body.site-razdel .messenger button.button,
    body.site-razdel .messenger .msg-composer-send,
    body.site-razdel .messenger .msg-composer-game,
    body.site-razdel .messenger .msg-actions .button,
    body.site-razdel .messenger .msg-actions .msg-link-danger {
        width: 100%;
        min-width: 0;
        white-space: normal;
    }

    body.site-razdel .messenger .msg-composer-send,
    body.site-razdel .messenger .msg-composer-game {
        min-height: 46px;
    }
}

/* ============================================================
   DW layout contract.
   One source of truth for public pages and messenger geometry.
   ============================================================ */
body {
    --dw-layout-max: 1540px;
    --dw-layout-pad: clamp(14px, 2.4vw, 44px);
    --dw-line-soft: rgba(198, 156, 82, 0.28);
    --dw-line-strong: rgba(198, 156, 82, 0.46);
    --dw-surface-solid: var(--dw-page-bg-solid);
}

body > .container,
body.site-razdel .container,
body.site-razdel:has(.messenger) .container {
    box-sizing: border-box;
    width: min(100%, calc(var(--dw-layout-max) + (var(--dw-layout-pad) * 2)));
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--dw-layout-pad);
    padding-right: var(--dw-layout-pad);
}

body.site-razdel .hero,
body.site-razdel .article,
body.site-razdel .top_user,
body.site-razdel .article.messenger {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--dw-layout-max);
    margin-left: auto;
    margin-right: auto;
}

body.site-razdel .article:not(.messenger),
body.site-razdel .top_user {
    text-align: left;
}

body.site-razdel .topnav.topnav--user,
body.site-razdel .messenger .msg-tabs,
body.site-razdel .messenger--dialog .msg-dialog-header,
body.site-razdel .messenger--dialog .msg-dialog-toolbar,
body.site-razdel .messenger--dialog .msg-thread,
body.site-razdel .messenger--dialog .msg-composer,
body.site-razdel .messenger--list .msg-actions,
body.site-razdel .messenger .msg-new,
body.site-razdel .messenger .msg-search-form,
body.site-razdel .messenger .msg-new-form,
body.site-razdel .messenger .msg-new-hint + p,
body.site-razdel .messenger .msg-list {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--dw-layout-max);
    margin-left: auto;
    margin-right: auto;
}

body.site-razdel .messenger--dialog .msg-dialog-header {
    display: flex;
    justify-content: flex-start;
    gap: 10px;
}

body.site-razdel .messenger--dialog .msg-dialog-title,
body.site-razdel .messenger--dialog .msg-dialog-header b {
    flex: 0 1 auto;
}

body.site-razdel .messenger--dialog .msg-dialog-clear {
    margin-left: 8px;
}

body.site-razdel .messenger--dialog .msg-dialog-toolbar {
    justify-content: flex-start;
}

body.site-razdel .messenger--dialog .msg-composer {
    background: var(--dw-shell-bg);
}

body.site-razdel .messenger--dialog .msg-composer-row {
    grid-template-columns: minmax(0, 1fr) minmax(128px, auto);
}

body .bottominfo {
    box-sizing: border-box;
    width: min(100%, calc(var(--dw-layout-max) + (var(--dw-layout-pad) * 2)));
    max-width: none;
    margin: clamp(38px, 7vh, 72px) auto 0;
    padding: 22px var(--dw-layout-pad) 26px;
    grid-template-columns: minmax(0, 1fr) minmax(230px, auto);
    border-top: 1px solid var(--dw-line-soft);
}

body .bottomleft {
    max-width: none;
}

body.site-razdel .messenger .msg-new-form,
body.site-razdel .messenger .msg-new-hint + p {
    max-width: min(100%, 720px);
    margin-left: 0;
    margin-right: 0;
}

body.site-razdel .messenger .msg-new {
    margin-left: auto;
    margin-right: auto;
}

body.site-razdel .messenger .msg-new-form .button {
    width: 100%;
}

body.site-razdel .messenger--list .msg-actions {
    justify-content: center;
}

@media screen and (max-width: 760px) {
    body {
        --dw-layout-pad: 10px;
    }

    body .bottominfo {
        grid-template-columns: 1fr;
    }

    body.site-razdel .messenger--dialog .msg-composer-row {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   DW shell final: one page geometry, full-width footer,
   and an opaque dialog header curtain during page scroll.
   ============================================================ */
body {
    --dw-layout-max: 1540px;
    --dw-layout-pad: clamp(14px, 2.4vw, 44px);
    --dw-layout-outer: max(var(--dw-layout-pad), calc((100vw - var(--dw-layout-max)) / 2 + var(--dw-layout-pad)));
    --dw-dialog-curtain-height: 224px;
}

body > .container,
body.site-razdel .container,
body.site-razdel:has(.messenger) .container {
    width: 100%;
    max-width: none;
    padding-left: var(--dw-layout-outer);
    padding-right: var(--dw-layout-outer);
}

body.site-razdel .article,
body.site-razdel .article.messenger,
body.site-razdel .hero,
body.site-razdel .top_user {
    width: 100%;
    max-width: var(--dw-layout-max);
    margin-left: auto;
    margin-right: auto;
}

body .bottominfo {
    width: 100%;
    max-width: none;
    margin: clamp(42px, 7vh, 78px) 0 0;
    padding: 22px var(--dw-layout-outer) 26px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(230px, auto);
    gap: clamp(18px, 4vw, 64px);
    border-top: 1px solid var(--dw-line-soft);
}

body.site-razdel:has(.messenger--dialog)::before {
    content: '';
    position: fixed;
    z-index: 245;
    top: 0;
    left: 0;
    right: 0;
    height: var(--dw-dialog-curtain-height);
    pointer-events: none;
    background: var(--dw-page-bg-solid);
    border-bottom: 1px solid var(--dw-line-soft);
}

body.site-razdel .messenger--dialog .msg-dialog-curtain {
    position: fixed;
    z-index: 245;
    top: 0;
    left: 0;
    right: 0;
    height: var(--dw-dialog-curtain-height);
    pointer-events: none;
    background: var(--dw-page-bg-solid);
    border-bottom: 1px solid var(--dw-line-soft);
}

body.site-razdel .messenger .msg-tabs,
body.site-razdel .messenger--dialog .msg-dialog-header,
body.site-razdel .messenger--dialog .msg-dialog-toolbar {
    z-index: 270;
    background: var(--dw-page-bg-solid);
}

body.site-razdel .messenger--dialog .msg-thread {
    padding-top: 24px;
}

body.site-razdel .messenger .msg-page-actions {
    margin: 0 0 16px;
}

body.site-razdel .messenger .msg-back-list {
    width: auto;
}

body.site-razdel .messenger--panel .msg-new,
body.site-razdel .messenger--panel .msg-search-form {
    width: 100%;
    max-width: var(--dw-layout-max);
}

body.site-razdel .messenger--panel .msg-new-form,
body.site-razdel .messenger--panel .msg-new-hint + p {
    width: min(100%, 900px);
    max-width: min(100%, 900px);
}

body.site-razdel .messenger--panel .msg-new-form {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(180px, 260px);
    align-items: end;
}

body.site-razdel .messenger--panel .msg-new-form label,
body.site-razdel .messenger--panel .msg-new-form .msg-input {
    width: 100%;
}

body.site-razdel .messenger--panel .msg-new-form .button {
    min-height: 46px;
}

body.site-razdel .messenger--dialog .msg-thread {
    min-height: clamp(280px, 46vh, 560px);
}

@media screen and (max-width: 760px) {
    body {
        --dw-layout-pad: 10px;
        --dw-layout-outer: 10px;
        --dw-dialog-curtain-height: 236px;
    }

    body .bottominfo {
        grid-template-columns: 1fr;
    }

    body.site-razdel .messenger--panel .msg-new-form {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   DW unified shell contract.
   This block is intentionally last: it is the single geometry
   source for section pages, messenger pages and footer alignment.
   ============================================================ */
html {
    scrollbar-gutter: stable;
    overflow-x: hidden;
}

body {
    --dw-shell-max: 1540px;
    --dw-shell-pad: clamp(12px, 2.2vw, 42px);
    --dw-shell-gutter: max(var(--dw-shell-pad), calc((100vw - var(--dw-shell-max)) / 2 + var(--dw-shell-pad)));
    --dw-fixed-top: 52px;
    --dw-tabs-height: 52px;
    --dw-dialog-head-height: 58px;
    --dw-dialog-tools-height: 56px;
    --dw-dialog-mask-height: calc(var(--dw-fixed-top) + var(--dw-tabs-height) + var(--dw-dialog-head-height) + var(--dw-dialog-tools-height) + 8px);
    --dw-button-bg: rgba(43, 34, 25, 0.96);
    --dw-button-bg-hover: rgba(58, 44, 30, 0.98);
    --dw-button-border: rgba(205, 158, 72, 0.52);
    --dw-danger-bg: rgba(80, 29, 29, 0.92);
    --dw-danger-border: rgba(190, 76, 76, 0.46);
    overflow-x: hidden;
}

body > .container,
body.site-razdel .container,
body.site-razdel:has(.messenger) .container {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: 0;
    padding-left: var(--dw-shell-gutter);
    padding-right: var(--dw-shell-gutter);
}

body.site-razdel .hero,
body.site-razdel .article,
body.site-razdel .article.messenger,
body.site-razdel .top_user,
body.site-razdel .topnav.topnav--user,
body.site-razdel .messenger .msg-tabs,
body.site-razdel .messenger .msg-list,
body.site-razdel .messenger--dialog .msg-dialog-header,
body.site-razdel .messenger--dialog .msg-dialog-toolbar,
body.site-razdel .messenger--dialog .msg-thread,
body.site-razdel .messenger--dialog .msg-composer,
body.site-razdel .messenger--list .msg-actions,
body.site-razdel .messenger--panel .msg-new,
body.site-razdel .messenger--panel .msg-search-form {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--dw-shell-max);
    margin-left: auto;
    margin-right: auto;
    min-width: 0;
}

body .bottominfo {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: clamp(42px, 8vh, 86px) 0 0;
    padding: 22px var(--dw-shell-gutter) 26px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, auto);
    align-items: start;
    gap: clamp(18px, 4vw, 72px);
    border-top: 1px solid var(--dw-line-soft);
}

body .bottominfo > .col_50 {
    width: auto;
    max-width: none;
    margin: 0;
}

body .bottominfo > .col_50:nth-child(2) {
    text-align: right;
}

body.site-razdel .messenger .msg-tabs {
    position: sticky;
    top: var(--dw-fixed-top);
    height: auto;
    min-height: var(--dw-tabs-height);
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: clamp(14px, 2.2vw, 34px);
    margin: 0 0 18px;
    padding: 8px 0 10px;
    border-bottom: 1px solid var(--dw-line-soft);
    background: var(--dw-page-bg-solid);
    overflow-x: auto;
    overflow-y: visible;
    z-index: 320;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

body.site-razdel .messenger .msg-tab {
    position: static;
    flex: 0 0 auto;
    transform: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 2px;
    border-radius: 0;
    color: var(--dw-link);
    line-height: 1.15;
    overflow: visible;
    background: transparent;
    box-shadow: none;
}

body.site-razdel .messenger .msg-tab--active,
body.site-razdel .messenger .msg-tab--active:hover {
    color: var(--dw-title, #d6a64d) !important;
    background: transparent;
    box-shadow: inset 0 -2px 0 currentColor;
}

body.site-razdel .messenger--dialog .msg-dialog-curtain {
    position: fixed;
    z-index: 300;
    top: 0;
    left: 0;
    right: 0;
    height: var(--dw-dialog-mask-height);
    pointer-events: none;
    background: var(--dw-page-bg-solid);
    border-bottom: 1px solid var(--dw-line-soft);
    box-shadow: 0 18px 32px rgba(0, 0, 0, 0.22);
}

body.site-razdel .messenger--dialog .msg-dialog-header,
body.site-razdel .messenger--dialog .msg-dialog-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    background: var(--dw-page-bg-solid);
    z-index: 330;
}

body.site-razdel .messenger--dialog .msg-dialog-header {
    position: sticky;
    top: calc(var(--dw-fixed-top) + var(--dw-tabs-height));
    min-height: var(--dw-dialog-head-height);
    gap: 12px;
    padding: 9px 0;
    overflow: visible;
}

body.site-razdel .messenger--dialog .msg-dialog-toolbar {
    position: sticky;
    top: calc(var(--dw-fixed-top) + var(--dw-tabs-height) + var(--dw-dialog-head-height));
    min-height: var(--dw-dialog-tools-height);
    gap: 10px;
    padding: 8px 0 10px;
    border-bottom: 1px solid var(--dw-line-soft);
    overflow-x: auto;
    overflow-y: visible;
}

body.site-razdel .messenger--dialog .msg-dialog-clear {
    margin-left: auto;
    flex: 0 0 auto;
}

body.site-razdel .messenger--dialog .msg-thread {
    padding-top: 28px;
}

body.site-razdel .messenger--dialog .msg-composer {
    padding: 10px;
    background: var(--dw-page-bg-solid);
}

body.site-razdel .messenger--dialog .msg-composer-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(120px, 136px);
    gap: 8px;
    align-items: stretch;
}

body.site-razdel .msg-composer-input {
    min-height: 70px;
}

body.site-razdel .messenger .button,
body.site-razdel .messenger .msg-composer-send,
body.site-razdel .messenger .msg-composer-game,
body.site-razdel .messenger .msg-actions .button,
body.site-razdel .messenger .msg-actions .msg-link-danger,
body.site-razdel .messenger .msg-dialog-clear,
body.site-razdel .messenger .msg-back {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 16px;
    border: 1px solid var(--dw-button-border);
    border-radius: 8px;
    background: var(--dw-button-bg);
    color: var(--dw-link);
    font: 700 15px/1.1 var(--dw-font, inherit);
    text-align: center;
    white-space: nowrap;
    text-decoration: none;
}

body.site-razdel .messenger .button:hover,
body.site-razdel .messenger .msg-composer-send:hover,
body.site-razdel .messenger .msg-composer-game:hover,
body.site-razdel .messenger .msg-back:hover {
    background: var(--dw-button-bg-hover);
}

body.site-razdel .messenger .msg-dialog-clear,
body.site-razdel .messenger .msg-actions .msg-link-danger {
    background: var(--dw-danger-bg);
    border-color: var(--dw-danger-border);
    color: #ff9a8f;
}

body.site-razdel .messenger .msg-back {
    width: 40px;
    min-width: 40px;
    padding: 0;
    border-radius: 999px;
    font-size: 20px;
}

body.site-razdel .messenger--panel .msg-new {
    max-width: var(--dw-shell-max);
}

body.site-razdel .messenger--panel .msg-new-form {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(180px, 280px);
    align-items: end;
    gap: 12px;
    width: min(100%, 960px);
    max-width: min(100%, 960px);
    margin: 0;
}

body.site-razdel .messenger--panel .msg-new-form label,
body.site-razdel .messenger--panel .msg-new-form .msg-input {
    width: 100%;
}

body.site-razdel .messenger--panel .msg-new-hint + p {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    width: min(100%, 960px);
    max-width: min(100%, 960px);
    margin: 12px 0 0;
}

body.site-razdel .messenger--panel .msg-new-hint + p .button {
    min-width: min(100%, 240px);
}

body.site-razdel .messenger .msg-page-actions {
    margin: 0 0 14px;
}

body.site-razdel .messenger .msg-back-list {
    width: auto;
}

@media screen and (max-width: 760px) {
    body {
        --dw-shell-pad: 10px;
        --dw-shell-gutter: 10px;
        --dw-fixed-top: 54px;
        --dw-tabs-height: 50px;
        --dw-dialog-head-height: 56px;
        --dw-dialog-tools-height: 54px;
    }

    body.site-razdel .messenger .msg-tabs {
        gap: 6px;
        overflow-x: auto;
        padding-top: 12px;
        padding-bottom: 8px;
    }

    body.site-razdel .messenger .msg-tab {
        min-height: 34px;
        padding: 0 1px;
        font-size: 16px;
    }

    body.site-razdel .messenger--dialog .msg-dialog-header {
        display: grid !important;
        grid-template-columns: 40px minmax(0, 1fr) minmax(88px, 96px);
        gap: 7px;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
    }

    body.site-razdel .messenger--dialog .msg-dialog-title {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.site-razdel .messenger--dialog .msg-dialog-clear {
        width: 100% !important;
        min-width: 0;
        max-width: 96px;
        padding-left: 10px;
        padding-right: 10px;
        margin-left: 0 !important;
    }

    body.site-razdel .messenger--dialog .msg-dialog-toolbar {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 7px;
        overflow: visible;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    body.site-razdel .messenger--dialog .msg-dialog-toolbar .button {
        min-width: 0;
        padding-left: 8px;
        padding-right: 8px;
    }

    body.site-razdel .messenger--dialog .msg-composer-row,
    body.site-razdel .messenger--panel .msg-new-form,
    body .bottominfo {
        grid-template-columns: 1fr;
    }

body.site-razdel .messenger--dialog .msg-composer {
    padding-left: 10px;
    padding-right: 10px;
}

    body.site-razdel .messenger .button,
    body.site-razdel .messenger .msg-composer-send,
    body.site-razdel .messenger .msg-composer-game,
    body.site-razdel .messenger .msg-actions .button,
    body.site-razdel .messenger .msg-actions .msg-link-danger {
        width: 100%;
        min-height: 42px;
    }

    body .bottominfo > .col_50:nth-child(2) {
        text-align: left;
    }
}

/* Icon-only send button: strip the dark button shape and cream text
   that the default theme applies to .msg-composer-send, and use the
   theme's readable text/link colors instead. */
body.site-razdel .messenger .msg-composer-send--icon,
body.site-razdel .messenger .msg-composer-send--icon:hover {
    min-height: auto;
    padding: 0.25em;
    border: 0;
    border-radius: 0.25em;
    background: transparent !important;
    color: var(--dw-shell-text, #4d352c) !important;
    box-shadow: none;
}

body.site-razdel .messenger .msg-composer-send--icon:hover {
    color: var(--dw-shell-link, #c9965e) !important;
}
