@font-face {
    font-family: "Lilita One Local";
    src: url("../jogar/assets/font/lilita-one.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: "Titan One Local";
    src: url("../jogar/assets/font/titan-one.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
}

:root {
    --bg: #191a17;
    --panel: #252623;
    --panel-soft: #30322d;
    --panel-strong: #11130f;
    --line: #4ed13f;
    --line-soft: rgba(78, 209, 63, 0.22);
    --text: #f6f4f1;
    --muted: #bdb8b3;
    --green: #43d13d;
    --green-dark: #2ba728;
    --gold: #ffd447;
    --danger: #e93636;
    --shadow: 0 24px 70px rgba(0, 0, 0, 0.36);
    --radius-lg: 22px;
    --radius-md: 16px;
    --shell-max-width: 430px;
    --shell-content-max: 520px;
    --shell-gutter: 13px;
    --shell-section-gap: 26px;
    --shell-block-gap: 18px;
    --shell-card-gap: 13px;
    --shell-panel-gap: 16px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    min-height: 100%;
    background-color: #171717;
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    margin: 0;
    min-height: 100vh;
    background-color: #171717;
    background:
        radial-gradient(circle at 50% -12%, rgba(78, 209, 63, 0.16), transparent 26%),
        radial-gradient(circle at 8% 18%, rgba(255, 212, 71, 0.06), transparent 24%),
        linear-gradient(180deg, #10130f 0%, var(--bg) 52%, #11120f 100%);
    color: var(--text);
    font-family: "Trebuchet MS", Verdana, sans-serif;
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body.modal-open {
    overflow: hidden;
    overflow-x: hidden;
    overscroll-behavior: none;
}

[hidden] {
    display: none !important;
}

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

a {
    color: inherit;
    text-decoration: none;
}

img {
    display: block;
    max-width: 100%;
}

.page-shell {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100vh;
    margin: 0 auto;
    background-color: #171717;
    background:
        radial-gradient(circle at top left, rgba(78, 209, 63, 0.07), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0));
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.025),
        var(--shadow);
}

.top-strip,
.app-header,
.content-stack {
    width: min(100%, var(--shell-content-max));
    margin-inline: auto;
}

.top-strip {
    --top-strip-accent: #0b78d0;
    --top-strip-text: #ffffff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 9px var(--shell-gutter);
    background-color: var(--top-strip-accent);
    background-image: linear-gradient(110deg, rgba(0, 0, 0, 0.12), rgba(255, 255, 255, 0.14) 58%, rgba(255, 255, 255, 0.04));
    color: var(--top-strip-text);
    box-shadow: inset 0 -1px 0 rgba(3, 20, 38, 0.18);
    transition: background-color 620ms ease, color 420ms ease, box-shadow 620ms ease;
}

.top-strip[data-banner-accent="blue"] {
    --top-strip-accent: #0b78d0;
    --top-strip-text: #ffffff;
}

.top-strip[data-banner-accent="yellow"] {
    --top-strip-accent: #ffc735;
    --top-strip-text: #18283d;
    box-shadow: inset 0 -1px 0 rgba(113, 70, 0, 0.2);
}

.top-strip[data-banner-accent="green"] {
    --top-strip-accent: #32c94f;
    --top-strip-text: #ffffff;
}

.top-strip[data-banner-accent="purple"] {
    --top-strip-accent: #6d28d9;
    --top-strip-text: #ffffff;
}

.top-strip[data-banner-accent="lilac"] {
    --top-strip-accent: #9b63df;
    --top-strip-text: #ffffff;
}

@media (prefers-reduced-motion: reduce) {
    .top-strip {
        transition: none;
    }
}

.top-strip p {
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
    font-weight: 700;
    line-height: 1.2;
    font-size: 12px;
    max-width: none;
}

.top-strip a,
.top-strip button {
    flex-shrink: 0;
    white-space: nowrap;
    padding: 8px 13px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    color: var(--green-dark);
    font-size: 12px;
    font-weight: 800;
    border: 0;
    cursor: pointer;
    box-shadow: inset 0 -1px 0 rgba(43, 167, 40, 0.12);
}

.app-header {
    padding: 14px var(--shell-gutter) 12px;
    border-bottom: 1px solid var(--line-soft);
    background:
        radial-gradient(circle at left top, rgba(78, 209, 63, 0.09), transparent 40%),
        linear-gradient(135deg, rgba(38, 78, 34, 0.28), rgba(18, 19, 17, 0.6));
    position: relative;
}

.header-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.brand {
    display: inline-flex;
    align-items: center;
    width: clamp(92px, 25vw, 122px);
    transform: translateY(4px);
}

.brand img {
    width: 100%;
    height: auto;
    aspect-ratio: auto;
    object-fit: contain;
    filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.22));
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}

.header-menu-group {
    position: relative;
    display: flex;
    align-items: center;
    gap: 6px;
}

.header-menu-toggle {
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 11px;
    background: rgba(78, 209, 63, 0.2);
    color: #ebffe9;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    transition: transform 160ms ease, background 160ms ease;
}

.header-menu-toggle.is-open {
    transform: rotate(180deg);
    background: rgba(78, 209, 63, 0.34);
}

.header-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 12;
    width: 190px;
    padding: 7px;
    border-radius: 17px;
    border: 1px solid rgba(54, 145, 211, 0.28);
    display: grid;
    gap: 4px;
    isolation: isolate;
    overflow: hidden;
    background:
        radial-gradient(circle at 100% 0%, rgba(11, 120, 208, 0.16), transparent 46%),
        linear-gradient(180deg, #0b2943 0%, #06121f 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.07),
        inset 0 -1px 0 rgba(3, 12, 22, 0.76),
        0 6px 0 rgba(3, 17, 31, 0.72),
        0 18px 34px rgba(0, 0, 0, 0.34);
    transform-origin: top right;
}

.header-dropdown::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    right: 10px;
    left: 10px;
    height: 2px;
    border-radius: 0 0 999px 999px;
    background: linear-gradient(90deg, transparent, rgba(32, 151, 231, 0.82) 42%, rgba(255, 201, 43, 0.72));
    pointer-events: none;
}

.header-dropdown[hidden] {
    display: none !important;
}

.header-dropdown:not([hidden]) {
    animation: header-menu-reveal 170ms cubic-bezier(0.2, 0.82, 0.3, 1) both;
}

.header-dropdown-item {
    width: 100%;
    min-height: 40px;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    padding: 5px 8px;
    border: 1px solid transparent;
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.018);
    color: rgba(246, 251, 255, 0.92);
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    text-align: left;
    text-decoration: none;
    text-shadow: 0 1px 1px rgba(1, 10, 20, 0.44);
    cursor: pointer;
    transition: transform 130ms ease, border-color 130ms ease, background 130ms ease, color 130ms ease;
}

.header-dropdown-item:hover,
.header-dropdown-item:focus-visible {
    border-color: rgba(85, 172, 232, 0.2);
    background: linear-gradient(180deg, rgba(28, 112, 174, 0.34), rgba(13, 66, 108, 0.38));
    color: #ffffff;
    transform: translateX(2px);
}

.header-dropdown-item:focus-visible {
    outline: 2px solid rgba(255, 211, 67, 0.72);
    outline-offset: -2px;
}

.header-dropdown-item:active {
    transform: translateX(2px) translateY(1px);
}

.header-dropdown-icon {
    width: 28px;
    height: 28px;
    display: inline-grid;
    place-items: center;
    border: 1px solid rgba(77, 160, 219, 0.15);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(24, 105, 166, 0.2), rgba(7, 48, 82, 0.24));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045);
    font-size: 14px;
    line-height: 1;
    filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.24));
}

.header-dropdown-label {
    min-width: 0;
    line-height: 1.15;
}

.header-dropdown-item--logout {
    margin-top: 3px;
    border-top-color: rgba(255, 255, 255, 0.065);
    color: rgba(226, 235, 243, 0.82);
}

@keyframes header-menu-reveal {
    from {
        opacity: 0;
        transform: translateY(-5px) scale(0.975);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    .header-dropdown:not([hidden]) {
        animation: none;
    }
}

.deposit-button,
.account-button,
.hero-primary,
.hero-secondary {
    border-radius: 11px;
    font-weight: 800;
    transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.deposit-button,
.hero-primary {
    background: linear-gradient(180deg, #57dd4c, #31bf2b);
    color: #f6fff5;
    box-shadow: 0 8px 18px rgba(67, 209, 61, 0.16);
}

.account-button,
.hero-secondary {
    background: rgba(255, 255, 255, 0.08);
    color: var(--text);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.deposit-button,
.account-button {
    min-height: 36px;
    padding: 8px 13px;
    border: 0;
    cursor: pointer;
}

.deposit-button {
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 0.02em;
    box-shadow: 0 6px 14px rgba(67, 209, 61, 0.14);
}

.account-button {
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(255, 255, 255, 0.06);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.balance-pill {
    display: grid;
    grid-template-columns: 72px max-content;
    justify-content: end;
    align-items: center;
    column-gap: 8px;
    row-gap: 6px;
    margin-top: 10px;
    color: var(--muted);
    font-size: 12.5px;
}

.balance-pill strong,
.balance-pill small {
    display: block;
}

.balance-pill strong {
    color: var(--text);
    font-size: 11px;
    letter-spacing: 0.01em;
}

.balance-pill small {
    color: #ffd76e;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.balance-pill__item {
    width: 100%;
    min-height: 26px;
    padding: 5px 10px;
    border-radius: 10px;
    display: inline-flex !important;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    box-sizing: border-box;
    text-align: left;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.balance-pill__item b,
.balance-pill__item em {
    display: block;
    font-style: normal;
}

.balance-pill__item b {
    font-size: 14px;
    line-height: 1;
}

.balance-pill__item em {
    font-weight: 800;
    letter-spacing: 0.01em;
    line-height: 1;
}

.balance-pill__item--coins {
    width: auto;
    background: rgba(17, 24, 20, 0.68);
    color: #fff8e6 !important;
    grid-column: 2;
    grid-row: 1;
}

.balance-pill__item--coins em {
    color: #fff8e6;
    font-size: 13px;
}

.balance-pill__item--boards {
    background: rgba(17, 24, 20, 0.68);
    color: #fff8e6 !important;
    grid-column: 1;
    grid-row: 1;
}

.balance-pill__item--boards em {
    color: #fff8e6;
    font-size: 13px;
}

.content-stack {
    display: grid;
    gap: var(--shell-section-gap);
    padding: 14px var(--shell-gutter) 32px;
}

.hero-card {
    display: grid;
    gap: var(--shell-panel-gap);
}

.hero-banner {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(78, 209, 63, 0.34);
    box-shadow:
        0 18px 34px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
    background: #1d1c1c;
}

@media (max-width: 991px) {
    .hero-card {
        width: 100vw;
        margin-inline: calc(50% - 50vw);
    }

    .hero-banner {
        border-right: 0;
        border-left: 0;
        border-radius: 0;
    }
}

.hero-banner::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(0, 0, 0, 0.02), transparent 52%, rgba(0, 0, 0, 0.18)),
        linear-gradient(90deg, rgba(78, 209, 63, 0.08), transparent 18%, transparent 82%, rgba(78, 209, 63, 0.08));
}

.hero-track {
    position: relative;
    min-height: auto;
    aspect-ratio: 2 / 1;
    background:
        radial-gradient(circle at center, rgba(78, 209, 63, 0.1), transparent 52%),
        linear-gradient(180deg, rgba(9, 12, 10, 0.92), rgba(18, 26, 19, 0.96));
}

.hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 360ms ease, visibility 360ms ease;
}

.hero-slide.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 1;
}

.hero-slide-media-frame {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background:
        radial-gradient(circle at center, rgba(255, 255, 255, 0.08), transparent 38%),
        linear-gradient(180deg, rgba(11, 16, 12, 0.98), rgba(18, 28, 19, 0.98));
}

.hero-slide-media-frame img,
.hero-slide-media-frame video,
.hero-slide-media-frame iframe {
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: contain;
    object-position: center center;
    background: transparent;
}

.hero-slide-media-frame iframe {
    background: #11130f;
}

.hero-arrows {
    position: absolute;
    inset: 50% 10px auto 10px;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    z-index: 2;
}

.hero-arrow {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 0;
    background: transparent;
    border: 0;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    -webkit-text-stroke: 0.7px rgba(10, 16, 22, 0.5);
    backdrop-filter: none;
}

.hero-dots {
    position: absolute;
    left: 50%;
    bottom: 10px;
    display: flex;
    gap: 6px;
    transform: translateX(-50%);
    z-index: 2;
}

.hero-dots button {
    width: 18px;
    height: 2px;
    padding: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.3);
    border: 0;
    cursor: pointer;
    transition: width 220ms ease, background-color 220ms ease, opacity 220ms ease;
}

.hero-dots .is-active {
    width: 30px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: none;
}

.section-block,
.faq-section {
    display: grid;
    gap: var(--shell-block-gap);
}

.section-title {
    display: flex;
    align-items: center;
    gap: 9px;
}

.section-title h2 {
    margin: 0;
    font-family: "Lilita One Local", Arial, sans-serif;
    letter-spacing: 0.04em;
    font-size: clamp(29px, 8vw, 34px);
    line-height: 0.92;
    text-transform: uppercase;
    text-shadow: 0 4px 0 rgba(0, 0, 0, 0.36);
    text-wrap: balance;
}

.section-icon {
    display: inline-block;
    font-size: 20px;
}

.section-title .section-icon {
    transform-origin: 50% 85%;
}

.section-title .section-icon:first-child {
    animation: trophy-wiggle 1.9s ease-in-out infinite;
}

@keyframes trophy-wiggle {
    0%,
    100% {
        transform: rotate(0deg) scale(1);
    }

    18% {
        transform: rotate(-9deg) scale(1.08);
    }

    36% {
        transform: rotate(8deg) scale(1.14);
    }

    52% {
        transform: rotate(-5deg) scale(1.1);
    }

    68% {
        transform: rotate(4deg) scale(1.16);
    }
}

.games-featured-section {
    width: 100%;
    margin-top: 24px;
}

.games-featured-section .section-title {
    gap: 7px;
}

.games-featured-section .section-title h2 {
    font-size: clamp(23px, 6.3vw, 27px);
}

.games-featured-section .section-icon {
    font-size: 16px;
}

.featured-game-stage {
    display: flex;
    width: 100%;
}

.featured-game-stage .game-card--featured {
    flex: 0 0 calc((100% - var(--shell-card-gap)) / 2);
    width: calc((100% - var(--shell-card-gap)) / 2);
    border-color: rgba(78, 209, 63, 0.42);
    box-shadow:
        0 18px 32px rgba(0, 0, 0, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.games-carousel-section {
    min-width: 0;
    gap: 9px;
    margin-bottom: 24px;
}

.games-carousel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.games-carousel-heading .section-title {
    gap: 7px;
}

.games-carousel-heading .section-title h2 {
    font-size: clamp(19px, 5.4vw, 23px);
}

.games-carousel-heading .section-icon {
    font-size: 15px;
}

.premium-games-unlock {
    flex: 0 0 auto;
}

.premium-games-unlock--carousel {
    position: absolute;
    z-index: 6;
    top: 50%;
    right: 10px;
    width: clamp(138px, 42%, 180px);
    animation: games-carousel-unlock-reveal 280ms 110ms cubic-bezier(0.2, 0.85, 0.3, 1.18) both;
}

.premium-games-unlock--carousel[hidden] {
    display: none !important;
}

@keyframes games-carousel-unlock-reveal {
    from {
        opacity: 0;
        transform: translateY(calc(-50% - 7px)) scale(0.9);
    }

    to {
        opacity: 1;
        transform: translateY(-50%) scale(1);
    }
}

.games-carousel-shell {
    position: relative;
    min-width: 0;
}

.games-carousel-control {
    position: absolute;
    z-index: 4;
    top: 50%;
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    padding: 0 0 2px;
    border: 0;
    border-radius: 50%;
    color: #fff;
    appearance: none;
    -webkit-appearance: none;
    font-family: Arial, sans-serif;
    font-size: 34px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
    transition: opacity 160ms ease, transform 160ms ease, filter 160ms ease;
}

.games-carousel-control:hover:not(:disabled) {
    transform: translateY(-50%) scale(1.06);
    filter: brightness(1.08);
}

.games-carousel-control:disabled {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    cursor: default;
}

.games-carousel-control:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.78);
    outline-offset: 3px;
}

.games-carousel-control--previous {
    left: 7px;
}

.games-carousel-control--previous:not(:disabled) {
    animation: games-carousel-hint-previous 1.55s ease-in-out infinite;
}

.games-carousel-control--next {
    left: auto;
    right: 7px;
}

.games-carousel-control--next:not(:disabled) {
    animation: games-carousel-hint 1.55s ease-in-out infinite;
}

.games-carousel-shell.has-interacted .games-carousel-control:not(:disabled),
.games-carousel-control--next.is-at-end {
    animation: none;
    filter: none;
}

.games-carousel-control--next.is-at-end {
    pointer-events: none;
    transform: translateY(-50%) translateX(7px) scale(0.92);
}

@keyframes games-carousel-hint {
    0%,
    100% {
        filter: brightness(1) drop-shadow(0 0 3px rgba(255, 193, 35, 0.38));
        transform: translateY(-50%) translateX(0);
    }

    48% {
        filter: brightness(1.08) drop-shadow(0 0 9px rgba(255, 193, 35, 0.82));
        transform: translateY(-50%) translateX(5px) scale(1.08);
    }
}

@keyframes games-carousel-hint-previous {
    0%,
    100% {
        filter: brightness(1) drop-shadow(0 0 3px rgba(255, 193, 35, 0.38));
        transform: translateY(-50%) translateX(0);
    }

    48% {
        filter: brightness(1.08) drop-shadow(0 0 9px rgba(255, 193, 35, 0.82));
        transform: translateY(-50%) translateX(-5px) scale(1.08);
    }
}

.games-carousel {
    --games-carousel-card-width: calc(42.55% - 11px);
    display: flex;
    gap: var(--shell-card-gap);
    width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 2px 2px 10px;
    scroll-padding-inline: 2px;
    scroll-snap-type: none;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.games-carousel::-webkit-scrollbar {
    display: none;
}

.games-carousel .game-card {
    flex: 0 0 var(--games-carousel-card-width);
    width: var(--games-carousel-card-width);
    min-height: 0;
    aspect-ratio: 0.92 / 1;
    scroll-snap-align: start;
}

.games-carousel .game-card:last-of-type {
    flex-basis: var(--games-carousel-card-width);
    width: var(--games-carousel-card-width);
    aspect-ratio: 0.92 / 1;
    scroll-snap-align: none;
}

.games-carousel .game-card:last-of-type::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        rgba(0, 0, 0, 0.07) 0%,
        rgba(0, 0, 0, 0.22) 18%,
        rgba(0, 0, 0, 0.62) 38%,
        rgba(0, 0, 0, 0.88) 55%,
        rgba(0, 0, 0, 0.98) 78%,
        #000 100%
    );
}

.game-card {
    position: relative;
    min-height: clamp(192px, 41vw, 248px);
    overflow: hidden;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(78, 209, 63, 0.3);
    background:
        radial-gradient(circle at top, rgba(255, 255, 255, 0.06), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(0, 0, 0, 0.22));
    box-shadow: 0 14px 26px rgba(0, 0, 0, 0.18);
    transform: translateZ(0);
}

.game-card-button {
    padding: 0;
    width: 100%;
    text-align: left;
    color: inherit;
    border: 0;
    cursor: pointer;
}

.game-card--interactive {
    cursor: pointer;
    outline: none;
}

.game-card--interactive img {
    transition: transform 240ms ease, filter 240ms ease;
}

.game-card--interactive video {
    transition: transform 240ms ease, filter 240ms ease;
}

.game-card--featured img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.game-card--featured video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    background: #000;
}

.game-overlay {
    position: absolute;
    inset: auto 0 0 0;
    display: grid;
    gap: 6px;
    padding: 32px 14px 14px 12px;
    background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.88));
}

.game-overlay strong,
.placeholder-label {
    font-family: "Lilita One Local", Arial, sans-serif;
    font-size: 23px;
    text-transform: uppercase;
}

.game-overlay strong {
    max-width: 100%;
    font-size: clamp(15px, 4.55vw, 22px);
    line-height: 0.92;
    white-space: normal;
    text-wrap: balance;
}

.game-overlay span {
    display: block;
    max-width: 100%;
    color: #c3ffc1;
    font-weight: 700;
    font-size: clamp(10px, 2.95vw, 12px);
    line-height: 1.2;
}

