/* Homepage presentation. Shared game and education pages keep their own styles. */
.home-page {
    --home-text: #f5f2fb;
    --home-muted: #b8b3cc;
    --home-accent: #c4afff;
    --home-surface: #151222;
    --home-line: #302a43;
    --color-text-secondary: #b8b3cc;
    color: var(--home-text);
    background: #0c0915;
}

.home-page main {
    background: radial-gradient(ellipse at 12% 0, #2d1d4a55, transparent 42rem);
}

.home-page .header {
    background: #0c0915ed;
    border-color: #292335;
}

/* Keep navigation in reach while scrolling and using the keyboard. */
.home-page .header.header--hidden { transform: none; }
.home-page .header__inner { max-width: 1200px; }
.home-page .nav__link { color: #c5bfd5; }
.home-page .nav__link:is(:hover, :focus-visible, .nav__link--active) {
    color: #f5f2fb;
    background: #2d243f;
}
.home-page .header__logo-icon { color: #201632; background: #c4afff; }

.home-page :is(a, button, input, select):focus-visible {
    outline: 3px solid #c4afff;
    outline-offset: 4px;
}

.home-page .hero--home {
    padding: 118px 24px 24px;
}
.home-page .hero--home .hero__content { max-width: 1200px; margin-inline: auto; }
.home-page .home-chess-shortcuts {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px 24px;
    margin-bottom: 28px;
    padding: 12px 16px;
    border: 1px solid #625334;
    border-radius: 14px;
    background: #211d19;
    text-align: left;
}
.home-page .home-chess-shortcuts__title { display: flex; align-items: center; gap: 10px; color: #ebd5a1; font-size: 1rem; font-weight: 700; }
.home-page .home-chess-shortcuts__title > [aria-hidden] { font-size: 1.6rem; line-height: 1; }
.home-page .home-chess-shortcuts__links { display: flex; flex-wrap: wrap; gap: 8px; }
.home-page .home-chess-shortcuts__links a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 9px 20px;
    border: 1px solid #756344;
    border-radius: 9px;
    color: #faedcf;
    background: #30281f;
    font-size: .875rem;
    line-height: 1.4;
    font-weight: 600;
    overflow-wrap: anywhere;
}
.home-page .home-chess-shortcuts__links a:is(:hover, :focus-visible) { color: #fff5dd; background: #473a26; border-color: #e0c38a; }
.home-page .hero__intro {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(28px, 5vw, 72px);
}
.home-page .hero__eyebrow { color: #c1aedf; font-size: .7rem; letter-spacing: .14em; }
.home-page .hero--home .hero__title {
    font-size: clamp(2.6rem, 4.5vw, 4rem);
    letter-spacing: -.055em;
    line-height: 1.1;
    text-transform: none;
    overflow-wrap: normal;
}
.home-page .hero__title > span { display: block; }
.home-page .hero__title-accent { color: #c4afff; }
.home-page .hero--home .hero__tagline {
    max-width: 490px;
    margin: 22px 0 0;
    color: var(--home-muted);
    font-size: 1.05rem;
    line-height: 1.7;
    text-align: left;
}
.home-page .home-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

/* Foreground and background are explicit for every button state. No overlay
   is drawn above a label, including labels that are direct text nodes. */
.home-page .home-button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 24px;
    min-height: 48px;
    padding: 12px 21px;
    border: 1px solid #c4afff;
    border-radius: 11px;
    color: #211533;
    background: #c4afff;
    font-size: .94rem;
    font-weight: 700;
    line-height: 1.35;
    text-decoration: none;
    -webkit-text-fill-color: currentColor;
    transition: background-color .16s, border-color .16s, transform .16s;
}
.home-page .home-button:is(:hover, :focus-visible) { color: #211533; background: #d6c7ff; border-color: #d6c7ff; }
.home-page .home-button:active { color: #211533; background: #bda2f8; transform: translateY(1px); }
.home-page .home-button--secondary { color: var(--home-text); background: #211a30; border-color: #483858; }
.home-page .home-button--secondary:is(:hover, :focus-visible) { color: #fff; background: #332642; border-color: #9a7bbf; }
.home-page .home-button--secondary:active { color: #fff; background: #3b2e4a; }
.home-page .home-hero-note { display: flex; align-items: center; gap: 9px; margin-top: 18px; color: #aaa3bd; font-size: .78rem; }
.home-page .home-hero-note > span:first-child { color: #b5d2ba; }

.home-page .home-spotlight {
    min-width: 0;
    display: block;
    overflow: hidden;
    color: var(--home-text);
    border: 1px solid #42554c;
    border-radius: 20px;
    background: #172722;
    box-shadow: 0 18px 55px #0003;
    transition: border-color .2s, transform .2s, box-shadow .2s;
}
.home-page .home-spotlight:is(:hover, :focus-visible) { color: var(--home-text); border-color: #a9d0af; transform: translateY(-3px); box-shadow: 0 20px 55px #0005; }
.home-page .home-spotlight__art { position: relative; overflow: hidden; }
.home-page .home-spotlight__art img { width: 100%; aspect-ratio: 2.12; object-fit: cover; object-position: center 60%; }
.home-page .home-spotlight__badge,
.home-page .home-spotlight__grade { position: absolute; top: 14px; padding: 4px 10px; border-radius: 6px; font-size: .7rem; font-weight: 700; }
.home-page .home-spotlight__badge { left: 14px; color: #17291c; background: #c7e4b3; }
.home-page .home-spotlight__grade { right: 14px; color: #e4eee7; background: #112520ed; }
.home-page .home-spotlight__body { padding: 20px 24px; }
.home-page .home-spotlight__eyebrow { margin-bottom: 6px; color: #acc4af; font-size: .62rem; font-weight: 700; letter-spacing: .12em; }
.home-page .home-spotlight h2 { color: #f3f5e9; font-size: clamp(1.15rem, 1.65vw, 1.5rem); letter-spacing: -.025em; line-height: 1.25; }
.home-page .home-spotlight h2 + p { margin-top: 9px; color: #bdcec3; font-size: .85rem; line-height: 1.55; }
.home-page .home-spotlight__action { margin-top: 15px; display: flex; justify-content: space-between; align-items: center; gap: 12px; color: #dfedb9; font-size: .85rem; font-weight: 700; }
.home-page .home-spotlight__action > span:last-child { font-size: 1.3rem; }

.home-page .home-directions { margin-top: 28px; gap: 14px; }
.home-page .home-direction { min-height: 96px; padding: 17px 20px; background: #161120; border-radius: 14px; }
.home-page .home-direction__copy strong { font-size: 1.05rem; }
.home-page .home-direction__copy > span { color: #b8b3cc; font-size: .8rem; }
.home-page .home-direction:is(:hover, :focus-visible) { color: #fff; background: #231a32; }

.home-page :is(.section--catalog, .section--edu) { max-width: 1248px; width: 100%; margin-inline: auto; padding: 36px 24px; }
.home-page .section__header { margin-bottom: 22px; }
.home-page .section__title { font-size: clamp(1.5rem, 2.5vw, 2rem); line-height: 1.25; }
.home-page .home-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.home-page .home-section-description { margin-top: 8px; color: var(--home-muted); font-size: .9rem; }
.home-page .games-counter { flex-shrink: 0; margin: 0; color: #b9b1cc; font-size: .8rem; }
.home-page .home-catalog-tools { display: grid; gap: 16px; margin: 0 0 24px; }
.home-page .home-search { width: 100%; }
.home-page .home-search label { display: block; margin-bottom: 6px; color: #c9c2d9; font-size: .78rem; }
.home-page .home-search__field { position: relative; }
.home-page .home-search__field svg { position: absolute; left: 16px; top: 16px; color: #b8a7d6; pointer-events: none; }
.home-page #game-search { width: 100%; min-height: 52px; padding: 13px 16px 13px 47px; color: #f5f2fb; caret-color: #d6c7ff; background: #151120; border: 1px solid #3b314d; border-radius: 11px; font-size: 1rem; }
.home-page #game-search::placeholder { color: #a69db8; opacity: 1; }
.home-page #game-search:hover { border-color: #79668e; }
.home-page .tag-filters { display: flex; justify-content: flex-start; gap: 8px; flex-wrap: wrap; margin: 0; }
.home-page .tag-filter { min-height: 44px; padding: 9px 16px; border: 1px solid #3b314d; border-radius: 9px; color: #d8d1e5; background: #191323; font-size: .85rem; font-weight: 600; line-height: 1.3; text-transform: none; letter-spacing: normal; transition: background-color .16s, border-color .16s; }
.home-page .tag-filter:is(:hover, :focus-visible) { color: #fff; border-color: #aa8eda; background: #342546; }
.home-page .tag-filter--active,
.home-page .tag-filter--active:is(:hover, :focus-visible, :active) { color: #211533; border-color: #c4afff; background: #c4afff; }
.home-page .home-empty { padding: 38px 20px; text-align: center; border: 1px dashed #4b3d5f; border-radius: 16px; background: #161120; }
.home-page .home-empty__icon { color: #c4afff; font-size: 2.6rem; line-height: 1; }
.home-page .home-empty h3 { margin-top: 12px; font-size: 1.15rem; }
.home-page .home-empty p { color: var(--home-muted); margin: 8px 0 22px; font-size: .9rem; }

.home-page #games-grid { gap: 20px; }
.home-page #games-grid .game-card { width: 100%; }
.home-page :is(#games-grid, #edu-grid) .game-card { background: var(--home-surface); border-color: var(--home-line); border-radius: 15px; }
.home-page .game-card:not(.game-card--chess):is(:hover, :focus-visible) { background: #20182d; border-color: #9d80c8; transform: translateY(-3px); box-shadow: 0 14px 30px #0003; }
.home-page #games-grid .game-card__image { aspect-ratio: 2; border-radius: 14px 14px 0 0; }
.home-page #games-grid .game-card__content { padding: 20px; min-height: 200px; }
.home-page .game-card__title { color: #f5f2fb; font-size: 1.1rem; line-height: 1.35; margin-bottom: 8px; }
.home-page .game-card__desc { color: #bdb6ce; font-size: .88rem; line-height: 1.55; display: block; overflow: visible; }
.home-page .game-card__bottom { gap: 12px; padding-top: 16px; }
.home-page .game-card__tag { color: #b5a7ce; font-size: .72rem; }
.home-page .game-card__cta { color: #d2bdff; font-size: .88rem; min-height: 30px; display: inline-flex; align-items: center; }
.home-page .game-card:is(:hover, :focus-visible) .game-card__cta { color: #e5d8ff; }
.home-page #edu-grid { gap: 16px; }
.home-page #edu-grid .game-card__content { min-height: 230px; padding: 20px; }
.home-page #edu-grid .game-card__icon { color: #b4e4e3; background: #14292c; border-color: #305255; }

.home-page :is(.portal-dashboard, .chess-tools-hub, .portal-lower-grid) { width: min(1200px, calc(100% - 48px)); margin-inline: auto; }
.home-page .portal-dashboard { padding-top: 24px; }
.home-page .status-card { background: #181222; border-color: #3b314d; }
.home-page .status-card strong { font-size: .95rem; }
.home-page .status-card :is(small, .status-card__label) { color: #beb5ce; font-size: .75rem; }
.home-page .status-card:is(:hover, :focus-visible) { color: #fff; background: #2a203b; border-color: #a78ccc; }
.home-page .chess-tools-hub { padding: 36px 0; }
.home-page .chess-tools-heading { margin-bottom: 22px; }
.home-page .chess-tools-heading h2 { font-size: clamp(1.5rem, 2.5vw, 2rem); }
.home-page .chess-tools-heading p { font-size: .85rem; color: #b8b3cc; }
.home-page .chess-tools-grid { gap: 16px; }
.home-page .chess-tool-entry { padding: 23px; min-height: 195px; }
.home-page .chess-tool-entry__body { gap: 10px; }
.home-page .chess-tool-entry__body strong { font-size: 1.16rem; }
.home-page .chess-tool-entry__body > span:not(.chess-tool-entry__label):not(.chess-tool-entry__features):not(.chess-tool-entry__action) { color: #cbc7ba; font-size: .86rem; line-height: 1.5; }
.home-page .chess-tool-entry__action { color: #e7d99e; font-size: .86rem; margin-top: auto; padding-top: 10px; }
.home-page .chess-tool-entry--clock .chess-tool-entry__action { color: #e7d99e; }
.home-page .portal-lower-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); padding: 16px 0 40px; gap: 20px; }
.home-page .portal-lower-grid .section { padding: 24px; border-color: #302a43; background: #13101d; }
.home-page .portal-lower-grid .news-grid { display: flex; flex-direction: column; gap: 0; }
.home-page .news-card { padding: 16px 0; background: transparent; border: 0; border-bottom: 1px solid #302a43; border-radius: 0; }
.home-page .news-card:first-child { padding-top: 0; }
.home-page .news-card:last-child { padding-bottom: 0; border-bottom: 0; }
.home-page .news-card__title { color: #eee7fa; font-size: .95rem; }
.home-page .news-card__date { color: #c0a9e3; font-size: .7rem; }
.home-page .news-card__text { color: #b8b3cc; font-size: .84rem; display: block; -webkit-line-clamp: unset; overflow: visible; text-align: left; }
.home-page .leaderboard-container { background: transparent; border: 0; padding: 0; }
.home-page .leaderboard-tabs { gap: 7px; }
.home-page .leaderboard-tab { min-height: 44px; color: #c8bfd8; background: #20192c; border: 1px solid #3b314d; border-radius: 8px; font-size: .78rem; line-height: 1.4; padding: 8px 12px; }
.home-page .leaderboard-tab:is(:hover, :focus-visible) { color: #fff; background: #3b2b4e; border-color: #b094d7; }
.home-page .leaderboard-tab--active,
.home-page .leaderboard-tab--active:is(:hover, :focus-visible, :active) { color: #211533; background: #c4afff; border-color: #c4afff; }
.home-page :is(.leaderboard-status, .leaderboard-empty) { color: #b8b3cc; font-size: .82rem; }
.home-page .footer { border-top: 1px solid #302a43; background: #0c0915; }
.home-page .footer__content { max-width: 1200px; }
.home-page .footer__link { display: inline-flex; align-items: center; min-height: 44px; color: #c3bbd1; }
.home-page .footer__link:is(:hover, :focus-visible) { color: #efe4ff; text-decoration: underline; text-underline-offset: 5px; }
.home-page .back-to-top { color: #211533; background: #c4afff; border: 1px solid #d6c7ff; }
.home-page .back-to-top:is(:hover, :focus-visible) { color: #211533; background: #dfd2ff; }

@media (max-width: 1180px) {
    .home-page .nav { background: #151020; }
    .home-page .hero--home { padding-top: 96px; }
}
@media (max-width: 900px) {
    .home-page .hero__intro { gap: 24px; grid-template-columns: 1fr 1fr; }
    .home-page .hero--home .hero__title { font-size: clamp(2.25rem, 4.6vw, 3rem); }
    .home-page .hero--home .hero__tagline { font-size: .92rem; margin-top: 16px; }
    .home-page .home-spotlight__body { padding: 18px; }
    .home-page .home-hero-actions { margin-top: 20px; gap: 8px; }
    .home-page .home-button { padding: 11px 15px; gap: 12px; }
    .home-page #games-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-page #edu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-page .home-direction { padding: 14px; grid-template-columns: 36px minmax(0, 1fr); gap: 10px; }
    .home-page .home-direction__icon { width: 36px; height: 36px; }
    .home-page .home-direction__action { display: none; }
    .home-page .portal-lower-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
    .home-page .hero--home { padding: 94px 16px 12px; }
    .home-page .home-chess-shortcuts { padding: 12px; margin-bottom: 24px; gap: 10px; }
    .home-page .home-chess-shortcuts__links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; gap: 6px; }
    .home-page .home-chess-shortcuts__links a { padding: 9px 5px; min-width: 0; }
    .home-page .hero__intro { grid-template-columns: 1fr; gap: 24px; }
    .home-page .hero--home .hero__title { font-size: clamp(2rem, 8.5vw, 3.1rem); }
    .home-page .hero--home .hero__tagline { max-width: 440px; font-size: .94rem; }
    .home-page .home-hero-note { font-size: .74rem; }
    .home-page .home-spotlight { display: grid; grid-template-columns: 35% minmax(0, 1fr); border-radius: 14px; }
    .home-page .home-spotlight__art img { height: 100%; aspect-ratio: auto; object-position: 38% center; }
    .home-page .home-spotlight__badge { top: 10px; left: 8px; font-size: .62rem; padding: 4px 6px; }
    .home-page .home-spotlight__grade { display: none; }
    .home-page .home-spotlight__body { padding: 16px; }
    .home-page .home-spotlight h2 { font-size: 1.12rem; }
    .home-page .home-spotlight__eyebrow { font-size: .56rem; letter-spacing: .06em; }
    .home-page .home-spotlight h2 + p { font-size: .78rem; }
    .home-page .home-spotlight__action { font-size: .76rem; margin-top: 9px; gap: 6px; }
    .home-page .home-directions { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 16px; }
    .home-page .home-direction { min-height: 90px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 10px 5px; gap: 8px; }
    .home-page .home-direction__icon { width: 30px; height: 30px; font-size: 1rem; border-radius: 8px; }
    .home-page .home-direction__copy strong { font-size: .85rem; }
    .home-page .home-direction__copy > span { display: none; }
    .home-page :is(.section--catalog, .section--edu) { padding: 26px 16px; }
    .home-page .home-section-heading { flex-wrap: wrap; gap: 10px; }
    .home-page .section__header { margin-bottom: 18px; }
    .home-page .home-section-description { font-size: .85rem; }
    .home-page .home-catalog-tools { gap: 12px; margin-bottom: 18px; }
    .home-page .tag-filter { padding: 9px 12px; font-size: .78rem; }
    .home-page :is(#games-grid, #edu-grid) { grid-template-columns: 1fr; gap: 16px; }
    .home-page #games-grid .game-card__content { padding: 18px; min-height: 0; }
    .home-page #edu-grid .game-card__content { min-height: 0; padding: 18px; }
    .home-page .game-card__cta { min-height: 36px; }
    .home-page :is(.portal-dashboard, .chess-tools-hub, .portal-lower-grid) { width: calc(100% - 32px); }
    .home-page .chess-tools-hub { padding: 26px 0; }
    .home-page .chess-tools-heading { align-items: start; flex-direction: column; gap: 8px; }
    .home-page .chess-tool-entry { min-height: 170px; padding: 20px; }
    .home-page .portal-lower-grid .section { padding: 18px; }
    .home-page .portal-lower-grid .leaderboard-table { min-width: 0; }
    .home-page .leaderboard-table :is(th, td) { padding: 10px 5px; font-size: .75rem; overflow-wrap: anywhere; }
    .home-page .status-grid { grid-template-columns: 1fr; }
    .home-page .status-card { min-height: 85px; grid-template-columns: auto minmax(0, 1fr) auto; }
    .home-page .status-card__body { grid-column: auto; }
    .home-page .footer__nav { flex-wrap: wrap; justify-content: center; gap: 8px 20px; }
}
@media (prefers-reduced-motion: reduce) {
    .home-page *, .home-page *::before, .home-page *::after { animation: none; transition: none; scroll-behavior: auto; }
}
/* Signing in must never cover page content. */
.home-page .header { position: relative; top: auto; transform: none; padding: env(safe-area-inset-top, 0px) max(12px, env(safe-area-inset-right, 0px)) 0 max(12px, env(safe-area-inset-left, 0px)); }
.home-page .header__inner { gap: 12px; min-height: 68px; padding-block: 10px; flex-wrap: nowrap; }
.home-page .header__logo { flex-shrink: 0; }
.home-page .header__idea { order: 2; display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 8px 14px; border-radius: 10px; background: #f0cd77; color: #302514; font-size: .86rem; font-weight: 750; white-space: nowrap; text-decoration: none; }
.home-page .header__idea:hover { background: #ffe5a3; }
.home-page .header__account { order: 3; flex-shrink: 0; width: auto; display: block; margin: 0; padding: 0; border: 0; }
.home-page .nav { order: 1; margin-left: auto; gap: 6px; flex-wrap: nowrap; }
.home-page .nav__link { padding: 8px; font-size: .84rem; min-height: 44px; display: inline-flex; align-items: center; }
.home-page .nav-toggle { order: 4; margin-left: 0; }
.home-page .hero--home { padding-top: 24px; }
.home-page .account-menu { position: relative; font-size: .84rem; }
.home-page .account-menu summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 7px; min-height: 44px; padding: 8px 10px; border: 1px solid #504261; border-radius: 10px; color: #eee7fa; }
.home-page .account-menu summary::-webkit-details-marker { display: none; }
.home-page .account-menu__panel { position: absolute; right: 0; top: calc(100% + 8px); z-index: 20; display: grid; width: min(260px, calc(100vw - 32px)); max-height: 70vh; overflow-y: auto; padding: 8px; border: 1px solid #504261; border-radius: 12px; background: #20192c; box-shadow: 0 12px 32px #0008; }
.home-page .account-menu:not([open]) .account-menu__panel { display: none; }
.home-page .account-menu__panel strong { padding: 10px; overflow-wrap: anywhere; color: #c8bfd8; }
.home-page .account-menu__panel :is(a, button) { display: flex; align-items: center; min-height: 44px; padding: 10px; border: 0; border-radius: 6px; background: transparent; color: #eee7fa; font: inherit; text-align: left; text-decoration: none; cursor: pointer; }
.home-page .account-menu__panel :is(a, button):hover { background: #3b2b4e; }
.home-page .news-more summary { cursor: pointer; padding: 16px 0; color: #dac6ff; min-height: 44px; }
.home-page summary:focus-visible { outline: 3px solid #c4afff; outline-offset: 4px; }
.home-page .news-card__title a { color: inherit; text-decoration: none; }
.home-page .news-card__title a:hover { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 1180px) {
    .home-page .header__idea { margin-left: auto; }
    .home-page .nav { position: absolute; top: 100%; max-height: 70dvh; overflow-y: auto; }
}
@media (max-width: 620px) {
    .home-page .header__inner { gap: 6px; padding-inline: 0; min-height: 64px; }
    .home-page .header__logo-text { display: none; }
    .home-page .header__idea { padding-inline: 10px; }
    .home-page .nav-toggle { min-width: 44px; padding: 8px; }
    .home-page .nav-toggle > span:first-child { display: none; }
    .home-page .hero--home { padding-top: 16px; }
}
/* A direct earning entry before the rest of the hero, including on narrow screens. */
.home-page .home-earn-banner{display:flex;align-items:center;gap:16px;padding:18px 22px;margin-bottom:16px;border:1px solid #d0a54c66;border-radius:15px;background:linear-gradient(110deg,#2a2439,#282d40);color:#f8e7bb;box-shadow:0 8px 28px #03041225}
.home-page .home-earn-banner__coin{display:grid;place-items:center;flex-shrink:0;width:45px;height:45px;border:5px solid #f7d67f;border-radius:50%;background:#dfb454;color:#78561f;font-size:24px;box-shadow:2px 3px 0 #9e782b}
.home-page .home-earn-banner strong{font-size:15px;line-height:1.4;display:block;color:#fff0c8}
.home-page .home-earn-banner p{font-size:12px;line-height:1.5;color:#bcb8c7;margin:5px 0 0}
.home-page .home-earn-banner a{display:flex;align-items:center;justify-content:center;gap:20px;flex-shrink:0;margin-left:auto;min-height:46px;padding:12px 20px;border-radius:9px;background:#f0cd77;color:#302514;font-size:13px;font-weight:750;text-decoration:none;transition:background .15s,transform .15s}
.home-page .home-earn-banner a:hover{background:#ffe5a3;color:#241c0e;transform:translateY(-1px)}
.home-page .home-earn-banner a span{color:inherit;-webkit-text-fill-color:currentColor;background:none}
.home-page .home-earn-banner a:focus-visible{outline:3px solid white;outline-offset:4px}
@media(max-width:640px){.home-page .home-earn-banner{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:16px;margin-bottom:12px}.home-page .home-earn-banner__coin{width:35px;height:35px;border-width:4px;font-size:18px}.home-page .home-earn-banner strong{font-size:14px}.home-page .home-earn-banner p{font-size:11px}.home-page .home-earn-banner a{grid-column:1/-1;margin:0;min-height:45px;font-size:13px}}
