/* ═══════════════════════════════════════════════════════════
   NISTO PARTS · pa-* shared components
   ReasoningBlock + ToolCallCard + Tile — reutilizables
   en test console, inbox y actividades.
   Referencia tokens de nisto-tokens.css.
   ═══════════════════════════════════════════════════════════ */

/* ── Keyframes ─────────────────────────────────────────── */
@keyframes paRise{from{transform:translateY(9px);opacity:0}to{transform:none;opacity:1}}
@keyframes paDot{0%,60%,100%{transform:translateY(0);opacity:.35}30%{transform:translateY(-4px);opacity:1}}
@keyframes paBar{0%{left:-38%}100%{left:100%}}
@keyframes paShim{0%{background-position:200% center}100%{background-position:-200% center}}
@keyframes paThread{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes paPulse{0%{box-shadow:0 0 0 0 rgba(255,106,69,.5)}70%{box-shadow:0 0 0 9px rgba(255,106,69,0)}100%{box-shadow:0 0 0 0 rgba(255,106,69,0)}}

/* ═══ TOOL TILE (shared) ═══════════════════════════════ */
.pa-tile{flex:none;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius-sm)}
.pa-tile--40{width:40px;height:40px}
.pa-tile--32{width:32px;height:32px;border-radius:9px}
.pa-tile--28{width:28px;height:28px;border-radius:8px}
.pa-tile--26{width:26px;height:26px;border-radius:7px}
.pa-tile--19{width:19px;height:19px;border-radius:5px}
.pa-tile--logo{background:var(--surface-card);border:1px solid var(--indigo-100);padding:5px}
.pa-tile--glyph{background:var(--surface-dark);color:var(--text-on-dark);border:none}
.pa-tile--coral{background:var(--coral-500);color:var(--text-on-dark);border:none}
.pa-tile--muted{background:var(--indigo-50);color:var(--neutral-500);border:none}
.pa-tile img{width:100%;height:100%;object-fit:contain;display:block}

/* ═══ REASONING BLOCK ══════════════════════════════════ */
.pa-reasoning{border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;animation:paRise .34s var(--ease-out);width:100%;max-width:472px}
.pa-reasoning--streaming{background:var(--surface-sunken)}
.pa-reasoning--done{background:#FBFBFA;border-color:var(--indigo-50)}
.pa-reasoning__header{display:flex;align-items:center;gap:10px;padding:11px 14px;cursor:default}
.pa-reasoning--done .pa-reasoning__header{cursor:pointer}
.pa-reasoning__label{flex:1;font-size:13.5px;font-weight:var(--weight-medium);min-width:0}
.pa-reasoning--streaming .pa-reasoning__label{background:linear-gradient(90deg,var(--neutral-400),var(--text-strong),var(--neutral-400));background-size:200% auto;background-clip:text;-webkit-background-clip:text;color:transparent;animation:paShim 1.5s linear infinite}
.pa-reasoning--done .pa-reasoning__label{color:var(--text-muted)}
.pa-reasoning__chevron{flex:none;color:var(--text-faint);transition:transform var(--dur-fast)}
.pa-reasoning__chevron--open{transform:rotate(180deg)}
.pa-reasoning__body{padding:0 14px 14px 14px;display:flex;gap:10px}
.pa-reasoning__thread{flex:none;width:2px;border-radius:1px;background:linear-gradient(to bottom,var(--indigo-200),var(--indigo-50));transform-origin:top;animation:paThread .5s ease forwards}
.pa-reasoning__steps{flex:1;display:flex;flex-direction:column;gap:8px;padding:2px 0}
.pa-reasoning__step{font-size:13px;line-height:1.55;color:var(--text-muted);text-wrap:pretty;animation:paRise .34s var(--ease-out)}
.pa-reasoning__plan{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;animation:paRise .34s var(--ease-out)}
.pa-reasoning__plan-label{font-family:var(--font-mono);font-size:9px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-faint)}
.pa-reasoning__plan-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px 3px 3px;background:var(--surface-card);border:1px solid var(--indigo-100);border-radius:7px;font-size:11.5px;font-weight:var(--weight-medium);color:var(--navy-700)}

/* ═══ TOOL CALL CARD ═══════════════════════════════════ */
.pa-tool-card{align-self:flex-start;width:100%;max-width:472px;animation:paRise .34s var(--ease-out)}
.pa-tool-card__wrap{background:var(--surface-card);border:1px solid var(--indigo-100);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 1px 2px rgba(16,16,18,.05),0 14px 30px -20px rgba(16,16,18,.32)}
.pa-tool-card__head{display:flex;gap:12px;align-items:flex-start;padding:13px 14px}
.pa-tool-card__title{font-size:14.5px;font-weight:var(--weight-semibold);color:var(--text-strong);letter-spacing:-.2px}
.pa-tool-card__right{flex:1;min-width:0}
.pa-tool-card__top-row{display:flex;align-items:center;justify-content:space-between;gap:10px}

/* Running state */
.pa-tool-card__dots{flex:none;display:inline-flex;align-items:center;gap:4px}
.pa-tool-card__dots span{width:5px;height:5px;border-radius:50%;background:var(--neutral-400);animation:paDot 1.1s infinite}
.pa-tool-card__dots span:nth-child(2){animation-delay:.15s}
.pa-tool-card__dots span:nth-child(3){animation-delay:.3s}
.pa-tool-card__bar{margin-top:10px;height:4px;border-radius:4px;background:var(--indigo-50);overflow:hidden;position:relative}
.pa-tool-card__bar span{position:absolute;top:0;left:-38%;height:100%;width:38%;border-radius:4px;background:var(--surface-dark);animation:paBar 1.15s cubic-bezier(.55,0,.45,1) infinite}

/* Done state */
.pa-badge-sim{flex:none;display:inline-flex;align-items:center;gap:5px;background:var(--coral-50);color:var(--coral-700);font-family:var(--font-mono);font-size:9.5px;font-weight:var(--weight-semibold);letter-spacing:.7px;padding:4px 8px;border-radius:var(--radius-xs)}
.pa-tool-card__lines{margin-top:6px;display:flex;flex-direction:column;gap:2px}
.pa-tool-card__line{font-size:13px;line-height:1.5;color:var(--text-muted)}
.pa-tool-card__attach{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:6px 10px;background:var(--neutral-50);border:1px solid var(--indigo-100);border-radius:8px;font-size:12px;color:var(--text-muted)}
.pa-tool-card__footer{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;border-top:1px solid var(--indigo-50);background:#FCFCFB}
.pa-tool-card__note{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.6px;color:var(--text-faint);text-transform:uppercase}
.pa-tool-card__slug{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.4px;color:var(--neutral-300)}

/* ═══ REDUCED MOTION ═══════════════════════════════════ */
@media(prefers-reduced-motion:reduce){
  .pa-reasoning--streaming .pa-reasoning__label{animation:none;color:var(--text-muted)}
  .pa-tool-card__bar span{animation:none;left:0;width:100%;opacity:.3}
  .pa-tool-card__dots span{animation:none;opacity:.5}
  .pa-reasoning__thread{animation:none}
  .pa-reasoning__step,.pa-tool-card,.pa-reasoning{animation:none}
}
