:root {
    --acp-bg: #07111f;
    --acp-bg-2: #0a1728;
    --acp-card: #0d1d31;
    --acp-card-2: #10243b;
    --acp-border: rgba(40, 148, 255, .20);

    --acp-blue: #1683ff;
    --acp-blue-hover: #3b9aff;
    --acp-blue-dark: #0b5fc0;
    --acp-blue-glow: rgba(22, 131, 255, .28);

    --acp-green: #35d07f;
    --acp-red: #ff5364;
    --acp-yellow: #ffc857;

    --acp-text: #edf6ff;
    --acp-text-2: #a9bdd2;
    --acp-muted: #71879e;

    --acp-radius: 12px;
    --acp-radius-sm: 8px;
    --acp-shadow: 0 10px 35px rgba(0, 0, 0, .30);
}

html {
    background: var(--acp-bg);
}

body {
    background:
        radial-gradient(
            circle at 15% 0%,
            rgba(22, 131, 255, .12),
            transparent 32%
        ),
        radial-gradient(
            circle at 85% 15%,
            rgba(22, 131, 255, .08),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #07111f 0%,
            #081423 50%,
            #06101c 100%
        ) !important;

    color: var(--acp-text) !important;
}

/* Ссылки */

a {
    color: var(--acp-blue);
    transition: color .2s ease, opacity .2s ease;
}

a:hover {
    color: var(--acp-blue-hover);
}

/* Контейнеры */

.container,
.content,
.page-content,
.main-content {
    position: relative;
}

/* Карточки */

.card,
.panel,
.block,
.widget,
.server-card,
.donate-card,
.profile-card,
.stat-card,
.ticket-card {
    background: linear-gradient(
        145deg,
        rgba(16, 36, 59, .96),
        rgba(9, 24, 41, .96)
    ) !important;

    border: 1px solid var(--acp-border) !important;
    border-radius: var(--acp-radius) !important;
    box-shadow: var(--acp-shadow);
}

/* Заголовки */

h1, h2, h3, h4, h5, h6 {
    color: var(--acp-text);
}

h1,
.page-title {
    text-shadow: 0 0 25px rgba(22, 131, 255, .18);
}

/* Кнопки */

button,
.btn,
.button,
input[type="submit"],
input[type="button"] {
    background: linear-gradient(
        135deg,
        var(--acp-blue),
        var(--acp-blue-dark)
    ) !important;

    color: white !important;
    border: 1px solid rgba(91, 177, 255, .30) !important;
    border-radius: var(--acp-radius-sm) !important;

    box-shadow: 0 5px 20px var(--acp-blue-glow);
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        filter .18s ease;
}

button:hover,
.btn:hover,
.button:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
    filter: brightness(1.12);
    transform: translateY(-1px);
    box-shadow: 0 8px 28px rgba(22, 131, 255, .38);
}

/* Формы */

input,
textarea,
select {
    background: #081827 !important;
    color: var(--acp-text) !important;

    border: 1px solid rgba(56, 143, 221, .25) !important;
    border-radius: var(--acp-radius-sm) !important;

    outline: none;
    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

input:focus,
textarea:focus,
select:focus {
    border-color: var(--acp-blue) !important;
    box-shadow: 0 0 0 3px rgba(22, 131, 255, .12) !important;
}

/* Навигация */

nav,
.navbar,
header,
.header {
    background: rgba(5, 15, 27, .88) !important;
    border-bottom: 1px solid rgba(22, 131, 255, .15);
    backdrop-filter: blur(14px);
}

nav a,
.navbar a {
    color: var(--acp-text) !important;
}

nav a:hover,
.navbar a:hover {
    color: var(--acp-blue-hover) !important;
}

/* Таблицы */

table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--acp-card);
    border: 1px solid var(--acp-border);
    border-radius: var(--acp-radius);
    overflow: hidden;
}

th {
    background: #102942;
    color: #dceeff;
}

td,
th {
    border-bottom: 1px solid rgba(70, 137, 195, .10);
    padding: 12px 14px;
}

tr:hover td {
    background: rgba(22, 131, 255, .045);
}

/* Серверы */

.server-online,
.online,
.status-online {
    color: var(--acp-green) !important;
}

.server-offline,
.offline,
.status-offline {
    color: var(--acp-red) !important;
}

.server-card:hover,
.donate-card:hover,
.stat-card:hover {
    border-color: rgba(22, 131, 255, .42) !important;
    box-shadow:
        0 15px 45px rgba(0, 0, 0, .35),
        0 0 25px rgba(22, 131, 255, .08);
}

/* Бейджи */

