/* Jev "มีชีวิต" (2026-10-09) — หน้าตา/อารมณ์ · แชต · รายงานตลาด · ฟองข้อความบนกราฟ */
.jev-face{display:inline-flex;flex:none;line-height:0;border-radius:50%}
.jev-face svg{display:block}
.jev-face.mood-thinking svg{animation:jevThink 1.1s ease-in-out infinite}
.jev-face.mood-danger svg{animation:jevShake .5s ease-in-out 2}
.jev-face.mood-happy svg,.jev-face.mood-confident svg{animation:jevBob 2.6s ease-in-out infinite}
@keyframes jevThink{0%,100%{opacity:.55;transform:scale(.94)}50%{opacity:1;transform:scale(1)}}
@keyframes jevShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}
@keyframes jevBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.5px)}}
@media (prefers-reduced-motion:reduce){.jev-face svg{animation:none!important}}

/* โปรไฟล์ Jev */
.jev-prof{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:rgba(141,195,200,.07);border:1px solid rgba(141,195,200,.18);margin-bottom:8px}
.jev-prof .jp-main{flex:1;min-width:0}
.jev-prof .jp-name{display:flex;gap:6px;align-items:baseline;flex-wrap:wrap;font-weight:700}
.jev-prof .jp-name small{font-weight:500;color:var(--muted,#8fb3b8)}
.jev-prof .jp-bar{height:5px;border-radius:5px;background:rgba(141,195,200,.15);margin:6px 0 4px;overflow:hidden}
.jev-prof .jp-bar i{display:block;height:100%;background:var(--accent,#6b8afd)}
.jev-prof .jp-honest{font-size:12px;color:var(--muted,#8fb3b8);line-height:1.4}

/* รายงานตลาด */
.jev-pulse{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:10px;border:1px dashed rgba(141,195,200,.25);font-size:13px;line-height:1.5;margin-bottom:8px}
.jev-pulse small{display:block;color:var(--muted,#8fb3b8);font-size:11px}

/* แชต */
.jev-chat{display:flex;flex-direction:column;gap:8px;max-height:360px;overflow-y:auto;padding:2px 2px 6px;margin-bottom:8px}
.jev-chat:empty{display:none}
.jc-row{display:flex;gap:8px;align-items:flex-end}
.jc-row.me{justify-content:flex-end}
.jc-bub{max-width:86%;padding:8px 11px;border-radius:14px;font-size:13.5px;line-height:1.55;overflow-wrap:anywhere}
.jc-row.me .jc-bub{background:var(--accent,#6b8afd);color:#fff;border-bottom-right-radius:4px}
.jc-row.jev .jc-bub{background:#1d2233;border:1px solid #2a3047;border-bottom-left-radius:4px}
.jc-bub p{margin:0}
.jc-bub p+p{margin-top:4px}
.jc-bub .jc-meta{display:block;margin-top:4px;font-size:11px;color:var(--muted,#8fb3b8)}
.jc-row.jev.mood-danger .jc-bub{border-color:rgba(255,77,97,.55)}
.jc-row.jev.mood-worried .jc-bub{border-color:rgba(255,159,67,.45)}
.jc-row.jev.mood-confident .jc-bub{border-color:rgba(34,227,155,.4)}
.jc-clear{align-self:center;border:0;background:none;color:var(--muted,#8fb3b8);font-size:12px;cursor:pointer;text-decoration:underline;min-height:32px}

/* คำพูด Jev บนการ์ดไม้/สัญญาณ */
.jev-say{display:flex;gap:6px;align-items:flex-start;margin:4px 0 8px;padding:6px 9px;border-radius:9px;font-size:12.5px;line-height:1.45;background:rgba(141,195,200,.07)}
.jev-say.mood-danger{background:rgba(255,77,97,.12)}
.jev-say.mood-worried{background:rgba(255,159,67,.11)}
.jev-say.ok{background:rgba(34,227,155,.1)}
.jev-say.miss{background:rgba(255,77,97,.09)}

/* ฟองข้อความ Jev บนกราฟ */
.jev-bubble{position:absolute;left:16px;bottom:136px;z-index:5;display:flex;gap:8px;align-items:flex-start;max-width:min(420px,70%);padding:8px 30px 8px 10px;
  border-radius:14px;background:rgba(13,18,30,.92);border:1px solid rgba(141,195,200,.25);box-shadow:0 10px 26px rgba(0,0,0,.35);font-size:12.5px;line-height:1.45;cursor:pointer;text-align:left;color:inherit;font-family:inherit}
.jev-bubble[hidden]{display:none}
.jev-bubble small{display:block;color:var(--muted,#8fb3b8);font-size:11px;margin-top:2px}
.jev-bubble .jb-x{position:absolute;right:4px;top:4px;width:24px;height:24px;border:0;border-radius:6px;background:transparent;color:var(--muted,#8fb3b8);cursor:pointer;font-size:14px;line-height:1}
.jev-bubble.mood-danger{border-color:rgba(255,77,97,.6)}
@media (max-width:700px){.jev-bubble{right:8px;left:8px;max-width:none;top:auto;bottom:86px}}
