/* Plataforma MARCA EDITORIAL IA — capa de progreso, cuenta y agente sobre el curso */
:root{
  --om-ink:#0E0B0A; --om-paper:#F4EEE4; --om-acc:#F94A2C; --om-mut:#8A7F76;
  --om-line:#2A2320; --om-dark:#171310;
}
.om-pill{
  position:fixed; right:18px; bottom:18px; z-index:9998;
  display:flex; flex-direction:column; gap:10px; align-items:flex-end;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}
.om-btn-fab{
  display:flex; align-items:center; gap:9px; border:0; cursor:pointer;
  background:var(--om-ink); color:var(--om-paper); border-radius:999px;
  padding:13px 20px; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase;
  box-shadow:0 10px 30px rgba(0,0,0,.28); transition:.18s;
}
.om-btn-fab:hover{transform:translateY(-2px)}
.om-btn-fab.om-acc{background:var(--om-acc); color:#fff}
.om-dot{width:7px;height:7px;border-radius:50%;background:var(--om-acc)}
.om-fab-pct{font-size:11px;font-weight:700}

/* barra superior del curso */
.om-bar{
  position:fixed; top:0; left:0; right:0; z-index:9997; display:flex; align-items:center;
  justify-content:space-between; gap:14px; padding:9px 16px;
  background:rgba(14,11,10,.94); backdrop-filter:blur(8px); color:var(--om-paper);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:9.5px;
  letter-spacing:.14em; text-transform:uppercase; border-bottom:1px solid rgba(255,255,255,.08);
}
.om-bar a{color:inherit;text-decoration:none;opacity:.8}
.om-bar a:hover{opacity:1;color:var(--om-acc)}
.om-bar .om-brand{display:flex;align-items:center;gap:8px;font-weight:700;opacity:1}
.om-bar .om-brand i{width:7px;height:7px;background:var(--om-acc);border-radius:50%;display:inline-block}
.om-bar .om-links{display:flex;gap:16px;flex-wrap:wrap}

/* marcas de avance junto a cada sección */
.om-chk{
  display:inline-flex; align-items:center; justify-content:center;
  width:22px; height:22px; border-radius:4px; border:1.5px solid rgba(244,238,228,.45);
  background:rgba(14,11,10,.55); color:transparent; cursor:pointer;
  font-size:13px; line-height:1; margin-right:10px; vertical-align:middle;
  transition:.15s; flex:0 0 auto;
}
.om-chk:hover{border-color:var(--om-acc); color:var(--om-acc)}
.om-chk.on{background:var(--om-acc); border-color:var(--om-acc); color:#fff}
.om-h{direction:ltr}
.om-h > .om-chk{float:left; margin-top:.15em}
@media(max-width:640px){ .om-h > .om-chk{width:20px;height:20px;margin-right:8px} }

/* panel del agente */
.om-chat{position:fixed; right:18px; bottom:86px; width:min(390px,92vw); height:min(560px,74vh);
  background:var(--om-paper); border:1px solid var(--om-line); border-radius:12px; z-index:9999;
  display:none; flex-direction:column; overflow:hidden; box-shadow:0 24px 60px rgba(0,0,0,.35);
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;}
.om-chat.open{display:flex}
.om-chat header{background:var(--om-ink); color:var(--om-paper); padding:12px 14px;
  display:flex; align-items:center; justify-content:space-between; gap:8px}
.om-chat header b{font-size:11px; letter-spacing:.14em; text-transform:uppercase}
.om-chat header span{font-size:9px; opacity:.65; letter-spacing:.1em; text-transform:uppercase}
.om-chat header button{background:none;border:0;color:inherit;font-size:18px;cursor:pointer;line-height:1}
.om-msgs{flex:1; overflow:auto; padding:14px; display:flex; flex-direction:column; gap:10px;
  background:repeating-linear-gradient(0deg,transparent,transparent 27px,rgba(14,11,10,.02) 27px,rgba(14,11,10,.02) 28px)}
.om-m{max-width:88%; padding:10px 12px; border-radius:8px; font-size:13.5px; line-height:1.5; white-space:pre-wrap; word-wrap:break-word}
.om-m.user{align-self:flex-end; background:var(--om-acc); color:#fff; border-bottom-right-radius:2px}
.om-m.bot{align-self:flex-start; background:#fff; border:1px solid #E2D9CC; color:var(--om-ink); border-bottom-left-radius:2px}
.om-m.bot img{max-width:100%;border-radius:6px;margin:6px 0;display:block}
.om-foot{display:flex; gap:8px; padding:10px; border-top:1px solid #E2D9CC; background:#fff}
.om-foot textarea{flex:1; resize:none; border:1px solid #DED4C6; border-radius:7px; padding:9px 10px;
  font:inherit; font-size:13.5px; height:42px; max-height:110px; outline:none; background:var(--om-paper)}
.om-foot button{background:var(--om-ink); color:var(--om-paper); border:0; border-radius:7px;
  padding:0 16px; cursor:pointer; font-size:10px; letter-spacing:.12em; text-transform:uppercase}
.om-foot button:disabled{opacity:.4;cursor:default}
.om-chips{display:flex; gap:6px; flex-wrap:wrap; padding:0 10px 10px; background:#fff}
.om-chip{border:1px solid #DED4C6; background:var(--om-paper); border-radius:999px; padding:6px 10px;
  font-size:10.5px; cursor:pointer; color:#4a423c}
.om-chip:hover{border-color:var(--om-acc); color:var(--om-acc)}

/* aviso de acceso */
.om-guest{position:fixed; right:18px; bottom:18px; z-index:9998; display:flex; gap:8px; align-items:center;
  font-family:ui-monospace,Menlo,monospace; font-size:10px; letter-spacing:.12em; text-transform:uppercase}
.om-guest a{background:var(--om-ink); color:var(--om-paper); text-decoration:none; padding:11px 16px; border-radius:999px}
.om-guest a:hover{background:var(--om-acc)}
