/**
 * Game pages (/games + lobbies): Plus Jakarta Sans (site font).
 * Lock-in (#lockin-container) keeps Lilita One + Patrick Hand.
 * Nav/footer always use Plus Jakarta Sans.
 * Loaded after redesign templates so it wins the global body * rule.
 */

html[data-game-page] {
    --font-display: 'Plus Jakarta Sans', sans-serif;
    --font-body: 'Plus Jakarta Sans', sans-serif;
}

html[data-game-page] body,
html[data-game-page] body * {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    letter-spacing: normal;
}

/*
 * Lock-in mode: arcade fonts only inside the lock-in shell.
 * CSS vars remapped so per-game var(--display)/var(--body)/etc. stay arcade here.
 */
html[data-game-page] #lockin-container {
    --font-display: 'Lilita One', cursive, sans-serif;
    --font-body: 'Patrick Hand', cursive, sans-serif;
    --display: 'Lilita One', cursive, sans-serif;
    --hand: 'Patrick Hand', cursive, sans-serif;
    --body: 'Patrick Hand', cursive, sans-serif;
    --fh: 'Lilita One', cursive, sans-serif;
    --fb: 'Patrick Hand', cursive, sans-serif;
}

html[data-game-page] #lockin-container,
html[data-game-page] #lockin-container * {
    font-family: 'Patrick Hand', cursive, sans-serif !important;
}

html[data-game-page] #lockin-container h1,
html[data-game-page] #lockin-container h2,
html[data-game-page] #lockin-container h3,
html[data-game-page] #lockin-container h4,
html[data-game-page] #lockin-container h5,
html[data-game-page] #lockin-container h6,
html[data-game-page] #lockin-container button,
html[data-game-page] #lockin-container .btn,
html[data-game-page] #lockin-container [class*="title"],
html[data-game-page] #lockin-container [class*="heading"],
html[data-game-page] #lockin-container [class*="-title"],
html[data-game-page] #lockin-container [class*="-heading"],
html[data-game-page] #lockin-container .lockin-title,
html[data-game-page] #lockin-container .lockin-header h2,
html[data-game-page] #lockin-container .btn-exit,
html[data-game-page] #lockin-container .gm-play-title,
html[data-game-page] #lockin-container .tag-pill,
html[data-game-page] #lockin-container .action-btn,
html[data-game-page] #lockin-container .stat-val {
    font-family: 'Lilita One', cursive, sans-serif !important;
    letter-spacing: 0.02em;
}

/*
 * Site chrome: must beat any leftover Lilita/Patrick rules.
 * Doubled [data-game-page] raises specificity above those selectors.
 */
html[data-game-page][data-game-page] :is(
    .tp-shell-header,
    .tp-shell-nav,
    .tp-shell-mobile-menu,
    .tp-shell-mobile-links,
    .tp-shell-mobile-footer,
    .tp-shell-account-menu,
    .tp-legacy-navbar-shell,
    .tpping-navbar,
    .tpping-redesign-navbar,
    .tpping-desktop-navbar-wrapper,
    .tpping-mobile-navbar-wrapper,
    header.tpping-navbar,
    #tppingNav,
    [data-tpping-navbar],
    .tpping-auth-modal,
    .tpping-account-menu,
    footer,
    .modern-footer,
    .site-footer,
    .reimbursement-section,
    .glassy-notification
),
html[data-game-page][data-game-page] :is(
    .tp-shell-header,
    .tp-shell-nav,
    .tp-shell-mobile-menu,
    .tp-shell-mobile-links,
    .tp-shell-mobile-footer,
    .tp-shell-account-menu,
    .tp-legacy-navbar-shell,
    .tpping-navbar,
    .tpping-redesign-navbar,
    .tpping-desktop-navbar-wrapper,
    .tpping-mobile-navbar-wrapper,
    header.tpping-navbar,
    #tppingNav,
    [data-tpping-navbar],
    .tpping-auth-modal,
    .tpping-account-menu,
    footer,
    .modern-footer,
    .site-footer,
    .reimbursement-section,
    .glassy-notification
) *:not(i):not(svg):not(path) {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    letter-spacing: normal;
}
