/* ===== חייל האור החי — עומד בסצנה ומדבר (בלי חלון וידאו) ===== */
.vid-box { opacity: 1; transform: none; pointer-events: auto; transition: none; }
.sol-actor { position: relative; width: 100%; height: 100%; transform-origin: 50% 100%; }
.sa-poster, .sa-cv { position: absolute; inset: 0; width: 100%; height: 100%; display: block; pointer-events: none; }
.sa-poster { object-fit: contain; object-position: 50% 100%; transition: opacity .2s; }
.sa-cv { opacity: 0; transition: opacity .2s; }
/* לולאת ההמתנה צולמה קרוב יותר (×1.22) — מקטינים אותה לגודל ולמיקום של סרטוני הדיבור, כדי שלא "יתכווץ" כשהוא מתחיל לדבר */
.sa-idle, .sa-poster { transform-origin: 0 0; transform: translate(7.36%, .44%) scale(.82); }
.sol-actor.sa-idle-on .sa-idle { opacity: 1; }
.sol-actor.sa-idle-on .sa-poster { opacity: 0; }
.sol-actor.talking.sa-talk-on .sa-talk { opacity: 1; }
.sol-actor.talking.sa-talk-on .sa-idle, .sol-actor.talking.sa-talk-on .sa-poster { opacity: 0; }
/* בלי WebGL: מציגים את הסרטון עצמו עם מסכה רכה */
.sol-actor.sa-nogl > video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .2s;
  -webkit-mask: radial-gradient(ellipse 48% 52% at 50% 45%, #000 70%, transparent 100%); mask: radial-gradient(ellipse 48% 52% at 50% 45%, #000 70%, transparent 100%); }
.sol-actor.sa-nogl.talking > video { opacity: 1; }

/* אזור לחיצה נדיב על הגוף */
.sa-hit { position: absolute; left: 14%; right: 14%; top: 0; bottom: 4%; z-index: 4; border: 0; padding: 0; background: transparent; cursor: pointer; border-radius: 40% 40% 20% 20%; }
.sa-hit:focus-visible { outline: 5px dashed #fff; }
.sol-actor.sa-wiggle { animation: saWiggle .5s var(--pop); }
@keyframes saWiggle { 25% { transform: scale(1.04, .96) rotate(-2deg); } 55% { transform: scale(.97, 1.04) rotate(2deg); } }

/* כתובית: בועת דיבור מעל הראש */
.sa-cap {
  position: absolute; z-index: 5; left: 50%; top: 1%; transform: translate(-50%, -100%); width: max-content; max-width: 150%;
  background: var(--paper, #fff); color: var(--ink, #1d1a2b); border: 3px solid var(--ink, #1d1a2b);
  border-radius: 22px 16px 24px 14px; padding: 10px 20px 12px; font: 900 27px/1.3 var(--f); text-align: center; direction: rtl;
  box-shadow: 0 0 0 4px #fff, 4px 6px 0 4px rgba(29,26,43,.88); pointer-events: none;
}
.sa-cap::after { content: ''; position: absolute; left: 50%; bottom: -17px; margin-left: -12px; border: 12px solid transparent; border-top: 15px solid var(--ink, #1d1a2b); border-bottom: 0; }
.sa-cap.pop { animation: capPop .32s var(--pop); }
@keyframes capPop { from { transform: translate(-50%, -100%) scale(.7); opacity: .3; } }
.brief-actor .sa-cap { display: none; }            /* בתדריך הכתובית נכנסת לבועה הגדולה */
.bubble-text.pop { animation: txtPop .3s var(--pop); }
@keyframes txtPop { from { transform: scale(.94); opacity: .4; } }

/* "לחצו עליי!" — מדבקה קטנה ליד הראש */
.sa-hint {
  position: absolute; z-index: 5; top: 7%; right: -4%; white-space: nowrap; pointer-events: none;
  background: var(--sh-teal, #0AA0B4); color: #fff; border: 3px solid var(--ink, #1d1a2b); border-radius: 16px 12px 18px 10px;
  padding: 6px 16px 8px; font: 900 26px/1.1 var(--f); rotate: 7deg;
  text-shadow: -2px -2px 0 #1d1a2b, 2px -2px 0 #1d1a2b, -2px 2px 0 #1d1a2b, 2px 2px 0 #1d1a2b;
  box-shadow: 0 0 0 4px #fff, 4px 6px 0 4px rgba(29,26,43,.88);
}
.sa-hint.pop { animation: hintPop .5s var(--pop), hintBob 1.2s .5s ease-in-out infinite; }
@keyframes hintPop { from { transform: scale(0) rotate(-20deg); } }
@keyframes hintBob { 50% { transform: translateY(-8px); } }
.sol-actor.sa-mute .sa-hint { display: none !important; }

/* סימן "מדבר" — גלי קול קטנים ליד הכומתה */
.sol-actor.talking::after {
  content: ''; position: absolute; z-index: 5; top: 10%; left: 12%; width: 46px; height: 34px; pointer-events: none;
  background: linear-gradient(var(--sh-yellow, #FDB515), var(--sh-yellow, #FDB515)) 0 50% / 7px 40% no-repeat,
              linear-gradient(var(--sh-pink, #E8285E), var(--sh-pink, #E8285E)) 13px 50% / 7px 80% no-repeat,
              linear-gradient(var(--sh-teal, #0AA0B4), var(--sh-teal, #0AA0B4)) 26px 50% / 7px 60% no-repeat,
              linear-gradient(var(--sh-lime, #B9CB31), var(--sh-lime, #B9CB31)) 39px 50% / 7px 30% no-repeat;
  animation: eqTalk .5s ease-in-out infinite alternate; filter: drop-shadow(2px 2px 0 #1d1a2b);
}
@keyframes eqTalk { to { transform: scaleY(.55) translateY(3px); } }

/* התדריך היומי */
.brief-sol .sol-actor { height: 100%; width: auto; aspect-ratio: 720 / 900; max-height: 540px; }
.brief-sol .sa-hint { font-size: 22px; }