.game-card-actions {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: grid;
    align-content: center;
    gap: 18px;
    padding: 22px 14px;
    background:
        radial-gradient(circle at center, rgba(78, 209, 63, 0.08), transparent 54%),
        linear-gradient(180deg, rgba(18, 18, 18, 0.14), rgba(18, 18, 18, 0.64));
    opacity: 0;
    visibility: hidden;
    transition: opacity 220ms ease, visibility 220ms ease;
}

.game-card--interactive.is-revealed .game-card-actions {
    opacity: 1;
    visibility: visible;
}

.game-card--interactive.is-revealed img {
    transform: scale(1.04);
    filter: blur(2px) saturate(0.92);
}

.game-card--interactive.is-revealed video {
    transform: scale(1.04);
    filter: blur(2px) saturate(0.92);
}

.game-card--interactive.is-revealed .game-overlay {
    opacity: 0.14;
}

.game-card-action {
    min-height: 82px;
    display: grid;
    place-items: center;
    padding: 14px 12px;
    border: 0;
    border-radius: 18px;
    text-align: center;
    font-family: "Lilita One Local", Arial, sans-serif;
    font-size: 29px;
    line-height: 0.94;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    cursor: pointer;
    touch-action: manipulation;
}

.game-card-action--primary {
    --power-height: 94px;
    --power-padding-x: 12px;
    --power-padding-top: 18px;
    --power-padding-bottom: 18px;
    --power-radius: 17px;
    --power-edge-width: 0.9px;
    --power-font-size: 34px;
    --power-lip-offset: 7px;
    --power-base-offset: 9px;
    --power-shadow-blur: 14px;
    width: 100%;
}

.game-card-action--secondary {
    width: 78%;
    min-height: 58px;
    justify-self: center;
    padding: 9px 12px;
    background: rgba(255, 255, 255, 0.14);
    color: #f7f5ff;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 13px;
    font-size: 21px;
    box-shadow: 0 7px 14px rgba(0, 0, 0, 0.16);
}

.game-card-action--secondary:hover {
    transform: translateY(-1px);
}

.game-card--placeholder {
    display: grid;
    place-items: center;
    padding: 0;
    text-align: center;
}

.game-card--placeholder::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.62));
}

.game-card--placeholder img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(0.9) brightness(0.76);
    transform: scale(1.02);
}

.game-card--placeholder video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    background: #000;
    filter: saturate(0.9) brightness(0.76);
    transform: scale(1.02);
}

.game-card--placeholder span,
.placeholder-label {
    position: relative;
    z-index: 2;
}

.game-card--placeholder span {
    align-self: end;
    margin: 0 0 16px;
    padding: 0 8px;
    font-size: clamp(13px, 3.6vw, 16px);
    font-weight: 700;
    color: rgba(255, 255, 255, 0.82);
}

.game-card--placeholder .placeholder-label {
    align-self: center;
    padding: 8px 10px;
    color: #fff;
    text-shadow: 0 4px 0 rgba(0, 0, 0, 0.36);
}

.game-card--premium-locked::before {
    z-index: 2;
    background:
        radial-gradient(circle at center, rgba(35, 49, 59, 0.18), transparent 38%),
        linear-gradient(180deg, rgba(5, 10, 14, 0.38), rgba(4, 8, 12, 0.72));
}

.game-card--premium-locked img,
.game-card--premium-locked video {
    filter: saturate(0.58) brightness(0.48) contrast(1.03);
}

.premium-game-lock {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    width: 34px;
    height: 40px;
    color: rgba(229, 236, 239, 0.72);
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.46));
    transform: translate(-50%, -50%);
    transition: opacity 180ms ease, transform 180ms ease, filter 180ms ease;
}

.games-carousel-shell.is-at-end .game-card:nth-last-child(-n + 2) .premium-game-lock {
    opacity: 0.22;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.28));
    transform: translate(-50%, -50%) scale(0.9);
}

.game-card--candy::before {
    background: linear-gradient(180deg, rgba(255, 82, 143, 0.12), rgba(0, 0, 0, 0.66));
}

.game-card--fruit::before {
    background: linear-gradient(180deg, rgba(105, 221, 83, 0.12), rgba(0, 0, 0, 0.66));
}

.winners-showcase {
    width: min(100%, calc(100vw - var(--shell-gutter) - var(--shell-gutter)));
    margin-inline: auto;
    overflow: hidden;
    border: 2px solid #162b52;
    border-radius: 14px;
    background: #10274d;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.3);
}

.winners-prize-banner {
    position: relative;
    min-height: clamp(142px, 34.1vw, 166px);
    overflow: hidden;
    border-bottom: 4px solid #173465;
    background-color: #ff9f0b;
    background-image: url("./winners-prizes-banner.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.winners-prize-content {
    position: absolute;
    z-index: 1;
    inset: 0 auto 0 0;
    width: 66%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(9px, 2.5vw, 13px);
    padding: 13px 7px 13px 12px;
    text-align: center;
}

.winners-prize-content h2 {
    width: min(100%, 250px);
    margin: 0;
    font-family: "Lilita One Local", "Trebuchet MS", sans-serif;
    font-weight: 1000;
    line-height: 0.98;
    letter-spacing: 0.01em;
    text-wrap: balance;
}

.winners-prize-title__lead,
.winners-prize-title__main {
    display: block;
}

.winners-prize-title__lead {
    margin-bottom: 3px;
    color: #fff;
    font-size: clamp(18px, 5vw, 24px);
    text-shadow:
        -1px -1px 0 #4d342b,
        1px -1px 0 #4d342b,
        -1px 1px 0 #4d342b,
        1px 1px 0 #4d342b,
        0 2px 0 rgba(77, 52, 43, 0.72);
}

.winners-prize-title__main {
    color: #7a250d;
    font-size: clamp(16px, 4.4vw, 21px);
    text-shadow: 0 1px 0 rgba(255, 216, 91, 0.68);
}

.winners-prize-counter {
    position: relative;
    width: min(92%, 224px);
    height: clamp(47px, 12.4vw, 60px);
    overflow: hidden;
    border: 3px solid #f1f2df;
    border-radius: 10px;
    background:
        linear-gradient(180deg, #43a535 0%, #33952a 48%, #2a8422 100%);
    box-shadow:
        inset 0 0 0 2px #277b21,
        inset 0 2px 0 rgba(255, 255, 255, 0.13),
        inset 0 -2px 0 rgba(24, 92, 19, 0.28),
        0 0 0 2px #2b465d,
        -1px 6px 0 2px #93580f,
        0 9px 8px rgba(103, 50, 6, 0.2);
    perspective: 500px;
}

.winners-prize-counter::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 7px;
    left: 9px;
    right: 24px;
    height: 13px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.1));
    opacity: 0.52;
    pointer-events: none;
}

.winners-prize-counter::after {
    content: "";
    position: absolute;
    z-index: 3;
    top: 8px;
    right: 8px;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.22);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
    pointer-events: none;
}

