/* Imported Tracks artwork: shared geometry and per-track colors. */
.track-art-1 { margin:0;display:grid;border:1px solid rgba(46,115,174,.28);border-radius:12px;background:#f7f5fc;overflow:hidden }
.track-art-2 { display:grid;grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr);align-items:stretch;gap:0;padding:14px;min-height:214px }
.track-art-3 { display:grid;grid-template-rows:auto 1fr auto;gap:7px;min-width:0 }
.track-art-4 { font:600 10px/1.4 'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#2a689e }
.track-art-5 { width:100%;height:138px;display:block;overflow:hidden;align-self:center }
.track-art-6 { animation:om-scroll 11s linear infinite }
.track-art-7 { font:500 10px/1.4 'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em;color:#666b84 }
.track-art-8 { display:grid;justify-items:center;align-content:center;gap:5px }
.track-art-9 { width:44px;height:16px;display:block;overflow:visible }
.track-art-10 { animation:om-flow 2.6s cubic-bezier(.4,0,.6,1) infinite }
.track-art-11 { font:600 10px/1 'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em;color:#666b84;white-space:nowrap }
.track-art-12 { font:600 10px/1.4 'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#2a689e;text-align:right }
.track-art-13 { align-self:center;justify-self:end;width:100%;max-width:246px;position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:#fff;border:1px solid rgba(46,115,174,.22);border-radius:6px;padding:2px }
.track-art-14 { width:100%;aspect-ratio:90/66;object-fit:cover;border-radius:2px }
.track-art-15 { position:absolute;left:2px;top:2px;width:calc((100% - 4px - 4px)/3);height:calc((100% - 4px - 4px)/3);box-shadow:inset 0 0 0 2px #2e73ae;border-radius:3px;animation:om-ring 5.4s steps(1,end) infinite }
.track-art-16 { font:500 10px/1.4 'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em;color:#666b84;text-align:right }
.track-art-17 { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:9px 14px;border-top:1px solid rgba(46,115,174,.22);background:#fff }
.track-art-18 { font:600 10px/1.4 'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#666b84 }
.track-art-19 { font:700 10px/1.4 'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#2a689e }
.track-art-20 { margin:0;display:grid;border:1px solid rgba(74,143,76,.3);border-radius:12px;background:#f7f5fc;overflow:hidden }
.track-art-21 { font:600 10px/1.4 'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#3c7a3e }
.track-art-22 { animation:om-scroll 12s linear infinite }
.track-art-23 { animation:om-flow 2.2s cubic-bezier(.4,0,.6,1) infinite }
.track-art-24 { font:600 10px/1.4 'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#3c7a3e;text-align:right }
.track-art-25 { display:grid;gap:8px;align-self:center }
.track-art-26 { position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid rgba(74,143,76,.35);border-radius:5px;background:#fff;overflow:hidden }
.track-art-27 { position:relative;z-index:1;font:600 11px/1.2 'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;color:#07101f }
.track-art-28 { position:relative;z-index:1;font:600 11px/1.2 'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;color:#3c7a3e }
.track-art-29 { position:absolute;inset:0;background:rgba(74,143,76,.12);animation:om-sel 5.4s linear infinite }
.track-art-30 { position:absolute;left:0;bottom:0;width:100%;height:2px;background:#4a8f4c;transform-origin:left;animation:om-bar 5.4s cubic-bezier(.3,0,.4,1) infinite }
.track-art-31 { position:absolute;inset:0;background:rgba(74,143,76,.12);animation:om-sel 5.4s linear -1.8s infinite }
.track-art-32 { position:absolute;left:0;bottom:0;width:100%;height:2px;background:#4a8f4c;transform-origin:left;animation:om-bar 5.4s cubic-bezier(.3,0,.4,1) -1.8s infinite }
.track-art-33 { position:absolute;inset:0;background:rgba(74,143,76,.12);animation:om-sel 5.4s linear -3.6s infinite }
.track-art-34 { position:absolute;left:0;bottom:0;width:100%;height:2px;background:#4a8f4c;transform-origin:left;animation:om-bar 5.4s cubic-bezier(.3,0,.4,1) -3.6s infinite }
.track-art-35 { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:9px 14px;border-top:1px solid rgba(74,143,76,.22);background:#fff }
.track-art-36 { font:700 10px/1.4 'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#3c7a3e }
.track-art-37 { margin:0;display:grid;border:1px solid rgba(139,93,165,.28);border-radius:12px;background:#f7f5fc;overflow:hidden }
.track-art-38 { font:600 10px/1.4 'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#7d4f97 }
.track-art-39 { animation:om-scroll 14s linear infinite }
.track-art-40 { animation:om-flow 3s cubic-bezier(.4,0,.6,1) infinite }
.track-art-41 { font:600 10px/1.4 'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#7d4f97;text-align:right }
.track-art-42 { align-self:center;display:grid;grid-template-columns:30px minmax(0,1fr);gap:0 6px }
.track-art-43 { display:grid;grid-template-rows:repeat(4,1fr);justify-items:end;align-items:center;height:82px }
.track-art-44 { font:500 10px/1 'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.04em;color:#666b84 }
.track-art-45 { font:700 10px/1 'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.04em;color:#7d4f97 }
.track-art-46 { position:relative;padding-bottom:14px }
.track-art-47 { width:100%;height:82px;display:block }
.track-art-48 { position:absolute;left:0;top:0;bottom:14px;width:2px;background:#8b5da5;animation:om-sweep2 4.8s cubic-bezier(.35,0,.65,1) infinite }
.track-art-49 { position:absolute;left:43%;bottom:0;transform:translateX(-50%);font:700 10px/1.2 'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em;text-transform:uppercase;color:#7d4f97;white-space:nowrap }
.track-art-50 { position:absolute;right:0;bottom:0;font:500 10px/1.2 'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em;color:#666b84 }
.track-art-51 { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:9px 14px;border-top:1px solid rgba(139,93,165,.22);background:#fff }
.track-art-52 { font:700 10px/1.4 'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#7d4f97 }
.track-art-53 { margin:0;display:grid;border:1px solid rgba(201,123,62,.32);border-radius:12px;background:#f7f5fc;overflow:hidden }
.track-art-54 { font:600 10px/1.4 'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#a15b22 }
.track-art-55 { animation:om-scroll 9s linear infinite }
.track-art-56 { animation:om-flow 2s cubic-bezier(.4,0,.6,1) infinite }
.track-art-57 { font:600 10px/1.4 'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#a15b22;text-align:right }
.track-art-58 { align-self:center;position:relative;display:grid;place-items:center;padding:4px 6px;border:1px solid rgba(201,123,62,.28);border-radius:6px;background:#fff;min-height:176px }
.track-art-59 { width:100%;height:auto;max-height:170px;display:block }
.track-art-60 { position:absolute;left:8px;bottom:6px;font:500 10px/1 'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em;color:#a15b22;animation:om-soft 2.6s ease-in-out infinite }
.track-art-61 { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:9px 14px;border-top:1px solid rgba(201,123,62,.24);background:#fff }
.track-art-62 { font:700 10px/1.4 'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#a15b22 }

  @keyframes om-scroll { from { transform: translateX(0); } to { transform: translateX(-440px); } }
  @keyframes om-flow { 0% { transform: translateX(0); opacity: 0; } 16% { opacity: 1; } 78% { opacity: 1; } 100% { transform: translateX(30px); opacity: 0; } }
  @keyframes om-sweep2 { 0% { left: 0%; opacity: .3; } 76% { left: 43%; opacity: 1; } 90% { left: 43%; opacity: 1; } 92% { opacity: 0; } 100% { left: 0%; opacity: 0; } }
  @keyframes om-ring {
    0% { transform: translate(0, 0); }
    11.11% { transform: translate(100%, 0); }
    22.22% { transform: translate(200%, 0); }
    33.33% { transform: translate(0, 100%); }
    44.44% { transform: translate(100%, 100%); }
    55.55% { transform: translate(200%, 100%); }
    66.66% { transform: translate(0, 200%); }
    77.77% { transform: translate(100%, 200%); }
    88.88% { transform: translate(200%, 200%); }
    100% { transform: translate(0, 0); }
  }
  @keyframes om-sel { 0%, 22% { opacity: 1; } 33%, 100% { opacity: 0; } }
  @keyframes om-bar { 0% { transform: scaleX(.22); } 16% { transform: scaleX(.92); } 33%, 100% { transform: scaleX(.22); } }
  @keyframes om-soft { 0%, 100% { opacity: .32; } 50% { opacity: 1; } }

.track-motion-toggle { margin-top: 16px; }
.track-motion-toggle[hidden] { display: none; }
[data-track-figure] { min-width: 0; }
[data-track-figure] svg { max-width: 100%; display: block; }
[data-track-figure] img { display: block; height: auto; }
body:not([data-track-motion="alive"]) [data-track-figure] * { animation-play-state: paused; }
@media (max-width: 900px) {
  [data-figure-grid] { grid-template-columns: minmax(0, 1fr); row-gap: 14px; min-height: 0; }
  [data-figure-arrow] { grid-auto-flow: column; align-items: center; gap: 9px; justify-self: center; padding: 2px 0; }
  [data-figure-arrow] > svg { transform: rotate(90deg); width: 30px; height: 12px; }
  [data-gallery] { max-width: none; justify-self: stretch; }
}
@media (prefers-reduced-motion: reduce) {
  [data-track-figure] * { animation: none !important; transition: none !important; }
}
