/* Paleta Super!: roxo profundo, violeta, magenta, verde-lima e laranja. */
:root {
    --bg: #12061f;
    --bg-soft: #1d0b31;
    --surface: #25103a;
    --surface-2: #321747;
    --border: #70328c;
    --text: #fff7eb;
    --text-dim: #d3bde1;
    --primary: #b52bea;
    --primary-2: #7920bd;
    --accent: #a8f529;
    --accent-2: #ee4dd9;
    --danger: #ff5b76;
    --warning: #ff8a16;
    --gold: #ffd43d;
    --panel-bg-image: url("/images/christmas/scene.webp");
    --panel-bg-overlay: linear-gradient(180deg, #17052873, #12061fc7);
}

@media (min-width: 768px) {
    :root {
        --panel-bg-image: url("/images/christmas/scene.webp");
    }
}

html[data-theme="light"] {
    --bg: #1b0a2b;
    --bg-soft: #271039;
    --surface: #301544;
    --surface-2: #3b1b50;
    --border: #8c4aa4;
    --text: #fff9ef;
    --text-dim: #e4cfea;
    --panel-bg-image: url("/images/christmas/scene.webp");
    --panel-bg-overlay: linear-gradient(180deg, #21073047, #190724a8);
}

@media (min-width: 768px) {
    html[data-theme="light"] {
        --panel-bg-image: url("/images/christmas/scene.webp");
    }
}

body {
    background: radial-gradient(900px 520px at 70% -10%, #a121d444, transparent 65%),
        radial-gradient(760px 480px at -10% 38%, #eb3ab525, transparent 62%), var(--bg);
}

a {
    color: var(--accent);
}

.btn-primary,
.install-bar-cta {
    color: #fff;
    background: linear-gradient(135deg, #d64bfa, #8520cb);
    box-shadow: 0 8px 24px #a72fe766;
}

.btn-accent,
.panel-cta {
    color: #2b1303;
    background: linear-gradient(135deg, #ffad32, #ff7115);
    box-shadow: 0 9px 28px #ff851a66;
}

.btn-gold {
    color: #311600;
    background: linear-gradient(135deg, #ffe15e, #ff951a);
    box-shadow: 0 8px 26px #ff941966;
}

.btn:focus-visible,
.panel-cta:focus-visible,
.entry-chip:focus-visible,
.nav-item:focus-visible,
.lp-video-link:focus-visible {
    outline: 3px solid var(--gold);
    outline-offset: 3px;
}

.app-header,
.bottom-nav {
    background: #1a0929eb;
    border-color: #d24ff359;
}

.landing .app-header {
    background: linear-gradient(180deg, #170622e8, #17062200);
}

.lp-hero-bg,
html[data-theme="light"] .lp-hero-bg {
    background: linear-gradient(180deg, #1b062538 0%, #17062291 68%, var(--bg) 100%),
        var(--panel-bg-image) center top / cover no-repeat;
}

.lp-title-accent {
    color: var(--gold);
    text-shadow: 0 0 16px #ff9d4373;
}

.lp-title-money {
    color: var(--accent);
    text-shadow: 0 0 18px #a8f5298c;
}

.lp-sub {
    color: #fff3eed9;
}

.lp-video-badge,
.online-fire-pill {
    background: #1a0826ed;
}

.lp-video-badge {
    border-color: #e145ee;
    box-shadow: 0 0 0 5px #1a0826, 0 0 20px #d633f7aa;
}

.lp-video-badge strong,
.live-count {
    color: var(--accent);
    text-shadow: 0 0 12px #a8f529a6;
}

.lp-hero-banner--video::before,
.panel-card::before,
.nav-item.center .nav-circle::before {
    background: conic-gradient(from var(--card-spin), #a423d9 0deg, #e548e7 70deg,
        #ff9218 145deg, #ffd43d 210deg, #a8f529 280deg, #a423d9 360deg);
}

.lp-hero-banner--video::after,
.panel-card::after {
    box-shadow: 0 0 15px #ae30e777, 0 0 30px #e845c847, inset 0 0 10px #ff941929;
}

.lp-hero-banner video {
    background: #1a0826;
}

.lp-trust-item,
.lp-stat,
.lp-howto-card,
.lp-review,
.auth-card,
.panel-card {
    background: #210d35df;
    border-color: #b74ad957;
}

.lp-howto,
.lp-footer {
    border-color: #b74ad933;
}

.lp-howto-visual,
.lp-howto-visual--board {
    background-color: #170a26;
}

.lp-howto-badge {
    color: #192006;
    background: var(--accent);
    box-shadow: 0 4px 15px #a8f52988;
}

.game-mute-btn {
    color: var(--gold);
    background: #1b0a2ccc;
    border-color: #c84fea80;
}

.panel-profile-btn {
    background: linear-gradient(135deg, #d64bfa, #8520cb);
    border-color: #df65f5;
}

.panel-balance-value,
.lp-stat-value,
.lp-review-badge {
    color: var(--accent);
}

.entry-chip.active,
.preset-chip.active,
.preset-chip:hover {
    color: #2a1404;
    background: linear-gradient(135deg, #ffe15e, #ff951a);
    border-color: #ffba42;
    box-shadow: 0 5px 18px #ff951a4d;
}

.reward-box .value {
    color: var(--gold);
    text-shadow: 0 0 15px #ff9c2180;
}

.online-fire-pill::before {
    background: conic-gradient(from var(--pill-spin), transparent 0deg 210deg,
        #a425df 250deg, #e64de6 290deg, #ff9218 320deg,
        #ffd43d 345deg, transparent 360deg);
}

.online-fire-pill::after {
    box-shadow: 0 0 10px #c334e0a8, 0 0 22px #ff921866;
}

.nav-item.center .nav-circle {
    background: radial-gradient(circle at 35% 25%, #552078, #1b0a2c 75%);
    box-shadow: 0 0 18px #c13bed8c;
}

.nav-item.center .nav-circle .nav-bubble {
    filter: drop-shadow(0 0 7px #d64bfa);
}

.bb-hud-corner {
    color: var(--gold);
    background: #1a0826a8;
}

.bb-hud-score {
    color: var(--accent);
    text-shadow: 0 2px #160a1dc9, 0 4px 14px #00000080, 0 2px 12px #a8f52988;
}

.bb-hud-score.ready {
    color: var(--gold);
    text-shadow: 0 2px #160a1dc9, 0 4px 14px #00000080, 0 2px 12px #ff9d4388;
}

.bb-hud-progress {
    background: #180826a8;
    border-color: #e1bbf6b3;
}

.bb-hud-progress-fill.complete {
    background: linear-gradient(90deg, #ff951a, #ffe15e);
    box-shadow: 0 0 10px #ff951a99;
}

.game-page--cashout-ready::after {
    box-shadow: inset 0 0 42px 10px #ff951a4d, inset 0 0 88px 22px #ffd43d26;
}

@keyframes lp-cta-soft-pulse {
    0%, 100% { transform: scale(1); box-shadow: 0 8px 25px #ff851a66; }
    50% { transform: scale(1.012); box-shadow: 0 10px 30px #ff851a9c; }
}

@keyframes cta-pulse {
    0%, 100% { box-shadow: 0 9px 28px #ff851a66, 0 0 #ff851a66; }
    50% { box-shadow: 0 9px 28px #ff851a66, 0 0 0 10px #ff851a00; }
}

@keyframes cashout-pulse {
    0%, 100% { box-shadow: 0 8px 28px #ff951a80, 0 0 #ffd43d80; }
    50% { box-shadow: 0 8px 28px #ff951a80, 0 0 0 14px #ffd43d00; }
}

@media (prefers-reduced-motion: reduce) {
    .lp-btn-primary,
    .panel-cta:not(:disabled),
    .cashout-ready,
    .lp-hero-banner--video::before,
    .lp-hero-banner--video::after,
    .panel-card::before,
    .panel-card::after,
    .online-fire-pill::before,
    .online-fire-pill::after {
        animation: none;
    }
}

/* Painel de entrada mais compacto e centralizado em telas de celular. */
@media (max-width: 480px) {
    .panel-shell .panel-page {
        max-width: 390px;
        padding: 12px 22px calc(92px + env(safe-area-inset-bottom));
    }

    .panel-shell .panel-card {
        width: 100%;
        padding: 14px;
    }

    .panel-shell .panel-banner {
        margin: -14px -14px 12px;
    }

    .panel-shell .panel-label {
        margin-bottom: 8px;
    }

    .panel-shell .entry-grid {
        gap: 7px;
        margin-bottom: 10px;
    }

    .panel-shell .entry-chip {
        min-height: 44px;
        padding: 10px 5px;
        font-size: .88rem;
    }

    .panel-shell .money-input {
        margin-bottom: 10px;
    }

    .panel-shell .money-input input {
        padding: 10px 0;
    }

    .panel-shell .reward-box {
        margin-bottom: 12px;
        padding: 10px;
    }

    .panel-shell .reward-box .value {
        font-size: 1.45rem;
    }

    .panel-shell .panel-cta {
        min-height: 46px;
        padding: 13px;
        font-size: .98rem;
    }
}

@media (max-width: 480px) and (min-height: 760px) {
    .panel-shell .panel-page {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
}


.daily-reward-card {
    border-color: #ffb84b80;
    background: linear-gradient(145deg, #321248, #1b0b2d);
}

.daily-reward-heading {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff7eb;
}

.daily-reward-heading-icon {
    font-size: 1.2rem;
}

.daily-reward-description,
.daily-reward-status {
    color: var(--text-dim);
    font-size: .78rem;
    line-height: 1.35;
    margin: 8px 0 10px;
}

.daily-reward-days {
    display: grid;
    grid-template-columns: repeat(7, minmax(37px, 1fr));
    gap: 4px;
    overflow-x: auto;
    padding: 2px 0 7px;
    scrollbar-width: thin;
}

.daily-reward-day {
    min-width: 0;
    padding: 7px 2px;
    border: 1px solid #ffffff24;
    border-radius: 11px;
    background: #120b24b8;
    color: #bea9cc;
    text-align: center;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 4px;
}

.daily-reward-day.is-current {
    border-color: var(--gold);
    color: #fff;
    background: #4a1d44;
    box-shadow: 0 0 12px #ffd43d38;
}

.daily-reward-day.is-complete {
    color: #b9fb70;
}

.daily-reward-day-label {
    font-size: .55rem;
    font-weight: 800;
    white-space: nowrap;
}

.daily-reward-day-coin {
    display: grid;
    place-items: center;
    width: 23px;
    height: 23px;
    border: 1px solid #ffc442;
    border-radius: 50%;
    background: linear-gradient(145deg, #ffe664, #ff9e13);
    box-shadow: 0 0 9px #ffb0256e;
    color: #4d2100;
    font-weight: 900;
}

.daily-reward-day-amount {
    font-size: .58rem;
    font-weight: 800;
    white-space: nowrap;
    letter-spacing: -.04em;
}

.daily-reward-claim {
    min-height: 44px;
    margin-top: 5px;
    font-size: .85rem;
    font-weight: 900;
}

.daily-reward-claim:disabled {
    cursor: not-allowed;
    opacity: .62;
}

.daily-reward-claim:focus-visible,
.daily-reward-modal button:focus-visible {
    outline: 3px solid var(--accent);
    outline-offset: 3px;
}

.daily-reward-modal-overlay {
    z-index: 160;
}

.daily-reward-modal {
    text-align: center;
}

.daily-reward-modal-icon {
    display: grid;
    place-items: center;
    width: 70px;
    height: 70px;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: linear-gradient(145deg, #ffe15e, #ff951a);
    font-size: 2rem;
}

.daily-reward-modal-kicker {
    color: var(--gold);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .11em;
}

.daily-reward-modal h2 {
    margin: 5px 0;
}

.daily-reward-modal p {
    color: var(--text-dim);
    margin-bottom: 18px;
}

@media (prefers-reduced-motion: reduce) {
    .daily-reward-modal-overlay .modal {
        animation: none;
    }
}

/* O treino acompanha as artes do jogo sem alterar o motor de disparo. */
.tutorial-game-page .game-bg.active {
    background-image: url("/images/christmas/scene.webp") !important;
    background-position: center center;
    background-size: 100% 100%;
}

.tutorial-game-page .bb-hud {
    background: url("/images/christmas/hud-board.webp") center / 100% 100% no-repeat;
    border: 2px solid #b47b4d;
    border-radius: 16px;
    box-shadow: 0 6px 18px #10051ab3, inset 0 0 12px #0009;
}

.tutorial-game-page .bb-hud-corner,
.tutorial-game-page .bb-hud-score {
    color: #fff0bd;
}

.tutorial-game-page .board-wrap.bubble-wrap {
    border: 1px solid #b47b4d88;
    border-radius: 18px;
    background: #1b103658;
    align-items: flex-end;
}

.tutorial-game-page .bubble-canvas {
    position: relative;
    z-index: 1;
}

.tutorial-game-page .tutorial-witch,
.tutorial-game-page .tutorial-cauldron {
    position: absolute;
    z-index: 2;
    pointer-events: none;
    display: block;
}

.tutorial-game-page .tutorial-witch {
    left: 2%;
    bottom: 1%;
    width: 22%;
    aspect-ratio: 1 / 1.15;
    background: url("/images/christmas/santa-sprite.webp") left center / 400% 100% no-repeat;
}

.tutorial-game-page .tutorial-cauldron {
    left: 50%;
    bottom: -2%;
    width: 29%;
    aspect-ratio: 1 / 1;
    transform: translateX(-50%) scaleY(.8);
    transform-origin: center bottom;
    background: url("/images/christmas/pot.webp") center / contain no-repeat;
}

.tutorial-game-page .tutorial-cauldron--back {
    z-index: 0;
}

.tutorial-game-page .tutorial-cauldron--front {
    z-index: 2;
    clip-path: inset(36% 0 0 0);
}

/* Base compartilhada do front natalino: navegação e cabeçalho. */
.panel-topbar,
.app-header,
.landing .app-header {
    background: #1b1425f5;
    border-bottom: 1px solid #b9854b66;
    box-shadow: 0 5px 18px #0b071282;
}

.panel-topbar {
    gap: 10px;
    padding: calc(9px + env(safe-area-inset-top, 0px)) 12px 9px;
}

.panel-topbar-logo { width: min(34vw, 190px); height: 52px; margin-right: auto; }
.panel-topbar-actions { gap: 7px; }
.panel-balance { background: #110d1b; border: 1px solid #a8754066; border-radius: 14px; padding: 7px 10px; }
.panel-balance-label { display: none; }
.panel-balance-value { color: #fff8ed; white-space: nowrap; }
.panel-profile-btn {
    width: 42px; height: 42px; flex: 0 0 42px;
    border: 1px solid #a87540a6; border-radius: 13px;
    background: #281c2d; color: #ffb44d;
}
.panel-profile-btn { background: #281c2d; }
.panel-topbar-home:focus-visible, .panel-profile-btn:focus-visible {
    outline: 3px solid #ffb44d; outline-offset: 2px;
}
.bottom-nav {
    justify-content: space-around; gap: 0;
    padding: 9px 6px calc(10px + env(safe-area-inset-bottom));
    background: #1b1425f5; border-top: 1px solid #b9854b66;
    box-shadow: 0 -7px 20px #0b071282;
}
.bottom-nav .nav-item { flex: 1 1 0; min-width: 0; padding: 5px 2px; color: #f8efe1; font-weight: 700; }
.bottom-nav .nav-item svg { width: 25px; height: 25px; }
.bottom-nav .nav-item:hover, .bottom-nav .nav-item:focus-visible { color: #ffb44d; }
.bottom-nav .nav-item.center { align-self: center; margin-top: -28px; }
.bottom-nav .nav-item.center .nav-circle {
    width: 76px; height: 76px; border: 0; background: none;
    box-shadow: none;
}
.bottom-nav .nav-item.center .nav-circle::before { display: none; }
.bottom-nav .nav-item.center .nav-circle .nav-bubble {
    width: 76px; height: 76px; filter: drop-shadow(0 5px 9px #08050daa);
}
.bottom-nav .nav-item.center > span:last-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 390px) {
    .panel-topbar-logo { width: min(30vw, 150px); }
    .panel-balance { padding: 6px; }
    .panel-profile-btn { width: 36px; height: 36px; flex-basis: 36px; }
    .bottom-nav .nav-item { font-size: 10px; }
    .bottom-nav .nav-item.center .nav-circle, .bottom-nav .nav-item.center .nav-circle .nav-bubble { width: 66px; height: 66px; }
}
@media (prefers-reduced-motion: reduce) {
    .bottom-nav .nav-item.center .nav-circle::before { animation: none; }
}

/* Parte 2: landing pública natalina. */
.landing--main-showcase .lp-hero {
    padding: calc(102px + env(safe-area-inset-top, 0px)) 18px 46px;
    overflow: hidden;
}
.landing--main-showcase .lp-hero-bg,
html[data-theme="light"] .landing--main-showcase .lp-hero-bg {
    background: linear-gradient(180deg, #0b164099 0%, #0d1d56a8 55%, #171128 100%), url('/images/christmas/scene.webp') center 35% / cover no-repeat;
}
.landing--main-showcase .lp-hero-bg::after { background: none; }
.landing--main-showcase .lp-hero-inner { max-width: 620px; }
.landing--main-showcase .lp-live-pill {
    display: inline-flex; margin-bottom: 18px;
    background: #20142ac9; border-color: #e0a65f;
    color: #ffe0a4; text-transform: uppercase; letter-spacing: .12em;
}
.landing--main-showcase .lp-live-pill .live-dot { background: #70dd83; }
.landing--main-showcase .lp-title {
    max-width: 650px; margin: 0 auto 10px;
    white-space: normal; font-size: clamp(2.3rem, 9vw, 4.4rem);
    line-height: 1.04; color: #fff9e9;
    text-shadow: 0 4px 14px #081139b0;
}
.landing--main-showcase .lp-title-accent { color: #ffba62; }
.landing--main-showcase .lp-hero-santa {
    width: min(56vw, 240px); aspect-ratio: 1199 / 1312;
    margin: 8px auto 0;
    background: url('/images/christmas/papai_noel_e_saco_magico_de_presentes-min.webp') center / contain no-repeat;
    filter: drop-shadow(0 12px 20px #08133f9c);
}
.landing--main-showcase .lp-hero-description {
    max-width: 490px; margin: 4px auto 22px;
    color: #fff3e4; font-size: 1rem; line-height: 1.5;
    text-shadow: 0 2px 8px #091138;
}
.landing--main-showcase .lp-ctas { max-width: 470px; margin: 0 auto; }
.landing--main-showcase .lp-btn-primary {
    background: linear-gradient(#ffe094, #ffad43);
    color: #29172d; border: 1px solid #ffe4a4;
    box-shadow: 0 6px 0 #a95d28, 0 12px 22px #0a0c2980;
    animation: none;
}
.landing--main-showcase .lp-btn-link { color: #fff4e8; }
.landing--main-showcase .lp-facts {
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 8px; max-width: 720px; margin: 0 auto;
    padding: 24px 16px 30px; text-align: center;
}
.landing--main-showcase .lp-facts > div { display: grid; align-content: start; gap: 6px; }
.landing--main-showcase .lp-facts strong { color: #ffbb65; font-size: clamp(1.35rem, 5vw, 2rem); }
.landing--main-showcase .lp-facts span { color: #d9d1e4; font-size: .72rem; line-height: 1.3; text-transform: uppercase; letter-spacing: .06em; }
.landing--main-showcase .lp-section-reviews { padding-top: 35px; padding-bottom: 35px; }
.landing--main-showcase .lp-review { background: #2b1e37; border: 1px solid #b9854b66; border-radius: 24px; min-height: 170px; }
.landing--main-showcase .lp-feature-icon { color: #ffc16d; font-size: 1.9rem; line-height: 1; margin-bottom: 14px; }
.landing--main-showcase .lp-review-name { color: #fff8e9; font-size: 1.08rem; margin: 0 0 8px; }
.landing--main-showcase .lp-review-text { color: #ded5e3; margin: 0; }
@media (min-width: 768px) {
    .landing--main-showcase .lp-hero { padding-top: calc(132px + env(safe-area-inset-top, 0px)); }
    .landing--main-showcase .lp-hero-santa { width: 270px; }
    .landing--main-showcase .lp-facts { padding-top: 34px; padding-bottom: 44px; }
}

/* Parte 3: painel e seleção de entrada. */
.panel-shell { background: #151126; }
.panel-shell .panel-page { max-width: 720px; padding: 14px 16px calc(110px + env(safe-area-inset-bottom)); }
.panel-intro {
    min-height: 245px; position: relative; overflow: hidden;
    padding: 27px 22px 80px; color: #fff7e8;
    background: linear-gradient(90deg, #111637d9, #14317866), url('/images/christmas/scene.webp') center 46% / cover no-repeat;
    border-radius: 24px 24px 0 0;
}
.panel-intro-kicker { display: inline-block; margin-bottom: 10px; padding: 6px 11px; border: 1px solid #e8ae62aa; border-radius: 999px; background: #201b37d9; color: #ffe1ae; font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.panel-intro h1 { position: relative; z-index: 1; max-width: 380px; margin: 0 0 9px; font-size: clamp(1.65rem, 7vw, 2.5rem); line-height: 1.08; }
.panel-intro h1 span { color: #ffc174; }
.panel-intro p { position: relative; z-index: 1; max-width: 320px; margin: 0; color: #f5ecdf; font-size: .86rem; line-height: 1.45; }
.panel-intro-art { position: absolute; right: 6px; bottom: 0; width: 135px; aspect-ratio: 543 / 724; background: url('/images/christmas/santa-sprite.webp') left center / 400% 100% no-repeat; filter: drop-shadow(0 5px 10px #0d102a9c); }
.panel-shell .panel-entry-card {
    margin: -26px 0 0; padding: 22px;
    background: #302039; border: 1px solid #b9854b8c;
    border-radius: 24px; box-shadow: 0 12px 28px #08071499;
}
.panel-shell .panel-entry-card::before, .panel-shell .panel-entry-card::after { display: none; }
.panel-round-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 18px; color: #ffe1aa; }
.panel-round-head h2 { margin: 0 auto 0 0; font-size: 1.2rem; text-transform: uppercase; letter-spacing: .1em; }
.panel-round-head > span { font-size: 1.5rem; }
.panel-account-balance { display: flex; align-items: end; justify-content: space-between; gap: 10px; margin-bottom: 16px; }
.panel-account-balance span { color: #d7c6d7; font-size: .73rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.panel-account-balance strong { color: #ffcb7a; font-size: clamp(1.5rem, 6vw, 2.2rem); white-space: nowrap; }
.panel-quick-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; padding-bottom: 18px; margin-bottom: 18px; border-bottom: 1px solid #bf925359; }
.panel-quick-actions button { min-height: 48px; padding: 8px 3px; border: 1px solid #a9775e77; border-radius: 12px; background: #201729; color: #fff6e7; font-size: .76rem; font-weight: 800; cursor: pointer; }
.panel-quick-actions button:hover { border-color: #ffbb69; background: #382738; }
.panel-shell .panel-entry-card .panel-label { color: #ffe0ae; font-size: .8rem; }
.panel-shell .panel-entry-card .money-input { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; padding: 7px; background: #171121; border-color: #b9854b77; }
.panel-shell .panel-entry-card .money-input .prefix { color: #ad9dab; }
.panel-shell .panel-entry-card .money-input input { min-width: 0; text-align: center; color: #ffe0a3; font-size: 1.65rem; font-weight: 900; }
.panel-shell .panel-entry-card .entry-adjust { width: 42px; height: 42px; flex: 0 0 42px; border: 1px solid #a9775e77; border-radius: 10px; background: #38283c; color: #fff9e9; font-size: 1.5rem; cursor: pointer; }
.panel-shell .panel-entry-card .entry-adjust:disabled { opacity: .45; cursor: not-allowed; }
.panel-shell .panel-entry-card .entry-grid { grid-template-columns: repeat(auto-fit, minmax(66px, 1fr)); gap: 8px; }
.panel-shell .panel-entry-card .entry-chip { background: #261c30; border-color: #a9775e77; }
.panel-shell .panel-entry-card .entry-chip.active { color: #321b23; background: linear-gradient(#ffe093, #ffaf48); border-color: #ffe4a6; box-shadow: 0 4px 0 #b56e30; }
.panel-shell .panel-entry-card .entry-chip:disabled { opacity: .4; cursor: not-allowed; }
.panel-shell .panel-entry-card .reward-box { background: #1b1427; border-color: #b9854b77; }
.panel-shell .panel-entry-card .reward-box .label { color: #f3d8b1; font-size: .76rem; text-transform: uppercase; letter-spacing: .1em; }
.panel-shell .panel-entry-card .reward-box .value { color: #c5f285; text-shadow: 0 0 16px #88c86678; font-size: 2rem; }
.panel-shell .panel-entry-card .panel-cta { color: #2c1a2a; background: linear-gradient(#ffe093, #ffad43); box-shadow: 0 5px 0 #a95f2b, 0 10px 24px #0a0a2080; animation: none; }
.panel-quick-actions button:focus-visible, .panel-entry-card .entry-adjust:focus-visible, .panel-entry-card .money-input input:focus-visible { outline: 3px solid #ffc472; outline-offset: 2px; }
@media (min-width: 600px) { .panel-intro { min-height: 290px; padding: 44px 38px 90px; } .panel-intro-art { width: 185px; right: 35px; } }
@media (max-width: 380px) { .panel-shell .panel-page { padding-left: 10px; padding-right: 10px; } .panel-shell .panel-entry-card { padding: 15px; } .panel-intro-art { width: 112px; } .panel-account-balance strong { font-size: 1.4rem; } }

/* Partes 4 a 6: tutorial, indicações e saque. */
.landing--main-showcase .lp-howto { background: linear-gradient(#141025, #20152b); padding: 54px 16px 64px; }
.landing--main-showcase .lp-howto-head { margin-bottom: 38px; }
.landing--main-showcase .lp-howto-title { color: #ffba62; font-size: clamp(2rem, 7vw, 3rem); }
.landing--main-showcase .lp-howto-sub { color: #d8d0df; font-size: 1rem; }
.landing--main-showcase .lp-howto-scroll {
    display: grid; grid-template-columns: 1fr; gap: 24px; max-width: 760px;
    margin: 0 auto; padding: 0 0 0 74px; overflow: visible; position: relative;
}
.landing--main-showcase .lp-howto-scroll::before { content: ''; position: absolute; top: 38px; bottom: 38px; left: 35px; width: 3px; background: linear-gradient(#ffbb68, #91bd76, #ffbb68); }
.landing--main-showcase .lp-howto-card { position: relative; min-width: 0; padding: 22px 22px 18px; border-radius: 24px; background: #2b1f36; border-color: #b9854b66; overflow: visible; }
.landing--main-showcase .lp-howto-card h3 { color: #ffb75d; padding: 0 0 10px; font-size: 1.12rem; }
.landing--main-showcase .lp-howto-card p { color: #e4dbe8; padding: 0; font-size: .9rem; }
.landing--main-showcase .lp-howto-orb { position: absolute; left: -73px; top: 18px; width: 68px; height: 68px; border: 3px solid #c48b52; border-radius: 50%; background-color: #21182f; background-image: url('/images/christmas/orbs-6-padronizadas.webp'); background-size: 600% 100%; background-repeat: no-repeat; box-shadow: 0 0 0 6px #5f412e55; }
.landing--main-showcase .lp-howto-orb--0 { background-position: 0% center; }
.landing--main-showcase .lp-howto-orb--1 { background-position: 20% center; }
.landing--main-showcase .lp-howto-orb--3 { background-position: 60% center; }
.landing--main-showcase .lp-howto-orb--5 { background-position: 100% center; }
.landing--main-showcase .lp-howto-cta { display: block; max-width: 580px; margin: 48px auto 0; }
@media (min-width: 768px) { .landing--main-showcase .lp-howto-scroll { grid-template-columns: 1fr; max-width: 760px; } .landing--main-showcase .lp-howto-card { min-height: 120px; } }

.sheet-overlay--referral .sheet, .sheet-overlay--withdraw .sheet { background: #271b31; border: 1px solid #b9854b80; color: #fff7e9; }
.sheet-overlay--referral .sheet-header h2, .sheet-overlay--withdraw .sheet-header h2 { color: #ffe0aa; }
.sheet-overlay--referral .sheet-section, .sheet-overlay--withdraw .sheet-section { background: #1c1427; border-color: #b9854b66; }
.ref-intro, .withdraw-intro { margin: 0 -20px 18px; padding: 25px 20px 28px; background: linear-gradient(90deg, #181537e0, #261d39a0), url('/images/christmas/scene.webp') center 42% / cover no-repeat; border-bottom: 1px solid #b9854b80; }
.ref-intro span, .withdraw-intro span { color: #ffd394; font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.ref-intro h2, .withdraw-intro h2 { margin: 8px 0; color: #fff9eb; font-size: 1.5rem; }
.ref-intro p, .withdraw-intro p { max-width: 430px; color: #eee1ec; font-size: .87rem; line-height: 1.45; }
.sheet-overlay--referral .ref-card { background: #36233c; border: 1px solid #b9854b80; }
.sheet-overlay--referral .ref-card .big { color: #ffc26b; }
.sheet-overlay--referral .ref-card .cta, .sheet-overlay--withdraw .sheet-cta { background: linear-gradient(#ffe093, #ffad43); color: #311d2b; border: 0; font-weight: 900; }
.ref-rate-note { margin: -2px 0 14px; padding: 11px 14px; border: 1px solid #b9854b66; border-radius: 12px; color: #f0d9ba; font-size: .83rem; }
.sheet-overlay--referral .ref-link-value { color: #ffe2b3; background: #140f20; border-color: #b9854b80; }
.sheet-overlay--referral .ref-copy-btn { background: linear-gradient(#ffe093, #ffad43); color: #311d2b; }
.ref-share-actions { display: flex; gap: 10px; margin-top: 12px; }
.ref-share-actions a, .ref-share-actions button { flex: 1; padding: 10px 8px; border: 1px solid #b9854b77; border-radius: 11px; background: #281d32; color: #fff5e7; text-align: center; font-size: .82rem; cursor: pointer; }
.sheet-overlay--referral .ref-level { background: #1b1427; border-color: #b9854b66; }
.sheet-overlay--referral .ref-level .tier { color: #ffc26b; }
.sheet-overlay--withdraw .saldo-row .coin { background: #392b3f; color: #ffc26b; }
.sheet-overlay--withdraw .saldo-row .value { color: #ffc26b; }
.sheet-overlay--withdraw .money-input { background: #160f20; border-color: #b9854b66; }
.sheet-overlay--withdraw .money-input input { color: #fff8eb; }
.withdraw-minimum { margin: -8px 0 12px; text-align: center; color: #ccbcca; font-size: .8rem; }
.withdraw-presets { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; margin-bottom: 16px; }
.withdraw-presets button { min-width: 0; padding: 11px 3px; background: #21182c; border: 1px solid #b9854b77; border-radius: 11px; color: #f9e9d6; font-size: .78rem; font-weight: 800; cursor: pointer; }
.withdraw-presets button.active { background: #ffbd68; color: #2d1b2b; }
.withdraw-presets button:disabled { opacity: .4; cursor: not-allowed; }
.sheet-overlay--referral button:focus-visible, .sheet-overlay--referral a:focus-visible, .sheet-overlay--withdraw button:focus-visible, .sheet-overlay--withdraw input:focus-visible { outline: 3px solid #ffbd68; outline-offset: 2px; }
@media (max-width: 390px) { .withdraw-presets { grid-template-columns: repeat(2, 1fr); } }

/* Tutorial jogável usa a mesma arte natalina da partida. */
.tutorial-game-page .game-bg.active { background-image: url('/images/christmas/scene.webp') !important; }
.tutorial-game-page .bb-hud { background: url('/images/christmas/hud-board.webp') center / 100% 100% no-repeat; }
.tutorial-game-page .board-wrap.bubble-wrap { background: #0d2050a8; border-color: #b2d7f199; }
.tutorial-game-page .tutorial-witch {
    left: 1%; bottom: 1%; width: 24%; aspect-ratio: 543 / 724;
    background: url('/images/christmas/santa-sprite.webp') left center / 400% 100% no-repeat;
}
.tutorial-game-page .tutorial-cauldron { background-image: url('/images/christmas/pot.webp'); }
.tutorial-game-page .tutorial-cauldron--front { z-index: 0; }
.tutorial-game-page .tutorial-practice-label {
    position: fixed; z-index: 59; top: calc(env(safe-area-inset-top, 0px) + 15px); left: 12px;
    max-width: calc(100vw - 155px); padding: 7px 10px; border-radius: 999px;
    border: 1px solid #c6e3ffad; background: #0e1b3fd9; color: #f3f8ff;
    font-size: .68rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
}
.tutorial-game-page .tutorial-skip-btn { background: #0e1b3fd9; border-color: #c6e3ffad; }
.tutorial-game-page .tutorial-intro-modal, .tutorial-game-page .result-modal--win { color: #fff8e9; }
.tutorial-game-page .tutorial-intro-modal .result-win-banner,
.tutorial-game-page .result-modal--win .result-win-banner { min-height: 170px; display: grid; place-items: center; background: linear-gradient(#10245899, #102458cc), url('/images/christmas/scene.webp') center 35% / cover no-repeat; }
.tutorial-game-page .tutorial-santa-art { height: 175px; aspect-ratio: 543 / 724; background: url('/images/christmas/santa-sprite.webp') left center / 400% 100% no-repeat; }
.tutorial-game-page .tutorial-complete-art { height: 155px; width: 155px; background: url('/images/christmas/pot.webp') center / contain no-repeat; }
.tutorial-game-page .tutorial-intro-accent { color: #ffc477; text-shadow: 0 0 14px #ffb85c66; }
.tutorial-game-page .result-modal--win .win-note-top { color: #f5d7ad; }
@media (max-width: 360px) { .tutorial-game-page .tutorial-practice-label { font-size: .58rem; padding: 7px; } }

/* Abertura do tutorial em placa natalina, seguindo a referência enviada. */
.tutorial-intro-overlay { background: #080c20ba; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); z-index: 120; }
.tutorial-intro-overlay .modal {
    width: min(100%, 420px); max-height: calc(100dvh - 28px); overflow-y: auto;
    padding: 0; border: 2px solid #d5a354; border-radius: 20px;
    background: #54240f url('/images/christmas/hud-board.webp') center / 100% 100% no-repeat;
    box-shadow: 0 0 0 4px #251323, 0 20px 35px #030813b8;
}
.tutorial-intro-overlay .tutorial-intro-modal { padding: 26px 23px 25px; color: #fff9ed; text-align: center; }
.tutorial-intro-overlay .tutorial-santa-art {
    height: clamp(100px, 24vh, 155px); width: auto; margin: 0 auto 4px;
    aspect-ratio: 543 / 724; background: url('/images/christmas/santa-sprite.webp') left center / 400% 100% no-repeat;
    filter: drop-shadow(0 6px 8px #210b09a8);
}
.tutorial-intro-overlay .tutorial-intro-brand { display: block; margin: 5px 0 8px; color: #dcffac; font-size: .7rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; text-shadow: 0 2px 4px #2a110d; }
.tutorial-intro-overlay .tutorial-intro-modal h2 { margin-bottom: 12px; color: #fff1d1; font-size: clamp(1.85rem, 7vw, 2.45rem); font-weight: 1000; line-height: 1; text-transform: uppercase; text-shadow: 0 3px 0 #7d381b, 0 5px 8px #1a0908; }
.tutorial-intro-overlay .tutorial-intro-text { max-width: 340px; margin: 0 auto 18px; color: #fff9ed; font-size: .92rem; font-weight: 700; line-height: 1.4; text-shadow: 0 2px 5px #2b120c; }
.tutorial-intro-overlay .tutorial-intro-actions { gap: 8px; }
.tutorial-intro-overlay .tutorial-intro-actions .btn-accent { min-height: 52px; border-radius: 13px; background: linear-gradient(#ffe39b, #ffab45); color: #2c1726; border: 1px solid #ffe5a5; box-shadow: 0 4px 0 #9f5428; font-weight: 900; text-transform: uppercase; }
.tutorial-intro-overlay .tutorial-intro-skip { color: #fff6e6 !important; background: #2a1428bb !important; border-color: #c49762aa !important; border-radius: 12px; }
.tutorial-intro-overlay button:focus-visible { outline: 3px solid #fff3c6; outline-offset: 2px; }
@media (max-height: 650px) { .tutorial-intro-overlay .tutorial-intro-modal { padding-top: 15px; padding-bottom: 18px; } .tutorial-intro-overlay .tutorial-santa-art { height: 85px; } }

/* Fundo natalino compartilhado e Perfil. */
:root, html[data-theme="light"] {
    --panel-bg-image: url('/images/christmas/scene.webp');
    --panel-bg-overlay: linear-gradient(180deg, #0c174388, #141029d9);
}
body { background: linear-gradient(#111838a8, #181128db), url('/images/christmas/scene.webp') center top / cover no-repeat fixed; }
.panel-shell { background: transparent; }
.panel-shell::before, .auth-shell::before { background-position: center center; }
.landing--main-showcase .lp-howto { background: linear-gradient(#141025d9, #20152be8); }
.landing--main-showcase .lp-section-reviews, .landing--main-showcase .lp-final { background: #181128b5; }
.landing--main-showcase .lp-footer { background: #181128e8; }
.auth-card { background: #21172de8; border-color: #b9854b80; }

.sheet-overlay--profile .sheet {
    background: linear-gradient(#241a32ed, #21172def), url('/images/christmas/scene.webp') center top / cover no-repeat;
    border: 1px solid #b9854b80; color: #fff7e9;
}
.sheet-overlay--profile .sheet-header h2 { color: #ffe1b4; }
.profile-intro {
    margin: 0 -20px 18px; padding: 28px 20px 30px;
    background: linear-gradient(90deg, #15234ac9, #201a3a80), url('/images/christmas/scene.webp') center 38% / cover no-repeat;
    border-bottom: 1px solid #b9854b80;
}
.profile-intro span { color: #ffd99b; font-size: .7rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.profile-intro h2 { margin: 8px 0; color: #fff9ea; font-size: 1.55rem; }
.profile-intro p { color: #e9ddea; font-size: .86rem; line-height: 1.45; }
.sheet-overlay--profile .sheet-section { background: #1b1428de; border-color: #b9854b66; }
.sheet-overlay--profile .profile-user .winner-avatar { width: 55px; height: 55px; background: #24182f; border: 2px solid #ffc476; overflow: hidden; }
.profile-avatar-natal { display: block; width: 100%; height: 100%; background: url('/images/christmas/orbs-6-padronizadas.webp') left center / 600% 100% no-repeat; }
.sheet-overlay--profile .profile-user-name { color: #fff9ed; font-size: 1rem; }
.sheet-overlay--profile .profile-user-phone, .sheet-overlay--profile .profile-ref-link { color: #d5c7d8; }
.sheet-overlay--profile .profile-ref-copy, .sheet-overlay--profile .profile-history-toggle { color: #ffe2b4; background: #30213a; border-color: #b9854b80; }
.sheet-overlay--profile .profile-level, .sheet-overlay--profile .quick-stat { background: #24192c; border-color: #b9854b66; }
.sheet-overlay--profile .profile-level-badge, .sheet-overlay--profile .quick-stat .v { color: #ffc879; }
.sheet-overlay--profile .profile-support-link { background: #261b31; border-color: #b9854b66; }
.sheet-overlay--profile .btn-primary { background: linear-gradient(#ffe093, #ffad43); color: #311d2b; }
.sheet-overlay--profile button:focus-visible, .sheet-overlay--profile a:focus-visible, .sheet-overlay--profile input:focus-visible { outline: 3px solid #ffc476; outline-offset: 2px; }

/* Floco vetorial da recompensa diária, sem arte de Halloween. */
.daily-reward-heading-icon, .daily-reward-day-coin, .daily-reward-modal-icon { color: #e9f9ff; }
.daily-reward-heading-icon svg { display: block; width: 25px; height: 25px; filter: drop-shadow(0 0 6px #79d8ff); }
.daily-reward-day-coin { background: linear-gradient(145deg, #3e8bc0, #18538f); border-color: #a7e5ff; box-shadow: 0 0 9px #69c7f17a; }
.daily-reward-day-coin svg { display: block; width: 16px; height: 16px; }
.daily-reward-day.is-current { background: #18385c; border-color: #a7e5ff; box-shadow: 0 0 12px #7dd7ff7a; }
.daily-reward-day.is-complete .daily-reward-day-coin { background: #315f51; border-color: #a9e2bb; }
.daily-reward-modal-icon { background: linear-gradient(145deg, #77c9ee, #2472af); border: 2px solid #c4efff; box-shadow: 0 0 18px #7dd7ff8c; }
.daily-reward-modal-icon svg { width: 42px; height: 42px; }

/* Paleta azul-gelo compartilhada. Mantém vermelho apenas para erro/perigo. */
:root, html[data-theme="light"] {
    --bg: #071731;
    --bg-soft: #0b2447;
    --surface: #132d55;
    --surface-2: #1d416e;
    --border: #4e85b3;
    --text: #f2faff;
    --text-dim: #bdd5e9;
    --primary: #4aaee8;
    --primary-2: #257bb8;
    --accent: #9ee7ff;
    --accent-2: #67c7f3;
    --gold: #c7f1ff;
    --warning: #7cd2f3;
    --panel-bg-overlay: linear-gradient(180deg, #071a3b8f, #07172de0);
}
body { background: linear-gradient(#061734b3, #08172fe6), url('/images/christmas/scene.webp') center top / cover no-repeat fixed; }
a { color: #a8e7ff; }
.panel-topbar, .app-header, .landing .app-header, .bottom-nav {
    background: #0b1c39f5; border-color: #75b6dc80; box-shadow: 0 5px 18px #030d2299;
}
.panel-balance, .panel-profile-btn {
    background: #17365d; color: #d4f4ff; border-color: #75b6dc99;
}
.panel-balance-value { color: #effaff; }
.bottom-nav .nav-item { color: #e5f5ff; }
.bottom-nav .nav-item:hover, .bottom-nav .nav-item:focus-visible { color: #9ee7ff; }
.bottom-nav .nav-item.center .nav-circle .nav-bubble { filter: drop-shadow(0 4px 12px #78d7ff99); }

.landing--main-showcase .lp-hero-bg, html[data-theme="light"] .landing--main-showcase .lp-hero-bg {
    background: linear-gradient(180deg, #06193691 0%, #0a2b60a6 55%, #081b38 100%), url('/images/christmas/scene.webp') center 35% / cover no-repeat;
}
.landing--main-showcase .lp-live-pill { background: #0d2a50dc; border-color: #80d3f6; color: #e1f8ff; }
.landing--main-showcase .lp-title-accent, .landing--main-showcase .lp-facts strong { color: #a8eaff; text-shadow: 0 3px 12px #153e6e; }
.landing--main-showcase .lp-btn-primary, .panel-shell .panel-entry-card .panel-cta,
.btn-accent, .btn-gold, .btn-primary, .sheet-cta, .ref-copy-btn,
.sheet-overlay--referral .ref-card .cta, .sheet-overlay--withdraw .sheet-cta,
.tutorial-intro-overlay .tutorial-intro-actions .btn-accent {
    background: linear-gradient(#d8f7ff, #69c7ee); color: #092546; border: 1px solid #ddf9ff;
    box-shadow: 0 5px 0 #2b77ac, 0 10px 22px #03122f80;
}
.landing--main-showcase .lp-howto { background: linear-gradient(#081b38dc, #0b2344eb); border-color: #75b6dc4d; }
.landing--main-showcase .lp-howto-title, .landing--main-showcase .lp-howto-card h3 { color: #a9e9ff; }
.landing--main-showcase .lp-howto-card, .landing--main-showcase .lp-review {
    background: #123054ed; border-color: #70add38c;
}
.landing--main-showcase .lp-howto-scroll::before { background: linear-gradient(#9ee7ff, #5da4d1, #9ee7ff); }
.landing--main-showcase .lp-howto-orb { background-color: #12345c; border-color: #80cff4; box-shadow: 0 0 0 6px #448dc54d; }
.landing--main-showcase .lp-section-reviews, .landing--main-showcase .lp-final { background: #081b38bb; }
.landing--main-showcase .lp-footer { background: #081b38ee; border-color: #75b6dc4d; }
.landing--main-showcase .lp-feature-icon { color: #a9e9ff; }

.panel-intro { background-image: linear-gradient(90deg, #071b42e6, #0b3d7480), url('/images/christmas/scene.webp'); }
.panel-intro-kicker { background: #0c2c56df; border-color: #80d3f6; color: #d6f5ff; }
.panel-intro h1 span { color: #a8eaff; }
.panel-shell .panel-entry-card, .auth-card { background: #112b50eb; border-color: #70add3aa; box-shadow: 0 12px 30px #03122f99; }
.panel-round-head, .panel-account-balance strong, .panel-shell .panel-entry-card .panel-label { color: #c5f1ff; }
.panel-account-balance span { color: #c2d8e9; }
.panel-quick-actions { border-color: #70add366; }
.panel-quick-actions button, .panel-shell .panel-entry-card .entry-chip, .panel-shell .panel-entry-card .entry-adjust { background: #16365d; border-color: #6faad180; color: #effaff; }
.panel-quick-actions button:hover { background: #235382; border-color: #a9e9ff; }
.panel-shell .panel-entry-card .money-input, .panel-shell .panel-entry-card .reward-box { background: #0b2244; border-color: #6faad180; }
.panel-shell .panel-entry-card .money-input input, .panel-shell .panel-entry-card .reward-box .label { color: #dff7ff; }
.panel-shell .panel-entry-card .entry-chip.active, .entry-chip.active, .preset-chip.active { background: linear-gradient(#d8f7ff, #69c7ee); border-color: #ddf9ff; color: #092546; box-shadow: 0 4px 0 #2b77ac; }
.panel-shell .panel-entry-card .reward-box .value { color: #aaf1ff; text-shadow: 0 0 16px #63c9ff99; }
.panel-shell .panel-entry-card .panel-cta { animation: none; }

.sheet-overlay .sheet { background: #0d2447; border-color: #6faad180; color: #f2faff; }
.sheet-overlay .sheet-section { background: #123053; border-color: #6faad166; }
.sheet-header h2, .sheet-overlay--profile .sheet-header h2, .sheet-overlay--withdraw .sheet-header h2, .sheet-overlay--referral .sheet-header h2 { color: #d6f5ff; }
.ref-intro, .withdraw-intro, .profile-intro { background: linear-gradient(90deg, #071b42e8, #0b3d7480), url('/images/christmas/scene.webp') center 38% / cover no-repeat; border-color: #70add380; }
.ref-intro span, .withdraw-intro span, .profile-intro span { color: #a9e9ff; }
.sheet-overlay--referral .ref-card, .sheet-overlay--referral .ref-level,
.sheet-overlay--profile .sheet-section, .sheet-overlay--profile .profile-level, .sheet-overlay--profile .quick-stat { background: #123053; border-color: #6faad180; }
.sheet-overlay--referral .ref-card .big, .sheet-overlay--referral .ref-level .tier,
.sheet-overlay--profile .profile-level-badge, .sheet-overlay--profile .quick-stat .v,
.sheet-overlay--withdraw .saldo-row .value { color: #b8edff; }
.sheet-overlay--referral .ref-link-value, .sheet-overlay--withdraw .money-input,
.sheet-overlay--profile .profile-ref-copy, .sheet-overlay--profile .profile-history-toggle,
.sheet-overlay--profile .profile-support-link { background: #0b2244; border-color: #6faad180; color: #eaf9ff; }
.ref-rate-note, .withdraw-presets button { background: #123053; border-color: #6faad180; color: #eaf9ff; }
.withdraw-presets button.active { background: #9de4ff; color: #092546; }
.sheet-overlay--profile .sheet { background: linear-gradient(#0c2446ed, #0b2141f2), url('/images/christmas/scene.webp') center top / cover no-repeat; }
.sheet-overlay--profile .profile-user .winner-avatar { background: #153964; border-color: #a9e9ff; }
.daily-reward-card { background: linear-gradient(145deg, #173c67, #0c2448) !important; border-color: #7bc7eb99 !important; }
.daily-reward-day { background: #0b2548; border-color: #6faad155; color: #d6eafa; }

.tutorial-game-page .bb-hud { background: linear-gradient(#163b6bd9, #0b244cdd); border-color: #8ad5f5; box-shadow: 0 6px 18px #06132bb3, inset 0 0 12px #7fdcff33; }
.tutorial-game-page .tutorial-intro-accent { color: #a9e9ff; text-shadow: 0 0 14px #75d5ff88; }
.tutorial-intro-overlay .modal { background: linear-gradient(155deg, #1e5284, #0a254b 75%); border-color: #a8eaff; box-shadow: 0 0 0 4px #09264b, 0 20px 35px #030d22b8; }
.tutorial-intro-overlay .tutorial-intro-brand, .tutorial-intro-overlay .tutorial-intro-modal h2 { color: #e1f8ff; text-shadow: 0 3px 8px #061b3f; }
.tutorial-intro-overlay .tutorial-intro-skip { color: #eaf9ff !important; background: #153a68cc !important; border-color: #8ad5f5aa !important; }
.tutorial-game-page .tutorial-cauldron { filter: drop-shadow(0 4px 8px #061a3b); }

.btn:focus-visible, .panel-cta:focus-visible, .entry-chip:focus-visible,
.nav-item:focus-visible, .sheet-overlay button:focus-visible, .sheet-overlay input:focus-visible { outline-color: #bcefff; }

/* Fundo natalino também quando a configuração antiga aplica imagem inline. */
:root, html[data-theme="light"] { --panel-bg-image: url('/images/christmas/scene.webp'); }
@media (min-width: 768px) {
    :root, html[data-theme="light"] { --panel-bg-image: url('/images/christmas/scene.webp'); }
}
.landing--main-showcase .lp-hero-bg,
html[data-theme="light"] .landing--main-showcase .lp-hero-bg {
    background-image: linear-gradient(180deg, #06193691 0%, #0a2b60a6 55%, #081b38 100%), url('/images/christmas/scene.webp') !important;
    background-size: cover !important;
    background-position: center 35% !important;
}

/* Avisos e recompensa acompanham a paleta azul do painel. */
.panel-shell .panel-entry-card .reward-box {
    background: linear-gradient(145deg, #12365f, #0c274c);
    border-color: #6bb8df;
    box-shadow: inset 0 1px 0 #b4ecff24;
}
.panel-shell .panel-entry-card .reward-box .label { color: #cbefff; }
.panel-shell .panel-entry-card .reward-box .value { color: #b4eeff; text-shadow: 0 0 14px #65caff88; }
.panel-shell .panel-entry-card .panel-cta {
    background: linear-gradient(#a9e9ff, #4da8db);
    color: #082543;
    border-color: #c3f1ff;
    box-shadow: 0 5px 0 #236998, 0 10px 22px #03122f80;
}
.live-toast, .notice-box {
    background: #102b50f2;
    border-color: #78c9eb99;
    color: #eaf8ff;
    box-shadow: 0 10px 26px #03122f99;
}
.live-toast-text { color: #c7deed; }
.live-toast-amount { color: #a9eaff; }
.live-toast-icon.withdraw, .live-toast-icon.deposit, .live-toast-icon.win {
    color: #b4eeff;
    background: #4baee434;
    border-color: #7acdef99;
}

@media (max-width: 599px) {
    .panel-intro { min-height: 215px; padding-bottom: 50px; }
    .panel-intro-art { width: 125px; bottom: 8px; }
}

/* Destaques da landing natalina. */
.landing--main-showcase .lp-hero-inner {
    font-family: ui-rounded, "Arial Rounded MT Bold", "Chalkboard SE", "Trebuchet MS", system-ui, sans-serif;
}
.landing--main-showcase .lp-live-pill {
    display: inline-flex; margin: 0 auto 12px; padding: 9px 17px;
    background: #0d2a50e8; border: 1px solid #79c9e8;
    color: #e9f9ff; font-size: .86rem; font-weight: 800;
    letter-spacing: 0; text-transform: none;
}
.landing--main-showcase .lp-live-pill .live-dot {
    width: 10px; height: 10px; border-radius: 50%;
    background: #37d99a; box-shadow: 0 0 0 5px #37d99a25, 0 0 12px #37d99a;
}
.landing--main-showcase .lp-edition-pill {
    display: table; margin: 0 auto 17px; padding: 8px 17px;
    border: 1px solid #7ec7e4; border-radius: 999px;
    background: #09264bdc; color: #eaf9ff;
    font-size: .76rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase;
}
.landing--main-showcase .lp-title {
    font-family: ui-rounded, "Arial Rounded MT Bold", "Chalkboard SE", "Trebuchet MS", system-ui, sans-serif;
    font-weight: 1000; letter-spacing: -.045em;
    -webkit-text-stroke: .35px currentColor;
    text-shadow: 0 3px 0 #15365e, 0 7px 16px #061634ba;
}
.landing--main-showcase .lp-title-accent {
    text-shadow: 0 3px 0 #1f5e87, 0 7px 16px #061634ba;
}
.landing--main-showcase .lp-btn-primary {
    font-family: ui-rounded, "Arial Rounded MT Bold", "Chalkboard SE", "Trebuchet MS", system-ui, sans-serif;
    font-weight: 900 !important;
    font-size: 1.08rem !important;
    letter-spacing: .025em;
}
.landing--main-showcase .lp-hero-orbs {
    display: flex; justify-content: center; align-items: center;
    gap: 12px; margin: 0 auto 20px;
}
.landing--main-showcase .lp-hero-orb {
    display: block; width: 42px; height: 42px;
    background: url('/images/christmas/orbs-6-padronizadas.webp') 0% center / 600% 100% no-repeat;
    filter: drop-shadow(0 4px 8px #061634a6);
}
.landing--main-showcase .lp-hero-orb--2 { background-position: 40% center; }
.landing--main-showcase .lp-hero-orb--4 { background-position: 80% center; }

/* Ações compactas do cabeçalho público, no azul do tema natalino. */
.landing .app-header { padding-top: calc(23px + env(safe-area-inset-top, 0px)); }
.landing .app-header .header-actions { gap: 8px; }
.landing .app-header .header-actions .btn {
    min-height: 34px; padding: 7px 13px;
    border-radius: 11px; font-size: .7rem; font-weight: 900;
    letter-spacing: .045em; white-space: nowrap;
    font-family: ui-rounded, "Arial Rounded MT Bold", "Trebuchet MS", system-ui, sans-serif;
}
.landing .app-header .header-actions .btn-ghost {
    color: #e5f6ff; background: #0d2445;
    border: 1px solid #70add3;
    box-shadow: none;
}
.landing .app-header .header-actions .btn-primary {
    color: #092747; background: linear-gradient(#dff8ff, #78ccef);
    border: 1px solid #dff9ff;
    box-shadow: 0 4px 0 #3077a4, 0 7px 13px #03122f70;
}
.landing .app-header .header-register-wrap { position: relative; display: flex; align-items: center; }
.landing .app-header .header-actions .header-register-cta { min-height: 34px; padding: 7px 13px; }
.landing .app-header .header-register-bonus {
    position: absolute; top: -15px; right: -7px; z-index: 1;
    padding: 3px 9px; border-radius: 999px;
    background: #102b52; border: 1px solid #7cbde0;
    color: #e8f8ff; box-shadow: 0 2px 6px #03122f80;
    font-size: .62rem; font-weight: 900; letter-spacing: 0;
    white-space: nowrap; pointer-events: none; transform: rotate(-7deg);
}
@media (max-width: 380px) {
    .landing .app-header { padding-left: 10px; padding-right: 10px; }
    .landing .app-header .header-actions { gap: 5px; }
    .landing .app-header .header-actions .btn { padding: 6px 9px; font-size: .65rem; }
    .landing .app-header .header-actions .header-register-cta { padding: 6px 9px; font-size: .65rem; }
    .landing .app-header .header-register-bonus { font-size: .55rem; padding: 3px 7px; }
    .landing .app-logo { max-width: 112px; height: auto; }
}

/* ===================================================================
   Cabeçalho do painel sem menu/tema: logo leva ao painel.
   =================================================================== */
.panel-topbar-home { display: flex; align-items: center; min-width: 0; margin-right: auto; border-radius: 12px; }
.panel-topbar-home .panel-topbar-logo { margin-right: 0; }
.panel-topbar-home:focus-visible, .panel-profile-btn:focus-visible { outline: 3px solid #bcefff; outline-offset: 2px; }

/* Atalhos do painel com ícone (Depositar/Sacar/Indicar). */
.panel-quick-actions button {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px;
    min-height: 62px; line-height: 1.1;
}
.panel-quick-actions button svg { width: 22px; height: 22px; flex: 0 0 auto; color: #a9e9ff; }
.panel-quick-actions button:hover svg { color: #d8f7ff; }

/* Botão central da barra inferior agora abre Missões e mostra o rótulo. */
.bottom-nav .nav-item.center { margin-top: -34px; gap: 1px; }
.bottom-nav .nav-item.center > span.nav-center-label:last-child {
    position: static; width: auto; height: auto; overflow: visible; clip-path: none;
    color: #e5f5ff; font-size: .72rem; font-weight: 800; letter-spacing: .02em;
}
.bottom-nav .nav-item.center .nav-circle,
.bottom-nav .nav-item.center .nav-circle .nav-bubble { width: 70px; height: 70px; }
.bottom-nav .nav-item.center.is-active > span.nav-center-label:last-child,
.bottom-nav .nav-item.center:hover > span.nav-center-label:last-child { color: #9ee7ff; }
.bottom-nav .nav-item.center.is-active .nav-circle .nav-bubble { filter: drop-shadow(0 0 14px #9ee7ffcc); }
@media (max-width: 390px) {
    .bottom-nav .nav-item.center .nav-circle,
    .bottom-nav .nav-item.center .nav-circle .nav-bubble { width: 62px; height: 62px; }
    .bottom-nav .nav-item.center > span.nav-center-label:last-child { font-size: 10px; }
}

/* Perfil: atalho para o tutorial (antes ficava no menu lateral). */
.sheet-overlay--profile .profile-tutorial-btn {
    margin-bottom: 10px; background: #0b2244; border: 1px solid #6faad180; color: #eaf9ff;
}
.sheet-overlay--profile .profile-tutorial-btn:hover { background: #16365d; }

/* ===================================================================
   Página de Missões (mesma linguagem do painel).
   =================================================================== */
.missions-intro h1, .missions-intro p { max-width: calc(100% - 118px); }
@media (min-width: 600px) { .missions-intro h1, .missions-intro p { max-width: calc(100% - 210px); } }
.missions-intro .panel-intro-art { background-position: 66.66% center; }
.missions-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.missions-head h2 { margin: 0; color: #c5f1ff; font-size: 1.2rem; text-transform: uppercase; letter-spacing: .1em; }
.missions-count {
    padding: 6px 12px; border-radius: 999px; background: #0b2244; border: 1px solid #6faad180;
    color: #dff7ff; font-size: .82rem; font-weight: 900; white-space: nowrap;
}
.missions-period { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; margin-bottom: 9px; color: #c2d8e9; font-size: .78rem; }
.missions-period strong { color: #dff7ff; }
.missions-overall { height: 8px; margin-bottom: 18px; overflow: hidden; border-radius: 999px; background: #0b2244; border: 1px solid #6faad155; }
.missions-overall span, .mission-progress span {
    display: block; height: 100%; border-radius: inherit;
    background: linear-gradient(90deg, #69c7ee, #d8f7ff); transition: width .45s ease;
}
.missions-done { margin: -6px 0 14px; padding: 10px 12px; border-radius: 12px; background: #315f5155; border: 1px solid #a9e2bb88; color: #dfffea; font-size: .84rem; font-weight: 700; text-align: center; }
.missions-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.mission-item {
    display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 12px;
    padding: 14px; border-radius: 16px; background: #0b2244; border: 1px solid #6faad166;
}
.mission-item.is-active, .mission-item.is-ready {
    background: linear-gradient(145deg, #173c67, #0f2d55); border-color: #a7e5ff;
    box-shadow: 0 0 0 1px #a7e5ff2e, 0 10px 22px #03122f80;
}
.mission-item.is-ready { animation: mission-ready-glow 2.4s ease-in-out infinite; }
.mission-item.is-locked { opacity: .64; }
.mission-badge {
    display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
    background: linear-gradient(#d8f7ff, #69c7ee); color: #092546; font-size: 1.05rem; font-weight: 900;
    box-shadow: 0 3px 0 #2b77ac;
}
.mission-badge svg { width: 20px; height: 20px; }
.is-locked .mission-badge { background: #16365d; color: #9fc3dd; border: 1px solid #6faad180; box-shadow: none; }
.is-claimed .mission-badge { background: #315f51; color: #dfffea; border: 1px solid #a9e2bb; box-shadow: none; }
.mission-body { min-width: 0; }
.mission-title { margin: 0; color: #effaff; font-size: .93rem; font-weight: 800; line-height: 1.3; }
.mission-reward { margin: 3px 0 0; color: #c2d8e9; font-size: .8rem; }
.mission-reward strong { color: #aaf1ff; }
.is-claimed .mission-reward strong { color: #b9f0c9; }
.mission-progress { height: 7px; margin-top: 9px; overflow: hidden; border-radius: 999px; background: #071b38; border: 1px solid #6faad155; }
.mission-progress-label { margin: 5px 0 0; color: #c2d8e9; font-size: .74rem; }
.is-ready .mission-progress-label { color: #b9f0c9; font-weight: 800; }
.mission-action {
    min-height: 40px; padding: 8px 15px; border-radius: 12px; cursor: pointer;
    border: 1px solid #ddf9ff; background: linear-gradient(#d8f7ff, #69c7ee); color: #092546;
    box-shadow: 0 3px 0 #2b77ac; font-size: .78rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase;
}
.mission-action--ghost { background: #16365d; border-color: #6faad1aa; color: #effaff; box-shadow: none; }
.mission-action:hover:not(:disabled) { filter: brightness(1.08); }
.mission-action:disabled { opacity: .6; cursor: not-allowed; }
.mission-action:focus-visible { outline: 3px solid #bcefff; outline-offset: 2px; }
.missions-rules { margin: 18px 0 0; padding: 12px 14px; border-radius: 12px; border: 1px dashed #6faad180; color: #c7deed; font-size: .78rem; line-height: 1.5; }
.missions-empty { margin: 0; padding: 26px 8px; color: #c2d8e9; text-align: center; }
@keyframes mission-ready-glow {
    0%, 100% { box-shadow: 0 0 0 1px #a7e5ff2e, 0 10px 22px #03122f80; }
    50% { box-shadow: 0 0 0 3px #a7e5ff55, 0 0 22px #69c7ee66; }
}
@media (prefers-reduced-motion: reduce) {
    .mission-item.is-ready { animation: none; }
    .missions-overall span, .mission-progress span { transition: none; }
}
@media (max-width: 480px) {
    .mission-item { grid-template-columns: 44px minmax(0, 1fr); }
    .mission-action-wrap { grid-column: 2; }
    .mission-action { width: 100%; }
}
@media (max-width: 380px) {
    .mission-item { grid-template-columns: 38px minmax(0, 1fr); gap: 10px; padding: 12px; }
    .mission-badge { width: 38px; height: 38px; }
}

/* ===================================================================
   Barra de rolagem no tema azul-gelo (substitui a padrão do navegador).
   Chromium/Safari usam ::-webkit-scrollbar; Firefox usa as propriedades
   padrão (aplicadas só onde ::-webkit-scrollbar não existe, pois o Chrome
   ignoraria o estilo webkit se scrollbar-color estivesse definido).
   =================================================================== */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #061430; }
::-webkit-scrollbar-thumb {
    background: linear-gradient(#a9e9ff, #3f93c9); border-radius: 999px;
    border: 2px solid #061430;
}
::-webkit-scrollbar-thumb:hover { background: linear-gradient(#d8f7ff, #5fb4e0); }
::-webkit-scrollbar-corner { background: #061430; }
.sheet::-webkit-scrollbar-track, .modal::-webkit-scrollbar-track { background: transparent; }
.sheet::-webkit-scrollbar-thumb, .modal::-webkit-scrollbar-thumb { border-color: #0d2447; }
@supports not selector(::-webkit-scrollbar) {
    html { scrollbar-color: #5fb4e0 #061430; scrollbar-width: thin; }
    .sheet, .modal { scrollbar-color: #5fb4e0 transparent; }
}
.daily-reward-days { scrollbar-color: #5fb4e0 transparent; }

/* ===================================================================
   Landing no desktop (>= 1024px). Mobile e tablet ficam como estavam.
   =================================================================== */
@media (min-width: 1024px) {
    .landing--main-showcase .app-header {
        padding: calc(20px + env(safe-area-inset-top, 0px)) max(32px, calc((100% - 1180px) / 2)) 20px;
        background: linear-gradient(#061634e6, #06163400);
        border-bottom: 0; box-shadow: none;
    }
    .landing--main-showcase .app-logo { height: 58px; max-width: 190px; }
    .landing .app-header .header-actions { gap: 12px; }
    .landing .app-header .header-actions .btn,
    .landing .app-header .header-actions .header-register-cta { min-height: 42px; padding: 10px 20px; font-size: .8rem; }

    /* Herói em duas colunas: texto à esquerda, Papai Noel à direita. */
    .landing--main-showcase .lp-hero {
        display: flex; align-items: center;
        min-height: min(100svh, 880px);
        padding: 132px 32px 120px;
    }
    .landing--main-showcase .lp-hero-bg,
    html[data-theme="light"] .landing--main-showcase .lp-hero-bg {
        background-image:
            linear-gradient(90deg, #061936f0 0%, #061936b8 38%, #0619362e 70%),
            linear-gradient(180deg, #06193600 62%, #081b38 100%),
            url('/images/christmas/scene.webp') !important;
        background-position: center 40% !important;
    }
    .landing--main-showcase .lp-hero-inner {
        display: flex; flex-direction: column; align-items: flex-start; justify-content: center;
        width: 100%; max-width: 1180px; min-height: 540px; margin: 0 auto;
        padding-right: 42%; text-align: left;
    }
    .landing--main-showcase .lp-live-pill { margin: 0 0 14px; }
    .landing--main-showcase .lp-edition-pill { display: inline-block; margin: 0 0 24px; }
    .landing--main-showcase .lp-title {
        max-width: 640px; margin: 0 0 20px;
        font-size: clamp(3.4rem, 4.9vw, 4.7rem); line-height: 1; text-align: left;
    }
    .landing--main-showcase .lp-hero-santa {
        position: absolute; top: 50%; right: 1%;
        width: min(42%, 500px); margin: 0;
        transform: translateY(-50%);
        background:
            url('/images/christmas/papai_noel_e_saco_magico_de_presentes-min.webp') center / contain no-repeat,
            radial-gradient(circle at 50% 56%, #9ee7ff38 0%, #9ee7ff12 42%, transparent 66%);
        filter: drop-shadow(0 24px 36px #04102eb3);
    }
    .landing--main-showcase .lp-hero-description {
        max-width: 500px; margin: 0 0 26px;
        font-size: 1.18rem; line-height: 1.55; text-align: left;
    }
    .landing--main-showcase .lp-hero-orbs { justify-content: flex-start; gap: 14px; margin: 0 0 32px; }
    .landing--main-showcase .lp-hero-orb { width: 50px; height: 50px; }
    .landing--main-showcase .lp-ctas {
        flex-direction: row; align-items: center; gap: 26px;
        max-width: none; margin: 0;
    }
    .landing--main-showcase .lp-ctas .lp-btn-primary { width: auto; min-width: 300px; }
    .landing--main-showcase .lp-btn-link { font-size: 1.02rem; font-weight: 800; }
    .landing--main-showcase .lp-btn-link:hover { color: #a9e9ff; }

    /* Faixa de destaques sobreposta ao fim do herói. */
    .landing--main-showcase .lp-facts {
        position: relative; z-index: 2;
        width: calc(100% - 64px); max-width: 1080px; margin: -70px auto 0; padding: 30px 24px;
        gap: 0; border-radius: 26px;
        background: #0d2648eb; border: 1px solid #70add38c;
        box-shadow: 0 22px 46px #03122fb3;
        -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
    }
    .landing--main-showcase .lp-facts > div { padding: 4px 18px; }
    .landing--main-showcase .lp-facts > div + div { border-left: 1px solid #70add355; }
    .landing--main-showcase .lp-facts strong { font-size: 2.7rem; line-height: 1; }
    .landing--main-showcase .lp-facts span { font-size: .82rem; letter-spacing: .1em; }

    /* Como jogar: 4 passos lado a lado com trilho horizontal. */
    .landing--main-showcase .lp-howto {
        position: relative; z-index: 1; margin-top: -60px; padding: 150px 32px 100px;
        background: linear-gradient(#081b3800 0, #081b38 60px, #0a2142f0 40%, #0b2344eb 100%); border-top: 0;
    }
    .landing--main-showcase .lp-howto-head { max-width: 720px; margin: 0 auto 64px; }
    .landing--main-showcase .lp-howto-title { font-size: 3.3rem; }
    .landing--main-showcase .lp-howto-sub { font-size: 1.08rem; }
    .landing--main-showcase .lp-howto-scroll {
        grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px;
        max-width: 1180px; padding: 40px 0 0;
    }
    .landing--main-showcase .lp-howto-scroll::before {
        z-index: 2; top: 39px; bottom: auto; left: 12.5%; right: 12.5%;
        width: auto; height: 3px;
        background: linear-gradient(90deg, #9ee7ff, #5da4d1, #9ee7ff);
    }
    .landing--main-showcase .lp-howto-card {
        z-index: 1; min-height: 0; padding: 62px 26px 30px; text-align: center;
        border-radius: 26px; transition: transform .2s ease, border-color .2s ease;
    }
    .landing--main-showcase .lp-howto-card:hover { transform: translateY(-4px); border-color: #a9e9ffcc; }
    .landing--main-showcase .lp-howto-orb {
        z-index: 3; top: -40px; left: 50%; width: 80px; height: 80px;
        transform: translateX(-50%);
    }
    .landing--main-showcase .lp-howto-card h3 { font-size: 1.16rem; }
    .landing--main-showcase .lp-howto-card p { font-size: .96rem; line-height: 1.55; }
    .landing--main-showcase .lp-howto-cta { max-width: 380px; margin-top: 56px; }

    /* Conheça: largura total, cartões em 3 colunas. */
    .landing--main-showcase .lp-section-reviews {
        max-width: none;
        padding: 96px max(32px, calc((100% - 1180px) / 2));
    }
    .landing--main-showcase .lp-section-title { font-size: 2.5rem; }
    .landing--main-showcase .lp-section-sub { margin-bottom: 44px; font-size: 1.08rem; }
    .landing--main-showcase .lp-reviews { gap: 24px; }
    .landing--main-showcase .lp-review { min-height: 220px; padding: 32px 30px; border-radius: 26px; transition: transform .2s ease, border-color .2s ease; }
    .landing--main-showcase .lp-review:hover { transform: translateY(-4px); border-color: #a9e9ffcc; }
    .landing--main-showcase .lp-feature-icon {
        display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 20px;
        border-radius: 18px; background: #0b2244; border: 1px solid #70add38c; font-size: 1.7rem;
    }
    .landing--main-showcase .lp-review-name { font-size: 1.22rem; }
    .landing--main-showcase .lp-review-text { font-size: 1rem; line-height: 1.6; }

    /* Chamada final em cartão largo: texto à esquerda, botão à direita. */
    .landing--main-showcase .lp-final {
        display: grid; grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas: "title cta" "text cta"; column-gap: 48px;
        align-items: center; position: relative; overflow: hidden;
        max-width: 1180px; margin: 88px auto; padding: 56px 64px;
        text-align: left; border-radius: 32px;
        background: linear-gradient(100deg, #0b2547f5 0%, #12406ee6 100%);
        border: 1px solid #80cff4aa; box-shadow: 0 26px 56px #03122fb3;
    }
    .landing--main-showcase .lp-final::after {
        content: ""; position: absolute; right: -60px; bottom: -120px;
        width: 340px; height: 340px; border-radius: 50%;
        background: radial-gradient(circle, #9ee7ff33, transparent 70%); pointer-events: none;
    }
    .landing--main-showcase .lp-final h2 { grid-area: title; margin: 0 0 10px; font-size: 2.4rem; }
    .landing--main-showcase .lp-final p { grid-area: text; margin: 0; font-size: 1.1rem; }
    .landing--main-showcase .lp-final .lp-btn-primary { grid-area: cta; position: relative; z-index: 1; width: auto; min-width: 300px; }

    /* Rodapé em linha. */
    .landing--main-showcase .lp-footer {
        display: grid; grid-template-columns: auto 1fr; grid-template-areas: "logo copy" "logo note";
        column-gap: 28px; align-items: center; text-align: left;
        padding: 34px max(32px, calc((100% - 1180px) / 2)) calc(34px + env(safe-area-inset-bottom, 0px));
    }
    .landing--main-showcase .lp-footer-logo { grid-area: logo; height: 66px; margin: 0; }
    .landing--main-showcase .lp-footer-copy { grid-area: copy; align-self: end; }
    .landing--main-showcase .lp-footer-note { grid-area: note; align-self: start; margin-top: 4px; }
}
@media (min-width: 1024px) and (prefers-reduced-motion: reduce) {
    .landing--main-showcase .lp-howto-card, .landing--main-showcase .lp-review { transition: none; }
    .landing--main-showcase .lp-howto-card:hover, .landing--main-showcase .lp-review:hover { transform: none; }
}
