:root {
    /* Новая темная палитра */
    --bg-main: #0b0d12;
    --bg-card: #141824;
    --bg-card-2: #1c2233;

    --text-main: #f4ead7;
    --text-muted: #a9a08f;

    --accent-gold: #f5a623;
    --accent-orange: #ff8a00;
    --accent-light: #ffd166;

    --success: #22c55e;
    --danger: #dc2626;

    /* Совместимость со старым CSS проекта */
    --bg-dark: #0b0d12;
    --bg-deep: #070910;
    --brown: #141824;
    --brown-2: #1c2233;
    --card: #141824;
    --card-soft: #1c2233;
    --gold: #ff8a00;
    --gold-2: #ffd166;
    --cream: #f4ead7;
    --muted-brown: #a9a08f;
}
body {
    min-height: 100vh;
    background: radial-gradient(circle at top, #4b2e1c 0, var(--bg-dark) 40%, var(--bg-deep) 100%);
    color: var(--cream);
	 font-family: 'Manrope', Arial, sans-serif;
}

a { color: var(--gold-2); text-decoration: none; }
a:hover { color: #ffd3a0; }

.topbar { background: rgba(27, 15, 9, .92); backdrop-filter: blur(10px); border-bottom: 1px solid rgba(255,255,255,.08); }
.brand { font-weight: 800; letter-spacing: .4px; }
.brand-mark { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; background:linear-gradient(135deg, var(--gold), #ffcf77); color:#b77817; margin-right:8px; }

.site-main { min-height: 70vh; }
.hero-section { border-bottom: 1px solid rgba(255,255,255,.08); background: linear-gradient(135deg, rgba(255,138,29,.08), rgba(0,0,0,.1)); }
.text-cream { color: var(--cream); }
.text-muted-brown { color: #efc98f !important; opacity: 1; }

.game-card, .hero-card {
    background: linear-gradient(180deg, rgba(215,185,139,.96), rgba(165,112,64,.92));
    color: #b77817;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 22px;
    box-shadow: 0 20px 45px rgba(0,0,0,.25);
}
.game-card h1, .game-card h2, .game-card h3, .hero-card h2 { color:#261207; }

.badge-soft { background: rgba(59,36,22,.86); border:1px solid rgba(255,180,92,.42); color:#fff2da; padding: .6rem .85rem; border-radius:999px; font-weight:800; box-shadow: inset 0 0 0 1px rgba(255,255,255,.06); }

/* Контрастные подписи и бейджи на светлых коричневых карточках */
.game-card .text-muted-brown,
.hero-card .text-muted-brown,
.download-chronicle .text-muted-brown,
.news-popup-card .text-muted-brown {
    color: #6f3f1c !important;
    opacity: 1;
    font-weight: 700;
}

.game-card .badge-soft,
.hero-card .badge-soft,
.files-page .badge-soft,
.news-popup-card .badge-soft {
    background: rgba(43, 22, 11, .92);
    border-color: rgba(255, 180, 92, .55);
    color: #fff2da;
    text-shadow: none;
}

.btn-gold { background: linear-gradient(135deg, var(--gold), var(--gold-2)); border:0; color:#2a1509; font-weight:700; box-shadow: 0 8px 20px rgba(255,138,29,.25); }
.btn-gold:hover { color:#1d0f07; transform: translateY(-1px); }
.btn-brown { background: var(--brown-2); border:1px solid rgba(255,255,255,.14); color: var(--cream); }
.btn-brown:hover { background: var(--brown); color: #fff; }

.server-row, .mini-rating-row {
    display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid rgba(43,22,11,.15);
}
.server-row:last-child, .mini-rating-row:last-child { border-bottom:0; }

/* Блок серверов на главной: адаптация старого .servers с zmega.com */
.home-servers-card {
    overflow: hidden;
}
.home-servers-card .servers {
    display: grid;
    /* Карточки server-id увеличены по длине примерно на 30%: было 4 колонки, стало 3. */
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
}
.server-tile {
    display: block;
    color: inherit;
    text-decoration: none;
    min-width: 0;
}
.server-id {
    display: block;
    position: relative;
    min-height: 148px;
    border-radius: 18px;
    overflow: hidden;
    isolation: isolate;
    background:
        radial-gradient(circle at top, rgba(255, 180, 92, .34), transparent 42%),
        linear-gradient(180deg, rgba(91, 54, 31, .96), rgba(43, 22, 11, .98));
    border: 1px solid rgba(255, 180, 92, .28);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.05), 0 14px 26px rgba(42, 18, 5, .22);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.server-id::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(255,255,255,.12), transparent 36%),
        linear-gradient(180deg, transparent 0%, rgba(0,0,0,.24) 100%);
    pointer-events: none;
    z-index: -1;
}
.server-tile:hover .server-id {
    transform: translateY(-3px);
    border-color: rgba(255, 180, 92, .62);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.09), 0 18px 34px rgba(42, 18, 5, .33);
}
.server-id .leftRect,
.server-id .rightRect {
    position: absolute;
    top: 0;
    width: 18px;
    height: 100%;
    background: linear-gradient(180deg, rgba(255, 180, 92, .38), rgba(78, 39, 16, .22));
    opacity: .72;
    pointer-events: none;
}
.server-id .leftRect { left: 0; border-right: 1px solid rgba(255,255,255,.08); }
.server-id .rightRect { right: 0; border-left: 1px solid rgba(255,255,255,.08); }
.server-body {
    position: relative;
    min-height: 112px;
    padding: .8rem .55rem .65rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.server-body img {
    width: 137px;
    height: 73px;
    max-width: 92%;
    object-fit: contain;
    filter: drop-shadow(0 8px 12px rgba(0,0,0,.34));
    transition: transform .25s ease;
}
.server-tile:hover .server-body img { transform: scale(1.04); }
.server-name {
    position: absolute;
    top: .45rem;
    left: .35rem;
    right: .35rem;
    z-index: 2;
    color: #fff4dd;
    font-size: 20px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .03em;
    text-transform: uppercase;
    text-shadow: 0 2px 8px rgba(0,0,0,.55);
}
.server-rate {
    position: absolute;
    left: .65rem;
    bottom: -25px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 50px;
    min-height: 32px;
    padding: .25rem .55rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #ff8a1d, #ffcf77);
    color: #2a1509;
    font-weight: 950;
    box-shadow: 0 8px 18px rgba(255, 138, 29, .3);
}
.server-online {
    position: absolute;
    right: .65rem;
    bottom: -25px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 30px;
    padding: .25rem .55rem;
    border-radius: 999px;
    color: #fff;
    font-weight: 900;
    font-size: .86rem;
    box-shadow: 0 0 0 3px rgba(33, 137, 65, .18);
}
.server-online.is-offline {
}
.server-add {
    display: none !important;
}
.server-ribbon {
    position: absolute;
    z-index: 4;
    width: 118px;
    height: 118px;
    overflow: hidden;
    pointer-events: none;
}
.server-ribbon span {
    position: absolute;
    display: block;
    width: 168px;
    padding: .32rem 0;
    background: linear-gradient(135deg, #dd3b27, #ff7b36);
    color: #fff;
    font-size: 16px;
    line-height: 1.05;
    font-weight: 950;
    text-align: center;
    text-transform: uppercase;
    text-shadow: 0 1px 3px rgba(0,0,0,.3);
    box-shadow: 0 6px 12px rgba(0,0,0,.24);
}
.server-ribbon-br { right: -8px; bottom: -52px; }
.server-ribbon-br span { right: -42px; bottom: 33px; transform: rotate(-45deg); }
.server-ribbon-tr { right: -20px; top: -20px; }
.server-ribbon-tr span { right: -41px; top: 33px; transform: rotate(45deg); }
.server-ribbon-gold span {
    background: linear-gradient(120deg, #9f650b 0%, #d89b21 24%, #fff1a3 42%, #c88612 58%, #7a4a05 78%, #f4cf62 100%);
    background-size: 220% 220%;
    color: #2d1800;
    text-shadow: 0 1px 0 rgba(255,255,255,.55), 0 2px 8px rgba(102,59,0,.32);
    border-top: 1px solid rgba(255,255,255,.45);
    border-bottom: 1px solid rgba(92,52,0,.28);
    animation: serverGoldShimmer 3.4s ease-in-out infinite;
}
@keyframes serverGoldShimmer {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
.status-dot { display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:6px; background:#8b1e1e; box-shadow:0 0 0 3px rgba(139,30,30,.12); }
.status-dot.online { background:#1b8d3f; box-shadow:0 0 0 3px rgba(27,141,63,.15); }

.section-title { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1.4rem; }
.section-title h1, .section-title h2 { margin:0; }
.news-scroll {
    display: flex;
    align-items: stretch;
    gap: 1rem;
    overflow-x: auto;
    overflow-y: hidden;
    padding: .25rem .25rem 1.05rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    scrollbar-color: var(--gold) rgba(255,255,255,.16);
}
.news-scroll::-webkit-scrollbar { height: 10px; }
.news-scroll::-webkit-scrollbar-track { background: rgba(255,255,255,.14); border-radius: 999px; }
.news-scroll::-webkit-scrollbar-thumb { background: linear-gradient(135deg, var(--gold), var(--gold-2)); border-radius: 999px; }
.news-card {
    position: relative;
    isolation: isolate;
    flex: 0 0 min(360px, 86vw);
    min-height: 360px;
    padding: 0;
    overflow: hidden;
    scroll-snap-align: start;
    display: flex;
    align-items: flex-end;
    background: linear-gradient(180deg, rgba(215,185,139,.96), rgba(165,112,64,.92));
    text-decoration: none;
    cursor: pointer;
    transform: translateY(0);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.news-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image: var(--news-bg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transform: scale(1);
    transition: transform .45s ease, filter .45s ease;
}
.news-card.has-bg::before {
    /* Верх картинки остается плотным, нижние 3/4 плавно уходят в прозрачность. */
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 25%, rgba(0,0,0,.62) 55%, rgba(0,0,0,.24) 78%, transparent 100%);
    mask-image: linear-gradient(180deg, #000 0%, #000 25%, rgba(0,0,0,.62) 55%, rgba(0,0,0,.24) 78%, transparent 100%);
}
.news-card.has-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    /* Нижний слой нужен для читабельного текста, но сама картинка снизу уже прозрачная. */
    background: linear-gradient(180deg, rgba(24,12,6,.08) 0%, rgba(24,12,6,.44) 35%, rgba(24,12,6,.86) 100%);
}
.news-card.has-bg { color: var(--cream); text-shadow: 0 2px 12px rgba(0,0,0,.45); }
.news-card:hover { transform: translateY(-4px); box-shadow: 0 26px 55px rgba(0,0,0,.34); border-color: rgba(255,180,92,.55); }
.news-card:hover::before { transform: scale(1.12); filter: saturate(1.08) contrast(1.05); }
.news-card-content {
    width: 100%;
    min-height: 100%;
    padding: 1.35rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: inherit;
}
.news-card-title {
    color: #261207;
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: .7rem;
}
.news-card.has-bg .news-card-title { color: #fff7e8; }
.news-card-text {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: inherit;
}
.news-date { color:#704622; font-size:.9rem; margin-bottom:.5rem; font-weight:700; }
.news-card.has-bg .news-date { color: var(--gold-2); }
.news-popup-cover {
    min-height: 260px;
    background-image: var(--news-bg);
    background-size: cover;
    background-position: center;
    position: relative;
}
.news-popup-cover::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(43,22,11,.55));
}
.forum-content {
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.forum-content br + br {
    display: block;
    content: "";
    margin-top: .45rem;
}
.forum-content img,
.forum-img {
    max-width: 100%;
    height: auto;
    border-radius: 16px;
    margin: .55rem 0;
}
.sticky-side { position: sticky; top: 100px; }
.mini-tabs .nav-link { color:#b77817; border-radius:999px; padding:.35rem .7rem; }
.mini-tabs .nav-link.active { background:var(--brown); color:var(--cream); }
.place { width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:var(--brown); color:var(--cream); font-weight:700; }
.name { flex:1; padding-left:.5rem; font-weight:700; }
.score { color:#704622; font-weight:700; }

.page-section h1, .auth-section h1 { margin-bottom:1.5rem; font-weight:800; }
.table-game { --bs-table-bg: transparent; --bs-table-color:#b77817; --bs-table-border-color: rgba(43,22,11,.16); }
.table-game thead { background: rgba(59,36,22,.18); }
.table-game th { color:#b77817; }

.form-control, .form-select { background:#fff7e8; border-color: rgba(43,22,11,.2); color:#b77817; }
.form-control:focus, .form-select:focus { border-color: var(--gold); box-shadow:0 0 0 .25rem rgba(255,138,29,.2); }
.form-error { color:#8d1b1b; font-size:.875rem; margin-top:.35rem; min-height:1.2em; }

.forum-quote { border-left:4px solid var(--gold); padding:.75rem 1rem; background:rgba(255,255,255,.22); border-radius:12px; }
.site-footer { background:#100906; border-top:1px solid rgba(255,255,255,.08); }

@media (max-width: 991px) {
    .sticky-side { position: static; }
    .hero-section { text-align:center; }
}

/* Popup-открытие внутренних страниц */
.page-popup .modal-content {
    background-color: #070910;
    color: var(--cream);
    border: 1px solid rgba(255, 180, 92, .35);
    border-radius: 24px;
    box-shadow: 0 28px 90px rgba(0, 0, 0, .55);
    overflow: hidden;
}

.page-popup .modal-header {
    background: linear-gradient(135deg, var(--brown), #241309);
    border-bottom: 1px solid rgba(255, 180, 92, .22);
}

.page-popup .modal-title {
    color: var(--gold-2);
    font-weight: 800;
}

.page-popup .modal-body {
    padding: 0;
    min-height: 220px;
}

.page-popup .modal-body > .container,
.page-popup .modal-body > section > .container {
    max-width: 100%;
}

.page-popup .modal-body .page-section,
.page-popup .modal-body .auth-section {
    padding-top: 1.25rem !important;
    padding-bottom: 1.25rem !important;
}

.page-popup .modal-body .sticky-side {
    position: static;
}

.page-popup .popup-loader {
    position: absolute;
    inset: 58px 0 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(18, 11, 8, .72);
    z-index: 10;
}

.page-popup .popup-loader.d-none {
    display: none !important;
}

.page-popup .modal-body.is-loading {
    min-height: 260px;
}

@media (max-width: 575px) {
    .page-popup .modal-dialog {
        margin: .5rem;
    }

    .page-popup .modal-content {
        border-radius: 18px;
    }
}


/* BBCode vBulletin */
.forum-list {
    padding-left: 1.35rem;
    margin: .75rem 0;
}
.forum-list li {
    margin: .25rem 0;
}
.forum-spoiler,
.pro-spoiler {
    margin: .85rem 0;
    border: 1px dashed rgba(255, 180, 92, .45);
    border-radius: 14px;
    background: rgba(0, 0, 0, .16);
    overflow: hidden;
}
.forum-spoiler summary,
.pro-spoiler-title {
    cursor: pointer;
    padding: .65rem .85rem;
    color: var(--gold-2);
    font-weight: 800;
    background: rgba(255, 180, 92, .08);
}
.forum-spoiler-body,
.pro-spoiler-body {
    padding: .85rem;
    overflow: auto;
}
.forum-content .text-center {
    text-align: center;
}
.forum-content .text-end {
    text-align: right;
}

/* Страница файлов */
.files-page .files-hero {
    position: relative;
    overflow: hidden;
}

.files-page .files-hero::after {
    content: "";
    position: absolute;
    inset: auto -8% -42% auto;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0, 138, 29, .28), transparent 70%);
    pointer-events: none;
}

.files-kicker {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: #7b4018;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .78rem;
    margin-bottom: .35rem;
}

.files-quick-actions {
    display: grid;
    gap: .75rem;
    position: relative;
    z-index: 1;
}

.download-chronicle {
    background: linear-gradient(180deg, rgba(239, 207, 157, .97), rgba(180, 119, 66, .94));
    color: #b77817;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 24px;
    padding: 1.25rem;
    box-shadow: 0 22px 50px rgba(0, 0, 0, .26);
}

.download-chronicle-head {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.download-chronicle-img-wrap {
    width: 154px;
    min-width: 154px;
    min-height: 92px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(43, 22, 11, .18), rgba(255, 255, 255, .18));
    border: 1px solid rgba(43, 22, 11, .12);
    overflow: hidden;
}

.download-chronicle-img-wrap img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.download-chronicle h2 {
    margin: .15rem 0 .35rem;
    font-weight: 900;
    color: #261207;
}

.download-chronicle p {
    margin: 0;
    color: #dedede;
}

.download-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 28px;
    padding: .2rem .6rem;
    border-radius: 999px;
    background: rgba(59, 36, 22, .95);
    color: var(--gold-2);
    font-weight: 900;
    letter-spacing: .04em;
}

.download-launcher {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1rem;
    border-radius: 18px;
    background: rgba(255, 247, 232, .62);
    border: 1px solid rgba(43, 22, 11, .12);
}

.download-launcher span,
.download-main-link span {
    display: block;
    color: #060e27;
    font-size: .82rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.download-launcher strong {
    display: block;
    font-size: 1.05rem;
}

.download-file {
    border-radius: 20px;
    overflow: hidden;
    background: rgba(255, 247, 232, .72);
    border: 1px solid rgba(43, 22, 11, .13);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.download-file:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 35px rgba(43, 22, 11, .2);
    border-color: rgba(255, 138, 29, .45);
}

.download-main-link {
    display: block;
    min-height: 148px;
    padding: 1.15rem;
    color: #b77817;
    background-color: #d9d9d9;
}

.download-main-link:hover {
    color: #b77817;
}

.download-main-link strong {
    display: block;
    margin: .5rem 0 .65rem;
    font-size: 1.3rem;
    line-height: 1.18;
}

.download-main-link small {
    display: block;
    color: rgba(43, 22, 11, .72);
    font-weight: 700;
}

.download-file-primary .download-main-link {
    background:
        linear-gradient(135deg, rgba(255, 138, 29, .34), rgba(255, 247, 232, .7)),
        radial-gradient(circle at top right, rgba(255, 180, 92, .45), transparent 45%);
}

.download-file-secondary .download-main-link {
    background:
        linear-gradient(135deg, rgba(59, 36, 22, .16), rgba(255, 247, 232, .76)),
        radial-gradient(circle at top right, rgba(255, 180, 92, .28), transparent 45%);
}

.download-mirrors {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    padding: .85rem 1rem 1rem;
    border-top: 1px solid rgba(43, 22, 11, .11);
    color: #fff2da;
}

.download-mirrors a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: .35rem .72rem;
    border-radius: 999px;
    background: rgba(59, 36, 22, .94);
    color: #fff2da !important;
    border-bottom: 0 !important;
    font-weight: 700;
    font-size: .9rem;
}

.download-mirrors a:hover {
    background: var(--gold);
    color: #b77817 !important;
    border-bottom: 0 !important;
}

.files-info {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: 1.15rem;
    border-radius: 22px;
    color: #b77817;
    background:  linear-gradient(135deg, rgb(255 138 0 / 96%), #000000);
    border: 1px solid rgba(255, 255, 255, .22);
    box-shadow: 0 18px 35px rgba(0, 0, 0, .2);
}

.files-info-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #b77817;
    color: var(--gold-2);
    font-weight: 900;
    font-size: 1.3rem;
}

.files-info a {
    color: #5e2c05;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.files-changelog .section-title {
    color: #b77817;
}

.files-changelog-box {
    max-height: 420px;
    overflow-y: auto;
    padding: 1rem;
    border-radius: 18px;
    background: rgba(43, 22, 11, .9);
    color: #fff2da;
    border: 1px solid rgba(255, 180, 92, .18);
    font-family: Consolas, Monaco, 'Courier New', monospace;
    font-size: .92rem;
    line-height: 1.65;
    white-space: normal;
    scrollbar-width: thin;
    scrollbar-color: var(--gold) rgba(255, 255, 255, .13);
}

.files-changelog-box::-webkit-scrollbar { width: 10px; }
.files-changelog-box::-webkit-scrollbar-track { background: rgba(255,255,255,.13); border-radius: 999px; }
.files-changelog-box::-webkit-scrollbar-thumb { background: linear-gradient(180deg, var(--gold), var(--gold-2)); border-radius: 999px; }

@media (max-width: 767px) {
    .download-chronicle { padding: 1rem; }
    .download-chronicle-head { align-items: flex-start; }
    .download-chronicle-img-wrap { width: 110px; min-width: 110px; min-height: 74px; }
    .download-launcher { align-items: stretch; flex-direction: column; }
    .download-launcher .btn { width: 100%; }
    .files-info { flex-direction: column; }
    .files-changelog-box { max-height: 360px; font-size: .86rem; }
}

/* Rules page */
.rules-page .rules-hero {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 178, 87, .22);
}

.rules-page .rules-hero::after {
    content: "";
    position: absolute;
    inset: auto -8% -42% auto;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0, 138, 29, .28), transparent 70%);
    pointer-events: none;
}

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

.rules-warning-box {
    display: flex;
    gap: 14px;
    align-items: center;
    padding: 18px;
    border-radius: 18px;
    background: rgba(255, 143, 43, .12);
    border: 1px solid rgba(255, 178, 87, .28);
    color: #ffe4b8;
}

.rules-warning-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 26px;
    font-weight: 900;
    color: #2b160c;
    background: linear-gradient(135deg, #ffb257, #ff7a1a);
    box-shadow: 0 10px 26px rgba(255, 122, 26, .28);
}

.rules-warning-box strong,
.rules-warning-box span {
    display: block;
}

.rules-warning-box span {
    color: #efc98f;
    font-size: .95rem;
}

.rules-toc {
    position: sticky;
    top: 90px;
    max-height: calc(100vh - 115px);
    overflow: auto;
}

.page-popup .rules-toc {
    top: 16px;
    max-height: calc(100vh - 190px);
}

.rules-toc-title {
    color: #fff0d0;
    font-weight: 800;
    margin-bottom: 12px;
    letter-spacing: .02em;
}

.rules-toc-nav {
    display: grid;
    gap: 8px;
}

.rules-toc-link {
    display: block;
    color: #efc98f;
    text-decoration: none;
    padding: 9px 11px;
    border-radius: 12px;
    border: 1px solid rgba(255, 178, 87, .12);
    background: rgba(49, 28, 17, .42);
    font-size: .92rem;
    line-height: 1.25;
    transition: .18s ease;
}

.rules-toc-link:hover {
    color: #fff4dc;
    border-color: rgba(255, 178, 87, .35);
    background: rgba(255, 143, 43, .14);
    transform: translateX(3px);
}

.rules-document {
    color: #f4d5a4;
}

.rules-intro {
    padding: 18px;
    border-radius: 16px;
    color: #1f1008;
    background: linear-gradient(135deg, rgba(255, 245, 226, .96), rgba(236, 199, 142, .94));
    border: 1px solid rgba(91, 50, 25, .22);
}

.rules-intro b,
.rules-content b {
    color: #920804;
}

.rules-content a,
.rules-intro a {
    color: #70320b;
    font-weight: 800;
    text-decoration: none;
    border-bottom: 1px dashed rgba(112, 50, 11, .45);
}

.rules-content a:hover,
.rules-intro a:hover {
    color: #b04d0d;
}

.rules-section-title {
    scroll-margin-top: 100px;
    color: #fff0d0;
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    margin: 32px 0 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 178, 87, .18);
}

.rules-content .rules-section-title:first-child {
    margin-top: 0;
}

.rule-item {
    position: relative;
    margin: 8px 0;
    padding: 13px 15px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(255, 247, 232, .96), rgba(238, 205, 156, .92));
    border: 1px solid rgba(91, 50, 25, .18);
    color: #1f1008;
    line-height: 1.55;
    transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
}

.rule-item:hover {
    border-color: rgba(0, 138, 29, .45);
    background: linear-gradient(135deg, rgba(0, 138, 29, .96), #070910);
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(43, 22, 11, .14);
}

.rule-item:target {
    border-color: rgba(255, 143, 43, .65);
    box-shadow: 0 0 0 3px rgba(255, 143, 43, .18);
}

@media (max-width: 991.98px) {
    .rules-toc {
        position: static !important;
        max-height: none;
    }

    .rules-toc-nav {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 575.98px) {
    .rules-toc-nav {
        grid-template-columns: 1fr;
    }

    .rule-item {
        padding: 12px;
    }
}

/* Навигация по разделам rules/files: работает и на обычной странице, и внутри popup. */
.rules-toc-link.active,
.files-quick-actions a.active {
    color: #fff4dc;
    border-color: rgba(255, 178, 87, .45);
    background: rgba(255, 143, 43, .18);
}

.rules-section-title.is-anchor-target,
.rule-item.is-anchor-target,
.rules-section-title.is-rules-target,
.rule-item.is-rules-target {
    border-color: rgba(255, 143, 43, .65);
    box-shadow: 0 0 0 3px rgba(255, 143, 43, .18);
}

.files-page #files-downloads,
.files-page #files-changelog {
    scroll-margin-top: 100px;
}

.files-page #files-downloads.is-anchor-target,
.files-page #files-changelog.is-anchor-target {
    outline: 3px solid rgba(255, 143, 43, .24);
    outline-offset: 8px;
    border-radius: 24px;
}

/* BBCode [FONT=...] — сохраняем шрифт из форумной новости без лишних отступов. */
.bbcode-font {
    display: inline;
}

/* Простые ссылки внутри popup: минималистично, без подчеркивания и лишнего фона. */
.page-popup .modal-content a:not([class]),
.page-popup .modal-content .forum-content a:not(.btn),
.page-popup .modal-content .rules-content a:not(.btn),
.page-popup .modal-content .files-page a:not(.btn):not(.download-link):not(.files-quick-link):not(.download-mirrors a) {
    color: #4a2a11;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid rgba(117, 66, 24, .28);
    padding-bottom: 1px;
    transition: color .18s ease, border-color .18s ease, background-color .18s ease;
}

.page-popup .modal-content a:not([class]):hover,
.page-popup .modal-content .forum-content a:not(.btn):hover,
.page-popup .modal-content .rules-content a:not(.btn):hover,
.page-popup .modal-content .files-page a:not(.btn):not(.download-link):not(.files-quick-link):not(.download-mirrors a):hover {
    color: #241104;
    border-bottom-color: rgba(255, 143, 43, .75);
    background-color: rgba(255, 143, 43, .08);
}


/* Страница «О нас» */
.about-page .fw-black { font-weight: 900; }

.about-hero {
    position: relative;
    overflow: hidden;
}

.about-hero::after {
    content: "";
    position: absolute;
    inset: auto -8% -42% auto;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0, 138, 29, .28), transparent 70%);
    pointer-events: none;
}

.about-years-card {
    position: relative;
    z-index: 1;
    border-radius: 24px;
    padding: 1.5rem;
    background: rgba(43, 22, 11, .18);
    border: 1px solid rgba(43, 22, 11, .16);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}

.about-years-number {
    font-size: clamp(3rem, 8vw, 5rem);
    line-height: .95;
    font-weight: 900;
    color: #b77817;
}

.about-years-label {
    margin-top: .45rem;
    color: #6f3f1c;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .8rem;
}

.about-content-card,
.about-info-card {
    font-size: 1.02rem;
    line-height: 1.65;
}

.about-benefits {
    display: grid;
    gap: .72rem;
    padding-left: 0;
    list-style: none;
}

.about-benefits li {
    position: relative;
    padding: .8rem 1rem .8rem 2.7rem;
    border-radius: 16px;
    background:  linear-gradient(135deg, rgb(255 138 0 / 96%), #000000);
}

.about-benefits li::before {
    content: "";
    position: absolute;
    left: 1rem;
    top: 1.08rem;
    width: .72rem;
    height: .72rem;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--gold), var(--gold-2));
    box-shadow: 0 0 0 5px rgba(255, 138, 29, .12);
}

.about-mini-stat {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    padding: .9rem 0;
    border-bottom: 1px solid rgba(43, 22, 11, .15);
}

.about-mini-stat:last-child { border-bottom: 0; }
.about-mini-stat span { color: #6f3f1c; font-weight: 700; }
.about-mini-stat b { text-align: right; color: #b77817; }


/* Заголовок блока ТОП 5 */
.top5-title {
    display: inline-block;
    color: #ffb12b;
    font-weight: 900;
    letter-spacing: .055em;
    text-transform: uppercase;
    background: linear-gradient(110deg, #ffe08a 0%, #ffb12b 28%, #ff7a18 54%, #ffd36a 78%, #a95808 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 2px 14px rgba(255, 122, 24, .22);
}


/* Последние темы форума под блоком ТОП 5 */
.forum-last-card {
    overflow: hidden;
}

.forum-last-card .section-title a {
    color: #5b2e10;
    font-size: .86rem;
    font-weight: 800;
    text-decoration: none;
}

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

.forum-last-link {
    display: flex;
    min-width: 0;
    min-height: 74px;
    flex-direction: column;
    justify-content: space-between;
    gap: .55rem;
    padding: .78rem .82rem;
    border: 1px solid rgba(111, 58, 22, .22);
    border-radius: 16px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.38), 0 10px 22px rgba(36, 17, 6, .09);
    color: #2f1608;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.forum-last-link:hover {
    color: #1f0e04;
    border-color: rgba(255, 143, 43, .52);
    background: linear-gradient(145deg, rgba(255, 239, 207, .98), rgba(255, 204, 132, .78));
    box-shadow: 0 14px 28px rgba(36, 17, 6, .15);
    transform: translateY(-2px);
}

.forum-last-title {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    color: inherit;
    font-size: .9rem;
    font-weight: 850;
    line-height: 1.22;
}

.forum-last-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .45rem;
    color: #77502f;
    font-size: .74rem;
    font-weight: 700;
}

.forum-last-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 35px;
    padding: .12rem .42rem;
    border-radius: 999px;
    background: rgba(77, 41, 18, .9);
    color: #fff0d5;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .02em;
}

@media (max-width: 575.98px) {
    .forum-last-grid {
        grid-template-columns: 1fr;
    }
}


@media (max-width: 991px) {
    .home-servers-card .servers {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .home-servers-card .servers {
        grid-template-columns: 1fr;
    }
}

/* Страница бонусов */
.bonus-page {
    color: var(--cream);
}

.bonus-hero,
.bonus-card,
.bonus-vote-card,
.bonus-rewards-card {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    border: 1px solid rgba(255, 180, 92, .2);
    background:
        radial-gradient(circle at top right, rgba(255, 138, 29, .18), transparent 34%),
        linear-gradient(180deg, rgba(78, 45, 25, .96), rgba(34, 18, 10, .96));
    box-shadow: 0 18px 42px rgba(0, 0, 0, .24);
}

.bonus-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    padding: clamp(1.25rem, 3vw, 2.25rem);
}

.bonus-hero h1,
.bonus-vote-card h2,
.bonus-rewards-card h2,
.bonus-card h2 {
    color: #fff8ea;
    font-weight: 900;
}

.bonus-hero p {
    max-width: 720px;
    margin-bottom: 0;
    color: #f1d2aa;
    font-size: 1.04rem;
}

.bonus-kicker {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin-bottom: .35rem;
    color: #ffbd72;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.bonus-hero-badge {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 118px;
    height: 118px;
    border-radius: 999px;
    color: #b77817;
    background: linear-gradient(135deg, var(--gold), #ffe0a8);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.42), 0 20px 38px rgba(255,138,29,.2);
    font-weight: 900;
}

.bonus-hero-badge span {
    display: block;
    font-size: 2.1rem;
    line-height: 1;
}

.bonus-card,
.bonus-vote-card,
.bonus-rewards-card {
    padding: clamp(1rem, 2vw, 1.5rem);
}

.bonus-card-icon {
    display: inline-grid;
    place-items: center;
    width: 54px;
    height: 54px;
    margin-bottom: .9rem;
    border-radius: 18px;
    background: rgba(255, 180, 92, .16);
    color: #ffd3a0;
    font-size: 1.5rem;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}

.bonus-list {
    display: grid;
    gap: .65rem;
    margin: 0;
    padding-left: 1.15rem;
    color: #f5dfbf;
}

.bonus-list li::marker {
    color: #ffb45c;
}

.bonus-list code {
    padding: .1rem .35rem;
    border-radius: .45rem;
    background: rgba(0,0,0,.22);
    color: #ffe0a8;
}

.bonus-vote-actions {
    display: grid;
    gap: .75rem;
}

.bonus-tabs {
    gap: .55rem;
}

.bonus-tabs .nav-link {
    border-radius: 999px;
    border: 1px solid rgba(255, 180, 92, .24);
    background: rgba(0,0,0,.18);
    color: #f9ddb6;
    font-weight: 900;
}

.bonus-tabs .nav-link:hover {
    color: #fff4df;
    border-color: rgba(255, 180, 92, .52);
}

.bonus-tabs .nav-link.active {
    background: linear-gradient(135deg, var(--gold), var(--gold-2));
    border-color: transparent;
    color: #b77817;
    box-shadow: 0 10px 22px rgba(255,138,29,.18);
}

.bonus-table-wrap {
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(255, 180, 92, .18);
    background: rgba(20, 10, 5, .28);
}

.bonus-table {
    color: #fff2da;
    border-color: rgba(255,255,255,.08);
    min-width: 720px;
}

.bonus-table thead th {
    background: rgba(18, 10, 6, .72);
    color: #ffd3a0;
    border-bottom-color: rgba(255, 180, 92, .22);
    font-size: .82rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.bonus-table tbody tr {
    transition: background-color .18s ease;
}

.bonus-table tbody tr:nth-child(even) {
    background: rgba(255, 180, 92, .055);
}

.bonus-table tbody tr:hover {
    background: rgba(255, 180, 92, .12);
}

.bonus-table td,
.bonus-table th {
    padding: .8rem .85rem;
    border-bottom-color: rgba(255,255,255,.07);
    vertical-align: middle;
}

.bonus-item-icon-cell {
    width: 52px;
}

.bonus-item-icon {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    background: radial-gradient(circle at top, rgba(255,255,255,.28), rgba(0,0,0,.18));
    border: 1px solid rgba(255,255,255,.14);
}

.bonus-item-icon img {
    width: 28px;
    height: 28px;
    object-fit: contain;
    image-rendering: auto;
}

.bonus-item-name strong,
.bonus-item-name small {
    display: block;
}

.bonus-item-name strong {
    color: #fff8ea;
}

.bonus-item-name small {
    margin-top: .16rem;
    color: #d7b98b;
    font-size: .78rem;
}

.bonus-chance {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    padding: .22rem .55rem;
    border-radius: 999px;
    background: rgba(255, 180, 92, .14);
    color: #ffd3a0;
    font-weight: 900;
}


@media (max-width: 767.98px) {
    .bonus-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .bonus-hero-badge {
        width: 92px;
        height: 92px;
    }

    .bonus-table {
        min-width: 660px;
    }
}

/* Верхние блоки страницы бонусов в стиле .game-card */
.bonus-page .bonus-hero.game-card,
.bonus-page .bonus-card.game-card,
.bonus-page .bonus-vote-card.game-card {
    background-color: #070910;
    color: #b77817;
    border: 1px solid rgba(255,255,255,.2);
    box-shadow: 0 20px 45px rgba(0,0,0,.25);
}

.bonus-page .bonus-hero.game-card h1,
.bonus-page .bonus-card.game-card h2,
.bonus-page .bonus-vote-card.game-card h2 {
    color: #261207;
}

.bonus-page .bonus-hero.game-card p,
.bonus-page .bonus-card.game-card .bonus-list,
.bonus-page .bonus-vote-card.game-card .bonus-list {
    color: #dedede;
}

.bonus-page .bonus-hero.game-card .bonus-kicker,
.bonus-page .bonus-vote-card.game-card .bonus-kicker {
    color: #6f3f1c;
}

.bonus-page .bonus-card.game-card .bonus-card-icon {
    background: rgba(43, 22, 11, .12);
    color: #3b2416;
    box-shadow: inset 0 0 0 1px rgba(43, 22, 11, .08);
}

.bonus-page .bonus-hero.game-card a,
.bonus-page .bonus-card.game-card a,
.bonus-page .bonus-vote-card.game-card a {
    color: #4a2a11;
    font-weight: 900;
}

.bonus-page .bonus-hero.game-card a:hover,
.bonus-page .bonus-card.game-card a:hover,
.bonus-page .bonus-vote-card.game-card a:hover {
    color: #1e0d04;
}


/* Плавающая кнопка поддержки, перенесенная по смыслу с zmega.com */
.support_widget {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 1080;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
}

.support_button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 52px;
    padding: 10px 18px 10px 12px;
    border: 1px solid rgba(255, 180, 92, .55);
    border-radius: 999px;
    background: linear-gradient(135deg, #ff8a1d, #ffbd67);
    color: #241104;
    font-weight: 900;
    letter-spacing: .2px;
    box-shadow: 0 18px 36px rgba(0, 0, 0, .32), 0 0 0 7px rgba(255, 138, 29, .12);
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.support_button:hover,
.support_widget.is-open .support_button {
    transform: translateY(-2px);
    filter: brightness(1.03);
    box-shadow: 0 22px 44px rgba(0, 0, 0, .38), 0 0 0 9px rgba(255, 138, 29, .15);
}

.support_button_icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(43, 22, 11, .92);
    color: #fff2da;
    font-size: 20px;
    line-height: 1;
}

.support_panel {
    width: min(360px, calc(100vw - 28px));
    padding: 16px;
    border-radius: 22px;
    border: 1px solid rgba(255, 180, 92, .34);
    background:
        radial-gradient(circle at top right, rgba(255, 180, 92, .22), transparent 42%),
        linear-gradient(180deg, rgba(58, 34, 20, .98), rgba(26, 15, 10, .98));
    color: #fff2da;
    box-shadow: 0 26px 70px rgba(0, 0, 0, .44);
    opacity: 0;
    transform: translateY(12px) scale(.96);
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease;
}

.support_widget.is-open .support_panel {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

.support_panel_head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}

.support_panel_title {
    font-size: 1.05rem;
    font-weight: 900;
    color: #fff6e8;
}

.support_panel_subtitle {
    margin-top: 4px;
    color: #efc98f;
    font-size: .92rem;
    line-height: 1.35;
}

.support_panel_close {
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .1);
    color: #fff2da;
    font-size: 22px;
    line-height: 1;
}

.support_panel_close:hover {
    background: rgba(255, 138, 29, .22);
}

.support_panel_links {
    display: grid;
    gap: 9px;
}

.support_link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 12px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, .1);
    background: rgba(255, 255, 255, .07);
    color: #fff2da;
    font-weight: 800;
    text-decoration: none;
    transition: transform .18s ease, background-color .18s ease, border-color .18s ease;
}

.support_link span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(255, 138, 29, .18);
    color: #ffbd67;
}

.support_link:hover {
    color: #fff;
    transform: translateX(-2px);
    background: rgba(255, 138, 29, .14);
    border-color: rgba(255, 180, 92, .34);
}

@media (max-width: 575.98px) {
    .support_widget {
        right: 14px;
        bottom: 14px;
    }

    .support_button_text {
        display: none;
    }

    .support_button {
        width: 54px;
        height: 54px;
        padding: 10px;
        justify-content: center;
    }
}


/* Donate page */
.donate-page {
    --donate-dark: #b77817;
    --donate-line: rgba(43, 22, 11, .16);
}

.donate-hero h1 {
    font-weight: 900;
    letter-spacing: .02em;
}

.donate-summary-card {
    border-radius: 20px;
    padding: 1.2rem;
    background: rgba(43, 22, 11, .9);
    color: #fff2da;
    border: 1px solid rgba(255, 180, 92, .28);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
}

.donate-summary-card span,
.donate-summary-card small {
    display: block;
    color: #ffd8a5;
    font-weight: 700;
}

.donate-summary-card strong {
    display: block;
    margin: .25rem 0;
    color: #fff;
    font-size: clamp(1.65rem, 4vw, 2.65rem);
    line-height: 1;
    font-weight: 900;
}

.donate-panel,
.donate-bonus-panel,
.donate-crypto-card {
    position: relative;
    overflow: hidden;
}

.donate-panel::after,
.donate-bonus-panel::after,
.donate-crypto-card::after {
    content: "";
    position: absolute;
    inset: auto -15% -45% auto;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 138, 29, .18), transparent 66%);
    pointer-events: none;
}

.donate-input,
.donate-page .form-select,
.donate-page .form-control {
    min-height: 48px;
    border-radius: 14px;
    border: 1px solid rgba(43, 22, 11, .18);
    background-color: rgba(255, 242, 218, .78);
    color: #b77817;
    font-weight: 700;
}

.donate-page .form-label {
    color: #4c2a13;
    font-weight: 800;
}

.donate-range-wrap {
    border-radius: 18px;
    padding: 1rem;
    background: rgba(43, 22, 11, .08);
    border: 1px solid rgba(43, 22, 11, .12);
}

.donate-range {
    accent-color: #ff8a1d;
}

.donate-range-scale {
    display: flex;
    justify-content: space-between;
    gap: .35rem;
    margin-top: .45rem;
}

.donate-range-scale button {
    border: 0;
    border-radius: 999px;
    padding: .32rem .54rem;
    background: linear-gradient(135deg, #141824, #183daa);
    color: #fff2da;
    font-size: .82rem;
    font-weight: 900;
    line-height: 1;
    transition: transform .18s ease, background-color .18s ease, color .18s ease;
}

.donate-range-scale button:hover,
.donate-range-scale button.is-active {
    transform: translateY(-1px);
    background: linear-gradient(180deg, #ff8a00, rgb(155 0 0 / 13%));
    color: #fff;
}

.donate-bonus-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .85rem;
    border-radius: 18px;
    padding: .9rem 1rem;
    color: #fff;
    font-size: 1.05rem;
    font-weight: 900;
    box-shadow: 0 14px 28px rgba(127, 48, 0, .18);
}

.donate-bonus-line strong {
    color: #fff;
    font-size: 1.35rem;
}

.donate-pay-list {
    display: grid;
    gap: .75rem;
}

.donate-pay-method {
    width: 100%;
    display: flex;
    align-items: center;
    gap: .9rem;
    border: 1px solid rgba(43, 22, 11, .14);
    border-radius: 18px;
    padding: .85rem 1rem;
    background: linear-gradient(90deg, rgba(255, 242, 218, .9), rgba(255, 229, 187, .78));
    color: #b77817;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(42, 18, 5, .12);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}

.donate-pay-method:hover {
    color: #1e0f07;
    transform: translateY(-2px);
    border-color: rgba(255, 138, 29, .54);
    background: linear-gradient(90deg, #ffb45c, #fff2da);
    box-shadow: 0 16px 30px rgba(42, 18, 5, .18);
}

.donate-pay-method img {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    object-fit: contain;
    border-radius: 50%;
    background: #fff;
    border: 3px solid rgba(255,255,255,.85);
    box-shadow: 0 8px 18px rgba(42,18,5,.2);
}

.donate-pay-method span {
    display: block;
    min-width: 0;
}

.donate-pay-method strong,
.donate-pay-method small {
    display: block;
}

.donate-pay-method strong {
    color: rgb(0 19 67 / 95%);
    font-size: .98rem;
    font-weight: 900;
}

.donate-pay-method strong i {
    float: right;
    margin-left: .45rem;
    color: #c04d00;
    font-style: normal;
}

.donate-pay-method small {
    color: #6f3f1c;
    font-weight: 700;
}

.donate-alert {
    border: 1px solid rgba(113, 62, 21, .18);
    background: rgba(43, 22, 11, .08);
    color: #573018;
    border-radius: 16px;
    font-weight: 700;
}

.donate-tier-empty,
.donate-tier {
    border-radius: 18px;
    padding: 1rem;
    margin-bottom: .8rem;
    background: rgba(43, 22, 11, .08);
    border: 1px solid rgba(43, 22, 11, .12);
    transition: opacity .18s ease, transform .18s ease, border-color .18s ease;
}

.donate-tier-empty h3,
.donate-tier h3 {
    margin: 0 0 .8rem;
    font-size: 1.15rem;
    font-weight: 900;
}

.donate-tier-empty h3 span,
.donate-tier h3 span {
    color: #e05c00;
}

.donate-tier {
    display: none;
}

.donate-tier.is-current,
.donate-tier.is-next {
    display: block;
}

.donate-tier.is-current {
    background: linear-gradient(90deg, rgba(115, 178, 0, .32), rgba(255,255,255,.38));
    border-color: rgba(85, 141, 12, .28);
}

.donate-tier.is-next {
    opacity: .72;
}

.donate-tier ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: .55rem;
}

.donate-tier li {
    display: flex;
    align-items: center;
    gap: .7rem;
    min-height: 42px;
    padding: .58rem .7rem;
    border-radius: 14px;
    background: rgba(255, 242, 218, .72);
    color: #b77817;
    font-weight: 800;
}

.donate-tier li img {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 8px 14px rgba(42, 18, 5, .18);
}

.donate-tier li b {
    margin-left: auto;
    color: #1f6e09;
    font-weight: 900;
}

.donate-crypto-card {
    scroll-margin-top: 95px;
}

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

.donate-wallet {
    display: flex;
    align-items: center;
    gap: .8rem;
    min-width: 0;
    border: 1px solid rgba(43, 22, 11, .12);
    border-radius: 18px;
    padding: .85rem;
    background: rgba(255, 242, 218, .72);
    color: #b77817;
    text-align: left;
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, background-color .18s ease;
}

.donate-wallet:hover,
.donate-wallet.is-copied {
    transform: translateY(-2px);
    border-color: rgba(255, 138, 29, .44);
    background: rgba(255, 229, 187, .92);
}

.donate-wallet img {
    width: 38px;
    height: 38px;
    object-fit: contain;
    border-radius: 50%;
}

.donate-wallet span,
.donate-wallet strong,
.donate-wallet small {
    display: block;
    min-width: 0;
}

.donate-wallet strong {
    font-weight: 900;
}

.donate-wallet small {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #6f3f1c;
    font-weight: 700;
}

.donate-note {
    color: #ffe2b8;
}

.donate-note a {
    font-weight: 900;
}

@media (max-width: 767.98px) {
    .donate-wallet-grid {
        grid-template-columns: 1fr;
    }

    .donate-pay-method strong i {
        float: none;
        display: block;
        margin-left: 0;
        margin-top: .2rem;
    }
}


/* =========================================================
   Темная тема: новая палитра #0b0d12 / #141824 / #1c2233
   ========================================================= */
body {
    background:
        radial-gradient(circle at 18% 0%, rgba(245, 166, 35, .14), transparent 31%),
        radial-gradient(circle at 82% 4%, rgba(255, 138, 0, .10), transparent 30%),
        linear-gradient(180deg, var(--bg-main) 0%, #080a0f 100%);
    color: var(--text-main);
}

a { color: var(--accent-light); }
a:hover { color: #ffe3a3; }

.topbar {
    background: rgba(11, 13, 18, .92);
    border-bottom: 1px solid rgba(245, 166, 35, .18);
    box-shadow: 0 14px 36px rgba(0, 0, 0, .35);
}

.brand-mark {
    background: linear-gradient(135deg, var(--accent-orange), var(--accent-light));
    color: #1a1000;
    box-shadow: 0 0 18px rgba(255, 138, 0, .24);
}

.hero-section {
    background: linear-gradient(135deg, rgba(245, 166, 35, .08), rgba(28, 34, 51, .52));
    border-bottom: 1px solid rgba(245, 166, 35, .14);
}

.text-cream,
.section-title h1,
.section-title h2,
.page-section h1,
.auth-section h1 { color: var(--text-main) !important; }

.text-muted-brown,
.game-card .text-muted-brown,
.hero-card .text-muted-brown,
.download-chronicle .text-muted-brown,
.news-popup-card .text-muted-brown {
    color: var(--text-muted) !important;
    opacity: 1;
}

.game-card,
.hero-card,
.download-chronicle,
.news-card,
.news-popup-card,
.rules-intro,
.rule-item,
.donate-card,
.forum-last-card,
.support-panel {
    background: linear-gradient(180deg, rgba(28, 34, 51, .98), rgba(20, 24, 36, .98));
    color: var(--text-main);
    border-color: rgba(245, 166, 35, .18);
    box-shadow: 0 20px 48px rgba(0, 0, 0, .35);
}

.game-card h1,
.game-card h2,
.game-card h3,
.hero-card h2,
.download-chronicle h2,
.rules-intro h1,
.rule-item h2,
.rule-item h3,
.bonus-page h1,
.bonus-page h2,
.bonus-page h3,
.donate-page h1,
.donate-page h2,
.donate-page h3 { color: var(--text-main); }

.badge-soft,
.game-card .badge-soft,
.hero-card .badge-soft,
.files-page .badge-soft,
.news-popup-card .badge-soft {
    background: rgba(245, 166, 35, .12);
    border-color: rgba(245, 166, 35, .36);
    color: var(--accent-light);
}

.btn-main,
.btn-gold {
    background: linear-gradient(135deg, #ff8a00, #ffd166);
    color: #1a1000;
    font-weight: 700;
    border: 1px solid #ffcc66;
    box-shadow: 0 0 18px rgba(255, 138, 0, .35);
}
.btn-main:hover,
.btn-gold:hover,
.btn-main:focus,
.btn-gold:focus {
    background: linear-gradient(135deg, #ff9f1a, #ffe08a);
    color: #1a1000;
    border-color: #ffe08a;
    box-shadow: 0 0 26px rgba(255, 168, 40, .55);
    transform: translateY(-1px);
}

.btn-brown,
.btn-outline-light {
    background: rgba(28, 34, 51, .92);
    border-color: rgba(245, 166, 35, .22);
    color: var(--text-main);
}
.btn-brown:hover,
.btn-outline-light:hover {
    background: rgba(245, 166, 35, .14);
    border-color: rgba(255, 209, 102, .48);
    color: var(--accent-light);
}

.server-id {
    background:
        radial-gradient(circle at top, rgba(245, 166, 35, .18), transparent 42%),
        linear-gradient(180deg, rgba(28, 34, 51, .98), rgba(20, 24, 36, .98));
    border-color: rgba(245, 166, 35, .22);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .03), 0 16px 30px rgba(0, 0, 0, .34);
}
.server-tile:hover .server-id {
    border-color: rgba(255, 209, 102, .62);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06), 0 20px 42px rgba(0, 0, 0, .44);
}
.server-name,
.server-rate { color: var(--accent-light); }


.modal-content {
    background: linear-gradient(180deg, rgba(20, 24, 36, .99), rgba(11, 13, 18, .99));
    color: var(--text-main);
    border-color: rgba(245, 166, 35, .22);
}
.modal-header,
.modal-footer { border-color: rgba(245, 166, 35, .14); }
.modal-content a:not(.btn):not(.nav-link):not(.dropdown-item) {
    color: var(--accent-light);
    border-bottom-color: rgba(255, 209, 102, .28);
}
.modal-content a:not(.btn):not(.nav-link):not(.dropdown-item):hover {
    color: #ffe6a8;
    background: rgba(245, 166, 35, .08);
    border-bottom-color: rgba(255, 209, 102, .72);
}

.form-control,
.form-select {
    background: rgba(11, 13, 18, .72);
    border-color: rgba(245, 166, 35, .22);
    color: var(--text-main);
}
.form-control:focus,
.form-select:focus {
    background: rgba(11, 13, 18, .88);
    border-color: rgba(255, 209, 102, .62);
    color: var(--text-main);
    box-shadow: 0 0 0 .2rem rgba(255, 138, 0, .18);
}
.form-control::placeholder { color: rgba(244, 234, 215, .48); }
.form-error,
.alert-danger {
    color: #ffd4d4;
    background: rgba(220, 38, 38, .14);
    border-color: rgba(220, 38, 38, .32);
}

.table-game,
.bonus-reward-table,
.download-table { color: var(--text-main); }
.table-game thead,
.bonus-reward-table thead,
.download-table thead {
    background: rgba(245, 166, 35, .12);
    color: var(--accent-light);
}
.table-game tbody tr,
.bonus-reward-table tbody tr,
.download-table tbody tr { border-color: rgba(245, 166, 35, .12); }

.news-scroll::-webkit-scrollbar-thumb,
.files-changelog-box::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--accent-orange), var(--accent-light));
}
.news-card:not(.has-bg) {
    background: linear-gradient(180deg, rgba(28, 34, 51, .98), rgba(20, 24, 36, .98));
}
.news-card-title,
.news-card-text,
.news-popup-card .forum-content { color: var(--text-main); }

.files-changelog-box,
.download-alert,
.rules-nav-card,
.forum-last-list,
.donate-tier,
.donate-tier-empty,
.donate-pay-method,
.donate-wallet,
.donate-alert {
    background: rgba(11, 13, 18, .45);
    border-color: rgba(245, 166, 35, .14);
    color: var(--text-main);
}

.donate-range { accent-color: var(--bs-red); }
.donate-range::-webkit-slider-runnable-track { background: linear-gradient(90deg, var(--accent-light), var(--bs-red)); }
.donate-range::-moz-range-track,
.donate-range::-moz-range-progress { background: linear-gradient(90deg, var(--accent-light, var(--bs-red))); }
.mini-tabs .nav-link.active,
.place {
    background: linear-gradient(135deg, var(--accent-light), var(--bs-red));
    color: #1a1000;
}


.donate-tier.is-current,
.donate-wallet:hover,
.donate-wallet.is-copied {
    background: rgba(245, 166, 35, .13);
    border-color: rgba(255, 209, 102, .32);
}
.donate-pay-method:hover {
    background: rgb(0 19 67 / 45%);
    border-color: rgba(255, 209, 102, .32);
}

.donate-tier h3 span,
.donate-tier-empty h3 span,
.donate-bonus-line { color: var(--accent-light); }


.site-footer {
   background-color: #070910;
    border-top-color: rgba(245, 166, 35, .14);
}


,
body {
    background-color: var(--bg-main);
    color: var(--text-main);
}

body {
    background:
        radial-gradient(circle at 12% -10%, rgba(245, 166, 35, .16), transparent 30%),
        radial-gradient(circle at 88% 0%, rgba(255, 138, 0, .10), transparent 28%),
        radial-gradient(circle at 50% 105%, rgba(28, 34, 51, .55), transparent 42%),
        linear-gradient(180deg, #0b0d12 0%, #070910 100%);
}

/* Общие заголовки: светлый текст + золотой акцент */
h1,
h2,
h3,
.section-title h1,
.section-title h2,
.page-section h1,
.auth-section h1,
.modal-title {
    color: var(--text-main) !important;
}

.section-title h1::after,
.section-title h2::after,
.page-section h1::after,
.auth-section h1::after {
    content: "";
    display: block;
    width: 72px;
    height: 3px;
    margin-top: .55rem;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--accent-orange), var(--accent-light));
    box-shadow: 0 0 16px rgba(255, 138, 0, .35);
}

.text-muted-brown,
.text-muted,
.small,
small {
    color: var(--text-muted) !important;
}

/* Карточки и блоки: #141824 / #1c2233 */
.game-card,
.hero-card,
.download-chronicle,
.files-hero,
.files-changelog-box,
.rules-intro,
.rule-item,
.rules-nav-card,
.bonus-vote-card,
.bonus-rewards-card,
.donate-card,
.donate-bonus-panel,
.donate-range-wrap,
.donate-wallet,
.forum-last-card,
.support-panel,
.modal-content {
    background:
        linear-gradient(180deg, rgba(0, 34, 51, .05), rgba(20, 24, 36, .05));
    color: var(--text-main);
    border-color: rgba(245, 166, 35, .18);
    box-shadow: 0 20px 48px rgba(0, 0, 0, .42);
}

.game-card:hover,
.hero-card:hover,
.download-chronicle:hover,
.donate-pay-method:hover,
.donate-wallet:hover,
.forum-last-item:hover {
    border-color: rgba(255, 209, 102, .38);
    box-shadow: 0 24px 56px rgba(0, 0, 0, .48), 0 0 22px rgba(245, 166, 35, .08);
}

/* Главные кнопки: оранжево-золотой CTA */
.btn-main,
.btn-main,
.btn-gold,
.btn-primary,
.download-main-link,
.donate-action,
.support-button-toggle {
    background: linear-gradient(135deg, #ff8a00, #ffd166) !important;
    color: #1a1000 !important;
    font-weight: 800;
    border: 1px solid #ffcc66 !important;
    box-shadow: 0 0 18px rgba(255, 138, 0, .35);
}

.btn-main:hover,
.btn-main:hover,
.btn-gold:hover,
.btn-primary:hover,
.download-main-link:hover,
.donate-action:hover,
.support-button-toggle:hover {
    background: linear-gradient(135deg, #ff9f1a, #ffe08a) !important;
    color: #fff !important;
    box-shadow: 0 0 26px rgba(255, 168, 40, .55);
    transform: translateY(-1px);
}

.btn-brown,
.btn-outline-light,
.lang-switch a,
.nav-pills .nav-link {
    background: rgba(28, 34, 51, .86);
    color: var(--text-main);
    border-color: rgba(245, 166, 35, .22);
}

.btn-brown:hover,
.btn-outline-light:hover:hover,
.lang-switch a:hover,
.nav-pills .nav-link.active,
.nav-pills .nav-link:hover {
    background: rgba(245, 166, 35, .14);
    color: var(--accent-light);
    border-color: rgba(255, 209, 102, .45);
}

/* Серверные карточки */
.server-id {
    background:
        radial-gradient(circle at 50% 0%, rgba(245, 166, 35, .18), transparent 42%),
        linear-gradient(180deg, #1c2233 0%, #141824 100%);
    border-color: rgba(245, 166, 35, .24);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .03), 0 16px 30px rgba(0, 0, 0, .38);
}

.server-id .leftRect,
.server-id .rightRect {
    background: linear-gradient(180deg, rgba(245, 166, 35, .28), rgba(28, 34, 51, .12));
}

.server-name {
    color: var(--text-main) !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .65), 0 0 14px rgba(245, 166, 35, .15);
}

.server-rate {
    background: linear-gradient(135deg, var(--accent-orange), var(--accent-light));
    color: #1a1000 !important;
    box-shadow: 0 0 18px rgba(255, 138, 0, .34);
}

.status-dot.online,
.badge.bg-success,
.text-success {
    background: var(--success) !important;
    color: #052e14 !important;
    box-shadow: 0 0 0 3px rgba(34, 197, 94, .18), 0 0 18px rgba(34, 197, 94, .26);
}

.status-dot:not(.online),
.badge.bg-danger,
.text-danger {
    background: var(--danger) !important;
    color: #fff !important;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, .16);
}

/* VIP / premium / bonus — золото */
.badge-soft,
.bonus-kicker,
.bonus-card-icon,
.bonus-hero-badge,
.bonus-chance,
.donate-bonus-line,
.donate-tier h3 span,
.donate-tier-empty h3 span,
.vip {
    color: var(--accent-light) !important;
}
.donate-pay-method strong i{
    color: #c04d00;
}
.bonus-hero-badge,
.bonus-chance,
.donate-tier.is-current,
.server-ribbon-gold span {
    background: linear-gradient(135deg, rgba(245, 166, 35, .20), rgba(255, 209, 102, .10));
    border-color: rgba(255, 209, 102, .34);
}

.server-ribbon-gold span {
    background: linear-gradient(120deg, #9f650b 0%, #d89b21 24%, #fff1a3 42%, #c88612 58%, #7a4a05 78%, #f4cf62 100%);
    background-size: 220% 220%;
    color: #1a1000 !important;
}

/* Ошибки и предупреждения — красный, но без лишней агрессии */
.alert-danger,
.form-error,
.invalid-feedback,
.is-invalid ~ .form-error {
    background: rgba(220, 38, 38, .12);
    border-color: rgba(220, 38, 38, .30);
    color: #ffd7d7 !important;
}

.alert-warning,
.download-alert,
.donate-alert {
    background: rgba(245, 166, 35, .11);
    border-color: rgba(245, 166, 35, .26);
    color: var(--text-main);
}

/* Таблицы, последние темы, новости */
.table,
.table-game,
.bonus-table,
.bonus-reward-table {
    --bs-table-color: var(--text-main);
    --bs-table-bg: transparent;
    --bs-table-border-color: rgba(245, 166, 35, .14);
    color: var(--text-main);
}

.table thead,
.bonus-table thead,
.table-game thead {
    background: rgba(245, 166, 35, .12);
    color: var(--accent-light);
}

.forum-last-item,
.forum-last-list a,
.download-mirrors a {
    background: rgba(20, 24, 36, .78);
    color: var(--text-main) !important;
    border-color: rgba(245, 166, 35, .14) !important;
}

.forum-last-item:hover,
.forum-last-list a:hover,
.download-mirrors a:hover {
    background: rgba(28, 34, 51, .96);
    color: var(--accent-light) !important;
    border-color: rgba(255, 209, 102, .40) !important;
}

.news-date,
.f_id,
.score {
    color: var(--accent-light) !important;
}

/* Popup также в темном fantasy-стиле */
.page-popup .modal-content {
    background-color: #070910;
    border-color: rgba(245, 166, 35, .24);
}

.page-popup .modal-header {
    background: linear-gradient(135deg, #1c2233, #141824);
    border-bottom-color: rgba(245, 166, 35, .18);
}


body {
    background:
        radial-gradient(circle at 16% 0%, rgba(245, 166, 35, .10), transparent 28%),
        radial-gradient(circle at 92% 12%, rgba(77, 111, 255, .07), transparent 30%),
        linear-gradient(180deg, #0b0d12 0%, #080a0f 100%) !important;
}

/* Верхняя панель и hero-фон чуть отделяем от страницы */
.topbar {
    background: rgba(17, 21, 32, .94) !important;
    border-bottom-color: rgba(255, 209, 102, .16) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .32);
}

.hero-section {
    background:
        radial-gradient(circle at top left, rgba(245, 166, 35, .12), transparent 34%),
        linear-gradient(135deg, rgba(27, 33, 50, .78), rgba(11, 13, 18, .86)) !important;
    border-bottom-color: rgba(255, 209, 102, .16) !important;
}

/* Универсальные карточки на всех страницах */
.game-card,
.hero-card,
.about-hero,
.about-content-card,
.about-info-card,
.about-years-card,
.download-chronicle,
.download-file,
.files-hero,
.files-info,
.files-changelog-box,
.rules-hero,
.rules-intro,
.rules-warning-box,
.rules-toc,
.rules-nav-card,
.rule-item,
.bonus-hero,
.bonus-card,
.bonus-vote-card,
.bonus-rewards-card,
.bonus-table-wrap,
.donate-card,
.donate-hero,
.donate-summary-card,
.donate-panel,
.donate-bonus-panel,
.donate-crypto-card,
.donate-range-wrap,
.donate-pay-method,
.donate-tier,
.donate-tier-empty,
.forum-last-card,
.news-popup-card,
.auth-section .game-card,
.support-panel,
.modal-content {
     
    color: var(--text-main) !important;
    border: 1px solid var(--block-border-soft) !important;
    box-shadow: var(--block-shadow) !important;
}

/* Вложенные элементы должны быть чуть темнее карточек, но заметно светлее фона */
.server-id,
.mini-rating-row,
.server-row,
.bonus-table tbody tr,
.bonus-table tbody tr:nth-child(even),
.donate-wallet-grid,
.download-mirrors a,
.forum-last-list a,
.forum-spoiler,
.pro-spoiler,
.forum-quote,
.files-quick-actions a,
.bonus-tabs .nav-link {
    background: rgba(37, 45, 67, .82) !important;
    color: var(--text-main) !important;
    border-color: rgba(255, 209, 102, .18) !important;
}

.game-card:hover,
.hero-card:hover,
.download-chronicle:hover,
.download-file:hover,
.about-content-card:hover,
.about-info-card:hover,
.bonus-card:hover,
.donate-pay-method:hover,
.donate-wallet:hover,
.forum-last-link:hover,
.server-tile:hover .server-id {
    border-color: var(--block-border) !important;
    box-shadow: var(--block-shadow-hover) !important;
}

.donate-pay-method:hover strong {
    color: #6c99da;
}

/* Заголовки и текст внутри светлых блоков */
.game-card h1,
.game-card h2,
.game-card h3,
.hero-card h1,
.hero-card h2,
.hero-card h3,
.about-page h1,
.about-page h2,
.about-page h3,
.files-page h1,
.files-page h2,
.rules-page h1,
.rules-page h2,
.rules-page h3,
.bonus-page h1,
.bonus-page h2,
.bonus-page h3,
.donate-page h1,
.donate-page h2,
.donate-page h3,
.forum-last-card h2,
.modal-content h1,
.modal-content h2,
.modal-content h3 {
    color: var(--text-main) !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .32);
}

.text-muted-brown,
.about-mini-stat span,
.download-file small,
.forum-last-meta,
.donate-pay-method small,
.donate-wallet small,
.bonus-item-name small {
    color: #777 !important;
}
.donate-summary-card span,
.donate-summary-card small{
    color: #fff !important;
}


/* Серверные карточки еще чуть светлее, чтобы не терялись на фоне */
.server-id {
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 209, 102, .20), transparent 42%),
        linear-gradient(180deg, #283047 0%, #1b2132 100%) !important;
    border-color: rgba(255, 209, 102, .28) !important;
}
.server-id::before {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .12), transparent 34%),
        linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, .26) 100%) !important;
}

/* Новости без фоновой картинки и popup новости */
.news-card:not(.has-bg) {
    background:
        radial-gradient(circle at 18% 0%, rgba(255, 209, 102, .08), transparent 38%),
        linear-gradient(180deg, #252d43 0%, #1b2132 100%) !important;
    border: 1px solid rgba(255, 209, 102, .20) !important;
}
.news-card.has-bg::after {
    background: linear-gradient(180deg, rgba(11, 13, 18, .05) 0%, rgba(11, 13, 18, .54) 42%, rgba(11, 13, 18, .90) 100%) !important;
}
.news-card-title,
.news-card-text {
    color: var(--text-main) !important;
}

/* Таблицы и строки делаем отчетливо видимыми */
.table,
.table-game,
.bonus-table,
.bonus-reward-table {
    --bs-table-bg: rgba(27, 33, 50, .66) !important;
    --bs-table-striped-bg: rgba(37, 45, 67, .88) !important;
    --bs-table-hover-bg: rgba(245, 166, 35, .12) !important;
    --bs-table-color: var(--text-main) !important;
    --bs-table-border-color: rgba(255, 209, 102, .18) !important;
    color: var(--text-main) !important;
}
.table thead,
.table-game thead,
.bonus-table thead,
.bonus-reward-table thead {
    background: linear-gradient(180deg, rgba(245, 166, 35, .22), rgba(245, 166, 35, .12)) !important;
    color: var(--accent-light) !important;
}

/* Формы на темном фоне */
.form-control,
.form-select,
.donate-input,
.donate-page .form-select,
.donate-page .form-control {
    background: rgba(37, 45, 67, .92) !important;
    color: var(--text-main) !important;
    border-color: rgba(255, 209, 102, .24) !important;
}
.form-control:focus,
.form-select:focus {
    background: rgba(44, 53, 79, .98) !important;
    border-color: rgba(255, 209, 102, .62) !important;
}

/* Popup: тело и контент не должны сливаться */
.page-popup .modal-content {
    background:
        radial-gradient(circle at 15% 0%, rgba(255, 209, 102, .12), transparent 36%),
        linear-gradient(180deg, #1b2132 0%, #111622 100%) !important;
    border-color: rgba(255, 209, 102, .30) !important;
    box-shadow: 0 30px 100px rgba(0, 0, 0, .70), inset 0 1px 0 rgba(255, 255, 255, .06) !important;
}
.page-popup .modal-header {
    background: linear-gradient(135deg, #252d43, #1b2132) !important;
    border-bottom-color: rgba(255, 209, 102, .24) !important;
}
.page-popup .popup-loader {
    background: rgba(11, 13, 18, .78) !important;
}

/* Небольшие акцентные элементы */
.badge-soft,
.forum-last-badge,
.bonus-chance,
.bonus-hero-badge,


/* Ссылки внутри темных блоков */
.modal-content a:not(.btn):not(.nav-link):not(.dropdown-item),
.game-card a:not(.btn),
.rules-content a:not(.btn),
.files-info a:not(.btn),
.donate-note a:not(.btn) {
    color: #fff !important;
}
.modal-content a:not(.btn):not(.nav-link):not(.dropdown-item):hover,
.game-card a:not(.btn):hover,
.rules-content a:not(.btn):hover,
.files-info a:not(.btn):hover,
.donate-note a:not(.btn):hover {
    color: #fff1bd !important;
    background: rgba(245, 166, 35, .10) !important;
}

/* =========================================================
   Dark theme: silver fantasy blocks with metallic sheen
   ========================================================= */
{
    --silver-card-top: #3a4256;
    --silver-card-mid: #252d3f;
    --silver-card-bottom: #171d2b;
    --silver-card-soft: #465066;
    --silver-border: rgba(226, 232, 240, .42);
    --silver-border-soft: rgba(226, 232, 240, .24);
    --silver-glow: rgba(203, 213, 225, .20);
    --silver-shadow: 0 24px 70px rgba(0, 0, 0, .50), inset 0 1px 0 rgba(255, 255, 255, .14), inset 0 -1px 0 rgba(15, 23, 42, .72);
    --silver-shadow-hover: 0 30px 86px rgba(0, 0, 0, .58), 0 0 30px rgba(203, 213, 225, .18), inset 0 1px 0 rgba(255, 255, 255, .22);
}

/* Основные блоки всех страниц — серебристый металл с отливом */
.game-card,
.hero-card,
.about-hero,
.about-content-card,
.about-info-card,
.about-years-card,
.download-chronicle,
.download-file,
.files-hero,
.files-info,
.files-changelog-box,
.rules-hero,
.rules-intro,
.rules-warning-box,
.rules-toc,
.rules-nav-card,
.rule-item,
.bonus-hero,
.bonus-card,
.bonus-vote-card,
.bonus-rewards-card,
.bonus-table-wrap,
.donate-card,
.donate-hero,
.donate-panel,
.donate-bonus-panel,
.donate-crypto-card,
.donate-wallet,
.donate-tier,
.donate-tier-empty,
.forum-last-card,
.news-popup-card,
.auth-section .game-card,
.support-panel,
.modal-content {
    background-color: #070910;
    color: var(--text-main) !important;
    border: 1px solid var(--silver-border) !important;
    box-shadow: var(--silver-shadow) !important;
    background-size: 100% 100%, 100% 100%, 100% 100%, 220% 220% !important;
}
.donate-pay-method {
    background-color: #fff;
    color: var(--text-main) !important;
    border: 0;
    box-shadow: 0;
    background-size: 100% 100%, 100% 100%, 100% 100%, 220% 220% !important;
}


.donate-range-wrap{
    background-color: #fff;
    color: var(--text-main) !important;
    border: 1px solid var(--silver-border) !important;
    box-shadow: var(--silver-shadow) !important;
    background-size: 100% 100%, 100% 100%, 100% 100%, 220% 220% !important;
}

.donate-summary-card
{
    background: linear-gradient(135deg, rgba(0, 138, 29, .96), #070910);
    color: var(--text-main) !important;
    border: 1px solid var(--silver-border) !important;
    box-shadow: var(--silver-shadow) !important;
    background-size: 100% 100%, 100% 100%, 100% 100%, 220% 220% !important;
}

/* Вложенные блоки: серебристый второй уровень, чтобы не сливались */
.server-id,
.mini-rating-row,
.server-row,
.bonus-table tbody tr,
.bonus-table tbody tr:nth-child(even),
.donate-wallet-grid,
.download-mirrors a,
.forum-last-list a,
.forum-spoiler,
.pro-spoiler,
.forum-quote,
.files-quick-actions a,
.rules-toc-link,
.bonus-tabs .nav-link {
    background:
        linear-gradient(122deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, .04) 30%, transparent 52%),
        linear-gradient(155deg, #4a5368 0%, #30384d 38%, #20283a 100%) !important;
    color: var(--text-main) !important;
    border: 1px solid var(--silver-border-soft) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), 0 10px 26px rgba(0, 0, 0, .28) !important;
}
.bonus-list li{
    color: var(--text-main) !important;
}


.donate-tier li {
	background: linear-gradient(135deg, rgba(0, 138, 29, .96), #fff);
    color: rgb(40 35 24 / 95%) !important;
    border: 1px solid var(--silver-border-soft) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), 0 10px 26px rgba(0, 0, 0, .28) !important;
}

/* Серверные карточки — более выраженный серебристый отлив */
.server-id {
    background:
        linear-gradient(112deg, rgba(255, 255, 255, .28) 0%, rgba(255, 255, 255, .10) 15%, transparent 34%),
        radial-gradient(circle at 50% 0%, rgba(255, 255, 255, .18), transparent 44%),
        linear-gradient(150deg, #566076 0%, #374055 38%, #252d40 62%, #171d2b 100%) !important;
    border-color: rgba(241, 245, 249, .48) !important;
    box-shadow: 0 22px 55px rgba(0, 0, 0, .42), 0 0 24px rgba(203, 213, 225, .14), inset 0 1px 0 rgba(255, 255, 255, .22) !important;
}
.server-id::before {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .24), transparent 32%),
        linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, .28) 100%) !important;
}

/* Новости, таблицы и popup тоже в серебро */
.news-card:not(.has-bg) {
    background:
        linear-gradient(120deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, .05) 26%, transparent 48%),
        linear-gradient(155deg, #465066 0%, #30384d 44%, #1b2233 100%) !important;
    border: 1px solid rgba(226, 232, 240, .34) !important;
    box-shadow: var(--silver-shadow) !important;
}
.table,
.table-game,
.bonus-table,
.bonus-reward-table {
    --bs-table-bg: rgba(48, 56, 77, .76) !important;
    --bs-table-striped-bg: rgba(70, 80, 102, .68) !important;
    --bs-table-hover-bg: rgba(226, 232, 240, .14) !important;
    --bs-table-color: var(--text-main) !important;
    --bs-table-border-color: rgba(226, 232, 240, .22) !important;
    color: var(--text-main) !important;
}
.table thead,
.table-game thead,
.bonus-table thead,
.bonus-reward-table thead {
    background: linear-gradient(135deg, rgba(226, 232, 240, .24), rgba(148, 163, 184, .15)) !important;
    color: #f8fafc !important;
}
.page-popup .modal-content {
    background-color:#070910;
    border-color: rgba(226, 232, 240, .46) !important;
    box-shadow: 0 30px 100px rgba(0, 0, 0, .72), 0 0 32px rgba(203, 213, 225, .16), inset 0 1px 0 rgba(255, 255, 255, .18) !important;
}
.page-popup .modal-header {
    background: linear-gradient(135deg, #4a5368, #252d3f) !important;
    border-bottom-color: rgba(226, 232, 240, .34) !important;
}

/* Формы: темное серебро, без слияния с карточками */
.form-control,
.form-select,
.donate-input,
.donate-page .form-select,
.donate-page .form-control {
    background: linear-gradient(180deg, #40495d 0%, #273044 100%) !important;
    color: var(--text-main) !important;
    border-color: rgba(226, 232, 240, .36) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12) !important;
}
.form-control:focus,
.form-select:focus {
    background: linear-gradient(180deg, #4b556b 0%, #30394f 100%) !important;
    border-color: rgba(255, 209, 102, .66) !important;
    box-shadow: 0 0 0 .2rem rgba(255, 209, 102, .16), inset 0 1px 0 rgba(255, 255, 255, .18) !important;
}

/* Hover: серебряный блик, золото остается только как акцент */
.game-card:hover,
.hero-card:hover,
.download-chronicle:hover,
.download-file:hover,
.about-content-card:hover,
.about-info-card:hover,
.bonus-card:hover,
.donate-wallet:hover,
.forum-last-link:hover,
.server-tile:hover .server-id,
.rules-toc-link:hover,
.files-quick-actions a:hover,
.bonus-tabs .nav-link:hover {
    border-color: rgba(248, 250, 252, .58) !important;
    box-shadow: var(--silver-shadow-hover) !important;
    filter: brightness(1.05);
}

/* Акцентные бейджи остаются читаемыми, но получают серебряную основу */
.badge-soft,
.forum-last-badge,
.bonus-chance,
.bonus-hero-badge,
.download-badge {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .16), rgba(148, 163, 184, .16)),
        rgba(37, 45, 67, .92) !important;
    border: 1px solid rgba(226, 232, 240, .38) !important;
    color: #fff3c4 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 8px 20px rgba(0, 0, 0, .22) !important;
}

.donate-bonus-line{
    background: linear-gradient(180deg, #ff8a00, rgb(155 0 0 / 13%));
    border: 1px solid rgba(226, 232, 240, .38) !important;
    color: #fff3c4 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 8px 20px rgba(0, 0, 0, .22) !important;
}


.about-benefits {
    display: grid;
    gap: .72rem;
    padding-left: 0;
    list-style: none;
	 border: 0 !important;
}
/* Финальная правка support_button: кнопка снизу справа, панель прячется за экран */
.support_widget {
    position: fixed !important;
    right: 22px !important;
    bottom: 22px !important;
    z-index: 1080 !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    pointer-events: none !important;
}

.support_button {
    position: relative !important;
    z-index: 2 !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(0) scale(1) !important;
}

.support_widget.is-open .support_button {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateX(140%) scale(.85) !important;
}

.support_panel {
    position: fixed !important;
    right: 22px !important;
    bottom: 22px !important;
    width: min(360px, calc(100vw - 44px)) !important;
    max-height: calc(100vh - 44px) !important;
    overflow-y: auto !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateX(calc(100% + 44px)) !important;
    transition: opacity .22s ease, visibility .22s ease, transform .28s ease !important;
}

.support_widget.is-open .support_panel {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(0) !important;
}

.support_panel a,
.support_panel button {
    pointer-events: auto !important;
}

@media (max-width: 575.98px) {
    .support_widget {
        right: 14px !important;
        bottom: 14px !important;
    }

    .support_panel {
        right: 14px !important;
        bottom: 14px !important;
        width: calc(100vw - 28px) !important;
        max-height: calc(100vh - 28px) !important;
        transform: translateX(calc(100% + 28px)) !important;
    }

    .support_widget.is-open .support_panel {
        transform: translateX(0) !important;
    }
}

/* Полная перерисовка server-id: легкие fantasy/glass карточки */
.home-servers-card .servers {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: .7rem !important;
}

.server-tile {
    perspective: 900px;
}

.server-id {
    min-height: 112px !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    background:
        linear-gradient(135deg, rgba(255, 209, 102, .11), transparent 34%),
        linear-gradient(180deg, rgba(32, 39, 58, .94), rgba(16, 20, 31, .98)) !important;
    border: 1px solid rgba(238, 225, 196, .14) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .08),
        0 10px 24px rgba(0, 0, 0, .22) !important;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease !important;
}

.server-id::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    background:
        radial-gradient(circle at 88% 12%, rgba(34, 197, 94, .16), transparent 24%),
        radial-gradient(circle at 18% 0%, rgba(255, 138, 0, .14), transparent 30%),
        linear-gradient(90deg, rgba(255, 209, 102, .22), transparent 18%, transparent 82%, rgba(255, 209, 102, .08)) !important;
    opacity: .95 !important;
    pointer-events: none !important;
}

.server-id::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 209, 102, .74), transparent);
    opacity: .72;
    pointer-events: none;
}

