/* Cursores originales de Hannah: flecha, texto y mano, con contraste por superficie. */
@media (hover:hover) and (pointer:fine) {
  .hannah-cursor-page{
    --hannah-cursor-arrow:url('assets/cursor-angular-dark.svg') 3 2,auto;
    --hannah-cursor-text:url('assets/cursor-text-dark.svg') 16 16,text;
    --hannah-cursor-hand:url('assets/cursor-hand-dark.svg') 13 9,pointer;
    --hannah-cursor-press:url('assets/cursor-hand-press-dark.svg') 13 9,pointer;
    --hannah-cursor-color:#c7ff1e;
    --hannah-trail-opacity:.22;
  }
  /* El contraste sigue la superficie clara real, no las secciones transparentes. */
  .hannah-cursor-page :is(.odoo-grid,.partner-ccl img,.btn-primary,.contact-submit,.skip,.ug-filters button[aria-pressed="true"],.mock-app button[aria-pressed="true"],.mock-app button:hover,.project-tabs button[aria-pressed="true"],.system-gallery-tabs button[aria-pressed="true"],.system-gallery-arrows button:hover,.system-gallery-arrows button:focus-visible){
    --hannah-cursor-arrow:url('assets/cursor-angular.svg') 3 2,auto;
    --hannah-cursor-text:url('assets/cursor-text.svg') 16 16,text;
    --hannah-cursor-hand:url('assets/cursor-hand.svg') 13 9,pointer;
    --hannah-cursor-press:url('assets/cursor-hand-press.svg') 13 9,pointer;
    --hannah-cursor-color:#171a08;
    --hannah-trail-opacity:.5;
  }
  .hannah-cursor-page,.hannah-cursor-page :where(*){cursor:var(--hannah-cursor-arrow)}
  .hannah-cursor-page :where(input:not([type=checkbox]):not([type=radio]):not([type=submit]),textarea,p,h1,h2,h3,h4,h5,h6,span,small,label,li,blockquote,strong,em,td,th){cursor:var(--hannah-cursor-text)}
  /* Las reglas locales de controles conservan la mano original de Hannah. */
  .hannah-cursor-page :is(a,button,summary,select,.contact-consent,input[type=checkbox],input[type=radio],input[type=submit]):not(:disabled),
  .hannah-cursor-page :is(a,button,summary,select,.contact-consent):not(:disabled) *{cursor:var(--hannah-cursor-hand)!important}
  .hannah-cursor-page :is(a,button,summary,select,.contact-consent,input[type=checkbox],input[type=radio],input[type=submit]):not(:disabled):active,
  .hannah-cursor-page :is(a,button,summary,select,.contact-consent):not(:disabled):active *{cursor:var(--hannah-cursor-press)!important}
}

/* Las marcas duran menos de un segundo y no capturan eventos. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  body>.hannah-cursor-trail,body>.hannah-cursor-pulse,body>.hannah-target-pulse,body>.hannah-selection-sweep{
    position:fixed!important;z-index:1000!important;pointer-events:none;color:var(--hannah-cursor-color);
  }
  body>.hannah-cursor-trail{opacity:0;animation:hannah-trail-fade .42s ease-out forwards}
  body>.hannah-cursor-trail--arrow{width:4px;height:4px;border-radius:50%;background:currentColor}
  body>.hannah-cursor-trail--text{width:1.5px;height:9px;border-radius:1px;background:currentColor}
  body>.hannah-cursor-trail--hand{width:7px;height:7px;border:1px solid currentColor;border-right-color:transparent;border-radius:50%}
  body>.hannah-cursor-pulse{animation-duration:.62s;animation-timing-function:ease-out;animation-fill-mode:forwards}
  body>.hannah-cursor-pulse--arrow{width:4px;height:4px;border:1.5px solid currentColor;border-radius:50%;animation-name:hannah-cursor-click}
  body>.hannah-cursor-pulse--text{width:2px;height:18px;border-radius:2px;background:currentColor;animation-name:hannah-text-click}
  body>.hannah-cursor-pulse--hand{width:9px;height:9px;border:1px solid currentColor;border-right-color:transparent;border-radius:50%;animation-name:hannah-hand-click}
  body>.hannah-target-pulse{border:1px solid currentColor;border-radius:3px;animation:hannah-target-click .62s ease-out forwards}
  body>.hannah-selection-sweep{height:1px;background:currentColor;transform-origin:left center;animation:hannah-selection-mark .62s ease-out forwards}
}
@keyframes hannah-trail-fade{0%{opacity:var(--hannah-trail-opacity,.22);transform:scale(1)}100%{opacity:0;transform:scale(.35)}}
@keyframes hannah-cursor-click{0%{opacity:.85;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(9)}}
@keyframes hannah-text-click{0%{opacity:.7;transform:translate(-50%,-50%) scaleY(.25)}55%{opacity:.55;transform:translate(-50%,-50%) scaleY(1.2)}100%{opacity:0;transform:translate(-50%,-50%) scaleY(1.4)}}
@keyframes hannah-hand-click{0%{opacity:.8;transform:translate(-50%,-50%) scale(1) rotate(-25deg)}100%{opacity:0;transform:translate(-50%,-50%) scale(5) rotate(45deg)}}
@keyframes hannah-target-click{0%{opacity:.26;transform:scale(.995)}100%{opacity:0;transform:scale(1.008)}}
@keyframes hannah-selection-mark{0%{opacity:.75;transform:scaleX(0)}35%{opacity:.75;transform:scaleX(1)}100%{opacity:0;transform:scaleX(1)}}