.badge,
.tag,
.label {
    background: rgba(22, 131, 255, .13);
    color: #66b5ff;
    border: 1px solid rgba(22, 131, 255, .20);
    border-radius: 999px;
}

/* Разделители */

hr {
    border: 0;
    border-top: 1px solid rgba(22, 131, 255, .15);
}

/* Скроллбар */

::-webkit-scrollbar {
    width: 9px;
    height: 9px;
}

::-webkit-scrollbar-track {
    background: #06101c;
}

::-webkit-scrollbar-thumb {
    background: #12375a;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--acp-blue-dark);
}

/* Выделение */

::selection {
    background: rgba(22, 131, 255, .35);
    color: white;
}

/* Уведомления */

.alert,
.message,
.notification {
    background: rgba(13, 31, 51, .95) !important;
    border: 1px solid rgba(22, 131, 255, .20) !important;
    color: var(--acp-text) !important;
}

/* Мобильная версия */

@media (max-width: 768px) {
    body {
        font-size: 14px;
    }

    .container {
        width: calc(100% - 24px);
        max-width: none;
    }

    table {
        font-size: 13px;
    }

    td,
    th {
        padding: 9px 8px;
    }

    .card,
    .panel,
    .block,
    .widget {
        border-radius: 10px !important;
    }

    h1 {
        font-size: 26px;
    }

    h2 {
        font-size: 21px;
    }
}

/* Archive SCP: прозрачный фон заголовков новостей и статистики */
.feature-page > header.feature-heading,
.feature-page > .feature-heading,
.feature-page header.feature-heading {
    background: transparent !important;
    background-color: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
}

/* FIX: прозрачный заголовок страниц новостей и статистики */
main.feature-page > header.feature-heading {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important;
    border: 0 !important;
    outline: 0 !important;
}

/* ===== Archive SCP Premium Entrance Animations ===== */
:root {
    --acp-motion-duration: 720ms;
    --acp-motion-ease: cubic-bezier(.2, .72, .22, 1);
}

@keyframes acp-text-enter {
    from {
        opacity: 0;
        transform: translate3d(0, 18px, 0);
        filter: blur(3px);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        filter: blur(0);
    }
}

@keyframes acp-card-enter {
    from {
        opacity: 0;
        transform: translate3d(0, 28px, 0) scale(.975);
        filter: blur(4px);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
        filter: blur(0);
    }
}