.server-tile:hover .server-id {
    transform: translateY(-2px) rotateX(1deg) !important;
    border-color: rgba(255, 209, 102, .42) !important;
    background:
        linear-gradient(135deg, rgba(255, 209, 102, .15), transparent 36%),
        linear-gradient(180deg, rgba(36, 45, 67, .96), rgba(17, 21, 33, .99)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .12),
        0 14px 30px rgba(0, 0, 0, .30),
        0 0 22px rgba(255, 138, 0, .08) !important;
}

.server-id .leftRect,
.server-id .rightRect {
    top: 12px !important;
    bottom: 12px !important;
    width: 3px !important;
    height: auto !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, rgba(255, 209, 102, .78), rgba(255, 138, 0, .24), rgba(34, 197, 94, .34)) !important;
    opacity: .58 !important;
    z-index: 1 !important;
}

.server-id .leftRect { left: 10px !important; }
.server-id .rightRect { right: 10px !important; opacity: .22 !important; }

.server-body {
    z-index: 2 !important;
    min-height: 112px !important;
    padding: 1.75rem 1rem .82rem !important;
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    grid-template-rows: 1fr auto !important;
    align-items: center !important;
    justify-items: center !important;
    gap: .35rem .45rem !important;
    text-align: left !important;
}

.server-body img {
    grid-column: 1 / 4 !important;
    grid-row: 1 / 2 !important;
    width: 112px !important;
    height: 56px !important;
    max-width: 78% !important;
    object-fit: contain !important;
    filter: drop-shadow(0 7px 12px rgba(0, 0, 0, .34)) saturate(1.03) !important;
    opacity: .96 !important;
}

