/* EMD Rumi — floating design assistant (additive) — brand ribbon-star palette */
.emd-rumi-fab{
  position:fixed; bottom:24px; right:24px; z-index:9200;
  width:58px; height:58px; border-radius:50%; border:none; cursor:pointer;
  background:conic-gradient(from 45deg, #00D1C1 0deg, #1E78B4 80deg, #FFC067 170deg, #FF8C00 250deg, #5DD3A8 320deg, #00D1C1 360deg);
  box-shadow:0 8px 24px rgba(0,209,193,.38); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-family:'Outfit',system-ui,sans-serif; transition:transform .18s ease, box-shadow .18s ease;
}
.emd-rumi-fab:hover{ transform:translateY(-2px) scale(1.04); box-shadow:0 12px 30px rgba(0,209,193,.5); }
.emd-rumi-fab.left{ right:auto; left:24px; }
.emd-rumi-fab svg{ width:26px; height:26px; filter:drop-shadow(0 1px 1px rgba(10,25,47,.25)); }
.emd-rumi-fab .emd-rumi-dot{
  position:absolute; top:9px; right:11px; width:9px; height:9px; border-radius:50%;
  background:#fff; box-shadow:0 0 0 2px #FF8C00; animation:emdRumiPulse 2s infinite;
}
.emd-rumi-fab::after{
  content:"Ask Rumi"; position:absolute; left:50%; bottom:calc(100% + 10px); top:auto; right:auto; transform:translateX(-50%);
  background:#fff; color:#0A192F; font:800 .78rem/1 'Outfit',system-ui,sans-serif; letter-spacing:.2px;
  padding:7px 12px; border-radius:999px; white-space:nowrap;
  box-shadow:0 6px 18px rgba(10,25,47,.18); pointer-events:none;
}
.emd-rumi-fab.left::after{ left:50%; right:auto; }
@keyframes emdRumiPulse{0%,100%{opacity:.5;}50%{opacity:1;}}

.emd-rumi-panel{
  position:fixed; bottom:96px; right:24px; z-index:9201;
  width:340px; max-width:calc(100vw - 32px); height:480px; max-height:calc(100vh - 134px);
  background:#fff; border-radius:18px; box-shadow:0 24px 60px rgba(10,25,47,.32);
  display:flex; flex-direction:column; overflow:hidden;
  font-family:'Outfit',system-ui,sans-serif;
  transform-origin:bottom right; opacity:0; transform:translateY(12px) scale(.96); pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}
.emd-rumi-panel.left{ right:auto; left:24px; transform-origin:bottom left; }
.emd-rumi-panel.open{ opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }
.emd-rumi-head{
  background:linear-gradient(135deg, #00D1C1 0%, #FF8C00 100%); color:#fff; padding:14px 16px;
  display:flex; align-items:center; gap:10px;
}
.emd-rumi-head .emd-rumi-ava{ width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.28);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.95rem; }
.emd-rumi-head .emd-rumi-name{ font-weight:800; font-size:.95rem; line-height:1.1; }
.emd-rumi-head .emd-rumi-sub{ font-size:.68rem; opacity:.92; }
.emd-rumi-head .emd-rumi-x{ margin-left:auto; background:none; border:none; color:#fff; font-size:1.2rem; cursor:pointer; line-height:1; opacity:.85; }
.emd-rumi-head .emd-rumi-x:hover{ opacity:1; }
.emd-rumi-body{ flex:1; overflow-y:auto; padding:14px; background:#faf8f3; display:flex; flex-direction:column; gap:10px; }
.emd-rumi-msg{ max-width:84%; padding:9px 12px; border-radius:14px; font-size:.84rem; line-height:1.42; white-space:pre-wrap; }
.emd-rumi-msg.bot{ background:#fff; color:#0A192F; border:1px solid #ECE7DC; align-self:flex-start; border-bottom-left-radius:5px; }
.emd-rumi-msg.user{ background:linear-gradient(135deg, #00D1C1 0%, #FF8C00 100%); color:#fff; align-self:flex-end; border-bottom-right-radius:5px; }
.emd-rumi-typing{ display:inline-flex; gap:3px; align-items:center; }
.emd-rumi-typing span{ width:6px;height:6px;border-radius:50%;background:#bcb6a6;animation:emdRumiBlink 1.2s infinite; }
.emd-rumi-typing span:nth-child(2){ animation-delay:.2s; } .emd-rumi-typing span:nth-child(3){ animation-delay:.4s; }
@keyframes emdRumiBlink{0%,80%,100%{opacity:.3;}40%{opacity:1;}}
.emd-rumi-chips{ display:flex; flex-wrap:wrap; gap:6px; padding:8px 12px; background:#faf8f3; border-top:1px solid #ECE7DC; }
.emd-rumi-chip{ cursor:pointer; border:1px solid #D8D2C4; background:#fff; color:#334155; border-radius:999px; padding:5px 10px; font-size:.72rem; font-weight:600; font-family:inherit; }
.emd-rumi-chip:hover{ border-color:#00D1C1; color:#0A192F; }
.emd-rumi-input{ display:flex; gap:8px; padding:10px 12px; border-top:1px solid #ECE7DC; background:#fff; }
.emd-rumi-input input{ flex:1; border:1px solid #D8D2C4; border-radius:10px; padding:8px 10px; font-size:.84rem; font-family:inherit; outline:none; }
.emd-rumi-input input:focus{ border-color:#00D1C1; }
.emd-rumi-input button{ border:none; border-radius:10px; padding:0 14px; cursor:pointer; color:#fff; font-weight:800; font-family:inherit; background:linear-gradient(135deg, #00D1C1 0%, #FF8C00 100%); }
.emd-rumi-input button:disabled{ opacity:.5; cursor:default; }
