/* Taste preserve-mode: DESIGN_VARIANCE 4 / MOTION_INTENSITY 7 / VISUAL_DENSITY 4.
   The user requested spectacular motion confined to this role diagram.
   Preserve-mode: the existing Venn diagram, not a second illustration.
   Light travels around each role and converges at the unchanged delivery label. */
#main #phoi-hop-doi-ngu .team-venn { --orbit-blue:var(--primary); --orbit-light:var(--frame-cyan); position:relative; min-width:0; padding:16px; isolation:isolate; }
#main #phoi-hop-doi-ngu .team-venn::before { content:""; position:absolute; inset:8px 0 48px; z-index:-1; border-radius:50%; background:radial-gradient(ellipse,color-mix(in srgb,var(--primary) 15%,transparent),transparent 68%); pointer-events:none; }
#main #phoi-hop-doi-ngu .team-venn::after { display:none!important; }
#main #phoi-hop-doi-ngu .team-venn svg { width:100%; height:auto; overflow:visible; filter:none; }
#main #phoi-hop-doi-ngu .venn-outline { fill:none; stroke:color-mix(in srgb,var(--primary) 28%,var(--surface)); stroke-width:2; }
#main #phoi-hop-doi-ngu .team-orbit { fill:none; stroke:var(--orbit-blue); stroke-width:3; stroke-linecap:round; stroke-dasharray:72 14 10 14 5 475.619; transform-box:fill-box; transform-origin:center; pointer-events:none; opacity:.75; transition:opacity .35s ease; }
#main #phoi-hop-doi-ngu .team-orbit-halo { stroke:var(--orbit-light); stroke-width:9; opacity:.45; filter:blur(3px); }
#main #phoi-hop-doi-ngu .team-orbit-po { --orbit-direction:reverse; }
#main #phoi-hop-doi-ngu .team-orbit-pm { --orbit-delay:-3s; }
#main #phoi-hop-doi-ngu .team-orbit-ba { --orbit-delay:-1s; }
#main #phoi-hop-doi-ngu .team-venn svg text { fill:var(--foreground); stroke:none; font-size:30px; font-weight:700; }
#main #phoi-hop-doi-ngu .team-venn svg .delivery-plate { fill:var(--primary); stroke:var(--frame-cyan); stroke-width:2; filter:drop-shadow(0 3px 6px color-mix(in srgb,var(--primary) 24%,transparent)); }
#main #phoi-hop-doi-ngu .team-venn svg .team-delivery { fill:var(--primary-foreground); font-size:16px; letter-spacing:.35px; font-weight:700; }
#main #phoi-hop-doi-ngu .team-venn p { position:relative; margin:16px 0 0; color:var(--muted); }
#main #phoi-hop-doi-ngu .team-venn strong { color:var(--foreground); }
#main #phoi-hop-doi-ngu .team-venn[data-highlight] .team-orbit { opacity:.22; }
#main #phoi-hop-doi-ngu .team-venn[data-highlight*=ba] .team-orbit-ba,
#main #phoi-hop-doi-ngu .team-venn[data-highlight*=po] .team-orbit-po,
#main #phoi-hop-doi-ngu .team-venn[data-highlight*=pm] .team-orbit-pm { opacity:1; stroke-width:4; }
#main #phoi-hop-doi-ngu .team-role { transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease; }
#main #phoi-hop-doi-ngu .team-role:is(:hover,:focus-visible,[aria-expanded=true]) { box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 40%,transparent); }
[data-theme=dark] #main #phoi-hop-doi-ngu .team-venn { --orbit-blue:var(--primary); --orbit-light:var(--frame-cyan); }
[data-theme=dark] #main #phoi-hop-doi-ngu .team-venn svg .delivery-plate { fill:var(--action); }
[data-theme=dark] #main #phoi-hop-doi-ngu .team-venn svg .team-delivery { fill:var(--action-foreground); }
@media(prefers-reduced-motion:no-preference) {
  #main #phoi-hop-doi-ngu .team-orbit { animation:team-orbit-turn 9s linear infinite; animation-direction:var(--orbit-direction,normal); animation-delay:var(--orbit-delay,0s); animation-play-state:paused; }
  #main #phoi-hop-doi-ngu .team-venn.is-orbit-visible .team-orbit { animation-play-state:running; }
  #main #phoi-hop-doi-ngu .team-venn.is-orbit-visible::before { animation:team-orbit-breathe 5s ease-in-out infinite; }
  #main #phoi-hop-doi-ngu .team-venn.is-orbit-visible .delivery-plate { animation:team-delivery-breathe 4s ease-in-out infinite; transform-box:fill-box; transform-origin:center; }
}
@keyframes team-orbit-turn { to { transform:rotate(360deg); } }
@keyframes team-orbit-breathe { 0%,100% { opacity:.45; transform:scale(.92); } 50% { opacity:1; transform:scale(1.04); } }
@keyframes team-delivery-breathe { 0%,100% { transform:scale(1); } 50% { transform:scale(1.035); } }
@media(max-width:760px) { #main #phoi-hop-doi-ngu .team-venn { padding:12px; } }
@media(prefers-reduced-motion:reduce) { #main #phoi-hop-doi-ngu .team-venn *,#main #phoi-hop-doi-ngu .team-venn::before { animation:none!important; transition:none!important; } }
