* {
    box-sizing: border-box;
}

:root {
    --yellow: #ffd400;
    --yellow-dark: #c6a300;
    --black: #070708;
    --surface: #111113;
    --surface-2: #18181b;
    --border: #303036;
    --white: #ffffff;
    --muted: #b8b8bf;
}

html,
body {
    margin: 0 !important;
    min-height: 100%;
    background: var(--black) !important;
    color: var(--white) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px;
    line-height: 1.55;
}

body {
    padding: 0 24px 70px !important;
}

body > header,
body > nav {
    margin-left: -24px !important;
    margin-right: -24px !important;
    padding: 24px max(24px, calc((100vw - 1180px) / 2)) !important;
    background: #030303 !important;
    border-bottom: 1px solid #202024 !important;
}

header nav {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

nav {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px;
}

nav a:first-child::before {
    content: "Я";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-right: 14px;
    border-radius: 15px;
    background: var(--yellow);
    color: #ffffff;
    font-size: 30px;
    font-weight: 900;
    vertical-align: middle;
}

body > :not(header):not(nav):not(footer):not(script) {
    width: 100%;
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

a {
    color: var(--yellow) !important;
    text-decoration: none !important;
    font-weight: 600;
}

a:hover {
    color: #ffe766 !important;
}

a[href*="login"],
a[href*="signin"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 10px 24px;
    border-radius: 14px;
    background: var(--yellow) !important;
    color: #111111 !important;
    font-weight: 800;
}

h1 {
    margin: 54px 0 22px !important;
    color: var(--white) !important;
    font-size: clamp(44px, 6vw, 72px) !important;
    line-height: 1.02 !important;
    letter-spacing: -2px;
}

h2 {
    margin: 34px 0 18px !important;
    color: var(--white) !important;
    font-size: clamp(28px, 3vw, 38px) !important;
    line-height: 1.15 !important;
}

h3 {
    margin: 24px 0 14px !important;
    color: var(--yellow) !important;
    font-size: 23px !important;
}

p {
    color: var(--muted) !important;
    font-size: 18px;
}

strong,
b {
    color: var(--white) !important;
}

section,
article,
.card,
.panel {
    margin: 28px 0 !important;
    padding: 30px !important;
    border: 1px solid var(--border) !important;
    border-radius: 24px !important;
    background:
        radial-gradient(
            circle at top right,
            rgba(255, 212, 0, 0.06),
            transparent 42%
        ),
        var(--surface) !important;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.25);
}

section:first-of-type,
article:first-of-type {
    border-color: rgba(255, 212, 0, 0.35) !important;
}

dl {
    margin: 18px 0;
}

dt {
    margin-top: 18px;
    color: var(--yellow-dark) !important;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

dd {
    margin: 4px 0 14px;
    color: var(--white) !important;
    font-size: 18px;
    font-weight: 700;
}

table {
    width: 100%;
    border-collapse: collapse;
    overflow: hidden;
    border-radius: 16px;
    background: var(--surface);
    color: var(--white);
}

th,
td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--border);
    text-align: left;
}

th {
    color: var(--yellow);
}

button,
input[type="submit"],
.button {
    min-height: 50px;
    padding: 11px 24px;
    border: 0;
    border-radius: 14px;
    background: var(--yellow) !important;
    color: #101010 !important;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
}

input,
textarea,
select {
    padding: 12px 14px;
    border: 1px solid var(--border) !important;
    border-radius: 12px;
    background: var(--surface-2) !important;
    color: var(--white) !important;
}

footer {
    max-width: 1180px;
    margin: 45px auto 0 !important;
    padding: 26px !important;
    border-top: 1px solid var(--border);
    color: var(--muted) !important;
}

@media (max-width: 700px) {
    body {
        padding: 0 20px 55px !important;
    }

    body > header,
    body > nav {
        margin-left: -20px !important;
        margin-right: -20px !important;
        padding: 22px 20px !important;
    }

    nav {
        gap: 12px;
    }

    nav a:first-child::before {
        width: 48px;
        height: 48px;
        margin-right: 10px;
        font-size: 27px;
    }

    h1 {
        margin-top: 44px !important;
        font-size: 48px !important;
        letter-spacing: -1.5px;
    }

    section,
    article,
    .card,
    .panel {
        padding: 24px !important;
        border-radius: 22px !important;
    }

    p {
        font-size: 17px;
    }
}
