/* STX+ v115: premium tile artwork. Same soft, faded language as the Conviction Score tile.
   Each tile has its own accent (--c) and its own kind of motion. */
#alerts .premium-item.has-art{--c:#6fa2ff}
#alerts .premium-item.has-art > .pi-art{
  opacity:1!important;height:200px;
  -webkit-mask-image:radial-gradient(ellipse 92% 100% at 50% 22%,#000 38%,transparent 92%),linear-gradient(180deg,#000 52%,transparent 96%);
  mask-image:radial-gradient(ellipse 92% 100% at 50% 22%,#000 38%,transparent 92%),linear-gradient(180deg,#000 52%,transparent 96%);
  -webkit-mask-composite:source-in;mask-composite:intersect}
#alerts .premium-item.has-art{padding-top:164px!important}
#alerts .premium-item.has-art:hover > .pi-art{opacity:1!important}
.pi-art .pm-ln{fill:none;stroke:rgba(255,255,255,.08);stroke-width:1}
.pi-art .pm-tk{stroke:rgba(255,255,255,.14);stroke-width:1}
.pi-art .pm-dim{fill:none;stroke:rgba(255,255,255,.1);stroke-width:1;stroke-dasharray:2 5}
.pi-art .pm-c{fill:var(--c)}
.pi-art .pm-s{fill:none;stroke:var(--c);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.pi-art .pm-t{fill:none;stroke:var(--c);stroke-width:1.2;stroke-linecap:round;opacity:.45}
html[data-theme="light"] .pi-art .pm-ln{stroke:rgba(10,20,40,.09)}
html[data-theme="light"] .pi-art .pm-tk{stroke:rgba(10,20,40,.16)}
html[data-theme="light"] .pi-art .pm-dim{stroke:rgba(10,20,40,.14)}
html[data-theme="light"] #alerts .premium-item.has-art > .pi-art{opacity:.8!important}
/* animations only run while the tile is on screen */
.premium-item:not(.pm-on) .pi-art *{animation-play-state:paused!important}
.pi-art svg *{transform-box:fill-box;transform-origin:center}

/* 1. Lobbying Tracker: spend climbing, drawn in one slow stroke */
.pm-rise{stroke-dasharray:420;stroke-dashoffset:420;animation:pmRise 9s cubic-bezier(.45,0,.25,1) infinite}
@keyframes pmRise{0%{stroke-dashoffset:420;opacity:0}8%{opacity:1}55%,80%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
.pm-area{opacity:0;animation:pmArea 9s ease-in-out infinite}
@keyframes pmArea{0%,10%{opacity:0}55%,80%{opacity:1}100%{opacity:0}}
.pm-bar{transform-origin:50% 100%;transform:scaleY(.3);animation:pmBar 9s cubic-bezier(.3,.7,.2,1) infinite}
@keyframes pmBar{0%{transform:scaleY(.25)}55%,80%{transform:scaleY(1)}100%{transform:scaleY(.25)}}
.pm-endpt{opacity:0;animation:pmEnd 9s ease-in-out infinite}
@keyframes pmEnd{0%,50%{opacity:0;transform:scale(.4)}60%,80%{opacity:1;transform:scale(1)}100%{opacity:0}}

/* 2. Ripple Finder: rings spread outward and wake the suppliers they reach */
.pm-wave{fill:none;stroke:var(--c);stroke-width:1.2;opacity:0;animation:pmWave 6s cubic-bezier(.2,.5,.3,1) infinite}
@keyframes pmWave{0%{transform:scale(.08);opacity:.65}100%{transform:scale(1);opacity:0}}
.pm-node{opacity:.25;animation:pmNode 2s ease-out infinite}
@keyframes pmNode{0%,8%{opacity:.25;transform:scale(1)}18%{opacity:1;transform:scale(1.6)}55%,100%{opacity:.25;transform:scale(1)}}

/* 3. Cluster Radar: slow sweep, insiders light up as it passes */
.pm-sweep{transform-origin:150px 130px!important;transform-box:view-box!important;animation:pmSpin 12s linear infinite}
@keyframes pmSpin{to{transform:rotate(360deg)}}
.pm-ins{animation:pmIns 12s ease-out infinite}
@keyframes pmIns{0%{opacity:.25}4%{opacity:1;transform:scale(1.6)}30%,100%{opacity:.3;transform:scale(1)}}
.pm-hull{opacity:.15;animation:pmHull 12s ease-in-out infinite}
@keyframes pmHull{0%,100%{opacity:.12}50%{opacity:.5}}

/* 4. Dark Pool Intelligence: layers of liquidity drifting at different depths */
.pm-drift{animation:pmDrift 22s linear infinite}
.pm-drift.b{animation-duration:34s;animation-direction:reverse}
.pm-drift.c{animation-duration:48s}
@keyframes pmDrift{to{transform:translateX(-120px)}}
.pm-vol{transform-origin:50% 100%;animation:pmVol 7s ease-in-out infinite}
@keyframes pmVol{0%,100%{transform:scaleY(.35);opacity:.2}50%{transform:scaleY(1);opacity:.6}}

/* 5. Shark Tracker: a fin cruises the surface, its wake trailing behind */
.pm-fin{animation:pmFin 15s linear infinite}
@keyframes pmFin{0%{transform:translateX(-90px)}100%{transform:translateX(390px)}}
.pm-ping{transform-origin:center;animation:pmPing 3s ease-out infinite}
@keyframes pmPing{0%{transform:scale(.4);opacity:.6}100%{transform:scale(2.6);opacity:0}}
.pm-surf{animation:pmSurf 5s ease-in-out infinite alternate}
@keyframes pmSurf{from{transform:translateY(-1.5px)}to{transform:translateY(1.5px)}}

/* 6. R&D Velocity: a double helix that brightens as spend accelerates */
.pm-hx{animation:pmHx 4.4s ease-in-out infinite alternate}
@keyframes pmHx{from{transform:translateY(-34px)}to{transform:translateY(34px)}}
.pm-flow{animation:pmFlow 6s ease-in-out infinite}
@keyframes pmFlow{0%,100%{opacity:.25}50%{opacity:.9}}

@media(max-width:700px){
  #alerts .premium-item.has-art{padding-top:132px!important}
  #alerts .premium-item.has-art > .pi-art{height:168px}
}
@media(prefers-reduced-motion:reduce){
  .pi-art *{animation:none!important}
  .pm-rise,.pm-area,.pm-endpt{stroke-dashoffset:0!important;opacity:1!important}
  .pm-bar{transform:none!important}.pm-wave{opacity:.25!important;transform:scale(.5)!important}
}

/* v198 · Shark Tracker: a stake fills past the 5% line, a ping fires, then the price reacts */
.pi-art .sh-slot{fill:rgba(255,255,255,.06)}html[data-theme="light"] .pi-art .sh-slot{fill:rgba(10,20,40,.06)}
.sh-cell{opacity:0;animation:shCell 9s ease-out infinite}
@keyframes shCell{0%{opacity:0}5%,70%{opacity:.75}85%,100%{opacity:0}}
.pi-art .sh-lbl{font:700 10px Inter,sans-serif;fill:var(--c);letter-spacing:.06em}
.sh-ping{transform-box:fill-box;transform-origin:center;opacity:0;animation:shPing 9s ease-out infinite}
@keyframes shPing{0%,10%{opacity:0;transform:scale(.4)}12%{opacity:.8}24%{opacity:0;transform:scale(2.4)}100%{opacity:0}}
.sh-up{stroke-dasharray:260;stroke-dashoffset:260;animation:shUp 9s cubic-bezier(.45,0,.25,1) infinite}
@keyframes shUp{0%,22%{stroke-dashoffset:260;opacity:0}26%{opacity:.75}55%,78%{stroke-dashoffset:0;opacity:.75}90%,100%{stroke-dashoffset:0;opacity:0}}
@media(prefers-reduced-motion:reduce){.sh-cell{opacity:.75!important}.sh-up{stroke-dashoffset:0!important;opacity:.75!important}.sh-ping{display:none}}
