/* K-8 LITE — prioridad: estabilidad y pixel art nítido en hardware antiguo */
:root{--k8-w:160px;--k8-h:175px;--k8-accent:var(--gold,#D4B15A);--k8-text:var(--txt,#F3F0E8)}
#k8-assistant{position:fixed;z-index:70;right:18px;bottom:78px;width:var(--k8-w);height:var(--k8-h);pointer-events:none;transition:opacity .18s ease,transform .18s ease}
#k8-assistant.k8-hidden{opacity:0;visibility:hidden;transform:translateY(10px)}
#k8-assistant:not(.k8-hidden){opacity:1;visibility:visible}
.k8-stage{position:absolute;inset:0}
.k8-holo{position:absolute;left:24px;right:24px;bottom:3px;height:18px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(212,177,90,.28),rgba(212,177,90,0) 70%);opacity:.7}
.k8-sprite{position:absolute;inset:0;width:160px;height:175px;background-repeat:no-repeat;background-position:0 0;background-size:1280px 1925px;image-rendering:pixelated;image-rendering:crisp-edges;pointer-events:auto;cursor:pointer;touch-action:manipulation}
.k8-sprite:focus-visible{outline:2px solid var(--k8-accent);outline-offset:3px;border-radius:12px}
.k8-no-sprite .k8-sprite{background:none!important}.k8-no-sprite .k8-sprite::after{content:'K-8';position:absolute;right:18px;bottom:22px;padding:8px 10px;border-radius:10px;background:#D4B15A;color:#111;font:700 16px system-ui}
.k8-bubble{position:absolute;right:126px;bottom:108px;width:max-content;max-width:min(235px,calc(100vw - 190px));padding:9px 12px;border-radius:13px 13px 4px 13px;border:1px solid rgba(212,177,90,.42);background:rgba(17,23,33,.96);color:var(--k8-text);box-shadow:0 8px 20px rgba(0,0,0,.28);font:600 12px/1.35 'Space Grotesk',system-ui,sans-serif;opacity:0;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease;pointer-events:none}
#k8-assistant.k8-speaking .k8-bubble{opacity:1;transform:none}.k8-status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px;background:var(--k8-accent)}
#k8-assistant[data-state='failed'] .k8-status-dot{background:var(--danger,#FF5A4E)}#k8-assistant[data-state='review'] .k8-status-dot{background:#33D07A}
@media(max-width:520px){#k8-assistant{right:4px;bottom:72px;width:136px;height:149px}.k8-sprite{transform:scale(.85);transform-origin:right bottom;right:0;left:auto;top:auto;bottom:0}.k8-bubble{right:104px;bottom:94px;max-width:min(200px,calc(100vw - 142px));font-size:11px}}
@media(prefers-reduced-motion:reduce){#k8-assistant,.k8-bubble{transition:none!important}}
@media(print){#k8-assistant{display:none!important}}

/* === K8-MOVIL-V5-CSS === */

@media (max-width:860px), (hover:none) and (pointer:coarse){

  #k8-assistant{
    width:112px !important;
    height:122px !important;
    right:6px;
    left:auto;
    bottom:74px !important;
    z-index:70;
  }

  #k8-assistant .k8-sprite{
    width:160px;
    height:175px;
    transform:scale(.70);
    transform-origin:right bottom;
    right:0;
    left:auto;
    top:auto;
    bottom:0;
  }

  #k8-assistant.k8-mobile-left .k8-sprite{
    transform-origin:left bottom;
    left:0;
    right:auto;
  }

  #k8-assistant .k8-bubble{
    right:91px !important;
    bottom:84px !important;
    max-width:min(178px,calc(100vw - 126px)) !important;
    font-size:10.5px !important;
  }

  #k8-assistant.k8-mobile-left .k8-bubble{
    left:91px !important;
    right:auto !important;
    border-radius:13px 13px 13px 4px;
  }

  #k8-assistant.k8-user-hidden{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  .k8-mobile-hide{
    position:absolute;
    top:4px;
    right:3px;
    width:28px;
    height:28px;
    border-radius:999px;
    border:1px solid rgba(212,177,90,.5);
    background:rgba(12,16,24,.94);
    color:#F0DBA6;
    font:700 17px/1 system-ui,sans-serif;
    display:grid;
    place-items:center;
    padding:0;
    cursor:pointer;
    pointer-events:auto;
    z-index:4;
    box-shadow:0 5px 14px rgba(0,0,0,.35);
  }

  #k8-assistant.k8-mobile-left .k8-mobile-hide{
    left:3px;
    right:auto;
  }

  #k8-show-mobile{
    position:fixed;
    right:10px;
    bottom:78px;
    z-index:71;
    display:none;
    align-items:center;
    gap:6px;
    min-height:38px;
    padding:8px 11px;
    border-radius:999px;
    border:1px solid rgba(212,177,90,.55);
    background:rgba(12,16,24,.94);
    color:#F0DBA6;
    box-shadow:0 8px 22px rgba(0,0,0,.35);
    font:700 12px/1 system-ui,sans-serif;
    cursor:pointer;
  }

  #k8-show-mobile.k8-visible{
    display:inline-flex;
  }
}

@media (min-width:861px) and (hover:hover) and (pointer:fine){
  .k8-mobile-hide,
  #k8-show-mobile{
    display:none !important;
  }
}

/* === /K8-MOVIL-V5-CSS === */
