#gptgen-chatbot{
position:fixed;
bottom:20px;
right:20px;
z-index:999999;
font-family:Arial,sans-serif;
}
.gptgen-toggle{
background:#0f172a;
border:1px solid #00f0ff;
color:#00f0ff;
padding:14px 18px;
border-radius:50px;
cursor:pointer;
box-shadow:0 0 20px rgba(0,240,255,.4);
font-weight:bold;
}
.gptgen-window{
display:none;
width:360px;
height:560px;
background:#050816;
border:1px solid #1e293b;
border-radius:18px;
overflow:hidden;
box-shadow:0 0 30px rgba(0,255,255,.2);
margin-top:10px;
}
.gptgen-header{
padding:18px;
background:#020617;
border-bottom:1px solid #1e293b;
display:flex;
flex-direction:column;
color:#fff;
}
.gptgen-header span{
font-size:12px;
color:#00f0ff;
margin-top:4px;
}
.gptgen-messages{
height:400px;
overflow:auto;
padding:15px;
background:#050816;
}
.gptgen-message{
margin-bottom:14px;
padding:12px;
border-radius:14px;
line-height:1.5;
font-size:14px;
}
.gptgen-message.bot{
background:#0f172a;
color:#e2e8f0;
border:1px solid rgba(0,240,255,.2);
}
.gptgen-message.user{
background:#00f0ff;
color:#020617;
}
.gptgen-message a{
color:#00f0ff;
font-weight:bold;
}
/* Typing indicator */
.gptgen-typing{
display:flex;
align-items:center;
gap:6px;
padding:14px 16px;
}
.gptgen-typing span{
display:inline-block;
width:8px;
height:8px;
border-radius:50%;
background:#00f0ff;
animation:gptgen-bounce .9s infinite;
}
.gptgen-typing span:nth-child(2){ animation-delay:.15s; }
.gptgen-typing span:nth-child(3){ animation-delay:.30s; }
@keyframes gptgen-bounce{
0%,80%,100%{ transform:translateY(0); opacity:.5; }
40%{ transform:translateY(-6px); opacity:1; }
}
.gptgen-input{
padding:12px;
display:flex;
gap:10px;
border-top:1px solid #1e293b;
background:#020617;
}
.gptgen-input textarea{
flex:1;
resize:none;
height:50px;
background:#0f172a;
border:1px solid #1e293b;
color:#fff;
border-radius:10px;
padding:10px;
}
.gptgen-send{
background:#00f0ff;
color:#020617;
border:none;
padding:0 18px;
border-radius:10px;
cursor:pointer;
font-weight:bold;
}

/* ── Articles liés ──────────────────────────────────────────────── */
.gptgen-related{
margin:4px 0 10px;
}
.gptgen-related-label{
font-size:11px;
font-weight:700;
color:#00f0ff;
letter-spacing:.05em;
text-transform:uppercase;
margin:0 0 8px;
padding:0 2px;
}
.gptgen-related-cards{
display:flex;
flex-direction:column;
gap:8px;
}
.gptgen-card{
display:flex;
align-items:center;
gap:10px;
background:#0f172a;
border:1px solid rgba(0,240,255,.18);
border-radius:10px;
padding:8px;
text-decoration:none;
color:#e2e8f0;
transition:border-color .2s,background .2s;
overflow:hidden;
}
.gptgen-card:hover{
border-color:rgba(0,240,255,.5);
background:#131e30;
}
.gptgen-card-thumb{
width:52px;
height:52px;
object-fit:cover;
border-radius:7px;
flex-shrink:0;
}
.gptgen-card-thumb-placeholder{
width:52px;
height:52px;
display:flex;
align-items:center;
justify-content:center;
background:#1e293b;
border-radius:7px;
font-size:20px;
flex-shrink:0;
}
.gptgen-card-body{
display:flex;
flex-direction:column;
gap:3px;
min-width:0;
}
.gptgen-card-title{
font-size:12px;
font-weight:600;
line-height:1.35;
color:#e2e8f0;
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;
}
.gptgen-card-excerpt{
font-size:11px;
color:#64748b;
display:-webkit-box;
-webkit-line-clamp:1;
-webkit-box-orient:vertical;
overflow:hidden;
}
.gptgen-card-views{
font-size:10px;
color:#00f0ff;
opacity:.8;
margin-top:2px;
}

/* ── Streaming bubble ────────────────────────────────────────────────── */

/* Blinking cursor while streaming */
.gptgen-cursor {
    display: inline-block;
    width: 2px;
    height: 1em;
    background: #00f0ff;
    margin-left: 2px;
    vertical-align: text-bottom;
    border-radius: 1px;
    animation: gptgen-blink .7s step-end infinite;
}
@keyframes gptgen-blink {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0; }
}

/* Subtle left border glow while the bubble is still receiving tokens */
.gptgen-streaming {
    border-left: 2px solid rgba(0, 240, 255, .7) !important;
    transition: border-color .4s;
}

/* Send button disabled state */
.gptgen-send--disabled {
    opacity: .45;
    cursor: not-allowed;
}

/* ============================================================
   Shortcode inline [gptgen_chatbot]
   ============================================================ */

/* Conteneur inline — prend toute la largeur de son parent */
.gptgen-chatbot-inline {
    width: 100%;
    margin: 1.5em 0;
}

/* La fenêtre inline est statique (pas de positionnement fixe) */
.gptgen-chatbot-inline .gptgen-window--inline {
    position: static;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 680px;
    max-height: 520px;
    border-radius: 16px;
    box-shadow: 0 4px 32px rgba(0,0,0,.35);
    overflow: hidden;
}

/* La zone de messages est scrollable */
.gptgen-chatbot-inline .gptgen-messages {
    flex: 1;
    overflow-y: auto;
    max-height: 340px;
}
