/* ============================================================================
 * PuroIA Conversa — estilos del motor + páginas (landing / playground)
 * ========================================================================== */
:root{
  --pc-primary:#8b5cf6; --pc-accent:#06b6d4; --pc-pink:#ec4899;
  --pc-bg:#0b0e1c; --pc-bg2:#080a14; --pc-card:rgba(255,255,255,.025);
  --pc-border:rgba(124,140,255,.16); --pc-bot:#161b33; --pc-user:#7c3aed;
  --pc-text:#e6e9f5; --pc-muted:#8b93b8;
  --pc-font:'Outfit','Segoe UI',system-ui,Arial,sans-serif;
}
*{box-sizing:border-box}

/* ── CHAT (motor) ─────────────────────────────────────────────────────────── */
.pc-chat{display:flex;flex-direction:column;height:100%;background:var(--pc-bg2);
  font-family:var(--pc-font);color:var(--pc-text);overflow:hidden}
.pc-msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:11px}
.pc-msgs::-webkit-scrollbar{width:7px}.pc-msgs::-webkit-scrollbar-thumb{background:rgba(124,140,255,.25);border-radius:4px}
.pc-msg{max-width:85%;padding:10px 13px;border-radius:15px;font-size:14px;line-height:1.5;word-wrap:break-word;animation:pc-in .25s ease}
.pc-bot{align-self:flex-start;background:var(--pc-bot);border-bottom-left-radius:4px}
.pc-user{align-self:flex-end;background:linear-gradient(135deg,var(--pc-user),var(--pc-pink));color:#fff;border-bottom-right-radius:4px}
.pc-msg a.pc-link{color:#7dd3fc}
.pc-img{max-width:100%;border-radius:12px;display:block}
.pc-msg .pc-cta,.pc-choices .pc-cta,.pc-link-btn{display:inline-block;margin-top:6px;background:linear-gradient(135deg,var(--pc-accent),var(--pc-primary));
  color:#fff!important;text-decoration:none;padding:10px 16px;border-radius:11px;font-weight:700;font-size:13.5px;box-shadow:0 4px 14px rgba(139,92,246,.4)}
.pc-link-btn{background:#222a44}
.pc-typing{align-self:flex-start;background:var(--pc-bot);padding:13px 15px;border-radius:15px;border-bottom-left-radius:4px;display:flex;gap:4px}
.pc-typing i{width:7px;height:7px;border-radius:50%;background:#7c8cff;animation:pc-blink 1.2s infinite}
.pc-typing i:nth-child(2){animation-delay:.2s}.pc-typing i:nth-child(3){animation-delay:.4s}
.pc-choices{display:flex;flex-direction:column;gap:8px;align-self:flex-end;align-items:flex-end;max-width:88%;margin-top:2px}
.pc-choice{background:rgba(124,140,255,.10);border:1px solid var(--pc-border);color:var(--pc-text);
  padding:10px 15px;border-radius:13px;font-size:13.5px;font-weight:600;cursor:pointer;text-align:right;
  font-family:inherit;transition:all .2s}
.pc-choice:hover{background:var(--pc-primary);border-color:var(--pc-primary);color:#fff;transform:translateX(-3px)}
.pc-foot{padding:11px;border-top:1px solid var(--pc-border);background:var(--pc-bg)}
.pc-inputform{display:flex;gap:8px;align-items:center;background:#11152a;border:1px solid var(--pc-border);border-radius:13px;padding:6px 8px}
.pc-input{flex:1;background:none;border:none;outline:none;color:var(--pc-text);font-size:14px;font-family:inherit;padding:6px}
.pc-input.pc-err{outline:1px solid #f87171;border-radius:8px}
.pc-input::placeholder{color:#5b6390}
.pc-send{width:34px;height:34px;border:none;border-radius:50%;cursor:pointer;color:#fff;font-size:14px;
  background:linear-gradient(135deg,var(--pc-accent),var(--pc-primary));flex-shrink:0}
.pc-exit-ai{margin-top:8px;width:100%;background:none;border:1px dashed var(--pc-border);color:var(--pc-muted);
  padding:8px;border-radius:10px;cursor:pointer;font-size:12.5px;font-family:inherit}
.pc-exit-ai:hover{color:#fff;border-color:var(--pc-primary)}
@keyframes pc-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes pc-blink{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}

/* ── BURBUJA embebible ────────────────────────────────────────────────────── */
.pc-bubble-root{position:fixed;right:22px;bottom:22px;z-index:99999;font-family:var(--pc-font)}
.pc-btn{width:60px;height:60px;border-radius:50%;border:none;cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.pc-btn svg{width:28px;height:28px}
.pc-panel{position:absolute;right:0;bottom:74px;width:380px;max-width:calc(100vw - 32px);height:560px;max-height:calc(100vh - 130px);
  background:var(--pc-bg);border:1px solid var(--pc-border);border-radius:18px;overflow:hidden;display:none;flex-direction:column;box-shadow:0 24px 60px rgba(0,0,0,.55)}
.pc-panel.open{display:flex;animation:pc-in .3s ease}
.pc-head{display:flex;align-items:center;gap:11px;padding:13px 14px;background:linear-gradient(135deg,#0f1430,#1a1240);border-bottom:1px solid var(--pc-border)}
.pc-av{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--pc-accent),var(--pc-primary),var(--pc-pink))}
.pc-htxt{flex:1;min-width:0}.pc-htxt b{display:block;color:#fff;font-size:14px}
.pc-htxt span{display:flex;align-items:center;gap:5px;color:#8be9c0;font-size:11px}
.pc-dot{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 6px #34d399}
.pc-x,.pc-restart{background:none;border:none;color:var(--pc-muted);font-size:20px;cursor:pointer;line-height:1;padding:2px 5px}
.pc-restart{font-size:16px}.pc-x:hover,.pc-restart:hover{color:#fff}
.pc-host{flex:1;min-height:0;display:flex}
.pc-host .pc-chat{flex:1}

/* ── MAPA DE FLUJO (builder) ─────────────────────────────────────────────── */
.pc-map{display:flex;flex-direction:column;gap:10px}
.pc-node{background:var(--pc-card);border:1px solid var(--pc-border);border-radius:12px;padding:11px 13px}
.pc-node-h{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.pc-node-ic{font-size:15px}
.pc-node-id{font-weight:700;color:#fff;font-size:13px}
.pc-node-t{margin-left:auto;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--pc-accent);background:rgba(6,182,212,.1);padding:2px 8px;border-radius:9999px}
.pc-node-b{font-size:12.5px;color:var(--pc-muted);line-height:1.4}
.pc-node-out{margin-top:7px;display:flex;flex-wrap:wrap;gap:6px}
.pc-node-out span{font-size:11px;color:#a6b0d8;background:rgba(124,140,255,.08);padding:2px 8px;border-radius:7px}
.pc-node-out em{color:var(--pc-primary);font-style:normal}
.pc-node-out.pc-end span,.pc-node-out.pc-end{color:#64748b;font-size:11px}

/* ── PÁGINAS (landing / playground) ──────────────────────────────────────── */
body.pc-page{margin:0;background:radial-gradient(ellipse 70% 50% at 50% -10%,rgba(139,92,246,.14),transparent 60%),var(--pc-bg);
  color:var(--pc-text);font-family:var(--pc-font);line-height:1.6}
.pc-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.pc-nav{display:flex;align-items:center;justify-content:space-between;padding:20px 0}
.pc-logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;color:#fff;text-decoration:none}
.pc-logo .hex{width:34px;height:34px}
.pc-nav-links{display:flex;gap:8px;align-items:center}
.pc-btn-ghost,.pc-btn-solid{padding:10px 18px;border-radius:10px;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer;border:none;font-family:inherit}
.pc-btn-ghost{color:#cbd5e1;border:1px solid var(--pc-border);background:none}
.pc-btn-ghost:hover{color:#fff;border-color:var(--pc-primary)}
.pc-btn-solid{color:#fff;background:linear-gradient(135deg,var(--pc-accent),var(--pc-primary))}
.pc-btn-solid:hover{box-shadow:0 8px 24px rgba(139,92,246,.45)}

.pc-hero{text-align:center;padding:60px 0 40px}
.pc-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(6,182,212,.08);border:1px solid rgba(6,182,212,.22);
  color:var(--pc-accent);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:6px 16px;border-radius:9999px;margin-bottom:22px}
.pc-h1{font-size:clamp(38px,6vw,68px);font-weight:900;line-height:1.05;letter-spacing:-.02em;margin:0 0 18px;
  background:linear-gradient(135deg,#fff 30%,var(--pc-accent) 70%,var(--pc-primary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.pc-sub{font-size:clamp(16px,2vw,20px);color:#aab2d5;max-width:680px;margin:0 auto 28px}
.pc-cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

.pc-section{padding:54px 0}
.pc-section-title{font-size:clamp(26px,3.5vw,40px);font-weight:800;text-align:center;color:#fff;margin:0 0 10px}
.pc-section-sub{text-align:center;color:var(--pc-muted);max-width:620px;margin:0 auto 40px}
.pc-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pc-feature{background:var(--pc-card);border:1px solid var(--pc-border);border-radius:16px;padding:26px}
.pc-feature .ic{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;
  background:linear-gradient(135deg,rgba(6,182,212,.18),rgba(139,92,246,.18));margin-bottom:14px}
.pc-feature h3{margin:0 0 8px;color:#fff;font-size:18px}
.pc-feature p{margin:0;color:var(--pc-muted);font-size:14.5px}

.pc-compare{width:100%;border-collapse:collapse;background:var(--pc-card);border:1px solid var(--pc-border);border-radius:16px;overflow:hidden}
.pc-compare th,.pc-compare td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--pc-border);font-size:14.5px}
.pc-compare th{background:rgba(124,140,255,.06);color:#fff;font-size:13px}
.pc-compare td.yes{color:#4ade80}.pc-compare td.no{color:#f87171}
.pc-compare tr:last-child td{border-bottom:none}
.pc-compare .col-us{color:var(--pc-accent);font-weight:800}

.pc-demo-box{display:grid;grid-template-columns:1fr 380px;gap:28px;align-items:center;
  background:var(--pc-card);border:1px solid var(--pc-border);border-radius:24px;padding:34px}
.pc-demo-box .pc-demo-chat{height:520px;border:1px solid var(--pc-border);border-radius:18px;overflow:hidden}
.pc-demo-pick{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.pc-pick-btn{padding:8px 14px;border-radius:10px;border:1px solid var(--pc-border);background:none;color:#cbd5e1;cursor:pointer;font-size:13px;font-weight:600;font-family:inherit}
.pc-pick-btn.active{background:var(--pc-primary);border-color:var(--pc-primary);color:#fff}

.pc-foot-cta{text-align:center;padding:70px 0}
.pc-footer{border-top:1px solid var(--pc-border);padding:30px 0;text-align:center;color:var(--pc-muted);font-size:13px;margin-top:40px}

@media(max-width:900px){
  .pc-grid3{grid-template-columns:1fr}
  .pc-demo-box{grid-template-columns:1fr}
  .pc-nav-links .pc-btn-ghost{display:none}
}