.winners-prize-counter__face {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: grid;
    place-items: center;
    color: #fff;
    font-family: "Lilita One Local", "Trebuchet MS", sans-serif;
    font-size: clamp(20px, 6vw, 29px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.01em;
    text-shadow:
        -1px -1px 0 #29445d,
        1px -1px 0 #29445d,
        -1px 1px 0 #29445d,
        1px 1px 0 #29445d,
        0 2px 0 #29445d;
    backface-visibility: hidden;
    transform-origin: center;
}

.winners-prize-counter__face--next {
    opacity: 0;
    transform: rotateX(90deg);
}

.winners-prize-counter.is-flipping .winners-prize-counter__face--current {
    animation: prize-counter-flip-out 680ms cubic-bezier(0.35, 0, 0.2, 1) both;
}

.winners-prize-counter.is-flipping .winners-prize-counter__face--next {
    animation: prize-counter-flip-in 680ms cubic-bezier(0.35, 0, 0.2, 1) both;
}

@keyframes prize-counter-flip-out {
    0%, 42% {
        opacity: 1;
        transform: rotateX(0deg);
    }

    58%, 100% {
        opacity: 0;
        transform: rotateX(-90deg);
    }
}

@keyframes prize-counter-flip-in {
    0%, 42% {
        opacity: 0;
        transform: rotateX(90deg);
    }

    58%, 100% {
        opacity: 1;
        transform: rotateX(0deg);
    }
}

/* Mural superior: cena premium inspirada no placar de conquistas. */
.winners-section--comparison {
    margin-bottom: 74px;
}

.winners-section--comparison .winners-showcase {
    width: 100%;
    max-width: none;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.winners-section--comparison .winners-prize-banner {
    min-height: clamp(220px, 31vw, 360px);
    border-bottom: 0;
    background-color: transparent;
    background-image:
        url("./winners-kingcoin.png"),
        linear-gradient(
            0deg,
            rgba(8, 112, 184, 1) 0%,
            rgba(8, 112, 184, 0.98) 18%,
            rgba(11, 103, 165, 0.82) 42%,
            rgba(11, 103, 165, 0.34) 73%,
            rgba(11, 103, 165, 0) 100%
        );
    background-position: right bottom, center bottom;
    background-repeat: no-repeat;
    background-size: auto 100%, 100% clamp(96px, 18vw, 200px);
    box-shadow: none;
}

.winners-section--comparison .winners-prize-banner::before {
    display: none;
}

.winners-section--comparison .winners-list {
    background: #0b67a5;
}

.winners-section--comparison .winners-prize-content {
    z-index: 2;
    width: 62%;
    align-items: flex-start;
    gap: clamp(10px, 2.7vw, 14px);
    padding: 18px 4px 39px clamp(14px, 4vw, 24px);
    text-align: left;
}

.winners-section--comparison .winners-prize-content h2 {
    width: min(72vw, 340px);
    margin-left: clamp(4px, 0.8vw, 10px);
    text-wrap: balance;
}

.winners-section--comparison .winners-prize-title__lead {
    margin-bottom: 4px;
    color: #fff;
    font-size: clamp(24px, 6.2vw, 34px);
    text-shadow:
        -1px -1px 0 #12375d,
        1px -1px 0 #12375d,
        -1px 1px 0 #12375d,
        1px 1px 0 #12375d,
        0 3px 0 rgba(8, 37, 70, 0.76),
        0 6px 11px rgba(0, 23, 55, 0.32);
}

.winners-section--comparison .winners-prize-title__main {
    color: #ffd02b;
    font-size: clamp(20px, 5.4vw, 29px);
    line-height: 1.03;
    text-shadow:
        -1px -1px 0 #15365a,
        1px -1px 0 #15365a,
        -1px 1px 0 #15365a,
        1px 1px 0 #15365a,
        0 2px 0 #15365a,
        0 5px 10px rgba(0, 20, 52, 0.34),
        0 0 5px rgba(255, 199, 53, 0.14);
}

.winners-section--comparison .winners-prize-counter {
    width: min(100%, 244px);
    height: clamp(48px, 12vw, 61px);
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    perspective: 500px;
}

.winners-section--comparison .winners-prize-counter::before {
    display: none;
}

.winners-section--comparison .winners-prize-counter::after {
    display: none;
}

.winners-prize-counter__money {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 0;
    width: clamp(76px, 19vw, 96px);
    height: clamp(62px, 15.5vw, 78px);
    object-fit: contain;
    overflow: visible;
    filter:
        drop-shadow(0 3px 0 rgba(6, 24, 45, 0.85))
        drop-shadow(0 8px 7px rgba(0, 13, 35, 0.38));
    transform: translateY(-51%);
}

.winners-section--comparison .winners-prize-counter__face {
    z-index: 2;
    inset: 0 0 0 clamp(70px, 17.5vw, 90px);
    place-items: center start;
    color: #fff;
    font-size: clamp(28px, 7.6vw, 39px);
    letter-spacing: 0.015em;
    text-shadow:
        -1.5px -1.5px 0 #122743,
        1.5px -1.5px 0 #122743,
        -1.5px 1.5px 0 #122743,
        1.5px 1.5px 0 #122743,
        0 3px 0 #122743,
        0 7px 12px rgba(0, 20, 51, 0.46);
}

.winners-prize-rail {
    position: absolute;
    z-index: 4;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 2px;
    height: clamp(27px, 5.2vw, 48px);
    border-top: 0;
    border-bottom: 2px solid #172743;
    background: #0870b8;
    box-shadow:
        0 2px 0 #0b4f88,
        0 4px 6px rgba(0, 30, 67, 0.2);
}

.winners-prize-rail span {
    --winner-rail-bevel-x: clamp(5px, 1.2vw, 8px);
    --winner-rail-bevel-y: clamp(6px, 1.35vw, 9px);
    position: relative;
    min-width: 0;
    border: 0;
    background:
        linear-gradient(
            180deg,
            #fff15a 0%,
            #ffe53a 13%,
            #ffd32a 42%,
            #ffc120 76%,
            #efa00d 100%
        );
    box-shadow:
        inset 0 2px 0 rgba(255, 250, 151, 0.72),
        inset 0 -2px 0 rgba(197, 104, 0, 0.28),
        inset 1px 0 0 rgba(255, 235, 82, 0.34),
        inset -1px 0 0 rgba(197, 104, 0, 0.2);
    clip-path: polygon(
        var(--winner-rail-bevel-x) 0,
        calc(100% - var(--winner-rail-bevel-x)) 0,
        100% var(--winner-rail-bevel-y),
        100% 100%,
        0 100%,
        0 var(--winner-rail-bevel-y)
    );
}

.winners-prize-rail span:last-child {
    border-right: 0;
}

.winners-list {
    position: relative;
    width: 100%;
    height: clamp(230px, 58vw, 292px);
    margin-inline: auto;
    overflow: hidden;
    border-radius: 0;
}

.winners-list::before,
.winners-list::after {
    display: none;
}

.winners-track {
    --winner-track-gap: clamp(5px, 1.4vw, 8px);
    display: grid;
    gap: var(--winner-track-gap);
    animation: winners-scroll 103s linear infinite;
    will-change: transform;
}

.winner-row {
    position: relative;
    display: grid;
    grid-template-columns:
        clamp(40px, 10.7vw, 54px)
        clamp(32px, 8.5vw, 42px)
        minmax(0, 1fr)
        auto;
    align-items: center;
    gap: clamp(4px, 1.25vw, 7px);
    min-height: clamp(42px, 10.5vw, 52px);
    padding: 2px 5px 2px 0;
    overflow: hidden;
    border: 2px solid #102a58;
    background:
        radial-gradient(circle at 16% 0%, rgba(92, 211, 255, 0.55), transparent 36%),
        linear-gradient(180deg, #22b4f2 0%, #0a88e9 48%, #0b63d8 100%);
    color: #fff;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.2),
        inset 0 -1px 0 rgba(0, 45, 139, 0.15),
        0 1px 0 rgba(0, 27, 79, 0.18);
}

.winner-row.is-rank-moving-up {
    z-index: 5;
    animation: winner-rank-move-up 760ms cubic-bezier(0.3, 0.72, 0.22, 1) both;
}

.winner-row.is-rank-moving-down {
    z-index: 4;
    animation: winner-rank-move-down 760ms cubic-bezier(0.3, 0.72, 0.22, 1) both;
}

.winner-row.is-rank-moving-up::after,
.winner-row.is-rank-moving-down::after {
    position: absolute;
    z-index: 6;
    top: 50%;
    left: clamp(27px, 7vw, 36px);
    font-family: "Titan One Local", "Trebuchet MS", sans-serif;
    font-size: clamp(11px, 2.8vw, 14px);
    line-height: 1;
    text-shadow:
        -1px -1px 0 #17334b,
        1px -1px 0 #17334b,
        -1px 1px 0 #17334b,
        1px 1px 0 #17334b;
    transform: translateY(-50%);
    animation: winner-rank-direction 760ms ease both;
}

.winner-row.is-rank-moving-up::after {
    content: "▲";
    color: #aef23a;
}

.winner-row.is-rank-moving-down::after {
    content: "▼";
    color: #dce9f8;
}

.winner-amount.is-growing {
    animation: winner-amount-grow 920ms cubic-bezier(0.18, 0.72, 0.25, 1) both;
}

.winner-row {
    border-radius: clamp(11px, 2.7vw, 14px);
}

.winner-row.winner-row--ney {
    grid-template-columns:
        clamp(40px, 10.7vw, 54px)
        minmax(0, 0.62fr)
        auto
        auto;
    border-color: #172743;
    background:
        radial-gradient(circle at 54% 0%, rgba(255, 250, 165, 0.48), transparent 35%),
        linear-gradient(180deg, #ffe755 0%, #ffd22d 45%, #ffba1c 78%, #ed9208 100%);
    box-shadow:
        inset 0 2px 0 rgba(255, 253, 189, 0.58),
        inset 0 -2px 0 rgba(157, 74, 0, 0.24),
        0 0 0 1px rgba(255, 206, 34, 0.42),
        0 3px 8px rgba(0, 27, 65, 0.34);
}

.winner-row--ney .winner-rank {
    border-right-color: rgba(120, 63, 0, 0.36);
    background: linear-gradient(90deg, rgba(232, 132, 4, 0.42), rgba(255, 204, 35, 0.1));
}

.winner-row--ney .winner-copy strong {
    color: #fff;
    text-shadow:
        -1px -1px 0 #28384b,
        1px -1px 0 #28384b,
        -1px 1px 0 #28384b,
        1px 1px 0 #28384b,
        0 2px 0 #28384b;
}

.winner-ney-reward {
    display: grid;
    grid-template-columns: clamp(38px, 9.6vw, 48px) auto;
    align-items: center;
    gap: clamp(3px, 0.8vw, 5px);
    min-width: 0;
}

.winner-ney-badge {
    position: relative;
    display: grid;
    width: clamp(38px, 9.6vw, 48px);
    height: clamp(40px, 10vw, 50px);
    place-items: end center;
    padding-bottom: 5px;
    isolation: isolate;
}

.winner-ney-badge::before,
.winner-ney-badge::after {
    content: "";
    position: absolute;
    clip-path: polygon(50% 0, 94% 17%, 94% 69%, 50% 100%, 6% 69%, 6% 17%);
}

.winner-ney-badge::before {
    z-index: -2;
    inset: 0;
    background: #10284f;
    filter: drop-shadow(0 2px 1px rgba(0, 21, 60, 0.42));
}

.winner-ney-badge::after {
    z-index: -1;
    inset: 2px;
    background: linear-gradient(180deg, #35c7ff 0%, #168ee9 58%, #1762c8 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.34);
}

.winner-ney-badge__star {
    position: absolute;
    z-index: 1;
    top: 3px;
    left: 50%;
    color: #ffd42e;
    font-size: clamp(12px, 3vw, 15px);
    line-height: 1;
    text-shadow:
        -1px -1px 0 #9c5700,
        1px -1px 0 #9c5700,
        -1px 1px 0 #9c5700,
        1px 1px 0 #9c5700;
    transform: translateX(-50%);
}

.winner-ney-badge strong {
    color: #a8ef31;
    font-family: "Titan One Local", "Trebuchet MS", sans-serif;
    font-size: clamp(15px, 4.2vw, 21px);
    font-weight: 1000;
    line-height: 0.9;
    letter-spacing: -0.5px;
    text-shadow:
        -1px -1px 0 #294119,
        1px -1px 0 #294119,
        -1px 1px 0 #294119,
        1px 1px 0 #294119,
        0 2px 0 #294119;
    transform: translateY(-4px);
}

.winner-ney-reward__copy {
    display: grid;
    min-width: 0;
    color: #172743;
    font-family: "Lilita One Local", "Trebuchet MS", sans-serif;
    font-size: clamp(13px, 3.3vw, 18px);
    font-weight: 400;
    line-height: 0.92;
    letter-spacing: 0.02em;
    text-shadow: 0 1px 0 rgba(255, 250, 182, 0.74);
    white-space: nowrap;
}

.winner-ney-reward__copy strong {
    color: #0758ae;
    font-size: 1.08em;
    font-weight: 400;
}

.winner-row--ney .winner-amount {
    color: #fff;
    text-shadow:
        -1px -1px 0 #394251,
        1px -1px 0 #394251,
        -1px 1px 0 #394251,
        1px 1px 0 #394251,
        0 2px 0 #394251;
}

.winner-rank {
    display: grid;
    align-self: stretch;
    place-items: center;
    border-right: 1px solid rgba(14, 97, 190, 0.46);
    background: linear-gradient(90deg, rgba(88, 198, 255, 0.4), rgba(65, 177, 247, 0.12));
    color: #fff8d8;
    font-family: "Titan One Local", "Trebuchet MS", sans-serif;
    font-size: clamp(16px, 4vw, 20px);
    font-weight: 1000;
    line-height: 1;
    letter-spacing: -0.4px;
    text-shadow:
        -1px -1px 0 #30435d,
        1px -1px 0 #30435d,
        -1px 1px 0 #30435d,
        1px 1px 0 #30435d,
        0 1px 0 #30435d;
}

.winner-avatar img {
    display: block;
    width: clamp(32px, 8.5vw, 42px);
    height: clamp(32px, 8.5vw, 42px);
    object-fit: contain;
    filter: drop-shadow(0 1px 0 rgba(6, 26, 67, 0.5));
}

.winner-copy {
    min-width: 0;
}

.winner-copy strong {
    display: block;
    overflow: hidden;
    color: #fff;
    font-family: "Lilita One Local", "Trebuchet MS", sans-serif;
    font-size: clamp(15px, 4vw, 20px);
    font-weight: 1000;
    line-height: 1;
    letter-spacing: -0.2px;
    text-overflow: ellipsis;
    text-shadow:
        -1px -1px 0 #30435d,
        1px -1px 0 #30435d,
        -1px 1px 0 #30435d,
        1px 1px 0 #30435d,
        0 1px 0 #30435d;
    white-space: nowrap;
}

.winner-amount {
    color: #fff58b;
    font-family: "Titan One Local", "Trebuchet MS", sans-serif;
    font-size: clamp(14px, 4.1vw, 20px);
    font-weight: 1000;
    line-height: 1;
    letter-spacing: -0.3px;
    text-align: right;
    text-shadow:
        -1px -1px 0 #34404c,
        1px -1px 0 #34404c,
        -1px 1px 0 #34404c,
        1px 1px 0 #34404c,
        0 1px 0 #34404c;
    white-space: nowrap;
}

@keyframes winners-scroll {
    from {
        transform: translateY(0);
    }

    to {
        transform: translateY(calc(-50% - 5px));
    }
}

@keyframes winner-rank-move-up {
    0% {
        filter: brightness(1);
        transform: translateY(0) scale(1);
    }

    46% {
        filter: brightness(1.16);
        transform: translateY(-52%) scale(1.015);
    }

    100% {
        filter: brightness(1.06);
        transform: translateY(calc(-100% - var(--winner-track-gap))) scale(1);
    }
}

@keyframes winner-rank-move-down {
    0% {
        filter: brightness(1);
        transform: translateY(0) scale(1);
    }

    46% {
        filter: brightness(0.94);
        transform: translateY(52%) scale(0.99);
    }

    100% {
        filter: brightness(0.97);
        transform: translateY(calc(100% + var(--winner-track-gap))) scale(1);
    }
}

@keyframes winner-rank-direction {
    0%, 100% {
        opacity: 0;
    }

    22%, 72% {
        opacity: 1;
    }
}

@keyframes winner-amount-grow {
    0%, 100% {
        color: #fff58b;
        transform: scale(1);
    }

    42% {
        color: #fffbd1;
        filter: drop-shadow(0 0 5px rgba(255, 223, 45, 0.72));
        transform: scale(1.09);
    }
}

.promotions-section {
    gap: clamp(18px, 4.8vw, 24px);
    margin-bottom: 18px;
}

.promotions-heading {
    display: flex;
    align-items: center;
    gap: 16px;
}

.promotions-heading__title {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 10px;
}

.promotions-heading__title svg {
    width: clamp(25px, 6.8vw, 32px);
    height: clamp(25px, 6.8vw, 32px);
    overflow: visible;
    color: #9fbed0;
    fill: currentColor;
}

.promotions-heading h2 {
    margin: 0;
    color: #fff;
    font-family: "Lilita One Local", "Trebuchet MS", sans-serif;
    font-size: clamp(25px, 6.8vw, 32px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.01em;
    text-shadow: 0 3px 0 rgba(7, 25, 47, 0.76);
}

.promotion-card {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 1fr) clamp(108px, 29vw, 142px);
    align-items: center;
    gap: clamp(12px, 3.4vw, 18px);
    min-height: clamp(154px, 40vw, 194px);
    padding: clamp(16px, 4vw, 22px);
    overflow: hidden;
    border: 1px solid rgba(71, 158, 199, 0.3);
    border-radius: clamp(16px, 4vw, 20px);
    background:
        radial-gradient(circle at 88% 20%, rgba(26, 142, 222, 0.2), transparent 33%),
        linear-gradient(135deg, #10283c 0%, #12334b 52%, #102a41 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        inset 0 -1px 0 rgba(0, 27, 53, 0.48),
        0 15px 28px rgba(0, 0, 0, 0.2);
}

.promotion-card::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(105deg, rgba(255, 209, 56, 0.05), transparent 38%);
    pointer-events: none;
}

.promotion-card__copy {
    display: grid;
    justify-items: start;
    gap: clamp(7px, 1.9vw, 10px);
    min-width: 0;
}

.promotion-card__kicker {
    padding: 4px 8px 3px;
    border-radius: 6px;
    background: #fff8df;
    color: #18334a;
    font-family: "Lilita One Local", "Trebuchet MS", sans-serif;
    font-size: clamp(10px, 2.8vw, 13px);
    line-height: 1;
    letter-spacing: 0.05em;
}

.promotion-card h3 {
    margin: 0;
    color: #fff;
    font-family: "Lilita One Local", "Trebuchet MS", sans-serif;
    font-size: clamp(21px, 5.8vw, 29px);
    font-weight: 400;
    line-height: 1.02;
    text-shadow: 0 3px 0 rgba(6, 28, 51, 0.66);
    text-wrap: balance;
}

.promotion-card p {
    margin: 0;
    color: #a9c8da;
    font-size: clamp(12px, 3.3vw, 16px);
    line-height: 1.25;
    text-wrap: balance;
}

.promotion-card__highlight {
    color: #ffd447;
    font-weight: 800;
}

.promotion-card__cta.power-button {
    margin-top: 2px;
    --power-padding-x: 14px;
    --power-font-size: 14px;
}

.promotion-card__media {
    position: relative;
    display: grid;
    width: 100%;
    aspect-ratio: 1;
    place-items: center;
    overflow: hidden;
    border: 2px solid rgba(216, 243, 255, 0.86);
    border-radius: clamp(16px, 4vw, 22px);
    background:
        radial-gradient(circle at 50% 26%, rgba(94, 210, 255, 0.48), transparent 34%),
        linear-gradient(145deg, #148ee9 0%, #0660c3 58%, #084ca5 100%);
    box-shadow:
        inset 0 0 0 2px rgba(12, 80, 165, 0.44),
        0 7px 14px rgba(1, 18, 43, 0.34);
}

.promotion-card__media::before {
    content: "";
    position: absolute;
    inset: -28% -38%;
    background: repeating-conic-gradient(from 10deg at 50% 50%, rgba(255, 255, 255, 0.09) 0 12deg, transparent 12deg 28deg);
    opacity: 0.42;
}

.promotion-card__media img {
    position: relative;
    z-index: 1;
    width: 116%;
    max-width: none;
    height: auto;
    transform: translateY(4%) scale(1.4);
    filter: drop-shadow(0 8px 4px rgba(1, 21, 55, 0.34));
}

.faq-section--footer {
    margin: 0 0 24px;
    text-align: left;
}

.faq-list {
    display: grid;
    gap: 0;
}

.faq-item {
    border-radius: 0;
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    overflow: visible;
    box-shadow: none;
}

.faq-item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 15px 0;
    list-style: none;
    cursor: pointer;
    color: rgba(235, 239, 238, 0.68);
    font-size: clamp(14px, 3.8vw, 16px);
    font-weight: 600;
    line-height: 1.25;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-plus {
    color: rgba(214, 224, 220, 0.42);
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    flex-shrink: 0;
    transition: color 180ms ease, transform 180ms ease;
}

.faq-item[open] .faq-plus {
    color: rgba(214, 224, 220, 0.62);
    transform: rotate(45deg);
}

.faq-item p {
    margin: 0;
    padding: 0 0 16px;
    color: rgba(210, 215, 212, 0.6);
    font-size: 14px;
    line-height: 1.5;
    max-width: 980px;
}

.support-footer {
    flex: 1 0 auto;
    width: 100%;
    margin: 0;
    padding: 0 max(var(--shell-gutter), calc((100% - var(--shell-content-max)) / 2 + var(--shell-gutter))) 32px;
    background: #171717;
    text-align: center;
}

.footer-divider {
    width: 100%;
    height: 2px;
    margin-bottom: 18px;
    background: linear-gradient(90deg, transparent, var(--line), transparent);
}

.footer-content {
    display: grid;
    justify-items: center;
    gap: 13px;
    padding-top: 2px;
}

.footer-brand {
    display: block;
    width: 132px;
}

.footer-brand img {
    width: 100%;
    height: auto;
}

.footer-tagline,
.footer-responsible,
.footer-copyright {
    margin: 0;
}

.footer-tagline {
    max-width: 390px;
    color: rgba(227, 232, 229, 0.58);
    font-size: 13px;
    line-height: 1.45;
}

.footer-contact {
    color: rgba(227, 232, 229, 0.58);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
}

.footer-responsible {
    color: rgba(210, 216, 212, 0.46);
    font-size: 11px;
    line-height: 1.4;
}

.footer-copyright {
    color: rgba(198, 204, 200, 0.34);
    font-size: 10px;
    line-height: 1.4;
}

.modal-shell {
    position: fixed;
    inset: 0;
    z-index: 40;
    display: grid;
    place-items: center;
    width: 100vw;
    max-width: 100vw;
    min-height: 100dvh;
    padding: 18px 14px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.modal-shell[data-modal="deposit-qr"] {
    align-items: start;
    overflow-y: auto;
    padding-top: max(18px, env(safe-area-inset-top));
    padding-bottom: max(18px, env(safe-area-inset-bottom));
}

.modal-shell[data-modal="deposit-qr"].is-payment-success {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100dvh;
    padding-top: max(18px, env(safe-area-inset-top));
    padding-bottom: max(18px, env(safe-area-inset-bottom));
}

.modal-shell[data-modal="game"] .modal-backdrop {
    overflow: hidden;
    background: rgba(6, 9, 7, 0.62);
}

.modal-shell[data-modal="game"] .modal-backdrop::before {
    content: "";
    position: absolute;
    inset: -22px;
    background:
        linear-gradient(180deg, rgba(6, 12, 8, 0.16), rgba(6, 9, 7, 0.42)),
        url("./modal-game-bg.jpg") center center / cover no-repeat;
    filter: blur(18px) saturate(0.92) brightness(0.78);
    transform: scale(1.06);
}

.modal-shell[data-modal="game"] .modal-backdrop::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at center, rgba(255, 255, 255, 0.05), transparent 48%),
        rgba(7, 10, 8, 0.46);
}

.modal-shell[hidden] {
    display: none !important;
}

.modal-backdrop {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at center, rgba(78, 209, 63, 0.08), transparent 32%),
        rgba(8, 9, 8, 0.78);
    backdrop-filter: blur(9px);
}

.modal-shell[data-modal="register"] .modal-backdrop,
.modal-shell[data-modal="login"] .modal-backdrop,
.modal-shell[data-modal="deposit"] .modal-backdrop {
    background: rgba(4, 6, 9, 0.72);
    -webkit-backdrop-filter: blur(13px) saturate(0.72);
    backdrop-filter: blur(13px) saturate(0.72);
}

.modal-card {
    --modal-close-size: 42px;
    --modal-close-radius: 14px;
    --modal-close-font-size: 22px;
    --modal-close-inset: 10px;
    --modal-close-transform: none;
    position: relative;
    z-index: 1;
    width: min(100%, 396px);
    max-width: calc(100vw - 28px);
    max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 28px);
    overflow: auto;
    overflow-x: hidden;
    padding: 19px;
    border-radius: 28px;
    border: 1px solid rgba(101, 223, 86, 0.2);
    background:
        radial-gradient(circle at 50% -10%, rgba(74, 193, 65, 0.16), transparent 42%),
        linear-gradient(180deg, #302f2d 0%, #242522 44%, #181a17 100%);
    box-shadow:
        0 30px 86px rgba(0, 0, 0, 0.52),
        inset 0 1px 0 rgba(255, 255, 255, 0.055);
    scrollbar-width: none;
}

.modal-card::-webkit-scrollbar {
    display: none;
}

.modal-card--register {
    width: min(100%, 392px);
    padding-top: 62px;
}

.modal-card--register {
    width: min(calc(100vw - 18px), 430px);
    max-width: calc(100vw - 18px);
    max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);
    padding: 18px 14px 20px;
    border-radius: 18px;
    border-color: rgba(159, 190, 208, 0.18);
    background: linear-gradient(180deg, rgba(34, 35, 38, 0.9) 0%, rgba(20, 21, 24, 0.87) 54%, rgba(13, 14, 16, 0.9) 100%);
    -webkit-backdrop-filter: blur(18px) saturate(0.78);
    backdrop-filter: blur(18px) saturate(0.78);
}

.modal-card--register .modal-close {
    --modal-close-inset: 0;
    --modal-close-transform: translate(18%, -18%);
}

.modal-card--deposit {
    overflow: visible;
}

.modal-card--deposit .modal-close {
    z-index: 5;
}

/* Deposito: mesma casca neutra dos modais de acesso, com azul e amarelo
   reservados para selecao e verde somente para a acao principal. */
.modal-shell[data-modal="deposit"] .modal-card--deposit {
    width: min(calc(100vw - 18px), 430px);
    max-width: calc(100vw - 18px);
    padding: 18px 16px 21px;
    border-radius: 18px;
    border-color: rgba(159, 190, 208, 0.18);
    background:
        radial-gradient(circle at 50% -12%, var(--auth-primary-focus, rgba(22, 142, 233, 0.16)), transparent 39%),
        linear-gradient(180deg, rgba(34, 35, 38, 0.94) 0%, rgba(20, 21, 24, 0.92) 54%, rgba(13, 14, 16, 0.95) 100%);
    box-shadow:
        0 30px 86px rgba(0, 0, 0, 0.56),
        inset 0 1px 0 rgba(255, 255, 255, 0.055);
    -webkit-backdrop-filter: blur(18px) saturate(0.78);
    backdrop-filter: blur(18px) saturate(0.78);
}

.modal-shell[data-modal="deposit"] .home-modal-alert {
    gap: 6px;
    margin-bottom: 11px;
    padding: 9px 12px 10px;
}

.modal-shell[data-modal="deposit"] .home-modal-alert strong {
    font-size: 12px;
}

.modal-shell[data-modal="deposit"] .home-modal-alert > span:last-child {
    font-size: 10px;
    line-height: 1.32;
    white-space: pre-line;
}

.modal-shell[data-modal="deposit"] .deposit-offer-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    gap: 0;
    margin-top: 1px;
}

.modal-shell[data-modal="deposit"] .deposit-offer-item {
    display: grid;
    gap: 2px;
    padding: 2px 8px 1px;
}

.modal-shell[data-modal="deposit"] .deposit-offer-item + .deposit-offer-item {
    border-left: 1px solid rgba(255, 255, 255, 0.2);
}

.modal-shell[data-modal="deposit"] .deposit-offer-item strong {
    color: #fff;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.01em;
}

.modal-shell[data-modal="deposit"] .deposit-offer-item small {
    color: rgba(255, 244, 244, 0.78);
    font-size: 9px;
    font-weight: 800;
    line-height: 1.1;
}

.modal-shell[data-modal="deposit"] .deposit-countdown {
    gap: 9px;
}

.modal-shell[data-modal="deposit"] .deposit-countdown span {
    min-width: 44px;
    height: 38px;
    border-radius: 9px;
    font-size: 19px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.5),
        0 5px 11px rgba(0, 0, 0, 0.22);
}

.modal-shell[data-modal="deposit"] .deposit-countdown b {
    display: none;
}

.modal-shell[data-modal="deposit"] .modal-copy--deposit h3 span {
    color: #ffd34a;
    filter: drop-shadow(0 2px 0 rgba(72, 43, 0, 0.42));
}

.modal-card--auth {
    width: min(100%, 392px);
    padding-top: 62px;
}

.modal-card--panel {
    width: min(100%, 420px);
    padding-top: 62px;
}

/* Perfil: transplante da linguagem visual do game com dados reais da conta. */
.modal-shell[data-modal="account"] {
    padding: 14px 9px;
}

.modal-shell[data-modal="account"] .modal-backdrop {
    background:
        radial-gradient(circle at 50% 18%, rgba(24, 111, 184, 0.18), transparent 34%),
        rgba(4, 8, 18, 0.82);
    -webkit-backdrop-filter: blur(11px) saturate(0.82);
    backdrop-filter: blur(11px) saturate(0.82);
}

.modal-card--account {
    --modal-close-size: 38px;
    --modal-close-radius: 12px;
    --modal-close-font-size: 22px;
    width: min(calc(100vw - 18px), 430px);
    max-width: calc(100vw - 18px);
    max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 20px);
    padding: 0 0 12px;
    overflow-x: hidden;
    overflow-y: auto;
    border: 2px solid #102747;
    border-radius: 24px;
    background: linear-gradient(180deg, #3189df 0%, #2474c9 45%, #1c65b4 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.22),
        inset 0 -2px 0 rgba(7, 57, 110, 0.5),
        0 7px 0 #0b3567,
        0 28px 76px rgba(0, 0, 0, 0.58);
}

.account-game-content {
    display: grid;
    gap: 9px;
    padding: 18px 12px 0;
}

.account-avatar-stage {
    position: relative;
    z-index: 3;
    justify-self: center;
    width: 116px;
    height: 112px;
    margin-top: 0;
}

.account-avatar-frame {
    position: absolute;
    inset: 0 6px 5px;
    display: grid;
    place-items: center;
    padding: 7px;
    overflow: hidden;
    border: 4px solid #eff8ff;
    border-radius: 13px;
    outline: 3px solid #17263a;
    background:
        radial-gradient(circle at 50% 18%, rgba(255, 255, 255, 0.36), transparent 36%),
        linear-gradient(145deg, #c7efff 0%, #71c9ef 55%, #3d92cd 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.48),
        0 7px 0 rgba(15, 55, 94, 0.42),
        0 13px 18px rgba(8, 41, 79, 0.28);
}

.account-avatar-frame::after {
    content: "";
    position: absolute;
    right: 8px;
    bottom: 7px;
    left: 8px;
    height: 7px;
    border-radius: 999px;
    background: rgba(24, 76, 120, 0.2);
}

.account-avatar-frame img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 4px 3px rgba(13, 42, 67, 0.2));
}