@keyframes acp-button-enter {
    from {
        opacity: 0;
        transform: translate3d(0, 12px, 0) scale(.97);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

body.acp-motion-ready .acp-reveal-text,
body.acp-motion-ready .acp-reveal-card,
body.acp-motion-ready .acp-reveal-button {
    opacity: 0;
    will-change: opacity, transform, filter;
}

body.acp-motion-ready .acp-reveal-text.is-visible {
    animation: acp-text-enter var(--acp-motion-duration)
        var(--acp-motion-ease) both;
}

body.acp-motion-ready .acp-reveal-card.is-visible {
    animation: acp-card-enter 850ms
        var(--acp-motion-ease) both;
}

body.acp-motion-ready .acp-reveal-button.is-visible {
    animation: acp-button-enter 620ms
        var(--acp-motion-ease) both;
}

/* Плавное поднятие карточек */
.card, .panel, .block, .widget, .server-card, .donate-card,
.profile-card, .stat-card, .ticket-card, .page-card {
    transition: transform 280ms var(--acp-motion-ease),
                border-color 280ms ease,
                box-shadow 280ms ease;
}

.card:hover, .panel:hover, .block:hover, .widget:hover,
.server-card:hover, .donate-card:hover, .profile-card:hover,
.stat-card:hover, .ticket-card:hover, .page-card:hover {
    transform: translateY(-3px);
}

/* Кнопки: движение и мягкое свечение */
button, .btn, .button,
input[type="submit"], input[type="button"] {
    transition: transform 220ms var(--acp-motion-ease),
                box-shadow 260ms ease,
                filter 220ms ease;
}

button:hover, .btn:hover, .button:hover,
input[type="submit"]:hover, input[type="button"]:hover {
    transform: translateY(-2px);
    filter: brightness(1.08);
}

@media (prefers-reduced-motion: reduce) {
    body.acp-motion-ready .acp-reveal-text,
    body.acp-motion-ready .acp-reveal-card,
    body.acp-motion-ready .acp-reveal-button {
        opacity: 1 !important;
        animation: none !important;
        transform: none !important;
        filter: none !important;
    }
}

/* Archive SCP: анимация целых карточек новостей и топа игроков */
body.acp-motion-ready .news-card,
body.acp-motion-ready .news-item,
body.acp-motion-ready .article-card,
body.acp-motion-ready .player-row,
body.acp-motion-ready .top-player-card,
body.acp-motion-ready .leaderboard-row,
body.acp-motion-ready .leaderboard-item,
body.acp-motion-ready .news-list > *,
body.acp-motion-ready .top-players > *,
body.acp-motion-ready .players-table tbody tr {
    opacity: 0;
    transform: translate3d(0, 26px, 0);
    filter: blur(3px);
    transition:
        opacity 650ms cubic-bezier(.2,.72,.22,1),
        transform 650ms cubic-bezier(.2,.72,.22,1),
        filter 650ms cubic-bezier(.2,.72,.22,1);
}

body.acp-motion-ready .news-card.is-visible,
body.acp-motion-ready .news-item.is-visible,
body.acp-motion-ready .article-card.is-visible,
body.acp-motion-ready .player-row.is-visible,
body.acp-motion-ready .top-player-card.is-visible,
body.acp-motion-ready .leaderboard-row.is-visible,
body.acp-motion-ready .leaderboard-item.is-visible,
body.acp-motion-ready .news-list > *.is-visible,
body.acp-motion-ready .top-players > *.is-visible,
body.acp-motion-ready .players-table tbody tr.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
}

@media (prefers-reduced-motion: reduce) {
    body.acp-motion-ready .news-card,
    body.acp-motion-ready .news-item,
    body.acp-motion-ready .article-card,
    body.acp-motion-ready .player-row,
    body.acp-motion-ready .top-player-card,
    body.acp-motion-ready .leaderboard-row,
    body.acp-motion-ready .leaderboard-item,
    body.acp-motion-ready .news-list > *,
    body.acp-motion-ready .top-players > *,
    body.acp-motion-ready .players-table tbody tr {
        opacity: 1;
        transform: none;
        filter: none;
        transition: none;
    }
}

/* Archive SCP: анимация целых карточек новостей и топа игроков */
body.acp-motion-ready .news-card,
body.acp-motion-ready .news-item,
body.acp-motion-ready .article-card,
body.acp-motion-ready .player-row,
body.acp-motion-ready .top-player-card,
body.acp-motion-ready .leaderboard-row,
body.acp-motion-ready .leaderboard-item,
body.acp-motion-ready .news-list > *,
body.acp-motion-ready .top-players > *,
body.acp-motion-ready .players-table tbody tr {
    opacity: 0;
    transform: translate3d(0, 26px, 0);
    filter: blur(3px);
    transition:
        opacity 650ms cubic-bezier(.2,.72,.22,1),
        transform 650ms cubic-bezier(.2,.72,.22,1),
        filter 650ms cubic-bezier(.2,.72,.22,1);
}

body.acp-motion-ready .news-card.is-visible,
body.acp-motion-ready .news-item.is-visible,
body.acp-motion-ready .article-card.is-visible,
body.acp-motion-ready .player-row.is-visible,
body.acp-motion-ready .top-player-card.is-visible,
body.acp-motion-ready .leaderboard-row.is-visible,
body.acp-motion-ready .leaderboard-item.is-visible,
body.acp-motion-ready .news-list > *.is-visible,
body.acp-motion-ready .top-players > *.is-visible,
body.acp-motion-ready .players-table tbody tr.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
}

@media (prefers-reduced-motion: reduce) {
    body.acp-motion-ready .news-card,
    body.acp-motion-ready .news-item,
    body.acp-motion-ready .article-card,
    body.acp-motion-ready .player-row,
    body.acp-motion-ready .top-player-card,
    body.acp-motion-ready .leaderboard-row,
    body.acp-motion-ready .leaderboard-item,
    body.acp-motion-ready .news-list > *,
    body.acp-motion-ready .top-players > *,
    body.acp-motion-ready .players-table tbody tr {
        opacity: 1;
        transform: none;
        filter: none;
        transition: none;
    }
}



/* Archive SCP — появление целых карточек статистики и топа */
.acp-whole-reveal {
    opacity: 0;
    transform: translate3d(0, 30px, 0) scale(.985);
    filter: blur(3px);
    transition:
        opacity .7s cubic-bezier(.2,.72,.22,1),
        transform .7s cubic-bezier(.2,.72,.22,1),
        filter .7s cubic-bezier(.2,.72,.22,1);
    will-change: opacity, transform, filter;
}

.acp-whole-reveal.acp-whole-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0);
}

@media (prefers-reduced-motion: reduce) {
    .acp-whole-reveal {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        transition: none !important;
    }
}


/* FIX: не изменять оформление страницы правил */
body:has(a[href="/rules/"]) .acp-whole-reveal {
    filter: none;
}
