/* START NUDGE — Buy/Short pressed while the replay isn't playing (js/trading.js
   showStartNudge). Points at the Start/Resume button instead of a generic toast:
   a pulse ring on the button + a small bubble saying why nothing happened. */
.s8-nudge{position:fixed;z-index:2200;left:0;top:0;width:max-content;max-width:min(260px,calc(100vw - 24px));padding:var(--s8-3) var(--s8-4);border:1px solid var(--s8-accent-line);border-radius:var(--s8-r);background:var(--s8-panel-2);box-shadow:var(--s8-pop);color:var(--s8-fg);pointer-events:none;opacity:0;transform:translateY(var(--s8-nudge-dy,6px));transition:opacity var(--s8-t-slow) var(--s8-ease),transform var(--s8-t-slow) var(--s8-ease)}
.s8-nudge.is-shown{opacity:1;transform:none}
.s8-nudge__title{display:flex;align-items:center;gap:var(--s8-2);margin:0;font-size:var(--s8-fs-sm);font-weight:600;line-height:var(--s8-lh-tight)}
.s8-nudge__title svg{width:14px;height:14px;flex:none;stroke:var(--s8-accent-hi);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.s8-nudge__body{margin:4px 0 0;font-size:var(--s8-fs-xs);line-height:var(--s8-lh);color:var(--s8-fg-2)}
/* arrow toward the button; --s8-nudge-ax = its x inside the bubble */
.s8-nudge::after{content:"";position:absolute;left:var(--s8-nudge-ax,50%);width:10px;height:10px;margin-left:-5px;background:var(--s8-panel-2);border:1px solid var(--s8-accent-line);transform:rotate(45deg)}
.s8-nudge.is-above::after{bottom:-6px;border-top:0;border-left:0}
.s8-nudge.is-below{--s8-nudge-dy:-6px}
.s8-nudge.is-below::after{top:-6px;border-bottom:0;border-right:0}

.s8-nudge-target{animation:s8-nudge-ring 1.1s var(--s8-ease) 3}
@keyframes s8-nudge-ring{0%{box-shadow:0 0 0 0 var(--s8-accent-line)}70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}}

@media (prefers-reduced-motion:reduce){
  .s8-nudge{transition:none}
  .s8-nudge-target{animation:none;outline:2px solid var(--s8-accent-hi);outline-offset:2px}
}
