/* v338: RoseMarie (light) for /ricardo-guillaume/ — dark page palette. */
.rml-root{font-family:Lato,Arial,sans-serif;--rml-bg:rgba(10,18,42,.97);--rml-panel:#0b1430;--rml-text:#f2f6ff;--rml-muted:#a9bbd9;
  --rml-line:rgba(140,180,255,.18);--rml-blue:#5d96ff;--rml-orange:#ff9a4a;--rml-bot:#14204a;--rml-chip:#16224a}
.rml-fab{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:95;width:60px;height:60px;padding:0;border-radius:50%;
  border:1px solid rgba(255,255,255,.18);background:rgba(15,22,48,.72);cursor:grab;overflow:visible;touch-action:none;-webkit-user-select:none;user-select:none;
  box-shadow:0 8px 24px rgba(0,0,0,.45),0 0 0 4px rgba(93,150,255,.18);transition:transform .2s ease}
.rml-fab:hover{transform:translateY(-2px)}
.rml-fab svg{width:100%;height:100%;display:block}
.rml-fab:focus-visible,.rml-close:focus-visible,.rml-chip:focus-visible,.rml-input:focus-visible,.rml-send:focus-visible,.rml-link:focus-visible{outline:2px solid var(--rml-orange);outline-offset:2px}
html.rml-open .rml-fab{opacity:0;pointer-events:none}
.rml-panel{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:1000;width:min(380px,calc(100vw - 32px));
  height:min(580px,calc(100vh - 40px));height:min(580px,calc(100dvh - 40px));display:flex;flex-direction:column;overflow:hidden;
  background:var(--rml-bg);color:var(--rml-text);border:1px solid var(--rml-line);border-radius:22px;box-shadow:0 30px 70px rgba(0,0,0,.6);
  opacity:0;visibility:hidden;transform:translateY(14px);pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s}
html.rml-open .rml-panel{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity .2s ease,transform .2s ease}
.rml-head{display:flex;align-items:center;gap:12px;padding:14px 14px 12px 16px;border-bottom:1px solid var(--rml-line)}
.rml-avatar{flex:0 0 42px;width:42px;height:42px;border-radius:50%;overflow:hidden}
.rml-avatar svg{width:100%;height:100%;display:block}
.rml-title{flex:1;min-width:0}
.rml-title strong{display:block;font-size:16px;font-weight:900}
.rml-title span{display:block;font-size:12px;color:var(--rml-orange);font-weight:900;margin-top:2px}
.rml-close{flex:0 0 36px;width:36px;height:36px;border-radius:50%;border:1px solid var(--rml-line);background:transparent;color:var(--rml-text);font-size:22px;line-height:1;cursor:pointer}
.rml-log{flex:1;overflow-y:auto;padding:16px 14px 8px;display:flex;flex-direction:column;gap:10px;background:var(--rml-panel);overscroll-behavior:contain}
.rml-msg{max-width:90%;padding:10px 13px;border-radius:16px;font-size:14.5px;line-height:1.5;white-space:pre-wrap}
.rml-msg.bot{align-self:flex-start;background:var(--rml-bot);border:1px solid var(--rml-line);border-bottom-left-radius:6px;color:#dbe5f7}
.rml-msg.user{align-self:flex-end;background:var(--rml-blue);color:#fff;border-bottom-right-radius:6px}
.rml-link{align-self:flex-start;display:inline-flex;padding:9px 14px;border-radius:999px;background:var(--rml-blue);color:#fff;text-decoration:none;font-weight:900;font-size:13.5px}
.rml-link.wa{background:#1faa59}
.rml-chips{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px 2px;background:var(--rml-panel)}
.rml-chip{border:1px solid var(--rml-line);background:var(--rml-chip);color:#cfe0ff;border-radius:999px;padding:7px 11px;font:900 12.5px/1 Lato,Arial,sans-serif;cursor:pointer}
.rml-chip:hover{border-color:var(--rml-blue)}
.rml-form{display:flex;gap:8px;padding:10px 12px 12px;border-top:1px solid var(--rml-line)}
.rml-input{flex:1;min-height:42px;border:1px solid var(--rml-line);border-radius:14px;padding:0 12px;background:var(--rml-panel);color:var(--rml-text);font:400 15px Lato,Arial,sans-serif}
.rml-input::placeholder{color:var(--rml-muted)}
.rml-send{flex:0 0 42px;width:42px;height:42px;border-radius:50%;border:0;background:var(--rml-blue);color:#fff;cursor:pointer;display:grid;place-items:center}
.rml-send svg{width:19px;height:19px}
@media (max-width:600px){
  .rml-panel{right:0;left:0;bottom:0;width:100%;height:100%;height:100dvh;border-radius:0;border:0}
  .rml-fab{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}
  .rml-input{font-size:16px}
}
@media (prefers-reduced-motion:reduce){.rml-panel,.rml-fab{transition:none}}

/* Home page: RoseMarie only shows while the Ricardo Guillaume portfolio is open, above it. */
.rml-root.rml-manual:not(.is-on){display:none}
.rml-root.rml-manual .rml-fab{z-index:2147482990}
.rml-root.rml-manual .rml-panel{z-index:2147483000}
body.ks-pfs-open .bre-fab{display:none!important}

/* Online dot, drag and snap (v338). */
.rml-fab-face{display:block;width:100%;height:100%;border-radius:50%;overflow:hidden;pointer-events:none}
.rml-online{position:absolute;right:2px;bottom:3px;width:13px;height:13px;border-radius:50%;background:#22c55e;border:2px solid #0b1430;pointer-events:none;animation:rmlOnline 2.4s ease-out infinite}
.rml-avatar-wrap{position:relative;flex:0 0 42px;width:42px;height:42px}
.rml-avatar-wrap .rml-online{right:-1px;bottom:-1px;width:12px;height:12px}
.rml-status{display:inline-flex;align-items:center;gap:5px;margin-top:3px;font-style:normal;font-size:11px;font-weight:900;color:#4ade80}
.rml-status::before{content:"";width:7px;height:7px;border-radius:50%;background:#22c55e}
.rml-fab.rml-dragging{cursor:grabbing;transform:scale(1.08);transition:none}
.rml-fab.rml-snap{transition:left .28s cubic-bezier(.2,.9,.3,1.2),top .28s ease,transform .2s ease}
.rml-root[data-side="left"] .rml-panel{right:auto;left:20px}
@keyframes rmlOnline{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
html.ks-mobile-lite .rml-online,html.ks-ios-lite .rml-online{animation:rmlOnline 2.4s ease-out infinite!important}
@media (max-width:600px){.rml-root[data-side="left"] .rml-panel{left:0}}
@media (prefers-reduced-motion:reduce){.rml-online{animation:none}}
