.kh-game-login { margin-block: 1.5rem; padding: 1rem; border: 1px solid currentColor; border-radius: .5rem; }
.kh-game-login p { margin-block: 0 .75rem; }
.kh-game-login button { min-height: 44px; margin: .25rem .75rem .25rem 0; padding: .5rem 1rem; color: inherit; background: transparent; border: 1px solid currentColor; border-radius: .3rem; font: inherit; cursor: pointer; }
.kh-game-login button:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }

/* The official Google button needs more room than the signed-in account menu. */
@media(min-width:800px) {
    .kh-game-lobby .kh-lobby-profile:has(.kh-lobby-account>summary[hidden]) { grid-template-columns: 132px minmax(0,1fr) minmax(0,1fr) 260px; }
    .kh-game-lobby .kh-lobby-profile:has(.kh-lobby-account>summary[hidden]) .kh-lobby-actions { min-width: 260px; }
}

/* Individual pages use the same theme card; only adapt its surrounding content and auth menu. */
body.kh-world-game-detail .kh-page-content > .kh-game-player { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body.kh-world-game-detail .kh-page-content > .kh-game-player::before { display: none; }
body.kh-world-game-detail .kh-page-content .kh-game-lobby .kh-lobby-account { margin: 0; padding: 0; border: 0; background: transparent; }
body.kh-world-game-detail .kh-page-content .kh-game-lobby .kh-lobby-account-menu { position: absolute; z-index: 4; right: 0; top: calc(100% + 8px); box-sizing: border-box; min-width: 256px; width: max-content; max-width: min(92vw,360px); padding: 14px; border: 1px solid #5adcf9; border-radius: 7px; background: #061a32; box-shadow: 0 10px 24px #000b; }
body.kh-world-game-detail .kh-page-content .kh-game-lobby .kh-lobby-account-menu .kh-game-login { position: static; min-width: 0; width: auto; max-width: 100%; margin: 0; padding: 10px 0 0; border: 0; background: transparent; box-shadow: none; }
body.kh-world-game-detail .kh-page-content .kh-game-lobby .kh-lobby-settings { display: flex; align-items: center; min-height: 44px; color: #ffe477; font-weight: 700; text-decoration: underline; }
body.kh-world-game-detail .kh-page-content .kh-game-lobby .kh-lobby-account:has(>summary[hidden]) .kh-lobby-account-menu { position: static; min-width: 0; width: auto; max-width: 100%; padding: 0; border: 0; background: transparent; box-shadow: none; }
body.kh-world-game-detail .kh-page-content .kh-game-lobby .kh-lobby-account:has(>summary[hidden]) .kh-lobby-settings { display: none; }
body.kh-world-game-detail .kh-page-content .kh-game-lobby .kh-lobby-bell { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-top: 10px; color: #d5fbff; text-decoration: none; font-size: 13px; }
body.kh-world-game-detail .kh-page-content .kh-game-lobby .kh-lobby-secondary { color: #d5fbff; text-decoration: none; }
body.kh-world-game-detail .kh-page-content .kh-game-lobby .kh-game-login p { margin: 0 0 .75rem; color: #d8f5ff; }
body.kh-world-game-detail .kh-page-content .kh-game-lobby .kh-game-login button { max-width: 100%; margin: .25rem 0; color: #effcff; border-color: #6ce8ff; background: #0a3151; }
@media(max-width:799px) { body.kh-world-game-detail .kh-page-content .kh-game-lobby .kh-lobby-account-menu { right: 0; left: auto; min-width: min(256px,calc(100vw - 48px)); max-width: calc(100vw - 48px); } }
