/* Small schematic marginalia for research pages. No market state lives here. */
#pageroot .research-title { display:flex; align-items:center; gap:14px; }
#pageroot .research-title > h1 { flex:1; min-width:0; }
#pageroot .research-moment {
  display:inline-flex; width:112px; height:48px; flex:0 0 auto;
  vertical-align:middle; pointer-events:none; color:var(--duck-deep, #076347);
}
#pageroot .research-moment > svg { display:block; width:100%; height:100%; overflow:visible; }
/* The analyst header also sizes its standalone model logo. Keep that rule
   from shrinking this entire illustration to the logo's square. */
#pageroot[data-page="analyst"] .prohero .research-moment > svg { width:100%; height:100%; }
#pageroot .research-moment path { fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
#pageroot .research-moment rect { fill:#f3f7f1; stroke:#bdcfbf; stroke-width:1.2; }
#pageroot .research-moment .rm-sheet-middle rect { fill:#e9f0e5; }
#pageroot .research-moment .rm-sheet-front rect { fill:#fff; }
#pageroot .research-moment .rm-reading-dot { fill:#d8ef8c; stroke:currentColor; stroke-width:1.2; }
#pageroot .research-moment .rm-guide { stroke:#d3dfd4; }
#pageroot .research-moment .rm-model circle { fill:#fff; stroke:#d3dfd4; stroke-width:1.2; }
#pageroot .research-moment use { stroke:none; }
#pageroot .research-moment .rm-scan { stroke:#9fbf65; stroke-width:2; opacity:0; }
#pageroot .research-moment .rm-comparison { stroke:#8ea993; }
#pageroot .research-moment .rm-rating-marker circle { fill:#d8ef8c; stroke:currentColor; stroke-width:1.3; }
#pageroot .research-moment .rm-rating-link { stroke:#a4b8a8; }
#pageroot .research-moment .rm-lens circle { fill:#edf5e4; fill-opacity:.8; stroke:currentColor; stroke-width:1.5; }
#pageroot .research-moment .rm-lens path { stroke-width:3; }
#pageroot .research-moment .rm-evidence-rule { stroke:#bddc79; stroke-width:4; opacity:.65; }
#pageroot[data-page="analyst"] .prohero > .research-moment { margin-left:auto; }
#pageroot[data-page="symbol"] .symhero > .research-moment { width:88px; height:38px; align-self:center; }

/* Playback is armed once on viewport entry by OrderExamples. The last frame
   leaves complete documents and neutral marks, including when JS is absent. */
#pageroot .rm-outlook.is-playing .rm-sheet-back { animation:rm-sheet-back 1.4s ease-out both; }
#pageroot .rm-outlook.is-playing .rm-sheet-middle { animation:rm-sheet-middle 1.4s .3s ease-out both; }
#pageroot .rm-outlook.is-playing .rm-sheet-front { animation:rm-sheet-front 1.4s .6s ease-out both; }
#pageroot .rm-outlook.is-playing .rm-reading-dot { animation:rm-read-page 1.8s 1.5s ease-in-out both; }
#pageroot .rm-signals.is-playing .rm-scan { animation:rm-signal-scan 3s ease-in-out both; }
#pageroot .rm-signals.is-playing .rm-model-a circle { animation:rm-model-read .9s .3s ease-out; }
#pageroot .rm-signals.is-playing .rm-model-b circle { animation:rm-model-read .9s 1.1s ease-out; }
#pageroot .rm-signals.is-playing .rm-model-c circle { animation:rm-model-read .9s 1.9s ease-out; }
#pageroot .rm-arena.is-playing .rm-comparison { stroke-dasharray:90; animation:rm-compare 1.8s ease-out both; }
#pageroot .rm-arena.is-playing .rm-comparison-b { animation-delay:.3s; }
#pageroot .rm-arena.is-playing .rm-comparison-c { animation-delay:.6s; }
#pageroot .rm-arena.is-playing .rm-bracket { animation:rm-compare-bracket 1s 2.1s ease-out; }
#pageroot .rm-symbol.is-playing .rm-model circle { animation:rm-model-read 1.1s ease-out; }
#pageroot .rm-symbol.is-playing .rm-model-b circle { animation-delay:.5s; }
#pageroot .rm-symbol.is-playing .rm-rating-link { stroke-dasharray:90; animation:rm-compare 1.8s .7s ease-out both; }
#pageroot .rm-symbol.is-playing .rm-rating-marker { animation:rm-marker-read 1.1s 2s ease-in-out; }
#pageroot .rm-analyst.is-playing .rm-report { animation:rm-report-open 1.1s ease-out; }
#pageroot .rm-analyst.is-playing .rm-evidence-rule { animation:rm-evidence-read 1.7s .8s ease-in-out; }
#pageroot .rm-analyst.is-playing .rm-lens { animation:rm-lens-read 2.4s .5s ease-in-out; }
@keyframes rm-sheet-back { from { transform:translate(10px,-3px) rotate(5deg); } to { transform:none; } }
@keyframes rm-sheet-middle { from { transform:translate(5px,-2px); } to { transform:none; } }
@keyframes rm-sheet-front { from { transform:translate(-6px,2px); } to { transform:none; } }
@keyframes rm-read-page { 25% { transform:translateY(-6px); } 70% { transform:translateY(7px); } }
@keyframes rm-signal-scan { 0% { transform:translateX(0); opacity:0; } 12%,85% { opacity:.8; } 100% { transform:translateX(92px); opacity:0; } }
@keyframes rm-model-read { 45% { fill:#e6f2d3; stroke:#89aa66; } }
@keyframes rm-compare { from { stroke-dashoffset:90; } to { stroke-dashoffset:0; } }
@keyframes rm-compare-bracket { 45% { stroke:#99b75a; transform:translateX(2px); } }
@keyframes rm-marker-read { 45% { transform:translateX(3px); } }
@keyframes rm-report-open { from { transform:translateX(-5px); } to { transform:none; } }
@keyframes rm-evidence-read { 45% { stroke-width:7; opacity:.9; } }
@keyframes rm-lens-read { 35% { transform:translate(-8px,3px); } 70% { transform:translate(-3px,8px); } }
@media (max-width:560px) {
  #pageroot .research-title { gap:8px; }
  #pageroot .research-moment { width:64px; height:32px; }
  #pageroot[data-page="symbol"] .symhero > .research-moment { width:64px; height:32px; }
}
@media (prefers-reduced-motion:reduce) {
  #pageroot .research-moment * { animation:none !important; transition:none !important; }
}
