/**
 * DataAssist-IO home — v2 sections (reel / ticker / bento).
 * index-v2 is a dark-designed page; here the sections are re-skinned to the
 * site's navy dark-band palette and scoped under .dhp-page. Light text + lifted
 * accents are kept (they read on dark); only the near-black canvas -> navy.
 */
.dhp-page .dhp-v2-sec,
.dhp-page .dhp-v2-band,
.dhp-page .dhp-v2-bentosec,
.dhp-page .dhp-v2-facts{
  --dhp-ink:#ecebf3; --dhp-muted:#a6a4b2; --dhp-line:#243044;
  --dhp-bg:#060d1a; --dhp-card:#0f172a; --dhp-tint:#0d1727;
  --dhp-blue:#7aadf2; --dhp-violet:#a9a1f2; --dhp-cyan:#5ad4e6; --dhp-green:#5cd0a4;
  --dhp-shadow:0 1px 2px rgba(0,0,0,.5); --dhp-shadow-lift:0 14px 38px rgba(0,0,0,.55);
  color:#ecebf3;
}
/* section backgrounds (site navy, subtle variation for depth between bands) */
.dhp-page #dhp-steps.dhp-v2-sec{background:linear-gradient(180deg,#060d1a,#08111f)}
.dhp-page .dhp-v2-bentosec{background:#060d1a}
.dhp-page .dhp-v2-facts{background:#0a1424}
/* reused section headers must read light on these dark bands */
.dhp-page .dhp-v2-sec .dhp-kicker .elementor-heading-title,
.dhp-page .dhp-v2-bentosec .dhp-kicker .elementor-heading-title{color:#a6a4b2}
.dhp-page .dhp-v2-sec .dhp-h2 .elementor-heading-title,
.dhp-page .dhp-v2-bentosec .dhp-h2 .elementor-heading-title{color:#ecebf3}
.dhp-page .dhp-v2-sec .dhp-lede p,
.dhp-page .dhp-v2-bentosec .dhp-lede p{color:#a6a4b2}

/* ===== transformed v2 section + component styles ===== */
  .dhp-page .dhp-v2-sec{position:relative;padding:110px 0;isolation:isolate}
  .dhp-page #dhp-steps{padding-top:96px}
  .dhp-page #dhp-steps::before{content:"";position:absolute;width:640px;height:640px;left:50%;top:-160px;
    transform:translateX(-50%);border-radius:50%;filter:blur(120px);z-index:-1;pointer-events:none;
    background:radial-gradient(circle,rgba(139,92,246,.10),transparent 70%)}
  .dhp-page #dhp-steps .dhp-h2{margin-bottom:34px}
  .dhp-page .dhp-v2-band{background:#0a1524;border-top:1px solid var(--dhp-line);
    border-bottom:1px solid var(--dhp-line);padding:0 0 24px}
  .dhp-page .dhp-v2-bandlink{text-align:center;font-size:14px;margin:14px 0 0}
  .dhp-page .dhp-v2-bandlink a{color:var(--dhp-blue);font-weight:700;text-decoration:none}
  .dhp-page .dhp-v2-bandlink a:hover{text-decoration:underline}
  .dhp-page .dhp-v2-bentosec::before{content:"";position:absolute;width:560px;height:560px;right:-200px;top:-140px;
    border-radius:50%;filter:blur(120px);z-index:-1;pointer-events:none;
    background:radial-gradient(circle,rgba(6,182,212,.09),transparent 70%)}
  .dhp-page .dhp-v2-bentosec::after{content:"";position:absolute;width:560px;height:560px;left:-220px;bottom:-160px;
    border-radius:50%;filter:blur(120px);z-index:-1;pointer-events:none;
    background:radial-gradient(circle,rgba(59,130,246,.09),transparent 70%)}
  .dhp-page .dhp-v2-bento{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .dhp-page .dhp-v2-card{background:var(--dhp-card);border:1px solid var(--dhp-line);border-radius:18px;
    box-shadow:var(--dhp-shadow);padding:24px 20px 14px;display:flex;flex-direction:column;
    justify-content:center;overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s}
  .dhp-page .dhp-v2-card:hover{transform:translateY(-3px);box-shadow:var(--dhp-shadow-lift);border-color:#2f3d54}
  .dhp-page .dhp-v2-cardwide{grid-column:1/-1;border-color:transparent;
    background:linear-gradient(var(--dhp-card),var(--dhp-card)) padding-box,
      linear-gradient(120deg,rgba(59,130,246,.5),rgba(139,92,246,.4) 50%,rgba(6,182,212,.5)) border-box}
  .dhp-page .dhp-v2-cardwide:hover{border-color:transparent}
  .dhp-page .dhp-v2-cardwide .dhp-v2a-expose{max-width:840px}
  .dhp-page .dhp-v2-cardtall{grid-row:span 2}
  @media (max-width:900px){.dhp-page .dhp-v2-bento{grid-template-columns:1fr}.dhp-page .dhp-v2-cardtall{grid-row:auto}
  }
  .dhp-page .dhp-v2-facts{background:var(--dhp-tint);border-top:1px solid var(--dhp-line);
    border-bottom:1px solid var(--dhp-line);padding:46px 0}
  .dhp-page .dhp-v2-factgrid{display:grid;grid-template-columns:repeat(4,1fr)}
  .dhp-page .dhp-v2-fact{display:flex;flex-direction:column;gap:5px;padding:4px 24px;border-left:1px solid var(--dhp-line)}
  .dhp-page .dhp-v2-fact:first-child{border-left:0;padding-left:0}
  .dhp-page .dhp-v2-fact .t{font-size:15.5px;font-weight:800;letter-spacing:-.01em;color:var(--dhp-ink)}
  .dhp-page .dhp-v2-fact .s{font-size:12.5px;color:var(--dhp-muted)}
  @media (max-width:860px){.dhp-page .dhp-v2-factgrid{grid-template-columns:repeat(2,1fr);row-gap:24px}.dhp-page .dhp-v2-fact:nth-child(3){border-left:0;padding-left:0}
  }
  @media (max-width:520px){.dhp-page .dhp-v2-factgrid{grid-template-columns:1fr;row-gap:18px}.dhp-page .dhp-v2-fact{border-left:0;padding:4px 0}
  }

  
.dhp-page .dhp-v2r-wrap{
    --dhp-v2r-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --dhp-v2r-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
    
    --dhp-v2r-ink:#ecebf3; --dhp-v2r-muted:#a6a4b2; --dhp-v2r-line:#2f3d54;
    --dhp-v2r-panel:#0f172a; --dhp-v2r-win:#131f38; --dhp-v2r-chipfill:#1e293b; --dhp-v2r-bub:#1e293b;
    --dhp-v2r-data:#7aadf2;  --dhp-v2r-data-tint:#172234;
    --dhp-v2r-store:#5ad4e6; --dhp-v2r-store-tint:#0d2b31;
    --dhp-v2r-hub:#a9a1f2;   --dhp-v2r-hub-tint:#1f1d31;
    --dhp-v2r-ok:#5cd0a4;    --dhp-v2r-ok-tint:#0e3128;
    --dhp-v2r-warn:#f0b268;  --dhp-v2r-warn-tint:#3a2a12;
    --dhp-v2r-no:#f08e93;    --dhp-v2r-no-tint:#3a191d;
  }
      .dhp-page .dhp-v2r-wrap{max-width:980px;margin:0 auto;padding:0;font-family:var(--dhp-v2r-font)}
  .dhp-page .dhp-v2r-wrap svg{display:block;width:100%;height:auto}
  .dhp-page .dhp-v2r-panelbg{fill:var(--dhp-v2r-panel);stroke:#243044;stroke-width:1}
  .dhp-page .dhp-v2r-card rect.box{filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
  .dhp-page .dhp-v2r-chip{fill:var(--dhp-v2r-chipfill);stroke:var(--dhp-v2r-line);stroke-width:1.25;filter:none}
  .dhp-page .dhp-v2r-stmt rect{filter:none}
  .dhp-page .dhp-v2r-brand{font-size:14px;font-weight:800;letter-spacing:-0.02em}
  .dhp-page .dhp-v2r-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;fill:var(--dhp-v2r-muted)}
  .dhp-page .dhp-v2r-word{font-size:13px;font-weight:600;fill:var(--dhp-v2r-ink)}
  .dhp-page .dhp-v2r-sub{font-size:9.5px;font-weight:400;fill:var(--dhp-v2r-muted)}
  .dhp-page .dhp-v2r-fact{font-size:8.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;fill:var(--dhp-v2r-hub)}
  .dhp-page .dhp-v2r-cap{font-size:11.5px;font-weight:500;fill:var(--dhp-v2r-ink)}
  .dhp-page .dhp-v2r-row{font-size:13px;font-weight:600;fill:var(--dhp-v2r-ink)}
  .dhp-page .dhp-v2r-row.off{fill:var(--dhp-v2r-muted);font-weight:500}
  .dhp-page .dhp-v2r-chiptext{font-size:11px;font-weight:500;fill:var(--dhp-v2r-muted)}
  .dhp-page .dhp-v2r-mcp{font-size:11px;font-weight:700;letter-spacing:.04em;fill:var(--dhp-v2r-hub)}
  .dhp-page .dhp-v2r-mono{font-family:var(--dhp-v2r-mono);font-size:10.5px;font-weight:600;fill:var(--dhp-v2r-ink)}
  .dhp-page .dhp-v2r-sql{font-family:var(--dhp-v2r-mono);font-size:12px;font-weight:600}
  .dhp-page .dhp-v2r-msg{font-size:12px;font-weight:500;fill:var(--dhp-v2r-ink)}
  .dhp-page .dhp-v2r-ins{font-size:12.5px;font-weight:600;fill:var(--dhp-v2r-ink)}
  .dhp-page .dhp-v2r-cell{font-size:11.5px;font-weight:600;fill:var(--dhp-v2r-ink)}
  .dhp-page .dhp-v2r-rev{font-size:11.5px;font-weight:700;fill:var(--dhp-v2r-ok)}
  .dhp-page .dhp-v2r-month{font-size:9.5px;font-weight:500;fill:var(--dhp-v2r-muted)}
  .dhp-page .dhp-v2r-vlab{font-size:10px;font-weight:500;fill:var(--dhp-v2r-muted)}
  .dhp-page .dhp-v2r-log{font-family:var(--dhp-v2r-mono);font-size:10px;font-weight:600;fill:var(--dhp-v2r-ink)}
  .dhp-page .dhp-v2r-who{font-size:9px;font-weight:400;fill:var(--dhp-v2r-muted)}
  .dhp-page .dhp-v2r-credit{font-size:7.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;fill:var(--dhp-v2r-hub)}
  .dhp-page .dhp-v2r-seg{font-size:10px;font-weight:700;letter-spacing:.06em;fill:var(--dhp-v2r-muted)}
  .dhp-page .dhp-v2r-segw{font-size:10px;font-weight:700;letter-spacing:.06em;fill:#ffffff}
  .dhp-page .dhp-v2r-icon{fill:none;stroke:var(--dhp-v2r-ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
  .dhp-page .dhp-v2r-conn{fill:none;stroke:var(--dhp-v2r-line);stroke-width:1.25;stroke-linecap:round}
  .dhp-page .dhp-v2r-lane{fill:none;stroke:url(#dhpV2rGrad);stroke-width:1.75;stroke-linecap:round}
  .dhp-page .dhp-v2r-rej{fill:none;stroke:var(--dhp-v2r-line);stroke-width:1.25;stroke-dasharray:4 6;stroke-linecap:round}
  .dhp-page .dhp-v2r-guardline{fill:none;stroke:var(--dhp-v2r-hub);stroke-width:1.25;stroke-dasharray:3 7;stroke-linecap:round;opacity:.55}
  .dhp-page .dhp-v2r-bar{fill:var(--dhp-v2r-data);transform-box:fill-box;transform-origin:50% 100%}
  
  .dhp-page .dhp-v2r-ch1, .dhp-page .dhp-v2r-ch2, .dhp-page .dhp-v2r-ch3, .dhp-page .dhp-v2r-ch4{transform-box:view-box;transform-origin:0 0}
  .dhp-page .dhp-v2r-ch1{transform:translate(6px,20px) scale(.5)}
  .dhp-page .dhp-v2r-ch2{transform:translate(438px,20px) scale(.5)}
  .dhp-page .dhp-v2r-ch3{transform:translate(6px,212px) scale(.5)}
  .dhp-page .dhp-v2r-ch4{transform:translate(438px,212px) scale(.5)}
  
  .dhp-page .dhp-v2r-prog{transform:scaleX(1);transform-box:fill-box;transform-origin:left center}
  
  .dhp-page .dhp-v2r-k1, .dhp-page .dhp-v2r-k2, .dhp-page .dhp-v2r-k3{transform:translateX(18px)}
  .dhp-page .dhp-v2r-clockfill{stroke-dasharray:100 100;stroke-dashoffset:14}
  
  .dhp-page .dhp-v2r-dot, .dhp-page .dhp-v2r-pop, .dhp-page .dhp-v2r-ring, .dhp-page .dhp-v2r-v1, .dhp-page .dhp-v2r-cover, .dhp-page .dhp-v2r-caret, .dhp-page .dhp-v2r-halo{opacity:0}
  .dhp-page .dhp-v2r-pop, .dhp-page .dhp-v2r-ring{fill:none;stroke-width:1.5;transform-box:fill-box;transform-origin:center}
  .dhp-page .dhp-v2r-v2, .dhp-page .dhp-v2r-aichip{transform-box:fill-box;transform-origin:center}
  .dhp-page .dhp-v2r-livedot{transform-box:fill-box;transform-origin:center}
  @media (prefers-reduced-motion: no-preference){
    
    @keyframes dhpV2rW1{0%{opacity:1;transform:translateY(0)}23.125%{opacity:1;transform:translateY(0)}25%{opacity:0;transform:translateY(-8px)}98.125%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}
    @keyframes dhpV2rW2{0%,23.125%{opacity:0;transform:translateY(8px)}25%{opacity:1;transform:translateY(0)}48.125%{opacity:1;transform:translateY(0)}50%{opacity:0;transform:translateY(-8px)}100%{opacity:0;transform:translateY(-8px)}}
    @keyframes dhpV2rW3{0%,48.125%{opacity:0;transform:translateY(8px)}50%{opacity:1;transform:translateY(0)}73.125%{opacity:1;transform:translateY(0)}75%{opacity:0;transform:translateY(-8px)}100%{opacity:0;transform:translateY(-8px)}}
    @keyframes dhpV2rW4{0%,73.125%{opacity:0;transform:translateY(8px)}75%{opacity:1;transform:translateY(0)}98.125%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-8px)}}.dhp-page .dhp-v2r-ch1{transform:none;animation:dhpV2rW1 32s ease-in-out infinite}.dhp-page .dhp-v2r-ch2{transform:none;animation:dhpV2rW2 32s ease-in-out infinite}.dhp-page .dhp-v2r-ch3{transform:none;animation:dhpV2rW3 32s ease-in-out infinite}.dhp-page .dhp-v2r-ch4{transform:none;animation:dhpV2rW4 32s ease-in-out infinite}
    
    @keyframes dhpV2rSg1{0%{opacity:1}23.125%{opacity:1}25%{opacity:0}98.125%{opacity:0}100%{opacity:1}}
    @keyframes dhpV2rSg2{0%,23.125%{opacity:0}25%{opacity:1}48.125%{opacity:1}50%{opacity:0}100%{opacity:0}}
    @keyframes dhpV2rSg3{0%,48.125%{opacity:0}50%{opacity:1}73.125%{opacity:1}75%{opacity:0}100%{opacity:0}}
    @keyframes dhpV2rSg4{0%,73.125%{opacity:0}75%{opacity:1}98.125%{opacity:1}100%{opacity:0}}.dhp-page .dhp-v2r-seg1{animation:dhpV2rSg1 32s ease-in-out infinite}.dhp-page .dhp-v2r-seg2{animation:dhpV2rSg2 32s ease-in-out infinite}.dhp-page .dhp-v2r-sg3a{animation:dhpV2rSg3 32s ease-in-out infinite}.dhp-page .dhp-v2r-seg4{animation:dhpV2rSg4 32s ease-in-out infinite}
    @keyframes dhpV2rP1{0%{transform:scaleX(0);opacity:1}23.125%{transform:scaleX(1)}98.125%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
    @keyframes dhpV2rP2{0%,25%{transform:scaleX(0);opacity:1}48.125%{transform:scaleX(1)}98.125%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
    @keyframes dhpV2rP3{0%,50%{transform:scaleX(0);opacity:1}73.125%{transform:scaleX(1)}98.125%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
    @keyframes dhpV2rP4{0%,75%{transform:scaleX(0);opacity:1}98.125%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}.dhp-page .dhp-v2r-pg1{animation:dhpV2rP1 32s linear infinite}.dhp-page .dhp-v2r-pg2{animation:dhpV2rP2 32s linear infinite}.dhp-page .dhp-v2r-pg3{animation:dhpV2rP3 32s linear infinite}.dhp-page .dhp-v2r-pg4{animation:dhpV2rP4 32s linear infinite}
    
    @keyframes dhpV2rDotA{0%,1.5%{transform:translate(0,0);opacity:0}2.2%{opacity:1}4.4%{transform:translate(54px,0);opacity:1}4.7%,100%{transform:translate(54px,0);opacity:0}}
    @keyframes dhpV2rPopT{0%,4.4%{opacity:0;transform:scale(.9)}5%{opacity:.55;transform:scale(1.1)}6.5%,100%{opacity:0;transform:scale(1.6)}}
    @keyframes dhpV2rV1{0%,4.6%{opacity:0}5.2%{opacity:1}7.8%{opacity:1}8.4%,100%{opacity:0}}
    @keyframes dhpV2rV2{0%,7.9%{opacity:0;transform:scale(.8)}8.8%{opacity:1;transform:scale(1)}96%{opacity:1;transform:scale(1)}97.5%,100%{opacity:0;transform:scale(.8)}}
    @keyframes dhpV2rDotB{0%,6.2%{transform:translate(0,0);opacity:0}6.9%{opacity:1}9.1%{transform:translate(136px,70px);opacity:1}9.4%,100%{transform:translate(136px,70px);opacity:0}}
    @keyframes dhpV2rPopH{0%,9.1%{opacity:0;transform:scale(.9)}9.7%{opacity:.55;transform:scale(1.05)}11%,100%{opacity:0;transform:scale(1.6)}}
    @keyframes dhpV2rSOut{0%,10%{transform:translate(0,0);opacity:0}10.6%{opacity:1}12.2%{transform:translate(-274px,0);opacity:1}12.5%,100%{transform:translate(-274px,0);opacity:0}}
    @keyframes dhpV2rSBack{0%,12.5%{transform:translate(0,0);opacity:0}13.1%{opacity:1}14.7%{transform:translate(274px,0);opacity:1}15%,100%{transform:translate(274px,0);opacity:0}}
    @keyframes dhpV2rPopS{0%,14.7%{opacity:0;transform:scale(.9)}15.3%{opacity:.55;transform:scale(1.05)}16.6%,100%{opacity:0;transform:scale(1.6)}}
    @keyframes dhpV2rLOut{0%,14.4%{transform:translate(0,0);opacity:0}15%{opacity:1}16.6%{transform:translate(-274px,42px);opacity:1}16.9%,100%{transform:translate(-274px,42px);opacity:0}}
    @keyframes dhpV2rLBack{0%,16.9%{transform:translate(0,0);opacity:0}17.5%{opacity:1}19.1%{transform:translate(274px,-42px);opacity:1}19.4%,100%{transform:translate(274px,-42px);opacity:0}}
    @keyframes dhpV2rPopL{0%,19.1%{opacity:0;transform:scale(.9)}19.7%{opacity:.55;transform:scale(1.05)}21%,100%{opacity:0;transform:scale(1.6)}}
    @keyframes dhpV2rCap1{0%,19.6%{opacity:0;transform:translateY(6px)}20.8%{opacity:1;transform:translateY(0)}96%{opacity:1;transform:translateY(0)}97.5%,100%{opacity:0;transform:translateY(6px)}}.dhp-page .dhp-v2r-da{animation:dhpV2rDotA 32s ease-in-out infinite}.dhp-page .dhp-v2r-db{animation:dhpV2rDotB 32s ease-in-out infinite}.dhp-page .dhp-v2r-so{animation:dhpV2rSOut 32s ease-in-out infinite}.dhp-page .dhp-v2r-sb{animation:dhpV2rSBack 32s ease-in-out infinite}.dhp-page .dhp-v2r-lo{animation:dhpV2rLOut 32s ease-in-out infinite}.dhp-page .dhp-v2r-lb{animation:dhpV2rLBack 32s ease-in-out infinite}.dhp-page .dhp-v2r-pt{animation:dhpV2rPopT 32s ease-out infinite}.dhp-page .dhp-v2r-ph{animation:dhpV2rPopH 32s ease-out infinite}.dhp-page .dhp-v2r-ps{animation:dhpV2rPopS 32s ease-out infinite}.dhp-page .dhp-v2r-pl{animation:dhpV2rPopL 32s ease-out infinite}.dhp-page .dhp-v2r-v1{animation:dhpV2rV1 32s ease-in-out infinite}.dhp-page .dhp-v2r-v2{animation:dhpV2rV2 32s cubic-bezier(.2,.9,.3,1) infinite}.dhp-page .dhp-v2r-cap1{animation:dhpV2rCap1 32s cubic-bezier(.2,.9,.3,1) infinite}
    
    @keyframes dhpV2rK1{0%,26.9%{transform:translateX(0)}28%{transform:translateX(18px)}100%{transform:translateX(18px)}}
    @keyframes dhpV2rK2{0%,29.4%{transform:translateX(0)}30.5%{transform:translateX(18px)}100%{transform:translateX(18px)}}
    @keyframes dhpV2rK3{0%,31.9%{transform:translateX(0)}33%{transform:translateX(18px)}100%{transform:translateX(18px)}}
    @keyframes dhpV2rT1{0%,26.9%{opacity:0}28%{opacity:1}100%{opacity:1}}
    @keyframes dhpV2rT2{0%,29.4%{opacity:0}30.5%{opacity:1}100%{opacity:1}}
    @keyframes dhpV2rT3{0%,31.9%{opacity:0}33%{opacity:1}100%{opacity:1}}
    @keyframes dhpV2rE1{0%,28%{opacity:0;transform:scale(.92)}29%{opacity:1;transform:scale(1.03)}29.8%{transform:scale(1)}100%{opacity:1;transform:scale(1)}}
    @keyframes dhpV2rE2{0%,30.5%{opacity:0;transform:scale(.92)}31.5%{opacity:1;transform:scale(1.03)}32.3%{transform:scale(1)}100%{opacity:1;transform:scale(1)}}
    @keyframes dhpV2rE3{0%,33%{opacity:0;transform:scale(.92)}34%{opacity:1;transform:scale(1.03)}34.8%{transform:scale(1)}100%{opacity:1;transform:scale(1)}}
    @keyframes dhpV2rTeam{0%,36.3%{opacity:0;transform:translateY(6px)}37.4%{opacity:1;transform:translateY(0)}100%{opacity:1;transform:translateY(0)}}
    @keyframes dhpV2rCap2{0%,40%{opacity:0;transform:translateY(6px)}41.2%{opacity:1;transform:translateY(0)}100%{opacity:1;transform:translateY(0)}}.dhp-page .dhp-v2r-k1{transform:translateX(0);animation:dhpV2rK1 32s cubic-bezier(.2,.9,.3,1) infinite}.dhp-page .dhp-v2r-k2{transform:translateX(0);animation:dhpV2rK2 32s cubic-bezier(.2,.9,.3,1) infinite}.dhp-page .dhp-v2r-k3{transform:translateX(0);animation:dhpV2rK3 32s cubic-bezier(.2,.9,.3,1) infinite}.dhp-page .dhp-v2r-t1{animation:dhpV2rT1 32s ease-in-out infinite}.dhp-page .dhp-v2r-t2{animation:dhpV2rT2 32s ease-in-out infinite}.dhp-page .dhp-v2r-t3{animation:dhpV2rT3 32s ease-in-out infinite}.dhp-page .dhp-v2r-e1{animation:dhpV2rE1 32s cubic-bezier(.2,.9,.3,1) infinite}.dhp-page .dhp-v2r-e2{animation:dhpV2rE2 32s cubic-bezier(.2,.9,.3,1) infinite}.dhp-page .dhp-v2r-e3{animation:dhpV2rE3 32s cubic-bezier(.2,.9,.3,1) infinite}.dhp-page .dhp-v2r-team{animation:dhpV2rTeam 32s cubic-bezier(.2,.9,.3,1) infinite}.dhp-page .dhp-v2r-cap2{animation:dhpV2rCap2 32s cubic-bezier(.2,.9,.3,1) infinite}
    
    @keyframes dhpV2rChk{0%,51.6%{opacity:0;transform:scale(.6)}52.4%{opacity:1;transform:scale(1)}100%{opacity:1;transform:scale(1)}}
    @keyframes dhpV2rTR1{0%,52.5%{opacity:0;transform:scale(.94)}53.1%{opacity:.5;transform:scale(1.1)}54.4%,100%{opacity:0;transform:scale(1.25)}}
    @keyframes dhpV2rTR2{0%,53.8%{opacity:0;transform:scale(.94)}54.4%{opacity:.5;transform:scale(1.1)}55.7%,100%{opacity:0;transform:scale(1.25)}}
    @keyframes dhpV2rQ{0%,54.7%{opacity:0;transform:translateY(6px)}55.6%{opacity:1;transform:translateY(0)}100%{opacity:1;transform:translateY(0)}}
    @keyframes dhpV2rCov{0%,55.3%{transform:translateX(0)}58.4%{transform:translateX(280px)}100%{transform:translateX(280px)}}
    @keyframes dhpV2rCar{0%,55%{opacity:0}55.4%,58.2%{opacity:1}58.8%,100%{opacity:0}}
    @keyframes dhpV2rIns{0%,59.4%{opacity:0;transform:translateY(5px)}60.4%{opacity:1;transform:translateY(0)}100%{opacity:1;transform:translateY(0)}}
    @keyframes dhpV2rR1{0%,60.9%{opacity:0;transform:translateY(4px)}61.9%{opacity:1;transform:translateY(0)}100%{opacity:1;transform:translateY(0)}}
    @keyframes dhpV2rR2{0%,62.2%{opacity:0;transform:translateY(4px)}63.2%{opacity:1;transform:translateY(0)}100%{opacity:1;transform:translateY(0)}}
    @keyframes dhpV2rGr{0%,63.1%{opacity:0}64.1%{opacity:1}100%{opacity:1}}
    @keyframes dhpV2rB1{0%,64%{transform:scaleY(0)}65.6%{transform:scaleY(1)}100%{transform:scaleY(1)}}
    @keyframes dhpV2rB2{0%,65.3%{transform:scaleY(0)}66.9%{transform:scaleY(1)}100%{transform:scaleY(1)}}
    @keyframes dhpV2rB3{0%,66.6%{transform:scaleY(0)}68.2%{transform:scaleY(1)}100%{transform:scaleY(1)}}
    @keyframes dhpV2rBL{0%,68.4%{opacity:0}69.4%{opacity:1}100%{opacity:1}}
    @keyframes dhpV2rCap3{0%,69.7%{opacity:0;transform:translateY(6px)}70.9%{opacity:1;transform:translateY(0)}100%{opacity:1;transform:translateY(0)}}.dhp-page .dhp-v2r-chk{animation:dhpV2rChk 32s cubic-bezier(.2,.9,.3,1) infinite;transform-box:fill-box;transform-origin:center}.dhp-page .dhp-v2r-tr1{animation:dhpV2rTR1 32s ease-out infinite}.dhp-page .dhp-v2r-tr2{animation:dhpV2rTR2 32s ease-out infinite}.dhp-page .dhp-v2r-q{animation:dhpV2rQ 32s cubic-bezier(.2,.9,.3,1) infinite}.dhp-page .dhp-v2r-cover{opacity:1;animation:dhpV2rCov 32s ease-in-out infinite}.dhp-page .dhp-v2r-caret{animation:dhpV2rCar 32s linear infinite}.dhp-page .dhp-v2r-insl{animation:dhpV2rIns 32s cubic-bezier(.2,.9,.3,1) infinite}.dhp-page .dhp-v2r-r1{animation:dhpV2rR1 32s cubic-bezier(.2,.9,.3,1) infinite}.dhp-page .dhp-v2r-r2{animation:dhpV2rR2 32s cubic-bezier(.2,.9,.3,1) infinite}.dhp-page .dhp-v2r-gr{animation:dhpV2rGr 32s ease infinite}.dhp-page .dhp-v2r-b1{animation:dhpV2rB1 32s cubic-bezier(.2,.9,.3,1) infinite}.dhp-page .dhp-v2r-b2{animation:dhpV2rB2 32s cubic-bezier(.2,.9,.3,1) infinite}.dhp-page .dhp-v2r-b3{animation:dhpV2rB3 32s cubic-bezier(.2,.9,.3,1) infinite}.dhp-page .dhp-v2r-bl{animation:dhpV2rBL 32s ease infinite}.dhp-page .dhp-v2r-cap3{animation:dhpV2rCap3 32s cubic-bezier(.2,.9,.3,1) infinite}
    
    @keyframes dhpV2rDSel{0%,75.9%{transform:translateX(0);opacity:0}76.5%{opacity:1}78.6%{transform:translateX(250px);opacity:1}78.9%,100%{transform:translateX(250px);opacity:0}}
    @keyframes dhpV2rOK{0%,78.6%{opacity:0;transform:scale(.6)}79.4%{opacity:1;transform:scale(1)}100%{opacity:1;transform:scale(1)}}
    @keyframes dhpV2rLg1{0%,80%{opacity:0;transform:translateX(14px)}81.2%{opacity:1;transform:translateX(0)}100%{opacity:1;transform:translateX(0)}}
    @keyframes dhpV2rDUp{0%,81.2%{transform:translateX(0);opacity:0}81.9%{opacity:1}83.6%{transform:translateX(136px);opacity:1}84%{transform:translateX(136px);opacity:1}85.3%{transform:translateX(96px);opacity:1}85.8%,100%{transform:translateX(96px);opacity:0}}
    @keyframes dhpV2rX{0%,83.6%{opacity:0;transform:scale(.6)}84.4%{opacity:1;transform:scale(1)}100%{opacity:1;transform:scale(1)}}
    @keyframes dhpV2rLg2{0%,85.8%{opacity:0;transform:translateX(14px)}87%{opacity:1;transform:translateX(0)}100%{opacity:1;transform:translateX(0)}}
    @keyframes dhpV2rClk{0%,85.6%{stroke-dashoffset:100}89.4%{stroke-dashoffset:14}100%{stroke-dashoffset:14}}
    @keyframes dhpV2rTO{0%,89.4%{opacity:0;transform:scale(.95)}90.3%{opacity:1;transform:scale(1)}100%{opacity:1;transform:scale(1)}}
    @keyframes dhpV2rLg3{0%,90.6%{opacity:0;transform:translateX(14px)}91.8%{opacity:1;transform:translateX(0)}100%{opacity:1;transform:translateX(0)}}
    @keyframes dhpV2rCap4{0%,93.1%{opacity:0;transform:translateY(6px)}94.3%{opacity:1;transform:translateY(0)}100%{opacity:1;transform:translateY(0)}}.dhp-page .dhp-v2r-dsel{animation:dhpV2rDSel 32s ease-in-out infinite}.dhp-page .dhp-v2r-dup{animation:dhpV2rDUp 32s ease-in-out infinite}.dhp-page .dhp-v2r-ok4{animation:dhpV2rOK 32s cubic-bezier(.2,.9,.3,1) infinite;transform-box:fill-box;transform-origin:center}.dhp-page .dhp-v2r-x4{animation:dhpV2rX 32s cubic-bezier(.2,.9,.3,1) infinite;transform-box:fill-box;transform-origin:center}.dhp-page .dhp-v2r-clockfill{animation:dhpV2rClk 32s ease-in-out infinite}.dhp-page .dhp-v2r-to{animation:dhpV2rTO 32s cubic-bezier(.2,.9,.3,1) infinite;transform-box:fill-box;transform-origin:center}.dhp-page .dhp-v2r-lg1{animation:dhpV2rLg1 32s cubic-bezier(.2,.9,.3,1) infinite}.dhp-page .dhp-v2r-lg2{animation:dhpV2rLg2 32s cubic-bezier(.2,.9,.3,1) infinite}.dhp-page .dhp-v2r-lg3{animation:dhpV2rLg3 32s cubic-bezier(.2,.9,.3,1) infinite}.dhp-page .dhp-v2r-cap4{animation:dhpV2rCap4 32s cubic-bezier(.2,.9,.3,1) infinite}
    
    @keyframes dhpV2rLive{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.6}}.dhp-page .dhp-v2r-livedot{animation:dhpV2rLive 2.4s ease-in-out infinite}
    @keyframes dhpV2rHalo{0%{transform:scale(1);opacity:.5}70%,100%{transform:scale(2.4);opacity:0}}.dhp-page .dhp-v2r-halo{transform-box:fill-box;transform-origin:center;animation:dhpV2rHalo 2.4s ease-out infinite}
  }
  .dhp-page .dhp-v2r-figcap{margin:2px auto 0;max-width:620px;text-align:center;font-size:13.5px;line-height:1.5;color:var(--dhp-v2r-muted)}
  .dhp-page .dhp-v2r-figcap b{color:var(--dhp-v2r-ink);font-weight:500}

  
.dhp-page .dhp-v2t-wrap{
    --dhp-v2t-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    
    --dhp-v2t-ink:#ecebf3; --dhp-v2t-muted:#9d9ca8; --dhp-v2t-line:#243149;
    --dhp-v2t-panel:#0a1524; --dhp-v2t-chipbg:#131f38;
    --dhp-v2t-data:#7aadf2; --dhp-v2t-ai:#5cd0a4; --dhp-v2t-hub:#a9a1f2;
  }
      .dhp-page .dhp-v2t-wrap{max-width:none;margin:0;padding:0;font-family:var(--dhp-v2t-font)}
  .dhp-page .dhp-v2t-panel{position:relative;background:var(--dhp-v2t-panel);border:0;border-radius:0;padding:30px 0 24px;overflow:hidden}
  .dhp-page .dhp-v2t-head{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
    color:var(--dhp-v2t-muted);text-align:center;margin:0 16px 14px}
  .dhp-page .dhp-v2t-row{position:relative;overflow:hidden;padding:5px 0}
  .dhp-page .dhp-v2t-track{display:flex;gap:0;width:max-content}
  .dhp-page .dhp-v2t-set{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding-right:12px}
  .dhp-page .dhp-v2t-chip{flex:none;display:inline-flex;align-items:center;gap:7px;
    background:var(--dhp-v2t-chipbg);border:1px solid var(--dhp-v2t-line);border-radius:999px;
    padding:7px 14px;font-size:13px;font-weight:600;color:var(--dhp-v2t-ink);white-space:nowrap}
  .dhp-page .dhp-v2t-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--dhp-v2t-data)}
  .dhp-page .dhp-v2t-r2 .dhp-v2t-chip::before{background:var(--dhp-v2t-ai)}
  .dhp-page .dhp-v2t-r3 .dhp-v2t-chip::before{background:var(--dhp-v2t-hub)}
  .dhp-page .dhp-v2t-tag{display:block;text-align:center;font-size:9.5px;font-weight:700;letter-spacing:.09em;
    text-transform:uppercase;color:var(--dhp-v2t-muted);margin:10px 16px 2px;opacity:.85}
  
  .dhp-page .dhp-v2t-panel::before, .dhp-page .dhp-v2t-panel::after{content:"";position:absolute;top:0;bottom:0;width:64px;z-index:2;pointer-events:none}
  .dhp-page .dhp-v2t-panel::before{left:0;background:linear-gradient(90deg,var(--dhp-v2t-panel),transparent)}
  .dhp-page .dhp-v2t-panel::after{right:0;background:linear-gradient(270deg,var(--dhp-v2t-panel),transparent)}
  .dhp-page .dhp-v2t-cap{text-align:center;font-size:13.5px;color:var(--dhp-v2t-muted);margin:12px 8px 0}
  .dhp-page .dhp-v2t-cap b{color:var(--dhp-v2t-ink)}
  
  .dhp-page .dhp-v2t-track{flex-wrap:wrap;justify-content:center;width:auto;margin:0 18px}
  .dhp-page .dhp-v2t-set[aria-hidden]{display:none}
  @media (prefers-reduced-motion: no-preference){.dhp-page .dhp-v2t-track{flex-wrap:nowrap;justify-content:flex-start;width:max-content;margin:0}.dhp-page .dhp-v2t-set{flex-wrap:nowrap;justify-content:flex-start}.dhp-page .dhp-v2t-set[aria-hidden]{display:flex}.dhp-page .dhp-v2t-r1 .dhp-v2t-track{animation:dhpV2tScroll 34s linear infinite}.dhp-page .dhp-v2t-r2 .dhp-v2t-track{animation:dhpV2tScroll 41s linear infinite reverse}.dhp-page .dhp-v2t-r3 .dhp-v2t-track{animation:dhpV2tScroll 37s linear infinite}.dhp-page .dhp-v2t-row:hover .dhp-v2t-track{animation-play-state:paused}
    @keyframes dhpV2tScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  }

  
.dhp-page .dhp-v2a-expose{
    --dhp-v2a-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    
    --dhp-v2a-ink:#ecebf3; --dhp-v2a-muted:#a6a4b2; --dhp-v2a-line:#37455e;
    --dhp-v2a-panel:#0f172a; --dhp-v2a-chipfill:#1e293b;
    --dhp-v2a-data:#7aadf2;  --dhp-v2a-data-tint:#172234;
    --dhp-v2a-hub:#a9a1f2;   --dhp-v2a-hub-tint:#1f1d31;
    --dhp-v2a-ok:#5cd0a4;    --dhp-v2a-ok-tint:#0e3128;
    --dhp-v2a-block:#e59b93;
  }
      .dhp-page .dhp-v2a-expose{max-width:none;margin:0 auto;padding:0;font-family:var(--dhp-v2a-font)}
  .dhp-page .dhp-v2a-expose svg{display:block;width:100%;height:auto}
  .dhp-page .dhp-v2a-panelbg{fill:none;stroke:none}
  .dhp-page .dhp-v2a-card rect.box{transition:filter .2s ease;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
  .dhp-page .dhp-v2a-card:hover rect.box{filter:brightness(1.06) drop-shadow(0 1px 2px rgba(0,0,0,.35))}
  .dhp-page .dhp-v2a-chip{fill:var(--dhp-v2a-chipfill);stroke:var(--dhp-v2a-line);stroke-width:1.25;filter:none}
  .dhp-page .dhp-v2a-ghost{fill:none;stroke:var(--dhp-v2a-line);stroke-width:1.25;stroke-dasharray:4 4}
  .dhp-page .dhp-v2a-brand{font-size:13.5px;font-weight:800;letter-spacing:-0.02em}
  .dhp-page .dhp-v2a-sub{font-size:12px;font-weight:400}
  .dhp-page .dhp-v2a-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;fill:var(--dhp-v2a-muted)}
  .dhp-page .dhp-v2a-chiptext{font-size:11.5px;font-weight:500;fill:var(--dhp-v2a-muted)}
  .dhp-page .dhp-v2a-row{font-size:13px;font-weight:600;fill:var(--dhp-v2a-ink)}
  .dhp-page .dhp-v2a-row.off{fill:var(--dhp-v2a-muted);font-weight:500}
  .dhp-page .dhp-v2a-mcp{font-size:11px;font-weight:700;letter-spacing:.04em;fill:var(--dhp-v2a-hub)}
  .dhp-page .dhp-v2a-lane{fill:none;stroke:url(#dhpV2aLaneGrad);stroke-width:1.75;stroke-linecap:round}
  .dhp-page .dhp-v2a-head{fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
  .dhp-page .dhp-v2a-trackoff{fill:var(--dhp-v2a-line);opacity:.55}
  
  .dhp-page .dhp-v2a-trackon{fill:var(--dhp-v2a-ok);opacity:1}
  .dhp-page .dhp-v2a-knob{fill:var(--dhp-v2a-chipfill);stroke:var(--dhp-v2a-line);stroke-width:1;filter:none}
  .dhp-page .dhp-v2a-knob.k1, .dhp-page .dhp-v2a-knob.k2, .dhp-page .dhp-v2a-knob.k3{transform:translateX(18px)}
  .dhp-page .dhp-v2a-aichip{opacity:1;transform-box:fill-box;transform-origin:center}
  .dhp-page .dhp-v2a-ring{opacity:0;fill:none;stroke-width:1.5;transform-box:fill-box;transform-origin:center}
    @media (prefers-reduced-motion: no-preference){
    
    @keyframes dhpV2aSlide1{
      0%,4%{transform:translateX(0)}
      7%{transform:translateX(18px)}
      86%{transform:translateX(18px)}
      92%,100%{transform:translateX(0)}
    }
    @keyframes dhpV2aSlide2{
      0%,16%{transform:translateX(0)}
      19%{transform:translateX(18px)}
      86%{transform:translateX(18px)}
      92%,100%{transform:translateX(0)}
    }
    @keyframes dhpV2aSlide3{
      0%,28%{transform:translateX(0)}
      31%{transform:translateX(18px)}
      86%{transform:translateX(18px)}
      92%,100%{transform:translateX(0)}
    }
    
    @keyframes dhpV2aOn1{
      0%,4%{opacity:0} 7%{opacity:1} 86%{opacity:1} 92%,100%{opacity:0}
    }
    @keyframes dhpV2aOn2{
      0%,16%{opacity:0} 19%{opacity:1} 86%{opacity:1} 92%,100%{opacity:0}
    }
    @keyframes dhpV2aOn3{
      0%,28%{opacity:0} 31%{opacity:1} 86%{opacity:1} 92%,100%{opacity:0}
    }
    
    @keyframes dhpV2aChip1{
      0%,8%{opacity:0;transform:scale(.92)}
      11%{opacity:1;transform:scale(1.04)}
      14%{opacity:1;transform:scale(1)}
      84%{opacity:1;transform:scale(1)}
      90%,100%{opacity:0;transform:scale(.92)}
    }
    @keyframes dhpV2aChip2{
      0%,20%{opacity:0;transform:scale(.92)}
      23%{opacity:1;transform:scale(1.04)}
      26%{opacity:1;transform:scale(1)}
      84%{opacity:1;transform:scale(1)}
      90%,100%{opacity:0;transform:scale(.92)}
    }
    @keyframes dhpV2aChip3{
      0%,32%{opacity:0;transform:scale(.92)}
      35%{opacity:1;transform:scale(1.04)}
      38%{opacity:1;transform:scale(1)}
      84%{opacity:1;transform:scale(1)}
      90%,100%{opacity:0;transform:scale(.92)}
    }
    
    @keyframes dhpV2aRing{
      0%,8%{opacity:0;transform:scale(.9)}
      12%{opacity:.5;transform:scale(1.15)}
      19%,100%{opacity:0;transform:scale(1.5)}
    }.dhp-page .dhp-v2a-knob.k1{animation:dhpV2aSlide1 12s ease-in-out infinite}.dhp-page .dhp-v2a-knob.k2{animation:dhpV2aSlide2 12s ease-in-out infinite}.dhp-page .dhp-v2a-knob.k3{animation:dhpV2aSlide3 12s ease-in-out infinite}.dhp-page .dhp-v2a-trackon.t1{animation:dhpV2aOn1 12s ease-in-out infinite}.dhp-page .dhp-v2a-trackon.t2{animation:dhpV2aOn2 12s ease-in-out infinite}.dhp-page .dhp-v2a-trackon.t3{animation:dhpV2aOn3 12s ease-in-out infinite}.dhp-page .dhp-v2a-aichip.c1{animation:dhpV2aChip1 12s ease-in-out infinite}.dhp-page .dhp-v2a-aichip.c2{animation:dhpV2aChip2 12s ease-in-out infinite}.dhp-page .dhp-v2a-aichip.c3{animation:dhpV2aChip3 12s ease-in-out infinite}.dhp-page .dhp-v2a-ring.r1{animation:dhpV2aRing 12s ease-in-out infinite}.dhp-page .dhp-v2a-ring.r2{animation:dhpV2aRing 12s ease-in-out infinite;animation-delay:1.44s}.dhp-page .dhp-v2a-ring.r3{animation:dhpV2aRing 12s ease-in-out infinite;animation-delay:2.88s}
  }
  .dhp-page .dhp-v2a-cap{margin:2px auto 0;max-width:560px;text-align:center;font-size:13.5px;line-height:1.5;color:var(--dhp-v2a-muted)}
  .dhp-page .dhp-v2a-cap b{color:var(--dhp-v2a-ink);font-weight:500}

  
.dhp-page .dhp-v2b-fig{
    --dhp-v2b-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --dhp-v2b-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
    
    --dhp-v2b-ink:#ecebf3; --dhp-v2b-muted:#a6a4b2; --dhp-v2b-line:#37455e;
    --dhp-v2b-panel:#0f172a; --dhp-v2b-chipfill:#1e293b;
    --dhp-v2b-data:#7aadf2;  --dhp-v2b-data-tint:#172234;
    --dhp-v2b-hub:#a9a1f2;   --dhp-v2b-hub-tint:#1f1d31;
    --dhp-v2b-ok:#5cd0a4;    --dhp-v2b-ok-tint:#0e3128;
    --dhp-v2b-warn:#f0b268;  --dhp-v2b-warn-tint:#3a2a12;
    --dhp-v2b-no:#f08e93;    --dhp-v2b-no-tint:#3a191d;
  }
      .dhp-page .dhp-v2b-fig{max-width:none;margin:0 auto;padding:0;font-family:var(--dhp-v2b-font)}
  .dhp-page .dhp-v2b-fig svg{display:block;width:100%;height:auto}
  .dhp-page .dhp-v2b-panelbg{fill:none;stroke:none}
  .dhp-page .dhp-v2b-card rect.box{transition:filter .2s ease;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
  .dhp-page .dhp-v2b-card:hover rect.box{filter:brightness(1.06) drop-shadow(0 1px 2px rgba(0,0,0,.35))}
  .dhp-page .dhp-v2b-stmt rect.box{filter:none}
  .dhp-page .dhp-v2b-chip{fill:var(--dhp-v2b-chipfill);stroke-width:1.25;filter:none}
  .dhp-page .dhp-v2b-title{font-size:16px;font-weight:600;fill:var(--dhp-v2b-ink)}
  .dhp-page .dhp-v2b-brand{font-size:13.5px;font-weight:800;letter-spacing:-0.02em}
  .dhp-page .dhp-v2b-sub{font-size:12px;font-weight:400}
  .dhp-page .dhp-v2b-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;fill:var(--dhp-v2b-muted)}
  .dhp-page .dhp-v2b-chiphead{font-size:11.5px;font-weight:600}
  .dhp-page .dhp-v2b-chiptext{font-size:10.5px;font-weight:400;fill:var(--dhp-v2b-muted)}
  .dhp-page .dhp-v2b-tiny{font-size:9.5px;font-weight:600}
  .dhp-page .dhp-v2b-sql{font-family:var(--dhp-v2b-mono);font-size:12.5px;font-weight:600}
  .dhp-page .dhp-v2b-lane{fill:none;stroke:url(#dhpV2bLaneGrad);stroke-width:1.75;stroke-linecap:round}
  .dhp-page .dhp-v2b-rejline{fill:none;stroke:var(--dhp-v2b-line);stroke-width:1.25;stroke-dasharray:4 6;stroke-linecap:round}
  .dhp-page .dhp-v2b-guardline{fill:none;stroke:var(--dhp-v2b-hub);stroke-width:1.25;stroke-dasharray:3 7;stroke-linecap:round;opacity:.55}
  .dhp-page .dhp-v2b-head{fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
  .dhp-page .dhp-v2b-dot{opacity:0;transform-box:fill-box;transform-origin:center}
  .dhp-page .dhp-v2b-flash{opacity:0}
  .dhp-page .dhp-v2b-pop{opacity:0;fill:none;stroke-width:1.5;transform-box:fill-box;transform-origin:center}
  
  .dhp-page .dhp-v2b-clockfill{stroke-dasharray:100 100;stroke-dashoffset:18}
  .dhp-page .dhp-v2b-meterfill{transform-box:fill-box;transform-origin:left center}
    @media (prefers-reduced-motion: no-preference){
    
    @keyframes dhpV2bSelTrip{
      0%{transform:translateX(0);opacity:0}
      3%{opacity:1}
      17%{transform:translateX(164px);opacity:1}
      20%{transform:translateX(164px);opacity:1}
      33%{transform:translateX(336px);opacity:1}
      37%,100%{transform:translateX(336px);opacity:0}
    }
    @keyframes dhpV2bPopData{
      0%,32%{opacity:0;transform:scale(.9)}
      36%{opacity:.55;transform:scale(1.05)}
      48%,100%{opacity:0;transform:scale(1.6)}
    }
    
    @keyframes dhpV2bGuardOk{
      0%,13%{opacity:0}
      17%{opacity:.55}
      23%{opacity:.55}
      29%,100%{opacity:0}
    }
    
    @keyframes dhpV2bClockFill{
      0%,8%{stroke-dashoffset:100}
      46%{stroke-dashoffset:10}
      100%{stroke-dashoffset:10}
    }
    
    @keyframes dhpV2bHeavyTrip{
      0%,26%{transform:translateX(0);opacity:0}
      30%{opacity:1}
      46%{transform:translateX(118px);opacity:1}
      50%{transform:translateX(118px);opacity:1}
      58%{transform:translateX(58px);opacity:1}
      62%,100%{transform:translateX(58px);opacity:0}
    }
    @keyframes dhpV2bGuardWarn{
      0%,44%{opacity:0}
      48%{opacity:.55}
      56%{opacity:.55}
      64%,100%{opacity:0}
    }
    @keyframes dhpV2bWarnFlash{
      0%,44%{opacity:0}
      48%{opacity:.85}
      56%{opacity:.85}
      64%,100%{opacity:0}
    }
    @keyframes dhpV2bPopTimeout{
      0%,44%{opacity:0;transform:scale(.9)}
      49%{opacity:.55;transform:scale(1.1)}
      60%,100%{opacity:0;transform:scale(1.7)}
    }
    
    @keyframes dhpV2bMeterFill{
      0%,50%{transform:scaleX(.12)}
      74%{transform:scaleX(1)}
      100%{transform:scaleX(1)}
    }
    @keyframes dhpV2bScanTrip{
      0%,54%{transform:translateX(0);opacity:0}
      58%{opacity:1}
      74%{transform:translateX(156px);opacity:1}
      78%{transform:translateX(156px);opacity:1}
      86%{transform:translateX(96px);opacity:1}
      90%,100%{transform:translateX(96px);opacity:0}
    }
    @keyframes dhpV2bGuardNo{
      0%,72%{opacity:0}
      76%{opacity:.55}
      84%{opacity:.55}
      92%,100%{opacity:0}
    }
    @keyframes dhpV2bNoFlash{
      0%,72%{opacity:0}
      76%{opacity:.85}
      84%{opacity:.85}
      92%,100%{opacity:0}
    }
    @keyframes dhpV2bPopCost{
      0%,72%{opacity:0;transform:scale(.9)}
      77%{opacity:.55;transform:scale(1.1)}
      88%,100%{opacity:0;transform:scale(1.7)}
    }.dhp-page .dhp-v2b-dot.sel{animation:dhpV2bSelTrip 9s ease-in-out infinite}.dhp-page .dhp-v2b-pop.data{animation:dhpV2bPopData 9s ease-in-out infinite}.dhp-page .dhp-v2b-flash.guardok{animation:dhpV2bGuardOk 9s ease-in-out infinite}.dhp-page .dhp-v2b-clockfill{animation:dhpV2bClockFill 9s ease-in-out infinite}.dhp-page .dhp-v2b-dot.heavy{animation:dhpV2bHeavyTrip 9s ease-in-out infinite}.dhp-page .dhp-v2b-flash.guardwarn{animation:dhpV2bGuardWarn 9s ease-in-out infinite}.dhp-page .dhp-v2b-flash.warnchip{animation:dhpV2bWarnFlash 9s ease-in-out infinite}.dhp-page .dhp-v2b-pop.timeout{animation:dhpV2bPopTimeout 9s ease-in-out infinite}.dhp-page .dhp-v2b-meterfill{animation:dhpV2bMeterFill 9s ease-in-out infinite}.dhp-page .dhp-v2b-dot.scan{animation:dhpV2bScanTrip 9s ease-in-out infinite}.dhp-page .dhp-v2b-flash.guardno{animation:dhpV2bGuardNo 9s ease-in-out infinite}.dhp-page .dhp-v2b-flash.nochip{animation:dhpV2bNoFlash 9s ease-in-out infinite}.dhp-page .dhp-v2b-pop.cost{animation:dhpV2bPopCost 9s ease-in-out infinite}
  }
  .dhp-page .dhp-v2b-cap{margin:2px auto 0;max-width:560px;text-align:center;font-size:13.5px;line-height:1.5;color:var(--dhp-v2b-muted)}
  .dhp-page .dhp-v2b-cap b{color:var(--dhp-v2b-ink);font-weight:500}

  
.dhp-page .dhp-v2c-fig{
    --dhp-v2c-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    
    --dhp-v2c-ink:#ecebf3; --dhp-v2c-muted:#a6a4b2; --dhp-v2c-line:#37455e;
    --dhp-v2c-panel:#0f172a; --dhp-v2c-chipfill:#1e293b;
    --dhp-v2c-data:#7aadf2;  --dhp-v2c-data-tint:#172234;
    --dhp-v2c-hub:#a9a1f2;   --dhp-v2c-hub-tint:#1f1d31;
    --dhp-v2c-ai:#5cd0a4;    --dhp-v2c-ai-tint:#0e3128;
  }
      .dhp-page .dhp-v2c-fig{max-width:none;margin:0 auto;padding:0;font-family:var(--dhp-v2c-font)}
  .dhp-page .dhp-v2c-fig svg{display:block;width:100%;height:auto}
  .dhp-page .dhp-v2c-panelbg{fill:none;stroke:none}
  .dhp-page .dhp-v2c-card .box{transition:filter .2s ease;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
  .dhp-page .dhp-v2c-card:hover .box{filter:brightness(1.06) drop-shadow(0 1px 2px rgba(0,0,0,.35))}
  .dhp-page .dhp-v2c-title{font-size:16px;font-weight:600;fill:var(--dhp-v2c-ink)}
  .dhp-page .dhp-v2c-brand{font-size:15px;font-weight:800;letter-spacing:-0.02em}
  .dhp-page .dhp-v2c-sub{font-size:12px;font-weight:400}
  .dhp-page .dhp-v2c-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;fill:var(--dhp-v2c-muted)}
  .dhp-page .dhp-v2c-conn{fill:none;stroke:var(--dhp-v2c-line);stroke-width:1.5;stroke-linecap:round}
  .dhp-page .dhp-v2c-conn-in{stroke:url(#dhpV2cConnIn)}
  .dhp-page .dhp-v2c-conn-out{stroke:url(#dhpV2cConnOut)}
  .dhp-page .dhp-v2c-divider{stroke:var(--dhp-v2c-line);stroke-width:1;opacity:.8}
  .dhp-page .dhp-v2c-barmain{fill:var(--dhp-v2c-line);opacity:.85}
  .dhp-page .dhp-v2c-bartime{fill:var(--dhp-v2c-line);opacity:.5}
  .dhp-page .dhp-v2c-check{fill:none;stroke:var(--dhp-v2c-ai);stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
  .dhp-page .dhp-v2c-dot{opacity:0;transform-box:fill-box;transform-origin:center}
  .dhp-page .dhp-v2c-pop{opacity:0;fill:none;stroke-width:1.5;transform-box:fill-box;transform-origin:center}
  .dhp-page .dhp-v2c-enter{opacity:0}
    @media (prefers-reduced-motion: no-preference){
    
    @keyframes dhpV2cAsk{
      0%{transform:translateX(0);opacity:0}
      8%{opacity:1}
      27%{opacity:1}
      33%,100%{transform:translateX(82px);opacity:0}
    }
    @keyframes dhpV2cPopHub{
      0%,31%{opacity:0;transform:scale(.9)}
      36%{opacity:.55;transform:scale(1.05)}
      52%,100%{opacity:0;transform:scale(1.6)}
    }
    @keyframes dhpV2cLog{
      0%,36%{transform:translateX(0);opacity:0}
      42%{opacity:1}
      62%{opacity:1}
      69%,100%{transform:translateX(82px);opacity:0}
    }
    @keyframes dhpV2cPopTbl{
      0%,66%{opacity:0;transform:scale(.9)}
      71%{opacity:.55;transform:scale(1.05)}
      86%,100%{opacity:0;transform:scale(1.6)}
    }.dhp-page .dhp-v2c-dot.ask{animation:dhpV2cAsk 1.8s ease-in-out infinite}.dhp-page .dhp-v2c-dot.log{animation:dhpV2cLog 1.8s ease-in-out infinite}.dhp-page .dhp-v2c-pop.hub{animation:dhpV2cPopHub 1.8s ease-in-out infinite}.dhp-page .dhp-v2c-pop.tbl{animation:dhpV2cPopTbl 1.8s ease-in-out infinite}
    
    @keyframes dhpV2cRowA{
      0%,23%{transform:translateY(0);opacity:1}
      27.5%,56.3%{transform:translateY(22px);opacity:1}
      60.8%,89.6%{transform:translateY(44px);opacity:1}
      94.2%,100%{transform:translateY(58px);opacity:0}
    }
    @keyframes dhpV2cRowB{
      0%,23%{transform:translateY(0);opacity:1}
      27.5%,56.3%{transform:translateY(22px);opacity:1}
      60.8%,100%{transform:translateY(36px);opacity:0}
    }
    @keyframes dhpV2cRowC{
      0%,23%{transform:translateY(0);opacity:1}
      27.5%,100%{transform:translateY(14px);opacity:0}
    }
    @keyframes dhpV2cRowD{
      0%,23%{transform:translateY(-14px);opacity:0}
      27.5%,56.3%{transform:translateY(0);opacity:1}
      60.8%,89.6%{transform:translateY(22px);opacity:1}
      94.2%,100%{transform:translateY(44px);opacity:1}
    }
    @keyframes dhpV2cRowE{
      0%,56.3%{transform:translateY(-14px);opacity:0}
      60.8%,89.6%{transform:translateY(0);opacity:1}
      94.2%,100%{transform:translateY(22px);opacity:1}
    }
    @keyframes dhpV2cRowF{
      0%,89.6%{transform:translateY(-14px);opacity:0}
      94.2%,100%{transform:translateY(0);opacity:1}
    }.dhp-page .dhp-v2c-rA{animation:dhpV2cRowA 5.4s ease-in-out infinite}.dhp-page .dhp-v2c-rB{animation:dhpV2cRowB 5.4s ease-in-out infinite}.dhp-page .dhp-v2c-rC{animation:dhpV2cRowC 5.4s ease-in-out infinite}.dhp-page .dhp-v2c-rD{animation:dhpV2cRowD 5.4s ease-in-out infinite}.dhp-page .dhp-v2c-rE{animation:dhpV2cRowE 5.4s ease-in-out infinite}.dhp-page .dhp-v2c-rF{animation:dhpV2cRowF 5.4s ease-in-out infinite}
  }
  .dhp-page .dhp-v2c-cap{margin:2px auto 0;max-width:560px;text-align:center;font-size:13.5px;line-height:1.5;color:var(--dhp-v2c-muted)}
  .dhp-page .dhp-v2c-cap b{color:var(--dhp-v2c-ink);font-weight:500}

  
.dhp-page .dhp-v2d-discover{
    --dhp-v2d-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --dhp-v2d-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    
    --dhp-v2d-ink:#ecebf3; --dhp-v2d-muted:#a6a4b2; --dhp-v2d-line:#37455e;
    --dhp-v2d-panel:#0f172a; --dhp-v2d-win:#131f38; --dhp-v2d-chipfill:#243149;
    --dhp-v2d-card:#1e293b; --dhp-v2d-colfill:#243149;
    --dhp-v2d-data:#7aadf2;  --dhp-v2d-data-tint:#172234;
    --dhp-v2d-hub:#a9a1f2;   --dhp-v2d-hub-tint:#1f1d31;
    --dhp-v2d-ai:#5cd0a4;    --dhp-v2d-ai-tint:#0e3128;
  }
      .dhp-page .dhp-v2d-discover{max-width:none;margin:0 auto;padding:0;font-family:var(--dhp-v2d-font)}
  .dhp-page .dhp-v2d-discover svg{display:block;width:100%;height:auto}
  .dhp-page .dhp-v2d-panelbg{fill:none;stroke:none}
  .dhp-page .dhp-v2d-window{fill:var(--dhp-v2d-win);stroke:var(--dhp-v2d-line);stroke-width:1.25;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}
  .dhp-page .dhp-v2d-chip{fill:var(--dhp-v2d-chipfill);stroke:var(--dhp-v2d-line);stroke-width:1.25;filter:none}
  .dhp-page .dhp-v2d-cardbox{fill:var(--dhp-v2d-card);stroke:var(--dhp-v2d-line);stroke-width:1.25;filter:none}
  .dhp-page .dhp-v2d-colchip{fill:var(--dhp-v2d-colfill);stroke:var(--dhp-v2d-line);stroke-width:1}
    .dhp-page .dhp-v2d-brand{font-size:12px;font-weight:800;letter-spacing:-0.02em}
  .dhp-page .dhp-v2d-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;fill:var(--dhp-v2d-muted)}
  .dhp-page .dhp-v2d-chrometext{font-size:11px;font-weight:600;fill:var(--dhp-v2d-muted)}
  .dhp-page .dhp-v2d-chiptext{font-family:var(--dhp-v2d-mono);font-size:11px;font-weight:500;fill:var(--dhp-v2d-muted)}
  .dhp-page .dhp-v2d-tname{font-size:12.5px;font-weight:700;letter-spacing:-0.01em;fill:var(--dhp-v2d-ink)}
  .dhp-page .dhp-v2d-ttag{font-size:9.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;fill:var(--dhp-v2d-muted)}
  .dhp-page .dhp-v2d-tdesc{font-size:10.5px;font-weight:400;font-style:italic;fill:var(--dhp-v2d-muted)}
  .dhp-page .dhp-v2d-colname{font-family:var(--dhp-v2d-mono);font-size:10.5px;font-weight:600;fill:var(--dhp-v2d-ink)}
  .dhp-page .dhp-v2d-coltype{font-weight:400;fill:var(--dhp-v2d-muted)}
  .dhp-page .dhp-v2d-readytext{font-size:12px;font-weight:600;fill:var(--dhp-v2d-ai)}
  .dhp-page .dhp-v2d-divider{stroke:var(--dhp-v2d-line);stroke-width:1}
  .dhp-page .dhp-v2d-leader{fill:none;stroke:var(--dhp-v2d-line);stroke-width:1.25;stroke-dasharray:4 6;stroke-linecap:round}
  .dhp-page .dhp-v2d-rowsicon{stroke:var(--dhp-v2d-data);stroke-width:2;stroke-linecap:round}
  
  .dhp-page .dhp-v2d-shim, .dhp-page .dhp-v2d-pop{opacity:0}
  .dhp-page .dhp-v2d-pop{fill:none;stroke-width:1.5;transform-box:fill-box;transform-origin:center}
  @media (prefers-reduced-motion: no-preference){
    
    @keyframes dhpV2dSceneFade{0%,93%{opacity:1}100%{opacity:0}}
    @keyframes dhpV2dChip1In{0%{opacity:0;transform:translateY(5px)}4%,100%{opacity:1;transform:translateY(0)}}
    @keyframes dhpV2dShim1{0%,5%{transform:translateX(0);opacity:0}7%{opacity:.9}14%{transform:translateX(330px);opacity:.9}16%,100%{transform:translateX(330px);opacity:0}}
    @keyframes dhpV2dCard1{0%,15%{opacity:0;transform:translateY(6px)}19%,100%{opacity:1;transform:translateY(0)}}
    @keyframes dhpV2dCard2{0%,19%{opacity:0;transform:translateY(6px)}23%,100%{opacity:1;transform:translateY(0)}}
    @keyframes dhpV2dCard3{0%,23%{opacity:0;transform:translateY(6px)}27%,100%{opacity:1;transform:translateY(0)}}
    @keyframes dhpV2dChip2In{0%,32%{opacity:0;transform:translateY(5px)}36%,100%{opacity:1;transform:translateY(0)}}
    @keyframes dhpV2dShim2{0%,37%{transform:translateX(0);opacity:0}39%{opacity:.9}45%{transform:translateX(238px);opacity:.9}47%,100%{transform:translateX(238px);opacity:0}}
    @keyframes dhpV2dPop{0%,45%{opacity:0;transform:scale(.985)}48%{opacity:.5;transform:scale(1.01)}55%,100%{opacity:0;transform:scale(1.03)}}
    @keyframes dhpV2dGrow{0%,45%{height:52px}53%,100%{height:124px}}
    @keyframes dhpV2dDesc{0%,53%{opacity:0}57%,100%{opacity:1}}
    @keyframes dhpV2dColA{0%,56%{opacity:0;transform:translateY(4px)}60%,100%{opacity:1;transform:translateY(0)}}
    @keyframes dhpV2dColB{0%,60%{opacity:0;transform:translateY(4px)}64%,100%{opacity:1;transform:translateY(0)}}
    @keyframes dhpV2dColC{0%,64%{opacity:0;transform:translateY(4px)}68%,100%{opacity:1;transform:translateY(0)}}
    @keyframes dhpV2dColD{0%,68%{opacity:0;transform:translateY(4px)}72%,100%{opacity:1;transform:translateY(0)}}
    @keyframes dhpV2dReady{0%,78%{opacity:0}84%,100%{opacity:1}}.dhp-page .dhp-v2d-scene{animation:dhpV2dSceneFade 9s ease-in-out infinite}.dhp-page .dhp-v2d-chip1{animation:dhpV2dChip1In 9s ease-in-out infinite;transform-box:fill-box}.dhp-page .dhp-v2d-shim1{animation:dhpV2dShim1 9s ease-in-out infinite}.dhp-page .dhp-v2d-card1{animation:dhpV2dCard1 9s ease-in-out infinite;transform-box:fill-box}.dhp-page .dhp-v2d-card2{animation:dhpV2dCard2 9s ease-in-out infinite;transform-box:fill-box}.dhp-page .dhp-v2d-card3{animation:dhpV2dCard3 9s ease-in-out infinite;transform-box:fill-box}.dhp-page .dhp-v2d-chip2{animation:dhpV2dChip2In 9s ease-in-out infinite;transform-box:fill-box}.dhp-page .dhp-v2d-shim2{animation:dhpV2dShim2 9s ease-in-out infinite}.dhp-page .dhp-v2d-pop{animation:dhpV2dPop 9s ease-in-out infinite}.dhp-page .dhp-v2d-ordersrect{animation:dhpV2dGrow 9s ease-in-out infinite}.dhp-page .dhp-v2d-desc{animation:dhpV2dDesc 9s ease-in-out infinite}.dhp-page .dhp-v2d-cola{animation:dhpV2dColA 9s ease-in-out infinite;transform-box:fill-box}.dhp-page .dhp-v2d-colb{animation:dhpV2dColB 9s ease-in-out infinite;transform-box:fill-box}.dhp-page .dhp-v2d-colc{animation:dhpV2dColC 9s ease-in-out infinite;transform-box:fill-box}.dhp-page .dhp-v2d-cold{animation:dhpV2dColD 9s ease-in-out infinite;transform-box:fill-box}.dhp-page .dhp-v2d-ready{animation:dhpV2dReady 9s ease-in-out infinite}
  }
  .dhp-page .dhp-v2d-cap{margin:2px auto 0;max-width:560px;text-align:center;font-size:13.5px;line-height:1.5;color:var(--dhp-v2d-muted)}
  .dhp-page .dhp-v2d-cap b{color:var(--dhp-v2d-ink);font-weight:500}

/* ===== reel playback controls (play/pause + chapter jump) ===== */
.dhp-page .dhp-v2r-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:10px 12px;margin:20px auto 0;max-width:980px}
.dhp-page .dhp-v2r-pp,.dhp-page .dhp-v2r-chap{font:inherit;font-size:13px;font-weight:700;cursor:pointer;
  border-radius:999px;padding:8px 16px;border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.05);color:#ecebf3;line-height:1;
  transition:background .15s,border-color .15s,color .15s,filter .15s}
.dhp-page .dhp-v2r-pp:hover,.dhp-page .dhp-v2r-chap:hover{background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.3)}
.dhp-page .dhp-v2r-pp{display:inline-flex;align-items:center;gap:8px}
.dhp-page .dhp-v2r-pp .ic::before{content:"\275A\275A";letter-spacing:-2px;font-size:11px}
.dhp-page .dhp-v2r-pp.is-paused .ic::before{content:"\25B6";letter-spacing:0;font-size:12px}
.dhp-page .dhp-v2r-chaps{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.dhp-page .dhp-v2r-chap{font-size:12px;letter-spacing:.02em}
.dhp-page .dhp-v2r-chap.is-active{background:linear-gradient(135deg,#3b82f6,#6366f1);
  border-color:transparent;color:#fff}
@media (max-width:560px){
  .dhp-page .dhp-v2r-controls{gap:8px}
  .dhp-page .dhp-v2r-chap{font-size:11px;padding:7px 12px}
}