.server-tile:hover .server-body img {
    transform: scale(1.025) !important;
}

.server-name {
    top: .58rem !important;
    left: 1rem !important;
    right: 3.9rem !important;
    color: #f4ead7 !important;
    font-size: .98rem !important;
    line-height: 1.05 !important;
    font-weight: 900 !important;
    letter-spacing: .055em !important;
    text-align: left !important;
    text-transform: uppercase !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .45) !important;
}

.server-rate {
    position: static !important;
    grid-column: 1 / 2 !important;
    grid-row: 2 / 3 !important;
    min-width: 42px !important;
    min-height: 25px !important;
    padding: .12rem .48rem !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #ff8a00, #ffd166) !important;
    color: #201000 !important;
    font-size: .82rem !important;
    font-weight: 950 !important;
    box-shadow: 0 5px 13px rgba(255, 138, 0, .22) !important;
}

.server-online {
    position: absolute !important;
    top: .52rem !important;
    right: .82rem !important;
    bottom: auto !important;
    min-width: 36px !important;
    min-height: 23px !important;
    padding: .08rem .42rem !important;
    border-radius: 999px !important;
    color: #06170d !important;
    font-size: .72rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    background: linear-gradient(135deg, #22c55e, #86efac) !important;
    box-shadow: 0 0 0 3px rgba(34, 197, 94, .14), 0 6px 14px rgba(34, 197, 94, .15) !important;
}

.server-online.is-offline,
.server-online.offline {
    color: #fff3f3 !important;
    background: linear-gradient(135deg, #991b1b, #dc2626) !important;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, .13), 0 6px 14px rgba(220, 38, 38, .12) !important;
}

.server-add {
    display: none !important;
}

.server-ribbon {
    width: 88px !important;
    height: 88px !important;
    opacity: .94 !important;
}

.server-ribbon span {
    width: 124px !important;
    padding: .2rem 0 !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: .025em !important;
    box-shadow: 0 5px 12px rgba(0, 0, 0, .18) !important;
}

.server-ribbon-tr { right: -12px !important; top: -12px !important; }
.server-ribbon-tr span { right: -31px !important; top: 25px !important; transform: rotate(45deg) !important; }
.server-ribbon-br { right: -12px !important; bottom: -12px !important; }
.server-ribbon-br span { right: -31px !important; bottom: 25px !important; transform: rotate(-45deg) !important; }

.server-ribbon-gold span {
    background: linear-gradient(120deg, #9f650b 0%, #f5a623 28%, #fff1a3 48%, #d88a12 68%, #ffd166 100%) !important;
    background-size: 220% 220% !important;
    color: #241200 !important;
}


@media (max-width: 991px) {
    .home-servers-card .servers {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 575px) {
    .home-servers-card .servers {
        grid-template-columns: 1fr !important;
    }

    .server-id {
        min-height: 104px !important;
    }

    .server-body {
        min-height: 104px !important;
    }
}


/* Верхнее меню: быстрая кнопка покупки монет рядом со скачиванием */
.nav-link-buy-coins {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: .38rem .78rem !important;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--gold), var(--gold-2));
    color: #2a1509 !important;
    font-weight: 900;
    box-shadow: 0 8px 20px rgba(255, 138, 29, .25);
}
.nav-link-buy-coins:hover,
.nav-link-buy-coins:focus {
    color: #1d0f07 !important;
    background: linear-gradient(135deg, #ff9f1a, #ffe08a);
    box-shadow: 0 0 24px rgba(255, 168, 40, .45);
}

/* Страница регистрации: блок быстрых действий */
.register-page .row {
    align-items: stretch;
}

.register-start-card {
    position: relative;
    overflow: hidden;
}

.register-start-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 15% 10%, rgba(255, 209, 102, .20), transparent 32%),
        radial-gradient(circle at 100% 0%, rgba(255, 138, 0, .14), transparent 36%);
    pointer-events: none;
}

.register-start-card > * {
    position: relative;
    z-index: 1;
}

.register-start-kicker {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin-bottom: .55rem;
    color: var(--gold-2);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.register-start-card h2 {
    margin-bottom: .35rem;
    font-weight: 900;
}

.register-steps {
    display: grid;
    gap: .85rem;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: none;
}

.register-steps li {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: .8rem;
    align-items: start;
    padding: .85rem;
    border-radius: 18px;
    background: rgba(20, 24, 36, .56);
    border: 1px solid rgba(255, 209, 102, .18);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
}

.register-step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--gold), var(--gold-2));
    color: #1a1000;
    font-weight: 950;
    box-shadow: 0 8px 20px rgba(255, 138, 0, .25);
}