.account-board-badge {
    position: absolute;
    z-index: 4;
    right: -13px;
    bottom: -7px;
    width: 52px;
    height: 52px;
    display: grid;
    grid-template-columns: 1fr;
    place-items: center;
    align-content: center;
    gap: 0;
    clip-path: polygon(50% 0%, 61% 10%, 76% 6%, 83% 20%, 97% 25%, 94% 41%, 100% 53%, 89% 65%, 88% 82%, 71% 85%, 61% 98%, 47% 91%, 32% 100%, 22% 86%, 6% 83%, 8% 66%, 0 53%, 10% 41%, 5% 25%, 21% 20%, 28% 5%, 43% 10%);
    background: linear-gradient(180deg, #d05cf2 0%, #a638db 58%, #7e24be 100%);
    color: #fff;
    filter: drop-shadow(0 4px 0 #3f176b) drop-shadow(0 8px 7px rgba(20, 8, 42, 0.25));
}

.account-board-badge span {
    margin-bottom: -3px;
    font-size: 14px;
    line-height: 1;
}

.account-board-badge strong {
    font-family: "Lilita One Local", "Trebuchet MS", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    text-shadow: 0 2px 0 #512077;
}

.account-player-card {
    display: grid;
    justify-items: center;
    gap: 5px;
    padding: 11px 11px 10px;
    border: 1px solid rgba(67, 156, 222, 0.35);
    border-radius: 17px;
    background:
        radial-gradient(circle at 50% 0%, rgba(60, 159, 225, 0.2), transparent 50%),
        linear-gradient(180deg, #2369ad 0%, #1b5b9d 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        inset 0 -1px 0 rgba(6, 48, 92, 0.42),
        0 7px 13px rgba(8, 50, 94, 0.19);
    text-align: center;
}

.account-player-name {
    max-width: 100%;
    overflow-wrap: anywhere;
    color: #fff;
    font-family: "Lilita One Local", "Trebuchet MS", sans-serif;
    font-size: clamp(23px, 6.7vw, 29px);
    font-weight: 400;
    line-height: 1;
    text-shadow: 0 3px 0 rgba(14, 48, 85, 0.72);
}

.account-player-card > small {
    color: rgba(231, 244, 255, 0.68);
    font-size: 10px;
    font-weight: 700;
}

.account-balance-highlight {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    align-items: center;
    gap: 2px 9px;
    margin-top: 2px;
    padding: 8px 10px;
    border: 1px solid rgba(67, 146, 209, 0.18);
    border-radius: 13px;
    background: linear-gradient(180deg, #174e8a 0%, #124477 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.045),
        0 4px 0 rgba(9, 48, 87, 0.32);
    text-align: left;
}

.account-balance-highlight > span {
    grid-column: 1;
    color: rgba(229, 243, 255, 0.7);
    font-size: 9px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.account-balance-value {
    grid-column: 1;
    display: flex;
    align-items: center;
}

.account-balance-value strong {
    min-width: 0;
    color: #fff;
    font-family: "Lilita One Local", "Trebuchet MS", sans-serif;
    font-size: clamp(19px, 5.6vw, 24px);
    font-weight: 400;
    line-height: 1;
    overflow-wrap: anywhere;
    text-shadow: 0 2px 0 rgba(8, 40, 73, 0.78);
}

.account-balance-highlight > img {
    grid-column: 2;
    grid-row: 1 / span 2;
    width: 36px;
    max-height: 36px;
    object-fit: contain;
    filter: drop-shadow(0 3px 3px rgba(0, 0, 0, 0.28));
}

.account-tab-switcher {
    gap: 6px;
    margin: 0;
    padding: 4px;
    border: 1px solid rgba(61, 151, 220, 0.22);
    border-radius: 14px;
    background: rgba(12, 62, 108, 0.52);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

.account-tab-switcher .home-tab-button {
    min-height: 37px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: rgba(6, 38, 70, 0.42);
    color: rgba(235, 247, 255, 0.72);
    font-size: 11px;
    box-shadow: none;
}

.account-tab-switcher .home-tab-button.is-active {
    border-color: rgba(235, 173, 255, 0.34);
    background: linear-gradient(180deg, #b948e4 0%, #9430ca 100%);
    color: #fff;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.15),
        0 3px 0 #61208c;
    text-shadow: 0 1px 0 rgba(65, 18, 92, 0.58);
}

.modal-card--account .home-tab-panel {
    min-width: 0;
}

.modal-card--account .home-info-card {
    padding: 8px;
    border: 1px solid rgba(65, 151, 217, 0.26);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(24, 92, 151, 0.86), rgba(17, 71, 123, 0.9));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.055),
        inset 0 -1px 0 rgba(5, 40, 75, 0.4);
}

.modal-card--account .home-info-list {
    gap: 5px;
}

.modal-card--account .home-info-item {
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 6px 9px;
    border: 1px solid rgba(65, 148, 211, 0.14);
    border-radius: 11px;
    background: linear-gradient(180deg, rgba(10, 59, 104, 0.7), rgba(8, 50, 90, 0.74));
}

.modal-card--account .home-info-item span {
    color: rgba(219, 238, 252, 0.62);
    font-size: 9px;
}

.modal-card--account .home-info-item strong,
.modal-card--account .home-info-item .account-info-value {
    min-width: 0;
    color: #fff;
    font-size: 11px;
    text-align: right;
}

.modal-card--account .home-info-item .account-info-value {
    overflow-wrap: anywhere;
    font-weight: 800;
    text-decoration: none;
}

.account-stat-grid {
    gap: 5px;
    margin-bottom: 6px;
}

.modal-card--account .home-stat-card {
    min-height: 56px;
    align-content: center;
    padding: 8px 10px;
    border: 1px solid rgba(65, 148, 211, 0.2);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(21, 80, 135, 0.92), rgba(12, 58, 103, 0.94));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

.modal-card--account .home-stat-card span {
    color: rgba(220, 239, 253, 0.62);
    font-size: 8px;
}

.modal-card--account .home-stat-card strong {
    color: #fff;
    font-family: "Lilita One Local", "Trebuchet MS", sans-serif;
    font-size: clamp(15px, 4.5vw, 19px);
    font-weight: 400;
    overflow-wrap: anywhere;
    text-shadow: 0 2px 0 rgba(7, 38, 70, 0.72);
}

.modal-card--account .account-inline-actions {
    width: min(100%, 280px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin-inline: auto;
}

@media (max-width: 360px) {
    .account-game-content {
        padding-inline: 10px;
    }

    .modal-card--account .home-info-item {
        grid-template-columns: 62px minmax(0, 1fr);
    }
}

@media (max-height: 720px) {
    .modal-shell[data-modal="account"] {
        padding-block: 7px;
    }

    .modal-card--account {
        max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 12px);
        padding-bottom: 9px;
    }

    .account-game-content {
        gap: 7px;
        padding-top: 13px;
    }

    .account-avatar-stage {
        width: 100px;
        height: 96px;
    }

    .account-board-badge {
        right: -11px;
        width: 46px;
        height: 46px;
    }

    .account-player-card {
        padding-block: 9px 8px;
    }

    .account-balance-highlight {
        padding-block: 7px;
    }

    .account-tab-switcher .home-tab-button {
        min-height: 35px;
    }

    .modal-card--account .home-info-card {
        padding: 7px;
    }

    .modal-card--account .home-info-item {
        min-height: 35px;
        padding-block: 5px;
    }

    .modal-card--account .home-stat-card {
        min-height: 52px;
        padding-block: 7px;
    }
}

.modal-card--premium-games {
    overflow: visible;
    border-color: rgba(229, 185, 54, 0.28);
    background:
        radial-gradient(circle at 50% 8%, rgba(229, 185, 54, 0.15), transparent 34%),
        linear-gradient(180deg, #172028 0%, #12191e 58%, #101518 100%);
}

.premium-games-modal-lock {
    width: 58px;
    height: 68px;
    display: grid;
    place-items: center;
    margin: -24px auto 14px;
    color: #e6c050;
    filter: drop-shadow(0 9px 14px rgba(0, 0, 0, 0.38));
}

.premium-games-modal-lock svg {
    width: 100%;
    height: 100%;
}

.premium-games-modal-copy {
    justify-items: center;
    padding-right: 0;
    text-align: center;
}

.premium-games-modal-copy h3 {
    max-width: 330px;
}

.premium-games-modal-copy p {
    max-width: 330px;
}

.modal-chip--premium-games {
    background: rgba(229, 185, 54, 0.13);
    color: #f0cd62;
}

.modal-primary--premium-games {
    background: linear-gradient(180deg, #f2cf52, #d7a52c);
    color: #3e2d0e;
    box-shadow: 0 12px 20px rgba(193, 139, 26, 0.2);
}

.modal-card--low-balance {
    padding-top: 40px;
}

.modal-card--demo {
    width: min(100%, 392px);
    max-height: min(720px, calc(100vh - 24px));
    overflow-y: auto;
    padding: 38px 16px 20px;
    border: 1px solid rgba(62, 157, 225, 0.42);
    border-radius: 22px;
    background:
        radial-gradient(circle at 50% 8%, rgba(45, 153, 226, 0.2), transparent 36%),
        linear-gradient(180deg, #0c2d49 0%, #081c30 54%, #061522 100%);
    color: #fff;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.09),
        inset 0 -1px 0 rgba(2, 22, 40, 0.82),
        0 5px 0 rgba(4, 42, 76, 0.78),
        0 24px 58px rgba(0, 0, 0, 0.46);
}

.modal-card--qr {
    width: min(100%, 420px);
    max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 36px);
    overflow-x: hidden;
    padding-top: 46px;
}

.modal-card--qr .modal-copy--compact {
    display: grid;
    gap: 8px;
    margin-bottom: 8px;
}

.modal-card--qr .modal-copy--compact h3 {
    margin: 0;
    line-height: 0.96;
    white-space: nowrap;
}

.modal-card--qr .home-payment-state {
    min-height: 30px;
    margin: 0 0 4px;
    padding: 0 14px;
    font-size: 11px;
}

.modal-card--qr .home-payment-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 10px;
}

.modal-card--qr .home-payment-meta-item {
    padding: 10px 12px;
    min-width: 0;
}

.modal-card--qr .home-qr-box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1 / 1;
    min-height: 0;
    max-width: 320px;
    padding: 14px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px;
    box-sizing: border-box;
    border-radius: 18px;
}

.modal-card--qr .home-qr-box .home-qr-mount {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto;
    overflow: hidden;
}

.modal-card--qr .home-qr-box canvas,
.modal-card--qr .home-qr-box img,
.modal-card--qr .home-qr-box table {
    display: block;
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto !important;
    object-fit: contain;
}

.modal-card--qr .home-qr-box .home-qr-image {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1;
}

.modal-card--qr .home-qr-box .home-qr-mount > * {
    justify-self: center;
    align-self: center;
}

.modal-card--qr .home-qr-box table {
    border-collapse: collapse;
}

.modal-card--qr .register-field--textarea {
    margin-bottom: 10px;
}

.modal-card--qr .register-field--textarea span {
    margin-bottom: 4px;
    font-size: 11px;
    opacity: 0.82;
}

.modal-card--qr .register-field--textarea textarea {
    min-height: 50px;
    max-height: 58px;
    padding: 9px 14px;
    font-size: 13px;
    line-height: 1.35;
    opacity: 0.78;
    overflow-y: auto;
    scrollbar-width: thin;
}

.modal-card--qr .modal-actions--qr {
    grid-template-columns: 1fr;
    margin-top: 10px;
    margin-bottom: 12px;
}

.modal-card--qr #homeCopyPixButton {
    width: 100%;
    min-height: 48px;
    justify-self: stretch;
    text-align: center;
    font-size: 14px;
    letter-spacing: 0.02em;
}

.modal-close {
    position: absolute;
    top: var(--modal-close-inset);
    right: var(--modal-close-inset);
    width: var(--modal-close-size);
    height: var(--modal-close-size);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: var(--modal-close-radius);
    background: transparent;
    color: rgba(255, 255, 255, 0.94);
    font-size: var(--modal-close-font-size);
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
    box-shadow: none;
    transform: var(--modal-close-transform);
}

/* X Clean: fechamento padrao dos modais principais do funil. */
.modal-card .modal-close--clean {
    --modal-close-size: 38px;
    --modal-close-radius: 12px;
    --modal-close-font-size: 22px;
    z-index: 12;
    top: 8px;
    right: 8px;
    display: grid;
    place-items: center;
    padding: 0 0 2px;
    border-color: rgba(255, 255, 255, 0.17);
    background: rgba(20, 28, 48, 0.62);
    color: #fff;
    font-family: Arial, sans-serif;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 3px 0 rgba(7, 19, 39, 0.5);
    transform: none;
    transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.modal-card .modal-close--clean:hover,
.modal-card .modal-close--clean:focus-visible {
    border-color: rgba(255, 255, 255, 0.25);
    background: rgba(28, 43, 68, 0.78);
}

.modal-card .modal-close--clean:active {
    transform: translateY(1px);
}

.modal-brand-lockup {
    display: flex;
    justify-content: center;
    margin: 0 0 10px;
}

.modal-brand-lockup img {
    width: 148px;
    max-width: 58%;
    height: auto;
    object-fit: contain;
}

.modal-brand-lockup--register-original {
    margin: 2px 0 18px;
}

.modal-brand-lockup--register-original img {
    width: 176px;
    max-width: 56%;
    filter: drop-shadow(0 16px 18px rgba(0, 0, 0, 0.32));
}

.demo-modal-brand {
    display: flex;
    justify-content: center;
    margin: 0 0 12px;
}

.demo-modal-brand img {
    width: 170px;
    max-width: 52%;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 12px 16px rgba(0, 0, 0, 0.28));
}

.modal-copy {
    display: grid;
    gap: 8px;
    padding-right: 28px;
}

.demo-modal-copy {
    display: grid;
    gap: 12px;
    width: 100%;
    text-align: center;
    justify-items: center;
}

.demo-modal-copy h3 {
    margin: 0;
    font-family: "Lilita One Local", Arial, sans-serif;
    max-width: 290px;
    font-size: clamp(26px, 6vw, 34px);
    line-height: 0.96;
    text-transform: uppercase;
}

.demo-modal-title-line {
    display: block;
}

.demo-modal-copy p {
    margin: 0;
    max-width: 286px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 14px;
    line-height: 1.45;
}

.demo-modal-copy strong {
    display: inline-block;
    width: auto;
    max-width: none;
    color: #ffe36c;
    font-size: clamp(11px, 3.45vw, 15px);
    line-height: 1.18;
    letter-spacing: -0.02em;
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: normal;
}

.modal-copy--compact {
    margin-bottom: 12px;
}

.modal-copy--deposit {
    margin: 2px 0 18px;
}

.modal-shell[data-modal="deposit"] .modal-copy--deposit {
    margin-bottom: 6px;
}

.modal-shell[data-modal="deposit"] .home-deposit-form {
    margin-top: 4px;
}

.modal-copy--deposit h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-size: 24px;
    line-height: 1;
    letter-spacing: -0.03em;
}

.modal-copy--deposit h3 span {
    color: #fff;
    font-size: 25px;
    filter: drop-shadow(0 2px 0 rgba(0, 0, 0, 0.4));
}

.modal-copy--register {
    text-align: left;
}

.modal-chip {
    display: inline-flex;
    width: fit-content;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(78, 209, 63, 0.14);
    color: #a9fb9b;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.demo-modal-copy .modal-chip--demo {
    background: rgba(255, 212, 71, 0.16);
    color: #ffe36c;
}

.modal-copy h3 {
    margin: 0;
    font-family: "Lilita One Local", Arial, sans-serif;
    font-size: 30px;
    line-height: 0.96;
}

.modal-copy p {
    margin: 0;
    color: var(--muted);
    line-height: 1.5;
    font-size: 14px;
}

.modal-actions {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

.modal-primary,
.modal-secondary {
    min-height: 46px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.modal-primary {
    background: linear-gradient(180deg, #59e450, #32c12e);
    color: #f6fff5;
    box-shadow: 0 12px 20px rgba(67, 209, 61, 0.16);
}

.modal-primary.is-copied {
    background: linear-gradient(180deg, #49a8ff, #1f78e6);
    color: #f5fbff;
    box-shadow: 0 12px 24px rgba(31, 120, 230, 0.28);
}

.modal-primary:disabled {
    cursor: not-allowed;
    opacity: 0.58;
    filter: grayscale(0.35);
    transform: none;
}

.modal-secondary {
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.07);
    color: #fff;
    cursor: pointer;
}

.demo-modal-cta {
    min-height: 56px;
    display: grid;
    place-items: center;
    width: min(100%, 286px);
    margin: 6px auto 0;
    border-radius: 18px;
    background: linear-gradient(180deg, #56e74a, #41d836 54%, #2fb926 100%);
    color: #fff;
    font-family: "Lilita One Local", Arial, sans-serif;
    font-size: 28px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    box-shadow: 0 14px 26px rgba(47, 185, 38, 0.2);
}

.modal-shell--affiliate-demo {
    z-index: 45;
}

.modal-shell[data-modal="demo"] .modal-backdrop,
.modal-backdrop--affiliate-demo {
    overflow: hidden;
    background: #075b93;
    backdrop-filter: none;
}

.modal-shell[data-modal="demo"] .modal-backdrop::before,
.modal-backdrop--affiliate-demo::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #075b93;
    background-image: url("./home-game-background.webp");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.modal-shell[data-modal="demo"] .modal-backdrop::after,
.modal-backdrop--affiliate-demo::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 50% 40%, rgba(3, 13, 23, 0.18), rgba(3, 9, 15, 0.5) 82%),
        rgba(3, 9, 15, 0.24);
}

@media (max-width: 600px) {
    .modal-shell[data-modal="demo"] .modal-backdrop::before,
    .modal-backdrop--affiliate-demo::before {
        background-image: url("./home-game-background-mobile.webp");
    }
}

.modal-card--affiliate-demo {
    width: min(100%, 730px);
    max-width: calc(100vw - 42px);
    max-height: calc(100dvh - 64px);
    padding: 42px 52px 36px;
    overflow: auto;
    overflow-x: hidden;
    border: 6px solid #050505;
    border-radius: 30px;
    background: #f7f7f7;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.42);
    color: #0b0b0b;
}

.affiliate-demo-copy {
    display: grid;
    width: 100%;
    justify-items: center;
    text-align: center;
    gap: 24px;
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

.affiliate-demo-copy h3 {
    margin: 0;
    width: 100%;
    max-width: 100%;
    font-family: "Lilita One Local", Arial, sans-serif;
    font-size: clamp(32px, 3.7vw, 50px);
    line-height: 0.94;
    text-transform: uppercase;
    letter-spacing: -0.01em;
    color: #050505;
    text-align: center;
    text-wrap: balance;
}

.affiliate-demo-title-line {
    display: block;
}

.affiliate-demo-title-line--second {
    white-space: normal;
}

.affiliate-demo-title-emojis {
    display: inline-block;
    white-space: nowrap;
    font-size: 0.84em;
    line-height: 1;
    margin-left: 0.08em;
    transform: translateY(0.02em);
}

.affiliate-demo-copy p {
    margin: 0;
    max-width: 660px;
    color: #161616;
    font-family: "Courier New", "IBM Plex Mono", monospace;
    font-size: clamp(17px, 2vw, 22px);
    line-height: 1.3;
    letter-spacing: 0;
}

.affiliate-demo-copy strong {
    display: block;
    margin-top: 2px;
    color: #050505;
    font-family: "Lilita One Local", Arial, sans-serif;
    font-size: clamp(17px, 1.7vw, 22px);
    line-height: 1;
    text-align: center;
}

.modal-actions--affiliate-demo {
    margin-top: 20px;
    justify-items: center;
}

.affiliate-demo-cta {
    width: min(100%, 326px);
    min-height: 60px;
    display: inline-grid;
    place-items: center;
    padding: 0 28px;
    border-radius: 9px;
    background: linear-gradient(180deg, #ff2d2d 0%, #f02424 100%);
    color: #fff;
    font-family: "Lilita One Local", Arial, sans-serif;
    font-size: clamp(25px, 2.8vw, 36px);
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    box-shadow:
        0 0 30px rgba(255, 102, 102, 0.18),
        0 10px 26px rgba(240, 36, 36, 0.22);
    animation: affiliate-demo-pulse 1.9s ease-in-out infinite;
}

@keyframes affiliate-demo-pulse {
    0%,
    100% {
        transform: scale(1);
        box-shadow:
            inset 0.5px 0 0 rgba(123, 12, 12, 0.38),
            inset -0.5px 0 0 rgba(123, 12, 12, 0.38),
            inset 0 0.5px 0 rgba(123, 12, 12, 0.38),
            inset 0 1px 0 rgba(255, 255, 255, 0.13),
            inset 0 -1px 0 rgba(82, 7, 7, 0.08),
            0 3px 0 #c51d1d,
            0 4px 0 #8f1515,
            0 0 24px rgba(255, 102, 102, 0.16),
            0 10px 24px rgba(240, 36, 36, 0.2);
    }

    50% {
        transform: scale(1.04);
        box-shadow:
            inset 0.5px 0 0 rgba(123, 12, 12, 0.38),
            inset -0.5px 0 0 rgba(123, 12, 12, 0.38),
            inset 0 0.5px 0 rgba(123, 12, 12, 0.38),
            inset 0 1px 0 rgba(255, 255, 255, 0.13),
            inset 0 -1px 0 rgba(82, 7, 7, 0.08),
            0 3px 0 #c51d1d,
            0 4px 0 #8f1515,
            0 0 38px rgba(255, 102, 102, 0.28),
            0 14px 30px rgba(240, 36, 36, 0.28);
    }
}

.register-modal-form {
    display: grid;
    gap: 13px;
    margin-top: 16px;
}

.register-modal-form--original {
    gap: 9px;
    margin-top: 0;
}

.register-field {
    display: grid;
    gap: 6px;
}

.register-field span {
    font-size: 12px;
    font-weight: 700;
    color: #d8d2cb;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.register-field input {
    width: 100%;
    min-height: 58px;
    padding: 0 16px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.045);
    color: #fff;
    font: inherit;
    font-size: 16px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.register-field input::placeholder {
    color: rgba(255, 255, 255, 0.42);
}

.register-field input:focus {
    outline: none;
    border-color: rgba(78, 209, 63, 0.5);
    box-shadow: 0 0 0 3px rgba(78, 209, 63, 0.14);
}

.modal-card--register .register-field--original {
    position: relative;
    display: grid;
    grid-template-columns: 84px 1fr;
    align-items: center;
    gap: 0;
    min-height: 66px;
    overflow: hidden;
    border-radius: 5px;
    border: 1px solid var(--auth-primary-soft, rgba(22, 142, 233, 0.32));
    background: linear-gradient(180deg, var(--auth-field-top, #123f81), var(--auth-field-bottom, #0f3060));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.04),
        0 6px 10px rgba(0, 0, 0, 0.14);
}

.modal-card--register .register-field--original .register-field-icon {
    display: grid;
    place-items: center;
    height: 100%;
    min-height: 66px;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    background: var(--auth-field-icon, #0a2a59);
    color: #d8edff;
    font-size: 20px;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
}

.modal-card--register .register-field--original input {
    min-height: 66px;
    padding: 0 18px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #fff;
    font-size: 25px;
    font-weight: 800;
    letter-spacing: -0.02em;
    box-shadow: none;
}

.modal-card--register .register-field--original input::placeholder {
    color: rgba(255, 255, 255, 0.96);
    opacity: 1;
}

.modal-card--register .register-field--original input:focus {
    border: 0;
    box-shadow: inset 0 0 0 2px var(--auth-primary-focus, rgba(22, 142, 233, 0.22));
}

.modal-card--register .register-field-suffix {
    position: absolute;
    right: 17px;
    top: 50%;
    transform: translateY(-50%);
    padding: 0;
    border: 0;
    background: transparent;
    color: #fff;
    cursor: pointer;
    font-size: 18px;
    text-transform: none;
    letter-spacing: 0;
}

.modal-card--register .register-field-suffix:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.72);
    outline-offset: 4px;
}

.modal-card--register .register-field--original:has(.register-field-suffix) input {
    padding-right: 48px;
}

.register-feedback {
    padding: 12px 14px;
    border-radius: 12px;
    font-size: 13px;
    line-height: 1.4;
}

.register-feedback--error {
    background: rgba(255, 96, 96, 0.12);
    border: 1px solid rgba(255, 96, 96, 0.22);
    color: #ffb0b0;
}

.register-feedback--success {
    background: rgba(78, 209, 63, 0.12);
    border: 1px solid rgba(78, 209, 63, 0.22);
    color: #b6ffb0;
}

.modal-primary--submit {
    width: 100%;
    border: 0;
    cursor: pointer;
    min-height: 56px;
    border-radius: 18px;
    font-size: 14px;
}

.modal-primary--register-original {
    min-height: 52px;
    border-radius: 5px;
    background: linear-gradient(180deg, #50bf44, #43ad39);
    font-size: 18px;
    font-weight: 900;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.18);
}

.modal-primary--withdraw-unlock {
    background: linear-gradient(180deg, #ffd85c 0%, #ffc83b 52%, #e8a71c 100%);
    color: #3f2a00;
    box-shadow:
        inset 0 1px 0 rgba(255, 247, 204, 0.54),
        0 8px 16px rgba(0, 0, 0, 0.18);
}

.register-terms {
    margin: 2px 0 0;
    color: rgba(255, 255, 255, 0.62);
    font-size: 11px;
    line-height: 1.45;
    text-align: center;
}

.register-terms--original {
    margin: 8px 4px 16px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.25;
}

.register-terms--original strong,
.register-terms--original a {
    color: var(--auth-primary, #168ee9);
    font-weight: 900;
}

.register-terms--original a {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.register-login-copy {
    margin: 2px 0 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 14px;
    font-weight: 700;
    text-align: center;
}

.register-login-copy--original {
    margin: 22px 0 0;
    color: #fff;
    font-size: 16px;
    font-weight: 900;
}

.register-login-copy--original .text-link-button {
    color: var(--auth-primary, #168ee9);
    font-weight: 900;
}

.register-login-copy a {
    color: #62da48;
}

.text-link-button {
    padding: 0;
    border: 0;
    background: transparent;
    color: #62da48;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.home-panel-hero {
    display: grid;
    justify-items: center;
    gap: 6px;
    margin-bottom: 14px;
    padding: 20px 16px;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(96, 225, 82, 0.16);
    background:
        radial-gradient(circle at top, rgba(78, 209, 63, 0.2), transparent 58%),
        linear-gradient(180deg, rgba(78, 209, 63, 0.14), rgba(26, 68, 24, 0.22));
    text-align: center;
}

.home-panel-hero strong {
    font-size: 28px;
    line-height: 1;
    font-family: "Lilita One Local", Arial, sans-serif;
}

.home-panel-hero span,
.home-panel-hero small {
    color: rgba(255, 255, 255, 0.78);
}

.home-panel-hero--affiliate strong {
    font-size: 24px;
}

.home-panel-avatar {
    display: grid;
    place-items: center;
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: rgba(67, 209, 61, 0.2);
    font-size: 30px;
}

.modal-card--affiliate {
    display: grid;
    gap: 16px;
}

.home-affiliate-status-card {
    display: grid;
    justify-items: center;
    gap: 14px;
    padding: 24px 22px;
    border-radius: 26px;
    border: 1px solid rgba(78, 209, 63, 0.2);
    background:
        radial-gradient(circle at top, rgba(78, 209, 63, 0.16), transparent 48%),
        linear-gradient(180deg, rgba(18, 86, 28, 0.88), rgba(14, 66, 22, 0.92));
    text-align: center;
}

.home-affiliate-status-card--pending {
    padding-top: 28px;
    padding-bottom: 28px;
}

.home-affiliate-status-graphic {
    display: grid;
    place-items: center;
    width: 92px;
    height: 92px;
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.1);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14);
    font-size: 46px;
}

.home-affiliate-status-card strong {
    margin: 0;
    color: #fff;
    font-family: "Lilita One Local", Arial, sans-serif;
    font-size: 28px;
    line-height: 1.04;
    letter-spacing: -0.03em;
}

.home-affiliate-status-card p,
.home-affiliate-status-card span {
    margin: 0;
    max-width: 320px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 15px;
    line-height: 1.6;
}

.home-affiliate-status-card span {
    color: rgba(255, 255, 255, 0.72);
}

.home-affiliate-tipbox--pending {
    background: rgba(78, 209, 63, 0.08);
}

.home-tab-switcher {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.home-tab-button {
    min-height: 44px;
    border: 0;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.075);
    color: rgba(255, 255, 255, 0.92);
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.home-tab-button.is-active {
    background: linear-gradient(180deg, #57dd4c, #35bf30);
    color: #f6fff5;
}

.home-tab-panel {
    display: none;
}

.home-tab-panel.is-active {
    display: block;
}

.home-info-card,
.home-affiliate-tipbox {
    padding: 16px;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(78, 209, 63, 0.14);
    background: rgba(78, 209, 63, 0.06);
}

.home-info-card h4,
.home-affiliate-tipbox h4 {
    margin: 0 0 12px;
    font-size: 18px;
}

.home-info-list {
    display: grid;
    gap: 10px;
}

.home-info-item {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border-radius: 15px;
    background: rgba(16, 17, 16, 0.32);
}

.home-info-item span {
    color: rgba(255, 255, 255, 0.66);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.home-info-item strong {
    overflow-wrap: anywhere;
}

.home-stat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.home-stat-card {
    display: grid;
    gap: 6px;
    padding: 14px;
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.home-stat-card span {
    color: rgba(255, 255, 255, 0.62);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.home-stat-card strong {
    font-size: 18px;
}

.home-inline-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.modal-primary--small,
.modal-secondary--small {
    min-height: 42px;
    border-radius: 12px;
    border: 0;
    cursor: pointer;
    font-size: 12px;
}

.home-modal-alert {
    display: grid;
    gap: 9px;
    margin-bottom: 14px;
    padding: 12px 14px 13px;
    border: 1px solid rgba(208, 86, 100, 0.36);
    border-radius: 16px;
    background:
        radial-gradient(circle at 50% -18%, rgba(237, 113, 118, 0.22), transparent 44%),
        linear-gradient(180deg, #922d3b 0%, #762133 52%, #541727 100%);
    color: #fff7f5;
    text-align: center;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        inset 0 -1px 0 rgba(22, 4, 10, 0.32),
        0 14px 28px rgba(45, 5, 16, 0.34),
        0 0 0 1px rgba(8, 18, 24, 0.28);
}

.home-modal-alert strong {
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.02em;
    line-height: 1;
}

.home-modal-alert > span:last-child {
    font-size: 11px;
    font-weight: 800;
    line-height: 1.45;
}

.deposit-countdown {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

.deposit-countdown span {
    display: grid;
    place-items: center;
    min-width: 32px;
    height: 32px;
    border-radius: 9px;
    background: #fff;
    color: #111;
    font-size: 16px;
    font-weight: 950;
    line-height: 1;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);
}

.deposit-countdown b {
    color: #fff;
    font-size: 19px;
    font-weight: 950;
    line-height: 1;
}

.home-helper-copy {
    margin: 0;
    color: rgba(255, 255, 255, 0.68);
    font-size: 13px;
    font-weight: 900;
}

.home-deposit-form {
    gap: 14px;
}

.home-helper-row {
    display: block;
}

.quick-amount-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.quick-amount-button {
    position: relative;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    border: 1px solid rgba(78, 209, 63, 0.22);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(70, 114, 49, 0.48), rgba(43, 77, 35, 0.58));
    color: #f3fff2;
    font: inherit;
    font-size: 15px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.quick-amount-button span {
    position: absolute;
    right: -10px;
    top: -13px;
    min-width: 92px;
    max-width: 118px;
    padding: 5px 8px 6px;
    border-radius: 999px;
    background: linear-gradient(180deg, #b95f13, #8e3906);
    color: #ffdb58;
    font-size: 9px;
    font-weight: 950;
    line-height: 1.05;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-align: center;
    white-space: normal;
    box-shadow: 0 7px 14px rgba(0, 0, 0, 0.22);
}

.register-field--deposit-value {
    position: relative;
    margin-top: 12px;
    overflow: visible;
}

.register-field--deposit-value > .deposit-value-label {
    display: block;
    color: rgba(234, 239, 232, 0.82);
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.055em;
}

.register-field--deposit-value input {
    min-height: 58px;
    padding: 0 18px;
    border-radius: 9px;
    border-color: rgba(67, 209, 61, 0.18);
    background: linear-gradient(180deg, rgba(31, 88, 28, 0.96), rgba(28, 76, 25, 0.94));
    color: #fff;
    font-size: 24px;
    font-weight: 900;
    text-align: center;
    letter-spacing: 0.01em;
}

.quick-amount-button.is-active {
    background: linear-gradient(180deg, #57dd4c, #35bf30);
    color: #fff;
    box-shadow: 0 10px 18px rgba(67, 209, 61, 0.16);
}

.quick-amount-button:focus-visible,
.register-field--deposit-value input:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.72);
    outline-offset: 3px;
}

.modal-shell[data-modal="deposit"] .home-helper-copy {
    color: rgba(231, 240, 249, 0.72);
}

.modal-shell[data-modal="deposit"] .quick-amount-button {
    border-color: rgba(78, 209, 63, 0.18);
    background: linear-gradient(180deg, rgba(63, 103, 45, 0.5), rgba(34, 65, 29, 0.66));
    color: rgba(244, 255, 242, 0.9);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.035),
        0 7px 13px rgba(0, 0, 0, 0.12);
}

.modal-shell[data-modal="deposit"] .quick-amount-button span {
    border: 1px solid rgba(255, 224, 105, 0.28);
    background: linear-gradient(180deg, #ffe063 0%, #ffc431 100%);
    color: #20334d;
    box-shadow: 0 7px 14px rgba(0, 0, 0, 0.2);
    transition: opacity 0.18s ease, transform 0.18s ease;
}

.modal-shell[data-modal="deposit"] .quick-amount-button.is-bonus-relocated span {
    opacity: 0;
    transform: translateY(12px) scale(0.9);
}

.modal-shell[data-modal="deposit"] .selected-deposit-bonus {
    position: absolute;
    z-index: 3;
    top: 11px;
    right: -10px;
    min-width: 126px;
    min-height: 31px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 6px 12px 7px;
    border: 1px solid rgba(255, 224, 105, 0.32);
    border-radius: 999px;
    background: linear-gradient(180deg, #ffe063 0%, #ffc431 100%);
    color: #20334d;
    font-size: 11px;
    font-weight: 950;
    line-height: 1;
    letter-spacing: 0.035em;
    text-align: center;
    text-transform: uppercase;
    pointer-events: none;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.3),
        0 8px 16px rgba(0, 0, 0, 0.24);
}

.modal-shell[data-modal="deposit"] .selected-deposit-bonus[hidden] {
    display: none;
}

.modal-shell[data-modal="deposit"] .selected-deposit-bonus.is-visible {
    animation: selectedDepositBonusDrop 0.42s cubic-bezier(0.2, 0.86, 0.3, 1.18) both;
}

.modal-shell[data-modal="deposit"] .selected-deposit-bonus strong {
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
}

.modal-shell[data-modal="deposit"] .selected-deposit-bonus__fire {
    display: inline-block;
    color: inherit;
    font-size: 17px;
    line-height: 1;
    letter-spacing: 0;
    transform-origin: 50% 88%;
    animation: selectedDepositBonusFire 0.72s ease-in-out infinite alternate;
}

@keyframes selectedDepositBonusDrop {
    0% {
        opacity: 0;
        transform: translateY(-18px) scale(0.86);
    }

    68% {
        opacity: 1;
        transform: translateY(3px) scale(1.025);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes selectedDepositBonusFire {
    0% {
        transform: translateY(1px) rotate(-4deg) scale(0.92, 1.02);
        filter: saturate(0.96) brightness(0.98);
    }

    100% {
        transform: translateY(-2px) rotate(4deg) scale(1.08, 1.14);
        filter: saturate(1.12) brightness(1.08);
    }
}

@media (prefers-reduced-motion: reduce) {
    .modal-shell[data-modal="deposit"] .selected-deposit-bonus.is-visible,
    .modal-shell[data-modal="deposit"] .selected-deposit-bonus__fire {
        animation: none;
    }
}

.modal-shell[data-modal="deposit"] .quick-amount-button.is-active {
    border-color: rgba(91, 232, 78, 0.72);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.13), transparent 42%),
        linear-gradient(180deg, #57dd4c 0%, #35bf30 100%);
    color: #fff;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        0 0 0 2px rgba(75, 211, 63, 0.08),
        0 10px 18px rgba(67, 209, 61, 0.16);
}

.modal-shell[data-modal="deposit"] .quick-amount-button:hover {
    border-color: rgba(116, 238, 102, 0.34);
}

.modal-shell[data-modal="deposit"] .register-field--deposit-value input {
    border-color: rgba(78, 209, 63, 0.2);
    background: linear-gradient(180deg, rgba(38, 75, 32, 0.82), rgba(20, 48, 23, 0.94));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.04),
        0 7px 13px rgba(0, 0, 0, 0.16);
}

.modal-shell[data-modal="deposit"] .register-field--deposit-value input:focus {
    border-color: rgba(104, 226, 91, 0.48);
    box-shadow: 0 0 0 3px rgba(78, 209, 63, 0.12);
}

.modal-shell[data-modal="deposit"] .deposit-limit-feedback {
    margin: -7px 2px 0;
    color: #f2c85b;
    font-size: 11px;
    font-weight: 850;
    line-height: 1.25;
    text-align: right;
}

.modal-shell[data-modal="deposit"] .deposit-limit-feedback[hidden] {
    display: none;
}

.stake-modal-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}

.modal-card--stake-choice {
    display: grid;
    width: min(100%, 600px);
    max-width: calc(100vw - 34px);
    padding: 24px 24px 20px;
    border: 7px solid #000;
    border-radius: 34px;
    background: #f4f4f1;
    box-shadow:
        0 24px 56px rgba(0, 0, 0, 0.32),
        0 0 0 1px rgba(255, 255, 255, 0.24) inset;
    color: #121212;
    --modal-close-size: 34px;
    --modal-close-radius: 12px;
    --modal-close-font-size: 18px;
    --modal-close-inset: 12px;
}

.modal-card--stake-choice .modal-close {
    background: #ffffff;
    border-width: 2px;
    border-color: #000;
    color: #000;
    box-shadow: 0 3px 0 #000;
}

.stake-choice-copy {
    display: grid;
    justify-items: center;
    gap: 16px;
    width: min(100%, 510px);
    margin-bottom: 20px;
    margin-left: auto;
    margin-right: auto;
    padding-inline: 10px;
    text-align: center;
}

.stake-choice-copy h3 {
    margin: 0;
    font-family: "Titan One Local", "Lilita One Local", Arial, sans-serif;
    font-size: clamp(24px, 3.2vw, 34px);
    line-height: 0.9;
    letter-spacing: 0;
    text-transform: uppercase;
    color: #111;
    text-align: center;
}

.stake-choice-copy p {
    margin: 0;
    width: min(100%, 430px);
    margin-left: auto;
    margin-right: auto;
    font-size: clamp(18px, 2vw, 20px);
    line-height: 1.45;
    color: #171717;
    text-align: center;
}

.stake-choice-field {
    display: grid;
    gap: 10px;
    width: min(100%, 510px);
    margin-bottom: 16px;
    margin-left: auto;
    margin-right: auto;
}

.stake-choice-field span {
    font-family: "Lilita One Local", Arial, sans-serif;
    font-size: 18px;
    line-height: 1.1;
    color: #111;
}

.stake-choice-selected-value {
    min-height: 60px;
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0 18px;
    border: 3px solid #000;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 0 rgba(0, 0, 0, 0.3);
    font-family: "Lilita One Local", Arial, sans-serif;
    font-size: 23px;
    line-height: 1;
    color: #111;
}

.stake-choice-selected-value.is-placeholder {
    color: rgba(17, 17, 17, 0.48);
}

.stake-choice-selected-value.is-insufficient {
    border-color: #ef4444;
    box-shadow:
        0 8px 0 rgba(248, 113, 113, 0.34),
        0 0 0 1px rgba(0, 0, 0, 0.22);
}

.stake-choice-inline-alert {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
    padding: 12px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 12px;
    color: #dc2626;
    animation: stakeChoiceAlertSlideDown 0.3s ease-out;
}

.stake-choice-inline-alert[hidden] {
    display: none !important;
}

.stake-choice-inline-alert__icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    font-size: 17px;
    line-height: 1;
    background: transparent;
    color: transparent;
    font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
}

.stake-choice-inline-alert__text {
    min-width: 0;
    color: #dc2626;
    font-family: "Roboto Mono", monospace;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.35;
}

.stake-choice-topup-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: min(100%, 252px);
    min-height: 44px;
    margin: 10px auto 2px;
    padding: 0 18px;
    border: 0;
    border-radius: 8px;
    background: linear-gradient(180deg, #37bf45 0%, #249e33 100%);
    box-shadow: 0 4px 0 #0f5e1d;
    color: #fff;
    cursor: pointer;
    font-family: "Titan One Local", "Lilita One Local", Arial, sans-serif;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 0.03em;
    text-align: center;
    text-transform: uppercase;
}

.stake-choice-topup-button[hidden] {
    display: none !important;
}

.stake-choice-topup-button:hover {
    filter: brightness(1.03);
}

@keyframes stakeChoiceAlertSlideDown {
    0% {
        opacity: 0;
        transform: translateY(-10px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.stake-choice-options {
    display: grid;
    width: min(100%, 510px);
    gap: 10px;
    margin-left: auto;
    margin-right: auto;
}

.stake-choice-option {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0 16px;
    border: 0;
    border-radius: 10px;
    background: #ea2527;
    box-shadow: 0 6px 0 #000;
    color: #fff;
    cursor: pointer;
    font: inherit;
    text-align: center;
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.stake-choice-option strong {
    font-family: "Titan One Local", "Lilita One Local", Arial, sans-serif;
    font-size: 22px;
    line-height: 1;
    letter-spacing: 0;
    color: inherit;
}

.stake-choice-option:hover {
    transform: translateY(-1px);
}

.stake-choice-option.is-selected,
.stake-choice-option[aria-pressed="true"] {
    background: #cf161d;
    box-shadow: 0 7px 0 #000;
}

.stake-choice-option--low-balance {
    filter: saturate(0.84);
}

.stake-choice-actions {
    margin-top: 14px;
    width: min(100%, 510px);
    margin-left: auto;
    margin-right: auto;
    justify-items: center;
}

.stake-choice-run {
    min-width: 0;
    width: auto;
    padding: 0 34px;
    min-height: 58px;
    border: 0;
    border-radius: 12px;
    background: #ea2527;
    box-shadow: none;
}

.stake-choice-run__label {
    font-family: "Titan One Local", "Lilita One Local", Arial, sans-serif;
    font-size: 22px;
    line-height: 1;
    letter-spacing: 0;
    color: #fff;
}

.stake-choice-run:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.stake-modal-card {
    min-height: 104px;
    display: grid;
    align-content: center;
    gap: 6px;
    padding: 14px 12px;
    border: 1px solid rgba(78, 209, 63, 0.18);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(60, 95, 47, 0.42), rgba(41, 72, 34, 0.56));
    color: #fff;
    cursor: pointer;
    font: inherit;
    text-align: center;
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.stake-modal-card strong {
    font-size: 18px;
    font-family: "Lilita One Local", Arial, sans-serif;
}

.stake-modal-card span {
    color: #b9f7b0;
    font-size: 12px;
    font-weight: 700;
}

.stake-modal-card__recovery-chip {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    justify-self: center;
    margin-top: 2px;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(255, 211, 70, 0.2);
    border: 1px solid rgba(255, 211, 70, 0.34);
    color: #ffe27b;
    font-size: 10px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.stake-modal-card--low-balance span {
    color: #ffe36c;
}

.stake-modal-card.is-selected,
.stake-modal-card[aria-pressed="true"] {
    border-color: rgba(255, 212, 71, 0.86);
    background: linear-gradient(180deg, #ffd84f, #efb929);
    color: #1a170c;
    box-shadow: 0 14px 28px rgba(255, 212, 71, 0.2);
    transform: translateY(-2px);
}

.stake-modal-card.is-selected span,
.stake-modal-card[aria-pressed="true"] span {
    color: #3d3200;
}

.stake-modal-card.is-selected .stake-modal-card__recovery-chip,
.stake-modal-card[aria-pressed="true"] .stake-modal-card__recovery-chip {
    background: rgba(61, 50, 0, 0.12);
    border-color: rgba(61, 50, 0, 0.18);
    color: #5c4a00;
}

.stake-modal-confirm {
    margin-top: 10px;
    padding: 0;
    border: 0;
    border-radius: 19px;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

.stake-modal-confirm__face {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    min-height: 72px;
    padding: 0 24px;
    border-radius: 19px;
    border: 3px solid #452116;
    background:
        linear-gradient(180deg, rgba(255, 247, 206, 0.44) 0%, rgba(255, 247, 206, 0.08) 18%, rgba(255, 247, 206, 0) 32%),
        linear-gradient(180deg, #ffd957 0%, #ffd24c 42%, #ffc33a 72%, #f3a341 100%);
    box-shadow:
        inset 0 2px 0 rgba(255, 251, 228, 0.55),
        inset 0 -8px 0 rgba(225, 141, 39, 0.7),
        0 4px 0 #5a2b16,
        0 10px 16px rgba(0, 0, 0, 0.22);
    position: relative;
}

.stake-modal-confirm__face::before {
    content: "";
    position: absolute;
    left: 10px;
    right: 10px;
    top: 7px;
    height: 18px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(255, 250, 219, 0.46), rgba(255, 250, 219, 0));
    pointer-events: none;
}

.stake-modal-confirm__face::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 18px;
    border-radius: 0 0 16px 16px;
    background: linear-gradient(180deg, rgba(242, 159, 53, 0) 0%, rgba(235, 144, 35, 0.62) 100%);
    pointer-events: none;
}

.stake-modal-confirm__icon {
    display: inline-flex;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    position: relative;
    z-index: 1;
}

.stake-modal-confirm__icon svg {
    width: 100%;
    height: 100%;
    overflow: visible;
}

.stake-modal-confirm__icon .runner-outline,
.stake-modal-confirm__icon .runner-fill {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.stake-modal-confirm__icon .runner-outline {
    stroke: #352117;
    stroke-width: 9;
}

.stake-modal-confirm__icon .runner-fill {
    stroke: #ffffff;
    stroke-width: 5.2;
}

.stake-modal-confirm__label {
    display: inline-block;
    position: relative;
    z-index: 1;
    font-family: "Titan One Local", "Lilita One Local", Arial, sans-serif;
    font-size: clamp(20px, 4.9vw, 27px);
    line-height: 1;
    letter-spacing: 0.025em;
    text-transform: uppercase;
    white-space: nowrap;
    color: #fffefa;
    text-shadow:
        -1px 0 #352117,
        0 1px #352117,
        1px 0 #352117,
        0 -1px #352117,
        0 2px 0 rgba(74, 39, 18, 0.42);
}

.stake-modal-confirm:disabled {
    cursor: not-allowed;
}

.stake-modal-confirm:disabled .stake-modal-confirm__face {
    border-color: #4f4a39;
    background:
        linear-gradient(180deg, rgba(255, 247, 206, 0.26) 0%, rgba(255, 247, 206, 0.04) 18%, rgba(255, 247, 206, 0) 32%),
        linear-gradient(180deg, #d7c98b 0%, #cfbf80 42%, #bcaa67 72%, #9c8452 100%);
    box-shadow:
        inset 0 2px 0 rgba(255, 251, 228, 0.36),
        inset 0 -8px 0 rgba(136, 108, 52, 0.5),
        0 4px 0 rgba(61, 52, 31, 0.82),
        0 10px 16px rgba(0, 0, 0, 0.16);
}

.stake-modal-confirm:disabled .stake-modal-confirm__icon .runner-outline {
    stroke: #453c2c;
}

.stake-modal-confirm:disabled .stake-modal-confirm__icon .runner-fill {
    stroke: #f5efdc;
}

.stake-modal-confirm:disabled .stake-modal-confirm__label {
    color: #f6f1de;
    text-shadow:
        -1px 0 #453c2c,
        0 1px #453c2c,
        1px 0 #453c2c,
        0 -1px #453c2c,
        0 2px 0 rgba(74, 66, 50, 0.2);
}

.modal-card--low-balance .modal-copy h3 {
    max-width: 310px;
}

.low-balance-title-line {
    display: block;
}

.modal-card--low-balance .modal-copy--compact {
    margin-bottom: 8px;
}

.modal-card--withdraw {
    padding-top: 46px;
}

.modal-card--withdraw .modal-copy h3 {
    max-width: calc(100% - 34px);
    font-size: clamp(22px, 5.2vw, 32px);
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.modal-card--withdraw .modal-copy h3 .withdraw-title-line {
    display: block;
    white-space: nowrap;
}

.modal-card--withdraw .modal-copy h3.withdraw-title--locked {
    color: #f5c545;
}

.modal-card--withdraw .modal-copy p {
    font-size: clamp(17px, 3.9vw, 21px);
    line-height: 1.46;
}

.modal-card--withdraw .modal-copy p + p {
    margin-top: 10px;
}

.withdraw-highlight-text {
    color: #ffe68f;
    font-weight: 900;
}

.withdraw-first-deposit-card {
    position: relative;
    display: flex;
    justify-content: center;
    overflow: hidden;
    width: min(100%, 560px);
    margin: 10px auto 0;
    padding: 26px 22px 24px;
    border-radius: 24px;
    border: 1px solid rgba(114, 221, 89, 0.22);
    background:
        radial-gradient(circle at top right, rgba(116, 232, 77, 0.18), transparent 36%),
        radial-gradient(circle at bottom left, rgba(255, 220, 102, 0.14), transparent 30%),
        linear-gradient(180deg, rgba(20, 53, 28, 0.92), rgba(10, 21, 12, 0.96));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 18px 32px rgba(0, 0, 0, 0.18);
}

.withdraw-first-deposit-card__glow {
    position: absolute;
    inset: auto -40px -48px auto;
    width: 180px;
    height: 180px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(120, 255, 91, 0.26), rgba(120, 255, 91, 0));
    pointer-events: none;
}

.withdraw-first-deposit-card__content {
    position: relative;
    display: grid;
    justify-items: center;
    width: min(100%, 420px);
    gap: 14px;
    text-align: center;
}

.withdraw-first-deposit-card strong {
    color: #ffffff;
    font-family: "Lilita One Local", Arial, sans-serif;
    font-size: clamp(24px, 5vw, 30px);
    line-height: 1.05;
    letter-spacing: -0.03em;
    text-align: center;
}

.withdraw-first-deposit-card p {
    margin: 0;
    color: #9ff26a;
    font-size: clamp(15px, 3.4vw, 18px);
    font-weight: 900;
    line-height: 1.18;
    letter-spacing: 0.12em;
    text-align: center;
    text-transform: uppercase;
}

.withdraw-rollover-card {
    display: grid;
    gap: 14px;
    margin-top: 6px;
    padding: 18px 16px 16px;
    border-radius: 24px;
    border: 1px solid rgba(86, 172, 255, 0.24);
    background:
        radial-gradient(circle at top, rgba(76, 174, 255, 0.18), transparent 42%),
        linear-gradient(180deg, rgba(10, 54, 111, 0.58), rgba(6, 25, 57, 0.46));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 18px 32px rgba(0, 0, 0, 0.18);
}

.withdraw-rollover-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.withdraw-rollover-badge {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(255, 206, 76, 0.18);
    border: 1px solid rgba(255, 206, 76, 0.22);
    color: #ffe57c;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1.25;
    text-align: center;
    text-transform: uppercase;
}

.withdraw-rollover-topline strong {
    color: #fff7c2;
    font-family: "Lilita One Local", Arial, sans-serif;
    font-size: 26px;
    line-height: 1;
    letter-spacing: -0.02em;
}

.withdraw-rollover-track {
    position: relative;
    height: 18px;
    margin: 4px 2px 0;
    border-radius: 999px;
    border: 2px solid #3d2e06;
    background: linear-gradient(180deg, #ffd54e, #ffca2b 52%, #e9ae17 100%);
    box-shadow:
        inset 0 2px 0 rgba(255, 244, 198, 0.5),
        0 4px 0 rgba(76, 50, 0, 0.48);
}

.withdraw-rollover-fill {
    position: absolute;
    inset: 0 auto 0 0;
    border-radius: 999px;
    background:
        linear-gradient(180deg, rgba(255, 249, 211, 0.48), rgba(255, 249, 211, 0) 42%),
        linear-gradient(180deg, #ffe277, #ffd13d 52%, #efb120 100%);
}

.withdraw-rollover-step {
    position: absolute;
    top: 50%;
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    border: 2px solid #574400;
    background: linear-gradient(180deg, #8e7440, #735a24);
    color: transparent;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
    transform: translate(-50%, -50%);
    box-shadow: 0 4px 0 rgba(55, 39, 6, 0.42);
}

.withdraw-rollover-step.is-edge-start {
    transform: translate(0, -50%);
}

.withdraw-rollover-step.is-edge-end {
    transform: translate(-100%, -50%);
}

.withdraw-rollover-step.is-complete {
    border-color: #31790f;
    background: linear-gradient(180deg, #91ee3c, #62cf1e);
    color: #fff;
    box-shadow:
        inset 0 1px 0 rgba(237, 255, 219, 0.42),
        0 4px 0 rgba(29, 85, 8, 0.48);
}

.withdraw-rollover-caption {
    margin: 2px 0 0;
    color: rgba(236, 244, 255, 0.9);
    font-size: 12px;
    line-height: 1.45;
    font-weight: 800;
    text-align: center;
}

.withdraw-rollover-actions {
    margin-top: 16px;
}

.withdraw-first-deposit-card .modal-primary--withdraw-unlock {
    width: 100%;
    margin-top: 6px;
    background: linear-gradient(180deg, #69e34d 0%, #56d53a 54%, #3fbb28 100%);
    color: #ffffff;
    box-shadow:
        0 12px 28px rgba(80, 208, 53, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.withdraw-first-deposit-card .modal-primary--withdraw-unlock:hover {
    filter: brightness(1.03);
}

/* Saque: mesma identidade premium do perfil, sem alterar conteúdo ou regras. */
.modal-shell[data-modal="withdraw"] {
    padding: 12px 9px;
}

.modal-shell[data-modal="withdraw"] .modal-backdrop {
    background:
        radial-gradient(circle at 50% 16%, rgba(30, 124, 197, 0.16), transparent 34%),
        rgba(3, 8, 16, 0.84);
    -webkit-backdrop-filter: blur(11px) saturate(0.84);
    backdrop-filter: blur(11px) saturate(0.84);
}

.modal-shell[data-modal="withdraw"] .modal-card--withdraw {
    --modal-close-size: 38px;
    --modal-close-radius: 12px;
    --modal-close-font-size: 22px;
    width: min(calc(100vw - 18px), 430px);
    max-width: calc(100vw - 18px);
    max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 18px);
    padding: 48px 14px 16px;
    overflow-x: hidden;
    overflow-y: auto;
    border: 2px solid #102747;
    border-radius: 24px;
    background:
        radial-gradient(circle at 50% 0%, rgba(40, 137, 214, 0.17), transparent 35%),
        linear-gradient(180deg, #12375c 0%, #0c2946 50%, #091c31 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        inset 0 -2px 0 rgba(4, 37, 69, 0.58),
        0 6px 0 #082f5c,
        0 25px 70px rgba(0, 0, 0, 0.56);
}

.modal-shell[data-modal="withdraw"] .modal-copy--compact {
    gap: 6px;
    margin-bottom: 10px;
    padding-right: 34px;
}

.modal-shell[data-modal="withdraw"] .modal-copy h3,
.modal-shell[data-modal="withdraw"] .modal-copy h3.withdraw-title--locked {
    max-width: 100%;
    color: #fff;
    font-size: clamp(22px, 6.3vw, 29px);
    line-height: 1;
    letter-spacing: -0.02em;
    text-shadow: 0 2px 0 rgba(3, 27, 51, 0.74);
}

.modal-shell[data-modal="withdraw"] .modal-copy h3.withdraw-title--locked {
    color: #ffd355;
}

.modal-shell[data-modal="withdraw"] .modal-copy h3 .withdraw-title-line {
    white-space: normal;
}

.modal-shell[data-modal="withdraw"] .modal-copy p {
    color: rgba(226, 240, 251, 0.76);
    font-size: 12px;
    line-height: 1.38;
}

.modal-shell[data-modal="withdraw"] .modal-copy p + p {
    margin-top: 4px;
}

.modal-shell[data-modal="withdraw"] .register-modal-form {
    gap: 9px;
    margin-top: 8px;
}

.modal-shell[data-modal="withdraw"] .register-field {
    gap: 4px;
}

.modal-shell[data-modal="withdraw"] .register-field span {
    color: rgba(219, 236, 249, 0.68);
    font-size: 10px;
}

.modal-shell[data-modal="withdraw"] .register-field input {
    min-height: 48px;
    padding-inline: 13px;
    border-color: rgba(74, 158, 220, 0.24);
    border-radius: 11px;
    background: linear-gradient(180deg, rgba(17, 68, 112, 0.88), rgba(10, 50, 87, 0.94));
    color: #fff;
    font-size: 14px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.045),
        0 3px 0 rgba(4, 34, 63, 0.34);
}

.modal-shell[data-modal="withdraw"] .register-field input:focus {
    border-color: rgba(76, 185, 239, 0.68);
    box-shadow: 0 0 0 3px rgba(38, 142, 209, 0.14);
}

.modal-shell[data-modal="withdraw"] .register-terms {
    margin-top: 1px;
    color: rgba(218, 232, 243, 0.62);
    font-size: 10px;
    line-height: 1.35;
}

.modal-shell[data-modal="withdraw"] .withdraw-first-deposit-card {
    margin-top: 3px;
    padding: 15px 14px 16px;
    overflow: hidden;
    border-color: rgba(71, 164, 227, 0.24);
    border-radius: 17px;
    background:
        radial-gradient(circle at 92% 20%, rgba(255, 210, 69, 0.13), transparent 28%),
        radial-gradient(circle at 12% 0%, rgba(55, 161, 226, 0.14), transparent 38%),
        linear-gradient(180deg, rgba(22, 76, 121, 0.9), rgba(10, 43, 76, 0.96));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 6px 0 rgba(4, 35, 64, 0.3);
}

.modal-shell[data-modal="withdraw"] .withdraw-first-deposit-card__content {
    z-index: 2;
    width: 100%;
    gap: 10px;
}

.modal-shell[data-modal="withdraw"] .withdraw-first-deposit-card__glow {
    right: -34px;
    bottom: auto;
    top: -40px;
    width: 170px;
    height: 170px;
    background: radial-gradient(circle, rgba(255, 211, 65, 0.14), rgba(255, 211, 65, 0));
}

.modal-shell[data-modal="withdraw"] .withdraw-first-deposit-hero {
    width: 100%;
    min-height: 112px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 118px;
    align-items: center;
    gap: 4px;
    overflow: visible;
}

.modal-shell[data-modal="withdraw"] .withdraw-first-deposit-hero strong {
    position: relative;
    z-index: 2;
    text-align: left;
}

.modal-shell[data-modal="withdraw"] .withdraw-first-deposit-coin {
    --withdraw-coin-size: 96px;
    position: relative;
    z-index: 1;
    width: var(--withdraw-coin-size);
    height: var(--withdraw-coin-size);
    display: block;
    margin: 0 auto;
    justify-self: end;
    background: url("./moeda-subway-modal.png") center / contain no-repeat;
    transform: rotate(-5deg);
    transform-origin: center;
    filter:
        drop-shadow(0 7px 0 rgba(122, 69, 0, 0.28))
        drop-shadow(0 12px 10px rgba(0, 0, 0, 0.28));
    animation: withdrawOriginalCoinFloat 2.35s ease-in-out infinite;
}

@keyframes withdrawOriginalCoinFloat {
    0%, 100% {
        transform: translateY(4px) scale(1) rotate(-7deg);
    }
    46% {
        transform: translateY(-7px) scale(1.05) rotate(4deg);
    }
    58% {
        transform: translateY(-5px) scale(1.035) rotate(1deg);
    }
}

.modal-shell[data-modal="withdraw"] .withdraw-first-deposit-card strong {
    font-size: clamp(20px, 5.8vw, 26px);
    line-height: 1.03;
}

.modal-shell[data-modal="withdraw"] .withdraw-first-deposit-card p {
    width: 100%;
    min-height: 31px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px 10px 7px;
    border: 1px solid rgba(255, 211, 85, 0.24);
    border-radius: 9px;
    background: linear-gradient(180deg, rgba(8, 51, 88, 0.84), rgba(6, 40, 72, 0.9));
    color: #ffd355;
    font-size: 11px;
    letter-spacing: 0.08em;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.035),
        0 3px 0 rgba(4, 30, 57, 0.26);
}

.modal-shell[data-modal="withdraw"] .withdraw-rollover-card {
    gap: 10px;
    margin-top: 3px;
    padding: 14px 12px 13px;
    border-color: rgba(71, 164, 227, 0.24);
    border-radius: 17px;
    background:
        radial-gradient(circle at 50% 0%, rgba(65, 160, 226, 0.14), transparent 43%),
        linear-gradient(180deg, rgba(17, 68, 113, 0.9), rgba(8, 39, 72, 0.94));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.055),
        0 6px 0 rgba(4, 33, 62, 0.28);
}

.modal-shell[data-modal="withdraw"] .withdraw-rollover-badge {
    min-height: 27px;
    padding: 5px 9px;
    border-radius: 8px;
    font-size: 9px;
}

.modal-shell[data-modal="withdraw"] .withdraw-rollover-topline {
    gap: 7px;
}

.modal-shell[data-modal="withdraw"] .withdraw-rollover-topline strong {
    font-size: 21px;
}

.modal-shell[data-modal="withdraw"] .withdraw-rollover-caption {
    font-size: 11px;
    line-height: 1.35;
}

.modal-shell[data-modal="withdraw"] .withdraw-rollover-actions {
    margin-top: 11px;
}

@media (max-height: 720px) {
    .modal-shell[data-modal="withdraw"] {
        padding-block: 7px;
    }

    .modal-shell[data-modal="withdraw"] .modal-card--withdraw {
        max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 12px);
        padding: 43px 11px 12px;
    }

    .modal-shell[data-modal="withdraw"] .register-modal-form {
        gap: 7px;
    }

    .modal-shell[data-modal="withdraw"] .register-field input {
        min-height: 44px;
    }

    .modal-shell[data-modal="withdraw"] .withdraw-first-deposit-card,
    .modal-shell[data-modal="withdraw"] .withdraw-rollover-card {
        padding-block: 12px;
    }

    .modal-shell[data-modal="withdraw"] .withdraw-first-deposit-hero {
        min-height: 96px;
        grid-template-columns: minmax(0, 1fr) 100px;
    }

    .modal-shell[data-modal="withdraw"] .withdraw-first-deposit-coin {
        --withdraw-coin-size: 86px;
    }
}

@media (max-width: 350px) {
    .modal-shell[data-modal="withdraw"] .withdraw-first-deposit-hero {
        grid-template-columns: minmax(0, 1fr) 86px;
    }

    .modal-shell[data-modal="withdraw"] .withdraw-first-deposit-coin {
        --withdraw-coin-size: 80px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .modal-shell[data-modal="withdraw"] .withdraw-first-deposit-coin {
        animation: none;
    }
}

.modal-chip--warning {
    background: rgba(255, 212, 71, 0.16);
    color: #ffe36c;
}

.low-balance-minimum-value {
    color: #ffe36c;
    font-weight: 800;
}

.low-balance-summary {
    display: grid;
    gap: 10px;
    margin-top: 14px;
    padding: 15px 16px 16px;
    border-radius: 18px;
    border: 1px solid rgba(255, 212, 71, 0.24);
    background:
        radial-gradient(circle at top, rgba(255, 212, 71, 0.14), transparent 54%),
        rgba(255, 255, 255, 0.045);
}

.low-balance-summary__top {
    display: flex;
    align-items: center;
    gap: 10px;
}

.low-balance-summary__top span {
    color: rgba(255, 255, 255, 0.68);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.low-balance-summary__value-row {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.low-balance-summary strong {
    color: #fff2a8;
    font-size: 31px;
    font-family: "Lilita One Local", Arial, sans-serif;
    line-height: 1;
}

.low-balance-summary__value-row small {
    display: inline-flex;
    align-items: center;
    min-height: 0;
    padding: 0;
    color: #ffe68f;
    font-size: 11px;
    font-weight: 950;
    line-height: 1.1;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    white-space: nowrap;
}

.low-balance-quick-grid {
    margin-top: 12px;
}

.register-field--low-balance-value {
    margin-top: 10px;
}

.register-field--low-balance-value input[readonly] {
    cursor: default;
}

.low-balance-helper {
    margin: 1px 2px 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 12px;
    line-height: 1.45;
    font-weight: 700;
    min-height: 34px;
}

.low-balance-helper--empty {
    color: transparent;
    user-select: none;
}

.low-balance-helper--secure {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-align: center;
    text-transform: uppercase;
}

.low-balance-helper--secure span {
    font-size: 13px;
    line-height: 1;
}

@media (max-height: 600px) {
    .modal-shell[data-modal="low-balance"] {
        padding:
            max(6px, env(safe-area-inset-top))
            8px
            max(6px, env(safe-area-inset-bottom));
    }

    .modal-shell[data-modal="low-balance"] .modal-card--low-balance {
        max-width: calc(100vw - 16px);
        max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 12px);
        padding: 12px 16px 10px;
    }

    .modal-shell[data-modal="low-balance"] .modal-copy {
        gap: 4px;
        padding-right: 26px;
    }

    .modal-shell[data-modal="low-balance"] .modal-copy h3 {
        font-size: 26px;
        line-height: 0.94;
    }

    .modal-shell[data-modal="low-balance"] .modal-copy p {
        font-size: 12px;
        line-height: 1.35;
    }

    .modal-shell[data-modal="low-balance"] .modal-copy--compact {
        margin-bottom: 4px;
    }

    .modal-shell[data-modal="low-balance"] .low-balance-summary {
        gap: 4px;
        margin-top: 8px;
        padding: 9px 12px 10px;
        border-radius: 15px;
    }

    .modal-shell[data-modal="low-balance"] .low-balance-summary strong {
        font-size: 27px;
    }

    .modal-shell[data-modal="low-balance"] .low-balance-quick-grid {
        gap: 6px 10px;
        margin-top: 8px;
    }

    .modal-shell[data-modal="low-balance"] .quick-amount-button {
        min-height: 38px;
        border-radius: 13px;
        font-size: 13px;
    }

    .modal-shell[data-modal="low-balance"] .register-field--low-balance-value {
        gap: 4px;
        margin-top: 6px;
    }

    .modal-shell[data-modal="low-balance"] .register-field--low-balance-value input {
        min-height: 46px;
        font-size: 21px;
    }

    .modal-shell[data-modal="low-balance"] .low-balance-helper {
        min-height: 22px;
        margin-top: 0;
        font-size: 10px;
        line-height: 1.2;
    }

    .modal-shell[data-modal="low-balance"] .modal-actions {
        margin-top: 5px;
    }

    .modal-shell[data-modal="low-balance"] .modal-primary {
        min-height: 44px;
        border-radius: 13px;
        font-size: 12px;
    }
}

.home-deposit-notice {
    margin: 6px 2px 2px;
    min-height: 0;
}

.stake-modal-card:hover,
.quick-amount-button:hover {
    transform: translateY(-1px);
    border-color: rgba(116, 238, 102, 0.34);
}

.stake-modal-card.is-selected:hover,
.stake-modal-card[aria-pressed="true"]:hover {
    border-color: rgba(255, 212, 71, 0.9);
    transform: translateY(-2px);
}

.stake-modal-confirm:hover:not(:disabled) {
    transform: none;
}

.stake-modal-confirm:hover:not(:disabled) .stake-modal-confirm__face {
    box-shadow:
        inset 0 2px 0 rgba(255, 251, 228, 0.65),
        inset 0 -8px 0 rgba(225, 141, 39, 0.76),
        0 4px 0 #5a2b16,
        0 12px 18px rgba(0, 0, 0, 0.24);
}

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

.home-payment-state {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 34px;
    margin: 0 auto 14px;
    padding: 0 14px;
    border-radius: 999px;
    background: rgba(255, 214, 0, 0.16);
    color: #ffe36c;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.home-payment-state[data-state="success"] {
    background: rgba(78, 209, 63, 0.16);
    color: #9ef18e;
}

.home-payment-state[data-state="error"] {
    background: rgba(255, 96, 96, 0.12);
    color: #ffb0b0;
}

.home-payment-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.home-payment-meta-item {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.045);
    border: 1px solid rgba(255, 255, 255, 0.035);
}

.home-payment-meta-item span {
    color: rgba(255, 255, 255, 0.62);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.home-qr-box {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 212px;
    margin-bottom: 14px;
    overflow: hidden;
    border-radius: var(--radius-lg);
    background:
        radial-gradient(circle at top, rgba(78, 209, 63, 0.06), transparent 58%),
        rgba(255, 255, 255, 0.035);
    border: 1px dashed rgba(78, 209, 63, 0.22);
}

.home-qr-mount {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.home-qr-mount canvas,
.home-qr-mount img,
.home-qr-mount table {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: 100%;
    max-height: 100%;
    margin: 0;
    object-fit: contain;
}

.home-payment-success {
    display: grid;
    gap: 12px;
    justify-items: center;
    margin-top: 8px;
    padding: 22px 18px;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(78, 209, 63, 0.24);
    background:
        radial-gradient(circle at top, rgba(93, 221, 79, 0.12), transparent 56%),
        linear-gradient(180deg, rgba(78, 209, 63, 0.12), rgba(18, 22, 18, 0.22));
    text-align: center;
}

.home-payment-success[hidden] {
    display: none !important;
}

.home-payment-success-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    background: rgba(78, 209, 63, 0.16);
    color: #9ef18e;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.home-payment-success h4 {
    margin: 0;
    font-family: "Lilita One Local", Arial, sans-serif;
    font-size: 28px;
    line-height: 0.98;
}

.home-payment-success p {
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.5;
}

.home-payment-success strong {
    font-size: 26px;
    color: #fff2a8;
}

.register-field--textarea textarea {
    width: 100%;
    min-height: 110px;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.04);
    color: #fff;
    font: inherit;
    font-size: 14px;
    line-height: 1.5;
    resize: none;
}

.register-field--textarea textarea:focus {
    outline: none;
    border-color: rgba(78, 209, 63, 0.5);
    box-shadow: 0 0 0 3px rgba(78, 209, 63, 0.14);
}

.home-affiliate-tipbox ul {
    display: grid;
    gap: 10px;
    margin: 0;
    padding-left: 18px;
    color: rgba(255, 255, 255, 0.84);
    line-height: 1.5;
}

/* Indique e Ganhe: transplante visual para a identidade premium do funil. */
.modal-shell[data-modal="affiliate"] {
    padding: 12px 9px;
}

.modal-shell[data-modal="affiliate"] .modal-backdrop {
    background:
        radial-gradient(circle at 50% 16%, rgba(30, 124, 197, 0.16), transparent 34%),
        rgba(3, 8, 16, 0.84);
    -webkit-backdrop-filter: blur(11px) saturate(0.84);
    backdrop-filter: blur(11px) saturate(0.84);
}

.modal-shell[data-modal="affiliate"] .modal-card--affiliate {
    width: min(calc(100vw - 18px), 430px);
    max-width: calc(100vw - 18px);
    max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 18px);
    gap: 10px;
    padding: 48px 14px 16px;
    overflow-x: hidden;
    overflow-y: auto;
    border: 2px solid #102747;
    border-radius: 24px;
    background:
        radial-gradient(circle at 50% 0%, rgba(40, 137, 214, 0.17), transparent 35%),
        linear-gradient(180deg, #12375c 0%, #0c2946 50%, #091c31 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        inset 0 -2px 0 rgba(4, 37, 69, 0.58),
        0 6px 0 #082f5c,
        0 25px 70px rgba(0, 0, 0, 0.56);
}

.modal-shell[data-modal="affiliate"] .home-panel-hero--affiliate,
.modal-shell[data-modal="affiliate"] .home-affiliate-status-card {
    gap: 8px;
    margin: 0;
    padding: 17px 14px;
    border: 1px solid rgba(71, 164, 227, 0.25);
    border-radius: 17px;
    background:
        radial-gradient(circle at 50% 0%, rgba(67, 167, 229, 0.18), transparent 44%),
        linear-gradient(180deg, rgba(20, 76, 122, 0.92), rgba(9, 43, 77, 0.96));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.065),
        0 5px 0 rgba(4, 35, 64, 0.28);
}

.modal-shell[data-modal="affiliate"] .home-panel-avatar,
.modal-shell[data-modal="affiliate"] .home-affiliate-status-graphic {
    width: 66px;
    height: 66px;
    border: 1px solid rgba(255, 211, 85, 0.22);
    border-radius: 18px;
    background:
        radial-gradient(circle at 50% 25%, rgba(255, 214, 70, 0.18), transparent 48%),
        linear-gradient(180deg, rgba(21, 83, 132, 0.92), rgba(10, 49, 87, 0.94));
    font-size: 33px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 4px 0 rgba(4, 35, 64, 0.3);
}

.modal-shell[data-modal="affiliate"] .home-panel-hero--affiliate strong,
.modal-shell[data-modal="affiliate"] .home-affiliate-status-card strong {
    color: #fff;
    font-size: clamp(22px, 6vw, 26px);
    line-height: 1;
    text-shadow: 0 2px 0 rgba(3, 27, 51, 0.72);
}

.modal-shell[data-modal="affiliate"] .home-panel-hero--affiliate span,
.modal-shell[data-modal="affiliate"] .home-affiliate-status-card p,
.modal-shell[data-modal="affiliate"] .home-affiliate-status-card > span {
    color: rgba(222, 237, 248, 0.78);
    font-size: 12px;
    line-height: 1.38;
}

.modal-shell[data-modal="affiliate"] .home-affiliate-tipbox {
    padding: 12px 14px;
    border: 1px solid rgba(71, 164, 227, 0.18);
    border-radius: 15px;
    background: linear-gradient(180deg, rgba(11, 52, 89, 0.88), rgba(7, 38, 68, 0.94));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.modal-shell[data-modal="affiliate"] .home-affiliate-tipbox h4 {
    margin: 0 0 8px;
    color: #ffd355;
    font-size: 14px;
    line-height: 1.1;
}

.modal-shell[data-modal="affiliate"] .home-affiliate-tipbox ul {
    gap: 6px;
    padding-left: 17px;
    color: rgba(222, 237, 248, 0.74);
    font-size: 11px;
    line-height: 1.35;
}

.modal-shell[data-modal="affiliate"] .home-affiliate-tipbox li::marker {
    color: #ffd355;
}

.modal-shell[data-modal="affiliate"] .home-stat-grid--affiliate {
    gap: 8px;
    margin: 0;
}

.modal-shell[data-modal="affiliate"] .home-stat-card {
    gap: 4px;
    padding: 11px 12px;
    border-color: rgba(71, 164, 227, 0.18);
    border-radius: 13px;
    background: linear-gradient(180deg, rgba(17, 70, 113, 0.88), rgba(9, 46, 81, 0.94));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

.modal-shell[data-modal="affiliate"] .home-stat-card span {
    color: rgba(198, 222, 239, 0.68);
    font-size: 10px;
}

.modal-shell[data-modal="affiliate"] .home-stat-card strong {
    color: #fff;
    font-size: 17px;
}

.modal-shell[data-modal="affiliate"] .register-field--textarea {
    gap: 5px;
}

.modal-shell[data-modal="affiliate"] .register-field--textarea > span {
    color: rgba(219, 236, 249, 0.7);
    font-size: 10px;
}

.modal-shell[data-modal="affiliate"] .register-field--textarea textarea {
    min-height: 72px;
    padding: 11px 12px;
    border-color: rgba(71, 164, 227, 0.22);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(17, 68, 112, 0.88), rgba(10, 50, 87, 0.94));
    font-size: 12px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

.modal-shell[data-modal="affiliate"] .modal-actions {
    gap: 10px;
    margin-top: 2px;
}

.modal-shell[data-modal="affiliate"] .register-modal-form {
    margin-top: 1px;
}

@media (max-height: 720px) {
    .modal-shell[data-modal="affiliate"] .modal-card--affiliate {
        padding: 43px 11px 12px;
        gap: 8px;
    }

    .modal-shell[data-modal="affiliate"] .home-panel-hero--affiliate,
    .modal-shell[data-modal="affiliate"] .home-affiliate-status-card {
        padding-block: 13px;
    }

    .modal-shell[data-modal="affiliate"] .home-panel-avatar,
    .modal-shell[data-modal="affiliate"] .home-affiliate-status-graphic {
        width: 56px;
        height: 56px;
        font-size: 28px;
    }
}

.home-stat-grid--affiliate {
    margin-top: 14px;
}

.deposit-button:hover,
.account-button:hover,
.header-menu-toggle:hover,
.hero-primary:hover,
.hero-secondary:hover,
.modal-primary:hover,
.modal-secondary:hover,
.demo-modal-cta:hover {
    transform: translateY(-1px);
}

@media (min-width: 992px) {
    :root {
        --shell-content-max: 1260px;
        --shell-gutter: 26px;
        --shell-section-gap: 34px;
        --shell-block-gap: 24px;
        --shell-card-gap: 18px;
        --shell-panel-gap: 20px;
    }

    .top-strip,
    .app-header {
        width: 100%;
        margin-inline: 0;
        padding-left: max(var(--shell-gutter), calc((100vw - var(--shell-content-max)) / 2 + var(--shell-gutter)));
        padding-right: max(var(--shell-gutter), calc((100vw - var(--shell-content-max)) / 2 + var(--shell-gutter)));
    }

    .content-stack {
        width: min(100%, var(--shell-content-max));
    }

    .top-strip {
        justify-content: center;
        gap: 12px;
        padding-top: 14px;
        padding-bottom: 14px;
    }

    .top-strip p {
        flex: 0 1 auto;
        font-size: 19px;
        line-height: 1.24;
        text-align: center;
        max-width: 780px;
    }

    .top-strip a,
    .top-strip button {
        padding: 11px 18px;
        font-size: 15px;
    }

    .app-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: nowrap;
        gap: 18px;
        min-height: 132px;
        padding-top: 18px;
        padding-bottom: 18px;
    }

    .header-topline {
        display: contents;
    }

    .brand {
        order: 1;
        flex: 0 0 auto;
        width: 160px;
        transform: none;
    }

    .header-actions {
        order: 3;
        display: flex;
        align-items: center;
        flex-wrap: nowrap;
        gap: 10px;
        flex: 0 0 auto;
    }

    .deposit-button,
    .account-button {
        min-height: 44px;
        padding: 10px 20px;
        font-size: 13px;
        border-radius: 14px;
    }

    .header-menu-toggle {
        width: 44px;
        height: 44px;
        border-radius: 14px;
        font-size: 20px;
    }

    .header-dropdown {
        width: 220px;
    }

    .header-dropdown-item {
        padding: 11px 13px;
        font-size: 13px;
    }

    .balance-pill {
        order: 2;
        flex: 0 1 auto;
        display: flex;
        align-items: center;
        flex-wrap: nowrap;
        gap: 10px;
        font-size: 13px;
        min-width: 0;
        margin-left: auto;
    }

    .balance-pill strong {
        font-size: 15px;
    }

    .balance-pill small {
        font-size: 11px;
    }

    .balance-pill__item {
        min-height: 34px;
        padding: 6px 10px;
        border-radius: 12px;
        width: auto;
    }

    .balance-pill__item b {
        font-size: 15px;
    }

    .balance-pill__item em {
        font-size: 13px;
    }

    .balance-pill > span {
        font-size: 12px;
        line-height: 1;
        white-space: nowrap;
        text-align: left;
    }

    .content-stack {
        padding-top: 26px;
        padding-bottom: 56px;
    }

    .winners-section--comparison {
        margin-bottom: 106px;
    }

    .promotions-section {
        gap: 28px;
        margin-bottom: 14px;
    }

    .promotions-heading__title {
        gap: 14px;
    }

    .promotions-heading__title svg {
        width: 38px;
        height: 38px;
    }

    .promotions-heading h2 {
        font-size: 38px;
    }

    .promotion-card {
        grid-template-columns: minmax(0, 1fr) 260px;
        gap: 38px;
        min-height: 300px;
        padding: 32px;
        border-radius: 24px;
    }

    .promotion-card__copy {
        gap: 14px;
    }

    .promotion-card__kicker {
        padding: 6px 11px 5px;
        font-size: 16px;
    }

    .promotion-card h3 {
        font-size: 43px;
    }

    .promotion-card p {
        font-size: 24px;
    }

    .promotion-card__media {
        width: 244px;
        justify-self: end;
        border-radius: 26px;
    }

    .hero-track {
        aspect-ratio: 2 / 1;
        min-height: 0;
    }

    .hero-arrows {
        inset: 50% 18px auto 18px;
    }

    .hero-arrow {
        width: 44px;
        height: 44px;
        font-size: 28px;
    }

    .hero-dots {
        bottom: 16px;
        gap: 8px;
    }

    .hero-dots button {
        width: 22px;
        height: 3px;
    }

    .hero-dots .is-active {
        width: 36px;
    }

    .section-title {
        gap: 12px;
    }

    .section-title h2 {
        font-size: clamp(34px, 4vw, 46px);
    }

    .section-icon {
        font-size: 24px;
    }

    .games-featured-section {
        width: 100%;
        margin-top: 36px;
    }

    .games-featured-section .section-title {
        gap: 9px;
    }

    .games-featured-section .section-title h2 {
        font-size: 32px;
    }

    .games-featured-section .section-icon {
        font-size: 19px;
    }

    .games-carousel-section {
        margin-bottom: 36px;
    }

    .featured-game-stage .game-card--featured {
        flex-basis: calc((100% - 54px) / 4);
        width: calc((100% - 54px) / 4);
        min-height: 0;
        aspect-ratio: 0.92 / 1;
    }

    .games-carousel-control {
        width: 46px;
        height: 46px;
        border-radius: 13px;
        font-size: 38px;
    }

    .games-carousel-control--next {
        left: auto;
        right: 9px;
    }

    .games-carousel-heading .section-title {
        gap: 9px;
    }

    .games-carousel-heading .section-title h2 {
        font-size: 26px;
    }

    .games-carousel-heading .section-icon {
        font-size: 17px;
    }

    .premium-games-unlock {
        --power-height: 38px;
        --power-padding-x: 16px;
        --power-padding-top: 6px;
        --power-padding-bottom: 8px;
        --power-radius: 7px;
        --power-border: 0px;
        --power-edge-width: 0.7px;
        --power-font-size: 15px;
        --power-lip-offset: 3px;
        --power-base-offset: 5px;
        --power-shadow-blur: 8px;
    }

    .games-carousel {
        --games-carousel-card-width: calc(22.99% - 16.55px);
        gap: 18px;
        padding-bottom: 12px;
    }

    .games-carousel .game-card {
        min-height: 0;
        aspect-ratio: 0.92 / 1;
    }

    .game-overlay {
        padding: 42px 18px 18px;
    }

    .game-overlay strong {
        font-size: clamp(18px, 1.85vw, 24px);
    }

    .game-overlay span {
        font-size: 13px;
    }

    .game-card-action {
        min-height: 92px;
        font-size: 30px;
    }

    .game-card-actions {
        gap: 20px;
    }

    .game-card-action--primary {
        --power-height: 104px;
        --power-font-size: 36px;
        --power-lip-offset: 8px;
        --power-base-offset: 10px;
    }

    .game-card-action--secondary {
        min-height: 64px;
        font-size: 23px;
    }

    .placeholder-label {
        font-size: 28px;
    }

    .game-card--placeholder span {
        margin-bottom: 18px;
        font-size: 18px;
    }

    .winners-showcase {
        width: min(100%, 760px);
        border-radius: 20px;
    }

    .winners-prize-banner {
        min-height: 258px;
        border-bottom-width: 5px;
    }

    .winners-prize-content {
        width: 64%;
        gap: 14px;
        padding-left: 24px;
    }

    .winners-prize-content h2 {
        width: min(100%, 390px);
    }

    .winners-prize-title__lead {
        margin-bottom: 5px;
        font-size: 38px;
    }

    .winners-prize-title__main {
        font-size: 30px;
    }

    .winners-prize-counter {
        width: 350px;
        height: 90px;
        border-width: 4px;
        border-radius: 14px;
        box-shadow:
            inset 0 0 0 3px #277b21,
            inset 0 3px 0 rgba(255, 255, 255, 0.13),
            inset 0 -3px 0 rgba(24, 92, 19, 0.28),
            0 0 0 3px #2b465d,
            -1px 8px 0 3px #93580f,
            0 12px 11px rgba(103, 50, 6, 0.2);
    }

    .winners-prize-counter::before {
        top: 10px;
        left: 13px;
        right: 34px;
        height: 18px;
    }

    .winners-prize-counter::after {
        top: 11px;
        right: 11px;
        width: 15px;
        height: 15px;
    }

    .winners-prize-counter__face {
        font-size: 38px;
    }

    .winners-list {
        width: 100%;
        height: 378px;
        margin-inline: auto;
        border-radius: 0;
        mask-image: linear-gradient(180deg, transparent 0%, #000 7%, #000 93%, transparent 100%);
        -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 7%, #000 93%, transparent 100%);
    }

    .winner-row {
        grid-template-columns: 72px 58px minmax(0, 1fr) auto;
        gap: 12px;
        min-height: 74px;
        padding: 5px 12px 5px 0;
        border-radius: 18px;
    }

    .winner-avatar img {
        width: 54px;
        height: 54px;
        border-radius: 6px;
    }

    .winner-copy strong {
        font-size: 24px;
    }

    .winner-amount {
        font-size: 23px;
    }

    .winners-list::before,
    .winners-list::after {
        left: 0;
        right: 0;
        width: auto;
        height: 38px;
    }

    .winners-list::before {
        top: 0;
        bottom: auto;
        background: linear-gradient(180deg, var(--bg), transparent);
    }

    .winners-list::after {
        top: auto;
        bottom: 0;
        background: linear-gradient(0deg, var(--bg), transparent);
    }

    .winners-track {
        --winner-track-gap: 10px;
        display: grid;
        gap: var(--winner-track-gap);
        animation: winners-scroll 114s linear infinite;
    }

    .faq-item summary {
        padding-top: 18px;
        padding-bottom: 18px;
        font-size: 17px;
    }

    .faq-item p {
        padding-bottom: 18px;
        font-size: 15px;
    }

    .support-footer {
        padding-bottom: 52px;
    }

    .footer-brand {
        width: 150px;
    }

    .footer-tagline,
    .footer-contact {
        font-size: 14px;
    }

    .footer-responsible {
        font-size: 12px;
    }

    .footer-copyright {
        font-size: 11px;
    }
}

@media (max-width: 380px) {
    .brand {
        width: 82px;
    }

    .top-strip {
        flex-direction: column;
        align-items: stretch;
    }

    .modal-actions--inline {
        grid-template-columns: 1fr;
    }

    .stake-modal-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
        margin-top: 16px;
    }

    .stake-modal-card {
        min-height: 92px;
        padding: 12px 6px;
        border-radius: 16px;
    }

    .stake-modal-card strong {
        font-size: 13px;
        letter-spacing: -0.03em;
        line-height: 0.98;
        white-space: nowrap;
    }

    .stake-modal-card[data-stake-amount="100.00"] strong {
        font-size: 13px;
        letter-spacing: -0.04em;
        transform: scaleX(0.9);
        transform-origin: center;
    }

    .stake-modal-card[data-stake-amount="100.00"] {
        padding-left: 5px;
        padding-right: 5px;
    }

    .stake-modal-card span {
        font-size: 11px;
        line-height: 1.1;
    }

    .home-inline-actions {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }

    .home-inline-actions .modal-primary--small,
    .home-inline-actions .modal-secondary--small {
        min-height: 40px;
        padding: 0 6px;
        font-size: 10px;
        line-height: 1.08;
    }

    .home-helper-row {
        align-items: stretch;
    }

    .home-helper-balance {
        width: 100%;
        justify-content: center;
    }

    .game-card-action {
        min-height: 76px;
        font-size: 24px;
    }

    .game-card-actions {
        gap: 14px;
    }

    .game-card-action--primary {
        --power-height: 84px;
        --power-font-size: 28px;
        --power-lip-offset: 6px;
        --power-base-offset: 8px;
    }

    .game-card-action--secondary {
        min-height: 48px;
        font-size: 19px;
    }

    .modal-card--demo {
        width: min(100%, 372px);
        max-height: min(700px, calc(100vh - 18px));
        padding: 34px 12px 16px;
    }

    .demo-modal-copy h3 {
        max-width: 252px;
        font-size: 22px;
    }

    .demo-modal-copy p {
        max-width: 248px;
        font-size: 12px;
    }

    .demo-modal-copy strong {
        font-size: clamp(10px, 3.15vw, 13px);
    }

    .demo-modal-cta {
        min-height: 52px;
        width: min(100%, 248px);
        font-size: 21px;
    }

    .modal-card--qr {
        max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);
        padding: 48px 12px 16px;
    }

    .modal-shell[data-modal="deposit-qr"] {
        padding-left: 10px;
        padding-right: 10px;
    }

    .modal-card--qr .modal-copy--compact h3 {
        font-size: 27px;
    }

    .modal-card--qr .home-qr-box {
        max-width: 288px;
        padding: 12px;
    }

    .modal-card--qr .home-qr-box canvas,
    .modal-card--qr .home-qr-box img,
    .modal-card--qr .home-qr-box table {
        width: 100% !important;
    }

    .modal-card--qr .register-field--textarea textarea {
        min-height: 46px;
        max-height: 52px;
        font-size: 12px;
    }

    .header-actions,
    .hero-actions {
        grid-template-columns: 1fr;
    }

    .header-actions,
    .hero-actions {
        display: grid;
    }

    .header-actions {
        grid-auto-flow: column;
        justify-content: end;
    }

}

@media (max-width: 420px) {
    .modal-card--qr .modal-copy--compact h3 {
        font-size: clamp(20px, 6vw, 24px);
        letter-spacing: -0.035em;
    }

    .app-header {
        padding-left: 10px;
        padding-right: 10px;
    }

    .header-topline {
        gap: 8px;
        min-width: 0;
    }

    .brand {
        flex: 0 1 96px;
        width: min(28vw, 96px);
        min-width: 0;
    }

    .header-actions {
        display: flex;
        flex: 0 1 auto;
        min-width: 0;
        gap: 4px;
    }

    .top-strip {
        align-items: center;
        gap: 10px;
    }

    .top-strip p {
        font-size: 11px;
        line-height: 1.16;
    }

    .top-strip a,
    .top-strip button {
        padding: 7px 12px;
        font-size: 11px;
    }

    .home-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .home-stat-card {
        gap: 5px;
        padding: 12px;
    }

    .home-stat-card span {
        font-size: 11px;
    }

    .home-stat-card strong {
        font-size: 15px;
    }

    .quick-amount-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .quick-amount-button {
        min-height: 44px;
        padding: 0 10px;
        font-size: 13px;
    }

    .quick-amount-button span {
        right: -6px;
        top: -10px;
        min-width: 82px;
        max-width: 102px;
        padding: 4px 7px 5px;
        font-size: 8px;
    }

    .home-payment-meta {
        grid-template-columns: 1fr;
    }

    .home-inline-actions {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }

    .home-inline-actions .modal-primary--small,
    .home-inline-actions .modal-secondary--small {
        min-height: 40px;
        padding: 0 6px;
        font-size: 10px;
        line-height: 1.08;
    }

    .stake-modal-card[data-stake-amount="100.00"] {
        padding-left: 2px;
        padding-right: 2px;
    }

    .stake-modal-card[data-stake-amount="100.00"] strong {
        display: block;
        width: 100%;
        font-size: 15px;
        letter-spacing: -0.06em;
        line-height: 1;
        white-space: nowrap;
        transform: scaleX(0.92);
        transform-origin: center;
    }
}

/* Cadastro e login: icone e campo dentro da mesma faixa da cor principal. */
.modal-card--register .register-modal-form--original .register-field--original {
    display: flex !important;
    align-items: stretch !important;
    gap: 0 !important;
    min-height: 54px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 5px !important;
    border: 1px solid var(--auth-primary-soft, rgba(22, 142, 233, 0.32)) !important;
    background: linear-gradient(180deg, var(--auth-field-top, #123f81), var(--auth-field-bottom, #0f3060)) !important;
}

.modal-card--register .register-modal-form--original .register-field-icon {
    flex: 0 0 58px !important;
    display: grid !important;
    place-items: center !important;
    min-height: 54px !important;
    margin: 0 !important;
    border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
    background: var(--auth-field-icon, #0a2a59) !important;
    color: #dcefff !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.modal-card--register .register-modal-form--original .register-field--original input {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 19px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
    outline: none !important;
}

.modal-card--register .register-modal-form--original .register-field--original input::placeholder {
    color: rgba(255, 255, 255, 0.96) !important;
    opacity: 1 !important;
}

.modal-card--register .register-modal-form--original .register-field--original:focus-within {
    border-color: var(--auth-primary, #168ee9) !important;
    box-shadow: 0 0 0 3px var(--auth-primary-focus, rgba(22, 142, 233, 0.22)) !important;
}

.modal-card--register .register-modal-form--original .register-field--original input:-webkit-autofill,
.modal-card--register .register-modal-form--original .register-field--original input:-webkit-autofill:hover,
.modal-card--register .register-modal-form--original .register-field--original input:-webkit-autofill:focus {
    -webkit-text-fill-color: #fff !important;
    box-shadow: 0 0 0 1000px var(--auth-field-top, #123f81) inset !important;
    caret-color: #fff !important;
}

.modal-card--register .register-modal-form--original .register-field-suffix {
    right: 14px !important;
    font-size: 16px !important;
    z-index: 2 !important;
}

@media (max-width: 430px), (max-height: 780px) {
    .modal-shell {
        padding:
            max(12px, env(safe-area-inset-top))
            12px
            max(12px, env(safe-area-inset-bottom));
    }

    .modal-card {
        max-width: calc(100vw - 24px);
        max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);
        border-radius: 22px;
        padding: 16px;
    }

    .modal-card--register {
        width: min(calc(100vw - 24px), 410px);
        max-width: calc(100vw - 24px);
        max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 18px);
        padding: 14px 12px 16px;
        border-radius: 16px;
    }

    .modal-card--register .modal-close {
        --modal-close-size: 38px;
        --modal-close-radius: 13px;
        --modal-close-font-size: 20px;
        --modal-close-transform: none;
    }

    .modal-card--stake-choice {
        width: min(calc(100vw - 46px), 540px);
        max-width: calc(100vw - 46px);
        max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 42px);
        padding: 20px 18px 18px;
        border-width: 6px;
        border-radius: 28px;
        --modal-close-size: 30px;
        --modal-close-radius: 10px;
        --modal-close-font-size: 16px;
        --modal-close-inset: 8px;
    }

    .modal-card--stake-choice .modal-close {
        box-shadow: 0 2px 0 #000;
    }

    .stake-choice-copy {
        justify-items: center;
        gap: 8px;
        margin-bottom: 10px;
        width: min(100%, 100%);
        padding-inline: 4px;
    }

    .stake-choice-copy h3 {
        max-width: calc(100% - 48px);
        font-size: clamp(16px, 5.4vw, 20px);
        line-height: 0.9;
    }

    .stake-choice-copy p {
        width: 100%;
        max-width: none;
        margin-left: auto;
        margin-right: auto;
        font-size: 14px;
        line-height: 1.22;
    }

    .stake-choice-field {
        gap: 6px;
        width: min(100%, 100%);
        margin-bottom: 10px;
    }

    .stake-choice-field span {
        font-size: 15px;
    }

    .stake-choice-selected-value {
        min-height: 46px;
        padding: 0 12px;
        border-radius: 12px;
        box-shadow: 0 5px 0 rgba(0, 0, 0, 0.24);
        font-size: 17px;
    }

    .stake-choice-inline-alert {
        margin-top: 4px;
        padding: 8px 10px;
    }

    .stake-choice-inline-alert__text {
        font-size: 12px;
        line-height: 1.18;
    }

    .stake-choice-topup-button {
        width: min(100%, 228px);
        min-height: 38px;
        margin-top: 8px;
        padding: 0 12px;
        border-radius: 7px;
        box-shadow: 0 3px 0 #0f5e1d;
        font-size: 16px;
    }

    .stake-choice-options {
        width: min(100%, 100%);
        gap: 7px;
    }

    .stake-choice-option {
        min-height: 42px;
        border-radius: 9px;
        box-shadow: 0 4px 0 #000;
    }

    .stake-choice-option.is-selected,
    .stake-choice-option[aria-pressed="true"] {
        box-shadow: 0 4px 0 #000;
    }

    .stake-choice-option strong {
        font-size: 17px;
    }

    .stake-choice-actions {
        margin-top: 8px;
        width: min(100%, 100%);
    }

    .stake-choice-run {
        min-height: 44px;
        padding: 0 22px;
    }

    .stake-choice-run__label {
        font-size: 17px;
    }

    .modal-card--stake-choice.has-inline-alert .stake-choice-copy {
        gap: 6px;
        margin-bottom: 6px;
    }

    .modal-card--stake-choice.has-inline-alert .stake-choice-field {
        gap: 5px;
        margin-bottom: 8px;
    }

    .modal-card--stake-choice.has-inline-alert .stake-choice-field span {
        font-size: 13px;
    }

    .modal-card--stake-choice.has-inline-alert .stake-choice-selected-value {
        min-height: 42px;
        font-size: 15px;
    }

    .modal-card--stake-choice.has-inline-alert .stake-choice-inline-alert {
        margin-top: 5px;
        padding: 7px 9px;
    }

    .modal-card--stake-choice.has-inline-alert .stake-choice-inline-alert__text {
        font-size: 11px;
        line-height: 1.1;
    }

    .modal-card--stake-choice.has-inline-alert .stake-choice-topup-button {
        min-height: 36px;
        margin-top: 8px;
        margin-bottom: 2px;
        border-radius: 7px;
        font-size: 15px;
    }

    .modal-card--stake-choice.has-inline-alert .stake-choice-options {
        gap: 7px;
    }

    .modal-card--stake-choice.has-inline-alert .stake-choice-option.is-selected,
    .modal-card--stake-choice.has-inline-alert .stake-choice-option[aria-pressed="true"] {
        box-shadow: 0 4px 0 #000;
    }

    .modal-card--stake-choice.has-inline-alert .stake-choice-actions {
        margin-top: 10px;
    }

    .modal-brand-lockup--register-original {
        margin: 0 0 12px;
    }

    .modal-brand-lockup--register-original img {
        width: 148px;
        max-width: 48%;
    }

    .register-modal-form--original {
        gap: 8px;
    }

    .modal-card--register .register-modal-form--original .register-field--original {
        min-height: 50px !important;
    }

    .modal-card--register .register-modal-form--original .register-field-icon {
        flex: 0 0 50px !important;
        min-height: 50px !important;
        font-size: 15px !important;
    }

    .modal-card--register .register-modal-form--original .register-field--original input {
        min-height: 50px !important;
        padding: 0 12px !important;
        font-size: 17px !important;
    }

    .modal-card--register .register-modal-form--original .register-field-suffix {
        right: 12px !important;
        font-size: 15px !important;
    }

    .register-terms--original {
        margin: 6px 2px 12px;
        font-size: 10px;
        line-height: 1.2;
    }

    .modal-primary--register-original {
        min-height: 48px;
        font-size: 16px;
    }

    .register-login-copy {
        font-size: 13px;
    }
}

@media (max-width: 400px) {
    .modal-card--stake-choice.has-inline-alert .stake-choice-copy {
        gap: 5px;
        margin-bottom: 5px;
    }

    .modal-card--stake-choice.has-inline-alert .stake-choice-field {
        gap: 4px;
        margin-bottom: 7px;
    }

    .modal-card--stake-choice.has-inline-alert .stake-choice-selected-value {
        min-height: 40px;
        padding: 0 9px;
        font-size: 11px;
    }

    .modal-card--stake-choice.has-inline-alert .stake-choice-inline-alert {
        margin-top: 4px;
        padding: 6px 8px;
    }

    .modal-card--stake-choice.has-inline-alert .stake-choice-inline-alert__text {
        font-size: 10px;
    }

    .modal-card--stake-choice.has-inline-alert .stake-choice-topup-button {
        width: min(100%, 210px);
        min-height: 34px;
        margin-top: 7px;
        border-radius: 6px;
        font-size: 14px;
    }

    .modal-card--stake-choice.has-inline-alert .stake-choice-option.is-selected,
    .modal-card--stake-choice.has-inline-alert .stake-choice-option[aria-pressed="true"] {
        box-shadow: 0 4px 0 #000;
    }

    .modal-card--stake-choice.has-inline-alert .stake-choice-actions {
        margin-top: 8px;
    }
}

@media (max-height: 600px) {
    .modal-shell[data-modal="game"] .modal-card--stake-choice {
        padding-top: 16px;
        padding-bottom: 14px;
    }

    .modal-shell[data-modal="game"] .modal-card--stake-choice.has-inline-alert .stake-choice-actions {
        margin-top: 5px;
    }
}

@media (max-height: 540px) {
    .modal-shell[data-modal="account"] .modal-card--account {
        padding: 10px 12px 6px;
    }
}

@media (max-width: 520px) {
    .modal-card--affiliate-demo {
        width: 100%;
        max-width: calc(100vw - 22px);
        max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);
        padding: clamp(24px, 5.8vw, 32px) clamp(12px, 3.2vw, 18px) clamp(24px, 5vw, 30px);
        border-width: 4px;
        border-radius: 24px;
    }

    .affiliate-demo-copy {
        width: 100%;
        gap: clamp(18px, 4.5vw, 24px);
    }

    .affiliate-demo-copy h3 {
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0;
        font-size: clamp(21px, 6.1vw, 30px);
        line-height: 0.92;
        letter-spacing: -0.025em;
        text-align: center;
        text-wrap: normal;
    }

    .affiliate-demo-title-line {
        display: block;
        max-width: 100%;
        white-space: nowrap;
    }

    .affiliate-demo-title-line--second {
        display: block;
    }

    .modal-card--affiliate-demo-es-mx .affiliate-demo-title-line {
        white-space: normal;
        text-wrap: balance;
        overflow-wrap: anywhere;
    }

    .modal-card--affiliate-demo-es-mx .affiliate-demo-copy p {
        box-sizing: border-box;
        overflow-wrap: anywhere;
    }

    .affiliate-demo-title-emojis {
        font-size: 0.8em;
        margin-left: 0.1em;
        transform: translateY(0.01em);
    }

    .affiliate-demo-copy p {
        width: 100%;
        max-width: 100%;
        padding: 0 clamp(4px, 1.3vw, 8px);
        font-size: clamp(14px, 4.1vw, 17px);
        line-height: 1.28;
        font-weight: 550;
    }

    .affiliate-demo-copy strong {
        width: 100%;
        max-width: 100%;
        padding: 0;
        font-size: clamp(15px, 4vw, 20px);
        line-height: 1.02;
        letter-spacing: -0.01em;
        white-space: normal;
        text-wrap: pretty;
    }

    .modal-actions--affiliate-demo {
        margin-top: 12px;
    }

    .affiliate-demo-cta {
        width: min(100%, 308px);
        min-height: 56px;
        padding: 0 22px;
        font-size: clamp(24px, 6.5vw, 30px);
        border-radius: 8px;
    }
}
