
#s2047-character-panel{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    align-items:center;
    padding:10px;
    margin:8px;
    border:1px solid rgba(0,217,255,.55);
    border-radius:14px;
    background:rgba(0,15,35,.86);
    color:#fff;
    z-index:999999;
}
.s2047-character-title{
    width:100%;
    font-weight:900;
    color:#7df9ff;
    text-shadow:0 0 8px #00d9ff;
    font-size:14px;
}
.s2047-character-btn{
    border:1px solid #00d9ff;
    background:#07142f;
    color:#dffcff;
    border-radius:999px;
    padding:8px 10px;
    font-weight:800;
    cursor:pointer;
    font-size:13px;
}
.s2047-character-btn.active{
    background:#00d9ff;
    color:#00131c;
    box-shadow:0 0 12px rgba(0,217,255,.8);
}
.s2047-character-bubble{
    margin:10px;
    padding:12px 14px;
    border-radius:16px;
    background:#07142f;
    color:#eaffff;
    border:1px solid rgba(0,217,255,.5);
    box-shadow:0 0 12px rgba(0,217,255,.22);
    font-family:Arial,sans-serif;
    line-height:1.35;
}
.s2047-character-bubble strong{
    color:#7df9ff;
}


/* Dropdown character selector update */
#s2047-character-panel{
    display:block !important;
    padding:10px !important;
    margin:8px !important;
}
.s2047-character-title{
    display:block;
    width:100%;
    margin-bottom:6px;
}
.s2047-character-select{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    border:2px solid #00d9ff;
    background:#07142f;
    color:#eaffff;
    border-radius:12px;
    padding:10px 12px;
    font-weight:800;
    font-size:15px;
    outline:none;
    box-shadow:0 0 12px rgba(0,217,255,.35);
}
.s2047-character-select:focus{
    border-color:#7df9ff;
    box-shadow:0 0 18px rgba(0,217,255,.75);
}
.s2047-character-btn{
    display:none !important;
}


/* Keep the character selector fully contained INSIDE the chatbot window */
#s2047-character-panel.s2047-contained-character-panel{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    width:auto !important;
    max-width:calc(100% - 16px) !important;
    margin:8px !important;
    padding:10px !important;
    display:block !important;
    box-sizing:border-box !important;
    z-index:5 !important;
    background:rgba(0,15,35,.92) !important;
    border:1px solid rgba(0,217,255,.65) !important;
    border-radius:14px !important;
}

#s2047-character-panel .s2047-character-title{
    display:block !important;
    width:100% !important;
    margin:0 0 6px 0 !important;
    font-size:13px !important;
    line-height:1.25 !important;
}

#s2047-character-panel .s2047-character-select{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    padding:10px 12px !important;
    font-size:15px !important;
    border-radius:12px !important;
}

.s2047-character-bubble{
    max-width:calc(100% - 20px) !important;
    box-sizing:border-box !important;
    overflow-wrap:anywhere !important;
}

/* Stop selector from appearing above the page/header if old CSS was cached */
body > #s2047-character-panel{
    display:none !important;
}


/* Force character replies into the chatbot's own response window */
.s2047-forced-message-window{
    flex:1 1 auto !important;
    min-height:120px !important;
    max-height:calc(100dvh - 310px) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    box-sizing:border-box !important;
    padding:8px !important;
}

.space2047-chatlog .s2047-character-bubble,
.space2047-chat-messages .s2047-character-bubble,
.space2047-chatbot-messages .s2047-character-bubble,
.space2047-chatbot-body .s2047-character-bubble,
.chat-messages .s2047-character-bubble,
.messages .s2047-character-bubble,
.s2047-forced-message-window .s2047-character-bubble{
    display:block !important;
    position:relative !important;
    margin:10px 8px !important;
    max-width:calc(100% - 16px) !important;
}

/* Hide any old misplaced response bubbles accidentally placed directly on page */
body > .s2047-character-bubble{
    display:none !important;
}


/* Longer character name support */
#s2047-character-panel .s2047-character-select{
    white-space:normal !important;
    text-overflow:ellipsis !important;
}
.s2047-character-bubble strong{
    overflow-wrap:anywhere !important;
}


/* 2026 fix: keep the selector away from character responses */
#space2047-chatbot-panel{
    min-height:420px !important;
}
#space2047-chatbot-log,
.space2047-chatbot-log{
    flex:1 1 auto !important;
    min-height:210px !important;
    overflow-y:auto !important;
    padding-bottom:12px !important;
}
#s2047-character-panel.s2047-contained-character-panel{
    flex:0 0 auto !important;
    order:50 !important;
    margin:0 !important;
    padding:6px 8px !important;
    width:100% !important;
    max-width:100% !important;
    border-left:0 !important;
    border-right:0 !important;
    border-radius:0 !important;
    z-index:1 !important;
    background:linear-gradient(90deg, rgba(0,15,35,.98), rgba(7,20,47,.98)) !important;
}
#s2047-character-panel .s2047-character-title{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    white-space:nowrap !important;
    border:0 !important;
}
#s2047-character-panel .s2047-character-select{
    min-height:34px !important;
    padding:6px 10px !important;
    font-size:13px !important;
    line-height:1.2 !important;
    border-radius:10px !important;
}
#space2047-chatbot-form,
.space2047-chatbot-form{
    flex:0 0 auto !important;
    order:60 !important;
}
#s2047-character-panel + #space2047-chatbot-form{
    border-top:0 !important;
}
@media (max-width:480px){
    #s2047-character-panel.s2047-contained-character-panel{padding:5px 7px !important;}
    #s2047-character-panel .s2047-character-select{min-height:32px !important;font-size:12px !important;}
    #space2047-chatbot-log,.space2047-chatbot-log{min-height:190px !important;}
}