.register-steps strong {
    display: block;
    margin-bottom: .18rem;
    color: #fff4dd;
    font-weight: 900;
}

.register-steps p {
    margin: 0;
    color: var(--muted-brown);
    font-size: .93rem;
    line-height: 1.45;
}

.register-steps b {
    color: var(--gold-2);
}

.register-start-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: 1.15rem;
}

.register-start-actions .btn {
    flex: 1 1 170px;
}


@media (max-width: 991.98px) {
    .register-start-card {
        margin-bottom: .5rem;
    }
}

/* Form errors: hide empty placeholders, show only real validation messages */
.form-error {
    display: none !important;
    min-height: 0 !important;
    margin-top: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.form-error:not(:empty) {
    display: block !important;
    margin-top: .35rem !important;
    padding: .45rem .65rem !important;
    border-radius: 10px;
    font-size: .875rem;
    line-height: 1.35;
}

.form-error:not(:empty) {
    color: #ffd4d4;
    background: rgba(220, 38, 38, .14) !important;
    border: 1px solid rgba(220, 38, 38, .32) !important;
}


/* Password show/hide icon */
.password-toggle-field {
    position: relative;
}

.password-toggle-field .form-control {
    padding-right: 3.15rem;
}

.password-toggle-btn {
    position: absolute;
    top: 50%;
    right: .72rem;
    width: 2.05rem;
    height: 2.05rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    border: 0;
    border-radius: 999px;
    background: #141824;
    color: var(--gold-2);
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
    transition: background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
    z-index: 3;
}

.password-toggle-btn:hover,
.password-toggle-btn:focus-visible,
.password-toggle-btn.is-visible {
    background: linear-gradient(135deg, var(--gold), var(--gold-2));
    color: #241104;
    box-shadow: 0 8px 18px rgba(255, 138, 0, .22);
    outline: none;
}

.password-toggle-btn:active {
    transform: translateY(-50%) scale(.96);
}


/* v1.0.2: mobile servers horizontal scroll */
@media (max-width: 767.98px) {
    .home-servers-card {
        overflow: visible !important;
    }

    .home-servers-card .servers {
        display: flex !important;
        grid-template-columns: none !important;
        gap: .75rem !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: .15rem .2rem 1rem !important;
        margin-left: -.2rem !important;
        margin-right: -.2rem !important;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        scrollbar-color: var(--gold) rgba(255, 255, 255, .14);
    }

    .home-servers-card .servers::-webkit-scrollbar {
        height: 8px;
    }

    .home-servers-card .servers::-webkit-scrollbar-track {
        background: rgba(255, 255, 255, .12);
        border-radius: 999px;
    }

    .home-servers-card .servers::-webkit-scrollbar-thumb {
        background: linear-gradient(135deg, var(--gold), var(--gold-2));
        border-radius: 999px;
    }

    .home-servers-card .server-tile {
        flex: 0 0 min(82vw, 292px) !important;
        width: min(82vw, 292px) !important;
        min-width: min(82vw, 292px) !important;
        scroll-snap-align: start;
    }

    .home-servers-card .server-id {
        width: 100% !important;
        min-height: 104px !important;
    }

    .home-servers-card .server-body {
        min-height: 104px !important;
    }
}


/* v1.0.3: mobile server tiles half width */
@media (max-width: 767.98px) {
    .home-servers-card .server-tile {
        flex-basis: min(41vw, 146px) !important;
        width: min(41vw, 146px) !important;
        min-width: min(41vw, 146px) !important;
    }
}


/* Hero: зеленая кнопка покупки монет */
.hero-section .btn-hero-donate-green {
    background: linear-gradient(135deg, rgba(0, 138, 29, .96), #070910);
    border: 1px solid #0cad2f;
    color: #a9f1bc;
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(0, 138, 29, .28);
}
.hero-section .btn-hero-donate-green:hover,
.hero-section .btn-hero-donate-green:focus {
    color: #fff;
    background: linear-gradient(135deg, rgba(0, 138, 29, .96), #070910);
    box-shadow: 0 0 26px rgba(0, 138, 29, .38);
    transform: translateY(-1px);
}
