/* LIFRO · Bordes animados y barrido de Radar (Polimatalab CMS).
   Basado en /producto/radar/: ritmo 8s, barrido 0.85s.
   Colores: verde agua y cobre de la identidad Elegant Tech. */
:root {
  --lifro-card-edge:var(--aqua,#40E0D0);
  --lifro-card-glow:var(--copper,#B87333);
}
:where(.company-card,.project-card,.credential-card,.cert-card,.about-panel,.assistant-shell,.credly-skills-block,.world-tech){
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-radius:inherit;
  backface-visibility:hidden;
  transition:border-color .32s ease, box-shadow .32s ease, filter .32s ease, transform .32s cubic-bezier(.2,.7,.2,1);
}
:where(.company-card,.project-card,.credential-card,.cert-card,.about-panel,.assistant-shell,.credly-skills-block,.world-tech)::before{
  content:"";
  position:absolute;
  inset:0;
  padding:1.5px;
  border-radius:inherit;
  z-index:4;
  pointer-events:none;
  background:linear-gradient(110deg,
    transparent 6%,
    color-mix(in srgb,var(--lifro-card-edge) 34%,transparent) 27%,
    var(--lifro-card-edge) 45%,
    var(--lifro-card-glow) 61%,
    transparent 90%
  );
  background-size:230% 100%;
  background-position:100% 0;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:.57;
  animation:lifro-radar-border-breathe 8s ease-in-out infinite alternate;
}
:where(.company-card,.project-card,.credential-card,.cert-card,.about-panel,.assistant-shell,.credly-skills-block,.world-tech)::after{
  content:"";
  position:absolute;
  top:-30%;
  left:-90%;
  width:56%;
  height:160%;
  z-index:1;
  background:linear-gradient(90deg,
    transparent,
    color-mix(in srgb,var(--lifro-card-glow) 12%,transparent) 45%,
    color-mix(in srgb,var(--lifro-card-edge) 17%,transparent) 60%,
    transparent
  );
  transform:skewX(-23deg);
  opacity:0;
  pointer-events:none;
  transition:left .85s cubic-bezier(.17,.67,.15,1),opacity .35s ease;
}
:where(.company-card,.project-card,.credential-card,.cert-card,.about-panel,.assistant-shell,.credly-skills-block,.world-tech)>*{
  position:relative;
  z-index:2;
}
:where(.company-card,.project-card,.credential-card,.cert-card,.about-panel,.credly-skills-block):is(:hover,:focus-within){
  transform:translateY(-3px);
  border-color:color-mix(in srgb,var(--lifro-card-edge) 44%,var(--line,#555));
  box-shadow:
    0 18px 52px color-mix(in srgb,var(--lifro-card-glow) 11%,transparent),
    0 0 27px color-mix(in srgb,var(--lifro-card-edge) 11%,transparent),
    inset 0 0 32px color-mix(in srgb,var(--lifro-card-edge) 4%,transparent);
}
/* El asistente conserva su posición al interactuar con el campo de texto. */
.assistant-shell:is(:hover,:focus-within){
  border-color:color-mix(in srgb,var(--lifro-card-edge) 44%,var(--line,#555));
  box-shadow:0 0 32px rgba(64,224,208,.06);
}
:where(.company-card,.project-card,.credential-card,.cert-card,.about-panel,.assistant-shell,.credly-skills-block,.world-tech):is(:hover,:focus-within)::before{
  opacity:1;
  animation-duration:2.6s;
}
:where(.company-card,.project-card,.credential-card,.cert-card,.about-panel,.assistant-shell,.credly-skills-block,.world-tech):is(:hover,:focus-within)::after{
  left:140%;
  opacity:1;
}
/* El transform de .world-tech lo maneja el render 3D: solo iluminar. */
.world-tech{
  --lifro-card-edge:var(--brand,var(--aqua,#40E0D0));
  --lifro-card-glow:var(--copper,#B87333);
}
.world-tech:is(:hover,:focus-visible,.is-active){
  border-color:var(--brand,var(--aqua,#40E0D0));
  box-shadow:
    0 16px 48px rgba(0,0,0,.45),
    0 0 0 1px color-mix(in srgb,var(--brand,var(--aqua,#40E0D0)) 55%,transparent),
    0 0 34px color-mix(in srgb,var(--brand,var(--aqua,#40E0D0)) 38%,transparent);
}
@keyframes lifro-radar-border-breathe{
  0%{background-position:100% 0;opacity:.36}
  100%{background-position:0% 0;opacity:.75}
}
/* Las pequeñas etiquetas reciben hover, sin animación permanente por rendimiento. */
.skill-pill{
  transition:border-color .28s,background .28s,box-shadow .28s,transform .28s;
}
.skill-pill:is(:hover,:focus-within){
  transform:translateY(-2px);
  border-color:rgba(64,224,208,.43);
  background:#29362f;
  box-shadow:0 9px 22px rgba(64,224,208,.065);
}
@media(prefers-reduced-motion:reduce){
  :where(.company-card,.project-card,.credential-card,.cert-card,.about-panel,.assistant-shell,.credly-skills-block,.world-tech),
  :where(.company-card,.project-card,.credential-card,.cert-card,.about-panel,.assistant-shell,.credly-skills-block,.world-tech)::before,
  :where(.company-card,.project-card,.credential-card,.cert-card,.about-panel,.assistant-shell,.credly-skills-block,.world-tech)::after,
  .skill-pill{animation:none!important;transition:none!important}
  :where(.company-card,.project-card,.credential-card,.cert-card,.about-panel,.assistant-shell,.credly-skills-block):is(:hover,:focus-within),
  .skill-pill:is(:hover,:focus-within){transform:none}
  :where(.company-card,.project-card,.credential-card,.cert-card,.about-panel,.assistant-shell,.credly-skills-block,.world-tech)::after{display:none}
}
