/* Optional, pausable presentation motion. All market/operation state remains in its original code. */
.cinematic-heading { position: relative; }
.cinematic-heading .accent { color: #c5b5ed; text-shadow: 0 0 32px #a997e615; }
.cinematic-heading::after { content: ""; display: block; width: 68px; height: 2px; margin-top: 20px; background: linear-gradient(90deg, #b6a2e6, #8cc4cc66, transparent); transform-origin: left center; opacity: .75; }
.cinematic-heading.is-cinematic-visible { animation: presentation-heading-reveal .7s cubic-bezier(.19, 1, .22, 1) both; }
.cinematic-heading.is-cinematic-visible::after { animation: presentation-heading-line .95s cubic-bezier(.19, 1, .22, 1) both; }
@keyframes presentation-heading-reveal { from { opacity: .65; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes presentation-heading-line { from { opacity: .2; transform: scaleX(.15); } to { opacity: .75; transform: scaleX(1); } }

.broker-motion-shell { position: relative; min-width: 0; max-width: 100%; }
.broker-motion-viewport { position: relative; overflow: hidden; padding: 15px 0 20px; border-block: 1px solid #a8b9d016; isolation: isolate; }
.broker-motion-viewport::before, .broker-motion-viewport::after { content: ""; pointer-events: none; position: absolute; top: 0; bottom: 0; width: 52px; z-index: 2; }
.broker-motion-viewport::before { left: 0; background: linear-gradient(90deg, #0b121c, #0b121c00); }
.broker-motion-viewport::after { right: 0; background: linear-gradient(270deg, #0b121c, #0b121c00); }
.broker-motion-track { display: flex; width: max-content; animation: presentation-broker-loop 86s linear infinite; animation-play-state: paused; will-change: transform; }
.broker-motion-group { display: flex; gap: 12px; padding-right: 12px; align-items: stretch; }
.broker-motion-card { position: relative; display: flex; align-items: center; flex: 0 0 205px; min-height: 91px; gap: 13px; width: 205px; padding: 15px 17px; overflow: hidden; border: 1px solid #a7a4ca37; border-radius: 15px; background: radial-gradient(ellipse at 0 0, #9880ca17, transparent 72%), linear-gradient(145deg, #172132, #101824); box-shadow: inset 0 1px #ffffff05, 0 10px 23px #00000024; }
.broker-motion-card::after { content: ""; position: absolute; right: -33px; bottom: -42px; width: 89px; height: 89px; border: 1px solid #b6a2e615; border-radius: 50%; pointer-events: none; }
.broker-motion-card img { display: block; width: 48px; height: 48px; flex-shrink: 0; object-fit: contain; border-radius: 50%; background: #080e19; border: 1px solid #a4afc226; padding: 2px; }
.broker-motion-card img[hidden] { display: none; }
.broker-motion-copy { min-width: 0; }
.broker-motion-copy strong { display: block; color: #e6e8f2; font-size: 13px; line-height: 1.4; font-weight: 650; white-space: nowrap; }
.broker-motion-copy small { display: block; margin-top: 6px; color: #93a6be; font-size: 8px; line-height: 1.4; font-weight: 550; letter-spacing: .07em; }
.broker-motion-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 12px 0 19px; }
.motion-explainer { margin: 0; max-width: 700px; color: #9eacc1; font-size: 11px; line-height: 1.8; }
.motion-toggle { flex-shrink: 0; min-height: 43px; padding: 9px 13px; border: 1px solid #a394c749; border-radius: 8px; background: #151d2b; color: #d0c2ea; font: 550 11px/1.5 Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; cursor: pointer; }
.motion-toggle:hover { background: #24283b; border-color: #b4a2d26d; }
.motion-toggle[aria-pressed="true"] { color: #e1d6f3; background: #a790ca1a; }
.motion-toggle:disabled { color: #a4b2c7; cursor: default; background: #111925; border-color: #9aabc22c; }
.broker-full-list { padding: 0; border-top: 1px solid #adbad51e; }
.broker-full-list > summary { display: flex; align-items: center; justify-content: space-between; gap: 15px; list-style: none; min-height: 56px; padding: 13px 0; cursor: pointer; color: #ccbedf; font-size: 12px; font-weight: 550; }
.broker-full-list > summary::-webkit-details-marker { display: none; }
.broker-full-list > summary::after { content: "+"; font-size: 20px; line-height: 1; font-weight: 400; color: #ad9ccb; }
.broker-full-list[open] > summary::after { content: "−"; }
.broker-full-list .verified-brokers { margin-top: 8px; }
.broker-motion-shell[data-motion-running="true"] .broker-motion-track { animation-play-state: running; }
.broker-motion-shell[data-motion-running="false"] .broker-motion-track { will-change: auto; }
@keyframes presentation-broker-loop { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* The sweep is a decorative SVG layer behind the original labels and locked route state. */
.radar-cinematic { position: relative; isolation: isolate; background: radial-gradient(ellipse at 50% 41%, #5d54803c, transparent 66%), #0e1623; border-color: #a49cbf49; box-shadow: inset 0 1px #c6bcdf06, 0 22px 56px #00000022; }
.radar-cinematic #analysisRadar { max-width: 370px; margin: 20px auto 16px; overflow: visible; }
.radar-presentation-art, .radar-presentation-highlights { pointer-events: none; }
.radar-presentation-sweep { transform-box: view-box; transform-origin: 180px 161px; animation: presentation-radar-sweep 12s linear infinite; animation-play-state: paused; }
.radar-presentation-light { opacity: 0; animation: presentation-radar-light 12s linear infinite; animation-delay: var(--criterion-delay, 0s); animation-play-state: paused; }
.radar-presentation-label { fill: #d5c8f0; font-size: 8px; letter-spacing: .05em; }
.radar-cinematic[data-motion-running="true"] .radar-presentation-sweep, .radar-cinematic[data-motion-running="true"] .radar-presentation-light { animation-play-state: running; }
.radar-cinematic[data-motion-running="true"] .radar-presentation-sweep { will-change: transform; }
.radar-motion-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 15px 0; margin-bottom: 12px; border-top: 1px solid #ada2c831; border-bottom: 1px solid #9caecb19; }
.radar-motion-copy { min-width: 0; }
.radar-motion-copy strong { display: block; color: #bfb0d6; font-size: 9px; line-height: 1.65; font-weight: 600; letter-spacing: .08em; }
.radar-motion-copy small { display: block; margin-top: 5px; color: #9dacbf; font-size: 10px; line-height: 1.7; }
.radar-motion-toolbar .motion-toggle { font-size: 10px; padding-inline: 12px; min-height: 42px; }
.radar-cinematic .radar-legend { gap: 14px; flex-wrap: wrap; color: #b5afc4; }
.radar-cinematic > p { color: #a5b4c9; }
@keyframes presentation-radar-sweep { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes presentation-radar-light { 0%, 17%, 100% { opacity: 0; } 4% { opacity: .9; } 12% { opacity: .22; } }

@media (max-width: 850px) {
  .radar-cinematic #analysisRadar { max-width: 360px; }
  .radar-motion-toolbar { max-width: 580px; margin-inline: auto; }
}
@media (max-width: 600px) {
  .cinematic-heading::after { width: 54px; margin-top: 17px; }
  .broker-motion-viewport { padding-block: 12px 16px; }
  .broker-motion-viewport::before, .broker-motion-viewport::after { width: 24px; }
  .broker-motion-group { gap: 10px; padding-right: 10px; }
  .broker-motion-card { min-height: 83px; flex-basis: 178px; width: 178px; padding: 13px; gap: 10px; border-radius: 13px; }
  .broker-motion-card img { width: 42px; height: 42px; }
  .broker-motion-copy strong { font-size: 12px; }
  .broker-motion-copy small { font-size: 7px; }
  .broker-motion-toolbar { gap: 13px; margin-top: 11px; margin-bottom: 13px; }
  .motion-explainer { font-size: 10px; line-height: 1.7; }
  .motion-toggle { font-size: 10px; min-height: 44px; padding-inline: 10px; }
  .broker-full-list > summary { font-size: 11px; min-height: 54px; }
  .radar-cinematic #analysisRadar { margin-top: 16px; }
  .radar-motion-toolbar { align-items: flex-start; gap: 11px; padding-block: 14px; }
  .radar-motion-copy strong { font-size: 8px; letter-spacing: .04em; }
  .radar-motion-copy small { font-size: 9px; }
  .radar-motion-toolbar .motion-toggle { font-size: 9px; min-height: 44px; padding-inline: 9px; }
}
@media (max-width: 360px) {
  .broker-motion-toolbar { align-items: flex-start; flex-direction: column; gap: 9px; }
  .broker-motion-toolbar .motion-toggle { align-self: flex-end; }
  .radar-motion-toolbar { flex-direction: column; }
  .radar-motion-toolbar .motion-toggle { align-self: flex-end; }
}
@media (prefers-reduced-motion: reduce) {
  .cinematic-heading, .cinematic-heading::after { animation: none !important; transform: none; opacity: 1; }
  .broker-motion-viewport, .broker-motion-toolbar { display: none; }
  .broker-full-list { border-top: 0; }
  .broker-full-list > summary { cursor: pointer; }
  .broker-motion-track { animation: none !important; transform: none; will-change: auto; }
  .radar-presentation-sweep, .radar-presentation-highlights { display: none; animation: none !important; }
  .radar-presentation-light { animation: none !important; opacity: 0; }
}
@media print {
  .cinematic-heading, .cinematic-heading::after { animation: none; transform: none; opacity: 1; }
  .broker-motion-viewport, .broker-motion-toolbar, .radar-motion-toolbar, .radar-presentation-sweep, .radar-presentation-highlights { display: none; }
  .broker-full-list > .verified-brokers { display: grid !important; }
}
