/* ── RAI Floating Chat Widget ── */
@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');

/* Show / hide toggle */
.rai-hidden{display:none!important}

/* ── FAB (always visible) ── */
.rai-manager-fab{position:fixed;bottom:28px;right:28px;z-index:9999;font-family:'Lora',Georgia,serif}
.rai-fab{display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#6D28D9,#8B5CF6);border-radius:999px;color:#fff;cursor:pointer;border:none;font-family:inherit;box-shadow:0 4px 20px rgba(100,75,180,.35);transition:transform .15s,box-shadow .15s;user-select:none;animation:fabGlow 2.5s ease-in-out infinite}
.rai-fab:hover{transform:translateY(-2px);animation:none;box-shadow:0 6px 36px rgba(120,95,190,.7)}
.rai-fab-icon{font-size:15px;line-height:1}
.rai-fab-label{font-size:14px;font-weight:600;letter-spacing:.03em}
@keyframes fabGlow{
  0%,100%{box-shadow:0 4px 20px rgba(100,75,180,.35),0 0 14px rgba(120,95,190,.2)}
  50%{box-shadow:0 4px 28px rgba(120,95,190,.65),0 0 32px rgba(140,100,220,.45)}
}

/* ── Individual chat window ── */
.rai-window{
  position:fixed;
  bottom:28px;
  z-index:9998;
  font-family:'Lora',Georgia,serif;
  /* right is set dynamically via JS */
}

/* Panel */
.rai-panel{width:390px;max-height:600px;background:#fff;border-radius:20px;box-shadow:0 12px 48px rgba(0,0,0,.14);overflow:hidden;border:1px solid rgba(100,75,180,.12);display:flex;flex-direction:column;animation:raiPanelIn .2s ease}
@keyframes raiPanelIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}

/* Header */
.rai-header{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;background:linear-gradient(135deg,#6D28D9,#8B5CF6);flex-shrink:0}
.rai-header-left{display:flex;align-items:center;gap:10px}
.rai-header-actions{display:flex;align-items:center;gap:6px}
.rai-avatar{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff}
.rai-title{font-size:15px;font-weight:600;color:#fff;letter-spacing:.02em}
.rai-subtitle{font-size:11px;color:rgba(255,255,255,.65);margin-top:1px}
.rai-new-btn{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);color:rgba(255,255,255,.9);font-size:12px;font-weight:500;font-family:inherit;padding:5px 12px;border-radius:999px;cursor:pointer;letter-spacing:.02em;transition:background .15s,border-color .15s;white-space:nowrap}
.rai-new-btn:hover{background:rgba(255,255,255,.28);border-color:rgba(255,255,255,.4)}
.rai-min-btn{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);color:#fff;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0}
.rai-min-btn:hover{background:rgba(255,255,255,.3)}
.rai-close-btn{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);color:#fff;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0}
.rai-close-btn:hover{background:rgba(220,60,60,.55);border-color:rgba(255,120,120,.5)}

/* Minimized state — collapses to header only */
.rai-panel.rai-minimized{max-height:none}
.rai-panel.rai-minimized .rai-modes,
.rai-panel.rai-minimized .rai-msgs,
.rai-panel.rai-minimized .rai-input-wrap,
.rai-panel.rai-minimized .rai-footer-row{display:none}
.rai-panel.rai-minimized{border-radius:14px;box-shadow:0 4px 20px rgba(0,0,0,.12)}

/* Modes */
.rai-modes{display:flex;gap:5px;padding:10px 14px 8px;flex-wrap:wrap;border-bottom:1px solid rgba(100,75,180,.08);flex-shrink:0;background:#fafcf9}
.rai-mode-btn{padding:5px 12px;border-radius:999px;border:1px solid rgba(100,75,180,.14);background:#fff;color:rgba(26,21,53,0.75);font-size:12.5px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s}
.rai-mode-btn.active{background:#fff;border-color:rgba(120,95,190,.5);color:#1A1535;font-weight:600;box-shadow:0 1px 3px rgba(100,75,180,.1)}

/* Messages */
.rai-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:12px;min-height:160px;max-height:340px;scrollbar-width:thin;scrollbar-color:rgba(100,75,180,.15) transparent}
.rai-starters{display:flex;flex-direction:column;gap:7px}
.rai-starter{text-align:left;padding:10px 13px;border-radius:10px;border:1px solid rgba(100,75,180,.12);background:rgba(248,245,239,.55);color:rgba(26,21,53,0.75);font-size:13.5px;cursor:pointer;font-family:inherit;line-height:1.4;transition:background .15s,border-color .15s,color .15s}
.rai-starter:hover{background:rgba(248,245,239,1);border-color:rgba(120,95,190,.28);color:#1A1535}
.rai-starter-page{background:linear-gradient(135deg,rgba(109,40,217,.07),rgba(139,92,246,.1));border-color:rgba(120,95,190,.22);color:rgba(109,40,217,.85);font-weight:500}
.rai-starter-page:hover{background:linear-gradient(135deg,rgba(109,40,217,.13),rgba(139,92,246,.17));border-color:rgba(120,95,190,.4);color:#5B21B6}
.rai-msg{display:flex;gap:8px;align-items:flex-start}
.rai-msg.user{justify-content:flex-end}
.rai-avatar-sm{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#7B4FC9,#9B6FE0);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff;flex-shrink:0;margin-top:2px}
.rai-bubble{max-width:84%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.62}
.rai-bubble.user{background:rgba(100,75,180,.09);border:1px solid rgba(100,75,180,.14);color:#1A1535;border-radius:16px 16px 4px 16px}
.rai-bubble.assistant{background:rgba(248,245,239,.5);border:1px solid rgba(100,75,180,.08);color:rgba(26,21,53,.82);border-radius:4px 16px 16px 16px}
.rai-bubble p{margin:0 0 .4em}.rai-bubble p:last-child{margin-bottom:0}
.rai-bubble strong{color:#1A1535}.rai-bubble em{color:rgba(26,21,53,.7)}
.rai-bubble h1,.rai-bubble h2,.rai-bubble h3{font-size:14px;font-weight:700;color:#7B4FC9;margin:.5em 0 .2em}
.rai-cursor{display:inline-flex;align-items:center;gap:4px;margin-left:3px;vertical-align:middle}
.rai-cursor span{display:inline-block;color:#8B5CF6;font-size:12px;line-height:1;transform-origin:center;animation:starBurst 1.3s ease-in-out infinite}
.rai-cursor span:nth-child(2){animation-delay:.22s}
.rai-cursor span:nth-child(3){animation-delay:.44s}
@keyframes starBurst{
  0%,100%{transform:scale(.8) rotate(0deg);opacity:.45;filter:drop-shadow(0 0 2px rgba(139,92,246,.3))}
  50%{transform:scale(1.5) rotate(22deg);opacity:1;filter:drop-shadow(0 0 6px rgba(139,92,246,.85)) drop-shadow(0 0 14px rgba(139,92,246,.3))}
}

/* Input */
.rai-input-wrap{padding:10px 14px;border-top:1px solid rgba(100,75,180,.09);display:flex;gap:8px;align-items:flex-end;flex-shrink:0}
.rai-input-wrap textarea{flex:1;border:none;outline:none;resize:none;font-family:inherit;font-size:14px;color:#1A1535;background:transparent;max-height:80px;line-height:1.5;scrollbar-width:none}
.rai-input-wrap textarea::placeholder{color:rgba(26,21,53,0.65)}
.rai-send{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#6D28D9,#8B5CF6);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .15s}
.rai-send:disabled{opacity:.3;cursor:default}
.rai-footer-row{display:flex;align-items:center;justify-content:center;gap:12px;padding:5px 14px 10px;flex-shrink:0}
.rai-disclaimer{font-size:11.5px;color:rgba(26,21,53,0.5);text-align:center}
.rai-save-btn{font-size:11.5px;color:rgba(109,40,217,0.6);background:none;border:none;cursor:pointer;padding:0;font-family:inherit;letter-spacing:.04em;transition:color .15s;white-space:nowrap}
.rai-save-btn:hover{color:rgba(109,40,217,1)}

/* Mobile: single window, full-width */
@media(max-width:600px){
  .rai-manager-fab{right:12px;bottom:16px}
  .rai-window{right:0!important;left:0!important;bottom:0!important}
  .rai-panel{width:100%;max-height:70dvh;border-radius:20px 20px 0 0;box-shadow:0 -4px 32px rgba(0,0,0,.14)}
  .rai-fab-label{display:none}
  .rai-fab{padding:13px}
  .rai-send,.rai-starter,.rai-mode-btn,.rai-new-btn,.rai-close-btn,.rai-fab{touch-action:manipulation}
  .rai-input-wrap textarea{font-size:16px}
}

/* ── Dark mode ── */
[data-theme="dark"] .rai-panel{background:#13102A;border-color:rgba(110,85,190,.2);box-shadow:0 12px 48px rgba(0,0,0,.45)}
[data-theme="dark"] .rai-modes{background:#100D22;border-color:rgba(110,85,190,.12)}
[data-theme="dark"] .rai-mode-btn{background:rgba(16,13,32,.75);border-color:rgba(110,85,190,.18);color:rgba(145,135,200,.6)}
[data-theme="dark"] .rai-mode-btn:hover{background:#1A1630;color:rgba(237,232,224,.85)}
[data-theme="dark"] .rai-mode-btn.active{background:rgba(100,75,180,.22);border-color:rgba(120,95,200,.4);color:#A08BDE;box-shadow:none}
[data-theme="dark"] .rai-msgs{scrollbar-color:rgba(110,85,190,.2) transparent}
[data-theme="dark"] .rai-starter{background:rgba(20,18,40,.7);border-color:rgba(110,85,190,.15);color:rgba(180,172,225,.75)}
[data-theme="dark"] .rai-starter:hover{background:#1A1630;border-color:rgba(110,85,190,.3);color:rgba(237,232,224,.9)}
[data-theme="dark"] .rai-bubble.assistant{background:rgba(22,18,42,.85);border-color:rgba(110,85,190,.14);color:rgba(220,215,240,.82)}
[data-theme="dark"] .rai-bubble.user{background:rgba(100,75,180,.2);border-color:rgba(110,85,190,.25);color:rgba(237,232,224,.88)}
[data-theme="dark"] .rai-bubble strong{color:rgba(237,232,224,.95)}
[data-theme="dark"] .rai-bubble em{color:rgba(180,172,225,.75)}
[data-theme="dark"] .rai-bubble h1,[data-theme="dark"] .rai-bubble h2,[data-theme="dark"] .rai-bubble h3{color:#A08BDE}
[data-theme="dark"] .rai-input-wrap{border-color:rgba(110,85,190,.12);background:#100D22}
[data-theme="dark"] .rai-input-wrap textarea{color:rgba(237,232,224,.88)}
[data-theme="dark"] .rai-input-wrap textarea::placeholder{color:rgba(110,100,165,.45)}
[data-theme="dark"] .rai-disclaimer{color:rgba(110,100,165,.45)}
[data-theme="dark"] .rai-save-btn{color:rgba(160,139,222,.55)}
[data-theme="dark"] .rai-save-btn:hover{color:rgba(160,139,222,1)}
